@font-face {
    font-family: 'Montserrat';
    src: url('../assets/fonts/Montserrat-Light.eot');
    src: url('../assets/fonts/Montserrat-Light.eot?#iefix') format('embedded-opentype'),
        url('../assets/fonts/Montserrat-Light.woff2') format('woff2'),
        url('../assets/fonts/Montserrat-Light.woff') format('woff'),
        url('../assets/fonts/Montserrat-Light.ttf') format('truetype'),
        url('../assets/fonts/Montserrat-Light.svg#Montserrat-Light') format('svg');
    font-weight: 300;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Montserrat';
    src: url('../assets/fonts/Montserrat-Regular.eot');
    src: url('../assets/fonts/Montserrat-Regular.eot?#iefix') format('embedded-opentype'),
        url('../assets/fonts/Montserrat-Regular.woff2') format('woff2'),
        url('../assets/fonts/Montserrat-Regular.woff') format('woff'),
        url('../assets/fonts/Montserrat-Regular.ttf') format('truetype'),
        url('../assets/fonts/Montserrat-Regular.svg#Montserrat-Regular') format('svg');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Montserrat';
    src: url('../assets/fonts/Montserrat-Medium.eot');
    src: url('../assets/fonts/Montserrat-Medium.eot?#iefix') format('embedded-opentype'),
        url('../assets/fonts/Montserrat-Medium.woff2') format('woff2'),
        url('../assets/fonts/Montserrat-Medium.woff') format('woff'),
        url('../assets/fonts/Montserrat-Medium.ttf') format('truetype'),
        url('../assets/fonts/Montserrat-Medium.svg#Montserrat-Medium') format('svg');
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Wasted Vindey';
    src: url('../assets/fonts/WastedVindeyRegular.eot');
    src: url('../assets/fonts/WastedVindeyRegular.eot?#iefix') format('embedded-opentype'),
        url('../assets/fonts/WastedVindeyRegular.woff2') format('woff2'),
        url('../assets/fonts/WastedVindeyRegular.woff') format('woff'),
        url('../assets/fonts/WastedVindeyRegular.ttf') format('truetype'),
        url('../assets/fonts/WastedVindeyRegular.svg#WastedVindeyRegular') format('svg');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

.font-Montserrat{font-family: 'Montserrat';}
.font-Wasted{font-family: 'Wasted Vindey';}

html { scroll-behavior: smooth; }

html, body{
  overflow-x: hidden !important;
}

/* Landing Page Looping Texts */
.marquee-container {
  position: relative;
  width: 100%;
  overflow: hidden;
}

.marquee-track {
  display: flex;
  width: max-content;            /* track is only as wide as its content */
  will-change: transform;
  animation: marquee 20s linear infinite;
}

.marquee-text {
  white-space: nowrap;           /* keep the line unwrapped */
  display: inline-block;
  color: black;
  /* color shift runs independently and loops */
  animation: color-shift 8s ease-in-out infinite alternate;
}

/* Smooth, seamless scroll: move half the track width (because there are 2 copies) */
@keyframes marquee {
  from { transform: translateX(0); }
  to   { transform: translateX(-50%); }
}

@keyframes color-shift {
  0%   { color: black; }
  100% { color: #0D7466; }
}

/* Nice-to-have accessibility */
@media (prefers-reduced-motion: reduce) {
  .marquee-track,
  .marquee-text {
    animation: none;
    transform: none;
  }
}


/* Make Owl dots look like your segmented bars */
  .owl-dots {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    bottom: -5%; /* ~bottom-2 */
    display: flex;
    gap: 5px;
  }
  .owl-dot span {
    display: block;
    height: 8px; 
    width: 8px;   
    background: #D9D9D9;  
    transition: background-color 200ms;
    border-radius: 100%;
  }
  .owl-dot.active span {
    background: #0F302B;
  }



/* Menu Page */
.menu-slider .owl-nav {
    position: absolute;
    inset: 0;
    pointer-events: none;
}
.menu-slider .owl-nav button {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    pointer-events: auto;
    display: grid; place-items: center;
}
.menu-slider .owl-nav .owl-prev { left: -11%; }
.menu-slider .owl-nav .owl-next { right: -11%; }
.menu-slider .owl-nav button span {
    font-size: 22px; line-height: 1; color: #32a1a1;
}

.projects-slider .owl-nav {
    position: absolute;
    inset: 0;
    pointer-events: none;
}
.projects-slider .owl-nav button {
    position: absolute;
    top: 40%;
    transform: translateY(-50%);
    pointer-events: auto;
    display: grid; place-items: center;
}
.projects-slider .owl-nav .owl-prev { left: -11%; }
.projects-slider .owl-nav .owl-next { right: -11%; }
.projects-slider .owl-nav button span {
    font-size: 22px; line-height: 1; color: #32a1a1;
}



/* Concept Page */
.concept-slider .owl-nav {
    position: absolute;
    inset: 0;
    pointer-events: none;
}
.concept-slider .owl-nav button {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    pointer-events: auto;
    display: grid; place-items: center;
}
.concept-slider .owl-nav .owl-prev { left: 6%; }
.concept-slider .owl-nav .owl-next { right: 6%; }
.concept-slider .owl-nav button span {
    font-size: 22px; line-height: 1; color: #32a1a1;
}
.concept-slider .owl-dots{
  bottom: -5%;
}
/* Make each slide’s card scale responsively inside the carousel */
.concept-slide { max-width: 1100px; width: 100%; margin: 0 auto; }

@media(min-width: 1800px){
  .concept-slide { max-width: 1300px;}
}



/* Stay Page */
.stay-slider .owl-nav {
    position: absolute;
    inset: 0;
    pointer-events: none;
}
.stay-slider .owl-nav button {
    position: absolute;
    top: 55%;
    transform: translateY(50%);
    pointer-events: auto;
    display: grid; place-items: center;
}
.stay-slider .owl-nav .owl-prev { left: 17%; }
.stay-slider .owl-nav .owl-next { right: 17%; }
.stay-slider .owl-nav button span {
    font-size: 22px; line-height: 1; color: #32a1a1;
}
.stay-slider .owl-dots{
  bottom: -2%;
}

/* Make each slide’s card scale responsively inside the carousel */
.stay-slide { max-width: 920px; width: 100%; margin: 0 auto; }

@media(max-width: 1441px){
    .stay-slider .owl-nav .owl-prev { left: 15%; }
    .stay-slider .owl-nav .owl-next { right: 15%; }

    .stay-slider .owl-nav button {
      top: 57%;
    }
}

@media(max-width: 1300px){
    .stay-slider .owl-nav .owl-prev { left: 0%; }
    .stay-slider .owl-nav .owl-next { right: 0%; }

    .stay-slider .owl-nav button {
      top: 57%;
    }
}

@media(max-width: 960px){
    .stay-slider .owl-nav .owl-prev { left: -5%; }
    .stay-slider .owl-nav .owl-next { right: -5%; }

    .stay-slider .owl-nav button {
      top: 40%;
      transform: translateY(-50%);  
    }
}


/* Gallery Sliders */
.gallery-slider .owl-nav,
.pp-gallery-slider .owl-nav {
    position: absolute;
    inset: 0;
    pointer-events: none;
}
.gallery-slider .owl-nav button,
.pp-gallery-slider .owl-nav button {
    position: absolute;
    top: 55%;
    transform: translateY(-50%);
    pointer-events: auto;
    display: grid; place-items: center;
}
.gallery-slider .owl-nav .owl-prev,
.pp-gallery-slider .owl-nav .owl-prev { left: 10%; }
.gallery-slider .owl-nav .owl-next,
.pp-gallery-slider .owl-nav .owl-next { right: 10%; }
.gallery-slider .owl-nav button span,
.pp-gallery-slider .owl-nav button span {
    font-size: 22px; line-height: 1; color: #32a1a1;
}
.gallery-slider .owl-dots,
.pp-gallery-slider .owl-dots {
  bottom: -4%;
}

/* Make each slide’s card scale responsively inside the carousel */
.gallery-slide { max-width: 1000px; width: 100%; margin: 0 auto; }

.pp-gallery-slide { max-width: 1000px; width: 100%; margin: 0 auto; }

@media(min-width: 1800px){
    .pp-gallery-slide { max-width: 1400px; }
    .pp-gallery-slider .owl-nav .owl-prev { left: 5%; }
    .pp-gallery-slider .owl-nav .owl-next { right: 5%; }
    .pp-gallery-slider .owl-nav button span { font-size: 32px; }
}

@media(max-width: 1441px){
    .gallery-slider .owl-nav .owl-prev,
    .pp-gallery-slider .owl-nav .owl-prev { left: 5%; }
    .gallery-slider .owl-nav .owl-next,
    .pp-gallery-slider .owl-nav .owl-next { right: 5%; }
}

@media(max-width: 960px){
    .gallery-slider .owl-nav .owl-prev,
    .pp-gallery-slider .owl-nav .owl-prev { left: -5%; }
    .gallery-slider .owl-nav .owl-next,
    .pp-gallery-slider .owl-nav .owl-next { right: -5%; }

    .gallery-slider .owl-nav button,
    .pp-gallery-slider .owl-nav button {
      top: 65%;
      transform: translateY(-50%);
    }
}



/* Fitness Sliders */
.fitness-slider .owl-nav {
    position: absolute;
    inset: 0;
    pointer-events: none;
}
.fitness-slider .owl-nav button {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    pointer-events: auto;
    display: grid; place-items: center;
}
.fitness-slider .owl-nav .owl-prev { left: -5%; }
.fitness-slider .owl-nav .owl-next { right: -5%; }
.fitness-slider .owl-nav button span {
    font-size: 22px; line-height: 1; color: #32a1a1;
}

/* Make each slide’s card scale responsively inside the carousel */
.fitness-slide { max-width: 1200px; width: 100%; margin: 0 auto; }

@media(max-width: 960px){
    .fitness-slider .owl-nav .owl-prev { left: -10%; }
    .fitness-slider .owl-nav .owl-next { right: -10%; }
}


/* Location Sliders */
.location-slider .owl-nav {
    position: absolute;
    inset: 0;
    pointer-events: none;
}
.location-slider .owl-nav button {
    position: absolute;
    bottom: 3%;
    pointer-events: auto;
    display: grid; place-items: center;
}
.location-slider .owl-nav .owl-prev { right: -5%; }
.location-slider .owl-nav .owl-next { right: -20%; }
.location-slider .owl-nav button span {
    font-size: 22px; line-height: 1; color: #32a1a1;
}

/* Make each slide’s card scale responsively inside the carousel */
.location-slide { max-width: 500px; width: 100%; margin: 0 auto; }

@media(max-width: 640px){
  .location-slider .owl-nav .owl-prev { right: -10%; }
  .location-slider .owl-nav .owl-next { right: -25%; }
}






/* Loader  */

@-webkit-keyframes loader {
  0% {
    width: 0;
  }
  20% {
    width: 10%;
  }
  25% {
    width: 24%;
  }
  43% {
    width: 41%;
  }
  56% {
    width: 50%;
  }
  66% {
    width: 52%;
  }
  71% {
    width: 60%;
  }
  75% {
    width: 76%;
  }
  94% {
    width: 86%;
  }
  100% {
    width: 100%;
  }
}

@keyframes loader {
  0% {
    width: 0;
  }
  20% {
    width: 10%;
  }
  25% {
    width: 24%;
  }
  43% {
    width: 41%;
  }
  56% {
    width: 50%;
  }
  66% {
    width: 52%;
  }
  71% {
    width: 60%;
  }
  75% {
    width: 76%;
  }
  94% {
    width: 86%;
  }
  100% {
    width: 100%;
  }
}

.progress-bar {
  width: 95%;
  max-width: 95%;
  left: 50%;
  width: 100%;
  max-width: 100%;
  border-radius: 0;
  margin-top: 30px;
}
.progress {
  margin-top: 10px !important;
  margin-bottom: 10px !important;
}
.bar {
  margin-top: 25px !important;
  margin-bottom: 0 !important;
}
.progress-bar {
  border-radius: 0;
  overflow: hidden;
  width: 100%;
  padding: 0;
  display: none;
}
.progress-bar span {
  display: block;
}
.bar {
  background: 0 0;
}
.progress {
  -webkit-animation: loader 8s ease infinite;
  animation: loader 8s ease infinite;
  background: #32a1a1;
  color: #fff;
  padding: 5px;
  width: 0;
  margin-top: 25px;
  margin-bottom: 25px;
}
.progress-bar {
  position: relative;
  -webkit-transform: translate3d(-50%, -50%, 0);
  transform: translate3d(-50%, -50%, 0);
  background-color: transparent;
}


html,
body {
  height: 100%;
  scroll-snap-type: none;     /* ✅ disable snap by default */
  scroll-behavior: smooth;
}

/* No snapping on sections by default */
section {
  scroll-snap-align: none;
}

/* Prevent fixed navbar from covering anchor targets */
#hero,
#explore {
  scroll-margin-top: 90px; /* adjust to your navbar height */
}

/* Marker defaults (mobile/tablet): neutral */
#exploreSnapEnd {
  height: 1px;
  scroll-snap-align: none;
  scroll-snap-stop: normal;
}

