
/*
   __  __                       ___               
  / /_/ /_  ___  ____ ___  ___ <  /_______________
 / __/ __ \/ _ \/ __ `__ \/ _ \/ // ___/ ___/ ___/
/ /_/ / / /  __/ / / / / /  __/ // /__(__  |__  ) 
\__/_/ /_/\___/_/ /_/ /_/\___/_(_)___/____/____/  
  

*/
/* -----------------------------------------------
Custom
----------------------------------------------- */
.navigation-link.link-node img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

#tv {
    display: none !important;
}
.imagegallery-content {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr 1fr;
    grid-gap: var(--grid-gap);
    grid-template-areas: none;
}
.imagegallery-content > div:nth-of-type(1) {
    grid-area: unset;
    height: 20vh;
}
.imagegallery-content > div:nth-of-type(2),
.imagegallery-content > div:nth-of-type(3),
.imagegallery-content > div:nth-of-type(4),
.imagegallery-content > div:nth-of-type(5) {
    grid-area: unset;
}
@media (max-width: 767px) and (min-width: 481px) {
    .imagegallery-content {
      grid-template-columns: 1fr 1fr;
    }
}
@media (max-width: 480px) {
    .imagegallery-content {
      grid-template-columns: 1fr;
    }
}


.image.width75.left .image-copyright, .image.width50.left .image-copyright, .image.width33.left .image-copyright, .image.width25.left .image-copyright, .image.width75.left-block .image-copyright, .image.width50.left-block .image-copyright, .image.width33.left-block .image-copyright, .image.width25.left-block .image-copyright {
  right: 0.5rem !important;
}
.navigation-main ul.navigation-level.navigation-level--level-2 {
    max-height: 80vh;
    overflow-y: auto;
}

.ui-widget-content a {
	color: var(--theme-color-preset-one) !important;
}

.accordion div {
	padding-right:1.2em;
}

nav a[href*="https:"]::after {
    font-size: 0.7rem;
}


a[target="_blank"]::after,
nav a[href*="https:"]:not(.navigation-link)::after,
.navigation-list .navigation-link[target="_blank"] span::after,
.navigation-list .navigation-link[href*="https:"] span::after {
    content: "\f35d";
    display: inline-block;
    font-family: 'Font Awesome 5 Free';
    font-weight: 600;
    padding-left: 0.5rem;
}
.do-attribute-content ul li a {
    margin-right: .5rem;
}

/* -----------------------------------------------
Ende Custom
----------------------------------------------- */

/* -----------------------------------------------
KACHEL NAVIGATION
----------------------------------------------- */
.navigation.rot.columns.images-enabled .navigation-link > span::after, .navigation.rot.columns.images-enabled .navigation-link > span {
background-color: rgba(0, 92, 170, 0.75);
}
.navigation.columns.images-enabled .navigation-link > span::after {
content: "";
position: absolute;
left: 0;
right: 0;
bottom: 0;
top: 0;
background: var(--theme-color-preset-two);
z-index: -1;
}
.navigation.columns.images-enabled .navigation-link > span {
position: absolute;
bottom: 0;
z-index: 1;
width: 100%;
padding: 2rem 1rem;
color: #FFF;
transition: all .25s;
height: 0;
display: flex;
align-items: center;
justify-content: center;
text-align: center;
}
.navigation.columns.images-enabled .navigation-link:hover > span,
.navigation.columns.images-enabled .navigation-link:focus-visible > span {
height: 100%;
}


/* -----------------------------------------------
GENERAL
----------------------------------------------- */
.prevent-backend-shifting {
    overflow: auto;
}
:root {
    --theme-color-preset-one: #005caa;
}

body {
    margin: 0;
    font-size: 1.05em;
    line-height: 1.75;
    position: relative;
    overflow-x: hidden;
    --header-height: 100px;
    --initial-header-height: 100px;
    --fixed-header-height: 75px;
    font-weight: 400;
    font-style: normal;
    background: #f1f1f1;
}
body.scrolled {
    --header-height: 75px;
}
body.noscroll {
    overflow: hidden;
}
* {
    box-sizing: border-box;
    word-break: break-word;
    hyphens: auto;
    scroll-margin-top: var(--fixed-header-height);
}
a {
    text-decoration: none;
    outline: none;
}
/*a[target="_blank"]:not(a.button-content)::after {
    content: "\f35d";
    display: inline-block;
    font-family: 'Font Awesome 5 Free';
    font-weight: 600;
    padding-left: .5rem;
}
a.button-content[target="_blank"] span::after {
    content: "\f35d";
    display: inline-block;
    font-family: 'Font Awesome 5 Free';
    font-weight: 600;
    padding-left: .5rem;
}*/
header a:focus {
    outline: auto !important;
}
main a,
footer a {
    text-decoration: none;
    background-image: linear-gradient(currentColor, currentColor);
    background-position: 0% 100%;
    background-repeat: no-repeat;
    background-size: 0% 2px;
    transition: background-size .25s;
    padding: .1rem 0;
}
main a:hover,
main a:focus,
main a:active,
footer a:hover,
footer a:focus,
footer a:active {
    background-size: 100% 2px;
}
a:focus-visible {
    outline: 2px solid #000;
    outline-offset: 5px;
}
.image a {
    background: none;
    display: block;
    padding: 0;
}
.image a:focus-visible {
    outline: solid 2px;
    outline-offset: -2px;
}
main ul,
main ol {
    margin: 0 0 1rem 0;
}
main ul {
    list-style-type: none;
    padding: 0;
}
main ul li {
    padding: 0 0 0 1rem;
    position: relative;
}
main ul li::before {
    content: "\f054";
    font-family: 'Font Awesome 5 Free';
    font-weight: 600;
    padding-right: .5rem;
    font-size: .9em;
    position: absolute;
    left: 0;
    top: 0;
    line-height: 2;
}
p {
    margin: 0 0 1rem 0;
}
svg {
    -webkit-transform: scale(1);
    transform: scale(1);
}
img {
    width: 100%;
}
.modal img,
div.adresse-single td img {
    height: auto;
}
img + div,
form + div {
    background-image: none !important;
}
form li::before,
form ul::before {
    display: none;
}
div::after {
    content: "";
    display: table;
    clear: both;
}
.stage {
    position: relative;
}
.stage .container.default-background {
    background: linear-gradient(0deg, rgba(10,20,30,0) 0%, rgba(10, 20, 30, .75) 100%);
    height: 400px;
    margin-bottom: -175px;
}
.stage h1:first-of-type,
.stage h2:first-of-type,
.stage h3:first-of-type {
    margin-top: 6rem;
}
.html {
  line-height: 0;
}

/* -----------------------------------------------
KACHEL NAVIGATION
----------------------------------------------- */
.navigation.rot.columns.images-enabled .navigation-link > span::after, .navigation.rot.columns.images-enabled .navigation-link > span {
background-color: rgba(196, 8, 59, 0.85);
}
.navigation.columns.images-enabled .navigation-link > span::after {
content: "";
position: absolute;
left: 0;
right: 0;
bottom: 0;
top: 0;
background: var(--theme-color-preset-two);
z-index: -1;
}
.navigation.columns.images-enabled .navigation-link > span {
position: absolute;
bottom: 0;
z-index: 1;
width: 100%;
padding: 2rem 1rem;
color: #FFF;
transition: all .25s;
height: 0;
display: flex;
align-items: center;
justify-content: center;
text-align: center;
}
.navigation.columns.images-enabled .navigation-link:hover > span,
.navigation.columns.images-enabled .navigation-link:focus-visible > span {
height: 100%;
}

.navigation.columns.images-enabled .navigation-link > .image::before {
    background: none;
}

/* Nur noch Level2 wird in der Main-Navigation angezeigt 
.navigation-main .navigation-level.navigation-level--level-3 {
display: none !important;
}*/

/* -----------------------------------------------
PRINT
----------------------------------------------- */

@media print {
    * {
      -webkit-print-color-adjust: exact; 
    }
    #header,
    #footer,
    .jumpmarks,
    iframe,
    .progress-container {
        display: none !important;
    }
}

/* -----------------------------------------------
SCROLL DOWN
----------------------------------------------- */

.html.scroll-down {
    text-align: center;
}
.scroll-down a {
    padding: 1rem;
    margin-top: 1rem;
    display: inline-block;
}
.scroll-down a:hover svg line {
    stroke: var(--theme-color-preset-one);
}

/* -----------------------------------------------
DARKMODE
----------------------------------------------- */

