

/* ############################################################
	FARBKLIMA
###############################################################
	
	1 Gelb				#fbba17 - rgba(251,186,23,1)
	2 Dunkelblau		#1c3f69 - rgba(28,63,105,1)
	3 Rot				#d03439 - rgba(208,52,57,1)
	4 Hellblau			#edf0f3 - rgba(237,240,243,1)
	6 Hellblau 2		#dce2e8 - rgba(220,226,232,1)
	5 Lila				#501e96 - rgba(80,30,150,1)
	  Weiss				#ffffff - rgba(255,255,255,1)
	  Schwarz			#000000 - rgba(0,0,0,1)
	
###############################################################
	ALLGEMEINES
############################################################ */

/* Resets */
* {
	margin: 0;
	padding: 0;
	outline: none;
}
*, *:before, *:after {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}
img, table, tr, td {
	border: 0;
}

/* Variablen definieren */
:root {
	--main-color-1: #fbba17; /* Gelb */
	--main-color-2: #1c3f69; /* Dunkelblau */
	--main-color-3: #d03439; /* Rot */
	--main-color-4: #edf0f3; /* Hellblau */
	--main-color-5: #501e96; /* Lila */
	--main-color-6: #dce2e8; /* Hellblau 2 */
	--main-color-white: #ffffff;
	--main-color-black: #000000;
	--main-color-error: #eb4462;
	--main-color-successful: #4fa158;
	--gap: 10px;
}
@media (min-width: 1020px) {
	:root {
		--gap: 30px;
	}
}

html, body { /* html = IE text resize correction */
	font-size: 100%;
}
html {
	height: 100vh;
	height: -webkit-fill-available;
	-webkit-font-smoothing: antialiased;
	font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
}
body {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	position: relative;
	overflow-x: hidden;
	min-height: 100vh;
	min-height: -webkit-fill-available; /* mobile viewport bug fix */
	background-color: var(--main-color-4);
}
a, a:focus {
	outline: none;
}

main img, footer img {
	max-width: 100% !important;
	height: auto !important;
	display: block;
	-ms-interpolation-mode: bicubic;
	image-rendering: optimizeQuality;
}

.css-transitions-only-after-page-load * {
	-o-transition: none !important;
	-ms-transition: none !important;
	-moz-transition: none !important;
	-webkit-transition: none !important;
	transition: none !important;
}

/* Effekt: FadeIn / Lightning */
body:not(.cms-active) header,
body:not(.cms-active) main,
body:not(.cms-active) footer,
body:not(.cms-active) .nav-button-box {
	opacity: 0;
}

/* Inview (Aktivierung: .inview) */
.inview {
	opacity: 0;
}
.come-in.from-bottom {
	transform: translateY(100px);
	animation: come-in-vertical 0.8s ease forwards;
}
.come-in.from-left {
	transform: translateX(-100px);
	animation: come-in-horizontal 0.8s ease forwards;
}
.come-in.from-right {
	transform: translateX(100px);
	animation: come-in-horizontal 0.8s ease forwards;
}
.already-visible {
	transform: translate(0) !important;
	animation: none !important;
	opacity: 1 !important;
}
.inview.delay-08s {
	animation-delay: 0.8s;
}
@keyframes come-in-vertical {
	to {
		transform: translateY(0);
		opacity: 1;
	}
}
@keyframes come-in-horizontal {
	to {
		transform: translateX(0);
		opacity: 1;
	}
}
@keyframes come-in-show {
	to {
		opacity: 1;
	}
}

/* Page-Loader */
@keyframes load-spinner {
  to {
		transform: rotate(360deg);
	}
}
#load-cover-spin {
	position: fixed;
	width: 100%;
	left: 0;
	right: 0;
	top: 0;
	bottom: 0;
	background-color: rgba(255,255,255,0.5);
	z-index: 9999;
	display: none;
}
#load-cover-spin::after {
	content: "";
	box-sizing: border-box;
	position: absolute;
	top: 50%;
	left: 50%;
	width: 50px;
	height: 50px;
	margin-top: -25px;
	margin-left: -25px;
	border-radius: 50%;
	border: 4px solid var(--main-color-3);
	border-top-color: var(--main-color-white);
	background-color: transparent;/*rgba(255,255,255,0.8)*/
	-webkit-animation: load-spinner .6s linear infinite;
	animation: load-spinner .6s linear infinite;
}


