one big lazy commit, replace embedded PNGs with SVGs, color and scaling changes
[gitweb-theme.git] / gitweb.css
1 /*
2 * Original theme: https://github.com/kogakure/gitweb-theme
3 * Copyright (c) 2009-2014 Stefan Imhoff
4 */
5 /* Reset
6 ------------------------------------------------------------------------- */
7 /* Based on http://meyerweb.com/eric/tools/css/reset/ */
8 /* v1.0 | 20080212 */
9 @font-face {
10 font-family: "Victor Mono";
11 src:
12 url('/fonts/VictorMono.woff2') format('woff2'),
13 url('/fonts/VictorMono.woff') format('woff'),
14 url('/fonts/VictorMono.ttf') format('truetype');
15 font-weight: normal;
16 font-style: normal;
17 font-display: swap;
18 }
19 html, body, div, span, applet, object, iframe,
20 h1, h2, h3, h4, h5, h6,
21 p, blockquote, pre, a, abbr, acronym, address, big,
22 cite, del, dfn, em, font, img, ins, kbd, q, s, samp,
23 small, strike, strong, sub, sup, tt, var, b, u, i,
24 center, dl, dt, dd, ol, ul, li, fieldset, form, label,
25 legend, table, caption, tbody, tfoot, thead, tr, th,
26 td {
27 margin: 0;
28 padding: 0;
29 border: 0;
30 outline: 0;
31 font-size: 100%;
32 vertical-align: baseline;
33 background: transparent;
34 }
35 ol,
36 ul {
37 list-style: none;
38 }
39 blockquote,
40 q {
41 quotes: none;
42 }
43 blockquote:before,
44 blockquote:after,
45 q:before,
46 q:after {
47 content: '';
48 content: none;
49 }
50 ins {
51 text-decoration: none;
52 }
53 del {
54 text-decoration: line-through;
55 }
56 table {
57 border-collapse: collapse;
58 border-spacing: 0;
59 }
60 a {
61 padding: 2px;
62 outline: none;
63 text-decoration: underline;
64 }
65 form {
66 justify-content: center;
67 display: flex;
68 padding: 8px;
69 }
70 input,
71 select {
72 outline: none;
73 max-height: 2rem;
74 font-family: monospace;
75 border: 3px solid #d3dfe3;
76 background-color: #eef9ff;
77 color: #111;
78 }
79 input:focus,
80 select:focus {
81 border-color: #fdd33c;
82 }
83 input[type="checkbox"] {
84 appearance: none;
85 vertical-align: middle;
86 width: 1rem;
87 height: 1rem;
88 }
89 input[type="checkbox"]:checked {
90 background-color: #fdd33c;
91 }
92 input[type="checkbox"]:focus-visible {
93 outline: 4px dashed #fdd33c;
94 outline-offset: -3px;
95 }
96 .projsearch span {
97 margin: 4px;
98 display: inline-flex;
99 align-items: center;
100 text-align: center;
101 }
102 .projsearch input[type="text"] {
103 width: 80%;
104 box-sizing: border-box;
105 }
106 .projsearch input:focus {
107 border-color: #fdd33c;
108 }
109 .projsearch input[type="checkbox"] {
110 border: 2px solid #d3dfe3;
111 }
112 .search input[type="checkbox"] {
113 border: 2px solid #d3dfe3;
114 }
115 ::selection {
116 background-color: #fdd33c;
117 color: #111;
118 }
119 /* General
120 ---------------------------------------------------------------------------- */
121 html {
122 position: relative;
123 min-height: 100%;
124 }
125 body {
126 font: 13px Helvetica,arial,freesans,clean,sans-serif;
127 line-height: 1.4;
128 margin: 0 0 105px;
129 background-color: #e0edf0;
130 }
131 th {
132 background-color: #d3dfe3;
133 padding: 5px;
134 }
135 td {
136 background-color: #eef9ff;
137 padding: 5px;
138 }
139 code {
140 display: inline-block;
141 padding: 2px;
142 padding-inline: 2px;
143 font-family: 'Victor Mono', monospace;
144 background-color: #fafeff;
145 font-weight: bold;
146 }
147 /* Monospaced Fonts */
148 .sha1,
149 .mode,
150 .diff_tree .list,
151 .page_header,
152 .pre,
153 .diff,
154 .patchset {
155 font-family: 'Victor Mono', monospace;
156 }
157 a:link,
158 a:visited {
159 color: #111;
160 font-weight: bold;
161 text-decoration: underline;
162 }
163 a:focus-visible,
164 a:hover {
165 background-color: #111;
166 color: #eef9ff;
167 }
168 td.list a[href*='tree'],
169 td.list a[href*='blob'] {
170 padding-left: 20px;
171 height: 16px;
172 line-height: 16px;
173 }
174 td.list a[href*='tree'] {
175 background: url(data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%3E%3Cpath%20d%3D%22M10%2C4H4C2.89%2C4%202%2C4.89%202%2C6V18A2%2C2%200%200%2C0%204%2C20H20A2%2C2%200%200%2C0%2022%2C18V8C22%2C6.89%2021.1%2C6%2020%2C6H12L10%2C4Z%22%20fill%3D%22%23110600%22%20%2F%3E%3C%2Fsvg%3E) center left no-repeat;
176 }
177 td.list a[href*='blob'] {
178 background: url(data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%3E%3Cpath%20d%3D%22M14%2C2H4V4H4V20H4V22H20V20H20V8L14%2C2M18%2C20H6V4H13V9H18V20Z%22%20fill%3D%22%23110600%22%20%2F%3E%3C%2Fsvg%3E) center left no-repeat;
179 }
180 td.list a[href*='tree']:focus-visible,
181 td.list a[href*='blob']:focus-visible,
182 td.list a[href*='tree']:hover,
183 td.list a[href*='blob']:hover {
184 background-color: #eee;
185 color: #110600;
186 filter: invert(1);
187 }
188 i {
189 font-style: normal;
190 }
191 .page_nav br {
192 display: none;
193 }
194 #htmltagcloud {
195 margin: 2em;
196 }
197 .projects_list #htmltagcloud {
198 text-align: left;
199 margin: 4px;
200 margin-left: 0px;
201 }
202 /* Page Header */
203 .page_header {
204 line-height: 50px;
205 position: relative;
206 padding: 0 27px;
207 margin-bottom: 20px;
208 text-wrap: balance;
209 font-size: 20px;
210 background: #eef9ff;
211 border-bottom: 2px solid #d3dfe3;
212 }
213 .page_header a:link,
214 .page_header a:visited {
215 text-decoration: underline;
216 padding: 3px;
217 font-weight: bold;
218 }
219 .page_header a:focus-visible,
220 .page_header a:hover {
221 font-weight: bold;
222 padding: 3px;
223 text-decoration: underline;
224 }
225 .page_header a:first-child {
226 background: transparent;
227 }
228 .page_header img.logo {
229 border: 3px #fdd33c double;
230 position: relative;
231 top: 7px;
232 margin-right: 5px;
233 }
234 /* Page Footer
235 ---------------------------------------------------------------------------- */
236 .page_footer {
237 display: flex;
238 justify-content: flex-end;
239 position: absolute;
240 box-sizing: border-box;
241 padding-inline: 1rem;
242 left: 0;
243 bottom: 0;
244 width: 100%;
245 height: 80px;
246 line-height: 80px;
247 margin-top: 15px;
248 background: #eef9ff;
249 border-top: 2px solid #d3dfe3;
250 border-bottom: 1px solid #d3dfe3;
251 }
252 .page_footer_text {
253 margin-right: auto;
254 color: #666;
255 margin-left: 1vw;
256 width: 80%;
257 overflow: hidden;
258 white-space: nowrap;
259 text-overflow: ellipsis;
260 }
261 a.rss_logo {
262 margin-right: 8px;
263 padding: 3px 1px;
264 height: 10px;
265 width: 35px;
266 line-height: 10px;
267 border: 1.5px solid #d3dfe3;
268 background-color: #fdd33c;
269 font-weight: bold;
270 font-size: 80%;
271 text-align: center;
272 text-decoration: none;
273 margin-top: 30px;
274 margin-left: 5px;
275 }
276 a.rss_logo:focus-visible,
277 a.rss_logo:hover {
278 background-color: #ee5500;
279 }
280 .rss_logo {
281 margin-right: 25px;
282 background: yellow;
283 }
284 .rss_logo:last-child {
285 margin-right: 5px;
286 }
287 /* Index include
288 ---------------------------------------------------------------------------- */
289 .index_include {
290 width: 95%;
291 margin: 0 auto 15px;
292 border: 1px solid #d3dfe3;
293 padding: 8px;
294 -webkit-box-sizing: border-box;
295 -moz-box-sizing: border-box;
296 box-sizing: border-box;
297 }
298 /* Elements
299 ---------------------------------------------------------------------------- */
300 .project_list,
301 .shortlog,
302 .commit_search,
303 .history {
304 width: 95%;
305 margin: 0 auto 15px auto;
306 border: 1px solid #d3dfe3;
307 }
308 .project_list th,
309 .shortlog th,
310 .tree th,
311 .commit_search th {
312 color: #111;
313 font-weight: normal;
314 }
315 .project_list th {
316 font-weight: bold;
317 }
318 .project_list tr,
319 .shortlog tr,
320 .tree tr,
321 .commit_search tr {
322 background: #eaeaea;
323 height: 2.5em;
324 text-align: left;
325 color: #545454;
326 }
327 .project_list tr.dark,
328 .project_list tr.light,
329 .shortlog tr.dark,
330 .shortlog tr.light,
331 .tree tr.dark,
332 .tree tr.light,
333 .commit_search tr.dark,
334 .commit_search tr.light,
335 .history tr.dark,
336 .history tr.light,
337 .heads tr.dark,
338 .heads tr.light {
339 background: #F9F9F9;
340 height: 2.5em;
341 border-bottom: 1px solid #e1e1e1;
342 }
343 .tree tr:last-child {
344 border-bottom: none;
345 }
346 th .header {
347 background: transparent;
348 border: 0;
349 padding: 0;
350 font-weight: bold;
351 }
352 .tree {
353 width: 100%;
354 margin: 0;
355 }
356 .projsearch {
357 /*
358 * position: absolute;
359 * right: 4%;
360 * top: 15px;
361 */
362 display: flex;
363 justify-content: center;
364 align-items: center;
365 }
366 .projsearch a {
367 display: none;
368 }
369 .commit_search {
370 background: #eaeaea;
371 }
372 .page_nav,
373 .list_head,
374 .page_path {
375 width: 94%;
376 color: #545454;
377 border-bottom: 4px solid #eef9ff;
378 box-shadow: 0 2.5px #d3dfe3;
379 padding: 5px;
380 margin: 0 auto 15px auto;
381 }
382 .history {
383 background: #eaeaea;
384 }
385 a.linenr {
386 color: #838183;
387 text-decoration: none;
388 background-color: transparent;
389 }
390 a.linenr:focus-visible,
391 a.linenr:hover {
392 color: #111;
393 }
394 .title {
395 margin: 0 auto 15px auto;
396 padding: 5px;
397 width: 95%;
398 }
399 .readme {
400 border: 2px solid #eef9ff;
401 box-sizing: border-box;
402 margin: 0 auto 15px auto;
403 padding: 15px;
404 width: 95%;
405 }
406 .readme h1 {
407 display: block;
408 font-size: 2em;
409 font-weight: bold;
410 margin-bottom: 0.67em;
411 margin-top: 0;
412 }
413 .readme h2 {
414 font-size: 1.5em;
415 font-weight: bold;
416 margin-bottom: 0.83em;
417 }
418 .readme h3 {
419 font-size: 1.17em;
420 font-weight: bold;
421 margin-bottom: 1em;
422 }
423 .readme p {
424 margin-bottom: 1em;
425 }
426 .readme ul {
427 list-style: disc;
428 margin-bottom: 1em;
429 margin-left: 1.5em;
430 }
431 .readme ul ul {
432 margin-bottom: 0;
433 }
434 .readme ol {
435 list-style: decimal;
436 margin-bottom: 1em;
437 margin-left: 1.5em;
438 }
439 .readme ol ol {
440 margin-bottom: 0;
441 }
442 .readme pre {
443 overflow-x: auto;
444 max-width: 100%;
445 font-family: 'Victor Mono', monospace;
446 font-weight: bold;
447 width: fit-content;
448 background-color: #fafeff;
449 margin: 1em 0;
450 padding: 0.2rem;
451 border-left: 4px solid #fdd33c;
452 }
453 .readme tt,
454 .readme code,
455 .readme kbd,
456 .readme samp {
457 font-family: 'Victor Mono', monospace;
458 }
459 .readme code {
460 max-width: 100%;
461 font-weight: bold;
462 }
463 .readme blockquote {
464 max-width: 100%;
465 margin: 1em;
466 }
467 .readme img {
468 max-width: 100%;
469 }
470 .projects_list,
471 .tags {
472 width: 95%;
473 background: #f0f0f0;
474 color: #545454;
475 border: 1px solid #d8d8d8;
476 padding: 5px;
477 margin: 0 auto 15px auto;
478 }
479 .heads {
480 width: 95%;
481 color: #545454;
482 border: 1px solid #d8d8d8;
483 padding: 5px;
484 margin: 0 auto 15px auto;
485 }
486 .header {
487 width: 94%;
488 margin: 0 auto 15px auto;
489 background: #eef9ff;
490 border: 2px solid #d3dfe3;
491 padding: 4px;
492 }
493 .header .age {
494 float: left;
495 color: #111;
496 font-weight: bold;
497 width: 10em;
498 }
499 a.header:focus-visible,
500 a.header:hover {
501 background-color: #111;
502 }
503 .title_text {
504 width: 94%;
505 background: #eef9ff;
506 border: 1px solid #bedce7;
507 padding: 5px;
508 margin: 0 auto 0 auto;
509 }
510 .log_body {
511 width: 94%;
512 background: #fafeff;
513 border: 1px solid #bedce7;
514 border-top: 0;
515 padding: 5px;
516 margin: 0 auto 15px auto;
517 overflow-x: auto;
518 }
519 .page_body {
520 overflow-x: auto;
521 line-height: 1.4em;
522 width: 94%;
523 background: #fafeff;
524 border: 1px solid #d3dfe3;
525 padding: 5px;
526 margin: 15px auto 15px auto;
527 }
528 .page_body:has(table.tree) {
529 background-color: #eef9ff;
530 }
531 .diff_tree {
532 width: 95%;
533 background: #f0f0f0;
534 border: 1px solid #d8d8d8;
535 padding: 5px;
536 margin: 0 auto 15px auto;
537 }
538 .page_body > .list_head {
539 width: 98.5%;
540 }
541 .page_body > .diff_tree {
542 width: 99.5%;
543 }
544 .patch > .header {
545 width: 99%;
546 }
547 .object_header td,
548 .object_header th {
549 vertical-align: top;
550 }
551 /* Refs */
552 span.refs span {
553 color: #707070;
554 display: inline-block;
555 margin: 0;
556 background-color: #eee;
557 border: 1px solid #ccc;
558 border-radius: 3px;
559 height: 18px;
560 padding: 0 6px;
561 text-overflow: ellipsis;
562 }
563 span.refs span.ref {
564 color: #707070;
565 display: inline-block;
566 vertical-align: top;
567 margin: 0;
568 background-color: #feedc9;
569 border: 1px solid #fdd33c;
570 border-radius: 3px;
571 height: 18px;
572 padding: 0 0;
573 text-overflow: ellipsis;
574 background-image: url(data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22256%22%20height%3D%22256%22%20fill%3D%22%237878ff%22%20stroke%3D%22%237878ff%22%20stroke-width%3D%220%22%20aria-hidden%3D%22true%22%20transform%3D%22rotate(90)%22%20viewBox%3D%220%200%2014%2014%22%3E%3Cpath%20d%3D%22M10.306%206.143A3.42%203.42%200%200%200%207%203.572a3.42%203.42%200%200%200-3.307%202.57H1v1.715h2.693A3.42%203.42%200%200%200%207%2010.428a3.42%203.42%200%200%200%203.306-2.57H13V6.142zM7%208.714a1.715%201.715%200%200%201%200-3.428%201.715%201.715%200%200%201%200%203.428z%22%2F%3E%3C%2Fsvg%3E);
575 background-repeat: no-repeat;
576 padding-left: 18px;
577 }
578 span.refs span.tag {
579 color: #707070;
580 display: inline-block;
581 vertical-align: top;
582 margin: 0;
583 background-color: #fff7dd;
584 border: 1px solid #fdd33c;
585 border-radius: 3px;
586 height: 18px;
587 padding: 0 0;
588 text-overflow: ellipsis;
589 background-image: url(data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%3E%3Cpath%20d%3D%22M5.5%2C7A1.5%2C1.5%200%200%2C1%204%2C5.5A1.5%2C1.5%200%200%2C1%205.5%2C4A1.5%2C1.5%200%200%2C1%207%2C5.5A1.5%2C1.5%200%200%2C1%205.5%2C7M21.41%2C11.58L12.41%2C2.58C12.05%2C2.22%2011.55%2C2%2011%2C2H4C2.89%2C2%202%2C2.89%202%2C4V11C2%2C11.55%202.22%2C12.05%202.59%2C12.41L11.58%2C21.41C11.95%2C21.77%2012.45%2C22%2013%2C22C13.55%2C22%2014.05%2C21.77%2014.41%2C21.41L21.41%2C14.41C21.78%2C14.05%2022%2C13.55%2022%2C13C22%2C12.44%2021.77%2C11.94%2021.41%2C11.58Z%22%20fill%3D%22%23fdd33c%22%20%2F%3E%3C%2Fsvg%3E);
590 background-repeat: no-repeat;
591 padding-left: 18px;
592 }
593 span.refs span.head {
594 color: #707070;
595 display: inline-block;
596 vertical-align: top;
597 margin: 0;
598 background-color: #dfffdf;
599 border: 1px solid #78ff78;
600 border-radius: 3px;
601 height: 18px;
602 padding: 0 2px;
603 text-overflow: ellipsis;
604 background-image: url("/static/svg/head.svg");
605 background-repeat: no-repeat;
606 padding-left: 18px;
607 }
608 span.refs a {
609 color: #4e4e4e;
610 background-color: transparent;
611 text-decoration: none;
612 font: 11px "Bitstream Vera Sans Mono", "DejaVu Sans Mono", Monaco, monospace;
613 line-height: 18px;
614 }
615 /* Diffs */
616 div.diff.to_file a.path,
617 div.diff.to_file {
618 color: #007000;
619 }
620 div.diff.from_file a.path,
621 div.diff.from_file {
622 color: #aa0000;
623 }
624 div.diff.to_file a.path:focus-visible,
625 div.diff.to_file a.path:hover {
626 color: #00e209;
627 }
628 div.diff.from_file a.path:focus-visible,
629 div.diff.from_file a.path:hover {
630 color: #fc0007;
631 }
632 .patch .header {
633 margin: 0;
634 }
635 .patchset {
636 overflow-x: auto;
637 overflow-y: hidden;
638 }
639 .chunk_header {
640 background: #eaf2f5;
641 color: #999;
642 }
643 .rem,
644 .add {
645 display: inline-block;
646 min-width: 100%;
647 }
648 .rem {
649 background: #ffdddd;
650 }
651 .rem .marked {
652 background: #ffaaaa;
653 }
654 .add {
655 background: #ddffdd;
656 }
657 .add .marked {
658 background: #7dff7d;
659 }
660 .extended_header {
661 width: 99.5%;
662 }
663 div.chunk_block {
664 overflow: hidden;
665 }
666 div.chunk_block div.old {
667 float: left;
668 width: 50%;
669 overflow: hidden;
670 border-right: 5px solid #EAF2F5;
671 }
672 div.chunk_block.rem,
673 div.chunk_block.add {
674 background: transparent;
675 }
676 div.chunk_block div.old .add,
677 div.chunk_block div.old .rem {
678 padding-right: 3px;
679 }
680 div.chunk_block div.new .add,
681 div.chunk_block div.new .rem {
682 padding-left: 3px;
683 }
684 div.chunk_block div.new {
685 margin-left: 50%;
686 width: 50%;
687 border-left: 5px solid #eaf2f5;
688 }
689 /* Category */
690 td.category {
691 background: #e6f1f6;
692 font-weight: bold;
693 border-bottom: 1px solid #d1d1d1;
694 border-top: 1px solid #d1d1d1;
695 }
696 /* Age */
697 /* noage: "No commits" */
698 .project_list td.noage {
699 color: #cdcdcd;
700 }
701 /* age2: 60*60*24*2 <= age */
702 .project_list td.age2,
703 .blame td.age2 {
704 color: #545454;
705 }
706 /* age1: 60*60*2 <= age < 60*60*24*2 */
707 .project_list td.age1 {
708 color: #009900;
709 }
710 /* age0: age < 60*60*2 */
711 .project_list td.age0 {
712 color: #009900;
713 font-weight: bold;
714 }
715 /* File status */
716 .diff_tree span.file_status.new {
717 color: #008000;
718 }
719 table.diff_tree span.file_status.deleted {
720 color: #c00000;
721 }
722 table.diff_tree span.file_status.moved,
723 table.diff_tree span.file_status.mode_chnge {
724 color: #545454;
725 }
726 table.diff_tree span.file_status.copied {
727 color: #70a070;
728 }
729 span.cntrl {
730 border: dashed #aaaaaa;
731 border-width: 1px;
732 padding: 0px 2px 0px 2px;
733 margin: 0px 2px 0px 2px;
734 }
735 span.match {
736 background: #fdd33c;
737 color: #111;
738 }
739 td.error {
740 color: red;
741 background: yellow;
742 }
743 /* blob view */
744 .page_body img.blob {
745 image-rendering: pixelated;
746 min-width: 80%;
747 display: block;
748 margin: 0 auto;
749 }
750 td.pre,
751 div.pre,
752 div.diff {
753 white-space: pre;
754 }
755 /* JavaScript-based timezone manipulation */
756 .popup { /* timezone selection UI */
757 position: absolute;
758 /* "top: 0; right: 0;" would be better, if not for bugs in browsers */
759 top: 0;
760 left: 0;
761 border: 1px solid #d8d8d8;
762 padding: 2px;
763 background-color: #f0f0f0;
764 font-style: normal;
765 color: #545454;
766 cursor: auto;
767 }
768 .close-button { /* close timezone selection UI without selecting */
769 /* float doesn't work within absolutely positioned container,
770 * if width of container is not set explicitly */
771 /* float: right; */
772 position: absolute;
773 top: 0px;
774 right: 0px;
775 border: 1px solid #ffaaaa;
776 margin: 1px 1px 1px 1px;
777 padding-bottom: 2px;
778 width: 12px;
779 height: 10px;
780 font-size: 9px;
781 font-weight: bold;
782 text-align: center;
783 background-color: #ffdddd;
784 cursor: pointer;
785 }
786 /* Style definition generated by highlight 2.4.5, http://www.andre-simon.de/ */
787 /* Highlighting theme definition: */
788 .num {
789 color:#6ecf36;
790 }
791 .esc {
792 color:#ff00ff;
793 }
794 .str {
795 color:#ff00d3;
796 background-color: #edc9ec
797 }
798 .dstr {
799 color:#818100;
800 }
801 .slc {
802 color:#838183;
803 font-style:italic;
804 }
805 .com {
806 color:#838183;
807 font-style:italic;
808 }
809 .dir {
810 color:#008200;
811 }
812 .sym {
813 color:#000000;
814 }
815 .line {
816 color:#555555;
817 }
818 .kwa {
819 color:#666666;
820 font-weight:bold;
821 }
822 .ppc,
823 .kwb {
824 color:#6b3099;
825 }
826 .kwc {
827 color:#d4663d;
828 }
829 .sng,
830 .kwd {
831 color:#2928ff;
832 }