/*CSS Template 1.3 by J - Updated December 2025*/
/*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: "graphik";
  font-weight: 100;
  src: url("./fonts/Graphik-Thin.otf") format("opentype");
}

@font-face {
  font-family: "graphik";
  font-weight: 200;
  src: url("./fonts/Graphik-Extra-Light.otf") format("opentype");
}

@font-face {
  font-family: "graphik";
  font-weight: 300;
  src: url("./fonts/Graphik-Light.otf") format("opentype");
}

@font-face {
  font-family: "graphik";
  font-weight: 400;
  src: url("./fonts/Graphik-Regular.otf") format("opentype");
}

@font-face {
  font-family: "graphik";
  font-weight: 500;
  src: url("./fonts/Graphik-Medium.otf") format("opentype");
}

@font-face {
  font-family: "graphik";
  font-weight: 600;
  src: url("./fonts/Graphik-Semi-Bold.otf") format("opentype");
}

@font-face {
  font-family: "graphik";
  font-weight: 700;
  src: url("./fonts/Graphik-Bold.otf") format("opentype");
}

@font-face {
  font-family: "graphik";
  font-weight: 800;
  src: url("./fonts/Graphik-Black.otf") format("opentype");
}

@font-face {
  font-family: "graphik";
  font-weight: 900;
  src: url("./fonts/Graphik-Super.otf") format("opentype");
}

/*[Presets]*/
/*====================================================================================================*/
:root{
    --theme-font-family: "graphik";
    --fa-brand:"Font Awesome 7 Brands";
    --fa-icon:"Font Awesome 7 Free";
    --font-size-1:60px;
    --font-size-2:30px;
    --font-size-3:27px;
    --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;
    --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;
    --grey-color:#4B4B4B;
    --theme-color:#006DBE;
    --dark-theme-color:#003358; /* Button hover */
    --darkblue-color: #233759; /* Darkblue color title */
    --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:40px;
        --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;
        --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:500 !important;
}

.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:500 !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 {
    padding-bottom: calc(var(--row-gap) - 35px);
    padding-top: 0 !important;
}

.single-post #main > .ct-container {
    padding-bottom: 0 !important;
}

.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-b {
    padding-bottom:calc(var(--row-gap) - 35px) !important;
}

.row-gap-b-equal {
    padding-bottom:var(--row-gap) !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]*/
/*====================================================================================================*/
.contact-form > .vc_column-inner{
    padding-inline: 50px;
    background: #ffffff;
    margin-inline: auto !important;
    max-width: 1000px;
}

.form  {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    column-gap: 15px;
    row-gap: 15px;
    margin-bottom: 20px;
}

.form label {
    color:#BFBFBF;
    font-size:var(--font-size-6);
    font-weight: 400 !important;
}

.form #msg, .form #recaptcha, .form #privacy {
    grid-column: 1/4;
}

.form #privacy {
    text-align: center;
}

@media only screen and (max-width:767.98px) {
    .form  {
        grid-template-columns: 1fr;
    }
    
    .form #msg, .form #recaptcha, .form #privacy {
        grid-column: 1/2;
    }

}

.form input, 
.form textarea,
.form select,
.form input:focus, 
.form textarea:focus,
.form select:focus {
    border-radius: 10px;
    border:1px solid #D9D9D9 !important;
    color:#0D0E14;
    background-color:#ffffff;
    text-transform: none;
    resize: none;
}

::-webkit-939598-placeholder {
    color:#939598;
    font-size: 16px;
    font-weight: 400;
}

.form .enquiry::placeholder {
    color:#939598;
    font-size: 16px;
    font-weight: 400;
    opacity: 1;
}

#send {
    position: relative;
    width: fit-content;
    display: flex;
}

#send .wpcf7-spinner {
    position: absolute;
    right: -65px;
    top: 5px;
}

#send.center {
    margin-left: auto;
    margin-right: auto;
    width: fit-content;
}

