/* responsive.css */
@charset "UTF-8";
@-ms-viewport {width: device-width;} @viewport {width: device-width;}

/* development */ 
#myBody:target::after, #myBody:target::before{background:rgba(255,50,50,.6);border:2px solid red;content:"";display:none;font-weight:700;font-size:120%;padding:5px;position:fixed;text-align:center;text-shadow:1px 1px 2px #fff;top:20px;left:20px;width:200px;z-index:100}
#myBody:target::after{background:rgba(50,50,255,.6);border-color:#00f;left:235px}

	#logoKeyvisual {
		position: relative;
	}
	#logo {
		width: 31.3%; height: 100%;
	}
	#keyvisual {
		float: none;
		position: absolute; top:0; left: 31.3%; right:0; bottom:0;
		background: lime;
	}
	#keyvisual img {		
		width: auto; height: 100%;
	}


@media (min-width: 935px)  {
	#myBody:target::before {display: block; content: "> 935px";  opacity: 0.7;}
	

	.menuButton, .mobileOnly  {
		display: none;
	}
		
	.subnav {
		display: none;
	}

	ul#mainnav {
		position: relative; left: 14px;
	}	

	#mainnav > li {
		position: relative;
	}
	#mainnav > li::after {
		content: "";
		display: none;
		position: absolute;
		height: 30px; width: 50px;
		background: #D62F00;
		bottom:0; left: 50%; margin-bottom: -30px; margin-left: -38px;
		border-radius: 0 0 50px 50px
	}
	#mainnav > li:hover::after, #mainnav > li.aktiv::after {
		display: inline-block;
	}
}

@media (max-width: 935px)  {
	#myBody:target::before {display: block; content: "< 935px"; }
 
	#metanav {
		display: none;
	}	
