body {
    line-height: normal
}

#content {
    width: 940px;
    margin-left: auto;
    margin-right: auto
}

.page-intro {
    font-size: 16px;
    line-height: 20px;
    padding-top: 0.5em;
}

    .page-intro a {
        text-decoration: underline;
    }

        .page-intro a:hover {
            text-decoration: none;
        }

.title-wrapper {
    background-color: #5b7e48; /*#2f4e6a;*/
    /*background-image: url(https://cdn.wateratlas.org/i/polk/bio-assessments/hero/bio-assessments-banner.jpg);*/
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
    border-radius: 6px;
}

#page-title {
    width: 100%;
    min-height: 131px;
    color: white;
    border-radius: 4px;
}

    #page-title span {
        display: block;
        color: #fff;
        margin-left: auto;
        margin-right: auto;
        text-align: center;
        font-size: 50px;
        text-shadow: 1px 1px 6px rgba(0, 0, 0, 1);
        padding-top: 35px;
        text-shadow: 2px 2px 8px #000, 2px 2px 8px #000;
    }

@media (max-width: 767px) {
    #page-title {
        overflow-wrap: break-word;
    }
    #page-title span {
        font-size:40px;
    }
    #map {
        height: 75vh;
    }
}

.box-shadow-small {
    box-shadow: 0 0 5px #404040;
}

a.underline {
    text-decoration: underline;
}

    a.underline:hover {
        text-decoration: none;
    }

@media print {
    a[href]:after {
        content: none;
    }

    abbr[title]:after {
        content: none;
    }

    #page-title {
        height: auto;
        margin: 0;
        padding: 0;
    }

    label + select {
        width: 76px !important;
        float: left !important;
        margin: -13px 7px -10px !important;
        padding: 0px 2px !important;
        height: 33px !important;
        border: 0px !important;
        -webkit-appearance: none;
        -moz-appearance: none;
        appearance: none;
    }

    label {
        float: left !important;
    }
}

.popup-heading {
    margin: 0 0 1em;
    padding: 0.5em;
    border: 1px solid #000;
    border-radius: 5px;
    box-shadow: 5px 5px;
}

.popup-location-map {
    margin: 0 auto 2em;
    box-shadow: 0 0 12px #999;
}

.text-monospace {
    font-family: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace !important;
}

.font-italic {
    font-style: italic !important;
}

.wbid-display, .area-hover {
    position: absolute;
    bottom: 10px;
    left: 10px;
    background-color: rgba(255, 255, 255, 0.9);
    padding: 8px;
    border-radius: 5px;
    box-shadow: 0 0 5px rgba(0, 0, 0, 0.3);
    font-size: 14px;
    display: none;
    z-index: 1000;
}

.heading-date, .heading-score {
    font-size: 20px;
    font-weight: bold;
    margin-bottom: 1em;
    padding: 1em;
}

#map {
    width: 100%;
    height: 660px;
}

#map > .area-selector-container,
.area-selector-map-control {
    position: absolute;
    top: 10px;
    left: 50%;
    z-index: 1000;
    width: calc(100% - 116px);
    max-width: 420px;
    padding: 8px;
    transform: translateX(-50%);
    background: rgba(255, 255, 255, 0.95);
    border-radius: 5px;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.3);
}

#map .area-selector {
    margin: 0;
}

#map .assessment-empty-state {
    width: 240px;
}

#map .assessment-popup {
    width: 100%;
}

#map .assessment-popup-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 2px 0 10px;
}

#map .assessment-popup-heading h3,
#map .assessment-empty-state h3 {
    margin: 0;
    color: #173e50;
    font-size: 15px;
    font-weight: 700;
}

#map .assessment-popup-heading span {
    flex: none;
    padding: 3px 7px;
    color: #155e75;
    background: #ecfeff;
    border: 1px solid #a5f3fc;
    border-radius: 999px;
    font-size: 11px;
    font-weight: 700;
}

#map .assessment-popup-scroll {
    max-height: min(380px, 52vh);
    padding-right: 4px;
    overflow-y: auto;
    overscroll-behavior: contain;
    scrollbar-gutter: stable;
    scrollbar-color: #718d9a #edf4f6;
    scrollbar-width: thin;
}

