/* ---------- Misc ---------- */
body.navOpen,
body.qbOpen {
	position: relative;
	overflow: hidden;
}
img {
	display: block;
	width: 100%;
	height: auto;
}

/* ---------- Site Header ---------- */
.site-header {
	position: fixed;
	top: 0;
	right: 0;
	z-index: 1000;
}
body.isScrolledFar.isScrolledDown .site-header {
	position: absolute;
}
.site-header-inner {
	padding: 15px;
}
.site-header-content {
	width: 100%;
	margin: 0 auto;
	display: flex;
	height: 54px;
}
.logo-header {
	position: absolute;
	top: 0;
	left: 0;
	z-index: 1001;
}
.logo-header-inner {
	padding: 15px;
}
.logo-header-content {
	width: 100%;
	margin: 0 auto;
	display: flex;
	height: 54px;
}
.site-logo {
	margin: 0 auto 0 0;
	height: 54px;
}
.site-logo-inner {
	width: 100%;
	height: 54px;
}
.site-logo-content {
	width: 100%;
	height: 54px;
	display: flex;
	align-items: center;
	justify-content: center;
}
.site-logo-content a {
	display: block;
}
.site-logo-content img {
	width: auto;
	height: 20px;
}
.site-navigation {
	margin: 0 0 0 auto;
}
.site-navigation-content ul {
	list-style: none;
	list-style-type: none;
	display: flex;
}
#menu {
	display: none;
}
.menu-1 {
	color: #fff;
	font-size: 12px;
	height: 52px;
	border: 1px solid #fff;
	padding: 0 15px;
	background-color: rgba(0,0,0,0.08);
	font-weight: 500;
}
.menu-1 li {
	padding: 0 15px;
	height: 52px;
	display: flex;
	align-items: center;
	justify-content: center;
	text-transform: uppercase;
}
.menu-1 li.current_page_item a {
	color: #E5973D;
}
.menu-1 a:hover {
	color: #E5973D;
}
.menu-2 {
	display: flex;
	background-color: rgba(0,0,0,0.08);
}
.menu-2 a.button-square {
	width: 52px;
	height: 52px;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #E5973D;
	border-top: 1px solid #fff;
	border-bottom: 1px solid #fff;
	border-right: 1px solid #fff;
	border-left: none;
	font-weight: 500;
}
.menu-2 a:hover {
	color: #fff;
}
.menu-3 {
	color: #fff;
	font-size: 9px;
	text-transform: uppercase;
	margin-left: 15px;
	font-weight: 500;
}
.menu-trigger,
.quickbooker-close .qb-trigger {
	width: 52px;
	height: 52px;
	display: block;
	border: 1px solid #fff;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #E5973D;
}
#fs-menu {
	background-color: #F8F8F8;
	z-index: 1002;
	position: fixed;
	left: 100%;
	right: -100%;
	top: 0;
	bottom: 0;
	width: 100%;
	height: 100%;
	transition: all 0.2s ease-in-out;
	overflow: hidden;
}
#fs-menu .fs-menu-inner {
	width: 100%;
	height: 100%;
}
#fs-menu .fs-menu-content {
	display: flex;
	width: 100%;
	height: 100%;
	flex-direction: column;
}
#fs-menu .fs-menu-close > div {
	padding: 15px;
}
#fs-menu .fs-menu-close > div > div {
	width: 100%;
	margin: 0 auto;
	display: flex;
	height: 54px;
	justify-content: flex-end;
}
#fs-menu .fs-menu-2 {
	font-size: 9px;
	margin: 0;
	display: flex;
	justify-content: center;
	margin: 0 0 auto 0;
}
#fs-menu .fs-menu-2 ul {
	display: flex;
}
#fs-menu .fs-menu-2 li {
	display: inline-flex;
}
#fs-menu .fs-menu-2 li a {
	color: #A7A49F;
	text-transform: uppercase;
	font-weight: 700;
	padding: 0 .5em;
}
#fs-menu .fs-menu-2 li.wpml-ls-current-language a {
	color: #000;
	cursor: default;
}
#fs-menu .fs-menu-2 li::after {
	display: inline-flex;
	content: '·';
}
#fs-menu .fs-menu-2 li:last-child::after {
	content: '';
	display: none;
}
#fs-menu .fs-menu-3 {
	margin: auto 0;
	display: flex;
	justify-content: center;
	align-items: center;
}
#fs-menu .fs-menu-3 li {
	text-align: center;
}
#fs-menu .fs-menu-3 li a {
	line-height: 1.3;
}
#fs-menu .fs-menu-3 li.current_page_item a {
	color: #E5973D;
}
#fs-menu .fs-menu-3 ul {
	display: flex;
	flex-direction: column;
}
#fs-menu .fs-menu-4 {
	font-weight: 700;
	display: flex;
	justify-content: center;
	align-items: center;
	flex-direction: column;
	margin: auto 0 54px 0;
}
#fs-menu .fs-menu-3 a {
	text-align: center;
}
#fs-menu .fs-menu-2 a:hover,
#fs-menu .fs-menu-3 a:hover,
#fs-menu .fs-menu-4 a:hover {
	color: #E5973D;
}
body.navOpen #fs-menu {
	left: 0;
	right: 0;
}
@media only screen and (min-width: 800px) {
	.logo-header-inner,
	.site-header-inner {
		padding: 22.5px;
	}
	.site-logo-content img {
		height: 25px;
	}
}
@media only screen and (min-width: 1500px) {
	#fs-menu {
		display: none;
	}
	.logo-header-inner,
	.site-header-inner {
		padding: 30px;
	}
	.site-logo-content img {
		height: 30px;
	}
	#menu {
		display: flex;
	}
	.menu-trigger {
		display: none;
	}
}

