html, body{ margin: 0; border: 0; font-family: sans-serif; } body{ display: flex; flex-direction: column; } #importUpload{ display: none; } #blocks{ display: flex; flex-direction: row; overflow-x: scroll; .block{ margin: 10px; } .topHidden{ display: none; } } .block{ width: 200px; height: 200px; border: 1px solid black; display: flex; flex-direction: column; flex-shrink: 0; background-color: white; .inputs{ display: flex; flex-direction: row; >div{ font-weight: bold; border: 1px solid black; flex-grow: 1; text-align: center; padding-top: 5px; padding-bottom: 5px; >input{ width: 40px; } } } .main{ flex-grow: 1; display: flex; flex-direction: column; >div{ margin: auto; display: flex; flex-direction: column; >.title{ text-align: center; } >.error{ color: red; text-align: center; } } } >.output{ font-weight: bold; border: 1px solid black; text-align: center; padding-top: 5px; padding-bottom: 5px; } } #workspace{ position: relative; .block{ position: absolute; } .line{ border-top: 2px solid black; position: absolute; z-index: 1; pointer-events: none; } } #header, #header ul{ list-style: none; margin: 0; padding: 0; } #header{ $headerColour: rgba(0, 0, 0, 0.7); display: flex; flex-direction: row; background-color: $headerColour; >li{ text-align: center; display: flex; flex-grow: 1; max-width: 150px; padding-top: 5px; padding-bottom: 5px; border-right: solid 1px white; >a{ margin: auto; color: white; text-decoration: none; } } >li:last-child{ position: relative; min-width: 150px; ul#snapshots{ display: none; } &:hover{ ul#snapshots{ display: flex; flex-direction: column; position: absolute; top: 100%; left: 0; background-color: white; width: 100%; border: 1px solid $headerColour; border-bottom-left-radius: 5px; border-bottom-right-radius: 5px; li{ padding-top: 5px; padding-bottom: 5px; border-bottom: 1px solid $headerColour; &:last-child{ border-bottom: none; } } } } } ul#snapshots{ display: none; } }