@jrgermain/stylesheet 0.2.0 → 0.3.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.
Files changed (50) hide show
  1. package/dist/index.css +2677 -2574
  2. package/dist/index.css.map +1 -1
  3. package/dist/index.min.css +2 -2
  4. package/dist/index.min.css.map +1 -1
  5. package/package.json +12 -12
  6. package/src/styles/components/{_details.scss → accordion.css} +58 -69
  7. package/src/styles/components/alert.css +12 -0
  8. package/src/styles/components/{_app.scss → app.css} +106 -46
  9. package/src/styles/components/banner.css +33 -0
  10. package/src/styles/components/{_button.scss → button.css} +145 -24
  11. package/src/styles/components/{_card.scss → card.css} +15 -19
  12. package/src/styles/components/chip.css +217 -0
  13. package/src/styles/components/{_hr.scss → divider.css} +7 -6
  14. package/src/styles/components/drawer.css +111 -0
  15. package/src/styles/components/{_field.scss → field.css} +22 -21
  16. package/src/styles/components/{_layout.scss → flex.css} +5 -25
  17. package/src/styles/components/heading.css +60 -0
  18. package/src/styles/components/highlight.css +39 -0
  19. package/src/styles/components/link.css +41 -0
  20. package/src/styles/components/meter.css +80 -0
  21. package/src/styles/components/modal.css +39 -0
  22. package/src/styles/components/progress.css +73 -0
  23. package/src/styles/components/quote.css +31 -0
  24. package/src/styles/components/{_skeleton.scss → skeleton.css} +17 -18
  25. package/src/styles/components/skip-link.css +44 -0
  26. package/src/styles/components/slider.css +96 -0
  27. package/src/styles/components/{_switch.scss → switch.css} +24 -12
  28. package/src/styles/components/table.css +86 -0
  29. package/src/styles/components/text.css +120 -0
  30. package/src/styles/components/visually-hidden.css +13 -0
  31. package/src/styles/experimental/dialog-animations.css +6 -6
  32. package/src/styles/index.css +32 -0
  33. package/src/styles/shared/base-alert.css +112 -0
  34. package/src/styles/shared/base-dialog.css +90 -0
  35. package/src/styles/shared/dismiss-button.css +27 -0
  36. package/src/styles/utils/reset.css +29 -0
  37. package/src/styles/{_variables.scss → utils/variables.css} +43 -52
  38. package/src/svg/dropdown-invert-thick.svg +4 -0
  39. package/src/svg/dropdown-invert.svg +4 -0
  40. package/src/svg/dropdown-thick.svg +4 -0
  41. package/src/svg/dropdown.svg +1 -1
  42. package/src/styles/_utils.scss +0 -87
  43. package/src/styles/components/_alert.scss +0 -178
  44. package/src/styles/components/_chip.scss +0 -151
  45. package/src/styles/components/_dialog.scss +0 -234
  46. package/src/styles/components/_progress-meter.scss +0 -149
  47. package/src/styles/components/_range.scss +0 -96
  48. package/src/styles/components/_table.scss +0 -82
  49. package/src/styles/components/_text.scss +0 -295
  50. package/src/styles/index.scss +0 -47
