:root {
    --tsBaseSize: 100px;
    --tsYearSize: calc(12 * var(--tsBaseSize));
    --tsMonthSize: 100px;
    --tsBaseHeight: 34px;
    --tsDarkColor: darkgrey;
    --tsLightColor: var(--light);
    --tsMonthCount: 1;
}
.ts-wrapper {
    position: relative;
    background: var(--tsLightColor);
    overflow-x: scroll;
    min-height: calc(3 * var(--tsBaseHeight));
    background-size: var(--tsMonthSize) var(--tsBaseHeight);
    background-attachment: local;
    background-image: linear-gradient(
            to right,
            var(--tsDarkColor) 1px,
            transparent 1px
        ),
        linear-gradient(to bottom, var(--tsDarkColor) 1px, transparent 1px);
    /* min-width: var(--tsYearSize); */
    box-shadow: inset 9px 0 13px -7px rgba(0, 0, 0, 0.4);
}

.ts-headerYears,
.ts-headerMonths {
    display: inline-flex;
    min-height: var(--tsBaseHeight);
    flex-flow: row nowrap;
    /*justify-content: flex-start;*/
}

.ts-headerYear {
    background: var(--primary);
    color: white;
    font-weight: 700;
    text-align: center;
    border: 1px var(--tsDarkColor) solid;
    border-right: none;
    padding: 0.15em;
    width: calc(var(--tsBaseSize) * var(--tsMonthCount));
}
.ts-headerMonth {
    border: 1px var(--tsDarkColor) solid;
    border-right: none;
    text-align: center;
    background: var(--tsLightColor);
    padding: 0.25em;
    width: var(--tsMonthSize);
}

.ts-rowLabelWrapper {
    clear: both;
    display: flex;
    justify-content: center;
}

.ts-labelWrapper {
    margin-top: calc(2 * var(--tsBaseHeight));
}

.ts-label {
    padding: 5px 20px;
    background: var(--tsLightColor);
    text-align: center;
    border: 1px solid var(--tsDarkColor);
    height: var(--tsBaseHeight);
    border-collapse: collapse;
    white-space: nowrap;
}

.ts-rowWrapper {
    display: flex;
    flex-direction: column;
}
.ts-timeSeriesRow {
    position: relative;
    min-height: var(--tsBaseHeight);
}
.ts-timeSeriesRowLabel {
    position: absolute;
    right: 0;
}
.ts-current {
    background: gold;
}

@media only screen and (max-width: 600px) {
    .ts-wrapper {
        min-width: 100%;
    }
}

/* width */
.ts-wrapper::-webkit-scrollbar {
    scrollbar-width: thin;
    width: 5px;
}

/* Track */
.ts-wrapper::-webkit-scrollbar-track {
    background: #f1f1f1;
    scrollbar-width: thin;
}

/* Handle */
.ts-wrapper::-webkit-scrollbar-thumb {
    background: #aaa;
    border-radius: 1em;
}

/* Handle on hover */
.ts-wrapper::-webkit-scrollbar-thumb:hover {
    background: #555;
}

.ts-timeSeriesUnit {
    flex: 0 0 100px;
    text-align: center;
    color: white;
    padding: 0.25em;
    height: 34px;
    border: 1px solid rgba(30, 30, 30, 0.5);
    border-right: 1px solid black;
    font-size: 16px;
    background: var(--tsLightColor);
    color: black;
    color: black;
}

.ts-timeSeries {
    position: absolute;
    display: flex;
}

.primaryPayorTrue {
    font-weight: bold;
}

.ts-timeSeriesUnit[data-toggle*="popover"] {
    cursor: pointer;
}

.popover {
    max-width: 100%;
}
