*,
*::before,
*::after {
    box-sizing: border-box;
}

:root {
    --bs-breakpoint-xs: 0;
    --bs-breakpoint-sm: 576px;
    --bs-breakpoint-md: 768px;
    --bs-breakpoint-lg: 992px;
    --bs-breakpoint-xl: 1200px;
    --bs-breakpoint-xxl: 1400px;
    --bm-blue: #6f9dfc;
    --bm-gray: #404041;
    --bm-orange: #F2622E;
    --bm-yellow: #E57A09;
}


/* inter-100 - latin */
@font-face {
    font-display: swap;
    font-family: 'Inter';
    font-style: normal;
    font-weight: 100;
    src: url('../fonts/inter-v20-latin-100.woff2') format('woff2');
}

/* inter-200 - latin */
@font-face {
    font-display: swap;
    font-family: 'Inter';
    font-style: normal;
    font-weight: 200;
    src: url('../fonts/inter-v20-latin-200.woff2') format('woff2');
}

/* inter-300 - latin */
@font-face {
    font-display: swap;
    font-family: 'Inter';
    font-style: normal;
    font-weight: 300;
    src: url('../fonts/inter-v20-latin-300.woff2') format('woff2');
}

/* inter-regular - latin */
@font-face {
    font-display: swap;
    font-family: 'Inter';
    font-style: normal;
    font-weight: 400;
    src: url('../fonts/inter-v20-latin-regular.woff2') format('woff2');
}

/* inter-500 - latin */
@font-face {
    font-display: swap;
    font-family: 'Inter';
    font-style: normal;
    font-weight: 500;
    src: url('../fonts/inter-v20-latin-500.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* inter-600 - latin */
@font-face {
    font-display: swap;
    font-family: 'Inter';
    font-style: normal;
    font-weight: 600;
    src: url('../fonts/inter-v20-latin-600.woff2') format('woff2');
}

/* inter-700 - latin */
@font-face {
    font-display: swap;
    font-family: 'Inter';
    font-style: normal;
    font-weight: 700;
    src: url('../fonts/inter-v20-latin-700.woff2') format('woff2');
}

/* inter-800 - latin */
@font-face {
    font-display: swap;
    font-family: 'Inter';
    font-style: normal;
    font-weight: 800;
    src: url('../fonts/inter-v20-latin-800.woff2') format('woff2');
}

/* inter-900 - latin */
@font-face {
    font-display: swap;
    font-family: 'Inter';
    font-style: normal;
    font-weight: 900;
    src: url('../fonts/inter-v20-latin-900.woff2') format('woff2');
}


body {
    margin: 0;
    -webkit-text-size-adjust: 100%;
    background: white;
    color: var(--bm-gray);
}


html {
    scroll-behavior: smooth;
}
.eapps-widget-toolbar{
    display: none !important;
}
html {
    overflow-x: hidden;
}
.container,
.container-fluid,
.container-xxl,
.container-xl,
.container-lg,
.container-md,
.container-sm {
    --bs-gutter-x: 20px;
    --bs-gutter-y: 0;
    width: 100%;
    padding-right: calc(var(--bs-gutter-x) * 0.5);
    padding-left: calc(var(--bs-gutter-x) * 0.5);
    margin-right: auto;
    margin-left: auto;
}

@media (min-width: 576px) {
    .container-sm, .container {
        max-width: 540px;
    }
}

@media (min-width: 768px) {
    .container-md, .container-sm, .container {
        max-width: 720px;
    }
}

@media (min-width: 992px) {
    .container-lg, .container-md, .container-sm, .container {
        max-width: 960px;
    }
}

@media (min-width: 1200px) {
    .container-xl, .container-lg, .container-md, .container-sm, .container {
        max-width: 1140px;
    }
}

@media (min-width: 1400px) {
    .container-xxl, .container-xl, .container-lg, .container-md, .container-sm, .container {
        max-width: 1336px;
    }
}

.container-fluid {
    padding: 0;
}

body {
    font-family: Inter, serif;
}

.position-relative {
    position: relative;
}

h1 {
    font-weight: 800;
    font-size: 40px;
    line-height: 48px;
    letter-spacing: 0;
    margin-bottom: 24px;
    margin-top: 0;
}

h2 {
    font-weight: 800;
    font-size: 36px;
    line-height: 40px;
    letter-spacing: 0;
    margin-bottom: 24px;
    margin-top: 0;
}

h3 {
    font-weight: 700;
    font-size: 28px;
    line-height: 100%;
    letter-spacing: 0;
    margin-bottom: 15px;
    margin-top: 0;
}

h4 {
    font-weight: 700;
    font-size: 20px;
    line-height: 100%;
    letter-spacing: 0;
    vertical-align: bottom;
    margin-bottom: 15px;
    margin-top: 0;
}

p {
    font-weight: 400;
    font-size: 16px;
    line-height: 24px;
    letter-spacing: 0;
    margin: 0;
}

.large-p {
    font-weight: 600;
    font-size: 16px;
    line-height: 22px;
    letter-spacing: 0;
}

.btn-text {
    font-weight: 600;
    font-size: 14px;
    line-height: 20px;
    letter-spacing: 0;
    text-align: center;
}

a {
    text-decoration: none;
}

.img-fluid {
    max-width: 100%;
}

.main-btn {
    text-decoration: none;
    background: var(--bm-blue);
    padding: 0 18px;
    height: 40px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 5px;
    color: white;
    border-radius: 50px;
}

.secondary-btn {
    border: 1px solid var(--bm-yellow);
    color: var(--bm-yellow);
    border-radius: 50px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0 18px;
    height: 40px;
    text-decoration: none;
}

.filled-btn {
    text-decoration: none;
    background: var(--bm-yellow);
    padding: 0 18px;
    height: 40px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 5px;
    color: white;
    border-radius: 50px;
}

.row-space{
    margin-bottom: 90px;
}


#home header{
    position: absolute;
    right: 0;
    left: 0;
    top: 0;
}
#navbar-wrapper {
    position: sticky;
    top: 20px;
    z-index: 100;
    margin-bottom: 40px;
}
#home #navbar-wrapper {
    margin-bottom: 0;
}

