1<!DOCTYPE html> 2<html lang="en"> 3 <head> 4 <link rel="preload" as="image" href="/assets/Maritime_ballast_system_equipment_8fc0f09a-mobile-DkY39H2Z.avif" type="image/avif" media="(max-width: 640px)" fetchpriority="high"> 5 <link rel="preload" as="image" href="/assets/Maritime_ballast_system_equipment_8fc0f09a-CgxX0U3R.avif" type="image/avif" media="(min-width: 641px)" fetchpriority="high"> 6 <!-- Google tag (gtag.js) â deferred off the critical path -->
7<script> 8
vendor: 133 bytes, lines 8-11
8window.dataLayer = window.dataLayer || []; 9 function gtag(){dataLayer.push(arguments);} 10 gtag('js', new Date()); 11 gtag('config', '
11G-XL585NMX6F
vendor: 6 bytes, lines 11-12
11'); 12
12(function(){ 13 var loaded = false; 14 function loadGA(){ 15 if (loaded) return; loaded = true; 16 var s = document.createElement('script'); 17 s.async = true; 18 s.src = 'https://www.googletagmanager.com/gtag/js?id=G-XL585NMX6F'; 19 document.head.appendChild(s); 20 } 21 // Load ~2.5 s AFTER the 'load' event â i.e. past LCP and the initial 22 // main-thread-busy (TBT) window â so gtag.js's ~158 KiB parse never competes 23 // with render OR inflates TBT. requestIdleCallback fired too eagerly (in an 24 // early idle gap, mid-load) and pushed its cost into the TBT window. 25 function schedule(){ setTimeout(loadGA, 2500); } 26 if (document.readyState === 'complete') { schedule(); } 27 else { window.addEventListener('load', schedule, { once: true }); } 28 // Load IMMEDIATELY on the first interaction so active sessions (which is most 29 // real traffic) register their pageview right away â only idle passive tabs 30 // wait the ~2.5 s, and they're still counted. 31 ['pointerdown','keydown','scroll','touchstart'].forEach(function(ev){ 32 window.addEventListener(ev, loadGA, { once: true, passive: true }); 33 }); 34 })(); 35</script>
35 36 <meta charset="UTF-8" /> 37 <!-- viewport: do NOT add maximum-scale or user-scalable=no. Restricting 38 zoom is a WCAG 1.4.4 (Resize text) failure and excludes low-vision 39 buyers. Default behaviour lets the OS pinch-zoom the page. --> 40 <meta name="viewport" content="width=device-width, initial-scale=1.0" /> 41 <!-- 42 Per-page canonical, OG and Twitter cards are injected server-side by 43 server/seoMeta.ts (applySeoMeta) on every request. They are no longer 44 hardcoded here because the hardcoded values would lie on a LAN-IP, 45 cloudflared-tunnel or staging host. The server emits a canonical that 46 respects PUBLIC_BASE_URL env (prod) or the request host (dev/LAN). 47 --> 48 <meta name="robots" content="index,follow,max-image-preview:large,max-snippet:-1" data-rh="true" /> 49 <meta name="format-detection" content="telephone=no" /> 50 <meta name="author" content="cBallast" /> 51 <!-- Favicon â all browsers + platforms --> 52 <link rel="icon" type="image/svg+xml" href="/favicon.svg" /> 53 <link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png" /> 54 <link rel="icon" type="image/png" sizes="16x16" href="/favicon-16x16.png" /> 55 <link rel="icon" type="image/x-icon" href="/favicon.ico" /> 56 <link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png" /> 57 <link rel="icon" type="image/png" sizes="192x192" href="/favicon-192x192.png" /> 58 <link rel="icon" type="image/png" sizes="512x512" href="/favicon-512x512.png" /> 59 <meta name="theme-color" content="#1414CC" /> 60 <!-- 61 Warm the TLS connection to Google Analytics (GA4 gtag.js) so the deferred 62 tag â injected server-side, see server/seoMeta.ts GA_TAG â doesn't pay a 63 cold DNS + TLS handshake on first paint. No crossorigin on the GTM hint: 64 gtag.js is fetched as a plain
64<script>, so a bare preconnect matches it 65 (a crossorigin one would open a second, unused connection). dns-prefetch 66 is the fallback for engines that ignore preconnect. Both hosts are already 67 on the CSP script-src / connect-src allow-list, so this changes nothing 68 about what may load â only how fast the already-present tag connects. 69 --> 70 <link rel="preconnect" href="https://www.googletagmanager.com" /> 71 <link rel="dns-prefetch" href="https://www.googletagmanager.com" /> 72 <link rel="dns-prefetch" href="https://www.google-analytics.com" /> 73 <!-- 74 Cycle 22 P3 â body type runs on the native system-font stack 75 (Segoe UI on Windows, SF Pro on macOS, Roboto on Android, etc.). 76 No external font download for body copy means: zero render-blocking 77 requests, zero third-party dependency, instant first paint, and one 78 less DNS lookup against the Helmet / CSP allow-list. The brand face 79 (Codec Pro) is still self-hosted from /fonts/ and preloaded below. 80 --> 81 <link 82 rel="preload" 83 href="/fonts/CodecPro-Regular.woff2" 84 as="font" 85 type="font/woff2" 86 crossorigin 87 > 88
88<script type="module" crossorigin src="/assets/index-B4b_n3ea.js"></script>
88 89 <style data-inlined="/assets/index-CEJTe5UV.css">*,: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 / .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 / .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: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:var(--font-sans);font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--font-mono);font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,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}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}
89input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}*{--tw-border-opacity: 1;border-color:hsl(var(--border) / var(--tw-border-opacity, 1))}body{--tw-bg-opacity: 1;background-color:hsl(var(--background) / var(--tw-bg-opacity, 1));font-family:var(--font-sans);--tw-text-opacity: 1;color:hsl(var(--foreground) / var(--tw-text-opacity, 1));-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.container{width:100%}@media (min-width: 640px){.container{max-width:640px}}@media (min-width: 768px){.container{max-width:768px}}@media (min-width: 1024px){.container{max-width:1024px}}@media (min-width: 1280px){.container{max-width:1280px}}@media (min-width: 1536px){.container{max-width:1536px}}.prose{color:var(--tw-prose-body);max-width:65ch}.prose :where(p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em}.prose :where([class~=lead]):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-lead);font-size:1.25em;line-height:1.6;margin-top:1.2em;margin-bottom:1.2em}.prose :where(a):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-links);text-decoration:underline;font-weight:500}.prose :where(strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-bold);font-weight:600}.prose :where(a strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(blockquote strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(thead th strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(ol):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:decimal;margin-top:1.25em;margin-bottom:1.25em;padding-inline-start:1.625em}.prose :where(ol[type=A]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-alpha}.prose :where(ol[type=a]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-alpha}.prose :where(ol[type=A s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-alpha}.prose :where(ol[type=a s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-alpha}.prose :where(ol[type=I]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-roman}.prose :where(ol[type=i]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-roman}.prose :where(ol[type=I s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-roman}.prose :where(ol[type=i s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-roman}.prose :where(ol[type="1"]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:decimal}.prose :where(ul):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:disc;margin-top:1.25em;margin-bottom:1.25em;padding-inline-start:1.625em}.prose :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *))::marker{font-weight:400;color:var(--tw-prose-counters)}.prose :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *))::marker{color:var(--tw-prose-bullets)}.prose :where(dt):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;margin-top:1.25em}.prose :where(hr):not(:where([class~=not-prose],[class~=not-prose] *)){border-color:var(--tw-prose-hr);border-top-width:1px;margin-top:3em;margin-bottom:3em}.prose :where(blockquote):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:500;font-style:italic;color:var(--tw-prose-quotes);border-inline-start-width:.25rem;border-inline-start-color:var(--tw-prose-quote-borders);quotes:"â""â""â""â";margin-top:1.6em;margin-bottom:1.6em;padding-inline-start:1em}.prose :where(blockquote p:first-of-type):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:open-quote}.prose :where(blockquote p:last-of-type):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:close-quote}.prose :where(h1):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:800;font-size:2.25em;margin-top:0;margin-bottom:.8888889em;line-height:1.1111111}.prose :where(h1 strong):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:900;color:inherit}.prose :where(h2):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:700;font-size:1.5em;margin-top:2em;margin-bottom:1em;line-height:1.3333333}.prose :where(h2 strong):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:800;color:inherit}.prose :where(h3):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;font-size:1.25em;margin-top:1.6em;margin-bottom:.6em;line-height:1.6}.prose :where(h3 strong):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:700;color:inherit}.prose :where(h4):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;margin-top:1.5em;margin-bottom:.5em;line-height:1.5}.prose :where(h4 strong):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:700;color:inherit}.prose :where(img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose :where(picture):not(:where([class~=not-prose],[class~=not-prose] *)){display:block;margin-top:2em;margin-bottom:2em}.prose :where(video):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose :where(kbd):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:500;font-family:inherit;color:var(--tw-prose-kbd);box-shadow:0 0 0 1px rgb(var(--tw-prose-kbd-shadows) / 10%),0 3px rgb(var(--tw-prose-kbd-shadows) / 10%);font-size:.875em;border-radius:.3125rem;padding-top:.1875em;padding-inline-end:.375em;padding-bottom:.1875em;padding-inline-start:.375em}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-code);font-weight:600;font-size:.875em}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:"`"}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:"`"}.prose :where(a code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(h1 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(h2 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-size:.875em}.prose :where(h3 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-size:.9em}.prose :where(h4 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(blockquote code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(thead th code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(pre):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-pre-code);background-color:var(--tw-prose-pre-bg);overflow-x:auto;font-weight:400;font-size:.875em;line-height:1.7142857;margin-top:1.7142857em;margin-bottom:1.7142857em;border-radius:.375rem;padding-top:.8571429em;padding-inline-end:1.1428571em;padding-bottom:.8571429em;padding-inline-start:1.1428571em}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)){background-color:transparent;border-width:0;border-radius:0;padding:0;font-weight:inherit;color:inherit;font-size:inherit;font-family:inherit;line-height:inherit}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:none}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:none}.prose :where(table):not(:where([class~=not-prose],[class~=not-prose] *)){width:100%;table-layout:auto;margin-top:2em;margin-bottom:2em;font-size:.875em;line-height:1.7142857}.prose :where(thead):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:1px;border-bottom-color:var(--tw-prose-th-borders)}.prose :where(thead th):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;vertical-align:bottom;
89padding-inline-end:.5714286em;padding-bottom:.5714286em;padding-inline-start:.5714286em}.prose :where(tbody tr):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:1px;border-bottom-color:var(--tw-prose-td-borders)}.prose :where(tbody tr:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:0}.prose :where(tbody td):not(:where([class~=not-prose],[class~=not-prose] *)){vertical-align:baseline}.prose :where(tfoot):not(:where([class~=not-prose],[class~=not-prose] *)){border-top-width:1px;border-top-color:var(--tw-prose-th-borders)}.prose :where(tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){vertical-align:top}.prose :where(th,td):not(:where([class~=not-prose],[class~=not-prose] *)){text-align:start}.prose :where(figure>*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.prose :where(figcaption):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-captions);font-size:.875em;line-height:1.4285714;margin-top:.8571429em}.prose{--tw-prose-body: #374151;--tw-prose-headings: #111827;--tw-prose-lead: #4b5563;--tw-prose-links: #111827;--tw-prose-bold: #111827;--tw-prose-counters: #6b7280;--tw-prose-bullets: #d1d5db;--tw-prose-hr: #e5e7eb;--tw-prose-quotes: #111827;--tw-prose-quote-borders: #e5e7eb;--tw-prose-captions: #6b7280;--tw-prose-kbd: #111827;--tw-prose-kbd-shadows: 17 24 39;--tw-prose-code: #111827;--tw-prose-pre-code: #e5e7eb;--tw-prose-pre-bg: #1f2937;--tw-prose-th-borders: #d1d5db;--tw-prose-td-borders: #e5e7eb;--tw-prose-invert-body: #d1d5db;--tw-prose-invert-headings: #fff;--tw-prose-invert-lead: #9ca3af;--tw-prose-invert-links: #fff;--tw-prose-invert-bold: #fff;--tw-prose-invert-counters: #9ca3af;--tw-prose-invert-bullets: #4b5563;--tw-prose-invert-hr: #374151;--tw-prose-invert-quotes: #f3f4f6;--tw-prose-invert-quote-borders: #374151;--tw-prose-invert-captions: #9ca3af;--tw-prose-invert-kbd: #fff;--tw-prose-invert-kbd-shadows: 255 255 255;--tw-prose-invert-code: #fff;--tw-prose-invert-pre-code: #d1d5db;--tw-prose-invert-pre-bg: rgb(0 0 0 / 50%);--tw-prose-invert-th-borders: #4b5563;--tw-prose-invert-td-borders: #374151;font-size:1rem;line-height:1.75}.prose :where(picture>img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.prose :where(li):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.5em;margin-bottom:.5em}.prose :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.375em}.prose :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.375em}.prose :where(.prose>ul>li p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.75em;margin-bottom:.75em}.prose :where(.prose>ul>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em}.prose :where(.prose>ul>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em}.prose :where(.prose>ol>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em}.prose :where(.prose>ol>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em}.prose :where(ul ul,ul ol,ol ul,ol ol):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.75em;margin-bottom:.75em}.prose :where(dl):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em}.prose :where(dd):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.5em;padding-inline-start:1.625em}.prose :where(hr+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(h2+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}
89.prose :where(h3+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(h4+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(thead th:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose :where(thead th:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose :where(tbody td,tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){padding-top:.5714286em;padding-inline-end:.5714286em;padding-bottom:.5714286em;padding-inline-start:.5714286em}.prose :where(tbody td:first-child,tfoot td:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose :where(tbody td:last-child,tfoot td:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose :where(figure):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose :where(.prose>:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(.prose>:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:0}.prose-lg{font-size:1.125rem;line-height:1.7777778}.prose-lg :where(p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.3333333em;margin-bottom:1.3333333em}.prose-lg :where([class~=lead]):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:1.2222222em;line-height:1.4545455;margin-top:1.0909091em;margin-bottom:1.0909091em}.prose-lg :where(blockquote):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.6666667em;margin-bottom:1.6666667em;padding-inline-start:1em}.prose-lg :where(h1):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:2.6666667em;margin-top:0;margin-bottom:.8333333em;line-height:1}.prose-lg :where(h2):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:1.6666667em;margin-top:1.8666667em;margin-bottom:1.0666667em;line-height:1.3333333}.prose-lg :where(h3):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:1.3333333em;margin-top:1.6666667em;margin-bottom:.6666667em;line-height:1.5}.prose-lg :where(h4):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.7777778em;margin-bottom:.4444444em;line-height:1.5555556}.prose-lg :where(img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.7777778em;margin-bottom:1.7777778em}.prose-lg :where(picture):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.7777778em;margin-bottom:1.7777778em}.prose-lg :where(picture>img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.prose-lg :where(video):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.7777778em;margin-bottom:1.7777778em}.prose-lg :where(kbd):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.8888889em;border-radius:.3125rem;padding-top:.2222222em;padding-inline-end:.4444444em;padding-bottom:.2222222em;padding-inline-start:.4444444em}.prose-lg :where(code):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.8888889em}.prose-lg :where(h2 code):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.8666667em}.prose-lg :where(h3 code):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.875em}.prose-lg :where(pre):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.8888889em;line-height:1.75;margin-top:2em;margin-bottom:2em;border-radius:.375rem;padding-top:1em;padding-inline-end:1.5em;padding-bottom:1em;padding-inline-start:1.5em}.prose-lg :where(ol):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.3333333em;margin-bottom:1.3333333em;padding-inline-start:1.5555556em}.prose-lg :where(ul):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.3333333em;margin-bottom:1.3333333em;padding-inline-start:1.5555556em}.prose-lg :where(li):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.6666667em;margin-bottom:.6666667em}.prose-lg :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.4444444em}.prose-lg :where(ul>
89li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.4444444em}.prose-lg :where(.prose-lg>ul>li p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.8888889em;margin-bottom:.8888889em}.prose-lg :where(.prose-lg>ul>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.3333333em}.prose-lg :where(.prose-lg>ul>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.3333333em}.prose-lg :where(.prose-lg>ol>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.3333333em}.prose-lg :where(.prose-lg>ol>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.3333333em}.prose-lg :where(ul ul,ul ol,ol ul,ol ol):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.8888889em;margin-bottom:.8888889em}.prose-lg :where(dl):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.3333333em;margin-bottom:1.3333333em}.prose-lg :where(dt):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.3333333em}.prose-lg :where(dd):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.6666667em;padding-inline-start:1.5555556em}.prose-lg :where(hr):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:3.1111111em;margin-bottom:3.1111111em}.prose-lg :where(hr+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose-lg :where(h2+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}
89.prose-lg :where(h3+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose-lg :where(h4+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose-lg :where(table):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.8888889em;line-height:1.5}.prose-lg :where(thead th):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:.75em;padding-bottom:.75em;padding-inline-start:.75em}.prose-lg :where(thead th:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose-lg :where(thead th:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose-lg :where(tbody td,tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){padding-top:.75em;padding-inline-end:.75em;padding-bottom:.75em;padding-inline-start:.75em}.prose-lg :where(tbody td:first-child,tfoot td:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose-lg :where(tbody td:last-child,tfoot td:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose-lg :where(figure):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.7777778em;margin-bottom:1.7777778em}.prose-lg :where(figure>*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.prose-lg :where(figcaption):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.8888889em;line-height:1.5;margin-top:1em}.prose-lg :where(.prose-lg>:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose-lg :where(.prose-lg>:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:0}.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}.collapse{visibility:collapse}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{top:0;right:0;bottom:0;left:0}.inset-x-0{left:0;right:0}.-right-1\.5{right:-.375rem}.-top-1\.5{top:-.375rem}.bottom-0{bottom:0}.bottom-1{bottom:.25rem}.bottom-3{bottom:.75rem}.bottom-4{bottom:1rem}.left-1{left:.25rem}.left-2{left:.5rem}.left-3{left:.75rem}.left-\[50\%\]{left:50%}.right-0{right:0}.right-1{right:.25rem}.right-2{right:.5rem}.right-3{right:.75rem}.right-4{right:1rem}.top-0{top:0}.top-1\/2{top:50%}.top-2{top:.5rem}.top-24{top:6rem}.top-4{top:1rem}.top-\[50\%\]{top:50%}.z-10{z-index:10}.z-40{z-index:40}.z-50{z-index:50}.z-\[100\]{z-index:100}.z-\[60\]{z-index:60}.col-span-2{grid-column:span 2 / span 2}.-mx-1{margin-left:-.25rem;margin-right:-.25rem}.mx-4{margin-left:1rem;margin-right:1rem}.mx-auto{margin-left:auto;margin-right:auto}.my-1{margin-top:.25rem;margin-bottom:.25rem}.mb-0\.5{margin-bottom:.125rem}.mb-1{margin-bottom:.25rem}.mb-1\.5{margin-bottom:.375rem}.mb-10{margin-bottom:2.5rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-5{margin-bottom:1.25rem}.mb-6{margin-bottom:1.5rem}.mb-8{margin-bottom:2rem}.ml-1{margin-left:.25rem}.mr-1{margin-right:.25rem}.mr-2{margin-right:.5rem}.mr-3{margin-right:.75rem}.mt-0\.5{margin-top:.125rem}.mt-1{margin-top:.25rem}.mt-1\.5{margin-top:.375rem}.mt-10{margin-top:2.5rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-6{margin-top:1.5rem}.mt-8{margin-top:2rem}.mt-auto{margin-top:auto}.line-clamp-1{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:1}.line-clamp-2{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.hidden{display:none}.aspect-\[4\/3\]{aspect-ratio:4/3}.aspect-square{aspect-ratio:1 / 1}.aspect-video{aspect-ratio:16 / 9}.h-10{height:2.5rem}.h-11{height:2.75rem}.h-12{height:3rem}.h-14{height:3.5rem}.h-16{height:4rem}.h-2{height:.5rem}.h-2\/5{height:40%}.h-3{height:.75rem}.h-3\.5{height:.875rem}.h-32{height:8rem}.h-4{height:1rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-7{height:1.75rem}.h-8{height:2rem}.h-9{height:2.25rem}.h-\[18px\]{height:18px}.h-\[1px\]{height:1px}.h-\[2\.5rem\]{height:2.5rem}.h-\[240px\]{height:240px}.h-\[400px\]{height:400px}.h-\[520px\]{height:520px}
89.h-\[var\(--radix-select-trigger-height\)\]{height:var(--radix-select-trigger-height)}.h-fit{height:-moz-fit-content;height:fit-content}.h-full{height:100%}.h-px{height:1px}.h-screen{height:100vh}.max-h-32{max-height:8rem}.max-h-52{max-height:13rem}.max-h-64{max-height:16rem}.max-h-\[--radix-select-content-available-height\]{max-height:var(--radix-select-content-available-height)}.max-h-\[90vh\]{max-height:90vh}.max-h-\[calc\(100vh-2rem\)\]{max-height:calc(100vh - 2rem)}.max-h-full{max-height:100%}.max-h-screen{max-height:100vh}.min-h-10{min-height:2.5rem}.min-h-8{min-height:2rem}.min-h-9{min-height:2.25rem}.min-h-\[2rem\]{min-height:2rem}.min-h-\[300px\]{min-height:300px}.min-h-\[56px\]{min-height:56px}.min-h-\[80px\]{min-height:80px}.min-h-screen{min-height:100vh}.w-1\/2{width:50%}.w-10{width:2.5rem}.w-11{width:2.75rem}.w-12{width:3rem}.w-14{width:3.5rem}.w-16{width:4rem}.w-2\/5{width:40%}.w-20{width:5rem}.w-3{width:.75rem}.w-3\.5{width:.875rem}.w-3\/4{width:75%}.w-4{width:1rem}.w-40{width:10rem}.w-5{width:1.25rem}.w-56{width:14rem}.w-6{width:1.5rem}.w-64{width:16rem}.w-7{width:1.75rem}.w-8{width:2rem}.w-9{width:2.25rem}.w-\[140px\]{width:140px}.w-\[1px\]{width:1px}.w-full{width:100%}.min-w-0{min-width:0px}.min-w-\[18px\]{min-width:18px}.min-w-\[8rem\]{min-width:8rem}.min-w-\[var\(--radix-select-trigger-width\)\]{min-width:var(--radix-select-trigger-width)}.max-w-2xl{max-width:42rem}.max-w-32{max-width:8rem}.max-w-3xl{max-width:48rem}.max-w-48{max-width:12rem}.max-w-4xl{max-width:56rem}.max-w-5xl{max-width:64rem}.max-w-6xl{max-width:72rem}.max-w-full{max-width:100%}.max-w-lg{max-width:32rem}.max-w-md{max-width:28rem}.max-w-none{max-width:none}.max-w-sm{max-width:24rem}.max-w-xl{max-width:36rem}.flex-1{flex:1 1 0%}.shrink-0{flex-shrink:0}.grow{flex-grow:1}.caption-bottom{caption-side:bottom}.border-collapse{border-collapse:collapse}.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-y-1\/2{--tw-translate-y: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(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)) skew(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)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-180{--tw-rotate: 180deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes pulse{50%{opacity:.5}}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes spin{to{transform:rotate(360deg)}}.animate-spin{animation:spin 1s linear infinite}.cursor-default{cursor:default}.cursor-pointer{cursor:pointer}.touch-none{touch-action:none}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.resize-y{resize:vertical}.resize{resize:both}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.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}.items-baseline{align-items:baseline}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:.25rem}.gap-1\.5{gap:.375rem}.gap-2{gap:.5rem}.gap-2\.5{gap:.625rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-6{gap:1.5rem}.gap-8{gap:2rem}.gap-x-6{-moz-column-gap:1.5rem;column-gap:1.5rem}.gap-x-8{-moz-column-gap:2rem;column-gap:2rem}.gap-y-1{row-gap:.25rem}.gap-y-1\.5{row-gap:.375rem}.gap-y-2{row-gap:.5rem}.gap-y-3{row-gap:.75rem}.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)))}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem * var(--tw-space-y-reverse))}.space-y-1\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.375rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.375rem * var(--tw-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem * var(--tw-space-y-reverse))}.space-y-3\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.875rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.875rem * 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-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))}.self-start{align-self:flex-start}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.overflow-x-hidden{overflow-x:hidden}.overscroll-contain{overscroll-behavior:contain}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.rounded{border-radius:.25rem}.rounded-full{border-radius:9999px}
89.rounded-lg{border-radius:.5625rem}.rounded-md{border-radius:.375rem}.rounded-sm{border-radius:.1875rem}.rounded-xl{border-radius:.75rem}.rounded-t-md{border-top-left-radius:.375rem;border-top-right-radius:.375rem}.rounded-t-xl{border-top-left-radius:.75rem;border-top-right-radius:.75rem}.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-2{border-left-width:2px}.border-r{border-right-width:1px}.border-t{border-top-width:1px}.border-dashed{border-style:dashed}.border-blue-200{--tw-border-opacity: 1;border-color:rgb(191 219 254 / var(--tw-border-opacity, 1))}.border-border\/50{border-color:hsl(var(--border) / .5)}.border-card-border{--tw-border-opacity: 1;border-color:hsl(var(--card-border) / var(--tw-border-opacity, 1))}.border-destructive{--tw-border-opacity: 1;border-color:hsl(var(--destructive) / var(--tw-border-opacity, 1))}.border-destructive-border{border-color:var(--destructive-border)}.border-foreground{--tw-border-opacity: 1;border-color:hsl(var(--foreground) / var(--tw-border-opacity, 1))}.border-foreground\/20{border-color:hsl(var(--foreground) / .2)}.border-input{--tw-border-opacity: 1;border-color:hsl(var(--input) / var(--tw-border-opacity, 1))}.border-muted-foreground{--tw-border-opacity: 1;border-color:hsl(var(--muted-foreground) / var(--tw-border-opacity, 1))}.border-primary{--tw-border-opacity: 1;border-color:hsl(var(--primary) / var(--tw-border-opacity, 1))}.border-primary-border{border-color:var(--primary-border)}.border-primary\/40{border-color:hsl(var(--primary) / .4)}.border-secondary-border{border-color:var(--secondary-border)}.border-transparent{border-color:transparent}.border-yellow-500{--tw-border-opacity: 1;border-color:rgb(234 179 8 / var(--tw-border-opacity, 1))}.border-t-transparent{border-top-color:transparent}.bg-background{--tw-bg-opacity: 1;background-color:hsl(var(--background) / var(--tw-bg-opacity, 1))}.bg-black\/40{background-color:#0006}.bg-black\/50{background-color:#00000080}.bg-black\/80{background-color:#000c}.bg-blue-50\/30{background-color:#eff6ff4d}.bg-border{--tw-bg-opacity: 1;background-color:hsl(var(--border) / var(--tw-bg-opacity, 1))}.bg-card{--tw-bg-opacity: 1;background-color:hsl(var(--card) / var(--tw-bg-opacity, 1))}.bg-destructive{--tw-bg-opacity: 1;background-color:hsl(var(--destructive) / var(--tw-bg-opacity, 1))}.bg-gray-50{--tw-bg-opacity: 1;background-color:rgb(249 250 251 / var(--tw-bg-opacity, 1))}.bg-muted{--tw-bg-opacity: 1;background-color:hsl(var(--muted) / var(--tw-bg-opacity, 1))}.bg-muted\/20{background-color:hsl(var(--muted) / .2)}.bg-muted\/30{background-color:hsl(var(--muted) / .3)}.bg-muted\/40{background-color:hsl(var(--muted) / .4)}.bg-muted\/50{background-color:hsl(var(--muted) / .5)}.bg-popover{--tw-bg-opacity: 1;background-color:hsl(var(--popover) / var(--tw-bg-opacity, 1))}.bg-primary{--tw-bg-opacity: 1;background-color:hsl(var(--primary) / var(--tw-bg-opacity, 1))}.bg-primary\/10{background-color:hsl(var(--primary) / .1)}.bg-primary\/5{background-color:hsl(var(--primary) / .05)}.bg-secondary{--tw-bg-opacity: 1;background-color:hsl(var(--secondary) / var(--tw-bg-opacity, 1))}.bg-sidebar{--tw-bg-opacity: 1;background-color:hsl(var(--sidebar) / var(--tw-bg-opacity, 1))}.bg-transparent{background-color:transparent}.bg-white{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}.bg-yellow-100{--tw-bg-opacity: 1;background-color:rgb(254 249 195 / var(--tw-bg-opacity, 1))}.bg-yellow-400{--tw-bg-opacity: 1;background-color:rgb(250 204 21 / var(--tw-bg-opacity, 1))}.bg-gradient-to-r{background-image:linear-gradient(to right,var(--tw-gradient-stops))}.from-black\/70{--tw-gradient-from: rgb(0 0 0 / .7) var(--tw-gradient-from-position);--tw-gradient-to: rgb(0 0 0 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.via-black\/50{--tw-gradient-to: rgb(0 0 0 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), rgb(0 0 0 / .5) var(--tw-gradient-via-position), var(--tw-gradient-to)}.to-transparent{--tw-gradient-to: transparent var(--tw-gradient-to-position)}.object-contain{-o-object-fit:contain;object-fit:contain}.object-cover{-o-object-fit:cover;object-fit:cover}.object-left{-o-object-position:left;object-position:left}.p-1{padding:.25rem}.p-1\.5{padding:.375rem}.p-12{padding:3rem}.p-2{padding:.5rem}.p-2\.5{padding:.625rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-5{padding:1.25rem}.p-6{padding:1.5rem}.p-8{padding:2rem}.px-1{padding-left:.25rem;padding-right:.25rem}.px-1\.5{padding-left:.375rem;padding-right:.375rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-2\.5{padding-left:.625rem;padding-right:.625rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.px-8{padding-left:2rem;padding-right:2rem}.py-0{padding-top:0;padding-bottom:0}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-10{padding-top:2.5rem;padding-bottom:2.5rem}.py-12{padding-top:3rem;padding-bottom:3rem}.py-16{padding-top:4rem;padding-bottom:4rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-2\.5{padding-top:.625rem;padding-bottom:.625rem}.py-20{padding-top:5rem;padding-bottom:5rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-5{padding-top:1.25rem;padding-bottom:1.25rem}.py-6{padding-top:1.5rem;padding-bottom:1.5rem}.py-8{padding-top:2rem;padding-bottom:2rem}.pb-2{padding-bottom:.5rem}.pb-3{padding-bottom:.75rem}.pb-4{padding-bottom:1rem}.pl-10{padding-left:2.5rem}.pl-3{padding-left:.75rem}.pl-4{padding-left:1rem}.pl-8{padding-left:2rem}.pl-9{padding-left:2.25rem}.pl-\[62px\]{padding-left:62px}.pr-2{padding-right:.5rem}.pr-4{padding-right:1rem}.pr-8{padding-right:2rem}.pt-0{padding-top:0}.pt-1{padding-top:.25rem}.pt-2{padding-top:.5rem}.pt-4{padding-top:1rem}.pt-5{padding-top:1.25rem}.pt-6{padding-top:1.5rem}.pt-8{padding-top:2rem}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.align-middle{vertical-align:middle}.font-mono{font-family:var(--font-mono)}.font-sans{font-family:var(--font-sans)}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-4xl{font-size:2.25rem;line-height:2.5rem}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.text-\[9px\]{font-size:9px}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-normal{font-weight:400}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.lowercase{text-transform:lowercase}.italic{font-style:italic}.leading-none{line-height:1}.leading-relaxed{line-height:1.625}.leading-tight{line-height:1.25}.tracking-tight{letter-spacing:-.025em}.tracking-wide{letter-spacing:.025em}.tracking-wider{letter-spacing:.05em}.text-\[\#0a1e4a\]{--tw-text-opacity: 1;color:rgb(10 30 74 / var(--tw-text-opacity, 1))}.text-black{--tw-text-opacity: 1;color:rgb(0 0 0 / var(--tw-text-opacity, 1))}.text-blue-500{--tw-text-opacity: 1;color:rgb(59 130 246 / var(--tw-text-opacity, 1))}.text-blue-600{--tw-text-opacity: 1;color:rgb(37 99 235 / var(--tw-text-opacity, 1))}.text-border{--tw-text-opacity: 1;color:hsl(var(--border) / var(--tw-text-opacity, 1))}.text-card-foreground{--tw-text-opacity: 1;color:hsl(var(--card-foreground) / var(--tw-text-opacity, 1))}.text-current{color:currentColor}.text-destructive{--tw-text-opacity: 1;color:hsl(var(--destructive) / var(--tw-text-opacity, 1))}.text-destructive-foreground{--tw-text-opacity: 1;color:hsl(var(--destructive-foreground) / var(--tw-text-opacity, 1))}.text-foreground{--tw-text-opacity: 1;color:hsl(var(--foreground) / var(--tw-text-opacity, 1))}.text-foreground\/50{color:hsl(var(--foreground) / .5)}.text-foreground\/70{color:hsl(var(--foreground) / .7)}.text-foreground\/80{color:hsl(var(--foreground) / .8)}.text-gray-600{--tw-text-opacity: 1;color:rgb(75 85 99 / var(--tw-text-opacity, 1))}.text-gray-900{--tw-text-opacity: 1;color:rgb(17 24 39 / var(--tw-text-opacity, 1))}.text-green-500{--tw-text-opacity: 1;color:rgb(34 197 94 / var(--tw-text-opacity, 1))}.text-green-600{--tw-text-opacity: 1;color:rgb(22 163 74 / var(--tw-text-opacity, 1))}.text-muted-foreground{--tw-text-opacity: 1;color:hsl(var(--muted-foreground) / var(--tw-text-opacity, 1))}.text-muted-foreground\/30{color:hsl(var(--muted-foreground) / .3)}.text-muted-foreground\/40{color:hsl(var(--muted-foreground) / .4)}.text-muted-foreground\/50{color:hsl(var(--muted-foreground) / .5)}.text-muted-foreground\/60{color:hsl(var(--muted-foreground) / .6)}.text-muted-foreground\/70{color:hsl(var(--muted-foreground) / .7)}.text-muted-foreground\/80{color:hsl(var(--muted-foreground) / .8)}.text-popover-foreground{--tw-text-opacity: 1;color:hsl(var(--popover-foreground) / var(--tw-text-opacity, 1))}.text-primary{--tw-text-opacity: 1;color:hsl(var(--primary) / var(--tw-text-opacity, 1))}.text-primary-foreground{--tw-text-opacity: 1;color:hsl(var(--primary-foreground) / var(--tw-text-opacity, 1))}.text-primary\/40{color:hsl(var(--primary) / .4)}.text-primary\/70{color:hsl(var(--primary) / .7)}.text-purple-500{--tw-text-opacity: 1;color:rgb(168 85 247 / var(--tw-text-opacity, 1))}.text-red-500{--tw-text-opacity: 1;color:rgb(239 68 68 / var(--tw-text-opacity, 1))}.text-red-600{--tw-text-opacity: 1;color:rgb(220 38 38 / var(--tw-text-opacity, 1))}.text-secondary-foreground{--tw-text-opacity: 1;color:hsl(var(--secondary-foreground) / var(--tw-text-opacity, 1))}.text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.text-yellow-800{--tw-text-opacity: 1;color:rgb(133 77 14 / var(--tw-text-opacity, 1))}.underline{text-decoration-line:underline}.opacity-0{opacity:0}
89.opacity-100{opacity:1}.opacity-50{opacity:.5}.opacity-70{opacity:.7}.opacity-80{opacity:.8}.opacity-90{opacity:.9}.shadow-2xl{--tw-shadow: 0 25px 50px -12px rgb(0 0 0 / .25);--tw-shadow-colored: 0 25px 50px -12px 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-\[0_2px_8px_0_rgba\(0\,0\,0\,0\.08\)\]{--tw-shadow: 0 2px 8px 0 rgba(0,0,0,.08);--tw-shadow-colored: 0 2px 8px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-lg{--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(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 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-sha
89dow-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 / .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)}.shadow-xl{--tw-shadow: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1);--tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px 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-offset-background{--tw-ring-offset-color: hsl(var(--background) / 1)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-shadow{transition-property:box-shadow;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-200{transition-duration:.2s}@keyframes enter{0%{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:.15s;--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: .95}.duration-200{animation-duration:.2s}.running{animation-play-state:running}.brand-wordmark{font-family:var(--font-brand);font-weight:700;letter-spacing:-.01em}input[type=search]::-webkit-search-cancel-button{display:none}[contenteditable][data-placeholder]:empty:before{content:attr(data-placeholder);color:hsl(var(--muted-foreground));pointer-events:none}.border.toggle-elevate:before{top:-1px;right:-1px;bottom:-1px;left:-1px}.hover-elevate:not(.no-default-hover-elevate),.active-elevate:not(.no-default-active-elevate),.hover-elevate-2:not(.no-default-hover-elevate),.active-elevate-2:not(.no-default-active-elevate){position:relative;z-index:0}.hover-elevate:not(.no-default-hover-elevate):after,.active-elevate:not(.no-default-active-elevate):after,.hover-elevate-2:not(.no-default-hover-elevate):after,.active-elevate-2:not(.no-default-active-elevate):after{content:"";pointer-events:none;position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;z-index:999}.hover-elevate:hover:not(.no-default-hover-elevate):after,.active-elevate:active:not(.no-default-active-elevate):after{background-color:var(--elevate-1)}.hover-elevate-2:hover:not(.no-default-hover-elevate):after,.active-elevate-2:active:not(.no-default-active-elevate):after{background-color:var(--elevate-2)}.border.hover-elevate:not(.no-hover-interaction-elevate):after,.border.active-elevate:not(.no-active-interaction-elevate):after,.border.hover-elevate-2:not(.no-hover-interaction-elevate):after,.border.active-elevate-2:not(.no-active-interaction-elevate):after{top:-1px;right:-1px;bottom:-1px;left:-1px}.\[border-color\:var\(--badge-outline\)\]{border-color:var(--badge-outline)}.\[border-color\:var\(--button-outline\)\]{border-color:var(--button-outline)}@font-face{font-family:Codec Pro;font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/CodecPro-Regular.woff2) format("woff2"),url(/fonts/CodecPro-Regular.ttf) format("truetype")}@font-face{font-family:Codec Pro;font-style:italic;font-weight:400 700;font-display:swap;src:url(/fonts/CodecPro-Italic.woff2) format("woff2"),url(/fonts/CodecPro-Italic.ttf) format("truetype")}:root{--button-outline: rgba(0,0,0, .1);--badge-outline: rgba(0,0,0, .05);--opaque-button-border-intensity: -8;--elevate-1: rgba(0,0,0, .03);--elevate-2: rgba(0,0,0, .08);--background: 0 0% 100%;--foreground: 220 15% 20%;--border: 0 0% 90%;--card: 0 0% 98%;--card-foreground: 220 15% 20%;--card-border: 0 0% 92%;--sidebar: 0 0% 96%;--sidebar-foreground: 220 15% 20%;--sidebar-border: 0 0% 88%;--sidebar-primary: 215 85% 28%;--sidebar-primary-foreground: 0 0% 98%;--sidebar-accent: 215 15% 92%;--sidebar-accent-foreground: 220 15% 20%;--sidebar-ring: 215 85% 28%;--popover: 0 0% 94%;--popover-foreground: 220 15% 20%;--popover-border: 0 0% 86%;--primary: 215 85% 28%;--primary-foreground: 0 0% 98%;--secondary: 0 0% 90%;--secondary-foreground: 220 15% 20%;--muted: 220 8% 94%;--muted-foreground: 220 10% 45%;--accent: 215 12% 93%;--accent-foreground: 220 15% 20%;--destructive: 0 70% 55%;--destructive-foreground: 0 0% 98%;--input: 0 0% 82%;--ring: 215 85% 28%;--chart-1: 215 85% 28%;--chart-2: 145 60% 45%;--chart-3: 215 60% 50%;--chart-4: 0 70% 55%;--chart-5: 35 80% 50%;--font-sans: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji";--font-brand: "Codec Pro", Inter, system-ui, sans-serif;--font-serif: Georgia, serif;--font-mono: "JetBrains Mono", "Courier New", Courier, monospace;--radius: .75rem;--shadow-2xs: 0px 1px 2px 0px hsl(220 15% 20% / .05);--shadow-xs: 0px 1px 3px 0px hsl(220 15% 20% / .08);--shadow-sm: 0px 2px 4px 0px hsl(220 15% 20% / .06), 0px 1px 2px -1px hsl(220 15% 20% / .04);--shadow: 0px 4px 6px 0px hsl(220 15% 20% / .07), 0px 2px 4px -1px hsl(220 15% 20% / .05);--shadow-md: 0px 6px 12px 0px hsl(220 15% 20% / .08), 0px 4px 8px -2px hsl(220 15% 20% / .06);--shadow-lg: 0px 10px 20px 0px hsl(220 15% 20% / .1), 0px 6px 12px -2px hsl(220 15% 20% / .08);--shadow-xl: 0px 20px 30px 0px hsl(220 15% 20% / .12), 0px 10px 20px -4px hsl(220 15% 20% / .1);--shadow-2xl: 0px 30px 50px 0px hsl(220 15% 20% / .15);--tracking-normal: 0em;--spacing: .25rem;--sidebar-primary-border: hsl(var(--sidebar-primary));--sidebar-primary-border: hsl(from hsl(var(--sidebar-primary)) h s calc(l + var(--opaque-button-border-intensity)) / alpha);--sidebar-accent-border: hsl(var(--sidebar-accent));--sidebar-accent-border: hsl(from hsl(var(--sidebar-accent)) h s calc(l + var(--opaque-button-border-intensity)) / alpha);--primary-border: hsl(var(--primary));--primary-border: hsl(from hsl(var(--primary)) h s calc(l + var(--opaque-button-border-intensity)) / alpha);--secondary-border: hsl(var(--secondary));--secondary-border: hsl(from hsl(var(--secondary)) h s calc(l + var(--opaque-button-border-intensity)) / alpha);--muted-border: hsl(var(--muted));--muted-border: hsl(from hsl(var(--muted)) h s calc(l + var(--opaque-button-border-intensity)) / alpha);--accent-border: hsl(var(--accent));--accent-border: hsl(from hsl(var(--accent)) h s calc(l + var(--opaque-button-border-intensity)) / alpha);--destructive-border: hsl(var(--destructive));--destructive-border: hsl(from hsl(var(--destructive)) h s calc(l + var(--opaque-button-border-intensity)) / alpha)}.dark{--button-outline: rgba(255,255,255, .1);--badge-outline: rgba(255,255,255, .05);--opaque-button-border-intensity: 9;--elevate-1: rgba(255,255,255, .04);--elevate-2: rgba(255,255,255, .09);--background: 220 15% 10%;--foreground: 0 0% 95%;--border: 220 10% 25%;--card: 220 12% 14%;--card-foreground: 0 0% 95%;--card-border: 220 10% 20%;--sidebar: 220 12% 12%;--sidebar-foreground: 0 0% 95%;--sidebar-border: 220 10% 18%;--sidebar-primary: 215 75% 55%;--sidebar-primary-foreground: 0 0% 98%;--sidebar-accent: 220 12% 18%;--sidebar-accent-foreground: 0 0% 95%;--sidebar-ring: 215 75% 55%;--popover: 220 12% 16%;--popover-foreground: 0 0% 95%;--popover-border: 220 10% 22%;--primary: 215 75% 55%;--primary-foreground: 0 0% 98%;--secondary: 220 10% 22%;--secondary-foreground: 0 0% 95%;--muted: 220 12% 20%;--muted-foreground: 0 0% 65%;--accent: 215 15% 24%;--accent-foreground: 0 0% 95%;--destructive: 0 65% 50%;--destructive-foreground: 0 0% 98%;--input: 220 10% 30%;--ring: 215 75% 55%;--chart-1: 215 75% 65%;--chart-2: 145 55% 60%;--chart-3: 215 60% 70%;--chart-4: 0 65% 65%;--chart-5: 35 75% 65%;--shadow-2xs: 0px 1px 2px 0px hsl(220 15% 5% / .2);--shadow-xs: 0px 1px 3px 0px hsl(220 15% 5% / .25);--shadow-sm: 0px 2px 4px 0px hsl(220 15% 5% / .22), 0px 1px 2px -1px hsl(220 15% 5% / .18);--shadow: 0px 4px 6px 0px hsl(220 15% 5% / .25), 0px 2px 4px -1px hsl(220 15% 5% / .2);--shadow-md: 0px 6px 12px 0px hsl(220 15% 5% / .3), 0px 4px 8px -2px hsl(220 15% 5% / .25);--shadow-lg: 0px 10px 20px 0px hsl(220 15% 5% / .35), 0px 6px 12px -2px hsl(220 15% 5% / .3);--shadow-xl: 0px 20px 30px 0px hsl(220 15% 5% / .4), 0px 10px 20px -4px hsl(220 15% 5% / .35);--shadow-2xl: 0px 30px 50px 0px hsl(220 15% 5% / .45);--sidebar-primary-border: hsl(var(--sidebar-primary));--sidebar-primary-border: hsl(from hsl(var(--sidebar-primary)) h s calc(l + var(--opaque-button-border-intensity)) / alpha);--sidebar-accent-border: hsl(var(--sidebar-accent));--sidebar-accent-border: hsl(from hsl(var(--sidebar-accent)) h s calc(l + var(--opaque-button-border-intensity)) / alpha);--primary-border: hsl(var(--primary));--primary-border: hsl(from hsl(var(--primary)) h s calc(l + var(--opaque-button-border-intensity)) / alpha);--secondary-border: hsl(var(--secondary));--secondary-border: hsl(from hsl(var(--secondary)) h s calc(l + var(--opaque-button-border-intensity)) / alpha);--muted-border: hsl(var(--muted));--muted-border: hsl(from hsl(var(--muted)) h s calc(l + var(--opaque-button-border-intensity)) / alpha);--accent-border: hsl(var(--accent));--accent-border: hsl(from hsl(var(--accent)) h s calc(l + var(--opaque-button-border-intensity)) / alpha);--destructive-border: hsl(var(--destructive));--destructive-border: hsl(from hsl(var(--destructive)) h s calc(l + var(--opaque-button-border-intensity)) / alpha)}.min-h-screen{min-height:100dvh}.dark\:prose-invert:is(.dark *){--tw-prose-body: var(--tw-prose-invert-body);--tw-prose-headings: var(--tw-prose-invert-headings);--tw-prose-lead: var(--tw-prose-invert-lead);
89--tw-prose-links: var(--tw-prose-invert-links);--tw-prose-bold: var(--tw-prose-invert-bold);--tw-prose-counters: var(--tw-prose-invert-counters);--tw-prose-bullets: var(--tw-prose-invert-bullets);--tw-prose-hr: var(--tw-prose-invert-hr);--tw-prose-quotes: var(--tw-prose-invert-quotes);--tw-prose-quote-borders: var(--tw-prose-invert-quote-borders);--tw-prose-captions: var(--tw-prose-invert-captions);--tw-prose-kbd: var(--tw-prose-invert-kbd);--tw-prose-kbd-shadows: var(--tw-prose-invert-kbd-shadows);--tw-prose-code: var(--tw-prose-invert-code);--tw-prose-pre-code: var(--tw-prose-invert-pre-code);--tw-prose-pre-bg: var(--tw-prose-invert-pre-bg);--tw-prose-th-borders: var(--tw-prose-invert-th-borders);--tw-prose-td-borders: var(--tw-prose-invert-td-borders)}.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:.875rem;line-height:1.25rem}.file\:font-medium::file-selector-button{font-weight:500}.file\:text-foreground::file-selector-button{--tw-text-opacity: 1;color:hsl(var(--foreground) / var(--tw-text-opacity, 1))}.placeholder\:text-muted-foreground::-moz-placeholder{--tw-text-opacity: 1;color:hsl(var(--muted-foreground) / var(--tw-text-opacity, 1))}.placeholder\:text-muted-foreground::placeholder{--tw-text-opacity: 1;color:hsl(var(--muted-foreground) / var(--tw-text-opacity, 1))}.last\:border-b-0:last-child{border-bottom-width:0px}.hover\:border-foreground\/30:hover{border-color:hsl(var(--foreground) / .3)}.hover\:border-muted-foreground\/40:hover{border-color:hsl(var(--muted-foreground) / .4)}.hover\:bg-muted:hover{--tw-bg-opacity: 1;background-color:hsl(var(--muted) / var(--tw-bg-opacity, 1))}.hover\:bg-muted\/50:hover{background-color:hsl(var(--muted) / .5)}.hover\:bg-primary\/90:hover{background-color:hsl(var(--primary) / .9)}.hover\:bg-secondary:hover{--tw-bg-opacity: 1;background-color:hsl(var(--secondary) / var(--tw-bg-opacity, 1))}.hover\:text-destructive:hover{--tw-text-opacity: 1;color:hsl(var(--destructive) / var(--tw-text-opacity, 1))}.hover\:text-foreground:hover{--tw-text-opacity: 1;color:hsl(var(--foreground) / var(--tw-text-opacity, 1))}.hover\:text-primary:hover{--tw-text-opacity: 1;color:hsl(var(--primary) / var(--tw-text-opacity, 1))}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-100:hover{opacity:1}.hover\:opacity-80:hover{opacity:.8}.hover\:shadow-md:hover{--tw-shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);
89--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)}.focus\:not-sr-only:focus{position:static;width:auto;height:auto;padding:0;margin:0;overflow:visible;clip:auto;white-space:normal}.focus\:absolute:focus{position:absolute}.focus\:left-2:focus{left:.5rem}.focus\:top-2:focus{top:.5rem}.focus\:z-\[100\]:focus{z-index:100}.focus\:rounded:focus{border-radius:.25rem}.focus\:border-primary:focus{--tw-border-opacity: 1;border-color:hsl(var(--primary) / var(--tw-border-opacity, 1))}.focus\:bg-accent:focus{--tw-bg-opacity: 1;background-color:hsl(var(--accent) / var(--tw-bg-opacity, 1))}.focus\:bg-primary:focus{--tw-bg-opacity: 1;background-color:hsl(var(--primary) / var(--tw-bg-opacity, 1))}.focus\:px-4:focus{padding-left:1rem;padding-right:1rem}.focus\:py-2:focus{padding-top:.5rem;padding-bottom:.5rem}.focus\:text-sm:focus{font-size:.875rem;line-height:1.25rem}.focus\:text-accent-foreground:focus{--tw-text-opacity: 1;color:hsl(var(--accent-foreground) / var(--tw-text-opacity, 1))}.focus\:text-primary-foreground:focus{--tw-text-opacity: 1;color:hsl(var(--primary-foreground) / var(--tw-text-opacity, 1))}.focus\:opacity-100:focus{opacity:1}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.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-sha
89dow, 0 0 #0000)}.focus\:ring-ring:focus{--tw-ring-opacity: 1;--tw-ring-color: hsl(var(--ring) / var(--tw-ring-opacity, 1))}.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-opacity: 1;--tw-ring-color: hsl(var(--ring) / var(--tw-ring-opacity, 1))}.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) / 1)}.active\:bg-muted:active{--tw-bg-opacity: 1;background-color:hsl(var(--muted) / var(--tw-bg-opacity, 1))}.active\:shadow-none:active{--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-sha
89dow)}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}.group:hover .group-hover\:scale-105{--tw-scale-x: 1.05;--tw-scale-y: 1.05;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group:hover .group-hover\:opacity-100{opacity:1}.group.destructive .group-\[\.destructive\]\:border-muted\/40{border-color:hsl(var(--muted) / .4)}.group.destructive .group-\[\.destructive\]\:text-red-300{--tw-text-opacity: 1;color:rgb(252 165 165 / var(--tw-text-opacity, 1))}.group.destructive .group-\[\.destructive\]\:hover\:border-destructive\/30:hover{border-color:hsl(var(--destructive) / .3)}.group.destructive .group-\[\.destructive\]\:hover\:bg-destructive:hover{--tw-bg-opacity: 1;background-color:hsl(var(--destructive) / var(--tw-bg-opacity, 1))}.group.destructive .group-\[\.destructive\]\:hover\:text-destructive-foreground:hover{--tw-text-opacity: 1;color:hsl(var(--destructive-foreground) / var(--tw-text-opacity, 1))}.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-opacity: 1;--tw-ring-color: hsl(var(--destructive) / var(--tw-ring-opacity, 1))}.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:.7}.data-\[disabled\]\:pointer-events-none[data-disabled]{pointer-events:none}.data-\[side\=bottom\]\:translate-y-1[data-side=bottom]{--tw-translate-y: .25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(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: -.25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(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: .25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(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: -.25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[state\=checked\]\:translate-x-5[data-state=checked]{--tw-translate-x: 1.25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(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],.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)) skew(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)) skew(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)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes accordion-up{0%{height:var(--radix-accordion-content-height)}to{height:0}}.data-\[state\=closed\]\:animate-accordion-up[data-state=closed]{animation:accordion-up .2s ease-out}@keyframes accordion-down{0%{height:0}to{height:var(--radix-accordion-content-height)}}.data-\[state\=open\]\:animate-accordion-down[data-state=open]{animation:accordion-down .2s ease-out}
89.data-\[state\=checked\]\:bg-primary[data-state=checked]{--tw-bg-opacity: 1;background-color:hsl(var(--primary) / var(--tw-bg-opacity, 1))}.data-\[state\=open\]\:bg-accent[data-state=open]{--tw-bg-opacity: 1;background-color:hsl(var(--accent) / var(--tw-bg-opacity, 1))}.data-\[state\=selected\]\:bg-muted[data-state=selected]{--tw-bg-opacity: 1;background-color:hsl(var(--muted) / var(--tw-bg-opacity, 1))}.data-\[state\=unchecked\]\:bg-input[data-state=unchecked]{--tw-bg-opacity: 1;background-color:hsl(var(--input) / var(--tw-bg-opacity, 1))}.data-\[placeholder\]\:text-muted-foreground[data-placeholder]{--tw-text-opacity: 1;color:hsl(var(--muted-foreground) / var(--tw-text-opacity, 1))}.data-\[state\=checked\]\:text-primary-foreground[data-state=checked]{--tw-text-opacity: 1;color:hsl(var(--primary-foreground) / var(--tw-text-opacity, 1))}.data-\[state\=open\]\:text-muted-foreground[data-state=open]{--tw-text-opacity: 1;color:hsl(var(--muted-foreground) / var(--tw-text-opacity, 1))}.data-\[disabled\]\:opacity-50[data-disabled]{opacity:.5}.data-\[swipe\=move\]\:transition-none[data-swipe=move]{transition-property:none}.data-\[state\=open\]\:animate-in[data-state=open]{animation-name:enter;animation-duration:.15s;--tw-enter-opacity: initial;--tw-enter-scale: initial;--tw-enter-rotate: initial;--tw-enter-translate-x: initial;--tw-enter-translate-y: initial}.data-\[state\=closed\]\:animate-out[data-state=closed],.data-\[swipe\=end\]\:animate-out[data-swipe=end]{animation-name:exit;animation-duration:.15s;--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\]\:fade-out-0[data-state=closed]{--tw-exit-opacity: 0}.data-\[state\=closed\]\:fade-out-80[data-state=closed]{--tw-exit-opacity: .8}.data-\[state\=open\]\:fade-in-0[data-state=open]{--tw-enter-opacity: 0}.data-\[state\=closed\]\:zoom-out-95[data-state=closed]{--tw-exit-scale: .95}.data-\[state\=open\]\:zoom-in-95[data-state=open]{--tw-enter-scale: .95}.data-\[side\=bottom\]\:slide-in-from-top-2[data-side=bottom]{--tw-enter-translate-y: -.5rem}.data-\[side\=left\]\:slide-in-from-right-2[data-side=left]{--tw-enter-translate-x: .5rem}.data-\[side\=right\]\:slide-in-from-left-2[data-side=right]{--tw-enter-translate-x: -.5rem}.data-\[side\=top\]\:slide-in-from-bottom-2[data-side=top]{--tw-enter-translate-y: .5rem}.data-\[state\=closed\]\:slide-out-to-left-1\/2[data-state=closed]{--tw-exit-translate-x: -50%}.data-\[state\=closed\]\:slide-out-to-right-full[data-state=closed]{--tw-exit-translate-x: 100%}.data-\[state\=closed\]\:slide-out-to-top-\[48\%\][data-state=closed]{--tw-exit-translate-y: -48%}.data-\[state\=open\]\:slide-in-from-left-1\/2[data-state=open]{--tw-enter-translate-x: -50%}.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%}.dark\:border-blue-900:is(.dark *){--tw-border-opacity: 1;border-color:rgb(30 58 138 / var(--tw-border-opacity, 1))}.dark\:bg-blue-950\/20:is(.dark *){background-color:#17255433}.dark\:bg-card:is(.dark *){--tw-bg-opacity: 1;background-color:hsl(var(--card) / var(--tw-bg-opacity, 1))}.dark\:text-green-400:is(.dark *){--tw-text-opacity: 1;color:rgb(74 222 128 / var(--tw-text-opacity, 1))}.dark\:text-red-300:is(.dark *){--tw-text-opacity: 1;color:rgb(252 165 165 / var(--tw-text-opacity, 1))}.dark\:brightness-0:is(.dark *){--tw-brightness: brightness(0);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)}.dark\:invert:is(.dark *){--tw-invert: invert(100%);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)}@media (min-width: 640px){.sm\:absolute{position:absolute}.sm\:bottom-0{bottom:0}.sm\:left-0{left:0}.sm\:right-0{right:0}.sm\:top-auto{top:auto}.sm\:top-full{top:100%}.sm\:col-span-2{grid-column:span 2 / span 2}.sm\:col-span-3{grid-column:span 3 / span 3}.sm\:col-span-6{grid-column:span 6 / span 6}.sm\:col-span-7{grid-column:span 7 / span 7}.sm\:ml-auto{margin-left:auto}.sm\:mt-2{margin-top:.5rem}.sm\:inline{display:inline}.sm\:hidden{display:none}.sm\:aspect-square{aspect-ratio:1 / 1}.sm\:h-10{height:2.5rem}.sm\:h-auto{height:auto}.sm\:max-h-96{max-height:24rem}.sm\:max-h-\[400px\]{max-height:400px}.sm\:min-h-0{min-height:0px}.sm\:w-12{width:3rem}.sm\:max-w-md{max-width:28rem}.sm\:grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.sm\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.sm\:flex-row{flex-direction:row}.sm\:flex-col{flex-direction:column}.sm\:justify-end{justify-content:flex-end}.sm\:gap-4{gap:1rem}.sm\:gap-6{gap:1.5rem}.sm\:gap-8{gap:2rem}.sm\:space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(.5rem * var(--tw-space-x-reverse));margin-left:calc(.5rem * calc(1 - var(--tw-space-x-reverse)))}.sm\:truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sm\:rounded-lg{border-radius:.5625rem}.sm\:p-3{padding:.75rem}.sm\:px-6{padding-left:1.5rem;padding-right:1.5rem}.sm\:text-left{text-align:left}.sm\:text-sm{font-size:.875rem;line-height:1.25rem}.data-\[state\=open\]\:sm\:slide-in-from-bottom-full[data-state=open]{--tw-enter-translate-y: 100%}}@media (min-width: 768px){.md\:col-span-2{grid-column:span 2 / span 2}.md\:h-\[500px\]{height:500px}.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\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.md\:grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.md\:text-6xl{font-size:3.75rem;line-height:1}.md\:text-sm{font-size:.875rem;line-height:1.25rem}}@media (min-width: 1024px){.lg\:col-span-2{grid-column:span 2 / span 2}.lg\:col-span-3{grid-column:span 3 / span 3}.lg\:block{display:block}.lg\:hidden{display:none}.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-5{grid-template-columns:repeat(5,minmax(0,1fr))}.lg\:grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.lg\:grid-cols-7{grid-template-columns:repeat(7,minmax(0,1fr))}.lg\:gap-8{gap:2rem}}@media (min-width: 1280px){.xl\:grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.xl\:grid-cols-8{grid-template-columns:repeat(8,minmax(0,1fr))}}.\[\&\:has\(\[role\=checkbox\]\)\]\:pr-0:has([role=checkbox]){padding-right:0}.\[\&\>span\]\:line-clamp-1>span{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:1}.\[\&\>
89tr\]\:last\:border-b-0:last-child>tr{border-bottom-width:0px}.\[\&\[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)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.\[\&_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} 90</style> 91 <title>cBallast â Industrial Parts, Bearings, Valves, Pumps & Spares</title> 92 <meta name="description" content="Search 330,000+ industrial spare parts by part number, OEM code or brand â bearings, valves, pumps, seals and sensors. Supplied on quotation from Norway." data-rh="true" /> 93 <link rel="canonical" href="https://cballast.com/" data-rh="true" /> 94 <meta property="og:type" content="website" data-rh="true" /> 95 <meta property="og:site_name" content="cBallast" data-rh="true" /> 96 <meta property="og:title" content="cBallast â Industrial Parts, Bearings, Valves, Pumps & Spares" data-rh="true" /> 97 <meta property="og:description" content="Search 330,000+ industrial spare parts by part number, OEM code or brand â bearings, valves, pumps, seals and sensors. Supplied on quotation from Norway." data-rh="true" /> 98 <meta property="og:url" content="https://cballast.com/" data-rh="true" /> 99 <meta property="og:image" content="https://cballast.com/favicon-512x512.png" data-rh="true" /> 100 <meta name="twitter:card" content="summary" data-rh="true" /> 101 <meta name="twitter:title" content="cBallast â Industrial Parts, Bearings, Valves, Pumps & Spares" data-rh="true" /> 102 <meta name="twitter:description" content="Search 330,000+ industrial spare parts by part number, OEM code or brand â bearings, valves, pumps, seals and sensors. Supplied on quotation from Norway." data-rh="true" /> 103 <meta name="twitter:image" content="https://cballast.com/favicon-512x512.png" data-rh="true" /> 104 <link rel="alternate" hreflang="en" href="https://cballast.com/" /> 105 <link rel="alternate" hreflang="x-default" href="https://cballast.com/" /> 106
106<script type="application/ld+json">{"@context":"https://schema.org","@type":"Organization","name":"cBallast","url":"https://cballast.com/","logo":"https://cballast.com/favicon-512x512.png","description":"cBallast sources industrial spare parts â including obsolete, discontinued and hard-to-find components â beyond our online catalog of 330,000+ SKUs. If a part isn't listed, send the part number, OEM code or drawing to [email protected] and we source it through our OEM and authorised-distributor network. Our catalog is updated continuously.","slogan":"If it's not listed, we can still source it.","email":"[email protected]","address":{"@type":"PostalAddress","streetAddress":"Fensfjordvegen 107","postalCode":"5986","addressLocality":"Hosteland","addressCountry":"NO"},"vatID":"NO 836 671 872 MVA","identifier":{"@type":"PropertyValue","propertyID":"Norwegian organisation number (Brønnøysundregistrene)","value":"836671872"},"contactPoint":[{"@type":"ContactPoint","contactType":"sales","email":"[email protected]","availableLanguage":["en"],"areaServed":"Worldwide"}],"knowsAbout":["industrial spare parts","marine spare parts","obsolete parts sourcing","ballast water management","water treatment","wastewater treatment","industrial process","oil and gas","renew
106able energy","defence","bearings","valves","pumps","seals","sensors","fittings","actuators","filtration","SKF","FAG","NSK","NTN","Koyo","Parker Hannifin","Bosch Rexroth","Festo","SMC","Norgren","Endress+Hauser","Honeywell","Pepperl+Fuchs","ABB","Siemens","Schneider Electric","Spirax Sarco","Continental ContiTech","Techcross","Wedeco","Trojan","Berson","MAC","DNV","ABS","Lloyd's Register","Bureau Veritas","RINA","ClassNK","KR","CCS","RMRS","ATEX","IECEx","MED wheelmark","PED","EN 10204","IMPA","ISSA","REACH SVHC","RoHS"],"areaServed":[{"@type":"Place","name":"Worldwide"},{"@type":"Place","name":"Europe"},{"@type":"Place","name":"Nordic region"},{"@type":"Place","name":"Middle East"},{"@type":"Place","name":"Southeast Asia"}],"makesOffer":[{"@type":"Offer","itemOffered":{"@type":"Service","name":"Industrial parts sourcing & procurement","description":"Sourcing of industrial spare parts including obsolete, discontinued and hard-to-find components beyond the online catalog. OEM and authorised-distributor network. Quote-to-invoice workflow.","serviceType":"Spare-parts sourcing & procurement","provider":{"@type":"Organization","name":"cBallast"}}},{"@type":"Offer","itemOffered":{"@type":"Service","name":"Class-society and standards documentation","description":"Material certificates (EN 10204 3.1 / 3.2), class-society approvals (DNV, ABS, LR, BV, RINA, CCS, KR, NK, RMRS), ATEX/IECEx, MED wheelmark and PED conformity records on request.","provider":{"@type":"Organization","name":"cBallast"}}}]}</script>
106 107
107<script type="application/ld+json">{"@context":"https://schema.org","@type":"WebSite","name":"cBallast","url":"https://cballast.com/","potentialAction":{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://cballast.com/products?q={search_term_string}"},"query-input":"required name=search_term_string"}}</script>
107 108 </head> 109 <body> 110 <div id="root"><div id="ssr-content"><div class="min-h-screen flex flex-col bg-background"><div class="sticky top-0 z-50 w-full transition-shadow duration-200 "><a href="#main-content" class="sr-only focus:not-sr-only focus:absolute focus:top-2 focus:left-2 focus:z-[100] focus:bg-primary focus:text-primary-foreground focus:px-4 focus:py-2 focus:rounded focus:text-sm">Skip to main content</a><div class="bg-background border-b"><div class="container mx-auto px-4 sm:px-6 py-2"><div class="brand-wordmark flex items-center justify-center gap-4 sm:gap-8 text-xs sm:text-sm text-muted-foreground whitespace-nowrap"><span>.All Systems</span><span>.All Parts</span><span>.Global Reach</span></div></div></div><div class="bg-yellow-400 border-b border-yellow-500"><div class="container mx-auto px-4 sm:px-6 py-2 overflow-x-auto scrollbar-hide"><div class="brand-wordmark flex items-center justify-center gap-3 sm:gap-6 text-xs sm:text-sm text-black whitespace-nowrap"><span>Customer support</span><span>B2B</span><span>BLOG</span><a href="mailto:[email protected]" class="flex items-center gap-1 hover:underline"><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-mail h-3 w-3"><rect width="20" height="16" x="2" y="4" rx="2"></rect><path d="m22 7-8.97 5.7a1.94 1.94 0 0 1-2.06 0L2 7"></path></svg>[email protected]</a></div></div></div><header class="bg-background"><div class="container mx-auto px-6 py-4"><div class="flex items-center gap-6"><a data-testid="link-home" href="/"><div class="cursor-pointer"><picture><source media="(max-width: 640px)" srcSet="/assets/cBallast_header_nobg-mobile-CzdBBrQs.webp" type="image/webp"/><img src="/assets/cBallast_header_nobg-NuH1-c9t.webp" alt="cBallast" width="140" height="56" class="h-14 w-[140px] object-contain object-left dark:brightness-0 dark:invert" decoding="async"/></picture></div></a><div class="flex-1 max-w-2xl"><form class="relative" role="search" aria-label="Product catalog search"><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-search absolute left-3 top-1/2 -translate-y-1/2 h-4 w-4 text-muted-foreground" aria-hidden="true"><circle cx="11" cy="11" r="8"></circle><path d="m21 21-4.3-4.3"></path></svg><input type="search" class="flex rounded-md border border-input bg-background px-3 py-2 ring-offset-background 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-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 md:text-sm w-full pl-10 pr-4 h-11 text-base sm:h-10 sm:text-sm" name="q" placeholder="Search by part number, OEM code, brand..." aria-label="Search products by part number, OEM code or brand" data-testid="input-search" value=""/></form></div><div class="flex items-center gap-6"><button class="hover:text-primary transition-colors" data-testid="button-theme-toggle" aria-label="Switch to dark mode"><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-moon h-5 w-5"><path d="M12 3a6 6 0 0 0 9 9 9 9 0 1 1-9-9Z"></path></svg></button><a data-testid="link-cart" aria-label="Quote cart (empty)" title="Quote cart" href="/cart"><span class="relative inline-flex items-center text-[#0a1e4a] dark:text-red-300 hover:opacity-80 transition-opacity cursor-pointer"><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-shopping-cart h-7 w-7" aria-hidden="true"><circle cx="8" cy="21" r="1"></circle><circle cx="19" cy="21" r="1"></circle><path d="M2.05 2.05h2l2.66 12.42a2 2 0 0 0 2 1.58h9.78a2 2 0 0 0 1.95-1.57l1.65-7.43H5.12"></path></svg></span></a></div></div></div><div><div class="container mx-auto px-4 sm:px-6"><nav class="flex items-center gap-4 sm:gap-8 py-3 overflow-x-auto whitespace-nowrap scrollbar-hide"><a data-testid="link-home" href="/"><span class="text-sm font-medium cursor-pointer hover:text-primary transition-colors text-foreground">Home</span></a><a data-testid="link-products" href="/products"><span class="text-sm font-medium cursor-pointer hover:text-primary transition-colors text-foreground">Products</span></a><a data-testid="link-brands" href="/brands"><span class="text-sm font-medium cursor-pointer hover:text-primary transition-colors text-foreground">Brands</span></a><a data-testid="link-categories" href="/categories"><span class="text-sm font-medium cursor-pointer hover:text-primary transition-colors text-foreground">Categories</span></a><a data-testid="link-industries" href="/industries-served"><span class="text-sm font-medium cursor-pointer hover:text-primary transition-colors text-foreground">Industries</span></a><a data-testid="link-information & about cballast" href="/information"><span class="text-sm font-medium cursor-pointer hover:text-primary transition-colors text-foreground">Information & About cBallast</span></a><a data-testid="link-certifications" href="/certifications-standards"><span class="text-sm font-medium cursor-pointer hover:text-primary transition-colors text-foreground">Certifications</span></a><a data-testid="link-contact" href="/contact"><span class="text-sm font-medium cursor-pointer hover:text-primary transition-colors text-foreground">Contact</span></a><div class="sm:ml-auto flex items-center gap-3 sm:gap-4 shrink-0" style="line-height:1"><a data-testid="link-login" href="/login"><span class="italic underline hover:opacity-80 transition-opacity whitespace-nowrap text-[10px] font-normal text-[#0a1e4a] dark:text-red-300 cursor-pointer inline-block" style="line-height:1">Login</span></a><a href="/pdfs/account-terms.pdf" target="_blank" rel="noopener noreferrer" class="italic underline hover:opacity-80 transition-opacity whitespace-nowrap text-[10px] font-normal text-[#0a1e4a] dark:text-red-300 inline-block" style="line-height:1" data-testid="link-account-terms"><span class="hidden sm:inline">Account pricing available, view terms</span><span class="sm:hidden">Account terms</span></a></div></nav></div></div></header></div><div class="relative w-full overflow-hidden"><div class="relative w-full h-[400px] md:h-[500px]" style="contain:layout paint style"><picture><source media="(max-width: 640px)" srcSet="/assets/Maritime_ballast_system_equipment_8fc0f09a-mobile-DkY39H2Z.avif" type="image/avif"/><source media="(max-width: 640px)" srcSet="/assets/Maritime_ballast_system_equipment_8fc0f09a-mobile-BSVENWk-.webp" type="image/webp"/><source media="(min-width: 641px)" srcSet="/assets/Maritime_ballast_system_equipment_8fc0f09a-CgxX0U3R.avif" type="image/avif"/><img src="/assets/Maritime_ballast_system_equipment_8fc0f09a-BTNBb8JO.webp" alt="" aria-hidden="true" width="1408" height="768" class="w-full h-full object-cover" loading="eager" decoding="async" fetchpriority="high"/></picture><div class="absolute inset-0 bg-gradient-to-r from-black/70 via-black/50 to-transparent"></div><div class="absolute inset-0 flex items-center"><div class="container mx-auto px-6"><div class="max-w-2xl"><h1 class="brand-wordmark text-4xl md:text-6xl text-white mb-4">Search by part number, IMPA or OEM code.</h1></div></div></div></div></div>
110<main id="main-content" class="flex-1"><div class="border-b"><div class="container mx-auto px-4 py-2.5"><div class="flex items-center justify-center gap-6 text-xs text-muted-foreground"><span><strong class="text-foreground">336,314</strong> products</span><span class="text-border">|</span><span><strong class="text-foreground">954</strong> brands</span><span class="text-border">|</span><span><strong class="text-foreground">54</strong> categories</span></div></div></div><section class="py-6" style="min-height:240px;contain-intrinsic-size:400px 240px;content-visibility:auto;contain:layout paint style"><div class="container mx-auto px-4"><div class="flex items-end justify-between mb-3"><h2 class="text-lg font-bold">Categories</h2><a href="/categories" class="text-xs text-muted-foreground hover:text-foreground">All 54 â</a></div><div class="grid grid-cols-3 sm:grid-cols-4 md:grid-cols-6 lg:grid-cols-7 xl:grid-cols-8 gap-2"><a href="/categories/Bearings%20%26%20Power%20Transmission"><div class="shadcn-card rounded-xl border bg-card border-card-border text-card-foreground shadow-sm hover-elevate cursor-pointer h-full"><div class="p-2 text-center"><p class="text-xs font-medium leading-tight line-clamp-2 min-h-[2rem]">Bearings & Power Transmission</p><div class="whitespace-nowrap inline-flex items-center rounded-md border font-semibold border-transparent bg-secondary text-secondary-foreground mt-1.5 text-[10px] px-1.5 py-0">50461</div></div></div></a><a href="/categories/C-Parts"><div class="shadcn-card rounded-xl border bg-card border-card-border text-card-foreground shadow-sm hover-elevate cursor-pointer h-full"><div class="p-2 text-center"><p class="text-xs font-medium leading-tight line-clamp-2 min-h-[2rem]">C-Parts</p><div class="whitespace-nowrap inline-flex items-center rounded-md border font-semibold border-transparent bg-secondary text-secondary-foreground mt-1.5 text-[10px] px-1.5 py-0">49764</div></div></div></a><a href="/categories/Electrical%20Components"><div class="shadcn-card rounded-xl border bg-card border-card-border text-card-foreground shadow-sm hover-elevate cursor-pointer h-full"><div class="p-2 text-center"><p class="text-xs font-medium leading-tight line-clamp-2 min-h-[2rem]">Electrical Components</p><div class="whitespace-nowrap inline-flex items-center rounded-md border font-semibold border-transparent bg-secondary text-secondary-foreground mt-1.5 text-[10px] px-1.5 py-0">41652</div></div></div></a><a href="/categories/Seals%20%26%20Gaskets"><div class="shadcn-card rounded-xl border bg-card border-card-border text-card-foreground shadow-sm hover-elevate cursor-pointer h-full"><div class="p-2 text-center"><p class="text-xs font-medium leading-tight line-clamp-2 min-h-[2rem]">Seals & Gaskets</p><div class="whitespace-nowrap inline-flex items-center rounded-md border font-semibold border-transparent bg-secondary text-secondary-foreground mt-1.5 text-[10px] px-1.5 py-0">21102</div></div></div></a><a href="/categories/Tools"><div class="shadcn-card rounded-xl border bg-card border-card-border text-card-foreground shadow-sm hover-elevate cursor-pointer h-full"><div class="p-2 text-center"><p class="text-xs font-medium leading-tight line-clamp-2 min-h-[2rem]">Tools</p><div class="whitespace-nowrap inline-flex items-center rounded-md border font-semibold border-transparent bg-secondary text-secondary-foreground mt-1.5 text-[10px] px-1.5 py-0">17205</div></div></div></a><a href="/categories/Cables%20%26%20Wiring"><div class="shadcn-card rounded-xl border bg-card border-card-border text-card-foreground shadow-sm hover-elevate cursor-pointer h-full"><div class="p-2 text-center"><p class="text-xs font-medium leading-tight line-clamp-2 min-h-[2rem]">Cables & Wiring</p><div class="whitespace-nowrap inline-flex items-center rounded-md border font-semibold border-transparent bg-secondary text-secondary-foreground mt-1.5 text-[10px] px-1.5 py-0">15677</div></div></div></a><a href="/categories/Safety%20%26%20Detection"><div class="shadcn-card rounded-xl border bg-card border-card-border text-card-foreground shadow-sm hover-elevate cursor-pointer h-full"><div class="p-2 text-center"><p class="text-xs font-medium leading-tight line-clamp-2 min-h-[2rem]">Safety & Detection</p><div class="whitespace-nowrap inline-flex items-center rounded-md border font-semibold border-transparent bg-secondary text-secondary-foreground mt-1.5 text-[10px] px-1.5 py-0">15401</div></div></div></a><a href="/categories/Enclosures"><div class="shadcn-card rounded-xl border bg-card border-card-border text-card-foreground shadow-sm hover-elevate cursor-pointer h-full"><div class="p-2 text-center"><p class="text-xs font-medium leading-tight line-clamp-2 min-h-[2rem]">Enclosures</p><div class="whitespace-nowrap inline-flex items-center rounded-md border font-semibold border-transparent bg-secondary text-secondary-foreground mt-1.5 text-[10px] px-1.5 py-0">14923</div></div></div></a><a href="/categories/HVAC%20%26%20Refrigeration"><div class="shadcn-card rounded-xl border bg-card border-card-border text-card-foreground shadow-sm hover-elevate cursor-pointer h-full"><div class="p-2 text-center"><p class="text-xs font-medium leading-tight line-clamp-2 min-h-[2rem]">HVAC & Refrigeration</p><div class="whitespace-nowrap inline-flex items-center rounded-md border font-semibold border-transparent bg-secondary text-secondary-foreground mt-1.5 text-[10px] px-1.5 py-0">13598</div></div></div></a><a href="/categories/Control%20%26%20Automation"><div class="shadcn-card rounded-xl border bg-card border-card-border text-card-foreground shadow-sm hover-elevate cursor-pointer h-full"><div class="p-2 text-center"><p class="text-xs font-medium leading-tight line-clamp-2 min-h-[2rem]">Control & Automation</p><div class="whitespace-nowrap inline-flex items-center rounded-md border font-semibold border-transparent bg-secondary text-secondary-foreground mt-1.5 text-[10px] px-1.5 py-0">10909</div></div></div></a><a href="/categories/Pipes%2C%20Fittings%20%26%20Flanges"><div class="shadcn-card rounded-xl border bg-card border-card-border text-card-foreground shadow-sm hover-elevate cursor-pointer h-full"><div class="p-2 text-center"><p class="text-xs font-medium leading-tight line-clamp-2 min-h-[2rem]">Pipes, Fittings & Flanges</p><div class="whitespace-nowrap inline-flex items-center rounded-md border font-semibold border-transparent bg-secondary text-secondary-foreground mt-1.5 text-[10px] px-1.5 py-0">9984</div></div></div></a><a href="/categories/Fasteners%20%26%20Hardware"><div class="shadcn-card rounded-xl border bg-card border-card-border text-card-foreground shadow-sm hover-elevate cursor-pointer h-full"><div class="p-2 text-center"><p class="text-xs font-medium leading-tight line-clamp-2 min-h-[2rem]">Fasteners & Hardware</p><div class="whitespace-nowrap inline-flex items-center rounded-md border font-semibold border-transparent bg-secondary text-secondary-foreground mt-1.5 text-[10px] px-1.5 py-0">9576</div></div></div></a><a href="/categories/Lighting%20%26%20Electrical%20Accessories"><div class="shadcn-card rounded-xl border bg-card border-card-border text-card-foreground shadow-sm hover-elevate cursor-pointer h-full"><div class="p-2 text-center"><p class="text-xs font-medium leading-tight line-clamp-2 min-h-[2rem]">Lighting & Electrical Accessories</p><div class="whitespace-nowrap inline-flex items-center rounded-md border font-semibold border-transparent bg-secondary text-secondary-foreground mt-1.5 text-[10px] px-1.5 py-0">8962</div></div></div></a><a href="/categories/Tools%20%26%20Workshop%20Consumables"><div class="shadcn-card rounded-xl border bg-card border-card-border text-card-foreground shadow-sm hover-elevate cursor-pointer h-full"><div class="p-2 text-center"><p class="text-xs font-medium leading-tight line-clamp-2 min-h-[2rem]">Tools & Workshop Consumables</p><div class="whitespace-nowrap inline-flex items-center rounded-md border font-semibold border-transparent bg-secondary text-secondary-foreground mt-1.5 text-[10px] px-1.5 py-0">7218</div></div></div></a><a href="/categories/Sensors%20%26%20Instrumentation"><div class="shadcn-card rounded-xl border bg-card border-card-border text-card-foreground shadow-sm hover-elevate cursor-pointer h-full"><div class="p-2 text-center"><p class="text-xs font-medium leading-tight line-clamp-2 min-h-[2rem]">Sensors & Instrumentation</p><div class="whitespace-nowrap inline-flex items-center rounded-md border font-semibold border-transparent bg-secondary text-secondary-foreground mt-1.5 text-[10px] px-1.5 py-0">6268</div></div></div></a><a href="/categories/Drives%20%26%20Motors"><div class="shadcn-card rounded-xl border bg-card border-card-border text-card-foreground shadow-sm hover-elevate cursor-pointer h-full"><div class="p-2 text-center"><p class="text-xs font-medium leading-tight line-clamp-2 min-h-[2rem]">Drives & Motors</p><div class="whitespace-nowrap inline-flex items-center rounded-md border font-semibold border-transparent bg-secondary text-secondary-foreground mt-1.5 text-[10px] px-1.5 py-0">4231</div></div></div></a></div></div></section><section class="py-6 border-t" style="min-height:310px;contain-intrinsic-size:400px 310px;content-visibility:auto;contain:layout paint style"><div class="container mx-auto px-4"><div class="flex items-end justify-between mb-3"><h2 class="text-lg font-bold">Brands</h2><a href="/brands" class="text-xs text-muted-foreground hover:text-foreground">All 954 â</a></div><div class="grid grid-cols-3 sm:grid-cols-4 md:grid-cols-5 lg:grid-cols-7 xl:grid-cols-8 gap-2"><a href="/brands/ABB"><div class="bg-card border rounded overflow-hidden cursor-pointer hover-elevate h-full"><div class="aspect-square bg-white flex items-center justify-center p-3 overflow-hidden"><img src="/images/brands/abb.svg" alt="ABB logo" loading="lazy" decoding="async" class="object-contain" style="max-width:100%;max-height:100%"></div><div class="p-1.5 border-t text-center"><h3 class="font-semibold text-xs leading-tight line-clamp-1">ABB</h3><p class="text-[10px] text-muted-foreground mt-0.5">
1107,261 products</p></div></div></a><a href="/brands/Siemens"><div class="bg-card border rounded overflow-hidden cursor-pointer hover-elevate h-full"><div class="aspect-square bg-white flex items-center justify-center p-3 overflow-hidden"><img src="/images/brands/siemens.svg" alt="Siemens logo" loading="lazy" decoding="async" class="object-contain" style="max-width:100%;max-height:100%"></div><div class="p-1.5 border-t text-center"><h3 class="font-semibold text-xs leading-tight line-clamp-1">Siemens</h3><p class="text-[10px] text-muted-foreground mt-0.5">12,929 products</p></div></div></a><a href="/brands/Bosch"><div class="bg-card border rounded overflow-hidden cursor-pointer hover-elevate h-full"><div class="aspect-square bg-white flex items-center justify-center p-3 overflow-hidden"><img src="/images/brands/bosch.svg" alt="Bosch logo" loading="lazy" decoding="async" class="object-contain" style="max-width:100%;max-height:100%"></div><div class="p-1.5 border-t text-center"><h3 class="font-semibold text-xs leading-tight line-clamp-1">Bosch</h3><p class="text-[10px] text-muted-foreground mt-0.5">306 products</p></div></div></a><a href="/brands/Bosch%20Rexroth"><div class="bg-card border rounded overflow-hidden cursor-pointer hover-elevate h-full"><div class="aspect-square bg-white flex items-center justify-center p-3 overflow-hidden"><img src="/images/brands/bosch-rexroth.svg" alt="Bosch Rexroth logo" loading="lazy" decoding="async" class="object-contain" style="max-width:100%;max-height:100%"></div><div class="p-1.5 border-t text-center"><h3 class="font-semibold text-xs leading-tight line-clamp-1">Bosch Rexroth</h3><p class="text-[10px] text-muted-foreground mt-0.5">58 products</p></div></div></a><a href="/brands/SKF"><div class="bg-card border rounded overflow-hidden cursor-pointer hover-elevate h-full"><div class="aspect-square bg-white flex items-center justify-center p-3 overflow-hidden"><img src="/images/brands/skf.svg" alt="SKF logo" loading="lazy" decoding="async" class="object-contain" style="max-width:100%;max-height:100%"></div><div class="p-1.5 border-t text-center"><h3 class="font-semibold text-xs leading-tight line-clamp-1">SKF</h3><p class="text-[10px] text-muted-foreground mt-0.5">70,204 products</p></div></div></a><a href="/brands/Alfa%20Laval"><div class="bg-card border rounded overflow-hidden cursor-pointer hover-elevate h-full"><div class="aspect-square bg-white flex items-center justify-center p-3 overflow-hidden"><img src="/images/brands/alfa-laval.png" alt="Alfa Laval logo" loading="lazy" decoding="async" class="object-contain" style="max-width:100%;max-height:100%"></div><div class="p-1.5 border-t text-center"><h3 class="font-semibold text-xs leading-tight line-clamp-1">Alfa Laval</h3><p class="text-[10px] text-muted-foreground mt-0.5">42 products</p></div></div></a><a href="/brands/Festo"><div class="bg-card border rounded overflow-hidden cursor-pointer hover-elevate h-full"><div class="aspect-square bg-white flex items-center justify-center p-3 overflow-hidden"><img src="/images/brands/festo.svg" alt="Festo logo" loading="lazy" decoding="async" class="object-contain" style="max-width:65%;max-height:65%"></div><div class="p-1.5 border-t text-center"><h3 class="font-semibold text-xs leading-tight line-clamp-1">Festo</h3><p class="text-[10px] text-muted-foreground mt-0.5">3,338 products</p></div></div></a><a href="/brands/Danfoss"><div class="bg-card border rounded overflow-hidden cursor-pointer hover-elevate h-full"><div class="aspect-square bg-white flex items-center justify-center p-3 overflow-hidden"><img src="/images/brands/danfoss.svg" alt="Danfoss logo" loading="lazy" decoding="async" class="object-contain" style="max-width:55%;max-height:55%"></div><div class="p-1.5 border-t text-center"><h3 class="font-semibold text-xs leading-tight line-clamp-1">Danfoss</h3><p class="text-[10px] text-muted-foreground mt-0.5">9,288 products</p></div></div></a><a href="/brands/Parker%20Hannifin"><div class="bg-card border rounded overflow-hidden cursor-pointer hover-elevate h-full"><div class="aspect-square bg-white flex items-center justify-center p-3 overflow-hidden"><img src="/images/brands/parker-hannifin.svg" alt="Parker Hannifin logo" loading="lazy" decoding="async" class="object-contain" style="max-width:65%;max-height:65%"></div><div class="p-1.5 border-t text-center"><h3 class="font-semibold text-xs leading-tight line-clamp-1">Parker Hannifin</h3><p class="text-[10px] text-muted-foreground mt-0.5">227 products</p></div></div></a><a href="/brands/Grundfos"><div class="bg-card border rounded overflow-hidden cursor-pointer hover-elevate h-full"><div class="aspect-square bg-white flex items-center justify-center p-3 overflow-hidden"><img src="/images/brands/grundfos-holding.png" alt="Grundfos logo" loading="lazy" decoding="async" class="object-contain" style="max-width:100%;max-height:100%"></div><div class="p-1.5 border-t text-center"><h3 class="font-semibold text-xs leading-tight line-clamp-1">Grundfos</h3><p class="text-[10px] text-muted-foreground mt-0.5">368 products</p></div></div></a><a href="/brands/Schneider%20Electric"><div class="bg-card border rounded overflow-hidden cursor-pointer hover-elevate h-full"><div class="aspect-square bg-white flex items-center justify-center p-3 overflow-hidden"><img src="/images/brands/schneider-electric.svg" alt="Schneider Electric logo" loading="lazy" decoding="async" class="object-contain" style="max-width:100%;max-height:100%"></div><div class="p-1.5 border-t text-center"><h3 class="font-semibold text-xs leading-tight line-clamp-1">Schneider Electric</h3><p class="text-[10px] text-muted-foreground mt-0.5">17,936 products</p></div></div></a><a href="/brands/Eaton"><div class="bg-card border rounded overflow-hidden cursor-pointer hover-elevate h-full"><div class="aspect-square bg-white flex items-center justify-center p-3 overflow-hidden"><img src="/images/brands/eaton.svg" alt="Eaton logo" loading="lazy" decoding="async" class="object-contain" style="max-width:100%;max-height:100%"></div><div class="p-1.5 border-t text-center"><h3 class="font-semibold text-xs leading-tight line-clamp-1">Eaton</h3><p class="text-[10px] text-muted-foreground mt-0.5">12,445 products</p></div></div></a><a href="/brands/Swagelok"><div class="bg-card border rounded overflow-hidden cursor-pointer hover-elevate h-full"><div class="aspect-square bg-white flex items-center justify-center p-3 overflow-hidden"><img src="/images/brands/swagelok.png" alt="Swagelok logo" loading="lazy" decoding="async" class="object-contain" style="max-width:65%;max-height:65%"></div><div class="p-1.5 border-t text-center"><h3 class="font-semibold text-xs leading-tight line-clamp-1">Swagelok</h3><p class="text-[10px] text-muted-foreground mt-0.5">265 products</p></div></div></a><a href="/brands/Wartsila"><div class="bg-card border rounded overflow-hidden cursor-pointer hover-elevate h-full"><div class="aspect-square bg-white flex items-center justify-center p-3 overflow-hidden"><img src="/images/brands/wartsila.svg" alt="Wartsila logo" loading="lazy" decoding="async" class="object-contain" style="max-width:100%;max-height:100%"></div><div class="p-1.5 border-t text-center"><h3 class="font-semibold text-xs leading-tight line-clamp-1">Wartsila</h3><p class="text-[10px] text-muted-foreground mt-0.5">4 products</p></div></div></a><a href="/brands/SMC"><div class="bg-card border rounded overflow-hidden cursor-pointer hover-elevate h-full"><div class="aspect-square bg-white flex items-center justify-center p-3 overflow-hidden"><img src="/images/brands/smc.svg" alt="SMC logo" loading="lazy" decoding="async" class="object-contain" style="max-width:100%;max-height:100%"></div><div class="p-1.5 border-t text-center"><h3 class="font-semibold text-xs leading-tight line-clamp-1">SMC</h3><p class="text-[10px] text-muted-foreground mt-0.5">61 products</p></div></div></a><a href="/brands/3M"><div class="bg-card border rounded overflow-hidden cursor-pointer hover-elevate h-full"><div class="aspect-square bg-white flex items-center justify-center p-3 overflow-hidden"><img src="/images/brands/3m.svg" alt="3M logo" loading="lazy" decoding="async" class="object-contain" style="max-width:100%;max-height:100%"></div><div class="p-1.5 border-t text-center"><h3 class="font-semibold text-xs leading-tight line-clamp-1">3M</h3><p class="text-[10px] text-muted-foreground mt-0.5">276 products</p></div></div></a><a href="/brands/Bufab"><div class="bg-card border rounded overflow-hidden cursor-pointer hover-elevate h-full"><div class="aspect-square bg-white flex items-center justify-center p-3 overflow-hidden"><img src="/images/brands/bufab.png" alt="Bufab logo" loading="lazy" decoding="async" class="object-contain" style="max-width:100%;max-height:100%"></div><div class="p-1.5 border-t text-center"><h3 class="font-semibold text-xs leading-tight line-clamp-1">Bufab</h3><p class="text-[10px] text-muted-foreground mt-0.5">49,764 products</p></div></div></a><a href="/brands/Phoenix%20Contact"><div class="bg-card border rounded overflow-hidden cursor-pointer hover-elevate h-full"><div class="aspect-square bg-white flex items-center justify-center p-3 overflow-hidden"><img src="/images/brands/phoenix-contact.svg" alt="Phoenix Contact logo" loading="lazy" decoding="async" class="object-contain" style="max-width:100%;max-height:100%"></div><div class="p-1.5 border-t text-center"><h3 class="font-semibold text-xs leading-tight line-clamp-1">Phoenix Contact</h3><p class="text-[10px] text-muted-foreground mt-0.5">1,844 products</p></div></div></a><a href="/brands/WIKA"><div class="bg-card border rounded overflow-hidden cursor-pointer hover-elevate h-full"><div class="aspect-square bg-white flex items-center justify-center p-3 overflow-hidden"><img src="/images/brands/wika.svg" alt="WIKA logo" loading="lazy" decoding="async" class="object-contain" style="max-width:100%;max-height:100%"></div><div class="p-1.5 border-t text-center"><h3 class="font-semibold text-xs leading-tight line-clamp-1">WIKA</h3><p class="text-[10px] text-muted-foreground mt-0.5">118 products</p></div></div></a><a href="/brands/Trelleborg"><div class="bg-card border rounded overflow-hidden cursor-pointer hover-elevate h-full"><div class="aspect-square bg-white flex items-center justify-center p-3 overflow-hidden"><img src="/images/brands/trelleborg.svg" alt="Trelleborg logo" loading="lazy" decoding="async" class="object-contain" style="max-width:100%;max-height:100%"></div><div class="p-1.5 border-t text-center"><h3 class="font-semibold text-xs leading-tight line-clamp-1">Trelleborg</h3><p class="text-[10px] text-muted-foreground mt-0.5">67 products</p></div></div></a><a href="/brands/Wurth"><div class="bg-card border rounded overflow-hidden cursor-pointer hover-elevate h-full"><div class="aspect-square bg-white flex items-center justify-center p-3 overflow-hidden"><img src="/images/brands/wuerth.svg" alt="Wurth logo" loading="lazy" decoding="async" class="object-contain" style="max-width:100%;max-height:100%"></div><div class="p-1.5 border-t text-center"><h3 class="font-semibold text-xs leading-tight line-clamp-1">Wurth</h3><p class="text-[10px] text-muted-foreground mt-0.5">395 products</p></div></div></a><a href="/brands/Mahle"><div class="bg-card border rounded overflow-hidden cursor-pointer hover-elevate h-full"><div class="aspect-square bg-white flex items-center justify-center p-3 overflow-hidden"><img src="/images/brands/mahle.svg" alt="Mahle logo" loading="lazy" decoding="async" class="object-contain" style="max-width:100%;max-height:100%"></div><div class="p-1.5 border-t text-center"><h3 class="font-semibold text-xs leading-tight line-clamp-1">Mahle</h3><p class="text-[10px] text-muted-foreground mt-0.5">6 products</p></div></div></a><a href="/brands/John%20Crane"><div class="bg-card border rounded overflow-hidden cursor-pointer hover-elevate h-full"><div class="aspect-square bg-white flex items-center justify-center p-3 overflow-hidden"><img src="/images/brands/smiths-group.svg" alt="John Crane logo" loading="lazy" decoding="async" class="object-contain" style="max-width:100%;max-height:100%"></div><div class="p-1.5 border-t text-center"><h3 class="font-semibold text-xs leading-tight line-clamp-1">John Crane</h3><p class="text-[10px] text-muted-foreground mt-0.5">3 products</p></div></div></a><a href="/brands/Crane%20Valves"><div class="bg-card border rounded overflow-hidden cursor-pointer hover-elevate h-full"><div class="aspect-square bg-white flex items-center justify-center p-3 overflow-hidden"><img src="/images/brands/crane-co.svg" alt="Crane Valves logo" loading="lazy" decoding="async" class="object-contain" style="max-width:100%;max-height:100%"></div><div class="p-1.5 border-t text-center"><h3 class="font-semibold text-xs leading-tight line-clamp-1">Crane Valves</h3><p class="text-[10px] text-muted-foreground mt-0.5">2 products</p></div></div></a></div></div></section><section class="py-6 border-t" style="min-height:480px;contain-intrinsic-size:400px 480px;content-visibility:auto;contain:layout paint style"><div class="container mx-auto px-4"><div class="flex items-end justify-between mb-3"><h2 class="text-lg font-bold">Products</h2><a href="/products" class="text-xs text-muted-foreground hover:text-foreground">All products â</a></div><div class="grid grid-cols-2 sm:grid-cols-3 md:grid-cols-4 lg:grid-cols-5 xl:grid-cols-6 gap-2.5"><a href="/products/siemens-1642478"><div class="shadcn-card rounded-xl border bg-card border-card-border text-card-foreground shadow-sm hover-elevate cursor-pointer h-full overflow-hidden"><div class="bg-white aspect-square flex items-center justify-center p-2.5"><img src="/images/products/oem/siemens/5sy4120-7.png?w=400" srcset="/images/products/oem/siemens/5sy4120-7.png?w=200 200w, /images/products/oem/siemens/5sy4120-7.png?w=400 400w, /images/products/oem/siemens/5sy4120-7.png?w=800 8
11000w" sizes="(max-width: 640px) 200px, (max-width: 1024px) 400px, 800px" alt="Siemens SENTRON 5SY4120-7 Miniature Circuit Breaker 1-Pole C20A 10KA" width="400" height="300" class="max-h-full max-w-full object-contain" loading="lazy" decoding="async"></div><div class="p-2 border-t"><p class="text-[10px] text-muted-foreground uppercase tracking-wider">Siemens</p><p class="text-xs font-medium leading-tight line-clamp-2 mt-0.5 min-h-[2rem]">Siemens SENTRON 5SY4120-7 Miniature Circuit Breaker 1-Pole C20A 10KA</p><p class="text-xs font-medium mt-1.5 text-muted-foreground">Request a quote</p></div></div></a><a href="/products/schneider-electric-1600911"><div class="shadcn-card rounded-xl border bg-card border-card-border text-card-foreground shadow-sm hover-elevate cursor-pointer h-full overflow-hidden"><div class="bg-white aspect-square flex items-center justify-center p-2.5"><img src="/images/products/catalog/1600911.jpg?w=400" srcset="/images/products/catalog/1600911.jpg?w=200 200w, /images/products/catalog/1600911.jpg?w=400 400w, /images/products/catalog/1600911.jpg?w=800 800w" sizes="(max-width: 640px) 200px, (max-width: 1024px) 400px, 800px" alt="Schneider Electric Residual current breaker with overcurrent protection (RCBO), ACTI9 IC60, 2P, 16A, C curve, 10000A/15KA, A type, 30MA A9D17216" width="400" height="300" class="max-h-full max-w-full object-contain" loading="lazy" decoding="async"></div><div class="p-2 border-t"><p class="text-[10px] text-muted-foreground uppercase tracking-wider">Schneider Electric</p><p class="text-xs font-medium leading-tight line-clamp-2 mt-0.5 min-h-[2rem]">Schneider Electric Residual current breaker with overcurrent protection (RCBO), ACTI9 IC60, 2P, 16A, C curve, 10000A/15KA, A type, 30MA A9D17216</p><p class="text-xs font-medium mt-1.5 text-muted-foreground">Request a quote</p></div></div></a><a href="/products/siemens-3rt2015-1bb41-siemens-3rt2015-1bb41-3-pole-contactor-7a-ac-3-24vdc-coil"><div class="shadcn-card rounded-xl border bg-card border-card-border text-card-foreground shadow-sm hover-elevate cursor-pointer h-full overflow-hidden"><div class="bg-white aspect-square flex items-center justify-center p-2.5"><img src="/images/products/catalog/4161704.jpg?w=400" srcset="/images/products/catalog/4161704.jpg?w=200 200w, /images/products/catalog/4161704.jpg?w=400 400w, /images/products/catalog/4161704.jpg?w=800 8
11000w" sizes="(max-width: 640px) 200px, (max-width: 1024px) 400px, 800px" alt="Siemens 3-Pole contactor 7A AC-3 24VDC coil" width="400" height="300" class="max-h-full max-w-full object-contain" loading="lazy" decoding="async"></div><div class="p-2 border-t"><p class="text-[10px] text-muted-foreground uppercase tracking-wider">Siemens</p><p class="text-xs font-medium leading-tight line-clamp-2 mt-0.5 min-h-[2rem]">Siemens 3-Pole contactor 7A AC-3 24VDC coil</p><p class="text-xs font-medium mt-1.5 text-muted-foreground">Request a quote</p></div></div></a><a href="/products/siemens-siemens-sirius-3rv2-motor-protection-manual-2-2-3-2a-3p-4011209902923"><div class="shadcn-card rounded-xl border bg-card border-card-border text-card-foreground shadow-sm hover-elevate cursor-pointer h-full overflow-hidden"><div class="bg-white aspect-square flex items-center justify-center p-2.5"><img src="/images/products/siemens-siemens-sirius-3rv2-motor-protection-manual-2-2-3-2a-3p-4011209902923.jpg?w=400" srcset="/images/products/siemens-siemens-sirius-3rv2-motor-protection-manual-2-2-3-2a-3p-4011209902923.jpg?w=200 200w, /images/products/siemens-siemens-sirius-3rv2-motor-protection-manual-2-2-3-2a-3p-4011209902923.jpg?w=400 400w, /images/products/siemens-siemens-sirius-3rv2-motor-protection-manual-2-2-3-2a-3p-4011209902923.jpg?w=800 8
11000w" sizes="(max-width: 640px) 200px, (max-width: 1024px) 400px, 800px" alt="Siemens Sirius 3RV2 Motor Protection manual - 2,2-3,2A, 3P" width="400" height="300" class="max-h-full max-w-full object-contain" loading="lazy" decoding="async"></div><div class="p-2 border-t"><p class="text-[10px] text-muted-foreground uppercase tracking-wider">Siemens</p><p class="text-xs font-medium leading-tight line-clamp-2 mt-0.5 min-h-[2rem]">Siemens Sirius 3RV2 Motor Protection manual - 2,2-3,2A, 3P</p><p class="text-xs font-medium mt-1.5 text-muted-foreground">Request a quote</p></div></div></a><a href="/products/eaton-4359038"><div class="shadcn-card rounded-xl border bg-card border-card-border text-card-foreground shadow-sm hover-elevate cursor-pointer h-full overflow-hidden"><div class="bg-white aspect-square flex items-center justify-center p-2.5"><img src="/images/products/catalog/4359038.jpg?w=400" srcset="/images/products/catalog/4359038.jpg?w=200 200w, /images/products/catalog/4359038.jpg?w=400 400w, /images/products/catalog/4359038.jpg?w=800 8
11000w" sizes="(max-width: 640px) 200px, (max-width: 1024px) 400px, 800px" alt="Eaton NZMH2-A100-S1 Molded-Case Circuit Breaker 3-Pole 100A 150KA" width="400" height="300" class="max-h-full max-w-full object-contain" loading="lazy" decoding="async"></div><div class="p-2 border-t"><p class="text-[10px] text-muted-foreground uppercase tracking-wider">Eaton</p><p class="text-xs font-medium leading-tight line-clamp-2 mt-0.5 min-h-[2rem]">Eaton NZMH2-A100-S1 Molded-Case Circuit Breaker 3-Pole 100A 150KA</p><p class="text-xs font-medium mt-1.5 text-muted-foreground">Request a quote</p></div></div></a><a href="/products/schneider-electric-schneider-acti9-ic60n-circuit-breaker-acti9-ic60-16a-3p-c-3606480440663"><div class="shadcn-card rounded-xl border bg-card border-card-border text-card-foreground shadow-sm hover-elevate cursor-pointer h-full overflow-hidden"><div class="bg-white aspect-square flex items-center justify-center p-2.5"><img src="/images/products/schneider-electric-schneider-acti9-ic60n-circuit-breaker-acti9-ic60-16a-3p-c-3606480440663.jpg?w=400" srcset="/images/products/schneider-electric-schneider-acti9-ic60n-circuit-breaker-acti9-ic60-16a-3p-c-3606480440663.jpg?w=200 200w, /images/products/schneider-electric-schneider-acti9-ic60n-circuit-breaker-acti9-ic60-16a-3p-c-3606480440663.jpg?w=400 400w, /images/products/schneider-electric-schneider-acti9-ic60n-circuit-breaker-acti9-ic60-16a-3p-c-3606480440663.jpg?w=800 8
11000w" sizes="(max-width: 640px) 200px, (max-width: 1024px) 400px, 800px" alt="Schneider ACTI9 IC60N Circuit breaker - ACTI9 IC60, 16A, 3P, C" width="400" height="300" class="max-h-full max-w-full object-contain" loading="lazy" decoding="async"></div><div class="p-2 border-t"><p class="text-[10px] text-muted-foreground uppercase tracking-wider">Schneider Electric</p><p class="text-xs font-medium leading-tight line-clamp-2 mt-0.5 min-h-[2rem]">Schneider ACTI9 IC60N Circuit breaker - ACTI9 IC60, 16A, 3P, C</p><p class="text-xs font-medium mt-1.5 text-muted-foreground">Request a quote</p></div></div></a><a href="/products/abb-1629772"><div class="shadcn-card rounded-xl border bg-card border-card-border text-card-foreground shadow-sm hover-elevate cursor-pointer h-full overflow-hidden"><div class="bg-white aspect-square flex items-center justify-center p-2.5"><img src="/images/products/catalog/1629772.jpg?w=400" srcset="/images/products/catalog/1629772.jpg?w=200 200w, /images/products/catalog/1629772.jpg?w=400 400w, /images/products/catalog/1629772.jpg?w=800 8
11000w" sizes="(max-width: 640px) 200px, (max-width: 1024px) 400px, 800px" alt="ABB RD3 Residual Current Relay â Type A, 230 ⦠400 V AC" width="400" height="300" class="max-h-full max-w-full object-contain" loading="lazy" decoding="async"></div><div class="p-2 border-t"><p class="text-[10px] text-muted-foreground uppercase tracking-wider">ABB</p><p class="text-xs font-medium leading-tight line-clamp-2 mt-0.5 min-h-[2rem]">ABB RD3 Residual Current Relay â Type A, 230 ⦠400 V AC</p><p class="text-xs font-medium mt-1.5 text-muted-foreground">Request a quote</p></div></div></a><a href="/products/omron-4522477"><div class="shadcn-card rounded-xl border bg-card border-card-border text-card-foreground shadow-sm hover-elevate cursor-pointer h-full overflow-hidden"><div class="bg-white aspect-square flex items-center justify-center p-2.5"><img src="/images/products/oem/omron/K8DT-AW3CA.jpg?w=400" srcset="/images/products/oem/omron/K8DT-AW3CA.jpg?w=200 200w, /images/products/oem/omron/K8DT-AW3CA.jpg?w=400 400w, /images/products/oem/omron/K8DT-AW3CA.jpg?w=800 8
11000w" sizes="(max-width: 640px) 200px, (max-width: 1024px) 400px, 800px" alt="Omron K8DT-AW 1-Phase motor protection relay, push-in terminals" width="400" height="300" class="max-h-full max-w-full object-contain" loading="lazy" decoding="async"></div><div class="p-2 border-t"><p class="text-[10px] text-muted-foreground uppercase tracking-wider">Omron</p><p class="text-xs font-medium leading-tight line-clamp-2 mt-0.5 min-h-[2rem]">Omron K8DT-AW 1-Phase motor protection relay, push-in terminals</p><p class="text-xs font-medium mt-1.5 text-muted-foreground">Request a quote</p></div></div></a><a href="/products/siemens-1636517"><div class="shadcn-card rounded-xl border bg-card border-card-border text-card-foreground shadow-sm hover-elevate cursor-pointer h-full overflow-hidden"><div class="bg-white aspect-square flex items-center justify-center p-2.5"><img src="/images/products/oem/siemens/5sy4332-8fa.png?w=400" srcset="/images/products/oem/siemens/5sy4332-8fa.png?w=200 200w, /images/products/oem/siemens/5sy4332-8fa.png?w=400 400w, /images/products/oem/siemens/5sy4332-8fa.png?w=800 800w" sizes="(max-width: 640px) 200px, (max-width: 1024px) 400px, 800px" alt="Siemens SENTRON 5SY4332-8FA Miniature Circuit Breaker 3-Pole D32A 10KA" width="400" height="300" class="max-h-full max-w-full object-contain" loading="lazy" decoding="async"></div><div class="p-2 border-t"><p class="text-[10px] text-muted-foreground uppercase tracking-wider">Siemens</p><p class="text-xs font-medium leading-tight line-clamp-2 mt-0.5 min-h-[2rem]">Siemens SENTRON 5SY4332-8FA Miniature Circuit Breaker 3-Pole D32A 10KA</p><p class="text-xs font-medium mt-1.5 text-muted-foreground">Request a quote</p></div></div></a><a href="/products/siemens-1645151"><div class="shadcn-card rounded-xl border bg-card border-card-border text-card-foreground shadow-sm hover-elevate cursor-pointer h-full overflow-hidden"><div class="bg-white aspect-square flex items-center justify-center p-2.5"><img src="/images/products/oem/siemens/5sv33224.png?w=400" srcset="/images/products/oem/siemens/5sv33224.png?w=200 200w, /images/products/oem/siemens/5sv33224.png?w=400 400w, /images/products/oem/siemens/5sv33224.png?w=800 800w" sizes="(max-width: 640px) 200px, (max-width: 1024px) 400px, 800px" alt="Siemens 5SV33224 SIGRES Residual Current Circuit Breaker (RCCB) â Type B, 1+N, 25 A, 30 mA, Short-Time Delayed" width="400" height="300" class="max-h-full max-w-full object-contain" loading="lazy" decoding="async"></div><div class="p-2 border-t"><p class="text-[10px] text-muted-foreground uppercase tracking-wider">Siemens</p><p class="text-xs font-medium leading-tight line-clamp-2 mt-0.5 min-h-[2rem]">Siemens 5SV33224 SIGRES Residual Current Circuit Breaker (RCCB) â Type B, 1+N, 25 A, 30 mA, Short-Time Delayed</p><p class="text-xs font-medium mt-1.5 text-muted-foreground">Request a quote</p></div></div></a><a href="/products/siemens-4542264"><div class="shadcn-card rounded-xl border bg-card border-card-border text-card-foreground shadow-sm hover-elevate cursor-pointer h-full overflow-hidden"><div class="bg-white aspect-square flex items-center justify-center p-2.5"><img src="/images/products/oem/siemens/6ed1052-1md08-0ba2.png?w=400" srcset="/images/products/oem/siemens/6ed1052-1md08-0ba2.png?w=200 200w, /images/products/oem/siemens/6ed1052-1md08-0ba2.png?w=400 400w, /images/products/oem/siemens/6ed1052-1md08-0ba2.png?w=800 800w" sizes="(max-width: 640px) 200px, (max-width: 1024px) 400px, 800px" alt="Siemens LOGO! logic module 6ED1052-1MD08-0BA2" width="400" height="300" class="max-h-full max-w-full object-contain" loading="lazy" decoding="async"></div><div class="p-2 border-t"><p class="text-[10px] text-muted-foreground uppercase tracking-wider">Siemens</p><p class="text-xs font-medium leading-tight line-clamp-2 mt-0.5 min-h-[2rem]">Siemens LOGO! logic module 6ED1052-1MD08-0BA2</p><p class="text-xs font-medium mt-1.5 text-muted-foreground">Request a quote</p></div></div></a><a href="/products/siemens-6ep1332-2ba20-siemens-sitop-psu100s-24v-2-5a-regulated-power-supply-6ep1"><div class="shadcn-card rounded-xl border bg-card border-card-border text-card-foreground shadow-sm hover-elevate cursor-pointer h-full overflow-hidden"><div class="bg-white aspect-square flex items-center justify-center p-2.5"><img src="/images/products/catalog/4546915.jpg?w=400" srcset="/images/products/catalog/4546915.jpg?w=200 200w, /images/products/catalog/4546915.jpg?w=400 400w, /images/products/catalog/4546915.jpg?w=800 8
11000w" sizes="(max-width: 640px) 200px, (max-width: 1024px) 400px, 800px" alt="Siemens SITOP PSU100S 24V 2.5A regulated power supply" width="400" height="300" class="max-h-full max-w-full object-contain" loading="lazy" decoding="async"></div><div class="p-2 border-t"><p class="text-[10px] text-muted-foreground uppercase tracking-wider">Siemens</p><p class="text-xs font-medium leading-tight line-clamp-2 mt-0.5 min-h-[2rem]">Siemens SITOP PSU100S 24V 2.5A regulated power supply</p><p class="text-xs font-medium mt-1.5 text-muted-foreground">Request a quote</p></div></div></a></div></div></section><section class="py-8 border-t"><div class="container mx-auto px-4 max-w-4xl"><h2 class="text-lg font-bold mb-2">Industrial spare parts, supplied on quotation</h2><p class="text-sm text-muted-foreground mb-3">330,000+ SKUs across 54 categories and 890+ brands. Marine, water treatment, industrial process, oil and gas, renewables and defence. Quote-to-invoice workflow; no online checkout.</p><p class="text-sm leading-relaxed mb-3">cBallast sources industrial spare parts â including obsolete, discontinued and hard-to-find components â beyond our online catalog of 330,000+ SKUs. If a part isn't listed, send the part number, OEM code or drawing to [email protected] and we source it through our OEM and authorised-distributor network. Our catalog is updated continuously.</p><p class="text-sm leading-relaxed mb-3">The catalog covers bearings, valves, pumps, fittings, seals, sensors, instrumentation, electrical components, filtration, hoses, gaskets, fasteners and process spares. Product pages list the manufacturer part number together with the cross-reference identifiers held for the item â OEM, EAN, material, drawing, superseded and competitor numbers â so a buyer who searches for any of those numbers reaches the same product page.</p><p class="text-sm leading-relaxed mb-3">cBallast serves ship management, water and wastewater treatment, industrial process, oil and gas, renewable energy and offshore wind, and defence buyers. Class-society certificates (DNV, ABS, LR, BV, RINA, CCS, KR, NK, RMRS), ATEX / IECEx, MED wheelmark and EN 10204 material certificates are available where the OEM holds the relevant approval.</p><p class="text-xs text-muted-foreground mt-4"><a href="/documents" class="hover:underline">Technical guides and cross-reference tables</a> · <a href="/sourcing-policy" class="hover:underline">Sourcing policy</a> · <a href="/lead-times-stock" class="hover:underline">Lead times</a> · <a href="/certifications-standards" class="hover:underline">Certifications and standards</a> · <a href="/about" class="hover:underline">About cBallast</a> · <a href="/contact" class="hover:underline">Contact</a></p></div></section></main><footer class="border-t bg-muted/30 mt-auto"><div class="container mx-auto px-4 py-12"><div class="grid grid-cols-1 md:grid-cols-4 gap-8"><div class="space-y-4"><picture><source media="(max-width: 640px)" srcSet="/assets/cBallast_footer_nobg-mobile-Byuze-uo.webp" type="image/webp"/><img src="/assets/cBallast_footer_nobg-vvB6J2ei.webp" alt="cBallast" width="140" height="40" class="h-8 w-[140px] object-contain object-left dark:brightness-0 dark:invert" loading="lazy" decoding="async"/></picture><p class="brand-wordmark text-sm text-muted-foreground">Industrial Parts Catalog</p></div><div><h4 class="brand-wordmark mb-4 text-sm">Products</h4><ul class="space-y-2 text-sm"><li><a href="/products" class="text-muted-foreground hover:text-foreground transition-colors">All Products</a></li><li><a href="/brands" class="text-muted-foreground hover:text-foreground transition-colors">Brands</a></li><li><a href="/categories" class="text-muted-foreground hover:text-foreground transition-colors">Categories</a></li><li><a href="/information" class="text-muted-foreground hover:text-foreground transition-colors">Information & About cBallast</a></li></ul></div><div><h4 class="brand-wordmark mb-4 text-sm">Resources</h4><ul class="space-y-2 text-sm"><li><a href="/about" class="text-muted-foreground hover:text-foreground transition-colors">About</a></li><li><a href="/industries-served" class="text-muted-foreground hover:text-foreground transition-colors">Industries Served</a></li><li><a href="/pdfs/account-terms.pdf" target="_blank" rel="noopener noreferrer" class="text-muted-foreground hover:text-foreground transition-colors">Account & Terms</a></li><li><a href="/certifications-standards" class="text-muted-foreground hover:text-foreground transition-colors">Certifications & Standards</a></li><li><a href="/documentation" class="text-muted-foreground hover:text-foreground transition-colors">Documentation & Datasheets</a></li><li><a href="/documents" class="text-muted-foreground hover:text-foreground transition-colors" data-testid="link-footer-guides">Technical Guides & Cross-References</a></li><li><a href="/sourcing-policy" class="text-muted-foreground hover:text-foreground transition-colors">Sourcing Policy</a></li><li><a href="/return-policy" class="text-muted-foreground hover:text-foreground transition-colors">Return Policy</a></li><li><a href="/lead-times-stock" class="text-muted-foreground hover:text-foreground transition-colors">Lead Times & Stock</a></li><li><a href="/sustainability" class="text-muted-foreground hover:text-foreground transition-colors">Sustainability</a></li><li><a href="/privacy-cookies" class="text-muted-foreground hover:text-foreground transition-colors">Privacy & Cookies</a></li><li><a href="/imprint" class="text-muted-foreground hover:text-foreground transition-colors">Imprint</a></li></ul></div><div><h4 class="brand-wordmark mb-4 text-sm">Contact</h4><ul class="space-y-2 text-sm"><li><a href="/contact" class="text-muted-foreground hover:text-foreground transition-colors">Contact Us</a></li><li>
110<a href="mailto:[email protected]" class="text-muted-foreground hover:text-foreground transition-colors">[email protected]</a></li></ul></div></div><div class="mt-8 pt-8 border-t flex flex-col sm:flex-row items-center justify-between gap-2"><p class="brand-wordmark text-sm text-muted-foreground">© 2026 cBallast. All rights reserved.</p></div></div></footer></div></div></div> 111
111<script type="application/json" id="__cb_initial__">{"[\"/api/categories\"]":[{"id":"13b0ba53-a42f-4ee9-80fa-10d5702f3298","name":"Anodes & Corrosion Protection","subcategories":["Anti-Corrosion Tape","Bolt-On Anodes","Bonding Cables","Hull Aluminium Anodes","Hull Zinc Anodes","Impressed Current Systems","Rudder Anodes","Shaft Anodes","Shaft Earthing Brushes","Weld-On Anodes"],"imageUrl":"/images/categories/anodes-corrosion-protection.jpg"},{"id":"b9ba702a-85aa-4cb7-817b-9688c2f44383","name":"Bearings","subcategories":["Adapter Sleeves","Angular Contact Ball Bearings","Angular Contact Bearings","Bearing Heaters","Bearing Housings","Bearing Pullers","Bearings","Cylindrical Roller Bearings","Deep Groove Ball Bearings","Flange Bearings","Lock Nuts","Miniature Bearings","Needle Roller Bearings","Pillow Block Bearing Units","Pillow Block Bearings","Spherical Roller Bearings","Tapered Roller Bearings","Thrust Ball Bearings","Thrust Bearings","Plain Bearings & Bushings","Bearing Accessories"],"imageUrl":"/images/categories/bearings.jpg"},{"id":"b283aeab-855a-49b5-b0c7-da0fe3e7ec44","name":"Bearings & Power Transmission","subcategories":["Adapter Sleeves","Angular Contact Ball Bearings","Bearing Housing Accessories","Bearing Lock Nuts","CARB Toroidal Roller Bearings","Cooper Split Roller Bearings","Cylindrical Roller Bearings","Cylindrical Roller Thrust Bearings","Deep Groove Ball Bearings","Double-Row Angular Contact Bearings","Flanged Ball Bearing Units","Flanged Roller Bearing Units","Insert Bearings","Keyless Shaft Bushings","Matched Tapered Roller Bearings","Needle Roller & Cage Assemblies","Needle Roller Bearing Components","Needle Roller Bearings","Pillow Block Ball Bearing Units","Pillow Block Roller Bearing Units","Plain Bushings","QD Bushings","Ribbed Belts","Rod Ends (SI / SA / SIL / SAL / SILA)","Roller Chain Sprockets â ANSI","Roller Chain Sprockets â Metric","Roller Chains","Self-Aligning Ball Bearings","Single-Row Cylindrical Roller Bearings","Single-Row Tapered Roller Bearings","Spherical Plain Bearings","Spherical Roller Bearings","Split Pillow Block Housings","Split Pillow Block Housings (SNL 30/31/32)","Super-Precision Angular Contact Bearings","Super-Precision Cylindrical Roller Bearings","Taper Bushings","Tapered Roller Bearings","Thin-Section Bearings","Thrust Ball Bearings","Timing Belt Pulleys","Timing Belts","Track Roller Support Rollers","V-Belt Pulleys","V-Belts","Withdrawal Sleeves"],"imageUrl":"/images/categories/bearings-power-transmission.jpg"},{"id":"0ae6acbe-8a35-41d3-b9d1-d03687ec142a","name":"C-Parts","subcategories":["Blind Rivets","Carriage Bolts","Conical Spring Washers","Countersunk Head Rivets","Disc Spring Washers","Double End Stud","Dowel Pins","External Tab Washers","Flange Nuts","Flat Head Screws","Hexagon Domed Cap Nuts","Hexagon Head Screws","Hexagon Nuts","Hexagon Nuts with Flange","Hexagon Pipe Nuts","Hexagon Thin Nuts","Hexagon head screw plugs","Hexagon socket pipe plugs","Hexagon socket screws plugs","Lifting Eye Bolts","Lifting Eye Nuts","Lock Nuts","Nuts","Plain Washers","Raised Head Screws","Retaining Rings for bores","Retaining Rings for shaft","Retaining Washers","Round Head Screws","SB Bolt EN 15048","Self Drilling Screws","Serrated Lock Washers","Set Screws","Shim Ring","Slotted Pins","Socket Head Screws","Socket Head Shoulder Screws","Spherical Washers","Spiral Pins","Split Pins","Spring Lock Washers","Spring Wave Washers","Square Nuts","Supporting Ring","Tab Washers","Thermo Plastic Screws","Threaded Rods","Wing Nuts"],"imageUrl":"/images/categories/c-parts.jpg"},{"id":"b6ae2f1a-ad94-4c1d-8ebb-d868de31238e","name":"Cables & Wiring","subcategories":["Armoured Cable","Cable Glands","Cable Trays","Coaxial Cable","Connectors","Control Cable","Control Cables","Data Cable","Data Cables","Heat Shrink","Instrumentation Cable","Junction Boxes","LSZH Cable","Marine-Grade Cable","Power Cable","Sensor Cables","Terminal Blocks","Cable Clips & Clamps","Cable Joints","Cable Transits","Cable Tray Accessories","Fibre Optic Cables","Insulating Sleeving","Pole Line Hardware","Fire-Resistant Cables","Flexible Cables","High-Temperature Cables","Installation Cables","Marine & Offshore Cables","Medium-Voltage Cables","Power Cables","Signal & Data Cables","Single-Core Wires","Solar Cables","VFD & Motor Cables","Welding Cables","Cable Joints & Heat Shrink","Cables","PVC Conduit & Fittings"],"imageUrl":"/images/categories/cables-wiring.jpg"},{"id":"cc81b0c2-a112-4625-9fda-28dc47d7cda9","name":"Chemical Test Kits","subcategories":["Water Analysis Meters","pH Meters"],"imageUrl":"/images/categories/chemical-test-kits.svg"},{"id":"a36fd0eb-16be-49dd-be15-b245d3a9915f","name":"Communications","subcategories":["Internal Communication Systems","Antennas","Coaxial & Network","Network & Data"],"imageUrl":"/images/categories/communications.svg"},{"id":"de6e3975-52e5-458f-9792-c0a222f0b39a","name":"Compressors & Air Systems","subcategories":["Air Receivers","Compressor Filters","Compressor Gaskets","Compressor Liners","Compressor Spare Parts","Compressor Valves","Control Air Compressors","Intercoolers","Piston Compressors","P
111iston Rings","Pressure Switches","Screw Compressors","Starting Air Compressors","Compressors & Air Tools"],"imageUrl":"/images/categories/compressors-air-systems.jpg"},{"id":"e4e3e19f-589a-40da-a8d9-37ed764e7c39","name":"Computer & Electronics","subcategories":["Arduino Boards","Breadboards","Charging Cables","Electronic Component Kits","Ethernet Cables","Extension Cables","HDMI Cables","MicroSD Cards","Power Banks","Raspberry Pi","SD Cards","Single Board Computers","USB Adapters","USB Drives","USB Hubs","USB-C Adapters","Universal Chargers","Racks & Enclosures"],"imageUrl":"/images/categories/computer-electronics.jpg"},{"id":"ff149955-ed49-4732-b297-0ee092511d9c","name":"Control & Automation","subcategories":["BWTS Control Panels","Ethernet Switches","Fieldbus I/O","HMIs","HMIs & Displays","I/O Modules","Network Equipment","PLCs","Power Supplies","Pump Controllers","Pushbuttons & Pilot Lights","Refrigeration Controls","Relay Modules","Relays & Timers","Remote I/O","Signal Converters","Timers","Conduit & Trunking","PLC Accessories","IS Interfaces & Signal Isolators","Industrial Communication","PLCs & Industrial Networking","PLCs & Logic Relays","Monitoring Relays","Robotics & Linear Motion","Relays","Timer Relays","Solid-State Relays"],"imageUrl":"/images/categories/control-automation.jpg"},{"id":"7080188d-3bde-4020-9648-e5353a10201e","name":"Cooling Systems","subcategories":["Cooling Coils","Expansion Tanks","Fresh Water Pumps","Intercoolers","Keel Coolers","Sea Water Pumps","Temperature Regulators","Thermostatic Valves","Zinc Anodes"],"imageUrl":"/images/categories/cooling-systems.jpg"},{"id":"19852828-b481-4e01-90c4-85da2723a5d5","name":"Drives & Controllers","subcategories":["Braking Resistors","Control Cards","Cooling Fans","DC Drives","Drive Filters","Encoders","IGBT Modules","Line Reactors","Motor Starters","Servo Drives","Soft Starters","VFDs","Variable Frequency Drives","Drive Accessories"],"imageUrl":"/images/categories/drives-controllers.jpg"},{"id":"c109e94e-6ddf-4764-85a5-2e2030604577","name":"Drives & Motors","subcategories":["AC Induction Motors","Cable Glands","Couplings","Heating Elements","Soft Starters","Timing Belts","V-Belts","V-Ribbed Belts","VFDs","Variable Frequency Drives","Pulleys & Sprockets","Power Transmission","Roller Chains"],"imageUrl":"/images/categories/drives-motors.svg"},{"id":"cf61e576-8ae0-4266-b7e5-88e2ac6462fa","name":"Electric Motors","subcategories":["AC Induction Motors","AC Motors","Cooling Fans","DC Motors","Explosion-Proof Motors","Marine Motors","Motor Bearings","Motor Brushes","Motor Repair Kits","Motor Spare Parts","Servo Motors","Shaft Seals","Submersible Motors","Terminal Boxes","Windings","Electric Motors"],"imageUrl":"/images/categories/electric-motors.jpg"},{"id":"4b21d115-602b-4800-87f7-ebf938c17460","name":"Electrical Components","subcategories":["Air Circuit Breakers","Busbar Systems","Cable Glands","Cable Lugs","Cable Marking","Cable Ties & Wire Management","Contactors","DIN Rail Accessories","Fuses","Heavy-Duty Connectors","IS Barriers","Industrial Ethernet","Miniature Circuit Breakers","Motor Protection","Motor Protection Circuit Breakers","Moulded Case Circuit Breakers","PCB Connectors","PVC Conduit & Fittings","Power Supplies","Pushbuttons & Pilot Lights","RCBOs","RCCBs","Relay Modules","Relays","Safety Relays","Steel Conduit & Fittings","Surge Protection","Terminal Block Accessories","Terminal Blocks","Thermal Overload Relays","Wire Ferrules","Air circuit breakers (ACB)","Cable Butt Splices","Cable Connectors","Circuit Breaker Accessories","Communication & metering","Compression Cable Lugs","Compression Connectors","Connection Accessories","Current Transformers","EV Charging Accessories","Earthing & Bonding","Escutcheons","Flat-Tab Accessories","Flat-Tab Terminals","Fork & Spade Terminals","Front Covers","Front Operation","Industrial Plugs & Sockets","Insulated Flat Receptacles","Insulated Fork Terminals","Insulated Ring Terminals","Insulated Twin Wire-End Ferrules","Insulated Wire-End Ferrules","Insulation Accessories","Interlocks & locks","Moulded-case circuit-breaker bodies","Mounting accessories","Pin Cable Lugs","Plug-in & draw-out","RCDs & RCBOs","Residual-current protection","Sealing Accessories","Signalling & trip accessories","Socket Outlets","Switches & Dimmers","Terminal Shields","Transformers","Uninsulated Flat Receptacles","Uninsulated Wire-End Ferrules","Wire-End Ferrules","Wiring Accessories","Withdrawable Accessories","Battery Energy Storage","Contactor Accessories","EV Charging","Overload Relays","Solar & Energy Storage","UPS
111Systems","Energy Meters","Earthing & Lightning Protection","Home Automation","Plugs & Sockets","Modular Devices"],"imageUrl":"/images/categories/electrical-components.svg"},{"id":"d3aef7b4-575e-4ca8-9885-9d4453cad124","name":"Electrochlorination & Water Treatment","subcategories":["Analyzers & Sensors","BWTS Consumables","BWTS Spare Parts","Ballasts & Electronics","Cables & Connectors","Control Panels","Dosing Pumps","Electrode Assemblies","Electrode Cells","O-Rings & Seals","Power Supply Modules","Quartz Tubes","Rectifier Units","Sampling Valves","Sensor Cables","Spare Kits","TRO Analyzers","Titanium Electrodes","UV Disinfection Parts","UV Lamps","UV Sensors","UV System Parts","UV Water Treatment Systems"],"imageUrl":"/images/categories/electrochlorination-water-treatment.jpg"},{"id":"bbcab409-d144-44d7-a6ab-c63039315773","name":"Enclosures","subcategories":["Enclosure Accessories","Enclosure Cooling","Junction Boxes","Terminal Boxes","Wall-Mount Enclosures","Consoles & Desks","Distribution Boards","Enclosure Doors","Enclosure Heaters","Enclosure Locks & Handles","Floor-Standing Enclosures","HMI Enclosures","Industrial Enclosures","Mounting Plates"],"imageUrl":"/images/categories/enclosures.svg"},{"id":"4ccc9788-5d74-4588-86a5-096733e963ce","name":"Engine Components","subcategories":["Camshaft Bearings","Con Rod Bearings","Crankcase Relief Valves","Cylinder Liners","Engine Mounts","Engine Repair Kits","Engine Valves","Fuel Filtration","Fuel Injection","Head Gaskets","Impellers","Main Bearings","Piston Rings","Timing Chains","Valve Guides"],"imageUrl":"/images/categories/engine-components.jpg"},{"id":"240a597f-3730-4ac7-bb66-39179ce2ab5d","name":"Engine Parts","subcategories":["Cylinder Heads","Cylinder Liners","Engine Bearings","Engine Safety & Air Valves","Exhaust Valves","Fuel Injectors","Fuel System","Pistons & Rings","Turbochargers"],"imageUrl":"/images/categories/engine-parts.svg"},{"id":"b7c7250b-ea29-4b61-8b49-d6c81c1887a6","name":"Exhaust & Emissions","subcategories":["EGR Components","Exhaust Components","Exhaust Gaskets","Exhaust Valves","Expansion Bellows","Insulation Blankets","Nozzle Rings","SCR Catalyst","Silencers","Spark Arrestors","Turbo Bearings","Turbochargers"],"imageUrl":"/images/categories/exhaust-emissions.jpg"},{"id":"9661faa0-0e06-4529-aa90-a93cadc5a336","name":"Fasteners & Hardware","subcategories":["Assortment Kits","Cap Nuts","Carriage Bolts","Chemical Anchors","Circlips","Countersunk Screws","Countersunk Socket Screws","Disc Springs","Drop-In Anchors","Eye Bolts","Eye Nuts","Flat Washers","Hex Bolts","Hex Head Bolts","Hex Nuts","Knurled Nuts","Lag Screws","Lifting Eye Bolts","Lock Nuts","Nuts","Nyloc Nuts","Retaining Rings","Safety Wire","Socket Head Cap Screws","Spring Washers","Stainless A2","Stainless A4","Stud Bolts","Studs","Tensioners","Threaded Inserts","Washers","Wedge Anchors","Beam Clamps & Brackets","Channel Nuts","Dowel Pins","Screws & Bolts","Solar Mounting Systems","Anchors & Fixings","Blind Rivets","Pins & Keys","Strut Channel & Fittings","Threaded Rods","Door & Furniture Hardware","Machine Elements","Anchors & Construction Fasteners","Bolts & Screws","Circlips & Retaining Rings","Rivets"],"imageUrl":"/images/categories/fasteners-hardware.jpg"},{"id":"de835194-5fc7-40c2-b3a8-17423ae462fd","name":"Filters & Strainers","subcategories":["Air Filter Elements","Air Filters","Backflush Filters","Basket Strainers","Breather Filters","Duplex Filter Elements","Duplex Filters","Filter Cartridges","Filter Elements","Filter Housings","Fuel Filter Separators","Fuel Filters","Hydraulic Filter Elements","Hydraulic Filters","Lube Oil Filters","Magnetic Filters","Simplex Filters","Water Filters","Y-Strainers","Strainers"],"imageUrl":"/images/categories/filters-strainers.jpg"},{"id":"3d92b762-083d-426e-8f76-f6f297f57864","name":"Fuel Systems","subcategories":["Fuel Filters","Fuel Flow Meters","Fuel Heaters","Fuel Injection","Fuel Injectors","Fuel Measurement","Fuel Separators","Fuel Strainers","Fuel Transfer","Fuel Valves","Injection Pumps","Pressure Regulators","Tank Gauges","Transfer Pumps","Venting Valves"],"imageUrl":"/images/categories/fuel-systems.jpg"},{"id":"fe56509d-01e7-4488-b7c1-804dcc81dbf4","name":"Gauges & Measurement","subcategories":["Compound Gauges","Differential Pressure Gauges","Draft Gauges","Flow Indicators","Gauge Isolators","Level Gauges","Manometers","Pressure Gauges","Snubbers","Temperature Gauges","Thermometers","Vacuum Gauges"],"imageUrl":"/images/categories/gauges-measurement.jpg"},{"id":"27fa3bc6-66e4-4304-9b95-80f3fb9dd15d","name":"Hazardous Area Equipment","subcategories":["ATEX Cable Glands","ATEX Junction Boxes","ATEX Lighting","ATEX Motors","ATEX Pushbuttons","Ex Communications","Ex Heat Tracing","Fixed Gas Detection","IS Barriers","Cable Glands","Ex Plugs & Sockets"],"imageUrl":"/images/categories/hazardous-area-equipment.svg"},{"id":"e5ef82c5-cd4c-466d-93a5-ed4413992f71","name":"Heat Exchangers","subcategories":["Aftercoolers","Brazed Heat Exchangers","Carrying Bars","End Covers","Intercoolers","Keel Coolers","Oil Coolers","PHE Gaskets","PHE Plates","Plate Heat Exchangers","Shell & Tube","Tie Bolts","Titanium Plates"],"imageUrl":"/images/categories/heat-exchangers.jpg"},{"id":"4464a62b-7593-4d58-a21f-c2dc88311c9b","name":"Hoses & Flexible Connections","subcategories":["Air Hose","Air Hoses","Camlock Fittings","Chemical Hoses","Chemical Resistant Hose","Expansion Joints","Flexible Connections","Food-Grade Hose","Hose Clamps","Hydraulic Hose Assemblies","Hydraulic Hoses","Industrial Hoses","Oil Resistant Hose","PTFE Hose","Quick Couplings","Rubber Hose","Steam Hose","Suction & Discharge Hose","Water Hose","Hoses & Fittings","Hose Assembly Tools","Hose Fittings"],"imageUrl":"/images/categories/hoses-flexible-connections.jpg"},{"id":"997bece0-b842-4bbb-ae9e-7ce6d1cdbdd0","name":"HVAC & Refrigeration","subcategories":["AC Compressors","Condenser Coils","Evaporator Coils","Expansion Valves","Fan Motors","Filters & Driers","HVAC Ducting","Pressure Switches","Refrigeration Compressors","Sample Coolers","Sight Glasses","Solenoid Valves","Ventilation Fans","HVAC Service Tools","Heating Cables","Panel Heaters","Radiant Heaters","Radiators","Fans","Fans & Ventilation","Heat Pump Accessories","Heat Pump Spare Parts","Heat Pumps","Heaters & Convectors","Refrigeration Components","Thermostats & Controls","Ventilation Units","HVAC Spare Parts","Radiator Valves & Thermostats","Heating Systems","Water Heaters & Boilers","Electric Heaters","Air & Dirt Separators","Expansion Vessels","Refrigeration Controls","Radiator Accessories","District Heating Units","Filling & Make-Up Units","Split System Units","Compressor Accessories","Valves & Regulators","Controls & Instrumentation"],"imageUrl":"/images/categories/hvac-refrigeration.jpg"}
111,{"id":"a2009eda-f35e-49a9-ac65-7c0f3c58fceb","name":"Hydraulics","subcategories":["Accumulators","Directional Control Valves","Directional Valves","Gear Pumps","Hose Fittings","Hydraulic Cylinders","Hydraulic Filters","Hydraulic Fittings","Hydraulic Hose","Hydraulic Hoses","Hydraulic Motors","Hydraulic Pumps","Hydraulic Seal Kits","Hydraulic Valves","Manifold Blocks","Pressure Relief Valves","Pressure Test Equipment","Seal Kits"],"imageUrl":"/images/categories/hydraulics.jpg"},{"id":"987eec68-989f-4073-8fbf-95b2a8fdcd1f","name":"Instrumentation","subcategories":["Flow Meters","Level Transmitters","Process Analytics","Pressure Test Equipment"],"imageUrl":"/images/categories/instrumentation.svg"},{"id":"6c115618-99ec-464c-93a8-205f95b7f6b2","name":"Insulation & Lagging","subcategories":["Acoustic Panels","Ceramic Fibre","Cladding Sheets","Exhaust Insulation Blankets","Firesleeve","Foam Insulation","Insulation Tape","Mineral Wool","Pipe Insulation","Thermal Lagging","Vapour Barriers"],"imageUrl":"/images/categories/insulation-lagging.jpg"},{"id":"ea003c81-c425-4c8d-81fa-1d7309411559","name":"Lifting & Material Handling","subcategories":["Bollards","Brake Pads","Chain Blocks","Chain Stoppers","Crane Wire Rope","Fairleads","Hydraulic Swivels","Lever Hoists","Lifting Slings","Mooring Hooks","Pulleys","Sheaves","Winch Parts","Windlass Components","Lifting Equipment","Workshop Furniture","Ladders & Platforms","Material Handling Equipment","Lifting Bags"],"imageUrl":"/images/categories/lifting-material-handling.jpg"},{"id":"f7349178-8c1d-492e-bb55-be96132b5202","name":"Lighting & Electrical Accessories","subcategories":["Battery Accessories","Deck Floodlights","Emergency Lighting","Explosion-Proof Lights","Inspection Lamps","Junction Boxes","LED Lights","Lamp Holders","Navigation Lights","Night Vision Cameras","Photocells","Searchlights","Batteries","LED Drivers","Lighting Poles & Masts","Motion Sensors","Outdoor & Street Lighting","Ceiling & Wall Luminaires","Downlights","Floodlights","High-Bay Luminaires","Industrial Luminaires","LED Lamps & Bulbs","LED Panels","LED Strips & Profiles","Luminaire Accessories","Outdoor Luminaires","Track Lighting","Lighting Controls"],"imageUrl":"/images/categories/lighting-electrical-accessories.jpg"},{"id":"c842a5b2-6cd3-4c67-aeda-b9e7e788ba7e","name":"Lubrication Systems","subcategories":["Centralised Pumps","Distribution Blocks","Grease Cartridges","Grease Nipples","Injectors","Lube Controllers","Lubrication Accessories","Lubrication Fittings","Lubrication Pumps","Oil Mist Lubricators","Progressive Distributors","Sight Glasses","Lubrication & Greasing"],"imageUrl":"/images/categories/lubrication-systems.jpg"},{"id":"dbcbf511-60b9-4505-8a13-fe45d86aa2dc","name":"Marine Coatings","subcategories":["Marine Coatings"],"imageUrl":"/images/categories/marine-coatings.svg"},{"id":"74e891a0-5a54-4313-956e-5e706bf40c12","name":"Marine Hardware","subcategories":["Anchor Handling Shackles","Carabiners & Snap Hooks","Deck Fittings","Dock Fenders","Fender Mounting Hardware","Gas Struts & Dampers","Mooring Bollards","Mooring Lines & Accessories","Mooring Roller Pedestals","Rigging Blocks","Rigging Hardware","Towing & Pendants"],"imageUrl":"/images/categories/marine-hardware.svg"},{"id":"ab32dc12-f01a-42f8-af41-fb454c6dfdd0","name":"Measurement & Inspection Tools","subcategories":["Anemometers","Angle Finders","Bore Gauges","Calipers","Clamp Meters","Dial Indicators","Feeler Gauges","Hygrometers","IR Thermometers","Inspection Cameras","Insulation Testers","Laser Distance Meters","Laser Levels","Lux Meters","Micrometers","Moisture Meters","Multimeters","Oscilloscopes","Power Quality Analyzers","Pressure Test Equipment","Process Calibrators","Shaft Alignment Tools","Sound Level Meters","Tachometers","Thermal Cameras","Thermal Imagers","Thermometers","Thread Gauges","Ultrasonic Thickness Gauges","Vibration Meters","Voltage Testers","Water Analysis Meters","pH Meters","Test Leads & Probes","Test & Measurement","Measuring Tools","Thermal Imaging","Electrical Test Instruments"],"imageUrl":"/images/categories/measurement-inspection-tools.svg"},{"id":"d992738e-6bac-49ac-8eca-1385b6f5fd08","name":"Metals & Profiles","subcategories":["Aluminium Bar & Tube","Aluminium Profiles","Angle Bar","Bars, Plates & Profiles","Bright Steel","Flat Bar","Free-Cutting Steel","Hexagonal Bar","Key Steel","Round Bar","Steel Plate","Beams & Sections","Brass, Copper & Bronze","Roofing & Building Metal","Engineering Plastics","Gratings","Reinforcement Steel"],"imageUrl":"/images/categories/metals-profiles.jpg"},{"id":"d9c2a409-9939-4e31-9cc9-66641386f85d","name":"Office & Onboard Equipment","subcategories":["Network Equipment","PDUs","Power Cables","Surge Protectors","UPS","Server Racks","Office Supplies","Packaging"],"imageUrl":"/images/categories/office-onboard-equipment.svg"},{"id":"7877e60a-637c-4bd2-86c8-cfe774c74659","name":"Pipes, Fittings & Flanges","subcategories":["90A Elbows","ANSI Flanges","BSP Fittings","Blind Flanges","Brass Threaded Fittings","Carbon Steel Pipe","Cargo Hose Fittings","Cargo Hoses","Cast Iron Fittings","Compression Fittings","Copper-Nickel Pipe","DIN Flanges","Elbows","Equal Tees","Expansion Joints","Flange Isolation Kits","Flanges","Flexible Connections","Galvanised Threaded Fittings","Hex Nipples","Hose Fittings","Hydraulic Adapters","JIC Fittings","NPT Fittings","ORFS Fittings","Pipe Clamps","Pipe Clamps & Hangers","Pipe Fittings","Pipe Nipples","Pipe Plugs","Pipe Repair","Pipes, Fittings & Flanges","Reducers","Reducing Nipples","Stainless Steel Fittings","Stainless Steel Pipe","Stainless Threaded Fittings","Tank Fittings","Tees","Unions","Hygienic Weld Fittings","Plastic Pipe & Drainage","Plastic Pipe Fittings","Press Fittings","Weld Fittings","Drainage & Sewer","Forged Fittings","Galvanised & Black Fittings","Pipe Clamps & Supports","Pipes & Tubes","Press & Push-Fit Fittings","Threaded Fittings","Solder Fittings","Forged & NPT Fittings","Steel & Stainless Pipe","Pipe Couplings"],"imageUrl":"/images/categories/pipes-fittings-flanges.jpg"}
111,{"id":"16beebd9-2cde-4caa-858e-7fff56739e2e","name":"Plumbing & Sanitary","subcategories":["Bathroom Accessories","Sanitary Fittings","Showers & Taps","Bathroom Furniture","Roof Drainage"],"imageUrl":"/images/categories/plumbing-sanitary.jpg"},{"id":"ef6fe83a-e861-4a40-8a8d-7216fbb28050","name":"Pneumatics","subcategories":["Air Cylinders","Air Distribution","Air Dryers","Air Preparation","Air Preparation / FRL","Compact Cylinders","Compression Fittings","FRL Air Preparation","FRL Units","Filters, Regulators & Lubricators","Fittings & Tubing","Flow Control Valves","Flow Controllers","Guided Cylinders","Hoses & Tubing","Manifolds","Piston Seals","Pneumatic Cylinders","Pneumatic Tubing","Pressure Regulators","Pressure Sensors","Pressure Switches","Push-In Fittings","Push-in Fittings","Quick Couplings","Quick-Couplers","Repair Kits","Solenoid Valves","Tubing","Vacuum Generators","Valve Manifolds","Pneumatic Components","Pneumatic Valves","Pneumatic Fittings"],"imageUrl":"/images/categories/pneumatics.jpg"},{"id":"dde3aee7-e467-4267-9825-172705dfc940","name":"Pumps","subcategories":["Ballast","Bilge","Centrifugal","Centrifugal Pumps","Circulators","Diaphragm","Dosing","Dosing Pumps","Fire","Fuel Transfer","Gear","Hand & Drum Pumps","Hand Pumps","Impellers","Mechanical Seals","Pump Bearings","Pump Impellers","Pump Seals","Pump Wear Rings","Repair Kits","Screw","Sludge","Submersible","Tank Cleaning Machines","Tank Cleaning Spare Parts","Pumps"],"imageUrl":"/images/categories/pumps.jpg"},{"id":"9d421ea2-cd9a-4170-9423-b4bdf7bf6bf8","name":"Ropes, Chains & Lifting","subcategories":["Anchor Chain","Chain Blocks","Chain Links","Eye Bolts","Hooks","Lifting Hooks","Lifting Slings","Mooring Ropes","Nylon Rope","Polyester Rope","Polypropylene Rope","Rope Clamps","S-Hooks","Screw Links","Shackles","Spring Hooks","Stud Link Chain","Swivels","Thimbles","Turnbuckles","Wire Rope","Wire Rope Clips","Wire Ropes","Lifting Hardware","Ropes & Slings","Ropes & Chains"],"imageUrl":"/images/categories/ropes-chains-lifting.jpg"},{"id":"8922d0a6-c539-4f71-9aca-1c611b5b1231","name":"Safety & Detection","subcategories":["Circuit Tracers","Fall Protection","Fire & Smoke Dampers","Gas Detectors","High-Visibility Clothing","Insulation Testers","NCV Detectors","Oil Mist Detectors","PPE Eye Protection","PPE Hand Protection","PPE Head Protection","PPE Hearing Protection","PPE Respiratory Protection","Pushbuttons & Pilot Lights","Sound Level Meters","Ventilation & Blowers","CCTV & Surveillance","Fire Alarm Accessories","Fire Stopping","Intrusion Detectors","PPE Safety Footwear","Safety Light Curtains","Safety Relays","Safety Switches","Signs & Labels","Workwear","Access Control","Fire Detection","Intruder Alarm Systems","Smoke & Heat Detectors","Spill Control & Storage","PPE & Workwear","Door Entry & Intercom","Stove Guards","First Aid","Site Safety"],"imageUrl":"/images/categories/safety-detection.svg"},{"id":"5adb1fd3-a70a-4aca-bc26-c963536c17c3","name":"Safety & Fire","subcategories":["Fire Extinguishers","Fire Hose Equipment","Fire Hydrant Valves","First Aid Equipment","First Aid Kits","Heat Detectors","Manual Call Points","PPE","Smoke Detectors","Fire Fighting"],"imageUrl":"/images/categories/safety-fire.jpg"},{"id":"913ad273-e3c7-4fb4-bac8-5e97cfed88bc","name":"Seals & Gaskets","subcategories":["Antispray Tape","Assortment Kits","Backup Rings","Compression Packing","Custom Cut Gaskets","Flange Gaskets","Flat Gaskets","Gasket Sheet Material","Gaskets","Hatch Cover Tape","Lip Seals","Mechanical Seals","O-Rings","O-Rings EPDM","O-Rings FKM","O-Rings NBR","O-Rings Silicone","Quad-ring X-profile","Quad-ring X-profile FKM","Ring Joint Gaskets","Sheet Gasket Material","Sheet Gaskets","Spiral Wound Gaskets","Stern Tube Seals","Thread Sealant","Thread Sealants","Hydraulic Rod & Buffer Seals","Seals","Rod Seals & Wipers","Bonded Seals & Sealing Washers"],"imageUrl":"/images/categories/seals-gaskets.jpg"},{"id":"7c309330-1a39-4f4a-ad5f-b8d601d18c3f","name":"Sensors & Instrumentation","subcategories":["Analyzer Transmitters","Conductivity Sensors","Differential Pressure","Flow Meters","Flow Sensors","Gas Detectors","Inductive Sensors","Instrument Valves & Manifolds","Level Gauges","Level Sensors","Level Switches","Level Transmitters","Photoelectric Sensors","Position Sensors","Position Switches","Pressure Gauge Accessories","Pressure Sensors","Pressure Transmitters","Proximity Sensors","Salinity Sensors","Sight Glasses","Signal Conditioners","TRO Analyzers","Temperature Sensors","Temperature Transmitters","Transmitters","Turbidity Sensors","Ultrasonic Sensors","Vibration Sensors","Water Analysis Meters","Weighing & Instrumentation","pH & ORP Sensors","pH Meters","pH Sensors","Capacitive Sensors","Energy Meters","Sensor Accessories","Encoders","Meters & Analysers","Sensors","Pressure Switches & Thermostats","Sensor Cables & Connectors","Environmental Sensors"],"imageUrl":"/images/categories/sensors-instrumentation.jpg"},{"id":"b7ce146a-a1a7-48cc-9d01-9f761dfcfaf9","name":"Separators & Centrifuges","subcategories":["Bilge Water Separators","Disc Stack Separators","Disc Stacks","Fresh Water Generator Parts","Fresh Water Generators","Fuel Oil Separators","Gravity Discs","Lock Rings","Lube Oil Separators","Nozzles","Oily Water Separator Parts","Oily Water Separators","Paring Discs","Separator Bowls","Separator Gaskets","Separator Spare Parts","Separator Tools","Sewage Treatment Plant Parts","Sewage Treatment Plants","Sludge Separators"],"imageUrl":"/images/categories/separators-centrifuges.jpg"},{"id":"ba45dddf-c9f6-4dc0-a2d3-6a0d000b0fe0","name":"Steering & Propulsion","subcategories":["Autopilot Actuators","Hydraulic Steering Cylinders","Propeller Nuts","Rudder Bearings","Rudder Seals","Shaft Seals","Steering Gear Parts","Steering Gear Pumps","Stern Tube Bearings","Thrusters"],"imageUrl":"/images/categories/steering-propulsion.jpg"},{"id":"c667c009-d334-4c9a-8b61-4858e5c19268","name":"Switchgear & Protection","subcategories":["Bus Bars","Circuit Breakers","Contactors","DIN Rail Power Supplies","Disconnect Switches","Fuses","Insulation Monitoring","MCBs","Motor Protection","Overload Relays","RCDs","Surge Protectors","Terminal Blocks","Fuse Switch-Disconnectors","Safety Switches"],"imageUrl":"/images/categories/switchgear-protection.jpg"},{"id":"3054e388-4526-46f1-96eb-0515b3251d44","name":"Tools","subcategories":["Alignment Tools","Anti-Vibration Mounts","Bearing Tools","Bore Gauges","Calipers","Crimpers","Crimping Tools","Dial Indicators","Gauge Blocks","Height Gauges","Hoses & Flexible Connections","Hydraulic Jacks & Cylinders","Hydraulic Pumps","Lubrication Systems","Measurement Accessories","Micrometers","Pipe Tools","Pliers","Sockets","Straight Edges","Surface Plates","Tool Sets","Torque Tools","Torque Wrenches","Cable Cutters","Cable Pulling Tools","Hand Tools","Power Tools","Punches & Knockout Tools","Screwdrivers","Spanners & Wrenches","Tool Storage","Accessories","Welding Equipment","Cutting Tools","Pipe & Plumbing Tools","Abrasives & Blades","Batteries & Chargers"],"imageUrl":"/images/categories/tools.svg"},{"id":"cb4fe35b-49b2-40e7-bc84-df33a41ff34f","name":"Tools & Workshop Consumables","subcategories":["Anti-Seize","Bearing Pullers","Bolt & Stud Extractors","Cable Knives","Corrosion Inhibitors","Drill Bits","Electrical Tape","Flange Alignment Tools","Gasket Makers","Hydraulic Torque Wrenches","Leak Detection","MRO Chemicals","NDT Consumables","P
111ipe Threading Dies","Pliers","Pressure Test Equipment","Seal Installation Tools","Sockets & Bits","Tape Measures","Taps & Dies","Thread Sealants","Threadlockers","Threadlockers & Sealants","Torque Multipliers","Torque Wrenches","Welding Consumables","Wire Strippers","Hole Saws","Saw Blades","Chemicals & Consumables","Cutting & Grinding Consumables","Welding Equipment","Garden & Outdoor","Cleaning & Hygiene","Sealants & Adhesives","MRO Chemicals & Paints","Marking & Labelling"],"imageUrl":"/images/categories/tools-workshop-consumables.jpg"},{"id":"1256b543-6d68-4e58-9c8c-fe6aaae0964a","name":"Valves","subcategories":["Actuated Valves","Angle Valves","Ball Float Valves","Ball Valves","Butterfly Valves","Check Valves","Control Valves","Cryogenic Valves","Drain Valves","Foot Valves","Gate Valves","Globe Valves","Instrumentation Valves","Knife Gate Valves","Needle Valves","Packing Glands","Pressure Reducing Valves","Safety & Relief Valves","Safety Relief Valves","Safety Valves","Sight Flow Indicators","Sight Glass","Solenoid Valves","Steam Traps","Strainers","Valve Accessories","Valve Actuators","Valve Discs","Valve Seats","Valve Spare Parts","Valve Stems","Vent Valves","Balancing & Radiator Valves","Safety & Reducing Valves","Valves","Expansion Valves"],"imageUrl":"/images/categories/valves.jpg"}],"[\"/api/products?slim=1&limit=24\"]":{"products":[{"slug":"siemens-1642478","name":"Siemens SENTRON 5SY4120-7 Miniature Circuit Breaker 1-Pole C20A 10KA","itemNumber":"5SY4120-7","brand":"Siemens","category":"Electrical Components","subcategory":"Miniature Circuit Breakers","imageUrls":["/images/products/oem/siemens/5sy4120-7.png"],"price":"2149.99","featured":false,"partNumber":"5SY4120-7","impaNumber":null,"hsCode":"8536.20","crossReferences":["EAN 4001869181400","SAP 1000060006","Code 8868642"],"internalId":"CB-0115788","updatedAt":"2026-09-29","stockStatus":"in-stock","ean":null,"gtin":null,"displayName":"Siemens SENTRON 5SY4120-7 Miniature Circuit Breaker 1-Pole C20A 10KA"},{"slug":"schneider-electric-1600911","name":"Schneider Electric Residual current breaker with overcurrent protection (RCBO), ACTI9 IC60, 2P, 16A, C curve, 10000A/15KA, A type, 30MA A9D17216","itemNumber":"A9D17216","brand":"Schneider Electric","category":"Electrical Components","subcategory":"RCDs & RCBOs","imageUrls":["/images/products/catalog/1600911.jpg"],"price":"164.99","featured":false,"partNumber":"A9D17216","impaNumber":null,"hsCode":"8536.90","crossReferences":["EAN 3606481157256","SAP 1200022235","Code 81406582"],"internalId":"CB-0091187","updatedAt":"2026-09-29","stockStatus":"in-stock","ean":null,"gtin":null,"displayName":"Schneider Electric Residual current breaker with overcurrent protection (RCBO), ACTI9 IC60, 2P, 16A, C curve, 10000A/15KA, A type, 30MA A9D17216"},{"slug":"siemens-3rt2015-1bb41-siemens-3rt2015-1bb41-3-pole-contactor-7a-ac-3-24vdc-coil","name":"Siemens 3-Pole contactor 7A AC-3 24VDC coil","itemNumber":"CB-SIE-001","brand":"Siemens","category":"Electrical Components","subcategory":"Contactors","imageUrls":["/images/products/catalog/4161704.jpg"],"price":119.99,"featured":false,"partNumber":"3RT2015-1BB41","impaNumber":null,"hsCode":"8536.50","crossReferences":null,"internalId":"CB-0003782","updatedAt":"2026-08-20","stockStatus":"in-stock","ean":null,"gtin":null,"displayName":"Siemens 3-Pole contactor 7A AC-3 24VDC coil"},{"slug":"siemens-siemens-sirius-3rv2-motor-protection-manual-2-2-3-2a-3p-4011209902923","name":"Siemens Sirius 3RV2 Motor Protection manual - 2,2-3,2A, 3P","itemNumber":"3RV2021-1DA10","brand":"Siemens","category":"Electrical Components","subcategory":"Motor Protection Circuit Breakers","imageUrls":["/images/products/siemens-siemens-sirius-3rv2-motor-protection-manual-2-2-3-2a-3p-4011209902923.jpg"],"price":"2499.99","featured":false,"partNumber":"3RV2021-1DA10","impaNumber":null,"hsCode":"8536.20","crossReferences":["EAN 4011209902923","MPN 3RV2021-1DA10"],"internalId":null,"updatedAt":"2026-09-30","stockStatus":"in-stock","ean":null,"gtin":null,"displayName":"Siemens Sirius 3RV2 Motor Protection manual - 2,2-3,2A, 3P"},{"slug":"eaton-4359038","name":"Eaton NZMH2-A100-S1 Molded-Case Circuit Breaker 3-Pole 100A 150KA","itemNumber":"NZMH2-A100-S1","brand":"Eaton","category":"Electrical Components","subcategory":"Moulded Case Circuit Breakers","imageUrls":["/images/products/catalog/4359038.jpg"],"price":"184.99","featured":false,"partNumber":"NZMH2-A100-S1","impaNumber":null,"hsCode":"8536.20","crossReferences":["EAN 4015082903626","SAP 1000031296","Code 8733873"],"internalId":"CB-0199629","updatedAt":"2026-09-29","stockStatus":"in-stock","ean":"4015082903626","gtin":null,"displayName":"Eaton NZMH2-A100-S1 Molded-Case Circuit Breaker 3-Pole 100A 150KA"},{"slug":"schneider-electric-schneider-acti9-ic60n-circuit-breaker-acti9-ic60-16a-3p-c-3606480440663","name":"Schneider ACTI9 IC60N Circuit breaker - ACTI9 IC60, 16A, 3P, C","itemNumber":"A9F04316","brand":"Schneider Electric","category":"Electrical Components","subcategory":"Moulded Case Circuit Breakers","imageUrls":["/images/products/schneider-electric-schneider-acti9-ic60n-circuit-breaker-acti9-ic60-16a-3p-c-3606480440663.jpg"],"price":"169.99","featured":false,"partNumber":"A9F04316","impaNumber":null,"hsCode":"8536.20","crossReferences":["EAN 3606480440663","MPN A9F04316"],"internalId":null,"updatedAt":"2026-09-29","stockStatus":"in-stock","ean":null,"gtin":null,"displayName":"Schneider ACTI9 IC60N Circuit breaker - ACTI9 IC60, 16A, 3P, C"},{"slug":"abb-1629772","name":"ABB RD3 Residual Current Relay â Type A, 230 ⦠400 V AC (2CSJ201001R0002)","itemNumber":"2CSJ201001R0002","brand":"ABB","category":"Electrical Components","subcategory":"RCDs & RCBOs","imageUrls":["/images/products/catalog/1629772.jpg"],"price":"234.99","featured":false,"partNumber":"2CSJ201001R0002","impaNumber":null,"hsCode":"8536.41","crossReferences":["EAN 8012542734833","SAP 1200640948","Code 83055822","MPN 2CSJ201001R0002","Model RD3"],"internalId":"CB-0152693","updatedAt":"2026-09-30","stockStatus":"in-stock","ean":null,"gtin":null,"displayName":"ABB RD3 Residual Current Relay â Type A, 230 ⦠400 V AC"},{"slug":"omron-4522477","name":"Omron K8DT-AW 1-Phase motor protection relay, push-in terminals (K8DT-AW3CA)","itemNumber":"K8DT-AW3CA","brand":"Omron","category":"Control & Automation","subcategory":"Power Supplies","imageUrls":["/images/products/oem/omron/K8DT-AW3CA.jpg"],"price":"204.99","featured":false,"partNumber":"K8DT-AW3CA","impaNumber":null,"hsCode":"9031.90","crossReferences":["EAN 4548583773592","SAP 1200456308","Code 82636560"],"internalId":"CB-0129967","updatedAt":"2026-09-29","stockStatus":"in-stock","ean":null,"gtin":null,"displayName":"Omron K8DT-AW 1-Phase motor protection relay, push-in terminals"},{"slug":"siemens-1636517","name":"Siemens SENTRON 5SY4332-8FA Miniature Circuit Breaker 3-Pole D32A 10KA","itemNumber":"5SY4332-8FA","brand":"Siemens","category":"Electrical Components","subcategory":"Miniature Circuit Breakers","imageUrls":["/images/products/oem/siemens/5sy4332-8fa.png"],"price":"2099.99","featured":false,"partNumber":"5SY4332-8FA","impaNumber":null,"hsCode":"8536.20","crossReferences":["EAN 4001869300474","SAP 1000039059","Code 8739051"],"internalId":"CB-0162050","updatedAt":"2026-09-29","stockStatus":"in-stock","ean":null,"gtin":null,"displayName":"Siemens SENTRON 5SY4332-8FA Miniature Circuit Breaker 3-Pole D32A 10KA"}
111,{"slug":"siemens-1645151","name":"Siemens 5SV33224 SIGRES Residual Current Circuit Breaker (RCCB) â Type B, 1+N, 25 A, 30 mA, Short-Time Delayed","itemNumber":"5SV33224","brand":"Siemens","category":"Electrical Components","subcategory":"RCDs & RCBOs","imageUrls":["/images/products/oem/siemens/5sv33224.png"],"price":"1629.99","featured":false,"partNumber":"5SV33224","impaNumber":null,"hsCode":"8536.20","crossReferences":["EAN 4001869548876","SAP 1200358499","Code 82369752","MPN 5SV33224"],"internalId":"CB-0115619","updatedAt":"2026-09-29","stockStatus":"in-stock","ean":null,"gtin":null,"displayName":"Siemens 5SV33224 SIGRES Residual Current Circuit Breaker (RCCB) â Type B, 1+N, 25 A, 30 mA, Short-Time Delayed"},{"slug":"siemens-4542264","name":"Siemens LOGO! logic module 6ED1052-1MD08-0BA2","itemNumber":"6ED1052-1MD08-0BA2","brand":"Siemens","category":"Control & Automation","subcategory":"PLCs","imageUrls":["/images/products/oem/siemens/6ed1052-1md08-0ba2.png"],"price":"1889.99","featured":false,"partNumber":"6ED1052-1MD08-0BA2","impaNumber":null,"hsCode":"8504.40","crossReferences":["EAN 4034106034474","SAP 1200735605","Code 83866236"],"internalId":"CB-0093205","updatedAt":"2026-09-29","stockStatus":"in-stock","ean":null,"gtin":null,"displayName":"Siemens LOGO! logic module 6ED1052-1MD08-0BA2"},{"slug":"siemens-6ep1332-2ba20-siemens-sitop-psu100s-24v-2-5a-regulated-power-supply-6ep1","name":"Siemens SITOP PSU100S 24V 2.5A regulated power supply","itemNumber":"CB-SIE-013","brand":"Siemens","category":"Electrical Components","subcategory":"Power Supplies","imageUrls":["/images/products/catalog/4546915.jpg"],"price":204.99,"featured":false,"partNumber":"6EP1332-2BA20","impaNumber":null,"hsCode":"8504.40","crossReferences":null,"internalId":"CB-0003793","updatedAt":"2026-08-13","stockStatus":"in-stock","ean":null,"gtin":null,"displayName":"Siemens SITOP PSU100S 24V 2.5A regulated power supply"},{"slug":"siemens-6es7214-1ag40-0xb0-s7-1200-cpu-1214c-dc-dc-dc-6es7214-1ag40-0xb0","name":"Siemens S7-1200 CPU 1214C DC/DC/DC","itemNumber":"SIEMENS-6ES7214-1AG40-0XB0","brand":"Siemens","category":"Control & Automation","subcategory":"PLCs","imageUrls":["/images/products/catalog/4505140.jpg"],"price":779.99,"featured":false,"partNumber":"6ES7214-1AG40-0XB0","impaNumber":null,"hsCode":"8537.10","crossReferences":null,"internalId":"CB-0002259","updatedAt":"2026-08-29","stockStatus":"in-stock","ean":null,"gtin":null,"displayName":"Siemens S7-1200 CPU 1214C DC/DC/DC"},{"slug":"siemens-1643012","name":"Siemens SENTRON 5SY8120-7 Miniature Circuit Breaker 1-Pole C20A 25KA","itemNumber":"5SY8120-7","brand":"Siemens","category":"Electrical Components","subcategory":"Miniature Circuit Breakers","imageUrls":["/images/products/oem/siemens/5sy8120-7.png"],"price":"1889.99","featured":false,"partNumber":"5SY8120-7","impaNumber":null,"hsCode":"8536.20","crossReferences":["EAN 4001869263007","SAP 1000018850","Code 8159269"],"internalId":"CB-0127764","updatedAt":"2026-09-29","stockStatus":"in-stock","ean":null,"gtin":null,"displayName":"Siemens SENTRON 5SY8120-7 Miniature Circuit Breaker 1-Pole C20A 25KA"},{"slug":"plejd-1400282","name":"Dimmer LED,1-2POL,300VA,Bluetooth,mesh (DIM-01-2P)","itemNumber":"DIM-01-2P","brand":"Plejd","category":"Electrical Components","subcategory":"Switches & Dimmers","imageUrls":["/images/products/catalog/1400282.jpg"],"price":"199.99","featured":false,"partNumber":"DIM-01-2P","impaNumber":null,"hsCode":"8536.90","crossReferences":["EAN 7330018111348","SAP 1200437247","Code 82464826"],"internalId":"CB-0091180","updatedAt":"2026-09-29","stockStatus":"in-stock","ean":null,"gtin":null,"displayName":"Dimmer LED,1-2POL,300VA,Bluetooth,mesh (DIM-01-2P)"},{"slug":"sg-armaturen-1501372","name":"PV Double Socket Outlet with Earth, White (77510)","itemNumber":"77510","brand":"SG Armaturen","category":"Electrical Components","subcategory":"Socket Outlets","imageUrls":["/images/products/catalog/1501372.jpg"],"price":"199.99","featured":false,"partNumber":"77510","impaNumber":null,"hsCode":"8536.90","crossReferences":["EAN 7021987751016","SAP 1200479647","Code 82571064"],"internalId":"CB-0091181","updatedAt":"2026-09-29","stockStatus":"in-stock","ean":null,"gtin":null,"displayName":"PV Double Socket Outlet with Earth, White"},{"slug":"zaptec-1504650","name":"Zaptec Go Asfalt Black 7,4-22 kW IT/TN (ZM000688)","itemNumber":"ZM000688","brand":"Zaptec","category":"Electrical Components","subcategory":"EV Charging","imageUrls":["/images/products/catalog/1504650.jpg"],"price":"164.99","featured":false,"partNumber":"ZM000688","impaNumber":null,"hsCode":"8504.40","crossReferences":["EAN 7090038510001","SAP 1200746824","Code 83885153"],"internalId":"CB-0091182","updatedAt":"2026-09-30","stockStatus":"in-stock","ean":null,"gtin":null,"displayName":"Zaptec Go Asfalt Black 7,4-22 kW IT/TN"},{"slug":"sg-armaturen-1501362","name":"Socket IF, double, with earth, white (77010)","itemNumber":"77010","brand":"SG Armaturen","category":"Electrical Components","subcategory":"Socket Outlets","imageUrls":["/images/products/catalog/1501362.jpg"],"price":"169.99","featured":false,"partNumber":"77010","impaNumber":null,"hsCode":"8536.90","crossReferences":["EAN 7021987701011","SAP 1200479639","Code 82571057"],"internalId":"CB-0091183","updatedAt":"2026-09-29","stockStatus":"in-stock","ean":null,"gtin":null,"displayName":"Socket IF, double, with earth, white"},{"slug":"sg-armaturen-3201874","name":"Junistar ECO White 580LM 6W/927 (905213)","itemNumber":"905213","brand":"SG Armaturen","category":"Lighting & Electrical Accessories","subcategory":"Downlights","imageUrls":["/images/products/catalog/3201874.jpg"],"price":"169.99","featured":false,"partNumber":"905213","impaNumber":null,"hsCode":"9405.11","crossReferences":["EAN 7021989052135","SAP 1200332037","Code 82324529"],"internalId":"CB-0091184","updatedAt":"2026-09-30","stockStatus":"in-stock","ean":null,"gtin":null,"displayName":"Junistar ECO White 580LM 6W/927"},{"slug":"nexans-1034703","name":"PR Pluss 2X2,5/2,5 Quick-REEL (10060900)","itemNumber":"10060900","brand":"Nexans","category":"Cables & Wiring","subcategory":"Installation Cables","imageUrls":["/images/products/catalog/1034703.jpg"],"price":"164.99","featured":false,"partNumber":"10060900","impaNumber":null,"hsCode":"8544.49","crossReferences":["EAN 7045210028638","SAP 1000003416","Code 819467"],"internalId":"CB-0091185","updatedAt":"2026-09-30","stockStatus":"in-stock","ean":null,"gtin":null,"displayName":"PR Pluss 2X2,5/2,5 Quick-REEL"},{"slug":"sg-armaturen-1501364","name":"IF Double Socket Outlet with Earth, 1.5 Box, White (77020)","itemNumber":"77020","brand":"SG Armaturen","category":"Electrical Components","subcategory":"Socket Outlets","imageUrls":["/images/products/catalog/1501364.jpg"],"price":"194.99","featured":false,"partNumber":"77020","impaNumber":null,"hsCode":"8536.90","crossReferences":["EAN 7021987702018","SAP 1200479641","Code 82571081"],"internalId":"CB-0091186","updatedAt":"2026-09-29","stockStatus":"in-stock","ean":null,"gtin":null,"displayName":"IF Double Socket Outlet with Earth, 1.5 Box, White"},{"slug":"elko-1530661","name":"1090 UPT socket POLAR WHITE (EKO04322)","itemNumber":"EKO04322","brand":"ELKO","category":"Electrical Components","subcategory":"Socket Outlets","imageUrls":["/images/products/catalog/1530661.jpg"],"price":"179.99","featured":false,"partNumber":"EKO04322","impaNumber":null,"hsCode":"8536.90","crossReferences":["EAN 7020160432209","SAP 1000025565","Code 8193830"],"internalId":"CB-0091188","updatedAt":"2026-09-30","stockStatus":"in-stock","ean":null,"gtin":null,"displayName":"1090 UPT socket POLAR WHITE"},{"slug":"ctm-lyng-as-6251680","name":"Mkomfy 25R (6251680)","itemNumber":"6251680","brand":"Ctm Lyng As","category":"Safety & Detection","subcategory":"Stove Guards","imageUrls":["/images/products/catalog/6251680.jpg"],"price":"184.99","featured":false,"partNumber":"6251680","impaNumber":null,"hsCode":"8536.90","crossReferences":["7071007000365"],"internalId":"CB-0091189","updatedAt":"2026-09-30","stockStatus":"in-stock","ean":null,"gtin":null,"displayName":"Mkomfy 25R (6251680)"},{"slug":"sg-armaturen-1401040","name":"Heatreg 1-Pole 13A White (820450)","itemNumber":"820450","brand":"SG Armaturen","category":"Electrical Components","subcategory":"Wiring Accessories","imageUrls":["/images/products/catalog/1401040.jpg"],"price":"179.99","featured":false,"partNumber":"820450","impaNumber":null,"hsCode":"9032.10","crossReferences":["EAN 7021988204504","SAP 1200597289","Code 82979339"],"internalId":"CB-0091190","updatedAt":"2026-09-30","stockStatus":"in-stock","ean":null,"gtin":null,"displayName":"Heatreg 1-Pole 13A White"}],"total":336314,"page":1,"limit":24,"pages":14014}}</script>
111 112 </body> 113</html>
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.