.table-component {
    color: var(--slate-grey);
    font-size: 18px;
    line-height: 1.25;
    margin: 40px auto;
    max-width: var(--max-page-width);
}

.table-component table {
    border: none;
    width: 100%;
    border-collapse: collapse;
}

.table-component table thead th {
    border-bottom: 2px solid var(--charcoal-grey);
}

.table-component table tbody tr + tr {
    border-top: 1px solid var(--pale-sky-blue);
}

.table-component table tr {
    margin: 0 0 1rem 0;
}

.table-component table th {
    color: var(--dark);
    font-weight: bold;
    text-align: left;
}

.table-component table td {
    border-bottom: 1px solid var(--pale-sky-blue);
    width: 1%;
}

.table-component table th,
.table-component table td {
    padding: 15px 30px;
}

.table-component table td:first-child,
.table-component table th:first-child {
    padding-left: 0;
}

.table-component table td:last-child,
.table-component table th:last-child {
    padding-right: 0;
}

.table-footnote {
    font-style: italic;
    line-height: normal;
    margin: 50px 0 0 0;
    white-space: pre-line;
}

@media screen and (max-width: 1280px) {
    .table-component {
        max-width: 90vw;
    }
}


@media screen and (max-width: 768px) {
    .table-component {
        margin: 32px;
    }

    .table-component table {
        border-bottom: 2px solid var(--charcoal-grey);
        border-top: 2px solid var(--charcoal-grey);
    }

    .table-component table thead {
        left: -9999px;
        position: absolute;
        top: -9999px;
    }

    .table-component table tbody,
    .table-component table tr {
        display: block;
    }

    .table-component table th,
    .table-component table td {
        border: none;
        display: grid;
        width: 100%;
    }

    .table-component table.column-count-1 td {
        grid-template-columns: repeat(1, 1fr);
    }

    .table-component table.column-count-2 td {
        grid-template-columns: repeat(2, 1fr);
    }

    .table-component table.column-count-3 td {
        grid-template-columns: repeat(3, 1fr);
    }

    .table-component table.column-count-4 td {
        grid-template-columns: repeat(4, 1fr);
    }

    .table-component table.column-count-5 td {
        grid-template-columns: repeat(5, 1fr);
    }

    .table-component table.column-count-6 td {
        grid-template-columns: repeat(6, 1fr);
    }

    .table-component table td::before {
        color: var(--dark);
        content: attr(data-label);
        display: inline-block;
        font-weight: bold;
        margin: 0 10px 0 0;
        vertical-align: middle;
        width: calc(50% - 5px);
    }

    .table-component table th {
        padding: 15px 0;
    }

    .table-component table td {
        margin: 15px;
        padding: 0;
    }

    .table-footnote {
        margin: 15px 0 0 0;
    }
}

/*
  NOTE: cjh - 2020-09-09:
  I cannot find an instance where this might occur however
  I've left it in just in case for now.
*/
/*@media screen and (min-width: 768px) {*/
/*.column-one .table-component {*/
/*    padding: 0 var(--margin-l);*/
/*    margin: 40px auto;*/
/*    max-width: calc(1344px);*/
/*}*/
/*}*/
