
html.html {
	overflow:scroll;
	-ms-overflow-x:auto;
	overflow-x:auto;
	height:100%;
	width:100%;
	-ms-overflow-style:scrollbar;
	-ms-text-size-adjust:100%;
	-webkit-text-size-adjust:100%;
}

*,
*:after,
*:before {
	box-sizing: border-box;
}


body {
	margin:0;
	font:normal 24px/1.25 'Roboto Condensed', sans-serif; /* Schriftgröße Copy */ /* Webfont definieren */
	color:#444444; /* Farbe Copy */
}

h1,
h2,
h3,
h4,
h5,
h6 {
	font-weight: normal;
	margin:0 0 6px;
}
h1 {
	font-size:38px;
	margin:0 0 10px;
	font-weight: bold;
	color:#ec7c28;
}
h2 {
	font-size:26px;
	margin:0 0 8px;
	font-weight: bold;
	color:#00438C
}
h3 {
	font-size:22px;
	font-weight: bold;
	color:#409e1b;
}
h4 {
	font-size:19px;
}
h5 {
	font-size:17px;
}
h6 {
	font-size:14px;
}

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

p {
	margin:0;
}

sup,
sub {
	height: 0;
	line-height: 1;
	vertical-align: baseline;
	_vertical-align: bottom;
	position: relative;
}

sup {
	bottom: 1ex;
}

sub {
	top: .5ex;
}

.orange{
	color:#00438C;
}  /* Hausfarbe 1: Blau */

.green{
	color:#409e1b;
} /* Hausfarbe 2: Grün */

.farbe3{
	color:#ec7c28;
} /* Hausfarbe 3: Orange */

.no-scroll{
	overflow: hidden !important;
}

a{
	color:inherit;
	text-decoration:underline;
}
a:hover,
a:focus {
	color:inherit;
	text-decoration:none;
}

a[href="javascript:void(0)"]{
	cursor: default;
}

.hidden-inp {
	border: 0;
    clip: rect(0 0 0 0);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
}

.uppercase {
	text-transform:uppercase;
}

.clearfix:before, .clearfix:after { content: ""; display: table; }
.clearfix:after { clear: both; }
.clearfix {zoom:1;}

.left {
	float:left;
}

.right {
	float:right;
}

.glassy {
	border:7px solid rgba(255,255,255,0.4);
	border-radius: 4px;
}

.div_noscript {
	position:fixed;
	top:0;
	left:0;
	width:100%;
	z-index:99999;
	padding:5px;
	border:1px #f00 solid;
	background:#fff;
	color:#f00;
}

.visible-mobile {
	display: none;
}

.wrap{
	max-width:1240px;
	padding: 0 15px;
	margin:0 auto;
}

#header{
	background-color:#fff;
	position: relative;
	z-index: 20;
}

#header>.outer-wrap{
	border-bottom:3px solid #afcc97;
	height:169px;

	-webkit-box-sizing: content-box;
	-moz-box-sizing: content-box;
	box-sizing: content-box;

	-webkit-box-shadow: 0px 3px 13px 6px rgba(0,0,0,0.35);
	-moz-box-shadow: 0px 3px 13px 6px rgba(0,0,0,0.35);
	box-shadow: 0px 3px 13px 6px rgba(0,0,0,0.35);
}

 #header>.outer-wrap:before{ 
	content: '';
	position: absolute;
	left:0;
	top:0;
	bottom:0;
	width:calc(50% - 600px);  /* 50% - wrap-width - wrap-padding*/
	min-width:15px; /* wrap-padding */
	background-color:#afcc97;  /* Farbe links vom Logo */
}

#header>.outer-wrap>.wrap{
	height:inherit;
}

#logo{
	max-width:90%;
	display: inline-block;
}

.header-nav{ /* Schriftfarbe und Größe Hauptnavigation */
	float: right;
	height:inherit;
	color:#444444;
	font-size:25px;
	margin-right:-15px;
}