/*[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);
}

.map-frame .wpb_gmaps_widget .wpb_wrapper {
    background-color: transparent;
}

/*[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-grey {
    color:var(--grey-color) !important;
}

.text-darkblue {
    color:var(--darkblue-color) !important;
}

.text-theme {
    color:var(--theme-color) !important;
}

.upper {
    text-transform:uppercase !important;
}

.lower {
    text-transform:lowercase !important;
}

.cap {
    text-transform:capitalize !important;
}

.main-title {
    font-size:var(--font-size-2);
    font-weight:600;
    text-transform:uppercase;
    margin-bottom: 35px;
}

.main-title + .wpb_text_column {
    margin-top: -25px;
}

.main-title b {
    color:var(--theme-color) !important;
    font-weight:600;
}

.mini-title {
    font-size:var(--font-size-s);
    color:var(--theme-color);
    font-weight:500;
    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 {
    font-weight: 300 !important;
}

.fw-400 {
    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,
.entry-button {
    padding: 10px 25px !important;
    background-image: none;
    position: relative;
    transition:var(--transition-effect);
    font-weight:400;
    font-size: var(--font-size-s);
}

/*[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;
    cursor:pointer;
    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:50%;
    right:0;
    transform:translate(50%, -50%);
}

.slick-prev {
    top:50%;
    left:0;
    transform:translate(-50%, -50%);
}

.slick-arrow:before {
    border-radius: 50%;
    border: 1px solid var(--theme-color);
    background-color: transparent !important;
    font-size: 20px;
    font-family: var(--fa-icon);
    aspect-ratio: 1 / 1;
    width: 50px;
    height: 50px;
    display: flex;
    justify-content: center;
    align-items: center;
    color: var(--theme-color);
    transition:var(--transition-effect);
    font-weight:900;
    z-index:9;

}

.slick-arrow:hover:before {
    background-color: var(--theme-color) !important;
    color: #ffffff;
}

.slick-next:before {
    content:'\f061';
}

.slick-prev:before {
    content:'\f060';
}

@media only screen and (max-width:767.98px) {    
    .slick-arrow:before {
        width: 40px;
        height: 40px;
    }

    .slick-next {
        top:50%;
        right:0;
        transform:translate(0, -50%);
    }

    .slick-prev {
        top:50%;
        left:0;
        transform:translate(0, -50%);
    }
}

/*[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;
}

.bg-para {
    background-attachment:fixed;
    background-repeat: no-repeat;
    background-size: cover !important;
}

@media only screen and (max-width:767.98px) {
    .bg-para {
        background-attachment:unset;
    }
}

.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;
    margin: 10px 0;
}

.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;
    margin-top: var(--row-gap);
}

/* .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 - 100px) !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: calc(var(--side-gap) / 3 * 2) !important;
    padding-left: calc(var(--side-gap) / 3 * 2) !important;
    background-position: top !important;
    position: relative;
    border-radius: calc(var(--row-gap) / 2);
}

@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;
}

.home-banner-title {
    font-size: var(--banner-title);
    color: var(--theme-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;
}

.active .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-long .dot-trigger {
    widtH: 50px;
    height: 3px;
    border-radius: 10px;
    opacity: 0.75;
}

.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.active {
    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: #231F20;
}

@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%;
    }
}

.active .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);
    }
}

.active .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;
    text-transform: uppercase;
    opacity: 0;
}

@keyframes slideTitle {
    
    100% {
        transform: translateX(0);
        opacity: 1;
    }
}

.active .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: flex-end;
    justify-content: flex-start;
    padding: var(--row-gap) calc(var(--side-gap) - 15px) calc(var(--row-gap) / 2) !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: linear-gradient(90deg, rgba(0, 0, 0, 0.20) 0%, rgba(0, 0, 0, 0.00) 100%);
    z-index: 1;
}

.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-sec:before {
    content: '';
    display: block;
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 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;
}

.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]*/
/*====================================================================================================*/

/* Layout */
/*#main-container {*/
/*  position: relative;*/
/*}*/

/*#main-container:before,*/
/*#main-container:after {*/
/*  content: "";*/
/*  position: absolute;*/
/*  display: block;*/
/*  top: 0;*/
/*  width: 1px;*/
/*  height: 100%;*/
/*  background-color: red;*/
/*  z-index: 999;*/
/*}*/

/*#main-container:before {*/
/*  left: var(--side-gap);*/
/*}*/
/*#main-container:after {*/
/*  right: var(--side-gap);*/
/*}*/

/* Button */
.contact-btn .wpcf7-submit {
    padding: 10px 25px;
    border-radius: 10px;
    position: relative;
    font-weight: 500;
}

.contact-btn .wpcf7-submit:after {
    content: "\f061";
    position: relative;
    font-family: var(--fa-icon);
    font-weight: 900;
    margin-left: 10px;
}

/* Banner */
.banner-breadcrumbs > .wpb_wrapper > .ct-breadcrumbs span {
    color: #fff;
    text-transform: capitalize;
    font-weight: 400 !important;
    font-size: var(--font-size-t);
}

.banner-breadcrumbs {
    padding-bottom: 10px !important;
    margin-bottom: 10px !important;
    border-bottom: 1px solid #fff;
}

.banner-title {
    margin-bottom: 0 !important;
    font-weight: 500 !important;
}

.banner-breadcrumbs > .wpb_wrapper > .ct-breadcrumbs .ct-separator {
    display: none;
}

.banner-breadcrumbs > .wpb_wrapper > .ct-breadcrumbs [itemprop="itemListElement"]::after {
    content: "-";
    margin: 0 8px;
}

.banner-breadcrumbs > .wpb_wrapper > .ct-breadcrumbs [itemprop="itemListElement"]:last-child::after {
    display: none;
}

.contact-banner-sec {
    aspect-ratio: var(--banner-size);
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    padding: var(--row-gap) calc(var(--side-gap) - 15px) calc(var(--row-gap) / 2) !important;
    position: relative;
    background-position: center !important;
    background-repeat: no-repeat !important;
    background-size: cover !important;
}

.contact-banner-sec:before {
    content: "";
    position: absolute;
    display: block;
    background: linear-gradient(0deg, rgba(0, 0, 0, 0.20) 0%, rgba(0, 0, 0, 0.20) 100%);
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 1;
}

.contact-banner-row .banner-breadcrumbs {
    display: flex;
    justify-content: center;
    align-items: center;
}

/* About page */
.about-banner-row {
    width: 100%;
}

.about-stats-sec {
    border-radius: 30px;
    overflow: hidden;
    padding: var(--side-gap);
}

.about-stats-row {
    padding: var(--inner-large-row-gap) var(--inner-side-gap) calc(var(--inner-large-row-gap) - 35px);
    border-radius: 30px;
    background: rgba(255, 255, 255, 0.70);
    backdrop-filter: blur(14.850000381469727px);
}

.about-stats-icon figure{
    padding: 15px;
    border-radius: 20px;
    border: 1px solid #B5B5B5;
    background: #FFF;
}

.about-stats-p {
    color: rgba(58, 58, 58, 0.75);
}

