helvetic-resume 1.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.
Files changed (85) hide show
  1. checksums.yaml +7 -0
  2. data/LICENSE.txt +21 -0
  3. data/_data/ca.yaml +46 -0
  4. data/_data/common.yaml +11 -0
  5. data/_data/en.yaml +46 -0
  6. data/_data/es.yaml +46 -0
  7. data/_data/it.yaml +46 -0
  8. data/_includes/bar_graph.liquid +17 -0
  9. data/_includes/bluesky.liquid +5 -0
  10. data/_includes/dot-accent.liquid +3 -0
  11. data/_includes/dot.liquid +3 -0
  12. data/_includes/dribbble.liquid +5 -0
  13. data/_includes/email.liquid +5 -0
  14. data/_includes/footer.liquid +38 -0
  15. data/_includes/github.liquid +4 -0
  16. data/_includes/head.liquid +28 -0
  17. data/_includes/header.liquid +23 -0
  18. data/_includes/instagram.liquid +18 -0
  19. data/_includes/language-menu.liquid +32 -0
  20. data/_includes/linkedin.liquid +8 -0
  21. data/_includes/medium.liquid +9 -0
  22. data/_includes/post_block.liquid +9 -0
  23. data/_includes/previous-next.liquid +22 -0
  24. data/_includes/previous-next_has-categories.liquid +41 -0
  25. data/_includes/print-button.liquid +4 -0
  26. data/_includes/theme-toggle.liquid +19 -0
  27. data/_includes/twitter.liquid +9 -0
  28. data/_layouts/about.liquid +42 -0
  29. data/_layouts/category-post.liquid +20 -0
  30. data/_layouts/category_index.liquid +13 -0
  31. data/_layouts/default.liquid +14 -0
  32. data/_layouts/home.liquid +96 -0
  33. data/_layouts/page.liquid +12 -0
  34. data/_layouts/post.liquid +20 -0
  35. data/_layouts/redirect.liquid +22 -0
  36. data/_pages/404.md +8 -0
  37. data/_pages/ca/articles.md +25 -0
  38. data/_pages/ca/documentacio.md +91 -0
  39. data/_pages/ca/quant-a-mi.md +60 -0
  40. data/_pages/en/about-me.md +59 -0
  41. data/_pages/en/docs.md +91 -0
  42. data/_pages/en/reports.md +25 -0
  43. data/_pages/es/articulos.md +25 -0
  44. data/_pages/es/documentacion.md +93 -0
  45. data/_pages/es/sobre-mi.md +60 -0
  46. data/_pages/it/articoli.md +25 -0
  47. data/_pages/it/chi-sono.md +58 -0
  48. data/_pages/it/documenti.md +93 -0
  49. data/_posts/ca/2024-05-15-el-gran-massimo-vignelli.md +45 -0
  50. data/_posts/ca/2024-10-14-creilles.md +38 -0
  51. data/_posts/ca/2025-02-06-exemple-markdown.md +172 -0
  52. data/_posts/ca/2025-03-02-benvinguts-a-jekyll.md +60 -0
  53. data/_posts/en/2024-05-15-the-great-massimo-vignelli.md +45 -0
  54. data/_posts/en/2024-10-14-potatoes.md +38 -0
  55. data/_posts/en/2025-02-06-markdown-sample.md +174 -0
  56. data/_posts/en/2025-03-02-welcome-to-jekyll.md +59 -0
  57. data/_posts/es/2024-05-15-es-el-gran-massimo-vignelli.md +45 -0
  58. data/_posts/es/2024-10-14-patatas.md +38 -0
  59. data/_posts/es/2025-02-06-ejemplo-markdown.md +172 -0
  60. data/_posts/es/2025-03-03-bienvenido-a-jekyll.md +60 -0
  61. data/_posts/it/2024-05-15-il-grande-massimo-vignelli.md +45 -0
  62. data/_posts/it/2024-10-14-patate.md +38 -0
  63. data/_posts/it/2025-02-06-esempio-markdown.md +175 -0
  64. data/_posts/it/2025-03-02-benvenuti-a-jekyll.md +59 -0
  65. data/_sass/_base.scss +110 -0
  66. data/_sass/_components.scss +161 -0
  67. data/_sass/_themes.scss +196 -0
  68. data/_sass/_utilities.scss +700 -0
  69. data/_sass/_variables.scss +43 -0
  70. data/assets/css/print.scss +128 -0
  71. data/assets/css/style.scss +7 -0
  72. data/assets/images/avatar.webp +0 -0
  73. data/assets/images/theme_black.png +0 -0
  74. data/assets/images/theme_blue.png +0 -0
  75. data/assets/images/theme_magenta.png +0 -0
  76. data/assets/images/theme_mint.png +0 -0
  77. data/assets/images/theme_orange.png +0 -0
  78. data/assets/images/theme_red.png +0 -0
  79. data/assets/images/theme_white.png +0 -0
  80. data/assets/images/theme_yellow.png +0 -0
  81. data/assets/js/print-button.js +16 -0
  82. data/assets/js/theme-toggle.js +105 -0
  83. data/scripts/entrypoint.sh +35 -0
  84. data/scripts/post-create.sh +21 -0
  85. metadata +250 -0
