html, body { margin: 0; padding: 0; font-family: "Calibri", "Arial", "Helvetica Neue", sans-serif; overflow: hidden; } .page { display: grid; column-gap: 8px; padding: 8px; box-sizing: border-box; height: 100vh; width: 100vw; grid-template-columns: auto 20em; grid-template-rows: 3em auto 3em; grid-template-areas: "header header" "canvas sidebar" "footer footer"; } header { grid-area: header; display: flex; } header h1 { margin: 0; flex-grow: 1; } .MSlogo { height: 50px; vertical-align: middle; margin-bottom: 3px; } .sidebar { grid-area: sidebar; overflow-y: auto; } footer { grid-area: footer; } select, input[type="text"] { padding: 8px; } summary { /** * The default doesn't change the cursor, which makes it hard * to tell that it's interactive on hover, so let's change that. */ cursor: pointer; } /** Stupid class we're using instead of

to avoid ValidateDOMNesting warnings. */ .thingy { margin-top: 10px; margin-bottom: 10px; } .thingy:first-child { margin-top: 0; } ul.navbar { display: flex; list-style-type: none; margin: 0; padding: 0; justify-content: flex-end; } ul.navbar li { border-right: 1px solid gray; margin-right: 8px; padding-right: 8px; } ul.navbar li:last-child { border-right: none; padding-right: 0; margin-right: 0; } .flex-widget { display: flex; flex-direction: column; } .flex-widget label { margin-bottom: 8px; } .canvas { grid-area: canvas; display: flex; align-items: center; justify-content: center; overflow: hidden; } .canvas.scrollable { display: block; overflow: auto; } .sidebar .disabled { color: gray; } .sidebar label.checkbox { display: block; margin-top: 10px; margin-bottom: 10px; } .error { color: red; } .page-error { position: fixed; top: 0; left: 0; width: 100%; height: 100%; display: flex; align-items: center; justify-content: center; background-color: rgba(0, 0, 0, 0.75); } .page-error div { background: crimson; color: white; padding: 2em; max-width: 50em; } .page-error div p:first-child { margin-top: 0; } .page-error div p:last-child { margin-bottom: 0; } .page-error div button { display: block; width: 66%; margin: 3em auto 0 auto; text-align: center; }