html,
body
{
	font-family: 'Work Sans', sans-serif;
	font-weight:300;
	margin:0px;
	padding:0px;
	color:#4a4a49;
	background: url('../images/bg.jpg');
	background-size: 100%;
	font-size: 17px;
}

html.nooverflow
{
	overflow:hidden;
}

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

p a:not(.button)
{
	text-decoration:underline;
}

.hidden,
.filtered
{
	display:none;
}

.intro
{
	background-position: center center;
	background-size: cover;
	position: fixed;
	top: 0px;
	left: 0px;
	right: 0px;
	height: 100vh;
	z-index: 99999;
	-webkit-transition: top 1s ease-in-out;
	-moz-transition: top 1s ease-in-out;
	-o-transition: top 1s ease-in-out;
	transition: top 1s ease-in-out;
	animation: mover 30s infinite alternate;
	cursor: pointer;
}

@keyframes mover 
{
	0% { background-position: left; }
	 50% { background-position: 100%;}
	 100% { background-position: left;}	
}

.intrologo
{
	display:block;
	position: absolute; 
	left: 5%;
	top: 10%;
	max-width: 400px;
}

.intro.close
{
	overflow-y: hidden;
	top: -100vh;
}

.intro h1
{
	font-size: 3.4em;
	letter-spacing: 1px;
	padding:0em 1em 0 1em;
}

.intro h1,.intro h2
{
	color:white;
	text-align: center;
	text-align: center;
}

.intro .link
{
	padding:0em 1em 0 1em;
}

.intro h2
{
	font-size: 1.3em;
	font-weight: 400;
	padding:0px;
}

.intro .link img
{
	display:block;
	width:65px;
	height:35px;
	margin:0px auto;
	margin-bottom: 2em;
}

.intro .content
{
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-content: center;
	align-items: center;
	position: absolute;
	bottom:0px;
	left:0px;
	right:0px;
}

header
{
	position:-webkit-sticky;
	position:sticky;
	top:0px;
	z-index:1000;
	min-height: 6.8em;
	background: url('../images/bg.jpg');
	background-size: 100%;
	display: flex;
}

.center
{
	margin:auto;
	padding:0em 3vw;
}

header .logo 
{
	box-sizing: border-box;
}
header .logo a
{
	display:block;
}

header .logo img
{
	width:20em;
	display:block;
}

header .center
{
	display:flex;
}

header nav
{
	position:relative;
	display:inline-block;
	margin:1em 1em 1em 4em;
	z-index:1;
}

header .toolbox
{
	position: absolute;
	bottom: calc(-34px - 1em);
	right: 12vw;
	height: 90px;
	display:flex;
}

header .toolbox a
{ 
	display:block;
	width: 90px;
	height: 100%;
	padding: 0px;
	background-size: contain;
	transition: transform .2s; /* Animation */
	background-position: center center;
	background-repeat: no-repeat;
}
.klogo{
	display:block;
}

.news
{
	width: 800px;
	max-width: 100%;
}

.offerdetails.news h2
{
	margin-top:0px;
}

.newslist > div
{
	padding: 20px 0px 28px 0px;
}

.newslist > div
{
	border-bottom: 1px solid #984937;
}

.newslist img
{
	width: 100%;
	max-width: 350px;
	float: left;
	margin: 0px 20px 0px 0px;
}

.newslist .typo
{
	text-align: left;
	padding: 0px;
	margin: 0px;
}

.newslist a.button
{
	margin: 10px 10px 0px 0px;
	width:auto;
	float: left;
}

header nav a
{
	display:inline-block;
	margin:1em .26em 0 .8em;
	font-size: larger;
	text-transform: uppercase;
	padding-bottom:.25em;
	font-weight: 300;
	color:white;
}

header nav a:hover,
header nav a.active
{
	font-weight:bold;
	color:white;
}

header nav a::after { display:block; content:attr(name); font-weight:bold; visibility: hidden; overflow: hidden; height: 0px; }

main > *,
footer
{
	background-color:white;
	z-index: 600;
	position: relative;
}

h1
{
	font-size:2.3em;
	font-weight:300;
	letter-spacing: .1em;
	text-transform:uppercase;
	margin:.75em 0em;
	color:#984937;
}

