html
{
	 scroll-padding-top: 130px;
}

html,body
{
	margin:0px;
	padding:0px;
	font-family: acumin-pro, sans-serif;
	font-weight: 400;
	font-style: normal;
	color:#565334;
}

img
{
	border: 0px;
}

a
{
	color:inherit;
}

.hidden
{
	display:none;
}

header
{
	position:fixed;
	right:0;
	left:0;
	z-index:999;
}

header .center
{
	padding:3em 2em;
}

header.in .center
{
	padding:.8em 2em;
}

footer
{
	font-weight: 400;
	line-height: 1.4em;
	font-size: 1.2em;
	color:white;
}

footer strong
{
	font-weight: 500;
	text-transform: uppercase;
	color:white;
}
footer .center
{
	padding:4vw 2rem;
}

header .inner
{
	display:flex;
	justify-content: center;
}

header .logo
{
	max-width:75%;
}

header:not(.in) .logo
{
	position: absolute;
	top:0px;
}
header .logo img
{
	width:20em;
	max-width:100%;

}


header .logo .default,
header.in .logo .intro
{
	display:none;
}

header.in .logo .default
{
	display:block;
}

header.in .inner
{
	display:flex;
	justify-content: flex-start;
}

header.in .logo img
{
	width:13em;
}

header.in .nav-toggle span
{
	background:black;
}

.tourbutton img
{
	display: block;
	position: absolute;
	bottom: -.9em;
	left: 15em;
	width: 427px;
	height: clamp(100px, 25vw, 400px);
}

.tourbutton img {
	transition: all .3s;
	transform-origin: bottom center;
}

.tourbutton:hover img
{
	transform: scale(1.15);
}

.tourbutton-container {
	display: none;
	position: relative;
}

.tourbutton-visible {
	display: block;
}

.fancybox-content
{
	padding:2vw;
}

.nav-toggle
{
	
	position:relative;
	padding:0;
	cursor:pointer;
	background:none;
	-webkit-transition: .5s ease-in-out;
	transition: .5s ease-in-out;
	width: 50px;
	height: 32px;
	border:none;
	margin: 0em;
}

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

.nav-toggle span
{
	display: block;
	position: absolute;
	height: .3em;
	width: 100%;
	background: white;
	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%; }

header .menue
{
	
	position:fixed;
	right:2em;
	top:3em;
	text-align:right;
	z-index:999;
	transition: background-color .25s ease-in-out;
	pointer-events: auto;
}

header nav.main
{
	
	display:flex;
	align-items: center;
	justify-content:center;
	flex: 1 1 auto;
	text-align:left;

}

header nav.main ul
{
	display:none;
}

header.open .menue
{
	right:0em;
	top:0em;
	bottom:0;
	left:50%;
	display:flex;
	flex-direction:column;
	
	padding:3em 2em;
	background-color: #283A41;
}

header.open .nav-toggle span
{
	background:white;
}

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

header.open nav.main ul
{
	display:block;
}

header nav ul
{
	padding:0;
	margin:0;
	list-style-type: none;
}

header nav,
header nav a,
header nav.language li::after 
{
	color:white;
	text-decoration: none;
	font-size: larger;
}

header nav.main a
{
	display:block;
	padding:.25em 1em;
	font-size: 1.8em;
	background-position: right top .3em;
	background-repeat: no-repeat;
	background-size:0em;
	transition: background-size .25s ease-in-out;
}

header nav.language
{
	white-space: nowrap;
	text-transform: uppercase;
	letter-spacing: .05em;
}

header nav.language li
{
	display:inline-block;
}

header nav.language li::after 
{
	content: "|"; 
}

header nav.language li:last-child::after
{
	display:none; 
}

.slideshow
{
	position: -webkit-sticky;
	position: sticky;
	top: 0px;
	z-index: -1;
}

.vtour .wrapper {
	max-width: 65rem;
	padding: 0 2rem;
	font-size: 1.2em;
	margin: 2em auto;
	margin-bottom: 0;
}

.subtitle + .vtour
{
	margin-top:clamp(2em,4vw,3.3em);
}

.vtour img:first-child
{
	display: block;
	width: 100%;
}

