@nyris/nyris-webapp 0.3.92 → 0.3.94

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 (33) hide show
  1. package/build/asset-manifest.json +6 -6
  2. package/build/index.html +1 -1
  3. package/build/js/settings.example.js +1 -0
  4. package/build/static/css/main.5fff4ca0.css +4 -0
  5. package/build/static/css/main.5fff4ca0.css.map +1 -0
  6. package/build/static/js/{main.36b77705.js → main.09201b03.js} +3 -3
  7. package/build/static/js/{main.36b77705.js.map → main.09201b03.js.map} +1 -1
  8. package/package.json +3 -3
  9. package/public/js/settings.example.js +1 -0
  10. package/src/components/ChatAssistant/useChatAssistantLogic.ts +1 -1
  11. package/src/components/CustomCameraDrawer.tsx +5 -5
  12. package/src/components/DragDropFile.tsx +4 -4
  13. package/src/components/ExperienceVisualSearch/ExperienceVisualSearchModal.tsx +1 -1
  14. package/src/components/ExperienceVisualSearch/ExperienceVisualSearchTrigger.tsx +1 -1
  15. package/src/components/IdentifiedAttributes.tsx +159 -0
  16. package/src/components/ImagePreview.tsx +4 -4
  17. package/src/components/ImageUpload.tsx +5 -5
  18. package/src/components/MobileCameraCTA.tsx +1 -1
  19. package/src/components/Rfq/RfqBanner.tsx +3 -4
  20. package/src/components/SidePanel.tsx +55 -10
  21. package/src/components/SmartFilter.tsx +70 -42
  22. package/src/hooks/useGoodResultsChat.ts +1 -1
  23. package/src/hooks/useImageSearch.ts +8 -12
  24. package/src/hooks/useResultEvaluator.ts +5 -4
  25. package/src/pages/Home.tsx +2 -2
  26. package/src/pages/Result.tsx +58 -5
  27. package/src/services/vizo.ts +0 -6
  28. package/src/styles/common.scss +1 -0
  29. package/src/styles/experienceVisualSearch.scss +2 -0
  30. package/src/types.ts +2 -1
  31. package/build/static/css/main.5ea01690.css +0 -4
  32. package/build/static/css/main.5ea01690.css.map +0 -1
  33. /package/build/static/js/{main.36b77705.js.LICENSE.txt → main.09201b03.js.LICENSE.txt} +0 -0
@@ -3,6 +3,7 @@ import ItemSpecification from './ItemSpecification';
3
3
  import { Icon } from '@nyris/nyris-react-components';
4
4
  import useRequestStore from 'stores/request/requestStore';
5
5
  import useResultStore from 'stores/result/resultStore';
6
+ import useUiStore from 'stores/ui/uiStore';
6
7
  import { rerankSmartFilters, SmartFilterRerankItem } from 'services/vizo';
7
8
 