.about-milestone-img figure{
    border-radius: 30px;
    overflow: hidden;
}

.about-vm-sec,
.about-stats-sec {
    margin: 0;
    padding-block: var(--row-gap);
    position: relative;
}

.about-vm-icon {
    margin-bottom: 10px !important;
    position: relative;
}

.about-icon img,
.about-vm-icon img {
    width: 40px;
    height: 40px;
    object-fit: contain;
}

.about-vm-sec:before {
    content: "";
    position: absolute;
    display: block;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(0deg, rgba(0, 0, 0, 0.50) 0%, rgba(0, 0, 0, 0.50) 100%);
    z-index: 1;

}

.about-vm-sec > * {
    position: relative;
    z-index: 2;
}

.about-vm-mini-title {
    font-size: var(--font-size-s) !important;
    font-weight: 500 !important;
    text-transform: uppercase;
}

.about-vm-row > .wpb_column {
    position: relative;
    overflow: hidden;
}

.about-vm-row > .wpb_column:before {
    content: "";
    position: absolute;
    display: block;
    top: 0;
    left: 0;
    width: 2px;
    height: 100%;
    background-color: #fff;
    z-index: 1;
}

.about-why-img {
    padding-right: calc(var(--side-gap) * 2);
}

.about-why-img figure{
    border-radius: 10px;
    overflow: hidden;
}

.about-why-count {
    position: absolute;
    top: calc((100% - 35px) / 2);
    right: 0;
    background-color: #fff;
    padding: 30px;
    border-radius: 10px;
    box-shadow: 0 0 20px 0 rgba(0, 0, 0, 0.10);
    z-index: 2;
    transform: translateY(-50%);
    margin: 0 !important;
}

.about-why-count:before {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 80%;
    height: auto;
    aspect-ratio: 253/183;
    display: block;
    background-image: url(./images/about-count-bg.webp);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    z-index: 1;
    transform: translate(-50%, -50%);
}

.about-vm-desc {
    color: var(--white-color);
}

.about-stats-row {
    display: grid;
    grid-template-columns: 72px 1fr;
    column-gap: 15px;
    align-items: center;
    margin: 0;
}

.about-stats-row:before,
.about-stats-row:after {
    display: none;
}

.about-stats-row > .wpb_column {
    width: 100%;
}

.about-stats-row > .wpb_column > .vc_column-inner {
    padding-inline: 0 !important;
}

@media only screen and (min-width: 768px) {
    .about-stats-row {
        width: 75%;
    }
}

@media only screen and (min-width: 1000px) {
    .about-stats-row {
        width: 45%;
    }
}

@media only screen and (min-width: 768px) {
    .about-vm-desc {
        color: var(--white-color);
        margin-bottom: 0 !important;
        opacity: 1;
        /*overflow: hidden;*/
        transition: var(--transition-effect);
        margin: 0;
    }
    
    .about-vm-row > .wpb_column > .vc_column-inner > .wpb_wrapper {
        display: flex;
        flex-direction: column;
        justify-content: flex-end;
        transform: translateY(var(--text-height));
        transition: var(--transition-effect);
    }
    
    .about-vm-row > .wpb_column:hover > .vc_column-inner > .wpb_wrapper {
        transform: translateY(0);
    }
    
    .about-vm-row > .wpb_column:hover .about-vm-desc {
        opacity: 1;
    }
}

@media only screen and (max-width: 767.98px){
    .about-why-img {
        padding-right: var(--side-gap);
    }
    
    .about-why-count {
        position: absolute;
        top: auto;
        bottom: calc(35px - var(--side-gap) );
        right: 0;
        background-color: #fff;
        padding: 30px;
        border-radius: 10px;
        box-shadow: 0 0 20px 0 rgba(0, 0, 0, 0.10);
        z-index: 2;
        transform: none;
    }
    
    .about-icons-row {
        display: flex;
        flex-wrap: wrap;
    }

    .about-icons-row > .wpb_column {
        width: 50% !important;
        flex: 0 0 50%;
        max-width: 50%;
    }

    .about-icons-row .vc_column-inner {
        height: 100%;
    }
}

/* Contact page */

.contact-form-row {
    box-shadow: 0 0 20px 0 rgba(0, 0, 0, 0.10);
    margin-inline: 0;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}

.contact-form-row > .wpb_column > .vc_column-inner {
    padding-inline: var(--inner-large-side-gap);
    max-width: 1200px;
    margin-inline: auto;
    padding-top: 0 !important;
}

.contact-icon img{
    width: 30px;
    height: 30px;
    object-fit: contain;
}

.contact-detail-row {
    display: flex;
    align-items: flex-start;
}

.contact-detail-row > .wpb_column:first-child {
    width:auto !important;
    flex:0 0 auto;
}

.contact-detail-row > .wpb_column:last-child {
    width:auto !important;
    flex:1;
}

.contact-detail-row > .wpb_column:last-child .vc_column-inner {
    padding-left: 0;
}

.contact-detail-row .wpb_column .vc_column-inner .wpb_wrapper .wpb_text_column {
    margin-bottom: 15px;
}

.company-name {
    font-size: var(--font-size-6);
    font-weight: 500;
    color: var(--darkblue-color);
}

.contact-map > .wpb_wrapper {
    border-radius: 10px;
    overflow: hidden;
    display: flex;
}

.contact-map iframe {
    width: 100%;
}

.contact-form-title {
    text-transform: capitalize !important;
}


