/* ALLGEMEIN */
:root{	
	--viewport-height: 100vh;
}
@supports (height: 100dvh) {
  :root {
    --viewport-height: 100dvh;
  }
}

html,body{
	width:100%;
	height:100%;
}

body {
	border:0;
	margin:0;
	padding:0;
	font-family: 'Roboto', sans-serif;
	font-size:1rem;
	color:#595959;
	overflow-y: scroll;
	background-color:#ffffff;
}
#stadtmarketing-container{
	max-width:1000px;
	margin:0 auto;
    position: relative;
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
	justify-content: space-between;
    height: 100%;
	overflow:hidden;

	background-image:URL('../images/bg-game.jpg');
	background-size:cover;
	background-position:top;
	background-repeat:no-repeat;
}

#main{
	/* position:absolute; */
	flex-grow:1;
	width:100%;
	
}

.position{
	display:none;
	font-size:1rem;
	position:absolute;
	z-index:51;
	width:60px;
	top:0px;
}
#content{
	margin:0px auto;
	width:90%;
}

.topbg{
	width:100%;
	position:fixed;
	z-index:90;
	background-color:#ffffff;
	padding:20px 10px 0px;
	text-align:center;
}
.topbg-bogen img{
	width:100%;
}
.topbg::after{
	display:block;
	content:'';
	border-radius:0 0 50% 50%;
	width:120%;
	position:absolute;
	left:-10%;
	top:100%;
	height:25px;
	background-color:#ffffff;
}

.topstart-logo{
	top:32px;
	width:100%;
	box-sizing:border-box;
}
.topstart-logo img{
	width:60% !important;
	margin:0px auto !important;
}
.topstart-logo-game{
	position:absolute;
	top:12px;
	width:100%;
	box-sizing:border-box;
}
.topstart-logo-game img{
	width:30% !important;
	max-width:200px;
	margin:0px auto !important;
}

/* MENU */

#stadtmarketing-menu{
	width:100%;
	height:80px;
	z-index:999;
	border-top:2px solid #d4c09b;
	background:rgba(255,255,255,0.2);
	padding:5px;
	padding-top:8px;
	box-sizing:border-box;
}
.stadtmarketing-menu-itemcontainer{
	width:90%;
	height:60px;
	margin:0px auto;
	display:flex;
	flex-flow:row nowrap;
	gap:5px;
	justify-content: space-around;
}
.stadtmarketing-menu-item{
	width:55px;
	text-align:center;
	cursor:pointer;
	height:55px;	
	background:rgba(255,255,255,0.6);
	border-radius:30px;
	
}
.stadtmarketing-menu-item-0._active, .stadtmarketing-menu-item-1._active, .stadtmarketing-menu-item-2._active, .stadtmarketing-menu-item-3._active,.stadtmarketing-menu-item-4._active{
	/*background-color:#ffffff;*/
	background-color:#ffffff;
	border-radius:50px;
	box-sizing:border-box;
}
#dialogue-button, #map-button, #list-button, #highscore-button, #settings-button{
	width:55px;
	height:55px;
	background:rgba(255,255,255,0.6);
	border-radius:50%;
	cursor:pointer;
	background-size:90% auto;
	background-position:center;
	background-repeat:no-repeat;
}
#dialogue-button._active, #map-button._active, #list-button._active, #highscore-button._active, #settings-button._active{
	background-color:#ffffff;
	border-radius:50px;
	box-sizing:border-box;
}
#dialogue-button{
	background-image:URL('../images/icon-menu0.png');
}
#map-button{
	background-image:URL('../images/icon-menu1.png');
}
#list-button{
	background-image:URL('../images/icon-menu2.png');
}
#highscore-button{
	background-image:URL('../images/icon-menu3.png');
}
#settings-button{
	background-image:URL('../images/icon-menu4.png');
}
/*
.stadtmarketing-menu-item-0{
	width:100%;
	height:100%;
	background-image:URL('../images/icon-menu0.png');
	background-size:90% auto;
	background-position:center;
	background-repeat:no-repeat;
}
.stadtmarketing-menu-item-1{
	width:100%;
	height:100%;
	background-image:URL('../images/icon-menu1.png');
	background-size:90% auto;
	background-position:center;
	background-repeat:no-repeat;
}
.stadtmarketing-menu-item-2{
	width:100%;
	height:100%;
	background-image:URL('../images/icon-menu2.png');
	background-size:90% auto;
	background-position:center;
	background-repeat:no-repeat;
}
.stadtmarketing-menu-item-3{
	width:100%;
	height:100%;
	background-image:URL('../images/icon-menu3.png');
	background-size:90% auto;
	background-position:center;
	background-repeat:no-repeat;
}
.stadtmarketing-menu-item-4{
	width:100%;
	height:100%;
	background-image:URL('../images/icon-menu4.png');
	background-size:90% auto;
	background-position:center;
	background-repeat:no-repeat;
}*/