/* ---------- Quickbooker ---------- */
#quickbooker {
	background-color: #F8F8F8;
	z-index: 1002;
	position: fixed;
	left: 100%;
	right: -100%;
	top: 0;
	bottom: 84px;
	transition: all 0.2s ease-in-out;
	overflow: hidden;
}
#quickbooker .quickbooker-inner {
	width: 100%;
	height: 100%;
}
#quickbooker .quickbooker-content {
	display: flex;
	width: 100%;
	height: 100%;
	flex-direction: column;
}
body.qbOpen #quickbooker {
	left: 0;
	right: 0;
}
#quickbooker .quickbooker-close > div {
	padding: 30px;
}
#quickbooker .quickbooker-close > div > div {
	width: 100%;
	margin: 0 auto;
	display: flex;
	height: 54px;
	justify-content: flex-end;
}
#quickbooker .controlLeft,
#quickbooker .controlRight {
	width: 52px;
	height: 52px;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #202020;
	border: 1px solid #202020;
	margin-top: 36.4px;
}
#quickbooker .controlLeft:hover,
#quickbooker .controlRight:hover {
	color: #E5973D;
}
#quickbooker .calendar {
	width: 100%;
	height: calc(100% - 188px);
	overflow: hidden;
	position: relative;
}
#quickbooker .calendar-inner {
	width: 100%;
	height: 100%;
}
#quickbooker .calendar-content {
	width: 100%;
	height: 100%;
	max-width: 1125px;
	margin: 0 auto;
}
#quickbooker .slider {
	width: 100%;
	height: 100%;
	overflow: hidden;
	display: flex;
	justify-content: center;
	align-items: center;
}
#quickbooker .slides {
	width: 960px;
	margin: auto 1em;
	overflow: hidden;
	position: relative;
	height: 484.4px;
}
#quickbooker .slides-inner {
	width: 5760px;
	display: flex;
	position: absolute;
	left: 0;
	top: 0;
	height: 484.4px;
}
#quickbooker .month {
	flex-grow: 0;
	flex-shrink: 0;
	width: 448px;
	margin: 0 16px;
	display: flex;
	flex-wrap: wrap;
}
#quickbooker .month-head {
	text-transform: uppercase;
	width: 448px;
	text-align: center;
}
#quickbooker .month-day {
	width: 64px;
	height: 64px;
	text-align: center;
	line-height: 64px;
	font-weight: 700;
	text-transform: uppercase;
	font-size: 12px;
}
#quickbooker .month-days,
#quickbooker .month-days-padding  {
	width: 64px;
	height: 64px;
	line-height: 64px;
	text-align: center;
	font-size: 28px;
	font-weight: 100;
}
#quickbooker .day-active, 
#quickbooker .day-inactive {
	cursor: pointer;
	background-image: none;
}
#quickbooker .day-active { 
 	background-size: 100%;
  	position: relative;
  	z-index: 100;
}	
#quickbooker .day-active:before {
	border-radius: inherit;
	content: '';    
	display: block;
	height: 100%;
	position: absolute;
	top: 0; left: 0;
	opacity: 0;
	width: 100%;
	z-index: -100;
	transition: all 0.2s ease-in-out 0s;
}  
#quickbooker .day-active:hover:before {
	opacity: 1;
}
#quickbooker .month-head,
#quickbooker .month-day,
#quickbooker .month-days {
	color: rgba(64,62,50,1);
}
#quickbooker .month-days-padding {
	color: rgba(64,62,50,.3);
}
#quickbooker .day-active {
	color: rgba(64,62,50,1);
}
#quickbooker .day-inactive {
	color: rgba(64,62,50,.6);
}
#quickbooker .day-active:hover {
	color: #fff;
}
#quickbooker .day-active:before,
#quickbooker .day-locked,
#quickbooker .day-locked-from,
#quickbooker .day-locked-to {
	color: #fff;
	background-color: #f2921d;
}