/* ############################################################
	SCHRIFTEN / TEXTE / ABSÄTZE / HYPERLINKS / TITEL
############################################################ */

/* Allgemeines */
body {
	font-family: "SohoGothicRegular";
	font-weight: normal;
	font-style: normal;
	font-size: 0.875rem; /* 14px */
	line-height: 1.375rem; /* 22px */
	color: var(--main-color-2);
}
footer {
	color: var(--main-color-white);
}
@media (min-width: 1020px) {
	body {
		font-size: 1.125rem; /* 18px */
		line-height: 2rem; /* 32px */
	}
	footer {
		font-size: 1rem; /* 16px */
		line-height: 1.625rem; /* 26px */
	}
}


/* Schnitte */
i, em, .italic {
}
b, strong, .bold {
	font-family: "SohoGothicBold";
	font-weight: normal;
	font-style: normal;
}
.semibold {
}
strong > em, em > strong,
strong > i, i > strong,
b > em, em > b,
b > i, i > b {
}


/* Titel, Schriftgrössen */
h1, h2, h3, h4 {
	position: relative;
	margin: 0;
	padding: 0;
	font-weight: normal;
	font-style: normal;
	letter-spacing: 0;
	color: inherit;
}
h1, h2 {
	margin-bottom: 28px;
	font-family: "SohoGothicRegular";
	font-size: 1.625rem; /* 26px */
	line-height: 2.25rem; /* 36px */
}
h2.modultitel {
	margin-bottom: 28px;
}
	p + h2 {
		margin-top: 72px;
	}
h3 {
	font-family: "SohoGothicBold";
	font-size: 0.875rem; /* 14px */
	line-height: 1.375rem; /* 22px */
}
h4 {
	font-family: "SohoGothicBold";
	font-size: 0.875rem; /* 14px */
	line-height: 1.375rem; /* 22px */
}
footer h4 {
	margin-bottom: 14px;
}
.font-sitetitel {
	font-size: 0.875rem; /* 14px */
	line-height: 1.3125rem; /* 21px */
}
.font-90 {
	font-size: 2.8125rem; /* 45px */
	line-height: 2.5rem; /* 40px */
}
@media (min-width: 1020px) {
	h1, h2 {
		margin-bottom: 50px;
		font-size: 2.8125rem; /* 45px */
		line-height: 3.75rem; /* 60px */
	}
	h2.modultitel {
		margin-bottom: 80px;
	}
		p + h2 {
			margin-top: 120px;
		}
	h3 {
		font-size: 1.375rem; /* 22px */
		line-height: 2rem; /* 32px */
	}
	h4 {
		font-size: 1.125rem; /* 18px */
		line-height: 2rem; /* 32px */
	}
	footer h4 {
		margin-bottom: 20px;
	}
	.font-sitetitel {
		font-size: 1rem; /* 16px */
		line-height: 1.5rem; /* 24px */
	}
}
@media (min-width: 1680px) {
	.font-90 {
		font-size: 5.625rem; /* 90px */
		line-height: 5rem; /* 80px */
	}
}



/* Lange Sätze abschneiden */
.text-overflow-ellipsis {
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}


/* Zeichen */
.text-uppercase {
	text-transform: uppercase;
}
.text-lowercase {
	text-transform: lowercase;
}


/* Silbentrennung */
.silbentrennung {
	-ms-hyphens: auto;
	-moz-hyphens: auto;
	-webkit-hyphens: auto;
	hyphens: auto;
	-ms-hyphenate-limit-chars: auto 3;
	-moz-hyphenate-limit-chars: auto 3;
	-webkit-hyphenate-limit-chars: auto 3;
	hyphenate-limit-chars: auto 3;
	-ms-hyphenate-limit-lines: 3;
	-moz-hyphenate-limit-lines: 3;
	-webkit-hyphenate-limit-lines: 3;
	hyphenate-limit-lines: 3;
}


