/* manrope-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: 'Manrope';
	font-style: normal;
	font-weight: 400;
	src: url('https://static.immoserver.ch/fonts/google/manrope-v13-latin-regular.woff2') format('woff2'), /* Chrome 36+, Opera 23+, Firefox 39+ */
		 url('https://static.immoserver.ch/fonts/google/manrope-v13-latin-regular.woff') format('woff'); /* Chrome 5+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}

/* manrope-700 - 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: 'Manrope';
	font-style: normal;
	font-weight: 700;
	src: url('https://static.immoserver.ch/fonts/google/manrope-v13-latin-700.woff2') format('woff2'), /* Chrome 36+, Opera 23+, Firefox 39+ */
		 url('https://static.immoserver.ch/fonts/google/manrope-v13-latin-700.woff') format('woff'); /* Chrome 5+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}

/* manrope-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: 'Manrope';
	font-style: normal;
	font-weight: 800;
	src: url('https://static.immoserver.ch/fonts/google/manrope-v13-latin-800.woff2') format('woff2'), /* Chrome 36+, Opera 23+, Firefox 39+ */
		 url('https://static.immoserver.ch/fonts/google/manrope-v13-latin-800.woff') format('woff'); /* Chrome 5+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}

html
{
	font-family: 'Manrope', sans-serif;
	color: #1d1d1b;
}

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

.kundenversprechen
{
	display: flex;
	column-gap: 1em;
	margin-top: 1.5em;
}

.kvwidget
{
	width:100%;
	max-width:185px;
}

.kvwidget iframe.kv
{
	height: 180px;
	width: 151px;
	border: 0;
	overflow: hidden;
}

.guetesiegel
{
	width:100%;
	max-width:150px;
	display:block;
}

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



.workingsince
{
	background:#0f3f93;
	border:2px solid white;
	border-radius: 100%;
	width:8em;
	height:8em;
	text-align: center;
	display:flex;
	justify-content: center;
	align-items: center;
	position: absolute;
	right:-1.5em;
	bottom:-2em;
	transform:rotate(15deg);
	font-weight: 600;
}

.staffdetail .flexrow .col:first-child
{
	position: relative;
}
.center,
section > .typo,
section > h1,
section > h2,
section > h3
{
	margin-left:auto;
	margin-right:auto;
	max-width: 1200px;
	padding: 0px 2rem;
}

header .center,
.contactbox .center,
address .center
{
	max-width: 1400px;
}

header 
{
	position: sticky;
	top:0;
	background: #ffffff;
	padding: 20px 0px 20px 0px;
	box-sizing: border-box;
	z-index: 3000;
	transition: all .5s ease;
	-webkit-box-shadow: 0px 1px 5px 0px rgba(112,112,112,0.63);
	-moz-box-shadow: 0px 1px 5px 0px rgba(112,112,112,0.63);
	box-shadow: 0px 1px 5px 0px rgba(112,112,112,0.63);
}

header .center
{
	display:flex;
	align-items: flex-end;
	justify-content: space-between;
	position: relative;
	overflow: visible;
}

header .logo
{
	height:65px;
}

header nav a
{
	font-size: 1.4em;
	display: inline-block;
	text-decoration: none;
	color: #c0ae89;
	border-top: 5px solid #ffffff;
	margin: 30px 0px 0px 30px;
	font-weight:bold;
}

header nav a.on,
header nav a:hover,
header nav a.forceon
{
	color:#0f3f93;
}

header .quicklinks
{
	position: absolute;
	top: -20px;
	right: 20px;
}

header .quicklinks a
{
	font-size: 1.1em;
	font-weight:bold;
	background: #0f3f93;
	color: #FFFFFF;
	padding: .25em .75em;
	margin: 0px;
	white-space:nowrap;
	display:inline-block;
}

.headerimage 
{
	position: relative;
}

.headerimage img
{
	width: 100%;
}

.headerimage .title
{
	position: absolute;
	color:white;
	font-weight:bold;
	font-size: 168px;
	bottom: 5%;
	left: 0%;
	right: 0%;
	line-height:1em;
	z-index:101;
}

.headerimage .badge
{
	position: absolute;
	right: 5%;
	top: 5%;
	background:url(../images/schaetzung.png) center center/contain no-repeat;
	width: 15vw;
	height: 15vw;
	z-index:101;
	transition:transform .25s ease;
}

.headerimage .badge:hover
{
	transform:scale(1.1);
}

.headerimage .title span
{
	display: block;
	margin: 0 auto;
	padding: 10px 20px;
	max-width:1200px;
}

section .boxes
{
	margin:-2rem 0 0 0;
	display:grid;
	grid-template-columns: repeat(3,1fr);
	column-gap:4rem;
	box-sizing: border-box;
}

section.showcontent .boxes
{
	margin-top: 2rem;
	margin-bottom:2rem;
}

section .box
{
	width: 100%;
	padding:2rem 0;
}

section .boxes a
{
	position:relative;
	display: block;
	padding-top:70%;
	color: #ffffff;
	background: #0f3f93 center center/101% no-repeat;
	transition: all .5s ease;

}

section .boxes a .title
{
	position: absolute;
	bottom: 0;
	top:0;
	left: 0;
	right: 0;
	padding: 10px 5px;
	box-sizing: border-box;
	white-space: normal;
	font-size:1.8em;
	font-weight:bold;
	padding:.5em;
	display:flex;
	align-items:flex-end;
	justify-content: center;
	transition: all .5s ease;
}

section .boxes a:hover,
section .boxes a.on
{
	background-color:#c0ae89;
	background-size:110%;
}

section .boxes.small a .title
{
	color:#ccc;
	background:rgba(0,0,0,.5);
}

section .boxes.small a:hover .title,
section .boxes.small a.on .title
{
	color:white;
	background:none;
}

.content
{
	background: #FFFFFF;
	text-align: left;
	padding: 40px;
}

section h1
{
	color: #0f3f93;
	margin-top: 40px;
	margin-bottom: 20px;
	font-size: 45px;
	text-align:left;
}

h2
{
	text-align: left;
	color: #0f3f93;
	margin: 0px 0px 20px 0px;
	font-size: 35px;
}

h3
{
	font-size: 20px;
	color: #c0ae89;
}

h4,
h4 a
{
	color: #c0ae89;
}

h5
{
	color: #ffffff;
	background: #cfb079;
	font-size: 22px;
	padding: 5px 20px;	
	margin: 0px 0px 0px 0px;
}

.popup h1,
.popup h2,
.popup h3,
.fancybox__content h1,
.fancybox__content h2,
.fancybox__content h3,
.immodetail h3
{
	color:#0f3f93;
}

.popup h2,
.fancybox__content h2,
.immodetail h2
{
	position:relative;
	padding-top:40px;
	margin:40px 0 20px 0;
}

.popup h2::after,
.fancybox__content h2::after,
.immodetail h2::after
{
	content:"";
	position:absolute;
	top:0;
	left:0;
	right:0;
	height:1px;
	display:block;
	background:#1d1d1b;
}

.typo
{
	margin: 30px 0px;
	line-height: 1.5em;
}

section .typo.homegate
{
	max-width: 100%;
}

.immolist,
.referencelist,
.sponsoringlist
{
	text-align: center;
}

.referencelist.mobil,
.sponsoringlist.mobil
{
	display: none;
}

.slide
{
	width: 100%;
}

.immolist,
.referencelist,
.sponsoringlist
{
	display:flex;
	flex-wrap: wrap;
	margin:0 -5px;
}

.immolist .immo,
.referencelist .reference,
.sponsoringlist .sponsoring
{
	width:33.33%;
	padding: 5px 5px 26px 5px;
	box-sizing: border-box;
	position: relative;
	text-align: left;
	overflow: hidden;
	vertical-align: top;
}

.immolist .immo .image,
.referencelist .reference .image,
.sponsoringlist .sponsoring .image
{
	width: 100%;
	padding-top:100%;
	background-size: cover;
	background-position: center center;
	background-color: #ebe7dc;
}

.immolist .immo h3,
.referencelist .reference h3,
.sponsoringlist .reference h3
{
	margin: 12px 0px 4px 0px;
}

.immodetail .typo a
{
	color:#0f3f93;
	text-decoration: underline;
}

.newsdetail .cycle-slideshow .slide,
.immodetail .cycle-slideshow .slide
{
	width: 100%;
	background-size: contain;
	background-position: center center;
	background-repeat: no-repeat;
	background-color: #ebe7dc;
	margin: 0 auto;
}

.immodetail .cycle-slideshow .slide
{
	text-align: center;
}

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

.newsdetail .cycle-slideshow .slide span,
.immodetail .cycle-slideshow .slide span  {

	display: block;
	position: absolute;
	left: 0px;
	right: 0px;
	bottom: 0px;
	background: rgba(153,135,81,.7);
	padding: 10px 20px;
	text-align: left;
}

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

.cycle-next
{
	left:auto;
	right:0;
	justify-content: flex-end;
}

.newsbox .cycle-prev
{
	left:-3rem;
}

.newsbox .cycle-next
{
	right:-3rem;
}

.cycle-pager
{
	font-size:2em;
	text-align:center;
	margin:10px 0 20px 0;
	letter-spacing: -.2em;
	word-break:break-word;
	line-height:1em;
}

.cycle-pager > span
{
	padding:.1em;
	cursor:pointer;
}

.cycle-pager-active
{
	color:#0f3f93;
}

.immodetail .facts td
{
	padding: 4px 10px 4px 4px;
}

.immodetail .googleMapCanvas
{
	width: 100%;
	height: 300px;
	margin: 10px 0px;
}

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

.immodetail .contactform .contactperson
{
	width: 35%;
}

.immodetail .contactform .contactperson .personimage
{
	padding-top: 100%; 
	background-size: contain;
	background-position: top center;
	background-repeat: no-repeat;
}

.immodetail .contactform form,.immodetail .mail.success,.immodetail .mail.error
{
	width: 60%;
}

.immodetail .mail
{
	text-align: left;
	font-weight: bold;
}

.immodetail .mail.error
{
	color:red;
}

.immodetail .mail.success
{

	font-size: 1.2em;
}


.field
{
	width: 100%;
	box-sizing: border-box;
	background: #faf9f6;
	border: 0px;
	padding: .5em;
	margin: 0px 0px 1rem 0px;
	border: none;
	color:black;
}

.jobs
{
	margin: 2rem auto;
}

.jobs .docs
{
	display: flex;
	flex-wrap: wrap;
	gap:1em;
	width: 100%;
}

button,
.button
{
	background: #0f3f93;
	color: #FFFFFF;
	padding: 6px 24px;
	border: none;
	font-weight:bold;
	margin: 0px 0px 10px 0px;
}

button.secondary,
.button.secondary
{
	background:transparent;
	color: #0f3f93;
	border:1px solid #0f3f93;
}

label.error
{
	margin-top:-.5em;
	margin-bottom:.75em;
	display:block;
	color: red;
}

#contact .fa-spinner,
#contactMain .fa-spinner,
#contactForm .fa-spinner 
{
	display: none;
}

#contact.loading .fa-spinner,
#contactMain.loading .fa-spinner,
#contactForm.loading .fa-spinner
{
	display:inline-block;
}

.googleMap
{
	width: 100%;
	height: 100%;
}

.googleMap,
.googleMap iframe
{
	min-height:300px;
}

.newsletter
{
	padding: 20px 0px;
}

.contactbox,
.newsbox
{
	background-color: #c0ae89;
	padding: 0;
	color: #FFFFFF;
	margin:4em 0;
	text-align:left;
	overflow:hidden;
}

.newsbox .center
{
	position:relative;
}

.referencebox
{
	background-color:#0f3f93;
}

.newsbox h1
{
	margin-top:30px;
}

.referencebox h1,
.referencebox .cycle-pager-active
{
	color:#c0ae89;
}

.newsbox img
{
	width:100%;
}

.newsbox .slide h1
{
	font-size: 35px;
	margin-top:0;
}

.contactbox > div
{
	background-size: contain;
	background-repeat: no-repeat;
	background-position: right bottom;
}

.contactbox h4
{
	margin:0;
	color:#0f3f93;
}

#geschichte
{
	height: 500px;
	box-sizing: border-box;
}

#geschichte .page.even{
	background: #c0ae89;
	border-left: 0px;
}

#geschichte .page.odd{
	background: #c0ae89;
	border-right: 0px;
}


#geschichte .seite
{
	padding: 20px 50px;
	height: 500px;
	width: 100%;
	box-sizing: border-box;
	border: 2px solid #c0ae89;
	color: #FFFFFF;

}

#geschichte .seite h3,
#geschichte .seite h2,
#geschichte .seite h1
{
	color: #0f3f93;
}

#geschichte .page.odd .seite{
	border-left: 0px;
}

#geschichte .page.even .seite{
	border-right: 0px;
}

#geschichte .page.cover .seite{

	background: #c0ae89;
}

.historyline
{
	width: 100%;
	text-align: center;
	display:flex;
	flex-wrap:wrap;
	margin: 10px 0px;
	justify-content: center;
}

.historyline div.first
{
	flex-grow:0;
	padding:0;
	width: 30px;
	background: url('../images/history_start.png') no-repeat center center;	
}

.historyline div.last
{
	flex-grow:0;
	padding:0;
	width: 19px;
	background: url('../images/history_next.png') no-repeat center center;
}

.historyline div
{
	margin: 10px 0px;
	padding: 9px;
	cursor: pointer;
	color: #FFFFFF;
	background: #0f3f93;
	flex-grow: 1;
}

.historyline div.on
{
	background: #3262ad;
}

.historysmall
{
	display: none;
}

.mieterinfocenter .faq > div
{
	margin: .5em 0;
}

.mieterinfocenter .empty
{
	display: none;
}




.mieterinfocenter .faqHeader
{
	background: #c0ae89;
	padding: .5em 2em .5em 1em;
	cursor: pointer;
	color: #FFFFFF;
	font-weight: bold;
}

.mieterinfocenter .open .faqHeader .fa-angle-down,
.mieterinfocenter .faqHeader .fa-angle-right
{
	display: inline-block;
}

.mieterinfocenter .faqHeader .fa-angle-down,
.mieterinfocenter .open .faqHeader .fa-angle-right
{
	display: none;
}

.mieterinfocenter .faqContent
{
	max-height: 0;
	transition: max-height 0.15s ease-out;
	overflow: hidden;
	background: #f8f6f2;
}

.mieterinfocenter .open .faqContent {
    max-height: 2000px;
    transition: max-height 0.25s ease-in;
}

.mieterinfocenter .faqContent a
{
	color: #0f3f93;
}

.mieterinfocenter .faqContent > div
{
	padding: 1em 2em;
}



.form-label-group input[type=text],
.form-label-group input[type=email],
.form-label-group textarea
{
	display: block;
	width: 100%;
	padding: .5em .5em;
	font-size: 1em;
	line-height: 1.5;
	color: #495057;
	background-color: #fff;
	background-clip: padding-box;
	border: 0px;
	transition: border-color .15s ease-in-out,box-shadow .15s ease-in-out;
	box-sizing: border-box;
}


.form-label-group
{
	position: relative;
	margin-bottom: 1rem;
}

.form-label-group > input,
.form-label-group > textarea,
.form-label-group > label
{
	padding: .5em .5em;
}

.form-label-group > label
{
	position: absolute;
	top: 0;
	left: 0;
	display: block;
	width: 100%;
	margin-bottom: 0;
	line-height: 1.5;
	color: #495057;
	border: 0px;
	transition: all .1s ease-in-out;
	box-sizing: border-box;
	text-align:left;
}

.form-label-group input::-webkit-input-placeholder,
.form-label-group textarea::-webkit-input-placeholder
{
	color: transparent;
}

.form-label-group input:-ms-input-placeholder,
.form-label-group textarea:-ms-input-placeholder
{
	color: transparent;
}

.form-label-group input::-ms-input-placeholder,
.form-label-group textarea::-ms-input-placeholder
{
	color: transparent;
}

.form-label-group input::-moz-placeholder,
.form-label-group textarea::-moz-placeholder
{
	color: transparent;
}

.form-label-group input::placeholder,
.form-label-group textarea::placeholder
{
	color: transparent;
}

.form-label-group input:not(:placeholder-shown),
.form-label-group textarea:not(:placeholder-shown)
{
	padding-top: calc(.5em + .5em * (2 / 3));
	padding-bottom: calc(.5em / 3);
}

.form-label-group input:not(:-ms-input-placeholder),
.form-label-group textarea:not(:-ms-input-placeholder)
{
	padding-top: calc(.5em + .5em * (2 / 3));
	padding-bottom: calc(.5em / 3);
}

.form-label-group input:not(:placeholder-shown) ~ label,
.form-label-group textarea:not(:placeholder-shown) ~ label
{
	padding-top: calc(.5em / 3);
	padding-bottom: calc(.5em / 3);
	font-size: 11px;
	color: #777;
}

.form-label-group input:not(:-ms-input-placeholder) ~ label,
.form-label-group textarea:not(:-ms-input-placeholder) ~ label
{
	padding-top: calc(.5em / 3);
	padding-bottom: calc(.5em / 3);
	font-size: 12px;
	color: #777;
}

.form-label-group > label.error,
.form-label-group input:not(:placeholder-shown) ~ label.error, 
.form-label-group textarea:not(:placeholder-shown) ~ label.error
{
	text-align:right;
	color:red;
	margin-top: 0px;
}

.form-label-group input:not(:-ms-input-placeholder) ~ label.error, 
.form-label-group textarea:not(:-ms-input-placeholder) ~ label.error,
.form-label-group label.error
{
	text-align:right;
	color:red;
	margin-top: 0px;
}

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


#inquiryform .col
{
	width: 49%;
}

#inquiryform label,
.contactform label,
#contactMain label
{
	display: block;
	margin-bottom: 1rem;
}

#inquiryform label input[type=checkbox],
.contactform label input[type=checkbox],
#contactMain label input[type=checkbox]
{
	margin-right: .25em;
}

#inquiryform .toggleContent
{
	display: none;
}

#inquiryform .toggleContent.on
{
	display: block;
	margin: 1em 0 2em 0em;
	
}

#inquiryform .filebrowser
{
	margin-bottom: 1em;
}

#inquiryform .filebrowser .upload
{
	text-align:center;
	background: #FFFFFF;
}

#inquiryform .filebrowser .row
{
	margin: 0;
}

#inquiryform .filebrowser .col
{
	display:flex;
	justify-content:space-between;
	align-items:center;
	background:#ddd;
	color: #000000;
	margin: 0 0 1rem 0;
	padding: 0 0 0 .5em;
	flex-wrap: wrap;
	width: 100%;
}

#inquiryform .filebrowser .progress
{
	width:10em;
	height:1.2em;
	position:relative;
	background:#e9ecef;
}

#inquiryform .filebrowser .progress-bar
{
	position:absolute;
	top:0;
	bottom:0;
	background:#28a745;
	text-align:center;
	color:white;
	white-space: nowrap;
	overflow:hidden;
	font-size: smaller;
}

#inquiryform .filebrowser .upload label
{
	display: block;
	background: #FFFFFF;
	border-color: #FFFFFF;
	padding: .5em 1em;
	cursor: pointer;
	color: #0f3f93;
}

#inquiryform .filebrowser .caption
{
	margin:.25em;
}

#inquiryform .filebrowser .fa-check
{
	color:#28a745;
}

#inquiryform .filebrowser button
{
	margin: 0px;
}


.mieterinfocenter .forms a,
.mieterinfocenter .downloads a
{
	color: #0f3f93;
	display: block; 
	padding: .25em 0;
	font-weight: bold;
}



address
{
	background:#0f3f93;
	overflow: hidden;
	font-style: normal;
	padding: 0px 0px 30px 0px;
	color:white;
	margin-top:4em;
}

address .impressum
{
	display:block;
	margin-top:1em;
}

address .center
{
	display:grid;
	column-gap: 2em;
	grid-template-columns: repeat(3,auto);
	justify-content: space-between;

}
address .center.showcontent{
	grid-template-columns: repeat(4,auto);
	
}



.flexrow
{
	display:flex;
	margin: 0 -2rem;
}

.flexrow.reverse
{
	flex-direction: row-reverse;
}

address .flexrow
{
	margin: -40px -2rem;
}

.flexrow .col
{
	width:50%;
	padding:0 2rem;
}

address h4
{
	margin-top: 25px;
	margin-bottom: 12px;
}

body.playerOpen{
	overflow:hidden;
}

.popup{
	display:none;
}

.popup.visible{
	position: fixed;
	top: 0;
	left: 0;
	right:0;
	bottom:0;
	display:block;
	background:rgb(0,0,0);
	background:rgba(0,0,0,.7);
	overflow-y:scroll;
	-webkit-overflow-scrolling: touch;
	z-index: 4000;
	margin:0;
	max-width: none;
}

.popup.visible .wrapper{
	max-width: 1000px;
	margin: 80px auto;
	box-shadow: 3px 3px 10px 0px rgba(50, 50, 50, 1);
	position: relative;
}

.fancybox__container
{
	z-index: 4000;
}

.fancybox__content
{
	padding:0;
	width:1000px;
	max-width:100%;
}

.popup.visible .content,
.fancybox__content{
	padding: 50px;
	background:#c0ae89;
	color:white;
}


.popup.visible html{
	background: #FFFFFF;
}

.popup.visible .close{
	position: absolute;
	right: 50px;
	top: 50px;
	width: 1em;
	height: 1em;
	padding: 0px;
	cursor: pointer;
	color:white;
	font-size:38px;
	line-height:1em;
	text-align:Center;
}

.contactbox video
{
	display:block;
	width:100%;
	height:100%;
	object-fit:cover;
}

.video.center video{
	display:block;
	width:100%;
	max-width: 668px;
	
}

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

[consent-context="pricehubble"]
{
	min-height: 20em;
	position:relative;
}

.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:3000;
	box-shadow: 3px 3px 10px 0px rgb(50 50 50);
}

.consent-dialog .wrapper
{
	display:flex;
	flex-direction:column;
	gap:.5em;
	margin:auto;
	max-width:1400px;
	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;
}

.text.element{
	margin: 30px 0px;
}

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

address nav
{
	margin-top:1em;
}

address nav a
{
	display:block;
}

label span a
{
	text-decoration: underline;
}

.contactbox .mapcol,
.contactbox .googlemaps,
.contactbox .googlemaps > .wrapper,
.contactbox .googlemaps .responsive
{
	display:grid;
}

.contactbox .googlemaps .responsive
{
	height:auto;
}

.hidden
{
	display:none;
}

@media (max-width: 1350px)
{
	.newsbox .cycle-prev,
	.newsbox .cycle-next
	{
		left:auto;
		right:0;
		top:-2rem;
		bottom:auto;
	}
	
	.newsbox .cycle-prev
	{
		right:4rem;
	}
}

@media (max-width: 1280px) 
{
	section .boxes a .title
	{
		font-size: 2.2vw;
	}
	
	.headerimage .title
	{
		font-size:12vw;
	}
}

@media (max-width: 1000px) 
{
	address .center,
	.flexrow
	{
		display:block;
	}
	
	.flexrow .col,
	address .row
	{
		width:auto;
	}
	
	header .center
	{
		display:block;
	}
	
	header
	{
		text-align: center;
	}
	
	header .logo
	{
		margin-top:2em;
	}
	
	.googleMap
	{
		margin:2rem 0;
	}
	
	header nav a
	{
		margin:.5em;
	}
	
	.newsbox .slide h1
	{
		margin-top:20px;
	}

	.workingsince{
		right:0px;
		bottom:-4em;
	}

	.guetesiegel
	{
		margin-bottom: 0px;
	}
	
	.kundenversprechen{
		margin:3em 0;
	}
	
	.mapbox .flexrow
	{
		display:flex;
		flex-direction:column;
	}
	
	.mapbox .flexrow.reverse
	{
		flex-direction:column-reverse;
	}

}

@media (max-width: 800px) 
{
	#inquiryform .row
	{
		display:block;
	}
	
	#inquiryform .col
	{
		width:auto;
	}
	
	.content
	{
		padding: 1em 0px;
	}
	
	section .typo
	{
		max-width: 100%;
	}

	h1,
	section h1,
	.newsbox .slide h1
	{
		margin-top:20px;
		font-size: 30px;
	}
	
	h2
	{
		margin-top:20px;
		font-size: 22px;
	}
	
	.popup.visible .close 
	{
		right: 20px;
		top: 22px;	
		width: 20px;
		height: 20px;
	}

}

@media (max-width: 760px) 
{
	.center,
	section > .typo,
	section > h1,
	section > h2,
	section > h3
	{
		padding: 0px 1rem;
	}
	
	.consent-dialog .wrapper
	{
		padding: 1rem;
	}
	
	section .boxes
	{
		margin:-1rem 0 0 0;
		justify-content: center;
		grid-template-columns: 1fr;
	}
	
	section.showcontent .boxes
	{
		margin-top: 1rem;
		margin-bottom:1rem;
	}
	
	section .box
	{
		padding:1rem 0;
		overflow:hidden;
	}
	
	section .box
	{
		width:100%;
	}
	
	section .boxes a,
	section .boxes a:hover,
	section .boxes a.on
	{
		padding-top:14%;
		background-position:left center;
		background-size:20%;
	}
	
	section .boxes a .title
	{
		align-items:center;
		justify-content: flex-start;
		padding-left:25%;
		font-size: 20px;
	}
	
	.flexrow
	{
		margin: 0 -1rem;
	}
	
	address .flexrow
	{
		margin: -40px -1rem;
	}
	
	.flexrow .col
	{
		padding:0 1rem;
	}
	
	.contactbox, .newsbox
	{
		margin:2em 0;
	}
	
	.immolist .immo
	{	
		width:100%;
	}
	
	.history
	{
		display: none;
	}
	
	.historysmall,
	.immodetail .contactform
	{
		display: block;
	}
	
	.immodetail .contactform .contactperson
	{
		margin:1em 0;
	}
	
	.immodetail .contactform form,
	.immodetail .contactform .contactperson,
	.immodetail .mail.success, .immodetail .mail.error
	{
		width:100%;
	}
	
	.popup.visible .content,
	.fancybox__content
	{
		padding:1em;
	}
	.workingsince{
		right: 1.5em;
	}

	.headerimage .badge
	{
		width:96px;
		height:96px;
	}
}

@media (max-width: 650px) 
{

	
	header .quicklinks a
	{
		font-size:.75em;
	}

	
}

@media (max-width: 500px)
{
	.workingsince
	{
		font-size: smaller;
		bottom:-3.5em;
	}
	
	header nav a
	{
		font-size: 13px;
		margin: 5px 3px 0px 3px;
	}

	.kundenversprechen{
		flex-wrap: wrap;
	
	}

	.guetesiegel
	{
		width:120px;
	}
}


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