.ngg-pro-mosaic-container {
	width: 100%;
	margin: 0 auto 0 auto;
	padding: 0;
}

.ngg-pro-mosaic-item {
	/* Animated to opacity:1 in below keyframes */
	opacity: 0;
}

.ngg-pro-mosaic-container img {
	padding: 0;
	margin: 0;
	height: 100%;
	width: 100%;
	max-width: 100%;
	max-height: 100%;
}

/* JustifiedGallery center-crops a capped last row by giving the img a larger inline
   height than its entry plus margin-top:-height/2. The max-height:100% above would
   clamp that img while the negative margin remains, pushing a lone "Justify" last-row
   image out of its overflow:hidden box (rendered invisible). Un-clamp only JG-managed
   imgs; it is a no-op for interior/"Do not justify" rows whose img height already
   equals the entry height, and restores the intended full-width cropped slice. */
.ngg-pro-mosaic-container .jg-entry img {
	max-height: none;
}

/* Video play overlay styling for Mosaic */
/* Note: .ngg-pro-mosaic-item is already position: absolute from justified gallery */
.ngg-pro-mosaic-item > a {
	position: relative;
	display: block;
	width: 100%;
	height: 100%;
	overflow: hidden;
}

.ngg-pro-mosaic-item .ngg-video-play-overlay {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 60px;
	height: 60px;
	background: rgba(0, 0, 0, 0.6);
	border-radius: 50%;
	z-index: 10;
	pointer-events: none;
}

.ngg-pro-mosaic-item .ngg-video-play-overlay::before {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-40%, -50%);
	width: 0;
	height: 0;
	border-left: 20px solid white;
	border-top: 12px solid transparent;
	border-bottom: 12px solid transparent;
}

/*!
 * justifiedGallery - v3.8.1
 * http://miromannino.github.io/Justified-Gallery/
 * Copyright (c) 2020 Miro Mannino
 * Licensed under the MIT license.
 */
.justified-gallery {
	width: 100%;
	position: relative;
	overflow: hidden;
}
.justified-gallery > a,
.justified-gallery > div,
.justified-gallery > figure {
	position: absolute;
	display: inline-block;
	overflow: hidden;
	/* background: #888888; To have gray placeholders while the gallery is loading with waitThumbnailsLoad = false */
	filter: "alpha(opacity=10)";
	opacity: 0.1;
	margin: 0;
	padding: 0;
}
.justified-gallery > a > img,
.justified-gallery > div > img,
.justified-gallery > figure > img,
.justified-gallery > a > a > img,
.justified-gallery > div > a > img,
.justified-gallery > figure > a > img,
.justified-gallery > a > svg,
.justified-gallery > div > svg,
.justified-gallery > figure > svg,
.justified-gallery > a > a > svg,
.justified-gallery > div > a > svg,
.justified-gallery > figure > a > svg {
	position: absolute;
	top: 50%;
	left: 50%;
	margin: 0;
	padding: 0;
	border: none;
	filter: "alpha(opacity=0)";
	opacity: 0;
}
.justified-gallery > a > .jg-caption,
.justified-gallery > div > .jg-caption,
.justified-gallery > figure > .jg-caption {
	display: none;
	position: absolute;
	bottom: 0;
	padding: 5px;
	background-color: #000000;
	left: 0;
	right: 0;
	margin: 0;
	color: white;
	font-size: 12px;
	font-weight: 300;
	font-family: sans-serif;
}
.justified-gallery > a > .jg-caption.jg-caption-visible,
.justified-gallery > div > .jg-caption.jg-caption-visible,
.justified-gallery > figure > .jg-caption.jg-caption-visible {
	display: initial;
	filter: "alpha(opacity=70)";
	opacity: 0.7;
	-webkit-transition: opacity 500ms ease-in;
	-moz-transition: opacity 500ms ease-in;
	-o-transition: opacity 500ms ease-in;
	transition: opacity 500ms ease-in;
}
.justified-gallery > .jg-entry-visible {
	filter: "alpha(opacity=100)";
	opacity: 1;
	background: none;
}
.justified-gallery > .jg-entry-visible > img,
.justified-gallery > .jg-entry-visible > a > img,
.justified-gallery > .jg-entry-visible > svg,
.justified-gallery > .jg-entry-visible > a > svg {
	filter: "alpha(opacity=100)";
	opacity: 1;
	-webkit-transition: opacity 500ms ease-in;
	-moz-transition: opacity 500ms ease-in;
	-o-transition: opacity 500ms ease-in;
	transition: opacity 500ms ease-in;
}
.justified-gallery > .jg-filtered {
	display: none;
}
.justified-gallery > .jg-spinner {
	position: absolute;
	bottom: 0;
	margin-left: -24px;
	padding: 10px 0 10px 0;
	left: 50%;
	filter: "alpha(opacity=100)";
	opacity: 1;
	overflow: initial;
}
.justified-gallery > .jg-spinner > span {
	display: inline-block;
	filter: "alpha(opacity=0)";
	opacity: 0;
	width: 8px;
	height: 8px;
	margin: 0 4px 0 4px;
	background-color: #000;
	border-radius: 6px;
}