.vtour .preview
{
	display: block;
	position: relative;
}

.vtour .content
{
	position: absolute;
	width: clamp(100px,24vw,300px);
	top:50%;
	left:50%;
	transform: translate(-50%,-50%);
}

.vtour .content .vicon {
	transition: all .2s ease-in-out;
}

.vtour .content:hover .vicon
{
	transform: scale(1.2);
}

.vtour .wrapper
{
	display: flex;
	gap:3em;
	flex-direction: column;
}

.vtour .legend
{
	font-weight: 500;
	text-align: center;
	padding:.5em 0 0 0;
}

.slideshow .slide
{
	display:block;
	width:100%;
	height: 100vh;
	background-size: cover;
	background-repeat: no-repeat;
	background-position:  left bottom;
}


.slideshow.multiple-slides
{
	position: static;
	z-index: auto;
}

.slideshow.multiple-slides .slide
{
	height: calc(100vh - 122px);
}


.subsection.text
{
	background:white;
	padding:2vw 0;
	text-align:center;
}

.typo
{
	margin:1em auto;
	line-height:1.4em;
}

.subsection .imageinline,.tour360
{
	margin:2em auto;
}

.subsection h1,
.subsection .typo,
.subsection .imageinline,.tour360
{
	font-size:1.2em;
	max-width:65rem;
	padding:0 2rem;
}

.contact > .row .col
{
	max-width:59rem;
	padding:0 2rem;

}

.pricelist
{
	max-width:100rem;
	margin:auto;
}

.subsection h1,
.slideshow.image .cycle-overlay,
.flatdetail h1
{
	font-size:4.5em;
	font-family: acumin-pro-condensed, sans-serif;
	font-weight: 500;
	font-style: normal;	
	line-height:1.2em;
	margin:.5em auto;
}

.slideshow.image .cycle-overlay
{
	margin:.5em auto .5em auto;
}

.subsection h3
{
	
	font-size:2.5em;
	font-family: acumin-pro-condensed, sans-serif;
	font-weight: 500;
	font-style: normal;	
	line-height:1.2em;
}

.subsection .imageinline img
{
	width:100%;
}

.subsection h1 + .typo
{
	margin-top:1.5em;
}



main > h1,
main > h2
{
	font-family: acumin-pro-condensed, sans-serif;
	font-weight: 500;
	font-style: normal;	
	text-transform: uppercase;
	background:#328A93;
	text-align:center;
	color:white;
	padding:3vw;
	line-height:1em;
}

main > h1
{
	font-size:4.5em;
}

main > h2
{
	font-size:3.5em;
}

main > h1 + h2
{
	margin-top:-5.5vw;
}

main > .subsection:last-child
{
	background:#e0d7d2;
}

.tour360 .tour 
{
	position: relative; 
	height: 600px; 
	overflow: hidden; 
	width: 100%;
	box-sizing: border-box;
}

.tour360 iframe 
{
	position: absolute; 
	top: 0; 
	left: 0; 
	height: 100%; 
	display: block;

}

footer
{

	background:#565334;
	color:white;
}

footer nav,
footer address
{
	display:inline;
}

footer .center
{
	text-align:center;
}

footer address 
{
	font-style: normal;
	line-height:1.4em;
}

.popup
{
	width:900px;
	max-width:100%;
}

.popup.big
{
	width:1027px;
}

.popup .subsection.text
{
	text-align:left;
	padding:0;
}

.popup h1
{
	font-size:3em;
	margin-top: 0px;
}

.popup .subsection .typo
{
	font-size:1em;
}

.flatdetail .preview {
	display: block;
	margin-top:2em;
}

.flatdetail .preview img
{
	width:100%;
}

.row
{
	display:flex;
	margin:1em 0;
}

.row > .col
{
	box-sizing:border-box;
	width:50%;
	padding:0 2em;
	text-align:left;
}


.popup .row > .col
{
	
	padding: 0em;
}
.contact > .row
{
	flex-direction: column;
	justify-content: center;
	align-items: center;
}
.contact .row > .col
{
	display:flex;
	width: 100%;
}

.contact .row > .col:first-child
{
	text-align: center;
}

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


