/* roboto-regular - latin */
@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+ */
}

/* roboto-700 - latin */
@font-face {
	font-family: 'Roboto';
	font-style: normal;
	font-weight: 700;
	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
{
	--swiper-theme-color: white;
}

html,body
{
	margin:0;
	padding:0;
	font-family: 'Roboto', sans-serif;
	color:rgb(65, 65, 64);
}

body
{
	position:relative;
}



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


header
{
	position: -webkit-sticky;
	position: sticky;
	top:0px;
	background:white;
	text-align: center;
	padding: .5em 1em;
	box-shadow: 1px 1px 10px 0px rgba(50, 50, 50, .33);
	z-index:1002;
	box-sizing: border-box;
}


header .center
{
	position:relative;
	display: grid;
	grid-template-columns: 2fr 5fr 2fr;
	align-items: center;
	gap: 1em;
}

header .logo
{
	display:inline-block;
}

header .logo svg
{
	transition: width .2s ease-out 0s;
	width:10em;
}

.scrolled header .logo svg
{
	width:5em;
}

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


body:not(.scrolled) nav
{
	display:block;
}


.scrolled header nav
{
	display: none;
	overflow-x: hidden;
	overflow-y: auto;
	position: fixed;
	top: 81px;
	right: -1em;
	width:0px;
	background:rgba(204, 204, 204, .9);
	min-height: 100vh;
	margin: 0;
}

.scrolled header.open nav
{
	display:block;
	width: 100%;
	max-width: 30em;
}

.scrolled header nav ul
{
	display: flex;
	flex-direction: column;
	gap: 2em;
	margin: 3em 0;
}

.scrolled header nav li
{
	display: block;
	text-align: left;
	font-size: 2em;
}


.nav-toggle
{
	display:none;
	font-size:.75em;
	position:absolute;
	right:0;
	top:0;
	padding:0;
	cursor:pointer;
	background:none;
	-webkit-transition: .5s ease-in-out;
	transition: .5s ease-in-out;
	width:4em;
	height:4em;
	border:none;
	margin:1em;
}

.nav-toggle:focus
{
	outline: none;
}

.nav-toggle span
{
	display: block;
	position: absolute;
	height: .3em;
	width: 100%;
	background: rgb(98,112,88);
	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: calc(50% - 1em); }
.nav-toggle span:nth-child(2),.nav-toggle span:nth-child(3) { top: 50%; }
.nav-toggle span:nth-child(4) { top: calc(50% + 1em);}
.nav-toggle.open span:nth-child(1) { top: calc(50% - 1em); width: 0%; left: 50%;}
.nav-toggle.open span:nth-child(2) {  -webkit-transform: rotate(45deg); -ms-transform: rotate(45deg); transform: rotate(45deg); }
.nav-toggle.open span:nth-child(3) { -webkit-transform: rotate(-45deg);-ms-transform: rotate(-45deg);transform: rotate(-45deg); }
.nav-toggle.open span:nth-child(4) {top: calc(50% + 1em); width: 0%; left: 50%; }


nav ul
{
	margin:0;
	padding:0;
}

nav li
{
	display:inline-block;
}

nav.main
{
	margin: 1em 0 0em 0;
}


nav.main a
{
	color:rgb(98,112,88);
	display:block;
	margin:.5em 1em;
	font-size: larger;
	font-weight: bold;
	text-transform: uppercase;

}

nav.main a:hover,
nav.main a.active
{
	text-decoration:underline;
}

.kontakt .contact-cta {
	display: none;
}

.contact-cta
{
	position: fixed;
	bottom: 5vh;
	right:5vw;
	z-index: 2000;
	transition: all .2s ease-in-out;
	box-shadow: 1px 1px 10px 0px black;
}

.contact-cta .wrapper
{
	max-width: 30em;
	background: white;
	color: var(--text-color);
	padding:1em;
	position:relative;
}

.contact-cta .content {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 2fr);
	align-items: center;
	gap: 1em;
}

.contact-cta h2
{
	margin-top: 0;
}

.contact-cta .typo
{
	margin: 0;
}

.contact-cta .contact-person {
	width: 100%;
	border-radius: 50%;
	display: block;
	justify-self: center;
}

