html {
    line-height: 1.15;
    -ms-text-size-adjust: 100%;
    -webkit-text-size-adjust: 100%
}

body {
    margin: 0
}

aside,
header,
nav {
    display: block
}

h1 {
    font-size: 2em;
    margin: 0.67em 0
}

figure {
    display: block
}

figure {
    margin: 1em 40px
}

main {
    display: block
}

a {
    background-color: transparent;
    -webkit-text-decoration-skip: objects
}

strong {
    font-weight: inherit
}

strong {
    font-weight: bolder
}

img {
    border-style: none
}

button,
input,
select {
    font: inherit;
    font-size: 100%;
    line-height: 1.15;
    margin: 0
}

button {
    overflow: visible
}

button,
select {
    text-transform: none
}

button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
    border-style: none;
    padding: 0
}

button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="submit"]:-moz-focusring {
    outline: 1px dotted ButtonText
}

input {
    overflow: visible
}

[type="checkbox"],
[type="radio"] {
    box-sizing: border-box;
    padding: 0
}

::-webkit-file-upload-button {
    -webkit-appearance: button;
    font: inherit
}

fieldset {
    padding: 0.35em 0.75em 0.625em
}

html {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box
}

*,
*:before,
*:after {
    -webkit-box-sizing: inherit;
    -moz-box-sizing: inherit;
    box-sizing: inherit
}

@font-face {
    font-family: "Encode Sans Condensed";
    src: url("../../fonts/custom/EncodeSansCondensed-Thin.woff2") format("woff2"), url("../../fonts/custom/EncodeSansCondensed-Thin.woff") format("woff");
    font-weight: 100;
    font-style: normal
}

@font-face {
    font-family: "Encode Sans Condensed";
    src: url("../../fonts/custom/EncodeSansCondensed-ThinItalic.woff2") format("woff2"), url("../../fonts/custom/EncodeSansCondensed-ThinItalic.woff") format("woff");
    font-weight: 100;
    font-style: italic
}

@font-face {
    font-family: "Encode Sans Condensed";
    src: url("../../fonts/custom/EncodeSansCondensed-ExtraLight.woff2") format("woff2"), url("../../fonts/custom/EncodeSansCondensed-ExtraLight.woff") format("woff");
    font-weight: 200;
    font-style: normal
}

@font-face {
    font-family: "Encode Sans Condensed";
    src: url("../../fonts/custom/EncodeSansCondensed-ExtraLightItalic.woff2") format("woff2"), url("../../fonts/custom/EncodeSansCondensed-ExtraLightItalic.woff") format("woff");
    font-weight: 200;
    font-style: italic
}

@font-face {
    font-family: "Encode Sans Condensed";
    src: url("../../fonts/custom/EncodeSansCondensed-Light.woff2") format("woff2"), url("../../fonts/custom/EncodeSansCondensed-Light.woff") format("woff");
    font-weight: 300;
    font-style: normal
}

@font-face {
    font-family: "Encode Sans Condensed";
    src: url("../../fonts/custom/EncodeSansCondensed-LightItalic.woff2") format("woff2"), url("../../fonts/custom/EncodeSansCondensed-LightItalic.woff") format("woff");
    font-weight: 300;
    font-style: italic
}

@font-face {
    font-family: "Encode Sans Condensed";
    src: url("../../fonts/custom/EncodeSansCondensed-Regular.woff2") format("woff2"), url("../../fonts/custom/EncodeSansCondensed-Regular.woff") format("woff");
    font-weight: normal;
    font-style: normal
}

@font-face {
    font-family: "Encode Sans Condensed";
    src: url("../../fonts/custom/EncodeSansCondensed-Italic.woff2") format("woff2"), url("../../fonts/custom/EncodeSansCondensed-Italic.woff") format("woff");
    font-weight: normal;
    font-style: italic
}

@font-face {
    font-family: "Encode Sans Condensed";
    src: url("../../fonts/custom/EncodeSansCondensed-Medium.woff2") format("woff2"), url("../../fonts/custom/EncodeSansCondensed-Medium.woff") format("woff");
    font-weight: 500;
    font-style: normal
}

@font-face {
    font-family: "Encode Sans Condensed";
    src: url("../../fonts/custom/EncodeSansCondensed-MediumItalic.woff2") format("woff2"), url("../../fonts/custom/EncodeSansCondensed-MediumItalic.woff") format("woff");
    font-weight: 500;
    font-style: italic
}

@font-face {
    font-family: "Encode Sans Condensed";
    src: url("../../fonts/custom/EncodeSansCondensed-SemiBold.woff2") format("woff2"), url("../../fonts/custom/EncodeSansCondensed-SemiBold.woff") format("woff");
    font-weight: 600;
    font-style: normal
}

@font-face {
    font-family: "Encode Sans Condensed";
    src: url("../../fonts/custom/EncodeSansCondensed-SemiBoldItalic.woff2") format("woff2"), url("../../fonts/custom/EncodeSansCondensed-SemiBoldItalic.woff") format("woff");
    font-weight: 600;
    font-style: italic
}

@font-face {
    font-family: "Encode Sans Condensed";
    src: url("../../fonts/custom/EncodeSansCondensed-Bold.woff2") format("woff2"), url("../../fonts/custom/EncodeSansCondensed-Bold.woff") format("woff");
    font-weight: bold;
    font-style: normal
}

@font-face {
    font-family: "Encode Sans Condensed";
    src: url("../../fonts/custom/EncodeSansCondensed-BoldItalic.woff2") format("woff2"), url("../../fonts/custom/EncodeSansCondensed-BoldItalic.woff") format("woff");
    font-weight: bold;
    font-style: italic
}

@font-face {
    font-family: "Encode Sans Condensed";
    src: url("../../fonts/custom/EncodeSansCondensed-ExtraBold.woff2") format("woff2"), url("../../fonts/custom/EncodeSansCondensed-ExtraBold.woff") format("woff");
    font-weight: 800;
    font-style: normal
}

@font-face {
    font-family: "Encode Sans Condensed";
    src: url("../../fonts/custom/EncodeSansCondensed-ExtraBoldItalic.woff2") format("woff2"), url("../../fonts/custom/EncodeSansCondensed-ExtraBoldItalic.woff") format("woff");
    font-weight: 800;
    font-style: italic
}

@font-face {
    font-family: "Encode Sans Condensed";
    src: url("../../fonts/custom/EncodeSansCondensed-Black.woff2") format("woff2"), url("../../fonts/custom/EncodeSansCondensed-Black.woff") format("woff");
    font-weight: 900;
    font-style: normal
}

@font-face {
    font-family: "Encode Sans Condensed";
    src: url("../../fonts/custom/EncodeSansCondensed-BlackItalic.woff2") format("woff2"), url("../../fonts/custom/EncodeSansCondensed-BlackItalic.woff") format("woff");
    font-weight: 900;
    font-style: italic
}

* {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    text-shadow: 1px 1px 1px rgba(0, 0, 0, 0.004)
}

#structure-wrap,
#overlay .overlay_padding #cloud_search {
    padding-left: clamp(25px, 4vw, 50px);
    padding-right: clamp(25px, 4vw, 50px)
}

@media only screen and (min-width:1280px) {

    #structure-wrap,
    #overlay .overlay_padding #cloud_search {
        padding-left: 0;
        padding-right: 0
    }
}

.hwdatenschutz.hwcookiebanner #hwcookiebanner-small .wrapcenter {
    padding: clamp(25px, 4vw, 50px)
}

.fas,
.far,
.fab {
    -moz-osx-font-smoothing: grayscale;
    -webkit-font-smoothing: antialiased;
    display: inline-block;
    font-style: normal;
    font-variant: normal;
    text-rendering: auto;
    line-height: 1
}

.fa-bars:before {
    content: "\f0c9"
}

.fa-envelope:before {
    content: "\f0e0"
}

.fa-external-link-square-alt:before {
    content: "\f360"
}

.fa-facebook-square:before {
    content: "\f082"
}

.fa-fax:before {
    content: "\f1ac"
}

.fa-instagram:before {
    content: "\f16d"
}

.fa-link:before {
    content: "\f0c1"
}

.fa-phone:before {
    content: "\f095"
}

.fa-search:before {
    content: "\f002"
}

.fa-youtube:before {
    content: "\f167"
}

.sr-only,
#header #header_small #sozial-desktop a .icon_text,
#header #search_wrap_desktop .newsletter .icon_text {
    border: 0;
    clip: rect(0, 0, 0, 0);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px
}

@font-face {
    font-family: 'Font Awesome 5 Pro';
    font-style: normal;
    font-weight: 300;
    font-display: block;
    src: url("../../fonts/custom/fa-light-300.eot");
    src: url("../../fonts/custom/fa-light-300.eot?#iefix") format("embedded-opentype"), url("../../fonts/custom/fa-light-300.woff2") format("woff2"), url("../../fonts/custom/fa-light-300.woff") format("woff"), url("../../fonts/custom/fa-light-300.ttf") format("truetype"), url("../../fonts/custom/fa-light-300.svg#fontawesome") format("svg")
}

@font-face {
    font-family: 'Font Awesome 5 Pro';
    font-style: normal;
    font-weight: 400;
    font-display: block;
    src: url("../../fonts/custom/fa-regular-400.eot");
    src: url("../../fonts/custom/fa-regular-400.eot?#iefix") format("embedded-opentype"), url("../../fonts/custom/fa-regular-400.woff2") format("woff2"), url("../../fonts/custom/fa-regular-400.woff") format("woff"), url("../../fonts/custom/fa-regular-400.ttf") format("truetype"), url("../../fonts/custom/fa-regular-400.svg#fontawesome") format("svg")
}

.far {
    font-family: 'Font Awesome 5 Pro';
    font-weight: 400
}

@font-face {
    font-family: 'Font Awesome 5 Pro';
    font-style: normal;
    font-weight: 900;
    font-display: block;
    src: url("../../fonts/custom/fa-solid-900.eot");
    src: url("../../fonts/custom/fa-solid-900.eot?#iefix") format("embedded-opentype"), url("../../fonts/custom/fa-solid-900.woff2") format("woff2"), url("../../fonts/custom/fa-solid-900.woff") format("woff"), url("../../fonts/custom/fa-solid-900.ttf") format("truetype"), url("../../fonts/custom/fa-solid-900.svg#fontawesome") format("svg")
}

.fas {
    font-family: 'Font Awesome 5 Pro';
    font-weight: 900
}

