/* image gallery */

section.image-gallery {
	display: block;
	position: relative;
	margin: 0 40px;
	margin: 0 2.5rem;
	margin-top: 2em;
	text-align: center;
}

section.image-gallery div.tiles {
	font-size: 0;
}

section.image-gallery div.tile {
	font-size: 16px;
	font-size: 1rem;
	display: inline-block;
	width: 23%;
	margin: 1%;
	position: relative;
	padding: 1em;
	background-color: white;
	border: 2px solid #e3e0db;
}

section.image-gallery .thumb {
	display: block;
	width: 100%;
	padding-top: 100%;
	position: relative;
	background-size: cover;
	background-position: center center;
	cursor: pointer;
	overflow: hidden;
}

section.image-gallery .thumb div.image {
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
}

section.image-gallery .thumb img {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	-o-object-fit: cover;
	   object-fit: cover;
	-o-object-position: center center;
	   object-position: center center;
}

section.image-gallery div.overlay {
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
}

section.image-gallery div.overlay > div {
	position: absolute;
	top: 50%;
	left: 50%;
	-webkit-transform: translateX(-50%) translateY(-50%);
	        transform: translateX(-50%) translateY(-50%);
	font-size: 1.2em;
	font-weight: bold;
	color: #555;
	display: none;
}

section.image-gallery .thumb:hover div.overlay {
	background-color: rgba(255,255,255,0.9);
}

section.image-gallery .thumb:hover div.overlay > div {
	display: block;
}

section.image-gallery .lightbox {
	position: fixed;
	z-index: 100;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	display: none;
}

section.image-gallery .lightbox img {
	max-width: 90%;
	max-height: 90%;
	width: auto;
	height: auto;
	position: absolute;
	top: 50%;
	left: 50%;
	-webkit-transform: translate(-50%,-50%);
	        transform: translate(-50%,-50%);
}

section.image-gallery h2 {
	background: aliceblue;
}

/* end image gallery */

/* responsive */

@media screen and (max-width: 1060px) {

	section.image-gallery {
		max-width: 95%;
	}

	section.image-gallery {
		margin-left: auto;
		margin-right: auto;
	}

	section.image-gallery div.tile {
		width: 31.3%;
		margin: 1%;
		padding: .7em;
	}

}

@media screen and (max-width: 800px) {

	section.image-gallery {
		max-width: 90%;
	}

	section.image-gallery div.tile {
		width: 48%;
		margin: 1%;
		padding: .7em;
	}

}

@media screen and (max-width: 600px) {

	section.image-gallery div.tile {
		width: 98%;
		margin: 1%;
		padding: .7em;
	}

}

/* end responsive */

/* theming */

.image-gallery .tile.aria-focused {
	background-color: yellow !important;
}

section.image-gallery .lightbox {
	background-color: rgba(0,0,0,0.7);
	cursor: pointer;
}

/* end theming */