UNPKG

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