/* =Loader
   Dark, on-brand splash instead of a plain white flash - shows the
   logo mark gently pulsing while the page's assets settle, then
   fades out (see main.js) once everything is ready.
-------------------------------------------------------------- */

.preloader {
	display: flex;
	align-items: center;
	justify-content: center;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 9999;
	background: #161a1b;
	text-align: center;
}

.loading {
	display: flex;
	flex-direction: column;
	align-items: center;
}

.loading .loader-logo {
	width: 64px;
	height: 64px;
	margin-bottom: 20px;
	-webkit-animation: loader-pulse 1.6s ease-in-out infinite;
	-moz-animation: loader-pulse 1.6s ease-in-out infinite;
	animation: loader-pulse 1.6s ease-in-out infinite;
}

.loading h2 {
	color: #fff;
	font-size: 13px;
	letter-spacing: 0.2em;
	opacity: 0.7;
}

.progress {
	display: block;
	position: relative;
	overflow: hidden;
	width: 100px;
	height: 2px;
	margin-top: 16px;
	background-color: rgba(255, 255, 255, 0.15);
	border-radius: 2px;
}

.progress:after {
	content: "";
	position: absolute;
	top: 0;
	left: -40%;
	width: 40%;
	height: 100%;
	background-color: #00d9ec;
	border-radius: 2px;
	-webkit-animation: loader-anim 1.1s 0s infinite cubic-bezier(0.785, 0.135, 0.15, 0.86);
	-moz-animation: loader-anim 1.1s 0s infinite cubic-bezier(0.785, 0.135, 0.15, 0.86);
	animation: loader-anim 1.1s 0s infinite cubic-bezier(0.785, 0.135, 0.15, 0.86);
}

@-webkit-keyframes loader-pulse {
	0%, 100% { opacity: 0.85; transform: scale(1); }
	50%      { opacity: 1; transform: scale(1.08); }
}

@-moz-keyframes loader-pulse {
	0%, 100% { opacity: 0.85; transform: scale(1); }
	50%      { opacity: 1; transform: scale(1.08); }
}

@keyframes loader-pulse {
	0%, 100% { opacity: 0.85; transform: scale(1); }
	50%      { opacity: 1; transform: scale(1.08); }
}

@-webkit-keyframes loader-anim {
	0%   { left: -40%; }
	100% { left: 100%; }
}

@-moz-keyframes loader-anim {
	0%   { left: -40%; }
	100% { left: 100%; }
}

@keyframes loader-anim {
	0%   { left: -40%; }
	100% { left: 100%; }
}

@media (prefers-reduced-motion: reduce) {
	.loading .loader-logo,
	.progress:after {
		-webkit-animation: none;
		-moz-animation: none;
		animation: none;
	}
}
