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