@font-face {
    font-family: 'Novecentosanswide-Book';
    src: url('fonts/Novecentosanswide-Book-webfont.woff2') format('woff2'),
         url('fonts/Novecentosanswide-Book-webfont.woff') format('woff');
    font-weight: normal;
    font-style: normal;
}
@font-face {
    font-family: 'Novecentosanswide-Medium';
    src: url('fonts/Novecentosanswide-Medium-webfont.woff2') format('woff2'),
         url('fonts/Novecentosanswide-Medium-webfont.woff') format('woff');
    font-weight: normal;
    font-style: normal;
}

[class*="entypo-"]:before {
	font-family: 'entypo', sans-serif;
}

html {
	width: 100%;
	height: 100%;
	overflow: hidden;
	font-family: 'Open Sans', sans-serif;
	font-weight: 300;
}
body {
	width: 100%;
	height: 100%;
	margin: 0;
	padding: 50px;
	background: #111;
	box-sizing: border-box;
	font-size: 16px;
}
body * {
	box-sizing: border-box;
}
h1, h2, h3, h4 {
	font-family: 'Novecentosanswide-Medium';
	text-transform: uppercase;
	letter-spacing: 2px;
}
.game:before {
	content: '';
	position: absolute;
	width: 100%;
	height: 100%;
	left: 0;
	top: 0;
	/* Permalink - use to edit and share this gradient: http://colorzilla.com/gradient-editor/#1f2227+0,000000+100 */
	background: rgb(31,34,39); /* Old browsers */
	background: -moz-radial-gradient(center, ellipse cover, rgba(31,34,39,1) 0%, rgba(0,0,0,1) 100%); /* FF3.6-15 */
	background: -webkit-radial-gradient(center, ellipse cover, rgba(31,34,39,1) 0%,rgba(0,0,0,1) 100%); /* Chrome10-25,Safari5.1-6 */
	background: radial-gradient(ellipse at center, rgba(31,34,39,1) 0%,rgba(0,0,0,1) 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#1f2227', endColorstr='#000000',GradientType=1 ); /* IE6-9 fallback on horizontal gradient */
}
.game {
	overflow: hidden;
	position: relative;
	width: 100%;
	height: 100%;
}
.plane {
	position: absolute;
	visibility: hidden;
}
.plane .label {
	position: absolute;
	left: 100%;
	color: #fff;
	padding: 5px;
	transition: color 0.5s;
	font-size: 12px;
	white-space: nowrap;
}
.plane.active .label {
	color: #19b92a;
}
.plane .container {
	color: #fff;
	width: 16px;
	height: 16px;
	display: block;
}
.plane.fade_out {
	opacity: 0;
}
.spawner {
	position: absolute;
	width: 100%;
	height: 100%;
	overflow: hidden;
}
.spawner div {
	position: absolute;
	width: 50px;
	height: 50px;
}
.spawner .top {
	top: -50px;
}
.spawner .bottom {
	bottom: -50px;
}
.spawner .left {
	left: -50px;
}
.spawner .right {
	right: -50px;
}

/* Planes */
.planes {
	position: absolute;
	left: 0;
	top: 50%;
	color: #fff;
	font-size: 14px;
	transition: margin 0.5s;
	padding-bottom: 100px;
}
.planes .total {
	padding: 30px;
	border-bottom: 1px solid #353535;
}
.planes .total .label {
	text-transform: uppercase;
	font-style: italic;
}
.planes .total .value {
	font-size: 20px;
	padding-left: 10px;
}
.planes ul {
	margin: 0;
	padding: 0;
	list-style: none;
	text-transform: uppercase;
}
.planes ul li.titles {
	font-style: italic;
}
.planes ul li {
	border-bottom: 1px solid #353535;
	padding: 20px;
	display: none;
}
.planes ul li.titles {
	display: block;
}
.desktop .planes ul li {
	padding: 30px;
}
.planes ul li.crossed-rose {
	display: block;
}
.planes ul li > span {
	display: inline-block;
	float: left;
	line-height: 30px;
}
.planes ul li .flight {
	width: 80px;
}
.planes ul li.active .flight {
	color: #19b92a;
}
.planes ul li .heading {
	width: 80px;
}
.planes ul li.active .heading {
	color: #19b92a;
}
.planes ul li:after {
	content: '.';
	display: block;
	clear: both;
	visibility: hidden;
	height: 0;
}
.planes ul li .select {
	width: 30px;
	height: 30px;
	border: 1px solid #353535;
	color: #353535;
	text-align: center;
	display: inline-block;
	border-radius: 5px;
	cursor: pointer;
}
.planes ul li .select:hover {
	border: 1px solid #19b92a;
	color: #19b92a;
}
.planes ul li.active {
	border-bottom: 1px solid #19b92a;
	border-top: 1px solid #19b92a;
}
.planes ul li.active .select {
	border: 1px solid #19b92a;
	color: #333;
	background: #19b92a;
}

/* Speech Controls */
.speech_controls {
	margin: 30px 0 0 30px;
	position: absolute;
	bottom: 30px;
	width: 280px;
}
.speech_controls .translations {
	border: 1px solid #353535;
	padding: 10px;
	height: 90px;
	width: 100%;
	border-radius: 3px;
	background: #111;
	overflow: auto;
}
.speech_controls .translations p {
	margin: 0;
	line-height: 14px;
	font-size: 10px;
	color: #4B4B4B;
}
.speech_controls .translations p.listening {
	color: #fff;
}
.speech_controls .translations p.invalid {
	color: #941918;
}
.speech_controls .translations p.valid {
	color: #19b92a;
}
.speech_controls .button {
	position: absolute;
	top: 0;
	right: -120px;
	width: 90px;
	height: 90px;
	line-height: 90px;
	border-radius: 100%;
	color: #fff;
	border: 1px solid #fff;
	font-size: 35px;
	text-align: center;
	margin: 0;
	background: none;
}
.speech_controls .button:hover {
	border: 1px solid #19b92a;
	color: #19b92a;
	background: none;
}
.speech_controls .button.listening {
	background: #19b92a;
	color: #fff;
}
.speech_controls .language {
	position: absolute;
	top: -30px;
	width: 100%;
}
.speech_controls .language > * {
	display: inline-block;
}
.speech_controls .language .switcher {
	width: 35px;
	height: 20px;
	border-radius: 10px;
	display: block;
	position: relative;
	margin-right: 30px;
	border: 1px solid #fff;
	float: right;
	cursor: pointer;
}
.speech_controls .language .switcher:after {
	content: '';
	position: absolute;
	display: block;
	background: #fff;
	width: 14px;
	height: 14px;
	border-radius: 100%;
	top: 2px;
	transition: left 0.5s;
}
.speech_controls .language[data-selected='en'] .switcher:after {
	left: 17px;
}
.speech_controls .language[data-selected='de'] .switcher:after {
	left: 2px;
}
.speech_controls .language .label {
	color: #fff;
}
.speech_controls .language > .label {
	text-transform: uppercase;
	font-style: italic;
	padding-right: 20px;
	float: left;
}
.speech_controls .language .switcher .label {
	position: absolute;
	width: 30px;
	display: inline-block;
}
.speech_controls .language .switcher .label:first-child {
	left: -30px;
	text-align: left;
}
.speech_controls .language .switcher .label:last-child {
	right: -30px;
	text-align: right;
}

/* Statistics */
.statistics {
	position: absolute;
	right: 0;
	top: 50%;
	color: #fff;
	font-size: 14px;
	transition: margin 0.5s;
}
.statistics .label,
.statistics .mobile-label {
	text-transform: uppercase;
	font-style: italic;
	padding-right: 20px;
}
.statistics .approaching {
	padding: 30px;
	border-bottom: 1px solid #353535;
	margin: 0;
}
.statistics .approaching .mobile-label {
	display: none;
}
.statistics .approaching .value {
	font-size: 20px;
	padding-left: 10px;
}
.statistics .map {
	width: 300px;
	height: 200px;
	position: relative;
	border-bottom: 1px solid #353535;
}
.statistics .map .rings {
	width: 100px;
	height: 100px;
	position: absolute;
	left: 50%;
	top: 50%;
	margin-left: -50px;
	margin-top: -50px;
}
.statistics .map .rings:before {
	content: '';
	width: 4px;
	height: 4px;
	background: #fff;
	border-radius: 100%;
	position: absolute;
	left: 50%;
	top: 50%;
	margin-left: -2px;
	margin-top: -2px;
}
.statistics .map .rings > span {
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
}
.statistics .map .rings > span:before,
.statistics .map .rings > span:after {
	position: absolute;
	border-radius: 100%;
	border: 1px solid #4B4B4B;
	left: 50%;
	top: 50%;
}
.statistics .map .rings .outer:before {
	content: '';
	width: 100%;
	height: 100%;
	margin-left: -50%;
	margin-top: -50%;
}
.statistics .map .rings .outer:after {
	content: '';
	width: 80%;
	height: 80%;
	margin-left: -40%;
	margin-top: -40%;
}
.statistics .map .rings .inner:before {
	content: '';
	width: 60%;
	height: 60%;
	margin-left: -30%;
	margin-top: -30%;
}
.statistics .map .rings .inner:after {
	content: '';
	width: 40%;
	height: 40%;
	margin-left: -20%;
	margin-top: -20%;
}
.statistics .map .degs {
	width: 100px;
	height: 100px;
	position: absolute;
	left: 50%;
	top: 50%;
	margin-left: -50px;
	margin-top: -50px;
}
.statistics .map .degs > span {
	position: absolute;
	display: block;
	width: 20px;
	font-size: 10px;
	line-height: 10px;
	height: 10px;
	text-align: center;
	color: #4B4B4B;
}
.statistics .map .degs .left {
	left: -30px;
	top: 50%;
	margin-top: -5px;
}
.statistics .map .degs .right {
	right: -30px;
	top: 50%;
	margin-top: -5px;
}
.statistics .map .degs .top {
	left: 50px;
	top: -20px;
	margin-left: -10px;
}
.statistics .map .degs .bottom {
	left: 50px;
	bottom: -20px;
	margin-left: -10px;
}
.statistics .map .map-ghosts {
	width: 100px;
	height: 100px;
	position: absolute;
	left: 50%;
	top: 50%;
	margin-left: -50px;
	margin-top: -50px;
}
.statistics .map .map-ghosts .map-ghost {
	position: absolute;
}
.statistics .map .map-ghosts .map-ghost .label {
	font-size: 10px;
	line-height: 8px;
	white-space: nowrap;
	position: absolute;
	top: 0;
	left: 100%;
	padding-left: 3px;
	width: 50px;
	font-style: normal;
	text-transform: none;
}
.statistics .map .map-ghosts .map-ghost.label-left .label {
	font-size: 10px;
	line-height: 8px;
	white-space: nowrap;
	position: absolute;
	top: 0;
	right: 100%;
	left: auto;
	padding-right: 3px;
	padding-left: 0;
	text-align: right;
}
.statistics .map .map-ghosts .map-ghost.in-rose .label {
	display: none;
}
.statistics .map .map-ghosts .map-ghost .icon {
	display: block;
	width: 8px;
	height: 8px;
	border: 1px solid #fff;
}
.statistics .map .map-ghosts .map-ghost.in-rose .icon {
	width: 4px;
	height: 4px;
	background: #fff;
	border: none;
	border-radius: 100%;
}
.statistics .map .map-ghosts .map-ghost.active.in-rose .icon {
	background: #19b92a;
}
.statistics .countdown .value,
.statistics .level .value,
.statistics .instructions-mistakes > p .value {
	font-size: 40px;
}
.statistics .countdown .value {
	display: block;
}
.statistics .countdown {
	padding: 30px;
	margin: 0;
	border-bottom: 1px solid #353535;
}
.statistics .countdown .value {
	padding-top: 5px;
}
.statistics .countdown .value .minutes:after {
	content: ':';
}
.statistics .countdown .value > span {
	float: left;
}
.statistics .countdown .value:after {
	content: '.';
	display: block;
	clear: both;
	visibility: hidden;
	height: 0;
}
.statistics .level {
	padding: 30px;
	border-bottom: 1px solid #353535;
}
.statistics .level .value {
	display: block;
}
.statistics .instructions-mistakes {
	padding: 30px;
	border-bottom: 1px solid #353535;
}
.statistics .instructions-mistakes:after {
	content: '.';
	display: block;
	clear: both;
	visibility: hidden;
	height: 0;
}
.statistics .instructions-mistakes > p {
	display: inline-block;
	float: left;
	margin: 0;
}
.statistics .instructions-mistakes > p .value {
	display: block;
	padding-top: 5px;
}
.statistics .instructions-mistakes .instructions .value {
	color: #9f811a;
}
.statistics .instructions-mistakes .mistakes .value {
	color: #821012;
}
.game > .logo {
	width: 100px;
	display: block;
	position: absolute;
	right: 20px;
	bottom: 20px;
}

/* Corridor */
.corridor {
	position: absolute;
	left: 50%;
	top: 50%;
	width: 320px;
	height: 320px;
	margin-left: -160px;
	margin-top: -160px;
}
.desktop .corridor {
	width: 600px;
	height: 600px;
	margin-left: -300px;
	margin-top: -300px;
}
.corridor .rose {
	width: 100%;
	height: 100%;
	border-radius: 100%;
}
.corridor .rose .rings {
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
}
.corridor .rose .rings [class*='ring'] {
	border: 1px solid #4B4B4B;
	display: block;
	position: absolute;
	left: 50%;
	top: 50%;
	border-radius: 100%;
}
.corridor .rose .rings .ring-20 {
	width: 20%;
	height: 20%;
	margin-left: -10%;
	margin-top: -10%;
}
.corridor .rose .rings .ring-40 {
	width: 40%;
	height: 40%;
	margin-left: -20%;
	margin-top: -20%;
}
.corridor .rose .rings .ring-60 {
	width: 60%;
	height: 60%;
	margin-left: -30%;
	margin-top: -30%;
}
.corridor .rose .rings .ring-80 {
	width: 80%;
	height: 80%;
	margin-left: -40%;
	margin-top: -40%;
}
.corridor .rose .spinner {
	width: 100%;
	height: 100%;
	border-radius: 100%;
	overflow: hidden;
	position: relative;
	
	-webkit-animation-name: spin;
    -webkit-animation-duration: 8000ms;
    -webkit-animation-iteration-count: infinite;
    -webkit-animation-timing-function: linear;

    -moz-animation-name: spin;
    -moz-animation-duration: 8000ms;
    -moz-animation-iteration-count: infinite;
    -moz-animation-timing-function: linear;

    -ms-animation-name: spin;
    -ms-animation-duration: 8000ms;
    -ms-animation-iteration-count: infinite;
    -ms-animation-timing-function: linear;

    animation-name: spin;
    animation-duration: 8000ms;
    animation-iteration-count: infinite;
    animation-timing-function: linear;

}
.corridor .rose .spinner .line {
	width: 50px;
	height: 50%;
	left: 50%;
	margin-left: -50px;
	display: block;
	position: absolute;
	overflow: hidden;
}
.corridor .rose .spinner .line .gradient {
	width: 110%;
	height: 110%;
	display: block;
	position: absolute;
	bottom: 0;
	transform: rotate(-10deg);
	transform-origin: 0 100%;
	left: 100%;
}
.corridor .rose .spinner .line .gradient:before {
	content: '';
	display: block;
	width: 100%;
	height: 100%;
	/* Permalink - use to edit and share this gradient: http://colorzilla.com/gradient-editor/#ffffff+0,ffffff+100&0+0,0.2+100 */
	background: -moz-linear-gradient(left, rgba(255,255,255,0) 0%, rgba(255,255,255,0.2) 100%); /* FF3.6-15 */
	background: -webkit-linear-gradient(left, rgba(255,255,255,0) 0%,rgba(255,255,255,0.2) 100%); /* Chrome10-25,Safari5.1-6 */
	background: linear-gradient(to right, rgba(255,255,255,0) 0%,rgba(255,255,255,0.2) 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#00ffffff', endColorstr='#33ffffff',GradientType=1 ); /* IE6-9 */
}
.corridor .rose .spinner:before {
	content: '';
	width: 6px;
	height: 6px;
	display: block;
	background: #fff;
	position: absolute;
	left: 50%;
	top: 50%;
	margin-left: -3px;
	margin-top: -3px;
	border-radius: 100%;
	z-index: 5;
}
.corridor .rose .degrees {
	width: 40px;
	height: 100%;
	position: absolute;
	top: 0;
	left: 50%;
	margin-left: -20px;
}
.corridor .rose .degree {
	width: 100%;
	height: 100%;
	position: absolute;
	text-align: center;
	color: #fff;
	opacity: 0.5;
}
.corridor .rose .degree.active {
	color: #19b92a;
	opacity: 1;
}
.corridor .rose .degree .value {
	padding: 0 5px;
	cursor: pointer;
	display: inline-block;
	position: relative;
	top: -20px;
	z-index: 10;
	font-size: 12px;
}
.desktop .corridor .rose .degree .value {
	font-size: 16px;
	top: -30px;
}
.corridor .rose .degree .value:hover {
	color: #19b92a;
}
.corridor .rose .steps {
	width: 1px;
	height: 100%;
	position: absolute;
	top: 0;
	left: 50%;
	opacity: 0.5;
}
.corridor .rose .step {
	width: 100%;
	height: 100%;
	position: absolute;
	text-align: center;
}
.corridor .rose .step:before {
	content: '';
	width: 1px;
	height: 5px;
	display: block;
	background: #fff;
}
.desktop .corridor .rose .step:before {
	height: 10px;
}
.corridor .ghosts {
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
}
.corridor .ghosts .ghost {
	color: #fff;
	position: absolute;
	z-index: 10;
	display: none;
}
.corridor .ghosts .ghost.in-rose {
	display: block;
}
.corridor .ghosts .ghost .icon {
	position: relative;
	width: 10px;
	height: 10px;
	display: block;
}
.corridor .ghosts .ghost .icon:before,
.corridor .ghosts .ghost .icon:after {
	top: 50%;
}
.corridor .ghosts .ghost.active .icon:before,
.corridor .ghosts .ghost.active .icon:after {
	background: #19b92a;
}
.corridor .ghosts .ghost.crossed-tube:not(.in-tube) .icon:before,
.corridor .ghosts .ghost.crossed-tube:not(.in-tube) .icon:after {
	background: #941918;
}
.corridor .ghosts .ghost .icon:before {
	content: '';
	width: 10px;
	height: 1px;
	display: block;
	background: #fff;
	position: absolute;
	transform: rotate(-45deg);
}
.corridor .ghosts .ghost .icon:after {
	content: '';
	width: 10px;
	height: 1px;
	display: block;
	background: #fff;
	position: absolute;
	transform: rotate(45deg);
}
.corridor .ghosts .ghost[data-stage='1'] {
	cursor: pointer;
}
.corridor .ghosts .ghost[data-stage='1'] .icon:before {
	content: none;
}
.corridor .ghosts .ghost[data-stage='1'] .icon:after {
	width: 8px;
	height: 8px;
	background: none;
	border: 1px solid #fff;
	transform: none;
	top: 0;
}
.corridor .ghosts .ghost[data-stage='1'].active .icon:before,
.corridor .ghosts .ghost[data-stage='1'].active .icon:after {
	border: 1px solid #19b92a;
}
.corridor .ghosts .ghost[data-stage='1'].crossed-tube:not(.in-tube) .icon:before,
.corridor .ghosts .ghost[data-stage='1'].crossed-tube:not(.in-tube) .icon:after {
	border: 1px solid #941918;
}
.corridor .ghosts .ghost[data-stage='2'] .icon {
	opacity: 0.8;
}
.corridor .ghosts .ghost[data-stage='3'] .icon {
	opacity: 0.6;
}
.corridor .ghosts .ghost[data-stage='4'] .icon {
	opacity: 0.4;
}
.corridor .ghosts .ghost[data-stage='5'] .icon {
	opacity: 0.2;
}
.corridor .ghosts .ghost .label {
	color: #fff;
	font-size: 10px;
	line-height: 12px;
	display: none;
	position: absolute;
	top: 0;
	left: 100%;
	white-space: nowrap;
	padding-left: 10px;
}
.corridor .ghosts .ghost.active .label {
	color: #19b92a;
}
.corridor .ghosts .ghost[data-stage='1'] .label {
	display: block;
}

/* Tube */
#tube {
	position: absolute;
	top: 0;
	width: 100%;
	height: 100%;
	opacity: 0.5;
}


/* Buttons */
.button {
	background: #fff;
	border-radius: 20px;
	color: #5d5d5d;
	display: inline-block;
	line-height: 40px;
	padding: 0 30px;
	margin: 5px;
	text-transform: uppercase;
	cursor: pointer;
	text-decoration: none;
}
.button:hover {
	background: #5d5d5d;
	color: #fff;
}

/* Controls */
.game .controls.hide {
	top: -400px;
	margin-top: 0;
}
.desktop .game .controls {
	width: 500px;
	margin-left: -250px;
}
.game .controls {
	text-align: center;
	width: 360px;
	height: 400px;
	background: rgba(255,255,255,0.8);
	border-radius: 2px;
	position: absolute;
	left: 50%;
	top: 50%;
	margin-left: -180px;
	margin-top: -200px;
	z-index: 500;
	transition: all 1s;
	border: 2px solid #111;
}
.game .controls .lug {
	position: absolute;
	bottom: 0;
	left: 50%;
	width: 60px;
	margin-left: -30px;
	height: 20px;
	background: #111;
	color: #fff;
	cursor: pointer;
	text-align: center;
	transition: bottom 1s;
}
.game .controls.hide .lug {
	bottom: -20px;
}
.game .controls .lug span {
	line-height: 20px;
	height: 20px;
	display: inline-block;
	vertical-align: top;
	transform: rotate(0);
	transition: transform 1s;
}
.game .controls.hide .lug span {
	transform: rotate(180deg);
}
.game .controls .button {
	margin-top: 10px;
}
.game .controls .hidden {
	display: none;
}
.game .controls .template h2 {
	background: #02336b;
	color: #fff;
	width: 100%;
	text-align: center;
	padding: 20px;
	margin: 0 0 20px 0;
	line-height: 40px;
}
.game .controls .template.collision h2 {
	background: #941918;
}
.game .controls .template .text {
	padding: 0 10px;
}
.desktop .game .controls .template .text {
	padding: 0 40px;
}
.game .controls .template .text .label,
.game .controls .template .text .value {
	display: inline-block;
	white-space: nowrap;
	text-align: left;
}
.game .controls .template .text .label {
	width: 150px;
}
.game .controls .template .text .value {
	width: 70px;
	font-weight: 400;
}

/* Mobile controls */
.mobile_controls {
	position: absolute;
	bottom: 0;
	left: 50%;
	display: none;
}
.mobile_controls > span {
	width: 60px;
	height: 60px;
	margin-left: -30px;
	display: block;
	line-height: 60px;
	text-align: center;
	font-size: 28px;
	bottom: 10px;
	color: #fff;
	box-shadow: 0 0 10px #fff;
	border-radius: 100%;
	position: absolute;
	touch-action: manipulation;
}
.mobile_controls > span:active {
	background: #fff;
	color: #1f2227;
}
.mobile_controls > .plus {
	left: 180px;
}
.mobile_controls > .minus {
	left: -180px;
}

/* Splash */

.game.init .splash {
	opacity: 1;
	visibility: visible;
}
.game .splash {
	opacity: 0;
	visibility: hidden;
	text-align: center;
	position: absolute;
	width: 100%;
	height: 100%;
	z-index: 1000;
	color: #fff;
	
	transition: opacity 0.5s, visibility 0.5s;
	background: #024698;
	
	/* Permalink - use to edit and share this gradient: http://colorzilla.com/gradient-editor/#1f2227+0,000000+100 */
	/*background: rgb(31,34,39); /* Old browsers */
	/*background: -moz-radial-gradient(center, ellipse cover, rgba(31,34,39,1) 0%, rgba(0,0,0,1) 100%); /* FF3.6-15 */
	/*background: -webkit-radial-gradient(center, ellipse cover, rgba(31,34,39,1) 0%,rgba(0,0,0,1) 100%); /* Chrome10-25,Safari5.1-6 */
	/*background: radial-gradient(ellipse at center, rgba(31,34,39,1) 0%,rgba(0,0,0,1) 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
	/*filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#1f2227', endColorstr='#000000',GradientType=1 ); /* IE6-9 fallback on horizontal gradient */
}
/*
.game .splash:before {
	content: '';
	position: absolute;
	width: 100%;
	height: 100%;
	background-image: url('../img/ellipse_bg.png');
	background-size: 690px;
	background-repeat: no-repeat;
	background-position: center;
	left: 0;
	top: 0;
}
*/
.game .splash:before {
	content: '';
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	/* Permalink - use to edit and share this gradient: http://colorzilla.com/gradient-editor/#000000+0,000000+100&0+0,0.3+100 */
	background: -moz-radial-gradient(center, ellipse cover, rgba(0,0,0,0) 0%, rgba(0,0,0,0.3) 100%); /* FF3.6-15 */
	background: -webkit-radial-gradient(center, ellipse cover, rgba(0,0,0,0) 0%,rgba(0,0,0,0.3) 100%); /* Chrome10-25,Safari5.1-6 */
	background: radial-gradient(ellipse at center, rgba(0,0,0,0) 0%,rgba(0,0,0,0.3) 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#00000000', endColorstr='#4d000000',GradientType=1 ); /* IE6-9 fallback on horizontal gradient */
}
.game .splash .text {
	top: 25%;
	width: 100%;
	position: relative;
	padding: 0 10px;
	max-width: 1000px;
	margin: 0 auto;
}
.game .splash .text h1 {
	margin-bottom: 40px;
}
.game .splash .text .button {
	margin-top: 40px;
}
.game .splash .logo {
	left: 50%;
	margin-left: -80px;
	width: 160px;
	position: absolute;
	bottom: 50px;
}
.game .splash .no-support {
	display: none;
}



/* Level Update */
.level_update {
	opacity: 0;
	visibility: hidden;
	color: #fff;
	transition: opacity 0.5s, visibility 0.5s;
}
.level_update.show {
	opacity: 1;
	visibility: visible;
}
.level_update p {
	font-size: 80px;
	text-align: center;
	width: 100%;
	position: absolute;
	top: 50%;
	margin-top: -50px;
	line-height: 100px;
	text-shadow: 0 0 50px #333;
	text-transform: uppercase;
	letter-spacing: 3px;
	font-weight: 400;
}

/* Links */
.links {
	position: absolute;
	right: 50px;
	bottom: 20px;
	font-size: 14px;
}
.links a {
	color: #fff;
	text-decoration: none;
}

/* Tablet */
@media screen and (max-width: 980px) {
	
	.planes ul li {
		padding: 5px;
	}
	.statistics .approaching,
	.statistics .countdown,
	.statistics .level,
	.statistics .instructions-mistakes {
		padding: 5px 0 5px 5px;
	}
}

/* Mobile */
@media screen and (max-width: 812px) {

	body {
		padding: 10px;
		font-size: 14px;
	}
	.game .splash:before {
		background-size: 500px;
	}
	.planes {
		padding-bottom: 0;
	}
	.planes,
	.statistics {
		margin-top: 0 !important;
		top: 0;
	}
	.planes .total {
		display: none;
	}
	.planes ul li.titles {
		display: none;
	}
	.planes ul li .heading {
		display: none;
	}
	.planes ul li.active .heading {
		display: block;
	}
	.planes ul li.active .flight {
		display: none;
	}
	
	
	.corridor .rose .degree .value {
		font-size: 10px;
		top: -15px;
	}
	.corridor .rose .step:before {
		position: relative;
		top: 5px;
	}
	
	.mobile_controls {
		display: block;
	}
	
	.level_update p {
		font-size: 40px;
	}
	
	.game .controls.hide {
		top: -340px;
	}
	.game .controls {
		height: 340px;
		margin-top: -170px;
	}
	.game .controls .lug {
		left: 0;
		margin-left: 0;
	}
	.game .splash .logo {
		display: none;
	}
	.game .splash .text {
		top: 0;
	}
	.game .splash .text h1 {
		margin-bottom: 20px;
	}
	.game .splash .text .button {
		margin-top: 10px;
	}
	
	.statistics .label,
	.statistics .mobile-label {
		font-size: 10px;
		padding-right: 10px;
	}
	.statistics .approaching .label {
		display: none;
	}
	.statistics .approaching .mobile-label {
		display: inline;
	}
	.statistics .map {
		display: none;
	}
	.statistics .countdown .value,
	.statistics .instructions-mistakes > p .value {
		font-size: 30px;
	}
	
	.statistics .level {
		display: none;
	}
	
	.speech_controls {
		width: 60px;
		height: 60px;
		margin: 0 0 0 20px;
		bottom: 10px;
	}
	.speech_controls .translations {
		display: none;
	}
	.speech_controls .button {
		right: auto;
		width: 60px;
		height: 60px;
		line-height: 60px;
		font-size: 30px;
		padding: 0;
		box-shadow: 0 0 10px #fff;
		border: none;
	}
	.speech_controls .language > .label,
	.speech_controls .language .switcher {
		display: none;
	}
	
	.game > .logo {
		display: none;
	}
	.links {
		display: none;
	}
}

@media screen and (max-width: 414px) and (orientation: portrait) {
	
	.corridor {
		margin-top: 0;
		top: auto;
		bottom: 60px;
	}
	.mobile_controls {
		left: 0;
		width: 100%;
	}
	.mobile_controls > span {
		margin-left: 0;
		bottom: 10px;
	}
	.mobile_controls > .plus {
		right: 10px;
		left: auto;
	}
	.mobile_controls > .minus {
		left: 10px;
	}
	.statistics .instructions-mistakes {
		border-bottom: none;
	}
	
	.speech_controls {
		display: none;
	}
	
	.game .controls .lug {
		left: 50%;
		margin-left: -30px;
	}
}

@-ms-keyframes spin { 
	from { 
		-ms-transform: rotate(0deg); 
	} to { 
		-ms-transform: rotate(360deg); 
	}
}
@-moz-keyframes spin { 
	from { 
		-moz-transform: rotate(0deg); 
	} to { 
		-moz-transform: rotate(360deg); 
	}
}
@-webkit-keyframes spin { 
	from { 
		-webkit-transform: rotate(0deg); 
	} to { 
		-webkit-transform: rotate(360deg); 
	}
}
@keyframes spin { 
	from { 
		transform: rotate(0deg); 
	} to { 
		transform: rotate(360deg); 
	}
}
