// Override default variables //$primary-hue: 12; //$primary: #ff3300; //$primary-600: #ff3300; $commit_header: #005cc5; // Import full Pico source code @import "pico/scss/pico"; @import "_theme-switcher.scss"; :root { --spacing: .5em; --font-family-sans-serif: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; --font-family-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; } // Light theme (Default) // Can be forced with data-theme="light" [data-theme="light"], :root:not([data-theme="dark"]) { --background-color: #{$white}; --nav-background-color: #{mix($grey-50, $white, 33%)}; --nav-border-color: #{mix($grey-500, $white, 25%)}; --nav-logo-color: #333; --tr-hover-color: #{mix($grey-50, $white, 33%)}; --th-background-color: #{mix($grey-50, $white, 50%)}; --snippet-background-color: #{mix($grey-50, $white, 50%)}; --status-tag-color: #{$white}; --diff-addition-color: #22863a; --diff-addition-background-color: #f0fff4; --diff-deletion-color: #b31d28; --diff-deletion-background-color: #ffeef0; } // Dark theme @mixin dark { --nav-background-color: #{darken($grey-900, 6%)}; --nav-border-color: #{mix($grey-500, $black, 40%)}; --nav-logo-color: #{darken($grey-200, 6%)}; --tr-hover-color: var(--code-background-color); --th-background-color: var(--code-background-color); --snippet-background-color: var(--code-background-color); --status-tag-color: #{$black}; --diff-addition-color: #b4ddb4; --diff-addition-background-color: #203d20; --diff-deletion-color: #eebdba; --diff-deletion-background-color: #5e2526; } @media only screen and (prefers-color-scheme: dark) { :root:not([data-theme="light"]) { @include dark; } } [data-theme="dark"] { @include dark; } * { box-sizing: border-box; } html { scroll-padding-top: 70px; /* height of sticky header */ } body { height: auto; } body > main { padding-top: calc(var(--block-spacing-vertical) + 3.5rem); } body > nav { --nav-link-spacing-vertical: 1rem; z-index: 99; position: fixed; top: 0; right: 0; left: 0; background-color: var(--nav-background-color); box-shadow: 0px 1px 0 var(--nav-border-color); &.container-fluid { padding-right: calc(var(--spacing) + var(--scrollbar-width, 0px)); } a { border-radius: 0; } svg { vertical-align: text-bottom; } // Band & Title ul:first-of-type { margin-left: calc(var(--spacing) * -1); li { padding: 0; // Brand &:first-of-type { a { display: block; margin: 0; padding: 0; svg { display: block; width: 7rem; height: 3.5rem; fill: var(--nav-logo-color); } } } // Title &:nth-of-type(2) { display: none; margin-left: calc(var(--spacing) * 1.5); color: var(--h1-color); @media (min-width: map-get($breakpoints, "lg")) { display: inline; } } } } } h1 { clear: both; margin-top: 1.3rem; margin-bottom: 0.5rem; } .title { clear: both; font-size: 16px; margin-bottom: 1rem; border-bottom: 1px dashed var(--nav-border-color); padding: 0px; padding-bottom: 1rem; color: #586069; } .comment-box { margin-top: 1rem; margin-bottom: 2rem; border-top: 1px dashed var(--nav-border-color); padding-top: 1rem; header input { height: 2rem; } } h2 { border-bottom: 1px solid #eee; padding-bottom: 5px; } ul.merged li, ul.blockedby li, ul.blocks li { display: inline-block; } ul.merged li + li:before, ul.blockedby li + li:before, ul.blocks li + li:before { content: ", "; } p + p { text-indent: 0.5rem; margin-top: 1.0rem; } .card-body form { padding-bottom: 1em; } tr.heading th { background-color: var(--th-background-color); font-weight: bold; } tr td:nth-child(1), tr td:nth-child(4) { width: 4rem; } tr td:nth-child(3){ width: 19rem; } tr.serious svg { fill: #ff5a2a; margin-right: .5em; height: 1.2em; vertical-align: text-bottom; } tr.important svg { fill: var(--primary); margin-right: .5em; height: 1.2em; vertical-align: text-bottom; } nav span.navbar-text { display: flex; flex-grow: 1; } @media (max-width: 576px) { nav span.navbar-text { display: none; } } @media (min-width: 576px) { #search.form-inline input:focus { width: 400px; } #search.form-inline #search-hints { width: 400px; } } @media (min-width: 768px) { #search.form-inline input:focus { width: 500px; } #search.form-inline #search-hints { width: 500px; } } #search #search-hints { display: none; position: absolute; background: var(--background-color); top: 3rem; border: 1px solid var(--nav-border-color); border-top: none; box-shadow: 3px 3px 10px var(--nav-border-color); padding: 1em; z-index: 2; color: var(--primary-focus); } #search.form-inline:focus-within #search-hints { display: block; } #search { z-index: 3; } #search.form-inline { margin-bottom: 0; } #search.form-inline input { height: 1.3em; } body > footer { border-color: var(--nav-border-color); border-style: dashed none none none; border-width: 2px; width: 100%; align-items: center; text-align: center; margin-top: 3rem; padding: 1rem; color: var(--nav-logo-color); background: var(--nav-background-color); } table { width: 100%; } /* messages */ .event { margin-bottom: 1em; text-align: center; margin: 0.5em auto; display: block; } .badge { display: inline-block; border-radius: 10px; color: var(--primary-inverse); background-color: var(--primary); padding: 0.25em 0.4em; margin-right: 0.25rem; } .badge-primary { color: var(--primary-inverse); background-color: var(--primary); } .badge-info { color: var(--secondary-inverse); background-color: var(--secondary); } table .badge { font-size: smaller; } table tr:hover { background-color: var(--tr-hover-color); } details.info, details.search-hints { border-bottom: none; } details.info summary:after, details.search-hints summary:after{ float: left; } .info .stat { display: inline-grid; color: #586069; margin-right: 1em; } .info .stat .label { display: block; } .info .stat dt { font-weight: 700; } .info .stat dd { margin-left: 0; } div.line:before { position: absolute; display: inline-block; visibility: hidden; content: "# "; margin-left: -1em; padding-right: .5em; cursor: pointer; color: $grey-300; } div.line:hover:before { visibility: visible; } a.message-anchor { display: block; position: relative; visibility: hidden; } #sidebar { display: none; position: fixed; right: 0; top: 80px; background: var(--nav-background-color); border: 1px solid var(--nav-border-color); border-radius: 5px 0 0 5px; padding: .5em; z-index: 1; max-height: 80vh; overflow-y: auto; overflow-x: none; max-width: 2em; transition: all 500ms ease-in-out; } #sidebar:hover { max-width: inherit; transition: all 500ms ease-in-out; } @media (min-width: 786px) { #sidebar { display: block; } } #sidebar li { width: max-content; } .conversation .avatar { display: none; } #sidebar .avatar, .message .from .avatar { width: 1.2em; height: 1.2em; border-radius: 3px; color: var(--background-color); display: inline-flex; justify-content: center; align-items: center; margin-right: 3px; } @media (min-width: 768px) { .conversation .avatar { height: 48px; width: 48px; border-radius: 6px; color: var(--background-color); display: flex; justify-content: center; align-items: center; font-size: 32px; position: absolute; } } .address + .address:before { content: ", "; } @media (min-width: 768px) { .message { margin-left: 65px; } } @media (max-width: 768px) { h1 { font-size: 2rem; } } .issue-title { font-weight: bold; font-size: 1.5em; } .issue-details > ul { padding: 0; li { display: inline-block; list-style: none; margin: 0; padding: 0; vertical-align: top; } } .issue-details > details dl dd { margin-left: 1em; } details { margin-top: .5em; } .message details { border-top: 2px dotted var(--nav-border-color); border-bottom: 2px dotted var(--nav-border-color); } .message details summary { color: #586069; padding: 1em 0; } .message header { padding: 0.8em var(--block-spacing-horizontal); } .message .body .multipart { padding-bottom: 1rem; } .message .body .attachment + .multipart, .message .body .multipart + .multipart { padding-top: 1rem; padding-bottom: 1rem; border-top: 1px dashed; border-color: var(--nav-border-color); } .multipart.application-pgp-signature { display: none; } .multipart.text-x-patch { } .multipart.scheme { white-space: pre-wrap; font-family: monospace; } .attachment:before { background-image: url('/img/file.svg'); background-size: 1rem; display: inline-block; height: 1rem; width: 1rem; content: ""; margin-right: 0.2em; } .download-message, .download-part { float: right; font-size: 0.8em; font-style: italic; } @media (min-width: 768px) { .message .from .avatar { display: none; } } .message .from { display: inline-block; } .message .from .address { font-weight: bold; } .message .details { margin-top: .5em; display: none; } .truncation-notice:before { display: block; background: linear-gradient(#00000000,var(--card-background-color)); height: 20rem; width: 100%; position: relative; content: " "; margin-top: -20rem; } .message div.line { white-space: pre-wrap; font-family: monospace; display: block; } pre.ugly-body { word-wrap: break-word; margin: 0; white-space: pre-wrap; } /* diff styles */ div.line pre { margin: 0; font-family: inherit; font-size: inherit; color: inherit; } .message .diff div.line.diff.file { color: #005cc5; } .message .diff div.line.diff.separator { color: #005cc5; } .message .diff div.line.diff.addition { color: var(--diff-addition-color); background-color: var(--diff-addition-background-color); } .message .diff div.line.diff.deletion { color: var(--diff-deletion-color); background-color: var(--diff-deletion-background-color); } .message .diff div.line.diff.range { color: #6f42c1; font-weight: bold; } /* commit styles */ .message span.commit { font-family: monospace; } .message span.commit.attribution { color: $commit_header; } .message span.commit.header { color: $commit_header; } .message span.commit.changelog { color: $commit_header; } /* quote styles */ .message .quote div.line { color: #3868cc; } .message .snippet { background-color: var(--snippet-background-color); } .filter { display: inline-block; color: #fff; background: #aaa; text-align: center; padding: 2px; border-radius: 3px; font-family: monospace; margin: 1px; } .status-tag { display: inline-block; color: var(--status-tag-color); text-align: center; padding: 4px; border-radius: 3px; margin-right: 8px; } .status-tag.done { background: #cb2431; } .status-tag.open { background: #2cbe4e; } .error.parse { font-style: italic; font-size: 0.8em; } .message .body.card-body { padding: .8rem; } /* Syntax highlighting code, by David Thompson, borrowed from: https://git.dthompson.us/blog.git/blob_plain/refs/heads/haunt-migration:/css/dthompson.css David Thompson gives permission for this to be GPLv3+ and CC BY-SA 4.0 Modified significantly since. */ .syntax-special, .syntax-element { color: #856; font-weight: bold; } .syntax-symbol { color: #423; } .syntax-string { color: #484; } .syntax-keyword, .syntax-attribute { color: #921; } .syntax-comment { color: #666; } .syntax-open, .syntax-close { color: #688; } /* token input */ .tokenInput { --border-color: var(--form-element-border-color); --color: var(--form-element-color); position: relative; width: 100%; height: calc( (1rem * var(--line-height)) + (var(--form-element-spacing-vertical) * 2) + (var(--border-width) * 2)); padding-inline-start: calc(var(--form-element-spacing-horizontal) + 1.75rem); border-radius: 5rem; background-color: var(--background-color); background-image: var(--icon-search); background-position: center left 1.125rem; background-size: 1rem auto; background-repeat: no-repeat; border: var(--border-width) solid var(--border-color); outline-offset: -2px; outline: none; box-shadow: none; color: var(--color); font-weight: var(--font-weight); cursor: text; } .tokenInput input[type="search"]:not([type="checkbox"], [type="radio"], [type="range"], [type="file"]) { border: none; box-shadow: none; padding: 0; padding-inline-start: 0; background: none; width: auto; &:focus { box-shadow: none; } } .tokenInput .token { margin: 0 4px 2px 0; border: 1px solid var(--nav-border-color); border-radius: 10px; padding: 2px 4px 4px 4px; cursor: pointer; } .tokenInput .token .x { margin: 0 0 0 4px; color: var(--secondary); vertical-align: super; font-size: 9pt; padding: 0; } .tokenInput .token.completed { background-color: var(--secondary); color: var(--secondary-inverse); } .tokenInput .token.completed .x { color: var(--secondary-inverse); } .tokenInput .token.free-text { background-color: transparent; } .tokenInput .selected, .tokenInput .floating .completion.selected, .tokenInput .token.selected { background-color: var(--mark-background-color); color: var(--mark-color); } .tokenInput .floating { border: 1px solid var(--border-color); font-size: 1rem; background-color: var(--background-color); width: 100%; max-height: 150px; overflow-y: auto; margin-top: .2em; box-shadow: 4px 4px 10px var(--border-color); z-index: 10; } .tokenInput .floating .container { padding: 0; margin: 0; width: auto; } .tokenInput .floating .x { display: none; } .tokenInput .floating .list { margin-top: 14px; } .tokenInput .completion { padding: 6px 10px 6px 10px; cursor: pointer; } .tokenInput .completion:hover { background: lightgray; } .tokenInput .floating .heading { background: #eee; padding: 2px 4px; } .tokenInput .hints { padding: 10px; line-height: 2em; }