*{
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}
html{
	min-height:100%;
}
body{
	padding-bottom:5vw;
	background-image: url(/assets/media/footer.png) ,url(/assets/media/background.jpg) ;
	background-position:  center bottom, center bottom;
	background-repeat: no-repeat,  no-repeat;
	background-size: contain, cover ;
	height:100%;
	background-color: gainsboro;
	font-family: Arial, Helvetica, sans-serif;
}

h2{
	margin-bottom:50px;
}
input.test[type=text],
input.test[type=password]{
	padding:10px;
	margin: 5px auto;
	width:100%;
	display: block;
	font-size:14px;
	-webkit-border-radius: 4px; 
	-moz-border-radius: 4px; 
	border-radius: 4px; 
	border:1px solid #aaa;
	-webkit-box-shadow: 5px 5px 12px -1px rgba(0,0,0,0.19); 
	box-shadow: 5px 5px 12px -1px rgba(0,0,0,0.19);
}	
select{
	width:100%;
}
select.missing+ .select2-container .selection .select2-selection{
	border:1px solid red !important;
}
.select2-search__field{
	font-size:16px;
}
.select2-container--default .select2-selection--single .select2-selection__rendered {
	color: #000000;
	line-height: 38px !important;
}
.select2-container .select2-selection--single {
	height: 39px !important;
}
.select2-container--default .select2-selection--single .select2-selection__arrow {
	height: 38px !important;
}
.select2-container--default .select2-selection--single {
	-webkit-box-shadow: 5px 5px 12px -1px rgba(0,0,0,0.19); 
	box-shadow: 5px 5px 12px -1px rgba(0,0,0,0.19);
	}

	.clearfix {
		overflow: auto;
	  }
	  .clearfix::after {
		content: "";
		clear: both;
		display: table;
	  }

.headerlogo{
	width:100%;
	height:80px;
	margin:10px 0 0 0;

	background-image: url(/assets/media/logos/oq-logo.png);
	background-position:  center top;
	background-repeat: no-repeat;
	background-size: contain;
	margin-bottom:50px;
}
header+.headerlogo{
	margin:55px 0 0 0;
}
.test-wrapper{
	clear:both;
	width:100%;
	max-width:500px;
	padding:0 20px;
	margin:auto;
	height: auto;
	/*overflow: hidden;*/
}
.test-wrapper-wide{
	clear:both;
	width:100%;
	max-width:560px;
	padding:0 20px;
	margin:auto;
	height: auto;
	/*overflow: hidden;*/
}
.test-wrapper-row{
	clear:both;
	width:100%;
	height:auto;
	overflow:hidden;
}
.test-wrapper-col{
	width:50%;
	float:left;
	text-align: left;
}
.test-wrapper-col:nth-child(1){
	padding-right: 10px;
}
.test-wrapper-col:nth-child(2){
	padding-left: 10px;;
}
@media only screen and (max-width: 768px){
	.test-wrapper-col{
		padding-right: 0px !important;
		padding-left: 0px  !important;
		width:100%  !important;
	}
}

header{
	top: 0;
	position: fixed;
	z-index: 100;
	height: 45px;
	width: 100%;
	left:0;
	background-color: #ffffff;
	-webkit-box-shadow: 0px 10px 15px -10px #000000; 
	box-shadow: 0px 10px 15px -10px #000000;
}
header .header_inner{
	width:100%;
	display: flex;
	justify-content: space-between;
}

footer{
	bottom: 0;
	position: fixed;
	z-index: 100;
	height: 35px;
	width: 100%;
	left:0;
	background-color: #ffffff;
		-moz-box-shadow: 0px -5px 15px -10px #000000; 
	-webkit-box-shadow: 0px -5px 15px -10px #000000; 
	box-shadow: 0px -5px 15px -10px #000000; 
}
footer #footer_inner{
	padding: 5px 20px 0 20px;
	text-align: center;
	
}
footer #footer_inner a{
	font-size:13px;
	margin: 0 10px 0 10px;
	color:#000000;
	text-decoration: none;
}
footer #footer_inner a:hover{
	text-decoration: underline;
}
footer #timeline{
	height:10px;
	background-color: #f8a349;
	position:absolute;
	bottom:0;
	left:0;
	width:0;
}
footer #timeline.animate{
  animation: timeline-ani 15s linear forwards 1;
  -webkit-animation: timeline-ani 15s linear forwards 1;
  -moz-animation: timeline-ani 15s linear forwards 1;
}
footer #timeline.pause{
	animation: timeline-ani 5s linear forwards 1;
	-webkit-animation: timeline-ani 5s linear forwards 1;
	-moz-animation: timeline-ani 5s linear forwards 1;
  }
