#mainheader{
background: #fff;
border-bottom: 1px solid var(--light-grey);
left: 0;
padding: 0 30px;
position: relative;
top: 0;
width: 100%;
z-index: 100;
	height:80px;
}

#mainheader .headercontainer.container {margin-left:250px;width:auto;}

#mainheader .container .toprow{

padding: 15px 0 0;
width: 100%;
  
}


.contactbox {position:absolute; right:0px; background-color: var(--text-color); padding:5px; top:0px; height:80px; width:200px; z-index:2;}
.contactbox .contactbox_phone {margin-top:10px; margin-left:10px;}
.contactbox .contactbox_appointment {margin-left:10px;}
.contactbox a {color: var(--white); font-size:14px;}
.contactbox a:hover{color: var(--white); font-weight:bold;}

.sticky .contactbox{height:55px;}
.sticky .contactbox .contactbox_phone {margin-top:0px; margin-left:10px;}
.sticky .contactbox_appointment .contactbox_appointment {margin-top:0px; margin-left:0px;}

.menuopen .appointmentbox{display:none;}
.appointmentbox{
	background-color:var(--primary-color);
	cursor:pointer;
	display:block;
	position:absolute;
	padding:4px;
	right:10px;
	top:10px;
	height:30px;
}

span.appointmentbox  {
	cursor:pointer;
	color:#fff;
	text-decoration: none;
	font-weight:300;
	font-size:12px;
}

span.appointmentbox:hover {
	text-decoration: none;
	font-weight:300;
	color:#000;
}

#mainheader .container .toprow a#logo img{
margin:0 auto;
width:125px;
}

#mainheader .container #mainmenu {
/*margin: 30px auto 0;
position: relative;
width: 610px;
z-index: 1;
	width: 610px;

	*/
 /* margin-top:20px;
	  margin-bottom:20px;*/
top:30px;	
position: relative;
z-index: 1;
display: flex;
width: 100%;
flex-direction: row;
justify-content: left;;
}
.mobile_socialmediablock{display:none;}

#mainheader.sticky .container #mainmenu {
	top:20px;	

}

#mainheader .container #mainmenu .firstlevel {
float: left;
margin: 0 35px 0 0;
position:relative;
}



#mainheader .container #mainmenu .firstlevel a{
font-size:17px;
color:var(--text-color);
	text-decoration: none;
text-transform: uppercase;	
}

#mainheader .container #mainmenu .firstlevel a:hover{
    color:var(--primary-color);
}

#mainheader .container #mainmenu .firstlevel.active a{
    color:var(--primary-color);
}

#mainheader.sticky{position:fixed; height:55px;}

#mainheader.sticky .toprow{display:none;}

#mainheader.sticky .appointmentbox{top:17px;}



.hassubmenu:after {
font-family: "Font Awesome 6 Pro";
content: "\f0d7";
display: inline-block;
padding-left: 6px;
padding-right: 3px;
font-size: 14px;
font-weight: 900;
}





#mainheader #stickylogo img,  #mainheader #openmenulogo img{
height:30px;	
left: 30px;
position: absolute;
top:13px;	
display:none;	
z-index:9999;	
}

#mainheader.sticky #stickylogo img {
display:block;		
}


#mainheader #logo img {
	height:50px;
	left: 30px;
	position: absolute;
	top:20px;}

#mainheader.sticky #logo img {
display:none;		
}

#mainheader #openmenulogo img {
	display:none;
}

.menuopen #mainheader #openmenulogo img {
	display:none;

}


.stickylogo { opacity:0; width:80px; top: 5px;  position: absolute;}

.stickylogo #logoleft img{height:60px;}
#mainheader.sticky .stickylogo{opacity:1;  transition: all 0.8s; }


.stickylogo #logoleft img#logo_menueopen{
	display:none;
}

.stickylogo #logoleft img#logo_menueclosed{
	display:block;
}

.menuopen .stickylogo #logoleft img#logo_menueopen{
	display:block;
}

.menuopen .stickylogo #logoleft img#logo_menueclosed{
	display:none;
}