@media only screen and (min-width: 768px){
    .contact-map > .wpb_wrapper {
        border-radius: 10px 0 0 10px;
        overflow: hidden;
    }
}


/* Privacy page */
.privacy-banner:before {
    content: "";
    position: absolute;
    display: block;
    background: linear-gradient(0deg, rgba(0, 0, 0, 0.50) 0%, rgba(0, 0, 0, 0.50) 100%);
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 1;
}

.privacy-main-sec .vc_custom_heading {
    font-weight: 600 !important;
}

.privacy-main-sec .wpb_text_column {
    text-align: justify !important;
}

/* Home page */
.home-project-sec {
    background: linear-gradient(180deg,rgba(249, 247, 247, 1) 0%, rgba(249, 247, 247, 1) 75%, rgba(255, 255, 255, 1) 75%, rgba(255, 255, 255, 1) 100%);
    position: relative;
}

.home-project-sec::before,
.home-project-sec::after{
    content: "";
    position: absolute;
    height: auto;
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
}

.home-project-sec::before {
    left: 0;
    background-image: url(./images/home-project-bg-1.webp);
    width: 20vw;
    aspect-ratio: 428 / 474;
    top: var(--row-gap);
}

.home-project-sec::after{
    right: 0;
    background-image: url('./images/home-project-bg-2.webp');
    width: 20vw;
    aspect-ratio: 430/ 481;
    top: calc(var(--row-gap) / 2);
}

.page-id-24 .about-why-sec {
    padding-top: 0 !important;
}

/* Project current page */
.current-about-img-1 figure,
.current-about-img-2 figure {
    border-radius: 10px;
    overflow: hidden;
}

.current-about-img-1 img,
.current-about-img-2 img {
    aspect-ratio: 1/1 !important;
}

.current-about-img-1 {
    padding-right: 35%;
}

.current-about-img-2 {
    padding-left: 35%;
    margin-top: -40%;

}

.current-images > .wpb_wrapper {
    position: relative;
}

.current-about-contact-btn {
    position: absolute;
    top: 30%;
    left: 65%;
    transform: translate(-50%,-50%);
}

.current-why-sec {
    margin: 0;
    position: relative;
}

.current-why-sec .vc_row {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    grid-column-gap: 30px;
    grid-row-gap: 30px;
}

@media only screen and (max-width: 999.98px) {
    .current-why-sec .vc_row {
        grid-template-columns: repeat(2, 1fr);
    }
    
    .current-why-sec .vc_row > .wpb_column {
        grid-column: auto;
        grid-row: auto;
    }
    
    .current-why-sec .vc_row > .wpb_column:nth-child(1) {
        grid-column: 1/-1;
    }
}

.current-why-sec .vc_row > .wpb_column:not(:first-child) > .vc_column-inner {
    padding: var(--inner-large-row-gap) var(--inner-side-gap) var(--inner-row-gap);
}

.current-why-sec .vc_row > .wpb_column {
    z-index: 1;
}

.current-why-sec .vc_row > .wpb_column .vc_custom_heading {
    font-weight: 500 !important;
}

.current-why-sec .vc_row:before,
.current-why-sec .vc_row:after {
    display: none !important;
}

.current-why-sec .vc_row > .wpb_column:nth-child(1) .vc_column-inner {
    padding: 0 !important;
}

.current-why-sec .vc_row > .wpb_column:not(:first-child) {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
}

.current-why-sec .vc_row > .wpb_column:not(:first-child) .wpb_text_column {
    margin-bottom: 0;
}

.current-why-sec .vc_row > .wpb_column:not(:first-child) .vc_custom_heading {
    font-size: var(--font-size-6);
}

.current-why-sec .vc_row > .wpb_column:nth-child(1) {
    grid-column: span 2;
    grid-row: span 3;
}

.current-why-sec .vc_row > .wpb_column:nth-child(2) {
    grid-column: span 1;
    grid-row: span 2;
}

.current-why-sec .vc_row > .wpb_column:nth-child(3) {
    grid-column: span 1;
    grid-row: span 2;
}

.current-why-sec .vc_row > .wpb_column:nth-child(4) {
    grid-column: span 1;
    grid-row: span 2;
}

.current-why-sec .vc_row > .wpb_column:nth-child(5) {
    grid-column: span 1;
    grid-row: span 2;
}

.current-why-sec .vc_row > .wpb_column:nth-child(6) {
    grid-column: span 1;
    grid-row: span 1;
}

.current-why-sec .vc_row > .wpb_column:nth-child(7) {
    grid-column: span 1;
    grid-row: span 1;
}

.current-why-sec .vc_row > .wpb_column:nth-child(2),
.current-why-sec .vc_row > .wpb_column:nth-child(3),
.current-why-sec .vc_row > .wpb_column:nth-child(4),
.current-why-sec .vc_row > .wpb_column:nth-child(5) {
    background-color: #fff;
    box-shadow: 0 0 20px 3px rgba(0, 0, 0, 0.10);
}

.current-why-sec .vc_row > .wpb_column:nth-child(6),
.current-why-sec .vc_row > .wpb_column:nth-child(7) {
    border-bottom: 5px solid var(--theme-color);
}

.current-why-sec .vc_row > .wpb_column:nth-child(6),
.current-why-sec .vc_row > .wpb_column:nth-child(7),
.current-why-sec .vc_row > .wpb_column:nth-child(6) > *,
.current-why-sec .vc_row > .wpb_column:nth-child(7) > *{
    padding-inline: 0 !important;
}

