html {
    --fluid-table-head: #b3cdfc;
    --fluid-table-border: 1px solid #202932;
}

.fluid {
    width: 100%;
}

.fluid th, .fluid td {
    padding: 0.2ex 1ex;
    border: var(--fluid-table-border);
}

.fluid thead th {
    min-width: 2em;
    max-width: 20em;
    text-align: start;
}

.fluid td, .fluid tbody th {
    min-width: 1em;
    max-width: 49%;
}


.fluid > table {
    margin: 3px;
    border: var(--fluid-table-border);
    border-collapse: collapse;
    border-spacing: 0;
    min-width: fit-content;
    width: max-content;
    max-width: max-content;
}

.fluid p {
    min-width: 5em;
    max-width: 45vw;
    margin-top: 0;
    margin-bottom: 0;
}

.fluid thead > tr:first-of-type > th {
    position: -webkit-sticky;
    position: sticky;
    top: -1px;
    will-change: transform;
    background-color: var(--fluid-table-head);
}

.fluid .ft-aux-head {
    display: none;
}

.ft-compact {
    border: none;
    background-color: unset;
}

.ft-compact > table {
    display: block;
    width: 100%;
    max-width: 100vw;
    margin: 0;
    padding: 0;
    border: none;
}

.ft-compact thead, .ft-compact colgroup, .ft-compact col {
    display: none;
}

.ft-compact tbody, .ft-compact tfoot, .ft-compact td {
    display: block;
    margin: 0;
    padding: 0;
    border: none;
}

.ft-compact td, .ft-compact tbody th {
    min-width: 1em;
    width: unset;
    max-width: unset;
}

.ft-compact tr {
    display: block;
    margin: 0 0 2ex 0;
    padding: 0;
    border-left: var(--fluid-table-border);
    border-right: var(--fluid-table-border);
    border-bottom: var(--fluid-table-border);
}

.ft-compact tbody tr:last-of-type {
    margin-bottom: 0;
}

.ft-compact tbody .ft-aux-head {
    display: block;
    margin: 0;
    padding: 2pt 6pt 2pt 6pt;
    border-top: var(--fluid-table-border);
    border-bottom: var(--fluid-table-border);
    background-color: var(--fluid-table-head);
    text-align: start;
    font-weight: bold;
    font-size: 80%;
}

.ft-compact tbody .ft-aux-body {
    display: block;
    margin: 0;
    padding: 4pt 6pt 4pt 6pt;
    text-align: start;
    background: white;
}

.ft-compact tbody .ft-aux-body:empty::before {
    content: "\2014";
    color: lightgray;
}

.ft-compact > table > tbody > tr > td:first-of-type {
    position: sticky;
    top: -1px;
    border-bottom: var(--fluid-table-border);
}

.ft-compact > table > tbody > tr > td:first-of-type .ft-aux-body {
    background-color: #fff5e7;
}

.ft-compact .ft-aux-body p {
    max-width: unset;
}

.stripes:not(.ft-compact) tbody tr:nth-of-type(2n+2) {
    background-color: #ececec;
}

.big2.ft-normal > table {
    font-size: max(80%, 11pt);
}


@media screen and (max-width: 1280px) {
    .big.ft-normal > table {
        font-size: 80%;
    }
    .big2.ft-normal > table {
        font-size: max(70%, 9pt);
    }
}

@media screen and (min-width: 380px) {

    .ft-compact > table {
        display: table;
        table-layout: fixed;
        border-collapse: collapse;
        border: none;
        border-spacing: 0;
    }

    .ft-compact tbody {
        display: block;
    }

    .ft-compact tbody tr {
        display: table-row-group;
        border: unset;
    }

    .ft-compact tbody tr::before {
        display: table-row;
        height: 1em;
        content: '';
    }

    .ft-compact tbody tr:first-of-type::before {
        display: none;
    }

    .ft-compact tbody td {
        display: table-row;
        padding: 0;
        border: var(--fluid-table-border);
    }

    .ft-compact tbody .ft-aux-head {
        display: table-cell;
        min-width: 5em;
        max-width: 45%;
        background-color: var(--fluid-table-head);
        padding: 4pt 4pt 4pt 6pt;
        vertical-align: baseline;
        font-size: unset;
    }

    .ft-compact tbody .ft-aux-body {
        display: table-cell;
        padding: 4pt 6pt 4pt 4pt;
        vertical-align: baseline;
        width: 100%;
    }

    .ft-compact tbody .ft-aux-body:empty::before {
        content: unset;
        color: unset;
    }

}