/*CSS Template 1.4 by J - Updated July 2026*/
/*Search (CTRL+F) Keywords:
[Fonts] 
[Presets] 
[Floating_CTA] 
[Settings] 
[Gaps] 
[Contact_Form] 
[Map_Presets] 
[Text_Presets] 
[Button_Presets] 
[Slick_Slider_Presets] 
[Image_Presets] 
[Animation_Presets] 
[Formats] 
[Position_Presets] 
[Flex/Grid_Presets] 
[Banner] 
[Custom]*/

/*[Fonts]*/
/*====================================================================================================*/
@font-face {
    font-family: helvetica;
    opacity: 0.8;
    src: url("./fonts/helvetica-light.ttf") format("truetype");
}

@font-face {
    font-family: helvetica;
    font-weight: 400;
    src: url("./fonts/Helvetica.ttf") format("truetype");
}

@font-face {
    font-family: helvetica;
    font-weight: 700;
    src: url("./fonts/Helvetica-Bold.ttf") format("truetype");
}

@font-face {
    font-family: freightdisp-pro;
    opacity: 0.8;
    src: url("./fonts/fonnts.com-Freight-Disp-Pro-Light.otf") format("opentype");
}

@font-face {
    font-family: freightdisp-pro;
    font-weight: 400;
    src: url("./fonts/fonnts.com-Freight-Disp-Pro-Book-.otf") format("opentype");
}

@font-face {
    font-family: freightdisp-pro;
    font-weight: 500;
    src: url("./fonts/fonnts.com-Freight-Disp-Pro-Medium.otf") format("opentype");
}

@font-face {
    font-family: freightdisp-pro;
    font-weight: 600;
    src: url("./fonts/fonnts.com-Freight-Disp-Pro-Semibold-.otf") format("opentype");
}

@font-face {
    font-family: freightdisp-pro;
    font-weight: 700;
    src: url("./fonts/fonnts.com-Freight-Disp-Pro-Bold.otf") format("opentype");
}

@font-face {
    font-family: freightdisp-pro;
    font-weight: 900;
    src: url("./fonts/fonnts.com-Freight-Disp-Pro-Black.otf") format("opentype");
}


/*[Presets]*/
/*====================================================================================================*/
:root {
    --theme-font-family: "helvetica";
    --theme-title-font-family: "freightdisp-pro";
    --fa-brand: "Font Awesome 7 Brands";
    --fa-icon: "Font Awesome 7 Free";
    --font-size-1: 64px;
    --font-size-2: 48px;
    --font-size-3: 30px;
    --font-size-4: 25px;
    --font-size-5: 23px;
    --font-size-6: 20px;
    --font-size-7: 18px;
    --font-size-t: 16px;
    --font-size-s: 14px;
    --row-gap: 100px;
    --side-gap: 50px;
    --full-side-gap: 100px;
    --inner-row-gap: 35px;
    --inner-side-gap: 35px;
    --inner-large-row-gap: 50px;
    --inner-large-side-gap: 50px;
    --map-height: 400px;
    --white-color: #FFFFFF;
    --black-color: #000000;
    --theme-color: #D71921;
    --transition-effect: all 0.3s ease-in-out;
    --transition-out-effect: all 0.3s ease-out;
    --transition-in-effect: all 0.3s ease-in;
    --gsap-effect-fast: all 0.5s ease-out;
    --gsap-effect: all 1s ease-out;
    --gsap-effect-slow: all 1.5s ease-out;
    --home-banner-size: auto;
    --banner-size: 4 / 1;
    --banner-mini-title: 1.058vw;
    --banner-title: 2.865vw;
}

@media only screen and (max-width:999.98px) {
    :root {
        --home-banner-size: 2 / 1;
        --banner-size: 3 / 1;
        --banner-mini-title: 1.6vw;
        --banner-title: 5vw;
    }
}

@media only screen and (max-width:767.98px) {
    :root {
        --font-size-1: 30px;
        --font-size-2: 27px;
        --font-size-3: 25px;
        --font-size-4: 23px;
        --font-size-5: 20px;
        --font-size-6: 18px;
        --font-size-7: 18px;
        --row-gap: 70px;
        --side-gap: 15px;
        --full-side-gap: 15px;
        --inner-row-gap: 25px;
        --inner-side-gap: 15px;
        --inner-large-row-gap: 35px;
        --inner-large-side-gap: 15px;
        --map-height: 300px;
        --home-banner-size: 3 / 2;
        --banner-size: 2 / 1;
        --banner-mini-title: 2.083vw;
        --banner-title: 6.51vw;
    }
}

@media only screen and (max-width:449.98px) {
    :root {
        --home-banner-size: 1 / 1;
        --banner-size: 3 / 2;
        --banner-mini-title: 3.556vw;
        /* --banner-title:11.111vw; */
    }
}

/*[Floating_CTA]*/
/*====================================================================================================*/
.floating-button {
    position: fixed;
    width: 50px;
    height: 50px;
    line-height: 50px;
    bottom: 80px;
    right: 19px;
    font-size: 20px;
    background-color: #4F6ACA;
    color: #fff !important;
    border-radius: 50px;
    text-align: center;
    z-index: 1000;
    display: flex;
    justify-content: center;
    align-items: center;
    -webkit-transition: all 0.3s ease-in-out;
    transition: all 0.3s ease-in-out;
    cursor: pointer;
}

.floating-button * {
    -webkit-transition: all 0.3s ease-in-out;
    transition: all 0.3s ease-in-out;
}

.floating-button.float-btn-trigger {
    background-color: #4F6ACA;
    /* animation: 2.5s wiggle ease infinite; */
    /* animation-delay: 1s; */
    width: auto;
    min-width: 50px;
}

.floating-button:not(.float-btn-trigger) {
    opacity: 0;
}

.floating-button.float-btn-trigger .icon-trigger {
    width: 50px;
    height: 50px;
    line-height: 50px;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    animation: 2.5s wiggle ease infinite;
    animation-delay: 1s;
    position: relative;
}

.floating-button.float-btn-trigger .chat-with-us {
    padding-inline: 0 0;
    font-size: 16px;
    text-transform: capitalize;
    overflow: hidden;
    text-indent: -100px;
    transform: scale(0);
    transform-origin: 100% 50%;
    -webkit-transition: all 0.3s ease-in-out;
    transition: all 0.3s ease-in-out;
    width: 0;
}

.floating-button.float-btn-trigger .chat-with-us.pop {
    padding-inline: 15px 0;
    text-indent: 0;
    transform: scale(1);
    width: auto;
}

.floating-button.float-btn-trigger #open-float {
    opacity: 1;
}

.floating-button.float-btn-trigger #close-float {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%) rotate(0deg);
    opacity: 0;
}

.floating-button.floating-button_mail {
    background-color: rgba(0, 114, 198, 1);
}

.floating-button.floating-button_phone {
    background-color: rgba(220, 16, 16, 1);
}

.floating-button.floating-button_whatsapp {
    background-color: rgba(37, 211, 102, 1);
}

/*when toogle*/
.floating-button.float-btn-trigger.toogle .icon-trigger {
    animation: none;
}

.floating-button.toogle:not(.float-btn-trigger) {
    opacity: 1;
}

.floating-button.float-btn-trigger.toogle #open-float {
    opacity: 0;
}

.floating-button.float-btn-trigger.toogle #close-float {
    opacity: 1;
    transform: translate(-50%, -50%) rotate(180deg);
}

.floating-button.floating-button_mail.toogle {
    bottom: 140px;
}

.floating-button_phone.toogle {
    bottom: 200px;
}

.floating-button_whatsapp.toogle {
    bottom: 260px;
}

/*animation for trigger*/
@keyframes wiggle {
    0% {
        transform: scale(1), rotate(0);
    }

    9.375% {
        transform: scale(1.1) rotate(0);
    }

    18.75% {
        transform: scale(1.1) rotate(-3deg);
    }

    28.125% {
        transform: scale(1.1) rotate(20deg);
    }

    37.5% {
        transform: scale(1.1) rotate(-15deg);
    }

    46.875% {
        transform: scale(1.1) rotate(5deg);
    }

    56.25% {
        transform: scale(1.1) rotate(-1deg);
    }

    65.625% {
        transform: scale(1.1) rotate(0);
    }

    75% {
        transform: scale(1) rotate(0);
    }

    100% {
        transform: scale(1) rotate(0);
    }
}

/*when mobile only*/
@media only screen and (max-width: 767.98px) {
    .floating-button {
        bottom: 10px;
        right: 15px;
    }

    .floating-button.floating-button_mail.toogle {
        bottom: 70px;
    }

    .floating-button_phone.toogle {
        bottom: 130px;
    }

    .floating-button_whatsapp.toogle {
        bottom: 190px;
    }

    #side-contact {
        position: fixed;
        background: #fff;
        width: 100%;
        height: 70px;
        bottom: 0;
        right: -100%;
        display: flex;
        flex-direction: row;
        align-items: center;
        justify-content: center;
        gap: 10px;
        z-index: 999;
        -webkit-transition: all 0.3s ease-in-out;
        transition: all 0.3s ease-in-out;
        /*padding-right: 70px;*/
    }

    #side-contact.toogle {
        right: 0;
    }

    #side-contact a.floating-button:not(.float-btn-trigger) {
        position: initial;
        opacity: 1;
    }

    .floating-button.float-btn-trigger .chat-with-us.pop {
        padding-inline: 15px 0;
        text-indent: 0;
        transform: scale(1);
        animation: none;
    }

    .floating-button.float-btn-trigger.toogle .chat-with-us.pop {
        padding-inline: 0 0;
        text-indent: -100px;
        transform: scale(0);
    }

}

/*[Settings]*/
/*====================================================================================================*/
.error404 #main {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

.error404 #main .ct-container {
    padding-block: var(--row-gap) !important;
}

.error404 .ct-no-results .ct-search-form {
    display: none !important;
}

.ct-container,
.ct-container-full {
    margin-inline: 0;
    padding-inline: var(--side-gap);
    width: 100%;
    max-width: none;
}

.blog #main>.ct-container,
.blog #main>.ct-container-full,
.archive #main>.ct-container,
.archive #main>.ct-container-full,
.woocommerce #main>.ct-container,
.woocommerce #main>.ct-container-full {
    padding-block: var(--row-gap);
}

.current-menu-parent>a,
.current-menu-item>a,
.current-page-ancestor>a,
.current_page_parent>a,
.current-product_cat-ancestor>a,
.current-product-ancestor>a,
.current-category-ancestor>a,
.current-post-ancestor>a {
    color: var(--theme-link-active-color, var(--theme-link-hover-color)) !important;
    font-weight: 700 !important;
}

@media only screen and (max-width:999.98px) {

    .current-menu-parent>span>a,
    .current-menu-item>span>a,
    .current-page-ancestor>span>a,
    .current_page_parent>span>a,
    .current-product_cat-ancestor>span>a,
    .current-product-ancestor>span>a,
    .current-category-ancestor>span>a,
    .current-post-ancestor>span>a {
        color: var(--theme-link-active-color, var(--theme-link-hover-color)) !important;
        font-weight: 700 !important;
    }
}

/*remove wpbakery animations for mobile*/
@media only screen and (max-width:767.98px) {
    body .wpb_animate_when_almost_visible {
        opacity: 1;
        filter: alpha(opacity=100);
        -webkit-animation: none;
        -moz-animation: none;
        -o-animation: none;
        animation: none;
    }
}

.is-width-constrained {
    width: 100% !important;
}

.page .hero-section {
    display: none !important;
}

@media only screen and (max-width: 999.98px) {
    #main [data-sidebar] {
        grid-row-gap: 0;
    }

    .iksm-widget .iksm-container {
        opacity: 0;
        height: 0;
        visibility: hidden;
        /*transition:var(--transition-effect);*/
    }

    .iksm-widget .iksm-container.display {
        opacity: 1;
        height: auto;
        visibility: visible;
    }

    .iksm-widget .widget-title {
        display: flex !important;
        justify-content: space-between;
        align-items: center;
        padding: 10px 15px;
        /*border: 1px solid var(--grey-80);*/
        margin-bottom: 0;
        transition: var(--transition-effect);
    }

    .iksm-widget .widget-title.minus {
        margin-bottom: 15px;
    }

    .iksm-widget .widget-title:after {
        content: '\f054' !important;
        font-family: var(--fa-icon);
        font-size: 15px;
        font-weight: 900;
        transition: var(--transition-effect);
    }

    .iksm-widget .widget-title.minus:after {
        font-size: 15px;
        font-weight: 900;
        transform: rotate(90deg);
    }
}

.ct-sidebar {
    margin-bottom: 35px;
}

.archive.category #main>.ct-container,
.single-post #main>.ct-container {
    padding-bottom: calc(var(--row-gap) - 35px);
}

.wpb_text_column ul,
.wpb_text_column ol {
    padding-left: 20px;
}

.wpb_text_column ol>li {
    margin-bottom: 10px;
}

.woocommerce.single-product .woocommerce-product-gallery {
    margin-bottom: 35px;
}

.woocommerce.single-product .woocommerce-product-details__short-description p:last-child {
    margin-bottom: 35px;
}

.woocommerce.single-product .woocommerce-tabs.wc-tabs-wrapper {
    padding-top: calc(var(--row-gap) - 35px) !important;
}

.woocommerce.single-product .woocommerce-Tabs-panel {
    padding-top: 0 !important;
}

.woocommerce.single-product .woocommerce-tabs>.tabs.wc-tabs {
    display: none !important;
}

.woocommerce #main>.ct-container,
.woocommerce #main>.ct-container-full {
    padding-block: var(--row-gap);
}

.woocommerce.single-product .woocommerce-Tabs-panel>.wpb-content-wrapper {
    width: 100%;
}

.hero-section {
    width: 100%;
}

.vc_tta-container {
    margin-bottom: 35px !important;
}

/*[Gaps]*/
/*====================================================================================================*/
.row-gap {
    padding-top: var(--row-gap) !important;
    padding-bottom: calc(var(--row-gap) - 35px) !important;
}

.row-gap-equal {
    padding-top: var(--row-gap) !important;
    padding-bottom: var(--row-gap) !important;
}

.row-gap-t {
    padding-top: var(--row-gap) !important;
}

.row-gap-t-cut {
    padding-top: calc(var(--row-gap) - 35px) !important;
}

.row-gap-b {
    padding-bottom: calc(var(--row-gap) - 35px) !important;
}

.row-gap-b-equal {
    padding-bottom: var(--row-gap) !important;
}

.row-gap-b-equal-margin {
    margin-bottom: var(--row-gap) !important;
}

/* 20px */
.col-gap-20 {
    margin-inline: -20px !important;
}

.vc_section[data-vc-full-width]>.col-gap-20 {
    margin-inline: -5px !important;
}

.col-gap-20>.wpb_column>.vc_column-inner {
    padding-inline: 20px !important;
}

/* 25px */
.col-gap-25 {
    margin-inline: -25px !important;
}

.vc_section[data-vc-full-width]>.col-gap-25 {
    margin-inline: -10px !important;
}

.col-gap-25>.wpb_column>.vc_column-inner {
    padding-inline: 25px !important;
}

/* 30px */
.col-gap-30 {
    margin-inline: -30px !important;
}

.vc_section[data-vc-full-width]>.col-gap-30 {
    margin-inline: -15px !important;
}

.col-gap-30>.wpb_column>.vc_column-inner {
    padding-inline: 30px !important;
}

/* 35px */
.col-gap-35 {
    margin-inline: -35px !important;
}

.vc_section[data-vc-full-width]>.col-gap-35 {
    margin-inline: -20px !important;
}

.col-gap-35>.wpb_column>.vc_column-inner {
    padding-inline: 35px !important;
}

/* 40px */
.col-gap-40 {
    margin-inline: -40px !important;
}

.vc_section[data-vc-full-width]>.col-gap-40 {
    margin-inline: -25px !important;
}

.col-gap-40>.wpb_column>.vc_column-inner {
    padding-inline: 40px !important;
}

/* 45px */
.col-gap-45 {
    margin-inline: -45px !important;
}

.vc_section[data-vc-full-width]>.col-gap-45 {
    margin-inline: -30px !important;
}

.col-gap-45>.wpb_column>.vc_column-inner {
    padding-inline: 45px !important;
}

/* 50px */
.col-gap-50 {
    margin-inline: -50px !important;
}

.vc_section[data-vc-full-width]>.col-gap-50 {
    margin-inline: -35px !important;
}

.col-gap-50>.wpb_column>.vc_column-inner {
    padding-inline: 50px !important;
}

.no-pad {
    margin-inline: 0;
}

.no-pad>.wpb_column>.vc_column-inner {
    padding-inline: 0;
}

.box-side-gap {
    padding-inline: var(--inner-side-gap) !important;
}

.box-row-gap {
    padding-block: var(--inner-row-gap) !important;
}

.box-side-gap-xl {
    padding-inline: var(--inner-large-side-gap) !important;
}

.box-side-gap-xl {
    padding-inline: var(--inner-large-row-gap) !important;
}

.pt-0 {
    padding-top: 0px !important;
}

.pt-5 {
    padding-top: 5px !important;
}

.pt-10 {
    padding-top: 10px !important;
}

.pt-15 {
    padding-top: 15px !important;
}

.pt-20 {
    padding-top: 20px !important;
}

.pt-25 {
    padding-top: 25px !important;
}

.pt-30 {
    padding-top: 30px !important;
}

.pt-35 {
    padding-top: 35px !important;
}

.pt-40 {
    padding-top: 40px !important;
}

.pt-45 {
    padding-top: 45px !important;
}

.pt-50 {
    padding-top: 50px !important;
}

.pt-55 {
    padding-top: 55px !important;
}

.pt-60 {
    padding-top: 60px !important;
}

.pt-65 {
    padding-top: 65px !important;
}

.pt-70 {
    padding-top: 70px !important;
}

.pt-75 {
    padding-top: 75px !important;
}

.pt-80 {
    padding-top: 80px !important;
}

.pt-85 {
    padding-top: 85px !important;
}

.pt-90 {
    padding-top: 90px !important;
}

.pt-95 {
    padding-top: 95px !important;
}

.pt-100 {
    padding-top: 100px !important;
}

.pb-0 {
    padding-bottom: 0px !important;
}

.pb-5 {
    padding-bottom: 5px !important;
}

.pb-10 {
    padding-bottom: 10px !important;
}

.pb-15 {
    padding-bottom: 15px !important;
}

.pb-20 {
    padding-bottom: 20px !important;
}

.pb-25 {
    padding-bottom: 25px !important;
}

.pb-30 {
    padding-bottom: 30px !important;
}

.pb-35 {
    padding-bottom: 35px !important;
}

.pb-40 {
    padding-bottom: 40px !important;
}

.pb-45 {
    padding-bottom: 45px !important;
}

.pb-50 {
    padding-bottom: 50px !important;
}

.pb-55 {
    padding-bottom: 55px !important;
}

.pb-60 {
    padding-bottom: 60px !important;
}

.pb-65 {
    padding-bottom: 65px !important;
}

.pb-70 {
    padding-bottom: 70px !important;
}

.pb-75 {
    padding-bottom: 75px !important;
}

.pb-80 {
    padding-bottom: 80px !important;
}

.pb-85 {
    padding-bottom: 85px !important;
}

.pb-90 {
    padding-bottom: 90px !important;
}

.pb-95 {
    padding-bottom: 95px !important;
}

.pb-100 {
    padding-bottom: 100px !important;
}

.pl-0 {
    padding-left: 0px !important;
}

.pl-5 {
    padding-left: 5px !important;
}

.pl-10 {
    padding-left: 10px !important;
}

.pl-15 {
    padding-left: 15px !important;
}

.pl-20 {
    padding-left: 20px !important;
}

.pl-25 {
    padding-left: 25px !important;
}

.pl-30 {
    padding-left: 30px !important;
}

.pl-35 {
    padding-left: 35px !important;
}

.pl-40 {
    padding-left: 40px !important;
}

.pl-45 {
    padding-left: 45px !important;
}

.pl-50 {
    padding-left: 50px !important;
}

.pl-55 {
    padding-left: 55px !important;
}

.pl-60 {
    padding-left: 60px !important;
}

.pl-65 {
    padding-left: 65px !important;
}

.pl-70 {
    padding-left: 70px !important;
}

.pl-75 {
    padding-left: 75px !important;
}

.pl-80 {
    padding-left: 80px !important;
}