@font-face {
    font-family: 'Font Awesome 5 Brands';
    font-style: normal;
    font-weight: 400;
    font-display: block;
    src: url("../../fonts/custom/fa-brands-400.eot");
    src: url("../../fonts/custom/fa-brands-400.eot?#iefix") format("embedded-opentype"), url("../../fonts/custom/fa-brands-400.woff2") format("woff2"), url("../../fonts/custom/fa-brands-400.woff") format("woff"), url("../../fonts/custom/fa-brands-400.ttf") format("truetype"), url("../../fonts/custom/fa-brands-400.svg#fontawesome") format("svg")
}

.fab {
    font-family: 'Font Awesome 5 Brands';
    font-weight: 400
}

.icon_content:before,
.icon_content:after,
.icon_list:before,
.icon_list:after {
    display: inline-block
}

.icon_content_wrap,
.internal-link,
.external-link,
.external-link-new-window,
.mail {
    display: initial
}

.icon_content_wrap .icon_content,
.mail .icon_content {
    display: inline-block;
    width: 3rem;
    padding-right: 0.6rem;
    text-align: center
}

.icon_content_wrap .icon_content~span,
.mail .icon_content~span {
    white-space: normal
}

a .icon_content {
    display: inline-block;
    padding-right: 0.6rem;
    width: 3rem;
    text-align: center
}

.infolist {
    display: block;
    padding-left: 25px;
    position: relative;
    line-height: 1.65
}

.infolist .icon_list {
    width: 22px;
    text-align: center;
    display: inline-block;
    vertical-align: top;
    position: absolute;
    left: 0;
    top: 13.2px;
    transform: translateY(-50%)
}

ul li .icon_list {
    width: 20px;
    text-align: center
}

* {
    margin: 0;
    padding: 0
}

:root {
    font-size: 62.5%
}

html {
    height: 100%;
    min-height: 100%;
    max-height: 100%;
    -ms-touch-action: manipulation;
    touch-action: manipulation;
    scroll-behavior: smooth
}

body {
    position: unset !important;
    overflow-x: hidden;
    width: 100%;
    font-family: "Encode Sans Condensed", Arial, Helvetica, sans-serif;
    font-size: 2rem;
    color: #2C2C2C
}

main,
aside {
    display: block
}

img {
    border: none
}

button {
    background: none;
    color: inherit;
    border: none;
    padding: 0;
    font: inherit;
    outline: inherit
}

strong {
    font-weight: 700
}

.wrapcenter,
#menu_view>.nav_main_view {
    position: relative;
    margin: 0 auto
}

.wrapcenter:before,
#menu_view>.nav_main_view:before,
.wrapcenter:after,
#menu_view>.nav_main_view:after {
    content: " ";
    display: table
}

.wrapcenter:after,
#menu_view>.nav_main_view:after {
    clear: both
}

.wrapcenter,
#menu_view>.nav_main_view {
    *zoom: 1
}

@media only screen and (min-width:1280px) {

    .wrapcenter,
    #menu_view>.nav_main_view {
        width: 1200px !important;
        max-width: 1200px !important
    }
}

.unsichtbar {
    position: absolute;
    overflow: hidden;
    clip: rect(0 0 0 0);
    height: 1px;
    width: 1px;
    margin: -1px;
    padding: 0;
    border: 0
}

.aria_hidden,
.reader_icon {
    position: absolute !important;
    left: -10000px !important;
    top: auto !important;
    width: 1px !important;
    height: 1px !important;
    overflow: hidden !important
}

.aria_hidden:before,
.reader_icon:before {
    display: none !important
}

.ce-textpic {
    overflow: hidden
}

.ce-right .ce-gallery {
    width: 40%
}

.frame-klein .ce-right .ce-gallery {
    max-width: Min(25%, 300px)
}

.ce-column {
    float: left
}

.ce-right .ce-gallery {
    float: right
}

.ce-gallery figure {
    display: table;
    margin: 0
}

.ce-gallery figure.image {
    display: block;
    position: relative
}

.ce-gallery .ce-row {
    width: 100%
}

.ce-gallery .ce-row .ce-column {
    width: 100%
}

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

.ce-border img,
.ce-border .deferred_loading {
    border: 1px solid #BEBEBE;
    width: calc(100% - 2px);
    padding: 0px
}

.ce-intext.ce-right .ce-gallery {
    margin-bottom: 10px
}

.ce-intext.ce-right .ce-gallery {
    margin-left: 10px
}

.ce-column {
    margin-right: 2%
}

.ce-column:last-child {
    margin-right: 0
}

.ce-column:last-child {
    margin-right: 0
}

.ce-row {
    margin-bottom: 10px
}

.ce-row:last-child {
    margin-bottom: 0
}

#structure-wrap {
    width: 100%;
    position: relative;
    margin-top: 89px;
    background-image: url(../../images/custom/content_bg_bild.jpg);
    background-size: 100% auto;
    background-position: center bottom;
    background-repeat: no-repeat
}

@media only screen and (min-width:640px) {
    #structure-wrap {
        margin-top: 109px
    }
}

@media screen and (min-width:1025px) and (max-height:779px) {
    #structure-wrap {
        margin-top: 149px
    }
}

@media screen and (min-width:1025px) and (min-height:780px) {
    #structure-wrap {
        margin-top: 149px
    }
}

@media screen and (min-width:1500px) and (min-height:780px) {
    #structure-wrap {
        margin-top: 169px
    }
}

#structure-wrap:before {
    content: "";
    position: absolute;
    top: 50%;
    left: 0;
    width: 232px;
    height: 640px;
    background-image: url(../../images/custom/bg_dots.svg);
    background-size: 640px 640px;
    background-position: top right;
    background-repeat: no-repeat;
    transform: scale(0.6) translateY(-50%);
    transform-origin: left top;
    opacity: 0.1
}

@media only screen and (min-width:1025px) {
    #structure-wrap:before {
        transform: scale(0.8) translateY(-50%)
    }
}

@media only screen and (min-width:1280px) {
    #structure-wrap:before {
        transform: scale(1) translateY(-50%)
    }
}

#structure-wrap #structure {
    width: 100%;
    position: relative;
    padding: 0
}

#structure-wrap {
    z-index: 0;
    padding-top: 25px;
    padding-bottom: 10px
}

@media only screen and (min-width:640px) {
    #structure-wrap {
        padding-top: 35px
    }

    .city #structure-wrap {
        padding-right: 0
    }
}

@media only screen and (min-width:768px) {
    .city #structure-wrap {
        padding-right: 0
    }
}

@media only screen and (min-width:1025px) {
    #structure-wrap {
        padding-top: 45px;
        padding-left: 100px
    }
}

@media only screen and (min-width:1280px) {
    #structure-wrap {
        padding-top: 58px;
        padding-left: Max(100px, 50vw - 600px + 30px)
    }
}

#structure-wrap #structure {
    width: auto !important;
    max-width: 100% !important;
    margin: 0;
    flex-grow: 1
}

@media only screen and (min-width:640px) {
    #structure-wrap #structure {
        display: flex;
        justify-content: space-between
    }
}

#structure-wrap #structure #content-wrap {
    position: relative;
    width: 100%
}

@media only screen and (min-width:640px) {
    #structure-wrap #structure #content-wrap {
        width: 70%;
        padding-right: 20px
    }
}

@media only screen and (min-width:1025px) {
    #structure-wrap #structure #content-wrap {
        width: 78%;
        padding-right: 50px
    }
}

@media only screen and (min-width:1160px) {
    #structure-wrap #structure #content-wrap {
        padding-right: 3em
    }
}

@media only screen and (min-width:1280px) {
    #structure-wrap #structure #content-wrap {
        padding-bottom: 4em;
        padding-right: 4em
    }
}

#structure-wrap #structure #infobereich-wrap {
    display: block;
    position: relative;
    width: 100%;
    margin-bottom: 1em;
    margin-top: 50px
}

@media only screen and (min-width:480px) {
    #structure-wrap #structure #infobereich-wrap {
        margin-bottom: 1.6em
    }
}

@media only screen and (min-width:640px) {
    #structure-wrap #structure #infobereich-wrap {
        width: 30%;
        margin-bottom: 2em;
        margin-top: 0
    }
}

@media only screen and (min-width:1025px) {
    #structure-wrap #structure #infobereich-wrap {
        width: 22%
    }
}

#header {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 100;
    width: 100%;
    height: 90px;
    border-bottom: 1px solid rgba(116, 116, 116, 0.19)
}

@media only screen and (min-width:640px) {
    #header {
        height: 110px
    }
}

@media screen and (min-width:1025px) and (max-height:779px) {
    #header {
        position: absolute;
        height: 150px
    }
}

@media screen and (min-width:1025px) and (min-height:780px) {
    #header {
        height: 150px
    }
}

@media screen and (min-width:1500px) and (min-height:780px) {
    #header {
        height: 170px
    }
}

#header #header_small {
    position: relative;
    display: flex;
    justify-content: center;
    background-color: #0D2E4E;
    color: #fff;
    height: 30px
}

@media only screen and (min-width:1025px) {
    #header #header_small {
        height: 50px
    }
}

#header #header_small #menu_themes {
    display: flex;
    gap: 6px;
    height: 100%;
    width: 100%
}

@media only screen and (min-width:640px) {
    #header #header_small #menu_themes {
        width: auto;
        gap: 0
    }
}

#header #header_small #menu_themes .menu_theme {
    flex-grow: 1;
    text-align: center;
    font-size: 16px;
    font-weight: 500;
    line-height: 30px
}

@media only screen and (min-width:640px) {
    #header #header_small #menu_themes .menu_theme {
        font-size: 18px;
        margin: 0 5px;
        padding: 0 30px
    }
}

@media only screen and (min-width:1025px) {
    #header #header_small #menu_themes .menu_theme {
        line-height: 50px
    }
}

@media only screen and (min-width:1280px) {
    #header #header_small #menu_themes .menu_theme {
        line-height: 50px;
        width: 166px;
        padding: 0 10px
    }
}

#header #header_small #menu_themes .menu_theme.active {
    background-color: #fff;
    color: #0D2E4E
}

#header #header_small #menu_themes a.menu_theme {
    background-color: #2C5883;
    color: #fff
}

#header #header_small #menu_themes a.menu_theme span {
    background-image: linear-gradient(90deg, #fff 0%, #fff 100%);
    background-size: 0 2px;
    background-repeat: no-repeat;
    background-position: left bottom
}

#header #header_small #sozial-desktop {
    position: absolute;
    right: 0;
    height: 100%;
    display: none
}

@media only screen and (min-width:1025px) {
    #header #header_small #sozial-desktop {
        display: block
    }
}

