/* spartan-300 - latin */
@font-face {
  font-family: 'Spartan';
  font-style: normal;
  font-weight: 300;
  src: local(''),
       url('../fonts/spartan-v3-latin-300.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */
       url('../fonts/spartan-v3-latin-300.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}

/* spartan-regular - latin */
@font-face {
  font-family: 'Spartan';
  font-style: normal;
  font-weight: 400;
  src: local(''),
       url('../fonts/spartan-v3-latin-regular.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */
       url('../fonts/spartan-v3-latin-regular.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}

/* spartan-500 - latin */
@font-face {
  font-family: 'Spartan';
  font-style: normal;
  font-weight: 500;
  src: local(''),
       url('../fonts/spartan-v3-latin-500.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */
       url('../fonts/spartan-v3-latin-500.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}




/* ======================   Reset  ============================   */

article, main, aside, details, figcaption, figure, footer, header, nav, section { display: block; }

audio, canvas, video { display: inline-block; *display: inline; *zoom: 1; margin:0; padding: 0; }
audio:not([controls]) { display: none; }
[hidden] { display: none; } 

body, html, div, table, td, span, p, a, form, h1, h2, h3, h4, h5, img, ul, li, object, embed, ul, li, input, textarea, button, article, main, aside, details, figcaption, figure, footer, header, hgroup, nav, section{
	padding: 0;
	margin: 0;
	border: none;
	-webkit-text-size-adjust: none;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}


html,body {
	width:100%;
	overflow-x: hidden; /* wegen Mobil Menu */
}


 



/* Colors   

main (grau): #1a171b
highlight farbe (gruen): #666666

grau: #f0f1f1
grau_heller: #f0f1f1

*/


html, body, button, input, select, textarea { 
	font-family: 'Spartan', sans-serif;
	color: #1a171b;
	font-size: 16px;
	line-height: 1.4;
	font-weight:300;
}


@media only screen and (min-width: 1600px) and (min-height: 1000px) {
html, body, button, input, select, textarea { 
	font-size: 17px;
}	
}

@media only screen and (max-width: 959px) {
html, body, button, input, select, textarea { 
	font-size: 16px;
}	
}

@media only screen and (max-width: 760px) {
html, body, button, input, select, textarea { 
	font-size: 16px;
}	
}



body {
	background-color: #fff;
}


a {
	outline: none;
	color: #000;
}

a:hover {
	color: #000;
}

a[href^="tel"]:link, a[href^="tel"]:visited, a[href^="tel"]:hover {
      text-decoration: none;
      color: #000;
}


img {
	max-width: 100%;
	height: auto;
}



h1, h2{
	font-size: 1.5rem;
	line-height:1.1;
	font-weight: 300;
	padding-bottom: 20px;
	text-align:left;
}

.datenschutzerklaerung h2{
	padding-top: 40px;
}



h3, h4, h5, h6 {
	font-weight: 300;
	padding-bottom: 15px;
		text-align:left;
}


h1 a, h2 a, h3 a, h4 a, h5 a, h6 a, h7 a {
	text-decoration: none;
}



ul{
margin:0;
padding:0;
}

li{
margin:0;
margin-left: 0px;
padding-left: 20px;
padding-bottom: 10px;
position: relative;
text-align:left;
}


main ul{
padding:0;
margin: 0;
margin-bottom:20px;
list-style:none;
list-style-type:none;
}

main li{
margin:0;
margin-left: 0px;
padding-left: 25px;
padding-bottom: 10px;
position: relative;
text-align:left;
}


main li:before {
    content: "\f0c8";
    font-family: FontAwesome;
	font-size: 0.6rem;
    color: #666666;
    position: absolute;
	left:4px;
	top: 5px;
}


sup, .textSup {
font-size:9px;
vertical-align:text-top;
line-height: normal;
}

.textKlein{
	font-size:0.9rem;
}


.textFarbig, .textBlau {
	color: #666666;
}

.textHellblau {
	color: #666666;
}
.textDunkelblau {
	color: #666666;
}

.textNormal {
	color: #1a171b;
	font-weight:normal;
}

.textSchwarz {
	color: #1a171b;
}

.textGross {
	font-size: 16px;
	font-size: 1.1rem;
}



.clearfloat, .clear { 
	clear: both;
	font-size: 1px;
	line-height: 1px;
    overflow: hidden;
    visibility: hidden;
    width: 0;
    height: 0;
	display:block;
}

 /* Use clearfix in parent div  */
.clearfix:before, .clearfix:after {
      content: '\0020';
      display: block;
      overflow: hidden;
      visibility: hidden;
      width: 0;
      height: 0; 
}
.clearfix:after {
      clear: both; 
}


.hidden {
	display:none;
}


div {
	background-repeat: no-repeat;
	background-position: left top;
}



strong, b {
	font-weight: 600;
}

em, i {
	color: #666666;
	font-weight: 400;
}



p {
	padding-bottom: 20px;
}


.abstand {
	padding-bottom: 50px;
	padding-top: 50px;
}

.abstandSchmal {
	padding-bottom: 15px;
	padding-top: 15px;
}


.abstandUnten {
	padding-bottom: 50px;
}
.abstandOben {
	padding-top: 50px;
}


.border {
	border: 1px solid #666666;
	padding:15px;
	margin-top:20px;
	margin-bottom: 20px;
	display:block;
}


.borderTop {
	border-top: 1px solid #9d9d9c;
}

.borderBottom {
	border-bottom: 1px solid #9d9d9c;
}

.aligncenter {
	text-align:center;
	margin: 0 auto;
	display:block;
}

.alignleft {
	text-align:left;
	display:inline;
}

.alignright {
	text-align:right;
	display:inline;
}


hr  {
	margin:0;
	padding:0;
	margin-top:10px;
	margin-bottom: 20px;
	clear:both;
  	border: 0;
  	border-top: 1px solid #666666;
  	border-bottom: 1px solid #fff;
}

.schattenUnten  {
-webkit-box-shadow: 0px 4px 4px 0px rgba(0,0,0,0.3);
-moz-box-shadow: 0px 4px 4px 0px rgba(0,0,0,0.3);
box-shadow: 0px 4px 4px 0px rgba(0,0,0,0.3);
}



a.button, .spalteHalb a{
	text-align: center;
	color: #000;
	display: inline-block;
    font-size: 1rem;
	line-height: 1.5;
	padding: 5px 30px;
	padding-top: 10px;
	text-decoration: none;
	vertical-align:text-top;
	border: 1px solid #000;
	margin-top: 20px;
}


a.button:hover, .spalteHalb a:hover{
	color: #fff;
	background-color: #000;
}



.abstandRahmen {
	padding: 20px;
}

.abstandBorder {
	padding-top: 20px;
	padding-bottom: 20px;
	border-bottom: 1px solid #9d9d9c;
	margin-bottom:35px;
}



/* ---------- Tabelle ------------- */

table { border-collapse: collapse; border-spacing: 0; width: 100%; margin-bottom: 14px; }
td { vertical-align: top; text-align: left; padding: 5px; }

table p{
	margin: 0;
	padding: 0;
}

table.tableReferenzen td{
	border-bottom: 1px solid #666666;
}


table.tableReferenzen{
	border: 1px solid #666666;
}

table.tableReferenzen tr td:first-child{
	background-color: #c3da99;
	color: #fff;
	font-weight:bold;
	width:20%;
}




/* ---------- Haupt Divs ------------- */
 

.containerRahmen{
	width: 100%;
	text-align:center;
} 


.container{
	width: 990px;
	max-width: 90%;
	min-width:300px;
	text-align:left;
	margin-left: auto;
	margin-right: auto;
} 



main{
	min-height: 400px;
	position:relative;
} 




/* ---------- spalten ------------- */



.spalteDrittel{
	width: 33.333%;
	padding-left: 0;
	padding-right: 0;
	float: left;
	line-height: 1.4;
	font-size: 16px;
}
.spalteZweidrittel{
	width: 66.666%;
	padding-left: 0;
	padding-right: 0;
	float: left;
}

.spalteVoll{
	padding-left: 0;
	padding-right: 0;
}

.spalteHalb{
	width: 50%;
	padding-left: 0;
	padding-right: 0;
	float: left;
}

.spalteHalbLinks{
	padding-right: 3%;
}
.spalteHalbRechts{
	padding-left: 3%;
}


.spalteViertel{
	width: 25%;
	padding-left: 0;
	padding-right: 0;
	float: left;
}

.spaltenInnen{
	margin-bottom: 20px;
}


.spalteInnenHalbLinks{
	width: 34%;
	float: left;
}

.spalteInnenHalbRechts{
	width: 59%;
	float: right;
}

.noMargin{
	margin: 0 !important;
}




/* ---------- Header ------------- */


#headerRahmen {
	width: 100%;
	position: relative;
	background-color: #fff;
}




.headerLogo img {
width: 400px;
margin: 0 auto;
display:block;
}



#logoMobil {
	display:none;
}




/* ----------  Streifen Slider / Foto ------------- */

#streifenRahmen{
	width: 100%;
	position: relative;
	background-color: #fff;
	overflow: hidden;
} 



.streifenFoto{
	overflow: hidden;
	position: relative;
} 
.streifenFoto img{
	margin: 0 auto;
	display: block;
	width: 100%;
	height: auto;
}



.streifenText{
/* background-color: rgba(255, 255, 255, 0.7); */
width: auto;
color: #fff;
position:absolute;
width: 30%;
left: 15%;
top: 20%;
padding:10px;
padding-left: 20px;
padding-right:20px;
font-size: 1.1rem;
font-weight:400;
line-height:1.2;
text-align:left;
text-shadow: 0px 0px 18px rgba(50, 74, 101, 1);
} 

.textUnten{
top: auto;
bottom: 20%;
} 
.streifenText p{
	margin-bottom:0;
	padding-bottom:0;
} 


#nachUnten{
	position: absolute;
	z-index: 100;
	top: 49%;
	left: 0px;
	margin: 0 auto;
	width: 100%;
	text-align: center;
}

a#nachUntenButton{
	width: 120px;
	height: 45px;
	text-align: center;
	color: #fff;
	background-color: rgba(218,15,27, 0.5);
	display: inline-block;
    font-size: 1.3rem;
	text-decoration: none;
	vertical-align:text-top;
} 
a#nachUntenButton:hover{
background-color: rgba(218,15,27, 1);
}
a#nachUntenButton span {
	display: inline-block;
	vertical-align:text-top;
	padding-top: 10px;
}


a#nachUntenButton:before {
	display: inline-block;
	text-align: center;
  	content: "\f103";
    display: inline-block;
    font-family: FontAwesome;
    font-size: 2.3rem;
    font-weight: normal;
  	text-rendering: auto;
  	-webkit-font-smoothing: antialiased;
  	-moz-osx-font-smoothing: grayscale;
	padding-right: 10px;
	vertical-align:text-top;
}




/* ------ Block Teaser  -------- */

.teaserBlockRahmen > div{
	padding-bottom: 10px;
	margin-bottom: 15px;
	border-bottom: 1px solid #666666;
}

.teaserBlockRahmen > div:last-child{
	margin-bottom: 0px !important;
	border-bottom: 0px !important;
}

.teaserBlock{
	margin-bottom: 20px;
}

.teaserBlock h2, .teaserBlock h3{
	padding-bottom: 10px;
}

.teaserImageRahmen{
	display:block;
	width:100%;
	height: 280px;
	overflow:hidden;
	position:relative;
	margin-bottom:10px;
}

.teaserImageRahmenGross{
	display:block;
	width:100%;
	height: 380px;
	overflow:hidden;
	position:relative;
	margin-bottom:10px;
}


.teaserImage{
	display:block;
	width:100%;
	position:relative;
	margin-top: -20px;
}

.teaserImage img{
	display:block;
	width:100%;
	height:auto;
}


.teaserDatum{
	color: #666666;
	display:block;
}




/* ---------- Info Blöcke ------------- */

.articleInfo{

} 
.articleInfo .icon{
	width: 120px;
	margin: 0 auto;
}

.articleInfo h3{

} 

.articleInfo p{
	padding-bottom: 10px;
} 




/* ---------- Aufklapptexte   ------------- */
.blockInnenRahmen{
padding-top: 0px;
}

.blockInnen{
padding-top: 10px;
padding-bottom: 10px;
margin-top: 10px;
border-top: 1px solid #aaa;
}


a.mehrLink{
	text-decoration:none;
	display:block;
	position: relative;
}


.btnMehr, .btnWeniger{
	display: inline-block;
	position: absolute;
	left: 0px;
	top: 0px;
	padding-left: 5px;
	padding-top: 2px;
text-decoration: none;
text-transform: none;
text-align: center;


}

.btnWeniger{
	display: none;
}


a.mehrLink h2, a.mehrLink h3{
	display: block;
	padding:0;
	margin:0;
	position: relative;
	margin-left: 35px;
	padding-top:5px;
	min-height: 22px;
}


div.mehrDiv{
	display: none;
	margin-left: 35px;
	margin-top: 20px;
}




/* ------ rechte Spalte Blöcke -------- */

.sideBlock{
	background-color: #f0f1f1;
	font-size: 0.9rem;
	padding: 15px;
	padding-right: 10px;
	margin-bottom: 30px;
}

.sideBlock h2{
	font-size: 20px;
	font-size: 1.4rem;
	padding-bottom: 15px;
}

.sideBlock h3, .sideBlock h4{
	padding-bottom:0px;
	font-weight: 600;
}

.sideBlock p{
	padding-bottom:10px;
}


.sideFoto{
	margin-bottom: 30px;
}
.sideFoto img{
	max-width: 100%;
	width: 100%;
	height: auto;
	border: 1px solid #CCC;
}

.widget_categories a, .widget_archive a{
	text-decoration:none;
}



/* ---------- Footer ------------- */

footer{
    width: 100%;
}

footer .container{
    background-color: #9d9d9c;
	color: #fff;
	text-align:right;
	padding: 20px 10px;
	margin-bottom: 30px;
}



footer ul{
	margin:0;
	padding:0;
	list-style:none !important;
	list-style-type:none !important;
	text-align:right;
}

footer li{
	display:inline-block;
	margin:0;
	padding:0;
	padding-right: 20px;
	text-transform:uppercase;
}


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







/* Formulare */

form.wpcf7-form input, form.wpcf7-form textarea, .mc4wp-form-fields input {
    padding: 3px;
	background-color: #fff;
	color: #000;
	width: 99%;
	border: 1px solid #CCC;
}

form.wpcf7-form input[type=submit], .mc4wp-form-fields input[type=submit] {
	width: auto;
	background-color: transparent;
	text-align: center;
	background-color: #666666;
	color: #fff;
	display: inline-block;
    font-size: 1.1rem;
	line-height: 1.2;
	margin:0;
	padding: 4px 8px;
	text-decoration: none;
	vertical-align:text-top;
	border: 1px solid #666666;
	font-weight:400;
	cursor:pointer;
}  





/* --------- search ------- */

.widget_search .screen-reader-text {
    display:none;
}

.widget_search #searchsubmit {
    background-color: #666666;
    color: #fff;
    cursor: pointer;
    display: inline-block;
    font-size: 1rem;
    font-weight: 400;
    line-height: 1;
    margin: 0;
    padding: 3px 6px;
    text-align: center;
    text-decoration: none;
    width: auto;
	margin-left: 10px;
}



