/* Global */
:root {
    --color-black:              #000000;
    --color-white:              #ffffff;

    --color-shadow:             #262826;
    --color-marble:             #efeeec;
    --color-spruce:             #b4b29d;
    --color-linen:              #878074;

    --base-font-color:          var(--color-shadow);
    --base-font-family:         'Roboto Condensed', sans-serif;
    --base-font-size:           1rem;
    --base-line-height:         1.5;

    --font-size-h1:             92px;
    --font-size-h2:             72px;
    --font-size-h3:             26px;

    --spacing-y-large:          50px;
    --spacing-y-small:          20px;

    --row-gap: 1.25rem;
    --column-gap: 1.25rem;
}

* {
    box-sizing: border-box;
}

*::before,
*::after {
    box-sizing: border-box;
}

html,
body {
    margin: 0;
    padding: 0;
}

body {
    color: var(--base-font-color);
    font-family: var(--base-font-family);
    font-size: var(--base-font-size);
    font-weight: normal;
    line-height: var(--base-line-height);
}

h1, .h1,
h2, .h2,
h3, .h3,
h4, .h4,
h5, .h5,
h6, .h6 {
    font-family: var(--base-font-family);
    font-weight: bold;
}

.h1, .h1 {
    font-size: var(--font-size-h1);
    outline: 0;
}

.h2, .h2 {
    font-size: var(--font-size-h2);
}

.h3, .h3 {
    font-size: var(--font-size-h3);
}

p {
    margin-bottom: 1.25em;
}

a {
    color: inherit;
    font-weight: bold;
    text-decoration: underline;
}

li {
    margin-bottom: 0;
}

a,
button,
[tabindex],
input,
textarea,
select {
    outline-offset: 0.25rem;
}

    a:focus-visible,
    button:focus-visible,
    [tabindex]:focus-visible,
    input:focus-visible,
    textarea:focus-visible,
    select:focus-visible {
        outline: 0.125rem solid var(--base-font-color);
    }

button, input, optgroup, select, textarea {
    margin: 0;
    font-family: inherit;
    font-size: inherit;
    line-height: inherit;
}

fieldset {
    margin: 0;
    padding: 0;
    border: 0;
}

.sr-only {
    width: 1px;
    height: 1px;
    position: absolute;
    top: 0;
    left: 0;
    margin: -1px;
    padding: 0;
    overflow: hidden;
    border: 0;
    clip: rect(0, 0, 0, 0);
}

.layout {
    padding-top: var(--spacing-y-large);
    padding-bottom: var(--spacing-y-large);
    padding-left: var(--column-gap);
    padding-right: var(--site-padding-x);
}

.l-outer {
}

.l-group,
.l-group-row,
.l-group-col {
    display: flex;
    row-gap: var(--row-gap);
    column-gap: var(--column-gap);
}

.l-group {
    flex-direction: column;
}

.l-group-row {
    flex-direction: row;
}

.l-group-col {
    flex-direction: column;
}

.l-item,
.l-item-flex,
.l-item-static {
    min-width: 0px;
    min-height: 0px;
}

.l-item {
    flex: 0 0 auto;
}

.l-item-flex {
    flex: 1 1 100%;
}

.l-item-static {
    flex: 0 0 auto;
}

.btn {
    max-width: 100%;
    display: inline-block;
    padding: 0.75rem 2.5rem;
    background: transparent;
    border: 0.0625rem solid var(--color-shadow);
    border-radius: 0;
    font-family: var(--base-font-family);
    font-size: 1rem;
    font-weight: bold;
    line-height: 1.2;
    text-align: center;
    text-decoration: none;
    vertical-align: middle;
    transition: background 200ms ease-out, color 200ms ease-out;
}

.btn--primary {
    background: var(--color-shadow);
    color: var(--color-white);
}

    .btn--primary:visited {
        color: var(--color-white);
    }

    .btn--primary:hover,
    .btn--primary:focus {
        background: transparent;
        color: var(--color-shadow);
    }

    .btn--primary:active {
        background: var(--color-spruce);
    }

    .btn--primary.disabled,
    .btn--primary:disabled {
        background: color-mix(in srgb, var(--color-shadow), transparent 50%);
        border-color: transparent;
        color: var(--color-white);
    }

.btn--secondary {
    background: transparent;
}

    .btn--secondary:hover,
    .btn--secondary:focus {
        background: var(--color-shadow);
        color: var(--color-white);
        outline-color: var(--color-shadow);
    }

    .btn--secondary:active {
        background: var(--color-spruce);
    }

    .btn--secondary.disabled,
    .btn--secondary:disabled {
        background: transparent;
        border-color: color-mix(in srgb, var(--color-shadow), transparent 50%);
        color: color-mix(in srgb, var(--color-shadow), transparent 50%);
    }

