/* CSS Document */

html {
	height:100%;
	background-color:#fff;
}

body {
	width:100%;
	height:100%;
	background-color:#fff;
	background:none;
	color:#000;
	font-family:"Open Sans Condensed",Helvetica,Arial,Verdana,sans-serif;
	font-weight:300;
	font-size:large;
}

.text_center {
	text-align:center;
}
.bcenter {
	display:block;
	margin:auto;
}

h1, h2, h3, h4, h5, h6 {
	text-transform:uppercase;
	font-weight:normal;
	margin-top:1em;
	line-height:1.3em;
}
h1, h2, h3, h4, h5, h6, p, ul, dl {
	margin-bottom:0.8em;
}

h1 {
	font-size:200%;
	font-family:"Open Sans Condensed",Arial,sans-serif;
	font-weight:700;
}
h2 {
	font-size:170%;
}
h3 {
	font-size:130%;
}

a {
	text-decoration:none;
	color:#bb1540;
}
a:hover {
	color:#686868;
}


.text_twocol {
	-moz-column-count:2;
	-moz-column-gap:1em;
	-webkit-column-count:2;
	-webkit-column-gap:1em;
	column-count:2;
	column-gap:1em;
}

.magenta {
	color:#bb1540;
}
.magenta2 {
	color:#3B1922;
}
.bg_magenta {
	background-color:#bb1540;
}
.bg_magenta2 {
	background-color:#3B1922;
	color:#fff;
}

.grau {
	color:#a8a8a8;
}
.grau2 {
	color:#f4f4f4;
}
.grau3 {
	color:#686868;
}
.bg_grau {
	background-color:#a8a8a8;
}
.bg_grau2 {
	background-color:#f4f4f4;
}
.bg_grau3 {
	background-color:#686868;
	color:#f4f4f4;
}

.menu {
	background:none;
	border:2px solid #fff;
	border-radius:0.5rem;
	padding:0.25rem;
	box-sizing:border-box;
	
	background-color:rgba(255,255,255,0.2);
	background-image:url(../../../svg/icons/btn_menu.svg);
	background-repeat:no-repeat;
	background-size:80%;
	background-position:center;
	background-clip:padding-box;
	
	width:3rem;
	height:3rem;
	font-size:1rem;
}

#CHG {
    height:50%;
    position:relative;
}

#H0 {
	min-height:3rem;
	padding:0.5rem;
	width:100%;
		position:fixed;
		left:0px;
		top:0px;
		right:0px;
		z-Index:10;
}
#H0 .table {
	table-layout:fixed;
	width:100%;
	height:100%;
}
#H0 .tr .td {
	width:20rem;
	vertical-align:center;
}
#H0 .tr .td:first-of-type {
	width:4rem;
}

#H0 h1 {
	margin-top:0px;
	margin-bottom:0px;
	
	margin-left:1em;
	color:#fff;
	font-size:100%;
	line-height:1em;
	
	font-weight:300;
}
#H0 #btnMenu {
	margin-right:1em;
}


#F1 {
}

#H1 {
	padding:0.5rem;
}
#H1 img {
	display:block;
	height:60px;
	width:auto;
}

footer {
	padding-top:1em;
	padding-bottom:1em;
	border-top:1px solid #fff;
	border-bottom:1px solid #666;
	font-size:80%;
}

footer dl {
	margin-bottom:0px;
	margin-top:0px;
	
	margin:auto;
	max-width:71.25rem;
	line-height:1.2em;
}
footer dt.land, footer .firmendaten dt {
	font-weight:normal;
	text-transform:uppercase;
}

footer a {
	text-decoration:none;
	color:#f4f4f4;
}

footer a:hover {
	text-decoration:underline;
	color:#bb1540;
}

footer .adresse, footer .firmendaten {
	display:table;
}
footer .tr {
	width:100%;
}
footer .td {
	width:25%;
}

#F2 {
	padding-top:0.5rem;
	padding-bottom:0.5rem;
	font-size:100%;
}
#F2 nav {
	border-top:1px dotted #686868;
	margin:auto;
}
#F2 a:hover {
	color:#bb1540;
}