@@ -0,0 +1,700 @@
1
+ /* Type utilities */
2
+ @use "variables";
3
+ @import "https://unpkg.com/open-props/easings.min.css";
4
+
5
+ $breakpoint-lg: 1440px;
6
+ $breakpoint-md: 1080px;
7
+ $breakpoint-sm: 768px;
8
+ $breakpoint-xs: 480px;
9
+
10
+ .h0 {
11
+ font-size: var(--h0-mobile);
12
+ line-height: 1.0125;
13
+ margin-top: 0.85em;
14
+ word-wrap: break-word;
15
+
16
+ @media (min-width: #{$breakpoint-md}) {
17
+ font-size: var(--h0-desktop);
18
+ }
19
+ }
20
+
21
+ .text-right {
22
+ text-align: right;
23
+ }
24
+
25
+ .no-underline {
26
+ text-decoration: none !important;
27
+
28
+ &:hover {
29
+ text-decoration: none !important;
30
+ }
31
+ }
32
+
33
+ .bold {
34
+ font-weight: bold;
35
+ }
36
+
37
+ .uppercase {
38
+ text-transform: uppercase;
39
+ }
40
+
41
+ .lh-condensed {
42
+ line-height: 1.25;
43
+ }
44
+
45
+ .list-reset {
46
+ list-style: none;
47
+ padding-left: 0;
48
+ }
49
+
50
+ /* Border utilities */
51
+ .border-bottom-thick {
52
+ border-bottom: 2px solid;
53
+ border-color: currentColor;
54
+ }
55
+
56
+ .border-bottom-thin {
57
+ border-bottom: 1px solid;
58
+ border-color: currentColor;
59
+ }
60
+
61
+ .border-top-thick {
62
+ border-top: 2px solid;
63
+ border-color: currentColor;
64
+ }
65
+
66
+ .border-top-thin {
67
+ border-top: 1px solid;
68
+ border-color: currentColor;
69
+ }
70
+
71
+ .border-0 {
72
+ border: 0;
73
+ }
74
+
75
+ /* Theme color utilities */
76
+ .header-background {
77
+ background-color: var(--header-background) !important;
78
+ }
79
+
80
+ .header-border {
81
+ border-color: var(--header-text);
82
+ }
83
+
84
+ .header-title {
85
+ color: var(--header-title);
86
+ }
87
+
88
+ .header-text {
89
+ color: var(--header-text);
90
+ }
91
+
92
+ .header-social {
93
+ fill: var(--header-text);
94
+ }
95
+
96
+ .header-social-accent {
97
+ fill: var(--header-dots);
98
+ }
99
+
100
+ .header-link{
101
+ color: var(--header-text) !important;
102
+ &:hover {
103
+ color: var(--header-links-hover) !important;
104
+ }
105
+ }
106
+
107
+ .header-sticky {
108
+ position: -webkit-sticky;
109
+ position: sticky;
110
+ top: 0;
111
+ z-index: 1000;
112
+ background-color: transparent;
113
+ }
114
+
115
+ .text-accent {
116
+ color: var(--text-accent);
117
+ fill: var(--text-accent);
118
+ }
119
+
120
+ .text-color {
121
+ color: var(--text);
122
+ fill: var(--text);
123
+ }
124
+
125
+
126
+ /* Layout utilities */
127
+ .container {
128
+ max-width: var(--container-width);
129
+ }
130
+
131
+ .col-1 {
132
+ width: calc((1 / 12 * 100%));
133
+ }
134
+
135
+ .col-2 {
136
+ width: calc((2 / 12 * 100%));
137
+ }
138
+
139
+ .col-3 {
140
+ width: calc((3 / 12 * 100%));
141
+ }
142
+
143
+ .col-4 {
144
+ width: calc((4 / 12 * 100%));
145
+ }
146
+
147
+ .col-5 {
148
+ width: calc((5 / 12 * 100%));
149
+ }
150
+
151
+ .col-6 {
152
+ width: calc((6 / 12 * 100%));
153
+ }
154
+
155
+ .col-7 {
156
+ width: calc((7 / 12 * 100%));
157
+ }
158
+
159
+ .col-8 {
160
+ width: calc((8 / 12 * 100%));
161
+ }
162
+
163
+ .col-9 {
164
+ width: calc((9 / 12 * 100%));
165
+ }
166
+
167
+ .col-10 {
168
+ width: calc((10 / 12 * 100%));
169
+ }
170
+
171
+ .col-11 {
172
+ width: calc((11 / 12 * 100%));
173
+ }
174
+
175
+ .col-12 {
176
+ width: 100%;
177
+ }
178
+
179
+ @media (max-width: #{$breakpoint-sm}) {
180
+ .sm-width-full {
181
+ width: 100% !important;
182
+ }
183
+ }
184
+
185
+ .block {
186
+ display: block !important;
187
+ }
188
+
189
+ .inline-block {
190
+ display: inline-block !important;
191
+ }
192
+
193
+ .flex {
194
+ display: flex !important;
195
+ }
196
+
197
+ .navigation {
198
+ display: flex;
199
+ justify-content: space-between;
200
+ align-items: center;
201
+ }
202
+
203
+ .items-center {
204
+ align-items: center !important;
205
+ }
206
+
207
+ .table {
208
+ display: table !important;
209
+ }
210
+
211
+ .left {
212
+ float: left;
213
+ }
214
+
215
+ .right {
216
+ float: right;
217
+ }
218
+
219
+ .clearfix:before,
220
+ .clearfix:after {
221
+ content: " ";
222
+ display: table;
223
+ }
224
+
225
+ .clearfix:after {
226
+ clear: both;
227
+ }
228
+
229
+ .align-middle {
230
+ vertical-align: middle;
231
+ }
232
+
233
+ .align-top {
234
+ vertical-align: top;
235
+ }
236
+
237
+ /* Padding */
238
+ .px-0 {
239
+ padding-left: 0;
240
+ padding-right: 0;
241
+ }
242
+
243
+ .py-0 {
244
+ padding-top: 0;
245
+ padding-bottom: 0;
246
+ }
247
+
248
+ .px-1 {
249
+ padding-left: var(--spacer-1);
250
+ padding-right: var(--spacer-1);
251
+ }
252
+
253
+ .py-1 {
254
+ padding-top: var(--spacer-1);
255
+ padding-bottom: var(--spacer-1);
256
+ }
257
+
258
+ .px-2 {
259
+ padding-left: var(--spacer-2);
260
+ padding-right: var(--spacer-2);
261
+ }
262
+
263
+ .py-2 {
264
+ padding-top: var(--spacer-2);
265
+ padding-bottom: var(--spacer-2);
266
+ }
267
+
268
+ .px-3 {
269
+ padding-left: var(--spacer-3);
270
+ padding-right: var(--spacer-3);
271
+ }
272
+
273
+ .py-3 {
274
+ padding-top: var(--spacer-3);
275
+ padding-bottom: var(--spacer-3);
276
+ }
277
+
278
+ .px-4 {
279
+ padding-left: var(--spacer-4);
280
+ padding-right: var(--spacer-4);
281
+ }
282
+
283
+ .py-4 {
284
+ padding-top: var(--spacer-4);
285
+ padding-bottom: var(--spacer-4);
286
+ }
287
+
288
+ /* Margin */
289
+ .mx-auto {
290
+ margin-left: auto;
291
+ margin-right: auto;
292
+ }
293
+
294
+ .mt-0 {
295
+ margin-top: 0;
296
+ }
297
+
298
+ .mr-0 {
299
+ margin-right: 0;
300
+ }
301
+
302
+ .mb-0 {
303
+ margin-bottom: 0;
304
+ }
305
+
306
+ .ml-0 {
307
+ margin-left: 0;
308
+ }
309
+
310
+ .mt-1 {
311
+ margin-top: var(--spacer-1);
312
+ }
313
+
314
+ .mr-1 {
315
+ margin-right: var(--spacer-1);
316
+ }
317
+
318
+ .mb-1 {
319
+ margin-bottom: var(--spacer-1);
320
+ }
321
+
322
+ .ml-1 {
323
+ margin-left: var(--spacer-1);
324
+ }
325
+
326
+ .mt-2 {
327
+ margin-top: var(--spacer-2);
328
+ }
329
+
330
+ .mr-2 {
331
+ margin-right: var(--spacer-2);
332
+ }
333
+
334
+ .mb-2 {
335
+ margin-bottom: var(--spacer-2);
336
+ }
337
+
338
+ .ml-2 {
339
+ margin-left: var(--spacer-2);
340
+ }
341
+
342
+ .mt-3 {
343
+ margin-top: var(--spacer-3);
344
+ }
345
+
346
+ .mr-3 {
347
+ margin-right: var(--spacer-3);
348
+ }
349
+
350
+ .mb-3 {
351
+ margin-bottom: var(--spacer-3);
352
+ }
353
+
354
+ .ml-3 {
355
+ margin-left: var(--spacer-3);
356
+ }
357
+
358
+ .mt-4 {
359
+ margin-top: var(--spacer-4);
360
+ }
361
+
362
+ .mr-4 {
363
+ margin-right: var(--spacer-4);
364
+ }
365
+
366
+ .mb-4 {
367
+ margin-bottom: var(--spacer-4);
368
+ }
369
+
370
+ .ml-4 {
371
+ margin-left: var(--spacer-4);
372
+ }
373
+
374
+ // Responsive margin
375
+ @media (min-width: 52em) {
376
+ .mx-lg-auto {
377
+ margin-left: auto;
378
+ margin-right: auto;
379
+ }
380
+
381
+ .mt-lg-0 {
382
+ margin-top: 0;
383
+ }
384
+
385
+ .mr-lg-0 {
386
+ margin-right: 0;
387
+ }
388
+
389
+ .mb-lg-0 {
390
+ margin-bottom: 0;
391
+ }
392
+
393
+ .ml-lg-0 {
394
+ margin-left: 0;
395
+ }
396
+
397
+ .mt-lg-1 {
398
+ margin-top: var(--spacer-1);
399
+ }
400
+
401
+ .mr-lg-1 {
402
+ margin-right: var(--spacer-1);
403
+ }
404
+
405
+ .mb-lg-1 {
406
+ margin-bottom: var(--spacer-1);
407
+ }
408
+
409
+ .ml-lg-1 {
410
+ margin-left: var(--spacer-1);
411
+ }
412
+
413
+ .mt-lg-2 {
414
+ margin-top: var(--spacer-2);
415
+ }
416
+
417
+ .mr-lg-2 {
418
+ margin-right: var(--spacer-2);
419
+ }
420
+
421
+ .mb-lg-2 {
422
+ margin-bottom: var(--spacer-2);
423
+ }
424
+
425
+ .ml-lg-2 {
426
+ margin-left: var(--spacer-2);
427
+ }
428
+
429
+ .mt-lg-3 {
430
+ margin-top: var(--spacer-3);
431
+ }
432
+
433
+ .mr-lg-3 {
434
+ margin-right: var(--spacer-3);
435
+ }
436
+
437
+ .mb-lg-3 {
438
+ margin-bottom: var(--spacer-3);
439
+ }
440
+
441
+ .ml-lg-3 {
442
+ margin-left: var(--spacer-3);
443
+ }
444
+
445
+ .mt-lg-4 {
446
+ margin-top: var(--spacer-4);
447
+ }
448
+
449
+ .mr-lg-4 {
450
+ margin-right: var(--spacer-4);
451
+ }
452
+
453
+ .mb-lg-4 {
454
+ margin-bottom: var(--spacer-4);
455
+ }
456
+
457
+ .ml-lg-4 {
458
+ margin-left: var(--spacer-4);
459
+ }
460
+ }
461
+
462
+ .about {
463
+ @media (min-width: #{$breakpoint-md}) {
464
+ display: flex;
465
+
466
+ .graphs {
467
+ margin-left: 2rem;
468
+ }
469
+ }
470
+ }
471
+
472
+ // Link styles for social icons
473
+ .link-social {
474
+ text-decoration: none;
475
+ font-weight: bold;
476
+ line-height: 1;
477
+
478
+ &:hover {
479
+ text-decoration: none !important;
480
+ }
481
+ }
482
+
483
+ // Link styles for navigation
484
+ .link-primary {
485
+ font-weight: bold;
486
+ text-decoration: none !important;
487
+ &:not(.text-accent) {
488
+ color: var(--text);
489
+ }
490
+ &:hover {
491
+ color: var(--link-hover);
492
+ text-decoration: none !important;
493
+ }
494
+ }
495
+
496
+ .bluesky {
497
+ font-size: 11px;
498
+ font-weight: bold;
499
+ font-family:
500
+ -apple-system,
501
+ BlinkMacSystemFont,
502
+ Segoe UI,
503
+ Helvetica,
504
+ Arial,
505
+ sans-serif;
506
+ line-height: inherit;
507
+ border: 0px solid black;
508
+ color: white;
509
+ box-sizing: border-box;
510
+ display: flex;
511
+ flex-basis: auto;
512
+ flex-shrink: 0;
513
+ list-style: none;
514
+ margin: 0px;
515
+ min-height: 0px;
516
+ min-width: 0px;
517
+ position: relative;
518
+ text-decoration: none;
519
+ z-index: 0;
520
+ cursor: pointer;
521
+ touch-action: manipulation;
522
+ flex-direction: row;
523
+ align-items: center;
524
+ justify-content: center;
525
+ background-color: rgb(32, 139, 254);
526
+ padding: 8px 10px;
527
+ border-radius: 999px;
528
+ gap: 6px;
529
+ height: 22px;
530
+ text-decoration: none;
531
+
532
+ &:hover {
533
+ text-decoration: none;
534
+ }
535
+ }
536
+
537
+ #github > span {
538
+ display: flex !important;
539
+ }
540
+
541
+ .site-wrapper {
542
+ min-height: 100vh;
543
+ display: flex;
544
+ flex-direction: column;
545
+ justify-content: space-between;
546
+ }
547
+
548
+ footer {
549
+ flex-shrink: 0;
550
+ background-color: var(--background);
551
+ color: var(--foreground);
552
+ .language-menu {
553
+ margin-bottom: 2px;
554
+ }
555
+
556
+ a {
557
+ &:not(.bluesky):not(.no-underline) {
558
+ color: inherit;
559
+ text-decoration: none !important;
560
+ position: relative;
561
+
562
+ &::before {
563
+ content: "";
564
+ position: absolute;
565
+ left: 0;
566
+ bottom: 0;
567
+ width: 100%;
568
+ height: 2px;
569
+ background-color: var(--text);
570
+ }
571
+
572
+ &::after {
573
+ content: "";
574
+ position: absolute;
575
+ left: 0;
576
+ bottom: 0;
577
+ width: 0;
578
+ height: 2px;
579
+ background-color: var(--text-accent);
580
+ transition: width 400ms;
581
+ }
582
+
583
+ &:hover::after {
584
+ width: 100%;
585
+ }
586
+ }
587
+
588
+ &:is(.language-menu a) {
589
+ &::before {
590
+ background-color: var(--background) !important;
591
+ }
592
+
593
+ &:is(.selected) {
594
+ font-weight: bold;
595
+
596
+ &::after {
597
+ width: 100%;
598
+ }
599
+ }
600
+ }
601
+ }
602
+ }
603
+
604
+ .fa-solid, .print-only {
605
+ display: none;
606
+ }
607
+
608
+ .print-button {
609
+ margin-bottom: .5rem;
610
+ }
611
+
612
+ .theme-toggle, .print-button {
613
+ cursor: pointer;
614
+ user-select: none;
615
+ border: none;
616
+ background-color: transparent;
617
+ padding: 0;
618
+ height: 24px;
619
+ }
620
+
621
+ .theme-toggle {
622
+ > svg {
623
+ inline-size: 100%;
624
+ block-size: 100%;
625
+ stroke-linecap: round;
626
+ }
627
+ > .sun-and-moon > :is(.moon, .sun, .sun-beams) {
628
+ transform-origin: center;
629
+ fill: var(--text);
630
+ }
631
+ &:is(:hover, :focus-visible) {
632
+ > .sun-and-moon > :is(.moon, .sun, .sun-beams) {
633
+ fill: var(--link-hover);
634
+ }
635
+ .sun-and-moon > .sun-beams {
636
+ stroke: var(--link-hover);
637
+ stroke-width: 2px;
638
+ }
639
+ }
640
+ &:is(.header-link) {
641
+ > .sun-and-moon > :is(.moon, .sun, .sun-beams) {
642
+ transform-origin: center;
643
+ fill: var(--header-icon);
644
+ }
645
+ &:is(:hover, :focus-visible) {
646
+ > .sun-and-moon > :is(.moon, .sun) {
647
+ fill: var(--header-icon-hover);
648
+ }
649
+ .sun-and-moon > .sun-beams {
650
+ stroke: var(--header-icon-hover);
651
+ stroke-width: 2px;
652
+ }
653
+ }
654
+ }
655
+ }
656
+
657
+
658
+ [data-theme="dark"] .sun-and-moon > .sun {
659
+ transform: scale(1.75);
660
+ }
661
+
662
+ [data-theme="dark"] .sun-and-moon > .sun-beams {
663
+ opacity: 0;
664
+ }
665
+
666
+ [data-theme="dark"] .sun-and-moon > .moon > circle {
667
+ transform: translateX(-7px);
668
+ }
669
+
670
+ @media (prefers-reduced-motion: no-preference) {
671
+ .sun-and-moon > .sun {
672
+ transition: transform 0.5s var(--ease-elastic-3);
673
+ }
674
+
675
+ .sun-and-moon > .sun-beams {
676
+ transition:
677
+ transform 0.5s var(--ease-elastic-4),
678
+ opacity 0.5s var(--ease-3);
679
+ }
680
+
681
+ .sun-and-moon .moon > circle {
682
+ transition: transform 0.25s var(--ease-out-5);
683
+ }
684
+
685
+ [data-theme="dark"] .sun-and-moon > .sun {
686
+ transition-timing-function: var(--ease-3);
687
+ transition-duration: 0.25s;
688
+ transform: scale(1.75);
689
+ }
690
+
691
+ [data-theme="dark"] .sun-and-moon > .sun-beams {
692
+ transition-duration: 0.15s;
693
+ transform: rotateZ(-25deg);
694
+ }
695
+
696
+ [data-theme="dark"] .sun-and-moon > .moon > circle {
697
+ transition-duration: 0.5s;
698
+ transition-delay: 0.25s;
699
+ }
700
+ }
@@ -0,0 +1,43 @@
1
+ $breakpoint-lg: 1440px;
2
+ $breakpoint-md: 1280px;
3
+ $breakpoint-sm: 768px;
4
+ $breakpoint-xs: 480px;
5
+
6
+ :root {
7
+ // Font family
8
+ --body-font-family: "Helvetica Neue", Arial, sans-serif;
9
+ --body-font-size: 16px;
10
+ --prose-font-size: 20px;
11
+
12
+ // Type scale
13
+ --h0-mobile: 64px;
14
+ --h0-desktop: 128px;
15
+
16
+ --h1-size: 40px;
17
+ --h2-size: 32px;
18
+ --h3-size: 24px;
19
+ --h4-size: 20px;
20
+ --h5-size: 16px;
21
+ --h6-size: 12px;
22
+
23
+ // Default border color
24
+ --color-border: #ddd;
25
+
26
+ // Container width
27
+ --container-width: 64em;
28
+
29
+ // Breakpoints
30
+ --breakpoint-lg: #{$breakpoint-lg};
31
+ --breakpoint-md: #{$breakpoint-md};
32
+ --breakpoint-sm: #{$breakpoint-sm};
33
+ --breakpoint-xs: #{$breakpoint-xs};
34
+
35
+ // Spacing unit
36
+ --spacer: 8px;
37
+
38
+ // Spacing scale
39
+ --spacer-1: var(--spacer); // 8px
40
+ --spacer-2: calc(var(--spacer) * 2); // 16px
41
+ --spacer-3: calc(var(--spacer) * 4); // 32px
42
+ --spacer-4: calc(var(--spacer) * 8); // 64px
43
+ }