@import url('https://fonts.googleapis.com/css2?family=Mulish:ital,wght@0,200..1000;1,200..1000&display=swap'); @import url('https://fonts.googleapis.com/css2?family=Roboto+Mono:ital,wght@0,100..700;1,100..700&family=Space+Mono:ital,wght@0,400;0,700;1,400;1,700&display=swap'); $h1_font_size: 2.0rem; $h2_font_size: 1.7rem; $header_size: 1.2rem; $font_size: 18px; $code_font_size: 14px; $code_line_height: 17px; $line-height: 1.6; $mobile-width: 600px; html, body { color: $text; font-family: "Mulish", sans-serif; font-size: $font_size; line-height: $line-height; -moz-osx-font-smoothing: grayscale; transition: color 0.2s ease-in-out, background-color 0.2s ease-in-out; } html { background: conic-gradient(from 0deg at calc(500%/6) calc(100%/3),#485a73 0 120deg,#0000 0), conic-gradient(from -120deg at calc(100%/6) calc(100%/3),#778caa 0 120deg,#0000 0), conic-gradient(from 120deg at calc(100%/3) calc(500%/6),#b6c1d1 0 120deg,#0000 0), conic-gradient(from 120deg at calc(200%/3) calc(500%/6),#b6c1d1 0 120deg,#0000 0), conic-gradient(from -180deg at calc(100%/3) 50%,#778caa 60deg,#b6c1d1 0 120deg,#0000 0), conic-gradient(from 60deg at calc(200%/3) 50%,#b6c1d1 60deg,#485a73 0 120deg,#0000 0), conic-gradient(from -60deg at 50% calc(100%/3),#b6c1d1 120deg,#778caa 0 240deg,#485a73 0); background-size: 222px 128px; } code, pre { font-family: "Roboto Mono", monospace; font-optical-sizing: auto; font-weight: 600; font-style: normal; } .important { display: block; border-left: 5px solid $important_border; padding-left: 1rem; } .container { background-color: rgba(255, 255, 255, 0.85); padding: 1rem 1.5rem; margin: 2rem auto; max-width: 1200px; min-height: 100vh; @media screen and (max-width: $mobile-width) { margin: 0.5rem auto; } } 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; flex-direction: row; gap: 0.8rem; justify-content: flex-end; a { color: $text; font-weight: 700; } @media screen and (max-width: $mobile-width) { flex-direction: column; align-items: flex-end; gap: 0.4rem; } } } 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: 900; } 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; } } } figure.side-image { width: 24%; float: right; margin-left: 1rem; margin-bottom: 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: 6rem 0 4rem; display: flex; align-items: center; .copyright { flex: 1; text-align: left; } .buymeacoffee { flex: 1; text-align: right; } } .buymeacoffee { img { display: inline-block; background-color: $accent; padding: 4px 8px; max-height: 32px; height: auto; width: auto; } } small { font-size: 100%; color: $footer; } code { color: $text; // background-color: $backdrop; padding: 1px 4px 3px; border-radius: 4px; } pre, code { font-size: $code_font_size; line-height: $code_line_height; } pre > code { overflow-wrap: normal; white-space: pre; padding: 0; color: $text; // background-color: $backdrop !important; } pre { // background-color: $backdrop !important; padding: 12px; overflow-x: auto; overflow-y: hidden; line-height: $line-height; border-left: 6px solid $accent; border-radius: 4px; } table td, table th { padding: 0.2rem 1rem; } img.about-avatar { width: 128px; 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: $mobile-width) { 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; } } .listing > h1 { text-align: center; } a.tag { background-color: $tag_background; color: $tag_color; padding: 2px 8px 4px; margin: 0 2px; border-radius: 6px; font-size: 13px; text-transform: lowercase; transition: color 0.2s ease-in-out, background-color 0.2s ease-in-out; } .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%; } } } form { fieldset { border: 2px solid $separator; padding: 12px 16px; } input, textarea { width: 100%; padding: 12px; margin: 8px 0; box-sizing: border-box; border: 2px solid $separator; border-radius: 4px; background-color: $backdrop; color: $text; &:focus { outline: none; border: 2px solid $accent; } } textarea { resize: none; } input[type=button], input[type=submit], input[type=reset] { background-color: $accent; border: none; color: $text; padding: 16px 32px; text-decoration: none; margin: 4px 2px; cursor: pointer; } } .btn-dark { width: 1.25rem; height: 1.25rem; cursor: pointer; margin-left: 1rem; display: block; padding: 0.35rem; svg { fill: $darkmode_icon; transition: color 0.2s ease-in-out, background-color 0.2s ease-in-out; } }