#header #header_small #sozial-desktop a {
    position: relative;
    display: inline-block;
    width: 50px;
    height: 100%;
    margin: 0 8px;
    text-align: center;
    vertical-align: top;
    font-size: 28px;
    color: #FFF
}

#header #header_small #sozial-desktop a i {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%)
}

#header #header_main {
    display: flex;
    height: calc(100% - 30px);
    background-color: #fff
}

@media only screen and (min-width:1025px) {
    #header #header_main {
        height: calc(100% - 50px)
    }
}

#header #logo {
    height: 100%;
    display: inline-block
}

#header #logo a {
    height: 100%;
    display: inline-block
}

#header #logo .logo_inner {
    height: 100%;
    padding: 10px;
    display: inline-block
}

@media screen and (min-width:1025px) and (max-height:779px) {
    #header #logo .logo_inner {
        padding: 10px
    }
}

@media screen and (min-width:1025px) and (min-height:780px) {
    #header #logo .logo_inner {
        padding: 20px
    }
}

#header #logo .logo_inner img {
    height: 100%;
    width: auto
}

@media only screen and (min-width:1025px) {
    #header #button_menue_mobile_wrap {
        display: none
    }
}

#header #search_wrap_desktop {
    display: none
}

@media only screen and (min-width:1025px) {
    #header #search_wrap_desktop {
        display: flex
    }
}

#header #search_wrap_desktop .newsletter,
#header #search_wrap_desktop #search_button_desktop {
    position: relative;
    width: 50px;
    text-align: center;
    color: #0D2E4E
}

@media only screen and (min-width:1025px) {

    #header #search_wrap_desktop .newsletter,
    #header #search_wrap_desktop #search_button_desktop {
        font-size: 24px;
        margin: 0 10px
    }
}

#header #search_wrap_desktop .newsletter:before,
#header #search_wrap_desktop #search_button_desktop:before {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    display: block;
    width: 55px;
    height: 55px;
    border-radius: 50%;
    transform: translate(-50%, -50%);
    opacity: 0;
    background-color: rgba(255, 255, 255, 0.15)
}

@media only screen and (min-width:1280px) {

    #header #search_wrap_desktop .newsletter:before,
    #header #search_wrap_desktop #search_button_desktop:before {
        width: 60px;
        height: 60px
    }
}

#header #search_wrap_desktop .newsletter i,
#header #search_wrap_desktop #search_button_desktop i {
    position: relative
}

#header #search_wrap_desktop .newsletter {
    position: relative
}

#header #search_wrap_desktop .newsletter i {
    position: absolute;
    top: 50%;
    left: 50%;
    margin-top: -10px;
    margin-left: -10px
}

@media only screen and (min-width:1025px) {
    #header #search_wrap_desktop .newsletter i {
        margin-top: -12px;
        margin-left: -12px
    }
}

#search_keep_pop-up {
    position: absolute;
    right: 0;
    z-index: 2;
    display: inline-block;
    transform: translateY(-101%);
    background-color: #FFF;
    top: 90px;
    opacity: 0
}

.city #search_keep_pop-up {
    display: none !important
}

@media only screen and (min-width:640px) {
    #search_keep_pop-up {
        top: 110px
    }
}

@media screen and (min-width:1025px) and (max-height:779px) {
    #search_keep_pop-up {
        position: absolute;
        top: 150px
    }
}

@media screen and (min-width:1025px) and (min-height:780px) {
    #search_keep_pop-up {
        top: 150px
    }
}

@media screen and (min-width:1500px) and (min-height:780px) {
    #search_keep_pop-up {
        top: 170px
    }
}

#search_keep_pop-up #booking-form-home {
    padding: 10px
}

@media only screen and (min-width:640px) {
    #search_keep_pop-up #booking-form-home {
        padding: 15px 10px
    }
}

@media only screen and (min-width:1025px) {
    #search_keep_pop-up #booking-form-home {
        display: flex
    }
}

@media only screen and (min-width:1280px) {
    #search_keep_pop-up #booking-form-home {
        padding: 20px
    }
}

#search_keep_pop-up #booking-form-home fieldset {
    border: none;
    padding: 0
}

@media only screen and (min-width:640px) {
    #search_keep_pop-up #booking-form-home fieldset {
        margin-top: 5px
    }
}

@media only screen and (min-width:1025px) {
    #search_keep_pop-up #booking-form-home fieldset {
        margin-top: 0
    }
}

#search_keep_pop-up .form-item {
    position: relative;
    padding-top: 10px;
    margin-bottom: 5px
}

@media only screen and (min-width:640px) {
    #search_keep_pop-up .form-item {
        margin: 0 5px;
        width: 50%
    }
}

@media only screen and (min-width:1025px) {
    #search_keep_pop-up .form-item {
        width: auto
    }
}

@media only screen and (min-width:1280px) {
    #search_keep_pop-up .form-item {
        margin: 0 10px
    }
}

#search_keep_pop-up .form-item label {
    position: absolute;
    background: #fff;
    left: 15px;
    top: 0;
    z-index: 2;
    font-size: 14px;
    padding: 0 5px
}

#search_keep_pop-up .form-item input,
#search_keep_pop-up .form-item select,
#search_keep_pop-up .form-item .ownform_select {
    width: 100%;
    overflow: visible;
    height: 50px;
    border: 1px solid #DBDBDB;
    border-radius: 25px;
    padding: 12px 20px
}

@media only screen and (min-width:1025px) {

    #search_keep_pop-up .form-item input,
    #search_keep_pop-up .form-item select,
    #search_keep_pop-up .form-item .ownform_select {
        width: auto
    }
}

#search_keep_pop-up .form-item .ownform_select {
    padding: 12px 20px;
    min-width: 80px !important
}

@media only screen and (min-width:640px) {
    #search_keep_pop-up #filterblock_date_from_to {
        display: flex
    }
}

#search_keep_pop-up #filterblock_date_from_to .form-item:after {
    content: "";
    content: "\f133";
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    display: inline-block;
    font-style: normal;
    font-variant: normal;
    font-weight: normal;
    line-height: 1;
    -moz-osx-font-smoothing: grayscale;
    -webkit-font-smoothing: antialiased;
    display: inline-block;
    font-style: normal;
    font-variant: normal;
    text-rendering: auto;
    line-height: 1;
    font-family: 'Font Awesome 5 Pro';
    font-weight: 400;
    position: absolute;
    right: 25px;
    bottom: 25px;
    transform: translateY(50%)
}

@media only screen and (min-width:640px) {
    #search_keep_pop-up .personen_submit {
        display: flex
    }
}

#search_keep_pop-up .personen_submit .submit input {
    height: 50px;
    border-radius: 25px;
    text-align: center;
    margin-right: 0;
    padding: 0 20px
}

.button_wrap {
    overflow: hidden;
    width: 100%;
    margin-top: 20px
}

.button {
    position: relative;
    display: inline-block;
    width: 100%;
    text-align: center;
    line-height: 1.4;
    padding: 10px 16px;
    color: #2C2C2C;
    background: #BBCF00;
    border: 1px solid #BBCF00;
    background-clip: border-box !important;
    border-radius: 2px;
    -webkit-appearance: none;
    -webkit-backface-visibility: hidden
}

@media only screen and (min-width:360px) {
    .button {
        width: auto;
        margin-right: 1em;
        text-align: left
    }
}

.frame {
    position: relative;
    width: 100%;
    margin-top: 30px;
    scroll-margin-top: 90px
}

@media only screen and (min-width:640px) {
    .frame {
        margin-top: 40px
    }
}

@media only screen and (min-width:1025px) {
    .frame {
        margin-top: 50px
    }
}

@media only screen and (min-width:640px) {
    .frame {
        scroll-margin-top: 110px
    }
}

@media screen and (min-width:1025px) and (max-height:779px) {
    .frame {
        scroll-margin-top: 150px
    }
}

@media screen and (min-width:1025px) and (min-height:780px) {
    .frame {
        scroll-margin-top: 150px
    }
}

@media screen and (min-width:1500px) and (min-height:780px) {
    .frame {
        scroll-margin-top: 170px
    }
}

.frame:first-child:not(.frame-infobox) {
    margin-top: 0
}

.frame .ce-textpic {
    margin-top: 15px
}

@media only screen and (min-width:640px) {
    .frame .ce-textpic {
        margin-top: 20px
    }
}

@media only screen and (min-width:1025px) {
    .frame .ce-textpic {
        margin-top: 30px
    }
}

.frame .ce-bodytext p {
    margin-top: 7.5px
}

@media only screen and (min-width:640px) {
    .frame .ce-bodytext p {
        margin-top: 10px
    }
}

@media only screen and (min-width:1025px) {
    .frame .ce-bodytext p {
        margin-top: 15px
    }
}

.frame .ce-bodytext>*:first-child {
    margin-top: 0 !important
}

#site_title {
    color: #A5A5A5;
    font-weight: 700;
    font-size: 20px;
    margin-bottom: 8px
}

@media only screen and (min-width:640px) {
    #site_title {
        font-size: 22px;
        margin-bottom: 10px
    }
}

@media only screen and (min-width:1025px) {
    #site_title {
        font-size: 25px;
        margin-bottom: 12px
    }
}

h2 {
    color: #0D2E4E;
    font-weight: 700;
    line-height: 1.5;
    border-top: 0;
    border-right: 0;
    border-left: 0;
    border-bottom: 8px solid #BBCF00;
    border-image-source: url(../../images/custom/border_green.png);
    border-image-slice: 33%;
    border-image-repeat: round;
    padding-bottom: 0.35em;
    font-size: 2.6rem
}

@supports (font-size:Min(Max(2.4rem, calc(2.0192rem + 1.0577vw)), 3.5rem)) {
    h2 {
        font-size: Min(Max(2.4rem, calc(2.0192rem + 1.0577vw)), 3.5rem)
    }
}

@supports (font-size:clamp(2.4rem, calc(2.0192rem + 1.0577vw), 3.5rem)) {
    h2 {
        font-size: clamp(2.4rem, calc(2.0192rem + 1.0577vw), 3.5rem)
    }
}

h3 {
    color: #BBCF00;
    font-weight: 700;
    line-height: 1.5;
    border-bottom: none;
    padding-bottom: 0;
    font-size: 2.4rem
}

@supports (font-size:Min(Max(2.2rem, calc(2.0615rem + 0.3846vw)), 3rem)) {
    h3 {
        font-size: Min(Max(2.2rem, calc(2.0615rem + 0.3846vw)), 3rem)
    }
}