/* ---------------------------
   Desktop Only: ENABLE SNAP
   - pointer: fine (mouse/trackpad)
   - hover: hover
   - min-width: 1025px
   --------------------------- */
@media (min-width: 1025px) and (hover: hover) and (pointer: fine) {
  html,
  body {
    scroll-snap-type: y proximity; /* ✅ enable snap only on desktop */
  }

  /* only Explore should snap to top */
  #explore {
    scroll-snap-align: start;
  }

  /* Marker makes "bottom meets bottom" possible */
  #exploreSnapEnd {
    height: 1px;
    scroll-snap-align: end;
    scroll-snap-stop: always;
  }
}

.sticky-icons {

  position: fixed;

  bottom: 5%;

  z-index: 10000;

  display: flex;

  flex-direction: row;

  right: 1%;

  background-color: white;

  border-radius: 15px;

  display: flex;

  justify-content: center;

  align-items: center;

  box-shadow: 2px 2px 6px rgb(182, 182, 182);

  -webkit-animation: pulse 1.5s infinite;

  -moz-animation: pulse 1.5s infinite;

  -o-animation: pulse 1.5s infinite;

  animation: pulse 1.5s infinite;

}

.sticky-icons:hover {

  -webkit-animation: none;

  -moz-animation: none;

  -o-animation: none;

  animation: none;

}

