ul.language {
	  display: flex;
	  flex-direction: row-reverse;
	 position: absolute;
	  top: -80px;
	  right: 0;
	  z-index:666;
	  overflow:hidden;
	  width: 70px;
	  text-align: right;
	  /*font-size: .8em;
	  outline:1px solid #111;*/
	  margin: 1em 1em 1em auto;
	  padding: 0;
	  cursor: pointer;
	}
	ul.language_2 {
	  display: flex;
	  flex-direction: row-reverse;
	  overflow:hidden;
	  width: 70px;
	  text-align: right;
	  margin: 1em 1em 1em auto;
	  padding: 0;
	  cursor: pointer;
	}
	ul.language:hover, ul.language_2:hover {
		width:auto;
		/*background-color: #fff;*/
	}
	ul.language li, ul.language_2 li {
			background-color: rgba(255,255,255,.5);
			
			display: inline-flex;
			-webkit-user-select: none;
		    -ms-user-select: none;
		    user-select: none; 
			order:2;
			/*margin-left: 10px;*/
		}
		ul.language li a, ul.language_2 li a {
			background-repeat: no-repeat;
			background-position: 5px center;
			background-size: 20px;
			padding: 0 5px 0 30px;
			-webkit-user-select: none;
		    -ms-user-select: none;
		    user-select: none; 
		}
		ul.language li.leiste_bereich_orange,ul.language li.leiste_bereich_orange a, ul.language_2 li.leiste_bereich_orange,ul.language_2 li.leiste_bereich_orange a {
			background-color:#eee;
			order:1;
		}
		ul.language li.leiste_bereich_orange a, ul.language_2 li.leiste_bereich_orange a {
			pointer-events:none;
		}
	
/*	@media only screen and (pointer:fine) {*/
		 header {
			padding: 0;
		 }
		ul.language, ul.language_2 {
			display: flex;
			flex-direction: column;
			
			width: auto;
			height: 1.5em;
			text-align: left;
			font-size: 1em;
			transform: scale(1.2);
			transform-origin: bottom right;
			
		}
		ul.language_2 {
			
		position: absolute;
  right: 0;
  top:calc(100% - 15px);
  z-index: 666;
		}
		@media screen and (max-width:500px) {
			ul.language, ul.language_2 {
				right: 90px;
				top:1em;
			}
		}
		ul.language:hover, ul.language_2:hover {
			height:auto;
		}
		ul.language:hover li.leiste_bereich_orange, ul.language_2:hover li.leiste_bereich_orange {
			opacity:.2;
		}
		ul.language li  /*:not(.leiste_bereich_orange)*/ {
			margin-top:15px;
		}
		ul.language_2:hover li {
			margin-top:15px;
		}
		ul.language li a, ul.language_2 li a {
			background-repeat: no-repeat;
			background-position: 5px center;
			background-size: 20px;
			padding: 0 5px 0 30px!important;
		}
		.mobilemenuaktiv ul.language, .mobilemenuaktiv ul.language li {
			background-color:#464545!important;
		}
		.mobilemenuaktiv ul.language li, .mobilemenuaktiv ul.language li:hover, .mobilemenuaktiv ul.language li a:visited, .mobilemenuaktiv ul.language li a {
		  color:#B5B5B5;
		  background-color:#464545!important;
		}
		.mobilemenuaktiv ul.language li.open, .mobilemenuaktiv ul.language li.open:hover, .mobilemenuaktiv ul.language li.open a:visited, .mobilemenuaktiv ul.language li.open a {
		  color: #F1F1ED!important;
		}
		.mobilemenuaktiv ul.language li.leiste_bereich_orange, .mobilemenuaktiv ul.language li.leiste_bereich_orange a {
			background-color:#464545;
		}
		.mobilemenuaktiv .social a img, .mobilemenuaktiv .social a span, .mobilemenuaktiv .social a svg {
			opacity: .5;
		}
		.mobilemenuaktiv .social a:hover img, .mobilemenuaktiv .social a:hover span, .mobilemenuaktiv .social a:hover svg {
			opacity: 1;
		}
