@import url("https://use.typekit.net/nfy0tbl.css");

@font-face {
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: local(''),
       url('https://static.immoserver.ch/fonts/google/roboto-v30-latin-300.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */
       url('https://static.immoserver.ch/fonts/google/roboto-v30-latin-300.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}

@font-face {
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: local(''),
       url('https://static.immoserver.ch/fonts/google/roboto-v30-latin-regular.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */
       url('https://static.immoserver.ch/fonts/google/roboto-v30-latin-regular.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}

@font-face {
  font-family: 'Roboto';
  font-style: normal;
  font-weight: bold;
  font-display: swap;
  src: local(''),
       url('https://static.immoserver.ch/fonts/google/roboto-v30-latin-700.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */
       url('https://static.immoserver.ch/fonts/google/roboto-v30-latin-700.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}

:root
{
	/*popup (.banner) hex code: #797365 */
	--text-color: black;
	--fancybox-content-color:var(--text-color);
	--theme-color: rgb(51, 51, 51);
	--nav-toggle-color:white;
	--hover-color: green;
	/*popup (.banner) farbe mit transparenz: */
	--popup-bg-color: rgba(121, 115, 101, 0.95);

	--odd-color: lightgrey;
	--margin-top-bottom:4em;
	--padding-left-right:2em;
	--element-gap:2.2em;
	--swiper-navigation-size: 	clamp(1.2em,5.5vw,5em);	
	--swiper-theme-color: white;
	--slide-logo-width:clamp(8em,16.8vw,204px);

	--is-iso-level-spacing:-200px;
	--is-iso-level-active-count:1;
	--is-iso-flat-active-filter-color: var(--theme-color);
}

body
{
	color:var(--text-color);
	font-family: 'Roboto', sans-serif;
	margin:0;
}

body.toggled
{
	overflow: hidden;
}

body.toggled header .wrapper
{
	overflow: auto;
	max-height: 100vh;

}

header
{
	position:sticky;
	background:white;
	top:0;
	z-index:100;
}

header .wrapper
{
	margin:auto;
	max-width: 80em;
	padding:1.5em var(--padding-left-right);
	box-sizing: border-box;
}

header .items
{
	display:flex;
}

header .logo img
{
	display:block;
	width:16em;
	height:6em;
	object-fit:contain;
}

header nav .navigation
{
	display:flex;
	justify-content: space-between;
	gap: 5em;
}

header .nav-toggle
{
	display: none;
	width: 40px;
	height: 38px;
	align-items: center;
	justify-content: center;
}

header .nav-toggle::after
{
	content: "\f0c9";
	display: block;
}

header.standalone-header {
	background: transparent;
	height: 0;
}

header.standalone-header .wrapper  {
	padding: 0 var(--padding-left-right);
	display: flex;
	justify-content: end;
}

.toggled header .nav-toggle::after
{
	content: "\f00d";
}

hr{
	border-color:black;
	border-width: 1px;
	margin:0;
	width: 100%;
}


.consent-cover
{
	position:absolute;
	width:100%;
	height:100%;
	background:rgba(0,0,0,.2);
	display:flex;
	justify-content: center;
	align-items:center;
}

.consent-cover .consent-message
{
	text-align:center;
}

.consent-cover-info
{
	display:flex;
	flex-direction:column;
	align-items: center;
	gap:.5em;
	padding:2em;
}

.consent-dialog
{
	position:sticky;
	bottom:0;
	background:white;
	z-index:200;
	box-shadow: 3px 3px 10px 0px rgb(50 50 50);
}

.consent-dialog .wrapper
{
	display:flex;
	flex-direction:column;
	gap:.5em;
	margin:auto;
	max-width:80em;
	padding:1em 2em;
	box-sizing: border-box;
}

.toggle-button
{
	font-size:1.4em;
	position:relative;
	width:2em;
	height:1em;
	background:gray;
	box-sizing:border-box;
	border-radius:.5em;
	transition:background .5s;
	cursor:pointer;
}

.toggle-button::after
{
	content:"";
	position:absolute;
	left:0;
	top:0;
	width:calc(1em - 4px);
	height:calc(1em - 4px);
	margin:2px;
	background:white;
	border-radius:.4em;
}

.toggle-button.active
{
	background:green;
}

.toggle-button.active::after
{
	right:0;
	left:auto;
}

a[consent-settings]
{
	cursor: pointer;
}

.fancybox__content.consent-settings,
.fancybox__slide.has-ajax section {
	padding: 2em 0 ;
}

.links.custom .items
{
	justify-content: center;
	gap:1em;
}

.links button.secondary
{
	background: white;
	color:black;
	border:1px solid black; 
}

.consent-settings .tab
{
	border-top:1px solid black;
}

.consent-settings .consent-preferences
{
	border-bottom: 1px solid black;
}

.consent-settings .tab .header
{
	display:flex;
	justify-content: space-between;
	align-items:center;
	gap:.5em;
	padding:.2em 0;
}

.consent-links
{
	gap:.8em;
	display:inline-flex;
	text-decoration: underline;
	flex-wrap: wrap;
}

.consent-settings .tab [data-toggle]
{
	cursor:pointer;
}


.consent-settings .tab [data-toggle] h2
{
	display: flex;
	gap:.5em;
	align-items: center;
	font-size:clamp(1.2em, 2vw,2em);
}

.consent-settings .tab [data-toggle] h2:before
{
	display: block;
	font: var(--fa-font-regular);
	content:"\f054"
}

.consent-settings .tab [data-toggle].active h2:before
{
	content:"\f078";
}


.consent-settings .tab .body
{
	padding-bottom: 1em;
}

.tab .body.toggled
{
	display:block;
}


footer 
{
	position: relative;
	bottom: 0;
	background:white;
	z-index: 190;
/* 	animation: footer-keyframes .2s ease-out;
	animation-play-state: paused;
	animation-delay: calc(var(--scroll)*-.5s);
	animation-iteration-count: 1;
	animation-fill-mode: forwards; */
}


@keyframes footer-keyframes {
	0% {
	   
		transform: translateY(100%);
	}

	100% {
		
		height: translateY(0%);
	}
	
}

footer .items
{
	display: flex;
	justify-content: space-between;
	gap:.5em;
}

ul
{
		padding-left:1.25em;
		margin-bottom: 0;
}

/* ul li::before {
	font-family: 'Font Awesome 6 Pro';
	content:"\f0c8";
	font-size: 1em;
	text-align: left;
	margin-left:-1.25em;
	padding-right: .5em;

} */


ul li {
	text-align: left;
	vertical-align: center;
}

footer .logo img
{
	display:block;
	width:clamp(4em,15vw,5.5em);
	margin:auto;
}

header nav a {
	font-size: 1.5em;
}

header nav a:after {
	content: '';
	position: relative;
	top: .4em;
	background-color: black;
	width: 100%;
	height: 4px;
	display: none;
}

header a.active:after,
header a:hover:after
{
	display: block;
}

a
{
	color:inherit;
	text-decoration: none;
}

.hidden
{
	display:none;
}

h1
{
	font-family: bely, serif;
	font-weight: 700;
	font-style: normal;
	font-size:clamp(1.8em, 5vw,3.4em);
	letter-spacing:.02em;
	margin:.5em 0 0 0;
	line-height: 1.1;
}

h2
{
	font-family: bely, serif;
	font-weight: 700;
	font-style: normal;
	font-size:clamp(1.4em, 4.6vw,3em);
	letter-spacing:.02em;
	margin:0;

}

.typo,.consent-settings .consent-links a 
{
	font-size: clamp(1.1em, 3vw,1.4em);
	line-height:1.8;
	font-weight:300;
}

.typo a{
	font-weight: bold;
	text-decoration: underline;
}

footer .wrapper
{
	margin:auto;
	max-width:80em;
	padding:1em var(--padding-left-right);
	box-sizing: border-box;
}


footer nav:last-child{
	justify-content: flex-end;
}
footer nav a
{
	font-weight: bold;
	text-transform: uppercase;
	
	font-size: clamp(.9em, 2vw,1em)
}


footer nav
{
	display:flex;
	gap: 2em;
	align-items: center;
	font-weight:300;
	justify-content: flex-start;
}



main .group > .wrapper
{
	max-width:80em;
	margin:auto;
}


section
{
	display: flex;
	flex-direction: column;
	gap:var(--element-gap);
	margin:var(--margin-top-bottom) 0;
	scroll-margin-top: calc(var(--header-height));
}

.group > .wrapper
{
	padding:0 var(--padding-left-right);
	display: flex;
	flex-direction: column;
	gap:var(--element-gap);
	box-sizing: border-box;
}

.standalone .entry {
	display: flex;
	flex-direction: column;
	gap:var(--element-gap);
}

.box,section.background
{
	padding:var(--margin-top-bottom) 0;

}
main > section > .slideshow:first-child
{
	
	margin-top: 0
}


.scroll-margin
{
	
	margin-top:0;
	scroll-margin-top: 0;
}
.group > .wrapper > :first-child,
.group > .wrapper > .title:first-child > .wrapper > h1,
.group > .wrapper > .subtitle:first-child > .wrapper > h2
{
	margin-top:0;
}

.group > .wrapper > :last-child,
.group > .wrapper > .title:last-child > .wrapper > h1,
.group > .wrapper > .subtitle:last-child > .wrapper > h2
{
	margin-bottom:0;
}



/*.group .element
{
	margin:2em 0;
}
*/
section.background
{
	color:white;
	display:flex;
	flex-direction: column;
	background-size:cover;
	justify-content: center;
	background-position: center;
	margin: 0px auto;
}

/* elements */
main > .blog:first-of-type > .wrapper
{
	padding-top: calc(var(--header-height) + 4em);
}

.blog .list
{
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	gap: var(--element-gap) 1.5em;
	margin: 0 auto 0 auto;
}

.blog .list .entry
{
	background: white;
	border: 1px solid black;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
}

.blog .list a:hover .image
{
	transform: scaleY(1.05);
}

.blog .list .entry .item
{
	padding: 1em;
}

.blog .list .entry .item > .typo {
	font-size: 1em;
}

.blog .list .entry h3
{
	margin-top: .25em;
}

.blog .list .entry .image
{
	height: 280px;
	background-size: cover;
	background-position: center center;
	transform-origin: bottom;
	transition: all .2s ease-in-out;
}

.blog .list .newsletter
{
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, .3fr);
	gap: 6em;
	grid-column: span 3;
	padding: 2em 6em 2em 1em;
	border: 1px solid black;
}

.blog .list .newsletter .col img {
	width: 100%;
	max-height: 250px;
	display: block;
	object-fit: contain;
}

.blog .list .newsletter .subtitle {
	margin-bottom: 1em;
}

.blog .list .newsletter .text.element {
	margin-bottom: var(--element-gap);
}

.contact.element {
	padding-bottom: 10em;
}

.appointment.button,
.blog .list .newsletter .button {
	background: lightgray;
	color: black;
	border-radius: 30px;
	font-weight: normal;
	text-transform: none;
	padding: .75em 2em;
}

.appointment.button {
	text-decoration: none;
	font-weight: bold;
	padding: .5em 1em;
}

.fancybox__content:has(main.standalone) {
	width: 80em;
}

.faq .items {
	display: flex;
	flex-direction: column;
	gap: var(--element-gap);
}

.faq h2:hover {
	cursor: pointer;
}

.faq h2:before {
	display: inline-block;
	font-family: 'Font Awesome 6 Pro';
	content: '\f054';
	font-weight: 1;
	margin-right: .7em;
	transition: all .15s ease-in-out;
}

.faq h2.active:before {
	transform: rotate(90deg);
}

.faq h2.active + .typo {
	display: flex;
}

.faq .typo {
	gap: 1.5em;
	flex-direction: column;
}

.faq .typo span {
	margin-left: 3em;
}

.grid-col-2 {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 2em;
}

.company-list .grid-col-2:not(:last-child) {
	margin-bottom: var(--element-gap);
}

.company-list {
	text-align: justify;
}

.company-list .image {
	box-sizing: border-box;
}

.company-list .border {
	padding: 2em;
	border: 1px solid #ccc;
}

.company-list .image img {
    width: 100%;
    aspect-ratio: 2;
    object-fit: contain;
	display: block;
}

.image img,
.images img
{
	display:block;
	width:100%;
}

.button-links .items {
	display:flex;
	gap: var(--element-gap) 3em;
	flex-wrap:wrap;
	justify-content: center;
}

.button-links .items a {
	text-decoration: none;
}

.button-links span {
	font-size: .9em;
	text-align: center;
}

.button-links .items .icon {
	display: grid;
	gap: 1em;
	grid-template-columns: auto;
	grid-template-rows: minmax(0, 1fr) minmax(0, .3fr);
	font-weight: 400;
	max-width: 10em;
	width: 100%;
}

.button-links .items .icon:hover {
	color: black;
}

.button-links .items .icon:hover > img {
	transform: scale(1.1);
}

.button-links .items .icon img {
	width: 100%;
	height: clamp(150px, 25vw, 250px);
	object-fit: contain;
	transition: all .2s ease-in-out;
}


.icon-container 
{
	position: relative;
}

.icon-container .icon-single
{
	position: absolute;
	top: calc(clamp(80px, 20vw, 300px) * -.6);
	right: clamp(.5em, 6vw, 8em);
	z-index: 1;
	display: flex;
	gap: 1em;
}

.icon-container .icon-single img {
	width: clamp(100px, 14vw, 280px);
}

/*Fix Grid fr unit*/


.swiper-button-next.swiper-button-disabled, .swiper-button-prev.swiper-button-disabled
{
	display:none;
}


.hideoverflow
{
	overflow: hidden;
}


section > .slideshow .vertical .swiper-wrapper{
	height: 100vh;
	height: 100dvh;
}

.slideshow .swiper.vertical:not(.inview)
{
	pointer-events: none;
}

.slideshow .swiper.vertical .legend .typo
{
	font-weight: normal;
	font-size: clamp(1em, 2.5vw,2em);
	line-height: 1.15;

}

.slideshow .swiper.vertical h1
{
	margin-top: 0em;
	font-size:clamp(1.8em, 4.3vw,4.3em);
}

.slideshow .swiper-slide > img:not(.logo)
{
	display:block;
	width:100%;
	height: 100%;
	max-height: 58em;
	object-fit: cover;
	object-position: center;
}

.slideshow .mikroplan .swiper-slide > iframe,.slideshow .mikroplan .swiper-slide > img{
	display:block;
	width:100%;
	height: clamp(300px,31vw,600px);
}

.mikroplan .consent-cover{
	position: absolute;
	height: clamp(300px,31vw,600px);
}

.slideshow .mikroplan .links
{
	display: flex;
	gap:1em;
	margin-top: 1em;
	flex-wrap: wrap;
}
.slideshow > .wrapper{
	position: relative;
}
.slideshow .logo
{
	position: absolute;
	top:2.3em;
	left:50%;
	width:var(--slide-logo-width);
	transform: translateX(-50%);
}

.standalone .slideshow .swiper-slide .overlay {
	display: none;
}

.standalone td strong {
	font-weight: bold;
}

.stoerer img
{
	display: block;
	width:100%;
}
.stoerer
{
	width:clamp(8em,20vw,18em);
	position: fixed;
	top:5em;
	right:3em;
	z-index: 192;
	pointer-events: none;
}


.banner
{
	padding: 1em;
	position: fixed;
	top: 20vh;
	right:0;
	left: 0;
	z-index: 192;
}

.banner.video {
	top: 10vh;
	z-index: 193;
}

.banner .wrapper
{
	max-width: 25em;
	margin: 0 auto;
	background: var(--popup-bg-color);
	color: white;
	padding:1.5em;
	position:relative;
}

.banner.video .wrapper {
	max-width: unset;
	width: fit-content;
}

.banner h2
{
	font-size: 2em;
	text-align: center;
}

.banner .typo
{
	line-height: 1.5em;
	text-align: center;
}

.banner.video video {
	max-height: 70vh;
}

.banner .close
{
	width: 1.4em;
	height: 1.4em;
	line-height: 1.4em;
	background:white;
	color: black;
	position: absolute;
	top: -.7em;
	left: -.4em;
	cursor: pointer;
	font-size: 2em;
	text-align:center;
	border-radius: 50%;
	box-shadow: 1px 1px 1px black;
}

.banner a {
	text-decoration: none;
}

.banner .button-container {
	text-align: center;
}

.banner li
{
	border-radius: 1.4em;
}

.banner li span
{
	padding:.25em;
}

.banner li span:first-child
{
	display:grid;
	place-items:center;
	border-radius: 50%;
	text-align:center;
	font-weight:bold;
	width: 2em;
	height: 2em;
	background:yellow;
	flex-shrink: 0;
}

.banner li span.done
{
	background:lightgreen;
}

.banner ul {
	margin-bottom: 1em;
}

.legend
{
	display:none;
}

.slideshow .swiper.vertical .swiper-slide .legend
{
	display: block;
	position: absolute;
	top:1em;
	left:17vw;
	z-index: 200;
	text-align: left;
	right:auto;
	bottom:auto;
	color:var(--text-color);
	
}

.slideshow .swiper.vertical .swiper-slide.bottom .legend
{
	bottom:2em;
	left:10vw;
	top:auto;
}
.slideshow .swiper.vertical .swiper-slide.middle .legend{

	top:50%;
	left:10vw;
	bottom:auto;
	pointer-events: none;
	transform: translateY(-50%);
}

.slideshow .swiper-slide > .legend
{
	position: absolute;
	bottom: 0; 
	left:0; 
	right:0;
	color:white;
	text-align:center;
	z-index:1;
	pointer-events: none;
	padding:2em;
}

.gallery .items
{
	display:grid;
	grid-template-columns: 1fr 1fr 1fr 1fr;
	gap:1em;
}

.gallery img
{
	display:block;
	width:100%;
}

.links .items
{
	display:flex;
	gap: .5em;
	flex-wrap:wrap;
}

.plan img
{
	display:block;
	width:100%;
	box-shadow: 0 0 2px 1px #ddd;
}

input,
select
{
	margin:0;
}

input[type=text],
input[type=email],
input[type=tel],
textarea,
main button,
select
{
	box-sizing:border-box;
	font:inherit;
	color:inherit;
}

input[type=text],
input[type=email],
input[type=tel],
textarea,
select
{
	display:block;
	width:100%;
	border:1px solid black;;
	padding: 0 .5em;
	border-radius: 0;
	color:black;
	background:white;
}

textarea {
	height: 150px;
}

input[type=checkbox],
input[type=radio]
{
	appearance:none;
	-webkit-appearance:none;
}

input[type=checkbox]:before,
input[type=checkbox]:after,
input[type=radio]:after
{
	font-family: 'Font Awesome 6 Pro';
	font-style: normal;
	font-weight: 900;
	font-size:2em;
	color:white;
}

input[type=checkbox]:before{
	content: "\f00c";
	font-size: 1.5em;
	color: rgba(0,0,0,0);
	outline: 1px solid black;
}
input[type=checkbox]:checked:before {
	color: rgba(0,0,0,1)
}

input[type=radio]:after{content:"\f111";}
input[type=radio]:checked:after{content: "\f192";}

.button,
main button,.links button 
{
	cursor:pointer;
	text-transform: uppercase;
	background:var(--theme-color);
	border:none;
	color:white;
	padding:1em;
	white-space: nowrap;
	display: inline-block;
	font-weight:normal;
	letter-spacing:.03em;
	
	transition: clip-path 1s;
	clip-path: polygon(0 0, 50% 0, 50% 0, 50% 0, 100% 0, 100% 100%, 0 100%);
	font-weight: bold;
}

.contact button {
	padding: 0 2em;
	text-transform: none;
	font-weight: normal;
}

.col-2 {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0 1em;
}

.button:hover,
main button:hover,
.mikroplan .button.active
{
	clip-path: polygon(0 0, calc(50% - .5em) 0, 50% .5em, calc(50% + .5em) 0%, 100% 0, 100% 100%, 0 100%);
}

select
{
	appearance:none;
}

.contact .address.typo {
	font-size: clamp(.7em, 3vw, 1.4em);
}

.contact .address.typo a {
	font-weight: 300;
	text-decoration: none;
}

.contact .form-group:not(:last-child)
{
	margin-bottom:1.2em;
}

.contact .form-split-1-3
{
	display:grid;
	gap:1em;
	grid-template-columns:1fr 3fr;
}

.contact .form-label
{
	display: block;
	padding-bottom: 0.1em;
}

.contact .form-warning
{
	color:red;
	display:block;
	width:100%;
	line-height: 1em;
	margin-top: .4em;
}

.contact .selectables .form-warning

.contact .form-invalid
{
	border-color:red;
}

.contact .form-interest-selection
{
	display:grid;
	grid-template-columns: 1fr 1fr;
	gap: 0 1em;
}

.contact .form-interest-selection [data-interest-type=radio]
{
	grid-column: 1 / span 2;
}

.contact .form .col-2 {
	grid-template-columns: 1fr 4fr;
}

.contact .event-form h1 {
	font-size: clamp(28.8px, 5vw, 54.4px);
	margin: 1em 0 0 0;
}

.contact .event-form .txt-after {
	margin: 1em 0;
}

.contact .selectables
{
	display:flex;
	flex-wrap:wrap;
	gap: 0 1em;
}

.contact .selectables > label
{
	display:flex;
	align-items: center;
	gap:.5em;
}

input[type=checkbox]:hover,
.contact .selectables > label:hover {
	cursor: pointer;
}

.contact input[name=Email_Address]{display:none;}

.contact .items
{
	display:grid;
	grid-template-columns: minmax(0, 8fr) minmax(0, 3fr);
	gap: 6em;
	margin:0;
}

.contact .items .person {
	margin-top: 0;
}

.contact .items .person img {
	display: block;
}

.contact .ajax-loading,
.contact .ajax-error,
.contact .mail.success,
.contact .mail.error
{
	
	background: green;
	padding:3em 1em;
	text-align:center;
	color:white;
}

.contact .ajax-error,
.contact .mail.error
{
	background:red;
}

.contact .ajax-form .ajax-loading,
.contact .ajax-form .ajax-result,
.contact .ajax-form .ajax-error,
.contact .ajax-form.ajax-state-loading form,
.contact .ajax-form.ajax-state-success form
{
	display:none;
}

.contact .ajax-form.ajax-state-loading .ajax-loading,
.contact .ajax-form.ajax-state-success .ajax-result,
.contact .ajax-form.ajax-state-error .ajax-error
{
	display:block;
}

.contact .info 
{
	display: flex;
	flex-direction: column;
	gap: var(--element-gap);
}

.responsive
{
	position: relative;
	padding-bottom: 56.25%;
	padding-top: 0px;
	height: 0;
	overflow: hidden;
}

.responsive iframe,.responsive > .consent-content
{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	border:0;
}

.vtour
{
	position: relative;
}

.vtour .button
{
	position:absolute;
	text-align:center;
	background:white;
	color:black;
	bottom:5em;
	left:50%;
	transform:translateX(-50%);
}

.video video
{
	display:block;
	width:100%;
}

.text-left
{
	text-align: left;
}

.text-center
{
	text-align: center;
}

.text-right
{
	text-align: right;
}

main .text:not(.center,.left)
{
	text-align: justify;
}

.fancybox__content
{
	padding:0;
	width:100% !important;
	max-width:60em;
}

html .fancybox__carousel .fancybox__slide.has-iframe .fancybox__content
{
	height: calc(100% - 2.6em) !important;

}

html .fancybox__carousel .fancybox__slide::before,
html .fancybox__carousel .fancybox__slide::after
{
	margin:0 0 2px 0;
}

.fancybox__slide.has-image .fancybox__content
{
	width: 100%;
}

.fancybox__slide.has-iframe .fancybox__content>.carousel__button.is-close
{
	top:-2.8em;
}

.icon::after,
.icon::before
{
	text-align: center;
	font: var(--fa-font-regular);
}

.vtour .responsive
{
	height:100vh;
	height:100dvh;
	padding:0;
}

.vtour.medium img
{
	width: 100%;
	max-width: 280px;
	margin:0px auto;
	padding:0;
}

.nav-toggle
{
	position: relative;
	top:0;
	bottom: 0;
	font-size:40px;
	padding:0;
	cursor:pointer;
	background:none;
	-webkit-transition: .5s ease-in-out;
	transition: .5s ease-in-out;
	width:40px;
	height: 40px;
	z-index: 900;
	border:0;
	color: black;
}

.nav-toggle span
{
	display: block;
	position: absolute;
	height: 4px;
	width: 100%;
	background: var(--nav-toggle-color);
	opacity: 1;
	left: 0;
	-webkit-transform: rotate(0deg);
	-ms-transform: rotate(0deg);
	transform: rotate(0deg);
	-webkit-transition: .25s ease-in-out;
	transition: .25s ease-in-out;
}

.nav-toggle span:nth-child(1) { top: 9px; }
.nav-toggle span:nth-child(2),
.nav-toggle span:nth-child(3) { top: 18px; }
.nav-toggle span:nth-child(4) { top: 27px;}
.toggled .nav-toggle span:nth-child(1) { top: 9px; width: 0%; left: 50%;}
.toggled .nav-toggle span:nth-child(2) { -webkit-transform: rotate(45deg); -ms-transform: rotate(45deg); transform: rotate(45deg); }
.toggled .nav-toggle span:nth-child(3) { -webkit-transform: rotate(-45deg); -ms-transform: rotate(-45deg); transform: rotate(-45deg); }
.toggled .nav-toggle span:nth-child(4) { top: 9px; width: 0%; left: 50%; }

.vtour .button
{
	letter-spacing:.03em;
	font-size:1.5em;
	font-weight:bold;
	text-transform: uppercase;
	padding: 1em;
	background:white;
}

.columns > .wrapper
{
	display:grid;
	grid-template-columns: 1fr 1fr;
	gap:3em;
}

.images + .columns, .columns + .columns,.person
{
	margin-top: 1.5em;
}

.columns .wrapper > * > .group > .wrapper
{
	padding:0;
}

.columns .typo
{
	margin-top:-.45em;
} 

.center
{
	text-align: center;
}

.person,
.company
{
	display: flex;
	flex-direction: column;
	gap: .5em;
}
.person h1{
	margin:0;
}
.person img
{
	width:100%;
}
.person .image
{
	max-width: 250px;
}

.company .logo img {
	max-width: 12em;
}

.person a
{
	display: flex;
	flex-direction: column;
	text-decoration: none;
	font-weight: lighter;
	gap:1.5em;
}
.box
{
	background:#D9D9D9;
}

@media(max-width:1240px) {
	.contact .form .form-group.selectables span {
		font-size: .75em;
	}	
	.stoerer
	{
		top:auto;
		right:var(--padding-left-right);
		bottom:7.5em;
	}

	header .wrapper {
		padding: .5em var(--padding-left-right);
	}

	header nav {
		display: block;
		text-align: center;
	}

	header nav a:after {
		height: 2px;
	}

	header .items .nav-toggle {
		display: block;
	}

	header nav .navigation {
		display: none;
	}

	header .items {
		justify-content: end;
		align-items: center;
	}

	body.toggled header nav .navigation {
		display: flex;
		flex-direction: column;
		gap: 1em;
		padding-bottom: 1em;
	}
}

@media(max-width:1190px)
{
	.slideshow .swiper.vertical .swiper-slide .legend{
		left:9vw;
		top:0;
	}
	.slideshow .swiper.vertical .swiper-slide.middle .legend{
	left:9vw;
	}
	.slideshow .swiper.vertical .swiper-slide.bottom .legend{
		bottom:1em;
		left:9vw;
	}

	.contact .items {
		grid-template-columns: 1fr;
		gap: var(--element-gap);
	}
}


@media(max-width:1000px)
{	
	header .logo
	{
		pointer-events:none;
	}

	.grid-col-2 {
		display: block;
	}
	.company-list .grid-col-2:not(:last-child) {
		margin-bottom: 3em;
	}

	.columns > .wrapper
	{
		display:flex;
		flex-direction: column;
	}

	.faq .typo {
		margin-left: 0;
	}

	.blog .list
	{
		grid-template-columns: 1fr 1fr;
	}
	
	.blog .list .newsletter
	{
		grid-column: span 1;
		grid-row: span 2;
		padding: 1em;
		grid-template-columns: 1fr;
	}

	footer
	{
		text-align:center;
		display:block;
	}
}
@media(max-width:760px){

	header
	{
		width: 100%;	
	}

	body.toggled header
	{
		left:0;
	}

	.contact .form-split2
	{
		grid-template-columns: 1fr;
	}

	.slideshow .swiper.vertical .swiper-slide .legend{
		left:10vw;
		top:0;
	}
	.slideshow .swiper.vertical .swiper-slide.bottom .legend{
		bottom:1em;
	}


	.slideshow > .wrapper{
		position: static;
	}

	
	.stoerer
	{
	
		bottom:6em;
	}

	.col-2 {
		grid-template-columns: 1fr;
		gap: 0 1.2em;
	}
}

@media(max-width:460px)
{
	.slideshow .mikroplan .links{
		display: flex;
		flex-direction: column;
	}

	.banner.no-video .close {
		margin: 0 1em;
	}
	
}

@media(max-width:660px)
{
	:root
	{
		--margin-top-bottom:3.2em;
		--element-gap:1.5em;
		--padding-left-right:1em;
	}

	.typo,.consent-settings .consent-links a 
	{
		line-height:1.6;
	}
	
	.banner .typo.text
	{
		font-size: .9em;
	}

	.slideshow .swiper.vertical .swiper-slide .legend{
		left:0em;
		top:0;
	}
	.slideshow .swiper.vertical .swiper-slide.bottom .legend{
		left:0em;
		bottom:0em;
	}
	.slideshow .swiper.vertical .swiper-slide.middle .legend{
		left:0;
	}
	
	.contact .form
	{
		font-size:inherit;
	}
	
	h1 br
	{
		display: none;
	}
	section
	{
		scroll-margin-top:3.2em;
	}

	.fancybox__slide.has-ajax .fancybox__content .typo
	{
		word-break: break-all;
	}
	
	.slideshow .logo
	{
		top:6em;
	}
}

@media(max-width:578px) {
	.fancybox__slide {
		padding-top: 40px;
	}
	.is-compact .fancybox__content>.f-button.is-close-btn {
		top: -38px;
	}
}

@media(max-width:520px) {
	.icon-container .icon-single {
		top: calc(clamp(80px, 20vw, 300px) * -1)
	}
}

@media(max-width: 500px) {
	main > .blog:first-of-type > .wrapper
	{
		padding-top: calc(var(--header-height) + 4em);
	}

	.blog .list
	{
		grid-template-columns: 1fr;
	}

	.blog .list .newsletter
	{
		grid-row: span 1;
		gap: 1em;
	}

	.banner .wrapper {
		padding: .8em;
		font-size: .8em;
	}

	.button-links .items {
		justify-content: center;
	}

	.contact .form .col-2 {
		grid-template-columns: 1fr;
		margin-bottom: 1.2em;
	}
}