@font-face {
	font-family: 'TheSansC5';
	src:  url('../fonts/TheSansC5-5_Plain.woff') format('woff');
	font-weight: normal;
	font-style: normal;
}

@font-face {
	font-family: 'TheSansExtraBold';
	src: url('../fonts/TheSansC5-8_ExtraBold.woff2') format('woff2'),
	     url('../fonts/TheSansC5-8_ExtraBold.woff') format('woff');
	font-style: normal;
	font-display: swap;
}


#planetschule_logo{
	position:absolute; 
	height:35px; 
	left:25px; 
	top:17px; 
	cursor:pointer;
}

/*   ###### AUSWAHLSCREEN */

table { 
	margin-left: auto;
	margin-right: auto;
	margin-top: 20px;
	transform: scale(1);
}

th,td{
	min-width:200px;
	vertical-align: top;
}

th{
	text-align: left;
}

html, body { height: 100%}

body {

	text-align: center;
	margin: 0 20px;

	font-size:18px;
}

body, html{

	font-family: 'TheSansC5';

	top:0px;

	display: block;
	align-items: center;
	justify-content: center;
	min-height: 100%;
	height: 100%;
	width:100%;
	padding: 0px;
	color: #224;
	background: #FFF;
	margin:0;

	overflow-x:hidden;

	margin:0;
	position:fixed;

	touch-action: auto; 
	
}

.item_content{

	pointer-events:auto;

	-webkit-user-select: none; 
	-khtml-user-select: none; 
	-moz-user-select: none; 
	-o-user-select: none; 
	user-select: none; 

	filter: drop-shadow( 0px 0px 12px rgba( 0,0,0,0.7 ) );

	-webkit-transform: translateZ(0);
	-webkit-perspective: 1000;
	-webkit-backface-visibility: hidden;

	transition: all 250ms;
}



h1 {
	font-size:24px;
	font-weight: 800;
	margin-bottom: 10px;
}

h3 {
	color: #5D98FD;
	font-size: 16px;
	margin-bottom: 6px;
}

.cards {
	position:relative;
	top:-30px;
	background: #fff;
	border-radius: 15px;
	display: inline-block;
	perspective: 1800px;
	text-align: left;
	transform-origin: 50% 50%;
	border: 0px solid red;
	width:100%
}

.card {

	border: 8px solid #FFFFFF;
	border-radius: 25px;
	display: inline-block;
	height: 175px;
	overflow: hidden;
	perspective: 1200px;
	position: relative;
	max-width: 175px;
	text-align: center;
	margin:7px;

}



.card__shadow{

	border-radius: 15px;
	box-shadow: inset 3px 3px 10px 6px rgba(0,0,0,0.6);
	display: inline-block;
	height: 175px;
	overflow: hidden;
	perspective: 1200px;
	position: relative;
	transform-style: preserve-3d;
	transform: translatez(35px);
	transition: transform 200ms ease-out;
	width: 175px;
	text-align: center;

	background: linear-gradient(to bottom, rgba(0,0,0,0) 0%,rgba(0,0,0,0.8) 100%);

	background-repeat:no-repeat;
	background-size:100% 80px;
	background-position: bottom;
}

.card__img {
	position: absolute;
	height: 100%;
}

.card__bg {
	bottom: -50px;
	left: -50px;
	position: absolute;
	right: -50px;
	top: -50px;
	transform-origin: 50% 50%;
	transform: translateZ(-50px);
	z-index: 0;
}

#card_1 {
	.card__img {
		top: 14px;
		right: -10px;
		height: 110%;
	}
}

#card_2 {
	.card__img {
		top: 25px;
	}
}


#card_3 {
	.card__img {
		top: 5px;
		left: -4px;
		height: 110%;
	}
}

#card_1:hover {
	border: 8px solid #5D98FD;
}

#card_2:hover {
	border: 8px solid #80bb4f;
}

#card_3:hover {
	border: 8px solid #b56dfd;
}

#card_4:hover {
	border: 8px solid #ea489d;
}

#card_5:hover {
	border: 8px solid #56cfd4;
}

#card_6:hover {
	border: 8px solid #d7352a;
}

.card_1_active {
	border: 8px solid #5D98FD;
}

.card_2_active {
	border: 8px solid #80bb4f;
}

.card_3_active {
	border: 8px solid #b56dfd;
}