.header-nav>ul {
	list-style:none;
	margin:0;
	padding:0;
	height:inherit;
	position: relative;
}

.header-nav>ul>li {
	margin:0;
	padding:0;
	height:inherit;
	float: left;
	position: relative;
}

.header-nav>ul>li>a {
	display: block;
	background-color:transparent;
	text-decoration:none;
	height:inherit;
	padding:100px 15px 0;

	-webkit-transition: background-color .4s ease, color .4s ease;
	-moz-transition: background-color .4s ease, color .4s ease;
	-o-transition: background-color .4s ease, color .4s ease;
	transition: background-color .4s ease, color .4s ease;
}

.header-nav>ul>li>a.active,
.header-nav>ul>li.open>a,
.header-nav>ul>li>a:hover,
.header-nav>ul>li>a:focus {
	text-decoration:none;
	background-color:#00438C;
	color: #fff;
	outline:none;
}

.header-nav .sub{ 
	list-style:none;
	margin:3px 0 0;
	padding:20px 105px 20px 40px;
	max-width:100vw;
	position: absolute;
	left:0;
	top:100%;
	background-color:rgba(255,255,255,.9);
	overflow: hidden;
	font-size:20px; /* Schriftgröße Subnavigation */
	z-index: -1;
	white-space:nowrap;

	-webkit-transition: opacity .4s ease, visibility .4s linear;
	-moz-transition: opacity .4s ease, visibility .4s linear;
	-o-transition: opacity .4s ease, visibility .4s linear;
	transition: opacity .4s ease, visibility .4s linear;

	opacity:0;
	visibility: hidden;
}

.header-nav li.open>.sub{
	opacity:1;
	visibility: visible;
}

.header-nav .sub>li{
	margin:15px 0 0;
}

.header-nav .sub>li:first-child{
	margin-top:0;
}

.header-nav .sub>li>a{
	text-decoration: none;
	display: inline-block;
}

.header-nav .sub>li>a.active,
.header-nav .sub>li>a:hover,
.header-nav .sub>li>a:focus{
	text-decoration: none;
	outline:none;

}
.header-nav .sub>li>a.active{
	font-weight:bold;
}

#main{
	min-height:600px;
}

.abschnitte>.abschnitt{
	margin-top:90px
}

.abschnitte>.first-no-margin:first-child,
.abschnitte>.no-margin{
	margin-top:0;
}

.carousel{
	position:relative;
	min-height:300px;
}

.carousel:before {
	content: '';
	display: block;
}

.carousel.fader:before{
	padding-top:32.8%; /*2000x656*/
}

.carousel.slider:before{
	padding-top:43.4%; /*2000x868*/
}

.carousel.slider .wrap{
	position: absolute;
	left: 0;
	bottom:0;
	right:0;
}

.carousel>ul{
	list-style:none;
	margin:0;
	padding:0;
}

.carousel>ul>li{
	position:absolute;
	margin:0;
	padding:0;
	left:0;
	top:0;
	height:100%;
	width:100%;
	z-index:0;
	background-size:cover;
	background-position: center center;
	background-repeat:no-repeat;
}

.carousel>ul>li.active{
	z-index:1;

	-webkit-transition:inherit;
	-moz-transition:inherit;
	-o-transition:inherit;
	transition:inherit;
}

.carousel>ul.fader>li{
	opacity:0;
}

.carousel>ul.fader>li .caption{
	position: absolute;
	right:0;
	bottom:36px;
	background-color:#409e1b;
	margin-bottom:0;
	padding:22px calc(50% - 600px) 22px 36px;
	color: #fff;

	-webkit-box-shadow: 0 7px 12px 0 rgba(0,0,0,0.35);
	-moz-box-shadow: 0 7px 12px 0 rgba(0,0,0,0.35);
	box-shadow: 0 7px 12px 0 rgba(0,0,0,0.35);
}

