/*@charset "UTF-8";*/
.h1, h1, h2, .h2 {
    font-weight: 900;
    color: var(--main-green);
    font-size: 50px;
    text-transform: uppercase
}

.h1 p, h1 p, h2 p, .h2 p {
    line-height: 1.25
}

.subheader {
    text-transform: none
}

h1 .subheader, h2 .subheader, .subheader-h1, .subheader-h2 {
    font-size: 27px;
    font-weight: 400;
    color: var(--text-blue)
}

h2, .h2 {
    font-size: 40px;
    text-transform: uppercase
}

h3, .h3 {
    font-size: 32px;
    text-transform: uppercase
}

h2 .subheader, .subheader-h2, h3 .subheader, .subheader-h3 {
    font-weight: 300
}

.h3, h3 {
    font-weight: 800
}

.h4, h4 {
    font-weight: 600
}

.h5, h5 {
    font-weight: 600
}

h6 {
    font-size: 18px
}

p {
    line-height: 1.75
}

figure {
    margin: 0
}

a {
    color: inherit
}

strong, b {
    font-weight: 600
}

.page-maxwidth, .frame:not(.frame-type-shortcut):not(.frame-layout-1), .frame-type-uploads {
    max-width: 1380px;
    margin-left: auto;
    margin-right: auto;
    padding-left: clamp(10px, 5vw, 30px);
    padding-right: clamp(10px, 5vw, 30px)
}

.col > .frame-default, .col .frame, .col .frame-default, .col .page-maxwidth {
    padding-left: 0 !important;
    padding-right: 0 !important
}

.form-control {
    max-width: 100% !important
}

.bgimage {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center center
}

.frame {
    margin-bottom: 4em
}

.frame:has(.schnelleinstieg) {
    margin-bottom: 0
}

.frame:has(.ce-accordion) {
    margin-bottom: 2em
}

.frame-default header:has(div.subheader) h1, .frame-default header:has(div.subheader) h2 {
    margin-bottom: 0
}

.frame-default header:has(div.subheader) .subheader {
    margin-bottom: 0.5em
}

.frame-underlined::after, .frame-dash-underlined::after, .frame-green-underlined::after, .frame-green-dash-underlined::after {
    content: ' ';
    display: block;
    border-bottom: 1px solid var(--text-blue)
}

.frame-underlined.frame-dash-underlined::after, .frame-underlined.frame-green-dash-underlined::after, .frame-dash-underlined.frame-dash-underlined::after, .frame-dash-underlined.frame-green-dash-underlined::after, .frame-green-underlined.frame-dash-underlined::after, .frame-green-underlined.frame-green-dash-underlined::after, .frame-green-dash-underlined.frame-dash-underlined::after, .frame-green-dash-underlined.frame-green-dash-underlined::after {
    border-bottom-style: dashed
}

.frame-underlined.frame-green-underlined::after, .frame-underlined.frame-green-dash-underlined::after, .frame-dash-underlined.frame-green-underlined::after, .frame-dash-underlined.frame-green-dash-underlined::after, .frame-green-underlined.frame-green-underlined::after, .frame-green-underlined.frame-green-dash-underlined::after, .frame-green-dash-underlined.frame-green-underlined::after, .frame-green-dash-underlined.frame-green-dash-underlined::after {
    border-bottom-color: var(--main-green)
}

.frame-type-uploads .uploads-inner {
    font-weight: 200
}

.frame-type-uploads .uploads-inner h2, .frame-type-uploads .uploads-inner h3, .frame-type-uploads .uploads-inner h4 {
    font-weight: 600;
    margin-bottom: 1em
}

.frame-type-uploads .uploads-inner .btn {
    padding-left: 2em;
    padding-right: 2em
}

