$table-font-size: calc(1rem - 2px); $table-header-font-size: calc(1rem - 3px); .cuesheetContainer { grid-area: table; display: flex; flex-direction: column; width: 100%; height: 100%; overflow: auto; padding-bottom: 640px; // allow focus to reach last elements } .cuesheet { font-size: $table-font-size; font-weight: 400; tr { display: flex; } th, td { margin: 1px; font-weight: inherit; font-size: inherit; text-align: left; position: relative; @include ellipsis-overflow; } } .tableHeader, .eventRow { .indexColumn { min-width: 2rem; text-align: right; font-weight: 400; position: sticky; left: 0; z-index: 1; background-color: $gray-1300; } } .tableHeader { position: sticky; top: 0; z-index: 10; font-size: $table-header-font-size; color: $gray-700; } th { background-color: $gray-1300; &:hover { .resizer { width: 0.5rem; } } } .eventRow { vertical-align: top; &:hover { outline: 1px solid $blue-700; outline-offset: -1px; } td { background-color: $gray-1250; border-radius: 2px; padding: 0.25rem; } &.skip { text-decoration: line-through; opacity: $opacity-disabled !important; // fighting inline styles } } .blockRow { width: 100%; background-color: $gray-1350; font-size: 1rem; height: 2.5rem; td { align-self: flex-end; position: sticky; left: 1rem; padding: 0.25rem 0; } } .delayRow { width: 100%; color: $ontime-delay-text; td { position: sticky; left: 47.5%; // center of the screen, ish padding: 0.5rem 0; &:first-letter { text-transform: uppercase; } } } .check { font-size: 1.5rem; margin: 0 auto; } .time { display: flex; gap: 0.5rem; align-items: center; > * { @include ellipsis-overflow; } } .delayedTime { color: $ontime-delay-text; font-size: calc(1rem - 2px); } .resizer { cursor: col-resize; opacity: $opacity-disabled; display: inline-block; width: 0; height: 100%; position: absolute; right: 0; top: 0; background-color: $action-blue; user-select: none; touch-action: none; &:hover { opacity: 1; } }