.elementor-kit-7{--e-global-color-primary:#231F20;--e-global-color-secondary:#231F20;--e-global-color-text:#201D1D;--e-global-color-accent:#F0EEEE;--e-global-color-d229314:#FFFFFF;--e-global-color-25204e6:#000000;--e-global-color-3e51fa7:#DED9DA;--e-global-color-5a600ba:#00000000;--e-global-color-59fb76b:#F0EEEE;--e-global-color-13bf51a:#41393B;--e-global-typography-primary-font-family:"Jost";--e-global-typography-primary-font-weight:600;--e-global-typography-secondary-font-family:"Jost";--e-global-typography-secondary-font-weight:400;--e-global-typography-text-font-family:"Jost";--e-global-typography-text-font-weight:400;--e-global-typography-text-line-height:1.6em;--e-global-typography-accent-font-family:"Allison";--e-global-typography-accent-font-weight:400;color:var( --e-global-color-text );font-family:"Jost", Sans-serif;font-size:17px;line-height:1.6em;--e-page-transition-entrance-animation:e-page-transition-fade-out;--e-page-transition-animation-duration:500ms;}.elementor-kit-7 button,.elementor-kit-7 input[type="button"],.elementor-kit-7 input[type="submit"],.elementor-kit-7 .elementor-button{background-color:var( --e-global-color-5a600ba );color:var( --e-global-color-text );border-style:solid;border-color:var( --e-global-color-text );border-radius:20px 20px 20px 20px;}.elementor-kit-7 button:hover,.elementor-kit-7 button:focus,.elementor-kit-7 input[type="button"]:hover,.elementor-kit-7 input[type="button"]:focus,.elementor-kit-7 input[type="submit"]:hover,.elementor-kit-7 input[type="submit"]:focus,.elementor-kit-7 .elementor-button:hover,.elementor-kit-7 .elementor-button:focus{background-color:var( --e-global-color-d229314 );color:var( --e-global-color-primary );}.elementor-kit-7 e-page-transition{background-color:var( --e-global-color-d229314 );}.elementor-kit-7 a{color:var( --e-global-color-text );}.elementor-kit-7 a:hover{color:var( --e-global-color-13bf51a );}.elementor-kit-7 h1{font-family:"Jost", Sans-serif;font-size:2.986rem;font-weight:500;line-height:1.15em;letter-spacing:-0.022em;}.elementor-kit-7 h2{font-family:"Jost", Sans-serif;font-size:2.488rem;font-weight:500;line-height:1.15em;letter-spacing:-0.022em;}.elementor-kit-7 h3{font-family:"Jost", Sans-serif;font-size:2.074rem;font-weight:500;line-height:1.15em;letter-spacing:-0.022em;}.elementor-kit-7 h4{font-family:"Jost", Sans-serif;font-size:1.728rem;font-weight:500;line-height:1.15em;letter-spacing:-0.022em;}.elementor-kit-7 h5{font-family:"Jost", Sans-serif;font-size:1.44rem;font-weight:500;line-height:1.15em;letter-spacing:-0.022em;}.elementor-kit-7 h6{font-family:"Jost", Sans-serif;font-size:1.2rem;font-weight:500;line-height:1.15em;letter-spacing:-0.022em;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1300px;}.e-con{--container-max-width:1300px;}.elementor-widget:not(:last-child){margin-block-end:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}.elementor-lightbox{--lightbox-ui-color:var( --e-global-color-text );}@media(max-width:1024px){.elementor-kit-7 button,.elementor-kit-7 input[type="button"],.elementor-kit-7 input[type="submit"],.elementor-kit-7 .elementor-button{border-width:2px 2px 2px 2px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}/* Start custom CSS *//* General */
html, body {
    max-width: 100%;
    overflow-x: clip;
}

a {
	outline: none !important;
}

a:focus {
	outline-color: transparent !important;
	outline-width: 0px !important;
}

.elementor-nav-menu a:focus {
	background: transparent !important;
}

input:focus,
select:focus,
textarea:focus,
button:focus,
div:focus{
    outline: none;
}

input, select, textarea {
    color: inherit; /* Inherit the color from the parent */
}

/* Mobile Menu */
.sub-menu {
	font-size: 0.7rem;
	background: #f2f2f2;
}

/* Image Settings */
.div-img-73 img {
	aspect-ratio: 7/3;
  	object-fit: cover;
}

.div-img-169 img, .div-img-169-s img,
.cta-c-169 .elementor-cta__content, .cta-c-169-s .elementor-cta__content,
.cta-bg-169 .elementor-cta__bg, .cta-bg-169-s .elementor-cta__bg,
.cta-bg-169 .elementor-cta__bg-wrapper, .cta-bg-169-s .elementor-cta__bg-wrapper,
.div-img-169 .swiper-image-stretch .swiper-slide .swiper-slide-image,
.div-img-169-s .swiper-image-stretch .swiper-slide .swiper-slide-image {
	aspect-ratio: 16/9;
  	object-fit: cover;
}

.div-img-43 img {
	aspect-ratio: 4/3;
  	object-fit: cover;
}

.div-img-34 img, .div-img-34-s img {
	aspect-ratio: 3/4;
  	object-fit: cover;
}

.div-img-43-s img,
.cta-c-43-s .elementor-cta__content,
.cta-bg-43-s .elementor-cta__bg,
.cta-bg-43-s .elementor-cta__bg-wrapper,
.div-img-43-s .swiper-image-stretch .swiper-slide .swiper-slide-image {
	aspect-ratio: 4/3;
  	object-fit: cover;
	height: auto !important;
}

@media(max-width: 768px) {
	.div-img-43-s img,
	.cta-c-43-s .elementor-cta__content,
	.cta-bg-43-s .elementor-cta__bg,
	.cta-bg-43-s .elementor-cta__bg-wrapper,
	.div-img-43-s .swiper-image-stretch .swiper-slide .swiper-slide-image,
    .div-img-34-s img,
    .div-img-169-s img,
    .cta-c-169-s .elementor-cta__content, 
    .cta-bg-169-s .elementor-cta__bg,
    .cta-bg-169-s .elementor-cta__bg-wrapper,
	.div-img-169-s .swiper-image-stretch .swiper-slide .swiper-slide-image
	{
		aspect-ratio: 1/1;
	}
}

.div-img-32 img,
.cta-c-32 .elementor-cta__content,
.cta-bg-32 .elementor-cta__bg,
.cta-bg-32 .elementor-cta__bg-wrapper
{
	aspect-ratio: 3/2;
  	object-fit: cover;
}

.div-img-square img, 
.cta-c-square .elementor-cta__content
{
	aspect-ratio: 1/1;
  	object-fit: cover;
}

/* Sticky Header & Elementor Widget Anchors */

body:not(.elementor-editor-active) .elementor-widget-menu-anchor {
   position: relative;
   z-index: -1;
 }
 body:not(.elementor-editor-active) .elementor-menu-anchor:before {
   content: "";
   display: block;
   height: 100px;
   margin: -100px 0 0;
   visibility: hidden;
   pointer-events: none;
 }


/* When header is transparent and given the class 'header' */
.header.elementor-sticky--effects
{
    background-color: #FFFFFF90 !important;
    box-shadow: 0px 0px 10px 0px rgb(0 0 0 / 15%);
    transition: background-color 0.2s ease-in-out;
    -webkit-backdrop-filter: saturate(180%) blur(20px);
    backdrop-filter: saturate(180%) blur(20px);
}

/* class 'color-invert' to columns of wannabe inverted elements that turn to their initial color when sticky activated */
.color-invert{
    filter:brightness(0)invert(1);
}
.header.elementor-sticky--effects .color-invert {
    filter:none;
} 

/* If you have a menu that has a submenu, use the class .menu-color-invert and not color-invert */
.menu-color-invert .menu-item .elementor-item {
    filter: brightness(0)invert(1);
}
.header.elementor-sticky--effects .menu-color-invert .menu-item .elementor-item {
    filter:none;
}
.header.elementor-sticky--effects .header-logo img {
    height:60px !important;
    transition: height 0.2s ease-in-out;
}

/* Elementor Slideshow Title */
.elementor-slideshow__title {
	display:none;	
}

/* Elementor Carousel Line Height - Bottom Gap */
.elementor-widget-image-carousel .swiper-container .swiper-slide figure {
    line-height: 0px !important;
}

/* Elementor Recaptcha */
.elementor-g-recaptcha, .grecaptcha-badge {
	display:none;
}

/* no background for tabindex */
.elementor-nav-menu.menu-item.elementor-item:focus {
    background: white!important;
}
/* Make text selection branded */
::selection {
    background: var(--e-global-color-secondary );
    color: #fff;
    text-shadow: none;
}

::-moz-selection {
    background: var(--e-global-color-secondary );
    color: #fff;
    text-shadow: none;
}
/* WPML add distance between flag icon and language name */
.wpml-ls-flag {
    margin-right: 4px !important;
}

/* Image animation */
body.elementor-editor-active .reveal-bt,
body.elementor-editor-active .reveal-tb,
body.elementor-editor-active .reveal-lr,
body.elementor-editor-active .reveal-rl {
    clip-path: none;
    visibility: visible;
}

body:not(no-js) .reveal-bt img,
body:not(no-js) .reveal-tb img,
body:not(no-js) .reveal-lr img,
body:not(no-js) .reveal-rl img {
    will-change: transform;
    transform: scale(1.3);
    transition: 2s ease-out;
}


/* --- Choose one of below --- */
/* Image animation - Bottom to Up */
body:not(no-js) .reveal-bt {
    transition: 1s ease-out;
    transition-delay: 0.2s;
    position: relative;
    overflow: hidden;
    clip-path: polygon(0 100%, 100% 100%, 100% 100%, 0 100%);
    visibility: hidden;
}

/* Image animation - Up to Bottom */
body:not(no-js) .reveal-tb {
    transition: 1s ease-out;
    transition-delay: 0.2s;
    position: relative;
    overflow: hidden;
    clip-path: polygon(0 0, 100% 0, 100% 0, 0 0);
    visibility: hidden;
}

/* Image animation - Left to Right Reveal */
body:not(no-js) .reveal-lr {
    transition: 1s ease-out;
    transition-delay: 0.2s;
    position: relative;
    overflow: hidden;
    clip-path: polygon(0 0, 0 0, 0 100%, 0 100%);
    visibility: hidden;
}

/* Image animation - Right to Left Reveal */
body:not(no-js) .reveal-rl {
    transition: 1s ease-out;
    transition-delay: 0.2s;
    position: relative;
    overflow: hidden;
    clip-path: polygon(100% 0, 100% 0, 100% 100%, 100% 100%);
    visibility: hidden;
}

/* --- Continue Image animation -- */

body:not(no-js) .animated img {
    transform: scale(1);
    transition: 4s ease-out;
}

body:not(no-js) .animated:not(.elementor-widget-button) {
    clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
    visibility: visible;
    transform: skewY(0);
    height: auto;
}

/* Glassmorphism */
.glass,
.glass-menu .dialog-widget-content{
  background: rgba(255, 255, 255, 0.7) !important;
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  border: 1px solid rgba(255, 255, 255, 0.3);
  box-shadow: 0 4px 30px rgba(0, 0, 0, 0.1);
}

/* inMobi Cookie Banner CSS */
.qc-cmp2-persistent-link {
    display: none!important;
}

#qc-cmp2-ui {
 width: 500px;
 max-width: calc(100vw - 64px);
 position: fixed;
 bottom: 32px;
 left: 32px;
 border-radius: 12px;
 padding: 32px 32px 16px 32px !important;
 height: auto !important;
 max-height: 80vh !important;
}

