.acceleration-timeline { position: relative; width: 100%; padding: 1em 0; &.lower-padding { 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: 8em; 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; &.go-faster { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='10'%3E%3Cpath style='fill:%239339f4;' d='M 0,0 5,5 0,10 Z'/%3E%3Cpath style='fill:%23653b9c;' d='M 0,0 10,0 15,5 10,10 0,10 5,5 Z'/%3E%3Cpath style='fill:%239339f4;' d='M 10,0 20,0 20,10 10,10 15,5 Z'/%3E%3C/svg%3E%0A"); background-size: 20px 10px; border-radius: 0; &.right { left: calc(50% + 5px); margin-right: calc(-4em + 5px); animation: goFasterRight 0.8s infinite linear; } &.left { right: calc(50% + 5px); margin-left: calc(-4em + 5px); animation: goFasterLeft 0.8s infinite linear; } } &.left { right: 50%; } &.right { left: 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: 50%; cursor: pointer; padding: 4px; background: transparent; .shape { position: relative; width: 100%; height: 100%; border-radius: 50%; background: white; z-index: 1; } &.waiting { .shape { background: var(--grey); } } .connector { position: absolute; z-index: 0; height: 88px; width: 10px; left: -5px; top: -73px; transform: translateX(120%); background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='20'%3E%3Cpath style='fill:%239339f4;' d='M 0,20 5,15 10,20 Z'/%3E%3Cpath style='fill:%23653b9c;' d='M 0,20 5,15 10,20 10,10 5,5 0,10 Z'/%3E%3Cpath style='fill:%239339f4;' d='M 0,10 5,5 10,10 10,0 0,0 Z'/%3E%3C/svg%3E%0A"); // linear-gradient(135deg, var(--tertiary) 34%, transparent 34%), background-size: 10px 20px; &.down { border-top-left-radius: 10px; } &.up { border-top-right-radius: 10px; } &.loading { animation: goFasterUp 0.8s infinite linear; } } } &.accelerated { .shape-border { animation: acceleratePulse 0.4s infinite; } } &.selected { .shape-border { background: var(--mainnet-alt); } } .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) } } @keyframes goFasterUp { 0% { background-position-y: 0; } 100% { background-position-y: -40px; } } @keyframes goFasterLeft { 0% { background-position: left 0px bottom 0px } 100% { background-position: left 40px bottom 0px; } } @keyframes goFasterRight { 0% { background-position: right 0 bottom 0px; } 100% { background-position: right -40px bottom 0px; } }