:root {
    --bg-page: #ffffff;
    --bg-table: #ffffff;
    --black: #000000;
    --white: #ffffff;
    --east-metro: #f5ad1f;
    --east-atlantic: #d6022a;
    --west-central: #0f5faa;
    --west-pacific: #179b52;
    --hunt-bg: #e7e7e7;
    --playoff-red: #ff0000;
    --thin: 1px solid #000;
    --thick: 3px solid #000;
}

* {
    box-sizing: border-box;
}

body {
    margin: 0;
    padding: 18px 18px 28px;
    background: var(--bg-page);
    font-family: Arial, Helvetica, sans-serif;
    color: #000;
}

.race-wrap {
    margin: 0 10px 34px;
}

.race-title {
    margin: 0;
    text-align: center;
    font-size: 28px;
    font-weight: 700;
    line-height: 1.15;
}

.race-title a,
.race-title a:visited,
.race-title a:hover,
.race-title a:active {
    color: inherit;
    text-decoration: none;
}

.race-subtitle {
    margin: 2px 0 2px;
    text-align: center;
    font-size: 18px;
    font-style: italic;
    line-height: 1.15;
}

.race-subtitle--small {
    margin: 0 0 10px;
    text-align: center;
    font-size: 15px;
    font-style: normal;
    line-height: 1.2;
}

table.race-table {
    width: auto;
    margin: 0 10px;
    border-collapse: collapse;
    background: var(--bg-table);
    border: var(--thick);
}

table.race-table th,
table.race-table td {
    border: var(--thin);
    background: var(--bg-table);
    text-align: center;
    vertical-align: middle;
    padding: 0 6px;
    color: #000;
    font-size: 18px;
    line-height: 1;
    white-space: nowrap;
}

table.race-table .blank {
    border: none;
    background: transparent;
}

table.race-table .left-col {
    width: 160px;
    min-width: 160px;
    font-weight: 700;
    text-align: center;
    background: transparent;
}

table.race-table .blank.left-col {
    border-right: 3px solid #000000 !important;
}

table.race-table .team-col {
    width: 122px;
    min-width: 122px;
}

table.race-table .section-header {
    height: 34px;
    color: #fff;
    font-size: 20px;
    font-weight: 700;
}

table.race-table .rank-row th {
    height: 32px;
    font-size: 18px;
    font-weight: 700;
}

table.race-table .team-row td {
    height: 38px;
    font-size: 18px;
    font-weight: 700;
}

table.race-table .team-row {
    border-bottom: var(--thick);
}

table.race-table .team-row .playoff-team {
    color: var(--playoff-red);
}

table.race-table .schedule-row td,
table.race-table .schedule-row th {
    height: 32px;
    font-size: 17px;
    background: var(--bg-table);
}

table.race-table .schedule-row .left-col {
    font-size: 19px;
    font-weight: 700;
}

table.race-table .schedule-row.schedule-row--future td,
table.race-table .schedule-row.schedule-row--future th {
    border-top: none;
    border-bottom: none;
}

table.race-table .schedule-row.schedule-row--future .divider-right {
    border-right: var(--thick) !important;
}

table.race-table .schedule-row.schedule-row--future .left-col.divider-right,
table.race-table .schedule-row.schedule-row--future .left-col {
    border-right: var(--thick) !important;
}

table.race-table .stat-row td,
table.race-table .stat-row th {
    height: 32px;
    font-size: 17px;
}

table.race-table .stat-row .left-col {
    font-size: 18px;
    font-weight: 700;
}

table.race-table tr.division-row th.left-col.divider-right {
    color: #000000;
}

table.race-table .division-row td,
table.race-table .division-row th {
    height: 32px;
    color: #fff;
    font-size: 18px;
    font-weight: 700;
}

table.race-table .legend-row td,
table.race-table .legend-row th {
    height: 64px;
}

table.race-table .legend-label {
    color: #fff;
    font-size: 18px;
    font-weight: 700;
}

table.race-table .logo-cell {
    background: var(--bg-table);
}

table.race-table .logo-cell img {
    display: block;
    margin: 0 auto;
    width: 54px;
    height: 54px;
    object-fit: contain;
}

.divider-right {
    border-right: var(--thick) !important;
}

.header-metro {
    background: var(--east-metro) !important;
}

.header-atlantic {
    background: var(--east-atlantic) !important;
}

.header-central {
    background: var(--west-central) !important;
}

.header-pacific {
    background: var(--west-pacific) !important;
}

.header-wild {
    background: var(--black) !important;
    color: var(--white) !important;
}

.header-hunt {
    background: var(--hunt-bg) !important;
    color: #000 !important;
}

.division-metro {
    background: var(--east-metro) !important;
}

.division-atlantic {
    background: var(--east-atlantic) !important;
}

.division-central {
    background: var(--west-central) !important;
}

.division-pacific {
    background: var(--west-pacific) !important;
}

.note-block {
    width: fit-content;
    margin: 10px 10px 0;
    font-size: 18px;
    line-height: 1.55;
}

.result-loss {
    color: #ff0000 !important;
}

.result-win {
    color: #000 !important;
}

.future-playoff {
    color: #ff0000 !important;
}

.future-normal {
    color: #000 !important;
}

@media (max-width: 1500px) {
    body {
        overflow-x: auto;
    }

    .race-wrap {
        width: max-content;
        min-width: 100%;
    }

    .note-block {
        min-width: 0;
    }
}
