* {
	margin: 0;
	padding: 0;
}

html {
	background: #666666;
	height: 100%;
}

body {
	height: 100%;	
	margin: 0;
	padding: 0px;
}

p {
	margin: 0;
}

canvas {
	display: block;
}
  
main {
  text-align: center;
  align-items: center;
  display: flex;
  height: 100vh; /* Fallback for browsers that do not support Custom Properties */
  width: 100%;
  justify-content: center;
}

main canvas { 
	height: auto !important;
	width: auto !important;
	max-width: 100%;
	max-height: 100%;
	display: inline-block; /* Instead of display: block; */
	margin: 0 auto;
	padding: 0;
	vertical-align: middle;
	touch-action: none;
	box-shadow: 0px 20px 30px 10px rgb(0,0,0,0.55);
}

#loadingDiv {
	width:100%;
	position: absolute;
	align-items: center;
	text-align: center;
	top: 48%;
}

#loadingText {
	font-family: Helvetica, sans-serif;
	font-size: 1.9vmin;
	font-weight: bold;
	text-align: center;
	text-shadow: 3px 3px 6px #333333;
	color: #333333;
	position: relative;
	width:100%;
	top: 50%;
	text-align: center;
	z-index: 1;
}

#spinner {
	border-top: 0.75vmin double transparent;
	border-bottom: 0.75vmin double #333333;
	border-left: 0.75vmin double #333333;
	border-right: 0.75vmin double #333333;
	width: 20px;
	height: 20px;
	border-radius: 50%;
	margin: 0 auto;
	-webkit-animation: spin 2s ease infinite;
	animation: spin 2s ease infinite;
	position:relative;
	z-index: 1;
}

@keyframes spin {
	0% { transform: rotate(0deg); }
	100% { transform: rotate(360deg); }
}

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