@charset "utf-8";
/* CSS Document */


/* =========================================================
   DESKTOP – BISHERIGE NAVIGATION
   Ab 1200px unverändert
   ========================================================= */

#nav {
	margin: 20px;
	padding: 7px 6px 0;
	background: #fff repeat-x 0 -110px;
	line-height: 100%;
	max-width: 1540px;
}


#nav li {
	margin: 0 5px;
	padding: 0 0 8px;
	float: left;
	position: relative;
	list-style: none;
}


/* =========================================================
   HAUPT-EBENE
   ========================================================= */

#nav a {
	font-weight: bold;
	color: #000;
	text-decoration: none;
	display: block;
	padding: 8px 20px;
	margin: 0;

	-webkit-border-radius: 1.6em;
	-moz-border-radius: 1.6em;
	border-radius: 1.6em;

	text-shadow: 0 1px 1px rgba(0, 0, 0, .3);
}


#nav a:hover {
	background: #000;
	color: #fff;
}


/* =========================================================
   HAUPT-EBENE HOVER
   ========================================================= */

#nav .current a,
#nav li:hover>a {
	background: #ddd repeat-x 0 -40px;
	color: #444;
	border-top: solid 1px #f8f8f8;

	-webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, .2);
	-moz-box-shadow: 0 1px 1px rgba(0, 0, 0, .2);
	box-shadow: 0 1px 1px rgba(0, 0, 0, .2);

	text-shadow: 0 1px 0 rgba(255, 255, 255, 1);
}


/* =========================================================
   UNTEREBENEN HOVER
   ========================================================= */

#nav ul li:hover a,
#nav li:hover li a {
	background: none;
	border: none;
	color: #666;

	-webkit-box-shadow: none;
	-moz-box-shadow: none;
	box-shadow: none;
}


#nav ul a:hover {
	background: #0078ff repeat-x 0 -100px !important;
	color: #fff !important;

	-webkit-border-radius: 0;
	-moz-border-radius: 0;
	border-radius: 0;

	text-shadow: 0 1px 1px rgba(0, 0, 0, .1);
}


/* =========================================================
   DROPDOWN – DESKTOP
   ========================================================= */

#nav li:hover>ul {
	display: block;
}


/* =========================================================
   EBENE 2
   ========================================================= */

#nav ul {
	display: none;

	margin: 0;
	padding: 0;

	width: 185px;

	position: absolute;

	top: 15px;
	left: 0;

	background: #ddd repeat-x 0 0;

	border: solid 1px #b4b4b4;

	-webkit-border-radius: 10px;
	-moz-border-radius: 10px;
	border-radius: 10px;

	-webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, .3);
	-moz-box-shadow: 0 1px 3px rgba(0, 0, 0, .3);
	box-shadow: 0 1px 3px rgba(0, 0, 0, .3);
}


#nav ul li {
	float: none;

	margin: 0;
	padding: 0;
}


#nav ul a {
	font-weight: normal;
	text-shadow: 0 1px 0 #fff;
}


/* =========================================================
   EBENE 3+
   ========================================================= */

#nav ul ul {
	left: 181px;
	top: -3px;
}


/* =========================================================
   ABGERUNDETE ECKEN
   ========================================================= */

#nav ul li:first-child>a {
	-webkit-border-top-left-radius: 9px;
	-moz-border-radius-topleft: 9px;

	-webkit-border-top-right-radius: 9px;
	-moz-border-radius-topright: 9px;

	border-top-left-radius: 9px;
	border-top-right-radius: 9px;
}


#nav ul li:last-child>a {
	-webkit-border-bottom-left-radius: 9px;
	-moz-border-radius-bottomleft: 9px;

	-webkit-border-bottom-right-radius: 9px;
	-moz-border-radius-bottomright: 9px;

	border-bottom-left-radius: 9px;
	border-bottom-right-radius: 9px;
}


/* =========================================================
   CLEARFIX
   ========================================================= */

#nav:after {
	content: ".";
	display: block;
	clear: both;
	visibility: hidden;
	line-height: 0;
	height: 0;
}


#nav {
	display: inline-block;
}


html[xmlns] #nav {
	display: block;
}


* html #nav {
	height: 1%;
}


/* =========================================================
   STICKY NAVIGATION
   Das vorhandene JavaScript setzt .menu direkt auf #nav.
   ========================================================= */

#nav.menu {
	position: fixed;

	top: 0;
	left: 0;

	width: 960px;

	z-index: 1000;
}


/* =========================================================
   MOBILE SUBMENU BUTTON
   Auf dem PC grundsätzlich unsichtbar
   ========================================================= */

.mobile-submenu-toggle {
	display: none;
}


/* =========================================================
   HAMBURGER BUTTON
   Standardmäßig unsichtbar
   ========================================================= */

#nav-toggle {
	display: none;
}


/* =========================================================
   MOBILE / TABLET
   1199px und kleiner
   ========================================================= */