.current-why-sec:before {
    content: "";
    position: absolute;
    display: block;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(0deg, rgba(0, 0, 0, 0.50) 0%, rgba(0, 0, 0, 0.50) 100%);
}

.current-why-sec:after {
    content: "";
    position: absolute;
    display: block;
    bottom: -1px;
    right: 0;
    width: 100%;
    height: calc(27% + var(--row-gap));
    background-color: #fff;
}

.current-why-sec .vc_row > .wpb_column:nth-child(2):before,
.current-why-sec .vc_row > .wpb_column:nth-child(3):before,
.current-why-sec .vc_row > .wpb_column:nth-child(4):before,
.current-why-sec .vc_row > .wpb_column:nth-child(5):before {
    content: "";
    position: absolute;
    display: block;
    top: calc(var(--inner-large-row-gap) - 15px);
    right: 0;
    width: 20px;
    height: 60px;
    background-color: #F4EFEB;
}

.vc_tta.vc_tta-style-classic .vc_tta-tab {
    margin: 0;
}

.current-overview-tabs > .vc_tta-tabs-container {
    margin-bottom: 35px !important;
}

.current-overview-tabs > .vc_tta-tabs-container > .vc_tta-tabs-list {
    display: flex !important;
    gap: 15px;
    align-items: center;
    justify-content: center;
}

.current-overview-tabs > .vc_tta-tabs-container > .vc_tta-tabs-list > .vc_tta-tab a {
    padding: 15px 35px;
    background: transparent;
    border: none;
    color: #4b4b4b;
    border-radius: 15px !important;
}

.current-overview-tabs > .vc_tta-tabs-container > .vc_tta-tabs-list > .vc_tta-tab.vc_active a,
.current-overview-tabs > .vc_tta-tabs-container > .vc_tta-tabs-list > .vc_tta-tab a:hover{
    background-color: var(--theme-color);
    color: var(--white-color);
}

.current-overview-img figure {
    border-radius: 20px;
    overflow: hidden;
}

.vc_tta-panel-heading {
    display: none !important;
}

.vc_tta-tabs-container {
    display: block !important;
}

.current-why-sec .main-title,
.current-about-row .main-title,
.current-overview-sec .main-title,
.current-unit-sec .main-title,
.current-gallery-sec .main-title {
    text-transform: capitalize !important;
}

@media only screen and (min-width: 768px) {
    .current-about-row > .wpb_column {
        position: sticky;
        top: 135px;
    }
}

@media only screen and (max-width: 767.98px) {
    .current-why-sec .vc_row > .wpb_column:nth-child(6) > *,
    .current-why-sec .vc_row > .wpb_column:nth-child(7) > * {
        padding-inline: 15px !important;
    }
    
    .current-why-sec .vc_row {
        grid-template-columns: 1fr;
    }
    
    .current-why-sec .vc_row > .wpb_column {
        grid-column: auto !important;
        grid-row: auto !important;
    }
}

/* Project future page */
.future-about-row .main-title,
.future-overview-sec .main-title{
    text-transform: capitalize;
}

.future-about-icon-row {
    display: flex;
    align-items: flex-start;
    position: relative;
}

.future-about-icon-row > .wpb_column {
    position: relative;
}

.future-about-icon-row:not(:last-child):before {
    content: "";
    position: absolute;
    display: block;
    width: calc(100% - 30px);
    height: 1px;
    bottom: 0;
    left: 15px;
    background-color: #DADADA;
}

.future-about-icon-row:not(:last-child) {
    margin-bottom: 35px;
}

.future-about-icon-row > .wpb_column:first-child {
    width: auto;
    flex: 0 0 auto;
}
.future-about-icon-row > .wpb_column:last-child {
    width: auto;
    flex: 1;
}

.future-main-img figure {
    border-radius: 20px;
    overflow: hidden;
}

.future-project-icon figure {
    border-radius: 50%;
    background-color: var(--theme-color);
    padding: 20px;
}

.future-project-icon img{
    width: 35px;
    height: 35px;
    object-fit: contain;
}

.home-banner-video-row {
    position:absolute;
    top:0;
    left:0;
    width: 100%;
    height: 100%;
    display: flex;
    z-index: -1;
}

.home-banner-video-row > .wpb_column > .vc_column-inner {
    padding-inline: 0 !important;
}

.home-banner-video-row > .wpb_column > .vc_column-inner > .wpb_wrapper {
    height: 100%;
}

.home-banner-video {
    margin-bottom: 0 !important;
}

.home-banner-video,
.home-banner-video > .wpb_wrapper,
.home-banner-video video {
    width: 100%;
    height: 100%;
    object-fit:cover;
}

.home-banner-video {
    position: relative;
}

.home-banner-video:after {
    content:'';
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: var(--black-color);
    opacity: 0.05;
}

.home-banner-custom {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 100%;
}

.home-banner-sec-custom .home-banner-title {
    color: var(--white-color);
    font-weight: 400;
    line-height: 1.3;
    text-transform: uppercase;
    white-space: nowrap;
}

@media only screen and (min-width:1000px) {
    .home-banner-sec-custom .home-banner-title {
        font-size: calc(var(--banner-title) * 2.5);
    }
}

.home-banner-sec-custom {
    aspect-ratio: var(--home-banner-size);
}

@media only screen and (min-width: 1000px) {
    .home-banner-sec-custom {
        height: 100vh;
    }
}

.home-banner-img-custom-row {
    position: absolute;
    width: 70%;
    left: 15%;
    top: max(15%, 100px);
    height: calc(100% - max(15%, 100px) - 15%);
}

