@stackoverflow/stacks 3.0.0-beta.15 → 3.0.0-beta.16

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.
@@ -1,25 +1,4 @@
1
- //
2
- // STACK OVERFLOW
3
- // FLEXBOX HELPERS
4
- //
5
- // This CSS comes from Stacks, our CSS & Pattern library for rapidly building
6
- // Stack Overflow. For documentation of all these classes and how to contribute,
7
- // visit https://stackoverflow.design/
8
- //
9
- // TABLE OF CONTENTS
10
- // • VARIABLES
11
- // • MIXINS
12
- // • FLEX ELEMENTS
13
- // • FLEX SPACING
14
- // • MODIFICATIONS
15
- // • ATOMIC
16
- // • DEPRECATED
17
- //
18
- // ============================================================================
19
- // -- STACKS FLEX LAYOUT MIXINS
20
- // ============================================================================
21
- // -- FIXED COLUMN WIDTHS
22
- // ----------------------------------------------------------------------------
1
+ @import (reference) "../base/internal.less";
23
2
 
24
3
  #stacks-internals() {
25
4
  #flex-builder-settings() {
@@ -321,19 +300,15 @@
321
300
  .ac-start { align-content: flex-start !important; }
322
301
  .ac-stretch { align-content: stretch !important; }
323
302
 
324
- // -- ALIGN ITEMS
325
- // Defines the default behavior for how child items align along
326
- // the parent's cross axis. Think of it the cross-axis for
327
- // justify-content.
328
- // ----------------------------------------------------------------------------
303
+ // Align items
329
304
  #stacks-internals #build-classes(
330
- responsive,
331
305
  '.ai',
332
306
  {
333
307
  .template(@value) when (@value=start), (@value=end) { align-items: ~"flex-@{value}" !important; }
334
308
  .template(@value) when (default()) { align-items: @value !important; };
335
309
  },
336
- baseline center end start stretch
310
+ baseline center end start stretch,
311
+ true
337
312
  );
338
313
 
339
314
  // -- CENTER ITEMS
@@ -345,18 +320,15 @@
345
320
  .ai-center;
346
321
  }
347
322
 
348
- // -- ALIGN SELF
349
- // Allows child containers to re-align themselves regardless
350
- // of the parent's main axis direction.
351
- // ----------------------------------------------------------------------------
323
+ // Align self
352
324
  #stacks-internals #build-classes(
353
- responsive,
354
325
  '.as',
355
326
  {
356
327
  .template(@value) when (@value=start), (@value=end) { align-self: ~"flex-@{value}" !important; }
357
328
  .template(@value) when (default()) { align-self: @value !important; };
358
329
  },
359
330
  auto baseline center end start stretch
331
+ true
360
332
  );
361
333
 
362
334
  // -- FLEX