@supports (font-size:clamp(2.2rem, calc(2.0615rem + 0.3846vw), 3rem)) {
    h3 {
        font-size: clamp(2.2rem, calc(2.0615rem + 0.3846vw), 3rem)
    }
}

.frame {
    font-size: 2rem;
    color: #2C2C2C;
    font-weight: 400;
    line-height: 1.6
}

a {
    text-decoration: none;
    color: #0D2E4E;
    font-weight: 500
}

.ce-right .ce-gallery {
    margin-top: 0
}

@media only screen and (min-width:640px) {
    .ce-right .ce-gallery {
        margin-top: 0
    }
}

@media only screen and (min-width:1025px) {
    .ce-right .ce-gallery {
        margin-top: 0
    }
}

#infobereich-wrap {
    background: rgba(0, 0, 0, 0);
    border: none;
    padding: 0
}

#infobereich-wrap #infobox {
    background: rgba(0, 0, 0, 0);
    border: none;
    padding: 0
}

@media only screen and (min-width:640px) {
    #infobereich-wrap #infobox {
        padding-top: 20px
    }
}

@media only screen and (min-width:1025px) {
    #infobereich-wrap #infobox {
        padding-top: 40px
    }
}

#infobereich-wrap #infobox .frame {
    background: #fff;
    padding: 12px;
    border: 8px solid #BBCF00;
    border-image-source: url(../../images/custom/border_green.png);
    border-image-slice: 33%;
    border-image-repeat: round;
    margin-top: 30px
}

@media only screen and (min-width:640px) {
    #infobereich-wrap #infobox .frame {
        margin-top: 40px
    }
}

@media only screen and (min-width:1025px) {
    #infobereich-wrap #infobox .frame {
        margin-top: 50px;
        border-right: none;
        padding: 32px 28px
    }
}

@media only screen and (min-width:1280px) {
    #infobereich-wrap #infobox .frame {
        padding: 37px 32px
    }
}

#infobereich-wrap #infobox .frame:first-child {
    margin-top: 0
}

#infobereich-wrap #infobox .frame>.frame {
    padding: 0;
    box-shadow: none;
    background: transparent;
    margin: 0;
    border: none
}

#infobereich-wrap .frame {
    position: relative;
    width: 100%
}

#infobereich-wrap .frame .ce-textpic {
    margin-top: 15px
}

@media only screen and (min-width:640px) {
    #infobereich-wrap .frame .ce-textpic {
        margin-top: 20px
    }
}

@media only screen and (min-width:1025px) {
    #infobereich-wrap .frame .ce-textpic {
        margin-top: 30px
    }
}

#infobereich-wrap .frame .ce-bodytext p {
    margin-top: 15px
}

@media only screen and (min-width:640px) {
    #infobereich-wrap .frame .ce-bodytext p {
        margin-top: 20px
    }
}

@media only screen and (min-width:1025px) {
    #infobereich-wrap .frame .ce-bodytext p {
        margin-top: 30px
    }
}

#infobereich-wrap .frame .ce-bodytext>*:first-child {
    margin-top: 0 !important
}

#infobereich-wrap h2 {
    hyphens: auto
}

#infobereich-wrap h2 {
    font-size: 23px;
    color: #0D2E4E;
    font-weight: 700;
    line-height: 1.5;
    border-bottom: 0;
    padding-bottom: 0
}

#infobereich-wrap .frame {
    font-size: 16px;
    color: #2C2C2C;
    font-weight: 400;
    line-height: 1.6;
    hyphens: auto;
    overflow-wrap: break-word
}

#infobereich-wrap a {
    text-decoration: none
}

#breadcrumb {
    position: relative;
    display: block;
    width: 100%;
    padding-bottom: 30px;
    background: transparent;
    color: #2C2C2C;
    font-size: 2rem;
    line-height: 1.6;
    word-wrap: break-word;
    overflow-wrap: break-word;
    -webkit-hyphens: auto;
    -moz-hyphens: auto;
    hyphens: auto
}

@media only screen and (min-width:640px) {
    #breadcrumb {
        padding-bottom: 38px
    }
}

@media only screen and (min-width:1025px) {
    #breadcrumb {
        padding-bottom: 45px
    }
}

#breadcrumb a,
#breadcrumb>span {
    position: relative;
    display: inline-block;
    font-size: 17px;
    color: #606060;
    padding: 9px 15px
}

#breadcrumb a {
    background-color: #F2F2F2;
    margin-right: 4px;
    margin-bottom: 4px
}

@media only screen and (min-width:640px) {
    #breadcrumb a {
        margin-right: 9px;
        margin-bottom: 9px
    }
}

@media only screen and (min-width:1025px) {
    #breadcrumb a {
        margin-right: 14px;
        margin-bottom: 14px
    }
}

#breadcrumb span.breadcrumb_current {
    background-color: #BBCF00;
    color: #2C2C2C
}

.deferred_loading.deferred_loading_loader {
    background-position: center center;
    background-repeat: no-repeat;
    background-color: #ededed;
    border: 1px solid #BEBEBE;
    width: calc(100% - 2px);
    padding: 0px
}

.deferred_loading.deferred_loading_loader~.deferred {
    display: none
}

.deferred-bg.deferred_loading_loader {
    background-position: center center;
    background-repeat: no-repeat;
    background-color: #ededed;
    border: 1px solid #BEBEBE;
    width: calc(100% - 2px);
    padding: 0px
}

:root {
    --control-size: clamp(4.4rem, 4.2615rem + 0.3846vw, 4.8rem)
}

.control_wrap .control_pager {
    display: inline-block;
    vertical-align: top
}

.control_wrap .control_pager {
    width: auto
}

#wcag_nav {
    position: fixed
}

#wcag_nav h1 {
    font-size: 24px;
    padding: 12px 28px;
    margin: 0;
    background-color: #6b6b6b;
    color: #ffffff
}

#wcag_nav .wcag_nav_content {
    padding: 20px 28px
}

#wcag_nav .wcag_nav_content h2 {
    font-size: 20px;
    padding: 0;
    margin: 0
}

#wcag_nav .wcag_nav_content ul {
    list-style: none;
    margin: 10px 0 0 0;
    padding: 0
}

#wcag_nav .wcag_nav_content ul li {
    margin-top: 6px
}

#wcag_nav .wcag_nav_content ul li a {
    color: #2C2C2C
}

#wcag_nav .wcag_nav_content ul li a .icon_list {
    font-size: 14px;
    top: 4px
}

.ownform_select,
.ownform_select_options-js,
.ownform_select {
    display: block;
    box-sizing: border-box;
    width: 100%;
    outline: none;
    border: none;
    line-height: 1.15em;
    border-radius: 3px;
    appearance: none
}

.ownform_select,
.ownform_select_options-js {
    color: #2C2C2C;
    padding: 8px;
    border-width: 1px;
    border-style: solid;
    border-color: #d8d8d8;
    background-color: #FCFCFC;
    font-size: 2rem;
    -webkit-appearance: none;
    border-radius: 0
}

.ownform_select {
    position: relative;
    z-index: 1;
    padding-right: 40px;
    display: inline-block;
    width: auto
}

.ownform_select::-ms-expand {
    display: none
}

.ownform_select-js:after {
    content: "\f0d8";
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    display: inline-block;
    font-style: normal;
    font-variant: normal;
    font-weight: normal;
    line-height: 1;
    -moz-osx-font-smoothing: grayscale;
    -webkit-font-smoothing: antialiased;
    display: inline-block;
    font-style: normal;
    font-variant: normal;
    text-rendering: auto;
    line-height: 1;
    font-family: 'Font Awesome 5 Pro';
    font-weight: 900;
    position: absolute;
    top: 50%;
    right: 0;
    transform: translateY(-50%);
    z-index: 2;
    padding: 0 15px
}

.ownform_select_options-js {
    display: none;
    position: absolute;
    top: 100%;
    right: 0;
    left: 0;
    z-index: 999;
    line-height: 1.15em;
    margin: 0;
    padding: 0 !important;
    list-style: none;
    background-color: #fff;
    border-color: 1px solid #ececec
}

.parsley-errors-list {
    margin: 0;
    margin-top: 2px
}

#overlay_close_tab {
    opacity: 0
}

#dummy_target {
    display: none
}

#overlay {
    position: fixed;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 2;
    background: rgba(0, 0, 0, 0.92);
    transform: translateY(-125%);
    overflow: hidden;
    display: none;
    top: 90px
}

@media only screen and (min-width:640px) {
    #overlay {
        top: 110px
    }
}

@media screen and (min-width:1025px) and (max-height:779px) {
    #overlay {
        position: absolute;
        top: 150px
    }
}

@media screen and (min-width:1025px) and (min-height:780px) {
    #overlay {
        top: 150px
    }
}

@media screen and (min-width:1500px) and (min-height:780px) {
    #overlay {
        top: 170px
    }
}

#overlay:before {
    content: " ";
    position: absolute;
    bottom: 160px;
    left: 0;
    right: 0;
    height: 100px;
    background: transparent;
    background: -moz-linear-gradient(top, rgba(33, 33, 33, 0) 0%, #212121 66%);
    background: -webkit-linear-gradient(top, rgba(33, 33, 33, 0) 0%, #212121 66%);
    background: linear-gradient(to bottom, rgba(33, 33, 33, 0) 0%, #212121 66%);
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#00212121', endColorstr='#212121', GradientType=0);
    z-index: 2;
    opacity: 0.95
}

@media only screen and (min-width:480px) {
    #overlay:before {
        bottom: 115px;
        height: 150px
    }
}

@media only screen and (min-width:640px) {
    #overlay:before {
        bottom: 160px;
        height: 200px
    }
}

@media only screen and (min-width:1025px) {
    #overlay:before {
        bottom: 125px;
        height: 200px
    }
}

#overlay .overlay_inner {
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    width: 100%;
    opacity: 0;
    color: #ffffff;
    z-index: -100;
    overflow-y: scroll;
    overflow-x: hidden;
    display: none
}

#overlay #overlay_close {
    position: absolute;
    top: 15px;
    right: 15px;
    width: 20px;
    height: 20px;
    color: #fff;
    border: none;
    z-index: 1
}

@media only screen and (min-width:1025px) {
    #overlay #overlay_close {
        top: 20px;
        right: 20px;
        width: 20px;
        height: 20px
    }
}

@media only screen and (min-width:1280px) {
    #overlay #overlay_close {
        top: 25px;
        right: 25px;
        width: 25px;
        height: 25px
    }
}

