1<!doctype html> 2<html 3 class="no-js" 4 lang="en" 5> 6 <head><link 7 rel="icon" 8 type="image/png" 9 href="//the3dprintzone.com/cdn/shop/files/Website_Favicon_Browser_Tab_Logo.png?crop=center&height=32&v=1768785431&width=32" 10 ><meta charset="utf-8"> 11<meta 12 http-equiv="X-UA-Compatible" 13 content="IE=edge" 14> 15<meta 16 name="viewport" 17 content="width=device-width,initial-scale=1" 18> 19<meta 20 name="view-transition" 21 content="same-origin" 22> 23<meta 24 name="theme-color" 25 content="" 26> 27 28 <meta 29 name="description" 30 content="Build your dream Strat-style 3D-printed guitar with modular core and body kits. Pick from multiple shapes and patterns to create your unique guitar!" 31 > 32 33<style type="text/css">@import url("data:text/css;base64,I2Z2LWxvYWRpbmctaWNvbiB7CiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlOwogICAgcG9zaXRpb246IGFic29sdXRlOwogICAgZGlzcGxheTogZmxleAo7CiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICBmb250LWZhbWlseTogc3lzdGVtLXVpLCBzYW5zLXNlcmlmOwogICAgZm9udC1zaXplOiAxOTB2dzsKICAgIGxpbmUtaGVpZ2h0OiAxOwogICAgd29yZC13cmFwOiBicmVhay13b3JkOwogICAgdG9wOiAwOwogICAgbGVmdDogMDsKICAgIG1hcmdpbjogMDsKICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsKICAgIGZpbHRlcjogbm9uZTsKICAgIHRyYW5zaXRpb246IGFsbCAwczsKICAgIHRyYW5zZm9ybTogbm9uZTsKICAgIHdpZHRoOiA5OXZ3OwogICAgaGVpZ2h0OiA5OXZoOwogICAgbWF4LXdpZHRoOiA5OXZ3OwogICAgbWF4LWhlaWdodDogOTl2aDsKICAgIHBvaW50ZXItZXZlbnRzOiBub25lOwogICAgei1pbmRleDogLTk5OwogICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgIG9wYWNpdHk6IDAuMDAwMTsKfQ==");</style><div data-custom="value" aria-label="Description" data-id="main-Page-23" id="fv-loading-icon" class="mainBodyContainer" data-optimizer="layout" aria-hidden="true">Γ</div> 34 35<meta 36 property="og:site_name" 37 content="The 3D Print Zone" 38> 39<meta 40 property="og:url" 41 content="https://the3dprintzone.com/products/strat-style-kit" 42> 43<meta 44 property="og:title" 45 content="Strat-Style Kit" 46> 47<meta 48 property="og:type" 49 content="product" 50> 51<meta 52 property="og:description" 53 content="Build your dream Strat-style 3D-printed guitar with modular core and body kits. Pick from multiple shapes and patterns to create your unique guitar!" 54>
55<script type="text/javascript">const observer=new MutationObserver(e=>{e.forEach(({addedNodes:e})=>{e.forEach(e=>{1===e.nodeType&&"SCRIPT"===e.tagName&&!e.classList.contains("analytics")&&(e.innerHTML.includes("asyncLoad")&&(e.innerHTML=e.innerHTML.replace("if(window.attachEvent)","document.addEventListener('asyncLazyLoad',function(event){asyncLoad();});if(window.attachEvent)").replaceAll(", asyncLoad",", function(){}")),e.innerHTML.includes("PreviewBarInjector")&&(e.innerHTML=e.innerHTML.replace("DOMContentLoaded","asyncLazyLoad")),(e.src.includes("assets/storefront/features")||e.src.includes("assets/shopify_pay")||e.src.includes("connect.facebook.net"))&&(e.setAttribute("data-src",e.src),e.removeAttribute("src")))})})});observer.observe(document.documentElement,{childList:!0,subtree:!0});</script>
55 56 57<meta 58 property="og:image" 59 content="http://the3dprintzone.com/cdn/shop/files/KIT_STRAT_SOLID_BODYSTRAT-Edit.jpg?v=1764625472" 60 > 61 <meta 62 property="og:image:secure_url" 63 content="https://the3dprintzone.com/cdn/shop/files/KIT_STRAT_SOLID_BODYSTRAT-Edit.jpg?v=1764625472" 64 > 65 <meta 66 property="og:image:width" 67 content="1920" 68 > 69 <meta 70 property="og:image:height" 71 content="1080" 72 ><link rel="preload" href="https://loadspark.myshopify.com/cdn/shop/t/1/assets/network-1.0.0.js" as="script">
72<script src="https://loadspark.myshopify.com/cdn/shop/t/1/assets/network-1.0.0.js"></script>
72 73 74<meta 75 property="og:price:amount" 76 content="59.00" 77 > 78 <meta 79 property="og:price:currency" 80 content="USD" 81 ><meta 82 name="twitter:card" 83 content="summary_large_image" 84> 85<meta 86 name="twitter:title" 87 content="Strat-Style Kit" 88> 89<meta 90 name="twitter:description" 91 content="Build your dream Strat-style 3D-printed guitar with modular core and body kits. Pick from multiple shapes and patterns to create your unique guitar!" 92> 93 94<title> 95 Strat-Style Kit 96 – The 3D Print Zone</title> 97 98<link 99 rel="canonical" 100 href="https://the3dprintzone.com/products/strat-style-kit" 101> 102 103<link rel="preload" href="https://cdn.shopify.com/extensions/019be4dc-f813-7c80-88d5-421021471d3c/advanced-product-options-177/assets/mws_apo_bundle.css" as="style"> 104 <link rel="preload" href="https://cdn.shopify.com/extensions/019bdeb5-0f88-74c2-bca8-b9ed42b1e34f/lookfy-lookbook-gallery-766/assets/lookfy.css" as="style"> 105 <link rel="preload" href="https://cdn.shopify.com/extensions/019beb2a-7cf9-7238-9765-11a892117c03/judgeme-extensions-316/assets/carousels.css" as="style"> 106 <link rel="preload" as="style" media="screen" href="https://the3dprintzone.com/cdn/shopifycloud/portable-wallets/latest/accelerated-checkout-backwards-compat.css" crossorigin="anonymous"> 107 108 109 <link 110 rel="expect" 111 href="#MainContent" 112 blocking="render" 113 id="view-transition-render-blocker" 114 ><link href="//the3dprintzone.com/cdn/shop/t/6/assets/overflow-list.css?v=168694168152117541881772242764" as="style" rel="preload"> 115<link href="//the3dprintzone.com/cdn/shop/t/6/assets/base.css?v=127826612350743658651784672631" rel="stylesheet" type="text/css" media="all" /> 116 117<link 118 rel="preload" 119 as="font" 120 href="//the3dprintzone.com/cdn/fonts/inter/inter_n4.b2a3f24c19b4de56e8871f609e73ca7f6d2e2bb9.woff2" 121 type="font/woff2" 122 crossorigin 123 fetchpriority="low" 124 ><link 125 rel="preload" 126 as="font" 127 href="//the3dprintzone.com/cdn/fonts/inter/inter_n5.d7101d5e168594dd06f56f290dd759fba5431d97.woff2" 128 type="font/woff2" 129 crossorigin 130 fetchpriority="low" 131 ><link 132 rel="preload" 133 as="font" 134 href="//the3dprintzone.com/cdn/fonts/inter/inter_n7.02711e6b374660cfc7915d1afc1c204e633421e4.woff2" 135 type="font/woff2" 136 crossorigin 137 fetchpriority="low" 138 ><link 139 rel="preload" 140 as="font" 141 href="//the3dprintzone.com/cdn/fonts/inter/inter_n7.02711e6b374660cfc7915d1afc1c204e633421e4.woff2" 142 type="font/woff2" 143 crossorigin 144 fetchpriority="low" 145 >
146<script async crossorigin fetchpriority="high" src="/cdn/shopifycloud/importmap-polyfill/es-modules-shim.2.4.0.js"></script>
vendor: 1 bytes, line 146
146
147<script type="importmap"> 148 { 149 "imports": { 150 "@theme/critical": "//the3dprintzone.com/cdn/shop/t/6/assets/critical.js?v=169402557219780209121772242764", 151 "@theme/product-title": "//the3dprintzone.com/cdn/shop/t/6/assets/product-title-truncation.js?v=81744426891537421781772242764", 152 "@theme/component": "//the3dprintzone.com/cdn/shop/t/6/assets/component.js?v=74239122572524296041772242764", 153 "@theme/dialog": "//the3dprintzone.com/cdn/shop/t/6/assets/dialog.js?v=122984339961420548111772242764", 154 "@theme/events": "//the3dprintzone.com/cdn/shop/t/6/assets/events.js?v=59172389608566392641772242764", 155 "@theme/focus": "//the3dprintzone.com/cdn/shop/t/6/assets/focus.js?v=60436577539430446401772242764", 156 "@theme/morph": "//the3dprintzone.com/cdn/shop/t/6/assets/morph.js?v=92630016404903954311772242764", 157 "@theme/paginated-list": "//the3dprintzone.com/cdn/shop/t/6/assets/paginated-list.js?v=95298315036233333871772242764", 158 "@theme/performance": "//the3dprintzone.com/cdn/shop/t/6/assets/performance.js?v=171015751390534793081772242764", 159 "@theme/product-form": "//the3dprintzone.com/cdn/shop/t/6/assets/product-form.js?v=83283661069322333421772242764", 160 "@theme/recently-viewed-products": "//the3dprintzone.com/cdn/shop/t/6/assets/recently-viewed-products.js?v=94729125001750262651772242764", 161 "@theme/scrolling": "//the3dprintzone.com/cdn/shop/t/6/assets/scrolling.js?v=10957690925586738441772242764", 162 "@theme/section-renderer": "//the3dprintzone.com/cdn/shop/t/6/assets/section-renderer.js?v=117273408521114569061772242764", 163 "@theme/section-hydration": "//the3dprintzone.com/cdn/shop/t/6/assets/section-hydration.js?v=177651605160027701221772242764", 164 "@theme/utilities": "//the3dprintzone.com/cdn/shop/t/6/assets/utilities.js?v=171919950116664653001772242764", 165 "@theme/variant-picker": "//the3dprintzone.com/cdn/shop/t/6/assets/variant-picker.js?v=95439354777694360091772242764", 166 "@theme/media-gallery": "//the3dprintzone.com/cdn/shop/t/6/assets/media-gallery.js?v=111441960308641931071772242764", 167 "@theme/quick-add": "//the3dprintzone.com/cdn/shop/t/6/assets/quick-add.js?v=102040698639320169661772242764", 168 "@theme/paginated-list-aspect-ratio": "//the3dprintzone.com/cdn/shop/t/6/assets/paginated-list-aspect-ratio.js?v=25254270272143792451772242764", 169 "@theme/popover-polyfill": "//the3dprintzone.com/cdn/shop/t/6/assets/popover-polyfill.js?v=119029313658895111201772242764", 170 "@theme/component-quantity-selector": "//the3dprintzone.com/cdn/shop/t/6/assets/component-quantity-selector.js?v=7782950339315554041772242764" 171 } 172 } 173</script>
173 174 175 176 177<link 178 rel="modulepreload" 179 href="//the3dprintzone.com/cdn/shop/t/6/assets/critical.js?v=169402557219780209121772242764" 180> 181 182<link 183 rel="modulepreload" 184 href="//the3dprintzone.com/cdn/shop/t/6/assets/utilities.js?v=171919950116664653001772242764" 185 fetchpriority="low" 186> 187<link 188 rel="modulepreload" 189 href="//the3dprintzone.com/cdn/shop/t/6/assets/component.js?v=74239122572524296041772242764" 190 fetchpriority="low" 191> 192<link 193 rel="modulepreload" 194 href="//the3dprintzone.com/cdn/shop/t/6/assets/section-renderer.js?v=117273408521114569061772242764" 195 fetchpriority="low" 196> 197<link 198 rel="modulepreload" 199 href="//the3dprintzone.com/cdn/shop/t/6/assets/section-hydration.js?v=177651605160027701221772242764" 200 fetchpriority="low" 201> 202<link 203 rel="modulepreload" 204 href="//the3dprintzone.com/cdn/shop/t/6/assets/morph.js?v=92630016404903954311772242764" 205 fetchpriority="low" 206> 207 208 209 210<link 211 rel="modulepreload" 212 href="//the3dprintzone.com/cdn/shop/t/6/assets/focus.js?v=60436577539430446401772242764" 213 fetchpriority="low" 214> 215<link 216 rel="modulepreload" 217 href="//the3dprintzone.com/cdn/shop/t/6/assets/recently-viewed-products.js?v=94729125001750262651772242764" 218 fetchpriority="low" 219> 220<link 221 rel="modulepreload" 222 href="//the3dprintzone.com/cdn/shop/t/6/assets/scrolling.js?v=10957690925586738441772242764" 223 fetchpriority="low" 224> 225<link 226 rel="modulepreload" 227 href="//the3dprintzone.com/cdn/shop/t/6/assets/events.js?v=59172389608566392641772242764" 228 fetchpriority="low" 229>
230<script 231 src="//the3dprintzone.com/cdn/shop/t/6/assets/popover-polyfill.js?v=119029313658895111201772242764" 232 type="module" 233 fetchpriority="low" 234></script>
vendor: 1 bytes, line 234
234
235<script 236 src="//the3dprintzone.com/cdn/shop/t/6/assets/quick-add.js?v=102040698639320169661772242764" 237 type="module" 238 fetchpriority="low" 239></script>
239 240 241
241<script 242 src="//the3dprintzone.com/cdn/shop/t/6/assets/cart-discount.js?v=107077853990124422021772242764" 243 type="module" 244 fetchpriority="low" 245 ></script>
245 246
247<script 248 src="//the3dprintzone.com/cdn/shop/t/6/assets/dialog.js?v=122984339961420548111772242764" 249 type="module" 250 fetchpriority="low" 251></script>
vendor: 1 bytes, line 251
251
252<script 253 src="//the3dprintzone.com/cdn/shop/t/6/assets/variant-picker.js?v=95439354777694360091772242764" 254 type="module" 255 fetchpriority="low" 256></script>
vendor: 1 bytes, line 256
256
257<script 258 src="//the3dprintzone.com/cdn/shop/t/6/assets/product-card.js?v=84089801565227384841772242764" 259 type="module" 260 fetchpriority="low" 261></script>
vendor: 1 bytes, line 261
261
262<script 263 src="//the3dprintzone.com/cdn/shop/t/6/assets/product-form.js?v=83283661069322333421772242764" 264 type="module" 265 fetchpriority="low" 266></script>
vendor: 1 bytes, line 266
266
267<script 268 src="//the3dprintzone.com/cdn/shop/t/6/assets/accordion-custom.js?v=99000499017714805851772242764" 269 type="module" 270 fetchpriority="low" 271></script>
vendor: 1 bytes, line 271
271
272<script 273 src="//the3dprintzone.com/cdn/shop/t/6/assets/disclosure-custom.js?v=168050880623268140331772242764" 274 type="module" 275 fetchpriority="low" 276></script>
vendor: 1 bytes, line 276
276
277<script 278 src="//the3dprintzone.com/cdn/shop/t/6/assets/media.js?v=37825095869491791421772242764" 279 type="module" 280 fetchpriority="low" 281></script>
vendor: 1 bytes, line 281
281
282<script 283 src="//the3dprintzone.com/cdn/shop/t/6/assets/product-price.js?v=30079423257668675401772242764" 284 type="module" 285 fetchpriority="low" 286></script>
vendor: 1 bytes, line 286
286
287<script 288 src="//the3dprintzone.com/cdn/shop/t/6/assets/product-title-truncation.js?v=81744426891537421781772242764" 289 type="module" 290 fetchpriority="low" 291></script>
vendor: 1 bytes, line 291
291
292<script 293 src="//the3dprintzone.com/cdn/shop/t/6/assets/product-inventory.js?v=16343734458933704981772242764" 294 type="module" 295 fetchpriority="low" 296></script>
vendor: 1 bytes, line 296
296
297<script 298 src="//the3dprintzone.com/cdn/shop/t/6/assets/show-more.js?v=94563802205717136101772242764" 299 type="module" 300 fetchpriority="low" 301></script>
vendor: 1 bytes, line 301
301
302<script 303 src="//the3dprintzone.com/cdn/shop/t/6/assets/slideshow.js?v=154015486816472108841772242764" 304 type="module" 305 fetchpriority="low" 306></script>
vendor: 1 bytes, line 306
306
307<script 308 src="//the3dprintzone.com/cdn/shop/t/6/assets/anchored-popover.js?v=95953304814728754461772242764" 309 type="module" 310 fetchpriority="low" 311></script>
vendor: 1 bytes, line 311
311
312<script 313 src="//the3dprintzone.com/cdn/shop/t/6/assets/floating-panel.js?v=128677600744947036551772242764" 314 type="module" 315 fetchpriority="low" 316></script>
vendor: 1 bytes, line 316
316
317<script 318 src="//the3dprintzone.com/cdn/shop/t/6/assets/video-background.js?v=25237992823806706551772242764" 319 type="module" 320 fetchpriority="low" 321></script>
vendor: 1 bytes, line 321
321
322<script 323 src="//the3dprintzone.com/cdn/shop/t/6/assets/component-quantity-selector.js?v=7782950339315554041772242764" 324 type="module" 325 fetchpriority="low" 326></script>
vendor: 1 bytes, line 326
326
327<script 328 src="//the3dprintzone.com/cdn/shop/t/6/assets/media-gallery.js?v=111441960308641931071772242764" 329 type="module" 330 fetchpriority="low" 331></script>
vendor: 1 bytes, line 331
331
332<script 333 src="//the3dprintzone.com/cdn/shop/t/6/assets/rte-formatter.js?v=101420294193111439321772242764" 334 type="module" 335 fetchpriority="low" 336></script>
vendor: 1 bytes, line 336
336
337<script 338 src="//the3dprintzone.com/cdn/shop/t/6/assets/gift-card-recipient-form.js?v=129634859299628245901772242764" 339 type="module" 340 fetchpriority="low" 341></script>
341 342 343 344
344<script 345 src="//the3dprintzone.com/cdn/shop/t/6/assets/localization.js?v=87759161307859666401772242764" 346 type="module" 347 fetchpriority="low" 348 ></script>
348 349 350 351 352 353 354
355<script 356 src="//the3dprintzone.com/cdn/shop/t/6/assets/auto-close-details.js?v=58350291535404441581772242764" 357 defer="defer" 358></script>
358 359
360<script> 361 const basePath = 'https://cdn.shopify.com/static/themes/horizon/placeholders'; 362 const Theme = { 363 placeholders: { 364 general: [ 365 `${basePath}/general-1.png`, 366 `${basePath}/general-2.png`, 367 `${basePath}/general-3.png`, 368 `${basePath}/general-4.png`, 369 `${basePath}/general-5.png`, 370 `${basePath}/general-6.png`, 371 `${basePath}/general-7.png`, 372 ], 373 product: [`${basePath}/product-ball.png`, `${basePath}/product-cone.png`, `${basePath}/product-cube.png`], 374 }, 375 translations: { 376 placeholder_image: `Placeholder image`, 377 added: `Added`, 378 recipient_form_fields_visible: `Recipient form fields are now visible`, 379 recipient_form_fields_hidden: `Recipient form fields are now hidden`, 380 recipient_form_error: `There was an error with the form submission`, 381 }, 382 routes: { 383 cart_add_url: '/cart/add.js', 384 cart_change_url: '/cart/change', 385 cart_update_url: '/cart/update', 386 cart_url: '/cart', 387 predictive_search_url: '/search/suggest', 388 search_url: '/search', 389 }, 390 template: { 391 name: 'product.body-kits', 392 }, 393 }; 394</script>
394 395<style data-shopify> 396 397 398 @font-face { 399 font-family: Inter; 400 font-weight: 400; 401 font-style: normal; 402 font-display: swap; 403 src: url("//the3dprintzone.com/cdn/fonts/inter/inter_n4.b2a3f24c19b4de56e8871f609e73ca7f6d2e2bb9.woff2") format("woff2"), 404 url("//the3dprintzone.com/cdn/fonts/inter/inter_n4.af8052d517e0c9ffac7b814872cecc27ae1fa132.woff") format("woff"); 405} 406 407 @font-face { 408 font-family: Inter; 409 font-weight: 700; 410 font-style: normal; 411 font-display: swap; 412 src: url("//the3dprintzone.com/cdn/fonts/inter/inter_n7.02711e6b374660cfc7915d1afc1c204e633421e4.woff2") format("woff2"), 413 url("//the3dprintzone.com/cdn/fonts/inter/inter_n7.6dab87426f6b8813070abd79972ceaf2f8d3b012.woff") format("woff"); 414} 415 416 @font-face { 417 font-family: Inter; 418 font-weight: 400; 419 font-style: italic; 420 font-display: swap; 421 src: url("//the3dprintzone.com/cdn/fonts/inter/inter_i4.feae1981dda792ab80d117249d9c7e0f1017e5b3.woff2") format("woff2"), 422 url("//the3dprintzone.com/cdn/fonts/inter/inter_i4.62773b7113d5e5f02c71486623cf828884c85c6e.woff") format("woff"); 423} 424 425 @font-face { 426 font-family: Inter; 427 font-weight: 700; 428 font-style: italic; 429 font-display: swap; 430 src: url("//the3dprintzone.com/cdn/fonts/inter/inter_i7.b377bcd4cc0f160622a22d638ae7e2cd9b86ea4c.woff2") format("woff2"), 431 url("//the3dprintzone.com/cdn/fonts/inter/inter_i7.7c69a6a34e3bb44fcf6f975857e13b9a9b25beb4.woff") format("woff"); 432} 433 434 435 436 437 438 @font-face { 439 font-family: Inter; 440 font-weight: 500; 441 font-style: normal; 442 font-display: swap; 443 src: url("//the3dprintzone.com/cdn/fonts/inter/inter_n5.d7101d5e168594dd06f56f290dd759fba5431d97.woff2") format("woff2"), 444 url("//the3dprintzone.com/cdn/fonts/inter/inter_n5.5332a76bbd27da00474c136abb1ca3cbbf259068.woff") format("woff"); 445} 446 447 @font-face { 448 font-family: Inter; 449 font-weight: 700; 450 font-style: normal; 451 font-display: swap; 452 src: url("//the3dprintzone.com/cdn/fonts/inter/inter_n7.02711e6b374660cfc7915d1afc1c204e633421e4.woff2") format("woff2"), 453 url("//the3dprintzone.com/cdn/fonts/inter/inter_n7.6dab87426f6b8813070abd79972ceaf2f8d3b012.woff") format("woff"); 454} 455 456 @font-face { 457 font-family: Inter; 458 font-weight: 500; 459 font-style: italic; 460 font-display: swap; 461 src: url("//the3dprintzone.com/cdn/fonts/inter/inter_i5.4474f48e6ab2b1e01aa2b6d942dd27fa24f2d99f.woff2") format("woff2"), 462 url("//the3dprintzone.com/cdn/fonts/inter/inter_i5.493dbd6ee8e49f4ad722ebb68d92f201af2c2f56.woff") format("woff"); 463} 464 465 @font-face { 466 font-family: Inter; 467 font-weight: 700; 468 font-style: italic; 469 font-display: swap; 470 src: url("//the3dprintzone.com/cdn/fonts/inter/inter_i7.b377bcd4cc0f160622a22d638ae7e2cd9b86ea4c.woff2") format("woff2"), 471 url("//the3dprintzone.com/cdn/fonts/inter/inter_i7.7c69a6a34e3bb44fcf6f975857e13b9a9b25beb4.woff") format("woff"); 472} 473 474 475 476 477 478 479 @font-face { 480 font-family: Inter; 481 font-weight: 700; 482 font-style: normal; 483 font-display: swap; 484 src: url("//the3dprintzone.com/cdn/fonts/inter/inter_n7.02711e6b374660cfc7915d1afc1c204e633421e4.woff2") format("woff2"), 485 url("//the3dprintzone.com/cdn/fonts/inter/inter_n7.6dab87426f6b8813070abd79972ceaf2f8d3b012.woff") format("woff"); 486} 487 488 @font-face { 489 font-family: Inter; 490 font-weight: 700; 491 font-style: normal; 492 font-display: swap; 493 src: url("//the3dprintzone.com/cdn/fonts/inter/inter_n7.02711e6b374660cfc7915d1afc1c204e633421e4.woff2") format("woff2"), 494 url("//the3dprintzone.com/cdn/fonts/inter/inter_n7.6dab87426f6b8813070abd79972ceaf2f8d3b012.woff") format("woff"); 495} 496 497 @font-face { 498 font-family: Inter; 499 font-weight: 700; 500 font-style: italic; 501 font-display: swap; 502 src: url("//the3dprintzone.com/cdn/fonts/inter/inter_i7.b377bcd4cc0f160622a22d638ae7e2cd9b86ea4c.woff2") format("woff2"), 503 url("//the3dprintzone.com/cdn/fonts/inter/inter_i7.7c69a6a34e3bb44fcf6f975857e13b9a9b25beb4.woff") format("woff"); 504} 505 506 @font-face { 507 font-family: Inter; 508 font-weight: 700; 509 font-style: italic; 510 font-display: swap; 511 src: url("//the3dprintzone.com/cdn/fonts/inter/inter_i7.b377bcd4cc0f160622a22d638ae7e2cd9b86ea4c.woff2") format("woff2"), 512 url("//the3dprintzone.com/cdn/fonts/inter/inter_i7.7c69a6a34e3bb44fcf6f975857e13b9a9b25beb4.woff") format("woff"); 513} 514 515 516 517 518 519 :root { 520 /* Page Layout */ 521 --sidebar-width: 25rem; 522 --narrow-content-width: 36rem; 523 --normal-content-width: 42rem; 524 --wide-content-width: 46rem; 525 --narrow-page-width: 90rem; 526 --normal-page-width: 120rem; 527 --wide-page-width: 150rem; 528 529 /* Section Heights */ 530 --section-height-small: 15rem; 531 --section-height-medium: 25rem; 532 --section-height-large: 35rem; 533 534 @media screen and (min-width: 40em) { 535 --section-height-small: 40svh; 536 --section-height-medium: 55svh; 537 --section-height-large: 70svh; 538 } 539 540 @media screen and (min-width: 60em) { 541 --section-height-small: 50svh; 542 --section-height-medium: 65svh; 543 --section-height-large: 80svh; 544 } 545 546 /* Letter spacing */ 547 --letter-spacing-sm: 0.06em; 548 --letter-spacing-md: 0.13em; 549 550 /* Font families */ 551 --font-body--family: Inter, sans-serif; 552 --font-body--style: normal; 553 --font-body--weight: 400; 554 --font-subheading--family: Inter, sans-serif; 555 --font-subheading--style: normal; 556 --font-subheading--weight: 500; 557 --font-heading--family: Inter, sans-serif; 558 --font-heading--style: normal; 559 --font-heading--weight: 700; 560 --font-accent--family: Inter, sans-serif; 561 --font-accent--style: normal; 562 --font-accent--weight: 700; 563 564 /* Margin sizes */ 565 --font-h1--spacing: 0.25em; 566 --font-h2--spacing: 0.25em; 567 --font-h3--spacing: 0.25em; 568 --font-h4--spacing: 0.25em; 569 --font-h5--spacing: 0.25em; 570 --font-h6--spacing: 0.25em; 571 --font-paragraph--spacing: 0.5em; 572 573 /* Heading colors */ 574 --font-h1--color: var(--color-foreground-heading); 575 --font-h2--color: var(--color-foreground-heading); 576 --font-h3--color: var(--color-foreground-heading); 577 --font-h4--color: var(--color-foreground-heading); 578 --font-h5--color: var(--color-foreground-heading); 579 --font-h6--color: var(--color-foreground-heading); 580 581 /** Z-Index / Layering */ 582 --layer-section-background: -2; 583 --layer-lowest: -1; 584 --layer-base: 0; 585 --layer-flat: 1; 586 --layer-raised: 2; 587 --layer-heightened: 4; 588 --layer-sticky: 8; 589 --layer-window-overlay: 10; 590 --layer-header-menu: 12; 591 --layer-overlay: 16; 592 --layer-menu-drawer: 18; 593 --layer-temporary: 20; 594 595 /* Max-width / Measure */ 596 --max-width--body-normal: 50ch; 597 --max-width--body-narrow: 35ch; 598 599 --max-width--heading-normal: 50ch; 600 --max-width--heading-narrow: 30ch; 601 602 --max-width--display-normal: 20ch; 603 --max-width--display-narrow: 15ch; 604 --max-width--display-tight: 5ch; 605 606 /* Letter-spacing / Tracking */ 607 --letter-spacing--display-tight: -0.03em; 608 --letter-spacing--display-normal: 0em; 609 --letter-spacing--display-loose: 0.03em; 610 611 --letter-spacing--heading-tight: -0.03em; 612 --letter-spacing--heading-normal: 0em; 613 --letter-spacing--heading-loose: 0.03em; 614 615 --letter-spacing--body-tight: -0.03em; 616 --letter-spacing--body-normal: 0em; 617 --letter-spacing--body-loose: 0.03em; 618 619 /* Line height / Leading */ 620 --line-height: 1; 621 622 --line-height--display-tight: 1; 623 --line-height--display-normal: 1.1; 624 --line-height--display-loose: 1.2; 625 626 --line-height--heading-tight: 1.15; 627 --line-height--heading-normal: 1.25; 628 --line-height--heading-loose: 1.35; 629 630 --line-height--body-tight: 1.2; 631 --line-height--body-normal: 1.4; 632 --line-height--body-loose: 1.6; 633 634 /* Typography presets */ 635 --font-size--paragraph: 0.875rem;--font-size--h1: clamp(3.0rem, 5.6vw, 3.5rem);--font-size--h2: clamp(1.75rem, 4.8vw, 3.0rem);--font-size--h3: 1.5rem;--font-size--h4: 1.25rem;--font-size--h5: 0.875rem;--font-size--h6: 0.75rem;--font-paragraph--weight: 400;--font-paragraph--letter-spacing: var(--letter-spacing--body-normal);--font-paragraph--size: var(--font-size--paragraph);--font-paragraph--family: var(--font-body--family);--font-paragraph--style: var(--font-body--style);--font-paragraph--case: ;--font-paragraph--line-height: var(--line-height--body-loose);--font-h1--weight: var(--font-heading--weight);--font-h1--letter-spacing: var(--letter-spacing--heading-normal);--font-h1--size: var(--font-size--h1);--font-h1--family: var(--font-heading--family);--font-h1--style: var(--font-heading--style);--font-h1--case: none;--font-h1--line-height: var(--line-height--display-tight);--font-h2--weight: var(--font-heading--weight);--font-h2--letter-spacing: var(--letter-spacing--heading-normal);--font-h2--size: var(--font-size--h2);--font-h2--family: var(--font-heading--family);--font-h2--style: var(--font-heading--style);--font-h2--case: none;--font-h2--line-height: var(--line-height--display-tight);--font-h3--weight: var(--font-heading--weight);--font-h3--letter-spacing: var(--letter-spacing--heading-normal);--font-h3--size: var(--font-size--h3);--font-h3--family: var(--font-heading--family);--font-h3--style: var(--font-heading--style);--font-h3--case: none;--font-h3--line-height: var(--line-height--display-normal);--font-h4--weight: var(--font-heading--weight);--font-h4--letter-spacing: var(--letter-spacing--heading-normal);--font-h4--size: var(--font-size--h4);--font-h4--family: var(--font-heading--family);--font-h4--style: var(--font-heading--style);--font-h4--case: none;--font-h4--line-height: var(--line-height--display-tight);--font-h5--weight: var(--font-subheading--weight);--font-h5--letter-spacing: var(--letter-spacing--heading-normal);--font-h5--size: var(--font-size--h5);--font-h5--family: var(--font-subheading--family);--font-h5--style: var(--font-subheading--style);--font-h5--case: none;--font-h5--line-height: var(--line-height--display-loose);--font-h6--weight: var(--font-subheading--weight);--font-h6--letter-spacing: var(--letter-spacing--heading-normal);--font-h6--size: var(--font-size--h6);--font-h6--family: var(--font-subheading--family);--font-h6--style: var(--font-subheading--style);--font-h6--case: none;--font-h6--line-height: var(--line-height--display-loose); 636 637 /* Hardcoded font sizes */ 638 --font-size--2xs: 0.625rem; 639 --font-size--xs: 0.8125rem; 640 --font-size--sm: 0.875rem; 641 --font-size--md: 1rem; 642 --font-size--lg: 1.125rem; 643 --font-size--xl: 1.25rem; 644 --font-size--2xl: 1.5rem; 645 --font-size--3xl: 2rem; 646 --font-size--4xl: 2.5rem; 647 --font-size--5xl: 3rem; 648 --font-size--6xl: 3.5rem; 649 650 /* Menu font sizes */ 651 --menu-font-sm--size: 0.875rem; 652 --menu-font-sm--line-height: calc(1.1 + 0.5 * min(16 / 14)); 653 --menu-font-md--size: 1rem; 654 --menu-font-md--line-height: calc(1.1 + 0.5 * min(16 / 16)); 655 --menu-font-lg--size: 1.125rem; 656 --menu-font-lg--line-height: calc(1.1 + 0.5 * min(16 / 18)); 657 --menu-font-xl--size: 1.25rem; 658 --menu-font-xl--line-height: calc(1.1 + 0.5 * min(16 / 20)); 659 --menu-font-2xl--size: 1.75rem; 660 --menu-font-2xl--line-height: calc(1.1 + 0.5 * min(16 / 28)); 661 662 /* Colors */ 663 --color-error: #8B0000; 664 --color-success: #006400; 665 --color-white: #FFFFFF; 666 --color-white-rgb: 255 255 255; 667 --color-black: #000000; 668 --color-instock: #3ED660; 669 --color-lowstock: #EE9441; 670 --color-outofstock: #C8C8C8; 671 672 /* Opacity */ 673 --opacity-5: 0.05; 674 --opacity-8: 0.08; 675 --opacity-10: 0.1; 676 --opacity-15: 0.15; 677 --opacity-20: 0.2;
678 --opacity-25: 0.25; 679 --opacity-30: 0.3; 680 --opacity-40: 0.4; 681 --opacity-50: 0.5; 682 --opacity-60: 0.6; 683 --opacity-70: 0.7; 684 --opacity-80: 0.8; 685 --opacity-85: 0.85; 686 --opacity-90: 0.9; 687 --opacity-subdued-text: var(--opacity-70); 688 689 --shadow-button: 0 2px 3px rgb(0 0 0 / 20%); 690 --gradient-image-overlay: linear-gradient(to top, rgb(0 0 0 / 0.5), transparent); 691 692 /* Spacing */ 693 --margin-3xs: 0.125rem; 694 --margin-2xs: 0.3rem; 695 --margin-xs: 0.5rem; 696 --margin-sm: 0.7rem; 697 --margin-md: 0.8rem; 698 --margin-lg: 1rem; 699 --margin-xl: 1.25rem; 700 --margin-2xl: 1.5rem; 701 --margin-3xl: 1.75rem; 702 --margin-4xl: 2rem; 703 --margin-5xl: 3rem; 704 --margin-6xl: 5rem; 705 706 --scroll-margin: 50px; 707 708 --padding-3xs: 0.125rem; 709 --padding-2xs: 0.25rem; 710 --padding-xs: 0.5rem; 711 --padding-sm: 0.7rem; 712 --padding-md: 0.8rem; 713 --padding-lg: 1rem; 714 --padding-xl: 1.25rem; 715 --padding-2xl: 1.5rem; 716 --padding-3xl: 1.75rem; 717 --padding-4xl: 2rem; 718 --padding-5xl: 3rem; 719 --padding-6xl: 4rem; 720 721 --gap-3xs: 0.125rem; 722 --gap-2xs: 0.3rem; 723 --gap-xs: 0.5rem; 724 --gap-sm: 0.7rem; 725 --gap-md: 0.9rem; 726 --gap-lg: 1rem; 727 --gap-xl: 1.25rem; 728 --gap-2xl: 2rem; 729 --gap-3xl: 3rem; 730 731 --spacing-scale-sm: 0.6; 732 --spacing-scale-md: 0.7; 733 --spacing-scale-default: 1.0; 734 735 /* Checkout buttons gap */ 736 --checkout-button-gap: 10px; 737 738 /* Borders */ 739 --style-border-width: 1px; 740 --style-border-radius-xs: 0.2rem; 741 --style-border-radius-sm: 0.6rem; 742 --style-border-radius-md: 0.8rem; 743 --style-border-radius-50: 50%; 744 --style-border-radius-lg: 1rem; 745 --style-border-radius-pills: 40px; 746 --style-border-radius-inputs: 4px; 747 --style-border-radius-buttons-primary: 14px; 748 --style-border-radius-buttons-secondary: 14px; 749 --style-border-width-primary: 0px; 750 --style-border-width-secondary: 2px; 751 --style-border-width-inputs: 1px; 752 --style-border-radius-popover: 14px; 753 --style-border-popover: 1px none rgb(var(--color-border-rgb) / 50%); 754 --style-border-drawer: 1px none rgb(var(--color-border-rgb) / 50%); 755 --style-border-swatch-opacity: 10%; 756 --style-border-swatch-width: 1px; 757 --style-border-swatch-style: solid; 758 759 /* Animation */ 760 --ease-out-cubic: cubic-bezier(0.33, 1, 0.68, 1); 761 --ease-out-quad: cubic-bezier(0.32, 0.72, 0, 1); 762 --animation-speed-fast: 0.0625s; 763 --animation-speed: 0.125s; 764 --animation-speed-slow: 0.2s; 765 --animation-speed-medium: 0.15s; 766 --animation-easing: ease-in-out; 767 --animation-slideshow-easing: cubic-bezier(0.4, 0, 0.2, 1); 768 --drawer-animation-speed: 0.2s; 769 --animation-values-slow: var(--animation-speed-slow) var(--animation-easing); 770 --animation-values: var(--animation-speed) var(--animation-easing); 771 --animation-values-fast: var(--animation-speed-fast) var(--animation-easing); 772 --animation-values-allow-discrete: var(--animation-speed) var(--animation-easing) allow-discrete; 773 --animation-timing-hover: cubic-bezier(0.25, 0.46, 0.45, 0.94); 774 --animation-timing-active: cubic-bezier(0.5, 0, 0.75, 0); 775 --animation-timing-bounce: cubic-bezier(0.34, 1.56, 0.64, 1); 776 --animation-timing-default: cubic-bezier(0, 0, 0.2, 1); 777 --animation-timing-fade-in: cubic-bezier(0.16, 1, 0.3, 1); 778 --animation-timing-fade-out: cubic-bezier(0.4, 0, 0.2, 1); 779 780 /* View transitions */ 781 /* View transition old */ 782 --view-transition-old-main-content: var(--animation-speed) var(--animation-easing) both fadeOut; 783 784 /* View transition new */ 785 --view-transition-new-main-content: var(--animation-speed) var(--animation-easing) both fadeIn, var(--animation-speed) var(--animation-easing) both slideInTopViewTransition; 786 787 /* Focus */ 788 --focus-outline-width: 0.09375rem; 789 --focus-outline-offset: 0.2em; 790 791 /* Badges */ 792 --badge-blob-padding-block: 1px; 793 --badge-blob-padding-inline: 12px 8px; 794 --badge-rectangle-padding-block: 1px; 795 --badge-rectangle-padding-inline: 6px; 796 @media screen and (min-width: 750px) { 797 --badge-blob-padding-block: 4px; 798 --badge-blob-padding-inline: 16px 12px; 799 --badge-rectangle-padding-block: 4px; 800 --badge-rectangle-padding-inline: 10px; 801 } 802 803 /* Icons */ 804 --icon-size-2xs: 0.6rem; 805 --icon-size-xs: 0.85rem; 806 --icon-size-sm: 1.25rem; 807 --icon-size-md: 1.375rem; 808 --icon-size-lg: 1.5rem; 809 --icon-stroke-width: 1.5px; 810 811 /* Input */ 812 --input-email-min-width: 200px; 813 --input-search-max-width: 650px; 814 --input-padding-y: 0.8rem; 815 --input-padding-x: 0.8rem; 816 --input-padding: var(--input-padding-y) var(--input-padding-x); 817 --input-box-shadow-width: var(--style-border-width-inputs); 818 --input-box-shadow: 0 0 0 var(--input-box-shadow-width) var(--color-input-border); 819 --input-box-shadow-focus: 0 0 0 calc(var(--input-box-shadow-width) + 0.5px) var(--color-input-border); 820 --input-disabled-background-color: rgb(var(--color-foreground-rgb) / var(--opacity-10)); 821 --input-disabled-border-color: rgb(var(--color-foreground-rgb) / var(--opacity-5)); 822 --input-disabled-text-color: rgb(var(--color-foreground-rgb) / var(--opacity-50));
823 --input-textarea-min-height: 55px; 824 825 /* Button size */ 826 --button-size-sm: 30px; 827 --button-size-md: 36px; 828 --button-size: var(--minimum-touch-target); 829 --button-padding-inline: 24px; 830 --button-padding-block: 16px; 831 832 /* Button font-family */ 833 --button-font-family-primary: var(--font-body--family); 834 --button-font-family-secondary: var(--font-body--family); 835 836 /* Button text case */ 837 --button-text-case: ; 838 --button-text-case-primary: default; 839 --button-text-case-secondary: default; 840 841 /* Borders */ 842 --border-color: rgb(var(--color-border-rgb) / var(--opacity-50)); 843 --border-width-sm: 1px; 844 --border-width-md: 2px; 845 --border-width-lg: 5px; 846 847 /* Drawers */ 848 --drawer-inline-padding: 25px; 849 --drawer-menu-inline-padding: 2.5rem; 850 --drawer-header-block-padding: 20px; 851 --drawer-content-block-padding: 10px; 852 --drawer-header-desktop-top: 0rem; 853 --drawer-padding: calc(var(--padding-sm) + 7px); 854 --drawer-height: 100dvh; 855 --drawer-width: 95vw; 856 --drawer-max-width: 500px; 857 858 /* Variant Picker Swatches */ 859 --variant-picker-swatch-width-unitless: 34; 860 --variant-picker-swatch-height-unitless: 34; 861 --variant-picker-swatch-width: 34px; 862 --variant-picker-swatch-height: 34px; 863 --variant-picker-swatch-radius: 32px; 864 --variant-picker-border-width: 1px; 865 --variant-picker-border-style: solid; 866 --variant-picker-border-opacity: 10%; 867 868 /* Variant Picker Buttons */ 869 --variant-picker-button-radius: 14px; 870 --variant-picker-button-border-width: 2px; 871 872 /* Slideshow */ 873 --slideshow-controls-size: 3.5rem; 874 --slideshow-controls-icon: 2rem; 875 --peek-next-slide-size: 3rem; 876 877 /* Utilities */ 878 --backdrop-opacity: 0.15; 879 --backdrop-color-rgb: var(--color-shadow-rgb); 880 --minimum-touch-target: 44px; 881 --disabled-opacity: 0.5; 882 --skeleton-opacity: 0.025; 883 884 /* Shapes */ 885 --shape--circle: circle(50% at center); 886 --shape--sunburst: polygon(100% 50%,94.62% 55.87%,98.3% 62.94%,91.57% 67.22%,93.3% 75%,85.7% 77.39%,85.36% 85.36%,77.39% 85.7%,75% 93.3%,67.22% 91.57%,62.94% 98.3%,55.87% 94.62%,50% 100%,44.13% 94.62%,37.06% 98.3%,32.78% 91.57%,25% 93.3%,22.61% 85.7%,14.64% 85.36%,14.3% 77.39%,6.7% 75%,8.43% 67.22%,1.7% 62.94%,5.38% 55.87%,0% 50%,5.38% 44.13%,1.7% 37.06%,8.43% 32.78%,6.7% 25%,14.3% 22.61%,14.64% 14.64%,22.61% 14.3%,25% 6.7%,32.78% 8.43%,37.06% 1.7%,44.13% 5.38%,50% 0%,55.87% 5.38%,62.94% 1.7%,67.22% 8.43%,75% 6.7%,77.39% 14.3%,85.36% 14.64%,85.7% 22.61%,93.3% 25%,91.57% 32.78%,98.3% 37.06%,94.62% 44.13%); 887 --shape--diamond: polygon(50% 0%, 100% 50%, 50% 100%, 0% 50%); 888 --shape--blob: polygon(85.349% 11.712%, 87.382% 13.587%, 89.228% 15.647%, 90.886% 17.862%, 92.359% 20.204%, 93.657% 22.647%, 94.795% 25.169%, 95.786% 27.752%, 96.645% 30.382%, 97.387% 33.048%, 98.025% 35.740%, 98.564% 38.454%, 99.007% 41.186%, 99.358% 43.931%, 99.622% 46.685%, 99.808% 49.446%, 99.926% 52.210%, 99.986% 54.977%, 99.999% 57.744%, 99.975% 60.511%, 99.923% 63.278%, 99.821% 66.043%, 99.671% 68.806%, 99.453% 71.565%, 99.145% 74.314%, 98.724% 77.049%, 98.164% 79.759%, 97.433% 82.427%, 96.495% 85.030%, 95.311% 87.529%, 93.841% 89.872%, 92.062% 91.988%, 89.972% 93.796%, 87.635% 95.273%, 85.135% 96.456%, 82.532% 97.393%, 79.864% 98.127%, 77.156% 98.695%, 74.424% 99.129%, 71.676% 99.452%, 68.918% 99.685%, 66.156% 99.844%, 63.390% 99.942%, 60.624% 99.990%, 57.856% 99.999%, 55.089% 99.978%, 52.323% 99.929%, 49.557% 99.847%, 46.792% 99.723%, 44.031% 99.549%, 41.273% 99.317%, 38.522% 99.017%, 35.781% 98.639%, 33.054% 98.170%, 30.347% 97.599%, 27.667% 96.911%, 25.024% 96.091%, 22.432% 95.123%, 19.907% 93.994%, 17.466% 92.690%, 15.126% 91.216%, 12.902% 89.569%, 10.808% 87.761%, 8.854% 85.803%, 7.053% 83.703%, 5.418% 81.471%, 3.962% 79.119%, 2.702% 76.656%, 1.656% 74.095%, 0.846% 71.450%, 0.294% 68.740%, 0.024% 65.987%, 0.050% 63.221%, 0.343% 60.471%, 0.858% 57.752%, 1.548% 55.073%, 2.370% 52.431%, 3.283% 49.819%, 4.253% 47.227%, 5.249% 44.646%, 6.244% 42.063%, 7.211% 39.471%, 8.124% 36.858%, 8.958% 34.220%, 9.711% 31.558%, 10.409% 28.880%, 11.083% 26.196%, 11.760% 23.513%, 12.474% 20.839%, 13.259% 18.186%, 14.156% 15.569%, 15.214% 13.012%, 16.485% 10.556%, 18.028% 8.261%, 19.883
888% 6.211%, 22.041% 4.484%, 24.440% 3.110%, 26.998% 2.057%, 29.651% 1.275%, 32.360% 0.714%, 35.101% 0.337%, 37.859% 0.110%, 40.624% 0.009%, 43.391% 0.016%, 46.156% 0.113%, 48.918% 0.289%, 51.674% 0.533%, 54.425% 0.837%, 57.166% 1.215%, 59.898% 1.654%, 62.618% 2.163%, 65.322% 2.750%, 68.006% 3.424%, 70.662% 4.197%, 73.284% 5.081%, 75.860% 6.091%, 78.376% 7.242%, 80.813% 8.551%, 83.148% 10.036%, 85.349% 11.712%); 889 890 /* Buy buttons */ 891 --height-buy-buttons: calc(var(--padding-lg) * 2 + var(--icon-size-sm)); 892 893 /* Card image width and height variables */ 894 --card-width-small: 10rem; 895 896 --height-small: 10rem; 897 --height-medium: 11.5rem; 898 --height-large: 13rem; 899 --height-full: 100vh; 900 901 @media screen and (min-width: 750px) { 902 --height-small: 17.5rem; 903 --height-medium: 21.25rem; 904 --height-large: 25rem; 905 } 906 907 /* Modal */ 908 --modal-max-height: 65dvh; 909 910 /* Card styles for search */ 911 --card-bg-hover: rgb(var(--color-foreground-rgb) / var(--opacity-5)); 912 --card-border-hover: rgb(var(--color-foreground-rgb) / var(--opacity-30)); 913 --card-border-focus: rgb(var(--color-foreground-rgb) / var(--opacity-10)); 914 915 /* Cart */ 916 --cart-primary-font-family: var(--font-body--family); 917 --cart-primary-font-style: var(--font-body--style); 918 --cart-primary-font-weight: var(--font-body--weight); 919 --cart-secondary-font-family: var(--font-secondary--family); 920 --cart-secondary-font-style: var(--font-secondary--style); 921 --cart-secondary-font-weight: var(--font-secondary--weight); 922 } 923</style> 924<style data-shopify> 925 926 927 :root, 928 929 930 931 .color-scheme-1 { 932 --color-background: rgb(255 255 255 / 1.0); 933 /* RGB values only to apply different opacities - Relative color values are not supported in iOS < 16.4 */ 934 --color-background-rgb: 255 255 255; 935 --opacity-5-15: 0.05; 936 --opacity-10-25: 0.1; 937 --opacity-35-55: 0.35; 938 --opacity-40-60: 0.4; 939 --opacity-30-60: 0.3; 940 --color-foreground: rgb(0 0 0 / 0.81); 941 --color-foreground-rgb: 0 0 0; 942 --color-foreground-heading: rgb(0 0 0 / 1.0); 943 --color-foreground-heading-rgb: 0 0 0; 944 --color-primary: rgb(0 0 0 / 0.81); 945 --color-primary-rgb: 0 0 0; 946 --color-primary-hover: rgb(0 0 0 / 1.0); 947 --color-primary-hover-rgb: 0 0 0; 948 --color-border: rgb(0 0 0 / 0.06); 949 --color-border-rgb: 0 0 0; 950 --color-shadow: rgb(0 0 0 / 1.0); 951 --color-shadow-rgb: 0 0 0; 952 --color-primary-button-text: rgb(255 255 255 / 1.0); 953 --color-primary-button-background: rgb(0 0 0 / 1.0); 954 --color-primary-button-border: rgb(0 0 0 / 1.0); 955 --color-primary-button-hover-text: rgb(255 255 255 / 1.0); 956 --color-primary-button-hover-background: rgb(51 51 51 / 1.0); 957 --color-primary-button-hover-border: rgb(0 0 0 / 1.0); 958 --color-secondary-button-text: rgb(0 0 0 / 1.0); 959 --color-secondary-button-background: rgb(0 0 0 / 0.0); 960 --color-secondary-button-border: rgb(0 0 0 / 1.0); 961 --color-secondary-button-hover-text: rgb(51 51 51 / 1.0); 962 --color-secondary-button-hover-background: rgb(250 250 250 / 1.0); 963 --color-secondary-button-hover-border: rgb(51 51 51 / 1.0); 964 --color-input-background: rgb(255 255 255 / 0.78); 965 --color-input-text: rgb(51 51 51 / 1.0); 966 --color-input-text-rgb: 51 51 51; 967 --color-input-border: rgb(223 223 223 / 1.0); 968 --color-input-hover-background: rgb(0 0 0 / 0.01); 969 --color-variant-background: rgb(255 255 255 / 1.0); 970 --color-variant-border: rgb(0 0 0 / 0.13); 971 --color-variant-text: rgb(0 0 0 / 1.0); 972 --color-variant-text-rgb: 0 0 0; 973 --color-variant-hover-background: rgb(245 245 245 / 1.0); 974 --color-variant-hover-text: rgb(0 0 0 / 1.0); 975 --color-variant-hover-border: rgb(230 230 230 / 1.0); 976 --color-selected-variant-background: rgb(0 0 0 / 1.0); 977 --color-selected-variant-border: rgb(0 0 0 / 1.0); 978 --color-selected-variant-text: rgb(255 255 255 / 1.0); 979 --color-selected-variant-hover-background: rgb(26 26 26 / 1.0); 980 --color-selected-variant-hover-text: rgb(255 255 255 / 1.0); 981 --color-selected-variant-hover-border: rgb(26 26 26 / 1.0); 982 983 --input-disabled-background-color: rgb(var(--color-foreground-rgb) / var(--opacity-10)); 984 --input-disabled-border-color: rgb(var(--color-foreground-rgb) / var(--opacity-5-15)); 985 --input-disabled-text-color: rgb(var(--color-foreground-rgb) / var(--opacity-50)); 986 --color-foreground-muted: rgb(var(--color-foreground-rgb) / var(--opacity-60)); 987 --font-h1--color: var(--color-foreground-heading); 988 --font-h2--color: var(--color-foreground-heading); 989 --font-h3--color: var(--color-foreground-heading); 990 --font-h4--color: var(--color-foreground-heading); 991 --font-h5--color: var(--color-foreground-heading); 992 --font-h6--color: var(--color-foreground-heading); 993 994 /* Shadows */ 995 996 --shadow-drawer: 0px 4px 20px rgb(var(--color-shadow-rgb) / var(--opacity-15)); 997 998 999 --shadow-blur: 20px; 1000 --shadow-popover: 0px 4px 20px rgb(var(--color-shadow-rgb) / var(--opacity-15)); 1001 1002 } 1003 1004 1005 1006 1007 .color-scheme-2 {
1008 --color-background: rgb(243 243 243 / 1.0); 1009 /* RGB values only to apply different opacities - Relative color values are not supported in iOS < 16.4 */ 1010 --color-background-rgb: 243 243 243; 1011 --opacity-5-15: 0.05; 1012 --opacity-10-25: 0.1; 1013 --opacity-35-55: 0.35; 1014 --opacity-40-60: 0.4; 1015 --opacity-30-60: 0.3; 1016 --color-foreground: rgb(0 0 0 / 0.81); 1017 --color-foreground-rgb: 0 0 0; 1018 --color-foreground-heading: rgb(0 0 0 / 1.0); 1019 --color-foreground-heading-rgb: 0 0 0; 1020 --color-primary: rgb(0 0 0 / 0.81); 1021 --color-primary-rgb: 0 0 0; 1022 --color-primary-hover: rgb(255 255 255 / 1.0); 1023 --color-primary-hover-rgb: 255 255 255; 1024 --color-border: rgb(223 223 223 / 1.0); 1025 --color-border-rgb: 223 223 223; 1026 --color-shadow: rgb(0 0 0 / 1.0); 1027 --color-shadow-rgb: 0 0 0; 1028 --color-primary-button-text: rgb(255 255 255 / 1.0); 1029 --color-primary-button-background: rgb(0 0 0 / 1.0); 1030 --color-primary-button-border: rgb(0 0 0 / 1.0); 1031 --color-primary-button-hover-text: rgb(255 255 255 / 1.0); 1032 --color-primary-button-hover-background: rgb(51 51 51 / 1.0); 1033 --color-primary-button-hover-border: rgb(51 51 51 / 1.0); 1034 --color-secondary-button-text: rgb(0 0 0 / 1.0); 1035 --color-secondary-button-background: rgb(0 0 0 / 0.0); 1036 --color-secondary-button-border: rgb(0 0 0 / 1.0); 1037 --color-secondary-button-hover-text: rgb(0 0 0 / 1.0); 1038 --color-secondary-button-hover-background: rgb(255 255 255 / 0.36); 1039 --color-secondary-button-hover-border: rgb(51 51 51 / 0.73); 1040 --color-input-background: rgb(0 0 0 / 0.0); 1041 --color-input-text: rgb(0 0 0 / 0.53); 1042 --color-input-text-rgb: 0 0 0; 1043 --color-input-border: rgb(0 0 0 / 0.13); 1044 --color-input-hover-background: rgb(255 255 255 / 0.36); 1045 --color-variant-background: rgb(255 255 255 / 1.0); 1046 --color-variant-border: rgb(230 230 230 / 1.0); 1047 --color-variant-text: rgb(0 0 0 / 1.0); 1048 --color-variant-text-rgb: 0 0 0; 1049 --color-variant-hover-background: rgb(245 245 245 / 1.0); 1050 --color-variant-hover-text: rgb(0 0 0 / 1.0); 1051 --color-variant-hover-border: rgb(230 230 230 / 1.0); 1052 --color-selected-variant-background: rgb(0 0 0 / 1.0); 1053 --color-selected-variant-border: rgb(0 0 0 / 1.0); 1054 --color-selected-variant-text: rgb(255 255 255 / 1.0); 1055 --color-selected-variant-hover-background: rgb(26 26 26 / 1.0); 1056 --color-selected-variant-hover-text: rgb(255 255 255 / 1.0); 1057 --color-selected-variant-hover-border: rgb(26 26 26 / 1.0); 1058 1059 --input-disabled-background-color: rgb(var(--color-foreground-rgb) / var(--opacity-10)); 1060 --input-disabled-border-color: rgb(var(--color-foreground-rgb) / var(--opacity-5-15)); 1061 --input-disabled-text-color: rgb(var(--color-foreground-rgb) / var(--opacity-50)); 1062 --color-foreground-muted: rgb(var(--color-foreground-rgb) / var(--opacity-60)); 1063 --font-h1--color: var(--color-foreground-heading); 1064 --font-h2--color: var(--color-foreground-heading); 1065 --font-h3--color: var(--color-foreground-heading); 1066 --font-h4--color: var(--color-foreground-heading); 1067 --font-h5--color: var(--color-foreground-heading); 1068 --font-h6--color: var(--color-foreground-heading); 1069 1070 /* Shadows */ 1071 1072 --shadow-drawer: 0px 4px 20px rgb(var(--color-shadow-rgb) / var(--opacity-15)); 1073 1074 1075 --shadow-blur: 20px; 1076 --shadow-popover: 0px 4px 20px rgb(var(--color-shadow-rgb) / var(--opacity-15)); 1077 1078 } 1079 1080 1081 1082 1083 .color-scheme-3 { 1084 --color-background: rgb(238 241 234 / 1.0); 1085 /* RGB values only to apply different opacities - Relative color values are not supported in iOS < 16.4 */ 1086 --color-background-rgb: 238 241 234; 1087 --opacity-5-15: 0.05; 1088 --opacity-10-25: 0.1; 1089 --opacity-35-55: 0.35; 1090 --opacity-40-60: 0.4; 1091 --opacity-30-60: 0.3; 1092 --color-foreground: rgb(0 0 0 / 0.81); 1093 --color-foreground-rgb: 0 0 0; 1094 --color-foreground-heading: rgb(0 0 0 / 1.0); 1095 --color-foreground-heading-rgb: 0 0 0; 1096 --color-primary: rgb(0 0 0 / 0.81); 1097 --color-primary-rgb: 0 0 0; 1098 --color-primary-hover: rgb(0 0 0 / 1.0); 1099 --color-primary-hover-rgb: 0 0 0; 1100 --color-border: rgb(0 0 0 / 0.81); 1101 --color-border-rgb: 0 0 0; 1102 --color-shadow: rgb(0 0 0 / 1.0); 1103 --color-shadow-rgb: 0 0 0; 1104 --color-primary-button-text: rgb(255 255 255 / 1.0); 1105 --color-primary-button-background: rgb(0 0 0 / 1.0); 1106 --color-primary-button-border: rgb(0 0 0 / 1.0); 1107 --color-primary-button-hover-text: rgb(255 255 255 / 1.0); 1108 --color-primary-button-hover-background: rgb(51 51 51 / 1.0); 1109 --color-primary-button-hover-border: rgb(51 51 51 / 1.0); 1110 --color-secondary-button-text: rgb(0 0 0 / 1.0); 1111 --color-secondary-button-background: rgb(0 0 0 / 0.0); 1112 --color-secondary-button-border: rgb(0 0 0 / 1.0); 1113 --color-secondary-button-hover-text: rgb(0 0 0 / 0.81); 1114 --color-secondary-button-hover-background: rgb(255 255 255 / 0.36); 1115 --color-secondary-button-hover-border: rgb(0 0 0 / 0.81); 1116 --color-input-background: rgb(0 0 0 / 0.0); 1117 --color-input-text: rgb(0 0 0 / 0.81); 1118 --color-input-text-rgb: 0 0 0; 1119 --color-input-border: rgb(0 0 0 / 0.81); 1120 --color-input-hover-background: rgb(255 255 255 / 0.36); 1121 --color-variant-background: rgb(255 255 255 / 1.0); 1122 --color-variant-border: rgb(230 230 230 / 1.0); 1123 --color-variant-text: rgb(0 0 0 / 1.0); 1124 --color-variant-text-rgb: 0 0 0; 1125 --color-variant-hover-background: rgb(245 245 245 / 1.0); 1126 --color-variant-hover-text: rgb(0 0 0 / 1.0); 1127 --color-variant-hover-border: rgb(230 230 230 / 1.0); 1128 --color-selected-variant-background: rgb(0 0 0 / 1.0); 1129 --color-selected-variant-border: rgb(0 0 0 / 1.0); 1130 --color-selected-variant-text: rgb(255 255 255 / 1.0); 1131 --color-selected-variant-hover-background: rgb(26 26 26 / 1.0); 1132 --color-selected-variant-hover-text: rgb(255 255 255 / 1.0); 1133 --color-selected-variant-hover-border: rgb(26 26 26 / 1.0); 1134 1135 --input-disabled-background-color: rgb(var(--color-foreground-rgb) / var(--opacity-10)); 1136 --input-disabled-border-color: rgb(var(--color-foreground-rgb) / var(--opacity-5-15)); 1137 --input-disabled-text-color: rgb(var(--color-foreground-rgb) / var(--opacity-50)); 1138 --color-foreground-muted: rgb(var(--color-foreground-rgb) / var(--opacity-60)); 1139 --font-h1--color: var(--color-foreground-heading); 1140 --font-h2--color: var(--color-foreground-heading); 1141 --font-h3--color: var(--color-foreground-heading); 1142 --font-h4--color: var(--color-foreground-heading); 1143 --font-h5--color: var(--color-foreground-heading); 1144 --font-h6--color: var(--color-foreground-heading); 1145 1146 /* Shadows */ 1147 1148 --shadow-drawer: 0px 4px 20px rgb(var(--color-shadow-rgb) / var(--opacity-15)); 1149 1150 1151 --shadow-blur: 20px; 1152 --shadow-popover: 0px 4px 20px rgb(var(--color-shadow-rgb) / var(--opacity-15)); 1153 1154 } 1155 1156 1157 1158 1159 .color-scheme-4 { 1160 --color-background: rgb(225 237 245 / 1.0); 1161 /* RGB values only to apply different opacities - Relative color values are not supported in iOS < 16.4 */ 1162 --color-background-rgb: 225 237 245; 1163 --opacity-5-15: 0.05; 1164 --opacity-10-25: 0.1; 1165 --opacity-35-55: 0.35; 1166 --opacity-40-60: 0.4; 1167 --opacity-30-60: 0.3; 1168 --color-foreground: rgb(0 0 0 / 0.81); 1169 --color-foreground-rgb: 0 0 0; 1170 --color-foreground-heading: rgb(0 0 0 / 1.0); 1171 --color-foreground-heading-rgb: 0 0 0; 1172 --color-primary: rgb(0 0 0 / 0.81); 1173 --color-primary-rgb: 0 0 0; 1174 --color-primary-hover: rgb(0 0 0 / 1.0); 1175 --color-primary-hover-rgb: 0 0 0; 1176 --color-border: rgb(29 54 134 / 0.5); 1177 --color-border-rgb: 29 54 134; 1178 --color-shadow: rgb(0 0 0 / 1.0); 1179 --color-shadow-rgb: 0 0 0; 1180 --color-primary-button-text: rgb(255 255 255 / 1.0); 1181 --color-primary-button-background: rgb(0 0 0 / 1.0); 1182 --color-primary-button-border: rgb(29 54 134 / 1.0); 1183 --color-primary-button-hover-text: rgb(255 255 255 / 1.0); 1184 --color-primary-button-hover-background: rgb(51 51 51 / 1.0); 1185 --color-primary-button-hover-border: rgb(0 0 0 / 1.0); 1186 --color-secondary-button-text: rgb(0 0 0 / 1.0); 1187 --color-secondary-button-background: rgb(0 0 0 / 0.0); 1188 --color-secondary-button-border: rgb(0 0 0 / 1.0); 1189 --color-secondary-button-hover-text: rgb(0 0 0 / 0.81); 1190 --color-secondary-button-hover-background: rgb(255 255 255 / 0.36); 1191 --color-secondary-button-hover-border: rgb(0 0 0 / 0.81); 1192 --color-input-background: rgb(0 0 0 / 0.0); 1193 --color-input-text: rgb(0 0 0 / 0.81); 1194 --color-input-text-rgb: 0 0 0; 1195 --color-input-border: rgb(0 0 0 / 0.81); 1196 --color-input-hover-background: rgb(255 255 255 / 0.36); 1197 --color-variant-background: rgb(255 255 255 / 1.0); 1198 --color-variant-border: rgb(230 230 230 / 1.0); 1199 --color-variant-text: rgb(0 0 0 / 1.0); 1200 --color-variant-text-rgb: 0 0 0; 1201 --color-variant-hover-background: rgb(245 245 245 / 1.0); 1202 --color-variant-hover-text: rgb(0 0 0 / 1.0); 1203 --color-variant-hover-border: rgb(230 230 230 / 1.0); 1204 --color-selected-variant-background: rgb(0 0 0 / 1.0); 1205 --color-selected-variant-border: rgb(0 0 0 / 1.0); 1206 --color-selected-variant-text: rgb(255 255 255 / 1.0); 1207 --color-selected-variant-hover-background: rgb(26 26 26 / 1.0); 1208 --color-selected-variant-hover-text: rgb(255 255 255 / 1.0); 1209 --color-selected-variant-hover-border: rgb(26 26 26 / 1.0); 1210 1211 --input-disabled-background-color: rgb(var(--color-foreground-rgb) / var(--opacity-10)); 1212 --input-disabled-border-color: rgb(var(--color-foreground-rgb) / var(--opacity-5-15)); 1213 --input-disabled-text-color: rgb(var(--color-foreground-rgb) / var(--opacity-50)); 1214 --color-foreground-muted: rgb(var(--color-foreground-rgb) / var(--opacity-60)); 1215 --font-h1--color: var(--color-foreground-heading); 1216 --font-h2--color: var(--color-foreground-heading); 1217 --font-h3--color: var(--color-foreground-heading); 1218 --font-h4--color: var(--color-foreground-heading); 1219 --font-h5--color: var(--color-foreground-heading); 1220 --font-h6--color: var(--color-foreground-heading); 1221 1222 /* Shadows */ 1223 1224 --shadow-drawer: 0px 4px 20px rgb(var(--color-shadow-rgb) / var(--opacity-15)); 1225 1226 1227 --shadow-blur: 20px; 1228 --shadow-popover: 0px 4px 20px rgb(var(--color-shadow-rgb) / var(--opacity-15)); 1229 1230 } 1231 1232 1233 1234 1235 .color-scheme-5 { 1236 --color-background: rgb(51 51 51 / 1.0); 1237 /* RGB values only to apply different opacities - Relative color values are not supported in iOS < 16.4 */ 1238 --color-background-rgb: 51 51 51; 1239 --opacity-5-15: 0.15; 1240 --opacity-10-25: 0.25; 1241 --opacity-35-55: 0.55; 1242 --opacity-40-60: 0.6; 1243 --opacity-30-60: 0.6; 1244 --color-foreground: rgb(255 255 255 / 1.0); 1245 --color-foreground-rgb: 255 255 255; 1246 --color-foreground-heading: rgb(255 255 255 / 1.0); 1247 --color-foreground-heading-rgb: 255 255 255; 1248 --color-primary: rgb(255 255 255 / 1.0); 1249 --color-primary-rgb: 255 255 255; 1250 --color-primary-hover: rgb(255 255 255 / 0.69); 1251 --color-primary-hover-rgb: 255 255 255; 1252 --color-border: rgb(255 255 255 / 0.69); 1253 --color-border-rgb: 255 255 255; 1254 --color-shadow: rgb(0 0 0 / 1.0); 1255 --color-shadow-rgb: 0 0 0; 1256 --color-primary-button-text: rgb(0 0 0 / 1.0); 1257 --color-primary-button-background: rgb(255 255 255 / 1.0); 1258 --color-primary-button-border: rgb(255 255 255 / 1.0); 1259 --color-primary-button-hover-text: rgb(255 255 255 / 1.0); 1260 --color-primary-button-hover-background: rgb(0 0 0 / 1.0); 1261 --color-primary-button-hover-border: rgb(0 0 0 / 1.0); 1262 --color-secondary-button-text: rgb(255 255 255 / 1.0); 1263 --color-secondary-button-background: rgb(0 0 0 / 0.0); 1264 --color-secondary-button-border: rgb(255 255 255 / 0.69); 1265 --color-secondary-button-hover-text: rgb(255 255 255 / 0.93); 1266 --color-secondary-button-hover-background: rgb(255 255 255 / 0.04); 1267 --color-secondary-button-hover-border: rgb(255 255 255 / 0.69); 1268 --color-input-background: rgb(51 51 51 / 1.0); 1269 --color-input-text: rgb(255 255 255 / 0.93); 1270 --color-input-text-rgb: 255 255 255; 1271 --color-input-border: rgb(255 255 255 / 0.69); 1272 --color-input-hover-background: rgb(255 255 255 / 0.04); 1273 --color-variant-background: rgb(255 255 255 / 1.0); 1274 --color-variant-border: rgb(230 230 230 / 1.0); 1275 --color-variant-text: rgb(0 0 0 / 1.0); 1276 --color-variant-text-rgb: 0 0 0; 1277 --color-variant-hover-background: rgb(245 245 245 / 1.0); 1278 --color-variant-hover-text: rgb(0 0 0 / 1.0); 1279 --color-variant-hover-border: rgb(230 230 230 / 1.0); 1280 --color-selected-variant-background: rgb(0 0 0 / 1.0); 1281 --color-selected-variant-border: rgb(0 0 0 / 1.0); 1282 --color-selected-variant-text: rgb(255 255 255 / 1.0); 1283 --color-selected-variant-hover-background: rgb(26 26 26 / 1.0); 1284 --color-selected-variant-hover-text: rgb(255 255 255 / 1.0); 1285 --color-selected-variant-hover-border: rgb(26 26 26 / 1.0); 1286 1287 --input-disabled-background-color: rgb(var(--color-foreground-rgb) / var(--opacity-10)); 1288 --input-disabled-border-color: rgb(var(--color-foreground-rgb) / var(--opacity-5-15)); 1289 --input-disabled-text-color: rgb(var(--color-foreground-rgb) / var(--opacity-50)); 1290 --color-foreground-muted: rgb(var(--color-foreground-rgb) / var(--opacity-60)); 1291 --font-h1--color: var(--color-foreground-heading); 1292 --font-h2--color: var(--color-foreground-heading); 1293 --font-h3--color: var(--color-foreground-heading); 1294 --font-h4--color: var(--color-foreground-heading); 1295 --font-h5--color: var(--color-foreground-heading); 1296 --font-h6--color: var(--color-foreground-heading); 1297 1298 /* Shadows */ 1299 1300 --shadow-drawer: 0px 4px 20px rgb(var(--color-shadow-rgb) / var(--opacity-15)); 1301 1302 1303 --shadow-blur: 20px; 1304 --shadow-popover: 0px 4px 20px rgb(var(--color-shadow-rgb) / var(--opacity-15)); 1305 1306 } 1307 1308 1309 1310 1311 .color-scheme-6 { 1312 --color-background: rgb(0 0 0 / 0.0); 1313 /* RGB values only to apply different opacities - Relative color values are not supported in iOS < 16.4 */ 1314 --color-background-rgb: 0 0 0; 1315 --opacity-5-15: 0.15; 1316 --opacity-10-25: 0.25; 1317 --opacity-35-55: 0.55; 1318 --opacity-40-60: 0.6; 1319 --opacity-30-60: 0.6; 1320 --color-foreground: rgb(255 255 255 / 1.0); 1321 --color-foreground-rgb: 255 255 255; 1322 --color-foreground-heading: rgb(255 255 255 / 1.0); 1323 --color-foreground-heading-rgb: 255 255 255; 1324 --color-primary: rgb(255 255 255 / 1.0); 1325 --color-primary-rgb: 255 255 255; 1326 --color-primary-hover: rgb(255 255 255 / 0.69); 1327 --color-primary-hover-rgb: 255 255 255; 1328 --color-border: rgb(230 230 230 / 1.0); 1329 --color-border-rgb: 230 230 230; 1330 --color-shadow: rgb(0 0 0 / 1.0); 1331 --color-shadow-rgb: 0 0 0; 1332 --color-primary-button-text: rgb(0 0 0 / 1.0); 1333 --color-primary-button-background: rgb(255 255 255 / 1.0); 1334 --color-primary-button-border: rgb(255 255 255 / 1.0); 1335 --color-primary-button-hover-text: rgb(255 255 255 / 1.0); 1336 --color-primary-button-hover-background: rgb(0 0 0 / 1.0); 1337 --color-primary-button-hover-border: rgb(0 0 0 / 1.0); 1338 --color-secondary-button-text: rgb(255 255 255 / 1.0);
1338 1339 --color-secondary-button-background: rgb(0 0 0 / 0.0); 1340 --color-secondary-button-border: rgb(255 255 255 / 1.0); 1341 --color-secondary-button-hover-text: rgb(255 255 255 / 1.0); 1342 --color-secondary-button-hover-background: rgb(255 255 255 / 0.08); 1343 --color-secondary-button-hover-border: rgb(255 255 255 / 1.0); 1344 --color-input-background: rgb(255 255 255 / 1.0); 1345 --color-input-text: rgb(0 0 0 / 0.53); 1346 --color-input-text-rgb: 0 0 0; 1347 --color-input-border: rgb(0 0 0 / 0.13); 1348 --color-input-hover-background: rgb(250 250 250 / 1.0); 1349 --color-variant-background: rgb(255 255 255 / 1.0); 1350 --color-variant-border: rgb(230 230 230 / 1.0); 1351 --color-variant-text: rgb(0 0 0 / 1.0); 1352 --color-variant-text-rgb: 0 0 0; 1353 --color-variant-hover-background: rgb(245 245 245 / 1.0); 1354 --color-variant-hover-text: rgb(0 0 0 / 1.0); 1355 --color-variant-hover-border: rgb(230 230 230 / 1.0); 1356 --color-selected-variant-background: rgb(0 0 0 / 1.0); 1357 --color-selected-variant-border: rgb(0 0 0 / 1.0); 1358 --color-selected-variant-text: rgb(255 255 255 / 1.0); 1359 --color-selected-variant-hover-background: rgb(26 26 26 / 1.0); 1360 --color-selected-variant-hover-text: rgb(255 255 255 / 1.0); 1361 --color-selected-variant-hover-border: rgb(26 26 26 / 1.0); 1362 1363 --input-disabled-background-color: rgb(var(--color-foreground-rgb) / var(--opacity-10)); 1364 --input-disabled-border-color: rgb(var(--color-foreground-rgb) / var(--opacity-5-15)); 1365 --input-disabled-text-color: rgb(var(--color-foreground-rgb) / var(--opacity-50)); 1366 --color-foreground-muted: rgb(var(--color-foreground-rgb) / var(--opacity-60)); 1367 --font-h1--color: var(--color-foreground-heading); 1368 --font-h2--color: var(--color-foreground-heading); 1369 --font-h3--color: var(--color-foreground-heading); 1370 --font-h4--color: var(--color-foreground-heading); 1371 --font-h5--color: var(--color-foreground-heading); 1372 --font-h6--color: var(--color-foreground-heading); 1373 1374 /* Shadows */ 1375 1376 --shadow-drawer: 0px 4px 20px rgb(var(--color-shadow-rgb) / var(--opacity-15)); 1377 1378 1379 --shadow-blur: 20px; 1380 --shadow-popover: 0px 4px 20px rgb(var(--color-shadow-rgb) / var(--opacity-15)); 1381 1382 } 1383 1384 1385 1386 1387 .color-scheme-58084d4c-a86e-4d0a-855e-a0966e5043f7 { 1388 --color-background: rgb(0 0 0 / 0.0); 1389 /* RGB values only to apply different opacities - Relative color values are not supported in iOS < 16.4 */ 1390 --color-background-rgb: 0 0 0; 1391 --opacity-5-15: 0.15; 1392 --opacity-10-25: 0.25; 1393 --opacity-35-55: 0.55; 1394 --opacity-40-60: 0.6; 1395 --opacity-30-60: 0.6; 1396 --color-foreground: rgb(0 0 0 / 1.0); 1397 --color-foreground-rgb: 0 0 0; 1398 --color-foreground-heading: rgb(0 0 0 / 1.0); 1399 --color-foreground-heading-rgb: 0 0 0; 1400 --color-primary: rgb(0 0 0 / 1.0); 1401 --color-primary-rgb: 0 0 0; 1402 --color-primary-hover: rgb(0 0 0 / 0.53); 1403 --color-primary-hover-rgb: 0 0 0; 1404 --color-border: rgb(230 230 230 / 1.0); 1405 --color-border-rgb: 230 230 230; 1406 --color-shadow: rgb(0 0 0 / 1.0); 1407 --color-shadow-rgb: 0 0 0; 1408 --color-primary-button-text: rgb(255 255 255 / 1.0); 1409 --color-primary-button-background: rgb(0 0 0 / 1.0); 1410 --color-primary-button-border: rgb(0 0 0 / 1.0); 1411 --color-primary-button-hover-text: rgb(255 255 255 / 1.0); 1412 --color-primary-button-hover-background: rgb(51 51 51 / 1.0); 1413 --color-primary-button-hover-border: rgb(51 51 51 / 1.0); 1414 --color-secondary-button-text: rgb(0 0 0 / 1.0); 1415 --color-secondary-button-background: rgb(0 0 0 / 0.0); 1416 --color-secondary-button-border: rgb(0 0 0 / 1.0); 1417 --color-secondary-button-hover-text: rgb(51 51 51 / 1.0); 1418 --color-secondary-button-hover-background: rgb(250 250 250 / 1.0); 1419 --color-secondary-button-hover-border: rgb(51 51 51 / 1.0); 1420 --color-input-background: rgb(255 255 255 / 1.0); 1421 --color-input-text: rgb(0 0 0 / 0.53); 1422 --color-input-text-rgb: 0 0 0; 1423 --color-input-border: rgb(0 0 0 / 0.13); 1424 --color-input-hover-background: rgb(250 250 250 / 1.0); 1425 --color-variant-background: rgb(255 255 255 / 1.0); 1426 --color-variant-border: rgb(230 230 230 / 1.0); 1427 --color-variant-text: rgb(0 0 0 / 1.0); 1428 --color-variant-text-rgb: 0 0 0; 1429 --color-variant-hover-background: rgb(245 245 245 / 1.0); 1430 --color-variant-hover-text: rgb(0 0 0 / 1.0); 1431 --color-variant-hover-border: rgb(230 230 230 / 1.0); 1432 --color-selected-variant-background: rgb(0 0 0 / 1.0); 1433 --color-selected-variant-border: rgb(0 0 0 / 1.0); 1434 --color-selected-variant-text: rgb(255 255 255 / 1.0); 1435 --color-selected-variant-hover-background: rgb(26 26 26 / 1.0); 1436 --color-selected-variant-hover-text: rgb(255 255 255 / 1.0); 1437 --color-selected-variant-hover-border: rgb(26 26 26 / 1.0); 1438 1439 --input-disabled-background-color: rgb(var(--color-foreground-rgb) / var(--opacity-10)); 1440 --input-disabled-border-color: rgb(var(--color-foreground-rgb) / var(--opacity-5-15)); 1441 --input-disabled-text-color: rgb(var(--color-foreground-rgb) / var(--opacity-50)); 1442 --color-foreground-muted: rgb(var(--color-foreground-rgb) / var(--opacity-60)); 1443 --font-h1--color: var(--color-foreground-heading); 1444 --font-h2--color: var(--color-foreground-heading); 1445 --font-h3--color: var(--color-foreground-heading); 1446 --font-h4--color: var(--color-foreground-heading); 1447 --font-h5--color: var(--color-foreground-heading); 1448 --font-h6--color: var(--color-foreground-heading); 1449 1450 /* Shadows */ 1451 1452 --shadow-drawer: 0px 4px 20px rgb(var(--color-shadow-rgb) / var(--opacity-15)); 1453 1454 1455 --shadow-blur: 20px; 1456 --shadow-popover: 0px 4px 20px rgb(var(--color-shadow-rgb) / var(--opacity-15)); 1457 1458 } 1459 1460 1461 body, .color-scheme-1, .color-scheme-2, .color-scheme-3, .color-scheme-4, .color-scheme-5, .color-scheme-6, .color-scheme-58084d4c-a86e-4d0a-855e-a0966e5043f7 { 1462 color: var(--color-foreground); 1463 background-color: var(--color-background); 1464 } 1465</style> 1466 1467 1468
1468<script>window.performance && window.performance.mark && window.performance.mark('shopify.content_for_header.start');</script>
1468<meta name="google-site-verification" content="1bAb9ZB3qi7EXPmbGi9jC-8ahWoZUrgC7jx6tsa1GXc"> 1469<meta id="shopify-digital-wallet" name="shopify-digital-wallet" content="/74411770013/digital_wallets/dialog"> 1470<meta id="in-context-paypal-metadata" data-shop-id="74411770013" data-venmo-supported="false" data-environment="production" data-locale="en_US" data-paypal-v4="true" data-currency="USD"> 1471<link rel="ucp" href="/.well-known/ucp" version="2026-08-25"><link rel="buy" href="/cart/47476504854685:1?ucp/version=2026-08-25&context/payment/0/handler=dev.shopify.shop_pay" payment="dev.shopify.shop_pay com.google.pay dev.shopify.card"><link rel="alternate" type="application/json+oembed" href="https://the3dprintzone.com/products/strat-style-kit.oembed">
1472<script async="async" src="/checkouts/internal/preloads.js?locale=en-US"></script>
1472 1473<link rel="preconnect" href="https://shop.app" crossorigin="anonymous">
1474<script async="async" src="https://shop.app/checkouts/internal/preloads.js?locale=en-US&shop_id=74411770013" crossorigin="anonymous"></script>
vendor: 1 bytes, line 1474
1474
1475<script id="apple-pay-shop-capabilities" type="application/json">{"shopId":74411770013,"countryCode":"US","currencyCode":"USD","merchantCapabilities":["supports3DS"],"merchantId":"gid:\/\/shopify\/Shop\/74411770013","merchantName":"The 3D Print Zone","requiredBillingContactFields":["postalAddress","email"],"requiredShippingContactFields":["postalAddress","email"],"shippingType":"shipping","supportedNetworks":["visa","masterCard","discover","amex","elo","jcb"],"total":{"type":"pending","label":"The 3D Print Zone","amount":"1.00"},"shopifyPaymentsEnabled":true,"supportsSubscriptions":true}</script>
vendor: 1 bytes, line 1475
1475
1476<script id="shopify-features" type="application/json">{"accessToken":"3a250042ee6299b6f91b9251f4e9dfb4","betas":["rich-media-storefront-analytics"],"domain":"the3dprintzone.com","predictiveSearch":true,"shopId":74411770013,"locale":"en"}</script>
vendor: 1 bytes, line 1476
1476
1477<script>var Shopify = Shopify || {}; 1478Shopify.shop = "y2mben-z1.myshopify.com"; 1479Shopify.locale = "en"; 1480Shopify.currency = {"active":"USD","rate":"1.0"}; 1481Shopify.country = "US"; 1482Shopify.theme = {"name":"Horizon (Latest) âï¸","id":153590071453,"schema_name":"Horizon","schema_version":"3.1.0","theme_store_id":2481,"role":"main"}; 1483Shopify.theme.handle = "null"; 1484Shopify.theme.style = {"id":null,"handle":null}; 1485Shopify.cdnHost = "the3dprintzone.com/cdn"; 1486Shopify.routes = Shopify.routes || {}; 1487Shopify.routes.root = "/"; 1488Shopify.shopJsCdnBaseUrl = "https://cdn.shopify.com/shopifycloud/shop-js"; 1489Shopify.SignInWithShop = Shopify.SignInWithShop || {}; 1490Shopify.SignInWithShop.User = Shopify.SignInWithShop.User || {}; 1491Shopify.SignInWithShop.User.recognized = false;</script>
vendor: 1 bytes, line 1491
1491
1492<script type="module">!function(o){(o.Shopify=o.Shopify||{}).modules=!0}(window);</script>
vendor: 1 bytes, line 1492
1492
1493<script>!function(o){function n(){var o=[];function n(){o.push(Array.prototype.slice.apply(arguments))}return n.q=o,n}var t=o.Shopify=o.Shopify||{};t.loadFeatures=n(),t.autoloadFeatures=n()}(window);</script>
vendor: 1 bytes, line 1493
1493
1494<script> 1495 window.ShopifyPay = window.ShopifyPay || {}; 1496 window.ShopifyPay.apiHost = "shop.app\/pay"; 1497 window.ShopifyPay.redirectState = null; 1498</script>
vendor: 1 bytes, line 1498
1498
1499<script> 1500 window.Shopify = window.Shopify || {}; 1501 window.Shopify.SignInWithShop = window.Shopify.SignInWithShop || {}; 1502 window.Shopify.SignInWithShop.assetMetrics = { sampleRate: 0.25 }; 1503 window.Shopify.SignInWithShop.eligible = true; 1504</script>
vendor: 1 bytes, line 1504
1504
1505<script id="shop-js-analytics" type="application/json">{"pageType":"product"}</script>
vendor: 1 bytes, line 1505
1505
1506<script defer="defer" async type="module" src="https://cdn.shopify.com/shopifycloud/shop-js/modules/v2/loader.init-shop-cart-sync.en.esm.js"></script>
vendor: 1 bytes, line 1506
1506
1507<script type="module"> 1508 await import("https://cdn.shopify.com/shopifycloud/shop-js/modules/v2/loader.init-shop-cart-sync.en.esm.js"); 1509 1510 window.Shopify.SignInWithShop?.initShopCartSync?.({"fedCMEnabled":true,"windoidEnabled":true}); 1511 1512</script>
vendor: 1 bytes, line 1512
1512
1513<script> 1514 window.Shopify = window.Shopify || {}; 1515 if (!window.Shopify.featureAssets) window.Shopify.featureAssets = {}; 1516 window.Shopify.featureAssets['shop-js'] = {"avatar":["modules/v2/loader.avatar.en.esm.js"],"checkout-modal":["modules/v2/loader.checkout-modal.en.esm.js"],"init-customer-accounts-sign-up":["modules/v2/loader.init-customer-accounts-sign-up.en.esm.js"],"init-customer-accounts":["modules/v2/loader.init-customer-accounts.en.esm.js"],"init-fed-cm":["modules/v2/loader.init-fed-cm.en.esm.js"],"init-shop-cart-sync":["modules/v2/loader.init-shop-cart-sync.en.esm.js"],"init-shop-email-lookup-coordinator":["modules/v2/loader.init-shop-email-lookup-coordinator.en.esm.js"],"init-shop-for-new-customer-accounts":["modules/v2/loader.init-shop-for-new-customer-accounts.en.esm.js"],"init-shop-user-recognition":["modules/v2/loader.init-shop-user-recognition.en.esm.js"],"init-windoid":["modules/v2/loader.init-windoid.en.esm.js"],"lead-capture":["modules/v2/loader.lead-capture.en.esm.js"],"listener":["modules/v2/loader.listener.en.esm.js"],"pay-button":["modules/v2/loader.pay-button.en.esm.js"],"payment-terms":["modules/v2/loader.payment-terms.en.esm.js"],"shop-button":["modules/v2/loader.shop-button.en.esm.js"],"shop-cart-sync":["modules/v2/loader.shop-cart-sync.en.esm.js"],"shop-cash-offers":["modules/v2/loader.shop-cash-offers.en.esm.js"],"shop-follow-button":["modules/v2/loader.shop-follow-button.en.esm.js"],"shop-login-button":["modules/v2/loader.shop-login-button.en.esm.js"],"shop-login":["modules/v2/loader.shop-login.en.esm.js"],"shop-toast-manager":["modules/v2/loader.shop-toast-manager.en.esm.js"],"shop-user-recognition":["modules/v2/loader.shop-user-recognition.en.esm.js"]}; 1517</script>
vendor: 1 bytes, line 1517
1517
1518<script>(function() { 1519 var isLoaded = false; 1520 function asyncLoad() { 1521 if (isLoaded) return; 1522 isLoaded = true; 1523 var urls = ["\/\/cdn.shopify.com\/proxy\/4b8ddd3229aed1e7f076e2a7a3984fa54ea3e3a3f901a142a79ca6eae00261e3\/d1639lhkj5l89m.cloudfront.net\/js\/storefront\/uppromote.js?shop=y2mben-z1.myshopify.com\u0026sp-cache-control=cHVibGljLCBtYXgtYWdlPTkwMA"]; 1524 for (var i = 0; i < urls.length; i++) { 1525 var s = document.createElement('script'); 1526 s.type = 'text/javascript'; 1527 s.async = true; 1528 s.src = urls[i]; 1529 var x = document.getElementsByTagName('script')[0]; 1530 x.parentNode.insertBefore(s, x); 1531 } 1532 }; 1533 if(window.attachEvent) { 1534 window.attachEvent('onload', asyncLoad); 1535 } else { 1536 window.addEventListener('load', asyncLoad, false); 1537 } 1538})();</script>
vendor: 1 bytes, line 1538
1538
1539<script id="__st">var __st={"a":74411770013,"offset":-14400,"reqid":"0541e9ee-c149-4c9a-8c61-af6c860bb53d-1791426631","pageurl":"the3dprintzone.com\/products\/strat-style-kit?variant=47476504854685","u":"03abadf19d4c","p":"product","rtyp":"product","rid":8793869025437};</script>
vendor: 1 bytes, line 1539
1539
1540<script>window.ShopifyPaypalV4VisibilityTracking = true;</script>
vendor: 1 bytes, line 1540
1540
1541<script id="captcha-bootstrap">!function(){'use strict';const t='contact',e='account',n='new_comment',o=[[t,t],['blogs',n],['comments',n],[t,'customer']],c=[[e,'customer_login'],[e,'guest_login'],[e,'recover_customer_password'],[e,'create_customer']],r=t=>t.map((([t,e])=>`form[action*='/${t}']:not([data-nocaptcha='true']) input[name='form_type'][value='${e}']`)).join(','),a=t=>()=>t?[...document.querySelectorAll(t)].map((t=>t.form)):[];function s(){const t=[...o],e=r(t);return a(e)}const i='password',u='form_key',d=['recaptcha-v3-token','g-recaptcha-response','h-captcha-response',i],f=()=>{try{return window.sessionStorage}catch{return}},m='__shopify_v',_=t=>t.elements[u];function p(t,e,n=!1){try{const o=window.sessionStorage,c=JSON.parse(o.getItem(e)),{data:r}=function(t){const{data:e,action:n}=t;return t[m]||n?{data:e,action:n}:{data:t,action:n}}(c);for(const[e,n]of Object.entries(r))t.elements[e]&&(t.elements[e].value=n);n&&o.removeItem(e)}catch(o){console.error('form repopulation failed',{error:o})}}const l='form_type',E='cptcha';function T(t){t.dataset[E]=!0}const w=window,h=w.document,L='Shopify',v='ce_forms',y='captcha';let A=!1;((t,e)=>{const n=(g='f06e6c50-85a8-45c8-87d0-21a2b65856fe',I='https://cdn.shopify.com/shopifycloud/storefront-forms-hcaptcha/ce_storefront_forms_captcha_hcaptcha.v1.5.3.iife.js',D={infoText:'Protected by hCaptcha',privacyText:'Privacy',termsText:'Terms'},(t,e,n)=>{const o=w[L][v],c=o.bindForm;if(c)return c(t,g,e,D).then(n);var r;o.q.push([[t,g,e,D],n]),r=I,A||(h.body.append(Object.assign(h.createElement('script'),{id:'captcha-provider',async:!0,src:r})),A=!0)});var g,I,D;w[L]=w[L]||{},w[L][v]=w[L][v]||{},w[L][v].q=[],w[L][y]=w[L][y]||{},w[L][y].protect=function(t,e){n(t,void 0,e),T(t)},Object.freeze(w[L][y]),function(t,e,n,w,h,L){const[v,y,A,g]=function(t,e,n){const i=e?o:[],u=t?c:[],d=[...i,...u],f=r(d),m=r(i),_=r(d.filter((([t,e])=>n.includes(e))));return[a(f),a(m),a(_),s()]}(w,h,L),I=t=>{const e=t.target;return e instanceof HTMLFormElement?e:e&&e.form},D=t=>v().includes(t);t.addEventListener('submit',(t=>{const e=I(t);if(!e)return;const n=D(e)&&!e.dataset.hcaptchaBound&&!e.dataset.recaptchaBound,o=_(e),c=g().includes(e)&&(!o||!o.value);(n||c)&&t.preventDefault(),c&&!n&&(function(t){try{if(!f())return;!function(t){const e=f();if(!e)return;const n=_(t);if(!n)return;const o=n.value;o&&e.removeItem(o)}(t);const e=Array.from(Array(32),(()=>Math.random().toString(36)[2])).join('');!function(t,e){_(t)||t.append(Object.assign(document.createElement('input'),{type:'hidden',name:u})),t.elements[u].value=e}(t,e),function(t,e){const n=f();if(!n)return;const o=[...t.querySelectorAll(`input[type='${i}']`)].map((({name:t})=>t)),c=[...d,...o],r={};for(const[a,s]of new FormData(t).entries())c.includes(a)||(r[a]=s);n.setItem(e,JSON.stringify({[m]:1,action:t.action,data:r}))}(t,e)}catch(e){console.error('failed to persist form',e)}}(e),e.submit())}));const S=(t,e)=>{t&&!t.dataset[E]&&(n(t,e.some((e=>e===t))),T(t))};for(const o of['focusin','change'])t.addEventListener(o,(t=>{const e=I(t);D(e)&&S(e,y())}));const B=e.get('form_key'),M=e.get(l),P=B&&M;t.addEventListener('DOMContentLoaded',(()=>{const t=y();if(P)for(const e of t)e.elements[l].value===M&&p(e,B);[...new Set([...A(),...v().filter((t=>'true'===t.dataset.shopifyCaptcha))])].forEach((e=>S(e,t)))}))}(h,new URLSearchParams(w.location.search),n,t,e,['guest_login'])})(!0,!0)}();</script>
vendor: 1 bytes, line 1541
1541
1542<script integrity="sha256-JjoPp5ZfB1sSAs5SQaol1x1GgvveM+BgmRzyDexInEQ=" data-source-attribution="shopify.loadfeatures" defer="defer" src="//the3dprintzone.com/cdn/shopifycloud/storefront/assets/storefront/load_feature-1bd60354.js" crossorigin="anonymous"></script>
vendor: 1 bytes, line 1542
1542
1543<script>(function () {var userAgent = navigator.userAgent;var platform = navigator.platform;var maxTouchPoints = navigator.maxTouchPoints || 0;var isIOS = /iPad|iPhone|iPod/.test(platform) || (platform === 'MacIntel' && maxTouchPoints > 1);var isMacSafari = platform.indexOf('Mac') === 0 && /Safari/.test(userAgent) && !/Chrome|Chromium|CriOS|FxiOS|Edg|OPR|Android/.test(userAgent);var isAppleSafari = isIOS || isMacSafari;if (isAppleSafari) {fetch('/sf_private_access_tokens' + location.search).catch(function () {});}function browserMajorVersion(pattern) {var match = userAgent.match(pattern);return match ? parseInt(match[1], 10) : null;}function shouldLoadAutosizesPolyfill() {if (!window.PerformanceObserver?.supportedEntryTypes?.includes('paint')) {return false;}var chromeVersion = browserMajorVersion(/Chrome\/(\d+)/);if (chromeVersion !== null) {return chromeVersion < 126;}var firefoxVersion = browserMajorVersion(/Firefox\/(\d+)/);if (firefoxVersion !== null) {return firefoxVersion < 150;}var safariVersion = isAppleSafari ? browserMajorVersion(/Version\/(\d+).*Safari\//) : null;if (safariVersion !== null) {return safariVersion < 27;}return true;}if (shouldLoadAutosizesPolyfill()) {var autosizesScript = document.createElement('script');autosizesScript.async = true;autosizesScript.crossOrigin = 'anonymous';autosizesScript.src = "//the3dprintzone.com/cdn/shopifycloud/storefront/assets/storefront/autosizes-84416378.js";(document.head || document.documentElement).appendChild(autosizesScript);}window.ShopifyAnalytics = window.ShopifyAnalytics || {};window.ShopifyAnalytics.performance = window.ShopifyAnalytics.performance || {};(function () {var LONG_FRAME_THRESHOLD = 50;var longAnimationFrames = [];var activeRafId = null;function collectLongFrames() {var previousTime = null;function rafMonitor(now) {if (activeRafId === null) {return;}var delta = now - previousTime;if (delta > LONG_FRAME_THRESHOLD) {longAnimationFrames.push({startTime: previousTime,endTime: now,});}previousTime = now;activeRafId = requestAnimationFrame(rafMonitor);}previousTime = performance.now();activeRafId = requestAnimationFrame(rafMonitor);}if (!window.PerformanceObserver?.supportedEntryTypes?.includes('long-animation-frame')) {collectLongFrames();var timeoutId = setTimeout(function () {cancelAnimationFrame(activeRafId);}, 10000);window.ShopifyAnalytics.performance.getLongAnimationFrames = function (stopCollection) {if (stopCollection === undefined) {stopCollection = false;}if (stopCollection) {clearTimeout(timeoutId);cancelAnimationFrame(activeRafId);}return longAnimationFrames;};}})();})();</script>
1543<script crossorigin="anonymous" defer="defer" src="//the3dprintzone.com/cdn/shopifycloud/storefront/assets/shopify_pay/storefront-f0e26bdf.js?v=20250812"></script>
vendor: 1 bytes, line 1543
1543
1544<script id="shopify-origin-trials" async="async" integrity="sha256-qJbe/jEZBHtr5W/BlA2cKAz3vkXu6vJQyLjgvgCC86g=" src="//cdn.shopify.com/shopifycloud/storefront/assets/storefront/origin_trials-318ab40a.js" crossorigin="anonymous" onload="window.__shopifyOriginTrialsDone = true" onerror="window.__shopifyOriginTrialsDone = true"></script>
vendor: 1 bytes, line 1544
1544
1545<script> 1546 window.Shopify = window.Shopify || {}; 1547 window.Shopify.MCP = window.Shopify.MCP || {}; 1548 window.Shopify.MCP.enabled = true; 1549 window.Shopify.MCP.shop = "y2mben-z1.myshopify.com"; 1550 window.Shopify.MCP.mcpEndpoint = "https:\/\/the3dprintzone.com\/api\/mcp"; 1551 window.Shopify.MCP.tools = [{"name":"search_shop_policies_and_faqs","description":"Used to get facts about the stores policies, products, or services.\nSome examples of questions you can ask are:\n - What is your return policy?\n - What is your shipping policy?\n - What is your phone number?\n - What are your hours of operation?\"\nSet policy_types to also get the store's written policies (full text and URL).\n","inputSchema":{"$schema":"https:\/\/json-schema.org\/draft\/2020-12\/schema","type":"object","properties":{"query":{"type":"string","description":"A natural language query."},"context":{"type":"string","description":"Additional information about the request such as user demographics, mood, location, or other relevant details that could help in tailoring the response appropriately."},"policy_types":{"type":"array","items":{"type":"string","enum":["refund","shipping","privacy","terms_of_service","terms_of_sale","subscription","legal_notice","contact"]},"description":"Policy kinds to fetch, chosen from the user's question â e.g. [\"refund\"] for returns\/exchanges\/damaged items, [\"contact\"] for phone\/hours\/address. Include every kind the question touches. Omit it to get only FAQ answers."}},"required":["query"]}}]; 1552</script>
vendor: 1 bytes, line 1552
1552
1553<script>(()=>{var d="shopify:webmcp_adapter_loaded",n=Symbol.for("shopify.webmcp_adapter_loading");function s(c,a,{win:r=window,doc:o=document}={}){function p(){try{return r.localStorage.getItem(d)==="true"}catch{return!1}}function l(){try{r.localStorage.setItem(d,"true")}catch{}}function u(){return typeof(o.modelContext||r.navigator?.modelContext)?.registerTool=="function"}function f(){if(r[n]||!u())return;let t=o.head||o.getElementsByTagName("head")[0];if(!t)return;let e=o.createElement("script");e.type="module",e.crossOrigin="anonymous",a&&(e.integrity=a),e.src=c,e.addEventListener("load",l,{once:!0}),e.addEventListener("error",()=>{r[n]=!1},{once:!0}),t.appendChild(e),r[n]=!0}function _(t){let e=o.getElementById("shopify-origin-trials");if(!e||r.__shopifyOriginTrialsDone){t();return}e.addEventListener("load",t,{once:!0}),e.addEventListener("error",t,{once:!0})}function i(){_(()=>r.setTimeout(f,0))}function m(){o.addEventListener("DOMContentLoaded",i,{once:!0})}p()?i():m()}s("\/\/the3dprintzone.com\/cdn\/shopifycloud\/storefront\/assets\/storefront\/webmcp-c6b62ece.js","sha256-ke4DDuBjdvea3vxLWxHc9E9nq8zihuG4IfYEGbb77ys=");})(); 1554</script>
vendor: 1 bytes, line 1554
1554
1555<script data-source-attribution="shopify.dynamic_checkout.dynamic.init">var Shopify=Shopify||{};Shopify.PaymentButton=Shopify.PaymentButton||{isStorefrontPortableWallets:!0,init:function(){window.Shopify.PaymentButton.init=function(){};var t=document.createElement("script");t.src="https://the3dprintzone.com/cdn/shopifycloud/portable-wallets/latest/portable-wallets.en.js",t.type="module",document.head.appendChild(t)}}; 1556</script>
vendor: 1 bytes, line 1556
1556
1557<script data-source-attribution="shopify.dynamic_checkout.buyer_consent"> 1558 function portableWalletsHideBuyerConsent(e){var t=document.getElementById("shopify-buyer-consent"),n=document.getElementById("shopify-subscription-policy-button");t&&n&&(t.classList.add("hidden"),t.setAttribute("aria-hidden","true"),n.removeEventListener("click",e))}function portableWalletsShowBuyerConsent(e){var t=document.getElementById("shopify-buyer-consent"),n=document.getElementById("shopify-subscription-policy-button");t&&n&&(t.classList.remove("hidden"),t.removeAttribute("aria-hidden"),n.addEventListener("click",e))}window.Shopify?.PaymentButton&&(window.Shopify.PaymentButton.hideBuyerConsent=portableWalletsHideBuyerConsent,window.Shopify.PaymentButton.showBuyerConsent=portableWalletsShowBuyerConsent); 1559</script>
vendor: 1 bytes, line 1559
1559
1560<script> 1561 function portableWalletsCleanup(e){e&&e.src&&console.error("Failed to load portable wallets script "+e.src);var t=document.querySelectorAll("shopify-accelerated-checkout .shopify-payment-button__skeleton, shopify-accelerated-checkout-cart .wallet-cart-button__skeleton"),e=document.getElementById("shopify-buyer-consent");for(let e=0;e<t.length;e++)t[e].remove();e&&e.remove()}function portableWalletsNotLoadedAsModule(e){e instanceof ErrorEvent&&"string"==typeof e.message&&e.message.includes("import.meta")&&"string"==typeof e.filename&&e.filename.includes("portable-wallets")&&(window.removeEventListener("error",portableWalletsNotLoadedAsModule),window.Shopify.PaymentButton.failedToLoad=e,"loading"===document.readyState?document.addEventListener("DOMContentLoaded",window.Shopify.PaymentButton.init):window.Shopify.PaymentButton.init())}window.addEventListener("error",portableWalletsNotLoadedAsModule); 1562</script>
1562 1563
1564<script type="module" src="https://the3dprintzone.com/cdn/shopifycloud/portable-wallets/latest/portable-wallets.en.js" onError="portableWalletsCleanup(this)" crossorigin="anonymous"></script>
vendor: 1 bytes, line 1564
1564
1565<script nomodule> 1566 document.addEventListener("DOMContentLoaded", portableWalletsCleanup); 1567</script>
1567 1568
1569<script id='scb4127' type='text/javascript' async='' src='https://the3dprintzone.com/cdn/shopifycloud/privacy-banner/storefront-banner.js'></script>
1569<link id="shopify-accelerated-checkout-styles" rel="stylesheet" media="screen" href="https://the3dprintzone.com/cdn/shopifycloud/portable-wallets/latest/accelerated-checkout-backwards-compat.css" crossorigin="anonymous"> 1570<style id="shopify-accelerated-checkout-cart"> 1571 #shopify-buyer-consent { 1572 margin-top: 1em; 1573 display: inline-block; 1574 width: 100%; 1575} 1576 1577#shopify-buyer-consent.hidden { 1578 display: none; 1579} 1580 1581#shopify-subscription-policy-button { 1582 background: none; 1583 border: none; 1584 padding: 0; 1585 text-decoration: underline; 1586 font-size: inherit; 1587 cursor: pointer; 1588} 1589 1590#shopify-subscription-policy-button::before { 1591 box-shadow: none; 1592} 1593 1594 </style> 1595<link rel="stylesheet" media="screen" href="//the3dprintzone.com/cdn/shop/t/6/compiled_assets/styles.css?v=181891633522561252471788212060">
1596<script id="shopify-cfh-end">window.performance && window.performance.mark && window.performance.mark('shopify.content_for_header.end');</script>
1596 1597
1597<script src="//the3dprintzone.com/cdn/shop/t/6/assets/lazysizes.min.js?v=60606839967147476851772242764" async></script>
1597 1598 1599 <!-- BEGIN app block: shopify://apps/microsoft-clarity/blocks/clarity_js/31c3d126-8116-4b4a-8ba1-baeda7c4aeea -->
1600<script type="text/javascript"> 1601 (function (c, l, a, r, i, t, y) { 1602 c[a] = c[a] || function () { (c[a].q = c[a].q || []).push(arguments); }; 1603 t = l.createElement(r); t.async = 1; t.src = "https://www.clarity.ms/tag/" + i + "?ref=shopify"; 1604 y = l.getElementsByTagName(r)[0]; y.parentNode.insertBefore(t, y); 1605 1606 c.Shopify.loadFeatures([{ name: "consent-tracking-api", version: "0.1" }], error => { 1607 if (error) { 1608 console.error("Error loading Shopify features:", error); 1609 return; 1610 } 1611 1612 c[a]('consentv2', { 1613 ad_Storage: c.Shopify.customerPrivacy.marketingAllowed() ? "granted" : "denied", 1614 analytics_Storage: c.Shopify.customerPrivacy.analyticsProcessingAllowed() ? "granted" : "denied", 1615 source: 101, 1616 }); 1617 }); 1618 1619 l.addEventListener("visitorConsentCollected", function (e) { 1620 c[a]('consentv2', { 1621 ad_Storage: e.detail.marketingAllowed ? "granted" : "denied", 1622 analytics_Storage: e.detail.analyticsAllowed ? "granted" : "denied", 1623 source: 101, 1624 }); 1625 }); 1626 })(window, document, "clarity", "script", "x1jl1znn93"); 1627</script>
1627 1628 1629 1630 1631<!-- END app block --><!-- BEGIN app block: shopify://apps/uppromote-affiliate/blocks/core-script/64c32457-930d-4cb9-9641-e24c0d9cf1f4 --><!-- BEGIN app snippet: core-metafields-setting --><!--suppress ES6ConvertVarToLetConst -->
1632<script type="application/json" id="core-uppromote-settings">{"app_env":{"env":"production"}}</script>
vendor: 1 bytes, line 1632
1632
1633<script type="application/json" id="core-uppromote-cart">{"note":null,"attributes":{},"original_total_price":0,"total_price":0,"total_discount":0,"total_weight":0.0,"item_count":0,"items":[],"requires_shipping":false,"currency":"USD","items_subtotal_price":0,"cart_level_discount_applications":[],"checkout_charge_amount":0}</script>
1633 1634
1635<script id="core-uppromote-quick-store-tracking-vars"> 1636 function getDocumentContext(){const{href:a,hash:b,host:c,hostname:d,origin:e,pathname:f,port:g,protocol:h,search:i}=window.location,j=document.referrer,k=document.characterSet,l=document.title;return{location:{href:a,hash:b,host:c,hostname:d,origin:e,pathname:f,port:g,protocol:h,search:i},referrer:j||document.location.href,characterSet:k,title:l}}function getNavigatorContext(){const{language:a,cookieEnabled:b,languages:c,userAgent:d}=navigator;return{language:a,cookieEnabled:b,languages:c,userAgent:d}}function getWindowContext(){const{innerHeight:a,innerWidth:b,outerHeight:c,outerWidth:d,origin:e,screen:{height:j,width:k},screenX:f,screenY:g,scrollX:h,scrollY:i}=window;return{innerHeight:a,innerWidth:b,outerHeight:c,outerWidth:d,origin:e,screen:{screenHeight:j,screenWidth:k},screenX:f,screenY:g,scrollX:h,scrollY:i,location:getDocumentContext().location}}function getContext(){return{document:getDocumentContext(),navigator:getNavigatorContext(),window:getWindowContext()}} 1637 if (window.location.href.includes('?sca_ref=')) { 1638 localStorage.setItem('__up_lastViewedPageContext', JSON.stringify({ 1639 context: getContext(), 1640 timestamp: new Date().toISOString(), 1641 })) 1642 } 1643</script>
1643 1644 1645
1646<script id="core-uppromote-setting-booster"> 1647 var UpPromoteCoreSettings = JSON.parse(document.getElementById('core-uppromote-settings').textContent) 1648 UpPromoteCoreSettings.currentCart = JSON.parse(document.getElementById('core-uppromote-cart')?.textContent || '{}') 1649 const idToClean = ['core-uppromote-settings', 'core-uppromote-cart', 'core-uppromote-setting-booster', 'core-uppromote-quick-store-tracking-vars'] 1650 idToClean.forEach(id => { 1651 document.getElementById(id)?.remove() 1652 }) 1653</script>
1653 1654<!-- END app snippet --> 1655 1656 1657<!-- END app block --><!-- BEGIN app block: shopify://apps/judge-me-reviews/blocks/judgeme_core/61ccd3b1-a9f2-4160-9fe9-4fec8413e5d8 --><!-- Start of Judge.me Core --> 1658 1659 1660 1661 1662 1663 1664 1665<link rel="dns-prefetch" href="https://cdn.judge.me"> 1666<link rel="dns-prefetch" href="https://cdn1.judge.me"> 1667<link rel="dns-prefetch" href="https://api.judge.me"> 1668
1669<script data-cfasync='false' class='jdgm-settings-script'>window.jdgmSettings={"pagination":5,"disable_web_reviews":false,"coupon_receiving_condition":"","coupon_value_type":"fixed_amount","coupon_value_percentage":10,"coupon_value_fixed_amount":10.0,"coupon_discount_type":"single","coupon_tier_text_enabled":false,"coupon_tier_text_percentage":10,"coupon_tier_text_fixed_amount":0,"coupon_tier_photo_enabled":false,"coupon_tier_photo_percentage":10,"coupon_tier_photo_fixed_amount":0,"coupon_tier_video_enabled":false,"coupon_tier_video_percentage":10,"coupon_tier_video_fixed_amount":0,"enable_coupons":false,"badge_no_review_text":"No reviews","badge_n_reviews_text":"{{ n }} review/reviews","badge_star_color":"#000000","hide_badge_preview_if_no_reviews":true,"badge_hide_text":false,"enforce_center_preview_badge":false,"widget_title":"Customer Reviews","widget_open_form_text":"Write a review","widget_close_form_text":"Cancel review","widget_refresh_page_text":"Refresh page","widget_summary_text":"Based on {{ number_of_reviews }} review/reviews","widget_no_review_text":"Be the first to write a review","widget_name_field_text":"Display name","widget_verified_name_field_text":"Verified Name (public)","widget_name_placeholder_text":"Display name","widget_required_field_error_text":"This field is required.","widget_email_field_text":"Email address","widget_verified_email_field_text":"Verified Email (private, can not be edited)","widget_email_placeholder_text":"Your email address","widget_email_field_error_text":"Please enter a valid email address.","widget_rating_field_text":"Rating","widget_review_title_field_text":"Review Title","widget_review_title_placeholder_text":"Give your review a title","widget_review_body_field_text":"Review content","widget_review_body_placeholder_text":"Start writing here...","widget_pictures_field_text":"Picture/Video (optional)","widget_submit_review_text":"Submit Review","widget_submit_verified_review_text":"Submit Verified Review","widget_submit_success_msg_with_auto_publish":"Thank y
1669ou! Please refresh the page in a few moments to see your review. You can remove or edit your review by logging into \u003ca href='https://judge.me/login' target='_blank' rel='nofollow noopener'\u003eJudge.me\u003c/a\u003e","widget_submit_success_msg_no_auto_publish":"Thank you! Your review will be published as soon as it is approved by the shop admin. You can remove or edit your review by logging into \u003ca href='https://judge.me/login' target='_blank' rel='nofollow noopener'\u003eJudge.me\u003c/a\u003e","widget_show_default_reviews_out_of_total_text":"Showing {{ n_reviews_shown }} out of {{ n_reviews }} reviews.","widget_show_all_link_text":"Show all","widget_show_less_link_text":"Show less","widget_author_said_text":"{{ reviewer_name }} said:","widget_days_text":"{{ n }} days ago","widget_weeks_text":"{{ n }} week/weeks ago","widget_months_text":"{{ n }} month/months ago","widget_years_text":"{{ n }} year/years ago","widget_yesterday_text":"Yesterday","widget_today_text":"Today","widget_replied_text":"\u003e\u003e {{ shop_name }} replied:","widget_read_more_text":"Read more","widget_reviewer_name_as_initial":"","widget_rating_filter_color":"","widget_rating_filter_see_all_text":"See all reviews","widget_sorting_most_recent_text":"Most Recent","widget_sorting_highest_rating_text":"Highest Rating","widget_sorting_lowest_rating_text":"Lowest Rating","widget_sorting_with_pictures_text":"Only Pictures","widget_sorting_most_helpful_text":"Most Helpful","widget_open_question_form_text":"Ask a question","widget_reviews_subtab_text":"Reviews","widget_questions_subtab_text":"Questions","widget_question_label_text":"Question","widget_answer_label_text":"Answer","widget_question_placeholder_text":"Write your question here","widget_submit_question_text":"Submit Question","widget_question_submit_success_text":"Thank you for your question! We will notify you once it gets answered.","widget_star_color":"#000000","verified_badge_text":"Verified","verified_badge_bg_color":"","verified_badge_text_color":"","verified_badge_placement":"left-of-reviewer-name","widget_review_max_height":"","widget_hide_border":false,"widget_social_share":false,"widget_thumb":false,"widget_review_location_show":false,"widget_location_format":"","all_reviews_include_out_of_store_products":true,"all_reviews_out_of_store_text":"(out of store)","all_reviews_pagination":100,"all_reviews_product_name_prefix_text":"about","enable_review_pictures":true,"enable_question_anwser":false,"widget_theme":"","review_date_format":"mm/dd/yyyy","default_sort_method":"most-recent","enable_ai_review_visibility":true,"widget_product_reviews_subtab_text":"Product Reviews","widget_shop_reviews_subtab_text":"Shop Reviews","widget_other_products_reviews_text":"Reviews for other products","widget_store_reviews_subtab_text":"Store reviews","widget_product_variant_reference_text":"Review for","widget_no_store_reviews_text":"This store hasn't received any reviews yet","widget_web_restriction_product_reviews_text":"This product hasn't received any reviews yet","widget_no_items_text":"No items found","widget_show_more_text":"Show more","widget_write_a_store_review_text":"Write a Store Review","widget_product_and_store_reviews_text":"Product and store reviews","widget_reviews_in_collection_text":"Reviews in this collection","widget_other_languages_heading":"Reviews in Other Languages","widget_translate_review_text":"Translate review to {{ language }}","widget_translating_review_text":"Translating...","widget_show_original_translation_text":"Show original ({{ language }})","widget_translate_review_failed_text":"Review couldn't be translated.","widget_translate_review_retry_text":"Retry","widget_translate_review_try_again_later_text":"Try again later","show_product_url_for_grouped_product":false,"widget_sorting_pictures_first_text":"Pictures First","show_pictures_on_all_rev_page_mobile":false,"show_pictures_on_all_rev_page_desktop":false,"floating_tab_hide_mobile_install_preference":false,"floating_tab_button_name":"â
Reviews","floating_tab_title":"Let customers speak for us","floating_tab_button_color":"","floating_tab_button_background_color":"","floating_tab_url":"","floating_tab_url_enabled":false,"floating_tab_tab_style":"text","all_reviews_text_badge_text":"Customers rate us {{ shop.metafields.judgeme.all_reviews_rating | round: 1 }}/5 based on {{ shop.metafields.judgeme.all_reviews_count }} reviews.","all_reviews_text_badge_text_branded_style":"{{ shop.metafields.judgeme.all_reviews_rating | round: 1 }} out of 5 stars based on {{ shop.metafields.judgeme.all_reviews_count }} reviews","is_all_reviews_text_badge_a_link":false,"show_stars_for_all_reviews_text_badge":false,"all_reviews_text_badge_url":"","all_reviews_text_style":"branded","all_reviews_text_color_style":"judgeme_brand_color","all_reviews_text_color":"#108474","all_reviews_text_show_jm_brand":false,"featured_carousel_show_header":true,"featured_carousel_title":"Let customers speak for us","testimonials_carousel_title":"Customers are saying","videos_carousel_title":"Real customer stories","cards_carousel_title":"Customers are saying","featured_carousel_count_text":"from {{ n }} reviews","featured_carousel_add_link_to_all_reviews_page":false,"featured_carousel_url":"","featured_carousel_show_images":true,"featured_carousel_autoslide_interval":5,"featured_carousel_arrows_on_the_sides":false,"featured_carousel_height":250,"featured_carousel_width":80,"featured_carousel_image_size":0,"featured_carousel_image_height":250,"featured_carousel_arrow_color":"#eeeeee","verified_count_badge_style":"branded","verified_count_badge_orientation":"horizontal","verified_count_badge_color_style":"judgeme_brand_color","verified_count_badge_color":"#108474","is_verified_count_badge_a_link":false,"verified_count_badge_url":"","verified_count_badge_show_jm_brand":true,"widget_rating_preset_default":5,"widget_first_sub_tab":"product-reviews","widget_show_histogram":true,"widget_histogram_use_custom_color":false,"widget_pagination_use_custom_color":false,"widget_star_use_custom_color":false,"widget_verified_badge_use_custom_color":false,"widget_write_review_use_custom_color":false,"picture_reminder_submit_button":"Upload Pictures","enable_review_videos":true,"mute_video_by_default":false,"widget_sorting_videos_first_text":"Videos First","widget_review_pending_text":"Pending","featured_carousel_items_for_large_screen":3,"social_share_options_order":"Facebook,Twitter","remove_microdata_snippet":true,"disable_json_ld":false,"enable_json_ld_products":false,"preview_badge_show_question_text":false,"preview_badge_no_question_text":"No questions","preview_badge_n_question_text":"{{ number_of_questions }} question/questions","qa_badge_show_icon":false,"qa_badge_position":"same-row","remove_judgeme_branding":false,"widget_add_search_bar":false,"widget_search_bar_placeholder":"Search","widget_sorting_verified_only_text":"Verified only","widget_sorting_most_relevant_text":"Most Relevant","featured_carousel_theme":"default","featured_carousel_show_rating":true,"featured_carousel_show_title":true,"featured_carousel_show_body":true,"featured_carousel_show_date":false,"featured_carousel_show_reviewer":true,"featured_carousel_show_product":false,"featured_carousel_header_background_color":"#108474","featured_carousel_header_text_color":"#ffffff","featured_carousel_name_product_separator":"reviewed","featured_carousel_full_star_background":"#108474","featured_carousel_empty_star_background":"#dadada","featured_carousel_vertical_theme_background":"#f9fafb","featured_carousel_verified_badge_enable":true,"featured_carousel_verified_badge_color":"#108474","featured_carousel_border_style":"round","featured_carousel_review_line_length_limit":3,"featured_carousel_more_reviews_button_text":"Read more reviews","featured_carousel_view_product_button_text":"View product","all_reviews_page_load_reviews_on":"scroll","all_reviews_page_load_more_text":"Load More Reviews","disable_fb_tab_reviews":false,"enable_ajax_cdn_cache":false,"widget_public_name_text":"displayed publicly like","default_reviewer_name":"John Smith","default_reviewer_name_has_non_latin":true,"widget_reviewer_anonymous":"Anonymous","medals_widget_title":"Judge.me Review Medals","medals_widget_background_color":"#f9fafb","medals_widget_position":"footer_all_pages","medals_widget_border_color":"#f9fafb","medals_widget_verified_text_position":"left","medals_widget_use_monochromatic_version":false,"medals_widget_elements_color":"#108474","show_reviewer_avatar":true,"widget_invalid_yt_video_url_error_text":"Not a YouTube video URL","widget_max_length_field_error_text":"Please enter no more than {0} characters.","widget_show_country_flag":false,"widget_show_collected_via_shop_app":true,"widget_verified_by_shop_badge_style":"light","widget_verified_by_shop_text":"Verified by Shop","widget_show_photo_gallery":false,"widget_load_with_code_splitting":true,"widget_ugc_install_preference":false,"widget_ugc_title":"Made by us, Shared by you","widget_ugc_subt
1669itle":"Tag us to see your picture featured in our page","widget_ugc_arrows_color":"#ffffff","widget_ugc_primary_button_text":"Buy Now","widget_ugc_primary_button_background_color":"#108474","widget_ugc_primary_button_text_color":"#ffffff","widget_ugc_primary_button_border_width":"0","widget_ugc_primary_button_border_style":"none","widget_ugc_primary_button_border_color":"#108474","widget_ugc_primary_button_border_radius":"25","widget_ugc_secondary_button_text":"Load More","widget_ugc_secondary_button_background_color":"#ffffff","widget_ugc_secondary_button_text_color":"#108474","widget_ugc_secondary_button_border_width":"2","widget_ugc_secondary_button_border_style":"solid","widget_ugc_secondary_button_border_color":"#108474","widget_ugc_secondary_button_border_radius":"25","widget_ugc_reviews_button_text":"View Reviews","widget_ugc_reviews_button_background_color":"#ffffff","widget_ugc_reviews_button_text_color":"#108474","widget_ugc_reviews_button_border_width":"2","widget_ugc_reviews_button_border_style":"solid","widget_ugc_reviews_button_border_color":"#108474","widget_ugc_reviews_button_border_radius":"25","widget_ugc_reviews_button_link_to":"judgeme-reviews-page","widget_ugc_show_post_date":true,"widget_ugc_max_width":"800","widget_rating_metafield_value_type":true,"widget_primary_color":"#000000","widget_enable_secondary_color":false,"widget_secondary_color":"#edf5f5","widget_summary_average_rating_text":"{{ average_rating }} out of 5","widget_media_grid_title":"Customer photos \u0026 videos","widget_media_grid_see_more_text":"See more","widget_round_style":false,"widget_show_product_medals":true,"widget_verified_by_judgeme_text":"Verified by Judge.me","widget_show_store_medals":true,"widget_verified_by_judgeme_text_in_store_medals":"Verified by Judge.me","widget_media_field_exceed_quantity_message":"Sorry, we can only accept {{ max_media }} for one review.","widget_media_field_exceed_limit_message":"{{ file_name }} is too large, please select a {{ media_type }} less than {{ size_limit }}MB.","widget_review_submitted_text":"Review Submitted!","widget_question_submitted_text":"Question Submitted!","widget_close_form_text_question":"Cancel","widget_write_your_answer_here_text":"Write your answer here","widget_enabled_branded_link":true,"widget_show_collected_by_judgeme":false,"widget_reviewer_name_color":"","widget_write_review_text_color":"","widget_write_review_bg_color":"","widget_collected_by_judgeme_text":"collected by Judge.me","widget_pagination_type":"standard","widget_load_more_text":"Load More","widget_load_more_color":"#108474","widget_full_review_text":"Full Review","widget_read_more_reviews_text":"Read More Reviews","widget_read_questions_text":"Read Questions","widget_questions_and_answers_text":"Questions \u0026 Answers","widget_verified_by_text":"Verified by","widget_verified_text":"Verified","widget_number_of_reviews_text":"{{ number_of_reviews }} reviews","widget_back_button_text":"Back","widget_next_button_text":"Next","widget_custom_forms_filter_button":"Filters","custom_forms_style":"horizontal","widget_show_review_information":false,"how_reviews_are_collected":"How reviews are collected?","widget_show_review_keywords":false,"widget_gdpr_statement":"How we use your data: We'll only contact you about the review you left, and only if necessary. By submitting your review, you agree to Judge.me's \u003ca href='https://judge.me/terms' target='_blank' rel='nofollow noopener'\u003eterms\u003c/a\u003e, \u003ca href='https://judge.me/privacy' target='_blank' rel='nofollow noopener'\u003eprivacy\u003c/a\u003e and \u003ca href='https://judge.me/content-policy' target='_blank' rel='nofollow noopener'\u003econtent\u003c/a\u003e policies.","widget_multilingual_sorting_enabled":false,"widget_translate_review_content_enabled":false,"widget_translate_review_content_method":"manual","popup_widget_review_selection":"automatically_with_pictures","popup_widget_round_border_style":true,"popup_widget_show_title":true,"popup_widget_show_body":true,"popup_widget_show_reviewer":false,"popup_widget_show_product":true,"popup_widget_show_pictures":true,"popup_widget_use_review_picture":true,"popup_widget_show_on_home_page":true,"popup_widget_show_on_product_page":true,"popup_widget_show_on_collection_page":true,"popup_widget_show_on_cart_page":true,"popup_widget_position":"bottom_left","popup_widget_first_review_delay":5,"popup_widget_duration":5,"popup_widget_interval":5,"popup_widget_review_count":5,"popup_widget_hide_on_mobile":true,"popup_widget_source_mode":"auto","popup_widget_page_product":"current_product","popup_widget_page_collection":"current_collection","popup_widget_page_cart":"cart_mode","popup_widget_page_home":"all","popup_widget_star_rating":"all","popup_widget_review_type":"all","popup_widget_top_up_thin_pages":true,"popup_widget_corner_styling":"soft","review_snippet_widget_round_border_style":true,"review_snippet_widget_card_color":"#FFFFFF","review_snippet_widget_text_color":"#000000","review_snippet_widget_lighter_text_color":"#7B7B7B","review_snippet_widget_slider_arrows_background_color":"#FFFFFF","review_snippet_widget_slider_arrows_color":"#000000","review_snippet_widget_star_color":"#000000","show_product_variant":false,"all_reviews_product_variant_label_text":"Variant: ","widget_show_verified_branding":false,"widget_ai_summary_title":"Customers say","widget_ai_summary_disclaimer":"Summarized and selected by AI from recent customer reviews","widget_show_ai_summary":false,"widget_show_ai_summary_bg":false,"write_review_button_visibility":"everyone","store_summary_widget_heading":"Customers rate this store","store_summary_widget_button_text":"View customer reviews","store_summary_widget_button_theme_text":"See AI reviews summary","widget_show_review_title_input":false,"widget_autofill_review_title":true,"redirect_reviewers_invited_via_email":"external_form","request_store_review_after_product_review":true,"request_review_other_products_in_order":true,"review_form_color_scheme":"default","review_form_corner_style":"square","review_form_star_color":"#000000","review_form_text_color":"#333333","review_form_background_color":"#ffffff","review_form_field_background_color":"#fafafa","review_form_button_color":"#000000","review_form_button_text_color":"#ffffff","review_form_modal_overlay_color":"#000000","review_form_theme":"multi_step","review_form_location":"in_store_popup","review_form_external_page_background_color":"#C5F7F0","review_content_screen_title_text":"How would you rate this product?","review_content_introduction_text":"We would love it if you would share a bit about your experience.","store_review_form_title_text":"How would you rate this store?","store_review_form_introduction_text":"We would love it if you would share a bit about your experience.","show_review_guidance_text":true,"one_star_review_guidance_text":"Poor","five_star_review_guidance_text":"Great","customer_information_screen_title_text":"About you","customer_information_introduction_text":"Please tell us more about you.","custom_questions_screen_title_text":"Your experience in more detail","custom_questions_introduction_text":"Here are a few questions to help us understand more about your experience.","review_submitted_screen_title_text":"Thanks for your review!","review_submitted_screen_thank_you_text":"We are processing it and it will appear on the store soon.","review_submitted_screen_email_verification_text":"Please confirm your email by clicking the link we just sent you. This helps us keep reviews authentic.","confirm_email_screen_title_text":"Confirm your email","confirm_email_screen_message_text":"To help keep reviews authentic, we'll send you a secure link to continue writing your review. It only takes a moment.","check_email_screen_title_text":"Check your email","check_email_screen_message_text":"We sent you an email to {{ email }}. Click the button on the email to continue.","check_email_screen_resend_message_text":"Email resent!","check_email_resend_hint_text":"Didn't get the email? Check your spam folder or [resend the email].","verification_email_rate_limit_error_text":"You've reached the limit for review attempts on this product. Please check your inbox or try again later.","review_submitted_request_store_review_text":"Would you like to share your experience of shopping with us?","review_submitted_review_other_products_text":"Would you like to review these products?","store_review_screen_title_text":"Would you like to share your experience of shopping with us?","store_review_introduction_text":"We value your feedback and use it to improve. Please share any thoughts or suggestions you have.","reviewer_media_screen_title_picture_text":"Share a picture","reviewer_media_introduction_picture_text":"Upload a photo to support your review.","reviewer_media_screen_title_video_text":"Share a video","reviewer_media_introduction_video_text":"Upload a video to support your review.","reviewer_media_screen_title_picture_or_video_text":"Share a picture or video","reviewer_media_introduction_picture_or_video_text":"Upload a photo or video to support your review.","reviewer_media_
1669youtube_url_text":"Paste your Youtube URL here","advanced_settings_next_step_button_text":"Next","advanced_settings_close_review_button_text":"Close","modal_write_review_flow":true,"write_review_flow_required_text":"Required","write_review_flow_privacy_message_text":"We respect your privacy.","write_review_flow_anonymous_text":"Post review as anonymous","write_review_flow_visibility_text":"This won't be visible to other customers.","write_review_flow_multiple_selection_help_text":"Select as many as you like","write_review_flow_single_selection_help_text":"Select one option","write_review_flow_required_field_error_text":"This field is required","write_review_flow_invalid_email_error_text":"Please enter a valid email address","write_review_flow_max_length_error_text":"Max. {{ max_length }} characters.","write_review_flow_media_upload_text":"\u003cb\u003eClick to upload\u003c/b\u003e or drag and drop","write_review_flow_gdpr_statement":"We'll only contact you about your review if necessary. By submitting your review, you agree to our \u003ca href='https://judge.me/terms' target='_blank' rel='nofollow noopener'\u003eterms and conditions\u003c/a\u003e and \u003ca href='https://judge.me/privacy' target='_blank' rel='nofollow noopener'\u003eprivacy policy\u003c/a\u003e.","rating_only_reviews_enabled":false,"show_negative_reviews_help_screen":false,"new_review_flow_help_screen_rating_threshold":3,"negative_review_resolution_screen_title_text":"Tell us more","negative_review_resolution_text":"Your experience matters to us. If there were issues with your purchase, we're here to help. Feel free to reach out to us, we'd love the opportunity to make things right.","negative_review_resolution_button_text":"Contact us","negative_review_resolution_proceed_with_review_text":"Leave a review","negative_review_resolution_subject":"Issue with purchase from {{ shop_name }}.{{ order_name }}","coupon_promo_intro_any_review_text":"Write a review and get a coupon for {{ amount }} off your next purchase","coupon_promo_intro_with_photo_text":"Write a review and add a photo or video to get a coupon for {{ amount }} off your next purchase","coupon_promo_intro_with_video_text":"Write a review and add a video to get a coupon for {{ amount }} off your next purchase","coupon_promo_intro_up_to_any_review_text":"Write a review and get a coupon for up to {{ amount }} off your next purchase","coupon_promo_intro_up_to_with_photo_text":"Write a review and add a photo or video to get a coupon for up to {{ amount }} off your next purchase","coupon_promo_intro_external_text":"Write a review and get a reward for your next purchase","coupon_promo_intro_external_with_photo_text":"Write a review and add a photo or video to get a reward for your next purchase","coupon_promo_intro_external_with_video_text":"Write a review and add a video to get a reward for your next purchase","coupon_promo_media_photo_text":"Add a photo or video and get a coupon for {{ amount }} off your next purchase","coupon_promo_media_photo_only_text":"Add a photo and get a coupon for {{ amount }} off your next purchase","coupon_promo_media_video_text":"Add a video and get a coupon for {{ amount }} off your next purchase","coupon_promo_media_external_photo_text":"Add a photo or video and get a reward for your next purchase","coupon_promo_media_external_photo_only_text":"Add a photo and get a reward for your next purchase","coupon_promo_media_external_video_text":"Add a video and get a reward for your next purchase","coupon_promo_success_text":"You've got a coupon for your next purchase at {{ shop_name }}!","coupon_promo_success_subtext":"You'll receive your coupon email within the hour.","preview_badge_collection_page_install_status":false,"widget_review_custom_css":"","preview_badge_custom_css":"","preview_badge_stars_count":"5-stars","featured_carousel_custom_css":"","floating_tab_custom_css":"","all_reviews_widget_custom_css":"","medals_widget_custom_css":"","verified_badge_custom_css":"","all_reviews_text_custom_css":"","transparency_badges_collected_via_store_invite":false,"transparency_badges_from_another_provider":false,"transparency_badges_collected_from_store_visitor":false,"transparency_badges_collected_by_verified_review_provider":true,"transparency_badges_earned_reward":false,"transparency_badges_collected_via_store_invite_text":"Review collected via store invitation","transparency_badges_from_another_provider_text":"Review collected from another provider","transparency_badges_collected_from_store_visitor_text":"Review collected from a store visitor","transparency_badges_written_in_google_text":"Review written in Google","transparency_badges_written_in_etsy_text":"Review written in Etsy","transparency_badges_written_in_shop_app_text":"Review written in Shop App","transparency_badges_earned_reward_text":"Review earned a reward for future purchase","product_review_widget_per_page":10,"widget_other_languages_reviews_per_page":3,"widget_store_review_label_text":"Review about the store","widget_cart_mode_aggregate_heading_text":"Customers rate this store","checkout_comment_extension_title_on_product_page":"Customer Comments","checkout_comment_extension_num_latest_comment_show":5,"checkout_comment_extension_format":"name_and_timestamp","checkout_comment_customer_name":"last_initial","checkout_comment_comment_notification":true,"preview_badge_collection_page_install_preference":false,"preview_badge_home_page_install_preference":false,"preview_badge_product_page_install_preference":false,"review_widget_install_preference":"","review_carousel_install_preference":false,"floating_reviews_tab_install_preference":"none","verified_reviews_count_badge_install_preference":false,"all_reviews_text_install_preference":false,"review_widget_best_location":false,"judgeme_medals_install_preference":false,"review_widget_revamp_enabled":false,"review_widget_qna_enabled":false,"review_widget_header_theme":"minimal","review_widget_widget_title_enabled":true,"review_widget_header_text_size":"medium","review_widget_header_text_weight":"regular","review_widget_average_rating_style":"compact","review_widget_bar_chart_enabled":true,"review_widget_bar_chart_type":"numbers","review_widget_bar_chart_style":"standard","review_widget_expanded_media_gallery_enabled":false,"review_widget_show_review_highlights":false,"review_widget_show_review_keywords_in_gray":false,"review_widget_reviews_section_theme":"standard","review_widget_image_style":"thumbnails","review_widget_review_image_ratio":"square","review_widget_stars_size":"medium","review_widget_verified_badge":"standard_text","review_widget_review_title_text_size":"medium","review_widget_review_text_size":"medium","review_widget_review_text_length":"medium","review_widget_number_of_columns_desktop":3,"review_widget_carousel_transition_speed":5,"review_widget_custom_questions_answers_display":"always","review_widget_card_section_size":"small","review_widget_button_text_color":"#FFFFFF","review_widget_text_color":"#000000","review_widget_lighter_text_color":"#7B7B7B","review_widget_corner_styling":"soft","review_widget_review_word_singular":"review","review_widget_review_word_plural"
1669:"reviews","review_widget_voting_label":"Helpful?","review_widget_shop_reply_label":"Reply from {{ shop_name }}:","review_widget_filters_title":"Filters","review_widget_filter_rating_title":"Rating","review_widget_filter_keyword_title":"Keyword","review_widget_clear_filters_text":"Clear filters","review_widget_expand_more_text":"More","review_widget_review_highlights_title":"Review highlights","qna_widget_question_word_singular":"Question","qna_widget_question_word_plural":"Questions","qna_widget_answer_reply_label":"Answer from {{ answerer_name }}:","qna_content_screen_title_text":"Ask a question about this product","qna_widget_question_required_field_error_text":"Please enter your question.","qna_widget_flow_gdpr_statement":"We'll only contact you about your question if necessary. By submitting your question, you agree to our \u003ca href='https://judge.me/terms' target='_blank' rel='nofollow noopener'\u003eterms and conditions\u003c/a\u003e and \u003ca href='https://judge.me/privacy' target='_blank' rel='nofollow noopener'\u003eprivacy policy\u003c/a\u003e.","qna_widget_question_submitted_text":"Thanks for your question!","qna_widget_close_form_text_question":"Close","qna_widget_question_submit_success_text":"Weâll notify you by email when your question is answered.","all_reviews_widget_v2025_enabled":false,"all_reviews_widget_v2025_header_theme":"default","all_reviews_widget_v2025_widget_title_enabled":true,"all_reviews_widget_v2025_header_text_size":"medium","all_reviews_widget_v2025_header_text_weight":"regular","all_reviews_widget_v2025_average_rating_style":"compact","all_reviews_widget_v2025_bar_chart_enabled":true,"all_reviews_widget_v2025_bar_chart_type":"numbers","all_reviews_widget_v2025_bar_chart_style":"standard","all_reviews_widget_v2025_expanded_media_gallery_enabled":false,"all_reviews_widget_v2025_show_store_medals":true,"all_reviews_widget_v2025_show_photo_gallery":true,"all_reviews_widget_v2025_show_review_keywords":false,"all_reviews_widget_v2025_show_ai_summary":false,"all_reviews_widget_v2025_show_ai_summary_bg":false,"all_reviews_widget_v2025_show_review_highlights":false,"all_reviews_widget_v2025_show_review_keywords_in_gray":false,"all_reviews_widget_v2025_add_search_bar":false,"all_reviews_widget_v2025_default_sort_method":"most-recent","all_reviews_widget_v2025_reviews_per_page":10,"all_reviews_widget_v2025_reviews_section_theme":"default","all_reviews_widget_v2025_image_style":"thumbnails","all_reviews_widget_v2025_review_image_ratio":"square","all_reviews_widget_v2025_stars_size":"medium","all_reviews_widget_v2025_verified_badge":"standard_text","all_reviews_widget_v2025_review_title_text_size":"medium","all_reviews_widget_v2025_review_text_size":"medium","all_reviews_widget_v2025_review_text_length":"medium","all_reviews_widget_v2025_number_of_columns_desktop":3,"all_reviews_widget_v2025_carousel_transition_speed":5,"all_reviews_widget_v2025_custom_questions_answers_display":"always","all_reviews_widget_v2025_review_dates":false,"all_reviews_widget_v2025_card_section_size":"small","all_reviews_widget_v2025_show_product_variant":false,"all_reviews_widget_v2025_show_reviewer_avatar":true,"all_reviews_widget_v2025_reviewer_name_as_initial":"","all_reviews_widget_v2025_review_location_show":false,"all_reviews_widget_v2025_location_format":"","all_reviews_widget_v2025_show_country_flag":false,"all_reviews_widget_v2025_widget_thumb":false,"all_reviews_widget_v2025_verified_by_shop_badge_style":"light","all_reviews_widget_v2025_social_share":false,"all_reviews_widget_v2025_social_share_options_order":"Facebook,Twitter,LinkedIn,Pinterest","all_reviews_widget_v2025_pagination_type":"standard","all_reviews_widget_v2025_button_text_color":"#FFFFFF","all_reviews_widget_v2025_text_color":"#000000","all_reviews_widget_v2025_lighter_text_color":"#7B7B7B","all_reviews_widget_v2025_corner_styling":"soft","all_reviews_widget_v2025_title":"Customer reviews","all_reviews_widget_v2025_ai_summary_title":"Customers say about this store","all_reviews_widget_v2025_no_review_text":"Be the first to write a review","all_reviews_widget_v2025_review_highlights_title":"Review highlights","reviews_grid_widget_show_sample_reviews":false,"reviews_grid_widget_review_selection":"all","reviews_grid_widget_select_products":[],"reviews_grid_widget_show_media_only":false,"reviews_grid_widget_display_order":"media_first","reviews_grid_widget_card_grouping":"per_media","reviews_grid_widget_columns_desktop":3,"reviews_grid_widget_rows_desktop":3,"reviews_grid_widget_columns_mobile":2,"reviews_grid_widget_rows_mobile":6,"reviews_grid_widget_show_stars":true,"reviews_grid_widget_show_reviewer_name":true,"reviews_grid_widget_show_review_title_on_hover_desktop":true,"reviews_grid_widget_corner_styling":"soft","reviews_grid_widget_card_spacing":"medium","reviews_grid_widget_header_text_color":"#000000","reviews_grid_widget_star_and_reviewer_name_color":"#F9F9F9","reviews_grid_widget_overlay_and_background_color":"#000000","reviews_grid_widget_content_color":"#F9F9F9","reviews_grid_widget_header_text":"From our customers","reviews_grid_widget_show_average_rating":true,"trust_badge_enabled":false,"trust_badge_structure":"outline","trust_badge_color":"black","trust_badge_star":"black","trust_badge_rating_display_default":"show_avg_text","platform":"shopify","branding_url":"https://app.judge.me/reviews","branding_text":"Powered by Judge.me","locale":"en","reply_name":"The 3D Print Zone","shop_currency":"USD","widget_version":"3.0","footer":true,"autopublish":true,"review_dates":true,"enable_custom_form":false,"shop_locale":"en","enable_multi_locales_translations":false,"show_review_title_input":false,"autofill_review_title":true,"review_verification_email_status":"always","require_verification_before_submit":false,"sign_in_with_
1669shop_enabled":false,"customer_account_validation_enabled":true,"most_relevant_sort_enabled":false,"coupon_promo_invited_eligible":true,"coupon_promo_web_eligible":false,"uses_coupon_integration":false,"uses_external_coupon":false,"can_be_branded":true,"rtl_stars_enabled_ar":true,"rtl_stars_enabled_he":true,"reply_name_text":"The 3D Print Zone"};</script>
1669 <style class='jdgm-settings-style'>.jdgm-xx{left:0}:root{--jdgm-primary-color: #000;--jdgm-secondary-color: rgba(0,0,0,0.1);--jdgm-star-color: #000;--jdgm-write-review-text-color: white;--jdgm-write-review-bg-color: #000000;--jdgm-paginate-color: #000;--jdgm-border-radius: 0;--jdgm-reviewer-name-color: #000000}.jdgm-histogram__bar-content{background-color:#000}.jdgm-rev[data-verified-buyer=true] .jdgm-rev__icon.jdgm-rev__icon:after,.jdgm-rev__buyer-badge.jdgm-rev__buyer-badge{color:white;background-color:#000}.jdgm-review-widget--small .jdgm-gallery.jdgm-gallery .jdgm-gallery__thumbnail-link:nth-child(8) .jdgm-gallery__thumbnail-wrapper.jdgm-gallery__thumbnail-wrapper:before{content:"See more"}@media only screen and (min-width: 768px){.jdgm-gallery.jdgm-gallery .jdgm-gallery__thumbnail-link:nth-child(8) .jdgm-gallery__thumbnail-wrapper.jdgm-gallery__thumbnail-wrapper:before{content:"See more"}}.jdgm-preview-badge .jdgm-star.jdgm-star{color:#000000}.jdgm-prev-badge[data-average-rating='0.00']{display:none !important}.jdgm-author-all-initials{display:none !important}.jdgm-author-last-initial{display:none !important}.jdgm-rev-widg__title{visibility:hidden}.jdgm-rev-widg__summary-text{visibility:hidden}.jdgm-prev-badge__text{visibility:hidden}.jdgm-rev__prod-link-prefix:before{content:'about'}.jdgm-rev__variant-label:before{content:'Variant: '}.jdgm-rev__out-of-store-text:before{content:'(out of store)'}@media only screen and (min-width: 768px){.jdgm-rev__pics .jdgm-rev_all-rev-page-picture-separator,.jdgm-rev__pics .jdgm-rev__product-picture{display:none}}@media only screen and (max-width: 768px){.jdgm-rev__pics .jdgm-rev_all-rev-page-picture-separator,.jdgm-rev__pics .jdgm-rev__product-picture{display:none}}.jdgm-preview-badge[data-template="product"]{display:none !important}.jdgm-preview-badge[data-template="collection"]{display:none !important}.jdgm-preview-badge[data-template="index"]{display:none !important}.jdgm-review-widget[data-from-snippet="true"]{display:none !important}.jdgm-verified-count-badget[data-from-snippet="true"]{display:none !important}.jdgm-carousel-wrapper[data-from-snippet="true"]{display:none !important}.jdgm-all-reviews-text[data-from-snippet="true"]{display:none !important}.jdgm-medals-section[data-from-snippet="true"]{display:none !important}.jdgm-ugc-media-wrapper[data-from-snippet="true"]{display:none !important}.jdgm-rev__transparency-badge[data-badge-type="review_collected_via_store_invitation"]{display:none !important}.jdgm-rev__transparency-badge[data-badge-type="review_collected_from_another_provider"]{display:none !important}.jdgm-rev__transparency-badge[data-badge-type="review_collected_from_store_visitor"]{display:none !important}.jdgm-rev__transparency-badge[data-badge-type="review_earned_for_future_purchase"]{display:none !important}.jdgm-review-snippet-widget{--jdgm-snippet-card-color: #fff;--jdgm-snippet-text-color: #000;--jdgm-snippet-lighter-text-color: #7B7B7B;--jdgm-snippet-star-color: #000;--jdgm-snippet-border-radius: 8px;--jdgm-snippet-arrows-bg-color: #fff;--jdgm-snippet-arrows-color: #000}.jdgm-review-snippet-widget .jdgm-rev-snippet-widget__cards-container .jdgm-rev-snippet-card{border-radius:8px;background:#fff}.jdgm-review-snippet-widget .jdgm-rev-snippet-widget__cards-container .jdgm-rev-snippet-card__rev-rating .jdgm-star{color:#000}.jdgm-review-snippet-widget .jdgm-rev-snippet-widget__prev-btn,.jdgm-review-snippet-widget .jdgm-rev-snippet-widget__next-btn{border-radius:50%;background:#fff}.jdgm-review-snippet-widget .jdgm-rev-snippet-widget__prev-btn>svg,.jdgm-review-snippet-widget .jdgm-rev-snippet-widget__next-btn>svg{fill:#000}.jdgm-full-rev-modal.rev-snippet-widget .jm-mfp-container .jm-mfp-content,.jdgm-full-rev-modal.rev-snippet-widget .jm-mfp-container .jdgm-full-rev__icon,.jdgm-full-rev-modal.rev-snippet-widget .jm-mfp-container .jdgm-full-rev__pic-img,.jdgm-full-rev-modal.rev-snippet-widget .jm-mfp-container .jdgm-full-rev__reply{border-radius:8px}.jdgm-full-rev-modal.rev-snippet-widget .jm-mfp-container .jdgm-full-rev[data-verified-buyer="true"] .jdgm-full-rev__icon::after{border-radius:8px}.jdgm-full-rev-modal.rev-snippet-widget .jm-mfp-container .jdgm-full-rev .jdgm-rev__buyer-badge{border-radius:calc( 8px / 2 )}.jdgm-full-rev-modal.rev-snippet-widget .jm-mfp-container .jdgm-full-rev .jdgm-full-rev__replier::before{content:'The 3D Print Zone'}.jdgm-full-rev-modal.rev-snippet-widget .jm-mfp-container .jdgm-full-rev .jdgm-full-rev__product-button{border-radius:calc( 8px * 6 )} 1670</style> <style class='jdgm-settings-style'></style> 1671 1672 1673 1674 1675 <style class='jdgm-miracle-styles'> 1676 @-webkit-keyframes jdgm-spin{0%{-webkit-transform:rotate(0deg);-ms-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);-ms-transform:rotate(359deg);transform:rotate(359deg)}}@keyframes jdgm-spin{0%{-webkit-transform:rotate(0deg);-ms-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);-ms-transform:rotate(359deg);transform:rotate(359deg)}}@font-face{font-family:'JudgemeStar';src:url("data:application/x-font-woff;charset=utf-8;base64,d09GRgABAAAAAAScAA0AAAAABrAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAAEgAAAABoAAAAcbyQ+3kdERUYAAARgAAAAHgAAACAAMwAGT1MvMgAAAZgAAABGAAAAVi+vS9xjbWFwAAAB8AAAAEAAAAFKwBMjvmdhc3AAAARYAAAACAAAAAj//wADZ2x5ZgAAAkAAAAEJAAABdH33LXtoZWFkAAABMAAAAC0AAAA2BroQKWhoZWEAAAFgAAAAHAAAACQD5QHQaG10eAAAAeAAAAAPAAAAFAYAAABsb2NhAAACMAAAAA4AAAAOAO4AeG1heHAAAAF8AAAAHAAAACAASgAvbmFtZQAAA0wAAADeAAABkorWfVZwb3N0AAAELAAAACkAAABEp3ubLXgBY2BkYADhPPP4OfH8Nl8ZuJkYQODS2fRrCPr/aSYGxq1ALgcDWBoAO60LkwAAAHgBY2BkYGDc+v80gx4TAwgASaAICmABAFB+Arl4AWNgZGBgYGPQYWBiAAIwyQgWc2AAAwAHVQB6eAFjYGRiYJzAwMrAwejDmMbAwOAOpb8ySDK0MDAwMbByMsCBAAMCBKS5pjA4PGB4wMR44P8BBj3GrQymQGFGkBwAjtgK
1676/gAAeAFjYoAAEA1jAwAAZAAHAHgB3crBCcAwDEPRZydkih567CDdf4ZskmLwFBV8xBfCaC4BXkOUmx4sU0h2ngNb9V0vQCxaRKIAevT7fGWuBrEAAAAAAAAAAAA0AHgAugAAeAF9z79Kw1AUx/FzTm7un6QmJtwmQ5Bg1abgEGr/BAqlU6Gju+Cgg1MkQ/sA7Vj7BOnmO/gUvo2Lo14NqIO6/IazfD8HEODtmQCfoANwNsyp2/GJt3WKQrd1NLiYYWx2PBqOsmJMEOznPOTzfSCrhAtbbLdmeFLJV9eKd63WLrZcIcuaEVdssWCKM6pLCfTVOYbz/0pNSMSZKLIZpvh78sAUH6PlMrreTCabP9r+Z/puPZ2ur/RqpQHgh+MIegCnXeM4MRAPjYN//5tj4ZtTjkFqEdmeMShlEJ7tVAly2TAkx6R68Fl4E/aVvn8JqHFQ4JS1434gXKcuL31dDhzs3YbsEOAd/IU88gAAAHgBfY4xTgMxEEVfkk0AgRCioKFxQYd2ZRtpixxgRU2RfhU5q5VWseQ4JdfgAJyBlmNwAM7ABRhZQ0ORwp7nr+eZAa54YwYg9zm3ynPOeFRe8MCrciXOh/KSS76UV5L/iDmrLiS5AeU519wrL3jmSbkS5115yR2fyivJv9kx0ZMZ2RLZw27q87iNQi8EBo5FSPIMw3HqBboi5lKTGAGDp8FKXWP+t9TU01Lj5His1Ba6uM9dTEMwvrFmbf5GC/q2drW3ruXUhhsCiQOjznFlCzYhHUZp4xp76vsvQh89CQAAeAFjYGJABowM6IANLMrEyMTIzMjCXpyRWJBqZshWXJJYBKOMAFHFBucAAAAAAAAB//8AAngBY2BkYGDgA2IJBhBgAvKZGViBJAuYxwAABJsAOgAAeAFjYGBgZACCk535hiD60tn0azAaAEqpB6wAAA==") format("woff");font-weight:normal;font-style:normal}.jdgm-star{font-family:'JudgemeStar';display:inline !important;text-decoration:none !important;padding:0 4px 0 0 !important;margin:0 !important;font-weight:bold;opacity:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.jdgm-star:hover{opacity:1}.jdgm-star:last-of-type{padding:0 !important}.jdgm-star.jdgm--on:before{content:"\e000"}.jdgm-star.jdgm--off:before{content:"\e001"}.jdgm-star.jdgm--half:before{content:"\e002"}.jdgm-widget *{margin:0;line-height:1.4;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;-webkit-overflow-scrolling:touch}.jdgm-hidden{display:none !important;visibility:hidden !important}.jdgm-temp-hidden{display:none}.jdgm-spinner{width:40px;height:40px;margin:auto;border-radius:50%;border-top:2px solid #eee;border-right:2px solid #eee;border-bottom:2px solid #eee;border-left:2px solid #ccc;-webkit-animation:jdgm-spin 0.8s infinite linear;animation:jdgm-spin 0.8s infinite linear}.jdgm-spinner:empty{display:block}.jdgm-prev-badge{display:block !important} 1677 1678</style> 1679 1680 1681 1682 1683 1684 1685 1686 1687
1688<script data-cfasync='false' class='jdgm-script'> 1689!function(e){window.jdgm=window.jdgm||{}; 1690/* INF-1976 */ 1691var _jdgmBlocked=function(){var raw=(window.jdgmSettings||{}).hostname_allowlist;var list=(raw==null?"":""+raw).split(/[\s,]+/).map(function(h){return h.trim().toLowerCase().replace(/\.$/,"");}).filter(function(h){return h;});if(!list.length)return false;var host=(e.location.hostname||"").toLowerCase().replace(/\.$/,"");if(/(^|\.)shopifypreview\.com$/.test(host))return false;var bare=host.replace(/^www\./,"");for(var i=0;i<list.length;i++){var en=list[i];if(en.indexOf("*.")===0){var b=en.slice(2);if(host===b||host.slice(-(b.length+1))==="."+b)return false;}else if(bare===en.replace(/^www\./,""))return false;}return true;}(); 1692if(_jdgmBlocked){jdgm._loaderExecuted=true;jdgm._blocked=true;var _jdgmS=e.createElement("style");_jdgmS.textContent='[class^="jdgm-"],[class*=" jdgm-"]{display:none !important}';(e.head||e.documentElement).appendChild(_jdgmS);return;} 1693jdgm.CDN_HOST="https://cdnwidget.judge.me/",jdgm.CDN_HOST_ALT="https://cdn2.judge.me/cdn/widget_frontend/",jdgm.API_HOST="https://api.judge.me/",jdgm.CDN_BASE_URL="https://cdn.shopify.com/extensions/01a11176-2280-7862-971a-b99c4fd1084c/judgeme-773/assets/",jdgm.CDN_API_HOST="https://cdn.judge.me/", 1694jdgm.docReady=function(d){(e.attachEvent?"complete"===e.readyState:"loading"!==e.readyState)? 1695setTimeout(d,0):e.addEventListener("DOMContentLoaded",d)},jdgm.loadCSS=function(d,t,o,a){ 1696!o&&jdgm.loadCSS.requestedUrls.indexOf(d)>=0||(jdgm.loadCSS.requestedUrls.push(d), 1697(a=e.createElement("link")).rel="stylesheet",a.class="jdgm-stylesheet",a.media="nope!", 1698a.href=d,a.onload=function(){this.media="all",t&&setTimeout(t)},e.body.appendChild(a))}, 1699jdgm.loadCSS.requestedUrls=[],jdgm.loadJS=function(e,d){var t=new XMLHttpRequest; 1700t.onreadystatechange=function(){4===t.readyState&&t.status>=200&&t.status<300&&(Function(t.response)(),d&&d(t.response))}, 1701t.open("GET",e),t.onerror=function(){if(e.indexOf(jdgm.CDN_HOST)===0&&jdgm.CDN_HOST_ALT!==jdgm.CDN_HOST){var f=e.replace(jdgm.CDN_HOST,jdgm.CDN_HOST_ALT);jdgm.loadJS(f,d)}},t.send()},jdgm.docReady((function(){(window.jdgmLoadCSS||e.querySelectorAll( 1702".jdgm-widget, .jdgm-all-reviews-page").length>0)&&(jdgmSettings.widget_load_with_code_splitting? 1703parseFloat(jdgmSettings.widget_version)>=3?jdgm.loadCSS(jdgm.CDN_BASE_URL+"widget_v3_base.css"): 1704jdgm.loadCSS(jdgm.CDN_BASE_URL+"widget_base.css"):jdgm.loadCSS(jdgm.CDN_BASE_URL+"shopify_v2.css") 1705)}))}(document); 1706</script>
1706 1707<noscript><link rel="stylesheet" type="text/css" media="all" href="https://cdn.shopify.com/extensions/01a11176-2280-7862-971a-b99c4fd1084c/judgeme-773/assets/shopify_v2.css"></noscript> 1708 1709<!-- BEGIN app snippet: theme_fix_tags -->
1709<script> 1710 (function() { 1711 var jdgmThemeFixes = null; 1712 if (!jdgmThemeFixes) return; 1713 1714 // "All themes" fix: CSS and JS applied on every theme. CSS is injected 1715 // before the per-theme fix so the theme-specific CSS wins the cascade. 1716 // HTML is never applied globally (too risky). 1717 var allThemesFix = jdgmThemeFixes['all']; 1718 if (allThemesFix && allThemesFix.css) { 1719 var allStyleTag = document.createElement('style'); 1720 allStyleTag.classList.add('jdgm-theme-fix-style-all'); 1721 allStyleTag.innerHTML = allThemesFix.css; 1722 document.head.append(allStyleTag); 1723 }; 1724 1725 if (allThemesFix && allThemesFix.js) { 1726 var allScriptTag = document.createElement('script'); 1727 allScriptTag.classList.add('jdgm-theme-fix-script-all'); 1728 allScriptTag.innerHTML = allThemesFix.js; 1729 document.head.append(allScriptTag); 1730 }; 1731 1732 var thisThemeFix = jdgmThemeFixes[Shopify.theme.id]; 1733 if (!thisThemeFix) return; 1734 1735 if (thisThemeFix.html) { 1736 document.addEventListener("DOMContentLoaded", function() { 1737 var htmlDiv = document.createElement('div'); 1738 htmlDiv.classList.add('jdgm-theme-fix-html'); 1739 htmlDiv.innerHTML = thisThemeFix.html; 1740 document.body.append(htmlDiv); 1741 }); 1742 }; 1743 1744 if (thisThemeFix.css) { 1745 var styleTag = document.createElement('style'); 1746 styleTag.classList.add('jdgm-theme-fix-style'); 1747 styleTag.innerHTML = thisThemeFix.css; 1748 document.head.append(styleTag); 1749 }; 1750 1751 if (thisThemeFix.js) { 1752 var scriptTag = document.createElement('script'); 1753 scriptTag.classList.add('jdgm-theme-fix-script'); 1754 scriptTag.innerHTML = thisThemeFix.js; 1755 document.head.append(scriptTag); 1756 }; 1757 })(); 1758</script>
1758 1759<!-- END app snippet --> 1760<!-- End of Judge.me Core --> 1761 1762 1763 1764<!-- END app block -->
1764<script src="https://cdn.shopify.com/extensions/01a11176-2280-7862-971a-b99c4fd1084c/judgeme-773/assets/loader.js" type="text/javascript" defer="defer"></script>
vendor: 1 bytes, line 1764
1764
1765<script src="https://cdn.shopify.com/extensions/01a10ad0-9f32-7eb2-a83e-3427bdf52ded/affliate-by-secomapp-129/assets/core.min.js" type="text/javascript" defer="defer"></script>
vendor: 1 bytes, line 1765
1765
1766<script src="https://cdn.shopify.com/extensions/01a0aa7a-f99f-7ab6-a36e-9673fd70d8d4/omnisend-57/assets/omnisend-in-shop.js" type="text/javascript" defer="defer"></script>
1766 1767<link href="https://monorail-edge.shopifysvc.com" rel="dns-prefetch">
1768<script>(function(){if ("sendBeacon" in navigator && "performance" in window) {try {var session_token_from_headers = performance.getEntriesByType('navigation')[0].serverTiming.find(x => x.name == '_s').description;} catch {var session_token_from_headers = undefined;}var session_cookie_matches = document.cookie.match(/_shopify_s=([^;]*)/);var session_token_from_cookie = session_cookie_matches && session_cookie_matches.length === 2 ? session_cookie_matches[1] : "";var session_token = session_token_from_headers || session_token_from_cookie || "";function handle_abandonment_event(e) {var entries = performance.getEntries().filter(function(entry) {return /monorail-edge.shopifysvc.com/.test(entry.name);});if (!window.abandonment_tracked && entries.length === 0) {window.abandonment_tracked = true;var currentMs = Date.now();var navigation_start = performance.timing.navigationStart;var payload = {shop_id: 74411770013,url: window.location.href,navigation_start,duration: currentMs - navigation_start,session_token,page_type: "product"};window.navigator.sendBeacon("https://monorail-edge.shopifysvc.com/v1/produce", JSON.stringify({schema_id: "online_store_buyer_site_abandonment/1.1",payload: payload,metadata: {event_created_at_ms: currentMs,event_sent_at_ms: currentMs}}));}}window.addEventListener('pagehide', handle_abandonment_event);}}());</script>
vendor: 1 bytes, line 1768
1768
1769<script> 1770 window.__TREKKIE_SHIM_QUEUE = window.__TREKKIE_SHIM_QUEUE || []; 1771</script>
vendor: 1 bytes, line 1771
1771
1772<script>(function(){var wpmLoader=function(){"use strict";var e=/Googlebot|Storebot-Google|bingbot|Baiduspider|YandexBot|DuckDuckBot|Slurp|facebookexternalhit|Twitterbot|LinkedInBot|Applebot|AdsBot-Google|Mediapartners-Google|APIs-Google|PetalBot|SemrushBot|AhrefsBot|MJ12bot|DotBot|Acunetix|PerplexityBot|Perplexity-User/i,t=/bytedance/i;function i(){try{var e=document.cookie;if(!e||"string"!=typeof e)return;for(var t=0,i=e.split(";");t<i.length;t++){var n=i[t],r=n.indexOf("=");if(-1!==r){var o=n.slice(0,r).trim();if(o){var a=void 0;try{a=decodeURIComponent(o)}catch(e){a=o}if("_shopify_s"===a){var d=n.slice(r+1).trim();try{return decodeURIComponent(d)}catch(e){return d}}}}}return}catch(e){return}}function n(e){try{"undefined"!=typeof console&&"function"==typeof console.warn&&console.warn(e)}catch(e){}}function r(e,t){return"string"==typeof e&&e.length>0&&e.length<=t?e:void 0}function o(e){var t;switch(null==(t=null==e?void 0:e.navigation)?void 0:t.type){case 0:return"navigate";case 1:return"reload";case 2:return"back_forward";default:return}}function a(){var e,t,i;try{var n=null==(i=null==(t=null==(e=self.ShopifyAnalytics)?void 0:e.lib)?void 0:t.trekkie)?void 0:i.state;return"awaiting-consent"===n||"initialized"===n?n:void 0}catch(e){return}}return function(d,s,u,l){var c=arguments.length>4&&void 0!==arguments[4]?arguments[4]:{};try{var p=c.trekkieShim;!0!==p&&"true"!==p||null!=window.__TREKKIE_SHIM_QUEUE||(window.__TREKKIE_SHIM_QUEUE=[])}catch(e){}var f,v,h,y,g=(v=(f={modern:/Edge?\/(1{2}[4-9]|1[2-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|Firefox\/(1{2}[4-9]|1[2-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|Chrom(ium|e)\/(9{2}|\d{3,})\.\d+(\.\d+|)|(Maci|X1{2}).+ Version\/(15\.\d+|(1[6-9]|[2-9]\d|\d{3,})\.\d+)([,.]\d+|)( \(\w+\)|)( Mobile\/\w+|) Safari\/|Chrome.+OPR\/(9{2}|\d{3,})\.\d+\.\d+|(CPU[ +]OS|iPhone[ +]OS|CPU[ +]iPhone|CPU IPhone OS|CPU iPad OS)[ +]+(15[._]\d+|(1[6-9]|[2-9]\d|\d{3,})[._]\d+)([._]\d+|)|Android:?[ /-](14[89]|1[5-9]\d|[2-9]\d{2}|\d{4,})(\.\d+|)(\.\d+|)|Android.+Firefox\/(15\d|1[6-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|Android.+Chrom(ium|e)\/(14[89]|1[5-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|SamsungBrowser\/([2-9]\d|\d{3,})\.\d+/,legacy:/Edge?\/(1[6-9]|[2-9]\d|\d{3,})\.\d+(\.\d+|)|Firefox\/(5[4-9]|[6-9]\d|\d{3,})\.\d+(\.\d+|)|Chrom(ium|e)\/(5[1-9]|[6-9]\d|\d{3,})\.\d+(\.\d+|)([\d.]+$|.*Safari\/(?![\d.]+ Edge\/[\d.]+$))|(Maci|X1{2}).+ Version\/(10\.\d+|(1[1-9]|[2-9]\d|\d{3,})\.\d+)([,.]\d+|)( \(\w+\)|)( Mobile\/\w+|) Safari\/|Chrome.+OPR\/(3[89]|[4-9]\d|\d{3,})\.\d+\.\d+|(CPU[ +]OS|iPhone[ +]OS|CPU[ +]iPhone|CPU IPhone OS|CPU iPad OS)[ +]+(10[._]\d+|(1[1-9]|[2-9]\d|\d{3,})[._]\d+)([._]\d+|)|Android:?[ /-](14[89]|1[5-9]\d|[2-9]\d{2}|\d{4,})(\.\d+|)(\.\d+|)|Mobile Safari.+OPR\/([89]\d|\d{3,})\.\d+\.\d+|Android.+Firefox\/(15\d|1[6-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|Android.+Chrom(ium|e)\/(14[89]|1[5-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|Android.+(UC? ?Browser|UCWEB|U3)[ /]?(15\.([5-9]|\d{2,})|(1[6-9]|[2-9]\d|\d{3,})\.\d+)\.\d+|SamsungBrowser\/(5\.\d+|([6-9]|\d{2,})\.\d+)|Android.+MQ{2}Browser\/(14(\.(9|\d{2,})|)|(1[5-9]|[2-9]\d|\d{3,})(\.\d+|))(\.\d+|)|K[Aa][Ii]OS\/(3\.\d+|([4-9]|\d{2,})\.\d+)(\.\d+|)/}).modern,h=f.legacy,(y=navigator.userAgent).match(e)?"bot":y.match(v)?"modern":y.match(h)?"legacy":y.match(t)?"bot":"unknown"),m=function(e){var t,i,n=r(e,128);try{var a=window.performance,d=null==(t=null==a?void 0:a.getEntriesByType)?void 0:t.call(a,"navigation")[0];if(!d)return{requestId:n,navigationType:o(a)};var s="type"in d?r(d.type,64):void 0,u="serverTiming"in d&&Array.isArray(d.serverTiming)?d.serverTiming:[];return{requestId:null!=n?n:r(null==(i=u.find(function(e){return"requestID"===e.name}))?void 0:i.description,128),navigationType:s}}catch(e){return{requestId:n}}}(c.requestId),w=function(e){var t=e.version,r=e.browserTarget,o=e.surface,a=e.shopId,d=e.monorailEndpoint,s=window.location.href;return{emit:function(e){var u=e.status,l=e.errorMsg,c=e.failureReason,p=e.useKeepaliveFallback,f=void 0!==p&&p,v=e.navigationType,h=e.pagehidePersisted,y=e.requestId,g=e.trekkieState;if(d){var m,w;try{var b=(new Date).getTime();m=JSON.stringify({metadata:{event_sent_at_ms:b},events:[{schema_id:"web_pixels_manager_load/3.3",payload:{version:t,bundle_target:r,page_url:s,status:u,surface:o,error_msg:l,failure_reason:c,navigation_type:v,pagehide_persisted:h,request_id:y,trekkie_state:g,shop_id:a,visit_token:i()},metadata:{event_created_at_ms:b}}]})}catch(e){return}try{if("function"==typeof window.navigator.sendBeacon&&-1===(w=window.navigator.userAgent).indexOf("iPhone; CPU iPhone OS 12_")&&-1===w.indexOf("iPad; CPU OS 12_")&&-1===w.indexOf("iPod touch; CPU iPhone OS 12_")&&window.navigator.sendBeacon.bind(window.navigator)(d,m))return}catch(e){}if(f)try{"function"==typeof window.fetch&&window.fetch(d,{method:"POST",headers:{"Content-Type":"text/plain"},body:m,keepalive:!0}
1772).catch(function(){})}catch(e){}else try{var _=new XMLHttpRequest;_.open("POST",d,!0),_.setRequestHeader("Content-Type","text/plain"),_.send(m)}catch(e){n("[Web Pixels Manager] Got an unhandled error while logging to Monorail.")}}else n("[Web Pixels Manager] No Monorail endpoint provided, skipping logging.")}}}({version:u,browserTarget:g,surface:d.surface,shopId:d.shopId,monorailEndpoint:d.monorailEndpoint});if(Boolean(null==(_=null==(b=window.Shopify)?void 0:b.analytics)?void 0:_.replayQueue))w.emit({status:"setup-skipped",errorMsg:"replay queue already initialized."});else{var b,_;w.emit({status:"setup-started"}),window.Shopify=window.Shopify||{};var S=window.Shopify;S.analytics=S.analytics||{};var P=S.analytics;P.replayQueue=[],P.publish=function(e,t,i){return P.replayQueue.push([e,t,i]),!0};try{self.performance.mark("wpm:start")}catch(e){}var k,C="modern"===g?"modern":"legacy",E=(null!=l?l:{modern:"",legacy:""})[C],I=[(k={baseUrl:s,hashVersion:u,buildTarget:C}).baseUrl,"/wpm","/b",k.hashVersion,"modern"===k.buildTarget?"m":"l",".js"].join(""),O=!1,T=!1;try{c.browserTarget=g,function(){O=!0;try{window.addEventListener("pagehide",M)}catch(e){O=!1}}(),R(function(){try{R(x)}catch(e){D(e)}}),w.emit({status:"loading",requestId:m.requestId,navigationType:m.navigationType,trekkieState:a()})}catch(e){D(e)}}function U(){var e;if(q(),!function(){var e,t;return Boolean(null==(t=null==(e=window.Shopify)?void 0:e.analytics)?void 0:t.initialized)}()){var t,i,n;try{if("function"!=typeof(null==(e=window.webPixelsManager)?void 0:e.init))return void A();if(!(null!==(n=i=t=window.webPixelsManager.init(d))&&"function"!=typeof n&&Object(n)===n&&"publish"in i&&"function"==typeof i.publish&&"publishCustomEvent"in i&&"function"==typeof i.publishCustomEvent&&"visitor"in i&&"function"==typeof i.visitor))return void A()}catch(e){return void A(e)}var r=window.Shopify.analytics;r.replayQueue.forEach(function(e){var i=e[0],n=e[1],r=e[2];t.publishCustomEvent(i,n,r)}),r.replayQueue=[],r.publish=t.publishCustomEvent,r.visitor=t.visitor,r.initialized=!0}}function A(e){B("manager_api_unavailable",void 0===e?void 0:Q(e))}function x(){B("script_load_failed","".concat(I," has failed to load"))}function B(e,t){T||(T=!0,q(),w.emit({status:"failed",errorMsg:t,failureReason:e,requestId:m.requestId,navigationType:m.navigationType,trekkieState:a()}))}function M(e){O&&(q(),w.emit({status:"pagehide-while-loading",useKeepaliveFallback:!0,pagehidePersisted:e.persisted,requestId:m.requestId,navigationType:m.navigationType,trekkieState:a()}))}function q(){O=!1;try{window.removeEventListener("pagehide",M)}catch(e){}}function R(e){var t;!function(e){var t=e.src,i=e.async,n=void 0===i||i,r=e.onload,o=e.onerror,a=e.sri,d=e.scriptDataAttributes,s=void 0===d?{}:d,u=document.createElement("script"),l=document.querySelector("head"),c=document.querySelector("body");if(u.async=n,u.src=t,a&&(u.integrity=a,u.crossOrigin="anonymous"),s)for(var p in s)if(Object.prototype.hasOwnProperty.call(s,p))try{u.dataset[p]=String(s[p])}catch(e){}if(r&&u.addEventListener("load",r),o&&u.addEventListener("error",o),l)l.appendChild(u);else{if(!c)throw new Error("Did not find a head or body element to append the script");c.appendChild(u)}}({src:I,async:!0,onload:U,onerror:e,sri:(t=E,"string"==typeof t&&/^sha384-[A-Za-z0-9+/=]+$/.test(t)?E:""),scriptDataAttributes:c})}function D(e){B("script_append_failed",Q(e))}function Q(e){return e instanceof Error?e.message:"Unknown error"}}}();wpmLoader({shopId: 74411770013,storefrontBaseUrl: "https://the3dprintzone.com",extensionsBaseUrl: "https://extensions.shopifycdn.com/cdn/shopifycloud/web-pixels-manager",monorailEndpoint: "https://the3dprintzone.com/.well-known/shopify/monorail/unstable/produce_batch",surface: "storefront-renderer",enabledBetaFlags: ["4c64608a","16072cab","8450a54b"],webPixelsConfigList: [{"id":"2296545437","configuration":"{\"shopId\":\"282467\",\"env\":\"production\",\"metaData\":\"[]\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"8323bee30e1ec3ae135ae5e0cef4ab6d","type":"APP","apiClientId":2773553,"privacyPurposes":[],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_address","read_customer_email","read_customer_name","read_customer_personal_data","read_customer_phone"],"dataSharingControls":["share_all_events"]}
1772,"dataSharingState":"unrestricted"},{"id":"2220818589","configuration":"{\"pixel_id\":\"1527176728917942\",\"pixel_type\":\"facebook_pixel\"}","eventPayloadVersion":"v1","runtimeContext":"OPEN","scriptVersion":"bd2f978c17a94bbb8a74d43de2165dc5","type":"APP","apiClientId":2329312,"privacyPurposes":["ANALYTICS","MARKETING","SALE_OF_DATA"],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_address","read_customer_email","read_customer_name","read_customer_personal_data","read_customer_phone"],"dataSharingControls":["share_all_events"]},"dataSharingState":"optimized","enabledFlags":["9a3ed68a"]},{"id":"2176778397","configuration":"{\"projectId\":\"x1jl1znn93\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"d8a2bb2ccbb513dc8e8b6937f4b8033e","type":"APP","apiClientId":240074326017,"privacyPurposes":[],"capabilities":["advanced_dom_events"],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_personal_data"],"dataSharingControls":["share_all_events"]},"dataSharingState":"unrestricted"},{"id":"1952415901","configuration":"{\"config\":\"{\\\"google_tag_ids\\\":[\\\"G-7NSVYTN4LZ\\\",\\\"GT-WFFLQ6T9\\\"],\\\"target_country\\\":\\\"ZZ\\\",\\\"gtag_events\\\":[{\\\"type\\\":\\\"search\\\",\\\"action_label\\\":\\\"G-7NSVYTN4LZ\\\"},{\\\"type\\\":\\\"begin_checkout\\\",\\\"action_label\\\":\\\"G-7NSVYTN4LZ\\\"},{\\\"type\\\":\\\"remove_from_cart\\\",\\\"action_label\\\":\\\"G-7NSVYTN4LZ\\\"},{\\\"type\\\":\\\"view_item\\\",\\\"action_label\\\":[\\\"G-7NSVYTN4LZ\\\",\\\"MC-HG6H52NQ1L\\\"]},{\\\"type\\\":\\\"purchase\\\",\\\"action_label\\\":[\\\"G-7NSVYTN4LZ\\\",\\\"MC-HG6H52NQ1L\\\"]},{\\\"type\\\":\\\"add_shipping_info\\\",\\\"action_label\\\":\\\"G-7NSVYTN4LZ\\\"},{\\\"type\\\":\\\"page_view\\\",\\\"action_label\\\":[\\\"G-7NSVYTN4LZ\\\",\\\"MC-HG6H52NQ1L\\\"]},{\\\"type\\\":\\\"view_item_list\\\",\\\"action_label\\\":\\\"G-7NSVYTN4LZ\\\"},{\\\"type\\\":\\\"add_payment_info\\\",\\\"action_label\\\":\\\"G-7NSVYTN4LZ\\\"},{\\\"type\\\":\\\"add_to_cart\\\",\\\"action_label\\\":\\\"G-7NSVYTN4LZ\\\"},{\\\"type\\\":\\\"view_cart\\\",\\\"action_label\\\":\\\"G-7NSVYTN4LZ\\\"}],\\\"enable_monitoring_mode\\\":false}\"}","eventPayloadVersion":"v1","runtimeContext":"OPEN","scriptVersion":"a3321ca85cf5aaf6b57585fcd8d67b3a","type":"APP","apiClientId":1780363,"privacyPurposes":[],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_address","read_customer_email","read_customer_name","read_customer_personal_data","read_customer_phone"],"dataSharingControls":["share_all_events"]},"dataSharingState":"optimized","enabledFlags":["9a3ed68a"]},{"id":"1829404829","configuration":"{\"apiURL\":\"https:\/\/api.omnisend.com\",\"appURL\":\"https:\/\/app.omnisend.com\",\"brandID\":\"6963d18892df1dd5911eaa5a\",\"trackingURL\":\"https:\/\/wt.omnisendlink.com\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"1e2b45bbee5b360dff908f60423b89f8","type":"APP","apiClientId":186001,"privacyPurposes":["ANALYTICS","MARKETING","SALE_OF_DATA"],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_address","read_customer_email","read_customer_name","read_customer_personal_data","read_customer_phone"],"dataSharingControls":["share_all_events"]},"dataSharingState":"optimized","enabledFlags":["9a3ed68a"]},{"id":"1680146589","configuration":"{\"webPixelName\":\"Judge.me\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"8acc938b1a30dc7624e304493ca567d7","type":"APP","apiClientId":683015,"privacyPurposes":["ANALYTICS"],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_email","read_customer_name","read_customer_personal_data","read_customer_phone"],"dataSharingControls":["share_all_events"]},"dataSharingState":"unrestricted"},{"id":"shopify-app-pixel","configuration":"{}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"0530","apiClientId":"shopify-pixel","type":"APP","privacyPurposes":["ANALYTICS","MARKETING"]},{"id":"shopify-custom-pixel","eventPayloadVersion":"v1","runtimeContext":"LAX","scriptVersion":"0530","apiClientId":"shopify-pixel","type":"CUSTOM","privacyPurposes":["ANALYTICS","MARKETING"]}],isMerchantRequest: false,initData: {"shop":{"name":"The 3D Print Zone","paymentSettings":{"currencyCode":"USD"},"myshopifyDomain":"y2mben-z1.myshopify.com","countryCode":"US","storefrontUrl":"https:\/\/the3dprintzone.com"},"customer":null,"cart":null,"checkout":null,"productVariants":[{"price":{"amount":59.0,"currencyCode":"USD"},"product":{"title":"Strat-Style Kit","vendor":"The 3D Print Zone","id":"8793869025437","untranslatedTitle":"Strat-Style Kit","url":"\/products\/strat-style-kit","type":"Body"},"id":"47457062617245","image":{"src":"\/\/the3dprintzone.com\/cdn\/shop\/files\/KIT_STRAT_ALIEN_BODYSTRAT-Edit.jpg?v=1764625472"},"sku":null,"title":"Alien","untranslatedTitle":"Alien"},{"price":{"amount":59.0,"currencyCode":"USD"},"product":{"title":"Strat-Style Kit","vendor":"The 3D Print Zone","id":"8793869025437","untranslatedTitle":"Strat-Style Kit","url":"\/products\/strat-style-kit","type":"Body"},"id":"47481122783389","image":{"src":"\/\/the3dprintzone.com\/cdn\/shop\/files\/KIT_STRAT_BASEPLATE_BODYSTRAT-Edit.jpg?v=1765760473"},"sku":null,"title":"Baseplate","untranslatedTitle":"Baseplate"},{"price":{"amount":59.0,"currencyCode":"USD"},"product":{"title":"Strat-Style Kit","vendor":"The 3D Print Zone","id":"8793869025437","untranslatedTitle":"Strat-Style Kit","url":"\/products\/strat-style-kit","type":"Body"},"id":"47457062650013","image":{"src":"\/\/the3dprintzone.com\/cdn\/shop\/files\/KIT_STRAT_CIRCUITS_BODYSTRAT-Edit.jpg?v=1765760473"},"sku":null,"title":"Circuits","untranslatedTitle":"Circuits"},{"price":{"amount":59.0,"currencyCode":"USD"},"product":{"title":"Strat-Style Kit","vendor":"The 3D Print Zone","id":"8793869025437","untranslatedTitle":"Strat-Style Kit","url":"\/products\/strat-style-kit","type":"Body"},"id":"47457062682781","image":{"src":"\/\/the3dprintzone.com\/cdn\/shop\/files\/KIT_STRAT_EPICENTER_BODYSTRAT-Edit.jpg?v=1765760473"},"sku":null,"title":"Epicenter","untranslatedTitle":"Epicenter"},{"price":{"amount":59.0,"currencyCode":"USD"},"product":{"title":"Strat-Style Kit","vendor":"The 3D Print Zone","id":"8793869025437","untranslatedTitle":"Strat-Style Kit","url":"\/products\/strat-style-kit","type":"Body"},"id":"47457062813853","image":{"src":"\/\/the3dprintzone.com\/cdn\/shop\/files\/KIT_STRAT_TILES_BODYSTRAT-Edit.jpg?v=1765760473"},"sku":null,"title":"Hex","untranslatedTitle":"Hex"},{"price":{"amount":59.0,"currencyCode":"USD"},"product":{"title":"Strat-Style Kit","vendor":"The 3D Print Zone","id":"8793869025437","untranslatedTitle":"Strat-Style Kit","url":"\/products\/strat-style-kit","type":"Body"},"id":"47476504854685","image":{"src":"\/\/the3dprintzone.com\/cdn\/shop\/files\/KIT_STRAT_HOLLOW_BODYSTRAT-Edit.jpg?v=1765760473"},"sku":null,"title":"Hollow","untranslatedTitle":"Hollow"},{"price":{"amount":59.0,"currencyCode":"USD"},"product":{"title":"Strat-Style Kit","vendor":"The 3D Print Zone","id":"8793869025437","untranslatedTitle":"Strat-Style Kit","url":"\/products\/strat-style-kit","type":"Body"},"id":"67597075939502","image":{"src":"\/\/the3dprintzone.com\/cdn\/shop\/files\/KIT_STRAT_HONEYCOMB_BODYSTRAT.jpg?v=1790629145"},"sku":null,"title":"Honeycomb","untranslatedTitle":"Honeycomb"},{"price":{"amount":59.0,"currencyCode":"USD"},"product":{"title":"Strat-Style Kit","vendor":"The 3D Print Zone","id":"8793869025437","untranslatedTitle":"Strat-Style Kit","url":"\/products\/strat-style-kit","type":"Body"},"id":"47457062715549","image":{"src":"\/\/the3dprintzone.com\/cdn\/shop\/files\/KIT_STRAT_RIVER_BODYSTRAT-Edit.jpg?v=1765760473"},"sku":null,"title":"River","untranslatedTitle":"River"},{"price":{"amount":59.0,"currencyCode":"USD"},"product":{"title":"Strat-Style Kit","vendor":"The 3D Print Zone","id":"8793869025437","untranslatedTitle":"Strat-Style Kit","url":"\/products\/strat-style-kit","type":"Body"},"id":"47457062748317","image":{"src":"\/\/the3dprintzone.com\/cdn\/shop\/files\/KIT_STRAT_SOLID_BODYSTRAT-Edit.jpg?v=1764625472"},"sku":null,"title":"Solid","untranslatedTitle":"Solid"},{"price":{"amount":59.0,"currencyCode":"USD"},"product":{"title":"Strat-Style Kit","vendor":"The 3D Print Zone","id":"8793869025437","untranslatedTitle":"Strat-Style Kit","url":"\/products\/strat-style-kit","type":"Body"},"id":"47457062781085","image":{"src":"\/\/the3dprintzone.com\/cdn\/shop\/files\/KIT_STRAT_SPIDER_BODYSTRAT-Edit.jpg?v=1765760473"},"sku":null,"title":"Spider","untranslatedTitle":"Spider"},{"price":{"amount":59.0,"currencyCode":"USD"},"product":{"title":"Strat-Style Kit","vendor":"The 3D Print Zone","id":"8793869025437","untranslatedTitle":"Strat-Style Kit","url":"\/products\/strat-style-kit","type":"Body"},"id":"47457062846621","image":{"src":"\/\/the3dprintzone.com\/cdn\/shop\/files\/KIT_STRAT_TOOLBOX_BODYSTRAT-Edit.jpg?v=1765760473"},"sku":null,"title":"Toolbox","untranslatedTitle":"Toolbox"}],"products":[{"id":"8793869025437","handle":"strat-style-kit","isCollective":null,"title":"Strat-Style Kit","type":"Body","untranslatedTitle":"Strat-Style Kit","url":"\/products\/strat-style-kit","vendor":"The 3D Print Zone","remoteShopId":null,"variants":[{"id":"47457062617245","image":{"src":"\/\/the3dprintzone.com\/cdn\/shop\/files\/KIT_STRAT_ALIEN_BODYSTRAT-Edit.jpg?v=1764625472"},"price":{"amount":59.0,"currencyCode":"USD"},"sku":null,"title":"Alien","untranslatedTitle":"Alien"},{"id":"47481122783389","image":{"src":"\/\/the3dprintzone.com\/cdn\/shop\/files\/KIT_STRAT_BASEPLATE_BODYSTRAT-Edit.jpg?v=1765760473"},"price":{"amount":59.0,"currencyCode":"USD"},"sku":null,"title":"Baseplate","untranslatedTitle":"Baseplate"},{"id":"47457062650013","image":{"src":"\/\/the3dprintzone.com\/cdn\/shop\/files\/KIT_STRAT_CIRCUITS_BODYSTRAT-Edit.jpg?v=1765760473"},"price":{"amount":59.0,"currencyCode":"USD"},"sku":null,"title":"Circuits","untranslatedTitle":"Circuits"},{"id":"47457062682781","image":{"src":"\/\/the3dprintzone.com\/cdn\/shop\/files\/KIT_STRAT_EPICENTER_BODYSTRAT-Edit.jpg?v=1765760473"},"price":{"amount":59.0,"currencyCode":"USD"},"sku":null,"title":"Epicenter","untranslatedTitle":"Epicenter"},{"id":"47457062813853","image":{"src":"\/\/the3dprintzone.com\/cdn\/shop\/files\/KIT_STRAT_TILES_BODYSTRAT-Edit.jpg?v=1765760473"},"price":{"amount":59.0,"currencyCode":"USD"},"sku":null,"title":"Hex","untranslatedTitle":"Hex"},{"id":"47476504854685","image":{"src":"\/\/the3dprintzone.com\/cdn\/shop\/files\/KIT_STRAT_HOLLOW_BODYSTRAT-Edit.jpg?v=1765760473"},"price":{"amount":59.0,"currencyCode":"USD"},"sku":null,"title":"Hollow","untranslatedTitle":"Hollow"},{"id":"67597075939502","image":{"src":"\/\/the3dprintzone.com\/cdn\/shop\/files\/KIT_STRAT_HONEYCOMB_BODYSTRAT.jpg?v=1790629145"},"price":{"amount":59.0,"currencyCode":"USD"},"sku":null,"title":"Honeycomb","untranslatedTitle":"Honeycomb"},{"id":"47457062715549","image":{"src":"\/\/the3dprintzone.com\/cdn\/shop\/files\/KIT_STRAT_RIVER_BODYSTRAT-Edit.jpg?v=1765760473"},"price":{"amount":59.0,"currencyCode":"USD"},"sku":null,"title":"River","untranslatedTitle":"River"},{"id":"47457062748317","image":{"src":"\/\/the3dprintzone.com\/cdn\/shop\/files\/KIT_STRAT_SOLID_BODYSTRAT-Edit.jpg?v=1764625472"},"price":{"amount":59.0,"currencyCode":"USD"},"sku":null,"title":"Solid","untranslatedTitle":"Solid"},{"id":"47457062781085","image":{"src":"\/\/the3dprintzone.com\/cdn\/shop\/files\/KIT_STRAT_SPIDER_BODYSTRAT-Edit.jpg?v=1765760473"},"price":{"amount":59.0,"currencyCode":"USD"},"sku":null,"title":"Spider","untranslatedTitle":"Spider"},{"id":"47457062846621","image":{"src":"\/\/the3dprintzone.com\/cdn\/shop\/files\/KIT_STRAT_TOOLBOX_BODYSTRAT-Edit.jpg?v=1765760473"},"price":{"amount":59.0,"currencyCode":"USD"},"sku":null,"title":"Toolbox","untranslatedTitle":"Toolbox"}]}],"purchasingCompany":null},},"https://the3dprintzone.com/cdn","7ec887c8w14f9f074p854094e1m1370c602",{"modern":"","legacy":""},{"trekkieShim":true,"agentContext":true,"apiClientId":"580111","facebookCapiEnabled":"true","themeId":"153590071453","themeStoreId":"2481","themePublished":"true","eventMetadataId":"fc9770f7-5239-4b69-89d9-6d2a930e083d","pageType":"product","resourceId":"8793869025437","shopId":"74411770013","storefrontBaseUrl":"https:\/\/the3dprintzone.com","extensionBaseUrl":"https:\/\/extensions.shopifycdn.com\/cdn\/shopifycloud\/web-pixels-manager","surface":"storefront-renderer","enabledBetaFlags":"[\"4c64608a\", \"16072cab\", \"8450a54b\"]","isMerchantRequest":"false","hashVersion":"7ec887c8w14f9f074p854094e1m1370c602","publish":"custom","events":"[[\"page_viewed\",{}],[\"product_viewed\",{\"productVariant\":{\"price\":{\"amount\":59.0,\"currencyCode\":\"USD\"},\"product\":{\"title\":\"Strat-Style Kit\",\"vendor\":\"The 3D Print Zone\",\"id\":\"8793869025437\",\"untranslatedTitle\":\"Strat-Style Kit\",\"url\":\"\/products\/strat-style-kit\",\"type\":\"Body\"},\"id\":\"47476504854685\",\"image\":{\"src\":\"\/\/the3dprintzone.com\/cdn\/shop\/files\/KIT_STRAT_HOLLOW_BODYSTRAT-Edit.jpg?v=1765760473\"},\"sku\":null,\"title\":\"Hollow\",\"untranslatedTitle\":\"Hollow\"}}]]"});})();</script>
1772<script> 1773 window.ShopifyAnalytics = window.ShopifyAnalytics || {}; 1774 window.ShopifyAnalytics.meta = window.ShopifyAnalytics.meta || {}; 1775 window.ShopifyAnalytics.meta.currency = 'USD'; 1776 var meta = {"product":{"id":8793869025437,"gid":"gid:\/\/shopify\/Product\/8793869025437","vendor":"The 3D Print Zone","type":"Body","handle":"strat-style-kit","variants":[{"id":47457062617245,"price":5900,"name":"Strat-Style Kit - Alien","public_title":"Alien","sku":null},{"id":47481122783389,"price":5900,"name":"Strat-Style Kit - Baseplate","public_title":"Baseplate","sku":null},{"id":47457062650013,"price":5900,"name":"Strat-Style Kit - Circuits","public_title":"Circuits","sku":null},{"id":47457062682781,"price":5900,"name":"Strat-Style Kit - Epicenter","public_title":"Epicenter","sku":null},{"id":47457062813853,"price":5900,"name":"Strat-Style Kit - Hex","public_title":"Hex","sku":null},{"id":47476504854685,"price":5900,"name":"Strat-Style Kit - Hollow","public_title":"Hollow","sku":null},{"id":67597075939502,"price":5900,"name":"Strat-Style Kit - Honeycomb","public_title":"Honeycomb","sku":null},{"id":47457062715549,"price":5900,"name":"Strat-Style Kit - River","public_title":"River","sku":null},{"id":47457062748317,"price":5900,"name":"Strat-Style Kit - Solid","public_title":"Solid","sku":null},{"id":47457062781085,"price":5900,"name":"Strat-Style Kit - Spider","public_title":"Spider","sku":null},{"id":47457062846621,"price":5900,"name":"Strat-Style Kit - Toolbox","public_title":"Toolbox","sku":null}],"remote":false},"page":{"pageType":"product","resourceType":"product","resourceId":8793869025437,"requestId":"0541e9ee-c149-4c9a-8c61-af6c860bb53d-1791426631"}}; 1777 for (var attr in meta) { 1778 window.ShopifyAnalytics.meta[attr] = meta[attr]; 1779 } 1780</script>
vendor: 1 bytes, line 1780
1780
1781<script class="analytics"> 1782 (function () { 1783 var customDocumentWrite = function(content) { 1784 var jquery = null; 1785 1786 if (window.jQuery) { 1787 jquery = window.jQuery; 1788 } else if (window.Checkout && window.Checkout.$) { 1789 jquery = window.Checkout.$; 1790 } 1791 1792 if (jquery) { 1793 jquery('body').append(content); 1794 } 1795 }; 1796 1797 var hasLoggedConversion = function(token) { 1798 if (token) { 1799 return document.cookie.indexOf('loggedConversion=' + token) !== -1; 1800 } 1801 return false; 1802 } 1803 1804 var setCookieIfConversion = function(token) { 1805 if (token) { 1806 var twoMonthsFromNow = new Date(Date.now()); 1807 twoMonthsFromNow.setMonth(twoMonthsFromNow.getMonth() + 2); 1808 1809 document.cookie = 'loggedConversion=' + token + '; expires=' + twoMonthsFromNow; 1810 } 1811 } 1812 1813 var trekkie = window.ShopifyAnalytics.lib = window.trekkie = window.trekkie || []; 1814 window.ShopifyAnalytics.lib.trekkie = window.trekkie; 1815 if (trekkie.integrations) { 1816 return; 1817 } 1818 trekkie.methods = [ 1819 'identify', 1820 'page', 1821 'ready', 1822 'track', 1823 'trackForm', 1824 'trackLink' 1825 ]; 1826 trekkie.factory = function(method) { 1827 return function() { 1828 var args = Array.prototype.slice.call(arguments); 1829 args.unshift(method); 1830 trekkie.push(args); 1831 if (method == 'track' || method == 'page') { 1832 var pageUrl; 1833 try { 1834 pageUrl = window.location.href; 1835 } catch (e) {} 1836 var pageReferrer; 1837 try { 1838 pageReferrer = document.referrer; 1839 } catch (e) {} 1840 try { 1841 if (window.__TREKKIE_SHIM_QUEUE == null) { 1842 window.__TREKKIE_SHIM_QUEUE = []; 1843 } 1844 window.__TREKKIE_SHIM_QUEUE.push({ 1845 from: 'trekkie-stub', 1846 method: method, 1847 args: args.slice(1), 1848 pageContext: { 1849 url: pageUrl, 1850 referrer: pageReferrer 1851 } 1852 }); 1853 } catch (e) { 1854 // no-op 1855 } 1856 } 1857 return trekkie; 1858 }; 1859 }; 1860 for (var i = 0; i < trekkie.methods.length; i++) { 1861 var key = trekkie.methods[i]; 1862 trekkie[key] = trekkie.factory(key); 1863 } 1864 trekkie.load = function(config) { 1865 trekkie.config = config || {}; 1866 trekkie.config.initialDocumentCookie = document.cookie; 1867 var first = document.getElementsByTagName('script')[0]; 1868var script = document.createElement('script'); 1869script.type = 'text/javascript'; 1870script.onerror = function(e) { 1871 var scriptFallback = document.createElement('script'); 1872 scriptFallback.type = 'text/javascript'; 1873 scriptFallback.onerror = function(error) { 1874 var Monorail = { 1875 produce: function produce(monorailDomain, schemaId, payload) { 1876 var currentMs = new Date().getTime(); 1877 var event = { 1878 schema_id: schemaId, 1879 payload: payload, 1880 metadata: { 1881 event_created_at_ms: currentMs, 1882 event_sent_at_ms: currentMs 1883 } 1884 }; 1885 return Monorail.sendRequest("https://" + monorailDomain + "/v1/produce", JSON.stringify(event)); 1886 }, 1887 sendRequest: function sendRequest(endpointUrl, payload) { 1888 // Try the sendBeacon API 1889 if (window && window.navigator && typeof window.navigator.sendBeacon === 'function' && typeof window.Blob === 'function' && !Monorail.isIos12()) { 1890 var blobData = new window.Blob([payload], { 1891 type: 'text/plain' 1892 }); 1893 1894 if (window.navigator.sendBeacon(endpointUrl, blobData)) { 1895 return true; 1896 } // sendBeacon was not successful 1897 1898 } // XHR beacon 1899 1900 var xhr = new XMLHttpRequest(); 1901 1902 try { 1903 xhr.open('POST', endpointUrl); 1904 xhr.setRequestHeader('Content-Type', 'text/plain'); 1905 xhr.send(payload); 1906 } catch (e) { 1907 console.log(e); 1908 } 1909 1910 return false; 1911 }, 1912 isIos12: function isIos12() { 1913 return window.navigator.userAgent.lastIndexOf('iPhone; CPU iPhone OS 12_') !== -1 || window.navigator.userAgent.lastIndexOf('iPad; CPU OS 12_') !== -1; 1914 } 1915 }; 1916 Monorail.produce('monorail-edge.shopifysvc.com', 1917 'trekkie_storefront_load_errors/1.1', 1918 {shop_id: 74411770013, 1919 theme_id: 153590071453, 1920 app_name: "storefront", 1921 context_url: window.location.href, 1922 source_url: "//the3dprintzone.com/cdn/s/trekkie.storefront.51e69540e15035ae012ec8cc42e8f9cd792233a0.min.js"}); 1923 1924 }; 1925 scriptFallback.async = true; 1926 scriptFallback.src = '//the3dprintzone.com/cdn/s/trekkie.storefront.51e69540e15035ae012ec8cc42e8f9cd792233a0.min.js'; 1927 first.parentNode.insertBefore(scriptFallback, first); 1928}; 1929script.async = true; 1930script.src = '//the3dprintzone.com/cdn/s/trekkie.storefront.51e69540e15035ae012ec8cc42e8f9cd792233a0.min.js'; 1931first.parentNode.insertBefore(script, first); 1932 1933 }; 1934 trekkie.load( 1935 {"Trekkie":{"appName":"storefront","development":false,"defaultAttributes":{"shopId":74411770013,"isMerchantRequest":null,"themeId":153590071453,"themeCityHash":"1399887964592025188","contentLanguage":"en","currency":"USD","eventMetadataId":"fc9770f7-5239-4b69-89d9-6d2a930e083d"},"isServerSideCookieWritingEnabled":true,"monorailRegion":"shop_domain","enabledBetaFlags":["764d78cb","8450a54b","4c64608a"]},"Session Attribution":{},"S2S":{"facebookCapiEnabled":true,"source":"trekkie-storefront-renderer","apiClientId":580111}} 1936 ); 1937 1938 var loaded = false;
1939 trekkie.ready(function() { 1940 if (loaded) return; 1941 loaded = true; 1942 1943 window.ShopifyAnalytics.lib = window.trekkie; 1944 1945 var originalDocumentWrite = document.write; 1946 document.write = customDocumentWrite; 1947 try { window.ShopifyAnalytics.merchantGoogleAnalytics.call(this); } catch(error) {}; 1948 document.write = originalDocumentWrite; 1949 1950 var match = window.location.pathname.match(/checkouts\/(.+)\/(thank_you|post_purchase)/) 1951 var token = match? match[1]: undefined; 1952 if (!hasLoggedConversion(token)) { 1953 setCookieIfConversion(token); 1954 window.ShopifyAnalytics.lib.track("Viewed Product",{"currency":"USD","variantId":47476504854685,"productId":8793869025437,"productGid":"gid:\/\/shopify\/Product\/8793869025437","name":"Strat-Style Kit - Hollow","price":"59.00","sku":null,"brand":"The 3D Print Zone","variant":"Hollow","category":"Body","nonInteraction":true,"remote":false,"available":true},undefined,undefined,{"shopifyEmitted":true}); 1955 } 1956 }); 1957 1958 window.ShopifyAnalytics.lib.page(null,{"pageType":"product","resourceType":"product","resourceId":8793869025437,"requestId":"0541e9ee-c149-4c9a-8c61-af6c860bb53d-1791426631","shopifyEmitted":true}); 1959 1960 var eventsListenerScript = document.createElement('script'); 1961 eventsListenerScript.async = true; 1962 eventsListenerScript.src = "//the3dprintzone.com/cdn/shopifycloud/storefront/assets/shop_events_listener-4e26a9ce.js"; 1963 document.getElementsByTagName('head')[0].appendChild(eventsListenerScript); 1964})();</script>
vendor: 1 bytes, line 1964
1964
1965<script 1966 defer 1967 src="https://the3dprintzone.com/cdn/shopifycloud/perf-kit/shopify-perf-kit-3.9.6.min.js" 1968 data-application="storefront-renderer" 1969 data-shop-id="74411770013" 1970 data-render-region="gcp-us-central1" 1971 data-page-type="product" 1972 data-theme-instance-id="153590071453" 1973 data-theme-name="Horizon" 1974 data-theme-version="3.1.0" 1975 data-monorail-region="shop_domain" 1976 data-resource-timing-sampling-rate="10" 1977 data-shs="true" 1978 data-shs-beacon="true" 1979 data-shs-export-with-fetch="true" 1980 data-shs-logs-sample-rate="1" 1981 data-shs-beacon-endpoint="https://the3dprintzone.com/api/collect" 1982></script>
1982 1983<meta name="shopify-y" content="b4f7d355-5d34-476d-ab34-4df5b1e21532" data-expiration="1822984231000"><meta name="shopify-s" content="ad61bc6d-56ca-4cd3-be45-20ed6fa57323" data-expiration="1791428431000"><meta name="new-cookie-storage-activated" content="t"> 1984</head> 1985 1986 <body class="page-width-narrow card-hover-effect-none"> 1987 <a 1988 class="skip-to-content-link button-secondary" 1989 href="#MainContent" 1990> 1991 Skip to content 1992</a> 1993 1994 <div id="header-group"> 1995 <!-- BEGIN sections: header-group --> 1996<div id="shopify-section-sections--20519603273885__coaching_promo_banner_Tq8MFP" class="shopify-section shopify-section-group-header-group"> 1997 1998 1999<div id="coaching-promo-banner" class="coaching-banner" style="display:none;"> 2000 <div class="coaching-banner__inner"> 2001 <span class="coaching-banner__text"> 2002 <strong>Need help in Bambu Studio?</strong> 2003 <span class="coaching-banner__text-full">Live 1:1 video call coaching.</span> 2004 </span> 2005 <a href="https://the3dprintzone.com/pages/coaching" class="coaching-banner__btn">Learn More</a> 2006 <button type="button" class="coaching-banner__dismiss" aria-label="Dismiss banner" onclick="CoachingBanner.dismiss()"> 2007 <svg viewBox="0 0 24 24" width="16" height="16" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round"><path d="M6 6l12 12M18 6L6 18"/></svg> 2008 </button> 2009 </div> 2010</div> 2011 2012<style> 2013 .coaching-banner { 2014 background: #f2f2f0; 2015 border-bottom: 1px solid #e0e0e0; 2016 } 2017 .coaching-banner__inner { 2018 max-width: 1200px; 2019 margin: 0 auto; 2020 padding: 14px 44px 14px 24px; 2021 display: flex;
2022 align-items: center; 2023 justify-content: center; 2024 gap: 16px; 2025 flex-wrap: wrap; 2026 position: relative; 2027 } 2028 .coaching-banner__text { 2029 color: #1a1a1a; 2030 font-size: 14px; 2031 font-weight: 500; 2032 font-family: var(--font-body-family, sans-serif); 2033 } 2034 .coaching-banner__text strong { 2035 font-weight: 600; 2036 } 2037 .coaching-banner__btn { 2038 background: #00ae42; 2039 color: #ffffff; 2040 font-size: 13px; 2041 font-weight: 600; 2042 padding: 6px 16px; 2043 border-radius: 100px; 2044 text-decoration: none; 2045 white-space: nowrap; 2046 transition: background 0.15s ease; 2047 } 2048 .coaching-banner__btn:hover { 2049 background: #00863a; 2050 } 2051 .coaching-banner__dismiss { 2052 position: absolute; 2053 right: 14px; 2054 top: 50%; 2055 transform: translateY(-50%); 2056 background: none; 2057 border: none; 2058 color: #1a1a1a; 2059 opacity: 0.5; 2060 cursor: pointer; 2061 padding: 4px; 2062 display: flex; 2063 } 2064 .coaching-banner__dismiss:hover { 2065 opacity: 0.8; 2066 } 2067 @media (max-width: 600px) { 2068 .coaching-banner__inner { 2069 flex-direction: row; 2070 flex-wrap: wrap; 2071 align-items: center; 2072 justify-content: center; 2073 padding: 10px 40px 10px 16px; 2074 gap: 6px 10px; 2075 } 2076 .coaching-banner__text { 2077 font-size: 12px; 2078 text-align: center; 2079 line-height: 1.3; 2080 } 2081 .coaching-banner__btn { 2082 font-size: 11px; 2083 padding: 4px 12px; 2084 } 2085 .coaching-banner__dismiss { 2086 top: 10px; 2087 transform: none; 2088 } 2089 } 2090 @media (max-width: 480px) { 2091 .coaching-banner__text-full { 2092 display: none; 2093 } 2094 } 2095</style> 2096
2097<script> 2098 window.CoachingBanner = { 2099 key: 'coachingBannerDismissed', 2100 dismiss: function() { 2101 localStorage.setItem(this.key, 'true'); 2102 document.getElementById('coaching-promo-banner').style.display = 'none'; 2103 }, 2104 init: function() { 2105 if (localStorage.getItem(this.key) !== 'true') { 2106 document.getElementById('coaching-promo-banner').style.display = 'block'; 2107 } 2108 } 2109 }; 2110 CoachingBanner.init(); 2111</script>
2111 2112 2113 2114</div><div id="shopify-section-sections--20519603273885__promo_countdown_banner_pqANnt" class="shopify-section shopify-section-group-header-group"> 2115 2116<style> 2117 .promo-bar { 2118 display: flex; 2119 align-items: center; 2120 justify-content: center; 2121 gap: 32px; 2122 padding: 12px 50px; 2123 background: linear-gradient(90deg, #2ee6d6 0%, #5b8cff 50%, #b388ff 100%); 2124 color: #1a1a2e; 2125 position: relative; 2126 flex-wrap: nowrap; 2127 } 2128 2129 .promo-bar__text { 2130 flex-shrink: 0; 2131 } 2132 2133 .promo-bar__title { 2134 font-weight: 700; 2135 font-size: 18px; 2136 margin: 0; 2137 white-space: nowrap; 2138 } 2139 2140 .promo-bar__subtitle { 2141 font-size: 14px; 2142 margin: 2px 0 0; 2143 white-space: nowrap; 2144 } 2145 2146 .promo-bar__middle { 2147 display: flex; 2148 align-items: center; 2149 gap: 16px; 2150 flex-shrink: 0; 2151 } 2152 2153 .promo-bar__timer { 2154 display: flex; 2155 gap: 18px; 2156 color: #fff; 2157 text-align: center; 2158 flex-shrink: 0; 2159 } 2160 2161 .promo-bar__timer .unit { 2162 display: flex; 2163 flex-direction: column; 2164 align-items: center; 2165 } 2166 2167 .promo-bar__timer .value { 2168 font-size: 26px; 2169 font-weight: 700; 2170 line-height: 1; 2171 } 2172 2173 .promo-bar__timer .label { 2174 font-size: 11px; 2175 opacity: 0.85; 2176 text-transform: uppercase; 2177 margin-top: 2px; 2178 } 2179 2180 .promo-bar__timer .sep { 2181 font-size: 26px; 2182 font-weight: 700;
2183 align-self: flex-start; 2184 } 2185 2186 .promo-bar__actions { 2187 display: flex; 2188 align-items: center; 2189 gap: 12px; 2190 flex-shrink: 0; 2191 } 2192 2193 .promo-bar__button { 2194 background: #1a1a40; 2195 color: #fff; 2196 padding: 12px 24px; 2197 border-radius: 6px; 2198 text-decoration: none; 2199 font-weight: 600; 2200 white-space: nowrap; 2201 } 2202 2203 .promo-bar__close { 2204 background: none; 2205 border: none; 2206 color: #fff; 2207 font-size: 22px; 2208 cursor: pointer; 2209 line-height: 1; 2210 padding: 0 5px; 2211 position: absolute; 2212 right: 16px; 2213 top: 50%; 2214 transform: translateY(-50%); 2215 } 2216 2217 /* ââ Mobile ââ */ 2218 @media (max-width: 768px) { 2219 .promo-bar { 2220 flex-direction: column; 2221 align-items: center; 2222 justify-content: center; 2223 gap: 8px; 2224 padding: 10px 16px 12px 16px; 2225 } 2226 2227 .promo-bar__text { 2228 width: 100%; 2229 text-align: center; 2230 padding-right: 24px; 2231 } 2232 2233 .promo-bar__title { 2234 white-space: normal; 2235 font-size: 12px; 2236 } 2237 2238 .promo-bar__subtitle { 2239 white-space: normal; 2240 font-size: 12px; 2241 } 2242 2243 .promo-bar__middle { 2244 width: 100%; 2245 justify-content: center; 2246 gap: 10px; 2247 flex-wrap: nowrap; 2248 } 2249 2250 .promo-bar__timer { 2251 gap: 8px; 2252 } 2253 2254 .promo-bar__timer .value { 2255 font-size: 18px; 2256 } 2257 2258 .promo-bar__timer .sep { 2259 font-size: 18px; 2260 } 2261 2262 .promo-bar__timer .label { 2263 font-size: 9px; 2264 } 2265 2266 .promo-bar__actions { 2267 gap: 6px; 2268 } 2269 2270 .promo-bar__button { 2271 padding: 7px 12px; 2272 font-size: 12px; 2273 } 2274 2275 .promo-bar__close { 2276 top: 8px; 2277 right: 10px; 2278 transform: none; 2279 } 2280 } 2281</style> 2282 2283<div class="promo-bar" id="promo-bar"> 2284 <div class="promo-bar__text"> 2285 <p class="promo-bar__title">Get 20% Off Any Body Kit w/ Purchase of Any Core Kit</p> 2286 <p class="promo-bar__subtitle">No code needed. Auto-applied in cart.</p> 2287 </div> 2288 2289 <div class="promo-bar__middle"> 2290 <div class="promo-bar__timer"> 2291 <div class="unit"><span class="value" id="cd-days">00</span><span class="label">Days</span></div> 2292 <span class="sep">:</span> 2293 <div class="unit"><span class="value" id="cd-hours">00</span><span class="label">Hrs</span></div> 2294 <span class="sep">:</span> 2295 <div class="unit"><span class="value" id="cd-mins">00</span><span class="label">Mins</span></div> 2296 <span class="sep">:</span> 2297 <div class="unit"><span class="value" id="cd-secs">00</span><span class="label">Secs</span></div> 2298 </div> 2299 2300 <div class="promo-bar__actions"> 2301 <a href="/collections/core-kits" class="promo-bar__button"> 2302 Shop Core Kits 2303 </a> 2304 </div> 2305 </div> 2306 2307 <button class="promo-bar__close" id="promo-bar-close" aria-label="Close">×</button> 2308</div> 2309
2310<script> 2311 (function() { 2312 var month = "09"; 2313 var day = "20"; 2314 var year = "2026"; 2315 var hour = "23"; 2316 2317 var endTime = (month && day && year && hour !== null) 2318 ? new Date(year + '-' + month + '-' + day + 'T' + hour + ':00:00').getTime() 2319 : 0; 2320 2321 var bar = document.getElementById('promo-bar'); 2322 var closeBtn = document.getElementById('promo-bar-close'); 2323 2324 // Hide if already closed this session 2325 if (sessionStorage.getItem('promoBarClosed') === 'true') { 2326 bar.style.display = 'none'; 2327 } 2328 2329 // Hide if sale has ended or no date set 2330 if (!endTime || Date.now() > endTime) { 2331 bar.style.display = 'none'; 2332 } 2333 2334 // Close button 2335 closeBtn.addEventListener('click', function() { 2336 bar.style.transition = 'opacity 0.3s ease'; 2337 bar.style.opacity = '0'; 2338 setTimeout(function() { 2339 bar.style.display = 'none'; 2340 }, 300); 2341 sessionStorage.setItem('promoBarClosed', 'true'); 2342 }); 2343 2344 // Countdown ticker 2345 function updateCountdown() { 2346 var distance = endTime - Date.now(); 2347 2348 if (distance < 0) { 2349 bar.style.display = 'none'; 2350 return; 2351 } 2352 2353 document.getElementById('cd-days').textContent = String(Math.floor(distance / 86400000)).padStart(2, '0'); 2354 document.getElementById('cd-hours').textContent = String(Math.floor(distance % 86400000 / 3600000)).padStart(2, '0'); 2355 document.getElementById('cd-mins').textContent = String(Math.floor(distance % 3600000 / 60000)).padStart(2, '0'); 2356 document.getElementById('cd-secs').textContent = String(Math.floor(distance % 60000 / 1000)).padStart(2, '0'); 2357 } 2358 2359 updateCountdown(); 2360 setInterval(updateCountdown, 1000); 2361 })(); 2362</script>
2362 2363 2364</div><header id="shopify-section-sections--20519603273885__header_section" class="shopify-section shopify-section-group-header-group header-section"> 2365 2366 2367
2368<script type="application/ld+json"> 2369 { 2370 "@context": "http://schema.org", 2371 "@type": "Organization", 2372 "name": "The 3D Print Zone", 2373 2374 "logo": "https:\/\/the3dprintzone.com\/cdn\/shop\/files\/BANNER_THE_3D_PRINT_ZONE.png?v=1762798695\u0026width=500", 2375 2376 "url": "https:\/\/the3dprintzone.com" 2377 } 2378</script>
2378 2379 2380<header-component 2381 id="header-component" 2382 class="header" 2383 2384 2385 sticky="always" 2386 2387 data-skip-node-update 2388 data-scroll-direction="none" 2389> 2390 2391 2392 2393 2394 2395 2396 <div 2397 class="header__row header__row--top color-scheme-1 section section--full-width-margin section--page-width" 2398 ref="headerRowTop"style="--border-bottom-width: 0px; --border-bottom-width-mobile: 0px;"> 2399 <div class="header__columns spacing-style"> 2400 <div 2401 class="header__column header__column--left" 2402 data-testid="header-top-left" 2403 > 2404 2405 2406 2407 2408 2409 2410 2411 <div 2412 class="header__drawer desktop:hidden" 2413 ref="headerDrawerContainer" 2414 2415 > 2416 2417
2418<script 2419 src="//the3dprintzone.com/cdn/shop/t/6/assets/header-drawer.js?v=160607022407653843031772242764" 2420 type="module" 2421 fetchpriority="low" 2422></script>
2422 2423 2424<header-drawer 2425 class="header-drawer header__drawer--mobile" 2426 style="--menu-image-border-radius: 0px; --resource-card-corner-radius: 0px;" 2427> 2428 <details 2429 id="Details-menu-drawer-container" 2430 data-skip-node-update="true" 2431 class="menu-drawer-container" 2432 ref="details" 2433 scroll-lock 2434 > 2435 <summary 2436 class="header__icon header__icon--menu header__icon--summary" 2437 aria-label="Menu" 2438 on:click="/toggle" 2439 > 2440 <span class="svg-wrapper header-drawer-icon header-drawer-icon--open"><svg width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg"> 2441 <path d="M1 3.5H13" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round"/> 2442 <path d="M1 10.5H13" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round"/> 2443</svg> 2444</span> 2445 <span class="svg-wrapper header-drawer-icon header-drawer-icon--close"><svg width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg"> 2446 <path d="M12 2L2 12" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round" stroke-linejoin="round"/> 2447 <path d="M12 12L2 2" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round" stroke-linejoin="round"/> 2448</svg> 2449</span> 2450 </summary> 2451 <div 2452 data-header-drawer 2453 class=" 2454 menu-drawer 2455 motion-reduce 2456 color-scheme-1 2457 " 2458 > 2459 <button 2460 class="button button-unstyled close-button menu-drawer__close-button" 2461 type="button" 2462 aria-label="Close" 2463 on:click="/close" 2464 > 2465 <span class="svg-wrapper header-drawer-icon header-drawer-icon--close"><svg width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg"> 2466 <path d="M12 2L2 12" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round" stroke-linejoin="round"/> 2467 <path d="M12 12L2 2" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round" stroke-linejoin="round"/> 2468</svg> 2469</span> 2470 </button> 2471 <nav 2472 class="menu-drawer__navigation" 2473 style="--menu-top-level-font-family: var(--font-body--family); 2474--menu-top-level-font-size-desktop: 1rem; --menu-top-level-font-style: var(--font-body--style); --menu-top-level-font-weight: var(--font-body--weight); --menu-top-level-font-case:none; 2475 2476 --menu-top-level-font-size: var(--menu-font-2xl--size); --menu-top-level-font-line-height: 2477 var(--menu-font-2xl--line-height); 2478 2479--menu-top-level-font-color: var(--color-foreground); --menu-top-level-font-color-rgb: var(--color-foreground-rgb); 2480 2481--menu-parent-font-family: var(--font-body--family); --menu-parent-font-style: 2482var(--font-body--style); --menu-parent-font-weight: var(--font-body--weight); --menu-parent-font-case: 2483none; 2484 2485 --menu-parent-font-size: var(--menu-font-sm--size); --menu-parent-font-line-height: 2486 var(--menu-font-sm--line-height); --menu-parent-font-color: rgb(var(--color-foreground-rgb) / 2487 var(--opacity-subdued-text)); --menu-parent-active-font-color: var(--color-foreground); 2488 2489--menu-child-font-family: var(--font-body--family); --menu-child-font-style: 2490var(--font-body--style); --menu-child-font-weight: var(--font-body--weight); --menu-child-font-case: 2491none; 2492 2493 --menu-child-font-size: var(--menu-font-md--size); --menu-child-font-line-height: var(--menu-font-md--line-height); 2494 --menu-child-font-color: var(--color-foreground); --menu-child-active-font-color: rgb(var(--color-foreground-rgb) / 2495 var(--opacity-subdued-text)); 2496 2497 2498 " 2499 > 2500 <ul 2501 class="menu-drawer__menu has-submenu" 2502 role="list" 2503 > 2504 2505 2506 2507 <li 2508 style="--menu-drawer-animation-index: 1;" 2509 class="menu-drawer__list-item--flat menu-drawer__list-item--divider" 2510 > 2511 2512<a 2513 id="HeaderDrawer-home" 2514 href="/" 2515 class="menu-drawer__menu-item menu-drawer__menu-item--mainlist menu-drawer__animated-element focus-inset" 2516 2517 >
2518 <span class="menu-drawer__menu-item-text wrap-text">Home</span> 2519 </a> 2520 2521 </li> 2522 <li 2523 style="--menu-drawer-animation-index: 2;" 2524 class="menu-drawer__list-item--flat menu-drawer__list-item--divider" 2525 > 2526 2527<a 2528 id="HeaderDrawer-kits" 2529 href="/pages/kits" 2530 class="menu-drawer__menu-item menu-drawer__menu-item--mainlist menu-drawer__animated-element focus-inset" 2531 2532 > 2533 <span class="menu-drawer__menu-item-text wrap-text">Kits</span> 2534 </a> 2535 2536 </li> 2537 <li 2538 style="--menu-drawer-animation-index: 3;" 2539 class="menu-drawer__list-item--flat menu-drawer__list-item--divider" 2540 > 2541 2542<a 2543 id="HeaderDrawer-files" 2544 href="/pages/files" 2545 class="menu-drawer__menu-item menu-drawer__menu-item--mainlist menu-drawer__animated-element focus-inset" 2546 2547 > 2548 <span class="menu-drawer__menu-item-text wrap-text">Files</span> 2549 </a> 2550 2551 </li> 2552 <li 2553 style="--menu-drawer-animation-index: 4;" 2554 class="menu-drawer__list-item--flat menu-drawer__list-item--divider" 2555 > 2556 2557<a 2558 id="HeaderDrawer-gallery" 2559 href="/pages/guitar-gallery" 2560 class="menu-drawer__menu-item menu-drawer__menu-item--mainlist menu-drawer__animated-element focus-inset" 2561 2562 > 2563 <span class="menu-drawer__menu-item-text wrap-text">Gallery</span> 2564 </a> 2565 2566 </li> 2567 <li 2568 style="--menu-drawer-animation-index: 5;" 2569 class="menu-drawer__list-item--flat menu-drawer__list-item--divider" 2570 > 2571 2572<a 2573 id="HeaderDrawer-guides" 2574 href="/pages/guides" 2575 class="menu-drawer__menu-item menu-drawer__menu-item--mainlist menu-drawer__animated-element focus-inset" 2576 2577 > 2578 <span class="menu-drawer__menu-item-text wrap-text">Guides</span> 2579 </a> 2580 2581 </li> 2582 <li 2583 style="--menu-drawer-animation-index: 6;" 2584 class="menu-drawer__list-item--flat menu-drawer__list-item--divider" 2585 > 2586 2587<a 2588 id="HeaderDrawer-faq" 2589 href="/pages/faq" 2590 class="menu-drawer__menu-item menu-drawer__menu-item--mainlist menu-drawer__animated-element focus-inset" 2591 2592 > 2593 <span class="menu-drawer__menu-item-text wrap-text">FAQ</span> 2594 </a> 2595 2596 </li> 2597 <li 2598 style="--menu-drawer-animation-index: 7;" 2599 class="menu-drawer__list-item--flat menu-drawer__list-item--divider" 2600 > 2601 2602<a 2603 id="HeaderDrawer-coaching" 2604 href="/pages/coaching" 2605 class="menu-drawer__menu-item menu-drawer__menu-item--mainlist menu-drawer__animated-element focus-inset" 2606 2607 > 2608 <span class="menu-drawer__menu-item-text wrap-text">Coaching</span> 2609 </a> 2610 2611 </li> 2612 <li 2613 style="--menu-drawer-animation-index: 8;" 2614 class="menu-drawer__list-item--flat menu-drawer__list-item--divider" 2615 > 2616 2617<a 2618 id="HeaderDrawer-contact" 2619 href="/pages/contact" 2620 class="menu-drawer__menu-item menu-drawer__menu-item--mainlist menu-drawer__animated-element focus-inset" 2621 2622 >
2623 <span class="menu-drawer__menu-item-text wrap-text">Contact</span> 2624 </a> 2625 2626 </li> 2627 <li 2628 style="--menu-drawer-animation-index: 9;" 2629 class="menu-drawer__list-item--flat menu-drawer__list-item--divider" 2630 > 2631 2632<a 2633 id="HeaderDrawer-about" 2634 href="/pages/about" 2635 class="menu-drawer__menu-item menu-drawer__menu-item--mainlist menu-drawer__animated-element focus-inset" 2636 2637 > 2638 <span class="menu-drawer__menu-item-text wrap-text">About</span> 2639 </a> 2640 2641 </li> 2642 </ul> 2643 </nav> 2644 <div 2645 class="menu-drawer__utility-links menu-drawer__animated-element" 2646 style="--menu-drawer-animation-index: 9;" 2647 > 2648 2649 2650 2651 2652 2653 <drawer-localization-component class="menu-drawer__localization"> 2654 <details 2655 id="drawer-localization" 2656 class="drawer-localization" 2657 on:toggle="/toggle" 2658 > 2659 <summary 2660 id="HeaderDrawer-localization" 2661 class="drawer-localization__button h3 link link--text focus-inset" 2662 aria-expanded="false" 2663 on:click="header-drawer/open" 2664 style="--menu-localization-font: var(--font-heading--family); --color-shadow: rgb(var(--color-foreground-rgb) / var(--opacity-10-25));" 2665 > 2666 <div class="drawer-localization__button--label h6"><div class="mobile-localization mobile-localization--country link link--text"><span class="currency-code">USD</span> 2667 </div></div> 2668 <span class="svg-wrapper icon-caret icon-caret--forward"><svg width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg"> 2669 <path d="M11 5.5L7 9.5L3 5.5" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round" stroke-linejoin="round"/> 2670</svg> 2671</span> 2672 </summary> 2673 2674 <div 2675 class="menu-drawer__submenu has-submenu gradient motion-reduce color-scheme-1" 2676 style="" 2677 > 2678 <div 2679 class="menu-drawer__nav-buttons" 2680 ref="navButtons" 2681 > 2682 <button 2683 class="button menu-drawer__back-button link link--text focus-inset" 2684 aria-expanded="true" 2685 on:click="header-drawer/back" 2686 > 2687 <span class="svg-wrapper icon-caret icon-caret--backward"><svg width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg"> 2688 <path d="M11 5.5L7 9.5L3 5.5" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round" stroke-linejoin="round"/> 2689</svg> 2690</span> 2691 Region and language 2692 </button> 2693 <button 2694 class="button close-button menu-drawer__close-button" 2695 type="button" 2696 aria-label="Close" 2697 on:click="header-drawer/close" 2698 > 2699 <span class="svg-wrapper header-drawer-icon header-drawer-icon--close"><svg width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg"> 2700 <path d="M12 2L2 12" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round" stroke-linejoin="round"/> 2701 <path d="M12 12L2 2" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round" stroke-linejoin="round"/> 2702</svg> 2703</span> 2704 </button> 2705 </div> 2706 2707 2708<localization-form-component 2709 ref="localizationForm" 2710 data-label-results-count="[count] results" 2711 data-show-filter="true" 2712 style="--menu-localization-font: var(--font-heading--family); --color-shadow: rgb(var(--color-foreground-rgb) / var(--opacity-10-25));" 2713> 2714 2715<form method="post" action="/localization" id="LocalizationForm" accept-charset="UTF-8" class="localization-form" enctype="multipart/form-data" ref="form" aria-label="Region and language"><input type="hidden" name="form_type" value="localization" /><input type="hidden" name="utf8" value="â" /><input type="hidden" name="_method" value="put" /> 2716 2717 <div class="country-filter"> 2718 <div class="field"> 2719 <div class="country-filter__search-icon field__button motion-reduce">
2720 <span class="svg-wrapper"> 2721 <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="none"><circle cx="9" cy="9" r="4.75" stroke="currentColor" stroke-width="var(--icon-stroke-width)"/><path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="var(--icon-stroke-width)" d="m12.5 12.5 3.25 3.25"/></svg> 2722 2723 </span> 2724 </div> 2725 <input 2726 class="country-filter__input" 2727 id="country-filter-input" 2728 type="search" 2729 name="country_filter" 2730 value="" 2731 placeholder="Search" 2732 role="combobox" 2733 aria-owns="country-results" 2734 aria-controls="country-results" 2735 aria-haspopup="listbox" 2736 aria-autocomplete="list" 2737 aria-label="Find country" 2738 autocorrect="off" 2739 autocomplete="off" 2740 autocapitalize="off" 2741 spellcheck="false" 2742 ref="search" 2743 on:keyup="/filterCountries" 2744 > 2745 <label 2746 class="field__label visually-hidden" 2747 for="country-filter-input" 2748 >Search</label> 2749 <button 2750 type="reset" 2751 class="button button-unstyled country-filter__reset-button field__button" 2752 aria-label="Reset" 2753 ref="resetButton" 2754 hidden 2755 on:click="/resetCountriesFilter" 2756 > 2757 <span class="svg-wrapper"> 2758 <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="none"><circle cx="10" cy="10" r="6.25" stroke="currentColor" stroke-width="var(--icon-stroke-width)"/><path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="var(--icon-stroke-width)" d="m12.5 7.5-5 5M12.5 12.5l-5-5"/></svg> 2759 2760 </span> 2761 </button> 2762 </div> 2763 </div> 2764 2765 <div class="country-selector-form__wrapper"> 2766 <h2 2767 class="visually-hidden" 2768 id="drawer-CountryLabel" 2769 > 2770 Country/Region 2771 </h2> 2772 2773 <div 2774 id="sr-country-search-results-ARmwxZDdVajlQZEZIb__header-menu-1" 2775 class="visually-hidden" 2776 aria-live="polite" 2777 ref="liveRegion" 2778 ></div> 2779 2780 <div 2781 class="localization-form__list country-selector__list country-selector__list--with-multiple-currencies" 2782 id="drawer-country-results" 2783 ref="countryList" 2784 > 2785 2786 <ul 2787 role="list" 2788 class="list-unstyled countries" 2789 > 2790 <span 2791 class="localization-form__list-item localization-form__list-item-disabled" 2792 id="no-results-message" 2793 ref="noResultsMessage" 2794 hidden 2795 >No results found</span> 2796 <li 2797 class="localization-form__list-item" 2798 2799 data-value="AR" 2800 2801 data-aliases="" 2802 2803 id="Argentina" 2804 aria-label="Argentina" 2805 role="option" 2806 tabindex="-1" 2807 ref="countryListItems[]" 2808 on:click="/selectCountry/AR" 2809 > 2810 <span class="svg-wrapper icon-checkmark"><svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg" class="icon-checkmark"> 2811<path d="M4.75439 10.7485L7.68601 14.5888C7.79288 14.7288 7.84632 14.7988 7.91174 14.8242C7.96907 14.8466 8.03262 14.8469 8.09022 14.8253C8.15596 14.8007 8.21026 14.7314 8.31886 14.5927L15.2475 5.74658" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round" stroke-linejoin="round"/> 2812</svg> 2813</span> 2814 <span class="country">Argentina</span> 2815 <span 2816 class="localization-form__currency motion-reduce" 2817 2818 > 2819 USD 2820 $</span> 2821 </li> 2822 <li 2823 class="localization-form__list-item" 2824 2825 data-value="AU" 2826 2827 data-aliases="" 2828 2829 id="Australia" 2830 aria-label="Australia" 2831 role="option" 2832 tabindex="-1" 2833 ref="countryListItems[]" 2834 on:click="/selectCountry/AU" 2835 >
2836 <span class="svg-wrapper icon-checkmark"><svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg" class="icon-checkmark"> 2837<path d="M4.75439 10.7485L7.68601 14.5888C7.79288 14.7288 7.84632 14.7988 7.91174 14.8242C7.96907 14.8466 8.03262 14.8469 8.09022 14.8253C8.15596 14.8007 8.21026 14.7314 8.31886 14.5927L15.2475 5.74658" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round" stroke-linejoin="round"/> 2838</svg> 2839</span> 2840 <span class="country">Australia</span> 2841 <span 2842 class="localization-form__currency motion-reduce" 2843 2844 > 2845 AUD 2846 $</span> 2847 </li> 2848 <li 2849 class="localization-form__list-item" 2850 2851 data-value="BE" 2852 2853 data-aliases="" 2854 2855 id="Belgium" 2856 aria-label="Belgium" 2857 role="option" 2858 tabindex="-1" 2859 ref="countryListItems[]" 2860 on:click="/selectCountry/BE" 2861 > 2862 <span class="svg-wrapper icon-checkmark"><svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg" class="icon-checkmark"> 2863<path d="M4.75439 10.7485L7.68601 14.5888C7.79288 14.7288 7.84632 14.7988 7.91174 14.8242C7.96907 14.8466 8.03262 14.8469 8.09022 14.8253C8.15596 14.8007 8.21026 14.7314 8.31886 14.5927L15.2475 5.74658" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round" stroke-linejoin="round"/> 2864</svg> 2865</span> 2866 <span class="country">Belgium</span> 2867 <span 2868 class="localization-form__currency motion-reduce" 2869 2870 > 2871 EUR 2872 â¬</span> 2873 </li> 2874 <li 2875 class="localization-form__list-item" 2876 2877 data-value="BR" 2878 2879 data-aliases="" 2880 2881 id="Brazil" 2882 aria-label="Brazil" 2883 role="option" 2884 tabindex="-1" 2885 ref="countryListItems[]" 2886 on:click="/selectCountry/BR" 2887 > 2888 <span class="svg-wrapper icon-checkmark"><svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg" class="icon-checkmark"> 2889<path d="M4.75439 10.7485L7.68601 14.5888C7.79288 14.7288 7.84632 14.7988 7.91174 14.8242C7.96907 14.8466 8.03262 14.8469 8.09022 14.8253C8.15596 14.8007 8.21026 14.7314 8.31886 14.5927L15.2475 5.74658" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round" stroke-linejoin="round"/> 2890</svg> 2891</span> 2892 <span class="country">Brazil</span> 2893 <span 2894 class="localization-form__currency motion-reduce" 2895 2896 > 2897 USD 2898 $</span> 2899 </li> 2900 <li 2901 class="localization-form__list-item" 2902 2903 data-value="CA" 2904 2905 data-aliases="" 2906 2907 id="Canada" 2908 aria-label="Canada" 2909 role="option" 2910 tabindex="-1" 2911 ref="countryListItems[]" 2912 on:click="/selectCountry/CA" 2913 > 2914 <span class="svg-wrapper icon-checkmark"><svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg" class="icon-checkmark"> 2915<path d="M4.75439 10.7485L7.68601 14.5888C7.79288 14.7288 7.84632 14.7988 7.91174 14.8242C7.96907 14.8466 8.03262 14.8469 8.09022 14.8253C8.15596 14.8007 8.21026 14.7314 8.31886 14.5927L15.2475 5.74658" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round" stroke-linejoin="round"/> 2916</svg> 2917</span> 2918 <span class="country">Canada</span> 2919 <span 2920 class="localization-form__currency motion-reduce" 2921 2922 > 2923 CAD
2924 $</span> 2925 </li> 2926 <li 2927 class="localization-form__list-item" 2928 2929 data-value="CZ" 2930 2931 data-aliases="" 2932 2933 id="Czechia" 2934 aria-label="Czechia" 2935 role="option" 2936 tabindex="-1" 2937 ref="countryListItems[]" 2938 on:click="/selectCountry/CZ" 2939 > 2940 <span class="svg-wrapper icon-checkmark"><svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg" class="icon-checkmark"> 2941<path d="M4.75439 10.7485L7.68601 14.5888C7.79288 14.7288 7.84632 14.7988 7.91174 14.8242C7.96907 14.8466 8.03262 14.8469 8.09022 14.8253C8.15596 14.8007 8.21026 14.7314 8.31886 14.5927L15.2475 5.74658" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round" stroke-linejoin="round"/> 2942</svg> 2943</span> 2944 <span class="country">Czechia</span> 2945 <span 2946 class="localization-form__currency motion-reduce" 2947 2948 > 2949 CZK 2950 KÄ</span> 2951 </li> 2952 <li 2953 class="localization-form__list-item" 2954 2955 data-value="DK" 2956 2957 data-aliases="" 2958 2959 id="Denmark" 2960 aria-label="Denmark" 2961 role="option" 2962 tabindex="-1" 2963 ref="countryListItems[]" 2964 on:click="/selectCountry/DK" 2965 > 2966 <span class="svg-wrapper icon-checkmark"><svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg" class="icon-checkmark"> 2967<path d="M4.75439 10.7485L7.68601 14.5888C7.79288 14.7288 7.84632 14.7988 7.91174 14.8242C7.96907 14.8466 8.03262 14.8469 8.09022 14.8253C8.15596 14.8007 8.21026 14.7314 8.31886 14.5927L15.2475 5.74658" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round" stroke-linejoin="round"/> 2968</svg> 2969</span> 2970 <span class="country">Denmark</span> 2971 <span 2972 class="localization-form__currency motion-reduce" 2973 2974 > 2975 DKK 2976 kr.</span> 2977 </li> 2978 <li 2979 class="localization-form__list-item" 2980 2981 data-value="FI" 2982 2983 data-aliases="" 2984 2985 id="Finland" 2986 aria-label="Finland" 2987 role="option" 2988 tabindex="-1" 2989 ref="countryListItems[]" 2990 on:click="/selectCountry/FI" 2991 > 2992 <span class="svg-wrapper icon-checkmark"><svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg" class="icon-checkmark"> 2993<path d="M4.75439 10.7485L7.68601 14.5888C7.79288 14.7288 7.84632 14.7988 7.91174 14.8242C7.96907 14.8466 8.03262 14.8469 8.09022 14.8253C8.15596 14.8007 8.21026 14.7314 8.31886 14.5927L15.2475 5.74658" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round" stroke-linejoin="round"/> 2994</svg> 2995</span> 2996 <span class="country">Finland</span> 2997 <span 2998 class="localization-form__currency motion-reduce" 2999 3000 > 3001 EUR 3002 â¬</span> 3003 </li> 3004 <li 3005 class="localization-form__list-item" 3006 3007 data-value="FR" 3008 3009 data-aliases="" 3010 3011 id="France" 3012 aria-label="France" 3013 role="option" 3014 tabindex="-1" 3015 ref="countryListItems[]" 3016 on:click="/selectCountry/FR" 3017 > 3018 <span class="svg-wrapper icon-checkmark"><svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg" class="icon-checkmark"> 3019<path d="M4.75439 10.7485L7.68601 14.5888C7.79288 14.7288 7.84632 14.7988 7.91174 14.8242C7.96907 14.8466 8.03262 14.8469 8.09022 14.8253C8.15596 14.8007 8.21026 14.7314 8.31886 14.5927L15.2475 5.74658" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round" stroke-linejoin="round"/> 3020</svg> 3021</span>
3022 <span class="country">France</span> 3023 <span 3024 class="localization-form__currency motion-reduce" 3025 3026 > 3027 EUR 3028 â¬</span> 3029 </li> 3030 <li 3031 class="localization-form__list-item" 3032 3033 data-value="DE" 3034 3035 data-aliases="" 3036 3037 id="Germany" 3038 aria-label="Germany" 3039 role="option" 3040 tabindex="-1" 3041 ref="countryListItems[]" 3042 on:click="/selectCountry/DE" 3043 > 3044 <span class="svg-wrapper icon-checkmark"><svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg" class="icon-checkmark"> 3045<path d="M4.75439 10.7485L7.68601 14.5888C7.79288 14.7288 7.84632 14.7988 7.91174 14.8242C7.96907 14.8466 8.03262 14.8469 8.09022 14.8253C8.15596 14.8007 8.21026 14.7314 8.31886 14.5927L15.2475 5.74658" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round" stroke-linejoin="round"/> 3046</svg> 3047</span> 3048 <span class="country">Germany</span> 3049 <span 3050 class="localization-form__currency motion-reduce" 3051 3052 > 3053 EUR 3054 â¬</span> 3055 </li> 3056 <li 3057 class="localization-form__list-item" 3058 3059 data-value="GR" 3060 3061 data-aliases="" 3062 3063 id="Greece" 3064 aria-label="Greece" 3065 role="option" 3066 tabindex="-1" 3067 ref="countryListItems[]" 3068 on:click="/selectCountry/GR" 3069 > 3070 <span class="svg-wrapper icon-checkmark"><svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg" class="icon-checkmark"> 3071<path d="M4.75439 10.7485L7.68601 14.5888C7.79288 14.7288 7.84632 14.7988 7.91174 14.8242C7.96907 14.8466 8.03262 14.8469 8.09022 14.8253C8.15596 14.8007 8.21026 14.7314 8.31886 14.5927L15.2475 5.74658" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round" stroke-linejoin="round"/> 3072</svg> 3073</span> 3074 <span class="country">Greece</span> 3075 <span 3076 class="localization-form__currency motion-reduce" 3077 3078 > 3079 EUR 3080 â¬</span> 3081 </li> 3082 <li 3083 class="localization-form__list-item" 3084 3085 data-value="IE" 3086 3087 data-aliases="" 3088 3089 id="Ireland" 3090 aria-label="Ireland" 3091 role="option" 3092 tabindex="-1" 3093 ref="countryListItems[]" 3094 on:click="/selectCountry/IE" 3095 > 3096 <span class="svg-wrapper icon-checkmark"><svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg" class="icon-checkmark"> 3097<path d="M4.75439 10.7485L7.68601 14.5888C7.79288 14.7288 7.84632 14.7988 7.91174 14.8242C7.96907 14.8466 8.03262 14.8469 8.09022 14.8253C8.15596 14.8007 8.21026 14.7314 8.31886 14.5927L15.2475 5.74658" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round" stroke-linejoin="round"/> 3098</svg> 3099</span> 3100 <span class="country">Ireland</span> 3101 <span 3102 class="localization-form__currency motion-reduce" 3103 3104 > 3105 EUR 3106 â¬</span> 3107 </li> 3108 <li 3109 class="localization-form__list-item" 3110 3111 data-value="IL" 3112 3113 data-aliases="" 3114 3115 id="Israel" 3116 aria-label="Israel" 3117 role="option" 3118 tabindex="-1" 3119 ref="countryListItems[]" 3120 on:click="/selectCountry/IL" 3121 >
3122 <span class="svg-wrapper icon-checkmark"><svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg" class="icon-checkmark"> 3123<path d="M4.75439 10.7485L7.68601 14.5888C7.79288 14.7288 7.84632 14.7988 7.91174 14.8242C7.96907 14.8466 8.03262 14.8469 8.09022 14.8253C8.15596 14.8007 8.21026 14.7314 8.31886 14.5927L15.2475 5.74658" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round" stroke-linejoin="round"/> 3124</svg> 3125</span> 3126 <span class="country">Israel</span> 3127 <span 3128 class="localization-form__currency motion-reduce" 3129 3130 > 3131 ILS 3132 âª</span> 3133 </li> 3134 <li 3135 class="localization-form__list-item" 3136 3137 data-value="IT" 3138 3139 data-aliases="" 3140 3141 id="Italy" 3142 aria-label="Italy" 3143 role="option" 3144 tabindex="-1" 3145 ref="countryListItems[]" 3146 on:click="/selectCountry/IT" 3147 > 3148 <span class="svg-wrapper icon-checkmark"><svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg" class="icon-checkmark"> 3149<path d="M4.75439 10.7485L7.68601 14.5888C7.79288 14.7288 7.84632 14.7988 7.91174 14.8242C7.96907 14.8466 8.03262 14.8469 8.09022 14.8253C8.15596 14.8007 8.21026 14.7314 8.31886 14.5927L15.2475 5.74658" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round" stroke-linejoin="round"/> 3150</svg> 3151</span> 3152 <span class="country">Italy</span> 3153 <span 3154 class="localization-form__currency motion-reduce" 3155 3156 > 3157 EUR 3158 â¬</span> 3159 </li> 3160 <li 3161 class="localization-form__list-item" 3162 3163 data-value="MX" 3164 3165 data-aliases="" 3166 3167 id="Mexico" 3168 aria-label="Mexico" 3169 role="option" 3170 tabindex="-1" 3171 ref="countryListItems[]" 3172 on:click="/selectCountry/MX" 3173 > 3174 <span class="svg-wrapper icon-checkmark"><svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg" class="icon-checkmark"> 3175<path d="M4.75439 10.7485L7.68601 14.5888C7.79288 14.7288 7.84632 14.7988 7.91174 14.8242C7.96907 14.8466 8.03262 14.8469 8.09022 14.8253C8.15596 14.8007 8.21026 14.7314 8.31886 14.5927L15.2475 5.74658" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round" stroke-linejoin="round"/> 3176</svg> 3177</span> 3178 <span class="country">Mexico</span> 3179 <span 3180 class="localization-form__currency motion-reduce" 3181 3182 > 3183 USD 3184 $</span> 3185 </li> 3186 <li 3187 class="localization-form__list-item" 3188 3189 data-value="NL" 3190 3191 data-aliases="" 3192 3193 id="Netherlands" 3194 aria-label="Netherlands" 3195 role="option" 3196 tabindex="-1" 3197 ref="countryListItems[]" 3198 on:click="/selectCountry/NL" 3199 > 3200 <span class="svg-wrapper icon-checkmark"><svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg" class="icon-checkmark"> 3201<path d="M4.75439 10.7485L7.68601 14.5888C7.79288 14.7288 7.84632 14.7988 7.91174 14.8242C7.96907 14.8466 8.03262 14.8469 8.09022 14.8253C8.15596 14.8007 8.21026 14.7314 8.31886 14.5927L15.2475 5.74658" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round" stroke-linejoin="round"/> 3202</svg> 3203</span> 3204 <span class="country">Netherlands</span> 3205 <span 3206 class="localization-form__currency motion-reduce" 3207 3208 > 3209 EUR 3210 â¬</span> 3211 </li> 3212 <li 3213 class="localization-form__list-item" 3214 3215 data-value="NZ" 3216 3217 data-aliases="" 3218 3219 id="New Zealand" 3220 aria-label="New Zealand" 3221 role="option" 3222 tabindex="-1" 3223 ref="countryListItems[]" 3224 on:click="/selectCountry/NZ" 3225 >
3226 <span class="svg-wrapper icon-checkmark"><svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg" class="icon-checkmark"> 3227<path d="M4.75439 10.7485L7.68601 14.5888C7.79288 14.7288 7.84632 14.7988 7.91174 14.8242C7.96907 14.8466 8.03262 14.8469 8.09022 14.8253C8.15596 14.8007 8.21026 14.7314 8.31886 14.5927L15.2475 5.74658" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round" stroke-linejoin="round"/> 3228</svg> 3229</span> 3230 <span class="country">New Zealand</span> 3231 <span 3232 class="localization-form__currency motion-reduce" 3233 3234 > 3235 NZD 3236 $</span> 3237 </li> 3238 <li 3239 class="localization-form__list-item" 3240 3241 data-value="NO" 3242 3243 data-aliases="" 3244 3245 id="Norway" 3246 aria-label="Norway" 3247 role="option" 3248 tabindex="-1" 3249 ref="countryListItems[]" 3250 on:click="/selectCountry/NO" 3251 > 3252 <span class="svg-wrapper icon-checkmark"><svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg" class="icon-checkmark"> 3253<path d="M4.75439 10.7485L7.68601 14.5888C7.79288 14.7288 7.84632 14.7988 7.91174 14.8242C7.96907 14.8466 8.03262 14.8469 8.09022 14.8253C8.15596 14.8007 8.21026 14.7314 8.31886 14.5927L15.2475 5.74658" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round" stroke-linejoin="round"/> 3254</svg> 3255</span> 3256 <span class="country">Norway</span> 3257 <span 3258 class="localization-form__currency motion-reduce" 3259 3260 > 3261 USD 3262 $</span> 3263 </li> 3264 <li 3265 class="localization-form__list-item" 3266 3267 data-value="PT" 3268 3269 data-aliases="" 3270 3271 id="Portugal" 3272 aria-label="Portugal" 3273 role="option" 3274 tabindex="-1" 3275 ref="countryListItems[]" 3276 on:click="/selectCountry/PT" 3277 > 3278 <span class="svg-wrapper icon-checkmark"><svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg" class="icon-checkmark"> 3279<path d="M4.75439 10.7485L7.68601 14.5888C7.79288 14.7288 7.84632 14.7988 7.91174 14.8242C7.96907 14.8466 8.03262 14.8469 8.09022 14.8253C8.15596 14.8007 8.21026 14.7314 8.31886 14.5927L15.2475 5.74658" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round" stroke-linejoin="round"/> 3280</svg> 3281</span> 3282 <span class="country">Portugal</span> 3283 <span 3284 class="localization-form__currency motion-reduce" 3285 3286 > 3287 EUR 3288 â¬</span> 3289 </li> 3290 <li 3291 class="localization-form__list-item" 3292 3293 data-value="ES" 3294 3295 data-aliases="" 3296 3297 id="Spain" 3298 aria-label="Spain" 3299 role="option" 3300 tabindex="-1" 3301 ref="countryListItems[]" 3302 on:click="/selectCountry/ES" 3303 > 3304 <span class="svg-wrapper icon-checkmark"><svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg" class="icon-checkmark"> 3305<path d="M4.75439 10.7485L7.68601 14.5888C7.79288 14.7288 7.84632 14.7988 7.91174 14.8242C7.96907 14.8466 8.03262 14.8469 8.09022 14.8253C8.15596 14.8007 8.21026 14.7314 8.31886 14.5927L15.2475 5.74658" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round" stroke-linejoin="round"/> 3306</svg> 3307</span> 3308 <span class="country">Spain</span> 3309 <span 3310 class="localization-form__currency motion-reduce" 3311 3312 > 3313 EUR 3314 â¬</span> 3315 </li> 3316 <li 3317 class="localization-form__list-item" 3318 3319 data-value="SE" 3320 3321 data-aliases="" 3322 3323 id="Sweden" 3324 aria-label="Sweden" 3325 role="option" 3326 tabindex="-1" 3327 ref="countryListItems[]" 3328 on:click="/selectCountry/SE" 3329 >
3330 <span class="svg-wrapper icon-checkmark"><svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg" class="icon-checkmark"> 3331<path d="M4.75439 10.7485L7.68601 14.5888C7.79288 14.7288 7.84632 14.7988 7.91174 14.8242C7.96907 14.8466 8.03262 14.8469 8.09022 14.8253C8.15596 14.8007 8.21026 14.7314 8.31886 14.5927L15.2475 5.74658" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round" stroke-linejoin="round"/> 3332</svg> 3333</span> 3334 <span class="country">Sweden</span> 3335 <span 3336 class="localization-form__currency motion-reduce" 3337 3338 > 3339 SEK 3340 kr</span> 3341 </li> 3342 <li 3343 class="localization-form__list-item" 3344 3345 data-value="CH" 3346 3347 data-aliases="" 3348 3349 id="Switzerland" 3350 aria-label="Switzerland" 3351 role="option" 3352 tabindex="-1" 3353 ref="countryListItems[]" 3354 on:click="/selectCountry/CH" 3355 > 3356 <span class="svg-wrapper icon-checkmark"><svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg" class="icon-checkmark"> 3357<path d="M4.75439 10.7485L7.68601 14.5888C7.79288 14.7288 7.84632 14.7988 7.91174 14.8242C7.96907 14.8466 8.03262 14.8469 8.09022 14.8253C8.15596 14.8007 8.21026 14.7314 8.31886 14.5927L15.2475 5.74658" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round" stroke-linejoin="round"/> 3358</svg> 3359</span> 3360 <span class="country">Switzerland</span> 3361 <span 3362 class="localization-form__currency motion-reduce" 3363 3364 > 3365 CHF 3366 CHF</span> 3367 </li> 3368 <li 3369 class="localization-form__list-item" 3370 3371 data-value="TH" 3372 3373 data-aliases="" 3374 3375 id="Thailand" 3376 aria-label="Thailand" 3377 role="option" 3378 tabindex="-1" 3379 ref="countryListItems[]" 3380 on:click="/selectCountry/TH" 3381 > 3382 <span class="svg-wrapper icon-checkmark"><svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg" class="icon-checkmark"> 3383<path d="M4.75439 10.7485L7.68601 14.5888C7.79288 14.7288 7.84632 14.7988 7.91174 14.8242C7.96907 14.8466 8.03262 14.8469 8.09022 14.8253C8.15596 14.8007 8.21026 14.7314 8.31886 14.5927L15.2475 5.74658" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round" stroke-linejoin="round"/> 3384</svg> 3385</span> 3386 <span class="country">Thailand</span> 3387 <span 3388 class="localization-form__currency motion-reduce" 3389 3390 > 3391 THB 3392 ฿</span> 3393 </li> 3394 <li 3395 class="localization-form__list-item" 3396 3397 data-value="GB" 3398 3399 data-aliases="uk,gb,great britain" 3400 3401 id="United Kingdom" 3402 aria-label="United Kingdom" 3403 role="option" 3404 tabindex="-1" 3405 ref="countryListItems[]" 3406 on:click="/selectCountry/GB" 3407 > 3408 <span class="svg-wrapper icon-checkmark"><svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg" class="icon-checkmark"> 3409<path d="M4.75439 10.7485L7.68601 14.5888C7.79288 14.7288 7.84632 14.7988 7.91174 14.8242C7.96907 14.8466 8.03262 14.8469 8.09022 14.8253C8.15596 14.8007 8.21026 14.7314 8.31886 14.5927L15.2475 5.74658" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round" stroke-linejoin="round"/> 3410</svg> 3411</span> 3412 <span class="country">
3412United Kingdom</span> 3413 <span 3414 class="localization-form__currency motion-reduce" 3415 3416 > 3417 GBP 3418 £</span> 3419 </li> 3420 <li 3421 class="localization-form__list-item" 3422 3423 aria-current="true" 3424 3425 data-value="US" 3426 3427 data-aliases="us,usa,america,united states of america" 3428 3429 id="United States" 3430 aria-label="United States" 3431 role="option" 3432 tabindex="-1" 3433 ref="countryListItems[]" 3434 on:click="/selectCountry/US" 3435 > 3436 <span class="svg-wrapper icon-checkmark"><svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg" class="icon-checkmark"> 3437<path d="M4.75439 10.7485L7.68601 14.5888C7.79288 14.7288 7.84632 14.7988 7.91174 14.8242C7.96907 14.8466 8.03262 14.8469 8.09022 14.8253C8.15596 14.8007 8.21026 14.7314 8.31886 14.5927L15.2475 5.74658" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round" stroke-linejoin="round"/> 3438</svg> 3439</span> 3440 <span class="country">United States</span> 3441 <span 3442 class="localization-form__currency motion-reduce" 3443 3444 > 3445 USD 3446 $</span> 3447 </li></ul> 3448 </div> 3449 <div class="country-selector__overlay"></div> 3450 <input 3451 type="hidden" 3452 name="country_code" 3453 value="US" 3454 ref="countryInput" 3455 > 3456 </div> 3457 3458 3459 3460</form></localization-form-component> 3461 3462 3463 3464 </div> 3465 </details> 3466 </drawer-localization-component> 3467 3468 3469</div> 3470 3471 3472 </div> 3473 <div 3474 class="menu-drawer__backdrop" 3475 on:click="header-drawer/close" 3476 ></div> 3477 </details> 3478</header-drawer> 3479 3480 3481 3482 </div> 3483 3484 3485 3486 3487 3488 3489 3490 3491 3492 3493 3494 3495 3496 <search-button class="search-action desktop:hidden"> 3497 <button 3498 on:click="#search-modal/showDialog" 3499 class="button button-unstyled search-modal__button header-actions__action" 3500 aria-label="Search" 3501 aria-haspopup="dialog" 3502 > 3503 <span 3504 aria-hidden="true" 3505 class="svg-wrapper" 3506 > 3507 <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="none"><circle cx="9" cy="9" r="4.75" stroke="currentColor" stroke-width="var(--icon-stroke-width)"/><path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="var(--icon-stroke-width)" d="m12.5 12.5 3.25 3.25"/></svg> 3508 3509 </span> 3510 </button> 3511 </search-button> 3512 3513 3514 3515 3516 3517 3518 3519 3520 3521 3522 3523 3524 3525 3526<a 3527 3528 href="/" 3529 class="size-style spacing-style header-logo" 3530 style=" 3531 --size-style-width: ;--size-style-height: ; 3532 --padding-block-start: 0px;--padding-block-end: 0px;--padding-inline-start: 0px;--padding-inline-end: 0px; 3533 --font-family: var(--font-body--family); 3534 --font-style: var(--font-body--style); 3535 --font-weight: 600; 3536 " 3537 3538> 3539 3540 3541 <span 3542 class="header-logo__image-container header-logo__image-container--original" 3543 data-testid="header-logo" 3544 > 3545 3546 3547 3548 3549 3550 3551 3552 3553 3554 3555 3556 <img src="//the3dprintzone.com/cdn/shop/files/BANNER_THE_3D_PRINT_ZONE.png?height=55&v=1762798695" alt="" width="275" height="55" class="header-logo__image" srcset="//the3dprintzone.com/cdn/shop/files/BANNER_THE_3D_PRINT_ZONE.png?height=55&v=1762798695 1x, //the3dprintzone.com/cdn/shop/files/BANNER_THE_3D_PRINT_ZONE.png?height=110&v=1762798695 2x, //the3dprintzone.com/cdn/shop/files/BANNER_THE_3D_PRINT_ZONE.png?height=165&v=1762798695 3x" style="--header-logo-image-width: 275px;--header-logo-image-width-mobile: 200px; --header-logo-image-height: 55px; --header-logo-image-height-mobile: 40px;"> 3557 3558 3559 </span> 3560 3561 3562</a> 3563 3564 3565 3566 3567 3568 3569 3570 3571 </div><div 3572 class="header__column header__column--center" 3573 data-testid="header-top-center" 3574 > 3575 3576 3577 3578 3579 3580 3581 3582 <header-menu 3583 ref="headerMenu" 3584 class="header-menu mobile:hidden" 3585 data-animation-delay="200" 3586 3587 style="--submenu-animation-speed: 200ms;" 3588 > 3589 <div class="header-menu__inner"> 3590 3591 3592 3593<nav header-menu> 3594 <div 3595 class="menu-list" 3596 style="--menu-top-level-font-family: var(--font-body--family); 3597--menu-top-level-font-size-desktop: 1rem; --menu-top-level-font-style: var(--font-body--style);
3597 --menu-top-level-font-weight: var(--font-body--weight); --menu-top-level-font-case:none; 3598 3599 --menu-top-level-font-size: var(--menu-font-sm--size); --menu-top-level-font-line-height: 3600 var(--menu-font-sm--line-height); 3601 3602--menu-top-level-font-color: var(--color-foreground); --menu-top-level-font-color-rgb: var(--color-foreground-rgb); 3603" 3604 > 3605 3606 <overflow-list 3607 3608 ref="overflowMenu" 3609 3610 3611 class="overflow-menu color-scheme-matches-parent" 3612 3613 3614 minimum-items="2" 3615 3616 3617 defer 3618 3619> 3620 <template shadowrootmode="open"> 3621 <link href="//the3dprintzone.com/cdn/shop/t/6/assets/overflow-list.css?v=168694168152117541881772242764" rel="stylesheet" type="text/css" media="all" /> 3622 3623 <ul part="list"> 3624 <slot></slot> 3625 <slot 3626 name="more" 3627 part="more" 3628 hidden 3629 3630 > 3631 <li 3632 part="more" 3633 > 3634 <button 3635 class="button" 3636 type="button" 3637 tabindex="0" 3638 > 3639 More 3640 </button> 3641 </li> 3642 </slot> 3643 <li 3644 part="placeholder" 3645 hidden 3646 ></li> 3647 </ul> 3648 3649 <div part="overflow"> 3650 <ul part="overflow-list"> 3651 <slot name="overflow"></slot> 3652 </ul> 3653 </div> 3654 </template> 3655 3656 3657 3658 <li 3659 role="presentation" 3660 class="menu-list__list-item" 3661 on:focus="/activate" 3662 on:blur="/deactivate" 3663 on:pointerenter="/activate" 3664 on:pointerleave="/deactivate" 3665 > 3666 <a 3667 href="/" 3668 data-skip-node-update="true" 3669 class="menu-list__link"ref="menuitem" 3670 > 3671 <span class="menu-list__link-title">Home</span> 3672 </a></li> 3673 3674 <li 3675 role="presentation" 3676 class="menu-list__list-item" 3677 on:focus="/activate" 3678 on:blur="/deactivate" 3679 on:pointerenter="/activate" 3680 on:pointerleave="/deactivate" 3681 > 3682 <a 3683 href="/pages/kits" 3684 data-skip-node-update="true" 3685 class="menu-list__link"ref="menuitem" 3686 > 3687 <span class="menu-list__link-title">Kits</span> 3688 </a></li> 3689 3690 <li 3691 role="presentation" 3692 class="menu-list__list-item" 3693 on:focus="/activate" 3694 on:blur="/deactivate" 3695 on:pointerenter="/activate" 3696 on:pointerleave="/deactivate" 3697 > 3698 <a 3699 href="/pages/files" 3700 data-skip-node-update="true" 3701 class="menu-list__link"ref="menuitem" 3702 > 3703 <span class="menu-list__link-title">Files</span> 3704 </a></li> 3705 3706 <li 3707 role="presentation" 3708 class="menu-list__list-item" 3709 on:focus="/activate" 3710 on:blur="/deactivate" 3711 on:pointerenter="/activate" 3712 on:pointerleave="/deactivate" 3713 > 3714 <a 3715 href="/pages/guitar-gallery" 3716 data-skip-node-update="true" 3717 class="menu-list__link"ref="menuitem" 3718 > 3719 <span class="menu-list__link-title">Gallery</span> 3720 </a></li> 3721 3722 <li 3723 role="presentation" 3724 class="menu-list__list-item" 3725 on:focus="/activate" 3726 on:blur="/deactivate" 3727 on:pointerenter="/activate" 3728 on:pointerleave="/deactivate" 3729 > 3730 <a 3731 href="/pages/guides" 3732 data-skip-node-update="true" 3733 class="menu-list__link"ref="menuitem" 3734 > 3735 <span class="menu-list__link-title">Guides</span> 3736 </a></li> 3737 3738 <li 3739 role="presentation" 3740 class="menu-list__list-item" 3741 on:focus="/activate" 3742 on:blur="/deactivate" 3743 on:pointerenter="/activate" 3744 on:pointerleave="/deactivate" 3745 > 3746 <a 3747 href="/pages/faq" 3748 data-skip-node-update="true" 3749 class="menu-list__link"ref="menuitem" 3750 > 3751 <span class="menu-list__link-title">FAQ</span> 3752 </a></li> 3753 3754 <li 3755 role="presentation" 3756 class="menu-list__list-item" 3757 on:focus="/activate" 3758 on:blur="/deactivate" 3759 on:pointerenter="/activate" 3760 on:pointerleave="/deactivate" 3761 > 3762 <a 3763 href="/pages/coaching" 3764 data-skip-node-update="true" 3765 class="menu-list__link"ref="menuitem" 3766 > 3767 <span class="menu-list__link-title">Coaching</span> 3768 </a></li> 3769 3770 <li 3771 role="presentation" 3772 class="menu-list__list-item" 3773 on:focus="/activate" 3774 on:blur="/deactivate"
3775 on:pointerenter="/activate" 3776 on:pointerleave="/deactivate" 3777 > 3778 <a 3779 href="/pages/contact" 3780 data-skip-node-update="true" 3781 class="menu-list__link"ref="menuitem" 3782 > 3783 <span class="menu-list__link-title">Contact</span> 3784 </a></li> 3785 3786 <li 3787 role="presentation" 3788 class="menu-list__list-item" 3789 on:focus="/activate" 3790 on:blur="/deactivate" 3791 on:pointerenter="/activate" 3792 on:pointerleave="/deactivate" 3793 > 3794 <a 3795 href="/pages/about" 3796 data-skip-node-update="true" 3797 class="menu-list__link"ref="menuitem" 3798 > 3799 <span class="menu-list__link-title">About</span> 3800 </a></li> 3801 3802 <li 3803 class="menu-list__list-item" 3804 role="presentation" 3805 slot="more" 3806 on:focus="/activate" 3807 on:blur="/deactivate" 3808 on:pointerenter="/activate" 3809 on:pointerleave="/deactivate" 3810 > 3811 <button role="menuitem" class="button menu-list__link button-unstyled"> 3812 <span class="menu-list__link-title">More</span> 3813 </button> 3814 </li> 3815 3816</overflow-list> 3817 3818 </div> 3819</nav> 3820 3821 </div> 3822 3823
3823<script 3824 src="//the3dprintzone.com/cdn/shop/t/6/assets/header-menu.js?v=98986771878453457241772242764" 3825 type="module" 3826 fetchpriority="low" 3827 ></script>
3827 3828 </header-menu> 3829 3830 3831 3832 3833 3834 3835 3836 3837 3838 </div><div 3839 class="header__column header__column--right" 3840 data-testid="header-top-right" 3841 > 3842 3843 3844 3845 3846 3847 3848 <dropdown-localization-component 3849 class="dropdown-localization mobile:hidden" 3850 > 3851 <button 3852 type="button" 3853 class="button dropdown-localization__button localization-selector link link--text" 3854 aria-expanded="false" 3855 aria-controls="dropdown-localization-results" 3856 ref="button" 3857 on:click="/toggleSelector" 3858 style="--menu-localization-font: var(--font-heading--family); --menu-localization-font-size: 0.875rem; " 3859 > 3860 3861 3862 <span 3863 class="currency-code" 3864 data-testid="localization-currency-code" 3865 >USD</span> 3866 3867 <span 3868 class="visually-hidden" 3869 data-testid="localization-visually-hidden" 3870 >Region and language selector</span><span class="svg-wrapper icon-caret"><svg width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg"> 3871 <path d="M11 5.5L7 9.5L3 5.5" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round" stroke-linejoin="round"/> 3872</svg> 3873</span> 3874 </button> 3875 3876 <div 3877 class="localization-wrapper right-bound color-scheme-1" 3878 hidden 3879 ref="panel" 3880 > 3881 3882<localization-form-component 3883 ref="localizationForm" 3884 data-label-results-count="[count] results" 3885 data-show-filter="true" 3886 style="--menu-localization-font: var(--font-heading--family); --menu-localization-font-size: 0.875rem; --color-shadow: rgb(var(--color-foreground-rgb) / var(--opacity-10-25));" 3887> 3888 3889<form method="post" action="/localization" id="LocalizationForm" accept-charset="UTF-8" class="localization-form" enctype="multipart/form-data" ref="form" aria-label="Region and language"><input type="hidden" name="form_type" value="localization" /><input type="hidden" name="utf8" value="â" /><input type="hidden" name="_method" value="put" /> 3890 3891 <div class="country-filter"> 3892 <div class="field"> 3893 <div class="country-filter__search-icon field__button motion-reduce"> 3894 <span class="svg-wrapper"> 3895 <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="none"><circle cx="9" cy="9" r="4.75" stroke="currentColor" stroke-width="var(--icon-stroke-width)"/><path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="var(--icon-stroke-width)" d="m12.5 12.5 3.25 3.25"/></svg> 3896 3897 </span> 3898 </div> 3899 <input 3900 class="country-filter__input" 3901 id="country-filter-input" 3902 type="search" 3903 name="country_filter" 3904 value="" 3905 placeholder="Search" 3906 role="combobox" 3907 aria-owns="country-results" 3908 aria-controls="country-results" 3909 aria-haspopup="listbox" 3910 aria-autocomplete="list" 3911 aria-label="Find country" 3912 autocorrect="off" 3913 autocomplete="off" 3914 autocapitalize="off" 3915 spellcheck="false" 3916 ref="search" 3917 on:keyup="/filterCountries" 3918 > 3919 <label 3920 class="field__label visually-hidden" 3921 for="country-filter-input" 3922 >Search</label> 3923 <button 3924 type="reset" 3925 class="button button-unstyled country-filter__reset-button field__button" 3926 aria-label="Reset" 3927 ref="resetButton" 3928 hidden 3929 on:click="/resetCountriesFilter" 3930 > 3931 <span class="svg-wrapper"> 3932 <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="none"><circle cx="10" cy="10" r="6.25" stroke="currentColor" stroke-width="var(--icon-stroke-width)"/><path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="var(--icon-stroke-width)" d="m12.5 7.5-5 5M12.5 12.5l-5-5"/></svg> 3933 3934 </span> 3935 </button> 3936 </div> 3937 </div> 3938 3939 <div class="country-selector-form__wrapper"> 3940 <h2 3941 class="visually-hidden" 3942 id="dropdown-CountryLabel" 3943 > 3944 Country/Region 3945 </h2> 3946 3947 <div 3948 id="sr-country-search-results-" 3949 class="visually-hidden"
3950 aria-live="polite" 3951 ref="liveRegion" 3952 ></div> 3953 3954 <div 3955 class="localization-form__list country-selector__list country-selector__list--with-multiple-currencies" 3956 id="dropdown-country-results" 3957 ref="countryList" 3958 > 3959 3960 <ul 3961 role="list" 3962 class="list-unstyled countries" 3963 > 3964 <span 3965 class="localization-form__list-item localization-form__list-item-disabled" 3966 id="no-results-message" 3967 ref="noResultsMessage" 3968 hidden 3969 >No results found</span> 3970 <li 3971 class="localization-form__list-item" 3972 3973 data-value="AR" 3974 3975 data-aliases="" 3976 3977 id="Argentina" 3978 aria-label="Argentina" 3979 role="option" 3980 tabindex="-1" 3981 ref="countryListItems[]" 3982 on:click="/selectCountry/AR" 3983 > 3984 <span class="svg-wrapper icon-checkmark"><svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg" class="icon-checkmark"> 3985<path d="M4.75439 10.7485L7.68601 14.5888C7.79288 14.7288 7.84632 14.7988 7.91174 14.8242C7.96907 14.8466 8.03262 14.8469 8.09022 14.8253C8.15596 14.8007 8.21026 14.7314 8.31886 14.5927L15.2475 5.74658" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round" stroke-linejoin="round"/> 3986</svg> 3987</span> 3988 <span class="country">Argentina</span> 3989 <span 3990 class="localization-form__currency motion-reduce" 3991 3992 > 3993 USD 3994 $</span> 3995 </li> 3996 <li 3997 class="localization-form__list-item" 3998 3999 data-value="AU" 4000 4001 data-aliases="" 4002 4003 id="Australia" 4004 aria-label="Australia" 4005 role="option" 4006 tabindex="-1" 4007 ref="countryListItems[]" 4008 on:click="/selectCountry/AU" 4009 > 4010 <span class="svg-wrapper icon-checkmark"><svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg" class="icon-checkmark"> 4011<path d="M4.75439 10.7485L7.68601 14.5888C7.79288 14.7288 7.84632 14.7988 7.91174 14.8242C7.96907 14.8466 8.03262 14.8469 8.09022 14.8253C8.15596 14.8007 8.21026 14.7314 8.31886 14.5927L15.2475 5.74658" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round" stroke-linejoin="round"/> 4012</svg> 4013</span> 4014 <span class="country">Australia</span> 4015 <span 4016 class="localization-form__currency motion-reduce" 4017 4018 > 4019 AUD 4020 $</span> 4021 </li> 4022 <li 4023 class="localization-form__list-item" 4024 4025 data-value="BE" 4026 4027 data-aliases="" 4028 4029 id="Belgium" 4030 aria-label="Belgium" 4031 role="option" 4032 tabindex="-1" 4033 ref="countryListItems[]" 4034 on:click="/selectCountry/BE" 4035 > 4036 <span class="svg-wrapper icon-checkmark"><svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg" class="icon-checkmark"> 4037<path d="M4.75439 10.7485L7.68601 14.5888C7.79288 14.7288 7.84632 14.7988 7.91174 14.8242C7.96907 14.8466 8.03262 14.8469 8.09022 14.8253C8.15596 14.8007 8.21026 14.7314 8.31886 14.5927L15.2475 5.74658" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round" stroke-linejoin="round"/> 4038</svg> 4039</span> 4040 <span class="country">Belgium</span> 4041 <span 4042 class="localization-form__currency motion-reduce" 4043 4044 > 4045 EUR 4046 â¬</span> 4047 </li> 4048 <li 4049 class="localization-form__list-item" 4050 4051 data-value="BR"
4052 4053 data-aliases="" 4054 4055 id="Brazil" 4056 aria-label="Brazil" 4057 role="option" 4058 tabindex="-1" 4059 ref="countryListItems[]" 4060 on:click="/selectCountry/BR" 4061 > 4062 <span class="svg-wrapper icon-checkmark"><svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg" class="icon-checkmark"> 4063<path d="M4.75439 10.7485L7.68601 14.5888C7.79288 14.7288 7.84632 14.7988 7.91174 14.8242C7.96907 14.8466 8.03262 14.8469 8.09022 14.8253C8.15596 14.8007 8.21026 14.7314 8.31886 14.5927L15.2475 5.74658" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round" stroke-linejoin="round"/> 4064</svg> 4065</span> 4066 <span class="country">Brazil</span> 4067 <span 4068 class="localization-form__currency motion-reduce" 4069 4070 > 4071 USD 4072 $</span> 4073 </li> 4074 <li 4075 class="localization-form__list-item" 4076 4077 data-value="CA" 4078 4079 data-aliases="" 4080 4081 id="Canada" 4082 aria-label="Canada" 4083 role="option" 4084 tabindex="-1" 4085 ref="countryListItems[]" 4086 on:click="/selectCountry/CA" 4087 > 4088 <span class="svg-wrapper icon-checkmark"><svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg" class="icon-checkmark"> 4089<path d="M4.75439 10.7485L7.68601 14.5888C7.79288 14.7288 7.84632 14.7988 7.91174 14.8242C7.96907 14.8466 8.03262 14.8469 8.09022 14.8253C8.15596 14.8007 8.21026 14.7314 8.31886 14.5927L15.2475 5.74658" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round" stroke-linejoin="round"/> 4090</svg> 4091</span> 4092 <span class="country">Canada</span> 4093 <span 4094 class="localization-form__currency motion-reduce" 4095 4096 > 4097 CAD 4098 $</span> 4099 </li> 4100 <li 4101 class="localization-form__list-item" 4102 4103 data-value="CZ" 4104 4105 data-aliases="" 4106 4107 id="Czechia" 4108 aria-label="Czechia" 4109 role="option" 4110 tabindex="-1" 4111 ref="countryListItems[]" 4112 on:click="/selectCountry/CZ" 4113 > 4114 <span class="svg-wrapper icon-checkmark"><svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg" class="icon-checkmark"> 4115<path d="M4.75439 10.7485L7.68601 14.5888C7.79288 14.7288 7.84632 14.7988 7.91174 14.8242C7.96907 14.8466 8.03262 14.8469 8.09022 14.8253C8.15596 14.8007 8.21026 14.7314 8.31886 14.5927L15.2475 5.74658" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round" stroke-linejoin="round"/> 4116</svg> 4117</span> 4118 <span class="country">Czechia</span> 4119 <span 4120 class="localization-form__currency motion-reduce" 4121 4122 > 4123 CZK 4124 KÄ</span> 4125 </li> 4126 <li 4127 class="localization-form__list-item" 4128 4129 data-value="DK" 4130 4131 data-aliases="" 4132 4133 id="Denmark" 4134 aria-label="Denmark" 4135 role="option" 4136 tabindex="-1" 4137 ref="countryListItems[]" 4138 on:click="/selectCountry/DK" 4139 > 4140 <span class="svg-wrapper icon-checkmark"><svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg" class="icon-checkmark"> 4141<path d="M4.75439 10.7485L7.68601 14.5888C7.79288 14.7288 7.84632 14.7988 7.91174 14.8242C7.96907 14.8466 8.03262 14.8469 8.09022 14.8253C8.15596 14.8007 8.21026 14.7314 8.31886 14.5927L15.2475 5.74658" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round" stroke-linejoin="round"/> 4142</svg> 4143</span>
4144 <span class="country">Denmark</span> 4145 <span 4146 class="localization-form__currency motion-reduce" 4147 4148 > 4149 DKK 4150 kr.</span> 4151 </li> 4152 <li 4153 class="localization-form__list-item" 4154 4155 data-value="FI" 4156 4157 data-aliases="" 4158 4159 id="Finland" 4160 aria-label="Finland" 4161 role="option" 4162 tabindex="-1" 4163 ref="countryListItems[]" 4164 on:click="/selectCountry/FI" 4165 > 4166 <span class="svg-wrapper icon-checkmark"><svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg" class="icon-checkmark"> 4167<path d="M4.75439 10.7485L7.68601 14.5888C7.79288 14.7288 7.84632 14.7988 7.91174 14.8242C7.96907 14.8466 8.03262 14.8469 8.09022 14.8253C8.15596 14.8007 8.21026 14.7314 8.31886 14.5927L15.2475 5.74658" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round" stroke-linejoin="round"/> 4168</svg> 4169</span> 4170 <span class="country">Finland</span> 4171 <span 4172 class="localization-form__currency motion-reduce" 4173 4174 > 4175 EUR 4176 â¬</span> 4177 </li> 4178 <li 4179 class="localization-form__list-item" 4180 4181 data-value="FR" 4182 4183 data-aliases="" 4184 4185 id="France" 4186 aria-label="France" 4187 role="option" 4188 tabindex="-1" 4189 ref="countryListItems[]" 4190 on:click="/selectCountry/FR" 4191 > 4192 <span class="svg-wrapper icon-checkmark"><svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg" class="icon-checkmark"> 4193<path d="M4.75439 10.7485L7.68601 14.5888C7.79288 14.7288 7.84632 14.7988 7.91174 14.8242C7.96907 14.8466 8.03262 14.8469 8.09022 14.8253C8.15596 14.8007 8.21026 14.7314 8.31886 14.5927L15.2475 5.74658" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round" stroke-linejoin="round"/> 4194</svg> 4195</span> 4196 <span class="country">France</span> 4197 <span 4198 class="localization-form__currency motion-reduce" 4199 4200 > 4201 EUR 4202 â¬</span> 4203 </li> 4204 <li 4205 class="localization-form__list-item" 4206 4207 data-value="DE" 4208 4209 data-aliases="" 4210 4211 id="Germany" 4212 aria-label="Germany" 4213 role="option" 4214 tabindex="-1" 4215 ref="countryListItems[]" 4216 on:click="/selectCountry/DE" 4217 > 4218 <span class="svg-wrapper icon-checkmark"><svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg" class="icon-checkmark"> 4219<path d="M4.75439 10.7485L7.68601 14.5888C7.79288 14.7288 7.84632 14.7988 7.91174 14.8242C7.96907 14.8466 8.03262 14.8469 8.09022 14.8253C8.15596 14.8007 8.21026 14.7314 8.31886 14.5927L15.2475 5.74658" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round" stroke-linejoin="round"/> 4220</svg> 4221</span> 4222 <span class="country">Germany</span> 4223 <span 4224 class="localization-form__currency motion-reduce" 4225 4226 > 4227 EUR 4228 â¬</span> 4229 </li> 4230 <li 4231 class="localization-form__list-item" 4232 4233 data-value="GR" 4234 4235 data-aliases="" 4236 4237 id="Greece" 4238 aria-label="Greece" 4239 role="option" 4240 tabindex="-1" 4241 ref="countryListItems[]" 4242 on:click="/selectCountry/GR" 4243 >
4244 <span class="svg-wrapper icon-checkmark"><svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg" class="icon-checkmark"> 4245<path d="M4.75439 10.7485L7.68601 14.5888C7.79288 14.7288 7.84632 14.7988 7.91174 14.8242C7.96907 14.8466 8.03262 14.8469 8.09022 14.8253C8.15596 14.8007 8.21026 14.7314 8.31886 14.5927L15.2475 5.74658" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round" stroke-linejoin="round"/> 4246</svg> 4247</span> 4248 <span class="country">Greece</span> 4249 <span 4250 class="localization-form__currency motion-reduce" 4251 4252 > 4253 EUR 4254 â¬</span> 4255 </li> 4256 <li 4257 class="localization-form__list-item" 4258 4259 data-value="IE" 4260 4261 data-aliases="" 4262 4263 id="Ireland" 4264 aria-label="Ireland" 4265 role="option" 4266 tabindex="-1" 4267 ref="countryListItems[]" 4268 on:click="/selectCountry/IE" 4269 > 4270 <span class="svg-wrapper icon-checkmark"><svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg" class="icon-checkmark"> 4271<path d="M4.75439 10.7485L7.68601 14.5888C7.79288 14.7288 7.84632 14.7988 7.91174 14.8242C7.96907 14.8466 8.03262 14.8469 8.09022 14.8253C8.15596 14.8007 8.21026 14.7314 8.31886 14.5927L15.2475 5.74658" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round" stroke-linejoin="round"/> 4272</svg> 4273</span> 4274 <span class="country">Ireland</span> 4275 <span 4276 class="localization-form__currency motion-reduce" 4277 4278 > 4279 EUR 4280 â¬</span> 4281 </li> 4282 <li 4283 class="localization-form__list-item" 4284 4285 data-value="IL" 4286 4287 data-aliases="" 4288 4289 id="Israel" 4290 aria-label="Israel" 4291 role="option" 4292 tabindex="-1" 4293 ref="countryListItems[]" 4294 on:click="/selectCountry/IL" 4295 > 4296 <span class="svg-wrapper icon-checkmark"><svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg" class="icon-checkmark"> 4297<path d="M4.75439 10.7485L7.68601 14.5888C7.79288 14.7288 7.84632 14.7988 7.91174 14.8242C7.96907 14.8466 8.03262 14.8469 8.09022 14.8253C8.15596 14.8007 8.21026 14.7314 8.31886 14.5927L15.2475 5.74658" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round" stroke-linejoin="round"/> 4298</svg> 4299</span> 4300 <span class="country">Israel</span> 4301 <span 4302 class="localization-form__currency motion-reduce" 4303 4304 > 4305 ILS 4306 âª</span> 4307 </li> 4308 <li 4309 class="localization-form__list-item" 4310 4311 data-value="IT" 4312 4313 data-aliases="" 4314 4315 id="Italy" 4316 aria-label="Italy" 4317 role="option" 4318 tabindex="-1" 4319 ref="countryListItems[]" 4320 on:click="/selectCountry/IT" 4321 > 4322 <span class="svg-wrapper icon-checkmark"><svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg" class="icon-checkmark"> 4323<path d="M4.75439 10.7485L7.68601 14.5888C7.79288 14.7288 7.84632 14.7988 7.91174 14.8242C7.96907 14.8466 8.03262 14.8469 8.09022 14.8253C8.15596 14.8007 8.21026 14.7314 8.31886 14.5927L15.2475 5.74658" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round" stroke-linejoin="round"/> 4324</svg> 4325</span> 4326 <span class="country">Italy</span> 4327 <span 4328 class="localization-form__currency motion-reduce" 4329 4330 > 4331 EUR 4332 â¬</span> 4333 </li> 4334 <li 4335 class="localization-form__list-item" 4336 4337 data-value="MX" 4338 4339 data-aliases="" 4340 4341 id="Mexico" 4342 aria-label="Mexico" 4343 role="option" 4344 tabindex="-1" 4345 ref="countryListItems[]" 4346 on:click="/selectCountry/MX" 4347 >
4348 <span class="svg-wrapper icon-checkmark"><svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg" class="icon-checkmark"> 4349<path d="M4.75439 10.7485L7.68601 14.5888C7.79288 14.7288 7.84632 14.7988 7.91174 14.8242C7.96907 14.8466 8.03262 14.8469 8.09022 14.8253C8.15596 14.8007 8.21026 14.7314 8.31886 14.5927L15.2475 5.74658" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round" stroke-linejoin="round"/> 4350</svg> 4351</span> 4352 <span class="country">Mexico</span> 4353 <span 4354 class="localization-form__currency motion-reduce" 4355 4356 > 4357 USD 4358 $</span> 4359 </li> 4360 <li 4361 class="localization-form__list-item" 4362 4363 data-value="NL" 4364 4365 data-aliases="" 4366 4367 id="Netherlands" 4368 aria-label="Netherlands" 4369 role="option" 4370 tabindex="-1" 4371 ref="countryListItems[]" 4372 on:click="/selectCountry/NL" 4373 > 4374 <span class="svg-wrapper icon-checkmark"><svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg" class="icon-checkmark"> 4375<path d="M4.75439 10.7485L7.68601 14.5888C7.79288 14.7288 7.84632 14.7988 7.91174 14.8242C7.96907 14.8466 8.03262 14.8469 8.09022 14.8253C8.15596 14.8007 8.21026 14.7314 8.31886 14.5927L15.2475 5.74658" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round" stroke-linejoin="round"/> 4376</svg> 4377</span> 4378 <span class="country">Netherlands</span> 4379 <span 4380 class="localization-form__currency motion-reduce" 4381 4382 > 4383 EUR 4384 â¬</span> 4385 </li> 4386 <li 4387 class="localization-form__list-item" 4388 4389 data-value="NZ" 4390 4391 data-aliases="" 4392 4393 id="New Zealand" 4394 aria-label="New Zealand" 4395 role="option" 4396 tabindex="-1" 4397 ref="countryListItems[]" 4398 on:click="/selectCountry/NZ" 4399 > 4400 <span class="svg-wrapper icon-checkmark"><svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg" class="icon-checkmark"> 4401<path d="M4.75439 10.7485L7.68601 14.5888C7.79288 14.7288 7.84632 14.7988 7.91174 14.8242C7.96907 14.8466 8.03262 14.8469 8.09022 14.8253C8.15596 14.8007 8.21026 14.7314 8.31886 14.5927L15.2475 5.74658" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round" stroke-linejoin="round"/> 4402</svg> 4403</span> 4404 <span class="country">New Zealand</span> 4405 <span 4406 class="localization-form__currency motion-reduce" 4407 4408 > 4409 NZD 4410 $</span> 4411 </li> 4412 <li 4413 class="localization-form__list-item" 4414 4415 data-value="NO" 4416 4417 data-aliases="" 4418 4419 id="Norway" 4420 aria-label="Norway" 4421 role="option" 4422 tabindex="-1" 4423 ref="countryListItems[]" 4424 on:click="/selectCountry/NO" 4425 > 4426 <span class="svg-wrapper icon-checkmark"><svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg" class="icon-checkmark"> 4427<path d="M4.75439 10.7485L7.68601 14.5888C7.79288 14.7288 7.84632 14.7988 7.91174 14.8242C7.96907 14.8466 8.03262 14.8469 8.09022 14.8253C8.15596 14.8007 8.21026 14.7314 8.31886 14.5927L15.2475 5.74658" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round" stroke-linejoin="round"/> 4428</svg> 4429</span> 4430 <span class="country">Norway</span>
4431 <span 4432 class="localization-form__currency motion-reduce" 4433 4434 > 4435 USD 4436 $</span> 4437 </li> 4438 <li 4439 class="localization-form__list-item" 4440 4441 data-value="PT" 4442 4443 data-aliases="" 4444 4445 id="Portugal" 4446 aria-label="Portugal" 4447 role="option" 4448 tabindex="-1" 4449 ref="countryListItems[]" 4450 on:click="/selectCountry/PT" 4451 > 4452 <span class="svg-wrapper icon-checkmark"><svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg" class="icon-checkmark"> 4453<path d="M4.75439 10.7485L7.68601 14.5888C7.79288 14.7288 7.84632 14.7988 7.91174 14.8242C7.96907 14.8466 8.03262 14.8469 8.09022 14.8253C8.15596 14.8007 8.21026 14.7314 8.31886 14.5927L15.2475 5.74658" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round" stroke-linejoin="round"/> 4454</svg> 4455</span> 4456 <span class="country">Portugal</span> 4457 <span 4458 class="localization-form__currency motion-reduce" 4459 4460 > 4461 EUR 4462 â¬</span> 4463 </li> 4464 <li 4465 class="localization-form__list-item" 4466 4467 data-value="ES" 4468 4469 data-aliases="" 4470 4471 id="Spain" 4472 aria-label="Spain" 4473 role="option" 4474 tabindex="-1" 4475 ref="countryListItems[]" 4476 on:click="/selectCountry/ES" 4477 > 4478 <span class="svg-wrapper icon-checkmark"><svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg" class="icon-checkmark"> 4479<path d="M4.75439 10.7485L7.68601 14.5888C7.79288 14.7288 7.84632 14.7988 7.91174 14.8242C7.96907 14.8466 8.03262 14.8469 8.09022 14.8253C8.15596 14.8007 8.21026 14.7314 8.31886 14.5927L15.2475 5.74658" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round" stroke-linejoin="round"/> 4480</svg> 4481</span> 4482 <span class="country">Spain</span> 4483 <span 4484 class="localization-form__currency motion-reduce" 4485 4486 > 4487 EUR 4488 â¬</span> 4489 </li> 4490 <li 4491 class="localization-form__list-item" 4492 4493 data-value="SE" 4494 4495 data-aliases="" 4496 4497 id="Sweden" 4498 aria-label="Sweden" 4499 role="option" 4500 tabindex="-1" 4501 ref="countryListItems[]" 4502 on:click="/selectCountry/SE" 4503 > 4504 <span class="svg-wrapper icon-checkmark"><svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg" class="icon-checkmark"> 4505<path d="M4.75439 10.7485L7.68601 14.5888C7.79288 14.7288 7.84632 14.7988 7.91174 14.8242C7.96907 14.8466 8.03262 14.8469 8.09022 14.8253C8.15596 14.8007 8.21026 14.7314 8.31886 14.5927L15.2475 5.74658" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round" stroke-linejoin="round"/> 4506</svg> 4507</span> 4508 <span class="country">Sweden</span> 4509 <span 4510 class="localization-form__currency motion-reduce" 4511 4512 > 4513 SEK 4514 kr</span> 4515 </li> 4516 <li 4517 class="localization-form__list-item" 4518 4519 data-value="CH" 4520 4521 data-aliases="" 4522 4523 id="Switzerland" 4524 aria-label="Switzerland" 4525 role="option" 4526 tabindex="-1" 4527 ref="countryListItems[]" 4528 on:click="/selectCountry/CH" 4529 >
4530 <span class="svg-wrapper icon-checkmark"><svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg" class="icon-checkmark"> 4531<path d="M4.75439 10.7485L7.68601 14.5888C7.79288 14.7288 7.84632 14.7988 7.91174 14.8242C7.96907 14.8466 8.03262 14.8469 8.09022 14.8253C8.15596 14.8007 8.21026 14.7314 8.31886 14.5927L15.2475 5.74658" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round" stroke-linejoin="round"/> 4532</svg> 4533</span> 4534 <span class="country">Switzerland</span> 4535 <span 4536 class="localization-form__currency motion-reduce" 4537 4538 > 4539 CHF 4540 CHF</span> 4541 </li> 4542 <li 4543 class="localization-form__list-item" 4544 4545 data-value="TH" 4546 4547 data-aliases="" 4548 4549 id="Thailand" 4550 aria-label="Thailand" 4551 role="option" 4552 tabindex="-1" 4553 ref="countryListItems[]" 4554 on:click="/selectCountry/TH" 4555 > 4556 <span class="svg-wrapper icon-checkmark"><svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg" class="icon-checkmark"> 4557<path d="M4.75439 10.7485L7.68601 14.5888C7.79288 14.7288 7.84632 14.7988 7.91174 14.8242C7.96907 14.8466 8.03262 14.8469 8.09022 14.8253C8.15596 14.8007 8.21026 14.7314 8.31886 14.5927L15.2475 5.74658" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round" stroke-linejoin="round"/> 4558</svg> 4559</span> 4560 <span class="country">Thailand</span> 4561 <span 4562 class="localization-form__currency motion-reduce" 4563 4564 > 4565 THB 4566 ฿</span> 4567 </li> 4568 <li 4569 class="localization-form__list-item" 4570 4571 data-value="GB" 4572 4573 data-aliases="uk,gb,great britain" 4574 4575 id="United Kingdom" 4576 aria-label="United Kingdom" 4577 role="option" 4578 tabindex="-1" 4579 ref="countryListItems[]" 4580 on:click="/selectCountry/GB" 4581 > 4582 <span class="svg-wrapper icon-checkmark"><svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg" class="icon-checkmark"> 4583<path d="M4.75439 10.7485L7.68601 14.5888C7.79288 14.7288 7.84632 14.7988 7.91174 14.8242C7.96907 14.8466 8.03262 14.8469 8.09022 14.8253C8.15596 14.8007 8.21026 14.7314 8.31886 14.5927L15.2475 5.74658" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round" stroke-linejoin="round"/> 4584</svg> 4585</span> 4586 <span class="country">United Kingdom</span> 4587 <span 4588 class="localization-form__currency motion-reduce" 4589 4590 > 4591 GBP 4592 £</span> 4593 </li> 4594 <li 4595 class="localization-form__list-item" 4596 4597 aria-current="true" 4598 4599 data-value="US" 4600 4601 data-aliases="us,usa,america,united states of america" 4602 4603 id="United States" 4604 aria-label="United States" 4605 role="option" 4606 tabindex="-1" 4607 ref="countryListItems[]" 4608 on:click="/selectCountry/US" 4609 > 4610 <span class="svg-wrapper icon-checkmark"><svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg" class="icon-checkmark"> 4611<path d="M4.75439 10.7485L7.68601 14.5888C7.79288 14.7288 7.84632 14.7988 7.91174 14.8242C7.96907 14.8466 8.03262 14.8469 8.09022 14.8253C8.15596 14.8007 8.21026 14.7314 8.31886 14.5927L15.2475 5.74658" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round" stroke-linejoin="round"/> 4612</svg> 4613</span>
4614 <span class="country">United States</span> 4615 <span 4616 class="localization-form__currency motion-reduce" 4617 4618 > 4619 USD 4620 $</span> 4621 </li></ul> 4622 </div> 4623 <div class="country-selector__overlay"></div> 4624 <input 4625 type="hidden" 4626 name="country_code" 4627 value="US" 4628 ref="countryInput" 4629 > 4630 </div> 4631 4632 4633 4634</form></localization-form-component> 4635 4636 4637 4638 </div> 4639 </dropdown-localization-component> 4640 4641 4642 4643 4644 4645 4646 4647 4648 <search-button class="search-action mobile:hidden"> 4649 <button 4650 on:click="#search-modal/showDialog" 4651 class="button button-unstyled search-modal__button header-actions__action" 4652 aria-label="Search" 4653 aria-haspopup="dialog" 4654 > 4655 <span 4656 aria-hidden="true" 4657 class="svg-wrapper" 4658 > 4659 <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="none"><circle cx="9" cy="9" r="4.75" stroke="currentColor" stroke-width="var(--icon-stroke-width)"/><path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="var(--icon-stroke-width)" d="m12.5 12.5 3.25 3.25"/></svg> 4660 4661 </span> 4662 </button> 4663 </search-button> 4664 4665 4666 4667 4668 4669 4670 4671 4672 4673
4673<script 4674 type="module" 4675 src="//the3dprintzone.com/cdn/shop/t/6/assets/cart-icon.js?v=14733679814066288171772242764" 4676 fetchpriority="low" 4677></script>
4677 4678 4679<header-actions> 4680 4681 <anchored-popover-component 4682 data-close-on-resize="true" 4683 class="account-popover mobile:hidden" 4684> 4685 <button 4686 class="account-button header-actions__action" 4687 aria-label="Account" 4688 aria-haspopup="dialog"popovertarget="account-popover" 4689 popovertargetaction="toggle"ref="trigger" 4690 4691><span 4692 class="account-button__icon" 4693 aria-hidden="true" 4694 ><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="none"><circle cx="10" cy="6.5" r="2.75" stroke="currentColor" stroke-width="var(--icon-stroke-width)"/><path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="var(--icon-stroke-width)" d="m5.172 14.591-.437.786a.588.588 0 0 0 .514.873h9.502a.588.588 0 0 0 .514-.873l-.437-.786a5.523 5.523 0 0 0-9.656 0"/></svg> 4695</span></button> 4696 4697 4698 4699 <div 4700 class="account-popover__panel details-content color-scheme-1" 4701 id="account-popover" 4702 popover="auto" 4703 ref="popover" 4704 > 4705 <div class="account-actions"> 4706 <div class="account-actions__main-menu"> 4707 <header class="account-actions__header"> 4708 <h2 4709 id="account-drawer-heading" 4710 class="account-actions__title h5" 4711 > 4712 4713 Account 4714 4715 </h2> 4716 4717 </header> 4718 4719 4720 <div 4721 class="account-actions__sign-ins" 4722 data-skip-subtree-update="true" 4723 > 4724
4724<script 4725 src="//the3dprintzone.com/cdn/shop/t/6/assets/account-login-actions.js?v=132624473766457443991772242764" 4726 type="module" 4727 fetchpriority="low" 4728 ></script>
4728 4729 <account-login-actions class="account-actions__shop-login"> 4730
4730<script defer="defer" async type="module" src="https://cdn.shopify.com/shopifycloud/shop-js/modules/v2/loader.shop-login-button.en.esm.js"></script>
vendor: 1 bytes, line 4730
4730
4731<script type="module"> 4732 await import("https://cdn.shopify.com/shopifycloud/shop-js/modules/v2/loader.shop-login-button.en.esm.js"); 4733 4734 4735</script>
4735 4736 4737<shop-login-button ux-mode="windoid" return-uri="https://the3dprintzone.com/account/redirect" proxy="true" proxy-core-idp="true" redirect-type="iframe" response-type="code"></shop-login-button> 4738 4739 </account-login-actions> 4740 4741 <a 4742 href="/customer_authentication/login?return_to=%2Fproducts%2Fstrat-style-kit%3Fvariant%3D47476504854685&locale=en&ui_hint=full®ion_country=US" 4743 class="account-actions__link button" 4744 > 4745 <span class="account-actions__sign-in-text"> 4746 Other sign in options 4747 </span> 4748 <span class="account-actions__fallback-text"> 4749 Sign in 4750 </span> 4751 </a> 4752 </div> 4753 4754 4755 <nav class="account-actions__nav"> 4756 <ul class="account-actions__list"> 4757 <li class="account-actions__list-item"> 4758 <a 4759 href="/account" 4760 class="account-actions__link button-secondary" 4761 > 4762 <span 4763 class="account-actions__icon" 4764 aria-hidden="true" 4765 ><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="none"> 4766 <path stroke-linecap="round" stroke="currentColor" stroke-width="var(--icon-stroke-width)" d="M2.929 7.705c0-.482.154-.95.44-1.338L5.06 4.08c.303-.41.783-.652 1.293-.652h7.42c.525 0 1.018.257 1.319.69l1.577 2.266c.262.377.403.826.403 1.285v8.294c0 .888-.72 1.608-1.608 1.608H4.536c-.888 0-1.607-.72-1.607-1.608V7.705Z"/> 4767 <path stroke="currentColor" stroke-width="var(--icon-stroke-width)" d="M2.929 6.965h14.143M10 3.428v3.535M6.143 14.035v-2.571c0-.178.143-.321.321-.321h3.857c.178 0 .322.143.322.321v2.571a.321.321 0 0 1-.322.322H6.464a.321.321 0 0 1-.321-.322Z"/> 4768</svg> 4769</span> 4770 Orders 4771 </a> 4772 </li> 4773 <li class="account-actions__list-item"> 4774 <a 4775 href="/account/addresses" 4776 class="account-actions__link button-secondary" 4777 > 4778 <span 4779 class="account-actions__icon" 4780 aria-hidden="true" 4781 ><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="none"><circle cx="10" cy="6.5" r="2.75" stroke="currentColor" stroke-width="var(--icon-stroke-width)"/><path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="var(--icon-stroke-width)" d="m5.172 14.591-.437.786a.588.588 0 0 0 .514.873h9.502a.588.588 0 0 0 .514-.873l-.437-.786a5.523 5.523 0 0 0-9.656 0"/></svg> 4782</span> 4783 Profile 4784 </a> 4785 </li> 4786 </ul> 4787 </nav> 4788 </div> 4789</div> 4790 4791 4792 4793 </div> 4794</anchored-popover-component> 4795 4796 4797 4798
4798<script 4799 src="//the3dprintzone.com/cdn/shop/t/6/assets/dialog.js?v=122984339961420548111772242764" 4800 type="module" 4801></script>
4801 4802 4803<dialog-component 4804 class="account-drawer" 4805 4806> 4807 <button 4808 class="account-button header-actions__action" 4809 aria-label="Account" 4810 aria-haspopup="dialog"ref="trigger" 4811 on:click="/showDialog" 4812><span 4813 class="account-button__icon" 4814 aria-hidden="true" 4815 ><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="none"><circle cx="10" cy="6.5" r="2.75" stroke="currentColor" stroke-width="var(--icon-stroke-width)"/><path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="var(--icon-stroke-width)" d="m5.172 14.591-.437.786a.588.588 0 0 0 .514.873h9.502a.588.588 0 0 0 .514-.873l-.437-.786a5.523 5.523 0 0 0-9.656 0"/></svg> 4816</span></button> 4817 4818 4819 4820 <dialog 4821 ref="dialog" 4822 class="color-scheme-1 dialog-modal dialog-drawer dialog-bottom-sheet account-drawer__dialog" 4823 scroll-lock 4824 aria-labelledby="account-drawer-heading" 4825 > 4826 <button 4827 ref="closeButton" 4828 on:click="/closeDialog" 4829 class="button button-unstyled close-button account-drawer__close-button" 4830 aria-label="Close dialog" 4831 autofocus 4832 > 4833 <span 4834 class="svg-wrapper" 4835 aria-hidden="true" 4836 ><svg width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg"> 4837 <path d="M12 2L2 12" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round" stroke-linejoin="round"/> 4838 <path d="M12 12L2 2" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round" stroke-linejoin="round"/> 4839</svg> 4840</span> 4841 </button> 4842 <div class="account-actions"> 4843 <div class="account-actions__main-menu"> 4844 <header class="account-actions__header"> 4845 <h2 4846 id="account-drawer-heading" 4847 class="account-actions__title h5" 4848 > 4849 4850 Account 4851 4852 </h2> 4853 4854 </header> 4855 4856 4857 <div 4858 class="account-actions__sign-ins" 4859 data-skip-subtree-update="true" 4860 > 4861
4861<script 4862 src="//the3dprintzone.com/cdn/shop/t/6/assets/account-login-actions.js?v=132624473766457443991772242764" 4863 type="module" 4864 fetchpriority="low" 4865 ></script>
4865 4866 <account-login-actions class="account-actions__shop-login"> 4867
4867<script defer="defer" async type="module" src="https://cdn.shopify.com/shopifycloud/shop-js/modules/v2/loader.shop-login-button.en.esm.js"></script>
vendor: 1 bytes, line 4867
4867
4868<script type="module"> 4869 await import("https://cdn.shopify.com/shopifycloud/shop-js/modules/v2/loader.shop-login-button.en.esm.js"); 4870 4871 4872</script>
4872 4873 4874<shop-login-button ux-mode="windoid" return-uri="https://the3dprintzone.com/account/redirect" proxy="true" proxy-core-idp="true" redirect-type="iframe" response-type="code"></shop-login-button> 4875 4876 </account-login-actions> 4877 4878 <a 4879 href="/customer_authentication/login?return_to=%2Fproducts%2Fstrat-style-kit%3Fvariant%3D47476504854685&locale=en&ui_hint=full®ion_country=US" 4880 class="account-actions__link button" 4881 > 4882 <span class="account-actions__sign-in-text"> 4883 Other sign in options 4884 </span> 4885 <span class="account-actions__fallback-text"> 4886 Sign in 4887 </span> 4888 </a> 4889 </div> 4890 4891 4892 <nav class="account-actions__nav"> 4893 <ul class="account-actions__list"> 4894 <li class="account-actions__list-item"> 4895 <a 4896 href="/account" 4897 class="account-actions__link button-secondary" 4898 > 4899 <span 4900 class="account-actions__icon" 4901 aria-hidden="true" 4902 ><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="none"> 4903 <path stroke-linecap="round" stroke="currentColor" stroke-width="var(--icon-stroke-width)" d="M2.929 7.705c0-.482.154-.95.44-1.338L5.06 4.08c.303-.41.783-.652 1.293-.652h7.42c.525 0 1.018.257 1.319.69l1.577 2.266c.262.377.403.826.403 1.285v8.294c0 .888-.72 1.608-1.608 1.608H4.536c-.888 0-1.607-.72-1.607-1.608V7.705Z"/> 4904 <path stroke="currentColor" stroke-width="var(--icon-stroke-width)" d="M2.929 6.965h14.143M10 3.428v3.535M6.143 14.035v-2.571c0-.178.143-.321.321-.321h3.857c.178 0 .322.143.322.321v2.571a.321.321 0 0 1-.322.322H6.464a.321.321 0 0 1-.321-.322Z"/> 4905</svg> 4906</span> 4907 Orders 4908 </a> 4909 </li> 4910 <li class="account-actions__list-item"> 4911 <a 4912 href="/account/addresses" 4913 class="account-actions__link button-secondary" 4914 > 4915 <span 4916 class="account-actions__icon" 4917 aria-hidden="true" 4918 ><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="none"><circle cx="10" cy="6.5" r="2.75" stroke="currentColor" stroke-width="var(--icon-stroke-width)"/><path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="var(--icon-stroke-width)" d="m5.172 14.591-.437.786a.588.588 0 0 0 .514.873h9.502a.588.588 0 0 0 .514-.873l-.437-.786a5.523 5.523 0 0 0-9.656 0"/></svg> 4919</span> 4920 Profile 4921 </a> 4922 </li> 4923 </ul> 4924 </nav> 4925 </div> 4926</div> 4927 4928 4929 4930 </dialog> 4931</dialog-component> 4932 4933 4934 4935 4936 4937 4938
4938<script 4939 src="//the3dprintzone.com/cdn/shop/t/6/assets/cart-drawer.js?v=92290163633888904321772242764" 4940 type="module" 4941 fetchpriority="low" 4942></script>
4942 4943 4944<cart-drawer-component 4945 class="cart-drawer" 4946 4947 4948 auto-open 4949 4950> 4951 <button 4952 class="button header-actions__action button-unstyled" 4953 on:click="/open" 4954 aria-haspopup="dialog" 4955 aria-label="Cart" 4956 aria-describedby="cart-bubble-text" 4957 data-testid="cart-drawer-trigger" 4958 > 4959 <cart-icon 4960 class=" 4961 header-actions__cart-icon 4962 4963 " 4964 data-testid="cart-icon" 4965> 4966 <span 4967 class="svg-wrapper" 4968 aria-hidden="true" 4969 > 4970 <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="none"><path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="var(--icon-stroke-width)" d="M3.392 6.875h13.216v8.016c0 .567-.224 1.112-.624 1.513-.4.402-.941.627-1.506.627H5.522a2.13 2.13 0 0 1-1.506-.627 2.15 2.15 0 0 1-.624-1.513zM8.818 2.969h2.333c.618 0 1.211.247 1.649.686a2.35 2.35 0 0 1 .683 1.658v1.562H6.486V5.313c0-.622.246-1.218.683-1.658a2.33 2.33 0 0 1 1.65-.686"/></svg> 4971 4972 </span> 4973 4974 <div 4975 ref="cartBubble" 4976 class="cart-bubble visually-hidden" 4977 4978 4979 data-maintain-ratio 4980 4981> 4982 <span class="cart-bubble__background"></span> 4983 <span 4984 ref="cartBubbleText" 4985 id="cart-bubble-text" 4986 class="cart-bubble__text" 4987 4988 role="status" 4989 4990 > 4991 <span class="visually-hidden">Total items in cart: 0 4992 </span> 4993 <span 4994 class="cart-bubble__text-count hidden" 4995 ref="cartBubbleCount" 4996 aria-hidden="true" 4997 data-testid="cart-bubble" 4998 > 49990</span> 5000 </span> 5001</div> 5002 5003</cart-icon> 5004 5005 5006 5007 </button> 5008 5009 <dialog 5010 ref="dialog" 5011 class="cart-drawer__dialog dialog-modal dialog-drawer color-scheme-1 cart-drawer--empty" 5012 aria-labelledby="cart-drawer-heading-empty" 5013 scroll-lock 5014 > 5015 <div class="cart-drawer__inner"> 5016 <cart-items-component 5017 class="cart-items-component" 5018 data-section-id="sections--20519603273885__header_section" 5019 ><div class="cart-drawer__header"> 5020 <button 5021 ref="closeButton" 5022 on:click="cart-drawer-component/close" 5023 class="button close-button cart-drawer__close-button button-unstyled" 5024 aria-label="Close dialog" 5025 > 5026 <span class="svg-wrapper"><svg width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg"> 5027 <path d="M12 2L2 12" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round" stroke-linejoin="round"/> 5028 <path d="M12 12L2 2" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round" stroke-linejoin="round"/> 5029</svg> 5030</span> 5031 </button> 5032 </div> 5033 5034 <div 5035 class="cart-drawer__content motion-reduce" 5036 aria-label="Cart" 5037 > 5038 <h2 5039 class="cart-drawer__heading h3 cart-drawer__heading--empty" 5040 id="cart-drawer-heading-empty" 5041 > 5042 Your cart is empty 5043 </h2> 5044 5045 <div class="cart-drawer__items"> 5046 5047
5048<script 5049 src="//the3dprintzone.com/cdn/shop/t/6/assets/component-cart-items.js?v=153612958899122878591772242764" 5050 type="module" 5051 fetchpriority="low" 5052></script>
vendor: 1 bytes, line 5052
5052
5053<script 5054 src="//the3dprintzone.com/cdn/shop/t/6/assets/component-cart-quantity-selector.js?v=105130809908858639751772242764" 5055 type="module" 5056 fetchpriority="low" 5057></script>
5057 5058 5059<div 5060 5061 class="cart-items__wrapper" 5062 5063> 5064 5065<p> 5066 Have an account? <a href="https://the3dprintzone.com/customer_authentication/redirect?locale=en®ion_country=US">Log in</a> to check out faster. 5067 </p><a 5068 class="button cart-items__empty-button" 5069 href="/collections/all" 5070 > 5071 Continue shopping 5072 </a></div> 5073 5074 5075 5076 </div> 5077 </div></cart-items-component> 5078 </div> 5079 </dialog> 5080</cart-drawer-component> 5081 5082 5083 5084</header-actions> 5085 5086 5087 5088 5089 5090 5091 </div> 5092 </div> 5093 </div> 5094 5095 5096 5097 5098 5099 5100 5101 5102 5103 5104 5105 <div class="header__row header__row--mobile desktop:hidden color-scheme-1"> 5106 5107 5108 5109 5110 5111 <div 5112 class="menu-list menu-list--mobile color-scheme-1" 5113 style="--menu-horizontal-gap: 15px; --mobile-nav-margin: auto;" 5114 > 5115 <div class="menu-list__scroll-container"> 5116 <ul 5117 class="menu-list__list list-unstyled" 5118 role="list" 5119 > 5120 5121 <li> 5122 <a 5123 href="/" 5124 id="MenuItem-home" 5125 class="menu-list__item" 5126 5127 >Home</a> 5128 </li> 5129 5130 <li> 5131 <a 5132 href="/pages/kits" 5133 id="MenuItem-kits" 5134 class="menu-list__item" 5135 5136 >Kits</a> 5137 </li> 5138 5139 <li> 5140 <a 5141 href="/pages/files" 5142 id="MenuItem-files" 5143 class="menu-list__item" 5144 5145 >Files</a> 5146 </li> 5147 5148 <li> 5149 <a 5150 href="/pages/guitar-gallery" 5151 id="MenuItem-gallery" 5152 class="menu-list__item" 5153 5154 >Gallery</a> 5155 </li> 5156 5157 <li> 5158 <a 5159 href="/pages/guides" 5160 id="MenuItem-guides" 5161 class="menu-list__item" 5162 5163 >Guides</a> 5164 </li> 5165 5166 <li> 5167 <a 5168 href="/pages/faq" 5169 id="MenuItem-faq" 5170 class="menu-list__item" 5171 5172 >FAQ</a> 5173 </li> 5174 5175 <li> 5176 <a 5177 href="/pages/coaching" 5178 id="MenuItem-coaching" 5179 class="menu-list__item" 5180 5181 >Coaching</a> 5182 </li> 5183 5184 <li> 5185 <a 5186 href="/pages/contact" 5187 id="MenuItem-contact" 5188 class="menu-list__item" 5189 5190 >Contact</a> 5191 </li> 5192 5193 <li> 5194 <a 5195 href="/pages/about" 5196 id="MenuItem-about" 5197 class="menu-list__item" 5198 5199 >About</a> 5200 </li> 5201 5202 </ul> 5203 </div> 5204 </div> 5205 5206 5207 5208 5209 5210 5211 5212 </div> 5213 5214</header-component> 5215
5216<script 5217 src="//the3dprintzone.com/cdn/shop/t/6/assets/header.js?v=78043468934677320351772242764" 5218 type="module" 5219></script>
5219 5220 5221 5222 5223 5224
5224<script type="module"> 5225 import { hydrate } from '@theme/section-hydration'; 5226 const url = new URL(window.location.href); 5227 url.searchParams.delete('page'); 5228 hydrate('sections--20519603273885__header_section', url); 5229 </script>
5229 5230 5231 5232 5233</header> 5234<!-- END sections: header-group --> 5235 </div> 5236 5237
5237<script 5238 src="//the3dprintzone.com/cdn/shop/t/6/assets/critical.js?v=169402557219780209121772242764" 5239 type="module" 5240 async 5241 blocking="render" 5242 ></script>
5242 5243 5244 <main 5245 id="MainContent" 5246 class="content-for-layout" 5247 role="main" 5248 data-page-transition-enabled="false" 5249 data-product-transition="false" 5250 data-template="product.body-kits" 5251 > 5252 5253 <div id="shopify-section-template--21357693436061__main" class="shopify-section"> 5254 5255 5256
5257<script type="application/ld+json"> 5258 {"@context":"http:\/\/schema.org\/","@id":"\/products\/strat-style-kit#product","@type":"ProductGroup","brand":{"@type":"Brand","name":"The 3D Print Zone"},"category":"Guitars","description":"\n\n\n Need more help?\n \n Guides · \n FAQ · \n Guitar Gallery · \n Contact Us\n\n\n \n â¶\n Creative Commons\n \n \n No commercial use. You may not share, distribute, sell, donate, or exchange the digital files or any printed guitar parts\/guitars.\n \n","hasVariant":[{"@id":"\/products\/strat-style-kit?variant=47457062617245#variant","@type":"Product","image":"https:\/\/the3dprintzone.com\/cdn\/shop\/files\/KIT_STRAT_ALIEN_BODYSTRAT-Edit.jpg?v=1764625472\u0026width=1920","name":"Strat-Style Kit - Alien","offers":{"@id":"\/products\/strat-style-kit?variant=47457062617245#offer","@type":"Offer","availability":"http:\/\/schema.org\/InStock","price":"59.00","priceCurrency":"USD","url":"https:\/\/the3dprintzone.com\/products\/strat-style-kit?variant=47457062617245"}},{"@id":"\/products\/strat-style-kit?variant=47481122783389#variant","@type":"Product","image":"https:\/\/the3dprintzone.com\/cdn\/shop\/files\/KIT_STRAT_BASEPLATE_BODYSTRAT-Edit.jpg?v=1765760473\u0026width=1920","name":"Strat-Style Kit - Baseplate","offers":{"@id":"\/products\/strat-style-kit?variant=47481122783389#offer","@type":"Offer","availability":"http:\/\/schema.org\/InStock","price":"59.00","priceCurrency":"USD","url":"https:\/\/the3dprintzone.com\/products\/strat-style-kit?variant=47481122783389"}},{"@id":"\/products\/strat-style-kit?variant=47457062650013#variant","@type":"Product","image":"https:\/\/the3dprintzone.com\/cdn\/shop\/files\/KIT_STRAT_CIRCUITS_BODYSTRAT-Edit.jpg?v=1765760473\u0026width=1920","name":"Strat-Style Kit - Circuits","offers":{"@id":"\/products\/strat-style-kit?variant=47457062650013#offer","@type":"Offer","availability":"http:\/\/schema.org\/InStock","price":"59.00","priceCurrency":"USD","url":"https:\/\/the3dprintzone.com\/products\/strat-style-kit?variant=47457062650013"}},{"@id":"\/products\/strat-style-kit?variant=47457062682781#variant","@type":"Product","image":"https:\/\/the3dprintzone.com\/cdn\/shop\/files\/KIT_STRAT_EPICENTER_BODYSTRAT-Edit.jpg?v=1765760473\u0026width=1920","name":"Strat-Style Kit - Epicenter","offers":{"@id":"\/products\/strat-style-kit?variant=47457062682781#offer","@type":"Offer","availability":"http:\/\/schema.org\/InStock","price":"59.00","priceCurrency":"USD","url":"https:\/\/the3dprintzone.com\/products\/strat-style-kit?variant=47457062682781"}},{"@id":"\/products\/strat-style-kit?variant=47457062813853#variant","@type":"Product","image":"https:\/\/the3dprintzone.com\/cdn\/shop\/files\/KIT_STRAT_TILES_BODYSTRAT-Edit.jpg?v=1765760473\u0026width=1920","name":"Strat-Style Kit - Hex","offers":{"@id":"\/products\/strat-style-kit?variant=47457062813853#offer","@type":"Offer","availability":"http:\/\/schema.org\/InStock","price":"59.00","priceCurrency":"USD","url":"https:\/\/the3dprintzone.com\/products\/strat-style-kit?variant=47457062813853"}},{"@id":"\/products\/strat-style-kit?variant=47476504854685#variant","@type":"Product","image":"https:\/\/the3dprintzone.com\/cdn\/shop\/files\/KIT_STRAT_HOLLOW_BODYSTRAT-Edit.jpg?v=1765760473\u0026width=1920","name":"Strat-Style Kit - Hollow","offers":{"@id":"\/products\/strat-style-kit?variant=47476504854685#offer","@type":"Offer","availability":"http:\/\/schema.org\/InStock","price":"59.00","priceCurrency":"USD","url":"https:\/\/the3dprintzone.com\/products\/strat-style-kit?variant=47476504854685"}},{"@id":"\/products\/strat-style-kit?variant=67597075939502#variant","@type":"Product","image":"https:\/\/the3dprintzone.com\/cdn\/shop\/files\/KIT_STRAT_HONEYCOMB_BODYSTRAT.jpg?v=1790629145\u0026width=1920","name":"Strat-Style Kit - Honeycomb","offers":{"@id":"\/products\/strat-style-kit?variant=67597075939502#offer","@type":"Offer","availability":"http:\/\/schema.org\/InStock","price":"59.00","priceCurrency":"USD","url":"https:\/\/the3dprintzone.com\/products\/strat-style-kit?variant=67597075939502"}},{"@id":"\/products\/strat-style-kit?variant=47457062715549#variant","@type":"Product","image":"https:\/\/the3dprintzone.com\/cdn\/shop\/files\/KIT_STRAT_RIVER_BODYSTRAT-Edit.jpg?v=1765760473\u0026width=1920","name":"Strat-Style Kit - River","offers":{"@id":"\/products\/strat-style-kit?variant=47457062715549#offer","@type":"Offer","availability":"http:\/\/schema.org\/InStock","price":"59.00","priceCurrency":"USD","url":"https:\/\/the3dprintzone.com\/products\/strat-style-kit?variant=47457062715549"}},{"@id":"\/products\/strat-style-kit?variant=47457062748317#variant","@type":"Product","image":"https:\/\/the3dprintzone.com\/cdn\/shop\/files\/KIT_STRAT_SOLID_BODYSTRAT-Edit.jpg?v=1764625472\u0026width=1920","name":"Strat-Style Kit - Solid","offers":{"@id":"\/products\/strat-style-kit?variant=47457062748317#offer","@type":"Offer","availability":"http:\/\/schema.org\/InStock","price":"59.00","priceCurrency":"USD","url":"https:\/\/the3dprintzone.com\/products\/strat-style-kit?variant=47457062748317"}},{"@id":"\/products\/strat-style-kit?variant=47457062781085#variant","@type":"Product","image":"https:\/\/the3dprintzone.com\/cdn\/shop\/files\/KIT_STRAT_SPIDER_BODYSTRAT-Edit.jpg?v=1765760473\u0026width=1920","name":"Strat-Style Kit - Spider","offers":{"@id":"\/products\/strat-style-kit?variant=47457062781085#offer","@type":"Offer","availability":"http:\/\/schema.org\/InStock","price":"59.00","priceCurrency":"USD","url":"https:\/\/the3dprintzone.com\/products\/strat-style-kit?variant=47457062781085"}},{"@id":"\/products\/strat-style-kit?variant=47457062846621#variant","@type":"Product","image":"https:\/\/the3dprintzone.com\/cdn\/shop\/files\/KIT_STRAT_TOOLBOX_BODYSTRAT-Edit.jpg?v=1765760473\u0026width=1920","name":"Strat-Style Kit - Toolbox","offers":{"@id":"\/products\/strat-style-kit?variant=47457062846621#offer","@type":"Offer","availability":"http:\/\/schema.org\/InStock","price":"59.00","priceCurrency":"USD","url":"https:\/\/the3dprintzone.com\/products\/strat-style-kit?variant=47457062846621"}}],"name":"Strat-Style Kit","productGroupID":"8793869025437","url":"https:\/\/the3dprintzone.com\/products\/strat-style-kit"} 5259</script>
5259 5260 5261<div class="section-background color-scheme-1"></div> 5262<div 5263 class="product-information section section--page-width spacing-style color-scheme-1 relative" 5264 style="--padding-block-start: 0px;--padding-block-end: 0px; --gap: 48px;" 5265> 5266 5267 5268 <a 5269 class="skip-to-content-link button-secondary" 5270 href="#ProductInformation-template--21357693436061__main" 5271> 5272 Skip to product information 5273</a> 5274 5275 5276 <div 5277 class="product-information__grid product-information--media-left" 5278 data-product-grid-content 5279 > 5280 5281 5282 5283 5284 5285 5286 5287 5288 <div 5289 class="product-information__media" 5290 data-testid="product-information-media" 5291 > 5292 5293
5294<script 5295 src="//the3dprintzone.com/cdn/shop/t/6/assets/zoom-dialog.js?v=82028443406372487331772242764" 5296 type="module" 5297 ></script>
5297<script 5298 src="//the3dprintzone.com/cdn/shop/t/6/assets/drag-zoom-wrapper.js?v=52868656766563354141772242764" 5299 type="module" 5300 ></script>
5300<style data-shopify> 5301 5302 .product-media-container { 5303 --media-preview-ratio: 2/1; 5304 } 5305 5306 5307 .product-media-container.constrain-height { 5308 background-color: var(--color-background); 5309 } 5310 5311 .product-media-container.constrain-height:has(.product-media-constraint-wrapper) { 5312 display: flex; 5313 justify-content: center; 5314 align-items: center; 5315 } 5316 5317 /* Mobile constraint wrapper sizing - use width-based approach since max-height is disabled */ 5318 .product-media-constraint-wrapper { 5319 width: 100%; 5320 max-width: 100%; 5321 flex-shrink: 0; 5322 } 5323 5324 /* Desktop constraint wrapper sizing */ 5325 @media screen and (min-width: 750px) { 5326 .product-media-constraint-wrapper { 5327 width: min(100%, calc(var(--constrained-height) * 2/1)); 5328 } 5329 } 5330 5331 5332 /* Constrain all deferred-media content to parent bounds when specific aspect ratio is set */ 5333 .product-media-container:not(.dialog-zoomed-gallery *) .product-media deferred-media, 5334 .product-media-container:not(.dialog-zoomed-gallery *) .product-media product-model { 5335 width: 100%; 5336 height: 100%; 5337 top: 0; 5338 left: 0; 5339 } 5340 5341 /* Ensure video and iframe elements respect container aspect ratio */ 5342 .product-media-container:not(.dialog-zoomed-gallery *) .product-media deferred-media video, 5343 .product-media-container:not(.dialog-zoomed-gallery *) .product-media deferred-media iframe { 5344 width: 100%; 5345 height: 100%; 5346 object-fit: cover; 5347 } 5348 5349 /* 3D models need special handling since they don't support object-fit */ 5350 .product-media-container:not(.dialog-zoomed-gallery *) .product-media product-model model-viewer { 5351 width: 100%; 5352 height: 100%; 5353 } 5354 5355 /* Clear gallery aspect ratio for zoom dialog - let media display at natural aspect ratios */ 5356 .dialog-zoomed-gallery .product-media { 5357 --gallery-aspect-ratio: var(--ratio); 5358 } 5359 5360 5361 5362 5363 5364 .media-fit-cover { 5365 --product-media-fit: cover; 5366 } 5367 5368 /* Media fit for all media elements - default to cover */ 5369 .media-fit-cover :is(img, video, iframe, .deferred-media__poster-image) { 5370 object-fit: cover; 5371 width: 100%; 5372 height: 100%; 5373 } 5374 5375 /* 3D Models (no object-fit support, just sizing) */ 5376 .media-fit-cover model-viewer { 5377 width: 100%; 5378 height: 100%; 5379 } 5380 5381 5382 /* Add background color so carousel arrows' mix-blend-mode works correctly even on transparent areas. */ 5383 5384 .media-fit-contain :is(img, .deferred-media__poster-image) { 5385 background-color: var(--color-background); 5386 } 5387 5388</style> 5389 5390 5391 5392<media-gallery 5393 class=" 5394 spacing-style 5395 sticky-content 5396 5397 media-gallery--carousel 5398 5399 5400 " 5401 style="--padding-block-start: 20px;--padding-block-end: 20px;--padding-inline-start: 0px;--padding-inline-end: 0px; --thumbnail-width: 72px; --media-radius: 0px; --slideshow-icon-padding: 0px;--image-gap: 4px; --gallery-aspect-ratio: 2/1;" 5402 data-presentation="carousel" 5403 5404> 5405 5406 5407 5408 5409 5410 5411 5412 5413 5414<slideshow-component 5415 5416 ref="slideshow" 5417 5418 5419 style="--slideshow-timeline: --slide-1, --slide-2;" 5420 5421 initial-slide="0" 5422 5423 5424 infinite 5425 5426 5427 5428> 5429 5430 <slideshow-container ref="slideshowContainer"> 5431 5432 5433 5434 <slideshow-arrows 5435 position="center" 5436 5437 class="mobile:hidden" 5438 5439><button 5440 class=" 5441 slideshow-control slideshow-control--previous 5442 slideshow-control--large 5443 5444 slideshow-control--style-chevron_large 5445 button button-unstyled button-unstyled--transparent 5446 flip-x 5447 " 5448 5449 aria-label="Previous slide" 5450 5451 on:click="/previous" 5452 ref="previous" 5453> 5454 <span class="svg-wrapper icon-caret"><svg width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg"> 5455 <path d="M11 5.5L7 9.5L3 5.5" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round" stroke-linejoin="round"/> 5456</svg> 5457</span> 5458</button> 5459<button 5460 class=" 5461 slideshow-control slideshow-control--next 5462 slideshow-control--large 5463 5464 slideshow-control--style-chevron_large 5465 button button-unstyled button-unstyled--transparent 5466 5467 " 5468 5469 aria-label="Next slide" 5470
5471 on:click="/next" 5472 ref="next" 5473> 5474 <span class="svg-wrapper icon-caret"><svg width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg"> 5475 <path d="M11 5.5L7 9.5L3 5.5" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round" stroke-linejoin="round"/> 5476</svg> 5477</span> 5478</button> 5479</slideshow-arrows> 5480 5481 5482 5483 <slideshow-slides 5484 tabindex="-1" 5485 ref="scroller" 5486 5487 5488 > 5489 5490 5491 5492 5493 5494 5495 5496 <slideshow-slide 5497 ref="slides[]" 5498 aria-hidden="false" 5499 style="view-timeline-name: --slide-0; --product-media-fit: contain;" 5500 5501 class="product-media-container constrain-height media-fit-cover product-media-container--image product-media-container--zoomable" 5502 5503 on:click="#zoom-dialog-ARnBrdmEzcjFRTkJ1a__media-gallery/open/0" 5504 5505 5506 5507 on:click="#zoom-dialog-ARnBrdmEzcjFRTkJ1a__media-gallery/open/0" 5508> 5509 5510 5511 <div class="product-media-constraint-wrapper"> 5512 5513<div 5514 class="product-media" 5515 style="--ratio: 1.7777777777777777" 5516 data-media-id="32531230785693" 5517> 5518 5519 5520 <img src="//the3dprintzone.com/cdn/shop/files/KIT_STRAT_HOLLOW_BODYSTRAT-Edit.jpg?v=1765760473&width=3840" alt="Modular 3D printed Strat-Style guitar kit with hollow pattern" srcset="//the3dprintzone.com/cdn/shop/files/KIT_STRAT_HOLLOW_BODYSTRAT-Edit.jpg?v=1765760473&width=240 240w, //the3dprintzone.com/cdn/shop/files/KIT_STRAT_HOLLOW_BODYSTRAT-Edit.jpg?v=1765760473&width=352 352w, //the3dprintzone.com/cdn/shop/files/KIT_STRAT_HOLLOW_BODYSTRAT-Edit.jpg?v=1765760473&width=832 832w, //the3dprintzone.com/cdn/shop/files/KIT_STRAT_HOLLOW_BODYSTRAT-Edit.jpg?v=1765760473&width=1200 1200w, //the3dprintzone.com/cdn/shop/files/KIT_STRAT_HOLLOW_BODYSTRAT-Edit.jpg?v=1765760473&width=1600 1600w, //the3dprintzone.com/cdn/shop/files/KIT_STRAT_HOLLOW_BODYSTRAT-Edit.jpg?v=1765760473&width=1920 1920w, //the3dprintzone.com/cdn/shop/files/KIT_STRAT_HOLLOW_BODYSTRAT-Edit.jpg?v=1765760473&width=2560 2560w, //the3dprintzone.com/cdn/shop/files/KIT_STRAT_HOLLOW_BODYSTRAT-Edit.jpg?v=1765760473&width=3840 3840w" width="3840" height="2160" sizes="(min-width: 95rem) 65rem, (min-width: 750px) calc(100vw - 25rem - 40px - 24px - 40px), 100vw" class="product-media__image" transitionToProduct="false" data_max_resolution="//the3dprintzone.com/cdn/shop/files/KIT_STRAT_HOLLOW_BODYSTRAT-Edit.jpg?v=1765760473&width=3840" fetchpriority="high" style="--focal-point: 50.0% 50.0%;"> 5521 5522 5523 5524 5525</div> 5526 5527 5528</div> 5529 5530 5531</slideshow-slide> 5532 5533 5534 5535 5536 5537 5538 5539 <slideshow-slide 5540 ref="slides[]" 5541 aria-hidden="true" 5542 style="view-timeline-name: --slide-1; --product-media-fit: contain;" 5543 5544 class="product-media-container constrain-height media-fit-cover product-media-container--image product-media-container--zoomable" 5545 5546 on:click="#zoom-dialog-ARnBrdmEzcjFRTkJ1a__media-gallery/open/1" 5547 5548 5549 5550 on:click="#zoom-dialog-ARnBrdmEzcjFRTkJ1a__media-gallery/open/1" 5551> 5552 5553 5554 <div class="product-media-constraint-wrapper"> 5555 5556<div 5557 class="product-media" 5558 style="--ratio: 1.7777777777777777" 5559 data-media-id="32507930476701" 5560> 5561 5562 5563 <img src="//the3dprintzone.com/cdn/shop/files/KIT_LAYOUT_BODY.jpg?v=1783602828&width=3840" alt="Strat-Style Kit" srcset="//the3dprintzone.com/cdn/shop/files/KIT_LAYOUT_BODY.jpg?v=1783602828&width=240 240w, //the3dprintzone.com/cdn/shop/files/KIT_LAYOUT_BODY.jpg?v=1783602828&width=352 352w, //the3dprintzone.com/cdn/shop/files/KIT_LAYOUT_BODY.jpg?v=1783602828&width=832 832w, //the3dprintzone.com/cdn/shop/files/KIT_LAYOUT_BODY.jpg?v=1783602828&width=1200 1200w, //the3dprintzone.com/cdn/shop/files/KIT_LAYOUT_BODY.jpg?v=1783602828&width=1600 1600w, //the3dprintzone.com/cdn/shop/files/KIT_LAYOUT_BODY.jpg?v=1783602828&width=1920 1920w, //the3dprintzone.com/cdn/shop/files/KIT_LAYOUT_BODY.jpg?v=1783602828&width=2560 2560w, //the3dprintzone.com/cdn/shop/files/KIT_LAYOUT_BODY.jpg?v=1783602828&width=3840 3840w" width="3840" height="2160" sizes="(min-width: 95rem) 65rem, (min-width: 750px) calc(100vw - 25rem - 40px - 24px - 40px), 100vw" class="product-media__image" transitionToProduct="false" data_max_resolution="//the3dprintzone.com/cdn/shop/files/KIT_LAYOUT_BODY.jpg?v=1783602828&width=3840" fetchpriority="auto" style="--focal-point: 50.0% 50.0%;"> 5564 5565 5566 5567 5568</div> 5569 5570 5571</div> 5572 5573 5574</slideshow-slide> 5575 5576 5577 5578 </slideshow-slides> 5579 </slideshow-container> 5580 5581
5582<slideshow-controls 5583 5584 ref="slideshowControls" 5585 5586 pagination-position="center" 5587 scroll-mode="horizontal" 5588 5589 5590 5591 thumbnails 5592 5593 5594 class="mobile:hidden" 5595 5596> 5597 5598 5599 5600 5601 5602 <scroll-hint 5603 ref="thumbnailsContainer" 5604 class="slideshow-controls__thumbnails-container" 5605 > 5606 <div class="slideshow-controls__thumbnails"> 5607 5608 <button 5609 class="slideshow-control button button-unstyled slideshow-controls__thumbnail" 5610 aria-label="Slide 1 of 2" 5611 on:click="/select/0" 5612 style="--aspect-ratio: 2/1;" 5613 ref="thumbnails[]" 5614 5615 aria-selected="true" 5616 5617 > 5618 5619 <img src="//the3dprintzone.com/cdn/shop/files/KIT_STRAT_HOLLOW_BODYSTRAT-Edit.jpg?v=1765760473&width=144" alt="Modular 3D printed Strat-Style guitar kit with hollow pattern" srcset="//the3dprintzone.com/cdn/shop/files/KIT_STRAT_HOLLOW_BODYSTRAT-Edit.jpg?v=1765760473&width=144 144w" width="144" height="81" loading="lazy" style="object-position: 50.0% 50.0%;"> 5620 5621 5622 </button> 5623 5624 <button 5625 class="slideshow-control button button-unstyled slideshow-controls__thumbnail" 5626 aria-label="Slide 2 of 2" 5627 on:click="/select/1" 5628 style="--aspect-ratio: 2/1;" 5629 ref="thumbnails[]" 5630 5631 > 5632 5633 <img src="//the3dprintzone.com/cdn/shop/files/KIT_LAYOUT_BODY.jpg?v=1783602828&width=144" alt="Strat-Style Kit" srcset="//the3dprintzone.com/cdn/shop/files/KIT_LAYOUT_BODY.jpg?v=1783602828&width=144 144w" width="144" height="81" loading="lazy" style="object-position: 50.0% 50.0%;"> 5634 5635 5636 </button> 5637 5638 </div> 5639 </scroll-hint> 5640 5641 5642 5643</slideshow-controls> 5644 5645 5646 5647 5648 5649<slideshow-controls 5650 5651 ref="slideshowControls" 5652 5653 pagination-position="center" 5654 scroll-mode="horizontal" 5655 5656 controls-on-media 5657 5658 5659 5660 5661 class="desktop:hidden media-gallery__mobile-controls" 5662 5663> 5664 5665 5666 5667 5668 5669 <ol class="slideshow-controls__dots"> 5670 5671 <li> 5672 <button 5673 class="slideshow-control button button-unstyled" 5674 style="animation-timeline: --slide-1" 5675 aria-label="Slide 1 of 2" 5676 on:click="/select/0" 5677 ref="dots[]" 5678 5679 aria-selected="true" 5680 5681 > 5682 1 5683 </button> 5684 </li> 5685 5686 <li> 5687 <button 5688 class="slideshow-control button button-unstyled" 5689 style="animation-timeline: --slide-2" 5690 aria-label="Slide 2 of 2" 5691 on:click="/select/1" 5692 ref="dots[]" 5693 5694 > 5695 2 5696 </button> 5697 </li> 5698 5699 </ol> 5700 5701 5702 5703</slideshow-controls> 5704 5705 5706 5707 5708</slideshow-component> 5709 5710 5711 5712<zoom-dialog 5713 ref="zoomDialogComponent" 5714 id="zoom-dialog-ARnBrdmEzcjFRTkJ1a__media-gallery" 5715 > 5716 <dialog 5717 ref="dialog" 5718 on:keydown="/handleKeyDown" 5719 scroll-lock 5720 > 5721 <button 5722 type="button" 5723 class="button button-unstyled close-button dialog-zoomed-gallery__close-button" 5724 aria-label="Close" 5725 on:click="/close" 5726 > 5727 <span class="visually-hidden">Close</span> 5728 <svg width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg"> 5729 <path d="M12 2L2 12" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round" stroke-linejoin="round"/> 5730 <path d="M12 12L2 2" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round" stroke-linejoin="round"/> 5731</svg> 5732 5733 </button> 5734 <div class="dialog-thumbnails-list-container"> 5735 <scroll-hint 5736 class="dialog-thumbnails-list list-unstyled" 5737 ref="thumbnails" 5738 > 5739 5740 5741 <button 5742 type="button" 5743 class="button button-unstyled dialog-thumbnails-list__thumbnail" 5744 aria-label="Scroll to Modular 3D printed Strat-Style guitar kit with hollow pattern"
5745 on:click="/handleThumbnailClick/0" 5746 on:pointerenter="/handleThumbnailPointerEnter/0" 5747 style="--aspect-ratio: 2/1; --gallery-aspect-ratio: 2/1;" 5748 5749 aria-selected="true" 5750 5751 > 5752 5753 <img src="//the3dprintzone.com/cdn/shop/files/KIT_STRAT_HOLLOW_BODYSTRAT-Edit.jpg?v=1765760473&width=1024" alt="Modular 3D printed Strat-Style guitar kit with hollow pattern" srcset="//the3dprintzone.com/cdn/shop/files/KIT_STRAT_HOLLOW_BODYSTRAT-Edit.jpg?v=1765760473&width=240 240w, //the3dprintzone.com/cdn/shop/files/KIT_STRAT_HOLLOW_BODYSTRAT-Edit.jpg?v=1765760473&width=352 352w, //the3dprintzone.com/cdn/shop/files/KIT_STRAT_HOLLOW_BODYSTRAT-Edit.jpg?v=1765760473&width=832 832w" width="1024" height="576" loading="lazy" sizes="auto, 110, (min-width: 750px) 160" style="object-position: 50.0% 50.0%;"> 5754 </button> 5755 <button 5756 type="button" 5757 class="button button-unstyled dialog-thumbnails-list__thumbnail" 5758 aria-label="Scroll to Strat-Style Kit" 5759 on:click="/handleThumbnailClick/1" 5760 on:pointerenter="/handleThumbnailPointerEnter/1" 5761 style="--aspect-ratio: 2/1; --gallery-aspect-ratio: 2/1;" 5762 5763 > 5764 5765 <img src="//the3dprintzone.com/cdn/shop/files/KIT_LAYOUT_BODY.jpg?v=1783602828&width=1024" alt="Strat-Style Kit" srcset="//the3dprintzone.com/cdn/shop/files/KIT_LAYOUT_BODY.jpg?v=1783602828&width=240 240w, //the3dprintzone.com/cdn/shop/files/KIT_LAYOUT_BODY.jpg?v=1783602828&width=352 352w, //the3dprintzone.com/cdn/shop/files/KIT_LAYOUT_BODY.jpg?v=1783602828&width=832 832w" width="1024" height="576" loading="lazy" sizes="auto, 110, (min-width: 750px) 160" style="object-position: 50.0% 50.0%;"> 5766 </button> 5767 </scroll-hint> 5768 </div> 5769 <ul 5770 class="dialog-zoomed-gallery list-unstyled" 5771 ><li 5772 id="product-32531230785693-1" 5773 class="product-media-container constrain-height product-media-container--image product-media-container--zoomable" 5774 style="" 5775 ref="media[]" 5776 5777 on:click="/close" 5778 5779 > 5780 5781 <drag-zoom-wrapper class="product-media__drag-zoom-wrapper"> 5782 5783<div 5784 class="product-media" 5785 style="--ratio: 1.7777777777777777" 5786 data-media-id="32531230785693" 5787> 5788 5789 5790 <img src="//the3dprintzone.com/cdn/shop/files/KIT_STRAT_HOLLOW_BODYSTRAT-Edit.jpg?v=1765760473&width=3840" alt="Modular 3D printed Strat-Style guitar kit with hollow pattern" srcset="//the3dprintzone.com/cdn/shop/files/KIT_STRAT_HOLLOW_BODYSTRAT-Edit.jpg?v=1765760473&width=240 240w, //the3dprintzone.com/cdn/shop/files/KIT_STRAT_HOLLOW_BODYSTRAT-Edit.jpg?v=1765760473&width=352 352w, //the3dprintzone.com/cdn/shop/files/KIT_STRAT_HOLLOW_BODYSTRAT-Edit.jpg?v=1765760473&width=832 832w, //the3dprintzone.com/cdn/shop/files/KIT_STRAT_HOLLOW_BODYSTRAT-Edit.jpg?v=1765760473&width=1200 1200w, //the3dprintzone.com/cdn/shop/files/KIT_STRAT_HOLLOW_BODYSTRAT-Edit.jpg?v=1765760473&width=1600 1600w, //the3dprintzone.com/cdn/shop/files/KIT_STRAT_HOLLOW_BODYSTRAT-Edit.jpg?v=1765760473&width=1920 1920w, //the3dprintzone.com/cdn/shop/files/KIT_STRAT_HOLLOW_BODYSTRAT-Edit.jpg?v=1765760473&width=2560 2560w, //the3dprintzone.com/cdn/shop/files/KIT_STRAT_HOLLOW_BODYSTRAT-Edit.jpg?v=1765760473&width=3840 3840w" width="3840" height="2160" loading="lazy" sizes="100vw" class="product-media__image" transitionToProduct="false" data_max_resolution="//the3dprintzone.com/cdn/shop/files/KIT_STRAT_HOLLOW_BODYSTRAT-Edit.jpg?v=1765760473&width=3840" fetchpriority="high" style="--focal-point: 50.0% 50.0%;"> 5791 5792 5793 5794 5795</div> 5796 5797 5798</drag-zoom-wrapper> 5799 5800 </li><li 5801 id="product-32507930476701-2" 5802 class="product-media-container constrain-height product-media-container--image product-media-container--zoomable" 5803 style="" 5804 ref="media[]" 5805 5806 on:click="/close" 5807 5808 > 5809 5810 <drag-zoom-wrapper class="product-media__drag-zoom-wrapper"> 5811 5812<div 5813 class="product-media" 5814 style="--ratio: 1.7777777777777777" 5815 data-media-id="32507930476701" 5816> 5817 5818 5819 <img src="//the3dprintzone.com/cdn/shop/files/KIT_LAYOUT_BODY.jpg?v=1783602828&width=3840" alt="Strat-Style Kit" srcset="//the3dprintzone.com/cdn/shop/files/KIT_LAYOUT_BODY.jpg?v=1783602828&width=240 240w, //the3dprintzone.com/cdn/shop/files/KIT_LAYOUT_BODY.jpg?v=1783602828&width=352 352w, //the3dprintzone.com/cdn/shop/files/KIT_LAYOUT_BODY.jpg?v=1783602828&width=832 832w, //the3dprintzone.com/cdn/shop/files/KIT_LAYOUT_BODY.jpg?v=1783602828&width=1200 1200w, //the3dprintzone.com/cdn/shop/files/KIT_LAYOUT_BODY.jpg?v=1783602828&width=1600 1600w, //the3dprintzone.com/cdn/shop/files/KIT_LAYOUT_BODY.jpg?v=1783602828&width=1920 1920w, //the3dprintzone.com/cdn/shop/files/KIT_LAYOUT_BODY.jpg?v=1783602828&width=2560 2560w, //the3dprintzone.com/cdn/shop/files/KIT_LAYOUT_BODY.jpg?v=1783602828&width=3840 3840w" width="3840" height="2160" loading="lazy" sizes="100vw" class="product-media__image" transitionToProduct="false" data_max_resolution="//the3dprintzone.com/cdn/shop/files/KIT_LAYOUT_BODY.jpg?v=1783602828&width=3840" fetchpriority="auto" style="--focal-point: 50.0% 50.0%;"> 5820 5821 5822 5823 5824</div> 5825 5826 5827</drag-zoom-wrapper> 5828 5829 </li></ul> 5830 </dialog> 5831 </zoom-dialog></media-gallery> 5832 5833 5834 5835 5836</div> 5837 5838 5839 5840 5841 5842 5843<div 5844 id="ProductInformation-template--21357693436061__main" 5845 class=" 5846 product-details 5847 sticky-content--desktop 5848 " 5849 style="--details-position: flex-start;"
5850 data-testid="product-information-details" 5851 5852> 5853 5854 5855 <div 5856 class=" 5857 group-block 5858 group-block--height-fit 5859 group-block--width-fill 5860 border-style 5861 spacing-style 5862 size-style 5863 5864 5865 " 5866 style=" 5867 --border-width: 1px; --border-style: none; --border-color: 5868rgb(var(--color-border-rgb) / 1.0); --border-radius: 58690px; 5870 5871 --padding-block-start: 10px;--padding-block-end: max(20px, calc(var(--spacing-scale) * 25px));--padding-inline-start: 0px;--padding-inline-end: 0px; 5872 --size-style-width: 100%;--size-style-height: fit;--size-style-width-mobile: 100%; --size-style-width-mobile-min: 5rem; 5873 5874 " 5875 5876 data-testid="group-block" 5877><div class="group-block__media-wrapper"> 5878 5879 5880 5881 </div> 5882 5883 <div 5884 class=" 5885 group-block-content 5886 5887 layout-panel-flex 5888 layout-panel-flex--column 5889 5890 " 5891 style="--flex-direction: column; --flex-wrap: nowrap; --flex-wrap-mobile: wrap; 5892 5893--gap: 20px; 5894 5895--horizontal-alignment: ; --vertical-alignment: ; 5896--vertical-alignment-mobile: ; 5897" 5898 > 5899 <div class="view-product-title"> 5900 <a 5901 href="/products/strat-style-kit?variant=47476504854685" 5902 class="link" 5903 >Strat-Style Kit 5904 </a> 5905 </div> 5906 5907 5908 5909<div 5910 class=" 5911 group-block 5912 group-block--height-fit 5913 group-block--width-fill 5914 border-style 5915 spacing-style 5916 size-style 5917 5918 5919 " 5920 style=" 5921 --border-width: 1px; --border-style: none; --border-color: 5922rgb(var(--color-border-rgb) / 1.0); --border-radius: 59230px; 5924 5925 --padding-block-start: 0px;--padding-block-end: 0px;--padding-inline-start: 0px;--padding-inline-end: 0px; 5926 --size-style-width: 100%;--size-style-height: fit;--size-style-width-mobile: 100%; --size-style-width-mobile-min: 5rem; 5927 5928 " 5929 5930 data-testid="group-block" 5931><div class="group-block__media-wrapper"> 5932 5933 5934 5935 </div> 5936 5937 <div 5938 class=" 5939 group-block-content 5940 5941 layout-panel-flex 5942 layout-panel-flex--column 5943 mobile-column 5944 " 5945 style="--flex-direction: column; --flex-wrap: nowrap; --flex-wrap-mobile: wrap; 5946 5947--gap: 5px; 5948 5949--horizontal-alignment: flex-start; --vertical-alignment: center; 5950--vertical-alignment-mobile: center; 5951" 5952 > 5953 5954 5955<div> 5956 <div style=" 5957 font-size: 12px; 5958 font-weight: 700; 5959 letter-spacing: 0.06em; 5960 text-transform: uppercase; 5961 color: #A86A3C; 5962 margin-bottom: 4px; 5963"> 5964 Physical Kit + 3D Printing Files 5965</div> 5966</div> 5967 5968 5969 5970 5971 5972 5973 5974 5975 5976 5977 <div 5978 class=" spacing-style text-block text-block--ANTdyRzRRWXZFY1NVa__text_xrnftG h3 5979 text-block--align-left 5980 " 5981 5982 style=" 5983 --padding-block-start: 0px; --padding-block-end:0px; 5984--padding-inline-start:0px; --padding-inline-end:0px; 5985 5986 5987 5988 --width: 100%; 5989 --max-width: var(--max-width--body-normal); 5990 5991 --text-align: left; 5992 5993 5994 " 5995 5996 5997> 5998 <h1>Strat-Style Kit</h1> 5999 </div> 6000 6001 6002 6003 6004 6005 6006 6007 6008<div> 6009 <div style=" 6010 font-size: 15px; 6011 color: #6B6B6B; 6012 line-height: 1.5; 6013 margin-top: 5px; 6014 margin-bottom: 10px; 6015"> 6016 You 3D-print the body, we ship you the rest of the components. 6017</div> 6018 6019<div style=" 6020 font-size: 13px; 6021 color: #999; 6022 line-height: 1.5; 6023 margin-top: -4px; 6024 margin-bottom: 10px; 6025"> 6026 Prints in sections to fit a 256 × 256mm bed or larger. 6027</div> 6028</div> 6029 6030 6031 6032 6033 6034<product-price 6035 class="text-block text-block--align-left rte text-left paragraph spacing-style" 6036 data-block-id="AV3FrR3EvNXZsNlJOV__price_tVjtKg" 6037 data-product-id="8793869025437" 6038 style=" 6039 6040--color: var(--color-foreground); 6041 --padding-block-start: 0px;--padding-block-end: 6px;--padding-inline-start: 0px;--padding-inline-end: 0px; 6042 --width: 100%; 6043 " 6044 6045> 6046 <div ref="priceContainer"> 6047 6048 6049 6050 <span class="price">$59.00</span> 6051 6052 6053 6054</div> 6055 6056 6057 6058</product-price> 6059 6060 6061 6062 6063 6064 6065 6066 6067 6068 6069 <div 6070 class="rating-wrapper justify-left rating-color--primary" 6071 6072 > 6073 <svg 6074 class="visually-hidden" 6075 style="width: 0; height: 0;" 6076 xmlns="http://www.w3.org/2000/svg" 6077 viewBox="0 0 32 32" 6078 role="presentation" 6079 > 6080 <defs> 6081 <linearGradient id="half" x1="0" x2="100%" y1="0" y2="0"> 6082 <stop offset="50%" stop-color="var(--star-fill-color)"></stop> 6083 <stop offset="50%" stop-color="rgb(var(--star-fill-color-rgb) / var(--opacity-20)"></stop> 6084 </linearGradient> 6085 6086 <symbol xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32" id="star"> 6087 <path d="M31.547 12a.848.848 0 00-.677-.577l-9.427-1.376-4.224-8.532a.847.847 0 00-1.516 0l-4.218 8.534-9.427 1.355a.847.847 0 00-.467 1.467l6.823 6.664-1.612 9.375a.847.847 0 001.23.893l8.428-4.434 8.432 4.432a.847.847 0 001.229-.894l-1.615-9.373 6.822-6.665a.845.845 0 00.214-.869z" /> 6088 </symbol> 6089 </defs> 6090 </svg> 6091 <div 6092 class="rating" 6093 style="--star-size: calc(var(--font-paragraph--size) * 1.1);" 6094 aria-label="Rating of this product is 5.0 out of 5" 6095 > 6096 6097<svg 6098 class="stars filled-star"
6099 viewBox="0 0 32 32" 6100 style="--empty-star-fill-color:rgb(var(--star-fill-color-rgb) / var(--opacity-20)" 6101 role="presentation" 6102 > 6103 <use xlink:href="#star"></use> 6104 6105 </svg><svg 6106 class="stars filled-star" 6107 viewBox="0 0 32 32" 6108 style="--empty-star-fill-color:rgb(var(--star-fill-color-rgb) / var(--opacity-20)" 6109 role="presentation" 6110 > 6111 <use xlink:href="#star"></use> 6112 6113 </svg><svg 6114 class="stars filled-star" 6115 viewBox="0 0 32 32" 6116 style="--empty-star-fill-color:rgb(var(--star-fill-color-rgb) / var(--opacity-20)" 6117 role="presentation" 6118 > 6119 <use xlink:href="#star"></use> 6120 6121 </svg><svg 6122 class="stars filled-star" 6123 viewBox="0 0 32 32" 6124 style="--empty-star-fill-color:rgb(var(--star-fill-color-rgb) / var(--opacity-20)" 6125 role="presentation" 6126 > 6127 <use xlink:href="#star"></use> 6128 6129 </svg><svg 6130 class="stars filled-star"
6131 viewBox="0 0 32 32" 6132 style="--empty-star-fill-color:rgb(var(--star-fill-color-rgb) / var(--opacity-20)" 6133 role="presentation" 6134 > 6135 <use xlink:href="#star"></use> 6136 6137 </svg> 6138 </div><p class="rating-count paragraph">2 6139 reviews 6140</p></div> 6141 6142 6143 6144 6145<div> 6146 <div style=" 6147 display: inline-flex; 6148 align-items: center; 6149 gap: 8px; 6150 padding: 10px 14px; 6151 margin: 10px 0 4px 0; 6152 background-color: rgba(0, 128, 0, 0.06); 6153 border: 1px solid rgba(0, 128, 0, 0.2); 6154 border-radius: 8px; 6155 font-size: 14px; 6156 font-weight: 600; 6157 color: #1a7a1a; 6158"> 6159 <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"> 6160 <polyline points="20 6 9 17 4 12"></polyline> 6161 </svg> 6162 Free U.S. Shipping 6163</div> 6164</div> 6165 6166 6167 6168</div> 6169</div> 6170 6171 6172 6173 6174 6175 6176 6177 6178 6179 6180 6181 <variant-picker 6182 class="variant-picker spacing-style variant-picker--left" 6183 style="--color-strikethrough-mix: #000;
6183 --padding-block-start: 5px;--padding-block-end: 0px;--padding-inline-start: 0px;--padding-inline-end: 0px;" 6184 data-section-id="template--21357693436061__main" 6185 data-product-id="8793869025437" 6186 data-block-id="Ab2NNUlB2UDlNS0txc__variant_picker_jz33re" 6187 data-product-url="/products/strat-style-kit" 6188 ref="mainVariantPicker" 6189 6190 data-template-product-match="true" 6191 6192 6193 6194 > 6195 <form class="variant-picker__form"><fieldset 6196 class="variant-option variant-option--buttons variant-option--equal-width-buttons" 6197 data-fieldset-index="0" 6198 ref="fieldsets[]" 6199 data-option-id="template-21357693436061__main-8793869025437-choose-a-design" 6200 > 6201 <legend> 6202 Choose a Design 6203 </legend> 6204 <label 6205 class="variant-option__button-label" 6206 > 6207 <input 6208 type="radio" 6209 name="Choose a Design-Ab2NNUlB2UDlNS0txc__variant_picker_jz33re-8793869025437" 6210 value="Alien" 6211 aria-label="Alien" 6212 6213 data-previous-checked="false" 6214 data-fieldset-index="0" 6215 data-input-index="0" 6216 data-input-id="1-0" 6217 data-option-value-id="4967367049373" 6218 data-option-available="true" 6219 data-connected-product-url="" 6220 6221 data-variant-id="47457062617245" 6222 6223 6224 data-current-checked="false" 6225 6226 > 6227 6228 6229 <span class="variant-option__button-label__pill"></span> 6230 6231 <span class="variant-option__button-label__text">Alien</span> 6232 6233 6234 </label> 6235 <label 6236 class="variant-option__button-label" 6237 > 6238 <input 6239 type="radio" 6240 name="Choose a Design-Ab2NNUlB2UDlNS0txc__variant_picker_jz33re-8793869025437" 6241 value="Baseplate" 6242 aria-label="Baseplate" 6243 6244 data-previous-checked="false" 6245 data-fieldset-index="0" 6246 data-input-index="1" 6247 data-input-id="1-1" 6248 data-option-value-id="4988674146461" 6249 data-option-available="true" 6250 data-connected-product-url="" 6251 6252 data-variant-id="47481122783389" 6253 6254 6255 data-current-checked="false" 6256 6257 > 6258 6259 6260 <span class="variant-option__button-label__pill"></span> 6261 6262 <span class="variant-option__button-label__text">Baseplate</span> 6263 6264 6265 </label> 6266 <label 6267 class="variant-option__button-label" 6268 > 6269 <input 6270 type="radio" 6271 name="Choose a Design-Ab2NNUlB2UDlNS0txc__variant_picker_jz33re-8793869025437" 6272 value="Circuits" 6273 aria-label="Circuits" 6274 6275 data-previous-checked="false" 6276 data-fieldset-index="0" 6277 data-input-index="2" 6278 data-input-id="1-2" 6279 data-option-value-id="4967367082141" 6280 data-option-available="true" 6281 data-connected-product-url="" 6282 6283 data-variant-id="47457062650013" 6284 6285 6286 data-current-checked="false" 6287 6288 > 6289 6290 6291 <span class="variant-option__button-label__pill"></span> 6292 6293 <span class="variant-option__button-label__text">Circuits</span> 6294 6295 6296 </label> 6297 <label 6298 class="variant-option__button-label" 6299 > 6300 <input 6301 type="radio" 6302 name="Choose a Design-Ab2NNUlB2UDlNS0txc__variant_picker_jz33re-8793869025437" 6303 value="Epicenter" 6304 aria-label="Epicenter" 6305 6306 data-previous-checked="false" 6307 data-fieldset-index="0" 6308 data-input-index="3" 6309 data-input-id="1-3" 6310 data-option-value-id="4967367114909" 6311 data-option-available="true" 6312 data-connected-product-url="" 6313 6314 data-variant-id="47457062682781" 6315 6316 6317 data-current-checked="false" 6318 6319 > 6320 6321
6322 <span class="variant-option__button-label__pill"></span> 6323 6324 <span class="variant-option__button-label__text">Epicenter</span> 6325 6326 6327 </label> 6328 <label 6329 class="variant-option__button-label" 6330 > 6331 <input 6332 type="radio" 6333 name="Choose a Design-Ab2NNUlB2UDlNS0txc__variant_picker_jz33re-8793869025437" 6334 value="Hex" 6335 aria-label="Hex" 6336 6337 data-previous-checked="false" 6338 data-fieldset-index="0" 6339 data-input-index="4" 6340 data-input-id="1-4" 6341 data-option-value-id="4967367245981" 6342 data-option-available="true" 6343 data-connected-product-url="" 6344 6345 data-variant-id="47457062813853" 6346 6347 6348 data-current-checked="false" 6349 6350 > 6351 6352 6353 <span class="variant-option__button-label__pill"></span> 6354 6355 <span class="variant-option__button-label__text">Hex</span> 6356 6357 6358 </label> 6359 <label 6360 class="variant-option__button-label" 6361 > 6362 <input 6363 type="radio" 6364 name="Choose a Design-Ab2NNUlB2UDlNS0txc__variant_picker_jz33re-8793869025437" 6365 value="Hollow" 6366 aria-label="Hollow" 6367 6368 data-previous-checked="false" 6369 data-fieldset-index="0" 6370 data-input-index="5" 6371 data-input-id="1-5" 6372 data-option-value-id="4984454840477" 6373 data-option-available="true" 6374 data-connected-product-url="" 6375 6376 data-variant-id="47476504854685" 6377 6378 6379 data-current-checked="true" 6380 checked 6381 6382 > 6383 6384 6385 <span class="variant-option__button-label__pill"></span> 6386 6387 <span class="variant-option__button-label__text">Hollow</span> 6388 6389 6390 </label> 6391 <label 6392 class="variant-option__button-label" 6393 > 6394 <input 6395 type="radio" 6396 name="Choose a Design-Ab2NNUlB2UDlNS0txc__variant_picker_jz33re-8793869025437" 6397 value="Honeycomb" 6398 aria-label="Honeycomb" 6399 6400 data-previous-checked="false" 6401 data-fieldset-index="0" 6402 data-input-index="6" 6403 data-input-id="1-6" 6404 data-option-value-id="14915717562542" 6405 data-option-available="true" 6406 data-connected-product-url="" 6407 6408 data-variant-id="67597075939502" 6409 6410 6411 data-current-checked="false" 6412 6413 > 6414 6415 6416 <span class="variant-option__button-label__pill"></span> 6417 6418 <span class="variant-option__button-label__text">Honeycomb</span> 6419 6420 6421 </label> 6422 <label 6423 class="variant-option__button-label" 6424 > 6425 <input 6426 type="radio" 6427 name="Choose a Design-Ab2NNUlB2UDlNS0txc__variant_picker_jz33re-8793869025437" 6428 value="River" 6429 aria-label="River" 6430 6431 data-previous-checked="false" 6432 data-fieldset-index="0" 6433 data-input-index="7" 6434 data-input-id="1-7" 6435 data-option-value-id="4967367147677" 6436 data-option-available="true" 6437 data-connected-product-url="" 6438 6439 data-variant-id="47457062715549" 6440 6441 6442 data-current-checked="false" 6443 6444 > 6445 6446
6447 <span class="variant-option__button-label__pill"></span> 6448 6449 <span class="variant-option__button-label__text">River</span> 6450 6451 6452 </label> 6453 <label 6454 class="variant-option__button-label" 6455 > 6456 <input 6457 type="radio" 6458 name="Choose a Design-Ab2NNUlB2UDlNS0txc__variant_picker_jz33re-8793869025437" 6459 value="Solid" 6460 aria-label="Solid" 6461 6462 data-previous-checked="false" 6463 data-fieldset-index="0" 6464 data-input-index="8" 6465 data-input-id="1-8" 6466 data-option-value-id="4967367180445" 6467 data-option-available="true" 6468 data-connected-product-url="" 6469 6470 data-variant-id="47457062748317" 6471 6472 6473 data-current-checked="false" 6474 6475 > 6476 6477 6478 <span class="variant-option__button-label__pill"></span> 6479 6480 <span class="variant-option__button-label__text">Solid</span> 6481 6482 6483 </label> 6484 <label 6485 class="variant-option__button-label" 6486 > 6487 <input 6488 type="radio" 6489 name="Choose a Design-Ab2NNUlB2UDlNS0txc__variant_picker_jz33re-8793869025437" 6490 value="Spider" 6491 aria-label="Spider" 6492 6493 data-previous-checked="false" 6494 data-fieldset-index="0" 6495 data-input-index="9" 6496 data-input-id="1-9" 6497 data-option-value-id="4967367213213" 6498 data-option-available="true" 6499 data-connected-product-url="" 6500 6501 data-variant-id="47457062781085" 6502 6503 6504 data-current-checked="false" 6505 6506 > 6507 6508 6509 <span class="variant-option__button-label__pill"></span> 6510 6511 <span class="variant-option__button-label__text">Spider</span> 6512 6513 6514 </label> 6515 <label 6516 class="variant-option__button-label" 6517 > 6518 <input 6519 type="radio" 6520 name="Choose a Design-Ab2NNUlB2UDlNS0txc__variant_picker_jz33re-8793869025437" 6521 value="Toolbox" 6522 aria-label="Toolbox" 6523 6524 data-previous-checked="false" 6525 data-fieldset-index="0" 6526 data-input-index="10" 6527 data-input-id="1-10" 6528 data-option-value-id="4967367278749" 6529 data-option-available="true" 6530 data-connected-product-url="" 6531 6532 data-variant-id="47457062846621" 6533 6534 6535 data-current-checked="false" 6536 6537 > 6538 6539 6540 <span class="variant-option__button-label__pill"></span> 6541 6542 <span class="variant-option__button-label__text">Toolbox</span> 6543 6544 6545 </label> 6546 <style data-shopify> 6547 [data-option-id="template-21357693436061__main-8793869025437-choose-a-design"] { 6548 --variant-ch: 9ch; 6549 } 6550 </style> 6551 6552 </fieldset>
6552<script type="application/json"> 6553 {"id":47476504854685,"title":"Hollow","option1":"Hollow","option2":null,"option3":null,"sku":null,"requires_shipping":true,"taxable":true,"featured_image":{"id":41205992980637,"product_id":8793869025437,"position":10,"created_at":"2025-12-11T20:29:15-05:00","updated_at":"2025-12-14T20:01:13-05:00","alt":"Modular 3D printed Strat-Style guitar kit with hollow pattern","width":1920,"height":1080,"src":"\/\/the3dprintzone.com\/cdn\/shop\/files\/KIT_STRAT_HOLLOW_BODYSTRAT-Edit.jpg?v=1765760473","variant_ids":[47476504854685]},"available":true,"name":"Strat-Style Kit - Hollow","public_title":"Hollow","options":["Hollow"],"price":5900,"weight":454,"compare_at_price":4900,"inventory_management":null,"barcode":null,"featured_media":{"alt":"Modular 3D printed Strat-Style guitar kit with hollow pattern","id":32531230785693,"position":10,"preview_image":{"aspect_ratio":1.778,"height":1080,"width":1920,"src":"\/\/the3dprintzone.com\/cdn\/shop\/files\/KIT_STRAT_HOLLOW_BODYSTRAT-Edit.jpg?v=1765760473"}},"requires_selling_plan":false,"selling_plan_allocations":[],"quantity_rule":{"min":1,"max":null,"increment":1}} 6554 </script>
6554 6555 </form> 6556 </variant-picker> 6557 6558 6559 6560 6561 6562 6563 6564 6565 6566<span 6567 class="buy-buttons-block buy-buttons-block--AQW5FU2o1bmw1UHNZT__buy_buttons_eYQEYi" 6568 6569><product-form-component 6570 data-section-id="template--21357693436061__main" 6571 data-product-id="8793869025437" 6572 data-product-url="/products/strat-style-kit" 6573 on:submit="/handleSubmit" 6574 data-quantity-default="1" 6575 data-quantity-error-max="This item has a maximum of {{ maximum }}" 6576 > 6577 <div 6578 class="visually-hidden" 6579 aria-live="assertive" 6580 role="status" 6581 aria-atomic="true" 6582 ref="liveRegion" 6583 ></div><form method="post" action="/cart/add" id="BuyButtons-ProductForm-template--21357693436061__main" accept-charset="UTF-8" class="shopify-product-form" enctype="multipart/form-data" data-type="add-to-cart-form"><input type="hidden" name="form_type" value="product" /><input type="hidden" name="utf8" value="â" /><input 6584 type="hidden" 6585 name="id" 6586 ref="variantId" 6587 value="47476504854685" 6588 ><div 6589 class="product-form-buttons spacing-style product-form-buttons--stacked" 6590 style="--padding-block-start: 15px;--padding-block-end: 0px;--padding-inline-start: 0px;--padding-inline-end: 0px;" 6591 ref="productFormButtons" 6592 > 6593<span 6594 class="product-form-text__error hidden" 6595 ref="addToCartTextError" 6596 > 6597 <span class="svg-wrapper product-form-icon--error"><svg class="icon icon-error" viewBox="0 0 13 13"> 6598 <circle cx="6.5" cy="6.5" r="5.5" stroke="#fff" stroke-width="var(--icon-stroke-width)"/> 6599 <circle cx="6.5" cy="6.5" r="5.5" fill="#EB001B" stroke="#EB001B" stroke-width=".7"/> 6600 <path fill="#fff" d="m5.874 3.528.1 4.044h1.053l.1-4.044zm.627 6.133c.38 0 .68-.288.68-.656s-.3-.656-.68-.656-.681.288-.681.656.3.656.68.656"/> 6601 <path fill="#fff" stroke="#EB001B" stroke-width=".7" d="M5.874 3.178h-.359l.01.359.1 4.044.008.341h1.736l.008-.341.1-4.044.01-.359H5.873Zm.627 6.833c.56 0 1.03-.432 1.03-1.006s-.47-1.006-1.03-1.006-1.031.432-1.031 1.006.47 1.006 1.03 1.006Z"/> 6602</svg> 6603</span> 6604 </span> 6605 6606 6607<span 6608 6609 style="--add-to-cart-font-case: ;" 6610> 6611 <add-to-cart-component 6612 ref="addToCartButtonContainer" 6613 data-product-variant-media="//the3dprintzone.com/cdn/shop/files/KIT_STRAT_HOLLOW_BODYSTRAT-Edit.jpg?v=1765760473&width=100" 6614 data-add-to-cart-animation="true" 6615> 6616 <button 6617 id="BuyButtons-ProductSubmitButton-AY2RHV08wN015eUlZV__add-to-cart" 6618 type="submit" 6619 name="add" 6620 ref="addToCartButton" 6621 on:click="/handleClick" 6622 class="button add-to-cart-button button" 6623 6624 > 6625 <span 6626 class="add-to-cart-text" 6627 > 6628 6629 <span class="svg-wrapper add-to-cart-icon"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="none"><path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="var(--icon-stroke-width)" d="M16.608 9.421V6.906H3.392v8.016c0 .567.224 1.112.624 1.513.4.402.941.627 1.506.627H8.63M8.818 3h2.333c.618 0 1.212.247 1.649.686a2.35 2.35 0 0 1 .683 1.658v1.562H6.486V5.344c0-.622.246-1.218.683-1.658A2.33 2.33 0 0 1 8.82 3"/><path stroke="currentColor" stroke-linecap="round" stroke-width="var(--icon-stroke-width)" d="M14.608 12.563v5m2.5-2.5h-5"/></svg> 6630</span> 6631 6632 <span class="add-to-cart-text__content">Add to cart</span> 6633 </span> 6634 <span 6635 aria-hidden="true" 6636 class="add-to-cart-text--added" 6637 > 6638 <span class="svg-wrapper add-to-cart-icon--added"><svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg" class="icon-checkmark"> 6639<path d="M4.75439 10.7485L7.68601 14.5888C7.79288 14.7288 7.84632 14.7988 7.91174 14.8242C7.96907 14.8466 8.03262 14.8469 8.09022 14.8253C8.15596 14.8007 8.21026 14.7314 8.31886 14.5927L15.2475 5.74658" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round" stroke-linejoin="round"/> 6640</svg> 6641</span> 6642 <span class="">Added</span> 6643 </span> 6644 </button> 6645</add-to-cart-component> 6646 6647 6648 6649</span> 6650 6651 6652 6653 6654 6655 6656 6657<div 6658 class="accelerated-checkout-block" 6659 ref="acceleratedCheckoutButtonContainer" 6660 6661 6662 6663> 6664 6665 <div data-shopify="payment-button" class="shopify-payment-button"> <shopify-accelerated-checkout recommended="{"supports_subs":true,"supports_def_opts":false,"name":"shop_pay","wallet_params":{"shopId":74411770013,"merchantName":"The 3D Print Zone","personalized":true}}" fallback="{"supports_subs":true,"supports_def_opts":true,"name":"buy_it_now","wallet_params":{}}" access-token="3a250042ee6299b6f91b9251f4e9dfb4" buyer-country="US" buyer-locale="en" buyer-currency="USD" variant-params="[{"id":47457062617245,"requiresShipping":true},{"id":47481122783389,"requiresShipping":true},{"id":47457062650013,"requiresShipping":true},{"id":47457062682781,"requiresShipping":true},{"id":47457062813853,"requiresShipping":true},{"id":47476504854685,"requiresShipping":true},{"id":67597075939502,"requiresShipping":true},{"id":47457062715549,"requiresShipping":true},{"id":47457062748317,"requiresShipping":true},{"id":47457062781085,"requiresShipping":true},{"id":47457062846621,"requiresShipping":true}]" shop-id="74411770013" enabled-flags="["1172c16a","a1d1f9a1","f5afabb3","370070f3"]" > <div class="shopify-payment-button__button" role="button" disabled aria-hidden="true" style="background-color: transparent; border: none"> <div class="shopify-payment-button__skeleton"> </div> </div> <div class="shopify-payment-button__more-options shopify-payment-button__skeleton" role="button" disabled aria-hidden="true"> </div> </shopify-accelerated-checkout> </div> 6666 6667</div> 6668 6669 6670 6671 6672 6673 </div><input type="hidden" name="product-id" value="8793869025437" /><input type="hidden" name="section-id" value="template--21357693436061__main" /></form></product-form-component></span> 6674 6675 6676 6677 6678 6679 6680 6681 6682<div> 6683 <div style=" 6684 font-size: 12px; 6685 font-weight: 700; 6686 letter-spacing: 0.06em; 6687 text-transform: uppercase; 6688 color: #A86A3C; 6689 margin: 15px 0 0px; 6690"> 6691 You 3D Print the Body 6692</div> 6693</div> 6694 6695 6696 6697 6698<div> 6699 <style> 6700 .print-specs { margin: 0px 0 10px; } 6701 .print-specs__grid { 6702 display: grid; 6703 grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); 6704 gap: 12px; 6705 } 6706 .print-specs__card { 6707 background: #ffffff; 6708 border: 1px solid #e0dcd6; 6709 border-radius: 10px; 6710 padding: 16px 14px; 6711 text-align: center; 6712 } 6713 .print-specs__img { 6714 width: 28px; 6715 height: 28px; 6716 object-fit: contain; 6717 display: block; 6718 margin: 0 auto 8px; 6719 } 6720 .print-specs__icon { 6721 width: 24px; 6722 height: 24px; 6723 stroke: #7a4f2f; 6724 fill: none; 6725 stroke-width: 1.6; 6726 stroke-linecap: round; 6727 stroke-linejoin: round; 6728 display: block; 6729 margin: 0 auto 8px; 6730 } 6731 .print-specs__label { 6732 font-size: 11px; 6733 font-weight: 600; 6734 letter-spacing: 0.08em; 6735 text-transform: uppercase; 6736 color: #8a7c6e; 6737 margin: 0 0 4px; 6738 white-space: nowrap; 6739 } 6740 .print-specs__value { 6741 font-size: 15px; 6742 font-weight: 500; 6743 color: #1a1a1a; 6744 margin: 0; 6745 white-space: nowrap; 6746 } 6747 .print-specs__note { 6748 font-size: 11.5px; 6749 color: #999; 6750 text-align: center; 6751 line-height: 1.4; 6752 margin: 8px 0 0; 6753 } 6754 @media (max-width: 420px) { 6755 .print-specs__grid { gap: 8px; } 6756 .print-specs__card { padding: 12px 8px; } 6757 .print-specs__label { font-size: 10px; letter-spacing: 0.05em; } 6758 .print-specs__value { font-size: 13px; } 6759 } 6760</style> 6761 6762<div class="print-specs"> 6763 <div class="print-specs__grid"><div class="print-specs__card"> 6764 <img 6765 src="https://cdn.shopify.com/s/files/1/0744/1177/0013/files/FILAMENT.png?v=1764528084" 6766 alt="" 6767 class="print-specs__img" 6768 loading="lazy" 6769 width="28" 6770 height="28" 6771 aria-hidden="true" 6772 > 6773 <p class="print-specs__label">Est. Filament</p> 6774 <p class="print-specs__value">~1150-1250 grams</p> 6775 </div><div class="print-specs__card">
6776 <svg class="print-specs__icon" viewBox="0 0 24 24" aria-hidden="true"> 6777 <circle cx="12" cy="12" r="9"/> 6778 <polyline points="12 7 12 12 15.5 14"/> 6779 </svg> 6780 <p class="print-specs__label">Est. Print Time</p> 6781 <p class="print-specs__value">~20-22 hrs</p> 6782 </div></div> 6783 <p class="print-specs__note">Based on a 0.4 mm nozzle â a 0.6 mm prints up to 50% faster. Time and usage vary by printer and settings.</p> 6784</div> 6785</div> 6786 6787 6788 6789 6790<div> 6791 <div style=" 6792 background: #FAF6F0; 6793 border: 1px solid #E3D5BE; 6794 border-radius: 8px; 6795 padding: 14px 16px; 6796 display: flex; 6797 flex-direction: column; 6798 gap: 10px; 6799 font-size: 14px; 6800 color: #2B2B2B; 6801"> 6802 <div style="display:flex; gap:10px; align-items:flex-start;"> 6803 <span>ð ï¸</span> 6804 <span>Easy assembly, no soldering </span> 6805 </div> 6806 <div style="display:flex; gap:10px; align-items:flex-start;"> 6807 <span>ð</span> 6808 <span>Step-by-step build guides included</span> 6809 </div> 6810 <div style="display:flex; gap:10px; align-items:flex-start;"> 6811 <span>ð¬</span> 6812 <span>Stuck on your build? Email us â we'll help you finish it</span> 6813 </div> 6814 <div style="display:flex; gap:10px; align-items:flex-start;"> 6815 <span>ð¦</span> 6816 <span>Ships in 1â2 business days</span> 6817 </div> 6818</div> 6819</div> 6820 6821 6822 6823 6824<div> 6825 <a href="https://the3dprintzone.com/collections/core-kits" style=" 6826 margin-top: 16px; 6827 border: 1px solid #E3D5BE; 6828 border-radius: 10px; 6829 overflow: hidden; 6830 display: flex; 6831 align-items: flex-start; 6832 background: #FFFFFF; 6833 text-decoration: none; 6834 cursor: pointer; 6835"> 6836 <img 6837 src="https://cdn.shopify.com/s/files/1/0744/1177/0013/files/CORE_HH_OPTIONS_CHERRY_WOOD_HARDTAIL_KIT_1.jpg?v=1772464422" 6838 alt="Tele-Style Body Files â Solid Pattern" 6839 style="width: 150px; height: 100px; object-fit: cover; object-position: 50% 45%; flex-shrink: 0; display: block;" 6840 > 6841 <div style="padding: 12px 14px; display: flex; flex-direction: column; justify-content: flex-start; gap: 4px;"> 6842 <div style="font-size: 15px; font-weight: 700; color: #2B2B2B;"> 6843 Pair With Any Core Kit 6844 </div> 6845 <div style="font-size: 12.5px; color: #767676;"> 6846 3 Configurations Available 6847 </div> 6848 <span style=" 6849 margin-top: 4px; 6850 align-self: flex-start; 6851 font-size: 12.5px; 6852 font-weight: 700; 6853 color: #A86A3C; 6854 text-decoration: underline; 6855 "> 6856 Shop Core Kits â 6857 </span> 6858 </div> 6859</a> 6860</div> 6861 6862 6863 6864 6865<div 6866 class="divider divider-AUUpvRjlFVlhPQVJiT__divider_YgdfBK spacing-style" 6867 style=" 6868 --divider-justify-content: center; 6869 --padding-block-start: 10px;--padding-block-end: 10px; 6870 " 6871 6872 6873> 6874 <span 6875 class="divider__line" 6876 style=" 6877 --divider-border-thickness: 2px; 6878 6879 --divider-border-rounded: 0; 6880 6881 --divider-flex-basis: 100%; 6882 " 6883 ></span> 6884</div> 6885 6886 6887 6888 6889 6890 6891 6892 6893 6894 6895 6896 6897 6898 <div 6899 class=" spacing-style text-block text-block--ATmNPSFhwbDA4UkdKT__text_dHdtWJ custom 6900 custom-typography custom-font-size custom-color 6901 " 6902 6903 style=" 6904 --padding-block-start: 0px; --padding-block-end:0px; 6905--padding-inline-start:0px; --padding-inline-end:0px; 6906 6907 6908--color: var(--color-foreground);--font-size: 2rem; --font-weight: var(--font-heading--weight);--font-family: var(--font-heading--family); --text-transform: none; --text-wrap: pretty; --line-height: var(--line-height--body-normal); --letter-spacing: var(--letter-spacing--body-normal); 6909 --width: fit-content; 6910 --max-width: var(--max-width--body-normal); 6911 6912 6913 " 6914 6915 6916> 6917 <h2>Kit Details</h2> 6918 </div> 6919 6920 6921 6922 6923 6924 6925 6926 6927<div> 6928 <p style="font-size: 14px; color: #767676; margin: 0 0 24px;"> 6929 Everything you need to build your body kit. 6930</p> 6931</div> 6932 6933 6934 6935 6936<div> 6937 <div style="font-family: inherit; color: #2B2B2B; max-width: 600px;"> 6938 6939 <h3 style="font-size: 16px; font-weight: 700; color: #2B2B2B; margin: 0 0 10px;"> 6940 ð¦ Physical Kit (Shipped to Your Door) 6941 </h3> 6942 <ul style="list-style: none; padding: 0; margin: 0 0 24px; font-size: 14px;"> 6943 <li style="padding: 8px 0; border-bottom: 1px solid #E8E2D8; display: flex; gap: 8px;"> 6944 <b style="color: #A86A3C; min-width: 110px; flex-shrink: 0;">Controls Module</b>
6945 <span>Pre-Soldered, Chrome, Volume, Tone, Switch, Output Jack</span> 6946 </li> 6947 <li style="padding: 8px 0; border-bottom: 1px solid #E8E2D8; display: flex; gap: 8px; color: #767676;"> 6948 <b style="color: #999; min-width: 110px; flex-shrink: 0;">Hardware</b> 6949 <span>Strap Posts, All Mounting Hardware, Alignment Dowels</span> 6950 </li> 6951 6952 </ul> 6953 6954 <h3 style="font-size: 16px; font-weight: 700; color: #2B2B2B; margin: 0 0 10px;"> 6955 6956 â¬ï¸ Digital Download (You 3D Print) 6957 </h3> 6958 <ul style="list-style: none; padding: 0; margin: 0; font-size: 14px;"> 6959 <li style="padding: 8px 0; border-bottom: 1px solid #E8E2D8; display: flex; gap: 8px;"> 6960 <b style="color: #A86A3C; min-width: 110px; flex-shrink: 0;">Files</b> 6961 <span>STL + 3MF, Pre-Loaded Print Settings</span> 6962 </li> 6963 <li style="padding: 8px 0; border-bottom: 1px solid #E8E2D8; display: flex; gap: 8px; color: #767676;"> 6964 <b style="color: #999; min-width: 110px; flex-shrink: 0;">Part Files</b> 6965 <span>Body Split Into Sections, Output Jack Plate, Contacts Adapter</span> 6966 </li> 6967 <li style="padding: 8px 0; border-bottom: 1px solid #E8E2D8; display: flex; gap: 8px; color: #767676;"> 6968 <b style="color: #999; min-width: 110px; flex-shrink: 0;">Min Bed Size</b> 6969 <span>256mm x 256mm</span> 6970 </li> 6971 <li style="padding: 8px 0; border-bottom: 1px solid #E8E2D8; display: flex; gap: 8px; color: #767676;"> 6972 <b style="color: #999; min-width: 110px; flex-shrink: 0;">Filament</b> 6973 <span>Any Material (PLA, PETG, ABS, ASA, Etc)</span> 6974 </li> 6975 <li style="padding: 8px 0; border-bottom: 1px solid #E8E2D8; display: flex; gap: 8px; color: #767676;"> 6976 <b style="color: #999; min-width: 110px; flex-shrink: 0;">Customize</b> 6977 <span>Modify Colors in Slicer to Make It Your Own</span> 6978 </li> 6979 </ul> 6980 6981</div> 6982</div> 6983 6984 6985 6986 6987 6988 6989 6990 6991 6992 6993 <rte-formatter 6994 class=" spacing-style text-block text-block--AS1hyQm16eldxOWVta__text_aEtTtq rte 6995 text-block--align-left rte 6996 " 6997 6998 style=" 6999 --padding-block-start: 10px; --padding-block-end:0px; 7000--padding-inline-start:0px; --padding-inline-end:0px; 7001 7002 7003 7004 --width: 100%; 7005 --max-width: var(--max-width--body-normal); 7006 7007 --text-align: left; 7008 7009 7010 " 7011 7012 7013> 7014 <style> 7015 .help-links__text { 7016 font-size: 13px; 7017 color: #767676; 7018 margin: 15px 0 4px; 7019 } 7020 .help-links__break { display: none; } 7021 .help-links__cc { 7022 margin-top: 16px; 7023 border-top: 1px solid #E8E2D8; 7024 padding-top: 12px; 7025 } 7026 .help-links__cc-summary { 7027 cursor: pointer; 7028 font-weight: 700; 7029 font-size: 13.5px; 7030 color: #2B2B2B; 7031 list-style: none; 7032 display: flex; 7033 align-items: center; 7034 gap: 6px; 7035 } 7036 .help-links__cc-text { 7037 font-size: 13px; 7038 color: #767676; 7039 margin-top: 8px; 7040 } 7041 @media (max-width: 680px) { 7042 .help-links__text { text-align: center; } 7043 .help-links__break { display: block; margin-top: 4px; } 7044 .help-links__cc { text-align: center; } 7045 .help-links__cc-summary { justify-content: center; } 7046 } 7047</style> 7048 7049<p class="help-links__text"> 7050 Need more help? 7051 <span class="help-links__break"></span> 7052 <a href="https://the3dprintzone.com/pages/guides">Guides</a> · 7053 <a href="https://the3dprintzone.com/pages/faq">FAQ</a> · 7054 <a href="https://the3dprintzone.com/pages/guitar-gallery">Guitar Gallery</a> · 7055 <a href="https://the3dprintzone.com/pages/contact">Contact Us</a> 7056</p> 7057<details class="help-links__cc"> 7058 <summary class="help-links__cc-summary"> 7059 <span style="display: inline-block; transition: transform 0.2s;">â¶</span> 7060 Creative Commons 7061 </summary> 7062 <p class="help-links__cc-text"> 7063 No commercial use. You may not share, distribute, sell, donate, or exchange the digital files or any printed guitar parts/guitars. 7064 </p> 7065</details> 7066 </rte-formatter> 7067 7068 7069 7070 7071 7072 7073 7074 </div> 7075</div> 7076 7077 7078 7079</div> 7080 7081 7082 7083 7084 7085 7086 7087 7088 </div> 7089 7090 7091</div> 7092 7093 7094 7095 7096<style> #shopify-section-template--21357693436061__main .slideshow-controls__thumbnails .slideshow-control {width: 100px !important;} </style></div><div id="shopify-section-template--21357693436061__17628099595b07bd85" class="shopify-section section-wrapper"> 7097 7098 7099 7100<div class="section-background color-scheme-1"></div> 7101<div 7102 class="section section--page-width color-scheme-1" 7103 data-testid="ui-test-section" 7104 7105 7106 7107 style=" 7108 7109 7110 7111 " 7112> 7113 <div class="custom-section-background"> 7114 7115 7116 </div> 7117 7118 <div 7119 class="border-style custom-section-content" 7120 style="--border-width: 1px; --border-style: none; --border-color: 7121rgb(var(--color-border-rgb) / 1.0); --border-radius: 712210px; overflow: hidden; 7123" 7124 > 7125 7126 7127 <div 7128 class=" 7129 spacing-style 7130 layout-panel-flex 7131 layout-panel-flex--column 7132 section-content-wrapper 7133 mobile-column 7134 " 7135 style=" 7136 --flex-direction: column; --flex-wrap: nowrap; --flex-wrap-mobile: wrap; 7137 7138--gap: 10px; 7139 7140--horizontal-alignment: flex-start; --vertical-alignment: center; 7141--vertical-alignment-mobile: center; 7142 7143 --padding-block-start: 15px;--padding-block-end: 15px; 7144 " 7145 data-testid="section-content" 7146 > 7147 7148 <div id="shopify-block-AUzdNWGRDV3JPWllrc__judge_me_reviews_review_widget_JXpc6e" class="shopify-block shopify-app-block"> 7149 7150 7151<div style='clear:both'></div> 7152<div id='judgeme_product_reviews' 7153 class='jdgm-widget jdgm-review-widget' 7154 data-product-title='Strat-Style Kit' 7155 data-id='8793869025437' 7156 data-product-id='8793869025437' 7157 data-widget="review" 7158 data-shop-reviews="false" 7159 data-shop-reviews-count="13" 7160 data-cart-eligible-template="false" 7161 data-shop-average-rating="4.82" 7162 data-shop-review-count="56" 7163 data-empty-state="empty_widget" 7164 data-entry-point="review_widget.js" 7165 data-entry-key="review-widget/main.js" 7166 data-block-id="AUzdNWGRDV3JPWllrc__judge_me_reviews_review_widget_JXpc6e" 7167 data-customer-logged-in="false" 7168 7169 7170 style='max-width: 1200px; margin: 0 auto;'> 7171 7172 7173 7174 <div class='jdgm-legacy-widget-content' style='display: none;'> 7175 <div class='jdgm-rev-widg' data-updated-at='2026-08-15T01:14:39Z' data-average-rating='5.00' data-number-of-reviews='2' data-number-of-questions='0' data-image-url='https://cdn.shopify.com/s/files/1/0744/1177/0013/files/KIT_STRAT_SOLID_BODYSTRAT-Edit.jpg?v=1764625472'> <style class='jdgm-temp-hiding-style'>.jdgm-rev-widg{ display: none }</style> <div class='jdgm-rev-widg__header'> <h2 class='jdgm-rev-widg__title'>Customer Reviews</h2> <div class='jdgm-rev-widg__summary'> <div class='jdgm-rev-widg__summary-stars' aria-label='Average rating is 5.00 stars' role='img'> <span class='jdgm-star jdgm--on'></span><span class='jdgm-star jdgm--on'></span><span class='jdgm-star jdgm--on'></span><span class='jdgm-star jdgm--on'></span><span class='jdgm-star jdgm--on'></span> </div> <div class='jdgm-rev-widg__summary-text'>Based on 2 reviews</div> </div> <a style='display: none' href='#' class='jdgm-write-rev-link' role='button'>Write a review</a> <div class='jdgm-histogram jdgm-temp-hidden'> <div class='jdgm-histogram__row' data-rating='5' data-frequency='2' data-percentage='100'> <div class='jdgm-histogram__star' role='button' aria-label="100% (2) reviews with 5 star rating" tabindex='0' ><span class='jdgm-star jdgm--on'></span><span class='jdgm-star jdgm--on'></span><span class='jdgm-star jdgm--on'></span><span class='jdgm-star jdgm--on'></span><span class='jdgm-star jdgm--on'></span></div> <div class='jdgm-histogram__bar'> <div class='jdgm-histogram__bar-content' style='width: 100%;'> </div> </div> <div class='jdgm-histogram__percentage'>100%</div> <div class='jdgm-histogram__frequency'>(2)</div> </div> <div class='jdgm-histogram__row' data-rating='4' data-frequency='0' data-percentage='0'> <div class='jdgm-histogram__star' role='button' aria-label="0% (0) reviews with 4 star rating" tabindex='0' ><span class='jdgm-star jdgm--on'></span><span class='jdgm-star jdgm--on'></span><span class='jdgm-star jdgm--on'></span><span class='jdgm-star jdgm--on'></span><span class='jdgm-star jdgm--off'></span></div> <div class='jdgm-histogram__bar'> <div class='jdgm-histogram__bar-content' style='width: 0%;'> </div> </div> <div class='jdgm-histogram__percentage'>0%</div> <div class='jdgm-histogram__frequency'>(0)</div> </div> <div class='jdgm-histogram__row' data-rating='3' data-frequency='0' data-percentage='0'> <div class='jdgm-histogram__star' role='button' aria-label="0% (0) reviews with 3 star rating" tabindex='0' ><span class='jdgm-star jdgm--on'></span><span class='jdgm-star jdgm--on'></span><span class='jdgm-star jdgm--on'></span><span class='jdgm-star jdgm--off'></span><span class='jdgm-star jdgm--off'></span></div> <div class='jdgm-histogram__bar'> <div class='jdgm-histogram__bar-content' style='width: 0%;'> </div> </div> <div class='jdgm-histogram__percentage'>0%</div> <div class='jdgm-histogram__frequency'>(0)</div> </div> <div class='jdgm-histogram__row' data-rating='2' data-frequency='0' data-percentage='0'> <div class='jdgm-histogram__star' role='button' aria-label="0% (0) reviews with 2 star rating" tabindex='0' ><span class='jdgm-star jdgm--on'></span><span class='jdgm-star jdgm--on'></span><span class='jdgm-star jdgm--off'></span><span class='jdgm-star jdgm--off'></span><span class='jdgm-star jdgm--off'></span></div> <div class='jdgm-histogram__bar'> <div class='jdgm-histogram__bar-content' style='width: 0%;'> </div> </div> <div class='jdgm-histogram__percentage'>0%</div> <div class='jdgm-histogram__frequency'>(0)</div> </div> <div class='jdgm-histogram__row' data-rating='1' data-frequency='0' data-percentage='0'> <div class='jdgm-histogram__star' role='button' aria-label="0% (0) reviews with 1 star rating" tabindex='0' ><span class='jdgm-star jdgm--on'></span><span class='jdgm-star jdgm--off'></span><span class='jdgm-star jdgm--off'></span><span class='jdgm-star jdgm--off'></span><span class='jdgm-star jdgm--off'></span></div> <div class='jdgm-histogram__bar'> <div class='jdgm-histogram__bar-content' style='width: 0%;'> </div> </div> <div class='jdgm-histogram__percentage'>0%</div> <div class='jdgm-histogram__frequency'>(0)</div> </div> <div class='jdgm-histogram__row jdgm-histogram__clear-filter' data-rating=null tabindex='0'></div> </div> <div class='jdgm-rev-widg__sort-wrapper'></div> </div> <div class='jdgm-rev-widg__body'> <div class='jdgm-rev-widg__reviews'><div class='jdgm-rev jdgm-divider-top' data-verified-buyer='true' data-review-id='d7a59f7c-6dfb-49fd-9a7b-4d7f1295da31' data-review-language='' data-product-title='Strat-Style Kit' data-product-url='/products/strat-style-kit' data-thumb-up-count='0' data-thumb-down-count='0'> <div class='jdgm-rev__header'> <div class='jdgm-rev__icon' > K </div> <span class='jdgm-rev__rating' data-score='5' tabindex='0' aria-label='5
7175star review' role='img'> <span class='jdgm-star jdgm--on'></span><span class='jdgm-star jdgm--on'></span><span class='jdgm-star jdgm--on'></span><span class='jdgm-star jdgm--on'></span><span class='jdgm-star jdgm--on'></span> </span> <time class='jdgm-rev__timestamp jdgm-spinner' datetime='2026-01-18T16:26:49Z' data-content='2026-01-18 16:26:49 UTC'></time> <span class='jdgm-rev__pinned'></span> <div class='jdgm-rev__br'></div> <span class='jdgm-rev__buyer-badge-wrapper'> <span class='jdgm-rev__buyer-badge'></span> </span> <span class='jdgm-rev__author-wrapper'> <span class='jdgm-rev__author'>Kevin B</span> <span class='jdgm-rev__location' > </span> </span> </div> <div class='jdgm-rev__content'> <div class='jdgm-rev__custom-form'> </div> <b class='jdgm-rev__title'></b> <div class='jdgm-rev__body'><p>What a fantastic project! </p> 7176 7177<p>The model printed very clean and everything fit together perfectly.</p> 7178 7179<p>The build went very well, the instructions from the website were very easy to follow. The end result was beautiful!</p></div> <div class='jdgm-rev__pics'> <a class='jdgm-rev__pic-link jdgm--loading' target='_blank' rel='nofollow' href='https://review-images.judgeme.com/the-3d-print-zone/1768753761__1768753758302-strat3dprintkcb__original.png?quality=80&width=1024' data-mfp-src='https://review-images.judgeme.com/the-3d-print-zone/1768753761__1768753758302-strat3dprintkcb__original.png?quality=80&width=1024' aria-label='Kevin B review photo 1'> <img class='jdgm-rev__pic-img' alt='Kevin B review photo' data-src='https://review-images.judgeme.com/the-3d-print-zone/1768753761__1768753758302-strat3dprintkcb__original.png?quality=80&width=160'> </a> </div> <div class='jdgm-rev__vids'> </div> <div class='jdgm-rev__transparency-badge-wrapper'> <div class='jdgm-rev__transparency-badge' data-badge-type=review_collected_via_store_invitation></div> </div> </div> <div class='jdgm-rev__actions'> <div class='jdgm-rev__social'></div> <div class='jdgm-rev__votes'></div> </div> <div class='jdgm-rev__reply'> <div class='jdgm-rev__replier-wrapper'> <b class='jdgm-rev__replier'></b> </div> <div class='jdgm-rev__reply-content'><p>Hey Kevin, thank you so much for your review! Glad everything printed cleanly for you and fit together nicely! We try our best to provide helpful guide and tutorial, so I'm glad to hear they were easy for you to follow and resulted in a beautiful guitar! Happy printing, and rock on!</p></div> </div> </div><div class='jdgm-rev jdgm-divider-top' data-verified-buyer='false' data-review-id='740324bb-e532-4422-8a88-f3ce8881edd3' data-review-language='' data-product-title='Strat-Style Kit' data-product-url='/products/strat-style-kit' data-thumb-up-count='0' data-thumb-down-count='0'> <div class='jdgm-rev__header'> <div class='jdgm-rev__icon' > A </div> <span class='jdgm-rev__rating' data-score='5' tabindex='0' aria-label='5 star review' role='img'> <span class='jdgm-star jdgm--on'></span><span class='jdgm-star jdgm--on'></span><span class='jdgm-star jdgm--on'></span><span class='jdgm-star jdgm--on'></span><span class='jdgm-star jdgm--on'></span> </span> <time class='jdgm-rev__timestamp jdgm-spinner' datetime='2026-08-15T00:47:29Z' data-content='2026-08-15 00:47:29 UTC'></time> <div class='jdgm-rev__br'></div> <span class='jdgm-rev__buyer-badge-wrapper'> </span> <span class='jdgm-rev__author-wrapper'> <span class='jdgm-rev__author'>Andrew</span> <span class='jdgm-rev__location' > </span> </span> </div> <div class='jdgm-rev__content'> <div class='jdgm-rev__custom-form'> </div> <b class='jdgm-rev__title'></b> <div class='jdgm-rev__body'><p>Everything worked perfectly!! I made a small mistake mixing too much resin which overflowed and was a bit messy to clean up so be careful with that but otherwise this was such a fun project that turned out looking amazing!!</p></div> <div class='jdgm-rev__pics'> <a class='jdgm-rev__pic-link jdgm--loading' target='_blank' rel='nofollow' href='https://review-images.judgeme.com/the-3d-print-zone/1786754850__img_2837__original.jpeg?quality=80&width=1024' data-mfp-src='https://review-images.judgeme.com/the-3d-print-zone/1786754850__img_2837__original.jpeg?quality=80&width=1024' aria-label='Andrew review photo 1'> <img class='jdgm-rev__pic-img' alt='Andrew review photo' data-src='https://review-images.judgeme.com/the-3d-print-zone/1786754850__img_2837__original.jpeg?quality=80&width=160'> </a> </div> <div class='jdgm-rev__vids'> </div> <div class='jdgm-rev__transparency-badge-wrapper'> <div class='jdgm-rev__transparency-badge' data-badge-type=review_collected_from_store_visitor></div> </div> </div> <div class='jdgm-rev__actions'> <div class='jdgm-rev__social'></div> <div class='jdgm-rev__votes'></div> </div> <div class='jdgm-rev__reply'> <div class='jdgm-rev__replier-wrapper'> <b class='jdgm-rev__replier'></b> </div> <div class='jdgm-rev__reply-content'><p>Hi Andrew, thanks for sharing your experience! Your guitar came out stunning! Really nice job with the purple resin pour, it looks AWESOME!</p></div> </div> </div></div> <div class='jdgm-paginate' data-per-page='5' data-url='https://api.judge.me/reviews/reviews_for_widget' style="display: none;"></div> </div> <div class='jdgm-rev-widg__paginate-spinner-wrapper'> <div class='jdgm-spinner'></div> </div> </div> 7180 </div> 7181 7182 7183 7184 7185 7186 7187</div> 7188 7189 7190 7191 7192 7193 7194 7195 7196</div> 7197 7198 </div> 7199 </div> 7200</div> 7201 7202 7203 7204 7205 7206</div><div id="shopify-section-template--21357693436061__product_recommendations_qggXJq" class="shopify-section">
7207<script 7208 src="//the3dprintzone.com/cdn/shop/t/6/assets/product-recommendations.js?v=60554949707631910141772242764" 7209 type="module" 7210 fetchpriority="low" 7211></script>
7211 7212 7213 7214 7215<product-recommendations 7216 id="product-recommendations-template--21357693436061__product_recommendations_qggXJq" 7217 class="product-recommendations" 7218 data-url="/recommendations/products?limit=4" 7219 data-section-id="template--21357693436061__product_recommendations_qggXJq" 7220 data-product-id="8793869025437" 7221 data-intent="related" 7222 data-testid="product-recommendations-section" 7223 data-recommendations-performed="false" 7224 7225> 7226 <div class="section-background color-scheme-1"></div> 7227 <div 7228 class=" 7229 section 7230 section--page-width 7231 color-scheme-1 7232 section-resource-list 7233 spacing-style 7234 gap-style 7235 " 7236 style=" 7237 --padding-block-start: max(20px, calc(var(--spacing-scale) * 48px));--padding-block-end: max(20px, calc(var(--spacing-scale) * 48px)); 7238 --gap: max(24px, calc(var(--gap-scale, 1.0) * 28px)); 7239 --column-count-mobile: 2;--resource-list-column-gap-desktop: 12px;--resource-list-row-gap-desktop: 24px;--resource-list-columns: repeat(4, 1fr);--resource-list-columns-mobile: repeat(2, 1fr);--resource-list-column-gap-desktop: 12px;--column-count: 4;--column-count-mobile: 2; 7240 " 7241 > 7242 <div class="section-resource-list__content"> 7243 7244 7245 7246 7247 7248 7249 7250 7251 <div 7252 class=" spacing-style text-block text-block--AM1lGeWF3cFllR2JJb__text_cbcgyb h4 7253 7254 " 7255 7256 style=" 7257 --padding-block-start: 0px; --padding-block-end:0px; 7258--padding-inline-start:0px; --padding-inline-end:0px; 7259 7260 7261 7262 --width: fit-content; 7263 --max-width: var(--max-width--body-normal); 7264 7265 7266 " 7267 7268 7269> 7270 <h3>You may also like </h3> 7271 </div> 7272 7273 7274 7275 7276 7277 7278 7279 </div><div 7280 class="resource-list resource-list--grid" 7281 > 7282 7283 <div 7284 class="product-recommendations__skeleton-item" 7285 aria-label="Loading product recommendations" 7286 ></div> 7287 7288 <div 7289 class="product-recommendations__skeleton-item" 7290 aria-label="Loading product recommendations" 7291 ></div> 7292 7293 <div 7294 class="product-recommendations__skeleton-item" 7295 aria-label="Loading product recommendations" 7296 ></div> 7297 7298 <div 7299 class="product-recommendations__skeleton-item" 7300 aria-label="Loading product recommendations" 7301 ></div> 7302 7303 </div></div> 7304</product-recommendations> 7305 7306 7307 7308 7309</div> 7310 </main> 7311 7312 <!-- BEGIN sections: footer-group --> 7313<footer id="shopify-section-sections--20519603142813__footer_m9NzUG" class="shopify-section shopify-section-group-footer-group section-wrapper"> 7314 7315<div class="section-background color-scheme-1"></div> 7316<div 7317 class="section section--page-width color-scheme-1" 7318> 7319 7320 <div 7321 class=" 7322 footer-content 7323 spacing-style 7324 7325 7326 " 7327 style=" 7328 --padding-block-start: max(20px, calc(var(--spacing-scale) * 80px));--padding-block-end: max(20px, calc(var(--spacing-scale) * 50px)); 7329 --footer-gap: 20px; 7330 --grid-columns: 3; 7331 --last-row-count: 3; 7332 --tablet-last-row-count: 3; 7333 " 7334 > 7335 7336 7337 7338<div 7339 class=" 7340 group-block 7341 group-block--height-fit 7342 group-block--width-fill 7343 border-style 7344 spacing-style 7345 size-style 7346 7347 7348 " 7349 style=" 7350 --border-width: 1px; --border-style: none; --border-color: 7351rgb(var(--color-border-rgb) / 1.0); --border-radius: 73520px; 7353 7354 --padding-block-start: 0px;--padding-block-end: 0px;--padding-inline-start: 0px;--padding-inline-end: 0px; 7355 --size-style-width: 100%;--size-style-height: fit;--size-style-width-mobile: 100%; --size-style-width-mobile-min: 5rem; 7356 7357 " 7358 7359 data-testid="group-block" 7360><div class="group-block__media-wrapper"> 7361 7362 7363 7364 </div> 7365 7366 <div 7367 class=" 7368 group-block-content 7369 7370 layout-panel-flex 7371 layout-panel-flex--column 7372 mobile-column 7373 " 7374 style="--flex-direction: column; --flex-wrap: nowrap; --flex-wrap-mobile: wrap; 7375 7376--gap: 6px; 7377 7378--horizontal-alignment: flex-start; --vertical-alignment: center; 7379--vertical-alignment-mobile: center; 7380" 7381 > 7382 7383 7384 7385 7386 7387 7388 7389 7390 <div 7391 class=" spacing-style text-block text-block--AZkNwM1lqT2VLRE94e__text_LWt8Pz h4 7392 text-block--align-center 7393 " 7394 7395 style=" 7396 --padding-block-start: 0px; --padding-block-end:0px; 7397--padding-inline-start:0px; --padding-inline-end:0px; 7398 7399 7400--color: var(--color-foreground); 7401 --width: 100%; 7402 --max-width: var(--max-width--body-normal); 7403 7404 --text-align: center; 7405 7406 7407 " 7408 7409 7410> 7411 <h2>Have Questions?</h2> 7412 </div> 7413 7414 7415 7416 7417 7418 7419 7420</div> 7421</div> 7422 7423 7424 7425 7426 7427 7428 7429 7430<a 7431 7432 href="/pages/faq" 7433 7434 class=" 7435 size-style 7436 button-secondary 7437 button-secondary--AVUdHaytlYlNwa2c5d__button_BXih8X 7438 " 7439 style="--size-style-width:100%;--size-style-height: ; 7440 --size-style-width-mobile:100%; --size-style-width-mobile-min:100%;" 7441> 7442 Frequently Asked Questions 7443</a> 7444 7445 7446 7447 7448 7449 7450 7451 7452<a 7453 7454 href="/pages/contact" 7455 7456 class=" 7457 size-style 7458 button-secondary 7459 button-secondary--AWWpwejRob2R2bVpWU__button_w9NAxQ 7460 " 7461 style="--size-style-width:100%;--size-style-height: ; 7462 --size-style-width-mobile:100%; --size-style-width-mobile-min:100%;" 7463> 7464 Get in Touch 7465</a> 7466 7467 7468 7469 7470 7471 7472 </div> 7473</div> 7474 7475 7476 7477 7478</footer><div id="shopify-section-sections--20519603142813__footer_utilities_jLGE8U" class="shopify-section shopify-section-group-footer-group footer-utilities"> 7479 7480<div class="section-background color-scheme-1"></div> 7481<div 7482 class="section section--page-width color-scheme-1" 7483 7484> 7485 <div 7486 class="utilities spacing-style" 7487 style="--padding-block-start: max(20px, calc(var(--spacing-scale) * 25px));--padding-block-end: max(20px, calc(var(--spacing-scale) * 50px)); --border-width: 0px; --gap: 24px;" 7488 data-testid="footer-utilities" 7489 > 7490 7491 7492<div 7493 class=" 7494 footer-utilities__group-copyright 7495 custom-typography 7496 footer-utilities__text 7497 custom-font-size 7498 " 7499 style=" 7500--color: ;--font-size: 0.75rem; --font-weight: ;--font-family: ; --text-transform: none; --text-wrap: ; --line-height: var(--line-height--body-); --letter-spacing: var(--letter-spacing--body-);" 7501 7502> 7503 <span class="footer-utilities__text"> 7504 © 2026 7505 <a href="/" title="">The 3D Print Zone</a>, <a target="_blank" rel="nofollow" href="https://www.shopify.com?utm_campaign=p
7505oweredby&utm_medium=shopify&utm_source=onlinestore">Powered by Shopify</a> 7506</span> 7507</div> 7508 7509 7510 7511 7512 <anchored-popover-component 7513 class="footer-utilities__policy-list footer-utilities__text" 7514 data-hover-triggered="true" 7515 > 7516 <button 7517 class="policy-list-trigger button-unstyled" 7518 popovertarget="terms-policies-popover" 7519 popovertargetaction="toggle" 7520 ref="trigger" 7521 style=" 7522--color: ;--font-size: 0.75rem; --font-weight: ;--font-family: ; --text-transform: none; --text-wrap: ; --line-height: var(--line-height--body-); --letter-spacing: var(--letter-spacing--body-);" 7523 7524 > 7525 Terms and Policies 7526 </button> 7527 <div 7528 class="terms-policies-popover color-scheme-1" 7529 id="terms-policies-popover" 7530 popover="auto" 7531 ref="popover" 7532 > 7533 <ul 7534 class=" 7535 policy_list list-unstyled 7536 custom-typography 7537 custom-font-size 7538 " 7539 ><li> 7540 <a 7541 href="/policies/privacy-policy" 7542 class="footer-utilities__text" 7543 >Privacy policy</a> 7544 </li><li> 7545 <a 7546 href="/policies/terms-of-service" 7547 class="footer-utilities__text" 7548 >Terms of service</a> 7549 </li><li> 7550 <a 7551 href="/policies/contact-information" 7552 class="footer-utilities__text" 7553 >Contact information</a> 7554 </li><li> 7555 <a 7556 href="/policies/refund-policy" 7557 class="footer-utilities__text" 7558 >Refund policy</a> 7559 </li></ul> 7560 </div> 7561 </anchored-popover-component> 7562 7563 7564 7565 7566 7567 7568 7569<div 7570 class="social-icons__wrapper footer-utilities__icons" 7571 7572> 7573 7574 7575 7576 7577 7578 7579 7580 7581 <div 7582 class="social-icons__icon-wrapper" 7583 > 7584 <a 7585 href="https://www.facebook.com/the3dprintzone" 7586 target="_blank" 7587 rel="noopener noreferrer" 7588 aria-label="Facebook" 7589 7590 > 7591 <span class="social-icons__icon-label">Facebook</span> 7592 7593 <svg 7594 class="social-icons__icon" 7595 aria-hidden="true" 7596 focusable="false" 7597 xmlns="http://www.w3.org/2000/svg"
7598 viewBox="0 0 20 20" 7599 > 7600<path d="M18 10.049C18 5.603 14.419 2 10 2c-4.419 0-8 3.603-8 8.049C2 14.067 4.925 17.396 8.75 18v-5.624H6.719v-2.328h2.03V8.275c0-2.017 1.195-3.132 3.023-3.132.874 0 1.79.158 1.79.158v1.98h-1.009c-.994 0-1.303.621-1.303 1.258v1.51h2.219l-.355 2.326H11.25V18c3.825-.604 6.75-3.933 6.75-7.951Z" /></svg> 7601 7602 </a> 7603 </div> 7604 7605 7606 7607 7608 7609 7610 7611 7612 <div 7613 class="social-icons__icon-wrapper" 7614 > 7615 <a 7616 href="https://www.instagram.com/the3dprintzone/" 7617 target="_blank" 7618 rel="noopener noreferrer" 7619 aria-label="Instagram" 7620 7621 > 7622 <span class="social-icons__icon-label">Instagram</span> 7623 7624 <svg 7625 class="social-icons__icon" 7626 aria-hidden="true" 7627 focusable="false" 7628 xmlns="http://www.w3.org/2000/svg" 7629 viewBox="0 0 20 20" 7630 > 7631<path 7632 fill-rule="evenodd" 7633 d="M13.23 3.492c-.84-.037-1.096-.046-3.23-.046-2.144 0-2.39.01-3.238.055-.776.027-1.195.164-1.487.273a2.43 2.43 0 0 0-.912.593 2.486 2.486 0 0 0-.602.922c-.11.282-.238.702-.274 1.486-.046.84-.046 1.095-.046 3.23 0 2.134.01 2.39.046 3.229.004.51.097 1.016.274 1.495.145.365.319.639.602.913.282.282.538.456.92.602.474.176.974.268 1.479.273.848.046 1.103.046 3.238.046 2.134 0 2.39-.01 3.23-.046.784-.036 1.203-.164 1.486-.273.374-.146.648-.329.921-.602.283-.283.447-.548.602-.922.177-.476.27-.979.274-1.486.037-.84.046-1.095.046-3.23 0-2.134-.01-2.39-.055-3.229-.027-.784-.164-1.204-.274-1.495a2.43 2.43 0 0 0-.593-.913 2.604 2.604 0 0 0-.92-.602c-.284-.11-.703-.237-1.488-.273ZM6.697 2.05c.857-.036 1.131-.045 3.302-.045 1.1-.014 2.202.001 3.302.045.664.014 1.321.14 1.943.374a3.968 3.968 0 0 1 1.414.922c.41.397.728.88.93 1.414.23.622.354 1.279.365 1.942C18 7.56 18 7.824 18 10.005c0 2.17-.01 2.444-.046 3.292-.036.858-.173 1.442-.374 1.943-.2.53-.474.976-.92 1.423a3.896 3.896 0 0 1-1.415.922c-.51.191-1.095.337-1.943.374-.857.036-1.122.045-3.302.045-2.171 0-2.445-.009-3.302-.055-.849-.027-1.432-.164-1.943-.364a4.152 4.152 0 0 1-1.414-.922 4.128 4.128 0 0 1-.93-1.423c-.183-.51-.329-1.085-.365-1.943C2.009 12.45 2 12.167 2 10.004c0-2.161 0-2.435.055-3.302.027-.848.164-1.432.365-1.942a4.44 4.44 0 0 1 .92-1.414 4.18 4.18 0 0 1 1.415-.93c.51-.183 1.094-.33 1.943-.366Zm.427 4.806a4.105 4.105 0 1 1 5.805 5.805 4.105 4.105 0 0 1-5.805-5.805Zm1.882 5.371a2.668 2.668 0 1 0 2.042-4.93 2.668 2.668 0 0 0-2.042 4.93Zm5.922-5.942a.958.958 0 1 1-1.355-1.355.958.958 0 0 1 1.355 1.355Z" 7634 clip-rule="evenodd" 7635 /></svg> 7636 7637 </a> 7638 </div> 7639 7640 7641 7642 7643 7644 7645 7646 7647 <div 7648 class="social-icons__icon-wrapper" 7649 > 7650 <a 7651 href="https://www.youtube.com/@the3dprintzone" 7652 target="_blank" 7653 rel="noopener noreferrer" 7654 aria-label="Youtube" 7655 7656 > 7657 <span class="social-icons__icon-label">Youtube</span> 7658 7659 <svg 7660 class="social-icons__icon" 7661 aria-hidden="true" 7662 focusable="false" 7663 xmlns="http://www.w3.org/2000/svg"
7664 viewBox="0 0 20 20" 7665 > 7666<path d="M18.16 5.87c.34 1.309.34 4.08.34 4.08s0 2.771-.34 4.08a2.125 2.125 0 0 1-1.53 1.53c-1.309.34-6.63.34-6.63.34s-5.321 0-6.63-.34a2.125 2.125 0 0 1-1.53-1.53c-.34-1.309-.34-4.08-.34-4.08s0-2.771.34-4.08a2.173 2.173 0 0 1 1.53-1.53C4.679 4 10 4 10 4s5.321 0 6.63.34a2.173 2.173 0 0 1 1.53 1.53ZM8.3 12.5l4.42-2.55L8.3 7.4v5.1Z" /></svg> 7667 7668 </a> 7669 </div> 7670 7671 7672 7673 7674 7675 7676 7677 7678 <div 7679 class="social-icons__icon-wrapper" 7680 > 7681 <a 7682 href="https://www.tiktok.com/@the3dprintzone1" 7683 target="_blank" 7684 rel="noopener noreferrer" 7685 aria-label="Tiktok" 7686 7687 > 7688 <span class="social-icons__icon-label">Tiktok</span> 7689 7690 <svg 7691 class="social-icons__icon" 7692 aria-hidden="true" 7693 focusable="false" 7694 xmlns="http://www.w3.org/2000/svg" 7695 viewBox="0 0 20 20" 7696 > 7697<path d="M10.511 1.705h2.74s-.157 3.51 3.795 3.768v2.711s-2.114.129-3.796-1.158l.028 5.606A5.073 5.073 0 1 1 8.213 7.56h.708v2.785a2.298 2.298 0 1 0 1.618 2.205L10.51 1.705Z" /></svg> 7698 7699 </a> 7700 </div> 7701 7702 7703 7704 7705 7706 7707 7708 7709 7710 7711 7712 7713 7714 7715 7716 7717 7718 7719 7720 7721 7722 7723 7724 7725 7726 7727 7728 7729 7730 7731 7732 7733 7734 7735 7736 7737 7738 7739 7740 7741 7742 7743 7744 7745 7746 7747 7748 7749</div> 7750 7751 7752 7753 7754 7755 </div> 7756</div> 7757 7758 7759 7760 7761</div> 7762<!-- END sections: footer-group --> 7763 7764
7764<script 7765 src="//the3dprintzone.com/cdn/shop/t/6/assets/dialog.js?v=122984339961420548111772242764" 7766 type="module" 7767></script>
7767 7768 7769<dialog-component 7770 id="search-modal" 7771 class="search-modal" 7772 7773> 7774 <dialog 7775 ref="dialog" 7776 on:click="/closeDialogOnClickOutside" 7777 on:keydown="/closeDialogOnEscapePress" 7778 class="search-modal__content dialog-modal" 7779 scroll-lock 7780 aria-labelledby="search-modal-heading" 7781 > 7782 <h2 7783 id="search-modal-heading" 7784 class="visually-hidden" 7785 > 7786 Search 7787 </h2> 7788
7788<script 7789 src="//the3dprintzone.com/cdn/shop/t/6/assets/predictive-search.js?v=53445493388242646041772242764" 7790 type="module" 7791 fetchpriority="low" 7792></script>
7792 7793 7794<predictive-search-component 7795 class="predictive-search color-scheme-1" 7796 style="--product-corner-radius: 0px; --card-corner-radius: 4px;" 7797 data-section-id="predictive-search" 7798 data-testid="search-component--modal" 7799 role="search" 7800 aria-label="Search" 7801> 7802 <form 7803 action="/search" 7804 method="get" 7805 role="search" 7806 class="predictive-search-form" 7807 ref="form" 7808 on:keydown="/onSearchKeyDown" 7809 > 7810 <div 7811 class="predictive-search-form__header" 7812 > 7813 <div class="predictive-search-form__header-inner"> 7814 <label 7815 for="cmdk-input" 7816 class="visually-hidden" 7817 >Search</label> 7818 <input 7819 class="search-input" 7820 id="cmdk-input" 7821 type="search" 7822 name="q" 7823 role="combobox" 7824 aria-expanded="false" 7825 aria-owns="predictive-search-results" 7826 aria-controls="predictive-search-results" 7827 aria-haspopup="listbox" 7828 aria-autocomplete="list" 7829 autocomplete="off" 7830 placeholder="Search" 7831 ref="searchInput" 7832 on:input="/search" 7833 on:keydown="/onSearchKeyDown" 7834 > 7835 <input 7836 name="options[prefix]" 7837 type="hidden" 7838 value="last" 7839 > 7840 <span class="svg-wrapper predictive-search__icon"> 7841 <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="none"><circle cx="9" cy="9" r="4.75" stroke="currentColor" stroke-width="var(--icon-stroke-width)"/><path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="var(--icon-stroke-width)" d="m12.5 12.5 3.25 3.25"/></svg> 7842 7843 </span> 7844 <button 7845 type="button" 7846 class="button-unstyled predictive-search__reset-button" 7847 ref="resetButton" 7848 hidden 7849 on:click="/resetSearch" 7850 > 7851 Clear 7852 </button> 7853 </div> 7854 <button 7855 type="button" 7856 class="button predictive-search__close-modal-button" 7857 aria-label="Close dialog" 7858 on:click="dialog-component/closeDialog" 7859 ref="closeModalButton" 7860 > 7861 <span class="svg-wrapper"> 7862 <svg width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg"> 7863 <path d="M12 2L2 12" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round" stroke-linejoin="round"/> 7864 <path d="M12 12L2 2" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round" stroke-linejoin="round"/> 7865</svg> 7866 7867 </span> 7868 </button> 7869 </div> 7870 7871 <div class="predictive-search-form__content-wrapper"> 7872 <div 7873 class="predictive-search-form__content" 7874 tabindex="-1" 7875 ref="predictiveSearchResults" 7876 on:click="/handleModalClick" 7877 > 7878 7879 7880<div 7881 id="predictive-search-results" 7882 class="predictive-search-dropdown" 7883 role="listbox" 7884 aria-expanded="true" 7885 style="--color-shadow: rgb(var(--color-foreground-rgb) / 0.1);" 7886> 7887 7888</div> 7889 7890 </div> 7891 7892 <div class="predictive-search-form__footer"> 7893 <button 7894 class="button button-primary predictive-search__search-button" 7895 ref="viewAllButton" 7896 > 7897 View all 7898 </button> 7899 </div> 7900 </div> 7901 </form> 7902</predictive-search-component> 7903 7904 7905 7906 </dialog> 7907</dialog-component> 7908 7909 7910 7911 7912 7913 <quick-add-dialog id="quick-add-dialog"> 7914 <dialog 7915 class="quick-add-modal dialog-modal color-scheme-1" 7916 ref="dialog" 7917 scroll-lock 7918 > 7919 <button 7920 ref="closeButton" 7921 on:click="/closeDialog" 7922 class="button button-unstyled close-button quick-add-modal__close" 7923 aria-label="Close dialog" 7924 ><svg width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg"> 7925 <path d="M12 2L2 12" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round" stroke-linejoin="round"/> 7926 <path d="M12 12L2 2" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round" stroke-linejoin="round"/> 7927</svg> 7928</button> 7929 <div 7930 id="quick-add-modal-content" 7931 class="quick-add-modal__content" 7932 ></div> 7933 </dialog> 7934</quick-add-dialog> 7935 7936 7937 7938 7939 <link rel="preload" href="//the3dprintzone.com/cdn/shop/t/6/assets/splide.min.js?v=19699524928887460391772242764" as="script">
7939<script src="//the3dprintzone.com/cdn/shop/t/6/assets/splide.min.js?v=19699524928887460391772242764"></script>
7939 7940 7941 <style> /* Changes Judge.me Star Color to Black*/#judgeme_product_reviews {--jdgm-star-color: #000;} /* Syling Variant Selector Heading*/.variant-option--buttons legend {font-size: 11px; font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; color: #8a7c6e; margin-block-start: 8px;} </style> 7942<div id="shopify-block-AeGpQd29zZjlCRFI1U__16160716078332068383" class="shopify-block shopify-app-block">
7942<script 7943 type="text/javascript" 7944 defer 7945> 7946 (function () { 7947 7948 const queryString = window.location.search; 7949 const urlParams = new URLSearchParams(queryString); 7950 const debug = urlParams.get('debug') === 'true'; 7951 let insertedCustomCodeFiles = []; 7952 let theLatestVariantId = null; 7953 let setActiveMedia = false; 7954 let kachingVariantId = null; 7955 let latestMediaIdsToHide = []; 7956 let ignoreVariantIdEquality = false; 7957 let theLatestUnavailableVariantId = null; 7958 const initialVariantId = urlParams.get('variant') || null; 7959 7960 const dl = (...args) => { 7961 if (debug) { 7962 console.log(" ::: Rubik Logs ::: \n", ...args); 7963 } 7964 };const rubikRawSettings = {"dont_run_on_first_load":false,"scroll_to_the_top":false,"skip_initial_url_check":false,"over_limit_disabled":false}; 7965 const rubikThemeIdMappings = (rubikRawSettings && rubikRawSettings.theme_id_mappings) || {}; 7966 const rubikMappedThemeId = rubikThemeIdMappings[String(Shopify?.theme?.id ?? '')]; 7967 const themeStoreId = parseInt(rubikMappedThemeId) || Shopify?.theme?.theme_store_id || parseInt("2481"); 7968 dl("Theme:", themeStoreId); 7969 7970 let settings = {}; 7971 7972 settings = {"dont_run_on_first_load":false,"scroll_to_the_top":false,"skip_initial_url_check":false,"over_limit_disabled":false}; 7973 7974 7975 dl("Settings:", settings); 7976 7977 // dont_run_on_first_load means "only filter after the user actually interacts". 7978 // Skipping the first detectVariantChange call is not enough: themes and the 7979 // rubik-swatch can fire synthetic variant events while they initialize 7980 // (e.g. Impulse v9), so gate every update on a real user gesture instead. 7981 // isTrusted filters out script-dispatched events (theme auto-clicks etc.); 7982 // 'click' is included because screen readers can activate controls without 7983 // producing pointer or key events. 7984 // Reload-mode rubik-swatch stores deliver the user's variant click as a full 7985 // navigation (swatch.js handleVariantChange), so that interaction is handed 7986 // over via a short-lived sessionStorage marker â without it the destination 7987 // page would look like a cold load and never filter. 7988 let cameFromSwatchNavigation = false; 7989 try { 7990 const rawSwatchNav = sessionStorage.getItem('rubikSwatchNavigated'); 7991 sessionStorage.removeItem('rubikSwatchNavigated'); 7992 if (rawSwatchNav) { 7993 // Format: "<timestamp>|<destination pathname>" (pathname optional for 7994 // backward compatibility). The product-handle match stops a marker 7995 // orphaned by an aborted navigation from opening the gate on an 7996 // unrelated product page; comparing handles instead of full paths 7997 // tolerates locale/collection prefixes and redirects. 7998 const swatchNavSep = rawSwatchNav.indexOf('|'); 7999 const swatchNavTs = parseInt(swatchNavSep === -1 ? rawSwatchNav : rawSwatchNav.slice(0, swatchNavSep), 10); 8000 const swatchNavPath = swatchNavSep === -1 ? '' : rawSwatchNav.slice(swatchNavSep + 1); 8001 const extractProductHandle = (path) => ((path || '').match(/\/products\/([^/?#]+)/) || [])[1] || null; 8002 const swatchNavHandle = extractProductHandle(swatchNavPath); 8003 const currentHandle = extractProductHandle(window.location.pathname); 8004 const handleMatches = !swatchNavHandle || !currentHandle || swatchNavHandle === currentHandle; 8005 cameFromSwatchNavigation = !isNaN(swatchNavTs) && (Date.now() - swatchNavTs) < 120000 && handleMatches; 8006 } 8007 } catch (storageErr) { 8008 cameFromSwatchNavigation = false; 8009 } 8010 let userHasInteracted = settings?.dont_run_on_first_load !== true || cameFromSwatchNavigation; 8011 if (!userHasInteracted) { 8012 const interactionEvents = ['pointerdown', 'keydown', 'touchstart', 'click']; 8013 const markUserInteraction = (event) => { 8014 if (event.isTrusted !== true) { 8015 return; 8016 } 8017 userHasInteracted = true;
8018 interactionEvents.forEach((eventName) => { 8019 document.removeEventListener(eventName, markUserInteraction, true); 8020 }); 8021 }; 8022 interactionEvents.forEach((eventName) => { 8023 document.addEventListener(eventName, markUserInteraction, {capture: true, passive: true}); 8024 }); 8025 } 8026 8027 let optionsWithValues = {}; 8028 try { 8029 optionsWithValues = { 8030 8031 8032 8033 "4967367049373": "Alien", 8034 8035 8036 8037 "4988674146461": "Baseplate", 8038 8039 8040 8041 "4967367082141": "Circuits", 8042 8043 8044 8045 "4967367114909": "Epicenter", 8046 8047 8048 8049 "4967367245981": "Hex", 8050 8051 8052 8053 "4984454840477": "Hollow", 8054 8055 8056 8057 "14915717562542": "Honeycomb", 8058 8059 8060 8061 "4967367147677": "River", 8062 8063 8064 8065 "4967367180445": "Solid", 8066 8067 8068 8069 "4967367213213": "Spider", 8070 8071 8072 8073 "4967367278749": "Toolbox", 8074 8075 8076 8077 }; 8078 } catch (e) { 8079 dl('Error optionsWithValues:', e); 8080 optionsWithValues = {}; 8081 } 8082 8083 dl("optionsWithValues:", optionsWithValues); 8084 8085 const insertThemeCode = (fileUrl, callback) => { 8086 const script = document.createElement('script'); 8087 script.src = fileUrl; 8088 script.defer = true; 8089 script.onload = callback; 8090 document.body.appendChild(script); 8091 }; 8092 8093 const freeThemeIds = [887, 1567, 1368, 1356, 1841, 1431, 1500, 1363, 1864, 1499, 1434, 1891, 2699, 2738]; 8094 const horizonThemeIds = [2481, 3620, 3621, 3622, 3623, 3624, 3625, 3626, 3627, 3628];const themeFileUrlPerId = { 8095 796: "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/theme_debut.js", 8096 2881: "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/theme_satoshi.js", 8097 3365: "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/theme_primavera.js", 8098 2328: "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/theme_cello.js", 8099 939: "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/theme_beyond.js", 8100 2782: "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/theme_refine.js", 8101 3121: "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/theme_flux.js", 8102 3001: "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/theme_koto.js", 8103 1765: "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/theme_stretch.js", 8104 1667: "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/theme_avante.js", 8105 2073: "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/theme_area.js", 8106 623: "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/theme_testament.js", 8107 2186: "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/theme_maranello.js", 8108 1819: "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/theme_whisk.js", 8109 2629: "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/theme_tokyo.js", 8110 2240: "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/theme_next.js", 8111 691: "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/theme_california.js", 8112 859: "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/theme_cascade.js", 8113 865: "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/theme_avenue.js", 8114 2275: "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/theme_pesto.js", 8115 2366: "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/theme_essence.js", 8116 2852: "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/theme_pinnacle.js", 8117 2845: "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/theme_meka.js", 8118 1924: "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/theme_portland.js", 8119 2989: "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/theme_ascent.js", 8120 3094: "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/theme_nimbus.js", 8121 3070: "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/theme_eclipse.js", 8122 3051: "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/theme_boutique.js", 8123 1751: "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/theme_taiga.js", 8124 2566: "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/theme_veena.js", 8125 798: "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/theme_lorenza.js", 8126 732: "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/theme_canopy.js", 8127 903: "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/theme_highlight.js", 8128 568: "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/theme_symmetry.js", 8129 1949: "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/theme_fetch.js", 8130 2222: "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/theme_gem.js", 8131 1839: "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/theme_blum.js", 8132 1609: "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/theme_xtra.js", 8133 1608: "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/theme_athens.js", 8134 2063: "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/theme_charge.js", 8135 3027: "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/theme_ignite.js", 8136 606: "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/theme_blockshop.js", 8137 2896: "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/theme_outsiders.js", 8138 2630: "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/theme_retro.js", 8139 2870: "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/theme_madrid.js", 8140 1826: "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/theme_combine.js", 8141 2048: "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/theme_eurus.js", 8142 2515: "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/theme_monk.js", 8143 601: "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/theme_retina.js", 8144 1651: "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/theme_local.js", 8145 739: "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/theme_pipeline.js", 8146 871: "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/theme_warehouse.js", 8147 863: "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/theme_boost.js", 8148 2160: "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/theme_honey.js", 8149 777: "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/theme_palo_alto.js", 8150 1535: "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/theme_shapes.js", 8151 1615: "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/theme_yuva.js", 8152 1762: "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/theme_reformation.js", 8153 1918: "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/theme_abode.js", 8154 855: "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/theme_prestige.js", 8155 842: "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/theme_split.js", 8156 2412: "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/theme_concept.js", 8157 838: "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/theme_empire.js", 8158 2239: "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/theme_woodstock.js", 8159 1770: "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/theme_aurora.js", 8160 141: "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/theme_fashionopolism.js", 8161 714: "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/theme_focal.js", 8162 872: "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/theme_streamline.js", 8163 857: "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/theme_impulse.js", 8164 902: "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/theme_expanse.js", 8165 847: "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/theme_motion.js", 8166 2053: "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/theme_vision.js", 8167 2348: "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/theme_cornerstone.js", 8168 836: "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/theme_venue.js", 8169 1926: "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/theme_sahara.js", 8170 2698: "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/theme_release.js", 8171 801: "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/theme_flow.js", 8172 812: "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/theme_capital.js", 8173 868: "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/theme_broadcast.js", 8174 1190: "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/theme_impact.js", 8175 1818: "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/theme_mono.js", 8176 688: "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/theme_parallax.js", 8177 304: "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/theme_responsive.js", 8178 2285: "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/theme_vivid.js", 8179 566: "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/theme_atlantic.js", 8180 567: "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/theme_mrparker.js", 8181 725: "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/theme_kingdom.js", 8182 2539: "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/theme_digital.js", 8183 2821: "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/theme_sleek.js", 8184 686: "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/theme_icon.js", 8185 2358: "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/theme_toyo.js", 8186 2217: "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/theme_amber.js", 8187 687: "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/theme_showtime.js", 8188 411: "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/theme_envy.js", 8189 459: "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/theme_vantage.js", 8190 1399: "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/theme_beyours.js", 8191 2684: "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/theme_wonder.js", 8192 2702: "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/theme_paris.js", 8193 2482: "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/theme_essentials.js", 8194 2779: "https://cdn.shopify.com/extensions/01a11791-075f
8194-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/theme_luxe.js", 8195 1114: "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/theme_bullet.js", 8196 2948: "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/theme_king.js", 8197 2967: "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/theme_ultra.js", 8198 1611: "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/theme_zest.js", 8199 1979: "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/theme_mavon.js", 8200 885: "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/theme_express.js", 8201 230: "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/theme_expression.js", 8202 2316: "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/theme_minimalista.js", 8203 910: "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/theme_baseline.js", 8204 1657: "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/theme_enterprise.js", 8205 2619: "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/theme_shark.js", 8206 2138: "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/theme_berlin.js", 8207 735: "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/theme_district.js", 8208 2061: "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/theme_infinity.js", 8209 1581: "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/theme_habitat.js", 8210 918: "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/theme_foodie.js", 8211 2221: "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/theme_xclusive.js", 8212 2164: "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/theme_electro.js", 8213 765: "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/theme_maker.js", 8214 1654: "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/theme_pursuit.js", 8215 1966: "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/theme_align.js", 8216 2077: "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/theme_gain.js", 8217 730: "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/theme_brooklyn.js", 8218 677: "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/theme_showcase.js", 8219 2801: "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/theme_nordic.js", 8220 679: "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/theme_supply.js", 8221 2431: "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/theme_distinctive.js", 8222 2324: "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/theme_barcelona.js", 8223 3210: "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/theme_sanfrancisco.js", 8224 3247: "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/theme_hyper.js", 8225 3248: "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/theme_etheryx.js", 8226 1578: "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/theme_mode.js", 8227 2599: "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/theme_sitar.js", 8228 657: "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/theme_alchemy.js", 8229 3223: "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/theme_ascension.js", 8230 1460: "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/theme_north.js", 8231 1405: "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/theme_stockholm.js", 8232 3039: "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/theme_motto.js", 8233 3269: "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/theme_normcore.js", 8234 1621: "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/theme_stiletto.js", 8235 1907: "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/theme_marble.js", 8236 829: "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/theme_narrative.js", 8237 833: "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/theme_emerge.js", 8238 3177: "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/theme_master.js", 8239 1197: "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/theme_drop.js", 8240 2931: "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/theme_divine.js", 8241 2455: "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/theme_starlite.js", 8242 2717: "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/theme_energy.js", 8243 775: "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/theme_venture.
8243js", 8244 3533: "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/theme_lyra.js", 8245 3425: "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/theme_monochrome.js", 8246 3605: "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/theme_purity.js", 8247 3486: "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/theme_edge.js", 8248 3682: "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/theme_haven.js", 8249 2491: "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/theme_borders.js", 8250 864: "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/theme_story.js", 8251 3422: "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/theme_allure.js", 8252 2659: "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/theme_space.js", 8253 1829: "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/theme_creative.js", 8254 3341: "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/theme_futurer.js", 8255 2493: "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/theme_polyform.js", 8256 3745: "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/theme_supreme.js", 8257 3520: "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/theme_nova.js", 8258 3500: "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/theme_maya.js", 8259 3574: "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/theme_jasmine.js", 8260 2737: "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/theme_swipe.js", 8261 2264: "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/theme_unicorn.js", 8262 3802: "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/theme_z
8262yra.js", 8263 3872: "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/theme_zenith.js", 8264 3873: "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/theme_metro.js", 8265 3773: "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/theme_stockist.js", 8266 99990001: "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/theme_ella.js", 8267 99990002: "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/theme_shella.js", 8268 99990003: "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/theme_minimog.js", 8269 99990004: "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/theme_avone.js", 8270 99990005: "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/theme_shrinepro.js", 8271 99990006: "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/theme_beauty.js", 8272 99990007: "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/theme_shrine.js", 8273 99990008: "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/theme_hexo.js", 8274 99990009: "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/theme_ecomus.js", 8275 99990010: "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/theme_kalles.js", 8276 99990011: "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/theme_paradise.js", 8277 99990012: "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/theme_conrise.js", 8278 99990013: "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/theme_glozin.js", 8279 99990014: "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/theme_bohopastel.js", 8280 99990015: "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/theme_stunnalicious.js", 8281 99990016: "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/theme_speedfly.js", 8282 99990017: "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/theme_new99.js", 8283 99990018: "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/theme_comafashion.js", 8284 99990019: "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/theme_wpbingo.js", 8285 99990020: "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/theme_revive.js", 8286 99990021: "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/theme_eyezy.js", 8287 99990022: "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/theme_superstor.js", 8288 99990023: "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/theme_langshop.js", 8289 99990024: "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/theme_ornate.js", 8290 99990025: "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/theme_umino.js", 8291 99990026: "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/theme_simolux.js", 8292 99990027: "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/theme_debutify.js", 8293 99990028: "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/theme_olivia.js", 8294 99990029: "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/theme_unsen.js", 8295 99990030: "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/theme_vogal.js", 8296 99990031: "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/theme_gecko.js", 8297 99990032: "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/theme_pose.js", 8298 99990033: "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/theme_fastor.js", 8299 99990034: "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/theme_vendy.js", 8300 99990035: "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/theme_turbo.js", 8301 99990036: "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/theme_shopiweb.js", 8302 99990037: "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/theme_pandora.js", 8303 99990038: "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/theme_360and5.js", 8304 99990039: "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/theme_selfmade.js", 8305 99990040: "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/theme_airn.js", 8306 99990041: "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/theme_kalles.js", 8307 99990042: "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/theme_boom.js", 8308 99990043: "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/theme_gluck.js", 8309 99990044: "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/theme_molding.js", 8310 99990045: "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/theme_lemon.js", 8311 99990046: "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/theme_emillia.js", 8312 99990047: "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/theme_timzee.js", 8313 99990048: "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/theme_december.js", 8314 99990049: "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/theme_elixir.js", 8315 99990050: "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/theme_booster.js", 8316 99990051: "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/theme_alfinet.js", 8317 99990052: "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/theme_atlas.js", 8318 99990053: "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/theme_wedesigntech.js", 8319 99990054: "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/theme_star.js", 8320 99990055: "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/theme_bridey.js", 8321 99990056: "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/theme_sleepify.js", 8322 99990057: "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/theme_charry.js", 8323 99990058: "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/theme_rokan.js", 8324 99990059: "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/theme_kinderland.js", 8325 99990060: "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/theme_skeleton.js", 8326 99990061: "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/theme_steraengotheme.js", 8327 99990062: "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/theme_optimal.js", 8328 99990063: "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/theme_spacingtechbaggy.js", 8329 99990064: "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/theme_rosyz.js",
8330 99990065: "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/theme_milano.js", 8331 99990066: "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/theme_hongo.js", 8332 99990067: "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/theme_valoni.js", 8333 99990068: "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/theme_fullstack.js", 8334 99990069: "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/theme_astro.js", 8335 99990070: "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/theme_wokiee.js", 8336 99990071: "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/theme_cleanstatepro.js", 8337 99990072: "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/theme_syncer.js", 8338 99990073: "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/theme_voya.js", 8339 99990074: "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/theme_funika.js", 8340 99990075: "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/theme_kala.js", 8341 99990076: "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/theme_neilengotheme.js", 8342 99990077: "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/theme_engo.js", 8343 4090: "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/theme_seventh.js", 8344 2319: "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/theme_beautify.js", 8345 4032: "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/theme_pebble.js", 8346 851: "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/theme_galleria.js", 8347 99990078: "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/theme_launch.js", 8348 99990079: "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/theme_dagency.js", 8349 99990080: "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/theme_greenshift.js", 8350 2346: "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/theme_agile.js", 8351 99990081: "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/theme_ecomify.js", 8352 99990082: "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/theme_resade.js", 8353 99990083: "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/theme_abra.js", 8354 3313: "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/theme_luxury.js", 8355 4693: "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/theme_monogram.js", 8356 380: "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/theme_minimal.js", 8357 4133: "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/theme_sophie.js", 8358 99990084: "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/theme_xotiny.js", 8359 2010: "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/theme_champion.js", 8360 99990085: "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/theme_flex.js", 8361 4260: "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/theme_milano_brainecom.js", 8362 5010: "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/theme_soft.js", 8363 99990086: "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/theme_free.js", 8364 "rubikswiper": "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/custom_rubikswiper.js", 8365 "slick": "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/custom_slick.js", 8366 "xswiper": "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/custom_xswiper.js", 8367 "pwzrswiper": "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/custom_pwzrswiper.js", 8368 "pwzrswiperv2": "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/custom_pwzrswiperv2.js", 8369 "pwzrswiperv3": "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/custom_pwzrswiperv3.js", 8370 "flowswiper": "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/custom_flowswiper.js", 8371 "flowswiper2": "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/custom_flowswiper2.js", 8372 "flowswiper3": "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/custom_flowswiper3.js", 8373 "flowswiper4": "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/custom_flowswiper4.js", 8374 "slidercomponentheight": "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/custom_slidercomponentheight.js", 8375 "ecomswiper": "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/custom_ecomswiper.js", 8376 "ecomsplide": "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/custom_ecomsplide.js", 8377 "instantsliderswiper": "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/custom_instantsliderswiper.js", 8378 "tesbrosflickity": "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/custom_tesbrosflickity.js", 8379 "free": "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/custom_free.js", 8380 "expresstheme": "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/custom_expresstheme.js", 8381 "virtualswiper": "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/custom_virtualswiper.js", 8382 "impulse5ddb": "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/custom_impulse5ddb.js", 8383 "disablelazyloadonmediagallery": "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/custom_disablelazyloadonmediagallery.js", 8384 "gpcarousel": "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/custom_gpcarousel.js", 8385 "beaeslider": "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/custom_beaeslider.js", 8386 "beaeslider2": "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/custom_beaeslider2.js", 8387 "pagefly": "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/custom_pagefly.js", 8388 "impactold": "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/custom_impactold.js", 8389 "swatch": "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/custom_swatch.js", 8390 "swatch12": "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/custom_swatch12.js", 8391 "koaaworld": "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/custom_koaaworld.js", 8392 "modeonlinemellins": "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/custom_modeonlinemellins.js", 8393 "instantswiper": "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/custom_instantswiper.js", 8394 "owlcarousel": "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/custom_owlcarousel.js",
8395 "ohmygauze": "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/custom_ohmygauze.js", 8396 "impulseflickitywraparound": "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/custom_impulseflickitywraparound.js", 8397 "owlgempages": "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/custom_owlgempages.js", 8398 "legoslick": "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/custom_legoslick.js", 8399 "legoowl": "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/custom_legoowl.js", 8400 "dirtking": "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/custom_dirtking.js", 8401 "impulseoldslick": "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/custom_impulseoldslick.js", 8402 "chavelle": "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/custom_chavelle.js", 8403 "prestigeold": "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/custom_prestigeold.js", 8404 "hideimagecontainers": "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/custom_hideimagecontainers.js", 8405 "thesoulcareclub": "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/custom_thesoulcareclub.js", 8406 "bootink": "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/custom_bootink.js", 8407 "gempagesnew": "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/custom_gempagesnew.js", 8408 "broadcastscroll": "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/custom_broadcastscroll.js", 8409 "footballwallcharts": "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/custom_footballwallcharts.js", 8410 "lynx": "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/custom_lynx.js", 8411 "ivomouterwear": "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/custom_ivomouterwear.js", 8412 "shrineprodots": "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/custom_shrineprodots.js", 8413 "ecomposer": "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/custom_ecomposer.js", 8414 "mralexjewelry": "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/custom_mralexjewelry.js", 8415 "skykickz": "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/custom_skykickz.js", 8416 "bestsolarbundle": "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/custom_bestsolarbundle.js", 8417 "pillowhorizon": "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/custom_pillowhorizon.js", 8418 "foxify": "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/custom_foxify.js", 8419 "dropmagic": "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/custom_dropmagic.js", 8420 "replo": "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/custom_replo.js", 8421 "impactold2": "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/custom_impactold2.js", 8422 "peachtruck": "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/custom_peachtruck.js", 8423 "roomartde": "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/custom_roomartde.js", 8424 "hidearrowssimon": "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/custom_hidearrowssimon.js", 8425 "smind": "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/custom_smind.js", 8426 "swiperunclearnie": "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/custom_swiperunclearnie.js", 8427 "websensepro": "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/custom_websensepro.js",
8428 "engelkette": "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/custom_engelkette.js", 8429 "ssproductgallery": "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/custom_ssproductgallery.js", 8430 "tmxswiper": "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/custom_tmxswiper.js", 8431 "wedesigntech": "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/custom_wedesigntech.js", 8432 "homeurbanliving": "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/custom_homeurbanliving.js", 8433 "purvivlabs": "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/custom_purvivlabs.js", 8434 "cartbar": "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/custom_cartbar.js", 8435 "customily": "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/custom_customily.js", 8436 "panaclear": "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/custom_panaclear.js", 8437 "tidaltones": "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/custom_tidaltones.js", 8438 "bambelle": "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/custom_bambelle.js", 8439 "locomo": "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/custom_locomo.js", 8440 "materia": "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/custom_materia.js", 8441 "huegahhome": "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/custom_huegahhome.js", 8442 "davincivaporizer": "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/custom_davincivaporizer.js", 8443 "hoesjes": "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/custom_hoesjes.js", 8444 "shani": "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/custom_shani.js", 8445 "knitec": "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/custom_knitec.js", 8446 "powermix": "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/custom_powermix.js", 8447 "mercyandmore": "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/custom_mercyandmore.js", 8448 "laureldenise": "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/custom_laureldenise.js", 8449 "ecomify": "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/custom_ecomify.js", 8450 "zeta": "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/custom_zeta.js", 8451 "ventji": "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/custom_ventji.js", 8452 "majusuperfood": "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/custom_majusuperfood.js", 8453 "horizon_reorder": "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/custom_horizon_reorder.js", 8454 "nuvora": "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/custom_nuvora.js", 8455 "prestigeseemore": "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/custom_prestigeseemore.js", 8456 "pinkstork": "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/custom_pinkstork.js", 8457 "kanikouture": "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/custom_kanikouture.js", 8458 "magiczoomplus": "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/custom_magiczoomplus.js", 8459 "impulseswiper": "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/custom_impulseswiper.js", 8460 "hkitalia": "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/custom_hkitalia.js", 8461 "brownbear": "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/custom_brownbear.js",
8462 "featuredthumbnail": "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/custom_featuredthumbnail.js", 8463 "ecomorbit": "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/custom_ecomorbit.js", 8464 "ardorv5": "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/custom_ardorv5.js", 8465 "hyperfirstimage": "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/custom_hyperfirstimage.js", 8466 "nofirstloadscroll": "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/custom_nofirstloadscroll.js", 8467 "vsoproductinfo": "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/custom_vsoproductinfo.js", 8468 "norellecro": "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/custom_norellecro.js", 8469 "sfbuy": "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/custom_sfbuy.js", 8470 "plainjane": "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/custom_plainjane.js", 8471 "ecomwize": "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/custom_ecomwize.js", 8472 "dawngallery": "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/custom_dawngallery.js", 8473 "ereperez": "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/custom_ereperez.js", 8474 "immatgroup": "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/custom_immatgroup.js", 8475 "impactcategorized": "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/custom_impactcategorized.js", 8476 "lavari": "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/custom_lavari.js", 8477 "horizonswatch": "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/custom_horizon_swatch.js", 8478 }; 8479 8480 const themesWithoutContainers = [ 8481 ...freeThemeIds, ...horizonThemeIds, 99990001, 99990004, 3051, 2852, 2989, 2845, 1924, 3094, 2782, 1609, 3070, 2566, 99990002, 903, 798, 857, 568, 1190, 1657, 847, 714, 777, 1535, 2061, 801, 812, 2053, 732, 2821, 836, 910, 606, 725, 2160, 863, 1770, 2698, 2482, 1751, 1611, 1979, 99990003, 99990005, 99990006, 230, 2316, 1114, 99990007, 3365, 99990008, 99990009, 2138, 735, 1581, 918, 2221, 2366, 765, 1654, 2077, 730, 2275, 99990010, 865, 99990011, 99990012, 1762, 939, 99990013, 99990014, 99990015, 859, 99990016, 691, 2240, 99990017, 99990018, 99990019, 2629, 1819, 99990020, 99990021, 2186, 677, 623, 686, 99990022, 679, 99990023, 2073, 99990024, 2431, 3121, 99990025, 99990026, 2324, 99990027, 3210, 99990028, 99990029, 99990030, 99990031, 99990032, 99990033, 3247, 3248, 1667, 1765, 1578, 99990035, 2599, 657, 99990036, 1399, 1826, 3223, 1460, 871, 1405, 99990037, 99990038, 3039, 902, 3269, 141, 99990039, 2870, 99990040, 868, 1621, 99990041, 99990042, 99990043, 1907, 99990044, 99990045, 829, 99990046, 855, 99990047, 833, 2881, 3177, 99990048, 1197, 2931, 99990049, 2455, 99990050, 739, 99990051, 99990052, 2717, 99990053, 99990054, 99990055, 99990056, 88880001, 2239, 99990057, 775, 2348, 3533, 3425, 99990058, 99990059, 3486, 3682, 99990060, 2491, 99990061, 864, 3422, 2659, 1829, 3341, 99990062, 99990063, 2493, 3745, 3520, 2737, 99990064, 99990065, 99990066, 99990067, 99990068, 99990069, 99990070, 99990071, 99990072, 99990074, 99990075, 99990076, 99990077, 2264, 566, 4090, 2319, 3605, 796, 4032, 851, 99990078, 99990079, 99990080, 2346, 99990081, 99990082, 3500, 3773, 3574, 99990083, 3313, 4693, 380, 4133, 99990084, 2010, 99990085, 88880008, 4260, 5010, 99990086, 8482 ]; 8483
8484 const themeContainerClasses = { 8485 1839: ['.product-slideshow__thumb'], 8486 1608: ['.product-media-thumbnail'], 8487 3027: ['.product__media-item', '.product__media-item--active'], 8488 2063: ['.product-media-modal__thumbs a'], 8489 2896: ['.product-media-modal__content img'], 8490 2630: ['.product__media-item', '.product__media-item--active'], 8491 2515: ['.product__media-item', '.product__media-item--active'], 8492 2048: ['[id*="image-zoom-template--"]'], 8493 838: ['.product-gallery--media-thumbnail', '.product-gallery--media'], 8494 2412: ['.product__media'], 8495 601: ['.product-gallery__thumbnail'], 8496 1651: ['.thumbnail', '.product-gallery-item'], 8497 1843: ['.ML_Media_Gallery_Thumbnail', '.ml_nested_selection', '.ML_Media_Gallery_Viewer .hide'], 8498 1615: ['.yv-product-image-item', '.yv-product-slider-item.gallery-thumbs-item'], 8499 1926: ['.thumbnail-list__item'], 8500 872: ['.product__thumb-item'], 8501 842: ['.product-gallery-item', '.product-gallery__thumbnails.product-gallery__thumbnails-thumbnails .thumbnail'], 8502 1918: ['.product-media-modal__dialog img', '.product__media-item', '.thumbnail-list__item.slider__slide'], 8503 1818: ['.product__media-item'], 8504 2285: ['.thumbnail-list__item', '.product__media-item'], 8505 567: ['.thumbnail-list__item', '.product__media-item', '.product-media-container'], 8506 2358: ['.global-media-settings', '.product__media-item'], 8507 911: ['.product-thumbnails__item', '.product__media-item', '.lightbox__image', '.lightbox__image-nav-image'], 8508 2619: ['.product-media-popup-item', '.main-product-item'], 8509 2164: ['.product-slideshow__item', '.product-slideshow__thumb'], 8510 1966: ['.figure--square.figure--image'], 8511 2801: ['.product-media-modal__content img', '.product-media-modal__content deferred-media', '.product-media-modal__content .product-media-modal__model'], 8512 }; 8513 8514 const defaultContainerClasses = ['.product-single__thumbnails-item', '.thumbnail-list__item', '.product__media-item', '.product-image', '.global-media-settings',]; 8515 8516 const getThemeContainerClasses = (themeStoreId) => { 8517 if (themesWithoutContainers.includes(themeStoreId)) { 8518 return []; 8519 } 8520 return themeContainerClasses[themeStoreId] || defaultContainerClasses; 8521 }; 8522 8523 let themeHasCustomCode = false; 8524 if (themeStoreId && (themeFileUrlPerId[themeStoreId] || freeThemeIds.includes(themeStoreId) || horizonThemeIds.includes(themeStoreId))) { 8525 themeHasCustomCode = true; 8526 } 8527 8528 dl("Custom code:", themeHasCustomCode); 8529 8530 let disableThemeCode = false; 8531 if ("false" === 'true') { 8532 disableThemeCode = true; 8533 } 8534 8535 setTimeout(() => { 8536 if (typeof variantImageAutomator === 'function') { 8537 console.error('Variant Image Automator app is enabled it may conflict with Rubik'); 8538 } 8539 }, 1000); 8540 8541 let javascriptReady = false; 8542 if (themeHasCustomCode && !disableThemeCode) { 8543 let themeFileUrl = themeFileUrlPerId[themeStoreId]; 8544 if (!themeFileUrl) { 8545 if (freeThemeIds.includes(themeStoreId)) { 8546 themeFileUrl = "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/theme_free.js"; 8547 } else if (horizonThemeIds.includes(themeStoreId)) { 8548 themeFileUrl = "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/theme_horizon3.js"; 8549 } 8550 } 8551 dl("Inserting theme code:", themeFileUrl); 8552 8553 if (horizonThemeIds.includes(themeStoreId)) { 8554 const slideCount = document.querySelector('slideshow-component')?.style?.getPropertyValue('--slideshow-timeline')?.split(',').length || 0; 8555 // Only the media count is needed here. This used to dump the whole 8556 // product object again via a Liquid json filter; Liquid expands such a 8557 // tag server-side no matter what this JS condition evaluates to, so 8558 // every PDP on every theme shipped a second full copy of the product 8559 // payload (~72 KB on a 27-variant product) that only Horizon stores 8560 // ever read â and even they only read its media count. 8561 if (slideCount === 12) { 8562 themeFileUrl = "https://cdn.shopify.com/extensions/01a11791-075f-7ac9-97c8-c454852d8a00/rubik-variant-images-3469/assets/theme_horizon2.js"; 8563 dl("Horizon2"); 8564 } 8565 } 8566 8567 insertThemeCode(themeFileUrl, () => { 8568 javascriptReady = true; 8569 }); 8570 } 8571 8572 const waitForJavaScriptReady = (callback) => { 8573 const interval = setInterval(() => { 8574 if (javascriptReady) { 8575 clearInterval(interval); 8576 callback(); 8577 } 8578 }, 50); 8579 }; 8580 8581 const imageUrlToFilenameWithoutExtensionMain = (imageUrl) => { 8582 const imageName = imageUrl.split('/').pop(); 8583 return imageName.split('.').slice(0, -1).join('.'); 8584 }; 8585 8586 /* RUBIK_VI_FORMAT_START */ 8587 // The craftshift.variantImages metafield comes in two formats: the legacy 8588 // per-variant shape everything below reads, and the compact one (v: 2, 8589 // September 2026) that stores the assignment per option value instead of per 8590 // variant, keyed by ids that survive translation, renames and the 250-variant 8591 // cap of the page's product JSON. This turns the compact form into the legacy 8592 // shape; a legacy metafield passes through untouched. It is a copy of 8593 // App\Craftshift\VariantImages\VariantImagesMetafield::expand() in the server 8594 // repo, whose scripts/test-variant-images-format.mjs runs this very function 8595 // (extracted between the two markers) against the PHP writer's output: keep 8596 // the two identical. 8597 // values [{id, o, n, m}] configured option values: option value id, option 8598 // name, value name, media ids in the order they were assigned 8599 // variants {variantId: [valueId...]} the variant's configured values, in option order 8600 // files {mediaId: filename without extension} every product media 8601 // types {mediaId: typename} media that are not a MediaImage 8602 // common [mediaId] images present in every variant's list 8603 // emit the optional legacy keys to materialize (selectedImages, 8604 // mediaIdPerOptionValueId), as the shop's custom functions need them 8605 const rubikExpandVariantImages = (raw, productMedia) => { 8606 if (!raw || typeof raw !== 'object' || Number(raw.v) !== 2) { 8607 return raw; 8608 } 8609 const values = Array.isArray(raw.values) ? raw.values : [];
8610 const valuesById = {}; 8611 values.forEach((entry) => { 8612 if (entry && entry.id !== undefined && entry.id !== null) { 8613 valuesById[String(entry.id)] = entry; 8614 } 8615 }); 8616 const files = raw.files && typeof raw.files === 'object' ? raw.files : {}; 8617 const types = raw.types && typeof raw.types === 'object' ? raw.types : {}; 8618 const common = (Array.isArray(raw.common) ? raw.common : []).map(String); 8619 const isCommon = new Set(common); 8620 const emit = Array.isArray(raw.emit) ? raw.emit.map(String) : []; 8621 const filenameOf = (mediaId) => (files[mediaId] === undefined || files[mediaId] === null ? '' : String(files[mediaId])); 8622 8623 // A variant's images: the first list of its configured values, in its order 8624 // and with its duplicates, minus what any other list lacks, minus the commons. 8625 const imagesPerVariantId = {}; 8626 const mediaIdsPerVariantId = {}; 8627 const variants = raw.variants && typeof raw.variants === 'object' ? raw.variants : {}; 8628 Object.keys(variants).forEach((variantId) => { 8629 const lists = []; 8630 (Array.isArray(variants[variantId]) ? variants[variantId] : []).forEach((valueId) => { 8631 const entry = valuesById[String(valueId)]; 8632 if (entry && Array.isArray(entry.m) && entry.m.length > 0) { 8633 lists.push(entry.m.map(String)); 8634 } 8635 }); 8636 let result = []; 8637 if (lists.length > 0) { 8638 const others = lists.slice(1).map((list) => new Set(list)); 8639 result = lists[0].filter((mediaId) => others.every((set) => set.has(mediaId))); 8640 } 8641 result = result.filter((mediaId) => !isCommon.has(mediaId)); 8642 mediaIdsPerVariantId[variantId] = result; 8643 imagesPerVariantId[variantId] = result.map(filenameOf); 8644 }); 8645 8646 // imageUrls: every filename of the per-variant lists, then every configured 8647 // image that reached no list, common images excluded; first occurrence wins. 8648 const imageUrls = []; 8649 const seenFilenames = new Set(); 8650 const addFilename = (filename) => { 8651 if (!seenFilenames.has(filename)) { 8652 seenFilenames.add(filename); 8653 imageUrls.push(filename); 8654 } 8655 }; 8656 Object.keys(imagesPerVariantId).forEach((variantId) =>
8656 imagesPerVariantId[variantId].forEach(addFilename)); 8657 const configuredMediaIds = []; 8658 const seenMediaIds = new Set(); 8659 values.forEach((entry) => { 8660 (Array.isArray(entry.m) ? entry.m : []).forEach((rawMediaId) => { 8661 const mediaId = String(rawMediaId); 8662 if (isCommon.has(mediaId)) { 8663 return; 8664 } 8665 addFilename(filenameOf(mediaId)); 8666 if (!seenMediaIds.has(mediaId)) { 8667 seenMediaIds.add(mediaId); 8668 configuredMediaIds.push(mediaId); 8669 } 8670 }); 8671 }); 8672 8673 const mediaIdPerImage = {}; 8674 Object.keys(files).forEach((mediaId) => { 8675 mediaIdPerImage[filenameOf(mediaId)] = String(mediaId); 8676 }); 8677 8678 let selectedImages = []; 8679 if (emit.includes('selectedImages')) { 8680 const urlByMediaId = {}; 8681 (Array.isArray(productMedia) ? productMedia : []).forEach((media) => { 8682 if (media && media.id !== undefined && media.id !== null) { 8683 urlByMediaId[String(media.id)] = media.src || (media.preview_image && media.preview_image.src) || null; 8684 } 8685 }); 8686 selectedImages = {}; 8687 values.forEach((entry) => { 8688 const option = entry.o === undefined || entry.o === null ? '' : String(entry.o); 8689 const value = entry.n === undefined || entry.n === null ? '' : String(entry.n); 8690 if (!selectedImages[option]) { 8691 selectedImages[option] = {}; 8692 } 8693 selectedImages[option][value] = (Array.isArray(entry.m) ? entry.m : []).map((rawMediaId) => { 8694 const mediaId = String(rawMediaId); 8695 return { 8696 id: 'gid://shopify/' + (types[mediaId] || 'MediaImage') + '/' + mediaId, 8697 url: urlByMediaId[mediaId] === undefined ? null : urlByMediaId[mediaId] 8698 }; 8699 }); 8700 }); 8701 } 8702 8703 let mediaIdPerOptionValueId = []; 8704 if (emit.includes('mediaIdPerOptionValueId')) { 8705 mediaIdPerOptionValueId = {}; 8706 values.forEach((entry) => { 8707 if (entry && entry.id !== undefined && entry.id !== null && Array.isArray(entry.m) && entry.m.length > 0) { 8708 mediaIdPerOptionValueId[String(entry.id)] = String(entry.m[0]); 8709 } 8710 }); 8711 } 8712 8713 return { 8714 productId: raw.productId === undefined || raw.productId === null ? '' : String(raw.productId), 8715 imagesPerVariantId: imagesPerVariantId, 8716 selectedImages: selectedImages, 8717 imageUrls: imageUrls, 8718 mediaIdPerImage: mediaIdPerImage, 8719 mediaIdsPerVariantId: mediaIdsPerVariantId, 8720 configuredMediaIds: configuredMediaIds, 8721 mediaIdPerOptionValueId: mediaIdPerOptionValueId, 8722 commonMediaIds: common, 8723 featuredMediaIdPerVariantId: [] 8724 }; 8725 }; 8726 /* RUBIK_VI_FORMAT_END */ 8727 window.rubikExpandVariantImages = rubikExpandVariantImages; 8728 8729 let customFunctions = []; 8730 let storeHasCustomFunctions = false; 8731 8732 8733 dl("Custom functions", []); 8734 customFunctions = []; 8735 8736 8737 if (Array.isArray(customFunctions) && customFunctions.length > 0) { 8738 storeHasCustomFunctions = true; 8739 } 8740 8741 if (!storeHasCustomFunctions) { 8742 const pageFly = document.querySelector('.pf-main-media-wrapper'); 8743 if (pageFly) { 8744 customFunctions.push('pagefly'); 8745 storeHasCustomFunctions = true; 8746 } 8747 8748 const instant = document.querySelector('[data-instant-version]'); 8749 if (instant) { 8750 customFunctions.push('instantswiper'); 8751 storeHasCustomFunctions = true; 8752 } 8753 8754 const gemPages = document.querySelector('gp-product-images-v3') || document.querySelector('gp-product-images-v2') || document.querySelector('gp-product-images'); 8755 if (gemPages) { 8756 customFunctions.push('gempagesnew'); 8757 storeHasCustomFunctions = true; 8758 } 8759 8760 const dropMagic = document.querySelector('dm-product-hero-section#product-hero-section'); 8761 if (dropMagic) { 8762 customFunctions.push('dropmagic'); 8763 storeHasCustomFunctions = true; 8764 } 8765 8766 // Versio ("versio-smart-blocks") writes its own `vso_*` sections into the 8767 // theme, so the product page can be a Versio gallery on any theme id. 8768 const versio = document.querySelector('[data-vso-thumbn
8768ails]'); 8769 if (versio) { 8770 customFunctions.push('vsoproductinfo'); 8771 storeHasCustomFunctions = true; 8772 } 8773 8774 // EcomWize replaces the whole PDP with its own section, so its Swiper gallery 8775 // can show up on any theme id. 8776 const ecomWize = document.querySelector('[data-ecomwize-product-gallery]'); 8777 if (ecomWize) { 8778 customFunctions.push('ecomwize'); 8779 storeHasCustomFunctions = true; 8780 } 8781 8782 if (storeHasCustomFunctions) { 8783 dl("Custom functions:", customFunctions); 8784 } 8785 } 8786 8787 const findAlternativeVariantIdBySelectedOptionValueId = (optionValueId, productLiquid) => { 8788 dl("options:", optionsWithValues, optionValueId); 8789 8790 if (Object.keys(optionsWithValues).length === 0) { 8791 dl("No options"); 8792 return null; 8793 } 8794 if (optionsWithValues.hasOwnProperty(optionValueId) && productLiquid?.variants?.length > 0) { 8795 const selectedOptionValue = optionsWithValues[optionValueId]; 8796 const matchingVariant = productLiquid.variants.find(variant => 8797 variant?.option1 === selectedOptionValue 8798 ); 8799 if (matchingVariant) { 8800 return parseInt(matchingVariant.id); 8801 } 8802 } 8803 8804 return null; 8805 }; 8806 8807 const findAlternativeVariantIdBySelectedOptionValue = (optionValue, productLiquid) => { 8808 if (productLiquid?.variants?.length > 0) { 8809 const matchingVariant = productLiquid.variants.find(variant => 8810 variant?.option1 === optionValue 8811 ); 8812 if (matchingVariant) { 8813 return parseInt(matchingVariant.id); 8814 } 8815 } 8816 8817 return null; 8818 }; 8819 8820 const scrollToTop = () => { 8821 window.scrollTo(0, 0); 8822 document.documentElement.scrollTop = 0; 8823 document.body.scrollTop = 0; 8824 } 8825 8826 const initVariantImageHandler = (productLiquid) => { 8827 8828 try { 8829 8830 const runRubik = urlParams.get('run_rubik') === 'true'; 8831 dl("run_rubik param:", runRubik); 8832 8833 // Account disabled (over plan limit): kill all features regardless of run_rubik. 8834 if (settings?.over_limit_disabled === true) { 8835 dl("Rubik disabled: account is over its plan limit."); 8836 return; 8837 } 8838 8839 if ("true" !== 'true' && !runRubik) { 8840 dl("Rubik is not enabled."); 8841 return; 8842 } 8843 8844 if ("true" === 'true') { 8845 console.log("%cRubik Variant Images app is enabled", "color: #00ff00; font-size: 12px; font-weight: bold; background: #000; padding: 4px; border-radius: 5px;"); 8846 } 8847 8848 const stopRubik = urlParams.get('stop_rubik') === 'true'; 8849 8850 if (stopRubik) { 8851 dl("Rubik stopped."); 8852 return; 8853 } 8854 8855 dl("Product:", productLiquid); 8856 8857 const productMedia = productLiquid?.media; 8858 8859 8860 8861 8862 dl("No variant images"); 8863 return; 8864 8865 8866 if (!variantImages) { 8867 dl("No variant images. Exit"); 8868 return; 8869 } 8870 8871 let imageContainers = null; 8872 8873 imageContainers = []; 8874 8875 8876 let variantChangeSelectors = null; 8877 8878 variantChangeSelectors = []; 8879 8880 8881 const mediaPerVariant = variantImages?.imagesPerVariantId; 8882 const imageUrls = variantImages?.imageUrls; 8883 const mediaIdPerImage = variantImages?.mediaIdPerImage; 8884 const selectedImages = variantImages?.selectedImages; 8885 const configuredMediaIds = variantImages?.configuredMediaIds || []; 8886 const mediaIdsPerVariantId = variantImages?.mediaIdsPerVariantId; 8887 const mediaIdPerOptionValueId = variantImages?.mediaIdPerOptionValueId || {}; 8888 const commonMediaIds = variantImages?.commonMediaIds || []; 8889 const productId = variantImages?.productId || null; 8890 const featuredMediaIdPerVariantId = variantImages?.featuredMediaIdPerVariantId || {}; 8891 8892 if (productId !== null) { 8893 if (productLiquid.id.toString() !== productId) { 8894 dl("Product ID does not match. Exit"); 8895 return; 8896 } 8897 } else { 8898 try { 8899 const productVariantIds = productLiquid?.variants?.map(variant => variant.id); 8900 const mediaPerVariantIds = Object.keys(mediaPerVariant).map(id => parseInt(id)); 8901 const variantIdsInMediaPerVariant = productVariantIds.filter(id => mediaPerVariantIds.includes(id)); 8902 if (variantIdsInMediaPerVariant.length === 0) { 8903 dl("Product variant ids are not inside mediaPerVariant. Exit"); 8904 return; 8905 } 8906 } catch (e) { 8907 dl("Error checking product variant ids:", e); 8908 return; 8909 } 8910 } 8911 8912 // Vo Product Options (BCPO) rewrites the src of EVERY gallery image to the 8913 // selected variant's photo while its own replaceImage setting is on, so the 8914 // whole gallery â hero, lifestyle shots, everything â collapses into the same 8915 // repeated picture. updateProductImages turns that setting off, but it runs 8916 // too late while dont_run_on_first_load holds the gate shut
8916(and BCPO swaps 8917 // the images ~120-400ms after load), so the page load is lost to it. Defuse it 8918 // here instead: init runs for configured products regardless of the gate. 8919 // bcpo_settings is published by the app's own script, so keep looking briefly. 8920 const disableBcpoImageReplacement = () => { 8921 if (window?.bcpo_settings?.replaceImage !== 'on') { 8922 return false; 8923 } 8924 window.bcpo_settings.replaceImage = 'off'; 8925 dl("Vo Product Options - replaceImage is set to off."); 8926 return true; 8927 }; 8928 8929 if (!disableBcpoImageReplacement()) { 8930 let bcpoTries = 0; 8931 const bcpoTimer = setInterval(() => { 8932 if (disableBcpoImageReplacement() || ++bcpoTries > 50) { 8933 clearInterval(bcpoTimer); 8934 } 8935 }, 100); 8936 } 8937 8938 if ("false" === 'true') { 8939 dl("Hiding common images."); 8940 if (productMedia.length !== imageUrls.length) { 8941 productMedia.forEach(media => { 8942 const filenameWithoutExtension = imageUrlToFilenameWithoutExtensionMain(media.preview_image.src); 8943 if (!imageUrls.includes(filenameWithoutExtension)) { 8944 imageUrls.push(filenameWithoutExtension); 8945 dl("Image pushed to imageUrls:", filenameWithoutExtension); 8946 } 8947 8948 if (configuredMediaIds) { 8949 const mediaId = media.id.toString(); 8950 if (!configuredMediaIds.includes(mediaId)) { 8951 configuredMediaIds.push(mediaId); 8952 } 8953 } 8954 }); 8955 } 8956 } 8957 8958 if ("false" === 'true') { 8959 if (productMedia.length > 0) { 8960 productMedia.forEach(media => { 8961 const mediaId = media.id.toString(); 8962 if (!configuredMediaIds.includes(mediaId) && !commonMediaIds.includes(mediaId)) { 8963 configuredMediaIds.push(mediaId); 8964 } 8965 }); 8966 } 8967 } 8968 8969 dl("Media per variant:", mediaPerVariant); 8970 dl("Image URLs:", imageUrls); 8971 8972 const findCurrentVariantId = () => { 8973 let parsedValue = null; 8974 8975 const customVariantSelector = "none"; 8976 if (customVariantSelector !== 'none') { 8977 const customVariantId = none; 8978 if (customVariantId) { 8979 parsedValue = parseInt(customVariantId); 8980 if (!isNaN(parsedValue)) { 8981 dl("fcvi - Custom Variant ID:", parsedValue); 8982 return parsedValue; 8983 } 8984 } 8985 } 8986 8987 8988 const rubikSwatch = document?.querySelector('rubik-swatch'); 8989 if (rubikSwatch && rubikSwatch.offsetParent !== null) { 8990 const rubikSwatchDiv = rubikSwatch.shadowRoot?.querySelector('.rubik-swatch'); 8991 if (rubikSwatchDiv && rubikSwatchDiv.style.display !== 'none') { 8992 const rubikVariantId = rubikSwatchDiv.dataset?.rubikAlternativeVariantId || rubikSwatchDiv.dataset?.rubikVariantId; 8993 if (rubikVariantId && rubikVariantId !== 'null') { 8994 parsedValue = parseInt(rubikVariantId); 8995 if (!isNaN(parsedValue)) { 8996 dl("fcvi - RubikVariantId:", parsedValue); 8997 return parsedValue; 8998 } 8999 } 9000 } 9001 } 9002 9003 try { 9004 if (horizonThemeIds.includes(themeStoreId)) { 9005 9006 ignoreVariantIdEquality = false;
9007 9008 if (Object.keys(optionsWithValues).length > 0) { 9009 let currentSelectedOptionValues = document?.querySelector('variant-picker')?.selectedOptionsValues ?? []; 9010 if (currentSelectedOptionValues?.length > 0) { 9011 let unavailable = false; 9012 let currentSelectedOptions = currentSelectedOptionValues.map(id => optionsWithValues[id]); 9013 dl("hvi - selectedOptionsValues:", currentSelectedOptionValues, "mapped:", currentSelectedOptions); 9014 const hasUndefined = currentSelectedOptions.some(v => v === undefined); 9015 if (hasUndefined) { 9016 dl("hvi - WARNING: some option IDs not found in optionsWithValues. IDs:", currentSelectedOptionValues, "optionsWithValues keys:", Object.keys(optionsWithValues)); 9017 } 9018 let matchingVariant = productLiquid.variants.find( 9019 variant => areArraysEqual(variant.options, currentSelectedOptions) 9020 ); 9021 if (!matchingVariant) { 9022 const urlParams = new URLSearchParams(window.location.search); 9023 const urlVariantId = urlParams.get('variant'); 9024 if (urlVariantId) { 9025 const parsedUrlVariantId = parseInt(urlVariantId); 9026 if (!isNaN(parsedUrlVariantId)) {
9027 setActiveMedia = true; 9028 dl("hvi - Exact match failed, using variant from URL:", parsedUrlVariantId, "totalVariants:", productLiquid.variants?.length); 9029 return parsedUrlVariantId; 9030 } 9031 } 9032 } 9033 if (!matchingVariant) { 9034 matchingVariant = productLiquid.variants.find( 9035 variant => variant?.option1 === currentSelectedOptions[0] 9036 ); 9037 if (matchingVariant) { 9038 dl("hvi - matchingVariant (Unavailable):", matchingVariant); 9039 unavailable = true; 9040 } 9041 } 9042 if (matchingVariant?.id) {
9043 setActiveMedia = true; 9044 if (unavailable) { 9045 const mediaGallery = document.querySelector('media-gallery'); 9046 if (mediaGallery) { 9047 if (mediaGallery.hasAttribute('rubik')) { 9048 mediaGallery.removeAttribute('rubik'); 9049 } 9050 } 9051 dl("fcvi - hvi - Horizon - Unavailable Variant ID:", matchingVariant.id); 9052 ignoreVariantIdEquality = true; 9053 } else { 9054 dl("fcvi - hvi - Horizon - Available Variant ID:", matchingVariant.id); 9055 } 9056 9057 return matchingVariant.id; 9058 } 9059 } 9060 } 9061 9062 } 9063 } catch (e) { 9064 dl("Error in hvi:", e); 9065 } 9066 9067 if (customFunctions.includes('instantswiper')) { 9068 let instantVariantId = document.querySelector('[data-instant-action-id]')?.dataset?.instantActionVariantId; 9069 if (instantVariantId) { 9070 parsedValue = parseInt(instantVariantId); 9071 if (!isNaN(parsedValue)) { 9072 dl("fcvi - Instant Variant ID:", parsedValue); 9073 return parsedValue; 9074 } 9075 } 9076 } 9077 9078 if (themeStoreId === 99990003) { 9079 let minimogVariantId = document.querySelector('.m-main-product--info .main-product__block-buy_buttons product-form input[data-selected-variant]')?.value; 9080 if (minimogVariantId) { 9081 parsedValue = parseInt(minimogVariantId); 9082 if (!isNaN(parsedValue)) { 9083 dl("fcvi - Minimog Variant ID:", parsedValue); 9084 return parsedValue; 9085 } 9086 } 9087 } 9088 9089 if (themeStoreId === 1826) { 9090 let combineVariantId = document.querySelector('#product-form-installment input[type="hidden"][name="id"]')?.value; 9091 if (combineVariantId) { 9092 parsedValue = parseInt(combineVariantId); 9093 if (!isNaN(parsedValue)) { 9094 dl("fcvi - Combine Variant ID:", parsedValue); 9095 return parsedValue; 9096 } 9097 } 9098 } 9099 9100 if (themeStoreId === 99990036) { 9101 let shopiwebVariantId = parseInt(document.querySelector('#product-content form input[name="id"]').value); 9102 dl("fcvi - shopiwebVariantId:", shopiwebVariantId); 9103 return shopiwebVariantId; 9104 } 9105 9106 if (themeStoreId === 2629) { 9107 const variantRadios = document.querySelector('variant-radios'); 9108 if (variantRadios && variantRadios?.currentVariant === null) { 9109 const tokyoSelectedOptionValues = document.querySelector('variant-radios').getSelectedOptionValues(); 9110 if (tokyoSelectedOptionValues?.length > 0) { 9111 let tokyoCurrentSelectedOptionValue = tokyoSelectedOptionValues[0]; 9112 let tokyoVariantId = findAlternativeVariantIdBySelectedOptionValueId(tokyoCurrentSelectedOptionValue, productLiquid); 9113 if (tokyoVariantId) {
9114 setActiveMedia = true; 9115 return tokyoVariantId; 9116 } 9117 } 9118 } 9119 } 9120 9121 if (themeStoreId === 1762 && !document.querySelector('rubik-swatch')) { 9122 // Reformation leaves the add-to-cart form id and the ?variant= URL param on the 9123 // previous valid variant when the clicked option combo has no variant (it shows 9124 // UNAVAILABLE), and both also lag behind under rapid clicks. The checked option 9125 // inputs are the only source that always reflects the current selection, so 9126 // resolve the variant from them: exact match first, otherwise any variant with 9127 // the selected color so the gallery still switches to the clicked color. 9128 const reformationSelects = document.querySelector('variant-selects'); 9129 if (reformationSelects && productLiquid?.variants?.length > 0) { 9130 const reformationFieldsets = Array.from(reformationSelects.querySelectorAll('fieldset')); 9131 const reformationSelectedOptions = reformationFieldsets.map(fieldset => 9132 fieldset.querySelector('input[type="radio"]:checked, select')?.value ?? null 9133 ); 9134 if (reformationSelectedOptions.length > 0 && !reformationSelectedOptions.includes(null)) { 9135 const reformationExactMatch = productLiquid.variants.find(variant => 9136 areArraysEqual(variant.options, reformationSelectedOptions) 9137 ); 9138 if (reformationExactMatch?.id) {
9139 setActiveMedia = true; 9140 dl("fcvi - Reformation - Variant from checked options:", reformationExactMatch.id, reformationSelectedOptions); 9141 return parseInt(reformationExactMatch.id); 9142 } 9143 } 9144 const reformationColorFieldsetIndex = reformationFieldsets.findIndex(fieldset => 9145 ['color', 'colour'].includes(fieldset.dataset.handle) 9146 ); 9147 const reformationColorIndex = reformationColorFieldsetIndex !== -1 ? reformationColorFieldsetIndex : 0; 9148 const reformationSelectedColor = reformationSelectedOptions[reformationColorIndex]; 9149 if (reformationSelectedColor) { 9150 const reformationColorMatch = productLiquid.variants.find(variant => 9151 variant?.options?.[reformationColorIndex] === reformationSelectedColor 9152 ); 9153 if (reformationColorMatch?.id) {
9154 setActiveMedia = true; 9155 dl("fcvi - Reformation - Unavailable combo, variant from color option:", reformationColorMatch.id, reformationSelectedOptions); 9156 return parseInt(reformationColorMatch.id); 9157 } 9158 } 9159 } 9160 } 9161 9162 if (themeStoreId === 3313) { 9163 // Luxury writes the PREVIOUS variant id into ?variant= on every change 9164 // (verified on 3313: selecting Navy leaves Red's id in the URL, and it stays 9165 // exactly one selection behind forever). The generic "variant from URL" read 9166 // further down would therefore always resolve the previous colour, so the 9167 // gallery would lag one click behind. The PDP picker's checked inputs and the 9168 // add-to-cart form are both correct immediately, so resolve from those. 9169 // No rubik-swatch guard: when the swatch is visible fcvi already returned 9170 // above, and when it exists but is hidden the native picker IS the truth. 9171 const luxuryScope = document.querySelector('.main-product-container') || document; 9172 const luxuryPicker = luxuryScope.querySelector('variant-selector'); 9173 if (luxuryPicker && productLiquid?.variants?.length > 0) { 9174 const luxurySelectedOptions = Array.from(luxuryPicker.querySelectorAll('fieldset')).map( 9175 fieldset => fieldset.querySelector('input[type="radio"]:checked, select')?.value ?? null 9176 ); 9177 if (luxurySelectedOptions.length > 0 && !luxurySelectedOptions.includes(null)) { 9178 const luxuryExactMatch = productLiquid.variants.find(variant => 9179 areArraysEqual(variant.options, luxurySelectedOptions) 9180 ); 9181 if (luxuryExactMatch?.id) {
9182 setActiveMedia = true; 9183 dl("fcvi - Luxury - Variant from checked options:", luxuryExactMatch.id, luxurySelectedOptions); 9184 return parseInt(luxuryExactMatch.id); 9185 } 9186 // Combo has no variant (theme renders it as unavailable): fall back to 9187 // any variant carrying the selected first option so the gallery still 9188 // switches to the clicked colour. 9189 const luxuryFirstOptionMatch = productLiquid.variants.find(variant => 9190 variant?.options?.[0] === luxurySelectedOptions[0] 9191 ); 9192 if (luxuryFirstOptionMatch?.id) { 9193 setActiveMedia = true; 9194 dl("fcvi - Luxury - Unavailable combo, variant from first option:", luxuryFirstOptionMatch.id, luxurySelectedOptions); 9195 return parseInt(luxuryFirstOptionMatch.id); 9196 } 9197 } 9198 } 9199 const luxuryFormInput = luxuryScope.querySelector('input.product-variant-id, form[data-type="add-to-cart-form"] input[name="id"]'); 9200 if (luxuryFormInput?.value) { 9201 parsedValue = parseInt(luxuryFormInput.value); 9202 if (!isNaN(parsedValue)) { 9203 dl("fcvi - Luxury - Variant ID from add to cart form:", parsedValue); 9204 return parsedValue; 9205 } 9206 } 9207 } 9208 9209 if (themeStoreId === 5010) { 9210 // Soft fetches a section render on every option change and only THEN 9211 // rewrites ?variant=, input[name="id"] and the picker markup. Every generic 9212 // source below is therefore one selection behind at the moment the change 9213 // event fires; the picker's own selected option values are correct at once. 9214 const softShell = document.querySelector('pdp-product-shell[data-main-product="true"]') 9215 || document.querySelector('pdp-product-shell'); 9216 const softPicker = softShell?.querySelector('pdp-variant-selector'); 9217 if (softPicker && productLiquid?.variants?.length > 0) { 9218 const softGroups = Array.from(softPicker.querySelectorAll('.pdp-option')); 9219 const softSelectedOptions = softGroups.length > 0 9220 ? softGroups.map(group => 9221 group.querySelector('select')?.value 9222 ?? group.querySelector('input[type="radio"]:checked')?.value 9223 ?? null) 9224 : Array.from(softPicker.querySelectorAll('select, input[type="radio"]:checked')) 9225 .map(element => element.value ?? null); 9226 if (softSelectedOptions.length > 0 && !softSelectedOptions.includes(null)) { 9227 const softExactMatch = productLiquid.variants.find(variant => 9228 areArraysEqual(variant.options, softSelectedOptions) 9229 ); 9230 if (softExactMatch?.id) {
9231 setActiveMedia = true; 9232 dl("fcvi - Soft - Variant from picker options:", softExactMatch.id, softSelectedOptions); 9233 return parseInt(softExactMatch.id); 9234 } 9235 // Combo has no variant: still switch the gallery to the clicked first option. 9236 const softFirstOptionMatch = productLiquid.variants.find(variant => 9237 variant?.options?.[0] === softSelectedOptions[0] 9238 ); 9239 if (softFirstOptionMatch?.id) { 9240 setActiveMedia = true; 9241 dl("fcvi - Soft - Unavailable combo, variant from first option:", softFirstOptionMatch.id, softSelectedOptions); 9242 return parseInt(softFirstOptionMatch.id); 9243 } 9244 } 9245 } 9246 } 9247 9248 if (Shopify?.theme?.schema_name === 'Dawn' && Shopify?.theme?.schema_version === '12.0.0') { 9249 const variantRadios = document.querySelector('variant-radios'); 9250 if (variantRadios) { 9251 const currentVariant = variantRadios?.currentVariant; 9252 if (currentVariant === undefined) { 9253 if (Object.keys(optionsWithValues).length > 0) { 9254 let currentSelectedOptionValue = document.querySelector('variant-radios fieldset input:checked')?.value ?? null; 9255 if (Object.values(optionsWithValues).includes(currentSelectedOptionValue) && productLiquid?.variants?.length > 0) { 9256 const matchingVariant = productLiquid.variants.find(variant => 9257 variant?.option1 === currentSelectedOptionValue 9258 ); 9259 if (matchingVariant) {
9260 setActiveMedia = true; 9261 dl("Dawn12 - fcvi - Unavailable Variant ID:", matchingVariant.id); 9262 return parseInt(matchingVariant.id); 9263 } 9264 } 9265 } 9266 } 9267 } 9268 } 9269 9270 if (themeStoreId === 1399) { 9271 let addToCartForm = document.querySelector('.product form[method="post"][action="/cart/add"] input[type="hidden"][name="id"]'); 9272 if (addToCartForm && addToCartForm?.value) { 9273 parsedValue = parseInt(addToCartForm.value); 9274 if (!isNaN(parsedValue)) { 9275 dl("fcvi - Be Yours - Variant ID from add to cart form:", addToCartForm.value); 9276 return parsedValue; 9277 } 9278 } 9279 } 9280 9281 if (themeStoreId === 3486 && !document.querySelector('rubik-swatch')) { 9282 // Edge updates the ?variant= URL param ~0.6-1s after a NATIVE swatch click, but the 9283 // checked option inputs reflect the new selection within ~5ms. Read those directly 9284 // so the image swaps without waiting on the slow URL update (measured: ~1s -> ~0.1s). 9285 // Skip entirely when the Rubik swatch is the picker: it drives changes via the 9286 // rubik-variant-id-changed event, and an extra option-based detection here could 9287 // fire a second (wrong) update during the swatch's native-input sync. 9288 const edgeVariantSelects = document.querySelector('variant-selects, variant-radios'); 9289 if (edgeVariantSelects && productLiquid?.variants?.length > 0) { 9290 const edgeSelectedOptions = Array.from( 9291 edgeVariantSelects.querySelectorAll('fieldset input[type="radio"]:checked, fieldset select') 9292 ).map(el => el.value); 9293 if (edgeSelectedOptions.length > 0) { 9294 const edgeMatchingVariant = productLiquid.variants.find(variant => 9295 areArraysEqual(variant.options, edgeSelectedOptions) 9296 ); 9297 if (edgeMatchingVariant?.id) {
9298 setActiveMedia = true; 9299 dl("fcvi - Edge - Variant from checked options:", edgeMatchingVariant.id, edgeSelectedOptions); 9300 return parseInt(edgeMatchingVariant.id); 9301 } 9302 dl("fcvi - Edge - No exact variant match, falling back to URL:", edgeSelectedOptions); 9303 } 9304 } 9305 } 9306 9307 const kachingBundlesBlock = document.querySelector('kaching-bundles-block'); 9308 if (kachingBundlesBlock && !document.querySelector('rubik-swatch')) { 9309 // Kaching never rewrites ?variant= back to the initially rendered variant, so 9310 // the URL read below (and the 200ms urlPolling) resolves the previous colour 9311 // forever, flipping the gallery back after every correct render. The picker's 9312 // checked inputs and the real add-to-cart form stay correct â but NOT the 9313 // FIRST /cart/add form, which is the installment one Kaching never updates. 9314 const kachingFormInput = document.querySelector('form[data-type="add-to-cart-form"] input[name="id"]'); 9315 // Only read the picker when Kaching keeps it in sync: with 9316 // disableVariantOptionSync the theme picker is deliberately left alone, so its 9317 // checked inputs are not the truth. Scoped so a quick-view picker can't be read 9318 // instead, and only while visible (Kaching can hide the theme picker). 9319 const kachingSyncsPicker = !(kachingBundlesBlock.getAttribute('deal-block') || '') 9320 .includes('"disableVariantOptionSync":true'); 9321 const kachingPicker = kachingSyncsPicker 9322 ? (kachingFormInput?.closest('product-info, .product, main') || document) 9323 .querySelector('variant-radios, variant-selects, variant-picker') 9324 : null; 9325 if (kachingPicker && kachingPicker.offsetParent !== null && productLiquid?.variants?.length > 0) { 9326 const kachingSelectedOptions = Array.from( 9327 kachingPicker.querySelectorAll('fieldset input[type="radio"]:checked, fieldset select') 9328 ).map(el => el.value); 9329 if (kachingSelectedOptions.length > 0) { 9330 const kachingMatchingVariant = productLiquid.variants.find(variant => 9331 areArraysEqual(variant.options, kachingSelectedOptions) 9332 ); 9333 if (kachingMatchingVariant?.id) { 9334 dl("fcvi - Kaching - Variant from checked options:", kachingMatchingVariant.id, kachingSelectedOptions); 9335 return parseInt(kachingMatchingVariant.id); 9336 } 9337 } 9338 } 9339 if (kachingFormInput?.value) { 9340 parsedValue = parseInt(kachingFormInput.value); 9341 if (!isNaN(parsedValue)) { 9342 dl("fcvi - Kaching - Variant ID from add to cart form:", parsedValue); 9343 return parsedValue; 9344 } 9345 } 9346 } 9347 9348 try { 9349 const urlParams = new URLSearchParams(window.location.search); 9350 const variantFromUrl = urlParams.get('variant'); 9351 if (variantFromUrl) { 9352 parsedValue = parseInt(variantFromUrl); 9353 if (!isNaN(parsedValue)) { 9354 dl("fcvi - Variant from URL:", variantFromUrl); 9355 return parsedValue; 9356 } 9357 } 9358 9359 if (themeStoreId === 99990012) { 9360 let conriseVariantId = document.querySelector('.product-information-buy-buttons-row input')?.value; 9361 parsedValue = parseInt(conriseVariantId); 9362 if (!isNaN(parsedValue)) { 9363 dl("fcvi - Variant from Conrise:", conriseVariantId); 9364 return parsedValue; 9365 } 9366 } 9367 9368 let addToCartForm = document.querySelector('.product form[method="post"][action="/cart/add"] input[type="hidden"][name="id"]'); 9369 if (addToCartForm && addToCartForm?.value) { 9370 parsedValue = parseInt(addToCartForm.value); 9371 if (!isNaN(parsedValue)) { 9372 dl("fcvi - Variant ID from add to cart form:", addToCartForm.value); 9373 return parsedValue; 9374 } 9375 } 9376 9377 const variantSelector = document.querySelector('select[name="id"], input[name="id"]:checked'); 9378 if (variantSelector && variantSelector?.value) { 9379 parsedValue = parseInt(variantSelector.value); 9380 if (!isNaN(parsedValue)) { 9381 dl("fcvi - Variant selector:", variantSelector?.value); 9382 return parsedValue; 9383 } 9384 } 9385 9386 const firstVariantSelector = document.querySelector('select[name="id"] option, input[name="id"]'); 9387 if (firstVariantSelector && firstVariantSelector?.value) { 9388 parsedValue = parseInt(firstVariantSelector.value); 9389 if (!isNaN(parsedValue)) { 9390 const exists = productLiquid.variants.some(variant => variant.id === parsedValue); 9391 if (exists) { 9392 dl("fcvi - First variant selector:", firstVariantSelector); 9393 return parsedValue; 9394 } 9395 } 9396 } 9397 9398 const form = document.querySelector('form[method="post"][action="/cart/add"][data-type="add-to-cart-form"]'); 9399 if (form) { 9400 const input = form.querySelector('input[type="hidden"][name="id"]'); 9401 if (input && input?.value) { 9402 9403 parsedValue = parseInt(input.value); 9404 if (!isNaN(parsedValue)) { 9405 dl("fcvi - Variant ID from add to cart form (2):", input.value); 9406 return parsedValue; 9407 } 9408 } 9409 } 9410 9411 if (freeThemeIds.includes(themeStoreId) || themeStoreId === 99990006) { 9412 dl("optionsWithValues:", optionsWithValues); 9413 if (Object.keys(optionsWithValues).length > 0) { 9414 let currentSelectedOptionValue = document?.querySelector('variant-selects')?.selectedOptionValues?.[0] ?? null; 9415 dl("currentSelectedOptionValue:", currentSelectedOptionValue); 9416 const variantId = findAlternativeVariantIdBySelectedOptionValueId(currentSelectedOptionValue, productLiquid); 9417 if (variantId) {
9418 setActiveMedia = true; 9419 return variantId; 9420 } 9421 } 9422 } 9423 9424 if (productLiquid?.variants?.length > 0) { 9425 dl("fcvi - Returning first variant ID:", productLiquid.variants[0].id); 9426 return productLiquid.variants[0].id; 9427 } 9428 9429 dl("fcvi - Error: No variant id found."); 9430 9431 return null; 9432 9433 } catch (error) { 9434 dl("Error finding current variant ID:", error); 9435 return null; 9436 } 9437 }; 9438 9439 const toggleImageContainer = (imageElement, show) => { 9440 9441 if (disableThemeCode === true) { 9442 return; 9443 } 9444 9445 try { 9446 let containerClasses = getThemeContainerClasses(themeStoreId); 9447 9448 if (Array.isArray(imageContainers) && imageContainers.length > 0) { 9449 containerClasses = imageContainers; 9450 } 9451 9452 if (containerClasses.length === 0) { 9453 return; 9454 } 9455 9456 const container = containerClasses.reduce((found, className) => 9457 found || imageElement.closest(className), null); 9458 if (container) { 9459 container.style.display = show ? '' : 'none'; 9460 } 9461 } catch (error) { 9462 dl("Error toggling image container:", error); 9463 } 9464 }; 9465 9466 const extractFilename = (imageUrl) => { 9467 try { 9468 if (!imageUrl || typeof imageUrl !== 'string') { 9469 return ''; 9470 } 9471 const urlWithoutParams = imageUrl.split('?')[0]; 9472 const parts = urlWithoutParams.split('/'); 9473 if (parts.length === 0) { 9474 return ''; 9475 } 9476 const imageName = parts.pop() || ''; 9477 if (!imageName) { 9478 return ''; 9479 } 9480 const nameWithoutExtension = imageName.split('.').slice(0, -1).join('.'); 9481 const regex = /(_\d+x\d+)$/; 9482 return nameWithoutExtension.replace(regex, ''); 9483 } catch (error) { 9484 dl('Error in extractFilename:', error); 9485 return ''; 9486 } 9487 }; 9488 9489 const updateProductImages = (variantId, source = 'unknown') => { 9490 9491 if (!userHasInteracted) { 9492 dl(`[${source}] Skipped: dont_run_on_first_load is enabled and the user hasn't interacted yet.`); 9493 return; 9494 } 9495 9496 if (!variantId) { 9497 dl(`[${source}] Variant ID is null. Exiting.`); 9498 return; 9499 } 9500 9501 if (isNaN(variantId)) { 9502 dl(`[${source}] Variant ID is not numeric. Exiting.`); 9503 return; 9504 } 9505 9506 variantId = parseInt(variantId); 9507 9508 if (theLatestVariantId && variantId === theLatestVariantId) { 9509 if (ignoreVariantIdEquality === false) { 9510 return; 9511 } 9512 if (ignoreVariantIdEquality === true && theLatestUnavailableVariantId === variantId) { 9513 return; 9514 } 9515 } 9516 9517 dl(`[${source}] updateProductImages:`, variantId); 9518 9519 if (ignoreVariantIdEquality) { 9520 theLatestUnavailableVariantId = variantId; 9521 } 9522 9523 ignoreVariantIdEquality = false;
9524 theLatestVariantId = variantId; 9525 9526 try { 9527 9528 dl(`Updating images for variant ID: ${variantId}`); 9529 dl("Media per variant:", mediaPerVariant); 9530 9531 if (!mediaPerVariant.hasOwnProperty(variantId)) { 9532 dl('Variant ID not found in mediaPerVariant:', variantId); 9533 return; 9534 } 9535 9536 const variantImages = mediaPerVariant[variantId] || imageUrls; 9537 9538 let imagesToShow = []; 9539 let imagesToHide = []; 9540 9541 imageUrls.forEach(imageUrl => { 9542 if (variantImages.includes(imageUrl)) { 9543 imagesToShow.push(imageUrl); 9544 return; 9545 } else { 9546 imagesToHide.push(imageUrl); 9547 } 9548 const elementsToHide = Array.from(document.querySelectorAll('img')).filter(img => { 9549 let src = img.getAttribute('src'); 9550 if (src === null) { 9551 src = img.getAttribute('data-original'); 9552 } 9553 const regex = new RegExp(`/${imageUrl}(_\\d+x|[@.])`); 9554 return regex.test(src); 9555 }); 9556 elementsToHide.forEach(img => toggleImageContainer(img, false)); 9557 }); 9558 9559 variantImages.forEach(imageUrl => { 9560 let elementsToShow = Array.from(document.querySelectorAll('img')).filter(img => { 9561 let src = img.getAttribute('src'); 9562 if (src === null) { 9563 src = img.getAttribute('data-original'); 9564 } 9565 const regex = new RegExp(`/${imageUrl}(_\\d+x|[@.])`); 9566 return regex.test(src); 9567 }); 9568 elementsToShow.forEach(img => toggleImageContainer(img, true)); 9569 imagesToShow.push(imageUrl); 9570 }); 9571 9572 let mediaIdsToHide = []; 9573 imagesToHide.forEach(imageName => { 9574 if (mediaIdPerImage.hasOwnProperty(imageName)) { 9575 mediaIdsToHide.push(mediaIdPerImage[imageName]); 9576 } else { 9577 dl("Media ID not found for image:", imageName); 9578 } 9579 }); 9580 9581 imagesToShow = [...new Set(imagesToShow)]; 9582 imagesToHide = [...new Set(imagesToHide)]; 9583 mediaIdsToHide = [...new Set(mediaIdsToHide)]; 9584 9585 let featuredMediaId = null; 9586 if (theLatestVariantId) { 9587 try { 9588 if (featuredMediaIdPerVariantId[theLatestVariantId]) { 9589 featuredMediaId = parseInt(featuredMediaIdPerVariantId[theLatestVariantId]); 9590 } else { 9591 productLiquid.variants.forEac
9591h(variant => { 9592 if (variant.id === theLatestVariantId) { 9593 featuredMediaId = variant.featured_media?.id; 9594 } 9595 }); 9596 } 9597 } catch (error) { 9598 dl("Error getting featured media ID:", error); 9599 } 9600 } 9601 9602 if (configuredMediaIds && mediaIdsPerVariantId) { 9603 let mediaIdsToShow = mediaIdsPerVariantId?.[variantId] ?? []; 9604 let newMediaIdsToHide = []; 9605 if (mediaIdsToShow.length > 0) { 9606 configuredMediaIds.forEach(mediaId => { 9607 if (!mediaIdsToShow.includes(mediaId)) { 9608 newMediaIdsToHide.push(mediaId); 9609 } 9610 }); 9611 } else { 9612 newMediaIdsToHide = configuredMediaIds; 9613 } 9614 newMediaIdsToHide = [...new Set(newMediaIdsToHide)]; 9615 mediaIdsToHide = newMediaIdsToHide; 9616 } 9617 9618 if (mediaIdsToHide.length !== imagesToHide.length) { 9619 imagesToHide = Object.entries(mediaIdPerImage) 9620 .filter(([imageName, mediaId]) => mediaIdsToHide.includes(mediaId)) 9621 .map(([imageName]) => imageName); 9622 } 9623 9624 dl("params: Images to show:", imagesToShow); 9625 dl("params: Images to hide:", imagesToHide); 9626 dl("params: Media IDs to hide:", mediaIdsToHide); 9627 dl("params: Image Urls:", imageUrls); 9628 dl("params: Current selected variant ID:", theLatestVariantId); 9629 dl("params: Featured media ID:", featuredMediaId); 9630 dl("Disable theme code:", disableThemeCode); 9631 9632 disableBcpoImageReplacement(); 9633 9634 if (!featuredMediaId) {
9635 setActiveMedia = true; 9636 } 9637 9638 let customSliderSelector = null; 9639 9640 dl("Custom Slider Selector", ".product-gallery"); 9641 customSliderSelector = ".product-gallery"; 9642 9643 9644 let mainSliderSelector = null; 9645 9646 mainSliderSelector = "none"; 9647 if (mainSliderSelector === 'none') { 9648 mainSliderSelector = null; 9649 } 9650 9651 9652 let thumbSliderSelector = null; 9653 9654 thumbSliderSelector = "none"; 9655 if (thumbSliderSelector === 'none') { 9656 thumbSliderSelector = null; 9657 } 9658 9659 9660 let swatchCss = null; 9661 9662dl("Swatch CSS", "none"); 9663 swatchCss = "none"; 9664 9665 9666 const config = { 9667 customFunctions: customFunctions,
9668 setActiveMedia: setActiveMedia, 9669 imageUrls: imageUrls, 9670 extractFilename: extractFilename, 9671 customSliderSelector: customSliderSelector, 9672 mediaIdPerOptionValueId: mediaIdPerOptionValueId, 9673 swatchCss: swatchCss, 9674 thumbSliderSelector: thumbSliderSelector, 9675 mainSliderSelector: mainSliderSelector, 9676 imageContainers: imageContainers, 9677 variants: productLiquid?.variants, 9678 settings: settings 9679 } 9680 9681 if (themeHasCustomCode && !disableThemeCode) { 9682 waitForJavaScriptReady(() => { 9683 try { 9684 requestAnimationFrame(() => { 9685 9686 if (mediaIdsToHide?.length === 0) { 9687 dl('No media IDs to hide'); 9688 } 9689 9690 if (latestMediaIdsToHide.length > 0 && areArraysEqual(latestMediaIdsToHide, mediaIdsToHide) && !horizonThemeIds.includes(themeStoreId) && themeStoreId !== 2881) { 9691 dl('Media IDs to hide are the same. Exit'); 9692 return; 9693 } else { 9694 latestMediaIdsToHide = mediaIdsToHide; 9695 } 9696 executeThemeCode(dl, imagesToHide, imagesToShow, mediaIdsToHide, variantImages, mediaPerVariant, mediaIdPerImage, selectedImages, productMedia, featuredMediaId, theLatestVariantId, config); 9697 }); 9698 } catch (error) { 9699 dl("Error executeThemeCode:", error); 9700 } 9701 }); 9702 } 9703 9704 if (storeHasCustomFunctions) { 9705 if (Array.isArray(customFunctions) && customFunctions.length > 0) { 9706 storeHasCustomFunctions = true; 9707 customFunctions.forEach(customFunction => { 9708 try { 9709 const functionName = 'execute_' + customFunction; 9710 if (!insertedCustomCodeFiles.includes(customFunction)) { 9711 insertThemeCode(themeFileUrlPerId[customFunction], () => { 9712 const func = window[functionName]; 9713 if (typeof func === 'function') { 9714 dl("Executing custom function (1):", functionName); 9715 func(dl, imagesToHide, imagesToShow, mediaIdsToHide, variantImages, mediaPerVariant, mediaIdPerImage, selectedImages, productMedia, featuredMediaId, theLatestVariantId, config); 9716 } else { 9717 dl("Custom function not found:", functionName); 9718 } 9719 insertedCustomCodeFiles.push(customFunction); 9720 }); 9721 } else { 9722 dl("Custom function already inserted:", functionName); 9723 const func = window[functionName]; 9724 if (typeof func === 'function') { 9725 dl("Executing custom function (2):", functionName); 9726 func(dl, imagesToHide, imagesToShow, mediaIdsToHide, variantImages, mediaPerVariant, mediaIdPerImage, selectedImages, productMedia, featuredMediaId, theLatestVariantId, config); 9727 } else { 9728 dl("Custom function not found:", functionName); 9729 } 9730 } 9731 } catch (error) { 9732 dl("Error executing custom function: " + customFunction, error); 9733 } 9734 }); 9735 } 9736 } 9737 9738 if (settings?.scroll_to_the_top === true) { 9739 dl("Scrolling to the top"); 9740 scrollToTop(); 9741 } 9742 9743 } catch 9744 (error) { 9745 dl("Error updating product images:", error); 9746 } 9747 }; 9748 9749 const insertCustomCss = () => { 9750 9751const customCss = "none"; 9752 if (customCss === 'none') { 9753 dl("custom css is set to none. Exiting."); 9754 return; 9755 } 9756 const styleElement = document.createElement('style'); 9757 styleElement.type = 'text/css'; 9758 styleElement.textContent = customCss; 9759 document.head.appendChild(styleElement); 9760 dl("custom css inserted."); 9761 9762 }; 9763 9764 const detectVariantChange = () => { 9765 try { 9766 setTimeout(() => { 9767 let newVariantId = findCurrentVariantId(); 9768 let source = 'detectVariantChange'; 9769 if (kachingVariantId) { 9770 dl("Kaching variant ID:", kachingVariantId); 9771 newVariantId = kachingVariantId; 9772 kachingVariantId = null; 9773 source = 'kaching'; 9774 } 9775 if (newVariantId) { 9776 updateProductImages(newVariantId, source); 9777 } 9778 }, 100); 9779 } catch (error) { 9780 dl("Error detecting variant change:", error); 9781 } 9782 }; 9783 9784 const initVariantChangeDetection = () => { 9785 try { 9786 let selectorsArray = ['select', '.product__info-wrapper', '.panda-swatch', '.single-option-selector', 'label', '.swatches .swatch-selector', 'form[action="/cart/add"]', 'product-info', '.options-selection__option-swatch-wrapper', '.swatches__form--label', '.variant-options', '.image_change', '.product-variant__item', '.product-options__value', 'variant-radios', 'variant-picker', 'rubik-swatch', '.product-options']; 9787 9788 if (themeStoreId === 2061) { 9789 selectorsArray.push('.ic-screen-reader'); 9790 } 9791 9792 if (themeStoreId === 2348) { 9793 selectorsArray = ['[data-option-buttons][data-product-option="option1"] .product__color-swatch', '[data-option-buttons][data-product-option="option2"] .product__chip', '#option1', '#option2']; 9794 } 9795 9796 9797 if (themeStoreId === 3605) { 9798 selectorsArray = ['.color-swatch-label', '.text-swatch-label', 'input.variant-options']; 9799 } 9800 9801 if (themeStoreId === 2659) {
9802 selectorsArray = ['div[id^="js-options-template"] button[data-variant-id]']; 9803 } 9804 9805 if (themeStoreId === 2881) { 9806 selectorsArray = ['[role="radiogroup"] [role="radio"]']; 9807 } 9808 9809 if (themeStoreId === 3520) { 9810 selectorsArray = ['x-product-variant-picker', '.product-variant-picker__option-value input[type="radio"]']; 9811 } 9812 9813 if (themeStoreId === 5010) { 9814 // Soft replaces #variant_selector-{sectionId}.innerHTML on every change, 9815 // so listeners bound to the <select> die after the first switch. The shell 9816 // is never replaced and both click and change bubble up to it. 9817 selectorsArray.push('pdp-product-shell'); 9818 } 9819 9820 if (themeStoreId === 910) { 9821 selectorsArray.push('[data-variant-picker] input[type="radio"]', '[data-single-option-selector]', '.product-variant-picker-block label'); 9822 } 9823 9824 9825 if (Array.isArray(variantChangeSelectors) && variantChangeSelectors.length > 0) { 9826 selectorsArray = variantChangeSelectors; 9827 } 9828 9829 const rubikSwatchActive = !!document.querySelector('rubik-swatch'); 9830 if (rubikSwatchActive) { 9831 dl("rubik-swatch in DOM, using rubik-variant-id-changed event as primary source."); 9832 } 9833 9834 const variantChangeListener = rubikSwatchActive 9835 ? (e) => { 9836 if (window.rubikSwatchSyncing) { 9837 return; 9838 } 9839 detectVariantChange(); 9840 } 9841 : detectVariantChange; 9842 9843 const selectors = selectorsArray.length > 0 ? selectorsArray.join(',') : null; 9844 if (selectors) { 9845 document.querySelectorAll(selectors).forEach(element => { 9846 element.addEventListener("click", variantChangeListener); 9847 element.addEventListener("change", variantChangeListener); 9848 }); 9849 } 9850 setTimeout(() => { 9851 const kachingBundles = document.querySelector('kaching-bundles-block'); 9852 if (kachingBundles) { 9853 dl("kachingBundles detected."); 9854 kachingBundles.addEventListener('variant-selected', (event) => { 9855 dl("kachingBundles:variant-selected", event?.detail); 9856 const tempVariantId = event?.detail?.variantId; 9857 if (tempVariantId) { 9858 kachingVariantId = parseInt(tempVariantId); 9859 detectVariantChange(); 9860 } 9861 }); 9862 } 9863 }, 1000); 9864 9865 document.addEventListener('rubik-variant-id-changed', (event) => { 9866 dl("rubik-variant-id-changed", event?.detail); 9867 // cameFromSwatchNavigation: after a reload-mode swatch navigation 9868 // this initial dispatch IS the user's variant choice â let it 9869 // filter. A mere scroll/tap (userHasInteracted) must NOT admit 9870 // it: on themes with late swatch init this dispatch can arrive 9871 // long after load and would wrongly filter to the default variant. 9872 if (settings?.dont_run_on_first_load === true && event?.detail?.initialLoad === true && !cameFromSwatchNavigation) { 9873 dl("Skipping initial-load swatch event (dont_run_on_first_load)."); 9874 return; 9875 } 9876 const tempVariantId = event?.detail?.variantId; 9877 if (tempVariantId) { 9878 updateProductImages(tempVariantId, 'rubik-swatch-event'); 9879 } 9880 }); 9881 9882 if (customFunctions.includes('instantswiper')) { 9883 const element = document.querySelector('[data-instant-action-id][data-instant-action-variant-id]'); 9884 if (element) { 9885 let previousValue = element.dataset.instantActionVariantId; 9886 9887 const observer = new MutationObserver((mutations) => { 9888 mutations.forEach((mutation) => { 9889 if (mutation.type === 'attributes' && 9890 mutation.attributeName === 'data-instant-action-variant-id') { 9891 const currentValue = element.dataset.instantActionVariantId; 9892 if (currentValue !== previousValue) { 9893 console.log('Value changed from', previousValue, 'to', currentValue); 9894 detectVariantChange(); 9895 previousValue = currentValue; 9896 } 9897 } 9898 }); 9899 }); 9900 observer.observe(element, { 9901 attributes: true, 9902 attributeFilter: ['data-instant-action-variant-id'] 9903 }); 9904 } 9905 } 9906 } catch (error) { 9907 dl("Error initializing variant change detection:", error); 9908 } 9909 }; 9910 9911 const areArraysEqual = (arr1, arr2) => JSON.stringify(arr1) === JSON.stringify(arr2); 9912 initVariantChangeDetection(); 9913 9914 let runOnInitialLoad = true; 9915 9916 if (settings?.dont_run_on_first_load === true) { 9917 runOnInitialLoad = false;
9918 } 9919 9920 if (runOnInitialLoad) { 9921 detectVariantChange(); 9922 } 9923 9924 insertCustomCss(); 9925 9926 const checkVariantChange = () => { 9927 const rubikSwatchEl = document.querySelector('rubik-swatch'); 9928 if (rubikSwatchEl && rubikSwatchEl.offsetParent !== null) { 9929 const rubikSwatchInner = rubikSwatchEl.shadowRoot?.querySelector('.rubik-swatch'); 9930 if (rubikSwatchInner && rubikSwatchInner.style.display !== 'none') { 9931 return; 9932 } 9933 } 9934 if ("false" === 'true') { 9935 dl('Variant URL detection is disabled.'); 9936 return; 9937 } 9938 const urlParams = new URLSearchParams(window.location.search); 9939 let variantFromUrl = urlParams.get('variant'); 9940 9941 if (settings?.skip_initial_url_check === true) { 9942 dl("Skipping initial URL check."); 9943 updateProductImages(variantFromUrl, 'urlPolling-skipInitial'); 9944 return; 9945 } 9946 9947 if (variantFromUrl !== initialVariantId) { 9948 // Reformation (1762) keeps the ?variant= URL on the previous valid variant when 9949 // the selected option combo has no variant, so trusting the raw URL here reverts 9950 // the gallery to the previous color ~200ms after the correct render. Re-resolve 9951 // through findCurrentVariantId (checked option inputs) like Horizon themes do. 9952 // Luxury (3313) has the same stale-?variant= behaviour: the URL is always one 9953 // selection behind, so polling on the raw URL would revert the gallery to the 9954 // previous colour ~200ms after the correct render. 9955 // Kaching Bundles stores behave the same way on ANY theme. 9956 if (horizonThemeIds.includes(themeStoreId) || themeStoreId === 1762 || themeStoreId === 3313 9957 || document.querySelector('kaching-bundles-block')) { 9958 variantFromUrl = findCurrentVariantId(); 9959 } 9960 updateProductImages(variantFromUrl, 'urlPolling'); 9961 } else if ([801, 3070, 3605, 812, 99990060, 1751, 2659, 2881, 1190, 99990049, 910, 4090, 3341, 1926, 2821].includes(themeStoreId) && variantFromUrl) { 9962 updateProductImages(variantFromUrl, 'urlPolling-themeSpecific'); 9963 } 9964 }; 9965 setInterval(checkVariantChange, 200); 9966 } catch 9967 (error) { 9968 dl("Error initializing:", error); 9969 } 9970 }; 9971 9972 document.addEventListener('DOMContentLoaded', () => { 9973 initVariantImageHandler({"id":8793869025437,"title":"Strat-Style Kit","handle":"strat-style-kit","description":"\u003cstyle\u003e\n .help-links__text {\n font-size: 13px;\n color: #767676;\n margin: 15px 0 4px;\n }\n .help-links__break { display: none; }\n .help-links__cc {\n margin-top: 16px;\n border-top: 1px solid #E8E2D8;\n padding-top: 12px;\n }\n .help-links__cc-summary {\n cursor: pointer;\n font-weight: 700;\n font-size: 13.5px;\n color: #2B2B2B;\n list-style: none;\n display: flex;\n align-items: center;\n gap: 6px;\n }\n .help-links__cc-text {\n font-size: 13px;\n color: #767676;\n margin-top: 8px;\n }\n @media (max-width: 680px) {\n .help-links__text { text-align: center; }\n .help-links__break { display: block; margin-top: 4px; }\n .help-links__cc { text-align: center; }\n .help-links__cc-summary { justify-content: center; }\n }\n\u003c\/style\u003e\n\n\u003cp class=\"help-links__text\"\u003e\n Need more help?\n \u003cspan class=\"help-links__break\"\u003e\u003c\/span\u003e\n \u003ca href=\"https:\/\/the3dprintzone.com\/pages\/guides\"\u003eGuides\u003c\/a\u003e · \n \u003ca href=\"https:\/\/the3dprintzone.com\/pages\/faq\"\u003eFAQ\u003c\/a\u003e · \n \u003ca href=\"https:\/\/the3dprintzone.com\/pages\/guitar-gallery\"\u003eGuitar Gallery\u003c\/a\u003e · \n \u003ca href=\"https:\/\/the3dprintzone.com\/pages\/contact\"\u003eContact Us\u003c\/a\u003e\n\u003c\/p\u003e\n\u003cdetails class=\"help-links__cc\"\u003e\n \u003csummary class=\"help-links__cc-summary\"\u003e\n \u003cspan style=\"display: inline-block; transition: transform 0.2s;
9973\"\u003eâ¶\u003c\/span\u003e\n Creative Commons\n \u003c\/summary\u003e\n \u003cp class=\"help-links__cc-text\"\u003e\n No commercial use. You may not share, distribute, sell, donate, or exchange the digital files or any printed guitar parts\/guitars.\n \u003c\/p\u003e\n\u003c\/details\u003e","published_at":"2025-12-01T16:41:48-05:00","created_at":"2025-12-01T16:41:48-05:00","vendor":"The 3D Print Zone","type":"Body","tags":["Body","Kit","Strat"],"price":5900,"price_min":5900,"price_max":5900,"available":true,"price_varies":false,"compare_at_price":4900,"compare_at_price_min":4900,"compare_at_price_max":4900,"compare_at_price_varies":false,"variants":[{"id":47457062617245,"title":"Alien","option1":"Alien","option2":null,"option3":null,"sku":null,"requires_shipping":true,"taxable":true,"featured_image":{"id":41182054776989,"product_id":8793869025437,"position":2,"created_at":"2025-12-01T16:42:27-05:00","updated_at":"2025-12-01T16:44:32-05:00","alt":"Modular 3D printed Strat-Style guitar kit with alien pattern","width":1920,"height":1080,"src":"\/\/the3dprintzone.com\/cdn\/shop\/files\/KIT_STRAT_ALIEN_BODYSTRAT-Edit.jpg?v=1764625472","variant_ids":[47457062617245]},"available":true,"name":"Strat-Style Kit - Alien","public_title":"Alien","options":["Alien"],"price":5900,"weight":454,"compare_at_price":4900,"inventory_management":null,"barcode":null,"featured_media":{"alt":"Modular 3D printed Strat-Style guitar kit with alien pattern","id":32507604631709,"position":2,"preview_image":{"aspect_ratio":1.778,"height":1080,"width":1920,"src":"\/\/the3dprintzone.com\/cdn\/shop\/files\/KIT_STRAT_ALIEN_BODYSTRAT-Edit.jpg?v=1764625472"}},"requires_selling_plan":false,"selling_plan_allocations":[],"quantity_rule":{"min":1,"max":null,"increment":1}},{"id":47481122783389,"title":"Baseplate","option1":"Baseplate","option2":null,"option3":null,"sku":null,"requires_shipping":true,"taxable":true,"featured_image":{"id":41211655389341,"product_id":8793869025437,"position":3,"created_at":"2025-12-14T19:52:04-05:00","updated_at":"2025-12-14T20:01:13-05:00","alt":"Modular 3D printed Strat-Style guitar kit with lego compatible building brick pattern","width":1920,"height":1080,"src":"\/\/the3dprintzone.com\/cdn\/shop\/files\/KIT_STRAT_BASEPLATE_BODYSTRAT-Edit.jpg?v=1765760473","variant_ids":[47481122783389]},"available":true,"name":"Strat-Style Kit - Baseplate","public_title":"Baseplate","options":["Baseplate"],"price":5900,"weight":454,"compare_at_price":4900,"inventory_management":null,"barcode":null,"featured_media":{"alt":"Modular 3D printed Strat-Style guitar kit with lego compatible building brick pattern","id":32536801673373,"position":3,"preview_image":{"aspect_ratio":1.778,"height":1080,"width":1920,"src":"\/\/the3dprintzone.com\/cdn\/shop\/files\/KIT_STRAT_BASEPLATE_BODYSTRAT-Edit.jpg?v=1765760473"}},"requires_selling_plan":false,"selling_plan_allocations":[],"quantity_rule":{"min":1,"max":null,"increment":1}},{"id":47457062650013,"title":"Circuits","option1":"Circuits","option2":null,"option3":null,"sku":null,"requires_shipping":true,"taxable":true,"featured_image":{"id":41182054842525,"product_id":8793869025437,"position":4,"created_at":"2025-12-01T16:42:27-05:00","updated_at":"2025-12-14T20:01:13-05:00","alt":"Modular 3D printed Strat-Style guitar kit with circuit board pattern","width":1920,"height":1080,"src":"\/\/the3dprintzone.com\/cdn\/shop\/files\/KIT_STRAT_CIRCUITS_BODYSTRAT-Edit.jpg?v=1765760473","variant_ids":[47457062650013]},"available":true,"name":"Strat-Style Kit - Circuits","public_title":"Circuits","options":["Circuits"],"price":5900,"weight":454,"compare_at_price":4900,"inventory_management":null,"barcode":null,"featured_media":{"alt":"Modular 3D printed Strat-Style guitar kit with circuit board pattern","id":32507604697245,"position":4,"preview_image":{"aspect_ratio":1.778,"height":1080,"width":1920,"src":"\/\/the3dprintzone.com\/cdn\/shop\/files\/KIT_STRAT_CIRCUITS_BODYSTRAT-Edit.jpg?v=1765760473"}},"requires_selling_plan":false,"selling_plan_allocations":[],"quantity_rule":{"min":1,"max":null,"increment":1}},{"id":47457062682781,"title":"Epicenter","option1":"Epicenter","option2":null,"option3":null,"sku":null,"requires_shipping":true,"taxable":true,"featured_image":{"id":41182054908061,"product_id":8793869025437,"position":5,"created_at":"2025-12-01T16:42:27-05:00","updated_at":"2025-12-14T20:01:13-05:00","alt":"Modular 3D printed Strat-Style guitar kit with epicenter pattern","width":1920,"height":1080,"src":"\/\/the3dprintzone.com\/cdn\/shop\/files\/KIT_STRAT_EPICENTER_BODYSTRAT-Edit.jpg?v=1765760473","variant_ids":[47457062682781]},"available":true,"name":"Strat-Style Kit - Epicenter","public_title":"Epicenter","options":["Epicenter"],"price":5900,"weight":454,"compare_at_price":4900,"inventory_management":null,"barcode":null,"featured_media":{"alt":"Modular 3D printed Strat-Style guitar kit with epicenter pattern","id":32507604762781,"position":5,"preview_image":{"aspect_ratio":1.778,"height":1080,"width":1920,"src":"\/\/the3dprintzone.com\/cdn\/shop\/files\/KIT_STRAT_EPICENTER_BODYSTRAT-Edit.jpg?v=1765760473"}},"requires_selling_plan":false,"selling_plan_allocations":[],"quantity_rule":{"min":1,"max":null,"increment":1}},{"id":47457062813853,"title":"Hex","option1":"Hex","option2":null,"option3":null,"sku":null,"requires_shipping":true,"taxable":true,"featured_image":{"id":41182054875293,"product_id":8793869025437,"position":8,"created_at":"2025-12-01T16:42:27-05:00","updated_at":"2025-12-14T20:01:13-05:00","alt":"Modular 3D printed Strat-Style guitar kit with hex pattern","width":1920,"height":1080,"src":"\/\/the3dprintzone.com\/cdn\/shop\/files\/KIT_STRAT_TILES_BODYSTRAT-Edit.jpg?v=1765760473","variant_ids":[47457062813853]},"available":true,"name":"Strat-Style Kit - Hex","public_title":"Hex","options":["Hex"],"price":5900,"weight":454,"compare_at_price":4900,"inventory_management":null,"barcode":null,"featured_media":{"alt":"Modular 3D printed Strat-Style guitar kit with hex pattern","id":32507604730013,"position":8,"preview_image":{"aspect_ratio":1.778,"height":1080,"width":1920,"src":"\/\/the3dprintzone.com\/cdn\/shop\/files\/KIT_STRAT_TILES_BODYSTRAT-Edit.jpg?v=1765760473"}},"requires_selling_plan":false,"selling_plan_allocations":[],"quantity_rule":{"min":1,"max":null,"increment":1}},{"id":47476504854685,"title":"Hollow","option1":"Hollow","option2":null,"option3":null,"sku":null,"requires_shipping":true,"taxable":true,"featured_image":{"id":41205992980637,"product_id":8793869025437,"position":10,"created_at":"2025-12-11T20:29:15-05:00","updated_at":"2025-12-14T20:01:13-05:00","alt":"Modular 3D printed Strat-Style guitar kit with hollow pattern","width":1920,"height":1080,"src":"\/\/the3dprintzone.com\/cdn\/shop\/files\/KIT_STRAT_HOLLOW_BODYSTRAT-Edit.jpg?v=1765760473","variant_ids":[47476504854685]},"available":true,"name":"Strat-Style Kit - Hollow","public_title":"Hollow","options":["Hollow"],"price":5900,"weight":454,"compare_at_price":4900,"inventory_management":null,"barcode":null,"featured_media":{"alt":"Modular 3D printed Strat-Style guitar kit with hollow pattern","id":32531230785693,"position":10,"preview_image":{"aspect_ratio":1.778,"height":1080,"width":1920,"src":"\/\/the3dprintzone.com\/cdn\/shop\/files\/KIT_STRAT_HOLLOW_BODYSTRAT-Edit.jpg?v=1765760473"}},"requires_selling_plan":false,"selling_plan_allocations":[],"quantity_rule":{"min":1,"max":null,"increment":1}},{"id":67597075939502,"title":"Honeycomb","option1":"Honeycomb","option2":null,"option3":null,"sku":null,"requires_shipping":true,"taxable":true,"featured_image":{"id":52774644285614,"product_id":8793869025437,"position":12,"created_at":"2026-09-28T16:59:03-04:00","updated_at":"2026-09-28T16:59:05-04:00","alt":null,"width":1920,"height":1080,"src":"\/\/the3dprintzone.com\/cdn\/shop\/files\/KIT_STRAT_HONEYCOMB_BODYSTRAT.jpg?v=1790629145","variant_ids":[67597075939502]},"available":true,"name":"Strat-Style Kit - Honeycomb","public_title":"Honeycomb","options":["Honeycomb"],"price":5900,"weight":454,"compare_at_price":4900,"inventory_management":null,"barcode":null,"featured_media":{"alt":null,"id":46227596804270,"position":12,"preview_image":{"aspect_ratio":1.778,"height":1080,"width":1920,"src":"\/\/the3dprintzone.com\/cdn\/shop\/files\/KIT_STRAT_HONEYCOMB_BODYSTRAT.jpg?v=1790629145"}},"requires_selling_plan":false,"selling_plan_allocations":[],"quantity_rule":{"min":1,"max":null,"increment":1}},{"id":47457062715549,"title":"River","option1":"River","option2":null,"option3":null,"sku":null,"requires_shipping":true,"taxable":true,"featured_image":{"id":41183594971293,"product_id":8793869025437,"position":6,"created_at":"2025-12-02T10:03:27-05:00","updated_at":"2025-12-14T20:01:13-05:00","alt":"Modular 3D printed Strat-Style guitar kit with recess for resin epoxy pattern","width":1920,"height":1080,"src":"\/\/the3dprintzone.com\/cdn\/shop\/files\/KIT_STRAT_RIVER_BODYSTRAT-Edit.jpg?v=1765760473","variant_ids":[47457062715549]},"available":true,"name":"Strat-Style Kit - River","public_title":"River","options":["River"],"price":5900,"weight":454,"compare_at_price":4900,"inventory_management":null,"barcode":null,"featured_media":{"alt":"Modular 3D printed Strat-Style guitar kit with recess for resin epoxy pattern","id":32509112090781,"position":6,"preview_image":{"aspect_ratio":1.778,"height":1080,"width":1920,"src":"\/\/the3dprintzone.com\/cdn\/shop\/files\/KIT_STRAT_RIVER_BODYSTRAT-Edit.jpg?v=1765760473"}},"requires_selling_plan":false,"selling_plan_allocations":[],"quantity_rule":{"min":1,"max":null,"increment":1}},{"id":47457062748317,"title":"Solid","option1":"Solid","option2":null,"option3":null,"sku":null,"requires_shipping":true,"taxable":true,"featured_image":{"id":41182054711453,"product_id":8793869025437,"position":1,"created_at":"2025-12-01T16:42:27-05:00","updated_at":"2025-12-01T16:44:32-05:00","alt":"Modular 3D printed Strat-Style guitar kit with solid pattern","width":1920,"height":1080,"src":"\/\/the3dprintzone.com\/cdn\/shop\/files\/KIT_STRAT_SOLID_BODYSTRAT-Edit.jpg?v=1764625472","variant_ids":[47457062748317]},"available":true,"name":"Strat-Style Kit - Solid","public_title":"Solid","options":["Solid"],"price":5900,"weight":454,"compare_at_price":4900,"inventory_management":null,"barcode":null,"featured_media":{"alt":"Modular 3D printed Strat-Style guitar kit with solid pattern","id":32507604566173,"position":1,"preview_image":{"aspect_ratio":1.778,"height":1080,"width":1920,"src":"\/\/the3dprintzone.com\/cdn\/shop\/files\/KIT_STRAT_SOLID_BODYSTRAT-Edit.jpg?v=1764625472"}},"requires_selling_plan":false,"selling_plan_allocations":[],"quantity_rule":{"min":1,"max":null,"increment":1}},{"id":47457062781085,"title":"Spider","option1":"Spider","option2":null,"option3":null,"sku":null,"requires_shipping":true,"taxable":true,"featured_image":{"id":41182054940829,"product_id":8793869025437,"position":7,"created_at":"2025-12-01T16:42:27-05:00","updated_at":"2025-12-14T20:01:13-05:00","alt":"Modular 3D printed Strat-Style guitar kit with spider web pattern","width":1920,"height":1080,"src":"\/\/the3dprintzone.com\/cdn\/shop\/files\/KIT_STRAT_SPIDER_BODYSTRAT-Edit.jpg?v=1765760473","variant_ids":[47457062781085]},"available":true,"name":"Strat-Style Kit - Spider","public_title":"Spider","options":["Spider"],"price":5900,"weight":454,"compare_at_price":4900,"inventory_management":null,"barcode":null,"featured_media":{"alt":"Modular 3D printed Strat-Style guitar kit with spider web pattern","id":32507604795549,"position":7,"preview_image":{"aspect_ratio":1.778,"height":1080,"width":1920,"src":"\/\/the3dprintzone.com\/cdn\/shop\/files\/KIT_STRAT_SPIDER_BODYSTRAT-Edit.jpg?v=1765760473"}},"requires_selling_plan":false,"selling_plan_allocations":[],"quantity_rule":{"min":1,"max":null,"increment":1}},{"id":47457062846621,"title":"Toolbox","option1":"Toolbox","option2":null,"option3":null,"sku":null,"requires_shipping":true,"taxable":true,"featured_image":{"id":41182054809757,"product_id":8793869025437,"position":9,"created_at":"2025-12-01T16:42:27-05:00","updated_at":"2025-12-14T20:01:13-05:00","alt":"Modular 3D printed Strat-Style guitar kit with diamond plate toolbox pattern","width":1920,"height":1080,"src":"\/\/the3dprintzone.com\/cdn\/shop\/files\/KIT_STRAT_TOOLBOX_BODYSTRAT-Edit.jpg?v=1765760473","variant_ids":[47457062846621]},"available":true,"name":"Strat-Style Kit - Toolbox","public_title":"Toolbox","options":["Toolbox"],"price":5900,"weight":454,"compare_at_price":4900,"inventory_management":null,"barcode":null,"featured_media":{"alt":"Modular 3D printed Strat-Style guitar kit with diamond plate toolbox pattern","id":32507604664477,"position":9,"preview_image":{"aspect_ratio":1.778,"height":1080,"width":1920,"src":"\/\/the3dprintzone.com\/cdn\/shop\/files\/KIT_STRAT_TOOLBOX_BODYSTRAT-Edit.jpg?v=1765760473"}},"requires_selling_plan":false,"selling_plan_allocations":[],"quantity_rule":{"min":1,"max":null,"increment":1}}],"images":["\/\/the3dprintzone.com\/cdn\/shop\/files\/KIT_STRAT_SOLID_BODYSTRAT-Edit.jpg?v=1764625472","\/\/the3dprintzone.com\/cdn\/shop\/files\/KIT_STRAT_ALIEN_BODYSTRAT-Edit.jpg?v=1764625472","\/\/the3dprintzone.com\/cdn\/shop\/files\/KIT_STRAT_BASEPLATE_BODYSTRAT-Edit.jpg?v=1765760473","\/\/the3dprintzone.com\/cdn\/shop\/files\/KIT_STRAT_CIRCUITS_BODYSTRAT-Edit.jpg?v=1765760473","\/\/the3dprintzone.com\/cdn\/shop\/files\/KIT_STRAT_EPICENTER_BODYSTRAT-Edit.jpg?v=1765760473","\/\/the3dprintzone.com\/cdn\/shop\/files\/KIT_STRAT_RIVER_BODYSTRAT-Edit.jpg?v=1765760473","\/\/the3dprintzone.com\/cdn\/shop\/files\/KIT_STRAT_SPIDER_BODYSTRAT-Edit.jpg?v=1765760473","\/\/the3dprintzone.com\/cdn\/shop\/files\/KIT_STRAT_TILES_BODYSTRAT-Edit.jpg?v=1765760473","\/\/the3dprintzone.com\/cdn\/shop\/files\/KIT_STRAT_TOOLBOX_BODYSTRAT-Edit.jpg?v=1765760473","\/\/the3dprintzone.com\/cdn\/shop\/files\/KIT_STRAT_HOLLOW_BODYSTRAT-Edit.jpg?v=1765760473","\/\/the3dprintzone.com\/cdn\/shop\/files\/KIT_LAYOUT_BODY.jpg?v=1783602828","\/\/the3dprintzone.com\/cdn\/shop\/files\/KIT_STRAT_HONEYCOMB_BODYSTRAT.jpg?v=1790629145"],"featured_image":"\/\/the3dprintzone.com\/cdn\/shop\/files\/KIT_STRAT_SOLID_BODYSTRAT-Edit.jpg?v=1764625472","options":["Choose a Design"],"media":[{"alt":"Modular 3D printed Strat-Style guitar kit with solid pattern","id":32507604566173,"position":1,"preview_image":{"aspect_ratio":1.778,"height":1080,"width":1920,"src":"\/\/the3dprintzone.com\/cdn\/shop\/files\/KIT_STRAT_SOLID_BODYSTRAT-Edit.jpg?v=1764625472"},"aspect_ratio":1.778,"height":1080,"media_type":"image","src":"\/\/the3dprintzone.com\/cdn\/shop\/files\/KIT_STRAT_SOLID_BODYSTRAT-Edit.jpg?v=1764625472","width":1920},{"alt":"Modular 3D printed Strat-Style guitar kit with alien pattern","id":32507604631709,"position":2,"preview_image":{"aspect_ratio":1.778,"height":1080,"width":1920,"src":"\/\/the3dprintzone.com\/cdn\/shop\/files\/KIT_STRAT_ALIEN_BODYSTRAT-Edit.jpg?v=1764625472"},"aspect_ratio":1.778,"height":1080,"media_type":"image","src":"\/\/the3dprintzone.com\/cdn\/shop\/files\/KIT_STRAT_ALIEN_BODYSTRAT-Edit.jpg?v=1764625472","width":1920},{"alt":"Modular 3D printed Strat-Style guitar kit with lego compatible building brick pattern","id":32536801673373,"position":3,"preview_image":{"aspect_ratio":1.778,"height":1080,"width":1920,"src":"\/\/the3dprintzone.com\/cdn\/shop\/files\/KIT_STRAT_BASEPLATE_BODYSTRAT-Edit.jpg?v=1765760473"},"aspect_ratio":1.778,"height":1080,"media_type":"image","src":"\/\/the3dprintzone.com\/cdn\/shop\/files\/KIT_STRAT_BASEPLATE_BODYSTRAT-Edit.jpg?v=1765760473","width":1920},{"alt":"Modular 3D printed Strat-Style guitar kit with circuit board pattern","id":32507604697245,"position":4,"preview_image":{"aspect_ratio":1.778,"height":1080,"width":1920,"src":"\/\/the3dprintzone.com\/cdn\/shop\/files\/KIT_STRAT_CIRCUITS_BODYSTRAT-Edit.jpg?v=1765760473"},"aspect_ratio":1.778,"height":1080,"media_type":"image","src":"\/\/the3dprintzone.com\/cdn\/shop\/files\/KIT_STRAT_CIRCUITS_BODYSTRAT-Edit.jpg?v=1765760473","width":1920},{"alt":"Modular 3D printed Strat-Style guitar kit with epicenter pattern","id":32507604762781,"position":5,"preview_image":{"aspect_ratio":1.778,"height":1080,"width":1920,"src":"\/\/the3dprintzone.com\/cdn\/shop\/files\/KIT_STRAT_EPICENTER_BODYSTRAT-Edit.jpg?v=1765760473"},"aspect_ratio":1.778,"height":1080,"media_type":"image","src":"\/\/the3dprintzone.com
9973\/cdn\/shop\/files\/KIT_STRAT_EPICENTER_BODYSTRAT-Edit.jpg?v=1765760473","width":1920},{"alt":"Modular 3D printed Strat-Style guitar kit with recess for resin epoxy pattern","id":32509112090781,"position":6,"preview_image":{"aspect_ratio":1.778,"height":1080,"width":1920,"src":"\/\/the3dprintzone.com\/cdn\/shop\/files\/KIT_STRAT_RIVER_BODYSTRAT-Edit.jpg?v=1765760473"},"aspect_ratio":1.778,"height":1080,"media_type":"image","src":"\/\/the3dprintzone.com\/cdn\/shop\/files\/KIT_STRAT_RIVER_BODYSTRAT-Edit.jpg?v=1765760473","width":1920},{"alt":"Modular 3D printed Strat-Style guitar kit with spider web pattern","id":32507604795549,"position":7,"preview_image":{"aspect_ratio":1.778,"height":1080,"width":1920,"src":"\/\/the3dprintzone.com\/cdn\/shop\/files\/KIT_STRAT_SPIDER_BODYSTRAT-Edit.jpg?v=1765760473"},"aspect_ratio":1.778,"height":1080,"media_type":"image","src":"\/\/the3dprintzone.com\/cdn\/shop\/files\/KIT_STRAT_SPIDER_BODYSTRAT-Edit.jpg?v=1765760473","width":1920},{"alt":"Modular 3D printed Strat-Style guitar kit with hex pattern","id":32507604730013,"position":8,"preview_image":{"aspect_ratio":1.778,"height":1080,"width":1920,"src":"\/\/the3dprintzone.com\/cdn\/shop\/files\/KIT_STRAT_TILES_BODYSTRAT-Edit.jpg?v=1765760473"},"aspect_ratio":1.778,"height":1080,"media_type":"image","src":"\/\/the3dprintzone.com\/cdn\/shop\/files\/KIT_STRAT_TILES_BODYSTRAT-Edit.jpg?v=1765760473","width":1920},{"alt":"Modular 3D printed Strat-Style guitar kit with diamond plate toolbox pattern","id":32507604664477,"position":9,"preview_image":{"aspect_ratio":1.778,"height":1080,"width":1920,"src":"\/\/the3dprintzone.com\/cdn\/shop\/files\/KIT_STRAT_TOOLBOX_BODYSTRAT-Edit.jpg?v=1765760473"},"aspect_ratio":1.778,"height":1080,"media_type":"image","src":"\/\/the3dprintzone.com\/cdn\/shop\/files\/KIT_STRAT_TOOLBOX_BODYSTRAT-Edit.jpg?v=1765760473","width":1920},{"alt":"Modular 3D printed Strat-Style guitar kit with hollow pattern","id":32531230785693,"position":10,"preview_image":{"aspect_ratio":1.778,"height":1080,"width":1920,"src":"\/\/the3dprintzone.com\/cdn\/shop\/files\/KIT_STRAT_HOLLOW_BODYSTRAT-Edit.jpg?v=1765760473"},"aspect_ratio":1.778,"height":1080,"media_type":"image","src":"\/\/the3dprintzone.com\/cdn\/shop\/files\/KIT_STRAT_HOLLOW_BODYSTRAT-Edit.jpg?v=1765760473","width":1920},{"alt":null,"id":32507930476701,"position":11,"preview_image":{"aspect_ratio":1.778,"height":1440,"width":2560,"src":"\/\/the3dprintzone.com\/cdn\/shop\/files\/KIT_LAYOUT_BODY.jpg?v=1783602828"},"aspect_ratio":1.778,"height":1440,"media_type":"image","src":"\/\/the3dprintzone.com\/cdn\/shop\/files\/KIT_LAYOUT_BODY.jpg?v=1783602828","width":2560},{"alt":null,"id":46227596804270,"position":12,"preview_image":{"aspect_ratio":1.778,"height":1080,"width":1920,"src":"\/\/the3dprintzone.com\/cdn\/shop\/files\/KIT_STRAT_HONEYCOMB_BODYSTRAT.jpg?v=1790629145"},"aspect_ratio":1.778,"height":1080,"media_type":"image","src":"\/\/the3dprintzone.com\/cdn\/shop\/files\/KIT_STRAT_HONEYCOMB_BODYSTRAT.jpg?v=1790629145","width":1920}],"requires_selling_plan":false,"selling_plan_groups":[],"content":"\u003cstyle\u003e\n .help-links__text {\n font-size: 13px;\n color: #767676;\n margin: 15px 0 4px;\n }\n .help-links__break { display: none; }\n .help-links__cc {\n margin-top: 16px;\n border-top: 1px solid #E8E2D8;\n padding-top: 12px;\n }\n .help-links__cc-summary {\n cursor: pointer;\n font-weight: 700;\n font-size: 13.5px;\n color: #2B2B2B;\n list-style: none;\n display: flex;\n align-items: center;\n gap: 6px;\n }\n .help-links__cc-text {\n font-size: 13px;\n color: #767676;\n margin-top: 8px;\n }\n @media (max-width: 680px) {\n .help-links__text { text-align: center; }\n .help-links__break { display: block; margin-top: 4px; }\n .help-links__cc { text-align: center; }\n .help-links__cc-summary { justify-content: center; }\n }\n\u003c\/style\u003e\n\n\u003cp class=\"help-links__text\"\u003e\n Need more help?\n \u003cspan class=\"help-links__break\"\u003e\u003c\/span\u003e\n \u003ca href=\"https:\/\/the3dprintzone.com\/pages\/guides\"\u003eGuides\u003c\/a\u003e · \n \u003ca href=\"https:\/\/the3dprintzone.com\/pages\/faq\"\u003eFAQ\u003c\/a\u003e · \n \u003ca href=\"https:\/\/the3dprintzone.com\/pages\/guitar-gallery\"\u003eGuitar Gallery\u003c\/a\u003e · \n \u003ca href=\"https:\/\/the3dprintzone.com\/pages\/contact\"\u003eContact Us\u003c\/a\u003e\n\u003c\/p\u003e\n\u003cdetails class=\"help-links__cc\"\u003e\n \u003csummary class=\"help-links__cc-summary\"\u003e\n \u003cspan style=\"display: inline-block; transition: transform 0.2s;
9973\"\u003eâ¶\u003c\/span\u003e\n Creative Commons\n \u003c\/summary\u003e\n \u003cp class=\"help-links__cc-text\"\u003e\n No commercial use. You may not share, distribute, sell, donate, or exchange the digital files or any printed guitar parts\/guitars.\n \u003c\/p\u003e\n\u003c\/details\u003e"}); 9974 }); 9975 9976 }) 9977 (); 9978</script>
9978 9979</div><div id="shopify-block-AYkpjcWFINkF3RWlJV__1513253815146976218" class="shopify-block shopify-app-block"> 9980</div><div id="shopify-block-AT3FVeUdNcHRLTnZFa__3886181796285292942" class="shopify-block shopify-app-block"><!-- Load assets like this instead of inside the schema because Shopify does not load asset if there is file name collision with another extension --> 9981<link href="//cdn.shopify.com/extensions/01a0aa22-fc44-71b6-81d0-8b700ead9913/cowlendar-310/assets/styles.css" rel="stylesheet" type="text/css" media="all" />
9982<script src="https://cdn.shopify.com/extensions/01a0aa22-fc44-71b6-81d0-8b700ead9913/cowlendar-310/assets/app.js?shop=y2mben-z1.myshopify.com" defer="defer"></script>
9982 9983
9984<script type="text/javascript"> 9985 window._cowlendarConfig = { 9986 "shop_id": "74411770013", 9987 "shop_url": "y2mben-z1.myshopify.com", 9988 "shop_locale": "en" 9989 }; 9990 var COW_SHOP_URL = "y2mben-z1.myshopify.com"; 9991 window._cowProductVariants = [{"id":47457062617245,"title":"Alien","option1":"Alien","option2":null,"option3":null,"sku":null,"requires_shipping":true,"taxable":true,"featured_image":{"id":41182054776989,"product_id":8793869025437,"position":2,"created_at":"2025-12-01T16:42:27-05:00","updated_at":"2025-12-01T16:44:32-05:00","alt":"Modular 3D printed Strat-Style guitar kit with alien pattern","width":1920,"height":1080,"src":"\/\/the3dprintzone.com\/cdn\/shop\/files\/KIT_STRAT_ALIEN_BODYSTRAT-Edit.jpg?v=1764625472","variant_ids":[47457062617245]},"available":true,"name":"Strat-Style Kit - Alien","public_title":"Alien","options":["Alien"],"price":5900,"weight":454,"compare_at_price":4900,"inventory_management":null,"barcode":null,"featured_media":{"alt":"Modular 3D printed Strat-Style guitar kit with alien pattern","id":32507604631709,"position":2,"preview_image":{"aspect_ratio":1.778,"height":1080,"width":1920,"src":"\/\/the3dprintzone.com\/cdn\/shop\/files\/KIT_STRAT_ALIEN_BODYSTRAT-Edit.jpg?v=1764625472"}},"requires_selling_plan":false,"selling_plan_allocations":[],"quantity_rule":{"min":1,"max":null,"increment":1}},{"id":47481122783389,"title":"Baseplate","option1":"Baseplate","option2":null,"option3":null,"sku":null,"requires_shipping":true,"taxable":true,"featured_image":{"id":41211655389341,"product_id":8793869025437,"position":3,"created_at":"2025-12-14T19:52:04-05:00","updated_at":"2025-12-14T20:01:13-05:00","alt":"Modular 3D printed Strat-Style guitar kit with lego compatible building brick pattern","width":1920,"height":1080,"src":"\/\/the3dprintzone.com\/cdn\/shop\/files\/KIT_STRAT_BASEPLATE_BODYSTRAT-Edit.jpg?v=1765760473","variant_ids":[47481122783389]},"available":true,"name":"Strat-Style Kit - Baseplate","public_title":"Baseplate","options":["Baseplate"],"price":5900,"weight":454,"compare_at_price":4900,"inventory_management":null,"barcode":null,"featured_media":{"alt":"Modular 3D printed Strat-Style guitar kit with lego compatible building brick pattern","id":32536801673373,"position":3,"preview_image":{"aspect_ratio":1.778,"height":1080,"width":1920,"src":"\/\/the3dprintzone.com\/cdn\/shop\/files\/KIT_STRAT_BASEPLATE_BODYSTRAT-Edit.jpg?v=1765760473"}},"requires_selling_plan":false,"selling_plan_allocations":[],"quantity_rule":{"min":1,"max":null,"increment":1}},{"id":47457062650013,"title":"Circuits","option1":"Circuits","option2":null,"option3":null,"sku":null,"requires_shipping":true,"taxable":true,"featured_image":{"id":41182054842525,"product_id":8793869025437,"position":4,"created_at":"2025-12-01T16:42:27-05:00","updated_at":"2025-12-14T20:01:13-05:00","alt":"Modular 3D printed Strat-Style guitar kit with circuit board pattern","width":1920,"height":1080,"src":"\/\/the3dprintzone.com\/cdn\/shop\/files\/KIT_STRAT_CIRCUITS_BODYSTRAT-Edit.jpg?v=1765760473","variant_ids":[47457062650013]},"available":true,"name":"Strat-Style Kit - Circuits","public_title":"Circuits","options":["Circuits"],"price":5900,"weight":454,"compare_at_price":4900,"inventory_management":null,"barcode":null,"featured_media":{"alt":"Modular 3D printed Strat-Style guitar kit with circuit board pattern","id":32507604697245,"position":4,"preview_image":{"aspect_ratio":1.778,"height":1080,"width":1920,"src":"\/\/the3dprintzone.com\/cdn\/shop\/files\/KIT_STRAT_CIRCUITS_BODYSTRAT-Edit.jpg?v=1765760473"}},"requires_selling_plan":false,"selling_plan_allocations":[],"quantity_rule":{"min":1,"max":null,"increment":1}},{"id":47457062682781,"title":"Epicenter","option1":"Epicenter","option2":null,"option3":null,"sku":null,"requires_shipping":true,"taxable":true,"featured_image":{"id":41182054908061,"product_id":8793869025437,"position":5,"created_at":"2025-12-01T16:42:27-05:00","updated_at":"2025-12-14T20:01:13-05:00","alt":"Modular 3D printed Strat-Style guitar kit with epicenter pattern","width":1920,"height":1080,"src":"\/\/the3dprintzone.com\/cdn\/shop\/files\/KIT_STRAT_EPICENTER_BODYSTRAT-Edit.jpg?v=1765760473","variant_ids":[47457062682781]},"available":true,"name":"Strat-Style Kit - Epicenter","public_title":"Epicenter","options":["Epicenter"],"price":5900,"weight":454,"compare_at_price":4900,"inventory_management":null,"barcode":null,"featured_media":{"alt":"Modular 3D printed Strat-Style guitar kit with epicenter pattern","id":32507604762781,"position":5,"preview_image":{"aspect_ratio":1.778,"height":1080,"width":1920,"src":"\/\/the3dprintzone.com\/cdn\/shop\/files\/KIT_STRAT_EPICENTER_BODYSTRAT-Edit.jpg?v=1765760473"}},"requires_selling_plan":false,"selling_plan_allocations":[],"quantity_rule":{"min":1,"max":null,"increment":1}},{"id":47457062813853,"title":"Hex","option1":"Hex","option2":null,"option3":null,"sku":null,"requires_shipping":true,"taxable":true,"featured_image":{"id":41182054875293,"product_id":8793869025437,"position":8,"created_at":"2025-12-01T16:42:27-05:00","updated_at":"2025-12-14T20:01:13-05:00","alt":"Modular 3D printed Strat-Style guitar kit with hex pattern","width":1920,"height":1080,"src":"\/\/the3dprintzone.com\/cdn\/shop\/files\/KIT_STRAT_TILES_BODYSTRAT-Edit.jpg?v=1765760473","variant_ids":[47457062813853]},"available":true,"name":"Strat-Style Kit - Hex","public_title":"Hex","options":["Hex"],"price":5900,"weight":454,"compare_at_price":4900,"inventory_management":null,"barcode":null,"featured_media":{"alt":"Modular 3D printed Strat-Style guitar kit with hex pattern","id":32507604730013,"position":8,"preview_image":{"aspect_ratio":1.778,"height":1080,"width":1920,"src":"\/\/the3dprintzone.com\/cdn\/shop\/files\/KIT_STRAT_TILES_BODYSTRAT-Edit.jpg?v=1765760473"}},"requires_selling_plan":false,"selling_plan_allocations":[],"quantity_rule":{"min":1,"max":null,"increment":1}},{"id":47476504854685,"title":"Hollow","option1":"Hollow","option2":null,"option3":null,"sku":null,"requires_shipping":true,"taxable":true,"featured_image":{"id":41205992980637,"product_id":8793869025437,"position":10,"created_at":"2025-12-11T20:29:15-05:00","updated_at":"2025-12-14T20:01:13-05:00","alt":"Modular 3D printed Strat-Style guitar kit with hollow pattern","width":1920,"height":1080,"src":"\/\/the3dprintzone.com\/cdn\/shop\/files\/KIT_STRAT_HOLLOW_BODYSTRAT-Edit.jpg?v=1765760473","variant_ids":[47476504854685]},"available":true,"name":"Strat-Style Kit - Hollow","public_title":"Hollow","options":["Hollow"],"price":5900,"weight":454,"compare_at_price":4900,"inventory_management":null,"barcode":null,"featured_media":{"alt":"Modular 3D printed Strat-Style guitar kit with hollow pattern","id":32531230785693,"position":10,"preview_image":{"aspect_ratio":1.778,"height":1080,"width":1920,"src":"\/\/the3dprintzone.com\/cdn\/shop\/files\/KIT_STRAT_HOLLOW_BODYSTRAT-Edit.jpg?v=1765760473"}},"requires_selling_plan":false,"selling_plan_allocations":[],"quantity_rule":{"min":1,"max":null,"increment":1}},{"id":67597075939502,"title":"Honeycomb","option1":"Honeycomb","option2":null,"option3":null,"sku":null,"requires_shipping":true,"taxable":true,"featured_image":{"id":52774644285614,"product_id":8793869025437,"position":12,"created_at":"2026-09-28T16:59:03-04:00","updated_at":"2026-09-28T16:59:05-04:00","alt":null,"width":1920,"height":1080,"src":"\/\/the3dprintzone.com\/cdn\/shop\/files\/KIT_STRAT_HONEYCOMB_BODYSTRAT.jpg?v=1790629145","variant_ids":[67597075939502]},"available":true,"name":"Strat-Style Kit - Honeycomb","public_title":"Honeycomb","options":["Honeycomb"],"price":5900,"weight":454,"compare_at_price":4900,"inventory_management":null,"barcode":null,"featured_media":{"alt":null,"id":46227596804270,"position":12,"preview_image":{"aspect_ratio":1.778,"height":1080,"width":1920,"src":"\/\/the3dprintzone.com\/cdn\/shop\/files\/KIT_STRAT_HONEYCOMB_BODYSTRAT.jpg?v=1790629145"}},"requires_selling_plan":false,"selling_plan_allocations":[],"quantity_rule":{"min":1,"max":null,"increment":1}},{"id":47457062715549,"title":"River","option1":"River","option2":null,"option3":null,"sku":null,"requires_shipping":true,"taxable":true,"featured_image":{"id":41183594971293,"product_id":8793869025437,"position":6,"created_at":"2025-12-02T10:03:27-05:00","updated_at":"2025-12-14T20:01:13-05:00","alt":"Modular 3D printed Strat-Style guitar kit with recess for resin epoxy pattern","width":1920,"height":1080,"src":"\/\/the3dprintzone.com\/cdn\/shop\/files\/KIT_STRAT_RIVER_BODYSTRAT-Edit.jpg?v=1765760473","variant_ids":[47457062715549]},"available":true,"name":"Strat-Style Kit - River","public_title":"River","options":["River"],"price":5900,"weight":454,"compare_at_price":4900,"inventory_management":null,"barcode":null,"featured_media":{"alt":"Modular 3D printed Strat-Style guitar kit with recess for resin epoxy pattern","id":32509112090781,"position":6,"preview_image":{"aspect_ratio":1.778,"height":1080,"width":1920,"src":"\/\/the3dprintzone.com\/cdn\/shop\/files\/KIT_STRAT_RIVER_BODYSTRAT-Edit.jpg?v=1765760473"}},"requires_selling_plan":false,"selling_plan_allocations":[],"quantity_rule":{"min":1,"max":null,"increment":1}},{"id":47457062748317,"title":"Solid","option1":"Solid","option2":null,"option3":null,"sku":null,"requires_shipping":true,"taxable":true,"featured_image":{"id":41182054711453,"product_id":8793869025437,"position":1,"created_at":"2025-12-01T16:42:27-05:00","updated_at":"2025-12-01T16:44:32-05:00","alt":"Modular 3D printed Strat-Style guitar kit with solid pattern","width":1920,"height":1080,"src":"\/\/the3dprintzone.com\/cdn\/shop\/files\/KIT_STRAT_SOLID_BODYSTRAT-Edit.jpg?v=1764625472","variant_ids":[47457062748317]},"available":true,"name":"Strat-Style Kit - Solid","public_title":"Solid","options":["Solid"],"price":5900,"weight":454,"compare_at_price":4900,"inventory_management":null,"barcode":null,"featured_media":{"alt":"Modular 3D printed Strat-Style guitar kit with solid pattern","id":32507604566173,"position":1,"preview_image":{"aspect_ratio":1.778,"height":1080,"width":1920,"src":"\/\/the3dprintzone.com\/cdn\/shop\/files\/KIT_STRAT_SOLID_BODYSTRAT-Edit.jpg?v=1764625472"}},"requires_selling_plan":false,"selling_plan_allocations":[],"quantity_rule":{"min":1,"max":null,"increment":1}},{"id":47457062781085,"title":"Spider","option1":"Spider","option2":null,"option3":null,"sku":null,"requires_shipping":true,"taxable":true,"featured_image":{"id":41182054940829,"product_id":8793869025437,"position":7,"created_at":"2025-12-01T16:42:27-05:00","updated_at":"2025-12-14T20:01:13-05:00","alt":"Modular 3D printed Strat-Style guitar kit with spider web pattern","width":1920,"height":1080,"src":"\/\/the3dprintzone.com\/cdn\/shop\/files\/KIT_STRAT_SPIDER_BODYSTRAT-Edit.jpg?v=1765760473","variant_ids":[47457062781085]},"available":true,"name":"Strat-Style Kit - Spider","public_title":"Spider","options":["Spider"],"price":5900,"weight":454,"compare_at_price":4900,"inventory_management":null,"barcode":null,"featured_media":{"alt":"Modular 3D printed Strat-Style guitar kit with spider web pattern","id":32507604795549,"position":7,"preview_image":{"aspect_ratio":1.778,"height":1080,"width":1920,"src":"\/\/the3dprintzone.com\/cdn\/shop\/files\/KIT_STRAT_SPIDER_BODYSTRAT-Edit.jpg?v=1765760473"}},"requires_selling_plan":false,"selling_plan_allocations":[],"quantity_rule":{"min":1,"max":null,"increment":1}},{"id":47457062846621,"title":"Toolbox","option1":"Toolbox","option2":null,"option3":null,"sku":null,"requires_shipping":true,"taxable":true,"featured_image":{"id":41182054809757,"product_id":8793869025437,"position":9,"created_at":"2025-12-01T16:42:27-05:00","updated_at":"2025-12-14T20:01:13-05:00","alt":"Modular 3D printed Strat-Style guitar kit with diamond plate toolbox pattern","width":1920,"height":1080,"src":"\/\/the3dprintzone.com\/cdn\/shop\/files\/KIT_STRAT_TOOLBOX_BODYSTRAT-Edit.jpg?v=1765760473","variant_ids":[47457062846621]},"available":true,"name":"Strat-Style Kit - Toolbox","public_title":"Toolbox","options":["Toolbox"],"price":5900,"weight":454,"compare_at_price":4900,"inventory_management":null,"barcode":null,"featured_media":{"alt":"Modular 3D printed Strat-Style guitar kit with diamond plate toolbox pattern","id":32507604664477,"position":9,"preview_image":{"aspect_ratio":1.778,"height":1080,"width":1920,"src":"\/\/the3dprintzone.com\/cdn\/shop\/files\/KIT_STRAT_TOOLBOX_BODYSTRAT-Edit.jpg?v=1765760473"}},"requires_selling_plan":false,"selling_plan_allocations":[],"quantity_rule":{"min":1,"max":null,"increment":1}}]; 9992</script>
9992 9993 9994
9995<script type="text/javascript"> 9996 const chunks = []; 9997 9998 /* New metafields loop */ 9999 10000 10001 10002 10003 chunks.push("[{\"product_handle\":\"bambu-studio-3-session-bundle\",\"service_id\":\"6a8f3868d94855d2de8dc794\",\"type\":\"multislot-checkout\",\"product_id\":9030729302173,\"variant_ids\":[48842114334877],\"use_multilanguage\":false,\"authorized_locales\":[\"en-US\"],\"default_locale\":\"en-US\",\"btn_label\":\"Book now\",\"book_now_default_label\":\"Book now\",\"book_now_labels\":null,\"slot_lock_remove_expired\":true,\"hide_variants_selector\":false},{\"product_handle\":\"bambu-studio-coaching-single-session\",\"service_id\":\"6a96f2fe559c4b35e5a4730a\",\"type\":\"classic-checkout\",\"product_id\":9037038026909,\"variant_ids\":[48865295564957],\"use_multilanguage\":false,\"authorized_locales\":[\"en-US\"],\"default_locale\":\"en-US\",\"btn_label\":\"Book now\",\"book_now_default_label\":\"Book now\",\"book_now_labels\":null,\"slot_lock_remove_expired\":true,\"hide_variants_selector\":false}]"); 10004 10005 10006 10007 const bigConfigString = chunks.join(""); 10008 window.cowServices = bigConfigString ? JSON.parse(bigConfigStr
10008ing) : null; 10009 window.cowSettings = {"use_virtual_form":false,"hide_logs":false,"button_type":"simple","use_master_form":true,"multilanguage_source":"shop","widget_shadow_enabled":false,"widget_shadow_size":13,"widget_shadow_opacity":11,"widget_shadow_color":"#000000"}; 10010 10011 10012 window.cowEventCal1_config = {"_id":"6a8f3ce2ef1ad7ec24417a4d","timezone":"America\/New_York","language":"default","calendar_views":["month","week","list","grid"],"default_calendar_view":"month","is_24h_format":false,"show_weekends":true,"first_day_of_week":0,"bg_color":"#FFFFFF","title_color":"#141D2C","text_color":"#141D2C","calendar_header_color":"#FFFFFF","calendar_grid_color":"#092D68","calendar_today_cell_bg_color":"#FFFFFF","calendar_today_bg_color":"#D9EFFF","calendar_today_text_color":"#141D2C","week_header_bg_color":"#D9EFFF","week_header_text_color":"#141D2C","nav_button_bg_color":"#D9EFFF","nav_button_arrow_color":"#141D2C","nav_button_hover_bg_color":"#D9EFFF","prev_next_month_daycell_bg_color":"#F9F9F9","soldout_event_bg_color":"#E1E1E1","soldout_event_text_color":"#141D2C","view_toggle_bg_color":"#D9EFFF","view_toggle_text_color":"#141D2C","view_toggle_active_bg_color":"#092D68","view_toggle_active_text_color":"#FFFFFF","calendar_slot_layout":"compact","show_event_end_date":false,"event_action_target":"product_url"}; 10013 window.cowEventCal1_services = [{"_id":"6a8f3868d94855d2de8dc794","variant_id_to_use":"48842114334877","title":"Bambu Studio Coaching (3 Session Bundle)","description":"Three 60-minute live coaching sessions, booked together.","location":"Google meet","product_url":"bambu-studio-3-session-bundle","use_thumbnail_cover":false,"show_price":true,"show_location":true,"can_open_widget":true,"color":"#3b82f6","image":"https:\/\/cowlendar.fra1.cdn.digitaloceanspaces.com\/prod\/uploads\/y2mben-z1-1788272450057.jpeg"}]; 10014 10015 10016 10017 10018 10019 10020 10021 10022 10023 10024 10025 10026 10027 10028 10029 10030 10031 10032 10033</script>
10033 10034 10035 10036</div>
10036<script src="https://cdn.shopify.com/storefront/standard-actions.js" type="module" data-source-attribution="shopify.standard_actions"></script>
10036 10037</body> 10038</html>
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.