.card_4_active{
	border: 8px solid #ea489d;
}

.card_5_active {
	border: 8px solid #56cfd4;
}

.card_6_active {
	border: 8px solid #d7352a;
}

.card_active{
	outline: 8px solid #ff00cc;
	cursor:pointer; 
}

.card__text {
	align-items: center;

	bottom: 0;
	display: flex;
	flex-direction: column; 
	height: 70px;
	justify-content: center;
	position: absolute;
	width: 100%;
	z-index: 2;

	cursor:pointer; 

}

.card__title {
	color: #fff;
	font-size: 18px;
	font-weight: 700;
	padding: 0 10px;

	-webkit-user-select: none; /* Safari */
	-ms-user-select: none; /* IE 10 and IE 11 */
	user-select: none; /* Standard syntax */

	cursor:pointer; 
}

#textcon{
	position:relative;
	left:5%
}

#cardcon{
	display: grid;
	grid-template-columns: auto auto auto;
	padding-top: 10px;
	justify-content:center;
	cursor:pointer; 
}

@media all and (min-width: 1000px) {
	#themen_head{
		position:relative;
		left:-190px;
		margin-top:30px;
	}
	#startbtn{
		top: -260px;
		left:400px;
	}
}

@media all and (max-width: 1000px) {

	#startbtn{
		top: 0px;
		left:0px;
	}

	.card{
		height: 140px;
		max-width: 140px;
	}

	.card__shadow{
		height: 140px;
		max-width: 140px;
	}

	table { 
		margin-left: auto;
		margin-right: auto;
		
		transform: scale(0.8);
	}

}

@media all and (max-width: 576px) {

	#startbtn{
		top: -20px;
		left: 0px;
	}

	#cardcon {
		grid-template-columns: auto auto;
	}

	.card{
		height: 140px;
		max-width: 140px;
	}

	.card__shadow{
		height: 140px;
		max-width: 140px;

	}

	table { 
		margin-left: auto;
		margin-right: auto;
		transform: scale(0.8);
	}

}
/*   ###### AUSWAHLSCREEN ENDE*/	







a{
	text-decoration: none;
}

#header{
	position:relative; 
	width:100%; 
	height:67px; 
	left:0px; 
	top:0px; 
	background:#003280; 
	z-index: 100000000000000000; 
	-webkit-box-shadow: 3px 3px 9px 0px rgba(0,0,0,0.6); 
	box-shadow: 3px 3px 9px 0px rgba(0,0,0,0.6);
	user-select:none;

}

#burger_menu{
	position:absolute; 
	height:100%; 
	width:350px; 
	top:0px; 
	right:0px;  
	background:rgba(255,255,255,1); 
	z-index:100; 
	text-align: left;
	color:#000;
	font-size:38px;			
	-webkit-box-shadow: 1px 1px 23px 1px rgba( 0,0,0,0.4 ); 
	box-shadow: 1px 1px 23px 1px rgba( 0,0,0,0.4 );
	z-index: 200000000000000000000000000000000;
	display: none;		
}

#burger_menu div{
	position: relative;
	clear:both;
	top:50px;
	font-size: 20px;
	cursor:pointer;
	margin-left:50px;
	margin-top:20px;
	cursor:pointer;
	color:#003280;
}


#burger_menu img{
	cursor:pointer;
}

.burger_menu_item_hidden{
	opacity:0.5;
	pointer-events: none;
}

.hide_burger{
	width:30px; 
	height:30px; 
	position:absolute; 
	right:15px; 
	top:15px; 
	cursor:pointer;
}

#burger{
	position:absolute; 
	height:37px; 
	right:16px; 
	top:15px; 
	cursor:pointer;
}

#sound_icon{
	position:absolute; 
	height:45px;
	right:75px;
	top:11px;
	cursor:pointer;
}

#contrast_icon{
	position:absolute;
	height:32px;
	right:150px;
	top:17px;
	cursor:pointer;
}

#wrapper{

	position:absolute;

	margin:0;
	padding:0;

	left:0px;
	top:0px;

	height: 100%;
	width:100%;

	overflow:hidden;

}

#stage_container{

	position:relative;

	margin:0 auto;

	left:0px;
	top:10px;
	width:400px;
	height:300px;

	border:solid 0px red;

	-webkit-user-select: none; 
	-khtml-user-select: none; 
	-moz-user-select: none; 
	-o-user-select: none; 
	user-select: none; 

}