body.dark {
    --theme-darkmode-foreground-one: #FFF;
    --theme-darkmode-background-preset: #0e0e0e;
    --theme-darkmode-background-default: #000000;
}

    /* -----------------------------------------------
    ADRESSES
    ----------------------------------------------- */
    .dark #adressenselect {
        background: #000;
    }
    .dark #adressenalle .adresse {
        background: #000;
    }
    
    /* -----------------------------------------------
    GENERAL
    ----------------------------------------------- */

    body.dark {
        background: var(--theme-darkmode-background-preset);
        color: var(--theme-darkmode-foreground-one);
    }
    body.dark a {
        color: var(--theme-darkmode-foreground-one);
    }
    body.dark .progress-bar {
        background: var(--theme-darkmode-foreground-one);   
    }

    body.dark a:focus-visible {
        outline: 2px solid var(--theme-darkmode-foreground-one);
        outline-offset: 5px;
    }

    /* -----------------------------------------------
    JUMPMARKS
    ----------------------------------------------- */

    body.dark .jumpmarks:focus-within {
        background: var(--theme-darkmode-background-default);
    }
    body.dark .jumpmarks a:focus {
        color: var(--theme-darkmode-background-default);
    }

    /* -----------------------------------------------
    HEADER
    ----------------------------------------------- */

    body.dark .header.is-sticky .header-wrap {
        background: var(--theme-darkmode-background-default);
    }
    body.dark .header-wrap:hover .navigation-main .navigation > li > a,
    body.dark .header-wrap:focus-within .navigation-main .navigation > li > a {
        color: var(--theme-darkmode-foreground-one);
    }
    body.dark .header.is-sticky .navigation-main .navigation > li > a {
        color: var(--theme-darkmode-foreground-one);
    }

    /* -----------------------------------------------
    NAVIGATION TOP
    ----------------------------------------------- */

    body.dark .navigation-main .navigation .navigation-level--level-2 {
        background: var(--theme-darkmode-background-default);   
    }
    body.dark .navigation-main .navigation li:not(.navigation-item--level-1) .navigation-link {
        color: var(--theme-darkmode-foreground-one);   
    }

    /* -----------------------------------------------
    SEARCH
    ----------------------------------------------- */

    body.dark .header-wrap:hover .search-toggle,
    body.dark .header-wrap:focus-within .search-toggle,
    body.dark .header.is-sticky .search-toggle,
    body.dark.noscroll .search-toggle {
        color: var(--theme-darkmode-foreground-one);        
    }

    /* -----------------------------------------------
    ACCESSIBILITY
    ----------------------------------------------- */

    body.dark .header-wrap:hover .accessibility-toggle,
    body.dark .header-wrap:focus-within .accessibility-toggle,
    body.dark .header.is-sticky .accessibility-toggle,
    body.dark.noscroll .accessibility-toggle {
        color: var(--theme-darkmode-foreground-one);
    }
    body.dark .accessibility-content {
        color: var(--theme-darkmode-foreground-one);
        background: var(--theme-darkmode-background-default);
    }
    body.dark .fontsize-info span {
        color: var(--theme-darkmode-background-default);
        background: var(--theme-darkmode-foreground-one);        
    }

    /* -----------------------------------------------
    TEXTS
    ----------------------------------------------- */

    body.dark .black-text,
    body.dark .default-text {
        color: var(--theme-darkmode-foreground-one);
    }

    /* -----------------------------------------------
    OVERRIDE RULES
    ----------------------------------------------- */

    body.dark .container.disabled-background,
    body.dark .container.white-background,
    body.dark .container.grey-background {
        background: var(--theme-darkmode-background-preset);
    }
    body.dark .middle .container {
        background: none;
    }
    body.dark .mehrspalter.disabled-background,
    body.dark .mehrspalter.white-background,
    body.dark .mehrspalter.grey-background {
        background: var(--theme-darkmode-background-preset);
    }
    body.dark .container.default-background {
        background: var(--theme-darkmode-background-default);   
    }
    body.dark .stage .container.default-background {
        background: none;
    }
    body.dark .mehrspalter.default-background {
        background: var(--theme-darkmode-background-default);   
    }
    body.dark .pageteaser-teaser {
        background-color: var(--theme-darkmode-background-preset);
    }
    body.dark .breadcrumb__link:first-child a::after {
        color: var(--theme-darkmode-foreground-one);
    }

    body.dark .clear svg {
        fill: var(--theme-darkmode-background-default);
    }

    body.dark .report-table,
    body.dark .report-table th,
    body.dark .filter-wrap {
        background-color: var(--theme-darkmode-background-default);
    }
    
    body.dark .report-table tr:hover {
        background-color: var(--theme-darkmode-background-preset);
    }

    /* -----------------------------------------------
    OVERRIDES OTB
    ----------------------------------------------- */
    body.dark .modal-box svg.modal-close {
        fill: var(--theme-darkmode-background-preset) !important;
    }
    
    body.dark .modal-footer button[type="submit"], .usrmm-frontend button[type="submit"],
    body.dark .modal form label,
    body.dark .modal-footer .btn-back,
    body.dark .modal-box, .modal-info .info-box {
        background: var(--theme-darkmode-background-default);
        color: var(--theme-darkmode-foreground-one);
    }

    
    body.dark .modal-box .modal-footer,
    body.dark .modal-box .modal-footer input {
        background-color: var(--theme-darkmode-background-preset);
        color: var(--theme-darkmode-foreground-one);
    }
    body.dark .modal.appointment input[type="text"],
    body.dark .modal.appointment input[type="email"],
    body.dark .modal.appointment input[type="password"],
    body.dark .modal.appointment textarea,
    body.dark .modal.appointment select {
        background-color: var(--theme-darkmode-background-preset) !important;
        color: var(--theme-darkmode-foreground-one);
    }
    body.dark .ui-state-active {
        border: none !important;
    }

    body.dark .ui-state-active.ui-datepicker-current-day {
        border: 4px solid var(--theme-darkmode-foreground-one) !important;
    }
    body.dark .report-keyword-filter.frontend-gdc-list .keyword-filter {
        background: var(--theme-darkmode-background-preset);
    }

    body.dark .activity label input:checked + .input-selected, .view-content.times .modal-scroll label input:checked + .input-selected,
    body.dark .activity label input:checked + .input-selected, .view-content.times .modal-scroll label input:checked + .input-selected a {
        background: var(--theme-darkmode-background-preset);
        color: var(--theme-darkmode-foreground-one);
        fill: var(--theme-darkmode-foreground-one);
    }

    /* -----------------------------------------------
    NAVIGATION SIDEBAR
    ----------------------------------------------- */

    body.dark .navigation-sidebar .navigation-link,
    body.dark .navigation-sidebar .toggle-submenu {
        color: var(--theme-darkmode-foreground-one);
    }
    body.dark .navigation li:not(.navigation-item--level-1).navigation-item--state-active > .navigation-link,
    body.dark .navigation li:not(.navigation-item--level-1).navigation-item--state-current > .navigation-link,
    body.dark .navigation-sidebar .navigation li:not(.navigation-item--level-1).navigation-item--state-active > .toggle-submenu,
    body.dark .navigation-sidebar .navigation li:not(.navigation-item--level-1).navigation-item--state-current > .toggle-submenu,
    body.dark .navigation li:not(.navigation-item--level-1) > .navigation-link:hover,
    body.dark .navigation li:not(.navigation-item--level-1) > .navigation-link:hover,
    body.dark .navigation li:not(.navigation-item--level-1) > .navigation-link:focus,
    body.dark .navigation li:not(.navigation-item--level-1) > .navigation-link:focus {
        color: var(--theme-darkmode-foreground-one);
        font-weight: bold;
    }


    /* -----------------------------------------------
    SIDEBAR
    ----------------------------------------------- */

    body.dark .sidebar-right .right > .sidebar-wrap::after {
        background: none;
    }


    /* -----------------------------------------------
    OFFCANVAS
    ----------------------------------------------- */

    body.dark .offcanvas {
        background: var(--theme-darkmode-background-default);
    }
    body.dark .offcanvas .navigation-item--previous {
        background: var(--theme-darkmode-background-default);   
    }

    /* -----------------------------------------------
    FORMS
    ----------------------------------------------- */

    body.dark .clearfix > .input input,
    body.dark .clearfix > .input > select,
    body.dark .clearfix > .input textarea {
        color: var(--theme-darkmode-foreground-one);
    }

    /* -----------------------------------------------
    MEDIA-QUERIES
    ----------------------------------------------- */

    @media(max-width: 1023px) {
        body.dark.noscroll .header-wrap {
            background: var(--theme-darkmode-background-default);
        }
    }
    @media (max-width: 1350px) {
        body.dark .header.is-sticky .offcanvas-toggle .line,
        body.dark.noscroll .offcanvas-toggle .line {
            background-color: var(--theme-darkmode-foreground-one);
        }
    }

/* -----------------------------------------------
TABLES
----------------------------------------------- */

.table {
    width: calc(100% + 1rem);
    margin: -.5rem;
    table-layout: fixed;
}
.table table {
    width: auto;
    table-layout: fixed;
    border-spacing: 0;
}
.table th,
.table td {
    padding: .5rem;
    vertical-align: top;
}
.table thead tr th {
    background: rgb(142 142 142 / 15%);
}
.table tbody tr:nth-of-type(even) th,
.table tbody tr:nth-of-type(even) td {
    background: rgb(142 142 142 / 15%);
}
.table th {
    text-align: left;
}

