// styling
.overlay {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: 1000;

	display: block;
	background-color: rgba(black, 0.5);
	opacity: 0;

	transition: opacity 0.5s ease;
}

body>.overlay {
	// fixed
	position: fixed;
}

.overlay__backdrop {
	width: 100%;
	height: 100%;
}


.overlay__container {
	position: absolute;
	top: 10%;
	left: 50%;

	height: auto;

	transform: translate(-50%, 0);
}

.overlay__inner {
	overflow: auto;
}

.overlay__closeBtn {
	overflow: hidden;
	text-indent: 1001%;
	white-space: nowrap;

	position: absolute;
	top: .75em;
	right: .75em;

	width: 1em;
	height: 1em;
	display: block;
}

.overlay__closeSvg {
	position: absolute;
	top: 0;
	left: 0;
}

.overlay {
	opacity: 0;
}

.overlay--showing {
	opacity: 0;
}

.overlay--shown {
	opacity: 1;
}

.overlay--hiding {
	opacity: 0
}

.overlay--hidden {
	opacity: 0;

	transition: none;
}

.overlay-block-scroll {
	overflow: hidden;
	height: 100%;

	// safari webkit scroll fixer
	-webkit-overflow-scrolling: auto;
}