html {
	width: 100%;
	scroll-behavior: smooth;
	background-color: var(--isWhite);
}
* {
	flex-grow: 0;
	flex-shrink: 0;
}
img {
	display: block;
	width: 100%;
	height: auto;
}

/* ----- Body ----- */
body {
	width: 100%;
	margin: 0;
	overflow-x: hidden;
}
body.navOpen {
	position: relative;
	overflow: hidden;
}
div:has(dialog) {
	z-index: 2000;
}

/* ----- Pre Header ----- */
.pre-header {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	z-index: 999;
	width: 100%;
	height: 2em;
	background-color: var(--isHighlight);
	text-transform: uppercase;
	font-weight: 400;
}
.pre-header p {
	font-size: .9em;
	letter-spacing: .03em;
}
.pre-header-i {
}
.pre-header-c {
	display: flex;
	height: 2em;
	align-items: center;
}
.marquee {
	position: relative;
	--gap: 1px;
	display: flex;
	overflow: hidden;
	user-select: none;
	gap: var(--gap);
}		
.marquee:hover .marquee__content {
	animation-play-state: paused !important;
}	
.marquee__content {
	flex-shrink: 0;
	display: flex;
	justify-content: space-around;
	gap: var(--gap);
}		
.marquee p {
}
@keyframes scroll {
	from {
		transform: translateX(0);
	}
	to {
		transform: translateX(calc(-100% - var(--gap)));
	}
}		
@media (prefers-reduced-motion: reduce) {
	.marquee__content {
		animation-play-state: paused !important;
	}
}		
.marquee__content {
}
.marquee--reverse .marquee__content {
	animation-direction: reverse;
}
.marquee--hover-pause:hover .marquee__content {
	animation-play-state: paused;
}
.marquee--fit-content {
	max-width: fit-content;
}
.marquee--pos-absolute .marquee__content:last-child {
	position: absolute;
	top: 0;
	left: 0;
}
.enable-animation .marquee--pos-absolute .marquee__content:last-child {
	animation-name: scroll-abs;
}		
@keyframes scroll-abs {
	from {
		transform: translateX(calc(100% + var(--gap)));
	}
	to {
		transform: translateX(0);
	}
}	

/* ----- Site Header ----- */
.site-header {
	position: fixed;
	top: 2em;
	left: 0;
	right: 0;
	z-index: 999;
	width: 100%;
	height: 2em;
	background-color: var(--isWhite);
}
.site-header-i {
	padding: 0 1rem;
}
.site-header-c {
	display: flex;
	width: 100%;
	height: 2em;
	align-items: center;
}
.site-logo {
	padding: .7em 0 .5em 0;
	margin-right: 0 auto 0 0;
}
.site-logo a {
	display: block;
}
.site-logo a svg {
	height: .8em;
	width: auto;
}
.site-navigation {
	padding: .5em 0;
	margin: 0 0 0 auto;
}
.site-navigation-c {
	display: flex;
}
.site-navigation .open {
	display: block;
}
.site-navigation .close {
	display: none;
}
body.navOpen .site-navigation .open {
	display: none;
}
body.navOpen .site-navigation .close {
	display: block;
}
.site-navigation ul {
	list-style: none;
	list-style-type: none;
	display: flex;
	padding: 0;
	height: 1em;
	line-height: 1;
}
.site-navigation li {
	margin-left: 1em !important;
	display: block;
}
.site-navigation li a {
	display: flex;
}
.site-navigation li a:hover {
	transform: skewX(-45deg);
}
.wpml-ls-legacy-list-horizontal {
	border: none;
	padding: 0
}
.wpml-ls-legacy-list-horizontal a {
	line-height: 1;
	padding: 0;
}
.wpml-ls-legacy-list-horizontal a span {
  vertical-align: unset;
}
.fs-menu {
	position: fixed;
	left: 0;
	right: 0;
	top: 4em;
	bottom: 0;
	background: rgba(0,0,0,0.85);
	display: none;
}
body.navOpen .fs-menu {
	display: block;
}
.fs-menu > div {
	width: 100%;
	height: 100%;
}
.fs-menu ul {
	width: 100%;
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-direction: column;
}
.fs-menu li {
	margin-bottom: 1em;
}
.fs-menu li:last-child {
	margin-bottom: 0;
}
.fs-menu a {
	color: var(--isWhite);
	display: block;
}
/* ----- Social Footer ----- */
.social-footer {
	background-color: #f8f8f8;
}
.social-footer-i {
	padding: 2rem 1rem 0 1rem;
}
.social-footer-c {
	display: flex;
	justify-content: flex-end;
}
.social-footer-c ul {
	list-style: none;
	list-style-type: none;
	display: flex;
	justify-content: flex-end;
	padding: 0;
}
.social-footer-c li {
	margin-left: 1em;
}
.social-footer-c a {
	display: block;
}
.social-footer-c a:hover {
	transform: skewX(-45deg);
}