/* -----------------------------------------------
DIGIPORTAL
----------------------------------------------- */

#modalAppointment {
    z-index: 10001;
}
#header #tv {
    text-indent: -9999px;
    top: .5rem;
    left: 2rem;
    transform: translateY(-50%);
}
#header #tv:hover,
#header #tv:focus {
    background: var(--theme-color-preset-one) !important;
}
#header #tv::after {
    content: "Terminbuchung";
    text-indent: 0px;
    display: block;
    margin-top: -1.2rem;
}
#header #tv:hover::after {
    color: #fff;
}
#header.is-sticky #tv {
    top: 50%;
    background: #111;
    color: #fff;
}
body.dark #header.is-sticky #tv {
    background: #fff;
    color: #000;
}

/* -----------------------------------------------
HEADLINES
----------------------------------------------- */

.stage h1 {
    margin: 0 0 2rem 0;
    font-size: 3.875rem;
    line-height: 1;
    text-transform: uppercase;
    font-weight: 600;
    text-shadow: 0 3px 6px #000;
    border-bottom: 1px solid #fff;
    display: table;
    margin: 0 auto;
    padding-bottom: 1rem;
}
.middle h1 {
    font-size: 2.625rem;
    font-weight: 600;
    margin: 0 0 2rem 0;
}
h2 {
    margin: 0 0 1.5rem 0;
    font-size: 1.75em;
}
h3 {
    margin: 0 0 1rem 0;
    font-size: 1.5em;
}
h1,
h2,
h3 {
    line-height: 1.35;
    font-weight: 500;
}

/* -----------------------------------------------
TEXTS
----------------------------------------------- */

.black-text {
  color: #000;
}
.white-text {
  color: #FFF;
}

/* -----------------------------------------------
JUMPMARKS
----------------------------------------------- */

.jumpmarks {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    height: var(--header-height);
    display: table;
    width: 100%;
    table-layout: fixed;
    transition: all .25s;
    pointer-events: none;
    z-index: -1;
    opacity: 0;
}
.jumpmarks:focus-within {
    pointer-events: all;
    z-index: 4;
    opacity: 1;
}
.jumpmarks a {
    color: #FFF;
    display: inline-block;
    line-height: var(--header-height);
    padding: 0 1em;
    font-weight: bold;
    text-transform: uppercase;
    color: transparent;
}
.jumpmarks:focus-within a {
    color: #FFF;
}
.jumpmarks a:focus {
    background: #FFF;
    color: var(--theme-color-preset-one);
}

/* -----------------------------------------------
HEADER
----------------------------------------------- */

header {
  padding: 0 !important;
}
.header-wrap {
    position: fixed;
    top: 0;
    z-index: 3;
    width: 100%;
    box-shadow: none;
    transition: all .25s;
}
body .header.is-sticky .header-wrap {
    background: #FFF;
}
body:not(.noscroll) .header.is-sticky .header-wrap {
    box-shadow: 0 0 25px rgba(0,0,0,.33), 0 0 5px rgba(0,0,0,.15);
}
.header.is-sticky .header-wrap::after {
    content: none;
}
.header-content {
    position: relative;
    margin: 2rem auto 0;
    padding: 0 1rem;
    width: 100%;
    height: 0;
    transition: all .25s;
    min-height: var(--header-height);
}
.is-sticky .header-content {
    margin-top: 0;
}
.header-content::after {
    display: none;
}

/* -----------------------------------------------
LOGO
----------------------------------------------- */

.logo {
    position: absolute;
    top: -.2rem;
    left: 50%;
    width: auto;
    height: 100%;
    transition: all .25s;
}
.is-sticky .logo {
    top: 1rem;
}
.logo:focus .logo-img {
    outline: 1px solid #FFF;
}
.logo-img {
    width: 150px;
    height: auto;
    object-fit: contain;
    position: inherit;
    transform: translateX(-50%);
}
.header.is-sticky .logo-img:not(.sticky) {
    visibility: hidden;
    opacity: 0;
}
.header.is-sticky .logo-img.sticky {
    visibility: visible;
    opacity: 1;
    width: 46px;
}
.logo-img.sticky {
    visibility: hidden;
    opacity: 0;
}

/* -----------------------------------------------
ACCESSIBILITY
----------------------------------------------- */

.accessibility {
    position: absolute;
    top: .5rem;
    right: 2rem;
    transform: translateY(-50%);
    transition: all .25s;
    z-index: 1;
}
.is-sticky .accessibility {
    top: 50%;
}
.accessibility-toggle {
    display: table;
    height: var(--header-height);
    color: #FFF;
    transition: all .25s;
    font-size: 1.25em;
}
.header.is-sticky .accessibility-toggle,
body.noscroll .accessibility-toggle {
    color: #111;
}
.accessibility-content {
    position: absolute;
    visibility: hidden;
    opacity: 0;
    transition: all .25s;
    pointer-events: none;
    width: 475px;
    top: 100%;
    right: -1rem;
    background: #FFF;
    padding: 1rem;
    border: 1px solid #FFF;
    border-radius: 5px;
    box-shadow: 0 10px 20px -10px rgb(0 0 0 / 50%);
    display: grid;
    grid-gap: 2rem;
    grid-template-columns: repeat( auto-fit, minmax(180px, 1fr) );
}
.accessibility-content.show {
    visibility: visible;
    opacity: 1;
    pointer-events: all;
    top: calc(100% + 1rem);
}
.accessibility-content::after {
    content: "";
    position: absolute;
    bottom: 100%;
    width: 0;
    right: 1rem;
    height: 0;
    border-left: 10px solid transparent;
    border-right: 10px solid transparent;
    border-bottom: 10px solid #FFF;
    transition: all .25s;
}
.accessibility-content > div {
    position: relative;
}
.accessibility-content > div:not(:last-child)::after {
    content: "";
    position: absolute;
    left: -1rem;
    top: 0;
    bottom: 0;
    width: 1px;
    background: #e8e8e8;
    display: block;
}
.accessibility-toggle > div {
    display: table-cell;
    vertical-align: middle;
}
.accessibility-toggle > div:last-child {
    padding-left: 1rem;
    visibility: hidden;
    text-transform: -9999px;
    position: absolute;
}
.accessibility-toggle > div span {
    display: block;
    line-height: 1.25;
}
.is-sticky .change-contrast {
    color: #000;
}
.change-contrast {
    color: #fff;
}
body.dark .is-sticky .change-contrast {
    color: #fff;
}

/* -----------------------------------------------
CONTRAST
----------------------------------------------- */

.contrast-switch > span {
    margin: .5rem 0;
    font-weight: 600;
    display: block;
}
.contrast-switch i {
    display: none;
}

/* -----------------------------------------------
FONTSIZE
----------------------------------------------- */

.toggle-fontsize {
    display: none;
}
.fontsize-info ul {
    margin: 0;
    padding: 0;
    list-style-type: none;
}
.fontsize-info li {
    margin: .5rem 0;
}
.fontsize-info li:first-child {
    font-weight: 600;
}
.fontsize-info span {
    border-radius: 5px;
    color: #FFF;
    display: inline-block;
    margin: 0 2px;
    padding: 1px 5px;
    background: var(--theme-color-preset-one);
}

/* -----------------------------------------------
SEARCH
----------------------------------------------- */

header .search > .search-toggle {
    position: absolute;
    top: .5rem;
    right: 4rem;
    transform: translateY(-50%);
    z-index: 1;
    display: flex;
    justify-content: center;
    align-items: center;
    height: var(--header-height);
    color: #FFF;
    transition: all .25s;
    font-size: 1.25em;
}
header.is-sticky .search > .search-toggle {
    top: 50%;
}
.header.is-sticky .search-toggle,
body.noscroll .search-toggle {
    color: #111;
}
header .search-toggle span,
header .search .hidden-label {
    visibility: hidden;
    position: absolute;
    text-indent: -9999px;
}
header #search-form {
    position: fixed;
    background: rgb(12,136,42);
    background: -moz-linear-gradient(0deg, rgba(12,136,42,0.9) 0%, rgba(0,33,61,0.9) 100%);
    background: -webkit-linear-gradient(0deg, rgba(12,136,42,0.9) 0%, rgba(0,33,61,0.9) 100%);
    background: linear-gradient(0deg, rgba(12,136,42,0.9) 0%, rgba(0,33,61,0.9) 100%);
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#0c882a",endColorstr="#00213d",GradientType=1);
    transition: all .25s;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 15;
    opacity: 0 !important;
    width: 100% !important;
    height: 100% !important;
    overflow: hidden;
    display: none;
    padding: 0 !important;
    margin: 0 !important;
}
header #search-form.show {
    opacity: 1 !important;
}
header .search .search-content {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100vh;
}
header .search label {
    visibility: hidden;
    position: absolute;
    text-indent: -9999px;
}
header .search input {
    display: block;
    padding: .5rem 1rem;
    margin: 0;
    border: 0;
    width: 500px;
    max-width: calc(100vw - (55px * 2) - 2rem);
    min-height: 55px;
    font: inherit;
    appearance: none;
    border-radius: 0;
}
header .search button {
    border: none;
    outline: none;
    background: #000;
    color: #FFF;
    font: inherit;
    font-size: 1.25em;
    min-height: 55px;
    min-width: 55px;
    line-height: 55px;
    margin: 0;
    padding: 0;
    appearance: none;
    cursor: pointer;
}
header .search button:focus {
    outline: auto;
}
header .search button + .search-toggle {
    border: none;
    outline: none;
    background: none;
    color: #fff !important;
    font: inherit;
    font-size: 1.25em;
    min-height: 55px;
    min-width: 55px;
    line-height: 55px;
    margin: 0;
    text-align: center;
}

