.rbf-timeline { position: relative; width: 100%; padding: 1em 0; &::after, &::before { content: ''; display: block; position: absolute; top: 0; bottom: 0; width: 2em; z-index: 2; } &::before { left: 0; background: linear-gradient(to right, #24273e, #24273e, transparent); } &::after { right: 0; background: linear-gradient(to left, #24273e, #24273e, transparent); } .timeline-wrapper { position: relative; width: calc(100% - 2em); margin: auto; overflow-x: auto; -ms-overflow-style: none; scrollbar-width: none; &::-webkit-scrollbar { display: none; } } .intervals, .nodes { min-width: 100%; display: flex; flex-direction: row; justify-content: space-between; align-items: flex-start; text-align: center; .node, .node-spacer, .connector { width: 6em; min-width: 6em; flex-grow: 1; } .interval, .interval-spacer { width: 8em; min-width: 5em; max-width: 8em; height: 32px; display: flex; flex-direction: row; justify-content: center; align-items: flex-end; } .interval { overflow: visible; } .interval-time { font-size: 12px; line-height: 16px; white-space: nowrap; } } .node, .interval-spacer { position: relative; .track { position: absolute; height: 10px; left: -5px; right: -5px; top: 0; transform: translateY(-50%); background: #105fb0; border-radius: 5px; } &.first-node { .track { left: 50%; } } &:last-child { .track { right: 50%; } } } .nodes { position: relative; margin-top: 1em; .node { .shape-border { display: block; margin: auto; height: calc(1em + 8px); width: calc(1em + 8px); margin-bottom: -8px; transform: translateY(-50%); border-radius: 10%; cursor: pointer; padding: 4px; background: transparent; transition: background-color 300ms, padding 300ms; .shape { width: 100%; height: 100%; border-radius: 10%; background: white; transition: background-color 300ms; } &.rbf, &.rbf .shape { border-radius: 50%; } } .symbol::ng-deep { display: block; margin-top: -0.5em; } &.selected { .shape-border { background: #9339f4; } } &.mined { .shape-border { background: #1a9436; } } .shape-border:hover { padding: 0px; .shape { background: #1bd8f4; } } } .connector { position: relative; height: 10px; .corner, .pipe { position: absolute; left: -10px; width: 20px; height: 108px; bottom: 50%; border-right: solid 10px #105fb0; } .corner { border-bottom: solid 10px #105fb0; border-bottom-right-radius: 10px; } } } }