:root {
    --page-margin: 20px;
    --line-height: 1.5em;
    --background-color: white;
}

html {
    line-height: var(--line-height);
    background-color: var(--background-color);
    font-family: "Comic Sans MS", sans-serif;
    font-size: 16px;
}

header {
    margin: 0 var(--page-margin);
}


.timeline-wrapper {
    overflow-x: clip;
    padding-right: var(--page-margin);
}

.timeline {
    position: relative;
}


.timeline-date {
    position: absolute;
    height: 100%;
    z-index: -1;
    border-left: 2px solid lightgray;
    white-space: nowrap;
}

.timeline-hour {
    position: absolute;
    height: 100%;
    z-index: -2;
    border-left: 1px solid lightgray;
    white-space: nowrap;
}

.timeline-now {
    position: absolute;
    height: 100%;
    z-index: -3;
    border-left: 1px dashed gray;
    white-space: nowrap;
}

.timeline-date > span,
.timeline-hour > span {
    /* improve readability if the window is so narrow that the labels overlap; date should mask the hour */
    background-color: var(--background-color);
    padding-right: 0.5ex;
}

.timeline-labels {
    position: sticky;
    top: 0;
    height: var(--line-height);
    z-index: 1;
    background-color: var(--background-color);
}


.job-category {
    margin-bottom: 0.5em;
}

.job-category-title {
    margin-left: 20px;
    margin-bottom: 0.5em;
    font-weight: bold;
}


.job-executions-row {
    position: relative;
    height: var(--line-height);
    margin-bottom: 0.5em;
}

.job-executions-row:hover {
    background-color: rgba(255, 255, 0, 0.2);
}

.job-executions-row-title {
    position: absolute;
    margin-left: var(--page-margin);
    margin-top: -1.5em;
    font-size: 0.7rem;
}

.too-many-jobs {
    color: red;
    font-weight: bold;
}


.job-execution {
    position: absolute;
    height: 100%;
    white-space: nowrap;
    background-color: lightgray;
}

.job-execution:hover {
    outline: 2px solid black;
    cursor: pointer;
}

.status-failure {
    background-color: #f3d3d3;
}

.status-started {
    background-color: #e3e3d3;
}

.status-started::after {
    content: '';
    position: absolute;
    top: 0;
    height: 100%;
    width: 10px;
    right: -10px;
    background: linear-gradient(to right, #e3e3d3, transparent);
    z-index: -1;
}