.contact-cta .close
{
	position: absolute;
	width: 1.4em;
	height: 1.4em;
	line-height: 1.4em;
	color: var(--text-color);
	top: 0;
	right: 0;
	font-size: 2em;
	text-align:center;
	cursor: pointer;
	transition: all .2s ease-in-out;
}

.contact-cta .close:hover {
	background: color-mix(in srgb, rgb(98,112,88) 30%, white);
}

.contact-cta .typo a {
	text-decoration: none;
}

.contact-cta .typo a.button {
	float: none;
}

.contact-cta .button-container {
	text-align: center;
}


.cycle-slideshow img,
.cycle-slideshow .slide
{
	display:block;
	width:100%;
}


.swiper-slide .legend,
.cycle-slideshow .slide .legend,
.videobig .legend
{
	position: absolute;
	left: 0px;
	bottom: 0px;
	z-index: 1000;
	background: rgba(255,255,255,.6);
	color: #000000;
	padding: .25em .5em;
	font-size: .75em;
	text-decoration: none;
}



.swiper-slide img
{
	width: 100%;
}


.intro header
{
	position: fixed;
	left:0px;
	right: 0px;
}

 main > .intro.slideshow .cycle-slideshow img
{
	height:100vh;
	object-fit: cover;
	object-position: center ;
}

.cycle-prev,
.cycle-next
{
	position:absolute;
	top:0px;
	bottom:0px;
	display:flex;
	align-items: center;
	z-index:600;
	font-size:4em;
	color:white;
	padding:1.5rem;
	transition:opacity .5s linear;
	cursor:pointer;
}

.cycle-next
{
	right:0px;
	left:auto;
}

.cycle-caption
{
	margin-top:1em;
	line-height:1.4em;
}

h1
{
	font-weight:bold;
	font-size:2em;
	color:rgb(98,112,88);
	text-align: center;	
}

h2
{
	font-size:1.4em;
	color:rgb(98,112,88);
	font-weight:400;
}

.row .col > h2
{
	margin-top: 1em;
}

.consent-preferences h2
{
	font-size:1.3em;
	text-transform: none;
	font-weight: normal;
}


h3
{
	font-size:1em;
	font-weight: normal;
	text-transform: uppercase;
}

.typo
{
	margin:1em 0;
	font-size: 1.1em;
	line-height:1.4em;
}

.typo a
{
	text-decoration: underline;
}

.typo a.button
{
	text-decoration: none;
	display:inline-block;
	float: right;
}
.typo::after
{
	display: block;
	content:'';
	clear: both;
}


.mobiletable
{
	width: 100%;
	max-width:650px;
}

.mobiletable tr td:first-child
{
	width: 225px;
}

main > h1,
main > h2,
main > .typo,
main > .slideshow.inner,
main > .box,
main > .pricelist,
main > .downloads,
main > .links,
main > .video,
main > .vtour
{
	display:block;
	max-width:100%;
	width:60rem;
	padding:0 1.5rem;
	margin-left:auto;
	margin-right:auto;
	box-sizing:border-box;
}




main > h1:first-child
{
	margin-top: 3rem;
}


main > .intro-vtour{
	width: 100%;
	padding: 0px;
}

.intro-vtour .responsive
{
	position: relative;
	height:80vh;
	padding: 0px;
	overflow: hidden;	
}

main > .typo,
main > .slideshow,
main > .downloads,
main > video,
main > .video
{
	margin-bottom: 2.5em;
}

main > .typo + .slideshow,
main > .typo + .video,
main > .slideshow +.typo,
main > .typo + .pricelist
{
	margin-top:-2em;
}


main > .typo + .vtour
{
	margin-bottom: 2.5em;
}

main > .box
{
	width:50rem;
	margin: 3em auto 4em auto;
}

main > .box:nth-child(even) .row
{
	flex-direction: row-reverse;
}

main > .box:nth-child(even) .col:first-child
{
	padding-left:2em;
}

main > .box:nth-child(odd) .col:first-child
{
	padding-right:2em;
}

main > .box img,main > .box video
{
	width:100%;
}

#iso
{
	height:44vh;
	max-height: 400px;
	padding-bottom:1em;
}



