:root {
    --swbb-focus-inner: #004985;
    --swbb-focus-outer: #ffffff;
}

:focus-visible {
    outline: none;
    box-shadow:
        0 0 0 2px var(--swbb-focus-outer),
        0 0 0 4px var(--swbb-focus-inner);
}

input:focus-visible,
select:focus-visible,
textarea:focus-visible {
    box-shadow:
        0 0 0 2px var(--swbb-focus-outer),
        0 0 0 4px var(--swbb-focus-inner);
}

.content a,
#frameright a,
a.download,
a.mail,
a.link-mail,
a[href^="mailto:"] {
    text-decoration: underline;
    text-underline-offset: 0.15em;
    text-decoration-thickness: 1px;
}

.content a:hover,
.content a:focus-visible,
#frameright a:hover,
#frameright a:focus-visible,
a.download:hover,
a.download:focus-visible,
a.mail:hover,
a.mail:focus-visible,
a.link-mail:hover,
a.link-mail:focus-visible,
a[href^="mailto:"]:hover,
a[href^="mailto:"]:focus-visible {
    color: #003d6b;
    text-decoration: underline;
    text-decoration-thickness: 2px;
}

.breadcrumb-list .breadcrumb-item a,
.breadcrumb-list .breadcrumb-link {
    text-decoration: underline;
    text-underline-offset: 0.15em;
}

.breadcrumb-list .breadcrumb-item a:hover,
.breadcrumb-list .breadcrumb-item a:focus-visible,
.breadcrumb-list .breadcrumb-link:hover,
.breadcrumb-list .breadcrumb-link:focus-visible {
    color: #003d6b;
    text-decoration: underline;
    text-decoration-thickness: 2px;
}

.breadcrumb-list .breadcrumb-item a:focus-visible,
.breadcrumb-list .breadcrumb-link:focus-visible {
    box-shadow:
        0 0 0 2px var(--swbb-focus-outer),
        0 0 0 4px var(--swbb-focus-inner);
    border-radius: 2px;
}

footer .links a {
    text-decoration: underline;
    text-underline-offset: 0.15em;
}

footer .links a:hover,
footer .links a:focus-visible {
    text-decoration: underline;
    text-decoration-thickness: 2px;
}

nav#navigation a:hover,
nav#navigation li:hover > a,
nav#navigation a:focus-visible {
    text-decoration: underline;
}

@media screen and (min-width: 768px) {
    nav#navigation a:focus-visible {
        box-shadow:
            inset 0 0 0 2px var(--swbb-focus-outer),
            inset 0 0 0 4px #b6cf03;
    }
}

.header-box a,
.header-box button.link {
    min-height: 24px;
    min-width: 24px;
}

.header-box a:focus-visible,
.header-box button.link:focus-visible {
    box-shadow:
        0 0 0 2px var(--swbb-focus-outer),
        0 0 0 4px var(--swbb-focus-inner);
}

.cols.bildergalerie .col a:focus-visible {
    border-color: transparent;
}

.bxPager span a {
    text-decoration: underline;
    text-underline-offset: 0.15em;
    min-width: 24px;
    min-height: 24px;
}

.bxPager span a:hover,
.bxPager span a:focus-visible {
    color: #004985;
    text-decoration: underline;
    text-decoration-thickness: 2px;
}

.cc_banner-wrapper .cc_container a {
    text-decoration: underline;
    text-underline-offset: 0.15em;
}
