vanilla-framework 3.14.0 → 4.0.0-alpha.1

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "vanilla-framework",
3
- "version": "3.14.0",
3
+ "version": "4.0.0-alpha.1",
4
4
  "author": {
5
5
  "email": "webteam@canonical.com",
6
6
  "name": "Canonical Webteam"
@@ -41,7 +41,7 @@
41
41
  @extend %table-header-label;
42
42
 
43
43
  padding-bottom: $spv--large - map-get($nudges, x-small);
44
- padding-top: map-get($nudges, x-small) + map-get($browser-rounding-compensations, small) + $sp-unit;
44
+ padding-top: map-get($nudges, x-small) + $sp-unit;
45
45
  }
46
46
 
47
47
  tr {
@@ -1,49 +1,20 @@
1
1
  @mixin vf-b-typography-definitions {
2
2
  //@section Heading styling in placeholders
3
- %vf-heading-1 {
4
- font-size: #{map-get($font-sizes, h1-mobile)}rem;
5
- font-style: normal;
6
- font-weight: $font-weight-display-heading;
7
- line-height: map-get($line-heights, h1-mobile);
8
- margin-bottom: map-get($sp-after, h1-mobile) - map-get($nudges, h1-mobile);
9
- margin-top: 0;
10
- max-width: $text-max-width;
11
- padding-top: map-get($nudges, h1-mobile) + map-get($browser-rounding-compensations, h1);
12
-
13
- @media (min-width: $breakpoint-heading-threshold) {
14
- font-size: #{map-get($font-sizes, h1)}rem;
15
- line-height: map-get($line-heights, h1);
16
- margin-bottom: map-get($sp-after, h1) - map-get($nudges, h1);
17
- padding-top: map-get($nudges, h1) + map-get($browser-rounding-compensations, h1);
18
- }
19
-
20
- @if ($increase-font-size-on-larger-screens) {
21
- @media (min-width: $breakpoint-x-large) {
22
- margin-bottom: map-get($sp-after, h1) - map-get($nudges, h1-large);
23
- padding-top: map-get($nudges, h1-large) + map-get($browser-rounding-compensations, h1);
24
- }
25
- }
26
-
27
- &.u-no-margin--bottom {
28
- @extend %u-no-margin--bottom--h1;
29
- }
30
- }
31
-
32
3
  %vf-heading-2 {
33
4
  font-size: #{map-get($font-sizes, h2-mobile)}rem;
34
5
  font-style: normal;
35
- font-weight: $font-weight-display-heading;
6
+ font-weight: 180;
36
7
  line-height: map-get($line-heights, h2-mobile);
37
8
  margin-bottom: map-get($sp-after, h2-mobile) - map-get($nudges, h2-mobile);
38
9
  margin-top: 0;
39
10
  max-width: $text-max-width;
40
- padding-top: map-get($nudges, h2-mobile) + map-get($browser-rounding-compensations, h2);
11
+ padding-top: map-get($nudges, h2-mobile);
41
12
 
42
13
  @media (min-width: $breakpoint-heading-threshold) {
43
14
  font-size: #{map-get($font-sizes, h2)}rem;
44
15
  line-height: map-get($line-heights, h2);
45
16
  margin-bottom: map-get($sp-after, h2) - map-get($nudges, h2);
46
- padding-top: map-get($nudges, h2) + map-get($browser-rounding-compensations, h2);
17
+ padding-top: map-get($nudges, h2);
47
18
  }
48
19
 
49
20
  &.u-no-margin--bottom {
@@ -51,10 +22,15 @@
51
22
  }
52
23
  }
53
24
 
25
+ %vf-heading-1 {
26
+ @extend %vf-heading-2;
27
+ font-weight: 550;
28
+ }
29
+
54
30
  %vf-heading-3 {
55
31
  font-size: #{map-get($font-sizes, h3-mobile)}rem;
56
32
  font-style: normal;
57
- font-weight: $font-weight-display-heading;
33
+ font-weight: 550;
58
34
  line-height: map-get($line-heights, h3-mobile);
59
35
  margin-bottom: map-get($sp-after, h3-mobile) - map-get($nudges, h3-mobile);
60
36
  margin-top: 0;
@@ -65,7 +41,7 @@
65
41
  font-size: #{map-get($font-sizes, h3)}rem;
66
42
  line-height: map-get($line-heights, h3);
67
43
  margin-bottom: map-get($sp-after, h3) - map-get($nudges, h3);
68
- padding-top: map-get($nudges, h3) + map-get($browser-rounding-compensations, h3);
44
+ padding-top: map-get($nudges, h3);
69
45
  }
70
46
 
71
47
  &.u-no-margin--bottom {
@@ -76,24 +52,24 @@
76
52
  %vf-heading-4 {
77
53
  font-size: #{map-get($font-sizes, h4-mobile)}rem;
78
54
  font-style: normal;
79
- font-weight: $font-weight-thin;
55
+ font-weight: 275;
80
56
  line-height: map-get($line-heights, h4-mobile);
81
57
  margin-bottom: map-get($sp-after, h4-mobile) - map-get($nudges, h4-mobile);
82
58
  margin-top: 0;
83
59
  max-width: $text-max-width;
84
- padding-top: map-get($nudges, h4-mobile) + map-get($browser-rounding-compensations, h4);
60
+ padding-top: map-get($nudges, h4-mobile);
85
61
 
86
62
  @media (min-width: $breakpoint-heading-threshold) {
87
63
  font-size: #{map-get($font-sizes, h4)}rem;
88
64
  line-height: map-get($line-heights, h4);
89
65
  margin-bottom: map-get($sp-after, h4) - map-get($nudges, h4);
90
- padding-top: map-get($nudges, h4) + map-get($browser-rounding-compensations, h4);
66
+ padding-top: map-get($nudges, h4);
91
67
  }
92
68
 
93
69
  @if ($increase-font-size-on-larger-screens) {
94
70
  @media (min-width: $breakpoint-x-large) {
95
71
  margin-bottom: map-get($sp-after, h4) - map-get($nudges, h4-large);
96
- padding-top: map-get($nudges, h4-large) + map-get($browser-rounding-compensations, h4);
72
+ padding-top: map-get($nudges, h4-large);
97
73
  }
98
74
  }
99
75
 
@@ -105,12 +81,12 @@
105
81
  %vf-heading-5 {
106
82
  font-size: 1rem;
107
83
  font-style: normal;
108
- font-weight: $font-weight-bold;
84
+ font-weight: 500;
109
85
  line-height: map-get($line-heights, default-text);
110
86
  margin-bottom: map-get($sp-after, p) - map-get($nudges, p);
111
87
  margin-top: 0;
112
88
  max-width: $text-max-width;
113
- padding-top: map-get($nudges, p) + map-get($browser-rounding-compensations, h5);
89
+ padding-top: map-get($nudges, p);
114
90
 
115
91
  &.u-no-margin--bottom {
116
92
  @extend %u-no-margin--bottom--default-text;
@@ -125,11 +101,11 @@
125
101
  margin-bottom: map-get($sp-after, p) - map-get($nudges, p);
126
102
  margin-top: 0;
127
103
  max-width: $text-max-width;
128
- padding-top: map-get($nudges, h6) + map-get($browser-rounding-compensations, h6);
104
+ padding-top: map-get($nudges, h6);
129
105
 
130
106
  @if ($increase-font-size-on-larger-screens) {
131
107
  @media (min-width: $breakpoint-x-large) {
132
- padding-top: map-get($nudges, h6-large) + map-get($browser-rounding-compensations, h6);
108
+ padding-top: map-get($nudges, h6-large);
133
109
  }
134
110
  }
135
111
 
@@ -141,7 +117,7 @@
141
117
  %common-default-text-properties {
142
118
  line-height: map-get($line-heights, default-text);
143
119
  margin-top: 0;
144
- padding-top: map-get($nudges, p) + map-get($browser-rounding-compensations, p);
120
+ padding-top: map-get($nudges, p);
145
121
  }
146
122
 
147
123
  %default-text {
@@ -170,11 +146,11 @@
170
146
  font-size: #{map-get($font-sizes, small)}rem;
171
147
  line-height: map-get($line-heights, small);
172
148
  margin-bottom: map-get($sp-after, small) - map-get($nudges, small);
173
- padding-top: map-get($nudges, small) + map-get($browser-rounding-compensations, small);
149
+ padding-top: map-get($nudges, small);
174
150
 
175
151
  @if ($increase-font-size-on-larger-screens) {
176
152
  @media (min-width: $breakpoint-x-large) {
177
- padding-top: map-get($nudges, small) + map-get($browser-rounding-compensations, small-largescreen);
153
+ padding-top: map-get($nudges, small);
178
154
  }
179
155
  }
180
156
 
@@ -188,11 +164,11 @@
188
164
  font-weight: $font-weight-bold;
189
165
  line-height: map-get($line-heights, x-small);
190
166
  margin-bottom: map-get($sp-after, x-small) - map-get($nudges, x-small);
191
- padding-top: map-get($nudges, x-small) + map-get($browser-rounding-compensations, small);
167
+ padding-top: map-get($nudges, x-small);
192
168
 
193
169
  @if ($increase-font-size-on-larger-screens) {
194
170
  @media (min-width: $breakpoint-x-large) {
195
- padding-top: map-get($nudges, x-small) + map-get($browser-rounding-compensations, small-largescreen);
171
+ padding-top: map-get($nudges, x-small);
196
172
  }
197
173
  }
198
174
 
@@ -220,7 +196,7 @@
220
196
  // but now it's implemented with default text size not requiring any compensations,
221
197
  // so we need to reset the padding-top to the default value
222
198
  &.u-align-text--x-small-to-default {
223
- padding-top: map-get($nudges, p) + map-get($browser-rounding-compensations, p);
199
+ padding-top: map-get($nudges, p);
224
200
  }
225
201
  }
226
202
 
@@ -19,30 +19,18 @@
19
19
 
20
20
  .p-heading-icon__img {
21
21
  flex-shrink: 0;
22
- height: map-get($icon-sizes, heading-icon--small);
22
+ height: map-get($icon-sizes, heading-icon);
23
23
  margin-bottom: 0;
24
24
  margin-right: $sph--large;
25
- margin-top: map-get($nudges, h3-mobile);
26
- width: map-get($icon-sizes, heading-icon--small);
27
-
28
- @media (min-width: $breakpoint-heading-threshold) {
29
- height: map-get($icon-sizes, heading-icon);
30
- margin-top: map-get($nudges, h3);
31
- width: map-get($icon-sizes, heading-icon);
32
- }
25
+ margin-top: calc(map-get($nudges, h3) / 2); // just a quick fix, should be calculated based on line height and icon size
26
+ width: map-get($icon-sizes, heading-icon);
33
27
  }
34
28
 
35
29
  .p-heading-icon--small {
36
30
  .p-heading-icon__img {
37
- height: map-get($icon-sizes, heading-icon--x-small);
38
- margin-top: $sp-x-small;
39
- width: map-get($icon-sizes, heading-icon--x-small);
40
-
41
- @media (min-width: $breakpoint-heading-threshold) {
42
- height: map-get($icon-sizes, heading-icon--small);
43
- margin-top: 0;
44
- width: map-get($icon-sizes, heading-icon--small);
45
- }
31
+ height: map-get($icon-sizes, heading-icon--small);
32
+ margin-top: map-get($nudges, h3);
33
+ width: map-get($icon-sizes, heading-icon--small);
46
34
  }
47
35
  }
48
36
  }
@@ -1,5 +1,6 @@
1
1
  @import 'settings';
2
2
  $list-status-icon-height: $default-icon-size;
3
+ $list-step-bullet-margin: $sph--x-large;
3
4
 
4
5
  @mixin vf-p-list-placeholders {
5
6
  %numbered-step-container {
@@ -13,21 +14,19 @@ $list-status-icon-height: $default-icon-size;
13
14
  %numbered-step-title {
14
15
  list-style: none;
15
16
  margin-left: 0;
17
+ padding-left: calc(map-get($line-heights, default-text) + $list-step-bullet-margin);
18
+ position: relative;
16
19
 
17
20
  &::before {
18
- align-self: start;
19
- background-color: $color-x-light;
20
- border: 1px solid $color-x-dark;
21
- border-radius: 100%;
22
- content: counter(li);
21
+ content: counter(li) '.';
23
22
  counter-increment: li;
24
- direction: rtl;
25
23
  display: block;
26
- font-size: map-get($base-font-sizes, base);
27
- font-weight: $font-weight-regular-text;
24
+ height: map-get($line-heights, default-text);
28
25
  left: 0;
26
+ margin-right: $list-step-bullet-margin;
29
27
  position: absolute;
30
- text-align: center;
28
+ text-align: right;
29
+ width: map-get($line-heights, default-text);
31
30
  }
32
31
  }
33
32
 
@@ -334,74 +333,35 @@ $list-status-icon-height: $default-icon-size;
334
333
 
335
334
  .p-stepped-list__title {
336
335
  @extend %numbered-step-title;
337
-
338
- padding-left: $bullet-width-mobile + $sph--large;
339
-
340
- @media (min-width: $breakpoint-heading-threshold) {
341
- padding-left: $bullet-width + $sph--large;
342
- }
343
-
344
- &::before {
345
- // Need to account for the 1px border:
346
- line-height: calc($bullet-width-mobile - 2px);
347
- margin-right: $sph--large;
348
- width: $bullet-width-mobile;
349
-
350
- @media (min-width: $breakpoint-heading-threshold) {
351
- // Need to account for the 1px border:
352
- line-height: calc($bullet-width - 2px);
353
- width: $bullet-width;
354
- }
355
- }
356
- .p-strip--dark &::before {
357
- background-color: $color-x-dark;
358
- border: 1px solid $color-x-light;
359
- }
360
336
  }
361
337
 
362
338
  .p-stepped-list__title + .p-stepped-list__content {
363
- margin-left: $bullet-width-mobile + $sph--large;
339
+ margin-left: $bullet-width-mobile + $list-step-bullet-margin;
364
340
 
365
341
  @media (min-width: $breakpoint-heading-threshold) {
366
- margin-left: $bullet-width + $sph--large;
342
+ margin-left: $bullet-width + $list-step-bullet-margin;
367
343
  }
368
344
  }
369
345
 
370
- @for $i from 6 through 1 {
346
+ @for $i from 4 through 1 {
371
347
  // Bullet sizes for each heading level
372
- $bullet-width: map-get($line-heights, default-text);
373
- $bullet-width-mobile: map-get($line-heights, default-text);
374
- // h6 line height is the same as the bullet width so no need to apply any margin:
375
- $bullet-margin: 0;
376
- $bullet-margin-mobile: 0;
377
-
378
- @if $i < 5 {
379
- // To align the bullet with the title we need to use half
380
- // the height difference between the bullet and the title and then add the
381
- // nudge to position it with the lower case text.
382
- $bullet-margin: calc((map-get($line-heights, h#{$i}) - $bullet-width) / 2) + map-get($nudges, h#{$i});
383
- $bullet-margin-mobile: calc((map-get($line-heights, h#{$i}-mobile) - $bullet-width-mobile) / 2) + map-get($nudges, h#{$i});
384
- }
348
+ $bullet-width: map-get($line-heights, h#{$i});
349
+ $bullet-width-mobile: map-get($line-heights, h#{$i}-mobile);
385
350
 
386
351
  .p-heading--#{$i}.p-stepped-list__title,
387
352
  h#{$i}.p-stepped-list__title {
388
- padding-left: $bullet-width-mobile + $sph--large;
353
+ padding-left: $bullet-width-mobile + $list-step-bullet-margin;
389
354
 
390
355
  @media (min-width: $breakpoint-heading-threshold) {
391
- padding-left: $bullet-width + $sph--large;
356
+ padding-left: $bullet-width + $list-step-bullet-margin;
392
357
  }
393
358
 
394
359
  &::before {
395
- // Need to account for the 1px border:
396
- line-height: calc($bullet-width-mobile - 2px);
397
- margin-right: $sph--large;
398
- margin-top: $bullet-margin-mobile;
360
+ height: $bullet-width-mobile;
399
361
  width: $bullet-width-mobile;
400
362
 
401
363
  @media (min-width: $breakpoint-heading-threshold) {
402
- // Need to account for the 1px border:
403
- line-height: calc($bullet-width - 2px);
404
- margin-top: $bullet-margin;
364
+ height: $bullet-width;
405
365
  width: $bullet-width;
406
366
  }
407
367
  }
@@ -409,10 +369,10 @@ $list-status-icon-height: $default-icon-size;
409
369
 
410
370
  .p-heading--#{$i}.p-stepped-list__title + .p-stepped-list__content,
411
371
  h#{$i}.p-stepped-list__title + .p-stepped-list__content {
412
- margin-left: $bullet-width-mobile + $sph--large;
372
+ margin-left: $bullet-width-mobile + $list-step-bullet-margin;
413
373
 
414
374
  @media (min-width: $breakpoint-heading-threshold) {
415
- margin-left: $bullet-width + $sph--large;
375
+ margin-left: $bullet-width + $list-step-bullet-margin;
416
376
  }
417
377
  }
418
378
  }
@@ -439,7 +399,6 @@ $list-status-icon-height: $default-icon-size;
439
399
  }
440
400
 
441
401
  .p-stepped-list__title {
442
- display: flex;
443
402
  grid-column-end: span 6;
444
403
  margin-left: 0;
445
404
  }
@@ -95,10 +95,7 @@
95
95
  // The logo section pattern needs to align logos to the grid when they are an even number, and center them (while maintaining the same logo width) when the number of logos on a line is odd.
96
96
  // This means we can't use css grid for this, instead we need to replicate its behavior for even numbers of logos, and center the odd ones.
97
97
  .p-logo-section__title {
98
- @extend %x-small-text;
99
-
100
- font-weight: $font-weight-bold;
101
- text-transform: uppercase;
98
+ @extend %small-caps-text;
102
99
  }
103
100
 
104
101
  $margin-small: map-get($grid-gutter-widths, small);
@@ -95,18 +95,19 @@
95
95
  align-self: flex-start;
96
96
  flex-shrink: 0;
97
97
  height: auto;
98
- margin-bottom: $spv--small;
99
98
  margin-right: $matrix-img-gutter;
100
99
  margin-top: 0;
101
100
  width: $matrix-img-width;
102
101
 
103
102
  @media (min-width: $breakpoint-heading-threshold) {
104
- margin-top: -#{map-get($nudges, h4)};
103
+ // place image in the middle of the heading text
104
+ margin-top: calc(map-get($nudges, h4) + (map-get($line-heights, h4) - $matrix-img-width) / 2);
105
105
  }
106
106
 
107
107
  @if ($increase-font-size-on-larger-screens) {
108
108
  @media (min-width: $breakpoint-x-large) {
109
- margin-top: -#{map-get($nudges, h4-large)};
109
+ // place image in the middle of the heading text
110
+ margin-top: calc(map-get($nudges, h4-large) + (map-get($line-heights, h4) - $matrix-img-width) / 2);
110
111
  }
111
112
  }
112
113
  }
@@ -269,9 +269,10 @@ $spv-navigation-logo-bottom-position: 0.125rem; // 2px when 1rem is 16px
269
269
  }
270
270
 
271
271
  .p-navigation__logo-title {
272
- @extend %vf-heading-4;
273
- font-size: #{map-get($font-sizes, h4)}rem;
274
- line-height: map-get($line-heights, x-small);
272
+ // font sizing adjusted to match logo
273
+ font-size: 1.3rem;
274
+ font-weight: 300;
275
+ line-height: $navigation-logo-size;
275
276
  }
276
277
 
277
278
  .p-navigation__link {
@@ -2,7 +2,7 @@
2
2
  @import 'settings_breakpoints';
3
3
 
4
4
  // Global grid settings
5
- $grid-max-width: 72rem !default;
5
+ $grid-max-width: 80rem !default;
6
6
  $grid-columns-small: 4 !default;
7
7
  $grid-columns-medium: 6 !default;
8
8
  $grid-columns: 12 !default;
@@ -8,27 +8,27 @@ $sp-unit-ratio: 0.5 !default;
8
8
  $sp-unit: 1rem * $sp-unit-ratio !default;
9
9
 
10
10
  $font-sizes: (
11
- h1: pow($ms-ratio, 8),
12
- h1-mobile: pow($ms-ratio, 6),
13
- h2: pow($ms-ratio, 6),
14
- h2-mobile: 1.83274,
15
- h3: pow($ms-ratio, 4),
16
- h3-mobile: pow($ms-ratio, 3),
17
- h4: pow($ms-ratio, 2),
18
- h4-mobile: 1.22176,
19
- small: pow($ms-ratio, -1),
20
- x-small: pow($ms-ratio, -2),
11
+ h1: 2.5,
12
+ h1-mobile: 2,
13
+ h2: 2.5,
14
+ h2-mobile: 2,
15
+ h3: 1.5,
16
+ h3-mobile: 1.5,
17
+ h4: 1.5,
18
+ h4-mobile: 1.5,
19
+ small: 0.875,
20
+ x-small: 0.75,
21
21
  ) !default;
22
22
 
23
23
  $line-heights: (
24
- h1: 7 * $sp-unit,
25
- h1-mobile: 6 * $sp-unit,
24
+ h1: 6 * $sp-unit,
25
+ h1-mobile: 5 * $sp-unit,
26
26
  h2: 6 * $sp-unit,
27
27
  h2-mobile: 5 * $sp-unit,
28
- h3: 5 * $sp-unit,
28
+ h3: 4 * $sp-unit,
29
29
  h3-mobile: 4 * $sp-unit,
30
30
  h4: 4 * $sp-unit,
31
- h4-mobile: 3 * $sp-unit,
31
+ h4-mobile: 4 * $sp-unit,
32
32
  default-text: 3 * $sp-unit,
33
33
  small: 2.5 * $sp-unit,
34
34
  x-small: 2 * $sp-unit,
@@ -36,18 +36,19 @@ $line-heights: (
36
36
 
37
37
  // baseline nudges for type scale ratio of (16/14)^2
38
38
  $nudges: (
39
- h1-large: 0.15rem,
40
- h1-mobile: 0.165rem,
41
- h1: 0.2rem,
42
- h2: 0.2rem,
43
- h2-mobile: 0.1rem,
44
- h3: 0.1rem,
45
- h3-mobile: 0.5rem,
46
- h4-large: 0,
47
- h4: 0.05rem,
48
- h4-mobile: 0.3rem,
49
- h6: 0.338rem,
50
- h6-large: 0.345rem,
39
+ h1-large: 0.55rem,
40
+ h1-mobile: 0.55rem,
41
+ h1: 0.55rem,
42
+ h2: 0.55rem,
43
+ h2-mobile: 0.55rem,
44
+ h3: 0.45rem,
45
+ h3-mobile: 0.45rem,
46
+ h4-large: 0.45rem,
47
+ h4: 0.45rem,
48
+ h4-mobile: 0.45rem,
49
+ h5: 0.4rem,
50
+ h6: 0.4rem,
51
+ h6-large: 0.4rem,
51
52
  p: 0.4rem,
52
53
  p-ubuntumono: 0.45rem,
53
54
  small: 0.05rem,
@@ -56,16 +57,17 @@ $nudges: (
56
57
 
57
58
  // Correct baseline drift due to browser rounding. (Visible in text > 1000 lines)
58
59
  // It is applied only to padding-top.
60
+ // DEPRECATED, will be removed in 4.0
59
61
  $browser-rounding-compensations: (
60
- h1: 0.001rem,
61
- h2: 0.001rem,
62
- h3: 0.001rem,
63
- h4: 0.001rem,
64
- h5: 0.001rem,
62
+ h1: 0,
63
+ h2: 0,
64
+ h3: 0,
65
+ h4: 0,
66
+ h5: 0,
65
67
  h6: 0,
66
- p: 0.0005rem,
67
- small-largescreen: 0.0006rem,
68
- small: 0.0005rem,
68
+ p: 0,
69
+ small-largescreen: 0,
70
+ small: 0,
69
71
  ) !default;
70
72
 
71
73
  // Main spacing variables. spv stands spacing-vertical; sph stands for spacing-horizontal.
@@ -86,14 +88,14 @@ $sph--x-large: $sp-unit * 3 !default;
86
88
 
87
89
  // Space after text elements
88
90
  $sp-after: (
89
- h1: $spv--large,
90
- h1-mobile: $spv--large,
91
- h2: $spv--large,
92
- h2-mobile: $spv--large,
93
- h3: $spv--large,
94
- h3-mobile: $spv--large,
95
- h4: $spv--large,
96
- h4-mobile: $spv--large,
91
+ h1: $spv--x-large,
92
+ h1-mobile: $spv--x-large,
93
+ h2: $spv--x-large,
94
+ h2-mobile: $spv--x-large,
95
+ h3: $spv--x-large,
96
+ h3-mobile: $spv--x-large,
97
+ h4: $spv--x-large,
98
+ h4-mobile: $spv--x-large,
97
99
  p: $spv--x-large,
98
100
  p-dense: $spv--large,
99
101
  default-text: $sp-unit,