.pl-85 {
    padding-left: 85px !important;
}

.pl-90 {
    padding-left: 90px !important;
}

.pl-95 {
    padding-left: 95px !important;
}

.pl-100 {
    padding-left: 100px !important;
}

.pr-0 {
    padding-right: 0px !important;
}

.pr-5 {
    padding-right: 5px !important;
}

.pr-10 {
    padding-right: 10px !important;
}

.pr-15 {
    padding-right: 15px !important;
}

.pr-20 {
    padding-right: 20px !important;
}

.pr-25 {
    padding-right: 25px !important;
}

.pr-30 {
    padding-right: 30px !important;
}

.pr-35 {
    padding-right: 35px !important;
}

.pr-40 {
    padding-right: 40px !important;
}

.pr-45 {
    padding-right: 45px !important;
}

.pr-50 {
    padding-right: 50px !important;
}

.pr-55 {
    padding-right: 55px !important;
}

.pr-60 {
    padding-right: 60px !important;
}

.pr-65 {
    padding-right: 65px !important;
}

.pr-70 {
    padding-right: 70px !important;
}

.pr-75 {
    padding-right: 75px !important;
}

.pr-80 {
    padding-right: 80px !important;
}

.pr-85 {
    padding-right: 85px !important;
}

.pr-90 {
    padding-right: 90px !important;
}

.pr-95 {
    padding-right: 95px !important;
}

.pr-100 {
    padding-right: 100px !important;
}

.mt-0 {
    margin-top: 0px !important;
}

.mt-5 {
    margin-top: 5px !important;
}

.mt-10 {
    margin-top: 10px !important;
}

.mt-15 {
    margin-top: 15px !important;
}

.mt-20 {
    margin-top: 20px !important;
}

.mt-25 {
    margin-top: 25px !important;
}

.mt-30 {
    margin-top: 30px !important;
}

.mt-35 {
    margin-top: 35px !important;
}

.mt-40 {
    margin-top: 40px !important;
}

.mt-45 {
    margin-top: 45px !important;
}

.mt-50 {
    margin-top: 50px !important;
}

.mt-55 {
    margin-top: 55px !important;
}

.mt-60 {
    margin-top: 60px !important;
}

.mt-65 {
    margin-top: 65px !important;
}

.mt-70 {
    margin-top: 70px !important;
}

.mt-75 {
    margin-top: 75px !important;
}

.mt-80 {
    margin-top: 80px !important;
}

.mt-85 {
    margin-top: 85px !important;
}

.mt-90 {
    margin-top: 90px !important;
}

.mt-95 {
    margin-top: 95px !important;
}

.mt-100 {
    margin-top: 100px !important;
}

.mb-0 {
    margin-bottom: 0px !important;
}

.mb-5 {
    margin-bottom: 5px !important;
}

.mb-10 {
    margin-bottom: 10px !important;
}

.mb-15 {
    margin-bottom: 15px !important;
}

.mb-20 {
    margin-bottom: 20px !important;
}

.mb-25 {
    margin-bottom: 25px !important;
}

.mb-30 {
    margin-bottom: 30px !important;
}

.mb-35 {
    margin-bottom: 35px !important;
}

.mb-40 {
    margin-bottom: 40px !important;
}

.mb-45 {
    margin-bottom: 45px !important;
}

.mb-50 {
    margin-bottom: 50px !important;
}

.mb-55 {
    margin-bottom: 55px !important;
}

.mb-60 {
    margin-bottom: 60px !important;
}

.mb-65 {
    margin-bottom: 65px !important;
}

.mb-70 {
    margin-bottom: 70px !important;
}

.mb-75 {
    margin-bottom: 75px !important;
}

.mb-80 {
    margin-bottom: 80px !important;
}

.mb-85 {
    margin-bottom: 85px !important;
}

.mb-90 {
    margin-bottom: 90px !important;
}

.mb-95 {
    margin-bottom: 95px !important;
}

.mb-100 {
    margin-bottom: 100px !important;
}

.ml-0 {
    margin-left: 0px !important;
}

.ml-5 {
    margin-left: 5px !important;
}

.ml-10 {
    margin-left: 10px !important;
}

.ml-15 {
    margin-left: 15px !important;
}

.ml-20 {
    margin-left: 20px !important;
}

.ml-25 {
    margin-left: 25px !important;
}

.ml-30 {
    margin-left: 30px !important;
}

.ml-35 {
    margin-left: 35px !important;
}

.ml-40 {
    margin-left: 40px !important;
}

.ml-45 {
    margin-left: 45px !important;
}

.ml-50 {
    margin-left: 50px !important;
}

.ml-55 {
    margin-left: 55px !important;
}

.ml-60 {
    margin-left: 60px !important;
}

.ml-65 {
    margin-left: 65px !important;
}

.ml-70 {
    margin-left: 70px !important;
}

.ml-75 {
    margin-left: 75px !important;
}

.ml-80 {
    margin-left: 80px !important;
}

.ml-85 {
    margin-left: 85px !important;
}

.ml-90 {
    margin-left: 90px !important;
}

.ml-95 {
    margin-left: 95px !important;
}

.ml-100 {
    margin-left: 100px !important;
}

.mr-0 {
    margin-right: 0px !important;
}

.mr-5 {
    margin-right: 5px !important;
}

.mr-10 {
    margin-right: 10px !important;
}

.mr-15 {
    margin-right: 15px !important;
}

.mr-20 {
    margin-right: 20px !important;
}

.mr-25 {
    margin-right: 25px !important;
}

.mr-30 {
    margin-right: 30px !important;
}

.mr-35 {
    margin-right: 35px !important;
}

.mr-40 {
    margin-right: 40px !important;
}

.mr-45 {
    margin-right: 45px !important;
}

.mr-50 {
    margin-right: 50px !important;
}

.mr-55 {
    margin-right: 55px !important;
}

.mr-60 {
    margin-right: 60px !important;
}

.mr-65 {
    margin-right: 65px !important;
}

.mr-70 {
    margin-right: 70px !important;
}

.mr-75 {
    margin-right: 75px !important;
}

.mr-80 {
    margin-right: 80px !important;
}

.mr-85 {
    margin-right: 85px !important;
}

.mr-90 {
    margin-right: 90px !important;
}

.mr-95 {
    margin-right: 95px !important;
}

.mr-100 {
    margin-right: 100px !important;
}

@media only screen and (max-width:767.98px) {
    .m-pt-0 {
        padding-top: 0px !important;
    }

    .m-pt-5 {
        padding-top: 5px !important;
    }

    .m-pt-10 {
        padding-top: 10px !important;
    }

    .m-pt-15 {
        padding-top: 15px !important;
    }

    .m-pt-20 {
        padding-top: 20px !important;
    }

    .m-pt-25 {
        padding-top: 25px !important;
    }

    .m-pt-30 {
        padding-top: 30px !important;
    }

    .m-pt-35 {
        padding-top: 35px !important;
    }

    .m-pt-40 {
        padding-top: 40px !important;
    }

    .m-pt-45 {
        padding-top: 45px !important;
    }

    .m-pt-50 {
        padding-top: 50px !important;
    }

    .m-pt-55 {
        padding-top: 55px !important;
    }

    .m-pt-60 {
        padding-top: 60px !important;
    }

    .m-pt-65 {
        padding-top: 65px !important;
    }

    .m-pt-70 {
        padding-top: 70px !important;
    }

    .m-pt-75 {
        padding-top: 75px !important;
    }

    .m-pt-80 {
        padding-top: 80px !important;
    }

    .m-pt-85 {
        padding-top: 85px !important;
    }

    .m-pt-90 {
        padding-top: 90px !important;
    }

    .m-pt-95 {
        padding-top: 95px !important;
    }

    .m-pt-100 {
        padding-top: 100px !important;
    }

    .m-pb-0 {
        padding-bottom: 0px !important;
    }

    .m-pb-5 {
        padding-bottom: 5px !important;
    }

    .m-pb-10 {
        padding-bottom: 10px !important;
    }

    .m-pb-15 {
        padding-bottom: 15px !important;
    }

    .m-pb-20 {
        padding-bottom: 20px !important;
    }

    .m-pb-25 {
        padding-bottom: 25px !important;
    }

    .m-pb-30 {
        padding-bottom: 30px !important;
    }

    .m-pb-35 {
        padding-bottom: 35px !important;
    }

    .m-pb-40 {
        padding-bottom: 40px !important;
    }

    .m-pb-45 {
        padding-bottom: 45px !important;
    }

    .m-pb-50 {
        padding-bottom: 50px !important;
    }

    .m-pb-55 {
        padding-bottom: 55px !important;
    }

    .m-pb-60 {
        padding-bottom: 60px !important;
    }

    .m-pb-65 {
        padding-bottom: 65px !important;
    }

    .m-pb-70 {
        padding-bottom: 70px !important;
    }

    .m-pb-75 {
        padding-bottom: 75px !important;
    }

    .m-pb-80 {
        padding-bottom: 80px !important;
    }

    .m-pb-85 {
        padding-bottom: 85px !important;
    }

    .m-pb-90 {
        padding-bottom: 90px !important;
    }

    .m-pb-95 {
        padding-bottom: 95px !important;
    }

    .m-pb-100 {
        padding-bottom: 100px !important;
    }

    .m-pl-0 {
        padding-left: 0px !important;
    }

    .m-pl-5 {
        padding-left: 5px !important;
    }

    .m-pl-10 {
        padding-left: 10px !important;
    }

    .m-pl-15 {
        padding-left: 15px !important;
    }

    .m-pl-20 {
        padding-left: 20px !important;
    }

    .m-pl-25 {
        padding-left: 25px !important;
    }

    .m-pl-30 {
        padding-left: 30px !important;
    }

    .m-pl-35 {
        padding-left: 35px !important;
    }

    .m-pl-40 {
        padding-left: 40px !important;
    }

    .m-pl-45 {
        padding-left: 45px !important;
    }

    .m-pl-50 {
        padding-left: 50px !important;
    }

    .m-pl-55 {
        padding-left: 55px !important;
    }

    .m-pl-60 {
        padding-left: 60px !important;
    }

    .m-pl-65 {
        padding-left: 65px !important;
    }

    .m-pl-70 {
        padding-left: 70px !important;
    }

    .m-pl-75 {
        padding-left: 75px !important;
    }

    .m-pl-80 {
        padding-left: 80px !important;
    }

    .m-pl-85 {
        padding-left: 85px !important;
    }

    .m-pl-90 {
        padding-left: 90px !important;
    }

    .m-pl-95 {
        padding-left: 95px !important;
    }

    .m-pl-100 {
        padding-left: 100px !important;
    }

    .m-pr-0 {
        padding-right: 0px !important;
    }

    .m-pr-5 {
        padding-right: 5px !important;
    }

    .m-pr-10 {
        padding-right: 10px !important;
    }

    .m-pr-15 {
        padding-right: 15px !important;
    }

    .m-pr-20 {
        padding-right: 20px !important;
    }

    .m-pr-25 {
        padding-right: 25px !important;
    }

    .m-pr-30 {
        padding-right: 30px !important;
    }

    .m-pr-35 {
        padding-right: 35px !important;
    }

    .m-pr-40 {
        padding-right: 40px !important;
    }

    .m-pr-45 {
        padding-right: 45px !important;
    }

    .m-pr-50 {
        padding-right: 50px !important;
    }

    .m-pr-55 {
        padding-right: 55px !important;
    }

    .m-pr-60 {
        padding-right: 60px !important;
    }

    .m-pr-65 {
        padding-right: 65px !important;
    }

    .m-pr-70 {
        padding-right: 70px !important;
    }

    .m-pr-75 {
        padding-right: 75px !important;
    }

    .m-pr-80 {
        padding-right: 80px !important;
    }

    .m-pr-85 {
        padding-right: 85px !important;
    }

    .m-pr-90 {
        padding-right: 90px !important;
    }

    .m-pr-95 {
        padding-right: 95px !important;
    }

    .m-pr-100 {
        padding-right: 100px !important;
    }

    .m-mt-0 {
        margin-top: 0px !important;
    }

    .m-mt-5 {
        margin-top: 5px !important;
    }

    .m-mt-10 {
        margin-top: 10px !important;
    }

    .m-mt-15 {
        margin-top: 15px !important;
    }

    .m-mt-20 {
        margin-top: 20px !important;
    }

    .m-mt-25 {
        margin-top: 25px !important;
    }

    .m-mt-30 {
        margin-top: 30px !important;
    }

    .m-mt-35 {
        margin-top: 35px !important;
    }

    .m-mt-40 {
        margin-top: 40px !important;
    }

    .m-mt-45 {
        margin-top: 45px !important;
    }

    .m-mt-50 {
        margin-top: 50px !important;
    }

    .m-mt-55 {
        margin-top: 55px !important;
    }

    .m-mt-60 {
        margin-top: 60px !important;
    }

    .m-mt-65 {
        margin-top: 65px !important;
    }

    .m-mt-70 {
        margin-top: 70px !important;
    }

    .m-mt-75 {
        margin-top: 75px !important;
    }

    .m-mt-80 {
        margin-top: 80px !important;
    }

    .m-mt-85 {
        margin-top: 85px !important;
    }

    .m-mt-90 {
        margin-top: 90px !important;
    }

    .m-mt-95 {
        margin-top: 95px !important;
    }

    .m-mt-100 {
        margin-top: 100px !important;
    }

    .m-mb-0 {
        margin-bottom: 0px !important;
    }

    .m-mb-5 {
        margin-bottom: 5px !important;
    }

    .m-mb-10 {
        margin-bottom: 10px !important;
    }

    .m-mb-15 {
        margin-bottom: 15px !important;
    }

    .m-mb-20 {
        margin-bottom: 20px !important;
    }

    .m-mb-25 {
        margin-bottom: 25px !important;
    }

    .m-mb-30 {
        margin-bottom: 30px !important;
    }

    .m-mb-35 {
        margin-bottom: 35px !important;
    }

    .m-mb-40 {
        margin-bottom: 40px !important;
    }

    .m-mb-45 {
        margin-bottom: 45px !important;
    }

    .m-mb-50 {
        margin-bottom: 50px !important;
    }

    .m-mb-55 {
        margin-bottom: 55px !important;
    }

    .m-mb-60 {
        margin-bottom: 60px !important;
    }

    .m-mb-65 {
        margin-bottom: 65px !important;
    }

    .m-mb-70 {
        margin-bottom: 70px !important;
    }

    .m-mb-75 {
        margin-bottom: 75px !important;
    }

    .m-mb-80 {
        margin-bottom: 80px !important;
    }

    .m-mb-85 {
        margin-bottom: 85px !important;
    }

    .m-mb-90 {
        margin-bottom: 90px !important;
    }

    .m-mb-95 {
        margin-bottom: 95px !important;
    }

    .m-mb-100 {
        margin-bottom: 100px !important;
    }

    .m-ml-0 {
        margin-left: 0px !important;
    }

    .m-ml-5 {
        margin-left: 5px !important;
    }

    .m-ml-10 {
        margin-left: 10px !important;
    }

    .m-ml-15 {
        margin-left: 15px !important;
    }

    .m-ml-20 {
        margin-left: 20px !important;
    }

    .m-ml-25 {
        margin-left: 25px !important;
    }

    .m-ml-30 {
        margin-left: 30px !important;
    }

    .m-ml-35 {
        margin-left: 35px !important;
    }

    .m-ml-40 {
        margin-left: 40px !important;
    }

    .m-ml-45 {
        margin-left: 45px !important;
    }

    .m-ml-50 {
        margin-left: 50px !important;
    }

    .m-ml-55 {
        margin-left: 55px !important;
    }

    .m-ml-60 {
        margin-left: 60px !important;
    }

    .m-ml-65 {
        margin-left: 65px !important;
    }

    .m-ml-70 {
        margin-left: 70px !important;
    }

    .m-ml-75 {
        margin-left: 75px !important;
    }

    .m-ml-80 {
        margin-left: 80px !important;
    }

    .m-ml-85 {
        margin-left: 85px !important;
    }

    .m-ml-90 {
        margin-left: 90px !important;
    }

    .m-ml-95 {
        margin-left: 95px !important;
    }

    .m-ml-100 {
        margin-left: 100px !important;
    }

    .m-mr-0 {
        margin-right: 0px !important;
    }

    .m-mr-5 {
        margin-right: 5px !important;
    }

    .m-mr-10 {
        margin-right: 10px !important;
    }

    .m-mr-15 {
        margin-right: 15px !important;
    }

    .m-mr-20 {
        margin-right: 20px !important;
    }

    .m-mr-25 {
        margin-right: 25px !important;
    }

    .m-mr-30 {
        margin-right: 30px !important;
    }

    .m-mr-35 {
        margin-right: 35px !important;
    }

    .m-mr-40 {
        margin-right: 40px !important;
    }

    .m-mr-45 {
        margin-right: 45px !important;
    }

    .m-mr-50 {
        margin-right: 50px !important;
    }

    .m-mr-55 {
        margin-right: 55px !important;
    }

    .m-mr-60 {
        margin-right: 60px !important;
    }

    .m-mr-65 {
        margin-right: 65px !important;
    }

    .m-mr-70 {
        margin-right: 70px !important;
    }

    .m-mr-75 {
        margin-right: 75px !important;
    }

    .m-mr-80 {
        margin-right: 80px !important;
    }

    .m-mr-85 {
        margin-right: 85px !important;
    }

    .m-mr-90 {
        margin-right: 90px !important;
    }

    .m-mr-95 {
        margin-right: 95px !important;
    }

    .m-mr-100 {
        margin-right: 100px !important;
    }
}

/*[Contact_Form]*/
/*====================================================================================================*/
.form {
    display: grid;
    grid-template-columns: 1fr 1fr;
    column-gap: 20px;
    row-gap: 20px;
    margin-bottom: 20px;
}

.form.form2 {
    grid-template-columns: repeat(6, 1fr);
}

.form.form2>*:nth-child(1),
.form.form2>*:nth-child(2),
.form.form2>*:nth-child(3) {
    grid-column: span 2;
}


.form.form2>*:nth-child(4),
.form.form2>*:nth-child(5) {
    grid-column: span 3;
}

.form.form2 #msg,
.form.form2 #recaptcha,
.form.form2 #acceptance {
    grid-column: 1/7;
}


.form label {
    color: #fff;
    font-size: var(--font-size-t) !important;
    letter-spacing: -0.15px;
    font-weight: 400 !important;
}

.form #msg,
.form #recaptcha,
.form #acceptance {
    grid-column: 1/3;
}

.form option {
    color: #fff !important;
}

@media only screen and (max-width:767.98px) {
    .form {
        grid-template-columns: 1fr !important;
    }

    .form #msg,
    .form #recaptcha,
    .form #acceptance {
        grid-column: 1/2 !important;
    }

    .form.form2>* {
        grid-column: 1/2 !important;
    }
}

.form input,
.form textarea,
.form select,
.form input:focus,
.form textarea:focus,
.form select:focus {
    border-radius: 10px;
    border: 1px solid #3C3C3C !important;
    color: #fff;
    background-color: #3C3C3C;
    text-transform: none;
}

.form.form3 input,
.form.form3 textarea,
.form.form3 select,
.form.form3 input:focus,
.form.form3 textarea:focus,
.form.form3 select:focus {
    background-color: var(--black-color);
    border: none !important;
    border-bottom: 1px solid var(--white-color) !important;
    border-radius: 0 !important;
    padding-inline: 0 !important;
}

::-webkit-input-placeholder {
    color: #F1F1F1;
    font-size: 16px;
    font-weight: 400;
    opacity: 0.8;
}

.form .enquiry::placeholder {
    color: #F1F1F1;
    font-size: 16px;
    font-weight: 400;
    opacity: 0.8;
}

#send {
    position: relative;
    width: fit-content;
    display: flex;
}

#send .wpcf7-spinner {
    position: absolute;
    right: -65px;
    top: 5px;
}

