/* element styles */

.html
{
	overflow-y: scroll;
	-ms-overflow-style: scrollbar;
	-ms-text-size-adjust: 100%;
	-webkit-text-size-adjust: 100%;
}

.no-scroll
{
	overflow: hidden !important;
}

*,
*:after,
*:before
{
	box-sizing: border-box;
}

body
{
	margin: 0;
	font: normal 18px/1.333333 'Cuprum', Arial, 'Helvetica Neue', Helvetica, sans-serif;
	color: #474747;
}

iframe
{
	max-width: 100%;
}

h1,
h2,
h3,
h4,
h5,
h6
{
	font-weight: normal;
	margin: 0 0 .3125em;
	color: #474747;
	line-height: 1.1666666666666666666666666666667;
}

h1
{
	font-size: 36px;
}

h2
{
	font-size: 24px;
}

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;
}

/* tinymce */

img.img-left
{
	float: left;
	margin: 0 20px 20px 0;
}

img.img-right
{
	float: right;
	margin: 0 0 20px 20px;
}

.uppercase
{
	text-transform: uppercase;
}

.highlight
{
	color: #d10107;
}

.highlight-2
{
	color: #85bc20;
}

.extra-bold
{
	font-weight: 800;
}

.semi-bold
{
	font-weight: 600;
}

a.button,
.text-styles a.button
{
	display: inline-block;
	background-color: #ffffff;
	color: #011742;
	padding: 3px 11px;
	font-size: 16px;
	text-decoration: none;
	font-weight: 600;
}

a.button:hover,
a.button:focus,
.text-styles a.button:hover,
.text-styles a.button:focus
{
	color: #011742;
	text-decoration: none;
}

/* global */

.text-styles a
{
	color: #008bd2;
}

.text-styles a:hover,
.text-styles a:focus
{
	color: #008bd2;
	text-decoration: none;
}

.hidden-inp
{
	border: 0;
	clip: rect(0 0 0 0);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute;
	width: 1px;
}

.youtube-wrap,
.vimeo-wrap,
.video-wrap
{
	position: relative;
	max-width: 100%;
}

.youtube-wrap:before,
.vimeo-wrap:before,
.video-wrap:before
{
	content: '';
	display: block;
	padding-bottom: 56.25%; /* 16:9 */
}