#iso svg .level
{
	transition: all .6s ease;
	-webkit-transition: all .6s ease;
	-ms-transition: all .6s ease;
}


.pricelist table,
.downloads table
{
	border-collapse: collapse;
	width:100%;
}

.pricelist th,
.pricelist td,
.downloads td
{
	padding:.5em 1em;
}

.pricelist th
{
	text-transform: uppercase;
	font-weight: normal;
	font-size:smaller;
}

/*.pricelist table tbody tr,*/
.downloads table tbody tr,.pricelist table tbody tr
{
	cursor: pointer;
}

.pricelist table tbody tr:nth-child(odd),
.downloads table tbody tr:nth-child(odd)
{
	background:#ececeb;
}

.pricelist table tbody tr.on,.downloads table tbody tr:hover 
{
	background:rgb(98,112,88);
	color:white;
}

.pricelist .sticky
{
	position: -webkit-sticky;
	position: sticky;
	top: 4.9em;
	background:white;
	border-bottom:1px solid rgb(98,112,88);
}


.price
{
	display: inline-block;
	min-width: 80px;
}

.links
{
	list-style-type: none;
	text-align:center;
	display:flex;
	justify-content: center;
	flex-wrap: wrap;
}

.links li
{
	width:14em;
	padding:1em;
	box-sizing: border-box;
}

.links img
{
	box-shadow: 2px 2px 6px 2px rgba(55, 55, 55, 0.5);
	margin-bottom:.5em;
}

footer
{
	text-align:center;
	padding:1em 1em 6em 1em;
	color:black;
}

footer nav
{
	margin: 1em 0;
}

footer nav li::after 
{
	content: "|"; 
}

footer nav li:last-child::after
{
	display:none; 
}

footer address 
{
	font-style: normal;
}

footer .logo
{
	margin:1em;
	display:inline-block;
}

footer .logo img
{
	width:8em;
	height:5.3em;
}

.popup,
.fancybox__content
{
	width:60em;
	max-width:100%;
}

.fancybox__content
{
	padding: 2em;
}

.personen .person 
{
	margin: 0 0 2em 0;
}

.personen .person img
{
	width: 100%;
	margin: 0 0 .5em 0;
}

.contact .typo
{
	margin: 0 0 2em 0;
}


.row
{
	display:flex;
	justify-content: space-between;
}

.row .col
{
	width:calc(50%);
	box-sizing:border-box;
}

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

.box .row
{
	align-items: center;
}

form .row .col,
.personen.row .col
{
	width:calc(50% - .5em);
}

form .row .col,
form .input-group
{
	margin-bottom:1em;
}

form label
{
	display:block;
	font-size:smaller;
}

form label.inline
{
	white-space: nowrap;
	display:inline;
}

form input.error
{
	border-color:red;
}

form label.error
{
	color:red;
}

input[type=text],input[type=email],textarea,select
{
	width:100%;
}

input[type=text],input[type=email],textarea,select, button, a.button
{
	color:inherit;
	font-family: inherit;
	border:0px solid #004471;
	background:rgba(220, 215, 201,1);
	font-size:1em;
	padding:.5em;
	box-sizing:border-box;
	border-radius: 0;

}

select
{
	display: block;
	-moz-appearance: none;
	-webkit-appearance: none;
	appearance: none;
}

select::-ms-expand 
{
	display: none;
}

textarea
{
	height:6em;
}

input:focus,
select:focus,
textarea:focus,
button:focus 
{
	outline: none;
}

button,
a.button
{
	padding:.5em 1em;
	transition: .5s ease;
	font-size:1em;

	background:rgba(220, 215, 201,1);
	border:0px;
	color:rgb(98,112,88);
	line-height: 1.1em;

}

button:not(.carousel__button):not(.nav-toggle)::before,
a.button::before
{
	font-family: "Font Awesome 5 Pro";
	font-weight: 700;
	content: "\f45c";
	font-size: 80%;
	vertical-align: top;
	margin-right:.75em;
}

button:not(.nav-toggle):hover,
button.primary,
a.button:hover
{
	background:rgb(98,112,88);
	color:white;
	cursor: pointer;
}


button.secondary::before
{
	content: "";
	margin-right:0;
}


