:root { /* XXX: maybe use light-dark() once it's more widely supported */ color-scheme: light dark; --highlight: rgb(255, 110, 0); --background: white; --text-color: black; --shadow: rgba(0,0,0,0.1); scrollbar-gutter: stable; } @media (prefers-color-scheme: dark) { :root { --background: black; --text-color: #f0f0f0; --shadow: rgba(255,255,255,0.2); } } body { font-family: Heebo, sans-serif; color: var(--text-color); background-color: var(--background); padding: 1em; } section { max-width: 50em; margin: auto; margin-top: 1em; } h1, h2, h3, h4, h5, h6 { font-family: Signika, sans-serif; margin-top: 0; } h1 { font-size: 2em; } header > nav { font-family: Signika, sans-serif; margin-bottom: 2em; } a:visited, a { color: var(--highlight); text-decoration: none; } header a:visited, header a { color: var(--text-color); } header a { text-decoration: none; } header a:hover, header li:hover { color: var(--highlight); } header nav ul { padding: 0; } header > nav ul li { list-style-type: none; } header > nav > ul { display: flex; justify-content: space-between; align-items: center; max-width: 60em; margin: auto; } header > nav > ul > li:first-child a { content: url('ngi-fediversity.svg'); display: inline-block; height: 2em; margin-right: 5vw; } header > nav > ul > li:last-child > a { border: 1pt solid var(--text-color); padding: 0.5em 1em 0.5em 1em; border-radius: 3pt; margin-left: 5vw; } header > nav > ul > li:last-child:hover > a { color: var(--background); background-color: var(--highlight); border-color: var(--background); } header > nav > ul > li > details > nav { position: absolute; /*top: 2em;*/ background: var(--background); min-width: max-content; margin-top: 1em; padding: 1em; box-shadow: 0 0 1em var(--shadow); z-index: 0; } header > nav > ul > li > details { display: block; /*padding: 1em 0;*/ cursor: pointer; } header > nav > ul > li > details[open] > summary { color: var(--highlight); } header > nav > ul > li > details > nav ul li { padding: 0.25em 0; } #menu-toggle { display: none; } @media (max-width: 50em) { #menu-toggle:checked ~ nav > ul > li { display: block; } #menu-toggle::before { content: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 20 20'%3E%3Cpath d='M0 3h20v2H0V3z m0 6h20v2H0V9z m0 6h20v2H0V0z'/%3E%3C/svg%3E"); display: block; } #menu-toggle:checked::before { content: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 20 20'%3E%3Cpolygon points='11 9 22 9 22 11 11 11 11 22 9 22 9 11 -2 11 -2 9 9 9 9 -2 11 -2' transform='rotate(45 10 10)'/%3E%3C/svg%3E"); } header > nav { margin-bottom: 1em; }; header > nav > ul > li:not(:first-child) { display: none; } header > nav > ul { flex-direction: column; } header > nav > ul > li { margin: 0; padding: 0; text-align: center; font-size: 1.3em; } header > nav > ul > li > details{ /* compensate for collapse triangle */ margin-left: -1rem; } header > nav > ul > li > details > nav { position: relative; margin: 0; padding: 0 0 0.5em 0; box-shadow: none; /* compensate back for container's collapse triangle compensation */ margin-left: 1rem; } header > nav > ul > li > details > nav ul li { padding: 0; font-size: 1.15rem; } header > nav > ul::before { content: ""; display: flex; justify-content: space-between; align-items: center; } header > nav > ul > li:first-child { display: block; } header > nav > ul > li:first-child a { margin: 0 0 0.5em 0; height: 2.5em; } header > nav > ul > li:last-child { margin: 1em 0 0 0; } header > nav > ul > li:last-child a { margin: 0; } header { position: relative; } /* for some reason this must be at the end to work */ #menu-toggle { display: block; position: absolute; right: 1em; top: 0.5em; appearance: none; cursor: pointer; } }