#mainheader #mobilmenubutton {display:none;}



#mainheader  #mainmenu div .submenu
	{
		background:#fff;
		border-top:6px solid var(--primary-color);
		display:none;
		left:-20px;
		margin-right:0;
		padding-bottom:0;
		position:absolute;
		text-align:left;
		top:50px;
		min-width:200px;
		width:calc(100% + 40px);
	}
#mainheader #mainmenu div.hassubpages {text-transform:uppercase;margin: 0 35px 0 0;}
#mainheader #mainmenu div.hassubpages:hover {cursor: pointer;}	


.submenues .backgroundimagewrapper_1{
	left: -125px;
	top: -130px;
}


/*MEGA MENU*/
.submenues{
width: 100%;
position: fixed;
z-index: 0;
left: 0px;
top:78px;
	clip-path: circle(0);
	-webkit-transition: all 0.4s ease-in-out;
	-moz-transition: all 0.4s ease-in-out;
	-o-transition: all 0.4s ease-in-out;
	transition: all 0.4s ease-in-out;
}

#mainheader.sticky .submenues{top:55px;}

.menuopen .submenues{
	height:100vh;
	 width:100%;
	clip-path: circle(75%);
	-webkit-transition: all 0.4s ease-in-out;
	-moz-transition: all 0.4s ease-in-out;
	-o-transition: all 0.4s ease-in-out;
	transition: all 0.4s ease-in-out;

}

.submenucontainer {
	height:100vh;
	width:100%;
	background-color:#f5f5f5;
	opacity: 0;
	display:none;
	position:absolute;
}

.submenucontainer.subopen{
		opacity: 1;
		display: block;
		-webkit-transition: all 0.3s ease-in-out;
	-moz-transition: all 0.3s ease-in-out;
	-o-transition: all 0.3s ease-in-out;
	transition: all 0.3s ease-in-out;
}

.mwsubmenu{position: relative;}



/*Optik Setting*/
.submenucontainer#submenufor_23{
	background-color:var(--primary-color-optik-light);
}

.submenucontainer#submenufor_22{
	background-color:var(--primary-color-akustik-light);
}


.hassubpages.subopen#overlay_23 span{
	color:var(--primary-color-optik);
}

.hassubpages.subopen#overlay_22 span{
	color:var(--primary-color-akustik);
}

#mainheader #mainmenu div.hassubpages#overlay_23:hover span{
		color:var(--primary-color-optik);
}

#mainheader #mainmenu div.hassubpages#overlay_22:hover span{
		color:var(--primary-color-akustik);
}

.twocolumn .menucol.first{
	width: calc(60% - 30px / 2);
	display: flex;
align-content: flex-end;
flex-flow: column wrap;
} 


.inner_menucol {
	width:100%;
overflow-y: auto;
height: 100vh;
}
.inner_menucol_content{
width: 445px;margin-left: 30%;}

.twocolumn .menucol.last{
	width: calc(40% - 30px / 2);
} 

.inner_menucol .textwrapper, .inner_menucol .imagewrapper {z-index: 4; }

.twocolumn .menucol.last .container{width:100%;}

.fullheightimage{
background-size: cover;
background-repeat: no-repeat;
width: 100%;
height: 100vh;
}


.closeOverlay {position:absolute; top:30px; right:0px; font-size:16px;}
.closeOverlay:hover{cursor:pointer;}

.inner_menucol ul, .inner_menucol li{list-style: none; padding-left:0px; font-size:20px; line-height:40px;z-index:4;position:relative;}
.inner_menucol ul li a {color:var(---text-color);}
.inner_menucol ul li a:hover{color:var(---text-color); text-decoration: none; font-weight:700;}

.inner_menucol h2{font-size:50px;}

.socialmedia_bar {margin-top:10px;}
.socialmedia_bar a{font-size:40px; color:var(---text-color); transition:all 0.3s ease-in-out;}
.socialmedia_bar a:href{color:var(---text-color); text-decoration: none;}