/* ---------- Site Footer ---------- */
.site-footer {
	width: 100%;
	z-index: 2;
	position: relative
}
.site-footer h4, 
.site-footer h5 {
	margin-bottom: 1em;
}
.site-footer .site-footer-inner {
	width: 100%;
}
.site-footer .site-footer-content {
	display: flex;
	flex-wrap: wrap;
}
.site-footer ul {
	list-style: none;
	list-style-type: none;
	display: flex;
	flex-direction: column;
}
.square {
	width: 100%;
	padding-bottom: 100%;
	position: relative;
	overflow: hidden;
}
.square-inner {
	position: absolute;
	width: 100%;
	height: 100%;
	left: 0;
	right: 0;
	top: 0;
	bottom: 0;
}
.mapbox {
	width: 100%;
	height: 100%;
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
}
.mapbox img.mapbox-bg {
	position: absolute;
	width: 100%;
	height: 100%;
	object-fit: cover;
	z-index: -1;
}
.mapbox img.mapbox-icon {
	width: 64px;
	height: 64px;
}
.infobox {
	padding: 50px 30px;
	background-color: #202020;
	color: #A7A49F;
}
.infobox h4,
.infobox .col-a a,
.infobox .col-b a {
	color: #fff;
}
.infobox .col-b h4 {
	display: none;
}
.infobox .col-b {
	margin: 1em 0 1.5em 0;
}
.infobox .col-b p {
	margin-top: 0;
}
.infobox .col-d {
	margin: 1.5em 0 0 0;
	color: #fff;
	font-weight: 700;
}
.jobbox {
	padding: 50px 30px;
	background-color: #333333;
	color: #fff;
}
.jobbox a {
	font-weight: 700;
}
.footerlogos {
	margin-top: 1.5em;
}
.footerlogos a {
	display: block;
	margin-bottom: 1.5em;
}
.footerlogos a:last-child {
	margin-bottom: 0;
}
.footerlogos img {
	width: 150px;
	height: auto;
	display: block;
}
.job-footer {
	position: fixed;
	width: 100%;
	left: 0;
	right: 0;
	bottom: 54px;
	z-index: 1;
}
.job-footer .job-footer-inner {
	width: 100%;
}
.job-footer .job-footer-content {
	display: flex;
	flex-wrap: wrap;
}
@media only screen and (min-width: 800px) {
	.infobox .col-b h4 {
		display: block;
	}
	.infobox .col-b {
		margin: 0;
	}
	.jobbox {
		padding: 55px 45px;
	}
	.infobox {
		padding: 55px 45px;
	}
}
@media only screen and (min-width: 1500px) {
	.mar1 {
		width: 100%;
		padding-bottom: 25%;
		position: relative;
		overflow: hidden;
	}
	.mar2 {
		position: absolute;
		width: 100%;
		height: 100%;
		left: 0;
		right: 0;
		top: 0;
		bottom: 0;
	}
	.job-footer {
		bottom: 84px;
	}
	.site-footer .row.isFixedL,
	.site-footer .row.isFixedL .row-inner {
		height: 100%;
	}
	.site-footer .row.isFixedL .row-content {
		width: calc(100% - 240px);
		height: calc(100% - 180px);
	}
	.jobbox {
		padding: 60px 60px;
		display: flex;
	}
	.jobbox p:first-child {
		margin: 0 auto 0 0;
	}
	.jobbox p:last-child {
		margin: auto 0 0 auto;
	}
	.infobox {
		padding: 90px 120px;
	}
	.infobox .col-c {
		position: relative;
	}
	.infobox .col-d {
		margin: 0;
	}
	.infobox .col-d .col-content {
		display: flex;
		justify-content: flex-end;
		align-items: flex-end;
	}	
	.footerlogos {
		position: absolute;
		left: 0;
		bottom: 0;
		display: flex;
		justify-content: center;
		align-items: center;
		left: 0;
		bottom: 0;
	}
	.footerlogos a {
		margin-bottom: 0;
		margin-right: 2em;
	}
	.footerlogos a:last-child {
		margin-right: 0;
	}
	p.isRightL {
		text-align: right;
		margin-bottom: 5px;
	}	
}