/* -----------------------------------------------
SEARCH RESULTS
----------------------------------------------- */

.search-results .search-submit {
    position: absolute;
    right: 0;
    top: 0;
    bottom: 0;
    width: 50px;
    height: 100%;
    appearance: none;
    border: none;
    outline: none;
    box-shadow: none;
    border-radius: 0;
    cursor: pointer;
    background: var(--theme-color-preset-one);
    color: #FFF;
    font-size: 1rem;
}
.search-results .clearfix {
    margin-bottom: .75rem;
}
.search-results .clearfix > .input {
    overflow: hidden;
}
.search-results .page-navigation {
    overflow-x: auto;
    display: flex;
    justify-content: center;
    flex-wrap: nowrap;
}
.search-results .neos-widget-paginator {
    margin: 0;
    padding: 0;
    display: flex;
    justify-content: center;
    align-items: center;
}
.search-results > ul {
    list-style-type: none;
    padding: 0;
    margin: 0;
}
.search-results > form + .page-navigation {
    display: none;
}
.search-results > ul li {
    padding: 0;
    margin: 1rem 0 0;
}
.search-results > ul li:not(:last-child) {
    border-bottom: 1px solid #e4e4e4;
}
.search-results > ul li::before {
    display: none;
}
.search-results h3 {
    font-size: inherit;
}
.search-results .page-navigation li {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    vertical-align: middle;
    transition: all .25s;
    text-decoration: none;
    font-weight: bold;
    text-align: center;
    width: 45px;
    height: 45px;
    border-radius: 10px;
    margin: 0;
    padding: 0;
}
.search-results .page-navigation li::before,
.search-results .page-navigation li::after {
    display: none;
}
.search-results .page-navigation li:not(.previous):not(.before-current):not(.current):not(.after-current):not(.next) {
    display: none;
}
.search-results .page-navigation li.current {
    background: var(--theme-color-preset-one);
    color: #FFF;
}
.search-results .page-navigation li.previous a,
.search-results .page-navigation li.next a {
    text-indent: -9999px;
}
.search-results .page-navigation li.previous a::after,
.search-results .page-navigation li.next a::after {
    font-family: 'Font Awesome 5 Free';
    float: left;
    text-indent: 0;
}
.search-results .page-navigation li.previous a::after {
    content: "\f053";
}
.search-results .page-navigation li.next a::after {
    content: "\f054";
}
.search-results .page-navigation a {
    display: flex;
    height: 100%;
    width: 100%;
    justify-content: center;
    align-items: center;
    padding: 0;
    background: none;
}
.search-results .page-navigation a:focus {
    outline: auto;
}

/* -----------------------------------------------
NAVIGATION
----------------------------------------------- */

.navigation,
.navigation ul {
    list-style-type: none;
    padding: 0;
    margin: 0;
}

/* -----------------------------------------------
NAVIGATION TOP
----------------------------------------------- */

.navigation-main {
    transition: all .25s;
    height: 100%;
    padding-right: 0 !important;
    margin: 0 auto;
    display: table;
}
.navigation-main .navigation {
    display: table;
    padding: 0;
    margin: 0 2.5rem 0 0;
    height: inherit;
}
.navigation-main .navigation > li {
    display: table-cell;
    vertical-align: middle;
}
.navigation-main .navigation > li:nth-of-type(2) {
    margin-right: 200px;
    display: block;
    transition: all .25s;
}
.is-sticky .navigation-main .navigation > li:nth-of-type(2) {
    margin-right: 75px;
}
.navigation-main .navigation > li > a {
    padding: 0 1rem;
    font-weight: 600;
    justify-content: center;
    align-items: center;
    height: var(--header-height);
    white-space: nowrap;
    display: flex;
    color: #FFF;
    font-size: 1.225rem;
}
.navigation-main .navigation > li.hover > a::before {
    content: "";
    position: absolute;
    bottom: -20px;
    left: 50%;
    transform: translateX(-50%);
    width: 0;
    height: 0;
    border-left: 400px solid transparent;
    border-right: 400px solid transparent;
    border-bottom: 45px solid transparent;
    transition: all .25s;
}
.navigation-main .navigation > li > a::after {
    content: "";
    position: absolute;
    top: calc(100% - 10px);
    left: 50%;
    width: 0;
    height: 0;
    border-left: 10px solid transparent;
    border-right: 10px solid transparent;
    border-bottom: 10px solid #FFF;
    transform: translateX(-50%);
    visibility: hidden;
    opacity: 0;
    transition: all .25s;
}
.is-sticky .navigation-main .navigation > li > a::after {
    border-bottom-color: #FFF;
}
.navigation-main .navigation > li.hover > a::after {
    visibility: visible;
    opacity: 1;
    top: calc(100% + 1rem - 10px);
}
.navigation-main .open-submenu {
    display: none !important;
}
.header.is-sticky .navigation-main .navigation > li > a {
    color: #111;
}
.navigation-main .navigation-item.navigation-item--level-1 > a > span {
    border-bottom: 2px solid transparent;
}
.navigation-main .navigation-item.navigation-item--level-1:hover > a > span,
.navigation-main .navigation-item.navigation-item--level-1:focus > a > span,
.navigation-main .navigation-item.navigation-item--level-1.navigation-item--state-current > a > span,
.navigation-main .navigation-item.navigation-item--level-1.navigation-item--state-active > a > span {
    border-bottom: 2px solid;
}
.navigation-main .navigation .navigation-level--level-2 {
    display: grid;
    position: absolute;
    text-align: left;
    left: 2rem;
    right: 2rem;
    top: 100%;
    padding: 2rem;
    z-index: 1;
    border:  1px solid #FFF;
    border-radius: 5px;
    visibility: hidden;
    opacity: 0;
    transition: all .25s;
    grid-template-columns: repeat(4, 1fr);
    grid-gap: 2rem;
    margin: 0 auto;
    background: #FFF;
    pointer-events: none;
    box-shadow: 0 10px 20px -10px rgb(0 0 0 / 50%);
    max-width: 1300px;
}
.navigation-main .navigation > li:hover ~ li .navigation-level--level-2 {
    z-index: 0;
}
.navigation-main .navigation .navigation-level--level-2 > li {
    position: relative;
}
.navigation-main .navigation .navigation-level--level-2 > li:not(:nth-child(4n)):not(:last-child)::after {
    content: "";
    position: absolute;
    right: -1rem;
    top: 0;
    bottom: 0;
    width: 1px;
    display: block;
    background: #d6d6d6;
}
.is-sticky .navigation-main .navigation .navigation-level--level-2::after {
    background: #151515;
}
.navigation-main .navigation .navigation-item--level-1.hover > ul {
    top: calc(100% + 1rem);
    opacity: 1;
    visibility: visible;
    pointer-events: all;
}
.navigation-main .navigation .navigation-level--level-4 {
    display: none;
}





.navigation-main .navigation li a {
    position: relative;
    text-decoration: none;
    outline: none;
    border: none;
}
.navigation-main .navigation li:not(.navigation-item--level-1) .navigation-link {
    color: #000;
    padding: .25rem 0;
    text-transform: none;
    display: block;
}
.navigation li:not(.navigation-item--level-1).navigation-item--state-active > .navigation-link,
.navigation li:not(.navigation-item--level-1).navigation-item--state-current > .navigation-link,
.navigation-sidebar .navigation li:not(.navigation-item--level-1).navigation-item--state-active > .toggle-submenu,
.navigation-sidebar .navigation li:not(.navigation-item--level-1).navigation-item--state-current > .toggle-submenu,
.navigation li:not(.navigation-item--level-1) > .navigation-link:hover,
.navigation li:not(.navigation-item--level-1) > .navigation-link:hover,
.navigation li:not(.navigation-item--level-1) > .navigation-link:focus,
.navigation li:not(.navigation-item--level-1) > .navigation-link:focus {
    color: var(--theme-color-preset-one);
}
.navigation-main .navigation li.navigation-item--level-2 > .navigation-link {
    font-weight: 700;
}
.navigation-sidebar .navigation-item.active > .open-submenu > i {
    transform: rotate(90deg);
}

