body{
	margin:0px;
	padding:0px;
	position: absolute;
	height:100vh;
	width:100vw;
	height:100dvh;
	width:100dvw;
	background-size:cover;
	font-style: regular;
	font-family:"Myriad Pro", Myriad,"Helvetica Neue", Helvetica, Arial, sans-serif;
	background-color:#000000;
	display:flex;
	align-items:center;
	justify-content:center;
	overflow:hidden;
}

.keepRatio{
	position:relative;
	aspect-ratio: 16 / 9;
	width: min(100vw, calc(100vh * 16 / 9));
	width: min(100dvw, calc(100dvh * 16 / 9));
	height: auto;
	container-type: size;
}

.pseudo-fullscreen .keepRatio{
	width:100vw;
	height:100vh;
	width:100dvw;
	height:100dvh;
	aspect-ratio: auto;
}

#rotateOverlay{
	display:none;
	position:fixed;
	top:0;
	left:0;
	width:100vw;
	height:100vh;
	width:100dvw;
	height:100dvh;
	z-index:10;
	background-color:#000000;
	color:#ffffff;
	flex-direction:column;
	align-items:center;
	justify-content:center;
	text-align:center;
	font-size:5vw;
}

.rotateIcon{
	font-size:15vw;
	margin-bottom:3vh;
	animation: rotateHint 1.5s ease-in-out infinite;
}

#exitFullscreenButton{
	margin-top:6vh;
	padding:18px 48px;
	font-size:22px;
	line-height:1.2;
	color:#ffffff;
	background-color:rgba(255,255,255,0.12);
	border:2px solid #ffffff;
	border-radius:12px;
	cursor:pointer;
	-webkit-tap-highlight-color: rgba(255,255,255,0.3);
	touch-action: manipulation;
}

@keyframes rotateHint{
	0%,40% { transform: rotate(0deg); }
	60%,100% { transform: rotate(-90deg); }
}

.pseudo-fullscreen #rotateOverlay{
	display:flex;
}

@media (min-aspect-ratio: 1/1){
	.pseudo-fullscreen #rotateOverlay{
		display:none;
	}
}

.webgl-content,#loadingBlock,#errorBrowserBlock{
	padding:0px;
	position:absolute;
	height:100%;
	width:100%;
	background-color:#f0f0f1;
}

#gameContainer,canvas{
	position:absolute;
	height:100%;
	width:100%;
	background-color:#f0f0f1;
}

#fullScreenButton{
	height:50px;
	width:50px;
	position:absolute;
	z-index:1;
	bottom:5px;
	right:5px;
	background-color:transparent;
	background-image:url("../img/fullScreen_on.png");
	background-repeat: no-repeat;
	background-position: center;
	background-size:30px 30px;
	border:none;
	cursor: pointer;
}

.subtitle{
	color:#1896a7;
	font-size:2.3cqh;
	padding-bottom:2.3cqh;
	padding-top:2.5cqh;
	display: block;
	height:20cqh;
	width:40cqw;
	margin:auto;
	text-align: center;
}

.logo{
	height:25cqh;
	width:auto;
	display: block;
	margin:auto;
	margin-top:2cqh;
}

#loadingBlock,#errorBrowserBlock{
	background-image:url("../img/background.png");
	background-size:cover;
}

#emptyBar{
	background: url("../img/progressEmpty.png") no-repeat right;
	float: right; 
	width: 60%; 
	height: 100%; 
	display: inline-block;
}

#fullBar{
	background: url("../img/progressFull.png") no-repeat right;
	float: left; 
	width: 40%; 
	height: 100%; 
	display: inline-block;
}

#progressBar,#warningBrowserBlock,#warningMobileBlock,#errorContent{
	height:25cqh;
	width:40cqw;
	margin:auto;
	text-align: center;
}

#progressBar{
	height:8cqh;
	color:#666666;
	font-size:4cqh;
}

#warningBrowserBlock,#warningMobileBlock,#errorContent{
	margin-top:15cqh;
	color:#666666;
	font-size:2.3cqh;
}

.browserIcons{
	display: inline-flex;
	margin-top:2cqh;
}

.browserIcons a{
	width:150px;
}

#errorContent{
	font-size:3cqh;
	margin-top:5cqh;
}

.centered{
	height: 100%;
	max-width:770px;
	margin-left:auto;
	margin-right:auto;
}


/* When aspect-ratio is smaller than 4/3*/

/*@media (max-aspect-ratio: 4/3){
	
	.webgl-content{
		-webkit-transform: translate(0%, 0%); transform: translate(0%, 0%);
		-webkit-box-shadow: 0px 0px 29px 0px rgba(0,0,0,0.15);
		-moz-box-shadow: 0px 0px 29px 0px rgba(0,0,0,0.15);
		box-shadow: 0px 0px 29px 0px rgba(0,0,0,0.15);
	}
	
	.keepRatio{
		width:100%;
		padding-top: 75%;
		position: relative;
		top: 50%;
		transform: translateY(-50%);
	}

	.webgl-content,#loadingBlock,#errorBrowserBlock{
		position: absolute;
		top: 0;
		left: 0;
		bottom: 0;
		right: 0;
		height:100%;
	}

	.logo{
		width:25vw;
		height:auto;
		margin-top:1vh;
	}
	
	.subtitle{
		font-size:2vw;
		height:10vw;
		padding-bottom:1vw;
		padding-top: 1vw;
	}

	.subtitle,#progressBar,#warningBrowserBlock,#warningMobileBlock,#errorContent{
		width:80vw;
	}
	
	#progressBar{
		height:6vw;
		margin-top: 2vw;
		font-size:3vw;
	}
	
	#emptyBar,#fullBar{
		height: 2vw; 
	}
	
	#warningBrowserBlock,#warningMobileBlock,#errorContent{
		margin-top:3vw;
		font-size:2vw;
	}
	
	.browserIcons{
		margin-top:1vw;
	}
	
	.browserIcons a{
		width:15vw;
	}
	
	.browserIcons a img{
		width:8vw;
	}
}*/


/* When aspect-ratio is bigger than 16/9*/

/*@media (min-aspect-ratio: 16/9){
	body{
		display:flex;
		flex-wrap:wrap;
		justify-content:space-between;
	}
	
	.keepRatio{
		width:178vh;
		height:100%;
		margin:0 auto;
	}
	
	.webgl-content,#gameContainer,canvas,#loadingBlock,#errorBrowserBlock{
		width: inherit;
	}
	
	.webgl-content{
	-webkit-box-shadow: 0px 0px 29px 0px rgba(0,0,0,0.15);
		-moz-box-shadow: 0px 0px 29px 0px rgba(0,0,0,0.15);
		box-shadow: 0px 0px 29px 0px rgba(0,0,0,0.15);
	}
	
	.subtitle,#progressBar,#warningBrowserBlock,#warningMobileBlock,#errorContent{
		width:100vh;
	}
}*/
