
* {

	box-sizing: border-box;
	
}


html {

	touch-action: manipulation;		/*	KILLS THE 300MS DELAY	*/
}



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: black;
	
	transition: background-color 800ms linear;

	-webkit-tap-highlight-color: rgba(0,0,0,0);	/*	KILLS THE OBJECT HIGHLIGHT ON TAP	*/
}


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



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


#ALL {
	
	position: fixed;
	
	top: 0px;
	left: 0px;
	
	height: 100vh;
	width: 100vw;
	
	overflow: hidden;
	
	padding: 0px;
	
	background-color: gray;
	
	transition: background-color 1s linear;
}


/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
	SQUARES
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/


.square {
	
	position: absolute;
	
	height: 40px;
	width: 40px;	
	
	background-image: url('../images/square_a.png');
	background-repeat: no-repeat;
	background-size: contain;
	background-position: left top;
	
/* 	transition: background-image .2s linear; */
}


/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
	CONTROLS
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/

#CONTROLS {
	
	position: fixed;
	
	width: 60px;
	height: 100vh;
	
	top: 0px;
	right: -39px;
	
	padding: 10px;
	padding-left: 15px;
	padding-right: 15px;
	padding-top: 100px;
	
	background-color: white;
	background-repeat: no-repeat;
	background-size: 50%;
	background-position: 5px center;
	background-image: url('../images/grip_v.png');
	
	display: flex; 
	flex-flow: row wrap;
	justify-content: space-evenly;	
	
	transition: right .1s ease-out;
}


#CONTROLS .switch {
	
	cursor: pointer;
	
	height: 30px;
	width: 30px;
	
	background-color: white;
	background-repeat: no-repeat;
	background-size: 100%;
	background-position: center center;
	
	border-radius: 5px;
	
	outline: dotted #CCC 1px;
	
	display: none;
}


#CONTROLS .switches .switch {
	
	border-radius: 0px;
	
	margin-top: 1px;
	
}



#CONTROLS .switches .switch:nth-of-type(1) {
	
	border-radius: 5px 5px 0px 0px;
}

#CONTROLS .switches .switch:last-of-type {
	
	border-radius: 0px 0px 5px 5px;
}


#CONTROLS .space, #CONTROLS #COUNTDOWN {
	
	outline: none;
}
	
	
#CONTROLS .space {
	
	height: 1px;
	width: 1px;
	
	cursor: default;
}


#CONTROLS:hover {
	
	/*  JS	*/
}


#CONTROLS:hover div {
	
	/*  JS	*/
}



#CONTROLS .switch:hover {
	
	outline: solid silver 1px;	
}


#CONTROLS #COUNTDOWN:hover, #CONTROLS .space:hover {
	
	outline: none;	
}




#CONTROLS #COUNTDOWN {
	
	
	position: absolute;
	
	width: 1px;
	height: 100vh;
	
	bottom: 0px;
	
	margin-left: -61px;

	background-color: white;
	
	border-radius: 0px;
	
	cursor: default;
	
	display: block;
}



@media (orientation:portrait) {

	#CONTROLS {
		
		width: 100vw;
		height: 80px;
	
		top: auto;
		right: 0px;
		bottom: -50px;
		
		padding-top: 20px;
		
		background-position: center 5px;
		background-size: 15%;
		background-image: url('../images/grip_h.png');
		
		transition: bottom .1s ease-out;
	}
	
	#CONTROLS:hover {
		
		/*  JS	*/
	}	
	
	#CONTROLS .switch {

		height: 40px;
		width: 40px;
	}
	
	#CONTROLS .switches {

		width: 246px;
	}
	
	
	#CONTROLS .switches .switch {

		float: left;
		
		margin-top: 0px;
		margin-left: 1px;
	}
	
	
	#CONTROLS .switches .switch:nth-of-type(1) {
	
		border-radius: 5px 0px 0px 5px;
	}
	
	#CONTROLS .switches .switch:last-of-type {
		
		border-radius: 0px 5px 5px 0px;
	}
	
	
	#CONTROLS #COUNTDOWN {
		
		bottom: auto;
		right: 0px;
		
		width: 100vw;
		height: 1px;
		
		margin-left: 0px;
		margin-top: -21px;
		
	}
}





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

	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;

	display: none;
}





#MENU div {

}




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