h1 strong
{
	font-weight:900;
	background:#984937;
	color:white;
	padding:.125em .25em;
}

h2
{
	font-size:1.125em;
	letter-spacing: .1em;
	font-weight:900;
	position:relative;
	text-transform:uppercase;
	padding-bottom:.25em;
	padding-right:10%;
	margin:1em 0em;
}

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

a.button,
form button
{
	display:inline-block;
	padding:1em 2em;
	color:white;
	text-transform: uppercase;
	margin:1em 0em;
	text-align:center;
	background:#984937;
	border:none;
	transition: background 1s ease;
	font-family: 'Work Sans', sans-serif;
	font-weight: bold;
}

.contact form button
{
	padding:.34em 2em;
	background-color: #5093aa;
	font-size: 1.1em;
	margin:.6em 0em;
}



.links a
{
	border:1px solid transparent;
}

.links a:hover
{
	border:1px solid white;
}

.angebot .links a
{
	min-width: 11em;
	margin: .5em;
	padding:.5em;
	font-size: 1.15em;
}

form button
{
	cursor: pointer;
}
a.button:hover,
form button:hover,
.links a:hover
{
	background:#984937;
	color:white;
}

.angebot h1
{
	color:white;
}
.angebot > .right
{
	background:#984937;
	color:white;
}
.angebot input[type='checkbox']:checked + label::before, 
.angebot input[type='checkbox']:not(:checked) + label::before{
	border: 1px solid white;
}

.imagetext .text,
.textbox,
.galerie,
.angebot > .right,
.contact .left
{
	display:flex;
	flex-direction: column;
	align-items: center;
	padding:3em 0em;
}
.contact .text .content
{
	display:flex;
	flex-direction: column;
	justify-content: space-between;
	align-content: space-between;
	flex:1 1 auto;
	color:#4d4d4d;
}

.imagetext .content,
.texttext .text2 .content,
.texttext .text .content,
.fullimage .content,
.textbox .content,
.galerie .content,
.angebot .right .wrapper
{
	position:relative;
	padding:0em 3vw;
	width:500px;
	max-width:100%;
	box-sizing: border-box;
}

.galerie .content
{
	width:100%;
}

.imagetext,
.texttext,
.angebot
{
	display:flex;
}

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

.imagetext > .image,
.texttext > .text,
.angebot > .left,
.twoimages .left,
.contact .left
{
	width:40%;
}

.imagetext > .text,
.texttext > .text2,
.angebot > .right,
.twoimages .right
{
	width:60%;
}

.imagetext .image
{
	padding-top:30%;
	background:center center/cover
}

.imagetext .image.svg
{
	background-size: contain;
	background-position: inherit;
	background-repeat: no-repeat;
}

.imagetext.colored .text,
.texttext.colored .text2
{
	background:#e8d7cf;
}

.imagetext .content,
.texttext .text2 .content,
.textbox .content,
.angebot .right .wrapper
{
	width:70em;
}


.texttext .text .content
{
	width: 100%;
}


#map
{
	height:60em;
}

.linklist
{
	overflow: hidden;
	padding: 1em;
	background:none;
	color:#984937;
}

.links
{
	display:flex;
	justify-content: center;
	flex-wrap: wrap;
}

.links.empty
{
	min-height: 4em;
}

.links a
{
	width:9em;
	margin:1em;
	padding:.5em;
	text-transform: uppercase;
	text-align:center;
	background:#ffffff;
	font-weight: 800;
	font-size: 1.2em;
}

.links a img
{
	width:6em;
	height:6em;
}

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

.fullimage .content
{
	position:absolute;
	left:3em;
	bottom:3em;
	color:white;
}

.fullimage.fixed
{
	top:5.25em;
	position:-webkit-sticky;
	position:sticky;
	padding-top:30%;
	background:center center/cover no-repeat;
	z-index:500;	
}

.twoimages
{

	background:center center/cover no-repeat;
	z-index:500;
	display: flex;
	background:white;
}

.twoimages .left,.twoimages .right
{
	background:center center/cover no-repeat;
	flex:1 1 auto;
	padding-top:30%;
	
}

.angebot .left
{
	background:#f3f1ed;
}

