/* ################################################# NAVIGATION - DESKTOP */


#menu_extra {
	background-color: #777569;
	background-color: #BBBAB4;
	position: fixed;
	/* top:0; */
	top:0px;
	right:0;
	height:64px;
	display: inline-block;
	/* z-index: 8999; */
	transition: all 0.5s;
}
body.sticky #menu_extra {
	top:64px;
	transition: all 0.5s;
}
#menu_extra ul {
	display: flex;
	flex-direction: row;
	height:64px;
	padding: 0px 16px;
}

#menu_extra ul li {
	list-style: none;
	padding: 0px;
}
#menu_extra ul li a {
	color: white;
	text-decoration: none;
	padding: 16px 16px;
}
#menu_extra ul li a:hover {
	color: white;
	text-decoration: none;
}


#menu_desktop {
	display: block;
	position: relative;
	/* padding: 0px 0px 10px 0px; */
	padding:64px 0 64px 0;
	transition: all 0.5s;
	/* transition: all 0.5s; */
	/* transition: all 0.5s; */
}
body.sticky #menu_desktop {
	padding: 0px 0px 0px 0px;
	transition: all 0.5s;
	/* transition: all 0.5s; */
	/* transition: all 1.5s; */
}

#menu_desktop nav {
	width:100%;
	max-width: 820px;
	margin: 0 auto;
	z-index: 99000;
}

#menu_desktop nav li.logo,
#menu_desktop nav li.logo a  {
	padding:4px 0;
	margin-top:-44px
}
#menu_desktop nav li.logo img {
	width: 150px;
	transition: all 0.5s;
}
body.sticky #menu_desktop nav li.logo img {
	width:150px;
	transition: all 0.5s;
	padding-top: 5px;
}
body.sticky #menu_desktop nav li.logo,
body.sticky #menu_desktop nav li.logo a  {
	margin-top:-64px
}
/* #######################################          EBENE 1 */

#menu_desktop nav ul.ebene1 {
	padding: 0;
	margin:0;
	display: flex;
	flex-direction: row;
	justify-content: space-between;
}
#menu_desktop nav li {
	list-style: none;
	/* width:240px; */
}
#menu_desktop nav li.ebene1 a {
	color: #737373;
	padding: 20px 0px 10px 0;
	display: block;
	white-space: nowrap;
	text-decoration: none;
	/* background: white; */
}

#menu_desktop nav li.ebene1 > a:hover,
#menu_desktop nav li.ebene1.active > a {
	text-decoration: none;
	color: #74ACC8;
}


/* #######################################          EBENE 2 */

#menu_desktop nav ul ul.sf-menu {
	padding: 34px 0 0 0;
	position: absolute;
	width:300px;
	margin-left: -110px;
	background-image: url(/resources/navi-up.png);
	background-size: 26px 26px;
	background-repeat: no-repeat;
	background-position: center 20px;
}
#menu_desktop nav li li {
	background-color: #B9D5E3;
	text-align: left;
	padding:6px 20px 12px 20px;
	border-bottom:1px solid white;
	position: relative;
	box-shadow: 0px 4px 4px rgba(0,0,0,0.15);
}
#menu_desktop nav li.ebene1 li a,
#menu_desktop nav li.ebene1 li a:hover {
	color: white;
	line-height: 18px;
}
#menu_desktop nav li li:first-child a {
	/* padding-top: 0px; */
}
#menu_desktop nav li li:last-child {
	/* padding-bottom: 0px; */
	border-bottom:0;
	
}
#menu_desktop nav ul li ul {
	display: none;
}
#menu_desktop nav ul li:hover ul {
	display: block;
}

#menu_desktop nav ul ul li.has-sub {
	background-image:url(/resources/navi-arrow-right.svg);
	background-size: 16px 16px;
	background-position: 93% 28px;
	background-repeat: no-repeat;
	padding-right: 40px;
}

#menu_desktop nav li.ebene1 li:hover {
	 color:#74ACC8;
	 background-color:#74ACC8;
	 color:white;
}
/* #menu_desktop nav li.ebene1 li.active,
#menu_desktop nav li.ebene1 li.current {
	background-color:#74ACC8;
	color:white;
}
#menu_desktop nav li.ebene1 li.active a,
#menu_desktop nav li.ebene1 li.current a,
#menu_desktop nav li.ebene1 li.active a:hover,
#menu_desktop nav li.ebene1 li.current a:hover {
	color:white;
} */

/* #######################################          EBENE 3 */

#menu_desktop nav ul ul.sf-menu ul {
	padding: 0;
	margin-left:300px;
	width:300px;
	position: absolute;
	right:0;
	left:0;
	top:0px;
	/* border: 1px solid transparent; */
	border-left: 1px solid white;
}
#menu_desktop nav li li li {
	background-color: #B9D5E3;
}
#menu_desktop nav li li li {
	color: white;
}
#menu_desktop nav li li li:first-child a {
	/* padding-top: 40px; */
}
#menu_desktop nav li li li:last-child a {
	/* padding-bottom: 40px; */
}
#menu_desktop nav ul li ul li ul,
#menu_desktop nav ul li:hover ul li ul {
	display: none;
}
#menu_desktop nav ul li:hover ul li:hover ul {
	display: block;
}

#menu_desktop nav li.ebene1 li li:hover {
	 color:#74ACC8;
	 background-color:#74ACC8;
	 color:white;
}