.frame-type-uploads.frame-blue-bg .uploads-inner {
    background: radial-gradient(circle at 100% 100%, #005277 19%, #003b56 100%);
    color: #fff;
    padding: 2em 1em
}

.frame-type-uploads.frame-blue-bg .uploads-inner h2, .frame-type-uploads.frame-blue-bg .uploads-inner h3, .frame-type-uploads.frame-blue-bg .uploads-inner h4 {
    color: #fff
}

.frame-type-text.frame-bg-darkblue, .frame-type-text.frame-bg-medblue {
    padding-top: 1em;
    padding-bottom: 1em
}

.gallery-row img {
    width: 100%;
    height: auto
}

.cornerlink {
    border-radius: 8px 0px 0px 0px
}

.btn {
    /*margin-bottom: 8px;*/
    text-transform: uppercase;
    --bs-btn-padding-y: 0.25em;
    --bs-btn-padding-x: 0.75em
}

.clearbutton {
    border: none;
    margin: 0px;
    padding: 0px;
    background: transparent
}

.loading {
    opacity: 0.5
}

div {
    transition: opacity 0.2s
}

button.nobutton {
    margin: 0;
    padding: 0;
    background: transparent;
    border: none
}

.backlink {
    display: inline-block;
    transition: 0.2s ease-in-out
}

.backlink::before {
    content: "";
    display: inline-block;
    text-decoration: none;
    padding-right: 0.25em;
    font-family: "Font Awesome 6 Free";
    font-weight: 900
}

.backlink:hover {
    letter-spacing: 1px
}

.bg-darkblue, .frame-bg-darkblue {
    background-color: var(--dark-blue);
    color: #fff
}

.bg-medblue, .frame-bg-medblue {
    background-color: var(--med-blue);
    color: #fff
}

.bg-green {
    background-color: var(--main-green);
    color: #fff
}

.bg-red {
    background-color: var(--text-red);
    color: #fff
}

.bg-grey, .frame-bg-grey {
    background: var(--light-grey)
}

.text-white {
    color: #fff
}

.text-red {
    color: var(--text-red)
}

.text-green {
    color: var(--main-green);
    transition: color 0.2s
}

.text-yellow {
    color: orange
}

.text-darkblue {
    color: var(--dark-blue)
}

.text-medblue {
    color: var(--med-blue)
}

.text-600 {
    font-weight: 600
}

.pre-wrap {
    white-space: pre-wrap
}

.pre-line {
    white-space: pre-line
}

.no-wrap {
    white-space: nowrap
}

.fontsize-12 {
    font-size: 12px
}

.fontsize-14 {
    font-size: 14px
}

.fontsize-17 {
    font-size: 17px
}

.fontsize-16 {
    font-size: 16px
}

.fontsize-18 {
    font-size: 18px
}

.fontsize-22 {
    font-size: 22px
}

ul.nolist, ul.nolist li {
    list-style: none;
    padding: 0;
    margin: 0
}

.greyscale {
    filter: grayscale(1)
}

.green-inputs .form-check-input:checked {
    background-color: var(--main-green);
    border-color: var(--main-green)
}

.green-inputs .form-check-input:focus {
    box-shadow: 0 0 0 0.25rem rgba(131, 185, 58, 0.25)
}

.input-group.floating-icon, .button-group.for-dropdown {
    --bs-border-color: #012A3D
}

.input-group.floating-icon input.form-control, .button-group.for-dropdown input.form-control {
    border-right-width: 0
}

.input-group.floating-icon input.form-control::placeholder, .button-group.for-dropdown input.form-control::placeholder {
    font-size: 0.8em
}

.input-group.floating-icon .input-group-text, .button-group.for-dropdown .input-group-text {
    background: inherit
}

.input-group.floating-icon.pill input.form-control, .input-group.floating-icon.pill button:first-of-type, .button-group.for-dropdown.pill input.form-control, .button-group.for-dropdown.pill button:first-of-type {
    border-radius: 999px 0 0 999px
}

.input-group.floating-icon.pill input.form-controlbutton:first-of-type, .input-group.floating-icon.pill button:first-of-typebutton:first-of-type, .button-group.for-dropdown.pill input.form-controlbutton:first-of-type, .button-group.for-dropdown.pill button:first-of-typebutton:first-of-type {
    border: 1px solid var(--main-green)
}

.input-group.floating-icon.pill .input-group-text, .input-group.floating-icon.pill button.dropdown-toggle-split, .button-group.for-dropdown.pill .input-group-text, .button-group.for-dropdown.pill button.dropdown-toggle-split {
    border-radius: 0 999px 999px 0
}

.input-group.pill .form-control {
    border-radius: 999px
}

.grey-pill .form-control, .grey-pill .input-group-text {
    background: var(--light-grey) !important
}

.form-select.green-arrow, .input-group.green-arrow, .button-group.green-arrow {
    --bs-form-select-bg-img: url("../Images/select-arrow-green.svg");
    background-size: auto 100%;
    background-position: right center;
    transition: 0.2s
}

.form-select.green-input-text .input-group-text, .input-group.green-input-text .input-group-text, .button-group.green-input-text .input-group-text {
    color: #fff;
    background-color: var(--main-green);
    transition: 0.2s
}

.form-select.withshadow, .form-select.withshadow input, .input-group.withshadow, .input-group.withshadow input, .button-group.withshadow, .button-group.withshadow input {
    -webkit-box-shadow: inset 10px 10px 5px -8px rgba(0, 0, 0, 0.25);
    -moz-box-shadow: inset 10px 10px 5px -8px rgba(0, 0, 0, 0.25);
    box-shadow: inset 10px 10px 5px -8px rgba(0, 0, 0, 0.25);
    --bs-border-color: #cfcfcf
}

.form-select.twocorners, .form-select.twocorners input, .form-select.twocorners .input-group-text, .input-group.twocorners, .input-group.twocorners input, .input-group.twocorners .input-group-text, .button-group.twocorners, .button-group.twocorners input, .button-group.twocorners .input-group-text {
    border-radius: 0 6px 6px 0
}

.form-select.twocorners.input-group-text, .form-select.twocorners input.input-group-text, .form-select.twocorners .input-group-text.input-group-text, .input-group.twocorners.input-group-text, .input-group.twocorners input.input-group-text, .input-group.twocorners .input-group-text.input-group-text, .button-group.twocorners.input-group-text, .button-group.twocorners input.input-group-text, .button-group.twocorners .input-group-text.input-group-text {
    width: 4em;
    justify-content: center
}

.form-select.twocorners.button-group, .form-select.twocorners input.button-group, .form-select.twocorners .input-group-text.button-group, .input-group.twocorners.button-group, .input-group.twocorners input.button-group, .input-group.twocorners .input-group-text.button-group, .button-group.twocorners.button-group, .button-group.twocorners input.button-group, .button-group.twocorners .input-group-text.button-group {
    border: var(--bs-border-width) solid var(--bs-border-color);
    display: inline-block
}

.form-select.twocorners .rightside, .form-select.twocorners input .rightside, .form-select.twocorners .input-group-text .rightside, .input-group.twocorners .rightside, .input-group.twocorners input .rightside, .input-group.twocorners .input-group-text .rightside, .button-group.twocorners .rightside, .button-group.twocorners input .rightside, .button-group.twocorners .input-group-text .rightside {
    border-radius: 0px 6px 6px 0px
}

.form-select.twocorners .btn, .form-select.twocorners input .btn, .form-select.twocorners .input-group-text .btn, .input-group.twocorners .btn, .input-group.twocorners input .btn, .input-group.twocorners .input-group-text .btn, .button-group.twocorners .btn, .button-group.twocorners input .btn, .button-group.twocorners .input-group-text .btn {
    margin: 0 !important
}

.tx-powermail .powermail_fieldset .powermail-errors-list, .tx-powermail .powermail_fieldset .powermail_field_error_container .powermail-errors-list {
    border: none;
    background: inherit
}

.tx-powermail .powermail_fieldset .powermail-errors-list > li, .tx-powermail .powermail_fieldset .powermail_field_error_container .powermail-errors-list > li {
    color: var(--text-red);
    border-color: var(--text-red)
}

.tx-powermail .powermail_fieldset .powermail_field_error, .tx-powermail .powermail_fieldset div.error {
    background: inherit
}

.unstyled {
    -webkit-appearance: none
}

.unstyled::-webkit-inner-spin-button, .unstyled::-webkit-calendar-picker-indicator {
    display: none;
    -webkit-appearance: none
}

.table-striped thead, .table-striped th {
    background: var(--dark-blue);
    color: #fff;
    padding: 0.5rem 1.5rem !important;
    border-bottom-width: 0px
}

.table-striped .result, .table-striped .result td, .table-striped td, .table-striped td td {
    border: none !important
}

.table-striped > :not(caption) > * > * {
    padding: 1.5rem
}

.border-dotted {
    border-style: dotted
}

.dropdown-menu li {
    padding: 0.25em 0.75em
}

.gradient-btn {
    background: transparent linear-gradient(61deg, #005277 0%, var(--main-green) 100%) 0% 0% no-repeat padding-box;
    color: #fff;
    padding: 0.75rem 2em;
    transition: 0.2s
}

.gradient-btn:hover {
    background: transparent linear-gradient(61deg, #5b97b2 0%, #adcf80 100%) 0% 0% no-repeat padding-box
}

img.tx-srfreecap-image {
    margin-left: 0 !important
}

.col-lg-4 .kachelmenu {
    display: block
}

.col-lg-4 .kachelmenu .kachel {
    width: auto
}

.col-lg-4 .kachelmenu .kachel .kachel-inner {
    height: auto !important
}

.f3-form-error {
    border-color: var(--text-red)
}

.frame-space-before-none {
    margin-top: 0
}

.frame-space-before-extra-small {
    margin-top: 0.25em
}

.frame-space-before-small {
    margin-top: 0.5em
}

.frame-space-before-medium {
    margin-top: 1em
}

.frame-space-before-large {
    margin-top: 2em
}

.frame-space-before-extra-large {
    margin-top: 4em
}

.frame-space-after-none {
    margin-bottom: 0
}

.frame-space-after-extra-small {
    margin-bottom: 0.25em
}

.frame-space-after-small {
    margin-bottom: 0.5em
}

.frame-space-after-medium {
    margin-bottom: 1em
}

.frame-space-after-large {
    margin-bottom: 2em
}

.frame-space-after-extra-large {
    margin-bottom: 4em
}

.ophover {
    transition: opacity 0.3s;
    -webkit-transition: opacity 0.3s;
    cursor: pointer
}

.ophover:hover {
    opacity: 0.6;
    -moz-opacity: 0.6
}

.fadeLoading {
    transition: opacity 0.2s ease-in-out
}

.fadeLoading.loading {
    opacity: 0.5
}

@media (max-width: 768px) {
    .mobileScrollRow {
        flex-wrap: nowrap;
        margin-right: clamp(-10px, -5vw, -30px);
        width: calc(100% + clamp(10px, 5vw, 30px));
        padding-right: clamp(10px, 5vw, 30px);
        overflow-y: auto
    }

    .mobileScrollRow .col-12 {
        max-width: 82vw
    }
}

:root {
    --dark-blue: #003B56;
    --med-blue: #005277;
    --text-blue: #012A3D;
    --light-blue: #1B6485;
    --verylight-blue: #4D86A0;
    --main-green: #83B93A;
    --text-red: #E30613;
    --light-grey: #F5F5F5;
    --bs-border-color: #012A3D
}

@font-face {
    font-family: "Open Sans";
    src: url("../fonts/OpenSans-VariableFont_wdth,wght.ttf") format("truetype-variations");
    font-weight: 300 400 600 700;
    font-style: normal
}

@font-face {
    font-family: "Open Sans";
    src: url("../fonts/OpenSans-Italic-VariableFont_wdth,wght.ttf") format("truetype-variations");
    font-weight: 300 400 600 700;
    font-style: italic
}

html, body {
    padding: 0;
    margin: 0;
    width: 100%;
    color: var(--text-blue);
    font-family: "Open Sans", sans-serif;
    font-weight: 400;
    background: #fff;
    -webkit-text-size-adjust: 100%
}

.container-fluid {
    position: relative
}

#mainheader {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 20;
    height: 165px;
    transition: top 0.2s ease-in
}

#mainheader a {
    text-decoration: none
}

#mainheader .tx-kesearch-pi1 .input-group-text {
    background: var(--main-green);
    color: #fff
}