@-webkit-keyframes timeline-ani {
  0% {
   width:100%
  }

  100%{
   width:0;
  }
}
@keyframes timeline-ani {
	0% {
		width:100%
	   }
	 
	   100%{
		width:0;
	   }
}
footer #timeline.animate.paused {
	animation-play-state: paused;
  }
  footer #timeline.pause.paused_by_user {
	animation-play-state: paused;
  }


button.btn{
	cursor: pointer;
	display: block;
	margin:10px auto;
	/*border:1px solid grey;*/
	border:none;
	height:auto;
	background-color: #3ab7c6;
	color:#ffffff;
	font-size:1em;
	padding:15px 10px;
	width:150px;
	-webkit-border-radius: 6px; 
	-moz-border-radius: 6px; 
	border-radius: 6px; 
	-webkit-box-shadow: 5px 5px 12px -1px rgba(0,0,0,0.19); 
	box-shadow: 5px 5px 12px -1px rgba(0,0,0,0.19);
}
button.navbtn{
	width:50px;
	float:none;
	padding:5px 5px;
	margin:5px auto;
}
button:disabled.navbtn{
	opacity:0.5;
}
button.ytplaypause img:nth-Child(1){
	display:inline;
}
button.ytplaypause img:nth-Child(2){
	display:none;
}
button.ytplaypause.isplaying img:nth-Child(1){
	display:none !important;
}
button.ytplaypause.isplaying img:nth-Child(2){
	display:inline !important;
}


@media (hover: hover) {
	button.btn:hover{
		background-color: #f8a349;
	}
}
button.btn:active{
	background-color: #f8a349;
}
button.btn.w200{
	width:200px;
}
button.btn_invert{
	cursor: pointer;
	display: block;
	margin:10px auto;
	/*border:1px solid grey;*/
	border:none;
	height:auto;
	background-color: #ffffff;
	color:#3ab7c6;
	font-size:1em;
	padding:15px 10px;
	width:200px;
	-webkit-border-radius: 6px; 
	-moz-border-radius: 6px; 
	border-radius: 6px; 
	-webkit-box-shadow: 5px 5px 12px -1px rgba(0,0,0,0.19); 
	box-shadow: 5px 5px 12px -1px rgba(0,0,0,0.19);
}
@media (hover: hover) {
	button.btn_invert:hover{
		background-color: #3ab7c6;
		color:#ffffff;
	}
}
button.btn_invert:active{
	background-color: #3ab7c6;
	color:#ffffff;
}
@media only screen and (max-width: 768px){
	button.btn_invert{
		margin:10px 0;	
	}
}
#startlayer{
	width:100%;
	height:100%;
	background-color:rgba(255, 255, 255, 0.75);
	position:fixed;
	top:0;
	left:0;
	display:table;
	
}
#startlayer div{
	display: table-cell;
	vertical-align: middle;
	text-align: center;
}
#startlayer div button{
	border:none;
	-webkit-border-radius: 6px; 
	-moz-border-radius: 6px; 
	border-radius: 6px; 
	width:200px;
	height:auto;
	background-color: #3ab7c6;
	color:#ffffff;
	font-size:1.2em;
	padding:20px;
	cursor: pointer;
}
@media (hover: hover) {
	#startlayer div button:hover{
		background-color: #f8a349;
	}
}
#startlayer div button:active{
	background-color: #f8a349;
}