.sticky-icons :hover{cursor: pointer;}

.sticky-icon {

  width: 40px;

  height: 40px;

  object-fit: contain;

  background: #0D9F16;

  display: flex;

  align-items: center;

  justify-content: center;

  border-radius: 50%;

  margin: 5px;

  position: relative;

  transform: rotate(26deg);

}

.sticky-icon img{width: 70%;object-fit: contain; transform: rotate(-24deg);}

.sticky-icons p{

  color: #0a6b10;

  font-size: 20px;

  margin-bottom: 0px;

  padding: 0;

  font-weight: bold;

  line-height: 1.2;

}

.sticky-icon::after{

  content: "";

  width: 0;

  height: 0;

  border-left: 6px solid transparent;

  border-right: 6px solid transparent;

  border-top: 8px solid #0d9f16;

  position: absolute;

  bottom: -3px;

  left: -18px;

  right: 0;

  margin: 0 auto;

  transform: rotateZ(31deg);

}

@-webkit-keyframes pulse {

  0% {transform: scale(0.9);}

  70% {transform: scale(1);box-shadow: 0 0 0 30px rgba(90, 153, 212, 0);}

  100% {transform: scale(0.9);box-shadow: 0 0 0 0 rgba(90, 153, 212, 0);}

}

@-moz-keyframes pulse{

  0% {transform: scale(0.9);}

  70% {transform: scale(1);box-shadow: 0 0 0 30px rgba(90, 153, 212, 0);}

  100% {transform: scale(0.9);box-shadow: 0 0 0 0 rgba(90, 153, 212, 0);}

}

@-o-keyframes pulse{

  0% {transform: scale(0.9);}

  70% {transform: scale(1);box-shadow: 0 0 0 30px rgba(90, 153, 212, 0);}

  100% {transform: scale(0.9);box-shadow: 0 0 0 0 rgba(90, 153, 212, 0);}

}

@keyframes pulse{

  0% {transform: scale(0.9);}

  70% {transform: scale(1);box-shadow: 0 0 0 30px rgba(90, 153, 212, 0);}

  100% {transform: scale(0.9);box-shadow: 0 0 0 0 rgba(90, 153, 212, 0);}

}



@media(max-width:500px){

  .sticky-icons p{font-size: 16px;}

  .sticky-icon{width: 35px;height: 35px;}

}