/* #menu_desktop nav li.ebene1 li li a:hover,
#menu_desktop nav li.ebene1 li.active li a:hover,
#menu_desktop nav li.ebene1 li.current li a:hover {
	color:#74ACC8;
}
#menu_desktop nav li.ebene1 li.active li.active a:hover,
#menu_desktop nav li.ebene1 li.current li.current a:hover {
	color:white;
} */

/* ################################################# NAVIGATION - MOBIL */

#menu_mobil_head {
	position: fixed;
	top:0;
	left:0;
	right:0;
	background-color: white;
	display:none;
}
#menu_mobil_head img {
	width:200px;
	padding-top: 16px;
}
#menu_mobil {
	position: absolute;
	top:64px;
	left:0;
	right:0;
	/* bottom:0; */
	max-height: 100vh; 
	/* background-color: rgba(255,255,255,.6); */
	z-index: 9980;
	overflow: scroll;
	display:none;
	box-shadow: 0px 4px 4px rgba(0,0,0,0.15);
}

#menu_mobil nav  {
	display: none;
}
#menu_mobil nav.open {
	display: flex;
	flex-direction: column;
}
#menu_mobil nav ul {
	flex-direction: column;
	padding: 0;
	margin: 0;
}
#menu_mobil nav ul li {
	list-style: none;
	background-color: #B9D5E3;
	position: relative;
}
#menu_mobil nav ul li.has-sub a {
	/* background-image:url(/resources/navi-arrow-right.svg); */
	background-size: 16px 16px;
	background-position: 95% 28px;
	background-repeat: no-repeat;
	padding-right: 40px;
}
#menu_mobil nav ul li ul li.has-sub ul li a {
	background-image:none;
}
 #menu_mobil nav ul li.has-sub span {
	/* content: url(/resources/navi-arrow-down.svg); */
	content:" ";
	background-image:url(/resources/navi-arrow-right.svg);
	background-repeat: no-repeat;
	background-size: 16px 16px;
	background-position: center;
	width: 52px;
	height: 52px;
	position: absolute;
	top: 0;
	right:0;
	background-color: rgba(0,0,0,0.05);
	background-color: #B9D5E3;
	transform: rotate(90deg);
} 
#menu_mobil nav ul li.has-sub span.open {
	transform: rotate(-90deg);
}
#menu_mobil nav ul li.has-sub span:hover {
	background-color:#74ACC8;
} 
#menu_mobil nav ul li ul li.has-sub ul li span {
	display: none;
}
#menu_mobil a {
	/* color: white; */
	text-decoration: none;
	padding: 15px 20px 14px 20px;
	border-bottom: 1px solid white;
	display: block;
	text-align: left;	
font-size: 18px;
line-height: 24px;
}

#menu_mobil nav ul li ul {
	display: none;
}
#menu_mobil nav li a:hover,
#menu_mobil nav ul li.active > a,
#menu_mobil nav ul li.current > a {
	text-decoration: none;
	background-color:#74ACC8;
	color: white;
}
#menu_mobil nav ul li ul li a {
	padding-left: 40px;
}
#menu_mobil nav ul li ul li ul li a {
	padding-left: 80px;
}
#menu_mobil nav ul li a.open {
	background-color:#74ACC8;
	color: white;
}
#menu_mobil nav ul li.oliv,
#menu_mobil nav ul li.oliv:hover,
#menu_mobil nav ul li.oliv a:hover,
#menu_mobil nav ul li.oliv.active > a,
#menu_mobil nav ul li.oliv.current > a {
	background-color:#777569;
}

/* ################################################# NAVIGATION BUTTON - Hamburger to X */

#menu_mobil_button {
  display: none;
  position: fixed;
  top:0px;
  right:10px;
  overflow: hidden;
  margin: 0;
  padding: 0;
  appearance: none;
  box-shadow: none;
  border-radius: none;
  border: none;
  width: 64px;
  height: 64px;
  font-size: 0;
  text-indent: -9999px;
  cursor: pointer;
  /* background-color: white; */
  /* border-radius: 50%; */
  transition: background 0.3s;
  z-index: 9999;
}

#menu_mobil_button:focus {
  outline: none;
}

#menu_mobil_button span {
  display: block;
  position: absolute;
  top: 30px;
  left: 14px;
  right: 14px;
  height: 2px;
  background: #737373;
  transition: background 0s 0.3s;
/*   box-shadow: 1px 1px 2px rgba(0, 0, 0, 0.50); */
}

#menu_mobil_button span::before,
#menu_mobil_button span::after {
  position: absolute;
  display: block;
  left: 0;
  width: 100%;
  height: 2px;
  background-color: #737373;
  content: "";
  transition-duration: 0.3s, 0.3s;
  transition-delay: 0.3s, 0s;
/*   box-shadow: 1px 1px 2px rgba(0, 0, 0, 0.50); */
}

#menu_mobil_button span::before {
  top: -10px;
  transition-property: top, transform;
}

#menu_mobil_button span::after {
  bottom: -10px;
  transition-property: bottom, transform;
}


#menu_mobil_button.open {
  /* background-color: transparent; */
}

#menu_mobil_button.open span {
  background: none;
/*   box-shadow: 0px 0px 0px rgba(0, 0, 0, 0.50); */
}

#menu_mobil_button.open span::before {
  top: 0;
  transform: rotate(45deg);
}

#menu_mobil_button.open span::after {
  bottom: 0;
  transform: rotate(-45deg);
}

#menu_mobil_button.open span::before,
#menu_mobil_button.open span::after {
   transition-delay: 0s, 0.3s;
   /* background-color: white; */
/*    box-shadow: 0px 0px 0px rgba(0, 0, 0, 0.50); */
}