#mainheader .tx-kesearch-pi1 input::placeholder {
    color: #909090
}

main {
    padding-top: 32px;
    transition: padding-top 0.2s ease-in;
    z-index: 1
}

.scrolled.scroll_up #mainheader {
    top: 0px !important
}

body:not(.scrolled) #mainheader {
    top: 0 !important
}

.main-content > .frame {
    margin-bottom: 4em
}

.header-element {
    height: 25vw;
    overflow: hidden
}

#headerCarousel .carousel-indicators [data-bs-target] {
    height: 7px;
    width: 60px;
    background: var(--med-blue);
    border-width: 3px
}

#headerCarousel .carousel-indicators {
    z-index: 10
}

#headerCarousel .carousel-inner {
    z-index: 0
}

.banner {
    background-size: cover;
    background-position: bottom right
}

.banner .banner-image {
    width: 25%;
    min-height: 100%;
    display: block;
    object-fit: contain;
    object-position: bottom right;
    position: absolute;
    bottom: 0;
    right: 0
}

.kachelmenu.green .kachel-inner {
    background: var(--main-green)
}

.kachel .kachel-inner {
    box-shadow: 0px 3px 6px #00000029
}

.kontaktkachel {
    box-shadow: 0px 3px 6px #00000029;
    min-height: 14em
}