.socialmedia_bar a.social_optik:hover{color:var(--primary-color-optik);}
.socialmedia_bar a.social_akustik:hover{color:var(--primary-color-akustik);}

[aria-current="page"] {
	font-size:30px;
}

div.amountofjobsWrapper {width:20px; display:inline-block; background-color: #D4282B; color:#fff; border-radius: 10px; height:20px; font-size:16px; margin-bottom:5px; margin-left:3px; position:relative; animation: tilt-shaking 2.25s linear 2; bottom:8px;}
.amountofjobsWrapper div {width:30px; display:inline-block;}
.amountofjobsWrapper span.amountofjobs{margin-left:4px;display:inline-block; position:relative; bottom:2px; font-weight:normal; }

@keyframes tilt-shaking {
 0% { transform: translateY(0) }
 25% { transform: translateY(5px) }
 50% { transform: translateY(-5px) }
 75% { transform: translateY(5px) }
 100% { transform: translateY(0) }
}


#mainheader #mainmenu div.hassubpages.subopen  .submenu{
		display:none;
		height:99vh;
		width:100%;
		position:fixed;
		background-color: white;
		margin-top:30px;
	}
	
	#mainheader #mainmenu div:hover .submenu
	{
		/*display:block;*/
	}
	
	#mainheader  #mainmenu div .submenu div
	{
		margin-right:0;
		padding-bottom:0;
		width:100%;
	}
	
	#mainheader  #mainmenu div .submenu div a
	{
		color:#30302f;
		display:block;
		font-size:16px;
		line-height:18px;
		padding:10px 20px;
		width:100%;
	}
	
	#mainheader  #mainmenu div .submenu div.active a,
	#mainheader  #mainmenu div .submenu div:hover a
	{
		background:var(--primary-color);
		color:#fff;
	}
	#mainheader #mainmenu div .submenu a:hover {
	color:#fff !important;
	}


	#mainheader .container #mainmenu .firstlevel .active.secondlevel a{color:#fff;}




@media (max-width:980px)
{
	
	#mainheader{
		height:55px;
		background: #fff;
		border-bottom: 1px solid var(--light-grey);
		position:fixed;
	}	
	
	#mainheader.sticky #stickylogo img {
	display:block;		
	}

	#mainheader #stickylogo img {
	display:block;		
	}
	

	#mainheader.sticky #logo img {
	display:none;		
	}	
	#mainheader #logo img {
	display:none;		
	}	
	.menuopen #mainheader #openmenulogo img {
	display:block;

}
	
#mainheader .stickylogo{opacity:1;left:20px;  }	
#mainheader.sticky .stickylogo{opacity:1;  left:20px;  }

#mainheader.sticky .appointmentbox, .appointmentbox {top:22px; left:106px; width:168px;}	
	
#mainheader .toprow{display:none;}
.mobile_socialmediablock{display:block;}
	
