/* element styles */
.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: 300 16px/1.25 'Lato', Arial, 'Helvetica Neue', Helvetica, sans-serif;
	color: #000000;
}

iframe
{
	max-width: 100%;
}

h1,
h2,
h3,
h4,
h5,
h6
{
	font-weight: normal;
	margin: 0 0 .3125em;
}

h1
{
	font-size: 40px;
	font-weight: bold;
	color: #ffb32f;
}

h2
{
	font-size: 20px;
	color: #a71d14;
}

h3
{
	font-size: 20px;
}

h4
{
	font-size: 16px;
}

h5
{
	font-size: 14px;
}

h6
{
	font-size: 12px;
}

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;
}

a
{
	color: inherit;
	text-decoration: underline;
}

a:hover,
a:focus
{
	color: inherit;
	text-decoration: none;
}

/* tinymce */

.uppercase
{
	text-transform: uppercase;
}

.highlight {
	color: #a71d14;
}

.highlight-2 {
	color: #1f7d39;
}

.highlight-3 {
	color: #ffb32f;
}

/* global */

.hidden-inp
{
	border: 0;
	clip: rect(0 0 0 0);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute;
	width: 1px;
}

.youtube-wrap
{
	position: relative;
	padding-bottom: 56.25%; /* 16:9 */
	height: 0;
}

.youtube-wrap > iframe
{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

.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, .4);
	border-radius: 4px;
}

.txtf-close
{
	font-size: 22px;
	line-height: 1;
	font-weight: normal;
	text-decoration: none;
}

.maintenance
{
	display: inline-block;
	margin-top: 30px;
	border: 1px #cccccc solid;
	background: #ffffff;
	padding: 20px;
	color: #000000;
	border-radius: 10px;
}

.div_noscript
{
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	z-index: 99999;
	padding: 5px;
	border: 1px #ff0000 solid;
	background: #ffffff;
	color: #ff0000;
}

.visible-mobile
{
	display: none;
}

.wrap
{
	max-width: 1260px;
	margin: 0 auto;
	padding: 0 30px;
}

/* specific */


#header
{
	position: fixed;
	left: 0;
	top:0;
	width: 100%;
	/*
	background: url(../img/web/menu-flaechen.svg) no-repeat left top;
	background-size:100% 100%;
	*/
	z-index: 101;
	color: #fff;
	padding: 18px 0 0;
}

.header-bg-svg
{
	position: absolute;
	left: 0;
	top: 0;
	bottom: -65px;
	right: 0;
	width: 100% !important;
	height: calc(100% + 65px) !important;
	z-index: -1;
	pointer-events: none;
}

#header .logo
{
	float: right;
	width:28.47560975609756%;

	-webkit-transform:translate3d(0,0,0);
}

.header-nav
{
	float: left;
	margin-top: 40px;
}

.header-nav > ul
{
	list-style:none;
	margin: 0;
	padding: 0;
}

.header-nav > ul > li
{
	position: relative;
	margin: 0 0 0 44px;
	padding: 0;
	float: left;
	font-size:20px;
}

.header-nav > ul > li:first-child
{
	margin-left:0;
}

.header-nav > ul > li > a
{
	display: block;
	text-decoration: none;
}

.header-nav > ul > li > a.active,
.header-nav > ul > li.open > a,
.header-nav > ul > li > a:hover,
.header-nav > ul > li > a:focus
{
	color:#feb22b;
	text-decoration: none;
}

.header-nav .sub-wrap{
	padding-top:36px;
	position: absolute;
	left: 0;
	top: 100%;
	margin: 0 0 0 -40px;

	-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 .sub
{
	list-style: none;
	margin: 0;
	padding: 20px 70px 35px 40px;
	max-width: 100vw;
	background:url(../img/web/higru_subnavi.svg) no-repeat left top;
	background-size:100%;
	overflow: hidden;
	white-space: nowrap;

	-webkit-transform:translate3d(0,0,0);
}

.header-nav .sub>li
{
	margin: 0;
	padding: 0;
}

.header-nav li.open > .sub-wrap
{
	opacity: 1;
	visibility: visible;
}

.header-nav .sub > li > a
{
	text-decoration: none;
}

.header-nav .sub > li > a:before{
	content: '-\00a0';
}

.header-nav .sub > li > a:hover,
.header-nav .sub > li > a:focus,
.header-nav .sub > li > a.active
{
	text-decoration: underline;
}

#main
{
	min-height: 600px;
	background: url(../img/web/hintergrund.svg) no-repeat left top;
	background-size:auto;
}

#footer
{
	background: url(../img/web/footer-hg.svg) no-repeat left top;
	background-size: 100% 100%;
	color: #ffffff;
	padding: 45px 0 25px;
	margin-top:37px;
}

.footer-text{
	font:inherit;
}

.footer-nav > ul
{
	list-style: none;
	margin: 0;
	padding: 0;
}

.footer-nav > ul > li
{
	margin: 0;
	padding: 0;
	float: left;
}

.footer-nav > ul > li:before{
	content: '\00a0\00a0\00a0|\00a0\00a0\00a0';
}

.footer-nav > ul > li:first-child:before{
	display: none;
}

.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;
}

