img {
	vertical-align: middle
}

/* poppins-200 - latin */
@font-face {
font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
font-family: 'Poppins';
font-style: normal;
font-weight: 200;
src: url('../fonts/poppins-v23-latin-200.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* poppins-200italic - latin */
@font-face {
font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
font-family: 'Poppins';
font-style: italic;
font-weight: 200;
src: url('../fonts/poppins-v23-latin-200italic.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* poppins-regular - latin */
@font-face {
font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
font-family: 'Poppins';
font-style: normal;
font-weight: 400;
src: url('../fonts/poppins-v23-latin-regular.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* poppins-italic - latin */
@font-face {
font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
font-family: 'Poppins';
font-style: italic;
font-weight: 400;
src: url('../fonts/poppins-v23-latin-italic.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* poppins-600 - latin */
@font-face {
font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
font-family: 'Poppins';
font-style: normal;
font-weight: 600;
src: url('../fonts/poppins-v23-latin-600.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* poppins-600italic - latin */
@font-face {
font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
font-family: 'Poppins';
font-style: italic;
font-weight: 600;
src: url('../fonts/poppins-v23-latin-600italic.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* poppins-800 - latin */
@font-face {
font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
font-family: 'Poppins';
font-style: normal;
font-weight: 800;
src: url('../fonts/poppins-v23-latin-800.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* poppins-800italic - latin */
@font-face {
font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
font-family: 'Poppins';
font-style: italic;
font-weight: 800;
src: url('../fonts/poppins-v23-latin-800italic.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

:root {
	--main-font-family: 'Poppins', sans-serif;
	--main-font-weight: 400;
	--main-font-size-copy: 1.6rem;
	--main-font-lineheight: 1.1em;
	--main-button-color: #FC0F3F;
	--main-headline-color1: #4238B4;
	--main-headline-color2: rgba(15, 35, 252, 0.95);
	--main-columns-gap: 50px;
	
	--main-footer-color: rgba(15, 35, 252, 0.95);
	
}

@media screen and (min-width: 1400px) {
	:root {
		--main-columns-gap: 100px;
	}
}

@media screen and (max-width: 700px) {
	:root {
		--main-font-size-copy: 1.45rem;
	}
}


[id] {
	scroll-margin-top: 12rem; 
}


.rhnst-dropshadow {
	-webkit-box-shadow: -40px 50px 130px 0 rgba(0,0,0,0.3);
	box-shadow: -40px 50px 130px 0 rgba(0,0,0,0.3);
}

html {
	font-size: 10px
}

body {
	font-size: 1rem;
	background: #eee;
	font-family: var(--main-font-family);
	font-style: normal;
	font-weight: var(--main-font-weight);
}

main p,
main ul,
main ol {
	font-size: var(--main-font-size-copy);
}

*,
*::before,
*::after {
	box-sizing: border-box;
	margin: 0;
	padding: 0;
}
:root {
	--site-margin: 50px;  /* Außenabstand mobil */
	--max-width: 1200px;  /* maximale Breite für große Bildschirme */
	--font-body: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
	--color-bg: #f9f9f9;
	--color-text: #222;
}

body {
	font-family: var(--main-font-family);
	line-height: 1.6;
	color: var(--color-text);
	background-color: var(--color-bg);
}
	
.row {
	margin-left: var(--site-margin);
	margin-right: var(--site-margin);
}

@media (min-width: 1280px) {
	.row {
		max-width: var(--max-width);
		margin-left: auto;
		margin-right: auto;
	}
}

.header-sticky-button,
.header-logo, .header-logo *, .burger,
.rhnst-cta-button svg, .rhnst-cta-button {
	-webkit-transition: all 350ms ease-in-out;
	-moz-transition: all 350ms ease-in-out;
	-ms-transition: all 350ms ease-in-out;
	-o-transition: all 350ms ease-in-out;
	transition: all 350ms ease-in-out;
}

header,
footer {
	padding: 0;
}

main {
	padding: 0;
}

.wp-block-group.content-404 {
	position: relative;
	z-index: 100
}

@media (max-width: 768px) {
	:root {
		--site-margin: 30px;
	}
}

@media (max-width: 480px) {
	:root {
		--site-margin: 20px;
	}
}


/* HEADER */
	
	:root {
		--headerHeight: 100px
	}
	
	.site-header {
		position: fixed;
		top: 0;
		width: 100%;
		z-index: 10000;
		--header-font-size: 1.4rem;
	}
	
	.header-inner {
		display: flex;
		justify-content: space-between;
		align-items: center;
		padding: 0 var(--site-margin);
		position: relative; /* für Dropdown */
		height: var(--headerHeight);
	}
	
	main {
		padding: 0 0 0 0;
	}
	
	main p {
		margin: 0 0 10px 0
	}
	
	.header-logo .logo {
	  font-size: 1.25rem;
	  font-weight: bold;
	  color: #0055ff;
	  text-decoration: none;
	}
	
	.header-nav {
	  display: flex;
	  align-items: center;
	}
	
	.main-nav-container {
	  list-style: none;
	  display: flex;
	  gap: 1.5rem;
	}
	
	.main-nav-container
		.sub-menu {
			display: none	
		}
	
	.main-nav-container a {
	  text-decoration: none;
	  color: #222;
	  font-weight: 500;
	  position: relative;
	  transition: color 0.2s ease;
	  -webkit-transition: all 400ms ease;
	  -moz-transition: all 400ms ease;
	  -ms-transition: all 400ms ease;
	  -o-transition: all 400ms ease;
	  transition: all 400ms ease;
	}
	
	.main-nav-container a:hover {
	  color: #fff !important;
	}
	
	.main-nav-container ul#menu-primary li a:before {
		-webkit-transition: all 400ms ease;
		-moz-transition: all 400ms ease;
		-ms-transition: all 400ms ease;
		-o-transition: all 400ms ease;
		transition: all 400ms ease;
		background: #0055ff;
		opacity: 0;
		-webkit-border-radius: 90px 90px 90px 90px;
		border-radius: 90px 90px 90px 90px;
		content: '';
		position: absolute;
		top: 0;
		-webkit-transition: all 400ms ease;
		-moz-transition: all 400ms ease;
		-ms-transition: all 400ms ease;
		-o-transition: all 400ms ease;
		transition: all 400ms ease;
		left: 0;
		display: block;
		z-index: 10;
		width: calc(100% + 26px);
		height: calc(100% + 20px);
		-moz-transform: translateX(-13px) translateY(-11px);
		-webkit-transform: translateX(-13px) translateY(-11px);
		-o-transform: translateX(-13px) translateY(-11px);
		-ms-transform: translateX(-13px) translateY(-11px);
		transform: translateX(-13px) translateY(-11px);
	}
		
	.menu-primary-container > ul#menu-primary > li.current_page_item > a:before,
	.menu-primary-container > ul#menu-primary  > a:hover::before,
	ul#menu-primary  > li.current_page_parent > a:before,
	ul#menu-primary  .menu-item-has-children.hover > a:before {
		opacity: .8;
	}
	
	.main-nav-container ul#menu-primary  > li > a:hover::before {
		opacity: .8;
	}
	
	.main-nav-container span {
		position: relative;
		z-index: 20
	}
	
	/* Burger Icon */
	.burger {
		display: flex;
		flex-direction: column;
		justify-content: space-between;
		width: 35px;
		height: 20px;
		position: absolute;
		cursor: pointer;
		top: 40px;
		right: 40px;
		pointer-events: none;
		opacity: 0;
		background: none;
		outline: none;
		border: 0
	}
	
	.visually-hidden {
	  position: absolute;
	  width: 1px;
	  height: 1px;
	  padding: 0;
	  margin: -1px;
	  overflow: hidden;
	  clip: rect(0, 0, 0, 0);
	  white-space: nowrap;
	  border: 0;
	}
	
	
	.burger span {
		display: block;
		height: 3px;
		width: 100%;
		background: #222;
		border-radius: 0;
		transition: all 0.3s ease;
		transform-origin: center;
	}
	
	.burger-white span {
		background: #fff
	}
	
	/* Animiertes Burger → X */
	.menu-active .burger span:nth-child(2) {
	  transform: rotate(45deg) translate(5px, 5px);
	}
	
	.menu-active .burger span:nth-child(3) {
	  opacity: 0;
	}
	
	.menu-active .burger span:nth-child(4) {
		transform: rotate(-45deg) translate(5px, -5px);
	}
	
	.svg-link {
		display: inline-block;     
		width: 300px;            
		height: var(--headerHeight);            
		position: relative;
	}
	
	.svg-link svg {
		max-width: calc(100% - 20px);             /* maximal 90% der Container-Breite */
		max-height: calc(100% - 20px);            /* maximal 90% der Container-Höhe */
		width: auto;                /* Breite wird automatisch angepasst */
		height: auto;               /* Höhe wird proportional angepasst */
		display: block;
		margin: auto auto auto 0;               /* zentriert im Container */
		position: absolute;
		top: 0; left: 0; bottom: 0; right: 0;  /* zentrieren */
		
		-webkit-transition: all 400ms ease;
		-moz-transition: all 400ms ease;
		-ms-transition: all 400ms ease;
		-o-transition: all 400ms ease;
		transition: all 400ms ease;
		
	}
	
	
	body.scrolled {
		--headerHeight: 60px
	}
	
	body.scrolled .burger {
		top: 20px
	}
	
	.main-nav-container a {
		color: #fff
	}		
	
	.main-nav-container li {
		display: inline-block;
		font-size: 1.6rem;
		margin: 0 0 0 30px
	}
	
	.header-sticky-button a { 
		background: var(--main-button-color);
		color: #fff;
		padding: 10px 20px;
		font-size: var(--header-font-size);
		line-height: 1.2em;
		-webkit-border-radius: 50px 50px 50px 50px;
		border-radius: 50px 50px 50px 50px;
		text-decoration: none;
		
	}
	
	.header-sticky-button {
		padding: 0 30px 0 0 
	}
	
	.header-inner a {
		font-weight: 600;
	}
	
	.main-nav-container ul li:first-child { 
		margin: 0
	}

	@media (max-width: 1150px) {
		
		:root {
			--headerHeight: 100px
		}
		
		.menu-primary-container li {
			display: block;
			margin: 0 0 40px 0 !important
		}
		
		.burger .visually-hidden {
			position: absolute;
			width: auto;
			height: auto;
			margin: 0;
			right: 45px;
			color: #fff;
			font-family: var(--main-font-family);
			font-weight: 500;
			background: none;
			overflow: visible;
			clip: auto;
			white-space: normal;
		}

		.svg-link {
			width: 200px
		}
		
		.header-logo {
			top: 0;
			left: 0;
			width: calc(100% + calc(2* var(--site-margin)) );
			margin: 0 calc(-1 * var(--site-margin));
			display: flex;
			pointer-events: all
		}
		
		.header-sticky-button {
			padding: 0 30px 0 0;
			position: absolute;
			right: 115px;
			top: 42px;
			pointer-events: all;
		}
		
		.scrolled .header-sticky-button {
			top: 22px
		}
	  
		.header-logo-box {
			display: flex;
			padding: 0 0 0 var(--site-margin);
			align-items: center;
			
		}
		.header-logo-box a {
			margin: auto
		}
		
		.header-inner {
			height: 100%;
			align-items: start;
			
			-webkit-transition: all 400ms ease;
			-moz-transition: all 400ms ease;
			-ms-transition: all 400ms ease;
			-o-transition: all 400ms ease;
			transition: all 400ms ease;
		}
		.header-logo {
			height:  var(--headerHeight);
		}
		
		.site-header,
		.row.header-inner {
			height: 100%;
			padding: 0;
			margin: 0;
			pointer-events: none
		}
		
		.menu-primary-container {
			padding: var(--site-margin);
			overflow: scroll
		}
		
		#menu-primary a {
			color: #fff;
			font-size: 2rem
		}
		
		.main-nav-container {
			flex-direction: column;
			gap: 1rem;
			background: #fff;
			top: 0;
			left: 0;
			right: var(--site-margin);
			width: 100%;
			transition: transform 0.3s ease, opacity 0.3s ease;
			opacity: 1;
			pointer-events: none;
			background: rgba(68, 85, 102, 0.95);
			height: 100%;
			position: absolute;
			opacity: 0;
			
		}
		
		.main-nav-container.active {
			display: flex;
			transform: translateY(0);
			opacity: 1;
			pointer-events: auto;
		}
		
		.burger {
			opacity: 1;
			pointer-events: all
		}
	
	  .header-inner {
	    flex-direction: row; /* Logo links, Burger rechts */
	  }
	}
	
	@media (max-width: 568px) {
		.svg-link { width: 150px }
		
		.scroll-up .header-sticky-button,
		.scroll-down .header-sticky-button,
		.header-sticky-button {
			top: auto; 
			bottom: 30px !important;
			left: 50% !important;
			right: auto !important;
			width: 400px !important;
			-moz-transform: translateX(-200px);
			-webkit-transform: translateX(-200px);
			-o-transform: translateX(-200px);
			-ms-transform: translateX(-200px);
			transform: translateX(-200px);
			padding: 0 !important;
			text-align: center
		}
		
		
	}
	@media (max-width: 468px) {
		.svg-link { width: 100px }
	}
	
	
	body.menu-active {
	  overflow: hidden;
	}
	
	body.menu-active::after {
	  content: "";
	  position: fixed;
	  inset: 0;
	  background: rgba(0,0,0,0.3);
	  z-index: 900; /* unter Header, über Content */
	}
	
	
	
	
	/* MODUL: STAGE */
		.rhnst-module-stage {
			height: calc(100vh - 100px);
			position: relative;
			
			--swiper-theme-color: #fff;
		}
	
		.swiper.rhnst-stage-swiper-instance {
			width: 100%;
			height: 100%;
		}
		
		.rhnst-stage-swiper-instance .swiper-slide {
			text-align: center;
			font-size: 18px;
			background: #444;
			display: flex;
			justify-content: center;
			align-items: center;
		}
		
		.rhnst-stage-swiper-instance .swiper-slide img {
			display: block;
			width: 100%;
			height: 100%;
			object-fit: cover;
		}
		
		.rhnst-stage-title {
			position: absolute;
			left: 0;
			width: 100%;
			bottom: 50px;
			color: #fff;
			z-index: 100;
			pointer-events: none
		}
		
		
		.rhnst-stage-title span {
			font-size: 4rem;
			line-height: 1em;
			font-weight: 600;
			display: block;
			width: calc(100% - 100px);
		}
		
		.rhnst-stage-layer {
			position: absolute; 
			top: 0;
			left: 0;
			width: 100%;
			height: 100%;
			background: #000;
			opacity: .3;
			z-index: 10;
			pointer-events: none
		}
		.swiper-button-next-rhnst-stage {
			position: absolute;
			right: 30px;
			bottom: 30px;
			left: auto; top: auto
		}
		.swiper-button-prev-rhnst-stage {
			position: absolute;
			right: 80px;
			bottom: 30px;
			left: auto; top: auto
		}
	
	/* Module: Spacer */
		.rhnst-spacer-0 { height: 0 }
		.rhnst-spacer-25 { height: 25px }
		.rhnst-spacer-50 { height: 50px }
		.rhnst-spacer-75 { height: 75px }
		.rhnst-spacer-100 { height: 100px }
		.rhnst-spacer-150 { height: 150px }
		.rhnst-spacer-200 { height: 200px }
		.rhnst-spacer-250  { height: 250px }
		
		
	/* Module: Intro Teaser */
	
		.rhnst-cta-button {
			position: relative;
			background: var(--main-button-color);
			color: #fff;
			display: inline-block;
			padding: 10px 60px 10px 20px;
			font-size: var(--main-font-size-copy);
			text-decoration: none;
			margin: 20px 0 0 0;
			-webkit-border-radius: 50px 50px 50px 50px;
			  border-radius: 50px 50px 50px 50px;
		}
		
		.rhnst-cta-button svg {
			height: 30px;
			width: 65px;
			position: absolute;
			right: 0;
			top: 50%;
			-moz-transform: translateX(30px) translateY(-15px);
			-webkit-transform: translateX(30px) translateY(-15px);
			-o-transform: translateX(30px) translateY(-15px);
			-ms-transform: translateX(30px) translateY(-15px);
			transform: translateX(30px) translateY(-15px);
		}
		
		.rhnst-cta-button:hover {
			padding: 10px 70px 10px 30px;
		}
		
		.rhnst-cta-button:hover svg {
			-moz-transform: translateX(40px) translateY(-15px);
			-webkit-transform: translateX(40px) translateY(-15px);
			-o-transform: translateX(40px) translateY(-15px);
			-ms-transform: translateX(40px) translateY(-15px);
			transform: translateX(40px) translateY(-15px);
		}
		
		.rhnst-introteaser-group-container {
			display: flex;
			gap: var(--main-columns-gap);
		}
		
		@media screen and (max-width: 700px) {
			.rhnst-introteaser-group-container {
				flex-direction: column
			}
			
			.rhnst-introteaser__col--left--image-wrap {
				position: relative !important;
				width: auto;
			}
			.rhnst-introteaser__col--left--image-wrap-sub {
				width: 80% !important;
				position: relative !important;
				bottom: auto;
				top: auto;
				left: 10% !important;
				right: auto !important
			}
		}
		
		.rhnst-introteaser__col {
			flex: 1;     
			display: flex;   
		}
		
		.rhnst-introteaser__col--left--image-wrap {
			width: 100%;
			position: absolute;
			top: 0;
			left: 0;
			height: calc(50% - 15px);
			overflow: hidden
		}
		.rhnst-introteaser__col--left--image-wrap img,
		.rhnst-introteaser__col--left--image-wrap-sub img {
			object-fit: cover;
			height: 100%;
			width: 100%	
		}
		
		.rhnst-introteaser__col--left--image-wrap-sub {
			width: calc(100% - 50px);
			position: absolute;
			bottom: 0;
			left: 50px;
			height: calc(50% - 15px);
			overflow: hidden;
		}
		
		
		.rhnst-introteaser--col--right--inner h2 {
			font-size: 2.6rem;
			line-height: 1.2em;
			color: var(--main-headline-color1);
			font-weight: 600;
			margin: 0 0 20px 0
		}
		
		.rhnst-introteaser__inner {
			width: 100%;
			height: 100%;      
			position: relative
		}
		
		.rhnst-introteaser__col--right {
			padding: 100px 0
		}
		
		@media screen and (min-width: 1500px) {
			.rhnst-introteaser__col--right {
				padding: 200px 0
			}
		}	
		
		@media screen and (max-width: 700px) {
			.rhnst-introteaser__col--right {
				padding: 30px 0 !important
			}
		}
		
	
	.row .row {
		margin: 0;
		width: 100%;
		max-width: 100%
	}
	
	/* Module: Image + Text */
	
		
		.rhnst-module-imagetextbox h2 {
			font-size: 2.6rem;
			line-height: 1.2em;
			color: var(--main-headline-color1);
			font-weight: 600;
			margin: 0 0 20px 0
		}
		
		.rhnst-module-imagetextbox h3 {
			font-size: 2.2rem;
			line-height: 1.2em;
			color: var(--main-headline-color2);
			font-weight: 600;
			margin: 20px 0 10px 0
		}
		
		
	/* Alternating Images */
		.rhnst-module-alternating-teaser-group--item {
			width: 100%;
		}
		
		
		.rhnst-module-alternating-teaser-group {
		  display: grid;
		  gap: 2rem;
		  grid-template-columns: 1fr;
		}
		
		.rhnst-module-alternating-teaser-group img {
			max-width: 100%;
			height: auto
		}
		
		@media (min-width: 768px) {
		  .rhnst-module-alternating-teaser-group {
		    grid-template-columns: 1fr; 
		  }
		}
		
		.rhnst-module-alternating-teaser-group--item {
			display: flex;
			align-items: center;
			gap: 60px;
			flex-wrap: nowrap;
			margin: 0 0 60px 0
		}
		
		.rhnst-module-alternating-teaser-group--item .rhnst-cta-button {
			background: #fff;
			-webkit-box-shadow: -40px 40px 120px 0 rgba(0,0,0,0.3);
			  box-shadow: -40px 40px 120px 0 rgba(0,0,0,0.3);
			  color: var(--main-button-color)
		}
		
		.rhnst-module-alternating-teaser-group--item .teaser-media {
		  flex: 0 0 45%;
		  max-width: 45%;
		    -webkit-box-shadow: -40px 40px 120px 0 rgba(0,0,0,0.3);
		  box-shadow: -40px 40px 120px 0 rgba(0,0,0,0.3);
		}
		.rhnst-module-alternating-teaser-group--item .teaser-content {
		  flex: 1 1 55%;
		}
		
		.rhnst-module-alternating-teaser-group--item:nth-child(even) .teaser-media {
		  order: 2;
		}
		.rhnst-module-alternating-teaser-group--item:nth-child(even) .teaser-content {
		  order: 1;
		}
		
		@media (max-width: 599px) {
		  .rhnst-module-alternating-teaser-group--item {
		    flex-direction: column;
		    text-align: left;
		  }
		  .rhnst-module-alternating-teaser-group--item .teaser-media,
		  .rhnst-module-alternating-teaser-group--item .teaser-content {
		    max-width: 100%;
		    flex: 0 0 auto;
		    order: 0;
		  }
		}
		
		.teaser-content h2 {
			font-size: 3rem;
			font-weight: 600;
			line-height: 1.1em;
			color: var(--main-headline-color1);
			margin: 0 0 20px 0
		}
	
		.teaser-content ul li {
			list-style-type: none;
			position: relative;
			line-height: 1.2em;
			padding: 0 0 0 30px;
			margin: 0 0 10px 0
		}
		.teaser-content ul li:before {
			content: '';
			position: absolute;
			left: 0;
			top: 6px;
			width: 10px;
			height: 10px;
			background: var(--main-headline-color1);
		}
		
		
		
	.observe--fade {
		opacity: 0;
		transform: translateY(100px);
		transition: opacity 0.8s ease-out, transform 0.8s ease-out;
	}
	
	.observe--fade.visible {
		opacity: 1;
		transform: translateY(0);
	}

		
	/* Module Headline */

		.rhnst-module-headlinebox * {
			line-height: 1.1em
		}

		.rhnst-module-headlinebox h1 {
			font-size: 5rem;
			font-weight: 600;
			color: var(--main-headline-color2);
		}
		.rhnst-module-headlinebox h2 {
			font-size: 4rem;
			font-weight: 600
		}
		.rhnst-module-headlinebox h3 {
			font-size: 4rem;
			font-weight: 600;
			
		}
		
		@media screen and (max-width: 1000px) {
			.rhnst-module-headlinebox h1 {
				font-size: 3rem;
			}
		}
		@media screen and (max-width: 700px) {
			.rhnst-module-headlinebox h1 {
				font-size: 2.4rem;
			}
		}
		
	
	/* FOOTER */
	
		footer p {
			font-size: var(--main-font-size-copy);
		}
		
		#twentyfeet-footer {
			position: relative;
			background: #333
		}
		
		.footer-image-background { 
			width: 100%;
			height: 100%;
			position: absolute;
			top: 0;
			left: 0;
		}
		
		.footer-image-background img {
			object-fit: cover;
			width: 100%;
			height: 100%;
			object-position: center center;
		}
		
		.footer-content {
			position: relative;
			z-index: 100;
			padding: 100px 0
		}
		
		.footer-content p a {
			color: #fff;
		}
		
		.footer-content-grid-container {
			background: var(--main-footer-color);
			color: #fff;
			padding: 50px 50px;
			-webkit-box-shadow: -40px 40px 80px 0 rgba(0,0,0,.3);
			box-shadow: -40px 40px 80px 0 rgba(0,0,0,.3);
			-webkit-border-radius: 5px 5px 5px 5px;
			border-radius: 5px 5px 5px 5px;
		}
		
		.footer-content-grid {
			display: flex;
			gap: 40px
		}
		
		
		.footer-content-grid-col {
			flex: 1;           
			max-width: 50%;  
			box-sizing: border-box; 
			border: 0 solid #ccc; 
		}
		
		.footer-logo {
			max-width: 50%;
			padding: 30px 0 0 0
		}
		
		.footer-bottom {
			padding: 100px 0 0 0
		}
		.footer-bottom li {
			display: inline-block;
			margin: 0 20px 0 0;
			font-size: 1.4rem
		}
		
		.footer-bottom li a {
			color: #fff;
			text-decoration: none;
			position: relative
		}
		.footer-bottom li a:before {
			width: 100%;
			height: 2px;
			background: #fff;
			opacity: 0.2;
			bottom: -2px;
			content: '';
			position: absolute;
			left: 0
		}
		
		.footer-bottom li a:after {
			width: 0;
			height: 2px;
			background: #fff;
			bottom: -2px;
			content: '';
			position: absolute;
			left: 0;
			-webkit-transition: all 300ms ease-in-out;
			-moz-transition: all 300ms ease-in-out;
			-ms-transition: all 300ms ease-in-out;
			-o-transition: all 300ms ease-in-out;
			transition: all 300ms ease-in-out;
		}
		
		.footer-bottom li a:hover::after {
			width: 100%
		}
		
		.content-box-list li {
			font-size: 3rem;
			list-style-type: none;
			font-weight: 300
		}
		
		#backToTop {
		    position: fixed;
		    bottom: 2rem;
		    right: 2rem;
		    display: none; 
		    font-size: 3em;
		    width: 50px;
		    height: 50px;
		    background-color: var(--main-footer-color);
		    color: white;
		    border: none;
		    border-radius: 50%;
		    cursor: pointer;
		    z-index: 1000;
		    transition: opacity 0.3s;
		  }
		
		  #backToTop:focus {
		    outline: 3px solid #fff;
		    outline-offset: 2px;
		  }
		 
		
		.rhnst-module-imagetextbox ol {
			padding: 0 0 0 20px
		}
		
		
		@media screen and (max-width: 900px) {
			.footer-content-grid {
				flex-direction: column
			}
			.footer-content-grid-col {
				max-width: 100%
			}
		}
		
		/* IMAGE + TEXT Element */
			.rhnst-image-text-module {
			display: grid;
			  grid-template-columns: 1fr 1fr; 
			  gap: 50px; 
			}
			
			.item-order-reverse .rhnst-image-text-module {
				direction: rtl; 
			}
			
			.item-order-reverse .rhnst-image-text-module .rhnst-image-text-module__col {
				text-align: left;
				direction: ltr; 
			}
			
			.rhnst-image-text-module__col {
				flex: 1;
			}
			
			.rhnst-image-text-module__col_imagewrapper {
				width: 100%;
			}
			
			.rhnst-image-text-module__col_imagewrapper img {
				width: 100%;
				max-width: 100%;
				height: auto;
			}
			
			.imageteaser-signature-image-caption p {
				color: #888
			}
			
			.rhnst-image-text-module--reverse {
			flex-direction: row-reverse; /* Reihenfolge umkehren */
			}
			
			.imageteaser-signature-image {
				max-width: 60%;
				margin: 0 0 0 calc( var(--main-columns-gap) * -0.5 );
				-moz-transform: rotate(-5deg);
				-webkit-transform: rotate(-5deg);
				-o-transform: rotate(-5deg);
				-ms-transform: rotate(-5deg);
				transform: rotate(-5deg);
			}
			
			@media screen and (max-width: 800px) {
				
				.rhnst-image-text-module {
					display: grid;
					grid-template-columns: 1fr; 
					gap: 50px; 
				}
				
			}
			
	
	.twentyfeet-contact-section {
		-moz-transform: translateY(30px);
		-webkit-transform: translateY(30px);
		-o-transform: translateY(30px);
		-ms-transform: translateY(30px);
		transform: translateY(30px);
		position: relative;
		z-index: 100
	}	
	
	.row :where(.wp-block-columns.is-layout-flex) {
		gap: 50px
	}
	
	.page-id-28 .twentyfeet-contact-section {
	-moz-transform: translateY(0);
	-webkit-transform: translateY(0);
	-o-transform: translateY(0);
	-ms-transform: translateY(0);
	transform: translateY(0);	
	}
	
	.twentyfeet-contact-sectionbody ul li {
		list-style-type: none;
		display: block;
		font-size: var(--main-font-size-copy);
		margin: 0 10px 10px 0
	}
	
	.twentyfeet-contact-sectionbody ul li a {
		color: #222;
		text-decoration: none;
		font-weight: 600;
		border: 1px solid #999;
		display: inline-block;
		padding: 5px 12px;
		-webkit-border-radius: 5px 5px 5px 5px;
		border-radius: 5px 5px 5px 5px;
		-webkit-transition: all 300ms ease-in-out;
		-moz-transition: all 300ms ease-in-out;
		-ms-transition: all 300ms ease-in-out;
		-o-transition: all 300ms ease-in-out;
		transition: all 300ms ease-in-out;
	}
	
	h2.custom-section__headline {
		color: var(--main-headline-color1);
		font-size: 3rem
	}
	
	.twentyfeet-contact-sectionbody ul li a:hover {
		background: var(--main-headline-color1);
		color: #fff;
		border: 1px solid var(--main-headline-color1);
		padding: 5px 20px
	}
	
	.list-style-icon-phone a::before {
	  content: "📞 ";
	}
	
	.list-style-icon-mail a::before {
	  content: "✉️ ";
	}
	
	.list-style-icon-pointer a::before {
	  content: "👉 ";
	}
	
	
	.twentyfeet-contact-sectionbody {
		background: #fff;
		-webkit-box-shadow: -40px 50px 130px 0 rgba(0,0,0,0.3);
		box-shadow: -40px 50px 130px 0 rgba(0,0,0,0.3);
	}
	
	.twentyfeet-contact-sectionbody-inner {
		padding: 40px
	}
	
	
	/* BLOG */
		.post-with-thumb .post-inner {
		    display: flex;
		    align-items: flex-start;
		    margin-bottom: 30px;
		}
		
		.post-with-thumb .post-inner.left .post-thumb {
		    margin-right: 20px;
		}
		
		.post-with-thumb .post-inner.right {
		    flex-direction: row-reverse;
		}
		
		.post-with-thumb .post-inner.right .post-thumb {
		    margin-left: 20px;
		}
		
		.post-thumb img {
		    width: 400px;
		    height: 400px;
		    object-fit: cover; /* Bild wird zugeschnitten, um die Größe zu halten */
		}
		
		.read-more {
		    display: inline-block;
		    margin-top: 10px;
		    color: #0073aa;
		    text-decoration: none;
		}
		
		.read-more:hover {
		    text-decoration: underline;
		}
		
		.twentyfeet-blog-group article {
			
		}
		
		.post-content {
			padding: 40px
		}
		.post-content h2 { 
			font-size: 3rem;
			line-height: 1.2em;
			margin: 0 0 30px 0
		}
		.post-content h2  a {
			color:  var(--main-headline-color1);
			text-decoration: none
		}
		
		.the-blog-content {
			padding: 50px 0
		}
		
		.stage-single-image {
			position: absolute;
			top: 0;
			left: 0;
			width: 100%;
			height: 100%
		}
		.stage-single-image img {
			object-fit: cover;
			width: 100%;
			height: 100%;
			object-position: center center
		}
		
		body.single .rhnst-module-stage {
			height: 80vh
		}
		
		body.single .rhnst-module-stage h1 {
			font-size: 6rem;
			font-weight: 500;
			letter-spacing: -1px;
			line-height: 1.2em
		}
		
		@media screen and (max-width: 1200px) {
			body.single .rhnst-module-stage h1 {
				font-size: 4rem;
			}
		}
		@media screen and (max-width: 800px) {
			body.single .rhnst-module-stage h1 {
				font-size: 3rem;
			}
			
			body.single .rhnst-module-stage {
				height: 50dvh;
			}
			
			h2.custom-section__headline {
				font-size: 2rem
			}
			
			
			.rhnst-module-stage {
				height: 60dvh
			}
		}
		
		@media screen and (max-width: 500px) {
			
			.rhnst-stage-title span {
				font-size: 2.4rem ;
				margin: 0 0 10px 0
			}
			.rhnst-module-stage {
				height: 550px
			}
		}
		
		
		
		.twentyfeet-custom-grid {
		    display: grid;
		    grid-template-columns: repeat(auto-fit, minmax(500px, 1fr));
		    gap: 30px;
		    list-style: none;
		    padding: 0;
		    margin: 0;
		}
		
		.rhnst-module-uspbox h2 {
			font-size: 4rem;
			color: var(--main-headline-color2);
			font-weight: 600;
			margin: 0 0 30px 0
		}
		
		.twentyfeet-custom-grid .grid-item {
		    background: #ffffff;
		    box-shadow: 0 4px 12px rgba(0,0,0,0.08);
		    border-left: 4px solid var(--main-headline-color2);
		    transition: transform 0.3s ease, box-shadow 0.3s ease;
		}
		
		.rhnst-module-uspbox .rhnst-cta-button {
			background: var(--main-headline-color2);
			
		}
		
		.twentyfeet-custom-grid .grid-item:hover {
		    transform: translateY(-5px);
		    box-shadow: 0 8px 20px rgba(0,0,0,0.12);
		}
		
		.usp-list-cta {
			padding: 50px 0 0 0
		}
		
		.twentyfeet-custom-grid .inner-content {
		    padding: 40px; 
		}
		
		.twentyfeet-custom-grid h3 {
		    margin-top: 0;
		}
		
		.twentyfeet-custom-grid p {
		    margin-bottom: 0;
		}
		
		/* Responsive Anpassung */
		@media (max-width: 768px) {
		    .twentyfeet-custom-grid {
			grid-template-columns: 1fr;
		    }
		}
		
		
		.item-style-bluebox .rhnst-module-simpletext-container {
			background: #3F5EFB;
			background: radial-gradient(circle,rgba(63, 94, 251, 1) 0%, rgba(0, 53, 117, 1) 100%);
		}
		.item-style-bluebox .rhnst-module-simpletext-container-inner {
			padding: 50px;
			color: #fff
		}
		
		
		.item-style-bluebox  ul {
		  display: grid;
		  grid-template-columns: repeat(3, 1fr); /* 3 Spalten standardmäßig */
		  gap: 10px; /* Abstand zwischen den Items */
		  list-style: none;
		  padding: 0;
		  margin: 0;
		}
		
		.item-style-bluebox h2
		{
			font-size: 3rem;
			margin: 0 0 30px 0
		}
		.item-style-bluebox  ul li {
		background-color: rgba(255, 255, 255, 0.05); /* Beispielhintergrund */
		color: white;
		display: flex;
		align-items: center;
		justify-content: center;
		box-sizing: border-box;
		line-height: 1.4em;
		text-align: left;
		padding: 30px;
		position: relative;
		}
		.item-style-bluebox  ul li:before {
			content: '';
			position: absolute;
			width: 3px;
			height: 100%;
			top: 0;
			left: 0;
			background: rgba(0, 53, 117, 1)
		}
		
		/* Tablet/Mobile: 2 Spalten */
		@media (max-width: 900px) {
		.item-style-bluebox   ul {
		    grid-template-columns: repeat(2, 1fr);
		  }
		}
		
		/* Kleine Screens: 1 Spalte */
		@media (max-width: 600px) {
		 .item-style-bluebox  ul {
		    grid-template-columns: 1fr;
		  }
		}
		
		
		
		
		.page-scrolled-gradient {
			position: fixed;
			top: -100px;
			left: 0;
			width: 100%;
			pointer-events: none;
			user-select: none;
			height: 300px;
			background: #000000;
			background: -webkit-linear-gradient(180deg,rgba(0, 0, 0, 1) 0%, rgba(0, 0, 0, 0) 100%);
			background: -moz-linear-gradient(180deg,rgba(0, 0, 0, 1) 0%, rgba(0, 0, 0, 0) 100%);
			background: linear-gradient(180deg,rgba(0, 0, 0, 1) 0%, rgba(0, 0, 0, 0) 100%);
			filter: progid:DXImageTransform.Microsoft.gradient(
			  startColorstr="#000000",
			  endColorstr="#000000",
			  GradientType=0
			);
			z-index: 1000
		}
		
		
		.page-content--offsettop { 
			padding: 200px 0 0 0
		}
		
		.page-template-page-offsettop .page-content p a {
			color: var(--main-headline-color1);
		}
		.wpforms-field-label-inline a {
			color: var(--main-headline-color1);
		}
	
	.twentyfeet-faq-item {
		background: #fff;
		padding: 30px;
		margin: 0 0 30px 0;
		-webkit-box-shadow: -40px 40px 100px 0 rgba(0,0,0,0.1);
		box-shadow: -40px 40px 100px 0 rgba(0,0,0,0.1);
	}
	
	h3.twentyfeet-faq-question {
		font-size: 2.4rem;
		color: 	var(--main-headline-color2);
		margin: 0 0 10px 0;
		font-weight: 600;
		line-height: 1.3em
	}
	
	@media screen and (max-width: 900px) {}
		h3.twentyfeet-faq-question {
			font-size: 1.8rem
		}
	}
	
	.content-404 {
		position: relative;
		z-index: 100
	}
	
	.error404 h1.wp-block-heading {
		color: var(--main-button-color);
		font-size: 3rem;
		line-height: 1.1em;
		margin: 0 0 30px 0
	}
	
	
	.wp-block-group.inline-menu {
		background: #fff;
		padding: 30px;
		width: 100%;
		-webkit-box-shadow: -40px 40px 100px 0 rgba(0,0,0,0.1);
		box-shadow: -40px 40px 100px 0 rgba(0,0,0,0.1);
	}
	
	.wp-block-group.inline-menu li {
		margin: 0 0 10px 0;
		list-style-type: none
	}
	
	.wp-block-group.inline-menu li a {
		color: var(--main-button-color);
	}
	
	@media screen and (min-width: 1000px) {
		.wp-block-group.inline-menu {
			width: 50%;
		}
	}
	
	
	
	
	.page-content--offsettop {
		position: relative
	}
	.error404 .page-content--offsettop:before {
		content: "404";
		position: absolute;
		font-weight: 800;
		top: 100px;
		color: #dddddd;
		left: 0;
		font-size: 20rem;
		opacity: 1
	}
	
	.wp-block-group.white-box {
		background: #fff;
		-webkit-box-shadow: -40px 50px 130px 0 rgba(0,0,0,0.3);
		box-shadow: -40px 50px 130px 0 rgba(0,0,0,0.3);
		-webkit-border-radius: 5px 5px 5px 5px;
		border-radius: 5px 5px 5px 5px;
	}
	
	.white-box-inner {
		padding: 50px
	}
	
	body.single-post h2.wp-block-heading {
		font-size: 3.4rem;
		font-weight: 600;
		color: var(--main-headline-color2);
		line-height: 1.2em
	}
	
	body.single-post .white-box-inner h2.wp-block-heading:first-of-type {
		margin: 0 0 30px 0
	}
	
	.wp-block-table { 
		font-size: var(--main-font-size-copy);
	}
	
	
	/* Grundstil für WP Block Table */
	.wp-block-table {
	  width: 100%;
	  border-collapse: collapse;
	  overflow: hidden;
	  background: #fff;
	}
	
	/* Tabellenzellen */
	.wp-block-table th,
	.wp-block-table td {
	  padding: 0.85rem 1rem;
	  text-align: left;
	  transition: background 0.2s ease;
	}
	
	/* Tabellenkopf */
	.wp-block-table th {
	  background: #f9fafb;
	  font-weight: 600;
	  color: #374151;
	}
	
	/* Zebra-Effekt */
	.wp-block-table tbody tr:nth-child(even) {
	  background: #fdfdfd;
	}
	
	/* Hover-Effekt */
	.wp-block-table tbody tr:hover td {
	  background: #f3f4f6;
	}
	
	/* Responsive: Scroll bei kleinen Displays */
	.wp-block-table {
	  display: block;
	  overflow-x: auto;
	  /* white-space: nowrap; */
	  -webkit-overflow-scrolling: touch;
	}
	
	
	
	body.single-post .white-box-inner h3.wp-block-heading {
		font-size: 2.6rem;
		font-weight: 600;
		margin: 20px 0 10px 0
	}
	
	@media screen and (max-width: 900px) {
		.wp-block-table { 
			font-size: 1.6rem
		}
	}
	
	
	.rhnst-module-simpletext.item-style-redbox {
		background: red;
		background: radial-gradient(
		    circle at top left,
		    #ff4d4d,
		    #7a1f1f 40%,
		    #ff0000 100%
		  );
		  -webkit-border-radius: 5px 5px 5px 5px;
		  border-radius: 5px 5px 5px 5px;
	}
	
	.wp-block-columns .row {
		max-width: 100%;
		width: 100%;
		margin: 0
	}
	
	main .wp-block-columns .rhnst-module-simpletext  .rhnst-module-simpletext-container-inner {
		padding: 40px;
		color: #fff
	}
	
	main .wp-block-columns .rhnst-module-simpletext-container-inner h2 {
		font-size: 2.8rem;
		margin: 0 0 20px 0
	}
	
	main .wp-block-column .wp-block-group h3.wp-block-heading{
		line-height: 1.2em
	}
	
	main .wp-block-column .wp-block-group h3.wp-block-heading:first-of-type {
		margin-top: 0 
	}
	
	
	.rhnst-module-simpletext.item-style-whitebox,
	.boxed-page-template .rhnst-module-simpletext.item-style-whitebox .rhnst-module-simpletext-container {
		background: #fff;
		-webkit-box-shadow: -40px 50px 130px 0 rgba(0,0,0,0.3);
		box-shadow: -40px 50px 130px 0 rgba(0,0,0,0.3);
		-webkit-border-radius: 5px 5px 5px 5px;
		border-radius: 5px 5px 5px 5px;
	}
	
	.boxed-page-template .rhnst-module-simpletext.item-style-whitebox .rhnst-module-simpletext-container-inner {
		padding: 50px
	}
	
	.boxed-page-template .rhnst-module-simpletext.item-style-whitebox {
		-webkit-box-shadow: none;
		box-shadow: none;
		-webkit-border-radius: none;
		background: none;
	}
	
	body.single-post .rhnst-module-simpletext.item-style-whitebox > .row {
		width: 100%;
		max-width: 100%;
		margin: 0;
	}
	body.single-post .rhnst-module-simpletext.item-style-whitebox > .row .rhnst-module-simpletext-container {
		padding: 50px
	}
	body.single-post .rhnst-module-simpletext.item-style-whitebox > .row .rhnst-module-simpletext-container h3 {
		font-size: 2.4rem;
		margin: 30px 0 10px 0
	}
	
	
	.main-nav-container .menu-item-has-children.hover > a {
	}
	
	
	/* Grundstruktur */
	.main-nav-container ul.sub-menu {
	    list-style: none;
	    margin: 0;
	    padding: 20px 0;
	    opacity: 0;
	    pointer-events: none;
	    display: block !important;
	}
	
	.main-nav-container .hover ul.sub-menu {
		opacity: 1;
		pointer-events: all
	}
	
	.main-nav-container li {
	    position: relative; /* Wichtig für das absolute Submenu */
	}
	
	/* Submenu standardmäßig ausblenden */
	.main-nav-container .sub-menu {
	    display: none;          /* Wird per JS eingeblendet */
	    position: absolute;     /* Position relativ zum Parent-LI */
	    top: 100%;              /* Direkt unter dem Parent-LI */
	    left: 0;                /* Am linken Rand des Parent-LI ausrichten */
	    padding: 20px 0;        /* etwas Innenabstand */
	    z-index: 1000;          /* sicherstellen, dass es über anderen Inhalten liegt */
	    min-width: 200px;       /* optional, Mindestbreite */
	    margin: 0;
	    -moz-transform: translateX(-20px);
	    -webkit-transform: translateX(-20px);
	    -o-transform: translateX(-20px);
	    -ms-transform: translateX(-20px);
	    transform: translateX(-20px);
	}
	
	/* Submenu-LIs */
	.main-nav-container .sub-menu li {
	    width: 100%;
	}
	
	.main-nav-container ul.sub-menu li
	{
		margin: 0 0 10px 0
	}
	
	/* Submenu Links */
	.main-nav-container .sub-menu li a {
	    display: block;
	    padding: 8px 20px;
	    text-decoration: none;
	    background: #222;
	    color: #fff;
	    -webkit-border-radius: 40px 40px 40px 40px;
	    border-radius: 40px 40px 40px 40px;
	    font-weight: normal;
	    opacity: .8;
	    font-size: 1.4rem
	}
	
	/* Hover Effekt im Submenu */
	.main-nav-container .sub-menu li a:hover {
	}
	
	.main-nav-container .sub-menu a:hover {
		background: #ffffff !important;
		color: #0055ff !important
	}
	
	.main-nav-container .sub-menu li.current_page_item a {
		background: #0055ff;
		color: #fff
	}
	
	
	@media (max-width: 1150px) {
		
		.main-nav-container .sub-menu {
			display: block;
			opacity: 1 !important;
			position: relative  !important;
		}
		
		.menu-active .main-nav-container .sub-menu {
			pointer-events: all !important
		}
		
		
		.menu-primary-container .sub-menu li {
			margin: 0 0 20px 0 !important
		}
		
		.main-nav-container .sub-menu li a {
			display: inline-block;
			font-size: 1.4rem !important
		}
		
	}
	
	@media (max-width: 850px) {
	
		.post-thumb img {
		  width: 260px;
		  height: 250px;
		  object-fit: cover;
		}
		
	}
	
	
	@media (max-width: 750px) {
	
		.twentyfeet-custom-grid .inner-content {
			padding: 25px;
		}
		
		
	}
	
	@media (max-width: 550px) {
		.post-with-thumb .post-inner
		{
			display: block;
		}
		
		.post-with-thumb .post-inner.left .post-thumb {
			margin: 0
		}
		
		.post-thumb img {
			width: 100%;
			height: auto;
			object-fit: none
		}
		
		.post-content h2
		 {
			 font-size: 2.4rem
		 }
	}
	
	
	
	@media screen and (max-width: 600px) {
	  body.single .rhnst-module-stage h1 {
	    font-size: 2.2rem;
	  }
	}
	
	