/* START */
.start-bild{
	background-image:url('../images/startbild.jpg');
	background-size:cover;
	background-position:center;
	background-repeat:no-repeat;
	
	flex-grow:1;
	flex-shrink:1;
	height:300px;
}
.start-content{
	float:left;
	background-image:URL('../images/woodbg.jpg');
	background-size:100% auto;
	background-repeat:no-repeat;
	box-sizing:border-box;
	padding:30px;
	padding-top:55px;
	color:#ffffff;
	font-size:1.2em;
	font-weight:300;
	text-align:center;
	height:100%;
	width:100%;
}
.start-content-check{
	float:left;
	background-image:URL('../images/woodbg.jpg');
	background-size:100% auto;
	background-repeat:no-repeat;
	box-sizing:border-box;
	padding:30px;
	padding-top:50px;
	margin-top:100px;
	color:#ffffff;
	font-size:1.2em;
	font-weight:300;
	text-align:center;
	height:100%;
	width:100%;
}
.start-content-check-box{
	width:100%;
	margin:0 auto;
	padding:20px;
	box-sizing:border-box;
	background:rgba(0,0,0,0.4);
	border-radius:20px;
	margin-bottom:15px;
}
.start-content-check-box-ok{
	background:rgba(84,122,24,0.8);
}
.start-content-check-box-haken{
	width:40px;
	height:40px;
	box-sizing:border-box;
	background:rgba(0,0,0,0.4);
	border-radius:10px;
	float:left;
	margin-left:-8px;
	margin-top:-8px;
}
.start-content-check-box-haken-checked{
	background-image:URL('../images/haken.png');
	background-size:100% auto;
	background-repeat:no-repeat;
}

#stadtmarketing-start{
	width:100%;
	height:100%;
	margin: 0px;
	display:flex;
	flex-flow:column nowrap;
	justify-content:space-between;
}
#stadtmarketing-start img{
	/* width:100%; */
}
.textinput{
	border-radius:7px;
	border:2px solid #c8c8c8;
	background-image:URL('../images/input-bg.jpg');
	background-size:100% auto;
	background-repeat:repeat-x;
	height:26px;
	padding:10px;
	font-size:1.6rem;
}

.mainarea{
	/* float:left; */
	width:100%;
	flex-grow:1;
	background:rgba(61,61,61,0.8);
	display:flex;
	flex-flow:column nowrap;
}

.sprechblase1{
	background:rgba(0,0,0,0.6);
	border-radius:12px;
	width:calc(100% - 80px);
	margin:0px auto;
	margin-top:0px;
	margin-left:40px;
	margin-bottom:30px;
	margin-right:50px;
	box-sizing:border-box;
	padding:30px;
	padding-left:50px;
	color:#ffffff;
	font-size:1.1em;
	float:left;
	position:relative;
}
.sprechblase-start-narrator{
	position:absolute;
	left:50%;
	transform:translateX(-50%);
	margin-top:-141px;
	width:120px;
	height:120px;
	text-align:center;
	border:4px solid rgba(255,255,255,0.6);
	border-radius:50%;
	background-image: url('../images/erzaehler.png');
	background-size:cover;
	background-position:center;
	background-repeat:no-repeat;
}
.sprechblase-start-narrator img{
	width:100%;
}
.sprechblase1-narrator{
	position:absolute;
	left:-15px;
	top:-20px;
	width:60px;
	height:60px;
	text-align:center;

	background-size:cover;
	background-position:center;
	background-repeat:no-repeat;
}
.chat-textaudio{
	width:70%;
	margin-top:30px;
}
.chat-textaudio.active{
	filter:sepia(100%) hue-rotate(45deg) saturate(150%);
}
.chat-container{
	/* height:90vh; */
	overflow-y:auto;
	padding-top:40px;
	box-sizing:border-box;
}
.chat-chats{
	flex-shrink:1;
}
.chat-chats::after{
	content:'';
	display:block;
	clear:both;
}
.chat-template1,.chat-template2{
	display:none;
}

.sprechblase2{
	background:rgba(213,11,57,0.6);
	border-radius:12px;
	float:right;
	margin-right:20px;
	margin-bottom:30px;
	box-sizing:border-box;
	padding:30px;
	color:#ffffff;
	font-size:1.1em;
	text-align:right;
}
.sprechblase1._new,.sprechblase2._new{
	animation: chatnewtext 0.7s 0.0s forwards;
}

.answerbuttons{
	margin:0 20px;
}
.button-answer, .button-solution{
	padding:15px;
	border-radius:12px;
	border:0px;
	color:#ffffff;
	font-family: 'Roboto', sans-serif;
	font-size:1.2rem;
	font-weight:300;
	width:100%;
	box-sizing:border-box;
	text-align:center;
	cursor:pointer;
	/* height:65px; */
	margin-top:15px;
	-webkit-box-shadow: 0px 1px 4px 0px #000000; 
	box-shadow: 0px 1px 4px 0px #000000;	
	background: rgb(148,18,47);
	background: linear-gradient(0deg, rgba(148,18,47,1) 0%, rgba(179,35,68,1) 50%, rgba(198,57,89,1) 100%);
}
.minigame-input{
	padding:15px;
	border-radius:12px;
	border:0px;
	color:#000000;
	font-family: 'Roboto', sans-serif;
	font-size:1.2rem;
	font-weight:300;
	width:100%;
	box-sizing:border-box;
	box-shadow: 0px 1px 4px 0px #000000;	
	background: rgb(255,255,255);
	border:1px solid #cccccc;
}

