:root {
    --main: #008235;
}
@media (max-width: 799px) {
    .page-name-ferienprogramm .four-col-table table,
    .page-name-ferienprogramm .four-col-table td,
    .page-name-ferienprogramm .four-col-table th,
    .page-name-ferienprogramm .four-col-table thead,
    .page-name-ferienprogramm .four-col-table tbody {
        display: block;
        width: 100%;
    }

    .page-name-ferienprogramm .four-col-table tr {
        margin-bottom: 1em;
        border-radius:.3em;
        box-shadow:-0.5em 0 1em rgba(0, 45, 19, 0.3);
        padding:2em;
    }
    .page-name-ferienprogramm .four-col-table .table td {
        border:0;
        padding:.25em 0;
    }
    .page-name-ferienprogramm .four-col-table td:nth-child(4) a {
        margin:0;
        width:auto;
    }
    .page-name-ferienprogramm .table-striped tbody tr {
        background-color: rgba(0, 0, 0, 0.05);
        width: 100%;
        display: block;
    }
    .page-name-ferienprogramm.w-100.my-3.py-2.card.four-col-table {
        background: transparent;
        box-shadow: none !important;
    }
    .page-name-ferienprogramm .shadow {
        box-shadow: none !important;
    }
}

.screenreader-text {
    height: 1px;
    left: -999px;
    position: absolute;
    top: auto;
    width: 1px;
    background-color: rgba(200,0,0,.95);
    backdrop-filter: blur(5px);
    color:#fff;
    z-index: 5000;
    font-size:1.3em;
    display: block;
    padding:.5em 1em;
}
body {
    scroll-behavior: smooth;
}
.screenreader-text:focus {
    display: inline-block;
    height: auto;
    margin: auto;
    width: auto;
    left:3.5%;
    right:auto;
}
.header-user-actions {
    position: absolute;
    right:3.5%;
    top:.5em;
}
@media(max-width:991px) {
    .wsv-main-nav {
        margin-top:3em;
    }
}
header .search-button {
    margin-right:1em;
}
.global-login {
    margin-right:0;
}

.accessibility-controls button {
    border:0;
    background:none;
    color:#fff;
    font-weight:bold;
}
.accessibility-controls button img {
    width:1.5em;
}
body.high-contrast {
    background-color: #fff !important;
    color: #000 !important;
}
body.high-contrast a {
    color: #000 !important;
}
body.high-contrast header {
    background-color:#000 !important;
    color:#fff !important;
}
body.high-contrast header button,
body.high-contrast header a {
    color:#fff !important;
}
body.high-contrast .carousel-caption {
    color:#fff !important;
}

body.high-contrast img {
    filter: grayscale(100%) contrast(125%);
}
body.high-contrast  .card2022 .card-title,
body.high-contrast .text-secondary,
body.high-contrast h1,
body.high-contrast  .featured-articles-inner h3 span,
body.high-contrast .booking-login-form,
body.high-contrast .sidebar-head,
body.high-contrast header .register-link-wrapper a {
    color:#000 !important;
}
body.high-contrast  .home-middle-block .card-header,
body.high-contrast  .wsv-calendar .wsv-month,
body.high-contrast  .home-middle-block strong em a,
body.high-contrast [type=submit],
body.high-contrast .wsv-dropdown-nav,
body.high-contrast .bg-primary,
body.high-contrast .btn-primary,
body.high-contrast .wsv-sportart a .card:hover
{
    background:#000 !important;
}
body.high-contrast .home-middle-block .card-body {
    background:#fff !important;
}
body.high-contrast a.btn-primary {
    color:#fff !important;
}
body.high-contrast .new-2022 .featured-articles-inner,
body.high-contrast  .gradient-2023 {
    background-image:none;
    background-color:#eee !important;
}
body.high-contrast header .button {
    background:transparent;
}
.wsv-dropdown-nav-btn:focus {
    border:2px solid #000;
}
body.high-contrast .wsv-dropdown-nav-btn:focus {
    border-color:#fff;
}