.kontaktkachel h6 {
    font-weight: 700
}

.textkachel-container:has(.icon) .textkachel .kachel-inner {
    padding-top: 2.5em !important
}

.textkachel-container:has(.icon) .textkachel .icon {
    position: absolute;
    right: 0;
    top: 0;
    width: 22%;
    max-width: 100px;
    height: auto;
    border-radius: 9999px;
    border: 10px solid #fff;
    transform: translateY(-40%) translateX(4%);
    z-index: 1
}

.schnelleinstieg {
    min-height: 44vw
}

.schnelleinstieg .header {
    border-bottom: 1px dotted var(--text-blue)
}

.schnelleinstieg .header strong {
    font-weight: 900
}

.schnelleinstieg h2, .schnelleinstieg h3 {
    color: var(--text-blue);
    font-weight: 400
}

.schnelleinstieg .schnelltile {
    transition: 0.2s
}

.schnelleinstieg .schnelltile:not(.bg-green) {
    background-color: rgba(0, 59, 86, 0.5)
}

.schnelleinstieg .schnelltile:not(.bg-green):hover {
    background-color: var(--dark-blue)
}

.schnelleinstieg .schnelltile.bg-green:hover {
    opacity: 0.7
}

.ce-accordion {
    border: 1px solid var(--text-blue)
}

