html {
	height: 100%;
	scroll-behavior: smooth;
}
* {
	flex-grow: 0;
	flex-shrink: 0;
}

img {
	max-width: 100%;
	height: auto;
	display: block;
}
ul {
	padding: 0 0 0 1em;
}
select, option {
	font-family: 'Roboto';
	font-weight: 300;
	padding: .5em;
}
select {
	max-width: 100%;
}

body {
	position: relative;
	height: 100%;
	margin: 0;
	overflow-x: hidden;
}
body.navOpen {
	position: relative;
	overflow: hidden;
}
.body-i {
	height: 100%;
}
.body-c {
	height: 100%;
	display: flex;
	flex-direction: column;
}

.site-main {
	width: 100%;
	padding-top: 6em;
}
.site-main-i {
}
.site-main-c {
	display: flex;
	flex-direction: column;
}

section {
	position: relative;
	background-color: var(--isWhite);
}
section:nth-child(even) {
	position: relative;
	background-color: var(--isLightGrey);
}
.col-blog {
	background-color: var(--isLightGrey);
	display: none;
}
.col-faq,
.sec-faq {
	display: none;
}
.col-blog.isActive,
.sec-faq.isActive {
	display: block;
}
.sec-faq.isSingle,
section:nth-child(even) .col-blog {
	background-color: var(--isWhite);
}
.col-blog .col-c {
	display: flex;
	flex-direction: column;
}
.filter-c {
	display: flex;
	margin: -.5em;
	flex-wrap: wrap;
}
.filter-c a {
	margin: .5em;
}
section > a.anchor {
	position: absolute;
	top: -4em;
}
.section-i {
	position: relative;
}
.section-i {
	margin: 0 auto;
	padding: 3rem 2rem;
}
.modul-boxed .section-i {
	max-width: var(--maxWidthBoxed);
}
.modul-wide .section-i {
	max-width: var(--maxWidth);
}

.row {
	display: flex;
	width: 100%;
}
.row-i {
	margin: -1rem;
	width: calc(100% + 2rem);
}
.row-c {
	display: flex;
	flex-wrap: wrap;
	width: 100%;
}

.col {
	margin: 1rem;
	width: calc(100% - 2rem);
}
.col-i {
	width: 100%;
	height: 100%;
}
.col-c {
	width: 100%;
	height: 100%;
}
.textbox {
	padding: 1rem;
}
.modul-ueber-uns .col-blog a {
	display: flex; 
}
.modul-ueber-uns .col-blog a span:first-child, 
.modul-ansprechpartner .col a span:first-child {
  	margin-right: .5em;
	line-height: 1.5;
}
.col-logo {
	width: calc(100%/2 - 2rem);
}
.modul-bild-text .col-text-1 {
	display: none;
}
.modul-bild-text img {
	width: 100%;
}
.modul-ansprechpartner img,
.modul-ueber-uns img {
	max-width: 420px;
	aspect-ratio: 495/400;
	object-fit: cover;
}
.modul-ansprechpartner .col-ap .textbox {
	background-color: var(--isLightGrey);
}
@media only screen and (min-width: 800px) {
	.col-3,
	.col-4,
	.col-6 {
		width: calc(100%/2 - 2rem);
	}
	.col-logo {
		width: calc(100%/3 - 2rem);
	}
	.modul-bild-text.typ-1 .col-text-1 {
		display: block;
	}
	.modul-bild-text.typ-1 .col-text-2 {
		display: none;
	}
	.modul-ansprechpartner .col-c {
		display: flex;
	}
	.modul-ansprechpartner .col-ap .textbox {
		width: calc(100% - 420px - 2rem);
	}
}
@media only screen and (min-width: 1200px) {
	.col-3 {
		width: calc(100%/4 - 2rem);
	}
	.col-4 {
		width: calc(100%/3 - 2rem);
	}
	.col-8 {
		width: calc(100%/3*2 - 2rem);
	}
	.col-logo {
		width: calc(100%/4 - 2rem);
	}
}

