
@charset "utf-8";

/*---------------------------------
	GLOBALE ANGABEN
-----------------------------------*/

*{
	-webkit-box-sizing: border-box; /* Safari/Chrome, other WebKit */
	-moz-box-sizing: border-box;    /* Firefox, other Gecko */
	box-sizing: border-box;         /* Opera/IE 8+ */	
}
article,aside,details,figcaption,figure,footer,header,menu,nav,section {
	margin: 0;
	padding: 0;
	display: block;
}
header, nav, section, aside, footer {
	overflow: hidden;
}
html, body, img, div, ul, ol, li, h1, h2, h3, h4, h5, h6, p, table, section {
	margin: 0;
	padding: 0;
	border: none;
}
	html, body, img, div, ul, ol, li, h1, h2, h3, h4, h5, h6, p, table, section, input, select, textarea, fieldset label {
		font-family: 'Roboto', Arial, sans-serif;
		font-weight: 300;
		font-size: 14px;
		line-height: 20px;
		color: #333333;
	}
html, body {
	background: #f5f5f5;
	width: 100%;
	min-height: 100%;
}
	body {
		/*position: relative;*/
		width: 960px;
		margin: auto;
		background: url(/images/body-bg.gif) repeat-y 70% 0 #ebebeb;
		-webkit-box-shadow: 0px 0px 5px 2px rgba(0, 0, 0, 0.30);
		box-shadow: 0px 0px 5px 2px rgba(0, 0, 0, 0.30);
	}
h1, h2, h3, h4, h5, h6, p, ol, ul {
	padding-bottom: 8px;
}
	h1, h2, h3 {
		font-weight: 300;
	}
		h1 {
			font-size: 35px;
			line-height: 45px;
			padding: 20px 0 30px 0;
		}
		h2,
		footer h1.data-sec {
			font-size: 28px;
			line-height: 34px;
			padding: 10px 0 20px 0;
		}
		h3,
		footer h2 {
			font-size: 21px;
			line-height: 25px;
			padding: 8px 0 20px 0;
		}
		h4,
		footer h3 {
			font-size: 18px;
			font-weight: 400;
			line-height: 25px;
			padding: 8px 0 8px 0;
		}
	p {
	}
		p.spacer_top {
			padding-top: 16px;
		}
	strong {
		font-weight: 700;
	}
button {
	font-family: 'Roboto', Arial, sans-serif;
}
a {
	color: #E2001A;
	text-decoration: none;
	-webkit-transition: all .2s ease-in-out;
	-moz-transition: all .2s ease-in-out;
	-ms-transition: all .2s ease-in-out;
	-o-transition: all .2s ease-in-out;
	transition: all .2s ease-in-out;
}
	p a:hover {
		text-decoration: underline;
	}
	a[href^="tel"]:link,
	a[href^="tel"]:visited, 
	a[href^="tel"]:hover {
		cursor: text;
		text-decoration: none;
	}
sup, sub {
	height: 0;
	line-height: 1;
	vertical-align: baseline;
	_vertical-align: bottom;
	position: relative;
}
	sup {
		bottom: 1ex;
	}
	sub {
		top: .5ex;
	}
ul {
	margin: 0;
	padding: 0;
	list-style: none;
}
	ul li {
		background: url(../images/li_bg.png) 0 1px no-repeat;
		background-image: url(../images/li_bg.svg),none;
		background-size: 15px 15px;
		margin-bottom: 8px;
		padding-left: 25px;
	}
ol {
	padding-left: 25px;
	list-style: decimal;
}
	ol li {
		margin-bottom: 8px;
		padding-left: 20px;
	}


/*---------------------------------
	MODAL-LOADER
-----------------------------------*/

