/* ==========================================   PRO Race Timing - Calendar Styles   ========================================== *//* Calendar scrolling container */.calendar-scroll {    overflow-x: auto;}/* Calendar table */.event-calendar {    width: 100%;    border: 2px solid #ffffff;    border-collapse: collapse;    background: white;    font-size: 19px;}.event-calendar th,.event-calendar td {    padding: 15px 14px;    border: 1px solid #f8f8f9;    text-align: left;}/* Column headings */.event-calendar thead th {    background: #2a4179;    color: white;    font-size: 21px;    text-align: center;    vertical-align: middle;    border-bottom: 0;}.event-calendar tbody td {    border-bottom: 1px solid #ffffff;}/* Year separators */.event-calendar .year-row th {    background: #ffffff;    color: #2a4179;    font-size: 27px;    text-align: center;    padding: 14px;    border-top: 0;    position: relative;}.event-calendar .year-row th::before {    content: "";    position: absolute;    top: 0;    left: 0;    right: 0;    height: 8px;    background: #5b6170;}/* Event status */.next-event,.future-event {    background: #b5bbd2;    color: #2a4179;}.past-event {    background: #c9cede;    color: #ffffff;}.canceled-event {    background: #d7dadf;    color: #494e5a;}.canceled-label {    display: inline-block;    margin-left: 0;    padding: 3px 7px;    background: #6c7385;    color: white;    font-size: 12px;    font-weight: bold;    border-radius: 3px;}/* Alternating rows */.event-calendar tr.future-event:nth-child(odd) {    background-color: #c9d4ec;}.event-calendar tr.future-event:nth-child(even) {    background-color: #bbc8e7;}.event-calendar tr.past-event {    background-color: #bbc8e7;}/* Next event and canceled event overrides */.event-calendar tr.next-event {    background-color: #9eb0dd;}.event-calendar tr.canceled-event {    background-color: #d7dadf;}/* Column sizing */.event-date,.event-location {    width: 1%;    white-space: nowrap;}.event-name {    width: auto;}/* Race links */.event-calendar a {    color: inherit;    text-decoration: underline;}.event-calendar a:hover,.event-calendar a:focus {    color: #183c90;}.event-links {    margin-top: 5px;    font-size: 16px;    font-weight: normal;}.event-links a {    text-decoration: underline;}.link-separator {    margin: 0 8px;    color: #546089;}/* Tablet and phone: smaller race links */@media (max-width: 800px) {    .event-links {        font-size: 11px;    }    .event-calendar .year-row th::before {        content: "";        position: absolute;        top: 0;        left: 0;        right: 0;        height: 6px;        background: #5b6170;    }}/* Phone: compact table */@media (max-width: 700px) {    .event-calendar {        font-size: 13px;    }    .event-calendar .year-row th::before {        content: "";        position: absolute;        top: 0;        left: 0;        right: 0;        height: 6px;        background: #5b6170;    }        .event-calendar th,    .event-calendar td {        padding: 8px 5px;    }    .event-calendar thead th {        text-align: center;        vertical-align: middle;    }    .event-date,    .event-location {        width: 1%;        white-space: normal;    }    .event-name {        width: auto;        min-width: 0;        overflow-wrap: break-word;    }}