@media screen and (max-width: 1199px) {

	/* HAMBURGER BUTTON */

	#nav-toggle {
		display: flex;

		position: relative;

		left: 10px;

		align-items: center;
		justify-content: center;

		gap: 10px;

		width: max-content;
		max-width: calc(100% - 20px);

		box-sizing: border-box;

		margin: 10px 0;
		padding: 12px 16px;

		border: 1px solid #b4b4b4;
		border-radius: 8px;

		background: #ddd;
		color: #000;

		font-family: Arial, Helvetica, sans-serif;

		font-size: 12px;
		font-weight: bold;

		cursor: pointer;

		text-align: left;

		box-shadow: 0 1px 3px rgba(0, 0, 0, .25);
	}


	#nav-toggle:hover {
		background: #ccc;
		color: #000;
	}


	.hamburger-icon {
		font-size: 14px;
		line-height: 1;
	}


	.hamburger-text {
		line-height: 1.2;
	}


	/* NAVIGATION ZUNÄCHST VERSTECKEN */

	#nav {
		display: none;

		width: max-content !important;

		max-width: calc(100% - 20px) !important;

		box-sizing: border-box;

		margin: 0 0 0 10px;

		padding: 5px 0;

		overflow: visible;

		background: #fff;
	}


	/* NAVIGATION GEÖFFNET */

	#nav.mobile-open {
		display: block;
	}


	/* MOBILE STICKY NAVIGATION */

	#nav.menu {
		position: fixed;

		top: 0;
		left: 0;

		width: max-content !important;

		max-width: calc(100% - 20px) !important;

		max-height: 100vh;
		max-height: 100dvh;

		overflow-y: auto;
		overflow-x: hidden;

		margin-left: 10px;

		box-sizing: border-box;

		z-index: 1000;

		-webkit-overflow-scrolling: touch;
	}


	/* HAUPTMENÜ-PUNKTE */

	#nav li {
		float: none !important;

		display: block;

		position: relative;

		width: max-content;

		max-width: 100%;

		box-sizing: border-box;

		margin: 0;

		padding: 0;

		white-space: nowrap;
	}


	/* LINKS – HÖHE UM CA. 25 % REDUZIERT */

	#nav a,
	#nav a:link,
	#nav a:visited,
	#nav a:hover,
	#nav a:active {
		display: block;

		width: max-content;

		max-width: 100%;

		box-sizing: border-box;

		padding: 9px 50px 9px 15px;

		margin: 0;

		font-size: 12px !important;

		line-height: 1.35 !important;

		white-space: nowrap !important;

		text-decoration: none;
	}


	#nav a em,
	#nav a strong,
	#nav a strong em {
		font-size: 12px !important;

		line-height: 1.35 !important;

		white-space: nowrap !important;
	}


	/* MOBILE:
       DESKTOP-HOVER DARF KEIN UNTERMENÜ ÖFFNEN */

	#nav li:hover>ul {
		display: none;
	}


	/* UNTERMENÜ */

	#nav ul {
		display: none;

		position: static !important;

		width: max-content !important;

		min-width: 0 !important;

		max-width: 100% !important;

		box-sizing: border-box;

		margin: 0 !important;

		padding: 0 !important;

		border: 0;

		border-radius: 0;

		background: #eee;

		box-shadow: none;
	}


	/* GEÖFFNETES UNTERMENÜ */

	#nav li.submenu-open>ul,
	#nav li.submenu-open:hover>ul {
		display: block !important;
	}


	/* WEITERE UNTERMENÜ-EBENEN */

	#nav ul ul {
		position: static !important;

		left: auto !important;

		top: auto !important;

		width: max-content !important;

		max-width: 100% !important;

		margin: 0 !important;

		padding: 0 !important;
	}


	#nav ul li {
		float: none !important;

		width: max-content;

		max-width: 100%;

		margin: 0;

		padding: 0;
	}


	/* LINKS IN UNTERMENÜS */

	#nav ul a {
		width: max-content;

		max-width: 100%;

		padding: 9px 15px 9px 30px;

		font-size: 15px !important;

		white-space: nowrap !important;
	}


	#nav ul ul a {
		width: max-content;

		max-width: 100%;

		padding: 9px 15px 9px 45px;

		font-size: 12px !important;

		white-space: nowrap !important;
	}


	/* PFEIL FÜR MOBILE UNTERMENÜS */

	.mobile-submenu-toggle {
		display: block;

		position: absolute;

		top: 0;

		right: 5px;

		width: 36px;

		height: 36px;

		margin: 0;

		padding: 0;

		border: 0;

		border-radius: 6px;

		background: transparent;

		color: #000;

		font-size: 13px;

		cursor: pointer;

		z-index: 5;
	}


	.mobile-submenu-toggle:hover {
		background: rgba(0, 0, 0, .1);
	}


	/* TEXT UND PFEIL IM HAUPTMENÜ */

	#nav>li>a {
		padding-right: 55px;
	}


	/* HINTERGRUND DER HAUPTNAVIGATION */

	#nav>li {
		background: #ddd;
	}


	#nav>li>ul {
		background: #eee;
	}


	/* MOBILE NAVIGATION: STICKY-WIDTH */

	#nav.menu {
		width: max-content !important;

		max-width: calc(100% - 20px) !important;

		left: 0;

		right: auto;
	}

}


/* =========================================================
   KLEINE HANDYS
   600px und kleiner
   ========================================================= */

@media screen and (max-width: 600px) {

	#nav-toggle {
		font-size: 13px;

		padding: 11px 14px;
	}


	.hamburger-icon {
		font-size: 20px;
	}


	/* MENÜPUNKTE WEITER VERKLEINERT */

	#nav a,
	#nav a:link,
	#nav a:visited,
	#nav a:hover,
	#nav a:active {
		font-size: 13px !important;

		padding-top: 8px;

		padding-bottom: 8px;
	}


	#nav a em,
	#nav a strong,
	#nav a strong em {
		font-size: 12px !important;
	}


	#nav ul a {
		font-size: 12px !important;
	}


	#nav ul ul a {
		font-size: 12px !important;
	}

}