@envive-ai/react-toolkit-v3 0.3.21 → 0.3.23

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 (284) hide show
  1. package/dist/AnimatedText/AnimatedText.d.cts +3 -3
  2. package/dist/AnimatedText/AnimatedText.d.ts +3 -3
  3. package/dist/CSSVariablesEditor/CssVariablesEditorComponent.d.cts +2 -2
  4. package/dist/CSSVariablesEditor/CssVariablesEditorComponent.d.ts +2 -2
  5. package/dist/Carousel/Carousel.cjs +1 -1
  6. package/dist/Carousel/Carousel.d.cts +2 -2
  7. package/dist/Carousel/Carousel.d.ts +2 -2
  8. package/dist/Carousel/Carousel.js +1 -1
  9. package/dist/Carousel/components/Container.cjs +2 -2
  10. package/dist/Carousel/components/Container.js +2 -2
  11. package/dist/ChatFooter/ChatFooter.cjs +7 -3
  12. package/dist/ChatFooter/ChatFooter.d.cts +7 -3
  13. package/dist/ChatFooter/ChatFooter.d.ts +5 -1
  14. package/dist/ChatFooter/ChatFooter.js +7 -3
  15. package/dist/ChatFooter/components/Layout.cjs +2 -2
  16. package/dist/ChatFooter/components/Layout.js +2 -2
  17. package/dist/ChatFooter/components/index.d.cts +10 -6
  18. package/dist/ChatFooter/components/index.d.ts +7 -3
  19. package/dist/ChatFooter/types/types.d.cts +16 -0
  20. package/dist/ChatFooter/types/types.d.ts +16 -0
  21. package/dist/ChatHeader/ChatHeader.cjs +2 -1
  22. package/dist/ChatHeader/ChatHeader.d.cts +2 -2
  23. package/dist/ChatHeader/ChatHeader.d.ts +2 -2
  24. package/dist/ChatHeader/ChatHeader.js +2 -1
  25. package/dist/ChatHeader/components/Handle.cjs +4 -4
  26. package/dist/ChatHeader/components/Handle.js +4 -4
  27. package/dist/ChatHeader/components/Toggle.cjs +3 -3
  28. package/dist/ChatHeader/components/Toggle.js +3 -3
  29. package/dist/ChatHeader/hooks/useGetHandleProperties.cjs +8 -6
  30. package/dist/ChatHeader/hooks/useGetHandleProperties.js +8 -6
  31. package/dist/ChatHeader/hooks/useGetToggleOptionProperties.cjs +1 -1
  32. package/dist/ChatHeader/hooks/useGetToggleOptionProperties.js +1 -1
  33. package/dist/ChatPreview/ChatPreview.cjs +7 -4
  34. package/dist/ChatPreview/ChatPreview.d.cts +2 -2
  35. package/dist/ChatPreview/ChatPreview.js +7 -4
  36. package/dist/ChatPreview/index.d.cts +2 -2
  37. package/dist/ChatPreview/index.d.ts +2 -2
  38. package/dist/ChatPreview/types/types.d.cts +13 -1
  39. package/dist/ChatPreview/types/types.d.ts +13 -1
  40. package/dist/ChatPreviewComparison/ChatPreviewComparison.cjs +7 -4
  41. package/dist/ChatPreviewComparison/ChatPreviewComparison.d.cts +2 -2
  42. package/dist/ChatPreviewComparison/ChatPreviewComparison.d.ts +2 -2
  43. package/dist/ChatPreviewComparison/ChatPreviewComparison.js +7 -4
  44. package/dist/ChatPreviewComparison/components/Headline.cjs +2 -2
  45. package/dist/ChatPreviewComparison/components/Headline.js +2 -2
  46. package/dist/ChatPreviewComparison/components/Layout.cjs +4 -4
  47. package/dist/ChatPreviewComparison/components/Layout.js +4 -4
  48. package/dist/ChatPreviewComparison/components/Message.cjs +2 -2
  49. package/dist/ChatPreviewComparison/components/Message.js +2 -2
  50. package/dist/ChatPreviewComparison/index.d.cts +2 -2
  51. package/dist/ChatPreviewComparison/index.d.ts +2 -2
  52. package/dist/ChatPreviewComparison/types/types.d.cts +13 -1
  53. package/dist/ChatPreviewComparison/types/types.d.ts +13 -1
  54. package/dist/ChatPreviewLoading/ChatPreviewLoading.cjs +7 -2
  55. package/dist/ChatPreviewLoading/ChatPreviewLoading.d.cts +4 -3
  56. package/dist/ChatPreviewLoading/ChatPreviewLoading.d.ts +4 -3
  57. package/dist/ChatPreviewLoading/ChatPreviewLoading.js +7 -2
  58. package/dist/ChatPreviewLoading/types/types.d.cts +4 -0
  59. package/dist/ChatPreviewLoading/types/types.d.ts +4 -0
  60. package/dist/Container/Container.d.cts +172 -172
  61. package/dist/Container/Container.d.ts +172 -172
  62. package/dist/DesignTokens/DesignTokensComponent.d.cts +2 -2
  63. package/dist/DesignTokens/DesignTokensComponent.d.ts +2 -2
  64. package/dist/Disclaimer/components/Container.cjs +2 -2
  65. package/dist/Disclaimer/components/Container.js +2 -2
  66. package/dist/DocumentRetrievalCard/DocumentRetrievalCard.d.cts +2 -2
  67. package/dist/DocumentRetrievalCard/DocumentRetrievalCard.d.ts +2 -2
  68. package/dist/DocumentRetrievalCard/components/Layout.cjs +2 -2
  69. package/dist/DocumentRetrievalCard/components/Layout.js +2 -2
  70. package/dist/DocumentRetrievalCard/components/ViewArticleButton/components/Icon.cjs +1 -1
  71. package/dist/DocumentRetrievalCard/components/ViewArticleButton/components/Icon.js +1 -1
  72. package/dist/FloatingButton/FloatingButton.d.cts +2 -2
  73. package/dist/FloatingButton/FloatingButton.d.ts +2 -2
  74. package/dist/FloatingChat/FloatingChat.cjs +27 -4
  75. package/dist/FloatingChat/FloatingChat.d.cts +2 -2
  76. package/dist/FloatingChat/FloatingChat.d.ts +2 -2
  77. package/dist/FloatingChat/FloatingChat.js +28 -5
  78. package/dist/FloatingChat/components/AgentMessage.cjs +2 -2
  79. package/dist/FloatingChat/components/AgentMessage.js +2 -2
  80. package/dist/FloatingChat/components/ChatMessages.cjs +1 -1
  81. package/dist/FloatingChat/components/ChatMessages.js +1 -1
  82. package/dist/FloatingChat/components/Layout.cjs +3 -3
  83. package/dist/FloatingChat/components/Layout.js +3 -3
  84. package/dist/FloatingChat/components/ResultsGridView.cjs +1 -1
  85. package/dist/FloatingChat/components/ResultsGridView.js +1 -1
  86. package/dist/FloatingChat/components/SalesAgentBadgeContent.cjs +1 -1
  87. package/dist/FloatingChat/components/SalesAgentBadgeContent.js +1 -1
  88. package/dist/FloatingChat/hooks/useChatSuggestions.cjs +3 -5
  89. package/dist/FloatingChat/hooks/useChatSuggestions.js +4 -6
  90. package/dist/FullPageSalesAgent/FullPageSalesAgent.cjs +25 -3
  91. package/dist/FullPageSalesAgent/FullPageSalesAgent.d.cts +5 -3
  92. package/dist/FullPageSalesAgent/FullPageSalesAgent.d.ts +5 -3
  93. package/dist/FullPageSalesAgent/FullPageSalesAgent.js +26 -4
  94. package/dist/Image/Image.d.cts +2 -2
  95. package/dist/Image/Image.d.ts +2 -2
  96. package/dist/ImageGallery/ImageGallery.d.cts +2 -2
  97. package/dist/ImageGallery/ImageGallery.d.ts +2 -2
  98. package/dist/ImageGallery/components/Layout.cjs +1 -1
  99. package/dist/ImageGallery/components/Layout.js +1 -1
  100. package/dist/MarkdownProcessor/MarkdownProcessor.d.cts +2 -2
  101. package/dist/MarkdownProcessor/MarkdownProcessor.d.ts +2 -2
  102. package/dist/Message/components/LinkButton.cjs +1 -1
  103. package/dist/Message/components/LinkButton.js +1 -1
  104. package/dist/OrderLookupCard/OrderLookupCard.cjs +1 -1
  105. package/dist/OrderLookupCard/OrderLookupCard.js +1 -1
  106. package/dist/ProductCard/ProductCard.cjs +7 -3
  107. package/dist/ProductCard/ProductCard.d.cts +6 -3
  108. package/dist/ProductCard/ProductCard.d.ts +6 -3
  109. package/dist/ProductCard/ProductCard.js +7 -3
  110. package/dist/ProductCard/index.d.cts +2 -2
  111. package/dist/ProductCard/index.d.ts +2 -2
  112. package/dist/ProductCard/types/index.d.cts +7 -1
  113. package/dist/ProductCard/types/index.d.ts +7 -1
  114. package/dist/PromptButton/PromptButton.d.cts +2 -2
  115. package/dist/PromptButton/PromptButton.d.ts +2 -2
  116. package/dist/PromptButtonCarouselWithImage/PromptButtonCarouselWithImage.cjs +5 -2
  117. package/dist/PromptButtonCarouselWithImage/PromptButtonCarouselWithImage.d.cts +6 -3
  118. package/dist/PromptButtonCarouselWithImage/PromptButtonCarouselWithImage.d.ts +6 -3
  119. package/dist/PromptButtonCarouselWithImage/PromptButtonCarouselWithImage.js +5 -2
  120. package/dist/PromptButtonCarouselWithImage/components/PromptButtonsCarousel.cjs +1 -1
  121. package/dist/PromptButtonCarouselWithImage/components/PromptButtonsCarousel.js +1 -1
  122. package/dist/PromptButtonCarouselWithImage/types/types.d.cts +12 -0
  123. package/dist/PromptButtonCarouselWithImage/types/types.d.ts +12 -0
  124. package/dist/PromptCarousel/PromptCarousel.cjs +3 -3
  125. package/dist/PromptCarousel/PromptCarousel.d.cts +2 -2
  126. package/dist/PromptCarousel/PromptCarousel.d.ts +2 -2
  127. package/dist/PromptCarousel/PromptCarousel.js +3 -3
  128. package/dist/ReviewCard/ReviewCard.d.cts +2 -2
  129. package/dist/ReviewCard/ReviewCard.d.ts +2 -2
  130. package/dist/ReviewCard/components/Container.cjs +2 -2
  131. package/dist/ReviewCard/components/Container.js +2 -2
  132. package/dist/ReviewCard/components/Rating.cjs +0 -1
  133. package/dist/ReviewCard/components/Rating.js +0 -1
  134. package/dist/ReviewCard/components/ReadMoreButton.cjs +1 -1
  135. package/dist/ReviewCard/components/ReadMoreButton.js +1 -1
  136. package/dist/ReviewCard/components/index.d.cts +4 -4
  137. package/dist/ReviewCard/components/index.d.ts +6 -6
  138. package/dist/SalesAgentProductCard/SalesAgentProductCard.d.cts +2 -2
  139. package/dist/SalesAgentProductCard/SalesAgentProductCard.d.ts +2 -2
  140. package/dist/SalesAgentProductCard/components/Container.cjs +2 -2
  141. package/dist/SalesAgentProductCard/components/Container.js +2 -2
  142. package/dist/SalesAgentProductCard/components/index.d.cts +6 -6
  143. package/dist/SalesAgentProductCard/components/index.d.ts +8 -8
  144. package/dist/SocialProof/SocialProof.cjs +7 -4
  145. package/dist/SocialProof/SocialProof.d.cts +2 -2
  146. package/dist/SocialProof/SocialProof.js +7 -4
  147. package/dist/SocialProof/components/Headline.cjs +3 -3
  148. package/dist/SocialProof/components/Headline.js +3 -3
  149. package/dist/SocialProof/components/LayoutFourHorizontal.cjs +1 -1
  150. package/dist/SocialProof/components/LayoutFourHorizontal.js +1 -1
  151. package/dist/SocialProof/components/Subheadline.cjs +1 -1
  152. package/dist/SocialProof/components/Subheadline.js +1 -1
  153. package/dist/SocialProof/components/Textfield.cjs +5 -2
  154. package/dist/SocialProof/components/Textfield.js +5 -2
  155. package/dist/SocialProof/index.d.cts +2 -2
  156. package/dist/SocialProof/index.d.ts +2 -2
  157. package/dist/SocialProof/types/types.d.cts +13 -1
  158. package/dist/SocialProof/types/types.d.ts +13 -1
  159. package/dist/SparkleAnimation/SparkleAnimation.d.cts +2 -2
  160. package/dist/SparkleAnimation/SparkleAnimation.d.ts +2 -2
  161. package/dist/Stack/Stack.d.cts +2 -2
  162. package/dist/Stack/Stack.d.ts +2 -2
  163. package/dist/TextField/TextField.cjs +34 -2
  164. package/dist/TextField/TextField.d.cts +5 -1
  165. package/dist/TextField/TextField.d.ts +5 -1
  166. package/dist/TextField/TextField.js +34 -2
  167. package/dist/TextField/components/Layout.cjs +10 -7
  168. package/dist/TextField/components/Layout.js +10 -7
  169. package/dist/TextField/components/VoiceInputButton.cjs +45 -0
  170. package/dist/TextField/components/VoiceInputButton.js +39 -0
  171. package/dist/TextField/components/index.cjs +3 -1
  172. package/dist/TextField/components/index.js +3 -1
  173. package/dist/TextField/hooks/useGetMicButtonContainerProperties.cjs +20 -0
  174. package/dist/TextField/hooks/useGetMicButtonContainerProperties.js +19 -0
  175. package/dist/TextField/hooks/useGetSkeletonProperties.cjs +1 -1
  176. package/dist/TextField/hooks/useGetSkeletonProperties.js +1 -1
  177. package/dist/TextField/hooks/useVoiceInput.cjs +59 -0
  178. package/dist/TextField/hooks/useVoiceInput.js +57 -0
  179. package/dist/TextField/types/index.d.cts +11 -0
  180. package/dist/TextField/types/index.d.ts +11 -0
  181. package/dist/TextField/utils/getLayoutStateProperties.cjs +9 -1
  182. package/dist/TextField/utils/getLayoutStateProperties.js +8 -1
  183. package/dist/TitledPromptCarousel/TitledPromptCarousel.cjs +1 -1
  184. package/dist/TitledPromptCarousel/TitledPromptCarousel.d.cts +2 -2
  185. package/dist/TitledPromptCarousel/TitledPromptCarousel.d.ts +2 -2
  186. package/dist/TitledPromptCarousel/TitledPromptCarousel.js +1 -1
  187. package/dist/Tokens/index.cjs +1 -1
  188. package/dist/Tokens/index.js +1 -1
  189. package/dist/TypingAnimation/TypingAnimation.cjs +8 -4
  190. package/dist/TypingAnimation/TypingAnimation.d.cts +2 -2
  191. package/dist/TypingAnimation/TypingAnimation.js +8 -4
  192. package/dist/TypingAnimation/hooks/useGetTypographyVariant.cjs +1 -1
  193. package/dist/TypingAnimation/hooks/useGetTypographyVariant.js +1 -1
  194. package/dist/TypingAnimation/index.d.cts +2 -2
  195. package/dist/TypingAnimation/index.d.ts +2 -2
  196. package/dist/TypingAnimation/types/index.d.cts +13 -1
  197. package/dist/TypingAnimation/types/index.d.ts +13 -1
  198. package/dist/Typography/Typography.d.cts +4 -4
  199. package/dist/Typography/Typography.d.ts +4 -4
  200. package/dist/WelcomeMessage/components/Container.cjs +2 -2
  201. package/dist/WelcomeMessage/components/Container.js +2 -2
  202. package/dist/WidgetTextField/WidgetTextField.cjs +40 -8
  203. package/dist/WidgetTextField/WidgetTextField.d.cts +7 -3
  204. package/dist/WidgetTextField/WidgetTextField.d.ts +7 -3
  205. package/dist/WidgetTextField/WidgetTextField.js +34 -3
  206. package/dist/WidgetTextField/components/Container.cjs +33 -27
  207. package/dist/WidgetTextField/components/Container.js +33 -27
  208. package/dist/WidgetTextField/components/Icon.cjs +1 -1
  209. package/dist/WidgetTextField/components/Icon.js +1 -1
  210. package/dist/WidgetTextField/hooks/useGetContainerProperties.cjs +5 -3
  211. package/dist/WidgetTextField/hooks/useGetContainerProperties.js +5 -3
  212. package/dist/WidgetTextField/hooks/useGetMicWidgetButtonProperties.cjs +20 -0
  213. package/dist/WidgetTextField/hooks/useGetMicWidgetButtonProperties.js +19 -0
  214. package/dist/WidgetTextField/types/types.d.cts +21 -0
  215. package/dist/WidgetTextField/types/types.d.ts +21 -0
  216. package/dist/WidgetWrapper/WidgetWrapper.d.cts +2 -2
  217. package/dist/WidgetWrapper/WidgetWrapper.d.ts +2 -2
  218. package/dist/WidgetWrapper/hooks/useGetWrapperProperties.cjs +1 -1
  219. package/dist/WidgetWrapper/hooks/useGetWrapperProperties.js +1 -1
  220. package/dist/WidgetWrapperWithTitle/WidgetWrapperWithTitle.d.cts +2 -2
  221. package/dist/node_modules/jotai/esm/react.cjs +87 -0
  222. package/dist/node_modules/jotai/esm/react.js +88 -2
  223. package/dist/node_modules/jotai/esm/vanilla/internals.cjs +2 -1
  224. package/dist/node_modules/jotai/esm/vanilla/internals.js +1 -1
  225. package/dist/styles.css +1 -1
  226. package/package.json +2 -1
  227. package/src/components/ChatFooter/ChatFooter.tsx +8 -0
  228. package/src/components/ChatFooter/__tests__/ChatFooter.test.tsx +43 -0
  229. package/src/components/ChatFooter/components/TextField.tsx +12 -0
  230. package/src/components/ChatFooter/types/types.ts +17 -0
  231. package/src/components/ChatHeader/ChatHeader.tsx +1 -0
  232. package/src/components/ChatHeader/components/Handle.tsx +7 -2
  233. package/src/components/ChatHeader/hooks/useGetHandleProperties.ts +9 -5
  234. package/src/components/ChatHeader/hooks/useGetToggleOptionProperties.ts +1 -1
  235. package/src/components/ChatHeader/types/index.ts +1 -0
  236. package/src/components/ChatPreview/ChatPreview.tsx +13 -2
  237. package/src/components/ChatPreview/__tests__/ChatPreview.test.tsx +44 -0
  238. package/src/components/ChatPreview/index.ts +1 -1
  239. package/src/components/ChatPreview/types/types.ts +13 -0
  240. package/src/components/ChatPreviewComparison/ChatPreviewComparison.tsx +6 -0
  241. package/src/components/ChatPreviewComparison/__tests__/ChatPreviewComparison.test.tsx +44 -0
  242. package/src/components/ChatPreviewComparison/index.ts +1 -1
  243. package/src/components/ChatPreviewComparison/types/types.ts +13 -0
  244. package/src/components/ChatPreviewLoading/ChatPreviewLoading.tsx +5 -3
  245. package/src/components/ChatPreviewLoading/__tests__/ChatPreviewLoading.test.tsx +40 -0
  246. package/src/components/ChatPreviewLoading/types/types.ts +5 -0
  247. package/src/components/FloatingChat/FloatingChat.tsx +38 -7
  248. package/src/components/FloatingChat/hooks/useChatSuggestions.ts +8 -12
  249. package/src/components/FullPageSalesAgent/FullPageSalesAgent.tsx +32 -1
  250. package/src/components/ProductCard/ProductCard.tsx +7 -0
  251. package/src/components/ProductCard/__tests__/ProductCard.test.tsx +33 -0
  252. package/src/components/ProductCard/index.ts +1 -1
  253. package/src/components/ProductCard/types/index.ts +6 -0
  254. package/src/components/PromptButtonCarouselWithImage/PromptButtonCarouselWithImage.tsx +6 -0
  255. package/src/components/PromptButtonCarouselWithImage/__tests__/PromptButtonCarouselWithImage.test.tsx +34 -0
  256. package/src/components/PromptButtonCarouselWithImage/types/types.ts +12 -0
  257. package/src/components/ReviewCard/components/Rating.tsx +0 -1
  258. package/src/components/SocialProof/SocialProof.tsx +6 -0
  259. package/src/components/SocialProof/__tests__/SocialProof.test.tsx +58 -0
  260. package/src/components/SocialProof/components/Textfield.tsx +9 -0
  261. package/src/components/SocialProof/index.ts +1 -1
  262. package/src/components/SocialProof/types/types.ts +13 -0
  263. package/src/components/TextField/TextField.tsx +49 -0
  264. package/src/components/TextField/__tests__/TextField.test.tsx +3 -3
  265. package/src/components/TextField/__tests__/VoiceInputButton.test.tsx +175 -0
  266. package/src/components/TextField/components/Layout.tsx +24 -17
  267. package/src/components/TextField/components/VoiceInputButton.tsx +69 -0
  268. package/src/components/TextField/components/index.ts +2 -0
  269. package/src/components/TextField/hooks/useGetMicButtonContainerProperties.ts +38 -0
  270. package/src/components/TextField/hooks/useGetSkeletonProperties.ts +1 -1
  271. package/src/components/TextField/hooks/useVoiceInput.ts +77 -0
  272. package/src/components/TextField/types/index.ts +11 -0
  273. package/src/components/TextField/utils/getLayoutStateProperties.ts +8 -0
  274. package/src/components/TypingAnimation/TypingAnimation.tsx +7 -0
  275. package/src/components/TypingAnimation/__tests__/TypingAnimation.test.tsx +47 -0
  276. package/src/components/TypingAnimation/index.ts +1 -1
  277. package/src/components/TypingAnimation/types/index.ts +14 -1
  278. package/src/components/WidgetTextField/WidgetTextField.tsx +47 -0
  279. package/src/components/WidgetTextField/__tests__/WidgetTextField.test.tsx +119 -4
  280. package/src/components/WidgetTextField/components/Container.tsx +40 -27
  281. package/src/components/WidgetTextField/hooks/useGetContainerProperties.ts +16 -4
  282. package/src/components/WidgetTextField/hooks/useGetMicWidgetButtonProperties.ts +38 -0
  283. package/src/components/WidgetTextField/types/types.ts +21 -0
  284. package/src/components/WidgetWrapper/hooks/useGetWrapperProperties.ts +1 -1
