.clearfix:after {
    content:" ";
    display:table;
    clear:both;
}
.cookie-title {
	font-weight: bold;
	text-align: left;
	margin-bottom: 5px;
	margin-top: 0px;
	font-size: 16px;
}

.title_green h1 p{
	margin:0;
	
}
html,body
{
	font-family: 'Source Sans Pro', sans-serif;
	min-height:100%;
	font-size:19px;
	color:#1d1d1b;
}

a
{
	color:#1d1d1b;
}

header
{
	position:fixed;
	top:0px;
	left:0px;
	right:0px;
	background:rgba(0,0,0,.25);
	height:80px;
	padding:5px 20px;
	text-align:center;
	box-sizing: border-box;
	z-index:101;
}

header .logo
{
	background-image:url(../images/logo.png);
	background-size:contain;
	background-repeat:no-repeat;
	position:absolute;
	left:20px;
	top:11px;
	width:176px;
	height:56px;
	float:left;
}

header nav
{
	display:inline-block;
	text-align:center;
	padding: 0px 0px 8px 0px;
}

.tour360 
{
	position: relative; 
	height: 600px; 
	overflow: hidden; 
	width: 100%;
	max-width: 980px;
	margin: 20px auto;
}

.tour360 iframe 
{
	position: absolute; 
	top: 0; 
	left: 0; 
	max-width: 1020px;
	height: 100%; 
}

nav a
{
	color:white;
	text-decoration: none;
	font-size:24px;
	line-height:20px;
	padding:25px 0px 10px 0px;
	display:inline-block;
	letter-spacing:1px;
	font-weight:600;
	margin:0px 20px;
}

nav a[aria-current]:not([aria-current="false"]),
nav a:hover
{
	border-bottom:5px solid white;
}


.nav-toggle
{
	display: none;
}

h1
{
	text-align: left;
	color: #009cb4;
	font-size: 55px;
	font-weight: 600;
	padding: 0px 20px;
}

main h1:first-child
{
	margin-top: 100px;
}

h2
{
	text-align: center;
	color: #009cb4;
	font-size: 45px;
	font-weight: 600;
	padding: 0px 20px;
}

.title_green
{
	background: #009cb4;
	padding-bottom: 35px;
	
}
.title
{
	padding-bottom: 10px;
}
.title,.title_green
{
	overflow: auto;
	/*margin-bottom: 10px;*/
}

.title_green h1 + .linklist
{
	margin-top:1.5em;

}

.linklist
{
	display:flex;
	max-width: 1500px;
	padding: 0px 20px;
	justify-content: center;
	margin:0px auto;
	margin-bottom: 1.8em;
}

.linklist .button
{
	background:white;
	color:#009cb4;
	text-decoration:none;

	padding:.5em 2em;
	display:inline-block;

	text-decoration: none;
	border-radius:5px;
	font-size: 1.2em;
	margin:0 10px;
	margin-bottom: 10px;
}
.title h1,.title_green h1,.makrolage .top{
	display: block;
	width: 100%;
	max-width: 1500px;
	margin: 0 auto;
}
	
.title h1,.title_green h1
{
	text-align: left;
	
	box-sizing: border-box;
	font-size: 65px;
}

.title_green h1
{
	color: #FFF;
	
	


}

.typo
{
	line-height:1.8em;
	padding: 0px 20px;
	text-align: justify;
	max-width: 1020px;
	margin: 20px auto;
	box-sizing: border-box;
}

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

.titelbild img
{
	width: 100%;
	float: left;
/*	margin-bottom: 10px;*/
}


video
{
	width:100%;
	/*margin-bottom: 10px;*/
}

.intro
{
	position: relative;
	overflow: hidden;
	z-index: 10;

}

.intro img
{
	position: relative;
	overflow: hidden;
	z-index: 100;

}
.intro .logo2{
	position: absolute;
	z-index: 1200;
	top:0px;
	left:0px;
	right:0px;
	bottom:0px;

}
.intro .welt
{
	animation: welt 18s linear infinite;
}

@keyframes welt { 100% { -webkit-transform: rotate(360deg); transform:rotate(360deg); } }

.intro
{
	background-position: center;
	background-size: cover;
}
.cycle-slideshow
{
	position:relative;
	height:auto;
	padding-top:50%;
	/*margin-bottom: 10px;*/
}

.slide
{
	position:absolute;
	width:100%;
	height:100%;
	background-size:cover;
	background-position:center center;
}