.angebot .left .wrapper
{
	margin:auto;
	position:-webkit-sticky;
	position:sticky;
	top:120px;
	overflow:hidden;
	text-align:center;
}

#iso svg
{
	min-height:340px; /* ie11 */
}

#iso svg text
{
	font-family: 'Work Sans', sans-serif;
}

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

#iso .level.on
{
	transform: translate(0px, -20px);
	-webkit-transform: translate(0px, -20px);
	-ms-transform: translate(0px, -20px);
}

.angebot table,
.popup table
{
	width:100%;
	border-collapse: collapse;
	margin:1em 0 2em;
}

.angebot table td,
.angebot table th,
.popup table td
{
	padding:.25em .5em;
}

.angebot table tr
{
	border-bottom:1px solid black;
}

.angebot table tbody tr
{
	cursor:pointer;
}

.popup table tbody tr:nth-child(odd)
{
	background:#f6f6f6;
}

.angebot table tbody tr.on 
{
	background: white;
	color: #984937;
}

.angebot th
{
	text-align:left;
	font-weight: normal;
}

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

.angebot .filter,
.angebot .downloads
{
	margin:1em 0em;
}

.angebot .downloads + .button
{
	margin-top:0px;
}

.angebot .filter label,
.angebot .downloads a,
.form-group label
{
	margin-right:.5em;
	white-space: nowrap;
}

.angebot .filter h3,
.angebot .downloads h3
{
	margin:0px 0px .25em 0px;
}