#overlay #overlay_close:before {
    content: "\f00d";
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    display: inline-block;
    font-style: normal;
    font-variant: normal;
    font-weight: normal;
    line-height: 1;
    -moz-osx-font-smoothing: grayscale;
    -webkit-font-smoothing: antialiased;
    display: inline-block;
    font-style: normal;
    font-variant: normal;
    text-rendering: auto;
    line-height: 1;
    font-family: 'Font Awesome 5 Pro';
    font-weight: 400;
    position: relative;
    font-size: 20px;
    line-height: 20px;
    text-align: center;
    width: 100%
}

@media only screen and (min-width:1025px) {
    #overlay #overlay_close:before {
        font-size: 25px
    }
}

@media only screen and (min-width:1280px) {
    #overlay #overlay_close:before {
        font-size: 30px
    }
}

#overlay .overlay_padding {
    position: relative;
    width: 100%;
    padding: 2em 1.5em 270px 1.5em
}

@media only screen and (min-width:480px) {
    #overlay .overlay_padding {
        padding: 3em 1.5em 220px 1.5em
    }
}

@media only screen and (min-width:640px) {
    #overlay .overlay_padding {
        padding: 3em 1.5em 320px 1.5em
    }
}

@media only screen and (min-width:768px) {
    #overlay .overlay_padding {
        padding: 3em 3em 320px 3em
    }
}

@media only screen and (min-width:1025px) {
    #overlay .overlay_padding {
        padding: 4em 3em 330px 3em
    }
}

#overlay .overlay_padding #cloud_search {
    opacity: 0;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    z-index: +1;
    height: 100%;
    padding-top: 4em
}

.no-js #overlay .overlay_padding #cloud_search {
    opacity: 1
}

@media screen and (min-width:1500px) and (min-height:780px) {
    #overlay .overlay_padding #cloud_search {
        padding-top: 20em
    }
}

#overlay .overlay_padding #cloud_search #search_desktop {
    max-width: 1050px;
    width: 100%;
    margin-top: 20px
}

@media only screen and (min-width:480px) {
    #overlay .overlay_padding #cloud_search #search_desktop {
        width: 80%
    }
}

@media only screen and (min-width:1025px) {
    #overlay .overlay_padding #cloud_search #search_desktop {
        width: 78%;
        margin-top: 40px
    }
}

@media screen and (min-width:1500px) and (min-height:780px) {
    #overlay .overlay_padding #cloud_search #search_desktop {
        margin-top: 60px
    }
}

#overlay .overlay_padding #cloud_search #search_desktop .quick_search .tx-solr-search-form-pi-results .quick_search_button {
    float: none;
    position: static;
    width: auto;
    height: auto;
    right: auto
}

#overlay .overlay_padding #cloud_search #tag_cloud {
    max-width: 1050px;
    width: 100%;
    margin-top: 20px;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center
}

@media only screen and (min-width:480px) {
    #overlay .overlay_padding #cloud_search #tag_cloud {
        width: 80%
    }
}

@media only screen and (min-width:1025px) {
    #overlay .overlay_padding #cloud_search #tag_cloud {
        width: 78%;
        margin-top: 40px
    }
}

@media screen and (min-width:1500px) and (min-height:780px) {
    #overlay .overlay_padding #cloud_search #tag_cloud {
        margin-top: 60px
    }
}

#overlay .overlay_padding #cloud_search #tag_cloud a {
    background: transparent;
    padding: 0.2rem 0.25rem;
    margin: 0 0.2rem;
    color: #fff;
    font-weight: 700;
    font-size: 13px;
    opacity: 0
}

@media only screen and (min-width:1025px) {
    #overlay .overlay_padding #cloud_search #tag_cloud a {
        font-size: 15px;
        padding: 0.5rem 0.5rem;
        margin: 0 0.5rem
    }
}

.no-js #overlay .overlay_padding #cloud_search #tag_cloud a {
    opacity: 1
}

#overlay .overlay_padding #cloud_search #tag_cloud a.item-importance-1 {
    font-size: 13px
}

@media only screen and (min-width:1025px) {
    #overlay .overlay_padding #cloud_search #tag_cloud a.item-importance-1 {
        font-size: 16px
    }
}

@media only screen and (min-width:1280px) {
    #overlay .overlay_padding #cloud_search #tag_cloud a.item-importance-1 {
        font-size: 15px
    }
}

#overlay .overlay_padding #cloud_search #tag_cloud a.item-importance-2 {
    font-size: 16px
}

@media only screen and (min-width:1025px) {
    #overlay .overlay_padding #cloud_search #tag_cloud a.item-importance-2 {
        font-size: 19px
    }
}

@media only screen and (min-width:1280px) {
    #overlay .overlay_padding #cloud_search #tag_cloud a.item-importance-2 {
        font-size: 20px
    }
}

#overlay .overlay_padding #cloud_search #tag_cloud a.item-importance-3 {
    font-size: 19px
}

@media only screen and (min-width:1025px) {
    #overlay .overlay_padding #cloud_search #tag_cloud a.item-importance-3 {
        font-size: 23px
    }
}

@media only screen and (min-width:1280px) {
    #overlay .overlay_padding #cloud_search #tag_cloud a.item-importance-3 {
        font-size: 30px
    }
}

#overlay .overlay_padding #cloud_search #tag_cloud a.item-importance-4 {
    font-size: 23px
}

@media only screen and (min-width:1025px) {
    #overlay .overlay_padding #cloud_search #tag_cloud a.item-importance-4 {
        font-size: 28px
    }
}

@media only screen and (min-width:1280px) {
    #overlay .overlay_padding #cloud_search #tag_cloud a.item-importance-4 {
        font-size: 40px
    }
}

#overlay .overlay_padding #cloud_search #tag_cloud a.item-importance-5 {
    font-size: 28px
}

@media only screen and (min-width:1025px) {
    #overlay .overlay_padding #cloud_search #tag_cloud a.item-importance-5 {
        font-size: 33px
    }
}

@media only screen and (min-width:1280px) {
    #overlay .overlay_padding #cloud_search #tag_cloud a.item-importance-5 {
        font-size: 60px
    }
}

#overlay .overlay_padding #cloud_search .quick_search {
    max-width: 1050px;
    width: 90%
}

#overlay .overlay_padding #cloud_search .quick_search .tx-solr-search-form-pi-results {
    display: flex;
    width: 100%
}

#overlay .overlay_padding #cloud_search .quick_search .quick_search_input {
    width: 100%;
    flex-shrink: 1
}

#overlay .overlay_padding #cloud_search .quick_search .quick_search_input ::-webkit-input-placeholder {
    color: #fff;
    font-size: 16px;
    opacity: 1
}

#overlay .overlay_padding #cloud_search .quick_search .quick_search_input ::-moz-placeholder {
    color: #fff;
    font-size: 16px;
    opacity: 1
}

#overlay .overlay_padding #cloud_search .quick_search .quick_search_input :-ms-input-placeholder {
    color: #fff;
    font-size: 16px;
    opacity: 1
}

#overlay .overlay_padding #cloud_search .quick_search .quick_search_input input:-moz-placeholder {
    color: #fff;
    font-size: 16px;
    opacity: 1
}

@media only screen and (min-width:640px) {
    #overlay .overlay_padding #cloud_search .quick_search .quick_search_input ::-webkit-input-placeholder {
        font-size: 20px
    }

    #overlay .overlay_padding #cloud_search .quick_search .quick_search_input ::-moz-placeholder {
        font-size: 20px
    }

    #overlay .overlay_padding #cloud_search .quick_search .quick_search_input :-ms-input-placeholder {
        font-size: 20px
    }

    #overlay .overlay_padding #cloud_search .quick_search .quick_search_input input:-moz-placeholder {
        font-size: 20px
    }
}

@media only screen and (min-width:1025px) {
    #overlay .overlay_padding #cloud_search .quick_search .quick_search_input ::-webkit-input-placeholder {
        font-size: 25px
    }

    #overlay .overlay_padding #cloud_search .quick_search .quick_search_input ::-moz-placeholder {
        font-size: 25px
    }

    #overlay .overlay_padding #cloud_search .quick_search .quick_search_input :-ms-input-placeholder {
        font-size: 25px
    }

    #overlay .overlay_padding #cloud_search .quick_search .quick_search_input input:-moz-placeholder {
        font-size: 25px
    }
}

#overlay .overlay_padding #cloud_search .quick_search .search {
    border: none;
    border-bottom: 3.5px solid #fff;
    width: calc(100% - 30px);
    height: 40px;
    padding: 0;
    margin: 0 30px;
    background: transparent;
    color: #fff !important;
    font-size: 16px;
    font-weight: 700
}

@media only screen and (min-width:640px) {
    #overlay .overlay_padding #cloud_search .quick_search .search {
        font-size: 20px;
        height: 52px
    }
}

@media only screen and (min-width:1025px) {
    #overlay .overlay_padding #cloud_search .quick_search .search {
        font-size: 25px;
        height: 80px
    }
}

#overlay .overlay_padding #cloud_search .quick_search .quick_search_button .search_send {
    position: relative;
    color: #FFF;
    background: transparent;
    font-size: 0;
    text-indent: 100px;
    overflow: hidden;
    width: 30px;
    height: 30px;
    top: 5px
}

@media only screen and (min-width:480px) {
    #overlay .overlay_padding #cloud_search .quick_search .quick_search_button .search_send {
        top: auto;
        width: 40px;
        height: 40px
    }
}

@media only screen and (min-width:640px) {
    #overlay .overlay_padding #cloud_search .quick_search .quick_search_button .search_send {
        width: 52px;
        height: 52px
    }
}

@media only screen and (min-width:1025px) {
    #overlay .overlay_padding #cloud_search .quick_search .quick_search_button .search_send {
        width: 80px;
        height: 80px
    }
}

#overlay .overlay_padding #cloud_search .quick_search .quick_search_button .search_send:after {
    content: "\f002";
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    display: inline-block;
    font-style: normal;
    font-variant: normal;
    font-weight: normal;
    line-height: 1;
    -moz-osx-font-smoothing: grayscale;
    -webkit-font-smoothing: antialiased;
    display: inline-block;
    font-style: normal;
    font-variant: normal;
    text-rendering: auto;
    line-height: 1;
    font-family: 'Font Awesome 5 Pro';
    font-weight: 400;
    color: #fff;
    height: 100%;
    left: 0;
    position: absolute;
    text-align: center;
    top: 0;
    width: 100%;
    text-indent: 0;
    font-weight: bold;
    line-height: 30px;
    font-size: 30px
}