.cycle-slideshow .cycle-prev,
.cycle-slideshow .cycle-next
{
	position: absolute;
	top: 50%;
	z-index: 1000;
	width: 29px;
	height: 70px;
	margin-top: -35px;
	cursor: pointer;
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center center;
}

.cycle-slideshow .cycle-prev
{
	left: 1%;
	background-image: url('../images/prev.png');

}

.cycle-slideshow .cycle-next
{
	right: 1%;
	background-image: url('../images/next.png');
}

.makrolage .top
{
	position: relative;
}

.makrolage h1
{
	position: absolute;
	text-align: left;
	left: 20px;
	padding: 0px;
}

.makrolage img
{
	display: block;
	margin: 0 auto;
	width: 100%;
	max-width: 1300px;
	padding: 10px 0px 40px 0px;
}

main .makrolage:first-child img
{
	padding: 120px 0px 40px 0px;
}

.makrolage .bottom
{
	background: #009cb4;
	padding: 5px 0px;
	margin-bottom: 10px;
}
.text2
{
	display:flex;
	padding: 0px 20px;
	max-width: 1020px;
	margin: 20px auto;
	box-sizing: border-box;
}
.text2 .textimage,
.text2 .texttext
{
	padding:1em;
}

.text2 .textimage
{
	flex: 0 1 40%;
}

.text2 .texttext
{
	flex: 0 1 60%;
	line-height:1.4;
}

.text2 .textimage img
{
	max-width:100%;
}

.makrolage .bottom .text,
.mikrolage .text
{
	line-height:1.8em;
	margin: 3em auto;
	text-align: justify;
	max-width: 1020px;
	padding: 0px 20px;
	box-sizing: border-box;
}


.mikrolage > img
{
	display: block;
	margin: 0 auto;
	width: 100%;
	max-width: 1200px;
	padding: 40px 0px 30px 0px;
}


table.icons
{
	width: 100%;
}

table.icons td
{
	width: 15%;
}

table.price
{
	font-size: .9em;
}


table.price tr td
{
	background-color: #eaf6f9;
}

table.price tr.odd td
{
	background-color: #bee2eb;
}

.downloads
{
	text-align: center;
	max-width: 1020px;
	padding: 0px 20px;
	margin: 20px auto;
	box-sizing: border-box;
}

.downloads div
{
	margin-right: -20px;
}

.downloads a
{
	display: block;
	float: left;
	width: 50%;
	padding: 0px 20px 20px 0px;
	text-decoration: none;
	text-align: left;
	color: #009cb4;
	font-weight: 700;
	box-sizing: border-box;
}

.downloads a img
{
	width: 100%;
}

.gallery
{
	text-align: center;
	max-width: 1020px;
	margin: 20px auto;
	padding: 0px 20px;
	box-sizing: border-box;
	
}

.gallery div
{
	margin-right: -10px;
}

.gallery a
{
	display: block;
	float: left;
	width: 33.3%;
	padding: 0px 10px 10px 0px;
	text-align: left;
	text-decoration: none;
	font-size: 15px;
	box-sizing: border-box;
}

.gallery a img
{
	width: 100%;
	float: left;
	border: 1px solid #e8e8e8;
	margin-bottom: 4px;
}

.pricelist
{
	
	padding: 150px 0px 200px 0px;
	min-height: 100vh;
	display:block;
	max-width: 1500px;
	width:100%;
	margin:0px auto;
	box-sizing: border-box;
}

.pricelist .isobox
{
	position: -webkit-sticky;
	position:sticky;
	top: 8.2vw;
	width: 40%;
	padding: 0px 2%;
	box-sizing: border-box;
	float:left;
}

#iso
{
	height: 550px;
	height: 60vh;
}


#iso .flat.active *
{
	opacity: 1;
	fill:#009cb4;
	cursor:pointer;
}

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

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

#iso text
{
	font-family: 'Source Sans Pro', sans-serif;
}

.filter .select 
{
	position: relative;
	width: 100%;
	margin-bottom: 1em;
}   



.filter .select select 
{ 
	width: 100%;
	cursor: pointer;
	outline: 0;      
	border-radius: 0px;
	appearance: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	background-color: #009cb4;
	color:white;
	padding:2px 5px;
}
	
.filter .select select::-ms-expand 
{
	display: none;
}