.carousel.slider{
	overflow: hidden;
}

.carousel>ul.slider{
	position:absolute;
	left:0;
	top:0;
	bottom:0;
	right:0;
}

.carousel .carousel-nav{
	position: relative;
}

.carousel .carousel-nav>ul{
	position: absolute;
	left:0;
	bottom:45px;
	right:0;
	list-style:none;
	padding:0 20px;
	margin:0;
	text-align: center;
}

.carousel .carousel-nav>ul>li{
	padding:0;
	margin:0;
	display: inline-block;
}

.carousel .carousel-nav>ul>li>a{
	display:block;
	height:13px;
	width:13px;
	border-radius:50%;
	border:3px solid #00438C;
}

.carousel .carousel-nav>ul>li>a.active,
.carousel .carousel-nav>ul>li>a:hover,
.carousel .carousel-nav>ul>li>a:focus{
	background-color:#00438C;
}

.carousel .carousel-nav .left,
.carousel .carousel-nav .right{
	position: absolute;
	bottom:45px;
	width:18px;
	height:71px;
	background-repeat:no-repeat;
}

.carousel .carousel-nav .left{
	left:0;
	background-image:url(/img/web/left.png);
}

.carousel .carousel-nav .right{
	right:0;
	background-image:url(/img/web/right.png);
}

@media (max-width: 1230px){
	.carousel>ul.fader>li .caption{
		padding-right:15px;
	}
}

#footer{
	background-color:#00438C;
	color:#fff;
	min-height:84px;
	padding:30px 0 10px;
	margin-top:90px;
}

.footer-text{
	font:inherit;
}

.footer-nav{
	float: right;
}

.footer-nav>ul{
	list-style:none;
	margin:0;
	padding:0;
}

.footer-nav>ul>li{
	margin:0 0 0 28px;
	padding:0;
	float: left;
}

.footer-nav>ul>li:first-child{
	margin-left:0;
}

.footer-nav>ul>li>a{
	text-decoration: none;
}

.footer-nav>ul>li>a.active,
.footer-nav>ul>li>a:hover,
.footer-nav>ul>li>a:focus{
	text-decoration: underline;
}

.nav-toggle {
	display: none;
	height: 15px;
	width: 24px;
	background: url(/img/web/ico-bars.png) no-repeat;
	margin:100px 0 0;
	float: right;
}

.container-fluid{
	overflow: hidden;
	padding-left:0;
	padding-right:0;
}

@media (max-width: 991px)
{
	.vspace-sm > [class^="col-"],
	.vspace-sm > [class*=" col-"]
	{
		margin-top: 25px;
	}
}

@media (max-width: 768px)
{
	.vspace-xs > [class^="col-"],
	.vspace-xs > [class*=" col-"]
	{
		margin-top: 25px;
	}

	#main{
		min-height:300px;
	}
}