.slider-overlay{
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    bottom: 0;
    background: #00000054;
}
#navbar {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: 20px;
    padding: 10px 20px;
    border-radius: 50px;
    margin-bottom: 15px;
    border : 2px solid var(--bm-blue);
    background: white;
}
#home #navbar{
    background: #ffffffa1;
    backdrop-filter: blur(13px);
    border : 0;
}

.nav-items > ul {
    display: flex;
    gap: 24px;
    list-style: none;
    position: relative;
    padding-left: 0;
}

.nav-items a {
    color: var(--bm-gray);
    font-size: 16px;
    line-height: 22px;
    display: inline-flex;
    align-items: center;
    font-weight: 600;
}


.sub-menu {
    position: absolute;
    top: 130%;
    min-width: 200px;
    background: #fff;
    box-shadow: 0 10px 20px rgba(0, 0, 0, 0.1);
    z-index: 999;
    overflow: hidden;
    opacity: 0;
    visibility: hidden;
    list-style: inside;
    padding: 0;
    border-radius: 10px;
    border: 1px solid var(--bm-blue);
    max-height: 0;
    transition: max-height 0.3s ease;
}

.menu-item > .sub-menu li {
    padding: 10px;
    border-bottom: 1px solid var(--bm-blue);
}

.menu-item > .sub-menu li:last-child {
    border-bottom: 0;
}

.menu-item.open > .sub-menu {
    opacity: 1;
    visibility: visible;
}

.menu-item-has-children > a::after {
    content: "▾";
    display: inline-block;
    margin-left: 4px;
    font-size: 18px;
    transition: 0.2s;
}

/* rotate when open */
.menu-item-has-children.open > a::after {
    transform: rotate(180deg) !important;
}
.header-btns {
    display: flex;
    gap: 10px;
}

.header-btns .main-btn {
    padding: 0 25px;
}

.toggle-menu, .menu-close {
    display: none;
}

#hero {
    display: flex;
    align-items: center;
    gap: 50px;
    justify-content: space-between;
}

.hero-desc {
    width: 50%;
    padding: 235px 0;
}

.hero-img {
    position: absolute;
    top: 0;
    right: 0;
}

.hero-img img {
    max-height: 700px;
}

.button-cta {
    display: flex;
    gap: 16px;
    margin-top: 24px;
}

.hero-desc h1 {
    margin-bottom: 24px;
    color : white;
}

.hero-desc p {
    max-width: 537px;
    color : white
}


.hero-desc,
.hero-img {
    opacity: 0;
}

.swiper-slide-active .hero-desc {
    animation: heroDescAnim 0.8s ease forwards;
    z-index: 10;
}

.swiper-slide-active .hero-img {
    animation: heroImgAnim 1s ease forwards;
    animation-delay: 0.5ms;
}


.slider-swiper,
.slider-swiper .swiper-wrapper {
    height: 100%;
}

.slider-swiper .swiper-wrapper {
    align-items: stretch;
}

.slider-swiper .swiper-slide {
    height: auto;
    display: flex;
}

.slider-slide-wrapper {
    display: flex;
    width: 100%;
    background-size: cover;
}

@media (max-width: 768px) {
    header{
        position: relative;
    }
}
@keyframes heroDescAnim {
    0% {
        opacity: 0;
        transform: translateY(40px);
    }
    60% {
        opacity: 1;
        transform: translateY(-10px);
    }
    100% {
        transform: translateY(0);
        opacity: 1;
    }
}

@keyframes heroImgAnim {
    0% {
        opacity: 0;
        transform: scale(0.8) translateY(40px);
    }
    60% {
        opacity: 1;
        transform: scale(1.05) translateY(-10px);
    }
    100% {
        transform: scale(1) translateY(0);
        opacity: 1;
    }
}

.slider-swiper .swiper-pagination-bullet.swiper-pagination-bullet-active {
    background: var(--bm-yellow);
}

.slider-swiper .swiper-pagination-bullet {
    width: 20px;
    height: 20px;
    border-radius: 50%;
    background: #D9D9D9;
    opacity: 1;
}

.slider-swiper .swiper-pagination {
    margin: auto;
    right: 0;
    bottom: 100px;
    text-align: left;
}

#classes {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap : 48px;
}

#classes .left-side {
    width: 60%;
}

#classes .left-side img{
    width: 100%;
    border-radius: 15px;
}
#classes .right-side {
    max-width: 460px;
}

.feature-list {
    list-style: none;
    padding: 0;
    margin-bottom: 0;
    margin-top: 24px;
}

.feature-list li {
    position: relative;
    padding-left: 21px;
    margin-bottom: 14px;
}

.feature-list li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 4px;
    width: 16px;
    height: 16px;
    background-image: url('../img/circle.png');
    background-size: contain;
    background-repeat: no-repeat;
}

#class-list .title {
    text-align: center;
}

#class-list .subtitle {
    max-width: 418px;
    text-align: center;
    margin: auto auto 60px auto;
}
#class-list .item-desc{
	min-height : 72px;
}
.class-swiper {
    max-width: 996px;
}

.class-swiper .class-item {
    text-align: center;
}

.class-item-img-wrapper {
    position: relative;
    overflow: hidden;
}

.class-swiper .swiper-slide {
    max-width: 100%;
}

@media (min-width: 768px) {
    .class-swiper:not(.class-home-carousel) .swiper-wrapper {
        flex-wrap: wrap;
        justify-content: center;
        gap: 20px;
    }
    .class-swiper:not(.class-home-carousel) .swiper-slide {
        flex: 0 0 calc(33.333% - 20px);
        max-width: calc(33.333% - 20px);
    }
    .class-swiper:not(.class-home-carousel).items-3 .swiper-slide {
        flex: 0 0 calc(33.333% - 20px);
        max-width: calc(33.333% - 20px);
    }
}
@media (min-width: 1200px) {
    .class-swiper:not(.class-home-carousel) .swiper-wrapper {
        flex-wrap: wrap;
        justify-content: center;
        gap: 20px;
    }
    .class-swiper:not(.class-home-carousel) .swiper-slide {
        flex: 0 0 calc(25% - 20px);
        max-width: calc(25% - 20px);
    }
    .class-swiper:not(.class-home-carousel).items-3 .swiper-slide {
        flex: 0 0 calc(33.333% - 20px);
        max-width: calc(33.333% - 20px);
    }
}


