Fediversity/website/presentation/style.css

224 lines
4.1 KiB
CSS

: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;
}
}