package/dist/styles.css CHANGED
@@ -1 +1 @@
1
- *,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }/*! tailwindcss v3.4.18 | MIT License | https://tailwindcss.com*/*,:after,:before{box-sizing:border-box;border:0 solid #e5e7eb}:after,:before{--tw-content:""}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:Inter Variable,Poppins,sans-serif;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.envive-tw-text-t1-md{font-size:var(--envive-typography-font-size-t1);line-height:var(--envive-typography-line-height-124)}.envive-tw-text-t1-md,.envive-tw-text-t2-md{font-weight:var(--envive-typography-font-weight-md);font-family:var(--envive-typography-font-family-title),sans-serif}.envive-tw-text-t2-md{font-size:var(--envive-typography-font-size-t2);line-height:var(--envive-typography-line-height-114)}.envive-tw-text-t3-md{font-size:var(--envive-typography-font-size-t3);font-weight:var(--envive-typography-font-weight-md);line-height:var(--envive-typography-line-height-118);font-family:var(--envive-typography-font-family-title),sans-serif}.envive-tw-text-h1-sb{font-weight:var(--envive-typography-font-weight-sb)}.envive-tw-text-h1-md,.envive-tw-text-h1-sb{font-size:var(--envive-typography-font-size-h1);line-height:var(--envive-typography-line-height-120);font-family:var(--envive-typography-font-family-header),sans-serif}.envive-tw-text-h1-md{font-weight:var(--envive-typography-font-weight-md)}.envive-tw-text-h2-sb{font-weight:var(--envive-typography-font-weight-sb)}.envive-tw-text-h2-md,.envive-tw-text-h2-sb{font-size:var(--envive-typography-font-size-h2);line-height:var(--envive-typography-line-height-124);font-family:var(--envive-typography-font-family-header),sans-serif}.envive-tw-text-h2-md{font-weight:var(--envive-typography-font-weight-md)}.envive-tw-text-h3-sb{font-weight:var(--envive-typography-font-weight-sb)}.envive-tw-text-h3-md,.envive-tw-text-h3-sb{font-size:var(--envive-typography-font-size-h3);line-height:var(--envive-typography-line-height-116);font-family:var(--envive-typography-font-family-header),sans-serif}.envive-tw-text-h3-md{font-weight:var(--envive-typography-font-weight-md)}.envive-tw-text-b1-rg{font-weight:var(--envive-typography-font-weight-rg)}.envive-tw-text-b1-md,.envive-tw-text-b1-rg{font-size:var(--envive-typography-font-size-b1);line-height:var(--envive-typography-line-height-120);font-family:var(--envive-typography-font-family-body),sans-serif}.envive-tw-text-b1-md{font-weight:var(--envive-typography-font-weight-md)}.envive-tw-text-b2-rg{font-weight:var(--envive-typography-font-weight-rg)}.envive-tw-text-b2-md,.envive-tw-text-b2-rg{font-size:var(--envive-typography-font-size-b2);line-height:var(--envive-typography-line-height-148);font-family:var(--envive-typography-font-family-body),sans-serif}.envive-tw-text-b2-md{font-weight:var(--envive-typography-font-weight-md)}.envive-tw-text-b3-rg{font-weight:var(--envive-typography-font-weight-rg)}.envive-tw-text-b3-md,.envive-tw-text-b3-rg{font-size:var(--envive-typography-font-size-b3);line-height:var(--envive-typography-line-height-140);font-family:var(--envive-typography-font-family-body),sans-serif}.envive-tw-text-b3-md{font-weight:var(--envive-typography-font-weight-md)}.envive-tw-text-b4-rg{font-weight:var(--envive-typography-font-weight-rg)}.envive-tw-text-b4-md,.envive-tw-text-b4-rg{font-size:var(--envive-typography-font-size-b4);line-height:var(--envive-typography-line-height-130);font-family:var(--envive-typography-font-family-body),sans-serif}.envive-tw-text-b4-md{font-weight:var(--envive-typography-font-weight-md)}.envive-tw-text-b5-rg{font-weight:var(--envive-typography-font-weight-rg)}.envive-tw-text-b5-md,.envive-tw-text-b5-rg{font-size:var(--envive-typography-font-size-b5);line-height:var(--envive-typography-line-height-130);font-family:var(--envive-typography-font-family-body),sans-serif}.envive-tw-text-b5-md{font-weight:var(--envive-typography-font-weight-md)}.envive-tw-text-l1-sb{font-size:var(--envive-typography-font-size-l1);line-height:var(--envive-typography-line-height-128)}.envive-tw-text-l1-sb,.envive-tw-text-l2-sb{font-weight:var(--envive-typography-font-weight-sb);font-family:var(--envive-typography-font-family-body),sans-serif;letter-spacing:var(--envive-typography-letter-spacing-wide-1)}.envive-tw-text-l2-sb{font-size:var(--envive-typography-font-size-l2);line-height:var(--envive-typography-line-height-133)}.envive-tw-pointer-events-none{pointer-events:none}.envive-tw-fixed{position:fixed}.envive-tw-absolute{position:absolute}.envive-tw-relative{position:relative}.envive-tw-sticky{position:sticky}.envive-tw-bottom-5{bottom:20px}.envive-tw-bottom-\[0\],.envive-tw-bottom-\[0px\]{bottom:0}.envive-tw-bottom-\[10\%\]{bottom:10%}.envive-tw-bottom-\[170px\]{bottom:170px}.envive-tw-bottom-\[80px\]{bottom:80px}.envive-tw-left-2{left:8px}.envive-tw-left-4{left:16px}.envive-tw-left-\[0\],.envive-tw-left-\[0px\]{left:0}.envive-tw-left-\[calc\(\(100vw-768px\)\/2\)\]{left:calc(50vw - 384px)}.envive-tw-right-2{right:8px}.envive-tw-right-4{right:16px}.envive-tw-right-\[0\],.envive-tw-right-\[0px\]{right:0}.envive-tw-right-\[calc\(\(100vw-768px\)\/2\)\]{right:calc(50vw - 384px)}.envive-tw-top-1\/2{top:50%}.envive-tw-top-\[0\],.envive-tw-top-\[0px\]{top:0}.envive-tw-z-10{z-index:10}.envive-tw-z-\[1000000\]{z-index:1000000}.envive-tw-z-\[1000\]{z-index:1000}.envive-tw-col-start-1{grid-column-start:1}.envive-tw-col-start-2{grid-column-start:2}.envive-tw-col-end-3{grid-column-end:3}.envive-tw-row-start-1{grid-row-start:1}.envive-tw-row-start-2{grid-row-start:2}.envive-tw-row-end-3{grid-row-end:3}.envive-tw-m-4{margin:16px}.envive-tw-mx-4{margin-left:16px;margin-right:16px}.envive-tw-mx-auto{margin-left:auto;margin-right:auto}.envive-tw-mb-1{margin-bottom:4px}.envive-tw-mb-12{margin-bottom:48px}.envive-tw-mb-2{margin-bottom:8px}.envive-tw-mb-4{margin-bottom:16px}.envive-tw-mb-5{margin-bottom:20px}.envive-tw-mb-6{margin-bottom:24px}.envive-tw-ml-auto{margin-left:auto}.envive-tw-mt-1{margin-top:4px}.envive-tw-mt-2{margin-top:8px}.envive-tw-mt-4{margin-top:16px}.envive-tw-mt-6{margin-top:24px}.envive-tw-line-clamp-1{-webkit-line-clamp:1}.envive-tw-line-clamp-1,.envive-tw-line-clamp-2{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical}.envive-tw-line-clamp-2{-webkit-line-clamp:2}.envive-tw-line-clamp-3{-webkit-line-clamp:3}.envive-tw-line-clamp-3,.envive-tw-line-clamp-4{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical}.envive-tw-line-clamp-4{-webkit-line-clamp:4}.envive-tw-line-clamp-5{-webkit-line-clamp:5}.envive-tw-line-clamp-5,.envive-tw-line-clamp-6{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical}.envive-tw-line-clamp-6{-webkit-line-clamp:6}.envive-tw-line-clamp-\[7\]{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:7}.envive-tw-block{display:block}.envive-tw-inline-block{display:inline-block}.envive-tw-inline{display:inline}.envive-tw-flex{display:flex}.envive-tw-inline-flex{display:inline-flex}.envive-tw-table{display:table}.envive-tw-grid{display:grid}.envive-tw-aspect-\[3\/4\]{aspect-ratio:3/4}.envive-tw-aspect-global-custom{aspect-ratio:var(--envive-global-custom-aspect-ratio)}.envive-tw-aspect-landscape{aspect-ratio:16/9}.envive-tw-aspect-portrait{aspect-ratio:3/4}.envive-tw-aspect-square{aspect-ratio:1/1}.envive-tw-h-10{height:40px}.envive-tw-h-16{height:64px}.envive-tw-h-24{height:96px}.envive-tw-h-3{height:12px}.envive-tw-h-4{height:16px}.envive-tw-h-6{height:24px}.envive-tw-h-8{height:32px}.envive-tw-h-\[0px\]{height:0}.envive-tw-h-\[112px\]{height:112px}.envive-tw-h-\[128px\]{height:128px}.envive-tw-h-\[12px\]{height:12px}.envive-tw-h-\[13px\]{height:13px}.envive-tw-h-\[24px\]{height:24px}.envive-tw-h-\[25px\]{height:25px}.envive-tw-h-\[28px\]{height:28px}.envive-tw-h-\[29px\]{height:29px}.envive-tw-h-\[32px\]{height:32px}.envive-tw-h-\[33px\]{height:33px}.envive-tw-h-\[37\.6px\]{height:37.6px}.envive-tw-h-\[38px\]{height:38px}.envive-tw-h-\[40px\]{height:40px}.envive-tw-h-\[42px\]{height:42px}.envive-tw-h-\[44px\]{height:44px}.envive-tw-h-\[4px\]{height:4px}.envive-tw-h-\[50px\]{height:50px}.envive-tw-h-\[52px\]{height:52px}.envive-tw-h-\[56px\]{height:56px}.envive-tw-h-\[64px\]{height:64px}.envive-tw-h-fit{height:-moz-fit-content;height:fit-content}.envive-tw-h-full{height:100%}.envive-tw-max-h-\[90vh\]{max-height:90vh}.envive-tw-min-h-\[200px\]{min-height:200px}.envive-tw-min-h-screen{min-height:100vh}.envive-tw-w-16{width:64px}.envive-tw-w-2\/3{width:66.666667%}.envive-tw-w-20{width:80px}.envive-tw-w-24{width:96px}.envive-tw-w-3{width:12px}.envive-tw-w-4{width:16px}.envive-tw-w-4\/5{width:80%}.envive-tw-w-6{width:24px}.envive-tw-w-\[10px\]{width:10px}.envive-tw-w-\[112px\]{width:112px}.envive-tw-w-\[12\.58px\]{width:12.58px}.envive-tw-w-\[128px\]{width:128px}.envive-tw-w-\[200px\]{width:200px}.envive-tw-w-\[208px\]{width:208px}.envive-tw-w-\[22px\]{width:22px}.envive-tw-w-\[240px\]{width:240px}.envive-tw-w-\[248px\]{width:248px}.envive-tw-w-\[24px\]{width:24px}.envive-tw-w-\[319px\]{width:319px}.envive-tw-w-\[320px\]{width:320px}.envive-tw-w-\[32px\]{width:32px}.envive-tw-w-\[33px\]{width:33px}.envive-tw-w-\[44px\]{width:44px}.envive-tw-w-\[53px\]{width:53px}.envive-tw-w-\[54px\]{width:54px}.envive-tw-w-\[56px\]{width:56px}.envive-tw-w-\[64px\]{width:64px}.envive-tw-w-\[80\%\]{width:80%}.envive-tw-w-auto{width:auto}.envive-tw-w-fit{width:-moz-fit-content;width:fit-content}.envive-tw-w-full{width:100%}.envive-tw-min-w-\[120px\]{min-width:120px}.envive-tw-min-w-\[140px\]{min-width:140px}.envive-tw-min-w-\[276px\]{min-width:276px}.envive-tw-max-w-2xl{max-width:42rem}.envive-tw-max-w-6xl{max-width:72rem}.envive-tw-max-w-\[100px\]{max-width:100px}.envive-tw-max-w-\[300px\]{max-width:300px}.envive-tw-max-w-\[512px\]{max-width:512px}.envive-tw-max-w-\[768px\]{max-width:768px}.envive-tw-max-w-\[80px\]{max-width:80px}.envive-tw-max-w-\[900px\]{max-width:900px}.envive-tw-max-w-\[90ch\]{max-width:90ch}.envive-tw-max-w-full{max-width:100%}.envive-tw-flex-1{flex:1 1 0%}.envive-tw-flex-shrink-0{flex-shrink:0}.envive-tw-flex-grow{flex-grow:1}.envive-tw--translate-y-1\/2{--tw-translate-y:-50%}.envive-tw--translate-y-1\/2,.envive-tw-translate-x-\[-1px\]{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.envive-tw-translate-x-\[-1px\]{--tw-translate-x:-1px}.envive-tw-translate-x-\[-30px\]{--tw-translate-x:-30px}.envive-tw-translate-x-\[-30px\],.envive-tw-translate-x-\[1px\]{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.envive-tw-translate-x-\[1px\]{--tw-translate-x:1px}.envive-tw-translate-y-\[-50px\]{--tw-translate-y:-50px}.envive-tw-translate-y-\[-50px\],.envive-tw-translate-y-\[73\.75\%\]{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.envive-tw-translate-y-\[73\.75\%\]{--tw-translate-y:73.75%}.envive-tw-rotate-180{--tw-rotate:180deg}.envive-tw-rotate-180,.envive-tw-rotate-\[-10deg\]{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.envive-tw-rotate-\[-10deg\]{--tw-rotate:-10deg}.envive-tw-rotate-\[10deg\]{--tw-rotate:10deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes envive-tw-pulse{50%{opacity:.5}0%{border-color:var(--envive-colors-border-light);background:var(--envive-colors-border-light);opacity:1}to{border-color:var(--envive-colors-border-light);background:var(--envive-colors-border-light);opacity:1}}.envive-tw-animate-pulse{animation:envive-tw-pulse .8s linear infinite alternate}.envive-tw-cursor-not-allowed{cursor:not-allowed}.envive-tw-cursor-pointer{cursor:pointer}.envive-tw-cursor-text{cursor:text}.envive-tw-grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.envive-tw-grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.envive-tw-grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.envive-tw-grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.envive-tw-grid-rows-2{grid-template-rows:repeat(2,minmax(0,1fr))}.envive-tw-flex-row{flex-direction:row}.envive-tw-flex-row-reverse{flex-direction:row-reverse}.envive-tw-flex-col{flex-direction:column}.envive-tw-flex-col-reverse{flex-direction:column-reverse}.envive-tw-flex-wrap{flex-wrap:wrap}.envive-tw-flex-nowrap{flex-wrap:nowrap}.envive-tw-content-center{align-content:center}.envive-tw-items-start{align-items:flex-start}.envive-tw-items-end{align-items:flex-end}.envive-tw-items-center{align-items:center}.envive-tw-items-baseline{align-items:baseline}.envive-tw-items-stretch{align-items:stretch}.envive-tw-justify-start{justify-content:flex-start}.envive-tw-justify-end{justify-content:flex-end}.envive-tw-justify-center{justify-content:center}.envive-tw-justify-between{justify-content:space-between}.envive-tw-justify-around{justify-content:space-around}.envive-tw-justify-evenly{justify-content:space-evenly}.\!envive-tw-gap-6{gap:24px!important}.envive-tw-gap-0\.5{gap:2px}.envive-tw-gap-1{gap:4px}.envive-tw-gap-1\.5{gap:6px}.envive-tw-gap-10{gap:40px}.envive-tw-gap-12{gap:48px}.envive-tw-gap-14{gap:56px}.envive-tw-gap-16{gap:64px}.envive-tw-gap-2{gap:8px}.envive-tw-gap-2\.5{gap:10px}.envive-tw-gap-20{gap:80px}.envive-tw-gap-24{gap:96px}.envive-tw-gap-28{gap:112px}.envive-tw-gap-3{gap:12px}.envive-tw-gap-3\.5{gap:14px}.envive-tw-gap-32{gap:128px}.envive-tw-gap-36{gap:144px}.envive-tw-gap-4{gap:16px}.envive-tw-gap-40{gap:160px}.envive-tw-gap-44{gap:176px}.envive-tw-gap-48{gap:192px}.envive-tw-gap-5{gap:20px}.envive-tw-gap-52{gap:208px}.envive-tw-gap-56{gap:224px}.envive-tw-gap-6{gap:24px}.envive-tw-gap-60{gap:240px}.envive-tw-gap-64{gap:256px}.envive-tw-gap-7{gap:28px}.envive-tw-gap-72{gap:288px}.envive-tw-gap-8{gap:32px}.envive-tw-gap-80{gap:320px}.envive-tw-gap-9{gap:36px}.envive-tw-gap-96{gap:384px}.envive-tw-gap-\[10px\]{gap:10px}.envive-tw-gap-x-2{-moz-column-gap:8px;column-gap:8px}.envive-tw-space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(4px*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(4px*var(--tw-space-y-reverse))}.envive-tw-space-y-12>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(48px*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(48px*var(--tw-space-y-reverse))}.envive-tw-space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(8px*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(8px*var(--tw-space-y-reverse))}.envive-tw-space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(12px*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(12px*var(--tw-space-y-reverse))}.envive-tw-space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(16px*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(16px*var(--tw-space-y-reverse))}.envive-tw-space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(24px*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(24px*var(--tw-space-y-reverse))}.envive-tw-space-y-8>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(32px*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(32px*var(--tw-space-y-reverse))}.envive-tw-self-end{align-self:flex-end}.envive-tw-overflow-hidden{overflow:hidden}.envive-tw-overflow-scroll{overflow:scroll}.envive-tw-overflow-x-auto{overflow-x:auto}.envive-tw-overflow-y-auto{overflow-y:auto}.envive-tw-overflow-x-hidden{overflow-x:hidden}.envive-tw-overflow-y-hidden{overflow-y:hidden}.envive-tw-overflow-x-scroll{overflow-x:scroll}.envive-tw-text-ellipsis{text-overflow:ellipsis}.envive-tw-whitespace-nowrap{white-space:nowrap}.envive-tw-break-all{word-break:break-all}.\!envive-tw-rounded-0{border-radius:0!important}.envive-tw-rounded-4{border-radius:4px}.envive-tw-rounded-\[--envive-global-custom-border-radius\]{border-radius:var(--envive-global-custom-border-radius)}.envive-tw-rounded-\[0_50px_50px_0\]{border-radius:0 50px 50px 0}.envive-tw-rounded-\[12px\]{border-radius:12px}.envive-tw-rounded-\[16px\]{border-radius:16px}.envive-tw-rounded-\[16px_16px_0_16px\]{border-radius:16px 16px 0 16px}.envive-tw-rounded-\[20px\]{border-radius:20px}.envive-tw-rounded-\[4px\]{border-radius:4px}.envive-tw-rounded-\[50px\]{border-radius:50px}.envive-tw-rounded-\[50px_0_0_50px\]{border-radius:50px 0 0 50px}.envive-tw-rounded-\[8px\]{border-radius:8px}.envive-tw-rounded-\[var\(--envive-global-custom-border-radius\)\],.envive-tw-rounded-global-custom{border-radius:var(--envive-global-custom-border-radius)}.envive-tw-rounded-l-\[4px\]{border-top-left-radius:4px;border-bottom-left-radius:4px}.envive-tw-rounded-r-\[4px\]{border-top-right-radius:4px;border-bottom-right-radius:4px}.envive-tw-rounded-t-\[16px\]{border-top-left-radius:16px;border-top-right-radius:16px}.envive-tw-rounded-t-\[var\(--envive-global-custom-border-radius\)\]{border-top-left-radius:var(--envive-global-custom-border-radius);border-top-right-radius:var(--envive-global-custom-border-radius)}.envive-tw-border{border-width:1px}.envive-tw-border-0{border-width:0}.envive-tw-border-\[1px\]{border-width:1px}.envive-tw-border-b{border-bottom-width:1px}.envive-tw-border-t{border-top-width:1px}.envive-tw-border-solid{border-style:solid}.envive-tw-border-none{border-style:none}.\!envive-tw-border-border-medium{border-color:var(--envive-colors-border-medium)!important}.envive-tw-border-\[color-mix\(in_srgb\,var\(--envive-colors-background-secondary\)_90\%\,\#000000\)\]{border-color:color-mix(in srgb,var(--envive-colors-background-secondary) 90%,#000)}.envive-tw-border-\[color-mix\(in_srgb\,var\(--envive-colors-background-secondary\)_90\%\,\#000000_10\%\)\]{border-color:color-mix(in srgb,var(--envive-colors-background-secondary) 90%,#000 10%)}.envive-tw-border-\[color-mix\(in_srgb\,var\(--envive-colors-background-tertiary\)_90\%\,\#000000\)\]{border-color:color-mix(in srgb,var(--envive-colors-background-tertiary) 90%,#000)}.envive-tw-border-\[color-mix\(in_srgb\,var\(--envive-colors-button-light-background-color\)_90\%\,\#000000\)\]{border-color:color-mix(in srgb,var(--envive-colors-button-light-background-color) 90%,#000)}.envive-tw-border-background-dark{border-color:var(--envive-colors-background-dark)}.envive-tw-border-background-light{border-color:var(--envive-colors-background-light)}.envive-tw-border-border-dark{border-color:var(--envive-colors-border-dark)}.envive-tw-border-border-light{border-color:var(--envive-colors-border-light)}.envive-tw-border-border-medium{border-color:var(--envive-colors-border-medium)}.envive-tw-border-button-dark-background-color{border-color:var(--envive-colors-button-dark-background-color)}.envive-tw-border-emerald-100{--tw-border-opacity:1;border-color:rgb(209 250 229/var(--tw-border-opacity,1))}.envive-tw-border-gray-200{--tw-border-opacity:1;border-color:rgb(229 231 235/var(--tw-border-opacity,1))}.envive-tw-border-gray-300{--tw-border-opacity:1;border-color:rgb(209 213 219/var(--tw-border-opacity,1))}.envive-tw-border-red-500{--tw-border-opacity:1;border-color:rgb(239 68 68/var(--tw-border-opacity,1))}.envive-tw-border-slate-200{--tw-border-opacity:1;border-color:rgb(226 232 240/var(--tw-border-opacity,1))}.envive-tw-border-text-secondary{border-color:var(--envive-colors-text-secondary)}.envive-tw-border-b-border-dark{border-bottom-color:var(--envive-colors-border-dark)}.envive-tw-border-b-border-medium{border-bottom-color:var(--envive-colors-border-medium)}.envive-tw-bg-\[\#1f5f51\]{--tw-bg-opacity:1;background-color:rgb(31 95 81/var(--tw-bg-opacity,1))}.envive-tw-bg-\[\#FFFFFFB2\]{background-color:#ffffffb2}.envive-tw-bg-\[\#FFFFFF\]{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.envive-tw-bg-\[--envive-colors-accent-primary\]{background-color:var(--envive-colors-accent-primary)}.envive-tw-bg-\[--envive-colors-accent-secondary\]{background-color:var(--envive-colors-accent-secondary)}.envive-tw-bg-\[--envive-colors-background-dark\]{background-color:var(--envive-colors-background-dark)}.envive-tw-bg-\[--envive-colors-background-light\]{background-color:var(--envive-colors-background-light)}.envive-tw-bg-\[--envive-colors-background-primary\]{background-color:var(--envive-colors-background-primary)}.envive-tw-bg-\[--envive-colors-background-secondary\]{background-color:var(--envive-colors-background-secondary)}.envive-tw-bg-\[--envive-colors-background-tertiary\]{background-color:var(--envive-colors-background-tertiary)}.envive-tw-bg-\[--envive-colors-border-dark\]{background-color:var(--envive-colors-border-dark)}.envive-tw-bg-\[--envive-colors-border-light\]{background-color:var(--envive-colors-border-light)}.envive-tw-bg-\[--envive-colors-border-medium\]{background-color:var(--envive-colors-border-medium)}.envive-tw-bg-\[--envive-colors-text-accent\]{background-color:var(--envive-colors-text-accent)}.envive-tw-bg-\[--envive-colors-text-light\]{background-color:var(--envive-colors-text-light)}.envive-tw-bg-\[--envive-colors-text-link\]{background-color:var(--envive-colors-text-link)}.envive-tw-bg-\[--envive-colors-text-primary\]{background-color:var(--envive-colors-text-primary)}.envive-tw-bg-\[--envive-colors-text-secondary\]{background-color:var(--envive-colors-text-secondary)}.envive-tw-bg-\[color-mix\(in_srgb\,var\(--envive-colors-background-light\)\,transparent_10\%\)\]{background-color:color-mix(in srgb,var(--envive-colors-background-light),transparent 10%)}.envive-tw-bg-\[color-mix\(in_srgb\,var\(--envive-colors-background-secondary\)_90\%\,\#000000\)\]{background-color:color-mix(in srgb,var(--envive-colors-background-secondary) 90%,#000)}.envive-tw-bg-\[color-mix\(in_srgb\,var\(--envive-colors-background-secondary\)_90\%\,\#000000_10\%\)\]{background-color:color-mix(in srgb,var(--envive-colors-background-secondary) 90%,#000 10%)}.envive-tw-bg-\[color-mix\(in_srgb\,var\(--envive-colors-background-secondary\)_95\%\,\#000000\)\]{background-color:color-mix(in srgb,var(--envive-colors-background-secondary) 95%,#000)}.envive-tw-bg-\[rgb\(from_var\(--envive-colors-background-dark\)_r_g_b_\/_10\%\)\]{background-color:rgb(from var(--envive-colors-background-dark) r g b/10%)}.envive-tw-bg-\[rgb\(from_var\(--envive-colors-background-light\)_r_g_b_\/_90\%\)\]{background-color:rgb(from var(--envive-colors-background-light) r g b/90%)}.envive-tw-bg-\[rgba\(0\,0\,0\,0\.40\)\]{background-color:rgba(0,0,0,.4)}.envive-tw-bg-background-dark{background-color:var(--envive-colors-background-dark)}.envive-tw-bg-background-light{background-color:var(--envive-colors-background-light)}.envive-tw-bg-background-primary{background-color:var(--envive-colors-background-primary)}.envive-tw-bg-background-secondary{background-color:var(--envive-colors-background-secondary)}.envive-tw-bg-background-tertiary{background-color:var(--envive-colors-background-tertiary)}.envive-tw-bg-button-dark-background-color{background-color:var(--envive-colors-button-dark-background-color)}.envive-tw-bg-button-light-background-color{background-color:var(--envive-colors-button-light-background-color)}.envive-tw-bg-emerald-100{--tw-bg-opacity:1;background-color:rgb(209 250 229/var(--tw-bg-opacity,1))}.envive-tw-bg-emerald-50{--tw-bg-opacity:1;background-color:rgb(236 253 245/var(--tw-bg-opacity,1))}.envive-tw-bg-gray-200{--tw-bg-opacity:1;background-color:rgb(229 231 235/var(--tw-bg-opacity,1))}.envive-tw-bg-slate-200{--tw-bg-opacity:1;background-color:rgb(226 232 240/var(--tw-bg-opacity,1))}.envive-tw-bg-slate-50{--tw-bg-opacity:1;background-color:rgb(248 250 252/var(--tw-bg-opacity,1))}.envive-tw-bg-text-link{background-color:var(--envive-colors-text-link)}.envive-tw-bg-transparent{background-color:transparent}.envive-tw-bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.envive-tw-bg-\[linear-gradient\(0deg\,rgba\(0\,0\,0\,0\.40\)_0\%\,rgba\(0\,0\,0\,0\.40\)_100\%\)\]{background-image:linear-gradient(0deg,rgba(0,0,0,.4),rgba(0,0,0,.4))}.envive-tw-fill-button-dark-icon-color{fill:var(--envive-colors-button-dark-icon-color)}.envive-tw-fill-button-light-icon-color{fill:var(--envive-colors-button-light-icon-color)}.envive-tw-fill-transparent{fill:transparent}.envive-tw-stroke-background-light{stroke:var(--envive-colors-background-light)}.envive-tw-stroke-button-dark-icon-color{stroke:var(--envive-colors-button-dark-icon-color)}.envive-tw-stroke-button-light-icon-color{stroke:var(--envive-colors-button-light-icon-color)}.envive-tw-object-contain{-o-object-fit:contain;object-fit:contain}.envive-tw-object-cover{-o-object-fit:cover;object-fit:cover}.envive-tw-object-fill{-o-object-fit:fill;object-fit:fill}.envive-tw-object-none{-o-object-fit:none;object-fit:none}.envive-tw-object-scale-down{-o-object-fit:scale-down;object-fit:scale-down}.envive-tw-p-2{padding:8px}.envive-tw-p-3{padding:12px}.envive-tw-p-4{padding:16px}.envive-tw-p-8{padding:32px}.envive-tw-p-\[1px\]{padding:1px}.envive-tw-px-1{padding-left:4px;padding-right:4px}.envive-tw-px-2{padding-left:8px;padding-right:8px}.envive-tw-px-3{padding-left:12px;padding-right:12px}.envive-tw-px-4{padding-left:16px;padding-right:16px}.envive-tw-px-\[6px\]{padding-left:6px;padding-right:6px}.envive-tw-py-0\.5{padding-top:2px;padding-bottom:2px}.envive-tw-py-1{padding-top:4px;padding-bottom:4px}.envive-tw-py-10{padding-top:40px;padding-bottom:40px}.envive-tw-py-16{padding-top:64px;padding-bottom:64px}.envive-tw-py-2{padding-top:8px;padding-bottom:8px}.envive-tw-py-3{padding-top:12px;padding-bottom:12px}.envive-tw-py-6{padding-top:24px;padding-bottom:24px}.envive-tw-py-8{padding-top:32px;padding-bottom:32px}.envive-tw-py-\[2px\]{padding-top:2px;padding-bottom:2px}.envive-tw-pb-2{padding-bottom:8px}.envive-tw-pb-4{padding-bottom:16px}.envive-tw-pb-\[131px\]{padding-bottom:131px}.envive-tw-pb-\[150px\]{padding-bottom:150px}.envive-tw-pb-\[180px\]{padding-bottom:180px}.envive-tw-pl-4{padding-left:16px}.envive-tw-pl-\[2px\]{padding-left:2px}.envive-tw-pr-2{padding-right:8px}.envive-tw-pr-4{padding-right:16px}.envive-tw-pt-1{padding-top:4px}.envive-tw-pt-2{padding-top:8px}.envive-tw-pt-3{padding-top:12px}.envive-tw-pt-4{padding-top:16px}.envive-tw-pt-6{padding-top:24px}.envive-tw-text-left{text-align:left}.envive-tw-text-center{text-align:center}.envive-tw-text-right{text-align:right}.envive-tw-text-justify{text-align:justify}.envive-tw-align-top{vertical-align:top}.envive-tw-align-middle{vertical-align:middle}.envive-tw-font-body{font-family:var(--envive-typography-font-family-body),sans-serif}.envive-tw-font-header{font-family:var(--envive-typography-font-family-header),sans-serif}.envive-tw-font-title{font-family:var(--envive-typography-font-family-title),sans-serif}.envive-tw-text-2xl{font-size:1.5rem;line-height:2rem}.envive-tw-text-\[2\.25rem\]{font-size:2.25rem}.envive-tw-text-b1{font-size:var(--envive-typography-font-size-b1)}.envive-tw-text-b3{font-size:var(--envive-typography-font-size-b3)}.envive-tw-text-b4{font-size:var(--envive-typography-font-size-b4)}.envive-tw-text-b5{font-size:var(--envive-typography-font-size-b5)}.envive-tw-text-base{font-size:1rem;line-height:1.5rem}.envive-tw-text-h2{font-size:var(--envive-typography-font-size-h2)}.envive-tw-text-h3{font-size:var(--envive-typography-font-size-h3)}.envive-tw-text-lg{font-size:1.125rem;line-height:1.75rem}.envive-tw-text-sm{font-size:.875rem;line-height:1.25rem}.envive-tw-text-t1{font-size:var(--envive-typography-font-size-t1)}.envive-tw-text-t2{font-size:var(--envive-typography-font-size-t2)}.envive-tw-text-t3{font-size:var(--envive-typography-font-size-t3)}.envive-tw-text-xs{font-size:.75rem;line-height:1rem}.envive-tw-font-bold{font-weight:700}.envive-tw-font-md{font-weight:var(--envive-typography-font-weight-md)}.envive-tw-font-medium{font-weight:500}.envive-tw-font-rg{font-weight:var(--envive-typography-font-weight-rg)}.envive-tw-font-sb{font-weight:var(--envive-typography-font-weight-sb)}.envive-tw-font-semibold{font-weight:600}.envive-tw-uppercase{text-transform:uppercase}.envive-tw-capitalize{text-transform:capitalize}.envive-tw-italic{font-style:italic}.envive-tw-leading-114{line-height:var(--envive-typography-line-height-114)}.envive-tw-leading-116{line-height:var(--envive-typography-line-height-116)}.envive-tw-leading-118{line-height:var(--envive-typography-line-height-118)}.envive-tw-leading-120{line-height:var(--envive-typography-line-height-120)}.envive-tw-leading-124{line-height:var(--envive-typography-line-height-124)}.envive-tw-leading-130{line-height:var(--envive-typography-line-height-130)}.envive-tw-leading-140{line-height:var(--envive-typography-line-height-140)}.envive-tw-leading-148{line-height:var(--envive-typography-line-height-148)}.envive-tw-leading-\[0\]{line-height:0}.envive-tw-leading-\[13px\]{line-height:13px}.envive-tw-leading-relaxed{line-height:1.625}.envive-tw-tracking-tighter{letter-spacing:-.05em}.envive-tw-text-\[\#f9f6ea\]{--tw-text-opacity:1;color:rgb(249 246 234/var(--tw-text-opacity,1))}.envive-tw-text-\[--envive-colors-text-accent\]{color:var(--envive-colors-text-accent)}.envive-tw-text-\[--envive-colors-text-light\]{color:var(--envive-colors-text-light)}.envive-tw-text-\[--envive-colors-text-link\]{color:var(--envive-colors-text-link)}.envive-tw-text-\[--envive-colors-text-primary\]{color:var(--envive-colors-text-primary)}.envive-tw-text-\[--envive-colors-text-secondary\]{color:var(--envive-colors-text-secondary)}.envive-tw-text-background-dark{color:var(--envive-colors-background-dark)}.envive-tw-text-background-light{color:var(--envive-colors-background-light)}.envive-tw-text-emerald-800{--tw-text-opacity:1;color:rgb(6 95 70/var(--tw-text-opacity,1))}.envive-tw-text-emerald-950{--tw-text-opacity:1;color:rgb(2 44 34/var(--tw-text-opacity,1))}.envive-tw-text-gray-500{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity,1))}.envive-tw-text-gray-600{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity,1))}.envive-tw-text-gray-700{--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity,1))}.envive-tw-text-gray-800{--tw-text-opacity:1;color:rgb(31 41 55/var(--tw-text-opacity,1))}.envive-tw-text-gray-900{--tw-text-opacity:1;color:rgb(17 24 39/var(--tw-text-opacity,1))}.envive-tw-text-red-500{--tw-text-opacity:1;color:rgb(239 68 68/var(--tw-text-opacity,1))}.envive-tw-text-slate-600{--tw-text-opacity:1;color:rgb(71 85 105/var(--tw-text-opacity,1))}.envive-tw-text-slate-900{--tw-text-opacity:1;color:rgb(15 23 42/var(--tw-text-opacity,1))}.envive-tw-text-text-light{color:var(--envive-colors-text-light)}.envive-tw-text-text-link{color:var(--envive-colors-text-link)}.envive-tw-text-text-primary{color:var(--envive-colors-text-primary)}.envive-tw-text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.envive-tw-underline{text-decoration-line:underline}.envive-tw-line-through{text-decoration-line:line-through}.envive-tw-opacity-0{opacity:0}.envive-tw-opacity-100{opacity:1}.envive-tw-opacity-50{opacity:.5}.envive-tw-shadow-\[2px_2px_6px_0px_rgba\(0\,0\,0\,0\.15\)\]{--tw-shadow:2px 2px 6px 0px rgba(0,0,0,.15);--tw-shadow-colored:2px 2px 6px 0px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.envive-tw-shadow-\[2px_2px_8px_0_rgba\(0\,0\,0\,0\.25\)\]{--tw-shadow:2px 2px 8px 0 rgba(0,0,0,.25);--tw-shadow-colored:2px 2px 8px 0 var(--tw-shadow-color)}.envive-tw-shadow-\[2px_2px_8px_0_rgba\(0\,0\,0\,0\.25\)\],.envive-tw-shadow-lg{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.envive-tw-shadow-lg{--tw-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color)}.envive-tw-shadow-md{--tw-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color)}.envive-tw-shadow-md,.envive-tw-shadow-sm{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.envive-tw-shadow-sm{--tw-shadow:0 1px 2px 0 rgba(0,0,0,.05);--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color)}.envive-tw-outline-none{outline:2px solid transparent;outline-offset:2px}.envive-tw-backdrop-blur-\[12px\]{--tw-backdrop-blur:blur(12px)}.envive-tw-backdrop-blur-\[12px\],.envive-tw-backdrop-blur-\[4px\]{backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.envive-tw-backdrop-blur-\[4px\]{--tw-backdrop-blur:blur(4px)}.envive-tw-transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.envive-tw-transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.envive-tw-duration-200{transition-duration:.2s}.envive-tw-duration-300{transition-duration:.3s}.envive-tw-ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.envive-tw-typography-ol,.envive-tw-typography-ul{list-style:inherit;margin:0;padding-left:24px;line-height:4px;&>li{list-style:inherit!important}}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(https://cdn.jsdelivr.net/fontsource/fonts/inter:vf@latest/latin-wght-normal.woff2) format("woff2-variations");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Inter Variable;font-style:italic;font-display:swap;font-weight:100 900;src:url(https://cdn.jsdelivr.net/fontsource/fonts/inter:vf@latest/latin-wght-italic.woff2) format("woff2-variations");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Poppins;font-style:normal;font-display:swap;font-weight:400;src:url(https://cdn.jsdelivr.net/fontsource/fonts/poppins@latest/latin-400-normal.woff2) format("woff2"),url(https://cdn.jsdelivr.net/fontsource/fonts/poppins@latest/latin-400-normal.woff) format("woff");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+2074,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Poppins;font-style:normal;font-display:swap;font-weight:500;src:url(https://cdn.jsdelivr.net/fontsource/fonts/poppins@latest/latin-500-normal.woff2) format("woff2"),url(https://cdn.jsdelivr.net/fontsource/fonts/poppins@latest/latin-500-normal.woff) format("woff");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+2074,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Poppins;font-style:normal;font-display:swap;font-weight:600;src:url(https://cdn.jsdelivr.net/fontsource/fonts/poppins@latest/latin-600-normal.woff2) format("woff2"),url(https://cdn.jsdelivr.net/fontsource/fonts/poppins@latest/latin-600-normal.woff) format("woff");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+2074,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}.placeholder\:envive-tw-text-text-secondary::-moz-placeholder{color:var(--envive-colors-text-secondary)}.placeholder\:envive-tw-text-text-secondary::placeholder{color:var(--envive-colors-text-secondary)}.focus-within\:envive-tw-border-\[--envive-colors-text-link\]:focus-within{border-color:var(--envive-colors-text-link)}@media (hover:hover) and (pointer:fine){.hover\:envive-tw-border-\[color-mix\(in_srgb\2c var\(--envive-colors-background-secondary\)_90\%\2c \#000000\)\]:hover{border-color:color-mix(in srgb,var(--envive-colors-background-secondary) 90%,#000)}.hover\:envive-tw-border-\[color-mix\(in_srgb\2c var\(--envive-colors-background-secondary\)_92\%\2c \#000000\)\]:hover{border-color:color-mix(in srgb,var(--envive-colors-background-secondary) 92%,#000)}.hover\:envive-tw-border-border-dark:hover{border-color:var(--envive-colors-border-dark)}.hover\:envive-tw-border-b-border-dark:hover{border-bottom-color:var(--envive-colors-border-dark)}.hover\:envive-tw-bg-\[color-mix\(in_srgb\2c var\(--envive-colors-background-secondary\)_92\%\2c \#000000\)\]:hover{background-color:color-mix(in srgb,var(--envive-colors-background-secondary) 92%,#000)}.hover\:envive-tw-bg-\[color-mix\(in_srgb\2c var\(--envive-colors-background-secondary\)_92\%\2c \#000000_08\%\)\]:hover,.hover\:envive-tw-bg-\[color-mix\(in_srgb\2c var\(--envive-colors-background-secondary\)_92\%\2c \#000000_8\%\)\]:hover{background-color:color-mix(in srgb,var(--envive-colors-background-secondary) 92%,#000 8%)}.hover\:envive-tw-bg-gray-50:hover{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity,1))}.hover\:envive-tw-text-text-primary:hover{color:var(--envive-colors-text-primary)}.hover\:envive-tw-underline:hover{text-decoration-line:underline}.hover\:envive-tw-underline-offset-2:hover{text-underline-offset:2px}}.focus\:envive-tw-border-\[\#1f5f51\]:focus{--tw-border-opacity:1;border-color:rgb(31 95 81/var(--tw-border-opacity,1))}.focus\:envive-tw-outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\:envive-tw-ring-1:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.focus\:envive-tw-ring-1:focus,.focus\:envive-tw-ring-2:focus{box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus\:envive-tw-ring-2:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.focus\:envive-tw-ring-\[\#1f5f51\]:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(31 95 81/var(--tw-ring-opacity,1))}.focus\:envive-tw-ring-offset-2:focus{--tw-ring-offset-width:2px}.focus\:placeholder\:envive-tw-text-text-primary:focus::-moz-placeholder{color:var(--envive-colors-text-primary)}.focus\:placeholder\:envive-tw-text-text-primary:focus::placeholder{color:var(--envive-colors-text-primary)}.focus-visible\:envive-tw-shadow-none:focus-visible{--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.focus-visible\:envive-tw-outline-none:focus-visible{outline:2px solid transparent;outline-offset:2px}.disabled\:envive-tw-opacity-50:disabled{opacity:.5}@media (hover:hover) and (pointer:fine){.envive-tw-group\/floatingbutton:hover .group-hover\/floatingbutton\:envive-tw-h-\[30px\]{height:30px}.envive-tw-group\/floatingbutton:hover .group-hover\/floatingbutton\:envive-tw-h-\[38px\]{height:38px}.envive-tw-group\/floatingbutton:hover .group-hover\/floatingbutton\:envive-tw-h-\[51px\]{height:51px}.envive-tw-group\/floatingbutton:hover .group-hover\/floatingbutton\:envive-tw-h-\[57px\]{height:57px}.envive-tw-group\/floatingbutton:hover .group-hover\/floatingbutton\:envive-tw-h-\[72px\]{height:72px}.envive-tw-group\/floatingbutton:hover .group-hover\/floatingbutton\:envive-tw-w-\[30px\]{width:30px}.envive-tw-group\/floatingbutton:hover .group-hover\/floatingbutton\:envive-tw-w-\[38px\]{width:38px}.envive-tw-group\/floatingbutton:hover .group-hover\/floatingbutton\:envive-tw-w-\[51px\]{width:51px}.envive-tw-group\/floatingbutton:hover .group-hover\/floatingbutton\:envive-tw-w-\[62px\]{width:62px}.envive-tw-group\/floatingbutton:hover .group-hover\/floatingbutton\:envive-tw-w-\[72px\]{width:72px}.envive-tw-group\/card:hover .group-hover\/card\:envive-tw-bg-\[color-mix\(in_srgb\2c var\(--envive-colors-background-secondary\)_80\%\2c \#000000_20\%\)\]{background-color:color-mix(in srgb,var(--envive-colors-background-secondary) 80%,#000 20%)}.envive-tw-group\/card:hover .group-hover\/card\:envive-tw-bg-text-primary{background-color:var(--envive-colors-text-primary)}.envive-tw-group:hover .group-hover\:envive-tw-bg-\[color-mix\(in_srgb\2c var\(--envive-colors-background-secondary\)_90\%\2c \#000000_10\%\)\]{background-color:color-mix(in srgb,var(--envive-colors-background-secondary) 90%,#000 10%)}.envive-tw-group:hover .group-hover\:envive-tw-bg-\[color-mix\(in_srgb\2c var\(--envive-colors-background-secondary\)_92\%\2c \#000000\)\]{background-color:color-mix(in srgb,var(--envive-colors-background-secondary) 92%,#000)}.envive-tw-group:hover .group-hover\:envive-tw-fill-background-dark{fill:var(--envive-colors-background-dark)}.envive-tw-group:hover .group-hover\:envive-tw-stroke-background-dark{stroke:var(--envive-colors-background-dark)}.envive-tw-group:hover .group-hover\:envive-tw-text-text-primary,.envive-tw-group\/card:hover .group-hover\/card\:envive-tw-text-\[--envive-colors-text-primary\]{color:var(--envive-colors-text-primary)}.envive-tw-group:hover .group-hover\:envive-tw-underline{text-decoration-line:underline}.envive-tw-group\/floatingbutton:hover .group-hover\/floatingbutton\:envive-tw-shadow-\[2px_2px_8px_0_rgba\(0\2c 0\2c 0\2c 0\.25\)\]{--tw-shadow:2px 2px 8px 0 rgba(0,0,0,.25);--tw-shadow-colored:2px 2px 8px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}}@media (min-width:768px){.md\:envive-tw-max-w-\[450px\]{max-width:450px}.md\:envive-tw-grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width:1024px){.lg\:envive-tw-max-w-\[900px\]{max-width:900px}.lg\:envive-tw-grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:envive-tw-text-\[3rem\]{font-size:3rem}}.\[\&\>div\>div\]\:envive-tw-items-end>div>div{align-items:flex-end}.\[\&\>img\]\:envive-tw-transition-transform>img{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.\[\&\>img\]\:envive-tw-duration-300>img{transition-duration:.3s}.\[\&\>img\]\:envive-tw-ease-in-out>img{transition-timing-function:cubic-bezier(.4,0,.2,1)}@media (hover:hover) and (pointer:fine){.envive-tw-group:hover .\[\&\>img\]\:group-hover\:envive-tw-scale-125>img{--tw-scale-x:1.25;--tw-scale-y:1.25;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}}.\[\&\>line\]\:envive-tw-stroke-\[var\(--envive-colors-background-light\)\]>line{stroke:var(--envive-colors-background-light)}.\[\&\>line\]\:envive-tw-stroke-\[var\(--envive-colors-text-secondary\)\]>line{stroke:var(--envive-colors-text-secondary)}.\[\&\>path\]\:envive-tw-fill-\[var\(--envive-colors-background-dark\)\]>path{fill:var(--envive-colors-background-dark)}.\[\&\>path\]\:envive-tw-fill-\[var\(--envive-colors-background-light\)\]>path{fill:var(--envive-colors-background-light)}
1
+ *,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }/*! tailwindcss v3.4.18 | MIT License | https://tailwindcss.com*/*,:after,:before{box-sizing:border-box;border:0 solid #e5e7eb}:after,:before{--tw-content:""}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:Inter Variable,Poppins,sans-serif;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.envive-tw-text-t1-md{font-size:var(--envive-typography-font-size-t1);line-height:var(--envive-typography-line-height-124)}.envive-tw-text-t1-md,.envive-tw-text-t2-md{font-weight:var(--envive-typography-font-weight-md);font-family:var(--envive-typography-font-family-title),sans-serif}.envive-tw-text-t2-md{font-size:var(--envive-typography-font-size-t2);line-height:var(--envive-typography-line-height-114)}.envive-tw-text-t3-md{font-size:var(--envive-typography-font-size-t3);font-weight:var(--envive-typography-font-weight-md);line-height:var(--envive-typography-line-height-118);font-family:var(--envive-typography-font-family-title),sans-serif}.envive-tw-text-h1-sb{font-weight:var(--envive-typography-font-weight-sb)}.envive-tw-text-h1-md,.envive-tw-text-h1-sb{font-size:var(--envive-typography-font-size-h1);line-height:var(--envive-typography-line-height-120);font-family:var(--envive-typography-font-family-header),sans-serif}.envive-tw-text-h1-md{font-weight:var(--envive-typography-font-weight-md)}.envive-tw-text-h2-sb{font-weight:var(--envive-typography-font-weight-sb)}.envive-tw-text-h2-md,.envive-tw-text-h2-sb{font-size:var(--envive-typography-font-size-h2);line-height:var(--envive-typography-line-height-124);font-family:var(--envive-typography-font-family-header),sans-serif}.envive-tw-text-h2-md{font-weight:var(--envive-typography-font-weight-md)}.envive-tw-text-h3-sb{font-weight:var(--envive-typography-font-weight-sb)}.envive-tw-text-h3-md,.envive-tw-text-h3-sb{font-size:var(--envive-typography-font-size-h3);line-height:var(--envive-typography-line-height-116);font-family:var(--envive-typography-font-family-header),sans-serif}.envive-tw-text-h3-md{font-weight:var(--envive-typography-font-weight-md)}.envive-tw-text-b1-rg{font-weight:var(--envive-typography-font-weight-rg)}.envive-tw-text-b1-md,.envive-tw-text-b1-rg{font-size:var(--envive-typography-font-size-b1);line-height:var(--envive-typography-line-height-120);font-family:var(--envive-typography-font-family-body),sans-serif}.envive-tw-text-b1-md{font-weight:var(--envive-typography-font-weight-md)}.envive-tw-text-b2-rg{font-weight:var(--envive-typography-font-weight-rg)}.envive-tw-text-b2-md,.envive-tw-text-b2-rg{font-size:var(--envive-typography-font-size-b2);line-height:var(--envive-typography-line-height-148);font-family:var(--envive-typography-font-family-body),sans-serif}.envive-tw-text-b2-md{font-weight:var(--envive-typography-font-weight-md)}.envive-tw-text-b3-rg{font-weight:var(--envive-typography-font-weight-rg)}.envive-tw-text-b3-md,.envive-tw-text-b3-rg{font-size:var(--envive-typography-font-size-b3);line-height:var(--envive-typography-line-height-140);font-family:var(--envive-typography-font-family-body),sans-serif}.envive-tw-text-b3-md{font-weight:var(--envive-typography-font-weight-md)}.envive-tw-text-b4-rg{font-weight:var(--envive-typography-font-weight-rg)}.envive-tw-text-b4-md,.envive-tw-text-b4-rg{font-size:var(--envive-typography-font-size-b4);line-height:var(--envive-typography-line-height-130);font-family:var(--envive-typography-font-family-body),sans-serif}.envive-tw-text-b4-md{font-weight:var(--envive-typography-font-weight-md)}.envive-tw-text-b5-rg{font-weight:var(--envive-typography-font-weight-rg)}.envive-tw-text-b5-md,.envive-tw-text-b5-rg{font-size:var(--envive-typography-font-size-b5);line-height:var(--envive-typography-line-height-130);font-family:var(--envive-typography-font-family-body),sans-serif}.envive-tw-text-b5-md{font-weight:var(--envive-typography-font-weight-md)}.envive-tw-text-l1-sb{font-size:var(--envive-typography-font-size-l1);line-height:var(--envive-typography-line-height-128)}.envive-tw-text-l1-sb,.envive-tw-text-l2-sb{font-weight:var(--envive-typography-font-weight-sb);font-family:var(--envive-typography-font-family-body),sans-serif;letter-spacing:var(--envive-typography-letter-spacing-wide-1)}.envive-tw-text-l2-sb{font-size:var(--envive-typography-font-size-l2);line-height:var(--envive-typography-line-height-133)}.envive-tw-pointer-events-none{pointer-events:none}.envive-tw-fixed{position:fixed}.envive-tw-absolute{position:absolute}.envive-tw-relative{position:relative}.envive-tw-sticky{position:sticky}.envive-tw-bottom-5{bottom:20px}.envive-tw-bottom-\[0\],.envive-tw-bottom-\[0px\]{bottom:0}.envive-tw-bottom-\[10\%\]{bottom:10%}.envive-tw-bottom-\[170px\]{bottom:170px}.envive-tw-bottom-\[80px\]{bottom:80px}.envive-tw-left-2{left:8px}.envive-tw-left-4{left:16px}.envive-tw-left-\[0\],.envive-tw-left-\[0px\]{left:0}.envive-tw-left-\[calc\(\(100vw-768px\)\/2\)\]{left:calc(50vw - 384px)}.envive-tw-right-2{right:8px}.envive-tw-right-4{right:16px}.envive-tw-right-\[0\],.envive-tw-right-\[0px\]{right:0}.envive-tw-right-\[calc\(\(100vw-768px\)\/2\)\]{right:calc(50vw - 384px)}.envive-tw-top-1\/2{top:50%}.envive-tw-top-\[0\],.envive-tw-top-\[0px\]{top:0}.envive-tw-z-10{z-index:10}.envive-tw-z-\[1000000\]{z-index:1000000}.envive-tw-z-\[1000\]{z-index:1000}.envive-tw-col-start-1{grid-column-start:1}.envive-tw-col-start-2{grid-column-start:2}.envive-tw-col-end-3{grid-column-end:3}.envive-tw-row-start-1{grid-row-start:1}.envive-tw-row-start-2{grid-row-start:2}.envive-tw-row-end-3{grid-row-end:3}.envive-tw-m-4{margin:16px}.envive-tw-mx-4{margin-left:16px;margin-right:16px}.envive-tw-mx-auto{margin-left:auto;margin-right:auto}.envive-tw-mb-1{margin-bottom:4px}.envive-tw-mb-12{margin-bottom:48px}.envive-tw-mb-2{margin-bottom:8px}.envive-tw-mb-4{margin-bottom:16px}.envive-tw-mb-5{margin-bottom:20px}.envive-tw-mb-6{margin-bottom:24px}.envive-tw-ml-auto{margin-left:auto}.envive-tw-mt-1{margin-top:4px}.envive-tw-mt-2{margin-top:8px}.envive-tw-mt-4{margin-top:16px}.envive-tw-mt-6{margin-top:24px}.envive-tw-line-clamp-1{-webkit-line-clamp:1}.envive-tw-line-clamp-1,.envive-tw-line-clamp-2{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical}.envive-tw-line-clamp-2{-webkit-line-clamp:2}.envive-tw-line-clamp-3{-webkit-line-clamp:3}.envive-tw-line-clamp-3,.envive-tw-line-clamp-4{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical}.envive-tw-line-clamp-4{-webkit-line-clamp:4}.envive-tw-line-clamp-5{-webkit-line-clamp:5}.envive-tw-line-clamp-5,.envive-tw-line-clamp-6{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical}.envive-tw-line-clamp-6{-webkit-line-clamp:6}.envive-tw-line-clamp-\[7\]{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:7}.envive-tw-block{display:block}.envive-tw-inline-block{display:inline-block}.envive-tw-inline{display:inline}.envive-tw-flex{display:flex}.envive-tw-inline-flex{display:inline-flex}.envive-tw-table{display:table}.envive-tw-grid{display:grid}.envive-tw-aspect-\[3\/4\]{aspect-ratio:3/4}.envive-tw-aspect-global-custom{aspect-ratio:var(--envive-global-custom-aspect-ratio)}.envive-tw-aspect-landscape{aspect-ratio:16/9}.envive-tw-aspect-portrait{aspect-ratio:3/4}.envive-tw-aspect-square{aspect-ratio:1/1}.envive-tw-h-10{height:40px}.envive-tw-h-16{height:64px}.envive-tw-h-24{height:96px}.envive-tw-h-3{height:12px}.envive-tw-h-4{height:16px}.envive-tw-h-6{height:24px}.envive-tw-h-8{height:32px}.envive-tw-h-\[0px\]{height:0}.envive-tw-h-\[112px\]{height:112px}.envive-tw-h-\[128px\]{height:128px}.envive-tw-h-\[12px\]{height:12px}.envive-tw-h-\[13px\]{height:13px}.envive-tw-h-\[16px\]{height:16px}.envive-tw-h-\[24px\]{height:24px}.envive-tw-h-\[25px\]{height:25px}.envive-tw-h-\[28px\]{height:28px}.envive-tw-h-\[32px\]{height:32px}.envive-tw-h-\[33px\]{height:33px}.envive-tw-h-\[37\.6px\]{height:37.6px}.envive-tw-h-\[38px\]{height:38px}.envive-tw-h-\[40px\]{height:40px}.envive-tw-h-\[42px\]{height:42px}.envive-tw-h-\[44px\]{height:44px}.envive-tw-h-\[4px\]{height:4px}.envive-tw-h-\[50px\]{height:50px}.envive-tw-h-\[52px\]{height:52px}.envive-tw-h-\[56px\]{height:56px}.envive-tw-h-\[64px\]{height:64px}.envive-tw-h-fit{height:-moz-fit-content;height:fit-content}.envive-tw-h-full{height:100%}.envive-tw-max-h-\[90vh\]{max-height:90vh}.envive-tw-min-h-\[200px\]{min-height:200px}.envive-tw-min-h-screen{min-height:100vh}.envive-tw-w-16{width:64px}.envive-tw-w-2\/3{width:66.666667%}.envive-tw-w-20{width:80px}.envive-tw-w-24{width:96px}.envive-tw-w-3{width:12px}.envive-tw-w-4{width:16px}.envive-tw-w-4\/5{width:80%}.envive-tw-w-6{width:24px}.envive-tw-w-\[10px\]{width:10px}.envive-tw-w-\[112px\]{width:112px}.envive-tw-w-\[12\.58px\]{width:12.58px}.envive-tw-w-\[128px\]{width:128px}.envive-tw-w-\[200px\]{width:200px}.envive-tw-w-\[208px\]{width:208px}.envive-tw-w-\[22px\]{width:22px}.envive-tw-w-\[240px\]{width:240px}.envive-tw-w-\[248px\]{width:248px}.envive-tw-w-\[24px\]{width:24px}.envive-tw-w-\[319px\]{width:319px}.envive-tw-w-\[320px\]{width:320px}.envive-tw-w-\[32px\]{width:32px}.envive-tw-w-\[33px\]{width:33px}.envive-tw-w-\[40px\]{width:40px}.envive-tw-w-\[44px\]{width:44px}.envive-tw-w-\[53px\]{width:53px}.envive-tw-w-\[54px\]{width:54px}.envive-tw-w-\[56px\]{width:56px}.envive-tw-w-\[64px\]{width:64px}.envive-tw-w-\[80\%\]{width:80%}.envive-tw-w-auto{width:auto}.envive-tw-w-fit{width:-moz-fit-content;width:fit-content}.envive-tw-w-full{width:100%}.envive-tw-min-w-\[120px\]{min-width:120px}.envive-tw-min-w-\[140px\]{min-width:140px}.envive-tw-min-w-\[276px\]{min-width:276px}.envive-tw-max-w-2xl{max-width:42rem}.envive-tw-max-w-6xl{max-width:72rem}.envive-tw-max-w-\[100px\]{max-width:100px}.envive-tw-max-w-\[300px\]{max-width:300px}.envive-tw-max-w-\[512px\]{max-width:512px}.envive-tw-max-w-\[768px\]{max-width:768px}.envive-tw-max-w-\[80px\]{max-width:80px}.envive-tw-max-w-\[900px\]{max-width:900px}.envive-tw-max-w-\[90ch\]{max-width:90ch}.envive-tw-max-w-full{max-width:100%}.envive-tw-flex-1{flex:1 1 0%}.envive-tw-flex-shrink-0{flex-shrink:0}.envive-tw-flex-grow{flex-grow:1}.envive-tw--translate-y-1\/2{--tw-translate-y:-50%}.envive-tw--translate-y-1\/2,.envive-tw-translate-x-\[-1px\]{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.envive-tw-translate-x-\[-1px\]{--tw-translate-x:-1px}.envive-tw-translate-x-\[-30px\]{--tw-translate-x:-30px}.envive-tw-translate-x-\[-30px\],.envive-tw-translate-x-\[1px\]{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.envive-tw-translate-x-\[1px\]{--tw-translate-x:1px}.envive-tw-translate-y-\[-50px\]{--tw-translate-y:-50px}.envive-tw-translate-y-\[-50px\],.envive-tw-translate-y-\[73\.75\%\]{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.envive-tw-translate-y-\[73\.75\%\]{--tw-translate-y:73.75%}.envive-tw-rotate-180{--tw-rotate:180deg}.envive-tw-rotate-180,.envive-tw-rotate-\[-10deg\]{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.envive-tw-rotate-\[-10deg\]{--tw-rotate:-10deg}.envive-tw-rotate-\[10deg\]{--tw-rotate:10deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes envive-tw-pulse{50%{opacity:.5}0%{border-color:var(--envive-colors-border-light);background:var(--envive-colors-border-light);opacity:1}to{border-color:var(--envive-colors-border-light);background:var(--envive-colors-border-light);opacity:1}}.envive-tw-animate-pulse{animation:envive-tw-pulse .8s linear infinite alternate}.envive-tw-cursor-not-allowed{cursor:not-allowed}.envive-tw-cursor-pointer{cursor:pointer}.envive-tw-cursor-text{cursor:text}.envive-tw-grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.envive-tw-grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.envive-tw-grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.envive-tw-grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.envive-tw-grid-rows-2{grid-template-rows:repeat(2,minmax(0,1fr))}.envive-tw-flex-row{flex-direction:row}.envive-tw-flex-row-reverse{flex-direction:row-reverse}.envive-tw-flex-col{flex-direction:column}.envive-tw-flex-col-reverse{flex-direction:column-reverse}.envive-tw-flex-wrap{flex-wrap:wrap}.envive-tw-flex-nowrap{flex-wrap:nowrap}.envive-tw-content-center{align-content:center}.envive-tw-items-start{align-items:flex-start}.envive-tw-items-end{align-items:flex-end}.envive-tw-items-center{align-items:center}.envive-tw-items-baseline{align-items:baseline}.envive-tw-items-stretch{align-items:stretch}.envive-tw-justify-start{justify-content:flex-start}.envive-tw-justify-end{justify-content:flex-end}.envive-tw-justify-center{justify-content:center}.envive-tw-justify-between{justify-content:space-between}.envive-tw-justify-around{justify-content:space-around}.envive-tw-justify-evenly{justify-content:space-evenly}.\!envive-tw-gap-6{gap:24px!important}.envive-tw-gap-0\.5{gap:2px}.envive-tw-gap-1{gap:4px}.envive-tw-gap-1\.5{gap:6px}.envive-tw-gap-10{gap:40px}.envive-tw-gap-12{gap:48px}.envive-tw-gap-14{gap:56px}.envive-tw-gap-16{gap:64px}.envive-tw-gap-2{gap:8px}.envive-tw-gap-2\.5{gap:10px}.envive-tw-gap-20{gap:80px}.envive-tw-gap-24{gap:96px}.envive-tw-gap-28{gap:112px}.envive-tw-gap-3{gap:12px}.envive-tw-gap-3\.5{gap:14px}.envive-tw-gap-32{gap:128px}.envive-tw-gap-36{gap:144px}.envive-tw-gap-4{gap:16px}.envive-tw-gap-40{gap:160px}.envive-tw-gap-44{gap:176px}.envive-tw-gap-48{gap:192px}.envive-tw-gap-5{gap:20px}.envive-tw-gap-52{gap:208px}.envive-tw-gap-56{gap:224px}.envive-tw-gap-6{gap:24px}.envive-tw-gap-60{gap:240px}.envive-tw-gap-64{gap:256px}.envive-tw-gap-7{gap:28px}.envive-tw-gap-72{gap:288px}.envive-tw-gap-8{gap:32px}.envive-tw-gap-80{gap:320px}.envive-tw-gap-9{gap:36px}.envive-tw-gap-96{gap:384px}.envive-tw-gap-\[10px\]{gap:10px}.envive-tw-gap-x-2{-moz-column-gap:8px;column-gap:8px}.envive-tw-space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(4px*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(4px*var(--tw-space-y-reverse))}.envive-tw-space-y-12>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(48px*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(48px*var(--tw-space-y-reverse))}.envive-tw-space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(8px*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(8px*var(--tw-space-y-reverse))}.envive-tw-space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(12px*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(12px*var(--tw-space-y-reverse))}.envive-tw-space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(16px*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(16px*var(--tw-space-y-reverse))}.envive-tw-space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(24px*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(24px*var(--tw-space-y-reverse))}.envive-tw-space-y-8>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(32px*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(32px*var(--tw-space-y-reverse))}.envive-tw-self-end{align-self:flex-end}.envive-tw-overflow-hidden{overflow:hidden}.envive-tw-overflow-scroll{overflow:scroll}.envive-tw-overflow-x-auto{overflow-x:auto}.envive-tw-overflow-y-auto{overflow-y:auto}.envive-tw-overflow-x-hidden{overflow-x:hidden}.envive-tw-overflow-y-hidden{overflow-y:hidden}.envive-tw-overflow-x-scroll{overflow-x:scroll}.envive-tw-text-ellipsis{text-overflow:ellipsis}.envive-tw-whitespace-nowrap{white-space:nowrap}.envive-tw-break-all{word-break:break-all}.\!envive-tw-rounded-0{border-radius:0!important}.envive-tw-rounded-4{border-radius:4px}.envive-tw-rounded-\[--envive-global-custom-border-radius\]{border-radius:var(--envive-global-custom-border-radius)}.envive-tw-rounded-\[0_50px_50px_0\]{border-radius:0 50px 50px 0}.envive-tw-rounded-\[12px\]{border-radius:12px}.envive-tw-rounded-\[16px\]{border-radius:16px}.envive-tw-rounded-\[16px_16px_0_16px\]{border-radius:16px 16px 0 16px}.envive-tw-rounded-\[20px\]{border-radius:20px}.envive-tw-rounded-\[4px\]{border-radius:4px}.envive-tw-rounded-\[50px\]{border-radius:50px}.envive-tw-rounded-\[50px_0_0_50px\]{border-radius:50px 0 0 50px}.envive-tw-rounded-\[8px\]{border-radius:8px}.envive-tw-rounded-\[var\(--envive-global-custom-border-radius\)\],.envive-tw-rounded-global-custom{border-radius:var(--envive-global-custom-border-radius)}.envive-tw-rounded-l-\[4px\]{border-top-left-radius:4px;border-bottom-left-radius:4px}.envive-tw-rounded-r-\[4px\]{border-top-right-radius:4px;border-bottom-right-radius:4px}.envive-tw-rounded-t-\[16px\]{border-top-left-radius:16px;border-top-right-radius:16px}.envive-tw-rounded-t-\[var\(--envive-global-custom-border-radius\)\]{border-top-left-radius:var(--envive-global-custom-border-radius);border-top-right-radius:var(--envive-global-custom-border-radius)}.envive-tw-border{border-width:1px}.envive-tw-border-0{border-width:0}.envive-tw-border-\[1px\]{border-width:1px}.envive-tw-border-b,.envive-tw-border-b-\[1px\]{border-bottom-width:1px}.envive-tw-border-t{border-top-width:1px}.envive-tw-border-solid{border-style:solid}.envive-tw-border-none{border-style:none}.\!envive-tw-border-border-medium{border-color:var(--envive-colors-border-medium)!important}.envive-tw-border-\[color-mix\(in_srgb\,var\(--envive-colors-background-secondary\)_90\%\,\#000000\)\]{border-color:color-mix(in srgb,var(--envive-colors-background-secondary) 90%,#000)}.envive-tw-border-\[color-mix\(in_srgb\,var\(--envive-colors-background-secondary\)_90\%\,\#000000_10\%\)\]{border-color:color-mix(in srgb,var(--envive-colors-background-secondary) 90%,#000 10%)}.envive-tw-border-\[color-mix\(in_srgb\,var\(--envive-colors-background-tertiary\)_90\%\,\#000000\)\]{border-color:color-mix(in srgb,var(--envive-colors-background-tertiary) 90%,#000)}.envive-tw-border-\[color-mix\(in_srgb\,var\(--envive-colors-button-light-background-color\)_90\%\,\#000000\)\]{border-color:color-mix(in srgb,var(--envive-colors-button-light-background-color) 90%,#000)}.envive-tw-border-background-dark{border-color:var(--envive-colors-background-dark)}.envive-tw-border-background-light{border-color:var(--envive-colors-background-light)}.envive-tw-border-border-dark{border-color:var(--envive-colors-border-dark)}.envive-tw-border-border-light{border-color:var(--envive-colors-border-light)}.envive-tw-border-border-medium{border-color:var(--envive-colors-border-medium)}.envive-tw-border-button-dark-background-color{border-color:var(--envive-colors-button-dark-background-color)}.envive-tw-border-emerald-100{--tw-border-opacity:1;border-color:rgb(209 250 229/var(--tw-border-opacity,1))}.envive-tw-border-gray-200{--tw-border-opacity:1;border-color:rgb(229 231 235/var(--tw-border-opacity,1))}.envive-tw-border-gray-300{--tw-border-opacity:1;border-color:rgb(209 213 219/var(--tw-border-opacity,1))}.envive-tw-border-red-500{--tw-border-opacity:1;border-color:rgb(239 68 68/var(--tw-border-opacity,1))}.envive-tw-border-slate-200{--tw-border-opacity:1;border-color:rgb(226 232 240/var(--tw-border-opacity,1))}.envive-tw-border-text-light{border-color:var(--envive-colors-text-light)}.envive-tw-border-text-secondary{border-color:var(--envive-colors-text-secondary)}.envive-tw-border-b-border-dark{border-bottom-color:var(--envive-colors-border-dark)}.envive-tw-border-b-border-medium{border-bottom-color:var(--envive-colors-border-medium)}.envive-tw-bg-\[\#1f5f51\]{--tw-bg-opacity:1;background-color:rgb(31 95 81/var(--tw-bg-opacity,1))}.envive-tw-bg-\[\#FFFFFFB2\]{background-color:#ffffffb2}.envive-tw-bg-\[\#FFFFFF\]{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.envive-tw-bg-\[--envive-colors-accent-primary\]{background-color:var(--envive-colors-accent-primary)}.envive-tw-bg-\[--envive-colors-accent-secondary\]{background-color:var(--envive-colors-accent-secondary)}.envive-tw-bg-\[--envive-colors-background-dark\]{background-color:var(--envive-colors-background-dark)}.envive-tw-bg-\[--envive-colors-background-light\]{background-color:var(--envive-colors-background-light)}.envive-tw-bg-\[--envive-colors-background-primary\]{background-color:var(--envive-colors-background-primary)}.envive-tw-bg-\[--envive-colors-background-secondary\]{background-color:var(--envive-colors-background-secondary)}.envive-tw-bg-\[--envive-colors-background-tertiary\]{background-color:var(--envive-colors-background-tertiary)}.envive-tw-bg-\[--envive-colors-border-dark\]{background-color:var(--envive-colors-border-dark)}.envive-tw-bg-\[--envive-colors-border-light\]{background-color:var(--envive-colors-border-light)}.envive-tw-bg-\[--envive-colors-border-medium\]{background-color:var(--envive-colors-border-medium)}.envive-tw-bg-\[--envive-colors-text-accent\]{background-color:var(--envive-colors-text-accent)}.envive-tw-bg-\[--envive-colors-text-light\]{background-color:var(--envive-colors-text-light)}.envive-tw-bg-\[--envive-colors-text-link\]{background-color:var(--envive-colors-text-link)}.envive-tw-bg-\[--envive-colors-text-primary\]{background-color:var(--envive-colors-text-primary)}.envive-tw-bg-\[--envive-colors-text-secondary\]{background-color:var(--envive-colors-text-secondary)}.envive-tw-bg-\[color-mix\(in_srgb\,var\(--envive-colors-background-light\)\,transparent_10\%\)\]{background-color:color-mix(in srgb,var(--envive-colors-background-light),transparent 10%)}.envive-tw-bg-\[color-mix\(in_srgb\,var\(--envive-colors-background-secondary\)_90\%\,\#000000\)\]{background-color:color-mix(in srgb,var(--envive-colors-background-secondary) 90%,#000)}.envive-tw-bg-\[color-mix\(in_srgb\,var\(--envive-colors-background-secondary\)_90\%\,\#000000_10\%\)\]{background-color:color-mix(in srgb,var(--envive-colors-background-secondary) 90%,#000 10%)}.envive-tw-bg-\[color-mix\(in_srgb\,var\(--envive-colors-background-secondary\)_95\%\,\#000000\)\]{background-color:color-mix(in srgb,var(--envive-colors-background-secondary) 95%,#000)}.envive-tw-bg-\[rgb\(from_var\(--envive-colors-background-dark\)_r_g_b_\/_10\%\)\]{background-color:rgb(from var(--envive-colors-background-dark) r g b/10%)}.envive-tw-bg-\[rgb\(from_var\(--envive-colors-background-light\)_r_g_b_\/_90\%\)\]{background-color:rgb(from var(--envive-colors-background-light) r g b/90%)}.envive-tw-bg-\[rgba\(0\,0\,0\,0\.40\)\]{background-color:rgba(0,0,0,.4)}.envive-tw-bg-background-dark{background-color:var(--envive-colors-background-dark)}.envive-tw-bg-background-light{background-color:var(--envive-colors-background-light)}.envive-tw-bg-background-primary{background-color:var(--envive-colors-background-primary)}.envive-tw-bg-background-secondary{background-color:var(--envive-colors-background-secondary)}.envive-tw-bg-background-tertiary{background-color:var(--envive-colors-background-tertiary)}.envive-tw-bg-button-dark-background-color{background-color:var(--envive-colors-button-dark-background-color)}.envive-tw-bg-button-light-background-color{background-color:var(--envive-colors-button-light-background-color)}.envive-tw-bg-emerald-100{--tw-bg-opacity:1;background-color:rgb(209 250 229/var(--tw-bg-opacity,1))}.envive-tw-bg-emerald-50{--tw-bg-opacity:1;background-color:rgb(236 253 245/var(--tw-bg-opacity,1))}.envive-tw-bg-gray-200{--tw-bg-opacity:1;background-color:rgb(229 231 235/var(--tw-bg-opacity,1))}.envive-tw-bg-slate-200{--tw-bg-opacity:1;background-color:rgb(226 232 240/var(--tw-bg-opacity,1))}.envive-tw-bg-slate-50{--tw-bg-opacity:1;background-color:rgb(248 250 252/var(--tw-bg-opacity,1))}.envive-tw-bg-text-link{background-color:var(--envive-colors-text-link)}.envive-tw-bg-transparent{background-color:transparent}.envive-tw-bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.envive-tw-bg-\[linear-gradient\(0deg\,rgba\(0\,0\,0\,0\.40\)_0\%\,rgba\(0\,0\,0\,0\.40\)_100\%\)\]{background-image:linear-gradient(0deg,rgba(0,0,0,.4),rgba(0,0,0,.4))}.envive-tw-fill-button-dark-icon-color{fill:var(--envive-colors-button-dark-icon-color)}.envive-tw-fill-button-light-icon-color{fill:var(--envive-colors-button-light-icon-color)}.envive-tw-fill-transparent{fill:transparent}.envive-tw-stroke-background-light{stroke:var(--envive-colors-background-light)}.envive-tw-stroke-button-dark-icon-color{stroke:var(--envive-colors-button-dark-icon-color)}.envive-tw-stroke-button-light-icon-color{stroke:var(--envive-colors-button-light-icon-color)}.envive-tw-object-contain{-o-object-fit:contain;object-fit:contain}.envive-tw-object-cover{-o-object-fit:cover;object-fit:cover}.envive-tw-object-fill{-o-object-fit:fill;object-fit:fill}.envive-tw-object-none{-o-object-fit:none;object-fit:none}.envive-tw-object-scale-down{-o-object-fit:scale-down;object-fit:scale-down}.envive-tw-p-2{padding:8px}.envive-tw-p-3{padding:12px}.envive-tw-p-4{padding:16px}.envive-tw-p-8{padding:32px}.envive-tw-p-\[1px\]{padding:1px}.envive-tw-px-1{padding-left:4px;padding-right:4px}.envive-tw-px-2{padding-left:8px;padding-right:8px}.envive-tw-px-3{padding-left:12px;padding-right:12px}.envive-tw-px-4{padding-left:16px;padding-right:16px}.envive-tw-px-\[6px\]{padding-left:6px;padding-right:6px}.envive-tw-px-\[8px\]{padding-left:8px;padding-right:8px}.envive-tw-py-0\.5{padding-top:2px;padding-bottom:2px}.envive-tw-py-1{padding-top:4px;padding-bottom:4px}.envive-tw-py-10{padding-top:40px;padding-bottom:40px}.envive-tw-py-16{padding-top:64px;padding-bottom:64px}.envive-tw-py-2{padding-top:8px;padding-bottom:8px}.envive-tw-py-3{padding-top:12px;padding-bottom:12px}.envive-tw-py-6{padding-top:24px;padding-bottom:24px}.envive-tw-py-8{padding-top:32px;padding-bottom:32px}.envive-tw-py-\[2px\]{padding-top:2px;padding-bottom:2px}.envive-tw-pb-2{padding-bottom:8px}.envive-tw-pb-4{padding-bottom:16px}.envive-tw-pb-\[131px\]{padding-bottom:131px}.envive-tw-pb-\[150px\]{padding-bottom:150px}.envive-tw-pb-\[180px\]{padding-bottom:180px}.envive-tw-pl-4{padding-left:16px}.envive-tw-pl-\[2px\]{padding-left:2px}.envive-tw-pr-2{padding-right:8px}.envive-tw-pr-4{padding-right:16px}.envive-tw-pt-1{padding-top:4px}.envive-tw-pt-2{padding-top:8px}.envive-tw-pt-3{padding-top:12px}.envive-tw-pt-4{padding-top:16px}.envive-tw-pt-6{padding-top:24px}.envive-tw-text-left{text-align:left}.envive-tw-text-center{text-align:center}.envive-tw-text-right{text-align:right}.envive-tw-text-justify{text-align:justify}.envive-tw-align-top{vertical-align:top}.envive-tw-align-middle{vertical-align:middle}.envive-tw-font-body{font-family:var(--envive-typography-font-family-body),sans-serif}.envive-tw-font-header{font-family:var(--envive-typography-font-family-header),sans-serif}.envive-tw-font-title{font-family:var(--envive-typography-font-family-title),sans-serif}.envive-tw-text-2xl{font-size:1.5rem;line-height:2rem}.envive-tw-text-\[2\.25rem\]{font-size:2.25rem}.envive-tw-text-b1{font-size:var(--envive-typography-font-size-b1)}.envive-tw-text-b3{font-size:var(--envive-typography-font-size-b3)}.envive-tw-text-b4{font-size:var(--envive-typography-font-size-b4)}.envive-tw-text-b5{font-size:var(--envive-typography-font-size-b5)}.envive-tw-text-base{font-size:1rem;line-height:1.5rem}.envive-tw-text-h2{font-size:var(--envive-typography-font-size-h2)}.envive-tw-text-h3{font-size:var(--envive-typography-font-size-h3)}.envive-tw-text-lg{font-size:1.125rem;line-height:1.75rem}.envive-tw-text-sm{font-size:.875rem;line-height:1.25rem}.envive-tw-text-t1{font-size:var(--envive-typography-font-size-t1)}.envive-tw-text-t2{font-size:var(--envive-typography-font-size-t2)}.envive-tw-text-t3{font-size:var(--envive-typography-font-size-t3)}.envive-tw-text-xs{font-size:.75rem;line-height:1rem}.envive-tw-font-bold{font-weight:700}.envive-tw-font-md{font-weight:var(--envive-typography-font-weight-md)}.envive-tw-font-medium{font-weight:500}.envive-tw-font-rg{font-weight:var(--envive-typography-font-weight-rg)}.envive-tw-font-sb{font-weight:var(--envive-typography-font-weight-sb)}.envive-tw-font-semibold{font-weight:600}.envive-tw-uppercase{text-transform:uppercase}.envive-tw-capitalize{text-transform:capitalize}.envive-tw-italic{font-style:italic}.envive-tw-leading-114{line-height:var(--envive-typography-line-height-114)}.envive-tw-leading-116{line-height:var(--envive-typography-line-height-116)}.envive-tw-leading-118{line-height:var(--envive-typography-line-height-118)}.envive-tw-leading-120{line-height:var(--envive-typography-line-height-120)}.envive-tw-leading-124{line-height:var(--envive-typography-line-height-124)}.envive-tw-leading-130{line-height:var(--envive-typography-line-height-130)}.envive-tw-leading-140{line-height:var(--envive-typography-line-height-140)}.envive-tw-leading-148{line-height:var(--envive-typography-line-height-148)}.envive-tw-leading-\[0\]{line-height:0}.envive-tw-leading-\[13px\]{line-height:13px}.envive-tw-leading-relaxed{line-height:1.625}.envive-tw-tracking-tighter{letter-spacing:-.05em}.envive-tw-text-\[\#f9f6ea\]{--tw-text-opacity:1;color:rgb(249 246 234/var(--tw-text-opacity,1))}.envive-tw-text-\[--envive-colors-text-accent\]{color:var(--envive-colors-text-accent)}.envive-tw-text-\[--envive-colors-text-light\]{color:var(--envive-colors-text-light)}.envive-tw-text-\[--envive-colors-text-link\]{color:var(--envive-colors-text-link)}.envive-tw-text-\[--envive-colors-text-primary\]{color:var(--envive-colors-text-primary)}.envive-tw-text-\[--envive-colors-text-secondary\]{color:var(--envive-colors-text-secondary)}.envive-tw-text-background-dark{color:var(--envive-colors-background-dark)}.envive-tw-text-background-light{color:var(--envive-colors-background-light)}.envive-tw-text-emerald-800{--tw-text-opacity:1;color:rgb(6 95 70/var(--tw-text-opacity,1))}.envive-tw-text-emerald-950{--tw-text-opacity:1;color:rgb(2 44 34/var(--tw-text-opacity,1))}.envive-tw-text-gray-500{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity,1))}.envive-tw-text-gray-600{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity,1))}.envive-tw-text-gray-700{--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity,1))}.envive-tw-text-gray-800{--tw-text-opacity:1;color:rgb(31 41 55/var(--tw-text-opacity,1))}.envive-tw-text-gray-900{--tw-text-opacity:1;color:rgb(17 24 39/var(--tw-text-opacity,1))}.envive-tw-text-red-500{--tw-text-opacity:1;color:rgb(239 68 68/var(--tw-text-opacity,1))}.envive-tw-text-slate-600{--tw-text-opacity:1;color:rgb(71 85 105/var(--tw-text-opacity,1))}.envive-tw-text-slate-900{--tw-text-opacity:1;color:rgb(15 23 42/var(--tw-text-opacity,1))}.envive-tw-text-text-light{color:var(--envive-colors-text-light)}.envive-tw-text-text-link{color:var(--envive-colors-text-link)}.envive-tw-text-text-primary{color:var(--envive-colors-text-primary)}.envive-tw-text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.envive-tw-underline{text-decoration-line:underline}.envive-tw-line-through{text-decoration-line:line-through}.envive-tw-opacity-0{opacity:0}.envive-tw-opacity-100{opacity:1}.envive-tw-opacity-50{opacity:.5}.envive-tw-shadow-\[2px_2px_6px_0px_rgba\(0\,0\,0\,0\.15\)\]{--tw-shadow:2px 2px 6px 0px rgba(0,0,0,.15);--tw-shadow-colored:2px 2px 6px 0px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.envive-tw-shadow-\[2px_2px_8px_0_rgba\(0\,0\,0\,0\.25\)\]{--tw-shadow:2px 2px 8px 0 rgba(0,0,0,.25);--tw-shadow-colored:2px 2px 8px 0 var(--tw-shadow-color)}.envive-tw-shadow-\[2px_2px_8px_0_rgba\(0\,0\,0\,0\.25\)\],.envive-tw-shadow-lg{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.envive-tw-shadow-lg{--tw-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color)}.envive-tw-shadow-md{--tw-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color)}.envive-tw-shadow-md,.envive-tw-shadow-sm{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.envive-tw-shadow-sm{--tw-shadow:0 1px 2px 0 rgba(0,0,0,.05);--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color)}.envive-tw-outline-none{outline:2px solid transparent;outline-offset:2px}.envive-tw-backdrop-blur-\[12px\]{--tw-backdrop-blur:blur(12px)}.envive-tw-backdrop-blur-\[12px\],.envive-tw-backdrop-blur-\[4px\]{backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.envive-tw-backdrop-blur-\[4px\]{--tw-backdrop-blur:blur(4px)}.envive-tw-transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.envive-tw-transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.envive-tw-duration-200{transition-duration:.2s}.envive-tw-duration-300{transition-duration:.3s}.envive-tw-ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.envive-tw-typography-ol,.envive-tw-typography-ul{list-style:inherit;margin:0;padding-left:24px;line-height:4px;&>li{list-style:inherit!important}}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(https://cdn.jsdelivr.net/fontsource/fonts/inter:vf@latest/latin-wght-normal.woff2) format("woff2-variations");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Inter Variable;font-style:italic;font-display:swap;font-weight:100 900;src:url(https://cdn.jsdelivr.net/fontsource/fonts/inter:vf@latest/latin-wght-italic.woff2) format("woff2-variations");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Poppins;font-style:normal;font-display:swap;font-weight:400;src:url(https://cdn.jsdelivr.net/fontsource/fonts/poppins@latest/latin-400-normal.woff2) format("woff2"),url(https://cdn.jsdelivr.net/fontsource/fonts/poppins@latest/latin-400-normal.woff) format("woff");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+2074,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Poppins;font-style:normal;font-display:swap;font-weight:500;src:url(https://cdn.jsdelivr.net/fontsource/fonts/poppins@latest/latin-500-normal.woff2) format("woff2"),url(https://cdn.jsdelivr.net/fontsource/fonts/poppins@latest/latin-500-normal.woff) format("woff");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+2074,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Poppins;font-style:normal;font-display:swap;font-weight:600;src:url(https://cdn.jsdelivr.net/fontsource/fonts/poppins@latest/latin-600-normal.woff2) format("woff2"),url(https://cdn.jsdelivr.net/fontsource/fonts/poppins@latest/latin-600-normal.woff) format("woff");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+2074,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}.placeholder\:envive-tw-text-text-secondary::-moz-placeholder{color:var(--envive-colors-text-secondary)}.placeholder\:envive-tw-text-text-secondary::placeholder{color:var(--envive-colors-text-secondary)}.focus-within\:envive-tw-border-\[--envive-colors-text-link\]:focus-within{border-color:var(--envive-colors-text-link)}@media (hover:hover) and (pointer:fine){.hover\:envive-tw-border-\[color-mix\(in_srgb\2c var\(--envive-colors-background-secondary\)_90\%\2c \#000000\)\]:hover{border-color:color-mix(in srgb,var(--envive-colors-background-secondary) 90%,#000)}.hover\:envive-tw-border-\[color-mix\(in_srgb\2c var\(--envive-colors-background-secondary\)_92\%\2c \#000000\)\]:hover{border-color:color-mix(in srgb,var(--envive-colors-background-secondary) 92%,#000)}.hover\:envive-tw-border-border-dark:hover{border-color:var(--envive-colors-border-dark)}.hover\:envive-tw-border-b-border-dark:hover{border-bottom-color:var(--envive-colors-border-dark)}.hover\:envive-tw-bg-\[color-mix\(in_srgb\2c var\(--envive-colors-background-secondary\)_92\%\2c \#000000\)\]:hover{background-color:color-mix(in srgb,var(--envive-colors-background-secondary) 92%,#000)}.hover\:envive-tw-bg-\[color-mix\(in_srgb\2c var\(--envive-colors-background-secondary\)_92\%\2c \#000000_08\%\)\]:hover,.hover\:envive-tw-bg-\[color-mix\(in_srgb\2c var\(--envive-colors-background-secondary\)_92\%\2c \#000000_8\%\)\]:hover{background-color:color-mix(in srgb,var(--envive-colors-background-secondary) 92%,#000 8%)}.hover\:envive-tw-bg-gray-50:hover{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity,1))}.hover\:envive-tw-text-text-primary:hover{color:var(--envive-colors-text-primary)}.hover\:envive-tw-underline:hover{text-decoration-line:underline}.hover\:envive-tw-underline-offset-2:hover{text-underline-offset:2px}}.focus\:envive-tw-border-\[\#1f5f51\]:focus{--tw-border-opacity:1;border-color:rgb(31 95 81/var(--tw-border-opacity,1))}.focus\:envive-tw-outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\:envive-tw-ring-1:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.focus\:envive-tw-ring-1:focus,.focus\:envive-tw-ring-2:focus{box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus\:envive-tw-ring-2:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.focus\:envive-tw-ring-\[\#1f5f51\]:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(31 95 81/var(--tw-ring-opacity,1))}.focus\:envive-tw-ring-offset-2:focus{--tw-ring-offset-width:2px}.focus\:placeholder\:envive-tw-text-text-primary:focus::-moz-placeholder{color:var(--envive-colors-text-primary)}.focus\:placeholder\:envive-tw-text-text-primary:focus::placeholder{color:var(--envive-colors-text-primary)}.focus-visible\:envive-tw-shadow-none:focus-visible{--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.focus-visible\:envive-tw-outline-none:focus-visible{outline:2px solid transparent;outline-offset:2px}.disabled\:envive-tw-opacity-50:disabled{opacity:.5}@media (hover:hover) and (pointer:fine){.envive-tw-group\/floatingbutton:hover .group-hover\/floatingbutton\:envive-tw-h-\[30px\]{height:30px}.envive-tw-group\/floatingbutton:hover .group-hover\/floatingbutton\:envive-tw-h-\[38px\]{height:38px}.envive-tw-group\/floatingbutton:hover .group-hover\/floatingbutton\:envive-tw-h-\[51px\]{height:51px}.envive-tw-group\/floatingbutton:hover .group-hover\/floatingbutton\:envive-tw-h-\[57px\]{height:57px}.envive-tw-group\/floatingbutton:hover .group-hover\/floatingbutton\:envive-tw-h-\[72px\]{height:72px}.envive-tw-group\/floatingbutton:hover .group-hover\/floatingbutton\:envive-tw-w-\[30px\]{width:30px}.envive-tw-group\/floatingbutton:hover .group-hover\/floatingbutton\:envive-tw-w-\[38px\]{width:38px}.envive-tw-group\/floatingbutton:hover .group-hover\/floatingbutton\:envive-tw-w-\[51px\]{width:51px}.envive-tw-group\/floatingbutton:hover .group-hover\/floatingbutton\:envive-tw-w-\[62px\]{width:62px}.envive-tw-group\/floatingbutton:hover .group-hover\/floatingbutton\:envive-tw-w-\[72px\]{width:72px}.envive-tw-group\/card:hover .group-hover\/card\:envive-tw-bg-\[color-mix\(in_srgb\2c var\(--envive-colors-background-secondary\)_80\%\2c \#000000_20\%\)\]{background-color:color-mix(in srgb,var(--envive-colors-background-secondary) 80%,#000 20%)}.envive-tw-group\/card:hover .group-hover\/card\:envive-tw-bg-text-primary{background-color:var(--envive-colors-text-primary)}.envive-tw-group:hover .group-hover\:envive-tw-bg-\[color-mix\(in_srgb\2c var\(--envive-colors-background-secondary\)_90\%\2c \#000000_10\%\)\]{background-color:color-mix(in srgb,var(--envive-colors-background-secondary) 90%,#000 10%)}.envive-tw-group:hover .group-hover\:envive-tw-bg-\[color-mix\(in_srgb\2c var\(--envive-colors-background-secondary\)_92\%\2c \#000000\)\]{background-color:color-mix(in srgb,var(--envive-colors-background-secondary) 92%,#000)}.envive-tw-group:hover .group-hover\:envive-tw-fill-background-dark{fill:var(--envive-colors-background-dark)}.envive-tw-group:hover .group-hover\:envive-tw-stroke-background-dark{stroke:var(--envive-colors-background-dark)}.envive-tw-group:hover .group-hover\:envive-tw-text-text-primary,.envive-tw-group\/card:hover .group-hover\/card\:envive-tw-text-\[--envive-colors-text-primary\]{color:var(--envive-colors-text-primary)}.envive-tw-group:hover .group-hover\:envive-tw-underline{text-decoration-line:underline}.envive-tw-group\/floatingbutton:hover .group-hover\/floatingbutton\:envive-tw-shadow-\[2px_2px_8px_0_rgba\(0\2c 0\2c 0\2c 0\.25\)\]{--tw-shadow:2px 2px 8px 0 rgba(0,0,0,.25);--tw-shadow-colored:2px 2px 8px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}}@media (min-width:768px){.md\:envive-tw-max-w-\[450px\]{max-width:450px}.md\:envive-tw-grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width:1024px){.lg\:envive-tw-max-w-\[900px\]{max-width:900px}.lg\:envive-tw-grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:envive-tw-text-\[3rem\]{font-size:3rem}}.\[\&\>div\>div\]\:envive-tw-items-end>div>div{align-items:flex-end}.\[\&\>img\]\:envive-tw-transition-transform>img{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.\[\&\>img\]\:envive-tw-duration-300>img{transition-duration:.3s}.\[\&\>img\]\:envive-tw-ease-in-out>img{transition-timing-function:cubic-bezier(.4,0,.2,1)}@media (hover:hover) and (pointer:fine){.envive-tw-group:hover .\[\&\>img\]\:group-hover\:envive-tw-scale-125>img{--tw-scale-x:1.25;--tw-scale-y:1.25;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}}.\[\&\>line\]\:envive-tw-stroke-\[var\(--envive-colors-background-light\)\]>line{stroke:var(--envive-colors-background-light)}.\[\&\>line\]\:envive-tw-stroke-\[var\(--envive-colors-text-secondary\)\]>line{stroke:var(--envive-colors-text-secondary)}.\[\&\>path\]\:envive-tw-fill-\[var\(--envive-colors-background-dark\)\]>path{fill:var(--envive-colors-background-dark)}.\[\&\>path\]\:envive-tw-fill-\[var\(--envive-colors-background-light\)\]>path{fill:var(--envive-colors-background-light)}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@envive-ai/react-toolkit-v3",
3
- "version": "0.3.21",
3
+ "version": "0.3.23",
4
4
  "description": "React component library for Envive services.",
5
5
  "keywords": [
6
6
  "react",
@@ -46,6 +46,7 @@
46
46
  "react-icons": "^5.0.1",
47
47
  "react-indiana-drag-scroll": "^3.0.3-alpha",
48
48
  "react-markdown": "^10.1.0",
49
+ "react-speech-recognition": "^4.0.1",
49
50
  "zod": "^3.24.1"
50
51
  },
51
52
  "peerDependencies": {
@@ -22,7 +22,11 @@ export const ChatFooter = ({
22
22
  disabled = false,
23
23
  isLoadingPromptSuggestions = false,
24
24
  disabledInput = false,
25
+ inputClassName,
25
26
  parentWidget,
27
+ voiceInputEnabled = false,
28
+ onTranscriptionStarted,
29
+ onTranscriptionCompleted,
26
30
  }: ChatFooterProps) => {
27
31
  const finalTheme = resolveTheme(theme);
28
32
 
@@ -55,7 +59,11 @@ export const ChatFooter = ({
55
59
  onSubmit={onSubmit}
56
60
  onFocus={onFocus}
57
61
  className={classNames(textFieldClasses, className)}
62
+ inputClassName={inputClassName}
58
63
  disabled={disabled || disabledInput}
64
+ enableVoiceInput={voiceInputEnabled}
65
+ onTranscriptionStarted={onTranscriptionStarted}
66
+ onTranscriptionCompleted={onTranscriptionCompleted}
59
67
  />
60
68
  }
61
69
  enviveLogo={<ChatFooterComponents.EnviveLogo className={className} />}
@@ -11,6 +11,22 @@ vi.mock('../../DesignTokens/components/utils', () => ({
11
11
  getComputedCSSVariable: vi.fn(() => 'modern'),
12
12
  }));
13
13
 
14
+ vi.mock('@envive-ai/react-hooks/contexts/amplitudeContext', () => ({
15
+ useAmplitude: () => ({
16
+ trackEvent: vi.fn(),
17
+ isReady: true,
18
+ }),
19
+ SpiffyMetricsEventName: {
20
+ ChatComponentVisible: 'Chat Component Visible',
21
+ },
22
+ }));
23
+
24
+ vi.mock('@envive-ai/react-hooks/hooks/WidgetInteraction/useWidgetInteraction', () => ({
25
+ useWidgetInteraction: () => ({
26
+ trackWidgetInteraction: vi.fn(),
27
+ }),
28
+ }));
29
+
14
30
  const defaultProps: ChatFooterProps = {
15
31
  isScrolled: false,
16
32
  promptSuggestions: ['New Topic 1', 'New Topic 2', 'New Topic 3'],
@@ -311,4 +327,31 @@ describe('ChatFooter', () => {
311
327
  expect(screen.getByPlaceholderText('Ask me anything...')).toBeInTheDocument();
312
328
  });
313
329
  });
330
+
331
+ describe('Voice input', () => {
332
+ it('should render with voiceInputEnabled set to false by default', () => {
333
+ render(<ChatFooter {...defaultProps} />);
334
+ expect(screen.getByPlaceholderText('Ask me anything...')).toBeInTheDocument();
335
+ });
336
+
337
+ it('should render with voiceInputEnabled set to true', () => {
338
+ const { container } = render(
339
+ <ChatFooter
340
+ {...defaultProps}
341
+ voiceInputEnabled
342
+ />,
343
+ );
344
+ expect(container.firstChild).toBeInTheDocument();
345
+ });
346
+
347
+ it('should render with voiceInputEnabled explicitly set to false', () => {
348
+ const { container } = render(
349
+ <ChatFooter
350
+ {...defaultProps}
351
+ voiceInputEnabled={false}
352
+ />,
353
+ );
354
+ expect(container.firstChild).toBeInTheDocument();
355
+ });
356
+ });
314
357
  });
@@ -11,9 +11,13 @@ type TextFieldProps = {
11
11
  id?: string;
12
12
  testId?: string;
13
13
  className?: string;
14
+ inputClassName?: string;
14
15
  style?: React.CSSProperties;
15
16
  isLoading?: boolean;
16
17
  disabled?: boolean;
18
+ enableVoiceInput?: boolean;
19
+ onTranscriptionStarted?: () => void;
20
+ onTranscriptionCompleted?: (transcript: string) => void;
17
21
  };
18
22
 
19
23
  export const FooterTextField = ({
@@ -26,9 +30,13 @@ export const FooterTextField = ({
26
30
  id,
27
31
  testId,
28
32
  className,
33
+ inputClassName,
29
34
  style,
30
35
  isLoading,
31
36
  disabled,
37
+ enableVoiceInput,
38
+ onTranscriptionStarted,
39
+ onTranscriptionCompleted,
32
40
  }: TextFieldProps) => {
33
41
  return (
34
42
  <TextField
@@ -41,9 +49,13 @@ export const FooterTextField = ({
41
49
  id={id}
42
50
  testId={testId}
43
51
  className={className}
52
+ inputClassName={inputClassName}
44
53
  style={style}
45
54
  isLoading={isLoading}
46
55
  disabled={disabled}
56
+ enableVoiceInput={enableVoiceInput}
57
+ onTranscriptionStarted={onTranscriptionStarted}
58
+ onTranscriptionCompleted={onTranscriptionCompleted}
47
59
  />
48
60
  );
49
61
  };
@@ -72,8 +72,25 @@ export type ChatFooterProps = {
72
72
  * Whether the input is disabled
73
73
  */
74
74
  disabledInput?: boolean;
75
+ /**
76
+ * Additional class names applied directly to the input element (e.g. placeholder styling).
77
+ */
78
+ inputClassName?: string;
75
79
  /**
76
80
  * The parent widget that this chat footer belongs to
77
81
  */
78
82
  parentWidget: WidgetInteractionComponent;
83
+
84
+ /**
85
+ * Whether to enable voice input.
86
+ */
87
+ voiceInputEnabled?: boolean;
88
+ /**
89
+ * Callback function invoked when voice transcription starts.
90
+ */
91
+ onTranscriptionStarted?: () => void;
92
+ /**
93
+ * Callback function invoked when voice transcription completes.
94
+ */
95
+ onTranscriptionCompleted?: (transcript: string) => void;
79
96
  };
@@ -36,6 +36,7 @@ export const ChatHeader = ({
36
36
  variant={variant}
37
37
  state={handleState}
38
38
  animationKey={handleAnimationKey}
39
+ headerBgColor={headerBgColor}
39
40
  />
40
41
  )}
41
42
 
@@ -5,8 +5,13 @@ import { Stack } from '../../Stack';
5
5
  import { useGetHandleProperties } from '../hooks/useGetHandleProperties';
6
6
  import { HandleProps } from '../types';
7
7
 
8
- export const Handle = ({ theme, variant, state, animationKey }: HandleProps) => {
9
- const { containerClasses, leftBar, rightBar } = useGetHandleProperties(theme, variant, state);
8
+ export const Handle = ({ theme, variant, state, animationKey, headerBgColor }: HandleProps) => {
9
+ const { containerClasses, leftBar, rightBar } = useGetHandleProperties(
10
+ theme,
11
+ variant,
12
+ state,
13
+ headerBgColor,
14
+ );
10
15
 
11
16
  const swipeviewFactor = MAX_SWIPEABLE_VIEW_HEIGHT / 100;
12
17
  const closetSheetHeight = Math.floor(window.innerHeight * swipeviewFactor);
@@ -1,13 +1,15 @@
1
+ import { extractColorNameFromCssVar } from 'tokens/utils';
1
2
  import { Theme } from '../../../../tokens/theme/theme';
3
+ import { ColorNames } from '../../../models/colorsConfig';
2
4
  import { ChatHeaderVariant, HandleState } from '../types';
3
5
 
4
- const defaultLayout = 'envive-tw-flex envive-tw-justify-center envive-tw-items-center';
6
+ const defaultLayout = 'envive-tw-flex envive-tw-justify-center envive-tw-items-end';
5
7
 
6
- const defaultStandard = `${defaultLayout} envive-tw-h-[29px] envive-tw-rounded-t-[var(--envive-global-custom-border-radius)]`;
8
+ const defaultStandard = `${defaultLayout} envive-tw-h-[16px] envive-tw-rounded-t-[var(--envive-global-custom-border-radius)]`;
7
9
 
8
- const defaultModern = `${defaultLayout} envive-tw-h-[33px]`;
10
+ const defaultModern = `${defaultLayout} envive-tw-h-[16px]`;
9
11
 
10
- const defaultMinimal = `${defaultLayout} envive-tw-h-[29px]`;
12
+ const defaultMinimal = `${defaultLayout} envive-tw-h-[16px]`;
11
13
 
12
14
  const barDimensions = 'envive-tw-w-[22px] envive-tw-h-[4px]';
13
15
 
@@ -73,8 +75,10 @@ export const useGetHandleProperties = (
73
75
  theme: Theme,
74
76
  variant: ChatHeaderVariant,
75
77
  state: HandleState,
78
+ headerBgColor?: ColorNames,
76
79
  ) => {
77
- const containerClasses = containerClassesMap[theme][variant];
80
+ const colorName = extractColorNameFromCssVar(headerBgColor);
81
+ const containerClasses = `${containerClassesMap[theme][variant]} envive-tw-bg-${colorName}`;
78
82
  const { leftBar } = chev[theme][variant];
79
83
  const { rightBar } = chev[theme][variant];
80
84
 
@@ -3,7 +3,7 @@ import { TypographyVariant } from '../../Typography';
3
3
  import { ChatHeaderVariant } from '../types';
4
4
 
5
5
  const defaultContainerStandardClasses =
6
- 'envive-tw-px-[6px] envive-tw-py-1 envive-tw-rounded-[var(--envive-global-custom-border-radius)] envive-tw-cursor-pointer';
6
+ 'envive-tw-px-[8px] envive-tw-py-1 envive-tw-rounded-[var(--envive-global-custom-border-radius)] envive-tw-cursor-pointer';
7
7
 
8
8
  const defaultContainerModernClasses =
9
9
  'envive-tw-px-4 envive-tw-py-2 envive-tw-rounded-[var(--envive-global-custom-border-radius)] envive-tw-cursor-pointer';
@@ -34,6 +34,7 @@ export interface HandleProps {
34
34
  variant: ChatHeaderVariant;
35
35
  state: HandleState;
36
36
  animationKey?: MotionValue;
37
+ headerBgColor?: ColorNames;
37
38
  }
38
39
 
39
40
  export interface LayoutProps {
@@ -25,8 +25,14 @@ export const ChatPreview = ({
25
25
  hexCardColor,
26
26
  } = widgetStyleProps ?? {};
27
27
 
28
- const { messageText, promptButtons, textFieldPlaceholderText, logoSrc, titleLabel } =
29
- widgetContentProps ?? {};
28
+ const {
29
+ messageText,
30
+ promptButtons,
31
+ textFieldPlaceholderText,
32
+ logoSrc,
33
+ titleLabel,
34
+ voiceInputEnabled,
35
+ } = widgetContentProps ?? {};
30
36
 
31
37
  const {
32
38
  handlePromptButtonClick,
@@ -38,6 +44,8 @@ export const ChatPreview = ({
38
44
  handlePromptButtonTouchEnd,
39
45
  handleLinkClick,
40
46
  handleTextFieldClick,
47
+ onTranscriptionStarted,
48
+ onTranscriptionCompleted,
41
49
  } = widgetEventProps ?? {};
42
50
 
43
51
  const suggestionTextMap = useMemo(() => {
@@ -85,6 +93,9 @@ export const ChatPreview = ({
85
93
  theme={finalTheme}
86
94
  placeholder={textFieldPlaceholderText ?? ''}
87
95
  onClick={() => handleTextFieldClick?.()}
96
+ enableVoiceInput={voiceInputEnabled}
97
+ onTranscriptionStarted={onTranscriptionStarted}
98
+ onTranscriptionCompleted={onTranscriptionCompleted}
88
99
  />
89
100
  );
90
101
 
@@ -399,4 +399,48 @@ describe('ChatPreview', () => {
399
399
  expect(emptyHandler).toHaveBeenCalledTimes(1);
400
400
  });
401
401
  });
402
+
403
+ describe('Voice input', () => {
404
+ it('should render with voiceInputEnabled set to true', async () => {
405
+ render(
406
+ <ChatPreview
407
+ {...defaultProps}
408
+ widgetContentProps={{
409
+ ...defaultProps.widgetContentProps,
410
+ voiceInputEnabled: true,
411
+ }}
412
+ widgetStyleProps={{ hideTextField: false }}
413
+ />,
414
+ );
415
+ expect(screen.getByText('Shopping Assistant')).toBeInTheDocument();
416
+ });
417
+
418
+ it('should render with voiceInputEnabled set to false', () => {
419
+ render(
420
+ <ChatPreview
421
+ {...defaultProps}
422
+ widgetContentProps={{
423
+ ...defaultProps.widgetContentProps,
424
+ voiceInputEnabled: false,
425
+ }}
426
+ widgetStyleProps={{ hideTextField: false }}
427
+ />,
428
+ );
429
+ expect(screen.getByText('Shopping Assistant')).toBeInTheDocument();
430
+ });
431
+
432
+ it('should render with voiceInputEnabled undefined (default)', () => {
433
+ render(
434
+ <ChatPreview
435
+ {...defaultProps}
436
+ widgetContentProps={{
437
+ ...defaultProps.widgetContentProps,
438
+ voiceInputEnabled: undefined,
439
+ }}
440
+ widgetStyleProps={{ hideTextField: false }}
441
+ />,
442
+ );
443
+ expect(screen.getByText('Shopping Assistant')).toBeInTheDocument();
444
+ });
445
+ });
402
446
  });
@@ -1,2 +1,2 @@
1
1
  export { ChatPreview } from './ChatPreview';
2
- export type { ChatPreviewProps } from './types/types';
2
+ export type { ChatPreviewProps, WidgetEventProps } from './types/types';
@@ -66,6 +66,11 @@ export type WidgetContentProps = {
66
66
  * Displayed when the text field is visible.
67
67
  */
68
68
  textFieldPlaceholderText?: string;
69
+
70
+ /**
71
+ * Whether to enable voice input.
72
+ */
73
+ voiceInputEnabled?: boolean;
69
74
  };
70
75
 
71
76
  /**
@@ -170,6 +175,14 @@ export type WidgetEventProps = {
170
175
  * Callback function invoked when the text field is clicked.
171
176
  */
172
177
  handleTextFieldClick?: () => void;
178
+ /**
179
+ * Callback function invoked when voice transcription starts.
180
+ */
181
+ onTranscriptionStarted?: () => void;
182
+ /**
183
+ * Callback function invoked when voice transcription completes.
184
+ */
185
+ onTranscriptionCompleted?: (transcript: string) => void;
173
186
  };
174
187
 
175
188
  /**
@@ -34,6 +34,7 @@ export const ChatPreviewComparison = ({
34
34
  images,
35
35
  logoSrc,
36
36
  titleLabel,
37
+ voiceInputEnabled,
37
38
  } = widgetContentProps ?? {};
38
39
 
39
40
  const {
@@ -46,6 +47,8 @@ export const ChatPreviewComparison = ({
46
47
  handlePromptButtonTouchEnd,
47
48
  handleLinkClick,
48
49
  handleTextFieldClick,
50
+ onTranscriptionStarted,
51
+ onTranscriptionCompleted,
49
52
  } = widgetEventProps ?? {};
50
53
 
51
54
  const finalTheme = resolveTheme(theme);
@@ -101,6 +104,9 @@ export const ChatPreviewComparison = ({
101
104
  theme={finalTheme}
102
105
  placeholder={textFieldPlaceholderText ?? ''}
103
106
  onClick={() => handleTextFieldClick?.()}
107
+ enableVoiceInput={voiceInputEnabled}
108
+ onTranscriptionStarted={onTranscriptionStarted}
109
+ onTranscriptionCompleted={onTranscriptionCompleted}
104
110
  />
105
111
  );
106
112