body.high-contrast .wsv-sidebar-right,
body.high-contrast .athletx_booking_kurs_select_link_full {
    background-image:none;
    background-color:#eee;
}
body.high-contrast .athletx_booking_kurs_select_link_full {
    color:#000;
}
body.high-contrast .athletx_booking_kurs_select_link,
body.high-contrast .athletx_booking_kurs_select_link_full  {
    color:#fff;
    background-color:#000;
}
body.high-contrast .wsv-full-width-container {
    filter:grayscale(1);
}
body.high-contrast .usps-studio {
    background-image:none;
    background-color:#eee;
}
body.high-contrast .usps-studio .card-body {
    background-color:#fff;
}
body.high-contrast .usps-studio .card-body .card-text {
    color:#000;
}
body.high-contrast .fitness-sports .fitness-sport .card {
    background-image:none;
    background-color:#eee;
}
body.high-contrast .fa,
body.high-contrast .fas {
    filter:brightness(0) grayscale(1);
}
body.high-contrast header .fa-search {
    filter: brightness(1);
}
body.high-contrast .wsv-sub-nav-btn {
    filter:invert(1);
}
.card-body .card-text {
    hyphens:auto;
}
body.high-contrast .accessibility-controls-mobile button {
    color:#000;
}
body.high-contrast .accessibility-controls-mobile button img {
    filter:brightness(0);
}
.wsv-sub-nav-btn {
    z-index:5;
}
body.high-contrast header .wsv-dropdown-nav a {
    color:#000 !important;
}
body.high-contrast main.wsv-background {
    background-image:none !important;
    background-color:#eee;
}

@media(max-width:991px) {
    .navbar-dark .navbar-nav .wsv-dropdown-nav .nav-link {
        color:var(--main);
    }
}

h5 {
    hyphens:auto;
}
.label-input-wrapper {
    display:flex;
    align-items:center;
    margin-bottom:1.25em;
}
.label-input-wrapper label {
    display:block;
    width:10em;
    margin-bottom:0;
}
.label-input-wrapper > div:before {
    display:none;
}
#myAjaxForm .label-input-wrapper input, #myAjaxForm .label-input-wrapper select {
    margin-bottom:0;
}
#myAjaxForm .button {
    background-color:var(--main) !important;
}
#myAjaxForm input[type=submit]:focus {
    border:4px solid #000;
}
.btn-primary {
    background-color: var(--main);
}
.home-middle-block strong em a,
[type=submit] {
    background-color: var(--main);
}
.featured-articles-inner h3 span {
    color: var(--main);
}
.card2022 .card-title {
    color: var(--main);
}
a {
    color:var(--main);
    font-weight:bold;
}
a .card-text {
    font-weight:normal;
}
.home-middle-block .card-header {
    background-color: var(--main);
}
@media(min-width:960px) {
    header .navbar-nav {
        max-width:100%;
        flex-wrap: wrap;
        white-space: normal;
    }
    body .wsv-navbar {
        padding-left: calc(11em);
    }
}
@media(max-width:959px) {
    .header-user-actions {
        width:93%;
        left:3.5%;
        right:auto;
        display: flex;
    }
    .wsv-sub-nav-btn {
        position: absolute;
        left:3.5%;
    }
    .global-login-wrapper {
        margin-left:auto;
    }
    .accessibility-controls {
        display: none;
        align-items: center;
        margin-top:.2em;
    }

    #toggle-contrast {
        position: relative;
        top:-.1em;
    }
    .hamburger-box,
    .hamburger-inner,
    .hamburger-inner::before,
    .hamburger-inner::after {
        width:30px;
    }
    header .search-button {
        margin-right:.5em;
        position: relative;
        top:.1em;
    }
}
@media(max-width:499px) {
    .accessibility-controls {
        font-size:.9em;
    }
    .accessibility-controls button {
        padding: 0 .2em;
    }
    .header-user-actions {
        width:97%;
        left:1.5%;
        right:auto;
        display: flex;
    }
    .hamburger-box,
    .hamburger-inner,
    .hamburger-inner::before,
    .hamburger-inner::after {
        width:25px;
    }
}
.button {
    background-color: var(--main);
}

@media(min-width:960px) {
    .accessibility-controls-mobile {
        display: none;
        position: absolute;
    }
    .accessibility-controls-desktop {
        display: block;
    }
}
@media(max-width:959px) {
    .accessibility-controls-mobile {
        display: flex;
        right: calc(3.5% - .5em);
        left: auto;
        align-items: center;
        position: absolute;
        top: 3.7em;
        padding:.25em .5em;
        border-radius: 1.2em;
        border-top-left-radius: 0;
        border-top-right-radius: 0;

        background: rgba(255, 255, 255, .8);
        backdrop-filter: blur(15px);
        z-index: 1;
    }
    .accessibility-controls button {
        color:var(--main);
    }
    .accessibility-toggler-desktop {
        display: none;
    }
}
@media(max-width:499px) {
    .accessibility-controls-mobile {
        right: 0;
        top: 4.2em;
        border-bottom-right-radius: 0;
        padding: .25em 2% .25em;
    }
}