/* -----------------------------------------------
MIXINS/OVERRIDES
----------------------------------------------- */
.scroll-down {
    text-align: center;
}
.pageteaser {
    overflow: visible;
}
.pageteaser-teaser {
    background: #fff;
    box-shadow: 0 0 25px rgba(0,0,0,.25);
    border-radius: 3px;
    overflow: hidden;
    margin-bottom: 2rem;
}
body.dark .pageteaser-teaser {
    box-shadow: 0 0 25px rgba(255,255,255,.25);
}
.pageteaser.grid-disabled .pageteaser-teaser:first-child {
    margin: 2rem 0;
}
.pageteaser.grid-disabled .pageteaser-teaser {
    display: grid;
    grid-template-columns: 1fr 3fr;
}
.pageteaser.grid-disabled .no-image.pageteaser-teaser {
    grid-template-columns: 1fr;
}
.pageteaser.grid-disabled .pageteaser-teaser .button {
    display: none;
}
.pageteaser.grid-disabled .pageteaser-text-content {
    padding: 1.5rem 2rem;
}
.pageteaser-teaser a {
    width: 100%;
    padding: 0;
    color: #111;
}
.pageteaser.grid-disabled .pageteaser-teaser a {
    height: 100%;
}
.pageteaser-teaser .image.logo-placeholder {
    background-color: #f5f5f5;
}
.pageteaser-teaser .image.logo-placeholder img {
    padding: 1rem !important;
}
.pageteaser-single-content ul {
    margin: 0 0 .25rem;
    font-size: .9rem;
}
.pageteaser-teaser a:hover, .pageteaser-teaser a:focus {
    color: var(--theme-color-preset-one);
    text-decoration: none;
    background: none;
}
.pageteaser-teaser .image {
    padding: 0 !important;
    width: 100%;
    float: none !important;
    background: #f5f5f5;
}
.pageteaser-teaser .image img {
    object-fit: cover;
    height: 100%;
}
.pageteaser-single-content {
    padding: 1.5rem 2rem;
}
.pageteaser h3 {
    font-size: 1.325rem;
    font-weight: 700;
    margin-bottom: .5rem;
}
.pageteaser p {
    margin: 0;
}
.pageteaser .pageteaser-teaser > span {
    font-style: normal !important;
}
.slider .slick-track {
    cursor: grab;
}
.slider .slick-track:active {
    cursor: grabbing;
}
.slider .pageteaser {
    padding: 0 !important;
}
.slider .pageteaser.grid-enabled .pageteaser-content {
    display: table !important;
    width: 100%;
    table-layout: fixed;
}
.button .button-content {
    border-radius: 3px !important;
    transition: none !important;
    padding: .5rem 1.5rem;
}
.button.solid.default-background a {
    background: var(--theme-color-preset-two);
    border-color: var(--theme-color-preset-two);
    color: #FFF;
}
.button.solid.default-background a:hover,
.button.solid.default-background a:focus {
    background: var(--theme-color-preset-one);
    border-color: var(--theme-color-preset-one);
    color: #FFF;
    }
.button.solid a > * {
    border: none;
    padding: 0;
}

/* -----------------------------------------------
MAP
----------------------------------------------- */

#adressenselect {
    background: var(--theme-color-preset-one);
    height: 40px;
    top: 10px;
    padding: 0;
    border-radius: 5px;
    font-size: 17px !important;
    max-width: 230px;
    box-shadow: rgb(0 0 0 / 30%) 0px 0px 5px 2px;
}
select#adressenselect:hover,
select#adressenselect:focus,
select#adressenselect:active {
    height: 94%;
}

#adressenselect option {
    padding: 0.5em 1em;
}
#adressenselect option:hover,
#adressenselect option:focus,
#adressenselect option:active {
    background: #ea4335;
    color: #fff;
}

.adressenliste {
    margin-top: initial;
}
#adressenalle .adresse {
    padding: 0rem 0.9rem 0.9rem 0.9rem;
    background: #edebe8;
    border: 3px solid #fff;
}

/* -----------------------------------------------
FOOTER WELLE
----------------------------------------------- */

#footer-wave {
    position: absolute;
    bottom: 100%;
    left: 0;
    right: 0;
    pointer-events: none;
}

/* -----------------------------------------------
NAVIGATION BREADCRUMB
----------------------------------------------- */

.homepage .breadcrumb {
    display: none;
}
.breadcrumb__list {
    list-style-type: none;
    max-width: 1300px;
    margin: 4.65rem 2rem -2rem 2rem;
    position: relative;
    border-bottom: 1px solid #000;
    padding: 0 0 .55rem 0;
    z-index: 1;
}
body.dark .breadcrumb__list {
    border-bottom: 1px solid #fff;
}
.breadcrumb__list li:first-child {
    display: none;
}
main ul.breadcrumb__list li::before {
    content: none;
}
.breadcrumb__link {
    display: inline-block;
    margin: 0;
    padding: 0;
}
.breadcrumb__link a {
    color: inherit;
}
.breadcrumb__link:nth-child(2) {
    position: absolute;
    width: 1.5rem;
    height: 1.5rem;
}
.breadcrumb__link:nth-child(3) {
    margin-left: 2.75rem;
}
.breadcrumb__link:nth-child(2) > a {
    font-size: 0;
    color: transparent;
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    padding: 0;
}
.breadcrumb__link:nth-child(2) a::after {
    content: "\f015" !important;
    font-family: "Font Awesome 5 Free";
    color: #000;
    text-indent: 0px;
    font-size: 1rem;
    font-weight: bold;
}
body.dark .breadcrumb__link:nth-child(2) a::after {
    color: #fff;
}
.breadcrumb__link:not(.current)::after {
    content: "/";
    padding: 0 .5rem;
}
.breadcrumb__link:nth-child(2)::after {
    position: absolute;
    left: 1.25rem;
}

/* -----------------------------------------------
NAVIGATION SIDEBAR
----------------------------------------------- */


.navigation-sidebar {
    padding: 4rem 2rem;
}
.navigation-sidebar .navigation {
    overflow: hidden;
}
.navigation-sidebar .navigation .navigation-item--level-1 > .navigation-link {
    font-size: 1.25rem;
    font-weight: 600;
    text-transform: uppercase;
    padding: .4rem 0 .4rem 0;
    margin-left: 1rem;
}
.navigation-sidebar .navigation-item {
    position: relative;
    display: table;
    width: 100%;
    padding: 0;
}
.navigation-sidebar .navigation-level:not(.navigation-level--level-1) {
    display: none;
}
/* .navigation-sidebar .navigation-item--state-active > .navigation-level {
    display: block !important;
} */
.navigation-sidebar .navigation-item::before {
    display: none;
}
.navigation-sidebar .navigation-link {
    display: block;
    padding: .4rem 0 .4rem 0;
    margin-left: 1rem;
    color: #111;
}
.navigation-sidebar .toggle-submenu {
    position: absolute;
    left: 0;
    top: 0;
    padding: .4rem .4rem .4rem 0;
    color: #111;
}
.navigation-sidebar .navigation-item--level-1 > .toggle-submenu {
    top: 3px;
}
.navigation-sidebar .navigation-item--level-2 > .toggle-submenu {
    top: 5px;
}
.navigation-sidebar .navigation-item--level-3 > .toggle-submenu {
    top: -5px;
  }
.navigation-sidebar .navigation-level.navigation-level--level-3 {
    margin-bottom: 1rem;
}
.navigation-sidebar .navigation .navigation-item--level-1 {
    border-bottom: 1px solid;
}
.navigation-sidebar .navigation .navigation-item--level-2 {
    border-bottom: 1px solid #ccc;
}
.navigation-sidebar .navigation-level.navigation-level--level-2 {
    border-top: 1px solid #ccc;
}
.navigation-sidebar .navigation .navigation-item--level-2 > .navigation-link {
    font-size: 1.125rem;
    padding: .6rem 0;
}
.navigation-sidebar .navigation .navigation-item--level-3 > .navigation-link {
    padding: .1rem;
}
.navigation-sidebar .navigation .navigation-item--level-4 > .navigation-link {
    padding: .1rem 0 .1rem 1rem;
    font-size: .9rem;
}
.navigation-sidebar .navigation-item--level-3 .navigation-link {
    padding-left: 1.25rem;
}
.navigation-sidebar .navigation-item--level-4 .navigation-link {
    padding-left: 1.5rem;
}
.navigation-sidebar .navigation-item--level-5 .navigation-link {
    padding-left: 1.75rem;
}
.navigation a {
    background: none;
}

/* -----------------------------------------------
NAVIGATION SIDEBAR (NODETYPE)
----------------------------------------------- */

.navigation-left ul {
    overflow: hidden;
    box-shadow: 0px 0px 50px -5px rgb(97 97 97 / 25%);
    border-radius: 15px;
    border: 1px solid #FFF;
}
.navigation-left ul li {
    position: relative;
    display: table;
    width: 100%;
    padding: 0;
}
.navigation-left ul li::before {
    display: none;
}
.navigation-left ul li a {
    display: block;
    padding: .75rem 3rem .75rem 1rem;
    transition: all .25s;
}
body:not(.dark) .navigation-left ul li a {
    color: #3e3d40;
}