.youtube-wrap > iframe,
.vimeo-wrap > iframe,
.video-wrap > video
{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

.img-wrap.compat-object-fit img
{
	opacity: 0;
}

.img-wrap.img-cover.compat-object-fit,
.img-wrap.img-contain.compat-object-fit
{
	background-position: center;
	background-repeat: no-repeat;
}

.img-wrap.img-cover.compat-object-fit
{
	background-size: cover;
}

.img-wrap.img-cover > img
{
	-o-object-fit: cover;
	object-fit: cover;
	height: 100%;
	width: 100%;
}

.img-wrap.img-contain.compat-object-fit
{
	background-size: contain;
}

.img-wrap.img-contain > img
{
	-o-object-fit: contain;
	object-fit: contain;
	height: 100%;
	width: 100%;
}

img.full-width
{
	width: 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: 1244px;
	margin: 0 auto;
	padding: 0 32px;
}

.wrap.no-padding
{
	padding-left: 0;
	padding-right: 0;
}

.wrap.full-width
{
	max-width: none;
}

.row-wrap
{
	overflow: hidden;
}

.list-reset
{
	list-style: none;
	margin: 0;
	padding: 0;
}

.list-reset > li
{
	margin: 0;
	padding: 0;
}

.row
{
	list-style: none;
	margin-top: -20px;
	margin-bottom: 0;
	padding: 0;
}

.col,
[class*="col-"]
{
	margin: 20px 0 0;
	padding-top: 0;
	padding-bottom: 0;
}

.vspace-0
{
	margin-top: 0;
}

.vspace-0 > .col,
.vspace-0 > [class*="col-"]
{
	margin-top: 0;
}

/* specific */

#content
{
	height: 100%;
}

#header
{
	position: relative;
	z-index: 90;
	background-color: #85bc20;
	border-bottom: 1px solid #ffffff;
	box-shadow: -5px 5px 30px #000000;
}

.logo
{
	display: block;
	max-width: 600px;
}

@media (max-width: 767px)
{
	.logo
	{
		margin: 0 auto;
	}
}

.header-bottom
{
	padding: 10px 0;
	background-image: linear-gradient(to right, #6d6d6c 10%, white 50%, #6d6d6c 90%);
}

.header-bottom-inner
{
	padding: 0px 0 23px;
}

.header-bottom-bar
{
	margin: 0 -10px;
	font-size: 24px;
}

.header-bottom-bar a
{
	color: #000000;
}

.header-bottom-bar a[href*="mailto:"]
{
	color: #ffffff;
}

.header-bottom-bar a:hover, a:focus
{
	color: #626262;
	text-decoration: none;
}


.header-bottom-bar .col,
.header-bottom-bar [class*="col-"]
{
	padding: 0 10px;
}


.slogan
{
	display: block;
	font-size: 39px;
	clear: both;
	font-weight: bold;
	color: #d10107;
	margin: 4px 0 0;
}

.header-nav
{
	position: relative;
	margin: -8px 0 0;
	color: #000000;
	font-size: 24px;
	z-index: 1;
	float: right;
}

.header-nav a,
.header-nav a:hover,
.header-nav a:focus,
.mobile-menu a,
.mobile-menu a:hover,
.mobile-menu a:focus
{
	color: #000000;
}

.header-nav > ul
{
	list-style: none;
	margin: 0;
	padding: 0;
}

.header-nav > ul > li
{
	position: relative;
	margin: 0 0 0 28px;
	padding: 0;
	float: left;
}

.header-nav > ul > li:first-child
{
	margin-left: 0;
}

.header-nav > ul > li > a
{
	display: block;
	text-decoration: none;
	font-weight: bold;
}

.header-nav > ul > li > a.active,
.header-nav > ul > li > a:hover,
.header-nav > ul > li > a:focus,
.header-nav > ul > li.open > a
{
	text-decoration: none;
	color: #626262;
}

.header-nav .sub
{
	list-style: none;
	margin: 10px 0 0;
	padding: 10px 20px;
	min-width: 180px;
	position: absolute;
	left: 0;
	top: 100%;
	background-color: rgba(255, 255, 255, .9);
	border: 1px solid #000000;
	overflow: hidden;
	z-index: 1;
	white-space: nowrap;
	opacity: 0;
	visibility: hidden;

	-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;
}

.header-nav li.open > .sub
{
	opacity: 1;
	visibility: visible;
}

.header-nav .sub > li > a
{
	text-decoration: none;
	display: inline-block;
}

.header-nav .sub > li > a:hover,
.header-nav .sub > li > a:focus,
.header-nav .sub > li > a.active
{
	text-decoration: underline;
}

#main
{
	padding: 0px 0 0;
}

.gruenetrennlinie
{
	border: 1px solid #85bc20;
}

#footer
{
	padding: 42px 0;
	margin-top: 60px;

	color: #000000;
	font-weight: bold;
	border-top: 2px solid #ffffff;
	/*	background-image: linear-gradient(to right, #6d6d6c 10%, white 50%, #6d6d6c 90%);*/
	background: #6d6d6c;

}

#footer a
{
	color: inherit;
}

.footer-text
{
	font: inherit;
}

.footer-nav > ul
{
	list-style: none;
	margin: 0;
	padding: 0;
}

.footer-nav > ul > li
{
	margin: 0;
	padding: 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;
}

/* abschnitte */

.abschnitt
{
	margin-top: 60px;
}

.abschnitt.margin-collapsing,
.abschnitte > .abschnitt:first-child
{
	margin-top: 0;
}

.abschnitt_linker
{
	position: relative;
	top: -60px;
}

.navbox,
.newsbox
{
	padding: 17px;
	border: 1px solid #c4bfbf;
	height: 100%;
}

a.navbox-more,
a.newsbox-more
{
	display: block;
	border-top: 1px solid #c4bfbf;
	margin: 10px 0 -17px;
	padding: 17px 0;
	color: #008bd2;
}

.navbox-img-wrap,
.newsbox-img-wrap,
.team-img-wrap
{
	position: relative;
	display: block;
	margin-bottom: 17px;
}

.navbox-img-wrap img,
.newsbox-img-wrap img,
.team-img-wrap img
{
	width: 100%;
}

.navbox-img-wrap:before,
.newsbox-img-wrap:before,
.team-img-wrap:before,
.referenzbox:before
{
	content: '';
	display: block;
	padding-top: 45.632333767926988265971316818774%;
}

.navbox-img-wrap img,
.newsbox-img-wrap img,
.team-img-wrap img
{
	position: absolute;
	left: 0;
	top: 0;
}

.navbox-headline,
.newsbox-headline
{
	font-size: 18px;
	font-weight: bold;
}

.newsbox-datum
{
	color: #9ca4af;
	font-size: 14px;
	margin: 0 0 10px;
}

.kontaktformular .form-control
{
	border-radius: 0;
	box-shadow: none;
}

.kontaktformular textarea.form-control
{
	max-width: 100%;
	min-height: 80px;
}

.kontaktformular input[type=submit]
{
	box-shadow: none;
	border-radius: 0;
	background: none;
	border: 0;
	font-weight: 800;
	color: #000000;
}

.team-list
{
	text-align: center;
}

.team-list > li
{
	vertical-align: top;
	display: inline-block;
	float: none;
	text-align: left;
}

.team-text-wrap
{
	text-align: center;
}

.team-img-wrap
{
	overflow: hidden;
}

.abstandteam
{
	margin-bottom: 70px;
}

.team-img-wrap:before,
.referenzbox:before
{
	padding-top: 66.536458333333333333333333333333%;
}

.team-img-wrap img
{
	-webkit-transition: transform ease-out .3s;
	-moz-transition: transform ease-out .3s;
	-o-transition: transform ease-out .3s;
	transition: transform ease-out .3s;
}

.team-img-wrap img:hover
{
	-webkit-transform: scale(1.1);
	-moz-transform: scale(1.1);
	-ms-transform: scale(1.1);
	-o-transform: scale(1.1);
	transform: scale(1.1);
}

.team-name
{
	font-weight: 800;
	font-size: 20px;
}

.bildergalerie-list .img-wrap
{
	position: relative;
	display: block;

}

.bildergalerie-list .img-wrap:before
{
	content: '';
	display: block;
	padding-top: 66.63829787234043%;
}

.bildergalerie-list .img-wrap img
{
	position: absolute;
	left: 0;
	top: 0;
	bottom: 0;
	right: 0;
	height: 100%;
	width: 100%;
	object-fit: cover;
}

.filter-list-leistungen
{
	list-style: none;
	margin: 0 0 30px;
	padding: 0;
	text-align: center;
}

.filter-list-leistungen > li
{
	display: inline-block;
	margin: 0 0 0 20px;
	padding: 0;
}

.filter-list-leistungen > li:first-child
{
	margin-left: 0;
}

.filter-list-leistungen > li > label
{
	color: inherit;
	cursor: pointer;
}

.filter-list-leistungen > li > label:hover,
.filter-list-leistungen > li > label:focus,
.filter-list-leistungen > li > input:checked + label,
.filter-list-leistungen > li > input:focus + label
{
	color: #008bd2;
}

.referenzbox
{
	position: relative;
	display: block;
	color: #ffffff;
}

.referenzbox:after
{
	content: '';
	position: absolute;
	left: 0;
	top: 0;
	bottom: 0;
	right: 0;

	background-color: rgba(0, 0, 0, .5);
	z-index: 2;
}

.referenzbox-text-wrap
{
	position: absolute;
	left: 50%;
	top: 50%;
	width: 100%;
	padding: 0 10px;
	text-align: center;
	color: #ffffff;
	z-index: 3;

	-webkit-transform: translateX(-50%) translateY(-50%);
	-moz-transform: translateX(-50%) translateY(-50%);
	-ms-transform: translateX(-50%) translateY(-50%);
	-o-transform: translateX(-50%) translateY(-50%);
	transform: translateX(-50%) translateY(-50%);
}

.referenzbox:after,
.referenzbox-text-wrap
{
	opacity: 0;
	visibility: hidden;

	-webkit-transition: visibility ease-in-out .4s, opacity ease-in-out .4s;
	-moz-transition: visibility ease-in-out .4s, opacity ease-in-out .4s;
	-o-transition: visibility ease-in-out .4s, opacity ease-in-out .4s;
	transition: visibility ease-in-out .4s, opacity ease-in-out .4s;
}

.referenzbox-img-wrap
{
	position: absolute;
	left: 0;
	top: 0;
}

.referenzbox:hover:after,
.referenzbox:focus:after,
.referenzbox:hover .referenzbox-text-wrap,
.referenzbox:focus .referenzbox-text-wrap
{
	opacity: 1;
	visibility: visible;
}

.referenzbox-headline
{
	font-weight: 800;
	color: inherit;
	text-transform: uppercase;
}

/*
.pagination>.active>a,
.pagination>.active>span,
.pagination>.active>a:hover,
.pagination>.active>span:hover,
.pagination>.active>a:focus,
.pagination>.active>span:focus
{
	background-color: #8d0536;
	border-color: #8d0536;
}

.pagination>li>a,
.pagination>li>span,
.pagination>li>a:hover,
.pagination>li>span:hover,
.pagination>li>a:focus,
.pagination>li>span:focus
{
	color: #8d0536;
}
*/

.normal-width
{
	max-width: 700px;
	margin-left: auto;
	margin-right: auto;
}

.google-map
{
	height: 600px;
	overflow: hidden;
}

.google-map-wrap.responsive
{
	position: relative;
	max-height: 600px;
}

.google-map-wrap.responsive:before
{
	content: '';
	display: block;
	padding-top: 31.25%; /* 1920 x 600 */
}

.google-map-wrap.responsive .google-map
{
	position: absolute;
	left: 0;
	top: 0;
	bottom: 0;
	right: 0;
	height: auto;
}

.modal
{
	visibility: hidden;
	position: fixed;
	top: 0;
	left: 0;
	height: 100%;
	width: 100%;
	opacity: 0;
	z-index: 90;
	outline: 0;
	background-color: rgba(0, 0, 0, .5);

	-webkit-transition: opacity linear .4s, visibility linear .4s;
	-moz-transition: opacity linear .4s, visibility linear .4s;
	-o-transition: opacity linear .4s, visibility linear .4s;
	transition: opacity linear .4s, visibility linear .4s;
}

.modal.active
{
	visibility: visible;
	opacity: 1;
}

html.no-scroll .modal
{
	overflow: scroll;
	ms-overflow-x: auto;
	overflow-x: auto;
}

.modal-close
{
	position: absolute;
	right: -14px;
	top: -14px;
	z-index: 1;
	font-size: 16px;
	line-height: 19px;
	height: 19px;
	width: 19px;
	background-color: #ffffff;
	text-align: center;
}

.modal-close .fas
{
	line-height: inherit;
}

.modal-inner
{
	position: absolute;
	left: 0;
	right: 0;
	top: 20%;
	max-width: 1230px;
	min-height: 200px;
	margin: 0 auto 50px;
	padding: 15px;
	background-color: #ffffff;
	box-shadow: 2px 2px 4px 0 rgba(0, 0, 0, .4);
}

.modal.modal-small .modal-inner
{
	max-width: 600px;
}

.modal.vcenter
{
	display: -ms-flexbox;
	display: flex;
	padding: 50px 10px;
}

.modal.vcenter > *
{
	position: static;
	margin: auto;
}

/* dv */

.dv input[type="checkbox"].auswahl
{
	margin-top: 0;
}

.dv .tab-pane
{
	padding: 15px 0 0;
}

.dv .plupload_container
{
	padding: 0;
}

.custom-switch-2
{
	margin: 0;
}

.custom-switch-2-button
{
	position: relative;
	border-radius: 1em;
	display: inline-flex;
	box-shadow: 0 1px 0 0 #ffffff inset, 0 -1px 0 0 #ffffff inset, -1px 0 0 0 #ffffff inset, 1px 0 0 0 #ffffff inset;
	cursor: pointer;
	z-index: 1;

	-webkit-touch-callout: none;
	-webkit-user-select: none;
	-khtml-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;

	-webkit-transition: background-color ease-in-out .2s;
	-moz-transition: background-color ease-in-out .2s;
	-o-transition: background-color ease-in-out .2s;
	transition: background-color ease-in-out .2s;
}

.custom-switch-2.dark .custom-switch-2-button
{
	box-shadow: 0 1px 0 0 #1a1d20 inset, 0 -1px 0 0 #1a1d20 inset, -1px 0 0 0 #1a1d20 inset, 1px 0 0 0 #1a1d20 inset;
}

.custom-switch-2-button:before
{
	content: '';
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	min-width: 3.25em;
	border-radius: 1em;
	background-color: #ffffff;
	z-index: -1;

	-webkit-transition: transform ease-in-out .2s, left ease-in-out .2s;
	-moz-transition: transform ease-in-out .2s, left ease-in-out .2s;
	-o-transition: transform ease-in-out .2s, left ease-in-out .2s;
	transition: transform ease-in-out .2s, left ease-in-out .2s;
}

.custom-switch-2.dark .custom-switch-2-button:before
{
	background-color: #1a1d20;
}

.custom-switch-2 input:checked ~ .custom-switch-2-button:before
{
	left: 100%;

	-webkit-transform: translateX(-100%);
	-moz-transform: translateX(-100%);
	-ms-transform: translateX(-100%);
	-o-transform: translateX(-100%);
	transform: translateX(-100%);
}

.custom-switch-2 input:indeterminate ~ .custom-switch-2-button:before
{
	left: 50%;

	-webkit-transform: translateX(-50%);
	-moz-transform: translateX(-50%);
	-ms-transform: translateX(-50%);
	-o-transform: translateX(-50%);
	transform: translateX(-50%);
}

.custom-switch-2-button-active,
.custom-switch-2-button-inactive
{
	min-width: 3.25em;
	text-transform: uppercase;
	font-weight: bold;
	text-align: center;
	line-height: 1.8;

	-webkit-transition: color ease-in-out .2s;
	-moz-transition: color ease-in-out .2s;
	-o-transition: color ease-in-out .2s;
	transition: color ease-in-out .2s;
}

.custom-switch-2-button-active,
.custom-switch-2.dark .custom-switch-2-button-inactive,
.custom-switch-2 input:checked ~ .custom-switch-2-button .custom-switch-2-button-inactive,
.custom-switch-2.dark input:checked ~ .custom-switch-2-button .custom-switch-2-button-active,
.custom-switch-2.dark input:indeterminate ~ .custom-switch-2-button .custom-switch-2-button-active,
.custom-switch-2.dark input:indeterminate ~ .custom-switch-2-button .custom-switch-2-button-inactive
{
	color: #ffffff;
}

.custom-switch-2-button-inactive,
.custom-switch-2.dark .custom-switch-2-button-active,
.custom-switch-2.dark input:checked ~ .custom-switch-2-button .custom-switch-2-button-inactive,
.custom-switch-2 input:checked ~ .custom-switch-2-button .custom-switch-2-button-active,
.custom-switch-2 input:indeterminate ~ .custom-switch-2-button .custom-switch-2-button-active,
.custom-switch-2 input:indeterminate ~ .custom-switch-2-button .custom-switch-2-button-inactive
{
	color: #1a1d20;
}

.custom-switch-2 input:indeterminate ~ .custom-switch-2-button
{
	background-color: #cccccc;
}

.custom-switch-2.disabled-active .custom-switch-2-button-inactive,
.custom-switch-2.disabled-inactive .custom-switch-2-button-active
{
	display: none;
}