.ce-accordion .accordion-header {
    cursor: pointer
}

.ce-accordion .accordion-header p {
    margin: 0;
    padding: 0
}

.ce-accordion .accordion-header i {
    transition: 0.2s;
    margin-left: 1em
}

.ce-accordion .accordion-header:not(.collapsed) i {
    transform: rotate(180deg)
}

.ce-accordion .accordion-body .frame {
    padding-left: 0;
    padding-right: 0
}

.news-list-view.layout-0 .article {
    box-shadow: 0px 3px 6px #0000001A;
    border-radius: 5px
}

.news-list-view.layout-0 img {
    border-radius: 5px 5px 0px 0px;
    aspect-ratio: 2.2508038585;
    object-fit: cover
}

.f3-widget-paginator li {
    padding: 0 0.5em !important;
    font-weight: 200
}

.f3-widget-paginator li.disabled {
    opacity: 0.3
}

.f3-widget-paginator li.current {
    color: #000;
    font-weight: 400
}

.main-content.layout-1 .content-wrapper {
    margin-top: -15vw;
    padding-top: 2em;
    position: relative;
    z-index: 2
}

.main-content.layout-1 .content-wrapper .white-bg-holder {
    background: #fff;
    position: absolute;
    top: 0px;
    left: 0px;
    right: 0px;
    width: 100%;
    height: 16vw;
    z-index: -1;
    max-width: 1480px
}

.news-single .body .frame {
    padding-left: 0;
    padding-right: 0
}

.rechtundpraxis .letterSec {
    font-weight: 600;
    max-width: calc(100% - 2em)
}

.rechtundpraxis .letterSec .letterHead::after {
    content: " ";
    position: absolute;
    left: 0;
    top: 50%;
    height: 1px;
    width: 100%;
    background: var(--dark-blue)
}

.rechtundpraxis .letterSec .letterHead h4 {
    position: relative;
    z-index: 10;
    background: #fff;
    display: inline-block;
    padding-right: 0.5em
}

.rechtundpraxis .letterSec .result {
    max-height: 10em;
    opacity: 1;
    transition: 0.2s
}

.rechtundpraxis .letterSec .result.hidden {
    opacity: 0;
    max-height: 0;
    margin-bottom: 0 !important
}

.rechtundpraxis .letters-list {
    width: 2em;
    text-align: center;
    background: #fff;
    z-index: 1;
    line-height: 2;
    top: 0;
    padding-top: 0.5em;
    max-height: 100vh;
    overflow-y: scroll;
    -ms-overflow-style: none;
    scrollbar-width: none
}

