bullframe.css 5.1.0 → 6.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +39 -2
- package/LICENSE +1 -1
- package/README.md +34 -458
- package/dist/css/bullframe-classless-dark.css +1270 -909
- package/dist/css/bullframe-classless-dark.css.map +1 -1
- package/dist/css/bullframe-classless-dark.min.css +1 -3
- package/dist/css/bullframe-classless-dark.min.css.map +1 -1
- package/dist/css/bullframe-classless-system-default.css +1339 -899
- package/dist/css/bullframe-classless-system-default.css.map +1 -1
- package/dist/css/bullframe-classless-system-default.min.css +1 -3
- package/dist/css/bullframe-classless-system-default.min.css.map +1 -1
- package/dist/css/bullframe-classless.css +1098 -713
- package/dist/css/bullframe-classless.css.map +1 -1
- package/dist/css/bullframe-classless.min.css +1 -3
- package/dist/css/bullframe-classless.min.css.map +1 -1
- package/dist/css/bullframe-dark.css +2105 -1541
- package/dist/css/bullframe-dark.css.map +1 -1
- package/dist/css/bullframe-dark.min.css +1 -3
- package/dist/css/bullframe-dark.min.css.map +1 -1
- package/dist/css/bullframe-system-default.css +2107 -1529
- package/dist/css/bullframe-system-default.css.map +1 -1
- package/dist/css/bullframe-system-default.min.css +1 -3
- package/dist/css/bullframe-system-default.min.css.map +1 -1
- package/dist/css/bullframe-utilities.css +766 -490
- package/dist/css/bullframe-utilities.css.map +1 -1
- package/dist/css/bullframe-utilities.min.css +1 -2
- package/dist/css/bullframe-utilities.min.css.map +1 -1
- package/dist/css/bullframe.css +1900 -1310
- package/dist/css/bullframe.css.map +1 -1
- package/dist/css/bullframe.min.css +1 -3
- package/dist/css/bullframe.min.css.map +1 -1
- package/package.json +70 -28
- package/.browserslistrc +0 -3
- package/.editorconfig +0 -15
- package/.htmlhintrc +0 -12
- package/.prettierignore +0 -1
- package/.stylelintignore +0 -3
- package/.stylelintrc.json +0 -26
- package/dist/apple-touch-icon.png +0 -0
- package/dist/css/bullframe-classless-dark-prefers.css +0 -1280
- package/dist/css/bullframe-classless-dark-prefers.css.map +0 -1
- package/dist/css/bullframe-classless-dark-prefers.min.css +0 -3
- package/dist/css/bullframe-classless-dark-prefers.min.css.map +0 -1
- package/dist/css/bullframe-dark-prefers.css +0 -2296
- package/dist/css/bullframe-dark-prefers.css.map +0 -1
- package/dist/css/bullframe-dark-prefers.min.css +0 -3
- package/dist/css/bullframe-dark-prefers.min.css.map +0 -1
- package/dist/docs/demo/index.html +0 -1154
- package/dist/favicon-16x16.png +0 -0
- package/dist/favicon-32x32.png +0 -0
- package/dist/favicon.ico +0 -0
- package/dist/index.css +0 -1
- package/dist/index.js.map +0 -1
- package/dist/placeholder-img-800x400.jpg +0 -0
- package/dist/video-poster.png +0 -0
- package/prettier.config.js +0 -26
- package/src/scss/bullframe-classless-dark-prefers.scss +0 -2
- package/src/scss/bullframe-classless-dark.scss +0 -2
- package/src/scss/bullframe-classless-system-default.scss +0 -2
- package/src/scss/bullframe-classless.scss +0 -49
- package/src/scss/bullframe-dark-prefers.scss +0 -2
- package/src/scss/bullframe-dark.scss +0 -2
- package/src/scss/bullframe-system-default.scss +0 -2
- package/src/scss/bullframe-utilities.scss +0 -21
- package/src/scss/bullframe.scss +0 -49
- package/src/scss/custom/_author-styles.scss +0 -5
- package/src/scss/forms/_forms-normalization.scss +0 -300
- package/src/scss/forms/_forms-styling-radio-checkbox.scss +0 -81
- package/src/scss/forms/_forms-styling-range.scss +0 -106
- package/src/scss/forms/_forms-styling-select.scss +0 -58
- package/src/scss/forms/_forms-styling.scss +0 -118
- package/src/scss/miscellaneous/_misc-accessibility.scss +0 -36
- package/src/scss/miscellaneous/_misc-anchors.scss +0 -37
- package/src/scss/miscellaneous/_misc-embedded-content.scss +0 -117
- package/src/scss/miscellaneous/_misc-focus.scss +0 -80
- package/src/scss/miscellaneous/_misc-interactive.scss +0 -48
- package/src/scss/miscellaneous/_misc-layout.scss +0 -30
- package/src/scss/miscellaneous/_misc-lists.scss +0 -53
- package/src/scss/miscellaneous/_misc-scrolling.scss +0 -5
- package/src/scss/miscellaneous/_misc-shame.scss +0 -37
- package/src/scss/miscellaneous/_misc-tables.scss +0 -53
- package/src/scss/mixins/_mixin-dark-prefers.scss +0 -413
- package/src/scss/mixins/_mixin-dark.scss +0 -415
- package/src/scss/mixins/_mixin-grid-flex.scss +0 -80
- package/src/scss/mixins/_mixin-layout.scss +0 -42
- package/src/scss/mixins/_mixin-texts.scss +0 -37
- package/src/scss/typography/_typography-blockquotes.scss +0 -28
- package/src/scss/typography/_typography-headings.scss +0 -45
- package/src/scss/typography/_typography-html-body.scss +0 -75
- package/src/scss/typography/_typography-misc.scss +0 -90
- package/src/scss/typography/_typography-monospaced-elements.scss +0 -59
- package/src/scss/utilities/_utility-buttons.scss +0 -73
- package/src/scss/utilities/_utility-debugging.scss +0 -31
- package/src/scss/utilities/_utility-embeds.scss +0 -34
- package/src/scss/utilities/_utility-filters.scss +0 -21
- package/src/scss/utilities/_utility-form-states.scss +0 -89
- package/src/scss/utilities/_utility-global-dark-classless.scss +0 -3
- package/src/scss/utilities/_utility-global-dark-prefers-classless.scss +0 -3
- package/src/scss/utilities/_utility-global-dark-prefers.scss +0 -3
- package/src/scss/utilities/_utility-global-dark-scrollbars.scss +0 -34
- package/src/scss/utilities/_utility-global-dark.scss +0 -4
- package/src/scss/utilities/_utility-global-system-default-classless.scss +0 -3
- package/src/scss/utilities/_utility-global-system-default.scss +0 -3
- package/src/scss/utilities/_utility-grid-system.scss +0 -140
- package/src/scss/utilities/_utility-layout.scss +0 -187
- package/src/scss/utilities/_utility-lists.scss +0 -17
- package/src/scss/utilities/_utility-print.scss +0 -101
- package/src/scss/utilities/_utility-reduced-motion.scss +0 -29
- package/src/scss/utilities/_utility-spacing.scss +0 -148
- package/src/scss/utilities/_utility-tables.scss +0 -34
- package/src/scss/utilities/_utility-texts.scss +0 -225
- package/src/scss/utilities/_utility-z-index.scss +0 -83
- package/src/scss/variables/_variables-breakpoints.scss +0 -6
- package/src/scss/variables/_variables-colors.scss +0 -34
- package/src/scss/variables/_variables-spacing.scss +0 -24
- package/src/scss/variables/_variables-texts.scss +0 -8
- package/vite.config.js +0 -148
|
@@ -1,5 +1,82 @@
|
|
|
1
|
-
/* ! Bullframe CSS
|
|
2
|
-
|
|
1
|
+
/* ! Bullframe CSS v6.0.0 | MIT License | https://github.com/marcop135/bullframe.css */
|
|
2
|
+
|
|
3
|
+
/* Always-dark classless build. */
|
|
4
|
+
|
|
5
|
+
/* Classless build: semantic element styles only (no .bf-* utilities). */
|
|
6
|
+
|
|
7
|
+
/* Variables */
|
|
8
|
+
/* Design tokens (--bf-*). Shared by every build variant.
|
|
9
|
+
* Override on :root (or a scope) to theme without rebuilding. */
|
|
10
|
+
|
|
11
|
+
:root {
|
|
12
|
+
/* Neutrals */
|
|
13
|
+
--bf-white: rgb(255 255 255);
|
|
14
|
+
--bf-light: rgb(240 240 240);
|
|
15
|
+
--bf-gray-light-extra: rgb(233 233 233);
|
|
16
|
+
--bf-gray-light: rgb(204 204 204);
|
|
17
|
+
--bf-gray: rgb(153 153 153);
|
|
18
|
+
--bf-gray-dark: rgb(102 102 102);
|
|
19
|
+
--bf-gray-dark-extra: rgb(51 51 51);
|
|
20
|
+
--bf-dark: rgb(34 34 34);
|
|
21
|
+
--bf-dark-extra: rgb(17 17 17);
|
|
22
|
+
--bf-black: rgb(0 0 0);
|
|
23
|
+
|
|
24
|
+
/* Highlight / mark */
|
|
25
|
+
--bf-yellow-light: rgb(255 255 153);
|
|
26
|
+
--bf-yellow: rgb(255 255 0);
|
|
27
|
+
--bf-orange: rgb(255 165 0);
|
|
28
|
+
|
|
29
|
+
/* Accent: WCAG AA on white (links 4.5:1) and white-on-blue buttons (4.5:1) */
|
|
30
|
+
--bf-blue: rgb(0 86 179);
|
|
31
|
+
--bf-blue-light: rgb(0 65 135);
|
|
32
|
+
--bf-blue-light-extra: rgb(190 216 254);
|
|
33
|
+
|
|
34
|
+
/* Invalid / error */
|
|
35
|
+
--bf-red: rgb(255 0 0);
|
|
36
|
+
|
|
37
|
+
/* Dark-mode surfaces (used by utility-global-dark*.css) */
|
|
38
|
+
--bf-dark-bg: rgb(28 28 28);
|
|
39
|
+
--bf-dark-link: rgb(77 165 255);
|
|
40
|
+
--bf-dark-link-hover: rgb(77 165 255);
|
|
41
|
+
--bf-dark-border-focus: rgb(26 140 255);
|
|
42
|
+
--bf-dark-shadow-focus: rgb(3 102 214 / 50%);
|
|
43
|
+
--bf-dark-mark-bg: rgb(230 230 0);
|
|
44
|
+
--bf-dark-ins-bg: rgb(255 255 200);
|
|
45
|
+
--bf-dark-button-hover: rgb(184 184 184);
|
|
46
|
+
--bf-dark-button-shadow: rgb(255 255 255 / 45%);
|
|
47
|
+
--bf-dark-invalid: rgb(255 38 38);
|
|
48
|
+
|
|
49
|
+
/* Spacing scale + grid gutter */
|
|
50
|
+
--bf-spacing-sm: 0.25rem;
|
|
51
|
+
--bf-spacing-md: 0.5rem;
|
|
52
|
+
--bf-spacing-lg: 1rem;
|
|
53
|
+
--bf-spacing-xl: 2rem;
|
|
54
|
+
--bf-spacing-xxl: 3rem;
|
|
55
|
+
--bf-spacing-grid-gutter: 1.5rem;
|
|
56
|
+
|
|
57
|
+
/* Type */
|
|
58
|
+
--bf-font-sans-serif:
|
|
59
|
+
-apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen-Sans, Ubuntu, Cantarell,
|
|
60
|
+
'Helvetica Neue', Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji',
|
|
61
|
+
'Segoe UI Symbol', 'Noto Color Emoji';
|
|
62
|
+
--bf-font-serif: Georgia, Times, 'Times New Roman', serif;
|
|
63
|
+
--bf-font-monospace:
|
|
64
|
+
SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', 'Courier New', monospace;
|
|
65
|
+
--bf-body-font-size-rem: 1.6rem;
|
|
66
|
+
--bf-body-line-height: 1.5;
|
|
67
|
+
|
|
68
|
+
/* Breakpoint tokens (documentation / tooling; media queries use literal px below) */
|
|
69
|
+
--bf-breakpoint-xs: 0;
|
|
70
|
+
--bf-breakpoint-sm: 576px;
|
|
71
|
+
--bf-breakpoint-md: 768px;
|
|
72
|
+
--bf-breakpoint-lg: 992px;
|
|
73
|
+
--bf-breakpoint-xl: 1200px;
|
|
74
|
+
--bf-breakpoint-xxl: 1400px;
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
/* Layout */
|
|
78
|
+
/* Border-box and HTML5 block elements. */
|
|
79
|
+
|
|
3
80
|
*,
|
|
4
81
|
*::before,
|
|
5
82
|
*::after {
|
|
@@ -26,32 +103,246 @@ template {
|
|
|
26
103
|
display: none;
|
|
27
104
|
}
|
|
28
105
|
|
|
29
|
-
[hidden]
|
|
106
|
+
/* [hidden] stays hidden (except until-found). */
|
|
107
|
+
[hidden]:where(:not([hidden='until-found'])) {
|
|
30
108
|
display: none !important;
|
|
31
109
|
}
|
|
110
|
+
/* UA+ enhancements (adapted from https://fokus.dev/tools/uaplus/).
|
|
111
|
+
* Light UA improvements; complements Bullframe base styles. */
|
|
112
|
+
|
|
113
|
+
@layer {
|
|
114
|
+
/* Spacing between content and focus outline (enhances focus.css). */
|
|
115
|
+
:focus-visible {
|
|
116
|
+
outline-offset: 3px;
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
/* Disable mobile landscape text inflation on optimized layouts. */
|
|
120
|
+
html {
|
|
121
|
+
-webkit-text-size-adjust: none;
|
|
122
|
+
-moz-text-size-adjust: none;
|
|
123
|
+
text-size-adjust: none;
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
/* Comfortable default root line-height (body still uses --bf-body-line-height). */
|
|
127
|
+
html {
|
|
128
|
+
line-height: 1.5;
|
|
129
|
+
}
|
|
130
|
+
|
|
131
|
+
/* Stable scrollbar gutter avoids layout jump on short pages. */
|
|
132
|
+
html {
|
|
133
|
+
scrollbar-gutter: stable;
|
|
134
|
+
}
|
|
135
|
+
|
|
136
|
+
/* Nested h1 size/margin: match modern UA (Safari still nests sectioning styles). */
|
|
137
|
+
h1 {
|
|
138
|
+
font-size: 2em;
|
|
139
|
+
margin-block: 0.67em;
|
|
140
|
+
}
|
|
141
|
+
|
|
142
|
+
/* abbr[title]: dotted underline + help cursor across engines. */
|
|
143
|
+
abbr[title] {
|
|
144
|
+
cursor: help;
|
|
145
|
+
text-decoration-line: underline;
|
|
146
|
+
text-decoration-style: dotted;
|
|
147
|
+
}
|
|
148
|
+
|
|
149
|
+
/* mark: system Highlight colors under forced-colors. */
|
|
150
|
+
@media (forced-colors: active) {
|
|
151
|
+
mark {
|
|
152
|
+
color: HighlightText;
|
|
153
|
+
background-color: Highlight;
|
|
154
|
+
}
|
|
155
|
+
}
|
|
156
|
+
|
|
157
|
+
/* Embedded media: stay within container block/inline size. */
|
|
158
|
+
audio,
|
|
159
|
+
iframe,
|
|
160
|
+
img,
|
|
161
|
+
svg,
|
|
162
|
+
video {
|
|
163
|
+
max-block-size: 100%;
|
|
164
|
+
max-inline-size: 100%;
|
|
165
|
+
}
|
|
166
|
+
|
|
167
|
+
/* fieldset: avoid min-content overflow from children. */
|
|
168
|
+
fieldset {
|
|
169
|
+
min-inline-size: 0;
|
|
170
|
+
}
|
|
171
|
+
|
|
172
|
+
/* Labels for text-like controls are block; :has() gated for older engines. */
|
|
173
|
+
@supports selector(:has(*)) {
|
|
174
|
+
label:has(+ input:not([type='radio'], [type='checkbox']), select, textarea) {
|
|
175
|
+
display: block;
|
|
176
|
+
}
|
|
177
|
+
}
|
|
178
|
+
|
|
179
|
+
/* Taller default textarea when rows is omitted. */
|
|
180
|
+
textarea:not([rows]) {
|
|
181
|
+
min-block-size: 6em;
|
|
182
|
+
}
|
|
183
|
+
|
|
184
|
+
/* Form controls inherit page font family/size. */
|
|
185
|
+
button,
|
|
186
|
+
input,
|
|
187
|
+
select,
|
|
188
|
+
textarea {
|
|
189
|
+
font-family: inherit;
|
|
190
|
+
font-size: inherit;
|
|
191
|
+
}
|
|
192
|
+
|
|
193
|
+
/* Search: drop WebKit rounded search chrome. */
|
|
194
|
+
[type='search'] {
|
|
195
|
+
-webkit-appearance: textfield;
|
|
196
|
+
}
|
|
197
|
+
|
|
198
|
+
/* iOS only: system border/background for search. */
|
|
199
|
+
@supports (-webkit-touch-callout: none) {
|
|
200
|
+
[type='search'] {
|
|
201
|
+
border: 1px solid -apple-system-secondary-label;
|
|
202
|
+
background-color: canvas;
|
|
203
|
+
}
|
|
204
|
+
}
|
|
205
|
+
|
|
206
|
+
/* Keep tel/url/email/number LTR when a value is present (RTL placeholders stay). */
|
|
207
|
+
input:where([type='tel'], [type='url'], [type='email'], [type='number']):not(
|
|
208
|
+
:-moz-placeholder
|
|
209
|
+
) {
|
|
210
|
+
direction: ltr;
|
|
211
|
+
}
|
|
212
|
+
input:where([type='tel'], [type='url'], [type='email'], [type='number']):not(
|
|
213
|
+
:placeholder-shown
|
|
214
|
+
) {
|
|
215
|
+
direction: ltr;
|
|
216
|
+
}
|
|
217
|
+
|
|
218
|
+
/* Tables: collapsed borders + cell padding for scanability. */
|
|
219
|
+
table {
|
|
220
|
+
border: 1px solid currentColor;
|
|
221
|
+
}
|
|
222
|
+
|
|
223
|
+
th,
|
|
224
|
+
td {
|
|
225
|
+
border: 1px solid currentColor;
|
|
226
|
+
padding: 0.25em 0.5em;
|
|
227
|
+
}
|
|
228
|
+
|
|
229
|
+
/* Soft dialog / popover enter transitions (skip when reduced-motion is on). */
|
|
230
|
+
@media (prefers-reduced-motion: no-preference) {
|
|
231
|
+
dialog::backdrop {
|
|
232
|
+
background: rgb(0 0 0 / 0.3);
|
|
233
|
+
}
|
|
234
|
+
|
|
235
|
+
@supports (overlay: auto) {
|
|
236
|
+
dialog,
|
|
237
|
+
[popover],
|
|
238
|
+
dialog::backdrop {
|
|
239
|
+
opacity: 0;
|
|
240
|
+
transition:
|
|
241
|
+
opacity 300ms ease-out,
|
|
242
|
+
display 300ms allow-discrete,
|
|
243
|
+
overlay 300ms allow-discrete;
|
|
244
|
+
}
|
|
245
|
+
|
|
246
|
+
dialog[open],
|
|
247
|
+
:popover-open,
|
|
248
|
+
dialog[open]::backdrop {
|
|
249
|
+
opacity: 1;
|
|
250
|
+
}
|
|
251
|
+
|
|
252
|
+
@starting-style {
|
|
253
|
+
dialog[open],
|
|
254
|
+
:popover-open,
|
|
255
|
+
dialog[open]::backdrop {
|
|
256
|
+
opacity: 0;
|
|
257
|
+
}
|
|
258
|
+
}
|
|
259
|
+
}
|
|
260
|
+
}
|
|
261
|
+
|
|
262
|
+
/* Keep [hidden] hard-hidden except until-found. */
|
|
263
|
+
[hidden]:not([hidden='until-found']) {
|
|
264
|
+
display: none !important;
|
|
265
|
+
}
|
|
266
|
+
|
|
267
|
+
/* Images as blocks (max-width still from embedded-content.css). */
|
|
268
|
+
img {
|
|
269
|
+
display: block;
|
|
270
|
+
}
|
|
271
|
+
|
|
272
|
+
/* summary: pointer on the whole control, not only ::marker. */
|
|
273
|
+
summary {
|
|
274
|
+
cursor: default;
|
|
275
|
+
}
|
|
276
|
+
|
|
277
|
+
/* iframes: no default border. */
|
|
278
|
+
iframe {
|
|
279
|
+
border: none;
|
|
280
|
+
}
|
|
281
|
+
|
|
282
|
+
/* Popovers: anchor near trigger when position-area is supported. */
|
|
283
|
+
@supports (position-area: block-end span-inline-end) {
|
|
284
|
+
[popover] {
|
|
285
|
+
margin: 0;
|
|
286
|
+
position-area: block-end span-inline-end;
|
|
287
|
+
}
|
|
288
|
+
}
|
|
289
|
+
}
|
|
290
|
+
|
|
291
|
+
/* Typography */
|
|
292
|
+
/* Root type and page chrome. */
|
|
32
293
|
|
|
33
294
|
html {
|
|
34
295
|
-webkit-text-size-adjust: 100%;
|
|
35
296
|
-moz-text-size-adjust: 100%;
|
|
36
297
|
text-size-adjust: 100%;
|
|
298
|
+
|
|
299
|
+
/* 62.5% root so 1rem ≈ 10px. */
|
|
37
300
|
font-size: 62.5%;
|
|
38
|
-
|
|
39
|
-
|
|
301
|
+
|
|
302
|
+
color: var(--bf-dark);
|
|
303
|
+
font-family: system-ui, sans-serif;
|
|
40
304
|
line-height: 1.15;
|
|
41
|
-
|
|
305
|
+
|
|
306
|
+
/* No tap flash on touch. */
|
|
307
|
+
-webkit-tap-highlight-color: rgb(0 0 0 / 0%);
|
|
42
308
|
}
|
|
43
309
|
|
|
44
310
|
body {
|
|
45
311
|
margin: 0;
|
|
46
|
-
font-size:
|
|
47
|
-
line-height:
|
|
312
|
+
font-size: var(--bf-body-font-size-rem);
|
|
313
|
+
line-height: var(--bf-body-line-height);
|
|
48
314
|
font-weight: 400;
|
|
49
315
|
text-align: left;
|
|
50
|
-
|
|
316
|
+
|
|
317
|
+
/* System UI stack (OS-native). */
|
|
318
|
+
font-family:
|
|
319
|
+
/* Safari / iOS (San Francisco) */
|
|
320
|
+
-apple-system,
|
|
321
|
+
/* Chrome < 56 on macOS (San Francisco) */ BlinkMacSystemFont,
|
|
322
|
+
/* Windows */ 'Segoe UI',
|
|
323
|
+
/* Android */ Roboto,
|
|
324
|
+
/* KDE */ Oxygen-Sans,
|
|
325
|
+
/* Ubuntu */ Ubuntu,
|
|
326
|
+
/* GNOME */ Cantarell,
|
|
327
|
+
/* macOS 10.10 and below */ 'Helvetica Neue',
|
|
328
|
+
Helvetica,
|
|
329
|
+
/* Web fallback */ Arial,
|
|
330
|
+
'Noto Sans',
|
|
331
|
+
sans-serif,
|
|
332
|
+
/* Emoji */ 'Apple Color Emoji',
|
|
333
|
+
'Segoe UI Emoji',
|
|
334
|
+
'Segoe UI Symbol',
|
|
335
|
+
'Noto Color Emoji';
|
|
336
|
+
|
|
337
|
+
/* Ligatures and kerning. */
|
|
51
338
|
text-rendering: optimizeLegibility;
|
|
339
|
+
|
|
340
|
+
/* Long unbroken strings (e.g. headlines) wrap instead of overflowing. */
|
|
52
341
|
word-wrap: break-word;
|
|
53
|
-
|
|
342
|
+
|
|
343
|
+
background-color: var(--bf-white);
|
|
54
344
|
}
|
|
345
|
+
/* Heading scale and rhythm. */
|
|
55
346
|
|
|
56
347
|
h1,
|
|
57
348
|
h2,
|
|
@@ -64,7 +355,8 @@ h6 {
|
|
|
64
355
|
font-family: inherit;
|
|
65
356
|
color: inherit;
|
|
66
357
|
line-height: 1.25;
|
|
67
|
-
margin-bottom:
|
|
358
|
+
margin-bottom: var(--bf-spacing-lg);
|
|
359
|
+
text-wrap: balance;
|
|
68
360
|
}
|
|
69
361
|
|
|
70
362
|
h1 {
|
|
@@ -92,9 +384,10 @@ h6 {
|
|
|
92
384
|
font-size: 16px;
|
|
93
385
|
font-size: 1.6rem;
|
|
94
386
|
}
|
|
387
|
+
/* Blockquote and citation. */
|
|
95
388
|
|
|
96
389
|
blockquote {
|
|
97
|
-
margin
|
|
390
|
+
margin: 0 0 var(--bf-spacing-xl);
|
|
98
391
|
padding-left: 0;
|
|
99
392
|
font-style: italic;
|
|
100
393
|
}
|
|
@@ -104,56 +397,24 @@ blockquote p {
|
|
|
104
397
|
}
|
|
105
398
|
|
|
106
399
|
blockquote small {
|
|
107
|
-
color:
|
|
400
|
+
color: var(--bf-gray);
|
|
108
401
|
display: block;
|
|
109
402
|
}
|
|
110
403
|
|
|
111
404
|
blockquote small::before {
|
|
112
|
-
content:
|
|
405
|
+
content: '\2014 \00A0';
|
|
113
406
|
}
|
|
114
407
|
|
|
115
408
|
q {
|
|
116
|
-
quotes:
|
|
117
|
-
}
|
|
118
|
-
|
|
119
|
-
pre {
|
|
120
|
-
margin: 0 0 2rem 0;
|
|
121
|
-
display: block;
|
|
122
|
-
overflow: auto;
|
|
123
|
-
word-break: break-all;
|
|
124
|
-
word-wrap: break-word;
|
|
125
|
-
white-space: pre;
|
|
126
|
-
-webkit-hyphens: none;
|
|
127
|
-
hyphens: none;
|
|
128
|
-
-ms-overflow-style: auto;
|
|
129
|
-
}
|
|
130
|
-
|
|
131
|
-
pre,
|
|
132
|
-
code,
|
|
133
|
-
kbd,
|
|
134
|
-
samp {
|
|
135
|
-
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";
|
|
136
|
-
font-size: 0.875em;
|
|
137
|
-
}
|
|
138
|
-
|
|
139
|
-
code {
|
|
140
|
-
word-wrap: break-word;
|
|
141
|
-
}
|
|
142
|
-
|
|
143
|
-
a > code {
|
|
144
|
-
color: inherit;
|
|
145
|
-
}
|
|
146
|
-
|
|
147
|
-
pre code {
|
|
148
|
-
font-size: inherit;
|
|
149
|
-
color: inherit;
|
|
150
|
-
word-break: normal;
|
|
409
|
+
quotes: '\201C' '\201D' '\2018' '\2019';
|
|
151
410
|
}
|
|
411
|
+
/* Paragraphs, abbr, mark/ins, emphasis, sub/sup, small, hr. */
|
|
152
412
|
|
|
153
413
|
p {
|
|
154
|
-
margin: 0 0
|
|
414
|
+
margin: 0 0 var(--bf-spacing-xl) 0;
|
|
155
415
|
}
|
|
156
416
|
|
|
417
|
+
/* abbr (Bootstrap 4): dotted underline + help cursor. */
|
|
157
418
|
abbr[title],
|
|
158
419
|
abbr[data-original-title] {
|
|
159
420
|
cursor: help;
|
|
@@ -164,16 +425,17 @@ abbr[data-original-title] {
|
|
|
164
425
|
}
|
|
165
426
|
|
|
166
427
|
mark {
|
|
167
|
-
background-color:
|
|
168
|
-
color:
|
|
428
|
+
background-color: var(--bf-yellow);
|
|
429
|
+
color: var(--bf-black);
|
|
169
430
|
}
|
|
170
431
|
|
|
171
432
|
ins {
|
|
172
|
-
background-color:
|
|
173
|
-
color:
|
|
433
|
+
background-color: var(--bf-yellow-light);
|
|
434
|
+
color: var(--bf-black);
|
|
174
435
|
text-decoration: none;
|
|
175
436
|
}
|
|
176
437
|
|
|
438
|
+
/* Inherit first so Safari does not double-apply bolder, then set bolder. */
|
|
177
439
|
b,
|
|
178
440
|
strong {
|
|
179
441
|
font-weight: inherit;
|
|
@@ -181,7 +443,6 @@ strong {
|
|
|
181
443
|
|
|
182
444
|
b,
|
|
183
445
|
strong {
|
|
184
|
-
/* stylelint-disable-next-line */
|
|
185
446
|
font-weight: bolder;
|
|
186
447
|
}
|
|
187
448
|
|
|
@@ -211,8 +472,11 @@ small {
|
|
|
211
472
|
font-size: 80%;
|
|
212
473
|
}
|
|
213
474
|
|
|
214
|
-
|
|
215
|
-
|
|
475
|
+
/* Tighter leading when a paragraph contains <small>. */
|
|
476
|
+
@supports selector(:has(*)) {
|
|
477
|
+
p:has(small) {
|
|
478
|
+
line-height: 1.25;
|
|
479
|
+
}
|
|
216
480
|
}
|
|
217
481
|
|
|
218
482
|
hr {
|
|
@@ -222,451 +486,171 @@ hr {
|
|
|
222
486
|
border-style: solid;
|
|
223
487
|
border-width: 1px 0 0;
|
|
224
488
|
color: inherit;
|
|
225
|
-
margin:
|
|
489
|
+
margin: var(--bf-spacing-xl) 0;
|
|
226
490
|
padding: 0;
|
|
227
|
-
overflow: visible;
|
|
228
|
-
}
|
|
229
|
-
|
|
230
|
-
a {
|
|
231
|
-
color: #007bff;
|
|
232
|
-
text-decoration: none;
|
|
233
|
-
background-color: transparent;
|
|
234
|
-
}
|
|
235
|
-
a:hover, a:focus {
|
|
236
|
-
text-decoration: underline;
|
|
237
|
-
color: #0056b3;
|
|
491
|
+
overflow: visible; /* Edge: show overflow. */
|
|
238
492
|
}
|
|
493
|
+
/* pre / code / kbd / samp. */
|
|
239
494
|
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
text-decoration: none;
|
|
243
|
-
}
|
|
495
|
+
pre {
|
|
496
|
+
margin: 0 0 var(--bf-spacing-xl) 0;
|
|
244
497
|
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
498
|
+
display: block;
|
|
499
|
+
overflow: auto;
|
|
500
|
+
word-break: break-all; /* WebKit */
|
|
501
|
+
word-wrap: break-word;
|
|
502
|
+
white-space: pre;
|
|
503
|
+
hyphens: none;
|
|
250
504
|
|
|
251
|
-
|
|
252
|
-
|
|
505
|
+
/* Keep scrollbars visible in legacy Edge.
|
|
506
|
+
* https://github.com/twbs/bootstrap/pull/30685 */
|
|
507
|
+
-ms-overflow-style: auto;
|
|
253
508
|
}
|
|
254
509
|
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
510
|
+
pre,
|
|
511
|
+
code,
|
|
512
|
+
kbd,
|
|
513
|
+
samp {
|
|
514
|
+
font-family:
|
|
515
|
+
/* macOS 10.10+ */
|
|
516
|
+
Menlo, Consolas, 'Roboto Mono', 'Ubuntu Monospace', 'Noto Mono', 'Oxygen Mono',
|
|
517
|
+
'Liberation Mono', monospace, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol',
|
|
518
|
+
'Noto Color Emoji';
|
|
258
519
|
|
|
259
|
-
|
|
260
|
-
|
|
520
|
+
/* Mono faces read large; use a slightly smaller size. */
|
|
521
|
+
font-size: 0.875em;
|
|
261
522
|
}
|
|
262
523
|
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
}
|
|
266
|
-
|
|
267
|
-
:where(:focus-visible) {
|
|
268
|
-
outline: 2px solid orange;
|
|
269
|
-
}
|
|
270
|
-
|
|
271
|
-
:where(button,
|
|
272
|
-
[type=button],
|
|
273
|
-
[type=reset],
|
|
274
|
-
[type=submit],
|
|
275
|
-
[type=email],
|
|
276
|
-
[type=number],
|
|
277
|
-
[type=password],
|
|
278
|
-
[type=tel],
|
|
279
|
-
[type=search],
|
|
280
|
-
[type=text],
|
|
281
|
-
[type=date],
|
|
282
|
-
[type=datetime-local],
|
|
283
|
-
[type=month],
|
|
284
|
-
[type=time],
|
|
285
|
-
[type=week],
|
|
286
|
-
[type=url],
|
|
287
|
-
[type=radio],
|
|
288
|
-
[type=checkbox],
|
|
289
|
-
input[list],
|
|
290
|
-
select,
|
|
291
|
-
textarea):focus {
|
|
292
|
-
outline: 0;
|
|
524
|
+
code {
|
|
525
|
+
word-wrap: break-word;
|
|
293
526
|
}
|
|
294
527
|
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
ul,
|
|
298
|
-
dl {
|
|
299
|
-
margin: 0 0 2rem 0;
|
|
300
|
-
padding: 0;
|
|
528
|
+
a > code {
|
|
529
|
+
color: inherit;
|
|
301
530
|
}
|
|
302
531
|
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
ol ol,
|
|
308
|
-
ol ul,
|
|
309
|
-
dd {
|
|
310
|
-
margin-bottom: 0;
|
|
532
|
+
pre code {
|
|
533
|
+
font-size: inherit;
|
|
534
|
+
color: inherit;
|
|
535
|
+
word-break: normal;
|
|
311
536
|
}
|
|
312
537
|
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
margin-left: 2rem;
|
|
316
|
-
}
|
|
538
|
+
/* Forms */
|
|
539
|
+
/* Form control reset: inheritance, sizing, and UA quirks. */
|
|
317
540
|
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
541
|
+
:where(html input, button, select, optgroup, textarea) {
|
|
542
|
+
color: inherit;
|
|
543
|
+
font-family: inherit;
|
|
544
|
+
font-size: inherit;
|
|
545
|
+
line-height: inherit;
|
|
323
546
|
}
|
|
324
547
|
|
|
325
|
-
|
|
326
|
-
|
|
548
|
+
:where(html input, button, [type='radio'], [type='checkbox'], select, optgroup, textarea) {
|
|
549
|
+
margin: 0;
|
|
327
550
|
}
|
|
328
551
|
|
|
329
|
-
|
|
330
|
-
|
|
552
|
+
:where(html input, select, textarea, legend) {
|
|
553
|
+
width: 100%;
|
|
331
554
|
}
|
|
332
555
|
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
556
|
+
/* Shrink-to-content controls stay auto-width. */
|
|
557
|
+
:where(
|
|
558
|
+
html label,
|
|
559
|
+
button,
|
|
560
|
+
[type='image'],
|
|
561
|
+
[type='submit'],
|
|
562
|
+
[type='reset'],
|
|
563
|
+
html [type='button'],
|
|
564
|
+
[type='radio'],
|
|
565
|
+
[type='checkbox']
|
|
566
|
+
) {
|
|
567
|
+
width: auto;
|
|
336
568
|
}
|
|
337
569
|
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
570
|
+
/* inline-block: consistent sizing and vertical-align across engines. */
|
|
571
|
+
:where(
|
|
572
|
+
html input,
|
|
573
|
+
label,
|
|
574
|
+
select,
|
|
575
|
+
textarea,
|
|
576
|
+
button,
|
|
577
|
+
html [type='button'],
|
|
578
|
+
[type='reset'],
|
|
579
|
+
[type='submit'],
|
|
580
|
+
output
|
|
581
|
+
) {
|
|
342
582
|
display: inline-block;
|
|
343
583
|
}
|
|
344
584
|
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
video,
|
|
349
|
-
iframe,
|
|
350
|
-
object,
|
|
351
|
-
embed {
|
|
352
|
-
max-width: 100%;
|
|
585
|
+
:where([type='file']) {
|
|
586
|
+
display: block;
|
|
587
|
+
background-color: transparent;
|
|
353
588
|
}
|
|
354
589
|
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
canvas,
|
|
358
|
-
img,
|
|
359
|
-
svg {
|
|
360
|
-
vertical-align: middle;
|
|
590
|
+
:where(button, html input, select, textarea) {
|
|
591
|
+
background-image: none;
|
|
361
592
|
}
|
|
362
593
|
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
border-style: none;
|
|
594
|
+
:where(input, select, textarea) {
|
|
595
|
+
vertical-align: baseline;
|
|
366
596
|
}
|
|
367
597
|
|
|
368
|
-
|
|
598
|
+
:where(form) {
|
|
369
599
|
margin: 0;
|
|
370
600
|
}
|
|
371
601
|
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
602
|
+
/* Drop fieldset min-content width so nested grids can shrink. */
|
|
603
|
+
:where(fieldset) {
|
|
604
|
+
border: 0;
|
|
605
|
+
padding: 0;
|
|
606
|
+
margin: 0;
|
|
607
|
+
min-width: 0;
|
|
375
608
|
}
|
|
376
609
|
|
|
377
|
-
|
|
610
|
+
:where(legend) {
|
|
611
|
+
display: table; /* Text wrapping in Edge / IE. */
|
|
612
|
+
max-width: 100%;
|
|
613
|
+
white-space: normal;
|
|
614
|
+
border: 0;
|
|
615
|
+
padding: 0;
|
|
616
|
+
font-weight: 400;
|
|
617
|
+
margin-bottom: var(--bf-spacing-md);
|
|
618
|
+
font-size: inherit;
|
|
378
619
|
line-height: 1.375;
|
|
620
|
+
color: inherit;
|
|
621
|
+
}
|
|
622
|
+
|
|
623
|
+
:where(label) {
|
|
624
|
+
font-weight: 400;
|
|
379
625
|
font-size: 90%;
|
|
626
|
+
line-height: 1.375;
|
|
627
|
+
margin-bottom: var(--bf-spacing-md);
|
|
380
628
|
}
|
|
381
629
|
|
|
382
|
-
|
|
383
|
-
|
|
630
|
+
:where(label input, label select, label textarea) {
|
|
631
|
+
font-size: 110%;
|
|
384
632
|
}
|
|
385
633
|
|
|
386
|
-
|
|
387
|
-
|
|
634
|
+
::-webkit-inner-spin-button {
|
|
635
|
+
height: auto;
|
|
388
636
|
}
|
|
389
637
|
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
|
|
638
|
+
::-webkit-datetime-edit-fields-wrapper,
|
|
639
|
+
::-webkit-datetime-edit-text,
|
|
640
|
+
::-webkit-datetime-edit-minute,
|
|
641
|
+
::-webkit-datetime-edit-hour-field,
|
|
642
|
+
::-webkit-datetime-edit-day-field,
|
|
643
|
+
::-webkit-datetime-edit-month-field,
|
|
644
|
+
::-webkit-datetime-edit-year-field {
|
|
645
|
+
padding: 0;
|
|
393
646
|
}
|
|
394
647
|
|
|
395
|
-
|
|
396
|
-
|
|
648
|
+
::-webkit-color-swatch-wrapper {
|
|
649
|
+
padding: 0;
|
|
397
650
|
}
|
|
398
651
|
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
}
|
|
402
|
-
|
|
403
|
-
progress,
|
|
404
|
-
meter {
|
|
405
|
-
display: inline-block;
|
|
406
|
-
vertical-align: baseline;
|
|
407
|
-
width: 100%;
|
|
408
|
-
max-width: 100%;
|
|
409
|
-
}
|
|
410
|
-
|
|
411
|
-
progress[value] {
|
|
412
|
-
-webkit-appearance: none;
|
|
413
|
-
-moz-appearance: none;
|
|
414
|
-
appearance: none;
|
|
415
|
-
border: none;
|
|
416
|
-
height: 20px;
|
|
417
|
-
height: 2rem;
|
|
418
|
-
background: #ccc;
|
|
419
|
-
color: #007bff;
|
|
420
|
-
}
|
|
421
|
-
|
|
422
|
-
progress[value]::-webkit-progress-bar {
|
|
423
|
-
background: #ccc;
|
|
424
|
-
}
|
|
425
|
-
|
|
426
|
-
progress[value]::-webkit-progress-value {
|
|
427
|
-
background: #007bff;
|
|
428
|
-
}
|
|
429
|
-
|
|
430
|
-
iframe {
|
|
431
|
-
border-style: none;
|
|
432
|
-
}
|
|
433
|
-
|
|
434
|
-
address {
|
|
435
|
-
font-style: normal;
|
|
436
|
-
margin-bottom: 10px;
|
|
437
|
-
margin-bottom: 1rem;
|
|
438
|
-
line-height: inherit;
|
|
439
|
-
}
|
|
440
|
-
|
|
441
|
-
details > summary:first-of-type {
|
|
442
|
-
display: list-item;
|
|
443
|
-
}
|
|
444
|
-
|
|
445
|
-
summary {
|
|
446
|
-
cursor: pointer;
|
|
447
|
-
font-weight: 700;
|
|
448
|
-
word-break: break-all;
|
|
449
|
-
}
|
|
450
|
-
|
|
451
|
-
dialog {
|
|
452
|
-
background-color: #fff;
|
|
453
|
-
color: #222;
|
|
454
|
-
border: none;
|
|
455
|
-
border-radius: 0.25rem;
|
|
456
|
-
padding: 20px;
|
|
457
|
-
padding: 2rem;
|
|
458
|
-
height: -moz-fit-content;
|
|
459
|
-
height: fit-content;
|
|
460
|
-
min-width: 25rem;
|
|
461
|
-
max-width: calc(100vw - 3rem);
|
|
462
|
-
}
|
|
463
|
-
@media (min-width: 768px) {
|
|
464
|
-
dialog {
|
|
465
|
-
max-width: 50rem;
|
|
466
|
-
}
|
|
467
|
-
}
|
|
468
|
-
|
|
469
|
-
dialog[open] {
|
|
470
|
-
display: block !important;
|
|
471
|
-
}
|
|
472
|
-
|
|
473
|
-
dialog::backdrop {
|
|
474
|
-
background: rgba(0, 0, 0, 0.4);
|
|
475
|
-
}
|
|
476
|
-
|
|
477
|
-
@media (prefers-reduced-motion: no-preference) {
|
|
478
|
-
:root {
|
|
479
|
-
scroll-behavior: smooth;
|
|
480
|
-
}
|
|
481
|
-
}
|
|
482
|
-
table {
|
|
483
|
-
caption-side: bottom;
|
|
484
|
-
max-width: 100%;
|
|
485
|
-
border-collapse: collapse;
|
|
486
|
-
border-color: currentcolor;
|
|
487
|
-
text-indent: 0;
|
|
488
|
-
}
|
|
489
|
-
|
|
490
|
-
thead,
|
|
491
|
-
tbody,
|
|
492
|
-
tfoot,
|
|
493
|
-
tr,
|
|
494
|
-
td,
|
|
495
|
-
th {
|
|
496
|
-
border-color: inherit;
|
|
497
|
-
border-style: solid;
|
|
498
|
-
border-width: 0;
|
|
499
|
-
}
|
|
500
|
-
|
|
501
|
-
thead th {
|
|
502
|
-
vertical-align: bottom;
|
|
503
|
-
}
|
|
504
|
-
|
|
505
|
-
th,
|
|
506
|
-
td {
|
|
507
|
-
vertical-align: top;
|
|
508
|
-
}
|
|
509
|
-
|
|
510
|
-
th {
|
|
511
|
-
text-align: inherit;
|
|
512
|
-
text-align: -webkit-match-parent;
|
|
513
|
-
font-weight: 700;
|
|
514
|
-
}
|
|
515
|
-
|
|
516
|
-
caption {
|
|
517
|
-
padding-top: 0.5rem;
|
|
518
|
-
padding-bottom: 0.5rem;
|
|
519
|
-
color: #999;
|
|
520
|
-
text-align: left;
|
|
521
|
-
caption-side: bottom;
|
|
522
|
-
line-height: 1.375;
|
|
523
|
-
font-size: 90%;
|
|
524
|
-
}
|
|
525
|
-
|
|
526
|
-
/* Accessibility
|
|
527
|
-
* ========================================================================== */
|
|
528
|
-
/**
|
|
529
|
-
* Change the cursor on busy elements in all browsers (opinionated).
|
|
530
|
-
*/
|
|
531
|
-
:where([aria-busy=true i]) {
|
|
532
|
-
cursor: progress;
|
|
533
|
-
}
|
|
534
|
-
|
|
535
|
-
/*
|
|
536
|
-
* Change the cursor on disabled, not-editable, or otherwise
|
|
537
|
-
* inoperable elements in all browsers (opinionated).
|
|
538
|
-
*/
|
|
539
|
-
:where([aria-disabled=true i], [disabled]) {
|
|
540
|
-
cursor: not-allowed;
|
|
541
|
-
}
|
|
542
|
-
|
|
543
|
-
/*
|
|
544
|
-
* Change the display on visually hidden accessible elements
|
|
545
|
-
* in all browsers (opinionated).
|
|
546
|
-
*/
|
|
547
|
-
:where([aria-hidden=false i][hidden]) {
|
|
548
|
-
display: initial;
|
|
549
|
-
}
|
|
550
|
-
|
|
551
|
-
:where([aria-hidden=false i][hidden]:not(:focus)) {
|
|
552
|
-
clip: rect(0, 0, 0, 0);
|
|
553
|
-
position: absolute;
|
|
554
|
-
}
|
|
555
|
-
|
|
556
|
-
:where(html input, button, select, optgroup, textarea) {
|
|
557
|
-
color: inherit;
|
|
558
|
-
font-family: inherit;
|
|
559
|
-
font-size: inherit;
|
|
560
|
-
line-height: inherit;
|
|
561
|
-
}
|
|
562
|
-
|
|
563
|
-
:where(html input,
|
|
564
|
-
button,
|
|
565
|
-
[type=radio],
|
|
566
|
-
[type=checkbox],
|
|
567
|
-
select,
|
|
568
|
-
optgroup,
|
|
569
|
-
textarea) {
|
|
570
|
-
margin: 0;
|
|
571
|
-
}
|
|
572
|
-
|
|
573
|
-
:where(html input, select, textarea, legend) {
|
|
574
|
-
width: 100%;
|
|
575
|
-
}
|
|
576
|
-
|
|
577
|
-
:where(html label,
|
|
578
|
-
button,
|
|
579
|
-
[type=image],
|
|
580
|
-
[type=submit],
|
|
581
|
-
[type=reset],
|
|
582
|
-
html [type=button],
|
|
583
|
-
[type=radio],
|
|
584
|
-
[type=checkbox]) {
|
|
585
|
-
width: auto;
|
|
586
|
-
}
|
|
587
|
-
|
|
588
|
-
:where(html input,
|
|
589
|
-
label,
|
|
590
|
-
select,
|
|
591
|
-
textarea,
|
|
592
|
-
button,
|
|
593
|
-
html [type=button],
|
|
594
|
-
[type=reset],
|
|
595
|
-
[type=submit],
|
|
596
|
-
output) {
|
|
597
|
-
display: inline-block;
|
|
598
|
-
}
|
|
599
|
-
|
|
600
|
-
:where([type=file]) {
|
|
601
|
-
display: block;
|
|
602
|
-
background-color: transparent;
|
|
603
|
-
}
|
|
604
|
-
|
|
605
|
-
:where(button, html input, select, textarea) {
|
|
606
|
-
background-image: none;
|
|
607
|
-
}
|
|
608
|
-
|
|
609
|
-
:where(input, select, textarea) {
|
|
610
|
-
vertical-align: baseline;
|
|
611
|
-
}
|
|
612
|
-
|
|
613
|
-
:where(form) {
|
|
614
|
-
margin: 0;
|
|
615
|
-
}
|
|
616
|
-
|
|
617
|
-
:where(fieldset) {
|
|
618
|
-
border: 0;
|
|
619
|
-
padding: 0;
|
|
620
|
-
margin: 0;
|
|
621
|
-
min-width: 0;
|
|
622
|
-
}
|
|
623
|
-
|
|
624
|
-
:where(legend) {
|
|
625
|
-
display: table;
|
|
626
|
-
max-width: 100%;
|
|
627
|
-
white-space: normal;
|
|
628
|
-
border: 0;
|
|
629
|
-
padding: 0;
|
|
630
|
-
font-weight: 400;
|
|
631
|
-
margin-bottom: 5px;
|
|
632
|
-
margin-bottom: 0.5rem;
|
|
633
|
-
font-size: inherit;
|
|
634
|
-
line-height: 1.375;
|
|
635
|
-
color: inherit;
|
|
636
|
-
}
|
|
637
|
-
|
|
638
|
-
:where(label) {
|
|
639
|
-
font-weight: 400;
|
|
640
|
-
font-size: 90%;
|
|
641
|
-
line-height: 1.375;
|
|
642
|
-
margin-bottom: 5px;
|
|
643
|
-
margin-bottom: 0.5rem;
|
|
644
|
-
}
|
|
645
|
-
|
|
646
|
-
:where(label input, label select, label textarea) {
|
|
647
|
-
font-size: 110%;
|
|
648
|
-
}
|
|
649
|
-
|
|
650
|
-
::-webkit-inner-spin-button {
|
|
651
|
-
height: auto;
|
|
652
|
-
}
|
|
653
|
-
|
|
654
|
-
::-webkit-datetime-edit-fields-wrapper,
|
|
655
|
-
::-webkit-datetime-edit-text,
|
|
656
|
-
::-webkit-datetime-edit-minute,
|
|
657
|
-
::-webkit-datetime-edit-hour-field,
|
|
658
|
-
::-webkit-datetime-edit-day-field,
|
|
659
|
-
::-webkit-datetime-edit-month-field,
|
|
660
|
-
::-webkit-datetime-edit-year-field {
|
|
661
|
-
padding: 0;
|
|
662
|
-
}
|
|
663
|
-
|
|
664
|
-
::-webkit-color-swatch-wrapper {
|
|
665
|
-
padding: 0;
|
|
666
|
-
}
|
|
667
|
-
|
|
668
|
-
:where([type=search]) {
|
|
669
|
-
outline-offset: -0.25rem;
|
|
652
|
+
:where([type='search']) {
|
|
653
|
+
outline-offset: calc(-1 * var(--bf-spacing-sm));
|
|
670
654
|
}
|
|
671
655
|
|
|
672
656
|
:where(output) {
|
|
@@ -681,41 +665,48 @@ output) {
|
|
|
681
665
|
word-wrap: normal;
|
|
682
666
|
}
|
|
683
667
|
|
|
684
|
-
|
|
685
|
-
|
|
686
|
-
[
|
|
687
|
-
[type=
|
|
688
|
-
[type=
|
|
668
|
+
/* Hide WebKit datalist picker chrome (Bootstrap Reboot 5.2).
|
|
669
|
+
* https://unpkg.com/browse/bootstrap@5.2.0/dist/css/bootstrap-reboot.css */
|
|
670
|
+
:where([list]):not(
|
|
671
|
+
[type='date'],
|
|
672
|
+
[type='datetime-local'],
|
|
673
|
+
[type='month'],
|
|
674
|
+
[type='week'],
|
|
675
|
+
[type='time']
|
|
676
|
+
)::-webkit-calendar-picker-indicator {
|
|
689
677
|
display: none !important;
|
|
690
678
|
}
|
|
691
679
|
|
|
692
680
|
:where(optgroup) {
|
|
693
681
|
font-family: inherit;
|
|
694
682
|
font-size: inherit;
|
|
695
|
-
font-style: inherit;
|
|
683
|
+
font-style: inherit; /* Families without a 600 face. */
|
|
696
684
|
font-weight: 600;
|
|
697
685
|
}
|
|
698
686
|
|
|
699
|
-
|
|
700
|
-
|
|
701
|
-
|
|
702
|
-
[type=
|
|
703
|
-
[type=
|
|
704
|
-
[type=
|
|
705
|
-
[type=
|
|
706
|
-
[type=
|
|
707
|
-
[type=
|
|
708
|
-
[type=
|
|
709
|
-
[type=
|
|
710
|
-
[type=
|
|
711
|
-
[type=
|
|
712
|
-
[type=
|
|
713
|
-
[type=
|
|
714
|
-
[type=
|
|
715
|
-
[type=
|
|
716
|
-
[type=search]
|
|
717
|
-
|
|
718
|
-
|
|
687
|
+
/* Reset WebKit / Blink appearance on text-like controls. */
|
|
688
|
+
:where(
|
|
689
|
+
button,
|
|
690
|
+
html [type='button'],
|
|
691
|
+
[type='reset'],
|
|
692
|
+
[type='submit'],
|
|
693
|
+
[type='email'],
|
|
694
|
+
[type='number'],
|
|
695
|
+
[type='text'],
|
|
696
|
+
[type='tel'],
|
|
697
|
+
[type='date'],
|
|
698
|
+
[type='datetime-local'],
|
|
699
|
+
[type='month'],
|
|
700
|
+
[type='week'],
|
|
701
|
+
[type='url'],
|
|
702
|
+
[type='image'],
|
|
703
|
+
[type='password'],
|
|
704
|
+
[type='search'],
|
|
705
|
+
[type='search']::-webkit-search-decoration,
|
|
706
|
+
[type='search']::-webkit-search-cancel-button,
|
|
707
|
+
input[list],
|
|
708
|
+
textarea
|
|
709
|
+
) {
|
|
719
710
|
-webkit-appearance: none;
|
|
720
711
|
appearance: none;
|
|
721
712
|
}
|
|
@@ -728,23 +719,23 @@ textarea) {
|
|
|
728
719
|
}
|
|
729
720
|
|
|
730
721
|
:where(button, input, select, textarea) {
|
|
731
|
-
border-radius:
|
|
722
|
+
border-radius: var(--bf-spacing-sm);
|
|
732
723
|
}
|
|
733
724
|
|
|
734
|
-
:where([type=radio]) {
|
|
725
|
+
:where([type='radio']) {
|
|
735
726
|
border-radius: 50%;
|
|
736
727
|
}
|
|
737
728
|
|
|
738
|
-
:where([type=checkbox]) {
|
|
739
|
-
border-radius:
|
|
729
|
+
:where([type='checkbox']) {
|
|
730
|
+
border-radius: var(--bf-spacing-md);
|
|
740
731
|
}
|
|
741
732
|
|
|
742
|
-
:where([type=radio], [type=checkbox]) {
|
|
733
|
+
:where([type='radio'], [type='checkbox']) {
|
|
743
734
|
padding: 0;
|
|
744
|
-
background-color:
|
|
735
|
+
background-color: var(--bf-white);
|
|
745
736
|
}
|
|
746
737
|
|
|
747
|
-
:where([type=range i]) {
|
|
738
|
+
:where([type='range' i]) {
|
|
748
739
|
background-color: transparent;
|
|
749
740
|
}
|
|
750
741
|
|
|
@@ -765,161 +756,194 @@ textarea) {
|
|
|
765
756
|
resize: vertical;
|
|
766
757
|
}
|
|
767
758
|
|
|
759
|
+
/* Firefox: strip inner focus padding/border. */
|
|
768
760
|
::-moz-focus-inner {
|
|
769
761
|
padding: 0;
|
|
770
762
|
border-style: none;
|
|
771
763
|
}
|
|
772
764
|
|
|
773
|
-
:where(button, [type=button], [type=reset], [type=submit]) {
|
|
765
|
+
:where(button, [type='button'], [type='reset'], [type='submit']) {
|
|
774
766
|
line-height: normal;
|
|
775
767
|
text-align: center;
|
|
776
768
|
margin: 0;
|
|
777
769
|
background-clip: padding-box;
|
|
778
770
|
vertical-align: baseline;
|
|
779
771
|
overflow: visible;
|
|
780
|
-
-webkit-tap-highlight-color:
|
|
772
|
+
-webkit-tap-highlight-color: rgb(0 0 0 / 0%);
|
|
781
773
|
-webkit-user-select: none;
|
|
782
774
|
-moz-user-select: none;
|
|
783
775
|
user-select: none;
|
|
784
776
|
border: 0;
|
|
785
|
-
background-image: none;
|
|
777
|
+
background-image: none; /* Firefox mobile */
|
|
786
778
|
}
|
|
787
|
-
|
|
779
|
+
|
|
780
|
+
:where(button, [type='button'], [type='reset'], [type='submit']):hover,
|
|
781
|
+
:where(button, [type='button'], [type='reset'], [type='submit']):active,
|
|
782
|
+
:where(button, [type='button'], [type='reset'], [type='submit']):focus {
|
|
788
783
|
text-decoration: none;
|
|
789
|
-
color:
|
|
784
|
+
color: var(--bf-dark);
|
|
790
785
|
}
|
|
791
786
|
|
|
792
|
-
:where(
|
|
793
|
-
|
|
794
|
-
[type=
|
|
795
|
-
[type=
|
|
787
|
+
:where(
|
|
788
|
+
button:not(:disabled),
|
|
789
|
+
[type='button']:not(:disabled),
|
|
790
|
+
[type='reset']:not(:disabled),
|
|
791
|
+
[type='submit']:not(:disabled)
|
|
792
|
+
) {
|
|
796
793
|
cursor: pointer;
|
|
797
794
|
}
|
|
798
795
|
|
|
796
|
+
/* Firefox: input color must not override placeholder color.
|
|
797
|
+
* https://github.com/necolas/normalize.css/issues/150 */
|
|
799
798
|
:where(input::-moz-placeholder, textarea::-moz-placeholder) {
|
|
800
|
-
color:
|
|
799
|
+
color: var(--bf-gray-dark);
|
|
801
800
|
}
|
|
802
|
-
|
|
803
801
|
:where(input::placeholder, textarea::placeholder) {
|
|
804
|
-
color:
|
|
802
|
+
color: var(--bf-gray-dark);
|
|
805
803
|
}
|
|
806
804
|
|
|
807
|
-
/*
|
|
808
|
-
Use the modern Firefox focus style for all focusable elements.
|
|
809
|
-
*/
|
|
805
|
+
/* Firefox: modern focus ring on all focusable elements. */
|
|
810
806
|
:-moz-focusring {
|
|
811
807
|
outline: auto;
|
|
812
808
|
}
|
|
813
809
|
|
|
810
|
+
/* Firefox: drop :-moz-ui-invalid glow; use .bf-invalid for JS validation.
|
|
811
|
+
* https://developer.mozilla.org/en-US/docs/Web/CSS/:-moz-ui-invalid */
|
|
814
812
|
:-moz-ui-invalid {
|
|
815
813
|
box-shadow: none;
|
|
816
814
|
}
|
|
817
|
-
|
|
818
|
-
|
|
819
|
-
|
|
820
|
-
[type=
|
|
821
|
-
[type=
|
|
822
|
-
[type=
|
|
823
|
-
[type=
|
|
824
|
-
[type=
|
|
825
|
-
[type=
|
|
826
|
-
[type=
|
|
827
|
-
[type=
|
|
828
|
-
[type=
|
|
829
|
-
[type=
|
|
830
|
-
|
|
831
|
-
|
|
832
|
-
|
|
833
|
-
|
|
834
|
-
|
|
835
|
-
|
|
836
|
-
|
|
837
|
-
|
|
838
|
-
:
|
|
839
|
-
|
|
840
|
-
|
|
841
|
-
|
|
842
|
-
[type=
|
|
843
|
-
[type=
|
|
844
|
-
[type=
|
|
845
|
-
[type=
|
|
846
|
-
[type=
|
|
847
|
-
[type=
|
|
848
|
-
[type=
|
|
849
|
-
[type=
|
|
850
|
-
|
|
851
|
-
|
|
852
|
-
|
|
853
|
-
[type=
|
|
854
|
-
[
|
|
855
|
-
|
|
856
|
-
|
|
857
|
-
[type=
|
|
858
|
-
[type=
|
|
859
|
-
|
|
860
|
-
|
|
861
|
-
[type=
|
|
862
|
-
[type=
|
|
863
|
-
[type=
|
|
864
|
-
[type=
|
|
865
|
-
[type=
|
|
866
|
-
|
|
867
|
-
|
|
868
|
-
|
|
869
|
-
[type=
|
|
870
|
-
[type=
|
|
871
|
-
|
|
872
|
-
|
|
873
|
-
|
|
874
|
-
|
|
875
|
-
|
|
876
|
-
|
|
877
|
-
|
|
878
|
-
|
|
879
|
-
|
|
880
|
-
|
|
881
|
-
|
|
882
|
-
|
|
815
|
+
/* Form field and button chrome (borders, focus, disabled). */
|
|
816
|
+
|
|
817
|
+
:where(
|
|
818
|
+
[type='email'],
|
|
819
|
+
[type='number'],
|
|
820
|
+
[type='password'],
|
|
821
|
+
[type='tel'],
|
|
822
|
+
[type='search'],
|
|
823
|
+
[type='text'],
|
|
824
|
+
[type='date'],
|
|
825
|
+
[type='datetime-local'],
|
|
826
|
+
[type='month'],
|
|
827
|
+
[type='week'],
|
|
828
|
+
[type='time'],
|
|
829
|
+
[type='url'],
|
|
830
|
+
input[list],
|
|
831
|
+
select,
|
|
832
|
+
textarea
|
|
833
|
+
) {
|
|
834
|
+
background-color: var(--bf-white);
|
|
835
|
+
border: 1px solid var(--bf-gray);
|
|
836
|
+
padding: var(--bf-spacing-md) calc(var(--bf-spacing-lg) * 0.75);
|
|
837
|
+
}
|
|
838
|
+
|
|
839
|
+
:where(
|
|
840
|
+
[type='email'],
|
|
841
|
+
[type='number'],
|
|
842
|
+
[type='password'],
|
|
843
|
+
[type='tel'],
|
|
844
|
+
[type='search'],
|
|
845
|
+
[type='text'],
|
|
846
|
+
[type='date'],
|
|
847
|
+
[type='datetime-local'],
|
|
848
|
+
[type='month'],
|
|
849
|
+
[type='week'],
|
|
850
|
+
[type='time'],
|
|
851
|
+
[type='url'],
|
|
852
|
+
input[list],
|
|
853
|
+
select,
|
|
854
|
+
textarea,
|
|
855
|
+
[type='radio'],
|
|
856
|
+
[type='checkbox']
|
|
857
|
+
):active,
|
|
858
|
+
:where(
|
|
859
|
+
[type='email'],
|
|
860
|
+
[type='number'],
|
|
861
|
+
[type='password'],
|
|
862
|
+
[type='tel'],
|
|
863
|
+
[type='search'],
|
|
864
|
+
[type='text'],
|
|
865
|
+
[type='date'],
|
|
866
|
+
[type='datetime-local'],
|
|
867
|
+
[type='month'],
|
|
868
|
+
[type='week'],
|
|
869
|
+
[type='time'],
|
|
870
|
+
[type='url'],
|
|
871
|
+
input[list],
|
|
872
|
+
select,
|
|
873
|
+
textarea,
|
|
874
|
+
[type='radio'],
|
|
875
|
+
[type='checkbox']
|
|
876
|
+
):focus {
|
|
877
|
+
transition:
|
|
878
|
+
border 0.2s,
|
|
879
|
+
background-color 0.2s,
|
|
880
|
+
box-shadow 0.2s;
|
|
881
|
+
border-color: var(--bf-blue);
|
|
882
|
+
box-shadow: 0 0 0 3px rgb(0 86 179 / 25%);
|
|
883
|
+
}
|
|
884
|
+
|
|
885
|
+
:where(button, [type='button'], [type='reset'], [type='submit']) {
|
|
886
|
+
color: var(--bf-dark);
|
|
887
|
+
padding: calc(var(--bf-spacing-xl) / 3) calc(calc(var(--bf-spacing-xl) / 3) * 2);
|
|
888
|
+
background: var(--bf-gray-light);
|
|
889
|
+
transition:
|
|
890
|
+
color 0.2s,
|
|
891
|
+
background 0.2s,
|
|
892
|
+
box-shadow 0.2s;
|
|
893
|
+
}
|
|
894
|
+
|
|
895
|
+
:where(button, [type='button'], [type='reset'], [type='submit']):hover,
|
|
896
|
+
:where(button, [type='button'], [type='reset'], [type='submit']):active,
|
|
897
|
+
:where(button, [type='button'], [type='reset'], [type='submit']):focus:not(.bf-disabled):not(
|
|
898
|
+
[aria-disabled='true']
|
|
899
|
+
) {
|
|
883
900
|
text-decoration: none;
|
|
884
|
-
color:
|
|
885
|
-
background: rgb(
|
|
886
|
-
}
|
|
887
|
-
|
|
888
|
-
|
|
889
|
-
|
|
890
|
-
|
|
891
|
-
|
|
892
|
-
|
|
893
|
-
|
|
894
|
-
|
|
895
|
-
fieldset[disabled]
|
|
896
|
-
|
|
897
|
-
fieldset[disabled]
|
|
898
|
-
fieldset[disabled]
|
|
899
|
-
|
|
900
|
-
|
|
901
|
-
|
|
902
|
-
|
|
903
|
-
|
|
904
|
-
|
|
905
|
-
|
|
906
|
-
|
|
907
|
-
|
|
908
|
-
input
|
|
909
|
-
input:
|
|
910
|
-
|
|
911
|
-
|
|
912
|
-
|
|
913
|
-
|
|
914
|
-
|
|
915
|
-
|
|
916
|
-
input
|
|
917
|
-
input
|
|
918
|
-
|
|
919
|
-
|
|
920
|
-
|
|
921
|
-
|
|
922
|
-
|
|
901
|
+
color: var(--bf-dark);
|
|
902
|
+
background: rgb(184 184 184); /* --bf-gray-light, ~10% darker */
|
|
903
|
+
}
|
|
904
|
+
|
|
905
|
+
:where(button, [type='button'], [type='reset'], [type='submit']):active,
|
|
906
|
+
:where(button, [type='button'], [type='reset'], [type='submit']):focus:not(.bf-disabled):not(
|
|
907
|
+
[aria-disabled='true']
|
|
908
|
+
) {
|
|
909
|
+
box-shadow: 0 0 0 3px rgb(0 0 0 / 15%);
|
|
910
|
+
}
|
|
911
|
+
|
|
912
|
+
/* Disabled / aria-disabled / fieldset[disabled]. */
|
|
913
|
+
:where(
|
|
914
|
+
fieldset[disabled] button,
|
|
915
|
+
fieldset[disabled] input,
|
|
916
|
+
fieldset[disabled] input::after,
|
|
917
|
+
fieldset[disabled] input::before,
|
|
918
|
+
fieldset[disabled] input:checked,
|
|
919
|
+
fieldset[disabled] select,
|
|
920
|
+
fieldset[disabled] textarea,
|
|
921
|
+
fieldset[disabled] label,
|
|
922
|
+
button[disabled],
|
|
923
|
+
input[disabled],
|
|
924
|
+
input[disabled]::after,
|
|
925
|
+
input[disabled]::before,
|
|
926
|
+
input[disabled]:checked,
|
|
927
|
+
select[disabled],
|
|
928
|
+
textarea[disabled],
|
|
929
|
+
label[disabled],
|
|
930
|
+
button:disabled,
|
|
931
|
+
input:disabled,
|
|
932
|
+
input:disabled::after,
|
|
933
|
+
input:disabled::before,
|
|
934
|
+
input:disabled:checked,
|
|
935
|
+
select:disabled,
|
|
936
|
+
textarea:disabled,
|
|
937
|
+
label:disabled,
|
|
938
|
+
button[aria-disabled='true'],
|
|
939
|
+
input[aria-disabled='true'],
|
|
940
|
+
input[aria-disabled='true']::after,
|
|
941
|
+
input[aria-disabled='true']::before,
|
|
942
|
+
input[aria-disabled='true']:checked,
|
|
943
|
+
select[aria-disabled='true'],
|
|
944
|
+
textarea[aria-disabled='true'],
|
|
945
|
+
label[aria-disabled='true']
|
|
946
|
+
) {
|
|
923
947
|
cursor: default !important;
|
|
924
948
|
cursor: not-allowed !important;
|
|
925
949
|
pointer-events: none !important;
|
|
@@ -927,373 +951,710 @@ label[aria-disabled=true]) {
|
|
|
927
951
|
-moz-user-select: none !important;
|
|
928
952
|
user-select: none !important;
|
|
929
953
|
box-shadow: none !important;
|
|
954
|
+
outline: none !important;
|
|
930
955
|
opacity: 0.5 !important;
|
|
931
956
|
}
|
|
957
|
+
/* Select: custom arrow for single-value controls.
|
|
958
|
+
* Skip [size] / [multiple] (native UI differs by engine). Inspired by water.css. */
|
|
932
959
|
|
|
933
960
|
:where(select):not([size], select[multiple]) {
|
|
934
961
|
-webkit-appearance: none;
|
|
935
962
|
-moz-appearance: none;
|
|
936
963
|
appearance: none;
|
|
937
|
-
background:
|
|
938
|
-
|
|
964
|
+
background: var(--bf-white)
|
|
965
|
+
url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e")
|
|
966
|
+
no-repeat right 0.85rem center/8px 10px;
|
|
967
|
+
padding-right: calc(var(--bf-spacing-lg) + var(--bf-spacing-lg));
|
|
939
968
|
}
|
|
940
969
|
|
|
941
|
-
:
|
|
942
|
-
|
|
943
|
-
|
|
944
|
-
|
|
945
|
-
:where(*[dir=rtl]) :where(select):not([size], select[multiple]),
|
|
946
|
-
:where(select[dir=rtl]):not([size], select[multiple]) {
|
|
970
|
+
/* RTL: mirror arrow after appearance:none removes the native control. */
|
|
971
|
+
:where(*[dir='rtl']) :where(select):not([size], select[multiple]),
|
|
972
|
+
:where(select[dir='rtl']):not([size], select[multiple]) {
|
|
947
973
|
background-position: left 0.85rem top 50%;
|
|
948
|
-
padding-right: 0.
|
|
949
|
-
padding-left:
|
|
950
|
-
}
|
|
974
|
+
padding-right: calc(var(--bf-spacing-lg) * 0.75);
|
|
975
|
+
padding-left: calc(var(--bf-spacing-lg) + var(--bf-spacing-lg));
|
|
976
|
+
}
|
|
977
|
+
/* Range: custom thumb/track when appearance:none is supported.
|
|
978
|
+
* CodePen: https://codepen.io/marcop135/pen/JjGrNMx */
|
|
979
|
+
|
|
980
|
+
@supports ((-webkit-appearance: none) or (-moz-appearance: none) or (appearance: none)) {
|
|
981
|
+
:where([type='range']) {
|
|
982
|
+
-webkit-appearance: none;
|
|
983
|
+
-moz-appearance: none;
|
|
984
|
+
appearance: none;
|
|
985
|
+
width: 100%;
|
|
986
|
+
height: 1.4rem;
|
|
987
|
+
}
|
|
951
988
|
|
|
952
|
-
:where([type=
|
|
953
|
-
|
|
954
|
-
|
|
955
|
-
|
|
956
|
-
|
|
957
|
-
|
|
958
|
-
|
|
959
|
-
|
|
960
|
-
|
|
961
|
-
|
|
962
|
-
:
|
|
963
|
-
|
|
964
|
-
|
|
965
|
-
|
|
966
|
-
|
|
967
|
-
|
|
968
|
-
|
|
969
|
-
|
|
970
|
-
|
|
971
|
-
margin-right: 0.5rem;
|
|
972
|
-
}
|
|
973
|
-
:where([type=checkbox], [type=radio])::after {
|
|
974
|
-
content: "";
|
|
975
|
-
display: block;
|
|
976
|
-
position: absolute;
|
|
977
|
-
}
|
|
978
|
-
:where([type=checkbox], [type=radio]):checked {
|
|
979
|
-
background-color: #007bff;
|
|
980
|
-
border-color: #000;
|
|
981
|
-
}
|
|
989
|
+
:where([type='range'])::-webkit-slider-thumb {
|
|
990
|
+
border: 0;
|
|
991
|
+
-webkit-appearance: none;
|
|
992
|
+
appearance: none;
|
|
993
|
+
|
|
994
|
+
width: 1.5rem;
|
|
995
|
+
height: 1.5rem;
|
|
996
|
+
margin-top: -0.25rem;
|
|
997
|
+
background-color: var(--bf-blue);
|
|
998
|
+
border-radius: 1.5rem;
|
|
999
|
+
-webkit-transition:
|
|
1000
|
+
background-color 0.15s ease-in-out,
|
|
1001
|
+
border-color 0.15s ease-in-out,
|
|
1002
|
+
box-shadow 0.15s ease-in-out;
|
|
1003
|
+
transition:
|
|
1004
|
+
background-color 0.15s ease-in-out,
|
|
1005
|
+
border-color 0.15s ease-in-out,
|
|
1006
|
+
box-shadow 0.15s ease-in-out;
|
|
1007
|
+
}
|
|
982
1008
|
|
|
983
|
-
:where([type=
|
|
984
|
-
|
|
985
|
-
|
|
986
|
-
left: -0.05rem;
|
|
987
|
-
top: -0.05rem;
|
|
988
|
-
border-radius: 50%;
|
|
989
|
-
background: #fff;
|
|
990
|
-
transform: scale(0.35);
|
|
991
|
-
}
|
|
1009
|
+
:where([type='range'])::-webkit-slider-thumb:active {
|
|
1010
|
+
background-color: var(--bf-blue);
|
|
1011
|
+
}
|
|
992
1012
|
|
|
993
|
-
:where([type=
|
|
994
|
-
|
|
995
|
-
|
|
996
|
-
|
|
997
|
-
|
|
998
|
-
|
|
999
|
-
|
|
1000
|
-
|
|
1001
|
-
|
|
1002
|
-
|
|
1013
|
+
:where([type='range'])::-moz-range-thumb {
|
|
1014
|
+
border: 0;
|
|
1015
|
+
-moz-appearance: none;
|
|
1016
|
+
appearance: none;
|
|
1017
|
+
|
|
1018
|
+
width: 1.5rem;
|
|
1019
|
+
height: 1.5rem;
|
|
1020
|
+
background-color: var(--bf-blue);
|
|
1021
|
+
border-radius: 1.5rem;
|
|
1022
|
+
-moz-transition:
|
|
1023
|
+
background-color 0.15s ease-in-out,
|
|
1024
|
+
border-color 0.15s ease-in-out,
|
|
1025
|
+
box-shadow 0.15s ease-in-out;
|
|
1026
|
+
transition:
|
|
1027
|
+
background-color 0.15s ease-in-out,
|
|
1028
|
+
border-color 0.15s ease-in-out,
|
|
1029
|
+
box-shadow 0.15s ease-in-out;
|
|
1030
|
+
}
|
|
1003
1031
|
|
|
1004
|
-
:where([type=range]) {
|
|
1005
|
-
|
|
1006
|
-
|
|
1007
|
-
|
|
1032
|
+
:where([type='range'])::-moz-range-thumb:active {
|
|
1033
|
+
background-color: var(--bf-blue);
|
|
1034
|
+
}
|
|
1035
|
+
|
|
1036
|
+
:where([type='range'])::-webkit-slider-runnable-track {
|
|
1037
|
+
color: transparent;
|
|
1038
|
+
border-color: transparent;
|
|
1039
|
+
|
|
1040
|
+
width: 100%;
|
|
1041
|
+
height: 0.65rem;
|
|
1042
|
+
cursor: pointer;
|
|
1043
|
+
background-color: var(--bf-gray-light-extra);
|
|
1044
|
+
}
|
|
1045
|
+
|
|
1046
|
+
:where([type='range'])::-moz-range-track {
|
|
1047
|
+
color: transparent;
|
|
1048
|
+
border-color: transparent;
|
|
1049
|
+
|
|
1050
|
+
width: 100%;
|
|
1051
|
+
height: 0.65rem;
|
|
1052
|
+
cursor: pointer;
|
|
1053
|
+
background-color: var(--bf-gray-light-extra);
|
|
1054
|
+
}
|
|
1055
|
+
|
|
1056
|
+
:where([type='range']):focus {
|
|
1057
|
+
outline: none;
|
|
1058
|
+
}
|
|
1059
|
+
|
|
1060
|
+
:where([type='range']):focus::-webkit-slider-thumb {
|
|
1061
|
+
box-shadow:
|
|
1062
|
+
0 0 0 0.1rem var(--bf-white),
|
|
1063
|
+
0 0 0 0.2rem rgb(0 123 255 / 25%);
|
|
1064
|
+
}
|
|
1065
|
+
|
|
1066
|
+
:where([type='range']):focus::-moz-range-thumb {
|
|
1067
|
+
box-shadow:
|
|
1068
|
+
0 0 0 0.1rem var(--bf-white),
|
|
1069
|
+
0 0 0 0.2rem rgb(0 123 255 / 25%);
|
|
1070
|
+
}
|
|
1071
|
+
|
|
1072
|
+
:where([type='range'])::-moz-focus-outer {
|
|
1073
|
+
border: 0;
|
|
1074
|
+
}
|
|
1075
|
+
|
|
1076
|
+
:where([type='range']):disabled {
|
|
1077
|
+
pointer-events: none;
|
|
1078
|
+
}
|
|
1079
|
+
|
|
1080
|
+
:where([type='range']):disabled::-webkit-slider-thumb {
|
|
1081
|
+
background-color: var(--bf-gray-light);
|
|
1082
|
+
}
|
|
1083
|
+
|
|
1084
|
+
:where([type='range']):disabled::-moz-range-thumb {
|
|
1085
|
+
background-color: var(--bf-gray-light);
|
|
1086
|
+
}
|
|
1087
|
+
}
|
|
1088
|
+
|
|
1089
|
+
/* Miscellaneous */
|
|
1090
|
+
/* Link defaults. --bf-blue meets WCAG AA 4.5:1 on white. */
|
|
1091
|
+
|
|
1092
|
+
a {
|
|
1093
|
+
color: var(--bf-blue);
|
|
1094
|
+
text-decoration: none;
|
|
1095
|
+
background-color: transparent; /* Legacy Edge active background. */
|
|
1096
|
+
}
|
|
1097
|
+
|
|
1098
|
+
a:hover,
|
|
1099
|
+
a:focus {
|
|
1100
|
+
text-decoration: underline;
|
|
1101
|
+
color: var(--bf-blue-light);
|
|
1102
|
+
}
|
|
1103
|
+
|
|
1104
|
+
/* Non-href anchors inherit text (Bootstrap reboot pattern). */
|
|
1105
|
+
a:not([href], [tabindex]) {
|
|
1106
|
+
color: inherit;
|
|
1107
|
+
text-decoration: none;
|
|
1108
|
+
}
|
|
1109
|
+
|
|
1110
|
+
a:not([href], [class]),
|
|
1111
|
+
a:not([href], [class]):hover {
|
|
1112
|
+
color: inherit;
|
|
1113
|
+
text-decoration: none;
|
|
1114
|
+
}
|
|
1115
|
+
|
|
1116
|
+
a:not([href], [tabindex]):focus {
|
|
1117
|
+
outline: 0;
|
|
1118
|
+
}
|
|
1119
|
+
/* Keyboard-first focus: orange :focus-visible ring; mute mouse outline.
|
|
1120
|
+
* Text-like controls clear UA outline here; field chrome is in forms/styling.css. */
|
|
1121
|
+
|
|
1122
|
+
:where(:focus:not(:focus-visible)) {
|
|
1123
|
+
outline: none;
|
|
1124
|
+
}
|
|
1125
|
+
|
|
1126
|
+
/* tabindex="-1" targets should not show a ring on programmatic focus. */
|
|
1127
|
+
:where([tabindex='-1']:focus:not(:focus-visible)) {
|
|
1128
|
+
outline: 0 !important;
|
|
1129
|
+
}
|
|
1130
|
+
|
|
1131
|
+
:focus-visible {
|
|
1132
|
+
outline: 0.2rem solid var(--bf-orange);
|
|
1133
|
+
outline-offset: 0.3rem;
|
|
1134
|
+
}
|
|
1135
|
+
|
|
1136
|
+
/* Clear UA outline on text-like controls (styled fields keep their own chrome).
|
|
1137
|
+
* Leave color / range / file alone; they often use custom widgets. */
|
|
1138
|
+
button:focus,
|
|
1139
|
+
[type='button']:focus,
|
|
1140
|
+
[type='reset']:focus,
|
|
1141
|
+
[type='submit']:focus,
|
|
1142
|
+
[type='email']:focus,
|
|
1143
|
+
[type='number']:focus,
|
|
1144
|
+
[type='password']:focus,
|
|
1145
|
+
[type='tel']:focus,
|
|
1146
|
+
[type='search']:focus,
|
|
1147
|
+
[type='text']:focus,
|
|
1148
|
+
[type='date']:focus,
|
|
1149
|
+
[type='datetime-local']:focus,
|
|
1150
|
+
[type='month']:focus,
|
|
1151
|
+
[type='time']:focus,
|
|
1152
|
+
[type='week']:focus,
|
|
1153
|
+
[type='url']:focus,
|
|
1154
|
+
[type='radio']:focus,
|
|
1155
|
+
[type='checkbox']:focus,
|
|
1156
|
+
input[list]:focus,
|
|
1157
|
+
select:focus,
|
|
1158
|
+
textarea:focus,
|
|
1159
|
+
.bf-btn:focus {
|
|
1160
|
+
outline: 0;
|
|
1161
|
+
}
|
|
1162
|
+
/* List spacing and nav list reset. */
|
|
1163
|
+
|
|
1164
|
+
menu,
|
|
1165
|
+
ol,
|
|
1166
|
+
ul,
|
|
1167
|
+
dl {
|
|
1168
|
+
margin: 0 0 var(--bf-spacing-xl) 0;
|
|
1169
|
+
padding: 0;
|
|
1170
|
+
}
|
|
1171
|
+
|
|
1172
|
+
menu ul,
|
|
1173
|
+
menu ol,
|
|
1174
|
+
ul ul,
|
|
1175
|
+
ul ol,
|
|
1176
|
+
ol ol,
|
|
1177
|
+
ol ul,
|
|
1178
|
+
dd {
|
|
1179
|
+
margin-bottom: 0;
|
|
1180
|
+
}
|
|
1181
|
+
|
|
1182
|
+
ul,
|
|
1183
|
+
ol {
|
|
1184
|
+
margin-left: var(--bf-spacing-xl);
|
|
1185
|
+
}
|
|
1186
|
+
|
|
1187
|
+
nav ol,
|
|
1188
|
+
nav ul {
|
|
1189
|
+
list-style: none;
|
|
1190
|
+
list-style-image: none;
|
|
1191
|
+
margin-left: 0;
|
|
1192
|
+
}
|
|
1193
|
+
|
|
1194
|
+
dt {
|
|
1195
|
+
font-weight: 700;
|
|
1196
|
+
}
|
|
1197
|
+
|
|
1198
|
+
dd {
|
|
1199
|
+
margin-left: 0;
|
|
1200
|
+
}
|
|
1201
|
+
|
|
1202
|
+
/* VoiceOver: zero-width space so list-style:none lists stay announced. */
|
|
1203
|
+
nav li::before {
|
|
1204
|
+
content: '\200B';
|
|
1205
|
+
position: absolute;
|
|
1206
|
+
}
|
|
1207
|
+
/* Media elements, figures, progress/meter, and iframes. */
|
|
1208
|
+
|
|
1209
|
+
audio,
|
|
1210
|
+
canvas,
|
|
1211
|
+
progress,
|
|
1212
|
+
video {
|
|
1213
|
+
display: inline-block;
|
|
1214
|
+
}
|
|
1215
|
+
|
|
1216
|
+
img,
|
|
1217
|
+
canvas,
|
|
1218
|
+
audio,
|
|
1219
|
+
video,
|
|
1220
|
+
iframe,
|
|
1221
|
+
object,
|
|
1222
|
+
embed {
|
|
1223
|
+
max-width: 100%;
|
|
1224
|
+
}
|
|
1225
|
+
|
|
1226
|
+
audio,
|
|
1227
|
+
video,
|
|
1228
|
+
canvas,
|
|
1229
|
+
img,
|
|
1230
|
+
svg {
|
|
1231
|
+
vertical-align: middle;
|
|
1232
|
+
}
|
|
1233
|
+
|
|
1234
|
+
img {
|
|
1235
|
+
height: auto;
|
|
1236
|
+
border-style: none;
|
|
1237
|
+
}
|
|
1238
|
+
|
|
1239
|
+
figure {
|
|
1240
|
+
margin: 0;
|
|
1241
|
+
}
|
|
1242
|
+
|
|
1243
|
+
figure,
|
|
1244
|
+
figcaption {
|
|
1245
|
+
display: block;
|
|
1246
|
+
}
|
|
1247
|
+
|
|
1248
|
+
figcaption {
|
|
1249
|
+
line-height: 1.375;
|
|
1250
|
+
font-size: 90%;
|
|
1251
|
+
}
|
|
1252
|
+
|
|
1253
|
+
video {
|
|
1254
|
+
height: auto;
|
|
1255
|
+
}
|
|
1256
|
+
|
|
1257
|
+
audio {
|
|
1008
1258
|
width: 100%;
|
|
1009
|
-
height: 1.4rem;
|
|
1010
1259
|
}
|
|
1011
1260
|
|
|
1012
|
-
:
|
|
1013
|
-
|
|
1261
|
+
audio:not([controls]) {
|
|
1262
|
+
display: none;
|
|
1263
|
+
height: 0;
|
|
1264
|
+
}
|
|
1265
|
+
|
|
1266
|
+
svg:not(:root) {
|
|
1267
|
+
overflow: hidden;
|
|
1268
|
+
}
|
|
1269
|
+
|
|
1270
|
+
svg:not([fill]) {
|
|
1271
|
+
fill: currentColor;
|
|
1272
|
+
}
|
|
1273
|
+
|
|
1274
|
+
progress,
|
|
1275
|
+
meter {
|
|
1276
|
+
display: inline-block;
|
|
1277
|
+
vertical-align: baseline;
|
|
1278
|
+
width: 100%;
|
|
1279
|
+
max-width: 100%;
|
|
1280
|
+
}
|
|
1281
|
+
|
|
1282
|
+
/* progress[value] reset (https://css-tricks.com/html5-progress-element/). */
|
|
1283
|
+
progress[value] {
|
|
1014
1284
|
-webkit-appearance: none;
|
|
1285
|
+
-moz-appearance: none;
|
|
1015
1286
|
appearance: none;
|
|
1016
|
-
|
|
1017
|
-
|
|
1018
|
-
|
|
1019
|
-
|
|
1020
|
-
|
|
1021
|
-
|
|
1022
|
-
|
|
1287
|
+
border: none; /* Firefox default border. */
|
|
1288
|
+
|
|
1289
|
+
height: 20px;
|
|
1290
|
+
height: 2rem;
|
|
1291
|
+
|
|
1292
|
+
background: var(--bf-gray-light);
|
|
1293
|
+
color: var(--bf-blue); /* Progress fill in IE10+. */
|
|
1294
|
+
}
|
|
1295
|
+
|
|
1296
|
+
progress[value]::-webkit-progress-bar {
|
|
1297
|
+
background: var(--bf-gray-light);
|
|
1023
1298
|
}
|
|
1024
|
-
|
|
1025
|
-
|
|
1299
|
+
|
|
1300
|
+
progress[value]::-webkit-progress-value {
|
|
1301
|
+
background: var(--bf-blue);
|
|
1026
1302
|
}
|
|
1027
1303
|
|
|
1028
|
-
|
|
1029
|
-
|
|
1030
|
-
-
|
|
1031
|
-
appearance: none;
|
|
1032
|
-
width: 1.5rem;
|
|
1033
|
-
height: 1.5rem;
|
|
1034
|
-
background-color: #007bff;
|
|
1035
|
-
border-radius: 1.5rem;
|
|
1036
|
-
-moz-transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
|
|
1037
|
-
transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
|
|
1304
|
+
/* No default border (covers embeds that ignore frameborder="0"). */
|
|
1305
|
+
iframe {
|
|
1306
|
+
border-style: none;
|
|
1038
1307
|
}
|
|
1039
|
-
|
|
1040
|
-
|
|
1308
|
+
/* Address, details/summary, and dialog defaults. */
|
|
1309
|
+
|
|
1310
|
+
address {
|
|
1311
|
+
font-style: normal;
|
|
1312
|
+
margin-bottom: var(--bf-spacing-lg);
|
|
1313
|
+
line-height: inherit;
|
|
1041
1314
|
}
|
|
1042
1315
|
|
|
1043
|
-
:
|
|
1044
|
-
|
|
1045
|
-
border-color: transparent;
|
|
1046
|
-
width: 100%;
|
|
1047
|
-
height: 0.65rem;
|
|
1048
|
-
cursor: pointer;
|
|
1049
|
-
background-color: #e9e9e9;
|
|
1316
|
+
details > summary:first-of-type {
|
|
1317
|
+
display: list-item;
|
|
1050
1318
|
}
|
|
1051
1319
|
|
|
1052
|
-
|
|
1053
|
-
color: transparent;
|
|
1054
|
-
border-color: transparent;
|
|
1055
|
-
width: 100%;
|
|
1056
|
-
height: 0.65rem;
|
|
1320
|
+
summary {
|
|
1057
1321
|
cursor: pointer;
|
|
1058
|
-
|
|
1322
|
+
font-weight: 700;
|
|
1323
|
+
word-break: break-all;
|
|
1059
1324
|
}
|
|
1060
1325
|
|
|
1061
|
-
|
|
1062
|
-
|
|
1326
|
+
dialog {
|
|
1327
|
+
background-color: var(--bf-white);
|
|
1328
|
+
color: var(--bf-dark);
|
|
1329
|
+
border: none;
|
|
1330
|
+
border-radius: var(--bf-spacing-sm);
|
|
1331
|
+
padding: var(--bf-spacing-xl);
|
|
1332
|
+
height: -moz-fit-content;
|
|
1333
|
+
height: fit-content;
|
|
1334
|
+
min-width: min(25rem, 100%);
|
|
1335
|
+
max-width: calc(100vw - (var(--bf-spacing-grid-gutter) * 2));
|
|
1063
1336
|
}
|
|
1064
|
-
|
|
1065
|
-
|
|
1337
|
+
|
|
1338
|
+
@media (min-width: 768px) {
|
|
1339
|
+
dialog {
|
|
1340
|
+
max-width: 50rem;
|
|
1341
|
+
}
|
|
1066
1342
|
}
|
|
1067
|
-
|
|
1068
|
-
|
|
1343
|
+
|
|
1344
|
+
/* Open dialog wins over [hidden] (e.g. <dialog hidden open>). */
|
|
1345
|
+
dialog[open] {
|
|
1346
|
+
display: block !important;
|
|
1069
1347
|
}
|
|
1070
1348
|
|
|
1071
|
-
|
|
1072
|
-
|
|
1349
|
+
dialog::backdrop {
|
|
1350
|
+
background: rgb(0 0 0 / 40%);
|
|
1073
1351
|
}
|
|
1352
|
+
/* Smooth scrolling when motion is allowed. */
|
|
1074
1353
|
|
|
1075
|
-
|
|
1076
|
-
|
|
1354
|
+
@media (prefers-reduced-motion: no-preference) {
|
|
1355
|
+
:root {
|
|
1356
|
+
scroll-behavior: smooth;
|
|
1357
|
+
}
|
|
1077
1358
|
}
|
|
1359
|
+
/* Table border collapse and cell alignment. */
|
|
1078
1360
|
|
|
1079
|
-
|
|
1080
|
-
|
|
1361
|
+
table {
|
|
1362
|
+
caption-side: bottom;
|
|
1363
|
+
max-width: 100%;
|
|
1364
|
+
border-collapse: collapse;
|
|
1365
|
+
border-color: currentcolor; /* Chrome / Safari inheritance. */
|
|
1366
|
+
text-indent: 0; /* Chrome / Safari table indent. */
|
|
1081
1367
|
}
|
|
1082
|
-
|
|
1083
|
-
|
|
1368
|
+
|
|
1369
|
+
thead,
|
|
1370
|
+
tbody,
|
|
1371
|
+
tfoot,
|
|
1372
|
+
tr,
|
|
1373
|
+
td,
|
|
1374
|
+
th {
|
|
1375
|
+
border-color: inherit;
|
|
1376
|
+
border-style: solid;
|
|
1377
|
+
border-width: 0;
|
|
1084
1378
|
}
|
|
1085
|
-
|
|
1086
|
-
|
|
1379
|
+
|
|
1380
|
+
thead th {
|
|
1381
|
+
vertical-align: bottom;
|
|
1087
1382
|
}
|
|
1088
1383
|
|
|
1089
|
-
|
|
1090
|
-
|
|
1384
|
+
th,
|
|
1385
|
+
td {
|
|
1386
|
+
vertical-align: top;
|
|
1091
1387
|
}
|
|
1092
1388
|
|
|
1093
|
-
|
|
1094
|
-
|
|
1095
|
-
|
|
1389
|
+
th {
|
|
1390
|
+
text-align: inherit;
|
|
1391
|
+
text-align: -webkit-match-parent;
|
|
1392
|
+
font-weight: 700;
|
|
1096
1393
|
}
|
|
1097
1394
|
|
|
1098
|
-
|
|
1099
|
-
|
|
1395
|
+
caption {
|
|
1396
|
+
padding-top: var(--bf-spacing-md);
|
|
1397
|
+
padding-bottom: var(--bf-spacing-md);
|
|
1398
|
+
color: var(--bf-gray);
|
|
1399
|
+
text-align: left;
|
|
1400
|
+
caption-side: bottom;
|
|
1401
|
+
line-height: 1.375;
|
|
1402
|
+
font-size: 90%;
|
|
1100
1403
|
}
|
|
1404
|
+
/* Accessibility helpers (adapted from sanitize.css). */
|
|
1101
1405
|
|
|
1102
|
-
|
|
1103
|
-
|
|
1406
|
+
/* Busy: progress cursor. */
|
|
1407
|
+
:where([aria-busy='true' i]) {
|
|
1408
|
+
cursor: progress;
|
|
1104
1409
|
}
|
|
1105
1410
|
|
|
1106
|
-
|
|
1107
|
-
|
|
1411
|
+
/* Disabled / inoperable: not-allowed cursor. */
|
|
1412
|
+
:where([aria-disabled='true' i], [disabled]) {
|
|
1413
|
+
cursor: not-allowed;
|
|
1108
1414
|
}
|
|
1109
1415
|
|
|
1110
|
-
|
|
1111
|
-
|
|
1112
|
-
|
|
1113
|
-
|
|
1114
|
-
|
|
1115
|
-
|
|
1116
|
-
|
|
1416
|
+
/* aria-hidden="false" on [hidden]: keep in a11y tree when not focused. */
|
|
1417
|
+
:where([aria-hidden='false' i][hidden]) {
|
|
1418
|
+
display: initial;
|
|
1419
|
+
}
|
|
1420
|
+
|
|
1421
|
+
:where([aria-hidden='false' i][hidden]:not(:focus)) {
|
|
1422
|
+
clip: rect(0, 0, 0, 0);
|
|
1423
|
+
position: absolute;
|
|
1424
|
+
}
|
|
1425
|
+
/* Preference queries only (prefers-contrast, forced-colors). Additive. */
|
|
1426
|
+
|
|
1427
|
+
/* prefers-contrast: more: underline links, thicker focus, stronger borders (WCAG 1.4.1). */
|
|
1428
|
+
@media (prefers-contrast: more) {
|
|
1117
1429
|
a {
|
|
1118
|
-
|
|
1119
|
-
}
|
|
1120
|
-
a:hover, a:focus {
|
|
1121
|
-
color: rgb(26, 136.0223463687, 255);
|
|
1122
|
-
}
|
|
1123
|
-
mark {
|
|
1124
|
-
background-color: #cccc00;
|
|
1430
|
+
text-decoration: underline;
|
|
1125
1431
|
}
|
|
1126
|
-
|
|
1127
|
-
|
|
1432
|
+
|
|
1433
|
+
:focus-visible {
|
|
1434
|
+
outline-width: 0.3rem;
|
|
1435
|
+
outline-offset: 0.4rem;
|
|
1128
1436
|
}
|
|
1129
|
-
|
|
1130
|
-
[type=
|
|
1131
|
-
[type=
|
|
1132
|
-
[type=
|
|
1133
|
-
[type=
|
|
1134
|
-
[type=
|
|
1135
|
-
[type=
|
|
1136
|
-
[type=
|
|
1137
|
-
[type=
|
|
1138
|
-
[type=
|
|
1139
|
-
[type=time],
|
|
1140
|
-
[type=url],
|
|
1141
|
-
[type=
|
|
1437
|
+
|
|
1438
|
+
[type='email'],
|
|
1439
|
+
[type='number'],
|
|
1440
|
+
[type='password'],
|
|
1441
|
+
[type='tel'],
|
|
1442
|
+
[type='search'],
|
|
1443
|
+
[type='text'],
|
|
1444
|
+
[type='date'],
|
|
1445
|
+
[type='datetime-local'],
|
|
1446
|
+
[type='month'],
|
|
1447
|
+
[type='time'],
|
|
1448
|
+
[type='url'],
|
|
1449
|
+
[type='week'],
|
|
1142
1450
|
input[list],
|
|
1143
1451
|
select,
|
|
1144
|
-
select:not([size], select[multiple]),
|
|
1145
1452
|
textarea {
|
|
1146
|
-
|
|
1147
|
-
border-color: #000;
|
|
1148
|
-
color: #ccc;
|
|
1149
|
-
}
|
|
1150
|
-
[type=email]:active, [type=email]:focus,
|
|
1151
|
-
[type=number]:active,
|
|
1152
|
-
[type=number]:focus,
|
|
1153
|
-
[type=password]:active,
|
|
1154
|
-
[type=password]:focus,
|
|
1155
|
-
[type=tel]:active,
|
|
1156
|
-
[type=tel]:focus,
|
|
1157
|
-
[type=search]:active,
|
|
1158
|
-
[type=search]:focus,
|
|
1159
|
-
[type=text]:active,
|
|
1160
|
-
[type=text]:focus,
|
|
1161
|
-
[type=date]:active,
|
|
1162
|
-
[type=date]:focus,
|
|
1163
|
-
[type=datetime-local]:active,
|
|
1164
|
-
[type=datetime-local]:focus,
|
|
1165
|
-
[type=month]:active,
|
|
1166
|
-
[type=month]:focus,
|
|
1167
|
-
[type=week]:active,
|
|
1168
|
-
[type=week]:focus,
|
|
1169
|
-
[type=time]:active,
|
|
1170
|
-
[type=time]:focus,
|
|
1171
|
-
[type=url]:active,
|
|
1172
|
-
[type=url]:focus,
|
|
1173
|
-
[type=range]:active,
|
|
1174
|
-
[type=range]:focus,
|
|
1175
|
-
input[list]:active,
|
|
1176
|
-
input[list]:focus,
|
|
1177
|
-
select:active,
|
|
1178
|
-
select:focus,
|
|
1179
|
-
select:not([size], select[multiple]):active,
|
|
1180
|
-
select:not([size], select[multiple]):focus,
|
|
1181
|
-
textarea:active,
|
|
1182
|
-
textarea:focus {
|
|
1183
|
-
background-color: #111;
|
|
1184
|
-
border-color: rgb(51, 149.4, 255);
|
|
1185
|
-
}
|
|
1186
|
-
[type=email]:active, [type=email]:focus,
|
|
1187
|
-
[type=number]:active,
|
|
1188
|
-
[type=number]:focus,
|
|
1189
|
-
[type=password]:active,
|
|
1190
|
-
[type=password]:focus,
|
|
1191
|
-
[type=tel]:active,
|
|
1192
|
-
[type=tel]:focus,
|
|
1193
|
-
[type=search]:active,
|
|
1194
|
-
[type=search]:focus,
|
|
1195
|
-
[type=text]:active,
|
|
1196
|
-
[type=text]:focus,
|
|
1197
|
-
[type=date]:active,
|
|
1198
|
-
[type=date]:focus,
|
|
1199
|
-
[type=datetime-local]:active,
|
|
1200
|
-
[type=datetime-local]:focus,
|
|
1201
|
-
[type=month]:active,
|
|
1202
|
-
[type=month]:focus,
|
|
1203
|
-
[type=week]:active,
|
|
1204
|
-
[type=week]:focus,
|
|
1205
|
-
[type=time]:active,
|
|
1206
|
-
[type=time]:focus,
|
|
1207
|
-
[type=url]:active,
|
|
1208
|
-
[type=url]:focus,
|
|
1209
|
-
input[list]:active,
|
|
1210
|
-
input[list]:focus,
|
|
1211
|
-
select:active,
|
|
1212
|
-
select:focus,
|
|
1213
|
-
select:not([size], select[multiple]):active,
|
|
1214
|
-
select:not([size], select[multiple]):focus,
|
|
1215
|
-
textarea:active,
|
|
1216
|
-
textarea:focus {
|
|
1217
|
-
box-shadow: 0 0 0 3px rgba(3, 102, 214, 0.5);
|
|
1218
|
-
}
|
|
1219
|
-
select:not([size], select[multiple]) {
|
|
1220
|
-
background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%23f0f0f0' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e");
|
|
1453
|
+
border-width: 2px;
|
|
1221
1454
|
}
|
|
1222
|
-
/* stylelint-disable-next-line */
|
|
1223
1455
|
}
|
|
1224
|
-
|
|
1225
|
-
|
|
1226
|
-
|
|
1227
|
-
|
|
1228
|
-
|
|
1229
|
-
}
|
|
1230
|
-
}
|
|
1231
|
-
@media (prefers-color-scheme: dark) {
|
|
1232
|
-
[type=range] {
|
|
1233
|
-
background-color: transparent;
|
|
1234
|
-
}
|
|
1235
|
-
[type=range]:focus {
|
|
1236
|
-
background-color: transparent;
|
|
1237
|
-
}
|
|
1238
|
-
[type=range]::-webkit-slider-runnable-track {
|
|
1239
|
-
background-color: #111;
|
|
1240
|
-
}
|
|
1241
|
-
[type=range]::-moz-range-track {
|
|
1242
|
-
background-color: #111;
|
|
1243
|
-
}
|
|
1244
|
-
input::-moz-placeholder, textarea::-moz-placeholder {
|
|
1245
|
-
color: #999;
|
|
1456
|
+
|
|
1457
|
+
/* forced-colors: restore focus via Highlight; underline links; keep button borders. */
|
|
1458
|
+
@media (forced-colors: active) {
|
|
1459
|
+
:focus-visible {
|
|
1460
|
+
outline-color: Highlight;
|
|
1246
1461
|
}
|
|
1247
|
-
|
|
1248
|
-
|
|
1249
|
-
|
|
1462
|
+
|
|
1463
|
+
a {
|
|
1464
|
+
text-decoration: underline;
|
|
1250
1465
|
}
|
|
1466
|
+
|
|
1467
|
+
/* Keep button borders so disabled/active stay distinguishable. */
|
|
1251
1468
|
button,
|
|
1252
|
-
[type=button],
|
|
1253
|
-
[type=reset],
|
|
1254
|
-
[type=submit]
|
|
1255
|
-
|
|
1256
|
-
|
|
1257
|
-
button:hover, button:active, button:focus,
|
|
1258
|
-
[type=button]:hover,
|
|
1259
|
-
[type=button]:active,
|
|
1260
|
-
[type=button]:focus,
|
|
1261
|
-
[type=reset]:hover,
|
|
1262
|
-
[type=reset]:active,
|
|
1263
|
-
[type=reset]:focus,
|
|
1264
|
-
[type=submit]:hover,
|
|
1265
|
-
[type=submit]:active,
|
|
1266
|
-
[type=submit]:focus {
|
|
1267
|
-
background: rgb(178.5, 178.5, 178.5);
|
|
1268
|
-
}
|
|
1269
|
-
button:active, button:focus,
|
|
1270
|
-
[type=button]:active,
|
|
1271
|
-
[type=button]:focus,
|
|
1272
|
-
[type=reset]:active,
|
|
1273
|
-
[type=reset]:focus,
|
|
1274
|
-
[type=submit]:active,
|
|
1275
|
-
[type=submit]:focus {
|
|
1276
|
-
box-shadow: 0 0 0 3px rgba(255, 255, 255, 0.45);
|
|
1277
|
-
}
|
|
1278
|
-
button:active, button:focus,
|
|
1279
|
-
[type=button]:active,
|
|
1280
|
-
[type=button]:focus,
|
|
1281
|
-
[type=reset]:active,
|
|
1282
|
-
[type=reset]:focus,
|
|
1283
|
-
[type=submit]:active,
|
|
1284
|
-
[type=submit]:focus {
|
|
1285
|
-
box-shadow: 0 0 0 3px rgba(255, 255, 255, 0.45);
|
|
1286
|
-
}
|
|
1287
|
-
a:focus,
|
|
1288
|
-
input:focus {
|
|
1289
|
-
outline-color: rgb(178.5, 115.5, 0);
|
|
1290
|
-
}
|
|
1291
|
-
:focus-visible {
|
|
1292
|
-
outline-color: rgb(178.5, 115.5, 0);
|
|
1293
|
-
}
|
|
1294
|
-
dialog {
|
|
1295
|
-
color: #f0f0f0;
|
|
1296
|
-
background-color: rgb(36.125, 36.125, 36.125);
|
|
1469
|
+
[type='button'],
|
|
1470
|
+
[type='reset'],
|
|
1471
|
+
[type='submit'],
|
|
1472
|
+
.bf-btn {
|
|
1473
|
+
border: 1px solid ButtonText;
|
|
1297
1474
|
}
|
|
1298
1475
|
}
|
|
1299
|
-
|
|
1476
|
+
/* Always-dark overrides for classless (no media query). */
|
|
1477
|
+
|
|
1478
|
+
html {
|
|
1479
|
+
color: var(--bf-light);
|
|
1480
|
+
}
|
|
1481
|
+
|
|
1482
|
+
body {
|
|
1483
|
+
background-color: var(--bf-dark-bg);
|
|
1484
|
+
}
|
|
1485
|
+
|
|
1486
|
+
a {
|
|
1487
|
+
color: var(--bf-dark-link);
|
|
1488
|
+
}
|
|
1489
|
+
|
|
1490
|
+
a:hover,
|
|
1491
|
+
a:focus {
|
|
1492
|
+
color: var(--bf-dark-link-hover);
|
|
1493
|
+
}
|
|
1494
|
+
|
|
1495
|
+
mark {
|
|
1496
|
+
background-color: var(--bf-dark-mark-bg);
|
|
1497
|
+
}
|
|
1498
|
+
|
|
1499
|
+
ins {
|
|
1500
|
+
background-color: var(--bf-dark-ins-bg);
|
|
1501
|
+
}
|
|
1502
|
+
|
|
1503
|
+
[type='email'],
|
|
1504
|
+
[type='number'],
|
|
1505
|
+
[type='password'],
|
|
1506
|
+
[type='tel'],
|
|
1507
|
+
[type='search'],
|
|
1508
|
+
[type='text'],
|
|
1509
|
+
[type='date'],
|
|
1510
|
+
[type='datetime-local'],
|
|
1511
|
+
[type='month'],
|
|
1512
|
+
[type='week'],
|
|
1513
|
+
[type='time'],
|
|
1514
|
+
[type='url'],
|
|
1515
|
+
[type='range'],
|
|
1516
|
+
input[list],
|
|
1517
|
+
select,
|
|
1518
|
+
select:not([size], select[multiple]),
|
|
1519
|
+
textarea {
|
|
1520
|
+
background-color: var(--bf-dark-extra);
|
|
1521
|
+
border-color: var(--bf-black);
|
|
1522
|
+
color: var(--bf-gray-light);
|
|
1523
|
+
}
|
|
1524
|
+
|
|
1525
|
+
[type='email']:active,
|
|
1526
|
+
[type='email']:focus,
|
|
1527
|
+
[type='number']:active,
|
|
1528
|
+
[type='number']:focus,
|
|
1529
|
+
[type='password']:active,
|
|
1530
|
+
[type='password']:focus,
|
|
1531
|
+
[type='tel']:active,
|
|
1532
|
+
[type='tel']:focus,
|
|
1533
|
+
[type='search']:active,
|
|
1534
|
+
[type='search']:focus,
|
|
1535
|
+
[type='text']:active,
|
|
1536
|
+
[type='text']:focus,
|
|
1537
|
+
[type='date']:active,
|
|
1538
|
+
[type='date']:focus,
|
|
1539
|
+
[type='datetime-local']:active,
|
|
1540
|
+
[type='datetime-local']:focus,
|
|
1541
|
+
[type='month']:active,
|
|
1542
|
+
[type='month']:focus,
|
|
1543
|
+
[type='week']:active,
|
|
1544
|
+
[type='week']:focus,
|
|
1545
|
+
[type='time']:active,
|
|
1546
|
+
[type='time']:focus,
|
|
1547
|
+
[type='url']:active,
|
|
1548
|
+
[type='url']:focus,
|
|
1549
|
+
input[list]:active,
|
|
1550
|
+
input[list]:focus,
|
|
1551
|
+
select:active,
|
|
1552
|
+
select:focus,
|
|
1553
|
+
select:not([size], select[multiple]):active,
|
|
1554
|
+
select:not([size], select[multiple]):focus,
|
|
1555
|
+
textarea:active,
|
|
1556
|
+
textarea:focus {
|
|
1557
|
+
background-color: var(--bf-dark-extra);
|
|
1558
|
+
border-color: var(--bf-dark-border-focus);
|
|
1559
|
+
box-shadow: 0 0 0 3px var(--bf-dark-shadow-focus);
|
|
1560
|
+
}
|
|
1561
|
+
|
|
1562
|
+
select:not([size], select[multiple]) {
|
|
1563
|
+
background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%23f0f0f0' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e");
|
|
1564
|
+
}
|
|
1565
|
+
|
|
1566
|
+
[type='range'] {
|
|
1567
|
+
background-color: transparent;
|
|
1568
|
+
}
|
|
1569
|
+
|
|
1570
|
+
[type='range']:focus {
|
|
1571
|
+
background-color: transparent;
|
|
1572
|
+
}
|
|
1573
|
+
|
|
1574
|
+
[type='range']::-webkit-slider-runnable-track {
|
|
1575
|
+
background-color: var(--bf-dark-extra);
|
|
1576
|
+
}
|
|
1577
|
+
|
|
1578
|
+
[type='range']::-moz-range-track {
|
|
1579
|
+
background-color: var(--bf-dark-extra);
|
|
1580
|
+
}
|
|
1581
|
+
|
|
1582
|
+
input::-moz-placeholder, textarea::-moz-placeholder {
|
|
1583
|
+
color: var(--bf-gray);
|
|
1584
|
+
}
|
|
1585
|
+
|
|
1586
|
+
input::placeholder,
|
|
1587
|
+
textarea::placeholder {
|
|
1588
|
+
color: var(--bf-gray);
|
|
1589
|
+
}
|
|
1590
|
+
|
|
1591
|
+
button,
|
|
1592
|
+
[type='button'],
|
|
1593
|
+
[type='reset'],
|
|
1594
|
+
[type='submit'] {
|
|
1595
|
+
background: var(--bf-gray-light);
|
|
1596
|
+
}
|
|
1597
|
+
|
|
1598
|
+
button:hover,
|
|
1599
|
+
button:active,
|
|
1600
|
+
button:focus,
|
|
1601
|
+
[type='button']:hover,
|
|
1602
|
+
[type='button']:active,
|
|
1603
|
+
[type='button']:focus,
|
|
1604
|
+
[type='reset']:hover,
|
|
1605
|
+
[type='reset']:active,
|
|
1606
|
+
[type='reset']:focus,
|
|
1607
|
+
[type='submit']:hover,
|
|
1608
|
+
[type='submit']:active,
|
|
1609
|
+
[type='submit']:focus {
|
|
1610
|
+
background: var(--bf-dark-button-hover);
|
|
1611
|
+
}
|
|
1612
|
+
|
|
1613
|
+
button:active,
|
|
1614
|
+
button:focus,
|
|
1615
|
+
[type='button']:active,
|
|
1616
|
+
[type='button']:focus,
|
|
1617
|
+
[type='reset']:active,
|
|
1618
|
+
[type='reset']:focus,
|
|
1619
|
+
[type='submit']:active,
|
|
1620
|
+
[type='submit']:focus {
|
|
1621
|
+
box-shadow: 0 0 0 3px var(--bf-dark-button-shadow);
|
|
1622
|
+
}
|
|
1623
|
+
|
|
1624
|
+
a:focus,
|
|
1625
|
+
input:focus {
|
|
1626
|
+
outline-color: rgb(214 140 0); /* orange -15% */
|
|
1627
|
+
}
|
|
1628
|
+
|
|
1629
|
+
:focus-visible {
|
|
1630
|
+
outline-color: rgb(214 140 0); /* orange -15% */
|
|
1631
|
+
}
|
|
1632
|
+
|
|
1633
|
+
dialog {
|
|
1634
|
+
color: var(--bf-light);
|
|
1635
|
+
background-color: var(--bf-dark-bg);
|
|
1636
|
+
}
|
|
1637
|
+
/* Dark scrollbar colors (Firefox + WebKit). */
|
|
1638
|
+
|
|
1639
|
+
html {
|
|
1640
|
+
scrollbar-color: rgb(97 97 97) var(--bf-dark-extra); /* gray-dark -5% lightness */
|
|
1641
|
+
}
|
|
1642
|
+
|
|
1643
|
+
/* WebKit thumb / track. */
|
|
1644
|
+
|
|
1645
|
+
::-webkit-scrollbar {
|
|
1646
|
+
width: 1.5rem;
|
|
1647
|
+
height: 1.5rem;
|
|
1648
|
+
}
|
|
1649
|
+
|
|
1650
|
+
::-webkit-scrollbar-track {
|
|
1651
|
+
background-color: var(--bf-dark-extra);
|
|
1652
|
+
}
|
|
1653
|
+
|
|
1654
|
+
::-webkit-scrollbar-thumb {
|
|
1655
|
+
background-color: rgb(97 97 97); /* gray-dark -5% lightness */
|
|
1656
|
+
}
|
|
1657
|
+
|
|
1658
|
+
::-webkit-scrollbar-thumb:hover {
|
|
1659
|
+
background-color: rgb(115 115 115); /* gray-dark +10% lightness */
|
|
1660
|
+
}
|