@font-face {
    font-family: 'Roboto Light';
    src: url('../fonts/roboto/Roboto-Light.ttf') format('truetype');
    font-display: swap;
}
@font-face {
    font-family: 'Roboto Regular';
    src: url('../fonts/roboto/Roboto-Regular.ttf') format('truetype');
    font-display: swap;
}
@font-face {
    font-family: 'Roboto Medium';
    src: url('../fonts/roboto/Roboto-Medium.ttf') format('truetype');
    font-display: swap;
}
@font-face {
    font-family: 'Roboto Bold';
    src: url('../fonts/roboto/Roboto-Bold.ttf') format('truetype');
    font-display: swap;
}
@font-face {
    font-family: 'OpenSans Regular';
    src: url('../fonts/Open_Sans/OpenSans-Regular.ttf') format('truetype');
    font-display: swap;
}
@font-face {
    font-family: 'OpenSans Bold';
    src: url('../fonts/Open_Sans/OpenSans-Bold.ttf') format('truetype');
    font-display: swap;
}
@font-face {
    font-family: 'Cookie Regular';
    src: url('../fonts/Cookie-Regular.ttf') format('truetype');
    font-display: swap;
}

html, body, .mm-slideout {height: 100%;}
#mainsite { height: 100% !important;}
#wrap { min-height: 100%; height: auto !important; height: 100%; margin: 0 auto -245px; background: #fff;}
#main { padding-bottom: 245px; overflow: hidden; height: auto;}
 
body {
    color: #111111;
    word-wrap: break-word;
    font-family: 'OpenSans Regular', sans-serif;
    line-height: 1.8rem;
    font-size: 1.1rem;
    background: #fff;
	-webkit-font-smoothing: antialiased;
	overflow-x: hidden;
}

body p.align-center, .ce-headline-center { text-align: center;}

p:last-child {margin-bottom: 0; padding-bottom: 0;}

.text-right {text-align: right;}

