/* cabin-condensed-regular - latin */
@font-face {
  font-family: 'Cabin Condensed';
  font-style: normal;
  font-weight: 400;
  src: url('fonts/cabin-condensed-v19-latin-regular.eot'); /* IE9 Compat Modes */
  src: local(''),
       url('fonts/cabin-condensed-v19-latin-regular.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
       url('fonts/cabin-condensed-v19-latin-regular.woff2') format('woff2'), /* Super Modern Browsers */
       url('fonts/cabin-condensed-v19-latin-regular.woff') format('woff'), /* Modern Browsers */
       url('fonts/cabin-condensed-v19-latin-regular.ttf') format('truetype'), /* Safari, Android, iOS */
       url('fonts/cabin-condensed-v19-latin-regular.svg#CabinCondensed') format('svg'); /* Legacy iOS */
}
/* cabin-condensed-700 - latin */
@font-face {
  font-family: 'Cabin Condensed';
  font-style: normal;
  font-weight: 700;
  src: url('fonts/cabin-condensed-v19-latin-700.eot'); /* IE9 Compat Modes */
  src: local(''),
       url('fonts/cabin-condensed-v19-latin-700.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
       url('fonts/cabin-condensed-v19-latin-700.woff2') format('woff2'), /* Super Modern Browsers */
       url('fonts/cabin-condensed-v19-latin-700.woff') format('woff'), /* Modern Browsers */
       url('fonts/cabin-condensed-v19-latin-700.ttf') format('truetype'), /* Safari, Android, iOS */
       url('fonts/cabin-condensed-v19-latin-700.svg#CabinCondensed') format('svg'); /* Legacy iOS */
}

/* CSS Document */
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video { margin: 0; padding: 0; border: 0; font-size: 100%; font: inherit; vertical-align: baseline; }
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section { display: block; }
body { line-height: 1; }
ol, ul { list-style: none; }
blockquote, q { quotes: none; }
blockquote:before, blockquote:after, q:before, q:after { content: ''; content: none; }
table { border-collapse: collapse; border-spacing: 0; }
.align-center { text-align: center; }
.abstand-oben { margin-top: 200px; }


/********************************
 Basis
*********************************/
* {margin: 0; padding: 0; }
.clear {overflow:hidden; clear: both;}
.trenner {overflow:hidden; clear: both;border-bottom: 1px solid #ccc;}
.abstand {position: relative; clear: both; float: left; display: inline; width: 100%; height: 80px;}
* html .clear {height:1%}
img {border: none; max-width: 100%; height: auto;}
body { font-family: 'Cabin Condensed', sans-serif; font-weight: 400; text-align: center; color: #000; }
input, select, textarea { -ms-box-sizing: content-box; -moz-box-sizing: content-box; -webkit-box-sizing: content-box; box-sizing: content-box; -webkit-appearance: none; border-radius: 0; }
input[type=checkbox] { -webkit-appearance: checkbox; appearance: checkbox; background: none; }


/********************************
   Weiche Übergänge               
********************************/
mobiltrigger, #navigation, #inhalt a, #navibalken, .cmxform .submit { transition: all 0.3s ease-in-out; -webkit-transition: all 0.3s ease-in-out; }


/********************************
  Kopf
*********************************/
#kopfwrapper { position: fixed; width: 100%; height: 180px; top: 0; left: 0; z-index: 500; }
#kopf { position: relative; width: 92%; max-width: 1180px; margin: 0 auto; text-align: left; padding: 0 4%; overflow: hidden; }
#logo { position: relative; width: auto; height: auto; float: left; display: inline; margin: 0 0 0 0; }
#logo img { position: relative; width: 250px; height: auto; }
#navigation { position: relative; float: right; display: inline; width: auto; height: auto; text-align: left; padding: 0; margin: 50px 0 0 0; clear: left; }
#navigation ul { margin: 0; }
#navigation ul li { float: left; margin: 0 10px 0 0; display: inline; background-color: rgba(255,255,255,0.95); }
#navigation ul li.telefon { font-size: 1em; color: #333; text-align: center; padding: 4px 10px; margin: 0 0 0 20px; display: inline-block; text-transform: uppercase; text-decoration: none; }
#navigation ul li a { font-size: 1.25em; color: #333; text-align: center; padding: 5px 15px; display: inline-block; text-transform: uppercase; text-decoration: none; }
#navigation ul li a:hover { color: #E3051A; }
#navigation ul li.aktiv a { color: #000; border-left: 1px solid #000; font-weight: 700; }
#navitrigger { display: none; position: fixed; top: 90px; right: 4%; width: 48px; height: 48px; cursor:pointer; }
#mobilnavigation { display: none; position: fixed; top: 0; left: 0; z-index: 83; width: 100%; background-color: #fff; overflow: hidden; padding: 130px 0 0 0; -webkit-box-shadow: 0 0 15px #888; -moz-box-shadow: 0 0 15px #888; box-shadow: 0 0 15px #888; }
#mobilnavigation ul li { list-style: none; margin: 0; font-size: 1.25em; line-height: 1.6em; color: #424242; }
#mobilnavigation ul li a { color: #fff !important; text-decoration: none; text-transform: uppercase; padding: 10px 0; border-bottom: 1px solid #eee; display: block; font-size: 1.5em; }
#mobilnavigation ul li.aktiv a { color: #424242 !important; }
#mobilnavigation .kleiner { font-size: 0.75em; }
#navibalken { position: fixed; width: 100%; height: 0px; top: 0; left: 0; z-index: 467; overflow: hidden; background-color: #fff; -webkit-box-shadow: 0px 0px 15px 0px rgba(0,0,0,0.75); -moz-box-shadow: 0px 0px 15px 0px rgba(0,0,0,0.75); box-shadow: 0px 0px 15px 0px rgba(0,0,0,0.75); }
#telefonmobil { font-size: 1em; color: #333; text-align: center; padding: 4px 10px; margin: 0 0 0 20px; display: inline-block; text-transform: uppercase; text-decoration: none; display: none; position: absolute; top: 20px; right: 4%; width: auto; height: 20px; white-space: nowrap; }

@media only screen and (max-width: 1024px) {
	#kopfwrapper { height: 130px; position: relative; }
	#kopf { margin: 0 auto; }
	#logo { margin: 20px 0 0 0; }
	#navitrigger { display: inline; }
	#mobilnavigation { display: none; background-color:#fff; }
	#mobilnavigation ul li a { color: #424242 !important; }
	#navigation { display: none; }
	#navibalken { display: none; }
	#telefonmobil { display: inline; }
}
@media only screen and (max-width: 520px) {
	#logo img { width: 150px; }
}


/********************************
 Inhalt
*********************************/
#inhaltwrapper { padding: 0 0 0 0; }
.inhaltbreit { position: relative; width: 100%; height: auto; overflow: hidden; padding: 0 0 0 0; }
.inhaltbreit img { width: 100%; height: auto; }
.grau { background-color: #e6e6e6; }
.inhaltschmal { position: relative; overflow: hidden; width: 92%; height: auto; max-width: 1180px; margin: 0 auto; text-align: left; padding: 70px 4% 20px 4%; }
.inhaltschmal img { width: initial; }
#inhaltwrapper h1 { font-size: 2.5em; margin: 0 0 15px 0; line-height: 1.2em; }
#inhaltwrapper h1 img { margin: 0 0 15px 0; }
#inhaltwrapper h2 { font-size: 3em; margin: 0 0 30px 0; font-weight: 700; line-height: 1.2em; text-transform: uppercase; }
#inhaltwrapper h3 { font-size: 1.4em; margin: 0 0 10px 0; font-weight: 700; color: #999; }
#inhaltwrapper h4 { font-size: 1.8em; margin: 20px 0 10px 0; font-weight: 700; line-height: 1.2em; text-transform: uppercase; }
#inhaltwrapper p { font-size: 1.25em; margin: 0 0 20px 0; line-height: 1.6em; }
#inhaltwrapper a { text-decoration: none; color: #e3051a; }
#inhaltwrapper a:hover { text-decoration: none; color: #e3051a; }
strong, b { font-weight: 700; }

@media only screen and (max-width: 1024px) {
	#inhaltwrapper { padding-top: 30px; }
	#inhaltwrapper h2 { font-size: 2.2em; }
}
@media only screen and (max-width: 520px) {
	#inhaltwrapper { padding-top: 30px; }
	#inhaltwrapper h2 { font-size: 1.8em; }
}


/********************************
 Inhaltsboxen
*********************************/
#blitzschutz { background-image: url(../img/blitzeinschlag.jpg); background-position: center; background-size: cover; background-repeat: no-repeat; }


/********************************
 Pfeil nach unten
*********************************/
.runter { position: absolute; bottom: 0; left: 50%; margin-left: -22px; width: 45px; height: 35px; z-index: 47; }


/********************************
 Kacheln
*********************************/
#inhaltwrapper .kachel { position: relative; width: 16.6666666666%; height: auto; margin: 0; float: left; display: inline; text-align: center; }
#inhaltwrapper .k1 { background-color: #e6e6e6; color: #404040; }
#inhaltwrapper .k2 { background-color: #ef5a5e; color: #fff; }
#inhaltwrapper .k3 { background-color: #7f7f7f; color: #404040; }
#inhaltwrapper .k4 { background-color: #ed1c29; color: #fff; }
#inhaltwrapper .k5 { background-color: #c0bdbe; color: #404040; }
#inhaltwrapper .k6 { background-color: #fce9e9; color: #ed1c29; }
#inhaltwrapper .k7 { background-color: #7f7f7f; color: #fff; }
#inhaltwrapper .k8 { background-color: #f39698; color: #fff; }
#inhaltwrapper .k9 { background-color: #c0bdbe; color: #404040; }
#inhaltwrapper .k10 { background-color: #f8c7c8; color: #ed1c29; }
#inhaltwrapper .k11 { background-color: #f39698; color: #fff; }
#inhaltwrapper .k12 { background-color: #7f7f7f; color: #404040; }
#inhaltwrapper .kachelblender { position: absolute; top: 50%; left: 0; height: auto; width: 100%; margin: -12% 0 0 0; }
#inhaltwrapper .kachelinhalt { font-size: 1.5em; line-height:1.4em; padding: 0 15px; text-transform: uppercase; font-weight: 700; }

@media only screen and (max-width: 1024px) {
	#inhaltwrapper .kachel { width: 25%; }
	#inhaltwrapper .kachelinhalt { font-size: 1.2em; }
}
@media only screen and (max-width: 768px) {
	#inhaltwrapper .kachel { width: 50%; }
	#inhaltwrapper .kachelinhalt { font-size: 1.2em; }
}


/********************************
 Footer
*********************************/
.footer { position: relative; height: auto; clear: both; width: 100%; text-align: center; padding:20px 0 20px 0; font-weight: 400; overflow: hidden; }
.footer h2 { font-size: 3em; margin: 0 0 30px 0; font-weight: 700; line-height: 1.2em; text-transform: uppercase; }
.footer h3 { font-size: 1.4em; margin: 0 0 10px 0; font-weight: 700; color: #999; }
.footer h4 { padding: 0 20px 5px 0; color: #333; text-decoration: none; font-size: 1.6em; line-height: 1.3em; text-align: right; margin: auto; font-weight: 700; }
.footer p { padding: 0 0 20px 20px; color: #000; text-decoration: none; font-size: 1.25em; line-height: 1.4em; text-align: left; margin: auto; }
.footer a { color: #000; text-decoration: none; }
.footer a:hover { text-decoration: underline; }

@media only screen and (max-width: 1024px) {
	.footer h3 { font-size: 2.2em; }
}
@media only screen and (max-width: 520px) {
	.footer h3 { font-size: 1.8em; }
	.footer h4 { text-align: center; padding: 0 15px 5px 15px; }
	.footer p { text-align: center; padding: 0 15px 5px 15px; }
}


/********************************
 Kontaktformular
*********************************/
.cmxform { margin: 0 0 50px 0; position: relative; display: inline; float: left; }
.cmxform input { margin: 0 0 3px 0; width: 96%; padding: 10px 2%; font-size: 1em; font-family: 'Cabin Condensed', sans-serif; font-weight: 400; border: none; background-color: #fff; }
.cmxform select { margin: 0 0 3px 0; width: 96%; padding: 10px 2%; font-size: 1em; font-family: 'Cabin Condensed', sans-serif; font-weight: 400; border: none; background-color: #fff; }
.cmxform textarea { margin: 0 0 3px 0; width: 96%; height: 60px; padding: 10px 2%; font-size: 1em; font-family: 'Cabin Condensed', sans-serif; font-weight: 400; border: none; background-color: #fff; }
.cmxform label { margin: 0 0 15px 0; font-size: 0.875em; display: block; }
.cmxform .form50 { width: 50%; float: left; display: inline; }
.cmxform .form50:nth-of-type(2n-1) { margin-right: 2%; width: 48%; }
.cmxform .form100 { width: 100%; float: left; display: inline; }
.cmxform .submit { background-color: #E3051A; color: #fff; cursor: pointer; font-weight: 700; }
.cmxform .submit:hover { background-color: #fff; color: #e3051a; }

@media only screen and (max-width: 768px) {
	.cmxform .form50 { width: 100%; }	
	.cmxform .form50:nth-of-type(2n-1) { margin-right: 0; width: 100%; }
}


/********************************
 Spalten
*********************************/
.spalten { position: relative; width: 100%; height: auto; overflow: hidden; clear: both; margin: 0 0 20px 0; }
.spalte1von2 { position: relative; width: 50%; margin: 0; float: left; display: inline; text-align: left; }
.spalte1von4 { position: relative; width: 21%; margin: 0 2% 30px 2%; float: left; display: inline; text-align: center; }
.spalte1von4 img { width: 75%; }
.spalte1von2 p, .spalte1von4 p,
.spalte1von2 ul, .spalte1von4 ul,
.spalte1von2 h1, .spalte1von4 h1 { margin: 0 15px 15px 15px; }
.spalte1von2 img { margin-bottom: 50px; }

@media only screen and (max-width: 1024px) {
	.spalte1von2 { width: 50% !important; }
	.spalte1von4 { width: 50% !important; margin: 0 0 30px 0; }
}

@media only screen and (max-width: 500px) {
	.spalte1von2, .spalte1von4 { width: 100% !important; }
}


/********************************
 Slider
*********************************/
#inhaltwrapper .flex-caption { width: 45%; padding: 0; left: 40%; height: 100px; margin-top: -220px; margin-bottom: 120px; position: relative; }
#inhaltwrapper .flex-caption span { background-color: #fff; color: #000; float: left; display: inline; clear: both; padding: 10px 20px; margin: 0 0 5px 0; font-size: 2em; line-height: 1em; }

@media only screen and (max-width: 1024px) {
	#inhaltwrapper .flex-caption { width: 100%; padding: 10px 0 0 0; left: 0; height: auto; margin-top: 0; margin-bottom: 20px; }
	#inhaltwrapper .flex-caption span { font-size: 1.5em; width: 92%; margin: 10px 0 0 0; padding: 0 4%; font-weight: 700; }
	.flex-control-nav { display: none; }
}

@media only screen and (max-width: 520px) {
	#inhaltwrapper .flex-caption { width: 100%; padding: 10px 0 0 0; left: 0; height: auto; margin-top: 0; margin-bottom: 20px; }
	#inhaltwrapper .flex-caption span { font-size: 1em; width: 92%; margin: 10px 0 0 0; padding: 0 4%; font-weight: 700; }
}