/* element styles */

.html
{
	overflow-y: scroll;
	-ms-overflow-style: scrollbar;
	-ms-text-size-adjust: 100%;
	-webkit-text-size-adjust: 100%;
	scroll-behavior: smooth;
}

.no-scroll
{
	overflow: hidden !important;
}

*,
*:after,
*:before
{
	box-sizing: border-box;
}

body
{
	margin: 0;
	font: normal 18px/1.333333 'Roboto', Arial, 'Helvetica Neue', Helvetica, sans-serif;
	color: #231e22;
}

iframe
{
	max-width: 100%;
}

h1,
h2,
h3,
h4,
h5,
h6
{
	font-weight: normal;
	font-family: 'Mako';
	margin: 0 0 .3125em;
	color: #666;
	line-height: 1.1666666666666666666666666666667;
}

h1
{
	font-size: 30px;
	color:#2188d7;
	font-weight:bold;
}

h2
{
	font-size: 24px;
	color:#2188d7;
	font-weight:bold;
}

h3
{
	font-size: 20px;
	color:#2188d7;
	font-weight:bold;
}

h4
{
	font-size: 18px;
	color:#2188d7;
	font-weight:bold;
}

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: #2188d7;
}

.highlight-2
{
	color: #b4a68c;
}

.extra-bold
{
	font-weight: 800;
}

.semi-bold
{
	font-weight: 600;
}

.startrechts {
	margin-left:24px;
}


a.button,
.text-styles a.button,.buttonsub
{
	display: inline-block;
	background-color: #605134;
	border: 1px solid #605134;
	color: #fff;
	padding: 3px 11px;
	text-decoration: none;
	font-weight: 400;
	border-radius: 5px;
}

a.button:hover,
a.button:focus,
.text-styles a.button:hover,
.text-styles a.button:focus,.buttonsub:hover
{
	color: #2188d7;
	background-color: #fff;
	border: 1px solid #2188d7;
	text-decoration: none;
	transition: ease 0.4s;
}

/* global */

.text-styles a, a
{
	color: #b49b6c;
	font-weight: 500;
}

.text-styles a:hover,
.text-styles a:focus, a:hover
{
	color: #605134;
	text-decoration: underline;
}

.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 !important;
	padding-right: 0 !important;
}

.wrap.full-width
{
	max-width: none !important;
}

.wrap-width-1 .wrap
{
	max-width: 1044px;
}

.wrap-width-2 .wrap
{
	max-width: none;
}

.wrap-width-3 .wrap
{
	max-width: none;
	padding-left: 0;
	padding-right: 0;
}

.row-wrap
{
	overflow: hidden;
}

.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;
}

.header-top
{
	background-color: #000;
	color: #fff;
	padding: 6px 0;
	text-align: right;
}

.header-bottom
{
	height: 130px;
	box-shadow: 0px 3px 4px rgba(0, 0, 0, 0.79);
	-moz-box-shadow: 0px 3px 4px rgba(0, 0, 0, 0.79);
	-webkit-box-shadow: 0px 3px 4px rgba(0, 0, 0, 0.79);
	position: fixed;
	width: 100%;
	background-color: #fff;
}

.header-bottom-bar
{
	float: right;
}

.search-form
{
	margin: 0 0 0 8px;
}

.search-form input[type="search"]
{
	border: 0;
	box-shadow: none;
	background-color: #f5f5f3;
	height: 24px;
	font-size: 14px;
	width: 160px;
	max-width: 100%;
	vertical-align: top;
	transition: width ease-in-out .4s;
	margin: 0;
	padding: 0 19px 0 7px;
}

.search-form input[type="search"]:focus
{
	width: 240px;
}

.search-inp-wrap
{
	position: relative;
	background-color: #f5f5f3;
	margin: 0;
}

.search-inp-wrap .fas
{
	position: absolute;
	right: 5px;
	top: 0;
	bottom: 0;
	margin: auto;
	font-size: 14px;
	line-height: 24px;
}

.header-nav
{

	color: #231e22;
}

.header-nav a,
.header-nav a:hover,
.header-nav a:focus,
.mobile-menu a,
.mobile-menu a:hover,
.mobile-menu a:focus
{
	color: inherit;
	font-size: 14px;
}

.frstletter {
	font-size:18px
}



.header-nav > ul
{
	list-style: none;
	margin: 0;
	padding: 0;

}

