1 <!DOCTYPE html> 2<html class="no-js" lang="en"> 3 <head> 4 <title>Shop 3 Piece Wheels â In Stock, Free Shipping | ThreePiece.us</title> 5 <meta name="description" content="Shop 3 piece wheels at ThreePiece.us â forged lips, barrels, and centers in every size, offset, and finish. In stock with free shipping and expert fitment help."><link rel='canonical' href='https://www.threepiece.us/shop/' /><meta name='platform' content='bigcommerce.stencil' /> 6 <link rel="dns-prefetch preconnect" href="https://cdn11.bigcommerce.com/s-8zxb6tk" crossorigin><link rel="dns-prefetch preconnect" href="https://fonts.googleapis.com/" crossorigin><link rel="dns-prefetch preconnect" href="https://fonts.gstatic.com/" crossorigin> 7 8<meta property="og:type" content="website"> 9<meta property="og:title" content="Shop | ThreePiece.us"> 10<meta property="og:url" content="https://www.threepiece.us/shop/"> 11<meta property="og:site_name" content="ThreePiece.us"> 12 13 14<link rel="next" href="https://www.threepiece.us/shop/?page=2" />
15<script> 16 (function(){ 17 var m = window.location.search.match(/[?&]page=(\d+)/); 18 if (m && parseInt(m[1], 10) > 5) { 19 var t = document.createElement('meta'); 20 t.name = 'robots'; 21 t.content = 'noindex, follow'; 22 document.head.appendChild(t); 23 } 24 })(); 25</script>
vendor: 1 bytes, line 25
25
26<script type="application/ld+json"> 27{ 28 "@context": "https://schema.org", 29 "@type": "AutoPartsStore", 30 "@id": "https://www.threepiece.us/#organization", 31 "name": "ThreePiece.us", 32 "legalName": "ThreePiece.us LLC", 33 "alternateName": "ThreePiece", 34 "description": "Premium aftermarket wheel and tire specialist with over 10 years of expertise in custom fitment. Largest selection of Work Wheels, SSR, Weds, Volk Racing, Enkei, and BBS performance wheels. Expert fitment support and free shipping on packages.", 35 "url": "https://www.threepiece.us", 36 "telephone": "+1-813-535-5801", 37 "email": "[email protected]", 38 "logo": { 39 "@type": "ImageObject", 40 "url": "https://cdn11.bigcommerce.com/s-8zxb6tk/images/stencil/original/threepiece-logo.png", 41 "width": "250", 42 "height": "60", 43 "caption": "ThreePiece.us - Premium Custom Wheels & Performance Rims" 44 }, 45 "image": { 46 "@type": "ImageObject", 47 "url": "https://cdn11.bigcommerce.com/s-8zxb6tk/images/stencil/original/image-manager/updated-header.jpg", 48 "width": "1200", 49 "height": "630", 50 "caption": "ThreePiece.us Custom Wheels and Performance Rims Showroom" 51 }, 52 "foundingDate": "2014", 53 "slogan": "From Mild to Wild - Expert Wheel Fitment for Every Build", 54 "priceRange": "$$-$$$", 55 "currenciesAccepted": "USD", 56 "paymentAccepted": "Credit Card, Debit Card, PayPal, Affirm, Klarna, Snap Finance", 57 "areaServed": { 58 "@type": "Country", 59 "name": "United States" 60 }, 61 "address": { 62 "@type": "PostalAddress", 63 "addressCountry": "US" 64 }, 65 "contactPoint": [ 66 { 67 "@type": "ContactPoint", 68 "telephone": "+1-813-535-5801", 69 "contactType": "customer service", 70 "email": "[email protected]", 71 "areaServed": "US", 72 "availableLanguage": ["English"] 73 }, 74 { 75 "@type": "ContactPoint", 76 "contactType": "technical support", 77 "email": "[email protected]", 78 "areaServed": "US", 79 "availableLanguage": ["English"] 80 } 81 ], 82 "sameAs": [ 83 "https://www.instagram.com/threepiece.us", 84 "https://www.youtube.com/@ThreepieceUs", 85 "https://www.facebook.com/threepieceus", 86 "https://www.tiktok.com/@threepiece.us" 87 ], 88 "subjectOf": [ 89 { 90 "@type": "ContactPage", 91 "name": "Contact ThreePiece.us", 92 "url": "https://www.threepiece.us/contact-us/" 93 }, 94 { 95 "@type": "WebPage", 96 "name": "Shipping and Returns", 97 "url": "https://www.threepiece.us/shipping-return/" 98 }, 99 { 100 "@type": "WebPage", 101 "name": "Price Match Guarantee", 102 "url": "https://www.threepiece.us/price-match-guarantee/" 103 }, 104 { 105 "@type": "WebPage", 106 "name": "Privacy Policy", 107 "url": "https://www.threepiece.us/privacy-policy/" 108 }, 109 { 110 "@type": "WebPage", 111 "name": "Terms and Conditions", 112 "url": "https://www.threepiece.us/terms-and-conditions/" 113 }, 114 { 115 "@type": "WebPage", 116 "name": "Accessibility", 117 "url": "https://www.threepiece.us/accessibility/" 118 } 119 ], 120 "hasMerchantReturnPolicy": { 121 "@type": "MerchantReturnPolicy", 122 "name": "ThreePiece.us Shipping and Returns", 123 "url": "https://www.threepiece.us/shipping-return/", 124 "applicableCountry": "US" 125 }, 126 "knowsAbout": [ 127 "Wheel Fitment", 128 "Custom Wheels", 129 "Performance Rims", 130 "Tire Packages", 131 "Offset Calculation", 132 "Bolt Pattern Matching", 133 "Wheel Sizing", 134 "Stance Setup", 135 "JDM Wheels", 136 "Forged Wheels", 137 "Work Wheels", 138 "SSR Wheels", 139 "Weds Wheels" 140 ] 141} 142</script>
vendor: 1 bytes, line 142
142
143<script type="application/ld+json"> 144{ 145 "@context": "https://schema.org", 146 "@type": "WebSite", 147 "name": "ThreePiece.us", 148 "url": "https://www.threepiece.us", 149 "potentialAction": { 150 "@type": "SearchAction", 151 "target": "https://www.threepiece.us/search?query={search_term_string}", 152 "query-input": "required name=search_term_string" 153 } 154} 155</script>
155 156 157 158 <link rel="preconnect" href="https://tracking.threepiece.us"> 159 <link rel="preconnect" href="https://sdk.helloextend.com"> 160 <link rel="preconnect" href="https://attribution.threepiece.us"> 161 <link rel="dns-prefetch" href="https://www.katapult.com"> 162 <link rel="dns-prefetch" href="https://code.jquery.com"> 163 <link rel="dns-prefetch" href="https://cdn.jsdelivr.net"> 164 <link rel="dns-prefetch" href="https://attribution.threepiece.us"> 165 <link rel="dns-prefetch" href="https://static.klaviyo.com"> 166 167 <link href="https://cdn11.bigcommerce.com/s-8zxb6tk/product_images/rsz_threepieceuslogo2.jpg?t=1605213824" rel="shortcut icon" /> 168 <meta 169 name="viewport" 170 content="width=device-width, initial-scale=1" 171 /> 172 173
173<script> 174 document.documentElement.className = document.documentElement.className.replace('no-js', 'js'); 175 </script>
175 176 177
177<script> 178(function () { 179 'use strict'; 180 181 try { 182 if (window.__TP_ATTRIBUTION_BRIDGE__ === 'bc-script') { 183 window.__tpTrackingBridgeOwner = 'bc-script'; 184 return; 185 } 186 187 var COOKIE_MAX_AGE = 90; 188 var ATTRIBUTION_BASE_URL = 'https://attribution.threepiece.us'; 189 var PAGE_TYPE = '' || ''; 190 var CHANNEL_ID = '' || ''; 191 var CART_ID = '' || ''; 192 var VISITOR_COOKIE = 'tp_vid'; 193 var SESSION_STORAGE_KEY = 'tp_sid'; 194 195 window.dataLayer = window.dataLayer || []; 196 197 function encode(value) { 198 return encodeURIComponent(String(value)); 199 } 200 201 function decode(value) { 202 try { 203 return decodeURIComponent(value); 204 } catch (err) { 205 return value; 206 } 207 } 208 209 function getCookie(name) { 210 var match = document.cookie.match(new RegExp('(?:^|; )' + name + '=([^;]*)')); 211 return match ? decode(match[1]) : null; 212 } 213 214 function setCookie(name, value, days) { 215 var expires = new Date(Date.now() + days * 864e5).toUTCString(); 216 document.cookie = name + '=' + encode(value) + 217 '; expires=' + expires + '; path=/; SameSite=Lax'; 218 } 219 220 function getSessionValue(key) { 221 try { 222 return window.sessionStorage ? window.sessionStorage.getItem(key) : null; 223 } catch (err) { 224 return null; 225 } 226 } 227 228 function setSessionValue(key, value) { 229 try { 230 if (window.sessionStorage) { 231 window.sessionStorage.setItem(key, value); 232 } 233 } catch (err) { 234 // Attribution should never break the theme if storage is blocked. 235 } 236 } 237 238 function randomId(prefix) { 239 var value = Math.random().toString(36).slice(2, 10) + Date.now().toString(36); 240 return prefix + value; 241 } 242 243 function ensureVisitorId() { 244 var current = getCookie(VISITOR_COOKIE); 245 if (current) return current; 246 247 current = randomId('v_'); 248 setCookie(VISITOR_COOKIE, current, COOKIE_MAX_AGE); 249 return current; 250 } 251 252 function ensureSessionId() { 253 var current = getSessionValue(SESSION_STORAGE_KEY); 254 if (current) return current; 255 256 current = randomId('s_'); 257 setSessionValue(SESSION_STORAGE_KEY, current); 258 return current; 259 } 260 261 function getGaClientId() { 262 var gaCookie = getCookie('_ga'); 263 if (!gaCookie) return null; 264 265 var parts = gaCookie.split('.'); 266 if (parts.length < 4) return null; 267 return parts.slice(-2).join('.'); 268 } 269 270 function getGaSessionId() { 271 var cookies = document.cookie.split(';'); 272 for (var i = 0; i < cookies.length; i++) { 273 var pair = cookies[i].trim().split('='); 274 var key = pair[0] || ''; 275 276 if (key.indexOf('_ga_') !== 0) continue; 277 278 var value = decode(pair[1] || ''); 279 var pieces = value.split('.'); 280 if (pieces.length < 3) continue; 281 return pieces[2] || null; 282 } 283 284 return null; 285 } 286 287 function getClickIds() { 288 var mapping = { 289 gclid: '_tp_gclid', 290 fbclid: '_tp_fbclid', 291 ttclid: '_tp_ttclid', 292 msclkid: '_tp_msclkid', 293 li_fat_id: '_tp_li_fat_id', 294 twclid: '_tp_twclid' 295 }; 296 var result = {}; 297 298 Object.keys(mapping).forEach(function (key) { 299 var value = getCookie(mapping[key]); 300 if (value) result[key] = value; 301 }); 302 303 return result; 304 } 305 306 function getUtmData() { 307 var utmKeys = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_content', 'utm_term', 'utm_id']; 308 var result = {}; 309 310 utmKeys.forEach(function (key) { 311 var value = getCookie('_tp_' + key); 312 if (value) result[key] = value; 313 }); 314 315 return result; 316 } 317 318 function getPlatformIds() { 319 return { 320 fbp: getCookie('_fbp'), 321 fbc: getCookie('_fbc'), 322 ga_client_id: getGaClientId(), 323 ga_session_id: getGaSessionId() 324 }; 325 } 326 327 function buildEventId(eventName) { 328 return eventName + ':' + Date.now() + ':' + Math.random().toString(36).slice(2, 8); 329 } 330 331 function getAttributionSnapshot() { 332 return { 333 visitor_id: ensureVisitorId(), 334 session_id: ensureSessionId(), 335 click_ids: getClickIds(), 336 utm_data: getUtmData(), 337 platform_ids: getPlatformIds(), 338 page_type: PAGE_TYPE, 339 page_location: window.location.href, 340 page_path: window.location.pathname, 341 referrer: document.referrer || null, 342 channel_id: CHANNEL_ID || null, 343 cart_id: CART_ID || null, 344 timestamp: new Date().toISOString() 345 }; 346 } 347 348 function buildEventMeta(eventName, overrides) { 349 var snapshot = getAttributionSnapshot(); 350 var custom = overrides || {}; 351 352 return { 353 event_id: custom.event_id || buildEventId(eventName), 354 event_time: custom.event_time || snapshot.timestamp, 355 page_type: custom.page_type || snapshot.page_type, 356 page_location: custom.page_location || snapshot.page_location, 357 page_path: custom.page_path || snapshot.page_path, 358 visitor_id: custom.visitor_id || snapshot.visitor_id, 359 session_id: custom.session_id || snapshot.session_id, 360 cart_id: custom.cart_id || snapshot.cart_id, 361 source: custom.source || 'theme' 362 }; 363 } 364 365 function sanitizePayload(payload) { 366 var sanitized = {}; 367 368 Object.keys(payload || {}
368).forEach(function (key) { 369 var value = payload[key]; 370 if (value === undefined) return; 371 sanitized[key] = value; 372 }); 373 374 return sanitized; 375 } 376 377 function pushEvent(eventName, payload) { 378 var safePayload = payload || {}; 379 var eventMeta = buildEventMeta(eventName, safePayload.event_meta); 380 var snapshot = getAttributionSnapshot(); 381 var eventPayload = sanitizePayload({ 382 event: eventName, 383 event_meta: eventMeta, 384 click_ids: snapshot.click_ids, 385 utm_data: snapshot.utm_data, 386 platform_ids: snapshot.platform_ids, 387 user_data: safePayload.user_data || null, 388 ecommerce: safePayload.ecommerce || null, 389 extra: safePayload.extra || null 390 }); 391 392 if (safePayload.ecommerce) { 393 window.dataLayer.push({ ecommerce: null }); 394 } 395 396 window.dataLayer.push(eventPayload); 397 return eventPayload; 398 } 399 400 function postJSON(path, payload) { 401 var url = ATTRIBUTION_BASE_URL + path; 402 var body = JSON.stringify(payload); 403 404 if (navigator.sendBeacon) { 405 var blob = new Blob([body], { type: 'application/json' }); 406 if (navigator.sendBeacon(url, blob)) return true; 407 } 408 409 if (window.fetch) { 410 window.fetch(url, { 411 method: 'POST', 412 headers: { 'Content-Type': 'application/json' }, 413 body: body, 414 credentials: 'include', 415 keepalive: true 416 }).catch(function () {}); 417 return true; 418 } 419 420 return false; 421 } 422 423 function identify(userData, eventMeta) { 424 if (!userData || (!userData.email && !userData.phone_number && !userData.external_id)) { 425 return false; 426 } 427 428 return postJSON('/v1/identify', { 429 event_meta: buildEventMeta('identify', eventMeta), 430 user_data: userData, 431 attribution: getAttributionSnapshot() 432 }); 433 } 434 435 window.__tpTrackingBridgeOwner = 'theme'; 436 window.__tpTracking = { 437 config: { 438 attributionBaseUrl: ATTRIBUTION_BASE_URL, 439 pageType: PAGE_TYPE, 440 channelId: CHANNEL_ID, 441 cartId: CART_ID || null 442 }, 443 getCookie: getCookie, 444 setCookie: setCookie, 445 ensureVisitorId: ensureVisitorId, 446 ensureSessionId: ensureSessionId, 447 getAttributionSnapshot: getAttributionSnapshot, 448 buildEventMeta: buildEventMeta, 449 pushEvent: pushEvent, 450 postJSON: postJSON, 451 identify: identify 452 }; 453 454 ensureVisitorId(); 455 ensureSessionId(); 456 } catch (err) { 457 window.__tpTracking = null; 458 window.__tpTrackingBridgeOwner = 'theme:error'; 459 if (window.console && typeof window.console.warn === 'function') { 460 window.console.warn('ThreePiece attribution context disabled.', err); 461 } 462 } 463})(); 464</script>
464 465
465<script> 466(function () { 467 'use strict'; 468 window.dataLayer = window.dataLayer || []; 469 var tracking = window.__tpTracking; 470 471})(); 472</script>
472 473
473<script> 474(function () { 475 'use strict'; 476 477 try { 478 if (window.__TP_ATTRIBUTION_BRIDGE__ === 'bc-script') { 479 return; 480 } 481 482 var COOKIE_DAYS_CLICK = 90; 483 var COOKIE_DAYS_UTM = 30; 484 var tracking = window.__tpTracking; 485 var endpoint = '/v1/click-ids'; 486 487 function setCookie(name, value, days) { 488 if (tracking && typeof tracking.setCookie === 'function') { 489 tracking.setCookie(name, value, days); 490 return; 491 } 492 493 var exp = new Date(Date.now() + days * 864e5).toUTCString(); 494 document.cookie = name + '=' + encodeURIComponent(value) + 495 '; expires=' + exp + '; path=/; SameSite=Lax'; 496 } 497 498 function getCookie(name) { 499 if (tracking && typeof tracking.getCookie === 'function') { 500 return tracking.getCookie(name); 501 } 502 503 var match = document.cookie.match(new RegExp('(?:^|; )' + name + '=([^;]*)')); 504 return match ? decodeURIComponent(match[1]) : null; 505 } 506 507 function getParam(name) { 508 var match = location.search.match(new RegExp('[?&]' + name + '=([^&#]*)')); 509 return match ? decodeURIComponent(match[1].replace(/\+/g, ' ')) : null; 510 } 511 512 var clickIdDefs = [ 513 { param: 'gclid', cookie: '_tp_gclid', days: COOKIE_DAYS_CLICK }, 514 { param: 'fbclid', cookie: '_tp_fbclid', days: COOKIE_DAYS_CLICK }, 515 { param: 'ttclid', cookie: '_tp_ttclid', days: COOKIE_DAYS_CLICK },
516 { param: 'msclkid', cookie: '_tp_msclkid', days: COOKIE_DAYS_CLICK }, 517 { param: 'li_fat_id', cookie: '_tp_li_fat_id', days: COOKIE_DAYS_CLICK }, 518 { param: 'twclid', cookie: '_tp_twclid', days: COOKIE_DAYS_CLICK }, 519 { param: 'oppref', cookie: '_tp_oppref', days: COOKIE_DAYS_CLICK } 520 ]; 521 522 var clickIds = {}; 523 var freshClickFound = false; 524 525 clickIdDefs.forEach(function (definition) { 526 var fresh = getParam(definition.param); 527 if (fresh) { 528 setCookie(definition.cookie, fresh, definition.days); 529 clickIds[definition.param] = fresh; 530 freshClickFound = true; 531 } else { 532 var stored = getCookie(definition.cookie); 533 if (stored) clickIds[definition.param] = stored; 534 } 535 }); 536 537 var utmDefs = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_content', 'utm_term', 'utm_id']; 538 var utmData = {}; 539 540 utmDefs.forEach(function (key) { 541 var fresh = getParam(key); 542 if (fresh) { 543 setCookie('_tp_' + key, fresh, COOKIE_DAYS_UTM); 544 utmData[key] = fresh; 545 } else { 546 var stored = getCookie('_tp_' + key); 547 if (stored) utmData[key] = stored; 548 } 549 }); 550 551 var emailFromUrl = getParam('email') || getParam('_ke') || getCookie('_tp_email_from_url') || ''; 552 if (emailFromUrl) { 553 setCookie('_tp_email_from_url', emailFromUrl, COOKIE_DAYS_CLICK); 554 } 555 556 window.dataLayer = window.dataLayer || []; 557 558 if (tracking && typeof tracking.pushEvent === 'function') { 559 tracking.pushEvent('tracking_context', { 560 event_meta: { 561 source: 'theme:click-id-capture' 562 }, 563 extra: { 564 email_from_url: emailFromUrl || null 565 } 566 }); 567 } else { 568 if (Object.keys(clickIds).length) { 569 window.dataLayer.push({ click_ids: clickIds }); 570 } 571 if (Object.keys(utmData).length) { 572 window.dataLayer.push({ utm_data: utmData }); 573 } 574 if (emailFromUrl) { 575 window.dataLayer.push({ email_from_url: emailFromUrl }); 576 } 577 } 578 579 if (freshClickFound || emailFromUrl) { 580 var payload = { 581 click_ids: clickIds, 582 utm_data: utmData, 583 email_from_url: emailFromUrl || null, 584 page_url: location.href, 585 referrer: document.referrer || null, 586 timestamp: new Date().toISOString() 587 }; 588 589 if (tracking && typeof tracking.postJSON === 'function') { 590 tracking.postJSON(endpoint, payload); 591 } else if (navigator.sendBeacon) { 592 var blob = new Blob([JSON.stringify(payload)], { type: 'application/json' }); 593 navigator.sendBeacon('https://attribution.threepiece.us' + endpoint, blob); 594 } 595 } 596 } catch (err) { 597 if (window.console && typeof window.console.warn === 'function') { 598 window.console.warn('ThreePiece click capture disabled.', err); 599 } 600 } 601})(); 602</script>
602 603
603<script> 604 function browserSupportsAllFeatures() { 605 return window.Promise 606 && window.fetch 607 && window.URL 608 && window.URLSearchParams 609 && window.WeakMap 610 // object-fit support 611 && ('objectFit' in document.documentElement.style); 612 } 613 614 function loadScript(src) { 615 var js = document.createElement('script'); 616 js.src = src; 617 js.onerror = function () { 618 console.error('Failed to load polyfill script ' + src); 619 }; 620 document.head.appendChild(js); 621 } 622 623 if (!browserSupportsAllFeatures()) { 624 loadScript('https://cdn11.bigcommerce.com/s-8zxb6tk/stencil/216f56b0-a0c6-013f-37ac-06627e5707c7/e/fa349870-8a84-013f-3c49-5e8f456a1dbe/dist/theme-bundle.polyfills.js'); 625 } 626</script>
626 627 <!-- NEW Google Tag Manager -->
628<script> 629 (function (w, d, s, l, i) { 630 w[l] = w[l] || []; 631 w[l].push({ "gtm.start": new Date().getTime(), event: "gtm.js" }); 632 var f = d.getElementsByTagName(s)[0], 633 j = d.createElement(s), 634 dl = l != "dataLayer" ? "&l=" + l : ""; 635 j.async = true; 636 j.src = "https://tracking.threepiece.us/gtm.js?id=" + i + dl; 637 f.parentNode.insertBefore(j, f); 638 })(window, document, "script", "dataLayer", "GTM-PJLMLB8F"); 639</script>
639 640<!-- End Google Tag Manager --> 641 642 <!-- Extend - Render Extend Configuration Script --> 643
643<script> 644 document.addEventListener('DOMContentLoaded', function() { 645 if (typeof Extend !== 'undefined') { 646 Extend.integration = Extend.integration || {}; 647 Extend.integration.analytics = true; 648 } 649 }); 650</script>
650 651 <!-- Extend - End Extend Code --> 652 653
653<script> 654 window.consentManagerTranslations = `{"locale":"en","locales":{"consent_manager.data_collection_warning":"en","consent_manager.accept_all_cookies":"en","consent_manager.gdpr_settings":"en","consent_manager.data_collection_preferences":"en","consent_manager.manage_data_collection_preferences":"en","consent_manager.use_data_by_cookies":"en","consent_manager.data_categories_table":"en","consent_manager.allow":"en","consent_manager.accept":"en","consent_manager.deny":"en","consent_manager.dismiss":"en","consent_manager.reject_all":"en","consent_manager.category":"en","consent_manager.purpose":"en","consent_manager.functional_category":"en","consent_manager.functional_purpose":"en","consent_manager.analytics_category":"en","consent_manager.analytics_purpose":"en","consent_manager.targeting_category":"en","consent_manager.advertising_category":"en","consent_manager.advertising_purpose":"en","consent_manager.essential_category":"en","consent_manager.esential_purpose":"en","consent_manager.yes":"en","consent_manager.no":"en","consent_manager.not_available":"en","consent_manager.cancel":"en","consent_manager.save":"en","consent_manager.back_to_preferences":"en","consent_manager.close_without_changes":"en","consent_manager.unsaved_changes":"en","consent_manager.by_using":"en","consent_manager.agree_on_data_collection":"en","consent_manager.change_preferences":"en","consent_manager.cancel_dialog_title":"en","consent_manager.privacy_policy":"en","consent_manager.allow_category_tracking":"en","consent_manager.disallow_category_tracking":"en"},"translations":{"consent_manager.data_collection_warning":"We use cookies (and other similar technologies) to collect data to improve your shopping experience.","consent_manager.accept_all_cookies":"Accept All Cookies","consent_manager.gdpr_settings":"Settings","consent_manager.data_collection_preferences":"Website Data Collection Preferences","consent_manager.manage_data_collection_preferences":"Manage Website Data Collection Preferences","consent_manager.use_data_by_cookies":" uses data collected by cookies and JavaScript libraries to improve your shopping experience.","consent_manager.data_categories_table":"The table below outlines how we use this data by category. To opt out of a category of data collection, select 'No' and save your preferences.","consent_manager.allow":"Allow","consent_manager.accept":"Accept","consent_manager.deny":"Deny","consent_manager.dismiss":"Dismiss","consent_manager.reject_all":"Reject all","consent_manager.category":"Category","consent_manager.purpose":"Purpose","consent_manager.functional_category":"Functional","consent_manager.functional_purpose":"Enables enhanced functionality, such as videos and live chat. If you do not allow these, then some or all of these functions may not work properly.","consent_manager.analytics_category":"Analytics","consent_manager.analytics_purpose":"Provide statistical information on site usage, e.g., web analytics so we can improve this website over time.","consent_manager.targeting_category":"Targeting","consent_manager.advertising_category":"Advertising","consent_manager.advertising_purpose":"Used to create profiles or personalize content to enhance your shopping experience.","consent_manager.essential_category":"Essential","consent_manager.esential_purpose":"Essential for the site and any requested services to work, but do not perform any additional or secondary function.","consent_manager.yes":"Yes","consent_manager.no":"No","consent_manager.not_available":"N/A","consent_manager.cancel":"Cancel","consent_manager.save":"Save","consent_manager.back_to_preferences":"Back to Preferences","consent_manager.close_without_changes":"You have unsaved changes to your data collection preferences. Are you sure you want to close without saving?","consent_manager.unsaved_changes":"You have unsaved changes","consent_manager.by_using":"By using our website, you're agreeing to our","consent_manager.agree_on_data_collection":"By using our website, you're agreeing to the collection of data as described in our ","consent_manager.change_preferences":"You can change your preferences at any time","consent_manager.cancel_dialog_title":"Are you sure you want to cancel?","consent_manager.privacy_policy":"Privacy Policy","consent_manager.allow_category_tracking":"Allow [CATEGORY_NAME] tracking","consent_manager.disallow_category_tracking":"Disallow [CATEGORY_NAME] tracking"}}`; 655 </script>
655 656 657
657<script> 658 window.lazySizesConfig = window.lazySizesConfig || {}; 659 window.lazySizesConfig.loadMode = 2; 660 </script>
660 661
661<script 662 async 663 src="https://cdn11.bigcommerce.com/s-8zxb6tk/stencil/216f56b0-a0c6-013f-37ac-06627e5707c7/e/fa349870-8a84-013f-3c49-5e8f456a1dbe/dist/theme-bundle.head_async.js" 664 ></script>
664 665 666 <link href="https://fonts.googleapis.com/css?family=Roboto+Condensed:400,600%7COswald:400%7CBarlow:700%7CRoboto:700,900&display=swap" rel="stylesheet"> 667 668
668<script async src="https://cdn11.bigcommerce.com/s-8zxb6tk/stencil/216f56b0-a0c6-013f-37ac-06627e5707c7/e/fa349870-8a84-013f-3c49-5e8f456a1dbe/dist/theme-bundle.font.js"></script>
668 669 670 <link data-stencil-stylesheet href="https://cdn11.bigcommerce.com/s-8zxb6tk/stencil/216f56b0-a0c6-013f-37ac-06627e5707c7/e/fa349870-8a84-013f-3c49-5e8f456a1dbe/css/theme-2e6f8bb0-a0c6-013f-040e-0280335ba2c1.css" rel="stylesheet"> <!-- Start Tracking Code for analytics_siteverification --> 671 672<meta name="google-site-verification" content="hMeQwRU5wec8fJuWfsLq2x2wdnJb2tAN6v1BeNHa6kM" /> 673 674<!-- End Tracking Code for analytics_siteverification --> 675 676
677<script type="text/javascript" src="https://checkout-sdk.bigcommerce.com/v1/loader.js" defer ></script>
vendor: 1 bytes, line 677
677
678<script type="text/javascript"> 679var BCData = {}; 680</script>
vendor: 1 bytes, line 680
680
681<script src='https://sdk.helloextend.com/extend-sdk-client/v1/extend-sdk-client.min.js' ></script>
681<script src='https://sdk.helloextend.com/extend-sdk-client-bigcommerce-addon/v1/extend-sdk-client-bigcommerce-addon.min.js' ></script>
681<script> 682 Extend.config({ storeId: '7d25bc8c-caa8-4e5b-b0be-0c079d2e3018', environment: 'production' }) 683 </script>
683<script type="text/javascript" id="cookieinfo" 684 src="//cookieinfoscript.com/js/cookieinfo.min.js" 685 data-bg="#3D3B40" 686 data-fg="#FFFFFF" 687 data-link="#40A2E3" 688 data-divlinkbg="#40A2E3" 689 data-cookie="cookieconsent" 690 data-text-align="left" 691 data-mask=true 692 data-mask-background="#111111" 693 data-mask-opacity="0.8" 694 data-accept-on-scroll=true 695 data-linkmsg="Learn More" 696 data-moreinfo="/privacy-policy/" 697> 698</script>
698<script> 699window.dataLayer = window.dataLayer || []; 700</script>
700<script async> 701!function(s) { 702 var o = s.createElement('script'), u = s.getElementsByTagName('script')[0]; 703 o.src = 'https://cdn.aggle.net/oir/oir.min.js'; 704 o.async = !0, o.setAttribute('oirtyp', '6311ae17'), o.setAttribute('oirid', '92E4910F'); 705 u.parentNode.insertBefore(o, u); 706}(document); 707</script>
vendor: 1 bytes, line 707
707
708<script async> 709!function(e) { 710 var t = { }; 711 (e._oirtrk = e._oirtrk || []).push(['track', 'on-site', t]); 712}(window); 713</script>
713<script type="text/javascript"> 714!function(){var geq=window.geq=window.geq||[];if(geq.initialize) return;if (geq.invoked){if (window.console && console.error) {console.error("GE snippet included twice.");}return;}geq.invoked = true;geq.methods = ["page", "suppress", "track", "doNotTrack", "trackOrder", "identify", "addToCart", "callBack", "event"];geq.factory = function(method){return function(){var args = Array.prototype.slice.call(arguments);args.unshift(method);geq.push(args);return geq;};};for (var i = 0; i < geq.methods.length; i++) {var key = geq.methods[i];geq[key] = geq.factory(key);} geq.load = function(key){var script = document.createElement("script");script.type = "text/javascript";script.async = true; if (location.href.includes("vge=true")) {script.src = "https://s3-us-west-2.amazonaws.com/jsstore/a/" + key + "/ge.js?v=" + Math.random();} else {script.src = "https://s3-us-west-2.amazonaws.com/jsstore/a/" + key + "/ge.js";} var first = document.getElementsByTagName("script")[0];first.parentNode.insertBefore(script, first);};geq.SNIPPET_VERSION = "1.6.1"; 715geq.load("R18H31G9");}(); 716</script>
vendor: 1 bytes, line 716
716
717<script>geq.page()</script>
717<script type="text/javascript"> 718!function(){var geq=window.geq=window.geq||[];if(geq.initialize) return;if (geq.invoked){if (window.console && console.error) {console.error("GE snippet included twice.");}return;}geq.invoked = true;geq.methods = ["page", "suppress", "track", "doNotTrack", "trackOrder", "identify", "addToCart", "callBack", "event"];geq.factory = function(method){return function(){var args = Array.prototype.slice.call(arguments);args.unshift(method);geq.push(args);return geq;};};for (var i = 0; i < geq.methods.length; i++) {var key = geq.methods[i];geq[key] = geq.factory(key);} geq.load = function(key){var script = document.createElement("script");script.type = "text/javascript";script.async = true; if (location.href.includes("vge=true")) {script.src = "https://s3-us-west-2.amazonaws.com/jsstore/a/" + key + "/ge.js?v=" + Math.random();} else {script.src = "https://s3-us-west-2.amazonaws.com/jsstore/a/" + key + "/ge.js";} var first = document.getElementsByTagName("script")[0];first.parentNode.insertBefore(script, first);};geq.SNIPPET_VERSION = "1.6.1"; 719geq.load("R18H31G9");}(); 720</script>
vendor: 1 bytes, line 720
720
721<script>geq.suppress()</script>
721<script type="text/javascript"> 722 (function(c,l,a,r,i,t,y){ 723 c[a]=c[a]||function(){(c[a].q=c[a].q||[]).push(arguments)}; 724 t=l.createElement(r);t.async=1;t.src="https://www.clarity.ms/tag/"+i; 725 y=l.getElementsByTagName(r)[0];y.parentNode.insertBefore(t,y); 726 })(window, document, "clarity", "script", "vsucc8lxuu"); 727</script>
727<script> 728(function () { 729 'use strict'; 730 731 if (window.__TP_ATTRIBUTION_BRIDGE__ === 'bc-script') return; 732 window.__TP_ATTRIBUTION_BRIDGE__ = 'bc-script'; 733 window.__tpTrackingBridgeOwner = 'bc-script'; 734 735 var BASE_URL = 'https://attribution.threepiece.us'; 736 var VISITOR_COOKIE = 'tp_vid'; 737 var SESSION_KEY = 'tp_sid'; 738 var PAGE_COUNT_KEY = 'tp_pages_this_session'; 739 var COOKIE_DAYS_CLICK = 90; 740 var COOKIE_DAYS_UTM = 30; 741 742 window.dataLayer = window.dataLayer || []; 743 744 function encode(value) { 745 return encodeURIComponent(String(value)); 746 } 747 748 function decode(value) { 749 try { 750 return decodeURIComponent(value); 751 } catch (err) { 752 return value; 753 } 754 } 755 756 function getCookie(name) { 757 var match = document.cookie.match(new RegExp('(?:^|; )' + name + '=([^;]*)')); 758 return match ? decode(match[1]) : null; 759 } 760 761 function setCookie(name, value, days) { 762 var expires = new Date(Date.now() + days * 864e5).toUTCString(); 763 document.cookie = name + '=' + encode(value) + '; expires=' + expires + '; path=/; SameSite=Lax'; 764 } 765 766 function randomId(prefix) { 767 return prefix + Math.random().toString(36).slice(2, 10) + Date.now().toString(36); 768 } 769 770 function ensureVisitorId() { 771 var current = getCookie(VISITOR_COOKIE); 772 if (current) return current; 773 current = randomId('v_'); 774 setCookie(VISITOR_COOKIE, current, COOKIE_DAYS_CLICK); 775 return current; 776 } 777 778 function ensureSessionId() { 779 var current = sessionStorage.getItem(SESSION_KEY); 780 if (current) return current; 781 current = randomId('s_'); 782 sessionStorage.setItem(SESSION_KEY, current); 783 return current; 784 } 785 786 function getParam(name) { 787 var m = location.search.match(new RegExp('[?&]' + name + '=([^&#]*)')); 788 return m ? decodeURIComponent(m[1].replace(/\+/g, ' ')) : null; 789 } 790 791 function getGaClientId() { 792 var gaCookie = getCookie('_ga'); 793 if (!gaCookie) return null; 794 var parts = gaCookie.split('.'); 795 return parts.length >= 4 ? parts.slice(-2).join('.') : null; 796 } 797 798 function getGaSessionId() { 799 var cookies = document.cookie.split(';'); 800 for (var i = 0; i < cookies.length; i++) { 801 var pair = cookies[i].trim().split('='); 802 var key = pair[0] || ''; 803 if (key.indexOf('_ga_') !== 0) continue; 804 var value = decode(pair[1] || ''); 805 var pieces = value.split('.'); 806 if (pieces.length >= 3) return pieces[2] || null; 807 } 808 return null; 809 } 810 811 function getClickIds() { 812 var mapping = { 813 gclid: '_tp_gclid', 814 fbclid: '_tp_fbclid', 815 ttclid: '_tp_ttclid', 816 msclkid: '_tp_msclkid', 817 li_fat_id: '_tp_li_fat_id', 818 twclid: '_tp_twclid' 819 }; 820 var result = {}; 821 Object.keys(mapping).forEach(function (key) { 822 var value = getCookie(mapping[key]); 823 if (value) result[key] = value; 824 }); 825 return result; 826 } 827 828 function getUtmData() { 829 var keys = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_content', 'utm_term', 'utm_id']; 830 var result = {}; 831 keys.forEach(function (key) { 832 var value = getCookie('_tp_' + key); 833 if (value) result[key] = value; 834 }); 835 return result; 836 } 837 838 function getPlatformIds() { 839 return { 840 fbp: getCookie('_fbp'), 841 fbc: getCookie('_fbc'), 842 ga_client_id: getGaClientId(), 843 ga_session_id: getGaSessionId() 844 }; 845 } 846 847 function getPageType() { 848 if (window.BCData && BCData.page_type) return BCData.page_type; 849 if (window.page_type) return window.page_type; 850 if (location.pathname.indexOf('/checkout') === 0) return 'checkout'; 851 return 'storefront'; 852 } 853 854 function getSnapshot() { 855 return { 856 visitor_id: ensureVisitorId(), 857 session_id: ensureSessionId(), 858 click_ids: getClickIds(), 859 utm_data: getUtmData(), 860 platform_ids: getPlatformIds(), 861 page_type: getPageType(), 862 page_location: location.href, 863 page_path: location.pathname, 864 referrer: document.referrer || null, 865 timestamp: new Date().toISOString() 866 }; 867 } 868 869 function buildEventMeta(eventName, overrides) { 870 var snapshot = getSnapshot(); 871 var custom = overrides || {}; 872 return { 873 event_id: custom.event_id || (eventName + ':' + Date.now() + ':' + Math.random().toString(36).slice(2, 8)), 874 event_time: custom.event_time || snapshot.timestamp, 875 page_type: custom.page_type || snapshot.page_type, 876 page_location: custom.page_location || snapshot.page_location, 877 page_path: custom.page_path || snapshot.page_path, 878 visitor_id: custom.visitor_id || snapshot.visitor_id, 879 session_id: custom.session_id || snapshot.session_id, 880 source: custom.source || 'bc-script' 881 }; 882 } 883 884 function postJSON(path, payload) { 885 var url = BASE_URL + path; 886 var body = JSON.stringify(payload); 887 888 if (navigator.sendBeacon) { 889 var blob = new Blob([body], { type: 'application/json' }); 890 if (navigator.sendBeacon(url, blob)) return true; 891 } 892 893 if (window.fetch) { 894 window.fetch(url, { 895 method: 'POST', 896 headers: { 'Content-Type': 'application/json' }, 897 body: body, 898 credentials: 'include', 899 keepalive: true 900 }).catch(function () {}); 901 return true; 902 } 903 904 return false;
905 } 906 907 function identify(userData, source) { 908 if (!userData || (!userData.email && !userData.phone_number && !userData.external_id)) return; 909 postJSON('/v1/identify', { 910 event_meta: buildEventMeta('identify', { source: source || 'bc-script:identify' }), 911 user_data: userData, 912 attribution: getSnapshot() 913 }); 914 } 915 916 function pushEvent(eventName, payload) { 917 var snapshot = getSnapshot(); 918 var safePayload = payload || {}; 919 var eventPayload = { 920 event: eventName, 921 event_meta: buildEventMeta(eventName, safePayload.event_meta), 922 click_ids: snapshot.click_ids, 923 utm_data: snapshot.utm_data, 924 platform_ids: snapshot.platform_ids, 925 user_data: safePayload.user_data || null, 926 ecommerce: safePayload.ecommerce || null, 927 extra: safePayload.extra || null 928 }; 929 930 if (safePayload.ecommerce) { 931 window.dataLayer.push({ ecommerce: null }); 932 } 933 window.dataLayer.push(eventPayload); 934 return eventPayload; 935 } 936 937 window.__tpTracking = { 938 getCookie: getCookie,
939 setCookie: setCookie, 940 ensureVisitorId: ensureVisitorId, 941 ensureSessionId: ensureSessionId, 942 getAttributionSnapshot: getSnapshot, 943 buildEventMeta: buildEventMeta, 944 postJSON: postJSON, 945 pushEvent: pushEvent, 946 identify: identify 947 }; 948 949 var clickIdDefs = [ 950 { param: 'gclid', cookie: '_tp_gclid', days: COOKIE_DAYS_CLICK }, 951 { param: 'fbclid', cookie: '_tp_fbclid', days: COOKIE_DAYS_CLICK }, 952 { param: 'ttclid', cookie: '_tp_ttclid', days: COOKIE_DAYS_CLICK }, 953 { param: 'msclkid', cookie: '_tp_msclkid', days: COOKIE_DAYS_CLICK }, 954 { param: 'li_fat_id', cookie: '_tp_li_fat_id', days: COOKIE_DAYS_CLICK }, 955 { param: 'twclid', cookie: '_tp_twclid', days: COOKIE_DAYS_CLICK } 956 ]; 957 var utmDefs = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_content', 'utm_term', 'utm_id']; 958 var clickIds = {}; 959 var utmData = {}; 960 var freshClickFound = false; 961 var emailFromUrl = getParam('email') || getParam('_ke') || getCookie('_tp_email_from_url') || ''; 962 var maxScroll = 0; 963 var pageCount = parseInt(sessionStorage.getItem(PAGE_COUNT_KEY) || '0', 10) + 1; 964 965 sessionStorage.setItem(PAGE_COUNT_KEY, String(pageCount)); 966 ensureVisitorId(); 967 ensureSessionId(); 968 969 clickIdDefs.forEach(function (def) { 970 var fresh = getParam(def.param); 971 if (fresh) { 972 setCookie(def.cookie, fresh, def.days); 973 clickIds[def.param] = fresh; 974 freshClickFound = true; 975 } else { 976 var stored = getCookie(def.cookie); 977 if (stored) clickIds[def.param] = stored; 978 } 979 }); 980 981 utmDefs.forEach(function (key) { 982 var fresh = getParam(key); 983 if (fresh) { 984 setCookie('_tp_' + key, fresh, COOKIE_DAYS_UTM); 985 utmData[key] = fresh; 986 } else { 987 var stored = getCookie('_tp_' + key); 988 if (stored) utmData[key] = stored; 989 } 990 }); 991 992 if (emailFromUrl) { 993 setCookie('_tp_email_from_url', emailFromUrl, COOKIE_DAYS_CLICK); 994 } 995 996 pushEvent('tracking_context', { 997 event_meta: { source: 'bc-script:tracking-context' }, 998 extra: { email_from_url: emailFromUrl || null } 999 }); 1000 1001 if (freshClickFound || emailFromUrl) { 1002 postJSON('/v1/click-ids', { 1003 click_ids: clickIds, 1004 utm_data: utmData, 1005 email_from_url: emailFromUrl || null, 1006 page_url: location.href, 1007 referrer: document.referrer || null, 1008 timestamp: new Date().toISOString() 1009 }); 1010 } 1011 1012 function updateScroll() { 1013 var scrollTop = window.pageYOffset || document.documentElement.scrollTop; 1014 var docHeight = Math.max( 1015 document.body.scrollHeight, 1016 document.documentElement.scrollHeight 1017 ) - window.innerHeight; 1018 if (docHeight <= 0) return; 1019 var percent = Math.round((scrollTop / docHeight) * 100); 1020 if (percent > maxScroll) maxScroll = percent; 1021 } 1022 1023 function trackVisit() { 1024 var snapshot = getSnapshot(); 1025 postJSON('/v1/visits', { 1026 event_meta: buildEventMeta('page_visit', { source: 'bc-script:visit' }), 1027 page: { 1028 location: snapshot.page_location, 1029 path: snapshot.page_path, 1030 referrer: snapshot.referrer, 1031 page_type: snapshot.page_type 1032 }, 1033 attribution: snapshot, 1034 visit_metrics: { 1035 pages_this_session: pageCount, 1036 scroll_depth: maxScroll, 1037 screen_resolution: screen.width + 'x' + screen.height, 1038 timezone: Intl.DateTimeFormat().resolvedOptions().timeZone, 1039 user_agent: navigator.userAgent 1040 } 1041 }); 1042 } 1043 1044 var originalPush = window.dataLayer.push; 1045 window.dataLayer.push = function () { 1046 for (var i = 0; i < arguments.length; i++) { 1047 var entry = arguments[i]; 1048 if (entry && entry.user_data) { 1049 identify(entry.user_data, 'bc-script:data-layer'); 1050 } 1051 } 1052 return originalPush.apply(window.dataLayer, arguments); 1053 }; 1054 1055 for (var i = window.dataLayer.length - 1; i >= 0; i--) { 1056 var existing = window.dataLayer[i]; 1057 if (existing && existing.user_data) { 1058 identify(existing.user_data, 'bc-script:existing-data-layer'); 1059 break; 1060 } 1061 } 1062 1063 window.addEventListener('scroll', updateScroll, { passive: true }); 1064 1065 if (document.readyState === 'complete') { 1066 setTimeout(trackVisit, 1500); 1067 } else { 1068 window.addEventListener('load', function () { 1069 setTimeout(trackVisit, 1500); 1070 }); 1071 } 1072})(); 1073</script>
vendor: 1 bytes, line 1073
1073
1074<script type="text/javascript"> 1075!function(){var geq=window.geq=window.geq||[];if(geq.initialize) return;if (geq.invoked){if (window.console && console.error) {console.error("GE snippet included twice.");}return;}geq.invoked = true;geq.methods = ["page", "suppress", "track", "doNotTrack", "trackOrder", "identify", "addToCart", "callBack", "event"];geq.factory = function(method){return function(){var args = Array.prototype.slice.call(arguments);args.unshift(method);geq.push(args);return geq;};};for (var i = 0; i < geq.methods.length; i++) {var key = geq.methods[i];geq[key] = geq.factory(key);} geq.load = function(key){var script = document.createElement("script");script.type = "text/javascript";script.async = true; if (location.href.includes("vge=true")) {script.src = "https://s3-us-west-2.amazonaws.com/jsstore/a/" + key + "/ge.js?v=" + Math.random();} else {script.src = "https://s3-us-west-2.amazonaws.com/jsstore/a/" + key + "/ge.js";} var first = document.getElementsByTagName("script")[0];first.parentNode.insertBefore(script, first);};geq.SNIPPET_VERSION = "1.6.1"; 1076geq.load("R18H31G9");}(); 1077</script>
1077<script> 1078/* TP chat opt-in take-over (2026-09-28, email rebuild item 9, Jake-approved). 1079 Tells the old control-panel chat script to stand down, so the opt-in version 1080 ("TP Live Chat Opt-in v2", footer) is the only chat that renders. 1081 Undo: disable BOTH this script and the footer one; the old chat returns by itself. */ 1082window.__TP_LIVE_CHAT_LOADED__ = 'optin-v2'; 1083</script>
vendor: 1 bytes, line 1083
1083
1084<script> 1085/* TP Klaviyo tracking repair (2026-09-28, email rebuild item 5, Jake-approved). 1086 The control-panel Klaviyo snippets send "Viewed Product" on every page (blank 1087 off product pages) and send the Add-to-Cart button instead of the product. 1088 This sits in front of window._learnq.push: 1089 - ['track','Viewed Product',x] / ['trackViewedItem',x] with no product id: dropped 1090 - ['track','Added to Cart',<not a product>]: rebuilt from window.item, or dropped 1091 when the page has no product 1092 - everything else passes through untouched, return value included. 1093 Keeps working when Klaviyo's script takes over _learnq or its push. 1094 Undo: disable this script. */ 1095(function () { 1096 'use strict'; 1097 var W = window, DROP = {}; 1098 if (W.__TP_KL_FILTER__) return; 1099 W.__TP_KL_FILTER__ = '2026-09-28'; 1100 function s(v) { return v == null ? '' : String(v).replace(/^\s+|\s+$/g, ''); } 1101 function isObj(v) { return !!v && typeof v === 'object' && typeof v.nodeType !== 'number'; } 1102 function isArr(v) { return Object.prototype.toString.call(v) === '[object Array]'; } 1103 function cartItem() { 1104 var it = W.item; 1105 if (!isObj(it) || !s(it.ProductID)) return null; 1106 return { Name: it.Name, ProductID: it.ProductID, URL: it.URL, ImageURL: it.ImageURL, 1107 Brand: it.Brand, Categories: it.Categories, Price: it.Price, $value: parseFloat(it.Price) || 0 }; 1108 } 1109 function fix(a) { 1110 try { 1111 if (!isArr(a)) return a; 1112 if (a[0] === 'trackViewedItem') return isObj(a[1]) && s(a[1].ItemId) ? a : DROP; 1113 if (a[0] !== 'track') return a; 1114 if (a[1] === 'Viewed Product') return isObj(a[2]) && s(a[2].ProductID) ? a : DROP; 1115 if (a[1] === 'Added to Cart') { 1116 if (isObj(a[2]) && s(a[2].ProductID)) return a; 1117 var c = cartItem(), b; 1118 if (!c) return DROP; 1119 b = a.slice(); b[2] = c; 1120 return b; 1121 } 1122 } catch (e) {} 1123 return a; 1124 } 1125 function wrap(q) { 1126 if (!q || typeof q !== 'object' || q.__tpKlWrapped) return q; 1127 var inner = q.push; 1128 function push() { 1129 var out = [], i, r; 1130 for (i = 0; i < arguments.length; i++) { r = fix(arguments[i]); if (r !== DROP) out.push(r); } 1131 if (!out.length) return undefined; 1132 return (typeof inner === 'function' ? inner : Array.prototype.push).apply(q, out); 1133 } 1134 try { 1135 Object.defineProperty(q, 'push', { configurable: true, enumerable: false, 1136 get: function () { return push; }, set: function (f) { inner = f; } }); 1137 Object.defineProperty(q, '__tpKlWrapped', { value: true }); 1138 } catch (e) {} 1139 return q; 1140 } 1141 var cur = wrap(W._learnq || []); 1142 try { 1143 Object.defineProperty(W, '_learnq', { configurable: true, enumerable: true, 1144 get: function () { return cur; }, set: function (v) { cur = wrap(v); } }); 1145 } catch (e) { W._learnq = cur; } 1146})(); 1147</script>
1147 1148 1149
1149<script data-cfasync="false" src="https://microapps.bigcommerce.com/bodl-events/1.9.4/index.js" integrity="sha256-Y0tDj1qsyiKBRibKllwV0ZJ1aFlGYaHHGl/oUFoXJ7Y=" nonce="" crossorigin="anonymous"></script>
1149 1150
1150<script data-cfasync="false" nonce=""> 1151 1152 (function() { 1153 function decodeBase64(base64) { 1154 const text = atob(base64); 1155 const length = text.length; 1156 const bytes = new Uint8Array(length); 1157 for (let i = 0; i < length; i++) { 1158 bytes[i] = text.charCodeAt(i); 1159 } 1160 const decoder = new TextDecoder(); 1161 return decoder.decode(bytes); 1162 } 1163 window.bodl = JSON.parse(decodeBase64("eyJzZXNzaW9uIjp7ImlkIjoiMDdiNGIwYmEtZDVhNS00ZGJjLWEyZTItZmY1ZmZlODI2ZWRlIiwiZmlyc3RfdG91Y2hfdGltZXN0YW1wIjoiMjAyNi0xMC0wNFQwNDowOToyNCIsImZpcnN0X3RvdWNoX3JlZmVycmFsX3VybCI6IiIsImZpcnN0X3RvdWNoX3JlcXVlc3RfdXJsIjoiaHR0cHM6Ly93d3cudGhyZWVwaWVjZS51cy9zaG9wLyJ9LCJzaG9wcGVyIjp7InZpc2l0b3JfaWQiOiIiLCJjdXN0b21lcl9pZCI6bnVsbCwiZW1haWwiOm51bGwsImZpcnN0X25hbWUiOm51bGwsImxhc3RfbmFtZSI6bnVsbH0sImRhdGFfY29uc2VudCI6eyJmdW5jdGlvbmFsIjp0cnVlLCJhbmFseXRpY3MiOnRydWUsImFkdmVydGlzaW5nIjp0cnVlfSwiZXZlbnRzIjpbeyJib2RsX3YxX3Byb2R1Y3RfY2F0ZWdvcnlfdmlld2VkIjp7ImV2ZW50X2lkIjoiMDFkNDk4YTAtZTRhOC00NjY3LTkzZWQtN2UyOTdmZDcxYTFiIiwiY2hhbm5lbF9pZCI6MSwiY2F0ZWdvcnlfaWQiOjczMzcsImNhdGVnb3J5X25hbWUiOiJTaG9wIiwibGluZV9pdGVtcyI6W3sicHJvZHVjdF9pZCI6Ijc4NTc0OCIsInNrdSI6IlZSMDcxNTgwOEgwQksiLCJ2YXJpYW50X2lkIjpudWxsLCJwcm9kdWN0X25hbWUiOiJWb3JzIFZSNyA0eDEwMC80eDExNC4zIDE1eDggICswIEFsbCBCbGFjayBHb2xkIFJpdmV0IiwiZ2lmdF9jZXJ0aWZpY2F0ZV9pZCI6bnVsbCwiZ2lmdF9jZXJ0aWZpY2F0ZV9uYW1lIjpudWxsLCJnaWZ0X2NlcnRpZmljYXRlX3RoZW1lIjpudWxsLCJwdXJjaGFzZV9wcmljZSI6MTY1LjAsInNhbGVfcHJpY2UiOm51bGwsImJhc2VfcHJpY2UiOm51bGwsInJldGFpbF9wcmljZSI6bnVsbCwicXVhbnRpdHkiOjYwLCJkaXNjb3VudCI6bnVsbCwiY291cG9uX2Ftb3VudCI6bnVsbCwiaW5kZXgiOjAsImJyYW5kX25hbWUiOiJWb3JzIiwiY2F0ZWdvcnlfbmFtZXMiOlsiU2hvcCJdLCJjdXJyZW5jeSI6IlVTRCJ9LHsicHJvZHVjdF9pZCI6Ijc4NTY2NyIsInNrdSI6IlZSMDIxNTgwNDAwMjBTIiwidmFyaWFudF9pZCI6bnVsbCwicHJvZHVjdF9uYW1lIjoiVm9ycyBWUjIgNHgxMDAgMTV4OCAgKzIwIFNpbHZlciBNYWNoaW5lIEZhY2UgTGlwIENocm9tZSBSaXZldCIsImdpZnRfY2VydGlmaWNhdGVfaWQiOm51bGwsImdpZnRfY2VydGlmaWNhdGVfbmFtZSI6bnVsbCwiZ2lmdF9jZXJ0aWZpY2F0ZV90aGVtZSI6bnVsbCwicHVyY2hhc2VfcHJpY2UiOjE2NS4wLCJzYWxlX3ByaWNlIjpudWxsLCJiYXNlX3ByaWNlIjpudWxsLCJyZXRhaWxfcHJpY2UiOm51bGwsInF1YW50aXR5IjozMywiZGlzY291bnQiOm51bGwsImNvdXBvbl9hbW91bnQiOm51bGwsImluZGV4IjoxLCJicmFuZF9uYW1lIjoiVm9ycyIsImNhdGVnb3J5X25hbWVzIjpbIlNob3AiXSwiY3VycmVuY3kiOiJVU0QifSx7InByb2R1Y3RfaWQiOiI3ODUyNzgiLCJza3UiOiJUUjA0MTk5NTUxNDIySEItNTEyIiwidmFyaWFudF9pZCI6bnVsbCwicHJvZHVjdF9uYW1lIjoiVm9ycyBUUjQgNXgxMTIgMTl4OS41ICArMjIgSHlwZXIgQmxhY2siLCJnaWZ0X2NlcnRpZmljYXRlX2lkIjpudWxsLCJnaWZ0X2NlcnRpZmljYXRlX25hbWUiOm51bGwsImdpZnRfY2VydGlmaWNhdGVfdGhlbWUiOm51bGwsInB1cmNoYXNlX3ByaWNlIjoyODguNTUsInNhbGVfcHJpY2UiOjI4OC41NSwiYmFzZV9wcmljZSI6MjkwLjAsInJldGFpbF9wcmljZSI6bnVsbCwicXVhbnRpdHkiOjYwLCJkaXNjb3VudCI6bnVsbCwiY291cG9uX2Ftb3VudCI6bnVsbCwiaW5kZXgiOjIsImJyYW5kX25hbWUiOiJWb3JzIiwiY2F0ZWdvcnlfbmFtZXMiOlsiU2hvcCJdLCJjdXJyZW5jeSI6IlVTRCJ9LHsicHJvZHVjdF9pZCI6Ijc4NTIxNSIsInNrdSI6IlRSMDQxODk1NTE0MzVXIiwidmFyaWFudF9pZCI6bnVsbCwicHJvZHVjdF9uYW1lIjoiVm9ycyBUUjQgNXgxMTQuMyAxOHg5LjUgICszNSBXaGl0ZSIsImdpZnRfY2VydGlmaWNhdGVfaWQiOm51bGwsImdpZnRfY2VydGlmaWNhdGVfbmFtZSI6bnVsbCwiZ2lmdF9jZXJ0aWZpY2F0ZV90aGVtZSI6bnVsbCwicHVyY2hhc2VfcHJpY2UiOjIzNS4wLCJzYWxlX3ByaWNlIjpudWxsLCJiYXNlX3ByaWNlIjpudWxsLCJyZXRhaWxfcHJpY2UiOm51bGwsInF1YW50aXR5Ijo2MCwiZGlzY291bnQiOm51bGwsImNvdXBvbl9hbW91bnQiOm51bGwsImluZGV4IjozLCJicmFuZF9uYW1lIjoiVm9ycyIsImNhdGVnb3J5X25hbWVzIjpbIlNob3AiXSwiY3VycmVuY3kiOiJVU0QifSx7InByb2R1Y3RfaWQiOiI3ODUxNTkiLCJza3UiOiJUUjA0MTg4NTUxNDM1VyIsInZhcmlhbnRfaWQiOm51bGwsInByb2R1Y3RfbmFtZSI6IlZvcnMgVFI0IDV4MTE0LjMgMTh4OC41ICArMzUgV2hpdGUiLCJnaWZ0X2NlcnRpZmljYXRlX2lkIjpudWxsLCJnaWZ0X2NlcnRpZmljYXRlX25hbWUiOm51bGwsImdpZnRfY2VydGlmaWNhdGVfdGhlbWUiOm51bGwsInB1cmNoYXNlX3ByaWNlIjoyNjMuNjgsInNhbGVfcHJpY2UiOm51bGwsImJhc2VfcHJpY2UiOm51bGwsInJldGFpbF9wcmljZSI6bnVsbCwicXVhbnRpdHkiOjYwLCJkaXNjb3VudCI6bnVsbCwiY291cG9uX2Ftb3VudCI6bnVsbCwiaW5kZXgiOjQsImJyYW5kX25hbWUiOiJWb3JzIiwiY2F0ZWdvcnlfbmFtZXMiOlsiU2hvcCJdLCJjdXJyZW5jeSI6IlVTRCJ9LHsicHJvZHVjdF9pZCI6Ijc1NjM3MyIsInNrdSI6IkRTMjE5MTE1MTE0MjJWVyIsInZhcmlhbnRfaWQiOm51bGwsInByb2R1Y3RfbmFtZSI6IkFvZGhhbiBEUzAyIDV4MTE0LjMgMTl4MTErMjIgVmFjdXVtIENocm9tZSIsImdpZnRfY2VydGlmaWNhdGVfaWQiOm51bGwsImdpZnRfY2VydGlmaWNhdGVfbmFtZSI6bnVsbCwiZ2lmdF9jZXJ0aWZpY2F0ZV90aGVtZSI6bnVsbCwicHVyY2hhc2VfcHJpY2UiOjMzNy4yNSwic2FsZV9wcmljZSI6bnVsbCwiYmFzZV9wcmljZSI6bnVsbCwicmV0YWlsX3ByaWNlIjpudWxsLCJxdWFudGl0eSI6NjQsImRpc2NvdW50IjpudWxsLCJjb3Vwb25fYW1vdW50IjpudWxsLCJpbmRleCI6NSwiYnJhbmRfbmFtZSI6IkFvZGhhbiIsImNhdGVnb3J5X25hbWVzIjpbIlNob3AiXSwiY3VycmVuY3kiOiJVU0QifSx7InByb2R1Y3RfaWQiOiI3NTYzMTciLCJza3UiOiJEUzIxODg1NTExNDM1SEIiLCJ2YXJpYW50X2lkIjpudWxsLCJwcm9kdWN0X25hbWUiOiJBb2RoYW4gRFMwMiA1eDExNC4zIDE4eDguNSszNSBIeXBlciBCbGFjayIsImdpZnRfY2VydGlmaWNhdGVfaWQiOm51bGwsImdpZnRfY2VydGlmaWNhdGVfbmFtZSI6bnVsbCwiZ2lmdF9jZXJ0aWZpY2F0ZV90aGVtZSI6bnVsbCwicHVyY2hhc2VfcHJpY2UiOjI0OC41LCJzYWxlX3ByaWNlIjoyNDguNSwiYmFzZV9wcmljZSI6MjQ5Ljc1LCJyZXRhaWxfcHJpY2UiOjI0OS43NSwicXVhbnRpdHkiOjE2LCJkaXNjb3VudCI6MS4yNSwiY291cG9uX2Ftb3VudCI6bnVsbCwiaW5kZXgiOjYsImJyYW5kX25hbWUiOiJBb2RoYW4iLCJjYXRlZ29yeV9uYW1lcyI6WyJTaG9wIl0sImN1cnJlbmN5IjoiVVNEIn0seyJwcm9kdWN0X2lkIjoiMTExOTY4NiIsInNrdSI6IkJVU0hJRE9NNTEyMDE4OTUxMkNIUiIsInZhcmlhbnRfaWQiOm51bGwsInByb2R1Y3RfbmFtZSI6IkhFUklUQUdFIFdIRUVMIEJVU0hJRE8gTU9OT0MgNXgxMjAgMTh4OS41ICsxMiBDSFJPTUUiLCJnaWZ0X2NlcnRpZmljYXRlX2lkIjpudWxsLCJnaWZ0X2NlcnRpZmljYXRlX25hbW
1163UiOm51bGwsImdpZnRfY2VydGlmaWNhdGVfdGhlbWUiOm51bGwsInB1cmNoYXNlX3ByaWNlIjozOTkuMCwic2FsZV9wcmljZSI6bnVsbCwiYmFzZV9wcmljZSI6bnVsbCwicmV0YWlsX3ByaWNlIjpudWxsLCJxdWFudGl0eSI6MjYsImRpc2NvdW50IjpudWxsLCJjb3Vwb25fYW1vdW50IjpudWxsLCJpbmRleCI6NywiYnJhbmRfbmFtZSI6Ikhlcml0YWdlIFdoZWVsIiwiY2F0ZWdvcnlfbmFtZXMiOlsiU2hvcCJdLCJjdXJyZW5jeSI6IlVTRCJ9LHsicHJvZHVjdF9pZCI6IjExMTk2ODQiLCJza3UiOiJCVVNISURPTTUxMjAxODk1MzhDSFIiLCJ2YXJpYW50X2lkIjpudWxsLCJwcm9kdWN0X25hbWUiOiJIRVJJVEFHRSBXSEVFTCBCVVNISURPIE1PTk9DIDV4MTIwIDE4eDkuNSArMzggQ0hST01FIiwiZ2lmdF9jZXJ0aWZpY2F0ZV9pZCI6bnVsbCwiZ2lmdF9jZXJ0aWZpY2F0ZV9uYW1lIjpudWxsLCJnaWZ0X2NlcnRpZmljYXRlX3RoZW1lIjpudWxsLCJwdXJjaGFzZV9wcmljZSI6Mzk5LjAsInNhbGVfcHJpY2UiOm51bGwsImJhc2VfcHJpY2UiOm51bGwsInJldGFpbF9wcmljZSI6bnVsbCwicXVhbnRpdHkiOjIsImRpc2NvdW50IjpudWxsLCJjb3Vwb25fYW1vdW50IjpudWxsLCJpbmRleCI6OCwiYnJhbmRfbmFtZSI6Ikhlcml0YWdlIFdoZWVsIiwiY2F0ZWdvcnlfbmFtZXMiOlsiU2hvcCJdLCJjdXJyZW5jeSI6IlVTRCJ9LHsicHJvZHVjdF9pZCI6IjExMTk2ODAiLCJza3UiOiJCVVNISURPTTUxMTUxODk1MTJDSFIiLCJ2YXJpYW50X2lkIjpudWxsLCJwcm9kdWN0X25hbWUiOiJIRVJJVEFHRSBXSEVFTCBCVVNISURPIE1PTk9DIDV4MTE1IDE4eDkuNSArMTIgQ0hST01FIiwiZ2lmdF9jZXJ0aWZpY2F0ZV9pZCI6bnVsbCwiZ2lmdF9jZXJ0aWZpY2F0ZV9uYW1lIjpudWxsLCJnaWZ0X2NlcnRpZmljYXRlX3RoZW1lIjpudWxsLCJwdXJjaGFzZV9wcmljZSI6Mzk5LjAsInNhbGVfcHJpY2UiOm51bGwsImJhc2VfcHJpY2UiOm51bGwsInJldGFpbF9wcmljZSI6bnVsbCwicXVhbnRpdHkiOjI2LCJkaXNjb3VudCI6bnVsbCwiY291cG9uX2Ftb3VudCI6bnVsbCwiaW5kZXgiOjksImJyYW5kX25hbWUiOiJIZXJpdGFnZSBXaGVlbCIsImNhdGVnb3J5X25hbWVzIjpbIlNob3AiXSwiY3VycmVuY3kiOiJVU0QifSx7InByb2R1Y3RfaWQiOiIxMTE5Njc4Iiwic2t1IjoiQlVTSElET001MTE1MTg5NTM4Q0hSIiwidmFyaWFudF9pZCI6bnVsbCwicHJvZHVjdF9uYW1lIjoiSEVSSVRBR0UgV0hFRUwgQlVTSElETyBNT05PQyA1eDExNSAxOHg5LjUgKzM4IENIUk9NRSIsImdpZnRfY2VydGlmaWNhdGVfaWQiOm51bGwsImdpZnRfY2VydGlmaWNhdGVfbmFtZSI6bnVsbCwiZ2lmdF9jZXJ0aWZpY2F0ZV90aGVtZSI6bnVsbCwicHVyY2hhc2VfcHJpY2UiOjM5OS4wLCJzYWxlX3ByaWNlIjpudWxsLCJiYXNlX3ByaWNlIjpudWxsLCJyZXRhaWxfcHJpY2UiOm51bGwsInF1YW50aXR5IjoyLCJkaXNjb3VudCI6bnVsbCwiY291cG9uX2Ftb3VudCI6bnVsbCwiaW5kZXgiOjEwLCJicmFuZF9uYW1lIjoiSGVyaXRhZ2UgV2hlZWwiLCJjYXRlZ29yeV9uYW1lcyI6WyJTaG9wIl0sImN1cnJlbmN5IjoiVVNEIn0seyJwcm9kdWN0X2lkIjoiMTExOTY3NCIsInNrdSI6IkJVU0hJRE9NNTExMjE4OTUxMkNIUiIsInZhcmlhbnRfaWQiOm51bGwsInByb2R1Y3RfbmFtZSI6IkhFUklUQUdFIFdIRUVMIEJVU0hJRE8gTU9OT0MgNXgxMTIgMTh4OS41ICsxMiBDSFJPTUUiLCJnaWZ0X2NlcnRpZmljYXRlX2lkIjpudWxsLCJnaWZ0X2NlcnRpZmljYXRlX25hbWUiOm51bGwsImdpZnRfY2VydGlmaWNhdGVfdGhlbWUiOm51bGwsInB1cmNoYXNlX3ByaWNlIjozOTkuMCwic2FsZV9wcmljZSI6bnVsbCwiYmFzZV9wcmljZSI6bnVsbCwicmV0YWlsX3ByaWNlIjpudWxsLCJxdWFudGl0eSI6MjYsImRpc2NvdW50IjpudWxsLCJjb3Vwb25fYW1vdW50IjpudWxsLCJpbmRleCI6MTEsImJyYW5kX25hbWUiOiJIZXJpdGFnZSBXaGVlbCIsImNhdGVnb3J5X25hbWVzIjpbIlNob3AiXSwiY3VycmVuY3kiOiJVU0QifSx7InByb2R1Y3RfaWQiOiIxMTE5NjcyIiwic2t1IjoiQlVTSElET001MTEyMTg5NTM4Q0hSIiwidmFyaWFudF9pZCI6bnVsbCwicHJvZHVjdF9uYW1lIjoiSEVSSVRBR0UgV0hFRUwgQlVTSElETyBNT05PQyA1eDExMiAxOHg5LjUgKzM4IENIUk9NRSIsImdpZnRfY2VydGlmaWNhdGVfaWQiOm51bGwsImdpZnRfY2VydGlmaWNhdGVfbmFtZSI6bnVsbCwiZ2lmdF9jZXJ0aWZpY2F0ZV90aGVtZSI6bnVsbCwicHVyY2hhc2VfcHJpY2UiOjM5OS4wLCJzYWxlX3ByaWNlIjpudWxsLCJiYXNlX3ByaWNlIjpudWxsLCJyZXRhaWxfcHJpY2UiOm51bGwsInF1YW50aXR5IjoyLCJkaXNjb3VudCI6bnVsbCwiY291cG9uX2Ftb3VudCI6bnVsbCwiaW5kZXgiOjEyLCJicmFuZF9uYW1lIjoiSGVyaXRhZ2UgV2hlZWwiLCJjYXRlZ29yeV9uYW1lcyI6WyJTaG9wIl0sImN1cnJlbmN5IjoiVVNEIn0seyJwcm9kdWN0X2lkIjoiMTExOTY2OCIsInNrdSI6IkJVU0hJRE9NNTExMDE4OTUxMkNIUiIsInZhcmlhbnRfaWQiOm51bGwsInByb2R1Y3RfbmFtZSI6IkhFUklUQUdFIFdIRUVMIEJVU0hJRE8gTU9OT0MgNXgxMTAgMTh4OS41ICsxMiBDSFJPTUUiLCJnaWZ0X2NlcnRpZmljYXRlX2lkIjpudWxsLCJnaWZ0X2NlcnRpZmljYXRlX25hbWUiOm51bGwsImdpZnRfY2VydGlmaWNhdGVfdGhlbWUiOm51bGwsInB1cmNoYXNlX3ByaWNlIjozOTkuMCwic2FsZV9wcmljZSI6bnVsbCwiYmFzZV9wcmljZSI6bnVsbCwicmV0YWlsX3ByaWNlIjpudWxsLCJxdWFudGl0eSI6MjYsImRpc2NvdW50IjpudWxsLCJjb3Vwb25fYW1vdW50IjpudWxsLCJpbmRleCI6MTMsImJyYW5kX25hbWUiOiJIZXJpdGFnZSBXaGVlbCIsImNhdGVnb3J5X25hbWVzIjpbIlNob3AiXSwiY3VycmVuY3kiOiJVU0QifSx7InByb2R1Y3RfaWQiOiIxMTE5NjY2Iiwic2t1IjoiQlVTSElET001MTEwMTg5NTM4Q0hSIiwidmFyaWFudF9pZCI6bnVsbCwicHJvZHVjdF9uYW1lIjoiSEVSSVRBR0UgV0hFRUwgQlVTSElETyBNT05PQyA1eDExMCAxOHg5LjUgKzM4IENIUk9NRSIsImdpZnRfY2VydGlmaWNhdGVfaWQiOm51bGwsImdpZnRfY2VydGlmaWNhdGVfbmFtZSI6bnVsbCwiZ2lmdF9jZXJ0aWZpY2F0ZV90aGVtZSI6bnVsbCwicHVyY2hhc2VfcHJpY2UiOjM5OS4wLCJzYWxlX3ByaWNlIjpudWxsLCJiYXNlX3ByaWNlIjpudWxsLCJyZXRhaWxfcHJpY2UiOm51bGwsInF1YW50aXR5IjoyLCJkaXNjb3VudCI6bnVsbCwiY291cG9uX2Ftb3VudCI6bnVsbCwiaW5kZXgiOjE0LCJicmFuZF9uYW1lIjoiSGVyaXRhZ2UgV2hlZWwiLCJjYXRlZ29yeV9uYW1lcyI6WyJTaG9wIl0sImN1cnJlbmN5IjoiVVNEIn0seyJwcm9kdWN0X2lkIjoiMTExOTY2MiIsInNrdSI6IkJVU0hJRE9NNTEwODE4OTUxMkNIUiIsInZhcmlhbnRfaWQiOm51bGwsInByb2R1Y3RfbmFtZSI6IkhFUklUQUdFIFdIRUVMIEJVU0hJRE8gTU9OT0MgNXgxMDggMTh4OS41ICsxMiBDSFJPTUUiLCJnaWZ0X2NlcnRpZmljYXRlX2lkIjpudWxsLCJnaWZ0X2NlcnRpZmljYXRlX25hbW
1163UiOm51bGwsImdpZnRfY2VydGlmaWNhdGVfdGhlbWUiOm51bGwsInB1cmNoYXNlX3ByaWNlIjozOTkuMCwic2FsZV9wcmljZSI6bnVsbCwiYmFzZV9wcmljZSI6bnVsbCwicmV0YWlsX3ByaWNlIjpudWxsLCJxdWFudGl0eSI6MjYsImRpc2NvdW50IjpudWxsLCJjb3Vwb25fYW1vdW50IjpudWxsLCJpbmRleCI6MTUsImJyYW5kX25hbWUiOiJIZXJpdGFnZSBXaGVlbCIsImNhdGVnb3J5X25hbWVzIjpbIlNob3AiXSwiY3VycmVuY3kiOiJVU0QifSx7InByb2R1Y3RfaWQiOiIxMTE5NjYwIiwic2t1IjoiQlVTSElET001MTA4MTg5NTM4Q0hSIiwidmFyaWFudF9pZCI6bnVsbCwicHJvZHVjdF9uYW1lIjoiSEVSSVRBR0UgV0hFRUwgQlVTSElETyBNT05PQyA1eDEwOCAxOHg5LjUgKzM4IENIUk9NRSIsImdpZnRfY2VydGlmaWNhdGVfaWQiOm51bGwsImdpZnRfY2VydGlmaWNhdGVfbmFtZSI6bnVsbCwiZ2lmdF9jZXJ0aWZpY2F0ZV90aGVtZSI6bnVsbCwicHVyY2hhc2VfcHJpY2UiOjM5OS4wLCJzYWxlX3ByaWNlIjpudWxsLCJiYXNlX3ByaWNlIjpudWxsLCJyZXRhaWxfcHJpY2UiOm51bGwsInF1YW50aXR5IjoyLCJkaXNjb3VudCI6bnVsbCwiY291cG9uX2Ftb3VudCI6bnVsbCwiaW5kZXgiOjE2LCJicmFuZF9uYW1lIjoiSGVyaXRhZ2UgV2hlZWwiLCJjYXRlZ29yeV9uYW1lcyI6WyJTaG9wIl0sImN1cnJlbmN5IjoiVVNEIn0seyJwcm9kdWN0X2lkIjoiMTExOTY1NiIsInNrdSI6IkJVU0hJRE9NNTEwNTE4OTUxMkNIUiIsInZhcmlhbnRfaWQiOm51bGwsInByb2R1Y3RfbmFtZSI6IkhFUklUQUdFIFdIRUVMIEJVU0hJRE8gTU9OT0MgNXgxMDUgMTh4OS41ICsxMiBDSFJPTUUiLCJnaWZ0X2NlcnRpZmljYXRlX2lkIjpudWxsLCJnaWZ0X2NlcnRpZmljYXRlX25hbWUiOm51bGwsImdpZnRfY2VydGlmaWNhdGVfdGhlbWUiOm51bGwsInB1cmNoYXNlX3ByaWNlIjozOTkuMCwic2FsZV9wcmljZSI6bnVsbCwiYmFzZV9wcmljZSI6bnVsbCwicmV0YWlsX3ByaWNlIjpudWxsLCJxdWFudGl0eSI6MjIsImRpc2NvdW50IjpudWxsLCJjb3Vwb25fYW1vdW50IjpudWxsLCJpbmRleCI6MTcsImJyYW5kX25hbWUiOiJIZXJpdGFnZSBXaGVlbCIsImNhdGVnb3J5X25hbWVzIjpbIlNob3AiXSwiY3VycmVuY3kiOiJVU0QifSx7InByb2R1Y3RfaWQiOiIxMTE5NjU1Iiwic2t1IjoiQlVTSElET001MTA1MTg5NTEyV0hUIiwidmFyaWFudF9pZCI6bnVsbCwicHJvZHVjdF9uYW1lIjoiSEVSSVRBR0UgV0hFRUwgQlVTSElETyBNT05PQyA1eDEwNSAxOHg5LjUgKzEyIFdISVRFIiwiZ2lmdF9jZXJ0aWZpY2F0ZV9pZCI6bnVsbCwiZ2lmdF9jZXJ0aWZpY2F0ZV9uYW1lIjpudWxsLCJnaWZ0X2NlcnRpZmljYXRlX3RoZW1lIjpudWxsLCJwdXJjaGFzZV9wcmljZSI6MzM5LjAsInNhbGVfcHJpY2UiOm51bGwsImJhc2VfcHJpY2UiOm51bGwsInJldGFpbF9wcmljZSI6bnVsbCwicXVhbnRpdHkiOjIxLCJkaXNjb3VudCI6bnVsbCwiY291cG9uX2Ftb3VudCI6bnVsbCwiaW5kZXgiOjE4LCJicmFuZF9uYW1lIjoiSGVyaXRhZ2UgV2hlZWwiLCJjYXRlZ29yeV9uYW1lcyI6WyJTaG9wIl0sImN1cnJlbmN5IjoiVVNEIn0seyJwcm9kdWN0X2lkIjoiMTExOTY1NCIsInNrdSI6IkJVU0hJRE9NNTEwNTE4OTUzOENIUiIsInZhcmlhbnRfaWQiOm51bGwsInByb2R1Y3RfbmFtZSI6IkhFUklUQUdFIFdIRUVMIEJVU0hJRE8gTU9OT0MgNXgxMDUgMTh4OS41ICszOCBDSFJPTUUiLCJnaWZ0X2NlcnRpZmljYXRlX2lkIjpudWxsLCJnaWZ0X2NlcnRpZmljYXRlX25hbWUiOm51bGwsImdpZnRfY2VydGlmaWNhdGVfdGhlbWUiOm51bGwsInB1cmNoYXNlX3ByaWNlIjozOTkuMCwic2FsZV9wcmljZSI6bnVsbCwiYmFzZV9wcmljZSI6bnVsbCwicmV0YWlsX3ByaWNlIjpudWxsLCJxdWFudGl0eSI6MjAsImRpc2NvdW50IjpudWxsLCJjb3Vwb25fYW1vdW50IjpudWxsLCJpbmRleCI6MTksImJyYW5kX25hbWUiOiJIZXJpdGFnZSBXaGVlbCIsImNhdGVnb3J5X25hbWVzIjpbIlNob3AiXSwiY3VycmVuY3kiOiJVU0QifV19fV19")); 1164 })() 1165 1166 </script>
1166 1167
1168<script nonce=""> 1169(function () { 1170 var xmlHttp = new XMLHttpRequest(); 1171 1172 xmlHttp.open('POST', 'https://bes.gcp.data.bigcommerce.com/nobot'); 1173 xmlHttp.setRequestHeader('Content-Type', 'application/json'); 1174 xmlHttp.send('{"store_id":"846354","timezone_offset":"-8.0","timestamp":"2026-10-04T04:09:24.58240500Z","visit_id":"428693f4-d3c0-4dbe-872b-10387ceb56fd","channel_id":1}'); 1175})(); 1176</script>
1176 1177 1178 1179
1179<script> 1180 var theme_settings = { 1181 show_fast_cart: true, 1182 linksPerCol: 10, 1183 }; 1184 </script>
1184 1185 <link 1186 rel="preload" 1187 href="https://cdn11.bigcommerce.com/s-8zxb6tk/stencil/216f56b0-a0c6-013f-37ac-06627e5707c7/e/fa349870-8a84-013f-3c49-5e8f456a1dbe/dist/theme-bundle.main.js" 1188 as="script" 1189 /> 1190 <link 1191 rel="stylesheet" 1192 href="https://www.katapult.com/plugin/css/katapult.css" 1193 media="print" 1194 onload="this.media='all'" 1195 /> 1196 <noscript><link rel="stylesheet" href="https://www.katapult.com/plugin/css/katapult.css"></noscript> 1197 </head> 1198 <body> 1199 1200 <svg 1201 data-src="https://cdn11.bigcommerce.com/s-8zxb6tk/stencil/216f56b0-a0c6-013f-37ac-06627e5707c7/e/fa349870-8a84-013f-3c49-5e8f456a1dbe/img/icon-sprite.svg" 1202 class="icons-svg-sprite" 1203 ></svg> 1204 1205 <div class="announcementBar" aria-label="Store announcements"> 1206 <div class="announcementBar-track"> 1207 <span class="announcementBar-msg">Free Shipping on All Wheel & Tire Packages</span> 1208 <span class="announcementBar-msg">Authorized Dealer — 100% Genuine Wheels</span> 1209 <span class="announcementBar-msg">Price Match Guarantee on All Products</span> 1210 <span class="announcementBar-msg">Expert Fitment Support — 10,000+ Customers Served</span> 1211 <span class="announcementBar-msg"><a href="/financing/">Pay Over Time with Affirm — 0% APR Available</a></span> 1212 </div> 1213</div> 1214<style> 1215.announcementBar { 1216 background: #1a1a1a; 1217 overflow: hidden; 1218 height: 32px; 1219 line-height: 32px; 1220 text-align: center; 1221 position: relative; 1222} 1223.announcementBar-track { 1224 display: flex; 1225 animation: announcementRotate 25s infinite; 1226 flex-direction: column; 1227 height: 100%; 1228} 1229.announcementBar-msg { 1230 color: #d4af37; 1231 font-size: 0.75rem; 1232 font-weight: 600; 1233 letter-spacing: 1px; 1234 text-transform: uppercase; 1235 white-space: nowrap; 1236 height: 32px; 1237 line-height: 32px; 1238 flex-shrink: 0; 1239} 1240.announcementBar-msg a { 1241 color: inherit; 1242 text-decoration: none; 1243} 1244@keyframes announcementRotate { 1245 0%, 16% { transform: translateY(0); } 1246 20%, 36% { transform: translateY(-32px); } 1247 40%, 56% { transform: translateY(-64px); } 1248 60%, 76% { transform: translateY(-96px); } 1249 80%, 96% { transform: translateY(-128px); } 1250 100% { transform: translateY(-160px); } 1251} 1252</style> 1253<div class="phoneBanner"> 1254 <a href="tel:8135355801" class="phoneBanner-link"> 1255 QUESTIONS? CALL OR TEXT OUR TEAM <strong>813-535-5801</strong> 1256 </a> 1257</div> 1258<style> 1259.phoneBanner { 1260 background-color: #000; 1261 text-align: center; 1262 padding: 8px 16px; 1263 min-height: 38px; /* Prevent CLS - reserves space before text renders */ 1264} 1265.phoneBanner-link { 1266 color: #fff; 1267 text-decoration: none; 1268 font-size: 0.85rem; 1269 font-weight: 500; 1270 letter-spacing: 0.5px; 1271} 1272.phoneBanner-link strong { 1273 font-weight: 700; 1274} 1275.phoneBanner-link:hover { 1276 text-decoration: underline; 1277 color: #fff; 1278} 1279</style> 1280<header class="header" role="banner"> 1281 <button class="mobileMenu-toggle" data-mobile-menu-toggle="menu" aria-label="Open navigation menu" aria-expanded="false" aria-controls="menu"> 1282 <span class="mobileMenu-toggleIcon" aria-hidden="true"></span> 1283 </button> 1284 1285 <div class="header-logo--wrap"> 1286 <div class="header-logo"> 1287 1288 <div class="logo-and-toggle"> 1289 <div class="desktopMenu-toggle"> 1290 <button class="mobileMenu-toggle" aria-label="Open navigation menu" aria-expanded="false" aria-controls="menu"> 1291 <span class="mobileMenu-toggleIcon" aria-hidden="true"></span> 1292 </button> 1293 </div> 1294 1295 <div class="logo-wrap"><a href="https://www.threepiece.us/" class="header-logo__link" data-header-logo-link aria-label="ThreePiece.us - Custom Wheels and Performance Rims Specialists"> 1296 <div class="header-logo-image-container"> 1297 <img class="header-logo-image" 1298 src="https://cdn11.bigcommerce.com/s-8zxb6tk/images/stencil/100x45/threepiece-logo_1713917723__25054.original.png" 1299 srcset="https://cdn11.bigcommerce.com/s-8zxb6tk/images/stencil/100x45/threepiece-logo_1713917723__25054.original.png 1x, https://cdn11.bigcommerce.com/s-8zxb6tk/images/stencil/200x90/threepiece-logo_1713917723__25054.original.png 2x" 1300 alt="ThreePiece.us - Premium Custom Wheels, Performance Rims & Tire Packages - Work Wheels, SSR, Weds, Volk Racing Specialists" 1301 title="ThreePiece.us - Custom Wheels & Performance Rims Since 2014"> 1302 </div> 1303</a> 1304</div> 1305 </div> 1306
1307 <div class="quickSearchWrap" id="quickSearch" aria-hidden="true" tabindex="-1" data-prevent-quick-search-close> 1308 <div> 1309 <!-- snippet location forms_search --> 1310 <form class="form" action="https://www.threepiece.us/search.php" role="search" aria-label="Site search"> 1311 <fieldset class="form-fieldset"> 1312 <div class="form-field"> 1313 <label class="is-srOnly" for="search_query">Search</label> 1314 <input class="form-input" data-search-quick name="search_query" id="search_query" data-error-message="Search field cannot be empty." placeholder="What are you looking for?" autocomplete="off"> 1315 <button type="submit" class="form-button" aria-label="Search"> 1316 <i class="icon" aria-hidden="true"> 1317 <svg><use xlink:href="#icon-search" /></svg> 1318 </i> 1319 </button> 1320 </div> 1321 </fieldset> 1322 </form> 1323 <section class="quickSearchResults" data-bind="html: results"></section> 1324 <p role="status" 1325 aria-live="polite" 1326 class="aria-description--hidden" 1327 data-search-aria-message-predefined-text="product results for" 1328 ></p> 1329</div> 1330 </div> 1331 <div class="navUser-wrap"> 1332 <nav class="navUser" aria-label="User account and cart"> 1333 <ul class="navUser-section navUser-section--alt"> 1334 <li class="navUser-item navUser-item--account"> 1335 <i class="icon" aria-hidden="true"> 1336 <svg><use xlink:href="#icon-user" /></svg> 1337 </i> 1338 <a class="navUser-action" 1339 href="https://www.threepiece.us/login.php" 1340 aria-label="Sign in" 1341 > 1342 Sign in 1343 </a> 1344 <span>or</span> <a class="navUser-action" href="https://www.threepiece.us/login.php?action=create_account">Register</a> 1345 </li> 1346 <li class="navUser-item navUser-item--mobile-search"> 1347 <i class="icon" aria-hidden="true"> 1348 <svg><use xlink:href="#icon-search" /></svg> 1349 </i> 1350 </li> 1351 <li class="navUser-item navUser-item--cart"> 1352 <a 1353 class="navUser-action" 1354 data-cart-preview 1355 data-dropdown="cart-preview-dropdown" 1356 data-options="align:right" 1357 href="https://www.threepiece.us/cart.php" 1358 aria-label="Cart with 0 items" 1359 > 1360 <i class="icon" aria-hidden="true"> 1361 <svg><use xlink:href="#icon-cart" /></svg> 1362 </i> 1363 (<span class=" cart-quantity"></span>) 1364 </a> 1365 1366 <div class="dropdown-menu" id="cart-preview-dropdown" data-dropdown-content aria-hidden="true"></div> 1367 </li> 1368 </ul> 1369</nav> 1370 </div> 1371 </div> 1372 </div> 1373 1374 <div class="navPages-container" id="menu" data-menu> 1375 <button class="mobile-closeNav" aria-label="Close navigation menu"> 1376 <i class="icon" aria-hidden="true"> 1377 <svg><use xlink:href="#icon-close-large" /></svg> 1378 </i> 1379 <span class="sr-only">Close</span> 1380</button> 1381<nav class="navPages" aria-label="Main menu"> 1382 <ul class="navPages-list navPages-list--user 5765697a656e20596f756e67"> 1383 <li class="navPages-item"> 1384 <i class="icon" aria-hidden="true"> 1385 <svg><use xlink:href="#icon-user" /></svg> 1386 </i> 1387 <a class="navPages-action" href="https://www.threepiece.us/login.php">Sign in</a> 1388 or 1389 <a class="navPages-action" 1390 href="https://www.threepiece.us/login.php?action=create_account" 1391 aria-label="Register" 1392 > 1393 Register 1394 </a> 1395 </li> 1396 </ul> 1397 <ul class="navPages-list navPages-mega navPages-mainNav"> 1398 <li class="navPages-item" > 1399 <a class="navPages-action" 1400 href="https://www.threepiece.us/custom-wheel-tire-package-builder/" 1401 aria-label="Custom Wheel & Tire Package Builder" 1402> 1403 Custom Wheel & Tire Package Builder 1404</a> 1405 </li> 1406 <li class="navPages-item" > 1407 <a class="navPages-action has-subMenu activePage" 1408 href="https://www.threepiece.us/shop/" 1409 data-collapsible="navPages-7337" 1410> 1411 Shop 1412 <i class="icon navPages-action-moreIcon" aria-hidden="true"> 1413 <svg><use xlink:href="#icon-chevron-down" /></svg> 1414 </i> 1415</a> 1416<div class="column-menu navPage-subMenu" id="navPages-7337" aria-hidden="true" tabindex="-1"> 1417 <ul class="navPage-subMenu-list"> 1418 <li class="navPage-subMenu-item"> 1419 <i class="icon navPages-action-moreIcon" aria-hidden="true"><svg><use xlink:href="#icon-chevron-right" /></svg></i> 1420 <a class="navPage-subMenu-action navPages-action" href="https://www.threepiece.us/best-deals/">BEST DEALS</a> 1421 </li> 1422 <li class="navPage-subMenu-item"> 1423 <i class="icon navPages-action-moreIcon" aria-hidden="true"><svg><use xlink:href="#icon-chevron-right" /></svg></i> 1424 <a class="navPage-subMenu-action navPages-action" href="https://www.threepiece.us/exhaust">Exhaust</a> 1425 </li> 1426 <li class="navPage-subMenu-item"> 1427 <i class="icon navPages-action-moreIcon" aria-hidden="true"><svg><use xlink:href="#icon-chevron-right" /></svg></i> 1428 <a class="navPage-subMenu-action navPages-action" href="https://www.threepiece.us/shop/lifestyle/">Lifestyle</a> 1429 </li> 1430 <li class="navPage-subMenu-item"> 1431 <i class="icon navPages-action-moreIcon" aria-hidden="true"><svg><use xlink:href="#icon-chevron-right" /></svg></i> 1432 <a class="navPage-subMenu-action navPages-action" href="https://www.threepiece.us/new-wheels">Wheels</a> 1433 </li> 1434 <li class="navPage-subMenu-item"> 1435 <i class="icon navPages-action-moreIcon" aria-hidden="true"><svg><use xlink:href="#icon-chevron-right" /></svg></i> 1436 <a class="navPage-subMenu-action navPages-action" href="https://www.threepiece.us/tires/">Tires</a> 1437 </li> 1438 <li class="navPage-subMenu-item"> 1439 <i class="icon navPages-action-moreIcon" aria-hidden="true"><svg><use xlink:href="#icon-chevron-right" /></svg></i> 1440 <a class="navPage-subMenu-action navPages-action" href="https://www.threepiece.us/suspension/">Suspension</a> 1441 </li> 1442 <li class="navPage-subMenu-item"> 1443 <i class="icon navPages-action-moreIcon" aria-hidden="true"><svg><use xlink:href="#icon-chevron-right" /></svg></i> 1444 <a class="navPage-subMenu-action navPages-action" href="https://www.threepiece.us/brakes/">Brakes</a> 1445 </li> 1446 <li class="navPage-subMenu-item"> 1447 <i class="icon navPages-action-moreIcon" aria-hidden="true"><svg><use xlink:href="#icon-chevron-right" /></svg></i> 1448 <a class="navPage-subMenu-action navPages-action" href="https://www.threepiece.us/exterior/">Exterior</a> 1449 </li> 1450 <li class="navPage-subMenu-item"> 1451 <i class="icon navPages-action-moreIcon" aria-hidden="true"><svg><use xlink:href="#icon-chevron-right" /></svg></i> 1452 <a class="navPage-subMenu-action navPages-action" href="https://www.threepiece.us/wheel-accessories/">Wheel Parts</a> 1453 </li> 1454 <li class="navPage-subMenu-item"> 1455 <i class="icon navPages-action-moreIcon" aria-hidden="true"><svg><use xlink:href="#icon-chevron-right" /></svg></i> 1456 <a class="navPage-subMenu-action navPages-action" href="https://www.threepiece.us/sale/">SALE</a> 1457 </li> 1458 </ul> 1459</div> 1460 </li> 1461 <li class="navPages-item"> 1462 <a class="navPages-action has-subMenu " 1463 href="/brands" 1464 data-collapsible="navPages-7337" 1465 > 1466 Brands 1467 <i class="icon navPages-action-moreIcon" aria-hidden="true"> 1468 <svg><use xlink:href="#icon-chevron-down" /></svg> 1469 </i> 1470 </a> 1471 1472 <div class="column-menu navPage-subMenu" id="navPages-7337" aria-hidden="true" tabindex="-1"> 1473 <ul class="navPage-subMenu-list"> 1474 <li class="navPage-subMenu-item"> 1475 <i class="icon navPages-action-moreIcon" aria-hidden="true"><svg><use xlink:href="#icon-chevron-right" /></svg></i> 1476 <a class="navPage-subMenu-action navPages-action activePage" href="/brands">All Brands</a> 1477 </li> 1478 <li class="navPage-subMenu-item"> 1479 <i class="icon navPages-action-moreIcon" aria-hidden="true"><svg><use xlink:href="#icon-chevron-right" /></svg></i> 1480 <a class="navPage-subMenu-action navPages-action activePage" href="/brands/wheels">Wheels</a> 1481 </li> 1482 <li class="navPage-subMenu-item"> 1483 <i class="icon navPages-action-moreIcon" aria-hidden="true"><svg><use xlink:href="#icon-chevron-right" /></svg></i> 1484 <a class="navPage-subMenu-action navPages-action activePage" href="/brands/tires">Tires</a> 1485 </li> 1486 </ul> 1487 </div> 1488 </li> 1489 <li class="navPages-item" > 1490 <a class="navPages-action" 1491 href="https://www.threepiece.us/heritage-wheel/" 1492 aria-label="Heritage Wheel" 1493> 1494 Heritage Wheel 1495</a> 1496 </li> 1497 <li class="navPages-item" > 1498 <a class="navPages-action" 1499 href="https://www.threepiece.us/mounted-packages/" 1500 aria-label="Wheel & Tire Packages" 1501> 1502 Wheel & Tire Packages 1503</a> 1504 </li> 1505 <li class="navPages-item" style="display:none;" > 1506 <a class="navPages-action" 1507 href="https://www.threepiece.us/finish-your-installation-kit/" 1508 aria-label="Finish Your Installation Kit" 1509> 1510 Finish Your Installation Kit 1511</a> 1512 </li> 1513 <li class="navPages-item navPages-item--fitment"> 1514 <a class="navPages-action has-subMenu" href="/new-wheels" data-collapsible="navPages-fitment"> 1515 Shop by Fitment 1516 <i class="icon navPages-action-moreIcon" aria-hidden="true"><svg><use xlink:href="#icon-chevron-down" /></svg></i> 1517 </a> 1518 <div class="column-menu navPage-subMenu" id="navPages-fitment" aria-hidden="true" tabindex="-1"> 1519 <ul class="navPage-subMenu-list"> 1520 <li class="navPage-subMenu-item"> 1521 <i class="icon navPages-action-moreIcon" aria-hidden="true"><svg><use xlink:href="#icon-chevron-right" /></svg></i> 1522 <a class="navPage-subMenu-action navPages-action" href="/5x114-3-wheels/">5x114.3 wheels</a> 1523 </li> 1524 <li class="navPage-subMenu-item"> 1525 <i class="icon navPages-action-moreIcon" aria-hidden="true"><svg><use xlink:href="#icon-chevron-right" /></svg></i> 1526 <a class="navPage-subMenu-action navPages-action" href="/5x120-bolt-pattern-wheels/">5x120 wheels</a> 1527 </li> 1528 <li class="navPage-subMenu-item"> 1529 <i class="icon navPages-action-moreIcon" aria-hidden="true"><svg><use xlink:href="#icon-chevron-right" /></svg></i> 1530 <a class="navPage-subMenu-action navPages-action" href="/5x112-bolt-pattern-wheels/">5x112 wheels</a> 1531 </li> 1532 <li class="navPage-subMenu-item"> 1533 <i class="icon navPages-action-moreIcon" aria-hidden="true"><svg><use xlink:href="#icon-chevron-right" /></svg></i> 1534 <a class="navPage-subMenu-action navPages-action" href="/5x100-bolt-pattern-wheels/">5x100 wheels</a> 1535 </li> 1536 <li class="navPage-subMenu-item"> 1537 <i class="icon navPages-action-moreIcon" aria-hidden="true"><svg><use xlink:href="#icon-chevron-right" /></svg></i> 1538 <a class="navPage-subMenu-action navPages-action" href="/5x115-wheels/">5x115 wheels</a> 1539 </li> 1540 <li class="navPage-subMenu-item"> 1541 <i class="icon navPages-action-moreIcon" aria-hidden="true"><svg><use xlink:href="#icon-chevron-right" /></svg></i> 1542 <a class="navPage-subMenu-action navPages-action" href="/5x108-bolt-pattern-wheels/">5x108 wheels</a> 1543 </li> 1544 <li class="navPage-subMenu-item"> 1545 <i class="icon navPages-action-moreIcon" aria-hidden="true"><svg><use xlink:href="#icon-chevron-right" /></svg></i> 1546 <a class="navPage-subMenu-action navPages-action" href="/4x100-wheels/">4x100 wheels</a> 1547 </li> 1548 <li class="navPage-subMenu-item"> 1549 <i class="icon navPages-action-moreIcon" aria-hidden="true"><svg><use xlink:href="#icon-chevron-right" /></svg></i> 1550 <a class="navPage-subMenu-action navPages-action" href="/6x139-7-wheels/">6x139.7 wheels</a> 1551 </li> 1552 <li class="navPage-subMenu-item"> 1553 <i class="icon navPages-action-moreIcon" aria-hidden="true"><svg><use xlink:href="#icon-chevron-right" /></svg></i> 1554 <a class="navPage-subMenu-action navPages-action" href="/6x135-bolt-pattern-wheels/">6x135 wheels</a> 1555 </li> 1556 <li class="navPage-subMenu-item"> 1557 <i class="icon navPages-action-moreIcon" aria-hidden="true"><svg><use xlink:href="#icon-chevron-right" /></svg></i> 1558 <a class="navPage-subMenu-action navPages-action" href="/15-inch-wheels/">15 inch wheels</a> 1559 </li> 1560 <li class="navPage-subMenu-item"> 1561 <i class="icon navPages-action-moreIcon" aria-hidden="true"><svg><use xlink:href="#icon-chevron-right" /></svg></i> 1562 <a class="navPage-subMenu-action navPages-action" href="/16-inch-wheels/">16 inch wheels</a> 1563 </li> 1564 <li class="navPage-subMenu-item"> 1565 <i class="icon navPages-action-moreIcon" aria-hidden="true"><svg><use xlink:href="#icon-chevron-right" /></svg></i> 1566 <a class="navPage-subMenu-action navPages-action" href="/17-inch-wheels/">17 inch wheels</a> 1567 </li> 1568 <li class="navPage-subMenu-item"> 1569 <i class="icon navPages-action-moreIcon" aria-hidden="true"><svg><use xlink:href="#icon-chevron-right" /></svg></i> 1570 <a class="navPage-subMenu-action navPages-action" href="/18-inch-wheels/">18 inch wheels</a> 1571 </li> 1572 <li class="navPage-subMenu-item"> 1573 <i class="icon navPages-action-moreIcon" aria-hidden="true"><svg><use xlink:href="#icon-chevron-right" /></svg></i> 1574 <a class="navPage-subMenu-action navPages-action" href="/19-inch-wheels/">19 inch wheels</a> 1575 </li> 1576 <li class="navPage-subMenu-item"> 1577 <i class="icon navPages-action-moreIcon" aria-hidden="true"><svg><use xlink:href="#icon-chevron-right" /
1577></svg></i> 1578 <a class="navPage-subMenu-action navPages-action" href="/20-inch-wheels/">20 inch wheels</a> 1579 </li> 1580 <li class="navPage-subMenu-item"> 1581 <i class="icon navPages-action-moreIcon" aria-hidden="true"><svg><use xlink:href="#icon-chevron-right" /></svg></i> 1582 <a class="navPage-subMenu-action navPages-action" href="/21-inch-wheels/">21 inch wheels</a> 1583 </li> 1584 <li class="navPage-subMenu-item"> 1585 <i class="icon navPages-action-moreIcon" aria-hidden="true"><svg><use xlink:href="#icon-chevron-right" /></svg></i> 1586 <a class="navPage-subMenu-action navPages-action" href="/22-inch-wheels/">22 inch wheels</a> 1587 </li> 1588 <li class="navPage-subMenu-item"> 1589 <i class="icon navPages-action-moreIcon" aria-hidden="true"><svg><use xlink:href="#icon-chevron-right" /></svg></i> 1590 <a class="navPage-subMenu-action navPages-action" href="/24-inch-wheels/">24 inch wheels</a> 1591 </li> 1592 <li class="navPage-subMenu-item"> 1593 <i class="icon navPages-action-moreIcon" aria-hidden="true"><svg><use xlink:href="#icon-chevron-right" /></svg></i> 1594 <a class="navPage-subMenu-action navPages-action" href="/26-inch-wheels/">26 inch wheels</a> 1595 </li> 1596 <li class="navPage-subMenu-item"> 1597 <i class="icon navPages-action-moreIcon" aria-hidden="true"><svg><use xlink:href="#icon-chevron-right" /></svg></i> 1598 <a class="navPage-subMenu-action navPages-action" href="/28-inch-wheels/">28 inch wheels</a> 1599 </li> 1600 <li class="navPage-subMenu-item"> 1601 <i class="icon navPages-action-moreIcon" aria-hidden="true"><svg><use xlink:href="#icon-chevron-right" /></svg></i> 1602 <a class="navPage-subMenu-action navPages-action" href="/30-inch-wheels/">30 inch wheels</a> 1603 </li> 1604 <li class="navPage-subMenu-item"> 1605 <i class="icon navPages-action-moreIcon" aria-hidden="true"><svg><use xlink:href="#icon-chevron-right" /></svg></i> 1606 <a class="navPage-subMenu-action navPages-action" href="/truck-wheels/">Truck wheels</a> 1607 </li> 1608 <li class="navPage-subMenu-item"> 1609 <i class="icon navPages-action-moreIcon" aria-hidden="true"><svg><use xlink:href="#icon-chevron-right" /></svg></i> 1610 <a class="navPage-subMenu-action navPages-action" href="/custom-wheel-tire-package-builder/">Wheel & tire package builder</a> 1611 </li> 1612 <li class="navPage-subMenu-item"> 1613 <i class="icon navPages-action-moreIcon" aria-hidden="true"><svg><use xlink:href="#icon-chevron-right" /></svg></i> 1614 <a class="navPage-subMenu-action navPages-action" href="/tire-size-calculator/">Tire size calculator</a> 1615 </li> 1616 <li class="navPage-subMenu-item"> 1617 <i class="icon navPages-action-moreIcon" aria-hidden="true"><svg><use xlink:href="#icon-chevron-right" /></svg></i> 1618 <a class="navPage-subMenu-action navPages-action" href="/wheel-offset-backspacing-calculator/">Wheel offset calculator</a> 1619 </li> 1620 </ul> 1621 </div> 1622 </li> 1623 <li class="navPages-item navPages-item--content-first"> 1624 <a class="navPages-action" 1625 href="https://www.threepiece.us/faq/" 1626 aria-label="FAQ" 1627> 1628 FAQ 1629</a> 1630 </li> 1631 <li class="navPages-item"> 1632 <a class="navPages-action" 1633 href="https://visualizer.threepiece.us/" 1634 aria-label="Wheel Visualizer" 1635> 1636 Wheel Visualizer 1637</a> 1638 </li> 1639 <li class="navPages-item"> 1640 <a class="navPages-action" 1641 href="https://gallery.threepiece.us/" 1642 aria-label="Threepieceus Gallery" 1643> 1644 Threepieceus Gallery 1645</a> 1646 </li> 1647 <li class="navPages-item"> 1648 <a class="navPages-action" 1649 href="https://www.threepiece.us/add-vehicle/" 1650 aria-label="Add Your Ride" 1651> 1652 Add Your Ride 1653</a> 1654 </li> 1655 <li class="navPages-item"> 1656 <a class="navPages-action" 1657 href="https://www.threepiece.us/blog/" 1658 aria-label="Fitment Info" 1659> 1660 Fitment Info 1661</a> 1662 </li> 1663 <li class="navPages-item"> 1664 <a class="navPages-action" 1665 href="https://www.threepiece.us/about-us/" 1666 aria-label="About Us" 1667> 1668 About Us 1669</a> 1670 </li> 1671 </ul> 1672 <ul class="navPages-list navPages-list--user"> 1673 </ul> 1674</nav> 1675 </div> 1676</header> 1677 1678 1679 1680<div data-content-region="header_bottom--global"><div data-layout-id="707f0e0e-f78e-440c-8218-24ad4eaa719f"> <div data-sub-layout-container="4b870010-7657-44ae-81cd-8ad7c042f17c" data-layout-name="Layout"> 1681 <style data-container-styling="4b870010-7657-44ae-81cd-8ad7c042f17c"> 1682 [data-sub-layout-container="4b870010-7657-44ae-81cd-8ad7c042f17c"] { 1683 box-sizing: border-box; 1684 display: flex; 1685 flex-wrap: wrap; 1686 z-index: 0; 1687 position: relative; 1688 height: ; 1689 padding-top: 0px; 1690 padding-right: 0px; 1691 padding-bottom: 0px; 1692 padding-left: 0px; 1693 margin-top: 0px; 1694 margin-right: 0px; 1695 margin-bottom: 0px; 1696 margin-left: 0px; 1697 border-width: 0px; 1698 border-style: solid; 1699 border-color: #333333; 1700 } 1701 1702 [data-sub-layout-container="4b870010-7657-44ae-81cd-8ad7c042f17c"]:after { 1703 display: block; 1704 position: absolute; 1705 top: 0; 1706 left: 0; 1707 bottom: 0; 1708 right: 0; 1709 background-size: cover; 1710 z-index: auto; 1711 } 1712 </style> 1713 1714 <div data-sub-layout="8cbafe36-f698-440b-80a0-ffe9da3b5ee3"> 1715 <style data-column-styling="8cbafe36-f698-440b-80a0-ffe9da3b5ee3"> 1716 [data-sub-layout="8cbafe36-f698-440b-80a0-ffe9da3b5ee3"] { 1717 display: flex; 1718 flex-direction: column; 1719 box-sizing: border-box; 1720 flex-basis: 100%; 1721 max-width: 100%; 1722 z-index: 0; 1723 position: relative; 1724 height: ; 1725 padding-top: 0px; 1726 padding-right: 0px; 1727 padding-bottom: 0px; 1728 padding-left: 0px; 1729 margin-top: 0px; 1730 margin-right: 0px; 1731 margin-bottom: 0px; 1732 margin-left: 0px; 1733 border-width: 0px; 1734 border-style: solid; 1735 border-color: #333333; 1736 justify-content: center; 1737 } 1738 [data-sub-layout="8cbafe36-f698-440b-80a0-ffe9da3b5ee3"]:after { 1739 display: block; 1740 position: absolute; 1741 top: 0; 1742 left: 0; 1743 bottom: 0; 1744 right: 0; 1745 background-size: cover; 1746 z-index: auto; 1747 } 1748 @media only screen and (max-width: 700px) { 1749 [data-sub-layout="8cbafe36-f698-440b-80a0-ffe9da3b5ee3"] { 1750 flex-basis: 100%; 1751 max-width: 100%; 1752 } 1753 } 1754 </style> 1755 <div data-widget-id="efb1ba86-4bdd-46d3-a5e1-53d6b281a163" data-placement-id="bb208f0b-2b33-40b3-845b-d16f90c39d40" data-placement-status="ACTIVE"><style> 1756/* ThreePiece.us BFCM Sale Page Styles */ 1757.tp-bfcm-container { 1758 font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif; 1759 max-width: 100%; 1760 margin: 0; 1761 padding: 0; 1762 background: #000; 1763 color: #fff; 1764} 1765
1766/* Hero Section with Background Image */ 1767.tp-bfcm-hero { 1768 background: linear-gradient(rgba(0,0,0,0.6), rgba(0,0,0,0.7)), url('YOUR-WHEEL-BACKGROUND-IMAGE.jpg') center/cover; 1769 /* REPLACE url above with a dramatic wheel/car photo from your inventory */ 1770 min-height: 500px; 1771 display: flex; 1772 align-items: center; 1773 justify-content: center; 1774 text-align: center; 1775 padding: 80px 20px; 1776 position: relative; 1777} 1778 1779.tp-bfcm-hero-content { 1780 max-width: 900px; 1781 z-index: 2; 1782} 1783 1784.tp-bfcm-badge { 1785 display: inline-block; 1786 background: #1a1a1a; 1787 border: 2px solid #fff; 1788 color: #fff; 1789 padding: 10px 25px; 1790 font-weight: 700; 1791 font-size: 14px; 1792 letter-spacing: 2px; 1793 margin-bottom: 25px; 1794 text-transform: uppercase; 1795} 1796 1797.tp-bfcm-hero h1 { 1798 font-size: 72px; 1799 font-weight: 900; 1800 margin: 0 0 20px 0; 1801 line-height: 1; 1802 color: #fff; 1803 text-transform: uppercase; 1804 letter-spacing: -1px; 1805} 1806 1807.tp-bfcm-hero .discount-text { 1808 font-size: 56px; 1809 font-weight: 900; 1810 color: #fff; 1811 margin: 20px 0; 1812 letter-spacing: 2px; 1813} 1814 1815.tp-bfcm-hero .subtitle { 1816 font-size: 20px; 1817 margin: 20px 0 40px 0; 1818 color: #ddd; 1819 font-weight: 400; 1820} 1821 1822/* Countdown Timer */ 1823.tp-countdown-timer { 1824 display: flex; 1825 justify-content: center; 1826 gap: 20px; 1827 margin: 35px 0 0 0; 1828 flex-wrap: wrap; 1829} 1830 1831.tp-countdown-item { 1832 background: rgba(255,255,255,0.1); 1833 border: 2px solid rgba(255,255,255,0.2); 1834 backdrop-filter: blur(10px); 1835 padding: 20px 25px; 1836 min-width: 90px; 1837} 1838 1839.tp-countdown-number { 1840 font-size: 40px; 1841 font-weight: 900; 1842 color: #fff; 1843 display: block; 1844 line-height: 1; 1845} 1846 1847.tp-countdown-label { 1848 font-size: 12px; 1849 text-transform: uppercase; 1850 letter-spacing: 1.5px; 1851 margin-top: 8px; 1852 color: #ccc; 1853 font-weight: 600; 1854} 1855 1856/* Urgency Bar */ 1857.tp-urgency-bar { 1858 background: #fff; 1859 color: #000; 1860 text-align: center; 1861 padding: 18px 20px; 1862 font-weight: 700; 1863 font-size: 15px; 1864 letter-spacing: 0.5px; 1865} 1866 1867/* Browse Deals Buttons */ 1868.tp-deal-nav { 1869 background: #000; 1870 padding: 50px 20px 30px; 1871 text-align: center; 1872} 1873 1874.tp-deal-nav h2 { 1875 font-size: 42px; 1876 font-weight: 900; 1877 margin-bottom: 35px; 1878 color: #fff; 1879 text-transform: uppercase; 1880 letter-spacing: 1px; 1881} 1882 1883.tp-deal-buttons { 1884 display: flex; 1885 justify-content: center; 1886 gap: 20px; 1887 flex-wrap: wrap; 1888 max-width: 800px; 1889 margin: 0 auto; 1890} 1891 1892.tp-deal-btn { 1893 background: #fff; 1894 color: #000; 1895 padding: 18px 40px; 1896 font-size: 16px; 1897 font-weight: 700; 1898 text-transform: uppercase; 1899 letter-spacing: 1px; 1900 border: none; 1901 cursor: pointer; 1902 transition: all 0.3s ease; 1903 text-decoration: none; 1904 display: inline-block; 1905} 1906 1907.tp-deal-btn:hover { 1908 background: #000; 1909 color: #fff; 1910 border: 2px solid #fff; 1911 padding: 16px 38px; 1912 text-decoration: none; 1913} 1914 1915/* Products Section */ 1916.tp-products-section { 1917 background: #0a0a0a; 1918 padding: 60px 20px 80px; 1919} 1920 1921.tp-section-title { 1922 text-align: center; 1923 font-size: 42px; 1924 font-weight: 900; 1925 margin-bottom: 50px; 1926 color: #fff; 1927 text-transform: uppercase; 1928 letter-spacing: 1px; 1929} 1930 1931.tp-product-grid { 1932 display: grid; 1933 grid-template-columns: repeat(auto-fit, minmax(320px, 1fr)); 1934 gap: 30px; 1935 max-width: 1200px; 1936 margin: 0 auto; 1937} 1938 1939.tp-product-card { 1940 background: #1a1a1a; 1941 border: 1px solid #2a2a2a; 1942 overflow: hidden; 1943 transition: all 0.3s ease; 1944 position: relative; 1945} 1946 1947.tp-product-card:hover { 1948 border-color: #fff; 1949 transform: translateY(-5px); 1950} 1951 1952.tp-discount-badge { 1953 position: absolute; 1954 top: 20px; 1955 right: 20px; 1956 background: #fff; 1957 color: #000; 1958 padding: 12px 20px; 1959 font-weight: 900; 1960 font-size: 18px; 1961 z-index: 2; 1962 letter-spacing: 1px; 1963} 1964 1965.tp-product-image { 1966 width: 100%; 1967 height: 350px; 1968 background: #000; 1969 display: flex; 1970 align-items: center; 1971 justify-content: center; 1972 overflow: hidden; 1973 position: relative; 1974} 1975 1976.tp-product-image img { 1977 width: 100%; 1978 height: 100%; 1979 object-fit: cover; 1980 transition: transform 0.4s ease; 1981} 1982 1983.tp-product-card:hover .tp-product-image img { 1984 transform: scale(1.08); 1985} 1986 1987.tp-product-info { 1988 padding: 30px; 1989} 1990 1991.tp-product-name { 1992 font-size: 22px; 1993 font-weight: 700; 1994 margin-bottom: 12px; 1995 color: #fff; 1996 text-transform: uppercase; 1997 letter-spacing: 0.5px; 1998} 1999 2000.tp-product-specs { 2001 font-size: 14px; 2002 color: #999; 2003 margin-bottom: 18px; 2004 line-height: 1.6; 2005} 2006 2007.tp-product-pricing { 2008 display: flex; 2009 align-items: baseline; 2010 gap: 15px; 2011 margin-bottom: 20px; 2012} 2013 2014.tp-original-price { 2015 font-size: 18px; 2016 color: #666; 2017 text-decoration: line-through; 2018} 2019 2020.tp-sale-price { 2021 font-size: 32px; 2022 font-weight: 900; 2023 color: #fff; 2024} 2025 2026.tp-stock-alert { 2027 background: #1a1a1a; 2028 border-left: 3px solid #fff; 2029 padding: 12px 15px; 2030 margin-bottom: 20px; 2031 font-size: 13px; 2032 font-weight: 700; 2033 color: #fff; 2034 letter-spacing: 0.5px; 2035} 2036 2037.tp-shop-btn { 2038 width: 100%; 2039 padding: 16px; 2040 background: #fff; 2041 color: #000; 2042 border: none; 2043 font-size: 15px; 2044 font-weight: 700; 2045 cursor: pointer; 2046 transition: all 0.3s ease; 2047 text-transform: uppercase; 2048 letter-spacing: 1px; 2049 text-decoration: none; 2050 display: block; 2051 text-align: center; 2052} 2053 2054.tp-shop-btn:hover { 2055 background: #000; 2056 color: #fff; 2057 border: 2px solid #fff; 2058 text-decoration: none; 2059} 2060 2061/* Brand Grid Section */ 2062.tp-brand-grid-section { 2063 background: #fff; 2064 padding: 70px 20px; 2065 color: #000; 2066} 2067 2068.tp-brand-grid-section h2 { 2069 text-align: center; 2070 font-size: 42px; 2071 font-weight: 900; 2072 margin-bottom: 50px; 2073 color: #000; 2074 text-transform: uppercase; 2075} 2076 2077.tp-brand-grid { 2078 display: grid; 2079 grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); 2080 gap: 30px; 2081 max-width: 1200px; 2082 margin: 0 auto; 2083} 2084 2085.tp-brand-card { 2086 background: #fff; 2087 border: 2px solid #e0e0e0; 2088 padding: 40px 20px; 2089 text-align: center; 2090 transition: all 0.3s ease; 2091 cursor: pointer; 2092} 2093 2094.tp-brand-card:hover { 2095 border-color: #000; 2096 transform: translateY(-5px); 2097} 2098 2099.tp-brand-logo { 2100 font-size: 28px; 2101 font-weight: 900; 2102 margin-bottom: 15px; 2103 color: #000; 2104 text-transform: uppercase; 2105} 2106 2107.tp-brand-discount { 2108 font-size: 36px; 2109 font-weight: 900; 2110 color: #000; 2111 margin: 10px 0; 2112} 2113 2114.tp-brand-label { 2115 font-size: 14px; 2116 color: #666; 2117 text-transform: uppercase; 2118 letter-spacing: 1px; 2119} 2120 2121/* Social Proof */ 2122.tp-social-proof { 2123 background: #000; 2124 padding: 60px 20px; 2125 text-align: center; 2126 border-top: 1px solid #333; 2127} 2128 2129.tp-social-proof h3 { 2130 font-size: 32px; 2131 margin-bottom: 40px; 2132 color: #fff; 2133 text-transform: uppercase; 2134 font-weight: 700; 2135 letter-spacing: 1px; 2136} 2137 2138.tp-stats { 2139 display: flex; 2140 justify-content: center; 2141 gap: 80px; 2142 flex-wrap: wrap; 2143} 2144 2145.tp-stat-item { 2146 text-align: center; 2147} 2148 2149.tp-stat-number { 2150 font-size: 48px; 2151 font-weight: 900; 2152 color: #fff; 2153 display: block; 2154} 2155 2156.tp-stat-label { 2157 font-size: 13px; 2158 color: #999; 2159 text-transform: uppercase; 2160 letter-spacing: 1.5px; 2161 margin-top: 8px; 2162 font-weight: 600; 2163} 2164 2165/* Sticky Banner */ 2166.tp-sticky-banner { 2167 position: fixed; 2168 bottom: 0; 2169 left: 0; 2170 right: 0; 2171 background: #fff; 2172 color: #000; 2173 padding: 18px 20px; 2174 display: flex; 2175 justify-content: space-between; 2176 align-items: center; 2177 z-index: 99999; 2178 border-top: 3px solid #000; 2179 transform: translateY(100%);
2180 animation: tp-slideUp 0.5s ease forwards; 2181 animation-delay: 1.5s; 2182} 2183 2184@keyframes tp-slideUp { 2185 to { transform: translateY(0); } 2186} 2187 2188.tp-sticky-content { 2189 display: flex; 2190 align-items: center; 2191 gap: 25px; 2192 flex-wrap: wrap; 2193 font-weight: 700; 2194} 2195 2196.tp-sticky-timer { 2197 display: flex; 2198 gap: 12px; 2199} 2200 2201.tp-sticky-timer-item { 2202 background: #000; 2203 color: #fff; 2204 padding: 8px 14px; 2205 font-weight: 900; 2206 font-size: 16px; 2207} 2208 2209.tp-sticky-cta { 2210 padding: 14px 35px; 2211 background: #000; 2212 color: #fff; 2213 border: 2px solid #000; 2214 font-weight: 900; 2215 cursor: pointer; 2216 transition: all 0.3s ease; 2217 text-transform: uppercase; 2218 text-decoration: none; 2219 font-size: 14px; 2220 letter-spacing: 1px; 2221} 2222 2223.tp-sticky-cta:hover { 2224 background: #fff; 2225 color: #000; 2226 text-decoration: none; 2227} 2228 2229/* Mobile Responsiveness */ 2230@media (max-width: 768px) { 2231 .tp-bfcm-hero h1 { 2232 font-size: 42px; 2233 } 2234 2235 .tp-bfcm-hero .discount-text { 2236 font-size: 36px; 2237 } 2238 2239 .tp-countdown-item { 2240 min-width: 75px; 2241 padding: 15px 18px; 2242 } 2243 2244 .tp-countdown-number { 2245 font-size: 32px; 2246 } 2247 2248 .tp-deal-nav h2, 2249 .tp-section-title, 2250 .tp-brand-grid-section h2 { 2251 font-size: 28px; 2252 } 2253 2254 .tp-product-grid { 2255 grid-template-columns: 1fr; 2256 } 2257 2258 .tp-sticky-banner { 2259 flex-direction: column; 2260 gap: 15px; 2261 padding: 15px; 2262 } 2263 2264 .tp-stats { 2265 gap: 40px; 2266 } 2267 2268 .tp-brand-grid { 2269 grid-template-columns: 1fr; 2270 } 2271} 2272</style> 2273</div> 2274 </div> 2275</div> 2276 2277</div></div> 2278<div data-content-region="header_bottom"><div data-layout-id=""></div><div data-widget-id="b760d4d1-c068-4cfb-9df3-27fa09a042a7" data-placement-id="4c49da1d-b0a3-4294-8329-f0c2c2282976" data-placement-status="ACTIVE"><style id="tpc-style"> 2279@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@600;700;800&family=Barlow:wght@500;600;700&display=swap'); 2280/* ThreePiece collection pages restyle 2026-09-28: results pages (body.cm_category), the "choose a category" page 2281 (body.cm_parts) and brand pages (body.cm_brand). Same look as the homepage and product pages. Looks only: 2282 no wording, links, products or filter logic change. Landing pages with #pk have body.cm_unknown and are untouched. */ 2283body{--h-ink:#0a0a0b;--h-ink2:#141416;--h-gold:#e0a830;--h-gold-hi:#f4c14f;--h-gold-deep:#8a6410;--h-text:#141416;--h-muted:#5d6068;--h-line:#e4e1da;--h-cream:#f4f1ea;--h-plinth:#f1eee8;--h-green:#2e7d32;--h-disp:'Barlow Condensed','Roboto Condensed','Arial Narrow',Arial,sans-serif;--h-ui:Barlow,'Roboto Condensed',Arial,sans-serif} 2284 2285/* ================= shared: breadcrumbs + page top ================= */ 2286body.cm_category #main-content,body.cm_parts #main-content,body.cm_brand #main-content{margin-top:0!important} 2287:is(body.cm_category,body.cm_parts,body.cm_brand) .breadcrumbs{margin-bottom:0!important} 2288:is(body.cm_category,body.cm_parts,body.cm_brand) .breadcrumbs .breadcrumb-label,:is(body.cm_category,body.cm_parts,body.cm_brand) .breadcrumbs .breadcrumb-label span{font-family:var(--h-ui)!important;font-size:12px!important;font-weight:600!important;letter-spacing:.1em;text-transform:uppercase;color:var(--h-muted)!important} 2289:is(body.cm_category,body.cm_parts,body.cm_brand) .breadcrumbs .breadcrumb.is-active .breadcrumb-label span{color:var(--h-text)!important} 2290 2291/* results pages: breadcrumbs, heading and intro on one cream band; brand/category tile strip moved under the intro */ 2292body.cm_category .page--category>div.page-content{display:flex;flex-direction:column;background:var(--h-cream);box-shadow:0 0 0 100vmax var(--h-cream);clip-path:inset(0 -100vmax);padding-top:30px!important;padding-bottom:30px!important;margin-bottom:30px!important} 2293body.cm_category .page--category>div.page-content>#cm_category-page-category-tiles{order:1} 2294body.cm_category .page--category .page-heading{font-family:var(--h-disp)!important;font-weight:800!important;font-size:clamp(40px,4.4vw,62px)!important;line-height:.95!important;letter-spacing:.005em!important;text-transform:uppercase;color:var(--h-text)!important;margin:16px 0 14px!important;text-align:left!important} 2295body.cm_category .page--category .category-intro{max-width:820px;margin:0!important;font-size:15px;line-height:1.65;color:var(--h-muted)} 2296body.cm_category .page--category .category-intro p{margin:0 0 10px!important;font-size:inherit!important;line-height:inherit!important;color:inherit!important} 2297body.cm_category .page--category .category-intro strong{color:var(--h-text)} 2298body.cm_category .page--category .category-intro p:not(.tp-related-links) a,body.cm_category .category-description-full p:not(.tp-related-links) a{color:var(--h-text)!important;font-weight:600;text-decoration:underline!important;text-decoration-color:var(--h-gold)!important;text-decoration-thickness:2px!important;text-underline-offset:3px} 2299 2300/* tile strip (brands or categories): smaller white tiles, solid black round arrows */ 2301body.cm_category #cm_category-page-category-tiles{margin-top:22px} 2302body.cm_category #cm_category-page-category-tiles .cm_vehicle-categories{position:relative} 2303body.cm_category #cm_category-page-category-tiles .cmRepeater_hierarchicalGroups{grid-template-columns:none!important;grid-template-rows:auto!important;grid-auto-columns:146px!important;gap:10px!important;margin:0!important;padding:0 0 8px!important;scrollbar-width:thin;scrollbar-color:#cfc8b8 transparent} 2304body.cm_category #cm_category-page-category-tiles .cm_vehicle-categories_category-wrapper{width:auto!important;height:auto!important} 2305body.cm_category #cm_category-page-category-tiles a.cm_vehicle-categories_category-container{height:100%!important;padding:10px 10px 12px!important;background:#fff!important;border:1px solid var(--h-line)!important;border-radius:3px!important;box-shadow:none!important;transition:border-color .2s} 2306body.cm_category #cm_category-page-category-tiles a.cm_vehicle-categories_category-container:hover{border-color:var(--h-gold)!important} 2307body.cm_category #cm_category-page-category-tiles .cm_vehicle-categories_category-image-container{width:100%!important;height:72px!important} 2308body.cm_category #cm_category-page-category-tiles .cm_vehicle-categories_category-image{width:100%!important;height:72px!important;object-fit:contain!important;background:transparent!important} 2309body.cm_category #cm_category-page-category-tiles .cm_vehicle-categories_category-title-container{width:100%!important;padding:0!important} 2310body.cm_category #cm_category-page-category-tiles .cm_vehicle-categories_category-title{font-family:var(--h-disp)!important;font-weight:700!important;font-size:15px!important;line-height:1.05!important;letter-spacing:.02em!important;text-transform:uppercase;color:var(--h-text)!important;margin:9px 0 0!important} 2311body.cm_category #cm_category-page-category-tiles .cm_vehicle-categories_category-scroll-button{width:40px!important;height:40px!important;border:0!important;border-radius:50%!important;opacity:1!important;box-shadow:0 4px 14px rgba(0,0,0,.25)!important;background:#0a0a0b url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 5l7 7-7 7'/%3E%3C/svg%3E") center/18px no-repeat!important;transition:background-color .2s} 2312body.cm_category #cm_category-page-category-tiles .cm_vehicle-categories_category-scroll-button_left{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M15 5l-7 7 7 7'/%3E%3C/svg%3E")!important} 2313body.cm_category #cm_category-page-category-tiles .cm_vehicle-categories_category-scroll-button:before,body.cm_category #cm_category-page-category-tiles .cm_vehicle-categories_category-scroll-button:after{display:none!important} 2314body.cm_category #cm_category-page-category-tiles .cm_vehicle-categories_category-scroll-button:hover:not([disabled]){background-color:var(--h-gold)!important} 2315body.cm_category #cm_category-page-category-tiles .cm_vehicle-categories_category-scroll-button[disabled]{opacity:.28!important;cursor:default} 2316 2317/* "results are filtered to your vehicle" notice */ 2318body.cm_category .cm_vehicle-widget__message .cm_message>div{background:#fff!important;border:1px solid var(--h-line)!important;border-left:3px solid var(--h-gold)!important;border-radius:2px!important;padding:13px 18px!important;font-size:14px!important;line-height:1.5!important;color:var(--h-muted)!important} 2319body.cm_category .cm_vehicle-widget__message .cm_message>div span{color:var(--h-text)!important;font-weight:700!important} 2320body.cm_category .cm_vehicle-widget__message .cm_message a.cm_discard-vehicle{color:var(--h-text)!important;font-weight:600;cursor:pointer;text-decoration:underline!important;text-decoration-color:var(--h-gold)!important;text-decoration-thickness:2px!important;text-underline-offset:3px} 2321 2322/* ================= results pages: filter column ================= */ 2323body.cm_category .cm_SearchPage>.cm_FacetPanel{border:0!important;padding:0 6px 0 0!important} 2324body.cm_category .cm_FacetPanel .facetholder{border-top:1px solid var(--h-line)!important} 2325body.cm_category .cm_FacetPanel .facettitle,body.cm_category .cm_FacetPanel .facettitle span,body.cm_category .cm_FacetPanel .cm_vehicle-widget__facet-bar .cm_vehicle-widget_title{font-family:var(--h-ui)!important;font-size:12.5px!important;font-weight:700!important;letter-spacing:.16em!important;line-height:1.4!important;text-transform:uppercase;color:var(--h-text)!important}
2326body.cm_category .cm_FacetPanel .facettitle svg{fill:var(--h-gold-deep)!important;width:14px;height:14px} 2327body.cm_category .cm_FacetPanel .facetdiv{font-size:14px!important;color:var(--h-text)!important} 2328body.cm_category .cm_FacetPanel .facetentrykey{color:var(--h-text)!important} 2329body.cm_category .cm_FacetPanel .facetdiv:hover .facetentrykey{text-decoration:underline;text-decoration-color:var(--h-gold);text-underline-offset:3px} 2330body.cm_category .cm_FacetPanel .facetentryval{font-family:var(--h-ui)!important;font-size:12px!important;font-weight:600!important;color:var(--h-muted)!important} 2331body.cm_category .cm_FacetPanel input.cm_facet_checkbox{accent-color:var(--h-ink)} 2332body.cm_category .cm_FacetPanel a.cm_show-all{display:inline-block;font-family:var(--h-ui)!important;font-size:12px!important;font-weight:700!important;letter-spacing:.14em!important;text-transform:uppercase;color:var(--h-text)!important;text-decoration:none!important;border-bottom:2px solid var(--h-gold);padding-bottom:2px;line-height:1.4} 2333body.cm_category .cm_FacetPanel input.cm_filterInput,body.cm_category .cm_FacetPanel .cm_Inputs input{height:38px!important;border:1px solid #d6d1c6!important;border-radius:2px!important;font-size:14px!important;padding:0 10px!important;background:#fff!important;color:var(--h-text)!important;box-shadow:none!important} 2334body.cm_category .cm_FacetPanel .cm_Inputs{align-items:center} 2335body.cm_category .cm_FacetPanel .cm_Inputs .cm_btn{height:38px!important;background:var(--h-ink)!important;color:#fff!important;border:0!important;border-radius:2px!important;font-family:var(--h-ui)!important;font-weight:800!important;font-size:12.5px!important;letter-spacing:.1em!important} 2336 2337/* vehicle picker + vehicle sizes (sidebar, phone pop-up) */ 2338body.cm_category .cm_vehicle-widget__search .cm_vehicle-widget_title,body.cm_category .cm_vehicle-widget__dialog .cm_vehicle-widget_title{font-family:var(--h-disp)!important;font-weight:800!important;font-size:24px!important;line-height:1.05!important;text-transform:uppercase;letter-spacing:.01em!important;color:var(--h-text)!important;margin-bottom:12px!important} 2339body.cm_category .cm_vehicle-widget select{height:44px!important;padding-left:12px!important;font-size:15px!important;background-color:#fff!important;color:var(--h-text)!important;border:1px solid #d6d1c6!important;border-radius:2px!important;opacity:1!important} 2340body.cm_category .cm_vehicle-widget select:disabled{background-color:#f3f0ea!important;color:#8b8e95!important} 2341body.cm_category .cm_vehicle-widget .cm_vehicle-widget_button{min-height:44px!important;display:inline-flex!important;align-items:center;justify-content:center;border-radius:2px!important;font-family:var(--h-ui)!important;font-weight:800!important;font-size:13.5px!important;letter-spacing:.14em!important;line-height:1.2!important;text-transform:uppercase;opacity:1!important;box-shadow:none!important} 2342body.cm_category .cm_vehicle-widget .cm_vehicle-widget_button__go{background:var(--h-gold)!important;color:#111!important;border:0!important} 2343body.cm_category .cm_vehicle-widget .cm_vehicle-widget_button__go[disabled]:not([disabled="false"]){background:#3a3b40!important;color:#c9ccd3!important} 2344body.cm_category .cm_vehicle-widget .cm_vehicle-widget_button__clear{background:#fff!important;color:var(--h-text)!important;border:1px solid var(--h-text)!important} 2345body.cm_category .cm_vehicle-widget .cmTemplate_locked .cm_vehicle-widget_button{width:100%;background:var(--h-ink)!important;color:#fff!important;border:0!important;padding:10px 14px!important;gap:10px} 2346body.cm_category .cm_vehicle-widget .cmTemplate_locked .cm_vehicle-widget_button:before,body.cm_parts .cm_vehicle-widget__vehicle-categories .cmTemplate_locked .cm_vehicle-widget_button:before{content:"";display:block;position:static!important;transform:none!important;margin:0!important;flex:0 0 22px;width:22px;height:22px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23f4c14f' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 11l1.5-4.5A2 2 0 0 1 8.4 5h7.2a2 2 0 0 1 1.9 1.5L19 11'/%3E%3Cpath d='M3 16.5v-3.5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2v3.5'/%3E%3Ccircle cx='7.5' cy='16.5' r='2'/%3
2346E%3Ccircle cx='16.5' cy='16.5' r='2'/%3E%3Cpath d='M9.5 16.5h5'/%3E%3C/svg%3E") center/22px no-repeat} 2347body.cm_category .cm_wheel-tire-vehicle-info_inner-container{background:var(--h-cream)!important;border-radius:3px!important} 2348body.cm_category .cm_wheel-tire-vehicle-info_title-vehicle{font-family:var(--h-disp)!important;font-weight:800!important;font-size:19px!important;text-transform:uppercase;letter-spacing:.01em;color:var(--h-text)!important} 2349body.cm_category .cm_wheel-tire-vehicle-info_recommended-fitment__label{font-family:var(--h-ui)!important;font-size:11.5px!important;font-weight:700!important;letter-spacing:.14em;text-transform:uppercase;color:var(--h-gold-deep)!important} 2350body.cm_category .cm_wheel-tire-vehicle-info_size-item__label{color:var(--h-muted)!important} 2351body.cm_category .cm_wheel-tire-vehicle-info_size-item__value{color:var(--h-text)!important} 2352 2353/* results header: count + sort */ 2354body.cm_category .cm_total-hits span{font-family:var(--h-ui)!important;font-size:12.5px!important;font-weight:700!important;letter-spacing:.14em;text-transform:uppercase;color:var(--h-muted)!important} 2355body.cm_category .cm_sort{border:1px solid #d6d1c6!important;border-radius:2px!important;background:#fff!important} 2356body.cm_category .cm_sort .sort-label{font-family:var(--h-ui)!important;font-size:11.5px!important;font-weight:700!important;letter-spacing:.12em;text-transform:uppercase;color:var(--h-muted)!important} 2357body.cm_category .cm_sort select{font-size:14px!important;color:var(--h-text)!important;border:0!important;background-color:transparent!important} 2358body.cm_category .cm_facetDialogButton .cm_dialogButton{background:#fff!important;color:var(--h-text)!important;border:1px solid var(--h-text)!important;border-radius:2px!important;font-family:var(--h-ui)!important;font-weight:800!important;font-size:13px!important;letter-spacing:.12em!important;text-transform:uppercase} 2359body.cm_category .cm_facetDialogButton .cm_dialogButton svg{fill:var(--h-text)!important} 2360body.cm_category .cm_vehicle-widget__search-dialog-button .cm_vehicle-widget_button{background:var(--h-ink)!important;color:#fff!important;border:0!important;border-radius:2px!important;font-family:var(--h-ui)!important;font-weight:800!important;font-size:13px!important;letter-spacing:.12em!important;text-transform:uppercase} 2361 2362/* phone pop-ups: Filters + Vehicle */ 2363body.cm_category #cm_FacetDialog .dialog-header{border-bottom:1px solid var(--h-line)!important} 2364body.cm_category #cm_FacetDialog .dialog-title{font-family:var(--h-disp)!important;font-weight:800!important;font-size:24px!important;line-height:1!important;text-transform:uppercase;letter-spacing:.01em;color:var(--h-text)!important} 2365body.cm_category #cm_FacetDialog .total-hits{font-family:var(--h-ui)!important;font-size:11px!important;font-weight:600!important;letter-spacing:.1em;text-transform:uppercase;color:var(--h-muted)!important} 2366body.cm_category #cm_FacetDialog .dialog-header .cm_button{border-radius:2px!important;font-family:var(--h-ui)!important;font-weight:800!important;font-size:12px!important;letter-spacing:.12em!important;text-transform:uppercase} 2367body.cm_category #cm_FacetDialog .cm_facet-dialog_button-done{background:var(--h-gold)!important;color:#111!important;border:1px solid var(--h-gold)!important} 2368body.cm_category #cm_FacetDialog .cm_facet-dialog_button-clear{background:#fff!important;color:var(--h-text)!important;border:1px solid var(--h-text)!important} 2369body.cm_category #cm_VehicleWidgetDialog .dialog-content{border-radius:3px} 2370 2371/* ================= product cards (results + brand pages) ================= */ 2372:is(body.cm_category .cm_SearchResult,body.cm_brand #product-listing-container) .card{background:none!important;border:0!important;box-shadow:none!important} 2373:is(body.cm_category .cm_SearchResult,body.cm_brand #product-listing-container) .card-figure{background:var(--h-plinth)!important;border:0!important;border-radius:3px!important;box-shadow:none!important} 2374:is(body.cm_category .cm_SearchResult,body.cm_brand #product-listing-container) .card-figure img{mix-blend-mode:multiply;background:transparent!important;transition:transform .8s cubic-bezier(.2,.7,.2,1)} 2375:is(body.cm_category .cm_SearchResult,body.cm_brand #product-listing-container) .card:hover .card-figure img{transform:scale(1.04)} 2376/* hover "Add to Cart" bar: shows over the bottom of the photo (was a white box sliding over the name and price) */ 2377:is(body.cm_category .cm_SearchResult,body.cm_brand #product-listing-container) .card:hover .card-figcaption{top:auto!important;bottom:10px!important;left:10px!important;right:10px!important;width:auto!important;height:auto!important;padding:0!important;background:transparent!important} 2378:is(body.cm_category .cm_SearchResult,body.cm_brand #product-listing-container) .card:hover .card-figcaption-body{top:0!important;bottom:auto!important;width:100%!important} 2379:is(body.cm_category .cm_SearchResult,body.cm_brand #product-listing-container) .card-figcaption-button{background:var(--h-ink)!important;color:#fff!important;border:0!important;border-radius:2px!important;font-family:var(--h-ui)!important;font-weight:800!important;font-size:12px!important;letter-spacing:.12em!important;text-transform:uppercase} 2380:is(body.cm_category .cm_SearchResult,body.cm_brand #product-listing-container) .card-figcaption-button:hover{background:var(--h-gold)!important;color:#111!important} 2381:is(body.cm_category .cm_SearchResult,body.cm_brand #product-listing-container) .halo-badge,body.cm_brand #product-listing-container .sale-flag-side{background:var(--h-gold)!important;color:#111!important;border-radius:2px!important;padding:4px 9px!important;top:8px!important;left:8px!important;box-shadow:none!important} 2382:is(body.cm_category .cm_SearchResult,body.cm_brand #product-listing-container) .halo-badge *,:is(body.cm_category .cm_SearchResult,body.cm_brand #product-listing-container) .halo-badge:after,:is(body.cm_category .cm_SearchResult,body.cm_brand #product-listing-container) .halo-badge *:after,body.cm_brand #product-listing-container .sale-flag-side *{font-family:var(--h-ui)!important;font-weight:800!important;font-size:11.5px!important;letter-spacing:.1em!important;line-height:1.3!important;text-transform:uppercase;color:#111!important} 2383:is(body.cm_category .cm_SearchResult,body.cm_brand #product-listing-container) .stock-badge{background:var(--h-ink)!important;border-radius:2px!important;top:8px!important;right:8px!important;padding:4px 9px!important} 2384:is(body.cm_category .cm_SearchResult,body.cm_brand #product-listing-container) .stock-badge *{font-family:var(--h-ui)!important;font-weight:700!important;font-size:11px!important;letter-spacing:.08em!important;line-height:1.3!important;text-transform:uppercase;color:#fff!important} 2385:is(body.cm_category .cm_SearchResult,body.cm_brand #product-listing-container) .card-body{padding:14px 2px 0!important;text-align:left!important} 2386:is(body.cm_category .cm_SearchResult,body.cm_brand #product-listing-container) .card-title{margin:0 0 6px!important} 2387:is(body.cm_category .cm_SearchResult,body.cm_brand #product-listing-container) .card-title a{font-family:var(--h-disp)!important;font-weight:800!important;font-size:18px!important;line-height:1.1!important;letter-spacing:.01em!important;text-transform:uppercase;color:var(--h-text)!important} 2388:is(body.cm_category .cm_SearchResult,body.cm_brand #product-listing-container) .card-title a:hover{color:var(--h-gold-deep)!important} 2389:is(body.cm_category .cm_SearchResult,body.cm_brand #product-listing-container) .card-text .price{font-family:var(--h-ui)!important;font-weight:700!important;font-size:17px!important;color:var(--h-text)!important} 2390:is(body.cm_category .cm_SearchResult,body.cm_brand #product-listing-container) .card-text .price--non-sale,:is(body.cm_category .cm_SearchResult,body.cm_brand #product-listing-container) .card-text .price--rrp{font-size:13px!important;font-weight:500!important;color:#8b8e95!important;margin-left:3px} 2391:is(body.cm_category .cm_SearchResult,body.cm_brand #product-listing-container) .card-text .non-sale-price--withoutTax,:is(body.cm_category .cm_SearchResult,body.cm_brand #product-listing-container) .card-text .rrp-price--withoutTax{font-size:13px!important;color:#8b8e95!important} 2392:is(body.cm_category .cm_SearchResult,body.cm_brand #product-listing-container) .card-free-shipping{font-family:var(--h-ui)!important;font-size:12px!important;font-weight:600!important;color:var(--h-green)!important;margin-top:4px!important} 2393 2394/* ================= pagination ================= */ 2395body.cm_category .cm_pagination{margin:30px 0 10px!important} 2396body.cm_category .cm_pagination-repeater,body.cm_brand .pagination-list{display:flex!important;flex-wrap:wrap;gap:6px;justify-content:center;float:none!important;margin:0!important;padding:0!important}
2397body.cm_brand nav.pagination{display:block;height:auto!important;margin:30px 0 10px!important} 2398body.cm_brand .pagination-item{margin:0!important} 2399body.cm_category .cm_pagination-button{width:auto!important;min-width:40px;height:40px!important;padding:0!important;margin:0!important;border:1px solid var(--h-line)!important;border-radius:2px!important;background:#fff;display:flex!important;align-items:center;justify-content:center} 2400body.cm_category .cm_pagination-button .cm_pagination-page,body.cm_brand .pagination-link{display:flex!important;align-items:center;justify-content:center;gap:6px;min-width:40px;height:100%;padding:0 12px!important;font-family:var(--h-ui)!important;font-weight:700!important;font-size:14px!important;color:var(--h-text)!important;text-decoration:none!important;border:0!important} 2401body.cm_brand .pagination-link{height:40px!important;border:1px solid var(--h-line)!important;border-radius:2px!important;background:#fff} 2402body.cm_category .cm_pagination-active,body.cm_brand .pagination-item--current .pagination-link{background:var(--h-ink)!important;border-color:var(--h-ink)!important} 2403body.cm_category .cm_pagination-active .cm_pagination-page,body.cm_brand .pagination-item--current .pagination-link{color:#fff!important} 2404body.cm_category .cm_pagination-button:not(.cm_pagination-active):hover,body.cm_brand .pagination-item:not(.pagination-item--current) .pagination-link:hover{border-color:var(--h-gold)!important} 2405body.cm_category :is(.cm_pagination-next,.cm_pagination-prev,.cm_pagination-first,.cm_pagination-last) .cm_pagination-page,body.cm_brand :is(.pagination-item--next,.pagination-item--previous) .pagination-link{font-size:12.5px!important;letter-spacing:.12em;text-transform:uppercase} 2406 2407/* ================= results pages: text at the bottom ================= */ 2408body.cm_category .page--category>section.page-content{background:linear-gradient(var(--h-line),var(--h-line)) 50% 0/calc(100% - 30px) 1px no-repeat;margin-top:40px!important;padding-top:44px!important;padding-bottom:20px!important} 2409body.cm_category .category-description-full{max-width:820px;font-size:15px;line-height:1.7;color:var(--h-muted)} 2410body.cm_category .category-description-full p{margin:0 0 14px!important;font-size:inherit!important;line-height:inherit!important;color:inherit!important} 2411body.cm_category .category-description-full strong{color:var(--h-text)} 2412/* "Shop by bolt pattern / wheel size" link lines become rounded chips (the dots between links are only separators) */ 2413body.cm_category :is(.category-description-full,.category-intro) p.tp-related-links{font-size:0!important;line-height:0!important;margin:20px 0 6px!important} 2414body.cm_category :is(.category-description-full,.category-intro) p.tp-related-links strong{display:block;margin:0 0 10px;font-family:var(--h-ui);font-size:12px!important;line-height:1.4!important;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--h-gold-deep)!important} 2415body.cm_category :is(.category-description-full,.category-intro) p.tp-related-links a{display:inline-block;margin:0 8px 8px 0;font-size:14px!important;font-weight:400!important;line-height:1.2!important;padding:9px 15px;border:1px solid var(--h-line);border-radius:999px;color:var(--h-text)!important;background:#fff;text-decoration:none!important;transition:border-color .2s,background .2s} 2416body.cm_category :is(.category-description-full,.category-intro) p.tp-related-links a:hover{border-color:var(--h-gold);background:var(--h-cream)} 2417 2418/* ================= "choose a category" page ================= */ 2419/* the tile slider at the top repeats exactly the same links as the grid below it, so only the grid shows */ 2420body.cm_parts .page--category:has(>.main .cm_vehicle-categories__flat .cm_vehicle-categories_category-wrapper)>div.page-content #cm_category-page-category-tiles{display:none!important} 2421body.cm_parts .page--category>div.page-content{padding-top:24px!important;padding-bottom:18px!important} 2422body.cm_parts .page--category>div.page-content .page-heading:empty{display:none} 2423body.cm_parts .cm_vehicle-widget__vehicle-categories{background:var(--h-ink);border-radius:3px;padding:26px 28px 28px!important;margin:0 0 28px!important;color:#fff} 2424body.cm_parts .cm_vehicle-widget__vehicle-categories:has(.cmTemplate_locked){background:none;padding:0!important} 2425body.cm_parts .cm_vehicle-widget__vehicle-categories .cm_vehicle-widget_title{font-family:var(--h-disp)!important;font-weight:800!important;font-size:clamp(28px,3vw,40px)!important;line-height:1!important;letter-spacing:.005em!important;text-transform:uppercase;color:#fff!important;margin:0 0 18px!important} 2426body.cm_parts .cm_vehicle-widget__vehicle-categories select{height:48px!important;padding-left:12px!important;font-size:16px!important;background-color:#fff!important;color:var(--h-text)!important;border:0!important;border-radius:2px!important;opacity:1!important} 2427body.cm_parts .cm_vehicle-widget__vehicle-categories select:disabled{background-color:#e6e3dc!important;color:#6b6e75!important} 2428body.cm_parts .cm_vehicle-widget__vehicle-categories .cm_vehicle-widget_button{height:48px!important;display:inline-flex!important;align-items:center;justify-content:center;border-radius:2px!important;padding:0 24px!important;font-family:var(--h-ui)!important;font-size:14px!important;font-weight:800!important;letter-spacing:.14em!important;text-transform:uppercase;opacity:1!important} 2429body.cm_parts .cm_vehicle-widget__vehicle-categories .cm_vehicle-widget_button__go{background:var(--h-gold)!important;color:#111!important;border:0!important} 2430body.cm_parts .cm_vehicle-widget__vehicle-categories .cm_vehicle-widget_button__go[disabled]:not([disabled="false"]){background:#3a3b40!important;color:#c9ccd3!important} 2431body.cm_parts .cm_vehicle-widget__vehicle-categories .cm_vehicle-widget_button__clear{background:transparent!important;color:#fff!important;border:1px solid rgba(255,255,255,.5)!important} 2432body.cm_parts .cm_vehicle-widget__vehicle-categories .cmTemplate_locked .cm_vehicle-widget_button{width:100%;height:auto!important;min-height:68px;gap:14px;justify-content:flex-start!important;padding:14px 26px!important;background:var(--h-ink)!important;color:#fff!important;border:0!important;font-family:var(--h-disp)!important;font-size:clamp(24px,2.6vw,32px)!important;font-weight:800!important;letter-spacing:.01em!important;line-height:1!important} 2433body.cm_parts .cm_vehicle-widget__vehicle-categories .cmTemplate_locked .cm_vehicle-widget_button:before{flex-basis:28px;width:28px;height:28px;background-size:28px} 2434body.cm_parts .page--category>.main a.cm_vehicle-categories_category-container{height:100%!important;background:var(--h-plinth)!important;border:0!important;border-bottom:2px solid transparent!important;border-radius:3px!important;box-shadow:none!important;padding:18px 14px 16px!important;transition:border-color .2s,transform .2s} 2435body.cm_parts .page--category>.main a.cm_vehicle-categories_category-container:hover{border-bottom-color:var(--h-gold)!important;transform:translateY(-2px)} 2436body.cm_parts .page--category>.main .cm_vehicle-categories_category-image{mix-blend-mode:multiply;background:transparent!important} 2437body.cm_parts .page--category>.main .cm_vehicle-categories_category-title{font-family:var(--h-disp)!important;font-weight:800!important;font-size:20px!important;line-height:1.05!important;letter-spacing:.01em!important;text-transform:uppercase;color:var(--h-text)!important;margin:12px 0 0!important} 2438 2439/* ================= brand pages ================= */ 2440body.cm_brand #main-content>.container:first-child{background:var(--h-cream);box-shadow:0 0 0 100vmax var(--h-cream);clip-path:inset(0 -100vmax);padding-top:30px!important;padding-bottom:34px!important;margin-bottom:34px!important} 2441body.cm_brand #main-content>.container:first-child:has(>.brand-image-container){display:grid;grid-template-columns:230px minmax(0,1fr);
2441grid-template-areas:"crumbs crumbs" "logo title" "logo intro";column-gap:44px;align-items:center} 2442body.cm_brand #main-content>.container:first-child>nav{grid-area:crumbs;margin-bottom:22px} 2443body.cm_brand #main-content>.container:first-child>.page-heading{grid-area:title;align-self:end;font-family:var(--h-disp)!important;font-weight:800!important;font-size:clamp(40px,4.4vw,62px)!important;line-height:.95!important;letter-spacing:.005em!important;text-transform:uppercase;color:var(--h-text)!important;margin:0 0 14px!important;text-align:left!important} 2444body.cm_brand #main-content>.container:first-child>.brand-image-container{grid-area:logo;width:auto!important;height:auto!important;aspect-ratio:4/3;margin:0!important;padding:20px;background:#fff;border-radius:3px;display:flex!important;align-items:center;justify-content:center} 2445body.cm_brand #main-content>.container:first-child>.brand-image-container:before,body.cm_brand #main-content>.container:first-child>.brand-image-container:after{display:none!important} 2446body.cm_brand #main-content>.container:first-child>.brand-image-container img{position:static!important;margin:0!important;width:auto!important;height:auto!important;max-width:100%!important;max-height:110px!important;object-fit:contain} 2447body.cm_brand #main-content>.container:first-child>.brand-intro{grid-area:intro;align-self:start;max-width:820px;background:none!important;border:0!important;box-shadow:none!important;padding:0!important;margin:0!important} 2448body.cm_brand #main-content>.container:first-child>.brand-intro p{font-size:15px!important;line-height:1.65!important;color:var(--h-muted)!important;margin:0!important;padding:0!important} 2449body.cm_brand #main-content>.container:first-child>div:empty{display:none} 2450body.cm_brand aside.page-sidebar{border:0!important;padding:0 26px 0 0!important} 2451body.cm_brand .page-sidebar .accordion-title{font-family:var(--h-ui)!important;font-size:12.5px!important;font-weight:700!important;letter-spacing:.16em!important;text-transform:uppercase;color:var(--h-text)!important} 2452body.cm_brand .page-sidebar .form-input{height:40px!important;border:1px solid #d6d1c6!important;border-radius:2px!important;box-shadow:none!important} 2453body.cm_brand .page-sidebar .button{height:40px!important;background:var(--h-ink)!important;color:#fff!important;border:0!important;border-radius:2px!important;font-family:var(--h-ui)!important;font-weight:800!important;font-size:12.5px!important;letter-spacing:.12em!important;text-transform:uppercase} 2454body.cm_brand .page-sidebar .button:hover{background:var(--h-gold)!important;color:#111!important} 2455body.cm_brand form.actionBar .form-field{border:1px solid #d6d1c6!important;border-radius:2px!important;background:#fff!important} 2456body.cm_brand form.actionBar .form-label{font-family:var(--h-ui)!important;font-size:11.5px!important;font-weight:700!important;letter-spacing:.12em;text-transform:uppercase;color:var(--h-muted)!important} 2457body.cm_brand form.actionBar select{font-size:14px!important;color:var(--h-text)!important} 2458body.cm_brand .brand-bottom-sections .brand-section-title{font-family:var(--h-disp)!important;font-weight:800!important;font-size:clamp(28px,3vw,40px)!important;line-height:1!important;letter-spacing:.005em!important;text-transform:uppercase;color:var(--h-text)!important} 2459body.cm_brand .brand-bottom-sections .filter-pill{background:#fff!important;border:1px solid var(--h-line)!important;border-radius:999px!important;box-shadow:none!important;font-size:14px!important;font-weight:600!important;color:var(--h-text)!important;transition:border-color .2s,background .2s} 2460body.cm_brand .brand-bottom-sections .filter-pill:hover{border-color:var(--h-gold)!important;background:var(--h-cream)!important} 2461body.cm_brand .brand-bottom-sections .filter-count{color:var(--h-muted)!important;font-weight:500!important} 2462body.cm_brand .brand-faq-item{background:none!important;border:0!important;border-top:1px solid var(--h-line)!important;border-radius:0!important;box-shadow:none!important;margin:0!important} 2463body.cm_brand .brand-faq-question{background:none!important;border:0!important;box-shadow:none!important} 2464body.cm_brand .brand-faq-text{font-family:var(--h-ui)!important;font-weight:700!important;font-size:16px!important;color:var(--h-text)!important} 2465body.cm_brand .brand-faq-icon{color:var(--h-gold-deep)!important} 2466body.cm_brand .brand-faq-answer p{font-size:15px!important;line-height:1.7!important;color:var(--h-muted)!important} 2467body.cm_brand .brand-order-content{background:var(--h-cream)!important;border:0!important;border-radius:3px!important;box-shadow:none!important} 2468body.cm_brand .brand-order-content p{color:#33363c!important;line-height:1.75!important} 2469body.cm_brand .brand-bottom-sections a{color:var(--h-text)!important;text-decoration:underline!important;text-decoration-color:var(--h-gold)!important;text-decoration-thickness:2px!important;text-underline-offset:3px} 2470 2471/* ================= footer boxes (same as homepage + product pages) ================= */ 2472:is(body.cm_category,body.cm_parts,body.cm_brand) section.tpq-inline{background:var(--h-ink2)!important;border-radius:2px!important} 2473:is(body.cm_category,body.cm_parts,body.cm_brand) section.tpq-inline h3{font-family:var(--h-disp)!important;font-weight:800!important;font-size:28px!important;text-transform:uppercase;letter-spacing:.01em} 2474:is(body.cm_category,body.cm_parts,body.cm_brand) section.tpq-inline button{background:var(--h-gold)!important;color:#111!important;border:0!important;border-radius:2px!important;font-family:var(--h-ui)!important;font-weight:800!important;letter-spacing:.12em!important} 2475:is(body.cm_category,body.cm_parts,body.cm_brand) section.tpq-inline button:hover{background:var(--h-gold-hi)!important} 2476:is(body.cm_category,body.cm_parts,body.cm_brand) .footer-seo-content .footer-seo-heading{font-family:var(--h-disp)!important;font-weight:800!important;font-size:clamp(24px,3vw,40px)!important;line-height:1.02!important;text-transform:uppercase;letter-spacing:.005em} 2477:is(body.cm_category,body.cm_parts,body.cm_brand) .footer-seo-content .footer-seo-col h4{font-family:var(--h-disp)!important;font-weight:700!important;font-size:20px!important;text-transform:uppercase;letter-spacing:.01em;border-bottom-color:var(--h-gold)!important} 2478:is(body.cm_category,body.cm_parts,body.cm_brand) .footer-seo-content .footer-seo-col p a{color:var(--h-text)!important;text-decoration:underline!important;text-decoration-color:var(--h-gold)!important;text-decoration-thickness:2px!important;text-underline-offset:3px} 2479 2480/* ================= phones ================= */ 2481@media(max-width:700px){ 2482:is(body.cm_category,body.cm_parts,body.cm_brand) .breadcrumbs .breadcrumb-label,:is(body.cm_category,body.cm_parts,body.cm_brand) .breadcrumbs .breadcrumb-label span{font-size:11px!important;letter-spacing:.06em} 2483body.cm_category .page--category>div.page-content{padding-top:20px!important;padding-bottom:22px!important;margin-bottom:22px!important} 2484body.cm_category .page--category .page-heading{font-size:40px!important;margin:12px 0 10px!important} 2485body.cm_category .page--category .category-intro{font-size:14px;line-height:1.6} 2486body.cm_category #cm_category-page-category-tiles{margin-top:16px} 2487body.cm_category #cm_category-page-category-tiles .cmRepeater_hierarchicalGroups{grid-auto-columns:116px!important;gap:8px!important} 2488body.cm_category #cm_category-page-category-tiles a.cm_vehicle-categories_category-container{padding:8px 8px 10px!important} 2489body.cm_category #cm_category-page-category-tiles .cm_vehicle-categories_category-image-container,body.cm_category #cm_category-page-category-tiles .cm_vehicle-categories_category-image{height:58px!important} 2490body.cm_category #cm_category-page-category-tiles .cm_vehicle-categories_category-title{font-size:13.5px!important} 2491body.cm_category #cm_category-page-category-tiles .cm_vehicle-categories_category-scroll-button{width:36px!important;height:36px!important;background-size:16px!important} 2492body.cm_category .cm_wheel-tire-vehicle-info.cm_desktop-hide .facettitle{font-family:var(--h-disp)!important;font-weight:800!important;font-size:22px!important;text-transform:uppercase;letter-spacing:.01em;color:var(--h-text)!important}
2493/* sort / vehicle / filters row: three equal boxes */ 2494body.cm_category .cm_SearchHeader_container{gap:8px;align-items:stretch} 2495body.cm_category .cm_SearchHeader_container>*{flex:1 1 0!important;min-width:0!important;width:auto!important;margin:0!important} 2496body.cm_category .cm_SearchHeader_container .cm_SearchHeader{display:flex} 2497body.cm_category .cm_SearchHeader_container .cm_SearchHeader>*{flex:1 1 auto;min-width:0} 2498body.cm_category .cm_SearchHeader_container .cm_sort select{width:100%!important;max-width:none!important;margin:0!important;height:40px!important;padding-left:8px!important;font-size:13px!important} 2499body.cm_category .cm_SearchHeader_container .cm_sort,body.cm_category .cm_facetDialogButton .cm_dialogButton,body.cm_category .cm_vehicle-widget__search-dialog-button .cm_vehicle-widget_button{width:100%!important;height:42px!important;min-height:42px!important;padding:0 8px!important;display:flex!important;align-items:center;justify-content:center;gap:6px;font-size:12px!important;letter-spacing:.08em!important;white-space:nowrap} 2500/* product photos stay square in the two-across grid */ 2501:is(body.cm_category .cm_SearchResult,body.cm_brand #product-listing-container) .card{display:flex!important;flex-direction:column!important;flex-wrap:nowrap!important;height:auto!important} 2502:is(body.cm_category .cm_SearchResult,body.cm_brand #product-listing-container) .card-body{flex:0 0 auto!important;height:auto!important;display:block!important;width:100%} 2503:is(body.cm_category .cm_SearchResult,body.cm_brand #product-listing-container) .card-figure{flex:0 0 auto!important;width:100%!important;height:auto!important;padding:6px!important} 2504:is(body.cm_category .cm_SearchResult,body.cm_brand #product-listing-container) .card-figure__link{width:100%!important;height:auto!important;aspect-ratio:1/1} 2505:is(body.cm_category .cm_SearchResult,body.cm_brand #product-listing-container) .card-figure img.card-image{width:100%!important;height:100%!important;max-height:none!important;margin:0!important;object-fit:contain!important} 2506:is(body.cm_category .cm_SearchResult,body.cm_brand #product-listing-container) .productGrid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:26px 12px;margin:0!important;padding:0!important} 2507:is(body.cm_category .cm_SearchResult,body.cm_brand #product-listing-container) .productGrid>.product{width:auto!important;max-width:none!important;padding:0!important;margin:0!important;min-width:0} 2508:is(body.cm_category .cm_SearchResult,body.cm_brand #product-listing-container) .card-body{padding-top:10px!important} 2509:is(body.cm_category .cm_SearchResult,body.cm_brand #product-listing-container) .card-title a{font-size:15px!important} 2510:is(body.cm_category .cm_SearchResult,body.cm_brand #product-listing-container) .card-text .price{font-size:15px!important} 2511:is(body.cm_category .cm_SearchResult,body.cm_brand #product-listing-container) .halo-badge,body.cm_brand #product-listing-container .sale-flag-side{top:6px!important;left:6px!important;padding:3px 7px!important} 2512:is(body.cm_category .cm_SearchResult,body.cm_brand #product-listing-container) .stock-badge{top:auto!important;bottom:6px!important;left:6px!important;right:auto!important;padding:3px 7px!important} 2513:is(body.cm_category .cm_SearchResult,body.cm_brand #product-listing-container) :is(.halo-badge,.sale-flag-side,.stock-badge) *{font-size:10px!important;letter-spacing:.06em!important} 2514body.cm_category .page--category>section.page-content{margin-top:28px!important;padding-top:32px!important} 2515body.cm_category .category-description-full{font-size:14px;line-height:1.65} 2516body.cm_category :is(.category-description-full,.category-intro) p.tp-related-links a{font-size:13px!important;padding:8px 12px;margin:0 6px 6px 0} 2517/* top of page: the link chips sit in one sideways-scrolling row so products are not pushed down */ 2518body.cm_category .category-intro p.tp-related-links{white-space:nowrap;overflow-x:auto;scrollbar-width:none;margin-right:-15px!important;padding-right:15px} 2519body.cm_category .category-intro p.tp-related-links::-webkit-scrollbar{display:none} 2520body.cm_brand aside.page-sidebar{padding:0!important;margin-bottom:0!important} 2521body.cm_parts .cm_vehicle-widget__vehicle-categories{padding:18px 16px 18px!important} 2522body.cm_parts .cm_vehicle-widget__vehicle-categories .cm_vehicle-widget_title{font-size:28px!important;margin-bottom:14px!important} 2523body.cm_parts .cm_vehicle-widget__vehicle-categories .cmTemplate_locked .cm_vehicle-widget_button{min-height:56px;padding:12px 16px!important;font-size:22px!important} 2524body.cm_parts .page--category>.main a.cm_vehicle-categories_category-container{padding:12px 10px 12px!important} 2525body.cm_parts .page--category>.main .cm_vehicle-categories_category-title{font-size:16px!important;margin-top:8px!important} 2526body.cm_brand #main-content>.container:first-child{padding-top:20px!important;padding-bottom:24px!important;margin-bottom:24px!important} 2527body.cm_brand #main-content>.container:first-child:has(>.brand-image-container){grid-template-columns:minmax(0,1fr);grid-template-areas:"crumbs" "logo" "title" "intro"} 2528body.cm_brand #main-content>.container:first-child>nav{margin-bottom:14px} 2529body.cm_brand #main-content>.container:first-child>.brand-image-container{justify-self:start;width:150px!important;aspect-ratio:auto;padding:10px 14px;margin:0 0 14px!important} 2530body.cm_brand #main-content>.container:first-child>.brand-image-container img{max-height:54px!important} 2531body.cm_brand #main-content>.container:first-child>.page-heading{font-size:40px!important;margin-bottom:10px!important} 2532body.cm_brand #main-content>.container:first-child>.brand-intro p{font-size:14px!important;line-height:1.6!important} 2533body.cm_brand .brand-bottom-sections .brand-section-title{font-size:26px!important} 2534body.cm_brand .brand-faq-text{font-size:15px!important} 2535:is(body.cm_category,body.cm_parts,body.cm_brand) section.tpq-inline h3{font-size:22px!important} 2536} 2537/* ---------- phones: floating fit / chat / contact buttons moved into one small right-hand column (2026-09-28) ---------- 2538 All three stay and open as before; only their size and spot change. Column sits above the sticky Add to Cart bar 2539 (product pages) and above the cookie notice while it shows. */ 2540@media(max-width:700px){ 2541body{--tpf-base:0px} 2542body:has(#stickyATC[style*="display: block"]){--tpf-base:62px} 2543body:has(> .cookieinfo){--tpf-base:118px} 2544body:has(> .cookieinfo):has(#stickyATC[style*="display: block"]){--tpf-base:182px} 2545body #emailPopupOpen{position:fixed!important;left:auto!important;right:14px!important;bottom:calc(14px + var(--tpf-base))!important;width:50px!important;height:50px!important;min-width:0!important;padding:0!important;border:0!important;border-radius:50%!important;background:#0a0a0b!important;box-shadow:0 6px 18px rgba(0,0,0,.25)!important;display:flex!important;align-items:center!important;justify-content:center!important} 2546body #emailPopupOpen img{width:24px!important;height:24px!important} 2547body #tp-live-chat{left:auto!important;right:14px!important;bottom:calc(74px + var(--tpf-base))!important} 2548body #tp-live-chat .tp-chat-launcher{background:#0a0a0b!important;width:50px!important;height:50px!important;min-width:0!important;padding:0!important;gap:0!important;border-radius:50%!important;display:flex!important;align-items:center!important;justify-content:center!important;box-shadow:0 6px 18px rgba(0,0,0,.25)!important} 2549body #tp-live-chat .tp-chat-copy{display:none!important} 2550body #tp-quiz-chip{left:auto!important;right:14px!important;bottom:calc(134px + var(--tpf-base))!important;width:50px!important;height:50px!important;min-width:0!important;padding:0!important;border:0!important;border-radius:50%!important;font-size:0!important;line-height:0!important;letter-spacing:0!important;color:transparent!important;background:#e0a830 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23111' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 11l1.5-4.5A2 2 0 0 1 8.4 5h7.2a2 2 0 0 1 1.9 1.5L19 11'/%3E%3Cpath d='M3 16.5v-3.5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2v3.5'/%3E%3Ccircle cx='7.5' cy='16.5' r='2'/%3
2550E%3Ccircle cx='16.5' cy='16.5' r='2'/%3E%3Cpath d='M9.5 16.5h5'/%3E%3C/svg%3E") center/26px no-repeat!important;box-shadow:0 6px 18px rgba(0,0,0,.25)!important} 2551body #tp-quiz-chip .tpq-x{position:absolute!important;top:-5px!important;right:-5px!important;width:20px!important;height:20px!important;border-radius:50%!important;background:#fff!important;color:#111!important;font-size:13px!important;line-height:20px!important;text-align:center!important;box-shadow:0 1px 4px rgba(0,0,0,.25)!important;margin:0!important;padding:0!important} 2552} 2553/* floating fit / chat / contact buttons drop behind anything that opens over the page (phone menu, search, filters 2554 pop-up, vehicle pop-up, protection pop-up, BigCommerce modals) and come straight back when it closes. 2555 Same markers as the pending theme fix TP-002 (measured on the live site 2026-09-25). */ 2556body.has-activeNavPages #tp-quiz-chip,body.has-activeNavPages #tp-live-chat,body.has-activeNavPages #emailPopupOpen, 2557body.has-activeModal #tp-quiz-chip,body.has-activeModal #tp-live-chat,body.has-activeModal #emailPopupOpen, 2558body:has(#cm_SearchBoxDialog:not(:empty)) #tp-quiz-chip,body:has(#cm_SearchBoxDialog:not(:empty)) #tp-live-chat,body:has(#cm_SearchBoxDialog:not(:empty)) #emailPopupOpen, 2559body:has(#cm_FacetDialog:not(:empty)) #tp-quiz-chip,body:has(#cm_FacetDialog:not(:empty)) #tp-live-chat,body:has(#cm_FacetDialog:not(:empty)) #emailPopupOpen, 2560body:has(#cm_VehicleWidgetDialog:not(:empty)) #tp-quiz-chip,body:has(#cm_VehicleWidgetDialog:not(:empty)) #tp-live-chat,body:has(#cm_VehicleWidgetDialog:not(:empty)) #emailPopupOpen, 2561body:has(#extend-offers-modal-iframe:not([style*="display: none"])) #tp-quiz-chip,body:has(#extend-offers-modal-iframe:not([style*="display: none"])) #tp-live-chat,body:has(#extend-offers-modal-iframe:not([style*="display: none"])) #emailPopupOpen{z-index:40!important} 2562/* ---------- test fixes 2026-09-28 ---------- */ 2563@media(max-width:700px){ 2564/* sort box gets the extra room it needs so "Best Match" / "Price: Low - High" fit */ 2565body.cm_category .cm_SearchHeader_container>*{flex:1 1 0!important} 2566body.cm_category .cm_SearchHeader_container>.cm_SearchHeader:has(.cm_sort){flex:1.7 1 0!important} 2567body.cm_category .cm_SearchHeader_container .cm_sort select{font-size:12px!important;padding-right:20px!important;background-position:right 4px center!important;text-overflow:ellipsis} 2568body.cm_category .cm_SearchHeader_container .cm_vehicle-widget__search-dialog-button .cm_vehicle-widget_button,body.cm_category .cm_SearchHeader_container .cm_facetDialogButton .cm_dialogButton{font-size:11.5px!important;letter-spacing:.06em!important;padding:0 6px!important} 2569/* tile strip: right arrow moved in from the edge so it sits clear of the floating fit / chat / contact column */ 2570body.cm_category #cm_category-page-category-tiles .cm_vehicle-categories_category-scroll-button_right{right:62px!important;left:auto!important} 2571} 2572/* floating buttons move together (no slide), so they never pass over each other while the cookie notice closes */ 2573@media(max-width:700px){ 2574body #tp-quiz-chip,body #tp-live-chat,body #emailPopupOpen{transition-property:opacity,transform!important} 2575} 2576</style> 2577 2578</div></div> <div class="body " id='main-content' role='main' data-currency-code="USD"> 2579 2580 2581 2582<div class="page page--category"> 2583 <div class="page-content container"> 2584 <div id="cm_category-page-category-tiles"></div> 2585 <nav aria-label="Breadcrumb"> 2586 <ol class="breadcrumbs"> 2587 <li class="breadcrumb "> 2588 <a class="breadcrumb-label" 2589 href="https://www.threepiece.us/" 2590 2591 > 2592 <span> 2593 Home 2594 <meta itemprop="position" content="0" /> 2595 </span> 2596 </a> 2597 </li> 2598 <li class="breadcrumb is-active"> 2599 <a class="breadcrumb-label" 2600 href="https://www.threepiece.us/shop/" 2601 aria-current="page" 2602 >
2603 <span> 2604 Shop 2605 <meta itemprop="position" content="1" /> 2606 </span> 2607 </a> 2608 </li> 2609 </ol> 2610</nav> 2611
2612<script type="application/ld+json"> 2613{ 2614 "@context": "https://schema.org", 2615 "@type": "BreadcrumbList", 2616 "itemListElement": 2617 [ 2618 { 2619 "@type": "ListItem", 2620 "position": 1, 2621 "item": { 2622 "@id": "https:\u002f\u002fwww.threepiece.us\u002f", 2623 "name": "Home" 2624 } 2625 }, 2626 { 2627 "@type": "ListItem", 2628 "position": 2, 2629 "item": { 2630 "@id": "https:\u002f\u002fwww.threepiece.us\u002fshop\u002f", 2631 "name": "Shop" 2632 } 2633 } 2634 ] 2635} 2636</script>
2636 2637 2638 <h1 class="page-heading">Shop</h1> 2639 </div> 2640 2641 <div class="main full grid-bg"> 2642 <div class="container"> 2643 <aside class="page-sidebar" id="faceted-search-container"> 2644 <div class="sidebar-nav-mobile"> 2645 <a href="#subcategoryList" role="button" class="facetedSearch-toggle toggleLink toggleSidebarBlock button" data-collapsible> 2646 <span class="facetedSearch-toggle-indicator"> 2647 <span class="toggleLink-text toggleLink-text--on"> 2648 <i class="icon" aria-hidden="true"> 2649 <svg><use xlink:href="#icon-close"></use></svg> 2650 </i> 2651 <span>Close to View Results</span> 2652 </span> 2653 <span class="toggleLink-text toggleLink-text--off"> 2654 <span> 2655 <i class="icon" aria-hidden="true"> 2656 <svg><use xlink:href="#icon-sort"></use></svg> 2657 </i> 2658 Subcategories 2659 </span> 2660 </span> 2661 </span> 2662 </a> 2663 <a href="#facetedSearch-navList" role="button" class="facetedSearch-toggle toggleLink button" data-collapsible="" aria-controls="facetedSearch-navList" aria-expanded="true"> 2664 <span class="facetedSearch-toggle-indicator"> 2665 <span class="toggleLink-text toggleLink-text--on"> 2666 <i class="icon" aria-hidden="true"> 2667 <svg><use xlink:href="#icon-close"></use></svg> 2668 </i> 2669 Close to View Results 2670 </span> 2671 2672 <span class="toggleLink-text toggleLink-text--off"> 2673 <i class="icon" aria-hidden="true"> 2674 <svg><use xlink:href="#icon-filter"></use></svg> 2675 </i> 2676 <span>Filter</span> 2677 </span> 2678 </span> 2679 </a> 2680</div> 2681 2682<nav class="facetedSearch-enabled"> 2683 <div class="facetedSearch sidebarBlock"> 2684 <div id="subcategoryList" class="facetedSearch-navList blocker-container"> 2685 <div class="accordion accordion--navList"> 2686 <h5 class="sidebarBlock-heading">Shop</h5> 2687 <ul class="navList"> 2688 <li class="navList-item"> 2689 <a class="navList-action" href="https://www.threepiece.us/best-deals/" aria-label="BEST DEALS" title="BEST DEALS">BEST DEALS</a> 2690 </li> 2691 <li class="navList-item"> 2692 <a class="navList-action" href="https://www.threepiece.us/exhaust" aria-label="Exhaust" title="Exhaust">Exhaust</a> 2693 </li> 2694 <li class="navList-item"> 2695 <a class="navList-action" href="https://www.threepiece.us/shop/lifestyle/" aria-label="Lifestyle" title="Lifestyle">Lifestyle</a> 2696 </li> 2697 <li class="navList-item"> 2698 <a class="navList-action" href="https://www.threepiece.us/new-wheels" aria-label="Wheels" title="Wheels">Wheels</a> 2699 </li> 2700 <li class="navList-item"> 2701 <a class="navList-action" href="https://www.threepiece.us/tires/" aria-label="Tires" title="Tires">Tires</a> 2702 </li> 2703 <li class="navList-item"> 2704 <a class="navList-action" href="https://www.threepiece.us/suspension/" aria-label="Suspension" title="Suspension">Suspension</a> 2705 </li> 2706 <li class="navList-item"> 2707 <a class="navList-action" href="https://www.threepiece.us/brakes/" aria-label="Brakes" title="Brakes">Brakes</a> 2708 </li> 2709 <li class="navList-item"> 2710 <a class="navList-action" href="https://www.threepiece.us/exterior/" aria-label="Exterior" title="Exterior">Exterior</a> 2711 </li> 2712 <li class="navList-item"> 2713 <a class="navList-action" href="https://www.threepiece.us/wheel-accessories/" aria-label="Wheel Parts" title="Wheel Parts">Wheel Parts</a> 2714 </li> 2715 <li class="navList-item"> 2716 <a class="navList-action" href="https://www.threepiece.us/sale/" aria-label="SALE" title="SALE">SALE</a> 2717 </li> 2718 </ul> 2719 </div> 2720 <div class="blocker" style="display: none;"></div> 2721 </div> 2722 </div> 2723 <div id="facetedSearch" class="facetedSearch sidebarBlock"> 2724 2725 <a href="#facetedSearch-navList" role="button" class="facetedSearch-toggle toggleLink button" data-collapsible>
2726 <span class="facetedSearch-toggle-indicator"> 2727 <span class="toggleLink-text toggleLink-text--on"> 2728 Hide Filters 2729 2730 <i class="icon" aria-hidden="true"> 2731 <svg><use xlink:href="#icon-chevron-down"/></svg> 2732 </i> 2733 </span> 2734 2735 <span class="toggleLink-text toggleLink-text--off"> 2736 Show Filters 2737 2738 <i class="icon" aria-hidden="true"> 2739 <svg><use xlink:href="#icon-chevron-down"/></svg> 2740 </i> 2741 </span> 2742 </span> 2743 </a> 2744 2745</div> 2746</nav> 2747 </aside> 2748 2749 2750 <main class="page-content" id="product-listing-container"> 2751 2752 2753 <div class="sort-and-pagination"> 2754 <form class="actionBar sort-products" method="get" data-sort-by="product"> 2755 <fieldset class="form-fieldset actionBar-section"> 2756 <div class="form-field"> 2757 <label class="form-label" for="sort">Sort By:</label> 2758 <select class="form-select form-select--small" name="sort" id="sort"> 2759 <option value="featured" selected>Featured Items</option> 2760 <option value="newest" >Newest Items</option> 2761 <option value="bestselling" >Best Selling</option> 2762 <option value="alphaasc" >A to Z</option> 2763 <option value="alphadesc" >Z to A</option> 2764 <option value="avgcustomerreview" >By Review</option> 2765 <option value="priceasc" >Price: Ascending</option> 2766 <option value="pricedesc" >Price: Descending</option> 2767 </select> 2768 </div> 2769</fieldset> 2770</form> 2771 <nav class="pagination" aria-label="pagination"> 2772 <ul class="pagination-list"> 2773 <li class="pagination-item pagination-item--current"> 2774 <a class="pagination-link" 2775 href="https://www.threepiece.us/shop/?page=1" 2776 data-faceted-search-facet 2777 aria-current="page" 2778 data-pagination-current-page-link 2779 aria-label="Page 1 of 6" 2780 > 2781 1 2782 </a> 2783 </li> 2784 <li class="pagination-item "> 2785 <a class="pagination-link" 2786 href="https://www.threepiece.us/shop/?page=2" 2787 data-faceted-search-facet 2788 aria-label="Page 2 of 6" 2789 > 2790 2 2791 </a> 2792 </li> 2793 <li class="pagination-item "> 2794 <a class="pagination-link" 2795 href="https://www.threepiece.us/shop/?page=3" 2796 data-faceted-search-facet 2797 aria-label="Page 3 of 6" 2798 > 2799 3 2800 </a> 2801 </li> 2802 <li class="pagination-item "> 2803 <a class="pagination-link" 2804 href="https://www.threepiece.us/shop/?page=4" 2805 data-faceted-search-facet 2806 aria-label="Page 4 of 6" 2807 > 2808 4 2809 </a> 2810 </li> 2811 <li class="pagination-item "> 2812 <a class="pagination-link" 2813 href="https://www.threepiece.us/shop/?page=5" 2814 data-faceted-search-facet 2815 aria-label="Page 5 of 6" 2816 > 2817 5 2818 </a> 2819 </li> 2820 <li class="pagination-item "> 2821 <a class="pagination-link" 2822 href="https://www.threepiece.us/shop/?page=6" 2823 data-faceted-search-facet 2824 aria-label="Page 6 of 6" 2825 > 2826 6 2827 </a> 2828 </li> 2829 2830 <li class="pagination-item pagination-item--next"> 2831 <a class="pagination-link" 2832 href="https://www.threepiece.us/shop/?page=2" 2833 data-faceted-search-facet 2834 aria-label="Next" 2835 > 2836 Next 2837 <i class="icon" aria-hidden="true"> 2838 <svg> 2839 <use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="#icon-chevron-right"></use> 2840 </svg> 2841 </i> 2842 </a> 2843 </li> 2844 </ul> 2845</nav> 2846 </div> 2847 2848 <div > 2849 <ul class="productGrid"> 2850 <li class="product"> 2851 <article 2852 class="card 2853 2854 " 2855 data-tp-stock="60" 2856 data-tp-cats="Shop/Wheels/Vors;;Shop/Wheels/Vors/VR7;;" 2857> 2858 <figure class="card-figure"> 2859 2860 2861 <a href="https://www.threepiece.us/vors-vr7-4x100-4x114-3-15x8-0-all-black-gold-rivet/" 2862 class="card-figure__link"
2863 aria-label="Vors VR7 4x100/4x114.3 15x8 +0 All Black Gold Rivet, $165.00 2864 2865" 2866" 2867 2868 > 2869 <div class="card-img-container"> 2870 <img class="card-image lazyload" 2871 data-sizes="auto" 2872 src="https://cdn11.bigcommerce.com/s-8zxb6tk/stencil/216f56b0-a0c6-013f-37ac-06627e5707c7/e/fa349870-8a84-013f-3c49-5e8f456a1dbe/img/loading.svg" 2873 data-src="https://cdn11.bigcommerce.com/s-8zxb6tk/images/stencil/300x300/products/785748/2161523/Xla94uF__80442.1699941213.png?c=2" 2874 alt="Vors VR7 4x100/4x114.3 15x8 +0 All Black Gold Rivet" 2875 title="Vors VR7 4x100/4x114.3 15x8 +0 All Black Gold Rivet" 2876 loading="lazy" 2877 decoding="async" 2878 width="500" 2879 height="500"> 2880 </div> 2881 </a> 2882 <figcaption class="card-figcaption"> 2883 <div class="card-figcaption-body"> 2884 <div class="card-figcaption--action-buttons"> 2885 <a href="https://www.threepiece.us/cart.php?action=add&product_id=785748" data-event-type="product-click" class="button button--small card-figcaption-button" aria-label="Add to Cart - Vors VR7 4x100/4x114.3 15x8 +0 All Black Gold Rivet">Add to Cart</a> 2886 </div> 2887 </div> 2888 </figcaption> 2889 </figure> 2890 <div class="card-body"> 2891 <div> 2892 <h4 class="card-title"> 2893 <a aria-label="Vors VR7 4x100/4x114.3 15x8 +0 All Black Gold Rivet, $165.00 2894 2895" 2896" 2897 href="https://www.threepiece.us/vors-vr7-4x100-4x114-3-15x8-0-all-black-gold-rivet/" 2898 2899 > 2900 Vors VR7 4x100/4x114.3 15x8 +0 All Black Gold Rivet 2901 </a> 2902 </h4> 2903 <div class="card-text" data-test-info-type="price"> 2904 2905 <div class="price-section price-section--withoutTax " > 2906 <span class="price-section price-section--withoutTax non-sale-price--withoutTax" style="display: none;"> 2907 <span data-product-non-sale-price-without-tax class="price price--non-sale"> 2908 2909 </span> 2910 </span> 2911 2912 <span data-product-price-without-tax class="price price--withoutTax">$165.00</span> 2913 2914 <div class="price-section price-section--withoutTax rrp-price--withoutTax" style="display: none;"> 2915 <span data-product-rrp-without-tax class="price price--rrp"></span> 2916 </div> 2917 </div> 2918 2919 </div> 2920 <p class="affirm-as-low-as" data-page-type="category" data-amount="16500"></p> 2921 <p class="card-free-shipping">Free Shipping</p> 2922 </div> 2923 2924 <div class="card-details"> 2925 2926 </div> 2927 </div> 2928</article> 2929<style> 2930 .card-free-shipping { 2931 font-size: 0.7rem; 2932 font-weight: 700; 2933 color: #2e7d32; 2934 margin: 0.1rem 0 0 0; 2935 line-height: 1.3; 2936 } 2937</style> 2938 </li> 2939 <li class="product"> 2940 <article 2941 class="card 2942 2943 " 2944 data-tp-stock="33" 2945 data-tp-cats="Shop/Wheels/Vors;;Shop/Wheels/Vors/VR2;;" 2946> 2947 <figure class="card-figure"> 2948 2949 2950 <a href="https://www.threepiece.us/vors-vr2-4x100-15x8-20-silver-machine-face-lip-chrome-rivet/" 2951 class="card-figure__link" 2952 aria-label="Vors VR2 4x100 15x8 +20 Silver Machine Face Lip Chrome Rivet, $165.00 2953 2954" 2955" 2956 2957 > 2958 <div class="card-img-container"> 2959 <img class="card-image lazyload" 2960 data-sizes="auto" 2961 src="https://cdn11.bigcommerce.com/s-8zxb6tk/stencil/216f56b0-a0c6-013f-37ac-06627e5707c7/e/fa349870-8a84-013f-3c49-5e8f456a1dbe/img/loading.svg" 2962 data-src="https://cdn11.bigcommerce.com/s-8zxb6tk/images/stencil/300x300/products/785667/2161442/aRp1f22__90557.1699941185.png?c=2" 2963 alt="Vors VR2 4x100 15x8 +20 Silver Machine Face Lip Chrome Rivet" 2964 title="Vors VR2 4x100 15x8 +20 Silver Machine Face Lip Chrome Rivet" 2965 loading="lazy" 2966 decoding="async" 2967 width="500" 2968 height="500"> 2969 </div> 2970 </a>
2971 <figcaption class="card-figcaption"> 2972 <div class="card-figcaption-body"> 2973 <div class="card-figcaption--action-buttons"> 2974 <a href="https://www.threepiece.us/cart.php?action=add&product_id=785667" data-event-type="product-click" class="button button--small card-figcaption-button" aria-label="Add to Cart - Vors VR2 4x100 15x8 +20 Silver Machine Face Lip Chrome Rivet">Add to Cart</a> 2975 </div> 2976 </div> 2977 </figcaption> 2978 </figure> 2979 <div class="card-body"> 2980 <div> 2981 <h4 class="card-title"> 2982 <a aria-label="Vors VR2 4x100 15x8 +20 Silver Machine Face Lip Chrome Rivet, $165.00 2983 2984" 2985" 2986 href="https://www.threepiece.us/vors-vr2-4x100-15x8-20-silver-machine-face-lip-chrome-rivet/" 2987 2988 > 2989 Vors VR2 4x100 15x8 +20 Silver Machine Face Lip Chrome Rivet 2990 </a> 2991 </h4> 2992 <div class="card-text" data-test-info-type="price"> 2993 2994 <div class="price-section price-section--withoutTax " > 2995 <span class="price-section price-section--withoutTax non-sale-price--withoutTax" style="display: none;"> 2996 <span data-product-non-sale-price-without-tax class="price price--non-sale"> 2997 2998 </span> 2999 </span> 3000 3001 <span data-product-price-without-tax class="price price--withoutTax">$165.00</span> 3002 3003 <div class="price-section price-section--withoutTax rrp-price--withoutTax" style="display: none;"> 3004 <span data-product-rrp-without-tax class="price price--rrp"></span> 3005 </div> 3006 </div> 3007 3008 </div> 3009 <p class="affirm-as-low-as" data-page-type="category" data-amount="16500"></p> 3010 <p class="card-free-shipping">Free Shipping</p> 3011 </div> 3012 3013 <div class="card-details"> 3014 3015 </div> 3016 </div> 3017</article> 3018<style> 3019 .card-free-shipping { 3020 font-size: 0.7rem; 3021 font-weight: 700; 3022 color: #2e7d32; 3023 margin: 0.1rem 0 0 0; 3024 line-height: 1.3; 3025 } 3026</style> 3027 </li> 3028 <li class="product"> 3029 <article 3030 class="card 3031 3032 has-sale-price" 3033 data-tp-stock="60" 3034 data-tp-cats="Shop/Wheels/Vors;;Shop/Wheels/Vors/TR4;;Shop/SALE;;" 3035> 3036 <figure class="card-figure"> 3037 <div class="sale-flag-side"> 3038 <span class="sale-text">Sale</span> 3039 </div> 3040 3041 3042 <a href="https://www.threepiece.us/vors-tr4-5x112-19x9-5-22-hyper-black/" 3043 class="card-figure__link" 3044 aria-label="Vors TR4 5x112 19x9.5 +22 Hyper Black, Was: 3045$290.00, 3046 Now: 3047$288.55 3048 3049" 3050" 3051 3052 > 3053 <div class="card-img-container"> 3054 <img class="card-image lazyload" 3055 data-sizes="auto" 3056 src="https://cdn11.bigcommerce.com/s-8zxb6tk/stencil/216f56b0-a0c6-013f-37ac-06627e5707c7/e/fa349870-8a84-013f-3c49-5e8f456a1dbe/img/loading.svg" 3057 data-src="https://cdn11.bigcommerce.com/s-8zxb6tk/images/stencil/300x300/products/785278/2161053/pGNEI1E__01376.1699941051.png?c=2" 3058 alt="Vors TR4 5x112 19x9.5 +22 Hyper Black" 3059 title="Vors TR4 5x112 19x9.5 +22 Hyper Black" 3060 loading="lazy" 3061 decoding="async" 3062 width="500" 3063 height="500"> 3064 </div> 3065 </a> 3066 <figcaption class="card-figcaption"> 3067 <div class="card-figcaption-body"> 3068 <div class="card-figcaption--action-buttons"> 3069 <a href="https://www.threepiece.us/cart.php?action=add&product_id=785278" data-event-type="product-click" class="button button--small card-figcaption-button" aria-label="Add to Cart - Vors TR4 5x112 19x9.5 +22 Hyper Black">
3069Add to Cart</a> 3070 </div> 3071 </div> 3072 </figcaption> 3073 </figure> 3074 <div class="card-body"> 3075 <div> 3076 <h4 class="card-title"> 3077 <a aria-label="Vors TR4 5x112 19x9.5 +22 Hyper Black, Was: 3078$290.00, 3079 Now: 3080$288.55 3081 3082" 3083" 3084 href="https://www.threepiece.us/vors-tr4-5x112-19x9-5-22-hyper-black/" 3085 3086 > 3087 Vors TR4 5x112 19x9.5 +22 Hyper Black 3088 </a> 3089 </h4> 3090 <div class="card-text" data-test-info-type="price"> 3091 3092 <div class="price-section price-section--withoutTax " > 3093 <span class="price-section price-section--withoutTax non-sale-price--withoutTax" > 3094 Was 3095 <span data-product-non-sale-price-without-tax class="price price--non-sale"> 3096 $290.00 3097 </span> 3098 </span> 3099 3100 <span data-product-price-without-tax class="price price--withoutTax">$288.55</span> 3101 3102 <div class="price-section price-section--withoutTax rrp-price--withoutTax" style="display: none;"> 3103 <span data-product-rrp-without-tax class="price price--rrp"></span> 3104 </div> 3105 </div> 3106 3107 </div> 3108 <p class="affirm-as-low-as" data-page-type="category" data-amount="28855"></p> 3109 <p class="card-free-shipping">Free Shipping</p> 3110 </div> 3111 3112 <div class="card-details"> 3113 3114 </div> 3115 </div> 3116</article> 3117<style> 3118 .card-free-shipping { 3119 font-size: 0.7rem; 3120 font-weight: 700; 3121 color: #2e7d32; 3122 margin: 0.1rem 0 0 0; 3123 line-height: 1.3; 3124 } 3125</style> 3126 </li> 3127 <li class="product"> 3128 <article 3129 class="card 3130 3131 " 3132 data-tp-stock="60" 3133 data-tp-cats="Shop/Wheels/Vors;;Shop/Wheels/Vors/TR4;;" 3134> 3135 <figure class="card-figure"> 3136 3137 3138 <a href="https://www.threepiece.us/vors-tr4-5x114-3-18x9-5-35-white/" 3139 class="card-figure__link" 3140 aria-label="Vors TR4 5x114.3 18x9.5 +35 White, $235.00 3141 3142" 3143" 3144 3145 > 3146 <div class="card-img-container"> 3147 <img class="card-image lazyload" 3148 data-sizes="auto" 3149 src="https://cdn11.bigcommerce.com/s-8zxb6tk/stencil/216f56b0-a0c6-013f-37ac-06627e5707c7/e/fa349870-8a84-013f-3c49-5e8f456a1dbe/img/loading.svg" 3150 data-src="https://cdn11.bigcommerce.com/s-8zxb6tk/images/stencil/300x300/products/785215/2160990/iaSB8St__49781.1699941029.png?c=2" 3151 alt="Vors TR4 5x114.3 18x9.5 +35 White" 3152 title="Vors TR4 5x114.3 18x9.5 +35 White" 3153 loading="lazy" 3154 decoding="async" 3155 width="500" 3156 height="500"> 3157 </div> 3158 </a> 3159 <figcaption class="card-figcaption"> 3160 <div class="card-figcaption-body"> 3161 <div class="card-figcaption--action-buttons"> 3162 <a href="https://www.threepiece.us/cart.php?action=add&product_id=785215" data-event-type="product-click" class="button button--small card-figcaption-button" aria-label="Add to Cart - Vors TR4 5x114.3 18x9.5 +35 White">Add to Cart</a> 3163 </div> 3164 </div> 3165 </figcaption> 3166 </figure> 3167 <div class="card-body"> 3168 <div> 3169 <h4 class="card-title"> 3170 <a aria-label="Vors TR4 5x114.3 18x9.5 +35 White, $235.00 3171 3172" 3173" 3174 href="https://www.threepiece.us/vors-tr4-5x114-3-18x9-5-35-white/" 3175 3176 > 3177 Vors TR4 5x114.3 18x9.5 +35 White 3178 </a> 3179 </h4> 3180 <div class="card-text" data-test-info-type="price"> 3181 3182 <div class="price-section price-section--withoutTax " >
3183 <span class="price-section price-section--withoutTax non-sale-price--withoutTax" style="display: none;"> 3184 <span data-product-non-sale-price-without-tax class="price price--non-sale"> 3185 3186 </span> 3187 </span> 3188 3189 <span data-product-price-without-tax class="price price--withoutTax">$235.00</span> 3190 3191 <div class="price-section price-section--withoutTax rrp-price--withoutTax" style="display: none;"> 3192 <span data-product-rrp-without-tax class="price price--rrp"></span> 3193 </div> 3194 </div> 3195 3196 </div> 3197 <p class="affirm-as-low-as" data-page-type="category" data-amount="23500"></p> 3198 <p class="card-free-shipping">Free Shipping</p> 3199 </div> 3200 3201 <div class="card-details"> 3202 3203 </div> 3204 </div> 3205</article> 3206<style> 3207 .card-free-shipping { 3208 font-size: 0.7rem; 3209 font-weight: 700; 3210 color: #2e7d32; 3211 margin: 0.1rem 0 0 0; 3212 line-height: 1.3; 3213 } 3214</style> 3215 </li> 3216 <li class="product"> 3217 <article 3218 class="card 3219 3220 " 3221 data-tp-stock="60" 3222 data-tp-cats="Shop/Wheels/Vors;;Shop/Wheels/Vors/TR4;;" 3223> 3224 <figure class="card-figure"> 3225 3226 3227 <a href="https://www.threepiece.us/vors-tr4-5x114-3-18x8-5-35-white/" 3228 class="card-figure__link" 3229 aria-label="Vors TR4 5x114.3 18x8.5 +35 White, $263.68 3230 3231" 3232" 3233 3234 > 3235 <div class="card-img-container"> 3236 <img class="card-image lazyload" 3237 data-sizes="auto" 3238 src="https://cdn11.bigcommerce.com/s-8zxb6tk/stencil/216f56b0-a0c6-013f-37ac-06627e5707c7/e/fa349870-8a84-013f-3c49-5e8f456a1dbe/img/loading.svg" 3239 data-src="https://cdn11.bigcommerce.com/s-8zxb6tk/images/stencil/300x300/products/785159/2160934/iaSB8St__89415.1699941011.png?c=2" 3240 alt="Vors TR4 5x114.3 18x8.5 +35 White" 3241 title="Vors TR4 5x114.3 18x8.5 +35 White" 3242 loading="lazy" 3243 decoding="async" 3244 width="500" 3245 height="500"> 3246 </div> 3247 </a> 3248 <figcaption class="card-figcaption"> 3249 <div class="card-figcaption-body"> 3250 <div class="card-figcaption--action-buttons"> 3251 <a href="https://www.threepiece.us/cart.php?action=add&product_id=785159" data-event-type="product-click" class="button button--small card-figcaption-button" aria-label="Add to Cart - Vors TR4 5x114.3 18x8.5 +35 White">Add to Cart</a> 3252 </div> 3253 </div> 3254 </figcaption> 3255 </figure> 3256 <div class="card-body"> 3257 <div> 3258 <h4 class="card-title"> 3259 <a aria-label="Vors TR4 5x114.3 18x8.5 +35 White, $263.68 3260 3261" 3262" 3263 href="https://www.threepiece.us/vors-tr4-5x114-3-18x8-5-35-white/" 3264 3265 > 3266 Vors TR4 5x114.3 18x8.5 +35 White 3267 </a> 3268 </h4> 3269 <div class="card-text" data-test-info-type="price"> 3270 3271 <div class="price-section price-section--withoutTax " > 3272 <span class="price-section price-section--withoutTax non-sale-price--withoutTax" style="display: none;"> 3273 <span data-product-non-sale-price-without-tax class="price price--non-sale"> 3274 3275 </span> 3276 </span> 3277 3278 <span data-product-price-without-tax class="price price--withoutTax">$263.68</span> 3279 3280 <div class="price-section price-section--withoutTax rrp-price--withoutTax" style="display: none;">
3281 <span data-product-rrp-without-tax class="price price--rrp"></span> 3282 </div> 3283 </div> 3284 3285 </div> 3286 <p class="affirm-as-low-as" data-page-type="category" data-amount="26368"></p> 3287 <p class="card-free-shipping">Free Shipping</p> 3288 </div> 3289 3290 <div class="card-details"> 3291 3292 </div> 3293 </div> 3294</article> 3295<style> 3296 .card-free-shipping { 3297 font-size: 0.7rem; 3298 font-weight: 700; 3299 color: #2e7d32; 3300 margin: 0.1rem 0 0 0; 3301 line-height: 1.3; 3302 } 3303</style> 3304 </li> 3305 <li class="product"> 3306 <article 3307 class="card 3308 3309 " 3310 data-tp-stock="64" 3311 data-tp-cats="Shop/Wheels/Aodhan;;Shop/Wheels/Aodhan/DS02;;" 3312> 3313 <figure class="card-figure"> 3314 3315 3316 <a href="https://www.threepiece.us/aodhan-ds02-5x114-3-19x11-22-vacuum-chrome/" 3317 class="card-figure__link" 3318 aria-label="Aodhan DS02 5x114.3 19x11+22 Vacuum Chrome, $337.25 3319 3320" 3321" 3322 3323 > 3324 <div class="card-img-container"> 3325 <img class="card-image lazyload" 3326 data-sizes="auto" 3327 src="https://cdn11.bigcommerce.com/s-8zxb6tk/stencil/216f56b0-a0c6-013f-37ac-06627e5707c7/e/fa349870-8a84-013f-3c49-5e8f456a1dbe/img/loading.svg" 3328 data-src="https://cdn11.bigcommerce.com/s-8zxb6tk/images/stencil/300x300/products/756373/2057671/Wo4FILo__60748.1690775595.png?c=2" 3329 alt="Aodhan DS02 5x114.3 19x11+22 Vacuum Chrome" 3330 title="Aodhan DS02 5x114.3 19x11+22 Vacuum Chrome" 3331 loading="lazy" 3332 decoding="async" 3333 width="500" 3334 height="500"> 3335 </div> 3336 </a> 3337 <figcaption class="card-figcaption"> 3338 <div class="card-figcaption-body"> 3339 <div class="card-figcaption--action-buttons"> 3340 <a href="https://www.threepiece.us/cart.php?action=add&product_id=756373" data-event-type="product-click" class="button button--small card-figcaption-button" aria-label="Add to Cart - Aodhan DS02 5x114.3 19x11+22 Vacuum Chrome">Add to Cart</a> 3341 </div> 3342 </div> 3343 </figcaption> 3344 </figure> 3345 <div class="card-body"> 3346 <div> 3347 <h4 class="card-title"> 3348 <a aria-label="Aodhan DS02 5x114.3 19x11+22 Vacuum Chrome, $337.25 3349 3350" 3351" 3352 href="https://www.threepiece.us/aodhan-ds02-5x114-3-19x11-22-vacuum-chrome/" 3353 3354 > 3355 Aodhan DS02 5x114.3 19x11+22 Vacuum Chrome 3356 </a> 3357 </h4> 3358 <div class="card-text" data-test-info-type="price"> 3359 3360 <div class="price-section price-section--withoutTax " > 3361 <span class="price-section price-section--withoutTax non-sale-price--withoutTax" style="display: none;"> 3362 <span data-product-non-sale-price-without-tax class="price price--non-sale"> 3363 3364 </span> 3365 </span> 3366 3367 <span data-product-price-without-tax class="price price--withoutTax">$337.25</span> 3368 3369 <div class="price-section price-section--withoutTax rrp-price--withoutTax" style="display: none;"> 3370 <span data-product-rrp-without-tax class="price price--rrp"></span> 3371 </div> 3372 </div> 3373 3374 </div> 3375 <p class="affirm-as-low-as" data-page-type="category" data-amount="33725"></p> 3376 <p class="card-free-shipping">Free Shipping</p> 3377 </div> 3378 3379 <div class="card-details"> 3380 3381 </div> 3382 </div> 3383</article> 3384<style> 3385 .card-free-shipping { 3386 font-size: 0.7rem; 3387 font-weight: 700; 3388 color: #2e7d32; 3389 margin: 0.1rem 0 0 0; 3390 line-height: 1.3; 3391 } 3392</style> 3393 </li> 3394 <li class="product"> 3395 <article 3396 class="card 3397 3398 has-sale-price" 3399 data-tp-stock="16" 3400 data-tp-cats="Shop/Wheels/Aodhan;;Shop/Wheels/Aodhan/DS02;;Shop/SALE;;" 3401> 3402 <figure class="card-figure"> 3403 <div class="sale-flag-side">
3404 <span class="sale-text">Sale</span> 3405 </div> 3406 3407 3408 <a href="https://www.threepiece.us/aodhan-ds02-5x114-3-18x8-5-35-hyper-black/" 3409 class="card-figure__link" 3410 aria-label="Aodhan DS02 5x114.3 18x8.5+35 Hyper Black, Was: 3411$249.75, 3412 Now: 3413$248.50 3414 3415" 3416" 3417 3418 > 3419 <div class="card-img-container"> 3420 <img class="card-image lazyload" 3421 data-sizes="auto" 3422 src="https://cdn11.bigcommerce.com/s-8zxb6tk/stencil/216f56b0-a0c6-013f-37ac-06627e5707c7/e/fa349870-8a84-013f-3c49-5e8f456a1dbe/img/loading.svg" 3423 data-src="https://cdn11.bigcommerce.com/s-8zxb6tk/images/stencil/300x300/products/756317/2057615/GnV8VaV__41633.1690775580.png?c=2" 3424 alt="Aodhan DS02 5x114.3 18x8.5+35 Hyper Black" 3425 title="Aodhan DS02 5x114.3 18x8.5+35 Hyper Black" 3426 loading="lazy" 3427 decoding="async" 3428 width="500" 3429 height="500"> 3430 </div> 3431 </a> 3432 <figcaption class="card-figcaption"> 3433 <div class="card-figcaption-body"> 3434 <div class="card-figcaption--action-buttons"> 3435 <a href="https://www.threepiece.us/cart.php?action=add&product_id=756317" data-event-type="product-click" class="button button--small card-figcaption-button" aria-label="Add to Cart - Aodhan DS02 5x114.3 18x8.5+35 Hyper Black">Add to Cart</a> 3436 </div> 3437 </div> 3438 </figcaption> 3439 </figure> 3440 <div class="card-body"> 3441 <div> 3442 <h4 class="card-title"> 3443 <a aria-label="Aodhan DS02 5x114.3 18x8.5+35 Hyper Black, Was: 3444$249.75, 3445 Now: 3446$248.50 3447 3448" 3449" 3450 href="https://www.threepiece.us/aodhan-ds02-5x114-3-18x8-5-35-hyper-black/" 3451 3452 > 3453 Aodhan DS02 5x114.3 18x8.5+35 Hyper Black 3454 </a> 3455 </h4> 3456 <div class="card-text" data-test-info-type="price"> 3457 3458 <div class="price-section price-section--withoutTax " > 3459 <span class="price-section price-section--withoutTax non-sale-price--withoutTax" > 3460 Was 3461 <span data-product-non-sale-price-without-tax class="price price--non-sale"> 3462 $249.75 3463 </span> 3464 </span> 3465 3466 <span data-product-price-without-tax class="price price--withoutTax">$248.50</span> 3467 3468 <div class="price-section price-section--withoutTax rrp-price--withoutTax" > 3469 <span data-product-rrp-without-tax class="price price--rrp">$249.75</span> 3470 </div> 3471 </div> 3472 3473 </div> 3474 <p class="affirm-as-low-as" data-page-type="category" data-amount="24850"></p> 3475 <p class="card-free-shipping">Free Shipping</p> 3476 </div> 3477 3478 <div class="card-details"> 3479 3480 </div> 3481 </div> 3482</article> 3483<style> 3484 .card-free-shipping { 3485 font-size: 0.7rem; 3486 font-weight: 700; 3487 color: #2e7d32; 3488 margin: 0.1rem 0 0 0; 3489 line-height: 1.3; 3490 } 3491</style> 3492 </li> 3493 <li class="product"> 3494 <article 3495 class="card 3496 3497 " 3498 data-tp-stock="26" 3499 data-tp-cats="Shop/Wheels/Heritage Wheel;;Shop/Wheels/Heritage Wheel/BUSHIDO MONOC;;" 3500> 3501 <figure class="card-figure"> 3502 3503 3504 <a href="https://www.threepiece.us/heritage-wheel-bushido-monoc-5x120-18x9-5-12-chrome/" 3505 class="card-figure__link" 3506 aria-label="HERITAGE WHEEL BUSHIDO MONOC 5x120 18x9.5 +12 CHROME, $399.00 3507 3508" 3509" 3510 3511 > 3512 <div class="card-img-container"> 3513 <img class="card-image lazyload" 3514 data-sizes="auto" 3515 src="https://cdn11.bigcommerce.com/s-8zxb6tk/stencil/216f56b0-a0c6-013f-37ac-06627e5707c7/e/fa349870-8a84-013f-3c49-5e8f456a1dbe/img/loading.svg" 3516 data-src="https://cdn11.bigcommerce.com/s-8zxb6tk/images/stencil/300x300/products/1119686/4523646/bushidomonocchromefront_590x__67277.1722405900.png?c=2" 3517 alt="HERITAGE WHEEL BUSHIDO MONOC 5x120 18x9.5 +12 CHROME" 3518 title="HERITAGE WHEEL BUSHIDO MONOC 5x120 18x9.5 +12 CHROME" 3519 loading="lazy" 3520 decoding="async" 3521 width="500" 3522 height="500"> 3523 </div> 3524 </a>
3525 <figcaption class="card-figcaption"> 3526 <div class="card-figcaption-body"> 3527 <div class="card-figcaption--action-buttons"> 3528 <a href="https://www.threepiece.us/cart.php?action=add&product_id=1119686" data-event-type="product-click" class="button button--small card-figcaption-button" aria-label="Add to Cart - HERITAGE WHEEL BUSHIDO MONOC 5x120 18x9.5 +12 CHROME">Add to Cart</a> 3529 </div> 3530 </div> 3531 </figcaption> 3532 </figure> 3533 <div class="card-body"> 3534 <div> 3535 <h4 class="card-title"> 3536 <a aria-label="HERITAGE WHEEL BUSHIDO MONOC 5x120 18x9.5 +12 CHROME, $399.00 3537 3538" 3539" 3540 href="https://www.threepiece.us/heritage-wheel-bushido-monoc-5x120-18x9-5-12-chrome/" 3541 3542 > 3543 HERITAGE WHEEL BUSHIDO MONOC 5x120 18x9.5 +12 CHROME 3544 </a> 3545 </h4> 3546 <div class="card-text" data-test-info-type="price"> 3547 3548 <div class="price-section price-section--withoutTax " > 3549 <span class="price-section price-section--withoutTax non-sale-price--withoutTax" style="display: none;"> 3550 <span data-product-non-sale-price-without-tax class="price price--non-sale"> 3551 3552 </span> 3553 </span> 3554 3555 <span data-product-price-without-tax class="price price--withoutTax">$399.00</span> 3556 3557 <div class="price-section price-section--withoutTax rrp-price--withoutTax" style="display: none;"> 3558 <span data-product-rrp-without-tax class="price price--rrp"></span> 3559 </div> 3560 </div> 3561 3562 </div> 3563 <p class="affirm-as-low-as" data-page-type="category" data-amount="39900"></p> 3564 <p class="card-free-shipping">Free Shipping</p> 3565 </div> 3566 3567 <div class="card-details"> 3568 3569 </div> 3570 </div> 3571</article> 3572<style> 3573 .card-free-shipping { 3574 font-size: 0.7rem; 3575 font-weight: 700; 3576 color: #2e7d32; 3577 margin: 0.1rem 0 0 0; 3578 line-height: 1.3; 3579 } 3580</style> 3581 </li> 3582 <li class="product"> 3583 <article 3584 class="card 3585 3586 " 3587 data-tp-stock="2" 3588 data-tp-cats="Shop/Wheels/Heritage Wheel;;Shop/Wheels/Heritage Wheel/BUSHIDO MONOC;;" 3589> 3590 <figure class="card-figure"> 3591 <div class="stock-badge"> 3592 <span class="stock-message">Only 2 left in stock</span> 3593 </div> 3594 3595 3596 <a href="https://www.threepiece.us/heritage-wheel-bushido-monoc-5x120-18x9-5-38-chrome/" 3597 class="card-figure__link" 3598 aria-label="HERITAGE WHEEL BUSHIDO MONOC 5x120 18x9.5 +38 CHROME, $399.00 3599 3600" 3601" 3602 3603 > 3604 <div class="card-img-container"> 3605 <img class="card-image lazyload" 3606 data-sizes="auto" 3607 src="https://cdn11.bigcommerce.com/s-8zxb6tk/stencil/216f56b0-a0c6-013f-37ac-06627e5707c7/e/fa349870-8a84-013f-3c49-5e8f456a1dbe/img/loading.svg" 3608 data-src="https://cdn11.bigcommerce.com/s-8zxb6tk/images/stencil/300x300/products/1119684/4523644/bushidomonocchromefront_590x__76588.1722405900.png?c=2" 3609 alt="HERITAGE WHEEL BUSHIDO MONOC 5x120 18x9.5 +38 CHROME" 3610 title="HERITAGE WHEEL BUSHIDO MONOC 5x120 18x9.5 +38 CHROME" 3611 loading="lazy" 3612 decoding="async" 3613 width="500" 3614 height="500"> 3615 </div> 3616 </a> 3617 <figcaption class="card-figcaption"> 3618 <div class="card-figcaption-body"> 3619 <div class="card-figcaption--action-buttons"> 3620 <a href="https://www.threepiece.us/cart.php?action=add&product_id=1119684" data-event-type="product-click" class="button button--small card-figcaption-button" aria-label="Add to Cart - HERITAGE WHEEL BUSHIDO MONOC 5x120 18x9.5 +38 CHROME">
3620Add to Cart</a> 3621 </div> 3622 </div> 3623 </figcaption> 3624 </figure> 3625 <div class="card-body"> 3626 <div> 3627 <h4 class="card-title"> 3628 <a aria-label="HERITAGE WHEEL BUSHIDO MONOC 5x120 18x9.5 +38 CHROME, $399.00 3629 3630" 3631" 3632 href="https://www.threepiece.us/heritage-wheel-bushido-monoc-5x120-18x9-5-38-chrome/" 3633 3634 > 3635 HERITAGE WHEEL BUSHIDO MONOC 5x120 18x9.5 +38 CHROME 3636 </a> 3637 </h4> 3638 <div class="card-text" data-test-info-type="price"> 3639 3640 <div class="price-section price-section--withoutTax " > 3641 <span class="price-section price-section--withoutTax non-sale-price--withoutTax" style="display: none;"> 3642 <span data-product-non-sale-price-without-tax class="price price--non-sale"> 3643 3644 </span> 3645 </span> 3646 3647 <span data-product-price-without-tax class="price price--withoutTax">$399.00</span> 3648 3649 <div class="price-section price-section--withoutTax rrp-price--withoutTax" style="display: none;"> 3650 <span data-product-rrp-without-tax class="price price--rrp"></span> 3651 </div> 3652 </div> 3653 3654 </div> 3655 <p class="affirm-as-low-as" data-page-type="category" data-amount="39900"></p> 3656 <p class="card-free-shipping">Free Shipping</p> 3657 </div> 3658 3659 <div class="card-details"> 3660 3661 </div> 3662 </div> 3663</article> 3664<style> 3665 .card-free-shipping { 3666 font-size: 0.7rem; 3667 font-weight: 700; 3668 color: #2e7d32; 3669 margin: 0.1rem 0 0 0; 3670 line-height: 1.3; 3671 } 3672</style> 3673 </li> 3674 <li class="product"> 3675 <article 3676 class="card 3677 3678 " 3679 data-tp-stock="26" 3680 data-tp-cats="Shop/Wheels/Heritage Wheel;;Shop/Wheels/Heritage Wheel/BUSHIDO MONOC;;" 3681> 3682 <figure class="card-figure"> 3683 3684 3685 <a href="https://www.threepiece.us/heritage-wheel-bushido-monoc-5x115-18x9-5-12-chrome/" 3686 class="card-figure__link" 3687 aria-label="HERITAGE WHEEL BUSHIDO MONOC 5x115 18x9.5 +12 CHROME, $399.00 3688 3689" 3690" 3691 3692 > 3693 <div class="card-img-container"> 3694 <img class="card-image lazyload" 3695 data-sizes="auto" 3696 src="https://cdn11.bigcommerce.com/s-8zxb6tk/stencil/216f56b0-a0c6-013f-37ac-06627e5707c7/e/fa349870-8a84-013f-3c49-5e8f456a1dbe/img/loading.svg" 3697 data-src="https://cdn11.bigcommerce.com/s-8zxb6tk/images/stencil/300x300/products/1119680/4523640/bushidomonocchromefront_590x__60378.1722405897.png?c=2" 3698 alt="HERITAGE WHEEL BUSHIDO MONOC 5x115 18x9.5 +12 CHROME" 3699 title="HERITAGE WHEEL BUSHIDO MONOC 5x115 18x9.5 +12 CHROME" 3700 loading="lazy" 3701 decoding="async" 3702 width="500" 3703 height="500"> 3704 </div> 3705 </a> 3706 <figcaption class="card-figcaption"> 3707 <div class="card-figcaption-body"> 3708 <div class="card-figcaption--action-buttons"> 3709 <a href="https://www.threepiece.us/cart.php?action=add&product_id=1119680" data-event-type="product-click" class="button button--small card-figcaption-button" aria-label="Add to Cart - HERITAGE WHEEL BUSHIDO MONOC 5x115 18x9.5 +12 CHROME">Add to Cart</a> 3710 </div> 3711 </div> 3712 </figcaption> 3713 </figure> 3714 <div class="card-body"> 3715 <div> 3716 <h4 class="card-title"> 3717 <a aria-label="HERITAGE WHEEL BUSHIDO MONOC 5x115 18x9.5 +12 CHROME, $399.00 3718 3719" 3720" 3721 href="https://www.threepiece.us/heritage-wheel-bushido-monoc-5x115-18x9-5-12-chrome/" 3722 3723 > 3724 HERITAGE WHEEL BUSHIDO MONOC 5x115 18x9.5 +12 CHROME 3725 </a> 3726 </h4> 3727 <div class="card-text" data-test-info-type="price"> 3728 3729 <div class="price-section price-section--withoutTax " >
3730 <span class="price-section price-section--withoutTax non-sale-price--withoutTax" style="display: none;"> 3731 <span data-product-non-sale-price-without-tax class="price price--non-sale"> 3732 3733 </span> 3734 </span> 3735 3736 <span data-product-price-without-tax class="price price--withoutTax">$399.00</span> 3737 3738 <div class="price-section price-section--withoutTax rrp-price--withoutTax" style="display: none;"> 3739 <span data-product-rrp-without-tax class="price price--rrp"></span> 3740 </div> 3741 </div> 3742 3743 </div> 3744 <p class="affirm-as-low-as" data-page-type="category" data-amount="39900"></p> 3745 <p class="card-free-shipping">Free Shipping</p> 3746 </div> 3747 3748 <div class="card-details"> 3749 3750 </div> 3751 </div> 3752</article> 3753<style> 3754 .card-free-shipping { 3755 font-size: 0.7rem; 3756 font-weight: 700; 3757 color: #2e7d32; 3758 margin: 0.1rem 0 0 0; 3759 line-height: 1.3; 3760 } 3761</style> 3762 </li> 3763 <li class="product"> 3764 <article 3765 class="card 3766 3767 " 3768 data-tp-stock="2" 3769 data-tp-cats="Shop/Wheels/Heritage Wheel;;Shop/Wheels/Heritage Wheel/BUSHIDO MONOC;;" 3770> 3771 <figure class="card-figure"> 3772 <div class="stock-badge"> 3773 <span class="stock-message">Only 2 left in stock</span> 3774 </div> 3775 3776 3777 <a href="https://www.threepiece.us/heritage-wheel-bushido-monoc-5x115-18x9-5-38-chrome/" 3778 class="card-figure__link" 3779 aria-label="HERITAGE WHEEL BUSHIDO MONOC 5x115 18x9.5 +38 CHROME, $399.00 3780 3781" 3782" 3783 3784 > 3785 <div class="card-img-container"> 3786 <img class="card-image lazyload" 3787 data-sizes="auto" 3788 src="https://cdn11.bigcommerce.com/s-8zxb6tk/stencil/216f56b0-a0c6-013f-37ac-06627e5707c7/e/fa349870-8a84-013f-3c49-5e8f456a1dbe/img/loading.svg" 3789 data-src="https://cdn11.bigcommerce.com/s-8zxb6tk/images/stencil/300x300/products/1119678/4523638/bushidomonocchromefront_590x__66278.1722405896.png?c=2" 3790 alt="HERITAGE WHEEL BUSHIDO MONOC 5x115 18x9.5 +38 CHROME" 3791 title="HERITAGE WHEEL BUSHIDO MONOC 5x115 18x9.5 +38 CHROME" 3792 loading="lazy" 3793 decoding="async" 3794 width="500" 3795 height="500"> 3796 </div> 3797 </a> 3798 <figcaption class="card-figcaption"> 3799 <div class="card-figcaption-body"> 3800 <div class="card-figcaption--action-buttons"> 3801 <a href="https://www.threepiece.us/cart.php?action=add&product_id=1119678" data-event-type="product-click" class="button button--small card-figcaption-button" aria-label="Add to Cart - HERITAGE WHEEL BUSHIDO MONOC 5x115 18x9.5 +38 CHROME">Add to Cart</a> 3802 </div> 3803 </div> 3804 </figcaption> 3805 </figure> 3806 <div class="card-body"> 3807 <div> 3808 <h4 class="card-title"> 3809 <a aria-label="HERITAGE WHEEL BUSHIDO MONOC 5x115 18x9.5 +38 CHROME, $399.00 3810 3811" 3812" 3813 href="https://www.threepiece.us/heritage-wheel-bushido-monoc-5x115-18x9-5-38-chrome/" 3814 3815 > 3816 HERITAGE WHEEL BUSHIDO MONOC 5x115 18x9.5 +38 CHROME 3817 </a> 3818 </h4> 3819 <div class="card-text" data-test-info-type="price"> 3820 3821 <div class="price-section price-section--withoutTax " > 3822 <span class="price-section price-section--withoutTax non-sale-price--withoutTax" style="display: none;"> 3823 <span data-product-non-sale-price-without-tax class="price price--non-sale"> 3824 3825 </span> 3826 </span> 3827
3828 <span data-product-price-without-tax class="price price--withoutTax">$399.00</span> 3829 3830 <div class="price-section price-section--withoutTax rrp-price--withoutTax" style="display: none;"> 3831 <span data-product-rrp-without-tax class="price price--rrp"></span> 3832 </div> 3833 </div> 3834 3835 </div> 3836 <p class="affirm-as-low-as" data-page-type="category" data-amount="39900"></p> 3837 <p class="card-free-shipping">Free Shipping</p> 3838 </div> 3839 3840 <div class="card-details"> 3841 3842 </div> 3843 </div> 3844</article> 3845<style> 3846 .card-free-shipping { 3847 font-size: 0.7rem; 3848 font-weight: 700; 3849 color: #2e7d32; 3850 margin: 0.1rem 0 0 0; 3851 line-height: 1.3; 3852 } 3853</style> 3854 </li> 3855 <li class="product"> 3856 <article 3857 class="card 3858 3859 " 3860 data-tp-stock="26" 3861 data-tp-cats="Shop/Wheels/Heritage Wheel;;Shop/Wheels/Heritage Wheel/BUSHIDO MONOC;;" 3862> 3863 <figure class="card-figure"> 3864 3865 3866 <a href="https://www.threepiece.us/heritage-wheel-bushido-monoc-5x112-18x9-5-12-chrome/" 3867 class="card-figure__link" 3868 aria-label="HERITAGE WHEEL BUSHIDO MONOC 5x112 18x9.5 +12 CHROME, $399.00 3869 3870" 3871" 3872 3873 > 3874 <div class="card-img-container"> 3875 <img class="card-image lazyload" 3876 data-sizes="auto" 3877 src="https://cdn11.bigcommerce.com/s-8zxb6tk/stencil/216f56b0-a0c6-013f-37ac-06627e5707c7/e/fa349870-8a84-013f-3c49-5e8f456a1dbe/img/loading.svg" 3878 data-src="https://cdn11.bigcommerce.com/s-8zxb6tk/images/stencil/300x300/products/1119674/4523634/bushidomonocchromefront_590x__50415.1722405895.png?c=2" 3879 alt="HERITAGE WHEEL BUSHIDO MONOC 5x112 18x9.5 +12 CHROME" 3880 title="HERITAGE WHEEL BUSHIDO MONOC 5x112 18x9.5 +12 CHROME" 3881 loading="lazy" 3882 decoding="async" 3883 width="500" 3884 height="500"> 3885 </div> 3886 </a> 3887 <figcaption class="card-figcaption"> 3888 <div class="card-figcaption-body"> 3889 <div class="card-figcaption--action-buttons"> 3890 <a href="https://www.threepiece.us/cart.php?action=add&product_id=1119674" data-event-type="product-click" class="button button--small card-figcaption-button" aria-label="Add to Cart - HERITAGE WHEEL BUSHIDO MONOC 5x112 18x9.5 +12 CHROME">Add to Cart</a> 3891 </div> 3892 </div> 3893 </figcaption> 3894 </figure> 3895 <div class="card-body"> 3896 <div> 3897 <h4 class="card-title"> 3898 <a aria-label="HERITAGE WHEEL BUSHIDO MONOC 5x112 18x9.5 +12 CHROME, $399.00 3899 3900" 3901" 3902 href="https://www.threepiece.us/heritage-wheel-bushido-monoc-5x112-18x9-5-12-chrome/" 3903 3904 > 3905 HERITAGE WHEEL BUSHIDO MONOC 5x112 18x9.5 +12 CHROME 3906 </a> 3907 </h4> 3908 <div class="card-text" data-test-info-type="price"> 3909 3910 <div class="price-section price-section--withoutTax " > 3911 <span class="price-section price-section--withoutTax non-sale-price--withoutTax" style="display: none;"> 3912 <span data-product-non-sale-price-without-tax class="price price--non-sale"> 3913 3914 </span> 3915 </span> 3916 3917 <span data-product-price-without-tax class="price price--withoutTax">$399.00</span> 3918 3919 <div class="price-section price-section--withoutTax rrp-price--withoutTax" style="display: none;"> 3920 <span data-product-rrp-without-tax class="price price--rrp"></span> 3921 </div> 3922 </div> 3923 3924 </div> 3925 <p class="affirm-as-low-as" data-page-type="category" data-amount="39900"></p> 3926 <p class="card-free-shipping">Free Shipping</p> 3927 </div> 3928
3929 <div class="card-details"> 3930 3931 </div> 3932 </div> 3933</article> 3934<style> 3935 .card-free-shipping { 3936 font-size: 0.7rem; 3937 font-weight: 700; 3938 color: #2e7d32; 3939 margin: 0.1rem 0 0 0; 3940 line-height: 1.3; 3941 } 3942</style> 3943 </li> 3944 <li class="product"> 3945 <article 3946 class="card 3947 3948 " 3949 data-tp-stock="2" 3950 data-tp-cats="Shop/Wheels/Heritage Wheel;;Shop/Wheels/Heritage Wheel/BUSHIDO MONOC;;" 3951> 3952 <figure class="card-figure"> 3953 <div class="stock-badge"> 3954 <span class="stock-message">Only 2 left in stock</span> 3955 </div> 3956 3957 3958 <a href="https://www.threepiece.us/heritage-wheel-bushido-monoc-5x112-18x9-5-38-chrome/" 3959 class="card-figure__link" 3960 aria-label="HERITAGE WHEEL BUSHIDO MONOC 5x112 18x9.5 +38 CHROME, $399.00 3961 3962" 3963" 3964 3965 > 3966 <div class="card-img-container"> 3967 <img class="card-image lazyload" 3968 data-sizes="auto" 3969 src="https://cdn11.bigcommerce.com/s-8zxb6tk/stencil/216f56b0-a0c6-013f-37ac-06627e5707c7/e/fa349870-8a84-013f-3c49-5e8f456a1dbe/img/loading.svg" 3970 data-src="https://cdn11.bigcommerce.com/s-8zxb6tk/images/stencil/300x300/products/1119672/4523632/bushidomonocchromefront_590x__64898.1722405894.png?c=2" 3971 alt="HERITAGE WHEEL BUSHIDO MONOC 5x112 18x9.5 +38 CHROME" 3972 title="HERITAGE WHEEL BUSHIDO MONOC 5x112 18x9.5 +38 CHROME" 3973 loading="lazy" 3974 decoding="async" 3975 width="500" 3976 height="500"> 3977 </div> 3978 </a> 3979 <figcaption class="card-figcaption"> 3980 <div class="card-figcaption-body"> 3981 <div class="card-figcaption--action-buttons"> 3982 <a href="https://www.threepiece.us/cart.php?action=add&product_id=1119672" data-event-type="product-click" class="button button--small card-figcaption-button" aria-label="Add to Cart - HERITAGE WHEEL BUSHIDO MONOC 5x112 18x9.5 +38 CHROME">Add to Cart</a> 3983 </div> 3984 </div> 3985 </figcaption> 3986 </figure> 3987 <div class="card-body"> 3988 <div> 3989 <h4 class="card-title"> 3990 <a aria-label="HERITAGE WHEEL BUSHIDO MONOC 5x112 18x9.5 +38 CHROME, $399.00 3991 3992" 3993" 3994 href="https://www.threepiece.us/heritage-wheel-bushido-monoc-5x112-18x9-5-38-chrome/" 3995 3996 > 3997 HERITAGE WHEEL BUSHIDO MONOC 5x112 18x9.5 +38 CHROME 3998 </a> 3999 </h4> 4000 <div class="card-text" data-test-info-type="price"> 4001 4002 <div class="price-section price-section--withoutTax " > 4003 <span class="price-section price-section--withoutTax non-sale-price--withoutTax" style="display: none;"> 4004 <span data-product-non-sale-price-without-tax class="price price--non-sale"> 4005 4006 </span> 4007 </span> 4008 4009 <span data-product-price-without-tax class="price price--withoutTax">$399.00</span> 4010 4011 <div class="price-section price-section--withoutTax rrp-price--withoutTax" style="display: none;"> 4012 <span data-product-rrp-without-tax class="price price--rrp"></span> 4013 </div> 4014 </div> 4015 4016 </div> 4017 <p class="affirm-as-low-as" data-page-type="category" data-amount="39900"></p> 4018 <p class="card-free-shipping">Free Shipping</p> 4019 </div> 4020 4021 <div class="card-details"> 4022 4023 </div> 4024 </div> 4025</article> 4026<style> 4027 .card-free-shipping { 4028 font-size: 0.7rem; 4029 font-weight: 700; 4030 color: #2e7d32; 4031 margin: 0.1rem 0 0 0; 4032 line-height: 1.3; 4033 } 4034</style> 4035 </li> 4036 <li class="product"> 4037 <article 4038 class="card 4039 4040 " 4041 data-tp-stock="26" 4042 data-tp-cats="Shop/Wheels/Heritage Wheel;;Shop/Wheels/Heritage Wheel/BUSHIDO MONOC;;" 4043> 4044 <figure class="card-figure"> 4045 4046 4047 <a href="https://www.threepiece.us/heritage-wheel-bushido-monoc-5x110-18x9-5-12-chrome/" 4048 class="card-figure__link" 4049 aria-label="HERITAGE WHEEL BUSHIDO MONOC 5x110 18x9.5 +12 CHROME, $399.00 4050 4051" 4052" 4053 4054 > 4055 <div class="card-img-container"> 4056 <img class="card-image lazyload" 4057 data-sizes="auto" 4058 src="https://cdn11.bigcommerce.com/s-8zxb6tk/stencil/216f56b0-a0c6-013f-37ac-06627e5707c7/e/fa349870-8a84-013f-3c49-5e8f456a1dbe/img/loading.svg" 4059 data-src="https://cdn11.bigcommerce.com/s-8zxb6tk/images/stencil/300x300/products/1119668/4523628/bushidomonocchromefront_590x__38525.1722405893.png?c=2" 4060 alt="HERITAGE WHEEL BUSHIDO MONOC 5x110 18x9.5 +12 CHROME" 4061 title="HERITAGE WHEEL BUSHIDO MONOC 5x110 18x9.5 +12 CHROME" 4062 loading="lazy" 4063 decoding="async" 4064 width="500" 4065 height="500"> 4066 </div> 4067 </a>
4068 <figcaption class="card-figcaption"> 4069 <div class="card-figcaption-body"> 4070 <div class="card-figcaption--action-buttons"> 4071 <a href="https://www.threepiece.us/cart.php?action=add&product_id=1119668" data-event-type="product-click" class="button button--small card-figcaption-button" aria-label="Add to Cart - HERITAGE WHEEL BUSHIDO MONOC 5x110 18x9.5 +12 CHROME">Add to Cart</a> 4072 </div> 4073 </div> 4074 </figcaption> 4075 </figure> 4076 <div class="card-body"> 4077 <div> 4078 <h4 class="card-title"> 4079 <a aria-label="HERITAGE WHEEL BUSHIDO MONOC 5x110 18x9.5 +12 CHROME, $399.00 4080 4081" 4082" 4083 href="https://www.threepiece.us/heritage-wheel-bushido-monoc-5x110-18x9-5-12-chrome/" 4084 4085 > 4086 HERITAGE WHEEL BUSHIDO MONOC 5x110 18x9.5 +12 CHROME 4087 </a> 4088 </h4> 4089 <div class="card-text" data-test-info-type="price"> 4090 4091 <div class="price-section price-section--withoutTax " > 4092 <span class="price-section price-section--withoutTax non-sale-price--withoutTax" style="display: none;"> 4093 <span data-product-non-sale-price-without-tax class="price price--non-sale"> 4094 4095 </span> 4096 </span> 4097 4098 <span data-product-price-without-tax class="price price--withoutTax">$399.00</span> 4099 4100 <div class="price-section price-section--withoutTax rrp-price--withoutTax" style="display: none;"> 4101 <span data-product-rrp-without-tax class="price price--rrp"></span> 4102 </div> 4103 </div> 4104 4105 </div> 4106 <p class="affirm-as-low-as" data-page-type="category" data-amount="39900"></p> 4107 <p class="card-free-shipping">Free Shipping</p> 4108 </div> 4109 4110 <div class="card-details"> 4111 4112 </div> 4113 </div> 4114</article> 4115<style> 4116 .card-free-shipping { 4117 font-size: 0.7rem; 4118 font-weight: 700; 4119 color: #2e7d32; 4120 margin: 0.1rem 0 0 0; 4121 line-height: 1.3; 4122 } 4123</style> 4124 </li> 4125 <li class="product"> 4126 <article 4127 class="card 4128 4129 " 4130 data-tp-stock="2" 4131 data-tp-cats="Shop/Wheels/Heritage Wheel;;Shop/Wheels/Heritage Wheel/BUSHIDO MONOC;;" 4132> 4133 <figure class="card-figure"> 4134 <div class="stock-badge"> 4135 <span class="stock-message">Only 2 left in stock</span> 4136 </div> 4137 4138 4139 <a href="https://www.threepiece.us/heritage-wheel-bushido-monoc-5x110-18x9-5-38-chrome/" 4140 class="card-figure__link" 4141 aria-label="HERITAGE WHEEL BUSHIDO MONOC 5x110 18x9.5 +38 CHROME, $399.00 4142 4143" 4144" 4145 4146 > 4147 <div class="card-img-container"> 4148 <img class="card-image lazyload" 4149 data-sizes="auto" 4150 src="https://cdn11.bigcommerce.com/s-8zxb6tk/stencil/216f56b0-a0c6-013f-37ac-06627e5707c7/e/fa349870-8a84-013f-3c49-5e8f456a1dbe/img/loading.svg" 4151 data-src="https://cdn11.bigcommerce.com/s-8zxb6tk/images/stencil/300x300/products/1119666/4523626/bushidomonocchromefront_590x__25558.1722405892.png?c=2" 4152 alt="HERITAGE WHEEL BUSHIDO MONOC 5x110 18x9.5 +38 CHROME" 4153 title="HERITAGE WHEEL BUSHIDO MONOC 5x110 18x9.5 +38 CHROME" 4154 loading="lazy" 4155 decoding="async" 4156 width="500" 4157 height="500"> 4158 </div> 4159 </a> 4160 <figcaption class="card-figcaption"> 4161 <div class="card-figcaption-body"> 4162 <div class="card-figcaption--action-buttons"> 4163 <a href="https://www.threepiece.us/cart.php?action=add&product_id=1119666" data-event-type="product-click" class="button button--small card-figcaption-button" aria-label="Add to Cart - HERITAGE WHEEL BUSHIDO MONOC 5x110 18x9.5 +38 CHROME">
4163Add to Cart</a> 4164 </div> 4165 </div> 4166 </figcaption> 4167 </figure> 4168 <div class="card-body"> 4169 <div> 4170 <h4 class="card-title"> 4171 <a aria-label="HERITAGE WHEEL BUSHIDO MONOC 5x110 18x9.5 +38 CHROME, $399.00 4172 4173" 4174" 4175 href="https://www.threepiece.us/heritage-wheel-bushido-monoc-5x110-18x9-5-38-chrome/" 4176 4177 > 4178 HERITAGE WHEEL BUSHIDO MONOC 5x110 18x9.5 +38 CHROME 4179 </a> 4180 </h4> 4181 <div class="card-text" data-test-info-type="price"> 4182 4183 <div class="price-section price-section--withoutTax " > 4184 <span class="price-section price-section--withoutTax non-sale-price--withoutTax" style="display: none;"> 4185 <span data-product-non-sale-price-without-tax class="price price--non-sale"> 4186 4187 </span> 4188 </span> 4189 4190 <span data-product-price-without-tax class="price price--withoutTax">$399.00</span> 4191 4192 <div class="price-section price-section--withoutTax rrp-price--withoutTax" style="display: none;"> 4193 <span data-product-rrp-without-tax class="price price--rrp"></span> 4194 </div> 4195 </div> 4196 4197 </div> 4198 <p class="affirm-as-low-as" data-page-type="category" data-amount="39900"></p> 4199 <p class="card-free-shipping">Free Shipping</p> 4200 </div> 4201 4202 <div class="card-details"> 4203 4204 </div> 4205 </div> 4206</article> 4207<style> 4208 .card-free-shipping { 4209 font-size: 0.7rem; 4210 font-weight: 700; 4211 color: #2e7d32; 4212 margin: 0.1rem 0 0 0; 4213 line-height: 1.3; 4214 } 4215</style> 4216 </li> 4217 <li class="product"> 4218 <article 4219 class="card 4220 4221 " 4222 data-tp-stock="26" 4223 data-tp-cats="Shop/Wheels/Heritage Wheel;;Shop/Wheels/Heritage Wheel/BUSHIDO MONOC;;" 4224> 4225 <figure class="card-figure"> 4226 4227 4228 <a href="https://www.threepiece.us/heritage-wheel-bushido-monoc-5x108-18x9-5-12-chrome/" 4229 class="card-figure__link" 4230 aria-label="HERITAGE WHEEL BUSHIDO MONOC 5x108 18x9.5 +12 CHROME, $399.00 4231 4232" 4233" 4234 4235 > 4236 <div class="card-img-container"> 4237 <img class="card-image lazyload" 4238 data-sizes="auto" 4239 src="https://cdn11.bigcommerce.com/s-8zxb6tk/stencil/216f56b0-a0c6-013f-37ac-06627e5707c7/e/fa349870-8a84-013f-3c49-5e8f456a1dbe/img/loading.svg" 4240 data-src="https://cdn11.bigcommerce.com/s-8zxb6tk/images/stencil/300x300/products/1119662/4523622/bushidomonocchromefront_590x__38240.1722405889.png?c=2" 4241 alt="HERITAGE WHEEL BUSHIDO MONOC 5x108 18x9.5 +12 CHROME" 4242 title="HERITAGE WHEEL BUSHIDO MONOC 5x108 18x9.5 +12 CHROME" 4243 loading="lazy" 4244 decoding="async" 4245 width="500" 4246 height="500"> 4247 </div> 4248 </a> 4249 <figcaption class="card-figcaption"> 4250 <div class="card-figcaption-body"> 4251 <div class="card-figcaption--action-buttons"> 4252 <a href="https://www.threepiece.us/cart.php?action=add&product_id=1119662" data-event-type="product-click" class="button button--small card-figcaption-button" aria-label="Add to Cart - HERITAGE WHEEL BUSHIDO MONOC 5x108 18x9.5 +12 CHROME">Add to Cart</a> 4253 </div> 4254 </div> 4255 </figcaption> 4256 </figure> 4257 <div class="card-body"> 4258 <div> 4259 <h4 class="card-title"> 4260 <a aria-label="HERITAGE WHEEL BUSHIDO MONOC 5x108 18x9.5 +12 CHROME, $399.00 4261 4262" 4263" 4264 href="https://www.threepiece.us/heritage-wheel-bushido-monoc-5x108-18x9-5-12-chrome/" 4265 4266 > 4267 HERITAGE WHEEL BUSHIDO MONOC 5x108 18x9.5 +12 CHROME 4268 </a> 4269 </h4> 4270 <div class="card-text" data-test-info-type="price"> 4271 4272 <div class="price-section price-section--withoutTax " >
4273 <span class="price-section price-section--withoutTax non-sale-price--withoutTax" style="display: none;"> 4274 <span data-product-non-sale-price-without-tax class="price price--non-sale"> 4275 4276 </span> 4277 </span> 4278 4279 <span data-product-price-without-tax class="price price--withoutTax">$399.00</span> 4280 4281 <div class="price-section price-section--withoutTax rrp-price--withoutTax" style="display: none;"> 4282 <span data-product-rrp-without-tax class="price price--rrp"></span> 4283 </div> 4284 </div> 4285 4286 </div> 4287 <p class="affirm-as-low-as" data-page-type="category" data-amount="39900"></p> 4288 <p class="card-free-shipping">Free Shipping</p> 4289 </div> 4290 4291 <div class="card-details"> 4292 4293 </div> 4294 </div> 4295</article> 4296<style> 4297 .card-free-shipping { 4298 font-size: 0.7rem; 4299 font-weight: 700; 4300 color: #2e7d32; 4301 margin: 0.1rem 0 0 0; 4302 line-height: 1.3; 4303 } 4304</style> 4305 </li> 4306 <li class="product"> 4307 <article 4308 class="card 4309 4310 " 4311 data-tp-stock="2" 4312 data-tp-cats="Shop/Wheels/Heritage Wheel;;Shop/Wheels/Heritage Wheel/BUSHIDO MONOC;;" 4313> 4314 <figure class="card-figure"> 4315 <div class="stock-badge"> 4316 <span class="stock-message">Only 2 left in stock</span> 4317 </div> 4318 4319 4320 <a href="https://www.threepiece.us/heritage-wheel-bushido-monoc-5x108-18x9-5-38-chrome/" 4321 class="card-figure__link" 4322 aria-label="HERITAGE WHEEL BUSHIDO MONOC 5x108 18x9.5 +38 CHROME, $399.00 4323 4324" 4325" 4326 4327 > 4328 <div class="card-img-container"> 4329 <img class="card-image lazyload" 4330 data-sizes="auto" 4331 src="https://cdn11.bigcommerce.com/s-8zxb6tk/stencil/216f56b0-a0c6-013f-37ac-06627e5707c7/e/fa349870-8a84-013f-3c49-5e8f456a1dbe/img/loading.svg" 4332 data-src="https://cdn11.bigcommerce.com/s-8zxb6tk/images/stencil/300x300/products/1119660/4523620/bushidomonocchromefront_590x__73275.1722405887.png?c=2" 4333 alt="HERITAGE WHEEL BUSHIDO MONOC 5x108 18x9.5 +38 CHROME" 4334 title="HERITAGE WHEEL BUSHIDO MONOC 5x108 18x9.5 +38 CHROME" 4335 loading="lazy" 4336 decoding="async" 4337 width="500" 4338 height="500"> 4339 </div> 4340 </a> 4341 <figcaption class="card-figcaption"> 4342 <div class="card-figcaption-body"> 4343 <div class="card-figcaption--action-buttons"> 4344 <a href="https://www.threepiece.us/cart.php?action=add&product_id=1119660" data-event-type="product-click" class="button button--small card-figcaption-button" aria-label="Add to Cart - HERITAGE WHEEL BUSHIDO MONOC 5x108 18x9.5 +38 CHROME">Add to Cart</a> 4345 </div> 4346 </div> 4347 </figcaption> 4348 </figure> 4349 <div class="card-body"> 4350 <div> 4351 <h4 class="card-title"> 4352 <a aria-label="HERITAGE WHEEL BUSHIDO MONOC 5x108 18x9.5 +38 CHROME, $399.00 4353 4354" 4355" 4356 href="https://www.threepiece.us/heritage-wheel-bushido-monoc-5x108-18x9-5-38-chrome/" 4357 4358 > 4359 HERITAGE WHEEL BUSHIDO MONOC 5x108 18x9.5 +38 CHROME 4360 </a> 4361 </h4> 4362 <div class="card-text" data-test-info-type="price"> 4363 4364 <div class="price-section price-section--withoutTax " > 4365 <span class="price-section price-section--withoutTax non-sale-price--withoutTax" style="display: none;"> 4366 <span data-product-non-sale-price-without-tax class="price price--non-sale"> 4367 4368 </span> 4369 </span> 4370
4371 <span data-product-price-without-tax class="price price--withoutTax">$399.00</span> 4372 4373 <div class="price-section price-section--withoutTax rrp-price--withoutTax" style="display: none;"> 4374 <span data-product-rrp-without-tax class="price price--rrp"></span> 4375 </div> 4376 </div> 4377 4378 </div> 4379 <p class="affirm-as-low-as" data-page-type="category" data-amount="39900"></p> 4380 <p class="card-free-shipping">Free Shipping</p> 4381 </div> 4382 4383 <div class="card-details"> 4384 4385 </div> 4386 </div> 4387</article> 4388<style> 4389 .card-free-shipping { 4390 font-size: 0.7rem; 4391 font-weight: 700; 4392 color: #2e7d32; 4393 margin: 0.1rem 0 0 0; 4394 line-height: 1.3; 4395 } 4396</style> 4397 </li> 4398 <li class="product"> 4399 <article 4400 class="card 4401 4402 " 4403 data-tp-stock="22" 4404 data-tp-cats="Shop/Wheels/Heritage Wheel;;Shop/Wheels/Heritage Wheel/BUSHIDO MONOC;;" 4405> 4406 <figure class="card-figure"> 4407 4408 4409 <a href="https://www.threepiece.us/heritage-wheel-bushido-monoc-5x105-18x9-5-12-chrome/" 4410 class="card-figure__link" 4411 aria-label="HERITAGE WHEEL BUSHIDO MONOC 5x105 18x9.5 +12 CHROME, $399.00 4412 4413" 4414" 4415 4416 > 4417 <div class="card-img-container"> 4418 <img class="card-image lazyload" 4419 data-sizes="auto" 4420 src="https://cdn11.bigcommerce.com/s-8zxb6tk/stencil/216f56b0-a0c6-013f-37ac-06627e5707c7/e/fa349870-8a84-013f-3c49-5e8f456a1dbe/img/loading.svg" 4421 data-src="https://cdn11.bigcommerce.com/s-8zxb6tk/images/stencil/300x300/products/1119656/4523616/bushidomonocchromefront_590x__01025.1722405886.png?c=2" 4422 alt="HERITAGE WHEEL BUSHIDO MONOC 5x105 18x9.5 +12 CHROME" 4423 title="HERITAGE WHEEL BUSHIDO MONOC 5x105 18x9.5 +12 CHROME" 4424 loading="lazy" 4425 decoding="async" 4426 width="500" 4427 height="500"> 4428 </div> 4429 </a> 4430 <figcaption class="card-figcaption"> 4431 <div class="card-figcaption-body"> 4432 <div class="card-figcaption--action-buttons"> 4433 <a href="https://www.threepiece.us/cart.php?action=add&product_id=1119656" data-event-type="product-click" class="button button--small card-figcaption-button" aria-label="Add to Cart - HERITAGE WHEEL BUSHIDO MONOC 5x105 18x9.5 +12 CHROME">Add to Cart</a> 4434 </div> 4435 </div> 4436 </figcaption> 4437 </figure> 4438 <div class="card-body"> 4439 <div> 4440 <h4 class="card-title"> 4441 <a aria-label="HERITAGE WHEEL BUSHIDO MONOC 5x105 18x9.5 +12 CHROME, $399.00 4442 4443" 4444" 4445 href="https://www.threepiece.us/heritage-wheel-bushido-monoc-5x105-18x9-5-12-chrome/" 4446 4447 > 4448 HERITAGE WHEEL BUSHIDO MONOC 5x105 18x9.5 +12 CHROME 4449 </a> 4450 </h4> 4451 <div class="card-text" data-test-info-type="price"> 4452 4453 <div class="price-section price-section--withoutTax " > 4454 <span class="price-section price-section--withoutTax non-sale-price--withoutTax" style="display: none;"> 4455 <span data-product-non-sale-price-without-tax class="price price--non-sale"> 4456 4457 </span> 4458 </span> 4459 4460 <span data-product-price-without-tax class="price price--withoutTax">$399.00</span> 4461 4462 <div class="price-section price-section--withoutTax rrp-price--withoutTax" style="display: none;"> 4463 <span data-product-rrp-without-tax class="price price--rrp"></span> 4464 </div> 4465 </div> 4466 4467 </div> 4468 <p class="affirm-as-low-as" data-page-type="category" data-amount="39900"></p> 4469 <p class="card-free-shipping">Free Shipping</p> 4470 </div> 4471
4472 <div class="card-details"> 4473 4474 </div> 4475 </div> 4476</article> 4477<style> 4478 .card-free-shipping { 4479 font-size: 0.7rem; 4480 font-weight: 700; 4481 color: #2e7d32; 4482 margin: 0.1rem 0 0 0; 4483 line-height: 1.3; 4484 } 4485</style> 4486 </li> 4487 <li class="product"> 4488 <article 4489 class="card 4490 4491 " 4492 data-tp-stock="21" 4493 data-tp-cats="Shop/Wheels/Heritage Wheel;;Shop/Wheels/Heritage Wheel/BUSHIDO MONOC;;" 4494> 4495 <figure class="card-figure"> 4496 4497 4498 <a href="https://www.threepiece.us/heritage-wheel-bushido-monoc-5x105-18x9-5-12-white/" 4499 class="card-figure__link" 4500 aria-label="HERITAGE WHEEL BUSHIDO MONOC 5x105 18x9.5 +12 WHITE, $339.00 4501 4502" 4503" 4504 4505 > 4506 <div class="card-img-container"> 4507 <img class="card-image lazyload" 4508 data-sizes="auto" 4509 src="https://cdn11.bigcommerce.com/s-8zxb6tk/stencil/216f56b0-a0c6-013f-37ac-06627e5707c7/e/fa349870-8a84-013f-3c49-5e8f456a1dbe/img/loading.svg" 4510 data-src="https://cdn11.bigcommerce.com/s-8zxb6tk/images/stencil/300x300/products/1119655/4523615/bushidomonocwhitefront_590x__22448.1722405886.png?c=2" 4511 alt="HERITAGE WHEEL BUSHIDO MONOC 5x105 18x9.5 +12 WHITE" 4512 title="HERITAGE WHEEL BUSHIDO MONOC 5x105 18x9.5 +12 WHITE" 4513 loading="lazy" 4514 decoding="async" 4515 width="500" 4516 height="500"> 4517 </div> 4518 </a> 4519 <figcaption class="card-figcaption"> 4520 <div class="card-figcaption-body"> 4521 <div class="card-figcaption--action-buttons"> 4522 <a href="https://www.threepiece.us/cart.php?action=add&product_id=1119655" data-event-type="product-click" class="button button--small card-figcaption-button" aria-label="Add to Cart - HERITAGE WHEEL BUSHIDO MONOC 5x105 18x9.5 +12 WHITE">Add to Cart</a> 4523 </div> 4524 </div> 4525 </figcaption> 4526 </figure> 4527 <div class="card-body"> 4528 <div> 4529 <h4 class="card-title"> 4530 <a aria-label="HERITAGE WHEEL BUSHIDO MONOC 5x105 18x9.5 +12 WHITE, $339.00 4531 4532" 4533" 4534 href="https://www.threepiece.us/heritage-wheel-bushido-monoc-5x105-18x9-5-12-white/" 4535 4536 > 4537 HERITAGE WHEEL BUSHIDO MONOC 5x105 18x9.5 +12 WHITE 4538 </a> 4539 </h4> 4540 <div class="card-text" data-test-info-type="price"> 4541 4542 <div class="price-section price-section--withoutTax " > 4543 <span class="price-section price-section--withoutTax non-sale-price--withoutTax" style="display: none;"> 4544 <span data-product-non-sale-price-without-tax class="price price--non-sale"> 4545 4546 </span> 4547 </span> 4548 4549 <span data-product-price-without-tax class="price price--withoutTax">$339.00</span> 4550 4551 <div class="price-section price-section--withoutTax rrp-price--withoutTax" style="display: none;"> 4552 <span data-product-rrp-without-tax class="price price--rrp"></span> 4553 </div> 4554 </div> 4555 4556 </div> 4557 <p class="affirm-as-low-as" data-page-type="category" data-amount="33900"></p> 4558 <p class="card-free-shipping">Free Shipping</p> 4559 </div> 4560 4561 <div class="card-details"> 4562 4563 </div> 4564 </div> 4565</article> 4566<style> 4567 .card-free-shipping { 4568 font-size: 0.7rem; 4569 font-weight: 700; 4570 color: #2e7d32; 4571 margin: 0.1rem 0 0 0; 4572 line-height: 1.3; 4573 } 4574</style> 4575 </li> 4576 <li class="product"> 4577 <article 4578 class="card 4579 4580 " 4581 data-tp-stock="20" 4582 data-tp-cats="Shop/Wheels/Heritage Wheel;;Shop/Wheels/Heritage Wheel/BUSHIDO MONOC;;" 4583> 4584 <figure class="card-figure"> 4585 4586 4587 <a href="https://www.threepiece.us/heritage-wheel-bushido-monoc-5x105-18x9-5-38-chrome/" 4588 class="card-figure__link" 4589 aria-label="HERITAGE WHEEL BUSHIDO MONOC 5x105 18x9.5 +38 CHROME, $399.00 4590 4591" 4592" 4593 4594 > 4595 <div class="card-img-container"> 4596 <img class="card-image lazyload" 4597 data-sizes="auto" 4598 src="https://cdn11.bigcommerce.com/s-8zxb6tk/stencil/216f56b0-a0c6-013f-37ac-06627e5707c7/e/fa349870-8a84-013f-3c49-5e8f456a1dbe/img/loading.svg" 4599 data-src="https://cdn11.bigcommerce.com/s-8zxb6tk/images/stencil/300x300/products/1119654/4523614/bushidomonocchromefront_590x__11668.1722405885.png?c=2" 4600 alt="HERITAGE WHEEL BUSHIDO MONOC 5x105 18x9.5 +38 CHROME" 4601 title="HERITAGE WHEEL BUSHIDO MONOC 5x105 18x9.5 +38 CHROME" 4602 loading="lazy" 4603 decoding="async" 4604 width="500" 4605 height="500"> 4606 </div> 4607 </a>
4608 <figcaption class="card-figcaption"> 4609 <div class="card-figcaption-body"> 4610 <div class="card-figcaption--action-buttons"> 4611 <a href="https://www.threepiece.us/cart.php?action=add&product_id=1119654" data-event-type="product-click" class="button button--small card-figcaption-button" aria-label="Add to Cart - HERITAGE WHEEL BUSHIDO MONOC 5x105 18x9.5 +38 CHROME">Add to Cart</a> 4612 </div> 4613 </div> 4614 </figcaption> 4615 </figure> 4616 <div class="card-body"> 4617 <div> 4618 <h4 class="card-title"> 4619 <a aria-label="HERITAGE WHEEL BUSHIDO MONOC 5x105 18x9.5 +38 CHROME, $399.00 4620 4621" 4622" 4623 href="https://www.threepiece.us/heritage-wheel-bushido-monoc-5x105-18x9-5-38-chrome/" 4624 4625 > 4626 HERITAGE WHEEL BUSHIDO MONOC 5x105 18x9.5 +38 CHROME 4627 </a> 4628 </h4> 4629 <div class="card-text" data-test-info-type="price"> 4630 4631 <div class="price-section price-section--withoutTax " > 4632 <span class="price-section price-section--withoutTax non-sale-price--withoutTax" style="display: none;"> 4633 <span data-product-non-sale-price-without-tax class="price price--non-sale"> 4634 4635 </span> 4636 </span> 4637 4638 <span data-product-price-without-tax class="price price--withoutTax">$399.00</span> 4639 4640 <div class="price-section price-section--withoutTax rrp-price--withoutTax" style="display: none;"> 4641 <span data-product-rrp-without-tax class="price price--rrp"></span> 4642 </div> 4643 </div> 4644 4645 </div> 4646 <p class="affirm-as-low-as" data-page-type="category" data-amount="39900"></p> 4647 <p class="card-free-shipping">Free Shipping</p> 4648 </div> 4649 4650 <div class="card-details"> 4651 4652 </div> 4653 </div> 4654</article> 4655<style> 4656 .card-free-shipping { 4657 font-size: 0.7rem; 4658 font-weight: 700; 4659 color: #2e7d32; 4660 margin: 0.1rem 0 0 0; 4661 line-height: 1.3; 4662 } 4663</style> 4664 </li> 4665</ul> 4666 </div> 4667 4668 <nav class="pagination" aria-label="pagination"> 4669 <ul class="pagination-list"> 4670 <li class="pagination-item pagination-item--current"> 4671 <a class="pagination-link" 4672 href="https://www.threepiece.us/shop/?page=1" 4673 data-faceted-search-facet 4674 aria-current="page" 4675 data-pagination-current-page-link 4676 aria-label="Page 1 of 6" 4677 > 4678 1 4679 </a> 4680 </li> 4681 <li class="pagination-item "> 4682 <a class="pagination-link" 4683 href="https://www.threepiece.us/shop/?page=2" 4684 data-faceted-search-facet 4685 aria-label="Page 2 of 6" 4686 > 4687 2 4688 </a> 4689 </li> 4690 <li class="pagination-item "> 4691 <a class="pagination-link" 4692 href="https://www.threepiece.us/shop/?page=3" 4693 data-faceted-search-facet 4694 aria-label="Page 3 of 6" 4695 > 4696 3 4697 </a> 4698 </li> 4699 <li class="pagination-item "> 4700 <a class="pagination-link" 4701 href="https://www.threepiece.us/shop/?page=4" 4702 data-faceted-search-facet 4703 aria-label="Page 4 of 6" 4704 > 4705 4 4706 </a> 4707 </li> 4708 <li class="pagination-item "> 4709 <a class="pagination-link" 4710 href="https://www.threepiece.us/shop/?page=5" 4711 data-faceted-search-facet 4712 aria-label="Page 5 of 6" 4713 > 4714 5 4715 </a> 4716 </li> 4717 <li class="pagination-item "> 4718 <a class="pagination-link" 4719 href="https://www.threepiece.us/shop/?page=6" 4720 data-faceted-search-facet 4721 aria-label="Page 6 of 6" 4722 > 4723 6 4724 </a> 4725 </li> 4726 4727 <li class="pagination-item pagination-item--next"> 4728 <a class="pagination-link" 4729 href="https://www.threepiece.us/shop/?page=2" 4730 data-faceted-search-facet 4731 aria-label="Next" 4732 > 4733 Next 4734 <i class="icon" aria-hidden="true"> 4735 <svg> 4736 <use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="#icon-chevron-right"></use> 4737 </svg> 4738 </i> 4739 </a> 4740 </li> 4741 </ul> 4742</nav> 4743 4744 <div data-content-region="category_below_content"></div> 4745 </main> 4746 </div> 4747 </div> 4748 4749 <section class="page-content container"> 4750 <div data-content-region="category_below_header"></div> 4751 <div class="category-description-full"></div> 4752 4753 </section> 4754</div> 4755 4756 4757 4758 <div id="modal" class="modal" data-reveal data-prevent-quick-search-close role="dialog" aria-modal="true" aria-label="Product details"> 4759 <button class="modal-close" 4760 type="button" 4761 title="Close" 4762 4763> 4764 <span class="aria-description--hidden">Close</span> 4765 <span aria-hidden="true">×</span> 4766</button> 4767 <div class="modal-content"></div> 4768 <div class="loadingOverlay" role="status" aria-label="Loading"></div> 4769</div> 4770 <div id="alert-modal" class="modal modal--alert modal--small" data-reveal data-prevent-quick-search-close role="alertdialog" aria-modal="true" aria-label="Alert"> 4771 <div class="swal2-icon swal2-error swal2-icon-show"><span class="swal2-x-mark"><span class="swal2-x-mark-line-left"></span><span class="swal2-x-mark-line-right"></span></span></div> 4772 4773 <div class="modal-content"></div> 4774 4775 <div class="button-container"><button type="button" class="confirm button" data-reveal-close>OK</button></div> 4776</div> 4777</div> 4778 4779 4780<footer class="footer" role="contentinfo"> 4781 <h2 class="footer-title-sr-only">Footer Start</h2> 4782 <div class="container"> 4783 <section class="footer-seo-content"> 4784 <div class="footer-seo-inner"> 4785 <h3 class="footer-seo-heading">America's Trusted Custom Wheel & Performance Rim Specialists Since 2014</h3> 4786 <div class="footer-seo-columns"> 4787 <div class="footer-seo-col"> 4788 <h4>Expert Wheel Fitment Services</h4> 4789 <p>ThreePiece.us specializes in <a href="/new-wheels/">custom wheel fitment</a> for daily drivers, show cars, and professional race vehicles. Our expert team has 10+ years of experience calculating perfect offset, diameter, width, and bolt pattern specifications for aggressive stance, flush fitment, and stretched tire setups. Try our
4789<a href="/wheel-fitment-calculator/">wheel fitment calculator</a>, see any wheel on your car in the <a href="https://visualizer.threepiece.us/">free wheel visualizer</a>, browse our <a href="https://vehicles.threepiece.us/vehicles/">vehicle fitment database</a> for verified bolt patterns and specs, or read our <a href="/faq/">fitment FAQ</a>. We guarantee proper fitment or we'll make it right.</p> 4790 </div> 4791 <div class="footer-seo-col"> 4792 <h4>Premium Wheel Brands In Stock</h4> 4793 <p>Authorized dealer for <a href="/new-wheels/work-wheels/">Work Wheels</a>, <a href="/new-wheels/ssr-wheels/">SSR</a>, <a href="/new-wheels/wedssport-1/">Weds</a>, <a href="/new-wheels/volk-racing/">Volk Racing</a>, <a href="/brands/Rays.html">Rays Engineering</a>, <a href="/new-wheels/enkei/">Enkei</a>, <a href="/new-wheels/bbs/">BBS</a>, and all major JDM and European performance wheel brands. Largest selection of forged wheels, lightweight rims, and authentic Japanese performance wheels in America. Every wheel is 100% genuine.</p> 4794 </div> 4795 <div class="footer-seo-col"> 4796 <h4>Free Shipping & Expert Support</h4> 4797 <p>Free shipping on all wheel & tire packages within the continental US. Professional mounting and balancing by expert technicians. 30-day returns on unmounted wheels. Financing available through Affirm, Klarna, PayPal Credit, and Snap Finance. Contact our fitment specialists at <a href="/cdn-cgi/l/email-protection#483b29242d3b083c203a2d2d38212d2b2d663d3b"><span class="__cf_email__" data-cfemail="7c0f1d10190f3c08140e19190c15191f1952090f">[email protected]</span></a> for personalized wheel recommendations and sizing advice.</p> 4798 </div> 4799 </div> 4800 <div class="footer-trust-badges"> 4801 <div class="trust-badge-item"> 4802 <strong>â 10+ Years Experience</strong> 4803 <span>Serving Enthusiasts Since 2014</span> 4804 </div> 4805 <div class="trust-badge-item"> 4806 <strong>â 10,000+ Customers</strong> 4807 <span>Trusted Fitment Experts</span> 4808 </div> 4809 <div class="trust-badge-item"> 4810 <strong>â Free Shipping</strong> 4811 <span>On All Packages</span> 4812 </div> 4813 <div class="trust-badge-item"> 4814 <strong>â Authentic Products</strong> 4815 <span>100% Genuine Wheels</span> 4816 </div> 4817 <div class="trust-badge-item"> 4818 <strong>â Expert Fitment</strong> 4819 <span>Guaranteed Perfect Fit</span> 4820 </div> 4821 </div> 4822 </div> 4823 </section> 4824 <section class="footer-info 4a616d6573"> 4825 <article class="footer-info-col footer-info-dropdown footer-info-col--small" data-section-type="footer-categories"> 4826 <h5 class="footer-info-heading"> 4827 Categories 4828 <i class="icon" aria-hidden="true"> 4829 <svg><use xlink:href="#icon-downselector" /></svg> 4830 </i> 4831 </h5> 4832 <ul class="footer-info-list"> 4833 <li > 4834 <a href="https://www.threepiece.us/custom-wheel-tire-package-builder/" title="Shop Custom Wheel & Tire Package Builder - Custom Wheels & Performance Rims">Custom Wheel & Tire Package Builder</a> 4835 </li> 4836 <li > 4837 <a href="https://www.threepiece.us/shop/" title="Shop Shop - Custom Wheels & Performance Rims">Shop</a> 4838 </li> 4839 <li > 4840 <a href="https://www.threepiece.us/heritage-wheel/" title="Shop Heritage Wheel - Custom Wheels & Performance Rims">Heritage Wheel</a> 4841 </li> 4842 <li > 4843 <a href="https://www.threepiece.us/mounted-packages/" title="Shop Wheel & Tire Packages - Custom Wheels & Performance Rims">Wheel & Tire Packages</a> 4844 </li> 4845 <li style="display: none;" > 4846 <a href="https://www.threepiece.us/finish-your-installation-kit/" title="Shop Finis
4846h Your Installation Kit - Custom Wheels & Performance Rims">Finish Your Installation Kit</a> 4847 </li> 4848 </ul> 4849 </article> 4850 4851 <article class="footer-info-col footer-info-dropdown footer-info-col--small" data-section-type="footer-webPages"> 4852 <h5 class="footer-info-heading"> 4853 Information 4854 <i class="icon" aria-hidden="true"> 4855 <svg><use xlink:href="#icon-downselector" /></svg> 4856 </i> 4857 </h5> 4858 <ul class="footer-info-list"> 4859 <li> 4860 <a href="https://www.threepiece.us/faq/" title="FAQ - ThreePiece.us Custom Wheels">FAQ</a> 4861 </li> 4862 <li> 4863 <a href="https://visualizer.threepiece.us/" title="Wheel Visualizer - ThreePiece.us Custom Wheels">Wheel Visualizer</a> 4864 </li> 4865 <li> 4866 <a href="https://gallery.threepiece.us/" title="Threepieceus Gallery - ThreePiece.us Custom Wheels">Threepieceus Gallery</a> 4867 </li> 4868 <li> 4869 <a href="https://www.threepiece.us/add-vehicle/" title="Add Your Ride - ThreePiece.us Custom Wheels">Add Your Ride</a> 4870 </li> 4871 <li> 4872 <a href="https://www.threepiece.us/blog/" title="Fitment Info - ThreePiece.us Custom Wheels">Fitment Info</a> 4873 </li> 4874 <li> 4875 <a href="https://www.threepiece.us/about-us/" title="About Us - ThreePiece.us Custom Wheels">About Us</a> 4876 </li> 4877 <li> 4878 <a href="https://vehicles.threepiece.us/vehicles/" title="Vehicle Fitment Database - Bolt Patterns, Offsets & Wheel Specs by Year & Trim">Vehicle Fitment Database</a> 4879 </li> 4880 <li> 4881 <a href="/contact-us" title="Contact Our Wheel Fitment Experts - Get Personalized Sizing Advice">Contact Us</a> 4882 </li> 4883 <li> 4884 <a href="/privacy-policy" title="Privacy Policy - ThreePiece.us">Privacy Policy</a> 4885 </li> 4886 <li> 4887 <a href="/sms-terms/" title="SMS Terms & Conditions - Text Message Program - ThreePiece.us">SMS Terms</a> 4888 </li> 4889 <li> 4890 <a href="/shipping-return" title="Free Shipping on Packages - 30-Day Returns on Unmounted Wheels">Shipping & Return</a> 4891 </li> 4892 <li> 4893 <a href="/terms-and-conditions" title="Terms & Conditions - ThreePiece.us">Terms & Conditions</a> 4894 </li> 4895 <li> 4896 <a href="/accessibility" title="Accessibility Statement - ThreePiece.us">Accessibility</a> 4897 </li> 4898 <li> 4899 <a href="https://www.threepiece.us/sitemap.php" title="Site Map - Browse All Custom Wheels & Performance Rims">Sitemap</a> 4900 </li> 4901 </ul> 4902 </article> 4903 4904 <article class="footer-info-col footer-info-dropdown footer-info-col--small" data-section-type="footer-brands"> 4905 <h5 class="footer-info-heading"> 4906 Brands 4907 <i class="icon" aria-hidden="true"> 4908 <svg><use xlink:href="#icon-downselector" /></svg> 4909 </i> 4910 </h5> 4911 <ul class="footer-info-list"> 4912 <li> 4913 <a href="https://www.threepiece.us/Work-wheels-rims/" title="Work Wheels Custom Wheels - Authentic JDM & Performance Rims">Work Wheels</a> 4914 </li> 4915 <li> 4916 <a href="https://www.threepiece.us/ccw-wheels-rims/" title="CCW Wheels Custom Wheels - Authentic JDM & Performance Rims">CCW Wheels</a> 4917 </li> 4918 <li> 4919 <a href="https://www.threepiece.us/SSR-wheels-rims/" title="SSR Wheels Custom Wheels - Authentic JDM & Performance Rims">SSR Wheels</a> 4920 </li> 4921 <li> 4922 <a href="https://www.threepiece.us/fuel-forged/" title="Fuel Forged Custom Wheels - Authentic JDM & Performance Rims">Fuel Forged</a> 4923 </li> 4924 <li> 4925 <a href="https://www.threepiece.us/fuel-wheels-rims/" title="Fuel 1PC Custom Wheels - Authentic JDM & Performance Rims">Fuel 1PC</a> 4926 </li> 4927 <li> 4928 <a href="https://www.threepiece.us/american-force-wheels-rims/" title="American Force Custom Wheels - Authentic JDM & Performance Rims">
4928American Force</a> 4929 </li> 4930 <li> 4931 <a href="https://www.threepiece.us/esr-wheels-rims/" title="ESR Wheels Custom Wheels - Authentic JDM & Performance Rims">ESR Wheels</a> 4932 </li> 4933 <li> 4934 <a href="https://www.threepiece.us/black-rhino-wheels-rims/" title="Black Rhino Custom Wheels - Authentic JDM & Performance Rims">Black Rhino</a> 4935 </li> 4936 <li> 4937 <a href="https://www.threepiece.us/tsw-wheels-rims/" title="TSW Custom Wheels - Authentic JDM & Performance Rims">TSW</a> 4938 </li> 4939 <li> 4940 <a href="https://www.threepiece.us/xd-wheels-rims/" title="XD Custom Wheels - Authentic JDM & Performance Rims">XD</a> 4941 </li> 4942 <li><a href="https://www.threepiece.us/brands/" title="View All Wheel Brands - Work, SSR, Weds, Volk Racing & More">View All</a></li> 4943 </ul> 4944 </article> 4945 4946 <article class="footer-info-col footer-mobile-limited footer-info-col--small" data-section-type="footer-webPages"> 4947 <h5 class="footer-info-heading">Follow Us</h5> 4948 <ul class="socialLinks socialLinks--alt"> 4949 <li class="socialLinks-item"> 4950 <a class="icon icon--youtube" href="https://www.youtube.com/threepieceus" target="_blank" rel="noopener" aria-label="youtube (opens in new window)"> 4951 <svg aria-hidden="true"><use xlink:href="#icon-youtube" /></svg> 4952 </a> 4953 </li> 4954 <li class="socialLinks-item"> 4955 <a class="icon icon--instagram" href="https://instagram.com/threepiece.us/" target="_blank" rel="noopener" aria-label="instagram (opens in new window)"> 4956 <svg aria-hidden="true"><use xlink:href="#icon-instagram" /></svg> 4957 </a> 4958 </li> 4959 <li class="socialLinks-item"> 4960 <a class="icon icon--facebook" href="https://www.facebook.com/threepiece.us" target="_blank" rel="noopener" aria-label="facebook (opens in new window)"> 4961 <svg aria-hidden="true"><use xlink:href="#icon-facebook" /></svg> 4962 </a> 4963 </li> 4964 </ul> 4965 </article> 4966 4967 <article class="footer-info-col footer-mobile-limited footer-info-col--small" data-section-type="storeInfo"> 4968 <h5 class="footer-info-heading footer-store-name">Threepieceus</h5> 4969 <address>_</address> 4970 <!-- 4971 <div class="footer-info-phone"> 4972 <i class="icon" aria-hidden="true"> 4973 <svg><use xlink:href="#icon-phone" /></svg> 4974 </i> 4975 <a href="tel:909-398-1387">909-398-1387</a> 4976 </div> 4977 --> 4978 <div class="footer-info-phone"> 4979 <i class="icon" aria-hidden="true"> 4980 <svg><use xlink:href="#icon-mail" /></svg> 4981 </i> 4982 <a href="/cdn-cgi/l/email-protection#5b283a373e281b2f33293e3e2b323e383e752e28"><span class="__cf_email__" data-cfemail="80f3e1ece5f3c0f4e8f2e5e5f0e9e5e3e5aef5f3">[email protected]</span></a> 4983 <div class="footer-newsletter-form-klaviyo"> 4984 <div class="klaviyo-form-YgEL95"></div> 4985 </div> 4986 </div> 4987 </article> 4988 </section> 4989 <div class="footer-copyright"> 4990 <div class="footer-payment-icons"> 4991 <svg class="footer-payment-icon"><use xlink:href="#icon-logo-american-express"></use></svg> 4992 <svg class="footer-payment-icon"><use xlink:href="#icon-logo-discover"></use></svg> 4993 <svg class="footer-payment-icon"><use xlink:href="#icon-logo-mastercard"></use></svg> 4994 <svg class="footer-payment-icon"><use xlink:href="#icon-logo-paypal"></use></svg> 4995 <svg class="footer-payment-icon"><use xlink:href="#icon-logo-visa"></use></svg> 4996 <svg class="footer-payment-icon"><use xlink:href="#icon-logo-klarna"></use></svg> 4997 </div> 4998 <p class="powered-by">© 2026 Threepieceus </p> 4999 <p class="powered-by" style="font-size: 11px; opacity: 0.7;"><a href="https://db-ip.com" rel="nofollow">IP Geolocation by DB-IP</a></p> 5000 </div> 5001 5002 </div> 5003 <div data-content-region="ssl_site_seal--global"></div> 5004</footer>
vendor: 115 bytes, lines 5004-5007
5004 5005 5006 5007 <script data-cfasync="false" src="/cdn-cgi/scripts/5c5dd728/cloudflare-static/email-decode.min.js"></script>
5007<script> 5008 window.__webpack_public_path__ = "https://cdn11.bigcommerce.com/s-8zxb6tk/stencil/216f56b0-a0c6-013f-37ac-06627e5707c7/e/fa349870-8a84-013f-3c49-5e8f456a1dbe/dist/"; 5009 </script>
5009 5010
5010<script> 5011 function onThemeBundleMain() { 5012 window.stencilBootstrap("category", "{\"categoryProductsPerPage\":12,\"categoryId\":7337,\"zoomSize\":\"1280x1280\",\"productSize\":\"550x550\",\"genericError\":\"Oops! Something went wrong.\",\"maintenanceModeSettings\":[],\"adminBarLanguage\":\"{\\\"locale\\\":\\\"en\\\",\\\"locales\\\":{\\\"admin.maintenance_header\\\":\\\"en\\\",\\\"admin.maintenance_tooltip\\\":\\\"en\\\",\\\"admin.maintenance_showstore_link\\\":\\\"en\\\",\\\"admin.prelaunch_header\\\":\\\"en\\\",\\\"admin.page_builder_link\\\":\\\"en\\\"},\\\"translations\\\":{\\\"admin.maintenance_header\\\":\\\"Your store is down for maintenance.\\\",\\\"admin.maintenance_tooltip\\\":\\\"Only administrators can view the store at the moment. Visit your control panel settings page to disable maintenance mode.\\\",\\\"admin.maintenance_showstore_link\\\":\\\"Click here to see what your visitors will see.\\\",\\\"admin.prelaunch_header\\\":\\\"Your storefront is private. Share your site with preview code:\\\",\\\"admin.page_builder_link\\\":\\\"Design this page in Page Builder\\\"}}\",\"urls\":{\"home\":\"https://www.threepiece.us/\",\"brands\":\"https://www.threepiece.us/brands/\",\"search\":\"https://www.threepiece.us/search.php\",\"compare\":\"https://www.threepiece.us/compare\",\"sitemap\":\"https://www.threepiece.us/sitemap.php\",\"contact_us_submit\":\"https://www.threepiece.us/pages.php?action=sendContactForm\",\"subscribe\":{\"action\":\"https://www.threepiece.us/subscribe.php\"},\"checkout\":{\"single_address\":\"https://www.threepiece.us/checkout\",\"multiple_address\":\"https://www.threepiece.us/checkout.php?action=multiple\"},\"account\":{\"orders\":{\"all\":\"https://www.threepiece.us/account.php?action=order_status\",\"completed\":\"https://www.threepiece.us/account.php?action=view_orders\",\"save_new_return\":\"https://www.threepiece.us/account.php?action=save_new_return\"},\"returns\":\"https://www.threepiece.us/account.php?action=view_returns\",\"addresses\":\"https://www.threepiece.us/account.php?action=address_book\",\"inbox\":\"https://www.threepiece.us/account.php?action=inbox\",\"send_message\":\"https://www.threepiece.us/account.php?action=send_message\",\"add_address\":\"https://www.threepiece.us/account.php?action=add_shipping_address\",\"update_action\":\"https://www.threepiece.us/account.php?action=update_account\",\"details\":\"https://www.threepiece.us/account.php?action=account_details\",\"recent_items\":\"https://www.threepiece.us/account.php?action=recent_items\",\"index\":\"https://www.threepiece.us/account.php\",\"wishlists\":{\"all\":\"https://www.threepiece.us/wishlist.php\",\"add\":\"https://www.threepiece.us/wishlist.php?action=addwishlist\",\"edit\":\"https://www.threepiece.us/wishlist.php?action=editwishlist\",\"delete\":\"https://www.threepiece.us/wishlist.php?action=deletewishlist\"}},\"auth\":{\"login\":\"https://www.threepiece.us/login.php\",\"check_login\":\"https://www.threepiece.us/login.php?action=check_login\",\"create_account\":\"https://www.threepiece.us/login.php?action=create_account\",\"save_new_account\":\"https://www.threepiece.us/login.php?action=save_new_account\",\"forgot_password\":\"https://www.threepiece.us/login.php?action=reset_password\",\"send_password_email\":\"https://www.threepiece.us/login.php?action=send_password_email\",\"save_new_password\":\"https://www.threepiece.us/login.php?action=save_new_password\",\"logout\":\"https://www.threepiece.us/login.php?action=logout\"},\"cart\":\"https://www.threepiece.us/cart.php\",\"product\":{\"post_review\":\"https://www.threepiece.us/postreview.php\"},\"gift_certificate\":{\"purchase\":\"https://www.threepiece.us/giftcertificates.php\",\"redeem\":\"https://www.threepiece.us/giftcertificates.php?action=redeem\",\"balance\":\"https://www.threepiece.us/giftcertificates.php?action=balance\"},\"rss\":{\"products\":{\"featured\":\"https://www.threepiece.us/rss.php?action=featuredproducts&type=rss\",\"featured_atom\":\"https://www.threepiece.us/rss.php?action=featuredproducts&type=atom\",\"search\":\"https://www.threepiece.us/rss.php?action=searchproducts&type=rss\",\"search_atom\":\"https://www.threepiece.us/rss.php?action=searchproducts&type=atom\"},\"blog\":\"https://www.threepiece.us/rss.php?action=newblogs&type=rss\",\"blog_atom\":\"https://www.threepiece.us/rss.php?action=newblogs&type=atom\"}},\"secureBaseUrl\":\"https://www.threepiece.us\",\"cartId\":null,\"channelId\":1,\"template\":\"pages/category\",\"validationDictionaryJSON\":\"{\\\"locale\\\":\\\"en\\\",\\\"locales\\\":{\\\"validation_messages.val
5012id_email\\\":\\\"en\\\",\\\"validation_messages.password\\\":\\\"en\\\",\\\"validation_messages.password_match\\\":\\\"en\\\",\\\"validation_messages.invalid_password\\\":\\\"en\\\",\\\"validation_messages.field_not_blank\\\":\\\"en\\\",\\\"validation_messages.certificate_amount\\\":\\\"en\\\",\\\"validation_messages.certificate_amount_range\\\":\\\"en\\\",\\\"validation_messages.price_min_evaluation\\\":\\\"en\\\",\\\"validation_messages.price_max_evaluation\\\":\\\"en\\\",\\\"validation_messages.price_min_not_entered\\\":\\\"en\\\",\\\"validation_messages.price_max_not_entered\\\":\\\"en\\\",\\\"validation_messages.price_invalid_value\\\":\\\"en\\\",\\\"validation_messages.invalid_gift_certificate\\\":\\\"en\\\"},\\\"translations\\\":{\\\"validation_messages.valid_email\\\":\\\"You must enter a valid email.\\\",\\\"validation_messages.password\\\":\\\"You must enter a password.\\\",\\\"validation_messages.password_match\\\":\\\"Your passwords do not match.\\\",\\\"validation_messages.invalid_password\\\":\\\"Passwords must be at least 7 characters and contain both alphabetic and numeric characters.\\\",\\\"validation_messages.field_not_blank\\\":\\\" field cannot be blank.\\\",\\\"validation_messages.certificate_amount\\\":\\\"You must enter a gift certificate amount.\\\",\\\"validation_messages.certificate_amount_range\\\":\\\"You must enter a certificate amount between [MIN] and [MAX]\\\",\\\"validation_messages.price_min_evaluation\\\":\\\"Min. price must be less than max. price.\\\",\\\"validation_messages.price_max_evaluation\\\":\\\"Min. price must be less than max. price.\\\",\\\"validation_messages.price_min_not_entered\\\":\\\"Min. price is required.\\\",\\\"validation_messages.price_max_not_entered\\\":\\\"Max. price is required.\\\",\\\"validation_messages.price_invalid_value\\\":\\\"Input must be greater than 0.\\\",\\\"validation_messages.invalid_gift_certificate\\\":\\\"Please enter your valid certificate code.\\\"}}\",\"validationFallbackDictionaryJSON\":\"{\\\"locale\\\":\\\"en\\\",\\\"locales\\\":{\\\"validation_fallback_messages.valid_email\\\":\\\"en\\\",\\\"validation_fallback_messages.password\\\":\\\"en\\\",\\\"validation_fallback_messages.password_match\\\":\\\"en\\\",\\\"validation_fallback_messages.invalid_password\\\":\\\"en\\\",\\\"validation_fallback_messages.field_not_blank\\\":\\\"en\\\",\\\"validation_fallback_messages.certificate_amount\\\":\\\"en\\\",\\\"validation_fallback_messages.certificate_amount_range\\\":\\\"en\\\",\\\"validation_fallback_messages.price_min_evaluation\\\":\\\"en\\\",\\\"validation_fallback_messages.price_max_evaluation\\\":\\\"en\\\",\\\"validation_fallback_messages.price_min_not_entered\\\":\\\"en\\\",\\\"validation_fallback_messages.price_max_not_entered\\\":\\\"en\\\",\\\"validation_fallback_messages.price_invalid_value\\\":\\\"en\\\",\\\"validation_fallback_messages.invalid_gift_certificate\\\":\\\"en\\\"},\\\"translations\\\":{\\\"validation_fallback_messages.valid_email\\\":\\\"You must enter a valid email.\\\",\\\"validation_fallback_messages.password\\\":\\\"You must enter a password.\\\",\\\"validation_fallback_messages.password_match\\\":\\\"Your passwords do not match.\\\",\\\"validation_fallback_messages.invalid_password\\\":\\\"Passwords must be at least 7 characters and contain both alphabetic and numeric characters.\\\",\\\"validation_fallback_messages.field_not_blank\\\":\\\" field cannot be blank.\\\",\\\"validation_fallback_messages.certificate_amount\\\":\\\"You must enter a gift certificate amount.\\\",\\\"validation_fallback_messages.certificate_amount_range\\\":\\\"You must enter a certificate amount between [MIN] and [MAX]\\\",\\\"validation_fallback_messages.price_min_evaluation\\\":\\\"Min. price must be less than max. price.\\\",\\\"validation_fallback_messages.price_max_evaluation\\\":\\\"Min. price must be less than max. price.\\\",\\\"validation_fallback_messages.price_min_not_entered\\\":\\\"Min. price is required.\\\",\\\"validation_fallback_messages.price_max_not_entered\\\":\\\"Max. price is required.\\\",\\\"validation_fallback_messages.price_invalid_value\\\":\\\"Input must be greater than 0.\\\",\\\"validation_fallback_messages.invalid_gift_certificate\\\":\\\"Please enter your valid certificate code.\\\"}}\",\"validationDefaultDictionaryJSON\":\"{\\\"locale\\\":\\\"en\\\",\\\"locales\\\":{\\\"validation_default_messages.val
5012id_email\\\":\\\"en\\\",\\\"validation_default_messages.password\\\":\\\"en\\\",\\\"validation_default_messages.password_match\\\":\\\"en\\\",\\\"validation_default_messages.invalid_password\\\":\\\"en\\\",\\\"validation_default_messages.field_not_blank\\\":\\\"en\\\",\\\"validation_default_messages.certificate_amount\\\":\\\"en\\\",\\\"validation_default_messages.certificate_amount_range\\\":\\\"en\\\",\\\"validation_default_messages.price_min_evaluation\\\":\\\"en\\\",\\\"validation_default_messages.price_max_evaluation\\\":\\\"en\\\",\\\"validation_default_messages.price_min_not_entered\\\":\\\"en\\\",\\\"validation_default_messages.price_max_not_entered\\\":\\\"en\\\",\\\"validation_default_messages.price_invalid_value\\\":\\\"en\\\",\\\"validation_default_messages.invalid_gift_certificate\\\":\\\"en\\\"},\\\"translations\\\":{\\\"validation_default_messages.valid_email\\\":\\\"You must enter a valid email.\\\",\\\"validation_default_messages.password\\\":\\\"You must enter a password.\\\",\\\"validation_default_messages.password_match\\\":\\\"Your passwords do not match.\\\",\\\"validation_default_messages.invalid_password\\\":\\\"Passwords must be at least 7 characters and contain both alphabetic and numeric characters.\\\",\\\"validation_default_messages.field_not_blank\\\":\\\"The field cannot be blank.\\\",\\\"validation_default_messages.certificate_amount\\\":\\\"You must enter a gift certificate amount.\\\",\\\"validation_default_messages.certificate_amount_range\\\":\\\"You must enter a certificate amount between [MIN] and [MAX]\\\",\\\"validation_default_messages.price_min_evaluation\\\":\\\"Min. price must be less than max. price.\\\",\\\"validation_default_messages.price_max_evaluation\\\":\\\"Min. price must be less than max. price.\\\",\\\"validation_default_messages.price_min_not_entered\\\":\\\"Min. price is required.\\\",\\\"validation_default_messages.price_max_not_entered\\\":\\\"Max. price is required.\\\",\\\"validation_default_messages.price_invalid_value\\\":\\\"Input must be greater than 0.\\\",\\\"validation_default_messages.invalid_gift_certificate\\\":\\\"Please enter your valid certificate code.\\\"}}\",\"carouselArrowAndDotAriaLabel\":\"Go to slide [SLIDE_NUMBER] of [SLIDES_QUANTITY]\",\"carouselActiveDotAriaLabel\":\"active\",\"carouselContentAnnounceMessage\":\"You are currently on slide [SLIDE_NUMBER] of [SLIDES_QUANTITY]\",\"noCompareMessage\":\"You must select at least two products to compare\"}").load(); 5013 } 5014 </script>
5014 5015
5015<script 5016 async 5017 defer 5018 src="https://cdn11.bigcommerce.com/s-8zxb6tk/stencil/216f56b0-a0c6-013f-37ac-06627e5707c7/e/fa349870-8a84-013f-3c49-5e8f456a1dbe/dist/theme-bundle.main.js" 5019 onload="onThemeBundleMain()" 5020 ></script>
5020 5021 5022
5022<script type="text/javascript" src="https://cdn11.bigcommerce.com/shared/js/csrf-protection-header-5eeddd5de78d98d146ef4fd71b2aedce4161903e.js"></script>
vendor: 1 bytes, line 5022
5022
5023<script src='https://bigcommerce.snapfinance.com/storage/app/public/snap.js?eraseCache=true' ></script>
5023<script src='https://js.snapfinance.com/v2/snap-sdk.js' ></script>
vendor: 1 bytes, line 5023
5023
5024<script> 5025window.dataLayer = window.dataLayer || []; 5026 5027</script>
5027<script async type="text/javascript" src="https://static.klaviyo.com/onsite/js/klaviyo.js?company_id=WcaDix"></script>
5027<script> 5028// schema found here: https://developer.bigcommerce.com/docs/storefront/stencil/themes/context/object-reference/schemas#category 5029 5030window.dataLayer = window.dataLayer || []; 5031 5032window.dataLayer.push({ 5033 event: 'dl_view_category', 5034 ecommerce: { 5035 name: 'Shop', 5036 total_products: '10000' 5037 } 5038}); 5039</script>
5039<script> 5040var _learnq = _learnq || []; 5041var product_categories = []; 5042 5043 var item = { 5044 Name: "", 5045 ProductID: "", 5046 ImageURL: "https://cdn11.bigcommerce.com/s-8zxb6tk/stencil/216f56b0-a0c6-013f-37ac-06627e5707c7/e/fa349870-8a84-013f-3c49-5e8f456a1dbe/img/ProductDefault.gif", 5047 URL: "", 5048 Brand: "", 5049 Categories: product_categories, 5050 Price: "", 5051 CompareAtPrice:"" 5052 }; 5053 5054 _learnq.push(['track', 'Viewed Product', item]); 5055 5056 _learnq.push(['trackViewedItem', { 5057 Title: item.Name, 5058 ItemId: item.ProductID, 5059 Categories: item.Categories, 5060 ImageUrl: item.ImageURL, 5061 Url: item.URL, 5062 Metadata: { 5063 Brand: item.Brand, 5064 Price: item.Price, 5065 CompareAtPrice: item.CompareAtPrice 5066 } 5067 }]); 5068 5069</script>
5069<script> 5070 var _learnq = _learnq || []; 5071 var buttonsMultiples = document.querySelectorAll(".atc-multiple"); 5072 var buttonsSingleItems = document.querySelectorAll("#form-action-addToCart"); 5073 5074 5075 if(buttonsMultiples.length > 0){ 5076 buttonsMultiples.forEach((button) => { 5077 button.addEventListener("click", (event) => { 5078 var item = event.target 5079 _learnq.push(["track", "Added to Cart", item]); 5080 }); 5081 }); 5082 } else if(buttonsSingleItems.length > 0){ 5083 buttonsSingleItems[0].addEventListener("click", (event) => { 5084 var item = event.target 5085 _learnq.push(["track", "Added to Cart", item]); 5086 }) 5087 } 5088 </script>
5088<script type="text/javascript" src="https://threepieceus.myconvermax.com/static/search.min.js" fetchpriority="high"></script>
5088<script> 5089(function(){ 5090 'use strict'; 5091 var C={ 5092 http:'https://chat.threepiece.us/chat/message', 5093 ws:'wss://chat.threepiece.us/chat/ws', 5094 max:500, 5095 timeout:22000, 5096 key:'tp_live_chat_visitor_id', 5097 ckey:'tp_live_chat_contact', 5098 hkey:'tp_live_chat_history', 5099 pkey:'tp_live_chat_pages', 5100 id:'tp-live-chat', 5101 sid:'tp-live-chat-style', 5102 akey:'tp_live_chat_auto_opened', 5103 autoDelay:5500, 5104 maxHistory:28, 5105 maxPages:8, 5106 skip:/(\/checkout|\/checkout\.php|\/order-confirmation|\/finishorder\.php)/i 5107 }; 5108 var T={ 5109 hello:'What wheel, fitment, color, or package question can I answer for you?', 5110 fallback:'Email [email protected] with your vehicle and wheel interest, or call 813-535-5801.', 5111 busy:'Chat is having trouble connecting. Email [email protected] with your vehicle and wheel interest, or call 813-535-5801.' 5112 }; 5113 if(window.__TP_LIVE_CHAT_LOADED__||C.skip.test(location.pathname))return; 5114 window.__TP_LIVE_CHAT_LOADED__=true; 5115 function clean(v,n){return String(v||'').replace(/[\u0000-\u001F\u007F]/g,' ').replace(/\s+/g,' ').trim().slice(0,n||160)} 5116 function validName(v){return clean(v,120).length>=2} 5117 function validEmail(v){return/^[^@\s]+@[^@\s]+\.[^@\s]+$/.test(clean(v,200))} 5118 function validPhone(v){return clean(v,80).replace(/\D/g,'').length>=7} 5119 function mobile(){return window.matchMedia&&window.matchMedia('(max-width:480px)').matches} 5120 function e(t,a,x){var n=document.createElement(t),k;for(k in(a||{}))if(Object.prototype.hasOwnProperty.call(a,k))n.setAttribute(k,a[k]);if(x)n.textContent=x;return n} 5121 function add(p,c){p.appendChild(c);return c} 5122 function read(k,d){try{return JSON.parse(localStorage.getItem(k)||'')||d}catch(_){return d}} 5123 function write(k,v){try{localStorage.setItem(k,JSON.stringify(v))}catch(_){}} 5124 function vid(){try{var v=localStorage.getItem(C.key);if(v)return v;v='web_'+Date.now().toString(36)+'_'+Math.random().toString(36).slice(2,10);localStorage.setItem(C.key,v);return v}catch(_){return'web_'+Date.now().toString(36)}} 5125 function getContact(){var c=read(C.ckey,{}),s;if(c&&c.name&&c.email&&c.phone)return c;try{s=JSON.parse(sessionStorage.getItem(C.ckey)||'{}')||{}}catch(_){s={}}if(s.name&&s.email&&s.phone){write(C.ckey,s);return s}return{}} 5126 function setContact(c){write(C.ckey,c);try{sessionStorage.setItem(C.ckey,JSON.stringify(c))}catch(_){}} 5127 function history(){var h=read(C.hkey,[]);return h&&h.slice?h.slice(-C.maxHistory):[]} 5128 function saveHistory(h){write(C.hkey,(h||[]).slice(-C.maxHistory))} 5129 function remember(k,x){if(!x)return;var h=history();h.push({role:k,text:clean(x,900),at:new Date().toISOString()});saveHistory(h)} 5130 function q(s){return document.querySelector(s)} 5131 function notes(){ 5132 var roots=[q('.productView'),q('.productView-description'),q('#tab-description'),q('[data-product-description]'),q('.productView-info')],seen={},out=[]; 5133 roots.forEach(function(r){var text;if(!r)return;text=(r.innerText||r.textContent||'').split(/\n+/);text.forEach(function(line){var t=clean(line,220),l=t.toLowerCase();if(t&&!seen[t]&&/(mto|made.?to.?order|lead|eta|ship|ships|shipping|week|weeks|in stock|out of stock|availability)/i.test(l)){seen[t]=1;out.push(t)}})}); 5134 if(out.length<3){(document.body.innerText||document.body.textContent||'').split(/\n+/).forEach(function(line){var t=clean(line,220),l=t.toLowerCase();if(out.length<8&&t&&!seen[t]&&/(special order|made.?to.?order|16.?-?.?24|24 weeks|eta|allow up to)/i.test(l)){seen[t]=1;out.push(t)}})} 5135 return out.slice(0,8) 5136 } 5137 function priceText(){ 5138 var sels=['.price--sale','.sale-price','[data-product-price-without-tax]','.price--withoutTax','.price--main','.productView-price .price'],i,n,t,root,vals,m,re; 5139 for(i=0;i<sels.length;i++){n=q(sels[i]);t=n&&clean(n.textContent,80);if(t&&/\$\s*\d/.test(t))return t} 5140 root=q('.productView-price,.productView-details,.productView');t=root&&clean(root.textContent,1800);vals=[];re=/\$\s*([0-9,]+(?:\.\d{2})?)/g;if(t){while((m=re.exec(t))){vals.push(m[0])}} 5141 return vals.length?vals[vals.length-1]:'' 5142 } 5143 function product(){ 5144 var pt=document.body.getAttribute('data-page-type')||'',pv=q('.productView,[data-product-id],[data-entity-id]'); 5145 if(pt!=='product'&&!pv)return null; 5146 var h=q('.productView-title,h1'),sku=q('[data-product-sku],.productView-info-value[data-product-sku],.productView-info-name+.productView-info-value'),id=(pv&&clean(pv.getAttribute('data-product-id')||pv.getAttribute('data-entity-id'),80))||'',img=q('.productView-image img,.productView-img-container img,[data-main-image] img'); 5147 return{title:h?clean(h.textContent,180):clean(document.title,180),sku:sku?clean(sku.getAttribute('data-product-sku')||sku.textContent,100):'',price:priceText(),id:id,url:location.href,image:img?clean(img.currentSrc||img.src,300):'',notes:notes()} 5148 } 5149 function page(){return{url:location.href,title:clean(document.title,180),page_type:document.body.getAttribute('data-page-type')||'',product:product(),at:new Date().toISOString()}} 5150 function savePage(){var now=page(),pages=read(C.pkey,[]).filter(function(p){return p&&p.url!==now.url});pages.unshift(now);write(C.pkey,pages.slice(0,C.maxPages))} 5151 function context(){savePage();return{type:'context',visitor_id:vid(),page_url:location.href,page_type:document.body.getAttribute('data-page-type')||'',referrer:document.referrer||'',product:product(),contact:getContact(),recent_pages:read(C.pkey,[]).slice(0,C.maxPages),recent_messages:history().slice(-10)}} 5152 function styles(){if(document.getElementById(C.sid))return;add(document.head,e('style',{id:C.sid},[ 5153 '#'+C.id+'{position:fixed;right:18px;bottom:112px;z-index:2147483000;font-family:Arial,sans-serif;color:#111;text-align:left}', 5154 '#'+C.id+' *{box-sizing:border-box}', 5155 '#'+C.id+' button,#'+C.id+' input{font:inherit}', 5156 '#'+C.id+' .tp-chat-launcher{display:flex;align-items:center;gap:10px;border:0;border-radius:999px;background:#1877f2;color:#fff;box-shadow:0 12px 30px rgba(24,119,242,.38),0 4px 12px rgba(0,0,0,.22);cursor:pointer;padding:11px 15px 11px 12px;animation:tp-chat-pop .55s ease-out both}', 5157 '#'+C.id+' .tp-chat-launcher:hover{background:#0f66d7;transform:translateY(-1px)}', 5158 '#'+C.id+' .tp-chat-copy{font-weight:800;font-size:15px;line-height:1.05;white-space:nowrap}', 5159 '#'+C.id+' .tp-wheel{position:relative;width:32px;height:32px;flex:0 0 32px;background:#fff;border:3px solid #063f8f;box-shadow:inset 0 0 0 5px #85bdff;clip-path:polygon(25% 0,75% 0,100% 25%,100% 75%,75% 100%,25% 100%,0 75%,0 25%);image-rendering:pixelated}', 5160 '#'+C.id+' .tp-wheel:before{content:"";position:absolute;
5160left:10px;top:10px;width:6px;height:6px;background:#063f8f;box-shadow:-8px 0 0 #063f8f,8px 0 0 #063f8f,0 -8px 0 #063f8f,0 8px 0 #063f8f}', 5161 '#'+C.id+' .tp-chat-panel{display:none;position:absolute;right:0;bottom:0;width:min(380px,calc(100vw - 32px));height:540px;max-height:calc(100vh - 132px);background:#fff;border:1px solid #d6dce5;box-shadow:0 16px 40px rgba(0,0,0,.22);border-radius:8px;overflow:hidden}', 5162 '#'+C.id+'.tp-chat-open .tp-chat-panel{display:flex;flex-direction:column}', 5163 '#'+C.id+'.tp-chat-open .tp-chat-launcher{display:none}', 5164 '#'+C.id+' .tp-chat-head{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;background:#1877f2;color:#fff;font-weight:700}', 5165 '#'+C.id+' .tp-chat-close{background:transparent;border:0;color:#fff;font-size:22px;line-height:1;cursor:pointer;padding:0 2px}', 5166 '#'+C.id+' .tp-chat-lead{padding:14px;background:#fff;border-bottom:1px solid #ddd}', 5167 '#'+C.id+' .tp-chat-lead-question{margin:0 0 10px;padding:9px 11px;border-radius:8px;background:#f7f7f7;border:1px solid #e0e0e0;color:#111;font-size:14px;line-height:1.35}', 5168 '#'+C.id+' .tp-chat-lead p{margin:0 0 10px;font-size:14px;line-height:1.35;color:#222}', 5169 '#'+C.id+' .tp-chat-lead input{width:100%;border:1px solid #bbb;border-radius:6px;padding:9px;margin:0 0 8px;font-size:14px}', 5170 '#'+C.id+' .tp-chat-start{width:100%;border:0;border-radius:6px;background:#1877f2;color:#fff;padding:10px 12px;cursor:pointer;font-weight:700}', 5171 '#'+C.id+' .tp-chat-error{display:none;margin:0 0 8px;color:#b00020;font-size:13px}', 5172 '#'+C.id+' .tp-chat-messages{flex:1;overflow:auto;padding:14px;background:#f7f7f7}', 5173 '#'+C.id+' .tp-chat-msg{margin:0 0 10px;padding:9px 11px;border-radius:8px;line-height:1.35;font-size:14px;white-space:pre-wrap;overflow-wrap:anywhere}', 5174 '#'+C.id+' .tp-chat-msg a{color:inherit;text-decoration:underline;font-weight:700}', 5175 '#'+C.id+' .tp-chat-msg-user{background:#1877f2;color:#fff;margin-left:34px}', 5176 '#'+C.id+' .tp-chat-msg-agent{background:#fff;border:1px solid #e0e0e0;margin-right:24px}', 5177 '#'+C.id+' .tp-chat-typing{display:none;margin:0 24px 10px 0;padding:9px 11px;border-radius:8px;background:#fff;border:1px solid #e0e0e0;color:#555;font-size:13px}', 5178 '#'+C.id+' .tp-chat-typing.tp-show{display:block}', 5179 '#'+C.id+' .tp-chat-form{display:none;gap:8px;padding:10px;border-top:1px solid #ddd;background:#fff}', 5180 '#'+C.id+' .tp-chat-ready .tp-chat-form{display:flex}', 5181 '#'+C.id+' .tp-chat-ready .tp-chat-lead{display:none}', 5182 '#'+C.id+' .tp-chat-input{flex:1;min-width:0;border:1px solid #bbb;border-radius:6px;padding:9px;font-size:14px}', 5183 '#'+C.id+' .tp-chat-send{border:0;border-radius:6px;background:#1877f2;color:#fff;padding:0 13px;
5183cursor:pointer;font-weight:700}', 5184 '#'+C.id+' .tp-chat-send:disabled{opacity:.55;cursor:not-allowed}', 5185 '@keyframes tp-chat-pop{0%{transform:translateY(12px);opacity:.35}100%{transform:translateY(0);opacity:1}}', 5186 '@media(prefers-reduced-motion:reduce){#'+C.id+' .tp-chat-launcher{animation:none}}', 5187 '@media(max-width:480px){#'+C.id+'{right:12px;bottom:92px}#'+C.id+' .tp-chat-panel{right:0;width:calc(100vw - 24px);height:min(520px,calc(100vh - 112px))}#'+C.id+' .tp-chat-copy{font-size:14px}}' 5188 ].join('')))} 5189 function post(payload,cb){var x=new XMLHttpRequest(),done=false,to=setTimeout(function(){if(done)return;done=true;try{x.abort()}catch(_){}cb(1)},C.timeout);x.open('POST',C.http,true);x.setRequestHeader('Content-Type','application/json');x.onreadystatechange=function(){var d;if(x.readyState!==4||done)return;done=true;clearTimeout(to);if(x.status<200||x.status>=300)return cb(1);try{d=JSON.parse(x.responseText)}catch(_){return cb(1)}cb(0,d)};x.onerror=function(){if(done)return;done=true;clearTimeout(to);cb(1)};x.send(JSON.stringify(payload))} 5190 function mount(){if(!document.body||document.getElementById(C.id))return;savePage();styles();var root=e('div',{id:C.id}),btn=e('button',{class:'tp-chat-launcher',type:'button','aria-label':'Open live chat'}),wheel=e('span',{class:'tp-wheel','aria-hidden':'true'}),copy=e('span',{class:'tp-chat-copy'},'Hey, need help?'),panel=e('div',{class:'tp-chat-panel',role:'dialog','aria-label':'ThreePiece live chat'}),head=e('div',{class:'tp-chat-head'}),close=e('button',{class:'tp-chat-close',type:'button','aria-label':'Close live chat'},'x'),lead=e('form',{class:'tp-chat-lead'}),leadQuestion=e('div',{class:'tp-chat-lead-question'},T.hello),leadText=e('p',{},'Drop your name, email, and phone first so we can follow up if this needs a stock or fitment check.'),err=e('div',{class:'tp-chat-error'},'Enter your name, a valid email, and phone number.'),name=e('input',{type:'text',placeholder:'Name',autocomplete:'name',required:'required'}),email=e('input',{type:'email',placeholder:'Email',autocomplete:'email',required:'required'}),phone=e('input',{type:'tel',placeholder:'Phone',autocomplete:'tel',required:'required'}),start=e('button',{class:'tp-chat-start',type:'submit'},'Start chat'),msgs=e('div',{class:'tp-chat-messages','aria-live':'polite'}),typeEl=e('div',{class:'tp-chat-typing','aria-live':'polite'},'Agent is typing...'),form=e('form',{class:'tp-chat-form'}),input=e('input',{class:'tp-chat-input',type:'text',maxlength:String(C.max),placeholder:'Ask about wheels or fitment',autocomplete:'off'}),send=e('button',{class:'tp-chat-send',type:'submit'},'Send'),visitor=vid(),sock=null,ready=false,typeAt=0; 5191 function linkify(n,x){var s=String(x||''),re=/(https?:\/\/[^\s<>()]+|www\.[^\s<>()]+)/g,last=0,m,url,a;while((m=re.exec(s))){if(m.index>last)n.appendChild(document.createTextNode(s.slice(last,m.index)));url=m[0].replace(/[.,;:!?]+$/,'');if(m[0].length>url.length)re.lastIndex-=m[0].length-url.length;a=e('a',{href:url.indexOf('http')===0?url:'https://'+url,target:'_blank',rel:'noopener noreferrer'},url);n.appendChild(a);last=re.lastIndex}if(last<s.length)n.appendChild(document.createTextNode(s.slice(last)))} 5192 function msg(k,x,keep){var n=e('div',{class:'tp-chat-msg tp-chat-msg-'+k});if(k==='agent')linkify(n,x);else n.textContent=x;add(msgs,n);msgs.scrollTop=msgs.scrollHeight;if(keep)remember(k,x)}
5193 function restore(){history().forEach(function(m){if(m&&m.role&&m.text)msg(m.role,m.text,0)})} 5194 function typing(v){if(v)typeAt=Date.now();msgs.appendChild(typeEl);typeEl.className='tp-chat-typing'+(v?' tp-show':'');msgs.scrollTop=msgs.scrollHeight} 5195 function agent(x){var w=Math.max(0,650-(Date.now()-typeAt));setTimeout(function(){typing(0);msg('agent',x,1)},w)} 5196 function lock(v){send.disabled=v;input.disabled=v} 5197 function payload(body){var p=context();p.type='message';p.content=body;p.visitor_id=visitor;return p} 5198 function sendContext(){var c=context();try{if(sock&&sock.readyState===1)sock.send(JSON.stringify(c))}catch(_){}} 5199 function connect(){if(!ready||!('WebSocket'in window))return;if(sock&&sock.readyState<=1)return;try{sock=new WebSocket(C.ws+'?visitor_id='+encodeURIComponent(visitor));sock.onopen=sendContext;sock.onmessage=function(ev){try{var d=JSON.parse(ev.data);if(d.type==='typing')typing(!!d.show);if(d.type==='message'&&d.content)agent(d.content)}catch(_){}};sock.onerror=function(){typing(0);try{sock.close()}catch(_){}}}catch(_){sock=null}} 5200 function begin(){ready=true;panel.className='tp-chat-panel tp-chat-ready';if(!msgs.querySelector('.tp-chat-msg'))msg('agent',T.hello,1);connect();setTimeout(function(){input.focus()},0)} 5201 restore(); 5202 function openChat(auto){root.className='tp-chat-open';savePage();var c=getContact();if(c.name&&c.email&&c.phone)begin();else setTimeout(function(){name.focus()},auto?80:0)} 5203 btn.onclick=function(){openChat(0)}; 5204 close.onclick=function(){try{sessionStorage.setItem(C.akey,location.href)}catch(_){}root.className='';btn.focus()}; 5205 window.addEventListener('pageshow',savePage); 5206 window.addEventListener('beforeunload',savePage); 5207 document.addEventListener('visibilitychange',function(){if(!document.hidden)savePage()}); 5208 document.addEventListener('keydown',function(ev){if(ev.key==='Escape'&&root.className==='tp-chat-open'){root.className='';btn.focus()}}); 5209 setTimeout(function(){var c=getContact(),seen;try{seen=sessionStorage.getItem(C.akey)}catch(_){seen=''}if(mobile()||seen===location.href||root.className==='tp-chat-open'||document.hidden)return;try{sessionStorage.setItem(C.akey,location.href)}catch(_){}openChat(1)},C.autoDelay); 5210 lead.onsubmit=function(ev){ev.preventDefault();var c={name:clean(name.value,120),email:clean(email.value,200).toLowerCase(),phone:clean(phone.value,80)};if(!validName(c.name)||!validEmail(c.email)||!validPhone(c.phone)){err.style.display='block';return}err.style.display='none';setContact(c);begin();sendContext()}; 5211 form.onsubmit=function(ev){ev.preventDefault();var body=clean(input.value,C.max);if(!body||send.disabled)return;input.value='';savePage();msg('user',body,1);typing(1);if(sock&&sock.readyState===1){sock.send(JSON.stringify(payload(body)));return}lock(true);post(payload(body),function(x,d){lock(false);input.focus();agent(x||!d||!d.content?T.busy:d.content)})}; 5212 add(btn,wheel);add(btn,copy);add(head,e('div',{},'ThreePiece Fitment Help'));add(head,close);add(lead,leadQuestion);add(lead,leadText);add(lead,err);add(lead,name);add(lead,email);add(lead,phone);add(lead,start);add(msgs,typeEl);add(panel,head);add(panel,lead);add(panel,msgs);add(form,input);add(form,send);add(panel,form);add(root,btn);add(root,panel);add(document.body,root) 5213 } 5214 if(document.readyState==='loading')document.addEventListener('DOMContentLoaded',mount);else mount(); 5215}()); 5216</script>
vendor: 1 bytes, line 5216
5216
5217<script> 5218/* TP Popup Lab â EML-009 A/B popup engine (2026-07-02) 5219 * 5220 * Injected via BigCommerce Script Manager (no theme commit). Runs a 5-arm 5221 * sticky A/B test: `control` renders nothing (the existing Klaviyo popup 5222 * R8GSVZ keeps doing its thing), the 4 challenger arms render our own popup 5223 * and SUPPRESS the Klaviyo teaser/popup so the two never stack. 5224 * 5225 * Submits -> Klaviyo client subscribe API into list Yh6y45 ("Newsletter" â 5226 * the list ALL THREE agency welcome flows trigger on. Flipped from TffCjN 5227 * "Popup Sign Up Form" 2026-08-24, Jake-approved: TffCjN fed NO flow, so 5228 * signups never received the welcome series). Views/submits/closes tracked 5229 * as Klaviyo client 5230 * events ("TP Popup Viewed"/"TP Popup Submitted"/"TP Popup Closed") with a 5231 * `variant` property; popup_manager's referee reads them daily. 5232 * 5233 * Test hooks: ?tp_popup=va|vb|vc|vd|control forces an arm and bypasses 5234 * frequency rules; ?tp_popup_reset=1 clears local state. 5235 * Kill switch: delete the Script Manager entry (agent can via BC API). 5236 */ 5237(function () { 5238 "use strict"; 5239 // MOBILE KILL (Jake ruling 2026-09-18): on phones/tablets the wheel PDPs 5240 // lay out wider than the viewport, so this popup's box and its close button 5241 // land off-screen and the page can become unscrollable. Desktop unchanged. 5242 // Rollback: delete these lines and redeploy scripts/_deploy_popup_lab.py. 5243 if (window.matchMedia && (matchMedia("(max-width: 900px)").matches || matchMedia("(pointer: coarse)").matches)) { 5244 // FOLLOW-UP A (2026-09-18): with our popup off, phone visitors fell through 5245 // to Klaviyo's OWN full-screen "$20 OFF" modal at ~17-18s, which sets 5246 // body{overflow:hidden} and blocks touch scroll. Inject the SAME 5247 // suppression CSS the challenger arms already use (copied VERBATIM from 5248 // the "suppress the Klaviyo popup/teaser for challenger arms" block 5249 // below), then stop without rendering our popup. 5250 // Desktop is untouched: on desktop this branch is false. 5251 // Rollback: scripts/_rollback_popup_lab_klaviyooff_20260918.py 5252 try { 5253 if (!document.getElementById("tp-popup-lab-mobile-kl-off")) { 5254 var mstyle = document.createElement("style"); 5255 mstyle.id = "tp-popup-lab-mobile-kl-off"; 5256 mstyle.textContent = 5257 '[class*="kl-teaser"]{display:none!important}' + 5258 'div[role="dialog"][class*="kl-private"]{display:none!important}' + 5259 'html body.klaviyo-prevent-body-scrolling{overflow:visible!important;position:static!important;height:auto!important}' + 5260 'html.klaviyo-prevent-body-scrolling{overflow:visible!important}'; 5261 document.documentElement.appendChild(mstyle); 5262 } 5263 // FOLLOW-UP A v2 (2026-09-19): hiding Klaviyo's modal is not enough - its script also 5264 // adds body.klaviyo-prevent-body-scrolling (overflow:hidden) and froze phone scrolling. 5265 // Strip that class whenever it appears. Phones/tablets only (this branch). 5266 var tpUnlock = function () { 5267 try { 5268 var b = document.body, h = document.documentElement; 5269 if (b && b.classList && b.classList.contains("klaviyo-prevent-body-scrolling")) b.classList.remove("klaviyo-prevent-body-scrolling"); 5270 if (h && h.classList && h.classList.contains("klaviyo-prevent-body-scrolling")) h.classList.remove("klaviyo-prevent-body-scrolling"); 5271 } catch (e) {} 5272 }; 5273 try { 5274 if (window.MutationObserver) { 5275 var tpObs = new MutationObserver(tpUnlock); 5276 if (document.body) tpObs.observe(document.body, { attributes: true, attributeFilter: ["class"] }); 5277 tpObs.observe(document.documentElement, { attributes: true, attributeFilter: ["class"] }); 5278 } 5279 var tpUnlockTicks = 0; 5280 var tpUnlockTimer = setInterval(function () { tpUnlock(); if (++tpUnlockTicks > 120) clearInterval(tpUnlockTimer); }, 1000); 5281 } catch (e) {} 5282 } catch (e) {} 5283 return; 5284 } 5285 if (window.__tpPopupLab) return; 5286 window.__tpPopupLab = true; 5287 5288 var COMPANY_ID = "WcaDix"; 5289 var LIST_ID = "Yh6y45"; // Newsletter â triggers the agency welcome flows (was TffCjN, which fed nothing; flipped 2026-08-24) 5290 var SMS_LIST_ID = "QW8vjm"; 5291 var REVISION = "2024-10-15"; 5292 var RESHOW_DAYS = 7; 5293 var DELAY_MS = 7000; 5294 var SMS_FINE =
5295 "By providing your number you agree to receive recurring automated marketing texts (like restock alerts) from ThreePiece.us. Consent is not a condition of purchase. Msg & data rates may apply. Reply STOP to opt out."; 5296 var LS = { 5297 arm: "tp_popup_arm_v2", 5298 dismissed: "tp_popup_dismissed_at", 5299 submitted: "tp_popup_submitted", 5300 anon: "tp_popup_anon_id", 5301 }; 5302 5303 // Bandit traffic weights â REWRITTEN NIGHTLY by popup_manager from live CVR 5304 // (floor 5%, cap 60%). Existing visitors keep their sticky arm; weights only 5305 // steer NEW visitors. Do not hand-edit; the line format is load-bearing. 5306 var WEIGHTS = {"control":0.05,"va":0.30,"ve":0.35,"vq":0.30,"vb":0.0,"vc":0.0,"vd":0.0}; // BANDIT-WEIGHTS 2026-08-05: vq routes into the fitment quiz (completes at 16% vs ~0.15% popup submit) â va/ve stay as proven controls 5307 5308 var ARMS = { 5309 control: null, 5310 va: { 5311 img: "https://d3k81ch9hvuctc.cloudfront.net/company/WcaDix/images/633e8e7c-79bf-4aab-981a-a52bdadf3d52.jpeg", 5312 headline: "WILL THEY FIT? KNOW BEFORE YOU BUY.", 5313 sub: "Get a free fitment check for your exact car â offset, width, and what clears your brakes, from a human who does this all day.", 5314 cta: "CHECK MY FITMENT", 5315 success: "You're in. Reply to our first email with your year/make/model and the specs you're eyeing.", 5316 }, 5317 vb: { 5318 img: "https://d3k81ch9hvuctc.cloudfront.net/company/WcaDix/images/b9d66559-3f5b-4634-a5b4-71d3d24be189.jpeg", 5319 headline: "NEW WHEELS. ABOUT $100/MO.", 5320 sub: "See your real monthly payment with Affirm, Klarna, Snap or Katapult before you commit. We'll send you the math â no hard credit pull to look.", 5321 cta: "SHOW ME THE MATH", 5322 success: "Payment math incoming. Check your inbox.", 5323 }, 5324 vc: { 5325 img: "https://d3k81ch9hvuctc.cloudfront.net/company/WcaDix/images/03040ef9-719e-4898-af82-a073fe8165bc.jpeg", 5326 headline: "THE GOOD SETS GO FIRST.", 5327 sub: "RAYS, Work and BBS restocks and new drops hit this list 24 hours before the site.", 5328 cta: "GET EARLY ACCESS", 5329 success: "You're on the list. Next drop hits your inbox first.", 5330 }, 5331 vd: { 5332 img: "https://d3k81ch9hvuctc.cloudfront.net/company/WcaDix/images/b2662b2b-a676-43a8-a25d-3b2477b51404.jpeg", 5333 headline: "$20 OFF + FREE MOUNT & BALANCE", 5334 sub: "Every set ships mounted, balanced and ready to bolt on â plus $20 off your first order.", 5335 cta: "CLAIM IT", 5336 success: "Done â your $20 code is on its way to your inbox.", 5337 }, 5338 ve: { 5339 img: "https://d3k81ch9hvuctc.cloudfront.net/company/WcaDix/images/633e8e7c-79bf-4aab-981a-a52bdadf3d52.jpeg", 5340 headline: "WILL THESE FIT YOUR CAR?", 5341 sub: "Get a free human fitment check before you buy:", 5342 bullets: [ 5343 "Width, offset and brake clearance checked", 5344 "Drops and restocks before the site", 5345 "Free mount & balance on wheel+tire packages", 5346 ], 5347 cta: "CHECK MY SETUP", 5348 success: "You're in. Reply to our first email with your year/make/model and the specs you're eyeing.", 5349 }, 5350 // vq routes straight into the Build Your Setup quiz instead of an email 5351 // form â the quiz completes at 16% of starters and captures email + 5352 // exact vehicle, so it counts a "submit" only on quiz COMPLETION 5353 // (detected via the quiz's tp_quiz_done_at localStorage stamp). 5354 vq: { 5355 img: "https://d3k81ch9hvuctc.cloudfront.net/company/WcaDix/images/633e8e7c-79bf-4aab-981a-a52bdadf3d52.jpeg", 5356 headline: "FIND WHEELS THAT FIT YOUR EXACT CAR.", 5357 sub: "Four quick questions â year, make, model, stance â and you'll see wheels verified to fit, with real monthly payment math.", 5358 cta: "BUILD MY SETUP", 5359 quiz: true, 5360 }, 5361 }; 5362 5363 // ââ helpers âââââââââââââââââââââââââââââââââââââââââââââââââââââ 5364 function qs(name) { 5365 try { 5366 return new URLSearchParams(location.search).get(name); 5367 } catch (e) { return null; } 5368 } 5369 function lsGet(k) { try { return localStorage.getItem(k); } catch (e) { return null; } } 5370 function lsSet(k, v) { try { localStorage.setItem(k, v); } catch (e) {} } 5371 function uuid() { 5372 return "xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g, function (c) { 5373 var r = (Math.random() * 16) | 0; 5374 return (c === "x" ? r : (r & 0x3) | 0x8).toString(16); 5375 }); 5376 } 5377 function anonId() { 5378 var a = lsGet(LS.anon); 5379 if (!a) { a = uuid(); lsSet(LS.anon, a); } 5380 return a; 5381 } 5382 function post(url, body) { 5383 try { 5384 return fetch(url, { 5385 method: "POST", 5386 headers: { "Content-Type": "application/json", revision: REVISION }, 5387 body: JSON.stringify(body), 5388 }); 5389 } catch (e) { return Promise.reject(e); } 5390 } 5391 function track(metric, variant, email) { 5392 // 2026-08-28 (Jake, email review #1 call 3): events only for identified 5393 // people. Anonymous view/close events were minting ~1,200 empty Klaviyo 5394 // profiles/day (bots on blog pages). No email = no event. 5395 if (!email) return; 5396 var profile = { anonymous_id: anonId(), email: email }; 5397 post("https://a.klaviyo.com/client/events/?company_id=" + COMPANY_ID, { 5398 data: { 5399 type: "event", 5400 attributes: { 5401 properties: { variant: variant, page: location.pathname }, 5402 metric: { data: { type: "metric", attributes: { name: metric } } }, 5403 profile: { data: { type: "profile", attributes: profile } }, 5404 }, 5405 }, 5406 }).catch(function () {}); 5407 } 5408 function subscribe(email, variant) { 5409 return post("https://a.klaviyo.com/client/subscriptions/?company_id=" + COMPANY_ID, { 5410 data: { 5411 type: "subscription", 5412 attributes: { 5413 custom_source: "TP Popup Lab " + variant, 5414 profile: { 5415 data: { 5416 type: "profile", 5417 attributes: { 5418 email: email, 5419 // "BOTH" routes popup signups into the agency's Standard 5420 // welcome flow, whose entry filter requires this property 5421 // (2026-08-28, Jake, email review #1 call 2). 5422 properties: { tp_popup_variant: variant, "Vehicle Preferences": "BOTH" }, 5423 }, 5424 }, 5425 }, 5426 }, 5427 relationships: { list: { data: { type: "list", id: LIST_ID } } }, 5428 }, 5429 }); 5430 } 5431 function subscribeSms(email, phone, variant) { 5432 return post("https://a.klaviyo.com/client/subscriptions/?company_id=" + COMPANY_ID, { 5433 data: { 5434 type: "subscription", 5435 attributes: { 5436 custom_source: "TP Popup Lab SMS " + variant, 5437 profile: { 5438 data: { 5439 type: "profile", 5440 attributes: { 5441 email: email, 5442 phone_number: phone, 5443 properties: { tp_popup_variant: variant }, 5444 }, 5445 }, 5446 }, 5447 }, 5448 relationships: { list: { data: { type: "list", id: SMS_LIST_ID } } }, 5449 }, 5450 }); 5451 } 5452 // 2026-09-27 (email rebuild): tie this browser to the person (Klaviyo 5453 // "identify") at sign-up so later product views, carts and site visits land 5454 // on their profile. Nothing else about the popup changes. 5455 function klIdentify(email) { 5456 try { 5457 window._learnq = window._learnq || []; 5458 window._learnq.push(["identify", { $email: email }]); 5459 } catch (e) {} 5460 } 5461 function normPhone(raw) { 5462 var d = (raw || "").replace(/\D/g, ""); 5463 if (d.length === 10) return "+1" + d; 5464 if (d.length === 11 && d.charAt(0) === "1") return "+" + d; 5465 if (/^\+/.test(raw) && d.length >= 10) return "+" + d; 5466 return null; 5467 } 5468 5469 // ââ arm assignment (sticky) âââââââââââââââââââââââââââââââââââââ 5470 var forced = qs("tp_popup"); 5471 if (qs("tp_popup_reset") === "1") { 5472 try { 5473 localStorage.removeItem(LS.arm); 5474 localStorage.removeItem(LS.dismissed); 5475 localStorage.removeItem(LS.submitted); 5476 } catch (e) {} 5477 } 5478 function pickArm() { 5479 var keys = Object.keys(ARMS); 5480 var total = 0, i; 5481 for (i = 0; i < keys.length; i++) total += WEIGHTS[keys[i]] || 0; 5482 if (total <= 0) return keys[Math.floor(Math.random() * keys.length)]; 5483 var r = Math.random() * total, acc = 0; 5484 for (i = 0; i < keys.length; i++) { 5485 acc += WEIGHTS[keys[i]] || 0; 5486 if (r < acc) return keys[i]; 5487 } 5488 return keys[keys.length - 1]; 5489 } 5490 var arm = forced && (forced in ARMS) ? forced : lsGet(LS.arm); 5491 if (!arm || !(arm in ARMS)) { 5492 arm = pickArm(); 5493 lsSet(LS.arm, arm); 5494 } 5495 if (arm === "control" && !forced) return; // Klaviyo popup owns this visitor
5496 5497 var cfg = ARMS[arm]; 5498 if (!cfg) return; 5499 5500 // ââ suppress the Klaviyo popup/teaser for challenger arms âââââââ 5501 var style = document.createElement("style"); 5502 style.textContent = 5503 '[class*="kl-teaser"]{display:none!important}' + 5504 'div[role="dialog"][class*="kl-private"]{display:none!important}'; 5505 document.documentElement.appendChild(style); 5506 5507 // ââ eligibility âââââââââââââââââââââââââââââââââââââââââââââââââ 5508 function eligible() { 5509 if (forced) return true; 5510 if (lsGet("tp_quiz_done_at")) return false; // quiz already captured them 5511 if (lsGet(LS.submitted) === "1") return false; 5512 var d = parseInt(lsGet(LS.dismissed) || "0", 10); 5513 if (d && Date.now() - d < RESHOW_DAYS * 864e5) return false; 5514 if (/\/(cart\.php|checkout)/.test(location.pathname)) return false; 5515 return true; 5516 } 5517 if (!eligible()) return; 5518 5519 // ââ render ââââââââââââââââââââââââââââââââââââââââââââââââââââââ 5520 var shown = false; 5521 function show() { 5522 if (shown || !eligible()) return; 5523 if (document.getElementById("tp-quiz")) return; // never stack on an open quiz 5524 if (cfg.quiz && !window.__tpOpenFitmentQuiz) return; // quiz script not on this page 5525 shown = true; 5526 5527 var wrap = document.createElement("div"); 5528 wrap.id = "tp-popup-lab"; 5529 wrap.innerHTML = 5530 '<div class="tpl-backdrop"></div>' + 5531 '<div class="tpl-modal" role="dialog" aria-modal="true" aria-label="Email signup">' + 5532 '<button class="tpl-close" aria-label="Close">×</button>' + 5533 '<div class="tpl-hero"><img src="' + cfg.img + '" alt="" loading="eager"/></div>' + 5534 '<div class="tpl-body">' + 5535 '<div class="tpl-kicker">THREEPIECE.US</div>' + 5536 "<h2>" + cfg.headline + "</h2>" + 5537 "<p>" + cfg.sub + "</p>" + 5538 (cfg.bullets 5539 ? '<ul class="tpl-bullets">' + cfg.bullets.map(function (b) { return "<li>" + b + "</li>"; }).join("") + "</ul>" 5540 : "") + 5541 (cfg.quiz 5542 ? '<button type="button" class="tpl-quiz-cta">' + cfg.cta + "</button>" + 5543 '<div class="tpl-fine">Takes about 60 seconds. No spam.</div>' 5544 : '<form class="tpl-form" novalidate>' + 5545 '<input type="email" required placeholder="[email protected]" aria-label="Email address"/>' + 5546 '<button type="submit">' + cfg.cta + "</button>" + 5547 "</form>" + 5548 '<div class="tpl-fine">No spam. Unsubscribe anytime.</div>') + 5549 "</div></div>"; 5550 var css = document.createElement("style"); 5551 css.textContent = 5552 "#tp-popup-lab{position:fixed;inset:0;z-index:2147483000;display:flex;align-items:center;justify-content:center;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif}" + 5553 "#tp-popup-lab .tpl-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.62)}" + 5554 "#tp-popup-lab .tpl-modal{position:relative;width:min(440px,calc(100vw - 40px));background:#ffffff;color:#111827;border-radius:14px;overflow:hidden;text-align:center;box-shadow:0 24px 80px rgba(0,0,0,.45)}" + 5555 "#tp-popup-lab .tpl-hero img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover}" + 5556 "#tp-popup-lab .tpl-body{padding:22px 30px 24px}" + 5557 "#tp-popup-lab .tpl-kicker{font-size:11px;letter-spacing:3px;color:#6b7280;margin-bottom:12px;font-weight:600}" + 5558 "#tp-popup-lab h2{font-size:22px;line-height:1.25;margin:0 0 10px;letter-spacing:.5px;color:#0b0b0e}" + 5559 "#tp-popup-lab p{font-size:14px;line-height:1.55;color:#4b5563;margin:0 0 18px}" + 5560 "#tp-popup-lab input{width:100%;box-sizing:border-box;padding:13px 14px;border-radius:6px;border:1px solid #d1d5db;background:#f9fafb;color:#111827;font-size:15px;margin-bottom:10px}" + 5561 "#tp-popup-lab input:focus{outline:none;border-color:#2563EB;background:#ffffff}" + 5562 "#tp-popup-lab button[type=submit],#tp-popup-lab .tpl-quiz-cta{width:100%;padding:14px;border:0;border-radius:6px;background:#2563EB;color:#fff;font-size:15px;font-weight:700;letter-spacing:.5px;cursor:pointer}" + 5563 "#tp-popup-lab .tpl-close{position:absolute;top:8px;right:12px;background:rgba(255,255,255,.85);border:0;border-radius:50%;width:30px;height:30px;color:#374151;font-size:20px;cursor:pointer;line-height:1;z-index:2;box-shadow:0 1px 4px rgba(0,0,0,.2)}" + 5564 "#tp-popup-lab .tpl-fine{font-size:11px;color:#9ca3af;margin-top:12px}" + 5565 "#tp-popup-lab .tpl-sms-fine{font-size:10px;color:#9ca3af;margin-top:10px;line-height:1.5;text-align:left}" + 5566 "#tp-popup-lab .tpl-skip{display:inline-block;margin-top:10px;background:none;border:0;color:#6b7280;font-size:12px;cursor:pointer;text-decoration:underline}" + 5567 "#tp-popup-lab .tpl-error{color:#dc2626;font-size:12px;margin-top:6px}" + 5568 "#tp-popup-lab .tpl-bullets{list-style:none;margin:0 0 16px;padding:0;text-align:left}" + 5569 "#tp-popup-lab .tpl-bullets li{font-size:13px;color:#374151;padding:4px 0 4px 24px;position:relative;line-height:1.4}" + 5570 "#tp-popup-lab .tpl-bullets li:before{content:'\u2713';position:absolute;
5570left:2px;color:#2563EB;font-weight:700}" + 5571 "@media(max-width:480px),(max-height:720px){#tp-popup-lab .tpl-modal{width:min(420px,calc(100vw - 24px))}#tp-popup-lab .tpl-hero img{height:112px;aspect-ratio:auto}#tp-popup-lab .tpl-body{padding:16px 20px 18px}#tp-popup-lab .tpl-kicker{margin-bottom:7px}#tp-popup-lab h2{font-size:20px;margin-bottom:7px}#tp-popup-lab p{margin-bottom:10px}#tp-popup-lab .tpl-bullets{margin-bottom:10px}}"; 5572 document.head.appendChild(css); 5573 document.body.appendChild(wrap); 5574 track("TP Popup Viewed", arm); 5575 5576 function dismiss() { 5577 lsSet(LS.dismissed, String(Date.now())); 5578 track("TP Popup Closed", arm); 5579 wrap.remove(); 5580 } 5581 wrap.querySelector(".tpl-close").addEventListener("click", dismiss); 5582 wrap.querySelector(".tpl-backdrop").addEventListener("click", dismiss); 5583 document.addEventListener("keydown", function esc(e) { 5584 if (e.key === "Escape") { dismiss(); document.removeEventListener("keydown", esc); } 5585 }); 5586 5587 function smsStep(email) { 5588 var body = wrap.querySelector(".tpl-body"); 5589 body.innerHTML = 5590 '<div class="tpl-kicker">THREEPIECE.US</div>' + 5591 "<h2>DONE. WANT DROPS BY TEXT?</h2>" + 5592 "<p>" + cfg.success + "</p>" + 5593 "<p>Restocks sell out before the email lands. Get the text instead â optional.</p>" + 5594 '<form class="tpl-sms-form" novalidate>' + 5595 '<input type="tel" placeholder="(555) 555-0134" aria-label="Mobile number"/>' + 5596 '<button type="submit">TEXT ME DROPS</button>' + 5597 "</form>" + 5598 '<button class="tpl-skip">No thanks, email is enough</button>' + 5599 '<div class="tpl-sms-fine">' + SMS_FINE + "</div>"; 5600 body.querySelector(".tpl-skip").addEventListener("click", function () { 5601 wrap.remove(); 5602 }); 5603 body.querySelector(".tpl-sms-form").addEventListener("submit", function (e) { 5604 e.preventDefault(); 5605 var phone = normPhone(body.querySelector("input[type=tel]").value); 5606 if (!phone) { 5607 if (!body.querySelector(".tpl-error")) { 5608 var err = document.createElement("div"); 5609 err.className = "tpl-error"; 5610 err.textContent = "Enter a valid US mobile number"; 5611 body.querySelector(".tpl-sms-form").appendChild(err); 5612 } 5613 return; 5614 } 5615 var sbtn = body.querySelector("button[type=submit]"); 5616 sbtn.disabled = true; 5617 sbtn.textContent = "..."; 5618 subscribeSms(email, phone, arm) 5619 .then(function () { 5620 track("TP Popup SMS Submitted", arm, email); 5621 // SMS list QW8vjm = single opt-in (flipped 2026-07-02 per Jake: 5622 // friction reduction) â consent records on submit, so instant 5623 // confirmation is accurate. 5624 body.innerHTML = 5625 '<div class="tpl-kicker">THREEPIECE.US</div>' + 5626 "<h2>LOCKED IN.</h2>" + 5627 "<p>Email + texts. You'll know before everyone else.</p>"; 5628 setTimeout(function () { wrap.remove(); }, 4000); 5629 }) 5630 .catch(function () { 5631 sbtn.disabled = false; 5632 sbtn.textContent = "TEXT ME DROPS"; 5633 }); 5634 }); 5635 setTimeout(function () { 5636 if (document.body.contains(wrap) && !wrap.querySelector("h2").textContent.match(/LOCKED IN/)) { 5637 wrap.remove(); 5638 } 5639 }, 45000); 5640 } 5641 5642 // Quiz-routing arms: the CTA opens the Build Your Setup quiz. A "submit" 5643 // is only credited when the quiz is actually COMPLETED (email + vehicle 5644 // captured), detected by polling the quiz's completion stamp. 5645 var quizBtn = wrap.querySelector(".tpl-quiz-cta"); 5646 if (quizBtn) { 5647 quizBtn.addEventListener("click", function () { 5648 track("TP Popup Quiz CTA", arm); 5649 lsSet(LS.dismissed, String(Date.now())); 5650 wrap.remove(); 5651 if (window.__tpOpenFitmentQuiz) window.__tpOpenFitmentQuiz(); 5652 var tries = 0; 5653 var poll = setInterval(function () { 5654 tries += 1; 5655 if (lsGet("tp_quiz_done_at")) { 5656 clearInterval(poll); 5657 lsSet(LS.submitted, "1"); 5658 track("TP Popup Submitted", arm); 5659 } else if (tries > 300) { 5660 clearInterval(poll); 5661 } 5662 }, 2000); 5663 }); 5664 return; 5665 } 5666 5667 wrap.querySelector(".tpl-form").addEventListener("submit", function (e) { 5668 e.preventDefault(); 5669 var input = wrap.querySelector("input[type=email]"); 5670 var email = (input.value || "").trim(); 5671 if (!/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(email)) { 5672 if (!wrap.querySelector(".tpl-error")) { 5673 var err = document.createElement("div"); 5674 err.className = "tpl-error"; 5675 err.textContent = "Enter a valid email"; 5676 wrap.querySelector(".tpl-form").appendChild(err); 5677 } 5678 return; 5679 } 5680 var btn = wrap.querySelector("button[type=submit]"); 5681 btn.disabled = true; 5682 btn.textContent = "..."; 5683 subscribe(email, arm) 5684 .then(function () { 5685 klIdentify(email); 5686 lsSet(LS.submitted, "1"); 5687 track("TP Popup Submitted", arm, email); 5688 smsStep(email); 5689 }) 5690 .catch(function () { 5691 btn.disabled = false;
5692 btn.textContent = cfg.cta; 5693 }); 5694 }); 5695 } 5696 5697 // triggers: 10s dwell OR exit intent (desktop) 5698 if (forced) { 5699 if (document.readyState === "complete" || document.readyState === "interactive") show(); 5700 else document.addEventListener("DOMContentLoaded", show); 5701 } else { 5702 setTimeout(show, DELAY_MS); 5703 document.addEventListener("mouseout", function exitIntent(e) { 5704 if (!e.relatedTarget && e.clientY <= 0) { 5705 document.removeEventListener("mouseout", exitIntent); 5706 show(); 5707 } 5708 }); 5709 } 5710})(); 5711 5712</script>
5712<script>(function(){try{if(location.pathname.indexOf('/cart.php')!==0)return;function go(){try{var txt=(document.body.innerText||'').toLowerCase();if(txt.indexOf('cart couldn')===-1&&txt.indexOf('cart could not')===-1)return;if(document.getElementById('tp-link-rescue'))return;var d=document.createElement('div');d.id='tp-link-rescue';d.style.cssText='margin:16px auto;max-width:960px;padding:16px 20px;background:#111;border:1px solid #d6b53f;color:#fff;font-size:15px;line-height:1.5;border-radius:4px;';d.innerHTML='<strong style="color:#d6b53f;">That checkout link has expired.</strong> Checkout links are one-time-use for your security — but your cart is saved on our end. Message us in chat below or call <a href="tel:+18135355801" style="color:#d6b53f;text-decoration:underline;">(813) 535-5801</a> and we’ll send you a fresh link right away.';var anchor=document.querySelector('.alertBox');var main=document.querySelector('.page')||document.querySelector('main')||document.body;if(anchor&&anchor.parentNode){anchor.parentNode.insertBefore(d,anchor);}else{main.insertBefore(d,main.firstChild);}}catch(e){}}if(document.readyState==='loading'){document.addEventListener('DOMContentLoaded',go);}else{go();}setTimeout(go,1500);}catch(e){}})();</script>
5712<script> 5713/* TP Fitment Quiz â "Build Your Setup" (EML-009, 2026-07-11) 5714 * 5715 * The flagship capture surface: a guided fitment quiz that (1) captures email 5716 * + vehicle + style + budget as Klaviyo profile properties (Make/Model/Year 5717 * match the Convermax props so every downstream segment/email can use them), 5718 * and (2) kills fitment anxiety by landing the user on the YMM-filtered 5719 * catalog: /new-wheels?Year/{y}/Make/{m}/Model/{model}. 5720 * 5721 * Surface: floating launcher chip (bottom-left, all pages except cart/checkout). 5722 * Modal only opens on click â the popup lab owns the interruption surface. 5723 * Events: "TP Quiz Started/Step/Completed/SMS Submitted" (variant prop = v1). 5724 * Kill switch: delete the Script Manager entry (scripts/_deploy_fitment_quiz.py --delete). 5725 * 2026-09-27 (email rebuild, Jake-approved): sign-up now also sets 5726 * "Vehicle Preferences" CARS/TRUCKS so the person enters the matching welcome 5727 * flow, and identifies the browser to Klaviyo. Look/placement unchanged. 5728 * Rollback: storefront/tp_fitment_quiz.js.bak_rebuild_20260927 + redeploy. 5729 */ 5730(function () { 5731 "use strict"; 5732 if (window.__tpFitmentQuiz) return; 5733 window.__tpFitmentQuiz = true; 5734 if (/\/(cart\.php|checkout)/.test(location.pathname)) return; 5735 5736 var COMPANY_ID = "WcaDix"; 5737 var LIST_ID = "Yh6y45"; // Newsletter â the list the agency welcome flows ACTUALLY trigger on (old TffCjN fed nothing; flipped 2026-08-24) 5738 var SMS_LIST_ID = "QW8vjm"; 5739 var REVISION = "2024-10-15"; 5740 var VARIANT = "v1"; 5741 var LS_DONE = "tp_quiz_done_at"; 5742 var LS_CHIP = "tp_quiz_chip_hidden"; 5743 var SMS_FINE = "By providing your number you agree to receive recurring automated marketing texts (like restock alerts) from ThreePiece.us. Consent is not a condition of purchase. Msg & data rates may apply. Reply STOP to opt out."; 5744 5745 function lsGet(k) { try { return localStorage.getItem(k); } catch (e) { return null; } } 5746 function lsSet(k, v) { try { localStorage.setItem(k, v); } catch (e) {} } 5747 function post(url, body) { 5748 return fetch(url, { 5749 method: "POST", 5750 headers: { "Content-Type": "application/json", revision: REVISION }, 5751 body: JSON.stringify(body), 5752 }); 5753 } 5754 function track(metric, extra) { 5755 // 2026-08-28 (Jake, email review #1 call 3): events only after the person 5756 // gives an email. Anonymous Started/Step events were minting empty Klaviyo 5757 // profiles for every bot that opened the quiz. 5758 if (!state.email) return; 5759 var props = { variant: VARIANT, page: location.pathname }; 5760 if (extra) for (var k in extra) props[k] = extra[k]; 5761 post("https://a.klaviyo.com/client/events/?company_id=" + COMPANY_ID, { 5762 data: { type: "event", attributes: { 5763 properties: props, 5764 metric: { data: { type: "metric", attributes: { name: metric } } }, 5765 profile: { data: { type: "profile", attributes: { anonymous_id: anonId(), email: state.email } } }, 5766 } }, 5767 }).catch(function () {}); 5768 } 5769 function anonId() { 5770 var a = lsGet("tp_quiz_anon"); 5771 if (!a) { 5772 a = "xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g, function (c) { 5773 var r = (Math.random() * 16) | 0; 5774 return (c === "x" ? r : (r & 0x3) | 0x8).toString(16); 5775 }); 5776 lsSet("tp_quiz_anon", a); 5777 } 5778 return a; 5779 } 5780 function normPhone(raw) { 5781 var d = (raw || "").replace(/\D/g, ""); 5782 if (d.length === 10) return "+1" + d; 5783 if (d.length === 11 && d.charAt(0) === "1") return "+" + d; 5784 if (/^\+/.test(raw) && d.length >= 10) return "+" + d; 5785 return null; 5786 } 5787 // 2026-09-27 rebuild (Jake: "welcome every sign-up"): the three agency welcome 5788 // flows on Newsletter Yh6y45 only let a profile in when "Vehicle Preferences" 5789 // is exactly CARS, TRUCKS or BOTH. Quiz sign-ups never set it, so none of them 5790 // were ever welcomed. Trucks, SUVs, Jeeps and vans -> TRUCKS; everything else 5791 // -> CARS. Same word lists as scripts/visualizer_welcome.py (keep in step). 5792 function vnorm(s) { 5793 return String(s || "").toLowerCase().replace(/&/g, " and ").replace(/[^a-z0-9]+/g, " ").replace(/^\s+|\s+$/g, ""); 5794 } 5795 var TRUCK_MAKES = /^(jeep|ram|gmc|hummer|land rover|international|rivian|scout|am general|freightliner|ineos|polaris|can am|mahindra)$/; 5796 var TRUCK_BY_MAKE = { 5797 "chevrolet": /^(silverado|colorado|s10|tahoe|suburban|blazer|trailblazer|trax|equinox|traverse|avalanche|express|astro|[ckrv]\d{1,4}|g\d{2}|luv|tracker|uplander|venture|captiva|ssr|luminaapv|sportvan|ck)/, 5798 "ford": /^(f\d{3}|fseries|ranger|bronco|explorer|expedition|excursion|escape|edge|flex|ecosport|transit|e\d{3}|econoline|sporttrac|aerostar|windstar|freestar|freestyle|superduty|lightning|mustangmache|mache)/, 5799 "toyota": /^(tacoma|tundra|4runner|landcruiser|sequoia|highlander|grandhighlander|rav4|fjcruiser|fj\d|sienna|t100|pickup|hilux|venza|chr|corollacross|bz4x|previa|crownsignia|vellfire|alphard|hiace|noah|voxy)/, 5800 "nissan": /^(frontier|titan|xterra|pathfinder|armada|murano|rogue|juke|kicks|quest|nv|hardbody|pickup|d21|ariya)/, 5801 "honda": /^(ridgeline|pilot|passport|crv|hrv|element|odyssey|prologue)/, 5802 "acura": /^(mdx|rdx|zdx|slx|adx)/, 5803 "dodge": /^(ram|dakota|durango|nitro|journey|caravan|grandcaravan|sprinter|powerwagon|ramcharger|b\d{3}|d\d{2,3}|w\d{2,3})/, 5804 "chrysler": /^(pacifica|townandcountry|voyager|grandvoyager|aspen)/, 5805 "plymouth": /^(voyager|grandvoyager|trailduster)/, 5806 "cadillac": /^(escalade|xt[4-6]|srx|lyriq|vistiq|optiq)/, 5807 "lincoln": /^(navigator|aviator|nautilus|mkx|mkc|mkt|corsair|blackwood|marklt)/, 5808 "buick": /^(enclave|encore|envision|rainier|rendezvous|envista|terraza)/, 5809 "mazda": /^(cx\d|tribute|b\d{4}|bseries|mpv|navajo|mazda5$|5$)/, 5810 "subaru": /^(forester|outback|ascent|crosstrek|xvcrosstrek|baja|tribeca|b9tribeca|solterra)/, 5811 "hyundai": /^(santafe|tucson|palisade|kona|venue|santacruz|veracruz|entourage|ioniq9)/, 5812 "kia": /^(sorento|sportage|telluride|seltos|carnival|sedona|borrego|mohave|ev9)/, 5813 "mitsubishi": /^(outlander|montero|pajero|endeavor|eclipsecross|mightymax|raider|triton|l200|delica|rvr)/, 5814 "volkswagen": /^(atlas|tiguan|touareg|id4|taos|routan|vanagon|eurovan|transporter|amarok|idbuzz|bus|type2)/, 5815 "bmw": /^(x\d|xm|ix)/, 5816 "mercedes benz": /^(g\d|gclass|gwagon|gwagen|gl[abcesk]?(\d|class|coupe|$)|ml|eqb|eqssuv|eqesuv|sprinter|metris|xclass)/, 5817 "audi": /^(q\d|sq\d|rsq\d|etron(?!gt))/, 5818 "porsche": /^(cayenne|macan)/, 5819 "lexus": /^(rx|gx|lx|nx|ux|tx)\d*[a-z]*$/, 5820 "infiniti": /^(qx|fx|ex|jx)\d*/, 5821 "volvo": /^(xc\d|ex\d)/, 5822 "tesla": /^((model)?[xy]|cybertruck)/, 5823 "genesis": /^gv\d/, 5824 "jaguar": /^(fpace|epace|ipace)/, 5825 "land rover": /./, 5826 "alfa romeo": /^(stelvio|tonale)/, 5827 "maserati": /^(levante|grecale)/, 5828 "lamborghini": /^urus/, 5829 "bentley": /^bentayga/, 5830 "rolls royce": /^cullinan/, 5831 "aston martin": /^dbx/, 5832 "ferrari": /^purosangue/,
5833 "lotus": /^eletre/, 5834 "lucid": /^gravity/, 5835 "suzuki": /^(samurai|sidekick|vitara|grandvitara|xl7|x90|equator|jimny|nomade)/, 5836 "saturn": /^(vue|outlook|relay)/, 5837 "pontiac": /^(aztek|torrent|montana|transsport)/, 5838 "oldsmobile": /^(bravada|silhouette)/, 5839 "mercury": /^(mountaineer|mariner|villager|monterey)/, 5840 }; 5841 function vehiclePref(year, make, model) { 5842 var mk = vnorm(make).replace(/^mercedes$/, "mercedes benz").replace(/^chevy$/, "chevrolet").replace(/^vw$/, "volkswagen"); 5843 var md = vnorm(model), mdc = md.replace(/ /g, ""); 5844 if (!mk && !md) return ""; 5845 if (TRUCK_MAKES.test(mk)) return "TRUCKS"; 5846 if (mk === "isuzu") return /^(impulse|stylus|imark|gemini)/.test(mdc) ? "CARS" : "TRUCKS"; 5847 if (mk === "ford" && /^maverick/.test(mdc)) return parseInt(year, 10) >= 2019 ? "TRUCKS" : "CARS"; 5848 var rx = TRUCK_BY_MAKE[mk]; 5849 if (rx && rx.test(mdc)) return "TRUCKS"; 5850 if (/\b(pickup|truck|van|ute|suv|4x4|1500|2500|3500|4500|5500)\b/.test(md)) return "TRUCKS"; 5851 return "CARS"; 5852 } 5853 // Tie this browser to the person (Klaviyo "identify") so later product views, 5854 // carts and site visits land on their profile (browse + cart follow-ups). 5855 function klIdentify(email) { 5856 try { 5857 window._learnq = window._learnq || []; 5858 window._learnq.push(["identify", { $email: email }]); 5859 } catch (e) {} 5860 } 5861 function seg(s) { return encodeURIComponent(String(s || "").trim()); } 5862 function resultsUrl(st) { 5863 // A PARTIAL vehicle produces garbage results (observed: 90 Touren-only 5864 // hits without Submodel) â only emit the YMM URL when the vehicle is 5865 // COMPLETE, otherwise send them to the honest all-wheels page. 5866 if (!st.year || !st.make || !st.model || !st.submodel) { 5867 return "https://www.threepiece.us/shop/wheels/"; 5868 } 5869 return "https://www.threepiece.us/new-wheels?Year/" + seg(st.year) + 5870 "/Make/" + seg(st.make) + "/Model/" + seg(st.model) + 5871 "/Submodel/" + seg(st.submodel); 5872 } 5873 5874 // Convermax YMM taxonomy â the same data source as the site's own 5875 // "Select Your Vehicle" widget, so quiz vehicles always match real fitments. 5876 var CM_URL = "https://threepieceus.myconvermax.com/search.json?mode=YMM&extra.ignorepagecontext=true"; 5877 function cmFetch(selections) { 5878 var qs = ""; 5879 for (var i = 0; i < selections.length; i++) { 5880 qs += "&facet." + i + ".field=" + encodeURIComponent(selections[i][0]) + 5881 "&facet." + i + ".selection=" + encodeURIComponent(selections[i][1]); 5882 } 5883 return fetch(CM_URL + qs).then(function (r) { return r.json(); }); 5884 } 5885 function facetValues(data, field) { 5886 var fs = (data && data.Facets) || []; 5887 for (var i = 0; i < fs.length; i++) { 5888 if (fs[i].FieldName === field) { 5889 var out = [], seen = {}; 5890 var vals = fs[i].Values || []; 5891 for (var j = 0; j < vals.length; j++) { 5892 var v = vals[j].Value; 5893 if (v && !seen[v]) { seen[v] = 1; out.push(v); } 5894 } 5895 return out; 5896 } 5897 } 5898 return []; 5899 } 5900 5901 var state = { year: "", make: "", model: "", submodel: "", stance: "", budget: "" }; 5902 var stepIdx = 0; 5903 5904 // ââ styles âââââââââââââââââââââââââââââââââââââââââââââââââââââ 5905 var css = document.createElement("style"); 5906 css.textContent = 5907 "#tp-quiz-chip{position:fixed;left:16px;bottom:16px;z-index:2147482000;display:flex;align-items:center;gap:8px;background:#111827;color:#fff;border:1px solid #374151;border-radius:999px;padding:10px 16px;font:600 13px/-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;font-size:13px;letter-spacing:.4px;cursor:pointer;box-shadow:0 8px 24px rgba(0,0,0,.35)}" + 5908 "#tp-quiz-chip:hover{background:#1f2937}" + 5909 "#tp-quiz-chip .tpq-x{margin-left:4px;color:#9ca3af;font-size:15px;line-height:1;padding:0 2px}" + 5910 ".tpq-inline{box-sizing:border-box;margin:24px auto;padding:22px 20px;max-width:1120px;background:#111827;color:#fff;text-align:center;border-radius:10px;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif}" + 5911 ".tpq-inline h3{margin:0 0 6px;color:#fff;font-size:20px;line-height:1.3}" + 5912 ".tpq-inline p{margin:0 0 14px;color:#d1d5db;font-size:14px;line-height:1.5}" + 5913 ".tpq-inline button{border:0;border-radius:7px;background:#2563EB;color:#fff;padding:12px 18px;font-size:14px;font-weight:700;letter-spacing:.4px;
5913cursor:pointer}" + 5914 ".tpq-inline--article{margin:28px 0}" + 5915 "#tp-quiz{position:fixed;inset:0;z-index:2147482500;display:flex;align-items:center;justify-content:center;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif}" + 5916 "#tp-quiz .tpq-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.62)}" + 5917 "#tp-quiz .tpq-modal{position:relative;width:min(460px,calc(100vw - 32px));max-height:calc(100vh - 48px);overflow:auto;background:#fff;color:#111827;border-radius:14px;padding:26px 28px 24px;box-shadow:0 24px 80px rgba(0,0,0,.45)}" + 5918 "#tp-quiz .tpq-close{position:absolute;top:10px;right:12px;background:none;border:0;color:#6b7280;font-size:22px;cursor:pointer;line-height:1}" + 5919 "#tp-quiz .tpq-kicker{font-size:11px;letter-spacing:3px;color:#6b7280;font-weight:600;margin-bottom:10px;text-align:center}" + 5920 "#tp-quiz h2{font-size:20px;line-height:1.3;margin:0 0 6px;text-align:center;color:#0b0b0e}" + 5921 "#tp-quiz .tpq-sub{font-size:13px;color:#4b5563;text-align:center;margin:0 0 18px;line-height:1.5}" + 5922 "#tp-quiz .tpq-dots{display:flex;gap:6px;justify-content:center;margin-bottom:16px}" + 5923 "#tp-quiz .tpq-dots i{width:7px;height:7px;border-radius:50%;background:#e5e7eb}" + 5924 "#tp-quiz .tpq-dots i.on{background:#2563EB}" + 5925 "#tp-quiz select,#tp-quiz input[type=text],#tp-quiz input[type=email],#tp-quiz input[type=tel]{width:100%;box-sizing:border-box;padding:13px 14px;border-radius:8px;border:1px solid #d1d5db;background:#f9fafb;color:#111827;font-size:15px;margin-bottom:12px}" + 5926 "#tp-quiz select:focus,#tp-quiz input:focus{outline:none;border-color:#2563EB;background:#fff}" + 5927 "#tp-quiz .tpq-cards{display:flex;flex-direction:column;gap:10px;margin-bottom:6px}" + 5928 "#tp-quiz .tpq-card{display:block;width:100%;text-align:left;border:1px solid #d1d5db;background:#f9fafb;border-radius:10px;padding:13px 16px;cursor:pointer}" + 5929 "#tp-quiz .tpq-card:hover{border-color:#2563EB;background:#fff}" + 5930 "#tp-quiz .tpq-card b{display:block;font-size:14px;color:#111827}" + 5931 "#tp-quiz .tpq-card span{font-size:12px;color:#6b7280}" + 5932 "#tp-quiz .tpq-btn{width:100%;padding:14px;border:0;border-radius:8px;background:#2563EB;color:#fff;font-size:15px;font-weight:700;letter-spacing:.5px;cursor:pointer;margin-top:2px}" + 5933 "#tp-quiz .tpq-btn[disabled]{opacity:.5;cursor:default}" + 5934 "#tp-quiz .tpq-back{background:none;border:0;color:#6b7280;font-size:12px;cursor:pointer;text-decoration:underline;display:block;margin:12px auto 0}" + 5935 "#tp-quiz .tpq-fine{font-size:11px;color:#9ca3af;margin-top:10px;text-align:center}" + 5936 "#tp-quiz .tpq-sms-fine{font-size:10px;color:#9ca3af;margin-top:10px;line-height:1.5;text-align:left}" + 5937 "#tp-quiz .tpq-error{color:#dc2626;font-size:12px;margin:4px 0 0;text-align:center}" + 5938 "#tp-quiz .tpq-result-cta{display:block;text-align:center;text-decoration:none;padding:15px;border-radius:8px;background:#2563EB;color:#fff;font-size:15px;font-weight:700;letter-spacing:.5px;margin-top:4px}"; 5939 document.documentElement.appendChild(css); 5940 5941 // ââ launcher chip ââââââââââââââââââââââââââââââââââââââââââââââ 5942 var done = parseInt(lsGet(LS_DONE) || "0", 10); 5943 if (done && Date.now() - done < 30 * 864e5) return; // completed <30d ago 5944 if (sessionStorage.getItem(LS_CHIP) === "1") return; // dismissed this session 5945 5946 var chip = document.createElement("button"); 5947 chip.id = "tp-quiz-chip"; 5948 chip.type = "button"; 5949 chip.innerHTML = "FIND WHEELS THAT FIT <span class='tpq-x' aria-label='Hide'>×</span>"; 5950 chip.querySelector(".tpq-x").addEventListener("click", function (e) { 5951 e.stopPropagation(); 5952 try { sessionStorage.setItem(LS_CHIP, "1"); } catch (err) {} 5953 chip.remove(); 5954 }); 5955 chip.addEventListener("click", openQuiz); 5956 function liftAboveBanners() { 5957 // Cookie bars etc. are bottom-fixed and bury the chip (seen on mobile). 5958 // If the topmost element at the chip's center isn't the chip, hop above it. 5959 try { 5960 var r = chip.getBoundingClientRect(); 5961 if (!r.width) return; 5962 var els = document.elementsFromPoint(r.left + r.width / 2, r.top + r.height / 2); 5963 var top = els && els[0]; 5964 if (top && top !== chip && !chip.contains(top)) { 5965 var fixed = top; 5966 while (fixed && fixed !== document.body && getComputedStyle(fixed).position !== "fixed") fixed = fixed.parentElement; 5967 if (fixed && fixed !== document.body) { 5968 var h = fixed.getBoundingClientRect().height; 5969 if (h > 0 && h < 300) chip.style.bottom = (h + 20) + "px"; 5970 } 5971 } 5972 } catch (e) {} 5973 } 5974 function mountChip() { 5975 if (!document.body) return; 5976 document.body.appendChild(chip); 5977 setTimeout(liftAboveBanners, 1500); 5978 setTimeout(liftAboveBanners, 4500); 5979 } 5980 if (document.readyState === "complete" || document.readyState === "interactive") mountChip(); 5981 else document.addEventListener("DOMContentLoaded", mountChip); 5982 5983 function captureCta(className) { 5984 var el = document.createElement("section"); 5985 el.className = "tpq-inline " + className; 5986 el.setAttribute("aria-label", "Vehicle fitment help"); 5987 el.innerHTML = "<h3>Not sure what fits your car?</h3><p>
5987Tell us your exact vehicle and get wheels that match it.</p><button type='button'>BUILD MY SETUP</button>"; 5988 el.querySelector("button").addEventListener("click", openQuiz); 5989 return el; 5990 } 5991 5992 function mountCaptureCtas() { 5993 if (!document.body || document.querySelector(".tpq-inline")) return; 5994 var path = location.pathname.toLowerCase(); 5995 var isBlog = /\/(blog|blogs|news)(\/|$)/.test(path); 5996 if (isBlog) { 5997 var article = document.querySelector("article, .blog-post, .blog-post-body, [itemprop='articleBody']"); 5998 if (article) { 5999 var paragraphs = article.querySelectorAll("p"); 6000 var after = paragraphs.length > 1 ? paragraphs[1] : paragraphs[0]; 6001 if (after && after.parentNode) after.parentNode.insertBefore(captureCta("tpq-inline--article"), after.nextSibling); 6002 } 6003 } 6004 var footer = document.querySelector("footer, .footer"); 6005 if (footer && !footer.querySelector(".tpq-inline")) footer.insertBefore(captureCta("tpq-inline--footer"), footer.firstChild); 6006 } 6007 if (document.readyState === "complete" || document.readyState === "interactive") mountCaptureCtas(); 6008 else document.addEventListener("DOMContentLoaded", mountCaptureCtas); 6009 6010 // ââ modal ââââââââââââââââââââââââââââââââââââââââââââââââââââââ 6011 var wrap = null; 6012 6013 function openQuiz() { 6014 if (wrap) return; 6015 var lab = document.getElementById("tp-popup-lab"); 6016 if (lab) lab.remove(); // user chose the quiz â popup yields 6017 stepIdx = 0; 6018 wrap = document.createElement("div"); 6019 wrap.id = "tp-quiz"; 6020 wrap.innerHTML = '<div class="tpq-backdrop"></div><div class="tpq-modal" role="dialog" aria-modal="true" aria-label="Fitment quiz"><button class="tpq-close" aria-label="Close">×</button><div class="tpq-body"></div></div>'; 6021 document.body.appendChild(wrap); 6022 wrap.querySelector(".tpq-close").addEventListener("click", closeQuiz); 6023 wrap.querySelector(".tpq-backdrop").addEventListener("click", closeQuiz); 6024 track("TP Quiz Started"); 6025 render(); 6026 } 6027 window.__tpOpenFitmentQuiz = openQuiz; 6028 function closeQuiz() { if (wrap) { wrap.remove(); wrap = null; } } 6029 6030 function header(title, sub, dotCount, dotOn) { 6031 var dots = ""; 6032 for (var i = 0; i < dotCount; i++) dots += "<i class='" + (i <= dotOn ? "on" : "") + "'></i>"; 6033 return '<div class="tpq-kicker">THREEPIECE.US â BUILD YOUR SETUP</div>' + 6034 "<h2>" + title + "</h2>" + 6035 '<p class="tpq-sub">' + sub + "</p>" + 6036 '<div class="tpq-dots">' + dots + "</div>"; 6037 } 6038 function body() { return wrap.querySelector(".tpq-body"); } 6039 function backBtn(toStep) { 6040 var b = document.createElement("button"); 6041 b.className = "tpq-back"; 6042 b.textContent = "back"; 6043 b.addEventListener("click", function () { stepIdx = toStep; render(); }); 6044 return b; 6045 } 6046 6047 var STEPS = [ 6048 function vehicle() { 6049 // Cascading selects fed by the live Convermax taxonomy â Submodel is 6050 // REQUIRED (partial vehicles mis-filter the results page). 6051 body().innerHTML = header("What are we fitting?", "Exact fitment starts with the exact car.", 5, 0) + 6052 '<select id="tpq-year" disabled><option value="" disabled selected>Loading yearsâ¦</option></select>' + 6053 '<select id="tpq-make" disabled><option value="" disabled selected>Make</option></select>' + 6054 '<select id="tpq-model" disabled><option value="" disabled selected>Model</option></select>' + 6055 '<select id="tpq-sub" disabled><option value="" disabled selected>Submodel / trim</option></select>' + 6056 '<button class="tpq-btn" disabled>NEXT</button>'; 6057 var elY = body().querySelector("#tpq-year"), elMk = body().querySelector("#tpq-make"), 6058 elMd = body().querySelector("#tpq-model"), elSub = body().querySelector("#tpq-sub"), 6059 btn = body().querySelector(".tpq-btn"); 6060 6061 function fill(el, values, placeholder) { 6062 var html = '<option value="" disabled selected>' + placeholder + "</option>"; 6063 for (var i = 0; i < values.length; i++) html += "<option>" + values[i] + "</option>"; 6064 el.innerHTML = html; 6065 el.disabled = values.length === 0; 6066 } 6067 function reset(els, placeholders) { 6068 for (var i = 0; i < els.length; i++) { 6069 els[i].innerHTML = '<option value="" disabled selected>' + placeholders[i] + "</option>"; 6070 els[i].disabled = true; 6071 } 6072 btn.disabled = true; 6073 } 6074 6075 cmFetch([]).then(function (d) { 6076 fill(elY, facetValues(d, "Year"), "Year"); 6077 }).catch(function () { 6078 err("Vehicle data didn't load â try again or browse all wheels."); 6079 }); 6080 6081 elY.addEventListener("change", function () { 6082 reset([elMk, elMd, elSub], ["Make", "Model", "Submodel / trim"]); 6083 cmFetch([["Year", elY.value]]).then(function (d) { 6084 fill(elMk, facetValues(d, "Make"), "Make"); 6085 }); 6086 }); 6087 elMk.addEventListener("change", function () { 6088 reset([elMd, elSub], ["Model", "Submodel / trim"]); 6089 cmFetch([["Year", elY.value], ["Make", elMk.value]]).then(function (d) { 6090 fill(elMd, facetValues(d, "Model"), "Model"); 6091 }); 6092 }); 6093 elMd.addEventListener("change", function () { 6094 reset([elSub], ["Submodel / trim"]); 6095 cmFetch([["Year", elY.value], ["Make", elMk.value], ["Model", elMd.value]]).then(function (d) { 6096 var subs = facetValues(d, "Submodel"); 6097 fill(elSub, subs, "Submodel / trim"); 6098 if (subs.length === 1) { 6099 elSub.value = subs[0]; 6100 btn.disabled = false;
6101 } 6102 }); 6103 }); 6104 elSub.addEventListener("change", function () { btn.disabled = !elSub.value; }); 6105 6106 btn.addEventListener("click", function () { 6107 if (!elY.value || !elMk.value || !elMd.value || !elSub.value) { 6108 err("All four, please â fitment is exact or it's wrong."); 6109 return; 6110 } 6111 state.year = elY.value; state.make = elMk.value; 6112 state.model = elMd.value; state.submodel = elSub.value; 6113 track("TP Quiz Step", { step: "vehicle", year: state.year, make: state.make, model: state.model, submodel: state.submodel }); 6114 stepIdx = 1; render(); 6115 }); 6116 }, 6117 function stance() { 6118 body().innerHTML = header("How should it sit?", "Same car, three different builds.", 5, 1) + 6119 '<div class="tpq-cards">' + 6120 '<button class="tpq-card" data-v="stock_plus"><b>Stock+</b><span>Cleaner than factory, zero drama. Daily-friendly.</span></button>' + 6121 '<button class="tpq-card" data-v="flush"><b>Flush</b><span>Wheel face meets fender line. The look most builds chase.</span></button>' + 6122 '<button class="tpq-card" data-v="aggressive"><b>Aggressive</b><span>Poke, stretch, low. You know who you are.</span></button>' + 6123 "</div>"; 6124 body().appendChild(backBtn(0)); 6125 var cards = body().querySelectorAll(".tpq-card"); 6126 for (var i = 0; i < cards.length; i++) { 6127 cards[i].addEventListener("click", function () { 6128 state.stance = this.getAttribute("data-v"); 6129 track("TP Quiz Step", { step: "stance", stance: state.stance }); 6130 stepIdx = 2; render(); 6131 }); 6132 } 6133 }, 6134 function budget() { 6135 body().innerHTML = header("Monthly comfort zone?", "Most sets go 0% APR with Affirm, Klarna or Snap â think monthly, not sticker.", 5, 2) + 6136 '<div class="tpq-cards">' + 6137 '<button class="tpq-card" data-v="under_100"><b>Under $100/mo</b><span>Strong cast + flow-formed territory.</span></button>' + 6138 '<button class="tpq-card" data-v="100_150"><b>$100â150/mo</b><span>Flow-formed and entry forged. The sweet spot.</span></button>' + 6139 '<button class="tpq-card" data-v="150_plus"><b>$150+/mo</b><span>Forged, 3-piece, full custom finish.</span></button>' + 6140 "</div>"; 6141 body().appendChild(backBtn(1)); 6142 var cards = body().querySelectorAll(".tpq-card"); 6143 for (var i = 0; i < cards.length; i++) { 6144 cards[i].addEventListener("click", function () { 6145 state.budget = this.getAttribute("data-v"); 6146 track("TP Quiz Step", { step: "budget", budget: state.budget }); 6147 stepIdx = 3; render(); 6148 }); 6149 } 6150 }, 6151 function emailGate() { 6152 body().innerHTML = header("Your matches are ready.", 6153 "Where do we send the fitment rundown for your " + state.year + " " + state.make + " " + state.model + "? A human checks every spec question you reply with.", 5, 3) + 6154 '<form class="tpq-form" novalidate>' + 6155 '<input type="email" placeholder="[email protected]" aria-label="Email address"/>' + 6156 '<button type="submit" class="tpq-btn">SEE WHAT FITS MY CAR</button>' + 6157 "</form>" + 6158 '<div class="tpq-fine">No spam. Unsubscribe anytime.</div>'; 6159 body().appendChild(backBtn(2)); 6160 body().querySelector(".tpq-form").addEventListener("submit", function (e) { 6161 e.preventDefault(); 6162 var email = (body().querySelector("input[type=email]").value || "").trim(); 6163 if (!/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(email)) { err("Enter a valid email"); return; } 6164 var btn = body().querySelector(".tpq-btn"); 6165 btn.disabled = true; btn.textContent = "..."; 6166 var props = { 6167 Make: state.make, Model: state.model, Year: state.year, 6168 Submodel: state.submodel, 6169 tp_stance: state.stance, tp_budget_mo: state.budget, 6170 tp_quiz_variant: VARIANT, 6171 }; 6172 // Car/truck for the welcome flows. Skipped when this browser already 6173 // signed up through the popup (tagged BOTH, possibly mid-welcome): 6174 // changing the value would stop that welcome series part-way. 6175 var vp = vehiclePref(state.year, state.make, state.model); 6176 if (vp && lsGet("tp_popup_submitted") !== "1") { 6177 props["Vehicle Preferences"] = vp; 6178 props.tp_vp_source = "quiz"; 6179 } 6180 post("https://a.klaviyo.com/client/subscriptions/?company_id=" + COMPANY_ID, { 6181 data: { type: "subscription", attributes: {
6182 custom_source: "TP Fitment Quiz " + VARIANT, 6183 profile: { data: { type: "profile", attributes: { 6184 email: email, 6185 properties: props, 6186 } } }, 6187 }, relationships: { list: { data: { type: "list", id: LIST_ID } } } }, 6188 }).then(function () { 6189 klIdentify(email); 6190 state.email = email; 6191 lsSet(LS_DONE, String(Date.now())); 6192 track("TP Quiz Completed", { year: state.year, make: state.make, model: state.model, submodel: state.submodel, stance: state.stance, budget: state.budget }); 6193 stepIdx = 4; render(); 6194 }).catch(function () { 6195 btn.disabled = false; btn.textContent = "SEE WHAT FITS MY CAR"; 6196 }); 6197 }); 6198 }, 6199 function result() { 6200 body().innerHTML = header("Verified for your " + state.year + " " + state.make + " " + state.model + ".", 6201 "Every wheel behind this button is filtered to your car's fitment. Full rundown is on its way to your inbox.", 5, 4) + 6202 '<a class="tpq-result-cta" href="' + resultsUrl(state) + '">SHOW MY WHEELS</a>' + 6203 '<form class="tpq-sms-form" novalidate style="margin-top:16px">' + 6204 '<input type="tel" placeholder="(555) 555-0134 â drops for your ' + state.make + ' by text (optional)" aria-label="Mobile number"/>' + 6205 '<button type="submit" class="tpq-btn" style="background:#111827">TEXT ME DROPS</button>' + 6206 "</form>" + 6207 '<div class="tpq-sms-fine">' + SMS_FINE + "</div>"; 6208 body().querySelector(".tpq-sms-form").addEventListener("submit", function (e) { 6209 e.preventDefault(); 6210 var phone = normPhone(body().querySelector("input[type=tel]").value); 6211 if (!phone) { err("Enter a valid US mobile number"); return; } 6212 var btn = body().querySelector(".tpq-sms-form .tpq-btn"); 6213 btn.disabled = true; btn.textContent = "..."; 6214 post("https://a.klaviyo.com/client/subscriptions/?company_id=" + COMPANY_ID, { 6215 data: { type: "subscription", attributes: { 6216 custom_source: "TP Fitment Quiz SMS " + VARIANT, 6217 profile: { data: { type: "profile", attributes: { 6218 email: state.email, phone_number: phone, 6219 properties: { tp_quiz_variant: VARIANT }, 6220 } } }, 6221 }, relationships: { list: { data: { type: "list", id: SMS_LIST_ID } } } }, 6222 }).then(function () { 6223 track("TP Quiz SMS Submitted"); 6224 btn.textContent = "LOCKED IN."; 6225 }).catch(function () { 6226 btn.disabled = false; btn.textContent = "TEXT ME DROPS"; 6227 }); 6228 }); 6229 chip.remove(); 6230 }, 6231 ]; 6232 6233 function err(msg) { 6234 var old = body().querySelector(".tpq-error"); 6235 if (old) old.remove(); 6236 var e = document.createElement("div"); 6237 e.className = "tpq-error"; 6238 e.textContent = msg; 6239 body().appendChild(e); 6240 } 6241 function render() { STEPS[stepIdx](); } 6242})(); 6243 6244</script>
6244<script>(function(){try{ 6245var REBATES={ 6246 'CONTINENTAL':{amt:'$110',ends:'2026-08-31',label:'Aug 31'}, 6247 'MICKEY THOMPSON':{amt:'$100',ends:'2026-07-31',label:'Jul 31'}, 6248 'COOPER':{amt:'$80',ends:'2026-08-31',label:'Aug 31'} 6249}; 6250function go(){try{ 6251 if(document.getElementById('tp-rebate-badge'))return; 6252 if(!document.querySelector('.productView'))return; 6253 var bcEl=document.querySelector('.breadcrumbs, ul.breadcrumbs, nav[aria-label="Breadcrumb"]'); 6254 var bcTxt=bcEl?(bcEl.textContent||''):''; 6255 if(!/\bTires\b/i.test(bcTxt))return; 6256 var brandEl=document.querySelector('.productView-brand, [itemprop="brand"]'); 6257 var brand=(brandEl?(brandEl.textContent||''):'').trim().toUpperCase(); 6258 if(!brand)return; 6259 var hit=null; 6260 for(var k in REBATES){if(brand.indexOf(k)!==-1){hit=REBATES[k];break;}} 6261 if(!hit)return; 6262 if(Date.now()>new Date(hit.ends+'T23:59:59-05:00').getTime())return; 6263 var price=document.querySelector('.productView-price'); 6264 if(!price||!price.parentNode)return; 6265 var d=document.createElement('div'); 6266 d.id='tp-rebate-badge'; 6267 d.style.cssText='margin:10px 0;padding:8px 12px;background:#fdf8e8;border:1px solid #d6b53f;border-radius:4px;font-size:13px;line-height:1.45;color:#111;max-width:420px;'; 6268 d.innerHTML='<strong style="color:#8a6d1a;">Manufacturer rebate:</strong> up to '+hit.amt+' back — ends '+hit.label+'. <a href="/tire-rebates/" style="color:#1a5fb4;text-decoration:underline;font-weight:600;">See details</a>'; 6269 price.parentNode.insertBefore(d,price.nextSibling); 6270}catch(e){}} 6271if(document.readyState==='loading'){document.addEventListener('DOMContentLoaded',go);}else{go();} 6272setTimeout(go,1500); 6273}catch(e){}})();</script>
6273<script> 6274(function(){ 6275 'use strict'; 6276 var C={ 6277 http:'https://chat.threepiece.us/chat/message', 6278 ws:'wss://chat.threepiece.us/chat/ws', 6279 max:500, 6280 timeout:22000, 6281 key:'tp_live_chat_visitor_id', 6282 ckey:'tp_live_chat_contact', 6283 hkey:'tp_live_chat_history', 6284 pkey:'tp_live_chat_pages', 6285 id:'tp-live-chat', 6286 sid:'tp-live-chat-style', 6287 akey:'tp_live_chat_auto_opened', 6288 autoDelay:5500, 6289 maxHistory:28, 6290 maxPages:8, 6291 skip:/(\/checkout|\/checkout\.php|\/order-confirmation|\/finishorder\.php)/i, 6292 // 2026-09-27 email rebuild (Jake-approved item 9): optional, UNticked email opt-in. 6293 klCompany:'WcaDix', 6294 klList:'Yh6y45', 6295 klRevision:'2024-10-15', 6296 optKey:'tp_live_chat_optin_at', 6297 optText:'Email me new arrivals and restocks for my car' 6298 }; 6299 var T={ 6300 hello:'What wheel, fitment, color, or package question can I answer for you?', 6301 fallback:'Email [email protected] with your vehicle and wheel interest, or call 813-535-5801.', 6302 busy:'Chat is having trouble connecting. Email [email protected] with your vehicle and wheel interest, or call 813-535-5801.' 6303 }; 6304 if(window.__TP_LIVE_CHAT_V2__||C.skip.test(location.pathname))return; 6305 window.__TP_LIVE_CHAT_V2__=true; 6306 function clean(v,n){return String(v||'').replace(/[\u0000-\u001F\u007F]/g,' ').replace(/\s+/g,' ').trim().slice(0,n||160)} 6307 function validName(v){return clean(v,120).length>=2} 6308 function validEmail(v){return/^[^@\s]+@[^@\s]+\.[^@\s]+$/.test(clean(v,200))} 6309 function validPhone(v){return clean(v,80).replace(/\D/g,'').length>=7} 6310 function mobile(){return window.matchMedia&&window.matchMedia('(max-width:480px)').matches} 6311 function e(t,a,x){var n=document.createElement(t),k;for(k in(a||{}))if(Object.prototype.hasOwnProperty.call(a,k))n.setAttribute(k,a[k]);if(x)n.textContent=x;return n} 6312 function add(p,c){p.appendChild(c);return c} 6313 function read(k,d){try{return JSON.parse(localStorage.getItem(k)||'')||d}catch(_){return d}} 6314 function write(k,v){try{localStorage.setItem(k,JSON.stringify(v))}catch(_){}} 6315 function vid(){try{var v=localStorage.getItem(C.key);if(v)return v;v='web_'+Date.now().toString(36)+'_'+Math.random().toString(36).slice(2,10);localStorage.setItem(C.key,v);return v}catch(_){return'web_'+Date.now().toString(36)}} 6316 function getContact(){var c=read(C.ckey,{}),s;if(c&&c.name&&c.email&&c.phone)return c;try{s=JSON.parse(sessionStorage.getItem(C.ckey)||'{}')||{}}catch(_){s={}}if(s.name&&s.email&&s.phone){write(C.ckey,s);return s}return{}} 6317 function setContact(c){write(C.ckey,c);try{sessionStorage.setItem(C.ckey,JSON.stringify(c))}catch(_){}} 6318 function history(){var h=read(C.hkey,[]);return h&&h.slice?h.slice(-C.maxHistory):[]} 6319 function saveHistory(h){write(C.hkey,(h||[]).slice(-C.maxHistory))} 6320 function remember(k,x){if(!x)return;var h=history();h.push({role:k,text:clean(x,900),at:new Date().toISOString()});saveHistory(h)} 6321 function q(s){return document.querySelector(s)} 6322 function notes(){ 6323 var roots=[q('.productView'),q('.productView-description'),q('#tab-description'),q('[data-product-description]'),q('.productView-info')],seen={},out=[]; 6324 roots.forEach(function(r){var text;if(!r)return;text=(r.innerText||r.textContent||'').split(/\n+/);text.forEach(function(line){var t=clean(line,220),l=t.toLowerCase();if(t&&!seen[t]&&/(mto|made.?to.?order|lead|eta|ship|ships|shipping|week|weeks|in stock|out of stock|availability)/i.test(l)){seen[t]=1;out.push(t)}})}); 6325 if(out.length<3){(document.body.innerText||document.body.textContent||'').split(/\n+/).forEach(function(line){var t=clean(line,220),l=t.toLowerCase();if(out.length<8&&t&&!seen[t]&&/(special order|made.?to.?order|16.?-?.?24|24 weeks|eta|allow up to)/i.test(l)){seen[t]=1;out.push(t)}})} 6326 return out.slice(0,8) 6327 } 6328 function priceText(){ 6329 var sels=['.price--sale','.sale-price','[data-product-price-without-tax]','.price--withoutTax','.price--main','.productView-price .price'],i,n,t,root,vals,m,re; 6330 for(i=0;i<sels.length;i++){n=q(sels[i]);t=n&&clean(n.textContent,80);if(t&&/\$\s*\d/.test(t))return t} 6331 root=q('.productView-price,.productView-details,.productView');t=root&&clean(root.textContent,1800);vals=[];re=/\$\s*([0-9,]+(?:\.\d{2})?)/g;if(t){while((m=re.exec(t))){vals.push(m[0])}} 6332 return vals.length?vals[vals.length-1]:'' 6333 } 6334 function product(){ 6335 var pt=document.body.getAttribute('data-page-type')||'',pv=q('.productView,[data-product-id],[data-entity-id]'); 6336 if(pt!=='product'&&!pv)return null; 6337 var h=q('.productView-title,h1'),sku=q('[data-product-sku],.productView-info-value[data-product-sku],.productView-info-name+.productView-info-value'),id=(pv&&clean(pv.getAttribute('data-product-id')||pv.getAttribute('data-entity-id'),80))||'',img=q('.productView-image img,.productView-img-container img,[data-main-image] img'); 6338 return{title:h?clean(h.textContent,180):clean(document.title,180),sku:sku?clean(sku.getAttribute('data-product-sku')||sku.textContent,100):'',price:priceText(),id:id,url:location.href,image:img?clean(img.currentSrc||img.src,300):'',notes:notes()} 6339 } 6340 function page(){return{url:location.href,title:clean(document.title,180),page_type:document.body.getAttribute('data-page-type')||'',product:product(),at:new Date().toISOString()}} 6341 function savePage(){var now=page(),pages=read(C.pkey,[]).filter(function(p){return p&&p.url!==now.url});pages.unshift(now);write(C.pkey,pages.slice(0,C.maxPages))} 6342 function context(){savePage();return{type:'context',visitor_id:vid(),page_url:location.href,page_type:document.body.getAttribute('data-page-type')||'',referrer:document.referrer||'',product:product(),contact:getContact(),recent_pages:read(C.pkey,[]).slice(0,C.maxPages),recent_messages:history().slice(-10)}} 6343 function styles(){if(document.getElementById(C.sid))return;add(document.head,e('style',{id:C.sid},[ 6344 '#'+C.id+'{position:fixed;right:18px;bottom:112px;z-index:2147483000;font-family:Arial,sans-serif;color:#111;text-align:left}', 6345 '#'+C.id+' *{box-sizing:border-box}', 6346 '#'+C.id+' button,#'+C.id+' input{font:inherit}', 6347 '#'+C.id+' .tp-chat-launcher{display:flex;align-items:center;gap:10px;border:0;border-radius:999px;background:#1877f2;color:#fff;box-shadow:0 12px 30px rgba(24,119,242,.38),0 4px 12px rgba(0,0,0,.22);cursor:pointer;padding:11px 15px 11px 12px;animation:tp-chat-pop .55s ease-out both}', 6348 '#'+C.id+' .tp-chat-launcher:hover{background:#0f66d7;transform:translateY(-1px)}', 6349 '#'+C.id+' .tp-chat-copy{font-weight:800;font-size:15px;line-height:1.05;white-space:nowrap}', 6350 '#'+C.id+' .tp-wheel{position:relative;width:32px;height:32px;flex:0 0 32px;background:#fff;border:3px solid #063f8f;box-shadow:inset 0 0 0 5px #85bdff;clip-path:polygon(25% 0,75% 0,100% 25%,100% 75%,75% 100%,25% 100%,0 75%,0 25%);image-rendering:pixelated}', 6351 '#'+C.id+' .tp-wheel:before{content:"";position:absolute;
6351left:10px;top:10px;width:6px;height:6px;background:#063f8f;box-shadow:-8px 0 0 #063f8f,8px 0 0 #063f8f,0 -8px 0 #063f8f,0 8px 0 #063f8f}', 6352 '#'+C.id+' .tp-chat-panel{display:none;position:absolute;right:0;bottom:0;width:min(380px,calc(100vw - 32px));height:540px;max-height:calc(100vh - 132px);background:#fff;border:1px solid #d6dce5;box-shadow:0 16px 40px rgba(0,0,0,.22);border-radius:8px;overflow:hidden}', 6353 '#'+C.id+'.tp-chat-open .tp-chat-panel{display:flex;flex-direction:column}', 6354 '#'+C.id+'.tp-chat-open .tp-chat-launcher{display:none}', 6355 '#'+C.id+' .tp-chat-head{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;background:#1877f2;color:#fff;font-weight:700}', 6356 '#'+C.id+' .tp-chat-close{background:transparent;border:0;color:#fff;font-size:22px;line-height:1;cursor:pointer;padding:0 2px}', 6357 '#'+C.id+' .tp-chat-lead{padding:14px;background:#fff;border-bottom:1px solid #ddd}', 6358 '#'+C.id+' .tp-chat-lead-question{margin:0 0 10px;padding:9px 11px;border-radius:8px;background:#f7f7f7;border:1px solid #e0e0e0;color:#111;font-size:14px;line-height:1.35}', 6359 '#'+C.id+' .tp-chat-lead p{margin:0 0 10px;font-size:14px;line-height:1.35;color:#222}', 6360 '#'+C.id+' .tp-chat-lead input{width:100%;border:1px solid #bbb;border-radius:6px;padding:9px;margin:0 0 8px;font-size:14px}', 6361 '#'+C.id+' .tp-chat-optin{display:flex;align-items:flex-start;gap:8px;margin:2px 0 10px;font-size:13px;line-height:1.35;color:#333;cursor:pointer}', 6362 '#'+C.id+' .tp-chat-lead .tp-chat-optin input{width:16px;height:16px;flex:none;margin:1px 0 0;padding:0;border:0}', 6363 '#'+C.id+' .tp-chat-start{width:100%;border:0;border-radius:6px;background:#1877f2;color:#fff;padding:10px 12px;cursor:pointer;font-weight:700}', 6364 '#'+C.id+' .tp-chat-error{display:none;margin:0 0 8px;color:#b00020;font-size:13px}', 6365 '#'+C.id+' .tp-chat-messages{flex:1;overflow:auto;padding:14px;background:#f7f7f7}', 6366 '#'+C.id+' .tp-chat-msg{margin:0 0 10px;padding:9px 11px;border-radius:8px;line-height:1.35;font-size:14px;white-space:pre-wrap;overflow-wrap:anywhere}', 6367 '#'+C.id+' .tp-chat-msg a{color:inherit;text-decoration:underline;font-weight:700}', 6368 '#'+C.id+' .tp-chat-msg-user{background:#1877f2;color:#fff;margin-left:34px}', 6369 '#'+C.id+' .tp-chat-msg-agent{background:#fff;border:1px solid #e0e0e0;margin-right:24px}', 6370 '#'+C.id+' .tp-chat-typing{display:none;margin:0 24px 10px 0;padding:9px 11px;border-radius:8px;background:#fff;border:1px solid #e0e0e0;color:#555;font-size:13px}', 6371 '#'+C.id+' .tp-chat-typing.tp-show{display:block}', 6372 '#'+C.id+' .tp-chat-form{display:none;gap:8px;padding:10px;border-top:1px solid #ddd;background:#fff}', 6373 '#'+C.id+' .tp-chat-ready .tp-chat-form{display:flex}', 6374 '#'+C.id+' .tp-chat-ready .tp-chat-lead{display:none}', 6375 '#'+C.id+' .tp-chat-input{flex:1;min-width:0;border:1px solid #bbb;border-radius:6px;padding:9px;font-size:14px}', 6376 '#'+C.id+' .tp-chat-send{border:0;border-radius:6px;background:#1877f2;color:#fff;padding:0 13px;
6376cursor:pointer;font-weight:700}', 6377 '#'+C.id+' .tp-chat-send:disabled{opacity:.55;cursor:not-allowed}', 6378 '@keyframes tp-chat-pop{0%{transform:translateY(12px);opacity:.35}100%{transform:translateY(0);opacity:1}}', 6379 '@media(prefers-reduced-motion:reduce){#'+C.id+' .tp-chat-launcher{animation:none}}', 6380 '@media(max-width:480px){#'+C.id+'{right:12px;bottom:92px}#'+C.id+' .tp-chat-panel{right:0;width:calc(100vw - 24px);height:min(520px,calc(100vh - 112px))}#'+C.id+' .tp-chat-copy{font-size:14px}}' 6381 ].join('')))} 6382 // --- 2026-09-27 email opt-in (optional, unticked). Car/truck word lists are a 6383 // verbatim copy of vehiclePref() in the Fitment Quiz script (keep in step). 6384 function vnorm(s) { 6385 return String(s || "").toLowerCase().replace(/&/g, " and ").replace(/[^a-z0-9]+/g, " ").replace(/^\s+|\s+$/g, ""); 6386 } 6387 var TRUCK_MAKES = /^(jeep|ram|gmc|hummer|land rover|international|rivian|scout|am general|freightliner|ineos|polaris|can am|mahindra)$/; 6388 var TRUCK_BY_MAKE = { 6389 "chevrolet": /^(silverado|colorado|s10|tahoe|suburban|blazer|trailblazer|trax|equinox|traverse|avalanche|express|astro|[ckrv]\d{1,4}|g\d{2}|luv|tracker|uplander|venture|captiva|ssr|luminaapv|sportvan|ck)/, 6390 "ford": /^(f\d{3}|fseries|ranger|bronco|explorer|expedition|excursion|escape|edge|flex|ecosport|transit|e\d{3}|econoline|sporttrac|aerostar|windstar|freestar|freestyle|superduty|lightning|mustangmache|mache)/, 6391 "toyota": /^(tacoma|tundra|4runner|landcruiser|sequoia|highlander|grandhighlander|rav4|fjcruiser|fj\d|sienna|t100|pickup|hilux|venza|chr|corollacross|bz4x|previa|crownsignia|vellfire|alphard|hiace|noah|voxy)/, 6392 "nissan": /^(frontier|titan|xterra|pathfinder|armada|murano|rogue|juke|kicks|quest|nv|hardbody|pickup|d21|ariya)/, 6393 "honda": /^(ridgeline|pilot|passport|crv|hrv|element|odyssey|prologue)/, 6394 "acura": /^(mdx|rdx|zdx|slx|adx)/, 6395 "dodge": /^(ram|dakota|durango|nitro|journey|caravan|grandcaravan|sprinter|powerwagon|ramcharger|b\d{3}|d\d{2,3}|w\d{2,3})/, 6396 "chrysler": /^(pacifica|townandcountry|voyager|grandvoyager|aspen)/, 6397 "plymouth": /^(voyager|grandvoyager|trailduster)/, 6398 "cadillac": /^(escalade|xt[4-6]|srx|lyriq|vistiq|optiq)/, 6399 "lincoln": /^(navigator|aviator|nautilus|mkx|mkc|mkt|corsair|blackwood|marklt)/, 6400 "buick": /^(enclave|encore|envision|rainier|rendezvous|envista|terraza)/, 6401 "mazda": /^(cx\d|tribute|b\d{4}|bseries|mpv|navajo|mazda5$|5$)/, 6402 "subaru": /^(forester|outback|ascent|crosstrek|xvcrosstrek|baja|tribeca|b9tribeca|solterra)/, 6403 "hyundai": /^(santafe|tucson|palisade|kona|venue|santacruz|veracruz|entourage|ioniq9)/, 6404 "kia": /^(sorento|sportage|telluride|seltos|carnival|sedona|borrego|mohave|ev9)/, 6405 "mitsubishi": /^(outlander|montero|pajero|endeavor|eclipsecross|mightymax|raider|triton|l200|delica|rvr)/, 6406 "volkswagen": /^(atlas|tiguan|touareg|id4|taos|routan|vanagon|eurovan|transporter|amarok|idbuzz|bus|type2)/, 6407 "bmw": /^(x\d|xm|ix)/, 6408 "mercedes benz": /^(g\d|gclass|gwagon|gwagen|gl[abcesk]?(\d|class|coupe|$)|ml|eqb|eqssuv|eqesuv|sprinter|metris|xclass)/, 6409 "audi": /^(q\d|sq\d|rsq\d|etron(?!gt))/, 6410 "porsche": /^(cayenne|macan)/, 6411 "lexus": /^(rx|gx|lx|nx|ux|tx)\d*[a-z]*$/, 6412 "infiniti": /^(qx|fx|ex|jx)\d*/, 6413 "volvo": /^(xc\d|ex\d)/, 6414 "tesla": /^((model)?[xy]|cybertruck)/, 6415 "genesis": /^gv\d/, 6416 "jaguar": /^(fpace|epace|ipace)/, 6417 "land rover": /./, 6418 "alfa romeo": /^(stelvio|tonale)/, 6419 "maserati": /^(levante|grecale)/, 6420 "lamborghini": /^urus/, 6421 "bentley": /^bentayga/, 6422 "rolls royce": /^cullinan/, 6423 "aston martin": /^dbx/, 6424 "ferrari": /^purosangue/, 6425 "lotus": /^eletre/, 6426 "lucid": /^gravity/, 6427 "suzuki": /^(samurai|sidekick|vitara|grandvitara|xl7|x90|equator|jimny|nomade)/, 6428 "saturn": /^(vue|outlook|relay)/, 6429 "pontiac": /^(aztek|torrent|montana|transsport)/, 6430 "oldsmobile": /^(bravada|silhouette)/, 6431 "mercury": /^(mountaineer|mariner|villager|monterey)/, 6432 }; 6433 function vehiclePref(year, make, model) { 6434 var mk = vnorm(make).replace(/^mercedes$/, "mercedes benz").replace(/^chevy$/, "chevrolet").replace(/^vw$/, "volkswagen"); 6435 var md = vnorm(model), mdc = md.replace(/ /g, ""); 6436 if (!mk && !md) return ""; 6437 if (TRUCK_MAKES.test(mk)) return "TRUCKS"; 6438 if (mk === "isuzu") return /^(impulse|stylus|imark|gemini)/.test(mdc) ? "CARS" : "TRUCKS"; 6439 if (mk === "ford" && /^maverick/.test(mdc)) return parseInt(year, 10) >= 2019 ? "TRUCKS" : "CARS"; 6440 var rx = TRUCK_BY_MAKE[mk]; 6441 if (rx && rx.test(mdc)) return "TRUCKS"; 6442 if (/\b(pickup|truck|van|ute|suv|4x4|1500|2500|3500|4500|5500)\b/.test(md)) return "TRUCKS"; 6443 return "CARS"; 6444 } 6445 // The car the shopper picked in the site's vehicle selector (Convermax), if any. 6446 function siteVehicle(){try{var X=window.Convermax,v;if(X&&typeof X.isVehicleSelected==='function'&&X.isVehicleSelected()&&typeof X.getVehicle==='function'){v=X.getVehicle()||{};return{year:clean(v.Year||v.year,8),make:clean(v.Make||v.make,60),model:clean(v.Model||v.model,80)}}}catch(_){}return null} 6447 // Ticked only: subscribe to Newsletter (Yh6y45) through Klaviyo's public 6448 // subscribe endpoint - same call and list as the site popup and quiz. 6449 // Consent is recorded by Klaviyo with source "website chat". Vehicle 6450 // Preferences (CARS/TRUCKS, else BOTH) routes them into the matching welcome 6451 // series; skipped if this browser already signed up via the popup or quiz 6452 // (changing it mid-series would stop that series part-way). 6453 function optIn(c){ 6454 try{ 6455 var v=siteVehicle(),props={tp_signup_source:'website chat'},vp='',prior='';
6456 try{prior=localStorage.getItem('tp_popup_submitted')||localStorage.getItem('tp_quiz_done_at')||''}catch(_){} 6457 if(v&&(v.make||v.model)){props.Year=v.year;props.Make=v.make;props.Model=v.model;vp=vehiclePref(v.year,v.make,v.model)} 6458 if(!prior){props['Vehicle Preferences']=vp||'BOTH';props.tp_vp_source='chat'} 6459 fetch('https://a.klaviyo.com/client/subscriptions/?company_id='+C.klCompany,{method:'POST',headers:{'Content-Type':'application/json',revision:C.klRevision},body:JSON.stringify({data:{type:'subscription',attributes:{custom_source:'website chat',profile:{data:{type:'profile',attributes:{email:c.email,properties:props}}}},relationships:{list:{data:{type:'list',id:C.klList}}}}})}).catch(function(){}); 6460 try{window._learnq=window._learnq||[];window._learnq.push(['identify',{$email:c.email}])}catch(_){} 6461 try{localStorage.setItem(C.optKey,String(Date.now()))}catch(_){} 6462 }catch(_){} 6463 } 6464 function post(payload,cb){var x=new XMLHttpRequest(),done=false,to=setTimeout(function(){if(done)return;done=true;try{x.abort()}catch(_){}cb(1)},C.timeout);x.open('POST',C.http,true);x.setRequestHeader('Content-Type','application/json');x.onreadystatechange=function(){var d;if(x.readyState!==4||done)return;done=true;clearTimeout(to);if(x.status<200||x.status>=300)return cb(1);try{d=JSON.parse(x.responseText)}catch(_){return cb(1)}cb(0,d)};x.onerror=function(){if(done)return;done=true;clearTimeout(to);cb(1)};x.send(JSON.stringify(payload))} 6465 function mount(){if(!document.body||document.getElementById(C.id))return;savePage();styles();var root=e('div',{id:C.id}),btn=e('button',{class:'tp-chat-launcher',type:'button','aria-label':'Open live chat'}),wheel=e('span',{class:'tp-wheel','aria-hidden':'true'}),copy=e('span',{class:'tp-chat-copy'},'Hey, need help?'),panel=e('div',{class:'tp-chat-panel',role:'dialog','aria-label':'ThreePiece live chat'}),head=e('div',{class:'tp-chat-head'}),close=e('button',{class:'tp-chat-close',type:'button','aria-label':'Close live chat'},'x'),lead=e('form',{class:'tp-chat-lead'}),leadQuestion=e('div',{class:'tp-chat-lead-question'},T.hello),leadText=e('p',{},'Drop your name, email, and phone first so we can follow up if this needs a stock or fitment check.'),err=e('div',{class:'tp-chat-error'},'Enter your name, a valid email, and phone number.'),name=e('input',{type:'text',placeholder:'Name',autocomplete:'name',required:'required'}),email=e('input',{type:'email',placeholder:'Email',autocomplete:'email',required:'required'}),phone=e('input',{type:'tel',placeholder:'Phone',autocomplete:'tel',required:'required'}),optWrap=e('label',{class:'tp-chat-optin'}),opt=e('input',{type:'checkbox',name:'tp_chat_optin'}),optLabel=e('span',{},C.optText),start=e('button',{class:'tp-chat-start',type:'submit'},'Start chat'),msgs=e('div',{class:'tp-chat-messages','aria-live':'polite'}),typeEl=e('div',{class:'tp-chat-typing','aria-live':'polite'},'Agent is typing...'),form=e('form',{class:'tp-chat-form'}),input=e('input',{class:'tp-chat-input',type:'text',maxlength:String(C.max),placeholder:'Ask about wheels or fitment',autocomplete:'off'}),send=e('button',{class:'tp-chat-send',type:'submit'},'Send'),visitor=vid(),sock=null,ready=false,typeAt=0; 6466 function linkify(n,x){var s=String(x||''),re=/(https?:\/\/[^\s<>()]+|www\.[^\s<>()]+)/g,last=0,m,url,a;while((m=re.exec(s))){if(m.index>last)n.appendChild(document.createTextNode(s.slice(last,m.index)));url=m[0].replace(/[.,;:!?]+$/,'');if(m[0].length>url.length)re.lastIndex-=m[0].length-url.length;a=e('a',{href:url.indexOf('http')===0?url:'https://'+url,target:'_blank',rel:'noopener noreferrer'},url);n.appendChild(a);last=re.lastIndex}if(last<s.length)n.appendChild(document.createTextNode(s.slice(last)))} 6467 function msg(k,x,keep){var n=e('div',{class:'tp-chat-msg tp-chat-msg-'+k});if(k==='agent')linkify(n,x);else n.textContent=x;add(msgs,n);msgs.scrollTop=msgs.scrollHeight;if(keep)remember(k,x)}
6468 function restore(){history().forEach(function(m){if(m&&m.role&&m.text)msg(m.role,m.text,0)})} 6469 function typing(v){if(v)typeAt=Date.now();msgs.appendChild(typeEl);typeEl.className='tp-chat-typing'+(v?' tp-show':'');msgs.scrollTop=msgs.scrollHeight} 6470 function agent(x){var w=Math.max(0,650-(Date.now()-typeAt));setTimeout(function(){typing(0);msg('agent',x,1)},w)} 6471 function lock(v){send.disabled=v;input.disabled=v} 6472 function payload(body){var p=context();p.type='message';p.content=body;p.visitor_id=visitor;return p} 6473 function sendContext(){var c=context();try{if(sock&&sock.readyState===1)sock.send(JSON.stringify(c))}catch(_){}} 6474 function connect(){if(!ready||!('WebSocket'in window))return;if(sock&&sock.readyState<=1)return;try{sock=new WebSocket(C.ws+'?visitor_id='+encodeURIComponent(visitor));sock.onopen=sendContext;sock.onmessage=function(ev){try{var d=JSON.parse(ev.data);if(d.type==='typing')typing(!!d.show);if(d.type==='message'&&d.content)agent(d.content)}catch(_){}};sock.onerror=function(){typing(0);try{sock.close()}catch(_){}}}catch(_){sock=null}} 6475 function begin(){ready=true;panel.className='tp-chat-panel tp-chat-ready';if(!msgs.querySelector('.tp-chat-msg'))msg('agent',T.hello,1);connect();setTimeout(function(){input.focus()},0)} 6476 restore(); 6477 function openChat(auto){root.className='tp-chat-open';savePage();var c=getContact();if(c.name&&c.email&&c.phone)begin();else setTimeout(function(){name.focus()},auto?80:0)} 6478 btn.onclick=function(){openChat(0)}; 6479 close.onclick=function(){try{sessionStorage.setItem(C.akey,location.href)}catch(_){}root.className='';btn.focus()}; 6480 window.addEventListener('pageshow',savePage); 6481 window.addEventListener('beforeunload',savePage); 6482 document.addEventListener('visibilitychange',function(){if(!document.hidden)savePage()}); 6483 document.addEventListener('keydown',function(ev){if(ev.key==='Escape'&&root.className==='tp-chat-open'){root.className='';btn.focus()}}); 6484 setTimeout(function(){var c=getContact(),seen;try{seen=sessionStorage.getItem(C.akey)}catch(_){seen=''}if(mobile()||seen===location.href||root.className==='tp-chat-open'||document.hidden)return;try{sessionStorage.setItem(C.akey,location.href)}catch(_){}openChat(1)},C.autoDelay); 6485 lead.onsubmit=function(ev){ev.preventDefault();var c={name:clean(name.value,120),email:clean(email.value,200).toLowerCase(),phone:clean(phone.value,80)};if(!validName(c.name)||!validEmail(c.email)||!validPhone(c.phone)){err.style.display='block';return}err.style.display='none';setContact(c);if(opt.checked)optIn(c);begin();sendContext()}; 6486 form.onsubmit=function(ev){ev.preventDefault();var body=clean(input.value,C.max);if(!body||send.disabled)return;input.value='';savePage();msg('user',body,1);typing(1);if(sock&&sock.readyState===1){sock.send(JSON.stringify(payload(body)));return}lock(true);post(payload(body),function(x,d){lock(false);input.focus();agent(x||!d||!d.content?T.busy:d.content)})}; 6487 add(btn,wheel);add(btn,copy);add(head,e('div',{},'ThreePiece Fitment Help'));add(head,close);add(lead,leadQuestion);add(lead,leadText);add(lead,err);add(lead,name);add(lead,email);add(lead,phone);add(optWrap,opt);add(optWrap,optLabel);add(lead,optWrap);add(lead,start);add(msgs,typeEl);add(panel,head);add(panel,lead);add(panel,msgs);add(form,input);add(form,send);add(panel,form);add(root,btn);add(root,panel);add(document.body,root) 6488 } 6489 if(document.readyState==='loading')document.addEventListener('DOMContentLoaded',mount);else mount(); 6490}()); 6491</script>
6491 6492 6493 6494
6494<script> 6495 var _katapult_config = { 6496 api_key: "15eff35d8a3eb15941166ff0883ba10236bdde45", 6497 environment: "https://www.katapult.com", 6498 }; 6499 6500 !(function (e, t) { 6501 e.katapult = e.katapult || {}; 6502 var n, i, r; 6503 (i = !1), 6504 (n = document.createElement("script")), 6505 (n.type = "text/javascript"), 6506 (n.async = !0), 6507 (n.src = t.environment + "/" + "plugin/js/katapult.js"), 6508 (n.onload = n.onreadystatechange = 6509 function () { 6510 i || 6511 (this.readyState && "complete" != this.readyState) || 6512 ((i = !0), e.katapult.setConfig(t.api_key)); 6513 }), 6514 (r = document.getElementsByTagName("script")[0]), 6515 r.parentNode.insertBefore(n, r); 6516 })(window, _katapult_config); 6517 6518 document.addEventListener('DOMContentLoaded', function() { 6519 var btn = document.querySelector('.banner-katapult-preapprove-light-728x90'); 6520 if (btn) { 6521 btn.addEventListener('click', function() { 6522 if (window.katapult) katapult.preapprove(); 6523 }); 6524 } 6525 }); 6526 </script>
6526 6527 <!-- NEW Google Tag Manager (noscript) -->
vendor: 77 bytes, lines 6527-6530
6527 6528<noscript 6529 ><iframe 6530 src="https://www.googletagmanager.com/ns.html?id=
6530GTM-PJLMLB8F
vendor: 104 bytes, lines 6530-6535
6530" 6531 height="0" 6532 width="0" 6533 style="display: none; visibility: hidden" 6534 ></iframe 6535></noscript>
6536<!-- End Google Tag Manager (noscript) --> 6537 6538
6538<script> 6539(function() { 6540 'use strict'; 6541 6542 window.dataLayer = window.dataLayer || []; 6543 var tracking = window.__tpTracking; 6544 6545 function getProductDataFromCard(article) { 6546 var entityId = article.getAttribute('data-entity-id') || ''; 6547 var name = article.getAttribute('data-name') || ''; 6548 var brand = article.getAttribute('data-product-brand') || ''; 6549 var category = article.getAttribute('data-product-category') || ''; 6550 var priceRaw = article.getAttribute('data-product-price') || ''; 6551 6552 if (!name) { 6553 var titleEl = article.querySelector('.card-title a, .listItem-title a'); 6554 name = titleEl ? titleEl.textContent.trim() : ''; 6555 } 6556 if (!brand) { 6557 var brandEl = article.querySelector('.brand-name, .listItem-brand'); 6558 brand = brandEl ? brandEl.textContent.trim() : ''; 6559 } 6560 6561 var price = parseFloat(String(priceRaw).replace(/[^0-9.]/g, '')) || 0; 6562 if (!price) { 6563 var priceEl = article.querySelector( 6564 '.price--withoutTax, .price--withTax' 6565 ); 6566 if (priceEl) { 6567 price = parseFloat(String(priceEl.textContent).replace(/[^0-9.]/g, '')) || 0; 6568 } 6569 } 6570 6571 if (!entityId) { 6572 var productLink = article.querySelector('a.card-figure__link, a.listItem-figure__link'); 6573 if (productLink) { 6574 entityId = productLink.getAttribute('href') || ''; 6575 } 6576 } 6577 6578 return { 6579 item_id: entityId, 6580 item_name: name, 6581 item_brand: brand, 6582 item_category: category, 6583 price: price 6584 }; 6585 } 6586 6587 function getItemListName() { 6588 var path = window.location.pathname; 6589 var params = new URLSearchParams(window.location.search); 6590 6591 if (path.indexOf('/search') !== -1 || params.get('search_query')) { 6592 var query = params.get('search_query') || ''; 6593 return 'search results' + (query ? ': ' + query : ''); 6594 } 6595 6596 var heading = document.querySelector('h1.page-heading, .page-heading'); 6597 var headingText = heading ? heading.textContent.trim() : ''; 6598 6599 if (path.indexOf('/brands/') !== -1 || document.querySelector('.brand-products')) { 6600 return 'brand: ' + headingText; 6601 } 6602 6603 if (headingText) { 6604 return 'category: ' + headingText; 6605 } 6606 6607 return 'product listing'; 6608 } 6609 6610 document.addEventListener('click', function(e) { 6611 var link = e.target.closest( 6612 'a.card-figure__link, .card-title a, a.listItem-figure__link, .listItem-title a' 6613 ); 6614 if (!link) return; 6615 6616 var article = link.closest('article.card, article.listItem'); 6617 if (!article) return; 6618 6619 var productData = getProductDataFromCard(article); 6620 if (!productData.item_name) return; 6621 6622 var listName = getItemListName(); 6623 var payload = { 6624 ecommerce: { 6625 items: [{ 6626 item_id: productData.item_id, 6627 item_name: productData.item_name, 6628 item_brand: productData.item_brand, 6629 item_category: productData.item_category, 6630 price: productData.price, 6631 item_list_name: listName 6632 }] 6633 }, 6634 event_meta: { 6635 source: 'theme:select-item' 6636 } 6637 }; 6638 6639 if (tracking && typeof tracking.pushEvent === 'function') { 6640 tracking.pushEvent('select_item', payload); 6641 } else { 6642 window.dataLayer.push({ ecommerce: null }); 6643 window.dataLayer.push({ 6644 event: 'select_item', 6645 ecommerce: payload.ecommerce 6646 }); 6647 } 6648 }, true); 6649 6650 document.addEventListener('click', function(e) { 6651 var link = e.target.closest('a[href*="/cart.php"]'); 6652 if (!link) return; 6653 6654 var article = link.closest('article.card, article.listItem'); 6655 if (!article) return; 6656 6657 var productData = getProductDataFromCard(article); 6658 if (!productData.item_name) return; 6659 6660 e.preventDefault(); 6661 var href = link.href; 6662 6663 var payload = { 6664 ecommerce: { 6665 currency: 'USD', 6666 items: [{ 6667 item_id: productData.item_id, 6668 item_name: productData.item_name, 6669 item_brand: productData.item_brand, 6670 item_category: productData.item_category, 6671 price: productData.price, 6672 quantity: 1 6673 }] 6674 }, 6675 event_meta: { 6676 source: 'theme:quick-add-link' 6677 } 6678 }; 6679 6680 if (tracking && typeof tracking.pushEvent === 'function') { 6681 tracking.pushEvent('add_to_cart', payload); 6682 } else { 6683 window.dataLayer.push({ ecommerce: null }); 6684 window.dataLayer.push({ 6685 event: 'add_to_cart', 6686 ecommerce: payload.ecommerce 6687 }); 6688 } 6689 6690 setTimeout(function() { window.location.href = href; }, 500); 6691 }, true); 6692 6693 document.addEventListener('click', function(e) { 6694 var btn = e.target.closest('button, [type="submit"], [class*="cm_button"]'); 6695 if (!btn) return; 6696 6697 var widget = btn.closest( 6698 '[class*="cm_VehicleWidget"], [class*="cm_vehicleWidget"], ' + 6699 '[class*="cm_garage"], [class*="cm_Vehicle"]' 6700 ); 6701 if (!widget) return; 6702 6703 var year = '', make = '', model = ''; 6704 6705 var selects = widget.querySelectorAll('select');
6706 selects.forEach(function(sel) { 6707 var cls = (sel.className || '').toLowerCase(); 6708 var ariaLabel = (sel.getAttribute('aria-label') || '').toLowerCase(); 6709 var identifier = cls + ' ' + ariaLabel; 6710 var val = (sel.options[sel.selectedIndex] || {}).text || ''; 6711 val = val.trim(); 6712 6713 if (!val || /^(select|year|make|model|-|â)$/i.test(val)) return; 6714 6715 if (identifier.indexOf('year') !== -1) year = val; 6716 else if (identifier.indexOf('make') !== -1) make = val; 6717 else if (identifier.indexOf('model') !== -1) model = val; 6718 }); 6719 6720 if (!year || !make || !model) { 6721 var dropdowns = widget.querySelectorAll('[class*="cm_select"], [class*="cm_dropdown"]'); 6722 dropdowns.forEach(function(dd) { 6723 var cls = (dd.className || '').toLowerCase(); 6724 var selectedEl = dd.querySelector( 6725 '.cm_selected, [class*="selected"], [class*="value"]' 6726 ); 6727 var val = selectedEl ? selectedEl.textContent.trim() : ''; 6728 if (!val || /^(select|year|make|model|-|â)$/i.test(val)) return; 6729 6730 if (cls.indexOf('year') !== -1 && !year) year = val; 6731 else if (cls.indexOf('make') !== -1 && !make) make = val; 6732 else if (cls.indexOf('model') !== -1 && !model) model = val; 6733 }); 6734 } 6735 6736 if (year && make && model) { 6737 if (tracking && typeof tracking.pushEvent === 'function') { 6738 tracking.pushEvent('fitment_check', { 6739 event_meta: { 6740 source: 'theme:fitment-check' 6741 }, 6742 extra: { 6743 fitment_year: year, 6744 fitment_make: make, 6745 fitment_model: model 6746 } 6747 }); 6748 } else { 6749 window.dataLayer.push({ 6750 event: 'fitment_check', 6751 fitment_year: year, 6752 fitment_make: make, 6753 fitment_model: model 6754 }); 6755 } 6756 } 6757 }, true); 6758})(); 6759</script>
6759 6760
6760<script> 6761(function() { 6762 'use strict'; 6763 6764 function loadEmailPopup() { 6765 var css = '' 6766 + '.open-button {' 6767 + ' background-color: #4C8FFE; color: white; padding: 15px;' 6768 + ' border: none; cursor: pointer; position: fixed;' 6769 + ' bottom: 23px; right: 28px; border-radius: 100%;' 6770 + ' transition: ease-in-out 0.18s; z-index: 99999;' 6771 + '}' 6772 + '.open-button:hover { transform: scale(1.1); }' 6773 + '.email-popup__threepieceus {' 6774 + ' display: none; position: fixed; bottom: 10px; right: 15px; z-index: 100000;' 6775 + '}' 6776 + '@media screen and (max-width:551px) {' 6777 + ' .email-popup__threepieceus { left: 0; right: 0; bottom: 0; }' 6778 + '}' 6779 + '.form-container {' 6780 + ' max-width: 350px; padding: 30px; background-color: white;' 6781 + ' border-radius: 10px;' 6782 + ' box-shadow: rgba(0,0,0,0.25) 0px 54px 55px, rgba(0,0,0,0.12) 0px -12px 30px,' 6783 + ' rgba(0,0,0,0.12) 0px 4px 6px, rgba(0,0,0,0.17) 0px 12px 13px,' 6784 + ' rgba(0,0,0,0.09) 0px -3px 5px;' 6785 + '}' 6786 + '.form-container h2 { font-size: 26px; margin-top: 0; margin-bottom: 30px; }' 6787 + '@media screen and (max-width:551px) {' 6788 + ' .form-container { max-width: none; height: 75vh; }' 6789 + '}' 6790 + '.form-container input, .form-container select, .form-container textarea {' 6791 + ' width: 100%; padding: 15px; margin: 5px 0 22px 0; border: none; background: #f1f1f1;' 6792 + '}' 6793 + '.form-container textarea { max-width: 100%; max-height: 80px; }' 6794 + '.form-container input:focus, .form-container select:focus, .form-container textarea:focus {' 6795 + ' background-color: #ddd; outline: 2px solid #4C8FFE; outline-offset: 1px;' 6796 + '}' 6797 + '.form-container .btn {' 6798 + ' background-color: #4C8FFE; color: white; padding: 16px 20px;' 6799 + ' border: none; cursor: pointer; width: 100%; margin-bottom: 10px;' 6800 + '}' 6801 + '.form-container .cancel { background-color: red; }'; 6802 6803 var style = document.createElement('style'); 6804 style.textContent = css; 6805 document.head.appendChild(style); 6806 6807 var html = '' 6808 + '<button class="open-button" id="emailPopupOpen" aria-label="Open contact form">' 6809 + ' <img src="https://cdn11.bigcommerce.com/s-8zxb6tk/stencil/216f56b0-a0c6-013f-37ac-06627e5707c7/e/fa349870-8a84-013f-3c49-5e8f456a1dbe/icons/speech-bubble.png" height="35" width="35" alt="" aria-hidden="true" />' 6810 + '</button>' 6811 + '<div class="email-popup__threepieceus" id="myForm" role="dialog" aria-modal="true" aria-label="Contact form">' 6812 + ' <form class="form-container" action="https://formsubmit.co/[email protected]" method="POST">' 6813 + ' <div style="text-align: end;">' 6814 + ' <button type="button" style="background:none;border:none;cursor:pointer;padding:0;" id="emailPopupClose" aria-label="Close contact form">' 6815 + ' <img src="https://cdn11.bigcommerce.com/s-8zxb6tk/stencil/216f56b0-a0c6-013f-37ac-06627e5707c7/e/fa349870-8a84-013f-3c49-5e8f456a1dbe/icons/close.svg" width="30" height="30" alt="" aria-hidden="true" />' 6816 + ' </button>' 6817 + ' </div>' 6818 + ' <h2>Contact Us</h2>' 6819 + ' <label for="popup-fullname"><b>Full Name</b></label>' 6820 + ' <input type="text" placeholder="Enter Full Name" name="fullname" id="popup-fullname" required autocomplete="name">' 6821 + ' <label for="popup-email"><b>Email</b></label>' 6822 + ' <input type="email" placeholder="Enter Email" name="email" id="popup-email" required autocomplete="email">' 6823 + ' <label for="popup-inquiry-type"><b>Inquiry Type</b></label>' 6824 + ' <select name="inquiry-type" id="popup-inquiry-type" required>' 6825 + ' <option value="Place an order">Place an order</option>' 6826 + ' <option value="Fitment help">Fitment help</option>' 6827 + ' <option value="Issues with an order">Issues with an order</option>' 6828 + ' <option value="returns/exchanges">Returns/Exchanges</option>' 6829 + ' </select>' 6830 + ' <div style="margin-bottom: 10px">' 6831 + ' <label for="popup-inquiry-text"><b>Message</b></label><br>' 6832 + ' <textarea name="inquiry-text" id="popup-inquiry-text" required></textarea>'
6833 + ' </div>' 6834 + ' <button type="submit" class="btn">Submit</button>' 6835 + ' </form>' 6836 + '</div>'; 6837 6838 var frag = document.createElement('div'); 6839 frag.innerHTML = html; 6840 while (frag.firstChild) { 6841 document.body.appendChild(frag.firstChild); 6842 } 6843 6844 document.getElementById('emailPopupOpen').addEventListener('click', function() { 6845 document.getElementById('myForm').style.display = 'block'; 6846 }); 6847 document.getElementById('emailPopupClose').addEventListener('click', function() { 6848 document.getElementById('myForm').style.display = 'none'; 6849 }); 6850 6851 // Expose global openForm/closeForm for product-contact-box and any other callers 6852 window.openForm = function() { 6853 var form = document.getElementById('myForm'); 6854 if (form) form.style.display = 'block'; 6855 }; 6856 window.closeForm = function() { 6857 var form = document.getElementById('myForm'); 6858 if (form) form.style.display = 'none'; 6859 }; 6860 } 6861 6862 // Load after the page is fully rendered â this widget is never needed immediately 6863 if (document.readyState === 'complete') { 6864 setTimeout(loadEmailPopup, 0); 6865 } else { 6866 window.addEventListener('load', function() { 6867 setTimeout(loadEmailPopup, 2000); 6868 }); 6869 } 6870 6871})(); 6872</script>
6872 6873 6874 <!-- ThreePiece.us attribution visit tracking -->
6875<script> 6876(function () { 6877 'use strict'; 6878 6879 try { 6880 if (window.__TP_ATTRIBUTION_BRIDGE__ === 'bc-script') return; 6881 6882 var tracking = window.__tpTracking; 6883 6884 if (navigator.doNotTrack === '1' || window.doNotTrack === '1') return; 6885 if (!tracking || typeof tracking.postJSON !== 'function') return; 6886 6887 var sessionKey = 'tp_pages_this_session'; 6888 var pageCount = 1; 6889 var maxScroll = 0; 6890 var identifiedUser = null; 6891 6892 try { 6893 pageCount = parseInt(window.sessionStorage.getItem(sessionKey) || '0', 10) + 1; 6894 window.sessionStorage.setItem(sessionKey, String(pageCount)); 6895 } catch (err) { 6896 pageCount = 1; 6897 } 6898 6899 function updateScroll() { 6900 var scrollTop = window.pageYOffset || document.documentElement.scrollTop; 6901 var docHeight = Math.max( 6902 document.body.scrollHeight, 6903 document.documentElement.scrollHeight 6904 ) - window.innerHeight; 6905 6906 if (docHeight <= 0) return; 6907 6908 var percent = Math.round((scrollTop / docHeight) * 100); 6909 if (percent > maxScroll) maxScroll = percent; 6910 } 6911 6912 if (window.dataLayer) { 6913 for (var i = window.dataLayer.length - 1; i >= 0; i--) { 6914 var entry = window.dataLayer[i]; 6915 if (entry && entry.user_data && (entry.user_data.email || entry.user_data.external_id)) { 6916 identifiedUser = entry.user_data; 6917 break; 6918 } 6919 } 6920 } 6921 6922 function trackVisit() { 6923 var snapshot = tracking.getAttributionSnapshot(); 6924 6925 tracking.postJSON('/v1/visits', { 6926 event_meta: tracking.buildEventMeta('page_visit', { 6927 source: 'theme:visitor-id-script' 6928 }), 6929 page: { 6930 location: snapshot.page_location, 6931 path: snapshot.page_path, 6932 referrer: snapshot.referrer, 6933 page_type: snapshot.page_type 6934 }, 6935 attribution: snapshot, 6936 visit_metrics: { 6937 pages_this_session: pageCount, 6938 scroll_depth: maxScroll, 6939 screen_resolution: screen.width + 'x' + screen.height, 6940 timezone: Intl.DateTimeFormat().resolvedOptions().timeZone, 6941 user_agent: navigator.userAgent 6942 }, 6943 user_data: identifiedUser 6944 }); 6945 } 6946 6947 window.addEventListener('scroll', updateScroll, { passive: true }); 6948 6949 if (document.readyState === 'complete') { 6950 setTimeout(trackVisit, 1500); 6951 } else { 6952 window.addEventListener('load', function () { 6953 setTimeout(trackVisit, 1500); 6954 }); 6955 } 6956 } catch (err) { 6957 if (window.console && typeof window.console.warn === 'function') { 6958 window.console.warn('ThreePiece visit tracking disabled.', err); 6959 } 6960 } 6961})(); 6962</script>
6962 6963 6964
6964<script async src="https://static.klaviyo.com/onsite/js/klaviyo.js?company_id=WcaDix"></script>
6964 6965
6965<script>window.__CF$cv$params={r:'a45154b85ed32c32',t:'MTc5MTA4Njk2NA==',u:'01a1051a3d7573948677fd0ec5ee2d63',ut:'loly0_SUIQ_xCnKD3cpx_6.pSMZBaZBPKZbZa.nkFq4-1791086968-1.2.1.1-uhhd62OEYRZLUNSvuzsy34MVH2FTWaI5nFlvam7VsyXCAWq8iwwRZEZllKFLSr1d4Yt4LIOQ0dvxr.oI2zdUolINZDD9Y7x8IR8sZh6arSE',i:60};(function(){if(!document.body)return;var s=document.createElement('script');s.src='/cdn-cgi/challenge-platform/scripts/precursor/main.js';document.head.appendChild(s);})();</script>
6965</body> 6966</html> 6967 6968 6969<!--
6969<script> 6970 const productQuery = `query { 6971 site { 6972 search { 6973 searchProducts( 6974 filters: { 6975 productAttributes: [ 6976 { 6977 attribute: "DIAMETER", 6978 values: ["18"] 6979 }, 6980 { 6981 attribute: "WIDTH", 6982 values: ["14"] 6983 }, 6984 { 6985 attribute: "OFFSET", 6986 values: ["-18"] 6987 }, 6988 ] 6989 } 6990 ) { 6991 products(first: 50) { 6992 edges { 6993 node { 6994 sku 6995 entityId 6996 name 6997 prices { 6998 price { 6999 value 7000 } 7001 } 7002 } 7003 } 7004 } 7005 } 7006 } 7007 } 7008}`; 7009 7010 fetch("/graphql", { 7011 method: "POST", 7012 credentials: "same-origin", 7013 headers: { 7014 "Content-Type": "application/json", 7015 Authorization: "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJFUzI1NiJ9.eyJjaWQiOlsxXSwiY29ycyI6WyJodHRwczovL3d3dy50aHJlZXBpZWNlLnVzIl0sImVhdCI6MTc5MTIwNjU5MCwiaWF0IjoxNzkxMDMzNzkwLCJpc3MiOiJCQyIsInNpZCI6ODQ2MzU0LCJzdWIiOiJCQyIsInN1Yl90eXBlIjowLCJ0b2tlbl90eXBlIjoxfQ.1TXnt4GNK2qClvLu4PgoGOlKJjn3H-E9CFOeMQTuL1VhnsZShRRMw1tOggfwTphTYSC54bgD9-3xIodSY1WhYw", 7016 }, 7017 body: JSON.stringify({ 7018 query: productQuery, 7019 }), 7020 }) 7021 .then((res) => res.json()) 7022 .then((data) => 7023 console.log(data.data.site.search.searchProducts.products.edges) 7024 ) 7025 .catch((error) => console.error(error)); 7026</script>
7026 -->
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.