@font-face {
    font-family: 'Open Sans';
    src: url('fonts/OpenSans-ExtraBold.woff2') format('woff2'),
        url('fonts/OpenSans-ExtraBold.woff') format('woff');
    font-weight: bold;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'Open Sans';
    src: url('fonts/OpenSans-SemiBold.woff2') format('woff2'),
        url('fonts/OpenSans-SemiBold.woff') format('woff');
    font-weight: 600;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'Open Sans';
    src: url('fonts/OpenSans-Bold.woff2') format('woff2'),
        url('fonts/OpenSans-Bold.woff') format('woff');
    font-weight: bold;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'Open Sans';
    src: url('fonts/OpenSans-Regular.woff2') format('woff2'),
        url('fonts/OpenSans-Regular.woff') format('woff');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'Open Sans';
    src: url('fonts/OpenSans-Light.woff2') format('woff2'),
        url('fonts/OpenSans-Light.woff') format('woff');
    font-weight: 300;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'Open Sans';
    src: url('fonts/OpenSans-Medium.woff2') format('woff2'),
        url('fonts/OpenSans-Medium.woff') format('woff');
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}
:root {
    --gutter-size: .8rem;
    --primary-color: #FF9100; /* var(--primary-color); #008284 */
    /* --primary-color: #E48720; var(--primary-color); #008284 */
    --secondary-color: orange; /* var(--secondary-color); #0C5C5B*/
    --highlight-color: blue; /* var(--highlight-color); #2B9739*/
    --text-color: #000; /* var(--text-color); rgba(0,60,85,1) */
    --footer-text-color: #333; /* var(--footer-text-color); #fff */
    --menu-bg-color: #EDEDED; /* var(--menu-bg-color); linear-gradient(#008284, #0C5C5B) */
    --primary-alt-color: #4377B7; /* var(--primary-alt-color); #008284 */
    --mint-color: #EDEDED; /* var(--mint-color); #E5FBF2 */
}

body:not(.auftragsbewertung) svg.awl path {
    fill: var(--primary-alt-color) !important;
}
.box-mint svg path {
    fill: #fff !important;
}

html {
    font-size: 14px;
}
body {
    font-family: 'Open Sans';
    font-size: 16px;
    color: var(--text-color);
}

h1 {
    font-weight: bold;
}
h5,.h5 {
    font-size: 22px;
    font-weight: bold;
}
h1#app {
    height: 144px;
}
p {
    color: var(--text-color);
    line-height: 26px;
}

h1 {
    font-weight: 600 !important;
}
h1, h2, h1.text-success, h2.text-success {
    color: var(--primary-alt-color) !important;
}
h2, h3, h4, h5, .mainheader .text-xl {
    font-weight: normal !important;
}
h3, h4, h5, .mainheader .text-xl, h3.text-success {
    color: #000 !important;
}
h1 .text-xl {
    display: block;
    margin-bottom: 16px;
    line-height: 35px;
}
.mainheader .text-xl.text-orange,
section.content h2.text-orange {
    color: var(--primary-color) !important;
}

a {
    transition: all .4s;
}

section p a:not(.btn), section p a:not(.btn):visited,
section .form-group a:not(.btn), section .form-group a:not(.btn):visited {
    color: var(--primary-color);
    text-decoration: underline;
}
.colorpreview {
    display: block;
    height: 20px;
}
.column.border-right {
    position: relative;
}
.column.border-right:after {
    content: "";
    display: block;
    width: 1px;
    height: 50%;
    position: absolute;
    right: 0;
    top: 50%;
    background: var(--primary-color);
    transform: translate(0, -50%);
}
.text-success {
    color: var(--primary-color) !important;
}
.text-success2 {
    color: var(--primary-alt-color) !important;
}
.text-success3 {
    color: #339966 !important;
}
.text-gray {
    color: #7A7A7A !important;
}
.text-white {
    color: #fff !important;
}
.text-alt-dark {
    color: #606060 !important;
}
.text-alt-dark-2 {
    color: #444 !important;
}
.text-black {
    color: var(--text-color) !important;
}
.text-black svg path {
    fill: var(--text-color) !important;
}
.text-white svg path {
    fill: #ffffff !important;
}
.icon-success i {
    vertical-align: middle;
    margin-right: 10px;
}
.icon-success svg path {
    fill: var(--primary-color) !important;
}
.text-warning {
    color: rgb(255, 145, 0) !important;
}
.text-black2 {
    color: #444 !important;
}
.text-orange {
    color: var(--primary-color) !important;
}
.text-meta {
    opacity: .6;
}
.text-thin {
    font-weight: 100;
}
.text-normal {
    font-weight: initial !important;
}
.text-bold {
    font-weight: 700 !important;
}
.text-semibold {
    font-weight: 600 !important;
}
.text-xbold {
    font-weight: 700 !important;
}
.text-m {
    font-size: 16px !important;
}
.text-sm {
    font-size: 11px;
    line-height: 18px;
}
.text-20 {
    font-size: 20px !important;
}
.text-16 {
    font-size: 16px !important;
    line-height: 20px;
}
.text-14 {
    font-size: 14px !important;
    line-height: 18px;
}
.text-45 {
    font-size: 45px !important;
    line-height: 51px;
}
.text-12 {
    font-size: 12px !important;
    line-height: 16px;
}
.text-18 {
    font-size: 18px !important;
    line-height: 22px;
}
.text-22 {
    font-size: 22px !important;
    line-height: 28px;
}
.text-15 {
    font-size: 15px !important;
    line-height: 20px;
}
.text-35 {
    font-size: 35px !important;
    line-height: 45px;
}
.text-40 {
    font-size: 40px !important;
    line-height: 45px;
}
.text-50 {
    font-size: 50px !important;
    line-height: 55px;
}
.icon.icon-12 {
    line-height: 1px;
}
.icon.icon-16 svg {
    height: 16px;
}
.icon.icon-20 svg {
    height: 20px;
}
.icon.icon-24 svg {
    height: 24px;
}
.icon.icon-36 svg {
    height: 36px;
}
.icon.icon-12 svg {
    height: 12px;
}
.bg-primary:not(.bg-half) {
    background: var(--primary-color) !important;
}
.bg-half {
    position: relative;
    background: none !important;
}
.bg-half > * {
    position: relative;
}
.bg-half:before {
    position: absolute;
    top: 80px;
    height: calc(100% - 160px);
    left: 0;
    width: 100%;
    content: "";
    display: block;
}
.bg-half.bg-primary:before {
    background: var(--primary-color);
}
.border-0 {
    border-radius: 0 !important;
}
.text-left {
    text-align: left !important;
}
dl dt, dl dd {
    display: inline-block;
    width: 50%;
    font-size: 18px;
    vertical-align: top;
}
dl dt.border-bottom, dl dt.border-bottom + dd, dl .border-bottom {
    border-bottom: 1px solid #C0C0C0;
    padding: 9px 0px;
}
dl dd {
    margin-top: 0;
    margin-bottom: .4rem;
}
.img-autojust > span {
    margin-left: 20px;
}
.img-autojust > span > img {
    height: 55px;
}
img.img-intext {
    float: left;
    margin-right: 15px;
    margin-bottom: 15px;
    width: calc(100vw / 5);
    max-width: 400px;
}
img.img-intext.img-intext-right {
    float: right;
    margin-right: 0;
    margin-left: 15px;
}

.mt-2 {
    margin-top: 35px !important;
}
.mb-2 {
    margin-bottom: 35px !important;
}
.pt-2 {
    padding-top: 35px !important;
}
.pb-2 {
    padding-bottom: 35px !important;
}
.ml-2 {
    margin-left: 35px !important;
}
.ml-15 {
    margin-left: 31px !important;
}
.mr-2 {
    margin-right: 35px !important;
}
.mb-3 {
    margin-bottom: 3px !important;
}
.mb-20 {
    margin-bottom: 20px;
}

.mt-1 {
    margin-top: 15px !important;
}
.mb-1 {
    margin-bottom: 15px !important;
}
.pt-1 {
    padding-top: 15px !important;
}
.pb-1 {
    padding-bottom: 15px !important;
}
.ml-1 {
    margin-left: 15px !important;
}
.mr-1 {
    margin-right: 15px !important;
}

.mt-5 {
    margin-top: 5px !important;
}
.mt-22 {
    margin-top: 22px !important;
}
.mb-5 {
    margin-bottom: 5px !important;
}

.m-auto {
    margin-left: auto;
    margin-right: auto;
}

.relative {
    position: relative;
}

.block {
    display: block;
}

.modal-container {
    max-height: 95vh;
}

.btn {
    height: auto;
    z-index: 1;
    position: relative;
    padding: 15px 20px;
    font-size: 14px;
    border-radius: 4px;
    font-weight: 400;
}
.btn.btn-shadow {
    box-shadow: 5px 5px 10px 0px #d4d4d4;
}
.btn.btn-phonebtn {
    transition: all .4s;
    position: relative;
    border-radius: 8px;
    font-size: 14px;
    border-color: #949494;
    text-decoration: none !important;
    background: #fff;
    color: #545454;
    font-weight: normal;
}
.btn.btn-success, .btn.btn-success2, .btn.btn-success3 {
    transition: all .4s;
    position: relative;
    border-radius: 8px;
    border-color: var(--primary-color);
    text-decoration: none !important;
    background: var(--primary-color) !important;
    color: #fff;
}
.btn.btn-black {
    color: #fff;
    background: #444444;
}
.btn.btn-black2 {
    color: #444444;
    border-color: #444444;
    background: #fff;
}
.btn.btn-black2 i {
    color: var(--primary-color);
}
.btn.btn-success:hover, .btn.btn-success2:hover, .btn.btn-success3:hover,
.btn.btn-success:focus, .btn.btn-success2:focus, .btn.btn-success3:focus {
    color: #fff;
    text-decoration: none !important;
    background: var(--secondary-color) !important;
    border-color: var(--secondary-color) !important;
}

.btn.btn-success2 {
    background: #fff !important;
    color: var(--primary-color) !important;
    border: 1px solid var(--primary-color);
}
.btn.btn-success2:hover,
.btn.btn-success2:focus,
.btn.btn-success2.active {
    color: #fff !important;
    background: var(--primary-color) !important;
    border: 1px solid #fff;
}

.btn.btn-success3 {
    background: var(--primary-alt-color) !important;
    color: #fff;
    border: 1px solid var(--primary-alt-color);
}
.btn.btn-success3:hover,
.btn.btn-success3:focus,
.btn.btn-success3.active {
    color: var(--primary-alt-color);
    background: #fff !important;
    border: 1px solid var(--primary-alt-color) !important;
}

.btn.btn-lg {
    height: auto;
    font-size: 18px;
    font-weight: bold;
    padding: 18px 32px;
}
.mainheader .btn.btn-lg {
    font-size: 14px;
    font-weight: normal;
} 
.btn.btn-sm {
    font-size: 14px;
    padding: 10px 15px;
    height: auto;
}
.form-group:not(.fff) {
    margin-bottom: 15px;
}
.form-input.input-lg {
    height: auto;
    padding: 9px 12px;
    font-size: 18px;
}
.form-input.form-input-2 {
    border-radius: 0;
    border-color: #606060 !important;
    padding: 13px 12px;
    font-size: 18px;
}
.has-icon-left .form-input.form-input-2 {
    padding-left: 43px;
}
.has-icon-left .form-icon {
    font-size: 23px;
    color: #606060;
    margin-top: -6px;
    margin-left: 16px;
}
.screenshot {
    height: 100%;
    padding: 20px;
    background: #fff;
    border-radius: 8px;
    border: 2px solid var(--primary-color);
}
.text-center > .img-responsive {
    display: inline-block;
}
.bg-half .spacer {
    background: #fff;
    height: 2px;
    width: 100%;
    margin-top: 30px;
    margin-bottom: 10px;
}
.img-round {
    border-radius: 50%;
}
.img-rounded {
    border-radius: 8px;
}
.img-fit-to-container {
    height: 100%;
    object-fit: cover;
}
.img-wrounded {
    width: 100%;
    height: 500px;
    object-fit: cover;
}
.img-provider {
    width: 150px !important;
    height: 40px;
    object-fit: contain;
}
.mh350 {
    max-height: 350px;
}
.text-lg {
    font-size: 20px;
}
.text-xl {
    font-size: 29px;
    line-height: 40px;
}
.text-flight {
    font-weight: 100;
}
.text-right > img {
    display: inline-block;
}
.text-underline {
    text-decoration: underline;
}
.menuheader a.logo {
    display: inline-block;
    vertical-align: middle;
    margin-top: 15px;
    margin-bottom: 15px;
}
.menuheader .innerheader {
    border-bottom: 1px solid rgba(0,0,0,.2);
    margin-top: -17px;
    box-shadow: 0 2px 2px 0 rgba(0,0,0,.2);
}
.menuheader .logoadd {
    color: var(--primary-color);
    display: inline-block;
    vertical-align: middle;
    margin-bottom: 0;
    font-weight: 500;
    font-size: 16px;
    letter-spacing: -.1px;
}

