@font-face {
    font-family: 'OpenSans Light';
    src: url('../fonts/Open_Sans/OpenSans-Light.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 SemiBold';
    src: url('../fonts/Open_Sans/OpenSans-SemiBold.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: 'barlow Light';
    src: url('../fonts/barlow/Barlow-Light.ttf') format('truetype');
    font-display: swap;
}
@font-face {
    font-family: 'barlow Regular';
    src: url('../fonts/barlow/Barlow-Regular.ttf') format('truetype');
    font-display: swap;
}
@font-face {
    font-family: 'barlow SemiBold';
    src: url('../fonts/barlow/Barlow-SemiBold.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 -199px; background: #fff;}
#main { padding-bottom: 199px; overflow: hidden; height: auto;}
 
body {
    color: #111111;
    word-wrap: break-word;
    font-family: 'OpenSans Regular', sans-serif;
    line-height: 1.7rem;
    font-size: 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;}

.pr-5 { padding-right: 5rem;}
.pl-5 { padding-left: 5rem;}

.pb-7 {padding-bottom: 6rem;}
.pt-7 {padding-top: 6rem;}

h1, .h1 {font-size: 3rem; margin: 0; padding-bottom: 1rem; color: #000; position: relative;font-family: 'barlow SemiBold', sans-serif;}
h2, .h2 {font-size: 2.4rem; margin: 0; padding-bottom: 1rem; color: #000; position: relative;font-family: 'barlow SemiBold', sans-serif; text-transform: uppercase;}
h3, .h3 {font-size: 1.875rem; margin: 0; padding-bottom: 1rem; line-height: 2.2rem;font-family: 'barlow Regular', sans-serif; color: #4d4d4d;}
h4, .h4 {margin: 0; font-size: 1.5rem; padding-bottom: 1rem; line-height: 2rem; color: #000; display: block; font-family: 'barlow SemiBold', sans-serif;}

h1 span {color: #42a58a;}

h1.gruen, h2.gruen {font-size: 2.25rem; margin: 0; padding-bottom: 1rem; color: #42a58a; position: relative;font-family: 'barlow Regular', sans-serif; text-transform: uppercase;}

.trailer h1 {text-transform: uppercase;}

.zitat {font-size: 3.4375rem; line-height: 4rem; padding: 0 3rem;font-family: 'barlow Light', sans-serif;}

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

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;} 

.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: "\f2a0"; 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: #42a58a; padding: 0; font-weight: 600;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: #42a58a; padding: 0; font-weight: 600;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: #42a58a; padding: 0; font-weight: 600;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: #42a58a; padding: 0; font-weight: 600;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: #42a58a; 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: #42a58a;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: 'OpenSans 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: 50px;
    transition: all 0.2s ease-in-out;
    line-height: inherit;
    font-size: 1rem;
    text-transform: uppercase;
    font-family: 'OpenSans Bold', sans-serif;
    letter-spacing: 1px;
}
.btn-default { color: #fff !important; background-color: #d9662d;}
.btn-default:after {display: none;}
.btn-default:focus { background-color: #1a1a1a; 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: #1a1a1a;
    outline: none;
}
.btn-default:hover, .btn-default:focus { background-color: #1a1a1a !important; transition: all 0.2s ease-in-out; color: #fff;}
.button-gruen {background: #42a58a;}

::-moz-selection { color:#fff; background:#42a58a; text-shadow: none; }
::selection { color:#fff; background:#42a58a; 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: rgb(255 255 255 / 75%);
}
#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 {margin: 1rem 0;}
.logo img {height: auto; width: 100%;}

.container {position: relative;}

.img-responsive figure {margin: 0;}
.img-responsive img {width: 100%;height: 100%;object-fit: cover;}

.mainnav>.container>.row {align-items: center;}
.mainnav .nav.nav-pills {justify-content: flex-end;}
.mainnav {font-family: 'OpenSans Bold', sans-serif; text-transform: uppercase;}
.mainnav .nav-item {margin: 0 1rem;}
.mainnav .nav-link {color: #1a1a1a; font-size: 1rem;padding: 2rem 0;}
.mainnav .nav-link:after {
	content: '';
	position: absolute;
	z-index: 1;
	bottom: 1.5rem;
	left: 0;
	width: 0%;
	height: 2px;
	background: #42a58a;
	transition: all 0.3s ease;
}
.mainnav .nav-link:hover:after, .mainnav li:hover .nav-link:after {width: 100%;transition: all 0.3s ease;}
.mainnav .nav-item.active a {color: #42a58a;}
.mainnav .nav-item.active .nav-link:after {
	content: '';
	position: absolute;
	z-index: 1;
	left: 0;
	width: 100%;
	height: 2px;
	background: #42a58a;
	transition: all 0.3s ease;
}
.mainnav .dropdown> a:before {
	content: "\f0d7";
    font-family: "Font Awesome\ 5 Pro";
    text-decoration: inherit;
    list-style: none;
    position: absolute;
    font-size: 1rem;
    padding: 0;
    font-weight: 600;
    right: 0rem;
}
.mainnav .dropdown a.nav-link {padding-right: 1rem;}
.mainnav ul.sub {
    position: absolute;
    list-style: none;
    display: none;
    padding: 1rem;
    list-style: none;
    left: 0;
    z-index: 2;
    background: #fff;
}
.mainnav .nav-pills .nav-link {
    background: 0 0;
    border: 0;
    border-radius: 0;
    padding: 2rem 0;
    transition: all 0.2s ease-in-out;
}
li.nav_box.nav-item { padding: 0;}
li.container {padding: 0;}
.mainnav .sub ul.nav {background: #fff; padding: 1rem; text-transform: none; display: inline-block;}
.mainnav ul.sub a.nav-link {font-size: 1rem;margin-right: 0; padding: 0.5rem;display: inline-block;}
.mainnav li:hover a, .mainnav li ul.sub li.active a {color: #42a58a;}
.mainnav li:hover li a {color: #1a1a1a;}
.mainnav li:hover li a:hover, .mainnav li ul.sub li.active a {color: #42a58a;}
.mainnav li ul.sub li.active li a, .mainnav li ul.sub li li a {color: #000;}
.mainnav li ul.sub li li li.active .nav-link, .mainnav li ul.sub li li li .nav-link:hover { color: #42a58a;}
.mainnav .nav-item.active li a {color: #1a1a1a;}
.mainnav .subtitle {display: none;}

.mainnav .subsub {display: none;}
.mainnav ul.sub .nav-link:after {display: none;}

.trailer {position: relative;}
.trailer .bg_bild .frame-type-text {
	display: flex;
    align-items: center;
    padding-top: 10rem;
    padding-bottom: 3rem;
}
.trailer .frame-type-image .image {position: relative;}
.trailer .frame-type-image .image:after {
	content: "";
	position: absolute;
	background: linear-gradient(0deg, rgba(255,255,255,0.35), rgba(255,255,255,0.35));
	top: 0;
	height: 100%;
	width: 100%;
	left: 0;
	z-index: 1;
}
.trailer .bg_bild .frame-type-text .container-inner {width: 40%;}
.trailer .h1 {text-transform: uppercase; font-size: 3.75rem;}
.trailer .frame-type-image img {width: 100%; height: auto; max-height: 300px; object-fit: cover;}
.trailer .frame-type-image .image {margin: 0;}

.text_green {color: #42a58a;}
.bg_weiss {
	background: #fff;
    position: relative;
    display: table;
    width: 100%;
}
.bg_grau {
	background: #f5f5f7;
    position: relative;
    display: table;
    width: 100%;
}
.bg_grau h2 {text-transform: uppercase;}
.bg_grau .text .frame-type-text { background: #fff; padding: 3rem;}
.bg_grau .text .frame-type-text h1 {text-transform: uppercase; color: #42a58a;}
.bg_grau .bild .image {margin: 0; overflow: hidden;}
.bg_grau .bild img { width: 100%;object-fit: cover; height: 100%; min-height: 300px;}
.bg_dunkelgrau { 
	background: #3e3d40; 
	position: relative;
    display: table;
    width: 100%;
    color: #fff;
}
.bg_dunkelgrau .h2 {color: #fff; font-size: 3.4375rem;font-family: 'barlow Light', sans-serif;}
.bg_dunkelgrau h2, .content .bg_dunkelgrau a {color: #fff;}
.content .bg_dunkelgrau .frame-type-text a:after {
    content: '';
    position: absolute;
    z-index: 1;
    bottom: 0em;
    left: 0;
    width: 100%;
    height: 1px;
    background: #fff;
    transition: all 0.3s ease;
}
.content .bg_dunkelgrau .frame-type-text a:hover:after {width: 0;transition: all 0.3s ease;}
.bg_dunkelgrau .text .frame-type-text { background: #fff; padding: 3rem;}
.bg_dunkelgrau .text .frame-type-text h1 {text-transform: uppercase; color: #42a58a;}
.bg_dunkelgrau .bild .image {margin: 0; overflow: hidden;}
.bg_dunkelgrau .bild img { width: 100%;object-fit: cover; height: 100%; min-height: 300px;}
.bg_dunkelgraugruen {background: #6d888f; position: relative; color: #fff;}
.content .bg_dunkelgraugruen .frame-type-text a, .content .bg_dunkelgraugruen .frame-type-text h2 {color: #fff;}
.content .bg_dunkelgraugruen .frame-type-text a:after {background: #fff;width: 100%;}
.content .bg_dunkelgraugruen .frame-type-text a:hover:after {background: #fff;width: 0%;}

.overlap {padding-top: 4rem; padding-bottom: 4rem;  margin-bottom: 5rem;}
.overlap .text {position: relative; z-index: 1;}
.overlap .bild {
    z-index: 0;
    position: absolute;
    right: 0;
    height: 100%;
}
.overlap .bild .frame-type-image {padding-top: 3rem; padding-bottom: 3rem; margin-bottom: 3rem;}
.overlap .bild .frame-type-image,
.overlap .bild .ce-image,
.overlap .bild .ce-gallery,
.overlap .bild .ce-outer,
.overlap .bild .ce-inner,
.overlap .bild .ce-row,
.overlap .bild .ce-column,
.overlap .bild .image {height: 100%;}

.img-full .frame-type-image,
.img-full .ce-image,
.img-full .ce-gallery,
.img-full .ce-outer,
.img-full .ce-inner,
.img-full .ce-row,
.img-full .ce-column,
.img-full .image {height: 100%;}

.img-full img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.img-full .col-lg-6 { padding-top: 3rem; padding-bottom: 3rem;}
.img-full .col-lg-6:last-child {padding-left: 4rem; padding-right: 4rem;}
.img-full .col-lg-6:first-child .frame-type-text {padding-left: 4rem;}

.bg_grau.streifen:before {
	content: '';
	position: absolute;
	z-index: 1;
	top: 200px;
	left: 0;
	width: 100%;
	height: 250px;
	background: #42a58a;
	z-index: 0;
}
.bg_weiss.streifen:before {
	content: '';
	position: absolute;
	z-index: 1;
	top: 200px;
	left: 0;
	width: 100%;
	height: 250px;
	background: #42a58a;
	z-index: 0;
}
.bg_gruengrau {background: #bbcdd1; position: relative; color: #fff;}
.bg_gruengrau p {font-family: 'OpenSans Bold', sans-serif;}
.bg_gruengrau p.h2 {color: #446868; font-size: 3.4375rem;font-family: 'OpenSans Light', sans-serif;word-wrap: break-word;position: relative; margin: 0 3rem;}

.bg_gruen {background: linear-gradient(90deg, #42a58a 65%, #fff 35%);position: relative; padding-top: 4rem; padding-bottom: 4rem;}
.bg_gruen .text .frame-type-text {background: #fff; padding: 3rem;}

.row.align-items-center.justify-content-center.referenz {padding: 0 10rem;}
.row.justify-content-center .frame-type-image .image { margin: 1rem 0; padding: 1rem;}
.row.justify-content-center .frame-type-image .image img {max-width: 100%; }
.ce-image.ce-center.ce-above {text-align: center;}

.pic-main {
	--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;
    width: 100%;
}
.pic-main img {width: 100%; height: auto;object-fit: cover;max-height: 200px;}
.pic-main>* {
    flex-shrink: 0;
    width: 50%;
    max-width: 50%;
    padding-right: calc(var(--bs-gutter-x) * .5);
    padding-left: calc(var(--bs-gutter-x) * .5);
    margin-top: var(--bs-gutter-y);
}
.pic-main figure {margin: 0;}
.pic-main .pic-1 .frame-type-image:first-child {margin-bottom: 1.5rem;}
.pic-main .pic-2 img {max-height:300px;}

.frame-layout-2 {width: 80%; margin: 0 auto;}

.content ul {padding-left: 1.2rem; margin: 0 0 1rem 0;}
.content li {position: relative; color: #42a58a;}
.content li::marker {color: #d9662d;}
ul.pfeil, ul.check {list-style: none; padding-left: 0;}
.content ul.check li:before {
	content: "\f00c"; 
	font-family: "Font Awesome\ 5 Pro"; 
	text-decoration: inherit; 
	position: absolute;  
	font-size:1rem; 
	top: 0px; 
	left: 2px; 
	color: #111111; 
	padding: 0; 
	font-weight: 400;
}
.content ul.check li {padding-left: 2rem;}
.content ul.pfeil li {padding-left: 1.8rem;}
.content ul.pfeil li {color: #111111;}
.content ul.pfeil li:before {
	content: "\f0da"; 
	font-family: "Font Awesome\ 5 Pro"; 
	text-decoration: inherit; 
	position: absolute;  
	font-size:1.2rem; 
	top: 0px; 
	left: 0.5rem; 
	color: #d9662d; 
	padding: 0; 
	font-weight: 600; 
}
.justified-gallery > a, .justified-gallery > div, .justified-gallery > figure {z-index: 1;}

.frame-type-gridgallery_gallery a img {transform: scale(1); transition: all 0.3s ease !important;}
.frame-type-gridgallery_gallery a:hover img {transform: scale(1.1); transition: all 0.3s ease;}

.content a {color: #42a58a;}
.content .frame-type-text a:after {
	content: '';
	position: absolute;
	z-index: 1;
	bottom: 0em;
	left: 0;
	width: 0%;
	height: 2px;
	background: #42a58a;
	transition: all 0.3s ease;
}
.content .frame-type-text a:hover:after {transition: all 0.3s ease;width: 100%;}

.content p:last-child {margin-bottom: 0;}
.content .frame-type-image figure {margin: 0;}

.social a {margin-right: 1rem;}
.fa-brands {
	color: #fff;
    background: #b8a9d0;
    width: 30px;
    height: 30px;
    border-radius: 30px;
    text-align: center;
    line-height: 1.8rem;
    transition: all 0.3s ease;
}
.social a:hover .fa-brands {transition: all 0.3s ease;background: #42a58a;}

.mainlinkbox {color: #fff;height: 100%;font-size: 1.5rem;font-family: 'OpenSans Light', sans-serif;}
.mainlinkbox a { color: #fff;display: block;height: 100%;}
.mainlinkbox a:after {display: none;}
.kueche .frame-type-textpic {background: #42a58a;}
.cafe .frame-type-textpic {background: #716f75 ;}
.laden .frame-type-textpic {background: #3e3d40;}
.sonder .frame-type-textpic {background:#d9662d;}
.mainlinkbox svg {width: 60px; height: 60px;}
.mainlinkbox svg path {fill: #fff;}
.mainlinkbox .frame-type-textpic .ce-center {text-align: center;}
.mainlinkbox h3 {font-size: 1.5rem;line-height: 1.2;}
.mainlinkbox .frame-type-textpic {align-items: center;display: flex;justify-content: center; padding: 2rem; height: 100%;}
.mainlinkbox>div {padding: 0.75rem;}

.ce-uploads img {width: 100%; height: 200px;object-fit: cover;}
.ce-uploads a {height: 100%;}
.ce-uploads a.btn {height: auto; margin: 0;}
.ce-uploads h2.ce-uploads-fileName {font-size: 1.6rem;color: #42a58a;font-family: 'barlow Regular', sans-serif; text-transform: none;padding-bottom: 0.5rem;}

.bg_grau .row-cols-lg-3 {padding-top: 3rem; padding-bottom: 3rem;}
.bg_grau .row-cols-lg-3 .col {padding-right: calc(var(--bs-gutter-x) * .75);padding-left: calc(var(--bs-gutter-x) * .75);}
.bg_grau .row-cols-lg-3 .col .frame-type-textpic { padding: 1rem 0; height: 100%;}
.bg_grau .row-cols-lg-3 .col .frame-type-textpic .ce-textpic {background: #fff;padding: 1.5rem; height: 100%;}
.bg_grau .row-cols-lg-3 .col .frame-type-textpic .ce-textpic img {width: 100%; height: 250px;object-fit: cover;}
.bg_grau .row-cols-lg-3 .col .frame-type-textpic strong {text-transform: uppercase; color: #bbb;}
.content .bg_grau .row-cols-lg-3 .col .frame-type-textpic a {color: #111;}
.content .bg_grau .row-cols-lg-3 .col .frame-type-textpic a:after {
	content: '';
	position: absolute;
	z-index: 1;
	bottom: 0em;
	left: 0;
	width: 0%;
	height: 2px;
	background: #111;
	transition: all 0.3s ease;
}
.content .bg_grau .row-cols-lg-3 .col .frame-type-textpic a:hover:after {transition: all 0.3s ease;width: 100%;}

.img-responsive .frame-type-image {padding: 0.75rem 0;}

.tinyaccordion h3:after {
	content: "\f067";
    font-family: "Font Awesome\ 5 Pro";
    text-decoration: inherit;
    list-style: none;
    position: absolute;
    margin-right: 0;
    font-size: 1.4rem;
    right: 1rem;
    top: 0.6rem;
    color: #111111;
    padding: 0;
    font-weight: 300;
    transition: all 0.2s ease-in-out;
    z-index: 0;
}
ul.tinyaccordion {
    list-style: none;
    background: none !important;
    padding: 0;
}
.tinyaccordion li {color: #111;}
.tinyaccordion .acc-li {margin: 1rem 0;}
.tinyaccordion .btn.btn-link {padding: 0;}
ul.tinyaccordion h3 {color: #111111;margin: 0; padding: 0.5rem 1rem;font-size: 1.4rem; background: #f5f5f7;}
.tinyaccordion h3:hover:after {color: #42a58a;transition: all 0.2s ease-in-out;}
.tinyaccordion h3.acc-selected:after {content: "\f068";transition: all 0.2s ease-in-out;color: #42a58a;}
.tinyaccordion h3.acc-selected, .tinyaccordion h3:hover {color: #fff;transition: all 0.2s ease-in-out; color: #42a58a; cursor: pointer;}
.tinyaccordion .card:last-child { margin-bottom: 0;}
.tinyaccordion .card:first-child {margin-top: 0;}
.content .ce-uploads li:last-child {padding-bottom: 0;}
.tinyaccordion .card-header p .btn {font-size: 1rem;padding: 0.5rem 1rem;}
.tinyaccordion .card-header:after {font-size: 1rem;top: 0.5rem;}
.tinyaccordion .card-body header {display: block;}
.tinyaccordion .collapse header {display: none;}
.acc-section {background: #fff;}
.acc-section>div {padding: 1rem;}
.bg_grau ul.tinyaccordion h3 {color: #111111;margin: 0; padding: 0.5rem 1rem;font-size: 1.4rem; background: #fff;}

#footer {background: #42a58a; color: #fff; padding: 3rem 0;}
#footer .frame-type-menu_pages ul {list-style: none;display: flex;align-items: center;justify-content: center; margin-bottom: 2rem; padding: 0;}
#footer .frame-type-menu_pages li {margin: 0 1rem;}
#footer a {color: #fff;}
#footer .frame-type-text {margin-top: 1rem; font-size: 0.875rem;}

#footer .frame-type-menu_pages a:after {
	content: '';
	position: absolute;
	z-index: 1;
	bottom: 0em;
	left: 0;
	width: 0%;
	height: 2px;
	background: #fff;
	transition: all 0.3s ease;
}
#footer .frame-type-menu_pages a:hover:after {transition: all 0.3s ease;width: 100%;}


.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: #42a58a;
    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: #42a58a;}
::-webkit-scrollbar-thumb:active { background: #42a58a;}

:root{
  scrollbar-color: #42a58a #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: #42a58a;
    color: #fff;
    padding: 0.5rem 2rem 0.5rem 2rem;
    position: relative;
    
}
.powermail_submit:hover { background: #1a1a1a;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: #42a58a;}
.checkbox label {font-size: 1rem;line-height: 1.4rem; }
.powermail_fieldwrap_type_captcha label {font-size: 0.8rem;}

/*     ENDE POWERMAIL    */

.frame-type-felogin_login label {display: block;}


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

.image a:after {display: none;}

@media (max-width: 1399px) {

}

@media (max-width: 1199px) {

 }
 
 @media (max-width: 1110px) {
	 .row.align-items-center.justify-content-center.referenz {padding: 0 5rem;}

 }
 

@media (max-width: 991px) {
	.pr-5 { padding-right: calc(var(--bs-gutter-x) * .5);}
	.pl-5 { padding-left: calc(var(--bs-gutter-x) * .5);}
	.overlap {padding-bottom: 0;}
	.overlap .bild .frame-type-image {padding: 0;}
	.overlap .bild {position: relative;}
	.trailer .bg_bild .frame-type-text .container-inner {width: 100%;}
	.trailer .bg_bild .frame-type-text {padding-top: 6rem;}
	.logo {margin: 0.5rem 0;}
	.logo img {max-width: 150px;}
	.row.align-items-center.justify-content-center.referenz {padding: 0 2rem;}
	.img-responsive {order: 2;}

	
	.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: #fff; 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: #fff;}
	.mm-navbar {padding: 0 15px; height: 65px; border-bottom: none; background: #fff;}
	.mm-navbars_top {height: 65px; border-bottom: none; background: #42a58a;}
	.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: #42a58a;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: #42a58a;}
	.mm-listitem .mm-btn_next:before { border-left-width: 0;}
	.mm-menu a:hover, .mm-menu a:focus, .mm-menu a:active {color: #42a58a; background: #fff !important;}
	.mm-menu_theme-white .mm-navbar a, .mm-menu_theme-white .mm-navbar>* { color: #fff; font-size: 1.2rem; padding: 0; line-height: 80px;font-family: 'OpenSans 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: #42a58a; height: 65px; border-bottom: 1px solid #42a58a;}
	.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:#42a58a;}
	.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) {
	#footer .frame-type-menu_pages ul {display: block; text-align: center;}

}

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

@media (max-width: 575px) {

}


/* Checkbox styling */
.checkbox { padding-left: 15px; margin-bottom: 0rem;}
.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;}
	
}

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