#map .assessment-popup-scroll::-webkit-scrollbar {
    width: 8px;
}

#map .assessment-popup-scroll::-webkit-scrollbar-track {
    background: #edf4f6;
}

#map .assessment-popup-scroll::-webkit-scrollbar-thumb {
    background: #718d9a;
    border: 2px solid #edf4f6;
    border-radius: 999px;
}

#map .assessment-popup-scroll:focus,
#map .popup-view-assessment-details:focus,
#map .assessment-popup-heading h3:focus,
#map .assessment-empty-state h3:focus,
#map .select2-selection:focus,
#area-details-modal button:focus,
#area-details-modal a:focus,
#area-details-modal .table-responsive:focus {
    outline: 3px solid #0b5fcc;
    outline-offset: 2px;
    box-shadow: 0 0 0 5px #fff;
}

#map .assessment-popup-table {
    margin-bottom: 10px;
}

#map .assessment-popup-table:last-child {
    margin-bottom: 0;
}

#map .assessment-popup-table thead th {
    position: sticky;
    top: 0;
    z-index: 1;
    color: #284f60;
    background: #e6f7fa;
    border-bottom-color: #bde7ed;
}

#map .assessment-popup-table tbody th {
    white-space: nowrap;
}

#map .assessment-empty-state p {
    margin: 8px 0 0;
    color: #58717d;
    line-height: 1.45;
}

body .leaflet-container {
    font-size: 1.2rem;
}

@media (prefers-reduced-motion: reduce) {
    #area-details-modal,
    #area-details-modal .modal-dialog,
    .leaflet-zoom-animated,
    .leaflet-fade-anim .leaflet-popup {
        transition: none !important;
        animation: none !important;
    }
}

.table-vm th, .table-vm td {
    vertical-align: middle !important;
}



.icon-spaced {
    margin-right: 5px
}

table.table-thead-vc thead th {
    vertical-align: middle !important
}

table tr.text-center th {
    text-align: center !important
}

ul.list-disc {
    list-style-type: disc;
    list-style-position: inside
}

#datasources ul.list-disc li {
    margin-bottom: .5em
}

.m-0 {
    margin: 0 !important
}

.mt-0, .my-0 {
    margin-top: 0 !important
}

.mr-0, .mx-0 {
    margin-right: 0 !important
}

.mb-0, .my-0 {
    margin-bottom: 0 !important
}

.ml-0, .mx-0 {
    margin-left: 0 !important
}

.m-1 {
    margin: .25rem !important
}

.mt-1, .my-1 {
    margin-top: .25rem !important
}

.mr-1, .mx-1 {
    margin-right: .25rem !important
}

.mb-1, .my-1 {
    margin-bottom: .25rem !important
}

.ml-1, .mx-1 {
    margin-left: .25rem !important
}

.m-2 {
    margin: .5rem !important
}

.mt-2, .my-2 {
    margin-top: .5rem !important
}

.mr-2, .mx-2 {
    margin-right: .5rem !important
}

.mb-2, .my-2 {
    margin-bottom: .5rem !important
}

.ml-2, .mx-2 {
    margin-left: .5rem !important
}

.m-3 {
    margin: 1rem !important
}

.mt-3, .my-3 {
    margin-top: 1rem !important
}

.mr-3, .mx-3 {
    margin-right: 1rem !important
}

.mb-3, .my-3 {
    margin-bottom: 1rem !important
}

.ml-3, .mx-3 {
    margin-left: 1rem !important
}

.m-4 {
    margin: 1.5rem !important
}

.mt-4, .my-4 {
    margin-top: 1.5rem !important
}

.mr-4, .mx-4 {
    margin-right: 1.5rem !important
}

.mb-4, .my-4 {
    margin-bottom: 1.5rem !important
}

.ml-4, .mx-4 {
    margin-left: 1.5rem !important
}

.m-5 {
    margin: 3rem !important
}

.mt-5, .my-5 {
    margin-top: 3rem !important
}

.mr-5, .mx-5 {
    margin-right: 3rem !important
}