#stage{

	position:relative;

	left:40px;
	top:100px;
	width:690px;
	height:700px;

	margin:0 auto;

	transform-origin: top left;

	border:solid 10px #FFF;

	border-radius:35px;

	background:#5d98fd;

	overflow:hidden;
	display:block;

	pointer-events: none;

	-webkit-user-select: none; 
	-khtml-user-select: none; 
	-moz-user-select: none; 
	-o-user-select: none; 
	user-select: none; 

}

#stage_shadow{

	position:absolute;

	left:0px;
	top:0px;
	width:100%;
	height:100%;

	border-radius:25px;

	box-shadow: inset 3px 3px 5px 6px rgba(0,0,0,0.3);

	background:transparent;

	z-index:1000000000;

	pointer-events: none;

	-webkit-user-select: none; 
	-khtml-user-select: none; 
	-moz-user-select: none; 
	-o-user-select: none; 
	user-select: none; 

}

#animation_container{

	background-color:rgba(255, 255, 255, 0); 
	width:700px; 
	height:700px;

}

#canvas{
	position: absolute; 
	display: block; 
	background-color:rgba(255, 255, 255, 0);
}

#dom_overlay_container{
	position: absolute; 
	left: 0px; 
	top: 0px; 
	
	width:700px; 
	height:700px; 
	
	display: block;
	pointer-events:none; 
	overflow:hidden; 
}

#find_box{

	position:relative;
	left:50px;
	top:320px;

	margin: 0 auto;

	width:180px;
	height:180px;	

	border-radius:25px;

	background:#FFF;

	text-align: center;

}

#find_sound{
	position:absolute;
	height:45px;
	width:45px;
	top:-15px;
	left:152px;
	cursor:pointer;
	background:#FFF;
	border-radius:30px;
	border:solid 3px #FFF;
}

#find_prev, 
#find_next{
	position:absolute;
	cursor:pointer;
}

#find_prev{
	top:70px;
	left:-55px; 
}

#find_next{
	top:65px;
	left:190px; 
	transform: rotate(180deg);
}

.find_disabled{
	opacity:0.6;
	pointer-events: none;
}

#find_text_decker{

	position:absolute;
	left:-12px;
	top:190px;

	width:200px;
	height:100px;

	text-align: center;
	border:solid 0px red;
	font-size: 25px;
	user-select:none;

}

mark{
	color:white;
	background-color: white;
}


#find_text{

	position:absolute;
	left:-12px;
	top:190px;

	width:200px;
	height:100px;

	text-align: center;
	border:solid 0px red;
	font-size: 25px;
	user-select:none;
}


#find_image{

	position:absolute;
	left:0px;
	top:30px;

	width:178px;
	height:140px;

	overflow:hidden;

	text-align: center;
	border:solid 0px red;
	font-size: 25px;

}

#find_image img{

	position:absolute;
	width:120px;
	user-select:none;
	pointer-events:none;

}

#display_container{
	position: relative;
	top:170px;
	left:50px;
	user-select:none;
}

#display{
	width: 100px;
	margin: auto;
	background-color: white;
	height: 45px;
	border-radius: 25px;
	border: 4px solid #56cfd4;
	font-size: 20px;
	color: #56cfd4;
	font-weight: bold;
	padding-top: 6px;
	padding-bottom: 0;
	box-sizing: border-box;
}









#room_background{

	position:absolute;

	top:-600px;
	left:-600px;

	width:2800px;
	height:2800px;

	background: #999;

	z-index:2;

	pointer-events: none;

	-webkit-transform: translateZ(0);
	-webkit-perspective: 1000;
	-webkit-backface-visibility: hidden;

	-webkit-user-select: none; 
	-khtml-user-select: none; 
	-moz-user-select: none; 
	-o-user-select: none; 
	user-select: none; 

	opacity:0.95;

}



#room_foreground{

	position:absolute;

	top:200px;
	left:300px;

	width:2000px;
	height:2000px;

	z-index:5000000000;

	pointer-events: none;

	-webkit-transform: translateZ(0);
	-webkit-perspective: 1000;
	-webkit-backface-visibility: hidden;

}




#room{

	position:absolute;
	width:4000px;
	height:4000px;

	border:solid 0px green;

	z-index:10000;


}