.class-items {
    display: flex;
    gap: 20px;
    margin-top: 40px;
}

.class-item .class-item-desc {
    text-align: center;
    margin-top: 20px;
}

.class-item .class-item-desc h3 {
    color: black;
	font-size : 20px;
}

.class-item .class-item-desc .item-desc {
    color: #6D758F;
    margin-bottom: 20px;
}

.class-item .class-item-desc .filled-btn {
    width: 130px;
    margin: auto;
    padding: 0;
}


/* container */
.music-notes {
    position: absolute;
    inset: 0;
    z-index: 100;
}

/* notes style */
.music-notes span {
    position: absolute;
    bottom: 10px;
    opacity: 0;
    animation: floatNote 2s ease-in infinite;
    color: black;
    font-size: 26px;
}

/* random positions + delays */
.music-notes span:nth-child(1) {
    left: 20%;
    animation-delay: 0s;
}

.music-notes span:nth-child(2) {
    left: 50%;
    animation-delay: 0.5s;
}

.music-notes span:nth-child(3) {
    left: 75%;
    animation-delay: 1s;
}

.music-notes span:nth-child(4) {
    left: 10%;
    animation-delay: 0.3s;
}

.music-notes span:nth-child(5) {
    left: 65%;
    animation-delay: 0.8s;
}

.music-notes span:nth-child(6) {
    left: 35%;
    animation-delay: 1.2s;
}

/* animation */
@keyframes floatNote {
    0% {
        transform: translateY(0) translateX(0) scale(0.8) rotate(0deg);
        opacity: 0;
    }
    20% {
        opacity: 1;
    }
    100% {
        transform: translateY(-100px) translateX(20px) scale(1.4) rotate(25deg);
        opacity: 0;
    }
}

/* trigger only on hover */
.music-notes span {
    animation-play-state: paused;
}

.music-notes span {
    text-shadow: 0 0 5px rgba(255, 255, 255, 0.8),
    0 0 10px rgba(255, 255, 255, 0.6),
    var(--bm-blue);
}

.class-item-img-wrapper:hover .music-notes {
    backdrop-filter: blur(2px);
    opacity: 1;
}

@keyframes gradientMove {
    0% {
        background-position: 0% 50%;
    }
    50% {
        background-position: 100% 50%;
    }
    100% {
        background-position: 0% 50%;
    }
}

.class-item-img-wrapper:hover .music-notes span {
    animation-play-state: running;

}


.class-item-img {
    height: 75%;
    position: relative;
    background: var(--bm-yellow);
    border-top-right-radius: 200px;
    border-top-left-radius: 200px;
    overflow: hidden;
}

.class-item-img-wrapper {
    height: 430px;
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: end;
}

.class-item-img-wrapper img {
    position: absolute;
    bottom: 0;
    right: 0;
    left: 0;
    margin: auto;
    max-width: 99%;
    height: auto;
}

#music-note {
    padding: 52px 114px;
    border-radius: 500px;
    position: relative;
    background: var(--bm-blue) url('../img/music-background.png') no-repeat center;
}

#music-note h2 {
    margin-bottom: 20px;
    color: white;
}

#music-note h4 {
    color: white;
}

#music-note .main-btn img {
    filter: invert(80%) sepia(78%) saturate(1025%) hue-rotate(175deg) brightness(92%) contrast(95%);
}

#music-note .main-btn {
    background: #ffffff;
    color: #424242;
    width: 129px;
}

.music-note {
    position: absolute;
    bottom: 10px;
    right: 127px;
    max-height: 316px;
}

.teacher-swiper {
    margin-top: 20px;
    max-width: 996px;
}

#teachers .title {
    text-align: center;
}

#teachers .subtitle {
    max-width: 660px;
    margin: auto;
    text-align: center;
    margin-bottom: 48px;
}

.teacher-img-wrapper {
    background: var(--bm-yellow);
    border-top-right-radius: 200px;
    border-top-left-radius: 200px;
    height: 334px;
    display: flex;
    align-items: end;
    justify-content: center;
    overflow: hidden;
}

.teacher-name {
    font-weight: 700;
    font-size: 18px;
    line-height: 100%;
    letter-spacing: 0;
    text-align: center;
    color: black;
    margin-top: 20px;
    margin-bottom: 10px;
}

.teacher-field {
    font-weight: 600;
    font-size: 18px;
    line-height: 100%;
    letter-spacing: 0;
    text-align: center;
    color: black;
}

#reviews {
    text-align: center;
}
#reviews .subtitle{
    max-width: 418px;
    margin: 0 auto 48px auto;
}
#reviews .ti-inner{
    background: linear-gradient(126.27deg, #FFD8F7 -11.56%, #FFFFFF 16.68%, #FFFFFF 73.72%, #D6E7FF 134.39%);
    border: 1px solid #3686f770;
}
#faq {
    padding: 90px 0 0;
}

.faq-section {
    max-width: 660px;
    margin: 0 auto;
}

.faq-question {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 13px 20px 13px 31px;
    cursor: pointer;
    font-weight: 700;
    font-size: 20px;
    line-height: 100%;
    letter-spacing: 0;
    box-shadow: 0px 4px 4px 0px #5F5F5F61;
    background: var(--bm-blue);
    color: white;
    border-radius: 50px;
}

.faq-icon {
    font-size: 32px;
    transition: transform 0.3s ease;
    font-weight: 200;
}

.faq-answer {
    display: none;
    padding: 5px 20px;
    color: #555;
    line-height: 1.6;
}

.faq-sec h2 {
    margin-bottom: 60px;
    text-align: center;
}

.faq-item {
    margin-bottom: 15px;
}