/* Farben */
.color-error {
	color: var(--main-color-error);
}
.color-successful {
	color: var(--main-color-successful);
}
.color-white {
	color: var(--main-color-white);
}
.color-black {
	color: var(--main-color-black);
}
.color-1 {
	color: var(--main-color-1);
}
.color-2 {
	color: var(--main-color-2);
}
.color-3 {
	color: var(--main-color-3);
}
.color-4 {
	color: var(--main-color-4);
}
.color-5 {
	color: var(--main-color-5);
}
.color-6 {
	color: var(--main-color-6);
}
.bg-color-error {
	background-color: var(--main-color-error);
}
.bg-color-successful {
	background-color: var(--main-color-successful);
}
.bg-color-white {
	background-color: var(--main-color-white);
}
.bg-color-black {
	background-color: var(--main-color-black);
}
.bg-color-1 {
	background-color: var(--main-color-1);
}
.bg-color-2 {
	background-color: var(--main-color-2);
}
.bg-color-3 {
	background-color: var(--main-color-3);
}
.bg-color-4 {
	background-color: var(--main-color-4);
}
.bg-color-5 {
	background-color: var(--main-color-5);
}
.bg-color-6 {
	background-color: var(--main-color-6);
}


/* ############################################################
	HYPERLINKS
############################################################ */

/* Allgemeines */
header a, nav a, main a, footer a {
	text-decoration: none;
	-o-transition: color 0.3s ease;
	-ms-transition: color 0.3s ease;
	-moz-transition: color 0.3s ease;
	-webkit-transition: color 0.3s ease;
	transition: color 0.3s ease;
}
main a {
	color: var(--main-color-2);
}
footer a {
	color: var(--main-color-white);
}
@media (min-width: 1020px) {
	main a:hover {
		color: var(--main-color-1);
	}
	footer a:hover {
		color: var(--main-color-2);
	}
	footer a.link-gelb:hover {
		color: var(--main-color-1);
	}
}


/* Hover Effekte */
.underline,
a:hover .underline {
	text-decoration: underline;
}
.no-hover,
.no-hover:hover,
.no-link {
	cursor: default;
	color: inherit;
}
.pointer {
	cursor: pointer;
}


/* Lange Hyperlinks */
@media (max-width: 759.98px) {
	main a {
		-ms-hyphens: auto;
		-moz-hyphens: auto;
		-webkit-hyphens: auto;
		hyphens: auto;
		-ms-hyphenate-limit-chars: auto 3;
		-moz-hyphenate-limit-chars: auto 3;
		-webkit-hyphenate-limit-chars: auto 3;
		hyphenate-limit-chars: auto 3;
		-ms-hyphenate-limit-lines: 3;
		-moz-hyphenate-limit-lines: 3;
		-webkit-hyphenate-limit-lines: 3;
		hyphenate-limit-lines: 3;
	}
}


/* Anker */
a.nav-anchor[name] {
	display: block;
	width: 0;
	height: 0;
	position: relative;
	top: -170px !important;
	visibility: hidden;
}
@media (min-width: 1020px) {
	a.nav-anchor[name] {
		top: -270px !important;
	}
}


/* ############################################################
	PANELS/BOXEN
############################################################ */

/* Allgemein */
header, nav, main, footer,
.nav-line-1, .nav-line-2, .footer-line-1, .footer-line-2,
.header-box, .nav-box, .content-box, .footer-box,
.header-inline, .content-inline, .footer-inline,
.nav-socialmedia, .mdl-container {
	position: relative;
	width: 100%;
}
.header-box, .nav-box, .content-box, .footer-box {
	padding-right: 25px;
	padding-left: 25px;
}
.inner-abstand-medium {
	padding-top: 60px;
	padding-bottom: 60px;
}
.inner-abstand-small {
	padding-top: 40px;
	padding-bottom: 40px;
}


/* Kopfzeile */
header {
	z-index: 9;
	position: absolute;
	display: block;
	top: 0;
	left: 0;
	width: 100%;
	height: 310px;
	/*min-height: 304px;
	height: calc(100vw * 0.81066667);*/
	/*height: calc(var(--header-height, 1vh) * 37.4384236453202);*/
	background-image: url("../Images/Elemente/bg_hoch.png");
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center top;
}
body[class^="cms-"] header {
	z-index: 209;
	top: 51px;
}
	.header-inline {
		width: 100%;
		height: 54px;
	}