@media only screen and (min-width:480px) {
    #overlay .overlay_padding #cloud_search .quick_search .quick_search_button .search_send:after {
        line-height: 40px;
        font-size: 40px
    }
}

@media only screen and (min-width:640px) {
    #overlay .overlay_padding #cloud_search .quick_search .quick_search_button .search_send:after {
        font-size: 52px;
        line-height: 52px
    }
}

@media only screen and (min-width:1025px) {
    #overlay .overlay_padding #cloud_search .quick_search .quick_search_button .search_send:after {
        line-height: 80px
    }
}

.infolist {
    display: block;
    padding-left: 30px
}

.infolist i {
    width: 25px;
    text-align: center;
    display: inline-block;
    vertical-align: top;
    position: absolute;
    left: 0px
}

.hwdatenschutz.hwcookiebanner #hwcookiebanner-small {
    display: none;
    position: fixed;
    background-color: #fff;
    background-image: url(../../images/custom/cookie-fbg.svg);
    background-size: auto 90%;
    background-position: right -20px bottom -20px;
    background-repeat: no-repeat;
    bottom: 0;
    left: 0;
    width: 100%;
    z-index: 1050;
    box-shadow: 0 0 20px 0 rgba(0, 0, 0, 0.2);
    border: none;
    border-top: 1px solid #fff;
    padding-bottom: env(safe-area-inset-bottom);
    font-size: 1.6rem
}

.hwdatenschutz.hwcookiebanner #hwcookiebanner-small .wrapcenter {
    max-width: 980px !important
}

@media only screen and (min-width:1280px) {
    .hwdatenschutz.hwcookiebanner #hwcookiebanner-small .wrapcenter {
        padding: 20px 0
    }
}

.hwdatenschutz.hwcookiebanner #hwcookiebanner-small.hwcookiebanner-open {
    display: block
}

@media only screen and (min-width:640px) {
    .hwdatenschutz.hwcookiebanner #hwcookiebanner-small #hwcookiebanner-small-text {
        text-align: center
    }
}

.hwdatenschutz.hwcookiebanner #hwcookiebanner-small #hwcookiebanner-small-text h2 {
    border: none;
    margin: 0;
    padding: 0;
    font-size: 1.8rem;
    font-weight: 700;
    color: #000
}

.hwdatenschutz.hwcookiebanner #hwcookiebanner-small #hwcookiebanner-small-text p {
    padding-top: 15px;
    line-height: 1.4
}

.hwdatenschutz.hwcookiebanner #hwcookiebanner-small .button_wrap {
    margin-top: 25px;
    display: flex;
    justify-content: space-between;
    flex-direction: column
}

@media only screen and (min-width:640px) {
    .hwdatenschutz.hwcookiebanner #hwcookiebanner-small .button_wrap {
        flex-direction: row;
        justify-content: center
    }
}

.hwdatenschutz.hwcookiebanner #hwcookiebanner-small .button_wrap .button {
    flex-grow: 1;
    text-align: center;
    margin: 0
}

@media only screen and (min-width:640px) {
    .hwdatenschutz.hwcookiebanner #hwcookiebanner-small .button_wrap .button {
        flex-grow: 0;
        padding: 10px 25px;
        margin-right: 1em
    }
}

.hwdatenschutz.hwcookiebanner #hwcookiebanner-small .button_wrap .button#hwcookiebanner-alle {
    order: -1
}

@media only screen and (min-width:640px) {
    .hwdatenschutz.hwcookiebanner #hwcookiebanner-small .button_wrap .button#hwcookiebanner-alle {
        order: 0
    }
}

.hwdatenschutz.hwcookiebanner #hwcookiebanner-small .button_wrap .button#hwcookiebanner-keine,
.hwdatenschutz.hwcookiebanner #hwcookiebanner-small .button_wrap .button#hwcookiebanner-mehr {
    color: #000;
    border-color: #cecece;
    background-color: #cecece;
    margin-top: 6px
}

@media only screen and (min-width:640px) {

    .hwdatenschutz.hwcookiebanner #hwcookiebanner-small .button_wrap .button#hwcookiebanner-keine,
    .hwdatenschutz.hwcookiebanner #hwcookiebanner-small .button_wrap .button#hwcookiebanner-mehr {
        margin-top: 0
    }
}

@media only screen and (min-width:640px) {
    .hwdatenschutz.hwcookiebanner #hwcookiebanner-small .button_wrap .button#hwcookiebanner-mehr {
        margin-right: 0
    }
}

.hwdatenschutz.hwcookiebanner #hwcookiebanner-small #hwcookiebanner-small-links {
    padding-top: 20px
}

@media only screen and (min-width:640px) {
    .hwdatenschutz.hwcookiebanner #hwcookiebanner-small #hwcookiebanner-small-links {
        text-align: center
    }
}

.hwdatenschutz.hwcookiebanner #hwcookiebanner-small #hwcookiebanner-small-links a {
    margin-left: 10px
}

.hwdatenschutz.hwcookiebanner #hwcookiebanner-small #hwcookiebanner-small-links a:first-child {
    margin-left: 0
}

@media only screen and (min-width:1025px) {
    #menue_wrap_scroll {
        height: 100%
    }

    #main_menu>ul {
        display: flex;
        justify-content: center;
        height: 100%;
        padding: 0 50px
    }
}

@media only screen and (min-width:1025px) and (min-width:1280px) {
    #main_menu>ul {
        padding: 0 100px
    }
}

@media only screen and (min-width:1025px) {
    #main_menu>ul>li {
        display: block
    }

    #main_menu>ul>li:first-child>button:before {
        opacity: 0
    }

    #main_menu>ul>li.active>button {
        background: #BBCF00;
        color: #2C2C2C
    }

    #main_menu>ul>li.active>button:before {
        opacity: 0
    }

    #main_menu>ul>li.active+li>button:before {
        opacity: 0
    }

    #main_menu>ul>li>button {
        position: relative;
        align-items: center;
        justify-content: center;
        padding: 10px 7px;
        height: 100%;
        color: #2C2C2C;
        background: transparent;
        text-decoration: none;
        font-size: 1.6rem;
        font-weight: 700
    }
}

@media only screen and (min-width:1025px) and (min-width:1125px) {
    #main_menu>ul>li>button {
        padding: 10px 20px
    }
}

@media only screen and (min-width:1025px) and (min-width:1225px) {
    #main_menu>ul>li>button {
        padding: 10px 25px
    }
}

@media only screen and (min-width:1025px) and (min-width:1500px) {
    #main_menu>ul>li>button {
        padding: 10px 40px
    }
}

@media only screen and (min-width:1025px) and (min-width:1280px) {
    #main_menu>ul>li>button {
        font-size: 1.9rem
    }
}

@media only screen and (min-width:1025px) {
    #main_menu>ul>li>button span {
        background-image: linear-gradient(90deg, #2C2C2C 0%, #2C2C2C 100%);
        background-size: 0 2px;
        background-repeat: no-repeat;
        background-position: left bottom
    }

    #main_menu>ul>li>button:before {
        content: "";
        position: absolute;
        top: 50%;
        left: 0;
        display: block;
        width: 1px;
        height: 30px;
        margin-top: -15px;
        background-color: #D3D3D3
    }
}

@media only screen and (min-width:1025px) and (min-width:1280px) {
    #main_menu>ul>li>button:before {
        height: 40px;
        margin-top: -20px
    }
}

@media only screen and (min-width:1025px) {
    #main_menu>ul>li>label {
        display: none
    }

    #main_menu>ul>li>ul {
        display: none
    }

    #header #menue_wrap {
        flex-grow: 1;
        height: 100%
    }

    #header #menue_wrap #main_menu {
        height: 100%
    }
}

#menu_view>.nav_main_view ul,
#menu_view>.nav_main_view li {
    list-style: none;
    padding: 0
}

#menu_view>.nav_main_view>input {
    display: none
}

#menu_view>.nav_main_view>.nav_main_first_level_content {
    display: block;
    background: #fff;
    overflow: hidden;
    opacity: 0
}

.no-js #menu_view>.nav_main_view>.nav_main_first_level_content {
    display: none
}

.no-js #menu_view>.nav_main_view>.nav_main_first_level_content {
    height: auto !important;
    width: auto !important
}

#menu_view>.nav_main_view>.nav_main_first_level_content .nav_main_first_level_content_inner {
    display: none
}

#menu_view>.nav_main_view #nav_exit_input {
    display: none !important
}

li>ul {
    padding-left: 30px
}

#menu_view .nav_main_first_level_content_menue>.nav_main_view_sub {
    display: flex;
    flex-direction: column
}

@media (min-width:1024px) {
    #menu_view .nav_main_first_level_content_menue>.nav_main_view_sub {
        flex-wrap: wrap;
        flex-direction: row;
        justify-content: space-between
    }
}

#menu_view .nav_main_first_level_content_menue>.nav_main_view_sub>li {
    position: relative;
    width: 31%;
    width: calc((100% / 3) - (30px / 3))
}

#menu_view .nav_main_first_level_content_menue>.nav_main_view_sub>li>a,
#menu_view .nav_main_first_level_content_menue>.nav_main_view_sub>li>button {
    display: flex;
    padding: 10px 0px 10px 10px;
    margin: 0px;
    width: 100%;
    font-size: 16px;
    line-height: 1.4em;
    color: #2C2C2C;
    background: rgba(0, 0, 0, 0);
    border-bottom: 1px solid #BEBEBE;
    font-weight: 400
}

#menu_view .nav_main_first_level_content_menue>.nav_main_view_sub>li>a>span,
#menu_view .nav_main_first_level_content_menue>.nav_main_view_sub>li>button>span {
    padding-right: 30px;
    white-space: nowrap;
    -ms-text-overflow: ellipsis;
    -o-text-overflow: ellipsis;
    text-overflow: ellipsis;
    overflow: hidden
}

#menu_view .nav_main_first_level_content_menue>.nav_main_view_sub>li>button.hasChild {
    padding-right: 30px
}

#menu_view .nav_main_first_level_content_menue>.nav_main_view_sub>li>button.hasChild:after {
    content: "\f067";
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    display: inline-block;
    font-style: normal;
    font-variant: normal;
    font-weight: normal;
    line-height: 1;
    -moz-osx-font-smoothing: grayscale;
    -webkit-font-smoothing: antialiased;
    display: inline-block;
    font-style: normal;
    font-variant: normal;
    text-rendering: auto;
    line-height: 1;
    font-family: 'Font Awesome 5 Pro';
    font-weight: 400;
    position: absolute;
    top: 50%;
    right: 10px;
    font-size: 13px;
    color: #2C2C2C;
    transform: translateY(-50%)
}

