Contact Us

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Ut elit tellus, luctus nec ullamcorper mattis, pulvinar dapibus leo.

(function () { try { var search = window.location.search || ''; var hasInquiryParam = /[?&](inquiry_nonce|inquiry_id|product_id|_cb|_cb_retry)=/.test(search); var cookies = document.cookie || ''; var hasSessionCookie = cookies.indexOf('cxb_b2b_session_') !== -1; if (hasInquiryParam || hasSessionCookie) { var r = document.documentElement; if (r && r.classList) { r.classList.add('cxb-b2b-needs-verification'); } else if (r) { r.className += ' cxb-b2b-needs-verification'; } } } catch (e) { /* fail open — worst case, user sees the old flash */ } })(); /* v2.2.2 — Suppress the empty-state flash while quote.js reconciles. Scoped to html.cxb-b2b-needs-verification so only visitors who might have items (URL params / session cookie) see the spinner substitution. Plain anonymous visitors don't match the selector and see the empty message immediately. quote.js removes the class once it has rendered the real state (or confirmed the basket is genuinely empty). */ html.cxb-b2b-needs-verification .cxb-b2b-quote-request-empty { position: relative; min-height: 120px; } html.cxb-b2b-needs-verification .cxb-b2b-quote-request-empty > * { visibility: hidden; } html.cxb-b2b-needs-verification .cxb-b2b-quote-request-empty::after { content: ""; position: absolute; top: 50%; left: 50%; margin: -16px 0 0 -16px; width: 32px; height: 32px; border: 3px solid #eee; border-top-color: #666; border-radius: 50%; animation: cxb-b2b-quote-loading-spin 0.8s linear infinite; } /* Keyframe duplicated here (also in the main