#overlay{
	position:absolute;
	width:94%;
	margin-left:3%;
	top:12px;
	height:85%;
	background-color:#f1f1f1;
	-webkit-box-shadow: 0px 1px 4px 0px #000000; 
	box-shadow: 0px 1px 4px 0px #000000;
	z-index:1500;
	box-sizing:border-box;
	border:12px solid #ffffff;
	overflow:scroll;
}
#overlay-bg{
	position:absolute;
	width:94%;
	margin-left:3%;
	top:12px;
	height:85%;
	-webkit-box-shadow: 0px 1px 4px 0px #000000; 
	box-shadow: 0px 1px 4px 0px #000000;
	z-index:1500;
	box-sizing:border-box;
	border:12px solid #ffffff;
	overflow:scroll;
	background-image:URL('../images/background.jpg');
	background-size:200% auto;
}
#overlay-quiz{
	position:absolute;
	width:100%;
	height:100%;
	z-index:1500;
	box-sizing:border-box;
	overflow:scroll;
	background-image:URL('../images/background-quiz.jpg');
	background-size:200% auto;
}
	

.map{
	width:100%;
	height:100%;
}
.map-spot{
	position:absolute;
	width:30px;
}
.map-spot img{
	width:100%;
}
.map-spot-infotext{
	position:absolute;
	width:150px;
	background:rgba(0,0,0,0.6);
	text-align:center;
	border-radius:6px;
	padding:5px;
	font-size:0.9em;
	color:#fff;
}
.map-your-position{
	position:absolute;
	width:20px;
	height:20px;
	background-color:#2383ef;
	border-radius:20px;
}
.map-legende{
	position:fixed;
	left:35px;
	top:35px;
	width:40px;
}
.map-legende img{
	width:100%;
}
.map-close{
	position:fixed;
	right:35px;
	top:35px;
	width:40px;
}
.map-close img{
	width:100%;
}

.map-details-top{
	width:100%;
	float:left;
	padding:25px;
	background-color:#272727;
	color:#ffffff;
	font-weight:600;
}
.map-details-pic{
	width:100%;
	float:left;
}
.map-details-pic img{
	width:100%;
}
.map-details-text{
	width:100%;
	float:left;
	box-sizing:border-box;
	padding:25px;
	overflow:scroll;
}
.map-details-gamestart{
	position:absolute;
	bottom:0px;
	background-color:#d60f0f;
	height:120px;
	box-sizing:border-box;
	padding:25px;
	color:#ffffff;
	text-align:center;
}
.map-details-gamestart-info{
	margin:0 auto;
	position:relative;
	margin-top:-50px;
	width:70px;
	margin-bottom:10px;
}
.map-details-gamestart-info img{
	width:100%;
}

.green-box {
	/* float:left; */
	width:90%; 
	margin-left:5%;
	margin-bottom:40px;
	color: #ffffff;
	/* background-color: #008616; 	 */
    background:linear-gradient(to bottom,var(--button-color1) 0%, var(--button-color2) 100%);
    border-radius:12px;
    box-shadow:0 0 12px rgba(255,255,255,0.5); 
	/* border-radius: 15px;  */
	font-size:1.5rem;
	text-align:center;
	padding:10px;
	cursor:pointer;
	-webkit-tap-highlight-color: transparent;
}
.chat-chats .green-box {
	float:left;
}


.green-box._anim{
	animation: infoanim 4s 0s infinite;
}

/* CARDS */

.cards-progress{
	float:left;
	width:65%;
	height:40px;
	margin-top:15px;
	margin-left:17px;
	margin-bottom:15px;
}
.cards-progress-bar-bg{
	width:100%;
	height:10px;
	background-color:#d9d9c8;
	margin-top:25px;
}
.cards-progress-bar-progress{
	width:20%;
	height:10px;
	background-color:#d60e3b;
}
.cards{
	width:90%;
	margin:0 auto;
}
.card{
	float:left;
	width:47%;
	height:180px;
	border-radius:8px;
	border:1px solid grey;
	-webkit-box-shadow: 0px 1px 2px 0px #000000; 
	box-shadow: 0px 1px 2px 0px #000000;
	box-sizing:border-box;
	background-color:#fff;
	padding:10px;
	margin-bottom:12px;
}
.card-text{
	margin-top:8px;
	font-size:0.8em;
}
.card img{
	width:100%;
}
.card-wide-year{
	float:left;
	font-size:2em;
	font-weight:600;
	margin-bottom:10px;
}
.card-wide{
	float:left;
	width:100%;
	height:200px;
	border-radius:8px;
	border:1px solid grey;
	-webkit-box-shadow: 0px 1px 2px 0px #000000; 
	box-shadow: 0px 1px 2px 0px #000000;
	box-sizing:border-box;
	background-color:#fff;
	padding:10px;
	margin-bottom:25px;
	overflow:hidden;
}
.card-wide-text{
	margin-top:8px;
	font-size:0.8em;
}
.card-wide-img{
	width:100%;
	height:100%;
	border:1px solid blue;
	overflow:hidden;
}
.card-wide-img img{
	width:100%;
}
.card-margin{
	margin-right:4%;
}
.card-question{
	font-size:6em;
	text-align:center;
	width:100%;
	margin-top:16px;
	opacity:0.6;
}

