@import url('https://fonts.googleapis.com/css2?family=Mulish:ital,wght@0,200..1000;1,200..1000&display=swap'); $h1_font_size: 2.0rem; $h2_font_size: 1.7rem; $header_size: 1.2rem; $font_size: 16px; $code_font_size: 16px; $code_line_height: 17px; $line-height: 1.6; $accent: rgb(90, 126, 193); $background: rgb(40, 44, 53); $backdrop: $background; $text: rgb(226, 226, 226); $subtext: #868686; $links: $accent; $footer: $subtext; $meta: $text; $header: $text; $highlight: $links; $blockquote_border: $accent; $code_background: $background; $code_border_color: $background; $code: #ff9327; $separator: darken(desaturate($accent, 20%), 20%); html, body { background-color: $backdrop; color: $text; font-family: "Mulish", sans-serif; font-size: $font_size; line-height: $line-height; -moz-osx-font-smoothing: grayscale; } code, pre { font-family: monospace; } .important { width: 100%; display: block; font-style: italic; } .important::before { content: '\f0a4'; font-family: "Font Awesome 6 Free"; font-size: 1rem; margin-right: 0.7rem; } .container { background-color: $background; padding: 1rem 1.5rem; margin: 1rem auto; max-width: 1200px; min-height: 100vh; } a, a:hover { color: $links; text-decoration: none; } nav { margin-bottom: 2rem; text-align: right; vertical-align: bottom; display: flex; flex-direction: row; justify-content: space-between; align-items: center; a.brand { text-align: left; flex: 1; display: block; color: $text; font-weight: 800; font-size: 1.6rem; } .menu { flex: 2; display: flex; gap: 0.8rem; justify-content: flex-end; a { color: $text; font-weight: 700; } } } h1, h2, h3, h4, h5 { font-family: "Mulish", sans-serif; font-size: $header_size; font-weight: 900; line-height: $header_size * 1.9; color: $header; margin: 0.67rem 0; } h1 { font-size: $h1_font_size; color: $text; margin-bottom: 1.6rem; } h2 { font-size: $h2_font_size; } b, strong { font-weight: bold; } blockquote { border-left: 5px solid $blockquote_border; padding-left: 1rem; } .auto-width img { width: auto; } img { width: 98%; border-radius: 1.6rem; margin: 0 auto; display: block; } .img--caption { display: block; font-style: italic; font-size: 0.92rem; text-align: center; } .gallery-view { display: flex; flex-flow: row wrap; figure { max-width: 48%; min-width: 48%; margin: 0.5rem 0; flex: 1; img { width: 90%; } .img--caption { margin: 0 auto; padding-top: 0.5rem; max-width: 80%; line-height: 1.1rem; } } } ol { list-style-position: outside; } ul { list-style-position: outside; } span.begin-task-list + ul { list-style-type: none; padding-left: 1rem; input[type="checkbox"] { margin-right: 0.4rem; list-style-image:url("/images/unchecked.png"); } input[type="checkbox"]:checked { list-style-image:url("/images/checked.png"); } } header { margin-bottom: 1.5rem; } footer { color: $footer; margin-top: 4rem; display: flex; align-items: center; .copyright { flex: 1; } .buymeacoffee { flex: 1; img { background-color: $accent; padding: 4px 8px; max-height: 32px; height: auto; width: auto; } } } small { font-size: 100%; color: $footer; } .meta { color: $meta; font-weight: normal; } code { color: $code; } pre, code { font-family: 'IBM Plex Mono', monospace; font-size: $code_font_size; line-height: $code_line_height; } pre > code { overflow-wrap: normal; white-space: pre; color: $text; background-color: $background !important; } pre { background-color: $code_background !important; padding: 1rem 1rem 1rem 2.5rem; overflow-x: auto; overflow-y: hidden; line-height: $line-height; border: 2px solid $code_border_color; } table td, table th { padding: 0.2rem 1rem; } img.about-avatar { width: 16rem; float: right; border-radius: 50%; margin-left: 1rem; margin-bottom: 1rem; } .fi { font-size: $font_size * 1.2; padding-top: 0.5rem; } // bootstrap SVG-Icons .bi { display: inline-block; vertical-align: middle; padding-bottom: 0.25rem; } .bi-link { width: 1.4rem; height: 1.4rem; color: $links; } // Front-page post feed .main-page { max-width: 1200px; margin: 0 auto; } .narrow { max-width: 780px; margin: 0 auto; } article.post { display: flex; align-items: center; line-height: 1; overflow: hidden; position: relative; padding: 0.1rem 0; &+article.post { border-top: 1px solid $separator; } .calendar { text-transform: uppercase; color: $links; font-size: 12px; font-weight: 600; margin-right: 1.5rem; min-width: 50px; } .title { flex-grow: 1; font-size: $font-size; font-weight: normal; line-height: 1.3; overflow: hidden; text-overflow: ellipsis; padding-right: 1rem; white-space: nowrap; } .actions { font-size: 14px; white-space: nowrap; @media (max-width: 600px) { display: none; } } .permalink { bottom: 0; left: 0; outline: none; position: absolute; right: 0; top: 0; z-index: 50; } } article.full { .created_on, .updated_on { color: $subtext; text-align: center; text-transform: uppercase; font-size: 13px; font-weight: 600; } .updated_on { display: none; } h1 { text-align: center; } .article-head { margin: 5rem 0; } } a.tag { background-color: $accent; color: $text; padding: 2px 8px 4px; margin: 0 2px; border-radius: 6px; font-size: 13px; text-transform: lowercase; } .article-about { margin: 4rem 0; display: flex; flex-direction: row; & > * { flex: 1; } .previous-article, .next-article { font-size: 48px; } .article-author { flex: 4; flex-grow: 999; text-align: center; img { max-width: 64px; border-radius: 50%; } } }