.loader-bar,.loader-spinner{left:0;pointer-events:none;position:fixed;top:0;z-index:9999}.loader-bar{height:5px;display:none;transition:opacity .5s ease-in;width:100vw}.loader-bar::after,.loader-bar::before{background-color:#ac348c;content:'';display:block;height:100%;position:absolute;top:0;width:100%}.loader-bar::after{animation-duration:20s;animation-timing-function:ease-out;animation-name:loader-slide;animation-iteration-count:1;transform:translate3d(-5vw,0,0)}.loader-bar::before{transform:translate3d(-100vw,0,0)}.loading-foreground .loader-bar,.loading-foreground-closing .loader-bar{display:block}.loading-foreground-closing .loader-bar{opacity:0;transition:opacity .5s ease-out .5s}.loading-foreground-closing .loader-bar::before{animation:1s ease-out loader-slide-complete 1;transform:translate3d(0,0,0)}.loader-spinner{color:#555;font-family:sans-serif;margin:15px;display:none;height:20px;line-height:20px;padding:0 25px;transition:opacity .4s ease-in}.loading-background .loader-spinner{opacity:.5}.loader-spinner::before{animation-duration:.75s;animation-timing-function:linear;border-color:#ac348c;border-style:solid;border-width:2px;animation-name:loader-rotate;animation-iteration-count:infinite;border-bottom-color:transparent;border-left-color:transparent;border-radius:50%;box-sizing:border-box;content:'';display:block;height:20px;left:0;position:absolute;width:20px}.loading .loader-spinner,.loading-background-closing .loader-spinner,.loading-foreground-closing .loader-spinner{display:block}.loading-background-closing .loader-spinner,.loading-foreground-closing .loader-spinner{opacity:0;transition:opacity .4s ease-out}@keyframes loader-rotate{from{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes loader-slide{from{transform:translate3d(-100vw,0,0)}to{transform:translate3d(-5vw,0,0)}}@keyframes loader-slide-complete{0%{transform:translate3d(-75vw,0,0)}50%{transform:translate3d(0,0,0)}}body.loading .hidden-loading{display:none}body.loading-foreground .hidden-loading-foreground{display:none}body.loading-background .hidden-loading-background{display:none}body.loading .visible-loading{display:block}body.loading-foreground .visible-loading-foreground{display:block}body.loading-background .visible-loading-background{display:block}body:not(.loading) .visible-loading{display:none}body:not(.loading-foreground) .visible-loading-foreground{display:none}body:not(.loading-background) .visible-loading-background{display:none}
/* Bootstrapping overlay {{{ */
body.bootstrapping #app {
	display: none;
}

.splash {
	display: none;
	position: fixed;
	top: 0px;
	left: 0px;
	right: 0px;
	bottom: 0px;
}

.splash-init {
	background: #EEE;
}

body.bootstrapping .splash.splash-init {
	display: flex;
	align-content: center;
	justify-content: center;
}

body.bootstrapping .splash.splash-init > img {
	width: 50vw;
	max-width: 300px;
}
/* }}} */
/* Error overlay {{{ */
.splash.splash-crash {
	display: none;
	background: #CCC;
	align-content: center;
	justify-content: center;
	flex-direction: column;
}

.splash.splash-crash > img {
	width: 50vw;
	max-width: 400px;
	margin-bottom: 20px;
}

.splash.splash-crash > * {
	align-self: center;
}
/* }}} */
/* Loader bar styles {{{ */
.loader-bar {
	height: 5px !important;
	z-index: 1 !important;
}

.loader-bar::before, .loader-bar::after {
	background: #3264d5 !important;
}

body.loading-foreground .loader-spinner {
	display: none; /* Don't display smaller spinner when we are already foreground loading */
}

.loading-background .loader-spinner {
	opacity: 0.7;
}

.loader-spinner {
	top: auto;
	left: auto;
	right: 10px !important;
	bottom: 5px !important;
	height: 50px;
	width: 50px;
}

.loader-spinner::before {
	animation-duration: 0.80s;
	width: 50px;
	height: 50px;
	border-color: var(--main);
	border-width: 4px;
	border-bottom-color: transparent;
	border-left-color: transparent;
}
/* }}} */