.menuheader .logoadd .mast {
    font-size: 26px;
    letter-spacing: -.5px;
}
.menuheader .col-8.text-right {
    padding-top: 5px;
}
a.logo img {
    height: 54px;
    vertical-align: -13px;
    margin-right: 6px;
}
a.logo span {
    font-size: 23px;
    font-style: italic;
    color: var(--primary-color);
}
a.logo.logo-white span {
    color: #ffffff;
}
.accordion {
}
.accordion label {
    line-height: 24px;
    padding: 15px 20px !important;
    padding-right: 45px !important;
    font-size: 18px;
    transition: all .4s;
    font-weight: 600;
    cursor: pointer;
    position: relative;
    border-bottom: 1px solid #000;
}
.accordion label:before {
    display: inline-block;
    font: normal normal normal 14px / 1 FontAwesome;
    font-size: inherit;
    text-rendering: auto;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    content: "\f078";
    transition: all .4s;
    width: 20px;
    height: 20px;
    text-align: center;
    line-height: 18px;
    position: absolute;
    top: 15px;
    right: 20px;
}
.accordion input:checked~label, .accordion[open] label {
}
.accordion input:checked~label:before, .accordion[open] label:before {
    content: "\f077";
}
.accordion .accordion-body {
    margin-bottom: 0;
    background: #fff;
}
.accordion p {
    padding-left: 20px;
    padding-right: 20px;
    padding-top: 20px;
    padding-bottom: 30px;
}

ol.features {
    counter-reset: item;
    list-style-type: none;
}
ol.features li {
    padding-left: 40px;
    counter-increment: item;
    position: relative;
    margin-bottom: 20px;
}
ol.features li::before {
    font-size: 30px;
    content: counter(item) ".";
    position: absolute;
    line-height: 30px;
    top: 50%;
    left: -15px;
    margin-top: -10px;
    color: var(--primary-color);
    font-weight: bold;
}

ul.changedlist {
    margin-left: 0;
    margin-right: 0;
    list-style: none;
}
ul.changedlist li {
    margin-bottom: 11px;
    padding-left: 20px;
}
ul.changedlist li i {
    float: left;
    margin-left: -20px;
    margin-top: 3px;
}

.input-group .input-group-btn:last-child:not(:first-child):after,
.input-group .input-group-btn:last-child:not(:first-child):before {
    border-bottom-left-radius: 0;
    border-top-left-radius: 0;
}
.form-input {
    height: auto;
    padding: 14px 12px;
    font-size: 14px;
    border-radius: 5px;
    border-color: #606060 !important;
}
.form-input.text-18 {
    padding: 10px 12px;
}
.form-input:focus {
    border-color: var(--primary-color);
    box-shadow: 0 0 0 0.1rem rgba(0,130,132,.2);
}