#medialayer{
	width:100%;
	height:100%;
	background-color:rgba(58, 183, 198, 0.85);
	position:fixed;
	top:0;
	left:0;
	display:none;
}
#medialayer .fslightbox-flex-centered{
	display: flex;
    justify-content: center;
    align-items: center;
}
#medialayer .medialayer_wrapper{
	width:100%;
	height:100%;
	top:0;
	left:0;

}
#medialayer .medialayer_wrapper .medialayer_content{

	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	height: 100%;
	color:#000;
	padding: 45px 20px 20px 20px;
}
#medialayer .medialayer_close{
	height: 45px;
    width: 100%;
    position: absolute;
    top: 0;
    left: 0;
}
#medialayer .medialayer_close .medialayer_close_inner{
	position: absolute;
    z-index: 3;
    right: 0;
    top: 0;
    height: 100%;
    display: flex;
    background: rgba(35,35,35,.65);
}
#medialayer .medialayer_close .medialayer_close_inner .medialayer_close_button{
	height: 100%;
    width: 45px;
    cursor: pointer;
}
#medialayer .close-svg-path {
    transition: fill .15s ease;
    fill: #ddd;
}
#medialayer .medialayer_content .img{
	max-width:1024;
	width:80%;
	height:100%;
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center	center;
}
@media only screen and (max-width: 768px){
	#medialayer .medialayer_content .img{
		max-width:1024;
		width:100%;
	}
}


#step1_language{
	text-align: center;
}

#step1_language a.langselect{
	cursor: pointer;
	display: block;
	width: 100%;
	margin:auto;
	max-width:600px;
	padding-top: 14px;
	padding-left: 50px;
	padding-right:20px;
	padding-bottom:10px;
	min-height: 47px;
	font-size: 14px;
	line-height: 19px;
	font-weight: bold;
	
	background-color: ghostwhite;
	-webkit-box-shadow: 5px 5px 12px -1px rgba(0,0,0,0.19); 
	box-shadow: 5px 5px 12px -1px rgba(0,0,0,0.19);
	-webkit-border-radius: 12px; 
	-moz-border-radius: 12px; 
	border-radius: 12px; 
	margin: 10px 0;
}
#step1_language img{
	vertical-align: middle;
	margin-right:6px;
}


#step1_legalprivacy{
	text-align: center;
}
#step1_legalprivacy a{
	color:#000000;
}
#step1_legalprivacy .btn{
	width:auto !important;
}


#step2_login{
	text-align: center;
}
#step2_login input{
	width:100%
}



#step3_catalogue{
	text-align: center;
}
#step3_catalogue a{
	padding:3px;
	display:block;
	font-size:1.2em;
	line-height:1.2em;
	text-decoration: none;
	color:#000000;
	font-weight: bold;
}



#step4_videosel{
	text-align: center;
}
#step4_videosel a{
	padding:3px;
	display:block;
	font-size:1.2em;
	line-height:1.2em;
	text-decoration: none;
	color:#000000;
	font-weight: bold;
}



#step5_video{
	text-align: center;
}
#step5_video #playerholder{
	max-width:1024px;
	margin:auto;
}
#step5_video #playerholder_wapper{

	width: 100%;
	padding-top: 56.25%;
	height: 0px;
	position: relative;
	display: flex;
justify-content: center;
}
#step5_video #playerholder_wapper #info_player{
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
}



#step6_welcome {
	text-align: center;
}



#step7_input {
	text-align: center;
}
#step7_input h3{
	margin:auto;
	max-width: 560px;
}
#step7_input form{
	display:block;
	width:100%;
	margin:auto;
	text-align:left;
}
#step7_input form label{
	display:block;
}
#step7_input form input{
	width:100%;
}
#step7_input #birth-select{
	margin:5px 0;
	height:auto;
	overflow:hidden;
}
#step7_input #birth-select div:nth-child(1){
	width:25%;
	float:left;
	padding-right:2px;
}
#step7_input #birth-select div:nth-child(2){
	width:40%;
	float:left;
	padding:0 2px;
}
#step7_input #birth-select div:nth-child(3){
	width:35%;
	float:left;
	padding-left:2px;
}


.missing{
	border:1px solid red !important;
}


#step8_disclaimer {
	text-align: center;
}


#step9_question #frage{
	text-align: center;
	font-weight: bold;
}