.form2 #name label:before {
    content: '';
    display: inline-block;
    position: relative;
    width: 19px;
    height: 19px;
    margin-right: 10px;
    background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16" fill="none"><path d="M12.6663 14V12.6667C12.6663 11.9594 12.3854 11.2811 11.8853 10.781C11.3852 10.281 10.7069 10 9.99967 10H5.99967C5.29243 10 4.61415 10.281 4.11406 10.781C3.61396 11.2811 3.33301 11.9594 3.33301 12.6667V14" stroke="%23D71921" stroke-width="1.33333" stroke-linecap="round" stroke-linejoin="round"/><path d="M7.99967 7.33333C9.47243 7.33333 10.6663 6.13943 10.6663 4.66667C10.6663 3.19391 9.47243 2 7.99967 2C6.52692 2 5.33301 3.19391 5.33301 4.66667C5.33301 6.13943 6.52692 7.33333 7.99967 7.33333Z" stroke="%23D71921" stroke-width="1.33333" stroke-linecap="round" stroke-linejoin="round"/></svg>');
    background-size: contain;
    vertical-align: middle;
    background-repeat: no-repeat;
}

.form2 #email label:before {
    content: '';
    display: inline-block;
    position: relative;
    width: 19px;
    height: 19px;
    margin-right: 10px;
    background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16" fill="none"><path d="M13.333 2.6665H2.66634C1.92996 2.6665 1.33301 3.26346 1.33301 3.99984V11.9998C1.33301 12.7362 1.92996 13.3332 2.66634 13.3332H13.333C14.0694 13.3332 14.6663 12.7362 14.6663 11.9998V3.99984C14.6663 3.26346 14.0694 2.6665 13.333 2.6665Z" stroke="%23D71921" stroke-width="1.33333" stroke-linecap="round" stroke-linejoin="round"/><path d="M14.6663 4.6665L8.68634 8.4665C8.48052 8.59545 8.24255 8.66384 7.99967 8.66384C7.7568 8.66384 7.51883 8.59545 7.31301 8.4665L1.33301 4.6665" stroke="%23D71921" stroke-width="1.33333" stroke-linecap="round" stroke-linejoin="round"/></svg>');
    background-size: contain;
    vertical-align: middle;
    background-repeat: no-repeat;
}

.form2 #phone label:before {
    content: '';
    display: inline-block;
    position: relative;
    width: 19px;
    height: 19px;
    margin-right: 10px;
    background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16" fill="none"><g clip-path="url(%23clip0_189_4123)"><path d="M14.6669 11.2802V13.2802C14.6677 13.4659 14.6297 13.6497 14.5553 13.8198C14.4809 13.9899 14.3718 14.1426 14.235 14.2681C14.0982 14.3937 13.9367 14.4892 13.7608 14.5487C13.5849 14.6082 13.3985 14.6303 13.2136 14.6136C11.1622 14.3907 9.19161 13.6897 7.46028 12.5669C5.8495 11.5433 4.48384 10.1777 3.46028 8.56689C2.3336 6.8277 1.63244 4.84756 1.41361 2.78689C1.39695 2.60254 1.41886 2.41673 1.47795 2.24131C1.53703 2.06589 1.63199 1.90469 1.75679 1.76797C1.88159 1.63126 2.03348 1.52203 2.20281 1.44724C2.37213 1.37245 2.55517 1.33374 2.74028 1.33356H4.74028C5.06382 1.33038 5.37748 1.44495 5.62279 1.65592C5.8681 1.86689 6.02833 2.15986 6.07361 2.48023C6.15803 3.12027 6.31458 3.74871 6.54028 4.35356C6.62998 4.59218 6.64939 4.8515 6.59622 5.10081C6.54305 5.35012 6.41952 5.57897 6.24028 5.76023L5.39361 6.60689C6.34265 8.27592 7.72458 9.65786 9.39361 10.6069L10.2403 9.76023C10.4215 9.58099 10.6504 9.45746 10.8997 9.40429C11.149 9.35112 11.4083 9.37053 11.6469 9.46023C12.2518 9.68593 12.8802 9.84248 13.5203 9.92689C13.8441 9.97258 14.1399 10.1357 14.3513 10.3852C14.5627 10.6348 14.6751 10.9533 14.6669 11.2802Z" stroke="%23D71921" stroke-width="1.33333" stroke-linecap="round" stroke-linejoin="round"/></g><defs><clipPath id="clip0_189_4123"><rect width="16" height="16" fill="white"/></clipPath></defs></svg>');
    background-size: contain;
    vertical-align: middle;
    background-repeat: no-repeat;
}

.form2 #program label:before {
    content: '';
    display: inline-block;
    position: relative;
    width: 19px;
    height: 19px;
    margin-right: 10px;
    background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16" fill="none"><path d="M14.2799 7.28125C14.3992 7.2286 14.5005 7.14209 14.5712 7.03245C14.6418 6.92281 14.6788 6.79484 14.6774 6.6644C14.6761 6.53397 14.6365 6.40679 14.5636 6.29864C14.4907 6.19048 14.3876 6.10608 14.2672 6.05591L8.5532 3.45325C8.37949 3.37401 8.19079 3.33301 7.99987 3.33301C7.80894 3.33301 7.62024 3.37401 7.44653 3.45325L1.7332 6.05325C1.61451 6.10523 1.51354 6.19067 1.44264 6.29912C1.37174 6.40758 1.33398 6.53434 1.33398 6.66391C1.33398 6.79349 1.37174 6.92025 1.44264 7.0287C1.51354 7.13716 1.61451 7.2226 1.7332 7.27458L7.44653 9.87991C7.62024 9.95915 7.80894 10.0002 7.99987 10.0002C8.19079 10.0002 8.37949 9.95915 8.5532 9.87991L14.2799 7.28125Z" stroke="%23D71921" stroke-width="1.33333" stroke-linecap="round" stroke-linejoin="round"/><path d="M14.667 6.6665V10.6665" stroke="%23D71921" stroke-width="1.33333" stroke-linecap="round" stroke-linejoin="round"/><path d="M4 8.3335V10.6668C4 11.1973 4.42143 11.706 5.17157 12.081C5.92172 12.4561 6.93913 12.6668 8 12.6668C9.06087 12.6668 10.0783 12.4561 10.8284 12.081C11.5786 11.706 12 11.1973 12 10.6668V8.3335" stroke="%23D71921" stroke-width="1.33333" stroke-linecap="round" stroke-linejoin="round"/></svg>');
    background-size: contain;
    vertical-align: middle;
    background-repeat: no-repeat;
}


/*[Map_Presets]*/
.map-frame {
    margin-bottom: 0 !important;
    padding: 0 !important;
}

.map-frame .wpb_gmaps_widget {
    margin-bottom: 0;
}

.map-frame .wpb_gmaps_widget>.wpb_wrapper {
    padding: 0 !important;
}

.map-frame iframe {
    max-height: var(--map-height);
    width: 100%;
}

.map-frame .wpb_wrapper {
    background-color: transparent;
    display: flex;
}

/*[Text_Presets]*/
/*====================================================================================================*/

body,
p,
em,
ol,
ul,
li,
tr,
th,
td,
dl,
ins,
sub,
sup,
big,
cite,
form,
small,
label,
table,
figure,
button,
legend,
strike,
address,
caption,
fieldset,
blockquote {
    line-height: 1.5;
    --theme-line-height: 1.5;
}

h1,
h2,
h3,
h4,
h5,
h6 {
    line-height: 1.3;
    --theme-line-height: 1.3;
}

.text-graphik {
    font-family: var(--theme-font-family) !important;
}

span.add {
    display: inline-block;
    padding-right: 0.35em;
}

span.add:last-child {
    padding-right: 0;
}

.text-left {
    text-align: left !important;
}

.text-right {
    text-align: right !important;
}

.text-center {
    text-align: center !important;
}

.text-just {
    text-align: justify !important;
}

.fs-1 {
    font-size: var(--font-size-1);
}

.fs-2 {
    font-size: var(--font-size-2);
}

.fs-3 {
    font-size: var(--font-size-3);
}

.fs-4 {
    font-size: var(--font-size-4);
}

.fs-5 {
    font-size: var(--font-size-5);
}

.fs-6 {
    font-size: var(--font-size-6);
}

.fs-7 {
    font-size: var(--font-size-7);
}

.fs-t {
    font-size: var(--font-size-t);
}

.fs-s {
    font-size: var(--font-size-s);
}

@media only screen and (max-width:999.98px) {
    .t-text-left {
        text-align: left !important;
    }

    .t-text-right {
        text-align: right !important;
    }

    .t-text-center {
        text-align: center !important;
    }

    .t-text-just {
        text-align: justify !important;
    }
}

@media only screen and (max-width:767.98px) {
    .m-text-left {
        text-align: left !important;
    }

    .m-text-right {
        text-align: right !important;
    }

    .m-text-center {
        text-align: center !important;
    }

    .m-text-just {
        text-align: justify !important;
    }
}

.text-white {
    color: var(--white-color) !important;
}

.text-black {
    color: var(--black-color) !important;
}

.text-theme {
    color: var(--theme-color) !important;
}

.text-90 {
    color: #909090 !important;
}

.upper {
    text-transform: uppercase !important;
}

.lower {
    text-transform: lowercase !important;
}

.cap {
    text-transform: capitalize !important;
}

.main-title {
    font-size: var(--font-size-1);
    color: var(--white-color);
    font-weight: 700;
    font-family: var(--theme-title-font-family);
    font-style: italic;
    text-wrap-style: balance;
    line-height: 1;
    margin-bottom: 35px;
}

.main-title.wrap {
    text-wrap-style: auto;
}

.main-title.rest {
    font-size: var(--font-size-2);
}

@media only screen and (max-width: 767.98px) {
    .main-title br {
        display: none;
    }
}

.mini-title {
    font-size: var(--font-size-t);
    color: var(--theme-color);
    font-weight: 700;
    text-transform: uppercase;
}

.subtitle {
    font-size: var(--font-size-3);
    color: var(--black-color);
}

.fw-100 {
    font-weight: 100 !important;
}

.fw-200 {
    font-weight: 200 !important;
}

.fw-300,
.strong-300 strong {
    opacity: 0.8 !important;
    font-weight: 400 !important;
}

.fw-400,
.fw-400 strong,
.strong-400 strong {
    font-weight: 400 !important;
}

.fw-500,
.fw-500 strong,
.strong-500 strong {
    font-weight: 500 !important;
}

.fw-600,
.fw-600 strong,
.strong-600 strong {
    font-weight: 600 !important;
}

.fw-700,
.fw-700 strong,
.strong-700 strong {
    font-weight: 700 !important;
}

.fw-800,
.fw-800 strong,
.strong-800 strong {
    font-weight: 800 !important;
}

.fw-900,
.fw-900 strong,
.strong-900 strong {
    font-weight: 900 !important;
}

.no-br br {
    display: none !important;
}

@media only screen and (max-width:767.98px) {
    .m-no-br br {
        display: none !important;
    }
}

/*[Button_Presets]*/
/*====================================================================================================*/
.all-btn {
    margin-bottom: 35px;
}

.all-btn .vc_general.vc_btn3 {
    padding: 15px 25px;
    background-image: none;
    position: relative;
    transition: var(--transition-effect);
    font-weight: 400;
    font-size: var(--font-size-s);
}

.white-btn .vc_general.vc_btn3,
.awards-template-default .entry-button,
.post-template-default .entry-button,
.category .entry-button,
.blog .entry-button {
    background-color: transparent !important;
    padding: 0 !important;
    color: var(--white-color) !important;
    font-size: var(--font-size-7) !important;
    border-radius: 0 !important;
    border: 0 !important;
}

.white-btn .vc_general.vc_btn3:after,
.awards-template-default .entry-button:after,
.post-template-default .entry-button:after,
.category .entry-button:after,
.blog .entry-button:after {
    content: '';
    display: inline-block;
    position: relative;
    background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2212%22%20height%3D%2212%22%20viewBox%3D%220%200%2012%2012%22%20fill%3D%22none%22%3E%3Cpath%20d%3D%22M10.1671%200C10.8639%203.68107e-06%2011.4374%200.561999%2011.4376%201.26855V10.0332C11.4376%2010.501%2011.0587%2010.8807%2010.5909%2010.8809C10.123%2010.8808%209.74324%2010.5011%209.74324%2010.0332V2.89258L1.44636%2011.1895C1.1155%2011.5203%200.578974%2011.5203%200.248121%2011.1895C-0.0827068%2010.8586%20-0.0827073%2010.3221%200.248121%209.99121L8.545%201.69434H1.40437C0.936643%201.6943%200.557932%201.31534%200.557691%200.847656C0.557691%200.379771%200.936495%203.66753e-05%201.40437%200H10.1671Z%22%20fill%3D%22white%22%2F%3E%3C%2Fsvg%3E");
    width: 12px;
    height: 12px;
    transition: var(--transition-effect) !important;
    margin-left: 0.35em;
}

.gray-btn .vc_general.vc_btn3 {
    background-color: transparent !important;
    padding: 0 !important;
    color: #6B6B6B !important;
    font-size: var(--font-size-7) !important;
    border-radius: 0 !important;
    border: 0 !important;
}

.gray-btn .vc_general.vc_btn3:after {
    content: '';
    display: inline-block;
    position: relative;
    background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2212%22%20height%3D%2212%22%20viewBox%3D%220%200%2012%2012%22%20fill%3D%22none%22%3E%3Cpath%20d%3D%22M10.1671%200C10.8639%203.68107e-06%2011.4374%200.561999%2011.4376%201.26855V10.0332C11.4376%2010.501%2011.0587%2010.8807%2010.5909%2010.8809C10.123%2010.8808%209.74324%2010.5011%209.74324%2010.0332V2.89258L1.44636%2011.1895C1.1155%2011.5203%200.578974%2011.5203%200.248121%2011.1895C-0.0827068%2010.8586%20-0.0827073%2010.3221%200.248121%209.99121L8.545%201.69434H1.40437C0.936643%201.6943%200.557932%201.31534%200.557691%200.847656C0.557691%200.379771%200.936495%203.66753e-05%201.40437%200H10.1671Z%22%20fill%3D%22%236B6B6B%22%2F%3E%3C%2Fsvg%3E");
    width: 12px;
    height: 12px;
    transition: var(--transition-effect) !important;
    margin-left: 0.35em;
}

.white-btn .vc_general.vc_btn3:hover,
.gray-btn .vc_general.vc_btn3:hover,
.awards-template-default .entry-button:hover,
.post-template-default .entry-button:hover,
.category .entry-button:hover,
.blog .entry-button:hover {
    color: var(--theme-color) !important;
    transform: translateY(-3px);
}

.white-btn .vc_general.vc_btn3:hover:after,
.gray-btn .vc_general.vc_btn3:hover:after,
.awards-template-default .entry-button:hover:after,
.post-template-default .entry-button:hover:after,
.category .entry-button:hover:after,
.blog .entry-button:hover:after {
    background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2212%22%20height%3D%2212%22%20viewBox%3D%220%200%2012%2012%22%20fill%3D%22none%22%3E%3Cpath%20d%3D%22M10.1671%200C10.8639%203.68107e-06%2011.4374%200.561999%2011.4376%201.26855V10.0332C11.4376%2010.501%2011.0587%2010.8807%2010.5909%2010.8809C10.123%2010.8808%209.74324%2010.5011%209.74324%2010.0332V2.89258L1.44636%2011.1895C1.1155%2011.5203%200.578974%2011.5203%200.248121%2011.1895C-0.0827068%2010.8586%20-0.0827073%2010.3221%200.248121%209.99121L8.545%201.69434H1.40437C0.936643%201.6943%200.557932%201.31534%200.557691%200.847656C0.557691%200.379771%200.936495%203.66753e-05%201.40437%200H10.1671Z%22%20fill%3D%22%23D71921%22%2F%3E%3C%2Fsvg%3E");
}

.cta-btn .vc_general.vc_btn3 {
    color: var(--white-color) !important;
    background-color: var(--theme-color) !important;
    border: 1px solid var(--theme-color) !important;
    border-radius: 10px !important;
}

.cta-btn .vc_general.vc_btn3:hover {
    background-color: var(--white-color) !important;
    color: var(--theme-color) !important;
    border: 1px solid var(--white-color) !important;
}

.cta-btn .vc_general.vc_btn3:after {
    content: '\f054';
    font-family: var(--fa-icon);
    font-weight: 900;
    display: inline-block;
    position: relative;
    margin-left: 5px;
    font-size: 50%;
    vertical-align: middle;
    line-height: 2;
}

.cta3-btn .vc_general.vc_btn3 {
    color: var(--white-color) !important;
    background-color: transparent !important;
    border: 1px solid var(--white-color) !important;
    border-radius: 10px !important;
    padding: 5px 35px;
}

.cta3-btn .vc_general.vc_btn3:hover {
    background-color: var(--theme-color) !important;
    color: var(--white-color) !important;
    border: 1px solid var(--theme-color) !important;
}


/*[Slick_Slider_Presets]*/
/*====================================================================================================*/
.slick-dots {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: center;
    align-items: center;
    column-gap: 10px;
    color: #D9D9D9;
    padding: 0;
}

.slick-dots button {
    font-size: 0 !important;
}

.slick-dots li {
    list-style-type: none;
    position: relative;
}

.slick-dots li {
    font-size: 0;
    height: 8px;
    width: 8px;
    background-color: #D9D9D9;
    border-radius: 50%;
}

.slick-dots li:hover,
.slick-dots .slick-active {
    background-color: var(--theme-color);
}

.slick-arrow {
    font-size: 0;
    background-color: transparent !important;
    cursor: pointer;
    position: absolute;
    z-index: 9;
}

.slick-next {
    top: 0;
    right: 0;
}

.slick-prev {
    top: 0;
    left: 0;
}

.slick-arrow:before {
    font-size: 20px;
    font-family: var(--fa-icon);
    aspect-ratio: 1 / 1;
    display: flex;
    justify-content: center;
    align-items: center;
    color: #ffffff;
    transition: var(--transition-effect);
    font-weight: 900;
    z-index: 9;
    padding: 10px 15px;
    font-size: var(--font-size-7);
}

.slick-arrow:hover:before {
    color: var(--theme-color);
}

.slick-next:before {
    content: '\f054';
}

.slick-prev:before {
    content: '\f053';
}

/*[Image_Presets]*/
/*====================================================================================================*/
.full-w-img,
.full-w-img .vc_figure,
.full-w-img .vc_single_image-wrapper,
.full-w-img img {
    width: 100%;
}

.full-h-img,
.full-h-img .vc_figure,
.full-h-img .vc_single_image-wrapper,
.full-h-img img {
    height: 100%;
}

.full-w-img.full-h-img img {
    object-fit: cover;
}

.absolute-img,
.absolute-img-t {
    margin-bottom: 0;
    padding-bottom: 35px;
}

.vc_row>.wpb_column>.vc_column-inner>.wpb_wrapper:has(.absolute-img),
.vc_row>.wpb_column>.vc_column-inner>.wpb_wrapper:has(.absolute-img-t) {
    position: relative;
}

@media only screen and (min-width:768px) {
    .absolute-img {
        position: absolute;
        left: 0;
        top: 0;
    }

    .vc_row>.wpb_column>.vc_column-inner>.wpb_wrapper:has(.absolute-img) {
        height: 100%;
    }
}

@media only screen and (min-width:1000px) {
    .absolute-img-t {
        position: absolute;
        left: 0;
        top: 0;
    }

    .vc_row>.wpb_column>.vc_column-inner>.wpb_wrapper:has(.absolute-img-t) {
        height: 100%;
    }
}

@supports not (-webkit-touch-callout: none) {
    .bg-para {
        background-attachment: fixed;
        background-repeat: no-repeat;
        background-size: cover !important;
    }
}

.zoom-effect>.vc_figure {
    overflow: hidden !important;
}

.zoom-effect>.vc_figure img {
    transition: var(--transition-effect);
}

.zoom-effect>.vc_figure:hover img {
    transform: scale(1.1);
}

.border-radius {
    border-radius: var(--border-radius);
    overflow: hidden !important;
}

.border-radius-tl {
    border-top-left-radius: var(--border-radius);
    overflow: hidden !important;
}

.border-radius-tr {
    border-top-right-radius: var(--border-radius);
    overflow: hidden !important;
}

.border-radius-bl {
    border-bottom-left-radius: var(--border-radius);
    overflow: hidden !important;
}

.border-radius-br {
    border-bottom-right-radius: var(--border-radius);
    overflow: hidden !important;
}

/*[Formats]*/
/*====================================================================================================*/
#main {
    counter-reset: counter;
}

.number-counter {
    counter-increment: counter;
}

.number-counter::before {
    content: counter(counter, decimal-leading-zero) ". ";
}

/*[Animation_Presets]*/
/*====================================================================================================*/
.delay-1 {
    animation-delay: 0.2s;
}

