: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: 71.5rem;
}

.input-group label {
    height: 100%;
    display: flex;
}

input.form-check-input {
    display: flex;
    align-items: center;
    width: 1.5rem;
    height: 1.5rem;
    padding: 0;
    margin: 0 0.625rem 0 0;
    border: 1px solid var(--black);
    border-radius: 2px;
}

input.form-check-input:checked {
    background-color: var(--white);
    background-size: 1rem 1rem;
    border: 2px solid var(--turquoise-5);
    background-image: url("../icons/check-fdz.svg");
    background-repeat: no-repeat;
}

label:has(input.form-check-input:checked) {
    color: var(--turquoise-5);
}

.matching-word {
    color: var(--turquoise-4);
    font-weight: 700;
}

/* search box */
h1 {
    margin: 2.875rem auto;
}

.search-box {
    background-color: var(--gray-3);
    padding: 1.75rem 1.5rem 2.5rem;
}

.search-box .row {
    align-items: end;
}

.search-box .row:first-child {
    margin-bottom: 1.5rem;
}

.search-box .row .col-12 {
    position: relative;
}

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

.search-box label.search-input {
    position: relative;
}

.search-box label.search-input input {
    padding: 1rem 1.5rem;
    border: 1px solid var(--black);
    border-radius: 2px;
    position: relative;
    z-index: 99;
}

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

.search-box .search-button-desktop {
    padding: 1.125rem 1.5rem;
    background-color: var(--turquoise-4);
    border: none;
    border-radius: 3px;
    color: var(--white);
    font-weight: 700;
    font-size: var(--font-size-text);
    z-index: 110;
    position: relative;
}

.search-box .search-button-desktop.secondary {
    background-color: var(--white);
    color: var(--turquoise-4);
}

.search-box .search-button-mobile {
    position: absolute;
    right: 0.75rem;
    top: 1.5rem;
    display: block;
    width: 3.625rem;
    height: 3.625rem;
    border: 1px solid var(--black);
    border-left: none;
    border-radius: 2px;
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
    background-color: var(--turquoise-4);
    z-index: 110;
}

.search-box .search-button-mobile.secondary {
    background-color: var(--turquoise-1);
}

.search-box .search-button-mobile::before {
    content: "";
    background-image: url('../icons/search-white.svg');
    background-repeat: no-repeat;
    background-size: contain;
    position: absolute;
    width: 1rem;
    height: 1rem;
    bottom: 1.125rem;
    right: 1.125rem;
}

.search-box fieldset label {
    margin-right: 2rem;
}

@media (max-width: 767px) {
    .search-box .search-input input {
        border-right: none;
        border-top-right-radius: 0;
        border-bottom-right-radius: 0;
    }
}

.overlay {
    height: 100%;
    width: 100%;
    display: none;
    position: fixed;
    z-index: 10;
    top: 0;
    left: 0;
    background-color: var(--turquoise-4);
    opacity: 0.9;
}

.overlay-close {
    position: absolute;
    background: none;
    border: none;
    color: var(--white);
    width: 1.125rem;
    top: 1.625rem;
    right: 2rem;
}

/* results display options*/
.results .container {
    padding: 0;
}

.results .row.results-display-options {
    margin: 2.25rem 0 1.75rem;
}

.results .row.results-display-options .col-2 {
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    align-items: flex-start;
}

.results .row.results-display-options .col-2:last-child {
    padding-right: 0;
}


.results .row.results-display-options label {
    font-size: 0.75rem;
    line-height: 1.625rem;
    color: var(--black);
}

.results .row.results-display-options .dropdowns {
    width: 100%;
    padding: 0;
}

.results .row.results-display-options select {
    width: 100%;
    max-width: 100%;
    padding: 1rem 1.5rem;
    border: 1px solid var(--gray-2);
    border-radius: 2px;
    font-size: var(--font-size-text);
    background-color: var(--white);
    appearance: none;
    background-image: url('../icons/chevron-down-black.svg');
    background-repeat: no-repeat;
    background-size: 1.5rem;
    background-position: right 1.5rem center;
}

.results .row.results-display-options .treffer {
    max-width: 8rem;
}

/* results  */
.results .list-group {
    background-color: var(--gray-3);
    padding: 1.875rem 2.5rem 2.875rem 2.5rem;
    border-radius: 0;
    margin-top: 1rem;
}

.results .result.list-group-item {
    background-color: var(--gray-3);
    border: none;
}

.results .result.list-group-item:not(:last-child) {
    border-bottom: 1px solid var(--white);
}

.results .result.list-group-item h4 {
    color: var(--turquoise-4);
}

.results .result .result-description {
    display: flex;
}

.results .result .result-description {
    margin-bottom: 1rem;
}

/* search result */
.search-box-section {
    position: relative;
}