8
9
  function SmartFilter({
@@ -25,6 +26,7 @@ function SmartFilter({
25
26
  const setAlgoliaProducts = useResultStore(state => state.setAlgoliaProducts);
26
27
  const requestImages = useRequestStore(state => state.requestImages);
27
28
  const setAlgoliaFilter = useRequestStore(state => state.setAlgoliaFilter);
29
+ const setIsFindApiLoading = useUiStore(state => state.setIsFindApiLoading);
28
30
  const isAlgoliaEnabled = !!window.settings?.algolia?.enabled;
29
31
 
30
32
  const activeProducts =
@@ -32,10 +34,20 @@ function SmartFilter({
32
34
  ? productsFromAlgolia
33
35
  : productsFromFindApi;
34
36
 
35
- const rerankItems: SmartFilterRerankItem[] = useMemo(() => {
36
- return (activeProducts || [])
37
- .slice(0, 50)
38
- .map((product: any): SmartFilterRerankItem | null => {
37
+ // Always rerank against the original, unfiltered result set. Reranking
38
+ // mutates `productsFromFindApi`/`productsFromAlgolia`, so deriving items
39
+ // from those would shrink the payload on every subsequent rerank.
40
+ const originalResults = useMemo(
41
+ () =>
42
+ firstSearchResults && firstSearchResults.length > 0
43
+ ? firstSearchResults
44
+ : activeProducts || [],
45
+ [firstSearchResults, activeProducts],
46
+ );
47
+
48
+ const rerankItems: any[] = useMemo(() => {
49
+ return originalResults
50
+ .map((product: any): any | null => {
39
51
  const sku = product?.sku || product?.objectID;
40
52
  const imageUrl =
41
53
  product?.matches?.[0]?.url ||
@@ -49,31 +61,39 @@ function SmartFilter({
49
61
  }
50
62
 
51
63
  return {
52
- sku: String(sku),
64
+ ...product,
53
65
  imageUrl: String(imageUrl),
54
- metadata: {
55
- title: product?.title || product?.name || product?.Bezeichnung || '',
56
- description:
57
- product?.description ||
58
- product?.VK_Text_Englisch ||
59
- product?.VK_Text_Deutsch ||
60
- '',
61
- language: window.settings.language || 'en',
62
- sku: String(sku),
63
- score:
64
- typeof (product?.score ?? product?.similarity) === 'number'
65
- ? Number(product?.score ?? product?.similarity)
66
- : null,
67
- },
68
66
  };
69
67
  })
70
68
  .filter((item): item is SmartFilterRerankItem => item !== null);
71
- }, [activeProducts]);
69
+ }, [originalResults]);
70
+
71
+ const buildAlgoliaSkuFilter = (skus: string[]) => {
72
+ const nonEmptyFilter: string[] = ['sku:DOES_NOT_EXIST<score=1> '];
73
+ const rankedFilters = skus
74
+ .slice()
75
+ .reverse()
76
+ .map((sku, i) => `sku:'${sku}'<score=${i}> `);
77
+ return [...nonEmptyFilter, ...rankedFilters].join('OR ');
78
+ };
79
+
80
+ const restoreOriginalResults = () => {
81
+ if (originalResults.length === 0) {
82
+ return;
83
+ }
84
+ setFindApiProducts(originalResults);
85
+ if (isAlgoliaEnabled) {
86
+ setAlgoliaProducts(originalResults);
87
+ const skus = originalResults
88
+ .map((p: any) => String(p?.sku || p?.objectID || '').trim())
89
+ .filter(Boolean);
90
+ setAlgoliaFilter(buildAlgoliaSkuFilter(skus));
91
+ }
92
+ };
72
93
 
73
94
  const applySkuOrderingToCurrentResults = (orderedSkus: string[]) => {
74
- const sourceResults = activeProducts || [];
75
95
  const map = new Map<string, any>(
76
- sourceResults.map((item: any) => [
96
+ originalResults.map((item: any) => [
77
97
  String(item?.sku || item?.objectID || '').trim(),
78
98
  item,
79
99
  ]),
@@ -90,12 +110,7 @@ function SmartFilter({
90
110
  setFindApiProducts(reordered);
91
111
  if (isAlgoliaEnabled) {
92
112
  setAlgoliaProducts(reordered);
93
- const nonEmptyFilter: string[] = ['sku:DOES_NOT_EXIST<score=1> '];
94
- const rankedFilters = orderedSkus
95
- .slice()
96
- .reverse()
97
- .map((sku, i) => `sku:'${sku}'<score=${i}> `);
98
- setAlgoliaFilter([...nonEmptyFilter, ...rankedFilters].join('OR '));
113
+ setAlgoliaFilter(buildAlgoliaSkuFilter(orderedSkus));
99
114
  }
100
115
  return true;
101
116
  };
@@ -112,12 +127,11 @@ function SmartFilter({
112
127
  ...smartFilters,
113
128
  selectedFilterKey: null,
114
129
  selectedFilterValue: null,
130
+ rerankedSkus: [],
115
131
  rerankStatus: 'idle',
116
132
  errorMessage: null,
117
133
  });
118
- if (firstSearchResults.length > 0) {
119
- setFindApiProducts(firstSearchResults);
120
- }
134
+ restoreOriginalResults();
121
135
  return;
122
136
  }
123
137
 
@@ -139,6 +153,7 @@ function SmartFilter({
139
153
  rerankStatus: 'loading',
140
154
  errorMessage: null,
141
155
  });
156
+ setIsFindApiLoading(true);
142
157
 
143
158
  try {
144
159
  const rerankResponse = await rerankSmartFilters({
@@ -209,6 +224,8 @@ function SmartFilter({
209
224
  ? 'Smart filters are unavailable right now.'
210
225
  : 'Could not rerank results.',
211
226
  });
227
+ } finally {
228
+ setIsFindApiLoading(false);
212
229
  }
213
230
  };
214
231
 
@@ -224,7 +241,7 @@ function SmartFilter({
224
241
  </div>
225
242
  <Icon name="smart_filter_indication" className="mt-1" />
226
243
  </div>
227
- <div className="flex flex-wrap mx-4 gap-2 mt-4">
244
+ <div className={`flex flex-wrap mx-4 gap-2 ${imageAnalysis?.specification ? 'mt-4' : ''}`}>
228
245
  {Object.keys(imageAnalysis?.specification || {})
229
246
  .filter(key => key !== 'is_nameplate' && key !== 'prefilter_value')
230
247
  .map(key => {
@@ -244,23 +261,20 @@ function SmartFilter({
244
261
  })}
245
262
  </div>
246
263
  {smartFilters.status === 'loading' && (
247
- <div className="mx-4 mt-3 text-xs text-[#3E36DC]">
264
+ <div className="ml-[30px] mt-3 text-xs text-[#3E36DC]">
248
265
  Loading smart filters...
249
266
  </div>
250
267
  )}
251
268
  {smartFilters.status === 'error' && (
252
- <div className="mx-4 mt-3 text-xs text-[#D14343]">
269
+ <div className="ml-[30px] mt-3 text-xs text-[#D14343]">
253
270
  {smartFilters.errorMessage || 'Could not generate smart filters.'}
254
271
  </div>
255
272
  )}
256
273
  {smartFilters.status === 'success' && smartFilters.filters.length === 0 && (
257
- <div className="mx-4 mt-3 text-xs text-[#767A9F]">
274
+ <div className="ml-[30px] mt-3 text-xs text-[#767A9F]">
258
275
  No smart filters available for this image.
259
276
  </div>
260
277
  )}
261
- {smartFilters.rerankStatus === 'loading' && (
262
- <div className="mx-4 mt-1 text-xs text-[#3E36DC]">Applying rerank...</div>
263
- )}
264
278
  <div
265
279
  className={
266
280
  variant === 'results'
@@ -290,24 +304,38 @@ function SmartFilter({
290
304
  const isSelected =
291
305
  smartFilters.selectedFilterKey === filter.key &&
292
306
  smartFilters.selectedFilterValue === filter.value;
307
+ const hasSelection =
308
+ !!smartFilters.selectedFilterKey &&
309
+ !!smartFilters.selectedFilterValue;
310
+ const isRerankLoading = smartFilters.rerankStatus === 'loading';
311
+ const isDisabled = !isSelected && (hasSelection || isRerankLoading);
293
312
  return (
294
313
  <button
295
314
  key={`${filter.key}-${filter.value}-${index}`}
315
+ type="button"
316
+ disabled={isDisabled}
317
+ aria-pressed={isSelected}
296
318
  style={variant === 'results' ? { flex: '0 0 auto' } : undefined}
297
- className={`px-3.5 py-2 rounded-lg border text-sm ${
319
+ className={`px-3.5 py-2 rounded-lg border text-sm inline-flex items-center gap-1.5 ${
298
320
  isSelected
299
321
  ? 'bg-[#545987] text-white border-[#545987]'
300
322
  : 'bg-[#E7E8F1] text-[#767A9F] border-transparent'
301
- }`}
323
+ } ${isDisabled ? 'opacity-50 cursor-not-allowed' : 'cursor-pointer'}`}
302
324
  onClick={() => {
303
- if (smartFilters.rerankStatus === 'loading') return;
325
+ if (isRerankLoading) return;
304
326
  void onFilterClick({
305
327
  key: filter.key,
306
328
  value: filter.value,
307
329
  });
308
330
  }}
309
331
  >
310
- {filter.label}: {filter.value}
332
+ <span>{filter.value}</span>
333
+ {isSelected && (
334
+ <Icon
335
+ name="close"
336
+ className="w-3 h-3 text-white"
337
+ />
338
+ )}
311
339
  </button>
312
340
  );
313
341
  })}
@@ -592,7 +592,7 @@ Respond to the user's message with an appropriate action and follow-up options.`
592
592
  finalOptions = [
593
593
  ...finalOptions,
594
594
  {
595
- label: `Find parts related to ${imageAnalysis.specification.product_category || 'request image'}`,
595
+ label: `Find parts related to ${imageAnalysis?.specification?.product_category || 'request image'}`,
596
596
  action_type: 'find_related_parts' as const,
597
597
  key: 'find_related',
598
598
  value: 'find_related_parts',
@@ -18,9 +18,7 @@ import useResultEvaluator from './useResultEvaluator';
18
18
  import useConversationStore from 'stores/chat/conversationStore';
19
19
  import { useGroundedSearch } from './useGroundedSearch';
20
20
  import { generateSmartFilters } from '../services/vizo';
21
-
22
- const DEFAULT_SMART_FILTER_PROMPT =
23
- 'Extract at most 4 relevant product intent filters from the request image. Return strict JSON only.';
21
+ import { cropImage } from 'utils/cropImageToBase64';
24
22
 
25
23
  export const useImageSearch = () => {
26
24
  const setRegions = useRequestStore(state => state.setRegions);
@@ -195,7 +193,7 @@ export const useImageSearch = () => {
195
193
  ];
196
194
 
197
195
  let smartFilterPromise: Promise<void> | null = null;
198
- if (isSmartFiltersEnabled && requestImage && newSearch) {
196
+ if (isSmartFiltersEnabled && requestImage && (newSearch || imageRegion)) {
199
197
  setSmartFilters({
200
198
  status: 'loading',
201
199
  filters: [],
@@ -206,10 +204,8 @@ export const useImageSearch = () => {
206
204
  errorMessage: null,
207
205
  });
208
206
 
209
- smartFilterPromise = generateSmartFilters({
210
- image: requestImage,
211
- prompt: DEFAULT_SMART_FILTER_PROMPT,
212
- })
207
+ const smartFilterImage = cropImage(requestImage, region);
208
+ smartFilterPromise = generateSmartFilters({ image: smartFilterImage })
213
209
  .then(response => {
214
210
  const rawFilters = response?.filters;
215
211
  if (!rawFilters || typeof rawFilters !== 'object') {
@@ -244,9 +240,9 @@ export const useImageSearch = () => {
244
240
  response?.rerankedSkus ||
245
241
  response?.filtered_items?.map(item => String(item.sku)) ||
246
242
  [];
247
- const rerankingApplied =
248
- response?.rerankingApplied ??
249
- (rerankedSkus.length > 0 ? true : false);
243
+ // const rerankingApplied =
244
+ // response?.rerankingApplied ??
245
+ // (rerankedSkus.length > 0 ? true : false);
250
246
 
251
247
  setSmartFilters({
252
248
  status: 'success',
@@ -323,7 +319,7 @@ export const useImageSearch = () => {
323
319
  region,
324
320
  );
325
321
  }
326
- if (window.settings.vizo.chat) {
322
+ if (window.settings.vizo?.chat) {
327
323
  evaluateResults({
328
324
  activeProducts: res?.results || [],
329
325
  imageAnalysis: res?.image_analysis,
@@ -219,7 +219,8 @@ ${resultsSummary
219
219
  .map(
220
220
  r =>
221
221
  `${r.rank}. ${r.title}${r.description ? ` - ${r.description}` : ''} (Score: ${r.score})${r.metadata ? `\n Metadata: ${JSON.stringify(r.metadata)}` : ''}`,
222
- ).join('\n')}
222
+ )
223
+ .join('\n')}
223
224
 
224
225
  COMMON ATTRIBUTES FOUND IN RESULTS (for filter suggestions):
225
226
  ${JSON.stringify(attributeFrequency, null, 2)}
@@ -316,7 +317,7 @@ Evaluate if these results match the image. If they do (same type of product), ro
316
317
 
317
318
  const tableSuggestions = lookupRelatedParts(
318
319
  table,
319
- imageAnalysis.specification.product_category || '',
320
+ imageAnalysis?.specification?.product_category || '',
320
321
  );
321
322
  const hasTableSuggestions =
322
323
  !!tableSuggestions && tableSuggestions.length > 0;
@@ -329,7 +330,7 @@ Evaluate if these results match the image. If they do (same type of product), ro
329
330
  !relatedPartsUsed
330
331
  ) {
331
332
  mappedOptions.push({
332
- label: `Find parts related to ${imageAnalysis.specification.product_category || 'request image'}`,
333
+ label: `Find parts related to ${imageAnalysis?.specification?.product_category || 'request image'}`,
333
334
  action_type: 'find_related_parts',
334
335
  key: 'find_related',
335
336
  value: 'find_related_parts',
@@ -353,7 +354,7 @@ Evaluate if these results match the image. If they do (same type of product), ro
353
354
  !relatedPartsUsed
354
355
  ) {
355
356
  mappedOptions.push({
356
- label: `Find parts related to ${imageAnalysis.specification.product_category || 'request image'}`,
357
+ label: `Find parts related to ${imageAnalysis?.specification?.product_category || 'request image'}`,
357
358
  action_type: 'find_related_parts',
358
359
  key: 'find_related',
359
360
  value: 'find_related_parts',
@@ -84,7 +84,7 @@ function Home() {
84
84
  'items-center',
85
85
  'justify-center',
86
86
  'h-auto',
87
- 'mt-[calc(50vh-110px)]',
87
+ !window.settings.experienceVisualSearch ? 'mt-[calc(50vh-110px)]' : 'mt-[calc(50vh-156px)]',
88
88
  ])}
89
89
  >
90
90
  {geoLocation && <LocationInfoPopup />}
@@ -122,7 +122,7 @@ function Home() {
122
122
  </div>
123
123
  </div>
124
124
 
125
- <div className="flex flex-col desktop:hidden justify-center items-center w-full h-full ">
125
+ <div className="flex flex-col desktop:hidden justify-center items-center w-full h-full overflow-y-auto">
126
126
  <MobileCameraCTA setOpenModalCamera={setOpenModalCamera} />
127
127
  <div className="box-screenshot-camera">
128
128
  <CustomCamera
@@ -30,6 +30,7 @@ import MatchNotificationBanner from 'components/MatchNotificationBanner';
30
30
  import ImageUpload from 'components/ImageUpload';
31
31
  import SmartFilter from 'components/SmartFilter';
32
32
  import { ChatAssistant, MobileChatAssistant } from 'components/ChatAssistant';
33
+ import IdentifiedAttributes from 'components/IdentifiedAttributes';
33
34
 
34
35
  function Results() {
35
36
  const settings = window.settings;
@@ -222,11 +223,7 @@ function Results() {
222
223
  >
223
224
  <div className="block desktop:hidden desktop:mb-0 mx-2">
224
225
  {requestImages[0] && <ImagePreview />}
225
- {isSmartFiltersEnabled &&
226
- window.settings.showImageDetails &&
227
- (imageAnalysis?.imageDescription ||
228
- Object.keys(imageAnalysis?.specification || {}).length >
229
- 0) && (
226
+ {isSmartFiltersEnabled && (
230
227
  <div className="my-4">
231
228
  <SmartFilter
232
229
  imageAnalysis={imageAnalysis}
@@ -234,6 +231,62 @@ function Results() {
234
231
  />
235
232
  </div>
236
233
  )}
234
+ {window.settings.showImageDetails &&
235
+ (imageAnalysis?.imageDescription ||
236
+ Object.keys(imageAnalysis?.specification || {}).length >
237
+ 0) && (
238
+ <div className="p-2">
239
+ <div className="self-stretch p-4 bg-[#e9e9ef] rounded-[32px] flex justify-start flex-col items-start gap-2 flex-wrap content-start w-full">
240
+ {imageAnalysis?.imageDescription !==
241
+ 'No description available' && (
242
+ <div className="self-stretch flex flex-col justify-start items-start">
243
+ <div className="justify-start text-black text-base font-semibold">
244
+ Image description
245
+ </div>
246
+ <div className="self-stretch justify-start text-black text-sm font-normal">
247
+ {imageAnalysis?.imageDescription || ''}
248
+ </div>
249
+ </div>
250
+ )}
251
+
252
+ {Object.keys(imageAnalysis?.specification || {})
253
+ .filter(
254
+ key =>
255
+ key !== 'is_nameplate' &&
256
+ key !== 'prefilter_value',
257
+ )
258
+ .some(
259
+ key => !!imageAnalysis?.specification[key],
260
+ ) && (
261
+ <div className="justify-start text-[#2b2c46] text-base font-semibold mt-1">
262
+ Identified Attributes
263
+ </div>
264
+ )}
265
+ <div className="flex justify-start items-start gap-4 flex-wrap content-start">
266
+ {Object.keys(imageAnalysis?.specification || {})
267
+ .filter(
268
+ key =>
269
+ key !== 'is_nameplate' &&
270
+ key !== 'prefilter_value',
271
+ )
272
+ .map(key => {
273
+ const value = imageAnalysis?.specification[key];
274
+ if (!value) {
275
+ return null;
276
+ }
277
+ return (
278
+ <IdentifiedAttributes
279
+ attr={key}
280
+ value={value}
281
+ specificationFilter={specificationFilter}
282
+ imageAnalysis={imageAnalysis}
283
+ />
284
+ );
285
+ })}
286
+ </div>
287
+ </div>
288
+ </div>
289
+ )}
237
290
  </div>
238
291
  <div
239
292
  className={twMerge([
@@ -71,10 +71,6 @@ export interface SmartFilterRerankResponse {
71
71
 
72
72
  export interface SmartFilterGenerateParams {
73
73
  image: File | HTMLCanvasElement;
74
- prompt: string;
75
- model?: string;
76
- timeoutMs?: number;
77
- apiKey?: string;
78
74
  }
79
75
 
80
76
  export interface SmartFilterGenerateResponse {
@@ -135,7 +131,6 @@ export async function rerankSmartFilters({
135
131
 
136
132
  export async function generateSmartFilters({
137
133
  image,
138
- prompt,
139
134
  }: SmartFilterGenerateParams): Promise<SmartFilterGenerateResponse> {
140
135
  const settings = window.settings;
141
136
  const isSmartFiltersEnabled = !!settings.useSmartFilters;
@@ -154,7 +149,6 @@ export async function generateSmartFilters({
154
149
  } else {
155
150
  formData.append('image', image);
156
151
  }
157
- formData.append('prompt', prompt);
158
152
 
159
153
  try {
160
154
  const response = await axios.post<SmartFilterGenerateResponse>(
@@ -143,6 +143,7 @@
143
143
  justify-content: center;
144
144
  background-color: #16161680;
145
145
  &-body {
146
+ overflow-y: auto;
146
147
  padding: 32px;
147
148
  background: #F3F3F5;
148
149
  &.geolocation {
@@ -65,6 +65,7 @@ body.overflow-hidden {
65
65
  display: flex;
66
66
  flex-direction: row;
67
67
  flex-wrap: wrap;
68
+ justify-content: center;
68
69
  gap: 16px;
69
70
  width: 376px;
70
71
  .experience-visual-search-image-container {
@@ -166,6 +167,7 @@ body.overflow-hidden {
166
167
  padding: 32px 8px;
167
168
  &-content {
168
169
  &.experience-visual-search-images {
170
+ max-width: calc(100vw - 32px);
169
171
  width: 300px;
170
172
  gap: 8px;
171
173
  .experience-visual-search-image-container {
package/src/types.ts CHANGED
@@ -86,7 +86,7 @@ export interface AppSettings extends NyrisAPISettings {
86
86
  experienceVisualSearchImages?: string[];
87
87
  geoLocation?: boolean;
88
88
  geoLocationMessage?: string;
89
- vizo: {
89
+ vizo?: {
90
90
  enabled?: boolean;
91
91
  groundingEnabled?: boolean;
92
92
  fallbackToElasticSearch?: boolean;
@@ -126,6 +126,7 @@ export interface AppSettings extends NyrisAPISettings {
126
126
  textSearchScoring?: Record<string, Record<string, number>>;
127
127
  theme: SearchSuiteSettings;
128
128
  visualSearchFilterKey?: string;
129
+ supportButtonLabel?: string;
129
130
  }
130
131
 
131
132
  export interface SearchSuiteSettings {
@@ -1,4 +0,0 @@
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: }/*
2
- ! tailwindcss v3.4.17 | MIT License | https://tailwindcss.com
3
- */*,:after,:before{border:0 solid #e5e7eb;box-sizing:border-box}:after,:before{--tw-content:""}:host,html{-webkit-text-size-adjust:100%;font-feature-settings:normal;-webkit-tap-highlight-color:transparent;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-variation-settings:normal;line-height:1.5;tab-size:4}body{line-height:inherit}hr{border-top-width:1px;color:inherit;height:0}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-feature-settings:normal;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em;font-variation-settings:normal}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{border-color:inherit;text-indent:0}button,input,optgroup,select,textarea{font-feature-settings:inherit;color:inherit;font-family:inherit;font-size:100%;font-variation-settings:inherit;font-weight:inherit;letter-spacing:inherit;line-height: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::placeholder,textarea::placeholder{color:#9ca3af;opacity:1}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{height:auto;max-width:100%}[hidden]:where(:not([hidden=until-found])){display:none}.\!container{width:100%!important}.container{width:100%}@media (min-width:400px){.\!container{max-width:400px!important}.container{max-width:400px}}@media (min-width:777px){.\!container{max-width:777px!important}.container{max-width:777px}}.sr-only{clip:rect(0,0,0,0);border-width:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.pointer-events-none{pointer-events:none}.visible{visibility:visible}.collapse{visibility:collapse}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:-webkit-sticky;position:sticky}.inset-0{inset:0}.inset-x-0{left:0;right:0}.-right-1{right:-.25rem}.-right-2{right:-.5rem}.-top-0\.5{top:-.125rem}.-top-1{top:-.25rem}.-top-3\.5{top:-.875rem}.-top-4{top:-1rem}.bottom-0{bottom:0}.bottom-1{bottom:.25rem}.bottom-12{bottom:3rem}.bottom-2{bottom:.5rem}.bottom-24{bottom:6rem}.bottom-4{bottom:1rem}.bottom-6{bottom:1.5rem}.bottom-\[49px\]{bottom:49px}.left-0{left:0}.left-1{left:.25rem}.left-2{left:.5rem}.left-4{left:1rem}.left-8{left:2rem}.left-\[50\%\]{left:50%}.right-0{right:0}.right-1{right:.25rem}.right-3{right:.75rem}.right-4{right:1rem}.right-7{right:1.75rem}.top-0{top:0}.top-1{top:.25rem}.top-2{top:.5rem}.top-2\.5{top:.625rem}.top-3{top:.75rem}.top-4{top:1rem}.top-7{top:1.75rem}.top-\[50\%\]{top:50%}.z-10{z-index:10}.z-50{z-index:50}.z-\[-1\]{z-index:-1}.z-\[50\]{z-index:50}.z-\[51\]{z-index:51}.z-\[9999\]{z-index:9999}.col-span-full{grid-column:1/-1}.m-0{margin:0}.m-4{margin:1rem}.m-auto{margin:auto}.mx-0\.5{margin-left:.125rem;margin-right:.125rem}.mx-1{margin-left:.25rem;margin-right:.25rem}.mx-2{margin-left:.5rem;margin-right:.5rem}.mx-3{margin-left:.75rem;margin-right:.75rem}.mx-4{margin-left:1rem;margin-right:1rem}.mx-auto{margin-left:auto;margin-right:auto}.my-4{margin-bottom:1rem;margin-top:1rem}.my-6{margin-bottom:1.5rem;margin-top:1.5rem}.my-8{margin-bottom:2rem;margin-top:2rem}.mb-0{margin-bottom:0}.mb-1{margin-bottom:.25rem}.mb-1\.5{margin-bottom:.375rem}.mb-2{margin-bottom:.5rem}.mb-20{margin-bottom:5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-6{margin-bottom:1.5rem}.ml-2{margin-left:.5rem}.ml-3{margin-left:.75rem}.ml-4{margin-left:1rem}.ml-\[30px\]{margin-left:30px}.ml-auto{margin-left:auto}.mr-16{margin-right:4rem}.mr-2{margin-right:.5rem}.mr-3{margin-right:.75rem}.mr-3\.5{margin-right:.875rem}.mr-4{margin-right:1rem}.mr-auto{margin-right:auto}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-2\.5{margin-top:.625rem}.mt-24{margin-top:6rem}.mt-3{margin-top:.75rem}.mt-3\.5{margin-top:.875rem}.mt-4{margin-top:1rem}.mt-5{margin-top:1.25rem}.mt-8{margin-top:2rem}.mt-9{margin-top:2.25rem}.mt-\[6px\]{margin-top:6px}.mt-\[calc\(50vh-110px\)\]{margin-top:calc(50vh - 110px)}.mt-auto{margin-top:auto}.box-border{box-sizing:border-box}.box-content{box-sizing:content-box}.block{display:block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.contents{display:contents}.hidden{display:none}.aspect-square{aspect-ratio:1/1}.h-0{height:0}.h-1{height:.25rem}.h-1\.5{height:.375rem}.h-10{height:2.5rem}.h-12{height:3rem}.h-14{height:3.5rem}.h-16{height:4rem}.h-2\.5{height:.625rem}.h-3{height:.75rem}.h-36{height:9rem}.h-4{height:1rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-7{height:1.75rem}.h-8{height:2rem}.h-\[10px\]{height:10px}.h-\[12px\]{height:12px}.h-\[168px\]{height:168px}.h-\[22px\]{height:22px}.h-\[368px\]{height:368px}.h-\[48px\]{height:48px}.h-\[50px\]{height:50px}.h-\[52px\]{height:52px}.h-\[56px\]{height:56px}.h-\[60px\]{height:60px}.h-\[70px\]{height:70px}.h-\[72px\]{height:72px}.h-\[80\%\]{height:80%}.h-\[8px\]{height:8px}.h-auto{height:auto}.h-fit{height:-webkit-fit-content;height:fit-content}.h-full{height:100%}.h-screen{height:100vh}.max-h-\[100px\]{max-height:100px}.max-h-\[368px\]{max-height:368px}.max-h-\[50vh\]{max-height:50vh}.max-h-\[90svh\]{max-height:90svh}.max-h-\[95vh\]{max-height:95vh}.max-h-full{max-height:100%}.min-h-0{min-height:0}.min-h-10{min-height:2.5rem}.min-h-5{min-height:1.25rem}.min-h-8{min-height:2rem}.min-h-\[106px\]{min-height:106px}.min-h-\[120px\]{min-height:120px}.min-h-\[268px\]{min-height:268px}.min-h-\[56px\]{min-height:56px}.min-h-\[60px\]{min-height:60px}.min-h-full{min-height:100%}.w-0{width:0}.w-1\/2{width:50%}.w-1\/3{width:33.333333%}.w-10{width:2.5rem}.w-12{width:3rem}.w-14{width:3.5rem}.w-2\.5{width:.625rem}.w-2\/3{width:66.666667%}.w-3{width:.75rem}.w-36{width:9rem}.w-4{width:1rem}.w-5{width:1.25rem}.w-6{width:1.5rem}.w-7{width:1.75rem}.w-72{width:18rem}.w-8{width:2rem}.w-80{width:20rem}.w-\[10px\]{width:10px}.w-\[110px\]{width:110px}.w-\[12px\]{width:12px}.w-\[180px\]{width:180px}.w-\[215px\]{width:215px}.w-\[22px\]{width:22px}.w-\[295px\]{width:295px}.w-\[325px\]{width:325px}.w-\[334px\]{width:334px}.w-\[360px\]{width:360px}.w-\[410px\]{width:410px}.w-\[48px\]{width:48px}.w-\[50px\]{width:50px}.w-\[60px\]{width:60px}.w-\[636px\]{width:636px}.w-\[70px\]{width:70px}.w-\[8px\]{width:8px}.w-\[90\%\]{width:90%}.w-fit{width:-webkit-fit-content;width:fit-content}.w-full{width:100%}.w-max{width:-webkit-max-content;width:max-content}.w-screen{width:100vw}.min-w-0{min-width:0}.min-w-10{min-width:2.5rem}.min-w-14{min-width:3.5rem}.min-w-4{min-width:1rem}.min-w-6{min-width:1.5rem}.min-w-\[268px\]{min-width:268px}.min-w-\[325px\]{min-width:325px}.min-w-\[334px\]{min-width:334px}.min-w-\[56px\]{min-width:56px}.min-w-\[90px\]{min-width:90px}.max-w-0{max-width:0}.max-w-\[100\%\]{max-width:100%}.max-w-\[1500px\]{max-width:1500px}.max-w-\[175px\]{max-width:175px}.max-w-\[190px\]{max-width:190px}.max-w-\[200px\]{max-width:200px}.max-w-\[325px\]{max-width:325px}.max-w-\[350px\]{max-width:350px}.max-w-\[360px\]{max-width:360px}.max-w-\[531px\]{max-width:531px}.max-w-\[532px\]{max-width:532px}.max-w-\[840px\]{max-width:840px}.max-w-\[85\%\]{max-width:85%}.max-w-fit{max-width:-webkit-fit-content;max-width:fit-content}.max-w-full{max-width:100%}.flex-1{flex:1 1}.flex-shrink-0,.shrink-0{flex-shrink:0}.flex-grow{flex-grow:1}.flex-grow-0{flex-grow:0}.translate-x-\[-50\%\]{--tw-translate-x:-50%}.translate-x-\[-50\%\],.translate-y-\[-50\%\]{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))}.translate-y-\[-50\%\]{--tw-translate-y:-50%}.transform{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 pulse{50%{opacity:.5}}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.animate-spin{animation:spin 1s linear infinite}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.resize-none{resize:none}.resize{resize:both}.scroll-pt-5{scroll-padding-top:1.25rem}.grid-cols-\[repeat\(auto-fit\2c _minmax\(180px\2c _0px\)\)\]{grid-template-columns:repeat(auto-fit,minmax(180px,0))}.flex-row{flex-direction:row}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-wrap{flex-wrap:wrap}.flex-nowrap{flex-wrap:nowrap}.content-end{align-content:flex-end}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.items-baseline{align-items:baseline}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-between{justify-content:space-between}.justify-items-center{justify-items:center}.gap-0{gap:0}.gap-1{gap:.25rem}.gap-1\.5{gap:.375rem}.gap-2{gap:.5rem}.gap-2\.5{gap:.625rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-6{gap:1.5rem}.gap-\[11px\]{gap:11px}.gap-x-1{column-gap:.25rem}.gap-x-2{column-gap:.5rem}.gap-x-5{column-gap:1.25rem}.gap-x-8{column-gap:2rem}.space-y-1\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(.375rem*var(--tw-space-y-reverse));margin-top:calc(.375rem*(1 - var(--tw-space-y-reverse)))}.space-y-2\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(.625rem*var(--tw-space-y-reverse));margin-top:calc(.625rem*(1 - var(--tw-space-y-reverse)))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(.75rem*var(--tw-space-y-reverse));margin-top:calc(.75rem*(1 - var(--tw-space-y-reverse)))}.self-start{align-self:flex-start}.self-stretch{align-self:stretch}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.overflow-x-hidden{overflow-x:hidden}.overflow-y-hidden{overflow-y:hidden}.text-ellipsis{text-overflow:ellipsis}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.break-words{overflow-wrap:break-word}.break-keep{word-break:keep-all}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:1rem}.rounded-3xl{border-radius:1.5rem}.rounded-\[12px\]{border-radius:12px}.rounded-\[16px\]{border-radius:16px}.rounded-\[1px\]{border-radius:1px}.rounded-\[21px\]{border-radius:21px}.rounded-\[24px\]{border-radius:24px}.rounded-\[32px\]{border-radius:32px}.rounded-\[4px\]{border-radius:4px}.rounded-\[50\%\]{border-radius:50%}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-none{border-radius:0}.rounded-sm{border-radius:.125rem}.rounded-xl{border-radius:.75rem}.rounded-t-\[10px\]{border-top-left-radius:10px;border-top-right-radius:10px}.rounded-t-\[24px\]{border-top-left-radius:24px;border-top-right-radius:24px}.rounded-bl-\[16px\]{border-bottom-left-radius:16px}.rounded-bl-sm{border-bottom-left-radius:.125rem}.rounded-br-\[16px\]{border-bottom-right-radius:16px}.rounded-tl-\[16px\]{border-top-left-radius:16px}.rounded-tr-\[8px\]{border-top-right-radius:8px}.border{border-width:1px}.border-2,.border-\[2px\]{border-width:2px}.border-b{border-bottom-width:1px}.border-r{border-right-width:1px}.border-t{border-top-width:1px}.border-solid{border-style:solid}.border-dashed{border-style:dashed}.border-none{border-style:none}.border-\[\#3E36DC\]{--tw-border-opacity:1;border-color:#3e36dc;border-color:rgb(62 54 220/var(--tw-border-opacity,1))}.border-\[\#545987\]{--tw-border-opacity:1;border-color:#545987;border-color:rgb(84 89 135/var(--tw-border-opacity,1))}.border-\[\#655EE3\]{--tw-border-opacity:1;border-color:#655ee3;border-color:rgb(101 94 227/var(--tw-border-opacity,1))}.border-\[\#AAABB5\]{--tw-border-opacity:1;border-color:#aaabb5;border-color:rgb(170 171 181/var(--tw-border-opacity,1))}.border-\[\#BBBDCF\]{--tw-border-opacity:1;border-color:#bbbdcf;border-color:rgb(187 189 207/var(--tw-border-opacity,1))}.border-\[\#C7D2FE\]{--tw-border-opacity:1;border-color:#c7d2fe;border-color:rgb(199 210 254/var(--tw-border-opacity,1))}.border-\[\#DDDEE7\]{--tw-border-opacity:1;border-color:#dddee7;border-color:rgb(221 222 231/var(--tw-border-opacity,1))}.border-\[\#E0E0E0\]{--tw-border-opacity:1;border-color:#e0e0e0;border-color:rgb(224 224 224/var(--tw-border-opacity,1))}.border-\[\#E31B5D\]{--tw-border-opacity:1;border-color:#e31b5d;border-color:rgb(227 27 93/var(--tw-border-opacity,1))}.border-\[\#E67E22\]{--tw-border-opacity:1;border-color:#e67e22;border-color:rgb(230 126 34/var(--tw-border-opacity,1))}.border-\[\#E7E8F1\]{--tw-border-opacity:1;border-color:#e7e8f1;border-color:rgb(231 232 241/var(--tw-border-opacity,1))}.border-\[\#e0e0e0\]{--tw-border-opacity:1;border-color:#e0e0e0;border-color:rgb(224 224 224/var(--tw-border-opacity,1))}.border-\[\#e4e3ff\]{--tw-border-opacity:1;border-color:#e4e3ff;border-color:rgb(228 227 255/var(--tw-border-opacity,1))}.border-red-200{--tw-border-opacity:1;border-color:#fecaca;border-color:rgb(254 202 202/var(--tw-border-opacity,1))}.border-transparent{border-color:transparent}.border-white{--tw-border-opacity:1;border-color:#fff;border-color:rgb(255 255 255/var(--tw-border-opacity,1))}.\!bg-\[\#2B2C46\]{--tw-bg-opacity:1!important;background-color:#2b2c46!important;background-color:rgb(43 44 70/var(--tw-bg-opacity,1))!important}.\!bg-\[\#55566B\]{--tw-bg-opacity:1!important;background-color:#55566b!important;background-color:rgb(85 86 107/var(--tw-bg-opacity,1))!important}.bg-\[\#00000080\]{background-color:#00000080}.bg-\[\#10b981\]{--tw-bg-opacity:1;background-color:#10b981;background-color:rgb(16 185 129/var(--tw-bg-opacity,1))}.bg-\[\#2B2C46\]{--tw-bg-opacity:1;background-color:#2b2c46;background-color:rgb(43 44 70/var(--tw-bg-opacity,1))}.bg-\[\#373b53\]{--tw-bg-opacity:1;background-color:#373b53;background-color:rgb(55 59 83/var(--tw-bg-opacity,1))}.bg-\[\#3B3E5F\]{--tw-bg-opacity:1;background-color:#3b3e5f;background-color:rgb(59 62 95/var(--tw-bg-opacity,1))}.bg-\[\#3E36DC\]{--tw-bg-opacity:1;background-color:#3e36dc;background-color:rgb(62 54 220/var(--tw-bg-opacity,1))}.bg-\[\#545987\]{--tw-bg-opacity:1;background-color:#545987;background-color:rgb(84 89 135/var(--tw-bg-opacity,1))}.bg-\[\#55566B\]{--tw-bg-opacity:1;background-color:#55566b;background-color:rgb(85 86 107/var(--tw-bg-opacity,1))}.bg-\[\#615e669f\]{background-color:#615e669f}.bg-\[\#E0E0E0\]{--tw-bg-opacity:1;background-color:#e0e0e0;background-color:rgb(224 224 224/var(--tw-bg-opacity,1))}.bg-\[\#E31B5D\]{--tw-bg-opacity:1;background-color:#e31b5d;background-color:rgb(227 27 93/var(--tw-bg-opacity,1))}.bg-\[\#E7E8F1\]{--tw-bg-opacity:1;background-color:#e7e8f1;background-color:rgb(231 232 241/var(--tw-bg-opacity,1))}.bg-\[\#E9E9EC\]{--tw-bg-opacity:1;background-color:#e9e9ec;background-color:rgb(233 233 236/var(--tw-bg-opacity,1))}.bg-\[\#EEF2FF\]{--tw-bg-opacity:1;background-color:#eef2ff;background-color:rgb(238 242 255/var(--tw-bg-opacity,1))}.bg-\[\#F0EFFF\]{--tw-bg-opacity:1;background-color:#f0efff;background-color:rgb(240 239 255/var(--tw-bg-opacity,1))}.bg-\[\#F2FBF3\]{--tw-bg-opacity:1;background-color:#f2fbf3;background-color:rgb(242 251 243/var(--tw-bg-opacity,1))}.bg-\[\#F3F3F5\]{--tw-bg-opacity:1;background-color:#f3f3f5;background-color:rgb(243 243 245/var(--tw-bg-opacity,1))}.bg-\[\#F3F4F8\]{--tw-bg-opacity:1;background-color:#f3f4f8;background-color:rgb(243 244 248/var(--tw-bg-opacity,1))}.bg-\[\#F8F8FF\]{--tw-bg-opacity:1;background-color:#f8f8ff;background-color:rgb(248 248 255/var(--tw-bg-opacity,1))}.bg-\[\#FAFAFA\]{--tw-bg-opacity:1;background-color:#fafafa;background-color:rgb(250 250 250/var(--tw-bg-opacity,1))}.bg-\[\#FFE5EF4D\]{background-color:#ffe5ef4d}.bg-\[\#FFE5EF\]{--tw-bg-opacity:1;background-color:#ffe5ef;background-color:rgb(255 229 239/var(--tw-bg-opacity,1))}.bg-\[\#FFF8F0\]{--tw-bg-opacity:1;background-color:#fff8f0;background-color:rgb(255 248 240/var(--tw-bg-opacity,1))}.bg-\[\#FFF8FB\]{--tw-bg-opacity:1;background-color:#fff8fb;background-color:rgb(255 248 251/var(--tw-bg-opacity,1))}.bg-\[\#FFFFFF\]{--tw-bg-opacity:1;background-color:#fff;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.bg-\[\#e0e0e0\]{--tw-bg-opacity:1;background-color:#e0e0e0;background-color:rgb(224 224 224/var(--tw-bg-opacity,1))}.bg-\[\#e4e3ff\]{--tw-bg-opacity:1;background-color:#e4e3ff;background-color:rgb(228 227 255/var(--tw-bg-opacity,1))}.bg-\[\#e9e9ec\]{--tw-bg-opacity:1;background-color:#e9e9ec;background-color:rgb(233 233 236/var(--tw-bg-opacity,1))}.bg-\[\#f3f3f5\]{--tw-bg-opacity:1;background-color:#f3f3f5;background-color:rgb(243 243 245/var(--tw-bg-opacity,1))}.bg-\[\#fafafa\]{--tw-bg-opacity:1;background-color:#fafafa;background-color:rgb(250 250 250/var(--tw-bg-opacity,1))}.bg-\[\#fff\]{--tw-bg-opacity:1;background-color:#fff;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.bg-\[rgba\(243\2c 243\2c 245\2c 0\.4\)\]{background-color:hsla(240,9%,96%,.4)}.bg-black\/20{background-color:rgba(0,0,0,.2)}.bg-black\/50{background-color:rgba(0,0,0,.5)}.bg-black\/80{background-color:rgba(0,0,0,.8)}.bg-gray-100{--tw-bg-opacity:1;background-color:#f3f4f6;background-color:rgb(243 244 246/var(--tw-bg-opacity,1))}.bg-gray-200{--tw-bg-opacity:1;background-color:#e5e7eb;background-color:rgb(229 231 235/var(--tw-bg-opacity,1))}.bg-green-500{--tw-bg-opacity:1;background-color:#22c55e;background-color:rgb(34 197 94/var(--tw-bg-opacity,1))}.bg-neutral-50{--tw-bg-opacity:1;background-color:#fafafa;background-color:rgb(250 250 250/var(--tw-bg-opacity,1))}.bg-primary{--tw-bg-opacity:1;background-color:#3b3e5f;background-color:rgb(59 62 95/var(--tw-bg-opacity,1))}.bg-primary\/10{background-color:rgba(59,62,95,.1)}.bg-red-50{--tw-bg-opacity:1;background-color:#fef2f2;background-color:rgb(254 242 242/var(--tw-bg-opacity,1))}.bg-transparent{background-color:transparent}.bg-white{--tw-bg-opacity:1;background-color:#fff;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.bg-white\/40{background-color:hsla(0,0%,100%,.4)}.bg-white\/50{background-color:hsla(0,0%,100%,.5)}.bg-white\/60{background-color:hsla(0,0%,100%,.6)}.bg-white\/80{background-color:hsla(0,0%,100%,.8)}.bg-\[radial-gradient\(ellipse_at_70\%_7\%\2c _\#F3F4F8_50\%\2c _\#E4E3FF_100\%\)\]{background-image:radial-gradient(ellipse at 70% 7%,#f3f4f8 50%,#e4e3ff 100%)}.fill-\[\#2B2C46\]{fill:#2b2c46}.fill-\[\#3B3E5F\]{fill:#3b3e5f}.fill-\[\#55566B\]{fill:#55566b}.fill-\[\#989BB7\]{fill:#989bb7}.fill-\[\#BBBDCF\]{fill:#bbbdcf}.fill-theme-primary{fill:var(--primary-color)}.fill-white{fill:#fff}.object-contain{object-fit:contain}.object-cover{object-fit:cover}.p-0{padding:0}.p-0\.5{padding:.125rem}.p-1{padding:.25rem}.p-1\.5{padding:.375rem}.p-2{padding:.5rem}.p-2\.5{padding:.625rem}.p-3\.5{padding:.875rem}.p-4{padding:1rem}.p-5{padding:1.25rem}.p-6{padding:1.5rem}.px-0\.5{padding-left:.125rem;padding-right:.125rem}.px-1{padding-left:.25rem;padding-right:.25rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-3\.5{padding-left:.875rem;padding-right:.875rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.px-7{padding-left:1.75rem;padding-right:1.75rem}.px-\[10px\]{padding-left:10px;padding-right:10px}.py-0{padding-bottom:0;padding-top:0}.py-0\.5{padding-bottom:.125rem;padding-top:.125rem}.py-1{padding-bottom:.25rem;padding-top:.25rem}.py-1\.5{padding-bottom:.375rem;padding-top:.375rem}.py-10{padding-bottom:2.5rem;padding-top:2.5rem}.py-2{padding-bottom:.5rem;padding-top:.5rem}.py-2\.5{padding-bottom:.625rem;padding-top:.625rem}.py-3{padding-bottom:.75rem;padding-top:.75rem}.py-4{padding-bottom:1rem;padding-top:1rem}.py-5{padding-bottom:1.25rem;padding-top:1.25rem}.py-\[3px\]{padding-bottom:3px;padding-top:3px}.pb-0{padding-bottom:0}.pb-1{padding-bottom:.25rem}.pb-3{padding-bottom:.75rem}.pb-4{padding-bottom:1rem}.pb-6{padding-bottom:1.5rem}.pb-8{padding-bottom:2rem}.pl-1\.5{padding-left:.375rem}.pl-2{padding-left:.5rem}.pl-4{padding-left:1rem}.pl-6{padding-left:1.5rem}.pl-8{padding-left:2rem}.pr-0\.5{padding-right:.125rem}.pr-1{padding-right:.25rem}.pr-1\.5{padding-right:.375rem}.pr-14{padding-right:3.5rem}.pr-2{padding-right:.5rem}.pr-4{padding-right:1rem}.pr-5{padding-right:1.25rem}.pr-6{padding-right:1.5rem}.pt-0{padding-top:0}.pt-2{padding-top:.5rem}.pt-2\.5{padding-top:.625rem}.pt-3{padding-top:.75rem}.pt-4{padding-top:1rem}.pt-6{padding-top:1.5rem}.pt-\[15px\]{padding-top:15px}.text-left{text-align:left}.text-center{text-align:center}.text-start{text-align:start}.font-sans{font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji}.text-2xl{font-size:1.5rem;line-height:2rem}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.text-\[13px\]{font-size:13px}.text-\[14px\]{font-size:14px}.text-\[25px\]{font-size:25px}.text-\[9px\]{font-size:9px}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-normal{font-weight:400}.font-semibold{font-weight:600}.normal-case{text-transform:none}.leading-4{line-height:1rem}.leading-5{line-height:1.25rem}.leading-\[18px\]{line-height:18px}.leading-\[22\.78px\]{line-height:22.78px}.leading-none{line-height:1}.leading-relaxed{line-height:1.625}.tracking-\[0\.16px\]{letter-spacing:.16px}.tracking-tight{letter-spacing:-.025em}.text-\[\#22C55E\]{--tw-text-opacity:1;color:#22c55e;color:rgb(34 197 94/var(--tw-text-opacity,1))}.text-\[\#2B2C46\],.text-\[\#2b2c46\]{--tw-text-opacity:1;color:#2b2c46;color:rgb(43 44 70/var(--tw-text-opacity,1))}.text-\[\#3B3E5F\]{--tw-text-opacity:1;color:#3b3e5f;color:rgb(59 62 95/var(--tw-text-opacity,1))}.text-\[\#3E36DC\]{--tw-text-opacity:1;color:#3e36dc;color:rgb(62 54 220/var(--tw-text-opacity,1))}.text-\[\#4a5568\]{--tw-text-opacity:1;color:#4a5568;color:rgb(74 85 104/var(--tw-text-opacity,1))}.text-\[\#655EE3\]{--tw-text-opacity:1;color:#655ee3;color:rgb(101 94 227/var(--tw-text-opacity,1))}.text-\[\#666\]{--tw-text-opacity:1;color:#666;color:rgb(102 102 102/var(--tw-text-opacity,1))}.text-\[\#767A9F\]{--tw-text-opacity:1;color:#767a9f;color:rgb(118 122 159/var(--tw-text-opacity,1))}.text-\[\#989BB7\]{--tw-text-opacity:1;color:#989bb7;color:rgb(152 155 183/var(--tw-text-opacity,1))}.text-\[\#999\]{--tw-text-opacity:1;color:#999;color:rgb(153 153 153/var(--tw-text-opacity,1))}.text-\[\#AAABB5\]{--tw-text-opacity:1;color:#aaabb5;color:rgb(170 171 181/var(--tw-text-opacity,1))}.text-\[\#BBBDCF\]{--tw-text-opacity:1;color:#bbbdcf;color:rgb(187 189 207/var(--tw-text-opacity,1))}.text-\[\#CACAD1\]{--tw-text-opacity:1;color:#cacad1;color:rgb(202 202 209/var(--tw-text-opacity,1))}.text-\[\#D14343\]{--tw-text-opacity:1;color:#d14343;color:rgb(209 67 67/var(--tw-text-opacity,1))}.text-\[\#E0E0E0\]{--tw-text-opacity:1;color:#e0e0e0;color:rgb(224 224 224/var(--tw-text-opacity,1))}.text-\[\#E31B5D\]{--tw-text-opacity:1;color:#e31b5d;color:rgb(227 27 93/var(--tw-text-opacity,1))}.text-\[\#E67E22\]{--tw-text-opacity:1;color:#e67e22;color:rgb(230 126 34/var(--tw-text-opacity,1))}.text-\[\#e31b5d\]{--tw-text-opacity:1;color:#e31b5d;color:rgb(227 27 93/var(--tw-text-opacity,1))}.text-black{--tw-text-opacity:1;color:#000;color:rgb(0 0 0/var(--tw-text-opacity,1))}.text-blue-500{--tw-text-opacity:1;color:#3b82f6;color:rgb(59 130 246/var(--tw-text-opacity,1))}.text-blue-600{--tw-text-opacity:1;color:#2563eb;color:rgb(37 99 235/var(--tw-text-opacity,1))}.text-gray-800{--tw-text-opacity:1;color:#1f2937;color:rgb(31 41 55/var(--tw-text-opacity,1))}.text-indigo-600{--tw-text-opacity:1;color:#4f46e5;color:rgb(79 70 229/var(--tw-text-opacity,1))}.text-primary{--tw-text-opacity:1;color:#3b3e5f;color:rgb(59 62 95/var(--tw-text-opacity,1))}.text-red-500{--tw-text-opacity:1;color:#ef4444;color:rgb(239 68 68/var(--tw-text-opacity,1))}.text-red-600{--tw-text-opacity:1;color:#dc2626;color:rgb(220 38 38/var(--tw-text-opacity,1))}.text-red-700{--tw-text-opacity:1;color:#b91c1c;color:rgb(185 28 28/var(--tw-text-opacity,1))}.text-slate-900{--tw-text-opacity:1;color:#0f172a;color:rgb(15 23 42/var(--tw-text-opacity,1))}.text-white{--tw-text-opacity:1;color:#fff;color:rgb(255 255 255/var(--tw-text-opacity,1))}.placeholder-\[\#989BB7\]::placeholder{--tw-placeholder-opacity:1;color:#989bb7;color:rgb(152 155 183/var(--tw-placeholder-opacity,1))}.opacity-0{opacity:0}.opacity-25{opacity:.25}.opacity-50{opacity:.5}.opacity-70{opacity:.7}.opacity-75{opacity:.75}.shadow{--tw-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px -1px rgba(0,0,0,.1);--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color)}.shadow,.shadow-\[0px_0px_32px_0px_rgba\(152\2c 155\2c 183\2c 1\)\]{box-shadow:0 0 #0000,0 0 #0000,var(--tw-shadow);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-\[0px_0px_32px_0px_rgba\(152\2c 155\2c 183\2c 1\)\]{--tw-shadow:0px 0px 32px 0px #989bb7;--tw-shadow-colored:0px 0px 32px 0px var(--tw-shadow-color)}.shadow-ds-1{--tw-shadow:0 0 16px 0 rgba(221,222,231,.5);--tw-shadow-colored:0 0 16px 0 var(--tw-shadow-color)}.shadow-ds-1,.shadow-ds-2{box-shadow:0 0 #0000,0 0 #0000,var(--tw-shadow);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-ds-2{--tw-shadow:0 0 20px 0 rgba(221,222,231,.5);--tw-shadow-colored:0 0 20px 0 var(--tw-shadow-color)}.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)}.shadow-lg,.shadow-md{box-shadow:0 0 #0000,0 0 #0000,var(--tw-shadow);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.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)}.shadow-outer{--tw-shadow:0 0 16px 0 hsla(240,7%,81%,.5);--tw-shadow-colored:0 0 16px 0 var(--tw-shadow-color)}.shadow-outer,.shadow-sm{box-shadow:0 0 #0000,0 0 #0000,var(--tw-shadow);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 2px 0 rgba(0,0,0,.05);--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color)}.outline-none{outline:2px solid transparent;outline-offset:2px}.outline{outline-style:solid}.ring{--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(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),0 0 #0000;box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.backdrop-blur-\[8px\]{--tw-backdrop-blur:blur(8px);-webkit-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);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)}.transition{transition-duration:.15s;transition-property:color,background-color,border-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-text-decoration-color,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-text-decoration-color,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-all{transition-duration:.15s;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-colors{transition-duration:.15s;transition-property:color,background-color,border-color,fill,stroke,-webkit-text-decoration-color;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,-webkit-text-decoration-color;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-opacity{transition-duration:.15s;transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1)}.delay-150{transition-delay:.15s}.delay-300{transition-delay:.3s}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:#3b3e5f;font-family:-apple-system,BlinkMacSystemFont,Source Sans\ 3,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}@font-face{font-display:swap;font-family:Source Sans\ 3;font-style:normal;font-weight:300;src:url(/static/media/SourceSans3-Light.37264fa35ee0d5f209ea.ttf)}@font-face{font-display:swap;font-family:Source Sans\ 3;font-style:normal;font-weight:400;src:url(/static/media/SourceSans3-Regular.c69f9658f16351f79f33.ttf)}@font-face{font-display:swap;font-family:Source Sans\ 3;font-style:medium;font-weight:500;src:url(/static/media/SourceSans3-Medium.c82b4c53fc5d38ef5784.ttf)}@font-face{font-display:swap;font-family:Source Sans\ 3;font-style:medium;font-weight:600;src:url(/static/media/SourceSans3-SemiBold.5ad6683a8a06e3ccea94.ttf)}@font-face{font-display:swap;font-family:Source Sans\ 3;font-style:medium;font-weight:700;src:url(/static/media/SourceSans3-Bold.17e068739e42bdb30d1c.ttf)}*,body{margin:0}*{font-family:Source Sans\ 3,sans-serif!important;padding:0}.sidepanel-scroll{-webkit-clip-path:inset(0 round 1px);clip-path:inset(0 round 1px);position:relative;scrollbar-color:transparent transparent;scrollbar-gutter:stable;scrollbar-width:thin}.sidepanel-scroll:hover{scrollbar-color:#c3c6cf transparent}.sidepanel-scroll::-webkit-scrollbar,.sidepanel-scroll:hover::-webkit-scrollbar{width:8px}.sidepanel-scroll::-webkit-scrollbar-track{background:transparent;margin:16px 0}.sidepanel-scroll::-webkit-scrollbar-thumb{background:transparent;background-clip:padding-box;border:2px solid transparent;border-radius:999px}.sidepanel-scroll:hover::-webkit-scrollbar-thumb{background:#c3c6cf}.sidepanel-scroll:after,.sidepanel-scroll:before{background:#fff;content:"";height:16px;pointer-events:none;position:absolute;right:0;width:8px;z-index:1}.sidepanel-scroll:before{border-top-right-radius:32px;top:0}.sidepanel-scroll:after{border-bottom-right-radius:32px;bottom:0}a,abbr,acronym,address,applet,article,aside,audio,b,big,blockquote,body,canvas,caption,center,cite,code,dd,del,details,dfn,div,dl,dt,em,embed,fieldset,figcaption,figure,footer,form,h1,h2,h3,h4,h5,h6,header,hgroup,html,i,iframe,img,ins,kbd,label,legend,li,mark,menu,nav,object,ol,output,p,pre,q,ruby,s,samp,section,small,span,strike,strong,sub,summary,sup,table,tbody,td,tfoot,th,thead,time,tr,tt,u,ul,var,video{border:0;font:inherit;margin:0;padding:0}blockquote,q{quotes:none}blockquote:after,blockquote:before,q:after,q:before{content:"";content:none}table{border-collapse:collapse;border-spacing:0}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}body,button,input,select,textarea{-webkit-font-smoothing:antialiased;font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:#2b2c46;font-family:Roboto,Arial,Helvetica,sans-serif;font-size:17px;font-weight:400;line-height:1.5;text-rendering:optimizeLegibility}a,b,h1,h2,h3,h4,h5,h6,strong{font-weight:700}body{background:#fafafa}h1,h2,h3,h4,h5,h6{line-height:1}h1,h2{color:#031f2b;line-height:1.618}h1{font-size:25px;margin:0 auto 25px}h1.entry-title a{color:#031f2b;font-size:25px}h2{font-size:16px;margin:15px auto 25px}h2.entry-title a{color:#031f2b;font-size:25px}h1 p,h2 p{margin-bottom:0}@media only screen and (min-width:530px) and (max-width:750px){h1 br,h2 br{display:none}}h3{color:#031f2b;font-size:17px;line-height:1.5;margin:22px auto 16px}h4{font-size:15px;margin:22px auto 12px}h5{font-size:13px;margin:22px auto 10px}h6{font-size:11px;margin:22px auto 8px}p a{text-decoration:underline}em{font-style:italic}iframe,img{height:auto;max-width:100%}a{color:rgba(3,31,43,.54);text-decoration:none}a:hover{color:rgba(3,31,43,.7);cursor:pointer}ol,ul{list-style:none;padding-left:20px}ol li,ul li{list-style:disc;margin-bottom:10px;padding-left:10px}.d-flex{display:flex!important}.justify-center{justify-content:center}.flex-end{align-items:flex-end}.flex-center{align-items:center}.hover\:w-\[215px\]:hover{width:215px}.hover\:cursor-pointer:hover{cursor:pointer}.hover\:gap-2:hover{gap:.5rem}.hover\:border-\[\#DDDEE7\]:hover{--tw-border-opacity:1;border-color:#dddee7;border-color:rgb(221 222 231/var(--tw-border-opacity,1))}.hover\:border-\[\#E7E8F1\]:hover{--tw-border-opacity:1;border-color:#e7e8f1;border-color:rgb(231 232 241/var(--tw-border-opacity,1))}.hover\:bg-\[\#2d3145\]:hover{--tw-bg-opacity:1;background-color:#2d3145;background-color:rgb(45 49 69/var(--tw-bg-opacity,1))}.hover\:bg-\[\#333653\]:hover{--tw-bg-opacity:1;background-color:#333653;background-color:rgb(51 54 83/var(--tw-bg-opacity,1))}.hover\:bg-\[\#3B3E5F\]:hover{--tw-bg-opacity:1;background-color:#3b3e5f;background-color:rgb(59 62 95/var(--tw-bg-opacity,1))}.hover\:bg-\[\#545987\]:hover{--tw-bg-opacity:1;background-color:#545987;background-color:rgb(84 89 135/var(--tw-bg-opacity,1))}.hover\:bg-\[\#E0E7FF\]:hover{--tw-bg-opacity:1;background-color:#e0e7ff;background-color:rgb(224 231 255/var(--tw-bg-opacity,1))}.hover\:bg-\[\#E67E22\]:hover{--tw-bg-opacity:1;background-color:#e67e22;background-color:rgb(230 126 34/var(--tw-bg-opacity,1))}.hover\:bg-\[\#E9E9EC\]:hover{--tw-bg-opacity:1;background-color:#e9e9ec;background-color:rgb(233 233 236/var(--tw-bg-opacity,1))}.hover\:bg-\[\#F3F3F5\]:hover{--tw-bg-opacity:1;background-color:#f3f3f5;background-color:rgb(243 243 245/var(--tw-bg-opacity,1))}.hover\:bg-\[\#F3F4F8\]:hover{--tw-bg-opacity:1;background-color:#f3f4f8;background-color:rgb(243 244 248/var(--tw-bg-opacity,1))}.hover\:bg-blue-100\/40:hover{background-color:rgba(219,234,254,.4)}.hover\:bg-gray-100:hover{--tw-bg-opacity:1;background-color:#f3f4f6;background-color:rgb(243 244 246/var(--tw-bg-opacity,1))}.hover\:bg-white:hover{--tw-bg-opacity:1;background-color:#fff;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.hover\:bg-gradient-to-r:hover{background-image:linear-gradient(to right,var(--tw-gradient-stops))}.hover\:from-white:hover{--tw-gradient-from:#fff var(--tw-gradient-from-position);--tw-gradient-to:hsla(0,0%,100%,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.hover\:to-\[\#E4E3FF\]:hover{--tw-gradient-to:#e4e3ff var(--tw-gradient-to-position)}.hover\:fill-\[url\(\#powered_by_nyris_colored_svg__gradient\)\]:hover{fill:url(#powered_by_nyris_colored_svg__gradient)}.hover\:px-0\.5:hover{padding-left:.125rem;padding-right:.125rem}.hover\:font-semibold:hover{font-weight:600}.hover\:text-\[\#2F29B7\]:hover{--tw-text-opacity:1;color:#2f29b7;color:rgb(47 41 183/var(--tw-text-opacity,1))}.hover\:text-\[\#3B3E5F\]:hover{--tw-text-opacity:1;color:#3b3e5f;color:rgb(59 62 95/var(--tw-text-opacity,1))}.hover\:text-\[\#F3F4F8\]:hover{--tw-text-opacity:1;color:#f3f4f8;color:rgb(243 244 248/var(--tw-text-opacity,1))}.hover\:text-primary:hover{--tw-text-opacity:1;color:#3b3e5f;color:rgb(59 62 95/var(--tw-text-opacity,1))}.hover\:text-white:hover{--tw-text-opacity:1;color:#fff;color:rgb(255 255 255/var(--tw-text-opacity,1))}.hover\:opacity-100:hover{opacity:1}.hover\:shadow-\[0_0_6px_0_\#DDDEE7\]:hover{--tw-shadow:0 0 6px 0 #dddee7;--tw-shadow-colored:0 0 6px 0 var(--tw-shadow-color);box-shadow:0 0 #0000,0 0 #0000,var(--tw-shadow);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.focus\:bg-\[\#FFFFFF\]:focus{--tw-bg-opacity:1;background-color:#fff;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}.disabled\:opacity-60:disabled{opacity:.6}.group:hover .group-hover\:max-w-fit{max-width:-webkit-fit-content;max-width:fit-content}.group:hover .group-hover\:flex-grow{flex-grow:1}.group:hover .group-hover\:fill-\[url\(\#powered_by_nyris_colored_svg__gradient\)\]{fill:url(#powered_by_nyris_colored_svg__gradient)}.group:hover .group-hover\:text-\[\#5a5b61\]{--tw-text-opacity:1;color:#5a5b61;color:rgb(90 91 97/var(--tw-text-opacity,1))}@keyframes accordion-up{0%{height:var(--radix-accordion-content-height)}to{height:0}}.data-\[state\=closed\]\:animate-accordion-up[data-state=closed]{animation:accordion-up .2s ease-out}@keyframes accordion-down{0%{height:0}to{height:var(--radix-accordion-content-height)}}.data-\[state\=open\]\:animate-accordion-down[data-state=open]{animation:accordion-down .2s ease-out}.group[data-state=closed] .group-data-\[state\=closed\]\:hidden,.group[data-state=open] .group-data-\[state\=open\]\:hidden{display:none}@media (min-width:400px){.mobile-md\:mx-2{margin-left:.5rem;margin-right:.5rem}}@media (min-width:777px){.desktop\:left-8{left:2rem}.desktop\:left-\[26px\]{left:26px}.desktop\:top-\[1px\]{top:1px}.desktop\:m-auto{margin:auto}.desktop\:mx-4{margin-left:1rem;margin-right:1rem}.desktop\:-mb-2{margin-bottom:-.5rem}.desktop\:mb-0{margin-bottom:0}.desktop\:mb-2{margin-bottom:.5rem}.desktop\:mb-8{margin-bottom:2rem}.desktop\:mt-0{margin-top:0}.desktop\:mt-4{margin-top:1rem}.desktop\:mt-6{margin-top:1.5rem}.desktop\:block{display:block}.desktop\:flex{display:flex}.desktop\:inline-flex{display:inline-flex}.desktop\:hidden{display:none}.desktop\:h-0{height:0}.desktop\:h-12{height:3rem}.desktop\:h-8{height:2rem}.desktop\:h-\[100\%\]{height:100%}.desktop\:h-\[18px\]{height:18px}.desktop\:h-\[456px\]{height:456px}.desktop\:h-\[52px\]{height:52px}.desktop\:h-\[68px\]{height:68px}.desktop\:h-\[8px\]{height:8px}.desktop\:h-full{height:100%}.desktop\:max-h-\[100\%\]{max-height:100%}.desktop\:max-h-\[456px\]{max-height:456px}.desktop\:min-h-0{min-height:0}.desktop\:min-h-10{min-height:2.5rem}.desktop\:min-h-\[468px\]{min-height:468px}.desktop\:min-h-\[68px\]{min-height:68px}.desktop\:w-0{width:0}.desktop\:w-8{width:2rem}.desktop\:w-\[18px\]{width:18px}.desktop\:w-\[190px\]{width:190px}.desktop\:w-\[378px\]{width:378px}.desktop\:w-\[500px\]{width:500px}.desktop\:w-\[600px\]{width:600px}.desktop\:w-\[8px\]{width:8px}.desktop\:w-fit{width:-webkit-fit-content;width:fit-content}.desktop\:min-w-10{min-width:2.5rem}.desktop\:min-w-\[18px\]{min-width:18px}.desktop\:min-w-\[68px\]{min-width:68px}.desktop\:max-w-\[600px\]{max-width:600px}.desktop\:grid-cols-\[repeat\(auto-fit\2c _minmax\(190px\2c _0px\)\)\]{grid-template-columns:repeat(auto-fit,minmax(190px,0))}.desktop\:flex-row{flex-direction:row}.desktop\:items-start{align-items:flex-start}.desktop\:gap-1\.5{gap:.375rem}.desktop\:gap-6{gap:1.5rem}.desktop\:overflow-hidden{overflow:hidden}.desktop\:overflow-y-auto{overflow-y:auto}.desktop\:bg-\[\#E7E8F1\]{--tw-bg-opacity:1;background-color:#e7e8f1;background-color:rgb(231 232 241/var(--tw-bg-opacity,1))}.desktop\:bg-\[\#FAFAFA\]{--tw-bg-opacity:1;background-color:#fafafa;background-color:rgb(250 250 250/var(--tw-bg-opacity,1))}.desktop\:bg-theme-primary{background-color:var(--primary-color)}.desktop\:bg-transparent{background-color:transparent}.desktop\:fill-\[\#3B3E5F\]{fill:#3b3e5f}.desktop\:p-3{padding:.75rem}.desktop\:p-6{padding:1.5rem}.desktop\:px-4{padding-left:1rem;padding-right:1rem}.desktop\:px-5{padding-left:1.25rem;padding-right:1.25rem}.desktop\:py-1\.5{padding-bottom:.375rem;padding-top:.375rem}.desktop\:pb-0{padding-bottom:0}.desktop\:pl-1\.5{padding-left:.375rem}.desktop\:pl-16{padding-left:4rem}.desktop\:pt-0{padding-top:0}.desktop\:pt-4{padding-top:1rem}.desktop\:pt-8{padding-top:2rem}.desktop\:text-\[10px\]{font-size:10px}.desktop\:shadow-none{--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;box-shadow:0 0 #0000,0 0 #0000,var(--tw-shadow);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.desktop\:hover\:bg-\[\#FAFAFA\]:hover{--tw-bg-opacity:1;background-color:#fafafa;background-color:rgb(250 250 250/var(--tw-bg-opacity,1))}.desktop\:has-\[input\:focus\]\:bg-\[\#FFFFFF\]:has(input:focus){--tw-bg-opacity:1;background-color:#fff;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.desktop\:has-\[input\:focus\]\:shadow-ds-2:has(input:focus){--tw-shadow:0 0 20px 0 rgba(221,222,231,.5);--tw-shadow-colored:0 0 20px 0 var(--tw-shadow-color);box-shadow:0 0 #0000,0 0 #0000,var(--tw-shadow);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}}.take-photo{padding:3px}.take-photo,.take-photo .take-photo-wrapper{border-radius:100%}.take-photo .take-photo-wrapper .outer{border-radius:100%;box-shadow:0 0 40px 0 #dddee7;display:block}.take-photo .take-photo-wrapper .inner{align-items:center;background:linear-gradient(180deg,#fff 30.73%,#dddee7);border-radius:100%;display:flex;height:260px;justify-content:center;width:260px}body.overflow-hidden{overflow:hidden}.experience-visual-button{align-items:center;background-color:#3e36dc;border-radius:25px;cursor:pointer;display:flex;flex-direction:row;height:40px;justify-content:center;margin:32px auto 0;width:40px}.experience-visual-button.hover,.experience-visual-button:hover{border-radius:25px;transition:.5s;width:197px}.experience-visual-button.hover span,.experience-visual-button:hover span{display:inline;font-family:Source Sans\ 3,sans-serif;font-size:14px;font-weight:600;line-height:16px;margin-right:8px;overflow:hidden;text-align:center;white-space:nowrap;width:149px}.experience-visual-button.hover span:before,.experience-visual-button:hover span:before{color:#fff;content:"Experience Visual Search"}.custom-modal-body{background-color:#f3f3f5;height:100%;padding:32px 16px;position:relative;width:100%}.custom-modal-body .close-icon{position:absolute;right:8px;top:8px}.custom-modal-body-title{font-family:Source Sans\ 3,sans-serif;font-size:20px;font-weight:700;line-height:24px;text-align:left}.custom-modal-body-content.experience-visual-search-images{display:flex;flex-direction:row;flex-wrap:wrap;gap:16px;height:auto;margin:32px auto;width:376px}.custom-modal-body-content.experience-visual-search-images .experience-visual-search-image-container{border-radius:4px;cursor:pointer;height:180px;overflow:hidden;position:relative;width:180px}.custom-modal-body-content.experience-visual-search-images .experience-visual-search-image-container .experience-visual-search-image{background-position:50%;background-size:cover;height:180px;transform:scale(1);width:180px}.custom-modal-body-content.experience-visual-search-images .experience-visual-search-image-container .experience-visual-search-image:hover{transform:scale(1.1);transition:all .3s}.custom-modal-body-content.experience-visual-search-images .experience-visual-search-image-container .box-icon-modal{align-items:center;background-color:#f3f3f5;border-radius:100%;bottom:6px;cursor:pointer;display:flex;height:32px;justify-content:center;overflow:hidden;position:absolute;right:6px;width:32px;z-index:11}@media only screen and (min-width:900px){.custom-modal-body{border-radius:4px;height:380px;max-width:900px;width:900px}.custom-modal-body-subtitle,.custom-modal-body-title{margin-left:24px}.custom-modal-body-content.experience-visual-search-images{width:770px}}@media only screen and (min-width:776px)and (max-width:899px){.custom-modal-body{border-radius:4px;height:600px;max-width:600px;padding:32px;width:600px}}@media only screen and (max-width:776px){.experience-visual-button{width:197px}.experience-visual-button span{display:inline;font-family:Source Sans\ 3,sans-serif;font-size:14px;font-weight:600;line-height:16px;margin-right:8px;overflow:hidden;text-align:center;white-space:nowrap;width:149px}.experience-visual-button span:before{color:#fff;content:"Experience Visual Search"}}@media only screen and (max-width:408px){.custom-modal-body{padding:32px 8px}.custom-modal-body-content.experience-visual-search-images{gap:8px;width:300px}.custom-modal-body-content.experience-visual-search-images .experience-visual-search-image-container,.custom-modal-body-content.experience-visual-search-images .experience-visual-search-image-container .experience-visual-search-image{height:145px;width:145px}}.wrap-main-item-result{display:flex;flex-direction:column;overflow:hidden}@media screen and (max-width:776px){.wrap-main-item-result .wrap-main-item-result{max-width:180px!important;width:180px}.wrap-main-item-result .wrap-main-item-result:first-child{margin-top:0!important}}.box-icon-modal{right:6px}.box-icon-modal,.box-icon-modal-3d{align-items:center;background-color:#f3f3f5;border-radius:100%;bottom:6px;cursor:pointer;display:flex;height:32px;justify-content:center;overflow:hidden;position:absolute;width:32px;z-index:11}.box-icon-modal-3d{left:6px}.attribute-container{display:flex;flex-direction:row;flex-wrap:wrap;gap:8px;width:100%}.attribute-container .item-attribute{width:calc(50% - 4px)}.attribute-container .item-attribute:nth-child(odd):last-child{width:100%}.info-container{padding:16px 0 0}.info-container .info-sku{font-size:18px;font-weight:700;line-height:25.63px;padding-left:4px}.info-container .info-marking{background:#e0e0e0;border-radius:2px;font-size:16px;font-weight:400;letter-spacing:.2285714447px;line-height:12px;padding:4px;text-align:left;width:-webkit-max-content;width:max-content;word-break:break-all}.info-container .info-description{font-size:16px;font-weight:400;letter-spacing:.2285714447px;line-height:22.78px;padding:8px 0 0 4px}.info-container-card{background-color:#f3f3f5;display:flex;flex-direction:column;flex-grow:1;height:140px;padding:8px;z-index:40}.info-container-card.w-cta{height:168px}.info-container-card .info-sku{font-size:16px;font-weight:700;letter-spacing:.2285714447px;line-height:22.78px;padding-left:4px}.info-container-card .info-marking{-webkit-line-clamp:2;line-clamp:2;background:#e0e0e0;border-radius:2px;line-height:14px;max-width:-webkit-max-content;max-width:max-content;padding:2px 4px}.info-container-card .info-description,.info-container-card .info-marking{-webkit-box-orient:vertical;display:-webkit-box;font-size:14px;font-weight:400;letter-spacing:.2285714447px;overflow:hidden;word-break:break-all}.info-container-card .info-description{-webkit-line-clamp:3;line-clamp:2;line-height:19.94px;margin-top:8px;padding-left:4px}.splide__arrow{align-items:center;background:#ccc;border:0;border-radius:50%;cursor:pointer;display:flex;height:2em;justify-content:center;opacity:.7;padding:0;position:absolute;top:50%;transform:translateY(-50%);width:2em;z-index:1}.splide__arrow svg{fill:#000;height:1.2em;width:1.2em}.splide__arrow:hover:not(:disabled){opacity:.9}.splide__arrow:disabled{opacity:.3}.splide__arrow:focus-visible{outline:3px solid #0bf;outline-offset:3px}.splide__arrow--prev{left:1em}.splide__arrow--prev svg{transform:scaleX(-1)}.splide__arrow--next{right:1em}.splide.is-focus-in .splide__arrow:focus{outline:3px solid #0bf;outline-offset:3px}.splide__pagination{bottom:.5em;left:0;padding:0 1em;position:absolute;right:0;z-index:1}.splide__pagination__page{background:#ccc;border:0;border-radius:50%;display:inline-block;height:8px;margin:3px;opacity:.7;padding:0;position:relative;transition:transform .2s linear;width:8px}.splide__pagination__page.is-active{background:#fff;transform:scale(1.4);z-index:1}.splide__pagination__page:hover{cursor:pointer;opacity:.9}.splide__pagination__page:focus-visible{outline:3px solid #0bf;outline-offset:3px}.splide.is-focus-in .splide__pagination__page:focus{outline:3px solid #0bf;outline-offset:3px}.splide__progress__bar{background:#ccc;height:3px}.splide__slide{-webkit-tap-highlight-color:rgba(0,0,0,0)}.splide__slide:focus{outline:0}@supports(outline-offset:-3px){.splide__slide:focus-visible{outline:3px solid #0bf;outline-offset:-3px}}@media screen and (-ms-high-contrast:none){.splide__slide:focus-visible{border:3px solid #0bf}}@supports(outline-offset:-3px){.splide.is-focus-in .splide__slide:focus{outline:3px solid #0bf;outline-offset:-3px}}@media screen and (-ms-high-contrast:none){.splide.is-focus-in .splide__slide:focus{border:3px solid #0bf}.splide.is-focus-in .splide__track>.splide__list>.splide__slide:focus{border-color:#0bf}}.splide__toggle{cursor:pointer}.splide__toggle:focus-visible{outline:3px solid #0bf;outline-offset:3px}.splide.is-focus-in .splide__toggle:focus{outline:3px solid #0bf;outline-offset:3px}.splide__track--nav>.splide__list>.splide__slide{border:3px solid transparent;cursor:pointer}.splide__track--nav>.splide__list>.splide__slide.is-active{border:3px solid #000}.splide__arrows--rtl .splide__arrow--prev{left:auto;right:1em}.splide__arrows--rtl .splide__arrow--prev svg{transform:scaleX(1)}.splide__arrows--rtl .splide__arrow--next{left:1em;right:auto}.splide__arrows--rtl .splide__arrow--next svg{transform:scaleX(-1)}.splide__arrows--ttb .splide__arrow{left:50%;transform:translate(-50%)}.splide__arrows--ttb .splide__arrow--prev{top:1em}.splide__arrows--ttb .splide__arrow--prev svg{transform:rotate(-90deg)}.splide__arrows--ttb .splide__arrow--next{bottom:1em;top:auto}.splide__arrows--ttb .splide__arrow--next svg{transform:rotate(90deg)}.splide__pagination--ttb{bottom:0;display:flex;flex-direction:column;left:auto;padding:1em 0;right:.5em;top:0}@keyframes splide-loading{0%{transform:rotate(0)}to{transform:rotate(1turn)}}.splide__track--draggable{-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.splide__track--fade>.splide__list>.splide__slide{margin:0!important;opacity:0;z-index:0}.splide__track--fade>.splide__list>.splide__slide.is-active{opacity:1;z-index:1}.splide--rtl{direction:rtl}.splide__track--ttb>.splide__list{display:block}.splide__container{box-sizing:border-box;position:relative}.splide__list{backface-visibility:hidden;display:flex;height:100%;margin:0!important;padding:0!important}.splide.is-initialized:not(.is-active) .splide__list{display:block}.splide__pagination{align-items:center;display:flex;flex-wrap:wrap;justify-content:center;margin:0;pointer-events:none}.splide__pagination li{display:inline-block;line-height:1;list-style-type:none;margin:0;pointer-events:auto}.splide:not(.is-overflow) .splide__pagination{display:none}.splide__progress__bar{width:0}.splide{position:relative;visibility:hidden}.splide.is-initialized,.splide.is-rendered{visibility:visible}.splide__slide{backface-visibility:hidden;box-sizing:border-box;flex-shrink:0;list-style-type:none!important;margin:0;position:relative}.splide__slide img{vertical-align:bottom}.splide__spinner{animation:splide-loading 1s linear infinite;border:2px solid #999;border-left-color:transparent;border-radius:50%;bottom:0;contain:strict;display:inline-block;height:20px;left:0;margin:auto;position:absolute;right:0;top:0;width:20px}.splide__sr{clip:rect(0 0 0 0);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.splide__toggle.is-active .splide__toggle__play,.splide__toggle__pause{display:none}.splide__toggle.is-active .splide__toggle__pause{display:inline}.splide__track{overflow:hidden;position:relative;z-index:0}.splide__track.splide__track--slide{margin:0 46px}.splide__arrow{background:transparent}.splide__arrow svg{fill:#a3a3a3}.splide__track--nav>.splide__list>.splide__slide.is-active{border:2px solid #e0e0e0;border-radius:2px}.img-container,.thumbs-list{display:flex;justify-content:center}.img-container img{max-height:400px}.box-carosel .splide.splide--slide{align-items:center;display:flex;height:calc(100% - 48px);justify-content:center}.box-carosel .splide.splide--slide .splide__track{height:100%;padding-bottom:8px}.feedback-floating{display:flex;height:-webkit-fit-content;height:fit-content;justify-content:flex-end;position:absolute;right:0;z-index:42}.feedback-floating .feedback-section{border-radius:26px;bottom:40px;min-height:48px;min-width:332px;position:fixed}@media screen and (max-width:776px){.feedback-floating .feedback-section{bottom:80px;display:flex;height:-webkit-fit-content!important;height:fit-content!important;justify-content:center;left:50%;margin-left:0;min-height:40px;min-width:300px;transform:translateX(-50%)}.feedback-floating{left:0;margin-left:auto;margin-right:auto;right:0;width:77%}}.feedback-backdrop-blur{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.feedback-wrapper{align-items:center;border-radius:24px;color:#2b2c46;column-gap:22px;display:flex;flex-shrink:0;height:-webkit-fit-content;height:fit-content;justify-content:center;mix-blend-mode:multiply;padding:8px 8px 8px 24px;width:-webkit-fit-content;width:fit-content}@media screen and (max-width:776px){.feedback-wrapper{padding-left:16px;padding-right:6px;padding-top:6px}}.feedback-wrapper p{font-size:14px;font-weight:600}@media screen and (max-width:776px){.feedback-wrapper p{font-size:12px}}.feedback-wrapper .feedback-icon-wrapper{align-items:center;border-radius:100%;display:flex;justify-content:center;min-height:32px;min-width:32px}@media screen and (max-width:776px){.feedback-wrapper .feedback-icon-wrapper{min-height:28px;min-width:28px}}.feedback-wrapper .feedback-icon-wrapper-close{align-items:center;border-radius:100%;display:flex;justify-content:center;min-height:32px;min-width:32px}@media screen and (max-width:776px){.feedback-wrapper .feedback-icon-wrapper-close{min-height:28px;min-width:28px}}.feedback-wrapper .feedback-icon-wrapper-close:hover{background-color:#d3d1ff;cursor:pointer}.feedback-wrapper .feedback-icon-wrapper:hover{background-color:#fff;box-shadow:0 0 7.04px 0 rgba(0,0,0,.1);cursor:pointer}.feedback-wrapper .feedback-icon-wrapper svg{height:16px;width:16px}@media screen and (max-width:776px){.feedback-wrapper .feedback-icon-wrapper svg{height:14px;width:14px}.feedback-wrapper .feedback-icon-wrapper{height:25px;width:25px}}.feedback-success{align-items:center;background-color:#2b2c46;border-radius:26px;color:#fff;display:flex;font-size:14px;font-weight:600;justify-content:center;min-height:48px;text-align:center;width:100%}@media screen and (max-width:776px){.feedback-success{font-size:12px;min-height:42px}}.full-height{height:100dvh}.max-line-1{-webkit-line-clamp:1;max-height:33px}.max-line-1,.max-line-2{-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden;text-overflow:ellipsis;word-break:break-word}.max-line-2{-webkit-line-clamp:2;max-height:66px}.box-wrap-loading{background:rgba(0,0,0,.459);height:100%;left:0;position:fixed;top:0;width:100%;z-index:1000}.loadingSpinCT{border-radius:100%;height:104px;left:0;margin:auto;position:absolute;right:0;width:104px;z-index:111}.loading-spinner{animation:spin 3s linear infinite}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.rfq-box{padding:24px 40px}@media screen and (max-width:776px){.rfq-box{padding:16px}}@media screen and (max-width:820px){.rfq-box{padding:16px}}.rfq-box .support-button-wrapper{flex-wrap:nowrap}@media screen and (max-width:820px){.rfq-box .support-button-wrapper{gap:8px}}.psol-comp-webviewer3d-container{border-radius:12px!important}.psol-comp-viewbase-iconbutton-44{height:32px!important;width:32px!important}.psol-comp-viewbase-iconbutton-44 .psol-comp-viewbase-svgicon{height:16px!important;width:16px!important}.psol-comp-webviewer3d-copyright-container a{color:#55566b!important;font-size:10px!important}.psol-comp-webviewer3d-copyright-container{margin-bottom:-2px!important}.ComponentCustomizeWebViewer3DFavoriteButtonsBarContainer{padding-bottom:6px!important}.psol-comp-viewbase-svgcontainer{display:none!important}.drag-n-drop-label{background-color:transparent;padding:24px}.drag-n-drop-label:hover{background-color:#fff;border-radius:24px;box-shadow:0 4px 12px rgba(0,0,0,.2)}.drag-n-drop-label:hover .drag-n-drop-inner{background-color:#f0efff;border-color:#e0e0e0;color:#2b2c46}.custom-modal{align-items:center;background-color:hsla(0,0%,9%,.502);bottom:0;display:flex;height:100vh;justify-content:center;left:0;position:absolute;right:0;top:0;width:100vw;z-index:99999}.custom-modal-body{background:#f3f3f5;padding:32px}.custom-modal-body.geolocation{align-items:flex-start;display:flex;flex-direction:column;font-size:14px;font-weight:400;height:200px;justify-content:space-between;letter-spacing:.16px;line-height:16px;width:400px}.custom-modal-body.geolocation .geolocation-title{font-size:20px;font-weight:700;letter-spacing:0;line-height:24px}.custom-modal-body.geolocation button{align-self:flex-end;border:2px solid #3e36dc;border-radius:4px;font-size:16px;font-weight:600;letter-spacing:.16px;line-height:18px;padding:8px 32px}
4
- /*# sourceMappingURL=main.5ea01690.css.map*/