.btn-text {
    margin: 0;
    padding: 0;
    background: none;
    border: 0;
    font-size: 1rem;
    font-weight: normal;
    display: inline-flex;
    align-items: baseline;
    column-gap: 0.5em;
}

.btn-group {
    display: flex;
    column-gap: 1rem;
}

.form-group {
    margin: 0;
}

.form-label,
.form-group > label {
    display: inline-block;
    margin-bottom: 0.25rem;
    font-size: 1rem;
    font-weight: normal;
    text-transform: uppercase;
}

.form-control {
    width: 100%;
    min-height: 2.875rem;
    padding: 0.75rem 1.25rem;
    display: block;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background: var(--color-white);
    border: 0.0625rem solid var(--base-font-color);
    border-radius: 0;
    color: var(--base-font-color);
    font-family: var(--base-font-family);
    font-size: 1rem;
    font-weight: normal;
    line-height: 1.2;
}

    .form-control::-moz-placeholder {
        opacity: 1;
        color: var(--color-linen);
        font-weight: normal;
    }

    .form-control:-ms-input-placeholder {
        color: var(--color-linen);
        font-weight: normal;
    }

    .form-control::-webkit-input-placeholder {
        color: var(--color-linen);
        font-weight: normal;
    }

    .form-control:disabled {
        color: var(--color-spruce);
    }

select.form-control {
    background-image: url("data:image/svg+xml,%3Csvg%20width%3D%2213%22%20height%3D%228%22%20viewBox%3D%220%200%2013%208%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Cpath%20d%3D%22M12%201L6.5%207L1%201%22%20stroke%3D%22%23262826%22%2F%3E%0A%3C%2Fsvg%3E%0A");
    background-position: right 0.625rem center;
    background-repeat: no-repeat;
    background-size: 13px 8px;
}

.form-file-control {
    display: inline-block;
    position: relative;
    vertical-align: top;
}

    .form-file-control input[type="file"] {
        position: absolute;
        inset: 0;
        opacity: 0;
        cursor: pointer;
    }

    .form-file-control .btn {
    }

.form-slider-control {
    -webkit-appearance: none;
    appearance: none;
    width: 20rem;
    height: 1.5rem;
    display: block;
    background: none;
    cursor: pointer;
}

    .form-slider-control::-webkit-slider-runnable-track {
        height: 0.0625rem;
        background: var(--color-shadow);
    }

    .form-slider-control::-moz-range-track {
        height: 0.0625rem;
        background: var(--color-shadow);
    }

    .form-slider-control::-webkit-slider-thumb {
        -webkit-appearance: none;
        appearance: none;
        width: 1.375rem;
        height: 1.375rem;
        margin-top: -0.625rem;
        background: var(--color-marble);
        border: 0.0625rem solid var(--color-shadow);
        border-radius: 50%;
        cursor: pointer;
    }

    .form-slider-control::-moz-range-thumb {
        width: 1.375rem;
        height: 1.375rem;
        margin-top: -0.625rem;
        background: var(--color-marble);
        border: 0.0625rem solid var(--color-shadow);
        border-radius: 50%;
        cursor: pointer;
    }

.form-slider {
}

.form-slider__range {
    display: flex;
    column-gap: 0.5em;
    padding-top: 0.25rem;
}

.form-slider__min,
.form-slider__max {
    flex: 0 0 auto;
    color: var(--color-linen);
}

.form-slider__min {
    order: 0;
}

.form-slider__max {
    order: 2;
}

.form-slider__value {
    min-width: 0%;
    flex: 1 1 100%;
    order: 1;
    text-align: center;
}