/* HIGHSCORE */

.scores{
	width:90%;
	margin:0 auto;
	font-size:0.8em;
}
.tableheader{
	background-color:#575757;
	color:#fff;
}

/* QUIZ */
.quiz-dots{
	float:left;
	color:#fff;
	margin-left:20px;
	margin-top:35px;
}
.quiz-counter{
	float:right;
	width:100px;
	height:100px;
	border-radius:50px;
	background:rgba(0,0,0,0.6);
	margin-top:20px;
	margin-right:20px;
	box-sizing:border-box;
	text-align:center;
	color:#fff;
	border:1px solid #ac9573;
	margin-bottom:30px;
}
.quiz-counter-number{
	font-size:2em;
	margin-top:30px;
}
.quiz-dot{
	float:left;
	width:20px;
	height:20px;
	border:1px solid grey;
	border-radius:10px;
	margin-right:10px;
}
.quiz-dot-aktiv{
	background-color:#a2d580;
}
.quiz-question{
	width:90%;
	text-align:center;
	margin:0 auto;
	font-size:2.2em;
	color:#fff;
}
.quiz-answers{
	position:absolute;
	bottom:40px;
	width:90%;
	margin-left:5%;
	font-size:0.8em;
}

/* PAGETOP */

#pagetop{
	float:left;
	width:100%;
	height:87px;
	background-image:URL('../images/topbg.jpg');
	background-size:100% auto;
	background-position:center;
}
.pagetop-logo{
	float:left;
	width:120px;
	margin-left:27px;
	margin-top:20px;
}

.pagetop-logo img{
	width:100%;
}

.pagetop-bg-content{
	float:right;
	font-size:1.6rem;
	font-weight:600;
	color:#ffffff;
	margin-right:30px;
	margin-top:45px;
}

/* CONTENT */
#content-scrollcontent{
	height:100%;
	overflow-y:scroll;
	overflow-x:hidden;
	width:616px;
}
.content-area{
	float:left;
	margin-top:27px;
	margin-left:27px;
}
.content-box{
	float:left;
	width:255px;
	height:195px;
	margin-bottom:30px;
}
.zaehlernummer-box{
	float:left;
	width:500px;
	border:1px dashed grey;
	padding:20px;
	font-size:2rem;
	font-weight:300;
	margin-top:20px;
	cursor:pointer;
	height:45px;
}
.zaehlernummer-box.active{
	background-color:#b2b2b2;
}
.zaehlernummer-box:hover{
	background-color:#eaeaea;
}
.zaehlernummer-box-done{
	float:right;
	width:180px;
	padding:10px;
	padding-left:20px;
	font-size:1rem;
	font-weight:300;
	margin-bottom:20px;
	background-color:#609329;
	color:#ffffff;
	cursor:pointer;
	margin-top:-20px;
	margin-right:-20px;
}
.zaehlernummer-box-content{
	float:left;
	width:540px;
	height:400px;
	border:1px dashed grey;
	background-image:url('../images/test/stromzaehler.jpg');
	background-size:100% auto;
	display:none;
}
	
hr{
	height:1px;
	border:0;
	background-color:#aaaaaa;
}

.left{ 
	float:left; 
}
.right{ 
	float:right; 
}
.clear{
	clear:both;
}
/*
.button{
	padding:10px;
	border-radius:12px;
	border:0px;
	background-color:#84943b;
	color:#ffffff;
	font-family: 'Roboto', sans-serif;
	font-size:1.4rem;
	font-weight:300;
	width:80%;
	text-align:center;
	cursor:pointer;
	height:65px;
	margin-top:1px;
	margin-top:15px;
	transition:0.3s;
	background: #d70e3c; 
	-webkit-box-shadow: 0px 1px 4px 0px #000000; 
	box-shadow: 0px 1px 4px 0px #000000;
	background: rgb(154,4,38);
	background: linear-gradient(0deg, rgba(154,4,38,1) 0%, rgba(207,10,55,1) 50%, rgba(215,15,60,1) 100%);
}*/


