@total_onion/onion-library 2.0.64 → 2.0.67

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 (117) hide show
  1. package/components/block-accordion-v3/accordion-v3.twig +23 -24
  2. package/components/block-betterreviews-display-v3/betterreviews-display-v3.twig +2 -3
  3. package/components/block-block-interactions-v3/block-interactions-v3.twig +7 -9
  4. package/components/block-carousel-multi-layout-v3/carousel-multi-layout-v3.twig +5 -3
  5. package/components/block-cover-link-v3/cover-link-v3.twig +1 -1
  6. package/components/block-divider-v3/divider-v3.twig +1 -1
  7. package/components/block-featured-image-gallery-v3/featured-image-gallery-v3.twig +3 -3
  8. package/components/block-featured-image-gallery-v3/group_5f91897095b42.json +162 -7
  9. package/components/block-gradient-layer-v3/gradient-layer-v3.twig +2 -2
  10. package/components/block-group-container-v3/group-container-v3.twig +5 -4
  11. package/components/block-group-container-v3/group_6865578ada499.json +364 -38
  12. package/components/block-lottie-content-v3/lottie-content-v3.twig +5 -7
  13. package/components/block-nav-menu-container-v3/group_687e00b45e9a3.json +96 -66
  14. package/components/block-nav-menu-container-v3/nav-menu-container-v3.twig +9 -8
  15. package/components/block-post-info-v3/post-info-v3/post-buy-now.twig +5 -4
  16. package/components/block-post-type-filter-grid-v3/group_64690c62487bc.json +3674 -0
  17. package/components/block-post-type-filter-grid-v3/post-type-filter-grid-v3/better-reviews-widget.vue +15 -0
  18. package/components/block-post-type-filter-grid-v3/post-type-filter-grid-v3/buy-now-widget.vue +72 -0
  19. package/components/block-post-type-filter-grid-v3/post-type-filter-grid-v3/cocktail-category.vue +40 -0
  20. package/components/block-post-type-filter-grid-v3/post-type-filter-grid-v3/cocktail-tasting-notes.vue +15 -0
  21. package/components/block-post-type-filter-grid-v3/post-type-filter-grid-v3/divider-widget.vue +11 -0
  22. package/components/block-post-type-filter-grid-v3/post-type-filter-grid-v3/drink-tastes.vue +26 -0
  23. package/components/block-post-type-filter-grid-v3/post-type-filter-grid-v3/featured-post-component.vue +62 -0
  24. package/components/block-post-type-filter-grid-v3/post-type-filter-grid-v3/global-image-widget.vue +23 -0
  25. package/components/block-post-type-filter-grid-v3/post-type-filter-grid-v3/media-widget.vue +23 -0
  26. package/components/block-post-type-filter-grid-v3/post-type-filter-grid-v3/person-email-widget.vue +20 -0
  27. package/components/block-post-type-filter-grid-v3/post-type-filter-grid-v3/person-name-widget.vue +15 -0
  28. package/components/block-post-type-filter-grid-v3/post-type-filter-grid-v3/person-questionaire-widget.vue +17 -0
  29. package/components/block-post-type-filter-grid-v3/post-type-filter-grid-v3/person-rating-widget.vue +25 -0
  30. package/components/block-post-type-filter-grid-v3/post-type-filter-grid-v3/post-author-widget.vue +15 -0
  31. package/components/block-post-type-filter-grid-v3/post-type-filter-grid-v3/post-category-widget.vue +20 -0
  32. package/components/block-post-type-filter-grid-v3/post-type-filter-grid-v3/post-component.vue +130 -0
  33. package/components/block-post-type-filter-grid-v3/post-type-filter-grid-v3/post-headline-widget.vue +16 -0
  34. package/components/block-post-type-filter-grid-v3/post-type-filter-grid-v3/post-image-widget.vue +60 -0
  35. package/components/block-post-type-filter-grid-v3/post-type-filter-grid-v3/post-info-description.vue +14 -0
  36. package/components/block-post-type-filter-grid-v3/post-type-filter-grid-v3/post-info-subtitle.vue +14 -0
  37. package/components/block-post-type-filter-grid-v3/post-type-filter-grid-v3/post-link-widget.vue +44 -0
  38. package/components/block-post-type-filter-grid-v3/post-type-filter-grid-v3/post-publish-widget.vue +44 -0
  39. package/components/block-post-type-filter-grid-v3/post-type-filter-grid-v3/post-tags-widget.vue +19 -0
  40. package/components/block-post-type-filter-grid-v3/post-type-filter-grid-v3/post-text-alternative-style.vue +18 -0
  41. package/components/block-post-type-filter-grid-v3/post-type-filter-grid-v3/post-title-widget.vue +20 -0
  42. package/components/block-post-type-filter-grid-v3/post-type-filter-grid-v3/pre-render-posts-html.twig +17 -0
  43. package/components/block-post-type-filter-grid-v3/post-type-filter-grid-v3/product-abv.vue +18 -0
  44. package/components/block-post-type-filter-grid-v3/post-type-filter-grid-v3/product-age-statement.vue +17 -0
  45. package/components/block-post-type-filter-grid-v3/post-type-filter-grid-v3/product-bazaarvoice.vue +15 -0
  46. package/components/block-post-type-filter-grid-v3/post-type-filter-grid-v3/product-brand.vue +16 -0
  47. package/components/block-post-type-filter-grid-v3/post-type-filter-grid-v3/product-cask-type.vue +16 -0
  48. package/components/block-post-type-filter-grid-v3/post-type-filter-grid-v3/product-country.vue +14 -0
  49. package/components/block-post-type-filter-grid-v3/post-type-filter-grid-v3/product-description.vue +15 -0
  50. package/components/block-post-type-filter-grid-v3/post-type-filter-grid-v3/product-details-name.vue +18 -0
  51. package/components/block-post-type-filter-grid-v3/post-type-filter-grid-v3/product-details-price.vue +15 -0
  52. package/components/block-post-type-filter-grid-v3/post-type-filter-grid-v3/product-finish.vue +15 -0
  53. package/components/block-post-type-filter-grid-v3/post-type-filter-grid-v3/product-history.vue +16 -0
  54. package/components/block-post-type-filter-grid-v3/post-type-filter-grid-v3/product-link.vue +15 -0
  55. package/components/block-post-type-filter-grid-v3/post-type-filter-grid-v3/product-logo-widget.vue +22 -0
  56. package/components/block-post-type-filter-grid-v3/post-type-filter-grid-v3/product-name.vue +17 -0
  57. package/components/block-post-type-filter-grid-v3/post-type-filter-grid-v3/product-nose.vue +16 -0
  58. package/components/block-post-type-filter-grid-v3/post-type-filter-grid-v3/product-price.vue +15 -0
  59. package/components/block-post-type-filter-grid-v3/post-type-filter-grid-v3/product-slug.vue +14 -0
  60. package/components/block-post-type-filter-grid-v3/post-type-filter-grid-v3/product-taste.vue +16 -0
  61. package/components/block-post-type-filter-grid-v3/post-type-filter-grid-v3/product-whisky-type.vue +25 -0
  62. package/components/block-post-type-filter-grid-v3/post-type-filter-grid-v3/ptfg-posts.twig +474 -0
  63. package/components/block-post-type-filter-grid-v3/post-type-filter-grid-v3/ptfg-utils.vue +38 -0
  64. package/components/block-post-type-filter-grid-v3/post-type-filter-grid-v3/shopify-add-to-cart.vue +31 -0
  65. package/components/block-post-type-filter-grid-v3/post-type-filter-grid-v3/social-media-item.vue +58 -0
  66. package/components/block-post-type-filter-grid-v3/post-type-filter-grid-v3/spacer-widget.vue +13 -0
  67. package/components/block-post-type-filter-grid-v3/post-type-filter-grid-v3/text-search.vue +10 -0
  68. package/components/block-post-type-filter-grid-v3/post-type-filter-grid-v3.js +14 -0
  69. package/components/block-post-type-filter-grid-v3/post-type-filter-grid-v3.php +48 -0
  70. package/components/block-post-type-filter-grid-v3/post-type-filter-grid-v3.scss +1084 -0
  71. package/components/block-post-type-filter-grid-v3/post-type-filter-grid-v3.twig +157 -0
  72. package/components/block-post-type-filter-grid-v3/post-type-filter-grid-v3.vue +938 -0
  73. package/components/block-product-info-v3/group_68909995b6550.json +119 -5
  74. package/components/block-product-info-v3/product-info-v3/spacer-v3.twig +9 -0
  75. package/components/block-product-info-v3/product-info-v3.twig +2 -1
  76. package/components/block-scrolling-banner-v3/group_68e67fca1ec80.json +1 -56
  77. package/components/block-scrolling-banner-v3/scrolling-banner-v3.twig +7 -4
  78. package/components/block-section-separator-v3/section-separator-v3.twig +2 -2
  79. package/components/block-single-column-container-v3/single-column-container-v3.twig +1 -1
  80. package/components/block-single-responsive-image-v3/group_6867bcf24c2fc.json +5 -11
  81. package/components/block-single-responsive-image-v3/single-responsive-image-v3.twig +2 -2
  82. package/components/block-site-copyright-notice-v3/site-copyright-notice-v3.php +1 -1
  83. package/components/block-site-logo-container-v3/group_687e3b887b508.json +53 -5
  84. package/components/block-site-logo-container-v3/site-logo-container-v3.twig +4 -2
  85. package/components/block-site-title-and-tagline-v3/site-title-and-tagline-v3.twig +2 -2
  86. package/components/block-smash-balloon-social-media-v3/smash-balloon-social-media-v3.twig +2 -2
  87. package/components/block-standard-content-v3/standard-content-v3.twig +2 -3
  88. package/components/block-sticky-buy-cta-v3/sticky-buy-cta-v3.twig +59 -59
  89. package/components/block-sub-group-container-v3/group_686ceba7d6066.json +197 -56
  90. package/components/block-sub-group-container-v3/sub-group-container-v3.twig +3 -4
  91. package/components/block-video-content-v3/group_687190b8d26df.json +175 -167
  92. package/components/block-video-content-v3/video-content-v3.twig +1 -1
  93. package/components/component-accent-image-v3/group_686cd5547efd2.json +5 -5
  94. package/components/component-block-settings-v3/group_689f649af2ac4.json +22 -1
  95. package/components/component-child-block-video-fields/group_6852a4f384204.json +351 -349
  96. package/components/component-content-box-settings-v3/group_686e6ec702acc.json +1727 -1937
  97. package/components/component-content-box-v3/group_686b8a4f1fe5d.json +50 -1
  98. package/components/component-cta-selection-v3/cta-selection-v3.twig +1 -2
  99. package/components/component-grid-layout-container-v3/grid-layout-container-v3.twig +1 -1
  100. package/components/component-responsive-image-v3/group_6867bc53f1da8.json +4 -31
  101. package/components/component-video-component-v3/video-component-v3.twig +1 -1
  102. package/components/component-video-trigger-button-v3/video-trigger-button-v3.twig +1 -1
  103. package/components/fields-block-editor-assets-v3/block-editor-assets-v3.php +5 -7
  104. package/components/{fields-core-athena-block-render-function-v3/core-athena-block-render-function-v3.php → fields-core-block-render-function-v3/core-block-render-function-v3.php} +1 -1
  105. package/components/fields-core-generic-v3/core-generic-v3.scss +1 -0
  106. package/components/fields-drink-responsibly-notice-v3/group_68751257883ad.json +2 -1
  107. package/components/fields-dynamic-critical-css-v3/group_65abcd463e8d0.json +1 -1
  108. package/components/fields-modal-popup-content-v3/group_689876f1ee3fc.json +403 -0
  109. package/components/fields-modal-popup-content-v3/modal-popup-content-v3.twig +18 -0
  110. package/package.json +3 -2
  111. package/public/block-featured-image-gallery-v3/featured-image-gallery-v3.css +16 -12
  112. package/components/block-smash-balloon-social-media-v3/group_6890a2ab0e0a9.json +0 -143
  113. package/components/fields-buy-now-button/group_658432636bde2.json +0 -340
  114. package/components/fields-cta-icons-v3/group_677ed96c3c64f.json +0 -822
  115. package/components/fields-design-system-v3/group_6870e9e74a347.json +0 -743
  116. package/components/fields-site-logos-v3/group_6877b1697bf9f.json +0 -149
  117. package/components/fields-typography-settings-v3/group_6876149264002.json +0 -5636
