/* Resort Swiper Wrapper */
.cms-resorts-gallery-wrap { margin: 0; max-width: 100%; position: relative; }
.cms-resorts-gallery-wrap .swiper-container .swiper-lazy-preloader { --swiper-preloader-color: hsl(var(--siteColor1)); }
@media (min-width: 1025px) {
  .cms-resorts-gallery-wrap { max-width: 100vw; }
  .map-collapse .cms-resorts-gallery-wrap { max-width: 100vw; }
}

/* Resort Swiper Controls */
.resorts-gallery-swiper { padding: 0; }
.resorts-gallery-controls { display: flex; flex-wrap: wrap; justify-content: space-between; padding: 0 1rem; width: 100%; margin: auto; position: absolute; top: 50%; left: 0; z-index: 2; }
.resorts-gallery-controls .resort-btn-next,
.resorts-gallery-controls .resort-btn-prev { width: 3.125rem; height: 3.125rem; position: relative; top: auto; right: auto; left: auto; background: transparent; border-radius: 50vw; box-shadow: none; color: hsl(var(--white)); transition: all 0.4s ease-in-out; }
.resorts-gallery-controls .resort-btn-next:focus,
.resorts-gallery-controls .resort-btn-prev:focus { outline: none; box-shadow: var(--focusShadow); }
.resorts-gallery-controls .resort-btn-next:after,
.resorts-gallery-controls .resort-btn-prev:after { font-size: 3rem; }
.resorts-gallery-controls .resort-pagination { /* width: auto; */ display: none; align-items: center; position: relative; top: auto; right: auto; bottom: auto; left: auto !important; transform: none !important; }
@media(min-width: 1024px) {
  .resorts-gallery-controls .resort-btn-next:after,
.resorts-gallery-controls .resort-btn-prev:after { font-size: 7rem; }
}

/* 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-controls { height: 3rem; }
.resorts-gallery-img-wrap { height: 15rem; padding-bottom: 0; }
.resorts-gallery-swiper .swiper-slide { --marginRight: 1.875rem; --columns: 1; margin-right: var(--marginRight); width: calc(calc(100% / var(--columns)) - var(--marginRight) + calc(var(--marginRight) / var(--columns))); }
@media (min-width: 0) {
  .resorts-gallery-swiper .swiper-slide { --columns: 1; }
}
@media (min-width: 667px) {
  .resorts-gallery-swiper .swiper-slide { --columns: 2; }
}
@media (min-width: 992px) {
  .resorts-gallery-swiper .swiper-slide { --columns: 3; }
}
@media (min-width: 1200px) {
  .resorts-gallery-swiper .swiper-slide { --columns: 4; }
}

/* 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; }
.resort-detail-content-wrap .resort-detail-info-wrap { width: 100%; }
@media (min-width: 812px) {
  .resort-single-img-wrap { width: 45%; flex-basis: 45%; padding-bottom: 30%; }
  .resort-detail-content-wrap .resort-detail-info-wrap { width: 55%; flex-basis: 55%; }
}

/* Resort Detail Info */
.resort-detail-info-wrap { padding: 1rem; margin: 0 auto; width: 90%; }
.resort-detail-info-wrap .row { justify-content: center; }
.resort-detail-description { margin-bottom: 1rem; }
.resort-detail-amenities { margin-bottom: 1rem; }

/* Resorts QS Bar */
.resorts-search-box .srp-header-filters { display: none; }
.resorts-search-box .srp-header-filters .srp-dates-toggle { width: 45%; }
.resorts-search-box .srp-header-filters .srp-dates-wrap { display: flex; justify-content: flex-start; }
@media(min-width: 1025px) {
  .resorts-search-box .srp-header-filters { display: flex; width: 80%; }
}

.resorts-info-title { display: flex; flex-direction: column-reverse; width: 80%; margin: 0 auto; padding: 0.5rem 0; }
.resorts-info-title-top { display: flex; flex-direction: column; align-items: center; justify-content: space-between; }
.resorts-info-title img { margin: 1rem 0; object-fit: contain; width: 100%;  max-width: 14.375rem; height: 100%; max-height: 5rem; background: transparent; }
.resorts-info-title-h1 { font-weight: var(--wMedium); }
.resorts-info-title .view-more-details-wrap { /* height: 0; */ padding-top: 1rem; overflow: hidden; transition: .3s all ease-in-out; }
.resorts-info-title .view-more-details-wrap h1 { display: none; }
.resorts-info-title .view-more-btn { cursor: pointer; transition: .3s all ease; margin: .25rem 0; min-width: 9.375rem; }
.resorts-info-title .view-more-btn .icon { transition: .5s all ease; }
@media (min-width: 1025px) {
  .resorts-info-title-top { display: flex; flex-direction: row; align-items: center; justify-content: space-between; }
  .resorts-info-title-h1 { position: relative; left: 50%; transform: translateX(-50%); }
  .resorts-info-title img + .resorts-info-title-h1 { position: relative; left: 0; transform: translateX(0); }
}

/* Support Classes */
.w-80 { width: 80%; }
.rotate-180 { transform: rotate(180deg); transition: .5s all ease; }
.srp-header-filters-pipe:first-of-type { display: none; }

/* Resorts Amenity Items */
.resort-amenity-item { display: flex; flex-direction: column; justify-content: flex-start; align-items: center; padding: 0; margin: .5rem 0; max-width: 10rem; }
.resort-amenity-item > img { mix-blend-mode: multiply; }
@media(min-width: 768px) {
  .resort-amenity-item { display: flex; flex-direction: column; justify-content: flex-start; align-items: center; max-width: unset; }
}
