/* Resort Swiper Wrapper */
.cms-resorts-gallery-placeholder { position:relative; padding-bottom:65%;  margin: 0 0 1rem;  }
.cms-resorts-gallery-wrap {  position:absolute; top:0;left:0; right:0; width:100vw; padding-bottom:65%; background-color: var(--placeholderBG); }
.resorts-gallery-swiper { height:100%; position:absolute; left:0; top:0; right:0; bottom:0; }
.cms-resorts-gallery-wrap .swiper-container .swiper-lazy-preloader { --swiper-preloader-color: hsl(var(--siteColor1)); }

@media(min-width:1025px){
  .cms-resorts-gallery-placeholder { padding-bottom:30%; }
  .cms-resorts-gallery-wrap { padding-bottom:30%; width:calc(100vw - var(--scrollbarWidth)); }
}

/* Resort Swiper Controls */
.resorts-gallery-controls .swiper-button-next,
.resorts-gallery-controls .swiper-button-prev { color: hsl(var(--white)); margin-top: 0; position: absolute; top: 50%; transform: translateY(-50%); width: 4rem; height: 4rem; border-radius: var(--borderRadiusCircle); }
.resorts-gallery-controls .swiper-button-next:after, .resorts-gallery-controls .swiper-button-prev:after { font-size:1.5rem; font-weight:var(--wHeavy); }
.resorts-gallery-controls .swiper-button-next:hover,
.resorts-gallery-controls .swiper-button-prev:hover { background-color:hsla(var(--siteColor1), 50%); }
.resorts-gallery-controls .swiper-button-prev { left: 0.25rem; }
.resorts-gallery-controls .swiper-button-next { right: 0.25rem; }


/* Resort Swiper Images */
.resort-gallery-img-wrap { width: 100%; position: relative; padding-bottom: 70%; overflow: hidden;  background: var(--placeholderBG); border-radius: var(--borderRadius); box-shadow: var(--dropShadow); }
.resort-gallery-link { display: block; width: 100%; height: 100%; position: absolute; top: 0; left: 0; }
.resort-gallery-img { display: block; width: 100%; height: 100%; object-fit: cover; position: absolute; top: 0; left: 0; z-index: 2; }
.resort-gallery-link .swiper-caption { padding: 0.3125rem 0.75rem 0.3125rem 1rem; position: absolute; bottom: 0; left: 0; z-index: 3; background: hsla(var(--black), 75%); border-top-right-radius: var(--borderRadiusCheckbox); color: hsl(var(--white)); line-height: 1; }

/* CLS Fixes */
.resorts-gallery-swiper .be-property-widget-img { z-index:11; }
.resorts-gallery-swiper .swiper-slide { position:relative; width:100%; }

@media (min-width: 1025px) {
  .resorts-gallery-swiper .swiper-slide { width: 55% !important; opacity: 0.35; position: relative; transition: opacity ease-in-out 0.2s; }
  .resorts-gallery-swiper .swiper-slide.swiper-slide-active { opacity: 1; }
  
}

/* Resort Single Image */
.resort-detail-content-wrap { display: flex; flex-wrap: wrap; flex-direction: row; align-items: center;  }
.resort-single-img-wrap { width: 100%; max-width: 43.75rem; position: relative; padding-bottom: 70%; overflow: hidden; background: var(--placeholderBG); border-radius: var(--borderRadius); box-shadow: var(--dropShadow); }
.resort-single-img { display: block; width: 100%; height: 100%; object-fit: cover; position: absolute; top: 0; left: 0; z-index: 2; }
@media (min-width: 812px) {
  .resort-single-img-wrap { width: 50%; padding-bottom: 30%; }
}

/* Resort Detail Info */
.resorts-detail-info-wrap { padding: 1rem 0; }
.resorts-detail-description { margin-bottom: 1rem; }
.resorts-detail-amenities { margin-bottom: 1rem; }
#resorts-map { height:100%; }

@media(min-width:1025px){
  .resort-detail-amenities { display:flex; }
  .resort-detail-amenities ul { width:50%; }
}