.contact .box
{
	background-color: #ffffff8f;
	padding:.5em 1em;
	margin:2rem 0;
	display: flex;
	flex-direction: column;
	gap:1rem;
}

.contact .box + .box
{
	margin-top: -1rem;
}

.contact .box textarea{
	height: 70px;
}

.row .form,
.row .typo
{
	margin: 1em auto;
	padding:0;
	font-size:1.2em;
	width: 100%;
}

.row .typo
{
	margin-top: 0;
}

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

.form input
{
	font-size:inherit;
}



input[type='checkbox'],input[type='radio']
{
	width:auto;
	float:left;
	margin-right: .1rem;
	background:transparent;
	border:none;
}
  
input[type='checkbox']:checked,
input[type='checkbox']:not(:checked),
input[type='radio']:checked,
input[type='radio']:not(:checked)
{
	background: transparent;
	position: relative;
	visibility: hidden;
	display:none;
	margin:0;
	padding:0;
}

input[type='checkbox'] + label,  input[type='radio'] + label
{
	cursor: pointer;
}

input[type='checkbox']:checked + label::before, 
input[type='checkbox']:not(:checked) + label::before,
input[type='radio']:checked + label::before, 
input[type='radio']:not(:checked) + label::before
{
	font-family:FontAwesome;
	content:' ';
	display:block;
	width: 1rem;
	height:1rem;
	position: relative;
	border: 0px solid #1D1D1B;
	background: white;
	margin-right: .5rem;
	flex:0 0 auto;
	overflow: hidden;
}
#Datenschutz + label
{
	align-items: baseline;
}
.form input,
.form textarea
{
	font:inherit;
	color:#565334;
}
input[type='checkbox']:hover  + label::before, input[type='radio']:hover  + label::before 
{
	content:" ";
	font-size: 1rem;
	text-align: center;
	line-height: 1rem;
	width: 1rem;
	height:1rem;
	box-shadow: inset 0 0 0 2px #3d4548;
}

input[type='checkbox']:checked  + label::before, input[type='radio']:checked  + label::before
{
	font-family: 'Font Awesome 5 Pro';
	content:"\f00c";
	font-size: .7rem;
	text-align: center;
	font-weight: bold;
	line-height:1rem;
}

.form input[type=text],
.form textarea,
.form button,
.form-group
{
	margin:.25rem 0em;
	border:none;
	font-family: acumin-pro, sans-serif;
	border-radius:0;
	
}

.form input[type=text],
.form textarea,
.form button
{
	padding:.5em;
	font-size:smaller;
}

.form-group
{
	display:block;
	gap:0rem;
	flex-wrap: wrap;
	column-gap: 1em;
}

.form-group.selectables
{
	margin:.5rem auto 1.1rem auto;
}
.form-group.selectables,.form-group.selectables2{
	display:flex;

}
.form-group.selectables .error,.form-group.selectables2 .error{
	width: 100%;
}


input::placeholder,textarea::placeholder{
	color: #565334;
	font:inherit;
}
.form-group.selectables label
{
	white-space: nowrap;
}

.form input[type=text],
.form textarea
{

	width:100%;
	box-sizing: border-box;
	border:none;
}

.form textarea
{
	height:100px;
}

.form label
{
	display: flex;
	align-items: center;
}

.form label.error
{
	display:block;
	color:orangered;
	font-size:smaller;
}

.form input.error,
.form textarea.error
{
	border:1px solid orangered;
}

.form button
{
	cursor:pointer;
	padding:.5em 2em;
	background:#6F7E83;
	color:white;
}

.mail
{
	display:flex;
	max-width:100%;
	padding:1em;
	border: 1px dashed red;
	color:red;
	align-items: center;
	min-height:15em;
	text-align:center;
	justify-content: center;
}

.mail.success
{
	border-color:green;
	color:green;
}

.gallery
{
	background:black;
}

.gallery .row
{
	display:flex;
	padding:.75em;
}

.gallery .col
{
	width:100%;
	padding:.75em;
}

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

.offer
{
	background:#E3E3E3;
}

.slide
{
	width:100%;
	box-sizing:border-box;
}

.offer div.slide
{
	padding:0 1em;
}

.offer .slide h1
{
	font-size:2em;
}

