.viewer-layout { display: grid; grid-template-rows: 48px auto; grid-template-columns: 1fr; user-select: none; .viewer-header { grid-column: 1 / span 1; grid-row: 1 / span 1; } .viewer-content { grid-column: 1 / span 1; grid-row: 2 / span 1; } } .fullscreen.viewer-layout:not(.force-visible) { & .viewer-header { width: 100%; position: fixed; top: -48px; left: 0; transition: top 400ms ease 300ms; z-index: 1; &::after { content: " "; position: absolute; width: 100%; height: 1rem; left: 0; top: 48px; } } & .viewer-header:hover { top: 0; transition: top 200ms; } & .viewer-content { grid-row: 1 / span 2; } } .viewer-overlay { position: absolute; } .viewer-overlay-background { position: absolute; top: 0; left: 0; &.visible { background-color: rgb(0, 0, 0, 0.2); } }