.qc-cmp2-publisher-logo-container > div {
   margin-top: 0px !important;
   margin-bottom: 8px !important;
}

.qc-cmp2-summary-section .qc-cmp2-consent-info > div {
   padding-top: 0px !important;
   padding-bottom: 0px !important;
   margin: 0px !important;
}

.qc-cmp2-summary-section .qc-cmp2-summary-info div:last-child {
   margin: 0px !important;
}

.qc-cmp2-summary-info div {
 font-size: 0 !important;
 padding: 0 !important;
}

.qc-cmp2-summary-info div > :not(div) {
 display: none !important;
}

.qc-cmp2-summary-info div > div {
 font-size: 14px !important;
 text-align: justify !important;
 padding: 0px !important;
 margin: 0px !important;
}

.qc-cmp2-footer, .qc-cmp2-consent-info {
   border: none !important;
   box-shadow: none !important;
   padding: 0px !important;
}

.qc-cmp2-summary-buttons {
   padding: 8px 0px 0px 0px !important;
   margin: 0px !important;
}

.qc-cmp2-summary-buttons button {
   margin: 0px 4px 0px 4px !important;
}

@media screen and (min-width: 768px) {
   .qc-cmp2-summary-buttons button:nth-child(1),
   .qc-cmp2-summary-buttons button:nth-child(1):hover{
       border-color: var(--e-global-color-primary) !important;
       color: var(--e-global-color-primary) !important;
       background-color: white !important;	
       background: white !important;	
   }
   
   .qc-cmp2-summary-buttons button:nth-child(2) {
     display: none;
   }
   
   .qc-cmp2-summary-buttons button:nth-child(3) {
       background-color: var(--e-global-color-primary) !important;
   }
}