/* ----- Site Footer ----- */
.site-footer {
}
.site-footer-i {
}
.site-footer-c {
}
/* ----- Nav Footer ----- */
.nav-footer {
	background-color: #e8e8e8;
}
.nav-footer-i {
	padding: 0 1rem 2rem 1rem;
}
.nav-footer-c {
}
.nav-footer-c ul {
	list-style: none;
	list-style-type: none;
	padding: 0;
	column-count: 2;
	column-gap: 0;
}
.nav-footer-c ul li {
	padding: 0;
	width: 0100%0;
	-webkit-column-break-inside: avoid;
	page-break-inside: avoid;
	break-inside: avoid-column;
	display: table;
	hyphens: auto;
	line-height: 1.4;
}
.nav-footer-c ul li a {
	display: block;
}
.nav-footer-c ul li a:hover {
	transform: skewX(-45deg);
}
@media only screen and (min-width: 800px) {
  .nav-footer-c ul {
    column-count: 2;
  }
}
@media only screen and (min-width: 1200px) {
  .nav-footer-c ul {
    column-count: 4;
  }
}

/* ----- Sub Footer ----- */
.sub-footer {
	background-color: #e8e8e8;
}
.sub-footer-i {
	padding: 0 calc(1rem - 3px) 2rem calc(1rem - 3px);
}
.sub-footer-c {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
}
.sub-footer-c .award {
	margin: 3px;
	height: 2rem;
}
.sub-footer-c .award img {
	height: 100%;
	width: auto;
	mix-blend-mode: multiply;
}
@media only screen and (min-width: 800px) {
	.sub-footer-i {
		padding: 0 calc(1rem - 5px) 2rem calc(1rem - 5px);
	}
	.sub-footer-c .award {
		height: 3rem;
		margin: 5px;
	}
}