#step9_question #userinfo-wrapper{
	width: 100%;
	height: 100vh;
	padding: 30px;
	background-color:rgba(58, 183, 198, 0.85);
	position: absolute;
	top: 0;
	left: 0;
	z-index: 1;
	display: flex;

}

#step9_question .userinfo{
	font-size: 13px;
	clear:both;
	width:100%;
	max-width:560px;
	padding:10px;
	margin:auto;
	height: auto;
	overflow: hidden;
	background-color: ghostwhite;
	-webkit-box-shadow: 5px 5px 12px -1px rgba(0,0,0,0.19); 
	box-shadow: 5px 5px 12px -1px rgba(0,0,0,0.19);
	-webkit-border-radius: 12px; 
	-moz-border-radius: 12px; 
	border-radius: 12px; 
}
#step9_question .userinfo_row{
	display: flex;
	padding:2px;
}

#step9_question .userinfo p.tit {
	width: 80px;
	margin:0;
}
#step9_question .userinfo p.value {
	margin:0;
}
#step9_question .userinfo button{
	
	background-size: 31%;
	background-repeat: no-repeat;
	background-position: center center;
	width: 60px;
}
#step9_question .userinfo button.pause{
	background-image:url(/assets/media/pause-symbol.svg);
}
#step9_question .userinfo button.play{
	background-image:url(/assets/media/play-button.svg);
}


#step9_question #quest_wrapper{
	clear:both;
	width:100%;
	max-width:600px;
	padding:20px;
	margin:auto;
	height: auto;
	overflow: hidden;
	
}

#step9_question .antworten {
	display: block;
	position: relative;
	clear: both;
	float: left;
	list-style-type: none;
	padding: 0;
	width: 100%;
	/*min-height: 250px;*/
	}
#step9_question .antworten li {
	cursor:pointer;
	display: block;
	width: 100%;
	float: left;
	clear: both;
	position: relative;
	padding-top: 14px;
	padding-left: 50px;
	padding-right:20px;
	padding-bottom:10px;
	min-height: 47px;
	font-size: 14px;
	line-height: 19px;
	font-weight: bold;
	color: #000000;
	background-color: ghostwhite;
	-webkit-box-shadow: 5px 5px 12px -1px rgba(0,0,0,0.19); 
	box-shadow: 5px 5px 12px -1px rgba(0,0,0,0.19);
	-webkit-border-radius: 12px; 
	-moz-border-radius: 12px; 
	border-radius: 12px; 
	margin: 10px 0;
}
/*
#step9_question .antworten li:nth-of-type(1):before{content: "A";}
#step9_question .antworten li:nth-of-type(2):before{content: "B";}
#step9_question .antworten li:nth-of-type(3):before{content: "C";}
#step9_question .antworten li:nth-of-type(4):before{content: "D";}
#step9_question .antworten li:nth-of-type(5):before{content: "E";}*/
#step9_question .antworten li:before {
	content: "";
	text-align: center;
    /*background-color:#f8a349;*/
	-webkit-border-radius: 50%; 
	-moz-border-radius: 50%; 
	border-radius: 50%; 
	border:2px solid black;
    width: 15px;
	height:15px;
   	padding:5px;
    display: block;
    left: 10px;
    position: absolute;
    top: 10px;
   	color:#ffffff;
}
#step9_question .antworten li.an {
	cursor: pointer;
}
@media (hover: hover) {
	#step9_question .antworten li.an:hover{
		color: #3ab7c6 !important;
	}
}
#step9_question .antworten li.voice{
	color:#f8a349 !important;
}
@media (hover: hover) {
	#step9_question .antworten li.clicked:hover{
		cursor:not-allowed;
	}
}
#step9_question .antworten li.correct{
	background-color:#3ab7c6;
	color:#ffffff;
}
#step9_question .antworten li.correct:before {
	border-color:#ffffff;
}
#step9_question .antworten li.wrong{
	background-color:hsl(0, 100%, 43%);
	color:#ffffff;
}
#step9_question .antworten li.wrong:before {
	
	border-color:#ffffff;
}
#step9_question #ausgabe{
	width:100%;
}

#step10_result {
	text-align: center;
}