/* Navigation */
nav, nav.open {
	-o-transition: left 0.6s ease;
	-ms-transition: left 0.6s ease;
	-moz-transition: left 0.6s ease;
	-webkit-transition: left 0.6s ease;
	transition: left 0.6s ease;
}
nav {
	/*opacity: 0;*/
	z-index: 10;
	position: absolute;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	top: 0;
	left: -100vw;
	width: 100%;
	height: 100vh;
	height: calc(var(--nav-height, 1vh) * 100);
	overflow: auto;
	padding-top: 130px;
	padding-bottom: 130px;
	background-color: var(--main-color-2);
}
nav.open {
	left: 0;
}
body[class^="cms-"] nav,
body[class^="cms-"] nav.open {
	z-index: 210;
	top: 51px;
}
	.nav-line-1 {
		opacity: 0;
		width: 100%;
	}
	.nav-socialmedia {
		margin-top: 30px;
		font-size: 0.875rem; /* 14px */
		line-height: 1.25rem; /* 20px */
		color: var(--main-color-white);
	}


/* Inhalt */
.site-titel {
	margin-bottom: 20px;
}


/* Fusszeile */
footer {
	background-image: url("../Images/Elemente/bg_quer.png");
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center center;
}
	.footer-box {
		padding-top: 35px;
		padding-bottom: 80px;
	}
		.footer-abstand-2,
		.footer-abstand-3 {
			margin-top: 35px;
		}
@media (min-width: 760px) {
	/* Fusszeile */
	.footer-box {
		padding-bottom: 100px; /* Abstand wegen Cookie-Consent */
	}
}
@media (min-width: 1020px) {
	/* Allgemein */
	.header-box, .nav-box, .content-box, .footer-box {
		padding-left: 135px;
		padding-right: 135px;
	}
	.header-inline, .content-inline, .footer-inline {
		/*max-width: 1720px;*/
		margin: 0;
	}
	.inner-abstand-medium {
		padding-top: 120px;
		padding-bottom: 190px;
	}
	.inner-abstand-small {
		padding-top: 80px;
		padding-bottom: 140px;
	}
	
	/* Kopfzeile */
	header {
		z-index: 10;
		position: fixed;
		top: 0;
		left: 0;
		width: 105px;
		min-height: inherit;
		height: 100vh;
		height: calc(var(--header-height, 1vh) * 100);
		background-image: url("../Images/Elemente/bg_hoch.png");
		background-repeat: no-repeat;
		background-size: cover;
		background-position: right 50% center;
	}
	body[class^="cms-"] header {
		z-index: 210;
	}
	
	/* Navigation */
	nav {
		z-index: 9;
		position: fixed;
		padding-top: 122px;
		padding-bottom: 0;
	}
	body[class^="cms-"] nav,
	body[class^="cms-"] nav.open {
		z-index: 209;
	}
		.nav-socialmedia {
			margin-top: 50px;
			font-size: 1.375rem; /* 22px */
			line-height: 2.25rem; /* 36px */
		}
	

	/* Inhalt */
	.site-titel {
		margin-bottom: 82px;
	}
	
	
	/* Fusszeile */
	.footer-box {
		padding-top: 120px;
		padding-bottom: 170px;
	}
	.footer-abstand-1,
	.footer-abstand-2 {
		margin-top: 58px;
	}
	.footer-abstand-3 {
		margin-top: 0;
	}
}
@media (min-width: 1440px) {
	/* Allgemein */
	.header-box, .nav-box, .content-box, .footer-box {
		padding-left: 165px;
		padding-right: 165px;
	}
	
	/* Kopfzeile */
	header {
		width: 135px;
	}
}


/* ############################################################
	BILDER/ICONS
############################################################ */

