/* Gallery */
:root {
  --galleryTitlePadding: 0.625rem;
}
.cms-photo-gallery-wrap { padding: 0; position: relative; }
.cms-photo-gallery-wrap .container-fluid { max-width: 125rem; padding: 0 1.25rem; }
.cms-photo-gallery-wrap .row { justify-content: center; padding: 0 0.3125rem; }
.cms-photo-gallery-wrap [class^=col] { max-width: 100%; flex-basis: 100%; padding: 0.625rem; }
.cms-photo-gallery-wrap .gallery-wrap { overflow: hidden; position: relative; border-radius: var(--borderRadius); box-shadow: var(--dropShadow), var(--dropShadow); font-family: var(--siteFont2), sans-serif; text-align: center; }
.cms-photo-gallery-wrap .gallery-img-wrap { position: relative; padding-bottom: 100%; background: hsl(var(--siteColor1)); transition: all ease-in-out 0.4s; }
.cms-photo-gallery-wrap .gallery-img { opacity: 0.65; width: 100%; height: 100%; position: absolute; top: 0; left: 0; object-fit: cover; transition: all ease-in-out 0.4s; }
.gallery-wrap:hover .gallery-img { opacity: 0.25; }
.gallery-wrap .gallery-wrap-title { opacity: 1; visibility: visible; margin: 0 0 1.25rem; padding: var(--galleryTitlePadding); width: 100%; position: absolute; top: 50%; transform: translate(0,-50%); background: hsla(var(--black), 35%); font-family: var(--siteFont2), sans-serif !important; font-size: 2.5rem; color: hsl(var(--white)); text-transform: capitalize; font-weight: var(--wBold); line-height: 1; transition: all ease-in-out 0.4s; }
.gallery-wrap:hover .gallery-wrap-title { opacity: 0; visibility: hidden; top: -100%; transform: none; color: hsl(var(--white)); }
.gallery-wrap .gallery-wrap-title span { display: block; margin-bottom: 0.1875rem; font-size: 1.25rem; font-weight: var(--wRegular); text-transform: uppercase; }
.gallery-info { opacity: 0; visibility: hidden; width: 100%; position: absolute; top: 100%; right: 0; left: 0; z-index: 2; transform: none; margin: auto; padding: var(--galleryTitlePadding); font-size: 1rem; line-height: 1.5; transition: all ease-in-out 0.4s; }
.gallery-wrap:hover .gallery-info { opacity: 1; visibility: visible; top: 50%; transform: translate(0,-50%); }
.gallery-title { margin-bottom: 1.5625rem; font-family: var(--siteFont2), sans-serif !important; font-size: 2.5rem; color: hsl(var(--white)); line-height: 1; text-transform: capitalize; font-weight: var(--wBold); }
.gallery-title span { display: block; margin-bottom: 0.1875rem; font-size: 1.25rem; font-weight: var(--wRegular); text-transform: uppercase; }
.gallery-text { margin-bottom: 1.5625rem; }
.gallery-info .btn { display: block; width: 11.25rem; margin: auto; padding: 0.75rem 1.25rem; border: 0.125rem solid hsl(var(--white)); font-size: 1.125rem; color: hsl(var(--white)); }
.gallery-info .btn:hover { border: 0.125rem solid hsl(var(--white)); }

/* Gallery Swiper */
.cms-gallery-wrap .swiper-container .swiper-lazy-preloader { --swiper-preloader-color: hsl(var(--siteColor1)); }
.gallery-container { width: 100%; max-width: 107.5rem; margin: auto; padding: 0 0 3.125rem; position: relative; }
.gallery-swiper.swiper-container { max-width: 112.5rem; padding: 1.875rem 0.9375rem; }
@media (min-width: 480px) {
  .gallery-container { padding: 0 4.375rem; }
}

/* Gallery Controls */
.gallery-controls { width: 10.25rem; margin: auto; position: relative; top: 0.625rem; right: 0; left: 0; z-index: 2; transform: none; }
.gallery-controls .gallery-btn-next,
.gallery-controls .gallery-btn-prev { width: 3.125rem; height: 3.125rem; position: absolute; top: 50%; background: transparent; border: 0.125rem hsl(var(--lightGray)) solid; border-radius: 50vw; box-shadow: none; color: hsl(var(--lightGray)); transition: all 0.4s ease-in-out; }
.gallery-controls .gallery-btn-next { right: 0.625rem; }
.gallery-controls .gallery-btn-prev { left: 0.625rem; }
.gallery-controls .gallery-btn-next:hover,
.gallery-controls .gallery-btn-prev:hover { background: hsl(var(--siteColor1)); border-color: hsl(var(--siteColor1)); box-shadow: var(--dropShadow); color: hsl(var(--white)); }
.gallery-controls .gallery-btn-next:focus,
.gallery-controls .gallery-btn-prev:focus { outline: none; box-shadow: var(--focusShadow); }
.gallery-controls .gallery-btn-next:after,
.gallery-controls .gallery-btn-prev:after { display: none; }
.gallery-controls .gallery-btn-next .icon,
.gallery-controls .gallery-btn-prev .icon { width: 1.75rem; height: 1.75rem; }
.gallery-pagination.swiper-pagination { margin-top: 3rem; position: relative; right: auto; bottom: auto; left: auto; }
@media (min-width: 480px) {
  .gallery-controls { width: 100%; position: absolute; top: 50%; transform: translate(0,-50%); }
}

@media(min-width:480px) {
  .cms-photo-gallery-wrap .gallery-img-wrap { padding-bottom: 60%; }
}
@media(min-width:667px) {
  .cms-photo-gallery-wrap [class^=col] { max-width: 50%; flex-basis: 50%; }
  .cms-photo-gallery-wrap .gallery-img-wrap { padding-bottom: 100%; }
}
@media(min-width:768px) {
  .cms-photo-gallery-wrap .gallery-img-wrap { padding-bottom: 80%; }
}
@media(min-width:992px) {
  .cms-photo-gallery-wrap [class^=col] { max-width: 33.33333%; flex-basis: 33.33333%; }
  .cms-photo-gallery-wrap .gallery-img-wrap { padding-bottom: 120%; }
}
@media(min-width:1200px) {
  .cms-photo-gallery-wrap [class^=col] { max-width: 25%; flex-basis: 25%; }
  .cms-photo-gallery-wrap .gallery-img-wrap { padding-bottom: 150%; }
}

/* ---------------------- */
/* Gallery - Category */
/* ---------------------- */

/* Photo Gallery Swiper */
.cms-photo-gallery-category-wrap { margin: 3.125rem 0; }
.cms-photo-gallery-category-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; } 