#Content {
	margin:auto;
	max-width:71.25rem;
}

#F0 .adresse, #F1 .firmendaten, #F2 #nav1 {
	box-sizing:border-box;
	max-width:71.25rem;
}
#btnMenu {
	display:block;
}

#nav0 {
	display:none;
	position:absolute;
	left:0px;
	top:4rem;
	min-width:15em;
	height:auto;
	z-Index:10;
}
#nav0 a {
	color:#fff;
	display:block;
	width:100%;
	height:100%;
}
#nav0 li {
	border-bottom:1px dotted #fff;
	margin-top:0.5em;
	margin-bottom:0.5em;
	padding:0.5em;
}
#nav0 li:last-of-type {
	border-bottom:none;
}

#nav0 li li {
	border-bottom:none;
	margin-bottom:0.2em;
	margin-top:0.2em;
	font-size:90%;
}




#nav1 {
	text-align:center;
}
#nav1 li {
	display:inline;
	padding-left:0.5em;
	padding-right:0.5em;
	margin-left:0.5em;
	margin-right:0.5em;
}
#nav1 a {
	color:#333;
	text-decoration:none;
}

#nav1 ul {
	margin-bottom:0px;
}


/* ---- Desktop-Navigation: ---- */
#nav2, #nav3 {
	display:none;
	max-width:100%;
	margin:auto;
	text-align:center;
}

#nav2 {
	display:table;
	display:none;
	table-layout:fixed;
	margin:auto;
	border-collapse:separate;
	min-height:5em;
	padding:0.5rem;
	margin-top:-3em;
}
#nav2 ul {
	display:table-row;
	margin:auto;
}
#nav2 li {
	display:table-cell;
	width:20rem;
	font-size:200%;
	line-height:1.2em;
	text-transform:uppercase;
	margin:0.5rem;
	border-radius:0.5rem;
	background-color:#bb1540;
	color:#fff;
	padding:0.5em;
	box-sizing:border-box;
	border:2px solid #fff;
	border-collapse:separate;
	vertical-align:middle;
	
	box-shadow:0px 0px 5px #ccc;
}
#nav2 a {
	color:#fff;
	display:block;
	width:100%;
	height:100%;
}


#nav3 {
	display:none;
	margin-top:1em;
}
#nav3 ul {
	margin:auto;
	max-width:71.25rem;
	border-bottom:1px dotted #686868;
	padding-bottom:0.2em;
}
#nav3 li {
	display:inline-block;
	padding-left:1em;
	padding-right:1em;
	position:relative;
	line-height:1.2em;
	height:1.5em;
	box-sizing:border-box;
}

#nav3 a {
	color: #bb1540;
}

#nav3 ul ul {
	display:none;
	position:absolute;
	left:0px;
	top:1.5em;
	width:100%;
	height:auto;
	z-Index:1;
	background-color:#fff;
}

#nav3 ul ul li {
	display:block;
	height:auto;
	margin-top:0.5em;
	margin-bottom:0.5em;
}

#nav3 li:hover>ul {
	display:block;
}
/* ENDE Desktop-Navigation: ---- */
/*
ul.lightbox {
	margin:0px;
	padding:0px;
	list-style-type:none;
}

ul.lightbox li {
	display:inline;
	margin:1px;
}

ul.lightbox li img {
	padding:1px;
	margin:3px;
	-webkit-box-shadow:0px 0px 3px #666;
	-moz-box-shadow:0px 0px 3px #666;
	box-shadow:0px 0px 3px #666;
}
*/

ul.lightbox {
}
ul.lightbox li {
	box-shadow:none;
	border:none;
	margin:2px;
}

ul.lightbox li a {
	display:inline;
	font-size:0px;
}
ul.lightbox li img {
	border:1px solid #eee;
	padding:2px;
	width:75px;
	height:auto;
}

ul.lightbox li:hover {
	box-shadow:none;
}