.offer .slide a
{
	display:block;
	width:120em;
	max-width:100%;
	margin:auto;
	color: inherit;
	text-decoration: none;
}

.offer .slide img
{
	display:block;
	width:100%;
}

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

.cycle-prev img,
.cycle-next img,
.subsection .imageinline .cycle-prev img,
.subsection .imageinline .cycle-next img
{
	height: 4rem;
	width:auto;
	margin:0 .2em ;
	display:block;
}

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

.slideshow.image .cycle-overlay
{
	position:absolute;
	bottom:0;
	left:0;
	right:0;
	z-index:101;
	color:white;
	text-align:center;
	white-space: pre-wrap;
	padding: 0 1rem;
}


.imageinline .cycle-overlay,.tour360  .overlay
{
	
	font-size:smaller;
	margin:1em 0;
	line-height: 1.1em;
}

.offer .cycle-pager
{
	text-align:center;
}

.offer .cycle-pager span
{
	font-size:4em;
	color:#e9cb75;
	cursor:pointer;
}

.offer .cycle-pager span.cycle-pager-active
{
	color:#EC801E;
}

.map
{
	height:30vw;
}

#iso svg
{
	min-height:400px;
}

#iso svg .flat *
{
	opacity: 0;
}

#iso svg .flat.on *
{
	opacity: 1;
}

#Haus_B .flat.on *
{
	fill:#B4C09C;
}

.pricelist .Haus_B tbody tr.on
{
	background: #B4C09C;
}

#Haus_C .flat.on *
{
	fill:#D19E95;
}

.pricelist .Haus_C tbody tr.on
{
	background: #D19E95;
}

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

.pricelist h3 + table
{
	margin-top:-1em;
}

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

.pricelist table thead tr
{
	border-top:2px solid black;
	border-bottom:2px solid black;
}

.pricelist table td,
.pricelist table th,
.flatdetail table td
{
	padding:.25em;
}

.pricelist table tbody tr,
.pricelist table tfoot tr,
.flatdetail table tbody tr
{
	border-bottom:1px solid black;
}

.flatdetail table tbody tr
{
	border-top:1px solid black;
}

.pricelist table tbody tr.on
{
	background: #B4C09C;
	color: black;
	cursor:pointer;
}

.pricelist table tbody tr.reserviert,
.pricelist table tbody tr.verkauft,
.pricelist table tbody tr.vermietet
{
	background: #f56400;
}

.sticky
{
	position: -webkit-sticky;
	position:sticky;
	top:10vw;
}




footer address
{
	font-style: normal;
}

footer address img
{
	margin-right:1em;
}

footer a
{
	text-decoration: none;
}

footer a:hover
{
	text-decoration: underline;
}

footer .first a::after
{
	content:"/";
	display:inline-block;
	margin:0 .5em;
	
}
footer a:last-child::after
{
	display:none;
}

footer .center
{
	max-width:50em;
	margin:auto;
}


header.in
{
	background:white;
	box-shadow: 1px 1px 10px 0px rgba(50, 50, 50, .33);
}


@media screen and (max-width : 1850px) 
{
	main .subsection h1, 
	.slideshow.image .cycle-overlay
	{
		font-size:4em;
	}
	
	.sticky
	{
		top:10vw;
	}
}

@media screen and (max-width:1500px) {
	.tourbutton img {
		bottom: -.8em;
	}
}

@media screen and (max-width : 1400px) 
{
	html
	{
		font-size:smaller;
	}
	
	.hide1400
	{
		display:none;
	}	
	
	
	.imageinline .cycle-overlay,.tour360 .overlay
	{
		min-height: 3em;
	}
	
	.slideshow.multiple-slides .slide
	{
		height: calc(100vh - 102px);
	}


}

@media screen and (max-width : 1280px) 
{	
	.tour360 .tour 
	{
		height: 500px; 
	}
}