.delay-2 {
    animation-delay: 0.4s;
}

.delay-3 {
    animation-delay: 0.6s;
}

.delay-4 {
    animation-delay: 0.8s;
}

.delay-5 {
    animation-delay: 1s;
}

.delay-6 {
    animation-delay: 1.2s;
}

.delay-7 {
    animation-delay: 1.4s;
}

.delay-8 {
    animation-delay: 1.6s;
}

.delay-9 {
    animation-delay: 1.85s;
}

.delay-10 {
    animation-delay: 2s;
}

.delay-11 {
    animation-delay: 2.2s;
}

.delay-12 {
    animation-delay: 2.4s;
}

.delay-13 {
    animation-delay: 2.6s;
}

.delay-14 {
    animation-delay: 2.8s;
}

.delay-15 {
    animation-delay: 3s;
}

.delay-16 {
    animation-delay: 3.2s;
}

.delay-17 {
    animation-delay: 3.4s;
}

.delay-18 {
    animation-delay: 3.6s;
}

.delay-19 {
    animation-delay: 3.8s;
}

.delay-20 {
    animation-delay: 4s;
}


.fade-in-75,
.fade-in-66,
.fade-in-50,
.fade-up-66,
.fade-up-50,
.fade-up-75,
.fade-down-66,
.fade-down-50,
.fade-down-75,
.fade-left-75,
.fade-left-66,
.fade-left-50,
.fade-right-66,
.fade-right-50,
.fade-right-75,
#footer [data-column="widget-area-1"],
#footer [data-column="widget-area-2"],
#footer [data-column="widget-area-3"],
#footer [data-column="widget-area-4"],
#footer [data-column="widget-area-5"],
#footer [data-column="widget-area-6"] {
    transition: var(--gsap-effect);
    will-change: transform;
}

.fade-in-66,
.fade-in-50,
.fade-in-75 {
    transition: var(--gsap-effect-fast);
    will-change: opacity;
}

/*[Position_Presets]*/
/*====================================================================================================*/
.mw-100 {
    max-width: 100px;
}

.mw-150 {
    max-width: 150px;
}

.mw-200 {
    max-width: 200px;
}

.mw-250 {
    max-width: 250px;
}

.mw-300 {
    max-width: 300px;
}

.mw-350 {
    max-width: 350px;
}

.mw-400 {
    max-width: 400px;
}

.mw-450 {
    max-width: 450px;
}

.mw-500 {
    max-width: 500px;
}

.mw-550 {
    max-width: 550px;
}

.mw-600 {
    max-width: 600px;
}

.mw-650 {
    max-width: 650px;
}

.mw-700 {
    max-width: 700px;
}

.mw-750 {
    max-width: 750px;
}

.mw-800 {
    max-width: 800px;
}

.mw-850 {
    max-width: 850px;
}

.mw-900 {
    max-width: 900px;
}

.mw-950 {
    max-width: 950px;
}

.mw-1000 {
    max-width: 1000px;
}

.mw-10p {
    max-width: 10%;
}

.mw-15p {
    max-width: 15%;
}

.mw-20p {
    max-width: 20%;
}

.mw-25p {
    max-width: 25%;
}

.mw-30p {
    max-width: 30%;
}

.mw-35p {
    max-width: 35%;
}

.mw-40p {
    max-width: 40%;
}

.mw-45p {
    max-width: 45%;
}

.mw-50p {
    max-width: 50%;
}

.mw-55p {
    max-width: 55%;
}

.mw-60p {
    max-width: 60%;
}

.mw-65p {
    max-width: 65%;
}

.mw-70p {
    max-width: 70%;
}

.mw-75p {
    max-width: 75%;
}

.mw-80p {
    max-width: 80%;
}

.mw-85p {
    max-width: 85%;
}

.mw-90p {
    max-width: 90%;
}

.mw-95p {
    max-width: 95%;
}

.mw-100p {
    max-width: 100%;
}

.position-left {
    margin-right: auto;
}

.position-right {
    margin-left: auto;
}

.position-center {
    margin-inline: auto;
}

@media only screen and (max-width:767.98px) {
    .m-mw-100 {
        max-width: 100px;
    }

    .m-mw-150 {
        max-width: 150px;
    }

    .m-mw-200 {
        max-width: 200px;
    }

    .m-mw-250 {
        max-width: 250px;
    }

    .m-mw-300 {
        max-width: 300px;
    }

    .m-mw-350 {
        max-width: 350px;
    }

    .m-mw-400 {
        max-width: 400px;
    }

    .m-mw-450 {
        max-width: 450px;
    }

    .m-mw-500 {
        max-width: 500px;
    }

    .m-mw-550 {
        max-width: 550px;
    }

    .m-mw-600 {
        max-width: 600px;
    }

    .m-mw-650 {
        max-width: 650px;
    }

    .m-mw-700 {
        max-width: 700px;
    }

    .m-mw-750 {
        max-width: 750px;
    }

    .m-mw-800 {
        max-width: 800px;
    }

    .m-mw-850 {
        max-width: 850px;
    }

    .m-mw-900 {
        max-width: 900px;
    }

    .m-mw-950 {
        max-width: 950px;
    }

    .m-mw-1000 {
        max-width: 1000px;
    }

    .m-mw-10p {
        max-width: 10%;
    }

    .m-mw-15p {
        max-width: 15%;
    }

    .m-mw-20p {
        max-width: 20%;
    }

    .m-mw-25p {
        max-width: 25%;
    }

    .m-mw-30p {
        max-width: 30%;
    }

    .m-mw-35p {
        max-width: 35%;
    }

    .m-mw-40p {
        max-width: 40%;
    }

    .m-mw-45p {
        max-width: 45%;
    }

    .m-mw-50p {
        max-width: 50%;
    }

    .m-mw-55p {
        max-width: 55%;
    }

    .m-mw-60p {
        max-width: 60%;
    }

    .m-mw-65p {
        max-width: 65%;
    }

    .m-mw-70p {
        max-width: 70%;
    }

    .m-mw-75p {
        max-width: 75%;
    }

    .m-mw-80p {
        max-width: 80%;
    }

    .m-mw-85p {
        max-width: 85%;
    }

    .m-mw-90p {
        max-width: 90%;
    }

    .m-mw-95p {
        max-width: 95%;
    }

    .m-mw-100p {
        max-width: 100%;
    }

    .m-position-left {
        margin-right: auto;
    }

    .m-position-right {
        margin-left: auto;
    }

    .m-position-center {
        margin-inline: auto;
    }
}

/*[Flex/Grid_Presets]*/
/*====================================================================================================*/
.flex-col {
    display: flex !important;
    flex-direction: column !important;
}

.flex-row {
    display: flex !important;
    flex-direction: row !important;
}

.grid-box {
    display: grid !important;
}

.flex-row.full>*,
.flex-col.full>*,
.grid-box>* {
    width: 100%;
}

.btn-flex-row {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: space-between;
}

.btn-flex-row>.wpb_column {
    width: fit-content;
}

.grid-column-2 {
    grid-template-columns: repeat(2, 1fr);
}

.grid-column-3 {
    grid-template-columns: repeat(3, 1fr);
}

.grid-column-4 {
    grid-template-columns: repeat(4, 1fr);
}

.grid-column-5 {
    grid-template-columns: repeat(5, 1fr);
}

.grid-column-6 {
    grid-template-columns: repeat(6, 1fr);
}

.gap-10 {
    gap: 10px;
}

.gap-15 {
    gap: 15px;
}

.gap-20 {
    gap: 20px;
}

.gap-25 {
    gap: 25px;
}

.gap-30 {
    gap: 30px;
}

.gap-35 {
    gap: 35px;
}

.gap-40 {
    gap: 40px;
}

.gap-45 {
    gap: 45px;
}

.gap-50 {
    gap: 50px;
}

.x-gap-10 {
    column-gap: 10px;
}

.x-gap-15 {
    column-gap: 15px;
}

.x-gap-20 {
    column-gap: 20px;
}

.x-gap-25 {
    column-gap: 25px;
}

.x-gap-30 {
    column-gap: 30px;
}

.x-gap-35 {
    column-gap: 35px;
}

.x-gap-40 {
    column-gap: 40px;
}

.x-gap-45 {
    column-gap: 45px;
}

.x-gap-50 {
    column-gap: 50px;
}

.y-gap-10 {
    row-gap: 10px;
}

.y-gap-15 {
    row-gap: 15px;
}

.y-gap-20 {
    row-gap: 20px;
}

.y-gap-25 {
    row-gap: 25px;
}

.y-gap-30 {
    row-gap: 30px;
}

.y-gap-35 {
    row-gap: 35px;
}

.y-gap-40 {
    row-gap: 40px;
}

.y-gap-45 {
    row-gap: 45px;
}

.y-gap-50 {
    row-gap: 50px;
}

@media only screen and (min-width:1000px) {
    .d-flex-col {
        display: flex !important;
        flex-direction: column !important;
    }

    .d-flex-row {
        display: flex !important;
        flex-direction: row !important;
    }

    .d-grid-box {
        display: grid !important;
    }

    .d-flex-row.full>*,
    .d-flex-col.full>*,
    .d-grid-box>* {
        width: 100%;
    }

    .d-grid-column-2 {
        grid-template-columns: repeat(2, 1fr);
    }

    .d-grid-column-3 {
        grid-template-columns: repeat(3, 1fr);
    }

    .d-grid-column-4 {
        grid-template-columns: repeat(4, 1fr);
    }

    .d-grid-column-5 {
        grid-template-columns: repeat(5, 1fr);
    }

    .d-grid-column-6 {
        grid-template-columns: repeat(6, 1fr);
    }

    .d-gap-10 {
        gap: 10px;
    }

    .d-gap-15 {
        gap: 15px;
    }

    .d-gap-20 {
        gap: 20px;
    }

    .d-gap-25 {
        gap: 25px;
    }

    .d-gap-30 {
        gap: 30px;
    }

    .d-gap-35 {
        gap: 35px;
    }

    .d-gap-40 {
        gap: 40px;
    }

    .d-gap-45 {
        gap: 45px;
    }

    .d-gap-50 {
        gap: 50px;
    }

    .d-x-gap-10 {
        column-gap: 10px;
    }

    .d-x-gap-15 {
        column-gap: 15px;
    }

    .d-x-gap-20 {
        column-gap: 20px;
    }

    .d-x-gap-25 {
        column-gap: 25px;
    }

    .d-x-gap-30 {
        column-gap: 30px;
    }

    .d-x-gap-35 {
        column-gap: 35px;
    }

    .d-x-gap-40 {
        column-gap: 40px;
    }

    .d-x-gap-45 {
        column-gap: 45px;
    }

    .d-x-gap-50 {
        column-gap: 50px;
    }

    .d-y-gap-10 {
        row-gap: 10px;
    }

    .d-y-gap-15 {
        row-gap: 15px;
    }

    .d-y-gap-20 {
        row-gap: 20px;
    }

    .d-y-gap-25 {
        row-gap: 25px;
    }

    .d-y-gap-30 {
        row-gap: 30px;
    }

    .d-y-gap-35 {
        row-gap: 35px;
    }

    .d-y-gap-40 {
        row-gap: 40px;
    }

    .d-y-gap-45 {
        row-gap: 45px;
    }

    .d-y-gap-50 {
        row-gap: 50px;
    }
}

@media only screen and (max-width:999.98px) {
    .t-flex-col {
        display: flex !important;
        flex-direction: column !important;
    }

    .t-flex-row {
        display: flex !important;
        flex-direction: row !important;
    }

    .t-grid-box {
        display: grid !important;
    }

    .t-flex-row.full>*,
    .t-flex-col.full>*,
    .t-grid-box>* {
        width: 100%;
    }

    .t-grid-column-2 {
        grid-template-columns: repeat(2, 1fr);
    }

    .t-grid-column-3 {
        grid-template-columns: repeat(3, 1fr);
    }

    .t-grid-column-4 {
        grid-template-columns: repeat(4, 1fr);
    }

    .t-grid-column-5 {
        grid-template-columns: repeat(5, 1fr);
    }

    .t-grid-column-6 {
        grid-template-columns: repeat(6, 1fr);
    }

    .t-gap-10 {
        gap: 10px;
    }

    .t-gap-15 {
        gap: 15px;
    }

    .t-gap-20 {
        gap: 20px;
    }

    .t-gap-25 {
        gap: 25px;
    }

    .t-gap-30 {
        gap: 30px;
    }

    .t-gap-35 {
        gap: 35px;
    }

    .t-gap-40 {
        gap: 40px;
    }

    .t-gap-45 {
        gap: 45px;
    }

    .t-gap-50 {
        gap: 50px;
    }

    .t-x-gap-10 {
        column-gap: 10px;
    }

    .t-x-gap-15 {
        column-gap: 15px;
    }

    .t-x-gap-20 {
        column-gap: 20px;
    }

    .t-x-gap-25 {
        column-gap: 25px;
    }

    .t-x-gap-30 {
        column-gap: 30px;
    }

    .t-x-gap-35 {
        column-gap: 35px;
    }

    .t-x-gap-40 {
        column-gap: 40px;
    }

    .t-x-gap-45 {
        column-gap: 45px;
    }

    .t-x-gap-50 {
        column-gap: 50px;
    }

    .t-y-gap-10 {
        row-gap: 10px;
    }

    .t-y-gap-15 {
        row-gap: 15px;
    }

    .t-y-gap-20 {
        row-gap: 20px;
    }

    .t-y-gap-25 {
        row-gap: 25px;
    }

    .t-y-gap-30 {
        row-gap: 30px;
    }

    .t-y-gap-35 {
        row-gap: 35px;
    }

    .t-y-gap-40 {
        row-gap: 40px;
    }

    .t-y-gap-45 {
        row-gap: 45px;
    }

    .t-y-gap-50 {
        row-gap: 50px;
    }
}

@media only screen and (max-width:767.98px) {
    .m-flex-col {
        display: flex !important;
        flex-direction: column !important;
    }

    .m-flex-row {
        display: flex !important;
        flex-direction: row !important;
    }

    .m-grid-box {
        display: grid !important;
    }

    .m-flex-row.full>*,
    .m-flex-col.full>*,
    .m-grid-box>* {
        width: 100%;
    }

    .m-grid-column-2 {
        grid-template-columns: repeat(2, 1fr);
    }

    .m-grid-column-3 {
        grid-template-columns: repeat(3, 1fr);
    }

    .m-grid-column-4 {
        grid-template-columns: repeat(4, 1fr);
    }

    .m-grid-column-5 {
        grid-template-columns: repeat(5, 1fr);
    }

    .m-grid-column-6 {
        grid-template-columns: repeat(6, 1fr);
    }

    .m-gap-10 {
        gap: 10px;
    }

    .m-gap-15 {
        gap: 15px;
    }

    .m-gap-20 {
        gap: 20px;
    }

    .m-gap-25 {
        gap: 25px;
    }

    .m-gap-30 {
        gap: 30px;
    }

    .m-gap-35 {
        gap: 35px;
    }

    .m-gap-40 {
        gap: 40px;
    }

    .m-gap-45 {
        gap: 45px;
    }

    .m-gap-50 {
        gap: 50px;
    }

    .m-x-gap-10 {
        column-gap: 10px;
    }

    .m-x-gap-15 {
        column-gap: 15px;
    }

    .m-x-gap-20 {
        column-gap: 20px;
    }

    .m-x-gap-25 {
        column-gap: 25px;
    }

    .m-x-gap-30 {
        column-gap: 30px;
    }

    .m-x-gap-35 {
        column-gap: 35px;
    }

    .m-x-gap-40 {
        column-gap: 40px;
    }

    .m-x-gap-45 {
        column-gap: 45px;
    }

    .m-x-gap-50 {
        column-gap: 50px;
    }

    .m-y-gap-10 {
        row-gap: 10px;
    }

    .m-y-gap-15 {
        row-gap: 15px;
    }

    .m-y-gap-20 {
        row-gap: 20px;
    }

    .m-y-gap-25 {
        row-gap: 25px;
    }

    .m-y-gap-30 {
        row-gap: 30px;
    }

    .m-y-gap-35 {
        row-gap: 35px;
    }

    .m-y-gap-40 {
        row-gap: 40px;
    }

    .m-y-gap-45 {
        row-gap: 45px;
    }

    .m-y-gap-50 {
        row-gap: 50px;
    }
}

/* [Banner] */
/*====================================================================================================*/
.home-banner-sec {
    background-color: var(--grey-19-color);
    position: relative !important;
}

/* .home-banner > .wpb_column > .vc_column-inner > .wpb_wrapper:before {
    content: '';
    display: block;
    position: absolute;
    top: calc(var(--row-gap) * -1);
    left: calc(var(--side-gap) * -1.5);
    aspect-ratio: 612/768;
    width: auto;
    height: calc(100% + var(--row-gap));
    background-size: contain;
    background-image: url(./images/banner-icon.webp);
    z-index: -1;
    opacity: 0.03;
} */

.home-banner-sec,
.home-banner,
.home-banner>.wpb_column>.vc_column-inner {
    aspect-ratio: var(--home-banner-size);
}

@media only screen and (min-width: 1000px) {

    .home-banner-sec,
    .home-banner,
    .home-banner>.wpb_column>.vc_column-inner {
        height: calc(100vh + 20px) !important;
        /* width: 100% !important; */
    }
}

/* .home-banner > .wpb_column {
    position: absolute;
} */

.home-banner>.wpb_column>.vc_column-inner {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: flex-start;
    padding-top: var(--row-gap) !important;
    padding-bottom: var(--row-gap) !important;
    padding-right: var(--side-gap) !important;
    padding-left: var(--side-gap) !important;
    background-position: top !important;
    position: relative;
}

@media only screen and (max-width:767.98px) {
    .home-banner>.wpb_column>.vc_column-inner {
        background-position: 70% !important;
    }

    .home-banner>.wpb_column>.vc_column-inner:after {
        content: '';
        width: 100%;
        height: 100%;
        position: absolute;
        display: block;
        top: 0;
        left: 0;
        z-index: 0;
        background: var(--white-color);
        background-blend-mode: multiply;
        opacity: 0.2;
        z-index: 0;
        border-radius: calc(var(--row-gap) / 2);
    }

    .home-banner>.wpb_column>.vc_column-inner>.wpb_wrapper {
        position: relative;
        z-index: 1;
    }
}

.home-banner>.wpb_column>.vc_column-inner:before {
    content: '';
    width: 100%;
    height: 100%;
    position: absolute;
    display: block;
    top: 0;
    left: 0;
    z-index: 0;
    background: linear-gradient(285deg, rgba(145, 179, 191, 0.30) 0.1%, rgba(179, 203, 206, 0.30) 99.9%);
    background-blend-mode: multiply;
    opacity: 0.3;
}

@media only screen and (min-width:1000px) {
    .home-banner>.wpb_column:first-child>.vc_column-inner:before {
        display: none;
    }
}

.home-banner>.wpb_column>.vc_column-inner>.wpb_wrapper {
    z-index: 2 !important;
    position: relative !important;
    /*height: 100% !important;*/
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    padding-top: calc(var(--row-gap) + 35px);
}

.home-banner-title {
    font-size: var(--banner-title);
    color: var(--white-color);
    font-weight: 600;
    line-height: 1.3;
    text-transform: capitalize;
}

.home-banner-title-s {
    font-size: calc(var(--banner-title) / 57 * 30);
    margin-bottom: 0 !important;
    line-height: 1 !important;
}


@media only screen and (min-width:1000px) {

    .home-banner-mini-title,
    .home-banner-title {
        margin-bottom: 20px;
    }
}

.banner-btn {
    opacity: 0;
}

.banner-btn {
    opacity: 1;
    transition: var(--gsap-effect-slow);
    transition-delay: 1.5s;
}

.pass .home-banner-title,
.pass .banner-btn,
.pass .home-banner-text {
    opacity: 1;
    animation: opacityDown 0.3s forwards;
}

@keyframes opacityUp {
    to {
        opacity: 1;
    }
}

@keyframes opacityDown {
    to {
        opacity: 0;
    }
}

.dot-trigger-wrapper {
    display: block;
    position: absolute;
    bottom: var(--inner-side-gap);
    left: calc(var(--side-gap) / 3 * 2);
    bottom: var(--row-gap);
    transform: translate(0, 100%);
    z-index: 49;
}