form.anfrageformular ul {
    margin: 20px 0;
    padding: 0;
    list-style: none;
}
.altli {
    padding-left: 30px !important;
    position: relative;
}
.altli > .icon {
    position: absolute !important;
    top: 1px !important;
    left: 0;
}
.rangeslider {
    position: relative;
}
.rangeslider:before {
    position: absolute;
    content: "";
    width: 100%;
    left: 0;
    top: 18px;
    height: 5px;
    background: #F7F8F9;
}
.rangeslider > * {
    position: relative;
}
.form-input[type="range"] {
    border: none !important;
    background: transparent;
}
.form-input[type=range]::-webkit-slider-thumb {
  -webkit-appearance: none;
  appearance: none;
  width: 20px;
  margin-top: -12px;
  margin-bottom: -12px;
  height: 20px;
  border-radius: 50%;
  background: var(--primary-color);
  cursor: pointer;
}
.form-input[type=range]::-moz-range-thumb {
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: var(--primary-color);
  cursor: pointer;
}
.form-input[type="range"] + .input-group-addon {
    line-height: 35px;
}
form.anfrageformular ul li {
    white-space: nowrap;
}
.form-fileinput {
    position: relative;
    max-height: 300px;
    overflow: auto;
}
.form-fileinput input[type="file"] {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
    z-index: 10;
    cursor: pointer;
}
.form-fileinput-droparea {
    background: #F5F5F5;
    border: 1px solid var(--primary-color);
    border-radius: 4px;
    margin-bottom: 8px;
    padding: 32px;
    text-align: center;
    position: relative;
}
.form-fileinput-droparea:after {
    display: table;
    content: "";
    clear: both;
}
.form-fileinput-droparea p {
    margin: 5px;
}
.form-fileinput-droparea .fileinput-droparea-label {
    display: block;
    position: relative;
    color: #333;
    width: 100px;
    height: 100px;
    border: 1px solid #ccc;
    text-align: center;
    font-size: 12px;
    line-height: 18px;
    margin: 5px;
    float: left;
}
.form-fileinput-droparea .fileinput-droparea-label i {
    font-size: 30px;
    display: block;
    margin-top: 10px;
    margin-bottom: 10px;
}
.form-fileinput-droparea #filechooserresult {
    text-align: left;
}
.form-fileinput-droparea #filechooserresult .fileinput_specfile {
    margin: 5px;
    height: 100px;
    width: 100px;
    display: inline-block;
    border: 1px solid #ccc;
    position: relative;
}
.form-fileinput-droparea #filechooserresult .fileinput_specfile img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    vertical-align: middle;
}
.form-fileinput-droparea #filechooserresult .fileinput_specfile:hover:after {
    position: absolute;
    content: "\f057";
    font: normal normal normal 14px/1 FontAwesome;
    cursor: pointer;
    line-height: 100px;
    display: block;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    text-align: center;
    font-size: 30px;
    background: rgba(255,255,255,.7);

}
.container2 {
    width: 1196px; /*1280px - 33px * 2 + Gutter-Size 11px * 2*/
    max-width: 100%;
    padding-left: var(--gutter-size);
    padding-right: var(--gutter-size);
    margin-left: auto;
    margin-right: auto;
}
.container {
    width: 1470px;
    max-width: 100%;
    padding-left: var(--gutter-size);
    padding-right: var(--gutter-size);
}
.cols, .columns {
    margin-left: calc(var(--gutter-size) * -1);
    margin-right: calc(var(--gutter-size) * -1);
}
.column, [class~=col-] {
    padding-left: var(--gutter-size);
    padding-right: var(--gutter-size);
}
.subheader-s {
    padding-top: 11px;
    background: #dadee4;
    color: rgb(84, 84, 84);
    padding-bottom: 11px;
    font-weight: 600;
    font-size: 14px;
}
.subheader-s a {
    color: rgb(84, 84, 84);
}
.subheader-s a + a {
    margin-left: 30px;
}
.scrollingheader, .fakescrollingheader {
    background: #c3242a; /* #ff4444; */
    color: #fff;
    padding-top: 10px;
    font-size: 16px;
    z-index: 3;
    top: 0;
    left: 0;
    width: 100%;
    padding-bottom: 10px;
}
.scrollingheader a, .fakescrollingheader a {
    text-decoration: none !important;
    color: #fff !important;
}
.scrollingheader b, .fakescrollingheader b {
    font-weight: 700 !important;
}
.scrollingheader {
    position: fixed;
}
.scrollingheader .btn, .fakescrollingheader .btn {
    font-size: 14px !important;
    padding: 11px 8px !important;
    box-shadow: 1px 1px 2px 0px rgba(0,0,0,.5);
    border: transparent !important;
    margin-left: 15px;
}
.subheader {
    font-size: 13px;
    color: #fff;
    padding-top: 10px;
    padding-bottom: 10px;
    background: var(--primary-color);
    border-bottom: 1px solid #ececec;
}
.subheader svg path {
    fill: #fff !important;
}
.subheader a {
    color: #fff !important;
    text-decoration: none !important;
    transition: all .4s;
    font-weight: bold;
}
.subheader i {
    font-size: 18px;
    vertical-align: middle;
}
.subheader i.fa-rounded {
    border: 1px solid white;
    border-radius: 50%;
    line-height: 13px;
    width: 13px;
    font-size: 9px;
    text-align: center;
}
.subheader span:first-child {
    margin-right: 30px;
}
.subheader a:hover {
    text-decoration: underline !important;
}
.subheader i {
    margin-right: 4px;
}
.subheader span.spacer {
    margin-left: 15px;
    margin-right: 15px;
    height: 10px;
    vertical-align: middle;
    width: 1px;
    background: #fff;
    display: inline-block;
}
.menuheader {
    padding-top: 0;
    padding-bottom: 2px;
    position: relative;
    z-index: 2;
}
.menuheader .navbar {
    margin-top: 15px;
}
header.navbar a.btn:not(.btn-success) {
    padding: 15px 8px;
    color: #000;
    height: auto;
    transition: all .4s;
    font-size: 14px;
    font-weight: 600;
}
header.navbar .navbar-section#linkmenu {
    justify-content: left;
}
header.navbar a.btn:not(.btn-success):hover,
header.navbar a.btn:not(.btn-success):focus,
header.navbar a.btn:not(.btn-success):active,
header.navbar a.btn:not(.btn-success).active {
    color: var(--primary-color);
}
header.navbar a.btn.active {
    font-weight: bold;
}
.hidden {
    display: none;
}
.offerribbon {
  font-size: 28px;
  font-weight: bold;
  color: #fff;
  position: absolute;
  top: 0;
  right: 0;
  transform: rotate(30deg);

  --c: #d81a14;
  --a: 56deg;
  --r: 6deg;
  --s: 1.6em;

  padding: .6em 1.3em;
  aspect-ratio: 1;
  display: grid;
  place-content: center;
  text-align: center;
  z-index: 0;
  width: fit-content;
  box-sizing: border-box;
}
.offerribbon:after {
  content: "";
  position: absolute;
  z-index: -1;
  inset: 0;
  background: radial-gradient(35% 35%,#0000 96%,#0003 97% 99%,#0000) var(--c);
  clip-path: polygon(100.00% 50.00%,89.66% 55.22%,98.30% 62.94%,86.96% 65.31%,93.30% 75.00%,81.73% 74.35%,85.36% 85.36%,74.35% 81.73%,75.00% 93.30%,65.31% 86.96%,62.94% 98.30%,55.22% 89.66%,50.00% 100.00%,44.78% 89.66%,37.06% 98.30%,34.69% 86.96%,25.00% 93.30%,25.65% 81.73%,14.64% 85.36%,18.27% 74.35%,6.70% 75.00%,13.04% 65.31%,1.70% 62.94%,10.34% 55.22%,0.00% 50.00%,10.34% 44.78%,1.70% 37.06%,13.04% 34.69%,6.70% 25.00%,18.27% 25.65%,14.64% 14.64%,25.65% 18.27%,25.00% 6.70%,34.69% 13.04%,37.06% 1.70%,44.78% 10.34%,50.00% 0.00%,55.22% 10.34%,62.94% 1.70%,65.31% 13.04%,75.00% 6.70%,74.35% 18.27%,85.36% 14.64%,81.73% 25.65%,93.30% 25.00%,86.96% 34.69%,98.30% 37.06%,89.66% 44.78%); /* from https://css-generators.com/starburst-shape/ */
}
.offerribbon .r-text-sm {
    font-size: 12px;
    line-height: 14px;
}
.offerribbon .r-text-lg {
    color: #EDB43A;
}
.mainheader {
    background: #FFF;
    background-position: right top;
    background-size: auto 100%;
    background-repeat: no-repeat;
    position: relative;
    padding-top: 80px;
    padding-bottom: 100px;
    color: var(--primary-color);
}
.mainheader .extra-header-image {
    position: absolute;
    top: 0;
    right: 0;
    width: 32%;
    height: 100%;
    clip-path: polygon(50% 0%, 100% 0%, 100% 100%, 0% 100%);
}
.mainheader .extra-header-image::before {
    content: '';
    position: absolute;
    top: 0;
    left: -20px;
    width: calc(100% + 20px);
    height: 100%;
    background: white;
    clip-path: polygon(0 0, 55% 0, 7% 100%, 0% 100%);
}
.mainheader .extra-header-image img {
    height: 100%;
    width: 100%;
    object-fit: cover;
    object-position: -290px 0;
}
.mainheader .extra-header-image.extra-header-image-koeln img {
    object-position: 0 0;
}
.mainheader .col-md-12.relative:after {
    position: absolute;
    top: -80px;
    height: calc(100% + 180px);
    right: -300px;
    width: 300px;
    content: "";
    display: block;
    background: linear-gradient(90deg, rgba(255,255,255,1) 10%, rgba(255,255,255,0) 100%);
}
.mainheader .col-md-12.relative:before {
    position: absolute;
    top: -80px;
    height: calc(100% + 180px);
    left: -400px;
    width: calc(100% + 400px);
    content: "";
    display: block;
    background: #FFF;
}
.mainheader .col-md-12.relative > * {
    position: relative;
    z-index: 1;
}
.mainheader.whitebg {
    background: #FFF;
}
.mainheader .text-xl {
    color: var(--primary-color);
    font-size: 30px;
    font-weight: bold;
    margin-bottom: 16px;
}
.mainheader .relative {
    position: relative;
}
.mainheader.hascustomimg .img-wrounded {
    width: 100%;
    border-radius: 8px;
    height: 97%;
    object-fit: cover;
}
.mainheader h1 {
    color: var(--primary-alt-color);
    font-size: 45px;
    font-weight: normal;
    margin-bottom: 48px;
}
.mainheader h1.text-alt-size {
    font-size: 40px;
    margin-bottom: 25px;
}
.mainheader .container {
    position: relative;
    z-index: 1;
}
.mainheader, .mainheader p {
    font-size: 18px;
    line-height: 30px;
}
.mainheader .anfrageformular ul {
    margin: 20px 0;
    padding: 0;
    list-style: none;
    margin-bottom: 48px;
}
.mainheader .anfrageformular ul li {
    margin-top: 0;
    color: var(--text-color);
    margin-bottom: 8px;
}
.mainheader .anfrageformular ul li i {
    top: 1px;
    margin-right: 8px;
    vertical-align: middle;
    position: relative;
}
.mainheader .anfrageformular ul li svg path {
    fill: var(--primary-color) !important;
}
.mainheader.portal {
    padding-top: 0;
    padding-bottom: 0;
    margin-bottom: 20px;
    margin-top: 20px;
}
.mainheader.portal > * {
    background-color: #FFA300;
    color: #fff;
    background-repeat: no-repeat;
    background-position: right top;
    background-size: 50%;
    border-radius: 10px;
    padding-top: 50px;
    padding-bottom: 50px;
    overflow: hidden;
}
.mainheader.portal .col-md-12.relative {
    padding-left: 30px;
}
.mainheader.portal .col-md-12.relative:after {
    background: #FFA300;
    right: -74px;
    top: -211px;
    height: calc(100% + 271px);
    transform: rotateZ(35deg);
}
.mainheader.portal .col-md-12.relative:before {
    display: none;
}
.mainheader.portal .text-xl,
.mainheader.portal h1,
.mainheader.portal p {
    color: #fff !important;
}
.mainheader.portal h1 { 
    margin-bottom: 25px;
}
.mainheader.portal .input-group {
    width: 500px;
    max-width: 100%;
}
.mainheader.portal .input-group .form-input,
.mainheader.portal .input-group .btn {
    border: 1px solid transparent !important;
}
.mainheader.portal .input-group .btn {
    font-size: 20px;
    padding: 12px 20px;
}
.mainheader.portal .ekomicontainer2, .mainheader.portal .ekomicontainer2 * {
    color: #fff !important;
}
.fa.fa-x2 {
    font-size: 32px;
}

.img-cover {
    width: 100%;
    height: 233px;
    overflow: hidden;
    object-fit: cover;
    border-radius: 10px;
}
.img-border-2 {
    border: 1px solid #fff;
    box-shadow: 0 0 0 2px var(--primary-color);
}
.img-cover.cover-height-2 {
    height: 610px;
}
.img-description {
    position: absolute;
    left: 23px;
    bottom: 23px;
    color: #000;
    background: rgba(255,255,255,.9);
    border-radius: 10px;
    font-size: 14px;
    width: calc(100% - 46px);
    padding: 8px;
    min-height: 85px;
}
.img-description .firstlink {
    color:var(--primary-color);
    font-size: 18px;
    font-weight: bold;
    display: block;
}
.img-description a {
    color: #000;
    margin-right: 10px;
    text-decoration: underline;
    font-weight: initial;
}
.img-description a:hover {
    color:var(--primary-color);
}
.tab .tab-item a {
    padding-top: 11px;
    padding-bottom: 11px;
}
.tab .tab-item a:hover {
    color: #E48720;
}
.tab .tab-item a.active, .tab .tab-item.active a {
    color: #E48720;
    background: #EBEBEB;
    border-bottom: .05rem solid #dadee4;
    font-weight: bold;
}
section.content {
    padding-top: 50px;
    padding-bottom: 50px;
}
section.content.content-half {
    padding-top: 20px;
    padding-bottom: 20px;
    margin-top: 30px;
    margin-bottom: 30px;
}
section.content h2 {
    font-size: 35px;
    line-height: 45px;
    margin-bottom: 20px;
    font-weight: 700;
}
section.content.white h3 {
    font-weight: 600;
    font-size: 25px;
    line-height: 35px;
    color: var(--primary-color);
    margin-top: 20px;
    margin-bottom: 5px;
}
section.content.white h3:first-child {
    margin-top: 0;
}
section.content p:not(.text-xl) {
    font-size: 18px;
}
section.content.bordered {
    border-bottom: 1px solid #edeef2;
}
section.content.alt, .container2.alt {
    background: #F7F6F6;
}
.container2.alt {
    border-radius: 10px;
    padding: 20px;
}
section.content.mint {
    background: var(--mint-color);
}
section.content.altmint {
    background: var(--primary-alt-color);
}
section.content.altmint * {
    color: #fff;
}
section.content.altmint li {
    font-size: 18px;
}
section.content.altmint .text-xl,
section.content.mint .text-xl,
section.content.alt .text-xl,
section.content.white .text-xl {
    color: var(--primary-color);
    font-size: 30px;
    font-weight: bold;
}
section.content.mint .img-map {
    margin-top: -100px;
}
section.content.mint .img-map svg {
    max-width: 100%;
    height: auto;
}
section.content.mint .img-map svg path.sm_state {
    transition: all .4s;
}
section.content.mint .img-map svg path.sm_state:hover {
    fill: #4eccb4 !important;
}
section.cleaning-requirements img {
    margin: auto;
}
.lgutter {
    position: relative;
}
.lgutter:after {
    position: absolute;
    display: block;
    content: "";
    right: -3px;
    top: 20px;
    height: 50%;
    width: 1px;
    opacity: .25;
    background: #000;
}

.adjust1 {
    margin-bottom: 100px;
}
.adjust1 .btn {
    margin-bottom: -120px;
}

.blog {
    border: 1px solid #000;
    padding: 30px;
    border-radius: 0;
    height: 100%;
    transition: all .4s;
}
.rezensioncolumns {
    margin-bottom: calc(2 * var(--gutter-size));
}
.rezension {
    padding: 15px;
    border-radius: 10px;
    background: #fff;
    border: 1px solid #ccc;
    height: 100%;
    transition: all .4s;
}
.blog h3 {
    font-size: 18px;
    font-weight: bold;
    line-height: 28px;
}
.blog p {
    font-size: 14px !important;
    line-height: 20px;
}
.blog a {
    color: var(--primary-color);
    font-size: 18px;
    font-weight: bold;
    text-decoration: none !important;
}
.blog a:hover {
    text-decoration: underline !important;
}
.blog > p:not(:last-child) {
    max-height: 78px;
    overflow: hidden;
}
.blog img.img-responsive {
    margin-left: -31px;
    margin-top: -31px;
    margin-bottom: 30px;
    width: calc(100% + 62px);
    max-width: calc(100% + 62px);
    height: 318px;
    object-fit: cover;
}
.rezension .avatar {
    background: var(--primary-color);
    height: 52px;
    width: 52px;
    margin-right: 10px;
}
.rezension .tile-title {
    font-weight: bold;
}
.rezension .tile {
    margin-bottom: 10px;
}
.rezension .checked {
    width: 15px;
    vertical-align: top;
}
.rezension .description {
    line-height: 22px;
    padding-top: 8px;
    font-size: 14px !important;
    margin-bottom: 0;
    border-top: 1px solid #aaa;
}
.rezension .r-stars {
    font-size: 14px !important;
    line-height: 20px;
    margin-bottom: 8px;
}
.rezension .r-title {
    font-weight: bold;
    font-size: 18px !important;
}
.rezension .fa {
    font-size: 20px;
    margin-left: 2px;
    margin-right: 2px;
}
.toast {
    padding: 12px;
    border-radius: 5px;
    font-size: 20px;
}
.toast.toast-success {
    background: var(--primary-color);
    border-color: var(--primary-color);
}

.tile.tile-list .tile-content {
    margin-left: 10px;
}
.tile.tile-list .tile-title {
    font-size: 20px;
    font-weight: bold;
    margin-top: 10px;
    margin-bottom: 5px;
}
.tile.tile-list .tile-subtitle {
    line-height: 24px;
}
.tile.tile-list .tile-icon i {
    display: inline-block;
    width: 30px;
    text-align: left;
}
.tile.tile-centered .tile-title {
    font-size: 20px;
    font-weight: 600;
}
.tile.tile-centered .tile-subtitle {
    font-size: 16px;
    line-height: 20px;
    font-weight: 100;
}
.trust {
    padding: 19px 10px;
    padding-left: 70px;
    border: 1px solid rgba(0,0,0,0.17);
    border-radius: 10px;
    position: relative;
    height: 100%;
    width: 336px;
    max-width: 100%;
}
.trust > i {
    font-size: 40px;
    width: 50px;
    text-align: center;
    position: absolute;
    left: 10px;
    top: 24px;
}
.trust > p {
    font-size: 12px;
    line-height: 16px !important;
    margin-bottom: 0;
}
.trust > p > b {
    font-size: 14px;
    line-height: 18px;
}
.box2 {
    padding: 20px;
    border-radius: 10px;
    background: #fff;
    box-shadow: 2px 2px 6px 0px rgba(0,0,0,.2);
}
.box-no {
    padding: 0 20px;
    border-radius: 10px;
    background: #fff;
}
.box-no h3.text-orange {
    color: var(--primary-color) !important;
    font-weight: bold;
}
.box2 .circle, .box-no .circle {
    display: inline-block;
    width: 50px;
    height: 50px;
    line-height: 50px;
    text-align: center;
    border-radius: 50%;
    color: #fff;
    background: var(--primary-color);
    font-style: normal;
    font-size: 18px;
    font-weight: bold;
    float: left;
    margin-top: 10px;
    margin-left: 20px;
}
.box-no .circle {    
    margin-left: 0px;
    margin-right: 20px;
    margin-bottom: 20px;
}
.box {
    padding: 30px;
    border-radius: 10px;
    background: #F7F6F6;
}
.box.box-bordered {
    border: 1px solid #aaa;
}
.box.box-contact {
    background: #fff;
    border-radius: 0;
    border: 1px solid #929292;
    box-shadow: 2px 2px 4px 0px rgba(0,0,0,.38);
}
.box.box-mint {
    height: 100%;
    background: var(--primary-color);
    color: #fff;
}
.box.box-lightgrey {
    height: 100%;
    background: #F9FAFB;
}
.box.box-mint2 {
    height: 100%;
    background: #FFA500;
    color: #fff;
}
.box.box-mint2 .col-border-right {
    border-right: 2px solid #fff;
}
.box.box-lightmint {
    height: 100%;
    background: var(--mint-color);
}
.box.box-white {
    height: 100%;
    background: #fff;
}
.box.box-mint h3 {
    font-size: 25px;
    font-weight: 600;
    color: #fff !important;
}
.box.box-mint p {
    color: #fff;
}
.box > p:last-child {
    margin-bottom: 0;
}
.box + p {
    margin-top: 1.2rem;
}
.box.height-init {
    height: initial;
}

.box.full-width {
    width: 100%;
}

.box ul {
    list-style: none;
    margin: 20px 0;
    padding: 0;
}
.box ul li {
    font-size: 18px;
    margin: 0;
    padding: 0;
    line-height: 35px;
}
.anfrageopt {
    margin-top: 170px;
}
.anfrageopt img {
    margin-top: -170px;
}

.double-column, .triple-column {
    display: flex;
    flex-wrap: wrap;
    margin-bottom: 1.2rem;
}
.double-column > * {
    flex: 0 0 50%;
}
.triple-column > * {
    flex: 0 0 33.333333%;
}
.servicemenu {
    background: #fff;
    color: var(--footer-text-color);
    font-size: 15px;
    border: 1px solid #C0C0C0;
    box-shadow: 0px 3px 3px rgba(0, 0, 0, 0.102);
    max-height: 0;
    overflow: hidden;
    transition: all .2s;
    opacity: 0;
    padding: 0 calc(var(--gutter-size) * 2);
    width: 800px;
    left: 13px;
    top: -10px;
    position: absolute;
    z-index: 2;
}
#thememenu.servicemenu {
    left: 150px;
}
.servicemenu.open {
    opacity: 1;
    max-height: 350px;
    padding-top: calc(var(--gutter-size) * 2);
    padding-bottom: calc(var(--gutter-size) * 2);
}
.servicemenu .container {
    position: relative;
    padding-top: 20px;
    padding-bottom: 20px;
}
.servicemenu .closemenu {
    position: absolute;
    top: 20px;
    right: 20px;
    font-size: 30px;
}
.servicemenu ul {
    margin: 0;
    padding: 0;
    list-style: none;
}
.servicemenu .column b, .servicemenu .column a {
    font-size: 15px;
}
.servicemenu li a {
    color: var(--footer-text-color) !important;
}
.servicemenu li a:hover, .servicemenu li a:focus, .servicemenu li a:active {
    text-decoration: underline !important;
}
.servicemenu .addplacement {
    background: var(--primary-color);
    position: absolute;
    top: 0;
    left: 0;
    padding: 15px 25px;
}
.servicemenu .addplacement p {
    color: #fff;
    font-size: 25px;
    font-weight: 700;
    margin-bottom: 0;
}
.servicemenu .addplacement p span {
    font-size: 15px;
    font-weight: 500;
}
.servicemenu .addplacement b {
    font-weight: 700;
}

