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