@@ -1,5 +1,3 @@
1
- @use "../utils";
2
-
3
1
  .field {
4
2
  --field-gap: var(--space-2xs);
5
3
  --field-padding: 0.5em;
@@ -15,9 +13,10 @@
15
13
  transition-property: color, box-shadow;
16
14
  transition-timing-function: ease;
17
15
  font-size: var(--font-size-m);
16
+ font-family: var(--font-family-body);
18
17
 
19
18
  &.compact,
20
- :is(form, .form, fieldset).compact & {
19
+ .fieldset.compact & {
21
20
  --field-gap: calc(0.9 * var(--space-2xs));
22
21
  --field-padding: 0.33em;
23
22
  --field-radius: var(--radius-s);
@@ -67,7 +66,7 @@
67
66
  transition-duration: 200ms;
68
67
  transition-property: color, box-shadow, border-color;
69
68
  transition-timing-function: ease;
70
- font-family: var(--font-family-body);
69
+ font-family: inherit;
71
70
 
72
71
  @media (prefers-color-scheme: dark) {
73
72
  background-color: black;
@@ -82,13 +81,12 @@
82
81
  }
83
82
 
84
83
  &:disabled {
85
- opacity: 0.7;
84
+ opacity: var(--opacity-disabled);
86
85
  cursor: not-allowed;
87
86
  }
88
87
 
89
- // Not using :read-only because it matches additional elements (e.g., every color input)
88
+ /* Not using :read-only because it matches additional elements (e.g., every color input) */
90
89
  &[readonly] {
91
- cursor: not-allowed;
92
90
  border-style: dashed;
93
91
 
94
92
  &:focus {
@@ -141,9 +139,7 @@
141
139
  }
142
140
 
143
141
  select {
144
- background-image: #{utils.svg-to-data-url(
145
- '<svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" viewBox="0 0 24 24"><path fill="none" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1" d="m6 9l6 6l6-6"/></svg>'
146
- )};
142
+ background-image: url("@/src/svg/dropdown.svg");
147
143
  background-position: center right 0.25em;
148
144
  background-size: auto 75%;
149
145
  background-repeat: no-repeat;
@@ -152,9 +148,7 @@
152
148
  padding-inline-end: calc(2 * var(--space-2xs) + 1em);
153
149
 
154
150
  @media (prefers-color-scheme: dark) {
155
- background-image: #{utils.svg-to-data-url(
156
- '<svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" viewBox="0 0 24 24"><path fill="none" stroke="white" stroke-linecap="round" stroke-linejoin="round" stroke-width="1" d="m6 9l6 6l6-6"/></svg>'
157
- )};
151
+ background-image: url("@/src/svg/dropdown-invert.svg");
158
152
  }
159
153
 
160
154
  &:dir(rtl) {
@@ -184,9 +178,7 @@
184
178
 
185
179
  &::before {
186
180
  content: "";
187
- mask-image: #{utils.svg-to-data-url(
188
- '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M256 48C141.31 48 48 141.31 48 256s93.31 208 208 208 208-93.31 208-208S370.69 48 256 48zm75.31 260.69a16 16 0 11-22.62 22.62L256 278.63l-52.69 52.68a16 16 0 01-22.62-22.62L233.37 256l-52.68-52.69a16 16 0 0122.62-22.62L256 233.37l52.69-52.68a16 16 0 0122.62 22.62L278.63 256z"/></svg>'
189
- )};
181
+ mask-image: url("@/src/svg/x-circle.svg");
190
182
  mask-size: contain;
191
183
  mask-repeat: no-repeat;
192
184
  mask-position: center;
@@ -285,20 +277,29 @@
285
277
  }
286
278
  }
287
279
 