@@ -0,0 +1,22 @@
1
+ @import (reference) "../base/internal.less";
2
+ @import (reference) "../exports/mixins.less";
3
+
4
+ // `height` properties
5
+ .generate-sizing('.h', height, 0 1 2 4 6 8 12 16 24 32 48 64 96 128, 'px');
6
+ .generate-su-sizing('.hs', height); // Static sizing units
7
+ #stacks-internals #responsify('.h100', { height: 100% !important; });
8
+ #stacks-internals #responsify('.h-auto', { height: auto !important; });
9
+ #stacks-internals #responsify('.h-screen', { height: 100vh !important; });
10
+
11
+ // `min-height` properties
12
+ .generate-sizing('.hmn', min-height, 0, 'px', false, true);
13
+ .generate-su-sizing('.hmn', min-height); // Static sizing units
14
+ #stacks-internals #responsify('.hmn100', { min-height: 100% !important; });
15
+ #stacks-internals #responsify('.hmn-initial', { min-height: initial !important; });
16
+ #stacks-internals #responsify('.hmn-screen', { min-height: 100vh !important; });
17
+
18
+ // `max-height` properties
19
+ .generate-su-sizing('.hmx', max-height); // Static sizing units
20
+ #stacks-internals #responsify('.hmx100', { max-height: 100% !important; });
21
+ #stacks-internals #responsify('.hmx-initial', { max-height: initial !important; });
22
+ #stacks-internals #responsify('.hmx-screen', { max-height: 100vh !important; });
@@ -0,0 +1,34 @@
1
+ @import (reference) "../base/internal.less";
2
+ @import (reference) "../exports/mixins.less";
3
+
4
+ @px-values: 0 1 2 4 6 8 12 16 24 32 48 64 96 128;
5
+ @px-values-negative: 1 2 4 6 8 12 16 24 32 48 64 96 128;
6
+ @percent-values: 50 100;
7
+
8
+ // POSITIONING
9
+ // Inset
10
+ .generate-sizing('.i', inset, @px-values, 'px');
11
+
12
+ // Top
13
+ .generate-sizing('.t', top, @px-values, 'px', true);
14
+ .generate-sizing('.tn', top, @px-values-negative, 'px', true, true);
15
+ .generate-sizing('.t', top, @percent-values, 'percent', true);
16
+ .generate-sizing('.tn', top, @percent-values, 'percent', true, true);
17
+
18
+ // Right
19
+ .generate-sizing('.r', right, @px-values, 'px', true);
20
+ .generate-sizing('.rn', right, @px-values-negative, 'px', true, true);
21
+ .generate-sizing('.r', right, @percent-values, 'percent', true);
22
+ .generate-sizing('.rn', right, @percent-values, 'percent', true, true);
23
+
24
+ // Bottom
25
+ .generate-sizing('.b', bottom, @px-values, 'px', true);
26
+ .generate-sizing('.bn', bottom, @px-values-negative, 'px', true, true);
27
+ .generate-sizing('.b', bottom, @percent-values, 'percent', true);
28
+ .generate-sizing('.bn', bottom, @percent-values, 'percent', true, true);
29
+
30
+ // Left
31
+ .generate-sizing('.l', left, @px-values, 'px', true);
32
+ .generate-sizing('.ln', left, @px-values-negative, 'px', true, true);
33
+ .generate-sizing('.l', left, @percent-values, 'percent', true);
34
+ .generate-sizing('.ln', left, @percent-values, 'percent', true, true);
@@ -0,0 +1,76 @@
1
+ @import (reference) "../base/internal.less";
2
+
3
+ // SIZING UNITS CSS CUSTOM PROPERTIES
4
+ body {
5
+ --su0: 0;
6
+ --su1: clamp(1px, 0.063rem, 0.063rem); // This ensures `--su1` never drops below 1px by setting the clamp MIN value to `--su-static1` (1px).
7
+ --su2: 0.125rem;
8
+ --su4: 0.25rem;
9
+ --su6: 0.375rem;
10
+ --su8: 0.5rem;
11
+ --su12: 0.75rem;
12
+ --su16: 1rem;
13
+ --su24: 1.5rem;
14
+ --su32: 2rem;
15
+ --su48: 3rem;
16
+ --su64: 4rem;
17
+ --su96: 6rem;
18
+ --su128: 8rem;
19
+ --su256: 16rem;
20
+ --su344: 21.5rem;
21
+ --su448: 28rem;
22
+ --su512: 32rem;
23
+ --su640: 40rem;
24
+ --su768: 48rem;
25
+ --su848: 53rem;
26
+ --su960: 60rem;
27
+ --su1024: 64rem;
28
+ --su1120: 70rem;
29
+ --su1280: 80rem;
30
+ --su-max: var(--su1280);
31
+ --s-full: 79rem; // Legacy sizing units for Stacks v2
32
+ --s-step: calc(var(--s-full) / 12); // Legacy sizing units for Stacks v2
33
+
34
+ // Negative sizing
35
+ // This is a common subset sizing units for negative values
36
+ --sun1: calc(var(--su1) * -1);
37
+ --sun2: calc(var(--su2) * -1);
38
+ --sun4: calc(var(--su4) * -1);
39
+ --sun6: calc(var(--su6) * -1);
40
+ --sun8: calc(var(--su8) * -1);
41
+ --sun12: calc(var(--su12) * -1);
42
+ --sun16: calc(var(--su16) * -1);
43
+ --sun24: calc(var(--su24) * -1);
44
+ --sun32: calc(var(--su32) * -1);
45
+ --sun48: calc(var(--su48) * -1);
46
+ --sun64: calc(var(--su64) * -1);
47
+ --sun96: calc(var(--su96) * -1);
48
+ --sun128: calc(var(--su128) * -1);
49
+
50
+ // Static (aka px) sizing units
51
+ --su-static0: 0px;
52
+ --su-static1: 1px;
53
+ --su-static2: 2px;
54
+ --su-static4: 4px;
55
+ --su-static6: 6px;
56
+ --su-static8: 8px;
57
+ --su-static12: 12px;
58
+ --su-static16: 16px;
59
+ --su-static24: 24px;
60
+ --su-static32: 32px;
61
+ --su-static48: 48px;
62
+ --su-static64: 64px;
63
+ --su-static96: 96px;
64
+ --su-static128: 128px;
65
+ --su-static256: 256px;
66
+ --su-static344: 344px;
67
+ --su-static448: 448px;
68
+ --su-static512: 512px;
69
+ --su-static640: 640px;
70
+ --su-static768: 768px;
71
+ --su-static848: 848px;
72
+ --su-static960: 960px;
73
+ --su-static1024: 1024px;
74
+ --su-static1120: 1120px;
75
+ --su-static1280: 1280px;
76
+ }
@@ -1,98 +1,58 @@
1
1
  @import (reference) "../base/internal.less";
