table {
    border-collapse: collapse;
    background: var(--color-table);
    color: var(--color-table-text);
    font: var(--table-font);
}

td, th {
    padding: var(--padding-cell);
    border-top: var(--border-cell-vertical);
    border-bottom: var(--border-cell-vertical);
    border-left: var(--border-cell-horizontal);
    border-right: var(--border-cell-horizontal);
}

tr:nth-child(odd) {
    background: var(--color-row-odd);
    color: var(--color-row-odd-text);
}

tr:nth-child(even) {
    background: var(--color-row-even);
    color: var(--color-row-even-text);
}

th {
    background: var(--color-row-header);
    color: var(--color-row-header-text);
    font: var(--table-header-font);
}

ol.table {
    background: var(--color-table);
    color: var(--color-table-text);
    padding: 0;
    margin: 0;
    list-style: none;
    font: var(--table-font);
}

ol.table > li {
    border-top: var(--border-cell-vertical);
    display: flex;
    padding: var(--padding-cell);
    align-items: center;
    justify-content: left;
    flex-flow: row wrap;
}

ol.table > li:nth-child(odd) {
    background: var(--color-row-odd);
    color: var(--color-row-odd-text);
}

ol.table > li:nth-child(even) {
    background: var(--color-row-even);
    color: var(--color-row-even-text);
}

ol.table > li:last-of-type {
    border-bottom: var(--border-cell-vertical);
}

ol.table > li.list-header {
    background: var(--color-row-header);
    color: var(--color-row-header-text);
    font: var(--table-header-font);
}