/*@font-face {
	font-family: 'Source Sans Pro';
	font-style: normal;
	font-weight: 400;
	src: local('Source Sans Pro'), local('SourceSansPro-Regular'), url(../fonts/SourceSansPro.woff2) format('woff2');
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2212, U+2215, U+E0FF, U+EFFD, U+F000;
}*/
@font-face {
	font-family: 'Press Start 2P';
	font-style: normal;
	font-weight: 400;
	font-display: block;
	src: local('Press Start 2P'), local('PressStart2P-Regular'), url(../fonts/PressStart2P-Regular.woff2) format('woff2');
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

* {box-sizing:border-box; -webkit-box-sizing:border-box;}
html {text-size-adjust:100%; -webkit-text-size-adjust:100%; height:100vh;}
body {background:#111; font-smoothing:antialiased;-webkit-font-smoothing:antialiased; z-index: 0; margin:0; width: 100%; height: 100%; overscroll-behavior-y:none; font-size:2vw; /*font-family:Source Sans Pro;*/ font-family: 'Press Start 2P', courier; user-select:none; -webkit-user-select:none; -webkit-touch-callout: none; cursor: default; -webkit-transform: translateZ(0px);}

#sbody {display:none; position:absolute; width:100%; height:calc(100% - 50px); overflow:hidden;}
	#sbody.install_pwa {height:calc(100% - 70px);}

.game_lighting {
	background:radial-gradient(rgba(245, 255, 181, 0.2), rgba(96, 106, 113, 0) 100%);
	width:100%;
	height:100%;
	position:absolute;
	left:0;
	right:0;
	margin:0 auto;
	pointer-events:none;
	z-index:5;
	opacity:0;
	display:none;
	animation-name:light_blink; animation-duration:2s; animation-iteration-count:2;
	/*animation:light_blink ease-in-out 2s 2 forwards;*/
}
.game_lighting.ltopmiddle {
	top:calc(0% - 50%);
	border-radius:50%;
	background:radial-gradient(rgba(245, 255, 181, 0.45), rgba(96, 106, 113, 0) 70%);
}
@keyframes light_blink {
	from, to { opacity:0 }
	50% { opacity:1 }
}

#body_loading {position:relative; z-index:-1; top:50%; right:0; left:0; text-align:center; color:#FFF; font-size:1.5em; transform:translate3d(0, -50%, 0); width:max-content; margin:auto; pointer-events:none;}

.underscore {animation-name:cursor_blink2; animation-duration:800ms; animation-iteration-count:infinite;}

.not_loading {animation-duration:1s; animation-delay:5s; animation-fill-mode:forwards; position:absolute; width:fit-content; width:-moz-fit-content; pointer-events:all; opacity:0;}
@keyframes not_loading {
	0%{opacity:0;}
	100%{opacity:1;}
}

@keyframes cursor_blink {
	from { border-bottom:1vmin solid green; }
	to { border-bottom:1vmin solid white; }
}
@keyframes cursor_blink2 {
	from { color:green; }
	to { color:white; }
}
@keyframes cursor_blink3 {
	from, to { color: transparent }
	50% { color: green; }
}
@keyframes cursor_blink4 {
	from, to { color: transparent }
	50% { color: orange; }
}
@keyframes opaque_pulse {
	from, to { opacity: 1 }
	50% { opacity: 0.8 }
}

.typewriter {
	overflow: hidden;
	display:inline-block;
	white-space: nowrap;
	margin: 0 auto;
	letter-spacing: .15em;
	animation: typing 2.5s steps(40, end) 2.5s 1 normal both;
}
	.typewriter2 {animation-duration:1s; animation-delay:0s;}
		.typewriter_loading {animation-duration:1s; animation-delay:0s;}
			.blink_carat {position:absolute; animation:blink_caret .75s step-end infinite; color:green;}

@keyframes typing {
	from { width: 0 }
	to { width: 100% }
}

@keyframes blink_caret {
	from, to { opacity:0; }
	50% { opacity:1; }
}

::-webkit-scrollbar {
	width: 10px;
}
::-webkit-scrollbar-track {
	background-color:rgba(0, 0, 0, 0.1);
}
::-webkit-scrollbar-thumb {
	background-color:#777;
}
::-webkit-scrollbar-thumb:hover {
	background-color:#AAA;
}

/* Fix input Zoom in iOS9 PhoneGap app / May only be needed until Phonegap updates this issue? */
html, body {
	width: 100% !important;
	height: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
	position:absolute !important;
	overflow:hidden !important;
}

.clear {clear:both;}

input, select {/*-webkit-appearance:none;*/ border-radius:0;}

.fa-btc {color:#d8ca29;}
.fa-keyboard-o {color:#35dcd6;}
.fa-hand-o-up {color:#e2b03c;}
.fa-laptop {color:#33a553;}
.fa-calculator {color:#a7a7a7;}
.fa-mobile {color:#e2b03c;}
.fa-headphones {color:#7d573a;}
.fa-desktop {color:#777;}
.fa-file-code-o {color:#fbb71a;}
.fa-envelope-o {color:#91dcb3;}
.fa-globe {color:#35dcd6;}

#ad {position: fixed; bottom:0; z-index:1000; left:0; right:0; margin:auto; width:100%; height:50px; background:#bc6060; text-align:center;}
	#ad:before {content:'Advertisement'; top:50%; position:absolute; z-index:-1; transform:translateY(-50%); left:0; right:0; color:#9e4d4d; pointer-events:none;}
.hide_ad #ad {
    display: none;
}
.hide_ad #sbody {
    height: 100% !important;
}
.ad_foot_responsive { height: 50px;}
@media(min-width: 468px) {
	#sbody { height:calc(100% - 60px); }
		#sbody.install_pwa { height:calc(100% - 80px); }
	#ad { height: 60px; }
	.ad_foot_responsive { height: 60px; }
}
@media(min-width: 800px) {
	#sbody { height:calc(100% - 90px); }
		#sbody.install_pwa { height:calc(100% - 110px); }
	#ad { height: 90px; }
	.ad_foot_responsive { height: 90px; }
}

#install_pwa {height:20px; line-height:20px; margin:0 auto; width:fit-content; width:-moz-fit-content; width:-webkit-fit-content;}
	#install_pwa button#butInstall {border:0; padding:0 15px; height:20px; display:block; background:#000; color:#FFF; font-family:monospace; line-height:20px;}
		#install_pwa button#butInstall:hover {background:#333; cursor:pointer;}

#cont{position: relative; height: 100%; width: 100%; overflow:hidden; background-image:url("../img/bg2.jpg");}

.bg_slider_container {display:none; overflow:hidden; position:absolute; z-index:-1; width:100%; height:100%;}
.bg_slider {
	width:4096px;
	height:100%;
	background-image:url('../img/bg2.jpg');
	animation:bg_slide_alt 20s linear infinite;
}
@keyframes bg_slide {
	0% {transform: translate3d(0, 0, 0);}
	100% {transform:translate3d(-1024px, 0, 0);}
}
@keyframes bg_slide_alt {
	0% {transform:translate3d(-1024px, 0, 0);}
	100% {transform: translate3d(0, 0, 0);}
}

.page {display:none; position: absolute; overflow:hidden; height:100vh; height:calc(100vh - 45px); width:100vw; top:45px; left:0px; transition:transform 0.5s;}
.page .content {position:relative; top:50%; margin:0 auto; text-align:center; transform: translateY(-50%); -webkit-transform: translateY(-50%); -moz-transform: translateY(-50%); -ms-transform: translateY(-50%);}
.page.scrollable {}
.page.scrollable .content {position:absolute; top:0; padding-top:30px; width:100%; height:100%; overflow-x:hidden; overflow-y:auto; -webkit-overflow-scrolling:touch; -webkit-transform:translate3d(0, 0, 0); -webkit-backface-visibility:hidden; -webkit-perspective:1000; -webkit-transition:-webkit-transform 200ms ease-in-out;}


.page.show {display: block; -webkit-transform:translate3d(0, 0, 0);}
.page.show.show_bottom {transform: translateY(100%);}
.page.show.show_right {transform: translateX(100%);}
.page.show.show_left {transform: translateX(-100%);}
.page.show.shown {z-index: 1; transform: translateY(0) translateX(0); -webkit-transform:translate3d(0, 0, 0); background-color:#d09540; background-image:repeating-linear-gradient(90deg, transparent, transparent 35px, rgba(255,255,255,.1) 35px, rgba(255,255,255,.1) 70px);}
.page.show.shown.show_bottom .content {text-align:center; padding-left:25px; padding-right:25px;}
.page.show.shown.show_bottom.scrollable .content {}
.page.show.hiding {z-index: 0;}
.page.show.hiding.show_bottom {transform: translateY(100%);}


#modal-overlay {position:absolute; pointer-events:none; opacity:0; background-color:#222; width:100%; height:100%; -webkit-transition: opacity 200ms ease-out, background-color 200ms ease-out; -webkit-transform: translate3d(0, 0, 0); -webkit-backface-visibility: hidden; -webkit-perspective: 1000; z-index:999;}
#modal-overlay.enabled {pointer-events:auto; opacity:0.7;}

#modal {display:none; position:absolute; right:0; left:0; z-index:1000; margin:auto; width:35vmax; height:35vmax; max-height:100%; font-size:1.2vmax; text-align:center; background:rgba(0, 0, 0, 0.65); color:#EAEAEA; overflow-wrap:break-word; top:calc(50% - 25px); transform:translateY(-50%); border-radius:50%;}
#modal .fa {font-size:2em;}
#modal h1 {position:relative; top:3.5em; margin:0; text-align:center; font-size:1.5em; font-weight:normal; color:#3592dd;}
#modal > div {position:relative; top:50%; transform:translate3d(0, -50%, 0); max-height:60%; margin:0 1vmin; padding:0 1vmin; overflow:overlay;}
#modal > a.botbuttons {position:absolute; left:0; right:0; bottom:-2em; margin:0 auto; color:#FFF; width:6em !important; height:6em; line-height:6.5em; text-align:center; background-color:rgba(53, 146, 221, 0.75); border-radius:50%; transition:opacity 1s ease-in-out;}
#modal > a.botbuttons.fullwidth {width:100%;}
#modal > a.botbuttons:last-child {background-color:#DB2E2E; left:initial; right:3em; bottom:0;}
#modal > a.botbuttons.fullwidth:last-child {background-color:#0BF;}
#modal input[type="text"] {background-color:#EFEFEF; width:100%; padding:10px; font-size:18px; opacity:0.8; border:1px solid #DDD;}
#modal #mbutton1:active, #modal #mbutton2:active, #modal #mbutton3:active {opacity:0.9;}

#modal.loading {width:175px; height:50px; line-height:50px;}
#modal.loading > div {display: none;}
#modal.loading .fa {font-size:initial; position:static; color:#999;}
#modal.loading h1 {margin:0;}
#modal.loading p, #modal.loading a {display:none !important;}

#modal.modal_ad {width:100vw; height:100vh; border-radius:0;}

#nav-overlay {position:absolute; pointer-events:none; opacity:0; background-color:#222; width:100%; height:100%; -webkit-transition: opacity 200ms ease-out, background-color 200ms ease-out; -webkit-transform: translate3d(0, 0, 0); -webkit-backface-visibility: hidden; -webkit-perspective: 1000; z-index:99;}
	#nav-overlay.enabled {pointer-events:auto; opacity:0.7;}

#navbutton {position:absolute; top:0; right:0; z-index:100; width:5vmax; height:5vmax; text-align:center; color:#FFF; background:rgba(0, 0, 0, 0.75); border-radius:50% 0 50% 50%;}
	#navbutton .fa {display:block; position:relative; top:50%; font-size:2vmax; transform:translate3d(0, -50%, 0);}

#nav {position:absolute; z-index:100; top:0; right:0; background:transparent; max-height:100%; overflow-y:auto; -webkit-transition: opacity 200ms ease-out; -webkit-backface-visibility: hidden; -webkit-perspective: 1000; -webkit-overflow-scrolling:touch; opacity:0; font-size:1vmax; border-left:10px solid #EFEFEF; pointer-events:none;}
#nav.open {opacity:1; pointer-events:all;}
#nav ul {list-style:none; margin:0; padding:0;}
#nav ul li {line-height:3em; font-size:3vmin; border-bottom:dotted 1px #E7E7E7;}
#nav ul li.lhead {line-height:2em; background-color:#EFEFEF; color:#444; text-align:center;}
#nav ul li a {color:#444; background-color:#FFF; text-decoration:none; padding:0 1em; display:block;}
	#nav ul li a .fa {vertical-align:text-top;}



#nav_coins {position:absolute; right:0; top:4.5vmax; z-index:99; width:5vmax; text-align:center;}
	#nav_coins span.ad_available {position:absolute; color:#FFF; font-size:1.5vmax; top:50%; transform:translateY(-50%); width:4vmax;}
	#nav_coins .fa {font-size:4vmax; opacity:0.5;}

#header{
	display:none;
	position:absolute;
	top:0;
	color: #fff;
	z-index:1;
	padding:1.5em 0;
	width:calc(100% - 50px);
	background:rgba(0, 0, 0, 0.5);
	text-align:center;
	height:50px;
}
	#header div {display:inline-block; position:relative; top:50%; transform:translate3d(0, -50%, 0);}
		#header div span {}


#scene {width:100%; height:100%;}
	#scene.scene_pulse {animation:opaque_pulse 2s ease-in-out infinite;}

#room {width:100%; height:100%;}

#room_bg {
	/*background: linear-gradient(to bottom, rgb(13, 40, 74) 67%, rgb(93, 69, 13) 67%,rgba(147,103,13,1) 70%,rgba(196,141,58,1) 78%,rgba(137,108,28,1) 78%,rgba(0,0,0,1) 89%);*/
	background-image:url("../img/bg.jpg");
	background-position:center center;
	background-size:cover;
	width:104vw;
	height:104vh;
	margin: -2vh -2vw -2vh -2vw;
	opacity:0.99;
}

#wall {}
	#wall #card1 {width:32vmin; height:50vmin; background: rgb(129, 12, 12); transform:translateY(calc(20vmin - 20px)) rotate(-10deg); position: absolute; z-index:2; bottom:2vmax; right:50vw; color: white; font-weight: bold; font-size:4vmin; text-align: center; padding:4vmin 2vmin; border: #660000 solid 3px; transition:transform 200ms ease-out;}
		#wall #card1.open {z-index:4; transform:translateY(calc(-3vmax - 20px)) rotate(-5deg);}
			#wall #card1.open .card_list .line_crossed {text-decoration:line-through;}
	#wall #card2 {width:28vmin; height:40vmin; transform:translateY(calc(13vmin - 20px)) rotate(15deg); position: absolute; z-index:2; bottom:2vmax; left: 50vw; font-size:2vmin; padding:3vmin 2vmin; background: rgb(79, 79, 79); color: white; border: #000 solid 2px; transition:transform 200ms ease-out;}
				#wall #card2 .chide, #wall #card1 .chide {display:none;}
					#wall #card2 .chide .fa {font-size:4vmin;}
		#wall #card2.open {z-index:4; transform:translateY(calc(-2vmax - 20px)) rotate(10deg);}
				#wall #card2.open .chide, #wall #card1.open .chide {display:block; font-size:1.4vmin; line-height:3vmin; text-align:left; color:#DDD;}
						#wall #card2.open .chide {line-height:initial}
.tablet {position: absolute; z-index:1; bottom:32vh; left:10vmax; min-width:25vmax; /*height:15vmax;*/ transform: rotate(-5deg); transition:bottom 200ms ease-out; background-color:rgba(0, 0, 0, 0.85); color: rgb(51, 165, 83); border: #818181 solid 2px; font-size:1.25vmax; pointer-events:none;}
		.tablet.topen {bottom:calc(25vh + 20px + 12vmin + 8vmin);}
		.tablet.topen2 {bottom:calc(25vh + 20px + 12vmin + 25vh + 8vmin + 8vmin);}
	.tablet div {margin:0.8em 1em;}
		.tablet div .fa {font-size:2em; vertical-align:middle;}
		.tablet div span {vertical-align:middle; margin-top:5px; display:inline-block; will-change:contents;}

#phone_overlay {display:inline;}
.phone_fullscreen {width:100%; height:100%; background-color:rgba(0, 0, 0, 0.9); position:absolute; top:0; z-index:100;}
	.phone_fullscreen .phone {z-index:13; transform:rotate(0); height:85vmin; width:50vmin; top:0; right:0; bottom:0; left:0; margin:auto; background-color:#0e0e1d; border:1vmax solid rgba(171, 134, 48, 0.5); position: fixed !important; font-size:1vmax;}
.phone {/*width:13vw; height:22vw;*/ width:7vmax; height:12vmax; bottom:34vh; left: 70vw; position: absolute; z-index:2; padding:0.5vmax; background-color:#111; transform:rotate(25deg); border:0.3vmax solid rgba(171, 134, 48, 0.5); border-radius:0.5vmax; color:yellow; font-size:0.5vmax; background-image:url('../img/cookie.png'); background-position:bottom; background-size:165%; background-repeat:no-repeat; background-blend-mode:soft-light; text-align:center; overflow:hidden;}

.phone .glow_count_wrap {display:none;}
.phone_fullscreen .phone .glow_count_wrap {display:block; position:absolute; left:0; right:0; top:50%; font-size:3em;}
	.phone_fullscreen .phone .glow_count_wrap .glow_count {color:#FEFEFE;}

.monitor{
	position: absolute;
	background: #333;
	border-radius: 2px;
	border:1px solid #111;
}

.screen{
	width: 95%;
	height: 95%;
	position: absolute;
	margin: auto;
	top: 0;
	right: 0;
	left: 0;
	bottom: 0;
	background: #000;
	color: #ccc;
	border-radius: 2px;
	font-size:0.5vmin;
	overflow: hidden;
	padding:0 1em;
}

.screen_cont{
    min-height: 100%;
    bottom: 0;
    position: absolute;
	white-space:pre-wrap;
}
	#screen_1::after {content:' '; border-bottom:1px solid green; animation-name:cursor_blink; animation-duration:800ms; animation-iteration-count:infinite;}

#mp3player {position:absolute; z-index:1; width:30vmin; height:10vmin; top:53vmin; left:35vmin; right:35vmin; margin:auto; border:1px solid #7d573a; border-radius:2px; background-color:#585d2d;}
	#mp3player:after {content:''; position:absolute; top:5px; right:10px; color:#FFF; background:red; padding:5px; border-radius:50%; padding:2%;}
		#mp3player.mp3on:after {background:green;}

#miner_chart {position:absolute; z-index:1; width:30vmin; height:10vmin; top:53vmin; left:-32vmin; right:32vmin; margin:auto; border:1px solid #469281; border-radius:2px; background-color:#38757b;}
		#miner_chart.chart_open {left:0; right:0; top:10vmin; width:80vmin; height:50vmin;}
	#miner_chart:after {content:''; position:absolute; top:5px; right:10px; color:#FFF; background:yellow; padding:5px; border-radius:50%; padding:2%;}
		#miner_chart.charton:after {background:green;}

#market_chart {position:absolute; z-index:1; width:30vmin; height:10vmin; top:53vmin; left:32vmin; right:-32vmin; margin:auto; border:1px solid #6ca542; border-radius:2px; background-color:#696f32;}
		#market_chart.chart_open {left:0; right:0; top:10vmin; width:80vmin; height:50vmin;}
	#market_chart:after {content:''; position:absolute; top:5px; right:10px; color:#FFF; background:yellow; padding:5px; border-radius:50%; padding:2%;}
		#market_chart.charton:after {background:green;}

.screen .screen_title {position:absolute; bottom:15%; font-size:1.6vmin; color:#444; text-align:center; width:100%; pointer-events:none;}

.market_sine, .miner_sine {position:absolute; width:100%; pointer-events:none;}
	.market_sine:before, .miner_sine:before, .market_sine:after, .miner_sine:after {content:''; position:absolute; border-top:1px solid #444; top:4vmin; width:200%; margin-left:-100%; height:0;}

.market_sine, .miner_sine {animation:sine_x 5s infinite linear; height:100%; top:50%; transform:translateY(-50%);}
	.market_sine span, .miner_sine span {display:inline-block; background:green; width:4px; height:4px; animation:sine_y2 2s infinite ease-in-out; z-index:1; position:relative; will-change:transform, background;}
			.miner_sine span {background:red; animation:sine_y2 2s alternate infinite ease-in-out;}

@keyframes sine_y {
	to { transform: translateY(7vmin);}
}
@keyframes sine_x {
	to { transform: translateX(100%) translateY(-50%);}
}

@keyframes sine_y2 {
	0%{transform: translateY(4vmin); background: grey;}
	10%{
		transform: translateY(7vmin);
		background: red;
	}
	20%{
		transform: translateY(1vmin);
		background: green;
	}
	30%{
		transform: translateY(4vmin);
		background: grey;
	}
	40%{
		transform: translateY(3vmin);
		background: green;
	}
	50%{
		transform: translateY(5vmin);
		background: red;
	}
	60%{
		transform: translateY(6vmin);
		background: red;
	}
	70%{
		transform: translateY(2vmin);
		background: green;
	}
	80%{
		transform: translateY(4vmin);
		background: grey;
	}
	90%{
		transform: translateY(4vmin);
		background: grey;
	}
	100%{
		transform: translateY(4vmin);
		background: grey;
	}
}


@keyframes cursor_blink {
	from { border-bottom:1px solid green; }
	to { border-bottom:1px solid white; }
}
@keyframes cursor_blink2 {
	from { color:green; }
	to { color:white; }
}


/* pages */
.full_box {position:fixed; z-index:100; top:0; left:0; width:100%; height:100%;}
	.full_box:before {content:''; position:fixed; top:0; left:0; width:100%; height:100%; background-color:#222; opacity:0.95;}
.full_box .full_box_cont {position:fixed; top:5%; left:0; right:0; bottom:0; margin:auto; font-size:3vmin; width:90%; width:fit-content; width:-moz-fit-content; max-width:90%; height:90%; height:fit-content; height:-moz-fit-content; max-height:90%; background:#000; color:#FFF; padding:0 5% 5%; overflow-y:auto;}

.full_box .hide_parent {position:absolute; z-index:1; top:1vmin; left:0; right:0; margin:auto; background:red; color:#FFF; width:15vmin; height:15vmin; border-radius:50%; font-size:8vmin; padding:3vmin; border:1vmin solid #333;}
.full_box .full_header {font-size:7vmin; text-align:center; margin:7vmin;}

.full_cont.form {text-align:center;}
	.full_cont.form input[type="button"], .full_cont.form input[type="text"] {border:none; padding:3vmin 11vmin; font-size:5vmin; margin-top:5vmin; text-align:center; max-width:100%;}
		.full_cont.form input[type="button"] {background-color:#CCC;}
	.full_cont.form input[type="checkbox"] {width:6vmin; height:6vmin; vertical-align:middle;}

/* stats */
.stat_item {color:#888;}
	.stat_item span {color:#CCC;}

/* iap */
#process_purchase_item {border:1px solid #DDD; margin-bottom:10px; padding:10px; border-radius:10px; text-align:center;}
	#process_purchase_item a {margin:10px 0 20px; display:inline-block; border:1px solid #DDD; padding:10px 30px;}
.iap_item {color:#888; border:1px solid #DDD; margin-bottom:10px; padding:10px; border-radius:10px;}
	.iap_item span {color:#CCC;}

/* settings */
input#master_audio {vertical-align:middle; padding:0;}
	span.range_val {font-size:2vmin; vertical-align:middle; margin-left:2vmin;}
a.bensound {text-decoration:none; color:green; font-size:4vmin; margin:5vmin; display:inline-block;}
textarea.form_text {width:26vmax; border:1px solid #555; height:15vmax; background:#333; color:#FFF; padding:2vmin;}
.form_copy_text {margin-top:2vmax; font-size:0.8vmax;}

/* shop */
.ad_bank {text-align:center;}
	.ad_bank h2 {}
.ad_has_watchable a {border:1px solid #DDD; padding:10px 30px; display:inline-block; margin:25px 0; opacity: 0.2;}
	.ad_has_watchable a.available {opacity: 1;}

.gold_bank {margin-top:6vmin; margin-bottom:6vmin; font-size:3vmin; text-align:center; line-height:6vmin;}

.item_wrapper {display:inline-block; width:48%; margin-bottom:2vmax; background:radial-gradient(#FFF, #111); vertical-align:middle; font-size:2vmin; border:1px solid #555;}
	.item_wrapper img, .item_wrapper .fa {position:relative; z-index:1; width:100%; padding:1em 1.5em; border-radius:10px; -webkit-border-radius:10px; -moz-border-radius:10px; image-rendering:-moz-crisp-edges; image-rendering:pixelated;}
			.item_wrapper .fa {font-size:9em; text-align:center; padding:0;}
					.fa.fa-gg-circle {width:auto; color:yellow; font-size:2em;}
		.item_wrapper div {z-index:2;}
			.item_wrapper div:first-of-type {padding:2vmin;}
		.item_wrapper small {padding:2vmin; text-align:center; display:block;}
			.item_wrapper div:last-of-type {text-align:center; background:#844a4a; padding:1vmin;}

.coin_purchase{
	opacity: 0.5;
}

.coin_purchase.available{
	opacity: 1;
}

img.imageSpin, .fa.imageSpin {
	animation-name:spin;
	animation-timing-function:linear;
	animation-iteration-count:infinite;
	animation-duration:5s;
	-webkit-animation-name:spin;
	-webkit-animation-timing-function:linear;
	-webkit-animation-iteration-count:infinite;
	-webkit-animation-duration:5s;
}
@keyframes spin {
	from{
		transform:rotateY(0deg);
		moz-transform:rotateY(0deg);
		ms-transform:rotateY(0deg);
	}
	to{
		transform:rotateY(360deg);
		moz-transform:rotateY(360deg);
		ms-transform:rotateY(360deg);
	}
}
@-webkit-keyframes spin{
	from{-webkit-transform:rotateY(0deg);}
	to{-webkit-transform:rotateY(360deg);}
}


#job_board{
	position:absolute;
	left:5em;
	width:calc(100% - 5em);
	bottom:calc(12vmin + 20px);
	background:rgba(0, 0, 0, 0.75);
	transform:translate3d(calc(-100% - 5em), 0, 0);
	transition: transform 200ms ease-out;
	z-index:5;
	-webkit-overflow-scrolling: touch;
	will-change:transform;
}

#job_board.open{
	transform: translate3d(0, 0, 0);
}
	#job_board .fa {font-size:2em;}

#job_tab{
	position: absolute;
	right:-9vmax;
	top: 0;
	background:rgba(0, 0, 0, 0.75);
	width:9vmax;
	height:9vmax;
	color:#EAEAEA;
	border-radius:0 50% 50%;
}
	#job_tab .fa {position:relative; transform:translate3d(0, -50%, 0); top:50%; text-align:center; width:100%; font-size:5vmax;}
		#job_board.open #job_tab {left:-5em; width:5em; height:100%; border-right:1px dotted #777; border-radius:0;}
			#job_board.open #job_tab .fa-times {display:block !important; position:absolute; top:0; left:0; color:red; font-size:2vmax;}

#jobs{
	height:25vh;
	border-top:1px dotted #777;
	-webkit-overflow-scrolling:touch;
	overflow-y:auto;
	-webkit-perspective:1000;
	font-size:1.1vmax;
}

.job_work{
	color:#999;
	border-bottom:1px dotted #777;
	padding:5px 10px;
	line-height:1.75em;
	/*font-size:0.9vmax;*/
	position:relative;
	transform:scaleY(0);
	transform-origin:top;
	opacity:0;
}

.job_work.low_time{
	background:#807d68; /*for older ios safari*/
	background-color: rgb(255, 250, 215, 0.5);
	color:#111;
}
	.job_work.low_time .job_name:after{content: '(Expiring Soon)'; font-size:1vmax; font-style:italic; margin-left:10px; vertical-align:bottom; color:#ff8300;}

.job_work.short_time{
	background:#b97b79; /*for older ios safari*/
	background-color: rgb(255, 167, 163, 0.5);
	color:#111;
}
	.job_work.short_time .job_name:after{content: '(Expiring Very Soon)'; font-size:1vmax; font-style:italic; margin-left:10px; vertical-align:bottom; color:#ff8300;}

.job_work.available{
	color:#EAEAEA;
}

.job_hire{
	color:#999;
	padding:5px 10px;
	border-bottom:1px dotted #777;
	line-height:1.75em;
	/*font-size:0.9vmax;*/
	position:relative;
	transform:scaleY(0);
	transform-origin:top;
	opacity: 0;
}
	.job_hire .job_return {}
	.job_hire .job_hide {}
	.job_hire .job_cost_per {}
	.job_hire .job_total {}


.job_hire.low_time{
	background:#807d68; /*for older ios safari*/
	background-color: rgb(255, 250, 215, 0.5);
	color:#111;
}
	.job_hire.low_time .job_name:after{content: '(Expiring Soon)'; font-size:1vmax; font-style:italic; margin-left:10px; vertical-align:bottom; color:#ff8300;}

.job_hire.short_time{
	background:#b97b79; /*for older ios safari*/
	background-color: rgb(255, 167, 163, 0.5);
	color:#111;
}
	.job_hire.short_time .job_name:after{content: '(Expiring Very Soon)'; font-size:1vmax; font-style:italic; margin-left:10px; vertical-align:bottom; color:#ff8300;}

.job_hire.available{
	color:#EAEAEA;
}

.wactive {opacity:1; transform:scaleY(1); transition:transform 200ms ease-out, opacity 200ms ease-out, background 200ms ease-out, color 200ms ease-out;}
.wdelete {opacity:0; transform:scaleY(0); transition:transform 100ms linear, opacity 100ms linear, background 100ms linear, color 100ms linear;}

.job_board_title, .script_board_title{
	position:relative;
	text-align: center;
	font-weight: bold;
	background:rgba(0, 0, 0, 0.75);
	width:calc(33vw - 3em);
	height:8vmin;
	line-height:8vmin;
	display: inline-block;
	color:#EAEAEA;
	font-size:0.75em;
}
	.script_board_title {width:calc(33% - 1em);}

	.job_board_title small, .script_board_title small {display:none; position:absolute; bottom:2px; width:100%; left:0; line-height:initial; color:#AAA; font-size:1.4vmin;}

.job_board_title.active, .script_board_title.active {color:#FFF; background:rgba(111, 111, 111, 0.75);}
	.job_board_title.active small, .script_board_title.active small {display:block;}

#jobs_lists{
	display:none;
	height:100%;
	overflow:auto;
	will-change:scroll-position;
}
	#job_board.open #jobs_lists {display:block;}

#jobs_hired{
	color:#EAEAEA;
}

.job_hired{
	padding:5px 10px;
	border-bottom:1px dotted #777;
}
	.job_hired .job_name {float:left;}
	.job_hired .job_return {float:right;}

.job_hide{
	position:absolute;
	top:0;
	right:0;
	text-align:center;
	color:#FFF;
	background-color:rgba(228, 64, 25, 0.5);
	width:5em;
	height:5em;
	border-radius:50% 0 50% 50%;
}
	.job_hide .fa {position:relative; top:50%; transform:translate3d(0, -50%, 0);}

.job_name{
	font-weight: bold;
	line-height:2em;
}
	#jobs_lists .job_name:first-letter{text-transform:capitalize;}

.job_cost{
	display:inline-block;
	margin-right:10px;
}
	.job_cost small{display:none; opacity:0.5;}

.job_return{
	display:inline-block;
	margin-right:10px;
}
	.job_return small{display:none; opacity:0.5;}
	.job_hired .job_return {width:auto; float:right;}

.job_ratio{
	display:inline-block;
}

.job_total{
	display:inline-block;
}

.job_cost_per{
	display:inline-block;
}



#script_board{
	position:absolute;
	left:5em;
	width:calc(100% - 10em - 7vmax);
	/*right:0;
	width:calc(100% - 5em);*/
	bottom:calc(12vmin + 20px + 25vh + 8vmin);
	background:rgba(0, 0, 0, 0.75);
	transform:translate3d(calc(-100% - 5em), 0, 0);;
	transition: transform 200ms ease-out;
	z-index:4;
	-webkit-overflow-scrolling: touch;
	will-change:transform;
}

#script_board.open{
	transform: translate3d(0, 0, 0);
}
	#script_board .fa {font-size:2em;}

#script_tab{
	position: absolute;
	right:-9vmax;
	bottom:0;
	background:rgba(0, 0, 0, 0.75);
	width:9vmax;
	height:9vmax;
	color:#EAEAEA;
	border-radius:50% 50% 50% 0;
	border-bottom:1px dotted #777;
}
	#script_tab .fa {position:relative; transform:translate3d(0, -50%, 0); top:50%; text-align:center; width:100%; font-size:4vmax;}
		#script_board.open #script_tab {left:-5em; width:5em; height:100%; border-right:1px dotted #777; border-radius:0;}
			#script_board.open #script_tab .fa-times {display:block !important; position:absolute; top:0; left:0; color:red; font-size:2vmax;}

#script_title{
	text-align: center;
	font-weight: bold;
	color:#EAEAEA;
	background:rgba(0, 0, 0, 0.75);
	border-bottom:1px dotted #777;
	padding:5px;
}

#scripts {
	height:25vh;
	border-top:1px dotted #777;
	-webkit-overflow-scrolling:touch;
	overflow-y:auto;
	-webkit-perspective:1000;
	font-size:1.1vmax;
	will-change:scroll-position;
}

.script{
	display:none;
	border-bottom:1px dotted #777;
	color:#777;
	padding:10px;
	line-height:1.75em;
	/*font-size:0.9vmax;*/
}
#script_board.open .script {display:block;}

.script.available{
	color:#EAEAEA;
}
	#script_board.open .script.available .fa-terminal {animation-name:cursor_blink2; animation-duration:800ms; animation-iteration-count:infinite;}

#scripts_bots .script:first-of-type{background:rgba(181, 48, 48, 0.35);}

.script_cost{
	float:right;
}

.script_rate{
	float:left;
}

.script_name {}
	.script_name .fa {vertical-align:middle;}
			.script_name .fa-terminal {vertical-align:bottom;}
		.script_name .fa-mobile {font-size:3.5em !important;}
		.script_name .fa-headphones {font-size:3em !important;}

.console_wrap {position:absolute; z-index:4; bottom:calc(12vmin + 20px); width:100%; height:4vmax; overflow:hidden;}
		.console_wrap.console_ai_active {}
.console {position:absolute; width:100%; height:4vmax; padding:0 1vmax; overflow:hidden; background-color:rgba(0, 0, 0, 0.75); border-bottom:1px solid #333; border-top:1px solid #333;}
		.console_wrap.console_ai_active .console {width:50%;}
	.console.console_ai {display:none; right:0; width:50%; border-left:1px solid #333; background-color:rgba(181, 48, 48, 0.75);}
			.console_wrap.console_ai_active .console_ai {display:block;}
					.console.console_ai:after {content: 'A.I.'; position:absolute; z-index:-1; top:5px; right:0px; color:#AAA; font-size:2vmin; animation:heartbeat 1.5s linear infinite;}
				.console.console_ai .console_line {color:#e3cccc; text-transform:lowercase;}
					.console.console_ai .console_line:first-of-type {color:#c09191;}
					.console.console_ai .console_line.typewriter {animation-delay:0s; animation-duration:1s;}
	.console .vcenter {top:50%; transform:translate3d(0, -50%, 0); position:relative; line-height:1vmax;}
	.console .console_line {color:#EAEAEA; font-size:1vmax; font-family:"Lucida Sans Typewriter", "Lucida Console", Monaco, "Bitstream Vera Sans Mono", monospace; will-change:contents;}
		.console .console_line:before {content:'> '}
		.console .console_line.typewriter {margin:0; letter-spacing:initial; max-width:fit-content; max-width:-moz-fit-content;}
		.console .console_line:first-of-type {color:#AAA;}
			.console .console_line:first-of-type:before {content:'\2022  '}

#skills{
	position: absolute;
	bottom: 0;
	width:100%;
	background:rgba(0, 0, 0, 0.9);
	z-index: 11;
	padding:10px;
}

#skill_info_tab{
	float:left;
	color:#CCC;
	font-size:10vmin;
	margin-top:-2px;
	margin-left:calc(0.3em - 10px);
}

.skill{
	float: left;
	border: 2px solid #555;
	width:2em;
	height:2em;
	border-radius:50%;
	color: #555;
	font-size:6vmin;
	text-align: center;
	position: relative;
	margin-left:0.5em;
}
	.skill .fa {position:relative; transform:translate3d(0, -55%, 0); top:45%;}

.skill.active{
	color: #fff;
	border: 2px solid #fff;
}

.skill_timer{
	width: 100%;
	height: 8%;
	background-color: #f00;
	position: absolute;
	top: 46%;
	right: 0;
	display: none;
}

.skill_timer.active{
	background-color: #0f0;
}


#skill_info{
	position:absolute;
	bottom:0;
	/*background:rgba(255, 255, 255, 0.95);*/
	background:rgba(244, 238, 253, 0.95);
	left: 0;
	right: 0;
	z-index: 9;
	transform: translate3d(0, 100%, 0);
	transition: transform 200ms ease-out;
	padding:10px;
	line-height:1.5em;
	max-height:65%;
	font-size:1.1vmax;
	width:100%;
	/*max-width:55em;*/
	max-width:45em;
	-webkit-overflow-scrolling:touch;
	overflow-y:auto;
	-webkit-perspective:1000;
}

#skill_info.open{
	transform: translate3d(0, 0, 0);
	bottom:calc(12vmin + 20px);
}

#skill_info_title{
	background:rgba(0, 0, 0, 0.75);
	color: white;
	text-align: center;
	padding:10px;
}

.skill_name{
	font-weight: bold;
	margin-top: 10px;
	padding-left: 3px;
}
	.skill_name .fa {font-size:2.5em; vertical-align:middle;}

.skill_status{
	float: right;
	margin-right: 10px;
}

.skill_status.unavailable{display: none;}
.skill_status.available{display: block;}
.disabled .skill_status.unavailable{display: block;}
.disabled .skill_status.available{display: none;}

.skill_descr{
	padding:10px 6px 10px 30px;
	color: gray;
}
	.skill_descr div {font-style:italic; margin-top:5px; color:#111; text-align:center; margin-left:-26px;}

.skill_stats{
	text-align:center;
}


#email_tab {position:absolute; /*top:calc(50% - 3.5vmax);*/ bottom:calc(12vmin + 20px + 8vmin); left:-7vmax; z-index:100; width:7vmax; height:7vmax; text-align:center; color:#FFF; background-color:rgba(0, 0, 0, 0.75); border-radius:50% 50% 0 50%;}
	#email_tab .fa {display:block; position:relative; top:50%; font-size:3vmax; transform:translate3d(0, -50%, 0);}
	.job_hide .fa {position:relative; top:50%; transform:translate3d(0, -50%, 0);}
	#email_tab .email_num {position:absolute; top:0; background-color:rgba(255, 0, 0, 0.5); border-radius:50%; font-size:1.4vmax; padding:0.5vmax;}
#email_board {position:absolute; z-index:4; top:0; right:0; bottom:0; margin:auto; width:50%; background-color:transparent; max-height:50%; transform:translate3d(100%, 0, 0); transition:transform 200ms ease-out; pointer-events:all;}
#email_board.open {transform:translate3d(0, 0, 0);}
	#email_board.open #email_tab {border:1px solid #568069;}
		#email_board.open #email_tab .fa-times {display:block !important; position:absolute; top:0; left:0; right:0; color:red; font-size:2vmax;}
#email_board ul {position:relative; top:50%; transform:translate3d(0, -50%, 0); list-style:none; margin:0; padding:0; max-height:100%; overflow-y:auto; -webkit-backface-visibility: hidden; -webkit-perspective: 1000; -webkit-overflow-scrolling:touch;}
#email_board ul li {position:relative; line-height:1.5em; font-size:1.1vmax; border-bottom:dotted 1px #E7E7E7;}
		#email_board ul li.email .email_subject {display:none; position:relative; font-size:0.8vmax; background-color:rgba(255, 255, 255, 0.8);}
				.email_subject:before {content: '⮱ '; font-size:2.5vmax; position:absolute; top:0.1em; left:0.3em; color:#777;}
			#email_board ul li.email .email_subject.active {display:block; padding:1em 3em 0.5em 4em;}
			#email_board ul li.email .email_subject .email_reply {background:lightblue; padding:10px; position:absolute; right:0; top:0; height:100%; border:1px dotted #999; border-bottom:none;}
		#email_board ul li.email .email_hide {position:absolute; top:0; right:0; text-align:center; color:#FFF; background-color:rgba(228, 64, 25, 0.5); width:3em; height:3em; border-radius:50% 0 50% 50%;}
			#email_board ul li.email .email_hide .fa {position:relative; top:30%; transform:translate3d(0, -30%, 0);}
#email_board ul li:first-child, #email_board ul li:last-child {background-color:#505061; background-color:rgba(80, 80, 97, 0.9); color:#FFF; text-align:center; line-height:35px;}
	#email_board ul li:first-child {border-radius:50% 0 0 0;}
	#email_board ul li:last-child {border-bottom:none; border-radius:0 0 0 50%;}
#email_board ul li a {color:#444; background-color:#FFF; background-color:rgba(255, 255, 255, 0.9); text-decoration:none; padding:1em; display:block;}
	#email_board ul li a .fa {vertical-align:text-top;}

#botnet_tab {position:absolute; bottom:-8vmax; right:-8vmax; background:rgba(0, 0, 0, 0.75); width:8vmax; height:8vmax; border-radius:0 50% 50% 50%;}
	#botnet_tab .fa {position:relative; transform:translate3d(0, -50%, 0); top:50%; text-align:center; width:100%; font-size:4vmax;}
	#botnet_tab .botnet_tab_tabs {position:absolute; top:0; width:100%; height:100%;}
		#botnet_tab .botnet_tab_tabs div {position:absolute; z-index:-1; top:1.5vmax; right:0; width:1vmax; height:1vmax; background:rgb(173 216 230 / 50%); border-radius:50%; will-change:transform;}
			#botnet_tab .botnet_tab_tabs div:nth-of-type(1){background-color:green;}
			#botnet_tab .botnet_tab_tabs div:nth-of-type(2){top:2.5vmax; right:-1vmin;}
			#botnet_tab .botnet_tab_tabs div:nth-of-type(3){top:3.5vmax; right:-1.5vmin;}
			#botnet_tab .botnet_tab_tabs div:nth-of-type(4){top:4.5vmax; right:-1vmin;}
			#botnet_tab .botnet_tab_tabs div:nth-of-type(5){top:5.5vmax;}
		
#botnet_board {position:absolute; z-index:6; top:0; left:0; /*width:40vmax; height:25vmax;*/font-size:1vmax; color:#FFF; padding:1vmin 5vmin; line-height:1.6vmax; border:1px dotted #777; background-color:rgba(0, 0, 0, 0.85); border-radius:0 30% 10% 10%; transform:translate3d(-100%, -100%, 0); transition:transform 200ms ease-out, top 200ms ease-out, left 200ms ease-out;}
	#botnet_board.open {transform:translate3d(0, 0, 0);}
		#botnet_board.open #botnet_tab {border:1px solid #3e4c45; bottom:-6vmax; right:-6vmax;}
			#botnet_board.open #botnet_tab .fa-times {display:block !important; position:absolute; top:0; left:0; color:red; font-size:2vmax;}
	#botnet_board .vcenter {top:50%; transform:translate3d(0, -50%, 0); position:relative; text-align:center; width:100%;}

.bot_content {font-size:1.5vmax; line-height:4vmax; text-align:center;}
	.bot_content h2 {margin:0; padding:5px; text-align:center; color:#EAEAEA; border-bottom:1px dotted #777; border-radius:0 0 0 50%; width:80%; margin:0 auto;}
	.bot_content .bot_scroll {overflow:hidden; overflow-y:auto; max-height:calc(100vh - 12vmin - 20px - 16vmax - 60px); border-top:1px solid #555; margin-top:2vmax; width:102%;/*edge-case hackyfix*/}

.bot_cont {position:relative;}
		.bot_cont:before, .bot_cont:after {content: 'Online'; color:green; font-size:0.5em; position:absolute; top:2em; right:0; left:0; pointer-events:none;}
			.bot_cont:after {content: 'Inactive'; color:rgb(149, 149, 149); margin-top:1em;}
			.bot_cont.active:after {content: 'Active'; color:lightblue; margin-top:1em;}
	/*.bot_content .bot_cont:first-of-type:before, .bot_content .bot_cont:first-of-type:after {top:3vmin; position: absolute; width: 100%; left:0; right:0; margin:auto;}
			.bot_content .bot_cont:first-of-type:after {left:17vmin;}*/
.bot_cont.disabled {display:none; color:#444;}
	.bot_cont.disabled:first-of-type {display:block;}
		.bot_cont.disabled:before {content: 'Offline'; color:red; font-size:0.5em; position:absolute; right:0;}
	.bot_cont.disabled .bot_control {background:#222; color:#444;}

.bot_controler {}
	.bot_controler span {}

span.bot_control {background:#394236b5; border-radius:50%; width:4vmax; height:4vmax; color:#cacaca; display:inline-block;}


#ai_tab {position:absolute; z-index:1; bottom:-1vmax; right:1vmax;}
	#ai_tab img {width:7vmax; opacity:0.85; animation-name:heartbeat; animation-duration:1.5s; animation-iteration-count:infinite;}

#ai_board {position:absolute; z-index:5; top:5vmax; left:0; right:0; margin:auto; width:40vmax; height:35vmax; font-size:1.5vmax; color:#FFF; padding:1vmin; line-height:1.6vmax; background-color:rgba(181, 48, 48, 0.75); border-radius:50% 0 50% 50%; transform:translate3d(0, -100%, 0); transition:transform 200ms ease-out, top 200ms ease-out;}
	#ai_board.open {top:0; transform:translate3d(0, 0, 0); box-shadow:0 0 75px 10px rgba(0,0,0,.55); max-height:80%;}
		#ai_board.open #ai_tab .fa-times {display:block !important; position:absolute; top:0; left:0; right:0; text-align:center; color:red; font-size:2vmax;}
	#ai_board .vcenter {top:50%; transform:translate3d(0, -50%, 0); position:relative; text-align:center; width:100%;}
	#ai_board .ai_doing {position:absolute; bottom:2vmax; left:0; right:0; text-align:center; pointer-events:none; width:fit-content; width:-moz-fit-content; margin:auto;}
		#ai_board .ai_doing.processing {color:lightgreen;}
				#ai_board .ai_doing .ai_processing_display {display:none;}
				#ai_board .ai_doing.processing .ai_processing_display {display:inline;}
				#ai_board .ai_doing.processing .ai_thinking_display {display:none;}

				#ai_board .ai_doing .ai_process {display:none; position:absolute; left:0; right:0; top:3vmin; font-size:1.2vmin; color:#EEE; white-space:nowrap;}
				#ai_board .ai_doing.processing .ai_process {display:block;}

		

	#ai_board h2 {position:absolute; text-align:right; width:100%; padding-right:2vmax;}

	#ai_board .ai_allocated {position:absolute; right:2vmax; font-size:1vmax;}
		#ai_board .ai_allocated .fa {vertical-align:middle; font-size:2vmax;}

	#ai_board .ai_bubble {position:absolute; width:14vmax; height:14vmax; background-color:rgba(136, 0, 0, 0.75); border-radius:50%; box-shadow:0 0 75px 10px rgba(0,0,0,.55);}
			#ai_board .ai_bubble.ai_selected {background-color:rgba(115, 136, 0, 0.9); box-shadow:0 0 75px 10px rgba(0, 0, 0, 0.75);}
		#ai_board .ai_bubble div {position:relative; top:50%; transform: translate3d(0, -50%, 0);}
		#ai_board .ai_bubble.ai_active {background-color:rgba(27, 136, 0, 0.75);}

			#ai_board .ai_bubble:before, #ai_board .ai_bubble.ai_active:before, #ai_board .ai_bubble.ai_selected:before {position:absolute; left:0; right:0; margin:auto; top:20%; font-size:1vmax;}
				#ai_board .ai_bubble:before:not(.bubble_singularity) {content:'Inactive'; color:red;}
				#ai_board .ai_bubble.ai_selected:before {content:'Training'; color:lightgreen;}
				#ai_board .ai_bubble.ai_active:before {content:'Active'; color:yellow;}

#ai_board .ai_bubble.disabled {
	background-color: #482121;
}
	#ai_board.untrained .ai_bubble {display: none;}
	#ai_board.untrained .ai_bubble.bubble_training {display: block;}
	#ai_board.untrained .ai_bubble .ai_training_complete {display: none;}
	
	#ai_board .ai_bubble.bubble_training {display: none;}
	#ai_board .ai_bubble .ai_training_complete {display: initial;}
	
	#ai_board .bubble_training {width:25vmax; height:25vmax; left:0; right:0; margin:0 auto; top:-13vmax;}
	#ai_board .bubble_singularity {top:-16vmax; left:0; right:0; margin:0 auto; width:18vmax; height:18vmax;}
	#ai_board .bubble_singularity.disabled {display: none;}
	#ai_board .bubble_contracts {top:-5vmax; right:0;}
	#ai_board .bubble_jobs {top:-5vmax; left:0;}
	#ai_board .bubble_skills {top:-2vmax; left:0; right:0; margin:0 auto;}

@keyframes heartbeat {
	0%{opacity: 0.85;}
	10%{
		opacity: 0.75;
	}
	30%{
		opacity: 0.85;
	}
	70%{
		opacity: 0.95;
	}
	90%{
		opacity: 0.85;
	}
	100%{
		opacity: 0.85;
	}
}


#wormhole {display:none; opacity:0; position:fixed; z-index:9999; width:100%; height:100%; animation: warp_hide 5s ease-in forwards; perspective:1vmin; pointer-events:none;}
	#wormhole.wactive {display:block; pointer-events:auto;}
#wormhole .warp {position:absolute; top:50%; left:50%; transform-style: preserve-3d; transform: rotateX(90deg) rotateY(0) translateY(-25vmin);}
@keyframes warp {100% {transform: rotateX(90deg) rotateY(360deg) translateY(0);}}
@keyframes warp_hide {20% {opacity:1;}75% {opacity:1;}100% {opacity:0;}}
#wormhole .wside {position:absolute; width:calc(50vmin + 1px); height:100vmin; background-image:url('../img/warp.jpg'); background-size:200vmin 25%; transform-origin:0;}
#wormhole .warp.walt {animation: warp 5s ease-in forwards;}
	#wormhole .warp.walt .wside {filter:hue-rotate(-170deg);} /*blue*/
#wormhole .wside:nth-child(1) {background-position:-50vmin; transform: rotateY(90deg) translate3d(-50%, -50%, 25vmin);}
#wormhole .wside:nth-child(2) {background-position:-100vmin; transform: rotateY(180deg) translate3d(-50%, -50%, 25vmin);}
#wormhole .wside:nth-child(3) {background-position:-150vmin; transform: rotateY(270deg) translate3d(-50%, -50%, 25vmin);}
#wormhole .wside:nth-child(4) {background-position:-200vmin; transform: rotateY(360deg) translate3d(-50%, -50%, 25vmin);}


#character_tab{
	position:absolute;
	right:0;
	bottom:0;
	z-index:12;
	color:rgba(255, 255, 255, 0.75);
	font-size:12vmin;
	margin-right:8vmin;
}

#char_notice{
	display:none;
	position: absolute;
	top:3vmin;
	left:0;
	background-color:rgba(255, 255, 255, 0.25);
	font-size:3vmin;
	width:1.5em;
	height:1.5em;
	border-radius:50%;
	text-align: center;
	padding-top:0.35em;
	animation-name: char_glow;
	animation-duration: 1.5s;
	animation-iteration-count: infinite;
}

#lvl_indicator {position:absolute; right:14vmin; bottom:5px; font-size:1vmax; text-align:right;}
	#lvl_indicator:before {content:'lvl '}

#char_img {width:calc(12vmin + 20px);}
	#char_img.char_glow {animation-name:char_glow; animation-duration:1.5s; animation-iteration-count:infinite; border-radius:50%; background-color:rgba(45,255,196,0.4); -webkit-box-shadow:0px 0px 105px 35px rgba(45,255,196,0.5); -moz-box-shadow:0px 0px 105px 35px rgba(45,255,196,0.5); box-shadow:0px 0px 105px 35px rgba(45,255,196,0.5);}
		@keyframes char_glow {0%{}50%{transform:scale(1.05);/*-webkit-box-shadow:0px 0px 105px 45px rgba(45,255,196,0.5); -moz-box-shadow:0px 0px 105px 45px rgba(45,255,196,0.5); box-shadow:0px 0px 105px 45px rgba(45,255,196,0.5);*/}}

#singularity_indicator {display:none; position:absolute; z-index:12; bottom:1vmin; right:2.5vmin; font-size:2.5vmin; color:#AAA; text-align:center;}
	#singularity_indicator img {display:block; width:5vmin; opacity:0.3;}
	#singularity_indicator .singularity_level {position:relative; top:4vmin;}

#achievements_tab {position:absolute; z-index:12; right:1vmin; bottom:calc(4vmin + 20px); opacity:0.8;}
	#achievements_tab img {width:8vmin; height:8vmin;}

#achievements{
	position:absolute;
	bottom:0;
	/*background:rgba(255, 255, 255, 0.95);*/
	background:rgba(247, 244, 236, 0.95);
	right:0;
	z-index: 9;
	transform: translate3d(0, 100%, 0);
	transition: transform 200ms ease-out;
	padding:10px;
	line-height:1.5em;
	max-height:75%;
	font-size:1.1vmax;
	width:100%;
	/*max-width:65em;*/
	max-width:40em;
	-webkit-overflow-scrolling:touch;
	overflow-y:auto;
	-webkit-perspective:1000;
}

#achievements.open{
	transform: translate3d(0, 0, 0);
	bottom:calc(12vmin + 20px);
}

#achievements_info_title {
	background:rgba(0, 0, 0, 0.75);
	color: white;
	text-align: center;
	padding:10px;
}

#achievement_info_total {border-bottom:1px solid gray; padding:10px; text-align:center;}

#achievement_list {padding:1vmin;}

.achievement {
}

.achievement.completed {
	text-decoration: line-through;
}

#character{
	position: absolute;
	bottom:0;
	/*background:rgba(255, 255, 255, 0.95);*/
	background:rgba(233, 251, 247, 0.95);
	right: 0;
	z-index: 10;
	transform: translate3d(0, 100%, 0);
	transition: transform 200ms ease-out;
	font-size:1.1vmax;
	width:100%;
	/*max-width:55em;*/
	max-width:45em;
	max-height:75%;
	border-left:1px solid #444;
	-webkit-overflow-scrolling:touch;
	overflow-y:auto;
	-webkit-perspective:1000;
}

#character.open{
	transform: translate3d(0, 0, 0);
	bottom:calc(12vmin + 20px);
}

#character_title{
	background:rgba(0, 0, 0, 0.75);
	color: white;
	text-align: center;
	padding:10px;
}

#character_info{
	display:none;
	border-bottom: 1px solid gray;
	padding:10px;
	text-align:center;
}
	#character.open #character_info {display:block;}

#available_points {margin-left:10px;}
	#available_points:before {content:'*'; /*animation-name:color_cycle;*/animation-duration:1.5s; animation-iteration-count:infinite; margin-right:15px;}

#character_stats{
	padding:10px;
}

.stat{
	padding:10px 0;
	border-top: 1px solid lightgray;
	position:relative;
}

.level{
	display:inline-block;
	font-size:1.5vmax;
}
	.level::before {content:'lvl '; font-size:1vmax; color:#555; vertical-align:middle;}

.sing_level{
	display: none;
	font-size:1vmax;
	vertical-align:super;
}
.sing_level.active{
	display: inline-block;
}
	.sing_level::before {content:'+'; font-size:1vmax; color:#555;}

.level_up{
	display:none;
	position: absolute;
	top:0;
	right: 5px;
	background-color:#FFF;
	border:1px solid lightgray;
	border-top:none;
	padding:0.5em;
}

#character.open .level_up.active{
	display: inline-block;
	animation-name: char_glow;
	animation-duration: 1.5s;
	animation-iteration-count: infinite;
}

@keyframes color_cycle {
	0% {
		color:#606;
	}
	20% {
		color:#06C;
	}
	40% {
		color:#090;
	}
	60% {
		color:#FC0;
	}
	80% {
		color:#F00;
	}
	100% {
		color:#606;
	}
}

.stat:before {content:'+'; margin-right:1vmax;}
	.stat.tooltip_active:before {content:'-';}
	.stat .tooltip {display:none; color:#555; margin:1vmin 0 0 2.25vmax;}
		.stat.tooltip_active .tooltip {display:block; opacity:1;}

/*.action_click{
	position: absolute;
	z-index:99;
	top: 0;
	left: 30%;
	color: rgb(110, 255, 110);
	height: 100%;
	font-size: 28px;
	pointer-events: none;
	transition: transform 8s;
	transition-timing-function: linear;
	animation: lr_wiggle 2.2s ease alternate infinite;
}

.action_click.travel{
	transform: translate3d(0, 120%, 0);
	animation-name: color_cycle;
	animation-duration: 1.5s;
	animation-iteration-count: infinite;
}

.action_click div {
	animation: lr_du_wiggle 1.3s ease alternate infinite;
}

.action_click .fa {
	pointer-events: initial;
	animation: lr_ud_wiggle 0.8s ease alternate infinite;
}

@keyframes lr_wiggle {
	0% {
		margin-left: -20px;
	}
	100% {
		margin-left: 20px;
	}
}

@keyframes lr_ud_wiggle {
	0% {
		margin-left: -20px;
		margin-top: -20px;
	}
	100% {
		margin-left: 20px;
		margin-top: 20px;
	}
}

@keyframes lr_du_wiggle {
	0% {
		margin-left: -20px;
		margin-top: 20px;
	}
	100% {
		margin-left: 20px;
		margin-top: -20px;
	}
}*/

/*middle of rewriting this to not use margins*/
.action_click{
	position: absolute;
	z-index:99;
	top: 0;
	left: 30%;
	color: rgb(110, 255, 110);
	height: 100%;
	font-size: 28px;
	pointer-events: none;
	transition: transform 8s;
	transition-timing-function: linear;
}

.action_click.travel{
	transform: translate3d(0, 120%, 0);
	animation-name: color_cycle;
	animation-duration: 1.5s;
	animation-iteration-count: infinite;
}

.action_click div {
	animation: lr_wiggle 2.2s ease alternate infinite;
}

.action_click span {
	display:block;
	animation: lr_du_wiggle 1.3s ease alternate infinite;
}

.action_click .fa {
	pointer-events: initial;
	animation: lr_ud_wiggle 0.8s ease alternate infinite;
}

@keyframes lr_wiggle {
	0% {transform:translate3d(-20px, 0, 0);}
	100% {transform:translate3d(20px, 0, 0);}
}

@keyframes lr_du_wiggle {
	0% {transform:translate3d(-20px, 20px, 0);}
	100% {transform:translate3d(20px, -20px, 0);}
}

@keyframes lr_ud_wiggle {
	0% {transform:translate3d(-20px, -20px, 0);}
	100% {transform:translate3d(20px, 20px, 0);}
}



.action_event{
	position: absolute;
	z-index:99;
	color: limegreen;
	transform: translate3d(-50%, -50%, 0);
	animation: action_anim 2s linear forwards, color_cycle 1.5s infinite;
	width: 100%;
	text-align: center;
	pointer-events:none;
}

@keyframes action_anim {
	0%{
		opacity: 0;
		transform: translate3d(-50%, -50%, 0) perspective(100px) scale(0.2);
	}
	10%{
		opacity: 1;
		transform: translate3d(-50%, -50%, 0) perspective(100px) scale(0.6);
	}
	60%{
		opacity: 1;
		transform: translate3d(-50%, -50%, 0) perspective(100px) scale(1.0);
	}
	100%{
		opacity: 0;
		transform: translate3d(-50%, -50%, 0) perspective(100px) scale(1.4);
	}
}

.action_notice{
	position: absolute;
	z-index:99;
	color: limegreen;
	animation:/*notice_anim 2s linear forwards,*/color_cycle 1.5s infinite, action_anim 2s linear forwards;
	margin-top:-30px;
	transform: translate3d(-50%, -50%, 0);
	width: 100%;
	text-align: center;
	pointer-events:none;
}
	.action_notice:before{content:'+'}

@keyframes notice_anim {
	0%{
	}
	20%{
		margin-top: -30px;
	}
	60%{
		margin-top: -30px;
		opacity: 1;
	}
	100%{
		margin-top: -50px;
		opacity: 0;
	}
}

.action_exp{
	position: absolute;
	z-index:99;
	color: limegreen;
	animation:/*action_exp_anim 2s linear forwards,*/color_cycle 1.5s infinite, action_anim 2s linear forwards;
	margin-top:40px;
	transform: translate3d(-50%, -50%, 0);
	width: 100%;
	text-align: center;
	pointer-events:none;
}
	.action_exp:before{content:'+'}

@keyframes action_exp_anim {
	0%{
	}
	20%{
		margin-top: 30px;
	}
	60%{
		margin-top: 30px;
		opacity: 1;
	}
	100%{
		margin-top: 50px;
		opacity: 0;
	}
}


.animated_particle{
	position: fixed;
	color: yellow;
	z-index: 100;
	animation: animated_particle 1s ease-in forwards;
}

@keyframes animated_particle {
	0%{
	}
	99%{
		transform: translate3d(0, 0, 0);
	}
	100%{
		display: none;
	}
}






.touch_char{
	white-space: nowrap;
	position: fixed;
	top:0;
	left:0;
	/*font-size: 100px;*/
	font-size:60px;
	color: #35dcd6;
	z-index:101;
	pointer-events:none;
	backface-visibility:hidden;
	-webkit-backface-visibility:hidden;
	will-change:transform, opacity;
	animation: char_anim 1s forwards ease-out;
}

.touch_char.extra{
	color: #7bc900;
}

@keyframes char_anim {
	/*0%{opacity:0; transform:perspective(100px) translate3d(-50px, -50px, -50px) scale(1); -webkit-transform:perspective(100px) translate3d(-50px, -50px, -50px) scale(1);}*/
	0%{opacity:0; transform:perspective(100px) translate3d(-30px, -30px, 0) scale(1); -webkit-transform:perspective(100px) translate3d(-30px, -30px, 0) scale(1);}
	1%{opacity:1;}
	10%{opacity:1;}
	70%{opacity:1;}
	90%{opacity:0.2; /*color:#d8ca29;*/}
	/*100%{opacity:0; transform:perspective(250px) translate3d(-250px, -250px, -250px) scale(0.1); -webkit-transform:perspective(250px) translate3d(-250px, -250px, -250px) scale(0.1);}*/
	100%{opacity:0; transform:perspective(200px) translate3d(-100px, -100px, 0) scale(0.1); -webkit-transform:perspective(200px) translate3d(-100px, -100px, 0) scale(0.1);}
}

@keyframes char_anim_bk {
	0%{opacity: 0;}
	1%{
		opacity: 1;
		margin-top: -50px;
		/*transform:perspective(100px) translate3d(-50px, -50px, -50px) scale(1);*/
	}
	10%{
		opacity: 1;
		font-size: 40px;
	}
	70%{
		opacity: 1;
		margin-top: -100px;
	}
	90%{
		margin-top: -110px;
		margin-left: -50px;
		/*color:#d8ca29;*/
		opacity: 0.2;
		font-size: 5px;
	}
	100%{
		margin-top: -130px;
		margin-left: -60px;
		opacity: 0;
		font-size: 5px;
		/*transform:perspective(200px) translate3d(-200px, -200px, -200px) scale(0.1);*/
	}
}

.glowtap {
	position:sticky;
	/*transition: all 0.3s ease-in;*/
	will-change:transform;
}

.glowtap:before {
	content: '';
	background-color: #fff;
	border-radius: 50%;
	display: block;
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	-webkit-transform: scale(0, 0);
					transform: scale(0, 0);
}
.glowtap:focus {
	outline: 0;
	color: #fff;
}
.glowtap:focus:before, .glowtap:active:before {
	-webkit-animation: Click_Effect 0.5s ease-out;
					animation: Click_Effect 0.5s ease-out;
}
@-webkit-keyframes Click_Effect {
	50% {
		-webkit-transform: scale(1.5, 1.5);
						transform: scale(1.5, 1.5);
		opacity: 0;
	}
	99% {
		-webkit-transform: scale(0.001, 0.001);
						transform: scale(0.001, 0.001);
		opacity: 0;
	}
	100% {
		-webkit-transform: scale(0.001, 0.001);
						transform: scale(0.001, 0.001);
		opacity: 0.75;
	}
}
@keyframes Click_Effect {
	50% {
		-webkit-transform: scale(1.5, 1.5);
						transform: scale(1.5, 1.5);
		opacity: 0;
	}
	99% {
		-webkit-transform: scale(0.001, 0.001);
						transform: scale(0.001, 0.001);
		opacity: 0;
	}
	100% {
		-webkit-transform: scale(0.001, 0.001);
						transform: scale(0.001, 0.001);
		opacity: 0.75;
	}
}


#equaliser_canvas {position:absolute; top:0; right:0; bottom:0; left:0; margin:auto; width:95%; height:95%; image-rendering: pixelated;}
.equaliser-container {position:absolute; bottom:0; left:10px; width:calc(30vmin - 21px);}

.color-bar {position:absolute; left:0; right:0; bottom:0; background:#999797;}

.equaliser-column {position:relative; bottom:5px; float:left; width:6.25%; margin:0; padding:0; height:6vmin; list-style-type:none;}

#hypno_wrap {display:none; position:absolute; z-index:1; background:#000; width:100%; height:100%; animation:hypno_flash 0.1s linear infinite;}
		#hypno_wrap.hypno_active {display:block;}
	#hypno_wrap	.hypno {position:absolute; bottom:1vmin; left:2vmin; font-size:4vmin; color:#FFF; font-family:"Helvetica Neue", Helvetica, Arial, sans-serif;}
@keyframes hypno_flash {
	0% {opacity:0;}
	50% {opacity:1;}
	100% {opacity:0;}
}

.fin {}
.fin #sbody * {pointer-events:none; opacity:0; transition:opacity 7s ease-in-out;}
	.fin #wormhole {animation-duration:35s;}
		.fin #wormhole .warp.walt {animation-duration:35s;}
		.fin #cont {background:none;}
			.fin #cont, .fin #room, .fin #wall, .fin #wall #card1, .fin #cont .bg_slider_container, .fin #cont .bg_slider_container .bg_slider {opacity:1;}
	.fin #wall #card1 {z-index:9999; transform:translateY(-50%) rotate(5deg) scale(1.8); bottom:initial; top:50%; left:0; right:0; margin:auto; transition:transform 6s ease-in-out; pointer-events:none;}
		.fin #wall #card1 * {opacity:1;}
		
		.fin #wall #card1 .card_list .profit {pointer-events:auto; transform:translateY(-5vw) translateX(5vw) scale(5.0) rotate(-5deg); position:fixed; width:fit-content; width:-moz-fit-content; color:lightgreen; transition:transform 22s ease-in-out; transition-delay:3s;}

		.fin #wall #card1.profit_click {transform:translateY(-50%) rotate(175deg) scale(12.8); opacity:0; transition:transform 22s ease-in-out, opacity 22s ease-in-out;}

		.fin .bg_slider_container {display:block; opacity:1;}

/*
.equaliser-column:nth-child(1) .color-bar {
	animation: color-bar 2s 1s ease-out alternate infinite;
}

.equaliser-column:nth-child(2) .color-bar {
	animation: color-bar 2s 0.5s ease-out alternate infinite;
}

.equaliser-column:nth-child(3) .color-bar {
	animation: color-bar 2s 1.5s ease-out alternate infinite;
}

.equaliser-column:nth-child(4) .color-bar {
	animation: color-bar 2s 0.25s ease-out alternate infinite;
}

.equaliser-column:nth-child(5) .color-bar {
	animation: color-bar 2s 2s ease-out alternate infinite;
}

.equaliser-column:last-child {
	margin-right: 0;
}

@keyframes color-bar {
	0% {
		height:10%;
		background: #1867bb;
	}
	10% {
		height:30%;
		background: #1bc561;
	}
	20% {
		height:50%;
		background: #1bc561;
	}
	30% {
		height:20%;
		background: #269e57;
	}
	40% {
		height:70%;
		background: #1bc561;
	}
	50% {
		height:90%;
		background: #f70f0f;
	}
	60% {
		height:30%;
		background: #1bc561;
	}
	70% {
		height:80%;
		background: #f70f0f;
	}
	80% {
		height:50%;
		background: #1bc561;
	}
	90% {
		height:30%;
		background: #1bc561;
	}
	100% {
		height:10%;
		background: #1867bb;
	}
}*/





/* iOS only */

/* Android only */

/* Windows only */
/*body#win*/

/* Non-phonegap builds only */

/* Smaller/Mobile devices Landscape (iPhone <= 6+ etc.) */







/* iOS only */

/* Android only */

/* Windows only */
/*body#win*/

/* Non-phonegap builds only */

/* Smaller/Mobile devices Landscape (iPhone <= 6+ etc.) */