.mb-5, .my-5 {
    margin-bottom: 3rem !important
}

.ml-5, .mx-5 {
    margin-left: 3rem !important
}

.p-0 {
    padding: 0 !important
}

.pt-0, .py-0 {
    padding-top: 0 !important
}

.pr-0, .px-0 {
    padding-right: 0 !important
}

.pb-0, .py-0 {
    padding-bottom: 0 !important
}

.pl-0, .px-0 {
    padding-left: 0 !important
}

.p-1 {
    padding: .25rem !important
}

.pt-1, .py-1 {
    padding-top: .25rem !important
}

.pr-1, .px-1 {
    padding-right: .25rem !important
}

.pb-1, .py-1 {
    padding-bottom: .25rem !important
}

.pl-1, .px-1 {
    padding-left: .25rem !important
}

.p-2 {
    padding: .5rem !important
}

.pt-2, .py-2 {
    padding-top: .5rem !important
}

.pr-2, .px-2 {
    padding-right: .5rem !important
}

.pb-2, .py-2 {
    padding-bottom: .5rem !important
}

.pl-2, .px-2 {
    padding-left: .5rem !important
}

.p-3 {
    padding: 1rem !important
}

.pt-3, .py-3 {
    padding-top: 1rem !important
}

.pr-3, .px-3 {
    padding-right: 1rem !important
}

.pb-3, .py-3 {
    padding-bottom: 1rem !important
}

.pl-3, .px-3 {
    padding-left: 1rem !important
}

.p-4 {
    padding: 1.5rem !important
}

.pt-4, .py-4 {
    padding-top: 1.5rem !important
}

.pr-4, .px-4 {
    padding-right: 1.5rem !important
}

.pb-4, .py-4 {
    padding-bottom: 1.5rem !important
}

.pl-4, .px-4 {
    padding-left: 1.5rem !important
}

.p-5 {
    padding: 3rem !important
}

.pt-5, .py-5 {
    padding-top: 3rem !important
}

.pr-5, .px-5 {
    padding-right: 3rem !important
}

.pb-5, .py-5 {
    padding-bottom: 3rem !important
}

.pl-5, .px-5 {
    padding-left: 3rem !important
}

.m-n1 {
    margin: -.25rem !important
}

.mt-n1, .my-n1 {
    margin-top: -.25rem !important
}

.mr-n1, .mx-n1 {
    margin-right: -.25rem !important
}

.mb-n1, .my-n1 {
    margin-bottom: -.25rem !important
}

.ml-n1, .mx-n1 {
    margin-left: -.25rem !important
}

.m-n2 {
    margin: -.5rem !important
}

.mt-n2, .my-n2 {
    margin-top: -.5rem !important
}

.mr-n2, .mx-n2 {
    margin-right: -.5rem !important
}

.mb-n2, .my-n2 {
    margin-bottom: -.5rem !important
}

.ml-n2, .mx-n2 {
    margin-left: -.5rem !important
}

.m-n3 {
    margin: -1rem !important
}

.mt-n3, .my-n3 {
    margin-top: -1rem !important
}

.mr-n3, .mx-n3 {
    margin-right: -1rem !important
}

.mb-n3, .my-n3 {
    margin-bottom: -1rem !important
}

.ml-n3, .mx-n3 {
    margin-left: -1rem !important
}

.m-n4 {
    margin: -1.5rem !important
}

.mt-n4, .my-n4 {
    margin-top: -1.5rem !important
}

.mr-n4, .mx-n4 {
    margin-right: -1.5rem !important
}

.mb-n4, .my-n4 {
    margin-bottom: -1.5rem !important
}

.ml-n4, .mx-n4 {
    margin-left: -1.5rem !important
}

.m-n5 {
    margin: -3rem !important
}

.mt-n5, .my-n5 {
    margin-top: -3rem !important
}

.mr-n5, .mx-n5 {
    margin-right: -3rem !important
}

.mb-n5, .my-n5 {
    margin-bottom: -3rem !important
}

.ml-n5, .mx-n5 {
    margin-left: -3rem !important
}

