

/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
	THE 300MS DELAY PROBLEM SOLVED
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/

html {

	touch-action: manipulation;		/*	KILLS THE 300MS DELAY	*/
	overscroll-behavior: none;	/* 	AVOID RELOADING ON PULL	 */
}



/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
	BASICS
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/


* {

	box-sizing: border-box;
}



body {
	
	margin: 0px;
	
	font-family: Helvetica, Arial, sans-serif;
	font-size: 18px;
	color: white;
	font-weight: 400;
	text-transform: none;
	
/* 	background-color: #5F5A61; */
	background-color: black;

	overflow: hidden;
	
	-webkit-tap-highlight-color: rgba(0,0,0,0);	/*	KILLS THE OBJECT HIGHLIGHT ON TAP	*/
	overscroll-behavior: none;	/* 	AVOID RELOADING ON PULL	 */
}


#ALLES {
	
	position: fixed;
	
	height: 100vh;
	width: 100vw;

	background-color: #5F5A61;

	text-align: center;	
	
	overflow: hidden;
	
	transition: transform .4s linear;
}






/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
	B U I L D I N G S
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/


.BUILDING {
	
	position: absolute;
	
	background-color: #B2AFA8;
	
	z-index: 2;
	
	cursor: pointer;
}


.BUILDING .purpose {
	
	position: absolute;
	
	display: flex;
	align-items: center;
	justify-content: center; 
	
	width: 100%;
	
	font-size: 10px;
	color: #515151;
	
	background-position: center center;
	background-size: contain;
	background-repeat: no-repeat;
	
	pointer-events: none;
	
	user-select: none;
}

	

.RUBBLE {
	
	position: absolute;
	
	background-color: rgba(0,0,0,.2);
	
	cursor: pointer;
	
	z-index: 0;
}


/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
	2D BUILDING VIEW
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/


.roof, .tower_roof, .wall, .tower_wall, .shadow, .tower_shadow, .mountain_shadow, .spaceship_shadow, .satellite_shadow {

	display: none;
}







/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
	PAUSE / PLAY ADMINISTRATIVE BUILDING
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/


.PAUSE, .PLAY {
	
	position: absolute;
	
	background-color: #B2AFA8;
	
	cursor: pointer;
	
	z-index: 2;
}


.PAUSE .control, .PLAY .control {
	
	position: absolute;
	
	padding: 8px;
}




.PAUSE .control div {
	
	position: absolute;
	
	height: 14px;
	width: 2px;
	
	margin-top: 0px;
	margin-left: 2px;
	
	border-radius: 1px;
}


.PAUSE .control div:nth-of-type(2) {
		
	margin-left: 10px;
}




.PLAY .control div {
	
	position: absolute;
	
	height: 2px;
	width: 34%;
	
	margin-top: 3px;
	margin-left: 3px;
	
	transform: rotate(45deg);
	
	border-radius: 1px;
}

.PLAY .control div:nth-of-type(2) {
	
	margin-top: 9px;
	transform: rotate(-45deg);
}


.PAUSE .control div, .PLAY .control div, .STATS .control div {
	
	background-color: #515151;	/* #e2e2e2 */
	color: #515151;
}
	

@media (hover: hover) {
   
	.PAUSE:hover .control div, .PLAY:hover .control div {
	
		background-color: #222;		/* #fff */
	}   
}	
	

.interactuator {
 
	display: none;
}



/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
	SIMTLE ADMINISTRATIVE BUILDING
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/

.STATS {
	
	position: absolute;
	
	background-color: #B2AFA8;
	
	cursor: pointer;
	
	z-index: 2;
}

.STATS .control {
	
	position: absolute;
	
	height: 100%;
	
	font-size: 10px;
	font-weight: 600;
	line-height: 100%;
	text-align: center;
	
	user-select: none;
}


.STATS .control div {
	
	height: 100%;
	
	background-color: transparent;
	
	padding: 2px;
	
	overflow: hidden;
	text-transform: capitalize;
	hyphens: auto;
	word-break: break-word;	
	
	display: flex;
	align-items: center;
	justify-content: center;
	
	pointer-events: none;
}