2
- @import (reference) "../exports/spacing-mixins.less";
2
+ @import (reference) "../exports/mixins.less";
3
3
 
4
- // SPACING UNITS CSS CUSTOM PROPERTIES
5
- body {
6
- --su-base: 1;
7
- --su-static0: 0px;
8
- --su-static1: 1px;
9
- --su-static2: 2px;
10
- --su-static4: 4px;
11
- --su-static6: 6px;
12
- --su-static8: 8px;
13
- --su-static12: 12px;
14
- --su-static16: 16px;
15
- --su-static24: 24px;
16
- --su-static32: 32px;
17
- --su-static48: 48px;
18
- --su-static64: 64px;
19
- --su-static96: 96px;
20
- --su-static128: 128px;
21
-
22
- --su0: var(--su-static0);
23
- // This ensures `--su1` never drops below 1px by setting the clamp MIN value to `--su-static1` (1px).
24
- --su1: clamp(var(--su-static1), calc(var(--su-static1) * var(--su-base)), calc(var(--su-static1) * var(--su-base)));
25
- --su2: calc(var(--su-static2) * var(--su-base));
26
- --su4: calc(var(--su-static4) * var(--su-base));
27
- --su6: calc(var(--su-static6) * var(--su-base));
28
- --su8: calc(var(--su-static8) * var(--su-base));
29
- --su12: calc(var(--su-static12) * var(--su-base));
30
- --su16: calc(var(--su-static16) * var(--su-base));
31
- --su24: calc(var(--su-static24) * var(--su-base));
32
- --su32: calc(var(--su-static32) * var(--su-base));
33
- --su48: calc(var(--su-static48) * var(--su-base));
34
- --su64: calc(var(--su-static64) * var(--su-base));
35
- --su96: calc(var(--su-static96) * var(--su-base));
36
- --su128: calc(var(--su-static128) * var(--su-base));
37
- }
4
+ @px-values: 0 1 2 4 6 8 12 16 24 32 48 64 96 128;
5
+ @px-values-negative: 1 2 4 6 8 12 16 24 32 48 64 96 128;
6
+ @percent-values: 50 100;
38
7
 
39
8
  // MARGIN
40
- // Margin
41
9
  .m-auto { margin: auto !important; }
42
- .generate-spacing('.m', margin, true);
43
- .generate-spacing('.m', margin, true, percent);
10
+ .generate-sizing('.m', margin, @px-values, 'px', true);
11
+ .generate-sizing('.mn', margin, @px-values-negative, 'px', true, true);
12
+ .generate-sizing('.m', margin, @percent-values, 'percent', true);
13
+ .generate-sizing('.mn', margin, @percent-values, 'percent', true, true);
44
14
 
45
15
  // Margin top
46
16
  .mt-auto { margin-top: auto !important; }
47
- .generate-spacing('.mt', margin-top, true);
48
- .generate-spacing('.mt', margin-top, true, percent);
17
+ .generate-sizing('.mt', margin-top, @px-values, 'px', true);
18
+ .generate-sizing('.mtn', margin-top, @px-values-negative, 'px', true, true);
19
+ .generate-sizing('.mt', margin-top, @percent-values, 'percent', true);
20
+ .generate-sizing('.mtn', margin-top, @percent-values, 'percent', true, true);
49
21
 
