.race-grid-table {
    margin: auto !important;
}

.race-grid-container thead th {
    position: sticky;
    top: 0;
    z-index: 10 !important;
}

.race-grid-container thead th:first-child {
    left: -5px !important;
    z-index: 11 !important;
}

.race-grid-container tbody th {
    position: sticky;
    left: 0;
    z-index: 9 !important;
    white-space: nowrap !important;
    max-width: 30vw;
    overflow-x: auto;
}

.race-grid-container {
    /* Actual sticky-header styles */
    table {
        border: 2px solid var(--bs-border-color);
    }

    table thead {
        top: 0;
    }

    table th {
        border-style: none !important;
    }

    table td {
        border: 1px solid var(--bs-border-color);
    }

    tr {
        border-style: none !important;
    }
}

.vertical-span {
    writing-mode: vertical-rl;
    -moz-transform: rotate(180deg);
    -webkit-transform: rotate(180deg);
    -o-transform: rotate(180deg);
    -ms-transform: rotate(180deg);
    transform: rotate(180deg);
    text-orientation: mixed;
    white-space: nowrap;
    max-height: 20vh;
    overflow: hidden;
    width: 1.4em;
}
