:root { --sidebar-size: clamp(300px, 20%, 400px); } @font-face { font-family: "Cantarell var"; font-weight: 100 900; font-display: swap; font-style: normal; font-named-instance: "Regular"; src: url("Cantarell-VF.otf") format("opentype"); } h1 { margin: 20px; } * { margin: 0; padding: 0; font-family: Cantarell; } #links { display: inline-grid; grid-template-rows: 100% 0px; } #links > * { margin-left: 10px; margin-right: 10px; } #header { text-align: center; padding-top: 10%; padding-bottom: 10%; min-height: 40vh; background-image: url(https://www.state.gov/wp-content/uploads/2022/02/Kuwait-2323x1406.png); background-attachment: fixed; } .dropdown { background-color: aliceblue; padding: 10px; display: inline-block; grid-row: 1; } .dropdown-inner { background-color: white; display: flex; grid-row: 2; visibility: hidden; flex-direction: column; } .dropdown:hover + div > .dropdown-inner, .dropdown-inner:hover { visibility: visible; } .dropdown-inner > * { padding: 10px; } #content { margin: 10%; } #headin { padding-top: 2%; padding-bottom: 2%; transition: background-color 0.3s, color 0.3s; } #head-marker.scrolly-out + #headin { position: fixed; top: 0px; left: 0px; background-color: darkred; color: lightgreen; margin-left: var(--sidebar-size); width: calc(100vw - var(--sidebar-size)); } #head-marker.scrolly-out + #headin > #links > * > *, #head-marker.scrolly-out + #headin > #links > * { background-color: black; } body { display: grid; grid-template-columns: var(--sidebar-size) auto; } #outer { position: relative; height: 100vh; overflow-y: scroll; } #sider { box-sizing: border-box; padding: 20px; background-color: pink; } .hidden { display: none; } #sider-cats { border-left: 2px solid white; padding-left: 10px; } #sider-cats > div { display: none; border-left: 2px solid red; padding-left: 10px; } #sider-cats > input:checked + label { border-right: 2px solid red; border-bottom: 2px solid red; } #sider-cats > label { color: green; padding-right: 10px; padding-bottom: 10px; display: inline-block; } #sider-cats > label:hover { color: darkgreen; cursor: pointer; } #sider-cats > input:checked + label + div { display: block; } #sider > h2 { border-right: 2px solid white; border-bottom: 2px solid white; text-align: center; } a { text-decoration: none; color: green; } a:hover { color: darkgreen; }