@media (hover: hover) {
   
	.STATS:hover .control div {
	
		color: #222;
	}   
}




/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
	SPACESHIP
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/

.SPACESHIP {
	
	position: absolute;
	
/* 	background-color: #817f79; */
	
	background-image: url(../images/space_mode/spaceship_2D.png);
	background-position: center center;
	background-size: contain;
	background-repeat: no-repeat;
	
	border-radius: 100%;
	
	cursor: pointer;
	
	transition: top 2s ease-in;
	
	z-index: 2;
}





@media (hover: hover) {
   
	.STATS:hover .control div {
	
		color: #222;
	}   
}





/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
	R O A D S
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/



.ROAD, .ROAD_plan {
	
	position: absolute;
	
	background-color: #CDCBC1;
	
	z-index: 1;
	
	cursor: pointer;
}



.ROAD_plan {
	
	opacity: .4;
	
	border: 1px dashed rgba(0,0,0,.8);
	
	z-index: 999999;
}


.ROAD_plan_invalid {
	
	opacity: .2;
	
	border: none;
}


.ROAD .low_density_zone {
	
	height: 100%;
	width: 100%;
	
	pointer-events: none;
}


.ROAD .line_horizontal {
	
	width: calc(100% - 40px);
	height: 100%;
	
	margin-left: 20px;
	
	background-image: linear-gradient(to right, rgba(255,255,255,1) 50%, transparent 0%);
	background-position: center center;
	background-size: 10px 1px; 		/*	CHANGED IN toggle_low_density_road	*/
	background-repeat: repeat-x;
}


.ROAD .line_horizontal {
	
	background-position: center 45%;
}


.ROAD .line_vertical {
	
	width: 100%;
	height: calc(100% - 40px);
	
	margin-top: 20px;
	
	background-image: linear-gradient(to bottom, rgba(255,255,255,1) 50%, transparent 0%);
	background-position: center center;
	background-size: 1px 10px;		/*	CHANGED IN toggle_low_density_road	*/
	background-repeat: repeat-y;
}




.DESTINATION_MARKER {
	
	position: absolute;
	
	height: 50px;
	width: 50px;
	
	margin-top: -25px;
	margin-left: -25px;	
	
	border-radius: 100%;
	
	background-color: white;
	
	animation: marker .2s forwards;
	
	z-index: 99999;
}


@keyframes marker {
	
	from {opacity: .5; height: 50px; width: 50px; margin-top: -25px; margin-left: -25px; }
	to {opacity: 0; height: 0px; width: 0px; margin-top: 0px; margin-left: 0px; }
}




.route_marker, .valid_destination_marker, .route_final_marker {
	
	position: absolute;
	
	height: 10px;
	width: 10px;
	
	margin-top: 5px;
	margin-left: 5px;
	
	padding-top: 1.5px;
	
	border-radius: 100%;
	
	background-color: white;
	
	color: black;
	font-size: 8px;
	line-height: 100%;
	text-align: center;
	
	z-index: 10;
	
	pointer-events: none;
}


.route_final_marker {
	
	background-color: black;
	
	color: white;
	font-weight: 600;	
}


.valid_destination_marker {

	height: 6px;
	width: 6px;
	
	margin-top: 7px;
	margin-left: 7px;
}



/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
	P A R K R O A D S
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/


.ROAD .PARK {
	
	position: absolute;
	
	height: 100%;
	width: 100%;
	
	padding-top: 7px;
	padding-left: 7px;
	
	display: flex;
	justify-content: space-between;
	
	background-color: #337033;
	
	border-radius: 10px;
	
	z-index: 2;
	
	pointer-events: none;
}


.ROAD .PARK .TREE {
	
	position: relative;
	
	height: 6px;
	width: 6px;
	
}	



/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
	T R A F F I C      L A Y E R
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/


.traffic_jam, .traffic_heavy, .traffic_medium, .traffic_light {
	
	position: absolute;
	
	border-radius: 10px;
	
	opacity: .5;
	
	z-index: 2;
	
	cursor: pointer;
}


.traffic_jam {
	
	background-color: red;
}

.traffic_heavy {
	
	background-color: orange;
} 