#mainheader #mobilmenubutton
	{
		cursor:pointer;
		height:18px;
		margin-left:auto;
		position: absolute;
		right:20px;
		width:30px;
		display:block;
		top:20px;
		z-index:1000;
	}
	
	#mainheader #mobilmenubutton span
	{
		background:#000;
		display:block;
		height:3px;
		left:0;
		position:absolute;
		top:0;
		transition:all 0.3s ease-in-out;
		width:100%;
	}
	
	#mainheader.emptyheader #mobilmenubutton span,
	.scrolled #mainheader #mobilmenubutton span
	{
        background:#9bc855;
	}
	
	.menuopen #mainheader.emptyheader #mobilmenubutton span,
	.menuopen #mainheader #mobilmenubutton span
	{
        background:#000;
	}
	
	#mainheader #mobilmenubutton .midline
	{
		top:7px;
	}
	
	#mainheader #mobilmenubutton .botline
	{
		top:14px;
	}
	
	.menuopen #mainheader #mobilmenubutton .topline
	{
		transform:rotate(45deg);
		top:7px;
	}
	
	.menuopen #mainheader #mobilmenubutton .midline
	{
		opacity:0;
	}
	
	.menuopen #mainheader #mobilmenubutton .botline
	{
		transform:rotate(-45deg);
		top:7px;
	}

	#mainheader {padding:0px;}
	#mainheader .container{width:100%; max-width:100%; }
	
	#mainheader .container #mainmenu {
	background: var(--primary-color);
	margin-top:0px;
	margin-bottom:0px;
	opacity: 0;
	overflow-x: hidden;
	overflow-y: auto;
	padding: 40px;
	position: fixed;
	right: -100%;
	text-align: center;
	top: 53px;	
	transition: all 0.1s ease-in-out;
	width: 100%;
	display:block;	
	}
	#mainheader.sticky .container #mainmenu {padding-top:80px;}
	#mainheader .container #mainmenu .firstlevel .submenu {background: none; position:fixed;}
	
	#mainheader .container #mainmenu .firstlevel{ width:100%; padding-bottom:40px; padding-right:6px;}
	#mainheader .container #mainmenu .firstlevel a {color:var(--text-color);  font-size:26px!important; font-weight:600;}
	#mainheader .container #mainmenu .firstlevel a:hover {color:#000;}
	#mainheader .container #mainmenu .firstlevel.active a {color:#000;}
	#mainheader .container #mainmenu .firstlevel .submenu {display:block; top:20px;}
	#mainheader .container #mainmenu .firstlevel .submenu a {font-size:20px!important; text-align:center; font-weight:normal;color:#fff;}
	#mainheader .container #mainmenu .firstlevel .submenu a:hover{color:#000!important;}
	
	
	#mainheader #mainmenu div .submenu a:hover {color:#000!important;}
	

	
	.menuopen #mainheader{
		
			background: var(--white);
	}
	
	.menuopen #mainheader #mainmenu
	{
	
		opacity:1;
		right:0;
		transition:all 0.3s ease-in-out;
		height: 100vh;
		background-color: #fff;
	}
	
	#mainheader #mainmenu div .submenu {
		position:relative;
		text-align:center;
		top:0px;
	}
	.submenues{display:none;}
	
	#mainheader #mainmenu div .submenu.open{display:block; margin-top:12px;}
	
	#mainheader #mainmenu div.hassubpages{margin-right: 0px; margin-bottom:40px;}
	#mainheader #mainmenu div.hassubpages span{font-size:26px!important; font-weight: 600;}
	
	

	div.amountofjobsWrapper {width:20px; display:inline-block; background-color: #D4282B; color:#fff; border-radius: 10px; height:20px; font-size:16px; margin-bottom:5px; margin-left:3px; position:relative; animation: tilt-shaking 1.25s linear 4;}
.amountofjobsWrapper div {width:30px; display:inline-block;}
#mainheader #mainmenu div.hassubpages span.amountofjobs{margin-left:-10px;display:inline-block; position:relative; font-weight:normal; font-size:12px!important; background-color: #D4282B; color:#fff;  border-radius: 10px; height:20px; width:20px; line-height:20px;top:-10px;}
.amountofjobsWrapper span.amountofjobs {margin-left:0px;}

@keyframes tilt-shaking {
 0% { transform: translateY(0) }
 25% { transform: translateY(5px) }
 50% { transform: translateY(-5px) }
 75% { transform: translateY(5px) }
 100% { transform: translateY(0) }
}

	
	
	#mainheader #mainmenu div .submenu div a{width:auto; display:inline-block;}
	
	
	#mainheader  #mainmenu div .submenu div.active a,
	#mainheader  #mainmenu div .submenu div:hover a
	{
		color:var(--text-color);
	}
	#mainheader #mainmenu div .submenu a:hover {
	color:var(--text-color);
		font-weight:900;
	}

	#header{margin-top:55px;}
	
	.contactbox{height:55px; left:160px; width:150px;}
	.contactbox a{font-size:11px; line-height:13px;}
	.contactbox .contactbox_phone {margin-top:0px;}
}

@media (max-width:767px)
	{

	#header .threecolumn div.column.first{	
	display:none;
	}
 
	#header .threecolumn div.column.last{
	display:none;
	}
}