.z-lightbox {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	max-width: 100%;
	box-sizing: border-box;
	overflow: hidden;
	opacity: 0;
	visibility: hidden;
	transition: opacity 0.3s ease, visibility 0.3s ease;
}
.z-lightbox[style*="animation-name: none"],
.z-lightbox:has(.z-appeared[style*="animation-name: none"]) {
	opacity: 1 !important;
	visibility: visible !important;
}
.z-lightbox img {
	max-width: 100%;
	height: auto;
	display: block;
	transition: transform 0.5s ease;
}
.z-lightbox-imgs-title {
	margin: 0; 
	padding: 10px;
	display: block;
	width: 100%;
	font-size: inherit; 
	line-height: 1.2;
}
.z-lightbox:has(.z-lightbox-imgs-grid-row) {
	height: auto !important;
	overflow: visible !important;
}
.z-lightbox:has(.z-lightbox-imgs-width-row) {
	height: auto !important;
	overflow: visible !important;
}
.z-lightbox-background-img {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-repeat: no-repeat;
	background-position: center center;
	transform: translateZ(0);
	z-index: 1;
}
.z-lightbox-imgs-type {
	width: 100%;
	z-index: 2;
}
.z-lightbox-imgs {
	width: 100%;
	height: 100%;
	overflow: hidden;
}
.z-lightbox-imgs-emphasis {
	position: absolute;
	inset: 0;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;  
	overflow: hidden;
	z-index: 2;
}
.z-lightbox-imgs-emphasis img {
	width: 100%;
	height: 100%;
	object-fit: cover; 
}
.z-lightbox-imgs-grid-row {
	display: flex;
	flex-wrap: wrap;
	width: 100%;
	height: auto;
	overflow: visible;
}
.z-lightbox-imgs-grid-col {
	display: inline-block;
	width: 100%;
	break-inside: avoid;
	box-sizing: border-box;
}
.z-lightbox .z-lightbox-imgs-type .z-lightbox-imgs-grid-row .z-lightbox-imgs-grid-col .z-lightbox-imgs {
	position: relative !important;
	width: 100%;
	height: auto;
	overflow: hidden;
}
.z-lightbox-imgs-grid-col img {
	display: block;
	width: 100%;
	height: auto;
	cursor: pointer;
} 
.z-lightbox-imgs-width-row {
	display: flex;
	flex-wrap: wrap;
	width: 100%;
	overflow: visible;
	margin: 0;
	padding: 0;
	box-sizing: border-box;
}
.z-lightbox-imgs-width-col {
	margin-bottom: 16px;
	display: flex;
	flex-direction: column;
	box-sizing: border-box;
}
.z-lightbox-imgs-width-col .z-lightbox-imgs {
	position: relative;
	display: flex;
	flex-direction: column;
	width: 100%;
	height: 100%;
	min-height: 0;
}
.z-lightbox-imgs-width-col img {
	display: block;
	width: 100%;
	height: auto;
	max-height: 100%;
	cursor: pointer;
	object-fit: cover;
}
.z-lightbox-imgs-width-col .z-overlay {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
}
.z-lightbox-imgs-slides {
	position: relative;
	width: 100%;
	overflow: hidden;
}
.z-slides-wrapper {
	position: relative;
	width: 100%;
}
.z-lightbox-imgs-slides {
	position: relative;
	width: 100%;
	overflow: hidden;
}
.z-slides-wrapper {
	position: relative;
	width: 100%;
}
.z-lightbox-imgs-slide {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	opacity: 0;
	visibility: hidden;
	transition: opacity 0.5s ease-in-out, visibility 0.5s ease-in-out;
	z-index: 1;
}
.z-lightbox-imgs-slide.z-active {
	position: relative;
	opacity: 1;
	visibility: visible;
	z-index: 2;
}
.z-slide-img-content {
	width: 100%;
	height: auto;
	display: block;
}
.z-slide-caption {
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	background: rgba(0, 0, 0, 0.7);
	color: #fff;
	padding: 15px;
	text-align: center;
	z-index: 3;
}
.z-slide-nav {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	background: rgba(0, 0, 0, 0.5);
	color: #fff;
	border: none;
	cursor: pointer;
	padding: 10px 15px;
	z-index: 10;
	font-size: 18px;
	transition: background 0.3s ease;
}
.z-slide-nav:hover {
	background: rgba(0, 0, 0, 0.8);
}
.z-slide-nav.prev {
	left: 10px;
}
.z-slide-nav.next {
	right: 10px;
}
.z-slide-indicators {
	position: absolute;
	bottom: 15px;
	left: 50%;
	transform: translateX(-50%);
	display: flex;
	gap: 8px;
	z-index: 10;
}
.z-indicator {
	width: 12px;
	height: 12px;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.5);
	border: none;
	cursor: pointer;
	transition: background 0.3s ease;
}
.z-indicator.z-active {
	background: #fff;
}
.z-lightbox-imgs-slide-controls {
	position: absolute;
	top: 10px;
	right: 10px;
	z-index: 10;
}
.z-slide-playpause {
	background: rgba(0, 0, 0, 0.5);
	color: #fff;
	border: none;
	border-radius: 50%;
	width: 35px;
	height: 35px;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
}
.z-slide-play {
	display: block;
}
.z-slide-pause {
	display: none;
}
.z-playing .z-slide-play {
	display: none;
}
.z-playing .z-slide-pause {
	display: block;
}
.z-paused .z-slide-play {
	display: block;
}
.z-paused .z-slide-pause {
	display: none;
}
.z-lightbox-imgs-slides {
	position: absolute;
	inset: 0;
	overflow: visible;
}
.z-lightbox-imgs-slide {
	display: none;
	height: 100%;
	text-align: center;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	opacity: 0;
	transition: opacity 0.8s ease-in-out;
}
.z-lightbox-imgs-slide.z-active {
	display: block;
	opacity: 1;
	position: relative;
}
.z-lightbox-imgs-slide .z-lightbox-imgs {
	position: absolute;
	top: 0px;
	left: 0px;
	z-index: 2;
}
.z-lightbox-imgs-slide-img {
	height: 100%;
	background-position: center center;
	background-repeat: no-repeat;
	background-size: contain;
}
.z-lightbox-imgs-slide-prev,
.z-lightbox-imgs-slide-next {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: auto;
	transition: 0.6s ease;
	user-select: none;
	text-align: center;
	z-index: 13;
}
.z-lightbox-imgs-slide-prev {
	left: 1%;
}
.z-lightbox-imgs-slide-next {
	right: 1%;
}
.z-lightbox-imgs-slide-prev button,
.z-lightbox-imgs-slide-next button {
	text-align: center;
}
.z-lightbox-imgs-slide-controls {
	position: absolute;
	bottom: 20px;
	left: 50%;
	transform: translateX(-50%);
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 8px 15px;
	border-radius: 30px;
	z-index: 15;
	background: rgba(0,0,0,0.7);
}
.z-lightbox-imgs-slide-playpause,
.z-lightbox-imgs-slide-stop {
	background: none;
	border: none;
	color: white;
	font-size: 16px;
	cursor: pointer;
	padding: 5px;
	border-radius: 50%;
	width: 30px;
	height: 30px;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: background 0.3s ease;
}
.z-lightbox-imgs-slide-playpause:hover,
.z-lightbox-imgs-slide-stop:hover {
	background: rgba(255,255,255,0.2);
}
.z-slide-pause {
	display: none;
}
.z-lightbox-imgs-slides.z-playing .z-slide-play {
	display: none;
}
.z-lightbox-imgs-slides.z-playing .z-slide-pause {
	display: inline;
}
.z-lightbox-imgs-slide-progress {
	width: 150px;
	height: 4px;
	background: rgba(255,255,255,0.3);
	border-radius: 2px;
	overflow: hidden;
}
.z-lightbox-imgs-slide-progress-bar {
	width: 0%;
	height: 100%;
	background: #fff;
	transition: width 0.1s linear;
}
.z-lightbox-imgs-slide-indicators {
	position: absolute;
	bottom: 70px;
	left: 50%;
	transform: translateX(-50%);
	display: flex;
	gap: 8px;
	z-index: 15;
}
.z-lightbox-imgs-slide-indicator {
	width: 12px;
	height: 12px;
	border-radius: 50%;
	border: 2px solid white;
	background: rgba(255,255,255,0.3);
	cursor: pointer;
	padding: 0;
	position: relative;
	overflow: hidden;
	transition: background 0.3s ease;
}
.z-lightbox-imgs-slide-indicator.z-active {
	background: white;
}
.z-slide-indicator-progress {
	position: absolute;
	top: 0;
	left: 0;
	height: 100%;
	width: 0%;
	background: rgba(255,255,255,0.5);
}
.z-lightbox-imgs-slides.z-hide-arrows .z-lightbox-imgs-slide-prev,
.z-lightbox-imgs-slides.z-hide-arrows .z-lightbox-imgs-slide-next {
	display: none;
}
.z-lightbox-imgs-slide-caption {
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	background: linear-gradient(transparent, rgba(0,0,0,0.8));
	color: white;
	padding: 20px;
	text-align: center;
	font-size: 1.2em; 
	opacity: 0; 
	transform: translateY(20px);
	transition: all 0.5s ease;
}
.z-lightbox-imgs-slide.z-active .z-lightbox-imgs-slide-caption {
	opacity: 1;
	transform: translateY(0);
}
.z-lightbox-imgs-slides:hover .z-lightbox-imgs-slide-progress-bar {
	animation-play-state: paused;
}
.z-lightbox-imgs-slides[data-transition="fade"] .z-lightbox-imgs-slide {
	transition: opacity 0.8s ease;
}
.z-lightbox-imgs-slides[data-transition="slide"] .z-lightbox-imgs-slide {
	transform: translateX(100%);
	transition: transform 0.8s ease;
}
.z-lightbox-imgs-slides[data-transition="slide"] .z-lightbox-imgs-slide.z-active {
	transform: translateX(0);
}
.z-lightbox-imgs-slides[data-transition="slide"] .z-lightbox-imgs-slide.z-prev {
	transform: translateX(-100%);
}
.z-lightbox-imgs-slides.z-paused-on-hover .z-lightbox-imgs-slide-progress-bar {
	animation-play-state: paused !important;
}
:root {
	--showcase-item-width: 100px;
	--showcase-speed: 60s;
	--gradient-width: 150px;
}
.z-lightbox-imgs-showcase {
	margin: 0 auto;
	display: flex;
	position: relative;
	width: 100%;
	height: auto;
	overflow: hidden;
}
.z-lightbox-imgs-showcase::before,
.z-lightbox-imgs-showcase::after {
	content: "";
	position: absolute;
	width: var(--gradient-width);
	height: var(--showcase-height);
	z-index: 2;
	pointer-events: none;
}
.z-lightbox-imgs-showcase::before {
	top: 0; 
	left: 0;
	background: linear-gradient(to right, white 0%, transparent 100%);
}
.z-lightbox-imgs-showcase::after {
	top: 0; 
	right: 0;
	background: linear-gradient(to left, white 0%, transparent 100%);
}
.z-lightbox-imgs-showcase-track {
	display: flex;
	align-items: center;
	width: calc(var(--showcase-item-width) * var(--item-count) * 2);
	animation: showcase-scroll var(--showcase-speed) linear infinite;
}
.z-lightbox-imgs-showcase-item {  
	width: var(--showcase-item-width);
	flex-shrink: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
}
.z-lightbox-imgs-showcase-item img {
	max-width: 80%;
	max-height: 70%;
	object-fit: contain;
}
@keyframes showcase-scroll {
	0% { transform: translateX(0); }
	100% { transform: translateX(calc(-1 * var(--showcase-item-width) * var(--item-count))); }
}
.z-lightbox-imgs-showcase:hover .z-lightbox-imgs-showcase-track {
	animation-play-state: paused;
}
.z-lightbox-imgs-mosaic {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
	grid-auto-rows: 150px;
	grid-gap: 10px;
	grid-auto-flow: dense;
}
.z-lightbox-imgs-mosaic-item {
	position: relative;
	overflow: hidden;
	min-width: var(--mosaic-base-size, 150px);
}
.z-lightbox-imgs-mosaic-item.shape-1 {
	grid-column: span 2;
	grid-row: span 2;
	clip-path: polygon(50% 0%, 100% 50%, 50% 100%, 0% 50%);
}
.z-lightbox-imgs-mosaic-item.shape-2 {
	grid-column: span 1;
	grid-row: span 1;
	clip-path: circle(50% at 50% 50%);
}
.z-lightbox-imgs-mosaic-item.shape-3 {
	grid-column: span 1;
	grid-row: span 2;
	clip-path: polygon(0% 0%, 100% 0%, 50% 100%);
}
.z-lightbox-imgs-mosaic-item.shape-4 {
	grid-column: span 2;
	grid-row: span 1;
	clip-path: polygon(25% 0%, 75% 0%, 100% 50%, 75% 100%, 25% 100%, 0% 50%);
}
.z-lightbox-imgs-mosaic-item img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.5s ease;
}
.z-lightbox-imgs-mosaic-item:hover img {
	transform: scale(1.1);
}
.z-lightbox-imgs-before-after {
	width: 100%;
	height: 500px;
	position: relative;
	overflow: hidden;
	border-radius: 8px;
}
.z-lightbox-imgs-before-after-container {
	position: relative;
	width: 100%;
	height: 100%;
}
.z-lightbox-imgs-before-after .z-lightbox-imgs-before,
.z-lightbox-imgs-before-after .z-lightbox-imgs-after {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
}
.z-lightbox-imgs-before-after .z-lightbox-imgs-after {
	width: 50%;
	border-right: 4px solid #fff;
	box-shadow: 5px 0 15px rgba(0,0,0,0.3);
}
.z-lightbox-imgs-before-label,
.z-lightbox-imgs-after-label {
	position: absolute;
	top: 20px;
	padding: 8px 16px;
	background: rgba(0,0,0,0.7);
	color: white;
	font-weight: bold;
	border-radius: 4px;
	z-index: 10;
}
.z-lightbox-imgs-before-label {
	left: 20px;
}
.z-lightbox-imgs-after-label {
	right: 20px;
}
.z-lightbox-imgs-before-after-handle {
	position: absolute;
	top: 0;
	left: 50%;
	height: 100%;
	width: 4px;
	background: #fff;
	cursor: ew-resize;
	transform: translateX(-50%);
	z-index: 20;
	box-shadow: 0 0 10px rgba(0,0,0,0.5);
}
.z-lightbox-imgs-before-after-handle:before {
	content: '';
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 50px;
	height: 50px;
	background: #fff;
	border-radius: 50%;
	box-shadow: 0 0 15px rgba(0,0,0,0.5);
}
.z-lightbox-imgs-before-after-arrow {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	color: #333;
	font-size: 20px;
	font-weight: bold;
	pointer-events: none;
}
.z-lightbox-imgs-before-after-arrow.left {
	right: 60px;
}
.z-lightbox-imgs-before-after-arrow.right {
	left: 60px;
}
.z-lightbox-imgs-before-after-slider {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	opacity: 0;
	cursor: ew-resize;
	z-index: 30;
}
.z-lightbox-imgs-before-after-thumbs {
	display: flex;
	gap: 10px;
	margin-top: 20px;
	padding: 10px;
	overflow-x: auto;
	justify-content: center;
}
.z-lightbox-imgs-before-after-thumb {
	width: 80px;
	height: 80px;
	flex-shrink: 0;
	border-radius: 4px;
	overflow: hidden;
	cursor: pointer;
	border: 2px solid transparent;
	transition: all 0.3s ease;
}
.z-lightbox-imgs-before-after-thumb.active {
	border-color: #0073aa;
	box-shadow: 0 0 10px rgba(0,115,170,0.5);
}
.z-lightbox-imgs-before-after-thumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.z-lightbox-imgs-justified {
	display: flex;
	flex-wrap: wrap;
	gap: 4px;
	line-height: 0;
	width: 100%;
	padding: 2px;
}
.z-lightbox-imgs-justified-item {
	position: relative;
	flex: 1;
	margin: 2px;
	min-width: 200px;
	height: 200px;
	overflow: hidden;
	border-radius: 4px;
	transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.z-lightbox-imgs-justified-item img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: transform 0.5s ease;
}
.z-lightbox-imgs-justified-item:hover {
	transform: translateY(-5px);
	box-shadow: 0 10px 20px rgba(0,0,0,0.2);
	z-index: 5;
}
.z-lightbox-imgs-justified-item:hover img {
	transform: scale(1.1);
}
.z-lightbox-imgs-justified-item .z-lightbox-imgs-title {
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	background: linear-gradient(transparent, rgba(0,0,0,0.9));
	color: white;
	padding: 20px 15px 10px;
	margin: 0;
	font-size: 0.95em;
	opacity: 0;
	transform: translateY(100%);
	transition: all 0.3s ease;
}
.z-lightbox-imgs-justified-item:hover .z-lightbox-imgs-title {
	opacity: 1;
	transform: translateY(0);
}
.z-lightbox-imgs-justified-item .z-overlay {
	background: rgba(0, 0, 0, 0.6);
	opacity: 0;
	transition: opacity 0.3s ease;
}
.z-lightbox-imgs-justified-item:hover .z-overlay {
	opacity: 1;
}
.z-lightbox-imgs-justified-gap {
	flex: 1 1 auto;
	min-width: 200px;
	height: 0;
	margin: 2px;
}
.z-lightbox-imgs-justified[data-row-height="150"] .z-lightbox-imgs-justified-item {
	height: 150px;
}
.z-lightbox-imgs-justified[data-row-height="200"] .z-lightbox-imgs-justified-item {
	height: 200px;
}
.z-lightbox-imgs-justified[data-row-height="250"] .z-lightbox-imgs-justified-item {
	height: 250px;
}
.z-lightbox-imgs-metro {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
	grid-auto-rows: 150px;
	gap: 10px;
	width: 100%;
	padding: 10px;
}
.z-lightbox-imgs-metro-item {
	position: relative;
	overflow: hidden;
	background: #f5f5f5;
	transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
	border-radius: 2px;
}
.z-lightbox-imgs-metro-item .z-imgs {
	height: 100%;
}
.z-lightbox-imgs-metro-item.metro-1x1 {
	grid-column: span 1;
	grid-row: span 1;
}
.z-lightbox-imgs-metro-item.metro-2x1 {
	grid-column: span 2;
	grid-row: span 1;
}
.z-lightbox-imgs-metro-item.metro-1x2 {
	grid-column: span 1;
	grid-row: span 2;
}
.z-lightbox-imgs-metro-item.metro-2x2 {
	grid-column: span 2;
	grid-row: span 2;
}
.z-lightbox-imgs-metro-item img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: transform 0.5s ease;
}
.z-lightbox-imgs-metro-item:hover {
	transform: translateY(-5px);
	box-shadow: 0 10px 25px rgba(0,0,0,0.2);
	z-index: 10;
}
.z-lightbox-imgs-metro-item:hover img {
	transform: scale(1.1);
}
.z-lightbox-imgs-metro-border {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	border: 4px solid transparent;
	transition: border-color 0.3s ease;
	pointer-events: none;
}
.z-lightbox-imgs-metro-item:hover .z-lightbox-imgs-metro-border {
	border-color: var(--metro-color, #0078d7);
}
.z-lightbox-imgs-metro-title {
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	background: rgba(0, 0, 0, 0.85);
	color: white;
	padding: 15px;
	margin: 0;
	font-size: 1.1em;
	font-weight: 300;
	opacity: 0;
	transform: translateY(100%);
	transition: all 0.3s ease;
	z-index: 5;
}
.z-lightbox-imgs-metro-item:hover .z-lightbox-imgs-metro-title {
	opacity: 1;
	transform: translateY(0);
}
.z-lightbox-imgs-metro-item .z-overlay {
	background: rgba(0, 0, 0, 0.6);
	opacity: 0;
	transition: opacity 0.3s ease;
	z-index: 4;
}
.z-lightbox-imgs-metro-item:hover .z-overlay {
	opacity: 1;
}
.z-lightbox-imgs-metro-item:after {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background: linear-gradient(135deg, rgba(255,255,255,0.1) 0%, rgba(255,255,255,0) 60%);
	pointer-events: none;
	opacity: 0;
	transition: opacity 0.3s ease;
}
.z-lightbox-imgs-metro-item:hover:after {
	opacity: 1;
}
.z-lightbox-imgs-masonry {
	width: 100%;
	padding: 10px;
}
.z-lightbox-imgs-masonry-grid {
	column-count: var(--masonry-columns-desktop, 4);
	column-gap: var(--masonry-gap, 15px);
	width: 100%;
}
.z-lightbox-imgs-masonry-item {
	break-inside: avoid;
	margin-bottom: 15px;
	position: relative;
	border-radius: 8px;
	overflow: hidden;
	background: #f5f5f5;
	transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.z-lightbox-imgs-masonry-item:hover {
	transform: translateY(-5px);
	box-shadow: 0 15px 30px rgba(0,0,0,0.2);
	z-index: 10;
}
.z-lightbox-imgs-masonry-item img {
	width: 100%;
	height: auto;
	display: block;
	transition: transform 0.5s ease;
}
.z-lightbox-imgs-masonry-item:hover img {
	transform: scale(1.05);
}
.z-lightbox-imgs-masonry-item.masonry-wide {
	column-span: all;
}
.z-lightbox-imgs-masonry-item.masonry-tall {
	grid-row: span 2;
}
.z-lightbox-imgs-masonry-caption {
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	background: linear-gradient(transparent, rgba(0,0,0,0.9));
	color: white;
	padding: 20px 15px 15px;
	opacity: 0;
	transform: translateY(100%);
	transition: all 0.3s ease;
}
.z-lightbox-imgs-masonry-item:hover .z-lightbox-imgs-masonry-caption {
	opacity: 1;
	transform: translateY(0);
}
.z-lightbox-imgs-masonry-caption .z-lightbox-imgs-title {
	color: white;
	margin: 0;
	font-size: 0.95em;
	font-weight: 500;
}
.z-lightbox-imgs-masonry-item .z-overlay {
	background: rgba(0, 0, 0, 0.7);
}
.z-lightbox-imgs-masonry-item:before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background: linear-gradient(45deg, rgba(255,255,255,0.1) 0%, rgba(255,255,255,0) 60%);
	pointer-events: none;
	opacity: 0;
	transition: opacity 0.3s ease;
	z-index: 2;
}
.z-lightbox-imgs-masonry-item:hover:before {
	opacity: 1;
}
.z-lightbox-imgs-carousel {
	width: 100%;
	height: 400px;
	perspective: 1000px;
	position: relative;
	overflow: hidden;
}
.z-lightbox-imgs-carousel-container {
	width: 100%;
	height: 100%;
	position: relative;
	transform-style: preserve-3d;
}
.z-lightbox-imgs-carousel-track {
	position: absolute;
	width: 200px;
	height: 300px;
	transform-style: preserve-3d;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
}
.z-lightbox-imgs-carousel-slide {
	position: absolute;
	width: 200px;
	height: 300px;
	transform-style: preserve-3d;
	transition: all 0.8s ease;
	border-radius: 8px;
	overflow: hidden;
	box-shadow: 0 10px 30px rgba(0,0,0,0.3);
	backface-visibility: hidden;
}
.z-lightbox-imgs-carousel-slide img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}
.z-lightbox-imgs-collage {
	position: relative;
	width: 100%;
	min-height: 500px;
	padding: 20px;
}
.z-lightbox-imgs-collage-item {
	position: absolute;
	transition: all 0.5s cubic-bezier(0.4, 0, 0.2, 1);
	box-shadow: 0 5px 15px rgba(0,0,0,0.2);
	z-index: 1;
}
.z-lightbox-imgs-collage-item img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.z-lightbox-imgs-collage-polaroid {
	background: #fff;
	padding: 10px 10px 30px 10px;
	box-shadow: 0 4px 10px rgba(0,0,0,0.1);
}
.z-lightbox-imgs-collage-item:hover {
	transform: scale(1.1) rotate(0deg) !important;
	z-index: 100 !important;
	box-shadow: 0 15px 35px rgba(0,0,0,0.4);
}
.z-lightbox-imgs-collage-polaroid-caption {
	padding-top: 5px;
	text-align: center;
}
.z-lightbox-imgs-parallax {
	height: 100vh;
	overflow-x: hidden;
	overflow-y: auto;
	perspective: 1px;
}
.z-lightbox-imgs-parallax-layer {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
}
.z-lightbox-imgs-polaroid {
	display: flex;
	flex-wrap: wrap;
	gap: 30px;
	justify-content: center;
	padding: 40px;
}
.z-lightbox-imgs-polaroid-item {
	position: absolute;
	padding: 10px 10px 40px 10px;
	transition: all 0.3s ease;  
	transform: rotate(-3deg);
}
.z-lightbox-imgs-polaroid-item:nth-child(even) {
	transform: rotate(3deg);
}
.z-lightbox-imgs-polaroid-item:hover {
	transform: rotate(0deg) scale(1.1);
	z-index: 10;
}
.z-lightbox-imgs-polaroid-board {
	position: relative;
	width: 100%;
	min-height: 600px;
	overflow: hidden;
}
.z-lightbox-imgs-polaroid-image {
	border: 1px solid rgba(0,0,0,0.05);
}
.z-lightbox-imgs-polaroid-image img {
	width: 100%;
	height: auto;
	aspect-ratio: 1 / 1;
	object-fit: cover;
}
.z-lightbox-imgs-polaroid-text {
	text-align: center;
	font-size: 14px;
	background-color: white;
}
.z-lightbox-imgs-polaroid-date {
	text-align: center;
	font-size: 12px;
	background-color: white;
}
.z-lightbox-imgs-stack {
	position: relative;
	width: 300px;
	height: 400px;
	margin: 50px auto;
}
.z-lightbox-imgs-stack-item {
	position: absolute;
	width: 100%;
	height: 100%;
	border: 10px solid white;
	box-shadow: 0 5px 15px rgba(0,0,0,0.3);
	transition: all 0.5s ease;
}
.z-lightbox-imgs-flipbook {
	width: 800px;
	height: 500px;
	margin: 0 auto;
	perspective: 2000px;
}
.z-lightbox-imgs-flipbook-page {
	position: absolute;
	width: 50%;
	height: 100%;
	right: 0;
	transform-origin: left;
	transform-style: preserve-3d;
	transition: transform 1s;
}
.z-lightbox-imgs-magazine {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	grid-auto-rows: 200px;
	gap: 15px;
	padding: 20px;
}
.z-lightbox-imgs-magazine-item {
	position: relative;
	overflow: hidden;
}
.z-lightbox-imgs-magazine-item.featured {
	grid-column: span 2;
	grid-row: span 2;
}
.z-lightbox-imgs-magazine-spread {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	grid-template-rows: auto 1fr auto;
	min-height: 80vh;
	gap: 20px;
}
.z-lightbox-imgs-magazine-article {
	overflow: hidden;        
}
.z-lightbox-imgs-magazine-article img {
	object-fit: cover;
	height: 100%;
	width: 100%;
}
.z-lightbox-imgs-magazine-spread.layout-a .magazine-article-1 {
	grid-column: span 2;
	grid-row: span 2;
}
.z-lightbox-imgs-timeline {
	position: relative;
	padding: 50px 0;
}
.z-lightbox-imgs-timeline::after {
	content: '';
	position: absolute;
	width: 6px;
	background: #ccc;
	top: 0;
	bottom: 0;
	left: 50%;
	margin-left: -3px;
}
.z-lightbox-imgs-comparison-4x4 {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	grid-template-rows: repeat(2, 1fr);
	gap: 2px;
	width: 100%;
	height: 100%;
}
.z-lightbox-imgs-comparison-items {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
}
.z-lightbox * {
	box-sizing: border-box;
}
.z-lightbox[data-loading="true"] {
	background: linear-gradient(90deg, #f0f0f0 25%, #e0e0e0 50%, #f0f0f0 75%);
	background-size: 200% 100%;
	animation: loading 1.5s infinite;
}
@keyframes loading {
	0% { background-position: 200% 0; }
	100% { background-position: -200% 0; }
}
.z-lightbox-modal {
	display: none;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	z-index: 9999;
}
@media only screen and (max-width: 1200px) {
	.z-lightbox-imgs-justified-item {
		min-width: 180px;
		height: 180px;
	}
	.z-lightbox-imgs-masonry-grid {
		column-count: var(--masonry-columns-tablet, 3);
	}
}
@media only screen and (max-width: 992px) {
	.z-lightbox-imgs-justified-item {
		min-width: 160px;
		height: 160px;
	}
	.z-lightbox-imgs-metro {
		grid-template-columns: repeat(auto-fill, minmax(120px, 1fr));
		grid-auto-rows: 120px;
	}
}
@media only screen and (max-width: 768px) {
	.z-lightbox-background-img {
		background-size: cover !important;
	}
	.z-lightbox-imgs-mosaic, 
	.z-lightbox-imgs-metro,
	.z-lightbox-imgs-width-row {
		gap: 10px !important;
	}
	.z-lightbox-imgs-grid-row {
		margin: 0 -5px;
	}
	.z-lightbox-imgs-grid-col {
		padding: 0 5px;
		margin-bottom: 10px;
	}
	.z-lightbox-imgs-grid-row .z-lightbox-imgs-grid-col {
		width: 100%;
	}
	.z-lightbox-imgs-slide-controls {
		bottom: 10px;
		padding: 6px 12px;
	}
	.z-lightbox-imgs-slide-progress {
		width: 100px;
	}
	.z-lightbox-imgs-slide-indicators {
		bottom: 50px;
	}
	.z-lightbox-imgs-slide-caption {
		padding: 10px;
		font-size: 1em;
	}
	.z-lightbox-imgs-before-after {
		height: 400px;
	}
	.z-lightbox-imgs-before-label,
	.z-lightbox-imgs-after-label {
		font-size: 0.9em;
		padding: 6px 12px;
		top: 10px;
	}
	.z-lightbox-imgs-before-after-thumb {
		width: 60px;
		height: 60px;
	}
	.z-lightbox-imgs-justified {
		gap: 3px;
	}
	.z-lightbox-imgs-justified-item {
		min-width: calc(50% - 6px);
		height: 150px;
		margin: 1px;
	}
	.z-lightbox-imgs-justified-gap {
		min-width: calc(50% - 6px);
		margin: 1px;
	}
	.z-lightbox-imgs-metro {
		grid-template-columns: repeat(auto-fill, minmax(100px, 1fr));
		grid-auto-rows: 100px;
	}
	.z-lightbox-imgs-metro-item.metro-2x1,
	.z-lightbox-imgs-metro-item.metro-2x2 {
		grid-column: span 1;
	}
	.z-lightbox-imgs-metro-title {
		font-size: 0.9em;
		padding: 10px;
	}
	.z-lightbox-imgs-masonry-grid {
		column-count: var(--masonry-columns-mobile, 2);
	}
	.z-lightbox-imgs-masonry-item {
		margin-bottom: 10px;
	}
	.z-lightbox-imgs-masonry-item.masonry-wide {
		column-span: all;
	}
}
@media only screen and (max-width: 480px) {
	.z-lightbox-imgs-width-row {
		display: flex;
		flex-direction: column;
	}
	.z-lightbox-imgs-width-col {
		margin-bottom: 12px;
		flex: 0 0 100%;
		width: 100% !important;
		max-width: 100%;
	}
	.z-lightbox-imgs-before-after {
		height: 300px;
	}
	.z-lightbox-imgs-justified-item {
		min-width: calc(100% - 4px);
		height: 200px;
	}
	.z-lightbox-imgs-justified-gap {
		min-width: calc(100% - 4px);
	}
	.z-lightbox-imgs-metro {
		grid-template-columns: repeat(2, 1fr);
		grid-auto-rows: 100px;
	}
	.z-lightbox-imgs-metro-item.metro-1x2 {
		grid-row: span 1;
	}
	.z-lightbox-imgs-masonry-grid {
		column-count: 1;
	}
}