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