/* vanillabox 4.3 */
.vanillabox {
	color: #fff;
	background: rgba(0, 0, 0, 0.7);
	-webkit-backdrop-filter: blur(2px);
	backdrop-filter: blur(2px);
	touch-action: none;
	box-sizing: border-box;
	z-index: 1001;
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	transition: opacity 0.2s, 0s visibility 0s;
	visibility: visible;
	pointer-events: all;
	opacity: 1;
}
.vanillabox[aria-hidden] {
	transition: opacity 0.2s, 0.2s visibility 0s;
	visibility: hidden;
	pointer-events: none;
	opacity: 0;
}
.vanillabox *,
.vanillabox *:before,
.vanillabox *:after {
	box-sizing: inherit;
}

@keyframes vanillabox-loader {
	from {
		opacity: 0;
		transform: scale(0.5);
	}
	to {
		opacity: 1;
		transform: scale(1.5);
	}
}
.vanillabox-loading::before {
	content: '';
	display: block;
	position: absolute;
	top: 50%;
	left: 50%;
	margin: -1em auto auto -1em;
	width: 2em;
	height: 2em;
	border-radius: 100%;
	background: rgba(255, 255, 255, 0.8);
	animation: vanillabox-loader 1s linear infinite alternate;
}

.vanillabox-button {
	color: inherit;
	background: none;
	border-radius: 100%;
	border: none;
	cursor: pointer;
	font-size: 3em;
	display: block;
	z-index: 100;
	position: absolute;
	text-align: center;
	min-width: 0;
	width: 1.5em;
	height: 1.5em;
	line-height: 1;
	padding: 0;
	overflow: hidden;
	transition: 0.25s 0.05s;
	user-select: none;
}
.vanillabox-button[disabled] {
	pointer-events: none;
}
.vanillabox:hover .vanillabox-button:not([disabled]) {
	opacity: 0.6;
}
.vanillabox-button.vanillabox-button:not([disabled]):hover,
.vanillabox-button.vanillabox-button:not([disabled]):focus {
	outline: none;
	color: inherit;
	background-color: rgba(0, 0, 0, 0.2);
	opacity: 1;
}
.vanillabox-closer {
	top: 0.1em;
	right: 0.1em;
	opacity: 0.25;
}
.vanillabox-prev,
.vanillabox-next {
	font-size: 3em;
	bottom: 1em;
	opacity: 0;
	padding-bottom: 0.2em;
}
@media (min-height: 20em) {
	.vanillabox-prev,
	.vanillabox-next {
		bottom: 50%;
		transform: translateY(50%);
	}
}

.vanillabox-prev {
	left: 0.1em;
}
.vanillabox-next {
	right: 0.1em;
}
.vanillabox-prev:after {
	content: '‹';
}
.vanillabox-next:after {
	content: '›';
}

.vanillabox-title,
.vanillabox-status,
.vanillabox-info {
	z-index: 30;
	display: block;
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	padding: 0.5em;
	color: inherit;
	text-shadow: 1px 1px 1px rgba(0, 0, 0, 0.5);
}
.vanillabox-title {
	pointer-events: none;
	right: auto;
}
.vanillabox-status {
	pointer-events: none;
	left: auto;
}
.vanillabox-info {
	top: 0;
	bottom: auto;
	left: 0;
	right: 5em;
}
.vanillabox-info {
	opacity: 0;
	transition: 0.2s;
}
.vanillabox-info-visible {
	opacity: 1;
}

.vanillabox-singleitem .vanillabox-prev,
.vanillabox-singleitem .vanillabox-next,
.vanillabox-singleitem .vanillabox-status {
	display: none;
}

.vanillabox-item {
	position: absolute;
	left: 0;
	top: 0;
	height: 100%;
	width: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	overflow: auto;
	transition: z-index 0s, opacity 0.4s ease-in-out, transform 0.4s ease-in-out;
	z-index: 20;
	opacity: 0;
	transform: scale(0.9);
}
.vanillabox-current {
	z-index: 30;
	opacity: 1;
	transform: scale(1);
}
.vanillabox-out {
	z-index: 10;
	opacity: 0;
	transform: scale(1);
}
.vanillabox-direct {
	transition: none;
}

.vanillabox-html {
	background: rgb(255, 255, 255);
	padding: 0 1em;
	max-height: 90vh;
	overflow: auto;
}

.vanillabox-html > *[hidden] {
	display: block !important;
}
.vanillabox-item img,
.vanillabox-html,
.vanillabox-html video {
	touch-action: none;
	position: relative;
	display: block;
	box-shadow: 0 0 10px rgba(0, 0, 0, 0.7);
	user-select: none;
}
.vanillabox-html video {
	width: auto;
	height: 75vh;
}
.vanillabox-html .vbox-iframe {
	position: relative;
	padding-bottom: 56.25%;
	height: 0;
	overflow: hidden;
	min-width: 80vw;
	max-width: 100%;
}
.vanillabox-html .vbox-iframe iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

@media (orientation: portrait) {
	.vanillabox-item video {
		width: 90vw;
		height: auto;
	}
}
@supports not (old: ie) {
	.vanillabox img {
		max-width: 100%;
		max-height: 100%;
	}
}
