:root { --main-color: #555555; --background-color: #fff; --hover-color: #ddd; --menu-label-height: 60px; } * { box-sizing: border-box; } html { } body { font-family: Helvetica; display: flex; justify-content: center; margin: 0; } main { width: 100%; } #menu-label { position: fixed; z-index: 1000; width: 100vw; height: var(--menu-label-height); line-height: var(--menu-label-height); color: var(--background-color); background: var(--main-color); font-size: 18px; font-weight: bold; display: block; /*border: 2px solid var(--main-color);*/ cursor: pointer; padding: 0 .7em; user-select: none; } #menu-label:hover { color: var(--main-color); background: var(--background-color); border: 2px solid var(--main-color); } .menu { position: fixed; z-index: 1000; top: var(--menu-label-height); display: none; flex-direction: column; background: #fff; border: 1px solid var(--main-color); /*min-width: 256px;*/ } .menu-item { font-weight: bold; border-bottom: 1px solid var(--main-color); padding: .7em 2em; text-decoration: none; } .menu-item:hover { background: var(--hover-color); } .menu-item:any-link { color: var(--main-color); } .active-tab.menu-item:any-link { color: #fff; } .active-tab.menu-item { background: var(--main-color); } .toggle { display: none; } #menu-toggle { display: none; } #menu-toggle:checked ~ .page .menu { display: flex; } #menu-toggle:checked ~ #menu-label { } .content { border: 1px solid var(--main-color); } .button { padding: .5em 1em; margin: 5px; border: 2px solid var(--main-color); border-radius: .5em; color: #fff; background-color: var(--main-color); text-decoration: none; user-select: none; cursor: pointer; font-family: -system-ui, sans-serif; font-size: 1em; line-height: 1.2; white-space: nowrap; } .button:hover { color: #555555; background-color: #fff; border: 2px solid var(--main-color); } .button-row { display: flex; justify-content: center; } .list { display: flex; flex-direction: column; } .list-item { padding: 5px; border-bottom: 1px solid var(--main-color); display: flex; flex-wrap: wrap; overflow-x: hidden; justify-content: space-between; align-items: center; } .tunnel:hover { background: var(--hover-color); } .tunnel-adder { padding: 5px; } .tunnel-adder h1 { margin: .2em; } .tunnel-adder form { display: flex; flex-direction: row; flex-wrap: wrap; } .ssh-key-adder form { display: flex; flex-direction: row; flex-wrap: wrap; } .input { padding: .7em; margin: .2em; border: 1px solid var(--main-color); display: flex; flex-direction: column; } .input label { padding: .2em; font-weight: bold; } #login-inputs { display: none; } #password-protect:checked ~ #login-inputs { display: block; } .token-adder { padding: 5px; display: flex; } .token { font-family: Monospace; } .monospace { font-family: Monospace; } .page { margin-top: var(--menu-label-height); display: none; flex-direction: column; } .qr-code { width: 8em; height: 8em; } main *:target { display: flex; } .dialog { display: none; } .dialog__overlay { position: fixed; top: 0; left: 0; width: 100%; height: 100%; background-color: rgba(0, 0, 0, .5); z-index: 1000; } .dialog__content { position: fixed; top: 50%; left: 50%; transform: translate(-50%, -50%); background-color: var(--background-color); padding: 1em; border: 1px solid #ccc; z-index: 1010; } @media (min-width: 640px) { main { display: flex; justify-content: flex-start; width: 900px; } #menu-label { display: none; } .menu { display: flex; position: static; } .page { margin-top: auto; flex-direction: row; width: 100%; } .content { width: 100%; } }