


* {

	box-sizing: border-box;
	
}


body {
	
	font-family: Helvetica, Arial, sans-serif;
	font-size: 18px;
	line-height: 100%;
	font-weight: 400;
	text-transform: none;

	height: 100%;
	width: 100%;

	padding: 0px;
	margin: 0px;
	
	overflow: hidden;
	
	background-color: #70C8C2;
	transition: background-color 1s linear;

	user-select: none;	/*	KILLS THE OBJECT HIGHLIGHT ON TAP	*/
}


a {
	
	color: black;
	text-decoration: underline;
}


h1 {
	
	font-size: 56px;
	line-height: 120%;
}


/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
	...
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/


#ALL {
	
	position: fixed;
	
	top: 0px;
	left: 0px;
	
	height: 100vh;
	width: 100vw;
	
	overflow: hidden;
}



/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
	LAYERS
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/

#SKY, #STARS, #DISASTER, #RWB {
	
	position: absolute;
	
	height: 100vh;
	width: 100vw;
}



#SKY {
	
	background-color: #70C8C2;
	transition: background-color 1s linear;
	
	font-size: 50vh;
	line-height: 100%;
	font-weight: 600;
	text-align: center;
	color: white;
}



#STARS {

	display: none;
}


#STARS .star {
	
	position: absolute;
	
	height: 2px;
	width: 2px;
	
	border-radius: 100%;
	
	background-color: white;
}


#RWB {

	background-color: white;
	
	overflow-x: scroll;
	
	transition: opacity .3s ease-out;
	opacity: 0;
	
	display: none;
}


#RWB div {

	height: 100%;
	width: 2560px;
	
	background-image: url(../images/real_world_buildings.jpg);
	background-repeat: no-repeat;
	background-position: center bottom;
	background-size: 2560px 968px;
}



#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; }
}








/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
	BUILDINGS
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/



#BUILDINGS {
	
	position: absolute;
	
	top: 0px;
	left: 0px;
	
	height: 80vh;
	height: 100vh;
	width: 100vw;
	
	z-index: 1;
}




.BUILDING {
	
	position: absolute;
		
	display: flex;
	
	height: 0px;
	
	bottom: 0px;
	
	pointer-events: all;
	
	transform: translateZ(0);
	will-change: transform;
}


.BUILDING div {
	
/* 	transition: background-color 1s linear; */
}	


.BUILDING .T div {
	
/* 	transition: border-color 1s linear; */
}	


.BUILDING .L {
	
	display: inline-block;
	
	height: 100%;
	width: 50%;
	
	background-color: #FFFFFF;	
	
	border-left: 1px solid rgba(0,0,0,.05);	
	
	background-image: url(../images/windows_L.png);
	background-repeat: repeat-y;
	background-position: center 3px;
	background-size: 50px;
}


.BUILDING .L div {
	
	position: absolute;
	
	padding-top: 20px;
	padding-left: 4px;
	
	writing-mode: vertical-rl;
	
	line-height: 100%;
	font-weight: 100;
	color: rgba(0,0,0,.2);
	white-space: nowrap;
	text-align: center;
	
	overflow: hidden;	
	
	cursor: default;
	
	transform: rotateX(-20deg) rotateY(-45deg) translate3d(0,0,0px);
	
	display: none;
}


.BUILDING:hover .L div {
	
	display: block;
}



.BUILDING .R {
	
	display: inline-block;
	
	height: 100%;
	width: 50%;
	
	background-color: #D3D3D3;	
	
	border-right: 1px solid rgba(0,0,0,.05);
	
	background-image: url(../images/windows_R.png);
	background-repeat: repeat-y;
	background-position: center 3px;
	background-size: 50px;
}




.BUILDING .T {
	
	position: absolute;
	
	margin-top: -10px;	
}


.BUILDING .T div {
	
	border-left: 30px solid transparent;
	border-right: 30px solid transparent;
	
	
}

.BUILDING .T div:nth-of-type(1) {
	
	border-bottom: 10px solid #EFEFEF;		
}


.BUILDING .T div:nth-of-type(2) {
	
	
	border-top: 10px solid #EFEFEF;		
}



.BUILDING:hover {
	
	
}




/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
	PAUSE / PLAY
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/

#PAUSE, #PLAY {
	
	position: fixed;

	top: 0px;
	right: 0px;
	
	height: auto;
	width: auto;
	
	padding: 2vh;
	padding-left: 4vh;
	
	cursor: pointer;
	
	opacity: .8;
}

#PAUSE:hover, #PLAY:hover {
	
	opacity: 1;
}	


#PAUSE div, #PLAY div {
	
	height: 1vh;
	width: 1vh;
	
	float: left;

	background-color: white;
}


#PAUSE div:nth-of-type(1),#PAUSE div:nth-of-type(3), #PAUSE div:nth-of-type(5), #PAUSE div:nth-of-type(7), #PAUSE div:nth-of-type(9) {
	
	margin-right: 1vh;
	
	clear: left;
}


#PLAY div:nth-of-type(2), #PLAY div:nth-of-type(4), #PLAY div:nth-of-type(7), #PLAY div:nth-of-type(9) {
	
	clear: left;
}

#PLAY div:nth-of-type(10) {
	
	display: none;
}



/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
	HAMBURGER
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/


#HAMBURGER {

	position: fixed;

	top: 0px;

	height: auto;
	width: auto;

	padding: 2vh;
	padding-right: 4vh;

	cursor: pointer;

	z-index: 98;
	
	opacity: .8;

}


#HAMBURGER:hover {

	opacity: 1;
}


#HAMBURGER, #MENU #HAMBURGER_X {


	left: 0px;

	margin-left: 0px;
}




#MENU #HAMBURGER_X {

	position: absolute;

	top: 0px;
	left: 0px;

	opacity: 1;

	display: none;

}


#HAMBURGER div {

	height: 1vh;
	width: 3vh;
	
	display: block;

	background-color: white;

	margin-bottom: 1vh;
}

#HAMBURGER:hover div {


	background-color: white;

}




/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
	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: 10001;

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

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

	display: none;
}





#MENU div {

}





#MENU #building_stats {
	
	padding-top: 10px;
	padding-bottom: 100px;
}


#MENU #building_stats div {
	
	float: left;	
}


#MENU #building_stats div:nth-of-type(1) {
	
	writing-mode: vertical-rl;
	font-weight: 600;
	font-size: 24px;
	
	padding-top: 5px;
	padding-right: 10px;
}






#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: 99;
}



@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; }
}







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


.button {
	
	margin-top: 20px;
	margin-bottom: 20px;
	
	padding: 10px;
	
	background-color: rgba(0,0,0,.1);
	border-radius: 10px;
	
	cursor: pointer;
	
	opacity: .9;
}


.button:hover {
	
	opacity: 1;
	background-color: rgba(0,0,0,.2);
}

.button:active {
	
	background-color: rgba(0,0,0,.5);
}