.home-banner-img-custom-row.project-banner-custom-row {
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
}

.home-banner-img-custom-row > .wpb_column,
.home-banner-img-custom-row > .wpb_column > .vc_column-inner,
.home-banner-img-custom-row > .wpb_column > .vc_column-inner > .wbp_wrapper {
    width: 100%;
    height: 100%;
}

.home-banner-img-custom-row > .wpb_column > .vc_column-inner {
    padding: 0 !important;
}

.home-banner-img-custom {
    position: absolute;
    top: 0;
    left: 0;
    margin-bottom: 0;
}

.home-banner-img-custom > .vc_figure {
    overflow: hidden;
    border-radius: 20px;
}

.home-banner-img-custom-row.project-banner-custom-row .home-banner-img-custom > .vc_figure {
    border-radius: 0;
}

.home-banner-img-custom > .vc_figure:after {
    content:'';
    display: block;
    position: absolute;
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
    background: linear-gradient(0deg, rgba(0, 0, 0, 0.30) 0%, rgba(0, 0, 0, 0.30) 100%);
    border-radius: 20px;
}

.home-banner-img-custom-row.project-banner-custom-row .home-banner-img-custom > .vc_figure:after {
    background: linear-gradient(0deg, rgba(0, 0, 0, 0.30) 0%, rgba(0, 0, 0, 0.30) 100%);
    border-radius: 0;
}

.home-banner-triggers > .wpb_column,
.home-banner-triggers > .wpb_column > .vc_column-inner,
.home-banner-triggers > .wpb_column > .vc_column-inner > .wbp_wrapper {
    position:unset;
}

.home-banner-sec-custom .dot-trigger-wrapper {
    margin-bottom: 0;
    bottom: 5% !important;
    left: 50%;
    transform: translate(-50%, 0);
}

.home-banner-img-custom {
    opacity: 0;
    transition: var(--gsap-effect);
}

.home-banner-img-custom.active {
    opacity: 1;
}

.theme-btn .vc_general.vc_btn3,
.entry-button {
    background-color: var(--theme-color) !important;
    color: var(--white-color) !important;
    border: 1px solid var(--theme-color) !important;
    border-radius: 15px !important;
    font-weight: 500 !important;
}

.theme-btn .vc_general.vc_btn3:hover,
.entry-button:hover {
    background-color: var(--dark-theme-color) !important;
    border: 1px solid var(--dark-theme-color) !important;
}

.absolute-img {
    margin-bottom: 0;
    padding-bottom: 35px;
}

.vc_row > .wpb_column > .vc_column-inner > .wpb_wrapper:has(.absolute-img) {
    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%;
    }
}

span.count {
    color: var(--theme-color);
}

.home-who-img > .vc_figure {
    border-radius:30px;
}

.home-who-img img {
    object-position: center 20%;  
}

.home-who-count {
    color: #989898;
}

.home-who-count .count {
    font-size: var(--font-size-1);
    font-weight: 500;
}

.home-who-count p:not(:last-child) {
    text-transform: uppercase;
    font-size: var(--font-size-7);
    margin-bottom: 0;
    font-weight: 500;
}

.home-who-count p:last-child {
    font-size: var(--font-size-t);
}

.home-row,
.home-row-2 {
    margin-inline: calc(var(--side-gap) * -1);
}

.home-row > .wpb_column > .vc_column-inner,
.home-row-2 > .wpb_column > .vc_column-inner {
    padding-inline: var(--side-gap);
}

.home-row-2-box {
    margin-inline: 0 !important;
    margin-bottom: 35px;
}

.home-row-2-box > .wpb_column {
    border-bottom: 1px solid #E4E4E4;
    padding-top: 35px;
}

.home-row-2-box > .wpb_column:first-child {
    border-top: 1px solid #E4E4E4;
}

@media only screen and (min-width:1000px) {
    .home-row-2-box > .wpb_column:nth-child(odd) {
        border-right: 1px solid #E4E4E4;
    }
    .home-row-2-box > .wpb_column:nth-child(2) {
        border-top: 1px solid #E4E4E4;
    }
}

@media only screen and (max-width:999.98px) {
    .home-row-2-box > .wpb_column {
        width: 100%;
    }
}

.footer-btn {
    display: block;
    position: relative;
    background-color: var(--theme-color);
    border-radius: 50%;
    height: 175px;
    width: 175px;
    background-image: url(./images/footer-btn.webp);
    background-size: 85%;
    background-repeat: no-repeat;
    background-position: center;
    animation: spin 10s linear infinite;
}

.footer-btn:before {
    content: '';
    display: block;
    position: absolute;
    left: 25%;
    top: 25%;
    width: 50%;
    height: 50%;
    border-radius: 50%;
    border: 3px dashed #fff;
    animation: spinBack 10s linear infinite;
}

@keyframes spin {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}

@keyframes spinBack {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(-360deg);
  }
}

.footer-wrap {
    display: grid;
    gap: 20px;
}

@media only screen and (min-width:768px) {
    .footer-wrap {
        grid-template-columns: 1fr 1fr;
    }
}

@media only screen and (max-width:767.98px) {
    .footer-btn {
        width: 125px;
        height: 125px;
    }
}

#footer [data-row="top"] > .ct-container {
    padding-bottom: 0 !important;
}

#footer [data-row="middle"] > .ct-container {
    padding-bottom: 10px !important;
}

#footer {
    position: relative;
    border-radius: 30px 30px 0 0;
    overflow: hidden;
}