50
22
  // Margin right
51
23
  .mr-auto { margin-right: auto !important; }
52
- .generate-spacing('.mr', margin-right, true);
53
- .generate-spacing('.mr', margin-right, true, percent);
24
+ .generate-sizing('.mr', margin-right, @px-values, 'px', true);
25
+ .generate-sizing('.mrn', margin-right, @px-values-negative, 'px', true, true);
26
+ .generate-sizing('.mr', margin-right, @percent-values, 'percent', true);
27
+ .generate-sizing('.mrn', margin-right, @percent-values, 'percent', true, true);
54
28
 
55
29
  // Margin bottom
56
30
  .mb-auto { margin-bottom: auto !important; }
57
- .generate-spacing('.mb', margin-bottom, true);
58
- .generate-spacing('.mb', margin-bottom, true, percent);
31
+ .generate-sizing('.mb', margin-bottom, @px-values, 'px', true);
32
+ .generate-sizing('.mbn', margin-bottom, @px-values-negative, 'px', true, true);
33
+ .generate-sizing('.mb', margin-bottom, @percent-values, 'percent', true);
34
+ .generate-sizing('.mbn', margin-bottom, @percent-values, 'percent', true, true);
59
35
 
60
36
  // Margin left
61
37
  .ml-auto { margin-left: auto !important; }
62
- .generate-spacing('.ml', margin-left, true);
63
- .generate-spacing('.ml', margin-left, true, percent);
38
+ .generate-sizing('.ml', margin-left, @px-values, 'px', true);
39
+ .generate-sizing('.mln', margin-left, @px-values-negative, 'px', true, true);
40
+ .generate-sizing('.ml', margin-left, @percent-values, 'percent', true);
41
+ .generate-sizing('.mln', margin-left, @percent-values, 'percent', true, true);
64
42
 
65
43
  // Margin x-axis, y-axis
66
44
  .mx-auto { margin-left: auto !important; margin-right: auto !important; }
67
45
  .my-auto { margin-top: auto !important; margin-bottom: auto !important; }
68
- .generate-spacing('.mx'; margin-left, margin-right; true);
69
- .generate-spacing('.my'; margin-top, margin-bottom; true);
46
+ .generate-sizing('.mx'; margin-left, margin-right; @px-values; 'px'; true);
47
+ .generate-sizing('.mxn'; margin-left, margin-right; @px-values-negative; 'px'; true; true);
48
+ .generate-sizing('.my'; margin-top, margin-bottom; @px-values; 'px'; true);
49
+ .generate-sizing('.myn'; margin-top, margin-bottom; @px-values-negative; 'px'; true; true);
70
50
 
71
51
  // PADDING