@media screen and (max-width: 767px) {
   .qc-cmp2-summary-buttons {
       flex-direction: column-reverse !important;
   }
   
   .qc-cmp2-summary-buttons button {
       margin: 4px 0px 4px 0px !important;
   }
   
   .qc-cmp2-summary-buttons button:nth-child(1) {
       background-color: var(--e-global-color-primary) !important;
   }
   
   .qc-cmp2-summary-buttons button:nth-child(2),
   .qc-cmp2-summary-buttons button:nth-child(2):hover {
     border-color: var(--e-global-color-primary) !important;
     border: none !important;
       color: var(--e-global-color-primary) !important;
       background-color: white !important;	
       background: white !important;	
       box-shadow: none !important;
   }
   
   .qc-cmp2-summary-buttons button:nth-child(3) {
     display: none;
   }
}

.qc-cmp2-footer {
   box-shadow: none !important;
   justify-content: center !important;
}

.qc-cmp2-buttons-desktop {
   margin: 0!important;
}

.qc-cmp2-scrollable-section {
   margin-bottom: 32px !important;
}
@media(min-width: 1024px) {
/* 1) Prevent any clipping */
.styled-hover-button .elementor-button-wrapper,
.styled-hover-button .elementor-button-wrapper .elementor-button-link {
  overflow: visible !important;
}

/* 2) Positioning & core styles */
.styled-hover-button .elementor-button-wrapper {
  position: relative;
  display: inline-block;
}
.styled-hover-button .elementor-button-link {
  position: relative;
  display: inline-block;
  padding: 0.7em calc(0.7em * 1.2);
  background: transparent !important;
  color: var(--e-global-color-primary) !important;
  border: none !important;
}

/* 3) Bottom underline (always visible) */
.styled-hover-button .elementor-button-wrapper::before {
  content: "";
  position: absolute;
  left: 0; bottom: -3px;
  width: 100%; height: 3px;
  background: var(--e-global-color-primary);
  transform-origin: left;
  transform: scaleX(1);
}

/* 4) Right border (hidden by default) */
.styled-hover-button .elementor-button-link::after {
  content: "";
  position: absolute;
  right: -3px; top: -3px;
  width: 3px; height: calc(100% + 6px);
  background: var(--e-global-color-primary);
  transform-origin: bottom;
  transform: scaleY(0);
  transition: transform 0.3s ease;
  transition-delay: 0.6s;    /* hide delay on mouse‑out */
  will-change: transform;
}

/* 5) Top border (hidden by default) */
.styled-hover-button .elementor-button-wrapper::after {
  content: "";
  position: absolute;
  left: 0; top: -3px;
  width: 100%; height: 3px;
  background: var(--e-global-color-primary);
  transform-origin: right;
  transform: scaleX(0);
  transition: transform 0.3s ease;
  transition-delay: 0.3s;    /* hide delay on mouse‑out */
  will-change: transform;
}

/* 6) Left border (hidden by default) */
.styled-hover-button .elementor-button-link::before {
  content: "";
  position: absolute;
  left: -3px; top: -3px;
  width: 3px; height: calc(100% + 6px);
  background: var(--e-global-color-primary);
  transform-origin: top;
  transform: scaleY(0);
  transition: transform 0.3s ease;
  transition-delay: 0s;      /* hide immediately on mouse‑out */
  will-change: transform;
}

/* 7) Hover‑in: show in sequence RIGHT → TOP → LEFT */
.styled-hover-button:hover .elementor-button-link::after {
  transform: scaleY(1);
  transition-delay: 0s;
}
.styled-hover-button:hover .elementor-button-wrapper::after {
  transform: scaleX(1);
  transition-delay: 0.3s;
}
.styled-hover-button:hover .elementor-button-link::before {
  transform: scaleY(1);
  transition-delay: 0.6s;
}

/* 8) Slide‑up the text after the borders finish */
.styled-hover-button .elementor-button-text {
  display: inline-block;
  transform: translateY(0.4em);
  transition: transform 0.3s ease 0.5s;  /* delay ≈ (0.6s + 0.3s) */
}
.styled-hover-button:hover .elementor-button-text {
  transform: translateY(0);
}
}