.columns.author {
    margin-top: 35px;
}

.footer {
    background: var(--menu-bg-color);
    color: var(--footer-text-color);
    padding-top: 45px;
    padding-bottom: 5px;
    font-size: 15px;
}
.col-auto {
    flex-shrink: 0 !important;
    flex-grow: 1 !important;
}
.footer > .container > .columns .column {
    margin-bottom: 45px;
}
.footer a:not(.btn) {
    color: #444 !important;
}
.footer a:not(.btn):hover {
    text-decoration: underline !important;
}
.footer ul {
    margin: 0;
    padding: 0;
    list-style: none;
}
.footer ul.footerplacelist {
    display: flex;
    flex-wrap: wrap;
}
.footer ul li {
    margin-top: 0;
    margin-bottom: 2px;
}
.footer ul.footerplacelist li {
    flex: 0 0 50%;
}
.footer ul.footerplacelist li {
    flex: 0 0 12.5%;
}
.footer ul.footerplacelist li a {
    display: block;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.footer p {
    margin-bottom: 11px;
    color: var(--footer-text-color);
}
.footer .fltext {
    line-height: 26px;
}
.footer h2 {
    font-size: 17px;
    font-weight: bold;
    margin-bottom: 8px;
}
.footer h3 {
    font-size: 16px;
    font-weight: bold;
}
.footer .ctabannerlist {
    font-size: 15px;
}
.footer .ctabannerlist li {
    margin-bottom: 10px;
}
.footer .ctabannerlist .icon {
    position: relative;
    top: 4px;
}
.footer .optimizeicons i {
    position: relative;
    top: 4px;
    min-width: 30px;
    min-height: 1px;
    display: inline-block;
    vertical-align: middle;
}
.footer .ctabannerlist .icon svg path,
.footer .icon svg path {
    fill: var(--footer-text-color) !important;
}
.footer .linespacer {
    border-top: 1px solid #929292;
}
.endfooter {
    padding-top: .5rem;
    padding-bottom: .5rem;
    color: var(--footer-text-color);
    font-size: 15px;
}
.endfooter a {
    color: #9D9C99 !important;
}
.popover-container {
    min-width: 700px;
    color: var(--text-color);
    font-size: 17px;
    line-height: 25px;
}
.popover-container ul {
    margin: 0;
    padding: 0;
    list-style: none;
}
.popover-container ul li {
    margin-top: 0;
    margin-bottom: 11px;
}
.popover-container ul li a {
    color: #696969 !important;
    text-decoration: none;
}
.popover-container ul li a:hover {
    color: var(--primary-color) !important;
}
.popover-container h2:after {
    background: var(--primary-color);
}
.popover .card {
    box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.161);
    border-radius: 4px;
    padding: 20px;
}
.popover .card .card-header {
    padding-bottom: 15px;
    margin-bottom: 15px;
    border-bottom: 1px solid rgba(224,224,224,1);
    padding-left: 0;
    padding-right: 0;
    padding-top: 0;
}
.popover .card .card-body {
    padding: 0;
}
.popover .card .card-footer {
    padding-top: 15px;
    margin-top: 15px;
    border-top: 1px solid rgba(224,224,224,1);
    padding-left: 0;
    padding-right: 0;
    padding-bottom: 0;
}
.popover-container .img-responsive {
    height: 270px;
    width: 270px;
    object-fit: cover;
}
.popover-container .triangle {
    width: 0;
    height: 0;
    position: absolute;
    top: -13px;
    left: 50%;
    transform: translateX(-50%);
    border-style: solid;
    border-right: 30px solid transparent;
    border-left: 30px solid transparent;
    border-bottom: 20px solid var(--primary-color);
    border-top: 0;
}

.modal.modal-opac .modal-overlay {
    background: rgba(237,237,237,.9);
}
.modal.modal-opac .modal-container {
    box-shadow: none;
}
.modal a.logo img {
    height: 50px;
}
.modal:not(.modal-opac) .modal-container {
    border-radius: 10px;
}
.modal:not(.modal-opac) .h5 {
    font-size: 30px;
    font-weight: 500;
    color: #0F3C55;
}
.modal:not(.modal-opac) .form-group {
    font-weight: 300;
}
.modal .columns + .columns {
    margin-top: 15px;
}

.form-checkbox, .form-radio {
    padding-left: 20px;
}
.form-checkbox .form-icon, .form-radio .form-icon {
    height: 14px;
    width: 14px;
    top: 3px;
}
.text-18.form-checkbox .form-icon, .text-18.form-radio .form-icon {
    top: 6px !important;
}
.form-checkbox input:checked+.form-icon, .form-radio input:checked+.form-icon, .form-switch input:checked+.form-icon {
    background: var(--primary-color);
    border-color: var(--primary-color);
}
.form-checkbox input:focus+.form-icon, .form-radio input:focus+.form-icon, .form-switch input:focus+.form-icon {
    border-color: var(--primary-color);
    box-shadow: 0 0 0 0.1rem rgba(69,188,113,.2);
}
.form-page-container {
    display: none;
}
.form-page-container p {
    line-height: 22px;
}
.loading::after {
    border-bottom-color: var(--primary-color);
    border-left-color: var(--primary-color);
}

#offerform .btn.btn-success2.mob { display: none !important; }
#offerform:not(.testcase) .form-header-banner, #offerform:not(.testcase) .offer-get-date {
    display: none !important;
}
#offerform.testcase .form-offer-content {
    background: #fff;
}
#offerform.testcase .form-header-banner, #offerform.testcase .offer-get-date {
    display: block !important;
}
#offerform.testcase .show-on-test {
    display: block !important;
}
#offerform:not(.testcase) .show-on-test {
    display: none !important;
}
#offerform.testcase .hide-on-test {
    display: none !important;
}
#offerform:not(.testcase) .hide-on-test {
    display: block !important;
}
#offerform.testcase .formheader.offertip {
    display: none !important;
}
#offerform.testcase .form-header-banner {
    background: #c3242a;
    color: #fff;
    font-size: 14px;
    padding: 10px;
    text-align: center;
    margin-bottom: 15px;
}
#offerform.testcase .modal-header {
    margin-bottom: -63px;
}
#offerform.testcase .formheader.offertip + h2, #offerform.testcase .formheader.offertip + h2 + .bar {
    margin-left: 170px;
}
#offerform.testcase .formheader.offertip + h2 + .bar {
    width: auto;
}
#offerform.testcase .offer-get-date {
    font-size: 14px;
    color: #c3242a;
    margin-bottom: 8px;
}
#offerform.testcase .buttoncontainer .btn.btn-success {
    min-width: 305px;
}
#offerform .formheader {
    color: #5F5F5F;
    font-size: 14px;
    margin-top: -11px;
}
#offerform .formheader .text-red {
    color: #E0392F;
}
#offerform .bar {
    margin-bottom: 25px;
    height: 1px;
    background: #809EAA;
}
#offerform .bar .bar-item {
    background: var(--primary-alt-color);
    height: 3px;
    margin-top: -1px;
}
#offerform .line {
    height: 1px;
    background: #7F9DA9;
    margin-top: 15px;
    margin-bottom: 15px;
}
#offerform .form-progressbar2 {
    display: block;
    position: relative;
    padding-left: 30px;
}
#offerform .form-progressbar2 .circle {
    position: absolute;
    width: 25px;
    height: 25px;
    top: 0;
    left: 0;
    border-radius: 50%;
    background: conic-gradient(var(--primary-color) 0% 75%,rgba(0,0,0,0.17) 75% 100%);
    display: flex;
    align-items: center;
    justify-content: center;
    content: "";
}
#offerform .form-progressbar2:after {
    position: absolute;
    top: 3px;
    left: 3px;
    width: 19px;
    border-radius: 50%;
    height: 19px;
    background: #fff;
    content: "";
    display: block;
}
#offerform .calltext {
    margin-top: 25px;
}
#offerform .modal-header {
    margin-bottom: 20px;
}
#offerform .buttoncontainer .btn {
    padding: 7px 20px;
}
.input-group.relative > button {
    border-top-right-radius: 4px !important;
    border-bottom-right-radius: 4px !important;
}
.input-group button + .popover {
    position: absolute;
    z-index: 20;
    background: #fff;
    padding: 15px;
    width: 380px;
    right: 0;
    top: 47px;
    border: 1px solid var(--primary-color);
    transition: all 0s;
    border-radius: 4px;
    display: none;
    box-shadow: 0 0 0 0.1rem rgba(0,130,132,.2);
}
.input-group button:hover + .popover, .input-group button:focus + .popover {
    display: inline-block;
}
.input-group button + .popover p {
    line-height: 20px;
}
.paymentlogo {
    vertical-align: middle;
    max-height: 20px;
}