@media (max-width: 1200px)
{
	#header>.outer-wrap{
		height:auto;
	}

	.nav-toggle{
		display: block;
	}

	.menu-open .nav-toggle,
	.menu-open .nav-toggle:hover,
	.menu-open .nav-toggle:focus{
		position:fixed;
		right:0;
		top:0;
		margin:0;
		background:none;
		z-index:101;
		display:inline-block;
		text-decoration:none;
		font-size:16px;
		color:#fff;
		background-color:rgba(22,22,22,0.4);
		text-align:center;
		height:40px;
		width:40px;
		line-height:40px;
	}

	.menu-open .nav-toggle:before{
		display:inline-block;
		font:normal normal normal 14px/1 FontAwesome;
		font-size:inherit;
		text-rendering:auto;
		-webkit-font-smoothing:antialiased;
		-moz-osx-font-smoothing:grayscale
	}

	.menu-open .nav-toggle:before{
		content:"\f00d";
		line-height:inherit;
	}

	.menu-open .header-nav{
		visibility:inherit;
		opacity:1;
		overflow:auto;

		-webkit-transition:opacity .4s ease, visibility .4s linear;
		-moz-transition:opacity .4s ease, visibility .4s linear;
		-ms-transition:opacity .4s ease, visibility .4s linear;
		-o-transition:opacity .4s ease, visibility .4s linear;
		transition:opacity .4s ease, visibility .4s linear;
	}

	.header-nav{
		position:fixed;
		left:0;
		top:0;
		bottom:0;
		right:0;
		visibility:hidden;
		opacity:0;
		float:none;
		z-index:100;
		background-color: rgba(255,255,255,1);
		margin:0;
		height:auto;
	}

	.header-nav>ul>li {
		margin:0;
		float: none;
	}

	.header-nav>ul>li>a {
		padding:5px 10px;
		text-align:left;
	}

	.header-nav>ul>li.open>a {
		background-color: inherit;
		color: inherit;
	}

	.header-nav>ul>li.open>a.active,
	.header-nav>ul>li.open>a:hover,
	.header-nav>ul>li.open>a:focus{
		text-decoration:none;
		background-color:#00438C;
		color: #fff;
	}

	.header-nav li.open>.sub{
		visibility: inherit;
	}

	.header-nav .sub {
		padding:0;
		position: static;
		width:auto;
		background-color:transparent;
		visibility: inherit;
		opacity:1;
		margin-top:0;

		transition:none;
	}

	.header-nav .sub>li{
		width:auto;
		float:none;
		margin-left:0;
		margin-top:0;
	}

	.header-nav .sub>li>a {
		padding:5px 10px 5px 30px;
		color: #333333;
		display: block;

		-webkit-transition: background-color .4s ease;
		-moz-transition: background-color .4s ease;
		-o-transition: background-color .4s ease;
		transition: background-color .4s ease;
	}

	.header-nav .sub>li>a.active,
	.header-nav .sub>li>a:hover,
	.header-nav .sub>li>a:focus{
		background-color:#00438C;
	}
}


@media (max-width: 500px)
{
	.nav-toggle{
		margin-top:70px;
	}
}

@media (max-width: 400px)
{
	.nav-toggle{
		margin-top:40px;
	}
}

.filter-list-leistungen label:before,
.more:after{
	font-family:FontAwesome;
	font-size:inherit;
	text-rendering:auto;
	-webkit-font-smoothing:antialiased;
	-moz-osx-font-smoothing:grayscale;
}

.filter{
	display:block;
	width:100%;
	padding:20px 0;
	border-left:0;
	border-right:0;
	background-color:#ffffff;
	border-top:1px solid #00438C;
}

.filter-list-leistungen{
	list-style:none;
	padding:0;
	margin:0;
}

.filter-list-leistungen>li{
	padding:0;
	margin:10px 0 0 2%;
	width:32%;
	display:inline-block;
}

.filter-list-leistungen>li:first-child,
.filter-list-leistungen>li:nth-child(3n+4){
	margin-left:0;
}

.filter-list-leistungen input[type="radio"]{
	position:absolute;
	z-index:-1;
}

.filter-list-leistungen label{
	background-color:#00438C;
	padding:7px 12px;
	color:#fff;
	width:100%;
	font-size:14px;
	border-radius:3px;
	cursor:pointer;
	text-overflow:ellipsis;
	overflow:hidden;
	white-space:nowrap;
	font-weight:normal;

	-webkit-transition:background-color .25s ease;
	-moz-transition:background-color .25s ease;
	-ms-transition:background-color .25s ease;
	-o-transition:background-color .25s ease;
	transition:background-color .25s ease;
}

.filter-list-leistungen label:hover,
.filter-list-leistungen label:focus,
.filter-list-leistungen input[type="radio"]:checked + label{
	background-color:#409e1b;
}

.filter-list-leistungen label:before{
	content: "\f096";

	display:inline-block;
	vertical-align:bottom;
	width:12px;
}