/* Logos */
.image-logo-footer {
	max-width: 333px !important;
}
.image-logo-mobile {
	position: absolute;
	top: 98px;
	right: calc(50% - 167px);
	width: 224px;
	height: auto;
}
.logo-wefox {
	width: 102px;
	height: auto;
	margin-bottom: 14px;
}
@media (min-width: 1020px) {
	.logo-box {
		z-index: 5;
		position: absolute;
		display: inline-block;
		top: 77px;
		right: 135px;
		width: calc((4 * var(--col-width-1)) - 30px);
	}
		.image-logo-desktop {
			display: block;
			width: 100%;
			max-width: 266px;
			height: auto;
			margin: 0 auto;
		}
}
@media (min-width: 1280px) {
	.logo-box {
		width: calc((3 * var(--col-width-1)) - 30px);
	}
}
@media (min-width: 1440px) {
	.logo-box {
		right: 165px;
	}
		.image-logo-desktop {
			max-width: 333px;
		}
}
@media (min-width: 1680px) {
	.logo-wefox {
		width: 205px;
		margin-bottom: 14px;
	}
}


/* Socialmedia */
a.link-socialmedia {
	position: relative;
	display: inline-block;
}
nav a.icon-instagram {
	margin-left: 25px;
}
a.icon-facebook, a.icon-youtube {
	margin-left: 20px;
}
	a.link-socialmedia svg {
		display: block;
		width: auto;
		height: 22px;
		fill: var(--main-color-white);
	}
	a.icon-facebook svg {
		height: 25px;
	}
@media (min-width: 1020px) {
	a.icon-facebook, a.icon-youtube {
		margin-left: 30px;
	}
	a.link-socialmedia svg {
		-o-transition: fill 0.3s ease;
		-ms-transition: fill 0.3s ease;
		-moz-transition: fill 0.3s ease;
		-webkit-transition: fill 0.3s ease;
		transition: fill 0.3s ease;
	}
	a.link-socialmedia:hover svg {
		fill: var(--main-color-2);
	}
	nav a.link-socialmedia:hover svg {
		fill: var(--main-color-1);
	}
}


/* Events */
@media (min-width: 1020px) {
	a.link-events {
		position: absolute;
		display: inline-block;
		right: 120px;
		bottom: 28px;
		width: 90px;
		height: 90px;
		border-radius: 50%;
	}
	nav a.link-events {
		opacity: 0;
	}
	a.link-events:before {
		content: "";
		position: absolute;
		display: block;
		top: 50%;
		left: 50%;
		width: 0;
		height: 0;
		transform: translate(-50%, -50%);
		border-radius: 50%;
		background-color: var(--main-color-white);
	}
	a.link-events:before,
	a.link-events:hover:before {
		-o-transition: all 0.3s ease;
		-ms-transition: all 0.3s ease;
		-moz-transition: all 0.3s ease;
		-webkit-transition: all 0.3s ease;
		transition: all 0.3s ease;
	}
	a.link-events:hover:before {
		width: 90px;
		height: 90px;
	}
	a.link-events svg {
		display: block;
		position: absolute;
		top: calc(50% - 22px);
		left: calc(50% - 27px);
		width: 54px;
		height: 44px;
		fill: var(--main-color-white);
		-o-transition: fill 0.3s ease;
		-ms-transition: fill 0.3s ease;
		-moz-transition: fill 0.3s ease;
		-webkit-transition: fill 0.3s ease;
		transition: fill 0.3s ease;
	}
	a.link-events:hover svg {
		fill: var(--main-color-2);
	}
}
@media (min-width: 1440px) {
	a.link-events {
		right: 150px;
		bottom: 28px;
	}
}


/* ############################################################
	VORLAGEN
############################################################ */

/* Banner: APS-Wefox */
.banner-home-aps-box {
	position: relative;
	display: block;
	width: calc(100% + 50px);
	max-width: calc(100% + 50px);
	margin-left: -25px;
	height: 0;
	padding-bottom: calc((453 / 1266) * 100%);
	background-image: url("../Images/Elemente/Banner_APS.png");
	background-position: center center;
	background-repeat: no-repeat;
	background-size: cover;
}
@media (min-width: 1020px) {
	.banner-home-aps-box {
		width: 100%;
		margin-left: 0;
	}
		.banner-home-aps-box:hover {
			background-image: url("../Images/Elemente/Banner_APS_Hover.png");
		}
}