.owra-rating {
    display: flex;
    margin-left: -15px;
    margin-right: -15px;
    margin-bottom: 40px;
}
.owra-form {
    text-align: center;
}
.owra-form .owra-input {
    display: block;
    width: 100%;
    min-height: 80px;
    margin-bottom: 20px;
    padding: 6px 12px;
    font-size: 14px;
    line-height: 1.42857143;
    color: #555;
    background-color: #fff;
    background-image: none;
    border: 1px solid #ccc;
    border-radius: 4px;
    box-shadow: inset 0 1px 1px rgba(0,0,0,.075);
}
.owra-rating .owra-item {
    width: 20%;
    text-align: center;
}
.owra-rating .owra-item .owra-inner {
    margin: 15px;
    padding: 15px;
    border: 1px solid #ccc;
    border-radius: 15px;
}
.owra-rating .owra-item input:checked + .owra-inner {
    border: 1px solid #000;
}
.owra-rating .owra-item input {
    opacity: 0;
    position: absolute;
}
.owra-rating .owra-item.owra-rating-1, .owra-rating .owra-item.owra-rating-1 svg {
    color: #3cad00;
}
.owra-rating .owra-item.owra-rating-2, .owra-rating .owra-item.owra-rating-2 svg {
    color: #9dd600;
}
.owra-rating .owra-item.owra-rating-3, .owra-rating .owra-item.owra-rating-3 svg {
    color: #dbdb00;
}
.owra-rating .owra-item.owra-rating-4, .owra-rating .owra-item.owra-rating-4 svg {
    color: #d69d00;
}
.owra-rating .owra-item.owra-rating-5, .owra-rating .owra-item.owra-rating-5 svg {
    color: #ba0000;
}
.owra-rating .owra-item svg {
    width: 40px;
    height: 40px;
    display: inline-block;
}

.sidebuttons {
    position: fixed;
    right: 0;
    bottom: 50px;
    background: var(--primary-color);
    z-index: 1;
    padding: 0 2px;
    display: none;
}
.sidebuttons a {
    color: #fff !important;
    display: block;
    position: relative;
    height: 64px;
    line-height: 71px;
    width: 42px;
    text-align: center;
}
.sidebuttons a i {
    font-size: 25px;
}
.sidebuttons a + a {
    border-top: 1px solid #fff;
}
.sidebuttons a .flag {
    overflow: hidden;
    left: 0;
    width: 0;
    font-size: 12px;
    height: 63px;
    background: var(--primary-color);
    position: absolute;
    text-align: left;
    line-height: 14px;
    top: 0;
    padding: 10px 0;
    white-space: nowrap;
    transition: all .5s;
}
.sidebuttons a:hover .flag {
    left: -273px;
    width: 270px;
    padding: 10px 10px;
}
.sidebuttons a .flag p {
    line-height: 15px;
    font-size: 13px;
    font-weight: 400;
    margin-bottom: 0;
    color: #fff;
}
.sidebuttons a table {
    width: 250px;
    border-collapse: collapse;
}
.sidebuttons a td{
    padding: 0;
    white-space: nowrap;
    font-size: 13px;
    line-height: 15px;
}
.carousel.citysearch {
    background: #fff;
}
.carousel.citysearch .carousel-item {
    background: #fff;
}
.carousel.citysearch .carousel-item .fblockbtn, .fakecitysearch .fblockbtn {
    background: #F7F6F6;
    padding: 12px 20px;
    font-size: 18px;
    color: #000;
    font-weight: normal;
    position: relative;
    display: block;
    border: 1px solid rgba(236,236,236,1);
    margin-bottom: 10px;
    text-decoration: none;
    transition: all .3s;
}
.carousel.citysearch .carousel-item .fblockbtn:hover, 
.carousel.citysearch .carousel-item .fblockbtn:focus, 
.carousel.citysearch .carousel-item .fblockbtn:active,
.fakecitysearch .fblockbtn:hover, 
.fakecitysearch .fblockbtn:focus, 
.fakecitysearch .fblockbtn:active {
    background: #dbdbdb;
}
.carousel.citysearch .carousel-nav .nav-item {
    border-color: #606060;
    width: 14px;
    height: 14px;
}
.carousel.citysearch .carousel-locator:nth-of-type(1):checked~.carousel-nav .nav-item:nth-of-type(1), 
.carousel.citysearch .carousel-locator:nth-of-type(2):checked~.carousel-nav .nav-item:nth-of-type(2), 
.carousel.citysearch .carousel-locator:nth-of-type(3):checked~.carousel-nav .nav-item:nth-of-type(3), 
.carousel.citysearch .carousel-locator:nth-of-type(4):checked~.carousel-nav .nav-item:nth-of-type(4), 
.carousel.citysearch .carousel-locator:nth-of-type(5):checked~.carousel-nav .nav-item:nth-of-type(5), 
.carousel.citysearch .carousel-locator:nth-of-type(6):checked~.carousel-nav .nav-item:nth-of-type(6), 
.carousel.citysearch .carousel-locator:nth-of-type(7):checked~.carousel-nav .nav-item:nth-of-type(7), 
.carousel.citysearch .carousel-locator:nth-of-type(8):checked~.carousel-nav .nav-item:nth-of-type(8) {
    background: #E8E8E8;
}
.carousel.citysearch .carousel-container .item-next, .carousel.citysearch .carousel-container .item-prev {
    font-size: 14px;
    color: var(--primary-color);
    font-weight: normal;
    position: absolute;
    bottom: 0;
    top: initial;
    transform: none;
    padding-bottom: 3px;
    background: none;
    width: auto;
}
.carousel.srezension {
    height: 91px;
    border: 1px solid rgba(0, 0, 0, 0.17);
    padding: 10px;
    border-radius: 10px;
    width: 320px;
    max-width: 100%;
    display: inline-block;
    vertical-align: top;
    background: #fff;
}
.carousel.srezension .item-next, .carousel.srezension .item-prev {
    opacity: 0 !important;
}
.carousel.srezension .carousel-item {
    background: #fff;
}
.carousel.srezension .tile-subtitle {
    white-space: initial;
    text-overflow: initial;
    font-size: 12px;
    line-height: 14px;
}
.carousel.srezension .tile-subtitle img {
    height: 13px;
    vertical-align: top;
}
.carousel.crezension {
    height: 325px;
}
.carousel.crezension .rezension {
    height: 260px;
}
.carousel.crezension .carousel-nav {
    display: none;
}
.carousel.crezension .carousel-item {
    background: #FAFAFA;
    padding: 30px;
}
.carousel .carousel-container .item-next, .carousel .carousel-container .item-prev {
    color: #0F3C55;
    opacity: 1;
    font-size: 35px;
    padding-left: 0;
    padding-right: 0;
    text-align: center;
}
.carousel .carousel-container .item-prev {
    left: 0;
}
.carousel .carousel-container .item-next {
    right: 0;
}
.carousel .carousel-nav .nav-item {
    width: 18px;
    height: 18px;
    border-radius: 50%;
    border: 1px solid var(--primary-color);
    background: transparent;
}
.carousel .carousel-nav {
    width: auto;
    bottom: 0;
}
.carousel .carousel-nav .nav-item::before {
    display: none;
}
.carousel .carousel-locator:nth-of-type(1):checked~.carousel-nav .nav-item:nth-of-type(1), 
.carousel .carousel-locator:nth-of-type(2):checked~.carousel-nav .nav-item:nth-of-type(2), 
.carousel .carousel-locator:nth-of-type(3):checked~.carousel-nav .nav-item:nth-of-type(3), 
.carousel .carousel-locator:nth-of-type(4):checked~.carousel-nav .nav-item:nth-of-type(4), 
.carousel .carousel-locator:nth-of-type(5):checked~.carousel-nav .nav-item:nth-of-type(5), 
.carousel .carousel-locator:nth-of-type(6):checked~.carousel-nav .nav-item:nth-of-type(6), 
.carousel .carousel-locator:nth-of-type(7):checked~.carousel-nav .nav-item:nth-of-type(7), 
.carousel .carousel-locator:nth-of-type(8):checked~.carousel-nav .nav-item:nth-of-type(8) {
    background: var(--primary-color);
}
.pt-35 {
    padding-top: 31px;
}
.pt-18 {
    padding-top: 18px;
}
.pb-35 {
    padding-bottom: 35px;
}
.carousel.cblog {
    height: 660px;
}
.carousel.cblog .rezension {
    height: 600px;
}
.carousel.cblog .carousel-item {
    background: #fff;
    padding: 30px;
}
.inline-block {
    display: inline-block;
}
ul.checklist {
    display: flex;
    margin: 0;
    padding: 0;
    list-style: none;
    flex-wrap: wrap;
}
ul.checklist li {
    flex: 0 0 50%;
    margin-top: 0;
    margin-bottom: 2px;
}
ul.mapplacelist {
    display: flex;
    margin: 0;
    padding: 0;
    list-style: none;
    flex-wrap: wrap;
}
ul.mapplacelist li {
    flex: 0 0 25%;
    margin-top: 0;
    margin-bottom: 2px;
}
ul.mapplacelist li a {
    display: block;
    white-space: nowrap;
    color: var(--text-color);
    font-weight: 300;
    overflow: hidden;
    text-overflow: ellipsis;
}
ul.mapplacelist li a:hover {
    text-decoration: underline !important;
}
img.img-margin-auto {
    margin: auto;
}

