@font-face {
	font-family: "Museo Sans";
	font-weight: 500;
	font-style: normal;
	src: url(/assets/fonts/museo-sans-500.woff2) format("woff2"),
		 url(/assets/fonts/museo-sans-500.woff) format("woff");
}

@font-face {
	font-family: "Museo Sans Cryl";
	font-weight: 500;
	font-style: normal;
	src: url(/assets/fonts/museo-sans-cyrl-500.woff2) format("woff2"),
		 url(/assets/fonts/museo-sans-cyrl-500.woff) format("woff");
}

html, body, div, span, h1, h2, h3, p, img, ul, li, section, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	outline: 0;
	vertical-align: baseline;
	background: transparent;
}

body {
	font: 17px "Museo Sans", sans-serif;
	font-weight: 500;
	text-align: center;
	line-height: 1.4;
	color: #fff;
	overflow: hidden;
	background-color: #000;
	width: 100%;
	height: 100%;
	-webkit-text-size-adjust: none;
	-ms-text-size-adjust: none;
	text-size-adjust: none;
	-webkit-font-smoothing: antialiased;
}

html[lang="ru"] body {
	font-family: "Museo Sans Cryl", sans-serif;
}

a {
	margin: 0;
	padding: 0;
	font-size: 100%;
	vertical-align: baseline;
	text-decoration: none;
	color: #fff;
	background-color: transparent;
}

a:hover,
a:active,
a:focus {
	outline: none;
}

a:active {
	color: #fff;
}

a:link {
	-webkit-tap-highlight-color: transparent;
	tap-highlight-color: transparent;
}

.hidden {
	display: none;
	visibility: hidden;
}

/*.fps {
	position: absolute;
	right: 0;
	top: 0;
	font-size: 12px;
	padding: 0 2px;
	color: red;
	background-color: #fff;
	text-align: right;
}*/

.strobe {
	position: absolute;
	left: 0;
	top: 0;
	right: 0;
	bottom: 0;
	width: 100%;
	height: 100%;
	overflow: hidden;
	-webkit-user-select: none;
	-moz-user-select: none;
	user-select: none;
	cursor: none;
	-webkit-background-size: 100% 100%;
	-moz-background-size: 100% 100%;
	background-size: 100% 100%;
	-webkit-tap-highlight-color: transparent;
	tap-highlight-color: transparent;
	z-index: 2;
}

.timer {
	position: absolute;
	left: 50%;
	top: 50%;
	width: 20px;
	height: 20px;
	line-height: 20px;
	margin-left: -10px;
	margin-top: -10px;
	font-size: 12px;
	-webkit-user-select: none;
	-moz-user-select: none;
	user-select: none;
	pointer-events: none;
	z-index: 3;
}

.button {
	display: inline-block;
	cursor: pointer;
	margin: 15px 5px;
	padding: 1px;
	line-height: 100%;
	background-color: #fff;
	-webkit-user-select: none;
	-moz-user-select: none;
	user-select: none;
	-webkit-tap-highlight-color: transparent;
	tap-highlight-color: transparent;
}

.button p {
	text-transform: uppercase;
	margin: 0;
	padding: 12px 25px 10px 25px;
	background-color: #000;
}

.app-store {
	margin: 40px auto;
	width: 240px;
	height: 80px;
	background-repeat: no-repeat;
	background-size: 100% 100%;
	border-radius: 12.5px;
}

.app-store span {
	display: none;
}

.app-store {
	background-image: url(/assets/images/app-store-badge-en.svg);
}

html[lang="de"] .app-store {
	background-image: url(/assets/images/app-store-badge-de.svg);
}

html[lang="es"] .app-store {
	background-image: url(/assets/images/app-store-badge-es.svg);
}

html[lang="fr"] .app-store {
	background-image: url(/assets/images/app-store-badge-fr.svg);
	width: 254px;
}

html[lang="it"] .app-store {
	background-image: url(/assets/images/app-store-badge-it.svg);
}

html[lang="ru"] .app-store {
	background-image: url(/assets/images/app-store-badge-ru.svg);
}

html[lang="pt-BR"] .app-store {
	background-image: url(/assets/images/app-store-badge-pt.svg);
}

html[lang="ja"] .app-store {
	background-image: url(/assets/images/app-store-badge-ja.svg);
	width: 218px;
}

html[lang="zh-CN"] .app-store {
	background-image: url(/assets/images/app-store-badge-zh.svg);
	width: 218px;
}

@-webkit-keyframes stripes-anim {
	0% {
		background-position: 0 0;
	}

	100% {
		background-position: 60px 30px;
	}
}

@keyframes stripes-anim {
	0% {
		background-position: 0 0;
	}

	100% {
		background-position: 60px 30px;
	}
}

.stripes,
.button:active,
.button:hover {
	background-color: #fff;
	-webkit-background-size: 30px 30px;
	-moz-background-size: 30px 30px;
	background-size: 30px 30px;
	background-image: -webkit-linear-gradient(
		45deg,
		#000 25%,
		#fff 25%,
		#fff 50%,
		#000 50%,
		#000 75%,
		#fff 75%,
		#fff
	);
	background-image: linear-gradient(
		45deg,
		#000 25%,
		#fff 25%,
		#fff 50%,
		#000 50%,
		#000 75%,
		#fff 75%,
		#fff
	);
	-webkit-animation: stripes-anim 333ms linear infinite;
	animation: stripes-anim 333ms linear infinite;
}

.button:active p {
	background-color: transparent;
}

h1 {
	text-transform: uppercase;
	font-size: 18px;
	font-weight: 500;
	width: 592px;
	height: 196px;
	margin: 0 auto 60px auto;
}

h1 span {
	display: none;
	position: relative;
}