/* -----------------------------------------------
ACCORDION INCLUDE
----------------------------------------------- */

.accordion-title {
    background: none;
    border: none;
    border-bottom: 1px solid #ccc;
    text-align: left;
    font-weight: 500;
    font-size: 1rem;
}
.accordion-title.ui-accordion-header-active {
    border-bottom: none;
}
.accordion-title:hover * {
    color: var(--theme-color-preset-two);
}
.accordion-content {
    border: none;
    background: none;
    border-bottom: 1px solid #ccc;
    line-height: 1.5 !important;
}

/* -----------------------------------------------
BUTTON INCLUDE
----------------------------------------------- */

.button {
    max-width: calc(100vw - 5rem) !important;
}

/* -----------------------------------------------
ARTICLE
----------------------------------------------- */

.article .read-time,
.article .published-on {
    display: inline-block;
}
.article .read-time > span:first-child,
.article .published-on > span:first-child {
    font-weight: bold;
}
.article .eta {
    padding-right: 1rem;
}
.article div.padding-auto:first-of-type .container-content,
.article div.padding-auto:first-of-type .mehrspalter-content,
.article div.padding-auto:first-of-type:last-of-type .container-content,
.article div.padding-auto:first-of-type:last-of-type .mehrspalter-content {
  padding-top: 0 !important;
}

/* -----------------------------------------------
OVERRIDE RULES
----------------------------------------------- */

.container .container-content {
    max-width: 1300px;
}
.container.padding-both .container-content {
    padding: 4rem 2rem !important;
}
.container.padding-top .container-content {
    padding: 4rem 2rem 0 2rem !important;
}
.container.padding-bottom .container-content {
    padding: 0 2rem 4rem 2rem !important;
}

.mehrspalter .mehrspalter-content {
    max-width: 1300px;
}
.mehrspalter.padding-both .mehrspalter-content {
    padding: 4rem 2rem !important;
}
.mehrspalter.padding-top .mehrspalter-content {
    padding: 4rem 2rem 0 2rem !important;
}
.mehrspalter.padding-bottom .mehrspalter-content {
    padding: 0 2rem 4rem 2rem !important;
}

div.padding-auto:first-of-type .container-content,
div.padding-auto:first-of-type .mehrspalter-content {
    padding: 4rem 2rem 0 !important;
}
div.padding-auto:last-of-type .container-content,
div.padding-auto:last-of-type .mehrspalter-content {
    padding: 0 2rem 4rem !important;
}
div.padding-auto:first-of-type:last-of-type .container-content,
div.padding-auto:first-of-type:last-of-type .mehrspalter-content {
    padding: 4rem 2rem !important;
}

/* .middle div.padding-auto:first-of-type .container-content,
.middle div.padding-auto:first-of-type .mehrspalter-content {
    padding: 4rem 4rem 0 !important;
}
.middle div.padding-auto:last-of-type .container-content,
.middle div.padding-auto:last-of-type .mehrspalter-content {
    padding: 0 4rem 4rem !important;
}
.middle div.padding-auto:first-of-type:last-of-type .container-content,
.middle div.padding-auto:first-of-type:last-of-type .mehrspalter-content {
    padding: 4rem 4rem !important;
} */


.container.black-overlay .container-image::after {
    background: rgb(0 0 0 / 25%) !important;
}
.mehrspalter.black-overlay .mehrspalter-image::after {
    background: rgb(0 0 0 / 25%) !important;
}
.container .container-image.default-overlay::after {
    background: rgb(12,136,42);
    background: -moz-linear-gradient(0deg, rgba(12,136,42,0.5) 0%, rgba(0,33,61,0.75) 90%);
    background: -webkit-linear-gradient(0deg, rgba(12,136,42,0.5) 0%, rgba(0,33,61,0.75) 90%);
    background: linear-gradient(0deg, rgba(12,136,42,0.5) 0%, rgba(0,33,61,0.75) 90%);
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#0c882a",endColorstr="#00213d",GradientType=1); 
}
.slick-prev,
.slick-next {
    transform: translate(0, -50%) !important;
}


/* -----------------------------------------------
SIDEBAR LAYOUT
----------------------------------------------- */

#main {
    position: relative;
    z-index: 1;
}
.no-sidebar {
    grid-template-columns: 100%;
    -ms-grid-columns: 100%;
}
.sidebar-right {
    grid-template-columns: minmax(600px, auto) minmax(350px, 350px);
}
.sidebar-left {
    grid-template-columns: minmax(300px, 300px) minmax(600px, auto);
}
.sidebar-left-right {
    grid-template-columns: minmax(300px, 300px) minmax(300px, auto) minmax(300px, 300px);
}
.sidebar-left .left {
    -ms-grid-column: 1;
}
.sidebar-left .middle {
    -ms-grid-column: 2;
}
.sidebar-right .middle {
    -ms-grid-column: 1;
}
.sidebar-right .right {
    -ms-grid-column: 2;
}
.sidebar-left-right .left {
    -ms-grid-column: 1;
}
.sidebar-left-right .middle {
    -ms-grid-column: 2;
}
.sidebar-left-right .right {
    -ms-grid-column: 3;
}
.sidebar-right .right > .sidebar-wrap {
    position: relative;
    padding-bottom: 4rem;
}
.navigation-sidebar {
    position: relative;
}
.navigation-sidebar::after {
    content: "";
    position: absolute;
    width: 100vw;
    height: 100%;
    background: #fff;
    top: 0;
    left: 0;
    z-index: -1;
    box-shadow: -25px -25px 50px -50px rgba(0, 0, 0, 0.5);
}
body.dark .navigation-sidebar::after {
    background: #000;
    box-shadow: -25px -25px 50px -50px rgba(255, 255, 255, 0.5);
}
.navigation-sidebar + .neos-contentcollection {
    position: relative;
    min-height: 200px;
}
.navigation-sidebar + .neos-contentcollection::after {
    content: "";
    position: absolute;
    width: 100vw;
    height: 100%;
    background: rgb(255,255,255);
    background: -moz-linear-gradient(0deg, rgba(255,255,255,0) 0%, rgba(255,255,255,1) 50%, rgba(255,255,255,1) 100%);
    background: -webkit-linear-gradient(0deg, rgba(255,255,255,0) 0%, rgba(255,255,255,1) 50%, rgba(255,255,255,1) 100%);
    background: linear-gradient(0deg, rgba(255,255,255,0) 0%, rgba(255,255,255,1) 50%, rgba(255,255,255,1) 100%);
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#ffffff",endColorstr="#ffffff",GradientType=1);
    top: 0;
    left: 0;
    z-index: -1;
}
body.dark .navigation-sidebar + .neos-contentcollection::after {
    background: rgb(0,0,0);
    background: -moz-linear-gradient(0deg, rgba(0,0,0,0) 0%, rgba(0,0,0,1) 50%, rgba(0,0,0,1) 100%);
    background: -webkit-linear-gradient(0deg, rgba(0,0,0,0) 0%, rgba(0,0,0,1) 50%, rgba(0,0,0,1) 100%);
    background: linear-gradient(0deg, rgba(0,0,0,0) 0%, rgba(0,0,0,1) 50%, rgba(0,0,0,1) 100%);
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#000000",endColorstr="#000000",GradientType=1);
}
.sidebar-right h4,
footer h4 {
    font-size: 1.25rem;
    font-weight: 600;
    text-transform: uppercase;
    padding: .4rem 0 .4rem 0;
    margin: 0;
    border-bottom: 1px solid;
}
.quicklinks .vivomedia-fontawesome-icon {
    float: left;
    width: 30px;
    text-align: center;
    margin-right: 0.25rem;
    margin-left: 0;
    padding: 0;
    
}
.quicklinks .vivomedia-fontawesome-icon span {
    padding: .6rem 0;
    display: block;
    font-size: 1.125rem;
}
.quicklinks .black-text:not(:first-of-type) {
    position: relative;
    padding: 0;
    font-size: 1.125rem;
    border-bottom: 1px solid #ccc;
}
.quicklinks p {
    margin: 0;
}
.quicklinks a {
    color: #111;
    display: block;
    margin: 0;
    padding: .6rem 0;
}
.quicklinks a:hover,
.quicklinks a:focus {
    background-size: 0;
    color: var(--theme-color-preset-one);
}
.sidebar-right .container:not(.quicklinks) .neos-contentcollection > .black-text:first-of-type {
    margin-bottom: 1rem;
}

/* -----------------------------------------------
LAYOUT WIDTH
----------------------------------------------- */

.sidebar-left,
.sidebar-right,
.sidebar-left-right {
    max-width: 1300px;
    margin: 0 auto;
}

/* -----------------------------------------------
FORMULAR
----------------------------------------------- */