.modal {
	display: none;
	position: fixed;
	z-index: 1000;
	top: 0;
	left: 0;
	height: 100%;
	width: 100%;
	background: url('/images/ajax-loader.gif') 50% 50% no-repeat #FFF;
	background: rgba(255,255,255,.85)
		url('/images/ajax-loader.gif')
		50% 50%
		no-repeat;
	-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=70)";
}
body.loading .modal {
	display: block;
}

/*---------------------------------
	KEINE GA-STATISTIK
-----------------------------------*/

.no_ga {
	position: fixed;
	z-index: 99100;
	top: 5px;
	left: 5px;
	height: 32px;
	width: 32px;
	background: url('/images/no_analytics.png') no-repeat;
	background-size: cover;
}

/*---------------------------------
	ALLGEMEINE KLASSE
-----------------------------------*/

.shadow, .schatten {
	-webkit-box-shadow:0px 0px 5px 2px rgba(0, 0, 0, 0.30);
	box-shadow: 0px 0px 5px 2px rgba(0, 0, 0, 0.30);
}
.rounded, .abgerundet {
	-webkit-border-radius: 4px;
	border-radius: 4px;
}
.no_margin { margin: 0; }
.no_padding { padding: 0; }
.invisible, .email_sps { display: none; }
.hidden { visibility:hidden; }

.colored {
	color: #E2001A;
}

.first_up:first-letter {
	text-transform: uppercase;
}

.spacer {
	clear: both;
	padding-bottom: 20px;
}