/* ---------- Sub Footer ---------- */
.sub-footer {
	position: fixed;
	bottom: 0;
	left: 0;
	right: 0;
	z-index: 2;
}
.sub-footer .cta {
	display: flex;
	height: 54px;
}
.sub-footer .cta-button {
	background-color: #E5973D;
	width: calc(100% - 158px);
	height: 54px;
	border: none;
	flex-shrink: 0;
	flex-grow: 0;
	padding: 0;
}
.sub-footer .cta-button-square {
	background-color: #F8F8F8;
	color: #E5973D;
	border-top: 1px solid #fff;
	border-bottom: 1px solid #fff;
	border-right: 1px solid #fff;
	border-left: none;
	flex-shrink: 0;
	flex-grow: 0;
}
.sub-footer .button-square:last-child {
	border-right: none;
}
.sub-footer .qb {
	height: 84px;
	display: none;
	background-color: #fff;
}
.sub-footer .qb-inner {
	padding: 15px 0;
}
.sub-footer .qb-content {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 54px;
}
.sub-footer .qb-content p {
	line-height: 54px;
}
.sub-footer .qb-content p.small {
	font-size: 12px;
	text-transform: uppercase;
	margin: 0 2em 0 0;
}
.sub-footer .qb-content p.large {
	margin: 0 2em 0 0;
}
.sub-footer .qb-content p:last-child {
	margin: 0;
}
@media only screen and (min-width: 1500px) {
	.sub-footer {
	}
	.sub-footer .cta {
		display: none;
	}
	.sub-footer .qb {
		display: block;
	}
}

/* ---------- Entry Header ---------- */
.entry-header {
	width: 100%;
	height: calc(100vh - 54px);
}
.entry-header .entry-header-inner {
	width: 100%;
	height: 100%;
}
.entry-header .entry-header-content {
	width: 100%;
	height: 100%;
}
.entry-header img {
	height: 100%;
	object-fit: cover;
	object-position: top;
}
@media only screen and (min-width: 1500px) {
	.entry-header {
		height: calc(100vh - 84px);
	}
}

/* ---------- Entry Content ---------- */
.site {
	position: relative;
}
.site-main {
	z-index: 2;
	position: relative;
	background-color: #fff;
}
section {
	width: 100%;
	opacity: 0;
	transition: all 1s ease-in-out;
}
.section-content {
	transition: all .6s ease-in-out;
}
section.isAboveViewport .section-content {
	transform: translateY(-10vh);
}
section.isUnderViewport .section-content {
	transform: translateY(10vh);
}
section.isVisible {
	opacity: 1;
}
section.isVisible .section-content {
	transform: translateY(0);
}
.row {
	width: 100%;
}
.row-inner {
	width: 100%;
}
.row-content {
	display: flex;
	flex-wrap: wrap;
}
.col {
	width: 100%;
	flex-grow: 0;
	flex-shrink: 0;
}
.col-2,
.col-3,
.col-6,
.col-12 {
	width: 100%;
}
.col-inner {
	width: 100%;
	height: 100%;
}
.col-content {
	width: 100%;
	height: 100%;
}
@media only screen and (min-width: 800px) {
	.col-2 {
		width: calc(100%/3);
	}
	.col-3 {
		width: 50%;
	}
	.col-6s {
		width: 50%;
	}
}
@media only screen and (min-width: 1500px) {
	.col-2 {
		width: calc(100%/6);
	}
	.col-3 {
		width: 25%;
	}
	.col-6 {
		width: 50%;
	}
}