.button{
	border:0;
	
	width:80%;
	margin:0 auto;
	padding:15px 30px;
	background-color:#ff0000;
	border-radius:12px;
	box-sizing:border-box;
	box-shadow:0px 1px 3px rgba(0,0,0,0.4);
	text-align:center;
	font-size:1.2rem;
	position:relative;
}
.button::after{
	position:absolute;
	display:block;
	content:'';
	top:0;
	left:0;
	right:0;
	bottom:0;
	background:linear-gradient(to bottom, rgba(0, 0, 0, 0) 30%, rgba(0, 0, 0, 0.25) 100%);
	border-radius:12px;
}
.button a{
	position:absolute;
	top:0;
	left:0;
	right:0;
	bottom:0;
	z-index:10;
}

.button-settings{
	padding:5px;
	padding-top:8px;
	border-radius:12px;
	border:0px;
	background-color:#84943b;
	color:#ffffff;
	font-family: 'Roboto', sans-serif;
	font-size:1.3rem;
	font-weight:300;
	width:100%;
	text-align:center;
	cursor:pointer;
	height:65px;
	margin-top:15px;
	background: #d70e3c; /* Old browsers */
	-webkit-box-shadow: 0px 1px 4px 0px #000000; 
	box-shadow: 0px 1px 4px 0px #000000;
	background: rgb(154,4,38);
	background: linear-gradient(0deg, rgba(154,4,38,1) 0%, rgba(207,10,55,1) 50%, rgba(215,15,60,1) 100%);
	box-sizing:border-box;
}

h1{
	font-family: 'Roboto', sans-serif;
	font-size:2.5em;
	padding:0px;
	margin:0px;
	border:0px;
	color:#ffffff;
	font-weight:400;
	margin-bottom:30px;
}

h2{
	font-family: 'Roboto', sans-serif;
	font-size:1.6em;
	padding:0px;
	margin:0px;
	border:0px;
	color:#4b4b4b;
	font-weight:600;
}

h3{
	font-family: 'Roboto', sans-serif;
	font-size:1.6em;
	padding:0px;
	margin:0px;
	border:0px;
	font-weight:400;
}


.bold{
	font-weight:600;
}
.italic{
	font-style:italic; 
}

a {
	font-family: 'Roboto', sans-serif;
	text-decoration: none;
	color:#595959;
}

a:hover {
	font-family: 'Roboto', sans-serif;
	text-decoration: none;
	color:#595959;
}

a:active {
	font-family: 'Roboto', sans-serif;
	text-decoration: none;
	color:#595959;
}


table td{
	vertical-align:top;
}

img{
	border: 0px;
}

/* From game 2 */

#map{
	box-sizing:border-box;
	padding-top:0px;
	position:absolute;
	width:100%;
	height:100%;
	top:110%;
	z-index:60;
	transition:1s;
	/* background-color:rgba(0,0,0,0.8); */
	text-align:center;
	line-height:100%;
	/* overflow:hidden; */
}
#map-close{
	position:absolute;
	top:10px;
	right:10px;
	z-index:19;
    width:40px;
    height:40px;
    background:url('../images/btn-close-red.png');
	background-size:100% 100%;
	background-position:center;
	background-repeat:no-repeat;
}
#map.active{
	top:0;
}
#map-top{
	width:100%;
	aspect-ratio:calc(1080 / 224);
	background-image:url('../images/map-top.png');
	background-size:100% 100%;
	background-repeat:no-repeat;
	position:absolute;
	bottom:49%;
	transition:1s;
	transition-delay: 1s;
	z-index:100;
}
#map-bottom{
	width:100%;
	aspect-ratio:calc(1080 / 376);
	background-image:url('../images/map-bottom.png');
	background-size:100% 100%;
	background-repeat:no-repeat;
	position:absolute;
	top:49%;
	transition:1s;
	transition-delay: 1s;
	z-index:101;
}
#map-mask{
	overflow:hidden;
	width:100%;
	height:0;
	position:absolute;
	transition:1s;
	top:50%;
	transition-delay: 1s;
}
#map.active #map-top{
	bottom:98%;
}
#map.active #map-bottom{
	top:100%;
}
#map.active #map-mask{
	top:0;
	height:var(--viewport-height);
}

.map-image{
	width:auto;
	height:auto;
	max-width:1800px;
	max-width:85%;
	max-height:1100px;
	position:relative;
	box-sizing:content-box;
	/* border: 20px solid #ffffff; */
	/* border:4px solid #937642; */
}
#map-overlay{
    position:absolute;
    top:0;
    left:0;
    right:0;
    bottom:0;
    background:url('../images/map-outer.png');
    
	background-size:100% 100%;
	background-position:center;
	background-repeat:no-repeat;
    z-index:10;
    pointer-events: none;
}
#map-content{
    width:100vw;
    height:var(--viewport-height);
    z-index:5;
}
.map-content{
	position:relative;
	height:100%;
	z-index:1;
}
.map-content:after{
	display:inline-block;
	content:'';
	width:1px;
	height:100%;
	vertical-align:middle;
}
.map-image{
	display:inline-block;
	vertical-align:middle;
}
.map-pin{
	position:absolute;
	transition:top 1s linear, left 1s linear;
}
.map-pin-image{
	position:absolute;
	width:30px;
	height:30px;
	left:-15px;
	top:-15px;
}
.map-pin-image._self{
	top:-15px;
}
.map-pin-radius{
	position:absolute;
	border-radius:100%;
	transform:translate(-50%, -50%);
	background-color:rgba(100,150,255,0.3);
	border:2px solid rgba(100,150,255,0.5);
	width:0;
	height:0;
}