.filter .select:hover .select_arrow,
.filter .select:focus .select_arrow
{
	border-color: black transparent transparent transparent;;
}

.filter .select select:hover
{
	color:black;
	background: #bee2eb;
}

.filter .select select:disabled 
{
		opacity: 0.5;
		pointer-events: none;
}

.filter .select_arrow 
{
	position: absolute;
	top: .45rem;
	right: .5rem;
	pointer-events: none;
	border-style: solid;
	border-width: .4rem .4rem 0px .4rem;
	border-color: white transparent transparent transparent;
}

.pricelist .pricebox
{
	width: 60%;
	float: right;
	padding: 0px 2%;
	box-sizing: border-box;
}



.hidden
{
	display:none;
}

table.price
{
	width: 100%;
	border-collapse: collapse;
}

table.price tr
{
	border-bottom: 1px solid #009cb4;
}

table.price  tr.active td,table.price  tr.active td a
{
	background: #009cb4;
	color:white;
}




table.price tbody tr
{
	cursor: pointer;
}

table.price thead th
{
	font-weight: 600;
	/*text-transform: uppercase;*/
}


.pricelist thead th .fa,
.pricelist thead th[data-sort].sorting-asc .fa-sort,
.pricelist thead th[data-sort].sorting-desc .fa-sort
{
	display:none;
	color:#009cb4;
}

.pricelist thead th[data-sort]
{
	cursor:pointer;
}

.pricelist thead th[data-sort] .fa-sort
{
	display:inline;
}

.pricelist thead th[data-sort].sorting-asc .fa-sort-asc
{
	display:inline;
}
.pricelist thead th[data-sort].sorting-desc .fa-sort-desc
{
	display:inline;
}


table.price td
{
	padding: 2px 4px;
}

table.price a
{
	text-decoration: none;
}

table.price.gewerbe .zimmer
{
	display:  none;
}


.filter
{
	position: fixed;
	bottom: 0px;
	left: 0px;
	right: 0px;
	 max-height: 400px;
	background: #FFF;
	-webkit-box-shadow: 0px -3px 5px 0px rgba(0,0,0,0.75);
	-moz-box-shadow: 0px -3px 5px 0px rgba(0,0,0,0.75);
	box-shadow: 0px -3px 5px 0px rgba(0,0,0,0.75);
	padding: 0px 2% 0px 2%;
	box-sizing: border-box;
	transition: max-height 0.4s ease-in;
	font-size: 16px;
	z-index: 120;
}

.filter .ui-widget-header
{
	background: #009cb4;
}

.filter.close
{
	max-height: 0;
	transition: max-height 0.4s ease-out;
	padding: 0px 2% 0px 2%;
}

.filter .caption
{
	position: absolute;
	top: -33px;
	left: 2%;
	padding: 5px 10px;
	width: 100px;
	color: #FFFFFF;
	background: ;
	font-weight: 600;
	cursor: pointer; 
	background: #009cb4 url('../images/down.png') no-repeat 90px center;
	background-size: 20px;
	font-size: 20px;
}

.filter.close .caption
{
	background-image: url('../images/up.png');
}

.filter .item
{
	float: left;
	padding: 20px 40px 10px 0px;
	width: 13%;
	min-width: 220px;
	height: 120px;
	box-sizing: border-box;
}

.filter strong
{
	font-weight: 600;
	display: block;
	margin: 0px 0px 8px 0px;
}

.filter label
{
	display: block;
	margin: 4px 0px;
}


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



.filter .print
{
	display: block;
	float: left;
	margin-top: 30px;
	padding: 4px 10px;
	background: #000000;
	color: #FFFFFF;
	text-decoration: none;
}

.detail h1.max
{
	color: #009cb4;
}

.detail h1.min
{
	color: #f9b233;
}

.detail h1.gewerbe
{
	color: #75ccf4;
}

table.facts
{
	float: left; 
	width: 48%;
	box-sizing: border-box;
	border-collapse: collapse;
}


table.facts:nth-child(even)
{
	float: right;
}

table.facts tr
{
	border-bottom: 1px solid #4b382d;
}

.grundrissview {
    background-color: #ffffff;
    background-position: 0px -250px;
    background-repeat: no-repeat;
    background-size: 740px auto;
    display: block;
    height: 735px;
    margin: 15px 0;
}


.contact
{
	margin:0px auto;
	max-width: 1020px;
}