.entry-header {
}
.entry-header-c {
	width: 100%;
	height: 50vh;
}
.entry-header img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
/*
@media (orientation: landscape) {
	.entry-header-c {
		aspect-ratio: 3/1;
	}
}
@media (orientation: portrait) {
	.entry-header-c {
		aspect-ratio: 5/3;
	}
}
*/

.modul-blog img,
.modul-blog-homepage img {
	width: 100%;
	object-fit: cover;
	aspect-ratio: 16/9;
}
.modul-mitarbeiter img,
.modul-referenzen img,
.modul-publikationen img {
	width: 100%;
	object-fit: cover;
	aspect-ratio: 495/400;
}
.modul-referenzen img {
	mix-blend-mode: multiply;
}
.modul-referenzen .image_copyright {
	position: absolute;
	right: 0;
	bottom: 0;
	left: 1rem;
	display: flex;
	justify-content: flex-end;
	font-size: .85em;
}
.modul-referenzen .image_copyright span.caption {
	display: none;
}
.modul-referenzen .image_copyright span.caption {
	background-color: rgba(255,255,255,0.60);
	padding: .25em .5em;
	max-width: calc(100% - 1em);
	line-height: 1.5em;
}
.modul-referenzen .image_copyright:hover span.caption {
	display: block;
}
.modul-referenzen .image_copyright:hover span.icon {
	display: none;
}
.modul-referenzen .image_copyright span.icon {
	background-color: rgba(255,255,255,0.60);
	padding: .25em;
	cursor: pointer;
}
/* ---------- Modul Bild / Text Akkordeon ---------- */
.modul-bild-text .akkordeon-group {
	border-top: 1px solid var(--isGrey);
}
.modul-bild-text .akkordeon {
	border-bottom: 1px solid var(--isGrey);
}
.modul-bild-text .akkordeon-headline h3 {
	margin: 1.5rem 0;
	position: relative;
	padding-right: 1em;
	cursor: pointer;
}
.modul-bild-text .akkordeon-headline h3::after {
	transition: all 0.2s ease-in-out;
	position: absolute;
	right: 0;
	content: '+';
}
.modul-bild-text .akkordeon-content {
	transition: all 0.2s ease-in-out;
	max-height: 0;
	overflow: hidden;
}
.modul-bild-text .akkordeon-content-c {
	margin-bottom: 1.5em;
}
.modul-bild-text .akkordeon.isOpen .akkordeon-content {
	max-height: 99999px;
}
.modul-bild-text .akkordeon.isOpen .akkordeon-headline h3::after {
	transform: rotate(45deg);
}

/* ---------- Modul Akkordeon ---------- */
.modul-akkordeon .akkordeon-group {
	border-top: 1px solid var(--isGrey);
}
.modul-akkordeon .akkordeon {
	border-bottom: 1px solid var(--isGrey);
}
.modul-akkordeon .akkordeon-headline h3 {
	margin: 1.5rem 0;
	position: relative;
	padding-right: 1em;
	cursor: pointer;
}
.modul-akkordeon .akkordeon-headline h3::after {
	transition: all 0.2s ease-in-out;
	position: absolute;
	right: 0;
	content: '+';
	top: 0;
}
.modul-akkordeon .akkordeon-content {
	transition: all 0.2s ease-in-out;
	max-height: 0;
	overflow: hidden;
}
.modul-akkordeon .akkordeon-content-c {
	margin-bottom: 1.5em;
}
.modul-akkordeon .akkordeon.isOpen .akkordeon-content {
	max-height: 99999px;
}
.modul-akkordeon .akkordeon.isOpen .akkordeon-headline h3::after {
	transform: rotate(45deg);
}

/* ---------- Modul Logos ---------- */
.modul-logos .col-c {
	justify-content: center;
	align-items: center;
	display: flex;
}