/* Photo Gallery Swiper */
.cms-photo-gallery-wrap { margin: 3.125rem 0; }
.cms-photo-gallery-wrap .swiper-container .swiper-lazy-preloader { --swiper-preloader-color: hsl(var(--siteColor1)); }
.photo-gallery-controls { opacity: 0; visibility: hidden; width: 100%; margin: auto; position: absolute; top: 50%; right: 0; left: 0; z-index: 2; transform: translate(0,-50%); transition: all 0.4s ease-in-out; }
.photo-gallery-top-swiper:hover .photo-gallery-controls { opacity: 1; visibility: visible; }
.photo-gallery-controls .photo-gallery-top-btn-next,
.photo-gallery-controls .photo-gallery-top-btn-prev { width: 3.125rem; height: 3.125rem; position: absolute; top: 50%; background: hsla(var(--white), 75%); border-radius: 50vw; box-shadow: none; color: hsl(var(--siteColor1)); transition: all 0.4s ease-in-out; }
.photo-gallery-controls .photo-gallery-top-btn-next { right: 0.625rem; }
.photo-gallery-controls .photo-gallery-top-btn-prev { left: 0.625rem; }
.photo-gallery-controls .photo-gallery-top-btn-next:hover,
.photo-gallery-controls .photo-gallery-top-btn-prev:hover { background: hsl(var(--siteColor1)); box-shadow: var(--dropShadow); color: hsl(var(--white)); }
.photo-gallery-controls .photo-gallery-top-btn-next:focus,
.photo-gallery-controls .photo-gallery-top-btn-prev:focus { outline: none; box-shadow: var(--focusShadow); }
.photo-gallery-controls .photo-gallery-top-btn-next:after,
.photo-gallery-controls .photo-gallery-top-btn-prev:after { font-size: 1.875rem; }
.photo-gallery-top-swiper .photo-gallery-top-pagination.swiper-pagination-bullets { position: absolute; top: auto; right: auto; bottom: 1.25rem !important; left: 50% !important; z-index: 1; transform: translateX(-50%) !important; }
.photo-gallery-top-pagination .swiper-pagination-bullet { opacity: 0.5; margin: 0.5rem; background: hsl(var(--white)); }
.photo-gallery-top-pagination .swiper-pagination-bullet:hover { opacity: 1; background: hsla(var(--siteColor1), 0.75); }
.photo-gallery-top-pagination .swiper-pagination-bullet-active, .photo-gallery-controls .swiper-pagination-bullet-active:hover { opacity: 1; background: hsl(var(--white)); }
@media (orientation: portrait) and (min-device-width:320px) and (max-device-width:1024px) {
  .photo-gallery-controls { opacity: 1; visibility: visible; }
}
@media (orientation: landscape) and (min-device-width:480px) and (max-device-width:1024px) {
  .photo-gallery-controls { opacity: 1; visibility: visible; }
}

/* Photo Gallery Images */
.photo-gallery-top-swiper  { width: 100%; position: relative; border-radius: var(--borderRadius); }
.photo-gallery-top-swiper .photo-gallery-img-wrap { width: 100%; position: relative; padding-bottom: 56.25%; overflow: hidden; background: var(--placeholderBG);; border-radius: var(--borderRadius); }
.photo-gallery-top-swiper .gallery-link { display: block; width: 100%; height: 100%; position: absolute; top: 0; left: 0; }
.photo-gallery-top-swiper .gallery-img { display: block; width: 100%; height: 100%; object-fit: cover; position: absolute; top: 0; left: 0; z-index: 2; }

