/* Прелоадер лише для головної (page-main / page-ru-main). */

.main-page-preloader__sr-only {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

html.has-main-preloader:not(.main-preloader-done) body {
	overflow: hidden;
}

html.has-main-preloader .wrapper.main-page {
	opacity: 0;
}

html.has-main-preloader.main-preloader-revealed .wrapper.main-page {
	opacity: 1;
	transition: opacity 0.5s ease 0.12s;
}

.main-page-preloader {
	position: fixed;
	inset: 0;
	z-index: 2147483000;
	display: flex;
	align-items: center;
	justify-content: center;
	background: #fff;
	transform: translateX(0);
	will-change: transform;
	transition:
		transform 0.65s cubic-bezier(0.4, 0, 0.2, 1),
		opacity 0.45s ease;
}

.main-page-preloader--exit {
	transform: translateX(-105%);
	opacity: 0.98;
}

.main-page-preloader__inner {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 28px;
}

.main-page-preloader__logo {
	display: block;
	width: min(72vw, 270px);
	height: auto;
}

.main-page-preloader__spinner {
	width: 40px;
	height: 40px;
	border: 3px solid rgba(5, 96, 136, 0.15);
	border-top-color: #056088;
	border-radius: 50%;
	animation: mainPreloaderSpin 0.85s linear infinite;
}

.main-page-preloader--exit .main-page-preloader__spinner {
	animation: none;
}

@keyframes mainPreloaderSpin {
	to {
		transform: rotate(360deg);
	}
}

@media (prefers-reduced-motion: reduce) {
	.main-page-preloader {
		transition: none;
	}

	.main-page-preloader__spinner {
		animation: none;
		border-top-color: rgba(5, 96, 136, 0.45);
	}

	html.has-main-preloader .wrapper.main-page,
	html.has-main-preloader.main-preloader-revealed .wrapper.main-page {
		transition: none;
		opacity: 1;
	}
}