.styled-hover-button.white {
    filter: invert(1);
}

@media(max-width: 1023px) {
     .styled-hover-button a:focus, .styled-hover-button a:active {
        background-color: transparent !important;
    }
     
     .styled-hover-button.white a {
        color: black !important;
    }
}

.amenities .jet-check-list__item .jet-check-list__item-content{
    /*border-radius: 20px 20px 20px 20px;*/
    /*-moz-border-radius: 20px 20px 20px 20px;*/
    /*-webkit-border-radius: 20px 20px 20px 20px;*/
    /*border-width: 1px 1px 1px 1px;*/
    /*border-color: #e5e5e5;*/
    /*border-style: solid;*/
    /*padding: 4px 8px;*/
    /*margin:5px;*/
    align-self: center;
}
/* Footer underline links*/
footer a:not(.elementor-button){
  text-decoration: underline 0.15em rgba(0, 0, 0, 0);
  text-underline-offset: 0.2rem;
  transition: text-decoration-color 300ms, text-underline-offset 300ms;

}
footer a:not(.elementor-button):hover{
    text-decoration: underline var( --e-global-color-text );
    text-decoration-thickness: 3px;
    text-underline-offset: 0.3rem;
}
/* fix border-radius during image reveal */
.e-gallery-image.elementor-gallery-item__image, .reveal-bt.elementor-widget-image {
    border-radius:20px;
}
/* facilities page */
.single-facility .elementor-widget-container {
    height: 200px !important;
    display: flex;
    align-items: center;
    justify-content: center;
}