/* Tabellen: Footer */
.footer-nav-table {
	display: table;
	width: 100%;
}
	.footer-nav-table [class^="col-"] {
		display: inline-block;
	}
	.footer-nav-table .col-1,
	.footer-nav-table .col-2 {
		width: calc(50% - 5px);
	}
	.footer-nav-table .col-2 {
		margin-left: 10px;
	}
	.footer-nav-table .col-3 {
		width: 100%;
	}
		.footer-nav-table tr:not(:first-child) th:nth-child(1),
		.footer-nav-table tr:not(:first-child) td:nth-child(1) {
			padding-top: 16px;
		}
@media (min-width: 1020px) {
	.footer-nav-table [class^="col-"] {
		display: table-cell;
		vertical-align: top;
		width: auto;
		margin-left: 0;
	}
	.footer-nav-table .col-1 {
		width: 160px;
	}
	.footer-nav-table .col-2 {
		width: 158px;
	}
	.footer-nav-table .col-3 {
		vertical-align: bottom;
	}
}


/* ############################################################
	MODULE
############################################################ */

/* Video (Text-/HTML-Modul) */
.embed-video-box {
	position: relative;
	padding-bottom: 56.25%;
	height: 0;
	overflow: hidden;
	max-width: 100%;
}
.embed-video-box.portrait {
	padding-bottom: 182.9326923%;
	max-width: 100%;
}
	.embed-video-box iframe {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
	}
@media (min-width: 760px) {
	.embed-video-box.portrait {
		padding-bottom: 137.199519225%;
		max-width: 75%;
	}
}
@media (min-width: 760px) {
	.embed-video-box.portrait {
		padding-bottom: 109.75961538%;
		max-width: 60%;
	}
}


/* ############################################################
	LISTEN
############################################################ */

/* Aufzählungslisten */
.mdl-container ul:not([class^="cmsmodule-nav"]),
.mdl-container ol.nummer-klammer {
	list-style: none;
	position: relative;
	padding: 0;
}

/* - (&ndash;) */
.mdl-container ul:not([class^="cmsmodule-nav"]) {
}
	.mdl-container ul:not([class^="cmsmodule-nav"]):not([class^="flex-container"]) li {
		margin-left: 20px;
		padding-left: 0;
	}
	.mdl-container ul:not([class^="cmsmodule-nav"]):not([class^="flex-container"]) li:before {
		content: "\2014";
		position: absolute;
		margin-left: -20px;
	}


/* ############################################################
	NAVIGATION
############################################################ */

/* Allgemeines */
ul.nav-mainmenu, ul.nav-mainmenu ul, ul.nav-mainmenu li,
ul.nav-secondmenu, ul.nav-secondmenu ul, ul.nav-secondmenu li,
ul.nav-thirdmenu, ul.nav-thirdmenu ul, ul.nav-thirdmenu li,
ul.nav-fourthmenu, ul.nav-fourthmenu ul, ul.nav-fourthmenu li {
	list-style: none;
	margin: 0;
	padding: 0;
}
ul.nav-mainmenu li,
ul.nav-secondmenu li,
ul.nav-thirdmenu li,
ul.nav-fourthmenu li {
	position: relative;
}

/* Hyperlink */
ul.nav-mainmenu a,
ul.nav-secondmenu a,
ul.nav-thirdmenu a,
ul.nav-fourthmenu a {
	display: inline-block;
}


/*
1st-Menu
*/
nav ul.nav-mainmenu {
	padding-top: 60px;
	padding-bottom: 25px;
	border-bottom: 1px solid var(--main-color-white);
	font-family: "SohoGothicBold";
	font-size: 1.625rem; /* 26px */
	line-height: 2.1875rem; /* 35px */
	color: var(--main-color-white);
}
	/* Level 1 */
	nav ul.nav-mainmenu li {
		display: block;
		width: 100%;
	}
	nav ul.nav-mainmenu li:not(:first-child) {
		margin-top: 8px;
	}
	/* Level 2 */
	nav ul.nav-mainmenu li ul {
		margin-top: 8px;
		font-family: "SohoGothicRegular";
	}
	nav ul.nav-mainmenu li:not(:last-child) ul {
		margin-bottom: 23px;
	}