#quest_refresh{
	position: absolute;
	top: 2px;
	right:2px;
	background-color: grey;
	cursor: pointer;
	width:20px;
	height:20px;
	line-height:20px;
	text-align: center;
	opacity:0.5;
}
#webcamholder{
	position: relative;
	background-image:url(/assets/media/webcam.jpg);
	background-repeat: no-repeat;
	background-size: contain;
}
#my_camera_mask{
	width: 240px;
	height: 320px;
	position: absolute;
	top:0;
	left:0;
	background-image:url(/assets/media/webcam-mask.png);
	background-repeat: no-repeat;
	background-size: contain;
	z-index:100;
	display:none;
}
#my_camera_snap{
	width: 60px;
	height: 60px;
	position: absolute;
	bottom:0px;
	left:90px;
	background-image:url(/assets/media/camera_snap.png);
	background-repeat: no-repeat;
	background-size: contain;
	z-index:101;
	display:none;
}
#my_camera_retry{
	width: 60px;
	height: 60px;
	position: absolute;
	top:5px;
	left:180px;
	background-image:url(/assets/media/camera_retry.png);
	background-repeat: no-repeat;
	background-size: contain;
	z-index:102;
	display:none;
}

#my_camera{
	width: 240px;
	height: 320px;
	border:1px solid #aaa;
	-webkit-border-radius: 6px; 
	-moz-border-radius: 6px; 
	border-radius: 6px; 
	-webkit-box-shadow: 5px 5px 12px -1px rgba(0,0,0,0.19); 
	box-shadow: 5px 5px 12px -1px rgba(0,0,0,0.19);
}
/*
#my_camera:after {
	content: "";
	display: block;
	padding-bottom: 100%;
  }*/
#results{
	width: 240px;
	height: 320px;
	top:0;
	position: absolute;
	
}

#results img{
	width:100%;
} 
video{
	border:1px solid #aaa;
	-webkit-border-radius: 6px; 
	-moz-border-radius: 6px; 
	border-radius: 6px; 
	-webkit-box-shadow: 5px 5px 12px -1px rgba(0,0,0,0.19); 
	box-shadow: 5px 5px 12px -1px rgba(0,0,0,0.19);
}
#my_camera div{
    width: 350px;
    border-radius: 10px; 
    overflow: hidden; 
}


/*

swal
*/
.swal2-actions button{
	-webkit-box-shadow: 5px 5px 12px -1px rgba(0,0,0,0.19); 
	box-shadow: 5px 5px 12px -1px rgba(0,0,0,0.19);
}
.swal2-actions button:focus {outline:none !important;}



/*modal*/
.modal_inner{
	background-color: #ffffff;
}
.mfp-bg {
	background-color: #ffffff !important;
	}





	#inactivity-wrapper{
		width: 100%;
		height: 100vh;
		padding: 30px;
		background-color:rgba(58, 183, 198, 0.85);
		position: absolute;
		top: 0;
		left: 0;
		z-index: 1000;
		display: flex;
	
	}
	#inactivity-wrapper .countdown2home{
		font-size: 24px;
		clear:both;
		width:100%;
		max-width:560px;
		padding:10px;
		margin:auto;
		height: auto;
		overflow: hidden;
		background-color: ghostwhite;
		-webkit-box-shadow: 5px 5px 12px -1px rgba(0,0,0,0.19); 
		box-shadow: 5px 5px 12px -1px rgba(0,0,0,0.19);
		-webkit-border-radius: 12px; 
		-moz-border-radius: 12px; 
		border-radius: 12px; 
	}
	#inactivity-wrapper .countdown2home div{
		display: flex;
		align-items: center;
		justify-content: center;
		margin:25px 0;
	}
	#inactivity-wrapper #inactivity_countdowntext{
		margin-left:5px;
	}

	html.noscroll{
		position: fixed;
		width: 100vw;
	}
	html.noscroll body{

		height: 100vh !important; 
	    height: calc(var(--vh, 1vh) * 100)  !important;
		overflow:hidden; 
	}
	/*body.noscroll h2,
	body.noscroll h3,
	body.noscroll .test-wrapper,
	body.noscroll .test-wrapper-wide{
		filter: blur(3px);
		-webkit-filter: blur(3px);
	}*/
	