.rechtundpraxis .letters-list::-webkit-scrollbar {
    display: none
}

.rechtundpraxis .letters-list a.active {
    font-weight: 700
}

.veranstaltungen .result {
    background: var(--light-grey)
}

.veranstaltungen .result .header {
    border-bottom: 1px solid var(--dark-blue)
}

.veranstaltungen .result table td {
    padding: 0.25em 1em 0.25em 0
}

.veranstaltungen .result table td.label {
    font-weight: 700;
    padding-right: 1em;
    vertical-align: top
}

.veranstaltungen .result .resultinfo_left {
    padding-bottom: 4em
}

.veranstaltungen .result .buttons-wrapper {
    width: calc(100% - calc(var(--bs-gutter-x) * 2));
    left: calc(var(--bs-gutter-x) * .5)
}

.veranstaltungen .result .buttons-wrapper .btn {
    padding-left: 1.5em;
    padding-right: 1.5em;
    margin-left: 1em
}

.veranstaltungen .result .modal h3 {
    font-size: 28px;
    text-transform: none
}

.veranstaltungen .form-wrapper label {
    font-weight: 700;
    margin-right: 1em
}

.veranstaltungen .form-wrapper .form-check label {
    font-size: 0.8em
}

.pager .pager_num.act {
    font-weight: 600;
    cursor: default !important
}

.pager .pager_num.disabled {
    cursor: default !important;
    opacity: 0.4
}

.apothekenfinder .results {
    max-width: 100%;
    overflow-x: auto
}

.apothekenfinder .form-wrapper .form-cell {
    flex-grow: 1;
    min-width: 20em
}

.apothekenfinder > .notdienste h1 {
    color: var(--text-red)
}

.apothekenfinder > .notdienste .text-green, .apothekenfinder > .notdienste .headline {
    color: var(--text-red)
}

.apothekenfinder > .notdienste .form-select.green-arrow, .apothekenfinder > .notdienste .input-group.green-arrow {
    --bs-form-select-bg-img: url("../Images/select-arrow-red.svg")
}

.apothekenfinder > .notdienste .form-select.green-input-text .input-group-text, .apothekenfinder > .notdienste .input-group.green-input-text .input-group-text {
    background-color: var(--text-red)
}

.apothekenfinder > .notdienste .green-inputs .form-check-input:checked {
    background-color: var(--text-red);
    border-color: var(--text-red)
}

.apothekenfinder > .notdienste .result-table thead, .apothekenfinder > .notdienste .result-table th {
    background: var(--text-red)
}

.veranstaltungen .carousel .carousel__slide--active .preview-result {
    padding-left: 0px !important
}

.veranstaltungen .carousel .carousel__slide--active .resultlink {
    margin-left: 0 !important
}

.femanager_fieldset {
    margin-bottom: 1em
}

.femanager_fieldset:not(.femanager_captcha):not(.femanager_submit) .col-sm-10 {
    display: flex;
    flex-direction: column
}

.femanager_fieldset:not(.femanager_captcha):not(.femanager_submit) .col-sm-10 input, .femanager_fieldset:not(.femanager_captcha):not(.femanager_submit) .col-sm-10 textarea {
    order: 1
}

.femanager_fieldset.has-error input, .femanager_fieldset.has-error textarea {
    border-color: var(--text-red)
}

.femanager_fieldset.has-error .alert {
    order: 2;
    background: none !important;
    padding: 0 !important;
    border: none !important;
    color: var(--text-red)
}

.femanager_fieldset.has-error .alert button {
    display: none
}

.femanager_fieldset.has-error .alert h4 {
    display: none
}

.footer-ob {
    background: var(--dark-blue);
    color: #fff;
    border-top: 6px solid var(--main-green);
    font-weight: 200
}

.footer-ob h5 {
    border-bottom: 1px solid #fff;
    padding-bottom: 0.5em
}

.footer-ob .bttmtext {
    font-size: 14px
}

.footer-ob .bttmtext h5 {
    border: none;
    padding-bottom: 0
}

.mobile-footer {
    background: var(--dark-blue);
    position: fixed;
    bottom: -75px;
    left: 0;
    height: 70px;
    width: 100vw;
    box-sizing: border-box;
    transition: bottom 0.2s ease-in-out
}