#faq::before {
    content: "";
    position: absolute;
    left: -290px;
    top: 50%;
    transform: translateY(-50%);
    width: 550px;
    height: 550px;
    background-image: url('../img/music-pattern.png');
    background-size: cover;
    background-repeat: no-repeat;
    z-index: -1;
    animation: rotateBg 20s linear infinite;
}

@keyframes rotateBg {
    from {
        transform: translateY(-50%) rotate(0deg);
    }
    to {
        transform: translateY(-50%) rotate(360deg);
    }
}

#faq::after {
    content: "";
    position: absolute;
    right: -290px;
    top: 50%;
    transform: translateY(-50%);
    width: 550px;
    height: 550px;
    background-image: url('../img/music-pattern.png');
    background-size: cover;
    background-repeat: no-repeat;
    z-index: -1;
    animation: rotateBg 20s linear infinite;
}

@keyframes rotateBg {
    from {
        transform: translateY(-50%) rotate(0deg);
    }
    to {
        transform: translateY(-50%) rotate(360deg);
    }
}

#faq {
    position: relative;
    overflow: hidden;
}



#booking {
    display: flex;
}

#booking #gallery {
    width: 50%;
    text-align: center;
}
#gallery{
    max-width: 520px;
}

#gallery .swiper-wrapper{
    z-index: 10;
}
#gallery .swiper-slide{
    margin-bottom: 20px;
}
#gallery .swiper-button-prev , #gallery .swiper-button-next{
    margin-top: 30px;
}
#booking #gallery img {
    width: 390px;
    max-width: 100%;
    border-top-right-radius: 500px;
    border-top-left-radius: 500px;
    height: 468px;
    object-fit: cover;
}
.gallery-swiper{
    padding: 20px 0;
    position: relative;
    z-index: 0;
}

.gallery-swiper .swiper-pagination-bullet.swiper-pagination-bullet-active{
    background: var(--bm-yellow);
}
.gallery-swiper .swiper-pagination-bullet{
    width: 20px;
    height: 20px;
    border-radius: 50%;
    background: #D9D9D9;
    opacity: 1;
}

.orange-sec{
    width: 390px;
    max-width: 100%;
    border-top-right-radius: 500px;
    border-top-left-radius: 500px;
    height: 468px;
    object-fit: cover;
    position: absolute;
    background: var(--bm-yellow);
    right: 0;
    left: 20px;
    margin: auto;
    top: 0;
    bottom: 0;
    z-index: 5;
}
.dotted-sec{
    border: 4px dashed #64C2FF;
    width: 390px;
    max-width: 100%;
    border-top-right-radius: 500px;
    border-top-left-radius: 500px;
    height: 468px;
    object-fit: cover;
    position: absolute;
    right: 20px;
    left: 0;
    margin: auto;
    top: -20px;
    bottom: 0;
    z-index: 4;
}
.gallery-swiper .swiper-pagination {
    bottom: 0px;
}

.booking-desc {
    max-width: 434px;
    margin: auto auto 0 auto;
}

#booking-form {
    display: flex;
    flex-direction: column;
    gap: 15px;
    margin-top: 32px;
}

#booking-form .filled-btn {
    border: 0;
}

#booking-form input {
    border: 1px solid #F1F3F7;
    box-shadow: 0 1px 4px 0 #19213D14;
    border-radius: 50px;
    height: 50px;
    padding: 0 19px;
    color: #716D6D;
    font-size: 14px;
    font-weight: 400;
    font-family: Inter, sans-serif;
    outline: none;
}


#booking-form select {
    border: 1px solid #F1F3F7;
    box-shadow: 0 1px 4px 0 #19213D14;
    border-radius: 50px;
    height: 50px;
    padding: 0 19px;
    color: #716D6D;
    font-size: 14px;
    font-weight: 400;
    font-family: Inter, sans-serif;
    outline: none;
    background-color: #fff;
    cursor: pointer;

    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;

    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%23716D6D' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 18px center;
    background-size: 14px;
}



#booking-form textarea {
    border: 1px solid #F1F3F7;
    box-shadow: 0 1px 4px 0 #19213D14;
    border-radius: 30px;
    padding: 20px;
    color: #716D6D;
    font-size: 14px;
    font-weight: 400;
    height: 173px;
    font-family: Inter, sans-serif;
    outline: none;
}

footer {
    background: var(--bm-blue);
    padding: 20px 0;
}

footer .container {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.copyright {
    border-top: 1px solid #DEDEDE;
    text-align: center;
    color: white;
    padding-top: 20px;
    margin-top: 20px;
}
.copyright a {
    color : white;
}
.footer-menu a {
    color: white;
    font-weight: 400;
    font-size: 16px;
}

.footer-menu {
    display: flex;
    gap: 36px;
    flex: 1;
    justify-content: center;
    flex-wrap: wrap;
}

.footer-logo {
    width: 20%;
    display: flex;
    align-items: center;
    justify-content: center;
}

.swiper-navigation-icon {
    width: 30px !important;
    height: 30px !important;
    background: var(--bm-blue);
    color: white;
    border-radius: 50px;
    padding: 6px;
}

.footer-socials {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 15px;
}

.footer-socials img {
    max-height: 30px;
}

#mobile-menu-wrapper {
    display: none;
}

#mobile-menu-wrapper .footer-logo {
    margin-bottom: 40px;
}

#floating-btn {
    display: none;
}

.lang-switcher{
    display: flex;
    align-items: center;
    border: 1px solid var(--bm-blue);
    border-radius: 50px;
    width: 87px;
    position: relative;
    height: 40px !important;
}
.gt_float_switcher img{
    width: 25px !important;
}
.gt_float_switcher .gt-selected .gt-current-lang{
    border: 0 !important;
    background: transparent !important;
}
.gt_float_switcher .gt-selected {
    background-color: transparent !important;
}
.gt_float_switcher{
    background: none !important;
    font-size: 14px !important;
    box-shadow: none !important;
}
.gt_float_switcher .gt-selected .gt-current-lang {
    padding: 5px !important;
}
.lang-switcher .gt_float_switcher .gt-selected .gt-current-lang span.gt-lang-code{
    color: var(--bm-blue);
}

.lang-switcher {
    position: relative;
}

