
/* Gallery */
img.object-fit-cover { width: 100% !important; height: 100% !important; }
img.object-fit-contain { width: auto !important; height: 100% !important; }

.gallery__figure { position: relative; margin: 0; box-sizing: border-box; width: 100%; height: 100%; overflow: hidden; }
.gallery__figure .gallery__img { margin: auto; display: block; }
.gallery__figure .figure-caption { padding: 1rem 0; }
.gallery__figure.hidden { display: none; }

/*
.image-link-zoom:hover { cursor: zoom-in; }
.image-link-page:hover { cursor: pointer; }
*/

.gallery-image-scale .grid .gallery__figure .gallery__img { transition: transform .5s; }
.gallery-image-scale .grid .gallery__figure:hover .gallery__img { transform: scale(1.1); }

.gallery__figure.has-lightbox { position: relative; overflow: hidden; transform: translateY(0); }
.gallery__figure.has-lightbox img { transition: transform 0.6s ease; }
.gallery__figure.has-lightbox .gallery-overlay { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; opacity: 0; transition: opacity 0.4s ease; }
.gallery__figure.has-lightbox .gallery-overlay i { color: #ffffff; font-size: 2rem; transform: scale(0.5); transition: transform 0.4s ease; }
.gallery__figure.has-lightbox:hover img { transform: scale(1.1); }
.gallery__figure.has-lightbox:hover .gallery-overlay { opacity: 1; }
.gallery__figure.has-lightbox:hover .gallery-overlay i { transform: scale(1); }

@media (min-width: 1024px) {

	.gallery-overlay-bottom .grid .gallery__figure .figure-caption { position: absolute; top: auto; bottom: 0; left: 0; right: 0; padding: 1rem; color: #fff; -webkit-transform: translateY(100%); transform: translateY(100%); background: rgba(0,0,0,.5); transition-duration: .3s; transition-timing-function: ease-out; transition-property: opacity,transform,filter; }
    .gallery-overlay-bottom .grid .gallery__figure:hover .figure-caption { -webkit-transform: translateX(0) translateY(0); transform: translateX(0) translateY(0); }

	.gallery-overlay-full .grid .gallery__figure .figure-caption { opacity: 0; position: absolute; top: 0; bottom: 0; left: 0; right: 0; padding: 1rem; color: #fff; background: rgba(0,0,0,.5); transition-duration: .3s; transition-timing-function: ease-out; transition-property: opacity,transform,filter; }
    .gallery-overlay-full .grid .gallery__figure:hover .figure-caption { opacity: 1; }
}