#footer:before {
    
}

#footer [data-row="top"] [data-column="text"] {
    display: block;
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
}

#footer [data-row="top"] [data-column="text"]:after {
    content:'';
    display: block;
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    background: linear-gradient(180deg, rgba(41, 41, 41, 0.50) 15.01%, #292929 65.76%);
}

#footer [data-row="top"] [data-column="text"] video {
    width: 100%;
    height: 100%;
    object-fit: cover;
    position: absolute;
    top: 0;
    left: 0;
}

@media only screen and (min-width: 1000px) {
    [data-footer*="type-1"] .ct-footer [data-row*="top"] > div {
        --grid-template-columns: repeat(2, 1fr);
    }
    #footer [data-column="widget-area-4"] {
        display: flex;
        align-items: flex-end;
    }
}

#footer [data-row="bottom"] {
    position: relative;
}

#footer [data-row="bottom"]:before {
    content:'';
    display: block;
    position: absolute;
    width: calc(100% - (var(--side-gap) * 2));
    height: 1px;
    left: 50%;
    top: 0;
    transform: translate(-50%, -50%);
    background-color: var(--white-color);
    opacity: 0.5;
}

#footer [data-column="widget-area-1"] .widget_text {
    margin-top: 10px;
}

.social-wrap {
    display: flex;
    flex-direction: row;
    gap: 10px;
    font-size: 20px;
}

#footer a.text-white:hover {
    color: var(--theme-color) !important;
}

.home-develop-button-row {
    border-radius: 30px;
    border: 1px solid rgba(255, 255, 255, 0.15);
    background: rgba(93, 93, 93, 0.30);
    backdrop-filter: blur(10px);
    width: fit-content;
    margin-inline: auto !important;
    padding: 15px 35px;
}

.home-develop-button-row > .wpb_wrapper {
    display: flex;
    color: var(--white-color);
    gap: 35px;
    justify-content: center;
    align-items: center;
    text-align: center;
}

@media only screen and (max-width:767.98px) {
    .home-develop-button-row {
        max-width: calc(100% - (var(--side-gap) * 2));
    }
}

.home-develop-img,
.home-develop-img * {
    width: 100%;
} 

.home-develop-img img {
    height: max(calc(100vh - 100px - 70px), 400px);
    object-fit: cover;
}

.home-develop-img img {
    height: max(calc(100vh - 100px - 70px), 400px);
    object-fit: cover;
}

.home-develop-img > .vc_figure {
    overflow: hidden;
    border-radius: 30px;
    position: relative;
}

.home-develop-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) 0%, rgba(0, 0, 0, 0.60) 100%);
}

.home-project-box .all-btn {
    position: absolute;
    bottom: 35px;
    left: 50%;
    transform: translateX(-50%);
}

.home-project-box .vc_custom_heading {
    position: absolute;
    bottom: 110px;
    left: 50%;
    transform: translateX(-50%);
}

@media only screen and (max-width: 767.98px) {
    .home-develop-img img {
        height: 400px;
        object-fit: cover;
    }
}

.home-develop-button-row {
    position: absolute;
    top: 35px;
    left: 50%;
    z-index: 3;
    transform: translateX(-50%);
}

@media only screen and (min-width:768px) {
    .home-develop-button-row > .wpb_wrapper {
        white-space:nowrap;
    }
}

.home-project-box > .wpb_column {
    opacity: 0;
    visibility: none;
    transition: var(--gsap-effect);
    position: relative;
    z-index: 1;
}

.home-project-box > .wpb_column.active {
    opacity: 1;
    visibility: visible;
    z-index: 2;
}

.home-project-box > .wpb_column:not(:first-child) {
    position: absolute;
    top: 0;
    left: 0;
}

.home-develop-button-row > .wpb_wrapper > div {
    cursor: pointer;
}

.home-develop-button-row .active {
    font-weight:500;
}

.about-icon {
    margin-bottom: 10px;
}

@media only screen and (max-width:767.98px) {
    .main-title br {
        display: none;
    }
}

.project-banner {
    background-image: url(./images/project-banner.webp);
    background-size: cover !important;
    background-position: center !important;
    background-repeat: no-repeat !important;
}

.project-btn-row {
    margin-bottom: 35px;
}

.project-btn-row > .wpb_column > .vc_column-inner > .wpb_wrapper {
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    gap: 15px;
}

.project-btn-row .all-btn {
    margin-bottom: 0;
    white-space: nowrap;
}

.project-cat-btn .vc_general.vc_btn3 {
    background-color: #F9F7F7 !important;
    border-radius: 5px !important;
    color: #727272 !important;
    border: 0 !important;
    padding: 10px 35px !important;
}

.project-cat-btn .vc_general.vc_btn3.active,
.project-cat-btn .vc_general.vc_btn3:hover {
    background-color: var(--theme-color) !important;
    color: var(--white-color) !important;
}

@media only screen and (max-width:767.98px) {
    .project-btn-row > .wpb_column > .vc_column-inner > .wpb_wrapper {
        justify-content: flex-start;
    }
    .project-btn-row > .wpb_column > .vc_column-inner {
        overflow: auto;
        padding-inline: 0;
    }
    .project-btn-row > .wpb_column {
        padding-inline: 15px
    }
}

.past-text p:before {
    content: '';
    display: inline-block;
    position: relative;
    width: 4px;
    height: 4px;
    background-color: #727272;
    vertical-align: middle;
    margin-right: 10px;
    border-radius: 50%;
}