#menu_view .nav_main_first_level_content_menue>.nav_main_view_sub>li.active {
    z-index: 4
}

#menu_view .nav_main_first_level_content_menue>.nav_main_view_sub>li>.nav_main_view_sub {
    display: none;
    overflow: hidden;
    flex-direction: column
}

.nav_exit {
    position: absolute;
    top: 0;
    right: 0;
    width: 40px;
    height: 100%
}

@media only screen and (min-width:1280px) {
    .nav_exit {
        width: 50px
    }
}

.nav_exit .close-menu-button {
    background-color: #BBCF00;
    background-size: 90% auto;
    background-position: center bottom 4px;
    background-repeat: no-repeat;
    color: #2C2C2C;
    width: inherit;
    height: inherit
}

.nav_exit .close-menu-button:before {
    font-size: 12px;
    position: absolute;
    top: 5px;
    right: 0;
    width: 100%;
    text-align: center;
    content: "\f00d";
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    display: inline-block;
    font-style: normal;
    font-variant: normal;
    font-weight: normal;
    line-height: 1;
    -moz-osx-font-smoothing: grayscale;
    -webkit-font-smoothing: antialiased;
    display: inline-block;
    font-style: normal;
    font-variant: normal;
    text-rendering: auto;
    line-height: 1;
    font-family: 'Font Awesome 5 Pro';
    font-weight: 400;
    line-height: 32px
}

@media only screen and (min-width:1280px) {
    .nav_exit .close-menu-button:before {
        top: 12px
    }
}

.nav_exit .close-menu-button .close-menu-button-text {
    transform: rotate(90deg);
    white-space: nowrap;
    position: absolute;
    left: -40px;
    top: 88px
}

@media only screen and (min-width:1280px) {
    .nav_exit .close-menu-button .close-menu-button-text {
        left: -35px;
        top: 100px
    }
}

.no-js .nav_exit .close-menu-button {
    display: none
}

.nav_exit_back {
    position: absolute;
    top: 1px;
    left: 1px
}

@media only screen and (min-width:1025px) {
    .menu-overlay {
        background: rgba(36, 36, 36, 0.9);
        position: fixed;
        top: -50vh;
        left: -50vw;
        width: 200vw;
        height: 200vh;
        transform: scale(0);
        transform-origin: top left;
        border-radius: 100%;
        z-index: 19
    }
}

#subnavi_wrap {
    display: none
}

@media only screen and (min-width:1025px) {
    #subnavi_wrap {
        background: none;
        position: absolute;
        top: 242px;
        left: 0;
        z-index: 10;
        width: 0;
        display: flex;
        justify-content: end
    }
}

#subnavi_wrap #subnavi_button {
    position: absolute;
    top: 0;
    right: 0;
    height: 155px;
    width: 70px;
    margin-right: -69px;
    background-color: #BBCF00;
    color: #2C2C2C
}

@media only screen and (min-width:1280px) {
    #subnavi_wrap #subnavi_button {
        height: 155px;
        width: 70px
    }
}

#subnavi_wrap #subnavi_button .text {
    transform: rotateZ(-90deg);
    position: absolute;
    transform-origin: left;
    font-size: 24px;
    font-weight: bold
}

#subnavi_wrap #subnavi_button .icon {
    display: block;
    position: absolute;
    right: 13px;
    bottom: 13px;
    z-index: +5;
    height: 44px;
    width: 44px
}

#subnavi_wrap #subnavi_button .icon span {
    position: absolute;
    left: 8px;
    height: 3px !important;
    padding: 0px !important;
    width: 28px;
    z-index: inherit;
    background: #2C2C2C
}

#subnavi_wrap #subnavi_button .icon .o {
    top: 12px
}

#subnavi_wrap #subnavi_button .icon .m {
    top: 21px
}

#subnavi_wrap #subnavi_button .icon .u {
    top: 30px
}

#subnavi_wrap #subnavi_button .icon .o,
#subnavi_wrap #subnavi_button .icon .u {
    transform: rotate(0deg)
}

#subnavi_wrap #subnavi_button .icon .m {
    opacity: 1
}

#subnavi_wrap #subnavi {
    display: none;
    position: absolute;
    top: 0;
    right: 0;
    width: 400px !important;
    flex-shrink: 0
}

#subnavi .subnavi_inner {
    background: #fff;
    box-shadow: none;
    border-right: 5px solid #BBCF00;
    padding: 45px 50px
}

#subnavi .subnavi_inner #subnavi_title {
    color: #0D2E4E;
    font-weight: 700;
    font-size: 3rem
}

#subnavi .subnavi_inner .menu_sub {
    list-style: none;
    margin: 0;
    padding: 16px 0 0 0
}

@media only screen and (min-width:1280px) {
    #subnavi .subnavi_inner .menu_sub {
        padding: 24px 0 0 0
    }
}

#subnavi .subnavi_inner .menu_sub>li {
    position: relative;
    font-size: 16px;
    border-top: 0;
    border-right: 0;
    border-left: 0;
    border-bottom: 8px solid #BBCF00;
    border-image-source: url(../../images/custom/border_green.png);
    border-image-slice: 33%;
    border-image-repeat: round
}

#subnavi .subnavi_inner .menu_sub>li:first-child {
    border-top: none
}

#subnavi .subnavi_inner .menu_sub>li:last-child {
    border: none
}

#subnavi .subnavi_inner .menu_sub>li.open>ul {
    display: block
}

#subnavi .subnavi_inner .menu_sub>li.open+li {
    border-top: none
}

#subnavi .subnavi_inner .menu_sub>li>a,
#subnavi .subnavi_inner .menu_sub>li>button {
    position: relative;
    width: 100%;
    text-align: left;
    color: #2C2C2C;
    padding: 21px 0 17px 0;
    display: block;
    font-size: 2.1rem
}

#subnavi .subnavi_inner .menu_sub>li>a span,
#subnavi .subnavi_inner .menu_sub>li>button span {
    background-image: linear-gradient(90deg, #2C2C2C 0%, #2C2C2C 100%);
    background-size: 0 2px;
    background-repeat: no-repeat;
    background-position: left bottom
}

#subnavi .subnavi_inner .menu_sub>li.hasChild>button {
    padding-right: 25px
}

#subnavi .subnavi_inner .menu_sub>li.hasChild>button span:after {
    content: "\f067";
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    display: inline-block;
    font-style: normal;
    font-variant: normal;
    font-weight: normal;
    line-height: 1;
    -moz-osx-font-smoothing: grayscale;
    -webkit-font-smoothing: antialiased;
    display: inline-block;
    font-style: normal;
    font-variant: normal;
    text-rendering: auto;
    line-height: 1;
    font-family: 'Font Awesome 5 Pro';
    font-weight: 400;
    font-size: 10px;
    position: absolute;
    right: 4px;
    top: 50%;
    margin-top: -5px
}

#subnavi .subnavi_inner .menu_sub>li.hasChild.open>button {
    color: #0D2E4E;
    font-weight: 700
}

#subnavi .subnavi_inner .menu_sub>li.hasChild.active>button {
    font-weight: 700
}

#subnavi .subnavi_inner .menu_sub>li.hasChild.open>button span:after {
    content: "\f068";
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    display: inline-block;
    font-style: normal;
    font-variant: normal;
    font-weight: normal;
    line-height: 1;
    -moz-osx-font-smoothing: grayscale;
    -webkit-font-smoothing: antialiased;
    display: inline-block;
    font-style: normal;
    font-variant: normal;
    text-rendering: auto;
    line-height: 1;
    font-family: 'Font Awesome 5 Pro';
    font-weight: 400
}

#subnavi .subnavi_inner .menu_sub>li>ul {
    display: none;
    list-style: none;
    padding: 0 20px;
    margin: 0;
    border-top: 0;
    border-right: 0;
    border-left: 0;
    border-top: 8px solid #BBCF00;
    border-image-source: url(../../images/custom/border_green.png);
    border-image-slice: 33%;
    border-image-repeat: round
}

#subnavi .subnavi_inner .menu_sub>li>ul li {
    position: relative
}

#subnavi .subnavi_inner .menu_sub>li>ul li:first-child {
    padding-top: 16px
}

#subnavi .subnavi_inner .menu_sub>li>ul li:last-child {
    padding-bottom: 16px
}

#subnavi .subnavi_inner .menu_sub>li>ul li.current span {
    color: #0D2E4E;
    font-weight: 700;
    display: block;
    padding: 12px 0;
    position: relative;
    font-size: 1.9rem
}

#subnavi .subnavi_inner .menu_sub>li>ul li>a {
    position: relative;
    color: #2C2C2C;
    padding: 12px 0;
    display: block;
    font-size: 1.9rem
}

#subnavi .subnavi_inner .menu_sub>li>ul li>a span {
    background-image: linear-gradient(90deg, #2C2C2C 0%, #2C2C2C 100%);
    background-size: 0 2px;
    background-repeat: no-repeat;
    background-position: left bottom
}

@media only screen and (min-width:0) and (max-width:1024px) {
    #menue_wrap {
        position: fixed;
        top: 30px;
        bottom: 0;
        visibility: hidden;
        right: -100%;
        width: 100%;
        background: #fff;
        z-index: 50;
        transform: translate3d(0%, 0px, 0px);
        box-shadow: 1px 1px 11px 2px rgba(0, 0, 0, 0);
        webkit-backface-visibility: hidden
    }
}

@media only screen and (min-width:0) and (max-width:1024px) and (min-width:480px) {
    #menue_wrap {
        right: -380px;
        width: 380px
    }
}

@media only screen and (min-width:0) and (max-width:1024px) and (min-width:0px) {
    #menue_wrap .menue_mobile_title {
        display: block;
        position: relative;
        height: 60px;
        width: 100%;
        padding: 0 60px 0 25px;
        background-color: #0D2E4E;
        color: #fff;
        font-size: 2rem;
        line-height: 60px;
        z-index: 2;
        white-space: nowrap;
        -ms-text-overflow: ellipsis;
        -o-text-overflow: ellipsis;
        text-overflow: ellipsis;
        overflow: hidden
    }
}

@media only screen and (min-width:0) and (max-width:1024px) and (min-width:640px) {
    #menue_wrap .menue_mobile_title {
        height: 80px;
        line-height: 80px
    }
}

@media only screen and (min-width:0) and (max-width:1024px) and (min-width:1025px) {
    #menue_wrap .menue_mobile_title {
        display: none
    }
}