.header-nav > ul > li
{
	position: relative;
	display: inline-block;
	text-transform: uppercase;
	margin-left: 10px;
}
.header-nav > ul > li:first-child
{
	margin-left: 0;
}
.header-nav > ul > li > a
{

	text-decoration: none;
	padding: 8px 8px 6px 8px;
	margin:0px;
}




.header-nav > ul > li > a.active,
.header-nav > ul > li > a:hover,
.header-nav > ul > li > a:focus,
.header-nav > ul > li.open > a
{
	color: #fff;
	background-color: #2188d7;
	transition: ease 0.6s;
}


.header-nav .sub
{
	list-style: none;
	margin: 4px 0 0;
	padding: 10px 20px;
	min-width: 180px;
	position: absolute;
	left: 0;
	top: 100%;
	background-color: rgba(255, 255, 255, .9);
	border: 1px solid #000;
	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;
	text-transform: none;
}

.header-nav .sub > li > a:hover,
.header-nav .sub > li > a:focus,
.header-nav .sub > li > a.active
{
	text-decoration: none;
	color:#2188d7;
}

#main
{
	padding:130px 0 0;
}

.has-main-bg
{
	background-size: cover;
	background-repeat: no-repeat;
	background-attachment: fixed;
}

#footer {
	margin: 50px 0 0px 0;
	background: #2188d7;
	color:#fff;

	padding: 5px 0 5px 0;
}

#footer a
{
	color: #fff;
}

.footer-text{
	font: inherit;
}

.footer-nav > ul
{
	list-style: none;
	margin: 0;
	padding: 0;
}

.footer-nav > ul > li
{
	display: inline;
	margin: 0;
	padding:0 0 0 7px;
}

.footer-nav > ul > li > a
{
	text-decoration: none;
	font-weight:normal;
}

.footer-nav > ul > li > a.active,
.footer-nav > ul > li > a:hover,
.footer-nav > ul > li > a:focus
{
	color:#b4a68c !important;
	transition: all 0.4s ease;
}

/* abschnitte */

.abschnitt
{
	margin-top:30px;
}

.abschnitt.margin-collapsing,
.abschnitte > .abschnitt:first-child
{
	margin-top:0;
}

.abschnitt_linker
{
	position: relative;
	top: -30px;
}

[class*="abschnitt-bg-color-"]
{
	padding: 40px 0;
}

.abschnitt-bg-color-1 + .abschnitt-bg-color-1,
.abschnitt-bg-color-2 + .abschnitt-bg-color-2,
.abschnitt-bg-color-3 + .abschnitt-bg-color-3,
.abschnitt-bg-color-4 + .abschnitt-bg-color-4
{
	margin-top: 0;
	padding-top: 0;
}

.abschnitt-bg-color-1
{
	border-top:1px solid #2188d7;
	border-bottom:1px solid #2188d7;
	background-color: #e5e5e5;
	color: #666;
}
.kontakaktuelles {
	display: flex;
	flex-direction: column;
}

.kontakaktuelles .text-styles {
	background:#eee;
	flex-grow: 1;
}
.kontakaktuelles .Greybox {
	background:#eee;
}
.kontakaktuelles .mitglied {
	padding: 0 15px;
}



.navbox,
.newsbox
{

	border: 1px solid #2188d7;
	position: relative;
	width: 100%; /* Breite des Containers */
	min-height: 100px; /* Minimale Höhe des Containers, anpassen nach Bedarf */
	border: 1px solid #000; /* Rand des Containers, nur zur Veranschaulichung */
	overflow: hidden; /* Verhindert, dass das innere Element außerhalb des Containers sichtbar ist */


}

.animated-area {
	display: flex;
	justify-content: center; /* Zentriert Inhalte horizontal */
	align-items: center; /* Zentriert Inhalte vertikal */
	position: absolute;
	bottom: -100%; /* Startet außerhalb des sichtbaren Bereichs des Containers */
	width: 100%; /* Breite der animierten Fläche */
	height: 100%; /* Die Höhe der animierten Fläche entspricht der Höhe des Containers */
	background-color: #2188d7; /* Farbe der animierten Fläche */
	opacity: 0.8;
	transition: bottom 0.5s; /* Glatter Übergang der 'bottom'-Eigenschaft */
	z-index: 200;
	color:#fff;
	font-size: 20px;

}

.navbox:hover .animated-area {
	bottom: 0; /* Bewegt die Fläche nach oben, wenn der Mauszeiger über dem Container ist */
}
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;

}

