:root {
	--gsp-bar-color: #ae85a3;
	--gsp-overlay-color: #08090d;
	--gsp-overlay-opacity: 0;
	--gsp-bg-width: 100%;
	--gsp-bg-height: 100%;
	--gsp-mobile-width: 100%;
	--gsp-mobile-height: 100%;
	--gsp-bg-fit: cover;
	--gsp-tablet-fit: cover;
	--gsp-mobile-fit: cover;
	--gsp-bg-position-x: 50%;
	--gsp-bg-position-y: 50%;
	--gsp-tablet-position-x: 50%;
	--gsp-tablet-position-y: 50%;
	--gsp-mobile-position-x: 50%;
	--gsp-mobile-position-y: 50%;
}

.gsp-preloader {
	position: fixed;
	inset: 0;
	z-index: 2147483647;
	display: grid;
	place-items: center;
	background-color: var(--gsp-overlay-color);
	background-position: var(--gsp-bg-position-x) var(--gsp-bg-position-y);
	background-size: var(--gsp-bg-fit);
	background-repeat: no-repeat;
	font-family: "Arial Narrow", "Segoe UI", sans-serif;
	transition: opacity 0.45s ease, visibility 0.45s ease;
}

.gsp-preloader::before {
	content: "";
	position: absolute;
	inset: 0;
	background: var(--gsp-overlay-color);
	opacity: var(--gsp-overlay-opacity);
}

.gsp-preloader.is-hidden { opacity: 0; visibility: hidden; pointer-events: none; }
.gsp-preloader__content { position: relative; z-index: 1; width: min(420px, calc(100vw - 48px)); text-align: center; }
.gsp-preloader__image { display: block; width: 100%; max-height: 230px; object-fit: contain; margin: 0 auto; filter: drop-shadow(0 8px 24px rgba(0,0,0,.58)); }
.gsp-preloader__bar { position: fixed; right: 0; bottom: 0; left: 0; z-index: 2; width: 100%; height: 10px; padding: 2px 0; border: 0; background: rgba(0,0,0,.65); box-shadow: 0 -2px 12px rgba(0,0,0,.32); }
.gsp-preloader__bar span { display: block; width: 0; height: 100%; background: var(--gsp-bar-color); box-shadow: 0 0 16px var(--gsp-bar-color); transition: width .18s linear; }

.gsp-position-row { display: none; }

@media (max-width: 600px) {
	.gsp-preloader {
		background-size: var(--gsp-mobile-fit);
		background-position: var(--gsp-mobile-position-x) var(--gsp-mobile-position-y);
	}
}

@media (min-width: 601px) and (max-width: 1024px) {
	.gsp-preloader {
		background-size: var(--gsp-tablet-fit);
		background-position: var(--gsp-tablet-position-x) var(--gsp-tablet-position-y);
	}
}