#info{
	box-sizing:border-box;
	padding-top:0px;
	position:absolute;
	width:100%;
	height:100%;
	bottom:100%;
	z-index:69;
	transition:1s;
	background-color:rgba(0,0,0,0.2);
	color:#ffffff;
	text-align:center;
	line-height:1.3;
	overflow:hidden;
	background-image:url('../images/info-bg.jpg');
	background-size:100% 100%;
	background-repeat:no-repeat;
}
#info-close{
	position:absolute;
	top:20px;
	right:20px;
	z-index:65;
}
#info.active{
	bottom:0;
}
#info.active.instant{
	transition:0s;
}
.info-top{
	padding:30px 0 0;
	text-shadow:0 0 12px rgba(0,0,0,0.5);
	font-size:1.5rem;
}
.info-content{
	padding: 20px 40px;
	font-size:1.1rem;
	font-weight:400;
	text-align:left;
	height:100%;
	overflow-y:auto;
	color:#1e1c19;
	max-height: calc(100% - 100px);
}
.info-content img{
	width:100%;
	height:auto;
}
.info-text{
	/* overflow-y:scroll; */ /* infos zum hotspot scroll problem */ 
	max-height:100%;
	/* display:inline; */
	/* text-align: justify; */
}
.info-image{
	/* float:right; */
	max-width:100%;
	/* margin-right:30px; */
	/* padding-right:80px; */
	/* clip-path: polygon(6% 0,90% 5%,95% 100%,0% 95%); */
	/* background-color: #f5cc6c; */
}
.info-image img{
	width:100%;
	height:auto;
	max-height: 800px;
	/* clip-path: polygon(8% 2%,88% 7%,93% 99%,2% 94%); */
}


#hinweise{
	box-sizing:border-box;
	padding-top:0px;
	position:absolute;
	width:100%;
	height:100%;
	bottom:100%;
	z-index:60;
	transition:1s;
	background-color:rgba(0,0,0,0.8);
	color:#ffffff;
	color:#000000;
	text-align:center;
	line-height:1.3;
	overflow:hidden;
}
#hinweise-close{
	position:absolute;
	top:20px;
	right:20px;
	z-index:65;
}
#hinweise.active{
	bottom:0;
}
.hinweise-container{
	padding: 20px;
	text-align:left;
	height:100%;
	overflow-y:scroll;
	overflow-x:hidden;
	/* margin:20px 100px 130px 100px; */
	
	background-image:url('../images/001/list-bg.jpg');
	background-size:100% 100%;
	background-repeat:no-repeat;
	position:relative;
}
.hinweise-content{
	height: calc(var(--viewport-height) - 250px);
	overflow-y:scroll;
	/* padding-top:200px; */
}
.hinweise-content img{
	max-width:100%;
	height:auto;
}
.hinweise-icon{
	margin-top:10px;
	margin-bottom:10px;
	min-width:100px;
	max-width:140px;
	width:32%;
	flex-shrink:1;
	height:140px;
	background-image:url('../images/001/narrator3.png');
	background-position:left;
	background-repeat:no-repeat;
	background-size:contain;
	position:relative;
	z-index:2;
	/* box-shadow:10px 0 10px rgba(0,0,0,0.5); */
}
.hinweise-text{
	font-size: 1.1rem;
    color: #443d3b;
    padding: 10px 30px;
	padding-left:50px;
	padding-right:10px;
	position:relative;
	left:-40px;
    /* position: absolute;
    top: 69px;
    left: 85px; */
	width:calc(60%);
	flex-grow:1;
    right: 0;
    background-color: rgba(255, 255, 255, 0.5);
}
.hinweise-title{
	
	background-size:100% 100%;
	/* padding:20px 10px; */
	background-repeat:no-repeat;
	font-size:1.5rem;
	width:90%;
	color:#3d261c;
	text-align:left;
	font-weight:400;
	margin:0 auto;
}
.hinweise-top{
	display:flex;
	flex-flow:row nowrap;
	align-items: center;
	width:calc(100% + 40px);
}


#list-close img,#hinweise-close img,#info-close img,#map-close img,#lightbox-close img,#help-close img,.settings-close,.imprint-close,#highscore-close img, #setting-popup-close img{
	width:40px;
	height:40px;
}

