blocks-dusted 0.1.12 → 0.1.13

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 (148) hide show
  1. package/package.json +1 -1
  2. package/src/installers/patchRenderBlocks.js +1 -1
  3. package/src/registry/validateTemplateManifest.js +2 -1
  4. package/templates/blocks/BannerDD790432/Component.tsx +63 -0
  5. package/templates/blocks/BannerDD790432/config.ts +54 -0
  6. package/templates/blocks/BannerDD790432/manifest.json +80 -0
  7. package/templates/blocks/Button47/Component.tsx +124 -0
  8. package/templates/blocks/Button47/config.ts +75 -0
  9. package/templates/blocks/Button47/link.ts +22 -0
  10. package/templates/blocks/Button47/manifest.json +105 -0
  11. package/templates/blocks/Button47/styles.module.scss +75 -0
  12. package/templates/blocks/DD-Accordion/Component.tsx +55 -36
  13. package/templates/blocks/DD-Accordion/config.ts +71 -59
  14. package/templates/blocks/DD-AnimText/Component.tsx +50 -32
  15. package/templates/blocks/DD-AnimText/config.ts +296 -295
  16. package/templates/blocks/DD-AsideNav/Component.tsx +323 -319
  17. package/templates/blocks/DD-Banner/Component.tsx +54 -51
  18. package/templates/blocks/DD-BookCall/Component.tsx +535 -535
  19. package/templates/blocks/DD-ButtonPop/Component.tsx +118 -117
  20. package/templates/blocks/DD-Card/Component.tsx +4 -4
  21. package/templates/blocks/DD-CardTemplate01/Component.tsx +139 -140
  22. package/templates/blocks/DD-CardsWithVariantV3/Component.tsx +472 -0
  23. package/templates/blocks/DD-CardsWithVariantV3/ElectricBorder/index.tsx +203 -0
  24. package/templates/blocks/DD-CardsWithVariantV3/ElectricBorder/styles.ts +87 -0
  25. package/templates/blocks/DD-CardsWithVariantV3/ElectricBorder/useInjectStyle.ts +39 -0
  26. package/templates/blocks/DD-CardsWithVariantV3/config.ts +326 -0
  27. package/templates/blocks/DD-CardsWithVariantV3/manifest.json +110 -0
  28. package/templates/blocks/DD-Carousel-A/Component.tsx +251 -249
  29. package/templates/blocks/DD-Carousel-B/Component.tsx +405 -403
  30. package/templates/blocks/DD-ComparisonTable/Component.tsx +255 -256
  31. package/templates/blocks/DD-Contact/Component.tsx +433 -435
  32. package/templates/blocks/DD-Counter/Component.tsx +11 -6
  33. package/templates/blocks/DD-DeliCard/Component.tsx +303 -0
  34. package/templates/blocks/DD-DeliCard/config.ts +186 -0
  35. package/templates/blocks/DD-DeliCard/manifest.json +94 -0
  36. package/templates/blocks/DD-FeatCat/Component.tsx +302 -302
  37. package/templates/blocks/DD-FeatProd/CircularGallery.tsx +1179 -0
  38. package/templates/blocks/DD-FeatProd/Component.tsx +484 -0
  39. package/templates/blocks/DD-FeatProd/config.ts +173 -0
  40. package/templates/blocks/DD-FeatProd/manifest.json +93 -0
  41. package/templates/blocks/DD-FeatServ/Component.tsx +607 -0
  42. package/templates/blocks/DD-FeatServ/config.ts +213 -0
  43. package/templates/blocks/DD-FeatServ/manifest.json +113 -0
  44. package/templates/blocks/DD-FeatStrip/Component.tsx +584 -585
  45. package/templates/blocks/DD-FluidBtn/ButtonsEyeCatching.tsx +627 -628
  46. package/templates/blocks/DD-FluidBtn/Component.tsx +46 -43
  47. package/templates/blocks/DD-GooeyInfo/Component.tsx +150 -149
  48. package/templates/blocks/DD-GooeyInfo/config.ts +136 -135
  49. package/templates/blocks/DD-Hero/Component.tsx +296 -297
  50. package/templates/blocks/DD-HeroPlas/Component.tsx +50 -0
  51. package/templates/blocks/DD-HeroPlas/ThreeScene.tsx +109 -0
  52. package/templates/blocks/DD-HeroPlas/config.ts +33 -0
  53. package/templates/blocks/DD-HeroPlas/manifest.json +88 -0
  54. package/templates/blocks/DD-HorizontalScroll/Component.tsx +937 -936
  55. package/templates/blocks/DD-Icon/Component.tsx +46 -81
  56. package/templates/blocks/DD-IconButton/Component.tsx +13 -20
  57. package/templates/blocks/DD-IdTag/Component.tsx +22 -21
  58. package/templates/blocks/DD-LineAnim/Component.tsx +42 -36
  59. package/templates/blocks/DD-LogoMarq/Component.tsx +38 -48
  60. package/templates/blocks/DD-Lottie/Component.tsx +11 -3
  61. package/templates/blocks/DD-MasonaryMedia/Component.tsx +544 -545
  62. package/templates/blocks/DD-MasonaryMedia/config.ts +389 -389
  63. package/templates/blocks/DD-Masonry/Component.tsx +654 -644
  64. package/templates/blocks/DD-Masonry/config.ts +475 -475
  65. package/templates/blocks/DD-MaterialSwatches/Component.tsx +85 -0
  66. package/templates/blocks/DD-MaterialSwatches/config.ts +232 -0
  67. package/templates/blocks/DD-MaterialSwatches/manifest.json +84 -0
  68. package/templates/blocks/DD-MaterialSwatches/material.ts +107 -0
  69. package/templates/blocks/DD-NineCanvas/Component.tsx +129 -0
  70. package/templates/blocks/DD-NineCanvas/RenderBlocks.tsx +244 -0
  71. package/templates/blocks/DD-NineCanvas/allowedCanvasBlocks.ts +6 -0
  72. package/templates/blocks/DD-NineCanvas/blockComponents.tsx +8 -0
  73. package/templates/blocks/DD-NineCanvas/canvas/CanvasGrid.tsx +316 -0
  74. package/templates/blocks/DD-NineCanvas/canvas/RadialNav.tsx +432 -0
  75. package/templates/blocks/DD-NineCanvas/canvas/canvas-panels.css +889 -0
  76. package/templates/blocks/DD-NineCanvas/canvas/icons/custom-icons.tsx +364 -0
  77. package/templates/blocks/DD-NineCanvas/config.ts +61 -0
  78. package/templates/blocks/DD-NineCanvas/manifest.json +165 -0
  79. package/templates/blocks/DD-NineCanvas/styles.scss +152 -0
  80. package/templates/blocks/DD-NineCanvas/tooltip/get-strict-context.tsx +26 -0
  81. package/templates/blocks/DD-NineCanvas/tooltip/primitives.tsx +178 -0
  82. package/templates/blocks/DD-NineCanvas/tooltip/tooltip.tsx +71 -0
  83. package/templates/blocks/DD-NineCanvas/tooltip/use-controlled-state.tsx +33 -0
  84. package/templates/blocks/DD-NineCanvas/utilities/FadeOnScroll.tsx +68 -0
  85. package/templates/blocks/DD-NineCanvas/utilities/ParallaxWrapper.tsx +157 -0
  86. package/templates/blocks/DD-NineCanvas/utilities/renderCustomCSS.ts +5 -0
  87. package/templates/blocks/DD-NineCanvas/utilities/webglCleanup.ts +27 -0
  88. package/templates/blocks/DD-PayloadAIAssistant/Component.tsx +78 -0
  89. package/templates/blocks/DD-PayloadAIAssistant/DustedBot.tsx +590 -0
  90. package/templates/blocks/DD-PayloadAIAssistant/config.ts +37 -0
  91. package/templates/blocks/DD-PayloadAIAssistant/demo.css +125 -0
  92. package/templates/blocks/DD-PayloadAIAssistant/manifest.json +93 -0
  93. package/templates/blocks/DD-PayloadAIAssistant/source-defaults.ts +17 -0
  94. package/templates/blocks/DD-PayloadAIAssistant/styles.ts +306 -0
  95. package/templates/blocks/DD-Pricing/Component.tsx +2 -3
  96. package/templates/blocks/DD-Pricing/config.ts +215 -215
  97. package/templates/blocks/DD-Process/Component.tsx +2 -2
  98. package/templates/blocks/DD-ProjHeader/Component.tsx +93 -91
  99. package/templates/blocks/DD-ProjSlider/Component.tsx +1 -1
  100. package/templates/blocks/DD-Section/Component.tsx +265 -266
  101. package/templates/blocks/DD-Separator/Component.tsx +66 -66
  102. package/templates/blocks/DD-Services/Component.tsx +176 -176
  103. package/templates/blocks/DD-ShowcaseGrid/Component.tsx +306 -307
  104. package/templates/blocks/DD-Slider-A/Component.tsx +2 -2
  105. package/templates/blocks/DD-StackCards/Component.tsx +172 -171
  106. package/templates/blocks/DD-Team/Component.tsx +247 -247
  107. package/templates/blocks/DD-TeamCards/Component.tsx +251 -251
  108. package/templates/blocks/DD-TechStack/Component.tsx +173 -174
  109. package/templates/blocks/DD-TestMarq/Component.tsx +158 -132
  110. package/templates/blocks/DD-Testim/Component.tsx +247 -247
  111. package/templates/blocks/DD-Testim2/Component.tsx +265 -256
  112. package/templates/blocks/DD-Testimonials/Component.tsx +139 -139
  113. package/templates/blocks/DD-Thanks/Component.tsx +1 -1
  114. package/templates/blocks/DD-Work/Component.tsx +318 -318
  115. package/templates/blocks/DD-Work-B/Component.tsx +294 -294
  116. package/templates/blocks/DDHG-CTASection2/Component.tsx +183 -184
  117. package/templates/blocks/DDHG-HighlightArc/Component.tsx +6 -3
  118. package/templates/blocks/DDHG-LogoMarquee/Component.tsx +45 -8
  119. package/templates/blocks/DDHG-NavCodeGrid/Component.tsx +1 -3
  120. package/templates/blocks/DDHG-ServiceDetails/ServiceDetailCard.tsx +9 -22
  121. package/templates/blocks/DDHG-ServiceHero/Component.tsx +10 -10
  122. package/templates/blocks/DDHG-TeamCards/Component.tsx +6 -35
  123. package/templates/blocks/Form/Checkbox/index.tsx +45 -0
  124. package/templates/blocks/Form/Component.tsx +163 -0
  125. package/templates/blocks/Form/Country/index.tsx +65 -0
  126. package/templates/blocks/Form/Country/options.ts +982 -0
  127. package/templates/blocks/Form/Email/index.tsx +38 -0
  128. package/templates/blocks/Form/Error/index.tsx +15 -0
  129. package/templates/blocks/Form/Message/index.tsx +13 -0
  130. package/templates/blocks/Form/Number/index.tsx +36 -0
  131. package/templates/blocks/Form/Select/index.tsx +63 -0
  132. package/templates/blocks/Form/State/index.tsx +64 -0
  133. package/templates/blocks/Form/State/options.ts +52 -0
  134. package/templates/blocks/Form/Text/index.tsx +32 -0
  135. package/templates/blocks/Form/Textarea/index.tsx +40 -0
  136. package/templates/blocks/Form/Width/index.tsx +13 -0
  137. package/templates/blocks/Form/config.ts +51 -0
  138. package/templates/blocks/Form/fields.tsx +21 -0
  139. package/templates/blocks/Form/manifest.json +168 -0
  140. package/templates/blocks/MediaBlock/Component.tsx +67 -0
  141. package/templates/blocks/MediaBlock/config.ts +14 -0
  142. package/templates/blocks/MediaBlock/manifest.json +92 -0
  143. package/templates/blocks/TransitionsDustedShowcase/Component.tsx +9 -0
  144. package/templates/blocks/TransitionsDustedShowcase/config.ts +13 -0
  145. package/templates/blocks/TransitionsDustedShowcase/manifest.json +80 -0
  146. package/templates/blocks/rawHtml/Component.tsx +25 -0
  147. package/templates/blocks/rawHtml/config.ts +56 -0
  148. package/templates/blocks/rawHtml/manifest.json +80 -0