.mobile-footer .buttons-wrapper {
    position: absolute;
    bottom: 0;
    width: calc(100% - 6px);
    left: 3px
}

.mobile-footer .buttons-wrapper .button {
    border-radius: 8px 8px 0 0;
    background: var(--med-blue);
    color: #fff;
    height: 50px;
    margin: 0 4px;
    flex-basis: 50%;
    font-size: clamp(14px, 4vw, 16px)
}

.mobile-footer .buttons-wrapper .button.notdienst {
    background: #FF0000
}

.mobile-footer .buttons-wrapper .button button {
    margin: 0;
    padding: 0;
    display: inline-block;
    min-height: 100%;
    font-size: inherit
}

@media (max-width: 1200px) {
    h1 {
        font-size: 24px
    }

    h2, .h2 {
        font-size: 22px
    }

    h1 .subheader, .subheader-h1, h2 .subheader, .subheader-h2 {
        font-size: 20px;
        font-weight: 400;
        color: var(--text-blue)
    }
}

@media (max-width: 992px) {
    .veranstaltungen .result .resultinfo_left {
        padding-bottom: 0
    }

    .veranstaltungen .result .resultinfo_left .buttons-wrapper {
        position: static !important;
        margin-top: 2em;
        width: 100% !important
    }
}

@media (max-width: 768px) {
    #mainheader {
        height: 90px
    }

    main {
        padding-top: 90px
    }

    #header-search-wrapper {
        position: absolute;
        width: 0;
        opacity: 0;
        left: 13px;
        top: 15px;
        transition: 0.2s ease-in-out;
        overflow: hidden
    }

    #header-search-wrapper .input-group-text {
        width: 3em
    }

    .searchopen #mainheader #header-search-wrapper {
        width: calc(100vw - 105px);
        opacity: 1
    }

    .searchopen #mainheader .logo {
        opacity: 0
    }

    .scrolled.scroll_down #mainheader {
        top: -90px
    }

    .scrolled.scroll_down .mobile-footer {
        bottom: 0
    }

    h1 {
        font-size: 32px
    }

    h2, .h2 {
        font-size: 26px
    }

    h1 .subheader, .subheader-h1, h2 .subheader, .subheader-h2 {
        font-size: 24px;
        font-weight: 400;
        color: var(--text-blue)
    }

    .header-element {
        height: 69vw
    }

    .header-element .text {
        max-width: calc(100vw - 20px)
    }

    .banner {
        padding-bottom: 12em !important
    }

    .banner .banner-image {
        width: 100%;
        min-height: 0;
        height: 10em;
        display: block;
        object-fit: contain;
        object-position: bottom right;
        position: absolute;
        bottom: 0;
        right: 0
    }

    .apothekenfinder .results {
        margin-right: clamp(-10px, -5vw, -30px);
        width: calc(100% + clamp(10px, 5vw, 30px));
        padding-right: clamp(10px, 5vw, 30px);
        max-width: 100vw
    }

    .veranstaltungen .results {
        margin-right: clamp(-10px, -5vw, -30px);
        width: calc(100% + clamp(10px, 5vw, 30px));
        max-width: 100vw;
        overflow-y: auto
    }

    .veranstaltungen .results .result {
        min-width: 50em;
        margin-right: clamp(10px, 5vw, 30px)
    }

    .two-thirds-layout > .row > .col-lg-4 {
        padding-right: 0px !important
    }

    .two-thirds-layout > .row > .col-lg-8 {
        padding-left: 0px !important
    }
}
.mainmenu-row {
    bottom: -3px
}

nav#mainnav {
    max-width: 40em
}

nav#mainnav .dropdown-toggle {
    border-bottom: 6px solid transparent;
    font-weight: 600;
    font-size: 18px
}

nav#mainnav .dropdown-toggle.show {
    border-bottom-color: var(--main-green)
}

nav#mainnav .dropdown-toggle.show::after {
    transform: rotate(-180deg)
}

nav#mainnav .dropdown-toggle::after {
    color: rgba(255, 255, 255, 0.6);
    transition: 0.2s ease-in-out
}

nav#mainnav .dropdown-menu {
    border-radius: 0;
    border: none;
    background: transparent;
    padding-top: 0px;
    top: -2px !important
}

nav#mainnav .dropdown-menu .dropdown-inner {
    border-top: 3px solid var(--main-green);
    background-color: var(--med-blue);
    color: #fff !important
}