#list{
	box-sizing:border-box;
	padding-top:0px;
	position:absolute;
	width:100%;
	height:100%;
	bottom:100%;
	z-index:70;
	transition:1s;
	background-color:rgba(0,0,0,0.2);
	color:#000000;
	text-align:center;
	line-height:1.3;
	overflow:hidden;
	background-image:url('../images/list-bg.jpg');
	background-size:100% 100%;
	background-position:center;
}
#list-close{
	position:absolute;
	top:20px;
	right:20px;
	z-index:65;
}
#list-close.anim{
	animation: pulse 1.5s 0s infinite;
}
#list.active{
	bottom:0;
}
#list.active.instant{
	transition:0s;
}
.list-content{
	padding: 20px 30px;
	font-size: 4vw;
	font-weight:400;
	text-align:left;
	height:100%;
	color:#ffffff;
}
.list-content p{
	font-size: 1.2rem;
	color: #715134;
}
.list-title-box{
	clear:both;
}
.list-title{
	background-size:100% 100%;
	background-position:center;
	background-repeat:no-repeat;
	position:relative;
	z-index:3;
    margin: 0 auto;
	height:auto;
	color:#715134;
	
	text-align:left;
	font-weight:400;
	font-size:1.8rem;
	line-height:1;
}
.list-scrollbar{
	position:absolute;
	top:116px;
	right:5px;
	width:10px;
	height:30vh;
	background-color:rgba(0,0,0,0.2);
	border-radius:10px;
	z-index:20;
}
/* Top arrow */
.list-scrollbar::before {
	content: "";
	position: absolute;
	top: -10px;
	left: 50%;
	transform: translateX(-50%);
	width: 0;
	height: 0;
	border-left: 5px solid transparent;
	border-right: 5px solid transparent;
	border-bottom: 6px solid rgba(0, 0, 0, 0.4);
}
/* Bottom arrow */
.list-scrollbar::after {
	content: "";
	position: absolute;
	bottom: -10px;
	left: 50%;
	transform: translateX(-50%);
	width: 0;
	height: 0;
	border-left: 5px solid transparent;
	border-right: 5px solid transparent;
	border-top: 6px solid rgba(0, 0, 0, 0.4);
}
.list-items{
	max-height: calc(100% - 100px);
	overflow-y:auto;
}
.list-item{
	margin-bottom:30px;
}
.list-item._new{
	animation:fadein 2s 0s ease-in-out forwards;
}
.list-item-title{
	color:#484033;
	font-size:2rem;
}
.list-item-image{
	line-height:0;
	margin-bottom:15px;
}
.list-item-image img{
	width:100%;
	height:auto;
	border:8px solid #ab9d81;
	border-radius:8px;
}
.list-item-image img.portrait{
	max-height:300px;
	width:auto;
	margin:0 auto;
	display:block;
}
.list-item-text{
	color:#484033;
	font-weight:400;
	font-size:1rem;
}
.list-progress{
	margin-top:15px;
	width:100%;
	border:0px solid #ff0000;
	background-color:rgba(0,0,0,0.1);
	border-radius:4px;
}
.list-progressbar{
	background-color:#728e2e;
	width:50%;
	height:10px;
}
.list-progresstext{
	text-align:right;
	margin-bottom:15px;
	color:#484033;
}
#highscore{
	box-sizing:border-box;
	padding-top:0px;
	position:absolute;
	width:100%;
	height:100%;
	bottom:100%;
	z-index:70;
	transition:1s;
	background-color:rgba(0,0,0,0.2);
	color:#000000;
	text-align:center;
	line-height:1.3;
	overflow:hidden;
	background-image:url('../images/list-bg.jpg');
	background-size:100% 100%;
	background-position:center;
}
#highscore.active{
	bottom:0;
}
#highscore.active.instant{
	transition:0s;
}
#highscore-close{
	position:absolute;
	top:20px;
	right:20px;
	z-index:65;
}
#highscore .list-title{
	padding-left:30px;
}
.highscore-content{
	padding: 20px 0px;
	font-size: 4vw;
	font-weight:400;
	text-align:left;
	height:100%;
	color:#ffffff;
}
.highscore-items{
	margin-top:30px;
	max-height:calc(var(--viewport-height) - 100px);
	overflow-y:auto;
}
.highscore-item{
	color:#4a4a4a;
	display:flex;
	flex-flow:row nowrap;
	width:100%;
	margin-bottom:5px;
	padding:0 30px;
}
.highscore-item._own{
	/* background-color:rgba(255,255,200,0.8) !important; */
	background-color:rgba(75,125,186,0.8) !important;
	font-weight:700;
	color:#000000;
}
.highscore-number{
	width:40px;
	width: 7vw;
}
.highscore-name{
	flex-grow:1;
	flex-shrink:1;
	word-break: break-word;
}
.highscore-score{
	width:80px;
	width: 13vw;
	text-align:right;
}
.highscore-top .highscore-score{
	padding-top:21px;
}
.highscore-top {
	margin-bottom:15px;
	padding:20px 0;
	background-color:rgba(255,255,255,0.4);
}
.highscore-top .highscore-item{
	padding:10px 30px;
	font-size:1.6rem;
	font-size:6.5vw;
	margin-bottom:0;
	padding-bottom:0;
}
.highscore-top .highscore-item::before{
	display:inline-block;
	content:'';
	background-image:url('../images/highscore-gold.png');
	background-size:100%;
	background-repeat:no-repeat;
	aspect-ratio:calc(121 / 178);
	width:15%;
	margin-right:10px;
	flex-shrink:0;
}
.highscore-top .highscore-item:nth-child(1)::before{
	background-image:url('../images/highscore-gold.png');
}
.highscore-top .highscore-item:nth-child(2)::before{
	background-image:url('../images/highscore-silver.png');
}
.highscore-top .highscore-item:nth-child(3)::before{
	background-image:url('../images/highscore-bronze.png');
}

