:root {
	--fontSans: "DejaVu Sans", Verdana, Geneva, "Bitstream Vera Sans", "DejaVu LGC Sans", Arial, sans-serif;
	--fontSerif: "Nimbus Roman No9 L", "Times New Roman", Times, FreeSerif, serif;
	--fontMono: "Liberation Mono", Monaco, Menlo, Consolas, "Courier New", FreeMono, Courier, monospace;
}

html, body {
	font-family: var(--fontSans);
	margin: 0;
	padding: 0;
}

body {
	background: var(--main-bg-color, #aaa);
	color: var(--main-color, #333);
}

#rl-loading, #rl-loading-error {
	color: var(--loading-color, #000);
	text-shadow: var(--loading-text-shadow);
	font-size: 30px;
	line-height: 130%;
	position: fixed;
	text-align: center;
	top: 50%;
	transform: translateY(-50%);
	width: 100%;
}

.e-spinner {
	margin: 5px auto 0;
	width: 100px;
	text-align: center;
}

.e-spinner div {
	animation: bouncedelay 1.4s infinite ease-in-out;
	background-color: var(--loading-color, #000);
	border-radius: 100%;
	box-shadow: 0 0 3px rgba(0, 0, 0, 0.3);
	display: inline-block;
	height: 15px;
	margin: 0 5px;
	width: 15px;
	/* Prevent first frame from flickering when animation starts */
	animation-fill-mode: both;
}

.e-spinner div + div {
	animation-delay: 0.16s;
}

.e-spinner div + div + div {
	animation-delay: 0.32s;
}

@keyframes bouncedelay {
	0%, 80%, 100% { transform: scale(0.0); }
	40% { transform: scale(1.0); }
}