section.content.alt .accordion .accordion-body {
    background: #fff;
}
.article-body .article-header {
    padding-top: 150px;
    padding-bottom: 150px;
    background-position: center center;
    background-size: cover;
    position: relative;
}
.article-body .article-header:before {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(255,255,255,.8);
    content: "";
}
.article-body .article-header h1, .article-body .article-header p {
    position: relative;
}
.article-body .col-8 .menu {
    margin-bottom: 20px;
    display: none;
}
.article-body .col-4 .menu {
    margin-top: 20px;
}
.intext-image.right {
    float: right;
    margin-right: 0;
}
.intext-image.left {
    float: left;
    margin-left: 0;
}
.intext-image {
    margin: 25px;
    box-shadow: 0 0 3px 0 rgba(0,0,0,.5);
    max-width: 450px;
    margin-top: 20px;
    margin-bottom: 20px;
    position: relative;
}
.intext-image .text-muted {
    position: absolute;
    color: #fff;
    right: 4px;
    bottom: 3px;
    display: block;
    max-width: calc(100% - 8px);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.shariff {
    display: none;
}


a.blockbtn {
    position: relative;
    display: block;
    color: var(--primary-color);
    font-size: 19px;
    font-weight: 300;
    padding: 20px 15px;
    padding-right: 40px;
    border: 1px solid rgba(236,236,236,1);
    margin-bottom: 10px;
    text-decoration: none;
    transition: all .3s;
}
a.blockbtn:hover, a.blockbtn:focus {
    background: var(--primary-color);
    text-decoration: none;
    color: #fff;
}
a.blockbtn span {
    display: block;
    width: 100%;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
a.blockbtn i {
    position: absolute;
    right: 15px;
    top: 19px;
    font-size: 24px;
}
a.blockbtn .hiddendetails {
    display: none;
}
.map {
    position: relative;
}
.map #placedescription {
    position: absolute;
    top: 20px;
    left: 20px;
    font-weight: 300;
    background: #fff;
    padding: 20px;
    z-index: 1;
    font-size: 14px;
    line-height: 1.7;
}
.map #placedescription a {
    color: #2D55C0;
}
.map #placedescription b:first-child {
    display: block;
    white-space: nowrap;
    max-width: 270px;
    overflow: hidden;
    text-overflow: ellipsis;
}
.mob-toggle {
    display: none;
    position: absolute;
    top: 2px;
    right: 12px;
    color: #636363 !important;
    font-size: 30px;
    text-align: center;
}
.mob-toggle span {
    display: block;
    font-size: 14px;
    margin-top: -10px;
}
.btn + .btn {
    margin-left: var(--gutter-size);
}
.mc-calendar--inline, .mc-calendar--modal {
    height: 325px !important;
    position: static !important;
    margin-left: auto !important;
    margin-right: auto !important;
    visibility: visible !important;
}
.mc-calendar--inline .mc-picker__footer {
    display: none !important;
}
.mc-calendar--modal.mc-calendar--opened {
    top: 50vh !important;
    left: 50vw !important;
    position: fixed !important;
}
.mc-calendar--modal .mc-display {
    display: none !important;
}
#datepickcontainer #datepicker {
    display: none !important;
}
.mc-calendar--modal #mc-btn__ok, 
.mc-calendar--modal .mc-footer__section--primary {
    display: none !important;
} 
div.mc-calendar {
    display: none;
}
.phonebtn {
    text-align: right;
    color: #000 !important;
    font-size: 16px;
    font-weight: bold;
}
.phonebtn .text-sm {
    font-size: 12px;
    font-weight: normal;
}
.phonebtn:hover, .phonebtn:active, .phonebtn:focus {
    color: var(--primary-color) !important;
}
.phonebtn > .icon {
    position: relative;
    top: 10px;
    margin-right: 10px;
}
.phonebtn > .icon.icon-24 svg {
    height: 24px;
}
.phonebtn > .icon.icon-24 svg path {
    fill: #264153 !important;
    transition: all .4s;
}
.phonebtn:hover > .icon.icon-24 svg path {
    fill: var(--primary-color) !important;
}
.z-icon {
    vertical-align: middle;
    margin-right: 10px;
}
.z-icon.z-icon-s {
    height: 22px;
}
.z-icon.z-icon-xs {
    width: 16px;
}
.whenoffer {
    display: block;
    color: var(--primary-color);
    margin-top: 5px;
    text-align: center;
}
.whenoffer.whenoffer2 {
    color: var(--primary-alt-color);
    margin-bottom: 10px;
    font-size: 14px;
    margin-top: 0;
}
.ctabanner {
    background: linear-gradient(90deg, #F7F6F6 50%, #EBEBEB 50%) !important;
    padding-top: 20px !important;
    padding-bottom: 20px !important;
    margin-top: 30px !important;
    margin-bottom: 30px !important;
}
.ctabanner p.text-xl {
    font-size: 25px !important;
    font-weight: bold;
    margin-bottom: 10px;
    line-height: 33px !important;
}
.ctabanner p {
    margin-bottom: 0;
}
ul:not(.ctabannerlist) li, ol:not(.ctabannerlist) li {
    font-size: 18px;
}
.accordion ul {
    padding-left: 20px;
    padding-right: 20px;
    margin-left: 0;
    margin-right: 0;
}
.accordion p + p {
    padding-top: 0;
    margin-top: -20px;
}
p:empty {
    display: none;
}
.ctabannerlist {
    list-style: none;
    margin: 0;
    padding: 0;
    font-size: 18px;
}
.ctabannerlist li .fa {
    font-size: 22px;
    margin-right: 5px;
}
.ctabannerlist li .icon svg path {
    fill: var(--primary-color) !important;
}
.box.box-mint .ctabannerlist li .icon svg path {
    fill: #fff !important;
}
.mobbottombanner {
    position: fixed;
    display: none;
    bottom: 0;
    left: 0;
    width: 100%;
    background: var(--primary-color);
    padding: 5px 10px;
    z-index: 2;
}
.mobbottombanner .form-group {
    margin-bottom: 0;
}
.mobbottombanner .whenoffer {
    color: #fff;
    font-size: 12px;
}
.mobbottombanner .btn:not(.btn-success3) {
    background: #fff !important;
    color: var(--primary-color) !important;
    border-color: var(--primary-color);
    border-radius: 4px;
    padding: 13px 10px;
}
.mobbottombanner .btn.btn-success3 {
    padding: 10px;
    padding-bottom: 9px;
    border-radius: 4px;
}
.mobbottombanner .columns > .column:first-child {
    padding-right: 5px;
}
.mobbottombanner .columns > .column:last-child {
    padding-left: 5px;
}
.mobbottombanner .btn.btn-success3 svg path {
    fill: #fff !important;
}
.mobbottombanner .btn:not(.btn-success3):hover, .mobbottombanner .btn:not(.btn-success3):active, .mobbottombanner .btn:not(.btn-success3):focus {
    color: #fff !important;
    background: var(--primary-color);
    border-color: #fff;
}
#callbackform {
    display: none;
}
.checkoutonly {
    display: none !important;
}
body.kasse .nocheckout, body.danke .nocheckout {
    display: none !important;
}
body.kasse .cookienotice {
    display: none !important;
}
body.kasse .checkoutonly, body.danke .checkoutonly {
    display: block !important;
}
body.kasse .checkoutonly.inline-block, body.danke .checkoutonly.inline-block {
    display: inline-block !important;
}

.nowrap {
    white-space: nowrap;
}
.togglemobiledropdown {
    display: none;
}
.moblpadd { padding-left: 0 !important; }

.form-checkbox .form-icon, .form-radio .form-icon {
    height: 14px;
    width: 14px;
    top: 3px;
    border: 1px solid #000;
}
#datepickerel {
    display: none;
    position: fixed !important;
    top: 50%;
    left: 50%;
    z-index: 1000;
    transform: translate(-50%, -50%);
    height: initial !important;
    box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.5);
}
.vanilla-calendar-day__btn,
.vanilla-calendar-week__day {
    font-size: 16px !important;
    line-height: 24px !important;
}
.vanilla-calendar-column {
    width: 270px;
}
.vanilla-calendar-arrow:before {
    background-repeat: no-repeat;
    background-position: center center;
}
#datepickerel.mc-calendar--inline {
    position: relative !important;
    transform: none;
    box-shadow: none;
    top: initial;
    left: initial;
}
ul.chooserlist {
    position: absolute;
    left: 0;
    width: 100%;
    background: #fff;
    border: 1px solid #606060;
    z-index: 5;
    border-radius: 5px;
    margin: 0;
    padding: 0;
    top: 47px;
    list-style: none;
    display: none;
}
ul.chooserlist li {
    margin: 0;
    padding: 0;
}
ul.chooserlist li a {
    display: block;
    padding: 5px;
    color: #000;
    text-decoration: none !important;
}
ul.chooserlist li a:hover {
    background: #eee;
}
.near-service-row,
.near-city-row {
    margin-bottom: 15px;
}

.near-service-wrapper {
    padding: 15px;
    border: none;
    border-radius: 5px;
    background: none;
    box-shadow: 0 2px 4px 0 rgba(0, 0, 0, .5);
}

.near-service-wrapper .column + .column {
    margin-top: 0;
}

.near-service-row a {
    font-size: 18px;
}

.near-service-row i {
    font-size: 24px;
}

section.near-service-city a {
    margin-bottom: 10px;
    display: block;
}

section.near-service-city .accordion-item + .accordion-item {
    margin-top: 10px;
}

section.near-service-city .accordion-item {
    border: 1px solid #808080FF;
    border-top-left-radius: 10px;
    border-top-right-radius: 10px;
    background: #F7F6F6;
}

section.near-service-city .accordion-header {
    border: none;
}

section.near-service-city .accordion-body {
    padding: 0;
}

section.near-service-city .accordion-body ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

section.near-service-city .accordion-body li {
    padding: 0;
    margin: 0;
    border-bottom: 1px solid #808080FF;
}

section.near-service-city .accordion-body li:last-child {
    border-bottom: none;
}

section.near-service-city .accordion-body a {
    padding: 15px 18px;
    color: #000;
    text-decoration: none;
    margin-bottom: 0;
}

.near-city-row {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}
.near-city-row .near-city-column {
    flex-basis: 19%;
}

.near-city-row .near-city-column .near-service-wrapper {
    height: 97%;
}

a.more-cities {
    text-decoration: underline;
}

.form-page-container-n label:not(.form-keep) {
    font-size: 12px;
    background: #fff;
    bottom: -11px;
    margin-left: 13px;
    display: inline-block;
    position: relative;
    z-index: 1;
    width: auto;
    padding-left: 2px;
    padding-right: 2px;
}
.form-page-container-n .form-group:not(.fff) {
    margin-bottom: 10px; 
}
.form-page-container-n .fake-input {
    padding: 4px 12px;
    border: 1px solid #F0F0F0;
    border-radius: 5px;
    display: inline-block;
    margin-top: 22px;
    border-width: 2px;
}
.form-page-container-n .form-input {
    border-color: #F0F0F0 !important;
    border-width: 2px;
}
.form-page-container-n a.fake-input {
    color: #232323;
}
.form-page-container-n #descriptionfield {
    display: none;
}
.form-page-container-n #descriptionfield.open {
    display: block;
}
.form-page-container-n .result {
    background: #F7F6F6;
    padding: 30px;
    border-radius: 8px;
    margin-bottom: 15px;
}
.form-page-container-n .result *:last-child {
    margin-bottom: 0;
}
.form-page-container-n .result .result-list {
    list-style: none;
    margin: 0;
    margin-bottom: 20px;
}
.form-page-container-n .result .result-list li {
    font-size: 16px;
    padding-left: 30px;
    position: relative;
}
.form-page-container-n .result .result-list li + li:before {
    position: absolute;
    left: 10px;
    top: -7px;
    content: "";
    display: block;
    width: 1px;
    height: 10px;
    border-left: 1px dotted var(--primary-color);
}
.form-page-container-n .result .result-list li i {
    color: var(--primary-color);
    margin-left: -30px;
    float: left;
    margin-top: 4px;
    width: 20px;
    display: inline-block;
    text-align: center;
}

.wappen {
    position: absolute;
    bottom: 107px;
    right: 100px;
    width: 100px;
    height: 140px;
    font-size: 12px;
    clip-path: polygon(0 0, 100% 0, 100% 75%, 50% 100%, 0% 75%);
    border: 1px solid #fff;
    color: #fff;
    background: var(--primary-color);
}
.wappen::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: white;
    clip-path: polygon(50% 100%, 100% 75%, 100% 100%, 50% 100%);
}