#metaLeft {
width: 90%;
}

	.menuButton  {
		font-size: 24px;
		position: absolute; top: 10px; right: 15px;
	}
	.menuButton.close  {
		display: none;
		position: fixed;
		top: 15px; right: 10%;
		z-index: 30;
	}
	.menuButton.show.close, .show + .close {
		display: inline-block;
	}

	
	#navdiv {
		position: relative;
	}
	#mobileMenu {
		position: absolute;
		top: 11px; right: 40px;	top: 9px;	
	}
	#mobileMenu.show {
		position: fixed;
		z-index: 23;
		top: 12px; left: 3.5%;
	}
		

	#mainnav {
		display: none;
	}
	#mainnav.show, #mainnav:target {
		display: block;
		width: 90%; box-shadow: 60px 0px 25px rgba(0,0,0,0.7);
		padding-top: 35px; padding-left: 3%;
		position: fixed; top:0; bottom: 0; left: auto;
		background: #fff;
		overflow: auto;
		z-index: 15;
	}
	
	#navdiv #mainnav.show > li > a, #navdiv #mainnav:target > li > a {
		display: block;
		margin-top: 10px;
		padding: 4px;
		
	}
	#navdiv #mainnav.show a, #navdiv #mainnav:target a {
		padding: 7px 0;
	}
	#mainnav .subnav {
		padding-left: 20px;
	}
	ul#mainnav li {
		float: none;
		display: inline-block;
		width: 100%;
		max-width: 300px;
	}
	ul#mainnav > li {
		display: block;
		width: 90%;
	}
	#navdiv ul#mainnav >  li > .opener + a {
		display: block;
		width: 100%;
		padding-bottom: 8px;
		border-bottom: 1px solid;
	}
	#mainnav .opener {
		width: 42px; height: 30px;
		float: right;
		cursor: pointer;
		border-left: 1px solid;
		margin: -2px -9px 0 0;
		position: relative;
		z-index: 2;
	}
	#mainnav .opener::before {
		content: "";
		display: inline-block;
		width: 15px; height: 15px; margin: 2px 0 0 12px;
		border-bottom: 2px solid; border-right: 2px solid;		
		-webkit-transform: rotate(45deg);
			-ms-transform: rotate(45deg);
				transform: rotate(45deg);
	}
		#mainnav .opened .opener::before {
			border: 0;
			border-top: 2px solid; border-left: 2px solid;
			margin-top: 8px;	
		}

		#mainnav li .subnav {
			-webkit-transform: scaleY(0);
				-ms-transform: scaleY(0);
					transform: scaleY(0);
			-webkit-transform-origin: top center;
				-ms-transform-origin: top center;
					transform-origin: top center;
			max-height: 0;
			transition: 0.5s all;
		}
		#mainnav .opened .subnav {
			max-height: 300px;
			-webkit-transform: scale(1);
				-ms-transform: scale(1);
					transform: scale(1);
		}
	
	ul#mainnav li.aktiv {
		float: none;
	}
	ul#mainnav li.aktiv > a {
		color: #D94016;
	}
	ul#mainnav li.aktiv li.aktiv > a::before, ul#mainnav li:hover > a::before {
		content: "";
		display: inline-block;
		background: #D94016;
		height: 15px; width: 10px;
		margin: -4px 5px 0 -15px;
		border-radius: 0 50px 50px 0;
		/* padding: 0; */
		display: inline-block; vertical-align: middle;
	}
	
	
	
	#searchbar {
		position: relative;
		top: -0.9em;
		width: 78%;
	}
	
	.list .listLeftInMain {
		margin-top: 6px;
		margin-bottom: -2px;
	}
	
	div .teamList {
		font-size: 0;
		/* text-align: center; */
	}
	div .teamList h2 {
		font-size: 18px;
	}
	div.teamList div.teamElement {
		font-size: 16px;
		float: none; display: inline-block; vertical-align: top;
		width: 45%;  max-width: 220px; margin-right: 5%;
		text-align: center;
	}
		div.teamList div.teamElement div.teamBild, div.teamList div.teamElement div.teamText {
			width: 100%;
		}

	form h3 {
		margin: 5px 0;
	}
	.formdesc {
		padding-left: 18px;
	}
	.formdesc[id*="formdesc"] {
		padding-left: 0;
	}
	.formdesc div {
		float: none !important;
		display: inline-block; vertical-align: middle;
		width: auto !important;
		margin-left: -18px;
		padding-left: 0;
	}
	.formdesc div + div {
		margin-left: 0;
		padding-left: 8px;		
	}

}

@media (max-width: 700px)  {
	#myBody:target::before {display: block; content: "< 700px"; }
 

	#searchbar {
    	width: 100%;
	}


	.colInMain {
		float: none;
		width: 100%;
		margin-bottom: 15px;
	}

	#main {
		display: -webkit-flex;
		display: -ms-flexbox;
		display: flex;
		width: 90%;

		-webkit-flex-direction: column;
		-ms-flex-direction: column;
		flex-direction: column;
		
		-webkit-align-items: center;
			 -ms-flex-align: center;
				align-items: center;
	}
	
	#main #colmain {
		width: 100%;
		float: none;
		-ms-flex-order: 1;
		-webkit-order: 1;
		order: 1;

		border-bottom: 1px solid #B4B4B6;
	}

	#main #colleft {
		width: 90%; max-width: 420px;
		margin: 15px auto;
		float: none;
		-ms-flex-order: 2;
		-webkit-order: 2;
		order: 2;

		-webkit-align-items: center;
			 -ms-flex-align: center;
				align-items: center;
	}

	#main #colleft #subnav {
		display: none;
	}

	.formrow:last-child {
		margin-bottom: 35px;
	}
}

@media (max-width: 420px)  {
	#myBody:target::before {display: block; content: "< 420px"; }
	div .teamList h2 {
		/*padding-left: 10px;*/
	}
	div.teamList div.teamElement {		
		display: block;
		width: 80%;  margin: 30px auto 12px;
	}

	.inhalt img[style*="float"] {
		float: none !important;
		display: block; margin: 0 auto;
	}

	.formrow {
		float: none !important;
		width: 100% !important;
	}

}