.angebot .status{ color:#00b300; }

.angebot .status.reserviert{ color:#eb9801;}
.angebot .status.reserviert:before{ background-color:#eb9801; }

.angebot .status.vermietet{ color:#eb0000; }
.angebot .status.vermietet:before { background-color:#eb0000; }

.angebot .status.verkauft{ color:#eb0000; }
.angebot .status.verkauft:before { background-color:#eb0000; }

.textbox,
footer
{
	padding:0.5em 0em;
	color:#000000;
}

footer .address
{
	display:flex;
	flex-direction: row;
	width:100%;
	flex-wrap: wrap;

}


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

footer .typo
{
	font-weight: 500;
	text-transform: uppercase;
	margin-left: 3.5em;
	line-height: 1.1em;
	white-space: nowrap;
	margin-top:12px;
}

footer .right .typo
{
	margin-bottom: .7em;
}

footer .content
{
	padding:0em 3vw;

}

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

footer .content .right
{
	align-self: center;
}

footer .logo
{
	margin-top:-12px;
	margin-left:-7px;
}

footer .logo,footer .logo img
{
	width:320px;
	max-width: 100%;
}

footer h2
{
	padding: 0px;
	font-size: 2em;
	margin:0px;
	font-weight: 800;
	margin-top: .38em;
	letter-spacing: 1px;
}

.popup
{
	position:relative;
	padding:3.5em 0px 0px 0px;
	background:transparent;
	width:1000px;
	max-width:100%;
}

.popup .close
{
	position:absolute;
	right:0px;
	top:0px;
	padding:0em;
	cursor:pointer;
	background:white;
	font-size:3em;
}

.popup .inner
{
	position:relative;
	border:.5em solid white;
	background:white;
	padding:1em;
	box-sizing:border-box;
}

.popup .row
{
	margin:1em 0em;
	display:flex;
	justify-content: space-between;
}

.popup .row .col
{
	flex-grow: 0;
	flex-shrink: 1;
	flex-basis:calc(50% - .5em);
}

.popup .preview
{
	display:block;
	text-align:center;
	box-shadow: 1px 1px 10px 0px rgba(50, 50, 50, .33);
}

.popup .preview img
{
	max-width:100%;
}

.popup a.button
{
	display:block;
}

.galerie
{
	background:#e8d7cf;
}

.galerie .row
{
	display:flex;
	flex-wrap: wrap;
	margin:0em -1em;
	max-width: 1200px;
	margin:0px auto;
}

.galerie .col
{
	width:33.33%;
}

.galerie a
{
	display:block;
	overflow:hidden;
	margin:1em;
}

.galerie img
{
	display:block;
	transition: transform 2s;
	width:100%;
}

.galerie a:hover img
{
	transform:scale(1.1);
}

form input[type=text],
form input[type=email],
form textarea,
form button
{
	font-size:1em;
	font-family: inherit;
	border-radius: 0px;
	-webkit-appearance: none;
}

form input[type=text],
form input[type=email],
form textarea,
form .form-group
{
	margin:.6em 0em;
}

form input[type=text],
form input[type=email],
form textarea
{
	width:100%;
	box-sizing:border-box;
	font-weight: 300;
	border:none;
	padding:.3em .4em;
	background:#984937;
	color:white;
	display:block;
}
form input::placeholder,form textarea::placeholder{
	color:white;
}

form .anrede,form .intresse{
	margin-top:2em;
}
form .anrede {
	margin-bottom: -.3em;
}
form textarea
{
	height:7.2em;
}

form label
{
	white-space: nowrap;
	margin-top:.3em;
	display:inline-block;
}

form label.error
{
	color:red;
	display:block;
	margin-top:-.5em;
	font-size:smaller;
}

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

input[type='checkbox'] + label ,input[type='radio'] +label{
	min-width: 80px;
	margin-top:.3em;
	margin-bottom: .3em;
}
input[type='checkbox'],input[type='radio']
{
	width:auto;
	float:left;
	margin-right: .75em;
	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']:not(:last-of-type) + label,  input[type='radio']:not(:last-of-type) + label
{
	margin-right:4px;
}

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:inline-block;
	width: 17px;
	height:17px;
	margin-top:-4px;
	color:white;
	background: #984937;
	margin-right: 7px;
	box-shadow: inset 0 1px 1px 0 rgba(0,0,0,.1);
	overflow: hidden;
	vertical-align: middle;
}
input[type='radio']:checked + label::before, 
input[type='radio']:not(:checked) + label::before{
	border-radius: 10px;
}

input[type='checkbox']:hover  + label::before, input[type='radio']:hover  + label::before 
{
	content:" ";
	font-size: 15px;
	text-align: center;
	line-height: 17px;
	box-shadow: inset 0 0 0 2px #4d4d4d;
}

input[type='checkbox']:checked  + label::before, input[type='radio']:checked  + label::before
{
	

	font-family:FontAwesome;
	content:"\f00c";
	font-size: 15px;
	text-align: center;

	line-height: 17px;
}
input[type='radio']:checked  + label::before{
	content:"\f111";
	font-size: 10px;
	
}
table.address strong,table.address a,table.address a:hover
{
	color:#984937;
	font-weight: 800;
}


table.address
{
	max-width:100%;
	float: left;
}

table.address tr td
{
	padding-right: 1.2em;
}

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

.contact button
{
	display:block;
	width:100%;
}

.contact .left .content
{
	width:46em;
}


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

	table.address td
	{
		font-size: .9em;	
	}
	
	
	header nav
	{
		margin:1em -.4em  0 -.4em;
		z-index:1;
	}

	header nav a
	{
		margin:1em .4em 0 .4em;
	}
}

@media screen and (max-width : 1750px) {
	header .logo 
	{
		text-align:right;
		padding-right:2vw;
	}
}

@media screen and (max-width : 1650px) {
	
	table.address img
	{
		width:210px !important;
		height:auto !important;
	}
}

@media screen and (max-width : 1570px) {
	table.address td
	{
		line-height: 1.3em;
	}

	table.address img
	{
		width:180px !important;
		height:auto !important;
	}
}

@media screen and (max-width : 1400px) {
	body
	{
		font-size:smaller;
	}
	
	footer .typo
	{
		margin-top:22px;
	}

	footer .right .typo
	{
		margin-left:0px;
	}

	footer .right .typo
	{
		margin-bottom: 12px;
	}
}

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

	header nav a
	{
		margin:1em .4em 0 .4em;
	}

	header nav
	{
		margin-right: -.4em;
		margin-left: -.4em;
	}
	
}

@media screen and (min-width : 1000px) 
{
	header nav a
	{
		font-size: 1.3rem;
	}
}

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


	table.address td
	{
		font-size: 1em;
		line-height: 1.4em;
	}

	table.address img
	{
		width:150px !important;
		height:auto !important;
	}

	header .toolbox
	{
		height: 70px;
		bottom:calc(-25px - 1em);
		right:4vw;
	}

	header .toolbox a
	{
		width:70px;
	}
	
	.hiddenM
	{
		display:none;
	}
	
	header
	{
		position:relative;
		text-align:center;
	}
	

	header .logo
	{
		position: static;
		text-align:center;
	}
	
	header .logo img
	{
		margin-bottom:0px;
	}
	
	.contact.imagetext
	{
		display:flex;
		flex-wrap: wrap;
		flex-direction: column-reverse;
	}

	.imagetext,
	.texttext,
	.intro,
	.angebot,
	header .center,
	.popup .row,
	.contact .left
	{
		display:block;
	}
	
	.imagetext > .text,
	.imagetext > .image,
	.texttext > .text,
	.texttext > .text2,
	.contact > .left,
	.intro > a,
	.angebot > .left,
	.angebot > .right,
	.intro .content, 
	.imagetext .content, 
	.fullimage .content, 
	.textbox .content,
	.twoimages .right,
	.twoimages .left
	{
		width:auto;
	}
	.contact .left .content,.contact .text,.contact .text .content{
		width:100%;
	}
	.galerie .col
	{
		width:50%;
	}
	
	.imagetext .content, 
	.texttext .content, 
	.fullimage .content, 
	.textbox .content, 
	.galerie .content,
	.angebot .right .wrapper,
	footer .content
	{
		padding:0em 1em;
	}
	
	.texttext .text,
	.texttext .text2
	{
		padding-top: 3em;
		padding-bottom: 3em;
	}
	
	h1
	{
		font-size:1.5em;
		word-wrap:break-word;
	}
	
	h2
	{
		font-size:1.2em;
	}
	
	.fullimage .content
	{
		position:static;
		overflow:auto;
	}
	
	.imagetext .image,
	.intro > a
	{
		min-height:20em;
	}
	.imagetext .image.svg{
		min-height:18vmin;
		
	}
	
	#iso svg
	{
		min-height:0;
	}
	
	table,
	.links
	{
		font-size:smaller;
	}
	
	.angebot table td, .angebot table th, .popup table td
	{
		padding: 1em .5em;
	}
	
	.fullimage.fixed
	{
		top:0px;
	}
}

@media (max-width: 800px)
{
	
	.intrologo
	{
		left: 50%;
		margin-left: -100px;
		max-width: 200px;
	}
	
	.newslist img
	{
		max-width: 314px;
	}

	@keyframes mover 
	{
		0% { background-position: left; }
		 100% { background-position: 100%;}
	}

}



@media screen and (max-width : 752px) 
{
	.newslist img
	{
		float:none;
		margin-bottom: 1em;
		margin-right: 0px;
	}

	footer .typo
	{
		margin-right:3em;
		margin-left:0px;
	}
	footer .logo{
		margin-right:3em;
	
	}
	footer h2
	{
		font-size: 1.8em;
	}


}

@media screen and (max-width : 610px) 
{
	header
	{
		flex-wrap: wrap;
		padding:.45em .75em 0 .75em;
	}

	header .logo
	{
		display: block;
		margin:0px auto;	
	}

	header .logo img
	{
		width:50vmin;	
	}

	header nav
	{
		display: block;
		margin:0px auto;
		width:100%;
	}

	header nav a
	{
		margin:.4em .4em 0 .4em;
	}

}

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

	table.address
	{
		float: none;
		width:auto;
	}

	table.address td
	{
		font-size: 1em;
		margin-bottom: 1em;
		padding:0px;
	}

	header .toolbox
	{
		height: 40px;
		bottom:calc(-40px - .5em);
		right:0em;
	}

	header .toolbox a
	{
		width:60px;
	}
	
	.imagetext .image.svg
	{
		min-height:45vmin;
	}
}


@media screen and (max-width : 380px) 
{
	table.address ,table.address tbody,table.address tbody tr ,table.address tbody tr td
	{
		display:block;
	}

	footer span:first-child
	{
		white-space: pre-wrap;
	}
	footer .logo,.footer .typo{
		margin-right: 0px;
	}
	

}

@media screen and (max-width : 370px) 
{
	footer .logo,.klogo,.klogo img
	{
		width:auto !important;
		max-width: 300px !important;
	}
}