@media only screen and (min-width:0) and (max-width:1024px) {
    #menue_wrap .menue_mobile_title span {
        display: block;
        flex-grow: 1;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
        font-weight: 700
    }

    #menue_wrap .menue_mobile_title .button_menue_mobile {
        flex-grow: 0;
        top: 50%
    }

    #menue_wrap #menue_wrap_scroll {
        position: absolute;
        left: 0;
        right: 0;
        bottom: 0;
        width: 100%;
        overflow: scroll;
        -webkit-overflow-scrolling: touch;
        overflow-x: hidden;
        background-color: #fff;
        background-image: url(../../images/custom/menue_mobile_bg.svg);
        background-size: 465px 465px;
        background-position: center left -190px;
        background-repeat: no-repeat;
        top: 60px
    }
}

@media only screen and (min-width:0) and (max-width:1024px) and (min-width:640px) {
    #menue_wrap #menue_wrap_scroll {
        top: 80px
    }
}

@media only screen and (min-width:0) and (max-width:1024px) {
    #menue_wrap #menue_wrap_scroll #menue_wrap_sozial {
        position: fixed;
        bottom: 0;
        left: 0;
        right: 0;
        display: flex;
        justify-content: space-between;
        height: 50px;
        background-color: #0D2E4E;
        color: #fff
    }

    #menue_wrap #menue_wrap_scroll #menue_wrap_sozial #email_mobile a {
        display: inline-block;
        height: 50px;
        line-height: 50px;
        background-color: #2C5883;
        color: #fff;
        font-size: 14px;
        font-weight: 700;
        padding: 0 10px
    }
}

@media only screen and (min-width:0) and (max-width:1024px) and (min-width:360px) {
    #menue_wrap #menue_wrap_scroll #menue_wrap_sozial #email_mobile a {
        padding: 0 14px
    }
}

@media only screen and (min-width:0) and (max-width:1024px) and (min-width:480px) {
    #menue_wrap #menue_wrap_scroll #menue_wrap_sozial #email_mobile a {
        padding: 0 18px
    }
}

@media only screen and (min-width:0) and (max-width:1024px) {
    #menue_wrap #menue_wrap_scroll #menue_wrap_sozial #email_mobile a i {
        padding-right: 10px
    }

    #menue_wrap #menue_wrap_scroll #menue_wrap_sozial #sozial-mobile a {
        position: relative;
        display: inline-block;
        width: 40px;
        height: 100%;
        margin: 0 0 0 8px;
        text-align: center;
        vertical-align: top;
        font-size: 22px;
        color: #FFF
    }
}

@media only screen and (min-width:0) and (max-width:1024px) and (min-width:1280px) {
    #menue_wrap #menue_wrap_scroll #menue_wrap_sozial #sozial-mobile a {
        width: 50px;
        font-size: 28px
    }
}

@media only screen and (min-width:0) and (max-width:1024px) {
    #menue_wrap #menue_wrap_scroll #menue_wrap_sozial #sozial-mobile a i {
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%)
    }

    #menue_wrap #menue_wrap_scroll #menue_wrap_sozial #sozial-mobile a .icon_text {
        border: 0;
        clip: rect(0, 0, 0, 0);
        height: 1px;
        margin: -1px;
        overflow: hidden;
        padding: 0;
        position: absolute;
        width: 1px
    }

    #main_menu {
        display: flex;
        flex-direction: column;
        padding-bottom: env(safe-area-inset-bottom)
    }

    #main_menu>ul {
        margin: 20px 40px 80px;
        flex: 1 0 auto
    }

    #main_menu>ul>li {
        font-size: 2.2rem
    }

    #main_menu>ul>li>button {
        font-size: 2.2rem;
        font-weight: 700;
        color: #0D2E4E
    }

    #main_menu li {
        list-style: none;
        width: 100%;
        overflow: hidden;
        display: block
    }

    #main_menu li a,
    #main_menu li button {
        display: block
    }

    #main_menu li label {
        display: none !important
    }

    #main_menu li>ul {
        display: none
    }

    #main_menu li>button.hasChild {
        position: relative
    }

    #main_menu li>button.hasChild:before {
        content: "\f067";
        -webkit-font-smoothing: antialiased;
        -moz-osx-font-smoothing: grayscale;
        display: inline-block;
        font-style: normal;
        font-variant: normal;
        font-weight: normal;
        line-height: 1;
        -moz-osx-font-smoothing: grayscale;
        -webkit-font-smoothing: antialiased;
        display: inline-block;
        font-style: normal;
        font-variant: normal;
        text-rendering: auto;
        line-height: 1;
        font-family: 'Font Awesome 5 Pro';
        font-weight: 400;
        position: absolute;
        top: 0;
        right: 3px;
        height: 100%;
        width: 20px;
        color: inherit;
        font-size: 17px;
        text-align: center;
        display: flex;
        align-items: center
    }

    #main_menu li.mobile_open>button {
        color: #008476
    }

    #main_menu li.mobile_open>button.hasChild:before {
        content: "\f068";
        -webkit-font-smoothing: antialiased;
        -moz-osx-font-smoothing: grayscale;
        display: inline-block;
        font-style: normal;
        font-variant: normal;
        font-weight: normal;
        line-height: 1;
        -moz-osx-font-smoothing: grayscale;
        -webkit-font-smoothing: antialiased;
        display: inline-block;
        font-style: normal;
        font-variant: normal;
        text-rendering: auto;
        line-height: 1;
        font-family: 'Font Awesome 5 Pro';
        font-weight: 400;
        display: flex
    }

    #main_menu li.active>button {
        color: #008476;
        font-weight: 700
    }

    #main_menu li.current>span {
        display: flex;
        line-height: 1.6;
        padding: 1em 35px 1em 0;
        align-items: center;
        color: #008476;
        font-size: 16px;
        font-weight: 700;
        border-bottom: 1px solid #aaa;
        -ms-text-overflow: ellipsis;
        -o-text-overflow: ellipsis;
        text-overflow: ellipsis;
        overflow: hidden
    }

    #main_menu li a,
    #main_menu li button {
        display: block;
        text-align: left;
        width: 100%;
        line-height: 1.6;
        padding: 1em 35px 1em 0;
        align-items: center;
        color: #2C2C2C;
        font-size: 16px;
        border-bottom: 1px solid #aaa;
        text-decoration: none;
        -ms-text-overflow: ellipsis;
        -o-text-overflow: ellipsis;
        text-overflow: ellipsis;
        overflow: hidden
    }

    #main_menu li.mobile_open>ul {
        display: block
    }

    #main_menu li ul {
        margin: 0 0 0 20px;
        padding: 0
    }

    #main_menu li ul li {
        margin: 0;
        padding: 0
    }

    #main_menu li ul li a,
    #main_menu li ul li button {
        padding: 0.8em 30px 0.8em 5px;
        font-size: 15px;
        text-transform: none
    }

    #main_menu li ul li ul {
        border-bottom: none
    }

    #main_menu li ul li ul li {
        display: block;
        margin: 0;
        padding: 0
    }

    #main_menu li ul li ul li a,
    #main_menu li ul li ul li button {
        padding: 0.8em 30px 0.8em 5px;
        font-size: 14px;
        text-transform: none
    }

    .menu-overlay {
        background: rgba(36, 36, 36, 0.9);
        position: fixed;
        top: -50vh;
        left: -50vw;
        width: 200vw;
        height: 200vh;
        transform: scale(0);
        transform-origin: top left;
        border-radius: 100%;
        z-index: 19
    }
}

@media only screen and (min-width:1025px) {
    #menue_wrap .menue_mobile_title {
        display: none !important
    }

    #menue_wrap #menue_wrap_sozial {
        display: none
    }
}

#search_wrap_mobile {
    position: absolute;
    top: calc(((100% - 30px) / 2) + 30px);
    right: 48px;
    margin-top: -16px
}

@media only screen and (min-width:640px) {
    #search_wrap_mobile {
        margin-top: -20px;
        right: 60px
    }
}

#search_wrap_mobile button {
    height: 32px;
    width: 32px;
    margin-right: 16px;
    color: #0D2E4E
}

@media only screen and (min-width:640px) {
    #search_wrap_mobile button {
        height: 40px;
        width: 40px
    }
}

.button_menue_mobile {
    display: block;
    position: absolute;
    right: 16px;
    margin-top: -16px;
    top: calc(((100% - 30px) / 2) + 30px);
    z-index: +5;
    height: 32px;
    width: 32px;
    background: none
}

@media only screen and (min-width:1025px) {
    .button_menue_mobile {
        display: none
    }
}

.menue_mobile_title .button_menue_mobile {
    background: none
}

@media only screen and (min-width:640px) {
    .button_menue_mobile {
        height: 40px;
        width: 40px;
        margin-top: -20px;
        right: 20px
    }
}

.button_menue_mobile span {
    position: absolute;
    left: 5px;
    height: 2px !important;
    padding: 0px !important;
    width: 22px;
    z-index: inherit;
    background: #0D2E4E
}

@media only screen and (min-width:640px) {
    .button_menue_mobile span {
        left: 8px;
        width: 24px
    }
}

.menue_mobile_title .button_menue_mobile span {
    background: #fff
}

.button_menue_mobile .o {
    top: 6px
}

@media only screen and (min-width:640px) {
    .button_menue_mobile .o {
        top: 8px
    }
}

.button_menue_mobile .m {
    top: 14px
}

@media only screen and (min-width:640px) {
    .button_menue_mobile .m {
        top: 18px
    }
}

.button_menue_mobile .u {
    top: 22px
}

@media only screen and (min-width:640px) {
    .button_menue_mobile .u {
        top: 28px
    }
}

.button_menue_mobile .o,
.button_menue_mobile .u {
    transform: rotate(0deg)
}

.button_menue_mobile .m {
    opacity: 1
}

:root {
    --swiper-theme-color: #007aff
}

:root {
    --swiper-navigation-size: 44px
}

#footer .footer_row.footer_row-landscape .footer_boxen .footer_box.footer_box-headline {
    grid-area: Headline
}

#footer .footer_row.footer_row-landscape .footer_boxen .footer_box.footer_box-1 {
    grid-area: Address
}

#footer .footer_row.footer_row-landscape .footer_boxen .footer_box.footer_box-2 {
    grid-area: Hours;
    padding-top: 40px
}

#footer .footer_row.footer_row-landscape .footer_boxen .footer_box.footer_box-3 {
    grid-area: Map
}

.hw_map_location {
    padding-top: 150px
}