.item{

	position:absolute;

	color: #bc2e1e;

	border:solid 0px red; 

	-webkit-transform: translateZ(0);
	-webkit-perspective: 1000;
	-webkit-backface-visibility: hidden;

	-webkit-user-select: none; 
	-khtml-user-select: none; 
	-moz-user-select: none; 
	-o-user-select: none; 
	user-select: none; 

	pointer-events:none;

}


@keyframes item_animation_right {
	0%{
		transform: rotate(0deg);
	}
	100%{
		transform: rotate(360deg);
	}
}

@keyframes item_animation_left {
	0%{
		transform: rotate(360deg);
	}
	100%{
		transform: rotate(0deg);
	}
}



#start_container{
	position:absolute;
	padding-top:60px;
	background:#FFF;
	color:#000;
	top:0px;
	left:0px;
	width: 100%;
	height: 100%;
	z-index: 1000000000;
}



#container {
	display: table;
	table-layout:fixed;
	width: 100%;
	height: 100%;
}

.pivot {
	display: table-row;

}
.column-child {
	display: table-cell;
	vertical-align: top;
	text-align: center;
	overflow: visible;
	border:solid 0px red;
}



@media (max-width: 500px) {

	#stage_container{

		height:80vw;

	}

	#planetschule_logo{

		height:25px;
		top:20px;

	}

	#display_container{
		top:10px;
		left:0px;
	}

	#find_box{

		top:40px;
		left:0;

	}


}


@media (max-width: 850px) {

	body{
		font-size:24px;
	}
	
	#find_box{

		top:30px;
		left:0;

	}

	#stage{

		left:0px;
		top:70px;

	}

	#raum_head{
		display:none;
	}


	#stage_container{

		width:500px;
		height:575px;

	}

	#display_container{
		top:10px;
		left:0px;
	}

	.pivot {
		display: table;
		table-layout: fixed;
		width: 100%;
		height: 100%;
	}
	.column-child {
		display: table-row;
	}

	.row-child {
		display: table-cell;
		vertical-align: top;
		text-align: center;
		overflow: hidden;
		border:solid 0px green;
	}

	.row-left{
		height: 500px !important;
		border:solid 0px pink; 
	}

	.row-right{  
		height: 300px !important;
		border:solid 0px blue;	         	 
	}

	#anleitungbtn{
		font-size:20px !important;
	}

}


.circle {
	height: 100px;
	width: 100px;
	margin: 0 auto;
	border-radius: 50%;
}

#sprachauswahl{
	position:relative;

	width:auto;
}

#nextFlag, #nextLevel{
	width:40px;
	height:40px;
	display:inline-block;
	vertical-align: middle;
	opacity:1;
	cursor:pointer;
}

#prevFlag, #prevLevel{
	width:40px;
	height:40px;
	display:inline-block;
	vertical-align: middle;
	opacity:0.5;
	cursor:default;
}

.flag{
	position:absolute;
	border-radius:16px;
}


#flag_en{
	left:0px;
}
#flag_fr{
	left:110px;
}
#flag_de{
	left:220px;
}

#flags,#levels{
	position:relative;
	width:100px;
	height:100px;
	overflow: hidden;
	display:inline-block;
	vertical-align: middle
}

#flagscon,#levelscon{
	position:relative;
	left:5px;
}

#level_head, #lang_head{
	font-size:24px;
	font-weight: 800;
	margin-bottom: 10px;
}

#levelauswahl, #sprachauswahl{
	font-size: 18px;
}

#level_image{
	position:absolute;
	left:0;
}

#level_image_snippet{
	position:relative;
	top:-36px;
	font-size: 18px;
}

#level_text{
	position:absolute;
	left:110px;
}

#level_text_snippet{
	position:relative;
	top:-62px;
	font-size: 18px;
}

.level{
	box-sizing: border-box;
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	border-radius:17px;
	border: 3px dotted black;
}

#startbtn{
	position:relative;

	padding: 10px 20px 10px 20px; 
	cursor: pointer;
	width:150px;
	height:60px;
	border-radius:30px;
	border:none;
	background:#003280;
	color:white;
	font-size:24px;
	margin-bottom:100px;
}