.placeholder { color: #575c68; }
::-webkit-input-placeholder { color: #575c68; } /* WebKit browsers */
:-moz-placeholder { color: #575c68; } /* Mozilla Firefox 4 to 18 */
::-moz-placeholder { color: #575c68; } /* Mozilla Firefox 19+ */
:-ms-input-placeholder { color: #575c68; } /* Internet Explorer 10+ */



header > div, nav, section, aside, footer {
	padding: 8px 8px 0 8px;
}

/*---------------------------------
	HEADER
-----------------------------------*/
header {
	position: relative;
	width: 100%;
	background: #fff;
}
	header > div {
		min-height: 120px;
		overflow: hidden;
	}
		header div.logo_box {
			width: 70%;
			float: left;
		}
			header div.logo_box img {
				max-width: 100%;
				height: auto;
			}
			header .logo {
				/*position: absolute;*/
				bottom: 0;
				width: 65%;
				width: calc(70% - 16px);
				padding: 10px 0 20px 20px;
			}
		header div.contact_box {
			width: 30%;
		}
			header .contact {
				position: absolute;
				bottom: 0;
				width: 25%;
				width: calc(30% - 16px);
				padding-bottom: 20px;
			}
				header .contact p {
					padding: 0;
				}
					header .contact p.image {
						float: left;
						padding-right: 10px;
					}
					header .contact p.phone {
						font-size: 20px;
						font-weight: bold;
						line-height: 25px;
					}

/*---------------------------------
	NAVIGATION - TOPMENU
-----------------------------------*/
nav {
	width: 70%;
	float: left;
}
	ul.list {
		list-style: none;
		float: left;
	}
		ul.list li {
			float: left;
			background: none;
			text-align: center;
			padding: 0;
			width: auto;
			border-left: 1px solid #000;
			border-right: 1px solid #fff;
			
		}
		ul.list li.first {
			border-left: none;
		}
		ul.list li.last {
			border-right: none;
		}
			ul.list li a {
				line-height: 40px;
				text-transform: uppercase;
				color: #fff !important;
				display: block;
				padding: 0 30px;
				font-weight: normal;
				
				background: #6d6e70; /* Old browsers */
				background: -moz-linear-gradient(top,  #6d6e70 0%, #1a171b 100%); /* FF3.6+ */
				background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#6d6e70), color-stop(100%,#1a171b)); /* Chrome,Safari4+ */
				background: -webkit-linear-gradient(top,  #6d6e70 0%,#1a171b 100%); /* Chrome10+,Safari5.1+ */
				background: -o-linear-gradient(top,  #6d6e70 0%,#1a171b 100%); /* Opera 11.10+ */
				background: -ms-linear-gradient(top,  #6d6e70 0%,#1a171b 100%); /* IE10+ */
				background: linear-gradient(to bottom,  #6d6e70 0%,#1a171b 100%); /* W3C */
				filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#6d6e70', endColorstr='#1a171b',GradientType=0 ); /* IE6-9 */
			}
				ul.list li.active a,
				ul.list li a:hover {
					color: #333 !important;
					
					background: #c6c7c9; /* Old browsers */
					background: -moz-linear-gradient(top,  #c6c7c9 0%, #f8f8f9 100%); /* FF3.6+ */
					background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#c6c7c9), color-stop(100%,#f8f8f9)); /* Chrome,Safari4+ */
					background: -webkit-linear-gradient(top,  #c6c7c9 0%,#f8f8f9 100%); /* Chrome10+,Safari5.1+ */
					background: -o-linear-gradient(top,  #c6c7c9 0%,#f8f8f9 100%); /* Opera 11.10+ */
					background: -ms-linear-gradient(top,  #c6c7c9 0%,#f8f8f9 100%); /* IE10+ */
					background: linear-gradient(to bottom,  #c6c7c9 0%,#f8f8f9 100%); /* W3C */
					filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#c6c7c9', endColorstr='#f8f8f9',GradientType=0 ); /* IE6-9 */
				}
	p.nav_logo {
		float: right;
	}
	
/*---------------------------------
	INHALT
-----------------------------------*/
section {
	width: 70%;
	float: left;
}
	section p img {
		max-width: 100% !important;
		height: auto !important;
	}

/*---------------------------------
	RECHTE SEITE
-----------------------------------*/
aside {
	width: 30%;
}
	aside p img {
		max-width: 100% !important;
		height: auto !important;
	}

/*---------------------------------
	FOOTER
-----------------------------------*/
footer {
	width: 70%;
	padding-top: 0;
}

.full_width {
	width: 100%;
	float: none;
	background: #ebebeb;
}



/* Retina-specific stuff here */
@media (min-resolution: 192dpi), (-webkit-min-device-pixel-ratio: 2), (min--moz-device-pixel-ratio: 2), (-o-min-device-pixel-ratio: 2/1), (min-device-pixel-ratio: 2), (min-resolution: 2dppx) {
}





/* Smartphones ----------- */
@media only screen 
	and (max-width : 599px) {
	body { width: 100%; background-image: none; }
	nav, section, aside, footer { width: 100%; float: none; }
	.formular.small { display: none; }
	.formular.small.show_mob { display: block; }
	
	header > div {
		min-height: inherit;
	}
		header div.logo_box {
			width: 100%;
		}
			header .logo {
				position: inherit;
				width: 100%;
				padding: 10px 0 8px 0;
				text-align: center;
			}
		header div.contact_box {
			width: 100%;
		}
			header .contact {
				position: inherit;
				width: 100%;
			}
}
/* Ganz Kleine Smartphones ----------- */
@media only screen 
	and (max-width : 359px) {
}


/* Tablets (Hochformat) sowie kleinere Displays und Größere Smartphones ----------- */
@media only screen 
	and (min-width : 600px) 
	and (max-width : 979px) {
	body { width: 100%; background-image: none; }
	nav, section, aside, footer { width: 100%; float: none; }
	.formular.small { display: none; }
	.formular.small.show_mob { display: block; }
	
	header div.logo_box {
		width: 50%;
	}
		header .logo {
			width: 45%;
			width: calc(50% - 16px);
			padding: 10px 0 8px 0;
		}
	header div.contact_box {
		width: 50%;
	}
		header .contact {
			width: 45%;
			width: calc(50% - 16px);
		}
}


/* Breite Desktops und Laptops ----------- */
@media only screen 
	and (min-width : 1240px) {
	body { width: 1140px }
}