@media only screen and (max-width:999.98px) {
    .dot-trigger-wrapper {
        bottom: 35px;
        transform: translate(0, 0);
    }
}

.dot-trigger-wrapper>.wpb_wrapper {
    display: flex;
    gap: 15px;
}

.dot-trigger {
    aspect-ratio: 1/1;
    width: 10px;
    height: 10px;
    background-color: var(--white-color);
    border-radius: 50%;
    transition: var(--transition-effect);
    cursor: pointer;
    opacity: 0.5;
}

.dot-trigger.active,
.dot-trigger:hover {
    background-color: var(--white-color);
    opacity: 1;
}

.home-banner>.wpb_column {
    z-index: 3;
    transform: translate(0) scale(0.5);
    opacity: 0;
    transition: var(--transition-effect) !important;
}

.home-banner>.wpb_column.pass {
    transform: translate(0, 100%) scale(0.7);
    transition: var(--gsap-effect) !important;
    z-index: 8;
}

.home-banner>.wpb_column {
    z-index: 5;
    opacity: 1;
    transform: translate(0) scale(1);
    transition: var(--gsap-effect) !important;
}

.home-banner-text {
    font-size: calc(var(--banner-mini-title) * 1.1);
    font-weight: 400;
    max-width: 35vw;
    color: var(--white-color);
}

@media only screen and (max-width:999.98px) {
    .home-banner-text {
        max-width: 75vw;
    }
}

@media only screen and (max-width:767.98px) {
    .home-banner-text {
        max-width: 100%;
    }
}

.banner-mini-title {
    animation: 0.5s wakeUp ease-out forwards 0.7s;
    transform: rotate3d(1, 0, 0, 90deg);
    transform-origin: bottom;
}

@keyframes wakeUp {
    0% {
        transform: rotate3d(1, 0, 0, 90deg);
    }

    100% {
        transform: rotate3d(1, 0, 0, 0deg);
    }
}

.home-banner-title {
    animation: 0.7s slideTitle ease-out forwards 1s;
    transform: translateX(min(-50vw, calc(-100% - var(--side-gap))));
    opacity: 0;
}

.banner-title {
    animation: 0.7s slideTitle ease-out forwards 1.5s;
    transform: translateX(min(-50vw, calc(-100% - var(--side-gap))));
    font-weight: 500;
    opacity: 0;
    margin-bottom: 10px;
}

@keyframes slideTitle {

    100% {
        transform: translateX(0);
        opacity: 1;
    }
}

.home-banner-text {
    animation: 1s opacityUp ease-out forwards 1.5s;
    opacity: 0;
}

.banner-text {
    animation: 1s opacityUp ease-out forwards 2s;
    opacity: 0;
}

.banner-img {
    animation: 2s opacityUp ease-out forwards 1s;
    opacity: 0;
}

.banner-title {
    font-size: calc(var(--banner-title) * 0.95);
    color: var(--white-color);
    font-weight: 600;
    line-height: 1.3;
}

.banner-sec {
    aspect-ratio: var(--banner-size);
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: flex-start;
    padding: var(--row-gap) calc(var(--side-gap) - 15px) !important;
    position: relative;
    background-position: center !important;
    background-repeat: no-repeat !important;
    background-size: cover !important;
}

/* .banner-sec > .vc_row {
    padding-top:35px;
} */

.banner-sec:before {
    content: '';
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: radial-gradient(50% 50% at 50% 50%, rgba(11, 26, 52, 0.00) 0%, rgba(11, 26, 52, 0.20) 100%);
    z-index: 0;
}

/* 
.banner-sec:after {
    content: '';
    display: block;
    position: absolute;
    bottom: 0;
    left: calc(var(--side-gap) * -0.5);
    aspect-ratio: 612/768;
    width: auto;
    height: calc(100% + var(--row-gap));
    background-size: cover;
    background-image: url(./images/banner-icon.webp);
    z-index: 0;
    opacity: 0.05;
} */

.vc_parallax .vc_parallax-inner {
    background-position: 50% 50%;
}

.home-banner-mini-title {
    font-size: var(--banner-mini-title);
    font-weight: 400;
    padding-inline: calc(var(--banner-mini-title) * 2.1);
    padding-block: calc(var(--banner-mini-title) * 0.35);
    color: var(--white-color);
    text-transform: capitalize;
    border-radius: calc(var(--banner-mini-title) * 1.7) 0 0 0;
    border: 1px solid rgba(255, 255, 255, 0.22);
    background: rgba(255, 255, 255, 0.10);
    backdrop-filter: blur(7.5px);
    width: fit-content;
}

.closer-corner-sec {
    margin-inline: calc(var(--side-gap) / 3 * -2);
    overflow: hidden;
    border-radius: calc(var(--row-gap) / 2);
    width: calc(100% + (var(--side-gap) / 3 * 4)) !important;
}

.home-banner>.wpb_column>.vc_column-inner:before {
    content: '';
    display: block !important;
    position: absolute !important;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    background: radial-gradient(59.14% 59.14% at 50% 50%, rgba(11, 26, 52, 0.00) 0%, rgba(11, 26, 52, 0.50) 100%);
    background-blend-mode: multiply;
}

.home-banner-btn-box>.wpb_column>.vc_column-inner>.wpb_wrapper {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    gap: max(1vw, 15px);
    justify-content: flex-start;
    align-items: center;
}

@media only screen and (max-width:767.98px) {
    .home-banner-btn-box>.wpb_column>.vc_column-inner>.wpb_wrapper {
        flex-direction: column;
        align-items: flex-start;
    }
}

/*[Custom]*/
/*====================================================================================================*/

#header .ct-container {
    padding-left: 0 !important;
}

#header [data-row="middle"] .site-branding {
    background-color: var(--black-color);
    height: 100%;
    padding-inline: var(--side-gap);
    width: calc(var(--side-gap) * 2 + 100px);
    display: flex;
    justify-content: center;
}

@media only screen and (min-width:768px) {
    #header [data-row="middle"] .site-branding .site-logo-container {
        height: auto;
    }

    #header [data-sticky="yes:slide"] [data-row="middle"] .site-branding img {
        height: 45px;
        width: auto;
        transition: var(--transition-effect);
    }

    #header [data-row="middle"] .site-branding img {
        height: 100px;
        width: 100px;
        transition: var(--transition-effect);
    }

    .page-id-26 #header [data-row="middle"] .site-branding a {
        position: absolute;
        top: 0;
        height: fit-content;
    }

    .page-id-26 #header [data-sticky="yes:slide"] [data-row="middle"] .site-branding a {
        position: relative;
    }
}

#header [data-row="middle"] .site-branding a {
    transition: var(--transition-effect);
}

@media only screen and (min-width:768px) {
    .main-side-sec {
        display: grid;
        grid-template-columns: calc((var(--side-gap) * 2) + 100px) 1fr;
        overflow: visible !important;
    }

    .main-side-sec>.main-side {
        grid-row: span 999;
    }

    .main-side-sec>.main-side>.wpb_column {
        position: sticky;
        top: calc(140px + 35px);
    }
}

@media only screen and (max-width:767.98px) {
    .main-side {
        display: none;
    }
}

.home-title-row>.wpb_column>.vc_column-inner {
    padding-top: 0;
    padding-inline: var(--side-gap);
}

.home-title-row .main-title {
    margin-top: 35px;
}

.main-side-text {
    writing-mode: sideways-lr;
    margin-bottom: 0;
    color: #939393;
    font-size: var(--font-size-7);
    opacity: 0.8;
    letter-spacing: 4.6px;
    white-space: nowrap;
    margin-block: auto;
}

.main-side-text a {
    text-decoration: none;
    color: #939393;
}

.main-side-text * {
    margin: 0 !important;
}

.home-main-side .main-side-text {
    margin-left: auto;
    margin-right: 0;
    color: #404040;
    font-size: var(--font-size-1);
    opacity: 0.8;
    letter-spacing: 13.2px;
    margin-bottom: 20px;
}

.home-main-row>.wpb_column>.vc_column-inner {
    padding: var(--row-gap) var(--inner-side-gap) !important;
}

.home-main-title {
    transition: var(--transition-effect);
    font-size: var(--font-size-3);
}

.home-main-title a:hover{
    text-decoration: underline;
    opacity: 1 !important;
}


.home-main-row>.wpb_column>.vc_column-inner:before {
    content: '';
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(0deg, rgba(0, 0, 0, 0.20) 0%, rgba(0, 0, 0, 0.20) 100%);
    z-index: -1;
}

.home-main-row>.wpb_column>.vc_column-inner:after {
    content: '';
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(180deg, rgba(0, 0, 0, 0.00) 0%, rgba(0, 0, 0, 0.70) 100%);
    z-index: -1;
    transition: var(--transition-effect);
}

.home-main-text:last-child {
    margin-bottom: 0;
}

.home-main-title:not(:first-child) {
    border-top: 1px solid var(--white-color);
    padding-top: 35px;
}

.home-main-text {
    font-size: 0;
    transform: scale(0);
    transition: var(--transition-effect);
    transform-origin: center left;
    margin-bottom: 20px;
}

.home-main-title {
    margin-bottom: 0;
}

@media only screen and (min-width:1000px) {
    .home-main-row>.wpb_column>.vc_column-inner:after {
        opacity: 0;
    }

    .home-main-row>.wpb_column:hover>.vc_column-inner:after {
        opacity: 1;
    }

    .home-main-row>.wpb_column>.vc_column-inner>.wpb_wrapper {
        display: flex;
        flex-direction: column;
        justify-content: center;
    }

    .home-main-row>.wpb_column:first-child>.vc_column-inner {
        background-position: 80% !important;
    }

    .home-main-row>.wpb_column:hover .home-main-title {
        margin-bottom: 10px;
    }

    .home-main-row:hover>.wpb_column:not(:hover) {
        filter: grayscale(1);
    }

    .home-main-title:not(:first-child) {
        border-top: 1px solid var(--white-color);
        padding-top: 20px;
    }

    .home-main-row>.wpb_column:hover .home-main-text {
        font-size: var(--font-size-7);
        transform: scale(1);
    }

    .home-main-row:hover>.wpb_column:not(:hover) {
        width: calc(67% / 3);
    }

    .home-main-row>.wpb_column:hover {
        width: 33%;
    }

    .home-main-row>.wpb_column {
        transition: var(--transition-effect);
    }

    .home-main-row>.wpb_column {
        min-height: 700px;
    }

    .home-main-row {
        flex-wrap: nowrap !important;
    }

    .home-main-row>.wpb_column:first-child {
        border-radius: 0 0 0 20px;
        overflow: hidden;
    }
}

@media only screen and (max-width: 999.98px) {
    .home-main-row>.wpb_column {
        width: 100% !important;
    }
}

@media only screen and (max-width: 1299.98px) and (min-width: 1000px) {
    .home-main-title {
        font-size: var(--font-size-6);
    }

    .home-main-row>.wpb_column>.vc_column-inner {
        padding: 35px 15px !important;
    }
}

.home-slide-logo-sec {
    padding-block: 35px;
    position: relative;
}

