@import url(../fonts/font.css);

.otgs-development-site-front-end{
	display: none;
}

:root{
	font-size: 16vh;
	background:#000
}

*{
	font-weight:400;
	user-select: none;
	-webkit-touch-callout: none !important;
	-webkit-user-select: none !important;
	touch-action: none;
}

body{
	overflow: hidden;
	margin: 0;
	height: 100vh;
	display: flex;
	justify-content: center;
	background: radial-gradient(#6399D1,#194D91);
	color: #fff;
	font-family: 'display', Impact, Haettenschweiler, 'Arial Narrow Bold', sans-serif;
}

svg{
	position: absolute;
	left: calc(50% - 100px);
	top: calc(50% - 100px);
}


@media screen and (max-width: 768px) and (max-aspect-ratio: 1/1) {
	body *{
		display: none !important;
	}
	body:before{
		content:"";
		position: absolute;
		inset:0;
		background: url(/wp-content/uploads/2022/02/rotate.png) center no-repeat;
		background-size: 197.5px
	}
}
body.ihios *{
	display: none !important;
}
body.ihios:before{
	content:"";
	position: absolute;
	inset:0;
	background: url(/wp-content/uploads/2022/02/rotate.png) center no-repeat;
	background-size: 197.5px
}


@media(max-aspect-ratio: 16/9){
	body{
		flex-direction: column;
	}
	:root{
		font-size: 9vw;
	}
}

.glow{
	filter: drop-shadow(0px 0px 10px #ffe900);
}

game{
	opacity: 0;
	max-width: 100%;
	max-height: 100%;
	aspect-ratio: 16/9;
	box-shadow: #fff 0 0 100px;
	position: relative;
	overflow: hidden;
	transition: opacity ease .2s;
}
game:after{
	content: '';
	position: absolute;
	left: 0;
	bottom: 0;
	right: 0;
	height: 35%;
	background: url(img/wave_bottom.png) no-repeat center bottom;
	background-size: contain;
}
canvas#waveTop{
	display: block;
	width: 100%;
	aspect-ratio: 100/45;
	position: absolute;
	left: 0;
	bottom: 0;
}
player{
	display: block;
	width: 10%;
	position: absolute;
	aspect-ratio: 4/3;
	background: url(img/player_0.png) center no-repeat;
	background-size: contain;
	left: 20%;
	bottom: 80%;
	transform: rotateZ(12deg);
}
player[type="1"]{
	background-image: url(img/player_1.png);
}
player[type="2"]{
	background-image: url(img/player_2.png);
}
hitbox{
	display: block;
	position: absolute;
	background: #f00;
	left: 40%;
	top: 10%;
	right: 40%;
	bottom: 20%;
	visibility: hidden;
	/*opacity: 0.5;*/
}

point,enemy{
	--rotation: 0deg;
	display: block;
	width: 4%;
	position: absolute;
	aspect-ratio: 1/1;
	background: url(img/point_0.png?1) center no-repeat;
	background-size: contain;
	left: 100%;
	bottom: 80%;
	transform: translateX(0) rotateZ(var(--rotation));
}
point>hitbox{
	left: 5%;
	right: 5%;
	top: 15%;
	bottom: 15%;
}

point[type="1"]{
	background-image:url(img/point_1.png?v=1.0.0);
	aspect-ratio: 2/1;
	width: 5%;
}
point[type="2"]{
	background-image:url(img/point_2.png?v=1.0.0);
}
point[type="3"]{
	background-image:url(img/point_3.png?v=1.0.0);
	--rotation: -10deg;
	width: 8%;
}
point[type="4"]{
	background-image:url(img/point_4.png?v=1.0.0);
	width: 9%;
	--rotation: -45deg;
	aspect-ratio: 3/1;
}
point[type="5"]{
	background-image:url(img/point_5.png?v=1.0.0);
	width: 9%;
	--rotation: -45deg;
	aspect-ratio: 3/1;
}
point[type="6"]{
	background-image:url(img/point_6.png?v=1.0.0);
	width: 9%;
	--rotation: -45deg;
	aspect-ratio: 3/1;
}

enemy{
	background-image: url(img/enemy_0.png?1);
	width: 8%;
}
enemy>hitbox{
	left: 5%;
	right: 5%;
	top: 45%;
	bottom: 25%;
}
enemy[type="1"]{
	background-image: url(img/enemy_1.png?1);
	width: 12%;
}
enemy[type="1"]>hitbox{
	inset:15% 5% 5%;
}
enemy[type="2"]{
	background-image: url(img/enemy_2.png?1);
	width: 10%;
}
enemy[type="3"]{
	background-image: url(img/enemy_3.png?1);
	width: 15%;
}
enemy[type="3"]>hitbox{
	inset:5% 20% 5% 50%;
}

wave{
	position: absolute;
	left: 0;
	top: 5%;
	bottom: 1%;
	width: 60%;
	background: url(img/wave_enemy.png?1) no-repeat left center;
	background-size: contain;
	z-index: 1;
	transform: translateX(-80%);
}
wave video{
	height: 100%;
	width: 100%;
	position: absolute;
	right: 0;
	top: 0;
	z-index: 2;
}
wave video+video{
	right: 40%;
	z-index: 1;
}

score{
	position: absolute;
	left: 2.5%;
	top: 2.5%;
	font-size: .8rem;
	z-index: 2;
}
codeinfo{
	position: absolute;
	right: 4.5%;
	left: 27%;
	top: 2.5%;
	font-size: .4rem;
	z-index: 2;
	color:#FFE200;
	text-align:center;
	transform:scale(0);
	transition: transform ease .1s;
}

gameover{
	position: absolute;
	left: 0;
	top: 0;
	right: 0;
	bottom: 0;
	font-size: .8rem;
	z-index: 2;
	background: radial-gradient(#6399D1,#194D91) center ;
	background-image:url(img/bg_generic.jpg?v=1.0.0);
	background-size: cover;
	display: flex;
	justify-content: center;
	align-items: center;
	text-align: center;
	cursor: pointer;
	z-index: 1000;
}


gameover.info_choose{
	background-image:url(img/bg_choose.jpg?v=1.0.0);
	font-size: .32rem;
	display: block;
	text-align: left;
	cursor: default;
}
gameover.info_howto_jump{
	background-image:url(img/bg_howto_jump.jpg?v=1.0.0);
	font-size: .44rem;
	display: block;
	text-align: left;
	padding: 0.24rem 5.4rem 0.24rem 0.24rem;
}
gameover.info_howto_jump>span{
	position: absolute;
	left: .5rem;
	bottom: 2rem;
	color: #2B2577;
	width: 2.6rem;
}
gameover.info_howto_jump>span+span{
	left: auto;
	right: .5rem;
}
gameover.info_howto_survive{
	background-image:url(img/bg_howto_survive.jpg?v=1.0.0);
	font-size: .44rem;
	display: block;
	text-align: left;
	padding: 0.24rem 2.4rem 0.24rem 0.24rem;
}
gameover.info_glowinfo{
	background-image:url(img/bg_glowinfo.jpg?v=1.0.0);
	font-size: .44rem;
	display: block;
	text-align: left;
	padding: 0.24rem 3.7rem 0.24rem 0.24rem;
}
gameover.info_enemies{
	background-image:url(img/bg_enemies.jpg?v=1.0.0);
	font-size: .44rem;
	display: block;
	text-align: left;
	padding: 0.24rem 2.4rem 0.24rem 0.24rem;
}
gameover.info_points{
	background-image:url(img/bg_points.jpg?v=1.0.0);
	font-size: .44rem;
	display: block;
	text-align: left;
	padding: 0.24rem 5.4rem 0.24rem 0.24rem;
}
gameover.info_test{
	background-image:url(img/bg_generic_wave.jpg?v=1.0.0);
	font-size: .32rem;
	display: block;
	text-align: left;
	padding: 0.84rem 0.7rem 0.24rem 2.8rem;
}
gameover.info_test p{
	font-family: 'text';
}
gameover.info_test p strong{
	font-family: 'display';
}
gameover.info_test h1{
	text-align: right;
	font-size: 0.5rem;
}

gameover.info_choose h1{
	font-size: 0.5rem;
	position: absolute;
	left: 54%;
	top: 8%;
	right: 10%;
}
gameover.info_choose>span{
	position: absolute;
	left: 17%;
	width: 25%;
	bottom: 10%;
	top: 40%;
	cursor: pointer;
	display: flex;
	flex-direction: column-reverse;
	text-align: center;
}
gameover .btnext,
gameover.info_choose span span,
gameover.final span span{
	background: #E74544;
	border: .02rem solid #E74544;
	font-size:.24rem;
	height: .3rem;
	line-height: .3rem;
	border-radius: .15rem;
	margin: 0 .2rem;
}
gameover .btnext:hover,
gameover.info_choose span:hover span,
gameover.final span span:hover{
	color: #E74544;
	background: #fff;
}
gameover.info_choose>span+span{
	left: 44.3%;
}
gameover.info_choose>span+span+span{
	left: 72%;
}
gameover.final{
	font-size: .32rem;
	display: block;
	text-align: center;
	padding: 0.45rem 0.9rem;
	cursor:default;
}
gameover.final h1,
gameover.final p{
	margin: 0 0 .2rem 0;
}

gameover.final>span{
	position: absolute;
	left: 17%;
	right: 17%;
	bottom: 10%;
	display: flex;
	justify-content:space-between;
}
gameover.final>span>span{
	cursor: pointer;
	margin:0;
	padding: 0 .2rem;
}

gameover h2{
	position: absolute;
	left: -0.6rem;
	top: -1.1rem;
	background: #E74544;
	border-radius: 50%;
	font-size: .24rem;
	width: 2.14rem;
	height: 2.14rem;
	box-sizing: border-box;
	padding: 1.05rem 0.3rem 0 0.6rem;
}

gameover.highscore{
	display:block;
	font-size:.32rem;
}

gameover.highscore>div{
	display:grid;
	grid-template-columns: repeat(2,1fr);
	grid-template-rows: repeat(5,1fr);
  	grid-auto-flow: column;
	margin: 0 1rem;
}
gameover.highscore>div>span.you span{
	border: .02rem solid #E74544;
	color: #E74544;
}
gameover.highscore>div>span{
	display:flex;
	text-align:left;
	margin: 0 0 .1rem 0;
	position: relative;
}
gameover.highscore>div>span>em{
	width:9%;
}
gameover.highscore>div>span>span{
	background: #fff;
	color: #000;
	line-height: 0.35rem;
	padding: 0 .1rem;
	box-sizing:border-box;
	font-size:.2rem;
}
gameover.highscore>div>span>em+span{
	width:65%;
	border-radius: .2rem 0 0 .2rem;
	border-right: none!important;
}
gameover.highscore>div>span>span+span{
	width:23%;
	text-align:right;
	margin-right: 2%;
	border-radius: 0 .2rem .2rem 0;
	border-left: none!important;
}
gameover.highscore>div>span:nth-child(1):before,
gameover.highscore>div>span:nth-child(2):before,
gameover.highscore>div>span:nth-child(3):before{
	content:"";
	display: block;
	position: absolute;
	left: -.4rem;
	top: 0;
	width: .4rem;
	height: .4rem;
	background: url(img/type_0.png) center no-repeat;
}
gameover.highscore>div>span.type_1:before{
	background-image: url(img/type_1.png);
}
gameover.highscore>div>span.type_2:before{
	background-image: url(img/type_2.png);
}

.final h2{
	cursor:pointer;
}

small{
	font-size: 25%;
}

#error,#error2{
	font-size: .5rem;
	position: fixed;
	inset: 0;
	display: grid;
	justify-content: center;
	align-items: center;
	text-align: center	;
}
#error2{
	z-index: 9999;
	background: radial-gradient(#6399D1,#194D91);
	display: grid !important;
}

repository{
	display:none;
}

.handle{
	--bg: #2B2577;
	background:#fff;
	position: absolute;
	right: .35rem;
	top: .35rem;
	height: .5rem;
	width: .5rem;
	cursor: pointer;
	z-index: 999;
	margin: 0;
	padding: .135rem .1rem;
	border-radius: .1rem;
	box-sizing:border-box;
}
.handle>hr{
	display: block;
	height: .03rem;
	margin: 0 0 .07rem 0;
	border-radius: .015rem;
	border: none;
	background: var(--bg);
	transition: margin ease .25s,
				transform ease .25s,
				background ease .25s;
	transform: rotateZ(0);
}
/*.handle>hr:last-child{
	width: 50%;
}*/
.open .handle{
	background: transparent;
}
.open .handle>hr{
	background: #fff !important;
}
.open .handle>hr:nth-child(1){
	transform: rotateZ(45deg);
	margin-top: .1rem;
}
.open .handle>hr:nth-child(2){
	transform: rotateZ(-45deg);
	margin-top: -.1rem;
}
.open .handle>hr:nth-child(3){
	transform: rotateZ(45deg);
	margin-top: -.1rem;
}
.open .handle>hr:nth-child(4){
	transform: rotateZ(-45deg);
	background: rgba(255,255,255,0)
}

nav{
	background: #64C5F0;
	position: absolute;
	z-index: 800;
	left: 100%;
	top: 0;
	right: 0;
	bottom: 0;
	font-size:.32rem;
	transition: left ease .2s;
	box-sizing:border-box;
	padding: 1rem .3rem;
	text-align:center;
}
nav>*{
	display:block;
	margin: 0 0 .35rem;
	cursor: pointer;
}
.open nav{
	left: 60%;
}

gameover .btnext{
	padding: 0 .15rem;
	position: absolute;
	right: .5rem;
	bottom: .5rem;
}

gameover>div.social{
	position: absolute;
    right: 0.3rem;
    top: 0.3rem;
    width: 2.1rem;
    font-size: 0.3rem;
}

gameover>div.social a{
	display: inline-block;
	width: .4rem;
	height: .4rem;
	background: center no-repeat;
	background-size: contain;
}

gameover>div.social .twitter{
	background-image: url(img/ico_twitter.svg);
}
gameover>div.social .fb{
	background-image: url(img/ico_fb.svg);
}
gameover>div.social .pinterest{
	background-image: url(img/ico_pinterest.svg);
}
gameover>div.social .share{
	background-image: url(img/ico_share.svg);
}