.contact input[type=text],
.contact textarea,
.contact-button,
.contact .input,
.contact .select
{
	font-family: 'Source Sans Pro', sans-serif;
	background:transparent;
	margin:.35em 0em;
}
.select 
{
	position: relative;
	width: 100%;
	margin:1em 0;
	display: inline-block;

} 
.select select 
{ 
	width: 100%;
	cursor: pointer;
	outline: 0;      
	border-radius: 0px;
	appearance: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	font-family: 'Source Sans Pro', sans-serif;

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

.select select:hover,
.select select:focus 
{
	background: rgba(0,0,0,.1);
}

.select select:disabled 
{
		opacity: 0.5;
		pointer-events: none;
}
  
.select_arrow 
{
	position: absolute;
	top: 1em;
	right: 1em;
	pointer-events: none;
	border-style: solid;
	border-width: .5rem .5rem 0px .5rem;
	border-color: #009cb4 transparent transparent transparent;
}
.contact input[type=text],
.contact textarea,.contact select,
.login input
{
	width:100%;
	padding:.5em;
	border:1px solid #555;
	box-sizing:border-box;
}

.contact input[type=checkbox]
{
	margin-right:.1em;
}

.contact input[type=radio]
{
	margin-right:.1em;
	vertical-align:middle;
}

.contact textarea
{
	height:150px;
}

.contact-button
{
	border: 3px solid #e2017b;
	padding:.66em 2em;
	transition: color .33s,background .33s;
}

.contact-button:hover
{
	background:#e2017b;
	color:white;
}

.contact p label
{
	margin-right:.66em;
	vertical-align:middle;
	white-space:nowrap;
}

.contact label.error
{
	color:red;
	font-size:small;
	margin-top:-2px;
	line-height:1.4em;
	display:block;
}

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



.mail
{
	color:red;
	border:1px dashed red;
	padding:30% 2em;
	text-align:center;
} 

.mail.success
{
	color:green;
	border-color:green;
}
.visitform img{
	max-width:100%;
}
.contact .left,
.contact .right,.login
{
	padding:1em;
	box-sizing:border-box;
}

.contact .left
{
	float:left;
	width:60%;
}

.contact .right
{
	float:right;
	width:40%;
}


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,.66);
	overflow-y:scroll;
	-webkit-overflow-scrolling: touch;
	z-index:700;
	margin:0;
	max-width: none;
}

.popup.visible .wrapper
{
	max-width:800px;
	background:#ffffff;
	margin:2em auto;
	box-shadow: 3px 3px 10px 0px rgba(50, 50, 50, 1);
	position: relative;
}

.popup.visible .content
{
	padding: 30px;
	color: #000000;
}

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

.popup.visible .close
{
	position: absolute;
	right: 15px;
	top: 15px;
	width: 30px;
	height: 30px;
	padding: 0px;
	background: url('../images/popupclose.png') no-repeat center center;
	background-size:contain;
	cursor: pointer;
}

.popup h1
{
	text-align: left;
	padding: 0px;
	margin: 0px;
}

.popup .docs
{
	list-style-type: none;
	padding: 0px;
	margin: 20px 0px;
}

.popup .docs li
{
	width: 48%;
	float: left;
}

.popup .docs li:nth-child(even)
{
	float: right;
}
.popup .docs a
{
	display: block;
	background: #000;
	color: #FFF;
	text-decoration: none;
	padding: 5px 10px;
	
}


@MEDIA (max-width : 1750px)
{
	header nav
	{
		float: right;
	}
	
	nav a
	{
		margin: 0px 4px;
		font-size: 18px;
	}
}

@MEDIA (max-width : 1450px)
{
	.hide1450
	{
		display: none;
	}
		
}

@MEDIA (max-width : 1280px)
{
	
	header
	{
		position:static;
		height:auto;
	}
	
		
	
	main h1:first-child
	{
		margin-top: 20px;
	}

	.linklist{
		flex-wrap: wrap;
		margin-bottom: 0px;
	}

	.tour360 {
		height: 500px; 
	}	
	
	
	
	.pricelist
	{

		padding: 20px 0px 200px 0px;
		min-height: 100vh;
		box-sizing: border-box;
	}
		
	
}
@MEDIA (max-width : 1140px)
{
	nav a
	{
	
		font-size: 16px;
	}
}

