/
home
/
simp499cl
/
public_html
/
apex_v1
/
/home/simp499cl/public_html/apex_v1
mkdir
upload
Name
Size
Mode
Actions
1201222.png
10554
0644
edit
dl
rm
Brockmann-Bold-Bqm_WZiN.otf
42308
0644
edit
dl
rm
Brockmann-BoldItalic-uHRyPLGQ.otf
37632
0644
edit
dl
rm
Brockmann-Medium-DWnaEPVI.otf
41108
0644
edit
dl
rm
Brockmann-MediumItalic-DSDwWLpS.otf
37368
0644
edit
dl
rm
Brockmann-Regular-CFBdZhjj.otf
40164
0644
edit
dl
rm
Brockmann-RegularItalic-BjX_eTP2.otf
36656
0644
edit
dl
rm
Brockmann-SemiBold-DN9dX72F.otf
42172
0644
edit
dl
rm
Brockmann-SemiBoldItalic-Cucq5YBT.otf
38012
0644
edit
dl
rm
css2-1.css
5721
0644
edit
dl
rm
css2-2.css
3608
0644
edit
dl
rm
css2.css
3870
0644
edit
dl
rm
favicon.ico.html
9180
0644
edit
dl
rm
index.html
254174
0644
edit
dl
rm
index_5.html
80165
0644
edit
dl
rm
index_6.html
80215
0644
edit
dl
rm
index_7.html
80167
0644
edit
dl
rm
index_8.html
80197
0644
edit
dl
rm
index_9.html
80191
0644
edit
dl
rm
index_10.html
80120
0644
edit
dl
rm
index_11.html
80158
0644
edit
dl
rm
index_12.html
80138
0644
edit
dl
rm
index_13.html
80168
0644
edit
dl
rm
logo.png
38014
0644
edit
dl
rm
logo_old.jpeg
26288
0644
edit
dl
rm
main-DQgD3qgB.css
304130
0644
edit
dl
rm
main.e1d790af.css
55794
0644
edit
dl
rm
monaco-editor-CpN8rtOO.css
129655
0644
edit
dl
rm
pexels-photo-18818786.jpeg
729447
0644
edit
dl
rm
pexels-photo-25286626.jpeg
1229378
0644
edit
dl
rm
pexels-photo-34690218.jpeg
2435682
0644
edit
dl
rm
photo-1634218094381-d892fbe9baa1.jpg
3480268
0644
edit
dl
rm
photo-1647340764627-11713b9d0f65.jpg
934781
0644
edit
dl
rm
photo-1697196179507-87cd68ba7bcd.jpg
3068425
0644
edit
dl
rm
photo-1698543252450-463b8b16e567.jpg
2076476
0644
edit
dl
rm
photo-1698543252507-cd8c187212e2.jpg
3067536
0644
edit
dl
rm
photo-1742056024244-02a093dae0b5.jpg
837629
0644
edit
dl
rm
README.md
61
0644
edit
dl
rm
Edit:
/home/simp499cl/public_html/apex_v1/index.html
(254174B)
<!DOCTYPE html> <html lang="en" data-scrapbook-source="https://elite-vehicles-2.preview.emergentagent.com/" data-scrapbook-create="20251112135104975" > <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1" /> <meta name="theme-color" content="#000000" /> <meta name="description" content="A product of simpleSystems.cl" /> <!-- manifest.json provides metadata used when your web app is installed on a user's mobile device or desktop. See https://developers.google.com/web/fundamentals/web-app-manifest/ --> <!-- Notice the use of in the tags above. It will be replaced with the URL of the `public` folder during the build. Only files inside the `public` folder can be referenced from the HTML. Unlike "/favicon.ico" or "favicon.ico", "/favicon.ico" will work correctly both with client-side routing and a non-root public URL. Learn how to configure a non-root public URL by running `npm run build`. --> <title>Apex Import Motors</title> <!-- These two scripts have been added for the testing, please do not edit or remove them --> <!-- These two scripts have been added for the Visual Edits, please do not edit or remove them --> <style> *, ::before, ::after { --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: rgb(59 130 246 / 0.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: rgb(59 130 246 / 0.5); --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-shadow-colored: 0 0 #0000; --tw-blur: ; --tw-brightness: ; --tw-contrast: ; --tw-grayscale: ; --tw-hue-rotate: ; --tw-invert: ; --tw-saturate: ; --tw-sepia: ; --tw-drop-shadow: ; --tw-backdrop-blur: ; --tw-backdrop-brightness: ; --tw-backdrop-contrast: ; --tw-backdrop-grayscale: ; --tw-backdrop-hue-rotate: ; --tw-backdrop-invert: ; --tw-backdrop-opacity: ; --tw-backdrop-saturate: ; --tw-backdrop-sepia: ; --tw-contain-size: ; --tw-contain-layout: ; --tw-contain-paint: ; --tw-contain-style: ; } /* ! tailwindcss v3.4.18 | MIT License | https://tailwindcss.com */ /* 1. Prevent padding and border from affecting element width. (https://github.com/mozdevs/cssremedy/issues/4) 2. Allow adding a border to an element by just adding a border-width. (https://github.com/tailwindcss/tailwindcss/pull/116) */ *, ::before, ::after { box-sizing: border-box; /* 1 */ border-width: 0; /* 2 */ border-style: solid; /* 2 */ border-color: #e5e7eb; /* 2 */ } ::before, ::after { --tw-content: ""; } /* 1. Use a consistent sensible line-height in all browsers. 2. Prevent adjustments of font size after orientation changes in iOS. 3. Use a more readable tab size. 4. Use the user's configured `sans` font-family by default. 5. Use the user's configured `sans` font-feature-settings by default. 6. Use the user's configured `sans` font-variation-settings by default. 7. Disable tap highlights on iOS */ html, :host { line-height: 1.5; /* 1 */ -webkit-text-size-adjust: 100%; /* 2 */ /* 3 */ tab-size: 4; /* 3 */ font-family: ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; /* 4 */ font-feature-settings: normal; /* 5 */ font-variation-settings: normal; /* 6 */ -webkit-tap-highlight-color: transparent; /* 7 */ } /* 1. Remove the margin in all browsers. 2. Inherit line-height from `html` so users can set them as a class directly on the `html` element. */ body { margin: 0; /* 1 */ line-height: inherit; /* 2 */ } /* 1. Add the correct height in Firefox. 2. Correct the inheritance of border color in Firefox. (https://bugzilla.mozilla.org/show_bug.cgi?id=190655) 3. Ensure horizontal rules are visible by default. */ hr { height: 0; /* 1 */ color: inherit; /* 2 */ border-top-width: 1px; /* 3 */ } /* Add the correct text decoration in Chrome, Edge, and Safari. */ abbr:where([title]) { -webkit-text-decoration: underline dotted; text-decoration: underline dotted; } /* Remove the default font size and weight for headings. */ h1, h2, h3, h4, h5, h6 { font-size: inherit; font-weight: inherit; } /* Reset links to optimize for opt-in styling instead of opt-out. */ a { color: inherit; text-decoration: inherit; } /* Add the correct font weight in Edge and Safari. */ b, strong { font-weight: bolder; } /* 1. Use the user's configured `mono` font-family by default. 2. Use the user's configured `mono` font-feature-settings by default. 3. Use the user's configured `mono` font-variation-settings by default. 4. Correct the odd `em` font sizing in all browsers. */ code, kbd, samp, pre { font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; /* 1 */ font-feature-settings: normal; /* 2 */ font-variation-settings: normal; /* 3 */ font-size: 1em; /* 4 */ } /* Add the correct font size in all browsers. */ small { font-size: 80%; } /* Prevent `sub` and `sup` elements from affecting the line height in all browsers. */ sub, sup { font-size: 75%; line-height: 0; position: relative; vertical-align: baseline; } sub { bottom: -0.25em; } sup { top: -0.5em; } /* 1. Remove text indentation from table contents in Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=999088, https://bugs.webkit.org/show_bug.cgi?id=201297) 2. Correct table border color inheritance in all Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=935729, https://bugs.webkit.org/show_bug.cgi?id=195016) 3. Remove gaps between table borders by default. */ table { text-indent: 0; /* 1 */ border-color: inherit; /* 2 */ border-collapse: collapse; /* 3 */ } /* 1. Change the font styles in all browsers. 2. Remove the margin in Firefox and Safari. 3. Remove default padding in all browsers. */ button, input, optgroup, select, textarea { font-family: inherit; /* 1 */ font-feature-settings: inherit; /* 1 */ font-variation-settings: inherit; /* 1 */ font-size: 100%; /* 1 */ font-weight: inherit; /* 1 */ line-height: inherit; /* 1 */ letter-spacing: inherit; /* 1 */ color: inherit; /* 1 */ margin: 0; /* 2 */ padding: 0; /* 3 */ } /* Remove the inheritance of text transform in Edge and Firefox. */ button, select { text-transform: none; } /* 1. Correct the inability to style clickable types in iOS and Safari. 2. Remove default button styles. */ button, input:where([type="button"]), input:where([type="reset"]), input:where([type="submit"]) { -webkit-appearance: button; /* 1 */ background-color: transparent; /* 2 */ background-image: none; /* 2 */ } /* Use the modern Firefox focus style for all focusable elements. */ :-moz-focusring { outline: auto; } /* Remove the additional `:invalid` styles in Firefox. (https://github.com/mozilla/gecko-dev/blob/2f9eacd9d3d995c937b4251a5557d95d494c9be1/layout/style/res/forms.css#L728-L737) */ :-moz-ui-invalid { box-shadow: none; } /* Add the correct vertical alignment in Chrome and Firefox. */ progress { vertical-align: baseline; } /* Correct the cursor style of increment and decrement buttons in Safari. */ ::-webkit-inner-spin-button, ::-webkit-outer-spin-button { height: auto; } /* 1. Correct the odd appearance in Chrome and Safari. 2. Correct the outline style in Safari. */ [type="search"] { -webkit-appearance: textfield; /* 1 */ outline-offset: -2px; /* 2 */ } /* Remove the inner padding in Chrome and Safari on macOS. */ ::-webkit-search-decoration { -webkit-appearance: none; } /* 1. Correct the inability to style clickable types in iOS and Safari. 2. Change font properties to `inherit` in Safari. */ ::-webkit-file-upload-button { -webkit-appearance: button; /* 1 */ font: inherit; /* 2 */ } /* Add the correct display in Chrome and Safari. */ summary { display: list-item; } /* Removes the default spacing and border for appropriate elements. */ blockquote, dl, dd, h1, h2, h3, h4, h5, h6, hr, figure, p, pre { margin: 0; } fieldset { margin: 0; padding: 0; } legend { padding: 0; } ol, ul, menu { list-style: none; margin: 0; padding: 0; } /* Reset default styling for dialogs. */ dialog { padding: 0; } /* Prevent resizing textareas horizontally by default. */ textarea { resize: vertical; } /* 1. Reset the default placeholder opacity in Firefox. (https://github.com/tailwindlabs/tailwindcss/issues/3300) 2. Set the default placeholder color to the user's configured gray 400 color. */ input::placeholder, textarea::placeholder { opacity: 1; /* 1 */ color: #9ca3af; /* 2 */ } /* Set the default cursor for buttons. */ button, [role="button"] { cursor: pointer; } /* Make sure disabled buttons don't get the pointer cursor. */ :disabled { cursor: default; } /* 1. Make replaced elements `display: block` by default. (https://github.com/mozdevs/cssremedy/issues/14) 2. Add `vertical-align: middle` to align replaced elements more sensibly by default. (https://github.com/jensimmons/cssremedy/issues/14#issuecomment-634934210) This can trigger a poorly considered lint error in some tools but is included by design. */ img, svg, video, canvas, audio, iframe, embed, object { display: block; /* 1 */ vertical-align: middle; /* 2 */ } /* Constrain images and videos to the parent width and preserve their intrinsic aspect ratio. (https://github.com/mozdevs/cssremedy/issues/14) */ img, video { max-width: 100%; height: auto; } /* Make elements with the HTML hidden attribute stay hidden by default */ [hidden]:where(:not([hidden="until-found"])) { display: none; } :root { --background: 0 0% 100%; --foreground: 0 0% 3.9%; --card: 0 0% 100%; --card-foreground: 0 0% 3.9%; --popover: 0 0% 100%; --popover-foreground: 0 0% 3.9%; --primary: 0 0% 9%; --primary-foreground: 0 0% 98%; --secondary: 0 0% 96.1%; --secondary-foreground: 0 0% 9%; --muted: 0 0% 96.1%; --muted-foreground: 0 0% 45.1%; --accent: 0 0% 96.1%; --accent-foreground: 0 0% 9%; --destructive: 0 84.2% 60.2%; --destructive-foreground: 0 0% 98%; --border: 0 0% 89.8%; --input: 0 0% 89.8%; --ring: 0 0% 3.9%; --chart-1: 12 76% 61%; --chart-2: 173 58% 39%; --chart-3: 197 37% 24%; --chart-4: 43 74% 66%; --chart-5: 27 87% 67%; --radius: 0.5rem; } * { border-color: hsl(var(--border)); } body { background-color: hsl(var(--background)); color: hsl(var(--foreground)); } [data-debug-wrapper="true"] { display: contents !important; } [data-debug-wrapper="true"] > * { margin-left: inherit; margin-right: inherit; margin-top: inherit; margin-bottom: inherit; padding-left: inherit; padding-right: inherit; padding-top: inherit; padding-bottom: inherit; column-gap: inherit; row-gap: inherit; gap: inherit; border-left-width: inherit; border-right-width: inherit; border-top-width: inherit; border-bottom-width: inherit; border-left-style: inherit; border-right-style: inherit; border-top-style: inherit; border-bottom-style: inherit; border-left-color: inherit; border-right-color: inherit; border-top-color: inherit; border-bottom-color: inherit; } .sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border-width: 0; } .pointer-events-none { pointer-events: none; } .pointer-events-auto { pointer-events: auto; } .visible { visibility: visible; } .invisible { visibility: hidden; } .fixed { position: fixed; } .absolute { position: absolute; } .relative { position: relative; } .inset-0 { inset: 0px; } .inset-x-0 { left: 0px; right: 0px; } .inset-y-0 { top: 0px; bottom: 0px; } .-bottom-12 { bottom: -3rem; } .-left-12 { left: -3rem; } .-right-12 { right: -3rem; } .-top-12 { top: -3rem; } .bottom-0 { bottom: 0px; } .left-0 { left: 0px; } .left-1 { left: 0.25rem; } .left-1\/2 { left: 50%; } .left-2 { left: 0.5rem; } .left-\[50\%\] { left: 50%; } .right-0 { right: 0px; } .right-1 { right: 0.25rem; } .right-2 { right: 0.5rem; } .right-4 { right: 1rem; } .top-0 { top: 0px; } .top-1 { top: 0.25rem; } .top-1\/2 { top: 50%; } .top-4 { top: 1rem; } .top-\[1px\] { top: 1px; } .top-\[50\%\] { top: 50%; } .top-\[60\%\] { top: 60%; } .top-full { top: 100%; } .bottom-8 { bottom: 2rem; } .left-3 { left: 0.75rem; } .left-4 { left: 1rem; } .right-3 { right: 0.75rem; } .top-3 { top: 0.75rem; } .right-8 { right: 2rem; } .top-24 { top: 6rem; } .z-10 { z-index: 10; } .z-50 { z-index: 50; } .z-\[100\] { z-index: 100; } .z-\[1\] { z-index: 1; } .z-20 { z-index: 20; } .-mx-1 { margin-left: -0.25rem; margin-right: -0.25rem; } .mx-auto { margin-left: auto; margin-right: auto; } .my-1 { margin-top: 0.25rem; margin-bottom: 0.25rem; } .-ml-4 { margin-left: -1rem; } .-mt-4 { margin-top: -1rem; } .mb-1 { margin-bottom: 0.25rem; } .ml-1 { margin-left: 0.25rem; } .ml-auto { margin-left: auto; } .mr-2 { margin-right: 0.5rem; } .mt-1\.5 { margin-top: 0.375rem; } .mt-2 { margin-top: 0.5rem; } .mt-24 { margin-top: 6rem; } .mt-4 { margin-top: 1rem; } .mt-5 { margin-top: 1.25rem; } .mt-auto { margin-top: auto; } .mb-12 { margin-bottom: 3rem; } .mb-2 { margin-bottom: 0.5rem; } .mb-3 { margin-bottom: 0.75rem; } .mb-4 { margin-bottom: 1rem; } .mb-6 { margin-bottom: 1.5rem; } .mb-8 { margin-bottom: 2rem; } .mt-1 { margin-top: 0.25rem; } .mb-16 { margin-bottom: 4rem; } .ml-0\.5 { margin-left: 0.125rem; } .line-clamp-2 { overflow: hidden; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; } .block { display: block; } .flex { display: flex; } .inline-flex { display: inline-flex; } .table { display: table; } .grid { display: grid; } .hidden { display: none; } .aspect-square { aspect-ratio: 1 / 1; } .aspect-\[16\/9\] { aspect-ratio: 16/9; } .aspect-\[4\/3\] { aspect-ratio: 4/3; } .h-1\.5 { height: 0.375rem; } .h-10 { height: 2.5rem; } .h-2 { height: 0.5rem; } .h-2\.5 { height: 0.625rem; } .h-3 { height: 0.75rem; } .h-3\.5 { height: 0.875rem; } .h-4 { height: 1rem; } .h-5 { height: 1.25rem; } .h-7 { height: 1.75rem; } .h-8 { height: 2rem; } .h-9 { height: 2.25rem; } .h-\[1px\] { height: 1px; } .h-\[var\(--radix-navigation-menu-viewport-height\)\] { height: var(--radix-navigation-menu-viewport-height); } .h-\[var\(--radix-select-trigger-height\)\] { height: var(--radix-select-trigger-height); } .h-auto { height: auto; } .h-full { height: 100%; } .h-px { height: 1px; } .h-12 { height: 3rem; } .h-screen { height: 100vh; } .h-11 { height: 2.75rem; } .h-16 { height: 4rem; } .h-20 { height: 5rem; } .max-h-\[--radix-context-menu-content-available-height\] { max-height: var(--radix-context-menu-content-available-height); } .max-h-\[--radix-select-content-available-height\] { max-height: var(--radix-select-content-available-height); } .max-h-\[300px\] { max-height: 300px; } .max-h-\[var\(--radix-dropdown-menu-content-available-height\)\] { max-height: var(--radix-dropdown-menu-content-available-height); } .max-h-screen { max-height: 100vh; } .max-h-\[90vh\] { max-height: 90vh; } .min-h-\[60px\] { min-height: 60px; } .min-h-\[100px\] { min-height: 100px; } .min-h-\[120px\] { min-height: 120px; } .w-10 { width: 2.5rem; } .w-2 { width: 0.5rem; } .w-2\.5 { width: 0.625rem; } .w-3 { width: 0.75rem; } .w-3\.5 { width: 0.875rem; } .w-3\/4 { width: 75%; } .w-4 { width: 1rem; } .w-64 { width: 16rem; } .w-7 { width: 1.75rem; } .w-72 { width: 18rem; } .w-8 { width: 2rem; } .w-9 { width: 2.25rem; } .w-\[100px\] { width: 100px; } .w-\[1px\] { width: 1px; } .w-full { width: 100%; } .w-max { width: max-content; } .w-px { width: 1px; } .w-1\.5 { width: 0.375rem; } .w-16 { width: 4rem; } .w-12 { width: 3rem; } .min-w-0 { min-width: 0px; } .min-w-10 { min-width: 2.5rem; } .min-w-8 { min-width: 2rem; } .min-w-9 { min-width: 2.25rem; } .min-w-\[12rem\] { min-width: 12rem; } .min-w-\[8rem\] { min-width: 8rem; } .min-w-\[var\(--radix-select-trigger-width\)\] { min-width: var(--radix-select-trigger-width); } .max-w-lg { max-width: 32rem; } .max-w-max { max-width: max-content; } .max-w-2xl { max-width: 42rem; } .max-w-3xl { max-width: 48rem; } .max-w-4xl { max-width: 56rem; } .max-w-5xl { max-width: 64rem; } .max-w-7xl { max-width: 80rem; } .max-w-md { max-width: 28rem; } .flex-1 { flex: 1 1; } .flex-shrink-0 { flex-shrink: 0; } .shrink-0 { flex-shrink: 0; } .grow { flex-grow: 1; } .grow-0 { flex-grow: 0; } .basis-full { flex-basis: 100%; } .caption-bottom { caption-side: bottom; } .border-collapse { border-collapse: collapse; } .origin-\[--radix-context-menu-content-transform-origin\] { transform-origin: var(--radix-context-menu-content-transform-origin); } .origin-\[--radix-dropdown-menu-content-transform-origin\] { transform-origin: var(--radix-dropdown-menu-content-transform-origin); } .origin-\[--radix-hover-card-content-transform-origin\] { transform-origin: var(--radix-hover-card-content-transform-origin); } .origin-\[--radix-menubar-content-transform-origin\] { transform-origin: var(--radix-menubar-content-transform-origin); } .origin-\[--radix-popover-content-transform-origin\] { transform-origin: var(--radix-popover-content-transform-origin); } .origin-\[--radix-select-content-transform-origin\] { transform-origin: var(--radix-select-content-transform-origin); } .origin-\[--radix-tooltip-content-transform-origin\] { transform-origin: var(--radix-tooltip-content-transform-origin); } .-translate-x-1\/2 { --tw-translate-x: -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-1\/2 { --tw-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-x-\[-50\%\] { --tw-translate-x: -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: 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)); } .rotate-45 { --tw-rotate: 45deg; 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)); } .rotate-90 { --tw-rotate: 90deg; 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)); } .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: 0.5; } } .animate-pulse { animation: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite; } @keyframes bounce { 0%, 100% { transform: translateY(-25%); animation-timing-function: cubic-bezier(0.8, 0, 1, 1); } 50% { transform: none; animation-timing-function: cubic-bezier(0, 0, 0.2, 1); } } .animate-bounce { animation: bounce 1s infinite; } .cursor-default { cursor: default; } .cursor-pointer { cursor: pointer; } .touch-none { touch-action: none; } .select-none { -webkit-user-select: none; user-select: none; } .list-none { list-style-type: none; } .grid-cols-1 { grid-template-columns: repeat(1, minmax(0, 1fr)); } .flex-row { flex-direction: row; } .flex-col { flex-direction: column; } .flex-col-reverse { flex-direction: column-reverse; } .flex-wrap { flex-wrap: wrap; } .items-start { align-items: flex-start; } .items-end { align-items: flex-end; } .items-center { align-items: center; } .justify-center { justify-content: center; } .justify-between { justify-content: space-between; } .gap-1 { gap: 0.25rem; } .gap-1\.5 { gap: 0.375rem; } .gap-2 { gap: 0.5rem; } .gap-4 { gap: 1rem; } .gap-3 { gap: 0.75rem; } .gap-6 { gap: 1.5rem; } .gap-8 { gap: 2rem; } .gap-12 { gap: 3rem; } .space-x-1 > :not([hidden]) ~ :not([hidden]) { --tw-space-x-reverse: 0; margin-right: calc(0.25rem * var(--tw-space-x-reverse)); margin-left: calc(0.25rem * calc(1 - var(--tw-space-x-reverse))); } .space-x-2 > :not([hidden]) ~ :not([hidden]) { --tw-space-x-reverse: 0; margin-right: calc(0.5rem * var(--tw-space-x-reverse)); margin-left: calc(0.5rem * calc(1 - var(--tw-space-x-reverse))); } .space-y-1 > :not([hidden]) ~ :not([hidden]) { --tw-space-y-reverse: 0; margin-top: calc(0.25rem * calc(1 - var(--tw-space-y-reverse))); margin-bottom: calc(0.25rem * var(--tw-space-y-reverse)); } .space-y-1\.5 > :not([hidden]) ~ :not([hidden]) { --tw-space-y-reverse: 0; margin-top: calc(0.375rem * calc(1 - var(--tw-space-y-reverse))); margin-bottom: calc(0.375rem * var(--tw-space-y-reverse)); } .space-y-2 > :not([hidden]) ~ :not([hidden]) { --tw-space-y-reverse: 0; margin-top: calc(0.5rem * calc(1 - var(--tw-space-y-reverse))); margin-bottom: calc(0.5rem * var(--tw-space-y-reverse)); } .space-y-4 > :not([hidden]) ~ :not([hidden]) { --tw-space-y-reverse: 0; margin-top: calc(1rem * calc(1 - var(--tw-space-y-reverse))); margin-bottom: calc(1rem * var(--tw-space-y-reverse)); } .space-y-6 > :not([hidden]) ~ :not([hidden]) { --tw-space-y-reverse: 0; margin-top: calc(1.5rem * calc(1 - var(--tw-space-y-reverse))); margin-bottom: calc(1.5rem * var(--tw-space-y-reverse)); } .space-y-8 > :not([hidden]) ~ :not([hidden]) { --tw-space-y-reverse: 0; margin-top: calc(2rem * calc(1 - var(--tw-space-y-reverse))); margin-bottom: calc(2rem * var(--tw-space-y-reverse)); } .overflow-auto { overflow: auto; } .overflow-hidden { overflow: hidden; } .overflow-y-auto { overflow-y: auto; } .overflow-x-hidden { overflow-x: hidden; } .whitespace-nowrap { white-space: nowrap; } .break-words { overflow-wrap: break-word; } .rounded-\[inherit\] { border-radius: inherit; } .rounded-full { border-radius: 9999px; } .rounded-lg { border-radius: var(--radius); } .rounded-md { border-radius: calc(var(--radius) - 2px); } .rounded-sm { border-radius: calc(var(--radius) - 4px); } .rounded-xl { border-radius: 0.75rem; } .rounded-t-\[10px\] { border-top-left-radius: 10px; border-top-right-radius: 10px; } .rounded-tl-sm { border-top-left-radius: calc(var(--radius) - 4px); } .border { border-width: 1px; } .border-2 { border-width: 2px; } .border-y { border-top-width: 1px; border-bottom-width: 1px; } .border-b { border-bottom-width: 1px; } .border-l { border-left-width: 1px; } .border-r { border-right-width: 1px; } .border-t { border-top-width: 1px; } .border-destructive { border-color: hsl(var(--destructive)); } .border-destructive\/50 { border-color: hsl(var(--destructive) / 0.5); } .border-input { border-color: hsl(var(--input)); } .border-primary { border-color: hsl(var(--primary)); } .border-primary\/50 { border-color: hsl(var(--primary) / 0.5); } .border-transparent { border-color: transparent; } .border-zinc-700 { --tw-border-opacity: 1; border-color: rgb(63 63 70 / var(--tw-border-opacity, 1)); } .border-zinc-800 { --tw-border-opacity: 1; border-color: rgb(39 39 42 / var(--tw-border-opacity, 1)); } .border-white\/20 { border-color: rgb(255 255 255 / 0.2); } .border-l-transparent { border-left-color: transparent; } .border-t-transparent { border-top-color: transparent; } .bg-accent { background-color: hsl(var(--accent)); } .bg-background { background-color: hsl(var(--background)); } .bg-black\/80 { background-color: rgb(0 0 0 / 0.8); } .bg-border { background-color: hsl(var(--border)); } .bg-card { background-color: hsl(var(--card)); } .bg-destructive { background-color: hsl(var(--destructive)); } .bg-foreground { background-color: hsl(var(--foreground)); } .bg-muted { background-color: hsl(var(--muted)); } .bg-muted\/50 { background-color: hsl(var(--muted) / 0.5); } .bg-popover { background-color: hsl(var(--popover)); } .bg-primary { background-color: hsl(var(--primary)); } .bg-primary\/10 { background-color: hsl(var(--primary) / 0.1); } .bg-primary\/20 { background-color: hsl(var(--primary) / 0.2); } .bg-secondary { background-color: hsl(var(--secondary)); } .bg-transparent { background-color: transparent; } .bg-black { --tw-bg-opacity: 1; background-color: rgb(0 0 0 / var(--tw-bg-opacity, 1)); } .bg-black\/70 { background-color: rgb(0 0 0 / 0.7); } .bg-white { --tw-bg-opacity: 1; background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1)); } .bg-zinc-800 { --tw-bg-opacity: 1; background-color: rgb(39 39 42 / var(--tw-bg-opacity, 1)); } .bg-zinc-800\/50 { background-color: rgb(39 39 42 / 0.5); } .bg-zinc-900 { --tw-bg-opacity: 1; background-color: rgb(24 24 27 / var(--tw-bg-opacity, 1)); } .bg-white\/5 { background-color: rgb(255 255 255 / 0.05); } .bg-zinc-950 { --tw-bg-opacity: 1; background-color: rgb(9 9 11 / var(--tw-bg-opacity, 1)); } .bg-black\/95 { background-color: rgb(0 0 0 / 0.95); } .bg-black\/50 { background-color: rgb(0 0 0 / 0.5); } .bg-white\/10 { background-color: rgb(255 255 255 / 0.1); } .fill-current { fill: currentColor; } .fill-primary { fill: hsl(var(--primary)); } .fill-white { fill: #fff; } .object-cover { object-fit: cover; } .p-0 { padding: 0px; } .p-1 { padding: 0.25rem; } .p-2 { padding: 0.5rem; } .p-3 { padding: 0.75rem; } .p-4 { padding: 1rem; } .p-6 { padding: 1.5rem; } .p-\[1px\] { padding: 1px; } .p-5 { padding: 1.25rem; } .p-8 { padding: 2rem; } .px-1\.5 { padding-left: 0.375rem; padding-right: 0.375rem; } .px-2 { padding-left: 0.5rem; padding-right: 0.5rem; } .px-2\.5 { padding-left: 0.625rem; padding-right: 0.625rem; } .px-3 { padding-left: 0.75rem; padding-right: 0.75rem; } .px-4 { padding-left: 1rem; padding-right: 1rem; } .px-8 { padding-left: 2rem; padding-right: 2rem; } .py-0\.5 { padding-top: 0.125rem; padding-bottom: 0.125rem; } .py-1 { padding-top: 0.25rem; padding-bottom: 0.25rem; } .py-1\.5 { padding-top: 0.375rem; padding-bottom: 0.375rem; } .py-2 { padding-top: 0.5rem; padding-bottom: 0.5rem; } .py-3 { padding-top: 0.75rem; padding-bottom: 0.75rem; } .py-4 { padding-top: 1rem; padding-bottom: 1rem; } .py-6 { padding-top: 1.5rem; padding-bottom: 1.5rem; } .py-20 { padding-top: 5rem; padding-bottom: 5rem; } .py-12 { padding-top: 3rem; padding-bottom: 3rem; } .pb-4 { padding-bottom: 1rem; } .pl-2 { padding-left: 0.5rem; } .pl-2\.5 { padding-left: 0.625rem; } .pl-4 { padding-left: 1rem; } .pl-8 { padding-left: 2rem; } .pr-2 { padding-right: 0.5rem; } .pr-2\.5 { padding-right: 0.625rem; } .pr-6 { padding-right: 1.5rem; } .pr-8 { padding-right: 2rem; } .pt-0 { padding-top: 0px; } .pt-1 { padding-top: 0.25rem; } .pt-4 { padding-top: 1rem; } .pl-10 { padding-left: 2.5rem; } .pt-8 { padding-top: 2rem; } .text-left { text-align: left; } .text-center { text-align: center; } .align-middle { vertical-align: middle; } .text-\[0\.8rem\] { font-size: 0.8rem; } .text-base { font-size: 1rem; line-height: 1.5rem; } .text-lg { font-size: 1.125rem; line-height: 1.75rem; } .text-sm { font-size: 0.875rem; line-height: 1.25rem; } .text-xs { font-size: 0.75rem; line-height: 1rem; } .text-2xl { font-size: 1.5rem; line-height: 2rem; } .text-4xl { font-size: 2.25rem; line-height: 2.5rem; } .text-6xl { font-size: 3.75rem; line-height: 1; } .text-xl { font-size: 1.25rem; line-height: 1.75rem; } .font-medium { font-weight: 500; } .font-normal { font-weight: 400; } .font-semibold { font-weight: 600; } .font-bold { font-weight: 700; } .font-light { font-weight: 300; } .leading-none { line-height: 1; } .leading-relaxed { line-height: 1.625; } .tracking-tight { letter-spacing: -0.025em; } .tracking-widest { letter-spacing: 0.1em; } .text-accent-foreground { color: hsl(var(--accent-foreground)); } .text-card-foreground { color: hsl(var(--card-foreground)); } .text-current { color: currentColor; } .text-destructive { color: hsl(var(--destructive)); } .text-destructive-foreground { color: hsl(var(--destructive-foreground)); } .text-foreground { color: hsl(var(--foreground)); } .text-foreground\/50 { color: hsl(var(--foreground) / 0.5); } .text-muted-foreground { color: hsl(var(--muted-foreground)); } .text-popover-foreground { color: hsl(var(--popover-foreground)); } .text-primary { color: hsl(var(--primary)); } .text-primary-foreground { color: hsl(var(--primary-foreground)); } .text-secondary-foreground { color: hsl(var(--secondary-foreground)); } .text-black { --tw-text-opacity: 1; color: rgb(0 0 0 / var(--tw-text-opacity, 1)); } .text-gray-300 { --tw-text-opacity: 1; color: rgb(209 213 219 / var(--tw-text-opacity, 1)); } .text-gray-400 { --tw-text-opacity: 1; color: rgb(156 163 175 / var(--tw-text-opacity, 1)); } .text-gray-500 { --tw-text-opacity: 1; color: rgb(107 114 128 / var(--tw-text-opacity, 1)); } .text-white { --tw-text-opacity: 1; color: rgb(255 255 255 / var(--tw-text-opacity, 1)); } .text-zinc-700 { --tw-text-opacity: 1; color: rgb(63 63 70 / var(--tw-text-opacity, 1)); } .underline-offset-4 { text-underline-offset: 4px; } .opacity-0 { opacity: 0; } .opacity-50 { opacity: 0.5; } .opacity-60 { opacity: 0.6; } .opacity-70 { opacity: 0.7; } .opacity-90 { opacity: 0.9; } .opacity-5 { opacity: 0.05; } .opacity-40 { opacity: 0.4; } .shadow { --tw-shadow: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1); --tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color); box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow); } .shadow-lg { --tw-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1); --tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color); 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 rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1); --tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color); 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 rgb(0 0 0 / 0.05); --tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color); box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow); } .outline-none { outline: 2px solid transparent; outline-offset: 2px; } .outline { outline-style: solid; } .ring-0 { --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(0px + var(--tw-ring-offset-width)) var(--tw-ring-color); box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000); } .ring-1 { --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color); --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color); box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000); } .ring-ring { --tw-ring-color: hsl(var(--ring)); } .ring-offset-background { --tw-ring-offset-color: hsl(var(--background)); } .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-sm { --tw-backdrop-blur: blur(4px); backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia); } .transition { transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter; transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); transition-duration: 150ms; } .transition-all { transition-property: all; transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); transition-duration: 150ms; } .transition-colors { transition-property: color, background-color, border-color, text-decoration-color, fill, stroke; transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); transition-duration: 150ms; } .transition-opacity { transition-property: opacity; transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); transition-duration: 150ms; } .transition-transform { transition-property: transform; transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); transition-duration: 150ms; } .duration-1000 { transition-duration: 1000ms; } .duration-200 { transition-duration: 200ms; } .duration-300 { transition-duration: 300ms; } .duration-500 { transition-duration: 500ms; } .ease-in-out { transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); } @keyframes enter { from { opacity: var(--tw-enter-opacity, 1); transform: translate3d( var(--tw-enter-translate-x, 0), var(--tw-enter-translate-y, 0), 0 ) scale3d( var(--tw-enter-scale, 1), var(--tw-enter-scale, 1), var(--tw-enter-scale, 1) ) rotate(var(--tw-enter-rotate, 0)); } } @keyframes exit { to { opacity: var(--tw-exit-opacity, 1); transform: translate3d( var(--tw-exit-translate-x, 0), var(--tw-exit-translate-y, 0), 0 ) scale3d( var(--tw-exit-scale, 1), var(--tw-exit-scale, 1), var(--tw-exit-scale, 1) ) rotate(var(--tw-exit-rotate, 0)); } } .animate-in { animation-name: enter; animation-duration: 150ms; --tw-enter-opacity: initial; --tw-enter-scale: initial; --tw-enter-rotate: initial; --tw-enter-translate-x: initial; --tw-enter-translate-y: initial; } .fade-in-0 { --tw-enter-opacity: 0; } .zoom-in-95 { --tw-enter-scale: 0.95; } .duration-1000 { animation-duration: 1000ms; } .duration-200 { animation-duration: 200ms; } .duration-300 { animation-duration: 300ms; } .duration-500 { animation-duration: 500ms; } .ease-in-out { animation-timing-function: cubic-bezier(0.4, 0, 0.2, 1); } .running { animation-play-state: running; } body { margin: 0; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; } code { font-family: source-code-pro, Menlo, Monaco, Consolas, "Courier New", monospace; } .file\:border-0::file-selector-button { border-width: 0px; } .file\:bg-transparent::file-selector-button { background-color: transparent; } .file\:text-sm::file-selector-button { font-size: 0.875rem; line-height: 1.25rem; } .file\:font-medium::file-selector-button { font-weight: 500; } .file\:text-foreground::file-selector-button { color: hsl(var(--foreground)); } .placeholder\:text-muted-foreground::placeholder { color: hsl(var(--muted-foreground)); } .placeholder\:text-gray-500::placeholder { --tw-text-opacity: 1; color: rgb(107 114 128 / var(--tw-text-opacity, 1)); } .after\:absolute::after { content: var(--tw-content); position: absolute; } .after\:inset-y-0::after { content: var(--tw-content); top: 0px; bottom: 0px; } .after\:left-1\/2::after { content: var(--tw-content); left: 50%; } .after\:w-1::after { content: var(--tw-content); width: 0.25rem; } .after\:-translate-x-1\/2::after { content: var(--tw-content); --tw-translate-x: -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)); } .first\:rounded-l-md:first-child { border-top-left-radius: calc(var(--radius) - 2px); border-bottom-left-radius: calc(var(--radius) - 2px); } .first\:border-l:first-child { border-left-width: 1px; } .last\:rounded-r-md:last-child { border-top-right-radius: calc(var(--radius) - 2px); border-bottom-right-radius: calc(var(--radius) - 2px); } .focus-within\:relative:focus-within { position: relative; } .focus-within\:z-20:focus-within { z-index: 20; } .hover\:scale-\[1\.02\]:hover { --tw-scale-x: 1.02; --tw-scale-y: 1.02; 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)); } .hover\:transform:hover { 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)); } .hover\:border-zinc-700:hover { --tw-border-opacity: 1; border-color: rgb(63 63 70 / var(--tw-border-opacity, 1)); } .hover\:bg-accent:hover { background-color: hsl(var(--accent)); } .hover\:bg-destructive\/80:hover { background-color: hsl(var(--destructive) / 0.8); } .hover\:bg-destructive\/90:hover { background-color: hsl(var(--destructive) / 0.9); } .hover\:bg-muted:hover { background-color: hsl(var(--muted)); } .hover\:bg-muted\/50:hover { background-color: hsl(var(--muted) / 0.5); } .hover\:bg-primary:hover { background-color: hsl(var(--primary)); } .hover\:bg-primary\/80:hover { background-color: hsl(var(--primary) / 0.8); } .hover\:bg-primary\/90:hover { background-color: hsl(var(--primary) / 0.9); } .hover\:bg-secondary:hover { background-color: hsl(var(--secondary)); } .hover\:bg-secondary\/80:hover { background-color: hsl(var(--secondary) / 0.8); } .hover\:bg-gray-200:hover { --tw-bg-opacity: 1; background-color: rgb(229 231 235 / var(--tw-bg-opacity, 1)); } .hover\:bg-zinc-700:hover { --tw-bg-opacity: 1; background-color: rgb(63 63 70 / var(--tw-bg-opacity, 1)); } .hover\:bg-zinc-800:hover { --tw-bg-opacity: 1; background-color: rgb(39 39 42 / var(--tw-bg-opacity, 1)); } .hover\:bg-white\/20:hover { background-color: rgb(255 255 255 / 0.2); } .hover\:text-accent-foreground:hover { color: hsl(var(--accent-foreground)); } .hover\:text-foreground:hover { color: hsl(var(--foreground)); } .hover\:text-muted-foreground:hover { color: hsl(var(--muted-foreground)); } .hover\:text-primary-foreground:hover { color: hsl(var(--primary-foreground)); } .hover\:text-gray-300:hover { --tw-text-opacity: 1; color: rgb(209 213 219 / var(--tw-text-opacity, 1)); } .hover\:text-white:hover { --tw-text-opacity: 1; color: rgb(255 255 255 / var(--tw-text-opacity, 1)); } .hover\:underline:hover { text-decoration-line: underline; } .hover\:opacity-100:hover { opacity: 1; } .focus\:bg-accent:focus { background-color: hsl(var(--accent)); } .focus\:bg-primary:focus { background-color: hsl(var(--primary)); } .focus\:text-accent-foreground:focus { color: hsl(var(--accent-foreground)); } .focus\:text-primary-foreground:focus { color: hsl(var(--primary-foreground)); } .focus\:opacity-100:focus { opacity: 1; } .focus\:outline-none:focus { outline: 2px solid transparent; outline-offset: 2px; } .focus\:ring-1:focus { --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color); --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color); box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000); } .focus\:ring-2:focus { --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color); --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color); box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000); } .focus\:ring-ring:focus { --tw-ring-color: hsl(var(--ring)); } .focus\:ring-offset-2:focus { --tw-ring-offset-width: 2px; } .focus-visible\:outline-none:focus-visible { outline: 2px solid transparent; outline-offset: 2px; } .focus-visible\:ring-1:focus-visible { --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color); --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color); box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000); } .focus-visible\:ring-2:focus-visible { --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color); --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color); box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000); } .focus-visible\:ring-ring:focus-visible { --tw-ring-color: hsl(var(--ring)); } .focus-visible\:ring-offset-1:focus-visible { --tw-ring-offset-width: 1px; } .focus-visible\:ring-offset-2:focus-visible { --tw-ring-offset-width: 2px; } .focus-visible\:ring-offset-background:focus-visible { --tw-ring-offset-color: hsl(var(--background)); } .disabled\:pointer-events-none:disabled { pointer-events: none; } .disabled\:cursor-not-allowed:disabled { cursor: not-allowed; } .disabled\:opacity-50:disabled { opacity: 0.5; } .group:hover .group-hover\:scale-110 { --tw-scale-x: 1.1; --tw-scale-y: 1.1; 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)); } .group:hover .group-hover\:text-gray-300 { --tw-text-opacity: 1; color: rgb(209 213 219 / var(--tw-text-opacity, 1)); } .group:hover .group-hover\:opacity-100 { opacity: 1; } .group.destructive .group-\[\.destructive\]\:border-muted\/40 { border-color: hsl(var(--muted) / 0.4); } .group.toaster .group-\[\.toaster\]\:border-border { border-color: hsl(var(--border)); } .group.toast .group-\[\.toast\]\:bg-muted { background-color: hsl(var(--muted)); } .group.toast .group-\[\.toast\]\:bg-primary { background-color: hsl(var(--primary)); } .group.toaster .group-\[\.toaster\]\:bg-background { background-color: hsl(var(--background)); } .group.destructive .group-\[\.destructive\]\:text-red-300 { --tw-text-opacity: 1; color: rgb(252 165 165 / var(--tw-text-opacity, 1)); } .group.toast .group-\[\.toast\]\:text-muted-foreground { color: hsl(var(--muted-foreground)); } .group.toast .group-\[\.toast\]\:text-primary-foreground { color: hsl(var(--primary-foreground)); } .group.toaster .group-\[\.toaster\]\:text-foreground { color: hsl(var(--foreground)); } .group.toaster .group-\[\.toaster\]\:shadow-lg { --tw-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1); --tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color); box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow); } .group.destructive .group-\[\.destructive\]\:hover\:border-destructive\/30:hover { border-color: hsl(var(--destructive) / 0.3); } .group.destructive .group-\[\.destructive\]\:hover\:bg-destructive:hover { background-color: hsl(var(--destructive)); } .group.destructive .group-\[\.destructive\]\:hover\:text-destructive-foreground:hover { color: hsl(var(--destructive-foreground)); } .group.destructive .group-\[\.destructive\]\:hover\:text-red-50:hover { --tw-text-opacity: 1; color: rgb(254 242 242 / var(--tw-text-opacity, 1)); } .group.destructive .group-\[\.destructive\]\:focus\:ring-destructive:focus { --tw-ring-color: hsl(var(--destructive)); } .group.destructive .group-\[\.destructive\]\:focus\:ring-red-400:focus { --tw-ring-opacity: 1; --tw-ring-color: rgb(248 113 113 / var(--tw-ring-opacity, 1)); } .group.destructive .group-\[\.destructive\]\:focus\:ring-offset-red-600:focus { --tw-ring-offset-color: #dc2626; } .peer:disabled ~ .peer-disabled\:cursor-not-allowed { cursor: not-allowed; } .peer:disabled ~ .peer-disabled\:opacity-70 { opacity: 0.7; } .has-\[\:disabled\]\:opacity-50:has(:disabled) { opacity: 0.5; } .aria-selected\:bg-accent[aria-selected="true"] { background-color: hsl(var(--accent)); } .aria-selected\:bg-accent\/50[aria-selected="true"] { background-color: hsl(var(--accent) / 0.5); } .aria-selected\:text-accent-foreground[aria-selected="true"] { color: hsl(var(--accent-foreground)); } .aria-selected\:text-muted-foreground[aria-selected="true"] { color: hsl(var(--muted-foreground)); } .aria-selected\:opacity-100[aria-selected="true"] { opacity: 1; } .data-\[disabled\=true\]\:pointer-events-none[data-disabled="true"] { pointer-events: none; } .data-\[disabled\]\:pointer-events-none[data-disabled] { pointer-events: none; } .data-\[panel-group-direction\=vertical\]\:h-px[data-panel-group-direction="vertical"] { height: 1px; } .data-\[panel-group-direction\=vertical\]\:w-full[data-panel-group-direction="vertical"] { width: 100%; } .data-\[side\=bottom\]\:translate-y-1[data-side="bottom"] { --tw-translate-y: 0.25rem; 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)); } .data-\[side\=left\]\:-translate-x-1[data-side="left"] { --tw-translate-x: -0.25rem; 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)); } .data-\[side\=right\]\:translate-x-1[data-side="right"] { --tw-translate-x: 0.25rem; 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)); } .data-\[side\=top\]\:-translate-y-1[data-side="top"] { --tw-translate-y: -0.25rem; 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)); } .data-\[state\=checked\]\:translate-x-4[data-state="checked"] { --tw-translate-x: 1rem; 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)); } .data-\[state\=unchecked\]\:translate-x-0[data-state="unchecked"] { --tw-translate-x: 0px; 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)); } .data-\[swipe\=cancel\]\:translate-x-0[data-swipe="cancel"] { --tw-translate-x: 0px; 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)); } .data-\[swipe\=end\]\:translate-x-\[var\(--radix-toast-swipe-end-x\)\][data-swipe="end"] { --tw-translate-x: var(--radix-toast-swipe-end-x); 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)); } .data-\[swipe\=move\]\:translate-x-\[var\(--radix-toast-swipe-move-x\)\][data-swipe="move"] { --tw-translate-x: var(--radix-toast-swipe-move-x); 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 accordion-up { from { height: var(--radix-accordion-content-height); } to { height: 0; } } .data-\[state\=closed\]\:animate-accordion-up[data-state="closed"] { animation: accordion-up 0.2s ease-out; } @keyframes accordion-down { from { height: 0; } to { height: var(--radix-accordion-content-height); } } .data-\[state\=open\]\:animate-accordion-down[data-state="open"] { animation: accordion-down 0.2s ease-out; } .data-\[panel-group-direction\=vertical\]\:flex-col[data-panel-group-direction="vertical"] { flex-direction: column; } .data-\[selected\=true\]\:bg-accent[data-selected="true"] { background-color: hsl(var(--accent)); } .data-\[state\=active\]\:bg-background[data-state="active"] { background-color: hsl(var(--background)); } .data-\[state\=checked\]\:bg-primary[data-state="checked"] { background-color: hsl(var(--primary)); } .data-\[state\=on\]\:bg-accent[data-state="on"] { background-color: hsl(var(--accent)); } .data-\[state\=open\]\:bg-accent[data-state="open"] { background-color: hsl(var(--accent)); } .data-\[state\=open\]\:bg-accent\/50[data-state="open"] { background-color: hsl(var(--accent) / 0.5); } .data-\[state\=open\]\:bg-secondary[data-state="open"] { background-color: hsl(var(--secondary)); } .data-\[state\=selected\]\:bg-muted[data-state="selected"] { background-color: hsl(var(--muted)); } .data-\[state\=unchecked\]\:bg-input[data-state="unchecked"] { background-color: hsl(var(--input)); } .data-\[placeholder\]\:text-muted-foreground[data-placeholder] { color: hsl(var(--muted-foreground)); } .data-\[selected\=true\]\:text-accent-foreground[data-selected="true"] { color: hsl(var(--accent-foreground)); } .data-\[state\=active\]\:text-foreground[data-state="active"] { color: hsl(var(--foreground)); } .data-\[state\=checked\]\:text-primary-foreground[data-state="checked"] { color: hsl(var(--primary-foreground)); } .data-\[state\=on\]\:text-accent-foreground[data-state="on"] { color: hsl(var(--accent-foreground)); } .data-\[state\=open\]\:text-accent-foreground[data-state="open"] { color: hsl(var(--accent-foreground)); } .data-\[state\=open\]\:text-muted-foreground[data-state="open"] { color: hsl(var(--muted-foreground)); } .data-\[disabled\=true\]\:opacity-50[data-disabled="true"] { opacity: 0.5; } .data-\[disabled\]\:opacity-50[data-disabled] { opacity: 0.5; } .data-\[state\=active\]\:shadow[data-state="active"] { --tw-shadow: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1); --tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color); box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow); } .data-\[swipe\=move\]\:transition-none[data-swipe="move"] { transition-property: none; } .data-\[state\=closed\]\:duration-300[data-state="closed"] { transition-duration: 300ms; } .data-\[state\=open\]\:duration-500[data-state="open"] { transition-duration: 500ms; } .data-\[motion\^\=from-\]\:animate-in[data-motion^="from-"] { animation-name: enter; animation-duration: 150ms; --tw-enter-opacity: initial; --tw-enter-scale: initial; --tw-enter-rotate: initial; --tw-enter-translate-x: initial; --tw-enter-translate-y: initial; } .data-\[state\=open\]\:animate-in[data-state="open"] { animation-name: enter; animation-duration: 150ms; --tw-enter-opacity: initial; --tw-enter-scale: initial; --tw-enter-rotate: initial; --tw-enter-translate-x: initial; --tw-enter-translate-y: initial; } .data-\[state\=visible\]\:animate-in[data-state="visible"] { animation-name: enter; animation-duration: 150ms; --tw-enter-opacity: initial; --tw-enter-scale: initial; --tw-enter-rotate: initial; --tw-enter-translate-x: initial; --tw-enter-translate-y: initial; } .data-\[motion\^\=to-\]\:animate-out[data-motion^="to-"] { animation-name: exit; animation-duration: 150ms; --tw-exit-opacity: initial; --tw-exit-scale: initial; --tw-exit-rotate: initial; --tw-exit-translate-x: initial; --tw-exit-translate-y: initial; } .data-\[state\=closed\]\:animate-out[data-state="closed"] { animation-name: exit; animation-duration: 150ms; --tw-exit-opacity: initial; --tw-exit-scale: initial; --tw-exit-rotate: initial; --tw-exit-translate-x: initial; --tw-exit-translate-y: initial; } .data-\[state\=hidden\]\:animate-out[data-state="hidden"] { animation-name: exit; animation-duration: 150ms; --tw-exit-opacity: initial; --tw-exit-scale: initial; --tw-exit-rotate: initial; --tw-exit-translate-x: initial; --tw-exit-translate-y: initial; } .data-\[swipe\=end\]\:animate-out[data-swipe="end"] { animation-name: exit; animation-duration: 150ms; --tw-exit-opacity: initial; --tw-exit-scale: initial; --tw-exit-rotate: initial; --tw-exit-translate-x: initial; --tw-exit-translate-y: initial; } .data-\[motion\^\=from-\]\:fade-in[data-motion^="from-"] { --tw-enter-opacity: 0; } .data-\[motion\^\=to-\]\:fade-out[data-motion^="to-"] { --tw-exit-opacity: 0; } .data-\[state\=closed\]\:fade-out-0[data-state="closed"] { --tw-exit-opacity: 0; } .data-\[state\=closed\]\:fade-out-80[data-state="closed"] { --tw-exit-opacity: 0.8; } .data-\[state\=hidden\]\:fade-out[data-state="hidden"] { --tw-exit-opacity: 0; } .data-\[state\=open\]\:fade-in-0[data-state="open"] { --tw-enter-opacity: 0; } .data-\[state\=visible\]\:fade-in[data-state="visible"] { --tw-enter-opacity: 0; } .data-\[state\=closed\]\:zoom-out-95[data-state="closed"] { --tw-exit-scale: 0.95; } .data-\[state\=open\]\:zoom-in-90[data-state="open"] { --tw-enter-scale: 0.9; } .data-\[state\=open\]\:zoom-in-95[data-state="open"] { --tw-enter-scale: 0.95; } .data-\[motion\=from-end\]\:slide-in-from-right-52[data-motion="from-end"] { --tw-enter-translate-x: 13rem; } .data-\[motion\=from-start\]\:slide-in-from-left-52[data-motion="from-start"] { --tw-enter-translate-x: -13rem; } .data-\[motion\=to-end\]\:slide-out-to-right-52[data-motion="to-end"] { --tw-exit-translate-x: 13rem; } .data-\[motion\=to-start\]\:slide-out-to-left-52[data-motion="to-start"] { --tw-exit-translate-x: -13rem; } .data-\[side\=bottom\]\:slide-in-from-top-2[data-side="bottom"] { --tw-enter-translate-y: -0.5rem; } .data-\[side\=left\]\:slide-in-from-right-2[data-side="left"] { --tw-enter-translate-x: 0.5rem; } .data-\[side\=right\]\:slide-in-from-left-2[data-side="right"] { --tw-enter-translate-x: -0.5rem; } .data-\[side\=top\]\:slide-in-from-bottom-2[data-side="top"] { --tw-enter-translate-y: 0.5rem; } .data-\[state\=closed\]\:slide-out-to-bottom[data-state="closed"] { --tw-exit-translate-y: 100%; } .data-\[state\=closed\]\:slide-out-to-left[data-state="closed"] { --tw-exit-translate-x: -100%; } .data-\[state\=closed\]\:slide-out-to-left-1\/2[data-state="closed"] { --tw-exit-translate-x: -50%; } .data-\[state\=closed\]\:slide-out-to-right[data-state="closed"] { --tw-exit-translate-x: 100%; } .data-\[state\=closed\]\:slide-out-to-right-full[data-state="closed"] { --tw-exit-translate-x: 100%; } .data-\[state\=closed\]\:slide-out-to-top[data-state="closed"] { --tw-exit-translate-y: -100%; } .data-\[state\=closed\]\:slide-out-to-top-\[48\%\][data-state="closed"] { --tw-exit-translate-y: -48%; } .data-\[state\=open\]\:slide-in-from-bottom[data-state="open"] { --tw-enter-translate-y: 100%; } .data-\[state\=open\]\:slide-in-from-left[data-state="open"] { --tw-enter-translate-x: -100%; } .data-\[state\=open\]\:slide-in-from-left-1\/2[data-state="open"] { --tw-enter-translate-x: -50%; } .data-\[state\=open\]\:slide-in-from-right[data-state="open"] { --tw-enter-translate-x: 100%; } .data-\[state\=open\]\:slide-in-from-top[data-state="open"] { --tw-enter-translate-y: -100%; } .data-\[state\=open\]\:slide-in-from-top-\[48\%\][data-state="open"] { --tw-enter-translate-y: -48%; } .data-\[state\=open\]\:slide-in-from-top-full[data-state="open"] { --tw-enter-translate-y: -100%; } .data-\[state\=closed\]\:duration-300[data-state="closed"] { animation-duration: 300ms; } .data-\[state\=open\]\:duration-500[data-state="open"] { animation-duration: 500ms; } .data-\[panel-group-direction\=vertical\]\:after\:left-0[data-panel-group-direction="vertical"]::after { content: var(--tw-content); left: 0px; } .data-\[panel-group-direction\=vertical\]\:after\:h-1[data-panel-group-direction="vertical"]::after { content: var(--tw-content); height: 0.25rem; } .data-\[panel-group-direction\=vertical\]\:after\:w-full[data-panel-group-direction="vertical"]::after { content: var(--tw-content); width: 100%; } .data-\[panel-group-direction\=vertical\]\:after\:-translate-y-1\/2[data-panel-group-direction="vertical"]::after { content: var(--tw-content); --tw-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)); } .data-\[panel-group-direction\=vertical\]\:after\:translate-x-0[data-panel-group-direction="vertical"]::after { content: var(--tw-content); --tw-translate-x: 0px; 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)); } .data-\[state\=open\]\:hover\:bg-accent:hover[data-state="open"] { background-color: hsl(var(--accent)); } .data-\[state\=open\]\:focus\:bg-accent:focus[data-state="open"] { background-color: hsl(var(--accent)); } .group[data-state="open"] .group-data-\[state\=open\]\:rotate-180 { --tw-rotate: 180deg; 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)); } .dark\:border-destructive:is(.dark *) { border-color: hsl(var(--destructive)); } @media (min-width: 640px) { .sm\:bottom-0 { bottom: 0px; } .sm\:right-0 { right: 0px; } .sm\:top-auto { top: auto; } .sm\:mt-0 { margin-top: 0px; } .sm\:max-w-sm { max-width: 24rem; } .sm\:flex-row { flex-direction: row; } .sm\:flex-col { flex-direction: column; } .sm\:justify-end { justify-content: flex-end; } .sm\:gap-2\.5 { gap: 0.625rem; } .sm\:space-x-2 > :not([hidden]) ~ :not([hidden]) { --tw-space-x-reverse: 0; margin-right: calc(0.5rem * var(--tw-space-x-reverse)); margin-left: calc(0.5rem * calc(1 - var(--tw-space-x-reverse))); } .sm\:space-x-4 > :not([hidden]) ~ :not([hidden]) { --tw-space-x-reverse: 0; margin-right: calc(1rem * var(--tw-space-x-reverse)); margin-left: calc(1rem * calc(1 - var(--tw-space-x-reverse))); } .sm\:space-y-0 > :not([hidden]) ~ :not([hidden]) { --tw-space-y-reverse: 0; margin-top: calc(0px * calc(1 - var(--tw-space-y-reverse))); margin-bottom: calc(0px * var(--tw-space-y-reverse)); } .sm\:rounded-lg { border-radius: var(--radius); } .sm\:text-left { text-align: left; } .data-\[state\=open\]\:sm\:slide-in-from-bottom-full[data-state="open"] { --tw-enter-translate-y: 100%; } } @media (min-width: 768px) { .md\:absolute { position: absolute; } .md\:col-span-2 { grid-column: span 2 / span 2; } .md\:flex { display: flex; } .md\:hidden { display: none; } .md\:w-\[var\(--radix-navigation-menu-viewport-width\)\] { width: var(--radix-navigation-menu-viewport-width); } .md\:w-auto { width: auto; } .md\:max-w-\[420px\] { max-width: 420px; } .md\:grid-cols-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); } .md\:grid-cols-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); } .md\:grid-cols-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); } .md\:flex-row { flex-direction: row; } .md\:text-sm { font-size: 0.875rem; line-height: 1.25rem; } .md\:text-2xl { font-size: 1.5rem; line-height: 2rem; } .md\:text-5xl { font-size: 3rem; line-height: 1; } .md\:text-8xl { font-size: 6rem; line-height: 1; } .md\:text-lg { font-size: 1.125rem; line-height: 1.75rem; } } @media (min-width: 1024px) { .lg\:grid-cols-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); } .lg\:grid-cols-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); } .lg\:grid-cols-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); } .lg\:text-9xl { font-size: 8rem; line-height: 1; } } .\[\&\+div\]\:text-xs + div { font-size: 0.75rem; line-height: 1rem; } .\[\&\:has\(\>\.day-range-end\)\]\:rounded-r-md:has(> .day-range-end) { border-top-right-radius: calc(var(--radius) - 2px); border-bottom-right-radius: calc(var(--radius) - 2px); } .\[\&\:has\(\>\.day-range-start\)\]\:rounded-l-md:has( > .day-range-start ) { border-top-left-radius: calc(var(--radius) - 2px); border-bottom-left-radius: calc(var(--radius) - 2px); } .\[\&\:has\(\[aria-selected\]\)\]\:rounded-md:has([aria-selected]) { border-radius: calc(var(--radius) - 2px); } .\[\&\:has\(\[aria-selected\]\)\]\:bg-accent:has([aria-selected]) { background-color: hsl(var(--accent)); } .first\:\[\&\:has\(\[aria-selected\]\)\]\:rounded-l-md:has( [aria-selected] ):first-child { border-top-left-radius: calc(var(--radius) - 2px); border-bottom-left-radius: calc(var(--radius) - 2px); } .last\:\[\&\:has\(\[aria-selected\]\)\]\:rounded-r-md:has( [aria-selected] ):last-child { border-top-right-radius: calc(var(--radius) - 2px); border-bottom-right-radius: calc(var(--radius) - 2px); } .\[\&\:has\(\[aria-selected\]\.day-outside\)\]\:bg-accent\/50:has( [aria-selected].day-outside ) { background-color: hsl(var(--accent) / 0.5); } .\[\&\:has\(\[aria-selected\]\.day-range-end\)\]\:rounded-r-md:has( [aria-selected].day-range-end ) { border-top-right-radius: calc(var(--radius) - 2px); border-bottom-right-radius: calc(var(--radius) - 2px); } .\[\&\:has\(\[role\=checkbox\]\)\]\:pr-0:has([role="checkbox"]) { padding-right: 0px; } .\[\&\>\[role\=checkbox\]\]\:translate-y-\[2px\] > [role="checkbox"] { --tw-translate-y: 2px; 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)); } .\[\&\>span\]\:line-clamp-1 > span { overflow: hidden; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 1; } .\[\&\>svg\+div\]\:translate-y-\[-3px\] > svg + div { --tw-translate-y: -3px; 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)); } .\[\&\>svg\]\:absolute > svg { position: absolute; } .\[\&\>svg\]\:left-4 > svg { left: 1rem; } .\[\&\>svg\]\:top-4 > svg { top: 1rem; } .\[\&\>svg\]\:size-4 > svg { width: 1rem; height: 1rem; } .\[\&\>svg\]\:h-3\.5 > svg { height: 0.875rem; } .\[\&\>svg\]\:w-3\.5 > svg { width: 0.875rem; } .\[\&\>svg\]\:shrink-0 > svg { flex-shrink: 0; } .\[\&\>svg\]\:text-destructive > svg { color: hsl(var(--destructive)); } .\[\&\>svg\]\:text-foreground > svg { color: hsl(var(--foreground)); } .\[\&\>svg\~\*\]\:pl-7 > svg ~ * { padding-left: 1.75rem; } .\[\&\>tr\]\:last\:border-b-0:last-child > tr { border-bottom-width: 0px; } .\[\&\[data-panel-group-direction\=vertical\]\>div\]\:rotate-90[data-panel-group-direction="vertical"] > div { --tw-rotate: 90deg; 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)); } .\[\&\[data-state\=open\]\>svg\]\:rotate-180[data-state="open"] > svg { --tw-rotate: 180deg; 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)); } .\[\&_\[cmdk-group-heading\]\]\:px-2 [cmdk-group-heading] { padding-left: 0.5rem; padding-right: 0.5rem; } .\[\&_\[cmdk-group-heading\]\]\:py-1\.5 [cmdk-group-heading] { padding-top: 0.375rem; padding-bottom: 0.375rem; } .\[\&_\[cmdk-group-heading\]\]\:text-xs [cmdk-group-heading] { font-size: 0.75rem; line-height: 1rem; } .\[\&_\[cmdk-group-heading\]\]\:font-medium [cmdk-group-heading] { font-weight: 500; } .\[\&_\[cmdk-group-heading\]\]\:text-muted-foreground [cmdk-group-heading] { color: hsl(var(--muted-foreground)); } .\[\&_\[cmdk-group\]\:not\(\[hidden\]\)_\~\[cmdk-group\]\]\:pt-0 [cmdk-group]:not([hidden]) ~ [cmdk-group] { padding-top: 0px; } .\[\&_\[cmdk-group\]\]\:px-2 [cmdk-group] { padding-left: 0.5rem; padding-right: 0.5rem; } .\[\&_\[cmdk-input-wrapper\]_svg\]\:h-5 [cmdk-input-wrapper] svg { height: 1.25rem; } .\[\&_\[cmdk-input-wrapper\]_svg\]\:w-5 [cmdk-input-wrapper] svg { width: 1.25rem; } .\[\&_\[cmdk-input\]\]\:h-12 [cmdk-input] { height: 3rem; } .\[\&_\[cmdk-item\]\]\:px-2 [cmdk-item] { padding-left: 0.5rem; padding-right: 0.5rem; } .\[\&_\[cmdk-item\]\]\:py-3 [cmdk-item] { padding-top: 0.75rem; padding-bottom: 0.75rem; } .\[\&_\[cmdk-item\]_svg\]\:h-5 [cmdk-item] svg { height: 1.25rem; } .\[\&_\[cmdk-item\]_svg\]\:w-5 [cmdk-item] svg { width: 1.25rem; } .\[\&_p\]\:leading-relaxed p { line-height: 1.625; } .\[\&_svg\]\:pointer-events-none svg { pointer-events: none; } .\[\&_svg\]\:size-4 svg { width: 1rem; height: 1rem; } .\[\&_svg\]\:shrink-0 svg { flex-shrink: 0; } .\[\&_tr\:last-child\]\:border-0 tr:last-child { border-width: 0px; } .\[\&_tr\]\:border-b tr { border-bottom-width: 1px; } /*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8uL3NyYy9pbmRleC5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7RUFBQSx3QkFBYztFQUFkLHdCQUFjO0VBQWQsbUJBQWM7RUFBZCxtQkFBYztFQUFkLGNBQWM7RUFBZCxjQUFjO0VBQWQsY0FBYztFQUFkLGVBQWM7RUFBZCxlQUFjO0VBQWQsYUFBYztFQUFkLGFBQWM7RUFBZCxrQkFBYztFQUFkLHNDQUFjO0VBQWQsOEJBQWM7RUFBZCw2QkFBYztFQUFkLDRCQUFjO0VBQWQsZUFBYztFQUFkLG9CQUFjO0VBQWQsc0JBQWM7RUFBZCx1QkFBYztFQUFkLHdCQUFjO0VBQWQsa0JBQWM7RUFBZCwyQkFBYztFQUFkLDRCQUFjO0VBQWQsc0NBQWM7RUFBZCxrQ0FBYztFQUFkLDJCQUFjO0VBQWQsc0JBQWM7RUFBZCw4QkFBYztFQUFkLFlBQWM7RUFBZCxrQkFBYztFQUFkLGdCQUFjO0VBQWQsaUJBQWM7RUFBZCxrQkFBYztFQUFkLGNBQWM7RUFBZCxnQkFBYztFQUFkLGFBQWM7RUFBZCxtQkFBYztFQUFkLHFCQUFjO0VBQWQsMkJBQWM7RUFBZCx5QkFBYztFQUFkLDBCQUFjO0VBQWQsMkJBQWM7RUFBZCx1QkFBYztFQUFkLHdCQUFjO0VBQWQseUJBQWM7RUFBZCxzQkFBYztFQUFkLG9CQUFjO0VBQWQsc0JBQWM7RUFBZCxxQkFBYztFQUFkO0FBQWM7O0FBQWQ7RUFBQSx3QkFBYztFQUFkLHdCQUFjO0VBQWQsbUJBQWM7RUFBZCxtQkFBYztFQUFkLGNBQWM7RUFBZCxjQUFjO0VBQWQsY0FBYztFQUFkLGVBQWM7RUFBZCxlQUFjO0VBQWQsYUFBYztFQUFkLGFBQWM7RUFBZCxrQkFBYztFQUFkLHNDQUFjO0VBQWQsOEJBQWM7RUFBZCw2QkFBYztFQUFkLDRCQUFjO0VBQWQsZUFBYztFQUFkLG9CQUFjO0VBQWQsc0JBQWM7RUFBZCx1QkFBYztFQUFkLHdCQUFjO0VBQWQsa0JBQWM7RUFBZCwyQkFBYztFQUFkLDRCQUFjO0VBQWQsc0NBQWM7RUFBZCxrQ0FBYztFQUFkLDJCQUFjO0VBQWQsc0JBQWM7RUFBZCw4QkFBYztFQUFkLFlBQWM7RUFBZCxrQkFBYztFQUFkLGdCQUFjO0VBQWQsaUJBQWM7RUFBZCxrQkFBYztFQUFkLGNBQWM7RUFBZCxnQkFBYztFQUFkLGFBQWM7RUFBZCxtQkFBYztFQUFkLHFCQUFjO0VBQWQsMkJBQWM7RUFBZCx5QkFBYztFQUFkLDBCQUFjO0VBQWQsMkJBQWM7RUFBZCx1QkFBYztFQUFkLHdCQUFjO0VBQWQseUJBQWM7RUFBZCxzQkFBYztFQUFkLG9CQUFjO0VBQWQsc0JBQWM7RUFBZCxxQkFBYztFQUFkO0FBQWMsQ0FBZDs7Q0FBYyxDQUFkOzs7Q0FBYzs7QUFBZDs7O0VBQUEsc0JBQWMsRUFBZCxNQUFjO0VBQWQsZUFBYyxFQUFkLE1BQWM7RUFBZCxtQkFBYyxFQUFkLE1BQWM7RUFBZCxxQkFBYyxFQUFkLE1BQWM7QUFBQTs7QUFBZDs7RUFBQSxnQkFBYztBQUFBOztBQUFkOzs7Ozs7OztDQUFjOztBQUFkOztFQUFBLGdCQUFjLEVBQWQsTUFBYztFQUFkLDhCQUFjLEVBQWQsTUFBYyxFQUFkLE1BQWM7RUFBZCxXQUFjLEVBQWQsTUFBYztFQUFkLCtIQUFjLEVBQWQsTUFBYztFQUFkLDZCQUFjLEVBQWQsTUFBYztFQUFkLCtCQUFjLEVBQWQsTUFBYztFQUFkLHdDQUFjLEVBQWQsTUFBYztBQUFBOztBQUFkOzs7Q0FBYzs7QUFBZDtFQUFBLFNBQWMsRUFBZCxNQUFjO0VBQWQsb0JBQWMsRUFBZCxNQUFjO0FBQUE7O0FBQWQ7Ozs7Q0FBYzs7QUFBZDtFQUFBLFNBQWMsRUFBZCxNQUFjO0VBQWQsY0FBYyxFQUFkLE1BQWM7RUFBZCxxQkFBYyxFQUFkLE1BQWM7QUFBQTs7QUFBZDs7Q0FBYzs7QUFBZDtFQUFBLHlDQUFjO1VBQWQsaUNBQWM7QUFBQTs7QUFBZDs7Q0FBYzs7QUFBZDs7Ozs7O0VBQUEsa0JBQWM7RUFBZCxvQkFBYztBQUFBOztBQUFkOztDQUFjOztBQUFkO0VBQUEsY0FBYztFQUFkLHdCQUFjO0FBQUE7O0FBQWQ7O0NBQWM7O0FBQWQ7O0VBQUEsbUJBQWM7QUFBQTs7QUFBZDs7Ozs7Q0FBYzs7QUFBZDs7OztFQUFBLCtHQUFjLEVBQWQsTUFBYztFQUFkLDZCQUFjLEVBQWQsTUFBYztFQUFkLCtCQUFjLEVBQWQsTUFBYztFQUFkLGNBQWMsRUFBZCxNQUFjO0FBQUE7O0FBQWQ7O0NBQWM7O0FBQWQ7RUFBQSxjQUFjO0FBQUE7O0FBQWQ7O0NBQWM7O0FBQWQ7O0VBQUEsY0FBYztFQUFkLGNBQWM7RUFBZCxrQkFBYztFQUFkLHdCQUFjO0FBQUE7O0FBQWQ7RUFBQSxlQUFjO0FBQUE7O0FBQWQ7RUFBQSxXQUFjO0FBQUE7O0FBQWQ7Ozs7Q0FBYzs7QUFBZDtFQUFBLGNBQWMsRUFBZCxNQUFjO0VBQWQscUJBQWMsRUFBZCxNQUFjO0VBQWQseUJBQWMsRUFBZCxNQUFjO0FBQUE7O0FBQWQ7Ozs7Q0FBYzs7QUFBZDs7Ozs7RUFBQSxvQkFBYyxFQUFkLE1BQWM7RUFBZCw4QkFBYyxFQUFkLE1BQWM7RUFBZCxnQ0FBYyxFQUFkLE1BQWM7RUFBZCxlQUFjLEVBQWQsTUFBYztFQUFkLG9CQUFjLEVBQWQsTUFBYztFQUFkLG9CQUFjLEVBQWQsTUFBYztFQUFkLHVCQUFjLEVBQWQsTUFBYztFQUFkLGNBQWMsRUFBZCxNQUFjO0VBQWQsU0FBYyxFQUFkLE1BQWM7RUFBZCxVQUFjLEVBQWQsTUFBYztBQUFBOztBQUFkOztDQUFjOztBQUFkOztFQUFBLG9CQUFjO0FBQUE7O0FBQWQ7OztDQUFjOztBQUFkOzs7O0VBQUEsMEJBQWMsRUFBZCxNQUFjO0VBQWQsNkJBQWMsRUFBZCxNQUFjO0VBQWQsc0JBQWMsRUFBZCxNQUFjO0FBQUE7O0FBQWQ7O0NBQWM7O0FBQWQ7RUFBQSxhQUFjO0FBQUE7O0FBQWQ7O0NBQWM7O0FBQWQ7RUFBQSxnQkFBYztBQUFBOztBQUFkOztDQUFjOztBQUFkO0VBQUEsd0JBQWM7QUFBQTs7QUFBZDs7Q0FBYzs7QUFBZDs7RUFBQSxZQUFjO0FBQUE7O0FBQWQ7OztDQUFjOztBQUFkO0VBQUEsNkJBQWMsRUFBZCxNQUFjO0VBQWQsb0JBQWMsRUFBZCxNQUFjO0FBQUE7O0FBQWQ7O0NBQWM7O0FBQWQ7RUFBQSx3QkFBYztBQUFBOztBQUFkOzs7Q0FBYzs7QUFBZDtFQUFBLDBCQUFjLEVBQWQsTUFBYztFQUFkLGFBQWMsRUFBZCxNQUFjO0FBQUE7O0FBQWQ7O0NBQWM7O0FBQWQ7RUFBQSxrQkFBYztBQUFBOztBQUFkOztDQUFjOztBQUFkOzs7Ozs7Ozs7Ozs7O0VBQUEsU0FBYztBQUFBOztBQUFkO0VBQUEsU0FBYztFQUFkLFVBQWM7QUFBQTs7QUFBZDtFQUFBLFVBQWM7QUFBQTs7QUFBZDs7O0VBQUEsZ0JBQWM7RUFBZCxTQUFjO0VBQWQsVUFBYztBQUFBOztBQUFkOztDQUFjO0FBQWQ7RUFBQSxVQUFjO0FBQUE7O0FBQWQ7O0NBQWM7O0FBQWQ7RUFBQSxnQkFBYztBQUFBOztBQUFkOzs7Q0FBYzs7QUFBZDs7RUFBQSxVQUFjLEVBQWQsTUFBYztFQUFkLGNBQWMsRUFBZCxNQUFjO0FBQUE7O0FBQWQ7O0NBQWM7O0FBQWQ7O0VBQUEsZUFBYztBQUFBOztBQUFkOztDQUFjO0FBQWQ7RUFBQSxlQUFjO0FBQUE7O0FBQWQ7Ozs7Q0FBYzs7QUFBZDs7Ozs7Ozs7RUFBQSxjQUFjLEVBQWQsTUFBYztFQUFkLHNCQUFjLEVBQWQsTUFBYztBQUFBOztBQUFkOztDQUFjOztBQUFkOztFQUFBLGVBQWM7RUFBZCxZQUFjO0FBQUE7O0FBQWQsd0VBQWM7QUFBZDtFQUFBLGFBQWM7QUFBQTtJQUFkO1FBQUEsdUJBQWM7UUFBZCx1QkFBYztRQUFkLGlCQUFjO1FBQWQsNEJBQWM7UUFBZCxvQkFBYztRQUFkLCtCQUFjO1FBQWQsa0JBQWM7UUFBZCw4QkFBYztRQUFkLHVCQUFjO1FBQWQsK0JBQWM7UUFBZCxtQkFBYztRQUFkLDhCQUFjO1FBQWQsb0JBQWM7UUFBZCw0QkFBYztRQUFkLDRCQUFjO1FBQWQsa0NBQWM7UUFBZCxvQkFBYztRQUFkLG1CQUFjO1FBQWQsaUJBQWM7UUFBZCxxQkFBYztRQUFkLHNCQUFjO1FBQWQsc0JBQWM7UUFBZCxxQkFBYztRQUFkLHFCQUFjO1FBQWQsZ0JBQWM7SUFBQTtJQUFkO0VBQUE7QUFBYztJQUFkO0VBQUEsd0NBQWM7RUFBZDtBQUFjO0lBQWQ7UUFBQSw0QkFBYztJQUFBOztJQUFkO1FBQUEsb0JBQWM7UUFBZCxxQkFBYztRQUFkLG1CQUFjO1FBQWQsc0JBQWM7UUFBZCxxQkFBYztRQUFkLHNCQUFjO1FBQWQsb0JBQWM7UUFBZCx1QkFBYztRQUFkLG1CQUFjO1FBQWQsZ0JBQWM7UUFBZCxZQUFjO1FBQWQsMEJBQWM7UUFBZCwyQkFBYztRQUFkLHlCQUFjO1FBQWQsNEJBQWM7UUFBZCwwQkFBYztRQUFkLDJCQUFjO1FBQWQseUJBQWM7UUFBZCw0QkFBYztRQUFkLDBCQUFjO1FBQWQsMkJBQWM7UUFBZCx5QkFBYztRQUFkLDRCQUFjO0lBQUE7QUFFZDtFQUFBLGtCQUFtQjtFQUFuQixVQUFtQjtFQUFuQixXQUFtQjtFQUFuQixVQUFtQjtFQUFuQixZQUFtQjtFQUFuQixnQkFBbUI7RUFBbkIsc0JBQW1CO0VBQW5CLG1CQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQSxTQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLFFBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQSxxQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSxpQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSxtQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQSxnQkFBbUI7RUFBbkIsb0JBQW1CO0VBQW5CLDRCQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBLHNCQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLHNCQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLHNCQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLHNCQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLGtCQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLGtCQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5COztFQUFBO0lBQUE7RUFBbUI7QUFBQTtBQUFuQjtFQUFBO0FBQW1CO0FBQW5COztFQUFBO0lBQUEsMkJBQW1CO0lBQW5CO0VBQW1COztFQUFuQjtJQUFBLGVBQW1CO0lBQW5CO0VBQW1CO0FBQUE7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBLHlCQUFtQjtVQUFuQjtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUEsdUJBQW1CO0VBQW5CLHVEQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLHVCQUFtQjtFQUFuQixzREFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSx1QkFBbUI7RUFBbkIsK0RBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsdUJBQW1CO0VBQW5CLGdFQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLHVCQUFtQjtFQUFuQiw4REFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSx1QkFBbUI7RUFBbkIsNERBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsdUJBQW1CO0VBQW5CLDhEQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLHVCQUFtQjtFQUFuQiw0REFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQSw0QkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQSxxQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBLHNCQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLHNCQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBLGtCQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUEsa0JBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsa0JBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQSxrQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBLGtCQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUEsc0JBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsb0JBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsc0JBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEscUJBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsa0JBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsa0JBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEscUJBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsb0JBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEscUJBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsbUJBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsb0JBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsaUJBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsbUJBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsaUJBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsaUJBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUEsZUFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSxtQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSxtQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSxrQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSxpQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSxrQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSxrQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSxrQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQSxvQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSxvQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSxvQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSxvQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSxvQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSxvQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUEsMEVBQW1CO0VBQW5CLDhGQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLCtFQUFtQjtFQUFuQixtR0FBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSw2RUFBbUI7RUFBbkIsaUdBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsMENBQW1CO0VBQW5CLHVEQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLDhCQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUEsMkdBQW1CO0VBQW5CLHlHQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLDJHQUFtQjtFQUFuQix5R0FBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQSw2QkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSx3SkFBbUI7RUFBbkIsd0RBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsd0JBQW1CO0VBQW5CLHdEQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLCtGQUFtQjtFQUFuQix3REFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSw0QkFBbUI7RUFBbkIsd0RBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsOEJBQW1CO0VBQW5CLHdEQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7O0VBQUE7SUFBQSxtQ0FBbUI7SUFBbkI7RUFBbUI7QUFBQTtBQUFuQjs7RUFBQTtJQUFBLGtDQUFtQjtJQUFuQjtFQUFtQjtBQUFBO0FBQW5CO0VBQUEscUJBQW1CO0VBQW5CLHlCQUFtQjtFQUFuQiwyQkFBbUI7RUFBbkIseUJBQW1CO0VBQW5CLDBCQUFtQjtFQUFuQiwrQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1COztBQUVuQjtJQUNJLFNBQVM7SUFDVDs7O2tCQUdjO0lBQ2QsbUNBQW1DO0lBQ25DLGtDQUFrQztBQUN0Qzs7QUFFQTtJQUNJOzBFQUNzRTtBQUMxRTs7QUFqQkE7RUFBQTtBQW1IQTs7QUFuSEE7RUFBQTtBQW1IQTs7QUFuSEE7RUFBQSxtQkFtSEE7RUFuSEE7QUFtSEE7O0FBbkhBO0VBQUE7QUFtSEE7O0FBbkhBO0VBQUE7QUFtSEE7O0FBbkhBO0VBQUE7QUFtSEE7O0FBbkhBO0VBQUEsb0JBbUhBO0VBbkhBO0FBbUhBOztBQW5IQTtFQUFBLDBCQW1IQTtFQW5IQTtBQW1IQTs7QUFuSEE7RUFBQSwwQkFtSEE7RUFuSEEsUUFtSEE7RUFuSEE7QUFtSEE7O0FBbkhBO0VBQUEsMEJBbUhBO0VBbkhBO0FBbUhBOztBQW5IQTtFQUFBLDBCQW1IQTtFQW5IQTtBQW1IQTs7QUFuSEE7RUFBQSwwQkFtSEE7RUFuSEEsc0JBbUhBO0VBbkhBO0FBbUhBOztBQW5IQTtFQUFBLGlEQW1IQTtFQW5IQTtBQW1IQTs7QUFuSEE7RUFBQTtBQW1IQTs7QUFuSEE7RUFBQSxrREFtSEE7RUFuSEE7QUFtSEE7O0FBbkhBO0VBQUE7QUFtSEE7O0FBbkhBO0VBQUE7QUFtSEE7O0FBbkhBO0VBQUEsa0JBbUhBO0VBbkhBLGtCQW1IQTtFQW5IQTtBQW1IQTs7QUFuSEE7RUFBQTtBQW1IQTs7QUFuSEE7RUFBQSxzQkFtSEE7RUFuSEE7QUFtSEE7O0FBbkhBO0VBQUE7QUFtSEE7O0FBbkhBO0VBQUE7QUFtSEE7O0FBbkhBO0VBQUE7QUFtSEE7O0FBbkhBO0VBQUE7QUFtSEE7O0FBbkhBO0VBQUE7QUFtSEE7O0FBbkhBO0VBQUE7QUFtSEE7O0FBbkhBO0VBQUE7QUFtSEE7O0FBbkhBO0VBQUE7QUFtSEE7O0FBbkhBO0VBQUE7QUFtSEE7O0FBbkhBO0VBQUE7QUFtSEE7O0FBbkhBO0VBQUEsa0JBbUhBO0VBbkhBO0FBbUhBOztBQW5IQTtFQUFBLGtCQW1IQTtFQW5IQTtBQW1IQTs7QUFuSEE7RUFBQSxrQkFtSEE7RUFuSEE7QUFtSEE7O0FBbkhBO0VBQUE7QUFtSEE7O0FBbkhBO0VBQUE7QUFtSEE7O0FBbkhBO0VBQUE7QUFtSEE7O0FBbkhBO0VBQUE7QUFtSEE7O0FBbkhBO0VBQUE7QUFtSEE7O0FBbkhBO0VBQUEsb0JBbUhBO0VBbkhBO0FBbUhBOztBQW5IQTtFQUFBLG9CQW1IQTtFQW5IQTtBQW1IQTs7QUFuSEE7RUFBQTtBQW1IQTs7QUFuSEE7RUFBQTtBQW1IQTs7QUFuSEE7RUFBQTtBQW1IQTs7QUFuSEE7RUFBQTtBQW1IQTs7QUFuSEE7RUFBQTtBQW1IQTs7QUFuSEE7RUFBQTtBQW1IQTs7QUFuSEE7RUFBQTtBQW1IQTs7QUFuSEE7RUFBQSw4QkFtSEE7RUFuSEE7QUFtSEE7O0FBbkhBO0VBQUEsMkdBbUhBO0VBbkhBLHlHQW1IQTtFQW5IQTtBQW1IQTs7QUFuSEE7RUFBQSwyR0FtSEE7RUFuSEEseUdBbUhBO0VBbkhBO0FBbUhBOztBQW5IQTtFQUFBO0FBbUhBOztBQW5IQTtFQUFBO0FBbUhBOztBQW5IQTtFQUFBLDhCQW1IQTtFQW5IQTtBQW1IQTs7QUFuSEE7RUFBQSwyR0FtSEE7RUFuSEEseUdBbUhBO0VBbkhBO0FBbUhBOztBQW5IQTtFQUFBLDJHQW1IQTtFQW5IQSx5R0FtSEE7RUFuSEE7QUFtSEE7O0FBbkhBO0VBQUE7QUFtSEE7O0FBbkhBO0VBQUE7QUFtSEE7O0FBbkhBO0VBQUE7QUFtSEE7O0FBbkhBO0VBQUE7QUFtSEE7O0FBbkhBO0VBQUE7QUFtSEE7O0FBbkhBO0VBQUE7QUFtSEE7O0FBbkhBO0VBQUE7QUFtSEE7O0FBbkhBO0VBQUEsaUJBbUhBO0VBbkhBLGlCQW1IQTtFQW5IQTtBQW1IQTs7QUFuSEE7RUFBQSxvQkFtSEE7RUFuSEE7QUFtSEE7O0FBbkhBO0VBQUE7QUFtSEE7O0FBbkhBO0VBQUE7QUFtSEE7O0FBbkhBO0VBQUE7QUFtSEE7O0FBbkhBO0VBQUE7QUFtSEE7O0FBbkhBO0VBQUE7QUFtSEE7O0FBbkhBO0VBQUE7QUFtSEE7O0FBbkhBO0VBQUEsb0JBbUhBO0VBbkhBO0FBbUhBOztBQW5IQTtFQUFBO0FBbUhBOztBQW5IQTtFQUFBO0FBbUhBOztBQW5IQTtFQUFBO0FBbUhBOztBQW5IQTtFQUFBLCtFQW1IQTtFQW5IQSxtR0FtSEE7RUFuSEE7QUFtSEE7O0FBbkhBO0VBQUE7QUFtSEE7O0FBbkhBO0VBQUE7QUFtSEE7O0FBbkhBO0VBQUE7QUFtSEE7O0FBbkhBO0VBQUEsb0JBbUhBO0VBbkhBO0FBbUhBOztBQW5IQTtFQUFBO0FBbUhBOztBQW5IQTtFQUFBLG9CQW1IQTtFQW5IQTtBQW1IQTs7QUFuSEE7RUFBQTtBQW1IQTs7QUFuSEE7RUFBQTtBQW1IQTs7QUFuSEE7RUFBQTtBQW1IQTs7QUFuSEE7RUFBQTtBQW1IQTs7QUFuSEE7RUFBQTtBQW1IQTs7QUFuSEE7RUFBQTtBQW1IQTs7QUFuSEE7RUFBQTtBQW1IQTs7QUFuSEE7RUFBQTtBQW1IQTs7QUFuSEE7RUFBQTtBQW1IQTs7QUFuSEE7RUFBQTtBQW1IQTs7QUFuSEE7RUFBQTtBQW1IQTs7QUFuSEE7RUFBQTtBQW1IQTs7QUFuSEE7RUFBQTtBQW1IQTs7QUFuSEE7RUFBQSx5QkFtSEE7RUFuSEE7QUFtSEE7O0FBbkhBO0VBQUEsMEJBbUhBO0VBbkhBO0FBbUhBOztBQW5IQTtFQUFBLHlCQW1IQTtFQW5IQTtBQW1IQTs7QUFuSEE7RUFBQSwwQkFtSEE7RUFuSEE7QUFtSEE7O0FBbkhBO0VBQUEsc0JBbUhBO0VBbkhBO0FBbUhBOztBQW5IQTtFQUFBLHFCQW1IQTtFQW5IQTtBQW1IQTs7QUFuSEE7RUFBQSxxQkFtSEE7RUFuSEE7QUFtSEE7O0FBbkhBO0VBQUEsZ0RBbUhBO0VBbkhBO0FBbUhBOztBQW5IQTtFQUFBLGlEQW1IQTtFQW5IQTtBQW1IQTs7QUFuSEE7O0VBQUE7SUFBQTtFQW1IQTs7RUFuSEE7SUFBQTtFQW1IQTtBQUFBOztBQW5IQTtFQUFBO0FBbUhBOztBQW5IQTs7RUFBQTtJQUFBO0VBbUhBOztFQW5IQTtJQUFBO0VBbUhBO0FBQUE7O0FBbkhBO0VBQUE7QUFtSEE7O0FBbkhBO0VBQUE7QUFtSEE7O0FBbkhBO0VBQUE7QUFtSEE7O0FBbkhBO0VBQUE7QUFtSEE7O0FBbkhBO0VBQUE7QUFtSEE7O0FBbkhBO0VBQUE7QUFtSEE7O0FBbkhBO0VBQUE7QUFtSEE7O0FBbkhBO0VBQUE7QUFtSEE7O0FBbkhBO0VBQUE7QUFtSEE7O0FBbkhBO0VBQUE7QUFtSEE7O0FBbkhBO0VBQUE7QUFtSEE7O0FBbkhBO0VBQUE7QUFtSEE7O0FBbkhBO0VBQUE7QUFtSEE7O0FBbkhBO0VBQUE7QUFtSEE7O0FBbkhBO0VBQUE7QUFtSEE7O0FBbkhBO0VBQUE7QUFtSEE7O0FBbkhBO0VBQUE7QUFtSEE7O0FBbkhBO0VBQUE7QUFtSEE7O0FBbkhBO0VBQUE7QUFtSEE7O0FBbkhBO0VBQUE7QUFtSEE7O0FBbkhBO0VBQUEsMEVBbUhBO0VBbkhBLDhGQW1IQTtFQW5IQTtBQW1IQTs7QUFuSEE7RUFBQTtBQW1IQTs7QUFuSEE7RUFBQTtBQW1IQTs7QUFuSEE7RUFBQTtBQW1IQTs7QUFuSEE7RUFBQSxxQkFtSEE7RUFuSEEseUJBbUhBO0VBbkhBLDJCQW1IQTtFQW5IQSx5QkFtSEE7RUFuSEEsMEJBbUhBO0VBbkhBLCtCQW1IQTtFQW5IQTtBQW1IQTs7QUFuSEE7RUFBQSxxQkFtSEE7RUFuSEEseUJBbUhBO0VBbkhBLDJCQW1IQTtFQW5IQSx5QkFtSEE7RUFuSEEsMEJBbUhBO0VBbkhBLCtCQW1IQTtFQW5IQTtBQW1IQTs7QUFuSEE7RUFBQSxxQkFtSEE7RUFuSEEseUJBbUhBO0VBbkhBLDJCQW1IQTtFQW5IQSx5QkFtSEE7RUFuSEEsMEJBbUhBO0VBbkhBLCtCQW1IQTtFQW5IQTtBQW1IQTs7QUFuSEE7RUFBQSxvQkFtSEE7RUFuSEEseUJBbUhBO0VBbkhBLDBCQW1IQTtFQW5IQSx3QkFtSEE7RUFuSEEseUJBbUhBO0VBbkhBLDhCQW1IQTtFQW5IQTtBQW1IQTs7QUFuSEE7RUFBQSxvQkFtSEE7RUFuSEEseUJBbUhBO0VBbkhBLDBCQW1IQTtFQW5IQSx3QkFtSEE7RUFuSEEseUJBbUhBO0VBbkhBLDhCQW1IQTtFQW5IQTtBQW1IQTs7QUFuSEE7RUFBQSxvQkFtSEE7RUFuSEEseUJBbUhBO0VBbkhBLDBCQW1IQTtFQW5IQSx3QkFtSEE7RUFuSEEseUJBbUhBO0VBbkhBLDhCQW1IQTtFQW5IQTtBQW1IQTs7QUFuSEE7RUFBQSxvQkFtSEE7RUFuSEEseUJBbUhBO0VBbkhBLDBCQW1IQTtFQW5IQSx3QkFtSEE7RUFuSEEseUJBbUhBO0VBbkhBLDhCQW1IQTtFQW5IQTtBQW1IQTs7QUFuSEE7RUFBQTtBQW1IQTs7QUFuSEE7RUFBQTtBQW1IQTs7QUFuSEE7RUFBQTtBQW1IQTs7QUFuSEE7RUFBQTtBQW1IQTs7QUFuSEE7RUFBQTtBQW1IQTs7QUFuSEE7RUFBQTtBQW1IQTs7QUFuSEE7RUFBQTtBQW1IQTs7QUFuSEE7RUFBQTtBQW1IQTs7QUFuSEE7RUFBQTtBQW1IQTs7QUFuSEE7RUFBQTtBQW1IQTs7QUFuSEE7RUFBQTtBQW1IQTs7QUFuSEE7RUFBQTtBQW1IQTs7QUFuSEE7RUFBQTtBQW1IQTs7QUFuSEE7RUFBQTtBQW1IQTs7QUFuSEE7RUFBQTtBQW1IQTs7QUFuSEE7RUFBQTtBQW1IQTs7QUFuSEE7RUFBQTtBQW1IQTs7QUFuSEE7RUFBQTtBQW1IQTs7QUFuSEE7RUFBQTtBQW1IQTs7QUFuSEE7RUFBQTtBQW1IQTs7QUFuSEE7RUFBQTtBQW1IQTs7QUFuSEE7RUFBQTtBQW1IQTs7QUFuSEE7RUFBQTtBQW1IQTs7QUFuSEE7RUFBQTtBQW1IQTs7QUFuSEE7RUFBQTtBQW1IQTs7QUFuSEE7RUFBQTtBQW1IQTs7QUFuSEE7RUFBQTtBQW1IQTs7QUFuSEE7RUFBQTtBQW1IQTs7QUFuSEE7RUFBQTtBQW1IQTs7QUFuSEE7RUFBQTtBQW1IQTs7QUFuSEE7RUFBQTtBQW1IQTs7QUFuSEE7RUFBQTtBQW1IQTs7QUFuSEE7RUFBQTtBQW1IQTs7QUFuSEE7RUFBQTtBQW1IQTs7QUFuSEE7RUFBQSwwQkFtSEE7RUFuSEE7QUFtSEE7O0FBbkhBO0VBQUEsMEJBbUhBO0VBbkhBO0FBbUhBOztBQW5IQTtFQUFBLDBCQW1IQTtFQW5IQTtBQW1IQTs7QUFuSEE7RUFBQSwwQkFtSEE7RUFuSEEsc0JBbUhBO0VBbkhBO0FBbUhBOztBQW5IQTtFQUFBLDBCQW1IQTtFQW5IQSxxQkFtSEE7RUFuSEE7QUFtSEE7O0FBbkhBO0VBQUE7QUFtSEE7O0FBbkhBO0VBQUE7QUFtSEE7O0FBbkhBO0VBQUEsbUJBbUhBO0VBbkhBO0FBbUhBOztBQW5IQTtFQUFBO0FBbUhBOztBQW5IQTs7RUFBQTtJQUFBO0VBbUhBOztFQW5IQTtJQUFBO0VBbUhBOztFQW5IQTtJQUFBO0VBbUhBOztFQW5IQTtJQUFBO0VBbUhBOztFQW5IQTtJQUFBO0VBbUhBOztFQW5IQTtJQUFBO0VBbUhBOztFQW5IQTtJQUFBO0VBbUhBOztFQW5IQTtJQUFBO0VBbUhBOztFQW5IQTtJQUFBO0VBbUhBOztFQW5IQTtJQUFBLHVCQW1IQTtJQW5IQSxzREFtSEE7SUFuSEE7RUFtSEE7O0VBbkhBO0lBQUEsdUJBbUhBO0lBbkhBLG9EQW1IQTtJQW5IQTtFQW1IQTs7RUFuSEE7SUFBQSx1QkFtSEE7SUFuSEEsMkRBbUhBO0lBbkhBO0VBbUhBOztFQW5IQTtJQUFBO0VBbUhBOztFQW5IQTtJQUFBO0VBbUhBOztFQW5IQTtJQUFBO0VBbUhBO0FBQUE7O0FBbkhBOztFQUFBO0lBQUE7RUFtSEE7O0VBbkhBO0lBQUE7RUFtSEE7O0VBbkhBO0lBQUE7RUFtSEE7O0VBbkhBO0lBQUE7RUFtSEE7O0VBbkhBO0lBQUE7RUFtSEE7O0VBbkhBO0lBQUE7RUFtSEE7O0VBbkhBO0lBQUE7RUFtSEE7O0VBbkhBO0lBQUE7RUFtSEE7O0VBbkhBO0lBQUE7RUFtSEE7O0VBbkhBO0lBQUE7RUFtSEE7O0VBbkhBO0lBQUE7RUFtSEE7O0VBbkhBO0lBQUEsbUJBbUhBO0lBbkhBO0VBbUhBOztFQW5IQTtJQUFBLGlCQW1IQTtJQW5IQTtFQW1IQTs7RUFuSEE7SUFBQSxlQW1IQTtJQW5IQTtFQW1IQTs7RUFuSEE7SUFBQSxlQW1IQTtJQW5IQTtFQW1IQTs7RUFuSEE7SUFBQSxtQkFtSEE7SUFuSEE7RUFtSEE7QUFBQTs7QUFuSEE7O0VBQUE7SUFBQTtFQW1IQTs7RUFuSEE7SUFBQTtFQW1IQTs7RUFuSEE7SUFBQTtFQW1IQTs7RUFuSEE7SUFBQSxlQW1IQTtJQW5IQTtFQW1IQTtBQUFBOztBQW5IQTtFQUFBLGtCQW1IQTtFQW5IQTtBQW1IQTs7QUFuSEE7RUFBQSxrREFtSEE7RUFuSEE7QUFtSEE7O0FBbkhBO0VBQUEsaURBbUhBO0VBbkhBO0FBbUhBOztBQW5IQTtFQUFBO0FBbUhBOztBQW5IQTtFQUFBO0FBbUhBOztBQW5IQTtFQUFBLGlEQW1IQTtFQW5IQTtBQW1IQTs7QUFuSEE7RUFBQSxrREFtSEE7RUFuSEE7QUFtSEE7O0FBbkhBO0VBQUE7QUFtSEE7O0FBbkhBO0VBQUEsa0RBbUhBO0VBbkhBO0FBbUhBOztBQW5IQTtFQUFBO0FBbUhBOztBQW5IQTtFQUFBLHFCQW1IQTtFQW5IQTtBQW1IQTs7QUFuSEE7RUFBQSxnQkFtSEE7RUFuSEEsb0JBbUhBO0VBbkhBLDRCQW1IQTtFQW5IQTtBQW1IQTs7QUFuSEE7RUFBQSxzQkFtSEE7RUFuSEE7QUFtSEE7O0FBbkhBO0VBQUE7QUFtSEE7O0FBbkhBO0VBQUE7QUFtSEE7O0FBbkhBO0VBQUE7QUFtSEE7O0FBbkhBO0VBQUEsV0FtSEE7RUFuSEE7QUFtSEE7O0FBbkhBO0VBQUE7QUFtSEE7O0FBbkhBO0VBQUE7QUFtSEE7O0FBbkhBO0VBQUE7QUFtSEE7O0FBbkhBO0VBQUE7QUFtSEE7O0FBbkhBO0VBQUE7QUFtSEE7O0FBbkhBO0VBQUE7QUFtSEE7O0FBbkhBO0VBQUE7QUFtSEE7O0FBbkhBO0VBQUEsa0JBbUhBO0VBbkhBO0FBbUhBOztBQW5IQTtFQUFBLG1CQW1IQTtFQW5IQTtBQW1IQTs7QUFuSEE7RUFBQSxvQkFtSEE7RUFuSEE7QUFtSEE7O0FBbkhBO0VBQUEscUJBbUhBO0VBbkhBO0FBbUhBOztBQW5IQTtFQUFBLGtCQW1IQTtFQW5IQTtBQW1IQTs7QUFuSEE7RUFBQTtBQW1IQTs7QUFuSEE7RUFBQTtBQW1IQTs7QUFuSEE7RUFBQTtBQW1IQTs7QUFuSEE7RUFBQSxvQkFtSEE7RUFuSEE7QUFtSEE7O0FBbkhBO0VBQUE7QUFtSEE7O0FBbkhBO0VBQUE7QUFtSEE7O0FBbkhBO0VBQUE7QUFtSEE7O0FBbkhBO0VBQUEsb0JBbUhBO0VBbkhBO0FBbUhBOztBQW5IQTtFQUFBLG9CQW1IQTtFQW5IQTtBQW1IQTs7QUFuSEE7RUFBQTtBQW1IQTs7QUFuSEE7RUFBQTtBQW1IQTs7QUFuSEE7RUFBQTtBQW1IQTs7QUFuSEE7RUFBQTtBQW1IQTs7QUFuSEE7RUFBQSxXQW1IQTtFQW5IQTtBQW1IQTs7QUFuSEE7RUFBQTtBQW1IQTs7QUFuSEE7RUFBQTtBQW1IQTs7QUFuSEE7RUFBQTtBQW1IQSIsInNvdXJjZXNDb250ZW50IjpbIkB0YWlsd2luZCBiYXNlO1xuQHRhaWx3aW5kIGNvbXBvbmVudHM7XG5AdGFpbHdpbmQgdXRpbGl0aWVzO1xuXG5ib2R5IHtcbiAgICBtYXJnaW46IDA7XG4gICAgZm9udC1mYW1pbHk6XG4gICAgICAgIC1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgXCJTZWdvZSBVSVwiLCBcIlJvYm90b1wiLCBcIk94eWdlblwiLFxuICAgICAgICBcIlVidW50dVwiLCBcIkNhbnRhcmVsbFwiLCBcIkZpcmEgU2Fuc1wiLCBcIkRyb2lkIFNhbnNcIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLFxuICAgICAgICBzYW5zLXNlcmlmO1xuICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG59XG5cbmNvZGUge1xuICAgIGZvbnQtZmFtaWx5OlxuICAgICAgICBzb3VyY2UtY29kZS1wcm8sIE1lbmxvLCBNb25hY28sIENvbnNvbGFzLCBcIkNvdXJpZXIgTmV3XCIsIG1vbm9zcGFjZTtcbn1cblxuQGxheWVyIGJhc2Uge1xuICAgIDpyb290IHtcbiAgICAgICAgLS1iYWNrZ3JvdW5kOiAwIDAlIDEwMCU7XG4gICAgICAgIC0tZm9yZWdyb3VuZDogMCAwJSAzLjklO1xuICAgICAgICAtLWNhcmQ6IDAgMCUgMTAwJTtcbiAgICAgICAgLS1jYXJkLWZvcmVncm91bmQ6IDAgMCUgMy45JTtcbiAgICAgICAgLS1wb3BvdmVyOiAwIDAlIDEwMCU7XG4gICAgICAgIC0tcG9wb3Zlci1mb3JlZ3JvdW5kOiAwIDAlIDMuOSU7XG4gICAgICAgIC0tcHJpbWFyeTogMCAwJSA5JTtcbiAgICAgICAgLS1wcmltYXJ5LWZvcmVncm91bmQ6IDAgMCUgOTglO1xuICAgICAgICAtLXNlY29uZGFyeTogMCAwJSA5Ni4xJTtcbiAgICAgICAgLS1zZWNvbmRhcnktZm9yZWdyb3VuZDogMCAwJSA5JTtcbiAgICAgICAgLS1tdXRlZDogMCAwJSA5Ni4xJTtcbiAgICAgICAgLS1tdXRlZC1mb3JlZ3JvdW5kOiAwIDAlIDQ1LjElO1xuICAgICAgICAtLWFjY2VudDogMCAwJSA5Ni4xJTtcbiAgICAgICAgLS1hY2NlbnQtZm9yZWdyb3VuZDogMCAwJSA5JTtcbiAgICAgICAgLS1kZXN0cnVjdGl2ZTogMCA4NC4yJSA2MC4yJTtcbiAgICAgICAgLS1kZXN0cnVjdGl2ZS1mb3JlZ3JvdW5kOiAwIDAlIDk4JTtcbiAgICAgICAgLS1ib3JkZXI6IDAgMCUgODkuOCU7XG4gICAgICAgIC0taW5wdXQ6IDAgMCUgODkuOCU7XG4gICAgICAgIC0tcmluZzogMCAwJSAzLjklO1xuICAgICAgICAtLWNoYXJ0LTE6IDEyIDc2JSA2MSU7XG4gICAgICAgIC0tY2hhcnQtMjogMTczIDU4JSAzOSU7XG4gICAgICAgIC0tY2hhcnQtMzogMTk3IDM3JSAyNCU7XG4gICAgICAgIC0tY2hhcnQtNDogNDMgNzQlIDY2JTtcbiAgICAgICAgLS1jaGFydC01OiAyNyA4NyUgNjclO1xuICAgICAgICAtLXJhZGl1czogMC41cmVtO1xuICAgIH1cbiAgICAuZGFyayB7XG4gICAgICAgIC0tYmFja2dyb3VuZDogMCAwJSAzLjklO1xuICAgICAgICAtLWZvcmVncm91bmQ6IDAgMCUgOTglO1xuICAgICAgICAtLWNhcmQ6IDAgMCUgMy45JTtcbiAgICAgICAgLS1jYXJkLWZvcmVncm91bmQ6IDAgMCUgOTglO1xuICAgICAgICAtLXBvcG92ZXI6IDAgMCUgMy45JTtcbiAgICAgICAgLS1wb3BvdmVyLWZvcmVncm91bmQ6IDAgMCUgOTglO1xuICAgICAgICAtLXByaW1hcnk6IDAgMCUgOTglO1xuICAgICAgICAtLXByaW1hcnktZm9yZWdyb3VuZDogMCAwJSA5JTtcbiAgICAgICAgLS1zZWNvbmRhcnk6IDAgMCUgMTQuOSU7XG4gICAgICAgIC0tc2Vjb25kYXJ5LWZvcmVncm91bmQ6IDAgMCUgOTglO1xuICAgICAgICAtLW11dGVkOiAwIDAlIDE0LjklO1xuICAgICAgICAtLW11dGVkLWZvcmVncm91bmQ6IDAgMCUgNjMuOSU7XG4gICAgICAgIC0tYWNjZW50OiAwIDAlIDE0LjklO1xuICAgICAgICAtLWFjY2VudC1mb3JlZ3JvdW5kOiAwIDAlIDk4JTtcbiAgICAgICAgLS1kZXN0cnVjdGl2ZTogMCA2Mi44JSAzMC42JTtcbiAgICAgICAgLS1kZXN0cnVjdGl2ZS1mb3JlZ3JvdW5kOiAwIDAlIDk4JTtcbiAgICAgICAgLS1ib3JkZXI6IDAgMCUgMTQuOSU7XG4gICAgICAgIC0taW5wdXQ6IDAgMCUgMTQuOSU7XG4gICAgICAgIC0tcmluZzogMCAwJSA4My4xJTtcbiAgICAgICAgLS1jaGFydC0xOiAyMjAgNzAlIDUwJTtcbiAgICAgICAgLS1jaGFydC0yOiAxNjAgNjAlIDQ1JTtcbiAgICAgICAgLS1jaGFydC0zOiAzMCA4MCUgNTUlO1xuICAgICAgICAtLWNoYXJ0LTQ6IDI4MCA2NSUgNjAlO1xuICAgICAgICAtLWNoYXJ0LTU6IDM0MCA3NSUgNTUlO1xuICAgIH1cbn1cblxuQGxheWVyIGJhc2Uge1xuICAgICoge1xuICAgICAgICBAYXBwbHkgYm9yZGVyLWJvcmRlcjtcbiAgICB9XG4gICAgYm9keSB7XG4gICAgICAgIEBhcHBseSBiZy1iYWNrZ3JvdW5kIHRleHQtZm9yZWdyb3VuZDtcbiAgICB9XG59XG5cbkBsYXllciBiYXNlIHtcbiAgICBbZGF0YS1kZWJ1Zy13cmFwcGVyPVwidHJ1ZVwiXSB7XG4gICAgICAgIGRpc3BsYXk6IGNvbnRlbnRzICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgW2RhdGEtZGVidWctd3JhcHBlcj1cInRydWVcIl0gPiAqIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGluaGVyaXQ7XG4gICAgICAgIG1hcmdpbi1yaWdodDogaW5oZXJpdDtcbiAgICAgICAgbWFyZ2luLXRvcDogaW5oZXJpdDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogaW5oZXJpdDtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiBpbmhlcml0O1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiBpbmhlcml0O1xuICAgICAgICBwYWRkaW5nLXRvcDogaW5oZXJpdDtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IGluaGVyaXQ7XG4gICAgICAgIGNvbHVtbi1nYXA6IGluaGVyaXQ7XG4gICAgICAgIHJvdy1nYXA6IGluaGVyaXQ7XG4gICAgICAgIGdhcDogaW5oZXJpdDtcbiAgICAgICAgYm9yZGVyLWxlZnQtd2lkdGg6IGluaGVyaXQ7XG4gICAgICAgIGJvcmRlci1yaWdodC13aWR0aDogaW5oZXJpdDtcbiAgICAgICAgYm9yZGVyLXRvcC13aWR0aDogaW5oZXJpdDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS13aWR0aDogaW5oZXJpdDtcbiAgICAgICAgYm9yZGVyLWxlZnQtc3R5bGU6IGluaGVyaXQ7XG4gICAgICAgIGJvcmRlci1yaWdodC1zdHlsZTogaW5oZXJpdDtcbiAgICAgICAgYm9yZGVyLXRvcC1zdHlsZTogaW5oZXJpdDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1zdHlsZTogaW5oZXJpdDtcbiAgICAgICAgYm9yZGVyLWxlZnQtY29sb3I6IGluaGVyaXQ7XG4gICAgICAgIGJvcmRlci1yaWdodC1jb2xvcjogaW5oZXJpdDtcbiAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogaW5oZXJpdDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogaW5oZXJpdDtcbiAgICB9XG59XG4iXSwic291cmNlUm9vdCI6IiJ9 */ </style> <style type="text/css"> [data-sonner-toaster][dir="ltr"], html[dir="ltr"] { --toast-icon-margin-start: -3px; --toast-icon-margin-end: 4px; --toast-svg-margin-start: -1px; --toast-svg-margin-end: 0px; --toast-button-margin-start: auto; --toast-button-margin-end: 0; --toast-close-button-start: 0; --toast-close-button-end: unset; --toast-close-button-transform: translate(-35%, -35%); } [data-sonner-toaster][dir="rtl"], html[dir="rtl"] { --toast-icon-margin-start: 4px; --toast-icon-margin-end: -3px; --toast-svg-margin-start: 0px; --toast-svg-margin-end: -1px; --toast-button-margin-start: 0; --toast-button-margin-end: auto; --toast-close-button-start: unset; --toast-close-button-end: 0; --toast-close-button-transform: translate(35%, -35%); } [data-sonner-toaster] { position: fixed; width: var(--width); font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Helvetica Neue, Arial, Noto Sans, sans-serif, Apple Color Emoji, Segoe UI Emoji, Segoe UI Symbol, Noto Color Emoji; --gray1: hsl(0, 0%, 99%); --gray2: hsl(0, 0%, 97.3%); --gray3: hsl(0, 0%, 95.1%); --gray4: hsl(0, 0%, 93%); --gray5: hsl(0, 0%, 90.9%); --gray6: hsl(0, 0%, 88.7%); --gray7: hsl(0, 0%, 85.8%); --gray8: hsl(0, 0%, 78%); --gray9: hsl(0, 0%, 56.1%); --gray10: hsl(0, 0%, 52.3%); --gray11: hsl(0, 0%, 43.5%); --gray12: hsl(0, 0%, 9%); --border-radius: 8px; box-sizing: border-box; padding: 0; margin: 0; list-style: none; outline: 0; z-index: 999999999; transition: transform 0.4s ease; } @media (hover: none) and (pointer: coarse) { [data-sonner-toaster][data-lifted="true"] { transform: none; } } [data-sonner-toaster][data-x-position="right"] { right: var(--offset-right); } [data-sonner-toaster][data-x-position="left"] { left: var(--offset-left); } [data-sonner-toaster][data-x-position="center"] { left: 50%; transform: translateX(-50%); } [data-sonner-toaster][data-y-position="top"] { top: var(--offset-top); } [data-sonner-toaster][data-y-position="bottom"] { bottom: var(--offset-bottom); } [data-sonner-toast] { --y: translateY(100%); --lift-amount: calc(var(--lift) * var(--gap)); z-index: var(--z-index); position: absolute; opacity: 0; transform: var(--y); touch-action: none; transition: transform 0.4s, opacity 0.4s, height 0.4s, box-shadow 0.2s; box-sizing: border-box; outline: 0; overflow-wrap: anywhere; } [data-sonner-toast][data-styled="true"] { padding: 16px; background: var(--normal-bg); border: 1px solid var(--normal-border); color: var(--normal-text); border-radius: var(--border-radius); box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1); width: var(--width); font-size: 13px; display: flex; align-items: center; gap: 6px; } [data-sonner-toast]:focus-visible { box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1), 0 0 0 2px rgba(0, 0, 0, 0.2); } [data-sonner-toast][data-y-position="top"] { top: 0; --y: translateY(-100%); --lift: 1; --lift-amount: calc(1 * var(--gap)); } [data-sonner-toast][data-y-position="bottom"] { bottom: 0; --y: translateY(100%); --lift: -1; --lift-amount: calc(var(--lift) * var(--gap)); } [data-sonner-toast][data-styled="true"] [data-description] { font-weight: 400; line-height: 1.4; color: #3f3f3f; } [data-rich-colors="true"][data-sonner-toast][data-styled="true"] [data-description] { color: inherit; } [data-sonner-toaster][data-sonner-theme="dark"] [data-description] { color: #e8e8e8; } [data-sonner-toast][data-styled="true"] [data-title] { font-weight: 500; line-height: 1.5; color: inherit; } [data-sonner-toast][data-styled="true"] [data-icon] { display: flex; height: 16px; width: 16px; position: relative; justify-content: flex-start; align-items: center; flex-shrink: 0; margin-left: var(--toast-icon-margin-start); margin-right: var(--toast-icon-margin-end); } [data-sonner-toast][data-promise="true"] [data-icon] > svg { opacity: 0; transform: scale(0.8); transform-origin: center; animation: sonner-fade-in 0.3s ease forwards; } [data-sonner-toast][data-styled="true"] [data-icon] > * { flex-shrink: 0; } [data-sonner-toast][data-styled="true"] [data-icon] svg { margin-left: var(--toast-svg-margin-start); margin-right: var(--toast-svg-margin-end); } [data-sonner-toast][data-styled="true"] [data-content] { display: flex; flex-direction: column; gap: 2px; } [data-sonner-toast][data-styled="true"] [data-button] { border-radius: 4px; padding-left: 8px; padding-right: 8px; height: 24px; font-size: 12px; color: var(--normal-bg); background: var(--normal-text); margin-left: var(--toast-button-margin-start); margin-right: var(--toast-button-margin-end); border: none; font-weight: 500; cursor: pointer; outline: 0; display: flex; align-items: center; flex-shrink: 0; transition: opacity 0.4s, box-shadow 0.2s; } [data-sonner-toast][data-styled="true"] [data-button]:focus-visible { box-shadow: 0 0 0 2px rgba(0, 0, 0, 0.4); } [data-sonner-toast][data-styled="true"] [data-button]:first-of-type { margin-left: var(--toast-button-margin-start); margin-right: var(--toast-button-margin-end); } [data-sonner-toast][data-styled="true"] [data-cancel] { color: var(--normal-text); background: rgba(0, 0, 0, 0.08); } [data-sonner-toaster][data-sonner-theme="dark"] [data-sonner-toast][data-styled="true"] [data-cancel] { background: rgba(255, 255, 255, 0.3); } [data-sonner-toast][data-styled="true"] [data-close-button] { position: absolute; left: var(--toast-close-button-start); right: var(--toast-close-button-end); top: 0; height: 20px; width: 20px; display: flex; justify-content: center; align-items: center; padding: 0; color: var(--gray12); background: var(--normal-bg); border: 1px solid var(--gray4); transform: var(--toast-close-button-transform); border-radius: 50%; cursor: pointer; z-index: 1; transition: opacity 0.1s, background 0.2s, border-color 0.2s; } [data-sonner-toast][data-styled="true"] [data-close-button]:focus-visible { box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1), 0 0 0 2px rgba(0, 0, 0, 0.2); } [data-sonner-toast][data-styled="true"] [data-disabled="true"] { cursor: not-allowed; } [data-sonner-toast][data-styled="true"]:hover [data-close-button]:hover { background: var(--gray2); border-color: var(--gray5); } [data-sonner-toast][data-swiping="true"]::before { content: ""; position: absolute; left: -100%; right: -100%; height: 100%; z-index: -1; } [data-sonner-toast][data-y-position="top"][data-swiping="true"]::before { bottom: 50%; transform: scaleY(3) translateY(50%); } [data-sonner-toast][data-y-position="bottom"][data-swiping="true"]::before { top: 50%; transform: scaleY(3) translateY(-50%); } [data-sonner-toast][data-swiping="false"][data-removed="true"]::before { content: ""; position: absolute; inset: 0; transform: scaleY(2); } [data-sonner-toast][data-expanded="true"]::after { content: ""; position: absolute; left: 0; height: calc(var(--gap) + 1px); bottom: 100%; width: 100%; } [data-sonner-toast][data-mounted="true"] { --y: translateY(0); opacity: 1; } [data-sonner-toast][data-expanded="false"][data-front="false"] { --scale: var(--toasts-before) * 0.05 + 1; --y: translateY(calc(var(--lift-amount) * var(--toasts-before))) scale(calc(-1 * var(--scale))); height: var(--front-toast-height); } [data-sonner-toast] > * { transition: opacity 0.4s; } [data-sonner-toast][data-x-position="right"] { right: 0; } [data-sonner-toast][data-x-position="left"] { left: 0; } [data-sonner-toast][data-expanded="false"][data-front="false"][data-styled="true"] > * { opacity: 0; } [data-sonner-toast][data-visible="false"] { opacity: 0; pointer-events: none; } [data-sonner-toast][data-mounted="true"][data-expanded="true"] { --y: translateY(calc(var(--lift) * var(--offset))); height: var(--initial-height); } [data-sonner-toast][data-removed="true"][data-front="true"][data-swipe-out="false"] { --y: translateY(calc(var(--lift) * -100%)); opacity: 0; } [data-sonner-toast][data-removed="true"][data-front="false"][data-swipe-out="false"][data-expanded="true"] { --y: translateY( calc(var(--lift) * var(--offset) + var(--lift) * -100%) ); opacity: 0; } [data-sonner-toast][data-removed="true"][data-front="false"][data-swipe-out="false"][data-expanded="false"] { --y: translateY(40%); opacity: 0; transition: transform 0.5s, opacity 0.2s; } [data-sonner-toast][data-removed="true"][data-front="false"]::before { height: calc(var(--initial-height) + 20%); } [data-sonner-toast][data-swiping="true"] { transform: var(--y) translateY(var(--swipe-amount-y, 0)) translateX(var(--swipe-amount-x, 0)); transition: none; } [data-sonner-toast][data-swiped="true"] { user-select: none; } [data-sonner-toast][data-swipe-out="true"][data-y-position="bottom"], [data-sonner-toast][data-swipe-out="true"][data-y-position="top"] { animation-duration: 0.2s; animation-timing-function: ease-out; animation-fill-mode: forwards; } [data-sonner-toast][data-swipe-out="true"][data-swipe-direction="left"] { animation-name: swipe-out-left; } [data-sonner-toast][data-swipe-out="true"][data-swipe-direction="right"] { animation-name: swipe-out-right; } [data-sonner-toast][data-swipe-out="true"][data-swipe-direction="up"] { animation-name: swipe-out-up; } [data-sonner-toast][data-swipe-out="true"][data-swipe-direction="down"] { animation-name: swipe-out-down; } @keyframes swipe-out-left { from { transform: var(--y) translateX(var(--swipe-amount-x)); opacity: 1; } to { transform: var(--y) translateX(calc(var(--swipe-amount-x) - 100%)); opacity: 0; } } @keyframes swipe-out-right { from { transform: var(--y) translateX(var(--swipe-amount-x)); opacity: 1; } to { transform: var(--y) translateX(calc(var(--swipe-amount-x) + 100%)); opacity: 0; } } @keyframes swipe-out-up { from { transform: var(--y) translateY(var(--swipe-amount-y)); opacity: 1; } to { transform: var(--y) translateY(calc(var(--swipe-amount-y) - 100%)); opacity: 0; } } @keyframes swipe-out-down { from { transform: var(--y) translateY(var(--swipe-amount-y)); opacity: 1; } to { transform: var(--y) translateY(calc(var(--swipe-amount-y) + 100%)); opacity: 0; } } @media (max-width: 600px) { [data-sonner-toaster] { position: fixed; right: var(--mobile-offset-right); left: var(--mobile-offset-left); width: 100%; } [data-sonner-toaster][dir="rtl"] { left: calc(var(--mobile-offset-left) * -1); } [data-sonner-toaster] [data-sonner-toast] { left: 0; right: 0; width: calc(100% - var(--mobile-offset-left) * 2); } [data-sonner-toaster][data-x-position="left"] { left: var(--mobile-offset-left); } [data-sonner-toaster][data-y-position="bottom"] { bottom: var(--mobile-offset-bottom); } [data-sonner-toaster][data-y-position="top"] { top: var(--mobile-offset-top); } [data-sonner-toaster][data-x-position="center"] { left: var(--mobile-offset-left); right: var(--mobile-offset-right); transform: none; } } [data-sonner-toaster][data-sonner-theme="light"] { --normal-bg: #fff; --normal-border: var(--gray4); --normal-text: var(--gray12); --success-bg: hsl(143, 85%, 96%); --success-border: hsl(145, 92%, 87%); --success-text: hsl(140, 100%, 27%); --info-bg: hsl(208, 100%, 97%); --info-border: hsl(221, 91%, 93%); --info-text: hsl(210, 92%, 45%); --warning-bg: hsl(49, 100%, 97%); --warning-border: hsl(49, 91%, 84%); --warning-text: hsl(31, 92%, 45%); --error-bg: hsl(359, 100%, 97%); --error-border: hsl(359, 100%, 94%); --error-text: hsl(360, 100%, 45%); } [data-sonner-toaster][data-sonner-theme="light"] [data-sonner-toast][data-invert="true"] { --normal-bg: #000; --normal-border: hsl(0, 0%, 20%); --normal-text: var(--gray1); } [data-sonner-toaster][data-sonner-theme="dark"] [data-sonner-toast][data-invert="true"] { --normal-bg: #fff; --normal-border: var(--gray3); --normal-text: var(--gray12); } [data-sonner-toaster][data-sonner-theme="dark"] { --normal-bg: #000; --normal-bg-hover: hsl(0, 0%, 12%); --normal-border: hsl(0, 0%, 20%); --normal-border-hover: hsl(0, 0%, 25%); --normal-text: var(--gray1); --success-bg: hsl(150, 100%, 6%); --success-border: hsl(147, 100%, 12%); --success-text: hsl(150, 86%, 65%); --info-bg: hsl(215, 100%, 6%); --info-border: hsl(223, 43%, 17%); --info-text: hsl(216, 87%, 65%); --warning-bg: hsl(64, 100%, 6%); --warning-border: hsl(60, 100%, 9%); --warning-text: hsl(46, 87%, 65%); --error-bg: hsl(358, 76%, 10%); --error-border: hsl(357, 89%, 16%); --error-text: hsl(358, 100%, 81%); } [data-sonner-toaster][data-sonner-theme="dark"] [data-sonner-toast] [data-close-button] { background: var(--normal-bg); border-color: var(--normal-border); color: var(--normal-text); } [data-sonner-toaster][data-sonner-theme="dark"] [data-sonner-toast] [data-close-button]:hover { background: var(--normal-bg-hover); border-color: var(--normal-border-hover); } [data-rich-colors="true"][data-sonner-toast][data-type="success"] { background: var(--success-bg); border-color: var(--success-border); color: var(--success-text); } [data-rich-colors="true"][data-sonner-toast][data-type="success"] [data-close-button] { background: var(--success-bg); border-color: var(--success-border); color: var(--success-text); } [data-rich-colors="true"][data-sonner-toast][data-type="info"] { background: var(--info-bg); border-color: var(--info-border); color: var(--info-text); } [data-rich-colors="true"][data-sonner-toast][data-type="info"] [data-close-button] { background: var(--info-bg); border-color: var(--info-border); color: var(--info-text); } [data-rich-colors="true"][data-sonner-toast][data-type="warning"] { background: var(--warning-bg); border-color: var(--warning-border); color: var(--warning-text); } [data-rich-colors="true"][data-sonner-toast][data-type="warning"] [data-close-button] { background: var(--warning-bg); border-color: var(--warning-border); color: var(--warning-text); } [data-rich-colors="true"][data-sonner-toast][data-type="error"] { background: var(--error-bg); border-color: var(--error-border); color: var(--error-text); } [data-rich-colors="true"][data-sonner-toast][data-type="error"] [data-close-button] { background: var(--error-bg); border-color: var(--error-border); color: var(--error-text); } .sonner-loading-wrapper { --size: 16px; height: var(--size); width: var(--size); position: absolute; inset: 0; z-index: 10; } .sonner-loading-wrapper[data-visible="false"] { transform-origin: center; animation: sonner-fade-out 0.2s ease forwards; } .sonner-spinner { position: relative; top: 50%; left: 50%; height: var(--size); width: var(--size); } .sonner-loading-bar { animation: sonner-spin 1.2s linear infinite; background: var(--gray11); border-radius: 6px; height: 8%; left: -10%; position: absolute; top: -3.9%; width: 24%; } .sonner-loading-bar:first-child { animation-delay: -1.2s; transform: rotate(0.0001deg) translate(146%); } .sonner-loading-bar:nth-child(2) { animation-delay: -1.1s; transform: rotate(30deg) translate(146%); } .sonner-loading-bar:nth-child(3) { animation-delay: -1s; transform: rotate(60deg) translate(146%); } .sonner-loading-bar:nth-child(4) { animation-delay: -0.9s; transform: rotate(90deg) translate(146%); } .sonner-loading-bar:nth-child(5) { animation-delay: -0.8s; transform: rotate(120deg) translate(146%); } .sonner-loading-bar:nth-child(6) { animation-delay: -0.7s; transform: rotate(150deg) translate(146%); } .sonner-loading-bar:nth-child(7) { animation-delay: -0.6s; transform: rotate(180deg) translate(146%); } .sonner-loading-bar:nth-child(8) { animation-delay: -0.5s; transform: rotate(210deg) translate(146%); } .sonner-loading-bar:nth-child(9) { animation-delay: -0.4s; transform: rotate(240deg) translate(146%); } .sonner-loading-bar:nth-child(10) { animation-delay: -0.3s; transform: rotate(270deg) translate(146%); } .sonner-loading-bar:nth-child(11) { animation-delay: -0.2s; transform: rotate(300deg) translate(146%); } .sonner-loading-bar:nth-child(12) { animation-delay: -0.1s; transform: rotate(330deg) translate(146%); } @keyframes sonner-fade-in { 0% { opacity: 0; transform: scale(0.8); } 100% { opacity: 1; transform: scale(1); } } @keyframes sonner-fade-out { 0% { opacity: 1; transform: scale(1); } 100% { opacity: 0; transform: scale(0.8); } } @keyframes sonner-spin { 0% { opacity: 1; } 100% { opacity: 0.15; } } @media (prefers-reduced-motion) { .sonner-loading-bar, [data-sonner-toast], [data-sonner-toast] > * { transition: none !important; animation: none !important; } } .sonner-loader { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); transform-origin: center; transition: opacity 0.2s, transform 0.2s; } .sonner-loader[data-visible="false"] { opacity: 0; transform: scale(0.8) translate(-50%, -50%); } </style> <style> * { margin: 0; padding: 0; box-sizing: border-box; } html { scroll-behavior: smooth; } body { background-color: #000000; color: #ffffff; overflow-x: hidden; } .App { min-height: 100vh; } /* Custom scrollbar for webkit browsers */ ::-webkit-scrollbar { width: 10px; } ::-webkit-scrollbar-track { background: #151515; } ::-webkit-scrollbar-thumb { background: #3f3f3f; border-radius: 5px; } ::-webkit-scrollbar-thumb:hover { background: #555; } /*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8uL3NyYy9BcHAuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBQ0UsU0FBUztFQUNULFVBQVU7RUFDVixzQkFBc0I7QUFDeEI7O0FBRUE7RUFDRSx1QkFBdUI7QUFDekI7O0FBRUE7RUFDRSx5QkFBeUI7RUFDekIsY0FBYztFQUNkLGtCQUFrQjtBQUNwQjs7QUFFQTtFQUNFLGlCQUFpQjtBQUNuQjs7QUFFQSx5Q0FBeUM7QUFDekM7RUFDRSxXQUFXO0FBQ2I7O0FBRUE7RUFDRSxtQkFBbUI7QUFDckI7O0FBRUE7RUFDRSxtQkFBbUI7RUFDbkIsa0JBQWtCO0FBQ3BCOztBQUVBO0VBQ0UsZ0JBQWdCO0FBQ2xCIiwic291cmNlc0NvbnRlbnQiOlsiKiB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbn1cblxuaHRtbCB7XG4gIHNjcm9sbC1iZWhhdmlvcjogc21vb3RoO1xufVxuXG5ib2R5IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDAwMDtcbiAgY29sb3I6ICNmZmZmZmY7XG4gIG92ZXJmbG93LXg6IGhpZGRlbjtcbn1cblxuLkFwcCB7XG4gIG1pbi1oZWlnaHQ6IDEwMHZoO1xufVxuXG4vKiBDdXN0b20gc2Nyb2xsYmFyIGZvciB3ZWJraXQgYnJvd3NlcnMgKi9cbjo6LXdlYmtpdC1zY3JvbGxiYXIge1xuICB3aWR0aDogMTBweDtcbn1cblxuOjotd2Via2l0LXNjcm9sbGJhci10cmFjayB7XG4gIGJhY2tncm91bmQ6ICMxNTE1MTU7XG59XG5cbjo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWIge1xuICBiYWNrZ3JvdW5kOiAjM2YzZjNmO1xuICBib3JkZXItcmFkaXVzOiA1cHg7XG59XG5cbjo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWI6aG92ZXIge1xuICBiYWNrZ3JvdW5kOiAjNTU1O1xufSJdLCJzb3VyY2VSb290IjoiIn0= */ </style> <link rel="shortcut icon" href="favicon.ico.html" /> <style> .hero-video-wrapper { position: absolute; inset: 0; overflow: hidden; z-index: 0; } .hero-video { width: 100%; height: 100%; object-fit: cover; pointer-events: none; } .hero-section { position: relative; min-height: 100vh; display: flex; align-items: center; justify-content: center; overflow: hidden; background-color: #000; } @media (max-width: 768px) { .hero-section { min-height: 80vh; } } .hero-video-wrapper { position: absolute; inset: 0; width: 100%; height: 100%; overflow: hidden; pointer-events: none; } .hero-video { width: 100%; height: 100%; object-fit: cover; } .hero-overlay { position: absolute; inset: 0; background: linear-gradient( 180deg, rgba(0, 0, 0, 0.25) 0%, rgba(0, 0, 0, 0.55) 45%, rgba(0, 0, 0, 0.85) 100% ); pointer-events: none; } .hero-content { position: relative; z-index: 2; } .hero-video-toggle { z-index: 3; } .hero-scroll-indicator { z-index: 2; } .vehicle-modal-overlay { position: fixed; inset: 0; display: flex; align-items: center; justify-content: center; padding: 1.5rem; background: rgba(3, 3, 3, 0.92); backdrop-filter: blur(6px); z-index: 999; animation: vehicleModalFadeIn 200ms ease forwards; } .vehicle-modal-overlay--closing { animation: vehicleModalFadeOut 200ms ease forwards; } .vehicle-modal-content { position: relative; width: min(1100px, 100%); max-height: min(90vh, 960px); background: linear-gradient( 180deg, rgba(12, 12, 12, 0.98), rgba(9, 9, 9, 0.96) ); border-radius: 1.25rem; box-shadow: 0 30px 80px rgba(0, 0, 0, 0.65); overflow: hidden; display: flex; flex-direction: column; transform: translateY(24px); animation: vehicleModalSlideUp 220ms ease forwards; } .vehicle-modal-overlay--closing .vehicle-modal-content { animation: vehicleModalSlideDown 200ms ease forwards; } .vehicle-modal-close { position: absolute; top: 1rem; right: 1rem; display: inline-flex; align-items: center; justify-content: center; width: 2.75rem; height: 2.75rem; border-radius: 9999px; border: 1px solid rgba(255, 255, 255, 0.12); background: rgba(24, 24, 27, 0.85); color: #fff; font-size: 1.5rem; line-height: 1; cursor: pointer; transition: transform 160ms ease, background 160ms ease, border-color 160ms ease; } .vehicle-modal-close:hover, .vehicle-modal-close:focus-visible { transform: scale(1.05); background: rgba(39, 39, 42, 0.9); border-color: rgba(255, 255, 255, 0.24); outline: none; } .vehicle-modal-body { flex: 1 1 auto; overflow-y: auto; padding: 2.5rem 2rem 2rem; color: #e4e4e7; background: radial-gradient( circle at top, rgba(39, 39, 42, 0.28), transparent 55% ); } .vehicle-modal-body main { background: transparent; } .vehicle-modal-detail-root { max-width: 1100px; margin: 0 auto; color: inherit; } .vehicle-modal-body::-webkit-scrollbar { width: 0.6rem; } .vehicle-modal-body::-webkit-scrollbar-track { background: rgba(39, 39, 42, 0.25); } .vehicle-modal-body::-webkit-scrollbar-thumb { background: rgba(113, 113, 122, 0.6); border-radius: 9999px; } .vehicle-modal-body::-webkit-scrollbar-thumb:hover { background: rgba(161, 161, 170, 0.75); } .vehicle-modal-loader, .vehicle-modal-error { display: flex; align-items: center; justify-content: center; gap: 0.75rem; min-height: 320px; text-align: center; font-size: 1rem; color: #d4d4d8; } .vehicle-modal-loader::before { content: ""; width: 1.75rem; height: 1.75rem; border-radius: 9999px; border: 3px solid rgba(244, 244, 245, 0.2); border-top-color: #fff; animation: vehicleModalSpin 0.85s linear infinite; } .vehicle-modal-error { flex-direction: column; gap: 0.5rem; } .vehicle-modal-error-actions { display: flex; flex-wrap: wrap; gap: 0.5rem; justify-content: center; margin-top: 0.75rem; } .vehicle-modal-error button { margin-top: 0.25rem; padding: 0.5rem 1rem; border-radius: 9999px; border: 1px solid rgba(255, 255, 255, 0.18); background: rgba(39, 39, 42, 0.65); color: #f4f4f5; cursor: pointer; transition: background 160ms ease, border-color 160ms ease; } .vehicle-modal-error button:hover, .vehicle-modal-error button:focus-visible { background: rgba(63, 63, 70, 0.75); border-color: rgba(255, 255, 255, 0.28); outline: none; } .vehicle-modal-error a { display: inline-flex; align-items: center; justify-content: center; padding: 0.5rem 1rem; border-radius: 9999px; border: 1px solid rgba(255, 255, 255, 0.18); background: rgba(63, 63, 70, 0.35); color: #f4f4f5; text-decoration: none; transition: background 160ms ease, border-color 160ms ease; } .vehicle-modal-error a:hover, .vehicle-modal-error a:focus-visible { background: rgba(82, 82, 91, 0.55); border-color: rgba(255, 255, 255, 0.28); outline: none; } body.vehicle-modal-open { overscroll-behavior: contain; } @media (max-width: 1024px) { .vehicle-modal-content { width: 100%; max-height: 92vh; } .vehicle-modal-body { padding: 2rem 1.5rem 1.5rem; } } @media (max-width: 640px) { .vehicle-modal-content { border-radius: 1rem; } .vehicle-modal-close { width: 2.5rem; height: 2.5rem; top: 0.75rem; right: 0.75rem; font-size: 1.35rem; } .vehicle-modal-body { padding: 1.5rem 1.25rem 1.25rem; } } @keyframes vehicleModalFadeIn { from { opacity: 0; } to { opacity: 1; } } @keyframes vehicleModalFadeOut { from { opacity: 1; } to { opacity: 0; } } @keyframes vehicleModalSlideUp { from { transform: translateY(32px); } to { transform: translateY(0); } } @keyframes vehicleModalSlideDown { from { transform: translateY(0); } to { transform: translateY(24px); } } @keyframes vehicleModalSpin { from { transform: rotate(0deg); } to { transform: rotate(360deg); } } </style> </head> <body> <noscript>You need to enable JavaScript to run this app.</noscript> <div id="root"> <div class="App"> <header class="fixed top-0 left-0 right-0 z-50 transition-all duration-300 bg-black/95 backdrop-blur-sm border-b border-zinc-800" > <div class="max-w-7xl mx-auto px-4"> <div class="flex items-center justify-between h-20"> <button class="text-white font-bold text-xl md:text-2xl tracking-tight hover:text-gray-300 transition-colors" aria-label="Apex import motors" type="button" data-scroll-target="#hero" > <img src="logo.png" alt="Apex import motors logo" class="h-10 md:h-12 w-auto" /> </button> <!-- Navegación Desktop --> <nav class="hidden md:flex items-center gap-8"> <button class="text-gray-300 hover:text-white transition-colors text-sm font-medium" type="button" data-scroll-target="#hero" > Inicio </button> <button class="text-gray-300 hover:text-white transition-colors text-sm font-medium" type="button" data-scroll-target="#gallery" > Colección </button> <button class="text-gray-300 hover:text-white transition-colors text-sm font-medium" type="button" data-scroll-target="#about" > Nosotros </button> <button class="text-gray-300 hover:text-white transition-colors text-sm font-medium" type="button" data-scroll-target="#services" > Servicios </button> <button class="text-gray-300 hover:text-white transition-colors text-sm font-medium" type="button" data-scroll-target="#testimonials" > Testimonios </button> <button class="text-gray-300 hover:text-white transition-colors text-sm font-medium" type="button" data-scroll-target="#contact" > Contacto </button> </nav> <!-- Botón menú móvil --> <button class="md:hidden text-white p-2" aria-label="Abrir menú"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-menu" aria-hidden="true" > <path d="M4 12h16"></path> <path d="M4 18h16"></path> <path d="M4 6h16"></path> </svg> </button> </div> </div> </header> <main> <div id="hero"> <section class="hero-section relative"> <div class="hero-video-wrapper absolute inset-0 overflow-hidden"> <iframe class="hero-video absolute inset-0 w-full h-full" src="https://www.youtube.com/embed/CcBNYw8pjs8?autoplay=1&mute=1&loop=1&playlist=CcBNYw8pjs8&controls=0&showinfo=0&modestbranding=1" title="YouTube video background" frameborder="0" allow="autoplay; encrypted-media" allowfullscreen ></iframe> </div> <div class="hero-overlay absolute inset-0 bg-black/50 z-10"></div> <div class="hero-content relative z-20 text-center px-4 max-w-5xl mx-auto" > <h1 class="text-6xl md:text-8xl lg:text-9xl font-bold text-white mb-6 tracking-tight flex justify-center" > <img src="logo.png" alt="Apex import motors logo" class="h-32 md:h-48 lg:h-56 w-auto" /> <span class="sr-only">Apex import motors</span> </h1> <p class="text-xl md:text-2xl text-gray-200 mb-8 max-w-2xl mx-auto font-light" > Tu Puerta de Acceso a la Excelencia Automotriz </p> <p class="text-base md:text-lg text-gray-300 mb-12 max-w-3xl mx-auto" > Importando los mejores supercars de lujo y automóviles clásicos atemporales del mundo </p> <button type="button" data-scroll-target="#gallery" class="inline-flex items-center justify-center gap-2 whitespace-nowrap focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0 shadow rounded-md bg-white text-black hover:bg-gray-200 text-base px-8 py-6 h-auto font-medium transition-all duration-300" > Explorar Colección </button> </div> <button class="hero-scroll-indicator absolute bottom-8 left-1/2 transform -translate-x-1/2 flex items-center justify-center text-white opacity-80 hover:opacity-100 transition-opacity duration-300 animate-bounce" aria-label="Desplazarse a la colección" type="button" data-scroll-target="#gallery" > <svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-down" aria-hidden="true" > <path d="m6 9 6 6 6-6"></path> </svg> </button> </section> </div> <section id="gallery" class="py-20 px-4 bg-black scroll-mt-24"> <div class="max-w-7xl mx-auto"> <div class="text-center mb-12"> <h2 class="text-4xl md:text-5xl font-bold text-white mb-4"> Nuestra Colección </h2> <p class="text-gray-400 text-lg"> Descubre vehículos excepcionales de todo el mundo </p> </div> <div class="mb-8 space-y-4"> <div class="flex flex-col md:flex-row gap-4"> <div class="relative flex-1"> <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-search absolute left-3 top-1/2 transform -translate-y-1/2 text-gray-500" aria-hidden="true" > <path d="m21 21-4.34-4.34"></path> <circle cx="11" cy="11" r="8"></circle></svg ><input class="flex h-9 w-full rounded-md border px-3 py-1 text-base shadow-sm transition-colors file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50 md:text-sm pl-10 bg-zinc-900 border-zinc-800 text-white placeholder:text-gray-500" placeholder="Buscar por marca o modelo..." type="text" value="" /> </div> <button class="inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-colors focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0 border shadow-sm hover:text-accent-foreground h-9 px-4 py-2 bg-zinc-900 border-zinc-800 text-white hover:bg-zinc-800" > <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-sliders-horizontal mr-2" aria-hidden="true" > <line x1="21" x2="14" y1="4" y2="4"></line> <line x1="10" x2="3" y1="4" y2="4"></line> <line x1="21" x2="12" y1="12" y2="12"></line> <line x1="8" x2="3" y1="12" y2="12"></line> <line x1="21" x2="16" y1="20" y2="20"></line> <line x1="12" x2="3" y1="20" y2="20"></line> <line x1="14" x2="14" y1="2" y2="6"></line> <line x1="8" x2="8" y1="10" y2="14"></line> <line x1="16" x2="16" y1="18" y2="22"></line></svg >Filtros </button> </div> </div> <div class="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-6"> <div class="rounded-xl border text-card-foreground shadow group cursor-pointer overflow-hidden bg-zinc-900 border-zinc-800 hover:border-zinc-700 transition-all duration-300 hover:transform hover:scale-[1.02]" > <div class="relative aspect-[4/3] overflow-hidden"> <a href="index_5.html" ><img alt="Lamborghini Huracán EVO" class="w-full h-full object-cover group-hover:scale-110 transition-transform duration-500" loading="lazy" src="photo-1742056024244-02a093dae0b5.jpg" /></a> <div class="absolute top-3 right-3 bg-black/70 backdrop-blur-sm px-3 py-1 rounded-full text-xs text-white font-medium" > Moderno </div> </div> <div class="p-5"> <h3 class="text-xl font-semibold text-white mb-1 group-hover:text-gray-300 transition-colors" > Lamborghini Huracán EVO </h3> <div class="flex items-center gap-4 text-sm text-gray-400 mb-3" > <div class="flex items-center gap-1"> <svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-calendar" aria-hidden="true" > <path d="M8 2v4"></path> <path d="M16 2v4"></path> <rect width="18" height="18" x="3" y="4" rx="2" ></rect> <path d="M3 10h18"></path></svg ><span>2024</span> </div> <div class="flex items-center gap-1"> <svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-dollar-sign" aria-hidden="true" > <line x1="12" x2="12" y1="2" y2="22"></line> <path d="M17 5H9.5a3.5 3.5 0 0 0 0 7h5a3.5 3.5 0 0 1 0 7H6" ></path></svg ><span>$295.000</span> </div> </div> <p class="text-gray-400 text-sm line-clamp-2"> El Huracán EVO representa la evolución del Lamborghini V10 más exitoso de la historia. Diseño extremo, rendimiento extraordinario. </p> </div> </div> <div class="rounded-xl border text-card-foreground shadow group cursor-pointer overflow-hidden bg-zinc-900 border-zinc-800 hover:border-zinc-700 transition-all duration-300 hover:transform hover:scale-[1.02]" > <div class="relative aspect-[4/3] overflow-hidden"> <a href="index_6.html" ><img alt="Porsche 911 Turbo S" class="w-full h-full object-cover group-hover:scale-110 transition-transform duration-500" loading="lazy" src="photo-1698543252450-463b8b16e567.jpg" /></a> <div class="absolute top-3 right-3 bg-black/70 backdrop-blur-sm px-3 py-1 rounded-full text-xs text-white font-medium" > Moderno </div> </div> <div class="p-5"> <h3 class="text-xl font-semibold text-white mb-1 group-hover:text-gray-300 transition-colors" > Porsche 911 Turbo S </h3> <div class="flex items-center gap-4 text-sm text-gray-400 mb-3" > <div class="flex items-center gap-1"> <svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-calendar" aria-hidden="true" > <path d="M8 2v4"></path> <path d="M16 2v4"></path> <rect width="18" height="18" x="3" y="4" rx="2" ></rect> <path d="M3 10h18"></path></svg ><span>2024</span> </div> <div class="flex items-center gap-1"> <svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-dollar-sign" aria-hidden="true" > <line x1="12" x2="12" y1="2" y2="22"></line> <path d="M17 5H9.5a3.5 3.5 0 0 0 0 7h5a3.5 3.5 0 0 1 0 7H6" ></path></svg ><span>$245.000</span> </div> </div> <p class="text-gray-400 text-sm line-clamp-2"> El auto deportivo definitivo. Diseño atemporal con tecnología de vanguardia. Placer de conducción puro en su forma más refinada. </p> </div> </div> <div class="rounded-xl border text-card-foreground shadow group cursor-pointer overflow-hidden bg-zinc-900 border-zinc-800 hover:border-zinc-700 transition-all duration-300 hover:transform hover:scale-[1.02]" > <div class="relative aspect-[4/3] overflow-hidden"> <a href="index_7.html" ><img alt="Ferrari F8 Tributo" class="w-full h-full object-cover group-hover:scale-110 transition-transform duration-500" loading="lazy" src="photo-1698543252507-cd8c187212e2.jpg" /></a> <div class="absolute top-3 right-3 bg-black/70 backdrop-blur-sm px-3 py-1 rounded-full text-xs text-white font-medium" > Moderno </div> </div> <div class="p-5"> <h3 class="text-xl font-semibold text-white mb-1 group-hover:text-gray-300 transition-colors" > Ferrari F8 Tributo </h3> <div class="flex items-center gap-4 text-sm text-gray-400 mb-3" > <div class="flex items-center gap-1"> <svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-calendar" aria-hidden="true" > <path d="M8 2v4"></path> <path d="M16 2v4"></path> <rect width="18" height="18" x="3" y="4" rx="2" ></rect> <path d="M3 10h18"></path></svg ><span>2023</span> </div> <div class="flex items-center gap-1"> <svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-dollar-sign" aria-hidden="true" > <line x1="12" x2="12" y1="2" y2="22"></line> <path d="M17 5H9.5a3.5 3.5 0 0 0 0 7h5a3.5 3.5 0 0 1 0 7H6" ></path></svg ><span>$320.000</span> </div> </div> <p class="text-gray-400 text-sm line-clamp-2"> Un tributo al V8 más potente en la historia de Ferrari. Rendimiento extremo con elegancia y pasión italiana. </p> </div> </div> <div class="rounded-xl border text-card-foreground shadow group cursor-pointer overflow-hidden bg-zinc-900 border-zinc-800 hover:border-zinc-700 transition-all duration-300 hover:transform hover:scale-[1.02]" > <div class="relative aspect-[4/3] overflow-hidden"> <a href="index_8.html" ><img alt="Lamborghini Aventador SVJ" class="w-full h-full object-cover group-hover:scale-110 transition-transform duration-500" loading="lazy" src="photo-1647340764627-11713b9d0f65.jpg" /></a> <div class="absolute top-3 right-3 bg-black/70 backdrop-blur-sm px-3 py-1 rounded-full text-xs text-white font-medium" > Moderno </div> </div> <div class="p-5"> <h3 class="text-xl font-semibold text-white mb-1 group-hover:text-gray-300 transition-colors" > Lamborghini Aventador SVJ </h3> <div class="flex items-center gap-4 text-sm text-gray-400 mb-3" > <div class="flex items-center gap-1"> <svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-calendar" aria-hidden="true" > <path d="M8 2v4"></path> <path d="M16 2v4"></path> <rect width="18" height="18" x="3" y="4" rx="2" ></rect> <path d="M3 10h18"></path></svg ><span>2023</span> </div> <div class="flex items-center gap-1"> <svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-dollar-sign" aria-hidden="true" > <line x1="12" x2="12" y1="2" y2="22"></line> <path d="M17 5H9.5a3.5 3.5 0 0 0 0 7h5a3.5 3.5 0 0 1 0 7H6" ></path></svg ><span>$550.000</span> </div> </div> <p class="text-gray-400 text-sm line-clamp-2"> El Aventador más extremo de la historia. Superveloce Jota combina potencia bruta con aerodinámica avanzada. </p> </div> </div> <div class="rounded-xl border text-card-foreground shadow group cursor-pointer overflow-hidden bg-zinc-900 border-zinc-800 hover:border-zinc-700 transition-all duration-300 hover:transform hover:scale-[1.02]" > <div class="relative aspect-[4/3] overflow-hidden"> <a href="index_9.html" ><img alt="Mercedes-AMG GT Black Series" class="w-full h-full object-cover group-hover:scale-110 transition-transform duration-500" loading="lazy" src="pexels-photo-25286626.jpeg" /></a> <div class="absolute top-3 right-3 bg-black/70 backdrop-blur-sm px-3 py-1 rounded-full text-xs text-white font-medium" > Moderno </div> </div> <div class="p-5"> <h3 class="text-xl font-semibold text-white mb-1 group-hover:text-gray-300 transition-colors" > Mercedes-AMG GT Black Series </h3> <div class="flex items-center gap-4 text-sm text-gray-400 mb-3" > <div class="flex items-center gap-1"> <svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-calendar" aria-hidden="true" > <path d="M8 2v4"></path> <path d="M16 2v4"></path> <rect width="18" height="18" x="3" y="4" rx="2" ></rect> <path d="M3 10h18"></path></svg ><span>2024</span> </div> <div class="flex items-center gap-1"> <svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-dollar-sign" aria-hidden="true" > <line x1="12" x2="12" y1="2" y2="22"></line> <path d="M17 5H9.5a3.5 3.5 0 0 0 0 7h5a3.5 3.5 0 0 1 0 7H6" ></path></svg ><span>$385.000</span> </div> </div> <p class="text-gray-400 text-sm line-clamp-2"> El AMG GT más potente jamás construido. Tecnología de carreras combinada con artesanía de lujo. </p> </div> </div> <div class="rounded-xl border text-card-foreground shadow group cursor-pointer overflow-hidden bg-zinc-900 border-zinc-800 hover:border-zinc-700 transition-all duration-300 hover:transform hover:scale-[1.02]" > <div class="relative aspect-[4/3] overflow-hidden"> <a href="index_10.html" ><img alt="McLaren 765LT" class="w-full h-full object-cover group-hover:scale-110 transition-transform duration-500" loading="lazy" src="pexels-photo-18818786.jpeg" /></a> <div class="absolute top-3 right-3 bg-black/70 backdrop-blur-sm px-3 py-1 rounded-full text-xs text-white font-medium" > Moderno </div> </div> <div class="p-5"> <h3 class="text-xl font-semibold text-white mb-1 group-hover:text-gray-300 transition-colors" > McLaren 765LT </h3> <div class="flex items-center gap-4 text-sm text-gray-400 mb-3" > <div class="flex items-center gap-1"> <svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-calendar" aria-hidden="true" > <path d="M8 2v4"></path> <path d="M16 2v4"></path> <rect width="18" height="18" x="3" y="4" rx="2" ></rect> <path d="M3 10h18"></path></svg ><span>2023</span> </div> <div class="flex items-center gap-1"> <svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-dollar-sign" aria-hidden="true" > <line x1="12" x2="12" y1="2" y2="22"></line> <path d="M17 5H9.5a3.5 3.5 0 0 0 0 7h5a3.5 3.5 0 0 1 0 7H6" ></path></svg ><span>$425.000</span> </div> </div> <p class="text-gray-400 text-sm line-clamp-2"> El legado LongTail continúa. El McLaren de carretera más extremo ofrece rendimiento enfocado en la pista. </p> </div> </div> <div class="rounded-xl border text-card-foreground shadow group cursor-pointer overflow-hidden bg-zinc-900 border-zinc-800 hover:border-zinc-700 transition-all duration-300 hover:transform hover:scale-[1.02]" > <div class="relative aspect-[4/3] overflow-hidden"> <a href="index_11.html" ><img alt="Ferrari 250 GTO" class="w-full h-full object-cover group-hover:scale-110 transition-transform duration-500" loading="lazy" src="photo-1634218094381-d892fbe9baa1.jpg" /></a> <div class="absolute top-3 right-3 bg-black/70 backdrop-blur-sm px-3 py-1 rounded-full text-xs text-white font-medium" > Clásico </div> </div> <div class="p-5"> <h3 class="text-xl font-semibold text-white mb-1 group-hover:text-gray-300 transition-colors" > Ferrari 250 GTO </h3> <div class="flex items-center gap-4 text-sm text-gray-400 mb-3" > <div class="flex items-center gap-1"> <svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-calendar" aria-hidden="true" > <path d="M8 2v4"></path> <path d="M16 2v4"></path> <rect width="18" height="18" x="3" y="4" rx="2" ></rect> <path d="M3 10h18"></path></svg ><span>1962</span> </div> <div class="flex items-center gap-1"> <svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-dollar-sign" aria-hidden="true" > <line x1="12" x2="12" y1="2" y2="22"></line> <path d="M17 5H9.5a3.5 3.5 0 0 0 0 7h5a3.5 3.5 0 0 1 0 7H6" ></path></svg ><span>$12.500.000</span> </div> </div> <p class="text-gray-400 text-sm line-clamp-2"> El santo grial de los autos clásicos. Pedigrí de carreras con diseño italiano atemporal. Uno de los autos más valiosos del mundo. </p> </div> </div> <div class="rounded-xl border text-card-foreground shadow group cursor-pointer overflow-hidden bg-zinc-900 border-zinc-800 hover:border-zinc-700 transition-all duration-300 hover:transform hover:scale-[1.02]" > <div class="relative aspect-[4/3] overflow-hidden"> <a href="index_12.html" ><img alt="Shelby Cobra 427" class="w-full h-full object-cover group-hover:scale-110 transition-transform duration-500" loading="lazy" src="photo-1697196179507-87cd68ba7bcd.jpg" /></a> <div class="absolute top-3 right-3 bg-black/70 backdrop-blur-sm px-3 py-1 rounded-full text-xs text-white font-medium" > Clásico </div> </div> <div class="p-5"> <h3 class="text-xl font-semibold text-white mb-1 group-hover:text-gray-300 transition-colors" > Shelby Cobra 427 </h3> <div class="flex items-center gap-4 text-sm text-gray-400 mb-3" > <div class="flex items-center gap-1"> <svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-calendar" aria-hidden="true" > <path d="M8 2v4"></path> <path d="M16 2v4"></path> <rect width="18" height="18" x="3" y="4" rx="2" ></rect> <path d="M3 10h18"></path></svg ><span>1965</span> </div> <div class="flex items-center gap-1"> <svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-dollar-sign" aria-hidden="true" > <line x1="12" x2="12" y1="2" y2="22"></line> <path d="M17 5H9.5a3.5 3.5 0 0 0 0 7h5a3.5 3.5 0 0 1 0 7H6" ></path></svg ><span>$1.850.000</span> </div> </div> <p class="text-gray-400 text-sm line-clamp-2"> Leyenda del muscle car americano. Potencia bruta en su forma más pura. El auto definitivo del conductor de la era dorada. </p> </div> </div> <div class="rounded-xl border text-card-foreground shadow group cursor-pointer overflow-hidden bg-zinc-900 border-zinc-800 hover:border-zinc-700 transition-all duration-300 hover:transform hover:scale-[1.02]" > <div class="relative aspect-[4/3] overflow-hidden"> <a href="index_13.html" ><img alt="Porsche 356 Speedster" class="w-full h-full object-cover group-hover:scale-110 transition-transform duration-500" loading="lazy" src="pexels-photo-34690218.jpeg" /></a> <div class="absolute top-3 right-3 bg-black/70 backdrop-blur-sm px-3 py-1 rounded-full text-xs text-white font-medium" > Clásico </div> </div> <div class="p-5"> <h3 class="text-xl font-semibold text-white mb-1 group-hover:text-gray-300 transition-colors" > Porsche 356 Speedster </h3> <div class="flex items-center gap-4 text-sm text-gray-400 mb-3" > <div class="flex items-center gap-1"> <svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-calendar" aria-hidden="true" > <path d="M8 2v4"></path> <path d="M16 2v4"></path> <rect width="18" height="18" x="3" y="4" rx="2" ></rect> <path d="M3 10h18"></path></svg ><span>1957</span> </div> <div class="flex items-center gap-1"> <svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-dollar-sign" aria-hidden="true" > <line x1="12" x2="12" y1="2" y2="22"></line> <path d="M17 5H9.5a3.5 3.5 0 0 0 0 7h5a3.5 3.5 0 0 1 0 7H6" ></path></svg ><span>$425.000</span> </div> </div> <p class="text-gray-400 text-sm line-clamp-2"> El auto que inició la leyenda. Diseño atemporal, pura alegría de conducción. Una verdadera obra maestra de colección. </p> </div> </div> </div> </div> </section> <section id="about" class="py-20 px-4 bg-zinc-950"> <div class="max-w-7xl mx-auto"> <div class="text-center mb-16"> <h2 class="text-4xl md:text-5xl font-bold text-white mb-6"> Sobre Apex Import Motors </h2> <p class="text-xl text-gray-300 max-w-3xl mx-auto leading-relaxed" > Durante más de 20 años, hemos conectado a clientes exigentes con los vehículos más excepcionales del mundo. Desde los últimos superdeportivos de lujo hasta automóviles clásicos únicos, nos especializamos en la búsqueda e importación de verdaderas obras maestras automotrices. Nuestro equipo de expertos garantiza una experiencia sin complicaciones, manejando cada aspecto del proceso de importación con precisión y cuidado. Ya sea que busques un hypercar moderno o un tesoro vintage, hacemos realidad tus sueños automotrices. </p> </div> <div class="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-4 gap-8"> <div class="text-center p-6 bg-zinc-900 border border-zinc-800 rounded-lg hover:border-zinc-700 transition-colors duration-300" > <div class="inline-flex items-center justify-center w-16 h-16 bg-white/5 rounded-full mb-4" > <svg xmlns="http://www.w3.org/2000/svg" width="28" height="28" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-shield text-white" aria-hidden="true" > <path d="M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z" ></path> </svg> </div> <h3 class="text-xl font-semibold text-white mb-2"> Experiencia Confiable </h3> <p class="text-gray-400"> Más de 20 años de excelencia en la importación de vehículos de lujo </p> </div> <div class="text-center p-6 bg-zinc-900 border border-zinc-800 rounded-lg hover:border-zinc-700 transition-colors duration-300" > <div class="inline-flex items-center justify-center w-16 h-16 bg-white/5 rounded-full mb-4" > <svg xmlns="http://www.w3.org/2000/svg" width="28" height="28" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-globe text-white" aria-hidden="true" > <circle cx="12" cy="12" r="10"></circle> <path d="M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20" ></path> <path d="M2 12h20"></path> </svg> </div> <h3 class="text-xl font-semibold text-white mb-2"> Red Global </h3> <p class="text-gray-400"> Acceso a vehículos exclusivos de fuentes confiables en todo el mundo </p> </div> <div class="text-center p-6 bg-zinc-900 border border-zinc-800 rounded-lg hover:border-zinc-700 transition-colors duration-300" > <div class="inline-flex items-center justify-center w-16 h-16 bg-white/5 rounded-full mb-4" > <svg xmlns="http://www.w3.org/2000/svg" width="28" height="28" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-award text-white" aria-hidden="true" > <path d="m15.477 12.89 1.515 8.526a.5.5 0 0 1-.81.47l-3.58-2.687a1 1 0 0 0-1.197 0l-3.586 2.686a.5.5 0 0 1-.81-.469l1.514-8.526" ></path> <circle cx="12" cy="8" r="6"></circle> </svg> </div> <h3 class="text-xl font-semibold text-white mb-2"> Calidad Premium </h3> <p class="text-gray-400"> Cada vehículo pasa por rigurosas inspecciones y certificaciones </p> </div> <div class="text-center p-6 bg-zinc-900 border border-zinc-800 rounded-lg hover:border-zinc-700 transition-colors duration-300" > <div class="inline-flex items-center justify-center w-16 h-16 bg-white/5 rounded-full mb-4" > <svg xmlns="http://www.w3.org/2000/svg" width="28" height="28" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-users text-white" aria-hidden="true" > <path d="M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2" ></path> <path d="M16 3.128a4 4 0 0 1 0 7.744"></path> <path d="M22 21v-2a4 4 0 0 0-3-3.87"></path> <circle cx="9" cy="7" r="4"></circle> </svg> </div> <h3 class="text-xl font-semibold text-white mb-2"> Equipo Experto </h3> <p class="text-gray-400"> Especialistas dedicados que te guían en cada paso del proceso </p> </div> </div> </div> </section> <section id="services" class="py-20 px-4 bg-black"> <div class="max-w-7xl mx-auto"> <div class="text-center mb-16"> <h2 class="text-4xl md:text-5xl font-bold text-white mb-4"> Nuestros Servicios </h2> <p class="text-gray-400 text-lg"> Soluciones integrales para todas tus necesidades de vehículos de lujo </p> </div> <div class="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-6"> <div class="rounded-xl border text-card-foreground shadow p-6 bg-zinc-900 border-zinc-800 hover:border-zinc-700 transition-all duration-300 hover:transform hover:scale-[1.02]" > <h3 class="text-xl font-semibold text-white mb-3"> Búsqueda Global de Vehículos </h3> <p class="text-gray-400 leading-relaxed"> Acceso a vehículos exclusivos de lujo y clásicos en todo el mundo. Localizamos y aseguramos el auto de tus sueños de fuentes confiables. </p> </div> <div class="rounded-xl border text-card-foreground shadow p-6 bg-zinc-900 border-zinc-800 hover:border-zinc-700 transition-all duration-300 hover:transform hover:scale-[1.02]" > <h3 class="text-xl font-semibold text-white mb-3"> Servicio Completo de Importación </h3> <p class="text-gray-400 leading-relaxed"> Servicio integral de importación que incluye despacho de aduanas, documentación, envío y entrega hasta tu puerta. </p> </div> <div class="rounded-xl border text-card-foreground shadow p-6 bg-zinc-900 border-zinc-800 hover:border-zinc-700 transition-all duration-300 hover:transform hover:scale-[1.02]" > <h3 class="text-xl font-semibold text-white mb-3"> Inspección de Vehículos </h3> <p class="text-gray-400 leading-relaxed"> Inspecciones exhaustivas previas a la compra realizadas por especialistas certificados para garantizar autenticidad y condición. </p> </div> <div class="rounded-xl border text-card-foreground shadow p-6 bg-zinc-900 border-zinc-800 hover:border-zinc-700 transition-all duration-300 hover:transform hover:scale-[1.02]" > <h3 class="text-xl font-semibold text-white mb-3"> Soluciones de Financiamiento </h3> <p class="text-gray-400 leading-relaxed"> Opciones de financiamiento flexibles adaptadas para la adquisición de vehículos de lujo y clásicos, con tasas competitivas. </p> </div> <div class="rounded-xl border text-card-foreground shadow p-6 bg-zinc-900 border-zinc-800 hover:border-zinc-700 transition-all duration-300 hover:transform hover:scale-[1.02]" > <h3 class="text-xl font-semibold text-white mb-3"> Soporte Postventa </h3> <p class="text-gray-400 leading-relaxed"> Coordinación continua de mantenimiento, búsqueda de repuestos y soporte dedicado para tu experiencia de propiedad del vehículo. </p> </div> <div class="rounded-xl border text-card-foreground shadow p-6 bg-zinc-900 border-zinc-800 hover:border-zinc-700 transition-all duration-300 hover:transform hover:scale-[1.02]" > <h3 class="text-xl font-semibold text-white mb-3"> Gestión de Colecciones </h3> <p class="text-gray-400 leading-relaxed"> Asesoría experta para construir y administrar tu colección de autos de lujo o clásicos, con análisis y tendencias del mercado. </p> </div> </div> </div> </section> <section id="testimonials" class="py-20 px-4 bg-zinc-950"> <div class="max-w-7xl mx-auto"> <div class="text-center mb-16"> <h2 class="text-4xl md:text-5xl font-bold text-white mb-4"> Testimonios de Clientes </h2> <p class="text-gray-400 text-lg"> Lo que dicen nuestros clientes sobre su experiencia </p> </div> <div class="grid grid-cols-1 md:grid-cols-3 gap-6"> <div class="rounded-xl border text-card-foreground shadow p-6 bg-zinc-900 border-zinc-800 relative" > <!-- icono comillas --> <svg xmlns="http://www.w3.org/2000/svg" width="40" height="40" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-quote absolute top-4 right-4 text-zinc-700" aria-hidden="true" > <path d="M16 3a2 2 0 0 0-2 2v6a2 2 0 0 0 2 2 1 1 0 0 1 1 1v1a2 2 0 0 1-2 2 1 1 0 0 0-1 1v2a1 1 0 0 0 1 1 6 6 0 0 0 6-6V5a2 2 0 0 0-2-2z" ></path> <path d="M5 3a2 2 0 0 0-2 2v6a2 2 0 0 0 2 2 1 1 0 0 1 1 1v1a2 2 0 0 1-2 2 1 1 0 0 0-1 1v2a1 1 0 0 0 1 1 6 6 0 0 0 6-6V5a2 2 0 0 0-2-2z" ></path> </svg> <!-- estrellas --> <div class="flex gap-1 mb-4"> <!-- 5 estrellas llenas --> <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-star fill-white text-white" aria-hidden="true" > <path d="M11.525 2.295a.53.53 0 0 1 .95 0l2.31 4.679a2.123 2.123 0 0 0 1.595 1.16l5.166.756a.53.53 0 0 1 .294.904l-3.736 3.638a2.123 2.123 0 0 0-.611 1.878l.882 5.14a.53.53 0 0 1-.771.56l-4.618-2.428a2.122 2.122 0 0 0-1.973 0L6.396 21.01a.53.53 0 0 1-.77-.56l.881-5.139a2.122 2.122 0 0 0-.611-1.879L2.16 9.795a.53.53 0 0 1 .294-.906l5.165-.755a2.122 2.122 0 0 0 1.597-1.16z" ></path> </svg> <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-star fill-white text-white" aria-hidden="true" > <path d="M11.525 2.295a.53.53 0 0 1 .95 0l2.31 4.679a2.123 2.123 0 0 0 1.595 1.16l5.166.756a.53.53 0 0 1 .294.904l-3.736 3.638a2.123 2.123 0 0 0-.611 1.878l.882 5.14a.53.53 0 0 1-.771.56l-4.618-2.428a2.122 2.122 0 0 0-1.973 0L6.396 21.01a.53.53 0 0 1-.77-.56l.881-5.139a2.122 2.122 0 0 0-.611-1.879L2.16 9.795a.53.53 0 0 1 .294-.906l5.165-.755a2.122 2.122 0 0 0 1.597-1.16z" ></path> </svg> <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-star fill-white text-white" aria-hidden="true" > <path d="M11.525 2.295a.53.53 0 0 1 .95 0l2.31 4.679a2.123 2.123 0 0 0 1.595 1.16l5.166.756a.53.53 0 0 1 .294.904l-3.736 3.638a2.123 2.123 0 0 0-.611 1.878l.882 5.14a.53.53 0 0 1-.771.56l-4.618-2.428a2.122 2.122 0 0 0-1.973 0L6.396 21.01a.53.53 0 0 1-.77-.56l.881-5.139a2.122 2.122 0 0 0-.611-1.879L2.16 9.795a.53.53 0 0 1 .294-.906l5.165-.755a2.122 2.122 0 0 0 1.597-1.16z" ></path> </svg> <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-star fill-white text-white" aria-hidden="true" > <path d="M11.525 2.295a.53.53 0 0 1 .95 0l2.31 4.679a2.123 2.123 0 0 0 1.595 1.16l5.166.756a.53.53 0 0 1 .294.904l-3.736 3.638a2.123 2.123 0 0 0-.611 1.878l.882 5.14a.53.53 0 0 1-.771.56l-4.618-2.428a2.122 2.122 0 0 0-1.973 0L6.396 21.01a.53.53 0 0 1-.77-.56l.881-5.139a2.122 2.122 0 0 0-.611-1.879L2.16 9.795a.53.53 0 0 1 .294-.906l5.165-.755a2.122 2.122 0 0 0 1.597-1.16z" ></path> </svg> <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-star fill-white text-white" aria-hidden="true" > <path d="M11.525 2.295a.53.53 0 0 1 .95 0l2.31 4.679a2.123 2.123 0 0 0 1.595 1.16l5.166.756a.53.53 0 0 1 .294.904l-3.736 3.638a2.123 2.123 0 0 0-.611 1.878l.882 5.14a.53.53 0 0 1-.771.56l-4.618-2.428a2.122 2.122 0 0 0-1.973 0L6.396 21.01a.53.53 0 0 1-.77-.56l.881-5.139a2.122 2.122 0 0 0-.611-1.879L2.16 9.795a.53.53 0 0 1 .294-.906l5.165-.755a2.122 2.122 0 0 0 1.597-1.16z" ></path> </svg> </div> <p class="text-gray-300 leading-relaxed mb-6 relative z-10"> Servicio excepcional de principio a fin. Me ayudaron a importar mi Ferrari soñado y manejaron cada detalle perfectamente. Verdaderamente profesionales. </p> <div> <p class="text-white font-semibold">Miguel Rodríguez</p> <p class="text-gray-500 text-sm">Empresario</p> </div> </div> <div class="rounded-xl border text-card-foreground shadow p-6 bg-zinc-900 border-zinc-800 relative" > <!-- mismo patrón de comillas y estrellas --> <svg xmlns="http://www.w3.org/2000/svg" width="40" height="40" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-quote absolute top-4 right-4 text-zinc-700" aria-hidden="true" > <path d="M16 3a2 2 0 0 0-2 2v6a2 2 0 0 0 2 2 1 1 0 0 1 1 1v1a2 2 0 0 1-2 2 1 1 0 0 0-1 1v2a1 1 0 0 0 1 1 6 6 0 0 0 6-6V5a2 2 0 0 0-2-2z" ></path> <path d="M5 3a2 2 0 0 0-2 2v6a2 2 0 0 0 2 2 1 1 0 0 1 1 1v1a2 2 0 0 1-2 2 1 1 0 0 0-1 1v2a1 1 0 0 0 1 1 6 6 0 0 0 6-6V5a2 2 0 0 0-2-2z" ></path> </svg> <div class="flex gap-1 mb-4"> <!-- 5 estrellas llenas (repetidas) --> <!-- ... mismas 5 estrellas ... --> <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-star fill-white text-white" aria-hidden="true" > <path d="M11.525 2.295a.53.53 0 0 1 .95 0l2.31 4.679a2.123 2.123 0 0 0 1.595 1.16l5.166.756a.53.53 0 0 1 .294.904l-3.736 3.638a2.123 2.123 0 0 0-.611 1.878l.882 5.14a.53.53 0 0 1-.771.56l-4.618-2.428a2.122 2.122 0 0 0-1.973 0L6.396 21.01a.53.53 0 0 1-.77-.56l.881-5.139a2.122 2.122 0 0 0-.611-1.879L2.16 9.795a.53.53 0 0 1 .294-.906l5.165-.755a2.122 2.122 0 0 0 1.597-1.16z" ></path></svg ><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-star fill-white text-white" aria-hidden="true" > <path d="M11.525 2.295a.53.53 0 0 1 .95 0l2.31 4.679a2.123 2.123 0 0 0 1.595 1.16l5.166.756a.53.53 0 0 1 .294.904l-3.736 3.638a2.123 2.123 0 0 0-.611 1.878l.882 5.14a.53.53 0 0 1-.771.56l-4.618-2.428a2.122 2.122 0 0 0-1.973 0L6.396 21.01a.53.53 0 0 1-.77-.56l.881-5.139a2.122 2.122 0 0 0-.611-1.879L2.16 9.795a.53.53 0 0 1 .294-.906l5.165-.755a2.122 2.122 0 0 0 1.597-1.16z" ></path></svg ><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-star fill-white text-white" aria-hidden="true" > <path d="M11.525 2.295a.53.53 0 0 1 .95 0l2.31 4.679a2.123 2.123 0 0 0 1.595 1.16l5.166.756a.53.53 0 0 1 .294.904l-3.736 3.638a2.123 2.123 0 0 0-.611 1.878l.882 5.14a.53.53 0 0 1-.771.56l-4.618-2.428a2.122 2.122 0 0 0-1.973 0L6.396 21.01a.53.53 0 0 1-.77-.56l.881-5.139a2.122 2.122 0 0 0-.611-1.879L2.16 9.795a.53.53 0 0 1 .294-.906l5.165-.755a2.122 2.122 0 0 0 1.597-1.16z" ></path></svg ><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-star fill-white text-white" aria-hidden="true" > <path d="M11.525 2.295a.53.53 0 0 1 .95 0l2.31 4.679a2.123 2.123 0 0 0 1.595 1.16l5.166.756a.53.53 0 0 1 .294.904l-3.736 3.638a2.123 2.123 0 0 0-.611 1.878l.882 5.14a.53.53 0 0 1-.771.56l-4.618-2.428a2.122 2.122 0 0 0-1.973 0L6.396 21.01a.53.53 0 0 1-.77-.56l.881-5.139a2.122 2.122 0 0 0-.611-1.879L2.16 9.795a.53.53 0 0 1 .294-.906l5.165-.755a2.122 2.122 0 0 0 1.597-1.16z" ></path></svg ><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-star fill-white text-white" aria-hidden="true" > <path d="M11.525 2.295a.53.53 0 0 1 .95 0l2.31 4.679a2.123 2.123 0 0 0 1.595 1.16l5.166.756a.53.53 0 0 1 .294.904l-3.736 3.638a2.123 2.123 0 0 0-.611 1.878l.882 5.14a.53.53 0 0 1-.771.56l-4.618-2.428a2.122 2.122 0 0 0-1.973 0L6.396 21.01a.53.53 0 0 1-.77-.56l.881-5.139a2.122 2.122 0 0 0-.611-1.879L2.16 9.795a.53.53 0 0 1 .294-.906l5.165-.755a2.122 2.122 0 0 0 1.597-1.16z" ></path> </svg> </div> <p class="text-gray-300 leading-relaxed mb-6 relative z-10"> Encontré mi raro Shelby Cobra 1965 a través de ellos. Su experiencia en autos clásicos es inigualable. ¡Altamente recomendado! </p> <div> <p class="text-white font-semibold">Sarah Chen</p> <p class="text-gray-500 text-sm">Coleccionista</p> </div> </div> <div class="rounded-xl border text-card-foreground shadow p-6 bg-zinc-900 border-zinc-800 relative" > <svg xmlns="http://www.w3.org/2000/svg" width="40" height="40" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-quote absolute top-4 right-4 text-zinc-700" aria-hidden="true" > <path d="M16 3a2 2 0 0 0-2 2v6a2 2 0 0 0 2 2 1 1 0 0 1 1 1v1a2 2 0 0 1-2 2 1 1 0 0 0-1 1v2a1 1 0 0 0 1 1 6 6 0 0 0 6-6V5a2 2 0 0 0-2-2z" ></path> <path d="M5 3a2 2 0 0 0-2 2v6a2 2 0 0 0 2 2 1 1 0 0 1 1 1v1a2 2 0 0 1-2 2 1 1 0 0 0-1 1v2a1 1 0 0 0 1 1 6 6 0 0 0 6-6V5a2 2 0 0 0-2-2z" ></path> </svg> <div class="flex gap-1 mb-4"> <!-- 5 estrellas llenas --> <!-- ... mismas 5 estrellas ... --> <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-star fill-white text-white" aria-hidden="true" > <path d="M11.525 2.295a.53.53 0 0 1 .95 0l2.31 4.679a2.123 2.123 0 0 0 1.595 1.16l5.166.756a.53.53 0 0 1 .294.904l-3.736 3.638a2.123 2.123 0 0 0-.611 1.878l.882 5.14a.53.53 0 0 1-.771.56l-4.618-2.428a2.122 2.122 0 0 0-1.973 0L6.396 21.01a.53.53 0 0 1-.77-.56l.881-5.139a2.122 2.122 0 0 0-.611-1.879L2.16 9.795a.53.53 0 0 1 .294-.906l5.165-.755a2.122 2.122 0 0 0 1.597-1.16z" ></path></svg ><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-star fill-white text-white" aria-hidden="true" > <path d="M11.525 2.295a.53.53 0 0 1 .95 0l2.31 4.679a2.123 2.123 0 0 0 1.595 1.16l5.166.756a.53.53 0 0 1 .294.904l-3.736 3.638a2.123 2.123 0 0 0-.611 1.878l.882 5.14a.53.53 0 0 1-.771.56l-4.618-2.428a2.122 2.122 0 0 0-1.973 0L6.396 21.01a.53.53 0 0 1-.77-.56l.881-5.139a2.122 2.122 0 0 0-.611-1.879L2.16 9.795a.53.53 0 0 1 .294-.906l5.165-.755a2.122 2.122 0 0 0 1.597-1.16z" ></path></svg ><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-star fill-white text-white" aria-hidden="true" > <path d="M11.525 2.295a.53.53 0 0 1 .95 0l2.31 4.679a2.123 2.123 0 0 0 1.595 1.16l5.166.756a.53.53 0 0 1 .294.904l-3.736 3.638a2.123 2.123 0 0 0-.611 1.878l.882 5.14a.53.53 0 0 1-.771.56l-4.618-2.428a2.122 2.122 0 0 0-1.973 0L6.396 21.01a.53.53 0 0 1-.77-.56l.881-5.139a2.122 2.122 0 0 0-.611-1.879L2.16 9.795a.53.53 0 0 1 .294-.906l5.165-.755a2.122 2.122 0 0 0 1.597-1.16z" ></path></svg ><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-star fill-white text-white" aria-hidden="true" > <path d="M11.525 2.295a.53.53 0 0 1 .95 0l2.31 4.679a2.123 2.123 0 0 0 1.595 1.16l5.166.756a.53.53 0 0 1 .294.904l-3.736 3.638a2.123 2.123 0 0 0-.611 1.878l.882 5.14a.53.53 0 0 1-.771.56l-4.618-2.428a2.122 2.122 0 0 0-1.973 0L6.396 21.01a.53.53 0 0 1-.77-.56l.881-5.139a2.122 2.122 0 0 0-.611-1.879L2.16 9.795a.53.53 0 0 1 .294-.906l5.165-.755a2.122 2.122 0 0 0 1.597-1.16z" ></path></svg ><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-star fill-white text-white" aria-hidden="true" > <path d="M11.525 2.295a.53.53 0 0 1 .95 0l2.31 4.679a2.123 2.123 0 0 0 1.595 1.16l5.166.756a.53.53 0 0 1 .294.904l-3.736 3.638a2.123 2.123 0 0 0-.611 1.878l.882 5.14a.53.53 0 0 1-.771.56l-4.618-2.428a2.122 2.122 0 0 0-1.973 0L6.396 21.01a.53.53 0 0 1-.77-.56l.881-5.139a2.122 2.122 0 0 0-.611-1.879L2.16 9.795a.53.53 0 0 1 .294-.906l5.165-.755a2.122 2.122 0 0 0 1.597-1.16z" ></path> </svg> </div> <p class="text-gray-300 leading-relaxed mb-6 relative z-10"> Todo el proceso de importación fue impecable. Hicieron que comprar un Lamborghini desde Europa fuera sin esfuerzo. ¡Equipo sobresaliente! </p> <div> <p class="text-white font-semibold">James Patterson</p> <p class="text-gray-500 text-sm">Ejecutivo de negocios</p> </div> </div> </div> </div> </section> <section id="contact" class="py-20 px-4 bg-black"> <div class="max-w-7xl mx-auto"> <div class="text-center mb-16"> <h2 class="text-4xl md:text-5xl font-bold text-white mb-4"> Ponte en Contacto </h2> <p class="text-gray-400 text-lg"> Permítenos ayudarte a encontrar el vehículo de tus sueños </p> </div> <div class="grid grid-cols-1 lg:grid-cols-2 gap-12"> <div class="space-y-8"> <div> <h3 class="text-2xl font-semibold text-white mb-6"> Información de Contacto </h3> <div class="space-y-4"> <div class="flex items-start gap-4"> <div class="w-12 h-12 bg-white/5 rounded-lg flex items-center justify-center flex-shrink-0" > <!-- Mail icon --> <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-mail text-white" aria-hidden="true" > <path d="m22 7-8.991 5.727a2 2 0 0 1-2.009 0L2 7" ></path> <rect x="2" y="4" width="20" height="16" rx="2" ></rect> </svg> </div> <div> <p class="text-gray-400 text-sm">Correo</p> <p class="text-white font-medium"> info@apeximportmotors.cl </p> </div> </div> <div class="flex items-start gap-4"> <div class="w-12 h-12 bg-white/5 rounded-lg flex items-center justify-center flex-shrink-0" > <!-- Phone icon --> <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-phone text-white" aria-hidden="true" > <path d="M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72 12.84 12.84 0 0 0 .7 2.81 2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45 12.84 12.84 0 0 0 2.81.7A2 2 0 0 1 22 16.92z" ></path> </svg> </div> <div> <p class="text-gray-400 text-sm">Teléfono</p> <p class="text-white font-medium">+56 9 1234 5678</p> </div> </div> <div class="flex items-start gap-4"> <div class="w-12 h-12 bg-white/5 rounded-lg flex items-center justify-center flex-shrink-0" > <!-- Map pin icon --> <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-map-pin text-white" aria-hidden="true" > <path d="M20 10c0 4.993-5.539 10.193-7.399 11.799a1 1 0 0 1-1.202 0C9.539 20.193 4 14.993 4 10a8 8 0 0 1 16 0" ></path> <circle cx="12" cy="10" r="3"></circle> </svg> </div> <div> <p class="text-gray-400 text-sm">Dirección</p> <p class="text-white font-medium"> 123 Luxury Boulevard, Miami, FL 33139 </p> </div> </div> <div class="flex items-start gap-4"> <div class="w-12 h-12 bg-white/5 rounded-lg flex items-center justify-center flex-shrink-0" > <!-- Clock icon --> <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-clock text-white" aria-hidden="true" > <circle cx="12" cy="12" r="10"></circle> <polyline points="12 6 12 12 16 14"></polyline> </svg> </div> <div> <p class="text-gray-400 text-sm"> Horario de Atención </p> <p class="text-white font-medium"> Lunes a Sábado: 9:00 - 19:00 </p> </div> </div> </div> </div> </div> <!-- Formulario --> <div class="bg-zinc-900 border border-zinc-800 rounded-lg p-8"> <h3 class="text-2xl font-semibold text-white mb-6"> Envíanos un Mensaje </h3> <form class="space-y-4"> <div> <label class="text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70 text-gray-300" for="name" >Nombre Completo</label > <input class="flex h-9 w-full rounded-md border px-3 py-1 text-base shadow-sm transition-colors file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50 md:text-sm bg-zinc-800 border-zinc-700 text-white mt-1" id="name" name="name" required placeholder="Juan Pérez" value="" /> </div> <div> <label class="text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70 text-gray-300" for="email" >Correo</label > <input class="flex h-9 w-full rounded-md border px-3 py-1 text-base shadow-sm transition-colors file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50 md:text-sm bg-zinc-800 border-zinc-700 text-white mt-1" id="email" name="email" type="email" required placeholder="juan@ejemplo.com" value="" /> </div> <div> <label class="text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70 text-gray-300" for="phone" >Número de Teléfono</label > <input class="flex h-9 w-full rounded-md border px-3 py-1 text-base shadow-sm transition-colors file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50 md:text-sm bg-zinc-800 border-zinc-700 text-white mt-1" id="phone" name="phone" type="tel" required placeholder="+56 9 1234 5678" value="" /> </div> <div> <label class="text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70 text-gray-300" for="subject" >Asunto</label > <input class="flex h-9 w-full rounded-md border px-3 py-1 text-base shadow-sm transition-colors file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50 md:text-sm bg-zinc-800 border-zinc-700 text-white mt-1" id="subject" name="subject" required placeholder="¿Cómo podemos ayudarte?" value="" /> </div> <div> <label class="text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70 text-gray-300" for="message" >Mensaje</label > <textarea class="flex w-full rounded-md border px-3 py-2 text-base shadow-sm placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50 md:text-sm bg-zinc-800 border-zinc-700 text-white mt-1 min-h-[120px]" id="message" name="message" required placeholder="Cuéntanos más sobre lo que buscas..." ></textarea> </div> <button class="inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md transition-colors focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0 shadow px-4 py-2 w-full bg-white text-black hover:bg-gray-200 h-12 text-base font-medium" type="submit" > Enviar Mensaje </button> </form> </div> </div> </div> </section> </main> <footer class="bg-zinc-950 border-t border-zinc-800 py-12 px-4"> <div class="max-w-7xl mx-auto"> <div class="grid grid-cols-1 md:grid-cols-4 gap-8 mb-8"> <!-- Columna 1 --> <div class="md:col-span-2"> <h3 class="text-white font-bold text-2xl mb-4"> Apex Import Motors </h3> <p class="text-gray-400 mb-4 max-w-md"> Tu puerta de acceso a la excelencia automotriz. </p> <div class="space-y-2 text-sm"> <div class="flex items-center gap-2 text-gray-400"> <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-mail" aria-hidden="true" > <path d="m22 7-8.991 5.727a2 2 0 0 1-2.009 0L2 7"></path> <rect x="2" y="4" width="20" height="16" rx="2"></rect> </svg> <span>info@apeximportmotors.cl</span> </div> <div class="flex items-center gap-2 text-gray-400"> <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-phone" aria-hidden="true" > <path d="M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72 12.84 12.84 0 0 0 .7 2.81 2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45 12.84 12.84 0 0 0 2.81.7A2 2 0 0 1 22 16.92z" ></path> </svg> <span>+56 9 7654 3210</span> </div> <div class="flex items-center gap-2 text-gray-400"> <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-map-pin" aria-hidden="true" > <path d="M20 10c0 4.993-5.539 10.193-7.399 11.799a1 1 0 0 1-1.202 0C9.539 20.193 4 14.993 4 10a8 8 0 0 1 16 0" ></path> <circle cx="12" cy="10" r="3"></circle> </svg> <span>Av. Vitacura 2909, Las Condes, Santiago, Chile</span> </div> </div> </div> <!-- Columna 2 --> <div> <h4 class="text-white font-semibold mb-4">Enlaces Rápidos</h4> <ul class="space-y-2 text-sm"> <li> <button class="text-gray-400 hover:text-white transition-colors" > Colección </button> </li> <li> <button class="text-gray-400 hover:text-white transition-colors" > Sobre Nosotros </button> </li> <li> <button class="text-gray-400 hover:text-white transition-colors" > Servicios </button> </li> <li> <button class="text-gray-400 hover:text-white transition-colors" > Testimonios </button> </li> </ul> </div> <!-- Columna 3 --> <div> <h4 class="text-white font-semibold mb-4"> Horario de Atención </h4> <p class="text-gray-400 text-sm"> Lunes a Sábado: 9:00 - 19:00 </p> <p class="text-gray-400 text-sm mt-2">Domingo: Cerrado</p> </div> </div> <div class="border-t border-zinc-800 pt-8"> <p class="text-gray-500 text-sm text-center"> © 2025 Apex Import Motors. Todos los derechos reservados. </p> </div> </div> </footer> <section aria-label="Notifications alt+T" tabindex="-1" aria-live="polite" aria-relevant="additions text" aria-atomic="false" ></section> </div> </div> <!-- This HTML file is a template. If you open it directly in the browser, you will see an empty page. You can add webfonts, meta tags, or analytics to this file. The build step will place the bundled scripts into the <body> tag. To begin the development, run `npm start` or `yarn start`. To create a production bundle, use `npm run build` or `yarn build`. --> <script> (function () { const header = document.querySelector("header"); const detailStylesSelector = "link[data-vehicle-detail-styles]"; let scrollAnimationFrame = null; let scrollAnimationStart = null; let lastFocusedElement = null; let modalOverlay = null; let scrollPosition = 0; const isLocalFileProtocol = window.location.protocol === "file:"; function easeInOutQuad(t) { return t < 0.5 ? 2 * t * t : -1 + (4 - 2 * t) * t; } function animateScrollTo(targetY, duration = 700) { const startY = window.pageYOffset || document.documentElement.scrollTop || 0; const distance = targetY - startY; function step(timestamp) { if (scrollAnimationStart === null) { scrollAnimationStart = timestamp; } const elapsed = timestamp - scrollAnimationStart; const progress = Math.min(1, elapsed / duration); const eased = easeInOutQuad(progress); window.scrollTo(0, startY + distance * eased); if (progress < 1) { scrollAnimationFrame = requestAnimationFrame(step); } else { scrollAnimationFrame = null; scrollAnimationStart = null; } } if (scrollAnimationFrame) { cancelAnimationFrame(scrollAnimationFrame); scrollAnimationFrame = null; } scrollAnimationStart = null; scrollAnimationFrame = requestAnimationFrame(step); } function scrollToSection(targetSelector) { if (!targetSelector) return; const target = document.querySelector(targetSelector); if (!target) return; const headerHeight = header ? header.offsetHeight : 0; const elementPosition = target.getBoundingClientRect().top + window.pageYOffset; const offsetPosition = elementPosition - headerHeight; animateScrollTo(offsetPosition, 720); } document.querySelectorAll("[data-scroll-target]").forEach((trigger) => { trigger.addEventListener("click", (event) => { event.preventDefault(); const targetSelector = trigger.getAttribute("data-scroll-target"); scrollToSection(targetSelector); }); }); function escapeAttribute(value) { return (value || "") .replace(/&/g, "&") .replace(/"/g, """) .replace(/</g, "<") .replace(/>/g, ">"); } function ensureDetailStyles() { if (!document.querySelector(detailStylesSelector)) { const link = document.createElement("link"); link.rel = "stylesheet"; link.href = "main.e1d790af.css"; link.setAttribute("data-vehicle-detail-styles", "true"); document.head.appendChild(link); } } function lockBodyScroll() { scrollPosition = window.pageYOffset || document.documentElement.scrollTop || 0; document.body.classList.add("vehicle-modal-open"); document.body.style.position = "fixed"; document.body.style.top = `-${scrollPosition}px`; document.body.style.width = "100%"; document.body.style.overflow = "hidden"; } function unlockBodyScroll() { document.body.classList.remove("vehicle-modal-open"); document.body.style.position = ""; document.body.style.top = ""; document.body.style.width = ""; document.body.style.overflow = ""; window.scrollTo(0, scrollPosition); } function handleKeydown(event) { if (event.key === "Escape") { closeModal(); } } function closeModal() { if (!modalOverlay) return; const overlayToClose = modalOverlay; modalOverlay = null; overlayToClose.classList.add("vehicle-modal-overlay--closing"); let overlayRemoved = false; const removeOverlay = () => { if (overlayRemoved) return; overlayRemoved = true; overlayToClose.remove(); }; overlayToClose.addEventListener("animationend", removeOverlay, { once: true, }); overlayToClose.addEventListener("transitionend", removeOverlay, { once: true, }); setTimeout(removeOverlay, 260); document.removeEventListener("keydown", handleKeydown); unlockBodyScroll(); if ( lastFocusedElement && typeof lastFocusedElement.focus === "function" ) { lastFocusedElement.focus({ preventScroll: true }); } } function openModal(url, title) { if (!url) return; ensureDetailStyles(); lastFocusedElement = document.activeElement instanceof HTMLElement ? document.activeElement : null; if (modalOverlay) { modalOverlay.remove(); modalOverlay = null; } const safeTitle = escapeAttribute(title || "Detalle del vehículo"); const safeUrl = escapeAttribute(url || ""); modalOverlay = document.createElement("div"); modalOverlay.className = "vehicle-modal-overlay"; modalOverlay.innerHTML = ` <div class="vehicle-modal-content" role="dialog" aria-modal="true" aria-label="${safeTitle}"> <button type="button" class="vehicle-modal-close" aria-label="Cerrar detalle del vehículo"> <span aria-hidden="true">×</span> </button> <div class="vehicle-modal-body"> <div class="vehicle-modal-loader" role="status"> <span>Cargando detalle...</span> </div> </div> </div> `.trim(); const bodyContainer = modalOverlay.querySelector( ".vehicle-modal-body" ); const loadContent = () => { bodyContainer.innerHTML = ` <div class="vehicle-modal-loader" role="status"> <span>Cargando detalle...</span> </div> `.trim(); fetch(url, { cache: "no-store" }) .then((response) => { if (!response.ok) { throw new Error( `Error al cargar el detalle: ${response.status}` ); } return response.text(); }) .then((html) => { if (!modalOverlay || !modalOverlay.contains(bodyContainer)) { return; } const parser = new DOMParser(); const doc = parser.parseFromString(html, "text/html"); let main = doc.querySelector("main"); if (main) { main = main.cloneNode(true); const hero = main.querySelector("#hero"); if (hero) hero.remove(); main .querySelectorAll("header, footer") .forEach((node) => node.remove()); } let content = main; if (!content) { const root = doc.querySelector("#root"); if (root) { const clone = root.cloneNode(true); clone .querySelectorAll("header, footer") .forEach((node) => node.remove()); content = clone; } } if (!content) { content = doc.body.cloneNode(true); } content .querySelectorAll("script") .forEach((node) => node.remove()); const wrapper = document.createElement("div"); wrapper.className = "vehicle-modal-detail-root"; wrapper.appendChild(content); bodyContainer.innerHTML = ""; bodyContainer.appendChild(wrapper); const focusable = bodyContainer.querySelector( 'a, button, [tabindex]:not([tabindex="-1"])' ); if (focusable && typeof focusable.focus === "function") { focusable.focus({ preventScroll: true }); } }) .catch((error) => { console.error( "No se pudo cargar el detalle del vehículo.", error ); if (!modalOverlay || !modalOverlay.contains(bodyContainer)) { return; } bodyContainer.innerHTML = ` <div class="vehicle-modal-error"> <span>No se pudo cargar el detalle del vehículo.</span> <div class="vehicle-modal-error-actions"> <button type="button" data-action="retry">Reintentar</button> ${ safeUrl ? `<a href="${safeUrl}" target="_blank" rel="noopener noreferrer" data-action="open-detail">Abrir detalle completo</a>` : "" } </div> </div> `.trim(); const retryButton = bodyContainer.querySelector( '[data-action="retry"]' ); if (retryButton) { retryButton.addEventListener("click", () => loadContent()); } const openDetailLink = bodyContainer.querySelector( '[data-action="open-detail"]' ); if (openDetailLink) { openDetailLink.addEventListener("click", () => { closeModal(); }); } }); }; loadContent(); const closeButton = modalOverlay.querySelector( ".vehicle-modal-close" ); closeButton.addEventListener("click", () => closeModal()); modalOverlay.addEventListener("click", (event) => { if (event.target === modalOverlay) { closeModal(); } }); document.addEventListener("keydown", handleKeydown); document.body.appendChild(modalOverlay); lockBodyScroll(); requestAnimationFrame(() => { if (typeof closeButton.focus === "function") { closeButton.focus({ preventScroll: true }); } }); } const galleryLinks = document.querySelectorAll("#gallery a[href]"); if (!isLocalFileProtocol) { galleryLinks.forEach((link) => { const cardTitle = link .closest(".group") ?.querySelector("h3") ?.textContent?.trim() || "Detalle del vehículo"; link.addEventListener("click", (event) => { event.preventDefault(); openModal(link.getAttribute("href"), cardTitle); }); }); } })(); </script> </body> </html>
Save
cmd:
run