.traffic_medium {
	
	background-color: yellow;
}

.traffic_light {
	
	background-color: lightgreen;
}	






/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
	T R E E S
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/


.TREE {
	
	position: absolute;
	
	background-color: #309E38; 
	
	border-radius: 100%;
	
	pointer-events: none;
	
	z-index: 2;
}






/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
	S K Y W A L K S
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/


.SKYWALK {
	
	position: absolute;
	
	height: 5px;
	width: 5px;
	
	background-color: lightblue; 
	
	cursor: pointer;		
}




/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
	W A T E R
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/


.WATER {
	
	position: absolute;
	
	background-color: #40b7fb; 
	
	box-shadow: none;
	
	z-index: 0;
}


.FLOOD {
	
	position: absolute;
	
	bottom: 0px;
	
	height: 100vh;
	width: 100vw;
	
	background-color: #40b7fb; 

	z-index: 2;
}

.flood_altitude {
	
	background-color: #40b7fb; 
	
	display: none;
}



@keyframes tsunami_inundation {

    from { height: 0vh; }
    to { height: 100vh; }
}

@keyframes tsunami_recede {

    from { height: 100vh; }
    to { height: 0vh; }
}






/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
	M O U N T A I N S
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/


.MOUNTAIN {
	
	position: absolute;
	
	background-image: url(../images/mountain_2D.png);
	background-position: center center;
	background-size: 100% 100%;
	background-repeat: no-repeat;
	
	z-index: 2;
}


.MOUNTAIN .alien_tunnel {

	position: absolute;
	
	height: 20px;
	width: 27px;
	
	margin-left: calc(50% - 13.5px);
	
	z-index: 2;
}	
	
	
.MOUNTAIN .alien_tunnel div {
	
	height: 15px;
	width: 100%;
	
	margin-top: 5px;

	background-color: rgba(0,0,0,.8);
	
	border-radius: 20px 20px 0px 0px;
	
	cursor: pointer;
}





/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
	C A R
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/


.CAR {
	
	position: absolute;
	
	background-color: red;
	
	transition: top .1s linear, left .1s linear;
	
	cursor: pointer;
	
	z-index: 4;
}




/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
	TRANSPARENT AI
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/


.transparent_ai_element, .transparent_ai_tree {
	
	position: absolute;
	
	border: 1px solid red;	
	
	z-index: 99999;
}

.transparent_ai_tree {
	
	border-radius: 100%;
}


/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
	MENU
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/


#MENU {

	position: fixed;

	height: 100%;
	width: auto;
	max-width: 300px;
	min-width: 284px;

	font-family: Helvetiva, sans-serif;
	font-size: 18px;
	font-weight: 400;
	color: black;
	line-height: 140%;

	padding: 20px;
	padding-top: 10px;

	top: 0px;
	left: -300px;

	background-color: rgba(255,255,255,.99);

	z-index: 1000000;

	overflow-y: scroll;
	overflow-x: hidden; 

	border-right: 1px solid rgba(0,0,0,.1);
	
	cursor: default;
	
	transition: filter .3s linear;
	
	user-select: none;

	display: none;
}






#MENU h1, h2 {
	
	font-size: 75px;
	line-height: 100%;
	
	margin-top: 20px;
	margin-bottom: 10px;
	margin-left: 0px;
	
	cursor: pointer;
}

#MENU h2 {
	
	font-size: 28px;
	line-height: 100%;
	
	margin-top: 70px;
	margin-bottom: 30px;
	margin-left: 0px;
	
	cursor: default;
}



#MENU #extra_controls_button, #MENU #hidden_controls_button {
	
	padding: 10px;
	
	margin-bottom: -20px;
	margin-left: 7px;
	
	display: inline-block;
	
	text-align: center;
	
	cursor: pointer;
}


#MENU #hidden_controls_button {
	 
	position: absolute; 
	
	margin-left: 26px;
	
	opacity: .1;
}


@media (hover: hover) {
	
	#MENU #hidden_controls_button:hover {
		 
		opacity: 1;
	}
}





#MENU #building_stats {
	

}