/* Photo Gallery Thumbnails */
.photo-gallery-thumb-controls { opacity: 0; visibility: hidden; width: 100%; margin: auto; position: absolute; top: 50%; right: 0; left: 0; z-index: 2; transform: translate(0,-50%); transition: all 0.4s ease-in-out; }
.photo-gallery-thumbs-swiper:hover .photo-gallery-thumb-controls { opacity: 1; visibility: visible; }
.photo-gallery-thumb-controls .photo-gallery-thumbs-btn-next,
.photo-gallery-thumb-controls .photo-gallery-thumbs-btn-prev { width: 2.1875rem; height: 2.1875rem; position: absolute; top: 0.3125rem; background: hsla(var(--white), 75%); border-radius: 50vw; box-shadow: none; color: hsl(var(--siteColor1)); transition: all 0.4s ease-in-out; }
.photo-gallery-thumb-controls .photo-gallery-thumbs-btn-next { right: 0.625rem; }
.photo-gallery-thumb-controls .photo-gallery-thumbs-btn-prev { left: 0.625rem; }
.photo-gallery-thumb-controls .photo-gallery-thumbs-btn-next:hover,
.photo-gallery-thumb-controls .photo-gallery-thumbs-btn-prev:hover { background: hsl(var(--siteColor1)); box-shadow: var(--dropShadow); color: hsl(var(--white)); }
.photo-gallery-thumb-controls .photo-gallery-thumbs-btn-next:focus,
.photo-gallery-thumb-controls .photo-gallery-thumbs-btn-prev:focus { outline: none; box-shadow: var(--focusShadow); }
.photo-gallery-thumb-controls .photo-gallery-thumbs-btn-next:after,
.photo-gallery-thumb-controls .photo-gallery-thumbs-btn-prev:after { font-size: 1.25rem; }
@media (orientation: portrait) and (min-device-width:320px) and (max-device-width:1024px) {
  .photo-gallery-thumb-controls { opacity: 1; visibility: visible; }
}
@media (orientation: landscape) and (min-device-width:480px) and (max-device-width:1024px) {
  .photo-gallery-thumb-controls { opacity: 1; visibility: visible; }
}

/* Photo Gallery Thumbnail Images */
.photo-gallery-thumbs-swiper  { width: 100%; position: relative; margin-top: 0.625rem; }
.photo-gallery-thumbs-swiper .photo-gallery-img-wrap { position: relative; padding-bottom: 56.25%; overflow: hidden; background: var(--placeholderBG);; border-radius: var(--borderRadius); }
.photo-gallery-thumbs-swiper .gallery-link { display: block; width: 100%; height: 100%; position: absolute; top: 0; left: 0; }
.photo-gallery-thumbs-swiper .gallery-img { display: block; width: 100%; height: 100%; object-fit: cover; position: absolute; top: 0; left: 0; }

/* HOME Photo Gallery */
.cms-home-photo-gallery-wrap { margin: 0; position: relative; }
.home-photo-gallery-swiper .photo-gallery-img-wrap { aspect-ratio: 1; padding-bottom: 0; background-color: hsl(var(--siteColor3)); }
.home-photo-gallery-swiper .gallery-img { mask-image: linear-gradient(hsla(var(--white), 95%), hsla(var(--white), 85%), hsla(var(--white), 5%)); }
.home-photo-gallery-swiper .photo-gallery-tagline { width: 100%; padding: 0.9375rem; position: absolute; right: 0; bottom: 1rem; left: 0; font-weight: var(--wBold); color: hsl(var(--white)); text-align: center; z-index: 2; }
.home-photo-gallery-swiper .home-photo-gallery-btn-next,
.home-photo-gallery-swiper .home-photo-gallery-btn-prev { width: 2rem; height: 2rem; }
.home-photo-gallery-swiper .home-photo-gallery-btn-next:after,
.home-photo-gallery-swiper .home-photo-gallery-btn-prev:after { font-size: 1.25rem }
@media (min-width: 667px) {
  .home-photo-gallery-swiper .photo-gallery-img-wrap { aspect-ratio: 16 / 9; }
  .home-photo-gallery-swiper .photo-gallery-tagline { bottom: 2rem; }
  .home-photo-gallery-swiper .home-photo-gallery-btn-next,
  .home-photo-gallery-swiper .home-photo-gallery-btn-prev { width: 3.125rem; height: 3.125rem; }
  .home-photo-gallery-swiper .home-photo-gallery-btn-next:after,
  .home-photo-gallery-swiper .home-photo-gallery-btn-prev:after { font-size: 1.875rem }
}
@media (min-width: 992px) {
  .home-photo-gallery-swiper .photo-gallery-img-wrap { aspect-ratio: 21 / 9; }
  .home-photo-gallery-swiper .photo-gallery-tagline { bottom: 3rem; } 
}