@nyris/nyris-webapp 0.3.87 → 0.3.89

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (37) 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.ba1c7479.css +4 -0
  5. package/build/static/css/main.ba1c7479.css.map +1 -0
  6. package/build/static/js/main.ca8b95bc.js +3 -0
  7. package/build/static/js/{main.029b0c0c.js.map → main.ca8b95bc.js.map} +1 -1
  8. package/package.json +3 -3
  9. package/public/js/settings.example.js +1 -0
  10. package/src/components/Carousel/ImagePreviewCarousel.tsx +1 -1
  11. package/src/components/CustomCameraDrawer.tsx +73 -3
  12. package/src/components/DragDropFile.tsx +121 -46
  13. package/src/components/Header.tsx +17 -12
  14. package/src/components/Hint.tsx +98 -0
  15. package/src/components/ImagePreview.tsx +79 -10
  16. package/src/components/Inquiry/InquiryModal.tsx +40 -9
  17. package/src/components/PreFilter/PreFilter.tsx +14 -0
  18. package/src/components/Product/Product.tsx +3 -3
  19. package/src/components/Product/ProductDetailView.tsx +2 -4
  20. package/src/components/Product/ProductList.tsx +0 -5
  21. package/src/components/SidePanel.tsx +77 -84
  22. package/src/components/TextSearch.tsx +161 -9
  23. package/src/layouts/AppLayout.tsx +14 -10
  24. package/src/pages/Home.tsx +20 -2
  25. package/src/pages/Result.tsx +84 -65
  26. package/src/stores/request/requestStore.ts +5 -1
  27. package/src/stores/request/specifications/specifications.initialState.ts +9 -0
  28. package/src/stores/request/specifications/specifications.slice.ts +15 -0
  29. package/src/stores/types.ts +16 -0
  30. package/src/styles/common.scss +15 -0
  31. package/src/styles/product.scss +13 -1
  32. package/src/translations.ts +27 -0
  33. package/src/types.ts +1 -0
  34. package/build/static/css/main.a0a44a64.css +0 -4
  35. package/build/static/css/main.a0a44a64.css.map +0 -1
  36. package/build/static/js/main.029b0c0c.js +0 -3
  37. /package/build/static/js/{main.029b0c0c.js.LICENSE.txt → main.ca8b95bc.js.LICENSE.txt} +0 -0