/* ----- Page ----- */
.site-main {
	padding-top: 4em;
}
.entry-header-c {
	width: 100%;
	display: flex;
	height: calc(100vh - 4em);
}
.entry-header-c .header_links,
.entry-header-c .header_rechts,
.entry-header-c .header_mobile {
	width: 100%;
	height: 100%;
	position: relative;
}
.entry-header-c img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.entry-header-c .header_links,
.entry-header-c .header_rechts {
	display: none;
}
.entry-header-c .header_links.isMobile,
.entry-header-c .header_rechts.isMobile {
	display: block;
}
.entry-header-c .header-galerie {
	width: 100%;
	height: 100%;
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	bottom: 0;
	background-color: #000;
}
.entry-header-c .header_links .header-galerie img  {
	opacity: 0;
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	bottom: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	animation-name: headerFaderLinks;
	animation-iteration-count: infinite;
}
.entry-header-c .header_rechts .header-galerie img  {
	opacity: 0;
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	bottom: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	animation-name: headerFaderRechts;
	animation-iteration-count: infinite;
}
.entry-header-c .header_mobile .header-galerie img  {
	opacity: 0;
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	bottom: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	animation-name: headerFaderMobile;
	animation-iteration-count: infinite;
}
.header_video {
	width: 100%;
	height: 100%;
}
.header_video video {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
@media only screen and (min-width: 1200px) {
	.entry-header-c .header_links,
	.entry-header-c .header_rechts {
		display: block;
		width: 50%;
	}
	.entry-header-c .header_mobile {
		display: none;
	}
}
section {
	width: 100%;
}
.section-i {
}
.section-c {
}
.row {
}
.row-i {
}
.row-c {
	display: flex;
	flex-wrap: wrap;
}
.col {
	width: 100%;
}
.col-i {
	width: 100%;
	height: 100%;
}
.col-c {
	width: 100%;
	height: 100%;
}
.col-3 {
	width: 50%;
}
@media only screen and (min-width: 800px) {
	.col-3 {
		width: 50%;
	}
}
@media only screen and (min-width: 1200px) {
	.col-3 {
		width: 25%;
	}
	.col-3-l,
	.col-6 {
		width: 50%;
	}
}
input[type="text"],
input[type="email"],
input[type="tel"],
textarea {
	font-size: .9em;
	border: none;
	border-radius: 0 !important;
  	width: 100% !important;
	background-color: rgba(0,0,0,.05) !important;
	padding: 1em !important;
}
input:focus,
textarea:focus {
	outline: none;
}
input:hover,
textarea:hover {
	cursor: pointer;
}
.modul-newsletter input[type="email"] {
  	width: calc(100% - 2em) !important;
}

/* ----- Module ----- */

/* ----- Modul Bild ----- */
.modul-bild {
	overflow: hidden;
}
.modul-bild .col-c {
	aspect-ratio: 4/5;
	position: relative;
}
.modul-bild .col-c .para {
	width: 100vmax;
	position: absolute;
	top: 0;
	left: 50%;
	transform: translate(-50%,0);
	pointer-events: none;
	will-change: transform;
}
.modul-bild .col-c img  {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
@media only screen and (min-width: 800px) {
	.modul-bild .col-c {
		aspect-ratio: 16/9;
	}
}

/* ----- Module ----- */

/* ----- Modul Bild / Text ----- */
.modul-bild-text .col-bild  {
	height: calc(100vh - 4em);
	position: sticky;
	top: 4em;
}
.modul-bild-text .col-bild img  { 
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.modul-bild-text .col-text {
	z-index: 1;
	background-color: var(--isWhite);
}
.modul-bild-text .col-text .col-c {
	padding: 2rem 1rem 4rem 1rem;
	width: calc(100% - 2rem);
	height: calc(100% - 6rem);
}
.modul-bild-text p > a {
	text-decoration: underline;
}

/* ----- Modul Bildwechsel / Text ----- */
.modul-bildwechsel-text .col-bild  {
	height: calc(100vh - 4em);
	position: sticky;
	top: 4em;
}
.modul-bildwechsel-text .col-bild img  { 
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.modul-bildwechsel-text .col-bild .fader img  {
	opacity: 0;
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	bottom: 0;
	animation-name: fader;
	animation-iteration-count: infinite;
}
.modul-bildwechsel-text .col-text {
	z-index: 1;
	background-color: var(--isWhite);
}
.modul-bildwechsel-text .col-text .col-c {
	padding: 2rem 1rem 4rem 1rem;
	width: calc(100% - 2rem);
	height: calc(100% - 6rem);
}
.modul-bildwechsel-text p > a {
	text-decoration: underline;
}

/* ----- Modul Blog ----- */
.modul-blog .blog-box {
	aspect-ratio: 4/7;
	position: relative;
	overflow: hidden;
	background-color: rgba(0,0,0,0.4);
	transition: all 0.2s ease-in-out;
}
.modul-blog .blog-box:hover {
	background-color: rgba(0,0,0,0.6);
}
@media only screen and (min-width: 800px) {
	.modul-blog .blog-box {
		aspect-ratio: 4/5;
	}
}
@media only screen and (min-width: 1200px) {
	.modul-blog .blog-box {
		aspect-ratio: 4/7;
	}
	.modul-blog .col-3-l .blog-box {
		aspect-ratio: 4/5;
	}
}
.modul-blog .blog-box img {
	position: absolute;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center center;
	transition: all 0.2s ease-in-out;
	transform-origin: 50% 50%;
	mix-blend-mode: multiply;
}
.modul-blog .blog-more h2,
.modul-blog .blog-box h3 {
	position: absolute;
	color: var(--isWhite);
	margin: 0;
	top: 1rem;
	left: 1rem;
	right: 1rem;
	transition: all 0.2s ease-in-out;
}
.modul-blog .blog-box .more {
	position: absolute;
	left: 1rem;
	bottom: 1rem;
	width: 2.5em;
	height: 2.5em;
	margin: 0;
	line-height: 1;
}
.modul-blog .blog-box .more svg {
	width: 2.5em;
	height: 2.5em;
}
.modul-blog .blog-more h2,
.modul-blog .blog-box img {
	will-change: transform;
}
.modul-blog .blog-more:hover h2 {
	transform: skewX(-30deg);
}

/* ----- Modul Headline / Text ----- */
.modul-headline-text .section-i {
	padding: 2rem 1rem 4rem 1rem;
}
.modul-headline-text ~ .modul-headline-text .section-i {
	padding-top: 0;
	margin-top: -2rem;
}
.modul-headline-text .col-1 {
	padding-bottom: 2rem;
}
.modul-headline-text p > a {
	text-decoration: underline;
}
@media only screen and (min-width: 1200px) {
	.modul-headline-text .col-1 {
		padding-bottom: 0;
		padding-right: .5rem;
		width: calc(50% - .5rem);
	}
	.modul-headline-text .col-2 {
		padding-left: .5rem;
		width: calc(50% - .5rem);
	}
}

/* ----- Modul Newsletter ----- */
.modul-newsletter .section-i {
	padding: 2rem 1rem 4rem 1rem;
}
.modul-newsletter .col-1 {
	padding-bottom: 2rem;
}
.modul-newsletter p > a {
	text-decoration: underline;
}
@media only screen and (min-width: 1200px) {
	.modul-newsletter .col-1 {
		padding-bottom: 0;
		padding-right: .5rem;
		width: calc(50% - .5rem);
	}
	.modul-newsletter .col-2 {
		padding-left: .5rem;
		width: calc(50% - .5rem);
	}
}

/* ----- Modul Produkte ----- */
.modul-produkte .produkte-box {
	aspect-ratio: 4/7;
	position: relative;
	overflow: hidden;
}
@media only screen and (min-width: 800px) {
	.modul-produkte .produkte-box {
		aspect-ratio: 4/5;
	}
}
@media only screen and (min-width: 1200px) {
	.modul-produkte .produkte-box {
		aspect-ratio: 4/7;
	}
	.modul-produkte .col-3-l .produkte-box {
		aspect-ratio: 4/5;
	}
}
.modul-produkte .produkte-galerie img  {
	opacity: 0;
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	bottom: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	animation-name: produkteFader;
	animation-iteration-count: infinite;
}
.modul-produkte .produkte-more img {
	position: absolute;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center center;
	transition: all 0.2s ease-in-out;
	transform-origin: 50% 50%;
	mix-blend-mode: multiply;
}
.produkte-bild {
	opacity: 0;
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	bottom: 0;
}
.produkte-bild img {
	position: absolute;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center center;
}
.modul-produkte .produkte-box:hover .produkte-bild {
	opacity: 1;
}
.modul-produkte .produkte-more h2,
.modul-produkte .produkte-box h3 {
	position: absolute;
	margin: 0;
	top: 1rem;
	left: 1rem;
	right: 1rem;
	line-height: 1;
}
.modul-produkte .produkte-box .more {
	position: absolute;
	left: 1rem;
	bottom: 1rem;
	margin: 0;
}
.modul-produkte .produkte-box .more svg {
	width: 2.5em;
	height: 2.5em;
}
.modul-produkte .produkte-more {
	color: var(--isWhite);
	transition: all 0.2s ease-in-out;
	will-change: transform;
	background-color: rgba(0,0,0,0.4);
}
.modul-produkte .produkte-more:hover {
	background-color: rgba(0,0,0,0.6);
}
.modul-produkte .produkte-more h2 {
	color: var(--isWhite);
	transition: all 0.2s ease-in-out;
	will-change: transform;
}
.modul-produkte .produkte-more:hover h2 {
	transform: skewX(-30deg);
}

/* ----- Modul Text ----- */
.modul-text .col-c {
	padding: 2rem 1rem 4rem 1rem;
	width: calc(100% - 2rem);
	height: calc(100% - 6rem);
}
.modul-text p > a {
	text-decoration: underline;
}