.navbox-img-wrap img,
.newsbox-img-wrap img,
.team-img-wrap img
{
	width: 100%;
}
.team-img-wrap:before {
	content: '';
	display: block;

}


.navbox-img-wrap:before,
.newsbox-img-wrap:before,
.referenzbox:before
{
	content: '';
	display: block;
	padding-top: 69.1699604743083%;
}

.navbox-img-wrap img,
.newsbox-img-wrap img,
.team-img-wrap img
{
	position: absolute;
	left: 0;
	top: 0;
}

.newsbox-headline
{
	font-size: 18px;
	text-transform: uppercase;
}
.navbox-headline
{
	display: inline;
	font-size: 15px;
	text-transform: uppercase;
	margin-left:5px;
	color:#fff;
	padding:3px;
}
.navbox-headline:first-child {
	margin-left: 0;
}

.frstletter2 {
	font-size:150%
}
.navbox-text-wrap {
	background-color: #605134;
	opacity: 0.8;
	height: 73px;
	text-align: center;
	display: table-cell;
	vertical-align: middle;
	width: 100%;
}

.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;
}


.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;
}

.team-img-wrap:before,
.referenzbox:before
{
	padding-top: 66.536458333333333333333333333333%;
	padding-top: 150.4%;
}

.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;

	-webkit-transition: transform ease-in-out .4s;
	-moz-transition: transform ease-in-out .4s;
	-o-transition: transform ease-in-out .4s;
	transition: transform ease-in-out .4s;
}

.bildergalerie-list a
{
	overflow: hidden;
}

.bildergalerie-list a:hover img,
.bildergalerie-list a:focus img
{
	-webkit-transform: scale(1.1);
	-moz-transform: scale(1.1);
	-ms-transform: scale(1.1);
	-o-transform: scale(1.1);
	transform: scale(1.1);
}

.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: #fff;
}

.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: #fff;
	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 #fff inset, 0 -1px 0 0 #fff inset, -1px 0 0 0 #fff inset, 1px 0 0 0 #fff 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: #fff;
	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: 300;
	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: #fff;
}

.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: #ccc;
}

.custom-switch-2.disabled-active .custom-switch-2-button-inactive,
.custom-switch-2.disabled-inactive .custom-switch-2-button-active
{
	display: none;
}



.splitbreak
{
	margin-bottom: 24px;
}

.splitbreak.einfach
{
	margin-bottom: 11px;
}

.splitbreak .head
{
	color: #000000;
	/*background: #f08600 url('/img/web/splitbreak.png') no-repeat top right;*/
	height: 52px;
	line-height: 52px;
	font-weight: bold;
	position: relative;
	padding-left: 15px;
}


.splitbreak.einfach .head
{
	background: transparent;
	color: #000000;
	padding-left: 0;
}

.splitbreak.einfach .head a
{
	color: inherit;
	font-size: 18px;
}

.splitbreak.einfach .head a > span
{
	right: 50px;
	color: #f08600;
}

.splitbreak.einfach .head hr
{
	margin: 0;
	margin-right: 50px;
	padding: 0;
}

.splitbreak.einfach.open a
{
	color: #ff0000;
}

.splitbreak.einfach .sub .inner
{
	padding-top: 25px;
	padding-bottom: 25px;
	padding-left: 0;
	padding-right: 50px;
}

.splitbreak .head a
{
	font-size: 18px;
	font-weight: bold;
	line-height: inherit;
	outline: none;
	display: block;
	color: inherit;
	text-transform: inherit;
	text-decoration: none;
}

.splitbreak .head a > span
{
	font-size: 14px;
	position: absolute;
	right: 80px;
	top: 0;
	opacity: 0;
	transition: opacity 0.4s ease;
}

.splitbreak .head
{
	padding-top: 1px;
}

.splitbreak .head a > span
{
	top: 1px;
}

.splitbreak .head .group-addon a > span
{
	position: static;
	right: auto;
	top: auto;
	display: block;
}

.splitbreak .head .group-addon a > span + span
{
	margin-top: -52px;
}

.splitbreak .head a + span.pfeil
{
	position: absolute;
	display: block;
	top: 8px;
	right: 0;
	width: 42px;
	height: 42px;
	background: url("/img/web/splitbreak-pfeil.png") no-repeat top left;
	transition: transform 0.4s ease;
	pointer-events: none;
}