#MENU #building_stats div {
	
	margin-bottom: 20px;
	
	padding-left: 35px;
	
	background-position: left 5px;
	background-size: 40px 40px;
	background-repeat: no-repeat;
}





#MENU .separator {
	
	height: 1px;
	width: 100%;
	
	margin-top: 50px;
	margin-bottom: 10px;
	
	padding: 0px;
	
	background-color: rgba(0,0,0,.2);
	
	opacity: 1;
	
	cursor: default;
}



#MENUABDUNKLER {

	position: fixed;

	top: 0px;
	left: 0px;

	width: 100%;
	height: 100%;

	background-color: rgba(0,0,0,.5);

	display: none;
	
	cursor: default;

	z-index: 999999;
}




#MENU_INTERACTUATOR {

	position: fixed;

	height: 100vh;
	width: 5px;
	
	top: 0px;
	left: 0px;
	
	z-index: 999998;
}	




@media (orientation:landscape) {

	#MENU #intro_mobile {
	
		display: none;
	}
}

@media (orientation:portrait) {

	#MENU #intro_desktop {
	
		display: none;
	}
}




@keyframes menu_reinschieben {

    0% { left: -350px }

    100% { left: 0px; }
}


@keyframes menu_rausschieben {

    0% { left: 0px }

    100% { left: -350px; }
}





/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
	ID CARD
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/

#ID_CARD {
	
	display: none;
	
	position: fixed;

	width: 300px;
	
	top: 50vh;		/* 	show_id_card	*/	
	left: 50vw;		/* 	show_id_card	*/
	
	margin-left: -150px;
	
	padding: 20px;
	
	color: black;
	
	background-color: rgba(255,255,255,.99);
	
	background-position: center center;
	background-size: 50px;
	background-repeat: no-repeat;
	
	overflow: hidden;
	
	user-select: none;
	-webkit-user-select: none;

	z-index: 1000000;
}




/*	ID CARD CLOSE BUTTON	*/

#ID_CARD #CLOSE {
	
	position: absolute;
	
	top: 5px;
	right: 5px;
	
	height: 50px;
	width: 50px;
	
	background-image: url(../images/close.png);
	background-position: center center;
	background-size: contain;
	background-repeat: no-repeat;
	
	cursor: pointer;
	
	z-index: 3;
}	



/*	ID CARD INFO ANMD STATS	*/


#ID_CARD #BUILDING_INFO {
	
	display: flex;
	
	position: relative;
	
	cursor: default;
	
	z-index: 2;
}


#ID_CARD h2 {
	
	margin-top: 0px;
	margin-bottom: 30px;
	
	padding-right: 40px;
	
	font-size: 42px;
	line-height: 100%;
	
	cursor: default;
}



#ID_CARD h3 {
	
	margin-top: 0px;
	margin-bottom: 10px;
	
	padding-right: 40px;
	
	font-size: 24px;
	line-height: 100%;
	
	cursor: default;
}	


#ID_CARD #BUILDING_INFO div {
	
/* 	display: inline-block; */
	
	padding-right: 20px;
}

#ID_CARD #BUILDING_INFO div:nth-of-type(1) {
	
	font-weight: 600;
	font-size: 42px;
	line-height: 115%;
}

#ID_CARD #BUILDING_INFO div:nth-of-type(2) {
	
	padding-top: 3px;
	padding-right: 30px;
	
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}




/*	ID CARD ACTIONS	*/


.id_card #ACTIONS, .id_card_compact #ACTIONS {
	
	position: absolute;
	
	bottom: 15px;
	left: 15px;
	
	width: 100%;
	
	z-index: 2;
}
	




#ID_CARD .button, #ID_CARD .button_active {
	
	display: inline-block;
	
	height: 50px;
	width: 50px;
	
	margin: 5px;

	background-color: white;
	
	border: 1px solid black;
	
	user-select: none;
}


#ID_CARD .button_active {
		
	filter: invert(1);
	border: 1px solid white;
}


.id_card #ACTIONS div {
	
	height: 50px;
	width: 50px;
	
	margin: 0px;
	margin-top: 15px;
}	


#ID_CARD #neighbor_city_button {
	
	position: absolute;
	
	right: 30px;
	

}