.m-auto {
    margin: auto !important
}

.mt-auto, .my-auto {
    margin-top: auto !important
}

.mr-auto, .mx-auto {
    margin-right: auto !important
}

.mb-auto, .my-auto {
    margin-bottom: auto !important
}

.ml-auto, .mx-auto {
    margin-left: auto !important
}

.page-header {
    margin: 0 0 5px;
    padding: 0;
    border: none
}


.no-gutters {
    margin-right: 0;
    margin-left: 0
}

    .no-gutters > .col, .no-gutters > [class*="col-"] {
        padding-right: 0;
        padding-left: 0
    }

td.data, .ff-monospace {
    font-family: 'Roboto Mono',sans-serif
}

.modal .img-graph {
    width: 100%;
    height: auto
}

@media (min-width:1140px) {
    .modal-dialog.modal-lg {
        width: 85%
    }

    .modal-content.modal-lg {
        width: 85%;
        margin-left: auto;
        margin-right: auto
    }
}




.select2-container--default .select2-selection--single {
    height: 34px;
    border: 1px solid #ccc;
    border-radius: 4px;
}

.area-select-status {
    display: flex;
    min-height: 34px;
    padding: 6px 12px;
    align-items: center;
    gap: 8px;
    color: #35515f;
    background: #fff;
    border: 1px solid #ccc;
    border-radius: 4px;
    line-height: 20px;
}

.area-select-status[hidden] {
    display: none;
}

.area-select-status.area-select-error {
    color: #842029;
    background: #f8d7da;
    border-color: #f5c2c7;
}

.area-select-help {
    margin: 5px 2px 0;
    color: #35515f;
    font-size: 12px;
    line-height: 1.35;
}

.area-select-spinner {
    width: 16px;
    height: 16px;
    flex: none;
    border: 2px solid #b8c7ce;
    border-top-color: #0b5fcc;
    border-radius: 50%;
    animation: area-select-spin .8s linear infinite;
}

.area-select-error .area-select-spinner {
    display: none;
}

@keyframes area-select-spin {
    to {
        transform: rotate(360deg);
    }
}

