:root {
    --ff-btn2-bg-color: #1b4a8e;
	--ff-btn2-bg-color-rgb: 27 74 142;
    --ff-btn2-tx-color: #ffffff;
    --ff-bg-color: #000;
    --ff-bg-high-color: #f1f1f1;
    --ff-bg-color: #ffffff;
    --ff-tx-color: #5a5a5a;
    --ff-tx-high-color: #000;
    --ff-btn-bg-color: #000000;
    --ff-btn-tx-color: #fff;
    --ff-high-color: #feed01;
    --ff-border-color: #d7d7d7;
}

body.no-scroll {
    overflow: hidden;
}

p:empty {
    display: none;
}

#pricelist-loading {
	text-align: center;
	margin: 16px 0 0 0;
}

.pricelist-loader {
    width: 48px;
    height: 48px;
    border: 5px solid var(--ff-btn2-bg-color);
    border-bottom-color: transparent;
    border-radius: 50%;
    display: inline-block;
    box-sizing: border-box;
    animation: pricelist_rotation 1s linear infinite;
}

@keyframes pricelist_rotation {
    0% {
        transform: rotate(0deg);
    }
    100% {
        transform: rotate(360deg);
    }
}

.content h3 span,
.content h4 span {
	display: block;
	font-size: 1rem;
	font-weight: 300;
}

.content h4 span {
    font-size: 0.85rem;
    text-transform: lowercase;
    color: var(--ff-btn-bg-color);
}

.price-h3 {
    margin: 24px 0 36px;
}

.psubmenu p {
    text-align: center;
}

.psubmenu ul {
    padding: 0;
    margin: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.psubmenu ul li {
    display: block;
    padding: 0;
    text-indent: 0;
    margin: 0;
    width: 100%;
}

.psubmenu ul li::before {
    content: none;
}

.psubmenu ul li a {
    display: block;
    width: 100%;
    text-decoration: none !important;
    padding: 0 20px;
    height: 38px;
    line-height: 38px;
    font-weight: normal;
    /* text-transform: uppercase; */
    text-align: center;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    background-color: var(--ff-btn2-bg-color);
    color: var(--ff-btn2-tx-color);
    font-weight: bold;
    text-transform: uppercase;
    transition: all 500ms;
    position: relative;
}

.psubmenu ul li.long-title a {
    font-size: 14px;
    line-height: 16px;
    white-space: initial;
    padding-top: 3px;
}
}

.psubmenu ul li a span {
    font-size: 80%;
    text-transform: none;
    font-weight: normal;
}

.psubmenu ul li a.guide {
    background-color: var(--ff-bg-color);
}

.psubmenu ul li a.guide span::before {
    content: "?";
    display: inline-block;
    margin: 0 5px 0 0;
    border: solid 2px var(--ff-tx-high-color);
    line-height: 17px;
    width: 20px;
    height: 20px;
    border-radius: 50px;
    position: relative;
    top: -2px;
    text-align: center;
}

.innerpricetable {
	display: flex;
    gap: 8px;
}

.innerpricetable .membership {
	cursor: pointer;
	background-color: var(--ff-btn2-tx-color);
    border-radius: 8px;
    margin: 8px 0;
	padding: 0 16px 28px;
	flex: 1;
	transition:
		transform 0.25s ease,
		background-color 0.25s ease;
	will-change: transform;
    display: flex;
    flex-direction: column;
}

.innerpricetable .membership.placeholder {
    opacity: 0;
	cursor: default;
}

.innerpricetable.row-2 .membership,
.innerpricetable .membership.half {
    margin: 0 auto;
}

.innerpricetable .membership.buy-disabled,
.innerpricetable .membership.buy-disabled .btn {
    cursor: default;
}

.innerpricetable .membership.high::before {
	background: var(--ff-high-color);
	color: var(--ff-tx-high-color);
	text-transform: uppercase;
	position: absolute;
	left: 50%;
	transform: translate(-50%, -50%);
	border-radius: 8px;
	padding: 8px 16px;
	font-weight: bold;
	font-size: 0.75rem;
	text-align: center;
	white-space: pre;
}

