/* HTML5 Boilerplate -> normalize  */
article, aside, details, figcaption, figure, footer, header, hgroup, nav, section { display: block; }
audio, canvas, video { display: inline-block; *display: inline; *zoom: 1; }
audio:not([controls]) { display: none; }
[hidden] { display: none; }

html { font-size: 100%; -webkit-text-size-adjust: 100%; -ms-text-size-adjust: 100%; }
html, button, input, select, textarea { font-family: sans-serif; color: #222; }
body { margin: 0; font-size: 1em; line-height: 1.4; }

::-moz-selection { background: #249; color: #fff; text-shadow: none; }
::selection { background: #249; color: #fff; text-shadow: none; }

a { color:#249; }
a:visited { color: #249; }
a:hover { color: #249; text-decoration:none; }l
a:focus { outline: thin dotted; }
a:hover, a:active { outline: 0; }
abbr[title] { border-bottom: 1px dotted; }
b, strong { font-weight: bold; }
blockquote { margin: 1em 40px; }
dfn { font-style: italic; }
hr { display: block; height: 1px; border: 0; border-top: 1px solid #ccc; margin: 1em 0; padding: 0; }
ins { background: #ff9; color: #000; text-decoration: none; }
mark { background: #ff0; color: #000; font-style: italic; font-weight: bold; }
pre, code, kbd, samp { font-family: monospace, serif; _font-family: 'courier new', monospace; font-size: 1em; }
pre { white-space: pre; white-space: pre-wrap; word-wrap: break-word; }

q { quotes: none; }
q:before, q:after { content: ""; content: none; }
small { font-size: 85%; }
sub, sup { font-size: 75%; line-height: 0; position: relative; vertical-align: baseline; }
sup { top: -0.5em; }
sub { bottom: -0.25em; }

ul, ol { margin: 1em 0; padding: 0 0 0 40px; }
dd { margin: 0 0 0 40px; }
nav ul, nav ol { list-style: none; list-style-image: none; margin: 0; padding: 0; }

img { border: 0; -ms-interpolation-mode: bicubic; vertical-align: middle; }
svg:not(:root) { overflow: hidden; }
figure { margin: 0; }

form { margin: 0; }
fieldset { border: 0; margin: 0; padding: 0; }

label { cursor: pointer; }
legend { border: 0; *margin-left: -7px; padding: 0; white-space: normal; }
button, input, select, textarea { font-size: 100%; margin: 0; vertical-align: baseline; *vertical-align: middle; }
button, input { line-height: normal; }
button, input[type="button"], input[type="reset"], input[type="submit"] { cursor: pointer; -webkit-appearance: button; *overflow: visible; }
button[disabled], input[disabled] { cursor: default; }
input[type="checkbox"], input[type="radio"] { box-sizing: border-box; padding: 0; *width: 13px; *height: 13px; }
input[type="search"] { -webkit-appearance: textfield; -moz-box-sizing: content-box; -webkit-box-sizing: content-box; box-sizing: content-box; }
input[type="search"]::-webkit-search-decoration, input[type="search"]::-webkit-search-cancel-button { -webkit-appearance: none; }
button::-moz-focus-inner, input::-moz-focus-inner { border: 0; padding: 0; }
textarea { overflow: auto; vertical-align: top; resize: vertical; }
input:valid, textarea:valid {  }
/*input:invalid, textarea:invalid { background-color: #f0dddd; }*/

table { border-collapse: collapse; border-spacing: 0; }
td { vertical-align: top; }

.chromeframe { margin: 0.2em 0; background: #ccc; color: black; padding: 0.2em 0; }

.ir { display: block; border: 0; text-indent: -999em; overflow: hidden; background-color: transparent; background-repeat: no-repeat; text-align: left; direction: ltr; *line-height: 0; }
.ir br { display: none; }
.hidden { display: none !important; visibility: hidden; }
.visuallyhidden { border: 0; clip: rect(0 0 0 0); height: 1px; margin: -1px; overflow: hidden; padding: 0; position: absolute; width: 1px; }
.visuallyhidden.focusable:active, .visuallyhidden.focusable:focus { clip: auto; height: auto; margin: 0; overflow: visible; position: static; width: auto; }
.invisible { visibility: hidden; }
.clearfix:before, .clearfix:after,
.container_12:before, .container_12:after { content: ""; display: table; }
.clearfix:after,
.container_12:after { clear: both; }
.clearfix,
.container_12 { *zoom: 1; }
/*Ende normalize*/


html, body {
	height:100%;
}
* html .outer {
	height:100%;	
}
body {
	background:#fff;
	color:#222;
	font-family:'Roboto Condensed', Arial, Helvetica, sans-serif;
	font-size:14px;
	line-height:140%;
}
.height100 {
	min-height: 100%; /* Mindesthöhe für moderne Browser */
	height:auto !important; /* Important Regel für moderne Browser */
	height:100%; /* Mindesthöhe für den IE */
	overflow: hidden !important; /* FF Scroll-leiste */ 
}
.wrapper {
	margin:0px auto;
	width:960px;
}



/* anchors
----------------------------------------------- */
a, a:visited  {
	color: #222;
	text-decoration: underline;
	-webkit-transition:all ease-in-out 0.2s;
	   -moz-transition:all ease-in-out 0.2s;
		-ms-transition:all ease-in-out 0.2s;
		 -o-transition:all ease-in-out 0.2s;
			transition:all ease-in-out 0.2s;
}
a:hover, a:focus {color:#8cb63c;}
a:focus { outline:thin dotted #8cb63c; }


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

/* headings
----------------------------------------------- */
h1, h2, h3, h4, h5, h6 {
	font-family:'Roboto Condensed',Arial, Helvetica, sans-serif;
	margin-bottom:1.3em;	
	margin-top:1.5em;	
	font-weight:normal;
	line-height:110%;
}
h1 {color:#8cb63c; font-size:3.0em; margin-top:.5em; text-transform:uppercase;}
h2 {color:#8cb63c; font-size:2.4em; margin:1em 0 0.5em 0;}
h3 {font-size:1.9em; margin:1.0em 0 .5em 0;} 
h4 {font-size:1.4em; margin:0.3em 0 0.3em 0;}
h5 {font-size:1.2em; margin:0.3em 0 0.3em 0;}
h6 {font-size:1em;}


/* elements
----------------------------------------------- */
blockquote {
	font-size:115%;
	line-height:140%;
	text-align:center;
	margin:1em 15%;
}
blockquote footer {
	color:#249;
	font-size:85%;
	text-align:right;
}
figure {padding:.13em; text-align:left; max-width:100%}
figcaption {
	font-size:85%;
	padding:0.3em 0;
}
.no-svg img[src$=".svg"] { display:none; }
.svg img[src$=".svg"] + img[src$=".png"] { display:none; }
hr, .hr {
	background:url(../hr.png) no-repeat center 40px #fff;
	border:none;
	border-bottom:1px solid #eee;
	clear:both;
	height:20px;
	margin:0 auto 40px auto;
	padding:0;
	position:relative;
}

hr:before, .hr:before {
	background:#fff;
	content: ""; 
	position:absolute; 
	z-index: -1; 
	width:100%;  
	top: -80px; 
	height: 80px; 
}
.hr:after {
	content: "";
	display:block;
	position:absolute; 
	z-index: -2; 
	width:80%;  
	bottom: 0; 
	height: 1px; 
	left: 10%;
	box-shadow: 0px -35px 40px 5px #000;
}
strong {font-weight:700;}
svg.divider {
	position:relative;
	z-index:1;
}

svg.divider path{
	fill: #8CB63C;
    stroke: #8CB63C;
    stroke-width: 0;
}

li {list-style:square;}
/* -------------------------------------------- */
/*		Layout									*/
/*--------------------------------------------- */
/*	Logo	*/
header {
	position:relative;
	vertical-align:middle;
	z-index:1;
}
header .wrapper {
	margin:.666em auto;
}
header figure.logo {
	float:left;
	padding:0;
	margin:0;
	width:10em;
}
header figure.logo img {
	width:100%;
}
header figure.logo figcaption {display:none; height:1px; overflow:hidden; text-indent:-10000px;}

/*	Navi	*/
header .nav_address {
	position:absolute;
	right:1.333em;
}
header address {
	color:#666;
	font-style:normal;
}
header nav {
	float:right;
}
header nav ul {display:inline-block;}

header nav ul, header nav li {list-style:none;}
header nav li {float:left;}
header nav li a {
	color:#8cb63c;
	display:block;	
	margin:1em 0 0 1em;
	text-decoration:none;
	text-transform:uppercase;
	-webkit-transition:all ease-in-out 0.2s;
	   -moz-transition:all ease-in-out 0.2s;
		-ms-transition:all ease-in-out 0.2s;
		 -o-transition:all ease-in-out 0.2s;
			transition:all ease-in-out 0.2s;
}

header nav a:hover, 
header nav a.active:hover {color:#666;}
header nav li a.active {
	color:#8cb63c;
	font-weight:600;
	letter-spacing:.025em;
}
/*Ende Navi*/



/* Floats
----------------------------------------------- */
.left_float {float:left; margin:2px 10px 10px 0; }
.right_float {float:right; margin:2px 0 10px 10px; }
figure.left_float,
figure.right_float {max-width:33% }
/* tabs
----------------------------------------------- */
.tab { display:inline-block; width:50px;}


/* Formulare
----------------------------------------------- */
form.coolform {margin-top:1em;}
form p {
    clear: both;
    padding: 0 2% .333em 0 ;
	margin: 0;
}
p.checkbox-wrap {
	box-sizing: border-box;
	padding-left: 15px;
}
p.checkbox-wrap input {
	margin-left: -15px;
}
input, 
textarea, 
select {
    background:#fdfdfd;
	border:.075em solid #d9d9d9;
	border-top:.075em solid #c0c0c0;
	margin:0 0 0 0;
	padding:0.25em .333em;
	min-width:16em;
	width: auto;
}
input[type="checkbox"], 
input[type="radio"] {width:inherit;}
textarea {min-height: 9em; resize: vertical;}
label {
	display: inline-block;
	padding: 0 .5em 0 0;
	vertical-align: middle;
	width: 7em;
}
input:hover, input:focus, 
textarea:hover, textarea:focus, 
select:hover, select:focus {background:#fafafa;}
input[type="submit"] {
	height: 1.3em;
	line-height: 2em;
	width: inherit;
	padding: 0 8px;
	text-align: center;
}
input[type="submit"]:hover, 
input[type="submit"]:focus {
	background-color: #f8f8f8;
	border: 1px solid #ccc;
	-webkit-box-shadow: 1px 1px 1px 0px #fafafa;
	-moz-box-shadow: 1px 1px 1px 0px #fafafa;
	box-shadow: 1px 1px 1px 0px #fafafa; 
}
input[type="submit"]:active {
	background-color: #f8f8f8;
	border: 1px solid #ccc;
	-webkit-box-shadow: inset 0px 0px 5px 0px #ddd;
	-moz-box-shadow: inset 0px 0px 5px 0px #ddd;
	box-shadow: inset 0px 0px 5px 0px #ddd;  
}
/*	COOLFORM-Styles		*/
form.coolform {margin-top:1em;}
form p {position: relative;}
input, textarea, select {
	border: 1px solid #fafafa;
	-webkit-box-shadow: 1px 1px 2px -1px #777;
	   -moz-box-shadow: 1px 1px 2px -1px #777;
			box-shadow: 1px 1px 2px -1px #777;
	-webkit-box-sizing: border-box;
	   -moz-box-sizing: border-box;
			box-sizing: border-box;
	display:block;
	font-family: 'Roboto Condensed',Arial,Helvetica,sans-serif;
	height:2.5em;
	margin:-2.333em 0 0 0;
	padding: .5em;
	position: relative;
	width:100%;
}
input {
	padding-left: 4em;
}
select {
	margin-top:0;
	padding-left:0.333em;
}
input[type="checkbox"] {
	margin-top:0;
	min-width: inherit;
	float:left;
	-webkit-box-shadow:none;
}
.lt-ie9 input[type="checkbox"] {
	background:none; border:none; box-shadow: none;
}
@media screen and (min-width:0\0) { /* IE9 and IE10 rule sets go here */ input[type="checkbox"] {background:none; border:none; box-shadow: none;}}

label {	
	height:1em;
	line-height:1.2em;
	padding:.666em;
	position: relative;
	width:6.5em;
	z-index: 1;
}
label.label-checkbox {
	margin-top:0;
	min-width: inherit;
	width:inherit;
	height: auto;
}
form .shortest {
	width:31.3333%;
	float:left;
	clear:none;
}
form .shortest_c {
	width:64.66666%;
	float:left;
	clear:none;
}
form .shortest input,
form .shortest_c input,
form .shortest select,
form .shortest_c select {
	min-width:0;
}
input:focus, textarea:focus, select:focus {
	z-index:3;
	padding-left:.666em;
}
textarea {padding-top:2em;}
textarea:focus {padding-top:.5em;}
select:focus {margin-left:0; text-indent:0;}
.required {
	color: #BD3500;
	font-size: 22px;
	font-weight: bold;
	right:.333em;
	position: absolute;
	top: 12px;
	z-index: 1;
}
input[type="submit"] {
	-moz-box-sizing: content-box; -webkit-box-sizing: content-box; box-sizing: content-box;
	background:#63802c;
	border-bottom:.333em solid #3f531d;
	border-right:.111em solid #3f531d;
	border-top:.333em solid #63802c;
	border-left:.111em solid #63802c;
	-webkit-border-radius:.333em;
	   -moz-border-radius:.333em;
			border-radius:.333em;
	color:#fff;
	float:right;
	height: 2.5em;
	margin:.666em 0 0 0;
	min-width:0;
	width:inherit;
	padding: 0 .666em;
	text-align: center;
	text-indent:0;
}
input[type="submit"]:hover, 
input[type="submit"]:focus {
	background:#8cb63c;
	border-bottom:.333em solid #63802c;
	border-right:.111em solid #63802c;
	border-top:.333em solid #8cb63c;
	border-left:.111em solid #8cb63c;
	 -webkit-box-shadow:none;
	   -moz-box-shadow:none;
			box-shadow:none;
}
input[type="submit"]:active {
	background-color: #8cb63c;
	border-top:.333em solid #8cb63c;
	border-left:.111em solid #8cb63c;
	border-bottom:none;
	border-right:none;
	 -webkit-box-shadow:none;
	   -moz-box-shadow:none;
			box-shadow:none;
	margin-top:.999em;
}
.form_warning {color: #f00;}

ul.form_warning {	
	background:url(../li_warning_info.png) no-repeat 10px 20px #f0f0f0;
	-webkit-border-radius:.333em;
	   -moz-border-radius:.333em;
			border-radius:.333em;
	border-bottom:1px solid #eee;
	border-right:1px solid #eee;
	color:#222;
	line-height:140%;
	margin-bottom:20px;
	padding:20px 20px 20px 45px;
	width:350px;
}
ul.form_warning li{
	color:#f00;
	font-size:14px;
	font-weight:normal;
	line-height:140%;
	margin:0 0 0 20px;
}








/* -------------------------------------------- */
/*		Seiten 									*/
/*--------------------------------------------- */



/* Innenabstand aller Elemente */
.col_inner {padding:0 .5em;}

/*	Startseite 
----------------------------------------------- */
.startseite svg.divider,
body[class*="start"] svg.divider,
.start_kontakt_antwort svg.divider {
	margin-top:-10em;
}
.startseite header, 
body[class*="start"] header, 
.start_kontakt_antwort header {
	background:#fff;
	border-bottom: 1px solid #fafafa;
	-webkit-box-shadow: 1px 1px 2px 0px #aaa;
	-moz-box-shadow: 1px 1px 2px 0px #aaa;
	box-shadow: 1px 1px 2px 0px #aaa;
}
.startseite .top_hero,
body[class*="testseite"] .top_hero,
.start_kontakt_antwort .top_hero {
	background:#dadada;
	padding:2em 0 12em 0;
}


/*  Alle Unterseiten
------------------------------------------------*/
.stoerer {
	/* wenn Störer nur auf der Startseite angezeigt werden soll
	display:block;
	*/
	display:none;
	
	position:absolute;
	top:0em;
	left:50%;
}
.stoerer a {
	display:block;
	width:110px;
	height:110px;
}
/* wenn Störer nur auf der Startseite angezeigt werden soll */
body[class*="startseite"] .stoerer {
	display:block;
}
.top_hero {
	background:#fff;
	padding:2em 0 5em 0;
}
.hero_after h1 {
	font-size:4em;
	margin-bottom:.5em;
}

.star_text {
	font-size:0.75em;
}


/* Allgemein Definitionen
------------------------------------------------*/
.top_hero .wrapper {
	position:relative;
	z-index:1;
}
.top_hero_background {
	height: 100%;
	left: auto;
	margin: 0 auto;
	min-height: 800px;
	overflow: hidden;
	position: absolute;
	right: auto;
	text-align: center;
	top: 0;
	width: 100%;
	z-index: 0;
}
.top_hero_background img {
	/* Set rules to fill background */
	min-height: auto;
	min-width: 2000px;	
	/* Set up proportionate scaling */
	width: 100%;
	height: auto;	
	/* Set up positioning */
	position: absolute;
	top: 0;
	left: 0;	
}
.lt-ie9 .top_hero_background img {
	left:auto;
	right: -200px;	
}
@media screen and (max-width: 2000px) { /* Specific to this particular image */
	.top_hero_background img {
    left: 50%;
    margin-left: -1000px;   /* 50% */
  }
}

.top_hero h1 {
	color:#fff;
	font-weight:700;
	letter-spacing:-0.04em;
	line-height:1.2em;
	margin-top:2em;
}
.top_hero .st-line {font-size:1.5em;}
.top_hero .nd-line {font-size:1.09em;}
.top_hero .rd-line {font-size:1.75em;line-height:.9em;}
.top_hero .th-line {font-size:1.69em;line-height:.9em;}

.visual-divider-green {
	left: 10%;
    margin-top: -9.5em;
    position: absolute;
    width: 40%;
	z-index:0;
}
.visual-divider-white {
	right: 10%;
    position: absolute;
    width: 20%;
	bottom:-.1em;
}
.hero_after {
	background:#8CB63C;
	margin-top: -0.4333em;
	margin-bottom:2em;
	min-height: 70px;
	padding:2em 0 5em 0;
	position:relative;
}
.hero_after * {
	color:#fff;
}
p.teaser {
	font-size:1.5em;
	line-height:1.5em;
}
.teaser-link {
	background:#fff;	
	box-shadow: .1em .15em 0 .1em #63802c;
	-webkit-border-radius:0.333em;
	   -moz-border-radius:0.333em;
			border-radius:0.333em;
	color:#8CB63C;
	display:inline-block;
	font-size:1.5em;
	line-height:1.333em;
	margin-top:1em;
	padding:.666em;
	text-decoration:none;
}