#startbtn_title{
	position:relative;

	padding: 10px 20px 10px 20px; 
	cursor: pointer;
	width:150px;
	height:60px;
	border-radius:30px;
	border:none;
	background:#003280;
	color:white;
	font-size:24px;
}

#anleitung{
	position:relative; 
}


#anleitungs_text{
	position:relative; 
	width:calc(100%-40px);
	max-width:600px;
	margin:auto;
	padding:20px;
	text-align:left
}

#anleitungbtn{
	position:relative;
	cursor: pointer;
	border:none;
	color:#003280;
	background-color: Transparent;
	font-size:14px;
	margin:0;
	padding:0;
}

#auswahlbtn{
	position:relative;

	padding: 10px 20px 10px 20px; 
	cursor: pointer;
	width:220px;
	height:60px;
	left:-20px;
	border-radius:30px;
	border:none;
	background:#003280;
	color:white;
	font-size:24px;
}

#raum_head{
	position:relative;
	top:90px;
	left:40px;
	font-size:36px;
	text-align:left;
	user-select: none;
}


#finish_animation{
	display:none;
	position:relative;
	top:0px;
	z-index:20000;
}

#ani_img{
	-webkit-user-select: none;
	-khtml-user-select: none;
	-moz-user-select: none;
	-o-user-select: none;
	user-select: none;
	pointer-events: none;
}


.blackwhite{
	filter: saturate(0);
}


#title{
	position: absolute;
	width: 100%;
	height: 1000px;
	top: 67px;
	z-index: 3000000000;
	background-color: white;
}

#title_img{
	margin: auto;
	width:100%;
	max-width: 400px;
	display: block;
	height:auto;
}


@keyframes spin {
	0% {
		transform: translateY(0) rotate(0deg);
	}
	100% {
		transform: translateY(0%) rotate(360deg);
	}
}

#fluid{
	animation: spin 8s linear infinite;
	border-radius:200px;
	position:absolute; 
	width:600px; 
	height:600px; 
	top:50px; 
	left:calc(50% - 300px); 
	background-color:white;
	opacity:0.9;
	display:none;

}

#more{
	display:none;
}


#credits{
	position: absolute;
	width: 100%;
	height:auto;
	top: 67px;
	z-index: 3000000001;
	background-color: white;
	text-align:left;
	display:none;

}

#credits_content{

	position:relative; 
	width:calc(100%-40px);
	max-width:300px;
	margin:auto;
	padding:20px;
	text-align:left
}

#credits_img{
	margin: auto;
	width:100%;
	max-width: 400px;
	display: block;
	height:auto;
}

#instructions_page{
	position: absolute;
	width: 100%;
	height: auto;
	top: 67px;
	z-index: 3000000001;
	background-color: white;
	text-align:left;
	display:none;
}

#instructions_content{

	position:relative; 
	width:calc(100%-40px);
	max-width:500px;
	min-width:320px;
	margin:auto;
	padding:20px;
	text-align:left
}

#instructions_img{
	margin: auto;
	width:100%;
	max-width: 400px;
	display: block;
	height:auto;
}

#share{
	position: absolute;
	width: 100%;
	height: auto;
	top: 67px;
	z-index: 3000000001;

	text-align:left;
	display:none;
}

#share_content{

	position:relative; 
	width:calc(100%-40px);
	max-width:300px;
	margin:auto;
	padding:20px;
	text-align:left
}

#share_img{
	margin: auto;
	width:100%;
	max-width: 400px;
	display: block;
	height:auto;
}

h4{
	margin-bottom: -10px;
}

input[ type='text' ]{
	padding:10px;
	width: calc(100% - 20px);
	font-size: 20px;
	text-align: center;
	border-radius: 5px;
	border:none;
	margin:0 auto;
	margin-top:0px;
	margin-bottom:6px;
	border:solid 2px #003280;
}

.close_icon{
	position:absolute; 
	top:24px; 
	right:20px;; 
	width:25px; 
	height:25px; 
	cursor:pointer; 	
}

#copybtn{
	position:relative;

	padding: 10px 20px 10px 20px; 
	cursor: pointer;
	width:240px;
	height:60px;
	border-radius:30px;
	border:none;
	background:#003280;
	color:white;
	font-size:24px;
	margin-bottom:100px;
}

#copybtn_container{
	position:relative; 
	text-align:center;
}

.invisible{
	display:none !important;
}

#game_container{
	position:relative;
	height:0px;

}