.filter-list-leistungen input[type="radio"]:checked + label:before,
.filter-list-leistungen label{
	content: "\f046";
}


.referenzen-liste{
	list-style:none;
	margin-top:20px;
	margin-bottom:0;
	padding:0;
}

.referenzen-liste>li{
	margin:0;
	padding-top:0;
	padding-bottom:0;
}

.referenzen-liste>li:nth-child(3n+1){
	clear:left;
}

.referenzen-liste>li:nth-child(n+4){
	margin-top:20px;
}

.referenzen-liste>li .img{
	margin:0 0 10px;
	display: block;
}

.referenzen-liste>li .body{
	border:1px solid #409e1b;
	border-radius:5px;
	overflow: hidden;
	height:100%;
	padding:0 0 24px;
	position: relative;
}

.referenzen-liste>li .text{
	margin:10px;
	box-sizing:content-box;
	line-height:24px;
	height:96px;
	font-size:19px;
	overflow: hidden;
}

.referenzen-liste>li .more{
	position: absolute;
	right:10px;
	bottom:10px;
}

.pagination{
	list-style:none;
	margin:20px 0 0;
	padding:0;
	text-align:center;
	color:#fff;
	overflow:hidden;
}

.pagination>li{
	padding:0;
	margin:0;
	display:inline-block;
	vertical-align:middle;
}

.pagination>li>a{
	display:block;
	padding:7px 12px;
	background-color:#409e1b;
	text-decoration:none;
	color:#fff;

	-webkit-transition:background-color .5s ease;
	-moz-transition:background-color .5s ease;
	-ms-transition:background-color .5s ease;
	-o-transition:background-color .5s ease;
	transition:background-color .5s ease;
}

.pagination>li.active>a,
.pagination>li>a:hover,
.pagination>li>a:focus{
	background-color:#4a962a;
}

.pagination>li:first-child>a{
	border-radius:5px 0 0 5px;
}

.pagination>li:last-child>a{
	border-radius:0 5px 5px 0;
}



@media (max-width: 767px)
{
	.referenzen-liste>li:nth-child(n+1){
		margin-top:20px;
	}
}

.same-height>.row{
	position: relative;
}

.same-height>.row {
	display: -webkit-box;
	display: -moz-box;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;

	-webkit-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
}

.same-height>.row>[class^="col-"],
.same-height>.row>[class*=" col-"]{
	display: -webkit-box;
	display: -moz-box;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;

	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
	flex-direction: column;
}

.same-height>.row:before,
.same-height>.row:after{
	display: none;
}

.button{
	display: inline-block;
	max-width:100%;
	width:auto;
	font:inherit;
	padding:3px 18px;
	border:0;
	color:#fff;

	border-radius: 0;
	box-shadow:3px 3px 4px 0 rgba(0,0,0,.4);
	background-color:#ec7c28;
	text-decoration: none;
}

a.button:focus,
a.button:hover{
	color:#555555;
	text-decoration: none;
}

.kontakt-form>div{
	margin-top:10px;
}

.kontakt-form>div:first-child{
	margin-top:0;
}

.kontakt-form input[type="text"],
.kontakt-form input[type="email"],
.kontakt-form input[type="number"],
.kontakt-form input[type="tel"],
.kontakt-form input[type="password"],
.kontakt-form select,
.kontakt-form textarea{
	display: block;
	max-width:100%;
	width:100%;
	font:inherit;
	padding:0 18px;
	border: 1px solid #eee;
	height:41px;
	color:#000;

	border-radius: 0;
	box-shadow: none;
	background-color:#fff;
}

.kontakt-form select>option{
	background-color:#fff;
}

.kontakt-form textarea{
	min-height:210px;
	padding-top:10px;
	padding-bottom:10px;
	resize: vertical;
}

.kontakt-form .error,
.kontakt-form input.error{
	border:1px solid #f00;
}

.kontakt-form .required:after{
	content:'\00a0\002a';
}