.form-filter-table {
    --this-row-gap: 0.625rem;
    --this-column-gap: 0.625rem;

    width: 100%;
    border: 0;
    border-collapse: collapse;
    border-bottom: 0.0625rem solid var(--color-black);
}

    .form-filter-table > thead > tr > th,
    .form-filter-table > thead > tr > td,
    .form-filter-table > tbody > tr > th,
    .form-filter-table > tbody > tr > td {
        height: 3.5rem;
        padding: calc(var(--this-row-gap) / 2) calc(var(--this-column-gap) / 2);
    }

        .form-filter-table > thead > tr > th:first-child,
        .form-filter-table > thead > tr > td:first-child,
        .form-filter-table > tbody > tr > th:first-child,
        .form-filter-table > tbody > tr > td:first-child {
            padding-left: var(--this-column-gap);
        }

        .form-filter-table > thead > tr > th:last-child,
        .form-filter-table > thead > tr > td:last-child,
        .form-filter-table > tbody > tr > th:last-child,
        .form-filter-table > tbody > tr > td:last-child {
            padding-right: var(--this-column-gap);
        }

    .form-filter-table > thead > tr > th,
    .form-filter-table > thead > tr > td {
        height: 0;
        padding: 0;
        font-size: 0;
    }

    .form-filter-table > tbody > tr:first-child > th,
    .form-filter-table > tbody > tr:first-child > td {
        padding-top: var(--this-row-gap);
        padding-bottom: var(--this-row-gap);
        background-color: var(--color-marble);
    }

    .form-filter-table > tbody > tr:last-child > th,
    .form-filter-table > tbody > tr:last-child > td {
        padding-bottom: var(--this-row-gap);
    }

    .form-filter-table > tbody > tr:first-child + tr > th,
    .form-filter-table > tbody > tr:first-child + tr > td {
        padding-top: var(--this-row-gap);
    }

    .form-filter-table > tbody > tr > th[scope="row"] {
        font-weight: normal;
    }

.status-bar {
    padding: 0.625rem;
    background-color: var(--color-marble);
    font-weight: bold;
    text-transform: uppercase;
}

    .status-bar p {
        margin: 0;
    }

.tabs {
    margin: 0;
    padding-left: 0;
    list-style: none;
    display: flex;
    column-gap: 0.25rem;
}

    .tabs > li {
        margin: 0;
        flex: 0 0 auto;
        display: flex;
    }

        .tabs > li > button {
            margin: 0;
            padding: 0;
            background: none;
            border: 0;

            flex: 1 1 100%;
            padding: 0.625rem 1.25rem;
            background-color: var(--color-marble);
            color: var(--color-shadow);
            font-weight: bold;
            text-transform: uppercase;
        }

        .tabs > li.selected > button {
            background-color: var(--color-shadow);
            color: var(--color-white);
        }

.list-table-wrap {
    max-height: 240px;
    overflow: auto;
}

.list-table {
    width: 100%;
    border: 0;
    border-collapse: collapse;
}

    .list-table > thead > tr > th,
    .list-table > tbody > tr > td {
        padding-left: calc(var(--column-gap) / 2);
        padding-right: calc(var(--column-gap) / 2);
        border-bottom: 0.0625rem solid var(--color-shadow);
    }

        .list-table > thead > tr > th:first-child,
        .list-table > tbody > tr > td:first-child {
            padding-left: var(--column-gap);
        }

        .list-table > thead > tr > th:last-child,
        .list-table > tbody > tr > td:last-child {
            padding-right: var(--column-gap);
        }

    .list-table > thead > tr > th {
        padding-bottom: 0.625rem;
        font-size: 1.25rem;
        font-weight: bold;
        text-align: inherit;
    }

    .list-table > tbody > tr > td {
        padding-top: 0.625rem;
        padding-bottom: 0.625rem;
    }

.striped-table {
    width: 100%;
    border: 0;
    border-collapse: collapse;
}

    .striped-table > thead > tr > th,
    .striped-table > tbody > tr > td {
        padding-top: 0.625rem;
        padding-bottom: 0.625rem;
        padding-left: calc(var(--column-gap) / 2);
        padding-right: calc(var(--column-gap) / 2);
    }

        .striped-table > thead > tr > th:first-child,
        .striped-table > tbody > tr > td:first-child {
            padding-left: var(--column-gap);
        }

        .striped-table > thead > tr > th:last-child,
        .striped-table > tbody > tr > td:last-child {
            padding-right: var(--column-gap);
        }

    .striped-table > thead > tr > th {
        font-size: 1.25rem;
        font-weight: bold;
        text-align: inherit;
    }

    .striped-table > tbody > tr > td {
    }

    .striped-table > tbody > tr:nth-child(odd) > td {
        background-color: var(--color-marble);
    }

.alert-danger {
    color: red;
}
.citation {
    position: relative;
    cursor: pointer;
}

.popup {
    width: auto;
    background-color: #98c8de;
    color: black;
    text-align: center;
    border-radius: 5px;
    padding: 5px;
    position: absolute;
    z-index: 9999;
    bottom: 80%; /* Position above */
    left: 50%;
    transform: translateX(-50%);
    white-space: nowrap;
    opacity: 0;
    transition: opacity 0.3s ease-in-out;
    box-shadow: 0px 4px 6px rgba(0, 0, 0, 0.3);
}

.citation:hover .popup {
    visibility: visible;
    opacity: 1;
    flex: 1 1 100%;
    overflow: auto;
}