/* abschnitte */

.abschnitt_linker
{
	position: relative;
	top: -100px;
}

.abschnitt-bg{
	background-size:cover;
	background-position:center;
}

.abschnitt > .slider,
.abschnitt > .wrap > .slider
{
	position: relative;
}

.abschnitt.slider > .wrap
{
	padding: 0 !important;
}

.slider .slider
{
	position: relative;
}

.slider .slider .spacing
{
	width: 100%;
	max-height: 890px;
}

.slider .slider .pfeil-links
{
	position: absolute;
	bottom: 24px;
	left: 0;
	padding-left: 10px;
	z-index: 3;
	text-align: left;
}

.slider .slider .pfeil-rechts
{
	position: absolute;
	bottom: 24px;
	right: 0;
	padding-right: 10px;
	z-index: 2;
	text-align: right;
}

.slider .slider .slider-content
{
	position: absolute;
	overflow: hidden;
	top: 0;
	left: 0;
	height: 100%;
	width: 100%;
	z-index: 1;
}

.slider .slider .slider-content > div
{
	height: 100%;
}

.slider .slider .image
{
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	width: 100%;
	height: 100%;
	background: #b9babc no-repeat center;
	background-size: cover;
}

.abschnitt.vollebreite,
.abschnitt.zweispaltig,
.abschnitt.dreispaltig,
.abschnitt.vierspaltig,
.abschnitt.googlemap,
.abschnitt.navboxen,
.abschnitt.kontaktformular
{
	padding-top: 80px;
	padding-bottom: 80px;
}

.abschnitt.vollebreite + .abschnitt.collapsing,
.abschnitt.zweispaltig + .abschnitt.collapsing,
.abschnitt.dreispaltig + .abschnitt.collapsing,
.abschnitt.vierspaltig + .abschnitt.collapsing,
.abschnitt.googlemap + .abschnitt.collapsing,
.abschnitt.navboxen + .abschnitt.collapsing,
.abschnitt.kontaktformular + .abschnitt.collapsing
{
	padding-top: 0;
	margin-top: -80px;
}

.abschnitt.slider + .abschnitt.vollebreite.collapsing,
.abschnitt.slider + .abschnitt.zweispaltig.collapsing,
.abschnitt.slider + .abschnitt.dreispaltig.collapsing,
.abschnitt.slider + .abschnitt.vierspaltig.collapsing,
.abschnitt.slider + .abschnitt.googlemap.collapsing,
.abschnitt.slider + .abschnitt.navboxen.collapsing,
.abschnitt.slider + .abschnitt.kontaktformular.collapsing
{
	padding-top: 0;
}

.abschnitt.slider .pfeil-links,
.abschnitt.slider .pfeil-rechts
{
	font-size: 30px;
	color: #ffffff;
	text-shadow: 0 0 3px #000000;
	transition: all .4s ease;
}

.abschnitt.slider .pfeil-links:hover,
.abschnitt.slider .pfeil-rechts:hover
{
	color: #cccccc;
}

.abschnitt.slider .slidernav
{
	position: absolute;
	bottom: 0;
	left: 50px;
	right: 50px;
	z-index: 3;
	text-align: center;
	padding-bottom: 10px;
}

.abschnitt.slider .slidernav a
{
	text-shadow: 0 0 3px rgba(0, 0, 0, .5);
	color: #ffffff;
	font-size: 20px;
	transition: all .4s ease;
}

.abschnitt.slider .slidernav a.active,
.abschnitt.slider .slidernav a:hover
{
	color: #000000;
	text-shadow: 0 0 3px rgba(255, 255, 255, .5);
}

.abschnitt.slider .overlay
{
	position: absolute;
	top: 30px;
	left: 50px;
	right: 50px;
	z-index: 2;
}

.abschnitt.navboxen{
	font-weight: bold;
	padding: 120px 0;
}


.abschnitt.navboxen .row{
	margin:-10px -5px 0 -5px;
}