.select-wrapper
{
	position:relative;
}

.select-wrapper::after
{
	font-family: "Font Awesome 5 Pro";
	content: "\f107";
	font-weight: 300;
	display:flex;
	align-items:center;
	justify-content:center;
	position:absolute;
	right:0px;
	top:0px;
	bottom:0px;
	width:2em;
	pointer-events: none;
}

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

.mail
{
	color: red;
	padding: 3em;
	display: block;
	text-align: center;
	border: 1px dashed red;
}

.mail.success
{
	color: rgb(98,112,88);
	border-color: rgb(98,112,88);
}




.videocrop,
.video > video
{
	width:100%;
	display:block;
}

.videocrop
{
	margin-top: -17%;
}

.videobig
{
	position: relative;
}

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

.videobig video.mobile
{
	display: none;
}

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

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

.responsive100 {
	position: relative;
	padding-bottom: 100%;
	padding-top: 0px;
	height: 0;
	overflow: hidden;
	margin: 0 auto;
}

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


div.vogel
{
	display:none;
}

div.vogel.active
{
	display:block;
}

audio
{
	max-width:100%;
}

#voegel svg
{
	height:376px;
	overflow:hidden;
}

#voegel .vogel
{
	cursor:pointer;
}

.map .point.bounce2:not(:hover)
{
	-webkit-animation-name: bounce;
	animation-name: bounce;
	-webkit-transform-origin: center bottom;
	transform-origin: center bottom;
}

.badge 
{
	border: 1px solid red;
	color: red;
	font-size: 1.2em;
	font-weight: bold;
	right: 2em;
	margin-top: -1.4em;
	padding: 0.5em;
	position: absolute;
	left: auto;
	top: 25%;
	text-align: center;
	text-transform: uppercase;
}

.scrolled .badge 
{
	display: none;
}


.wappen
{
	margin: 0 2em 0em 0; 
	float: left;
	width: 130px;
}

@keyframes bounce {
  from,
  20%,
  53%,
  to {
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    transform: translate3d(0, 0, 0);
  }

  40%,
  43% {
    animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    transform: translate3d(0, -30px, 0) scaleY(1.1);
  }

  70% {
    animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    transform: translate3d(0, -15px, 0) scaleY(1.05);
  }

  80% {
    transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    transform: translate3d(0, 0, 0) scaleY(0.95);
  }

  90% {
    transform: translate3d(0, -4px, 0) scaleY(1.02);
  }
}

main > .map.inner
{
	width:100rem;
}

.map .point
{
	position:absolute;
	margin-top:-1em;
	margin-left:-.5em;
	text-align:center;
	cursor:pointer;
	font-size:2.5em;
	width:1em;
	height:1em;
	z-index:101;
	background:url("../images/point.png") center center/contain;
}

.map .popover
{
	position:absolute;
	display:none;
	background:white;
	padding:.5em;
	bottom:1.25em;
	width:8em;
	box-sizing:border-box;
	margin-left:-3.7em;
	box-shadow: 1px 1px 10px 0px rgba(50, 50, 50, .33);
}

.map .popover h2
{
	font-size:1rem;
}

.map i
{
	color:white;
	text-shadow: 2px 2px 2px #000000;
	z-index:101;
	transform-origin:50% 100%;
}

.map .point:hover
{
	z-index:200;
}

.map .point:hover i
{
	transform:scale(1.3);
	transition:transform .25s ease;
}

.map .point:hover .popover
{
	display:block;
}



.wuerfel
{
	width: 10vw;
	height: 10vw;
	background: url('../images/wuerfel.svg') no-repeat center center;
	background-size: contain;
	animation: fly 50s linear infinite;
	top: 0;
	left: 0;
	transform: translateX(-120%) translateY(-120%) rotateZ(0);
	position: fixed;
	animation-delay: 1s;
	z-index: 999999;
	cursor: pointer;
}

.wuerfel.off
{
	display: none;
}