288
- fieldset {
280
+ input[type="checkbox"],
281
+ input[type="radio"] {
282
+ accent-color: var(--color-brand-5);
283
+ }
284
+
285
+ fieldset.fieldset {
289
286
  border: var(--border-s) solid var(--color-outline);
290
287
  border-radius: var(--radius-s);
291
288
  background-color: var(--color-body);
292
289
  color: var(--color-body-text);
293
290
 
294
291
  legend {
295
- color: var(--color-brand-3);
296
292
  font-family: var(--font-family-heading);
297
293
  font-weight: var(--font-weight-bold);
294
+ transition: color 200ms ease;
295
+ }
296
+
297
+ &:focus-within legend {
298
+ color: var(--color-brand-5);
298
299
  }
299
300
  }
300
301
 
301
- input[type="checkbox"],
302
- input[type="radio"] {
303
- accent-color: var(--color-brand-5);
302
+ .form {
303
+ max-width: 60ch;
304
+ margin-inline-end: auto;
304
305
  }
@@ -1,4 +1,7 @@
1
- %flex-layout {
1
+ .flow,
2
+ .stack,
3
+ .separate,
4
+ .space {
2
5
  display: flex !important;
3
6
  gap: var(--space-s);
4
7
 
@@ -38,48 +41,25 @@
38
41
  }
39
42
 
40
43
  .flow {
41
- @extend %flex-layout;
42
-
43
44
  flex-wrap: wrap;
44
45
  align-items: center;
45
46
  justify-content: start;
46
47
  }
47
48
 
48
49
  .stack {
49
- @extend %flex-layout;
50
-
51
50
  flex-wrap: nowrap;
52
51
  align-items: stretch;
53
52
  justify-content: start;
54
53
  }
55
54
 
56
55
  .separate {
57
- @extend %flex-layout;
58
-
59
56
  flex-wrap: nowrap;
60
57
  align-items: center;
61
58
  justify-content: space-between;
62
59
  }
63
60
 
64
61
  .space {
65
- @extend %flex-layout;
66
-
67
62
  flex-wrap: wrap;
68
63
  align-items: center;
69
- justify-content: space-around;
70
- }
71
-
72
- :is(form, .form, .text-container):not(.no-max-width) {
73
- max-width: 60ch;
74
- }
75
-
76
- %visually-hidden {
77
- clip: rect(1px, 1px, 1px, 1px);
78
- clip-path: inset(50%);
79
- height: 1px;
80
- width: 1px;
81
- margin: -1px;
82
- overflow: hidden;
83
- padding: 0;
84
- position: absolute;
64
+ justify-content: space-evenly;
85
65
  }
@@ -0,0 +1,60 @@
1
+ .heading-1,
2
+ .heading-2,
3
+ .heading-3,
4
+ .heading-4,
5
+ .heading-5,
6
+ .heading-6,
7
+ .markdown-output :is(h1, h2, h3, h4, h5, h6) {
8
+ font-family: var(--font-family-heading);
9
+ margin-block: 0.75em 0.3em;
10
+ line-height: 1.15;
11
+ text-wrap: balance;
12
+ overflow-wrap: break-word;
13
+ }
14
+
15
+ .heading-1,
16
+ .markdown-output h1 {
17
+ font-size: var(--font-size-4xl);
18
+ font-weight: var(--font-weight-black);
19
+
20
+ /*
21
+ * Since the Level 1 Heading will typically be the first item inside the App
22
+ * Content container (which already has padding at the top), we remove the top
23
+ * margin by default. We can always add it back for special cases.
24
+ */
25
+ margin-block-start: 0;
26
+
27
+ .app-content > &:first-of-type {
28
+ margin-block-start: 0;
29
+ }
30
+ }
31
+
32
+ .heading-2,
33
+ .markdown-output h2 {
34
+ font-size: var(--font-size-3xl);
35
+ font-weight: var(--font-weight-bold);
36
+ }
37
+
38
+ .heading-3,
39
+ .markdown-output h3 {
40
+ font-size: var(--font-size-2xl);
41
+ font-weight: var(--font-weight-bold);
42
+ }
43
+
44
+ .heading-4,
45
+ .markdown-output h4 {
46
+ font-size: var(--font-size-xl);
47
+ font-weight: var(--font-weight-semibold);
48
+ }
49
+
50
+ .heading-5,
51
+ .markdown-output h5 {
52
+ font-size: var(--font-size-l);
53
+ font-weight: var(--font-weight-semibold);
54
+ }
55
+
56
+ .heading-6,
57
+ .markdown-output h6 {
58
+ font-size: var(--font-size-m);
59
+ font-weight: var(--font-weight-bold);
60
+ }
@@ -0,0 +1,39 @@
1
+ .highlight,
2
+ .markdown-output mark {
3
+ background-color: light-dark(var(--color-yellow-8), var(--color-yellow-7));
4
+ color: light-dark(var(--color-yellow-2), var(--color-yellow-1));
5
+ print-color-adjust: exact;
6
+ }
7
+
8
+ .highlight.removed,
9
+ .markdown-output del {
10
+ background-color: var(--color-red-8);
11
+ color: var(--color-red-2);
12
+ transition: text-decoration-color 150ms ease;
13
+ text-decoration-line: line-through;
14
+ text-decoration-skip-ink: none;
15
+ text-decoration-thickness: var(--border-m);
16
+ text-decoration-color: var(--color-red-4);
17
+ print-color-adjust: exact;
18
+
19
+ &:hover {
20
+ text-decoration-color: transparent;
21
+ }
22
+ }
23
+
24
+ .highlight.added,
25
+ .markdown-output ins {
26
+ background-color: var(--color-green-8);
27
+ color: var(--color-green-2);
28
+ text-decoration-thickness: var(--border-m);
29
+ text-decoration-color: var(--color-green-4);
30
+ text-underline-offset: 0.1em;
31
+ print-color-adjust: exact;
32
+ }
33
+
34
+ .highlight.target,
35
+ ::target-text {
36
+ background-color: var(--color-brand-8);
37
+ color: light-dark(var(--color-brand-2), var(--color-brand-1));
38
+ print-color-adjust: exact;
39
+ }
@@ -0,0 +1,41 @@
1
+ .link,
2
+ .markdown-output a {
3
+ color: var(--color-sky-4);
4
+ font-weight: var(--font-weight-semibold);
5
+ text-decoration-line: underline;
6
+ text-decoration-color: var(--color-sky-transparent);
7
+ text-decoration-skip-ink: all;
8
+ text-decoration-thickness: var(--border-m);
9
+ text-underline-offset: 0.1em;
10
+ cursor: pointer;
11
+ transition: text-decoration-color 200ms ease;
12
+
13
+ &:is(:hover, .hover) {
14
+ text-decoration-color: currentcolor;
15
+ }
16
+
17
+ &:focus-visible {
18
+ outline-offset: 1px;
19
+ }
20
+ }
21
+
22
+ [target="_blank"]:is(.link, .button, .markdown-output a):not(
23
+ .no-external-icon
24
+ )::after {
25
+ content: "";
26
+ print-color-adjust: exact;
27
+ mask-image: url("@/src/svg/external.svg");
28
+ mask-size: contain;
29
+ mask-repeat: no-repeat;
30
+ background-color: var(--color-gray-5);
31
+ display: inline-block;
32
+ height: 0.85em;
33
+ width: 0.85em;
34
+ vertical-align: baseline;
35
+ margin-left: 0.1em;
36
+ }
37
+
38
+ /* For buttons, match external icon color to button text */
39
+ a.button[target="_blank"]:not(.no-external-icon)::after {
40
+ background-color: currentcolor;
41
+ }
@@ -0,0 +1,80 @@
1
+ meter.meter {
2
+ appearance: none;
3
+ inline-size: 100%;
4
+ block-size: 1em;
5
+ }
6
+
7
+ @supports selector(::-moz-meter-bar) {
8
+ meter.meter {
9
+ border-radius: var(--radius-s);
10
+ border: 0;
11
+ display: block;
12
+ inline-size: 100%;
13
+ block-size: 1em;
14
+ box-shadow: inset 0 0 0 var(--border-s) var(--color-outline);
15
+ background: var(--color-gray-9);
16
+ box-sizing: border-box;
17
+ overflow: clip;
18
+ }
19
+ }
20
+
21
+ .meter::-webkit-meter-bar {
22
+ border-radius: var(--radius-s);
23
+ border: 0;
24
+ display: block;
25
+ inline-size: 100%;
26
+ block-size: 1em;
27
+ box-shadow: inset 0 0 0 var(--border-s) var(--color-outline);
28
+ background: var(--color-gray-9);
29
+ box-sizing: border-box;
30
+ overflow: clip;
31
+ }
32
+
33
+ .meter::-webkit-meter-optimum-value,
34
+ .meter::-webkit-meter-suboptimum-value,
35
+ .meter::-webkit-meter-even-less-good-value {
36
+ border-radius: var(--radius-s);
37
+ border: var(--border-s) solid transparent;
38
+ box-sizing: border-box;
39
+ }
40
+
41
+ .meter::-webkit-meter-inner-element {
42
+ display: inline-block;
43
+ position: relative;
44
+ }
45
+
46
+ .meter::-moz-meter-bar {
47
+ border-radius: var(--radius-s);
48
+ border: var(--border-s) solid transparent;
49
+ box-sizing: border-box;
50
+ }
51
+
52
+ .meter::-webkit-meter-optimum-value {
53
+ background: var(--color-green-6);
54
+ border-color: var(--color-green-5);
55
+ }
56
+
57
+ .meter:-moz-meter-optimum::-moz-meter-bar {
58
+ background: var(--color-green-6);
59
+ border-color: var(--color-green-5);
60
+ }
61
+
62
+ .meter::-webkit-meter-suboptimum-value {
63
+ background: light-dark(var(--color-yellow-7), var(--color-yellow-4));
64
+ border-color: light-dark(var(--color-yellow-6), var(--color-yellow-3));
65
+ }
66
+
67
+ .meter:-moz-meter-sub-optimum::-moz-meter-bar {
68
+ background: light-dark(var(--color-yellow-7), var(--color-yellow-4));
69
+ border-color: light-dark(var(--color-yellow-6), var(--color-yellow-3));
70
+ }
71
+
72
+ .meter::-webkit-meter-even-less-good-value {
73
+ background: var(--color-red-6);
74
+ border-color: var(--color-red-5);
75
+ }
76
+
77
+ .meter:-moz-meter-sub-sub-optimum::-moz-meter-bar {
78
+ background: var(--color-red-6);
79
+ border-color: var(--color-red-5);
80
+ }
@@ -0,0 +1,39 @@
1
+ /* See utils/base-dialog for more */
2
+ .modal {
3
+ max-height: calc(100svh - 4 * var(--space-body));
4
+ max-width: calc(100svw - 4 * var(--space-body));
5
+ margin: auto;
6
+
7
+ &.small {
8
+ width: 400px;
9
+ }
10
+
11
+ &.medium {
12
+ width: 650px;
13
+ }
14
+
15
+ &.large {
16
+ width: 900px;
17
+ }
18
+ }
19
+
20
+ .modal-footer {
21
+ padding: var(--space-xs);
22
+ flex-shrink: 0;
23
+ display: flex;
24
+ gap: var(--space-2xs);
25
+ justify-content: flex-start;
26
+ background-color: var(--color-body);
27
+ border-block-start: var(--border-s) solid var(--color-outline);
28
+ margin: 0;
29
+
30
+ @media screen and (width <= 500px) {
31
+ flex-direction: column;
32
+ width: 100%;
33
+ justify-content: stretch;
34
+ }
35
+
36
+ .button:not(.small, .medium, .large) {
37
+ font-size: 0.9rem;
38
+ }
39
+ }
@@ -0,0 +1,73 @@
1
+ @keyframes indeterminate-progress {
2
+ from {
3
+ opacity: 0.2;
4
+ }
5
+
6
+ to {
7
+ opacity: 0.8;
8
+ }
9
+ }
10
+
11
+ progress.progress {
12
+ appearance: none;
13
+ inline-size: 100%;
14
+ block-size: 1em;
15
+ }
16
+
17
+ @supports selector(::-moz-progress-bar) {
18
+ progress.progress {
19
+ border-radius: var(--radius-s);
20
+ border: 0;
21
+ display: block;
22
+ inline-size: 100%;
23
+ block-size: 1em;
24
+ box-shadow: inset 0 0 0 var(--border-s) var(--color-outline);
25
+ background: var(--color-gray-9);
26
+ box-sizing: border-box;
27
+ overflow: clip;
28
+ }
29
+ }
30
+
31
+ .progress::-webkit-progress-bar {
32
+ border-radius: var(--radius-s);
33
+ border: 0;
34
+ display: block;
35
+ inline-size: 100%;
36
+ block-size: 1em;
37
+ box-shadow: inset 0 0 0 var(--border-s) var(--color-outline);
38
+ background: var(--color-gray-9);
39
+ box-sizing: border-box;
40
+ overflow: clip;
41
+ }
42
+
43
+ .progress::-webkit-progress-value {
44
+ border-radius: var(--radius-s);
45
+ border: var(--border-s) solid transparent;
46
+ box-sizing: border-box;
47
+ background: var(--color-blue-6);
48
+ border-color: var(--color-blue-5);
49
+ }
50
+
51
+ .progress::-moz-progress-bar {
52
+ border-radius: var(--radius-s);
53
+ border: var(--border-s) solid transparent;
54
+ box-sizing: border-box;
55
+ background: var(--color-blue-6);
56
+ border-color: var(--color-blue-5);
57
+ }
58
+
59
+ .progress:indeterminate::-webkit-progress-value {
60
+ background: var(--color-blue-6);
61
+ border-color: var(--color-blue-5);
62
+ opacity: 0.5;
63
+ inline-size: 100% !important;
64
+ animation: indeterminate-progress 1s linear infinite alternate;
65
+ }
66
+
67
+ .progress:indeterminate::-moz-progress-bar {
68
+ background: var(--color-blue-6);
69
+ border-color: var(--color-blue-5);
70
+ opacity: 0.5;
71
+ inline-size: 100% !important;
72
+ animation: indeterminate-progress 1s linear infinite alternate;
73
+ }
@@ -0,0 +1,31 @@
1
+ .quote,
2
+ .markdown-output blockquote {
3
+ display: block;
4
+ margin: 0;
5
+ color: var(--color-gray-4);
6
+ border-inline-start: var(--border-l) solid var(--color-gray-transparent);
7
+ padding: var(--space-3xs);
8
+ padding-inline-start: var(--space-xs);
9
+ position: relative;
10
+ line-height: 1.25;
11
+ font-family: var(--font-family-body);
12
+ font-size: var(--font-size-m);
13
+ font-weight: var(--font-weight-normal);
14
+
15
+ @media (prefers-color-scheme: dark) {
16
+ color: var(--color-gray-2);
17
+ }
18
+
19
+ footer {
20
+ margin-block-start: 0.5em;
21
+ font-size: var(--font-size-s);
22
+ font-style: initial;
23
+ color: var(--color-body-text);
24
+ font-weight: var(--font-weight-semibold);
25
+
26
+ cite {
27
+ font-weight: var(--font-weight-normal);
28
+ font-style: italic;
29
+ }
30
+ }
31
+ }
@@ -31,34 +31,33 @@
31
31
  background-image: none !important;
32
32
  print-color-adjust: exact;
33
33
 
34
- &:is(p, .p, h1, .h1, h2, .h2, h3, .h3, h4, .h4, h5, .h5, h6, .h6) {
34
+ /*************************************************************
35
+ * Special styles for "skeletonizing" specific element types *
36
+ *************************************************************/
37
+
38
+ /* Make block text take up the full width */
39
+ &.paragraph,
40
+ &.heading {
35
41
  inline-size: 100%;
36
42
  }
37
43
 
38
- &:is(
39
- p,
40
- .p,
41
- h1,
42
- .h1,
43
- h2,
44
- .h2,
45
- h3,
46
- .h3,
47
- h4,
48
- .h4,
49
- h5,
50
- .h5,
51
- h6,
52
- .h6,
53
- .chip
54
- )::before {
44
+ /* For empty text elements, add filler content so it isn't 0 height. */
45
+ &:is(.paragraph, .heading, .chip, .card-title)::before {
55
46
  content: ".";
56
47
  }
57
48
 
49
+ /* Add a reasonable minimum width to buttons and chips */
58
50
  &:is(.button, .chip):empty {
59
51
  min-inline-size: 5em;
60
52
  }
61
53
 
54
+ /* Add a reasonable width to card titles */
55
+ &.card-title {
56
+ inline-size: 40%;
57
+ overflow: hidden;
58
+ }
59
+
60
+ /* Visually hide contents, but let them take up space so elements don't collapse to 0 height. */
62
61
  &::before,
63
62
  &::after,
64
63
  > * {
@@ -0,0 +1,44 @@
1
+ .skip-link {
2
+ position: fixed;
3
+ display: inline-block;
4
+ z-index: 100;
5
+ top: var(--space-body);
6
+ left: var(--space-body);
7
+ background-color: var(--color-brand-5);
8
+ padding: var(--space-xs);
9
+ border-radius: var(--radius-m);
10
+ border: 0.25em solid var(--color-brand-4);
11
+ color: var(--color-body-alt);
12
+ font-weight: var(--font-weight-bold);
13
+ font-family: var(--font-family-body);
14
+ font-size: var(--font-size-m);
15
+ outline: 0;
16
+ box-shadow:
17
+ var(--shadow-l),
18
+ 0 0 0 0.2em var(--color-brand-transparent);
19
+ text-decoration: none;
20
+ vertical-align: middle;
21
+ opacity: 0.25;
22
+ transition: opacity 300ms ease;
23
+ pointer-events: none;
24
+ line-height: 1;
25
+
26
+ kbd {
27
+ margin-inline-start: var(--space-2xs) !important;
28
+ font-weight: initial;
29
+ border: 0 !important;
30
+ background-color: var(--color-brand-4) !important;
31
+ color: inherit !important;
32
+ font-size: 1.2em !important;
33
+ }
34
+
35
+ &:focus,
36
+ &.static {
37
+ opacity: 1;
38
+ }
39
+
40
+ &.static {
41
+ position: static;
42
+ pointer-events: unset;
43
+ }
44
+ }