clairity.css 0.1.2 → 0.2.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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +227 -45
- data/README.md +5 -5
- data/lib/assets/css/clairity/base.css +13 -6
- data/lib/assets/css/clairity/classes.css +42 -104
- data/lib/assets/css/clairity/components.css +74 -45
- data/lib/assets/css/clairity/cosmetic.css +359 -5
- data/lib/assets/css/clairity/legacy.css +65 -0
- data/lib/assets/css/clairity/palette.css +308 -225
- data/lib/assets/css/clairity/states.css +3 -295
- data/lib/assets/css/clairity/utilities.css +39 -7
- data/lib/assets/css/clairity.css +4 -1
- data/lib/assets/images/fiery_sunburst.jpg +0 -0
- data/lib/clairity.css/version.rb +1 -1
- metadata +4 -2
@@ -20,12 +20,6 @@ CLASSES - Here is where we first deviate from the classless CSS directive. We'll
|
|
20
20
|
// #containers -
|
21
21
|
// -------------------------------------------------------------------------- */
|
22
22
|
|
23
|
-
/* this doesn't work because some items aren't full width, like asides
|
24
|
-
body > *:not(.fluid) {
|
25
|
-
margin-inline: var(--m);
|
26
|
-
}
|
27
|
-
*/
|
28
|
-
|
29
23
|
/* for constraining width to a reasonable line length - keep in sync
|
30
24
|
with sectioning children of the body element in components.css */
|
31
25
|
.readable {
|
@@ -38,52 +32,43 @@ body > *:not(.fluid) {
|
|
38
32
|
._100vw, [class~="100vw"] {
|
39
33
|
width: 100vw;
|
40
34
|
max-width: 100vw; /* still has horizontal scrollbar issues */
|
41
|
-
margin-inline: calc(50% - 50vw
|
35
|
+
margin-inline: calc(50% - 50vw); /* neg. margin where necessary */
|
42
36
|
}
|
43
37
|
|
44
|
-
/* #100dvi - dynamic
|
38
|
+
/* #100dvi - full dynamic viewport width - unfortunately doesn't account for
|
39
|
+
scrollbars, so its utility for full-bleed breakouts is severely limited
|
40
|
+
...........................................................................*/
|
45
41
|
._100dvi, [class~="100dvi"] {
|
46
42
|
width: 100dvi;
|
47
43
|
max-width: 100dvi; /* still has horizontal scrollbar issues */
|
48
|
-
margin-inline: calc(50% - 50dvi
|
44
|
+
margin-inline: calc(50% - 50dvi); /* neg. margin where necessary */
|
49
45
|
}
|
50
46
|
|
51
47
|
|
52
48
|
/* -----------------------------------------------------------------------------
|
53
|
-
// #grid
|
49
|
+
// #grid - subgrid is ff 71+ & safari 16+ only, chrome/edge in dev - 20230423
|
54
50
|
// -------------------------------------------------------------------------- */
|
55
51
|
|
56
|
-
/* .subgrid extends grid into descendents
|
57
|
-
chrome/edge yet - EXPERIMENTAL
|
52
|
+
/* .subgrid extends grid into descendents - EXPERIMENTAL
|
58
53
|
...........................................................................*/
|
59
54
|
.subgrid {
|
60
|
-
grid-column: padded;
|
61
|
-
display: inherit;
|
62
|
-
grid-template-columns: subgrid;
|
63
|
-
gap: inherit;
|
64
|
-
max-width: unset;
|
55
|
+
grid-column: padded; /* place subgrid on the parent grid */
|
56
|
+
display: inherit; /* inherits grid, otherwise no subgrid */
|
57
|
+
grid-template-columns: subgrid; /* only subgrid columns */
|
58
|
+
gap: inherit; /* inherit parent grid gap */
|
59
|
+
max-width: unset; /* let parent grid dictate width */
|
65
60
|
}
|
66
61
|
|
67
|
-
/* HACK: chrome & edge do not yet support subgrid as of 20221001 */
|
68
|
-
@supports not (grid-template-columns: subgrid) {
|
69
|
-
.subgrid { display: contents; }
|
70
|
-
.subgrid :first-child { /* TODO: this breaks some layouts, like banner images */
|
71
|
-
/*grid-column-start: 2;*/ /* TODO: fix right side guttering too */
|
72
|
-
}}
|
73
|
-
|
74
62
|
/* span the full width of the grid
|
75
63
|
.......................................................................... */
|
76
64
|
.full {
|
77
|
-
|
78
|
-
|
79
|
-
max-width: none; /* remove other width restrictions */
|
65
|
+
grid-column: 1 / -1; /* more foolproof than `full` grid area */
|
66
|
+
/*max-width: none;*/ /* interferes with .full in .subgrid */
|
80
67
|
}
|
81
68
|
|
82
69
|
/* span all but the 1st & last grid columns
|
83
70
|
.......................................................................... */
|
84
|
-
.padded {
|
85
|
-
grid-column: 2 / -2;
|
86
|
-
}
|
71
|
+
.padded { grid-column: 2 / -2; } /* 1st/last columns are typically padding */
|
87
72
|
|
88
73
|
|
89
74
|
/* -----------------------------------------------------------------------------
|
@@ -132,27 +117,14 @@ body > *:not(.fluid) {
|
|
132
117
|
|
133
118
|
|
134
119
|
/* -----------------------------------------------------------------------------
|
135
|
-
// #colors -
|
136
|
-
// is employed - EXPERIMENTAL
|
120
|
+
// #colors - semantic classes for setting the --color variable - EXPERIMENTAL
|
137
121
|
// -------------------------------------------------------------------------- */
|
138
122
|
|
139
|
-
/* semantic colors for states */
|
123
|
+
/* semantic colors for icon states */
|
140
124
|
.valid { --color: var(--valid); }
|
141
125
|
.invalid { --color: var(--invalid); }
|
142
126
|
.unknown { --color: var(--unknown); }
|
143
127
|
|
144
|
-
.red { --color: var(--error); }
|
145
|
-
.orange { --color: var(--error); }
|
146
|
-
.yellow { --color: var(--warning); }
|
147
|
-
.lime { --color: var(--error); }
|
148
|
-
.green { --color: var(--success); }
|
149
|
-
.aqua { --color: var(--error); }
|
150
|
-
.blue { --color: var(--info); }
|
151
|
-
.indigo { --color: var(--error); }
|
152
|
-
.purple { --color: var(--error); }
|
153
|
-
.violet { --color: var(--error); }
|
154
|
-
.magenta { --color: var(--error); }
|
155
|
-
|
156
128
|
|
157
129
|
/* -----------------------------------------------------------------------------
|
158
130
|
// #backgrounds -
|
@@ -160,79 +132,27 @@ body > *:not(.fluid) {
|
|
160
132
|
|
161
133
|
/* https://css-tricks.com/background-patterns-simplified-by-conic-gradients/ */
|
162
134
|
.checkerboard {
|
163
|
-
background:
|
164
|
-
|
135
|
+
background: repeating-conic-gradient(var(--neutral) 0% 25%,
|
136
|
+
transparent 0% 50%) 50% / 20px 20px;
|
165
137
|
}
|
166
138
|
|
167
|
-
/* -----------------------------------------------------------------------------
|
168
|
-
// #spacing -
|
169
|
-
// -------------------------------------------------------------------------- */
|
170
|
-
|
171
|
-
/* for inserting an icon using the background-blend-mode technique */
|
172
|
-
.icon {
|
173
|
-
display: inline-block;
|
174
|
-
padding-right: var(--inline-padding);
|
175
|
-
background-size: var(--text-icon);
|
176
|
-
background-position: var(--center-right);
|
177
|
-
background-blend-mode: lighten, normal;
|
178
|
-
}
|
179
|
-
|
180
|
-
/* leading space for inline ::before elements, typically icons */
|
181
|
-
.leading {
|
182
|
-
padding-left: var(--inline-padding);
|
183
|
-
}
|
184
|
-
|
185
|
-
/* trailing space for inline ::after elements, typically icons */
|
186
|
-
.trailing {
|
187
|
-
padding-right: var(--inline-padding);
|
188
|
-
}
|
189
139
|
|
190
140
|
/* -----------------------------------------------------------------------------
|
191
141
|
// #layout -
|
192
142
|
// -------------------------------------------------------------------------- */
|
193
143
|
|
194
|
-
/* a grid with columns of width var(--column)
|
195
|
-
// .......................................................................... */
|
196
|
-
.grid {
|
197
|
-
display: grid;
|
198
|
-
grid-template-columns: [full-start] repeat(auto-fit,
|
199
|
-
minmax(var(--column), 1fr)) [full-end];
|
200
|
-
column-gap: var(--m);
|
201
|
-
container-type: none; /* containment clashes with grid on safari */
|
202
|
-
}
|
203
|
-
|
204
144
|
/* main content placement in the holy grail 3-column grid
|
145
|
+
// firefox is not forgiving with :has() rules, so this must be separated out
|
205
146
|
// .......................................................................... */
|
206
|
-
/* firefox is not forgiving with :has() rules, so this must be separated out */
|
207
147
|
.dual-aside { grid-column: 2 / -2; }
|
208
148
|
|
209
149
|
|
210
|
-
/* a basic flex container
|
211
|
-
............................................................................ */
|
212
|
-
.flex {
|
213
|
-
--flex-break: 100rem; /* TODO/TEMP - a bit of a magical number */
|
214
|
-
display: flex;
|
215
|
-
flex-wrap: wrap;
|
216
|
-
gap: var(--m);
|
217
|
-
}
|
218
|
-
|
219
|
-
/* flex all the children of .flex to single column below --flex-break */
|
220
|
-
:where(.flex) > * { /* [0000] specificity */
|
221
|
-
flex-grow: 1;
|
222
|
-
flex-basis: calc((var(--flex-break) - 100%) * 999);
|
223
|
-
}
|
224
|
-
|
225
|
-
.flex > :where(.column, .main) {
|
226
|
-
/*flex: 1 1 auto;*/
|
227
|
-
}
|
228
|
-
|
229
|
-
|
230
150
|
/* -----------------------------------------------------------------------------
|
231
151
|
// #breaks - #br #wbr #hr - line breaks and the horizontal rule
|
232
152
|
// -------------------------------------------------------------------------- */
|
233
153
|
|
234
|
-
/* #
|
235
|
-
|
154
|
+
/* #sectioning - a significant break between sections */
|
155
|
+
.sectioning {
|
236
156
|
height: 3rem;
|
237
157
|
margin: auto;
|
238
158
|
width: unset;
|
@@ -247,9 +167,26 @@ hr.section {
|
|
247
167
|
|
248
168
|
|
249
169
|
/* -----------------------------------------------------------------------------
|
250
|
-
// #icons -
|
170
|
+
// #icons - helper classes for icons - EXPERIMENTAL
|
251
171
|
// -------------------------------------------------------------------------- */
|
252
172
|
|
173
|
+
/* for inserting an icon using the background-blend-mode technique */
|
174
|
+
.icon {
|
175
|
+
display: inline-block;
|
176
|
+
padding-right: var(--inline-padding);
|
177
|
+
background-size: var(--text-icon);
|
178
|
+
background-position: var(--center-right);
|
179
|
+
background-blend-mode: lighten, normal;
|
180
|
+
}
|
181
|
+
|
182
|
+
/* leading/trailing space for inline ::before elements, typically icons
|
183
|
+
// TODO: investigate using :has() for this on the parent of .icon
|
184
|
+
// ........................................................................... */
|
185
|
+
.leading { padding-left: var(--inline-padding); }
|
186
|
+
.trailing {padding-right: var(--inline-padding); }
|
187
|
+
|
188
|
+
/* convenience classes for icons defined in icons.css
|
189
|
+
// ........................................................................... */
|
253
190
|
.i-burger { --icon: var(--i-burger); }
|
254
191
|
.i-check { --icon: var(--i-check); }
|
255
192
|
.i-chevron { --icon: var(--i-chevron); }
|
@@ -265,7 +202,8 @@ hr.section {
|
|
265
202
|
.i-user-circle { --icon: var(--i-user-circle); }
|
266
203
|
.i-user-off { --icon: var(--i-user-off); }
|
267
204
|
|
268
|
-
/*
|
205
|
+
/* removes a ::before or ::after icon - [0011] specificity
|
206
|
+
// ........................................................................... */
|
269
207
|
.unadorned::before, .unadorned::after {
|
270
208
|
content: unset;
|
271
209
|
}
|
@@ -9,22 +9,22 @@
|
|
9
9
|
// -------------------------------------------------------------------------- */
|
10
10
|
|
11
11
|
/* #body - auto-grid by default - overrides base.css default body definition.
|
12
|
-
set --columns to the number of columns desired
|
12
|
+
set --columns to the number of columns desired
|
13
|
+
// .......................................................................... */
|
13
14
|
body {
|
14
15
|
display: grid;
|
15
16
|
grid-template-columns: [full-start] var(--padding, var(--m))
|
16
17
|
[padded-start] repeat(var(--columns, auto-fit),
|
17
18
|
minmax(var(--grid), 1fr)) [padded-end]
|
18
19
|
var(--padding, var(--m)) [full-end];
|
19
|
-
column-gap: var(--gap);
|
20
|
+
column-gap: var(--gap); /* --gap is fluid between 400 - 800px */
|
20
21
|
max-width: unset;
|
21
22
|
}
|
22
23
|
|
23
24
|
/* some containers should span full or padded width by default if in the grid */
|
24
|
-
:where(:not(.grid)) > main
|
25
|
-
nav, header, footer
|
26
|
-
|
27
|
-
}
|
25
|
+
:where(:not(.grid)) > main { grid-column: padded; }
|
26
|
+
nav, header, footer { grid-column: full; }
|
27
|
+
|
28
28
|
|
29
29
|
/* the top header typically should sit flush to the top of the page and use
|
30
30
|
padding; TODO: this seems to be over-specified */
|
@@ -39,11 +39,39 @@ footer {
|
|
39
39
|
grid-auto-rows: min-content; /* don't unnecessarily expand rows */
|
40
40
|
column-gap: var(--m);
|
41
41
|
container-type: unset; /* safari doesn't like contain with grid */
|
42
|
-
padding-inline: var(--padding, var(--m))
|
42
|
+
/*padding-inline: var(--padding, var(--m));*/ /* flexible padding */
|
43
43
|
}
|
44
44
|
|
45
45
|
footer > p { grid-column: 1 / -1; } /* take up a whole row in the grid */
|
46
46
|
|
47
|
+
/* HACK: because .100dvi uses a negative margin hack to break out of the parent
|
48
|
+
container and extra negative margin to compensate for the vertical scrollbar,
|
49
|
+
the content needs more padding on narrower screens to stay visible */
|
50
|
+
body > footer:last-of-type:is(._100dvi, [class~="100dvi"]) {
|
51
|
+
margin-inline: calc(50% - 50dvi - var(--s));
|
52
|
+
padding-inline: var(--m) var(--s); /* asymmetric due to neg. margin;
|
53
|
+
centers because --m is twice --s & --s used above */
|
54
|
+
}
|
55
|
+
|
56
|
+
/* a basic flex container
|
57
|
+
// .......................................................................... */
|
58
|
+
.flex {
|
59
|
+
--flex-break: 100rem; /* TODO/TEMP - a bit of a magical number */
|
60
|
+
display: flex;
|
61
|
+
flex-wrap: wrap;
|
62
|
+
gap: var(--m);
|
63
|
+
}
|
64
|
+
|
65
|
+
/* flex all the children of .flex to single column below --flex-break */
|
66
|
+
:where(.flex) > * { /* [0000] specificity */
|
67
|
+
flex-grow: 1;
|
68
|
+
flex-basis: calc((var(--flex-break) - 100%) * 999);
|
69
|
+
}
|
70
|
+
|
71
|
+
.flex > :where(.column, .main) {
|
72
|
+
/*flex: 1 1 auto;*/
|
73
|
+
}
|
74
|
+
|
47
75
|
|
48
76
|
/* -----------------------------------------------------------------------------
|
49
77
|
// #headings -
|
@@ -53,13 +81,15 @@ header:not(.banner) {
|
|
53
81
|
display: flex;
|
54
82
|
flex-wrap: wrap;
|
55
83
|
justify-content: space-between;
|
84
|
+
align-items: baseline; /* make sure flexed text lines up visually*/
|
56
85
|
}
|
57
86
|
|
58
87
|
header :where(h1,h2,h3,h4,h5,h6) {
|
59
88
|
}
|
60
89
|
|
61
|
-
|
62
|
-
|
90
|
+
/* use <span>, not <p>, for text that sits alongside a heading within a header*/
|
91
|
+
header :where(p, .subtitle) {
|
92
|
+
flex: 1 0 100%; /* flex to a full row, forcing a line wrap*/
|
63
93
|
}
|
64
94
|
|
65
95
|
|
@@ -91,7 +121,8 @@ header :where(p) {
|
|
91
121
|
grid-column: unset;
|
92
122
|
flex-direction: column;
|
93
123
|
flex-grow: 1; /* take up the whole role if orphaned */
|
94
|
-
flex-basis
|
124
|
+
/* flex-basis unnecessary? seems to wrap weirdly at larger viewport widths */
|
125
|
+
/*flex-basis: calc((40vw - 100%) * 999);*/
|
95
126
|
align-items: start; /* some items will float otherwise */
|
96
127
|
row-gap: var(--s); /* add some vertical spacing */
|
97
128
|
justify-content: start;
|
@@ -139,7 +170,7 @@ header :where(p) {
|
|
139
170
|
|
140
171
|
|
141
172
|
/* -----------------------------------------------------------------------------
|
142
|
-
// #icons - svg icons
|
173
|
+
// #i #icons - standalone svg icons
|
143
174
|
// -------------------------------------------------------------------------- */
|
144
175
|
|
145
176
|
i[class^='i-'] {
|
@@ -165,6 +196,7 @@ i[class^='i-'] {
|
|
165
196
|
grid-template-areas: "banner";
|
166
197
|
place-items: center;
|
167
198
|
align-self: flex-start;
|
199
|
+
max-width: unset; /* override header max-width in cosmetic.css */
|
168
200
|
height: var(--banner-height);
|
169
201
|
/*max-height: var(--banner-max-height);*/
|
170
202
|
/*background-color: var(--primary-transparent);*/ /* bg color was meant
|
@@ -179,21 +211,28 @@ i[class^='i-'] {
|
|
179
211
|
/* banner #content - constrain content width with a css variable set on parent*/
|
180
212
|
.banner .content {
|
181
213
|
width: var(--content-width);
|
214
|
+
max-width: 100dvi; /* don't let content overflow viewport */
|
182
215
|
z-index: 0; /* safari uses source order otherwise */
|
183
216
|
}
|
184
217
|
|
185
218
|
/* banner grid */
|
186
219
|
.banner > * { grid-area: banner; }
|
187
220
|
.banner > nav {
|
188
|
-
place-self: start center;
|
221
|
+
place-self: flex-start center;
|
189
222
|
width: var(--line-length);
|
223
|
+
max-width: 100dvi; /* make sure nav doesn't go off-screen */
|
190
224
|
}
|
191
225
|
.banner nav menu { /*flex: auto;*/ }
|
192
226
|
|
227
|
+
/* TODO: use fluid padding on non-hero children rather than container query? */
|
228
|
+
@container (width <= 50rem) {
|
229
|
+
.banner > :not(img, .hero) { padding-inline: var(--s); }
|
230
|
+
}
|
231
|
+
|
193
232
|
.banner > img, .hero {
|
194
233
|
height: min(var(--banner-height), var(--banner-max-height));
|
195
234
|
width: 100%;
|
196
|
-
max-width: none;
|
235
|
+
max-width: none; /* TODO: should this be broken out separately?*/
|
197
236
|
z-index: -1;
|
198
237
|
}
|
199
238
|
|
@@ -316,6 +355,7 @@ body > nav a, body > header > nav a {
|
|
316
355
|
outline: none;
|
317
356
|
border: none;
|
318
357
|
width: var(--height); /* form icons are square */
|
358
|
+
max-width: 100cqi;
|
319
359
|
min-width: 0;
|
320
360
|
padding: 0;
|
321
361
|
cursor: pointer; /* unconventional usage for 'clickable' */
|
@@ -563,7 +603,7 @@ button.tertiary, .tertiary.button { /* [0011] / [0020] specificity */
|
|
563
603
|
// .......................................................................... */
|
564
604
|
|
565
605
|
/* TODO: the main form grid should inline elements rather than forcing it here
|
566
|
-
.
|
606
|
+
.buttons inlines/wraps multiple buttons where necessary - [0010] specificity*/
|
567
607
|
.buttons {
|
568
608
|
list-style: none;
|
569
609
|
display: flex; /* overwrite display: grid; */
|
@@ -584,11 +624,12 @@ form .buttons { max-width: var(--field-max) }
|
|
584
624
|
.roomy.buttons { gap: var(--ml); }
|
585
625
|
|
586
626
|
/* fix buttons floating and getting squished at smaller screen widths */
|
587
|
-
@container (
|
627
|
+
@container (width <= 28rem) {
|
588
628
|
form { max-width: unset; }
|
589
629
|
form .buttons {
|
590
|
-
max-width: unset;
|
591
|
-
grid-column: -1/1;
|
630
|
+
max-width: unset; /* don't constrain width in narrow confines */
|
631
|
+
grid-column: -1/1; /* span the entire grid for more room */
|
632
|
+
justify-content: flex-end; /* end-align looks more natural than start*/
|
592
633
|
}
|
593
634
|
label { font-size: var(--small); }
|
594
635
|
}
|
@@ -658,6 +699,18 @@ nav:has(.toggle[aria-expanded=false]) > menu {
|
|
658
699
|
[rel~="external"].button:hover::after { background-color: var(--foreground); }
|
659
700
|
|
660
701
|
|
702
|
+
/* #button_to - a rails class set on forms that look like buttons - minimize the
|
703
|
+
// form width while maximizing the button within to that form width
|
704
|
+
// .......................................................................... */
|
705
|
+
.button_to {
|
706
|
+
width: min-content;
|
707
|
+
/*HACK: an inline-size container-type make forms zero-width, so make it normal*/
|
708
|
+
container-type: normal;
|
709
|
+
}
|
710
|
+
.button_to > [type="submit"] {
|
711
|
+
width: max-content;
|
712
|
+
}
|
713
|
+
|
661
714
|
|
662
715
|
/* -----------------------------------------------------------------------------
|
663
716
|
// #selectmenu - Open UI replacement to the standard select element -
|
@@ -732,7 +785,7 @@ selectmenu::part(listbox) {
|
|
732
785
|
margin-top: auto; /* make sure buttons are at the bottom */
|
733
786
|
}
|
734
787
|
|
735
|
-
@container (
|
788
|
+
@container (width >= 35rem) {
|
736
789
|
/*.card { flex-direction: row; }*/ /* interferes with single-card section */
|
737
790
|
.card > img, .cards > article > img {
|
738
791
|
max-height: var(--width);
|
@@ -745,19 +798,6 @@ selectmenu::part(listbox) {
|
|
745
798
|
}
|
746
799
|
}
|
747
800
|
|
748
|
-
/* TEMP: use media queries for browsers that don't support container queries */
|
749
|
-
@supports not (container-type: inline-size) {
|
750
|
-
@media (min-width: 47rem) {
|
751
|
-
/*.card { flex-direction: row; }*/ /* interferes with single-card section */
|
752
|
-
.card > img, .cards > article > img {
|
753
|
-
max-height: var(--width);
|
754
|
-
max-width: var(--width);
|
755
|
-
}
|
756
|
-
.cards :last-child:nth-child(3n - 2) {
|
757
|
-
grid-column-end: span 3;
|
758
|
-
flex-direction: row;
|
759
|
-
}
|
760
|
-
}}
|
761
801
|
|
762
802
|
/* -----------------------------------------------------------------------------
|
763
803
|
// #tags - an inline list of metatags; can be text, links, icons, or other
|
@@ -771,7 +811,8 @@ selectmenu::part(listbox) {
|
|
771
811
|
padding: 0;
|
772
812
|
}
|
773
813
|
|
774
|
-
.
|
814
|
+
/* TODO: .tag should be in classes.css and kept in sync with this rule? */
|
815
|
+
.tags > li, .tag {
|
775
816
|
display: inline-block;
|
776
817
|
color: var(--secondary);
|
777
818
|
font-size: var(--small);
|
@@ -793,12 +834,6 @@ selectmenu::part(listbox) {
|
|
793
834
|
margin-bottom: var(--m);
|
794
835
|
}
|
795
836
|
|
796
|
-
/* TEMP: add margin-top to buttons for browsers that don't support :has() */
|
797
|
-
@supports not (:has(a)) {
|
798
|
-
.tags + .buttons {
|
799
|
-
margin-top: var(--m);
|
800
|
-
}}
|
801
|
-
|
802
837
|
|
803
838
|
/* -----------------------------------------------------------------------------
|
804
839
|
// #grid - multi-column grid adjustments
|
@@ -814,12 +849,6 @@ selectmenu::part(listbox) {
|
|
814
849
|
container-type: none; /* containment clashes with grid on safari */
|
815
850
|
}
|
816
851
|
|
817
|
-
/* for layouts with left & right asides, put main in the middle grid columns */
|
818
|
-
/* grrr, firefox is not forgiving with :has() rules, so this must be separated*/
|
819
|
-
.dual-aside {
|
820
|
-
grid-column: 2 / -2;
|
821
|
-
}
|
822
|
-
|
823
852
|
/*full is a grid area for a row that spans all columns - [0000] specificity */
|
824
853
|
:where(.grid) > :where(header,hgroup,h1,h2,h3,h4,h5,h6,nav:not(.column),footer){
|
825
854
|
grid-column: full;
|
@@ -911,7 +940,7 @@ selectmenu::part(listbox) {
|
|
911
940
|
// #progressbar - a circular progress bar component - from almond.css
|
912
941
|
// -------------------------------------------------------------------------- */
|
913
942
|
|
914
|
-
[role="progressbar"]
|
943
|
+
[role="progressbar"] {
|
915
944
|
--value: 50;
|
916
945
|
--thick: 50%;
|
917
946
|
--medium: 58%;
|