.wappen .whead {
    border-bottom: 1px solid #fff;
}
.wappen .whead:after {
    content: "";
    display: table;
    clear: both;
}
.wappen .whead .sign {
    display: block;
    line-height: 21px;
    width: 33.3333%;
    float: left;
    padding-top: 1px;
    font-size: 15px;
    text-align: center;
    font-weight: bold;
}
.wappen .whead .sign + .sign {
    margin-left: -1px;
    border-left: 1px solid #fff;
}
.wappen .wshead {
    border-bottom: 1px solid #fff;
    text-align: center;
    line-height: 15px;
    font-weight: 600;
    font-size: 9px;
    padding-left: 7px;
    letter-spacing: 6px;
    background: var(--primary-alt-color);
}
.wappen .wcorp {
    display: flex;
    height: calc(100% - 38px);
}
.wappen .left {
    flex-basis: 50%;
    padding-top: 10px;
    color: var(--primary-alt-color);
    text-align: center;
    background: #fff;
    text-shadow: 0px 2px 2px rgba(0,0,0,.3);
}
.wappen .left svg {
    width: 50px;
    height: auto;
    filter: drop-shadow(0px 2px 2px rgb(0 0 0 / 0.4));
}
.wappen .right {
    flex-basis: 50%;
    padding-top: 1.25em;
    font-size: 1em;
    line-height: 14px;
    font-weight: normal;
    text-align: center;
    white-space: nowrap;
    overflow: hidden;
}
.mobile-phone-btn {
    display: none;
}
.card {
    box-shadow: 0 .05rem .2rem rgba(48,55,66,.3);
    border: none;
}
.card .card-body .menu {
    margin-top: 0;
    margin-bottom: 0;
    box-shadow: none;
    border: none;
    display: block !important;
    padding: 0;
}
.card .card-body .menu li {
    padding: 0;
}
.card .card-body .menu li a {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    font-size: 16px;
    color: var(--primary-alt-color);
}
.article-body .article-header:before {
    background: rgba(255,255,255,.8);
}
.article-body .article-header .container2 {
    z-index: 1;
    position: relative;
}
.article-body .article-header nav *,
.article-body .article-header p {
    color: #000 !important;
    font-size: 16px;
}
.article-body .article-header .btn.btn-lg {
    margin-top: 30px;
}
.article-body .article-header .changedate {
    font-size: 12px;
    text-align: right;
    margin-top: 20px;
}
.article-body .article-header .headerline {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    background: var(--menu-bg-color);    
}
.article-body .article-header .headerline p {
    color: #000 !important;
}
@media screen and (min-width: 841px) {

    .module:hover {
        position: relative;
    }
    .module:hover:after {
        position: absolute;
        z-index: 1;
        top: 0;
        display: block;
        content: "";
        left: 0;
        width: 100%;
        height: 100%;
        border: 1px solid #4377B7;
        background: rgba(67, 119, 183, .5);
    }
    .module-editor {
        position: fixed;
        right: 0;
        top: 0;
        height: 100%;
        width: 400px;
        background: rgba( 255, 255, 255, .8 );
        padding: 20px;
        z-index: 5;
        overflow-y: auto;
    }
    .module-editor .modeditor-inner .btn.btn-sm {
        font-size: 12px !important;
        height: auto !important;
        padding: 5px 10px !important;
    }
    .module-editor .modeditor-inner .btn-group .btn:first-child {
        border-bottom-left-radius: 0 !important;
    }
    .module-editor .modeditor-inner .btn-group .btn:last-child {
        border-bottom-right-radius: 0 !important;
    }
    .module-editor .modeditor-inner .btn-group + .form-input {
        border-top-left-radius: 0 !important;
    }

    .mobileonly { display: none !important; }
    .ekomi14 .f14, .ekomi14 .f12 {
        font-size: 14px !important;
    }
    .comparison-slider {
        height: 100%;
    }
    .comparison-slider .comparison-after {
        min-width: 20%;
    }
    .mainheader.hascustomimg {
        background-position: center center;
        background-repeat: no-repeat;
        background-size: cover;
        position: relative;
    }
    .mainheader.hascustomimg.withcityimg {
        background-position: 75% center;
        background-size: contain;
    }
    .mainheader.hascustomimg:after {
        content: "";
        display: block;
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background: linear-gradient(90deg, rgba(255,255,255,1) 40%, rgba(255,255,255,1) 40%, rgba(255,255,255,0) 60%, rgba(255,255,255,0) 100%) !important;
    }
    .mainheader.hascustomimg > .container2 {
        position: relative;
        z-index: 1;
    }
    .z-icon.z-icon-s {
        float: left; 
        margin-top: 4px;
    }
    .form-page-container-n .desktop-mt-17 {
        margin-top: -23px;
    }
    #offerform .form-page-container-n .bar {
        margin-bottom: 30px;
    }

    .menuheader a.logo {
        margin-right: 15px !important;
    }
    .mainheader .anfrageformular .openofferform { width: 430px; font-size: 18px; }
    body.kasse .menuheader .innerheader, body.danke .menuheader .innerheader { margin-top: 0;  }
}
.toggledescription .fa-plus {
    color: var(--primary-color);
}
#callerflyout {
    position: fixed;
    right: 0;
    max-width: 0;
    overflow: hidden;
    bottom: 200px;
    background: #fff;
    border-radius: 10px;
    box-shadow: 0 2px 4px 0 rgba(0,0,0,.5);
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
    z-index: 2;
    transition: all .4s;
}
body.scrolled #callerflyout {
    max-width: 330px;
}
#callerflyout .callerflyout-inner {
    padding: 20px;
    width: 330px;
}
#callerflyout .callerflyout-inner a {
    text-shadow: 0 0 1px rgba(0,0,0,.5);
}
#callerflyout .callerflyout-inner a .fa {
    font-size: 18px;
    vertical-align: middle;
    text-shadow: 0 0 4px rgba(0,0,0,.5);
}
#callerflyout .callerflyout-inner a .fa.online {
    color: #60d936;
}
#callerflyout .callerflyout-inner a .fa.offline {
    color: #c45240;
}
#callerflyout .callerflyout-inner img {
    width: 290px;
    height: 150px;
    object-fit: cover;
    object-position: top center;
}
#callerflyout .callerflyout-inner p:last-child {
    margin-bottom: 0;
}
.avatar.avatar-xl {
    height: 4.2rem;
    width: 4.2rem;
}
.awl-chat {
    border-radius: 10px;
    border: 1px solid #F7F6F6;
    position: relative;
    padding-bottom: 70px;
    margin-top: 20px;
    min-height: 400px;
}
.awl-chat > .form-group {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    margin-bottom: 0;
}
.awl-chat-nomessages {
    background: rgba(0,0,0,0.2);
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: calc(100% - 70px);
    text-align: center;
    padding-top: 80px;
}
.awl-chat .awl-chat-message {
    margin-left: 10%;
    margin-right: 10%;
    border: 1px solid #ccc;
    padding: 10px;
    border-radius: 10px;
    margin-top: 20px;
}
.awl-chat .awl-chat-message.awl-chat-message-alt {
    background: #efefef;
}
.awl-chat .awl-chat-message .awl-chat-message-footer {
    font-size: 14px;
    color: #666;
}
.restrictchat .awl-chat-messages {
    max-height: 400px;
    overflow-y: auto;
}
.flexd > * {
    display: block;
    text-align: center;
    flex-grow: 1;
    flex-basis: 0;
}
ul.quicksearch {
    position: absolute;
    background: #fff;
    width: 100%;
    left: 0;
    margin: 0;
    padding: 10px;
    border-radius: 10px;
    z-index: 2;
    list-style: none;
    top: calc(100% + 4px);
    border: 1px solid #eee;
    display: none;
}
ul.quicksearch li {
    margin: 0;
    padding: 0;
}
ul.quicksearch li a {
    border-bottom: 1px solid #eee;
    padding-top: 2px;
    padding-bottom: 2px;
}
ul.quicksearch li:last-child a {
    border-bottom: none;
}

.ckeditor_contents p:empty, .ckeditor_contents div:empty, .ckeditor_contents h2:empty, .ckeditor_contents h3:empty {
    display: none;
}
.ckeditor_contents figure.image {
    margin: 0;
}
.ckeditor_contents figure.image img {
    width: 100%;
    height: auto;
}
.ckeditor_contents blockquote {
    font-style: italic;
}
.ckeditor_contents ul, .ckeditor_contents ol {
    list-style: disc;
}
.ckeditor_contents li {
    margin-left: 10px;
}
.ckeditor_contents p, .ckeditor_contents li {
    font-size: 16px !important;
}
.shadow-container {
    border: 1px solid rgba(25, 43, 71, 0.27);
    box-shadow: 2px 4px 20px rgba(0, 0, 0, 0.1);
    border-radius: 5px;
    padding: 20px;
}
.fc-layout h1 {
    font-size: 53px;
    font-weight: 700 !important;
    color: rgb(25, 43, 71) !important;
}
.fc-layout .teasertext {
    color: rgb(25, 43, 71);
    font-size: 18px;
}
.fc-layout h2.text-fclayout {
    font-size: 38px !important;
    color: rgb(25, 43, 71) !important;
    font-weight: 700 !important;
}
.fc-layout .box2 {
    box-shadow: none;
    border: 1px solid #ffa300;
    border-radius: 5px;
    height: 100%;
    padding-top: 40px;
    padding-bottom: 30px;
}
.fc-layout .box2 i.fa {
    font-size: 50px;
}
.fc-layout .box2 h3 {
    font-weight: 700 !important;
    font-size: 17px !important;
    color: rgb(25, 43, 71) !important;
    line-height: 22px !important;
    margin-bottom: 15px !important;
    margin-top: 9px !important;
}
.fc-layout .box2 p {
    color: rgb(25, 43, 71);
    font-size: 14px !important;
}
.fc-layout .tile .tile-title {
    font-size: 19px;
    font-weight: 600;
    color: rgb(25, 43, 71);
    margin-bottom: 6px;
}
.fc-layout .tile .tile-subtitle {
    font-size: 16px;
    font-weight: 500;
    opacity: .6;
    color: rgb(25, 43, 71);
    margin-bottom: 10px;
}
.fc-layout .tile.tile-list .tile-icon i {
    text-align: center;
    width: 40px;
    margin-top: 5px;
    font-size: 40px !important;
}
.fc-layout .carousel .carousel-nav .nav-item {
    width: 12px;
    height: 12px;
    background: #fff !important;
    opacity: .5;
    border: none !important;
}
.custom-list-item.list-without, .custom-list-item.list-with-icon {
    list-style: none !important;
}
.gjs-pn-btn.draft-button {
    color: white !important;
    font-size: 12px !important;
    font-weight: bold !important;
    padding: 0 20px !important;
    border-radius: 5px !important;
    text-align: center !important;
    margin: 0 auto !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}
