* { box-sizing: border-box; } html, body { margin: 0; padding: 0; font-family: system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif; } img { max-width: 100%; height: auto; } a { color: #442cce; &:active { color: #b40101; } } code { background-color: #ddd; border-radius: 4px; padding: 3px 5px; } svg.icon { width: 1em; height: 1em; fill: none; stroke: currentColor; stroke-width: 2px; stroke-linecap: round; stroke-linejoin: round; vertical-align: -2px; } kbd { display: inline-block; background-color: #eee; border: 1px solid #ddd; border-radius: 2px; margin: 0 1px; padding: 0 4px; font: inherit; font-size: 80%; } // GLOBAL LAYOUT main { display: grid; line-height: 1.5; > aside { order: -1; display: flex; flex-direction: column; > nav#sitetoc { display: none; flex: 1; } @media (min-width: 768px) { position: sticky; height: 100vh; top: 0; } } article { padding: 1rem 2rem; } } // SITEHEAD header#sitehead { background-color: #b40101; color: #fff; text-align: center; a { font: inherit; color: inherit; text-decoration: none; padding: 1rem; display: grid; grid-template: 1fr / auto 1fr; align-items: center; gap: 1rem; &:hover { background-color: #970404; } } img { width: 100px; grid-row: 1 / 3; @media (min-width: 768px) { width: 150px; } } .sitetitle { font-size: 2rem; font-weight: 700; } .tagline { font-size: 1.15rem; line-height: 1.15; } } // SITETOC nav#sitetoc { padding: 1rem; background-color: #efefef; overflow-y: auto; ul { list-style-type: none; margin: 0; padding: 0; } li.haschildren > ul { border-left: 1px solid #ddd; margin: 0.5rem 0; } a { color: inherit; display: block; text-decoration: none; &:hover { color: #970404; } &.current { font-weight: 700; color: #970404; } } > ul > li { border-bottom: 1px solid #ddd; margin-bottom: 0.5rem; padding-bottom: 0.5rem; > a { font-weight: 500; text-decoration: underline; } ul li { margin: 0.2rem 0 0.2rem 1rem; } } } #sitetoctoggle { display: block; padding: 0.5rem 1rem; background-color: #eee; border-bottom: 1px solid #ddd; cursor: pointer; &:hover { background-color: #ddd; } } #sitetocopen { display: none; &:checked ~ nav#sitetoc { display: block; } } @media (min-width: 768px) { main { grid-template-columns: minmax(250px, 25%) 1fr; } main > article { padding: 2rem 3rem; } #sitetoctoggle { display: none; } nav#sitetoc { display: block !important; } } // ARTICLE article { h2, h3, h4, h5, h6 { margin: 0; margin-bottom: 0.5rem; margin-top: 2rem; } h1 { font-weight: 600; font-size: 2.5rem; margin: 0 0 2.75rem 0; } h2 { font-weight: 600; font-size: 1.6rem; margin-top: 2rem; } h3 { font-size: 1.4rem; } header { margin-bottom: 2rem; border-bottom: 1px solid #ddd; h1 { margin-bottom: 0; } p { font-size: 1.45rem; font-weight: 300; } } p { margin: 0; margin-bottom: 1rem; } blockquote { margin: 0 0 1rem 0; padding: 0 0 0 1rem; border-left: 4px solid #ddd; } ol, ul { padding: 0 0 0 1rem; li { margin: 0.2rem 0; } + p { margin-top: 1rem; } } table { max-width: 100%; border-collapse: collapse; th, td { padding: 0.4rem 0.6rem; border: 1px solid #ddd; } th { text-align: left; font-weight: 700; background-color: #eee; } } .stubmessage { padding: 1rem; border: 1px solid #aeae27; border-radius: 0.75rem; background-color: rgba(255, 255, 0, 0.235); } .stubmessage > :last-child { margin-bottom: 0; } footer { margin-top: 3rem; padding-top: 1rem; border-top: 1px solid #ddd; color: #777; a { color: #6b54ea; } } } // MISC .socialbadge { display: inline-block; text-decoration: none; color: #000; background-color: #ddd; padding: 0 4px; border-radius: 2px; margin: 0 0 4px 0; box-shadow: 0 1.25px #aaa; &:hover { background-color: #ccc; } .star { color: #a69e2c; } .toot { color: #595aff; } .count { font-weight: 700; margin-right: 8px; } svg { fill: currentColor; stroke: none; } } // PRINT @media print { main > aside, article footer > p:not(:last-child) { display: none; } }