spoko-design-system 0.2.87 → 0.2.89

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 (171) hide show
  1. package/.astro/content.d.ts +167 -0
  2. package/.astro/settings.json +4 -4
  3. package/.github/dependabot.yml +11 -11
  4. package/.github/todo.yml +3 -3
  5. package/.github/workflows/deploy.yml +39 -39
  6. package/.stackblitzrc +5 -5
  7. package/.vscode/extensions.json +5 -5
  8. package/.vscode/launch.json +11 -11
  9. package/.vscode/settings.json +5 -5
  10. package/LICENSE +21 -21
  11. package/README.md +114 -113
  12. package/astro-i18next.config.mjs +17 -17
  13. package/astro-i18next.config.ts +10 -10
  14. package/astro.config.mjs +83 -83
  15. package/dev-dist/sw.js +91 -91
  16. package/dev-dist/workbox-c676b6d3.js +3391 -3391
  17. package/icon.config.ts +224 -224
  18. package/index.ts +62 -62
  19. package/package.json +3 -3
  20. package/public/fonts/lg.svg +53 -53
  21. package/public/fonts/vwhead-bold-demo.html +549 -549
  22. package/public/fonts/vwhead-regular-demo.html +549 -549
  23. package/public/fonts/vwtext-bold-demo.html +549 -549
  24. package/public/fonts/vwtext-regular-demo.html +549 -549
  25. package/public/github.svg +3 -3
  26. package/public/grid_dot.svg +4 -4
  27. package/public/linkedin.svg +44 -44
  28. package/public/locales/en/translation.json +8 -8
  29. package/public/locales/pl/translation.json +8 -8
  30. package/public/make-scrollable-code-focusable.js +3 -3
  31. package/public/pagefind.yml +3 -3
  32. package/public/polo.blue.svg +29 -29
  33. package/public/spoko.space.svg +71 -71
  34. package/public/twitter.svg +46 -46
  35. package/renovate.json +6 -6
  36. package/sandbox.config.json +11 -11
  37. package/src/MyComponent.astro +8 -8
  38. package/src/components/Badge.vue +19 -19
  39. package/src/components/Badges.vue +21 -21
  40. package/src/components/Breadcrumbs.vue +107 -107
  41. package/src/components/Button.vue +63 -63
  42. package/src/components/ButtonCopy.vue +36 -36
  43. package/src/components/Card.astro +27 -27
  44. package/src/components/Carousel.astro +26 -26
  45. package/src/components/Category/CategoriesCarousel.astro +101 -101
  46. package/src/components/Category/CategoryDetails.astro +135 -137
  47. package/src/components/Category/CategoryLink.vue +23 -23
  48. package/src/components/Category/CategorySidebarToggler.vue +9 -9
  49. package/src/components/Category/CategoryTile.astro +49 -49
  50. package/src/components/Category/CategoryViewToggler.astro +107 -107
  51. package/src/components/Category/SubCategoryLink.vue +29 -29
  52. package/src/components/CategoryLink.astro +18 -18
  53. package/src/components/Copyright.astro +12 -12
  54. package/src/components/Date.astro +7 -7
  55. package/src/components/Faq.astro +33 -33
  56. package/src/components/FaqItem.astro +96 -96
  57. package/src/components/FeaturesList.vue +41 -41
  58. package/src/components/FuckRussia.vue +62 -62
  59. package/src/components/HandDrive.astro +29 -29
  60. package/src/components/Header/Header.astro +210 -210
  61. package/src/components/Header/SkipToContent.astro +1 -1
  62. package/src/components/Headline.vue +48 -48
  63. package/src/components/Image.astro +30 -30
  64. package/src/components/Jumbatron.vue +40 -40
  65. package/src/components/LeftSidebar.astro +53 -53
  66. package/src/components/MainColors.vue +23 -23
  67. package/src/components/MainInput.vue +15 -15
  68. package/src/components/Modal.astro +27 -27
  69. package/src/components/PageContent.astro +5 -5
  70. package/src/components/PartNumber.vue +27 -27
  71. package/src/components/PostHeader.astro +103 -103
  72. package/src/components/PrCode.vue +141 -141
  73. package/src/components/Product/ProductButton.vue +18 -18
  74. package/src/components/Product/ProductCarousel.astro +35 -35
  75. package/src/components/Product/ProductCodes.vue +174 -174
  76. package/src/components/Product/ProductEngineType.vue +42 -42
  77. package/src/components/Product/ProductImage.astro +40 -40
  78. package/src/components/Product/ProductLink.astro +101 -101
  79. package/src/components/Product/ProductLink.vue +59 -59
  80. package/src/components/Product/ProductLinkInfo.astro +37 -37
  81. package/src/components/Product/ProductNumber.astro +61 -61
  82. package/src/components/ProductCarousel.astro +38 -38
  83. package/src/components/ProductCodes.vue +39 -39
  84. package/src/components/ProductDetailName.vue +52 -52
  85. package/src/components/ProductDetailsList.vue +65 -65
  86. package/src/components/ProductTile.astro +48 -48
  87. package/src/components/Quote.vue +23 -23
  88. package/src/components/ReloadPrompt.astro +50 -50
  89. package/src/components/SlimBanner.vue +72 -72
  90. package/src/components/Table.vue +32 -32
  91. package/src/components/TableOfContents.astro +15 -15
  92. package/src/components/Translations.vue +23 -23
  93. package/src/components/flags/FlagPL.vue +3 -3
  94. package/src/components/flags/FlagUA.vue +2 -2
  95. package/src/components/layout/Container.astro +7 -7
  96. package/src/components/layout/Header.astro +80 -80
  97. package/src/config.ts +56 -56
  98. package/src/design.config.ts +98 -98
  99. package/src/env.d.ts +6 -6
  100. package/src/layouts/Layout.astro +60 -60
  101. package/src/layouts/MainLayout.astro +81 -81
  102. package/src/layouts/partials/FooterCommon.astro +4 -4
  103. package/src/layouts/partials/HeadCommon.astro +44 -44
  104. package/src/layouts/partials/HeadSEO.astro +41 -41
  105. package/src/pages/components/badges.mdx +57 -57
  106. package/src/pages/components/breadcrumbs.mdx +139 -139
  107. package/src/pages/components/buttons.mdx +253 -253
  108. package/src/pages/components/card.mdx +294 -294
  109. package/src/pages/components/carousel.mdx +62 -62
  110. package/src/pages/components/copyright.mdx +42 -42
  111. package/src/pages/components/details-list.mdx +115 -115
  112. package/src/pages/components/features-list.mdx +37 -37
  113. package/src/pages/components/flags.mdx +49 -49
  114. package/src/pages/components/fuck-russia.mdx +39 -39
  115. package/src/pages/components/hand-drive.mdx +38 -38
  116. package/src/pages/components/headline.mdx +152 -152
  117. package/src/pages/components/icons.astro +135 -135
  118. package/src/pages/components/image.mdx +513 -513
  119. package/src/pages/components/input.mdx +45 -45
  120. package/src/pages/components/jumbatron.mdx +95 -95
  121. package/src/pages/components/modal.mdx +64 -64
  122. package/src/pages/components/post-header.mdx +60 -60
  123. package/src/pages/components/pr-code.mdx +65 -65
  124. package/src/pages/components/product-number.mdx +58 -58
  125. package/src/pages/components/product-tile.mdx +51 -51
  126. package/src/pages/components/quote.mdx +33 -33
  127. package/src/pages/components/slimbanner.mdx +35 -35
  128. package/src/pages/components/table.mdx +108 -108
  129. package/src/pages/core/colors.mdx +10 -10
  130. package/src/pages/core/grid.mdx +89 -89
  131. package/src/pages/core/introduction.mdx +77 -77
  132. package/src/pages/core/shadows.astro +20 -20
  133. package/src/pages/core/typography.astro +47 -47
  134. package/src/pages/index.astro +126 -126
  135. package/src/pages/patterns/introduction.mdx +60 -60
  136. package/src/pwa.ts +12 -12
  137. package/src/styles/_variables.scss +70 -70
  138. package/src/styles/base/base.css +184 -184
  139. package/src/styles/base/grid.css +92 -92
  140. package/src/styles/base/typography.css +70 -70
  141. package/src/styles/content.css +73 -73
  142. package/src/styles/main.css +7 -7
  143. package/src/types/Product.ts +31 -31
  144. package/src/types/astro.d.ts +3 -3
  145. package/src/utils/product/getPriceFormatted.ts +15 -15
  146. package/src/utils/product/getProductChecklist.ts +17 -17
  147. package/src/utils/product/useFormatProductNumber.ts +41 -41
  148. package/src/utils/seo/getShorterDescription.ts +14 -14
  149. package/src/utils/text/formatDate.ts +5 -5
  150. package/src/utils/text/formatLocaleNumber.ts +6 -6
  151. package/src/utils/text/formatPad.ts +12 -12
  152. package/src/utils/text/getNumberFormatted.ts +33 -33
  153. package/src/utils/text/getTranslatedLink.ts +5 -5
  154. package/src/utils/text.ts +19 -19
  155. package/tailwind.config.cjs +8 -8
  156. package/tsconfig.json +28 -28
  157. package/{src/uno-config → uno-config}/index.ts +58 -58
  158. package/{src/uno-config → uno-config}/theme/breakpoints.ts +9 -9
  159. package/{src/uno-config → uno-config}/theme/colors.ts +66 -66
  160. package/{src/uno-config → uno-config}/theme/dimensions.ts +17 -17
  161. package/{src/uno-config → uno-config}/theme/effects.ts +14 -14
  162. package/{src/uno-config → uno-config}/theme/grid.ts +10 -10
  163. package/{src/uno-config → uno-config}/theme/index.ts +25 -25
  164. package/{src/uno-config → uno-config}/theme/shortcuts/buttons.ts +38 -35
  165. package/{src/uno-config → uno-config}/theme/shortcuts/components.ts +80 -61
  166. package/uno-config/theme/shortcuts/constants.ts +3 -0
  167. package/{src/uno-config → uno-config}/theme/shortcuts/index.ts +16 -14
  168. package/{src/uno-config → uno-config}/theme/shortcuts/layout.ts +58 -54
  169. package/uno-config/theme/shortcuts/product.ts +6 -0
  170. package/{src/uno-config → uno-config}/theme/typography.ts +29 -29
  171. package/uno.config.ts +2 -3
