UNPKG

24.1 kBCSSView Raw
1/*!
2 * Pico.css v1.0.5 (https://picocss.com)
3 * Copyright 2020 - Licensed under MIT
4 */
5/**
6 * Theme: default
7 */
8[data-theme="light"],
9:root:not([data-theme="dark"]) {
10 --background: #FFF;
11 --text: #415462;
12 --h1: #1b2832;
13 --h2: #2c3d49;
14 --h3: #415462;
15 --h4: #596b78;
16 --h5: #73828c;
17 --h6: #8a99a3;
18 --primary: #1095c1;
19 --primary-hover: #08769b;
20 --primary-focus: rgba(16, 149, 193, 0.125);
21 --primary-inverse: #FFF;
22 --secondary: #73828c;
23 --secondary-hover: #415462;
24 --secondary-focus: rgba(115, 130, 140, 0.125);
25 --secondary-inverse: #FFF;
26 --contrast: #2c3d49;
27 --contrast-hover: #0d1419;
28 --contrast-focus: rgba(115, 130, 140, 0.125);
29 --contrast-border: rgba(255, 223, 128, 0.5);
30 --contrast-border-h: #ffdf80;
31 --contrast-inverse: #FFF;
32 --input-background: #FFF;
33 --input-border: #c8d1d8;
34 --valid: #288a6a;
35 --invalid: #b94646;
36 --mark: rgba(255, 223, 128, 0.5);
37 --mark-text: #2c3d49;
38 --muted-text: #7e8d98;
39 --muted-background: #edf0f3;
40 --muted-border: #edf0f3;
41 --card-background: #FFF;
42 --card-sections: #f3f5f7;
43 --card-shadow: 0 0.125rem 1rem rgba(27, 40, 50, 0.04), 0 0.125rem 2rem rgba(27, 40, 50, 0.08), 0 0 0 0.0625rem rgba(27, 40, 50, 0.024);
44 --code-background: #f3f5f7;
45 --code-inlined: #edf0f3;
46 --code-color-1: #73828c;
47 --code-color-2: #b34d80;
48 --code-color-3: #3d888f;
49 --code-color-4: #998866;
50 --code-color-5: #96a4ae;
51 --table-border: rgba(237, 240, 243, 0.75);
52 --table-stripping: rgba(115, 130, 140, 0.04);
53}
54
55@media only screen and (prefers-color-scheme: dark) {
56 :root:not([data-theme="light"]) {
57 --background: #10181e;
58 --text: #a2afb9;
59 --h1: #edf0f3;
60 --h2: #d5dce2;
61 --h3: #bbc6ce;
62 --h4: #a2afb9;
63 --h5: #8a99a3;
64 --h6: #73828c;
65 --primary: #1095c1;
66 --primary-hover: #1ab3e6;
67 --primary-focus: rgba(16, 149, 193, 0.25);
68 --primary-inverse: #FFF;
69 --secondary: #596b78;
70 --secondary-hover: #73828c;
71 --secondary-focus: rgba(89, 107, 120, 0.25);
72 --secondary-inverse: #FFF;
73 --contrast: #d5dce2;
74 --contrast-hover: #FFF;
75 --contrast-focus: rgba(89, 107, 120, 0.25);
76 --contrast-border: rgba(255, 223, 128, 0.33);
77 --contrast-border-h: rgba(255, 223, 128, 0.5);
78 --contrast-inverse: #10181e;
79 --input-background: #10181e;
80 --input-border: #374956;
81 --valid: #1f7a5c;
82 --invalid: #943838;
83 --mark: rgba(255, 223, 128, 0.5);
84 --mark-text: #FFF;
85 --muted-text: #73828c;
86 --muted-background: #10181e;
87 --muted-border: #23333e;
88 --card-background: #17232b;
89 --card-sections: #141d24;
90 --card-shadow: 0 0.125rem 1rem rgba(0, 0, 0, 0.08), 0 0.125rem 2rem rgba(0, 0, 0, 0.04), 0 0 0 0.0625rem rgba(0, 0, 0, 0.1);
91 --code-background: #141d24;
92 --code-inlined: rgba(65, 84, 98, 0.25);
93 --code-color-1: #73828c;
94 --code-color-2: #a65980;
95 --code-color-3: #599fa6;
96 --code-color-4: #8c8473;
97 --code-color-5: #4d606d;
98 --table-border: #10181e;
99 --table-stripping: rgba(115, 130, 140, 0.02);
100 }
101}
102
103[data-theme="dark"] {
104 --background: #10181e;
105 --text: #a2afb9;
106 --h1: #edf0f3;
107 --h2: #d5dce2;
108 --h3: #bbc6ce;
109 --h4: #a2afb9;
110 --h5: #8a99a3;
111 --h6: #73828c;
112 --primary: #1095c1;
113 --primary-hover: #1ab3e6;
114 --primary-focus: rgba(16, 149, 193, 0.25);
115 --primary-inverse: #FFF;
116 --secondary: #596b78;
117 --secondary-hover: #73828c;
118 --secondary-focus: rgba(89, 107, 120, 0.25);
119 --secondary-inverse: #FFF;
120 --contrast: #d5dce2;
121 --contrast-hover: #FFF;
122 --contrast-focus: rgba(89, 107, 120, 0.25);
123 --contrast-border: rgba(255, 223, 128, 0.33);
124 --contrast-inverse: #10181e;
125 --input-background: #10181e;
126 --input-border: #374956;
127 --valid: #1f7a5c;
128 --invalid: #943838;
129 --mark: rgba(255, 223, 128, 0.5);
130 --mark-text: #FFF;
131 --muted-text: #73828c;
132 --muted-background: #10181e;
133 --muted-border: #23333e;
134 --card-background: #17232b;
135 --card-sections: #141d24;
136 --card-shadow: 0 0.125rem 1rem rgba(0, 0, 0, 0.08), 0 0.125rem 2rem rgba(0, 0, 0, 0.04), 0 0 0 0.0625rem rgba(0, 0, 0, 0.1);
137 --code-background: #141d24;
138 --code-inlined: rgba(65, 84, 98, 0.25);
139 --code-color-1: #73828c;
140 --code-color-2: #a65980;
141 --code-color-3: #599fa6;
142 --code-color-4: #8c8473;
143 --code-color-5: #4d606d;
144 --table-border: #10181e;
145 --table-stripping: rgba(115, 130, 140, 0.02);
146}
147
148/**
149 * Document
150 * Content-box & Responsive typography
151 */
152*,
153*::before,
154*::after {
155 box-sizing: border-box;
156}
157
158html {
159 -webkit-text-size-adjust: 100%;
160 -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
161 background: var(--background);
162 color: var(--text);
163 font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
164 font-size: 16px;
165 font-weight: 400;
166 line-height: 1.5;
167 text-rendering: optimizeLegibility;
168}
169
170@media (min-width: 576px) {
171 html {
172 font-size: 17px;
173 }
174}
175
176@media (min-width: 768px) {
177 html {
178 font-size: 18px;
179 }
180}
181
182@media (min-width: 992px) {
183 html {
184 font-size: 19px;
185 }
186}
187
188@media (min-width: 1200px) {
189 html {
190 font-size: 20px;
191 }
192}
193
194/**
195 * Sectioning
196 * Container and responsive spacings for header, main, footer
197 */
198main {
199 display: block;
200}
201
202body {
203 width: 100%;
204 margin: 0;
205}
206
207body > header,
208body > main,
209body > footer {
210 width: 100%;
211 margin-right: auto;
212 margin-left: auto;
213 padding: 2rem 1rem;
214}
215
216@media (min-width: 576px) {
217 body > header,
218 body > main,
219 body > footer {
220 max-width: 510px;
221 padding: 2.5rem 0;
222 }
223}
224
225@media (min-width: 768px) {
226 body > header,
227 body > main,
228 body > footer {
229 max-width: 700px;
230 padding: 3rem 0;
231 }
232}
233
234@media (min-width: 992px) {
235 body > header,
236 body > main,
237 body > footer {
238 max-width: 920px;
239 padding: 3.5rem 0;
240 }
241}
242
243@media (min-width: 1200px) {
244 body > header,
245 body > main,
246 body > footer {
247 max-width: 1130px;
248 padding: 4rem 0;
249 }
250}
251
252/**
253 * Section
254 * Responsive spacings for section
255 */
256section {
257 margin-bottom: 4rem;
258}
259
260@media (min-width: 576px) {
261 section {
262 margin-bottom: 5rem;
263 }
264}
265
266@media (min-width: 768px) {
267 section {
268 margin-bottom: 6rem;
269 }
270}
271
272@media (min-width: 992px) {
273 section {
274 margin-bottom: 7rem;
275 }
276}
277
278@media (min-width: 1200px) {
279 section {
280 margin-bottom: 8rem;
281 }
282}
283
284/**
285 * Horizontal scroller (<figure>)
286 */
287figure {
288 display: block;
289 margin: 0;
290 padding: 0;
291 overflow-x: auto;
292}
293
294figure figcaption {
295 padding: 0.5rem 0;
296 color: var(--muted-text);
297}
298
299/**
300 * Typography
301 */
302b,
303strong {
304 font-weight: bolder;
305}
306
307sub,
308sup {
309 position: relative;
310 font-size: .75rem;
311 line-height: 0;
312 vertical-align: baseline;
313}
314
315sub {
316 bottom: -0.25rem;
317}
318
319sup {
320 top: -0.5rem;
321}
322
323img {
324 max-width: 100%;
325 height: auto;
326 border-style: none;
327}
328
329svg,
330img {
331 vertical-align: text-bottom;
332}
333
334address,
335blockquote,
336dl,
337figure,
338form,
339ol,
340p,
341pre,
342table,
343ul {
344 margin-top: 0;
345 margin-bottom: 1.5rem;
346 color: var(--text);
347 font-size: 1rem;
348 font-style: normal;
349}
350
351a {
352 background-color: transparent;
353 color: var(--primary);
354 text-decoration: none;
355 transition: background-color 0.2s ease-in-out, color 0.2s ease-in-out, text-decoration 0.2s ease-in-out, box-shadow 0.2s ease-in-out;
356}
357
358a:hover, a:active, a:focus {
359 color: var(--primary-hover);
360 text-decoration: underline;
361}
362
363a:focus {
364 outline: none;
365 background-color: var(--primary-focus);
366}
367
368h1,
369h2,
370h3,
371h4,
372h5,
373h6 {
374 margin-top: 0;
375 margin-bottom: 1.5rem;
376 font-weight: 700;
377}
378
379h1 {
380 margin-bottom: 3rem;
381 color: var(--h1);
382 font-size: 2rem;
383}
384
385h2 {
386 margin-bottom: 2.625rem;
387 color: var(--h2);
388 font-size: 1.75rem;
389}
390
391h3 {
392 margin-bottom: 2.25rem;
393 color: var(--h3);
394 font-size: 1.5rem;
395}
396
397h4 {
398 margin-bottom: 1.875rem;
399 color: var(--h4);
400 font-size: 1.25rem;
401}
402
403h5 {
404 margin-bottom: 1.6875rem;
405 color: var(--h5);
406 font-size: 1.125rem;
407}
408
409h6 {
410 color: var(--h6);
411 font-size: 1rem;
412}
413
414hgroup {
415 margin-bottom: 1.5rem;
416}
417
418hgroup * {
419 margin-bottom: 0;
420}
421
422hgroup > *:last-child {
423 color: var(--muted-text);
424 font-size: 1.125rem;
425 font-weight: normal;
426}
427
428p {
429 margin-bottom: 0.75rem;
430}
431
432small {
433 font-size: 85%;
434}
435
436@media (min-width: 576px) {
437 small {
438 font-size: 83%;
439 }
440}
441
442@media (min-width: 768px) {
443 small {
444 font-size: 81%;
445 }
446}
447
448@media (min-width: 992px) {
449 small {
450 font-size: 79%;
451 }
452}
453
454@media (min-width: 1200px) {
455 small {
456 font-size: 77%;
457 }
458}
459
460ul,
461ol {
462 padding-left: 1.5rem;
463}
464
465ul li,
466ol li {
467 margin-bottom: 0.75rem;
468}
469
470ul li {
471 list-style: square;
472}
473
474mark {
475 padding: .125rem .25rem;
476 background: var(--mark);
477 color: var(--mark-text);
478 vertical-align: middle;
479}
480
481blockquote {
482 display: block;
483 margin: 3rem 0;
484 padding: 1rem;
485 border-left: 0.25rem solid var(--muted-border);
486}
487
488blockquote footer {
489 margin-top: 0.75rem;
490 color: var(--muted-text);
491}
492
493abbr[title] {
494 border-bottom: 1px dotted;
495 text-decoration: none;
496 cursor: help;
497}
498
499ins {
500 color: var(--valid);
501 text-decoration: none;
502}
503
504del {
505 color: var(--invalid);
506}
507
508::selection {
509 background-color: var(--primary-focus);
510}
511
512/**
513 * Form elements
514 */
515input,
516optgroup,
517select,
518textarea {
519 margin: 0;
520 font-family: inherit;
521 font-size: 1rem;
522 line-height: 1.5;
523}
524
525input {
526 overflow: visible;
527}
528
529select {
530 text-transform: none;
531}
532
533legend {
534 display: table;
535 max-width: 100%;
536 padding: 0;
537 color: inherit;
538 white-space: normal;
539}
540
541textarea {
542 overflow: auto;
543}
544
545[type="checkbox"],
546[type="radio"] {
547 padding: 0;
548}
549
550[type="number"]::-webkit-inner-spin-button {
551 height: auto;
552}
553
554[type="search"] {
555 -webkit-appearance: textfield;
556 outline-offset: -2px;
557}
558
559[type="search"]::-webkit-search-decoration {
560 -webkit-appearance: none;
561}
562
563::-webkit-file-upload-button {
564 -webkit-appearance: button;
565 font: inherit;
566}
567
568fieldset {
569 margin: 0;
570 margin-bottom: 1.5rem;
571 padding: 0;
572 border: 0;
573}
574
575input:not([type="checkbox"]):not([type="radio"]),
576select,
577textarea,
578form small {
579 display: block;
580 width: 100%;
581}
582
583label,
584fieldset legend {
585 display: block;
586 margin-bottom: 0.125rem;
587 vertical-align: middle;
588}
589
590input,
591select,
592textarea {
593 -webkit-appearance: none;
594 -moz-appearance: none;
595 appearance: none;
596 border: 1px solid var(--input-border);
597 border-radius: 0.25rem;
598 outline: none;
599 background-color: var(--input-background);
600 color: var(--text);
601 font-weight: normal;
602 vertical-align: middle;
603 transition: background-color 0.2s ease-in-out, border-color 0.2s ease-in-out, color 0.2s ease-in-out, border-color 0.2s ease-in-out, box-shadow 0.2s ease-in-out;
604}
605
606input::placeholder,
607select::placeholder,
608textarea::placeholder {
609 color: var(--muted-text);
610 opacity: 1;
611}
612
613input:active, input:focus,
614select:active,
615select:focus,
616textarea:active,
617textarea:focus {
618 border-color: var(--primary);
619}
620
621input:focus,
622select:focus,
623textarea:focus {
624 box-shadow: 0 0 0 0.2rem var(--primary-focus);
625}
626
627input[readonly], input[disabled],
628select[readonly],
629select[disabled],
630textarea[readonly],
631textarea[disabled] {
632 border-color: var(--muted-border);
633 box-shadow: none;
634}
635
636input[readonly] ~ label, input[disabled] ~ label,
637select[readonly] ~ label,
638select[disabled] ~ label,
639textarea[readonly] ~ label,
640textarea[disabled] ~ label {
641 color: var(--muted-text);
642}
643
644input[disabled],
645select[disabled],
646textarea[disabled] {
647 background-color: var(--muted-background);
648 opacity: .5;
649}
650
651input:not([type="checkbox"]):not([type="radio"]),
652select,
653textarea {
654 margin-bottom: 1.5rem;
655 padding: 0.75rem 1rem;
656}
657
658input[type="color"] {
659 height: calc(3rem + 2px);
660}
661
662select::-ms-expand {
663 border: 0;
664 background-color: transparent;
665}
666
667select:not([multiple]) {
668 background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23808080' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");
669 background-position: center right .75rem;
670 background-repeat: no-repeat;
671 background-size: 1rem auto;
672}
673
674form small {
675 color: var(--muted-text);
676}
677
678input + small,
679select + small,
680textarea + small {
681 margin-top: -1rem;
682 margin-bottom: 1.5rem;
683}
684
685label > input:not([type="checkbox"]):not([type="radio"]),
686label > select,
687label > textarea {
688 margin-top: 0.125rem;
689}
690
691/**
692 * Form elements
693 */
694[type="checkbox"],
695[type="radio"] {
696 display: inline-block;
697 width: 1em;
698 height: 1em;
699 margin-right: .375rem;
700 margin-bottom: 0.125rem;
701 border-width: 2px;
702 font-size: 1.125rem;
703 vertical-align: middle;
704 cursor: pointer;
705 transition: none;
706}
707
708[type="checkbox"]::-ms-check,
709[type="radio"]::-ms-check {
710 display: none;
711}
712
713[type="checkbox"]:checked,
714[type="radio"]:checked {
715 border-color: var(--primary);
716 background-color: var(--primary);
717 background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23FFF' stroke-width='5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'%3E%3C/polyline%3E%3C/svg%3E");
718 background-position: center;
719 background-repeat: no-repeat;
720 background-size: .66rem auto;
721}
722
723[type="checkbox"] ~ label,
724[type="radio"] ~ label {
725 display: inline-block;
726 margin-right: .375rem;
727 margin-bottom: 0;
728 cursor: pointer;
729}
730
731[type="radio"] {
732 border-radius: 50%;
733}
734
735[type="radio"]:checked {
736 border-width: .33rem;
737 border-color: var(--primary);
738 background-color: var(--primary-inverse);
739 background-image: none;
740}
741
742[type="checkbox"][role="switch"] {
743 width: 1.85em;
744 height: 1em;
745 border: 2px solid var(--input-border);
746 border-radius: 1em;
747 background-color: var(--input-border);
748 line-height: 1em;
749}
750
751[type="checkbox"][role="switch"]:before {
752 display: block;
753 width: calc(1em - 4px);
754 height: 100%;
755 border-radius: 50%;
756 background-color: var(--primary-inverse);
757 content: '';
758 transition: margin 0.1s ease-in-out;
759}
760
761[type="checkbox"][role="switch"]:checked {
762 border-color: var(--primary);
763 background-color: var(--primary);
764 background-image: none;
765}
766
767[type="checkbox"][role="switch"]:checked::before {
768 margin-right: 0;
769 margin-left: calc(0.925em - 2px);
770}
771
772/**
773 * Button
774 */
775button {
776 margin: 0;
777 overflow: visible;
778 font-family: inherit;
779 text-transform: none;
780}
781
782button,
783[type="button"],
784[type="reset"],
785[type="submit"] {
786 -webkit-appearance: button;
787}
788
789button::-moz-focus-inner,
790[type="button"]::-moz-focus-inner,
791[type="reset"]::-moz-focus-inner,
792[type="submit"]::-moz-focus-inner {
793 padding: 0;
794 border-style: none;
795}
796
797button {
798 display: block;
799 width: 100%;
800 margin-bottom: 1.5rem;
801}
802
803a[role="button"] {
804 display: inline-block;
805 text-decoration: none;
806}
807
808button,
809input[type="submit"],
810a[role="button"] {
811 border: 1px solid transparent;
812 padding: 0.75rem 1rem;
813 border-radius: 0.25rem;
814 outline: none;
815 background-color: var(--primary);
816 color: var(--primary-inverse);
817 font-size: 1rem;
818 font-weight: normal;
819 line-height: 1.5;
820 text-align: center;
821 cursor: pointer;
822 transition: background-color 0.2s ease-in-out, color 0.2s ease-in-out, box-shadow 0.2s ease-in-out;
823}
824
825button:hover, button:active, button:focus,
826input[type="submit"]:hover,
827input[type="submit"]:active,
828input[type="submit"]:focus,
829a[role="button"]:hover,
830a[role="button"]:active,
831a[role="button"]:focus {
832 background-color: var(--primary-hover);
833}
834
835button:focus,
836input[type="submit"]:focus,
837a[role="button"]:focus {
838 box-shadow: 0 0 0 0.2rem var(--primary-focus);
839}
840
841input[type="reset"] {
842 cursor: pointer;
843}
844
845button[disabled],
846input[type="submit"][disabled],
847input[type="reset"][disabled],
848a[role="button"][disabled] {
849 opacity: .5;
850 pointer-events: none;
851}
852
853/**
854 * Table
855 */
856table {
857 width: 100%;
858 border-spacing: 0;
859}
860
861th,
862td {
863 padding: 0.5rem 1rem;
864 border-bottom: 1px solid var(--table-border);
865 color: var(--muted-text);
866 font-weight: 400;
867 text-align: left;
868 font-size: 0.875rem;
869}
870
871th,
872thead td {
873 color: var(--text);
874 font-size: 1rem;
875}
876
877thead th,
878thead td {
879 border-bottom: 3px solid var(--table-border);
880}
881
882tbody tr:nth-child(odd) {
883 background-color: var(--table-stripping);
884}
885
886/**
887 * Code
888 */
889pre,
890code,
891kbd,
892samp {
893 font-family: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
894 font-size: 1rem;
895}
896
897pre,
898code,
899kbd {
900 background: var(--code-inlined);
901 color: var(--code-color-1);
902 font-size: 85%;
903 font-weight: 400;
904 line-height: 1;
905}
906
907@media (min-width: 576px) {
908 pre,
909 code,
910 kbd {
911 font-size: 83%;
912 }
913}
914
915@media (min-width: 768px) {
916 pre,
917 code,
918 kbd {
919 font-size: 81%;
920 }
921}
922
923@media (min-width: 992px) {
924 pre,
925 code,
926 kbd {
927 font-size: 79%;
928 }
929}
930
931@media (min-width: 1200px) {
932 pre,
933 code,
934 kbd {
935 font-size: 77%;
936 }
937}
938
939code,
940kbd {
941 display: inline-block;
942 padding: .375rem .5rem;
943 border-radius: 0.25rem;
944}
945
946pre {
947 display: block;
948 margin-bottom: 2rem;
949 padding: 2rem 1rem;
950 overflow-x: auto;
951 background: var(--code-background);
952}
953
954pre > code {
955 display: block;
956 padding: 0;
957 background: transparent;
958 font-size: 14px;
959 line-height: 1.5;
960}
961
962code b {
963 color: var(--code-color-2);
964 font-weight: normal;
965}
966
967code i {
968 color: var(--code-color-3);
969 font-style: normal;
970}
971
972code u {
973 color: var(--code-color-4);
974 text-decoration: none;
975}
976
977code em {
978 color: var(--code-color-5);
979 font-style: normal;
980}
981
982kbd {
983 background-color: var(--secondary);
984 color: var(--secondary-inverse);
985 font-weight: bolder;
986}
987
988/**
989 * Miscs
990 */
991hr {
992 box-sizing: content-box;
993 height: 0;
994 overflow: visible;
995 border: none;
996 border-top: 1px solid var(--muted-border);
997}
998
999progress {
1000 vertical-align: baseline;
1001}
1002
1003[hidden],
1004template {
1005 display: none;
1006}
1007
1008/**
1009 * Accordion (<details>)
1010 * Inspiration: https://codepen.io/koca/pen/RyeLLV
1011 */
1012details {
1013 display: block;
1014 margin-bottom: 1.5rem;
1015 padding-bottom: 0.75rem;
1016 border-bottom: 1px solid var(--muted-border);
1017}
1018
1019details summary {
1020 list-style-type: none;
1021 cursor: pointer;
1022 line-height: 1rem;
1023}
1024
1025details summary::-webkit-details-marker {
1026 display: none;
1027}
1028
1029details summary::marker {
1030 display: none;
1031}
1032
1033details summary::-moz-list-bullet {
1034 list-style-type: none;
1035}
1036
1037details summary::after {
1038 display: inline-block;
1039 width: 1rem;
1040 height: 1rem;
1041 float: right;
1042 transform: rotate(-90deg);
1043 background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23808080' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");
1044 background-position: center;
1045 background-repeat: no-repeat;
1046 background-size: 1rem auto;
1047 content: '';
1048}
1049
1050details summary:focus {
1051 outline: none;
1052}
1053
1054details summary ~ * {
1055 margin-top: 0.75rem;
1056}
1057
1058details summary ~ * ~ * {
1059 margin-top: 0;
1060}
1061
1062details[open] summary {
1063 margin-bottom: 0.375rem;
1064 color: var(--muted-text);
1065}
1066
1067details[open] summary::after {
1068 transform: rotate(0);
1069}
1070
1071/**
1072 * Card (<article>)
1073 */
1074article {
1075 margin: 2rem 0;
1076 padding: 2rem 1rem;
1077 overflow: hidden;
1078 border-radius: 0.25rem;
1079 background: var(--card-background);
1080 box-shadow: var(--card-shadow);
1081}
1082
1083@media (min-width: 576px) {
1084 article {
1085 margin: 2.5rem 0;
1086 padding: 2.5rem;
1087 }
1088}
1089
1090@media (min-width: 768px) {
1091 article {
1092 margin: 3rem 0;
1093 padding: 3rem;
1094 }
1095}
1096
1097@media (min-width: 992px) {
1098 article {
1099 margin: 3.5rem 0;
1100 padding: 3.5rem;
1101 }
1102}
1103
1104@media (min-width: 1200px) {
1105 article {
1106 margin: 4rem 0;
1107 padding: 4rem;
1108 }
1109}
1110
1111article > *:not(header):not(footer):not(pre):last-child {
1112 margin-bottom: 0;
1113}
1114
1115/**
1116 * Card sectionning (<article> > header, footer, pre)
1117 */
1118article > header,
1119article > footer {
1120 background-color: var(--card-sections);
1121}
1122
1123article > header,
1124article > footer,
1125article > pre {
1126 margin: -1rem;
1127 padding: 2rem 1rem;
1128}
1129
1130@media (min-width: 576px) {
1131 article > header,
1132 article > footer,
1133 article > pre {
1134 margin: -2.5rem;
1135 padding: 2rem 2.5rem;
1136 }
1137}
1138
1139@media (min-width: 768px) {
1140 article > header,
1141 article > footer,
1142 article > pre {
1143 margin: -3rem;
1144 padding: 2rem 3rem;
1145 }
1146}
1147
1148@media (min-width: 992px) {
1149 article > header,
1150 article > footer,
1151 article > pre {
1152 margin: -3.5rem;
1153 padding: 2rem 3.5rem;
1154 }
1155}
1156
1157@media (min-width: 1200px) {
1158 article > header,
1159 article > footer,
1160 article > pre {
1161 margin: -4rem;
1162 padding: 2rem 4rem;
1163 }
1164}
1165
1166article > header {
1167 margin-top: -2rem;
1168 margin-bottom: 2rem;
1169}
1170
1171@media (min-width: 576px) {
1172 article > header {
1173 margin-top: -2.5rem;
1174 margin-bottom: 2.5rem;
1175 }
1176}
1177
1178@media (min-width: 768px) {
1179 article > header {
1180 margin-top: -3rem;
1181 margin-bottom: 3rem;
1182 }
1183}
1184
1185@media (min-width: 992px) {
1186 article > header {
1187 margin-top: -3.5rem;
1188 margin-bottom: 3.5rem;
1189 }
1190}
1191
1192@media (min-width: 1200px) {
1193 article > header {
1194 margin-top: -4rem;
1195 margin-bottom: 4rem;
1196 }
1197}
1198
1199article > footer,
1200article > pre {
1201 margin-top: 2rem;
1202 margin-bottom: -2rem;
1203}
1204
1205@media (min-width: 576px) {
1206 article > footer,
1207 article > pre {
1208 margin-top: 2.5rem;
1209 margin-bottom: -2.5rem;
1210 }
1211}
1212
1213@media (min-width: 768px) {
1214 article > footer,
1215 article > pre {
1216 margin-top: 3rem;
1217 margin-bottom: -3rem;
1218 }
1219}
1220
1221@media (min-width: 992px) {
1222 article > footer,
1223 article > pre {
1224 margin-top: 3.5rem;
1225 margin-bottom: -3.5rem;
1226 }
1227}
1228
1229@media (min-width: 1200px) {
1230 article > footer,
1231 article > pre {
1232 margin-top: 4rem;
1233 margin-bottom: -4rem;
1234 }
1235}
1236
1237/**
1238 * Nav
1239 */
1240nav,
1241nav ul {
1242 display: flex;
1243}
1244
1245nav {
1246 justify-content: space-between;
1247}
1248
1249nav ul {
1250 align-items: center;
1251 margin-bottom: 0;
1252 padding: 0;
1253 list-style: none;
1254}
1255
1256nav ul:first-of-type {
1257 margin-left: -0.5rem;
1258}
1259
1260nav ul:last-of-type {
1261 margin-right: -0.5rem;
1262}
1263
1264nav li {
1265 display: inline-block;
1266 margin: 0;
1267 padding: 1rem 0.5rem;
1268}
1269
1270nav li > *,
1271nav li > input:not([type="checkbox"]):not([type="radio"]) {
1272 margin-bottom: 0;
1273}
1274
1275nav a {
1276 display: block;
1277 margin: -1rem -0.5rem;
1278 padding: 1rem 0.5rem;
1279 border-radius: 0.25rem;
1280}
1281
1282nav a:hover, nav a:active, nav a:focus {
1283 text-decoration: none;
1284}
1285
1286aside nav,
1287aside ul,
1288aside li {
1289 display: block;
1290}
1291
1292aside li {
1293 padding: 0.5rem;
1294}
1295
1296aside li a {
1297 margin: -0.5rem;
1298 padding: 0.5rem;
1299}
1300
1301/**
1302 * Tooltip ([data-tooltip])
1303 */
1304[data-tooltip] {
1305 position: relative;
1306}
1307
1308[data-tooltip]:not(a):not(button):not(input) {
1309 border-bottom: 1px dotted;
1310 text-decoration: none;
1311 cursor: help;
1312}
1313
1314[data-tooltip]::before, [data-tooltip]::after {
1315 display: block;
1316 z-index: 99;
1317 position: absolute;
1318 bottom: 100%;
1319 left: 50%;
1320 padding: .25rem .5rem;
1321 overflow: hidden;
1322 transform: translate(-50%, -0.25rem);
1323 border-radius: 0.25rem;
1324 background: var(--contrast);
1325 color: var(--contrast-inverse);
1326 font-size: .85rem;
1327 font-style: normal;
1328 font-weight: normal;
1329 text-decoration: none;
1330 text-overflow: ellipsis;
1331 white-space: nowrap;
1332 content: attr(data-tooltip);
1333 opacity: 0;
1334 pointer-events: none;
1335}
1336
1337[data-tooltip]::after {
1338 padding: 0;
1339 transform: translate(-50%, 0rem);
1340 border-top: .3rem solid;
1341 border-right: .3rem solid transparent;
1342 border-left: .3rem solid transparent;
1343 border-radius: 0;
1344 background-color: transparent;
1345 color: var(--contrast);
1346 content: '';
1347}
1348
1349[data-tooltip]:focus::before, [data-tooltip]:focus::after, [data-tooltip]:hover::before, [data-tooltip]:hover::after {
1350 opacity: 1;
1351}