.gjs-pn-btn.draft-button.draft-button-error {
    background: red !important;
}
.gjs-pn-btn.draft-button.draft-button-success {
    background: green !important;
}
.gjs-dashed .htmlcode {
    background: #eee;
    padding: 20px;
    position: relative;
}
.fc-layout .carousel .carousel-locator:nth-of-type(1):checked~.carousel-nav .nav-item:nth-of-type(1), 
.fc-layout .carousel .carousel-locator:nth-of-type(2):checked~.carousel-nav .nav-item:nth-of-type(2), 
.fc-layout .carousel .carousel-locator:nth-of-type(3):checked~.carousel-nav .nav-item:nth-of-type(3), 
.fc-layout .carousel .carousel-locator:nth-of-type(4):checked~.carousel-nav .nav-item:nth-of-type(4), 
.fc-layout .carousel .carousel-locator:nth-of-type(5):checked~.carousel-nav .nav-item:nth-of-type(5), 
.fc-layout .carousel .carousel-locator:nth-of-type(6):checked~.carousel-nav .nav-item:nth-of-type(6), 
.fc-layout .carousel .carousel-locator:nth-of-type(7):checked~.carousel-nav .nav-item:nth-of-type(7), 
.fc-layout .carousel .carousel-locator:nth-of-type(8):checked~.carousel-nav .nav-item:nth-of-type(8) {
    opacity: 1;
}
.toast.toast-custom {
    position: fixed;
    z-index: 10000;
    top: 10px;
    right: 10px;
    display: inline-block;
    width: auto;
    font-size: 15px;
    border-radius: 0;
    background: #32b643;
    border-color: #32b643;
}
@media screen and (min-width: 841px) {
    .menuheader .innerheader .btn + .btn {
        margin-left: calc(3 * var(--gutter-size));
    }
    .flexd {
        display: flex;
        justify-content: center;
    }
}
@media screen and (max-width: 840px) {
    .fc-layout h2.text-fclayout { font-size: 18px !important; }
    .fc-layout h1 { font-size: 30px !important; }
    .mainheader.portal .input-group { max-width: 93%; }
    .mainheader.portal .container2 { background-image: none !important; }
    .screenshot { max-height: initial; position: relative; height: initial; }
    .screenshot > img { max-height: initial; height: initial; object-fit: contain; width: 100%; }
    .mob-reverse { flex-direction: column-reverse; }
    .mob-reverse .column + .column { margin-bottom: 20px; }
    body.partnerpage .menuheader .innerheader { margin-top: 0; }
    .mainheader h1.text-alt-size { font-size: 28px; }
    #callerflyout { display: none !important; }
    body.scrolled .mobile-phone-btn { display: block; }
    .mobile-phone-btn { position: fixed; right: 0; bottom: 330px; background: #4377B7; border-top-left-radius: 40px; padding: 10px; border-bottom-left-radius: 40px; padding-left: 50px; z-index: 1; box-shadow: 0 0 8px 2px rgba(0,0,0,0.5); } 
    .mobile-phone-btn:after { content: ""; display: block; position: absolute; top: 0; width: 1px; height: 100%; left: 40px; background: #fff; }
    .mobile-phone-btn .mobile-phone-btn-text-lg { font-size: 16px; display: block; text-align: left; color: #fff; font-weight: bold; }
    .mobile-phone-btn .mobile-phone-btn-text { font-size: 14px; display: block; text-align: left; color: #fff; }
    .mobile-phone-btn > i { position: absolute; top: 50%; left: 10px; color: #fff; margin-top: -10px; }
    .mobile-phone-btn > i svg path { fill: #fff !important; }
    .form-fileinput-droparea { padding: 10px; }
    #offerform.testcase .formheader.offertip + h2, #offerform.testcase .formheader.offertip + h2 + .bar { margin-left: 0;  }
    #offerform.testcase .form-header-banner { margin-left: -22px; margin-right: -22px; margin-top: -12px; margin-bottom: 0; text-align: left; padding-right: 40px; }
    #offerform.testcase .buttoncontainer .btn.btn-success { width: 100%; }
    #offerform.testcase .offer-get-date { text-align: center; }
    #offerform.testcase .modal-header { margin-bottom: 0; }
    #offerform.testcase .buttoncontainer .btn.btn-success2 { float: none; width: 100%; }
    #offerform.testcase .modal-header .btn.btn-clear { position: absolute; top: 19px; right: 18px; color: #fff; font-weight: bold; font-size: 20px; }
    #offerform.testcase .btn.btn-success2.des { display: none !important; }
    #offerform.testcase .btn.btn-success2.mob { display: inline-block !important; margin-top: 15px; }
    .modal.modal-opac .modal-container { position: relative; }
    .wappen { display: none !important; }
    .mainheader .extra-header-image, .menuheader .logoadd { display: none !important; }
    .menuheader .pt-18 { margin-top: 0 !important; margin-bottom: 15px !important; }
    #offerform .formheader { float: none; text-align: center; margin-bottom: 15px; }
    .form-page-container-n .result { padding: 15px; max-height: 48px; overflow: hidden; transition: all .3s; }
    .form-page-container-n .result.open { max-height: 500px; }
    .form-page-container-n .result .toggleresults { color: #000; }
    .form-page-container-n .result .toggleresults i { float: right; }
    .form-page-container-n .result.open .toggleresults i:before { content: "\f106"; }
    .form-page-container-n .btn-lg { margin-bottom: 10px; }
    .form-page-container-n .result .result-list { grid-template-columns: repeat(2, 1fr); display: grid; }
    .form-page-container-n .result .result-list li { font-size: 12px; padding-left: 20px; }
    .form-page-container-n .result .result-list li span { display: inline-block; max-width: 130px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
    .form-page-container-n .result .result-list li i { margin-left: -20px; width: 15px; }
    .form-page-container-n .result .result-list li:before { display: none !important; }
    .mainheader .btn.btn-lg { padding: 16px; }
    .subheader-s { display: none !important; }
    .img-provider { width: 100px !important; height: 30px; margin-bottom: 10px; margin-right: auto; margin-left: auto; }
    .mainheader .col-md-12.relative:before, .mainheader .col-md-12.relative:after { display: none !important; }
    .comparison-slider { height: 300px; }
    .box-contact .form-checkbox .form-icon, .box-contact .form-radio .form-icon { top: 1px; }
    .form-input.f12 { padding: 8px 12px; }
    .modal-container { max-height: 90vh; }
    .mobiledropdown { position: relative; }
    #offerform .modal-header { margin-bottom: 0; }
    .mobiledropdown input[type="checkbox"]:checked + i + span { color: #E48720; font-weight: bold; }
    .togglemobiledropdown { display: block; color: #3b4351 !important;height: auto; padding: 14px 12px; font-size: 14px; border-radius: 5px; border: 1px solid #606060 !important; font-size: 14px; }
    #offerform { font-size: 18px; }
    .mob100 { width: 100% !important; }
    .double-column, .triple-column{ display: block; }
    .mobile-inline-block { display: inline-block !important; }
    #offerform .form-checkbox, #offerform .form-radio { font-size: 14px; }
    dd.border-bottom.mobilefull { padding-top:0; }
    .mobilefull { width: 100%; }
    body.kasse .mobbottombanner { display: none !important; }
    body.kasse .menuheader .col-8 { padding-right: 0 !important; }
    .form-radio.input-with-border{ font-size:14px;  }
    #offerform { font-size: 18px; }
    .mobileonly { display: block !important; }
    .rezensioncolumns { margin-bottom: 15px; }
    .tile.tile-list .tile-title { margin-top:0; }
    .scrolled .mobbottombanner { display: block; }
    .near-service-row a { font-size: 14px;  }
    .footer { font-size: 14px; }
    .endfooter { font-size: 12px; margin-bottom: 78px; }
    .mainheader, .mainheader p { line-height: 25px; }
    .mainheader{ background-image: none !important; }
    ul:not(.ctabannerlist) li, ol:not(.ctabannerlist) li { font-size:14px; }
    .ctabannerlist li, .mainheader .anfrageformular ul li { padding-left: 25px !important; }
    .ctabannerlist li:not(.altli) .icon { float: left !important; margin-top: -2px !important; margin-left: -25px !important; }
    .ctabannerlist li .icon svg path { fill: #000 !important; }
    .ctabannerlist li:not(.altli) i, .mainheader .anfrageformular ul li:not(.altli) i { float: left !important; margin-top: 3px !important; margin-left: -25px !important; }
    .carousel.citysearch .carousel-item .fblockbtn, .fakecitysearch .fblockbtn { font-size: 14px; }
    .accordion label { font-size: 14px; }
    section.content.white h3{ font-size: 18px; line-height: 25px; }
    .box2 .circle { width: 40px; height: 40px; line-height: 40px; margin-top: 7px; }
    .form-input.form-input-2 { font-size: 14px; }
    .box2 { padding: 10px 20px; }
    .box2 p:last-child{ margin-bottom: 0 !important; }
    .rezension .fa { font-size: 15px; }
    .btn { padding: 11px 20px; font-weight: bold; }
    .ekomicontainer2 { margin-left: 0 !important; }
    .f14 { font-size: 14px !important; }
    .f15 { font-size: 15px !important; }
    .f16 { font-size: 16px !important; }
    .f18 { font-size: 18px !important; }
    .f12 { font-size: 12px !important; }
    .f20 { font-size: 20px !important; line-height:28px !important; }
    .f26 { font-size: 26px !important; }
    .f22 { font-size: 22px !important; }
    .f30 { font-size: 30px !important; line-height: 36px !important; }
    .toast { font-size: 16px; }
    .btn.mobopenbtn { border-color: #444 !important; color: #444 !important; background: none !important; border-radius:0; }
    .mobopenbtn + * { display: none; }
    .footer ul.footerplacelist { display: none; }
    .mobile-left { text-align: left; }
    .mobile-center { text-align: center; }
    .rezension .col-6.text-center { margin-top:0 !important; }
    .box { padding: 10px; }
    #callbackform .column { margin-top: 0 !important; }
    .box.box-white { padding: 0; }
    h2 br { display: none !important; }
    .carousel.citysearch { height: 280px; margin-bottom: 20px; }
    .tile.tile-list .tile-content { margin-left: 0; }
    .tile.tile-list .tile-title { font-size: 16px; }
    .mobalt { background: #EBEBEB !important; }
    .img-cover { height: 155px; }
    .img-description { font-size: 12px; }
    .ctabannerlist { font-size: 14px; }
    .img-description .firstlink { font-size: 14px; }
    .desktoponly { display: none !important; }
    .menuheader .phonebtn { padding-top: 0; margin-right: 40px; display: inline-block !important; }
    .menuheader .phonebtn > .icon.icon-24 svg { height: 30px; }
    .menuheader .col-8.text-right { margin-top:0 !important; padding-right: 40px; }
    a.logo img { height: 40px !important; }
    .mob-toggle { display: block; }
    .ekomi-alt { margin-left: 0 !important; }
    .menuheader { padding-top: 0; padding-bottom: 0; }
    .phonebtn > .icon { margin-bottom: 10px; margin-right: -8px; margin-top: -6px; float: left; }
    .navbar .navbar-section#linkmenu { display: none; }
    .navbar .navbar-section#linkmenu.viewable { display: block; }
    .navbar .navbar-section#linkmenu .btn-success { text-align: center !important; }
    header.navbar { display: block; }
    header.navbar a.btn { display: block; text-align: left; padding: 11px 4px !important; }
    .carousel.srezension { width: 100%; margin-top: 15px; }
    .article-body .col-8 .menu { display: block; }
    .article-body .col-4 .menu { display: none; }
    .intext-image { float: none !important; width: 100%; margin-left: 0; margin-right: 0; }
    .btn + .btn { margin-left: 0; }
    .column + .column, .btn.btn-lg + .btn:not(.offer-form-next):not(.btn-link) { margin-top: 15px; }
    .subheader > .container > span:first-child { display: block; }
    .subheader > .text-right { text-align: center !important; }
    .subheader > .container { position: relative; }
    .subheader .popover { position: initial; }
    .subheader .popover .popover-container { min-width: initial; right: 0; left: 0; transform: translate(0, 0) scale(0) !important; width: 100%; }
    .subheader .popover.popover-bottom :focus+.popover-container, .subheader .popover.popover-bottom:hover .popover-container { transform: translate(0, 0) scale(1) !important; }
    .subheader .popover .column + .column { margin-top: 15px; }
    .servicemenu.open { max-height: 1350px;  }
    p:empty{ display: none; }
    .mobcenter{ text-align: center; }
    section.content.altmint .text-xl, section.content.mint .text-xl, section.content.alt .text-xl, section.content.white .text-xl { font-size: 20px; line-height: 28px; }
    .servicemenu .container { padding-top: 160px; }
    section.content { padding-top: 20px; padding-bottom: 20px; }
    .mainheader { padding-top: 120px; margin-top: -70px; padding-bottom: 20px; background:#F7F6F6; }
    body.partnerpage .mainheader { margin-top:0; }
    .menuheader .navbar { position: absolute; top: 53px; left: 6px; width: calc(100% - 12px); background: #fff; }
    .column > .img-responsive { width: 100%; }
    .mainheader .relative { padding-right: .4rem !important; }
    .mainheader .anfrageformular ul li { flex: 0 0 100% !important; }
    .mainheader.hascustomimg { background-image: none !important; }
    .servicemenu { top: 240px; }
    .mobhidden { display: none !important; }
    .mb-2 { margin-bottom: 20px !important; }
    .mt-2 { margin-top: 20px !important; }
    .mb-1 { margin-bottom: 10px !important; }
    .mt-1 { margin-top: 10px !important; }
    .ml-2 { margin-left: 0 !important; }
    .ml-15 { margin-left: 0 !important; }
    .mr-2 { margin-right: 0 !important; }
    .ml-1 { margin-left: 0 !important; }
    .mr-1 { margin-right: 10px !important; }
    .pl-1 { padding-left: 0 !important; }
    .pr-1 { padding-right: 0 !important; }
    .text-xl { font-size: 20px; line-height: 28px; }
    ul.mapplacelist li, .footer ul.footerplacelist li { flex: 0 0 50% !important; }
    .endfooter, .endfooter .text-right { text-align: center !important; }
    .footer > .container > .columns .column { margin-bottom: 15px; }
    .accordion label { padding-right: 45px !important; }
    .form-page-container .pl-1, .form-page-container .pr-1 { padding-left: 0 !important; padding-right: 0 !important; }
    .form-page-container .pl-1 { margin-top: 15px; }
    ul.checklist li { flex: 0 0 100%; }
    section.content h2 { font-size: 22px !important; line-height: 30px !important; }
    .mainheader, .mainheader p { font-size: 14px; }
    section.content p:not(.text-xl) { font-size: 14px; line-height: 22px; }
    .box ul li { font-size: 15px; }
    .form-input.input-lg { padding: 11px 10px; font-size: 15px; }
    .btn.btn-lg:not(.btn-black) { padding: 13px 10px; font-size: 15px; display: block; width: 100%; }
    .mainheader h1 { font-size: 29px; word-wrap: break-word; margin-bottom: 32px; }
    .mainheader .anfrageformular ul { margin-bottom: 32px; }
    .input-group button + .popover { width: 300px; }
    .scrollingheader, .fakescrollingheader { font-size: 12px; }
    .scrollingheader .btn, .fakescrollingheader .btn { margin-top: 6px; margin-left: 0; }
    .mainheader .text-xl { font-size: 22px; line-height: 37px; }
    .inline-block { display: block; }
    .blog { border: none; padding-left: 0; padding-top: 0 !important; padding-bottom: 0 !important; }
    .blog > img { float: left; margin-left: -140px !important; width: 130px !important; height: 87px !important; object-fit: cover !important; margin-top: 0 !important; display: none; }
    .blog h3 { font-size: 14px; line-height: 22px; }
    .blog a { font-size: 14px; }
    .blog p:last-child { margin-bottom:0 !important; }
    .blog > p:not(:last-child) { max-height: initial; }
    .servicemenu { z-index: 2; left: 0 !important; max-width: 100%; }
    .box.box-mint .ctabannerlist li .icon { margin-top: 3px !important; }
    section p:last-child { margin-bottom: 0; }
}