#ID_CARD #neighbor_city_button span {
	
	position: absolute;
	
	width: 50px;
	
	margin-top: 2.6px;
	margin-left: -23px;
	
	font-size: 8px;
	line-height: 100%;
	font-weight: 600;
	text-align: center;
}




/*	ID CARD PURPOSE CONTROLS  */

.id_card #PURPOSE {
	
	position: absolute;
	
	bottom: 20px;
	left: 20px;
	
	width: 50px;
	
	z-index: 2;
}

.id_card #PURPOSE div {
	
	height: 50px;
	width: 50px;
	
	margin: 0px;
}	

.id_card #PURPOSE div:nth-of-type(1) {
	
	margin-right: 0px;
	
	border-radius: 10px 10px 0px 0px;
}	

#ID_CARD #PURPOSE div:nth-of-type(2) {
	
	margin-top: 0px;
	margin-bottom: 0px;
	
	border-radius: 0px;
	
	border-top: none;
	border-bottom: none;	
}	

#ID_CARD #PURPOSE div:nth-of-type(3) {
	
	margin-left: 0px;
	
	border-radius: 0px 0px 10px 10px;
}	

#ID_CARD #PURPOSE .button:active {
	
	filter: none;
}	





/*	ID CARD MOUNTAIN FLAG CONTROLS  */

#ID_CARD #FLAG_BUTTONS {
	
	margin-top: 20px;
}

	
#ID_CARD #FLAG_BUTTONS .button {
	
	height: 35px; 
	width: 50px; 
	
	margin: 5px; 
	margin-bottom: 10px;
	
	border-radius: 0px; 
	border: 1px solid silver;
	
	background-size: 100% 100%;
}

#ID_CARD #FLAG_BUTTONS .button:active {
	
	filter: invert(1) saturate(0);
}	



/*	ID CARD DISASTER CONTROLS	*/

.id_card #DISASTERS {
	
	margin-top: 50px;
}

.id_card #DISASTERS div {
	
	display: inline-block;
}	





/*	ID CARD METABLOKS CATEGORIES  */

#ID_CARD #METABLOKS {
	
	position: absolute;
	
	top: 0px;
	left: 20px;
	
	height: 100%;
	width: 100%;
	
	margin-left: -20px;
	
	padding-top: 20px;
	padding-bottom: 40px;
	padding-left: 20px;
	padding-right: 20px;
	
	overflow-y: scroll;
	
	z-index: -1;
}

#ID_CARD #METABLOKS .button, #ID_CARD #METABLOKS .button_active {
	
	float: left;
	
	height: 82px;
	width: 86px;
	
	margin: 0px;
	
	padding: 2px;
	
	display: flex;
    align-items: center;
    justify-content: center; 
            
	font-size: 10px;
	line-height: 120%;
	text-align: center;
	text-transform: uppercase;
	font-weight: bold;
	color: white;
	
	border: 4px solid white;
	
	border-radius: 20px;
	
	overflow: hidden;
}


#ID_CARD #METABLOKS .button_active {
	
	filter: none;
}


/* @media (hover: hover) { */
	
	#ID_CARD #METABLOKS .button:hover, #ID_CARD #METABLOKS .button_active:hover {
		
		filter: none;
		
		border: 4px solid transparent;
	}	
/* } */


#ID_CARD #METABLOKS .button:active {
	
	background-color: white!important;
	
	filter: invert(1) saturate(0);
	
	color: black;
}	


#ID_CARD #METABLOKS .button div, #ID_CARD #METABLOKS .button_active div {
	
	height: 6px;
	width: 6px;
	
	margin-top: 50px;
	margin-left: 0px;
	
	padding: 0px;
	
	background-color: transparent;
	border: 1px solid white;
}	

@media screen and (max-height: 500px) {
	
	#ID_CARD #METABLOKS {
	
		height: 100vh;
	}	
}	



/*	ID CARD METABLOKS NEWS  */

#ID_CARD #METABLOKS .time {
	
	margin-top: 0px; 
	margin-bottom: 20px;
	
	display: flex;
	justify-content: flex-start; /* Align items to the right */
	gap: 5px;
}
	
