// Graphite design system.
@use 'fonts';
@use 'reset';
:root {
// font sizes.
--fs-400: 1.25em;
--fs-500: 1.50em;
--fs-600: 1.75em;
--fs-700: 2.00em;
--fs-xxl: 2.50em;
// background.
--bg-900: #121212;
--bg-050: #F7F7F7;
--bg-100: #EEEEEE;
// primary color.
--pc-normal: #c678dd;
--pc-light: #f4e4f9;
--pc-dark: #62396E;
}
html {
background-color: var(--bg-100);
font-family: Lato, sans-serif;
color: var(--bg-900);
main {
background-color: var(--bg-050);
}
}
// --- Components ---
nav {
#logo h1 {
font-size: var(--fs-xxl);
}
#soul {
color: var(--pc-dark);
}
.menu {
margin: 8px 0px;
display: flex;
justify-content: flex-start;
align-items: center;
width: 100%;
border: 1px solid var(--bg-900);
border-radius: 8px;
background-color: var(--pc-light);
}
.menu-item {
padding: 4px 8px;
border-right: 1px solid var(--bg-900);
a {
text-decoration: none;
color: var(--bg-900);
}
}
summary { display: none };
}
main {
margin: 0 auto;
max-width: 750px;
padding: 0.5rem;
}
article {
max-width: 80ch;
margin: 1em 0;
word-wrap: break-word;
hanging-punctuation: first last;
h1 { font-size: var(--fs-500); }
h2 { font-size: var(--fs-400); }
blockquote {
background-color: var(--pc-light);
padding: 0px 8px;
border-left: solid 3px var(--pc-dark);
}
p {
margin: 1em 0;
font-size: var(--fs-400);
}
.title {
font-size: var(--fs-600);
}
.subtitle {
font-size: var(--fs-400);
}
}
.social {
display: flex;
padding: 8px 0px;
gap: 16px;
li {
list-style: none;
a {
img {
width: 40px;
}
}
}
}
.list {
margin: 8px 0px;
list-style: none;
font-size: var(--fs-400);
.list-item {
margin: 16px 0px;
padding: 0px 16px;
line-height: 1.2;
border-left: 2px solid var(--bg-900);
&:hover, &:focus, &:active {
border-color: var(--pc-dark);
}
a {
text-decoration: none;
display: flex;
flex-direction: column;
color: var(--bg-900);
&:hover, &:focus, &:active {
color: var(--pc-dark);
}
}
.headline {
font-weight: 600;
}
.support {
font-weight: 300;
}
}
}
// --- large screens ---
@media only screen and (min-width: 640px) {
main {
padding: 0 1rem;
}
}