legend {
    visibility: hidden;
    width: 0;
    height: 0;
}
fieldset {
    min-width: 0;
    padding: 0;
    margin: 0;
    border: 0;
}
.clearfix {
    position: relative;
    margin-bottom: 1.5rem;
}
.clearfix.error {
    margin-bottom: 3rem;
}
div:not(.inputfilter):not(.search-results):not(.calendarcontrols) > form > fieldset> .clearfix:last-child > label {
    visibility: hidden;
    height: 0;
    width: 0;
}
div:not(.inputfilter):not(.search-results):not(.calendarcontrols) > form > fieldset> .clearfix:last-child > .input {
    border: 0;
}
div:not(.inputfilter):not(.search-results):not(.calendarcontrols) > form > fieldset> .clearfix:last-child  > .input > * {
    padding: 0;
}
.clearfix > label {
    cursor: text;
    z-index: 1;
    padding: 0 .25rem;
    font-size: .75rem;
    transition: all .25s;
    display: block;
    text-overflow: ellipsis;
    overflow: hidden;
}
.clearfix.focused > label {
    color: #3498db;
}
.clearfix.filled > label {
    color: #27ae60;
}
.clearfix.error > label {
    color: #e74c3c;
}
.clearfix > .input {
    border: 1px solid #e4e4e4;
    border-radius: 5px;
    transition: all .25s;
    position: relative;
}
.clearfix.focused > .input {
    border-color: #3498db;
}
.clearfix.filled > .input {
    border-color: #27ae60;
}
.clearfix.error > .input {
    border-color: #e74c3c;
}
.clearfix > .input > * {
    padding: .75rem;
}
.clearfix > .input > input,
.clearfix > .input > textarea,
.clearfix > .input > select {
    display: block;
    width: 100%;
    height: 50px;
    font-size: inherit;
    font-family: inherit;
    border: 0;
    line-height: normal;
    outline: 0;
    appearance: none;
    background: none;
}
.clearfix > .input > textarea {
    min-height: 200px;
    width: 100% !important;
}
.clearfix > .input input {
    margin: 0;
    outline: none;
}
.clearfix > .input > select {
    cursor: pointer;
}
.clearfix > .input.selectbox::after {
    content: "\f0d7";
    font-family: "Font Awesome 5 Free";
    font-weight: 600;
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    color: #d4d4d4;
    pointer-events: none;
}
.input.selectbox:focus-within::after {
    color: inherit;
}
.clearfix .add-on,
.clearfix .inputs-list label,
.clearfix #termineingabe-form-image-uploadfields {
    position: relative;
    display: block;
}
.clearfix input[type='checkbox'] {
    appearance: none;
    -webkit-appearance: none;
    width: 26px;
    height: 26px;
    border: none;
    outline: none;
    vertical-align: middle;
}
.clearfix input[type='checkbox']::after {
    content: "\f0c8";
    font-family: "Font Awesome 5 Free";
    font-weight: 400;
    top: 2px;
    left: 0;
    right: 0;
    bottom: 0;
    position: absolute;
    font-size: 1.25rem;
    cursor: pointer;
}
.clearfix input[type='checkbox']:checked::after {
    content: "\f14a";
    font-weight: 900;
}
.clearfix .inputs-list {
    margin: 0;
    list-style-type: none;
}
.clearfix .help-inline {
    color: #d63031;
    display: block;
    padding: .5rem 0;
    position: absolute;
    white-space: nowrap;
    max-width: 100%;
    text-overflow: ellipsis;
    overflow: hidden;
}
#termineingabe-form .clearfix:nth-of-type(9),
#termineingabe-form .clearfix:nth-of-type(10),
#termineingabe-form .clearfix:nth-of-type(11),
#termineingabe-form .clearfix:nth-of-type(12),
#termineingabe-form .clearfix:nth-of-type(13),
#termineingabe-form .clearfix:nth-of-type(14) {
    float: left;
}
#termineingabe-form .clearfix:nth-of-type(9),
#termineingabe-form .clearfix:nth-of-type(12) {
    width: calc(100% - 120px);
}
#termineingabe-form .clearfix:nth-of-type(10),
#termineingabe-form .clearfix:nth-of-type(11),
#termineingabe-form .clearfix:nth-of-type(13),
#termineingabe-form .clearfix:nth-of-type(14) {
    width: 60px;
    padding-left: 1rem;
}
#termineingabe-form .clearfix:nth-of-type(15) {
    clear: left;
    float: none;
}
.actions ul {
    list-style-type: none;
    padding: 0;
    margin: 0;
}
.actions .next,
.actions .previous {
    display: inline-block;
    padding: 0;
}
.actions .next .btn,
.actions .previous .btn {
    position: relative;
    display: block;
    font-weight: bold !important;    
    text-decoration: none;
    border: 2px solid;
    font: inherit;
    -webkit-appearance: none;
    appearance: none;
    background: none;
    cursor: pointer;
    outline: none;
    padding: .5rem 1.5rem;
    transition: background .25s, border-color .25s, color .25s;
    border-radius: 10px;    
}
.actions .next .btn:hover,
.actions .next .btn:focus,
.actions .next .btn:active,
.actions .previous .btn:hover,
.actions .previous .btn:focus,
.actions .previous .btn:active {
    color: #FFF !important;
}
.success-message {
    padding: .25em 1em;
    background: #7eb62e;
    color: #fff;
}
.success-message p {
    margin: 1rem 0;
}
.success-message i {
    padding-right: .6em;
}

/* -----------------------------------------------
FOOTER
----------------------------------------------- */

footer {
    position: relative;
}
footer ul {
    list-style: none;
    margin: 0;
    padding: 0;
}
footer ul li {
    margin: 1em 0;
}
footer a {
    color: inherit;
}
footer .table thead tr th {
    background: none;
}
footer .table tbody tr:nth-of-type(even) th,
footer .table tbody tr:nth-of-type(even) td {
    background: none;
}
footer .mehrspalter.columns3[data-layout="auto"]:first-child .mehrspalter-content > .neos-contentcollection {
    grid-template-columns: 1fr 150px 1fr;
}
footer .neos-contentcollection > .mehrspalter:first-child {
    width: 100%;
    margin: 0 auto;
    color: #656668;
}
footer .neos-contentcollection > .mehrspalter:first-child a {
    color: #656668;
    position: relative;
    z-index: 1;
}
footer .neos-contentcollection > .mehrspalter:first-child .spalte:last-child a {
    padding-left: 1.5rem;
}
footer .neos-contentcollection > .mehrspalter:first-child .spalte:first-child a {
    padding-right: 1.5rem;
}
footer .neos-contentcollection > .mehrspalter:first-child .spalte:last-child .black-text {
    margin-left: -1.5rem;
}
footer .neos-contentcollection > .mehrspalter:first-child .spalte:first-child .black-text {
    margin-right: -1.5rem;
}
footer .neos-contentcollection > .mehrspalter:first-child .spalte .black-text {
    font-size: 1.125rem;
    display: inline-block;
    text-transform: uppercase;
    font-weight: 600;
}
footer .neos-contentcollection > .mehrspalter:first-child .spalte .vivomedia-fontawesome-icon {
    display: inline-block;
    width: 30px;
    text-align: center;
    margin-left: 0;
    padding: 0;
}
footer .neos-contentcollection > .mehrspalter:first-child .spalte:first-child .vivomedia-fontawesome-icon {
    font-size: 1.2rem;
}
footer .neos-contentcollection > .mehrspalter:first-child .spalte:last-child .vivomedia-fontawesome-icon {
    font-size: 1.8rem;
    position: relative;
    top: 3px;
    margin-top: -.6rem;
}
footer .neos-contentcollection > .mehrspalter:first-child .spalte:nth-child(2) {
    width: 150px;
}
footer .neos-contentcollection > .mehrspalter:last-child {
    box-shadow: 0 0 25px rgba(0,0,0,.25);
}
footer .mehrspalter.padding-both .mehrspalter-content {
    padding: 2.5rem 2rem !important;
}
footer .neos-contentcollection > .mehrspalter:first-of-type .mehrspalter-content > .spalte:first-child {
    text-align: right;
}
footer .neos-contentcollection > .mehrspalter:first-child .mehrspalter-content .spalte:nth-child(2) {
    width: 150px;
}
footer .mehrspalter.columns3[data-layout="auto"]:first-child .mehrspalter-content {
    grid-template-columns: 1fr 150px 1fr;
}
.mehrspalter.vertical-center .spalte-content {
    vertical-align: middle;
}
body.dark footer .mehrspalter.white-background {
    background: #000;
}

/* -----------------------------------------------
OFFCANVAS-TOGGLE
----------------------------------------------- */

.offcanvas-toggle {
    background: transparent;
    outline: none;
    margin: 0;
    border-radius: 0;
    box-shadow: none;
    border: none;
    position: absolute;
    right: 2rem;
    top: .5rem;
    transform: translateY(-50%);
    padding: 0;
    z-index: 12;
    transition: all .25s;
    cursor: pointer;
}
.is-sticky .offcanvas-toggle {
    top: 2.25rem;
}
.offcanvas-toggle .line {
    width: 25px;
    height: 2px;
    background-color: #FFF;
    display: block;
    margin: 5px auto;
    -webkit-transition: all 0.25s ease-in-out;
    -o-transition: all 0.25s ease-in-out;
    transition: all 0.25s ease-in-out;
    text-indent: -9999px;
    border-radius: 0px;
}
.header.is-sticky .offcanvas-toggle .line,
.noscroll .offcanvas-toggle .line {
    background-color: #000;
}
.offcanvas-toggle .line:nth-child(1) {
    width: 20px;
}
.offcanvas-toggle .line:nth-child(1),
.offcanvas-toggle .line:nth-child(3) {
    margin: 5px 0 5px auto;
}
.offcanvas-toggle.is-active .line:nth-child(3) {
    width: 10px;
}