#ID_CARD #METABLOKS .time div {
	
	display: inline-block; 
	
	padding: 3px; 
	padding-left: 6px; 
	padding-right: 6px; 
	
	border-radius: 3px; 
	
	background-color: rgba(0,0,0,.1); 
	
	font-size: 14px;
}



#ID_CARD #METABLOKS .title {
	
	margin-top: -3px;
	margin-bottom: 20px;
	
	font-weight: bold;
	font-size: 24px;
	line-height: 100%;
}


#ID_CARD #METABLOKS .details {

	padding-bottom: 80px;
}


#ID_CARD #METABLOKS .details img {

	border-radius: 10px;
	
	background-color: silver;
}



#ID_CARD #METABLOKS .link {
	
	position: fixed;
	
	bottom: 20px;
	
	height: auto;
	width: calc(100% - 40px);
	
	margin; 0px;
	margin-top: 10px;
	margin-bottom: 10px;
	
	padding: 10px;
	
	font-family: Helvetica, Arial, sans-serif;
	font-size: 18px;
	color: white;
	font-weight: 400;
	text-align: center;
	
	background-color: black;
	border: 1px solid black;
	border-radius: 10px;
	
	cursor: pointer;
	
	user-select: none;
	
	z-index: 1;
}


#ID_CARD #METABLOKS .bottom_sheet {
	
	position: fixed;
	
	bottom: 0px;
	
	height: 40px;
	width: 100%;

	background-color: white;
	
	z-index: 0;
}


@media screen and (max-height: 500px) {
	
	#ID_CARD #METABLOKS .details {

		padding-bottom: 50px;
	}
	
	#ID_CARD #METABLOKS .link {
		
		position: relative;
		
		width: 100%;
		
		margin-bottom: -20px;
	}
	
	#ID_CARD #METABLOKS .bottom_sheet {
		
		display: none;
	}			
}	




/*	ID CARD BUILDING COPY	*/

#ID_CARD #BUILDING_COPY {
		
	position: absolute;
	
	height: 100%;
	width: 100%;
	
	bottom: 0px;	
}

#ID_CARD #BUILDING_COPY .BUILDING, #ID_CARD #BUILDING_COPY .PAUSE, #ID_CARD #BUILDING_COPY .PLAY, #ID_CARD #BUILDING_COPY .STATS {
	
	position: absolute;
	
	bottom: 0px;
	
	cursor: pointer;
	
	z-index: 1;
}


#ID_CARD #BUILDING_COPY .roof, #ID_CARD #BUILDING_COPY .wall, #ID_CARD #BUILDING_COPY .tower_roof, #ID_CARD #BUILDING_COPY .tower_wall {

	animation: none;
}




/*	ID CARD ROAD AND SKYWALK VISUAL	*/

#ID_CARD .ROAD, #ID_CARD .SKYWALK {
	
	position: relative;
	
	width: calc(100% + 80px);
	
	margin-top: 20px;
	margin-bottom: 20px;
	margin-left: -40px;
	
	cursor: default;
}	


#ID_CARD .ROAD {
	
	height: 20px;
}


#ID_CARD .CAR {
		
	margin-top: -36px;
	margin-left: -80px;
	
	cursor: default;
	
	animation: id_card_car_drive 2.5s linear infinite;
}


#ID_CARD .HUMAN {
		
	position: absolute;
	
	margin-top: -24px;
	margin-left: -80px;
	
	height: 3px;
	width: 3px;
	
	border-radius: 50%;	
		
	background-color: #111;
	
	animation: id_card_car_drive 5s linear infinite;
}


@keyframes id_card_car_drive {

    0% { margin-left: -80px; }
    
	100% { margin-left: calc(100% + 20px); }

/*     100% { margin-left: -80px; } */
}




/*	ID CARD PREVIOUS AND NEXT BUTTONS	*/

#ID_CARD #PREVIOUS, #ID_CARD #NEXT {
	
	
	position: absolute;
	
	top: 80px;
	left: 0px;
	
	height: calc(100% - 160px);
	width: 45px;
	
	cursor: pointer;
	
	z-index: 1;
}	


 #ID_CARD #NEXT {
	 
	left: auto;
	right: 0px;
}