72
- .generate-spacing('.p', padding);
73
- .generate-spacing('.pt', padding-top);
74
- .generate-spacing('.pr', padding-right);
75
- .generate-spacing('.pb', padding-bottom);
76
- .generate-spacing('.pl', padding-left);
77
- .generate-spacing('.px'; padding-left, padding-right);
78
- .generate-spacing('.py'; padding-top, padding-bottom);
79
-
80
- // POSITIONING
81
- // Inset
82
- .generate-spacing('.i', inset);
83
-
84
- // Top
85
- .generate-spacing('.t', top, true);
86
- .generate-spacing('.t', top, true, percent);
87
-
88
- // Right
89
- .generate-spacing('.r', right, true);
90
- .generate-spacing('.r', right, true, percent);
91
-
92
- // Bottom
93
- .generate-spacing('.b', bottom, true);
94
- .generate-spacing('.b', bottom, true, percent);
95
-
96
- // Left
97
- .generate-spacing('.l', left, true);
98
- .generate-spacing('.l', left, true, percent);
52
+ .generate-sizing('.p', padding, @px-values, 'px', true);
53
+ .generate-sizing('.pt', padding-top, @px-values, 'px', true);
54
+ .generate-sizing('.pr', padding-right, @px-values, 'px', true);
55
+ .generate-sizing('.pb', padding-bottom, @px-values, 'px', true);
56
+ .generate-sizing('.pl', padding-left, @px-values, 'px', true);
57
+ .generate-sizing('.px'; padding-left, padding-right; @px-values; 'px'; true);
58
+ .generate-sizing('.py'; padding-top, padding-bottom; @px-values; 'px'; true);
@@ -0,0 +1,27 @@
1
+ @import (reference) "../base/internal.less";
2
+ @import (reference) "../exports/mixins.less";
3
+
4
+ // `width` properties
5
+ .generate-sizing('.w', width, 0 1 2 4 6 8 12 16 24 32 48 64 96 128, 'px');
6
+ .generate-su-sizing('.ws', width); // Static sizing units
7
+ .generate-sizing('.w', width, 10 20 30 40 60 70 80 90, 'percent');
8
+ .generate-sizing('.w', width, 25 50 75 100, 'percent', true); // responsive
9
+ #stacks-internals #responsify('.w33', { width: calc(100% / 3) !important; });
10
+ #stacks-internals #responsify('.w66', { width: calc(100% / 3 * 2) !important; });
11
+ #stacks-internals #responsify('.w-auto', { width: auto !important; });
12
+ #stacks-internals #responsify('.w-screen', { width: 100vw !important; });
13
+
14
+ // `min-width` properties
15
+ .generate-sizing('.wmn', min-width, 0, 'px');
16
+ .generate-su-sizing('.wmn', min-width); // Static sizing units
17
+ .generate-sizing('.wmn', min-width, 25 50 75, 'percent');
18
+ #stacks-internals #responsify('.wmn100', { min-width: 100% !important; });
19
+ #stacks-internals #responsify('.wmn-initial', { min-width: initial !important; });
20
+ #stacks-internals #responsify('.wmn-screen', { min-width: 100vw !important; });
21
+
22
+ // `max-width` properties
23
+ .generate-su-sizing('.wmx', max-width); // Static sizing units
24
+ .generate-sizing('.wmx', max-width, 25 50 75, 'percent');
25
+ #stacks-internals #responsify('.wmx100', { max-width: 100% !important; });
26
+ #stacks-internals #responsify('.wmx-initial', { max-width: initial !important; });
27
+ #stacks-internals #responsify('.wmx-screen', { max-width: 100vw !important; });
@@ -20,20 +20,18 @@ html,
20
20
  body {
21
21
  color: var(--theme-body-font-color, var(--black-600));
22
22
  font-family: var(--theme-body-font-family);
23
- font-size: var(--fs-body1);
24
23
  line-height: var(--lh-base);
25
24
  }
26
25
 
27
26
  body {
27
+ background-color: var(--theme-background-color, var(--white));
28
28
  box-sizing: border-box;
29
+ font-size: var(--fs-body1);
29
30
  min-height: 100%;
30
- background-color: var(--theme-background-color, var(--white));
31
31
 
32
32
  *,
33
33
  *:before,
34
34
  *:after {
35
35
  box-sizing: inherit;
36
36
  }
37
-
38
- // TODO SHINE set max width here
39
37
  }
@@ -164,12 +164,10 @@
164
164
  // ---------------------------------------------------------------------------
165
165
 
166
166
 
167
- #build-classes(@class-prefix, @rules, @values) {
168
- #stacks-internals #build-classes-with-start-index(@class-prefix, @rules, 1, false, @values);
169
- }
170
- #build-classes(responsive, @class-prefix, @rules, @values) {
171
- #stacks-internals #build-classes-with-start-index(@class-prefix, @rules, 1, true, @values);
167
+ #build-classes(@class-prefix, @rules, @values, @responsive: false) {
168
+ #stacks-internals #build-classes-with-start-index(@class-prefix, @rules, 1, @responsive, @values);
172
169
  }
170
+
173
171
  #build-classes-with-start-index(@class-prefix, @rules, @start-index, @responsive, @values) when (@start-index <= length(@values)) {
174
172
  @val: extract(@values, @start-index);