@@ -1,185 +1,185 @@
1
- :root {
2
- --color-scheme: light;
3
-
4
- --clr-primary-400: hsl(198, 100%, 43%); /* {$blue}; */
5
- --secondary: #64748B;
6
- --tertiary: #001E50;
7
-
8
- --font-family: 'vw_textregular', 'system-ui', 'ui-sans-serif', sans-serif;;
9
-
10
- /* variables for future changes: */
11
-
12
- /* font sies */
13
- --fs-300: clamp(0.94rem, calc(0.92rem + 0.08vw), 0.98rem);
14
- --fs-400: clamp(1.13rem, calc(1.06rem + 0.33vw), 1.31rem);
15
- --fs-500: clamp(1.35rem, calc(1.21rem + 0.69vw), 1.75rem);
16
- --fs-600: clamp(1.62rem, calc(1.37rem + 1.24vw), 2.33rem);
17
- --fs-700: clamp(1.94rem, calc(1.54rem + 2.03vw), 3.11rem);
18
- --fs-800: clamp(2.33rem, calc(1.7rem + 3.15vw), 4.14rem);
19
- --fs-900: clamp(2.8rem, calc(1.85rem + 4.74vw), 5.52rem);
20
-
21
- /* colors */
22
- --clr-primary-300: rgb(53, 114, 227);
23
- --clr-primary-400: hsl(198, 100%, 43%);
24
- --clr-primary-500: hsl(219, 76%, 25%);
25
- --clr-secondary-300: hsl(269, 75%, 55%);
26
- --clr-secondary-400: hsl(269, 75%, 40%);
27
- --clr-secondary-500: hsl(269, 75%, 25%);
28
- --clr-accent-200: hsl(358, 85%, 80%);
29
- --clr-accent-300: hsl(358, 72%, 65%);
30
- --clr-accent-400: hsl(358, 72%, 50%);
31
- --clr-accent-500: hsl(358, 72%, 35%);
32
-
33
- }
34
-
35
- * {
36
- -webkit-font-smoothing: antialiased;
37
- -moz-osx-font-smoothing: grayscale;
38
- }
39
-
40
- body {
41
- font-family: var(--font-family);
42
- overflow-y: scroll;
43
- overflow-x: hidden;
44
- }
45
-
46
- /*
47
- Chrome 121 added support for scrollbar-width and scrollbar-color.
48
- If you have scrollbar-width it will disable the --webkit-scrollbar pseudo elements.
49
- https://developer.chrome.com/blog/new-in-chrome-121
50
- https://developer.chrome.com/docs/css-ui/scrollbar-styling
51
- https://developer.mozilla.org/en-US/docs/Web/CSS/::-webkit-scrollbar
52
- */
53
- ::-webkit-scrollbar {
54
- width: 5px;
55
- height: 3px;
56
- }
57
-
58
- ::-webkit-scrollbar-track {
59
- background: rgba(0, 0, 0, 0.1);
60
- border-radius: 0;
61
- }
62
-
63
- ::-webkit-scrollbar-thumb {
64
- border-radius: 0;
65
- background-color: var(--clr-primary-400);
66
- }
67
-
68
- /* Fallback to browsers without webkit-scrollbar support */
69
- @supports not selector(::-webkit-scrollbar) {
70
- * {
71
- scrollbar-width: thin;
72
- scrollbar-color: var(--clr-primary-400) rgba(0, 0, 0, 0.1)
73
- }
74
- }
75
-
76
- *:focus {
77
- outline: none !important;
78
- }
79
-
80
- .bg-spoko {
81
- background: radial-gradient(circle at 50% 85%, #00437A 0%, #001E50 100%);
82
- color: #fff;
83
- width: 100%;
84
- }
85
-
86
- .bg-vw {
87
- background: radial-gradient(circle at 50% 85%,
88
- #00437A 0%,
89
- #001E50 100%);
90
- color: #fff;
91
- }
92
-
93
- .bg-primary {
94
- background: var(--clr-primary-500);
95
- }
96
-
97
- .display-3 {
98
- letter-spacing: -0.96px;
99
- }
100
-
101
- code {
102
- @apply font-novamono;
103
- }
104
-
105
-
106
- html {
107
- scroll-behavior: smooth;
108
- }
109
-
110
-
111
- /* Swiper styles */
112
- :root {
113
- /* // --swiper-navigation-color: #0099da; */
114
- --swiper-navigation-size: 22px;
115
- --swiper-scrollbar-drag-bg-color: var(--clr-primary-400);
116
- --swiper-scrollbar-size: 1px;
117
- --swiper-scrollbar-bottom: 0px;
118
- }
119
-
120
- .swiper-horizontal {
121
- &>.swiper-scrollbar {
122
- height: 1px;
123
- }
124
- }
125
-
126
- .fade-enter-active,
127
- .fade-leave-active {
128
- transition: opacity 0.5s ease;
129
- }
130
-
131
- .fade-enter-from,
132
- .fade-leave-to {
133
- opacity: 0;
134
- }
135
-
136
- .items {
137
- &>.item {
138
- &:not(:last-child) {
139
- &:after {
140
- content: ', '
141
- }
142
- }
143
- }
144
- }
145
-
146
- /* override styles when printing */
147
- @media print {
148
- @page :footer {
149
- display: none;
150
- margin-top: 0;
151
- margin-bottom: 0;
152
- }
153
-
154
- @page :header {
155
- display: none;
156
- margin-top: 0;
157
- margin-bottom: 0;
158
- }
159
- }
160
-
161
- .comma:not(:last-child) {
162
- @apply mr-1;
163
-
164
- &:after {
165
- content: ','
166
- }
167
- }
168
-
169
- #l-page {
170
- table {
171
- border-collapse: collapse;
172
- border-color: inherit;
173
- color: #212529;
174
- margin-bottom: .875rem;
175
- table-layout: fixed;
176
- text-indent: 0;
177
- width: 100%;
178
-
179
- td,
180
- th {
181
- border: 1px solid;
182
- padding: 0.5em;
183
- }
184
- }
1
+ :root {
2
+ --color-scheme: light;
3
+
4
+ --clr-primary-400: hsl(198, 100%, 43%); /* {$blue}; */
5
+ --secondary: #64748B;
6
+ --tertiary: #001E50;
7
+
8
+ --font-family: 'vw_textregular', 'system-ui', 'ui-sans-serif', sans-serif;;
9
+
10
+ /* variables for future changes: */
11
+
12
+ /* font sies */
13
+ --fs-300: clamp(0.94rem, calc(0.92rem + 0.08vw), 0.98rem);
14
+ --fs-400: clamp(1.13rem, calc(1.06rem + 0.33vw), 1.31rem);
15
+ --fs-500: clamp(1.35rem, calc(1.21rem + 0.69vw), 1.75rem);
16
+ --fs-600: clamp(1.62rem, calc(1.37rem + 1.24vw), 2.33rem);
17
+ --fs-700: clamp(1.94rem, calc(1.54rem + 2.03vw), 3.11rem);
18
+ --fs-800: clamp(2.33rem, calc(1.7rem + 3.15vw), 4.14rem);
19
+ --fs-900: clamp(2.8rem, calc(1.85rem + 4.74vw), 5.52rem);
20
+
21
+ /* colors */
22
+ --clr-primary-300: rgb(53, 114, 227);
23
+ --clr-primary-400: hsl(198, 100%, 43%);
24
+ --clr-primary-500: hsl(219, 76%, 25%);
25
+ --clr-secondary-300: hsl(269, 75%, 55%);
26
+ --clr-secondary-400: hsl(269, 75%, 40%);
27
+ --clr-secondary-500: hsl(269, 75%, 25%);
28
+ --clr-accent-200: hsl(358, 85%, 80%);
29
+ --clr-accent-300: hsl(358, 72%, 65%);
30
+ --clr-accent-400: hsl(358, 72%, 50%);
31
+ --clr-accent-500: hsl(358, 72%, 35%);
32
+
33
+ }
34
+
35
+ * {
36
+ -webkit-font-smoothing: antialiased;
37
+ -moz-osx-font-smoothing: grayscale;
38
+ }
39
+
40
+ body {
41
+ font-family: var(--font-family);
42
+ overflow-y: scroll;
43
+ overflow-x: hidden;
44
+ }
45
+
46
+ /*
47
+ Chrome 121 added support for scrollbar-width and scrollbar-color.
48
+ If you have scrollbar-width it will disable the --webkit-scrollbar pseudo elements.
49
+ https://developer.chrome.com/blog/new-in-chrome-121
50
+ https://developer.chrome.com/docs/css-ui/scrollbar-styling
51
+ https://developer.mozilla.org/en-US/docs/Web/CSS/::-webkit-scrollbar
52
+ */
53
+ ::-webkit-scrollbar {
54
+ width: 5px;
55
+ height: 3px;
56
+ }
57
+
58
+ ::-webkit-scrollbar-track {
59
+ background: rgba(0, 0, 0, 0.1);
60
+ border-radius: 0;
61
+ }
62
+
63
+ ::-webkit-scrollbar-thumb {
64
+ border-radius: 0;
65
+ background-color: var(--clr-primary-400);
66
+ }
67
+
68
+ /* Fallback to browsers without webkit-scrollbar support */
69
+ @supports not selector(::-webkit-scrollbar) {
70
+ * {
71
+ scrollbar-width: thin;
72
+ scrollbar-color: var(--clr-primary-400) rgba(0, 0, 0, 0.1)
73
+ }
74
+ }
75
+
76
+ *:focus {
77
+ outline: none !important;
78
+ }
79
+
80
+ .bg-spoko {
81
+ background: radial-gradient(circle at 50% 85%, #00437A 0%, #001E50 100%);
82
+ color: #fff;
83
+ width: 100%;
84
+ }
85
+
86
+ .bg-vw {
87
+ background: radial-gradient(circle at 50% 85%,
88
+ #00437A 0%,
89
+ #001E50 100%);
90
+ color: #fff;
91
+ }
92
+
93
+ .bg-primary {
94
+ background: var(--clr-primary-500);
95
+ }
96
+
97
+ .display-3 {
98
+ letter-spacing: -0.96px;
99
+ }
100
+
101
+ code {
102
+ @apply font-novamono;
103
+ }
104
+
105
+
106
+ html {
107
+ scroll-behavior: smooth;
108
+ }
109
+
110
+
111
+ /* Swiper styles */
112
+ :root {
113
+ /* // --swiper-navigation-color: #0099da; */
114
+ --swiper-navigation-size: 22px;
115
+ --swiper-scrollbar-drag-bg-color: var(--clr-primary-400);
116
+ --swiper-scrollbar-size: 1px;
117
+ --swiper-scrollbar-bottom: 0px;
118
+ }
119
+
120
+ .swiper-horizontal {
121
+ &>.swiper-scrollbar {
122
+ height: 1px;
123
+ }
124
+ }
125
+
126
+ .fade-enter-active,
127
+ .fade-leave-active {
128
+ transition: opacity 0.5s ease;
129
+ }
130
+
131
+ .fade-enter-from,
132
+ .fade-leave-to {
133
+ opacity: 0;
134
+ }
135
+
136
+ .items {
137
+ &>.item {
138
+ &:not(:last-child) {
139
+ &:after {
140
+ content: ', '
141
+ }
142
+ }
143
+ }
144
+ }
145
+
146
+ /* override styles when printing */
147
+ @media print {
148
+ @page :footer {
149
+ display: none;
150
+ margin-top: 0;
151
+ margin-bottom: 0;
152
+ }
153
+
154
+ @page :header {
155
+ display: none;
156
+ margin-top: 0;
157
+ margin-bottom: 0;
158
+ }
159
+ }
160
+
161
+ .comma:not(:last-child) {
162
+ @apply mr-1;
163
+
164
+ &:after {
165
+ content: ','
166
+ }
167
+ }
168
+
169
+ #l-page {
170
+ table {
171
+ border-collapse: collapse;
172
+ border-color: inherit;
173
+ color: #212529;
174
+ margin-bottom: .875rem;
175
+ table-layout: fixed;
176
+ text-indent: 0;
177
+ width: 100%;
178
+
179
+ td,
180
+ th {
181
+ border: 1px solid;
182
+ padding: 0.5em;
183
+ }
184
+ }
185
185
  }
@@ -1,93 +1,93 @@
1
- .content-grid {
2
- --padding-inline: 1rem;
3
- --content-max-width: 900px;
4
- --breakout-max-width: 1200px;
5
-
6
- --breakout-size: calc((var(--breakout-max-width) - var(--content-max-width)) / 2);
7
-
8
- display: grid;
9
- grid-template-columns:
10
- [full-width-start] minmax(var(--padding-inline), 1fr)
11
- [breakout-start] minmax(0, var(--breakout-size))
12
- [content-start] min(
13
- 100% - (var(--padding-inline) * 2),
14
- var(--content-max-width)
15
- )
16
- [content-end]
17
- minmax(0, var(--breakout-size)) [breakout-end]
18
- minmax(var(--padding-inline), 1fr) [full-width-end];
19
-
20
- > :not(.breakout, .full-width),
21
- .full-width> :not(.breakout, .full-width) {
22
- grid-column: content;
23
- }
24
-
25
- &.breakout {
26
- grid-column: breakout;
27
- }
28
-
29
- >.full-width {
30
- grid-column: full-width;
31
-
32
- display: grid;
33
- grid-template-columns: inherit;
34
- }
35
-
36
- }
37
-
38
- img.full-width {
39
- width: 100%;
40
- max-height: 45vh;
41
- object-fit: cover;
42
- }
43
-
44
- *,
45
- *::before,
46
- *::after {
47
- box-sizing: border-box;
48
- }
49
-
50
- .article-title {
51
- @apply font-textbold;
52
- font-size: var(--fs-800);
53
- line-height: 1.05;
54
- text-transform: uppercase;
55
- }
56
-
57
- .section-title {
58
- font-size: var(--fs-800);
59
- line-height: 1.1;
60
- }
61
-
62
- .visually-hidden {
63
- clip: rect(0 0 0 0);
64
- clip-path: inset(50%);
65
- height: 1px;
66
- overflow: hidden;
67
- position: absolute;
68
- white-space: nowrap;
69
- width: 1px;
70
- }
71
-
72
- .call-to-action {
73
- @apply px-8 py-6;
74
- }
75
-
76
- .wrapper {
77
- width: calc(100% - 3rem);
78
- max-width: var(--content-max-width);
79
- margin-inline: auto;
80
- }
81
-
82
- .flow>*+* {
83
- margin-top: var(--flow-spacing, 1em);
84
- }
85
-
86
- .section-padding {
87
- padding-block: 2.5rem;
88
- }
89
-
90
- .even-columns {
91
- display: flex;
92
- gap: 1rem;
1
+ .content-grid {
2
+ --padding-inline: 1rem;
3
+ --content-max-width: 900px;
4
+ --breakout-max-width: 1200px;
5
+
6
+ --breakout-size: calc((var(--breakout-max-width) - var(--content-max-width)) / 2);
7
+
8
+ display: grid;
9
+ grid-template-columns:
10
+ [full-width-start] minmax(var(--padding-inline), 1fr)
11
+ [breakout-start] minmax(0, var(--breakout-size))
12
+ [content-start] min(
13
+ 100% - (var(--padding-inline) * 2),
14
+ var(--content-max-width)
15
+ )
16
+ [content-end]
17
+ minmax(0, var(--breakout-size)) [breakout-end]
18
+ minmax(var(--padding-inline), 1fr) [full-width-end];
19
+
20
+ > :not(.breakout, .full-width),
21
+ .full-width> :not(.breakout, .full-width) {
22
+ grid-column: content;
23
+ }
24
+
25
+ >.breakout {
26
+ grid-column: breakout;
27
+ }
28
+
29
+ >.full-width {
30
+ grid-column: full-width;
31
+
32
+ display: grid;
33
+ grid-template-columns: inherit;
34
+ }
35
+
36
+ }
37
+
38
+ img.full-width {
39
+ width: 100%;
40
+ max-height: 45vh;
41
+ object-fit: cover;
42
+ }
43
+
44
+ *,
45
+ *::before,
46
+ *::after {
47
+ box-sizing: border-box;
48
+ }
49
+
50
+ .article-title {
51
+ @apply font-textbold;
52
+ font-size: var(--fs-800);
53
+ line-height: 1.05;
54
+ text-transform: uppercase;
55
+ }
56
+
57
+ .section-title {
58
+ font-size: var(--fs-800);
59
+ line-height: 1.1;
60
+ }
61
+
62
+ .visually-hidden {
63
+ clip: rect(0 0 0 0);
64
+ clip-path: inset(50%);
65
+ height: 1px;
66
+ overflow: hidden;
67
+ position: absolute;
68
+ white-space: nowrap;
69
+ width: 1px;
70
+ }
71
+
72
+ .call-to-action {
73
+ @apply px-8 py-6;
74
+ }
75
+
76
+ .wrapper {
77
+ width: calc(100% - 3rem);
78
+ max-width: var(--content-max-width);
79
+ margin-inline: auto;
80
+ }
81
+
82
+ .flow>*+* {
83
+ margin-top: var(--flow-spacing, 1em);
84
+ }
85
+
86
+ .section-padding {
87
+ padding-block: 2.5rem;
88
+ }
89
+
90
+ .even-columns {
91
+ display: flex;
92
+ gap: 1rem;
93
93
  }
@@ -1,70 +1,70 @@
1
- @font-face {
2
- font-family: 'vw_textregular';
3
- src: url('/fonts/vwtext-regular-webfont.woff2') format('woff2');
4
- font-weight: normal;
5
- font-style: normal;
6
- font-display: swap;
7
- }
8
-
9
- @font-face {
10
- font-family: 'vw_textbold';
11
- src: url('/fonts/vwtext-bold-webfont.woff2') format('woff2');
12
- font-weight: normal;
13
- font-style: normal;
14
- font-display: fallback;
15
- }
16
-
17
- .font-vw-textbold {
18
- font-family: 'vw_textbold';
19
- font-display: fallback;
20
- }
21
-
22
- @font-face {
23
- font-family: 'vw_headbold';
24
- src: url('/fonts/vwhead-bold-webfont.woff2') format('woff2');
25
- font-weight: normal;
26
- font-style: normal;
27
- font-display: fallback;
28
- }
29
-
30
- .font-vw-headbold {
31
- font-family: 'vw_headbold' !important;
32
- font-display: fallback;
33
- }
34
-
35
- @font-face {
36
- font-family: 'vw_headregular';
37
- src: url('/fonts/vwhead-regular-webfont.woff2') format('woff2');
38
- font-weight: normal;
39
- font-style: normal;
40
- font-display: fallback;
41
- }
42
-
43
- @font-face {
44
- font-family: 'vw_headlight';
45
- src: url('/fonts/vwhead-light-webfont.woff2') format('woff2'),;
46
- font-weight: normal;
47
- font-style: normal;
48
- font-display: swap;
49
- }
50
-
51
- @font-face {
52
- font-family: 'Nova Mono';
53
- src: url('/fonts/nova-mono-v13-latin-regular.woff2') format('woff2');
54
- font-weight: normal;
55
- font-style: normal;
56
- font-display: swap;
57
- }
58
-
59
- @font-face {
60
- font-family: 'vw_textlight';
61
- src: url('/fonts/vwtext-light-webfont.woff2') format('woff2');
62
- font-weight: normal;
63
- font-style: normal;
64
- font-display: swap;
65
- }
66
-
67
- /* for some content which don't need to index in Google */
68
- [data-text]:before {
69
- content: attr(data-text);
70
- }
1
+ @font-face {
2
+ font-family: 'vw_textregular';
3
+ src: url('/fonts/vwtext-regular-webfont.woff2') format('woff2');
4
+ font-weight: normal;
5
+ font-style: normal;
6
+ font-display: swap;
7
+ }
8
+
9
+ @font-face {
10
+ font-family: 'vw_textbold';
11
+ src: url('/fonts/vwtext-bold-webfont.woff2') format('woff2');
12
+ font-weight: normal;
13
+ font-style: normal;
14
+ font-display: fallback;
15
+ }
16
+
17
+ .font-vw-textbold {
18
+ font-family: 'vw_textbold';
19
+ font-display: fallback;
20
+ }
21
+
22
+ @font-face {
23
+ font-family: 'vw_headbold';
24
+ src: url('/fonts/vwhead-bold-webfont.woff2') format('woff2');
25
+ font-weight: normal;
26
+ font-style: normal;
27
+ font-display: fallback;
28
+ }
29
+
30
+ .font-vw-headbold {
31
+ font-family: 'vw_headbold' !important;
32
+ font-display: fallback;
33
+ }
34
+
35
+ @font-face {
36
+ font-family: 'vw_headregular';
37
+ src: url('/fonts/vwhead-regular-webfont.woff2') format('woff2');
38
+ font-weight: normal;
39
+ font-style: normal;
40
+ font-display: fallback;
41
+ }
42
+
43
+ @font-face {
44
+ font-family: 'vw_headlight';
45
+ src: url('/fonts/vwhead-light-webfont.woff2') format('woff2'),;
46
+ font-weight: normal;
47
+ font-style: normal;
48
+ font-display: swap;
49
+ }
50
+
51
+ @font-face {
52
+ font-family: 'Nova Mono';
53
+ src: url('/fonts/nova-mono-v13-latin-regular.woff2') format('woff2');
54
+ font-weight: normal;
55
+ font-style: normal;
56
+ font-display: swap;
57
+ }
58
+
59
+ @font-face {
60
+ font-family: 'vw_textlight';
61
+ src: url('/fonts/vwtext-light-webfont.woff2') format('woff2');
62
+ font-weight: normal;
63
+ font-style: normal;
64
+ font-display: swap;
65
+ }
66
+
67
+ /* for some content which don't need to index in Google */
68
+ [data-text]:before {
69
+ content: attr(data-text);
70
+ }