.project-title {
    font-size: var(--font-size-4);
    color: var(--darkblue-color);
    margin-bottom: 35px;
    font-weight:600;
}

.past-text {
    width: fit-content;
    margin-inline: auto;
    text-align: center;
    color: #727272;
}

@media only screen and (max-width:767.98px) {
    .vc_row:has(.past-text) > .wpb_column:not(:last-child) .past-text {
        margin-bottom: 0;
    }
    .past-text {
        text-align:left;
        width: 100%;
    }
}

.past-img img {
    aspect-ratio: 5/3;
    width: 100%;
    height: auto;
    object-fit: cover;
}

.past-project-row > .wpb_column > .vc_column-inner > .wpb_wrapper,
.entries > .entry-card{
    border-radius: 20px;
    background: #FFF;
    box-shadow: 0 0 30px 0 rgba(0, 0, 0, 0.10);
    overflow: hidden;
    margin-bottom: 35px;
}

.past-project-row > .wpb_column > .vc_column-inner > .wpb_wrapper > *:not(:first-child),
.entries > .entry-card > *:not(:first-child) {
    margin-inline: var(--inner-side-gap)
}

.past-project-row-title {
    font-size: var(--font-size-5);
    font-weight:600;
    color: var(--darkblue-color);
}

.past-project-row-text {
    color: #727272;
}

#footer .widget-menu {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: space-between;
    row-gap: 10px;
}

@media only screen and (max-width:999.98px) {
    #footer .widget-menu {
        justify-content: flex-start;
    }
    #footer .widget-menu > li:not(:last-child) {
        border-right: 1px solid #fff;
        padding-right: 10px;
        margin-right: 10px;
    }
}

.project-sec {
    margin-inline: 0 !important;
}

.home-banner-custom > .wpb_column > .vc_column-inner > .wpb_wrapper {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

.future-banner-sec:before {
    position:absolute;
    display: block;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: var(--black-color);
    opacity: 0.3;
}

/* Gallery */
.gallery-column .wpb_wrapper {
    display: flex;
    flex-direction: column;
    margin-bottom: 35px;
}

.gallery-main {
    width: 100%;
    margin-bottom: 15px;
}

.gallery-main img {
    width: 100%;
    display: block;
    border-radius: 12px;
    object-fit: cover;
    aspect-ratio: 16/9;
}

/* Hide original images */
.gallery-column .wpb_single_image {
    display: none;
}

/* Thumbnail row */
.gallery-thumbs {
    display: flex;
    gap: 10px;
    overflow-x: auto;
}

.gallery-thumb {
    width: 110px;
    height: 80px;
    border-radius: 8px;
    overflow: hidden;
    cursor: pointer;
    opacity: 0.7;
    border: 2px solid transparent;
    transition: 0.3s;
    flex-shrink: 0;
}

.gallery-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.gallery-thumb:hover,
.gallery-thumb.active {
    opacity: 1;
    border-color: #222;
}

.current-gallery-row:not(:last-child) {
    padding-bottom: calc(var(--row-gap) - 35px);
}

.current-gallery-row {
    margin-inline: -35px !important;
}

.current-gallery-row > .wpb_column > .vc_column-inner {
    padding-inline: 50px;
}

@media only screen and (max-width:767.98px) {
    .current-gallery-row.reverse {
        display:flex;
        flex-direction: column-reverse;
    }
}

.contact-bar {
    display: flex;
    align-items: center;
    column-gap: 50px;
    row-gap: 15px;
    background: #fff;
    flex-wrap: wrap;
}

.contact-item {
    display: flex;
    align-items: center;
    gap: 18px;
}

.icon-circle {
    width: 58px;
    height: 58px;
    background: #006FCF;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-size: 26px;
    flex-shrink: 0;
}

.contact-item a {
    color: #444;
    text-decoration: none;
    font-size: 20px;
    font-weight: 400;
}

.contact-item a:hover {
    color: #006FCF;
}

@media only screen and (max-width: 999.98px) {
    .contact-item a {
        font-size: 18px;
    }

    .icon-circle {
        width: 48px;
        height: 48px;
        font-size: 20px;
    }
}

@media only screen and (min-width:768px) {
    #offcanvas .ct-panel-content-inner {
        display: grid;
        grid-template-columns: 1fr 1fr;
        grid-template-rows: auto 1fr auto;
        column-gap: 35px;
    }
    
    #offcanvas .site-logo-container {
        grid-column: span 2;
    }
    
    .ct-header-text:not(:last-child) {
        order: 1;
    }
    
    .ct-header-text:last-child {
        grid-row: span 2;
        height: 100%;
        width: 100%;
    }
    .ct-header-text:last-child * {
        height: 100%;
        width: 100%;
        object-fit: cover;
    }
    
    
    .ct-sub-menu-parent > * {
        width: fit-content;
    }
    
    .ct-toggle-dropdown-mobile {
        margin-left: 0;
    }
}

.ct-header-text:last-child img {
    border-radius: 20px;
}

@media only screen and (max-width:767.98px) {
    .home-banner-custom .banner-title {
        text-align: left !important;
    }
}

.category-future-projects .entries .entry-card {
    margin-bottom: 0 !important;
    padding: 0 !important;
}
.category-future-projects .entries .entry-card .entry-excerpt {
    margin-bottom: 35px !important;
}
.category-future-projects .entries .entry-card .entry-button {
    display: none;
}

.category-12 .entries > .entry-card * {
    pointer-events: none !important;
}