body .app-loading.error {
	display: none;
}
body.failed .app-loading.error {
	display: flex;
}
body.failed .app-loading.starting {
	display: none;
}
body.failed .app-loading {
	color: red;
	font-size: 1.1rem;
}

.app-loading {
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	margin: auto;
}

.app-loading-spinner {
	left: 0;
	right: 0;
	position: absolute;
    margin: auto;
	width: 200px;
	height: 200px;
	animation: rotate 5s linear infinite;
}

.app-loading-spinner .path {
	stroke-dasharray: 1, 200;
	stroke-dashoffset: 0;
	animation: dash 5s ease-in-out infinite;
	stroke-linecap: round;
	stroke: #ddd;
}

.app-loading-logo {
	left: 0;
	right: 0;
	position: absolute;
	margin: 65px auto;
	text-align: center;
}

.app-loading-logo > img {
	width: 60px;
}

@keyframes rotate {
	100% {
	  transform: rotate(360deg);
	}
}

@keyframes dash {
	0% {
		stroke-dasharray: 1, 200;
		stroke-dashoffset: 0;
	}
	50% {
		stroke-dasharray: 89, 200;
		stroke-dashoffset: -35px;
	}
	100% {
		stroke-dasharray: 89, 200;
		stroke-dashoffset: -124px;
	}
}