@@ -48,6 +48,8 @@ function AppLayout(): JSX.Element {
48
48
  const setIsAlgoliaLoading = useUiStore(state => state.setIsAlgoliaLoading);
49
49
 
50
50
  const setIsCadenasLoaded = useUiStore(state => state.setIsCadenasLoaded);
51
+ const specifications = useRequestStore(state => state.specifications);
52
+ const requestImages = useRequestStore(state => state.requestImages);
51
53
 
52
54
  const { status } = useInstantSearch();
53
55
  const { items } = useHits();
@@ -102,17 +104,19 @@ function AppLayout(): JSX.Element {
102
104
  <Header />
103
105
  {window.settings?.algolia.enabled && (
104
106
  <Configure
105
- query={query}
107
+ query={!query && specifications && !requestImages.length ? '*' : query}
106
108
  filters={
107
- !query && !algoliaFilter.includes('score=1')
108
- ? undefined
109
- : `${algoliaFilter}${
110
- metaFilter
111
- ? `${
112
- algoliaFilter ? 'AND ' : ''
113
- }${alogoliaFilterField}:'${metaFilter}'`
114
- : ''
115
- }`
109
+ specifications && !requestImages.length
110
+ ? specifications.prefilter_value ? `${alogoliaFilterField}:'${specifications.prefilter_value}'` : ''
111
+ : !query && !algoliaFilter.includes('score=1')
112
+ ? undefined
113
+ : `${algoliaFilter}${
114
+ metaFilter
115
+ ? `${
116
+ algoliaFilter ? 'AND ' : ''
117
+ }${alogoliaFilterField}:'${metaFilter}'`
118
+ : ''
119
+ }`
116
120
  }
117
121
  // facets={['brand', 'keyword_0']}
118
122
  hitsPerPage={20}
@@ -9,7 +9,9 @@ import CustomCamera from 'components/CustomCameraDrawer';
9
9
  import ExperienceVisualSearchTrigger from 'components/ExperienceVisualSearch/ExperienceVisualSearchTrigger';
10
10
  import { useNavigate } from 'react-router';
11
11
  import LocationInfoPopup from "../components/LocationInfoPopup";
12
-
12
+ import Hint from '../components/Hint';
13
+ import Loading from '../components/Loading';
14
+ import useRequestStore from '../stores/request/requestStore';
13
15
  function Home() {
14
16
  const settings = window.settings;
15
17
  const { experienceVisualSearch, experienceVisualSearchImages, geoLocation } = settings;
@@ -18,6 +20,7 @@ function Home() {
18
20
  const [experienceVisualSearchBlobs, setExperienceVisualSearchBlobs] =
19
21
  useState<Blob[]>([]);
20
22
  const [isOpenModalCamera, setOpenModalCamera] = useState<boolean>(false);
23
+ const showLoading = useRequestStore(store => store.showLoading);
21
24
 
22
25
  const fetchImage = async (url: string) => {
23
26
  const response = await fetch(url, { cache: 'force-cache' });
@@ -66,6 +69,11 @@ function Home() {
66
69
 
67
70
  return (
68
71
  <>
72
+ {showLoading && (
73
+ <div className="box-wrap-loading" style={{ zIndex: 99999999 }}>
74
+ <Loading />
75
+ </div>
76
+ )}
69
77
  <div
70
78
  className={twMerge([
71
79
  'relative',
@@ -97,7 +105,7 @@ function Home() {
97
105
  <TextSearch />
98
106
  </div>
99
107
  </div>
100
- <div className="max-w-[512px] relative w-full">
108
+ <div className="max-w-[532px] relative w-full">
101
109
  <DragDropFile />
102
110
  {settings.experienceVisualSearch && (
103
111
  <ExperienceVisualSearchTrigger
@@ -117,6 +125,16 @@ function Home() {
117
125
  }}
118
126
  />
119
127
  </div>
128
+ <div
129
+ style={{
130
+ fontWeight: 700,
131
+ fontSize: 24,
132
+ margin: 16,
133
+ }}
134
+ >
135
+ Snap & Search
136
+ </div>
137
+ <Hint />
120
138
  {settings.experienceVisualSearch && (
121
139
  <ExperienceVisualSearchTrigger
122
140
  experienceVisualSearchBlobs={experienceVisualSearchBlobs}
@@ -56,6 +56,7 @@ function Results() {
56
56
  state => state.specificationFilter,
57
57
  );
58
58
  const requestImages = useRequestStore(state => state.requestImages);
59
+ const specifications = useRequestStore(state => state.specifications);
59
60
  const query = useRequestStore(state => state.query);
60
61
  const regions = useRequestStore(state => state.regions);
61
62
 
@@ -195,7 +196,7 @@ function Results() {
195
196
 
196
197
  <div className="block desktop:hidden mb-4 desktop:mb-0">
197
198
  {requestImages[0] && <ImagePreview />}
198
- {(imageAnalysis?.imageDescription ||
199
+ {window.settings.showImageDetails && (imageAnalysis?.imageDescription ||
199
200
  Object.keys(imageAnalysis?.specification || {}).length > 0) && (
200
201
  <div className="p-2">
201
202
  <div className="self-stretch p-4 bg-[#f3f3f5] rounded flex justify-start flex-col items-start gap-2 flex-wrap content-start w-full">
@@ -215,74 +216,76 @@ function Results() {
215
216
  Identified Attributes
216
217
  </div>
217
218
  <div className="flex justify-start items-start gap-4 flex-wrap content-start">
218
- {Object.keys(imageAnalysis?.specification || {}).map(
219
- key => {
220
- const value = imageAnalysis?.specification[key];
221
- if (!value) {
222
- return null;
223
- }
224
- return (
225
- <>
226
- <div
227
- className="inline-flex flex-col justify-center items-start "
228
- key={key}
229
- >
230
- <div className="pl-1 inline-flex justify-center items-center gap-2.5">
231
- <div className="justify-start text-[#2b2c46] text-sm font-semibold">
232
- {key}
233
- </div>
234
- </div>
219
+ {Object.keys(imageAnalysis?.specification || {})
220
+ .filter((key) => (key !== 'is_nameplate' && key !== 'prefilter_value'))
221
+ .map(
222
+ key => {
223
+ const value = imageAnalysis?.specification[key];
224
+ if (!value) {
225
+ return null;
226
+ }
227
+ return (
228
+ <>
235
229
  <div
236
- className={twMerge(
237
- `p-3 bg-[#e4e3ff] rounded-lg inline-flex justify-center items-center gap-1.5`,
238
- 'text-[#3e36dc]',
239
- specificationFilter[key]
240
- ? 'border-[#3E36DC] bg-[#3E36DC] text-white'
241
- : '',
242
- )}
243
- onClick={() => {
244
- if (!value) {
245
- return;
246
- }
247
- const setSpecificationFilter =
248
- useRequestStore.getState()
249
- .setSpecificationFilter;
250
-
251
- const setSpecificationFilteredProducts =
252
- useResultStore.getState()
253
- .setSpecificationFilteredProducts;
254
-
255
- if (specificationFilter[key]) {
256
- setSpecificationFilter({});
257
- setSpecificationFilteredProducts([]);
258
- // setProducts(results);
259
- } else {
260
- setSpecificationFilter({
261
- [key]: value,
262
- });
263
- }
264
- }}
230
+ className="inline-flex flex-col justify-center items-start "
231
+ key={key}
265
232
  >
266
- <div className="justify-start text-sm font-medium leading-none flex gap-2">
267
- {imageAnalysis?.specification[key] || 'N/A'}
268
- <div>
269
- <Icon
270
- name="close"
271
- className={twMerge(
272
- 'w-3 h-3 text-white',
273
- specificationFilter[key]
274
- ? 'block'
275
- : 'hidden',
276
- )}
277
- />
233
+ <div className="pl-1 inline-flex justify-center items-center gap-2.5">
234
+ <div className="justify-start text-[#2b2c46] text-sm font-semibold">
235
+ {key}
236
+ </div>
237
+ </div>
238
+ <div
239
+ className={twMerge(
240
+ `p-3 bg-[#e4e3ff] rounded-lg inline-flex justify-center items-center gap-1.5`,
241
+ 'text-[#3e36dc]',
242
+ specificationFilter[key]
243
+ ? 'border-[#3E36DC] bg-[#3E36DC] text-white'
244
+ : '',
245
+ )}
246
+ onClick={() => {
247
+ if (!value) {
248
+ return;
249
+ }
250
+ const setSpecificationFilter =
251
+ useRequestStore.getState()
252
+ .setSpecificationFilter;
253
+
254
+ const setSpecificationFilteredProducts =
255
+ useResultStore.getState()
256
+ .setSpecificationFilteredProducts;
257
+
258
+ if (specificationFilter[key]) {
259
+ setSpecificationFilter({});
260
+ setSpecificationFilteredProducts([]);
261
+ // setProducts(results);
262
+ } else {
263
+ setSpecificationFilter({
264
+ [key]: value,
265
+ });
266
+ }
267
+ }}
268
+ >
269
+ <div className="justify-start text-sm font-medium leading-none flex gap-2">
270
+ {imageAnalysis?.specification[key] || 'N/A'}
271
+ <div>
272
+ <Icon
273
+ name="close"
274
+ className={twMerge(
275
+ 'w-3 h-3 text-white',
276
+ specificationFilter[key]
277
+ ? 'block'
278
+ : 'hidden',
279
+ )}
280
+ />
281
+ </div>
278
282
  </div>
279
283
  </div>
280
284
  </div>
281
- </div>
282
- </>
283
- );
284
- },
285
- )}
285
+ </>
286
+ );
287
+ },
288
+ )}
286
289
  </div>
287
290
  </div>
288
291
  </div>
@@ -311,6 +314,22 @@ function Results() {
311
314
  'desktop:mt-0',
312
315
  ])}
313
316
  >
317
+ <div
318
+ style={{
319
+ fontWeight: 700,
320
+ fontSize: 16,
321
+ marginLeft: 16,
322
+ marginBottom: 16,
323
+ }}
324
+ >
325
+ {!specifications?.specificationPrefilter
326
+ && specifications?.prefilter_value
327
+ && t('Showing results for machine', { prefilter_title: window.settings.preFilterTitle?.toLocaleLowerCase(), prefilter_value: specifications.prefilter_value })
328
+ }
329
+ {specifications?.is_nameplate && specifications?.specificationPrefilter
330
+ && t('No matches found for', { prefilter_title: window.settings.preFilterTitle?.toLocaleLowerCase(), prefilter_value: specifications.specificationPrefilter })
331
+ }
332
+ </div>
314
333
  <div
315
334
  className={twMerge([
316
335
  'h-full',
@@ -390,7 +409,7 @@ function Results() {
390
409
  {!isFindApiLoading &&
391
410
  window.settings.support &&
392
411
  window.settings.support.enabled &&
393
- (query || requestImages[0]) && (
412
+ (query || requestImages[0] || specifications) && (
394
413
  <InquiryBanner
395
414
  requestImage={requestImages[0]}
396
415
  selectedRegion={regions[0]}
@@ -3,22 +3,26 @@ import requestImageSlice from './requestImage/requestImage.slice';
3
3
  import querySlice from './query/query.slice';
4
4
  import filterSlice from './filter/filter.slice';
5
5
  import miscSlice from './Misc/misc.slice';
6
+ import specificationsSlice from './specifications/specifications.slice';
6
7
 
7
8
  type RequestStore = ReturnType<typeof requestImageSlice> &
8
9
  ReturnType<typeof querySlice> &
9
10
  ReturnType<typeof filterSlice> &
10
- ReturnType<typeof miscSlice> & { reset: () => void };
11
+ ReturnType<typeof miscSlice> & { reset: () => void } &
12
+ ReturnType<typeof specificationsSlice>
11
13
 
12
14
  const useRequestStore = create<RequestStore>()((set, ...rest) => ({
13
15
  ...requestImageSlice(set, ...rest),
14
16
  ...querySlice(set, ...rest),
15
17
  ...filterSlice(set, ...rest),
16
18
  ...miscSlice(set, ...rest),
19
+ ...specificationsSlice(set, ...rest),
17
20
 
18
21
  reset: () => {
19
22
  set(requestImageSlice(set, ...rest));
20
23
  set(querySlice(set, ...rest));
21
24
  set(filterSlice(set, ...rest));
25
+ set(specificationsSlice(set, ...rest));
22
26
  },
23
27
  }));
24
28
 
@@ -0,0 +1,9 @@
1
+ import { SpecificationState } from 'stores/types';
2
+
3
+ export const initialState: SpecificationState = {
4
+ specifications: null,
5
+ nameplateNotificationText: '',
6
+ showLoading: false,
7
+ nameplateImage: null,
8
+ showNotMatchedError: false,
9
+ };
@@ -0,0 +1,15 @@
1
+ import { SpecificationAction, SpecificationState } from 'stores/types';
2
+ import { StateCreator } from 'zustand';
3
+ import { initialState } from './specifications.initialState';
4
+
5
+ const filterSlice: StateCreator<SpecificationState & SpecificationAction> = set => ({
6
+ ...initialState,
7
+ setSpecifications: specifications => set(state => ({ specifications })),
8
+ setNameplateNotificationText: nameplateNotificationText => set(state => ({ nameplateNotificationText })),
9
+ setShowLoading: showLoading => set(state => ({ showLoading })),
10
+ setNameplateImage: nameplateImage => set(state => ({ nameplateImage })),
11
+ setShowNotMatchedError: showNotMatchedError => set(state => ({ showNotMatchedError })),
12
+
13
+ });
14
+
15
+ export default filterSlice;
@@ -116,3 +116,19 @@ export interface SessionAction {
116
116
  setSessionId: (sessionId: string) => void;
117
117
  setRequestId: (requestId: string) => void;
118
118
  }
119
+
120
+ export interface SpecificationState {
121
+ specifications: any;
122
+ nameplateNotificationText: string;
123
+ showLoading: boolean;
124
+ nameplateImage: any;
125
+ showNotMatchedError: boolean;
126
+ }
127
+
128
+ export interface SpecificationAction {
129
+ setSpecifications: (specifications: any) => void;
130
+ setNameplateNotificationText: (nameplateNotificationText: string) => void;
131
+ setShowLoading: (show: boolean) => void;
132
+ setNameplateImage: (nameplateImage: any) => void;
133
+ setShowNotMatchedError: (showNotMatchedError: boolean) => void;
134
+ }
@@ -104,6 +104,21 @@
104
104
  display: none !important;
105
105
  }
106
106
 
107
+ .drag-n-drop-label {
108
+ background-color: transparent;
109
+ padding: 24px;
110
+ &:hover {
111
+ background-color: #fff;
112
+ box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
113
+ border-radius: 24px;
114
+ .drag-n-drop-inner {
115
+ background-color: #F0EFFF;
116
+ border-color: #e0e0e0;
117
+ color: #2B2C46;
118
+ }
119
+ }
120
+ }
121
+
107
122
  .custom-modal {
108
123
  position: absolute;
109
124
  z-index: 99999;
@@ -1,7 +1,7 @@
1
1
  .wrap-main-item-result {
2
2
  display: flex;
3
3
  flex-direction: column;
4
- border-radius: 2px;
4
+ border-radius: 12px;
5
5
  overflow: hidden;
6
6
  box-shadow: 0px 0px 16px rgba(224, 224, 224, 0.8);
7
7
 
@@ -142,4 +142,16 @@
142
142
  line-clamp: 2;
143
143
  -webkit-box-orient: vertical;
144
144
  }
145
+ }
146
+
147
+ .box-carosel {
148
+ .splide.splide--slide {
149
+ height: calc(100% - 48px);
150
+ display: flex;
151
+ align-items: center;
152
+ justify-content: center;
153
+ .splide__track {
154
+
155
+ }
156
+ }
145
157
  }
@@ -65,6 +65,15 @@ export const translations = {
65
65
  'Please enable location services when prompted.':
66
66
  'Please enable location services when prompted.',
67
67
  'I understand': 'I understand',
68
+ 'We have successfully defined the search criteria': 'Nameplate detected and matched to {{prefilter_value}}. Items are shown for this {{preFilterTitle}}. You can now upload an image or enter a keyword to search.',
69
+ 'Type plates': 'Type plates',
70
+ 'Parts': 'Parts',
71
+ 'Labels': 'Labels',
72
+ 'Barcodes': 'Barcodes',
73
+ 'Nameplate not matching': 'Nameplate detected, but {{prefilter_value}} was not found in the list. You can select the correct {{preFilterTitle}} to continue.',
74
+ 'Extracted details from the nameplate could not be matched': 'Extracted details from the nameplate could not be matched to a known {{preFilterTitle}}. Select a different machine, send details to support via the Inquiry button, or continue searching.',
75
+ 'Showing results for machine': `Showing results for {{prefilter_title}} '{{prefilter_value}}'`,
76
+ 'No matches found for': `No matches found for {{prefilter_title}} '{{prefilter_value}}'. Showing all items instead.`,
68
77
  },
69
78
  },
70
79
  de: {
@@ -135,6 +144,15 @@ export const translations = {
135
144
  'Please enable location services when prompted.':
136
145
  'Bitte erlauben Sie den Zugriff auf Ihren Standort.',
137
146
  'I understand': 'Weiter',
147
+ 'We have successfully defined the search criteria': 'Typenschild erkannt und mit {{prefilter_value}} abgeglichen. Es werden Artikel für dieses {{preFilterTitle}}. Sie können nun ein Bild hochladen oder ein Stichwort zur Suche eingeben.',
148
+ 'Type plates': 'Typenschilder',
149
+ 'Parts': 'Teile',
150
+ 'Labels': 'Etiketten',
151
+ 'Barcodes': 'Barcodes',
152
+ 'Nameplate not matching': 'Typenschild erkannt, aber {{prefilter_value}} wurde nicht in der Liste gefunden. Sie können die richtigen {{preFilterTitle}}, um fortzufahren.',
153
+ 'Extracted details from the nameplate could not be matched': 'Die vom Typenschild extrahierten Angaben konnten keiner bekannten {{preFilterTitle}} zugeordnet werden. Wählen Sie einen anderen Maschine aus, senden Sie die Angaben über die Schaltfläche „Anfrage” an den Support oder setzen Sie die Suche fort.',
154
+ 'Showing results for machine': `Ergebnisse für {{prefilter_title}} '{{prefilter_value}}' anzeigen`,
155
+ 'No matches found for': `Keine Übereinstimmungen gefunden für {{prefilter_title}} '{{prefilter_value}}'. Alle Artikel anzeigen stattdessen.`,
138
156
  },
139
157
  },
140
158
  pt: {
@@ -206,6 +224,15 @@ export const translations = {
206
224
  'Please enable location services when prompted.':
207
225
  'Por favor, ative os serviços de localização quando solicitado',
208
226
  'I understand': 'Compreendo',
227
+ 'We have successfully defined the search criteria': 'Placa de identificação detetada e correspondente a {{prefilter_value}}. São apresentados os itens para esta {{preFilterTitle}}. Agora pode carregar uma imagem ou introduzir uma palavra-chave para pesquisar.',
228
+ 'Type plates': 'Placa de identificação',
229
+ 'Parts': 'Peças',
230
+ 'Labels': 'Etiquetas',
231
+ 'Barcodes': 'Códigos de barras',
232
+ 'Nameplate not matching': 'Placa de identificação detetada, mas {{prefilter_value}} não foi encontrado na lista. Pode selecionar os {{preFilterTitle}} corretos para continuar.',
233
+ 'Extracted details from the nameplate could not be matched': 'Os detalhes extraídos da placa de identificação não puderam ser correspondidos a uma {{preFilterTitle}} conhecida. Selecione um máquina diferente, envie os detalhes para o suporte através do botão Consulta ou continue a pesquisa.',
234
+ 'Showing results for machine': `Mostrando resultados para {{prefilter_title}} '{{prefilter_value}}'`,
235
+ 'No matches found for': `Não foram encontrados resultados para {{prefilter_title}} '{{prefilter_value}}'. Mostrando todos os itens em vez disso.`,
209
236
  },
210
237
  },
211
238
  };
package/src/types.ts CHANGED
@@ -114,6 +114,7 @@ export interface AppSettings extends NyrisAPISettings {
114
114
  geoLocation?: boolean;
115
115
  geoLocationMessage?: string;
116
116
  visualSearchFilterKey?: string;
117
+ showImageDetails?: boolean;
117
118
  }
118
119
 
119
120
  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%}@media (min-width:400px){.container{max-width:400px}}@media (min-width:777px){.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}.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}.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-8{bottom:2rem}.bottom-\[49px\]{bottom:49px}.bottom-\[80px\]{bottom:80px}.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-4{top:1rem}.top-7{top:1.75rem}.top-8{top:2rem}.top-\[50\%\]{top:50%}.z-10{z-index:10}.z-50{z-index:50}.z-\[-1\]{z-index:-1}.z-\[9999\]{z-index:9999}.col-span-full{grid-column:1/-1}.m-0{margin:0}.m-auto{margin:auto}.mx-0\.5{margin-left:.125rem;margin-right:.125rem}.mx-1{margin-left:.25rem;margin-right:.25rem}.mx-4{margin-left:1rem;margin-right:1rem}.mx-auto{margin-left:auto;margin-right:auto}.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-2{margin-bottom:.5rem}.mb-20{margin-bottom:5rem}.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-auto{margin-left:auto}.mr-16{margin-right:4rem}.mr-2{margin-right:.5rem}.mr-3{margin-right:.75rem}.mr-4{margin-right:1rem}.mr-auto{margin-right:auto}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-24{margin-top:6rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-5{margin-top:1.25rem}.mt-8{margin-top:2rem}.mt-9{margin-top:2.25rem}.mt-\[calc\(50vh-75px\)\]{margin-top:calc(50vh - 75px)}.mt-auto{margin-top:auto}.box-content{box-sizing:content-box}.block{display:block}.flex{display:flex}.inline-flex{display:inline-flex}.grid{display:grid}.contents{display:contents}.hidden{display:none}.aspect-square{aspect-ratio:1/1}.h-0{height:0}.h-1{height:.25rem}.h-10{height:2.5rem}.h-12{height:3rem}.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-8{height:2rem}.h-\[12px\]{height:12px}.h-\[168px\]{height:168px}.h-\[20px\]{height:20px}.h-\[24px\]{height:24px}.h-\[368px\]{height:368px}.h-\[60px\]{height:60px}.h-\[70px\]{height:70px}.h-\[80\%\]{height:80%}.h-auto{height:auto}.h-fit{height:-webkit-fit-content;height:fit-content}.h-full{height:100%}.h-screen{height:100vh}.max-h-\[368px\]{max-height:368px}.max-h-\[38px\]{max-height:38px}.max-h-\[90svh\]{max-height:90svh}.max-h-\[95vh\]{max-height:95vh}.min-h-10{min-height:2.5rem}.min-h-12{min-height:3rem}.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-\[60px\]{min-height:60px}.w-0{width:0}.w-1\/2{width:50%}.w-10{width:2.5rem}.w-12{width:3rem}.w-2\.5{width:.625rem}.w-24{width:6rem}.w-3{width:.75rem}.w-36{width:9rem}.w-4{width:1rem}.w-5{width:1.25rem}.w-6{width:1.5rem}.w-72{width:18rem}.w-8{width:2rem}.w-80{width:20rem}.w-\[12px\]{width:12px}.w-\[152px\]{width:152px}.w-\[180px\]{width:180px}.w-\[215px\]{width:215px}.w-\[243px\]{width:243px}.w-\[360px\]{width:360px}.w-\[426px\]{width:426px}.w-\[427px\]{width:427px}.w-\[60px\]{width:60px}.w-\[70px\]{width:70px}.w-\[75px\]{width:75px}.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-10{min-width:2.5rem}.min-w-4{min-width:1rem}.min-w-\[283px\]{min-width:283px}.min-w-\[90px\]{min-width:90px}.max-w-\[100\%\]{max-width:100%}.max-w-\[1500px\]{max-width:1500px}.max-w-\[190px\]{max-width:190px}.max-w-\[325px\]{max-width:325px}.max-w-\[350px\]{max-width:350px}.max-w-\[360px\]{max-width:360px}.max-w-\[512px\]{max-width:512px}.max-w-\[840px\]{max-width:840px}.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}.cursor-pointer{cursor:pointer}.resize{resize:both}.scroll-pt-5{scroll-padding-top:1.25rem}.columns-1{column-count:1}.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}.content-start{align-content:flex-start}.items-start{align-items:flex-start}.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-\[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)))}.self-stretch{align-self:stretch}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.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}.break-all{word-break:break-all}.break-keep{word-break:keep-all}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:1rem}.rounded-3xl{border-radius:1.5rem}.rounded-\[1px\]{border-radius:1px}.rounded-\[21px\]{border-radius:21px}.rounded-\[4px\]{border-radius:4px}.rounded-\[50\%\]{border-radius:50%}.rounded-\[60px\]{border-radius:60px}.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}.border{border-width:1px}.border-2{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-\[\#AAABB5\]{--tw-border-opacity:1;border-color:#aaabb5;border-color:rgb(170 171 181/var(--tw-border-opacity,1))}.border-\[\#CACAD1\]{--tw-border-opacity:1;border-color:#cacad1;border-color:rgb(202 202 209/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-\[\#afafaf52\]{border-color:#afafaf52}.border-\[\#e0e0e0\]{--tw-border-opacity:1;border-color:#e0e0e0;border-color:rgb(224 224 224/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-\[\#2B2C46\]{--tw-bg-opacity:1;background-color:#2b2c46;background-color:rgb(43 44 70/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-\[\#55566B\],.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-\[\#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\],.bg-\[\#FaFafa\]{--tw-bg-opacity:1;background-color:#fafafa;background-color:rgb(250 250 250/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-\[rgba\(243\2c 243\2c 245\2c 0\.4\)\]{background-color:hsla(240,9%,96%,.4)}.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-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:#2b2c46;background-color:rgb(43 44 70/var(--tw-bg-opacity,1))}.bg-primary\/10{background-color:rgba(43,44,70,.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\/50{background-color:hsla(0,0%,100%,.5)}.fill-\[\#2B2C46\]{fill:#2b2c46}.fill-\[\#55566B\]{fill:#55566b}.fill-\[\#aaabb5\]{fill:#aaabb5}.fill-theme-primary{fill:var(--primary-color)}.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-3{padding:.75rem}.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-4{padding-left:1rem;padding-right:1rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.px-7{padding-left:1.75rem;padding-right:1.75rem}.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-2{padding-bottom:.5rem;padding-top:.5rem}.py-2\.5{padding-bottom:.625rem;padding-top:.625rem}.py-4{padding-bottom:1rem;padding-top:1rem}.py-5{padding-bottom:1.25rem;padding-top:1.25rem}.pb-0{padding-bottom:0}.pb-3{padding-bottom:.75rem}.pb-4{padding-bottom:1rem}.pb-6{padding-bottom:1.5rem}.pb-8{padding-bottom:2rem}.pl-1{padding-left:.25rem}.pl-1\.5{padding-left:.375rem}.pl-2{padding-left:.5rem}.pl-4{padding-left:1rem}.pl-8{padding-left:2rem}.pr-0\.5{padding-right:.125rem}.pr-1{padding-right:.25rem}.pr-1\.5{padding-right:.375rem}.pr-2{padding-right:.5rem}.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}.text-2xl{font-size:1.5rem;line-height:2rem}.text-\[10px\]{font-size:10px}.text-\[13px\]{font-size:13px}.text-\[25px\]{font-size:25px}.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-\[18px\]{line-height:18px}.leading-\[22\.78px\]{line-height:22.78px}.leading-none{line-height:1}.tracking-tight{letter-spacing:-.025em}.text-\[\#2B2C46\],.text-\[\#2b2c46\]{--tw-text-opacity:1;color:#2b2c46;color:rgb(43 44 70/var(--tw-text-opacity,1))}.text-\[\#3E36DC\],.text-\[\#3e36dc\]{--tw-text-opacity:1;color:#3e36dc;color:rgb(62 54 220/var(--tw-text-opacity,1))}.text-\[\#AAABB5\]{--tw-text-opacity:1;color:#aaabb5;color:rgb(170 171 181/var(--tw-text-opacity,1))}.text-\[\#E0E0E0\]{--tw-text-opacity:1;color:#e0e0e0;color:rgb(224 224 224/var(--tw-text-opacity,1))}.text-\[\#cacad1\]{--tw-text-opacity:1;color:#cacad1;color:rgb(202 202 209/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-gray-800{--tw-text-opacity:1;color:#1f2937;color:rgb(31 41 55/var(--tw-text-opacity,1))}.text-primary{--tw-text-opacity:1;color:#2b2c46;color:rgb(43 44 70/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-white{--tw-text-opacity:1;color:#fff;color:rgb(255 255 255/var(--tw-text-opacity,1))}.opacity-0{opacity:0}.opacity-70{opacity:.7}.shadow-\[0px_0px_16px_0px_rgba\(170\2c 171\2c 181\2c 0\.50\)\]{--tw-shadow:0px 0px 16px 0px hsla(235,7%,69%,.5);--tw-shadow-colored:0px 0px 16px 0px var(--tw-shadow-color)}.shadow-\[0px_0px_16px_0px_rgba\(170\2c 171\2c 181\2c 0\.50\)\],.shadow-\[3px_-2px_3px_-3px_\#d3d4d8\]{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-\[3px_-2px_3px_-3px_\#d3d4d8\]{--tw-shadow:3px -2px 3px -3px #d3d4d8;--tw-shadow-colored:3px -2px 3px -3px 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);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)}.outline-none{outline:2px solid transparent;outline-offset:2px}.outline{outline-style:solid}.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)}.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-opacity{transition-duration:.15s;transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1)}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:#2b2c46;font-family:-apple-system,BlinkMacSystemFont,Source Sans\ 3,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}@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)}*{font-family:Source Sans\ 3,sans-serif!important;margin:0;padding: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-\[\#3E36DC\]:hover{--tw-border-opacity:1;border-color:#3e36dc;border-color:rgb(62 54 220/var(--tw-border-opacity,1))}.hover\:border-\[\#e0e0e0\]:hover{--tw-border-opacity:1;border-color:#e0e0e0;border-color:rgb(224 224 224/var(--tw-border-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-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\:px-0:hover{padding-left:0;padding-right:0}.hover\:px-0\.5:hover{padding-left:.125rem;padding-right:.125rem}.hover\:font-bold:hover{font-weight:700}.hover\:text-\[\#3E36DC\]:hover{--tw-text-opacity:1;color:#3e36dc;color:rgb(62 54 220/var(--tw-text-opacity,1))}.hover\:text-primary:hover{--tw-text-opacity:1;color:#2b2c46;color:rgb(43 44 70/var(--tw-text-opacity,1))}.hover\:opacity-100:hover{opacity:1}.focus\:bg-white: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}.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)}@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\:bottom-auto{bottom:auto}.desktop\:left-8{left:2rem}.desktop\:left-\[26px\]{left:26px}.desktop\:top-\[1px\]{top:1px}.desktop\:top-\[60px\]{top:60px}.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-8{margin-bottom:2rem}.desktop\:mr-1{margin-right:.25rem}.desktop\:mt-0{margin-top:0}.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-10{height:2.5rem}.desktop\:h-12{height:3rem}.desktop\:h-8{height:2rem}.desktop\:h-\[100\%\]{height:100%}.desktop\:h-\[456px\]{height:456px}.desktop\:h-\[58px\]{height:58px}.desktop\:h-full{height:100%}.desktop\:max-h-\[100\%\]{max-height:100%}.desktop\:max-h-\[456px\]{max-height:456px}.desktop\:min-h-8{min-height:2rem}.desktop\:min-h-\[468px\]{min-height:468px}.desktop\:min-h-\[58px\]{min-height:58px}.desktop\:w-10{width:2.5rem}.desktop\:w-8{width:2rem}.desktop\:w-\[190px\]{width:190px}.desktop\:w-\[215px\]{width:215px}.desktop\:w-\[378px\]{width:378px}.desktop\:w-\[500px\]{width:500px}.desktop\:w-\[600px\]{width:600px}.desktop\:w-fit{width:-webkit-fit-content;width:fit-content}.desktop\:min-w-8{min-width:2rem}.desktop\:max-w-\[600px\]{max-width:600px}.desktop\:columns-4{column-count:4}.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\:gap-1\.5{gap:.375rem}.desktop\:gap-6{gap:1.5rem}.desktop\:overflow-hidden{overflow:hidden}.desktop\:overflow-y-auto{overflow-y:auto}.desktop\:border{border-width:1px}.desktop\:border-b{border-bottom-width:1px}.desktop\:border-r{border-right-width:1px}.desktop\:border-t{border-top-width:1px}.desktop\:border-solid{border-style:solid}.desktop\:border-\[\#E0E0E0\]{--tw-border-opacity:1;border-color:#e0e0e0;border-color:rgb(224 224 224/var(--tw-border-opacity,1))}.desktop\:border-gray-300{--tw-border-opacity:1;border-color:#d1d5db;border-color:rgb(209 213 219/var(--tw-border-opacity,1))}.desktop\:bg-\[\#2B2C46\]{--tw-bg-opacity:1;background-color:#2b2c46;background-color:rgb(43 44 70/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-gray-200{--tw-bg-opacity:1;background-color:#e5e7eb;background-color:rgb(229 231 235/var(--tw-bg-opacity,1))}.desktop\:bg-theme-primary{background-color:var(--primary-color)}.desktop\:bg-transparent{background-color:transparent}.desktop\:fill-primary{fill:#2b2c46}.desktop\:fill-white{fill:#fff}.desktop\:p-2{padding:.5rem}.desktop\:p-3{padding:.75rem}.desktop\:p-6{padding:1.5rem}.desktop\:px-5{padding-left:1.25rem;padding-right:1.25rem}.desktop\:py-1{padding-bottom:.25rem;padding-top:.25rem}.desktop\:pb-0{padding-bottom:0}.desktop\:pl-1{padding-left:.25rem}.desktop\:pl-16{padding-left:4rem}.desktop\:pt-10{padding-top:2.5rem}.desktop\:pt-8{padding-top:2rem}.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\:focus-within\:bg-white:focus-within{--tw-bg-opacity:1;background-color:#fff;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.desktop\:focus-within\:shadow-\[0px_0px_6px_rgba\(202\2c 202\2c 209\2c 1\)\]:focus-within{--tw-shadow:0px 0px 6px #cacad1;--tw-shadow-colored:0px 0px 6px 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)}.desktop\:hover\:bg-\[\#F0EFFF\]:hover{--tw-bg-opacity:1;background-color:#f0efff;background-color:rgb(240 239 255/var(--tw-bg-opacity,1))}}.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{border-radius:2px;box-shadow:0 0 16px hsla(0,0%,88%,.8);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;-webkit-box-orient:vertical;display:-webkit-box;max-height:33px;overflow:hidden;text-overflow:ellipsis;word-break:break-word}.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}.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.a0a44a64.css.map*/