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