.abschnitt.navboxen .row>[class^="col-"],
.abschnitt.navboxen .row>[class*=" col-"]{
	padding: 10px 5px 0 5px;
	min-height: 310px;
}

.abschnitt.navboxen a
{
	display: block;
	text-decoration: none;
	color: inherit;
}

.abschnitt.navboxen a[href*="javascript:void(0)" i]
{
	cursor: default;
}

.abschnitt.navboxen a span
{
	/*position: absolute;*/
	display: block;
	padding: 18px 20px;
	font-size: 18px;
	text-align: center;
	z-index: 1;
	transition: all .4s ease;
	/*
	top: 50%;
	left: 0;
	right: 0;

	-webkit-transform: translateY(-50%);
	-moz-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	-o-transform: translateY(-50%);
	transform: translateY(-50%);
	*/
}

.abschnitt.navboxen [class^="box_design"],
.abschnitt.navboxen [class*=" box_design"]
{
	background: no-repeat center #cccccc;
	background-size: cover;
	padding: 10px;
}

.abschnitt.navboxen .box_design0
{
	color: #ffffff;
	background: rgba(167, 29, 20, .8);
}

.abschnitt.navboxen .box_design1
{
	color: #ffffff;
	background: rgba(31, 125, 57, .8);
}

.abschnitt.navboxen .box_design2
{
	color: #ffffff;
	background: rgba(255, 179, 47, .8);
}

.abschnitt.news ul.newslist
{
	margin-top: 20px;
}

.abschnitt.news ul.newslist > li:first-child,
.abschnitt.news-overview ul.newslist > li:first-child
{
	border-top: 0;
	padding-top: 0;
}

.abschnitt.news ul.newslist > li,
.abschnitt.news-overview ul.newslist > li
{
	border-top: 1px #cccccc dotted;
	padding-top: 10px;
	padding-bottom: 10px;
}

.abschnitt.news .datum,
.abschnitt.news-overview .datum
{
	white-space: nowrap;
	color: #9ca4af;
	font-size: 14px;
}

.abschnitt.news .more,
.abschnitt.news-overview .more
{
	display: block;
	text-align: right;
	font-size: 80%;
}

.abschnitt.news .inhalt,
.abschnitt.news-overview .inhalt
{

}

/* dv */

input[type="checkbox"].auswahl
{
	margin-top: 0;
}

/* Bootstrap overwrite */

.same-height>.row,
.same-height>.row>[class^="col-"],
.same-height>.row>[class*=" col-"],
.same-height .column-bottom,
.same-height .column-wrap{
	display: -webkit-flex;
	display: -ms-flex;
	display: flex;
}

.same-height>.row{
	position: relative;

	-webkit-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
}

.same-height>.row>[class^="col-"],
.same-height>.row>[class*=" col-"],
.same-height .column-bottom,
.same-height .column-middle,
.same-height .column-wrap{
	-webkit-flex-direction: column;
	-ms-flex-direction: column;
	flex-direction: column;
}

.same-height>.row:before,
.same-height>.row:after,
.same-height:before,
.same-height:after{
	display: none;
}

.same-height .column-bottom{
	margin-top: auto;
}

.same-height .column-middle{
	margin-bottom: auto;
	margin-top: auto;
}

.same-height .column-wrap{
	min-height:100%;

	-webkit-flex-grow:1;
	-ms-flex-grow:1;
	flex-grow:1;
}

/* carousel */


.carousel-wrap{
	overflow:hidden;
	position:relative;
	height:100vh;
}

.slider,
.fader{
	position:absolute;
	left:0;
	top:0;
	bottom:0;
	right:0;
	list-style:none;
	margin:0;
	padding:0;
}

.slider>li,
.fader>li{
	margin:0;
	padding:0;
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	background-color:#fff;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	position: absolute;
}

.slider>li.active,
.fader>li.active{
	z-index:1;
}

.fader>li {
	opacity:0;

	-webkit-transition:inherit;
	-moz-transition:inherit;
	-o-transition:inherit;
	transition:inherit;
}

.carousel .overlay{
	position: absolute;
	right: 0;
	bottom: 0;
	background:url(../img/web/bildbeschreibung-flaeche.svg) no-repeat left top;
	background-size:100% 100%;
	color:#fff;
	margin: 0;
	padding: 30px 67px 15px 110px;
	font-size:40px;
}

.carousel-wrap .scroll-down{
	position: absolute;
	left: 0;
	bottom: 0;
	margin: 0 0 0 110px;
	text-decoration: none;
	color: #fff;
	z-index: 4;
	background:url(../img/web/weiterscrollen.png) no-repeat top left;
	width: 236px;
	height: 83px;
}