/* Hyperlinks */
nav ul.nav-mainmenu li a,
nav ul.nav-mainmenu li.has-submenu ul li a,
nav ul.nav-mainmenu li.has-submenu.active ul li a {
	position: relative;
	color: var(--main-color-white);
}
nav ul.nav-mainmenu li.active a,
nav ul.nav-mainmenu li.has-submenu ul li.active a {
	color: var(--main-color-1);
}
@media (min-width: 1020px) {
	nav ul.nav-mainmenu {
		position: relative;
		padding-bottom: 40px;
		font-size: 2.25rem; /* 36px */
		line-height: 3rem; /* 48px */
	}
		/* Level 1 */
		nav ul.nav-mainmenu li:not(:first-child) {
			margin-top: 14px;
		}
		nav ul.nav-mainmenu li.has-submenu:after {
			opacity: 0;
			visibility: hidden;
			content: "";
			display: inline-block;
			position: absolute;
			top: calc(50% - 8px);
			right: calc((-1 * var(--col-width-1)) + 10px);
			width: 75px;
			height: 24px;
			background-position: center;
			background-size: contain;
			background-repeat: no-repeat;
			background-image: url("../Images/Elemente/Nav_Arrow.svg");
			-o-transition: right 0.6s ease, opacity 0.6s ease, visibility 0.3s ease;
			-ms-transition: right 0.6s ease, opacity 0.6s ease, visibility 0.3s ease;
			-moz-transition: right 0.6s ease, opacity 0.6s ease, visibility 0.3s ease;
			-webkit-transition: right 0.6s ease, opacity 0.6s ease, visibility 0.3s ease;
			transition: right 0.6s ease, opacity 0.6s ease, visibility 0.3s ease;
			transition-delay: 0.25s;
		}
		nav ul.nav-mainmenu li.has-submenu:hover:after,
		nav ul.nav-mainmenu li.has-submenu.active:not(.noactive):after {
			opacity: 1;
			visibility: visible;
			right: calc(-1 * var(--col-width-1));
			transition-delay: 0.25s;
		}
		
		/* Level 2*/
		nav ul.nav-mainmenu li ul {
			position: absolute;
			opacity: 0;
			visibility: hidden;
			top: 0;
			left: calc((5 * var(--col-width-1)) - 20px);
			width: calc(4 * var(--col-width-1));
			margin: 0;
			padding: 0;
			-o-transition: left 0.6s ease, opacity 0.6s ease, visibility 0.3s ease;
			-ms-transition: left 0.6s ease, opacity 0.6s ease, visibility 0.3s ease;
			-moz-transition: left 0.6s ease, opacity 0.6s ease, visibility 0.3s ease;
			-webkit-transition: left 0.6s ease, opacity 0.6s ease, visibility 0.3s ease;
			transition: left 0.6s ease, opacity 0.6s ease, visibility 0.3s ease;
			transition-delay: 0.5s;
		}
		nav ul.nav-mainmenu li:nth-child(2) ul {
			top: calc(-1 * 62px);
		}
		nav ul.nav-mainmenu li:nth-child(3) ul {
			top: calc(-2 * 62px);
		}
		nav ul.nav-mainmenu li:nth-child(4) ul {
			top: calc(-3 * 62px);
		}
		nav ul.nav-mainmenu li:nth-child(5) ul {
			top: calc(-4 * 62px);
		}
		nav ul.nav-mainmenu li:nth-child(6) ul {
			top: calc(-5 * 62px);
		}
		nav ul.nav-mainmenu li:nth-child(7) ul {
			top: calc(-6 * 62px);
		}
		nav ul.nav-mainmenu li:nth-child(8) ul {
			top: calc(-7 * 62px);
		}
		nav ul.nav-mainmenu li.has-submenu.hover > ul,
		nav ul.nav-mainmenu li.has-submenu.active:not(.noactive) > ul {
			left: calc(5 * var(--col-width-1));
			opacity: 1;
			visibility: visible;
			transition-delay: 0.5s;
		}
			nav ul.nav-mainmenu li ul li:not(:first-child) {
				margin-top: 14px;
			}
	
	/* Hyperlink */
	nav ul.nav-mainmenu li a {
		display: block;
	}
	nav ul.nav-mainmenu li ul li a {
		display: inline-block;
	}
	nav ul.nav-mainmenu li a,
	nav ul.nav-mainmenu li.has-submenu ul li a,
	nav ul.nav-mainmenu li.has-submenu:hover ul li a,
	nav ul.nav-mainmenu li.has-submenu.active ul li a {
		color: var(--main-color-white);
	}
	nav ul.nav-mainmenu li a:hover,
	nav ul.nav-mainmenu li.active a,
	nav ul.nav-mainmenu li.has-submenu:hover a,
	nav ul.nav-mainmenu li.has-submenu ul li a:hover,
	nav ul.nav-mainmenu li.has-submenu ul li.active a {
		color: var(--main-color-1);
	}
}
@media (min-width: 1440px) {
	nav ul.nav-mainmenu {
		font-size: 2.8125rem; /* 45px */
		line-height: 3.75rem; /* 60px */
	}
		/* Level 1 */
		nav ul.nav-mainmenu li:not(:first-child) {
			margin-top: 14px;
		}
		nav ul.nav-mainmenu li.has-submenu:after {
			top: calc(50% - 8px);
			right: calc((-1 * var(--col-width-1)) + 10px);
			width: 75px;
			height: 24px;
		}
		nav ul.nav-mainmenu li.has-submenu:hover:after {
			right: calc(-1 * var(--col-width-1));
		}
		
		/* Level 2*/
		nav ul.nav-mainmenu li ul {
			left: calc((4 * var(--col-width-1)) - 20px);
			width: calc(5 * var(--col-width-1));
		}
		nav ul.nav-mainmenu li:nth-child(2) ul {
			top: calc(-1 * 74px);
		}
		nav ul.nav-mainmenu li:nth-child(3) ul {
			top: calc(-2 * 74px);
		}
		nav ul.nav-mainmenu li:nth-child(4) ul {
			top: calc(-3 * 74px);
		}
		nav ul.nav-mainmenu li:nth-child(5) ul {
			top: calc(-4 * 74px);
		}
		nav ul.nav-mainmenu li:nth-child(6) ul {
			top: calc(-5 * 74px);
		}
		nav ul.nav-mainmenu li:nth-child(7) ul {
			top: calc(-6 * 74px);
		}
		nav ul.nav-mainmenu li:nth-child(8) ul {
			top: calc(-7 * 74px);
		}
		nav ul.nav-mainmenu li.has-submenu.hover > ul,
		nav ul.nav-mainmenu li.has-submenu.active:not(.noactive) > ul {
			left: calc(4 * var(--col-width-1));
		}
}


