.timeline { width: 40px; .caret { display: none; position: absolute; width: 20px; height: 20px; left: 50%; transform: translateX(-50%); right: 0; color: var(--color-text-3); &.up { top: 0; } &.down { bottom: 0; } } .orbit { position: absolute; left: 50%; transform: translateX(-50%); top: 24px; bottom: 24px; width: 5px; background: var(--color-fill-2); &:hover { .cursor.active { opacity: 1; } } .cursor { transition: opacity 0.25s ease; position: absolute; left: 50%; transform: translateX(-50%); width: 12px; height: 12px; border: 2px solid; border-radius: 50%; &.active { opacity: 0; } } .node { position: absolute; width: 5px; height: 5px; border-radius: 50%; &.bingo { left: 50%; transform: translateX(-50%); background: var(--color-text-3); &::before { position: absolute; content: attr(data-year); top: 50%; transform: translateY(-50%); right: 10px; font-size: 12px; color: var(--color-text-3); line-height: 1; } } &.empty { right: 10px; background: var(--color-fill-3); } } } &:hover { .caret { display: block; } } }