/* ---------- Modul Features ---------- */
.entfernungen-mobile-inner,
.features-mobile-inner {
	padding: 50px 30px;
}
.entfernungen-desktop,
.features-desktop {
	display: none;
	height: 100%;
}
.marquee {
	--gap: 1px;
	position: relative;
	display: flex;
	overflow: hidden;
	user-select: none;
	gap: var(--gap);
}		
/* Pause on hover */
.marquee:hover .marquee__content {
	animation-play-state: paused !important;
}	
.marquee__content {
	flex-shrink: 0;
	display: flex;
	justify-content: space-around;
	gap: var(--gap);
	min-width: 100%;
}		
@keyframes scroll {
	from {
		transform: translateX(0);
	}
	to {
		transform: translateX(calc(-100% - var(--gap)));
	}
}		
/* Pause animation when reduced-motion is set */
@media (prefers-reduced-motion: reduce) {
	.marquee__content {
		animation-play-state: paused !important;
	}
}		
/* Enable animation */
.marquee__content {
}		
/* Reverse animation */
.marquee--reverse .marquee__content {
	animation-direction: reverse;
}		
/* Pause on hover */
.marquee--hover-pause:hover .marquee__content {
	animation-play-state: paused;
}		
/* Attempt to size parent based on content. Keep in mind that the parent width is equal to both content containers that stretch to fill the parent. */
.marquee--fit-content {
	max-width: fit-content;
}		
/* A fit-content sizing fix: Absolute position the duplicate container. This will set the size of the parent wrapper to a single child container. Shout out to Olavi's article that had this solution ðŸ‘ @link: https://olavihaapala.fi/2021/02/23/modern-marquee.html  */
.marquee--pos-absolute .marquee__content:last-child {
	position: absolute;
	top: 0;
	left: 0;
}		
/* Enable position absolute animation on the duplicate content (last-child) */
.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);
	}
}		
@media only screen and (min-width: 800px) {
	.entfernungen-desktop {
		position: relative;
		display: flex;
		align-items: center;
		height: 100%;
		padding: 0;
		flex-direction: column;
		justify-content: center;
	}
	.entfernungen-desktop h4 {
		position: absolute;
		top: 55px;
		text-align: center;
		margin: 0;
		width: 100%;
	}
	.features-desktop {
		display: block;
		padding: 55px 0 calc(55px + 2.3em) 0;
	}
	.entfernungen-mobile,
	.features-mobile {
		display: none;
	}
}
@media only screen and (min-width: 1500px) {
	.entfernungen-desktop h4 {
		top: 60px;
	}
	.features-desktop {
		position: relative;
		display: flex;
		align-items: center;
		height: 100%;
		padding: 0;
	}
	.features-desktop h4 {
		position: absolute;
		top: 60px;
		text-align: center;
		margin: 0;
		width: 100%;
	}
}

/* ---------- Modul Texteditor ---------- */
.modul-texteditor {
	background-color: #F8F8F8;
}
.modul-texteditor .textbox-inner {
	padding: 100px 30px;
}
.modul-texteditor .textbox-content {
	max-width: 1125px;
	margin: 0 auto;
}
@media only screen and (min-width: 800px) {
	.modul-texteditor .textbox-inner {
		padding: 125px 45px;
	}
}
@media only screen and (min-width: 1600px) {
	.modul-texteditor .textbox-inner {
		padding: 150px 60px;
	}
}

/* ---------- Modul Teaser ---------- */
.modul-teaser {
	background-color: #A7A49F;
}
.modul-teaser a.button {
	border-color: #fff;
	color: #fff;
}
.modul-teaser #teaser {
	width: 100%;
	height: calc(100vw + 100vh + 60px + 240vw);
}
.modul-teaser #scroller {
	position: fixed;
	top: 50px;
	bottom: 104px;
	left: 100vw;
	display: flex;
}
.modul-teaser .teaser-box {
	flex-shrink: 0;
	flex-grow: 0;
	height: 100%;
	width: 80vw;
	margin-left: 30px;
	position: relative;
}
.modul-teaser .teaser-box:first-child {
	margin-left: 0;
}
.modul-teaser .teaser-image {
	position: relative;
	overflow: hidden;
	width: 100%;
	height: 100%;
}
.modul-teaser .teaser-image-inner {
	position: absolute;
	width: 100%;
	height: 100%;
	left: 0;
	right: 0;
	top: 0;
	bottom: 0;
}
.modul-teaser .teaser-image-inner img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.modul-teaser .teaser-link {
	position: absolute;
	width: 100%;
	height: 100%;
	left: 0;
	right: 0;
	top: 0;
	bottom: 0;
	display: flex;
	align-items: center;
	justify-content: center;
}
.modul-teaser .teaser-link a:hover {
	color: #E5973D;
}
@media only screen and (min-width: 800px) {
	.modul-teaser #teaser {
		height: calc(100vw + 100vh + 90px + 180vw);
	}
	.modul-teaser #scroller {
		top: 55px;
		bottom: 109px;
	}
	.modul-teaser .teaser-box {
		margin-left: 45px;
		width: 60vw;
	}
}
@media only screen and (min-width: 1500px) {
	.modul-teaser #teaser {
		height: calc(100vw + 100vh + 120px + 120vw);
	}
	.modul-teaser #scroller {
		top: 60px;
		bottom: 144px;
	}
	.modul-teaser .teaser-box {
		margin-left: 60px;
		width: 40vw;
	}
}