.lang-switcher .gt_float_switcher .gt_options {
    position: absolute;
    top: 44px;
    left: -9px;

    width: 120px;
    background: white;
    border: 1px solid var(--bm-blue);
    border-radius: 10px;

    /* hidden state */
    opacity: 0;
    transform: translateY(-10px);
    visibility: hidden;
    pointer-events: none;

    transition: all 0.2s ease;
}

.lang-switcher .gt_options.gt-open {
    visibility: visible;
    pointer-events: auto;
}
.lang-switcher .gt_float_switcher img{
    height: 25px;
    border-radius: 50px;
    object-fit: cover;
}
.lang-switcher .gt_float_switcher .gt-selected .gt-current-lang span.gt_float_switcher-arrow{
    transform: rotate(0deg);
}
.lang-switcher .gt_float_switcher .gt-selected .gt-current-lang span.gt_float_switcher-arrow.gt_arrow_rotate{
    transform: rotate(-180deg);
}
.lang-switcher .gt_float_switcher .gt_options a:hover {
    background: var(--bm-blue);
}
@media (max-width: 1400px) {
    .nav-items > ul{
        gap: 15px;
    }
    .hero-img img {
        max-height: 570px;
    }
    .hero-desc {
        padding: 145px 0;
    }
}
@media (max-width: 1200px) {
    .nav-items a {
        font-size: 12px
    }
    .header-btns .main-btn, .header-btns .secondary-btn{
        padding: 0 10px;
        font-size: 12px;
    }
    .navbar-brand{
        max-width: 100px;
        height: auto;
    }
}


@media (min-width: 992px) and (max-width: 1200px) {
    .class-item .class-item-desc h3{
        min-height: 60px;
    }
}
@media (min-width: 769px) and (max-width: 1200px) {


    h1 {
        font-size: 32px;
        line-height: 32px;
    }

    h2 {
        font-size: 28px;
        line-height: 28px;
    }

    h3 {
        font-size: 24px;
    }


    p {
        font-weight: 400;
        font-size: 16px;
        line-height: 24px;
        letter-spacing: 0;
        margin: 0;
    }

    .large-p {
        font-weight: 600;
        font-size: 16px;
        line-height: 22px;
        letter-spacing: 0;
    }

    .btn-text {
        font-weight: 600;
        font-size: 14px;
        line-height: 20px;
        letter-spacing: 0;
        text-align: center;
    }

    a {
        text-decoration: none;
    }


    .music-note {
        right: 0;
    }

    .booking-desc {
        width: 50%;
    }

    #booking {
        gap: 50px;
    }

    #hero-wrapper .slider-slide-wrapper {
        display: flex;
        align-items: stretch;
    }

    .slider-swiper .swiper-pagination {
        bottom: 25px;
        left: 9%;
        margin-left: 0;
        margin-right: 0;
        padding-left: 0;
    }

    .hero-img {
        position: relative;
    }

    .hero-desc {
        padding-left: 0;
        padding-top: 0;
        padding-bottom: 0;
        width: 100%;
    }

    .hero-desc h1 {
        font-size: 26px;
        line-height: 32px;
    }

    #classes .right-side {
        width: 400px;
    }

    #classes {
        gap: 30px;
        margin-top: 50px;
    }

    .main-btn {
        padding: 0 8px;
    }
}