/* --------- contact form ------- */

form.wpcf7-form {
	width:66%;
	margin-top: 20px;
}

form.wpcf7-form .label {
	display:block;
	float:left;
	width:33%;
	margin-bottom: 15px;
}


form.wpcf7-form .element {
	display:block;
	float:left;
	width:66%;
	margin-bottom: 15px;
}


form.wpcf7-form .wpcf7-form-control-wrap {

}




form.wpcf7-form textarea {
	height:100px;
}
form.wpcf7-form input[type=checkbox] {
	width: auto;
 }

form.wpcf7-form .wpcf7-list-item {
	display: block;
 } 


 

/* placeholder all elements */
input:-moz-placeholder, textarea:-moz-placeholder { color: #999; }

form.wpcf7-form .placeholder {
   color: #808080 !important;
}

form.wpcf7-form span.wpcf7-form-control-wrap {

}


form.wpcf7-form input[type=submit] {
	background-color: #797979 !important;
	color: #fff !important;
	width: 130px !important;
	cursor:pointer;
}












@media only screen and (min-width: 1630px) and (min-height: 1000px) {

}


@media only screen and (max-width: 959px) {
	
	
}



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


	
.spalteDrittel, .spalteZweidrittel, .spalteVoll, .spalteHalb{
	width: 100%;
	margin-left: 0;
	margin-right: 0;
	padding-left:0;
	padding-right:0;
	float: none;
	margin-bottom: 15px;
}

.headerLogo {
	padding-bottom: 15px;
}

.abstandBorder {
	padding-top: 0px;
	padding-bottom: 0px;
	border-bottom: 1px solid #9d9d9c;
	margin-bottom:35px;
}


form.wpcf7-form {
	width:100%;
	margin-top: 20px;
}
form.wpcf7-form .label {
	width:50%;
}

form.wpcf7-form .element {
	width:50%;
}
form.wpcf7-form .wpcf7-submit {
	margin-left: 50%;
 }  
 

}



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


.spalteViertel{
	width: 100%;
	margin-bottom: 30px;
}




}







/* ===== print styles ========================= */

@media print {

* { background: transparent !important; color: black !important; box-shadow:none !important; text-shadow: none !important; filter:none !important; -ms-filter: none !important; } 
  

.ir a:after, a[href^="javascript:"]:after, a[href^="#"]:after { content: ""; } 
   /* Don't show links for images, or javascript/internal links */
   
   
#containerAussen {
    background-color: #fff;
    box-shadow: none;
    margin: 0 auto 50px;
    width: 80%;
}

#navRahmen, footer {
	display:none;
}



}