/* ---------- Modul Bild/Text ---------- */
.modul-bild-text .textbox-inner {
	padding: 50px 30px;
}
.modul-bild-text img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	object-position: top center;
}
.modul-bild-text .textbox-content {
	max-width: 800px;
	margin: 0 auto;
}
@media only screen and (min-width: 800px) {
	.modul-bild-text .textbox {
		width: 100%;
		height: 100%;
		display: flex;
		align-items: center;
	}
	.modul-bild-text .bildbox {
		height: 80vh;
		overflow: hidden;
	}
	.modul-bild-text .textbox-inner {
		padding: 55px 90px;		
	}
	.modul-bild-text.hasLightGreyBackground .bildbox-inner,
	.modul-bild-text.hasOrangeBackground .bildbox-inner {
		padding: 55px 0 55px 45px;
		height: calc(100% - 110px);
	}
	.modul-bild-text.hasLightGreyBackground .bildbox-content,
	.modul-bild-text.hasOrangeBackground .bildbox-content {
		height: calc(80vh - 110px);
	}
	.modul-bild-text.hasWhiteBackground .bildbox-inner {
		padding: 0 0 55px 0;
		height: calc(100% - 55px);
	}
	.modul-slider-text.hasWhiteBackground .bildbox-content {
		height: calc(80vh - 55px);
	}
}
@media only screen and (min-width: 1500px) {
	.modul-bild-text .textbox-inner {
		padding: 60px 120px;
	}
	.modul-bild-text.hasLightGreyBackground .bildbox-inner,
	.modul-bild-text.hasOrangeBackground .bildbox-inner {
		padding: 60px 0 60px 60px;
		height: calc(100% - 120px);
	}
	.modul-bild-text.hasLightGreyBackground .bildbox-content,
	.modul-bild-text.hasOrangeBackground .bildbox-content {
		height: calc(80vh - 120px);
	}
	.modul-bild-text.hasWhiteBackground .bildbox-inner {
		padding: 0 0 60px 0;
		height: calc(100% - 60px);
	}
	.modul-slider-text.hasWhiteBackground .bildbox-content {
		height: calc(80vh - 60px);
	}
}

/* ---------- Modul Slider ---------- */
.modul-slider .slider {
	position: relative;
	height: 80vh;
	width: 100%;
	overflow: hidden;
	background-color: #fff;
}
.modul-slider .slides {
	height: 100%;
	display: flex;
}
.modul-slider .slide {
	height: 100%;
	flex-grow: 0;
	flex-shrink: 0;
}
.modul-slider .slide-inner {
	width: 100%;
	height: 100%;
}
.modul-slider .slide-content {
	width: 100%;
	height: 100%;
}
.modul-slider img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	object-position: center center;
}
.modul-slider .controls {
	position: absolute;
	display: flex;
	justify-content: flex-end;
	right: 30px;
	bottom: 50px;
}
.modul-slider .controlLeft,
.modul-slider .controlRight {
	width: 52px;
	height: 52px;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #202020;
	border: 1px solid #202020;
}
.modul-slider .controlRight {
	border-left: none;
}
.modul-slider .controlLeft:hover,
.modul-slider .controlRight:hover {
	color: #E5973D;
}
@media only screen and (min-width: 800px) {
	.modul-slider .controls {
		right: 45px;
		bottom: 55px;
	}
}
@media only screen and (min-width: 1500px) {
	.modul-slider .controls {
		right: 60px;
		bottom: 60px;
	}
}