html[lang^=bg] .membership.students-only::before {
	content: "За ученици\Aдо 10.11.";
}

html[lang^=en] .membership.students-only::before {
	content: "Students Only\Auntil 10.11.";
}

html[lang^=bg] .membership.promo::before {
	content: "Промо\Aдо 10.11.";
}

html[lang^=en] .membership.promo::before {
	content: "Promo\Auntil 10.11.";
}

html[lang^=bg] .membership.four-months::before {
	content: "Промо\Aдо 31.10.";
}

html[lang^=en] .membership.four-months::before {
	content: "Promo\Auntil 31.10.";
}

html[lang^=bg] .membership.fitness-maniacs-preferred::before {
	content: "Най-предпочитано";
}

html[lang^=en] .membership.fitness-maniacs-preferred::before {
	content: "Fitness maniacs\Apreferred";
}

.innerpricetable .membership.active {
	transform: translateY(-8px);
	background-color: rgb(var(--ff-btn2-bg-color-rgb) / 0.1);
}

.innerpricetable .membership p {
	margin: 0;
	font-size: 14px;
    color: gray;
    text-align: center;
}

.innerpricetable .membership .btn-holder {
    margin-top: auto;
    text-align: center;
}

.innerpricetable .membership .btn-holder span {
    margin: 0;
}

.innerpricetable .membership ul {
	flex-direction: row;
	gap: initial;
    margin: 0 0 16px 0;
}

.innerpricetable .membership ul li {
	width: auto;
	font-size: 14px;
    margin-bottom: 4px;
}

.innerpricetable .membership ul li:before {
	content: "\2022";
    padding-right: 8px;
    color: var(--ff-tx-high-color);
}

.innerpricetable .membership h3,
.innerpricetable .membership h4 {
	text-align: center;
	font-size: 1.1rem;
}

.innerpricetable .membership h3 {
	margin: 32px 0 8px 0;
}

.innerpricetable .membership h4 {
	margin: 16px 0;
}

p.descriptiontable {
    padding: 0px 0 24px 0;
    margin: 0;
	text-align: left;
}

.innerpricetable .membership .btn.buy {
    display: inline-block;
    background-color: var(--ff-btn2-bg-color);
    color: var(--ff-btn2-tx-color);
}

.innerpricetable .membership.active .btn.buy {
    background-color: var(--ff-btn-bg-color);
    color: var(--ff-btn-tx-color);
}

.membership-pricetables {
    position: relative;
    margin: 0;
    padding: 20px 0 50px 0;
}

.membership-pricetables::after {
    content: "";
    width: 100vw;
    height: 100%;
    position: absolute;
    background: var(--ff-bg-high-color);
    z-index: -1;
    left: 50%;
    right: 50%;
    margin: 0 -50vw;
    top: 0;
}

.separator-pricetable {
	background-color: var(--ff-btn2-bg-color);
	height: 1px;
	margin: 24px 0 0 0;
}

.price-disclaimer p {
    margin: 16px 0 0 0;
}

.banner p a {
    display: flex;
    position: relative;
    align-items: center;
    justify-content: center;
    margin: 10vh 0px;
    width: 100%;
    overflow: hidden;
    text-align: center;
    min-height: clamp(240px,31vw,366px);
    background-color: var(--ff-tx-high-color);
    text-decoration: none !important;
    flex-direction: column;
    border-radius: 8px;
    padding: 1em 2em;
}

.banner p a span.animt {
    display: block;
    position: relative;
    margin: 0px;
    padding: 0 0 20px 0;
    font-size: clamp(28px, 3.5vw, 45px);
    font-weight: bold;
    color: #fff;
    line-height: 1.1;
    text-shadow: 0 0 4px rgb(0 0 0 / 40%);
    width: 80%;
    transition: 2s all;
}

.banner p a span.animt small {
    display: block;
    font-size: 60%;
    padding: 10px 0;
}

