:root {
    --nbh-primary: #0f172a;
    --nbh-primary-rgb: 15, 23, 42;
    --nbh-accent: #0ea5e9;
    --nbh-accent-rgb: 11, 165, 233;
    --nbh-accent-hover: #0284c7;
    --nbh-accent-hover-rgb: 2, 132, 199;
    --nbh-soft: #f8fafc;
    --nbh-soft-rgb: 248, 250, 252;
    --nbh-test-1: #e2e8f0;
    --nbh-test-1-rgb: 226, 232, 240;
    --nbh-test-2: #475569;
    --nbh-test-2-rgb: 71, 85, 105;
}

:focus {
    outline: none !important;
    box-shadow: none !important;
}

body {
    background-color: var(--nbh-soft);
}

.navbar {
    --bs-navbar-color: var(--nbh-soft);
    --bs-navbar-hover-color: var(--nbh-accent);
    --bs-navbar-disabled-color: rgba(var(--nbh-soft-rgb), .3);
    --bs-navbar-active-color: var(--nbh-accent);
    --bs-navbar-brand-font-size: 1rem;
    --bs-navbar-brand-color: var(--nbh-soft);
    --bs-navbar-brand-hover-color: var(--nbh-soft);
}

.navbar-brand {
    color: var(--nbh-soft);
    letter-spacing: .08em;
}

.navbar-brand:focus,
.navbar-brand:hover {
    color: var(--nbh-soft);
}

.nav-link {
    color: var(--nbh-soft);
    font-weight: bold;
    padding: .5rem 0 !important;
}

.nav-link:focus,
.nav-link:hover {
    color: var(--nbh-accent);
}

.nav-item + .nav-item {
    margin-left: 1rem;
}

.accordion-button:not(.collapsed) {
    color: var(--nbh-soft);
    background-color: var(--nbh-accent);
}

.accordion-button:not(.collapsed)::after {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23ffffff' stroke-linecap='round' stroke-linejoin='round'%3e%3cpath d='M2 5L8 11L14 5'/%3e%3c/svg%3e");
}

.hero {
    background-color: var(--nbh-primary);
    color: var(--nbh-soft);
}

.hero .lead {
    color: rgba(255,255,255,.9);
}

.btn-nbh {
    background: var(--nbh-accent);
    border-color: var(--nbh-accent);
    color: var(--nbh-soft);
}

.btn-nbh:hover {
    background: var(--nbh-accent-hover);
    border-color: var(--nbh-accent-hover);
    color: var(--nbh-soft);
}

.link-nbh {
    color: var(--nbh-accent);
    text-decoration: underline;
    transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out;
    cursor: pointer;
}

.link-nbh:focus,
.link-nbh:hover {
    color: var(--nbh-accent-hover);
}

.required::after {
    content:" *";
    color: #c0392b;
}

.card-accent {
    border-top: 4px solid var(--nbh-accent);
}

a {
    color: var(--nbh-accent);
    transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out;
}

a:focus,
a:hover {
    color: var(--nbh-accent-hover);
}

.required::after {
    content:" *";
    color:#c0392b;
}

#karte {
    border-radius: .5rem;
}

footer {
    color:#6c757d;
}