.highscore-top .highscore-number{
	display:none;
}
.highscore-top .highscore-name::before{
	display:block;
	content:'';
	color:rgba(0,0,0,0.5);
	font-size:0.9rem;
}
.highscore-top .highscore-item:nth-child(1) .highscore-name::before{
	content:'1. Platz (Gold)';
}
.highscore-top .highscore-item:nth-child(2) .highscore-name::before{
	content:'2. Platz (Silber)';
}
.highscore-top .highscore-item:nth-child(3) .highscore-name::before{
	content:'3. Platz (Bronze)';
}


#settings{
	display:none;
	background-color:rgba(0,0,0,0.8);
	width:100%;
	height:100%;
	position:absolute;
	top:0;
	left:0;
	z-index:110;
	padding: 20px 20px;
	font-size:1.3rem;
	font-weight:700;
	text-align:left;
	background-size:100% 100%;
	background-repeat:no-repeat;
}
.settings-close{
	position:absolute;
	top:20px;
	right:20px;
	z-index:65;
}
#imprint{
	display:none;
	background-color:rgba(0,0,0,0.9);
	width:100%;
	height:100%;
	position:absolute;
	top:0;
	left:0;
	z-index:54;
	padding: 20px 20px;
	font-size:1.0rem;
	font-weight:400;
	text-align:left;
	background-size:100% 100%;
	background-repeat:no-repeat;
	color:#ffffff;
	overflow-y:auto;
}
.imprint-close{
	position:absolute;
	top:20px;
	right:20px;
	z-index:65;
}
.help-close{
	float:right;
	margin:18px;
	pointer-events:none;
}
.help-close._anim{
	animation: pulse 1.5s 0s infinite;
}

@keyframes chatnewtext {
	0% { transform: scale(0.0);}
	70% { transform: scale(1.1);}
	100% { transform: scale(1.0);}
}

/* Game styles */


.gamearea{
	position:absolute;
	left:100%;
	width:100%;
	height:100%;
	/* border-left:20px solid white; */
	transition:left 0.6s;
	transition-timing-function: ease-in-out;
	z-index:105; /* über footer */
	top:0;
	background-image:url('../images/001/minigame_top1.png'), url('../images/001/minigame_bottom1.png'), url('../images/001/minigame_bg1.jpg');
	background-size: 100%, 100%, 100% 100%;
	background-position: top, bottom, center;
    background-repeat: no-repeat;;
}
.gamearea._hidden{
	left:calc(100% + 50px);
}
.gamearea.instant{
	transition:0s;
}
.gamearea._active{
	left:0%;
}
.gamearea._active #icon-doublearrow{
	left:-50px;
}
.gamearea._score{
	background-image:url('../images/001/highscore-bg.jpg');
	background-size:100% 100%;
}
#gamearea-container{
	/* padding:10px; */
	height:100%;
	overflow-y:auto;
}
.gamearea-gamecontent{
	top:0;
	left:0;
	right:0;
	bottom:0;
	position:absolute;
	z-index:5;
}


#icon-doublearrow{
	position:absolute;
	z-index:6;
	width:86px;
	height:86px;
	left:-43px;
	top:50%;
	transform:scale(1);
	transition:0.3s;
	cursor:pointer;
	-webkit-tap-highlight-color: transparent;
}
#icon-doublearrow:after{
	content:'';
	display:block;
	width:110px;
	height:110px;
	border:6px solid #ffffff;
	animation: arrowanim 3s 0s infinite;
	animation-timing-function: linear;
	position:absolute;
	top:-55px;
	left:0px;
	border-radius:50%;
	box-sizing:border-box;
}
.gamearea._active #icon-doublearrow:after,.gamearea._hidden #icon-doublearrow:after{
	animation:none;
	opacity:0;
}
#icon-doublearrow:hover{
	transform:scale(1);
}
.icon-doublearrow-content{
	width:100%;
	/* height:63px; */
	/* margin-top:36px; */
	text-align:center;
    top: -50%;
    position: relative;
}
.icon-doublearrow-content img{
	width:100%;
	height:auto;
}