/*	}*/
	
	@media only screen and (pointer:coarse) {
		ul.language, ul.language_2 {
			transform: scale(1.5);
			transform-origin: top right;
			
		}
	}

		
		ul.language li.lang_de > a, ul.language_2 li.lang_de > a {
			background-image:url(/images/de.svg);
		}
		ul.language li.lang_ch > a, ul.language_2 li.lang_ch > a {
			background-image:url(/images/ch.svg);
		}
		ul.language li.lang_en > a, ul.language_2 li.lang_en > a {
			background-image:url(/images/ie.svg);
		}
		ul.language li.lang_fr > a, ul.language_2 li.lang_fr > a {
			background-image:url(/images/fr.svg);
		}
		ul.language li.lang_nl > a, ul.language_2 li.lang_nl > a {
			background-image:url(/images/nl.svg);
		}
		/*
		ul.language:hover {
			padding-top:40px;
		}
		ul.language:hover li:not(.leiste_bereich_orange) {
			position:unset;
			position: absolute;
		  margin-top: 40px;
		  z-index: 2;
		}
		ul.language:hover li:first-child {
			
		}
		ul.language:hover li.leiste_bereich_orange, ul.language:hover li.leiste_bereich_orange a {

			pointer-events:none!important;
			order:1;
		}*/
		nav input {
			display:none;
		}
		
		header nav {
			margin-left: auto!important;
		}
		
		nav {
	  transition: all .5s;

	}
	.bottom_nav {
	  background: #F8F8F8;
	  color: #888;
	  
	}
	.mainnav.bottom_nav, .mainnav.bottom_nav ul {
	  margin: 0 auto;
	  width: 100%;
	  padding: 0;
	  display: flex;
	  display:none;
	}
	.mainnav.bottom_nav ul > li {
	  flex:1;
	  text-align:center;
	}
	.bottom_nav a, .bottom_nav a:hover, .bottom_nav a:visited {
	  color: #888;
	  width: 100%;
	}
	nav.contact_links ul.contact_links {
		margin: 0;
	}
	
	nav.produkt_links {
		width:300px;
		height:auto;
		/*bottom:40px;
		z-index: 100;
		padding: 0;*/
	  }

	  nav ul {
	  list-style-type: none;
	  padding: 0;
	}
	nav ul li {
	  text-align: center;
	}
	nav a, nav a:visited, nav a:active {text-decoration:none;color: #464545;}
	
	nav a:hover {color: #C00D0D;}
	nav > ul > li > a {font-weight:400;}


	nav ul li a i {

	}
	nav ul li a {
	display:block;
	text-decoration: none;
	padding: 3px 1em !important;
	line-height:36px;
	/*width: 100%;*/
	margin-right: 0;
	}

	nav.produkt_links > ul > li {
		line-height: 30px;
		border: 1px solid #aaa;
		margin: 2px;
		padding:0;
	}
	nav.produkt_links input[type="checkbox"],nav input[type="radio"],input#hamburg {display:none;}
	
	input ~ .menue {
		/*display:none;
		visibility: hidden;
		opacity: 0;*/
	  transition: visibility 0s, opacity 0.5s linear;
	  }
	input:checked ~ .menue > #leiste_menu > li:first-child  {
		background-color:#C00D0D;
	}

	.leiste_bereich input:checked ~ .menue {
		display:block;
		visibility: visible;
		opacity: 1;
	}

	.menue {transition: all .5s;z-index:2;}
	.line { 
	   position: absolute; 
	   right:20px;
	   height:3px; width: 25px; 
	   background: #aaa; border-radius: 2px;
	   display: block; 
	   transition: 0.5s; 
	   transform-origin: center; 
	}
	.black .line { 
	   outline:1px solid #eee;
	   background: #464545;
	   color: #464545;
	   border-radius: 2px;

	}

	.line:nth-child(1) { top: 11px; }
	.line:nth-child(2) { top: 19px; }
	.line:nth-child(3) { top: 27px; }
	#hamburg:checked ~ .hamburg .line:nth-child(1){
	   transform: translateY(8px) rotate(-45deg);
	   width: 22px;
	}

	#hamburg:checked ~ .hamburg .line:nth-child(2){
	   opacity:0;
	}

	#hamburg:checked ~ .hamburg .line:nth-child(3){
	   transform: translateY(-8px) rotate(45deg);
	   width: 22px;
	}
	#hamburg:checked ~ .hamburg.black .line:nth-child(1){
	   transform: translateY(8px) rotate(-45deg);
	   width: 22px;
	}
	label.hamburg {
	display:none;
}
label.hamburg.black {
    display: inline-block;
	position: absolute;
    width: 66px;
    height: 66px;
	top:1.8em;
	right:0;
	/*background:#C00D0D;*/
	z-index: 9;
}
.menue_entry label{
	display: none;
}
	#hamburg:checked ~ .hamburg.black .line:nth-child(2){
	   opacity:0;
	}

	#hamburg:checked ~ .hamburg.black .line:nth-child(3){
	   transform: translateY(-8px) rotate(45deg);
	   width: 22px;
	}
	#hamburg ~ .hamburg ~ nav {transition: all 1s;display:flex;display:none;}
	.leiste_bereich.plissee {
		transition: all 1s;
	}

	#hamburg:checked ~ .hamburg ~ nav.mainnav {
		display:flex;
		opacity:1;
		position:absolute;
		right:0;
		top: calc(1em + 36px);
		z-index: 9;
		background: rgba(255,255,255,.9);
	}
	nav > ul > li {
		/*background-color: #efefef;#e1e1e1;*/
		font-size:23px;
		color:#464545;
		position:relative;
	}


	nav ul ul.menue li {
		text-indent:5px;
		text-align: left;
	}
	nav > ul > li ul {
		max-height:0;
		padding-top: 34px;
		text-align:left;
		position:absolute;
		right:1em;
		top:-1px;
		font-size: 0;
		z-index:999999;
		
	}
	nav > ul > li ul li {
		text-align:left;
		padding: 0 10px;
		/*border-bottom:1px solid #888;*/
		
	}
	
	
	nav.produkt_links ul li label {display:inline-block;padding: 5px;
	width: 40px;cursor: pointer;
	}

	
	.contact_links li a {color:#131313;text-align:left;}
	#leiste_menu, nav.produkt_links ul {background-color:#e1e1e1;margin-bottom: 0;}
	.leiste_bereich > label, .leiste_bereich > a i {display:none;}

	.leiste_bereich_orange {

							}
	ul.menue {
		margin: 0;
	}
	input:checked + nav > ul > li > a, nav > ul > li.leiste_bereich_orange > a {font-weight:500;}
	nav.produkt_links > ul > li {
	position: relative;
	}
	nav.produkt_links > ul > li label {
	position: absolute;
/*		color: #fff;*/
		right:2px;
		top:-5px;
	}
	header img.logo_inverted {
			display:none;
		}
	@media only screen and (max-width:500px) {
		
		nav > ul > li {
		  order:2;
		}
		nav > ul > li {
		  margin-bottom: 1em;
		}
		
		nav > ul > li {
		  opacity:.7;
		}
		/* nav > ul > li.open {
		  order:1;
		  margin-bottom: 2rem;
		  opacity:1;
		} */
		
		
		nav > ul > li.open > a {
			font-weight: 500;
		}
		
		#hamburg:checked ~ .mainnav {
			  top: 90px !important;
			  position: fixed !important;
			  left: 0;
			  width: 100% !important;
			  background: #404040 !important;
			  height: 100vh;
			  overflow-y:auto;
		}
		@media only screen and (orientation:portrait) {
			#hamburg:checked ~ .mainnav {
				padding-bottom:25vh;
			}
		}
		
		#hamburg:checked ~ .mainnav ul, #hamburg:checked ~ .mainnav li, #hamburg:checked ~ .mainnav li a {
			width: calc(90vw) !important;
			text-align: left!important;
			text-align: center!important;
			display: inline-block;
		}
		ul.main_links {display:inline-flex!important;flex-direction: column;margin:auto;}
		#hamburg:checked ~ .mainnav li a {
			width: calc(100% - 80px) !important;
			width: calc(100%) !important;
		}
		
		.mainnav ul li ul {
			  position:absolute!important;
			  max-height:0!important;
			  left:-100vw;
			  right:unset;
			  overflow:hidden;
			  opacity:1!important;
			  display:block!important;
			  font-size:20px!important;
			  padding-top: 10px;
			  text-align: right;
			  width: 100%;
			  transition: all 1.5s ease-in-out;
		}
		#hamburg:checked ~ .mainnav ul li input:checked ~ ul {
		  position:relative!important;
		  transition: left .5s ease-in-out;
		  left:unset;
		}
		
		
		
		#hamburg:checked ~ nav ul li ul li {
		  text-align: left!important;
		  white-space: nowrap;
		  max-width:20px;
		  overflow:hidden;
		  transition: all 1.6s ease-in-out;
		}
		#hamburg:checked ~ nav ul li input:checked ~ ul li {
		  max-width:none;
		  transition: max-width 1.6s ease-in-out;
		}
		nav label {
			padding:10px;
			transition:all 1s ease-in;
			/*outline:1px solid #fff;*/
		}
		nav label > img {
			width:30px;
		}
		nav label::after {
		  display: inline-block;
		  content: "";
		  height: 40px;
		  width: 40px;
		  background: url(/images/arrow_drop_down.svg);
		  background-repeat: no-repeat;
		  background-size: 40px;
		  background-size: 0;
		  background-position: center 11px;
		  text-align:center;
		}
		#hamburg:checked ~ .mainnav ul li input:checked ~ ul {
			height:auto!important;
			left:0;
			max-height:500px!important;
			oveflow:auto;
		}
		#hamburg:checked ~ .mainnav ul li input:checked + label {
			opacity:0;
		}
		#hamburg:checked ~ .mainnav a, #hamburg:checked ~ .mainnav a:visited {
			  color:#F1F1ED;
		}
		
		.mobilemenuaktiv .social-logo-group {
			position:fixed;
			z-index:666;
			left:0;
			bottom:0;
			width:100%;
		}
		.mobilemenuaktiv div.social {
			padding: 0 1em 1em 1em;
			margin: 0;
		  }
		.mobilemenuaktiv .social-logo-group > img {
			display:none;
		}
		.mobilemenuaktiv header img.logo {
			opacity:.1;
			display:none;
		}
		.mobilemenuaktiv header img.logo_inverted {
			display:block;
		}
		.mobilemenuaktiv body, html.mobilemenuaktiv {
			overflow: hidden!important;
		}
		.mobilemenuaktiv header {
			background: #404040 !important;
		}
		.mobilemenuaktiv .black .line { 
		   color: #F1F1ED!important;
		   background: #F1F1ED!important;
		}
	}

