UNPKG

53.4 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@media (min-width: 576px) {
506 body > header,
507 body > main,
508 body > footer {
509 max-width: 510px;
510 padding-right: 0;
511 padding-left: 0;
512 }
513}
514
515@media (min-width: 768px) {
516 body > header,
517 body > main,
518 body > footer {
519 max-width: 700px;
520 }
521}
522
523@media (min-width: 992px) {
524 body > header,
525 body > main,
526 body > footer {
527 max-width: 920px;
528 }
529}
530
531@media (min-width: 1200px) {
532 body > header,
533 body > main,
534 body > footer {
535 max-width: 1130px;
536 }
537}
538
539/**
540 * Section
541 * Responsive spacings for section
542 */
543section {
544 margin-bottom: var(--block-spacing-vertical);
545}
546
547/**
548 * Horizontal scroller (<figure>)
549 */
550figure {
551 display: block;
552 margin: 0;
553 padding: 0;
554 overflow-x: auto;
555}
556
557figure figcaption {
558 padding: calc(var(--spacing) / 2) 0;
559 color: var(--muted-color);
560}
561
562/**
563 * Typography
564 */
565b,
566strong {
567 font-weight: bolder;
568}
569
570sub,
571sup {
572 position: relative;
573 font-size: .75em;
574 line-height: 0;
575 vertical-align: baseline;
576}
577
578sub {
579 bottom: -0.25em;
580}
581
582sup {
583 top: -0.5em;
584}
585
586dl dl,
587dl ol,
588dl ul,
589ol dl,
590ul dl {
591 margin: 0;
592}
593
594ol ol,
595ol ul,
596ul ol,
597ul ul {
598 margin: 0;
599}
600
601address,
602blockquote,
603dl,
604figure,
605form,
606ol,
607p,
608pre,
609table,
610ul {
611 margin-top: 0;
612 margin-bottom: var(--typography-spacing-vertical);
613 color: var(--color);
614 font-size: 1rem;
615 font-style: normal;
616}
617
618a {
619 --color: var(--primary);
620 --background-color: transparent;
621 outline: none;
622 background-color: var(--background-color);
623 color: var(--color);
624 text-decoration: var(--text-decoration);
625 transition: background-color var(--transition), color var(--transition), text-decoration var(--transition), box-shadow var(--transition);
626}
627
628a:hover, a:active, a:focus {
629 --color: var(--primary-hover);
630 --text-decoration: underline;
631}
632
633a:focus {
634 --background-color: var(--primary-focus);
635}
636
637h1,
638h2,
639h3,
640h4,
641h5,
642h6 {
643 margin-top: 0;
644 margin-bottom: var(--typography-spacing-vertical);
645 color: var(--color);
646 font-family: var(--font-family);
647 font-size: var(--font-size);
648 font-weight: var(--font-weight);
649}
650
651h1 {
652 --color: var(--h1-color);
653}
654
655h2 {
656 --color: var(--h2-color);
657}
658
659h3 {
660 --color: var(--h3-color);
661}
662
663h4 {
664 --color: var(--h4-color);
665}
666
667h5 {
668 --color: var(--h5-color);
669}
670
671h6 {
672 --color: var(--h6-color);
673}
674
675address ~ h1,
676address ~ h2,
677address ~ h3,
678address ~ h4,
679address ~ h5,
680address ~ h6,
681blockquote ~ h1,
682blockquote ~ h2,
683blockquote ~ h3,
684blockquote ~ h4,
685blockquote ~ h5,
686blockquote ~ h6,
687dl ~ h1,
688dl ~ h2,
689dl ~ h3,
690dl ~ h4,
691dl ~ h5,
692dl ~ h6,
693figure ~ h1,
694figure ~ h2,
695figure ~ h3,
696figure ~ h4,
697figure ~ h5,
698figure ~ h6,
699form ~ h1,
700form ~ h2,
701form ~ h3,
702form ~ h4,
703form ~ h5,
704form ~ h6,
705ol ~ h1,
706ol ~ h2,
707ol ~ h3,
708ol ~ h4,
709ol ~ h5,
710ol ~ h6,
711p ~ h1,
712p ~ h2,
713p ~ h3,
714p ~ h4,
715p ~ h5,
716p ~ h6,
717pre ~ h1,
718pre ~ h2,
719pre ~ h3,
720pre ~ h4,
721pre ~ h5,
722pre ~ h6,
723table ~ h1,
724table ~ h2,
725table ~ h3,
726table ~ h4,
727table ~ h5,
728table ~ h6,
729ul ~ h1,
730ul ~ h2,
731ul ~ h3,
732ul ~ h4,
733ul ~ h5,
734ul ~ h6 {
735 margin-top: var(--typography-spacing-vertical);
736}
737
738hgroup {
739 margin-bottom: var(--typography-spacing-vertical);
740}
741
742hgroup > * {
743 margin-bottom: 0;
744}
745
746hgroup > *:last-child {
747 --color: var(--muted-color);
748 --font-weight: unset;
749 font-family: unset;
750 font-size: 1rem;
751}
752
753p {
754 margin-bottom: var(--typography-spacing-vertical);
755}
756
757small {
758 font-size: var(--font-size);
759}
760
761ul,
762ol {
763 padding-left: var(--spacing);
764}
765
766ul li,
767ol li {
768 margin-bottom: calc(var(--typography-spacing-vertical) / 4);
769}
770
771ul li {
772 list-style: square;
773}
774
775mark {
776 padding: .125rem .25rem;
777 background-color: var(--mark-background-color);
778 color: var(--mark-color);
779 vertical-align: middle;
780}
781
782blockquote {
783 display: block;
784 margin: var(--typography-spacing-vertical) 0;
785 padding: var(--spacing);
786 border-left: 0.25rem solid var(--blockquote-border-color);
787}
788
789blockquote footer {
790 margin-top: calc(var(--typography-spacing-vertical) / 2);
791 color: var(--blockquote-footer-color);
792}
793
794abbr[title] {
795 border-bottom: 1px dotted;
796 text-decoration: none;
797 cursor: help;
798}
799
800ins {
801 color: var(--ins-color);
802 text-decoration: none;
803}
804
805del {
806 color: var(--del-color);
807}
808
809::selection {
810 background-color: var(--primary-focus);
811}
812
813/**
814 * Embedded content
815 */
816audio,
817canvas,
818iframe,
819img,
820svg,
821video {
822 vertical-align: middle;
823}
824
825audio,
826video {
827 display: inline-block;
828}
829
830audio:not([controls]) {
831 display: none;
832 height: 0;
833}
834
835iframe {
836 border-style: none;
837}
838
839img {
840 max-width: 100%;
841 height: auto;
842 border-style: none;
843}
844
845svg:not([fill]) {
846 fill: currentColor;
847}
848
849svg:not(:root) {
850 overflow: hidden;
851}
852
853/**
854 * Button
855 */
856button {
857 margin: 0;
858 overflow: visible;
859 font-family: inherit;
860 text-transform: none;
861}
862
863button,
864[type="button"],
865[type="reset"],
866[type="submit"] {
867 -webkit-appearance: button;
868}
869
870button::-moz-focus-inner,
871[type="button"]::-moz-focus-inner,
872[type="reset"]::-moz-focus-inner,
873[type="submit"]::-moz-focus-inner {
874 padding: 0;
875 border-style: none;
876}
877
878button {
879 display: block;
880 width: 100%;
881 margin-bottom: var(--spacing);
882}
883
884a[role="button"] {
885 display: inline-block;
886 text-decoration: none;
887}
888
889button,
890input[type="submit"],
891input[type="button"],
892input[type="reset"],
893a[role="button"] {
894 --background-color: var(--primary);
895 --border-color: var(--primary);
896 --color: var(--primary-inverse);
897 --box-shadow: var(--button-box-shadow, 0 0 0 rgba(0, 0, 0, 0));
898 padding: var(--form-element-spacing-vertical) var(--form-element-spacing-horizontal);
899 border: var(--border-width) solid var(--border-color);
900 border-radius: var(--border-radius);
901 outline: none;
902 background-color: var(--background-color);
903 box-shadow: var(--box-shadow);
904 color: var(--color);
905 font-size: 1rem;
906 font-weight: var(--font-weight);
907 line-height: var(--line-height);
908 text-align: center;
909 cursor: pointer;
910 transition: background-color var(--transition), border-color var(--transition), color var(--transition), box-shadow var(--transition);
911}
912
913button:hover, button:active, button:focus,
914input[type="submit"]:hover,
915input[type="submit"]:active,
916input[type="submit"]:focus,
917input[type="button"]:hover,
918input[type="button"]:active,
919input[type="button"]:focus,
920input[type="reset"]:hover,
921input[type="reset"]:active,
922input[type="reset"]:focus,
923a[role="button"]:hover,
924a[role="button"]:active,
925a[role="button"]:focus {
926 --background-color: var(--primary-hover);
927 --border-color: var(--primary-hover);
928 --box-shadow: var(--button-hover-box-shadow, 0 0 0 rgba(0, 0, 0, 0));
929}
930
931button:focus,
932input[type="submit"]:focus,
933input[type="button"]:focus,
934input[type="reset"]:focus,
935a[role="button"]:focus {
936 --box-shadow: var(--button-hover-box-shadow, 0 0 0 rgba(0, 0, 0, 0)), 0 0 0 var(--outline-width) var(--primary-focus);
937}
938
939input[type="reset"] {
940 --background-color: var(--secondary);
941 --border-color: var(--secondary);
942 --color: var(--secondary-inverse);
943 cursor: pointer;
944}
945
946input[type="reset"]:hover, input[type="reset"]:active, input[type="reset"]:focus {
947 --background-color: var(--secondary-hover);
948 --border-color: var(--secondary-hover);
949}
950
951input[type="reset"]:focus {
952 --box-shadow: var(--button-hover-box-shadow, 0 0 0 rgba(0, 0, 0, 0)), 0 0 0 var(--outline-width) var(--secondary-focus);
953}
954
955button[disabled],
956input[type="submit"][disabled],
957input[type="button"][disabled],
958input[type="reset"][disabled],
959a[role="button"][disabled] {
960 opacity: .5;
961 pointer-events: none;
962}
963
964/**
965 * Form elements
966 */
967input,
968optgroup,
969select,
970textarea {
971 margin: 0;
972 font-family: inherit;
973 font-size: 1rem;
974 letter-spacing: inherit;
975 line-height: var(--line-height);
976}
977
978input {
979 overflow: visible;
980}
981
982select {
983 text-transform: none;
984}
985
986legend {
987 max-width: 100%;
988 padding: 0;
989 color: inherit;
990 white-space: normal;
991}
992
993textarea {
994 overflow: auto;
995}
996
997[type="checkbox"],
998[type="radio"] {
999 padding: 0;
1000}
1001
1002::-webkit-inner-spin-button,
1003::-webkit-outer-spin-button {
1004 height: auto;
1005}
1006
1007[type="search"] {
1008 -webkit-appearance: textfield;
1009 outline-offset: -2px;
1010}
1011
1012[type="search"]::-webkit-search-decoration {
1013 -webkit-appearance: none;
1014}
1015
1016::-webkit-file-upload-button {
1017 -webkit-appearance: button;
1018 font: inherit;
1019}
1020
1021::-moz-focus-inner {
1022 padding: 0;
1023 border-style: none;
1024}
1025
1026:-moz-focusring {
1027 outline: none;
1028}
1029
1030:-moz-ui-invalid {
1031 box-shadow: none;
1032}
1033
1034::-ms-expand {
1035 display: none;
1036}
1037
1038[type="file"],
1039[type="range"] {
1040 padding: 0;
1041 border-width: 0;
1042}
1043
1044input:not([type="checkbox"]):not([type="radio"]):not([type="range"]) {
1045 height: calc( (1rem * var(--line-height)) + (var(--form-element-spacing-vertical) * 2) + (var(--border-width) * 2));
1046}
1047
1048fieldset {
1049 margin: 0;
1050 margin-bottom: var(--spacing);
1051 padding: 0;
1052 border: 0;
1053}
1054
1055label,
1056fieldset legend {
1057 display: block;
1058 margin-bottom: calc(var(--spacing) / 4);
1059 vertical-align: middle;
1060}
1061
1062input:not([type="checkbox"]):not([type="radio"]),
1063select,
1064textarea {
1065 display: block;
1066 width: 100%;
1067}
1068
1069input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="file"]),
1070select,
1071textarea {
1072 -webkit-appearance: none;
1073 -moz-appearance: none;
1074 appearance: none;
1075 padding: var(--form-element-spacing-vertical) var(--form-element-spacing-horizontal);
1076 vertical-align: middle;
1077}
1078
1079input,
1080select,
1081textarea {
1082 --background-color: var(--form-element-background-color);
1083 --border-color: var(--form-element-border-color);
1084 --color: var(--form-element-color);
1085 --box-shadow: none;
1086 border: var(--border-width) solid var(--border-color);
1087 border-radius: var(--border-radius);
1088 outline: none;
1089 background-color: var(--background-color);
1090 box-shadow: var(--box-shadow);
1091 color: var(--color);
1092 font-weight: var(--font-weight);
1093 transition: background-color var(--transition), border-color var(--transition), color var(--transition), box-shadow var(--transition);
1094}
1095
1096input: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,
1097select:active,
1098select:focus,
1099textarea:active,
1100textarea:focus {
1101 --background-color: var(--form-element-active-background-color);
1102}
1103
1104input: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,
1105select:active,
1106select:focus,
1107textarea:active,
1108textarea:focus {
1109 --border-color: var(--form-element-active-border-color);
1110}
1111
1112input:not([type="submit"]):not([type="button"]):not([type="reset"]):not([type="range"]):not([type="file"]):not([readonly]):focus,
1113select:focus,
1114textarea:focus {
1115 --box-shadow: 0 0 0 var(--outline-width) var(--form-element-focus-color);
1116}
1117
1118input:not([type="submit"]):not([type="button"]):not([type="reset"])[disabled],
1119select[disabled],
1120textarea[disabled] {
1121 --background-color: var(--form-element-disabled-background-color);
1122 --border-color: var(--form-element-disabled-border-color);
1123 opacity: var(--form-element-disabled-opacity);
1124}
1125
1126input[aria-invalid],
1127select[aria-invalid],
1128textarea[aria-invalid] {
1129 padding-right: 2rem;
1130 background-position: center right .75rem;
1131 background-repeat: no-repeat;
1132 background-size: 1rem auto;
1133}
1134
1135input[aria-invalid="false"],
1136select[aria-invalid="false"],
1137textarea[aria-invalid="false"] {
1138 --border-color: var(--form-element-valid-border-color);
1139 background-image: var(--icon-valid);
1140}
1141
1142input[aria-invalid="false"]:active, input[aria-invalid="false"]:focus,
1143select[aria-invalid="false"]:active,
1144select[aria-invalid="false"]:focus,
1145textarea[aria-invalid="false"]:active,
1146textarea[aria-invalid="false"]:focus {
1147 --border-color: var(--form-element-valid-active-border-color) !important;
1148}
1149
1150input[aria-invalid="true"],
1151select[aria-invalid="true"],
1152textarea[aria-invalid="true"] {
1153 --border-color: var(--form-element-invalid-border-color);
1154 background-image: var(--icon-invalid);
1155}
1156
1157input[aria-invalid="true"]:active, input[aria-invalid="true"]:focus,
1158select[aria-invalid="true"]:active,
1159select[aria-invalid="true"]:focus,
1160textarea[aria-invalid="true"]:active,
1161textarea[aria-invalid="true"]:focus {
1162 --border-color: var(--form-element-invalid-active-border-color) !important;
1163}
1164
1165input::placeholder,
1166input::-webkit-input-placeholder,
1167textarea::placeholder,
1168textarea::-webkit-input-placeholder,
1169select:invalid {
1170 color: var(--form-element-placeholder-color);
1171 opacity: 1;
1172}
1173
1174input:not([type="checkbox"]):not([type="radio"]),
1175select,
1176textarea {
1177 margin-bottom: var(--spacing);
1178}
1179
1180select::-ms-expand {
1181 border: 0;
1182 background-color: transparent;
1183}
1184
1185select:not([multiple]):not([size]) {
1186 padding-right: calc(var(--form-element-spacing-horizontal) + 1.5rem);
1187 background-image: var(--icon-chevron);
1188 background-position: center right .75rem;
1189 background-repeat: no-repeat;
1190 background-size: 1rem auto;
1191}
1192
1193input + small,
1194select + small,
1195textarea + small {
1196 display: block;
1197 width: 100%;
1198 margin-top: calc(var(--spacing) * -0.75);
1199 margin-bottom: var(--spacing);
1200 color: var(--muted-color);
1201}
1202
1203label > input,
1204label > select,
1205label > textarea {
1206 margin-top: calc(var(--spacing) / 4);
1207}
1208
1209/**
1210 * Form elements
1211 * Checkboxes & Radios
1212 */
1213[type="checkbox"],
1214[type="radio"] {
1215 -webkit-appearance: none;
1216 -moz-appearance: none;
1217 appearance: none;
1218 display: inline-block;
1219 width: 1.25em;
1220 height: 1.25em;
1221 margin-top: -.125em;
1222 margin-right: .375em;
1223 border-width: var(--border-width);
1224 vertical-align: middle;
1225 cursor: pointer;
1226}
1227
1228[type="checkbox"]::-ms-check,
1229[type="radio"]::-ms-check {
1230 display: none;
1231}
1232
1233[type="checkbox"]:checked, [type="checkbox"]:checked:active, [type="checkbox"]:checked:focus,
1234[type="radio"]:checked,
1235[type="radio"]:checked:active,
1236[type="radio"]:checked:focus {
1237 --background-color: var(--primary);
1238 --border-color: var(--primary);
1239 background-image: var(--icon-checkbox);
1240 background-position: center;
1241 background-repeat: no-repeat;
1242 background-size: .75em auto;
1243}
1244
1245[type="checkbox"] ~ label,
1246[type="radio"] ~ label {
1247 display: inline-block;
1248 margin-right: .375em;
1249 margin-bottom: 0;
1250 cursor: pointer;
1251}
1252
1253[type="checkbox"]:indeterminate {
1254 --background-color: var(--primary);
1255 --border-color: var(--primary);
1256 background-image: var(--icon-minus);
1257 background-position: center;
1258 background-repeat: no-repeat;
1259 background-size: .75em auto;
1260}
1261
1262[type="radio"] {
1263 border-radius: 50%;
1264}
1265
1266[type="radio"]:checked, [type="radio"]:checked:active, [type="radio"]:checked:focus {
1267 --background-color: var(--primary-inverse);
1268 border-width: .35em;
1269 background-image: none;
1270}
1271
1272[type="checkbox"][role="switch"] {
1273 --background-color: var(--switch-background-color);
1274 --border-color: var(--switch-background-color);
1275 --color: var(--switch-color);
1276 width: 2.25em;
1277 height: 1.25em;
1278 border: var(--border-width) solid var(--border-color);
1279 border-radius: 1.25em;
1280 background-color: var(--background-color);
1281 line-height: 1.25em;
1282}
1283
1284[type="checkbox"][role="switch"]:focus {
1285 --background-color: var(--switch-background-color);
1286 --border-color: var(--switch-background-color);
1287}
1288
1289[type="checkbox"][role="switch"]:checked {
1290 --background-color: var(--switch-checked-background-color);
1291 --border-color: var(--switch-checked-background-color);
1292}
1293
1294[type="checkbox"][role="switch"]:before {
1295 display: block;
1296 width: calc(1.25em - (var(--border-width) * 2));
1297 height: 100%;
1298 border-radius: 50%;
1299 background-color: var(--color);
1300 content: '';
1301 transition: margin 0.1s ease-in-out;
1302}
1303
1304[type="checkbox"][role="switch"]:checked {
1305 background-image: none;
1306}
1307
1308[type="checkbox"][role="switch"]:checked::before {
1309 margin-right: 0;
1310 margin-left: calc(1.125em - var(--border-width));
1311}
1312
1313/**
1314 * Form elements
1315 * Alternatives input types (Not Checkboxes & Radios)
1316 */
1317[type="color"]::-webkit-color-swatch-wrapper {
1318 padding: 0;
1319}
1320
1321[type="color"]::-moz-focus-inner {
1322 padding: 0;
1323}
1324
1325[type="color"]::-webkit-color-swatch {
1326 border: none;
1327 border-radius: calc(var(--border-radius) / 2);
1328}
1329
1330[type="color"]::-moz-color-swatch {
1331 border: none;
1332 border-radius: calc(var(--border-radius) / 2);
1333}
1334
1335[type="date"],
1336[type="datetime-local"],
1337[type="month"],
1338[type="time"],
1339[type="week"] {
1340 background-image: var(--icon-date);
1341 background-position: center right .75rem;
1342 background-repeat: no-repeat;
1343 background-size: 1rem auto;
1344}
1345
1346[type="date"]::-webkit-calendar-picker-indicator,
1347[type="datetime-local"]::-webkit-calendar-picker-indicator,
1348[type="month"]::-webkit-calendar-picker-indicator,
1349[type="time"]::-webkit-calendar-picker-indicator,
1350[type="week"]::-webkit-calendar-picker-indicator {
1351 opacity: 0;
1352}
1353
1354[type="time"] {
1355 background-image: var(--icon-time);
1356}
1357
1358[type="file"] {
1359 --color: var(--muted-color);
1360 padding: calc(var(--form-element-spacing-vertical)/2) 0;
1361 border: none;
1362 border-radius: 0;
1363 background: none;
1364}
1365
1366[type="file"]::-webkit-file-upload-button {
1367 --background-color: var(--secondary);
1368 --border-color: var(--secondary);
1369 --color: var(--secondary-inverse);
1370 margin-right: calc(var(--spacing) / 2);
1371 padding: calc(var(--form-element-spacing-vertical) / 2) calc(var(--form-element-spacing-horizontal) / 2);
1372 border: var(--border-width) solid var(--border-color);
1373 border-radius: var(--border-radius);
1374 outline: none;
1375 background-color: var(--background-color);
1376 box-shadow: var(--box-shadow);
1377 color: var(--color);
1378 font-size: 1rem;
1379 font-weight: var(--font-weight);
1380 line-height: var(--line-height);
1381 text-align: center;
1382 cursor: pointer;
1383 transition: background-color var(--transition), border-color var(--transition), color var(--transition), box-shadow var(--transition);
1384}
1385
1386[type="file"]:hover, [type="file"]:active, [type="file"]:focus {
1387 --color: var(--color);
1388 border: none;
1389 background: none;
1390}
1391
1392[type="file"]:hover::-webkit-file-upload-button, [type="file"]:active::-webkit-file-upload-button, [type="file"]:focus::-webkit-file-upload-button {
1393 --background-color: var(--secondary-hover);
1394 --border-color: var(--secondary-hover);
1395}
1396
1397[type="range"] {
1398 -webkit-appearance: none;
1399 -moz-appearance: none;
1400 appearance: none;
1401 display: block;
1402 width: 100%;
1403 height: 1.25rem;
1404 background: transparent;
1405}
1406
1407[type="range"]::-webkit-slider-runnable-track {
1408 width: 100%;
1409 height: 0.25rem;
1410 border-radius: var(--border-radius);
1411 background-color: var(--range-border-color);
1412 transition: background-color var(--transition), box-shadow var(--transition);
1413}
1414
1415[type="range"]::-moz-range-track {
1416 width: 100%;
1417 height: 0.25rem;
1418 border-radius: var(--border-radius);
1419 background-color: var(--range-border-color);
1420 transition: background-color var(--transition), box-shadow var(--transition);
1421}
1422
1423[type="range"]::-ms-track {
1424 width: 100%;
1425 height: 0.25rem;
1426 border-radius: var(--border-radius);
1427 background-color: var(--range-border-color);
1428 transition: background-color var(--transition), box-shadow var(--transition);
1429}
1430
1431[type="range"]::-ms-fill-lower {
1432 background-color: var(--border-radius);
1433}
1434
1435[type="range"]::-webkit-slider-thumb {
1436 -webkit-appearance: none;
1437 width: 1.25rem;
1438 height: 1.25rem;
1439 margin-top: -0.5rem;
1440 border: 2px solid var(--range-thumb-border-color);
1441 border-radius: 50%;
1442 background-color: var(--range-thumb-color);
1443 cursor: pointer;
1444 transition: background-color var(--transition), transform var(--transition);
1445}
1446
1447[type="range"]::-moz-range-thumb {
1448 -webkit-appearance: none;
1449 width: 1.25rem;
1450 height: 1.25rem;
1451 margin-top: -0.5rem;
1452 border: 2px solid var(--range-thumb-border-color);
1453 border-radius: 50%;
1454 background-color: var(--range-thumb-color);
1455 cursor: pointer;
1456 transition: background-color var(--transition), transform var(--transition);
1457}
1458
1459[type="range"]::-ms-thumb {
1460 -webkit-appearance: none;
1461 width: 1.25rem;
1462 height: 1.25rem;
1463 margin-top: -0.5rem;
1464 border: 2px solid var(--range-thumb-border-color);
1465 border-radius: 50%;
1466 background-color: var(--range-thumb-color);
1467 cursor: pointer;
1468 transition: background-color var(--transition), transform var(--transition);
1469}
1470
1471[type="range"]:hover, [type="range"]:focus {
1472 --range-border-color: var(--range-active-border-color);
1473 --range-thumb-color: var(--range-thumb-hover-color);
1474}
1475
1476[type="range"]:active {
1477 --range-thumb-color: var(--range-thumb-active-color);
1478}
1479
1480[type="range"]:active::-webkit-slider-thumb {
1481 transform: scale(1.25);
1482}
1483
1484[type="range"]:active::-moz-range-thumb {
1485 transform: scale(1.25);
1486}
1487
1488[type="range"]:active::-ms-thumb {
1489 transform: scale(1.25);
1490}
1491
1492[type="search"] {
1493 border-radius: 5rem;
1494 padding-left: calc(var(--form-element-spacing-horizontal) + 1.75rem) !important;
1495 background-image: var(--icon-search);
1496 background-position: center left 1.125rem;
1497 background-repeat: no-repeat;
1498 background-size: 1rem auto;
1499}
1500
1501[type="search"]::-webkit-search-cancel-button {
1502 -webkit-appearance: none;
1503 display: none;
1504}
1505
1506/**
1507 * Table
1508 */
1509table {
1510 width: 100%;
1511 border-color: inherit;
1512 border-collapse: collapse;
1513 border-spacing: 0;
1514 text-indent: 0;
1515}
1516
1517th,
1518td {
1519 padding: calc(var(--spacing) / 2) var(--spacing);
1520 border-bottom: var(--border-width) solid var(--table-border-color);
1521 color: var(--color);
1522 font-size: var(--font-size);
1523 font-weight: var(--font-weight);
1524 text-align: left;
1525}
1526
1527tr {
1528 background-color: var(--background-color);
1529}
1530
1531table[role="grid"] tbody tr:nth-child(odd) {
1532 --background-color: var(--table-row-stripped-background-color);
1533}
1534
1535/**
1536 * Code
1537 */
1538pre,
1539code,
1540kbd,
1541samp {
1542 font-family: var(--font-family);
1543 font-size: .875rem;
1544}
1545
1546pre {
1547 -ms-overflow-style: scrollbar;
1548 overflow: auto;
1549}
1550
1551pre,
1552code,
1553kbd {
1554 background: var(--code-background-color);
1555 color: var(--code-color);
1556 font-weight: var(--font-weight);
1557 line-height: initial;
1558}
1559
1560code,
1561kbd {
1562 display: inline-block;
1563 padding: .375rem .5rem;
1564 border-radius: var(--border-radius);
1565}
1566
1567pre {
1568 display: block;
1569 margin-bottom: var(--spacing);
1570 padding: var(--spacing);
1571 overflow-x: auto;
1572 background: var(--code-background-color);
1573}
1574
1575pre > code {
1576 display: block;
1577 padding: 0;
1578 background: transparent;
1579 font-size: 14px;
1580 line-height: var(--line-height);
1581}
1582
1583code b {
1584 color: var(--code-tag-color);
1585 font-weight: var(--font-weight);
1586}
1587
1588code i {
1589 color: var(--code-property-color);
1590 font-style: normal;
1591}
1592
1593code u {
1594 color: var(--code-value-color);
1595 text-decoration: none;
1596}
1597
1598code em {
1599 color: var(--code-comment-color);
1600 font-style: normal;
1601}
1602
1603kbd {
1604 background-color: var(--code-kbd-background-color);
1605 color: var(--code-kbd-color);
1606 vertical-align: middle;
1607}
1608
1609/**
1610 * Miscs
1611 */
1612hr {
1613 box-sizing: content-box;
1614 height: 0;
1615 overflow: visible;
1616 border: none;
1617 border-top: 1px solid var(--muted-border-color);
1618}
1619
1620[hidden],
1621template {
1622 display: none;
1623}
1624
1625dialog {
1626 display: block;
1627 position: absolute;
1628 right: 0;
1629 left: 0;
1630 width: -moz-fit-content;
1631 width: -webkit-fit-content;
1632 width: fit-content;
1633 height: -moz-fit-content;
1634 height: -webkit-fit-content;
1635 height: fit-content;
1636 margin: auto;
1637 padding: 1em;
1638 border: solid;
1639 background-color: white;
1640 color: black;
1641}
1642
1643dialog:not([open]) {
1644 display: none;
1645}
1646
1647canvas {
1648 display: inline-block;
1649}
1650
1651/**
1652 * Accordion (<details>)
1653 * Inspiration: https://codepen.io/koca/pen/RyeLLV
1654 */
1655details {
1656 display: block;
1657 margin-bottom: var(--spacing);
1658 padding-bottom: calc(var(--spacing) / 2);
1659 border-bottom: var(--border-width) solid var(--accordion-border-color);
1660}
1661
1662details summary {
1663 color: var(--accordion-close-summary-color);
1664 line-height: 1rem;
1665 list-style-type: none;
1666 list-style-type: none;
1667 cursor: pointer;
1668 transition: color var(--transition);
1669}
1670
1671details summary::-webkit-details-marker {
1672 display: none;
1673}
1674
1675details summary::marker {
1676 display: none;
1677}
1678
1679details summary::-moz-list-bullet {
1680 list-style-type: none;
1681}
1682
1683details summary::after {
1684 display: inline-block;
1685 width: 1rem;
1686 height: 1rem;
1687 float: right;
1688 transform: rotate(-90deg);
1689 background-image: var(--icon-chevron);
1690 background-position: center;
1691 background-repeat: no-repeat;
1692 background-size: 1rem auto;
1693 content: '';
1694 transition: transform var(--transition);
1695}
1696
1697details summary:focus {
1698 outline: none;
1699 color: var(--accordion-active-summary-color);
1700}
1701
1702details summary ~ * {
1703 margin-top: calc(var(--spacing) / 2);
1704}
1705
1706details summary ~ * ~ * {
1707 margin-top: 0;
1708}
1709
1710details[open] > summary {
1711 margin-bottom: calc(var(--spacing) / 4);
1712}
1713
1714details[open] > summary:not(:focus) {
1715 color: var(--accordion-open-summary-color);
1716}
1717
1718details[open] > summary::after {
1719 transform: rotate(0);
1720}
1721
1722/**
1723 * Card (<article>)
1724 */
1725article {
1726 margin: var(--block-spacing-vertical) 0;
1727 padding: var(--block-spacing-vertical) var(--block-spacing-horizontal);
1728 overflow: hidden;
1729 border-radius: var(--border-radius);
1730 background: var(--card-background-color);
1731 box-shadow: var(--card-box-shadow);
1732}
1733
1734article > header,
1735article > footer,
1736article > pre {
1737 margin-right: calc(var(--block-spacing-horizontal) * -1);
1738 margin-left: calc(var(--block-spacing-horizontal) * -1);
1739 padding: calc(var(--block-spacing-vertical) / 1.5) var(--block-spacing-horizontal);
1740 background-color: var(--card-sectionning-background-color);
1741}
1742
1743article > header {
1744 margin-top: calc(var(--block-spacing-vertical) * -1);
1745 margin-bottom: var(--block-spacing-vertical);
1746 border-bottom: var(--border-width) solid var(--card-border-color);
1747}
1748
1749article > footer,
1750article > pre {
1751 margin-top: var(--block-spacing-vertical);
1752 margin-bottom: calc(var(--block-spacing-vertical) * -1);
1753 border-top: var(--border-width) solid var(--card-border-color);
1754}
1755
1756/**
1757 * Nav
1758 */
1759nav,
1760nav ul {
1761 display: flex;
1762}
1763
1764nav {
1765 justify-content: space-between;
1766}
1767
1768nav ol,
1769nav ul {
1770 align-items: center;
1771 margin-bottom: 0;
1772 padding: 0;
1773 list-style: none;
1774}
1775
1776nav ol:first-of-type,
1777nav ul:first-of-type {
1778 margin-left: calc(var(--spacing) * -0.5);
1779}
1780
1781nav ol:last-of-type,
1782nav ul:last-of-type {
1783 margin-right: calc(var(--spacing) * -0.5);
1784}
1785
1786nav li {
1787 display: inline-block;
1788 margin: 0;
1789 padding: var(--spacing) calc(var(--spacing) / 2);
1790}
1791
1792nav li > *,
1793nav li > input:not([type="checkbox"]):not([type="radio"]) {
1794 margin-bottom: 0;
1795}
1796
1797nav a {
1798 display: block;
1799 margin: calc(var(--spacing) * -1) calc(var(--spacing) * -0.5);
1800 padding: var(--spacing) calc(var(--spacing) / 2);
1801 border-radius: var(--border-radius);
1802 text-decoration: none;
1803}
1804
1805nav a:hover, nav a:active, nav a:focus {
1806 text-decoration: none;
1807}
1808
1809aside nav,
1810aside ol,
1811aside ul,
1812aside li {
1813 display: block;
1814}
1815
1816aside li {
1817 padding: calc(var(--spacing) / 2);
1818}
1819
1820aside li a {
1821 margin: calc(var(--spacing) * -0.5);
1822 padding: calc(var(--spacing) / 2);
1823}
1824
1825/**
1826 * Progress
1827 */
1828progress {
1829 display: inline-block;
1830 vertical-align: baseline;
1831}
1832
1833progress {
1834 -webkit-appearance: none;
1835 -moz-appearance: none;
1836 appearance: none;
1837 display: inline-block;
1838 width: 100%;
1839 height: .5rem;
1840 margin-bottom: calc(var(--spacing) / 2);
1841 overflow: hidden;
1842 border: 0;
1843 border-radius: var(--border-radius);
1844 background-color: var(--progress-background-color);
1845 color: var(--progress-color);
1846}
1847
1848progress::-webkit-progress-bar {
1849 border-radius: var(--border-radius);
1850 background: transparent;
1851}
1852
1853progress[value]::-webkit-progress-value {
1854 background-color: var(--progress-color);
1855}
1856
1857progress::-moz-progress-bar {
1858 background-color: var(--progress-color);
1859}
1860
1861@media (prefers-reduced-motion: no-preference) {
1862 progress:indeterminate {
1863 background: var(--progress-background-color) linear-gradient(to right, var(--progress-color) 30%, var(--progress-background-color) 30%) top left/150% 150% no-repeat;
1864 animation: progressIndeterminate 1s linear infinite;
1865 }
1866 progress:indeterminate[value]::-webkit-progress-value {
1867 background-color: transparent;
1868 }
1869 progress:indeterminate::-moz-progress-bar {
1870 background-color: transparent;
1871 }
1872}
1873
1874@keyframes progressIndeterminate {
1875 0% {
1876 background-position: 200% 0;
1877 }
1878 100% {
1879 background-position: -200% 0;
1880 }
1881}
1882
1883/**
1884 * Loading ([aria-busy=true])
1885 */
1886[aria-busy="true"] {
1887 cursor: progress;
1888}
1889
1890[aria-busy="true"]:not(input):not(select):not(textarea)::before {
1891 display: inline-block;
1892 width: 1em;
1893 height: 1em;
1894 border: 0.1875em solid currentColor;
1895 border-radius: 1em;
1896 border-right-color: transparent;
1897 vertical-align: text-bottom;
1898 vertical-align: -.125em;
1899 animation: spinner 0.75s linear infinite;
1900 content: '';
1901 opacity: var(--loading-spinner-opacity);
1902}
1903
1904[aria-busy="true"]:not(input):not(select):not(textarea):not(:empty)::before {
1905 margin-right: calc(var(--spacing) / 2);
1906}
1907
1908[aria-busy="true"]:not(input):not(select):not(textarea):empty {
1909 text-align: center;
1910}
1911
1912button[aria-busy="true"],
1913input[type="submit"][aria-busy="true"],
1914input[type="button"][aria-busy="true"],
1915input[type="reset"][aria-busy="true"],
1916a[aria-busy="true"] {
1917 pointer-events: none;
1918}
1919
1920@keyframes spinner {
1921 to {
1922 transform: rotate(360deg);
1923 }
1924}
1925
1926/**
1927 * Tooltip ([data-tooltip])
1928 */
1929[data-tooltip] {
1930 position: relative;
1931}
1932
1933[data-tooltip]:not(a):not(button):not(input) {
1934 border-bottom: 1px dotted;
1935 text-decoration: none;
1936 cursor: help;
1937}
1938
1939[data-tooltip]::before, [data-tooltip]::after {
1940 display: block;
1941 z-index: 99;
1942 position: absolute;
1943 bottom: 100%;
1944 left: 50%;
1945 padding: .25rem .5rem;
1946 overflow: hidden;
1947 transform: translate(-50%, -0.25rem);
1948 border-radius: var(--border-radius);
1949 background: var(--tooltip-background-color);
1950 color: var(--tooltip-color);
1951 font-size: .875rem;
1952 font-style: normal;
1953 font-weight: var(--font-weight);
1954 text-decoration: none;
1955 text-overflow: ellipsis;
1956 white-space: nowrap;
1957 content: attr(data-tooltip);
1958 opacity: 0;
1959 pointer-events: none;
1960}
1961
1962[data-tooltip]::after {
1963 padding: 0;
1964 transform: translate(-50%, 0rem);
1965 border-top: .3rem solid;
1966 border-right: .3rem solid transparent;
1967 border-left: .3rem solid transparent;
1968 border-radius: 0;
1969 background-color: transparent;
1970 color: var(--tooltip-background-color);
1971 content: '';
1972}
1973
1974[data-tooltip]:focus::before, [data-tooltip]:focus::after, [data-tooltip]:hover::before, [data-tooltip]:hover::after {
1975 opacity: 1;
1976 animation-name: slide;
1977 animation-duration: .2s;
1978}
1979
1980[data-tooltip]:focus::after, [data-tooltip]:hover::after {
1981 animation-name: slideCaret;
1982}
1983
1984@keyframes slide {
1985 from {
1986 transform: translate(-50%, 0.75rem);
1987 opacity: 0;
1988 }
1989 to {
1990 transform: translate(-50%, -0.25rem);
1991 opacity: 1;
1992 }
1993}
1994
1995@keyframes slideCaret {
1996 from {
1997 opacity: 0;
1998 }
1999 50% {
2000 transform: translate(-50%, -0.25rem);
2001 opacity: 0;
2002 }
2003 to {
2004 transform: translate(-50%, 0rem);
2005 opacity: 1;
2006 }
2007}
2008
2009/**
2010 * Accessibility & User interaction
2011 */
2012[aria-controls] {
2013 cursor: pointer;
2014}
2015
2016[aria-disabled="true"],
2017[disabled] {
2018 cursor: not-allowed;
2019}
2020
2021[aria-hidden="false"][hidden] {
2022 display: initial;
2023}
2024
2025[aria-hidden="false"][hidden]:not(:focus) {
2026 clip: rect(0, 0, 0, 0);
2027 position: absolute;
2028}
2029
2030a,
2031area,
2032button,
2033input,
2034label,
2035select,
2036summary,
2037textarea,
2038[tabindex] {
2039 -ms-touch-action: manipulation;
2040}
2041
2042/**
2043 * Reduce Motion Features
2044 */
2045@media (prefers-reduced-motion: reduce) {
2046 *:not([aria-busy="true"]),
2047 :not([aria-busy="true"])::before,
2048 :not([aria-busy="true"])::after {
2049 background-attachment: initial !important;
2050 animation-duration: 1ms !important;
2051 animation-delay: -1ms !important;
2052 animation-iteration-count: 1 !important;
2053 scroll-behavior: auto !important;
2054 transition-delay: 0s !important;
2055 transition-duration: 0s !important;
2056 }
2057}