ul.lightbox li:hover img {
    box-shadow: 0px 0px 5px #bb1540;
}
ul.lightbox li button, ul.lightbox li a.menu {
	display:block;
	font-size:90%;
	color:#900;
	padding:0.1em;
}


/* ---- Links: ---- */
#ulLinks, #ulLinks ul {
	list-style-type:none;
}
/* ENDE Links: ---- */


/* ---- Kontakt: ---- */
#CMap {
	border:1px solid #bb1540;
	padding:5pe;
}
/* ENDE Kontakt: ---- */


/* ---- Philosophie: ---- */
.spruch {
	text-align:center;
	margin:auto;
	margin-top:1em;
	margin-bottom:1em;
	font-size:120%;
	font-style:italic;
	max-width:70%;
}
/* ENDE Philosophie: ---- */


/* ---- Team: ---- */
#CTeam h2 {
	font-size:100%;
}

#CTeam h2:first-line {
	font-size:200%;
}
/* ENDE Team: ---- */


/* ---- Immobilien: ---- */
ul.immotypen {
	list-style-type:none;
	margin:0px;
	padding:0px;
}
ul.immotypen li {
	margin:0px;
	padding:0px;
	padding-top:0.8em;
	padding-bottom:0.8em;
	border-bottom:1px solid #ccc;
	padding-left:0.5em;
}
ul.immotypen li:last-of-type {
	border-bottom:none;
}
ul.immotypen a {
	display:block;
	width:100%;
	height:100%;
	color:#999;
}

ul.immotypen li:hover {
	background-color:#bb1540;
	text-transform:uppercase;
}
ul.immotypen li:hover a {
	color:#fff;
}
ul.immotypen a:hover:after {
	content:" ›";
}

ul.immotypen .active a {
	font-weight:bold;
	color:#bb1540;
}

#CImmobilien h2:first-of-type, #CImmobilien .immotypen h3:first-of-type {
	margin-top:0px;
}

#CImmobilien h3 {
	margin-bottom:0px;
	border-bottom:1px solid #bb1540;
	color:#bb1540;
	padding-bottom:2px;
}
#CImmobilien .datum {
	font-size:90%;
	color:#999;
	text-align:right;
}

#CImmobilien figure {
	display:block;
	position:relative;
	margin-bottom:0.5em;
	background-color:#fff;
	padding:0.2em;
	border:1px solid #eee;
	max-width:300px;
}
#CImmobilien figure img {
	display:block;
	margin:auto;
	margin-top:0.1em;
	margin-bottom:0.8em;
	border:1px solid #eee;
	
	max-width:100%;
	height:auto;
}
#CImmobilien figure:before {
    bottom: 1em;
    box-shadow: 0 1em 0.5em rgba(0, 0, 0, 0.3);
    content: "";
    height: 10%;
    left: 0.25em;
    position: absolute;
    transform: rotate(-4deg);
    width: 40%;
    z-index: -2;
}
#CImmobilien figcaption {
}

#CImmobilien section.immotypen {
	border-bottom:1px solid #ccc;
	padding-bottom:0.5em;
	padding-top:0.5em;
}
#CImmobilien section.immotypen:last-of-type {
	border-bottom:none;
}

.immotypen .anz {
	font-size:70%;
}

#CImmobilien .immobilie .td:first-of-type {
	width:15em;
	padding-right:1em;
}

#CImmobilien .attribute {
	list-style-type:none;
	margin:0px;
	padding:0px;
	display:none;
}
#CImmobilien .attribute li {
	font-weight:bold;
	line-height:1.2em;
	margin:0px;
	padding:0px;
	margin-bottom:0.5em;
}
#CImmobilien .attribute .attribute {
	display:inherit;
}
#CImmobilien .attribute .attribute li {
	font-weight:normal;
	margin-bottom:0px;
}

#CImmobilien section.immotypen .immobilie {
	padding:0.5em;
}
#CImmobilien section.immotypen .immobilie:nth-of-type(even) {
	background-color:#eee;
}
#CImmobilie section.immotypen .immobilie:nth-of-type(odd) {
	background-color:#fff;
}