@@ -0,0 +1,889 @@
1
+ /* ==========================================================================
2
+ CSS Custom Properties
3
+ ========================================================================== */
4
+
5
+ :root {
6
+ --canvas-transition: transform 900ms cubic-bezier(0.76, 0, 0.24, 1);
7
+ --viewport-width: 100vw;
8
+ --viewport-height: 100vh;
9
+
10
+ /* Radial colors */
11
+ --radial-bg-gradient: linear-gradient(#18181b80, #08080a80);
12
+ --radial-active-bg: linear-gradient(#2b103f, #0c0b10);
13
+ --radial-border-color: #ffffff52;
14
+ --radial-border-hover: #ffffff80;
15
+ --radial-outline-color: #80808080;
16
+ --radial-glow: #9803e2;
17
+
18
+ /* Typography */
19
+ --font-display: Impact, Haettenschweiler, 'Arial Black', 'Arial Narrow Bold', sans-serif;
20
+ }
21
+
22
+ /* ==========================================================================
23
+ Canvas Root & Track
24
+ ========================================================================== */
25
+
26
+ .hzCanvasRoot {
27
+ position: relative;
28
+ z-index: 10;
29
+ width: var(--viewport-width);
30
+ height: var(--viewport-height);
31
+ overflow: hidden;
32
+ background: transparent;
33
+ color: #f5f2ff;
34
+ }
35
+
36
+ .hzCanvasTrack {
37
+ position: absolute;
38
+ inset: 0;
39
+ z-index: 10;
40
+ transition: var(--canvas-transition);
41
+ }
42
+
43
+ /* Canvas track positions using CSS Grid logic (3×3 matrix) */
44
+ .hzCanvasTrack--canvas_01 {
45
+ transform: translate(100vw, 100vh);
46
+ }
47
+
48
+ .hzCanvasTrack--canvas_02 {
49
+ transform: translate(0, 100vh);
50
+ }
51
+
52
+ .hzCanvasTrack--canvas_03 {
53
+ transform: translate(-100vw, 100vh);
54
+ left: -0.5rem;
55
+ }
56
+
57
+ .hzCanvasTrack--canvas_04 {
58
+ transform: translate(100vw, 0);
59
+ }
60
+
61
+ .hzCanvasTrack--canvas_05 {
62
+ transform: translate(0, 0);
63
+ }
64
+
65
+ .hzCanvasTrack--canvas_06 {
66
+ transform: translate(-100vw, 0);
67
+ }
68
+
69
+ .hzCanvasTrack--canvas_07 {
70
+ transform: translate(100vw, -100vh);
71
+ }
72
+
73
+ .hzCanvasTrack--canvas_08 {
74
+ transform: translate(0, -100vh);
75
+ }
76
+
77
+ .hzCanvasTrack--canvas_09 {
78
+ transform: translate(-100vw, -100vh);
79
+ }
80
+
81
+ /* ==========================================================================
82
+ Canvas Panel & Content
83
+ ========================================================================== */
84
+
85
+ .hzCanvasPanel {
86
+ position: absolute;
87
+ width: var(--viewport-width);
88
+ height: var(--viewport-height);
89
+ cursor: default;
90
+ pointer-events: none;
91
+ }
92
+
93
+ /* Panel X-axis positioning */
94
+ .hzCanvasPanel--x-neg1 {
95
+ left: -100vw;
96
+ }
97
+
98
+ .hzCanvasPanel--x-0 {
99
+ left: 0;
100
+ }
101
+
102
+ .hzCanvasPanel--x-pos1 {
103
+ left: 100vw;
104
+ }
105
+
106
+ /* Panel Y-axis positioning */
107
+ .hzCanvasPanel--y-neg1 {
108
+ top: 100vh;
109
+ }
110
+
111
+ .hzCanvasPanel--y-0 {
112
+ top: 0;
113
+ }
114
+
115
+ .hzCanvasPanel--y-pos1 {
116
+ top: -100vh;
117
+ }
118
+
119
+ /* Active panel scroll modifications */
120
+ .hzCanvasPanel--active {
121
+ overflow: hidden;
122
+ pointer-events: auto;
123
+ }
124
+
125
+ .hzCanvasContent {
126
+ width: var(--viewport-width);
127
+ height: var(--viewport-height);
128
+ overflow-x: clip;
129
+ overflow-y: auto;
130
+ position: relative;
131
+ min-height: 0;
132
+ scrollbar-gutter: auto;
133
+ /* scrollbar-gutter: stable; */
134
+ }
135
+
136
+ .hzCanvasContent,
137
+ .hzCanvasPanel--active .hzCanvasContent {
138
+ overscroll-behavior: contain;
139
+ }
140
+
141
+ .hzCanvasPanel--active .hzCanvasContent {
142
+ height: 100dvh;
143
+ max-height: 100dvh;
144
+ overflow-y: auto;
145
+ overflow-x: hidden;
146
+ -webkit-overflow-scrolling: touch;
147
+ touch-action: auto;
148
+ pointer-events: auto;
149
+ }
150
+
151
+ .hzCanvasContent .renderblock-container {
152
+ border: 2px solid var(--dd-300);
153
+ width: calc(100% - 1rem);
154
+ height: calc(100% - 1rem);
155
+ max-height: 100%;
156
+ box-shadow: var(--shadow-3xl);
157
+ corner-shape: squircle;
158
+ border-radius: 3rem;
159
+ margin: auto;
160
+ top: 1%;
161
+ left: 0;
162
+ right: 0;
163
+ overflow: auto clip;
164
+ background: var(--background-dark);
165
+
166
+ @supports not (corner-shape: squircle) {
167
+ border-radius: 1rem;
168
+ overflow: auto clip;
169
+ }
170
+ }
171
+
172
+ /* ==========================================================================
173
+ Canvas Offset
174
+ ========================================================================== */
175
+
176
+ .hzCanvasContent section:nth-child(1) {
177
+ margin-bottom: 1rem;
178
+ }
179
+
180
+ .hzCanvasContent section:nth-child(n + 2) {
181
+ top: -0.5rem;
182
+ margin-top: 2rem;
183
+ }
184
+
185
+ /* ==========================================================================
186
+ Canvas Empty State
187
+ ========================================================================== */
188
+
189
+ .hzCanvasEmpty {
190
+ min-height: 100vh;
191
+ display: flex;
192
+ align-items: center;
193
+ justify-content: center;
194
+ margin: 0;
195
+ padding: 0 2rem;
196
+ font-family: var(--font-display);
197
+ font-size: clamp(4rem, 15vw, 14rem);
198
+ font-weight: 900;
199
+ text-transform: uppercase;
200
+ letter-spacing: 0;
201
+ line-height: 0.82;
202
+ color: transparent;
203
+ -webkit-text-stroke: 1.6px rgba(255, 255, 255, 0.55);
204
+ text-shadow: 3px 3px 0 rgba(255, 255, 255, 0.1);
205
+ }
206
+
207
+ /* ==========================================================================
208
+ Radial Navigation Root
209
+ ========================================================================== */
210
+
211
+ .hzRadialRoot {
212
+ position: fixed;
213
+ bottom: 1rem;
214
+ left: 0;
215
+ right: 0;
216
+ z-index: 180;
217
+ display: flex;
218
+ justify-content: center;
219
+ align-items: center;
220
+ width: 90px;
221
+ height: 55px;
222
+ margin: auto;
223
+ background: 0 0;
224
+ border-radius: 999px;
225
+ outline: none;
226
+ transform-origin: bottom;
227
+ background: var(--color-base);
228
+ }
229
+
230
+ .hzRadialNavIsOpen {
231
+ width: 150px;
232
+ height: 75px;
233
+ filter: drop-shadow(2px 4px 16px #0c0b10b1) brightness(1.2);
234
+ background: #0c0b10;
235
+ box-shadow: 0px 0px 64px 8px #0c0b10b1;
236
+ transition: all 0.2s;
237
+ }
238
+
239
+ @media (hover: hover) and (pointer: fine) {
240
+ .hzRadialRoot:hover {
241
+ width: 150px;
242
+ height: 75px;
243
+ filter: drop-shadow(2px 4px 16px #0c0b10b1) brightness(1.2);
244
+ background: #0c0b10;
245
+ box-shadow: 0px 0px 64px 8px #0c0b10b1;
246
+ transition: all 0.2s;
247
+ }
248
+ }
249
+
250
+ /* .hzRadialNavIsOpen .hzCanvasContent .renderblock-container,
251
+ .hzRadialRoot:hover~.hzCanvasContent .renderblock-container {
252
+ filter: brightness(0.5);
253
+ } */
254
+ .hzCanvasPanel {
255
+ filter: brightness(1) blur(0);
256
+ transition: all 0.3s;
257
+ }
258
+
259
+ body.hasRadialNavOpen .hzCanvasPanel {
260
+ filter: brightness(0.5) blur(4px);
261
+ transform: matrix3d(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1.2);
262
+ transition: all 0.3s;
263
+ }
264
+
265
+ @media (hover: hover) and (pointer: fine) {
266
+ body:has(.hzRadialRoot:hover) .hzCanvasPanel {
267
+ filter: brightness(0.5) blur(4px);
268
+ transform: matrix3d(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1.2);
269
+ transition: all 0.3s;
270
+ }
271
+ }
272
+
273
+ .radialNav-notification {
274
+ display: none;
275
+ }
276
+
277
+ .hzRadialNavIsOpen .radialNav-notification {
278
+ display: flex;
279
+ position: fixed;
280
+ top: -100vh;
281
+
282
+ @media (max-width: 768px) {
283
+ transform-origin: center;
284
+ width: 100vw;
285
+ min-width: 100vw;
286
+ margin: 0;
287
+ padding: 2rem;
288
+ position: relative;
289
+ top: -60vh;
290
+ left: 40vw;
291
+ right: 0;
292
+ scale: 0.8;
293
+ }
294
+ }
295
+
296
+ /* ==========================================================================
297
+ Radial Backdrop
298
+ ========================================================================== */
299
+
300
+ .hzRadialBackdrop {
301
+ position: absolute;
302
+ inset: 0;
303
+ -webkit-backdrop-filter: blur(18px);
304
+ backdrop-filter: blur(18px);
305
+ background: var(--radial-bg-gradient);
306
+ border: 1px solid var(--radial-border-color);
307
+ border-radius: 999px;
308
+ outline: 0.5rem solid rgba(45, 38, 75, 0.5);
309
+ outline-offset: 2px;
310
+ transition: all 0.6s;
311
+ }
312
+
313
+ /* Backdrop hover & active states */
314
+ :is(.hzRadialBackdrop:hover, .hzRadialRoot:has(.hzRadialItem:hover) .hzRadialBackdrop) {
315
+ outline: 1px solid var(--radial-outline-color);
316
+ outline-offset: 8px;
317
+ border: 1px solid var(--radial-border-hover);
318
+ background: var(--radial-bg-gradient);
319
+ }
320
+
321
+ :is(
322
+ .hzRadialBackdrop:hover,
323
+ .hzRadialRoot:has(.hzRadialCenterButton) .hzRadialCenterButton--active
324
+ ),
325
+ :is(.hzRadialBackdrop:hover, .hzRadialRoot:has(.hzRadialCenterButton) .hzRadialCenterButton) {
326
+ border: 0px solid #ffffff4d;
327
+ background: transparent;
328
+ box-shadow: var(--shadow-xl);
329
+ }
330
+
331
+ /* ==========================================================================
332
+ Hamburger Morph into CustomHomeIcon
333
+ ========================================================================== */
334
+ .hzRadialCenterButton {
335
+ overflow: visible;
336
+ }
337
+
338
+ .hzRadialCenterButtonIcon {
339
+ position: relative;
340
+ display: flex;
341
+ align-items: center;
342
+ justify-content: center;
343
+ width: 24px;
344
+ height: 24px;
345
+ }
346
+
347
+ .hzRadialCenterButtonIcon:hover {
348
+ transform: rotate(0deg) !important;
349
+ }
350
+
351
+ .hzMorphIcon {
352
+ position: relative;
353
+ display: block;
354
+ width: 24px;
355
+ height: 24px;
356
+ pointer-events: none;
357
+ }
358
+
359
+ .hzMorphIconLayer {
360
+ position: absolute;
361
+ inset: 0;
362
+ display: flex;
363
+ align-items: center;
364
+ justify-content: center;
365
+ width: 24px;
366
+ height: 24px;
367
+ transition:
368
+ opacity 0.3s cubic-bezier(0.4, 0, 0.2, 1),
369
+ transform 0.4s cubic-bezier(0.34, 1.56, 0.64, 1),
370
+ visibility 0.3s;
371
+ }
372
+
373
+ .hzMorphIconLayer svg {
374
+ display: block;
375
+ width: 24px;
376
+ height: 24px;
377
+ max-width: 24px;
378
+ max-height: 24px;
379
+ transform: none !important;
380
+ }
381
+
382
+ .hzMorphIconLayer--hamburger {
383
+ opacity: 1;
384
+ visibility: visible;
385
+ transform: rotate(0deg) scale(1);
386
+ }
387
+
388
+ .hzMorphIconLayer--home {
389
+ opacity: 0;
390
+ visibility: hidden;
391
+ transform: rotate(-90deg) scale(1.2);
392
+ }
393
+
394
+ .hzMorphIcon--active .hzMorphIconLayer--hamburger {
395
+ opacity: 0;
396
+ visibility: hidden;
397
+ transform: rotate(90deg) scale(0.6);
398
+ }
399
+
400
+ .hzMorphIcon--active .hzMorphIconLayer--home {
401
+ opacity: 1;
402
+ visibility: visible;
403
+ transform: rotate(0deg) scale(1.2);
404
+ }
405
+
406
+ .hzMorphIconHamburger line {
407
+ transition:
408
+ transform 0.3s cubic-bezier(0.4, 0, 0.2, 1),
409
+ opacity 0.15s ease,
410
+ stroke 0.3s ease;
411
+ transform-origin: center;
412
+ }
413
+
414
+ .hzRadialCenterButton:hover .hzMorphIcon--active .hzMorphIconLayer--home {
415
+ transform: rotate(0deg) scale(1.35);
416
+ }
417
+
418
+ .hzRadialCenterButton:hover .hzMorphIconHamburger line {
419
+ stroke: #ffffff;
420
+ }
421
+
422
+ /* ==========================================================================
423
+ Radial Items
424
+ ========================================================================== */
425
+
426
+ .hzRadialItem {
427
+ position: absolute;
428
+ display: flex;
429
+ justify-content: center;
430
+ align-items: center;
431
+ gap: 6px;
432
+ height: 40px;
433
+ padding: 0 10px;
434
+ color: aliceblue;
435
+ background: #121216;
436
+ border: 1px solid var(--radial-border-hover);
437
+ border-radius: 999px;
438
+ outline: 0 solid var(--radial-outline-color);
439
+ filter: brightness(1.1);
440
+ scale: 1.1;
441
+ outline-offset: 0;
442
+ cursor: pointer;
443
+ white-space: nowrap;
444
+ overflow: hidden;
445
+ transform: translate(-50%, -50%);
446
+ transition:
447
+ outline 0.2s,
448
+ outline-offset 0.3s,
449
+ background 0.3s,
450
+ border-color 0.3s,
451
+ filter 0.3s;
452
+ z-index: 999;
453
+ }
454
+
455
+ .hzRadialItem:hover {
456
+ outline: 3px solid var(--radial-outline-color);
457
+ outline-offset: 1px;
458
+ }
459
+
460
+ /* Active radial item states */
461
+ .hzRadialItem--active {
462
+ outline: 2px solid #9803e266;
463
+ outline-offset: 1px;
464
+ transition: all 0.3s;
465
+ }
466
+
467
+ .hzRadialItem--active:hover {
468
+ pointer-events: none !important;
469
+ z-index: 50 !important;
470
+ }
471
+
472
+ .hzRadialItem--closed {
473
+ pointer-events: none;
474
+ }
475
+
476
+ /* Active item label adjustments */
477
+ .hzRadialItem--active .hzRadialItemLabel,
478
+ .hzRadialItem--active.hzRadialItem--id-8 .hzRadialItemLabel {
479
+ font-size: large;
480
+ font-weight: 400;
481
+ line-height: normal;
482
+ position: relative;
483
+ top: -1px;
484
+ }
485
+
486
+ .hzRadialItemLabel {
487
+ font-size: 13px;
488
+ font-weight: 700;
489
+ }
490
+
491
+ .hzRadialRoot:not(.hzRadialNavIsOpen) .hzRadialItem--active {
492
+ opacity: 0 !important;
493
+ scale: 0 !important;
494
+ pointer-events: none !important;
495
+ }
496
+
497
+ /* Item ID-specific active margins */
498
+ /* .hzRadialItem--active.hzRadialItem--id-2 {
499
+ margin-top: -1rem;
500
+ margin-left: calc(-40% - 0rem);
501
+ }
502
+
503
+ .hzRadialItem--active.hzRadialItem--id-7 {
504
+ margin-top: -8rem;
505
+ margin-left: calc(40% - 2.5rem);
506
+ }
507
+
508
+ .hzRadialItem--active.hzRadialItem--id-8 {
509
+ margin-top: -11rem;
510
+ margin-left: -40%;
511
+ }
512
+
513
+ .hzRadialItem--active.hzRadialItem--id-9 {
514
+ margin-top: -8rem;
515
+ margin-left: calc(-40% - 4.5rem);
516
+ } */
517
+
518
+ /* Default ID-8 positioning */
519
+ .hzRadialItem--id-8 {
520
+ margin-left: -5px;
521
+ margin-top: -3rem;
522
+ }
523
+
524
+ /* ==========================================================================
525
+ Tooltip-related Hiding Behavior
526
+ ========================================================================== */
527
+
528
+ /* div[data-slot="tooltip-portal"]:hover,
529
+ .hzRadialRoot:hover .hzRadialItem--active,
530
+ .hzRadialRoot:has(.hzTooltipPanel:hover) .hzRadialItem--active {
531
+ opacity: 0 !important;
532
+ margin-top: 100vh;
533
+ scale: 0;
534
+ pointer-events: none !important;
535
+ transition: all 0.3s;
536
+ } */
537
+
538
+ /* ==========================================================================
539
+ Radial Center Button
540
+ ========================================================================== */
541
+
542
+ .hzRadialCenterButton {
543
+ position: absolute;
544
+ top: 50%;
545
+ left: 50%;
546
+ display: flex;
547
+ justify-content: center;
548
+ align-items: center;
549
+ width: 46px;
550
+ height: 46px;
551
+ color: #fff;
552
+ background: #111;
553
+ border: 2px solid #ffffff4d;
554
+ border-radius: 999px;
555
+ outline: none;
556
+ cursor: pointer;
557
+ z-index: 5;
558
+ isolation: isolate;
559
+ overflow: visible;
560
+ transform: translate(-50%, -50%);
561
+ transition: all 0.35s;
562
+ box-shadow:
563
+ 0 0 #9803e200,
564
+ inset 0 0 #fff0;
565
+ }
566
+
567
+ .hzRadialCenterButton > div {
568
+ position: relative;
569
+ z-index: 3;
570
+ display: flex;
571
+ justify-content: center;
572
+ align-items: center;
573
+ width: 100%;
574
+ height: 100%;
575
+ }
576
+
577
+ /* Glow pseudo-element */
578
+ .hzRadialCenterButton::before {
579
+ content: '';
580
+ position: absolute;
581
+ top: 50%;
582
+ left: 50%;
583
+ width: 46px;
584
+ height: 46px;
585
+ background: radial-gradient(circle, #9803e257 0%, #9803e224 42%, #0000 72%);
586
+ border-radius: 999px;
587
+ pointer-events: none;
588
+ z-index: -1;
589
+ transform: translate(-50%, -50%) scale(1);
590
+ }
591
+
592
+ /* Ripple animation pseudo-element */
593
+ .hzRadialCenterButton::after {
594
+ content: '';
595
+ position: absolute;
596
+ top: 50%;
597
+ left: 50%;
598
+ width: 48px;
599
+ height: 46px;
600
+ border: 1px solid #ffffff21;
601
+ border-radius: 999px;
602
+ animation: 2.6s ease-out infinite hzCursorRipple;
603
+ pointer-events: none;
604
+ z-index: -2;
605
+ transform: translate(-50%, -50%) scale(1);
606
+ }
607
+
608
+ /* Hover state */
609
+ .hzRadialCenterButton:hover {
610
+ border: 1px solid #ffffff7a;
611
+ outline: 3px solid var(--radial-outline-color);
612
+ outline-offset: 1px;
613
+ transition: all 0.3s;
614
+ }
615
+
616
+ .hzRadialCenterButton:hover::before {
617
+ box-shadow:
618
+ 0 0 20px #9803e266,
619
+ inset 0 0 12px #ffffff14;
620
+ transition: all 0.3s;
621
+ }
622
+
623
+ /* Active state */
624
+ .hzRadialCenterButton--active {
625
+ background: var(--radial-active-bg);
626
+ }
627
+
628
+ .hzRadialCenterButton.hzRadialCenterButton--active {
629
+ left: calc(50% - 0px) !important;
630
+ top: calc(50% - 0px) !important;
631
+ }
632
+
633
+ .hzRadialReturnButton {
634
+ position: absolute;
635
+ left: calc(50% - 20rem);
636
+ top: calc(50% - 17px);
637
+ display: flex;
638
+ align-items: center;
639
+ justify-content: center;
640
+ width: fit-content;
641
+ height: 34px;
642
+ padding: 0 8px;
643
+ gap: 4px;
644
+ color: rgba(255, 255, 255, 0.88);
645
+ background: #121216e6;
646
+ border: 1px solid var(--radial-border-hover);
647
+ border-radius: 999px;
648
+ outline: 0 solid var(--radial-outline-color);
649
+ box-shadow: var(--shadow-xl);
650
+ cursor: pointer;
651
+ z-index: 1000;
652
+ transition:
653
+ background 0.2s ease,
654
+ border-color 0.2s ease,
655
+ outline 0.2s ease,
656
+ outline-offset 0.2s ease;
657
+
658
+ @media (max-width: 768px) {
659
+ top: calc(100% + 4rem);
660
+ left: calc(100% - 10rem);
661
+ scale: 0.8;
662
+ }
663
+ }
664
+
665
+ .hzRadialReturnButton:hover,
666
+ .hzRadialReturnButton:focus-visible {
667
+ color: #fff;
668
+ background: #1f1a30;
669
+ border-color: #ffffff7a;
670
+ outline: 3px solid var(--radial-outline-color);
671
+ outline-offset: 1px;
672
+ }
673
+
674
+ .hzRadialRoot:not(.hzRadialNavIsOpen) .hzRadialReturnButton {
675
+ pointer-events: none;
676
+ }
677
+
678
+ /* ==========================================================================
679
+ Radial Item Specific Canvas Positions
680
+ ========================================================================== */
681
+
682
+ .hzRadialItem.group.hzRadialItem--canvas_01.hzRadialItem--id-1 {
683
+ left: calc(50% - 96px) !important;
684
+ top: calc(50% - 74px) !important;
685
+ }
686
+
687
+ .hzRadialItem.group.hzRadialItem--canvas_02.hzRadialItem--id-2 {
688
+ left: calc(50% - 20px) !important;
689
+ top: calc(50% - 74px) !important;
690
+ }
691
+
692
+ .hzRadialItem.group.hzRadialItem--canvas_03.hzRadialItem--id-3 {
693
+ left: calc(50% + 54px) !important;
694
+ top: calc(50% - 74px) !important;
695
+ }
696
+
697
+ .hzRadialItem.group.hzRadialItem--canvas_04.hzRadialItem--id-4 {
698
+ left: calc(50% - 132px) !important;
699
+ top: calc(50% - 20px) !important;
700
+ }
701
+
702
+ .hzRadialItem.group.hzRadialItem--canvas_06.hzRadialItem--id-6 {
703
+ left: calc(50% + 88px) !important;
704
+ top: calc(50% - 20px) !important;
705
+ }
706
+
707
+ .hzRadialItem.group.hzRadialItem--canvas_07.hzRadialItem--id-7 {
708
+ left: calc(50% - 96px) !important;
709
+ top: calc(50% + 34px) !important;
710
+ }
711
+
712
+ .hzRadialItem.group.hzRadialItem--canvas_08.hzRadialItem--id-8 {
713
+ left: calc(50% - 16px) !important;
714
+ top: calc(50% + 82px) !important;
715
+ }
716
+
717
+ .hzRadialItem.group.hzRadialItem--canvas_09.hzRadialItem--id-9 {
718
+ left: calc(50% + 54px) !important;
719
+ top: calc(50% + 34px) !important;
720
+ }
721
+
722
+ /* ==========================================================================
723
+ Tooltip Styles
724
+ ========================================================================== */
725
+
726
+ .hzTooltipPanel {
727
+ position: relative;
728
+ user-select: none;
729
+ scale: 1;
730
+ top: 4px;
731
+ background: #121216e0 !important;
732
+ z-index: 9999 !important;
733
+ transition: all 0.1s !important;
734
+ opacity: 1 !important;
735
+ pointer-events: none;
736
+ }
737
+
738
+ .hzTooltipPanel p {
739
+ position: relative;
740
+ user-select: none;
741
+ font-size: smaller;
742
+ transition: all 0.1s !important;
743
+ padding: 0 !important;
744
+ margin: 0 !important;
745
+ opacity: 1 !important;
746
+ z-index: 9999 !important;
747
+ pointer-events: none;
748
+ }
749
+
750
+ .z-100.hzToolTip {
751
+ user-select: none;
752
+ z-index: 9999 !important;
753
+ mix-blend-mode: luminosity;
754
+ pointer-events: none;
755
+ }
756
+
757
+ /* ==========================================================================
758
+ Keyframes
759
+ ========================================================================== */
760
+
761
+ @keyframes hzCursorRipple {
762
+ 0% {
763
+ opacity: 0.45;
764
+ transform: translate(-50%, -50%) scale(1);
765
+ }
766
+
767
+ 65% {
768
+ opacity: 0.16;
769
+ }
770
+
771
+ 100% {
772
+ opacity: 0;
773
+ transform: translate(-50%, -50%) scale(4.2);
774
+ }
775
+ }
776
+
777
+ /* ==========================================================================
778
+ Responsive
779
+ ========================================================================== */
780
+
781
+ @media (max-width: 768px) {
782
+ .hzRadialRoot {
783
+ bottom: 0.5rem;
784
+ }
785
+
786
+ .hzRadialNavIsOpen {
787
+ bottom: 4rem;
788
+ background: #0c0b10;
789
+ box-shadow: 0px 0px 64px 8px #0c0b10b1;
790
+ scale: 1.3;
791
+ transform: all 0.2s;
792
+ }
793
+
794
+ .hzRadialBackdrop {
795
+ box-sizing: border-box;
796
+ }
797
+
798
+ .hzRadialBackdrop::before {
799
+ position: absolute;
800
+ height: auto;
801
+ width: auto;
802
+ box-shadow: 0px 0px 64px 8px #0c0b10b1;
803
+ }
804
+ }
805
+
806
+ /* Dynamics css */
807
+
808
+ .glass-button-wrap.heroIntro-iconBtn {
809
+ min-width: fit-content;
810
+ width: 6rem;
811
+ border: 1px solid var(--border);
812
+ filter: drop-shadow(0px 2px 1px #ffffff80);
813
+
814
+ @media (max-height: 700px) {
815
+ min-width: 5rem;
816
+ }
817
+
818
+ @media (max-width: 768px) {
819
+ min-width: 5rem;
820
+ }
821
+ }
822
+
823
+ .heroIntro-iconBtn:hover {
824
+ transform: translateY(-0.25rem);
825
+ box-shadow: var(--shadow-2xl);
826
+ background: var(--background-dark);
827
+ transition: all 0.2s;
828
+ }
829
+
830
+ .container.grid.mx-auto.introContainer {
831
+ mix-blend-mode: normal;
832
+ }
833
+
834
+ .gap-2.canvas2btnrow {
835
+ gap: 1rem;
836
+
837
+ @media (max-width: 768px) {
838
+ gap: 0.5rem;
839
+ }
840
+ }
841
+
842
+ span.journey-text-hover {
843
+ margin-bottom: 1rem;
844
+ }
845
+
846
+ svg.customJourneyIcon {
847
+ padding: 0.1rem 1px 0.1rem 0;
848
+ }
849
+
850
+ section#canvas05-heroIntro {
851
+ @media (max-height: 700px) {
852
+ & .heroLens-heading1 {
853
+ margin-top: 4rem;
854
+ scale: 0.9;
855
+ }
856
+ }
857
+ }
858
+
859
+ @media (max-width: 768px) {
860
+ section#intro-canvas .text-4xl,
861
+ section#intro-canvas .text-5xl,
862
+ section#intro-canvas .text-6xl {
863
+ filter: none !important;
864
+ }
865
+
866
+ .heroIntro-wrapper.grid.grid-cols-4.gap-2 {
867
+ gap: 3rem;
868
+ scale: 0.9;
869
+ }
870
+
871
+ .canvas6btnrow,
872
+ .canvas3Abtnrow,
873
+ .gap-2.canvas2btnrow {
874
+ max-width: 22rem;
875
+
876
+ @supports not (corner-shape: squircle) {
877
+ border-radius: 1rem;
878
+ }
879
+ }
880
+
881
+ .canvas6btnrow .glass-button-wrap.heroIntro-iconBtn {
882
+ max-width: 5rem;
883
+ }
884
+
885
+ .canvas6btnrow {
886
+ left: 0.5rem !important;
887
+ top: calc(40% + 17rem) !important;
888
+ }
889
+ }