nav#mainnav .mmenu-col {
    margin: 1em 2em
}

nav#mainnav .mmenulink {
    padding: 0.5em;
    position: relative;
    display: block;
    border-bottom: 1px solid rgba(255, 255, 255, 0.6);
    cursor: pointer
}

nav#mainnav .mmenulink:hover, nav#mainnav .mmenulink.act, nav#mainnav .mmenulink:active {
    background-color: var(--light-blue)
}

nav#mainnav .mmenulink.hasSubPages {
    padding-right: 3px
}

nav#mainnav .mmenulink.hasSubPages .fas {
    margin-top: 2px
}

nav#mainnav .mmenulink.hasSubPages .fas::before {
    color: var(--main-green)
}

nav#mainnav .mmenulink.level3link {
    margin-left: 0.5em;
    background: var(--verylight-blue)
}

nav#mainnav .mmenulink.level3link:hover, nav#mainnav .mmenulink.level3link.act, nav#mainnav .mmenulink.level3link:active {
    background: var(--light-blue)
}

nav#mainnav .level2 {
    font-size: 15px
}

nav#mainnav .level2 .icon {
    transition: 0.2s ease-in-out;
    margin-right: 4px
}

nav#mainnav .level2.on .icon {
    transform: rotate(90deg)
}

nav#mainnav .level2.on .level3 {
    max-height: 100em
}

nav#mainnav .level3 {
    max-height: 0;
    transition: 0.2s ease-in-out;
    overflow: hidden;
    min-width: 15em
}

@media (max-width: 768px) {
    .scrolled.scroll_down.mobile-open #mainheader {
        top: 0
    }

    .mainheader-wrapper .page-maxwidth {
        padding-left: 12px;
        padding-right: 12px
    }

    .mainbar {
        height: 70px
    }

    .mainbar .logo {
        max-height: 50px;
        width: auto !important;
        max-width: 100%;
        margin-top: -5px
    }

    .mainbar .button-wrapper {
        font-size: clamp(8.5px, 3vw, 9px)
    }

    .mainbar .button-wrapper i {
        font-size: clamp(16px, 10vw, 25px)
    }

    .mainbar .navbar-toggler {
        transition: opacity 0.2s
    }

    .mainbar .navbar-toggler.collapsed.close {
        opacity: 0
    }

    .mainbar .navbar-toggler.open:not(.collapsed) {
        opacity: 0
    }

    nav#mainnav {
        position: absolute;
        left: 0;
        top: 90px;
        background: var(--med-blue) !important;
        padding: 0 1em 1em 1em;
        width: 100% !important
    }

    nav#mainnav.show {
        min-height: 100vh;
        min-width: 100vw;
        z-index: 99
    }

    nav#mainnav.show .mmenu-level1-wrapper {
        height: 30px
    }

    nav#mainnav .dropdown {
        position: static
    }

    nav#mainnav .dropdown .dropdown-toggle {
        font-size: clamp(14px, 3vw, 18px);
        line-height: 22px !important
    }

    nav#mainnav .dropdown .dropdown-toggle::after {
        display: none
    }

    nav#mainnav .dropdown:last-child .dropdown-toggle {
        text-align: right
    }

    nav#mainnav .dropdown .dropdown-inner {
        padding-top: 1em
    }

    nav#mainnav .dropdown-menu {
        height: calc(100vh - 110px);
        overflow-x: scroll;
        background: var(--light-grey) !important;
        width: 100vw
    }

    nav#mainnav .dropdown-menu.show {
        transform: none !important;
        left: 0;
        top: 26px !important
    }

    nav#mainnav .dropdown-menu .dropdown-inner {
        color: var(--dark-blue) !important;
        background: var(--light-grey) !important;
        padding-right: 0.5em
    }

    nav#mainnav .dropdown-menu ul {
        margin: 0
    }

    nav#mainnav .mmenulink:hover, nav#mainnav .mmenulink.act, nav#mainnav .mmenulink:active {
        background: rgba(0, 59, 86, 0.2) !important
    }

    nav#mainnav .mmenulink.level3link {
        background: rgba(0, 59, 86, 0.1) !important
    }

    nav#mainnav.collapsing {
        height: 0;
        overflow: hidden;
        transition: 0s
    }
}