.splitbreak.link .head a + span.pfeil
{
	transform: rotateZ(-90deg);
}

.splitbreak.open .head a + span.pfeil
{
	transform: rotateZ(180deg);
}

.splitbreak.open .head a > span.open,
.splitbreak.link .head a > span.open,
.splitbreak.open2 .head a > span.open2
{
	opacity: 1;
}

.splitbreak.close .head a > span.close,
.splitbreak.close2 .head a > span.close2
{
	opacity: 1;
}

.splitbreak .sub
{
	transition: max-height 0.4s ease-in;
	overflow: hidden;
	color: #ffffff;
}

.splitbreak.close .sub
{
	height: auto;
	max-height: 0 !important;
}

.splitbreak.open .sub
{
	max-height: 2000px;
}
.hidden {
	display: none;
}


.abschnitte>.abschnitt.viewport-hidden,
.viewport-hidden{
	visibility: hidden;
}


.viewport-visibile-animation{
	-webkit-animation: move-up 1.5s 1;
	-moz-animation: move-up 1.5s 1;
	-o-animation: move-up 1.5s 1;
	animation: move-up 1.5s 1;


}

@-webkit-keyframes move-up {
	from {
		opacity:0;
		visibility: hidden;

		-webkit-transform: translate3d(0,100px,0);
		transform: translate3d(0,100px,0);
	}
	to {
		opacity:1;
		visibility: visible;

		-webkit-transform: translate3d(0,0,0);
		transform: translate3d(0,0,0);
	}
}
@-moz-keyframes move-up {
	from {
		opacity:0;
		visibility: hidden;

		-webkit-transform: translate3d(0,0,0);
		-moz-transform: translate3d(0,100px,0);
		transform: translate3d(0,100px,0);
	}
	to {
		opacity:1;
		visibility: visible;

		-webkit-transform: translate3d(0,0,0);
		-moz-transform: translate3d(0,0,0);
		transform: translate3d(0,0,0);
	}
}
@-o-keyframes move-up {
	from {
		opacity:0;
		visibility: hidden;

		-webkit-transform: translate3d(0,0,0);
		-o-transform: translate3d(0,100px,0);
		transform: translate3d(0,100px,0);
	}
	to {
		opacity:1;
		visibility: visible;

		-webkit-transform: translate3d(0,0,0);
		-o-transform: translate3d(0,0,0);
		transform: translate3d(0,0,0);
	}
}
@keyframes move-up {
	from {
		opacity:0;
		visibility: hidden;

		-webkit-transform: translate3d(0,100px,0);
		-moz-transform: translate3d(0,100px,0);
		-ms-transform: translate3d(0,100px,0);
		-o-transform: translate3d(0,100px,0);
		transform: translate3d(0,100px,0);
	}
	to {
		opacity:1;
		visibility: visible;

		-webkit-transform: translate3d(0,0,0);
		-moz-transform: translate3d(0,0,0);
		-ms-transform: translate3d(0,0,0);
		-o-transform: translate3d(0,0,0);
		transform: translate3d(0,0,0);
	}
}

.logo {
	-webkit-filter: drop-shadow(2px 2px 2px rgba(0,0,0,0.6));
	filter: drop-shadow(2px 2px 2px rgba(0,0,0,0.6));

}
.logpos {
	position: absolute;top:25px;right:0px;display: block;
}

.Greybox{background-color:#e5e5e5; padding-top:15px;margin:20px 0px;}

.Greybox_headline{
	background-color:#2188d7;
	color:#FFF;
	margin-bottom:15px;
	text-indent:15px;
	line-height:40px;
	vertical-align:middle;
	font-size:24px;
	text-transform:uppercase;
}

.Greybox_headline .textItem p::first-letter{font-size:130%;}

.Greybox_content{
	padding:15px;
}
.hrklasse {
	border: 0;width: 100%;height: 1px;background-color: #2188d7;
}

@media (max-width: 1003px)
{
	.header-nav a,
	.header-nav a:hover,
	.header-nav a:focus
	{
		color: inherit;
		font-size: 12px;
	}
	.header-nav > ul > li {
		margin: 0;
	}
	.frstletter {
		font-size:15px
	}

}
.is-invalid {
	color: #721c24;
	background-color: #f8d7da;
	border-color: #f5c6cb;
}

.socialheader {
	height: 102px;
	position: relative;
	text-align: right
}
.kontaktversatz {
	padding-left: 88px;
}