.home-slide-logo-sec:before {
    content: '';
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: calc(220px * 2);
    background: linear-gradient(90deg, #000 0%, rgba(0, 0, 0, 0.00) 100%);
    z-index: 1;
}

.home-slide-logo-sec:after {
    content: '';
    display: block;
    position: absolute;
    top: 0;
    right: 0;
    height: 100%;
    width: calc(220px * 2);
    background: linear-gradient(270deg, #000 0%, rgba(0, 0, 0, 0.00) 100%);
    z-index: 1;
}

.home-slide-logo-row {
    width: 100%;
    overflow: hidden;
}

.home-slide-logo-row>.wpb_column>.vc_column-inner>.wpb_wrapper {
    display: flex;
    align-items: center;
    width: max-content;
    flex-wrap: nowrap;
    animation: infiniteLogoScroll 30s linear infinite;
}

.home-slide-logo-row .home-slide-logo {
    flex: 0 0 auto;
    margin: 0 25px;

}

.home-slide-logo-row .home-slide-logo img {
    display: block;
    width: auto !important;
    height: auto !important;
    max-width: none;

}

@keyframes infiniteLogoScroll {
    from {
        transform: translateX(0);
    }

    to {
        transform: translateX(-50%);
    }
}

.home-slide-logo-sec:hover>.home-slide-logo-row>.wpb_column>.vc_column-inner>.wpb_wrapper {
    animation-play-state: paused;
}

@media (max-width: 767.98px) {

    .home-slide-logo-sec:before,
    .home-slide-logo-sec:after {
        width: calc(var(--side-gap) * 2);
    }
}

.home-creative-row>.wpb_column:not(:first-child) {
    padding-inline: var(--side-gap);
}

.home-creative-img img {
    object-position: 50% 0;
}

.home-creative-img>.vc_figure {
    position: relative;
}

.home-creative-img>.vc_figure:before {
    content: '';
    display: block;
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: var(--full-side-gap);
    background: linear-gradient(180deg, rgba(0, 0, 0, 0.00) 0%, #000 100%);
    z-index: 1;
}

.home-creative-img>.vc_figure:after {
    content: '';
    display: block;
    position: absolute;
    top: 0;
    right: 0;
    width: 50%;
    height: 100%;
    background: linear-gradient(90deg, rgba(0, 0, 0, 0.00) 0%, #000 100%);
    z-index: 1;
}

#cursor-circle {
    position: fixed;
    pointer-events: none;
    z-index: 9999999999;
}

@media only screen and (min-width: 1000px) {
    #cursor-circle:after {
        content: '';
        position: relative;
        display: flex;
        text-align: center;
        justify-content: center;
        align-items: center;
        width: 20px;
        height: 20px;
        background: var(--white-color);
        border-radius: 50%;
        opacity: 0.5;
        transform: translate(0, -100%);
        transition: var(--transition-effect);
        font-size: 0;
        font-family: var(--theme-title-font-family);
        text-wrap: balance;
    }

    #cursor-circle.theme-cursor::after {
        background: var(--theme-color) !important;
        color: var(--white-color) !important;
    }

    #main a:hover,
    #footer a:hover,
    #side-contact a:hover,
    #main .slick-track:hover,
    #main .slick-dots li:hover,
    #main .slick-arrow:hover,
    .wpcf7-submit:not(:disabled):hover,
    #main .admission-intake-box [class^="popmake-"]:hover {
        cursor: none !important;
    }

    *:has(#main a:hover) #cursor-circle:after,
    *:has(#footer a:hover) #cursor-circle:after,
    *:has(#side-contact a:hover) #cursor-circle:after,
    *:has(#main .slick-track:hover) #cursor-circle:after,
    *:has(#main .slick-dots li:hover) #cursor-circle:after,
    *:has(#main .slick-arrow:hover) #cursor-circle:after,
    *:has(.wpcf7-submit:not(:disabled):hover) #cursor-circle:after,
    *:has(#main .admission-intake-box [class^="popmake-"]:hover) #cursor-circle::after {
        content: var(--cursor-text, 'Click');
        font-size: var(--font-size-6);
        transform: translate(-50%, -50%);
        width: 75px;
        height: 75px;
        color: var(--theme-color);
        opacity: 0.8;
    }
    
    [lang="zh-CN"]:has(#main a:hover) #cursor-circle:after,
    [lang="zh-CN"]:has(#footer a:hover) #cursor-circle:after,
    [lang="zh-CN"]:has(#side-contact a:hover) #cursor-circle:after,
    [lang="zh-CN"]:has(#main .slick-track:hover) #cursor-circle:after,
    [lang="zh-CN"]:has(#main .slick-dots li:hover) #cursor-circle:after,
    [lang="zh-CN"]:has(#main .slick-arrow:hover) #cursor-circle:after,
    [lang="zh-CN"]:has(.wpcf7-submit:not(:disabled):hover) #cursor-circle:after,
    [lang="zh-CN"]:has(#main .admission-intake-box [class^="popmake-"]:hover) #cursor-circle::after {
        content: var(--cursor-text, '点击');
        font-size: var(--font-size-s);
    }


    *:has(#main .email a:hover) #cursor-circle:after,
    *:has(#footer .contact-table > tbody > tr:first-child a:hover) #cursor-circle::after,
    *:has(#side-contact #email-float:hover) #cursor-circle:after {
        content: 'Email';
    }

    *:has(#main .whatsapp a:hover) #cursor-circle:after,
    *:has(#footer .contact-table > tbody > tr:last-child a:hover) #cursor-circle::after,
    *:has(#side-contact #whatsapp-float:hover) #cursor-circle:after {
        content: 'WhatsApp';
    }

    *:has(#main .phone a:hover) #cursor-circle:after,
    *:has(#side-contact #tel-float:hover) #cursor-circle:after {
        content: 'Phone';
    }

    *:has(#main .fax a:hover) #cursor-circle:after {
        content: 'Fax';
    }

    *:has(#main .link-text a:hover) #cursor-circle:after {
        content: 'Link';
    }

    *:has(#main .slick-track:hover) #cursor-circle:after {
        content: 'Drag';
    }

    *:has(#main .slick-next:hover) #cursor-circle:after {
        content: 'Next';
    }

    *:has(#main .slick-prev:hover) #cursor-circle:after {
        content: 'Previous';
    }

    *:has(#main .showcase-img a:hover) #cursor-circle:after {
        content: 'Zoom';
    }

    *:has(.wpcf7-submit:not(:disabled):hover) #cursor-circle:after {
        content: 'Submit';
    }

    *:has(#footer #menu-item-299 a:hover) #cursor-circle:after {
        content: 'Privacy';
    }

    *:has(#main .admission-intake-box [class^="popmake-"]:hover) #cursor-circle::after {
        content: "Register";
        background-color: var(--white-color) !important;
        color: var(--theme-color) !important;
    }
    
    [lang="zh-CN"]:has(#main .email a:hover) #cursor-circle:after,
    [lang="zh-CN"]:has(#footer .contact-table > tbody > tr:first-child a:hover) #cursor-circle::after,
    [lang="zh-CN"]:has(#side-contact #email-float:hover) #cursor-circle:after {
        content: '邮箱';
    }
    
    [lang="zh-CN"]:has(#main .whatsapp a:hover) #cursor-circle:after,
    [lang="zh-CN"]:has(#footer .contact-table > tbody > tr:last-child a:hover) #cursor-circle::after,
    [lang="zh-CN"]:has(#side-contact #whatsapp-float:hover) #cursor-circle:after {
        content: 'WhatsApp';
    }
    
    [lang="zh-CN"]:has(#main .phone a:hover) #cursor-circle:after,
    [lang="zh-CN"]:has(#side-contact #tel-float:hover) #cursor-circle:after {
        content: '电话';
    }
    
    [lang="zh-CN"]:has(#main .fax a:hover) #cursor-circle:after {
        content: '传真';
    }
    
    [lang="zh-CN"]:has(#main .link-text a:hover) #cursor-circle:after {
        content: '链接';
    }
    
    [lang="zh-CN"]:has(#main .slick-track:hover) #cursor-circle:after {
        content: '拉';
    }
    
    [lang="zh-CN"]:has(#main .slick-next:hover) #cursor-circle:after {
        content: '下一张';
    }
    
    [lang="zh-CN"]:has(#main .slick-prev:hover) #cursor-circle:after {
        content: '上一张';
    }
    
    [lang="zh-CN"]:has(#main .showcase-img a:hover) #cursor-circle:after {
        content: '放大';
    }
    
    [lang="zh-CN"]:has(.wpcf7-submit:not(:disabled):hover) #cursor-circle:after {
        content: '提交';
    }
    
    [lang="zh-CN"]:has(#footer #menu-item-299 a:hover) #cursor-circle:after {
        content: '隐私';
    }
    
    [lang="zh-CN"]:has(#main .admission-intake-box [class^="popmake-"]:hover) #cursor-circle:after {
        content: "注册";
        background-color: var(--white-color) !important;
        color: var(--theme-color) !important;
    }
}

.home-register-row {
    padding-inline: var(--full-side-gap);
}

.home-register-img>.vc_figure {
    border-radius: 20px;
    position: relative;
    overflow: hidden;
}

.home-slider-row .wpb_text_column {
    color: #2B2B2B;
    text-align: justify;
}

.home-slider-title {
    font-size: var(--font-size-3);
    font-family: var(--theme-title-font-family);
    font-style: italic;
    font-weight: 900;
    color: #2B2B2B;
    text-wrap-style: balance;
}

.home-slider-title b {
    font-weight: 900;
    color: var(--theme-color);

}


.home-slider-row>.wpb_column:last-child>.vc_column-inner {
    padding: calc(var(--row-gap) - 30px) var(--side-gap) calc(var(--row-gap) - 35px);
    background-color: #EEEEEE;
    border-radius: 0 0 0 20px;
}

.home-slider-bullet {
    width: 100%;
    height: 2px;
    background: #6B6B6B33;
    transition: var(--transition-effect);
    cursor: pointer;
}

.home-slider-bullet.pass {
    width: 100%;
    height: 2px;
    background: #2B2B2B;
}


.home-slider-bullet-wrapper p {
    margin-bottom: 0;
    font-size: var(--font-size-3);
    color: #2B2B2B;
    font-family: var(--theme-title-font-family);
    font-style: italic;
    font-weight: 700;
    line-height: 1;
    margin-left: 15px;
}

.home-slider-bullet-wrapper p sub {
    color: #00000080;
    line-height: 1;
}

.home-slider-bullet-wrapper>.wpb_wrapper {
    display: flex;
    align-items: flex-end;
}

.home-slider-row>.wpb_column>.vc_column-inner>.wpb_wrapper {
    position: relative;
}

.home-slider-row>.wpb_column:first-child>.vc_column-inner {
    padding-inline: 0;
    border-radius: 0 20px 0 0;
    overflow: hidden;
}

.home-slider-row>.wpb_column:first-child {
    padding-bottom: calc(var(--row-gap) - 35px);
}

.home-slider-row>.wpb_column:last-child {
    padding-top: var(--row-gap);
}

.home-slider-img {
    opacity: 0;
    visibility: hidden;
    transition: var(--transition-effect);
}

.home-slider-img:not(:first-child) {
    position: absolute;
    top: 0;
    left: 0;
}

.home-slider-img.active {
    opacity: 1;
    visibility: visible;
    animation: slideOut 0.5s ease-out;

}

@keyframes slideOut {
    from {
        transform: translateX(-100%);
    }

    to {
        transform: translateX(0);
    }
}

.home-slider-box:not(:nth-child(2)) {
    position: absolute;
    top: calc(30px + 35px);
}

.home-slider-box {
    opacity: 0;
    visibility: hidden;
    transition: var(--transition-effect);
}

.home-slider-box.active {
    opacity: 1;
    visibility: visible;
}

.home-slider-box {
    min-height: var(--home-slider-height);
}

@media only screen and (max-width: 767.98px) {

    .home-slider-img,
    .home-slider-row>.wpb_column:first-child {
        margin-bottom: 0;
        padding-bottom: 0;
    }

    .home-slider-row>.wpb_column:last-child {
        padding-top: 0;
    }
}

.home-art-row {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    flex-wrap: wrap;
}

.home-art-row:before,
.home-art-row:after {
    display: none;
}

.home-art-row>.wpb_column {
    width: fit-content;
}

.home-art-slide>.wpb_column>.vc_column-inner>.wpb_wrapper {
    position: relative;
}

.home-art-text {
    font-size: var(--font-size-s);
    font-weight: 400;
    letter-spacing: 2.8px;
    text-transform: uppercase;
    position: absolute;
    left: 0;
    bottom: 0;
    padding-inline: var(--inner-side-gap);
}

.home-art-text em {
    font-family: var(--theme-title-font-family);
    font-size: var(--font-size-4);
    font-style: italic;
    font-weight: 400;
    text-transform: none;
}

.home-art-text * {
    margin-bottom: 0;
}

.home-art-img>.vc_figure {
    border-radius: 20px;
    position: relative;
    overflow: hidden;
}

.home-art-img>.vc_figure:after {
    content: '';
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(180deg, rgba(0, 0, 0, 0.00) 33.55%, rgba(0, 0, 0, 0.90) 100%);
}

@media only screen and (min-width: 1000px) {
    .home-art-img>.vc_figure:after {
        transform: translateY(100%);
        transition: var(--transition-effect);
    }

    .home-art-slide>.wpb_column>.vc_column-inner>.wpb_wrapper:hover .home-art-img>.vc_figure:after {
        transform: translateY(0);
    }

    .home-art-text {
        transform: translateY(100%);
        opacity: 0;
        transition: var(--transition-effect);
    }

    .home-art-slide>.wpb_column>.vc_column-inner>.wpb_wrapper:hover .home-art-text {
        transform: translateY(0);
        opacity: 1;
    }
}

.home-art-slide {
    display: flex;
    align-items: center;
    width: max-content;
    flex-wrap: nowrap;
    animation: infiniteLogoScroll 40s linear infinite;
}

.home-art-slide:hover {
    animation-play-state: paused;
}

.home-art-slide>.wpb_column {
    width: fit-content;
}

.home-art-slide:last-child {
    margin-left: -200px;
}

.home-art-slide>.wpb_column>.vc_column-inner {
    padding-inline: 5px;
}

.home-art-img {
    margin-bottom: 10px;
}

.home-art-slide:last-child {
    margin-bottom: 25px;
}

.home-art-img img {
    width: auto;
    height: 400px;
    object-fit: cover;
}

@media only screen and (max-width: 999.98px) {
    .home-art-img img {
        width: auto;
        height: 300px;
        object-fit: cover;
    }
}

.cta-row {
    background-position: 80% center !important;
    background-image: url(./images/cta.webp);
}

.cta-row>.wpb_column:first-child>.vc_column-inner {
    padding-inline: var(--side-gap);
}

.cta-row>.wpb_column:first-child {
    background: linear-gradient(270deg, rgba(0, 0, 0, 0.00) 0%, #000 40%);
    padding-right: 20%;
    margin-bottom: -1px;
}

@media only screen and (max-width: 767.98px) {
    .cta-row>.wpb_column:first-child {
        background: linear-gradient(270deg, rgba(0, 0, 0, 0.00) 0%, #000 60%);
        padding-right: 0;
    }
    .cta-row {
        background-position: 45% 47% !important
    }
}

.cta-sec {
    left: 0 !important;
    margin-bottom: 0 !important;
}

.footer-social {
    font-size: 0;
    display: flex;
    align-items: center;
    column-gap: 20px;
}

#footer [data-row="middle"] .ct-container {
    display: flex;
}

@media only screen and (min-width:1300px) {
    #footer [data-row="middle"] .ct-container>*:not(:first-child) {
        flex: 1;
    }
}

#footer [data-row="middle"] .ct-container>* {
    position: relative;
}

#footer [data-row="middle"] .ct-container>*:not(:last-child)::before {
    content: '';
    display: block;
    position: absolute;
    right: calc(var(--columns-gap, 50px) * -0.5);
    height: 100%;
    width: 1px;
    background: #949494;
}

#footer [data-column="widget-area-1"] {
    align-items: flex-start;
    justify-content: center;
}

.contact-table {
    border: none;
}

.contact-table td {
    border: none;
    padding: 0;
    vertical-align: baseline;
}

.contact-table tr:not(:last-child) td {
    padding-bottom: 10px;
}

.contact-table td:first-child {
    padding-right: 5px;
    opacity: 0.8;
}

.custom-html-widget p:not(:last-child) {
    margin-bottom: 10px;
}

.textwidget h3 {
    font-size: var(--font-size-t);
    font-weight: 700;
    margin-bottom: 5px;
}

#media_image-3 img {
    width: auto;
    height: 140px !important;
}

@media only screen and (max-width:1399.98px) and (min-width:1000px) {
    #media_image-3 img {
        width: auto;
        height: 100px !important;
    }
}

@media only screen and (max-width:1299.98px) {
    #footer [data-row="middle"] .ct-container {
        flex-wrap: wrap;
    }

    #footer [data-row="middle"] .ct-container>* {
        width: calc(50% - 50px);
        flex: auto;
    }
}

@media only screen and (max-width:767.98px) {
    #media_image-3 img {
        width: auto;
        height: 100px !important;
    }

    #footer [data-row="middle"] .ct-container>* {
        width: 100%;
        flex: auto;
    }
}

.contact-info-title {
    font-family: var(--theme-title-font-family);
    font-weight: 700;
    font-style: italic;
    font-size: var(--font-size-2);
    color: var(--theme-color);
    grid-column: span 2;
}

.contact-info-row>.wpb_column:first-child>.vc_column-inner {
    padding-inline: var(--side-gap);
}

.contact-info-row>.wpb_column:first-child>.vc_column-inner>.wpb_wrapper {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    column-gap: 30px;
}

@media only screen and (max-width: 767.98px) {
    .contact-info-row>.wpb_column:first-child>.vc_column-inner>.wpb_wrapper {
        grid-template-columns: 1fr;
    }

    .contact-info-row>.wpb_column:first-child>.vc_column-inner>.wpb_wrapper>* {
        grid-column: span 1;
    }
}

.contact-info-text {
    color: #D5D5D5;
    opacity: 0.8;
}

.contact-info-text a {
    color: #D5D5D5;
    text-decoration: none;
}

.contact-info-text a:hover {
    color: var(--theme-color);
}

.contact-info-table a {
    font-weight: 400;
    color: #D5D5D5;
    opacity: 0.8;
}

.contact-info-table a:hover {
    color: var(--theme-color);
}

.contact-info-subtitle {
    color: var(--white-color);
    font-size: var(--font-size-7);
    font-weight: 400;
}

.contact-info-table table,
.contact-info-table td {
    border: none;
    padding: 0;
}

.contact-info-row {
    padding-bottom: 35px;
}

.contact-info-row>.wpb_column:first-child:before {
    content: '';
    display: block;
    position: absolute;
    height: 1px;
    width: calc(100% - (var(--side-gap) * 2));
    left: 50%;
    bottom: calc(35px * -0.5);
    background-color: var(--white-color);
    transform: translate(-50%, 50%);
}

.contact-social-text {
    grid-column: span 2;
}

.contact-social-text a {
    text-decoration: none;
    color: #FFF;
    font-size: var(--font-size-7);
}

.contact-social-text>.wpb_wrapper>p {
    display: flex;
    flex-wrap: wrap;
    column-gap: 20px;
    row-gap: 10px;
    justify-content: space-between;
}

.contact-social-text br {
    display: none;
}

@media only screen and (max-width: 1299.98px) {
    .contact-social-text>.wpb_wrapper>p {
        justify-content: flex-start;
    }
}

@media only screen and (max-width: 999.98px) {
    .contact-info-row>.wpb_column {
        width: 100%;
    }
}

.contact-form-text {
    color: #D5D5D5;
}

.privacy-title-sec,
.privacy-sec {
    position: relative;
}

.privacy-title-sec:before,
.privacy-sec:before {
    content: '';
    display: block;
    position: absolute;
    bottom: 0;
    left: 50%;
    width: calc(100% - (var(--side-gap) * 2));
    height: 1px;
    transform: translate(-50%, 50%);
    background: #949494;
}

.privacy-text {
    color: #D5D5D5;
}

.privacy-title {
    color: var(--white-color);
    font-weight: 700;
    font-size: var(--font-size-7);
    position: relative;
}

.privacy-title:before {
    content: '';
    display: inline-block;
    position: relative;
    width: 5px;
    height: 5px;
    background-color: var(--white-color);
    border-radius: 50%;
    vertical-align: middle;
    margin-right: 10px;
}

.privacy-title.no-dot:before {
    display: none;
}

.privacy-sec .main-title {
    font-size: var(--font-size-2);
}

.form [data-name="Acceptance"] label {
    display: flex;
    column-gap: 10px;
    align-items: center;
    text-transform: none;
    font-size: var(--font-size-s) !important;
}

.form [data-name="Acceptance"] label span {
    opacity: 0.8;
    font-weight: 400;
}

.contact-form-row {
    margin-inline: -50px !important;
}

.contact-form-row>.wpb_column>.vc_column-inner {
    padding-inline: 50px !important;
}

.contact-form-img {
    position: relative;
}

.contact-form-img:before {
    content: '';
    display: block;
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 35%;
    background: linear-gradient(180deg, rgba(0, 0, 0, 0.00) 0%, #000 100%);
    z-index: 1;
}

.page-id-180 #footer [data-row="middle"] {
    display: none !important;
}

.contact-info-row>.wpb_column:first-child>.vc_column-inner {
    padding-top: calc(70px - 35px);
}

.contact-info-sec:nth-child(2) .contact-info-row>.wpb_column:first-child>.vc_column-inner {
    padding-top: 0;
}

.contact-info-sec:nth-child(2) .map-frame {
    border-radius: 20px 0 0 0;
    position: relative;
    overflow: hidden;
}

.contact-info-sec:nth-child(3) .map-frame {
    border-radius: 0 0 0 20px;
    position: relative;
    overflow: hidden;
}

.programme-banner-box>.wpb_column>.vc_column-inner>.wpb_wrapper {
    display: flex;
    flex-direction: column;
}

.programme-banner-box>.wpb_column>.vc_column-inner,
.programme-banner-row>.wpb_column>.vc_column-inner {
    padding-inline: var(--side-gap);
}

.programme-banner-row>.wpb_column>.vc_column-inner .programme-banner-box .wpb_text_column:last-child {
    flex: 1;
    text-wrap-style: balance;
}

.programme-banner-box .wpb_text_column>.wpb_wrapper {
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.programme-banner-title {
    font-size: var(--font-size-3);
    font-weight: 400;
    text-shadow: 0 2px 10px rgba(0, 0, 0, 0.50);
    color: var(--white-color);
    line-height: 1.3;
}

.programme-banner-title b {
    font-family: var(--theme-title-font-family);
    font-size: var(--font-size-1);
    font-style: italic;
    font-weight: 700;
}

.programme-banner-row {
    position: relative;
}

.programme-banner-row:before {
    content: '';
    display: block;
    position: absolute;
    left: 0;
    top: 0;
    height: 100%;
    width: 100%;
    background-color: var(--black-color);
    opacity: 0.3;
}

.programme-banner-box {
    margin-inline: calc(var(--side-gap) * -1);
}

.programme-banner-row {
    padding-top: clamp(var(--row-gap), 25vh, 400px);
}

.programme-banner-box>.wpb_column:first-child {
    background-color: var(--black-color);
    position: relative;
}

.programme-banner-box>.wpb_column:first-child:before {
    content: '';
    display: block;
    position: absolute;
    width: 20px;
    height: 20px;
    border-radius: 0 0 0 20px;
    top: 0;
    left: 0;
    transform: translateY(-100%);
    background-color: transparent;
    box-shadow: -10px 10px 0 10px var(--black-color);
}

.programme-banner-box>.wpb_column:not(:first-child):before {
    content: '';
    display: block;
    position: absolute;
    right: 0;
    top: 50%;
    width: 1px;
    height: calc(100% - 35px - 35px);
    background-color: #D0D0D0;
    transform: translate(50%, -50%);
}

.programme-banner-box>.wpb_column:not(:first-child):after {
    content: '';
    display: none;
    position: absolute;
    left: 50%;
    bottom: 0;
    height: 1px;
    width: calc(100% - (var(--side-gap) * 2));
    background-color: #D0D0D0;
    transform: translate(-50%, 50%);

}

.programme-banner-box>.wpb_column:last-child:before {
    display: none;
}

.programme-banner-box>.wpb_column:nth-child(1) {
    width: 25%;
}

.programme-banner-box>.wpb_column:nth-child(2) {
    width: 30%;
}

.programme-banner-box>.wpb_column:nth-child(3) {
    width: 17%;
}

.programme-banner-box>.wpb_column:nth-child(4) {
    width: 28%;
}

@media only screen and (max-width: 1299.98px) {
    .programme-banner-box>.wpb_column {
        width: 50% !important;
    }

    .programme-banner-box>.wpb_column:nth-child(2):before {
        display: none;
    }

    .programme-banner-box>.wpb_column:nth-child(2):after {
        display: block;
    }
}

.programme-rows {
    margin-inline: -15px !important;
    padding-right: var(--side-gap);
}

@media only screen and (max-width: 767.98px) {
    .programme-rows {
        padding-inline: var(--side-gap) !important;
    }
}

.programme-overview-img>.vc_figure {
    border-radius: 15px;
}

.programme-overview-row {
    margin-inline: -25px !important;
}

.programme-overview-row>.wpb_column>.vc_column-inner {
    padding-inline: 25px;
}

@media only screen and (min-width: 768px) {
    .programme-overview-row>.wpb_column {
        position: sticky;
        top: 115px;
    }
}

.link-text a {
    color: var(--white-color);
    text-decoration: underline;
}

.link-text a:hover {
    color: var(--theme-color);
}

.programme-overview-tab-title {
    color: var(--theme-color);
    font-weight: 700;
    font-size: var(--font-size-7);
}

.programme-overview-tab-row .vc_tta-panel-body {
    border-radius: 0 0 20px 20px !important;
    background-color: #2C2C2C !important;
    padding-inline: var(--side-gap) !important;
}

.programme-overview-tab-row .vc_active .vc_tta-panel-body {
    padding-block: calc(var(--row-gap) * 0.5) !important;
}

.programme-overview-course-type>.wpb_column:not(:last-child):before {
    content: '';
    display: block;
    position: absolute;
    top: 0;
    right: 0;
    width: 1px;
    height: calc(100% - 35px);
    background-color: #A4A4A4;
}

.programme-overview-course-type.future>.wpb_column:not(:last-child):before {
    height: 100%;
}

.programme-overview-course-type {
    margin-inline: calc(var(--side-gap) * -0.5);
}

.programme-overview-course-type>.wpb_column>.vc_column-inner {
    padding-inline: calc(var(--side-gap) * 0.5);
}

@media only screen and (max-width: 999.98px) {
    .programme-overview-course-type>.wpb_column {
        width: 100%;
    }

    .programme-overview-course-type>.wpb_column:before {
        display: none !important;
    }
}

.programme-overview-tab-row .vc_tta-panel-heading {
    display: none;
}

.programme-overview-tab-row .vc_tta-tabs-container {
    display: block !important;
    overflow: auto !important;
    border-radius: 20px 20px 0 0;
}

.programme-overview-tab-row .vc_tta-tabs-list {
    display: flex !important;
}

.programme-overview-tab-row .vc_tta-tab {
    width: 100%;
}

@media only screen and (max-width: 767.98px) {
    .programme-overview-tab-row .vc_tta-tab a {
        white-space:normal !important;
        padding-inline: 15px !important;
    }
    .programme-overview-tab-row .vc_tta-tab {
        display: flex !important;
        align-items: stretch;
    }
}

.programme-overview-tab-row .vc_tta-tab a {
    display: flex !important;
    justify-content: center;
    align-items: center;
    white-space: nowrap;
    color: var(--white-color) !important;
    background-color: #212121 !important;
    border: none !important;
    border-radius: 0 !important;
    transition: var(--transition-effect);
    padding: 20px 35px !important;
    font-size: var(--font-size-7) !important;
    font-weight: 400 !important;
    text-align: center !important;
}

.programme-overview-tab-row .vc_tta-tab.vc_active a,
.programme-overview-tab-row .vc_tta-tab a:hover {
    background-color: var(--theme-color) !important;
    font-weight: 700 !important;
}

.programme-software-logo {
    width: min-content;
}

.programme-software-logo .vc_figure {
    display: flex;
    flex-direction: column;
    align-items: center;
}

.programme-software-logo .vc_figure-caption {
    font-size: var(--font-size-7);
    color: var(--white-color);
    margin-top: 5px !important;
    font-weight: 400;
}

.programme-software-logo .vc_single_image-wrapper {
    background-color: #D9D9D9;
    padding: 10px;
    border-radius: 10px;
    width: 80px;
    height: 80px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.programme-software-logo .vc_single_image-wrapper img {
    filter: drop-shadow(0px 2px 5px rgba(0, 0, 0, 0.25));
    width: 60px;
    height: 60px;
    object-fit: contain;
}

.programme-overview-software-row>.wpb_column:nth-child(2)>.vc_column-inner>.wpb_wrapper {
    display: flex;
    justify-content: space-around;
    flex-wrap: wrap;
    flex-direction: row;
    column-gap: 30px;
}

.programme-overview-software-row>.wpb_column:nth-child(2)>.vc_column-inner {
    padding-inline: var(--side-gap);
}

.programme-overview-software-row {
    background-color: #404040;
    padding-top: 35px;
    border-radius: 20px;
}

.programme-overview-art-title-row>.wpb_column>.vc_column-inner>.wpb_wrapper {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    align-items: flex-end;
    column-gap: 30px;
}

.programme-overview-art-name {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 100%;
    padding-inline: var(--side-gap);
    transform: translate(-50%, -50%);
    color: var(--white-color);
    font-size: var(--font-size-6);
    font-weight: 500;
    letter-spacing: 5px;
    text-transform: uppercase;
    transition: var(--transition-effect);
}

.programme-overview-art-creator {
    position: absolute;
    bottom: 0;
    left: 50%;
    width: 100%;
    padding-inline: var(--side-gap);
    transform: translate(-50%, 0);
    color: white;
    font-family: var(--theme-title-font-family);
    font-size: var(--font-size-7);
    font-style: italic;
    font-weight: 400;
    transition: var(--transition-effect);
}


.programme-overview-art-creator strong {
    font-weight: 700;
    font-size: var(--font-size-4);
}

.programme-overview-art-row>.wpb_column>.vc_column-inner>.wpb_wrapper {
    border-radius: 20px;
    position: relative;
}

.programme-overview-art-row>.wpb_column>.vc_column-inner>.wpb_wrapper:hover img {
    transform: scale(1.1);
}

.programme-overview-art-row img {
    aspect-ratio: 1/1;
    object-fit: cover;
}

.programme-overview-art-img .vc_figure {
    border-radius: 20px;
}

.programme-overview-art-img:after {
    content: '';
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: var(--black-color);
    opacity: 0.4;
    transition: var(--transition-effect);
}

.programme-overview-art-creator p {
    margin-bottom: 0;
}

@media only screen and (min-width: 768px) {
    .programme-overview-art-row img {
        aspect-ratio: 4/1;
    }

    .programme-overview-art-name {
        transform: translate(-50%, 0%);
        opacity: 0;
    }

    .programme-overview-art-row>.wpb_column>.vc_column-inner>.wpb_wrapper:hover .programme-overview-art-name {
        transform: translate(-50%, -50%);
        opacity: 1;
    }

    .programme-overview-art-creator {
        transform: translate(-50%, -50%);
        opacity: 0;
    }

    .programme-overview-art-row>.wpb_column>.vc_column-inner>.wpb_wrapper:hover .programme-overview-art-creator {
        transform: translate(-50%, 0);
        opacity: 1;
    }

    .programme-overview-art-img:after {
        opacity: 0;
    }

    .programme-overview-art-row>.wpb_column>.vc_column-inner>.wpb_wrapper:hover .programme-overview-art-img:after {
        opacity: 0.4;
    }
}

.programme-slide-img img {
    background-color: #EFEBF2;
    border-radius: 15px;
    object-fit: cover;
    aspect-ratio: 266 / 335;
}

.programme-slide-img,
.programme-slide-img * {
    width: 100%;
}

.programme-slide-position {
    border-bottom: 1px solid #6B6B6B;
    padding-bottom: 15px;
    margin-bottom: 15px;
    min-height: var(--text-height);
}

.programme-slide-position>.wpb_wrapper,
.programme-slide-role>.wpb_wrapper {
    opacity: 0.8;
    text-wrap-style: balance;
}

.programme-slide-sec .slick-list {
    overflow: visible !important;
}

@media only screen and (max-width: 767.98px) {
    .programme-slide-sec .slick-list {
        padding-inline: 50px !important;
    }
}

@media only screen and (max-width: 999.98px) {
    .t-mb-0 {
        margin-bottom: 0 !important;
    }
}

@media only screen and (min-width:768px) {
    .programme-slide-sec {
        padding-inline: 205px !important;
    }
}

.programme-slide-row .slick-dots li {
    font-size: 0;
    height: 2px;
    width: 100%;
    background-color: #6B6B6B;
    border-radius: 0;
    transition: var(--transition-effect);
}

.programme-slide-row .slick-dots li:hover,
.programme-slide-row .slick-dots .slick-active {
    background-color: var(--white-color);
}

.programme-slide-row .slick-dots {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: center;
    align-items: center;
    column-gap: 0;
    color: #D9D9D9;
    padding: 0;
    position: absolute;
    top: -35px;
    right: calc(-205px + var(--side-gap));
    width: calc(100% - 350px);
    transform: translateY(-100%);
    max-width: 300px;
    min-width: calc(205px - var(--side-gap));
}

@media only screen and (max-width:767.98px) {
    .programme-slide-row .slick-dots {
        right: var(--side-gap);
        width: calc(100% - (var(--side-gap) * 2));
        max-width: 100%;
        min-width: none;
    }

    .programme-slide-row {
        margin-top: 35px;
    }
}

.admission-banner-row>.wpb_column:first-child>.vc_column-inner {
    padding-inline: var(--side-gap) !important;
}

.admission-banner-row>.wpb_column:first-child>.vc_column-inner>.wpb_wrapper {
    display: flex;
    align-items: flex-start;
    flex-direction: column;
    justify-content: center;
    padding-top: 35px;
}

@media only screen and (max-width:999.98px) {
    .admission-banner-img img {
        aspect-ratio: 16 / 9;
    }

    .admission-banner-row>.wpb_column {
        width: 100% !important;
    }
}

.admission-entry-tab-row.programme-overview-tab-row .vc_active .vc_tta-panel-body {
    padding-bottom: calc(var(--row-gap) * 0.5 - 35px) !important;
}

.popup-form-row .main-title {
    text-align: left;
    background: linear-gradient(90deg, var(--theme-color) 0%, #D31820 7.69%, #CE1820 15.38%, #CA171F 23.08%, #C6171F 30.77%, #C1161E 38.46%, #BD151D 46.15%, #B9151D 53.85%, #B5141C 61.54%, #B1131B 69.23%, #AC131B 76.92%, #A8121A 84.62%, #A4121A 92.31%, #A01119 100%);
    margin-inline: -15px;
    margin-top: -18px;
    border-radius: 16px 16px 0 0;
    padding: 20px 15px;
    margin-bottom: 20px;
}

.admission-intake-box {
    display: flex;
    flex-wrap: wrap;
    column-gap: 30px;
    margin-inline: 0 !important;
}

.admission-intake-box:before,
.admission-intake-box:after {
    display: none;
}

.admission-intake-box>.wpb_column {
    border-radius: 14px;
    border: 1px solid rgba(255, 255, 255, 0.10);
    background: linear-gradient(135deg, #18181B 0%, #27272A 100%);
    padding-top: 35px;
    margin-bottom: 35px;
}

.admission-intake-box>.wpb_column.next {
    border: 1px solid var(--theme-color);
    background: var(--theme-color);
    position: relative;
}

.admission-intake-box>.wpb_column.next:after {
    content: 'NEXT INTAKE';
    color: var(--theme-color);
    font-size: var(--font-size-t);
    font-weight: 700;
    border-radius: 5px;
    background: #FFF;
    box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.10), 0 4px 6px -4px rgba(0, 0, 0, 0.10);
    padding: 10px 20px;
    display: block;
    position: absolute;
    right: 0;
    top: 0;
    transform: translate(15px, -50%);
}

[lang="zh-CN"] .admission-intake-box>.wpb_column.next:after {
    content: '下一期入学';
}

.admission-intake-box>.wpb_column>.vc_column-inner {
    padding-inline: var(--inner-side-gap);
}

.admission-intake-date {
    color: rgba(255, 255, 255, 0.70);
    font-size: var(--font-size-6);
    font-weight: 400;
    letter-spacing: 0.07px;
    margin-bottom: 10px;
}

.next .admission-intake-date {
    color: #FFFFFFB2;
}

.admission-intake-date strong {
    color: var(--theme-color);
    font-size: var(--font-size-3);
    font-weight: 700;
    letter-spacing: 0.369px;
}

.next .admission-intake-date strong {
    color: var(--white-color);
}

.admission-intake-date p {
    margin-bottom: 0 !important;
}

.admission-intake-status {
    border-radius: 5px;
    background: rgba(215, 25, 33, 0.20);
    padding: 5px 10px;
    color: var(--theme-color);
    font-size: var(--font-size-s);
    font-weight: 700;
    width: fit-content;
    margin-bottom: 15px;
}

.next .admission-intake-status {
    background: rgba(255, 228, 206, 0.20);
    color: #FFDBBF;
}

.soon .admission-intake-status {
    background: rgba(43, 127, 255, 0.20);
    color: #51A2FF;
}

.admission-intake-status:before {
    content: 'Applications Closed';
}

.next .admission-intake-status:before {
    content: 'In Progress';
}

.soon .admission-intake-status:before {
    content: 'Opening Soon';
}

[lang="zh-CN"] .admission-intake-status:before {
    content: '申请已截止';
}

[lang="zh-CN"] .next .admission-intake-status:before {
    content: '进行中';
}

[lang="zh-CN"] .soon .admission-intake-status:before {
    content: '即将开放';
}

.admission-intake-click {
    color: #C8C8C8;
    font-size: var(--font-size-s);
    font-weight: 400;
    padding-top: 15px;
    border-top: 1px solid #414141;
    transition: var(--transition-effect);
}

.next .admission-intake-click {
    border-top: 1px solid #FFFFFF33;
}

@media only screen and (max-width:999.98px) and (min-width:768px) {
    .admission-intake-box>.wpb_column {
        width: calc((100% - 30px) / 2);
    }
}


.admission-intake-click {
    opacity: 0;
}

@media only screen and (min-width:1000px) {


    .admission-intake-box>.wpb_column {
        width: calc((100% - 90px) / 4);
    }

    .admission-intake-box>.wpb_column.next:hover .admission-intake-click {
        opacity: 1 !important;
    }

    .admission-intake-box>.wpb_column.next:hover {
        transform: translateY(-10px);
    }

}

@media only screen and (max-width: 767.98px) {
    .admission-intake-box>.wpb_column {
        width: 100% !important;
    }

    .admission-intake-box>.wpb_column.next .admission-intake-click {
        opacity: 1 !important;
    }
}

.admission-banner-img>.vc_figure {
    position: relative;
    border-radius: 0 0 0 20px;
    overflow: hidden;
}

.admission-intake-box>.wpb_column {
    transition: var(--transition-effect);
}

.admission-apply-box>.wpb_column>.vc_column-inner>.wpb_wrapper {
    border-radius: 15px;
    border: 1px solid rgba(255, 255, 255, 0.10);
    background: #212124;
    padding-top: 35px;
    padding-inline: var(--inner-side-gap);
    transition: var(--transition-effect);
    width: 100%;
}

.admission-apply-box {
    flex: 1;
    text-align: justify;
    margin-inline: 0 !important;
}

.admission-apply-box>.wpb_column>.vc_column-inner {
    padding-inline: 0 !important;
}

.admission-apply-box,
.admission-apply-box>.wpb_column,
.admission-apply-box>.wpb_column>.vc_column-inner,
.admission-apply-box>.wpb_column>.vc_column-inner>.wpb_wrapper {
    display: flex;
    justify-content: stretch;
}

.admission-apply-row>.wpb_column>.vc_column-inner>.wpb_wrapper,
.admission-apply-box>.wpb_column>.vc_column-inner>.wpb_wrapper {
    display: flex;
    flex-direction: column;
}

.admission-apply-number {
    position: relative;
}

.admission-apply-row>.wpb_column:not(:last-child) .admission-apply-number:before {
    content: '';
    display: block;
    position: absolute;
    left: 50%;
    top: 30px;
    width: 100%;
    height: 1px;
    background-color: var(--white-color);
}

.admission-apply-number>.wpb_wrapper {
    color: var(--white-color);
    font-size: var(--font-size-7);
    font-weight: 700;
    width: 60px;
    height: 60px;
    display: flex;
    background-color: var(--black-color);
    border: 2px solid var(--white-color);
    border-radius: 50%;
    justify-content: center;
    align-items: center;
    margin-inline: auto;
    position: relative;
    transition: var(--transition-effect);
}

.admission-apply-row>.wpb_column>.vc_column-inner>.wpb_wrapper {
    margin-bottom: 35px;
}


.admission-apply-row>.wpb_column>.vc_column-inner>.wpb_wrapper:hover .admission-apply-number>.wpb_wrapper {
    background-color: var(--theme-color);
    border: 2px solid var(--theme-color);
}

.admission-apply-row>.wpb_column>.vc_column-inner>.wpb_wrapper:hover .admission-apply-box>.wpb_column>.vc_column-inner>.wpb_wrapper {
    background-color: var(--theme-color);
}

.admission-apply-row>.wpb_column .text-theme {
    transition: var(--transition-effect);
}

.admission-apply-row>.wpb_column>.vc_column-inner>.wpb_wrapper:hover .text-theme {
    color: var(--white-color) !important;
}

@media only screen and (max-width: 999.98px) {
    .admission-apply-row>.wpb_column {
        width: 100%;
    }

    .admission-apply-row>.wpb_column>.vc_column-inner>.wpb_wrapper {
        flex-direction: row;
        column-gap: 30px;
    }

    .admission-apply-row>.wpb_column:not(:last-child) .admission-apply-number:before {
        content: '';
        display: block;
        position: absolute;
        left: 50%;
        top: 0;
        width: 1px;
        height: calc(100% + 70px);
        background-color: var(--white-color);
    }
}

.admission-apply-doc-row .main-title:not(:first-child) {
    padding-top: calc(var(--row-gap) / 2);
    margin-top: calc(var(--row-gap) / 2);
    border-top: 1px solid #A4A4A4;
}

.admission-apply-doc-text li::marker {
    color: var(--theme-color);
}

.admission-apply-doc-text table {
    border: none;
}

.admission-apply-doc-text table td {
    padding: 0;
    border: none;
    vertical-align: top;
}

.admission-apply-doc-text table td:nth-child(2) {
    padding-right: 0.35em;
}

.admission-apply-doc-text table tr:not(:last-child) td {
    padding-bottom: 5px;
}

.admission-apply-doc-text table td:first-child {
    color: var(--theme-color);
    font-size: var(--font-size-6);
    font-weight: 700;
}

.admission-apply-doc-text table td:not(:first-child) {
    font-size: var(--font-size-t);
    opacity: 0.8;
}

.admission-apply-doc-img>.vc_figure {
    position: relative;
}

.admission-apply-doc-img>.vc_figure:after {
    content: '';
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 25%;
    background: linear-gradient(0deg, rgba(0, 0, 0, 0.00) 0%, #000 100%);
}

.admission-apply-register-row>.wpb_column:last-child {
    padding-inline: var(--side-gap);
}

.admission-apply-register-img>.vc_figure {
    border-radius: 0 20px 20px 0;
}

.admission-banner-row .main-title {
    animation: 0.5s slideTitle ease-out forwards 1s;
    transform: translateX(min(-50vw, calc(-100% - var(--side-gap))));
}

.admission-banner-row .wpb_text_column {
    animation: 0.5s wakeUp ease-out forwards 1.5s;
    transform: rotate3d(1, 0, 0, 90deg);
    transform-origin: bottom;
}

.menublock-title {
    color: #2B2B2B;
    padding-bottom: 35px;
    margin-bottom: 35px;
    border-bottom: 1px solid rgba(107, 107, 107, 0.20);
}

#header li:not(.more-items-container) > .sub-menu > li {
    padding: var(--inner-row-gap) calc(var(--inner-large-side-gap) - 15px);
}

#header li:not(.more-items-container) > .sub-menu {
    margin-left: calc(200px + var(--side-gap));
    margin-right: calc(var(--side-gap));
    width: calc(100% - 200px - var(--side-gap) - var(--side-gap));
    border-radius: 10px;
    border: 1px solid #6B6B6B;
    background: #EEE;
    box-shadow: 0 2px 20px 1px rgba(0, 0, 0, 0.20);
    position: fixed;
    left: 0;
    top: 100px;
    transition: var(--transition-effect);
}

[data-header="type-1:sticky:shrink"] #header li:not(.more-items-container) > .sub-menu {
    top: 80px;
}

.admin-bar #header li:not(.more-items-container) > .sub-menu {
    top: calc(100px + 32px);
}

.admin-bar[data-header="type-1:sticky:shrink"] #header li:not(.more-items-container) > .sub-menu {
    top: calc(80px + 32px);
}

#header li:not(.more-items-container) > .sub-menu > .menu-item {
    display: block !important;
    max-height: calc(100vh - 80px - 35px);
    overflow-y: auto;
}

#header li.more-items-container > .sub-menu {
}

.menublock-row .vc_wp_custommenu .widget-menu a {
    font-size: var(--font-size-t);
    color: #323232;
    width: fit-content;
}

.menublock-row .vc_wp_custommenu .widget-menu a:hover {
    color: var(--theme-color);
}

.menublock-row .vc_wp_custommenu .widget-menu>li:not(:last-child) {
    margin-bottom: 10px;
}

#header .ct-toggle-dropdown-desktop {
    display: none;
}

.about-banner-row {
    border-radius: 0 0 0 20px;
    overflow: hidden;
}

.about-story-rows {
    position: relative;
    margin-inline: -15px;
}

.about-story-rows:before {
    content: '';
    display: block !important;
    position: absolute;
    right: calc(var(--side-gap) + 25px);
    bottom: 0;
    width: calc(100% - (var(--side-gap) * 2));
    height: 1px;
    transform: translate(0, 50%);
    background: rgba(255, 255, 255, 0.40);
}

@media only screen and (max-width: 767.98px) {
    .about-story-rows:before {
        width: calc(100% - ((25px + var(--side-gap)) * 2));
        left: 50%;
        right: auto;
        transform: translate(-50%, 50%);
    }
    .admission-banner-row .main-title {
        width: 100%;
    }
}

.about-story-slide-img>.vc_figure {
    background-color: var(--white-color);
    border-radius: 10px;
    padding: 15px;
}

.about-story-slide-img.pic>.vc_figure {
    padding: 0;
}

.about-story-slide-year {
    color: var(--white-color);
    font-family: var(--theme-title-font-family);
    font-size: var(--font-size-7);
    font-style: italic;
    font-weight: 700;
    position: relative;
    padding-block: 10px;
    margin-bottom: 50px;
}

.about-story-slide-year:before {
    content: '';
    display: block;
    position: absolute;
    width: 1px;
    height: 35px;
    left: 0;
    bottom: -15px;
    transform: translate(0, 100%);
    background-color: var(--white-color);
}

.about-story-slide-year-title {
    color: var(--theme-color);
    font-family: var(--theme-title-font-family);
    font-size: var(--font-size-2);
    font-style: italic;
    font-weight: 700;
}

.about-story-slide {
    overflow: hidden !important;
}

.about-story-slide:after {
    content: '';
    display: block;
    position: absolute;
    width: 75%;
    height: 100%;
    top: 0;
    left: 0;
    background-image: url(./images/milestone-img.webp);
    background-size: cover;
    background-position: center;
    z-index: -1;
}

.about-story-slide-text {
    text-align: justify;
}

.about-story-slide-box {
    margin-inline: 0;
}

.about-story-slide>.wpb_column:last-child>.vc_column-inner {
    padding-inline: 0 !important;
}

@media only screen and (min-width: 768px) {
    .about-story-slide>.wpb_column:last-child>.vc_column-inner {
        padding-left: 50px !important;
    }

    .about-story-slide>.wpb_column:last-child>.vc_column-inner>.wpb_wrapper {
        padding-left: 50px !important;
        padding-right: 100px !important;
        overflow: hidden;
    }
}

.about-story-slide .slick-list {
    overflow: visible;
}

.about-story-slide>.wpb_column:last-child>.vc_column-inner>.wpb_wrapper {
    position: relative;
}

.about-story-slide>.wpb_column:last-child>.vc_column-inner>.wpb_wrapper:before {
    content: '';
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 47px;
    border-radius: 8px 0 0 8px;
    background: linear-gradient(0deg, rgba(33, 33, 33, 0.90) 0%, rgba(33, 33, 33, 0.90) 100%), url(<path-to-image>) lightgray 0.282px -7.96px / 100.038% 213.653% no-repeat;
}

.slick-disabled {
    visibility: hidden;
}

@media only screen and (max-width: 767.98px) {
    .about-story-slide-box {
        padding-inline: 30px;
    }

    .about-story-slide>.wpb_column:last-child>.vc_column-inner>.wpb_wrapper:before {
        border-radius: 0;
    }
}

.about-story-trust-row>.wpb_column {
    width: 100%;
}

.about-story-trust-row {
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
    margin-inline: -7.5px !important;
}

.about-story-trust-row:after {
    display: none;
}

.about-story-trust-row>.wpb_column>.vc_column-inner>.wpb_wrapper {
    border-radius: 15px;
    border: 1px solid rgba(255, 255, 255, 0.10);
    background: #212124;
    padding-top: 35px;
    padding-inline: 15px;
    margin-bottom: 35px;
    transition: var(--transition-effect);
}

.about-story-trust-logo img {
    aspect-ratio: 16/9;
    object-fit: contain;
    object-position: center;
    transition: var(--transition-effect);
}

.about-story-trust-row>.wpb_column>.vc_column-inner {
    padding-inline: 7.5px !important;
}

.about-story-trust-row>.wpb_column>.vc_column-inner>.wpb_wrapper:hover {
    background: var(--theme-color);
}

.about-story-trust-row>.wpb_column>.vc_column-inner>.wpb_wrapper:hover .about-story-trust-logo img {
    transform: scale(1.1);
}

.life-student-row>.wpb_column:has(.wpb_text_column):last-child>.vc_column-inner,
.life-student-row>.wpb_column:has(img):first-child>.vc_column-inner {
    padding-right: var(--side-gap);
}

.life-student-row>.wpb_column:has(.wpb_text_column):first-child>.vc_column-inner,
.life-student-row>.wpb_column:has(img):last-child>.vc_column-inner {
    padding-left: var(--side-gap);
}

.life-student-row>.wpb_column:has(img):first-child .life-student-img>.vc_figure {
    border-radius: 0 20px 20px 0;
}

.life-student-row>.wpb_column:has(img):last-child .life-student-img>.vc_figure {
    border-radius: 20px 0 0 20px;
}

@media only screen and (min-width: 768px) {

    .life-student-sec,
    .life-student-row {
        overflow: visible !important;
    }

    .life-student-row>.wpb_column {
        position: sticky;
        top: 115px;
    }
}

@media only screen and (min-width: 1000px) {
    .col-c-2 {
        column-count: 2;
        column-gap: 15px;
    }
}

@media only screen and (max-width: 767.98px) {
    .life-student-row>.wpb_column>.vc_column-inner {
        padding-inline: var(--side-gap) !important;
    }

    .life-student-row:has(> .wpb_column:first-child img) {
        display: flex;
        flex-direction: column-reverse;
    }
}

.life-student-row.line {
    position: relative;
}

.life-student-row.line:before {
    content: '';
    display: block;
    position: absolute;
    bottom: 0;
    left: 50%;
    height: 1px;
    width: calc(100% - (var(--side-gap) * 2));
    transform: translate(-50%, 50%);
    background-color: var(--white-color);
    opacity: 0.4;
}

.admission-banner-row>.wpb_column:last-child>.vc_column-inner {
    padding-inline: 0 !important;
}

.showcase-img {
    margin-bottom: 20px;
}

.showcase-img img {
    aspect-ratio: 4/3;
    object-fit: cover;
}

.showcase-img>.vc_figure {
    border-radius: 15px;
}

.loadmore-hidden {
    display: none !important;
}

.loadmore-reveal {
    animation: loadmoreFadeIn 0.5s ease both;
}

@keyframes loadmoreFadeIn {
    from {
        opacity: 0;
        transform: translateY(20px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.loadmore-btn {
    margin-inline: auto;    
    width: 100%;
    text-align: center;
}

.single-student_showcase .hero-section,
.post-type-archive-student_showcase .hero-section,
.post-type-archive-awards .hero-section,
.category .hero-section,
.blog .hero-section {
    display: none;
}

.post-type-archive-student_showcase .entry-button {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 2;
    border-radius: 8px !important;
    border: 1px solid #FFF;
    background: rgba(255, 255, 255, 0.01);
    backdrop-filter: blur(2.5px);
    padding: 15px 25px;
    transition: var(--transition-effect) !important;
}

.post-type-archive-student_showcase .entry-button:hover {
    border: 1px solid var(--theme-color);
    background-color: var(--theme-color);
}

.post-type-archive-student_showcase .ct-media-container {
    border-radius: 15px !important;
    position: relative;
    overflow: hidden;
}

.post-type-archive-student_showcase .ct-media-container:after {
    content: '';
    display: block;
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    background-color: var(--black-color);
    opacity: 0.3;
    transition: var(--transition-effect) !important;
}

@media only screen and (min-width: 1000px) {
    .post-type-archive-student_showcase .entry-button {
        opacity: 0;
    }

    .post-type-archive-student_showcase .entry-card:hover .entry-button {
        opacity: 1;
    }

    .post-type-archive-student_showcase .ct-media-container:after {
        opacity: 0;
    }

    .post-type-archive-student_showcase .entry-card:hover .ct-media-container:after {
        opacity: 0.3;
    }
}

.award-name {
    font-size: var(--font-size-7);
    padding-bottom: 25px;
    margin-bottom: 25px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.40);
    ;
}

.award-name strong {
    color: var(--theme-color);
    font-weight: 700;
}

.award-name em {
    opacity: 0.8;
    font-style: normal;
}

/* =========================================
   AWARD GALLERY
========================================= */

.custom-award-gallery {
    width: 100%;
    max-width: 100%;
    position: relative;
}

/* =========================================
   MAIN IMAGE
========================================= */

.award-gallery-main {
    width: 100%;
    background: #000;
    border-radius: 12px;
    overflow: hidden;

    display: flex;
    align-items: center;
    justify-content: center;
}

.award-gallery-main-image {
    width: 100%;
    object-fit: cover;
    display: block;
    aspect-ratio: 4/3;
}


/* =========================================
   THUMBNAIL NAVIGATION
========================================= */

.award-gallery-navigation {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-top: 12px;
    width: 100%;
}


/* =========================================
   THUMBNAILS
========================================= */

.award-gallery-thumbnails {
    display: flex;
    gap: 10px;

    overflow-x: auto;
    overflow-y: hidden;

    scroll-behavior: smooth;

    flex: 1;

    scrollbar-width: none;
    -ms-overflow-style: none;
}

.award-gallery-thumbnails::-webkit-scrollbar {
    display: none;
}


.award-gallery-thumbnail {
    flex: 0 0 110px;

    width: 110px;
    height: 85px;

    padding: 0;

    border: 2px solid var(--black-color);
    border-radius: 8px;

    overflow: hidden;

    background: #eee;

    cursor: pointer;

    opacity: 0.65;

    transition:
        opacity 0.2s ease,
        border-color 0.2s ease,
        transform 0.2s ease;
}


.award-gallery-thumbnail img {
    width: 100%;
    height: 100%;

    object-fit: cover;

    display: block;
}


/* Active thumbnail */

.award-gallery-thumbnail.active {
    border-color: var(--theme-color);
    opacity: 1;
    transform: scale(1.02);
}


/* Hover */

.award-gallery-thumbnail:hover {
    opacity: 1;
}


/* =========================================
   ARROWS
========================================= */

.award-gallery-arrow {
    flex: 0 0 35px;

    width: 35px;
    height: 35px;

    border: none;
    border-radius: 50%;

    background: transparent;

    color: var(--white-color);

    font-size: 24px;
    line-height: 1;

    display: flex;
    align-items: center;
    justify-content: center;

    cursor: pointer;

    transition:
        background 0.2s ease,
        transform 0.2s ease;
}


.award-gallery-arrow:hover {
    color: var(--theme-color);
}


/* =========================================
   MOBILE
========================================= */

@media (max-width: 767px) {

    .award-gallery-main {
        border-radius: 15px;
    }

    .award-gallery-thumbnail {
        flex: 0 0 90px;
        width: 90px;
        height: 70px;
    }

    .award-gallery-navigation {
        gap: 6px;
    }

    .award-gallery-arrow {
        flex: 0 0 30px;
        width: 30px;
        height: 30px;
        font-size: 20px;
    }
}

.award-img-col {
    margin-bottom: 35px;
}

.award-banner-row>.wpb_column>.vc_column-inner {
    padding-inline: 0 !important;
}

.award-related .entries,
.blog-related .entries {
    --grid-template-columns: repeat(3, 1fr);
    display: grid;
    column-gap: 30px;
    grid-template-columns: var(--grid-template-columns);
}

@media (max-width: 999.98px) {

    .award-related .entries,
    .blog-related .entries {
        --grid-template-columns: repeat(2, 1fr) !important;
    }
}

@media (max-width: 767.98px) {

    .award-related .entries,
    .blog-related .entries {
        --grid-template-columns: repeat(1, 1fr) !important;
    }
}

.award-related [data-archive=default] .card-content>*,
.blog-related [data-archive=default] .card-content>* {
    margin-block: 0 var(--card-element-spacing, 30px);
}

.award-related,
.blog-related {
    margin-top: calc(var(--row-gap) - 35px);
    padding-top: var(--row-gap);
    border-top: 1px solid rgba(255, 255, 255, 0.40);
}

.single-awards .ct-media-container,
.single-post .ct-media-container {
    border-radius: 15px;
}

[data-archive=default] .entry-card .entry-title {
    --theme-link-initial-color: initial;
}

.entry-card .entry-title {
    --theme-font-size: 20px;
    --theme-line-height: 1.3;
}

.awards-template-default .entry-excerpt {
    opacity: 0.8;
}

.entry-excerpt {
    text-align: justify !important;
}

.my-blog-category-nav {
    display: flex;
    align-items: center;
    gap: 15px;
    background: #000;
    overflow-x: auto;
    padding-inline: var(--side-gap);
    margin-top: var(--row-gap);
    margin-bottom: calc(var(--row-gap) * -1 + 35px);
}

.my-blog-category-nav a {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 15px 35px;
    color: #fff;
    text-decoration: none;
    font-size: var(--font-size-7);
    font-weight: 400;
    white-space: nowrap;
    transition: var(--transition-effect);
    border-radius: 10px;
}

.my-blog-category-nav a.active {
    background: var(--theme-color);
    font-weight: 700;
}

.my-blog-category-nav a:hover {
    background: var(--theme-color);
}

.my-blog-category-nav a.active:hover {
    background: #e51b23;
}

.menublock-img>.vc_figure {
    border-radius: 10px;
    overflow: hidden;
    position: relative;
}

.about-why-icon img {
    height: 50px;
    object-fit: contain;
}

.about-why-icon {
    margin-bottom: 25px;
}

.about-why-icon-row > .wpb_column {
    padding-top:35px;
}

.about-why-icon-row > .wpb_column:not(:last-child) {
    border-right: 1px solid #949494;
}

@media only screen and (max-width:999.98px) {
    .about-why-icon-row > .wpb_column {
        width: 50%;
    }
    .about-why-icon-row > .wpb_column:not(:last-child) {
        border-bottom: 1px solid #949494;
    }
    .about-why-icon-row > .wpb_column:nth-child(odd) {
        border-right: 1px solid #949494;
    }
    .about-why-icon-row > .wpb_column:nth-child(even) {
        border-right: none;
    }
}

@media only screen and (max-width:767.98px) {
    .about-why-icon-row > .wpb_column {
        width: 100%;
    }
    .about-why-icon-row > .wpb_column {
        border-right: none !important;
    }
}

#main {
    counter-reset: counter;
}

.about-why-why-box > .wpb_column {
    counter-increment: counter;
}

.about-why-why-box > .wpb_column > .vc_column-inner {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: flex-start;
    column-gap: 15px;
}

.about-why-why-box > .wpb_column > .vc_column-inner::before {
    content: counter(counter, decimal-leading-zero);
    position: relative;
    display: block;
    width: 21px;
    color: var(--theme-color);
    font-size: var(--font-size-7);
    font-weight: 700;
}

.about-why-why-row,
.international-sec{
    position: relative;
}

.international-sec:after,
.about-why-why-row:after {
    content: '';
    display: block;
    position: absolute;
    right: 0;
    top: 50%;
    width: 40%;
    height: auto;
    max-height: 100%;
    aspect-ratio: 609 / 573;
    background-image: url(./images/why-bg.webp);
    background-size: cover;
    background-position: top;
    z-index: -1;
    transform: translateY(-50%);
    background-repeat: no-repeat;
}

@media only screen and (max-width: 999.98px) {
    .international-sec:after,
    .about-why-why-row::after {
        height: 100%;
        background-position: left center;
        background-size: cover;
        width: 70%;
    }
}

.about-why-vm-title {
    color: var(--theme-color);
    transition: var(--transition-effect);
    font-size: var(--font-size-7);
    font-weight: 700;
}

.about-why-vm-subtext {
    color: #CDCDCD;
}

.about-why-vm-row > .wpb_column:not(:first-child) > .vc_column-inner > .wpb_wrapper {
    border-radius: 15px;
    border: 1px solid rgba(255, 255, 255, 0.10);
    background: #212124;
    transition: var(--transition-effect);
    padding: 35px var(--inner-side-gap) 0;
    margin-bottom: 35px;
}

.about-why-vm-row > .wpb_column:not(:first-child) > .vc_column-inner > .wpb_wrapper:hover {
    border-radius: 15px;
    border: 1px solid rgba(255, 255, 255, 0.10);
    background: var(--theme-color);
}

.about-why-vm-row > .wpb_column > .vc_column-inner > .wpb_wrapper:hover .about-why-vm-title {
    color: var(--white-color);
}

.about-why-vm-icon img {
    height: 50px;
    width: 50px;
}

.about-partner-logo {
    margin-bottom: 15px;
}

.about-partner-logo,
.about-partner-logo * {
    width: 100%;
}

.about-partner-logo img {
    background-color: var(--white-color);
    aspect-ratio: 4 / 3;
    object-fit: contain;
    padding: 10px;
    border-radius: 10px;
}

.about-partner-box {
    margin: 0;
    border-radius: 15px;
    border: 1px solid rgba(255, 255, 255, 0.10);
    background: #212124;
    padding: 15px 0 0;
}

.about-partner-box,
.about-partner-box > .wpb_column,
.about-partner-box > .wpb_column > .vc_column-innerm {
    display: flex;
    justify-content: stretch;
}

.about-partner-box > .wpb_column > .vc_column-inner > .wpb_wrapper {
    display: flex;
    flex-direction: column;
}

.about-partner-country {
    text-align: center;
    margin-bottom: 15px;
}

.about-partner-name {
    flex: 1;
    margin-bottom: 0;
    padding-bottom: 20px;
    border-bottom: 1px solid var(--theme-color);
    margin-bottom: 10px;
}

.about-partner-row {
    overflow: hidden !important;
}

.about-partner-row .vc_tta-panel-body {
    grid-template-columns: repeat(6, 1fr);
    gap: 15px;
}

.about-partner-row  .vc_active .vc_tta-panel-body,
.about-partner-row .vc_animating .vc_tta-panel-body {
    display: grid !important;
}


.about-partner-row .vc_active .vc_tta-panel-body {
    padding-top: calc(var(--row-gap) * 0.5) !important;
    padding-bottom: 0 !important;
}

.about-partner-row .vc_tta-panel-body {
    padding-inline: 0 !important;
    border: none !important;
}

.about-partner-row .vc_tta-panel-heading {
    display: none;
}

.about-partner-row .vc_tta-tabs-container {
    display: block !important;
    overflow: auto !important;
}

.about-partner-row .vc_tta-tabs-list {
    display: flex !important;
    column-gap: 15px;
}

.about-partner-row .vc_tta-tab {
    width: max-content;
}

.about-partner-row .vc_tta-tab a {
    display: flex !important;
    justify-content: center;
    align-items: center;
    white-space: nowrap;
    color: var(--white-color) !important;
    background-color: transparent !important;
    border: none !important;
    border-radius: 10px !important;
    transition: var(--transition-effect);
    padding: 20px 30px !important;
    font-size: var(--font-size-7) !important;
    font-weight: 400 !important;
    text-align: center !important;
}

.about-partner-row .vc_tta-tab a:hover {
    background-color: var(--theme-color) !important;
}

.about-partner-row .vc_tta-tab.vc_active a {
    background-color: var(--theme-color) !important;
    font-weight: 700 !important;
}

@media only screen and (min-width: 1200px) {
    .about-partner-row .vc_tta-tabs-list {
        justify-content: center;
    }
}

@media only screen and (max-width: 1199.98px) {
    .about-partner-row .vc_tta-panel-body {
        grid-template-columns: repeat(4, 1fr);
    }
}

@media only screen and (max-width: 1000.98px) {
    .about-partner-row .vc_tta-panel-body {
        grid-template-columns: repeat(3, 1fr);
    }
}

@media only screen and (max-width: 767.98px) {
    .about-partner-row .vc_tta-panel-body {
        grid-template-columns: repeat(2, 1fr);
    }
}

.international-sec .vc_tta-panel-heading {
    background-color: transparent !important;
    border: none !important;
}

.international-sec .vc_tta-panel {
    transition: var(--transition-effect);
}

.international-sec .vc_active.vc_tta-panel {
    background-color: var(--theme-color);
    border-radius: 15px;
}

.award-row {
    overflow: hidden !important;
}

.international-sec .vc_tta-panel-title > a {
    position: relative;
    display: flex !important;
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: flex-start;
    gap: 15px;
    border-top: 1px solid #A4A4A4 !important;
    border-bottom: 1px solid #A4A4A4 !important;
    padding-block: 20px !important;
}

/* Active panel */
.international-sec .vc_tta-panel.vc_active .vc_tta-panel-title > a {
    border-top: none !important;
    border-bottom: none !important;
}

/* Panel immediately BEFORE the active panel */
.international-sec .vc_tta-panel:has(+ .vc_active) .vc_tta-panel-title > a {
    border-bottom: none !important;
}

/* Panel immediately AFTER the active panel */
.international-sec .vc_tta-panel.vc_active + .vc_tta-panel .vc_tta-panel-title > a {
    border-top: none !important;
}

.international-sec .vc_tta-panel-body {
    padding-top: 0 !important;
}

.international-sec .vc_tta-panel {
    counter-increment: counter;
}

.international-sec .vc_tta-panel-title > a:before {
    content: counter(counter, decimal-leading-zero);
    display: block;
    position: relative;
    font-size: var(--font-size-6);
    font-weight: 700;
}

.international-sec .vc_tta-panel-title > a {
    font-size: var(--font-size-7);
    font-weight: 700;
    color: var(--white-color) !important;
}

.international-why-row > .wpb_column:first-child > .vc_column-inner {
    padding-inline: var(--side-gap) !important;
}

.international-apply-sec {
    position:relative;
}

.international-apply-sec:before {
    content:'';
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: var(--theme-color);
    opacity: 0.7;
}


@media only screen and (min-width:1000px) {
    .campus-gal-row {
        padding-inline: var(--full-side-gap)
    }
    
    .campus-sec .award-gallery-thumbnail {
        flex: 0 0 300px;
        width: 300px;
        height: 200px;
        padding: 0;
    }
    
    .campus-sec .award-gallery-main-image {
        aspect-ratio: 3/1;
    }
}

.micro-row > .wpb_column > .vc_column-inner >.wpb_wrapper {
    border-radius: 20px;
    background: #2C2C2C;
    padding: 35px var(--inner-large-side-gap) 0;
    display: flex;
    flex-direction: column;
    margin-bottom: 35px;
}

#header #menu-main-menu > .menu-item > a,
#header #menu-linked-menu > .menu-item > a {
    letter-spacing: 0.8px;
}

@media only screen and (max-width:1499.98px) {
    [data-header*="type-1"] .ct-header [data-id="menu"] {
        --margin: 0px 10px !important;
    }
    [data-header*="type-1"] .ct-header [data-id="menu"] {
        --menu-items-gap: 25px;
    }
}

/*@media only screen and (max-width:1329.98px) {*/
/*    #header [data-device="mobile"] {*/
/*        display: block !Important;*/
/*    }*/
/*    #header [data-device="desktop"] {*/
/*        display: none !Important;*/
/*    }*/
/*}*/

#loading-screen {
    position: fixed;
    inset: 0;
    z-index: 99999;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--black-color);
    opacity: 1;
    visibility: visible;
    transition: opacity 0.4s ease, visibility 0.4s ease;
}

#loading-screen.hidden {
    opacity: 0;
    visibility: hidden;
}

.loading-logo {
    width: 120px;
    height: auto;
    animation: loading-pulse 1.2s ease-in-out infinite;
}

@keyframes loading-pulse {
    0%, 100% {
        opacity: 0.5;
        transform: scale(0.95);
    }

    50% {
        opacity: 1;
        transform: scale(1);
    }
}

.trp-shortcode-switcher {
    border-color: transparent !important;
}

.trp-shortcode-switcher:hover {
    border-color: var(--white-color) !important;
}

