#timeline {
	position: relative;
	overflow: hidden;
	width: 100%;
	height: 20vh;
	border: solid 1px black;
	cursor: move;
	user-select: none;
}

.line {
	position: absolute;
	background-color: lightgray;
	width: 2px;
	height: 100%;
	transform: translate(-50%);
}

.line.day {
	background-color: green;
	width: 4px;
}

.line.day:last-child {
	transform: translate(-75%) scaleX(0.5);
}

.label {
	position: absolute;
	font-size: 1vw;
	font-family: monospace;
	white-space: nowrap;
	writing-mode: vertical-lr;
}

.label.day {
	font-size: 2vw;
}

.label:last-child {
	display: none;
}

.dot {
	position: absolute;
	background-color: black;
	border: solid black 1px;
	border-radius: 100%;
	width: 4vh;
	height: 4vh;
	cursor: pointer;
	transform: translate(-50%, -50%);
}

.dot.small {
	width: 2vh;
	height: 2vh;
}

.dot.blue {
	background-color: skyblue;
	top: 25%;
}

.dot.yellow {
	background-color: sandybrown;
	top: 50%;
}

.dot.red {
	background-color: indianred;
	top: 75%;
}
