:root {
    --dark-dipf-blue: #1c3246;
    --dipf-gray: #8b8b8b;
    --blue-1: #6da5d5;
    --blue-2: #5c8db6;
    --blue-3: #4d7396;
    --blue-4: #97bbdf;
    --blue-5: #c6d1ea;
    --blue-6: #dfe7f4;
    --blue-7: #eff3f9;
    --red-1: #d40050;
    --red-2: #b90045;
    --red-3: #950338;
    --red-4: #de5e73;
    --red-5: #e99aa0;
    --red-6: #f5cfd0;
    --gray-1: #666666;
    --gray-2: #b4b2b2;
    --gray-3: #f2f2f2;
    --gray-4: #d7d7d7;
    --gray-5: #d9d9d9;
    --turquoise-1: #01362d;
    --turquoise-2: #024a3d;
    --turquoise-3: #027e68;
    --turquoise-4: #11967e;
    --turquoise-5: #14a48a;
    --turquoise-6: #20c2a5;
    --turquoise-7: #4ccfb7;
    --turquoise-8: #79dbc9;
    --turquoise-9: #a6e7db;
    --turquoise-10: #d2f3ed;
    --turquoise-11: #e9f9f6;
    --black: #000000;
    --white: #ffffff;
    --red: #d60111;
    --green: #048647;
    --font-size-h1: 2.5rem;
    --font-size-h1-mobile: 1.875rem;
    --font-size-h2: 1.875rem;
    --font-size-h2-mobile: 1.5rem;
    --font-size-h3: 1.5rem;
    --font-size-h3-mobile: 1.25rem;
    --font-size-h4: 1.25rem;
    --font-size-h4-mobile: 1.125rem;
    --font-size-h5: 1rem;
    --font-size-h5-mobile: 1rem;
    --font-size-h6: 0.875rem;
    --font-size-h6-mobile: 0.875rem;
    --font-size-text: 1rem;
    --font-size-text-small: 0.75rem;
}

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

input[type='checkbox']:focus,
.page-link:focus {
    box-shadow: 0px 4px 4px 0px rgba(0, 0, 0, 0.25);
    border: 2px solid var(--turquoise-5);
    outline-width: 2px;
}

button:focus {
    outline: 2px solid var(--black);
}

h1 {
    font-size: var(--font-size-h1);
    font-weight: 700;
    line-height: 3.375rem;
}

h2 {
    font-size: var(--font-size-h2);
    font-weight: 700;
    line-height: 2.5rem;
}

h3 {
    font-size: var(--font-size-h3);
    font-weight: 600;
    line-height: 2.125rem;
}

h4 {
    font-size: var(--font-size-h4);
    font-weight: 600;
    line-height: 1.875rem;
}

h5 {
    font-size: var(--font-size-h5);
    font-weight: 700;
    line-height: 1.625rem;
}

h6 {
    font-size: var(--font-size-h6);
    font-weight: 400;
    line-height: 1.25rem;
}

p,
a {
    font-size: var(--font-size-text);
}

a {
    text-decoration: none;
}

.gray {
    color: var(--gray-1);
}

@media screen and (max-width: 992px) {
    main {
        padding: 0 1rem;
    }
}

@media screen and (max-width: 767px) {
    h1 {
        font-size: var(--font-size-h1-mobile);
        line-height: 2.5rem;
    }

    h2 {
        font-size: var(--font-size-h2-mobile);
        line-height: 2.125rem;
    }

    h3 {
        font-size: var(--font-size-h3-mobile);
        line-height: 1.875;
    }

    h4 {
        font-size: var(--font-size-h4-mobile);
        line-height: 1.75rem;
    }

    h5 {
        font-size: var(--font-size-h5-mobile);
    }

    h6 {
        font-size: var(--font-size-h6-mobile);
    }
}

.container {
    max-width: 54.5rem;
}

/* Introtext */

.introtext {
    max-width: 54.5rem;
    margin: 4.375rem auto 1.875rem auto;
}

.introtext h1 {
    margin-bottom: 2.5rem;
}

/* search box */

.search-box {
    max-width: 54.5rem;
    margin: 0 auto;
}

.search-box label.search-input,
.search-box label.search-input input {
    width: 100%;
    max-width: 26.25rem;
}

.search-box label.search-input {
    position: relative;
    font-size: var(--font-size-text-small);
    margin-bottom: 3.5rem;
}

.search-box label.search-input input {
    margin-top: 0.5rem;
    padding: 1rem 1.5rem;
    border: 1px solid var(--black);
    border-radius: 2px;
}

.search-box label.search-input input:focus-visible {
    outline: 1px solid var(--turquoise-4);
}

.search-box label.search-input .lupe-icon {
    position: absolute;
    right: 1.5rem;
    top: 55%;
    width: 1rem;
    height: 1rem;
}

.results .accordion .accordion-item {
    border-bottom: 1px solid var(--dipf-gray);
}

.results .accordion .accordion-item:first-child {
    border-top: 1px solid var(--dipf-gray);
}

.results .accordion .accordion-button {
    padding-left: 0;
    padding-right: 0;
    font-size: var(--font-size-h3)
}

.results .accordion .accordion-header:focus,
.results .accordion .accordion-button:focus,
.results .accordion .accordion-button:not(.collapsed),
.results .accordion .accordion-button:not(.collapsed):focus,
.results .accordion .accordion-button:not(.collapsed):focus-visible {
    background-color: transparent;
    box-shadow: none;
    border: none;
}

.results .accordion .accordion-button:not(.collapsed) {
    color: var(--black);
}

.results .accordion .accordion-body {
    background-color: var(--gray-3);
    padding: 2.25rem;
}

.results .accordion .accordion-body a {
    color: var(--turquoise-4);
}

.results .accordion .accordion-body .list-group-flush {
    border-bottom: 1px solid var(--white);
    padding-top: 1.375rem;
    padding-bottom: 1.375rem;
}

.results .accordion .accordion-body .list-group-flush:last-child {
    border-bottom: none;
}

.results .accordion .accordion-body a.list-group-item-heading {
    font-weight: 700;
    line-height: 2rem;
}

.results .accordion .accordion-body .list-group-item:not(.list-group-item-heading) {
    line-height: 2rem;
}

.results .accordion .accordion-body .list-group-item:not(.list-group-item-heading)::before {
    content: "\2022";
    color: var(--turquoise-4);
    font-weight: bold;
    display: inline-block;
    width: 1rem;
}

.results .accordion .accordion-body .list-group-item:hover {
    text-decoration: underline;
    text-decoration-color: var(--turquoise-4);
}