@media (max-width: 992px) {
    .toggle-menu {
        display: block;
    }
    #navbar .header-btns {
        display: none;
    }
    .nav-items {
        display: none;
    }

    #mobile-menu-wrapper {
        position: fixed;
        top: 0;
        bottom: 0;
        left: 0;
        right: 50px;
        display: flex;
        flex-direction: column;
        justify-content: start;
        align-items: center;
        height: 100vh;
        background: var(--bm-blue);
        border-top-right-radius: 40px;
        border-bottom-right-radius: 40px;
        transform: translateX(-100%);
        opacity: 0;
        transition: transform 0.4s ease, opacity 0.3s ease;
        pointer-events: none;
    }

    #mobile-menu-wrapper.active {
        transform: translateX(0);
        opacity: 1;
        pointer-events: auto;
        z-index: 100000;
        padding: 30px;
        max-width: 400px;
    }

    .mobile-menu-items a {
        font-size: 16px;
        font-weight: 600;
        color: white;
    }

    .mobile-menu-items {
        width: 100%;
    }

    .mobile-menu-items > ul {
        display: flex;
        flex-direction: column;
        justify-content: center;
        gap: 15px;
        list-style: none;
        text-align: left;
        padding: 0;
    }


    body::before {
        opacity: 0;
        pointer-events: none;
        transition: opacity 0.3s ease;
    }
    body.menu-open::before {
        content: "";
        position: fixed;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        background: rgb(0 0 0 / 50%);
        z-index: 99999;
        opacity: 1;
        pointer-events: auto;
    }

    .mobile-menu-btns .main-btn{
        margin-top: 15px;
        border: 1px solid var(--bm-yellow);
        background: var(--bm-yellow);
        width: 100%;
    }
    .mobile-menu-btns .secondary-btn{
        border: 2px solid white;
        color: white;
        width: 100%;
    }
    .mobile-menu-btns{
        margin-top: 60px;
    }
    .mobile-social-items {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 20px;
        margin-top: 30px;
        width: 100%;
    }

    .mobile-social-items img {
        max-height: 22px;
    }

    .gt_float_switcher img{
        width: 25px !important;
    }
    .gt_float_switcher .gt-selected .gt-current-lang{
        border: 0 !important;
        background: transparent !important;
    }
    .gt_float_switcher .gt-selected {
        background-color: transparent !important;
    }
    .gt_float_switcher{
        background: none !important;
        font-size: 14px !important;
        box-shadow: none !important;
    }
    .mobile-lang{
        width: 100%;
    }
    .gt_float_switcher .gt-selected .gt-current-lang {
        padding: 0 !important;
    }
    .gt_float_switcher .gt-selected .gt-current-lang span.gt-lang-code{
        color : white !important;
    }
    .sub-menu {
        position: relative;
        background: transparent;
        box-shadow: none;
        border: none;
        list-style: none;
    }

    .menu-item > .sub-menu li {
        padding: 10px;
        border-bottom: 1px solid var(--bm-blue);
    }

    .menu-item.open > .sub-menu {
        margin-top: 5px;
    }

    .menu-close {
        display: block;
        position: absolute;
        top: 25px;
        right: 25px;
        background: none;
        border: none;
        font-size: 32px;
        color: white;
        cursor: pointer;
    }

    .nav-items.active a {
        color: white;
    }


    #booking #gallery img {
        max-width: 95%;
    }
    .orange-sec {
        max-width: 95%;
    }

}
@media (max-width: 768px) {

    h1 {
        font-size: 24px;
        line-height: 34px;
    }

    h2 {
        font-size: 22px;
        line-height: 30px;
    }

    h3 {
        font-size: 20px;
        line-height: 28px;
    }

    p {
        font-size: 14px;
        line-height: 24px;
    }

    .large-p {
        font-size: 14px;
        line-height: 22px;
    }

    .row-space{
        margin-bottom: 60px;
    }
    .hero-desc {
        width: 100%;
        text-align: center;
    }

    #hero {
        padding: 25px 10px;
    }

    #hero-wrapper {
        display: flex;
        flex-direction: column-reverse;
        gap: 20px;
    }

    .slider-slide-wrapper {
        display: flex;
        flex-direction: column-reverse;
        gap : 48px;
    }
    .hero-img img{
        max-width: 80%;
    }

    .slider-swiper .swiper-pagination {
        bottom: 10px;
        text-align: center;
    }
    .swiper-overlay{
        background: #00000096;
    }
    .hero-img {
        position: relative;
        width: 100%;
        text-align: right;
    }

    .hero-desc {
        padding: 0 0 40px 0;
    }

    .button-cta {
        justify-content: center;
        gap: 10px;
    }

    .main-btn {
        padding: 0 18px;
    }

    .class-item-img {
        width: 227px;
        margin: 0 auto;
    }

    #classes {
        flex-direction: column;
    }

    #classes .right-side h2 {
        text-align: center;
    }

    #classes .left-side {
        width: 100%;
    }

    .swiper {
        width: 100%;
    }

    #booking {
        flex-direction: column;
    }


    #music-note h4 {
        font-size: 14px;
        line-height: 22px;
        font-weight: 600;
    }

    #music-note {
        padding: 20px;
        text-align: center;
        width: 288px;
        margin: auto;
        height: 392px;
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
    }

    .music-note {
        top: -90px;
        right: 0;
        left: 0;
        margin-right: auto;
        margin-left: auto;
        max-height: 220px;
    }
    #music-note h2{
        font-size: 22px;
        line-height: 30px;
    }

    .teacher-item {
        display: flex;
        flex-direction: column;
        align-items: center;
    }

    .teacher-img-wrapper {
        justify-content: center;
        height: 320px;
    }

    .teacher-img-wrapper, .teacher-name, .teacher-cta {
        max-width: 227px;

    }


    #faq {
        padding: 20px 20px 0;
    }

    #faq::before {
        opacity: 5%;
        z-index: -1;
        left: -175px;
        top: 50%;
        height: 350px;
        width: 350px;
    }

    #faq::after {
        opacity: 5%;
        z-index: -1;
        right: -175px;
        top: 50%;
        height: 350px;
        width: 350px;
    }

    #booking #gallery {
        width: 100%;
        margin-bottom: 30px;
    }


    .faq-question {
        font-weight: 600;
        font-size: 14px;
        line-height: 22px;
    }

    .faq-sec h2 {
        margin-bottom: 30px;
    }

    footer {
        padding-top: 25px;
        padding-bottom: 95px;
        position: relative;
    }

    .footer-menu {
        display: none;
    }

    .footer-logo {
        align-items: center;
        width: 100%;
        justify-content: left;
    }

    .footer-logo img {
        width: 130px;
        margin: auto;
    }

    .footer-menu {
        flex-direction: column;
        justify-content: space-between;
        gap: 10px;
        flex: 1 0 40%;
    }

    .footer-socials {
        gap: 25px;
    }

    footer .container {
        gap: 20px;
        align-items: center;
        justify-content: center;
        flex-direction: column;
    }

    #floating-btn {
        position: fixed;
        left: 0;
        bottom: 0;
        display: flex;
        gap: 10px;
        background: white;
        padding: 15px;
        right: 0;
        box-shadow: 0 -1px 4px 0 #e1e1e1;
        z-index: 100;
    }

    #floating-btn a {
        color: white;
        border-radius: 50px;
        height: 40px;
        display: flex;
        align-items: center;
        justify-content: center;
        font-size: 14px;
        width: 50%;
    }

    .float-btn-1 {
        background: var(--bm-yellow);
    }

    .float-btn-2 {
        background: var(--bm-orange);
    }

    .swiper .swiper-pagination-bullet {
        width: 16px;
        height: 16px;
    }

}


/*About Page*/
#about-sec-1 {
    display: flex;
    align-items: center;
    padding: 0;
    justify-content: space-between;
    gap : 40px;
}

#about-sec-1 .left-side {
    max-width: 548px;
}

#about-sec-2 {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap : 40px;
}

#about-sec-2 .right-side {
    width: 50%;
}

#about-sec-2 .left-side {
    width: 50%;
}

@media (max-width: 768px) {
    #about-sec-1 {
        flex-direction: column-reverse;
        gap: 30px;
    }

    #about-sec-1 .left-side {
        padding: 0 15px;
    }

    #about-sec-2 {
        flex-direction: column;
        gap: 30px;
    }

    #about-sec-2 .right-side {
        width: 100%;
    }

    #about-sec-2 .left-side {
        width: 100%;
    }

}


/*Contact Page*/
.location-tabs {
    display: flex;
    gap: 20px;
    width: 940px;
    margin: auto;
    max-width: 100%;
}

.location-items {
    display: flex;
    flex-direction: column;
}

.location-items .location-item {
    flex: 1;
}

.location-tab.active {
    background: var(--bm-yellow);
    color: white;
}