/* ---------- Modul Slider/Text ---------- */
.modul-slider-text .textbox-inner {
	padding: 50px 30px;
}
.modul-slider-text .slider {
	position: relative;
	width: 100%;
	overflow: hidden;
}
.modul-slider-text .slides {
	height: 100%;
	display: flex;
}
.modul-slider-text .slide {
	height: 100%;
	flex-grow: 0;
	flex-shrink: 0;
}
.modul-slider-text .slide-inner {
	width: 100%;
	height: 100%;
}
.modul-slider-text .slide-content {
	width: 100%;
	height: 100%;
}
.modul-slider-text .slide img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.modul-slider-text .controls {
	display: flex;
	justify-content: flex-end;
	margin-top: 20px;
	margin-right: 30px;
}
.modul-slider-text .controlLeft,
.modul-slider-text .controlRight {
	width: 52px;
	height: 52px;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #202020;
	border: 1px solid #202020;
}
.modul-slider-text .controlRight {
	border-left: none;
}
.modul-slider-text .controlLeft:hover,
.modul-slider-text .controlRight:hover {
	color: #E5973D;
}
.modul-slider-text .textbox-content {
	max-width: 800px;
	margin: 0 auto;
}
@media only screen and (min-width: 800px) {
	.modul-slider-text .bildbox {
		height: 80vh;
		overflow: hidden;
	}
	.modul-slider-text .bildbox-content {
		width: 100%;
		height: 100%;
	}
	.modul-slider-text .controls {
		margin-top: 25px;
		margin-right: 0;
	}
	.modul-slider-text .textbox {
		width: 100%;
		height: 100%;
		display: flex;
		align-items: center;
	}
	.modul-slider-text .textbox-inner {
		padding: 55px 90px;		
	}
	.modul-slider-text.hasLightGreyBackground .bildbox-inner,
	.modul-slider-text.hasOrangeBackground .bildbox-inner {
		padding: 55px 0 55px 45px;
		height: calc(100% - 110px - 77px);
	}
	.modul-slider-text.hasLightGreyBackground .slide,
	.modul-slider-text.hasOrangeBackground .slide {
		height: calc(80vh - 110px - 77px);
	}
	.modul-slider-text.hasWhiteBackground .bildbox-inner {
		padding: 0 0 55px 0;
		height: calc(100% - 55px - 77px);
	}
	.modul-slider-text.hasWhiteBackground .slide {
		height: calc(80vh - 55px - 77px);
	}
}
@media only screen and (min-width: 1500px) {
	.modul-slider-text .controls {
		margin-top: 30px;
		margin-right: 0;
	}
	.modul-slider-text .textbox-inner {
		padding: 60px 120px;
	}
	.modul-slider-text.hasLightGreyBackground .bildbox-inner,
	.modul-slider-text.hasOrangeBackground .bildbox-inner {
		padding: 60px 0 60px 60px;
		height: calc(100% - 120px - 82px);
	}
	.modul-slider-text.hasLightGreyBackground .slide,
	.modul-slider-text.hasOrangeBackground .slide {
		height: calc(80vh - 120px - 82px);
	}
	.modul-slider-text.hasWhiteBackground .bildbox-inner {
		padding: 0 0 60px 0;
		height: calc(100% - 60px - 82px);
	}
	.modul-slider-text.hasWhiteBackground .slide {
		height: calc(80vh - 60px - 82px);
	}
}