/* @media (hover: hover) { */

	#ID_CARD #PREVIOUS:hover, #ID_CARD #NEXT:hover {
		
		background-color: rgba(0,0,0,.05);
	}	
/* } */






/*	ID CARD LOAD AND SAVE	*/

#ID_CARD #LOAD_SAVE textarea {
	
	width: 100%;
	height: 180px;
	
	margin-top: 30px;
	margin-bottom: 20px;
}	


#ID_CARD #LOAD_SAVE .button {
	
	display: block;
	
	height: auto;
	width: auto;
	
	margin: 0px;
	
	text-align: center;
}	

#ID_CARD #LOAD_SAVE .button:active {
	
	filter: invert(1);
}	



/*	ID CARD ACHIEVEMENTS	*/
#ID_CARD #ACHIEVEMENT {
	
	width: 100%;
	
	margin-top: 40px;
	
	text-align: center;
}

#ID_CARD #ACHIEVEMENT h3 {

	padding: 0px;
	
	margin-bottom: 20px;
}

#ID_CARD #ACHIEVEMENT img {

	position: absolute;
	
	bottom: 20px;
	
	margin-top: 40px;
	margin-left: -27.5px;
	
	width: 55px; 
}



/*	ID CARD ACCOUNT	*/

#ID_CARD iframe {
	
	position: absolute;
	
	top: 0px;
	left: 0px;
	
	height: 100%;
	width: calc(100% + 10px);
	
	border: none;

	background-image: url(../images/loading.gif);
	background-position: center center;
	background-size: 50px;
	background-repeat: no-repeat;
	
	overflow-x: hidden;
}







/*	TOWER HEIGHT SLIDER	*/

.TOWER_HEIGHT_SLIDER {
	
	position: absolute;
	
	bottom: 150px;
	left: 20px;
	
	height: 200px;
	width: 100%;
	
	text-align: left;
}

.TOWER_HEIGHT_SLIDER .slider {

	position: absolute;
	
	right: 45px;
	
	width: 8px; 
	height: 100%; 
	
	outline: none;

	writing-mode: vertical-lr; 
	direction: rtl;
}

.TOWER_HEIGHT_SLIDER .slider::-webkit-slider-thumb {
	
	-webkit-appearance: none;
	appearance: none;
	
	width: 40px; 
	height: 40px; 
	
	border-radius: 100%;
	
	cursor: pointer;
}


.TOWER_HEIGHT_SLIDER div {
	
	position: absolute;
	
	top: 0px;
	
	white-space: nowrap;
}






/*	ID CARD ANIMATION	*/

@keyframes open_id_card {

    0% { transform: scale(0); opacity: 0; }

    100% { transform: scale(1); opacity: .99; }
}


@keyframes close_id_card {

    0% { transform: scale(1); opacity: .99; }

    100% { transform: scale(0); opacity: 0; }
}




/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
	BUTTONS
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/


.button, .button_active, .button_inactive {
	
	display: inline-block;
	
	height: 50px;
	width: 50px;
	
	margin: 5px;
	margin-top: 10px;
	margin-bottom: 0px;
	
	padding: 10px;
	
	background-color: white;
	border: 1px solid black;
	border-radius: 10px;

	background-position: center center;
	background-size: contain;
	background-repeat: no-repeat;
	
	cursor: pointer;
}

#MENU .button {

	text-align: center;
	font-size: 24px;
	line-height: 120%;
}


#MENU #tower_height_limit_button span {
	
	position: absolute;
	
	height: 12px;
	width: 30px;
	
	margin-top: 29px;
	margin-left: -11px;
	
	transform: rotate(-90deg);
	transform-origin: top left;
	
	font-size: 9px;
	line-height: 100%;
	color: white;
	letter-spacing: 1px;
	text-align: center;

	pointer-events: none;
}


#MENU .button_active {

	filter: invert(1);
	background-color: white;
}


#MENU .button_inactive {

	opacity: .4;
	pointer-events: none;
}


