html {
	scroll-behavior: smooth;
	box-sizing: border-box;
}

body {
	min-height: 100vh;
}

* {
	flex-grow: 0;
	flex-shrink: 0;
}

img {
	width: 100%;
	height: auto;
	display: block;
}

.site {
	display: flex;
	flex-direction: column;
	min-height: 100%;
}

/* ------------------------------ Preheader ------------------------------ */
.preheader {
	background-color: var(--isYellow);
	font-weight: 400;
	z-index: 999;
	font-size: .75em;
}
.preheader .preheader-i {
	max-width: var(--maxWidth);
	margin: 0 auto;
	padding: .25rem 1rem;
}
.preheader .preheader-c {
	display: flex;
	align-items: center;
}
.preheader a:hover {
	color: var(--isRed);
}
.preheader .icons {
	margin-riht: auto;
}
.preheader .icons li {
	margin-right: 1em;
}
.preheader .icons li:last-child {
	margin-right: 0;
}
.preheader .icons a {
	display: flex;
}
.preheader .icons .material-symbols-outlined {
	font-size: 1.5em;
	line-height: 1;
}
.preheader .icons .icon-more {
	display: none;
	margin-left: .325em;
}
.preheader .icons .icon-after {
	display: inline-block;
	margin-left: .325em;
}
.preheader .language {
	margin-left: auto;
}
.preheader .language li {
	margin-right: 1em;
}
.preheader .language li:last-child {
	margin-right: 0;
}

/* ------------------------------ Header ------------------------------ */
.header {
	background-color: var(--isWhite);
	position: sticky;
	top: 0;
	z-index: 999;
	box-shadow: 0 2px 12px rgba(0,0,0,0.06);
	overflow: hidden;
}
.header .header-i {
	max-width: var(--maxWidth);
	margin: 0 auto;
	padding: .5rem 1rem;
}
.header .header-c {
	display: flex;
	align-items: center;
}
.header .logo {
	margin-right: .75em;
}
.header .logo a {
	display: block;
}
.header .logo img {
	height: 3.5em;
	width: auto;
}
.header .branding {
	margin-right: auto;
	max-width: calc(100% - 7em);
}
.header .branding p {
	margin: 0;
}
.header .branding p:last-child {
	font-size: .85em;
	line-height: 1.35;
}
.header .navigation {
	margin-left: auto;
	display: none;
}
.header .navigation li {
	margin-right: 1em;
}
.header .navigation li:last-child {
	margin-right: 0;
}
.header .navigation a {
	font-weight: 500;
}
.header .navigation a:hover {
	color: var(--isRed);
}

/* ------------------------------ WPML ------------------------------ */
.wpml-ls-menu-item .wpml-ls-flag {
 	border: 1px solid var(--isDarkBlue);
	height: .8em;
	width: auto;
}
.wpml-ls-menu-item .wpml-ls-flag + span {
 	margin-left: .375em;
}
.wpml-ls-current-language a {
	color: var(--isRed);
}

/* ------------------------------ Prefooter ------------------------------ */
.prefooter {
	background-color: var(--isDarkBlue);
	color: var(--isWhite);
	margin-top: auto;
}
.prefooter .prefooter-i {
	max-width: var(--maxWidth);
	margin: 0 auto;
	padding: 2rem 1rem;
}
.prefooter .prefooter-c ul {
	flex-direction: column;
}
.prefooter .prefooter-c ul li {
	display: inline-flex;
	align-items: center;
	margin-bottom: .5em;
}
.prefooter .prefooter-c ul li:last-child {
	margin-bottom: 0;
}
.prefooter .prefooter-c ul li span {
	margin-right: .5em;
}

/* ------------------------------ Spacer ------------------------------ */
.spacer {
	background-color: var(--isDarkBlue);
	color: var(--isWhite);
}
.spacer .spacer-i {
	max-width: var(--maxWidth);
	margin: 0 auto;
	padding: 0 1rem;
}
.spacer .spacer-c > div {
	height: 1px;
	background-color: var(--isWhite);
}

/* ------------------------------ Footer ------------------------------ */
.footer {
	background-color: var(--isDarkBlue);
	color: var(--isWhite);
	font-size: .85em;
	line-height: 1.35;
}
.footer .footer-i {
	max-width: var(--maxWidth);
	margin: 0 auto;
	padding: .5rem 1rem;
}
.footer .footer-c {
	display: flex;
	flex-wrap: wrap;
}
.footer .copyright {
	width: 100%;
}
.footer .navigation {
	width: 100%;
	margin-top: .5em;
}
.footer li {
	margin-right: 1em;
}
.footer li:last-child {
	margin-right: 0;
}

/* ------------------------------ Struktur ------------------------------ */
section {
	width: 100%;
	position: relative;
}
a.anchor {
	position: absolute;
	left: 0;
}
.section-i {
	max-width: var(--maxWidth);
	margin: 0 auto;
	padding: 2rem 1rem;
}
.section-c {	
	width: 100%;
}
.row {
	width: 100%;
	overflow: hidden;
}
.row-i {
	display: flex;
	width: 100%;
}
.row-c {
	display: flex;
	margin: -.75rem;
	width: calc(100% + 1.5rem);
	flex-wrap: wrap;
}
.col {
	margin: .75rem;
	width: calc(100% - 1.5rem);
}
.col-i,
.col-c {
	width: 100%;
	height: 100%;
}