/* ---------- Modul Zimmer ---------- */
.modul-zimmer .textbox-inner {
	padding: 50px 30px;
}
.modul-zimmer .slider {
	position: relative;
	width: 100%;
	overflow: hidden;
}
.modul-zimmer .slides {
	height: 100%;
	display: flex;
}
.modul-zimmer .slide {
	height: 100%;
	flex-grow: 0;
	flex-shrink: 0;
}
.modul-zimmer .slide-inner {
	width: 100%;
	position: relative;
	padding-bottom: 100%;
}
.modul-zimmer .slide-content {
	width: 100%;
	height: 100%;
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	top: 0;
}
.modul-zimmer .slide img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.modul-zimmer .controls {
	display: flex;
	justify-content: flex-end;
	margin-top: 20px;
	margin-right: 30px;
}
.modul-zimmer .controlLeft,
.modul-zimmer .controlRight {
	width: 52px;
	height: 52px;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #202020;
	border: 1px solid #202020;
}
.modul-zimmer .controlRight {
	border-left: none;
}
.modul-zimmer .controlLeft:hover,
.modul-zimmer .controlRight:hover {
	color: #E5973D;
}
.modul-zimmer .textbox a:hover {
	color: #E5973D;
}
.modul-zimmer .textbox-content {
	max-width: 800px;
	margin: 0 auto;
}
@media only screen and (min-width: 800px) {
	.modul-zimmer .slide-inner {
		width: 100%;
		position: relative;
		padding-bottom: 0;
		height: 100%;
	}
	.modul-zimmer .slide-content {
		width: 100%;
		height: 100%;
		position: relative;
	}
	.modul-zimmer .bildbox {
		height: 80vh;
		overflow: hidden;
	}
	.modul-zimmer .bildbox-content {
		width: 100%;
		height: 100%;
	}
	.modul-zimmer .controls {
		margin-top: 25px;
		margin-right: 0;
	}
	.modul-zimmer .textbox {
		width: 100%;
		height: 100%;
		display: flex;
		align-items: center;
	}
	.modul-zimmer .textbox-inner {
		padding: 55px 90px;		
	}
	.modul-zimmer.hasLightGreyBackground .bildbox-inner,
	.modul-zimmer.hasOrangeBackground .bildbox-inner {
		padding: 55px 0 55px 45px;
		height: calc(100% - 110px - 77px);
	}
	.modul-zimmer.hasLightGreyBackground .slide,
	.modul-zimmer.hasOrangeBackground .slide {
		height: calc(80vh - 110px - 77px);
	}
	.modul-zimmer.hasWhiteBackground .bildbox-inner {
		padding: 0 0 55px 0;
		height: calc(100% - 55px - 77px);
	}
	.modul-zimmer.hasWhiteBackground .slide {
		height: calc(80vh - 55px - 77px);
	}
}
@media only screen and (min-width: 1500px) {
	.modul-zimmer .controls {
		margin-top: 30px;
		margin-right: 0;
	}
	.modul-zimmer .textbox-inner {
		padding: 60px 120px;
	}
	.modul-zimmer.hasLightGreyBackground .bildbox-inner,
	.modul-zimmer.hasOrangeBackground .bildbox-inner {
		padding: 60px 0 60px 60px;
		height: calc(100% - 120px - 82px);
	}
	.modul-zimmer.hasLightGreyBackground .slide,
	.modul-zimmer.hasOrangeBackground .slide {
		height: calc(80vh - 120px - 82px);
	}
	.modul-zimmer.hasWhiteBackground .bildbox-inner {
		padding: 0 0 60px 0;
		height: calc(100% - 60px - 82px);
	}
	.modul-zimmer.hasWhiteBackground .slide {
		height: calc(80vh - 60px - 82px);
	}
}

/* ---------- Modul Locations ---------- */
.modul-locations {
	background-color: #F5F5F5;
}
.modul-locations.hasMap {
	padding-bottom: 100px;
}
.modul-locations .wpgmza_map {
	height: 80vh !important;
}
.modul-locations .location-map-inner {
	width: 100%;
	height: 100%;
}
.modul-locations .location-map-content {
	width: 100%;
	height: 100%;
}
.modul-locations .textbox-inner {
	padding: 50px 30px;
}
.modul-locations .bildbox {
	width: 100%;
	max-width: 800px;
	margin: 0 0 0 auto;
}
.modul-locations .textbox-content {
	max-width: 800px;
	margin: 0 auto 0 0;
}
@media only screen and (min-width: 800px) {
	.modul-locations.hasLocation {
		padding-bottom: 45px;
	}
	.modul-locations.hasMap {
		padding-bottom: 120px;
	}
	.modul-locations .bildbox {
		overflow: hidden;
	}
	.modul-locations .bildbox-content {
		width: 100%;
		height: 100%;
	}
	.modul-locations .textbox {
		width: 100%;
		height: 100%;
		display: flex;
	}
	.modul-locations .textbox-inner {
		padding: 0 45px;		
	}
	.modul-locations.hasLightGreyBackground .bildbox-inner {
		padding: 0 0 0 45px;
	}
}
@media only screen and (min-width: 1500px) {
	.modul-locations.hasLocation {
		padding-bottom: 60px;
	}
	.modul-locations.hasMap {
		padding-bottom: 180px;
	}
	.modul-locations .textbox-inner {
		padding: 0 60px;
	}
	.modul-locations.hasLightGreyBackground .bildbox-inner {
		padding: 0 0 0 60px;
	}
}