175
173
  & when (isnumber(@val)) {
@@ -375,7 +375,7 @@ textarea {
375
375
 
376
376
  [type="search"] {
377
377
  -webkit-appearance: textfield; /* 1 */
378
- outline-offset: calc(var(--su-static2) * -1); // -2px - /* 2 */
378
+ outline-offset: var(--sun2);
379
379
  }
380
380
 
381
381
  /**
@@ -58,9 +58,9 @@
58
58
 
59
59
  // CHILD ELEMENTS
60
60
  & &--badge {
61
- bottom: calc(var(--su-static4) * -1); // -4px
61
+ bottom: var(--sun4);
62
62
  position: absolute;
63
- right: calc(var(--su-static4) * -1); // -4px
63
+ right: var(--sun4);
64
64
  -webkit-transform: scale(var(--_av-scale-badge));
65
65
  transform: scale(var(--_av-scale-badge));
66
66
  }
@@ -38,7 +38,7 @@
38
38
  margin: calc(var(--_ba-py) * -1) 0 calc(var(--_ba-py) * -1) calc(var(--_ba-px) * -1);
39
39
  }
40
40
  & svg {
41
- margin: calc(var(--_ba-py) * -1) 0 calc(var(--_ba-py) * -1) calc(var(--su4) * -1);
41
+ margin: calc(var(--_ba-py) * -1) 0 calc(var(--_ba-py) * -1) var(--sun4);
42
42
  }
43
43
 
44
44
  &:has(.s-bling__rep) {
@@ -98,7 +98,7 @@
98
98
 
99
99
  &:before {
100
100
  height: var(--_ba-before-h);
101
- margin-top: calc(var(--su1) * -1);
101
+ margin-top: var(--sun1);
102
102
  width: var(--_ba-before-w);
103
103
 
104
104
  content: "";
@@ -29,7 +29,7 @@
29
29
 
30
30
  & &--container { // When we want to keep hero content capped
31
31
  margin: 0 auto;
32
- max-width: calc(var(--s-step) * 10);
32
+ max-width: var(--su1024);
33
33
  position: relative;
34
34
  width: 100%;
35
35
  }
@@ -250,7 +250,7 @@
250
250
  clip-path: inset(50%);
251
251
  clip: rect(var(--su-static1), var(--su-static1), var(--su-static1), var(--su-static1)); // rect(1px, 1px, 1px, 1px)
252
252
  height: var(--su-static1);
253
- margin: calc(var(--su-static1) * -1); // -1px
253
+ margin: var(--sun1);
254
254
  overflow-wrap: normal;
255
255
  overflow: hidden;
256
256
  padding: 0;
@@ -17,7 +17,7 @@
17
17
  // CHILD ELEMENTS
18
18
  form {
19
19
  display: flex;
20
- margin-right: calc(var(--su-static1) * -1); // -1px
20
+ margin-right: var(--sun1);
21
21
  }
22
22
 
23
23
  // --_bu-py values set below to ensure btn-group height matches same-sized button height
@@ -95,7 +95,7 @@
95
95
  border-width: 0 var(--su-static1) 0 0;
96
96
  color: var(--black-350);
97
97
  float: left;
98
- margin: calc(var(--su12) * -1);
98
+ margin: var(--sun12);
99
99
  margin-right: var(--su12);
100
100
  padding: var(--su12);
101
101
  padding-right: var(--su6);
@@ -38,7 +38,7 @@
38
38
  color: var(--_ii-fc);
39
39
  right: var(--_ii-r);
40
40
 
41
- margin-top: calc((var(--su-static8) + var(--su-static2)) * -1); // -10px - Half the icon's height at 20px for centering
41
+ margin-top: calc(var(--sun8) + var(--sun2)); // -10px - Half the icon's height at 20px for centering
42
42
  pointer-events: none;
43
43
  position: absolute;
44
44
  top: 50%;
@@ -29,15 +29,15 @@
29
29
  // Close btn
30
30
  & &--close {
31
31
  float: right; // Use floats for title wrapping
32
- top: calc(var(--su8) * -1); // Compensate for s-popover's padding
33
- right: calc(var(--su8) * -1); // Compensate for s-popover's padding
32
+ top: var(--sun8); // Compensate for s-popover's padding
33
+ right: var(--sun8); // Compensate for s-popover's padding
34
34
  padding: var(--su6) !important;
35
35
  }
36
36
 
37
37
  & &--content {
38
38
  max-height: var(--_po-content-mxh);
39
39
  overflow-y: auto;
40
- margin: calc(var(--su12) * -1);
40
+ margin: var(--sun12);
41
41
  padding: var(--su12);
42
42
  }
43
43
 
@@ -217,7 +217,7 @@
217
217
  .v-truncate2;
218
218
  color: var( --_ps-content-excerpt-fc);
219
219
  font-family: var(--theme-post-body-font-family, var(--theme-body-font-family));
220
- margin-top: calc(var(--su2) * -1);
220
+ margin-top: var(--sun2);
221
221
  margin-bottom: var(--su8);
222
222
  }
223
223
 
@@ -261,7 +261,7 @@
261
261
 
262
262
  .svg-icon {
263
263
  position: relative;
264
- top: calc(var(--su1) * -1);
264
+ top: var(--sun1);
265
265
  vertical-align: text-bottom; // Optical alignment
266
266
  }
267
267
 
@@ -278,7 +278,7 @@
278
278
  &--content-type {
279
279
  .svg-icon {
280
280
  color: var(--fc-light);
281
- margin-left: calc(var(--su2) * -1);
281
+ margin-left: var(--sun2);
282
282
  }
283
283
 
284
284
  color: var(--fc-medium);
@@ -254,7 +254,7 @@
254
254
  content: "";
255
255
  display: block;
256
256
  height: 100%;
257
- left: calc(var(--su-static1) * -1); // -1px
257
+ left: var(--sun1);
258
258
  position: absolute;
259
259
  top: 0;
260
260
  width: var(--su-static4);
@@ -123,8 +123,8 @@
123
123
  content: '';
124
124
  height: calc(100% + var(--su16));
125
125
  left: 0;
126
- margin-left: calc(var(--su16) * -1 - var(--su-static1)); // the orange selection indicator overlaps with the widget border
127
- margin-top: calc(var(--su16) / 2 * -1);
126
+ margin-left: var(--sun16); // the orange selection indicator overlaps with the widget border
127
+ margin-top: var(--sun8);
128
128
  position: absolute;
129
129
  }
130
130
 
@@ -31,7 +31,7 @@
31
31
  --_tb-searchbar-p: 0 var(--su8);
32
32
  --_tb-searchbar-open-d: unset;
33
33
  --_tb-searchbar-open-mxw: 0;
34
- --_tb-searchbar-popover-wmn: calc(var(--s-step) * 4);
34
+ --_tb-searchbar-popover-wmn: var(--su448);
35
35
  --_tb-searchbar-popover-content-mxh: calc(100vh - var(--_tb-h) - var(--su16));
36
36
 
37
37
  // CONTEXTUAL STYLES
@@ -147,7 +147,7 @@
147
147
  height: 100%;
148
148
  margin: 0 auto;
149
149
  max-width: 100%;
150
- width: var(--s-full);
150
+ width: var(--su-max);
151
151
  }
152
152
 
153
153
  & &--content {
@@ -413,8 +413,8 @@
413
413
 
414
414
  align-self: stretch;
415
415
  color: var(--theme-topbar-select-color, var(--black-500));
416
- margin-right: calc(var(--su-static1) * -1); //-1px
417
- max-width: calc(var(--s-step) * 2) !important; // wmx2;
416
+ margin-right: var(--sun1);
417
+ max-width: var(--su256) !important;
418
418
  }
419
419
 
420
420
  &.s-topbar--searchbar__open {
@@ -50,10 +50,6 @@ body {
50
50
 
51
51
  --default-transition-duration: 0.1s;
52
52
  --transition-time: var(--default-transition-duration);
53
-
54
- // Sizing
55
- --s-full: 79rem; // Based on a pixel size of 1264px;
56
- --s-step: calc(var(--s-full) / 12);
57
53
  }
58
54
 
59
55
  // ============================================================================
@@ -108,7 +108,7 @@ body {
108
108
  --fs-title: 1.375rem; // 22px
109
109
  --fs-headline1: 1.75rem; // 28px
110
110
  --fs-headline2: 2.25rem; // 36px
111
- --fs-display1: 2.875rem; // 46px
111
+ --fs-display1: 2.875rem; // 46px
112
112
  --fs-display2: 3.625rem; // 58px
113
113
  --fs-display3: 4.5rem; // 72px
114
114
  --fs-display4: 6.25rem; // 100px