@media (prefers-reduced-motion: reduce) {
    .area-select-spinner {
        animation: none;
    }
}

    .select2-container--default .select2-selection--single .select2-selection__rendered {
        line-height: 32px;
    }

    .select2-container--default .select2-selection--single .select2-selection__arrow {
        height: 32px;
    }

    #area-details-modal .modal-content {
        display: flex;
        max-height: calc(100vh - 40px);
        flex-direction: column;
        overflow: hidden;
        border: 0;
        border-radius: 14px;
        box-shadow: 0 24px 70px rgba(15, 39, 53, .28);
    }

    #area-details-modal .modal-header {
        position: relative;
        display: flex;
        min-height: 64px;
        padding: 16px 64px 16px 22px !important;
        align-items: center !important;
        color: #fff;
        background: linear-gradient(120deg, #075985, #0891b2);
        border-bottom: 0;
    }

    #area-details-modal .modal-header .close {
        position: absolute;
        top: 50%;
        right: 16px;
        display: flex;
        width: 36px;
        height: 36px;
        margin: 0 !important;
        padding: 0;
        align-items: center;
        justify-content: center;
        transform: translateY(-50%);
        color: #fff;
        border-radius: 50%;
        text-shadow: none;
        opacity: .85;
    }

    #area-details-modal .modal-header .close:hover,
    #area-details-modal .modal-header .close:focus {
        color: #fff;
        background: rgba(255, 255, 255, .14);
        opacity: 1;
    }

    #area-details-modal .modal-title {
        margin: 0;
        padding: 0;
        text-transform: none;
        border: 0;
        line-height: 1.35;
        font-size: 18px;
        font-weight: 700;
    }

    .assessment-title-short {
        display: none;
    }

    #area-details-modal .modal-body {
        min-height: 0;
        padding: 22px;
        overflow-y: auto;
        -webkit-overflow-scrolling: touch;
        background: #f4f8fa;
    }

    #area-details-modal .modal-footer {
        padding: 12px 22px;
        background: #fff;
        border-top: 1px solid #dce6eb;
    }

    .assessment-details {
        color: #20323c;
    }

    .assessment-hero {
        display: flex;
        align-items: stretch;
        justify-content: space-between;
        gap: 24px;
        margin: -22px -22px 22px;
        padding: 26px;
        color: #fff;
        background: linear-gradient(135deg, #0e7490 0%, #155e75 52%, #164e63 100%);
    }

    .assessment-hero-copy {
        align-self: center;
    }

    .assessment-hero h3 {
        margin: 8px 0 4px;
        color: #fff;
        font-size: 28px;
        font-weight: 700;
    }

    .assessment-hero p {
        margin: 0;
        color: rgba(255, 255, 255, .82);
        font-size: 16px;
    }

    .assessment-type-badge,
    .assessment-eyebrow {
        display: inline-block;
        font-size: 11px;
        font-weight: 700;
        letter-spacing: .08em;
        text-transform: uppercase;
    }

    .assessment-type-badge {
        padding: 5px 9px;
        color: #164e63;
        background: #cffafe;
        border-radius: 999px;
    }

    .assessment-score-card {
        min-width: 150px;
        padding: 16px 22px;
        text-align: center;
        color: #164e63;
        background: #fff;
        border-radius: 12px;
        box-shadow: 0 12px 30px rgba(8, 47, 73, .22);
    }

    .assessment-score-card span,
    .assessment-score-card small {
        display: block;
    }

    .assessment-score-card span {
        font-size: 11px;
        font-weight: 700;
        letter-spacing: .06em;
        text-transform: uppercase;
    }

    .assessment-score-card strong {
        display: block;
        margin: 2px 0;
        font-size: 36px;
        line-height: 1.1;
    }

    .assessment-score-card small {
        color: #527080;
        font-size: 13px;
    }

    .assessment-overview {
        display: flex;
        flex-wrap: wrap;
    }

    .assessment-overview > [class*="col-"] {
        display: flex;
    }

    .assessment-panel {
        width: 100%;
        margin-bottom: 20px;
        padding: 20px;
        background: #fff;
        border: 1px solid #dce6eb;
        border-radius: 10px;
        box-shadow: 0 3px 12px rgba(24, 62, 82, .06);
    }

    .assessment-panel h4 {
        margin: 0 0 14px;
        color: #173e50;
        font-size: 18px;
        font-weight: 700;
    }

    .assessment-facts {
        margin: 0;
    }

    .assessment-facts > div {
        display: grid;
        grid-template-columns: minmax(110px, 42%) 1fr;
        gap: 12px;
        padding: 9px 0;
        border-bottom: 1px solid #edf2f4;
    }

    .assessment-facts > div:last-child {
        border-bottom: 0;
    }

    .assessment-facts dt {
        color: #58717d;
        font-weight: 600;
    }

    .assessment-facts dd {
        margin: 0;
        overflow-wrap: anywhere;
    }

    .assessment-media-panel {
        min-height: 270px;
    }

    .assessment-media-panel > .row {
        display: flex;
        min-height: 230px;
    }

    .assessment-media-item {
        display: flex;
        flex-direction: column;
    }

    .assessment-media-item + .assessment-media-item {
        border-left: 1px solid #e1eaee;
    }

    .assessment-chart,
    .assessment-location-map {
        width: 100%;
        margin: auto;
        object-fit: contain;
        border-radius: 8px;
    }

    .assessment-chart {
        max-height: 220px;
    }

    .assessment-location-map {
        max-height: 220px;
    }

    .assessment-section-heading {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 16px;
        margin-bottom: 16px;
        padding-bottom: 12px;
        border-bottom: 1px solid #dce6eb;
    }

    .assessment-section-heading h4 {
        margin: 0;
        color: #173e50;
        font-size: 20px;
        line-height: 1.25;
    }

    .assessment-count {
        padding: 4px 9px;
        white-space: nowrap;
        color: #155e75;
        background: #ecfeff;
        border: 1px solid #a5f3fc;
        border-radius: 999px;
        font-size: 12px;
        font-weight: 700;
    }

    .assessment-table {
        margin-bottom: 0;
        border: 1px solid #dce6eb;
        border-collapse: separate;
        border-spacing: 0;
        border-radius: 7px;
    }

    .assessment-table thead th {
        color: #164e63;
        background: #e6f7fa !important;
        border-color: #bde7ed !important;
        font-weight: 700;
        vertical-align: middle;
    }

    .assessment-table > tbody > tr > td,
    .assessment-table > tbody > tr > th {
        border-color: #e1eaee;
        vertical-align: middle;
    }

    .assessment-table > tbody > tr > th {
        color: #284f60;
        font-weight: 600;
    }

    .assessment-table .assessment-taxon-cell {
        min-width: 180px;
        font-weight: 400;
        text-align: left;
    }

    .assessment-common-name-column {
        min-width: 160px;
        color: #58717d;
        font-style: normal;
    }

    .assessment-taxon-name,
    .assessment-common-name {
        display: block;
    }

    .assessment-taxon-name {
        font-style: italic;
    }

    .assessment-common-name {
        margin-top: 2px;
        color: #58717d;
        font-size: 12px;
        font-style: normal;
        line-height: 1.35;
    }

    .assessment-table.table-striped > tbody > tr:nth-of-type(odd) {
        background-color: #f6f9fa;
    }

    .assessment-section-heading + p {
        margin: -2px 0 14px;
        color: #58717d;
        line-height: 1.5;
    }

    .assessment-empty {
        display: flex;
        min-height: 150px;
        padding: 24px;
        align-items: center;
        justify-content: center;
        flex-direction: column;
        text-align: center;
        color: #58717d;
        background: #f8fbfc;
        border: 1px dashed #b8cbd4;
        border-radius: 8px;
    }

    .assessment-empty .glyphicon {
        margin-bottom: 10px;
        color: #5ba6b8;
        font-size: 28px;
    }

    .assessment-empty strong {
        color: #294b5a;
        font-size: 16px;
    }

    .assessment-empty p {
        max-width: 440px;
        margin: 5px 0 0;
    }

    .assessment-error {
        min-height: 260px;
    }

    @media (max-width: 991px) {
        .assessment-overview {
            display: block;
        }

        .assessment-overview > [class*="col-"] {
            display: block;
            float: none;
            width: 100%;
        }
    }

    @media (max-width: 767px) {
        #area-details-modal .modal-header {
            min-height: 56px;
            padding: 13px 54px 13px 16px !important;
        }

        #area-details-modal .modal-title {
            font-size: 16px;
        }

        .assessment-title-long {
            display: none;
        }

        .assessment-title-short {
            display: inline;
            text-transform: uppercase;
            letter-spacing: .02em;
        }

        #area-details-modal .modal-header .close {
            right: 10px;
        }

        #area-details-modal .modal-dialog {
            margin: 10px;
        }

        #area-details-modal .modal-content {
            max-height: calc(100vh - 20px);
        }

        #area-details-modal .modal-body {
            padding: 15px;
        }

        .assessment-hero {
            margin: -15px -15px 15px;
            padding: 20px;
            gap: 12px;
            flex-direction: row;
            align-items: center;
        }

        .assessment-hero h3 {
            margin-top: 4px;
            font-size: 22px;
        }

        .assessment-hero p {
            font-size: 14px;
        }

        .assessment-hero-copy {
            min-width: 0;
            flex: 1 1 auto;
        }

        .assessment-score-card {
            width: auto;
            min-width: 96px;
            padding: 10px 12px;
            flex: 0 0 auto;
        }

        .assessment-score-card strong {
            font-size: 29px;
        }

        .assessment-media-panel > .row {
            display: block;
        }

        @media (max-width: 480px) {
            .assessment-type-badge {
                display: none;
            }
        }

        .assessment-media-item + .assessment-media-item {
            margin-top: 20px;
            padding-top: 20px;
            border-top: 1px solid #e1eaee;
            border-left: 0;
        }

        .assessment-panel {
            padding: 15px;
        }

        .assessment-facts > div {
            display: block;
        }

        .assessment-facts dd {
            margin-top: 3px;
        }
    }