@MEDIA (max-width : 1024px)
{
	.hideipad
	{
		display: none;
	}

	.hideipadp
	{
		display: none;
	}

	body
	{
		font-size:16px;
	}
	
	.nav-toggle
	{
		position:absolute;
		display: block;
		top: 40px;
		right: 10px;
		margin: 0px 0px 0px 0px;
		font-size:28px;
		padding:0;
		cursor:pointer;
		background:none;
		-webkit-transition: .5s ease-in-out;
		transition: .5s ease-in-out;
		width:35px;
		height: 40px;
		border: none;
		margin-top: -20px;
	}
	
	.nav-toggle span
	{
	  display: block;
	  position: absolute;
	  height: 4px;
	  width: 100%;
	  background: #75737a;
	  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;}
	.nav-toggle.open span:nth-child(1) { top: 9px; 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: 9px; width: 0%; left: 50%; }
	
	
	header nav
	{
		display: none;
	}
	
	header nav.open
	{
		display: block;
	}
	
	header nav.open
	{
		position: absolute;
		top: 82px;
		left: 0px;
		right: 0px;
		background: #bfbfbf;
		z-index: 2000;
		margin: 0px;
		border: 0px;
	}
	
	header nav a
	{
		border-top: 1px solid #FFF;
		display: block;
		text-align: center;
		padding: 10px 10px;
		font-weight: 400;
		
	}
	header .logo
	{
		position:static;
		margin-top:.5em;
		margin-bottom: .5em;
	}
	nav a.active, nav a:hover {
	    border-bottom: 0px;
	    font-weight: 700;
	}
	
	nav a
	{
		font-size: 18px;
	}
	

	.title_green h1,
	.title h1
		{
	    font-size: 45px;
	}

	.pricelist [data-toggle] 
	{

	    margin: 0px 50px 30px 0px;
	    font-size: 25px;
	}
	
	.pricelist div [data-toggle]:nth-child(even)
	{
		margin-right: 0px;
	}

	table.facts 
	{
	    float: none;
	    width: 100%;
	}
		
	
	.filter 
	{
	    max-height: 250px;
	}
	
	.filter .item 
	{
	    padding: 10px 5px 0px 5px;
	    width: 100%;
	    min-width: 160px;
	    height: auto;
	}
	
	
	.gallery a,
	.downloads a 
	{
	    width: 50%;
	    font-size: 11px;
	}
	
	
	.contact .left,
	.contact .right
	{
		float:none;
		width: 100%;
		padding:0em 20px;
	}
	.tour360 {
		height: 400px; 
		
	}	

	.hideportrait
	{
		display:none
	}
	
	.contact input[type=text],
	.contact textarea,
	.contact-button
	{
		background:rgba(255,255,255,.5);
	}
	
	.contact p label
	{
		margin-right:.33em;
	}
	
}

@MEDIA (max-width : 1000px)
{
	

	table.price th {
   		 font-size: 12px;
	}
}


@MEDIA (max-width : 750px)
{
	.text2 {
		display: block;
	}
	.text2 .textimage, .text2 .texttext{
		
		padding:0px;
	}
	.hideiphone
	{
		display: none;
	}

	.popup .docs li
	{
		width:100%;
	}
	
	.popup .docs li:not(:first-child)
	{	
		margin-top:15px;
	}

	h1,.title_green h1,
	.title h1
	{
		font-size: 30px;
	}

	main .makrolage:first-child img
	{
		padding: 20px 0px 40px 0px; 
	}
	
	h2
	{
		font-size: 25px;
	}
	
	.title_green h1
	{
		color: #FFF;
		text-align: left;
		width: 100%;
		display: block;
		max-width: 1500px;
		margin: 0 auto;
		box-sizing: border-box;
	}
	
	.cycle-slideshow .cycle-prev,
	.cycle-slideshow .cycle-next
	{
		width:23px;
		height: 50px;
		margin-top: -25px;
	
	}
	
	.tour360 {
		height: 300px; 
	}	
	
	.makrolage h1
	{
		position: static;
		padding: 0px 20px;
	}
	
	.makrolage img
	{
		padding-top: 0px;
	}
	
	table.icons td
	{
		width: 100%;
		display: block;
	}
	
	.pricelist .isobox
	{
		position: static;
		width: 100%;
		background:white;
	}
	
	#iso {
	    height: 200px;
	}
	
	.pricelist .pricebox 
	{
	    width: 100%;
	    float: none;
	}

}

@MEDIA (max-width : 400px)
{
	.gallery a{
		width:100%;
	}
}



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