UNPKG

53 kBCSSView Raw
1/*!
2 * Pico.css v1.3.3 (https://picocss.com)
3 * Copyright 2019-2021 - Licensed under MIT
4 */
5/**
6 * Theme: default
7 */
8:root {
9 --font-family: 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";
10 --line-height: 1.5;
11 --font-weight: 400;
12 --font-size: 16px;
13 --border-radius: .25rem;
14 --border-width: 1px;
15 --outline-width: 3px;
16 --spacing: 1rem;
17 --typography-spacing-vertical: 1.5rem;
18 --block-spacing-vertical: calc(var(--spacing) * 2);
19 --block-spacing-horizontal: var(--spacing);
20 --grid-spacing-vertical: 0;
21 --grid-spacing-horizontal: var(--spacing);
22 --form-element-spacing-vertical: .75rem;
23 --form-element-spacing-horizontal: 1rem;
24 --transition: .2s ease-in-out;
25}
26
27@media (min-width: 576px) {
28 :root {
29 --font-size: 17px;
30 }
31}
32
33@media (min-width: 768px) {
34 :root {
35 --font-size: 18px;
36 }
37}
38
39@media (min-width: 992px) {
40 :root {
41 --font-size: 19px;
42 }
43}
44
45@media (min-width: 1200px) {
46 :root {
47 --font-size: 20px;
48 }
49}
50
51@media (min-width: 576px) {
52 body > header,
53 body > main,
54 body > footer,
55 section {
56 --block-spacing-vertical: calc(var(--spacing) * 2.5);
57 }
58}
59
60@media (min-width: 768px) {
61 body > header,
62 body > main,
63 body > footer,
64 section {
65 --block-spacing-vertical: calc(var(--spacing) * 3);
66 }
67}
68
69@media (min-width: 992px) {
70 body > header,
71 body > main,
72 body > footer,
73 section {
74 --block-spacing-vertical: calc(var(--spacing) * 3.5);
75 }
76}
77
78@media (min-width: 1200px) {
79 body > header,
80 body > main,
81 body > footer,
82 section {
83 --block-spacing-vertical: calc(var(--spacing) * 4);
84 }
85}
86
87@media (min-width: 576px) {
88 article {
89 --block-spacing-horizontal: calc(var(--spacing) * 1.25);
90 }
91}
92
93@media (min-width: 768px) {
94 article {
95 --block-spacing-horizontal: calc(var(--spacing) * 1.5);
96 }
97}
98
99@media (min-width: 992px) {
100 article {
101 --block-spacing-horizontal: calc(var(--spacing) * 1.75);
102 }
103}
104
105@media (min-width: 1200px) {
106 article {
107 --block-spacing-horizontal: calc(var(--spacing) * 2);
108 }
109}
110
111a {
112 --text-decoration: none;
113}
114
115a.secondary, a.contrast {
116 --text-decoration: underline;
117}
118
119small {
120 --font-size: 0.875em;
121}
122
123h1,
124h2,
125h3,
126h4,
127h5,
128h6 {
129 --font-weight: 700;
130}
131
132h1 {
133 --font-size: 2rem;
134 --typography-spacing-vertical: 3rem;
135}
136
137h2 {
138 --font-size: 1.75rem;
139 --typography-spacing-vertical: 2.625rem;
140}
141
142h3 {
143 --font-size: 1.5rem;
144 --typography-spacing-vertical: 2.25rem;
145}
146
147h4 {
148 --font-size: 1.25rem;
149 --typography-spacing-vertical: 1.874rem;
150}
151
152h5 {
153 --font-size: 1.125rem;
154 --typography-spacing-vertical: 1.6875rem;
155}
156
157[type="checkbox"],
158[type="radio"] {
159 --border-width: 2px;
160}
161
162[type="checkbox"][role="switch"] {
163 --border-width: 3px;
164}
165
166thead th,
167thead td {
168 --border-width: 3px;
169}
170
171:not(thead) > * > td {
172 --font-size: 0.875em;
173}
174
175pre,
176code,
177kbd,
178samp {
179 --font-family: "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";
180}
181
182kbd {
183 --font-weight: bolder;
184}
185
186[data-theme="light"],
187:root:not([data-theme="dark"]) {
188 color-scheme: light;
189 --background-color: #FFF;
190 --color: #415462;
191 --h1-color: #1b2832;
192 --h2-color: #23333e;
193 --h3-color: #2c3d49;
194 --h4-color: #374956;
195 --h5-color: #415462;
196 --h6-color: #4d606d;
197 --muted-color: #73828c;
198 --muted-border-color: #edf0f3;
199 --primary: #1095c1;
200 --primary-hover: #08769b;
201 --primary-focus: rgba(16, 149, 193, 0.125);
202 --primary-inverse: #FFF;
203 --secondary: #596b78;
204 --secondary-hover: #415462;
205 --secondary-focus: rgba(89, 107, 120, 0.125);
206 --secondary-inverse: #FFF;
207 --contrast: #1b2832;
208 --contrast-hover: #000;
209 --contrast-focus: rgba(89, 107, 120, 0.125);
210 --contrast-inverse: #FFF;
211 --mark-background-color: #fff2ca;
212 --mark-color: #543a25;
213 --ins-color: #388E3C;
214 --del-color: #C62828;
215 --blockquote-border-color: var(--muted-border-color);
216 --blockquote-footer-color: var(--muted-color);
217 --button-box-shadow: 0 0 0 rgba(0, 0, 0, 0);
218 --button-hover-box-shadow: 0 0 0 rgba(0, 0, 0, 0);
219 --form-element-background-color: transparent;
220 --form-element-border-color: #a2afb9;
221 --form-element-color: var(--color);
222 --form-element-placeholder-color: var(--muted-color);
223 --form-element-active-background-color: transparent;
224 --form-element-active-border-color: var(--primary);
225 --form-element-focus-color: var(--primary-focus);
226 --form-element-disabled-background-color: #d5dce2;
227 --form-element-disabled-border-color: #a2afb9;
228 --form-element-disabled-opacity: .5;
229 --form-element-invalid-border-color: #C62828;
230 --form-element-invalid-active-border-color: #B71C1C;
231 --form-element-valid-border-color: #388E3C;
232 --form-element-valid-active-border-color: #2E7D32;
233 --switch-background-color: #bbc6ce;
234 --switch-color: var(--primary-inverse);
235 --switch-checked-background-color: var(--primary);
236 --range-border-color: #d5dce2;
237 --range-active-border-color: #bbc6ce;
238 --range-thumb-border-color: var(--background-color);
239 --range-thumb-color: var(--secondary);
240 --range-thumb-hover-color: var(--secondary-hover);
241 --range-thumb-active-color: var(--primary);
242 --table-border-color: var(--muted-border-color);
243 --table-row-stripped-background-color:#f6f8f9;
244 --code-background-color: #edf0f3;
245 --code-color: var(--muted-color);
246 --code-kbd-background-color: var(--contrast);
247 --code-kbd-color: var(--contrast-inverse);
248 --code-tag-color: #b34d80;
249 --code-property-color: #3d888f;
250 --code-value-color: #998866;
251 --code-comment-color: #a2afb9;
252 --accordion-border-color: var(--muted-border-color);
253 --accordion-close-summary-color: var(--color);
254 --accordion-open-summary-color: var(--muted-color);
255 --card-background-color: var(--background-color);
256 --card-border-color: var(--muted-border-color);
257 --card-box-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);
258 --card-sectionning-background-color: #fafbfc;
259 --progress-background-color: #d5dce2;
260 --progress-color: var(--primary);
261 --loading-spinner-opacity: .5;
262 --tooltip-background-color: var(--contrast);
263 --tooltip-color: var(--contrast-inverse);
264 --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(65, 84, 98, 0.999)' 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");
265 --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(65, 84, 98, 0.999)' 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");
266 --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(65, 84, 98, 0.999)' 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");
267 --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(65, 84, 98, 0.999)' 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");
268 --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");
269 --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");
270 --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(56, 142, 60, 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");
271 --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(198, 40, 40, 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");
272}
273
274@media only screen and (prefers-color-scheme: dark) {
275 :root:not([data-theme="light"]) {
276 color-scheme: dark;
277 --background-color: #11191f;
278 --color: #bbc6ce;
279 --h1-color: #edf0f3;
280 --h2-color: #e1e6ea;
281 --h3-color: #d5dce2;
282 --h4-color: #c8d1d8;
283 --h5-color: #bbc6ce;
284 --h6-color: #aebbc3;
285 --muted-color: #73828c;
286 --muted-border-color: #1f2d38;
287 --primary: #1095c1;
288 --primary-hover: #1ab3e6;
289 --primary-focus: rgba(16, 149, 193, 0.25);
290 --primary-inverse: #FFF;
291 --secondary: #596b78;
292 --secondary-hover: #73828c;
293 --secondary-focus: rgba(115, 130, 140, 0.25);
294 --secondary-inverse: #FFF;
295 --contrast: #edf0f3;
296 --contrast-hover: #FFF;
297 --contrast-focus: rgba(115, 130, 140, 0.25);
298 --contrast-inverse: #000;
299 --mark-background-color: #d0c284;
300 --mark-color: #11191f;
301 --ins-color: #388E3C;
302 --del-color: #C62828;
303 --blockquote-border-color: var(--muted-border-color);
304 --blockquote-footer-color: var(--muted-color);
305 --button-box-shadow: 0 0 0 rgba(0, 0, 0, 0);
306 --button-hover-box-shadow: 0 0 0 rgba(0, 0, 0, 0);
307 --form-element-background-color: #11191f;
308 --form-element-border-color: #374956;
309 --form-element-color: var(--color);
310 --form-element-placeholder-color: var(--muted-color);
311 --form-element-active-background-color: var(--form-element-background-color);
312 --form-element-active-border-color: var(--primary);
313 --form-element-focus-color: var(--primary-focus);
314 --form-element-disabled-background-color: #2c3d49;
315 --form-element-disabled-border-color: #415462;
316 --form-element-disabled-opacity: .5;
317 --form-element-invalid-border-color: #B71C1C;
318 --form-element-invalid-active-border-color: #C62828;
319 --form-element-valid-border-color: #2E7D32;
320 --form-element-valid-active-border-color: #388E3C;
321 --switch-background-color: #374956;
322 --switch-color: var(--primary-inverse);
323 --switch-checked-background-color: var(--primary);
324 --range-border-color: #23333e;
325 --range-active-border-color: #2c3d49;
326 --range-thumb-border-color: var(--background-color);
327 --range-thumb-color: var(--secondary);
328 --range-thumb-hover-color: var(--secondary-hover);
329 --range-thumb-active-color: var(--primary);
330 --table-border-color: var(--muted-border-color);
331 --table-row-stripped-background-color: rgba(115, 130, 140, 0.05);
332 --code-background-color: #17232c;
333 --code-color: var(--muted-color);
334 --code-kbd-background-color: var(--contrast);
335 --code-kbd-color: var(--contrast-inverse);
336 --code-tag-color: #a65980;
337 --code-property-color: #599fa6;
338 --code-value-color: #8c8473;
339 --code-comment-color: #4d606d;
340 --accordion-border-color: var(--muted-border-color);
341 --accordion-active-summary-color: var(--primary);
342 --accordion-close-summary-color: var(--color);
343 --accordion-open-summary-color: var(--muted-color);
344 --card-background-color: #141e25;
345 --card-border-color: #11191f;
346 --card-box-shadow: 0 0.125rem 1rem rgba(0, 0, 0, 0.06), 0 0.125rem 2rem rgba(0, 0, 0, 0.12), 0 0 0 0.0625rem rgba(0, 0, 0, 0.036);
347 --card-sectionning-background-color: #17232c;
348 --progress-background-color: #23333e;
349 --progress-color: var(--primary);
350 --loading-spinner-opacity: .5;
351 --tooltip-background-color: var(--contrast);
352 --tooltip-color: var(--contrast-inverse);
353 --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(162, 175, 185, 0.999)' 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");
354 --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(162, 175, 185, 0.999)' 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");
355 --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(162, 175, 185, 0.999)' 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");
356 --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(162, 175, 185, 0.999)' 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");
357 --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");
358 --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");
359 --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(46, 125, 50, 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");
360 --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(183, 28, 28, 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");
361 }
362}
363
364[data-theme="dark"] {
365 color-scheme: dark;
366 --background-color: #11191f;
367 --color: #bbc6ce;
368 --h1-color: #edf0f3;
369 --h2-color: #e1e6ea;
370 --h3-color: #d5dce2;
371 --h4-color: #c8d1d8;
372 --h5-color: #bbc6ce;
373 --h6-color: #aebbc3;
374 --muted-color: #73828c;
375 --muted-border-color: #1f2d38;
376 --primary: #1095c1;
377 --primary-hover: #1ab3e6;
378 --primary-focus: rgba(16, 149, 193, 0.25);
379 --primary-inverse: #FFF;
380 --secondary: #596b78;
381 --secondary-hover: #73828c;
382 --secondary-focus: rgba(115, 130, 140, 0.25);
383 --secondary-inverse: #FFF;
384 --contrast: #edf0f3;
385 --contrast-hover: #FFF;
386 --contrast-focus: rgba(115, 130, 140, 0.25);
387 --contrast-inverse: #000;
388 --mark-background-color: #d0c284;
389 --mark-color: #11191f;
390 --ins-color: #388E3C;
391 --del-color: #C62828;
392 --blockquote-border-color: var(--muted-border-color);
393 --blockquote-footer-color: var(--muted-color);
394 --button-box-shadow: 0 0 0 rgba(0, 0, 0, 0);
395 --button-hover-box-shadow: 0 0 0 rgba(0, 0, 0, 0);
396 --form-element-background-color: #11191f;
397 --form-element-border-color: #374956;
398 --form-element-color: var(--color);
399 --form-element-placeholder-color: var(--muted-color);
400 --form-element-active-background-color: var(--form-element-background-color);
401 --form-element-active-border-color: var(--primary);
402 --form-element-focus-color: var(--primary-focus);
403 --form-element-disabled-background-color: #2c3d49;
404 --form-element-disabled-border-color: #415462;
405 --form-element-disabled-opacity: .5;
406 --form-element-invalid-border-color: #B71C1C;
407 --form-element-invalid-active-border-color: #C62828;
408 --form-element-valid-border-color: #2E7D32;
409 --form-element-valid-active-border-color: #388E3C;
410 --switch-background-color: #374956;
411 --switch-color: var(--primary-inverse);
412 --switch-checked-background-color: var(--primary);
413 --range-border-color: #23333e;
414 --range-active-border-color: #2c3d49;
415 --range-thumb-border-color: var(--background-color);
416 --range-thumb-color: var(--secondary);
417 --range-thumb-hover-color: var(--secondary-hover);
418 --range-thumb-active-color: var(--primary);
419 --table-border-color: var(--muted-border-color);
420 --table-row-stripped-background-color: rgba(115, 130, 140, 0.05);
421 --code-background-color: #17232c;
422 --code-color: var(--muted-color);
423 --code-kbd-background-color: var(--contrast);
424 --code-kbd-color: var(--contrast-inverse);
425 --code-tag-color: #a65980;
426 --code-property-color: #599fa6;
427 --code-value-color: #8c8473;
428 --code-comment-color: #4d606d;
429 --accordion-border-color: var(--muted-border-color);
430 --accordion-active-summary-color: var(--primary);
431 --accordion-close-summary-color: var(--color);
432 --accordion-open-summary-color: var(--muted-color);
433 --card-background-color: #141e25;
434 --card-border-color: #11191f;
435 --card-box-shadow: 0 0.125rem 1rem rgba(0, 0, 0, 0.06), 0 0.125rem 2rem rgba(0, 0, 0, 0.12), 0 0 0 0.0625rem rgba(0, 0, 0, 0.036);
436 --card-sectionning-background-color: #17232c;
437 --progress-background-color: #23333e;
438 --progress-color: var(--primary);
439 --loading-spinner-opacity: .5;
440 --tooltip-background-color: var(--contrast);
441 --tooltip-color: var(--contrast-inverse);
442 --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(162, 175, 185, 0.999)' 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");
443 --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(162, 175, 185, 0.999)' 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");
444 --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(162, 175, 185, 0.999)' 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");
445 --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(162, 175, 185, 0.999)' 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");
446 --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");
447 --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");
448 --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(46, 125, 50, 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");
449 --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(183, 28, 28, 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");
450}
451
452/**
453 * Document
454 * Content-box & Responsive typography
455 */
456*,
457*::before,
458*::after {
459 box-sizing: border-box;
460}
461
462::before,
463::after {
464 text-decoration: inherit;
465 vertical-align: inherit;
466}
467
468html {
469 -webkit-text-size-adjust: 100%;
470 -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
471 -moz-tab-size: 4;
472 -ms-text-size-adjust: 100%;
473 background-color: var(--background-color);
474 color: var(--color);
475 font-family: var(--font-family);
476 font-size: var(--font-size);
477 font-weight: var(--font-weight);
478 line-height: var(--line-height);
479 text-rendering: optimizeLegibility;
480 cursor: default;
481}
482
483/**
484 * Sectioning
485 * Container and responsive spacings for header, main, footer
486 */
487main {
488 display: block;
489}
490
491body {
492 width: 100%;
493 margin: 0;
494}
495
496body > header,
497body > main,
498body > footer {
499 width: 100%;
500 margin-right: auto;
501 margin-left: auto;
502 padding: var(--block-spacing-vertical) var(--block-spacing-horizontal);
503}
504
505/**
506 * Section
507 * Responsive spacings for section
508 */
509section {
510 margin-bottom: var(--block-spacing-vertical);
511}
512
513/**
514 * Horizontal scroller (<figure>)
515 */
516figure {
517 display: block;
518 margin: 0;
519 padding: 0;
520 overflow-x: auto;
521}
522
523figure figcaption {
524 padding: calc(var(--spacing) / 2) 0;
525 color: var(--muted-color);
526}
527
528/**
529 * Typography
530 */
531b,
532strong {
533 font-weight: bolder;
534}
535
536sub,
537sup {
538 position: relative;
539 font-size: .75em;
540 line-height: 0;
541 vertical-align: baseline;
542}
543
544sub {
545 bottom: -0.25em;
546}
547
548sup {
549 top: -0.5em;
550}
551
552dl dl,
553dl ol,
554dl ul,
555ol dl,
556ul dl {
557 margin: 0;
558}
559
560ol ol,
561ol ul,
562ul ol,
563ul ul {
564 margin: 0;
565}
566
567address,
568blockquote,
569dl,
570figure,
571form,
572ol,
573p,
574pre,
575table,
576ul {
577 margin-top: 0;
578 margin-bottom: var(--typography-spacing-vertical);
579 color: var(--color);
580 font-size: 1rem;
581 font-style: normal;
582}
583
584a {
585 --color: var(--primary);
586 --background-color: transparent;
587 outline: none;
588 background-color: var(--background-color);
589 color: var(--color);
590 text-decoration: var(--text-decoration);
591 transition: background-color var(--transition), color var(--transition), text-decoration var(--transition), box-shadow var(--transition);
592}
593
594a:hover, a:active, a:focus {
595 --color: var(--primary-hover);
596 --text-decoration: underline;
597}
598
599a:focus {
600 --background-color: var(--primary-focus);
601}
602
603h1,
604h2,
605h3,
606h4,
607h5,
608h6 {
609 margin-top: 0;
610 margin-bottom: var(--typography-spacing-vertical);
611 color: var(--color);
612 font-family: var(--font-family);
613 font-size: var(--font-size);
614 font-weight: var(--font-weight);
615}
616
617h1 {
618 --color: var(--h1-color);
619}
620
621h2 {
622 --color: var(--h2-color);
623}
624
625h3 {
626 --color: var(--h3-color);
627}
628
629h4 {
630 --color: var(--h4-color);
631}
632
633h5 {
634 --color: var(--h5-color);
635}
636
637h6 {
638 --color: var(--h6-color);
639}
640
641address ~ h1,
642address ~ h2,
643address ~ h3,
644address ~ h4,
645address ~ h5,
646address ~ h6,
647blockquote ~ h1,
648blockquote ~ h2,
649blockquote ~ h3,
650blockquote ~ h4,
651blockquote ~ h5,
652blockquote ~ h6,
653dl ~ h1,
654dl ~ h2,
655dl ~ h3,
656dl ~ h4,
657dl ~ h5,
658dl ~ h6,
659figure ~ h1,
660figure ~ h2,
661figure ~ h3,
662figure ~ h4,
663figure ~ h5,
664figure ~ h6,
665form ~ h1,
666form ~ h2,
667form ~ h3,
668form ~ h4,
669form ~ h5,
670form ~ h6,
671ol ~ h1,
672ol ~ h2,
673ol ~ h3,
674ol ~ h4,
675ol ~ h5,
676ol ~ h6,
677p ~ h1,
678p ~ h2,
679p ~ h3,
680p ~ h4,
681p ~ h5,
682p ~ h6,
683pre ~ h1,
684pre ~ h2,
685pre ~ h3,
686pre ~ h4,
687pre ~ h5,
688pre ~ h6,
689table ~ h1,
690table ~ h2,
691table ~ h3,
692table ~ h4,
693table ~ h5,
694table ~ h6,
695ul ~ h1,
696ul ~ h2,
697ul ~ h3,
698ul ~ h4,
699ul ~ h5,
700ul ~ h6 {
701 margin-top: var(--typography-spacing-vertical);
702}
703
704hgroup {
705 margin-bottom: var(--typography-spacing-vertical);
706}
707
708hgroup > * {
709 margin-bottom: 0;
710}
711
712hgroup > *:last-child {
713 --color: var(--muted-color);
714 --font-weight: unset;
715 font-family: unset;
716 font-size: 1rem;
717}
718
719p {
720 margin-bottom: var(--typography-spacing-vertical);
721}
722
723small {
724 font-size: var(--font-size);
725}
726
727ul,
728ol {
729 padding-left: var(--spacing);
730}
731
732ul li,
733ol li {
734 margin-bottom: calc(var(--typography-spacing-vertical) / 4);
735}
736
737ul li {
738 list-style: square;
739}
740
741mark {
742 padding: .125rem .25rem;
743 background-color: var(--mark-background-color);
744 color: var(--mark-color);
745 vertical-align: middle;
746}
747
748blockquote {
749 display: block;
750 margin: var(--typography-spacing-vertical) 0;
751 padding: var(--spacing);
752 border-left: 0.25rem solid var(--blockquote-border-color);
753}
754
755blockquote footer {
756 margin-top: calc(var(--typography-spacing-vertical) / 2);
757 color: var(--blockquote-footer-color);
758}
759
760abbr[title] {
761 border-bottom: 1px dotted;
762 text-decoration: none;
763 cursor: help;
764}
765
766ins {
767 color: var(--ins-color);
768 text-decoration: none;
769}
770
771del {
772 color: var(--del-color);
773}
774
775::selection {
776 background-color: var(--primary-focus);
777}
778
779/**
780 * Embedded content
781 */
782audio,
783canvas,
784iframe,
785img,
786svg,
787video {
788 vertical-align: middle;
789}
790
791audio,
792video {
793 display: inline-block;
794}
795
796audio:not([controls]) {
797 display: none;
798 height: 0;
799}
800
801iframe {
802 border-style: none;
803}
804
805img {
806 max-width: 100%;
807 height: auto;
808 border-style: none;
809}
810
811svg:not([fill]) {
812 fill: currentColor;
813}
814
815svg:not(:root) {
816 overflow: hidden;
817}
818
819/**
820 * Button
821 */
822button {
823 margin: 0;
824 overflow: visible;
825 font-family: inherit;
826 text-transform: none;
827}
828
829button,
830[type="button"],
831[type="reset"],
832[type="submit"] {
833 -webkit-appearance: button;
834}
835
836button::-moz-focus-inner,
837[type="button"]::-moz-focus-inner,
838[type="reset"]::-moz-focus-inner,
839[type="submit"]::-moz-focus-inner {
840 padding: 0;
841 border-style: none;
842}
843
844button {
845 display: block;
846 width: 100%;
847 margin-bottom: var(--spacing);
848}
849
850a[role="button"] {
851 display: inline-block;
852 text-decoration: none;
853}
854
855button,
856input[type="submit"],
857input[type="button"],
858input[type="reset"],
859a[role="button"] {
860 --background-color: var(--primary);
861 --border-color: var(--primary);
862 --color: var(--primary-inverse);
863 --box-shadow: var(--button-box-shadow, 0 0 0 rgba(0, 0, 0, 0));
864 padding: var(--form-element-spacing-vertical) var(--form-element-spacing-horizontal);
865 border: var(--border-width) solid var(--border-color);
866 border-radius: var(--border-radius);
867 outline: none;
868 background-color: var(--background-color);
869 box-shadow: var(--box-shadow);
870 color: var(--color);
871 font-size: 1rem;
872 font-weight: var(--font-weight);
873 line-height: var(--line-height);
874 text-align: center;
875 cursor: pointer;
876 transition: background-color var(--transition), border-color var(--transition), color var(--transition), box-shadow var(--transition);
877}
878
879button:hover, button:active, button:focus,
880input[type="submit"]:hover,
881input[type="submit"]:active,
882input[type="submit"]:focus,
883input[type="button"]:hover,
884input[type="button"]:active,
885input[type="button"]:focus,
886input[type="reset"]:hover,
887input[type="reset"]:active,
888input[type="reset"]:focus,
889a[role="button"]:hover,
890a[role="button"]:active,
891a[role="button"]:focus {
892 --background-color: var(--primary-hover);
893 --border-color: var(--primary-hover);
894 --box-shadow: var(--button-hover-box-shadow, 0 0 0 rgba(0, 0, 0, 0));
895}
896
897button:focus,
898input[type="submit"]:focus,
899input[type="button"]:focus,
900input[type="reset"]:focus,
901a[role="button"]:focus {
902 --box-shadow: var(--button-hover-box-shadow, 0 0 0 rgba(0, 0, 0, 0)), 0 0 0 var(--outline-width) var(--primary-focus);
903}
904
905input[type="reset"] {
906 --background-color: var(--secondary);
907 --border-color: var(--secondary);
908 --color: var(--secondary-inverse);
909 cursor: pointer;
910}
911
912input[type="reset"]:hover, input[type="reset"]:active, input[type="reset"]:focus {
913 --background-color: var(--secondary-hover);
914 --border-color: var(--secondary-hover);
915}
916
917input[type="reset"]:focus {
918 --box-shadow: var(--button-hover-box-shadow, 0 0 0 rgba(0, 0, 0, 0)), 0 0 0 var(--outline-width) var(--secondary-focus);
919}
920
921button[disabled],
922input[type="submit"][disabled],
923input[type="button"][disabled],
924input[type="reset"][disabled],
925a[role="button"][disabled] {
926 opacity: .5;
927 pointer-events: none;
928}
929
930/**
931 * Form elements
932 */
933input,
934optgroup,
935select,
936textarea {
937 margin: 0;
938 font-family: inherit;
939 font-size: 1rem;
940 letter-spacing: inherit;
941 line-height: var(--line-height);
942}
943
944input {
945 overflow: visible;
946}
947
948select {
949 text-transform: none;
950}
951
952legend {
953 max-width: 100%;
954 padding: 0;
955 color: inherit;
956 white-space: normal;
957}
958
959textarea {
960 overflow: auto;
961}
962
963[type="checkbox"],
964[type="radio"] {
965 padding: 0;
966}
967
968::-webkit-inner-spin-button,
969::-webkit-outer-spin-button {
970 height: auto;
971}
972
973[type="search"] {
974 -webkit-appearance: textfield;
975 outline-offset: -2px;
976}
977
978[type="search"]::-webkit-search-decoration {
979 -webkit-appearance: none;
980}
981
982::-webkit-file-upload-button {
983 -webkit-appearance: button;
984 font: inherit;
985}
986
987::-moz-focus-inner {
988 padding: 0;
989 border-style: none;
990}
991
992:-moz-focusring {
993 outline: none;
994}
995
996:-moz-ui-invalid {
997 box-shadow: none;
998}
999
1000::-ms-expand {
1001 display: none;
1002}
1003
1004[type="file"],
1005[type="range"] {
1006 padding: 0;
1007 border-width: 0;
1008}
1009
1010input:not([type="checkbox"]):not([type="radio"]):not([type="range"]) {
1011 height: calc( (1rem * var(--line-height)) + (var(--form-element-spacing-vertical) * 2) + (var(--border-width) * 2));
1012}
1013
1014fieldset {
1015 margin: 0;
1016 margin-bottom: var(--spacing);
1017 padding: 0;
1018 border: 0;
1019}
1020
1021label,
1022fieldset legend {
1023 display: block;
1024 margin-bottom: calc(var(--spacing) / 4);
1025 vertical-align: middle;
1026}
1027
1028input:not([type="checkbox"]):not([type="radio"]),
1029select,
1030textarea {
1031 display: block;
1032 width: 100%;
1033}
1034
1035input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="file"]),
1036select,
1037textarea {
1038 -webkit-appearance: none;
1039 -moz-appearance: none;
1040 appearance: none;
1041 padding: var(--form-element-spacing-vertical) var(--form-element-spacing-horizontal);
1042 vertical-align: middle;
1043}
1044
1045input,
1046select,
1047textarea {
1048 --background-color: var(--form-element-background-color);
1049 --border-color: var(--form-element-border-color);
1050 --color: var(--form-element-color);
1051 --box-shadow: none;
1052 border: var(--border-width) solid var(--border-color);
1053 border-radius: var(--border-radius);
1054 outline: none;
1055 background-color: var(--background-color);
1056 box-shadow: var(--box-shadow);
1057 color: var(--color);
1058 font-weight: var(--font-weight);
1059 transition: background-color var(--transition), border-color var(--transition), color var(--transition), box-shadow var(--transition);
1060}
1061
1062input:not([type="submit"]):not([type="button"]):not([type="reset"]):not([type="checkbox"]):not([type="radio"]):not([readonly]):active, input:not([type="submit"]):not([type="button"]):not([type="reset"]):not([type="checkbox"]):not([type="radio"]):not([readonly]):focus,
1063select:active,
1064select:focus,
1065textarea:active,
1066textarea:focus {
1067 --background-color: var(--form-element-active-background-color);
1068}
1069
1070input:not([type="submit"]):not([type="button"]):not([type="reset"]):not([role="switch"]):not([readonly]):active, input:not([type="submit"]):not([type="button"]):not([type="reset"]):not([role="switch"]):not([readonly]):focus,
1071select:active,
1072select:focus,
1073textarea:active,
1074textarea:focus {
1075 --border-color: var(--form-element-active-border-color);
1076}
1077
1078input:not([type="submit"]):not([type="button"]):not([type="reset"]):not([type="range"]):not([type="file"]):not([readonly]):focus,
1079select:focus,
1080textarea:focus {
1081 --box-shadow: 0 0 0 var(--outline-width) var(--form-element-focus-color);
1082}
1083
1084input:not([type="submit"]):not([type="button"]):not([type="reset"])[disabled],
1085select[disabled],
1086textarea[disabled] {
1087 --background-color: var(--form-element-disabled-background-color);
1088 --border-color: var(--form-element-disabled-border-color);
1089 opacity: var(--form-element-disabled-opacity);
1090}
1091
1092input[aria-invalid],
1093select[aria-invalid],
1094textarea[aria-invalid] {
1095 padding-right: 2rem;
1096 background-position: center right .75rem;
1097 background-repeat: no-repeat;
1098 background-size: 1rem auto;
1099}
1100
1101input[aria-invalid="false"],
1102select[aria-invalid="false"],
1103textarea[aria-invalid="false"] {
1104 --border-color: var(--form-element-valid-border-color);
1105 background-image: var(--icon-valid);
1106}
1107
1108input[aria-invalid="false"]:active, input[aria-invalid="false"]:focus,
1109select[aria-invalid="false"]:active,
1110select[aria-invalid="false"]:focus,
1111textarea[aria-invalid="false"]:active,
1112textarea[aria-invalid="false"]:focus {
1113 --border-color: var(--form-element-valid-active-border-color) !important;
1114}
1115
1116input[aria-invalid="true"],
1117select[aria-invalid="true"],
1118textarea[aria-invalid="true"] {
1119 --border-color: var(--form-element-invalid-border-color);
1120 background-image: var(--icon-invalid);
1121}
1122
1123input[aria-invalid="true"]:active, input[aria-invalid="true"]:focus,
1124select[aria-invalid="true"]:active,
1125select[aria-invalid="true"]:focus,
1126textarea[aria-invalid="true"]:active,
1127textarea[aria-invalid="true"]:focus {
1128 --border-color: var(--form-element-invalid-active-border-color) !important;
1129}
1130
1131input::placeholder,
1132input::-webkit-input-placeholder,
1133textarea::placeholder,
1134textarea::-webkit-input-placeholder,
1135select:invalid {
1136 color: var(--form-element-placeholder-color);
1137 opacity: 1;
1138}
1139
1140input:not([type="checkbox"]):not([type="radio"]),
1141select,
1142textarea {
1143 margin-bottom: var(--spacing);
1144}
1145
1146select::-ms-expand {
1147 border: 0;
1148 background-color: transparent;
1149}
1150
1151select:not([multiple]):not([size]) {
1152 padding-right: calc(var(--form-element-spacing-horizontal) + 1.5rem);
1153 background-image: var(--icon-chevron);
1154 background-position: center right .75rem;
1155 background-repeat: no-repeat;
1156 background-size: 1rem auto;
1157}
1158
1159input + small,
1160select + small,
1161textarea + small {
1162 display: block;
1163 width: 100%;
1164 margin-top: calc(var(--spacing) * -0.75);
1165 margin-bottom: var(--spacing);
1166 color: var(--muted-color);
1167}
1168
1169label > input,
1170label > select,
1171label > textarea {
1172 margin-top: calc(var(--spacing) / 4);
1173}
1174
1175/**
1176 * Form elements
1177 * Checkboxes & Radios
1178 */
1179[type="checkbox"],
1180[type="radio"] {
1181 -webkit-appearance: none;
1182 -moz-appearance: none;
1183 appearance: none;
1184 display: inline-block;
1185 width: 1.25em;
1186 height: 1.25em;
1187 margin-top: -.125em;
1188 margin-right: .375em;
1189 border-width: var(--border-width);
1190 vertical-align: middle;
1191 cursor: pointer;
1192}
1193
1194[type="checkbox"]::-ms-check,
1195[type="radio"]::-ms-check {
1196 display: none;
1197}
1198
1199[type="checkbox"]:checked, [type="checkbox"]:checked:active, [type="checkbox"]:checked:focus,
1200[type="radio"]:checked,
1201[type="radio"]:checked:active,
1202[type="radio"]:checked:focus {
1203 --background-color: var(--primary);
1204 --border-color: var(--primary);
1205 background-image: var(--icon-checkbox);
1206 background-position: center;
1207 background-repeat: no-repeat;
1208 background-size: .75em auto;
1209}
1210
1211[type="checkbox"] ~ label,
1212[type="radio"] ~ label {
1213 display: inline-block;
1214 margin-right: .375em;
1215 margin-bottom: 0;
1216 cursor: pointer;
1217}
1218
1219[type="checkbox"]:indeterminate {
1220 --background-color: var(--primary);
1221 --border-color: var(--primary);
1222 background-image: var(--icon-minus);
1223 background-position: center;
1224 background-repeat: no-repeat;
1225 background-size: .75em auto;
1226}
1227
1228[type="radio"] {
1229 border-radius: 50%;
1230}
1231
1232[type="radio"]:checked, [type="radio"]:checked:active, [type="radio"]:checked:focus {
1233 --background-color: var(--primary-inverse);
1234 border-width: .35em;
1235 background-image: none;
1236}
1237
1238[type="checkbox"][role="switch"] {
1239 --background-color: var(--switch-background-color);
1240 --border-color: var(--switch-background-color);
1241 --color: var(--switch-color);
1242 width: 2.25em;
1243 height: 1.25em;
1244 border: var(--border-width) solid var(--border-color);
1245 border-radius: 1.25em;
1246 background-color: var(--background-color);
1247 line-height: 1.25em;
1248}
1249
1250[type="checkbox"][role="switch"]:focus {
1251 --background-color: var(--switch-background-color);
1252 --border-color: var(--switch-background-color);
1253}
1254
1255[type="checkbox"][role="switch"]:checked {
1256 --background-color: var(--switch-checked-background-color);
1257 --border-color: var(--switch-checked-background-color);
1258}
1259
1260[type="checkbox"][role="switch"]:before {
1261 display: block;
1262 width: calc(1.25em - (var(--border-width) * 2));
1263 height: 100%;
1264 border-radius: 50%;
1265 background-color: var(--color);
1266 content: '';
1267 transition: margin 0.1s ease-in-out;
1268}
1269
1270[type="checkbox"][role="switch"]:checked {
1271 background-image: none;
1272}
1273
1274[type="checkbox"][role="switch"]:checked::before {
1275 margin-right: 0;
1276 margin-left: calc(1.125em - var(--border-width));
1277}
1278
1279/**
1280 * Form elements
1281 * Alternatives input types (Not Checkboxes & Radios)
1282 */
1283[type="color"]::-webkit-color-swatch-wrapper {
1284 padding: 0;
1285}
1286
1287[type="color"]::-moz-focus-inner {
1288 padding: 0;
1289}
1290
1291[type="color"]::-webkit-color-swatch {
1292 border: none;
1293 border-radius: calc(var(--border-radius) / 2);
1294}
1295
1296[type="color"]::-moz-color-swatch {
1297 border: none;
1298 border-radius: calc(var(--border-radius) / 2);
1299}
1300
1301[type="date"],
1302[type="datetime-local"],
1303[type="month"],
1304[type="time"],
1305[type="week"] {
1306 background-image: var(--icon-date);
1307 background-position: center right .75rem;
1308 background-repeat: no-repeat;
1309 background-size: 1rem auto;
1310}
1311
1312[type="date"]::-webkit-calendar-picker-indicator,
1313[type="datetime-local"]::-webkit-calendar-picker-indicator,
1314[type="month"]::-webkit-calendar-picker-indicator,
1315[type="time"]::-webkit-calendar-picker-indicator,
1316[type="week"]::-webkit-calendar-picker-indicator {
1317 opacity: 0;
1318}
1319
1320[type="time"] {
1321 background-image: var(--icon-time);
1322}
1323
1324[type="file"] {
1325 --color: var(--muted-color);
1326 padding: calc(var(--form-element-spacing-vertical)/2) 0;
1327 border: none;
1328 border-radius: 0;
1329 background: none;
1330}
1331
1332[type="file"]::-webkit-file-upload-button {
1333 --background-color: var(--secondary);
1334 --border-color: var(--secondary);
1335 --color: var(--secondary-inverse);
1336 margin-right: calc(var(--spacing) / 2);
1337 padding: calc(var(--form-element-spacing-vertical) / 2) calc(var(--form-element-spacing-horizontal) / 2);
1338 border: var(--border-width) solid var(--border-color);
1339 border-radius: var(--border-radius);
1340 outline: none;
1341 background-color: var(--background-color);
1342 box-shadow: var(--box-shadow);
1343 color: var(--color);
1344 font-size: 1rem;
1345 font-weight: var(--font-weight);
1346 line-height: var(--line-height);
1347 text-align: center;
1348 cursor: pointer;
1349 transition: background-color var(--transition), border-color var(--transition), color var(--transition), box-shadow var(--transition);
1350}
1351
1352[type="file"]:hover, [type="file"]:active, [type="file"]:focus {
1353 --color: var(--color);
1354 border: none;
1355 background: none;
1356}
1357
1358[type="file"]:hover::-webkit-file-upload-button, [type="file"]:active::-webkit-file-upload-button, [type="file"]:focus::-webkit-file-upload-button {
1359 --background-color: var(--secondary-hover);
1360 --border-color: var(--secondary-hover);
1361}
1362
1363[type="range"] {
1364 -webkit-appearance: none;
1365 -moz-appearance: none;
1366 appearance: none;
1367 display: block;
1368 width: 100%;
1369 height: 1.25rem;
1370 background: transparent;
1371}
1372
1373[type="range"]::-webkit-slider-runnable-track {
1374 width: 100%;
1375 height: 0.25rem;
1376 border-radius: var(--border-radius);
1377 background-color: var(--range-border-color);
1378 transition: background-color var(--transition), box-shadow var(--transition);
1379}
1380
1381[type="range"]::-moz-range-track {
1382 width: 100%;
1383 height: 0.25rem;
1384 border-radius: var(--border-radius);
1385 background-color: var(--range-border-color);
1386 transition: background-color var(--transition), box-shadow var(--transition);
1387}
1388
1389[type="range"]::-ms-track {
1390 width: 100%;
1391 height: 0.25rem;
1392 border-radius: var(--border-radius);
1393 background-color: var(--range-border-color);
1394 transition: background-color var(--transition), box-shadow var(--transition);
1395}
1396
1397[type="range"]::-ms-fill-lower {
1398 background-color: var(--border-radius);
1399}
1400
1401[type="range"]::-webkit-slider-thumb {
1402 -webkit-appearance: none;
1403 width: 1.25rem;
1404 height: 1.25rem;
1405 margin-top: -0.5rem;
1406 border: 2px solid var(--range-thumb-border-color);
1407 border-radius: 50%;
1408 background-color: var(--range-thumb-color);
1409 cursor: pointer;
1410 transition: background-color var(--transition), transform var(--transition);
1411}
1412
1413[type="range"]::-moz-range-thumb {
1414 -webkit-appearance: none;
1415 width: 1.25rem;
1416 height: 1.25rem;
1417 margin-top: -0.5rem;
1418 border: 2px solid var(--range-thumb-border-color);
1419 border-radius: 50%;
1420 background-color: var(--range-thumb-color);
1421 cursor: pointer;
1422 transition: background-color var(--transition), transform var(--transition);
1423}
1424
1425[type="range"]::-ms-thumb {
1426 -webkit-appearance: none;
1427 width: 1.25rem;
1428 height: 1.25rem;
1429 margin-top: -0.5rem;
1430 border: 2px solid var(--range-thumb-border-color);
1431 border-radius: 50%;
1432 background-color: var(--range-thumb-color);
1433 cursor: pointer;
1434 transition: background-color var(--transition), transform var(--transition);
1435}
1436
1437[type="range"]:hover, [type="range"]:focus {
1438 --range-border-color: var(--range-active-border-color);
1439 --range-thumb-color: var(--range-thumb-hover-color);
1440}
1441
1442[type="range"]:active {
1443 --range-thumb-color: var(--range-thumb-active-color);
1444}
1445
1446[type="range"]:active::-webkit-slider-thumb {
1447 transform: scale(1.25);
1448}
1449
1450[type="range"]:active::-moz-range-thumb {
1451 transform: scale(1.25);
1452}
1453
1454[type="range"]:active::-ms-thumb {
1455 transform: scale(1.25);
1456}
1457
1458[type="search"] {
1459 border-radius: 5rem;
1460 padding-left: calc(var(--form-element-spacing-horizontal) + 1.75rem) !important;
1461 background-image: var(--icon-search);
1462 background-position: center left 1.125rem;
1463 background-repeat: no-repeat;
1464 background-size: 1rem auto;
1465}
1466
1467[type="search"]::-webkit-search-cancel-button {
1468 -webkit-appearance: none;
1469 display: none;
1470}
1471
1472/**
1473 * Table
1474 */
1475table {
1476 width: 100%;
1477 border-color: inherit;
1478 border-collapse: collapse;
1479 border-spacing: 0;
1480 text-indent: 0;
1481}
1482
1483th,
1484td {
1485 padding: calc(var(--spacing) / 2) var(--spacing);
1486 border-bottom: var(--border-width) solid var(--table-border-color);
1487 color: var(--color);
1488 font-size: var(--font-size);
1489 font-weight: var(--font-weight);
1490 text-align: left;
1491}
1492
1493tr {
1494 background-color: var(--background-color);
1495}
1496
1497table[role="grid"] tbody tr:nth-child(odd) {
1498 --background-color: var(--table-row-stripped-background-color);
1499}
1500
1501/**
1502 * Code
1503 */
1504pre,
1505code,
1506kbd,
1507samp {
1508 font-family: var(--font-family);
1509 font-size: .875rem;
1510}
1511
1512pre {
1513 -ms-overflow-style: scrollbar;
1514 overflow: auto;
1515}
1516
1517pre,
1518code,
1519kbd {
1520 background: var(--code-background-color);
1521 color: var(--code-color);
1522 font-weight: var(--font-weight);
1523 line-height: initial;
1524}
1525
1526code,
1527kbd {
1528 display: inline-block;
1529 padding: .375rem .5rem;
1530 border-radius: var(--border-radius);
1531}
1532
1533pre {
1534 display: block;
1535 margin-bottom: var(--spacing);
1536 padding: var(--spacing);
1537 overflow-x: auto;
1538 background: var(--code-background-color);
1539}
1540
1541pre > code {
1542 display: block;
1543 padding: 0;
1544 background: transparent;
1545 font-size: 14px;
1546 line-height: var(--line-height);
1547}
1548
1549code b {
1550 color: var(--code-tag-color);
1551 font-weight: var(--font-weight);
1552}
1553
1554code i {
1555 color: var(--code-property-color);
1556 font-style: normal;
1557}
1558
1559code u {
1560 color: var(--code-value-color);
1561 text-decoration: none;
1562}
1563
1564code em {
1565 color: var(--code-comment-color);
1566 font-style: normal;
1567}
1568
1569kbd {
1570 background-color: var(--code-kbd-background-color);
1571 color: var(--code-kbd-color);
1572 vertical-align: middle;
1573}
1574
1575/**
1576 * Miscs
1577 */
1578hr {
1579 box-sizing: content-box;
1580 height: 0;
1581 overflow: visible;
1582 border: none;
1583 border-top: 1px solid var(--muted-border-color);
1584}
1585
1586[hidden],
1587template {
1588 display: none;
1589}
1590
1591dialog {
1592 display: block;
1593 position: absolute;
1594 right: 0;
1595 left: 0;
1596 width: -moz-fit-content;
1597 width: -webkit-fit-content;
1598 width: fit-content;
1599 height: -moz-fit-content;
1600 height: -webkit-fit-content;
1601 height: fit-content;
1602 margin: auto;
1603 padding: 1em;
1604 border: solid;
1605 background-color: white;
1606 color: black;
1607}
1608
1609dialog:not([open]) {
1610 display: none;
1611}
1612
1613canvas {
1614 display: inline-block;
1615}
1616
1617/**
1618 * Accordion (<details>)
1619 * Inspiration: https://codepen.io/koca/pen/RyeLLV
1620 */
1621details {
1622 display: block;
1623 margin-bottom: var(--spacing);
1624 padding-bottom: calc(var(--spacing) / 2);
1625 border-bottom: var(--border-width) solid var(--accordion-border-color);
1626}
1627
1628details summary {
1629 color: var(--accordion-close-summary-color);
1630 line-height: 1rem;
1631 list-style-type: none;
1632 list-style-type: none;
1633 cursor: pointer;
1634 transition: color var(--transition);
1635}
1636
1637details summary::-webkit-details-marker {
1638 display: none;
1639}
1640
1641details summary::marker {
1642 display: none;
1643}
1644
1645details summary::-moz-list-bullet {
1646 list-style-type: none;
1647}
1648
1649details summary::after {
1650 display: inline-block;
1651 width: 1rem;
1652 height: 1rem;
1653 float: right;
1654 transform: rotate(-90deg);
1655 background-image: var(--icon-chevron);
1656 background-position: center;
1657 background-repeat: no-repeat;
1658 background-size: 1rem auto;
1659 content: '';
1660 transition: transform var(--transition);
1661}
1662
1663details summary:focus {
1664 outline: none;
1665 color: var(--accordion-active-summary-color);
1666}
1667
1668details summary ~ * {
1669 margin-top: calc(var(--spacing) / 2);
1670}
1671
1672details summary ~ * ~ * {
1673 margin-top: 0;
1674}
1675
1676details[open] > summary {
1677 margin-bottom: calc(var(--spacing) / 4);
1678}
1679
1680details[open] > summary:not(:focus) {
1681 color: var(--accordion-open-summary-color);
1682}
1683
1684details[open] > summary::after {
1685 transform: rotate(0);
1686}
1687
1688/**
1689 * Card (<article>)
1690 */
1691article {
1692 margin: var(--block-spacing-vertical) 0;
1693 padding: var(--block-spacing-vertical) var(--block-spacing-horizontal);
1694 overflow: hidden;
1695 border-radius: var(--border-radius);
1696 background: var(--card-background-color);
1697 box-shadow: var(--card-box-shadow);
1698}
1699
1700article > header,
1701article > footer,
1702article > pre {
1703 margin-right: calc(var(--block-spacing-horizontal) * -1);
1704 margin-left: calc(var(--block-spacing-horizontal) * -1);
1705 padding: calc(var(--block-spacing-vertical) / 1.5) var(--block-spacing-horizontal);
1706 background-color: var(--card-sectionning-background-color);
1707}
1708
1709article > header {
1710 margin-top: calc(var(--block-spacing-vertical) * -1);
1711 margin-bottom: var(--block-spacing-vertical);
1712 border-bottom: var(--border-width) solid var(--card-border-color);
1713}
1714
1715article > footer,
1716article > pre {
1717 margin-top: var(--block-spacing-vertical);
1718 margin-bottom: calc(var(--block-spacing-vertical) * -1);
1719 border-top: var(--border-width) solid var(--card-border-color);
1720}
1721
1722/**
1723 * Nav
1724 */
1725nav,
1726nav ul {
1727 display: flex;
1728}
1729
1730nav {
1731 justify-content: space-between;
1732}
1733
1734nav ol,
1735nav ul {
1736 align-items: center;
1737 margin-bottom: 0;
1738 padding: 0;
1739 list-style: none;
1740}
1741
1742nav ol:first-of-type,
1743nav ul:first-of-type {
1744 margin-left: calc(var(--spacing) * -0.5);
1745}
1746
1747nav ol:last-of-type,
1748nav ul:last-of-type {
1749 margin-right: calc(var(--spacing) * -0.5);
1750}
1751
1752nav li {
1753 display: inline-block;
1754 margin: 0;
1755 padding: var(--spacing) calc(var(--spacing) / 2);
1756}
1757
1758nav li > *,
1759nav li > input:not([type="checkbox"]):not([type="radio"]) {
1760 margin-bottom: 0;
1761}
1762
1763nav a {
1764 display: block;
1765 margin: calc(var(--spacing) * -1) calc(var(--spacing) * -0.5);
1766 padding: var(--spacing) calc(var(--spacing) / 2);
1767 border-radius: var(--border-radius);
1768 text-decoration: none;
1769}
1770
1771nav a:hover, nav a:active, nav a:focus {
1772 text-decoration: none;
1773}
1774
1775aside nav,
1776aside ol,
1777aside ul,
1778aside li {
1779 display: block;
1780}
1781
1782aside li {
1783 padding: calc(var(--spacing) / 2);
1784}
1785
1786aside li a {
1787 margin: calc(var(--spacing) * -0.5);
1788 padding: calc(var(--spacing) / 2);
1789}
1790
1791/**
1792 * Progress
1793 */
1794progress {
1795 display: inline-block;
1796 vertical-align: baseline;
1797}
1798
1799progress {
1800 -webkit-appearance: none;
1801 -moz-appearance: none;
1802 appearance: none;
1803 display: inline-block;
1804 width: 100%;
1805 height: .5rem;
1806 margin-bottom: calc(var(--spacing) / 2);
1807 overflow: hidden;
1808 border: 0;
1809 border-radius: var(--border-radius);
1810 background-color: var(--progress-background-color);
1811 color: var(--progress-color);
1812}
1813
1814progress::-webkit-progress-bar {
1815 border-radius: var(--border-radius);
1816 background: transparent;
1817}
1818
1819progress[value]::-webkit-progress-value {
1820 background-color: var(--progress-color);
1821}
1822
1823progress::-moz-progress-bar {
1824 background-color: var(--progress-color);
1825}
1826
1827@media (prefers-reduced-motion: no-preference) {
1828 progress:indeterminate {
1829 background: var(--progress-background-color) linear-gradient(to right, var(--progress-color) 30%, var(--progress-background-color) 30%) top left/150% 150% no-repeat;
1830 animation: progressIndeterminate 1s linear infinite;
1831 }
1832 progress:indeterminate[value]::-webkit-progress-value {
1833 background-color: transparent;
1834 }
1835 progress:indeterminate::-moz-progress-bar {
1836 background-color: transparent;
1837 }
1838}
1839
1840@keyframes progressIndeterminate {
1841 0% {
1842 background-position: 200% 0;
1843 }
1844 100% {
1845 background-position: -200% 0;
1846 }
1847}
1848
1849/**
1850 * Loading ([aria-busy=true])
1851 */
1852[aria-busy="true"] {
1853 cursor: progress;
1854}
1855
1856[aria-busy="true"]:not(input):not(select):not(textarea)::before {
1857 display: inline-block;
1858 width: 1em;
1859 height: 1em;
1860 border: 0.1875em solid currentColor;
1861 border-radius: 1em;
1862 border-right-color: transparent;
1863 vertical-align: text-bottom;
1864 vertical-align: -.125em;
1865 animation: spinner 0.75s linear infinite;
1866 content: '';
1867 opacity: var(--loading-spinner-opacity);
1868}
1869
1870[aria-busy="true"]:not(input):not(select):not(textarea):not(:empty)::before {
1871 margin-right: calc(var(--spacing) / 2);
1872}
1873
1874[aria-busy="true"]:not(input):not(select):not(textarea):empty {
1875 text-align: center;
1876}
1877
1878button[aria-busy="true"],
1879input[type="submit"][aria-busy="true"],
1880input[type="button"][aria-busy="true"],
1881input[type="reset"][aria-busy="true"],
1882a[aria-busy="true"] {
1883 pointer-events: none;
1884}
1885
1886@keyframes spinner {
1887 to {
1888 transform: rotate(360deg);
1889 }
1890}
1891
1892/**
1893 * Tooltip ([data-tooltip])
1894 */
1895[data-tooltip] {
1896 position: relative;
1897}
1898
1899[data-tooltip]:not(a):not(button):not(input) {
1900 border-bottom: 1px dotted;
1901 text-decoration: none;
1902 cursor: help;
1903}
1904
1905[data-tooltip]::before, [data-tooltip]::after {
1906 display: block;
1907 z-index: 99;
1908 position: absolute;
1909 bottom: 100%;
1910 left: 50%;
1911 padding: .25rem .5rem;
1912 overflow: hidden;
1913 transform: translate(-50%, -0.25rem);
1914 border-radius: var(--border-radius);
1915 background: var(--tooltip-background-color);
1916 color: var(--tooltip-color);
1917 font-size: .875rem;
1918 font-style: normal;
1919 font-weight: var(--font-weight);
1920 text-decoration: none;
1921 text-overflow: ellipsis;
1922 white-space: nowrap;
1923 content: attr(data-tooltip);
1924 opacity: 0;
1925 pointer-events: none;
1926}
1927
1928[data-tooltip]::after {
1929 padding: 0;
1930 transform: translate(-50%, 0rem);
1931 border-top: .3rem solid;
1932 border-right: .3rem solid transparent;
1933 border-left: .3rem solid transparent;
1934 border-radius: 0;
1935 background-color: transparent;
1936 color: var(--tooltip-background-color);
1937 content: '';
1938}
1939
1940[data-tooltip]:focus::before, [data-tooltip]:focus::after, [data-tooltip]:hover::before, [data-tooltip]:hover::after {
1941 opacity: 1;
1942 animation-name: slide;
1943 animation-duration: .2s;
1944}
1945
1946[data-tooltip]:focus::after, [data-tooltip]:hover::after {
1947 animation-name: slideCaret;
1948}
1949
1950@keyframes slide {
1951 from {
1952 transform: translate(-50%, 0.75rem);
1953 opacity: 0;
1954 }
1955 to {
1956 transform: translate(-50%, -0.25rem);
1957 opacity: 1;
1958 }
1959}
1960
1961@keyframes slideCaret {
1962 from {
1963 opacity: 0;
1964 }
1965 50% {
1966 transform: translate(-50%, -0.25rem);
1967 opacity: 0;
1968 }
1969 to {
1970 transform: translate(-50%, 0rem);
1971 opacity: 1;
1972 }
1973}
1974
1975/**
1976 * Accessibility & User interaction
1977 */
1978[aria-controls] {
1979 cursor: pointer;
1980}
1981
1982[aria-disabled="true"],
1983[disabled] {
1984 cursor: not-allowed;
1985}
1986
1987[aria-hidden="false"][hidden] {
1988 display: initial;
1989}
1990
1991[aria-hidden="false"][hidden]:not(:focus) {
1992 clip: rect(0, 0, 0, 0);
1993 position: absolute;
1994}
1995
1996a,
1997area,
1998button,
1999input,
2000label,
2001select,
2002summary,
2003textarea,
2004[tabindex] {
2005 -ms-touch-action: manipulation;
2006}
2007
2008/**
2009 * Reduce Motion Features
2010 */
2011@media (prefers-reduced-motion: reduce) {
2012 *:not([aria-busy="true"]),
2013 :not([aria-busy="true"])::before,
2014 :not([aria-busy="true"])::after {
2015 background-attachment: initial !important;
2016 animation-duration: 1ms !important;
2017 animation-delay: -1ms !important;
2018 animation-iteration-count: 1 !important;
2019 scroll-behavior: auto !important;
2020 transition-delay: 0s !important;
2021 transition-duration: 0s !important;
2022 }
2023}