UNPKG

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