.location-tab {
    border: 2px solid var(--bm-yellow);
    text-align: center;
    height: 50px;
    border-radius: 500px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--bm-yellow);
    margin-bottom: 10px;
    cursor: pointer;
}

.location-content {
    display: none;
}

.location-content.active {
    display: flex;
    gap: 24px;
    border-top: 3px solid var(--bm-yellow);
    padding-top: 24px;
}

.location-address {
    text-align: center;
    margin-bottom: 30px;
}

.location-info {
    display: flex;
    flex-direction: column;
    gap: 15px;
    flex: 1;
    justify-content: space-around;
}

.location-map {
    margin-bottom: 20px;
    width: 775px;
}


.location-info .location-info-item {
    color: black;;
    display: flex;
    align-items: center;
    gap: 10px;
    border-radius: 500px;
    font-size: 16px;
    font-weight: 500;
}

.location-info-item svg {
    min-width: 85px;
    height: 60px;
}


@media (max-width: 992px) {
    .location-tab {
        height: 30px;
        font-size: 14px;
    }

    .location-items {
        flex-direction: column;
    }

    .location-icon {
        height: 71px;
    }

    .location-name {
        padding: 24px 20px;
    }

    .location-items {
        margin-top: 30px;
    }

    .location-content.active {
        flex-direction: column;
    }

    .location-map iframe {
        max-width: 100%;
        height: 240px;
    }

    .location-map {
        max-width: 100%;
    }

    .location-info .location-info-item {
        gap: 10px;
        font-size: 16px;
        font-weight: 600;
    }
}

/*Classes*/
#class-hero-sec {
    display: flex;
    gap: 60px;
}
.class-content {
	text-align : justify;

}
.class-content p {
	margin-bottom : 8px;
}
.class-item-content {
    flex: 1 ;
}

.class-gif-wrapper {
    flex: 1;
    display: flex;
    align-items: center;
	width : 50%;
}

.class-gif-back {
    border-radius: 500px 50px 50px 500px;
    overflow: hidden;
    width: 100%;
	max-height : 360px;
}
.class-gif-back img{
    width: 100%;
    height: 100%;
    object-fit: cover;
}

@media (max-width: 768px) {
    .class-item .class-item-desc .item-desc {
        min-height: 50px;
    }
}
@media (max-width: 992px) {
	.class-gif-wrapper{
		width : 100%;
	}
    #class-hero-sec {
        flex-direction: column-reverse;
        padding: 0;
    }

    .class-gif-wrapper {
        position: relative;
    }


    .class-gif-back {
        left: 0;
        z-index: -1;
    }

    .class-gif-wrapper video {
        width: 100%;
        height: auto;
    }

    .class-item-content {
        padding: 0 15px;
    }

}

/*Teacher*/
#teachers-single {
    display: flex;
    gap: 24px;
}

#teachers-single .teacher-img-wrapper {
    width: 328px;
    max-width: 100%;
    height: 460px;
}

.teacher-right-side {
    flex: 1;
    display: flex;
    justify-content: center;
}

#teachers-single .teacher-info {
    flex: 1;
}


#teachers-single .teacher-img-wrapper img {
    width: 100%;
    height: 90%;
    object-fit: cover;
}

.teacher-info .teacher-content {
    margin-bottom: 30px;

}

.teacher-info .feature-list {
    margin-bottom: 30px;
}

.page-single-pattern {
    position: absolute;
    left: -190px;
    z-index: -1;
    opacity: 0.1;
}

@media (max-width: 992px) {
    #teachers-single {
        flex-direction: column-reverse;
        margin-top: 60px;
        align-items: center;
    }

    #teachers-single .teacher-img-wrapper {
        width: 320px;
        max-width: 95%;
        height: 466px;
    }

}

/*Class Single*/

#class-single {
    display: flex;
    gap: 20px;
    margin-bottom: 80px;
    margin-top: 80px;
    align-items: self-end;
}

.class-item-video-wrapper, .class-info {
    flex: 1 0 50%;
}


.class-info .teacher-content {
    margin-bottom: 30px;
}

.teacher-cta {
    display: flex;
    gap: 10px;
    justify-content: center;
    flex-direction: column;
}

@media (max-width: 992px) {
    #class-single {
        flex-direction: column-reverse;
        gap: 30px;
    }

    #class-single .class-item-img-wrapper {
        width: 100%;
        align-items: center;
    }


    #class-single {
        margin-top: 0px;
    }

    .page-single-pattern {
        display: none;
    }
}

/*Camp list*/
#camp-list{
    display: flex;
    flex-direction: row-reverse;
    gap: 40px;
    align-items: flex-start;
}
#camp-list .camp-item {
    display: flex;
    align-items: center;
    gap: 40px;
    position: relative;
    border-top: 5px solid var(--bm-blue);
    border-bottom: 5px solid var(--bm-blue);
    border-left: 5px solid var(--bm-blue);
    border-right: 5px solid var(--bm-blue);
    padding: 30px;
    background: white;
    border-top-left-radius: 500px;
    border-bottom-left-radius: 500px;
	margin-bottom : 30px;
    border-top-right-radius: 40px;
    border-bottom-right-radius: 40px;
}


.camp-img-wrapper {
    flex: 1 0 350px;
    height: 350px;
    border-radius: 500px;
    overflow: hidden;
}

.camp-img-wrapper img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.camp-item .main-btn {
    width: 100%;
}

.camp-item h4 {
    margin-bottom: 10px;
    margin-top: 15px;
    font-size: 18px;
}