@keyframes fly {

	98.001%, 0% {
		display: block;
		transform: translateX(-200%) translateY(100vh) rotateZ(0deg)
	}

	15% {
		transform: translateX(100vw) translateY(-100%) rotateZ(180deg)
	}

	15.001%, 18% {
		transform: translateX(100vw) translateY(-30%) rotateZ(0deg)
	}

	40% {
		transform: translateX(-200%) translateY(3vh) rotateZ(-180deg)
	}

	40.001%, 43% {
		transform: translateX(-200%) translateY(-100%) rotateZ(-180deg)
	}

	65% {
		transform: translateX(100vw) translateY(50vh) rotateZ(0deg)
	}

	65.001%, 68% {
		transform: translateX(20vw) translateY(-200%) rotateZ(180deg)
	}

	95% {
		transform: translateX(10vw) translateY(100vh) rotateZ(0deg)
	}
}







.wuerfel2
{
	width: 10vw;
	height: 10vw;
	background: url('../images/wuerfel.svg') no-repeat center center;
	background-size: contain;
	animation: fly2 20s linear infinite;
	top: -20vh;
	left: 0;
	transform: translateY(-20vh) rotateZ(0);
	position: fixed;
	animation-delay: 1s;
	z-index: 900;
	cursor: pointer;
}

.wuerfel2.off
{
	display: none;
}


@keyframes fly2 
{
 	0%, 100% {transform: translateY(0vh) translateX(5vw)}
 	
 	50% {transform: translateY(120vh) rotateZ(180deg)}
 	50.001% {transform: translateY(-120vh) translateX(85vw)}
 	
 	99% {transform: translateY(120vh) translateX(85vw) rotateZ(180deg)}
 	99.001% {transform: translateY(-120vh) translateX(85vw)}
}




.newsletter
{
	margin: 2em auto;
	max-width: 57rem;
	background: #055A8D;
	padding: 1.5em 2em;
	box-sizing: border-box;
	color: #FFFFFF;
}

.newsletter h2
{
	color: #FFFFFF;
	margin-top: 0px;
}

.newsletter #mc_embed_signup form 
{
	display:block; 
	position:relative; 
	text-align:left; 
	padding: 0;
}

.newsletter #mc_embed_signup .mc-field-group 
{
	padding-bottom:0; 
	min-height: auto;
	width: 100%;
}

.newsletter #mc_embed_signup input
{
	background-color: transparent;
	border: 0px;
	border-radius: 0px;
	border-bottom: 1px solid #FFF !important;
}

.newsletter #mc_embed_signup_scroll,
.newsletter .submitarea
{
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	gap: 2em;
}

.newsletter #mc-embedded-subscribe
{
	background: rgba(255,255,255,0.1);
	padding: 8px;
	margin: 1.5em auto 0em auto;
	min-height: auto;
	text-align: center;
	border: 0px;
	font-weight: bold;
	border-bottom: 1px solid white;
	 border: 0px; 
	width: 100%;
	box-sizing: border-box;
}

.newsletter #mc-embedded-subscribe:hover
{
	background: rgba(255,255,255,0.2);
}

.newsletter #mc-embedded-subscribe::before {
	font-family: "Font Awesome 5 Pro";
	font-weight: 700;
	content: "\f45c";
	font-size: 80%;
	vertical-align: top;
	margin-right: .75em;
}

.newsletter #mc_embed_signup #mc-embedded-subscribe-form input.mce_inline_error 
{
	border:0px;
}

.newsletter #mc_embed_signup div#mce-responses 
{
	float:none; 
	top: auto; 
	padding: 0; 
	overflow:hidden; 
	width: 100%; 
	margin: 0; 
	clear: both;
	background: white;
}

.newsletter #mc_embed_signup div.response 
{
	margin: 0; 
	padding:1em ; 
	font-weight:bold; 
	text-align: center;
	float:none; 
	top: auto; 
	z-index:1; 
	width: 100%;
	box-sizing: border-box;
	margin: 0 0; 
	border-top: 1em solid #055A8D;
}




.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:1002;
	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;
}

.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;
}

.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;
}

.consent-links
{
	gap:.5em;
	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;
}

.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;
}

.hidden
{
	display:none;
}

.hidden-soft {
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
}

 .links.consent-buttons,
 .consent-settings .links 
 {
 	justify-content: start;
 }


 .links.consent-buttons .items,
 .consent-settings .links .items
{
	
	display: flex;
	flex-wrap: wrap;
	gap: .5em;
}

