.acceleration-timeline { position: relative; width: 100%; padding: 0.5em 0 1em; &::after, &::before { content: ''; display: block; position: absolute; top: 0; bottom: 0; width: 2em; z-index: 2; } &::before { left: 0; background: linear-gradient(to right, var(--box-bg), var(--box-bg), transparent); } &::after { right: 0; background: linear-gradient(to left, var(--box-bg), var(--box-bg), 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 { 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; .compare { font-style: italic; color: var(--mainnet-alt); font-weight: 600; @media (max-width: 600px) { display: none; } } } } .node, .interval-spacer { position: relative; .seen-to-acc { position: absolute; height: 10px; left: -5px; right: -5px; top: 0; transform: translateY(-50%); background: var(--primary); border-radius: 5px; &.left { right: 50%; } &.right { left: 50%; } } .acc-to-confirmed { position: absolute; height: 10px; left: -5px; right: -5px; top: 0; transform: translateY(-50%); background: var(--tertiary); border-radius: 5px; &.loading { animation: acceleratePulse 1s infinite; } &.left { right: 50%; } &.right { left: 50%; } } .connector { position: absolute; height: 88px; width: 10px; left: -5px; top: -73px; transform: translateX(120%); background: var(--tertiary); &.down { border-top-left-radius: 10px; } &.up { border-top-right-radius: 10px; } &.loading { animation: acceleratePulse 1s infinite; } } } .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: 50%; padding: 2px; .shape { width: 100%; height: 100%; border-radius: 50%; background: white; &.accelerating { animation: acceleratePulse 1s infinite; } } &.waiting { .shape { background: var(--grey); } } &.accelerated-selected { .shape { background: var(--tertiary); } } &.mined-selected { .shape { background: var(--success); } } } .status { margin-top: -64px; .badge.badge-waiting { opacity: 0.5; background-color: var(--grey); color: white; } .badge.badge-accelerated { background-color: var(--tertiary); color: white; } } .time { margin-top: 33px; font-size: 12px; line-height: 16px; white-space: nowrap; } } } } @keyframes acceleratePulse { 0% { background-color: var(--tertiary) } 50% { background-color: var(--mainnet-alt) } 100% { background-color: var(--tertiary) } }