.camp-feature {
    list-style: none;
    padding: 0;
    margin-bottom: 20px;
    margin-top: 0;
}
.camp-information h2{
    font-size: 20px;
    margin-bottom: 10px;
}
.camp-feature li {
    position: relative;
    padding-left: 21px;
    margin-bottom: 8px;
    font-weight: 600;
    font-size: 13px;
}
.camp-desc p {
    font-size: 13px;
    line-height: 1.4em;
}
.camp-feature li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 4px;
    width: 12px;
    height: 12px;
    background-color: var(--bm-yellow);
    background-size: contain;
    background-repeat: no-repeat;
    border-radius: 50px;
}
.camp-progress{
    background: var(--bm-blue);
    padding: 15px;
    color: white;
    line-height: 1.3em;
    border-radius: 20px;
    position: sticky;
    top: 110px;
    margin-bottom: 30px;
    flex: 1 0 350px;
}
.camp-progress li{
    margin-bottom: 10px;
    font-size: 14px;
}
.camp-timeline-toggle{
    display: none;
}
@media (max-width: 1400px) {
    #camp-list .camp-item{
        flex-direction: column;
        border-top-left-radius: 500px;
        border-bottom-left-radius: 40px;
        border-top-right-radius: 500px;
        border-bottom-right-radius: 40px;
    }

    #camp-list .camp-item{
        padding: 0;
        overflow: hidden;
    }
    .camp-img-wrapper {
        flex: 1 0 100%;
        width: 100%;
        border-radius: 0;
        max-height: 500px;
    }
    .camp-information{
        padding: 0 20px 20px 20px;
    }
    #camp-list .camp-item{
        gap: 20px;
    }
}
@media (max-width: 1200px) {
    #camp-list .camp-item{
        flex-direction: column;
        border-top-left-radius: 500px;
        border-bottom-left-radius: 40px;
        border-top-right-radius: 500px;
        border-bottom-right-radius: 40px;
    }
    .camp-progress{
        flex: 1 0 250px;
    }

}
@media (max-width: 992px) {
    #camp-list .camp-item {
        flex-direction: column;
        border: 5px solid var(--bm-blue);
        border-bottom-left-radius: 0;
        border-top-right-radius: 500px;
    }

    .camp-item::after {
        content: none;
    }

    #camp-list {
        margin-top: 30px;
    }

    .camp-progress{
        flex: 1 0 250px;
    }

}

@media (max-width: 768px) {
    .camp-progress {
        position: fixed;
        top: 0;
        left: 0;
        right: 20px;
        bottom: 0;

        transform: translateX(-100%);
        transition: transform 0.4s ease;

        z-index: 10000;
        border-radius: 0;
        margin-bottom: 0;
        border-top-right-radius: 40px;
        border-bottom-right-radius: 40px;
        padding-top: 80px;
    }

    .camp-progress.active {
        transform: translateX(0);
    }
    .camp-timeline-toggle{
        display: flex;
        position: fixed;
        top: 50%;
        transform: translateY(-50%);
        left: 0;
        background: var(--bm-blue);
        color: #fff;
        padding: 15px 5px;
        writing-mode: vertical-rl;
        cursor: pointer;
        z-index: 1;
        border-top-right-radius: 10px;
        border-bottom-right-radius: 10px;
        font-size: 14px;
        z-index: 1000000;
    }
    .camp-timeline-toggle.active {
        background: #ffffff;
        top: 43px;
        writing-mode: horizontal-tb;
        color: var(--bm-orange);
        padding: 8px;
    }
}

@media (max-width: 576px) {
    .camp-img-wrapper {
        max-height: 300px;
    }
    #camp-list {
        margin-top: 30px;
        padding: 0 30px;
    }
}

/*Blog*/
#blog-lists {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
    row-gap: 60px;
}

.blog-item {
    padding: 15px;
    border: 5px solid var(--bm-blue);
    border-top-left-radius: 500px;
    border-top-right-radius: 500px;
}

.blog-item .blog-img-wrapper img {
    object-fit: cover;
    width: 100%;
    height: 100%;
}

.blog-item .blog-img-wrapper {
    display: block;
    aspect-ratio: 1;
    border-radius: 500px;
    overflow: hidden;
    margin-bottom: 30px;
}

.blog-item-desc .main-btn {
    width: 100%;
    margin-top: 15px;
}

.blog-page-title {
    margin-top: 80px;
    text-align: center;
}

.blog-page-subtitle {
    max-width: 418px;
    text-align: center;
    margin: auto auto 60px auto;
}

.blog-pagination {
    margin-top: 40px;
    display: flex;
    justify-content: center;
    gap: 10px;
}

.blog-pagination a,
.blog-pagination span {
    background: transparent;
    color: black;
    border: 3px solid var(--bm-blue);
    border-radius: 50px;
    width: 40px;
    height: 40px;
    display: flex;
    justify-content: center;
    align-items: center;
}

.blog-pagination .current {
    background: var(--bm-blue);
    color: #fff;
    border-color: var(--bm-blue);
}

@media (max-width: 992px) {
    #blog-lists {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 576px) {
    #blog-lists {
        grid-template-columns: repeat(1, 1fr);
    }
}

/*Single Blog*/
#single-post {
    margin-top: 60px;
}

.featured-section .featured-content, .featured-section .featured-image {
    flex: 1;
}

.featured-section {
    display: flex;
    gap: 18px;
    margin-bottom: 30px;
}

.featured-image img {
    border-radius: 18px;
}

#post-content p {
    margin-bottom: 30px;
}

.related-posts > h2 {
    margin-bottom: 60px;
    text-align: center;
}

.related-posts {
    margin-top: 90px;
}

@media (max-width: 1200px) {
    .featured-section {
        flex-direction: column-reverse;
    }
	.slider-swiper .swiper-wrapper {
    align-items: stretch;
    min-height: 500px;
	}
}

@media (max-width: 992px) {
	.slider-swiper .swiper-wrapper {
    align-items: stretch;
    min-height: 400px;
	}
}

@media (max-width: 576px) {
#home header {
	position: relative;

	}
	#home #navbar{
			margin-block: 0;
	}
	.slider-slide-wrapper{
		        background-position: center;
        justify-content: center;
	}
}
#ajax-response .success{
    color : darkgreen;
}
#ajax-response .error{
    color: red;
}
.location-img img {
	border-radius : 20px;
}
.location-book-btn{
	width: 100%;
    background: #E57A09;
    color: white;
    font-weight: 600;
    font-size: 14px;
    height: 64px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 100px;
}
.location-items h1 {
	text-align : center;
	    margin-bottom: 10px;
}
.contact-subtitle{
	    text-align: center;
	margin-bottom:60px;
}

.error-404{
	text-align : center;
	margin-bottom : 25px;
}