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