#MENU #mini_button_expansion {
	
	position: absolute;
	
	margin: 0px;

	padding-left: 20px;
	padding-right: 15px;
	
	display: flex; 
	align-items: center;
	justify-content: flex-start;
	
	background-image: url(../images/stats_detail.png);
	background-repeat: no-repeat;
	background-position: right center;
	background-size: 15px;
	background-origin: content-box;
	
	color: black;
	background-color: white;
	border: 1px solid black;
	border-radius: 10px;
	
	animation: fadein .05s linear forwards;
	
	z-index: 2;
}



#MENU #mini_button_expansion_connector {
	
	position: absolute;
	
	height: 30px;
	
	margin: 0px;
	
	background-color: white;
	border: 1px solid black;
	border-radius: 0px;
	
	pointer-events: none;
	
	animation: none;
	
	z-index: -1;
}


@media (hover: hover) {
   
	.button:hover {
	
		filter: brightness(.9);
	}
	
	.button_active:hover {
	
		filter: brightness(1.5);
	}   
	
	#MENU #mini_button_expansion, #MENU #mini_button_expansion_connector {
		background-image: none;
		background-color: #E6E6E6;
	}
	
	/*    MINI BUTTON EXPANSION OF DESKTOP IS NOT A BUTTON    */
	#MENU #mini_button_expansion {
		padding: 0px;
		justify-content: center;
	}
}



.button:active {
	
	filter: invert(1) saturate(0);
}



.button div {
	
	position: absolute;
	
	height: 14px;
	width: 14px;
	
	margin-top: -14px;
	margin-left: 29px;
	
	padding: 0px;
	padding-top: 3px;
	
	font-size: 8px;
	line-height: 100%;
	color: white;
	
	background-color: black;
	
	border-radius: 100%;
	
}






/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
	DISASTER
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/




@keyframes earthquake {

    0% { margin-left: -20px; }
    10% { margin-left: 20px; }
    20% { margin-left: -20px; }
    30% { margin-left: 20px; }
    40% { margin-left: -20px; }
    50% { margin-left: 20px; }
    60% { margin-left: -20px; }
    70% { margin-left: 20px; }
    80% { margin-left: -20px; }
    90% { margin-left: 20px; }
    100% { margin-left: 0px; }
}



@keyframes atomic {

    0% { background-color: white; }
    20% { background-color: white; }
    100% { background-color: transparent; }
}





/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
	SNACKBAR
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/


#SNACKBAR {
	
	width: 100vw;
	
	text-align: center;
	
	position: fixed;
	
	z-index: 1;
	bottom: 30px;
	
	pointer-events: none;
	
	user-select: none;
	
	z-index: 1000000;
}


#SNACKBAR div {
	
	display: inline-block;
	
	width: auto;
	max-width: 90vw;
	
	background-color: rgba(30,30,30,.8);
	
	font-family: Helvetiva, sans-serif;
	font-size: 18px;
	color: rgba(255,255,255,.6);
	
	border-radius: 10px;
	padding: 15px;
	padding-left: 20px;
	padding-right: 20px;
	
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	
	pointer-events: all;
	
	cursor: default;
}


#SNACKBAR div span {
	
	text-decoration: underline; 
	
	pointer-events: all;
	
	cursor: pointer;
}

#SNACKBAR div .undo {
	
	text-decoration: none; 
	
	pointer-events: all;
	
	cursor: pointer;
	
	padding: 15px;
	padding-left: 20px;
	padding-right: 20px;
	
	color: skyblue;
}




@keyframes fadein {
	
	from { opacity: 0;}
	to {opacity: 1;}
}



@keyframes fadeout {
	
	from {opacity: 1;}
	to {opacity: 0;}
}









/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
	METABLOKS
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/


#METABLOKS_iframe {
	
	position: absolute;
	
	top: 20px;
	right: 20px;
	
	height: 40px;
	width: 40px;
	
	border: none;

	background-image: url(../images/metabloks.png);
	background-position: center center;
	background-size: contain;
	background-repeat: no-repeat;
	
	overflow: hidden;
	
	z-index: 100000;
}







/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
	STORAGE AND PROCESSOR
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/


textarea {
	
	position: fixed;
	
	top: -10px;
	left: -10px;
	
	width: 1px;
	height: 1px;
	
	display: none;
}



