.m-p-g__fullscreen {
	position: fixed;
	z-index: 10;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	width: 100%;
	height: 100vh;
	background: rgba(0,0,0,0);
	visibility: hidden;
	transition: background .25s ease-out,visibility .01s .5s linear;
	will-change: background,visibility;
	backface-visibility: hidden;
}

.m-p-g__fullscreen.active {
	transition: background .25s ease-out,visibility .01s 0 linear;
	visibility: visible;
	background: rgba(0,0,0,.95);
}

.m-p-g__fullscreen {
	position: fixed;
	z-index: 10;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	width: 100%;
	height: 100vh;
	background: rgba(0,0,0,0);
	visibility: hidden;
	transition: background .25s ease-out,visibility .01s .5s linear;
	will-change: background,visibility;
	backface-visibility: hidden;
}

.m-p-g__fullscreen.active {
	transition: background .25s ease-out,visibility .01s 0 linear;
	visibility: visible;
	background: rgba(0,0,0,.95);
}


.m-p-g__thumbs-img {
	margin: 0;
	float: left;
	vertical-align: bottom;
	cursor: pointer;
	z-index: 1;
	position: relative;
	opacity: 0;
	filter: brightness(80%);
	-webkit-tap-highlight-color: rgba(0,0,0,0);
	will-change: opacity,transform;
	transition: all .5s cubic-bezier(.23,1,.32,1);
}

.m-p-g__thumbs-img.active {
	z-index: 50;
}

.m-p-g__thumbs-img.layout-completed {
	opacity: 1;
}

.m-p-g__thumbs-img.hide {
	opacity: 0;
}

.m-p-g__thumbs-img:hover {
	filter: brightness(110%);
}


.m-p-g__thumbs-img {
	margin: 0;
	float: left;
	vertical-align: bottom;
	cursor: pointer;
	z-index: 1;
	position: relative;
	opacity: 0;
	filter: brightness(80%);
	-webkit-tap-highlight-color: rgba(0,0,0,0);
	will-change: opacity,transform;
	transition: all .5s cubic-bezier(.23,1,.32,1);
}

.m-p-g__thumbs-img.active {
	z-index: 50;
}

.m-p-g__thumbs-img.layout-completed {
	opacity: 1;
}

.m-p-g__thumbs-img.hide {
	opacity: 0;
}

.m-p-g__thumbs-img:hover {
	filter: brightness(110%);
}

.m-p-g {
	max-width: 100%;
	margin: 0 auto;
}

.m-p-g {
	max-width: 100%;
	margin: 0 auto;
}

.gallery-item {
	flex: 1 0 24rem;
	margin: 1rem;
	box-shadow: .3rem .4rem .4rem rgba(0,0,0,.4);
	overflow: hidden;
	border: solid 1px;
	border-color: #000;
	border-radius: 10px;
}

.gallery-item:hover {
	transform: scale(1.2);
}

@supports(display:grid) {
	.gallery {
		display: grid;
		grid-template-columns: repeat(auto-fit,minmax(24rem,1fr));
		grid-gap: 2rem;
	}

	.gallery,.gallery-item {
		margin: 0;
	}
}