*,
*::before,
*::after {
	box-sizing: border-box;
}

html {
	font-family: sans-serif;
	line-height: 1.15;
	-webkit-text-size-adjust: 100%;
	-ms-text-size-adjust: 100%;
	-ms-overflow-style: scrollbar;
	-webkit-tap-highlight-color: transparent;
}

@-ms-viewport {
	width: device-width;
}

article,
aside,
dialog,
figcaption,
figure,
footer,
header,
hgroup,
main,
nav,
section {
	display: block;
}

body {
	margin: 0;
	font-family: "Lato", -apple-system, BlinkMacSystemFont, "Segoe UI",
		"Helvetica Neue", Arial, sans-serif;
	font-size: 0.9375rem;
	font-weight: 400;
	line-height: 1.5;
	color: #495057;
	text-align: left;
	background-color: #ffffff;
}

.flat-spinner {
	margin: 90px auto;
	position: relative;
	border-top: 5px solid rgba(0, 147, 221, 0.2);
	border-right: 5px solid rgba(0, 147, 221, 0.2);
	border-bottom: 5px solid rgba(0, 147, 221, 0.2);
	border-left: 5px solid rgba(0, 147, 221, 1);
	-webkit-transform: translateZ(0);
	-ms-transform: translateZ(0);
	transform: translateZ(0);
	-webkit-animation: flat-spinner 1s infinite linear;
	animation: flat-spinner 1s infinite linear;
}

.flat-spinner,
.flat-spinner:after {
	border-radius: 50%;
	width: 64px;
	height: 64px;
}

@-webkit-keyframes flat-spinner {
	0% {
		-webkit-transform: rotate(0deg);
		transform: rotate(0deg);
	}
	100% {
		-webkit-transform: rotate(360deg);
		transform: rotate(360deg);
	}
}

@keyframes flat-spinner {
	0% {
		-webkit-transform: rotate(0deg);
		transform: rotate(0deg);
	}
	100% {
		-webkit-transform: rotate(360deg);
		transform: rotate(360deg);
	}
}

.bundle-loading-error {
	padding: 20px;
	color: tomato;
	border: 2px solid tomato;
	display: table;
	font: bold 16px Arial, sans-serif;
	margin: 100px auto;
}