@@ -0,0 +1,1084 @@
1
+ @use '../fields-core-mixins-v3/core-mixins-v3';
2
+ @use '../fields-core-functions-v3/core-functions-v3';
3
+ @use '../../breakpoints';
4
+ // @use 'Assets/scss/modules/library-modules/core-gradient-designer/core-gradient-designer';
5
+ @use '../component-grid-layout-element-v3/grid-layout-element-v3';
6
+ @use '../component-element-positioning-v3/element-positioning-v3';
7
+
8
+ .post-type-filter-grid-v3 {
9
+ z-index: 10;
10
+ position: relative;
11
+ background-color: var(--block-background-colour);
12
+ .mobile-menu-active & {
13
+ z-index: 9999;
14
+ }
15
+ &__post-cover-link {
16
+ grid-area: unset;
17
+ position: absolute;
18
+ inset: 0;
19
+ width: 100%;
20
+ height: 100%;
21
+ z-index: 99;
22
+ opacity: 0;
23
+ }
24
+
25
+ &__main-container {
26
+ display: grid;
27
+ column-gap: var(--global-inline-spacing);
28
+ grid-template:
29
+ 'filter '
30
+ 'sort'
31
+ 'markettoggle'
32
+ 'grid'
33
+ 'loadmore' / 1fr;
34
+
35
+ &--hide-filters {
36
+ grid-template:
37
+ 'markettoggle'
38
+ 'grid'
39
+ 'loadmore' / 1fr;
40
+ }
41
+
42
+ @include core-mixins-v3.device(breakpoints.$tabPortrait) {
43
+ grid-template:
44
+ 'filter markettoggle grid'
45
+ 'sort markettoggle grid'
46
+ '... loadmore' / 1fr 4fr;
47
+
48
+ &--hide-filters {
49
+ grid-template:
50
+ 'markettoggle'
51
+ 'grid'
52
+ 'loadmore' / 1fr;
53
+ }
54
+
55
+ &[data-layout='2'],
56
+ &[data-layout='5'] {
57
+ grid-template:
58
+ 'filter '
59
+ 'sort'
60
+ 'markettoggle'
61
+ 'grid'
62
+ 'loadmore' / 1fr;
63
+ }
64
+ &[data-layout='3'],
65
+ &[data-layout='4'] {
66
+ grid-template:
67
+ 'filter '
68
+ 'sort'
69
+ 'markettoggle'
70
+ 'grid'
71
+ 'loadmore' / 1fr;
72
+ }
73
+ }
74
+ }
75
+
76
+ &__filter {
77
+ position: relative;
78
+ position: sticky;
79
+ top: 10px;
80
+ z-index: 200;
81
+ display: grid;
82
+ top: core-functions-v3.fluidSize(80, 'mobile');
83
+ background-color: var(--filter-background-colour-mobile);
84
+ place-items: center;
85
+
86
+ &[data-layout='2'],
87
+ &[data-layout='5'] {
88
+ width: 100%;
89
+ padding-bottom: calc(var(--global-inline-spacing) / 2);
90
+ }
91
+
92
+ @include core-mixins-v3.device(breakpoints.$tabPortrait) {
93
+ top: core-functions-v3.fluidSize(140, 'portrait');
94
+ }
95
+
96
+ &[data-layout='5'] {
97
+ top: unset;
98
+ }
99
+
100
+ @include core-mixins-v3.device(breakpoints.$tabLandscape) {
101
+ background-color: var(--filter-background-colour);
102
+ top: 0;
103
+ }
104
+
105
+ &[data-layout='5'] {
106
+ top: unset;
107
+ .post-type-filter-grid-v3 {
108
+ &__open-filter-toggle {
109
+ display: none;
110
+ }
111
+ }
112
+ }
113
+ &[data-layout='3'] {
114
+ .post-type-filter-grid-v3 {
115
+ &__open-filter-toggle {
116
+ display: none;
117
+ }
118
+ &__filter-top-level-categories {
119
+ overflow: scroll;
120
+ flex-wrap: nowrap;
121
+ justify-content: center;
122
+ }
123
+ &__filter-container {
124
+ height: auto;
125
+ display: flex;
126
+ flex-direction: column-reverse;
127
+ }
128
+ &__filter-categories {
129
+ display: grid;
130
+ padding-bottom: core-functions-v3.fluidSize(20, 'static');
131
+ @include core-mixins-v3.device(breakpoints.$tabPortrait) {
132
+ place-items: center;
133
+ }
134
+ }
135
+ &__filter-top-level-category-container {
136
+ display: flex;
137
+ list-style-type: none;
138
+ place-items: flex-start;
139
+ margin: auto;
140
+ gap: core-functions-v3.fluidSize(30, 'static');
141
+ }
142
+ &__filter-categories-container {
143
+ display: grid;
144
+ grid-template: 'main'/1fr;
145
+ overflow: scroll;
146
+ width: 100%;
147
+ scrollbar-width: none; /* Firefox */
148
+ -ms-overflow-style: none; /* IE 10+ */
149
+ &::-webkit-scrollbar {
150
+ background: transparent; /* Chrome/Safari/Webkit */
151
+ width: 0px;
152
+ display: none;
153
+ }
154
+ }
155
+ &__filter-top-level-category {
156
+ grid-area: main;
157
+ margin: 0;
158
+ &::after {
159
+ content: unset;
160
+ }
161
+ }
162
+ &__filter-subcategories-container {
163
+ display: grid;
164
+ grid-template: 'main' / 1fr;
165
+ overflow: scroll;
166
+ scrollbar-width: none; /* Firefox */
167
+ -ms-overflow-style: none; /* IE 10+ */
168
+ &::-webkit-scrollbar {
169
+ background: transparent; /* Chrome/Safari/Webkit */
170
+ width: 0px;
171
+ display: none;
172
+ }
173
+ }
174
+ &__filter-subcategory-list {
175
+ grid-area: main;
176
+ display: flex;
177
+ opacity: 0;
178
+ pointer-events: none;
179
+ margin-bottom: 0;
180
+ gap: core-functions-v3.fluidSize(30, 'static');
181
+ max-height: 0;
182
+ transition: unset;
183
+ width: 0;
184
+ max-width: 100%;
185
+ justify-self: center;
186
+ flex-wrap: var(--sub-filter-overflow-mobile);
187
+ overflow: var(--sub-filter-overflow-mobile);
188
+ justify-content: var(--sub-filter-overflow-center-mobile);
189
+ @include core-mixins-v3.device(breakpoints.$tabPortrait) {
190
+ flex-wrap: var(--sub-filter-overflow-tablet);
191
+ overflow: var(--sub-filter-overflow-tablet);
192
+ justify-content: var(
193
+ --sub-filter-overflow-center-tablet
194
+ );
195
+ }
196
+ @include core-mixins-v3.device(breakpoints.$tabLandscape) {
197
+ flex-wrap: var(--sub-filter-overflow-desktop);
198
+ overflow: var(--sub-filter-overflow-desktop);
199
+ justify-content: var(
200
+ --sub-filter-overflow-center-desktop
201
+ );
202
+ }
203
+ scrollbar-width: none; /* Firefox */
204
+ -ms-overflow-style: none; /* IE 10+ */
205
+ &::-webkit-scrollbar {
206
+ background: transparent; /* Chrome/Safari/Webkit */
207
+ width: 0px;
208
+ }
209
+ &--active {
210
+ opacity: 1;
211
+ pointer-events: all;
212
+ max-height: 1000px;
213
+ &[data-layout='3'] {
214
+ width: fit-content;
215
+ }
216
+ }
217
+ }
218
+ &__filter-subcategory-list-item {
219
+ margin: 0;
220
+ justify-content: center;
221
+ &--active {
222
+ opacity: 1;
223
+ pointer-events: all;
224
+ }
225
+ }
226
+ &__show-all {
227
+ place-self: center;
228
+ }
229
+ }
230
+ }
231
+ &[data-layout='4'] {
232
+ @media all and (max-width: breakpoints.$tabLandscape - 1) {
233
+ .post-type-filter-grid-v3 {
234
+ &__filter-container--open {
235
+ background-color: var(
236
+ --filter-background-colour-mobile
237
+ );
238
+ position: fixed;
239
+ top: 0;
240
+ left: 0;
241
+ width: 100%;
242
+ height: 100%;
243
+ justify-content: flex-start;
244
+ z-index: 9;
245
+ }
246
+ &__filter-categories {
247
+ display: flex;
248
+ flex-direction: column;
249
+ justify-content: flex-start;
250
+ }
251
+ &__filter-update-button {
252
+ position: absolute;
253
+ width: 100%;
254
+ bottom: 0;
255
+ left: 0;
256
+ z-index: 99999;
257
+ }
258
+ &__filter-category.active {
259
+ background-color: var(
260
+ --filter-background-colour-mobile
261
+ );
262
+ width: 100%;
263
+ top: 0;
264
+ left: 0;
265
+ position: absolute;
266
+ height: 100%;
267
+ z-index: 99999;
268
+ justify-content: flex-start;
269
+ }
270
+ }
271
+ }
272
+ @include core-mixins-v3.device(breakpoints.$tabLandscape) {
273
+ .post-type-filter-grid-v3 {
274
+ &__filter-update-button {
275
+ display: none;
276
+ }
277
+ &__filter-container {
278
+ overflow: visible;
279
+ }
280
+ &__filter-categories {
281
+ display: flex;
282
+ flex-direction: row;
283
+ justify-content: center;
284
+ }
285
+ &__filter-categories-label {
286
+ @include core-mixins-v3.device(
287
+ breakpoints.$tabLandscape
288
+ ) {
289
+ display: none;
290
+ }
291
+ }
292
+ &__cta {
293
+ min-width: core-functions-v3.fluidSize(230, 'desktop');
294
+ width: auto;
295
+ &:hover {
296
+ background-color: unset;
297
+ color: unset;
298
+ }
299
+ }
300
+ &__filter-subcategory-list {
301
+ display: none;
302
+ }
303
+ &__cta.active {
304
+ .post-type-filter-grid-v3__filter-subcategory-list {
305
+ display: flex;
306
+ position: absolute;
307
+ background-color: var(--filter-background-colour);
308
+ width: auto;
309
+ flex-direction: column;
310
+ top: core-functions-v3.fluidSize(60, 'desktop');
311
+ }
312
+ }
313
+ }
314
+ }
315
+ }
316
+ }
317
+
318
+ &__filter-container {
319
+ position: relative;
320
+ height: 0;
321
+ overflow: hidden;
322
+ width: 100%;
323
+ background-color: var(--filter-background-colour-mobile);
324
+
325
+ @include core-mixins-v3.device(breakpoints.$tabPortrait) {
326
+ height: auto;
327
+ background-color: transparent;
328
+
329
+ &[data-layout='2'],
330
+ &[data-layout='5'] {
331
+ display: flex;
332
+ gap: core-functions-v3.fluidSize(20, 'desktop');
333
+ grid-auto-flow: column;
334
+ grid-auto-columns: max-content;
335
+ justify-content: flex-start;
336
+ grid-auto-flow: row;
337
+ width: auto;
338
+ max-width: 100%;
339
+ grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
340
+ }
341
+ &[data-layout='5'] {
342
+ grid-auto-flow: unset;
343
+ @include core-mixins-v3.device(breakpoints.$tabPortrait) {
344
+ grid-auto-flow: column;
345
+ }
346
+ @include core-mixins-v3.device(breakpoints.$tabLandscape) {
347
+ grid-auto-flow: column;
348
+ }
349
+ }
350
+ }
351
+
352
+ &--open {
353
+ height: auto;
354
+ position: absolute;
355
+ top: 100%;
356
+ box-shadow: 0px 4px 4px 0px #00000045;
357
+ display: flex;
358
+ flex-wrap: wrap;
359
+ gap: 10px;
360
+ }
361
+ }
362
+
363
+ &__open-filter-toggle {
364
+ position: relative;
365
+ position: sticky;
366
+ width: 100%;
367
+ cursor: pointer;
368
+
369
+ &--open {
370
+ color: white;
371
+ }
372
+ }
373
+
374
+ button.post-type-filter-grid-v3__open-filter-toggle {
375
+ @include core-mixins-v3.device(breakpoints.$tabPortrait) {
376
+ display: none;
377
+ }
378
+
379
+ @include core-mixins-v3.device(breakpoints.$tabLandscape) {
380
+ display: none;
381
+ }
382
+ }
383
+
384
+ &__filter-top-level-category-name {
385
+ position: relative;
386
+
387
+ &::after {
388
+ transition: transform 0.3s;
389
+ content: '';
390
+ width: 0.8em;
391
+ height: 0.8em;
392
+ background-color: var(--theme-primary-text-colour);
393
+ position: absolute;
394
+ translate: 160%;
395
+ right: 0;
396
+ clip-path: polygon(100% 0, 0 0, 50% 100%);
397
+ rotate: 180deg;
398
+ bottom: core-functions-v3.fluidSize(3, 'static');
399
+ transform-origin: center;
400
+ }
401
+ }
402
+
403
+ &__filter-categories {
404
+ display: grid;
405
+ top: 0;
406
+ gap: core-functions-v3.fluidSize(10, 'mobile');
407
+ grid-template-columns: 1fr;
408
+ padding-bottom: var(--global-inline-spacing);
409
+ width: 100%;
410
+
411
+ &[data-layout='2'],
412
+ &[data-layout='5'] {
413
+ padding-bottom: unset;
414
+ }
415
+
416
+ @include core-mixins-v3.device(breakpoints.$tabPortrait) {
417
+ grid-template-columns: 1fr;
418
+ position: relative;
419
+ gap: core-functions-v3.fluidSize(20, 'portrait');
420
+
421
+ &[data-layout='2'],
422
+ &[data-layout='5'] {
423
+ grid-auto-flow: column;
424
+ grid-auto-columns: 1fr;
425
+ width: max-content;
426
+ margin: unset;
427
+ }
428
+ }
429
+ @include core-mixins-v3.device(breakpoints.$tabLandscape) {
430
+ gap: core-functions-v3.fluidSize(30, 'desktop');
431
+ }
432
+ }
433
+
434
+ &__filter-category {
435
+ flex-direction: column;
436
+ width: 100%;
437
+
438
+ &.active {
439
+ .post-type-filter-grid-v3__filter-subcategory-list {
440
+ max-height: 1000px;
441
+ }
442
+
443
+ .post-type-filter-grid-v3__filter-top-level-category-name {
444
+ &::after {
445
+ rotate: 0deg;
446
+ }
447
+ }
448
+ }
449
+ }
450
+
451
+ &__filter-subcategory-list {
452
+ &[data-layout='5'] {
453
+ flex-direction: column;
454
+ margin: unset;
455
+ @include core-mixins-v3.device(breakpoints.$tabPortrait) {
456
+ flex-direction: unset;
457
+ margin: auto;
458
+ }
459
+ @include core-mixins-v3.device(breakpoints.$tabLandscape) {
460
+ flex-direction: unset;
461
+ margin: auto;
462
+ }
463
+ }
464
+ list-style-type: none;
465
+ display: flex;
466
+ flex-wrap: wrap;
467
+ width: 100%;
468
+ gap: core-functions-v3.fluidSize(var(--filter-category-gap), 'mobile');
469
+ transition: 0.3s;
470
+ max-height: 0px;
471
+ overflow: hidden;
472
+ &::-webkit-scrollbar {
473
+ display: none;
474
+ }
475
+
476
+ @include core-mixins-v3.device(breakpoints.$tabPortrait) {
477
+ gap: core-functions-v3.fluidSize(
478
+ var(--filter-category-gap),
479
+ 'portrait'
480
+ );
481
+ }
482
+
483
+ @include core-mixins-v3.device(breakpoints.$tabLandscape) {
484
+ gap: core-functions-v3.fluidSize(
485
+ var(--filter-category-gap),
486
+ 'desktop'
487
+ );
488
+ }
489
+
490
+ &[data-layout='2'] {
491
+ @include core-mixins-v3.device(breakpoints.$tabLandscape) {
492
+ grid-auto-flow: column;
493
+ }
494
+ }
495
+ }
496
+
497
+ &__filter-subcategory-list-item {
498
+ width: auto;
499
+
500
+ @include core-mixins-v3.device(breakpoints.$tabLandscape) {
501
+ width: initial;
502
+ }
503
+
504
+ &[data-layout='2'],
505
+ &[data-layout='5'] {
506
+ margin: unset;
507
+ @include core-mixins-v3.device(breakpoints.$tabPortrait) {
508
+ margin: auto;
509
+ }
510
+ @include core-mixins-v3.device(breakpoints.$tabLandscape) {
511
+ margin: auto;
512
+ }
513
+ }
514
+ &[data-layout='5'] {
515
+ margin: unset;
516
+ @include core-mixins-v3.device(breakpoints.$tabPortrait) {
517
+ margin: auto;
518
+ }
519
+ @include core-mixins-v3.device(breakpoints.$tabLandscape) {
520
+ margin: auto;
521
+ }
522
+ }
523
+ }
524
+ &__filter-subcategory-button-icon {
525
+ width: 1em;
526
+ }
527
+
528
+ &__sort-container {
529
+ grid-area: sort;
530
+ }
531
+
532
+ &__sort {
533
+ display: none;
534
+ position: relative;
535
+ width: max-content;
536
+
537
+ &:hover {
538
+ cursor: pointer;
539
+ }
540
+ }
541
+ &--micro-gap {
542
+ .post-type-filter-grid-v3__grid {
543
+ gap: core-functions-v3.fluidSize(
544
+ var(--micro-grid-gap-amount),
545
+ 'static'
546
+ );
547
+ }
548
+ }
549
+ &__market-toggle {
550
+ background: var(--black);
551
+ align-items: center;
552
+ display: inline-flex;
553
+ gap: core-functions-v3.fluidSize(10, 'static');
554
+ padding: core-functions-v3.fluidSize(15, 'static')
555
+ core-functions-v3.fluidSize(10, 'static');
556
+ @include core-mixins-v3.device(breakpoints.$tabPortrait) {
557
+ padding: core-functions-v3.fluidSize(15, 'static');
558
+ }
559
+ }
560
+ &__switch {
561
+ align-items: center;
562
+ display: inline-flex;
563
+ gap: core-functions-v3.fluidSize(10, 'static');
564
+ @include core-mixins-v3.device(breakpoints.$tabPortrait) {
565
+ gap: core-functions-v3.fluidSize(20, 'static');
566
+ }
567
+ margin: auto;
568
+ }
569
+
570
+ &__switch-toggle {
571
+ display: inline-block;
572
+ position: relative;
573
+ height: core-functions-v3.fluidSize(26, 'static');
574
+ width: core-functions-v3.fluidSize(50, 'static');
575
+ @include core-mixins-v3.device(breakpoints.$tabPortrait) {
576
+ height: core-functions-v3.fluidSize(34, 'static');
577
+ width: core-functions-v3.fluidSize(68, 'static');
578
+ }
579
+
580
+ input {
581
+ opacity: 0;
582
+ width: 0;
583
+ height: 0;
584
+ }
585
+
586
+ .switch-slider {
587
+ background-color: var(--palette-default-1);
588
+ border-radius: core-functions-v3.fluidSize(34, 'static');
589
+ bottom: 0;
590
+ cursor: pointer;
591
+ height: core-functions-v3.fluidSize(26, 'static');
592
+ left: 0;
593
+ top: 0;
594
+ position: absolute;
595
+ right: 0;
596
+ transition: 0.4s;
597
+ width: core-functions-v3.fluidSize(50, 'static');
598
+ @include core-mixins-v3.device(breakpoints.$tabPortrait) {
599
+ height: core-functions-v3.fluidSize(34, 'static');
600
+ width: core-functions-v3.fluidSize(68, 'static');
601
+ }
602
+
603
+ &::before {
604
+ background-color: var(--black);
605
+ border-radius: 50%;
606
+ bottom: core-functions-v3.fluidSize(2, 'static');
607
+ content: '';
608
+ height: core-functions-v3.fluidSize(22, 'static');
609
+ right: core-functions-v3.fluidSize(2, 'static');
610
+ position: absolute;
611
+ transition: 0.4s;
612
+ width: core-functions-v3.fluidSize(22, 'static');
613
+ @include core-mixins-v3.device(breakpoints.$tabPortrait) {
614
+ height: core-functions-v3.fluidSize(30, 'static');
615
+ width: core-functions-v3.fluidSize(30, 'static');
616
+ }
617
+ }
618
+ }
619
+
620
+ input:checked + .switch-slider::before {
621
+ transform: translateX(core-functions-v3.fluidSize(-24, 'static'));
622
+ @include core-mixins-v3.device(breakpoints.$tabPortrait) {
623
+ transform: translateX(
624
+ core-functions-v3.fluidSize(-34, 'static')
625
+ );
626
+ }
627
+ }
628
+
629
+ input:checked + .switch-slider {
630
+ background-color: var(--palette-default-1);
631
+ }
632
+ }
633
+
634
+ &__switch-text {
635
+ color: var(--palette-default-5);
636
+ font-family: var(--tertiary-font-family);
637
+ font-size: core-functions-v3.fluidSize(10, 'static');
638
+ text-transform: uppercase;
639
+ @include core-mixins-v3.device(breakpoints.$tabPortrait) {
640
+ font-size: core-functions-v3.fluidSize(11, 'static');
641
+ }
642
+ }
643
+
644
+ &__grid {
645
+ grid-area: grid;
646
+ display: grid;
647
+ background-color: var(--grid-background-colour);
648
+ grid-template-columns: repeat(var(--columns-mobile), 1fr);
649
+ color: var(--theme-primary-text-colour);
650
+ gap: calc(var(--global-inline-spacing) * var(--gap-multiplier-mobile));
651
+ border: core-functions-v3.fluidSize(var(--grid-border-width), 'static')
652
+ solid var(--grid-border-colour);
653
+
654
+ @include core-mixins-v3.device(breakpoints.$tabPortrait) {
655
+ padding-top: unset;
656
+ grid-template-columns: repeat(var(--columns-portrait), 1fr);
657
+ gap: calc(
658
+ var(--global-inline-spacing) * var(--gap-multiplier-portrait)
659
+ );
660
+ }
661
+
662
+ @include core-mixins-v3.device(breakpoints.$tabLandscape) {
663
+ gap: calc(var(--global-inline-spacing) * var(--gap-multiplier));
664
+ grid-template-columns: repeat(var(--columns-desktop), 1fr);
665
+ }
666
+ }
667
+
668
+ &__featured-post {
669
+ background: var(--featured-post-background-colour);
670
+ }
671
+
672
+ &__post-container {
673
+ display: grid;
674
+ width: 100%;
675
+ z-index: 1;
676
+ position: relative;
677
+ padding: calc(
678
+ var(--global-inline-spacing) * var(--post-container-padding-mobile)
679
+ );
680
+ place-self: var(--block-container-vertical-align);
681
+ background-color: var(--post-container-background-colour);
682
+ grid-auto-rows: var(--post-container-grid-auto-rows, auto);
683
+ grid-auto-columns: var(--post-container-grid-auto-columns, auto);
684
+ grid-template-rows: var(--post-container-grid-template-rows, auto);
685
+ grid-template-columns: var(
686
+ --post-container-grid-template-columns,
687
+ auto
688
+ );
689
+ gap: calc(
690
+ var(--global-inline-spacing) *
691
+ (var(--post-container-grid-gap-mobile))
692
+ );
693
+
694
+ @include core-mixins-v3.device(breakpoints.$tabPortrait) {
695
+ gap: calc(
696
+ var(--global-inline-spacing) *
697
+ (var(--post-container-grid-gap-portrait))
698
+ );
699
+ }
700
+
701
+ @include core-mixins-v3.device(breakpoints.$tabLandscape) {
702
+ padding: calc(
703
+ var(--global-inline-spacing) * var(--post-container-padding)
704
+ );
705
+ gap: calc(
706
+ var(--global-inline-spacing) *
707
+ (var(--post-container-grid-gap-desktop))
708
+ );
709
+ }
710
+ }
711
+
712
+ &__overlay {
713
+ inset: 0;
714
+ z-index: 1;
715
+ grid-row: var(--gradient-overlay-row-start, 1) /
716
+ var(--gradient-overlay-row-end, -1);
717
+
718
+ &--gradient-overlay-top,
719
+ &--gradient-overlay-right,
720
+ &--gradient-overlay-bottom,
721
+ &--gradient-overlay-left {
722
+ // @include core-gradient-designer.gradientDesigner();
723
+ position: absolute;
724
+ }
725
+
726
+ &--gradient-overlay-vertical {
727
+ // @include core-gradient-designer.gradientDesignerVertical();
728
+ position: absolute;
729
+ }
730
+
731
+ &--gradient-overlay-horizontal {
732
+ // @include core-gradient-designer.gradientDesignerHorizontal();
733
+ position: absolute;
734
+ }
735
+ }
736
+
737
+ &__post-image-container-link {
738
+ display: grid;
739
+ grid-template: 'main' / 1fr;
740
+ width: 100%;
741
+ z-index: 2;
742
+ max-width: initial;
743
+ position: relative;
744
+
745
+ &--show-alt-image-on-hover {
746
+ &:hover {
747
+ .post-type-filter-grid-v3__post-image {
748
+ opacity: 0;
749
+ }
750
+
751
+ .post-type-filter-grid-v3__post-image--secondary {
752
+ opacity: 1;
753
+ }
754
+ }
755
+ }
756
+ &--set-as-background-image {
757
+ position: absolute;
758
+ inset: 0;
759
+ grid-area: unset;
760
+ img {
761
+ height: 100%;
762
+ object-fit: cover;
763
+ }
764
+ }
765
+ }
766
+
767
+ &__info-item {
768
+ @include grid-layout-element-v3.gridLayoutElement();
769
+ z-index: 2;
770
+
771
+ &:not(.post-type-filter-grid-v3__post-link, .post-type-filter-grid-v3__product-buy-now, .post-type-filter-grid-v3__post-image-container-link, .post-type-filter-grid-v3__post-tags, .post-type-filter-grid-v3__shopify) {
772
+ * {
773
+ width: 100%;
774
+ // @include core-mixins-v3.textStyle();
775
+ }
776
+ }
777
+ }
778
+
779
+ &__post-tags {
780
+ pointer-events: none;
781
+ }
782
+
783
+ &__post-image,
784
+ &__post-image--secondary,
785
+ &__global-image,
786
+ &__media-image {
787
+ opacity: 1;
788
+ z-index: 1;
789
+ transition: opacity 0.3s;
790
+ position: relative;
791
+ margin-inline: auto;
792
+ width: var(--post-image-width-mobile);
793
+ object-fit: var(--post-image-fit-style);
794
+ aspect-ratio: var(--post-image-aspect-ratio);
795
+ border-radius: var(--post-image-border-radius);
796
+ border: 0px solid transparent;
797
+ @include core-mixins-v3.device(breakpoints.$tabPortrait) {
798
+ width: var(--post-image-width-portrait);
799
+ }
800
+ @include core-mixins-v3.device(breakpoints.$tabLandscape) {
801
+ width: var(--post-image-width-desktop);
802
+ }
803
+ &--image_accent {
804
+ @include element-positioning-v3.elementPositioning();
805
+ width: var(--post-image-width-mobile);
806
+ @include core-mixins-v3.device(breakpoints.$tabLandscape) {
807
+ width: var(--post-image-width-desktop);
808
+ }
809
+ }
810
+ }
811
+ &__global-image {
812
+ @include grid-layout-element-v3.gridLayoutElement();
813
+ width: 100%;
814
+ max-width: var(--global-image-max-width-mobile, 100%);
815
+ z-index: var(--global-image-z-index, 1);
816
+ position: var(--global-image-position, relative);
817
+ object-fit: var(--global-image-fit-style, cover);
818
+ height: var(--global-image-height, auto);
819
+ @include core-mixins-v3.device(breakpoints.$tabLandscape) {
820
+ max-width: var(--global-image-max-width-desktop, 100%);
821
+ }
822
+ }
823
+
824
+ &__media-image-container {
825
+ position: relative;
826
+ width: 100%;
827
+ }
828
+
829
+ &__post-image--secondary {
830
+ opacity: 0;
831
+ z-index: 0;
832
+ position: absolute;
833
+ width: 100%;
834
+ height: 100%;
835
+ object-fit: contain;
836
+ }
837
+
838
+ &__post-text-container {
839
+ display: grid;
840
+ z-index: 2;
841
+ }
842
+
843
+ &__post-title {
844
+ display: flex;
845
+ gap: 1.5em;
846
+ flex-direction: row;
847
+ justify-content: space-between;
848
+ * {
849
+ width: 100%;
850
+ }
851
+ }
852
+ &__post-headline {
853
+ width: 100%;
854
+ // @include core-mixins-v3.textStyle();
855
+ }
856
+ &__post-title-icon {
857
+ width: 1em;
858
+ }
859
+
860
+ &__post-category {
861
+ background: var(--black);
862
+ color: var(--white);
863
+ display: flex;
864
+ gap: core-functions-v3.fluidSize(15, 'static');
865
+ padding: core-functions-v3.fluidSize(10, 'static');
866
+ width: fit-content;
867
+
868
+ &--item {
869
+ margin: 0;
870
+ }
871
+ }
872
+
873
+ &__cta {
874
+ gap: 0.5em;
875
+ }
876
+
877
+ &__icon-image {
878
+ width: 1em;
879
+
880
+ * {
881
+ fill: inherit;
882
+ }
883
+ }
884
+
885
+ &__post-spacer {
886
+ z-index: 2;
887
+ width: 100%;
888
+ background-color: var(--spacer-bg-colour);
889
+ height: calc(
890
+ var(--global-inline-spacing) * var(--spacer-size-mult-mobile)
891
+ );
892
+
893
+ @include core-mixins-v3.device(breakpoints.$tabPortrait) {
894
+ height: calc(
895
+ var(--global-inline-spacing) * var(--spacer-size-mult-portrait)
896
+ );
897
+ }
898
+
899
+ @include core-mixins-v3.device(breakpoints.$tabLandscape) {
900
+ height: calc(
901
+ var(--global-inline-spacing) * var(--spacer-size-mult)
902
+ );
903
+ }
904
+ }
905
+ &__post-link,
906
+ &__better-reviews {
907
+ max-width: max-content;
908
+ }
909
+ &__cta-style-post-colour,
910
+ &__cta-style-post-text-colour-style {
911
+ padding-block: core-functions-v3.fluidSize(10, 'mobile');
912
+ padding-inline: core-functions-v3.fluidSize(20, 'mobile');
913
+ @include core-mixins-v3.device(breakpoints.$tabPortrait) {
914
+ padding-block: core-functions-v3.fluidSize(10, 'portrait');
915
+ padding-inline: core-functions-v3.fluidSize(20, 'portrait');
916
+ }
917
+ @include core-mixins-v3.device(breakpoints.$tabLandscape) {
918
+ padding-block: core-functions-v3.fluidSize(10, 'desktop');
919
+ padding-inline: core-functions-v3.fluidSize(20, 'desktop');
920
+ }
921
+ }
922
+ &__cta-style-post-colour {
923
+ color: var(--post-colour);
924
+ border: 1px solid var(--post-colour);
925
+ * {
926
+ stroke: var(--post-colour);
927
+ fill: var(--post-colour);
928
+ }
929
+ &:hover {
930
+ color: var(--post-colour);
931
+ * {
932
+ stroke: var(--post-colour);
933
+ fill: var(--post-colour);
934
+ }
935
+ }
936
+ }
937
+ &__cta-style-post-text-colour-style {
938
+ color: var(--post-text-colour-style);
939
+ border: 1px solid var(--post-text-colour-style);
940
+ * {
941
+ stroke: var(--post-text-colour-style);
942
+ fill: var(--post-text-colour-style);
943
+ }
944
+ &:hover {
945
+ color: var(--post-text-colour-style);
946
+ * {
947
+ stroke: var(--post-text-colour-style);
948
+ fill: var(--post-text-colour-style);
949
+ }
950
+ }
951
+ }
952
+ &__product-c7-add-to-cart {
953
+ display: flex;
954
+ align-items: flex-end;
955
+ z-index: 2;
956
+ }
957
+
958
+ &__post-tags {
959
+ display: flex;
960
+ justify-content: flex-start;
961
+ flex-wrap: wrap;
962
+ align-items: flex-start;
963
+ z-index: 2;
964
+ }
965
+
966
+ &__person-email {
967
+ display: flex;
968
+ gap: 1em;
969
+ align-items: center;
970
+ }
971
+ &__person-email-icon {
972
+ width: 1em;
973
+ }
974
+ &__person-rating-star-container {
975
+ display: flex;
976
+ --rating-star-colour: #f8b94c;
977
+ padding: core-functions-v3.fluidSize(10, 'static');
978
+ }
979
+ &__person-rating-star {
980
+ width: core-functions-v3.fluidSize(20, 'static');
981
+ }
982
+ &__person-rating-star * {
983
+ fill: var(--rating-star-colour);
984
+ }
985
+
986
+ &__load-more-container {
987
+ grid-area: loadmore;
988
+ width: 100%;
989
+ display: flex;
990
+ justify-content: center;
991
+ flex-direction: column;
992
+ align-items: center;
993
+ z-index: 2;
994
+ margin-top: core-functions-v3.fluidSize(115, 'mobile');
995
+ &:has(.show-spinner) {
996
+ pointer-events: none;
997
+ }
998
+ @include core-mixins-v3.device(breakpoints.$tabPortrait) {
999
+ margin-top: core-functions-v3.fluidSize(90, 'portrait');
1000
+ }
1001
+
1002
+ @include core-mixins-v3.device(breakpoints.$tabLandscape) {
1003
+ margin-top: core-functions-v3.fluidSize(80, 'desktop');
1004
+ }
1005
+ }
1006
+ &__load-more-button {
1007
+ .cmpl-cta-span.hide-text {
1008
+ display: none;
1009
+ }
1010
+ }
1011
+ .loader {
1012
+ --spinner-size: 20px;
1013
+ width: var(--spinner-size);
1014
+ height: var(--spinner-size);
1015
+ border: 2px solid #fff;
1016
+ border-bottom-color: transparent;
1017
+ border-radius: 50%;
1018
+ display: none;
1019
+ box-sizing: border-box;
1020
+ animation: rotation 1s linear infinite;
1021
+ &.show-spinner {
1022
+ display: inline-block;
1023
+ }
1024
+ }
1025
+
1026
+ @keyframes rotation {
1027
+ 0% {
1028
+ transform: rotate(0deg);
1029
+ }
1030
+ 100% {
1031
+ transform: rotate(360deg);
1032
+ }
1033
+ }
1034
+ &__load-more-icon {
1035
+ width: 1em;
1036
+ }
1037
+
1038
+ &__show-all {
1039
+ &[data-layout='5'] {
1040
+ text-align: left;
1041
+ justify-content: flex-start;
1042
+ }
1043
+ z-index: 2;
1044
+ position: relative;
1045
+ width: auto;
1046
+ place-self: flex-end;
1047
+ margin-bottom: unset;
1048
+ cursor: pointer;
1049
+ width: 100%;
1050
+
1051
+ @include core-mixins-v3.device(breakpoints.$tabPortrait) {
1052
+ width: initial;
1053
+ }
1054
+
1055
+ @include core-mixins-v3.device(breakpoints.$tabLandscape) {
1056
+ &[data-layout='2'],
1057
+ &[data-layout='5'] {
1058
+ grid-column: 1;
1059
+ width: max-content;
1060
+ }
1061
+ }
1062
+ }
1063
+
1064
+ // filter elements transition effect. If more effects are needed, add them in ACF and replace 'fade' in css by new transition name
1065
+ .fade-move,
1066
+ .fade-enter-active,
1067
+ .fade-leave-active {
1068
+ transition: opacity 0.5s ease;
1069
+ }
1070
+
1071
+ .fade-enter-from,
1072
+ .fade-leave-to {
1073
+ opacity: 0;
1074
+ transform: translateX(30px);
1075
+ }
1076
+
1077
+ .fade-leave-active {
1078
+ position: absolute;
1079
+ }
1080
+
1081
+ &.shopify-add-to-cart {
1082
+ text-align: center;
1083
+ }
1084
+ }