h1 .stripes {
	display: block;
	width: 140px;
	height: 140px;
	left: 276px;
	top: 2px;
}

h1 .title {
	display: block;
	width: 592px;
	height: 196px;
	top: -140px;
	background-image: url(/assets/images/title.svg);
	-webkit-background-size: 100% 100%;
	-moz-background-size: 100% 100%;
	background-size: 100% 100%;
}

h2 {
	font-size: 14px;
	font-weight: 500;
	margin: 0;
}

section {
	position: absolute;
	display: block;
	top: 50%;
	width: 100%;
}

section > p {
	margin: 30px auto;
	padding: 0 10px;
}

.alt {
	margin-top: -160px;
}

.alt.ios {
	margin-top: -235px;
}

.alt.js {
	display: block;
	margin-top: 24px;
}

.alt.webgl span,
.alt a {
	text-decoration: underline;
}

.alt a.button,
.alt a:active {
	text-decoration: none;
}

.intro {
	margin-top: -260px;
}

.intro > p {
	max-width: 380px;
}

.instructions {
	margin-top: -205px;
}

.instructions > p {
	max-width: 450px;
}

.warning {
	font-size: 14px;
	margin-top: 70px;
}

.warning > p {
	margin: 0 auto;
}

.warning h2 {
	text-transform: uppercase;
	text-decoration: underline;
}

.outro {
	margin-top: -176px;
}

.outro h2 {
	font-size: 26px;
	margin-bottom: 60px;
}

.outro > p {
	margin-bottom: 0;
}

.outro .button {
	margin: 20px 5px;
}

.outro .app {
	max-width: 400px;
}

.alt.webgl h1,
.intro h1,
.intro h1 .stripes,
.intro > p,
.instructions > p,
.warning,
.outro > p,
.outro h2,
.button {
	opacity: 0;
	-webkit-transition: opacity 400ms ease, -webkit-transform 400ms ease-out;
	-moz-transition: opacity 400ms ease, -moz-transform 400ms ease-out;
	transition: opacity 400ms ease, transform 400ms ease-out;
}

.strobe {
	opacity: 0;
	-webkit-transition: opacity 250ms ease;
	-moz-transition: opacity 250ms ease;
	transition: opacity 250ms ease;
}

.outro h2 {
	-webkit-transition: opacity 400ms ease, -webkit-transform 600ms ease-in-out;
	-moz-transition: opacity 400ms ease, -moz-transform 600ms ease-in-out;
	transition: opacity 400ms ease, transform 600ms ease-in-out;
}

.outro h2.down {
	cursor: none;
	-webkit-user-select: none;
	user-select: none;
	-webkit-transform: translateY(160px);
	-moz-transform: translateY(160px);
	transform: translateY(160px);
}

.fade {
	opacity: 1 !important;
}

.left {
	-webkit-transform: translateX(-12px);
	-moz-transform: translateX(-12px);
	transform: translateX(-12px);
}

.right {
	-webkit-transform: translateX(12px);
	-moz-transform: translateX(12px);
	transform: translateX(12px);
}

/* .ad.hyperscape {
	position: absolute;
	left: 0;
	bottom: 0;
	bottom: constant(safe-area-inset-bottom);
	bottom: env(safe-area-inset-bottom);
	width: 100%;
	height: 75px;
}

.ad.hyperscape > div {
	margin: 0 auto;
	max-width: 960px;
} */

.mobile .neave {
	z-index: 1;
}

/* @media (min-width: 961px) and (min-height: 611px) {
	.ad.hyperscape {
		bottom: 16px;
	}

	.ad.hyperscape iframe {
		border-radius: 5px;
		overflow: hidden;
	}
} */

@media (max-width: 680px), (max-height: 610px) {
	body {
		font-size: 17px;
	}

	h1 {
		width: 296px;
		height: 98px;
		margin-bottom: 50px;
	}

	h1 .stripes {
		width: 70px;
		height: 70px;
		left: 138px;
		top: 1px;
	}

	h1 .title {
		width: 296px;
		height: 98px;
		top: -70px;
	}

	.alt {
		margin-top: -100px;
	}

	.alt.ios {
		margin-top: -165px;
	}

	.intro {
		margin-top: -180px;
	}

	.intro > p {
		max-width: 360px;
	}

	.instructions {
		margin-top: -197px;
	}

	.instructions > p {
		max-width: 440px;
	}

	.warning > p {
		max-width: 240px;
	}

	/* .ad.hyperscape {
		bottom: 0;
	} */
}

@media (max-width: 360px), (max-height: 480px) {
	.outro {
		margin-top: -90px;
	}

	.outro h2 {
		margin-bottom: 43px;
	}

	.outro h2.down {
		-webkit-transform: translateY(70px);
		-moz-transform: translateY(70px);
		transform: translateY(70px);
	}

	.outro .button {
		margin-left: 2px;
		margin-right: 2px;
	}

	/* .ad.hyperscape, */
	.outro .app {
		display: none;
	}
}

@media (max-width: 430px) and (max-height: 480px) {
	.neave {
		display: none;
	}
}

@media (max-width: 360px), (max-height: 380px) {
	.intro h1,
	.warning {
		display: none;
	}

	.neave {
		display: block;
	}

	.alt {
		margin-top: -85px;
	}

	.alt h1 {
		margin-bottom: 25px;
	}

	.alt.ios {
		margin-top: -140px;
	}

	.alt > p {
		margin: 10px auto;
	}

	.intro,
	.instructions {
		margin-top: -130px;
	}

	.outro .button.repeat {
		margin-top: 0;
	}
}

@media (max-width: 320px) and (max-height: 340px) {
	.neave {
		display: none;
	}
}