/* -----------------------------------------------
OFFCANVAS-MENU
----------------------------------------------- */

.offcanvas {
    position: fixed;
    top: 0;
    bottom: 0;
    right: -400px;
    width: 400px;
    transition: all .75s cubic-bezier(.65,0,.35,1);
    z-index: 2;
    box-shadow: none;
    overflow-x: hidden;
    overflow-y: auto;
    background: #FFF;
}
.offcanvas.is-active {
    transform: translateX(-400px);
    box-shadow: 0 0 20px -10px rgb(0 0 0 / 50%);
}
.offcanvas ul,
.offcanvas li {
    list-style-type: none;
}
.offcanvas ul {
    position: absolute;
    margin: 0;
    padding: 0;
    width: inherit;
    transition: all .75s cubic-bezier(.65,0,.35,1);
    top: 0;
    visibility: hidden;
    opacity: 0;
    pointer-events: none;
}
.offcanvas > ul {
    top: calc(var(--header-height) + 2rem);
    visibility: visible;
    opacity: 1;
    pointer-events: all;
}
.offcanvas ul.active {
  visibility: visible;
  opacity: 1;
  pointer-events: all;
}
.offcanvas .navigation-item--state-active > a {
    font-weight: bold;
}
.offcanvas[data-level-current="1"] > ul {
    transform: translateX(0);
}
.offcanvas[data-level-current="2"] > ul {
    transform: translateX(-400px);
}
.offcanvas[data-level-current="3"] > ul {
    transform: translateX(-800px);
}
.offcanvas[data-level-current="4"] > ul {
    transform: translateX(-1200px);
}
.offcanvas[data-level-current="5"] > ul {
    transform: translateX(-1600px);
}
.offcanvas[data-level-current="6"] > ul {
    transform: translateX(-2000px);
}
.offcanvas .navigation-item {
    position: static;
    display: table;
    width: 100%;
    padding: 0;
}
.offcanvas .navigation-item::before {
    display: none;
}
.offcanvas .navigation-item  .navigation-link,
.offcanvas .navigation-item  .previous-navigation {
    text-decoration: none;
    display: table-cell;
    font-size: 1.25rem;
    font-weight: 200;
    padding: .75rem 2rem;
    transition: all .25s;
    visibility: visible;
    opacity: 1;
}
.offcanvas .navigation-item--level-1 > a,
.offcanvas .navigation-item .previous-navigation {
    font-weight: 600 !important;
    font-size: 1.5rem !important;	
}
.offcanvas .navigation-item--previous {
	position: sticky;
	top: var(--header-height);
    background: #FFF;
}
.offcanvas .navigation-item--level-1 > .navigation-link {
    padding-right: 0;
}
.offcanvas .navigation-item .previous-navigation {
    padding-left: 0 !important;
}

/* -----------------------------------------------
SUBMENU-BUTTON
----------------------------------------------- */

.offcanvas .toggle-submenu {
    display: table-cell;
    vertical-align: middle;
    text-align: right;
    cursor: pointer;
    width: 51px;
    font-size: 1.25rem;
    transition: all .25S;
    padding: 0 2rem;
    visibility: visible;
    opacity: 1;
}
.offcanvas .close-submenu {
    text-align: left !important;
    width: 25px !important;
    padding-right: 1rem;
    border-left: none;
    font-size: 1.75rem;
}

/* -----------------------------------------------
MEDIA-QUERIES
----------------------------------------------- */

@media(min-width: 1024px) {
    .offcanvas {
        display: none;
    }
    .offcanvas-toggle {
        display: none;
    }
}
@media(max-width: 1023px) {
    body {
        --header-height: 75px;
    }
    body.noscroll .header-wrap {
        background: #FFF;
        box-shadow: 0 0 1rem rgba(0,0,0,.5);
    }
    body.noscroll .logo {
        display: none;
    }
    body:not(.noscroll) .accessibility {
        visibility: hidden;
        opacity: 0;
    }
    header .search > .search-toggle {
        right: 4.5rem;
    }
    .noscroll header .search > .search-toggle {
        right: 7.5rem;
    }
    .accessibility {
        right: 5rem;
        left: auto;
    }
    .accessibility-content {
        right: -5rem;
        left: auto;
        grid-template-columns: 1fr;
        width: calc(100vw - 4rem);
        max-width: 450px;
    }
    .accessibility-content > div:not(:last-child)::after {
        display: none;
    }
    .accessibility-content::after {
        display: none;
    }
    .change-contrast,
    .is-sticky .change-contrast {
        color: #000;
    }
    .navigation-main {
        display: none;
    }
    .navigation-sidebar {
        display: none;
    }
    .navigation-left {
        display: none;
    }
    .sidebar-left,
    .sidebar-right,
    .sidebar-left-right {
        grid-template-columns: 100%;
        -ms-grid-columns: 100%;
    }
    .sidebar-left > .left {
        grid-row: 2;
    }
    .sidebar-left > .middle {
        grid-row: 1;
    }
    .sidebar-right > .middle {
        grid-row: 1;
    }
    .sidebar-right > .right {
        grid-row: 2;
    }
    .sidebar-left-right > .left {
        grid-row: 2;
    }
    .sidebar-left-right > .middle {
        grid-row: 1;
    }
    .sidebar-left-right > .right {
        grid-row: 3;
    }
    
    .middle div.padding-auto:first-of-type .container-content,
    .middle div.padding-auto:first-of-type .mehrspalter-content {
        padding: 4rem 2rem 0 !important;
    }
    .middle div.padding-auto:last-of-type .container-content,
    .middle div.padding-auto:last-of-type .mehrspalter-content {
        padding: 0 2rem 4rem !important;
    }
    .middle div.padding-auto:first-of-type:last-of-type .container-content,
    .middle div.padding-auto:first-of-type:last-of-type .mehrspalter-content {
        padding: 4rem 2rem !important;
    }
    .breadcrumb__list {
        margin: 2rem 2rem -2rem 2rem;
    }
    .stage .container.default-background {
        height: 300px;
        margin-bottom: -150px;
    }
    .container[data-height-mobile~="50vh"] {
        min-height: 50vh;
    }
}
@media(max-width: 679px) {
    /* .table th,
    .table td {
        display: block;
    } */
    .table thead tr th p {
        hyphens: none;
        -moz-hyphens: none;
        word-break: keep-all;
    }
    footer .spalte:last-child h3,
    footer .spalte:last-child p {
        text-align: left !important;
    }
    footer .neos-contentcollection > .mehrspalter:first-child .spalte:first-child a,
    footer .neos-contentcollection > .mehrspalter:first-child .spalte:last-child a {
        display: inline-block;
        text-indent: -9999px;
        overflow: hidden;
        top: 7px;
    }
    footer .mehrspalter.columns3[data-layout="auto"]:first-child .mehrspalter-content > .neos-contentcollection {
        grid-template-columns: 1fr 100px 1fr;
    }
    footer .neos-contentcollection > .mehrspalter:first-child .spalte:nth-child(2) {
        width: 100px;
    }
    footer .neos-contentcollection > .mehrspalter:first-child .spalte:last-child .black-text {
        margin-left: -1.65rem;
    }
    footer .neos-contentcollection > .mehrspalter:first-child .spalte:first-child .black-text {
        margin-right: -1.65rem;
    }
    .pageteaser-teaser .image {
        max-height: 150px;
    }
    .pageteaser.grid-disabled .pageteaser-teaser {
        grid-template-columns: 1fr;
    }
    .pageteaser-teaser a {
        grid-template-columns: 1fr;
    }
    .stage h1 {
        font-size: 2rem;
    }
}
@media(max-width: 400px) {
	.offcanvas {
	    right: -100vw;
	    width: 100vw;
	}
	.offcanvas.is-active {
	    transform: translateX(-100vw);
	}
	.offcanvas[data-level-current="2"] > ul {
	    transform: translateX(-100vw);
	}
	.offcanvas[data-level-current="3"] > ul {
	    transform: translateX(-200vw);
	}
	.offcanvas[data-level-current="4"] > ul {
	    transform: translateX(-300vw);
	}
	.offcanvas[data-level-current="5"] > ul {
	    transform: translateX(-400vw);
	}
	.offcanvas[data-level-current="6"] > ul {
	    transform: translateX(-500vw);
	}
}
@media (max-width: 1120px) {
    .navigation-main .navigation > li > a {
        font-size: 1rem;
    }
}