.banner p a span.bg-banner {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-position: 50% 50%;
    background-repeat: no-repeat;
    background-size: cover;
    transition: 0.5s all;
    opacity: 0.8;
}

.banner p a:hover span.animt, .banner p a:focus span.animt {
    transform: scale(110%);
}

.banner p a:hover span.bg-banner, .banner p a:focus span.bg-banner {
    opacity: 0.4;
    transform: scale(110%);
}

.ownselectbox {
    display: none;
    position: fixed;
    left: 0;
    top: 0;
    bottom: 0;
    right: 0;
    background-color: rgb(253 253 253 / 90%);
    width: 100%;
    height: 100%;
    z-index: 100000;
    text-align: center;
}

.ownselectbox .close-ownselectbox {
    position: fixed;
    left: 0;
    top: 0;
    bottom: 0;
    right: 0;
    width: 100%;
    height: 100%;
    cursor: pointer;
}

.ownselectbox:target {
    display: flex;
    justify-content: center;
    align-content: center;
    align-items: center;
}

.ownselectbox>div {
    display: inline-block;
    max-width: 100vw;
    max-height: 90vh;
    top: 50%;
    transform: translate(0, -50%);
    overflow: auto;
    position: relative;
    z-index: 3;
    background: #ffffff;
    box-shadow: 0 0 5px rgb(0 0 0 / 30%);
    width: 300px;
    border-radius: 8px;
    text-align: left;
}

.ownselectbox>div>span {
    line-height: 46px;
    white-space: nowrap;
    text-overflow: ellipsis;
    overflow: hidden;
    transition: all 0.3s;
    display: block;
    padding: 0 40px 0 20px;
    background-size: 17px auto;
    user-select: none;
}

.ownselectbox>div>span::after {
    border-top: solid 1px rgba(0,0,0,0.3);
    content: "";
    left: 20px;
    right: 20px;
    position: absolute;
    top: 46px;
    transition: all 0.3s;
}

.ownselectbox>div li {
    padding: 0;
    text-indent: 0;
    margin: 0;
}

.ownselectbox>div li::before {
    content: none;
}

.ownselectbox>div li a {
    padding: 0 20px 0 20px;
    line-height: 46px;
    display: flex;
    justify-content: space-between;
    color: #000 !important;
    text-decoration: none;
}

.ownselectbox>div li a:hover {
    background-color: #1b4a8e;
    color: #FFF !important;
}

.ownselectbox>div li a span {
    display: inline-block;
    text-align: right;
    white-space: nowrap;
    text-overflow: ellipsis;
    overflow: hidden;
    font-weight: bold;
	user-select: none;
}

.ownselectbox>div ul {
    margin: 0;
}

@media (min-width: 900px) {
    .psubmenu ul li {
        width: calc(20% - 15px);
    }

    .psubmenu ul li a:hover {
        background-color: rgb(var(--ff-btn2-bg-color-rgb) / 0.7);
    }

	.psubmenu ul li a.active {
        background-color: var(--ff-btn-bg-color);
        color: var(--ff-btn-tx-color);
        font-weight: bold;
        text-transform: uppercase;
        transform: translateY(0px);
    }

    .psubmenu ul li a {
		border-top-right-radius: 8px;
		border-top-left-radius: 8px;
    }
	
	.membership-pricetables .pcol1>div,
    .membership-pricetables .pcol2.high>div,
    .membership-pricetables .pcol3.high>div {
        background-color: var(--ff-bg-color);
    }

    .membership-pricetables .pcol-no-background>div {
        background-color: initial;
    }
}

@media (max-width: 899px) {
	.psubmenu ul li a {
        text-align: left;
    }

    .psubmenu ul li {
        width: 50%;
        width: calc(50% - 10px);
    }
	
	.membership-pricetables .pcol {
        background-color: var(--ff-bg-color);
    }
}

@media (max-width: 500px) {
    .psubmenu ul li {
        width: 100%;
    }
}