/*
.unscale-this .elementor-widget-container {
  transform: scale(0.4);
  transition: transform 1.5s cubic-bezier(0.25, 1, 0.5, 1) !important;
}

.unscale-this .elementor-widget-container img {
  transition: border-radius 1.5s ease !important;
}
/* Hero image initial state 
.unscale-this .elementor-widget-container::after {
  content: "";
  position: absolute;
  top: 0; left: 0;
  width: 101%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.2);
  pointer-events: none;    
  z-index: 1;
   border-radius: 20px;   
}
.unscale-this .elementor-widget-container.no-radius::after {
  border-radius: 0 !important;
}
*/

/* Hero animation - v2 */
.img-scale-animation-cont {
    position: relative !important;
}

.img-scale-animation .elementor-widget-container::after {
  content: "";
  position: absolute;
  top: 0; left: 0;
  width: 101%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.2);
  pointer-events: none;    /* let clicks pass through */
  z-index: 1;
  border-radius: 20px;   /* match any rounded corners */
  transition: border-radius 1.5s ease;
}
.img-scale-animation .elementor-widget-container.no-radius::after {
  border-radius: 0;
}

/* States */
.img-scale-animation {
  transform: scale(1);
  transform-origin: center;
  will-change: transform;
}

.img-scale-animation.preload {
  transform: scale(0.4);
  transition: none !important; /* no animation while preloading */
}

/* Only transition when we're ready to animate */
.img-scale-animation.will-animate {
  transition: transform 1.5s cubic-bezier(0.25, 1, 0.5, 1) !important;
}

/* Smoother GPU hint */
.img-scale-animation { 
    will-change: transform, border-radius;
    transform-origin: center; }

/* Reduced motion */
@media (prefers-reduced-motion: reduce) {
  .img-scale-animation,
  .img-scale-animation.will-animate,
  .img-scale-animation .elementor-widget-container::after {
    transition: none !important;
  }
}/* End custom CSS */