/*
2nd-Menu
*/
nav ul.nav-secondmenu {
	margin-top: 12px;
	padding-bottom: 15px;
	border-bottom: 1px solid var(--main-color-white);
	font-size: 0.875rem; /* 14px */
	line-height: 1.25rem; /* 20px */
	color: var(--main-color-white);
}
	/* Level 1 */
	nav ul.nav-secondmenu li {
		display: block;
		width: 100%;
	}
	nav ul.nav-secondmenu li:not(:first-child) {
		margin-top: 6px;
	}

/* Hyperlinks */
nav ul.nav-secondmenu li a {
	position: relative;
	color: var(--main-color-white);
}
nav ul.nav-secondmenu li.active a {
	color: var(--main-color-1);
}
@media (min-width: 1020px) {
	nav ul.nav-secondmenu {
		position: relative;
		margin-top: 23px;
		padding-bottom: 21px;
		font-size: 1.375rem; /* 22px */
		line-height: 2.25rem; /* 36px */
	}
		/* Level 1 */
		nav ul.nav-secondmenu li:not(:first-child) {
			margin-top: 9px;
		}
	
	/* Hyperlink */
	nav ul.nav-secondmenu li a:hover,
	nav ul.nav-secondmenu li.active a {
		color: var(--main-color-1);
	}
}


/*
3rd/4th/Quicklink-Menu
*/
footer ul[class^="nav-"] {
	line-height: 1.625rem; /* 26px */
}
/* Abstand zwischen 3rd- und 4th-Menu */
footer ul.nav-thirdmenu + ul.nav-fouthmenu {
	margin-top: 52px; /* 26px */
}
	/* Level 1 */
	footer ul[class^="nav-"] li {
		display: block;
		width: 100%;
	}