.consent-preferences
{
	margin: 1em 0;
}


@media (max-width:1700px)
{	

	.badge 
	{
		font-size: 1em;
	}

}

@media (max-width:1400px)
{	

	.badge 
	{
		font-size: .85em;
	}

}

@media (max-width:1000px)
{	
	header
	{
		text-align:center;
	}

	header .logo
	{
		margin-left:0px;
	}

	header .logo
	{
		padding:0;
	}

	header .logo svg
	{
		width:5em;
	}
	
	
	 header nav.main
	{
		display: none;
		overflow-x: hidden;
		overflow-y: auto;
		position: fixed;
		top: 81px;
		right: -1em;
		width:0px;
		background:rgba(204, 204, 204, .9);
		min-height: 100vh;
		margin: 0;
	}
	
	.scrolled header.open nav.main,
	header.open nav.main
	{
		display:block;
		width: 100%;
		max-width: 100%;
		right: 0;
	}
	
	
	 header nav ul,
	.scrolled header nav ul
	{
		display: flex;
		flex-direction: column;
		gap: 1em;
		margin: 2em 0;
	}
	
	header nav li,
	.scrolled header nav li
	{
		display: block;
		text-align: left;
		font-size: 2em;
	}

	nav.main a
	{
		padding:.5em 1em;
		margin: 0;
		text-align: center;
		font-size: .8em;
	}
	
	
	.nav-toggle,
	.row.wrapmobile
	{
		display:block;
	}
	
	main > .box:nth-child(odd) .col:first-child,
	main > .box:nth-child(even) .col:first-child
	{
		padding:0;
	}
	

	
	.row.wrapmobile .col
	{
		width:auto;
	}
	
	.pricelist .sticky
	{
		top:5em;
	}
	
	.pricelist #iso
	{
		height:200px;
	}
	

	.badge 
	{
		font-size: .55em;
		right: 7.5em;
		background: white;
	}

}

@media (max-height:500px)
{
	.pricelist .sticky
	{
		position: static;
	}
}

@media (max-width:600px){
	
	
	h1
	{
		font-size: 1.6em;
	}
	
	.fancybox__content
	{
		padding: 1em;
	}
	
	
	.hide600
	{
		display:none;
	}
	
	main > h1, 
	main > h2, 
	main > .typo, 
	main > .slideshow.inner, 
	main > .box, 
	main > .pricelist, 
	main > .downloads,
	main > .vtour,
	main > .video
	{
		padding: 0 1rem;
	}
	
	main > .pricelist table
	{
		font-size:smaller;
	}
	
	.pricelist th, .pricelist td
	{
		padding: .5em;
	}
	
	.mobiletable
	{
		width: 100%; 
	}
	
	.mobiletable tr td
	{
		margin-bottom: .5em;
	}
	
	.mobiletable tr td:first-child
	{
		width: 100%;
		margin-bottom: 0em;
	}
	
	.mobiletable td { display: block; }
	
	.mobiletable tr { margin-bottom: .5em; }
	
	.cycle-slideshow .slide .legend
	{
		font-size: .5em;
	}
	
	.newsletter #mc_embed_signup_scroll,
	.newsletter .submitarea
	{
		display: grid;
		grid-template-columns: 1fr;
		gap: 2em;
	}
	
	.newsletter .submitarea
	{
		gap: 0em;
	}
	
	
	.wappen
	{
		display: block;
		float: none;
		max-width: 200px;
		margin: 0 auto;
	}
	
	
	.videobig video.mobile
	{
		width:100%;
		display:block;
	}
	
	.videobig video.desktop
	{
		display: none;
	}
		
		
	
	.swiper-slide .legend,
	.cycle-slideshow .slide .legend,
	.videobig .legend
	{
		font-size: .5em;
	}
		
	
}

@media(max-width:500px) {
	.contact-cta .contact-person {
		width: 10em;
	}

	.contact-cta .content {
		grid-template-columns: minmax(0, 1fr);
	}
}

@media (max-height:410px)
{
	nav.main a{
		font-size: 6vh;
	}
}

@media(max-width: 350px) {
	.contact-cta {
		left: 5vw;
	}
}