.csc-frame-rulerBefore { border-top:1px solid #fff; margin-top:30px; padding-top:20px;}

h1, .h1 {font-size: 2.4rem; margin: 0; padding-bottom: 2rem; color: #000; position: relative;font-family: 'Roboto Regular', sans-serif;}
h2, .h2 {font-size: 2.4rem; margin: 0; padding-bottom: 1rem; color: #000; position: relative;font-family: 'Roboto Light', sans-serif;}
h3, .h3 {font-size: 1.4rem; margin: 0; padding-bottom: 1rem; text-transform: uppercase; line-height: 2.2rem;font-family: 'Roboto Medium', sans-serif; letter-spacing: 1px;}
h4, .h4 {margin: 0; font-size: 1.4rem; padding-bottom: 1rem; line-height: 2rem; color: #000; display: block; font-family: 'Roboto Regular', sans-serif;}

h1 span {color: #DB1C1C;font-family: 'Roboto Bold', sans-serif;}

h1.redline {font-family: 'Roboto Bold', sans-serif;}
h1.redline:after {
	content: "";
    border-bottom: 5px solid #DB1C1C;
    width: 100px;
    height: 5px;
    position: absolute;
    bottom: 15px;
    left: 0;
    transition: all 0.2s ease-in-out;
}
h2 strong, .h2 strong {font-family: 'Roboto Bold', sans-serif;}

.uppercase {text-transform: uppercase; letter-spacing: 2px;}

.script {font-family: 'Cookie Regular', sans-serif;}

p + p.h3 {padding-top: 1rem;}

b, strong {font-family: 'OpenSans Bold', sans-serif;font-weight: normal;}
a, .gaOptout {color: #111; text-decoration:none; transition: all 0.2s ease-in-out; position: relative; display: inline-block;}
a:focus, .gaOptout:focus { outline: none; outline-offset: 0; color:#42914B; transition: all 0.2s ease-in-out; text-decoration:none;}
a:hover, .gaOptout:hover {color:#009ee0; transition: all 0.2s ease-in-out;text-decoration:none; cursor: pointer;}

.clearer {clear: both; float: none;}

dd, dt {line-height: inherit;} 

.modal-100{
	width:100%;
}

.modalh-100{
	height:100%;
}

.modal-body .container-fluid .row{
	padding: 1.3em;
	align-items: baseline;
}

.modal-body .container-fluid .row input[type="checkbox"]{
	display: none;
}
.modal-body .container-fluid .row input[type="checkbox"] + label:before{
	
	color: #b5b7b5;
	content: '\f111';
	font-family: "FontAwesome"; text-decoration: inherit; list-style: none;
	padding: 0; font-weight: 300; font-size: 1.5em;display: inline-block;justify-content: center;
}

.modal-body .container-fluid .row input[type="checkbox"]:checked + label:before{
	
	color: green;
	content: '\f058';
	font-family: "FontAwesome"; text-decoration: inherit; list-style: none;
	padding: 0; font-weight: 300; font-size: 1.5em;display: inline-block;justify-content: center;
}

.modal-header{
	    border-bottom: 1px solid #dee2e6 !important;
}

.modal-header button.close{background-color: unset;border:none;}
.modal-header button.close i{
	font-size: 1.9em;
	padding:0.3em;
}

.modal-header #myModalLabel{
	padding:0.5em;
}

.modal-even{
	background-color: #d0d0d0;
}

.card_image i.fa-solid.fa-list-check {
    position: absolute;
    top: 1em;
    right: 1em;
    color: greenyellow;
}

.btn.active.focus, .btn.active:focus, .btn.focus, .btn:active.focus, .btn:active:focus, .btn:focus {
    outline: 0;
    outline-offset: 0px;
    box-shadow: none;
}
.telefon:before, .dist-fon:before, .rep-tel:before { content: "\f879";  position: relative; margin-right: 8px; font-size: 1.1rem; top: 0px; left: 0px; color: #111; padding: 0; font-weight: 300;width: 25px;display: inline-flex;justify-content: center;}
.mobil:before, .rep-mobile:before { content: "\f10b"; font-family: "Font Awesome\ 5 Pro"; text-decoration: inherit; list-style: none; position: relative; margin-right: 8px; font-size: 1.1rem; top: 0px; left: 0px; color: #111; padding: 0; font-weight: 300;width: 25px;display: inline-flex;justify-content: center;}
.fax:before, .dist-fax:before, .rep-fax:before { content: "\f1ac"; font-family: "Font Awesome\ 5 Pro"; text-decoration: inherit; list-style: none; position: relative; margin-right: 8px; font-size: 1.1rem; top: 0px; left: 0px; color: #111; padding: 0; font-weight: 300;width: 25px;display: inline-flex;justify-content: center;}
.email:before, .dist-mail:before, .rep-mail:before { content: "\f0e0"; font-family: "Font Awesome\ 5 Pro"; text-decoration: inherit; list-style: none; position: relative; margin-right: 8px; font-size: 1.1rem; top: 0px; left: 0; color: #111; padding: 0; font-weight: 300;width: 25px;display: inline-flex;justify-content: center;}
.website:before, .rep-web:before { content: "\f0ac"; font-family: "Font Awesome\ 5 Pro"; text-decoration: inherit; list-style: none; position: relative; margin-right: 8px; font-size: 1.1rem; top: 0px; left: 0px; color: #111; padding: 0; font-weight: 600;width: 25px;display: inline-flex;justify-content: center;}
.extlink {margin-right: 2rem;}
.extlink:before { content: "\f08e"; font-family: "Font Awesome\ 5 Pro"; text-decoration: inherit; list-style: none; position: absolute; right: -1.8rem; font-size: 1.1rem; top: 0px;  color: #111; padding: 0; font-weight: 400;transition: all 0.2s ease-in-out;}
.extlink:hover:before { color: #FFE100;transition: all 0.2s ease-in-out;}
.intlink:before { content: "\f0da"; font-family: "Font Awesome\ 5 Pro"; text-decoration: inherit; list-style: none; position: absolute; margin-top: 1px; margin-right: 0px; font-size: 1.1rem1; margin-left: -10px; color: #fff; padding: 0; font-weight: 600;transition: all 0.2s ease-in-out; text-decoration: none;}
.intlink:hover:before { color: #fff;transition: all 0.2s ease-in-out;text-decoration: none;}
.intlink {margin-left: 10px;}
.dist-distance:before { content: "\f124"; font-family: "Font Awesome\ 5 Pro"; text-decoration: inherit; list-style: none; position: relative; margin-right: 8px; font-size: 1.1rem; top: 0px; left: 0px; color: #111; padding: 0; font-weight: 600;width: 25px;display: inline-flex;justify-content: center;}
.dist-distance {font-family: 'Roboto Medium', sans-serif;}
.rep-skype:before { content: "\f17e"; font-family: "Font Awesome\ 5 Pro"; text-decoration: inherit; list-style: none; position: relative; margin-right: 8px; font-size: 1.1rem; top: 0px; left: 0px; color: #111; padding: 0; font-weight: 900;width: 25px;display: inline-flex;justify-content: center;}

.email, .telefon, .mobil, .extlink {display: inline-block;}

.btn {
    display: inline-block;
    padding: 0.5rem 2rem 0.5rem 2rem;
    margin-bottom: 0.5rem;
    margin-top: 0.5rem;
    font-weight: inherit;
    text-align: center;
    vertical-align: middle;
    -ms-touch-action: manipulation;
    touch-action: manipulation;
    cursor: pointer;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    background-image: none;
    border:none;
    border-radius: 0;
    transition: all 0.2s ease-in-out;
    line-height: inherit;
    font-size: 1.1rem;
}
.btn-default { color: #fff; background-color: #DB1C1C;}
.btn-default:after {display: none;}
.btn-default:focus { background-color: #111111; transition: all 0.2s ease-in-out; color: #fff;}
.btn.btn-default + .btn.btn-default {margin-left: 1rem;}
.btn.btn-default.next { padding: 0.5rem 3rem 0.5rem 2rem; margin: 0; color: #fff; text-transform: none;}
.btn.btn-default.next:before {
	content: "\f054";
    font-family: "Font Awesome\ 5 Pro";
    text-decoration: inherit;
    list-style: none;
    position: absolute;
    font-size: 1rem;
    padding: 0;
    font-weight: 600;
    right: 1.5rem;
    color: #fff;
}
.btn.btn-default.map {padding-left: 3rem; background: #009ee0;}
.btn.btn-default.map:before {
	content: "\f124";
    font-family: "Font Awesome\ 5 Pro";
    text-decoration: inherit;
    list-style: none;
    position: absolute;
    font-size: 1.2rem;
    padding: 0;
    font-weight: 300;
    left: 1.5rem;
    color: #fff;
}
.btn-default.active.focus, .btn-default.active:focus, .btn-default.active:hover, .btn-default:active.focus, .btn-default:active:focus, .btn-default:active:hover, .open>.dropdown-toggle.btn-default.focus, .open>.dropdown-toggle.btn-default:focus, .open>.dropdown-toggle.btn-default:hover {
    color: #fff;
    background-color: #000;
    outline: none;
}
.btn-default:hover, .btn-default:focus { background-color: #111111 !important; transition: all 0.2s ease-in-out; color: #fff;}

::-moz-selection { color:#000; background:#FFE100; text-shadow: none; }
::selection { color:#000; background:#FFE100; text-shadow: none; }

.frame-space-before-extra-small {padding-top: 1rem; margin: 0;}
.frame-space-before-small {padding-top: 2rem;margin: 0;}
.frame-space-before-medium  {padding-top: 4rem;margin: 0;}
.frame-space-before-large {padding-top: 5rem;margin: 0;}
.frame-space-before-extra-large {padding-top: 6rem;margin: 0;}
.frame-space-after-extra-small {padding-bottom: 1rem;margin: 0;}
.frame-space-after-small {padding-bottom: 2rem;margin: 0;}
.frame-space-after-medium  {padding-bottom: 4rem;margin: 0;}
.frame-space-after-large {padding-bottom: 5rem;margin: 0;}
.frame-space-after-extra-large {padding-bottom: 6rem;margin: 0;}

#header {
	font-size: 1.2rem;
	position: fixed; 
	top: 0; 
	z-index: 10; 
	width: 100%; 
	transition: all 0.3s ease-in-out;
	background: transparent;
}
#header .row {align-items: center;}
body.scroll #header {
	transition: all 0.3s ease-in-out;
	background: #fff;
	-webkit-box-shadow: 0px 0px 5px 0px rgb(0 0 0 / 10%);
    -moz-box-shadow: 0px 0px 5px 0px rgba(0,0,0,0.1);
    box-shadow: 0px 0px 5px 0px rgb(0 0 0 / 10%);
}

.logo img {height: auto;}

.container {position: relative;}

.mainnav>.container>.row {align-items: center;}
.mainnav { padding: 0;font-size: 1.1rem;transition: all 0.2s ease-in-out;font-size: 1.25rem;font-family: 'OpenSans Bold', sans-serif;}
.mainnav ul {list-style: none; padding: 0;}
.mainnav a {color: #000;}
.mainnav nav {float: right;}
.mainnav .nav-fill .nav-item, .mainnav .nav-fill>.nav-link {text-align: center;}
.mainnav .nav-link:focus, .mainnav .nav-link:hover {color: #DB1C1C;}
.mainnav .nav-item a.nav-link { margin-right: 2rem; }
.mainnav .nav-item:last-child a.nav-link {margin-right: 0; }
.mainnav .dropdown> a:after {
	content: "\f0d7";
    font-family: "Font Awesome\ 5 Pro";
    text-decoration: inherit;
    list-style: none;
    position: relative;
    font-size: 1rem;
    padding: 0;
    font-weight: 600;
    right: -0.5rem;
}
.mainnav .dropdown a.nav-link {padding-right: 0.5rem;}
.mainnav ul.sub {
    position: fixed;
    list-style: none;
    display: none;
    background: transparent;
    padding: 0;
    list-style: none;
    left: 0;
    width: 100%;
    z-index: 2;
}
.mainnav .nav-pills .nav-link {
    background: 0 0;
    border: 0;
    border-radius: 0;
    padding: 1.5rem 0;
    transition: all 0.2s ease-in-out;
}
li.nav_box.nav-item { padding: 0;}
li.container {padding: 0 12px;}
.mainnav .sub ul.nav {background: #FFE100; padding: 1rem;}
.mainnav ul.sub a.nav-link {font-size: 1rem;margin-right: 0; padding: 0.5rem;}
.mainnav li.active a {color: #DB1C1C;}
.mainnav li:hover a, .mainnav li ul.sub li.active a {color: #DB1C1C;}
.mainnav li:hover li a {color: #000;}
.mainnav li:hover li a:hover, .mainnav li ul.sub li.active a {color: #DB1C1C;}
.mainnav.startseite li.first a {color: #000;}
.mainnav li ul.sub li.active li a, .mainnav li ul.sub li li a {color: #000;}
.mainnav li ul.sub li li li .nav-link { color: #111111;font-family: 'Roboto Regular', sans-serif; font-size: 1.1rem; padding: 0.2rem 1rem;}
.mainnav li ul.sub li li li.active .nav-link, .mainnav li ul.sub li li li .nav-link:hover { color: #DB1C1C;}
.mainnav .subtitle {display: none;}

.mainnav .subsub {display: none;}

#maintrailer {max-height: 500px;position: relative;}
#maintrailer img {width: 100%;height: 100%;min-height: 500px;max-height: 500px;object-fit: cover;}
#maintrailer .ce-bodytext {position: absolute;top: 25%;width: 100%; text-align: right;}
#maintrailer .ce-bodytext .red {color: #DB1C1C; font-size: 1.6rem;}
#maintrailer .h1 {padding-bottom: 1rem;font-family: 'Roboto Bold', sans-serif; font-size: 3rem;}
#maintrailer .ce-center .ce-outer {
    position: relative;
    float: none;
    right: 0;
}
#maintrailer .ce-center .ce-inner {
    position: relative;
    float: none;
    right: 0;
}
#maintrailer .frame-type-image img {
    width: 100%;
    height: 100%;
    min-height: 400px;
    max-height: 400px;
    object-fit: cover;
    object-position: top;
}
#maintrailer .ce-left .ce-gallery, #maintrailer .ce-column {
    float: none;
}
#maintrailer .ce-gallery figure {
    display: block;
    margin: 0;
}
#maintrailer .h1 .script {font-size: 4rem;}

.content a {color: #DB1C1C;}
.content a.btn {color: #fff;}
.content .red {color: #DB1C1C;}
.content .frame-type-text a:after, .powermail_fieldwrap_datenschutz a:after {
	content: "";
    border-bottom: 2px solid #DB1C1C;
    width: 0%;
    height: 1px;
    position: absolute;
    bottom: 0px;
    left: 0;
    transition: all 0.2s ease-in-out;
}
.content .frame-type-text a:hover:after, .powermail_fieldwrap_datenschutz a:hover:after {width: 100%;transition: all 0.2s ease-in-out;}

.text-klein {font-size: 0.8rem; line-height: 1.3rem;}

.ce-gallery[data-ce-columns="6"] .ce-row {
	 --bs-gutter-x: 1.5rem;
    --bs-gutter-y: 0;
    display: flex;
    flex-wrap: wrap;
    margin-top: calc(-1 * var(--bs-gutter-y));
    margin-right: calc(-.5 * var(--bs-gutter-x));
    margin-left: calc(-.5 * var(--bs-gutter-x));
}
.ce-gallery[data-ce-columns="6"] .ce-row>* {
    flex-shrink: 0;
    width: 100%;
    max-width: 100%;
    padding-right: calc(var(--bs-gutter-x) * .5);
    padding-left: calc(var(--bs-gutter-x) * .5);
    margin-top: var(--bs-gutter-y);
}
.ce-gallery[data-ce-columns="6"] .ce-row .ce-column {flex: 0 0 auto;width: 16.6666%;margin-right:0;}

.bg_gelb {background: #FFE100;}
.bg_grau {background: #333333;}
.bg_hellgrau {background: #f2f2f2;}
.bg_streifen {position: relative;}
.bg_streifen:nth-child(even) .streifen {background: #DB1C1C;}
.bg_streifen:nth-child(odd) .streifen {background: #FFE100;}
.streifen {
    position: absolute;
    height: 200px;
    width: 100%;
    top: 20%;
    z-index: 0;
}

.table-scrollable {margin-bottom: 1rem;}
.table-scrollable td {padding-right: 1rem;}

.bg_grau, .bg_grau .h2 {color: #fff;}

.ce-gallery img {
    display: block;
    max-width: 100%;
    height: auto;
}

.cardbox {margin-bottom: 1.5rem;}
.cardbox .ce-cardbox-inner {background: #fff; border: 1px solid #f2f2f2; padding: 2rem 1rem;transition: background 0.2s ease-in-out;height: 100%;}
.mt-n5 {margin-top: -5rem !important;}
.cardbox i, .frame-type-text i.fal, .frame-type-text i.fa-light, .frame-type-text i.fa-thin {    
	color: #fff;
    width: 80px;
    height: 80px;
    border-radius: 80px;
    background: #DB1C1C;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 2rem;
    font-size: 2.4rem;
    font-weight: 100;
}
.cardbox .ce-cardbox-inner a {color: #000;}
.cardbox>a {display: block; height: 100%;}
.cardbox a:hover .ce-cardbox-inner {background: #eee;transition: background 0.2s ease-in-out;}
.cardbox a:hover .ce-cardbox-inner a:after {display: none;}
.cardbox.grau .ce-cardbox-inner {background: #f2f2f2; border: 1px solid #f2f2f2; padding: 2rem;transition: background 0.2s ease-in-out;height: 100%;}
.cardbox.grau .ce-cardbox-inner a {color: #DB1C1C;}
.cardbox.grau .h2 .red { font-family: 'Roboto Regular',sans-serif;}
.cardbox.team img {border-radius: 200px;}
.cardbox.team .ce-bodytext a {padding: 0.5rem 0;}
.cardbox.team .ce-bodytext a:after {
	content: "";
    border-bottom: 2px solid #FFE100;
    width: 100%;
    height: 2px;
    position: absolute;
    bottom: 5px;
    left: 0;
    transition: all 0.2s ease-in-out;
}
.cardbox.team .ce-bodytext a:hover:after {
    width: 0%;
    transition: all 0.2s ease-in-out;
}
.referenzen .ce-row {
	--bs-gutter-x: 1.5rem;
    --bs-gutter-y: 0;
    display: flex;
    flex-wrap: wrap;
    margin-top: calc(-1 * var(--bs-gutter-y));
    margin-right: calc(-.5 * var(--bs-gutter-x));
    margin-left: calc(-.5 * var(--bs-gutter-x));
    align-items: center;
}
.referenzen .row>* {
    flex-shrink: 0;    padding-right: calc(var(--bs-gutter-x) * .5);
    padding-left: calc(var(--bs-gutter-x) * .5);
    margin-top: var(--bs-gutter-y);
}
.referenzen .ce-column {flex: 0 0 auto;width: 50%; margin: 0; padding: 1rem;}
.referenzen .ce-column img {max-height: 80px; width: auto; max-width: 200px; height: auto;}
.referenzen .ce-gallery figure {
    display: flex;
    margin: 0;
    justify-content: center;
}

.content .textblock, .content .imageblock {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    justify-content: flex-start;
}
.content .container .textblock {padding: 0 1rem;}
.content .container .textblock.links .textblock-inner { padding-right: 2rem;}
.content .container .textblock.rechts .textblock-inner { padding-left: 2rem;}
.content .container .imageblock.rechts {padding-right: 1rem; padding-left: 0;}
.content .container .imageblock.links {padding-left: 1rem; padding-right: 0;}
.content .textblock .textblock-inner {padding: 3rem 0rem;}
.content .imageblock .frame-type-image, .content .imageblock .ce-image, .content .imageblock .ce-gallery, .content .imageblock .ce-outer, .content .imageblock .ce-inner, .content .imageblock .ce-row, .content .imageblock .ce-column, .content .imageblock .image {
    height: 100%;
    width: 100%;
}
.content .imageblock img {
    object-fit: cover;
    height: 100%;
    width: 100%;
}
.content .imageblock .ce-gallery figcaption {
    position: absolute;
    z-index: 0;
    bottom: 0;
    width: 100%;
    background: #ffffffb0;
    padding: 0 1rem;
}
.ce-intext.ce-left .ce-gallery {
    margin-right: 1rem;
    margin-top: 5px;
    margin-bottom: 0;
}

.card.show .collapse {display: block;}
.card-header .btn.collapsed:after {
    content: "\f078";
    font-family: "Font Awesome\ 5 Pro";
    text-decoration: none;
    list-style: none;
    position: absolute;
    margin-right: 0;
    font-size: 1.4rem;
    right: 1rem;
    top: 1rem;
    color: #999999;
    padding: 0;
    font-weight: 300;
    transition: all 0.2s ease-in-out;
    z-index: 0;
}
.card.show .card-header .btn.collapsed:after {content: "\f077";}
.card {
    position: relative;
    display: flex;
    flex-direction: column;
    min-width: 0;
    word-wrap: break-word;
    background-color: #fff;
    background-clip: border-box;
    border: none;
    border-radius: 0; 
    margin-bottom: 5px;
}
.card-header {
    padding: 0;
    margin-bottom: 0;
    background-color: #eee;
    border-bottom: none;
}
.card.show .card-header {background-color: #FFE100;}
button.btn.btn-link.collapsed {
    margin: 0;
    padding: 1rem 2rem;
    display: block;
    width: 100%;
    text-align: left;
    color: #111;
    text-decoration: none;
    text-transform: uppercase;
}
.card-body {padding: 2rem;}
.card:last-child {margin-bottom: 3rem;}

#footer {
	background: #333333;
	padding: 0;
    color: #fff;
    padding: 3rem 0;
    font-size: 1rem;
}
#footer a {color: #fff; display: inline;}
#footer p {margin: 0;}
#footer .telefon:before, #footer .fax:before, #footer .email:before { color: #fff;}
#footer ul {list-style: none; margin: 0; padding: 0;}
#footer .frame-type-text {border-top: 1px solid #666; margin-top:1rem; padding-top: 1rem;}
#footer .footercontent .row {--bs-gutter-x: 6rem;}
#footer a:after {
	content: "";
    border-bottom: 1px solid #fff;
    width: 0%;
    height: 1px;
    position: absolute;
    bottom: -2px;
    left: 0;
    transition: all 0.2s ease-in-out;
}
#footer a:hover:after {width: 100%;transition: all 0.2s ease-in-out;}


.scrollToTop {
    font-size: 1.2rem;
    cursor: pointer;
    position: fixed;
    bottom: 6rem;
    right: 1rem;
    display: block;
    border-radius: 40px;
    z-index: 10;
    height: 40px !important;
    width: 40px;
    display: none;
    background: #FFE100;
    transition: width 0.2s ease-in-out;
    -webkit-box-shadow: inset 0px 0px 5px 0px rgba(0,0,0,0.3);
	-moz-box-shadow: inset 0px 0px 5px 0px rgba(0,0,0,0.3);
	box-shadow: inset 0px 0px 5px 0px rgba(0,0,0,0.3);

}
.scrollToTop a {color: #ffffff; display: block; }
.scrollToTop i {position: relative; transition: all 0.2s ease-in-out; margin-right:0px; font-size: 1.6rem; line-height: 40px;width: 40px; text-align: center;border-radius: 40px;background-color:#000;}
.scrollToTop span {width: 0px;position: absolute; color: #000; height: 0px; display: block; right: 15px;top: 0; transition: all 0.2s ease-in-out; opacity: 0; visibility: hidden; line-height: 40px; font-size: 0rem; text-align: right;}
.scrollToTop:hover {width: 140px;transition: width 0.2s ease-in-out;}
.scrollToTop:hover i {transition: all 0.2s ease-in-out;}
.scrollToTop:hover span {width: 80px;transition: all 0.2s ease-in-out; opacity: 1; visibility: visible; font-size: 1rem;}

::-webkit-scrollbar { width: 12px;  background: #eee;}
::-webkit-scrollbar-thumb { border: 2px solid #eee; border-radius: 10px; background: #FFE100;}
::-webkit-scrollbar-thumb:active { background: #FFE100;}

:root{
  scrollbar-color: #FFE100 #eee !important;
  scrollbar-width: thin !important;
}


/* POWERMAIL */
div.tx-powermail {width: 100%;}
.tx-powermail .container-fluid {padding: 0;}
.powermail_legend, .tx-powermail h3 { display: none;}
legend {display: block;width: 100%;padding: 0;margin-bottom: 5px;line-height: inherit;border: 0;border-bottom: 0px solid #f2f2f2;}
.powermail_fieldwrap_text { padding-bottom: 15px;}
.powermail_fieldset {clear: left;border: 0;padding: 0px;margin-bottom: 20px;background: transparent;border: none;}
.powermail_input, select.powermail_field, textarea, .powermail_select, .powermail_country, .powermail_captcha, .powermail_date, .form-control, .radio-input {
	font-size: 1rem;
	width: 100%;
	padding: 5px 10px;
	border: 1px solid #efefef;
	margin-bottom: 0.5rem;
	-webkit-border-radius: 0px;
	-moz-border-radius: 0px;
	border-radius: 0;
	background: #efefef;
	height: 46px;
	color: #111111;
}
textarea { height: 150px; margin-bottom: 0;}
.powermail_label{display: block;clear: left;text-align: left;padding-top: 10px;}
input.powermail_radio { margin-right: 5px;}
.powermail_radio_outer { margin-bottom: 10px;}
.powermail_radio_outer, .powermail_captcha_outer, .powermail_check_outer {background-color: transparent;border: none;float: none;padding: 0px;width: 80%;display: inline-flex;}
.powermail_select, .selectwide, select.powermail_field, .powermail_country  { height: 46px; background-color: #efefef;}
.powermail_submit {
    cursor: pointer;
    transition: all .2s ease;
    margin-left: 0%;
    border: none;
    background: #DB1C1C;
    color: #fff;
    padding: 0.5rem 2rem 0.5rem 2rem;
    float: right;
    position: relative;
    
}
.powermail_submit:hover { background: #111111;transition: all .2s ease;}
.powermail_captcha { margin-bottom: 0; width: 130px;}
.powermail_captchaimage { margin-top: -3px; height: auto; margin-left: 10px; height: 45px;}
.powermail_fieldwrap_type_captcha {margin-bottom: 10px;}
.formErrorContent {display: none;}
.parsley-errors-list {display: none;}
.important, .powermail_message_error {color: #e30613;}
.parsley-error {border: 1px solid #e30613;}
.powermail_fieldwrap_type_captcha label { float: none; text-align: left; width: auto; font-size: 1rem; padding-bottom: 0.5rem;}
.tx-powermail .img-responsive {display: inline-block !important; width: auto !important;}
.nolabel .powermail_label {display: none;}
.powermail_fieldwrap_type_text { margin-bottom: 10px; margin-top: 20px; margin-left: 30%;}
.powermail_fieldwrap.powermail_fieldwrap_type_text.powermail_fieldwrap_informationerforderlich {float: none;clear: both;margin-top: 20px;padding-top: 20px;}
.powermail_fieldwrap.powermail_fieldwrap_type_reset.powermail_fieldwrap_marker_03 {width: 150px;float: left;}
.powermail_fieldwrap_type_check .parsley-error {border: none; color: red;}
.powermail_create {background: #e7ebf4;color: red;padding: 1rem;}
.powermail_message_error {display: none;}
.checkbox {margin-top: 1rem;}
.checkbox a {color: #DB1C1C;}
.checkbox label {font-size: 1rem;line-height: 1.4rem; }

/*     ENDE POWERMAIL    */


.d-md-none {display: block!important;}

.image a:after {display: none;}

#cookiebanner a.cursor.save.cookie-save {background: #FFE100; border: 1px solid #FFE100; color: #000;padding: 0.5rem 1rem; font-weight: bold;}
#cookiebanner a.cursor.save.cookie-save:hover { background: #000; color: #fff;}
#cookiebanner .checkbox label::before {top: 2px;}
#cookiebanner .checkbox input[type="checkbox"].checked + label::after {font-size: 25px;top: 0px;}

@media (max-width: 1399px) {

}

@media (max-width: 1199px) {

 }
 
 @media (max-width: 1110px) {

 }
 

@media (max-width: 991px) {
	#header {padding: 0.5rem 0;}
	.mt-n5 {order: 13;margin-top: -2rem !important;}
	.content .container .imageblock {padding: 0 !important;order: 13;}
	.h2 {padding-bottom: 2rem !important;}
	#footer .footercontent .row {--bs-gutter-x: 1.5rem;}
	.ce-gallery[data-ce-columns="6"] .ce-row .ce-column {flex: 0 0 auto;width: 33.333%;margin-right:0;}
	.streifen {display: none;}
	
	.sub.mm-listview {display: block !important;}
	.mm-wrapper_opening #header.holdontop {border-bottom: none;}
	button#menu-button { float: right; border: none; background: transparent; margin-top: 0px; position: relative; z-index: 9; cursor: pointer;}
	.fa-align-justify:before { content: "\f039";font-size: 2rem; color: #fff;}
	#header.holdontop .fa-align-justify:before { content: "\f039"; color: #111111;}
	.mm-panel {padding: 0;}
	.mm-panels { background: #fff;}
	.mm-menu_theme-white .mm-btn:after, .mm-menu_theme-white .mm-btn:before { border-color: #000; border-width: 1px;}
	.mm-btn {width: 50px;}
	.mm-btn_clear:after, .mm-btn_clear:before, .mm-btn_close:after, .mm-btn_close:before { border: 1px solid transparent; width: 10px; height: 10px;}
	.mm-btn_clear:before, .mm-btn_close:before { border-right: none; border-bottom: none; right: 11px; border-width: 1px;}
	.mm-btn_clear:after, .mm-btn_close:after { border-left: none !important; border-top: none !important; right: 25px;}
	.mm-menu_theme-white .mm-btn:hover:after, .mm-menu_theme-white .mm-btn:hover:before { border-color: #DB1C1C;}
	.mm-navbar {padding: 0 15px; height: 65px; border-bottom: none; background: #fff;}
	.mm-navbars_top {height: 65px; border-bottom: none; background: #DB1C1C;}
	.mm-navbar__title img {height: auto; margin: 0 auto; width: 150px; vertical-align: middle; margin-top: -10px;}
	.mm-panel_has-navbar { padding-top: 55px;}
	.mm-navbars_bottom {height: 50px; border-top: 1px solid #eee; background: #fff; padding-top: 5px;}
	.mm-navbars_bottom a {padding: 0;}
	.mm-listview li.active a { color: #DB1C1C;background: #fff;}
	a.mm-btn.mm-btn_prev.mm-navbar__btn { height: 80px;}
	a.mm-navbar__title { line-height: 40px; margin: 0 2rem;}
	.mm-menu_theme-white .mm-listview .mm-btn_next:after { border-color: #000; border-width: 1px;}
	.mm-menu_theme-white .mm-listview .mm-btn_next:hover:after { border-color: #DB1C1C;}
	.mm-listitem .mm-btn_next:before { border-left-width: 0;}
	.mm-menu a:hover, .mm-menu a:focus, .mm-menu a:active {color: #DB1C1C; background: #fff !important;}
	.mm-menu_theme-white .mm-navbar a, .mm-menu_theme-white .mm-navbar>* { color: #DB1C1C; font-size: 1.2rem; padding: 0; line-height: 80px;font-family: 'Roboto Medium', sans-serif;}
	.mm-navbar a:hover {background: transparent;}
	.mm-listitem {width: 100%; padding: 0; margin-bottom: 0px; border-bottom: 1px solid #fff; font-size: 1.2rem; line-height: 1.6rem;}
	.mm-listitem>a { padding: 10px 15px;}
	.mm-menu_iconpanel-40 .mm-panel_iconpanel-1, .mm-menu_iconpanel-40 .mm-panel_iconpanel-1.mm-panel_opened~.mm-listview_fixeddivider {left: 0;}
	[class*=mm-menu_iconpanel-] .mm-panels>.mm-panel_opened-parent[class*=mm-panel_iconpanel-]:not(.mm-panel_iconpanel-first):not(.mm-panel_iconpanel-0), [class*=mm-menu_iconpanel-] .mm-panels>.mm-panel_opened[class*=mm-panel_iconpanel-]:not(.mm-panel_iconpanel-first):not(.mm-panel_iconpanel-0) {border-left: none;}
	.mm-btn_next:after, .mm-btn_prev:before { width: 12px; height: 12px;}
	.mm-menu_multiline .mm-listitem>a, .mm-menu_multiline .mm-listitem>span, .mm-panel_multiline .mm-listitem>a, .mm-panel_multiline .mm-listitem>span { color:#000; }
	.mm-menu a:hover {background: transparent !important;}
	.mm-btn.mm-btn_close.mm-navbar__btn:before,.mm-btn.mm-btn_close.mm-navbar__btn:after { border-color: #fff;}
	.mm-panel_has-navbar .mm-navbar { display: block; background: #FFE100; height: 65px; border-bottom: 1px solid #FFE100;}
	.mm-listitem .mm-btn_next:not(.mm-btn_fullwidth) {border-left: 1px solid #fff;}
	.mm-listview li.active .mm-btn_next:after {border-color: #000;}
	.mm-menu_multiline .mm-listitem>a:hover { background: #fff !important; color:#DB1C1C;}
	.mm-navbars_bottom a {line-height: 40px !important;}
	.mm-panels>.mm-panel>.mm-listview { margin: 0 !important;}
	.mm-menu_iconpanel-40 .mm-panel_iconpanel-2, .mm-menu_iconpanel-40 .mm-panel_iconpanel-2.mm-panel_opened~.mm-listview_fixeddivider { left: 0;}
	ul.nav.navbar.mm-listview { padding: 0;}
    .mm-navbar a:not([href]):not([tabindex]), .hist-elements a:not([href]):not([tabindex]) { display: block;}
    a.mm-btn.mm-btn_close.mm-navbar__btn {right: 0;left: auto;}
    .mm-panels, .mm-panels>.mm-panel {top: 10px;}
    .mm-navbar img {vertical-align: top; margin-top: 5px;}
    .mm-navbars_bottom .fab { font-size: 1.4rem; color: #000;}
    a:not([href]):not([tabindex]):focus, a:not([href]):not([tabindex]):hover {color: #000;}
    
    #header .mburger {color: #000; height: 55px; padding: 0;width: 50px;display: table-cell; vertical-align: middle; float: right;}
    .mburger:after {display: none;}
	#header.holdontop .mburger, .mm-wrapper_opened #header .mburger b {color: #000;}
	.mm-wrapper_opened #header.holdontop {-webkit-box-shadow: none;-moz-box-shadow: none;box-shadow: none;}
    
    .mburger--collapse span:nth-of-type(1) {transition: bottom .2s ease,margin .2s ease,transform .2s ease;transition-delay: .2s,0s,0s;}
    .mburger span:nth-of-type(1) {bottom: calc(50% + var(--mb-bar-spacing));transition: bottom .2s ease,transform .2s ease,width .2s ease;}
    .mburger span {
	    display: block;
	    position: absolute;
	    left: calc(var(--mb-button-size) * ((1 - var(--mb-bar-width))/ 2));
	    width: calc(var(--mb-button-size) * var(--mb-bar-width));
	    height: var(--mb-bar-height);
	    border-radius: calc(var(--mb-bar-height)/ 2);
	    background: currentColor;
	    color: inherit;
	    opacity: 1;
	}
	.mburger b {
	    font-size: 0;
	}


}
@media (max-width: 767px) {
	.ce-gallery[data-ce-columns="6"] .ce-row .ce-column {flex: 0 0 auto;width: 50%;margin-right:0;}
	#cookiebanner .tx-cok-cookie-consent .cookiemanagement {font-size: 1rem;line-height: 1.4rem;}
	#cookiebanner .cookiemanagement h2, #cookiebanner .cookiemanagement p.subheader {font-size: 1.5rem;line-height: 2rem;}

}

@media (max-width: 690px) {
}

@media (max-width: 575px) {
	#maintrailer .h1 {font-size: 2.2rem;}
	#cookiebanner .cookielogo {height: 35px;}
	#cookiebanner .text_right {display: flex;font-size: 1rem;align-items: center;justify-content: center; position: relative;}
	#cookiebanner .category {margin-top: 3rem;}
	#cookiebanner .cookie-back {position: absolute;top: 3.5rem;}
	#cookiebanner .save {margin-right: 1rem;}
	#cookiebanner .cookiemanagement {padding: 1rem;}
	#cookiebanner {-webkit-hyphens: auto;-moz-hyphens: auto;hyphens: auto;}
	#cookiebanner .cookie-table tr {border-bottom: 1px solid #ffffff;display: flex;flex-direction: column; }
	#cookiebanner .cookie-cellwidth {width: 100%; font-family: 'SourceSansPro Medium',sans-serif;}
	#cookiebanner .checkbox {display: block;min-width: auto;padding-left: 0;}
	#cookiebanner .cookie-table .checkbox label::after {top: -23px !important;}
	#cookiebanner .cookiemanagement h2, #cookiebanner .cookiemanagement p.subheader {font-size: 1.6rem;}
	#cookiebanner p {font-size: 1.1rem;}
	#cookiebanner .category p {line-height: 1.3rem;}
	#cookiebanner .cookie-table tr .link{word-break: break-all;}
	#cookiebanner .cookiebuttons-top {margin-top: -1rem;padding-top: 1rem;padding-bottom: 2rem;}
	.cookie-datenschutz .frame-space-before-medium, .cookie-impressum .frame-space-before-medium {padding-top: 1rem;}
	.cookie-datenschutz .frame-space-after-medium, .cookie-impressum .frame-space-after-medium {padding-bottom: 1rem;}
	.cookie-datenschutz .frame-space-before-medium, .cookie-impressum .frame-space-before-medium {padding-top: 3rem;}
	#maintrailer .h1 .script {font-size: 3rem;}

}


/* Checkbox styling */
.checkbox { padding-left: 15px; margin-bottom: 1rem;}
.checkbox label {display: inline-block;position: relative;padding-left: 15px; }
.checkbox label::before {
  content: "";
  display: inline-block;
  position: absolute;
  width: 18px;
  height: 18px;
  left: 0;
  margin-left: -15px;
  border: 1px solid #efefef;
  border-radius: 0px;
  background-color: #efefef;
  -webkit-transition: border 0.15s ease-in-out, color 0.15s ease-in-out;
  -o-transition: border 0.15s ease-in-out, color 0.15s ease-in-out;
  transition: border 0.15s ease-in-out, color 0.15s ease-in-out;
  top: 2px; 
}
.checkbox label::after {
  display: inline-block;
  position: absolute;
  width: 16px;
  height: 16px;
  left: 0;
  top: 0;
  margin-left: -15px;
  padding-left: 3px;
  padding-top: 1px;
  font-size: 14px;
  color: #000; 
}
.checkbox input[type="checkbox"] {opacity: 0;z-index: 1;  position: absolute; margin-left: -15px;}
.checkbox input[type="checkbox"]:focus + label::before {outline: thin dotted;outline: none;outline-offset: 0px; }
.checkbox input[type="checkbox"]:checked + label::after {font-family: "Font Awesome\ 5 Pro";content: "\f00c"; font-size: 20px; top: 0px; left: -1px; z-index: 9;}
.checkbox input[type="checkbox"]:disabled + label {opacity: 0.65; }
.checkbox input[type="checkbox"]:disabled + label::before {background-color: #eeeeee;cursor: not-allowed; }

.radio {padding-left: 0px; }
.radio label { display: inline-block; position: relative; padding-left: 25px; }
.radio label::before {
  content: "";
  display: inline-block;
  position: absolute;
  width: 17px;
  height: 17px;
  left: 0;
  margin-left: 0px;
  border: 1px solid #efefef;
  border-radius: 50%;
  background-color: #efefef;
  -webkit-transition: border 0.15s ease-in-out;
  -o-transition: border 0.15s ease-in-out;
  transition: border 0.15s ease-in-out; 
  top: 7px;
}
.radio label::after {
  display: inline-block;
  position: absolute;
  content: " ";
  width: 11px;
  height: 11px;
  left: 3px;
  top: 10px;
  margin-left: 0px;
  border-radius: 50%;
  background-color: #000;
  -webkit-transform: scale(0, 0);
  -ms-transform: scale(0, 0);
  -o-transform: scale(0, 0);
  transform: scale(0, 0);
  -webkit-transition: -webkit-transform 0.1s cubic-bezier(0.8, -0.33, 0.2, 1.33);
  -moz-transition: -moz-transform 0.1s cubic-bezier(0.8, -0.33, 0.2, 1.33);
  -o-transition: -o-transform 0.1s cubic-bezier(0.8, -0.33, 0.2, 1.33);
  transition: transform 0.1s cubic-bezier(0.8, -0.33, 0.2, 1.33); 
}
.radio input[type="radio"] {opacity: 0; z-index: 1; position: absolute;}
.radio input[type="radio"]:focus + label::before {outline: thin dotted;outline: none;outline-offset: 0px; }
.radio input[type="radio"]:checked + label::after {-webkit-transform: scale(1, 1);-ms-transform: scale(1, 1);-o-transform: scale(1, 1);transform: scale(1, 1); }
.radio input[type="radio"]:disabled + label {opacity: 0.65; }
.radio input[type="radio"]:disabled + label::before {cursor: not-allowed; }
.powermail_fieldwrap_type_radio {margin-top: 1rem !important;}

.powermail_fieldwrap_type_file {margin-top: 0 !important;}
.powermail_file { width: 100%;}
.powermail_file::-webkit-file-upload-button {
  visibility: hidden;
  border-width: 7px;
}
.powermail_file::before {
  content: 'Datei auswählen';
  display: inline-block;
  background: #eee;
  padding: 2px 6px;
  outline: none;
  white-space: nowrap;
  -webkit-user-select: none;
  cursor: pointer;
  position: absolute;
}
.powermail_file:lang(en)::before {content: 'Select some files';}
.powermail_file:hover::before {
  border-color: black;
}
.powermail_file:active::before {
  background: #eee;
}
	

@page {
	margin: 80px 20px;
    padding:0;
  }

@media print {

	header.d-print-block {
	  position: relative;
	  top: 0;
	  width: 100%;
	  height: 120px;
	  z-index: 999;
	}
	footer.d-print-block {
	  position: relative;
	  bottom: 0px;
	  width: 100%;
	  color: #111111;
	  margin-top: 4rem;
	}
	#maincontent {
	    padding: 0;
	    background: #fff;
	    position: relative;
	    color: #111111;
	}
	.container, .container-lg, .container-md, .container-sm, .container-xl {max-width: 100%;}
	.content .image_overflow_left figure.image {margin-left: 0; width: 100%; margin-bottom: 2rem;}
	.content .image_overflow_left figure.image img {
	    width: 100%;
	    height: auto;
	    margin: 0;
	}
	.frame-space-before-extra-small {padding-top: 0.5rem;}
	.frame-space-before-small {padding-top: 1rem;}
	.frame-space-before-medium  {padding-top: 2rem;}
	.frame-space-before-large {padding-top: 3rem;}
	.frame-space-before-extra-large {padding-top: 4rem;}
	.frame-space-after-extra-small {padding-bottom: 0.5rem;}
	.frame-space-after-small {padding-bottom: 1rem;}
	.frame-space-after-medium  {padding-bottom: 2rem;}
	.frame-space-after-large {padding-bottom: 3rem;}
	.frame-space-after-extra-large {padding-bottom: 4rem;}
	
}