.immobilie .verfuegbarkeit {
	background-color:rgba(255,255,0,0.8);
	color:#000;
	position:absolute;
	left:0px;
	top:1em;
	width:100%;
	height:auto;
	box-sizing:border-box;
	z-Index:1;
	padding:0.5em;
	box-shadow:0px 0.5em 0.5em #333;
	font-weight:700;
	text-transform:uppercase;
	font-size:120%;
}

.immobilie input[type=button],
.immobilie input[type=submit],
.immobilie input[type=reset],
.immobilie button {
	display:block;
	padding-top:0.2em;
	padding-bottom:0.2em;
	margin:auto;
	margin-top:0.5em;
	margin-bottom:0.5em;
	
	border-radius:0.5em;
	line-height:1.3em;
	background-color:#fff;
	border:2px solid #999;
	
	color:#999;
}

.immobilie input[type=button].inline,
.immobilie input[type=submit].inline,
.immobilie input[type=reset].inline,
.immobilie button.inline {
	display:inline;
	margin-top:0px;
	margin-bottom:0px;
	margin-left:0.8em;
}

.immobilie input[type=button]:hover,
.immobilie input[type=submit]:hover,
.immobilie input[type=reset]:hover,
.immobilie button:hover {
	color:#bb1540;
	border-color:#bb1540;
	box-shadow:0px 0px 5px #ccc;
}

.immobilie .immono {
	font-size:70%;
}

.immobilie .kontaktaufnahme {
	border-top:1px solid #ccc;
	border-bottom:1px solid #ccc;
	margin-top:0.5em;
	margin-bottom:1em;
	padding-top:3px;
	padding-bottom:3px;
	text-align:center;
	
	font-style:italic;
}

.attribute>li>.einheit {
	display:none;
}
.attribute ul>li>.einheit {
	display:inline;
}
.einheit {
	margin-left:0.2em;
}

.beschreibung {
	padding:0.5em;
}
/* ENDE Immobilien: ---- */

/* ---- Tablet, etc.: ---- */
@media only screen and (min-width: 64em) {
	#nav0 {
		display:block;
	}
}
@media only screen and (max-width: 64em) {
	/* 64em = 1024Px */
	#CHG {
		height:100%;
	}
	
	#H0 {
		position:fixed;
		left:0px;
		top:0px;
		right:0px;
		z-Index:10;
	}
	
	#H0 .tr .td:first-of-type {
		display:table-cell;
	}
	#H0 #nav0 {
		display:none;
		width:25rem;
		position:relative;
		left:0px;
		top:0px;
		height:auto;
		z-Index:1;
	}
	
	#nav2, #nav3 {
		display:none;
	}
	
	#nav0 ul ul {
		margin-left:2rem;
		position:static;
		left:0px;
		top:0px;
	}
	
	#nav0 ul ul li {
		line-height:1.2em;
		font-size:80%;
		border-bottom:none;
	}
	
	#nav0 li {
		padding:0.5rem;
		border-bottom:1px dotted #fff;
		display:block;
	}
	
	#nav0 li:last-of-type {
		border-bottom:none;
	}
	#nav0 a {
		color:#fff;
	}
	
	#btnMenu {
		display:block;
	}
}
/* ENDE Tablet, etc.: ---- */


/* ---- Smartphones, etc. ---- */
@media handheld, only screen and (max-width: 47.99999999em) {
	/* 48em = 768Px --> alles, was kleiner als 768Px ist*/
	
	.immobilie .tr, .immobilie .td {
		display:block;
	}

	#F0 .adresse, #F1 .firmendaten, #F2 #nav1 {
		padding-left:20px;
		padding-right:20px;
	}
	
	.twocols {
		-moz-column-count:1;
		-moz-column-gap:0px;
		-webkit-column-count:1;
		-webkit-column-gap:0px;
		column-count:1;
		column-gap:0px;
	}
/* ENDE Smartphones, etc. ---- */