@media only screen and (min-width: 501px) and (pointer:coarse) /*(max-width: 1024px)*/  {

	.main_links {
	  display: inline-flex;
	  column-gap: 1em;
	  flex-wrap: wrap;
	  padding-left:1em;
	}
	.main_links > li {
		display: inline-flex;
  /*outline: 1px solid #f00;*/
}
.main_links > li > a {
  /*outline: 1px solid #0f0;*/
}
	.mainnav > ul > li ul {
			pointer-events:none;
		}
	.mainnav > ul > li > input:checked ~ ul {
			pointer-events:all;
			height:auto!important;
			left:0;
			max-height:500px!important;
			oveflow:auto;
			font-size: initial;
			opacity:1;
			width: 100%;
		}
	/*
	nav > ul > li input {
		display:inline!important;
	  }*/
	 nav.mainnav > ul > li input:checked ~ ul {
		margin-top: 25px;
		color: #F1F1ED;
	  }
	 nav.mainnav > ul > li input:checked ~ ul li {
				width: 100%;
				white-space:nowrap;
				background: #464545;
				color: #F1F1ED;
	}
	nav > ul > li input:checked ~ ul li a, nav > ul > li input:checked ~ ul li a:visited, nav > ul > li input:checked ~ ul li a:hover {
				color: #F1F1ED;
	}
	nav > ul > li > label {
		/*position:absolute;*/
		  display: inline-block;
/*		  right:0;
		  top:0;*/
		  font-size: 0;
		  height: 100%;
		  width: 40px;
		  border-radius:0 10px 10px 0;
		  content: url(/images/arrow_drop_down.svg);
		  background-repeat: no-repeat;
		  background-size: 40px;
		  background-position: center;
		  /*background-color: #404040;*/
		}
		nav > ul > li input:checked + label {
		  transform: rotate(180deg);
		}
}
	@media only screen and (min-width: 501px) {
		nav.mainnav ul > li {
			display: inline-flex;

		}
		nav.mainnav > ul > li ul li:first-child {
			padding-top:40px;
		}
		nav.mainnav > ul > li ul li:last-child {
			padding-bottom:40px;
		}
		
		@media only screen and (pointer: fine) {
			nav.mainnav > ul > li:hover ul {
			max-height:500px;
			font-size:initial;
			margin-top: 38px;
			
			width: auto;
			}
			nav.mainnav > ul > li:hover ul li {
				width: 100%;
				white-space:nowrap;
				background: #464545;
			}
			
			nav.mainnav > ul > li:hover ul li a, nav > ul > li:hover ul li a:visited {
				color: #F1F1ED;
			}
		}
		label.hamburg, label.hamburg.black { display: none;}
		#hamburg:checked ~ .hamburg + nav.produkt_links {
			width:300px;
		}
		#hamburg:checked ~ .hamburg {
			/*float:left;*/
		}
		#hamburg ~ .hamburg ~ nav.produkt_links:before {
			display:none;
		}
		 #hamburg ~ .hamburg ~ nav {
			display: flex;
		 }
		 nav.produkt_links {
			max-height: calc(100% - 120px);
			/*top:40px;*/
		}
		nav.contact_links {top:0;}
	}
	
	@media only screen and (min-width: 1000px) {
		#hamburg:checked ~ .hamburg ~ nav.mainnav {
			position: inherit;
		 }
		 /*
		 ul.language {
			top:unset;
			bottom: 15px;
			right: 1em;
			display:none;
		  }*/
		.leiste_bereich input:checked ~ .menue {
			display: none;
			visibility: hidden;
			opacity: 0;
		}
		
		.sub_toggler {
			display: inline-block;
			float: left;

		}
		.sub_toggler, .contact_links li {
			width: auto;
		}
		
		#hamburg ~ .hamburg + nav {left:0;}
		#hamburg:checked ~ .hamburg + nav.produkt_links, nav.produkt_links {
			width: 100%;
			background-color: #131313;
			bottom:40px;
			padding:0;
			display:table;
			background-color: transparent;
			top: 0;
			margin: 0;
			border-left:0!important;
			border-right:0!important;
			position: relative !important;
		}
		
		
		nav.kontakt_links ul > li {
			width: auto!important;
		}
	}