@media screen and (max-width : 1000px) 
{		
	body
	{
		padding-top:0;
	}
	
	.mobile
	{
		display:block;
	}
	
	.desktop,
	.hide1600,
	.hide1000
	{
		display:none;
	}
	
	.subsection .imageinline,.tour360
	{
		max-width: 28em;
	}
	
	header.open .menue
	{
		left:0px;
	}
	
	main .subsection h1,
	.slideshow.image .cycle-overlay
	{
		font-size:3em;
	}
	
	.row
	{
		flex-direction: column;
	}
	
	.row > .col
	{
		width:auto;
	}
	
	.popup .row > .col
	{
		margin-bottom: 10px;
	}
	
	.contact .row > .col,
	.contact .row > .col:first-child,
	.contact .row > .col:last-child
	{
		justify-content: center;
	}
	
	
	.contact .row > .col:first-child	
	{
		text-align: center;
	}
	
	
	main > h1
	{
		font-size:3em;
	}
	
	main > h2
	{
		font-size:1.5em;
	}
	
	.typo
	{
		line-height:1.2em;
	}
		
	
	footer nav
	{
		display:block;
		margin:1em 0;
	}

	footer  .col:last-child
	{
		margin-top:1.2em;
	}

	
	header nav.main a
	{
		font-size: 1.5em;
	}
	
	.map
	{
		height:30em;
	}
	
	.cycle-prev img,.cycle-next img,
	.subsection .imageinline .cycle-prev img,.subsection .imageinline .cycle-next img
	{
		height: 1em;
		width:auto;
	}

	.tour360 .tour
	{
		max-height: 360px;
	}

	.cycle-prev,
	.cycle-next
	{
		font-size:2em;
	}
	
	.gallery .row,
	.gallery .col
	{
		padding: .25em;
	}
	
	#iso svg
	{
		min-height:auto;
	}

	.tourbutton img {
		bottom: -.7em;
		left: 0;
	}
}

@media screen and (max-width : 780px) 
{
	header.in
	{
		position: sticky;
		position: -webkit-sticky;
		top: 0px;
	}
	.tourbutton img {
		bottom: -.5em;
		width: 200px;
	}

	.fancybox-slide {
		padding-left: 0;
		padding-right: 0;
	}
}

@media screen and (max-width : 680px) 
{
	footer .center{ overflow: hidden; }
	footer .row{	margin:0 -2em; }
	.contact .form-split
	{
		grid-template-columns: 1fr;
		gap:0rem;
	}
	
}

@media screen and (max-width : 600px) 
{

	html
	{
		font-size:12px;
	}

	
	header .center
	{
		padding: 2em 2em;
	}
	
	
	.nav-toggle 
	{
	    width: 40px;
	    height: 26px;
	    font-size: 10px;
	    
	}
	
	header .menue
	{
		right:2em;
	
		margin-top: -2px;
	}
	
	header.open .menue 
	{
	    padding: 3em 2em;
	}
		

	.slideshow.multiple-slides .slide
	{
		height: calc(100vh - 75px);
	}


	.hide600
	{
		display:none;
	}
	
	.subsection h1, 
	.slideshow.image .cycle-overlay, 
	.flatdetail h1
	{
		font-size:1.8em;
	}

	.subsection .typo,
	.subsection .imageinline,.tour360
	{
		font-size: 1.2em;
	}

	.slideshow.image .cycle-overlay
	{
		position: static;
		background-color: white;
		color:black;
		box-sizing: border-box;
		margin:0px auto;
	}

	.slideshow.image .cycle-overlay
	{
		padding:calc(2vw + 1rem) 0 0 0;
	
	}
	
	header .logo img
	{
		max-width: 150px;
	}

	.subsection h3
	{
		font-size: 1.6em;
	}

	main .subsection h1:first-child
	{
		margin-top:1em;
	}
	
	.pricelist table:last-child
	{
		margin-bottom: 1em;
	}
	

	.form-group.selectables label{

		white-space: nowrap;
	}

	main .subsection h1,
	.slideshow.image .cycle-overlay
	{
		font-size: 2em;
	}

	.tourbutton img {
		bottom: -.4em;
	}
}

@media screen and (max-width:480px) {
	.tourbutton img {
		bottom: -.3em;
	}
}



@media (orientation: portrait) 
{

	.slideshow .slide
	{
		height: auto;
		padding-top: 53%;
	}
	
	.slideshow.multiple-slides .slide 
	{
	    height: auto;
	    padding-top: 60%;
	}
	
}

