/* 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 { width: 100%; margin: auto; position: absolute; top: 50%; right: 0; left: 0; z-index: 2; transform: translate(0,-50%); }
.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: transparent; border-radius: 50vw; box-shadow: none; color: hsl(var(--white)); 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; 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)); }

/* 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 { width: 100%; margin: auto; position: absolute; top: 50%; right: 0; left: 0; z-index: 2; transform: translate(0,-50%); }
.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: transparent; border-radius: 50vw; box-shadow: none; color: hsl(var(--white)); 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; }

/* 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; }