UNPKG

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