/* ------------------------------ Inhalt ------------------------------ */
.modul-start .section-i {
	padding: 0;
	max-width: 100%;
	margin: 0;
}
.modul-start .col-c {
	position: relative;
}
.modul-start .col-c img {
	position: absolute;
	height: 100%;
	object-fit: cover;
}
.modul-start .highlight {
	position: relative;
	width: 100%;
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
}
.modul-start .highlight-i {
	margin: 2rem;
	max-width: 40em;
	width: calc(100% - 4rem);
}
.modul-start .highlight-c {
	background: rgba(13,109,128,0.8);
	padding: 1em 1.25em;
	color: var(--isWhite);
	border-radius: .5em;	
}

.modul-leistungen .leistung {
	border: 2px solid var(--isRed);
	padding: 1em;
	box-shadow: var(--shadow);
	border-radius: .5em;	
	height: calc(100% - 2em - 4px);
}
.modul-leistungen .leistung div.icon span {
	font-size: 1.5em;
	padding: .5em;
	background-color: var(--isYellow);
	border-radius: .5em;
	width: 1em;
	height: 1em;
	display: inline-flex;
	align-items: center;
	justify-content: center;
}

.modul-vorteile {
	background-color: var(--isLightGrey);
}
.modul-vorteile .vorteil {
	display: flex;
	margin-bottom: 1em;  
	background-color: var(--isWhite);
	padding: .5em;
	border-radius: .5em;
}
.modul-vorteile .vorteil div.icon {
}
.modul-vorteile .vorteil:first-of-type {
	margin-top: 1.5rem;
}
.modul-vorteile .vorteil:last-child {
	margin-bottom: 0;
}
.modul-vorteile .vorteil div.icon span {
	font-size: 1em;
	padding: .5em;
	background-color: var(--isLightBlue);
	color: var(--isWhite);
	border-radius: 50%;
	width: 1em;
	height: 1em;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	margin-top: .25em;
}
.modul-vorteile .vorteil div.text {
	margin-left: 1em;
	width: calc(100% - 3.5em);
}
.modul-vorteile .vorteil div.text h4, 
.modul-vorteile .vorteil div.text p {
	margin: 0;
}

.modul-qualifikationen .qualifikation {
	display: flex;
	margin-bottom: 1em;
	background-color: var(--isLightGrey);
	padding: .5em;
	border-radius: .5em;
}
.modul-qualifikationen .qualifikation:first-of-type {
	margin-top: 1.5rem;
}
.modul-qualifikationen .qualifikation:last-child {
	margin-bottom: 0;
}
.modul-qualifikationen .qualifikation div.icon span {
	font-size: 1em;
	padding: .5em;
	background-color: var(--isLightBlue);
	color: var(--isWhite);
	border-radius: 50%;
	width: 1em;
	height: 1em;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	margin-top: .25em;
}
.modul-qualifikationen .qualifikation div.text {
	margin-left: 1em;
	width: calc(100% - 3.5em);
}
.modul-qualifikationen .qualifikation div.text p {
	margin: 0;
}

.modul-kontakt {
	background-color: var(--isLightGrey);
}
.modul-kontakt .kontakt {
	display: flex;
	margin-bottom: 1em;  
	background-color: var(--isWhite);
	padding: .5em;
	border-radius: .5em;
}
.modul-kontakt .kontakt div.icon {
}
.modul-kontakt .kontakt:first-of-type {
	margin-top: 1.5rem;
}
.modul-kontakt .kontakt:last-child {
	margin-bottom: 0;
}
.modul-kontakt .kontakt div.icon span {
	font-size: 1em;
	padding: .5em;
	background-color: var(--isLightBlue);
	color: var(--isWhite);
	border-radius: 50%;
	width: 1em;
	height: 1em;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	margin-top: .25em;
}
.modul-kontakt .kontakt div.text {
	margin-left: 1em;
	width: calc(100% - 3.5em);
}
.modul-kontakt .kontakt div.text h4, 
.modul-kontakt .kontakt div.text p {
	margin: 0;
}

.modul-vorteile img,
.modul-qualifikationen img,
.modul-kontakt img {
	border-radius: .5em;
}

/* ------------------------------ Responsive ------------------------------ */
@media only screen and (min-width: 640px) {
	.col-3 {
		width: calc(100%/12*6 - 1.5rem);
	}
	.col-4 {
		width: calc(100%/12*6 - 1.5rem);
	}
}
@media only screen and (max-width: 959px) {
	.col-image img {
		object-fit: cover;
		aspect-ratio: 1/1;
	}
}
@media only screen and (min-width: 960px) {
	.preheader .icons .icon-more-mail {
		display: inline-block;
	}
	.footer .copyright {
		width: 75%;
		margin-left: 0;
	}
	.footer .navigation {
		width: 25%;
		margin-left: 0;
		margin-top: 0;
	}
	.footer .navigation ul {
		justify-content: flex-end;
	}
	.col-3 {
		width: calc(100%/12*3 - 1.5rem);
	}
	.col-4 {
		width: calc(100%/12*4 - 1.5rem);
	}
	.col-6 {
		width: calc(100%/12*6 - 1.5rem);
	}
	.modul-vorteile .row-c,
	.modul-kontakt .row-c {
		flex-direction: row-reverse
	}
	.col-image img {
		object-fit: cover;
		width: 100%;
		height: 100%;
	}
	.preheader .icons .icon-more {
		display: inline-block;
	}
	.header .navigation {
		display: block;
	}
}
@media only screen and (min-width: 1280px) {
}
@media only screen and (min-width: 1600px) {
}
@media only screen and (min-width: 1920px) {
}