1<!doctype html><html class="no-js" lang="en"> 2 <head> 3 4
5<script type="application/vnd.locksmith+json" data-locksmith>{"version":"v346","locked":false,"initialized":true,"scope":"index","access_granted":true,"access_denied":false,"requires_customer":false,"manual_lock":false,"remote_lock":false,"has_timeout":false,"remote_rendered":null,"hide_resource":false,"hide_links_to_resource":false,"hide_price":false,"hide_add_to_cart":false,"transparent":true,"locks":{"all":[],"opened":[]},"keys":[],"keys_signature":"a6111dc4847a5059d4622e3d27b184dd5cbae461b5d6fc459feab12efb47932d","state":{"template":"index","theme":151830298694,"product":null,"collection":null,"page":null,"blog":null,"article":null,"app":null},"now":1791103101,"path":"\/","locale_root_url":"\/","canonical_url":"https:\/\/printroom.co\/","customer_id":null,"customer_id_signature":"a6111dc4847a5059d4622e3d27b184dd5cbae461b5d6fc459feab12efb47932d","cart":null}</script>
5<script data-locksmith>!function(){undefined;!function(){var s=window.Locksmith={},e=document.querySelector('script[type="application/vnd.locksmith+json"]'),n=e&&e.innerHTML;if(s.state={},s.util={},s.loading=!1,n)try{s.state=JSON.parse(n)}catch(d){}if(document.addEventListener&&document.querySelector){var o,a,i,t=[76,79,67,75,83,77,73,84,72,49,49],c=function(){a=t.slice(0)},l="style",r=function(e){e&&27!==e.keyCode&&"click"!==e.type||(document.removeEventListener("keydown",r),document.removeEventListener("click",r),o&&document.body.removeChild(o),o=null)};c(),document.addEventListener("keyup",function(e){if(e.keyCode===a[0]){if(clearTimeout(i),a.shift(),0<a.length)return void(i=setTimeout(c,1e3));c(),r(),(o=document.createElement("div"))[l].width="50%",o[l].maxWidth="1000px",o[l].height="85%",o[l].border="1px rgba(0, 0, 0, 0.2) solid",o[l].background="rgba(255, 255, 255, 0.99)",o[l].borderRadius="4px",o[l].position="fixed",o[l].top="50%",o[l].left="50%",o[l].transform="translateY(-50%) translateX(-50%)",o[l].boxShadow="0 2px 5px rgba(0, 0, 0, 0.3), 0 0 100vh 100vw rgba(0, 0, 0, 0.5)",o[l].zIndex="2147483645";var t=document.createElement("textarea");t.value=JSON.stringify(JSON.parse(n),null,2),t[l].border="none",t[l].display="block",t[l].boxSizing="border-box",t[l].width="100%",t[l].height="100%",t[l].background="transparent",t[l].padding="22px",t[l].fontFamily="monospace",t[l].fontSize="14px",t[l].color="#333",t[l].resize="none",t[l].outline="none",t.readOnly=!0,o.appendChild(t),document.body.appendChild(o),t.addEventListener("click",function(e){e.stopImmediatePropagation()}),t.select(),document.addEventListener("keydown",r),document.addEventListener("click",r)}})}s.isEmbedded=-1!==window.location.search.indexOf("_ab=0&_fd=0&_sc=1"),s.path=s.state.path||window.location.pathname,s.basePath=s.state.locale_root_url.concat("/apps/locksmith").replace(/^\/\//,"/"),s.reloading=!1,s.util.console=window.console||{log:function(){},error:function(){}},s.util.makeUrl=function(e,t){var n,o=s.basePath+e,a=[],i=s.cache();for(n in i)a.push(n+"="+encodeURIComponent(i[n]));for(n in t)a.push(n+"="+encodeURIComponent(t[n]));return s.state.customer_id&&(a.push("customer_id="+encodeURIComponent(s.state.customer_id)),a.push("customer_id_signature="+encodeURIComponent(s.state.customer_id_signature))),o+=(-1===o.indexOf("?")?"?":"&")+a.join("&")},s._initializeCallbacks=[],s.on=function(e,t){if("initialize"!==e)throw'Locksmith.on() currently only supports the "initialize" event';s._initializeCallbacks.push(t)},s.initializeSession=function(e){if(!s.isEmbedded){var t=!1,n=!0,o=!0;(e=e||{}).silent&&(o=n=!(t=!0)),s.ping({silent:t,spinner:n,reload:o,callback:function(){s._initializeCallbacks.forEach(function(e){e()})}})}},s.cache=function(e){var t={};try{var n=function a(e){return(document.cookie.match("(^|; )"+e+"=([^;]*)")||0)[2]};t=JSON.parse(decodeURIComponent(n("locksmith-params")||"{}"))}catch(d){}if(e){for(var o in e)t[o]=e[o];document.cookie="locksmith-params=; expires=Thu, 01 Jan 1970 00:00:00 GMT; path=/",document.cookie="locksmith-params="+encodeURIComponent(JSON.stringify(t))+"; path=/"}return t},s.cache.cart=s.state.cart,s.cache.cartLastSaved=null,s.params=s.cache(),s.util.reload=function(){s.reloading=!0;try{window.location.href=window.location.href.replace(/#.*/,"")}catch(d){s.util.console.error("Preferred reload method failed",d),window.location.reload()}},s.cache.saveCart=function(e){if(!s.cache.cart||s.cache.cart===s.cache.cartLastSaved)return e?e():null;var t=s.cache.cartLastSaved;s.cache.cartLastSaved=s.cache.cart,fetch("/cart/update.js",{method:"POST",headers:{"Content-Type":"application/json",Accept:"application/json"},body:JSON.stringify({attributes:{locksmith:s.cache.cart}})}).then(function(e){if(!e.ok)throw new Error("Cart update failed: "+e.status);return e.json()}).then(function(){e&&e()})["catch"](function(e){if(s.cache.cartLastSaved=t,!s.reloading)throw e})},s.util.spinnerHTML='<style>body{background:#FFF}@keyframes spin{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}#loading{display:flex;width:100%;height:50vh;
5color:#777;align-items:center;justify-content:center}#loading .spinner{display:block;animation:spin 600ms linear infinite;position:relative;width:50px;height:50px}#loading .spinner-ring{stroke:currentColor;stroke-dasharray:100%;stroke-width:2px;stroke-linecap:round;fill:none}</style><div id="loading"><div class="spinner"><svg width="100%" height="100%"><svg preserveAspectRatio="xMinYMin"><circle class="spinner-ring" cx="50%" cy="50%" r="45%"></circle></svg></svg></div></div>',s.util.clobberBody=function(e){document.body.innerHTML=e},s.util.clobberDocument=function(e){e.responseText&&(e=e.responseText),document.documentElement&&document.removeChild(document.documentElement);var t=document.open("text/html","replace");t.writeln(e),t.close(),setTimeout(function(){var e=t.querySelector("[autofocus]");e&&e.focus()},100)},s.util.serializeForm=function(e){if(e&&"FORM"===e.nodeName){var t,n,o={};for(t=e.elements.length-1;0<=t;t-=1)if(""!==e.elements[t].name)switch(e.elements[t].nodeName){case"INPUT":switch(e.elements[t].type){default:case"text":case"hidden":case"password":case"button":case"reset":case"submit":o[e.elements[t].name]=e.elements[t].value;break;case"checkbox":case"radio":e.elements[t].checked&&(o[e.elements[t].name]=e.elements[t].value);break;case"file":}break;case"TEXTAREA":o[e.elements[t].name]=e.elements[t].value;break;case"SELECT":switch(e.elements[t].type){case"select-one":o[e.elements[t].name]=e.elements[t].value;break;case"select-multiple":for(n=e.elements[t].options.length-1;0<=n;n-=1)e.elements[t].options[n].selected&&(o[e.elements[t].name]=e.elements[t].options[n].value)}break;case"BUTTON":switch(e.elements[t].type){case"reset":case"submit":case"button":o[e.elements[t].name]=e.elements[t].value}}return o}},s.util.on=function(e,i,s,t){t=t||document;var c="locksmith-"+e+i,n=function(e){var t=e.target,n=e.target.parentElement,o=t&&t.className&&(t.className.baseVal||t.className)||"",a=n&&n.className&&(n.className.baseVal||n.className)||"";("string"==typeof o&&-1!==o.split(/\s+/).indexOf(i)||"string"==typeof a&&-1!==a.split(/\s+/).indexOf(i))&&!e[c]&&(e[c]=!0,s(e))};t.attachEvent?t.attachEvent(e,n):t.addEventListener(e,n,!1)},s.util.enableActions=function(e){s.util.on("click","locksmith-action",function(e){e.preventDefault();var t=e.target;t.dataset.confirmWith&&!confirm(t.dataset.confirmWith)||(t.disabled=!0,t.innerText=t.dataset.disableWith,s.post("/action",t.dataset.locksmithParams,{spinner:!1,type:"text",success:function(e){(e=JSON.parse(e.responseText)).message&&alert(e.message),s.util.reload()}}))},e)},s.util.inject=function(e,t){var n=["data","locksmith","append"];if(-1!==t.indexOf(n.join("-"))){var o=document.createElement("div");o.innerHTML=t,e.appendChild(o)}else e.innerHTML=t;var a,i,s=e.querySelectorAll("script");for(i=0;i<s.length;++i){a=s[i];var c=document.createElement("script");if(a.type&&(c.type=a.type),a.src)c.src=a.src;else{var l=document.createTextNode(a.innerHTML);c.appendChild(l)}e.appendChild(c)}var r=e.querySelector("[autofocus]");r&&r.focus()},s.post=function(e,t,n){!1!==(n=n||{}).spinner&&s.util.clobberBody(s.util.spinnerHTML);var o={};n.container===document?(o.layout=1,n.success=function(e){s.util.clobberDocument(e)}):n.container&&(o.layout=0,n.success=function(e){var t="string"==typeof n.container?document.getElementById(n.container):n.container;t&&(s.util.inject(t,e),t.id===t.firstChild.id&&t.parentElement.replaceChild(t.firstChild,t))}),n.form_type&&(t.form_type=n.form_type),n.include_layout_classes!==undefined&&(t.include_layout_classes=n.include_layout_classes),n.lock_id!==undefined&&(t.lock_id=n.lock_id),s.loading=!0;var a=s.util.makeUrl(e,o),i="json"===n.type||"text"===n.type;fetch(a,{method:"POST",headers:{"Content-Type":"application/json",Accept:i?"application/json":"text/html"},body:JSON.stringify(t)}).then(function(e){if(!e.ok)throw new Error("Request failed: "+e.status);return e.text()}).then(function(e){var t=n.success||s.util.clobberDocument;t(i?{responseText:e}:e)})["catch"](function(e){if(!s.reloading)if("dashboard.weglot.com"!==window.location.host){if(!n.silent)throw alert("Something went wrong! Please refresh and try again."),e;console.error(e)}else console.error(e)})["finally"](function(){s.loading=!1})},s.postResource=function(e,t){e.path=s.path,e.search=window.location.search,e.state=s.state,e.passcode&&(e.passcode=e.passcode.trim()),e.email&&(e.email=e.email.trim()),e.state.cart=s.cache.cart,e.locksmith_json=s.jsonTag,e.locksmith_json_signature=s.jsonTagSignature,s.post("/resource",e,t)},s.ping=function(t){if(!s.isEmbedded){t=t||{};var n=function(){t.reload?s.util.reload():"function"==typeof t.callback&&t.callback()};s.post("/ping",{path:s.path,search:window.location.search,state:s.state},{spinner:!!t.spinner,silent:"undefined"==typeof t.silent||t.silent,type:"text",success:function(e){e&&e.responseText?((e=JSON.parse(e.responseText)).messages&&0<e.messages.length&&s.showMessages(e.messages),e.cart&&s.cache.cart!==e.cart?(s.cache.cart=e.cart,s.cache.saveCart(function(){e.cart&&e.cart.match(/^.+:/)?(t.reload||"function"!=typeof t.callback||t.callback(),s.util.reload()):n()})):n()):console.error("[Locksmith] Invalid result in ping callback:",e)}})}},s.timeoutMonitor=function(){var e=s.cache.cart;s.ping({callback:function(){e!==s.cache.cart||setTimeout(function(){s.timeoutMonitor()},6e4)}})},s.showMessages=function(e){var t=document.createElement("div");t.style.position="fixed",t.style.left=0,t.style.right=0,t.style.bottom="-50px",t.style.opacity=0,t.style.background="#191919",t.style.color="#ddd",t.style.transition="bottom 0.2s, opacity 0.2s",t.style.zIndex=999999,t.innerHTML=["<style>"," .locksmith-ab .locksmith-b { display: none; }"," .locksmith-ab.toggled .locksmith-b { display: flex; }"," .locksmith-ab.toggled .locksmith-a { display: none; }"," .locksmith-flex { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; padding: 10px 20px; }"," .locksmith-message + .locksmith-message { border-top: 1px #555 solid; }"," .locksmith-message a { color: inherit; font-weight: bold; }"," .locksmith-message a:hover { color: inherit; opacity: 0.8; }"," a.locksmith-ab-toggle { font-weight: inherit; text-decoration: underline; }"," .locksmith-text { flex-grow: 1; }"," .locksmith-cta { flex-grow: 0; text-align: right; }"," .locksmith-cta button { transform: scale(0.8); transform-origin: left; }"," .locksmith-cta > * { display: block; }"," .locksmith-cta > * + * { margin-top: 10px; }"," .locksmith-message a.locksmith-close { flex-grow: 0; text-decoration: none; margin-left: 15px; font-size: 30px; font-family: monospace; display: block; padding: 2px 10px; }"," @media screen and (max-width: 600px) {"," .locksmith-wide-only { display: none !important; }"," .locksmith-flex { padding: 0 15px; }"," .locksmith-flex > * { margin-top: 5px; margin-bottom: 5px; }"," .locksmith-cta { text-align: left; }"," }"," @media screen and (min-width: 601px) {"," .locksmith-narrow-only { display: none !important; }"," }","</style>"].join("")+e.map(function(e){return'<div class="locksmith-message">'+e+"</div>"}).join(""),document.body.appendChild(t),document.body.style.position="relative",document.body.parentElement.style.paddingBottom=t.offsetHeight+"px",setTimeout(function(){t.style.bottom=0,t.style.opacity=1},50),s.util.on("click","locksmith-ab-toggle",function(e){e.preventDefault();for(var t=e.target.parentElement;-1===t.className.split(" ").indexOf("locksmith-ab");)t=t.parentElement;-1!==t.className.split(" ").indexOf("toggled")?t.className=t.className.replace("toggled",""):t.className=t.className+" toggled"}),s.util.enableActions(t)}}()}();</script>
5 6
6<script data-locksmith>Locksmith.cache.cart=null</script>
6 7 8
8<script data-locksmith>Locksmith.jsonTag="{\"version\":\"v346\",\"locked\":false,\"initialized\":true,\"scope\":\"index\",\"access_granted\":true,\"access_denied\":false,\"requires_customer\":false,\"manual_lock\":false,\"remote_lock\":false,\"has_timeout\":false,\"remote_rendered\":null,\"hide_resource\":false,\"hide_links_to_resource\":false,\"hide_price\":false,\"hide_add_to_cart\":false,\"transparent\":true,\"locks\":{\"all\":[],\"opened\":[]},\"keys\":[],\"keys_signature\":\"a6111dc4847a5059d4622e3d27b184dd5cbae461b5d6fc459feab12efb47932d\",\"state\":{\"template\":\"index\",\"theme\":151830298694,\"product\":null,\"collection\":null,\"page\":null,\"blog\":null,\"article\":null,\"app\":null},\"now\":1791103101,\"path\":\"\\\/\",\"locale_root_url\":\"\\\/\",\"canonical_url\":\"https:\\\/\\\/printroom.co\\\/\",\"customer_id\":null,\"customer_id_signature\":\"a6111dc4847a5059d4622e3d27b184dd5cbae461b5d6fc459feab12efb47932d\",\"cart\":null}";Locksmith.jsonTagSignature="176d87d0d7a683bcb5a8133c209a9ff2cf0e86e7a055c5fa4a3bdf556316073b"</script>
8 9<meta name="google-site-verification" content="r89mOlbEOfEjECOwEHOd5jrv5jGOJeGHPXM78LaGLXY" /> 10 11 <meta charset="utf-8"> 12 <meta http-equiv="X-UA-Compatible" content="IE=edge"> 13 <meta name="viewport" content="width=device-width,initial-scale=1"> 14 <meta name="theme-color" content="">
15<script> 16 window.dataLayer = window.dataLayer || []; 17 window.dataLayer.push({ 18 store_access: 'public', 19 store_type: 'main', 20 page_template: "index" 21 }); 22 window.prTrackLead = window.prTrackLead || function (detail) { 23 try { 24 detail = detail || {}; 25 var ud = detail.user_data || {}; 26 var email = (ud.email || '').toString().trim().toLowerCase(); 27 var phone = (ud.phone_number || '').toString().replace(/[^0-9+]/g, ''); 28 window.dataLayer.push({ 29 event: 'generate_lead', 30 lead_type: detail.lead_type || 'unknown', 31 form_id: detail.form_id || null, 32 page_path: window.location.pathname, 33 /* Enhanced Conversions for Leads â GTM's user-provided-data variable reads 34 user_data.{email,phone_number}; Google hashes (SHA-256) client-side. 35 Same key shape as the quote/book-a-call pushes in global.bundle.js so ONE 36 GTM variable covers every lead type. */ 37 user_data: { 38 email: email || undefined, 39 phone_number: phone || undefined 40 } 41 }); 42 } catch (e) {} 43 }; 44 </script>
44<script> 45 if (!window.__prGtmLoaded) { 46 window.__prGtmLoaded = true;
vendor: 455 bytes, lines 46-56
46 47 (function (w, d, s, l, i) { 48 w[l] = w[l] || []; 49 w[l].push({ 'gtm.start': new Date().getTime(), event: 'gtm.js' }); 50 var f = d.getElementsByTagName(s)[0], 51 j = d.createElement(s), 52 dl = l != 'dataLayer' ? '&l=' + l : ''; 53 j.async = true; 54 j.src = 'https://www.googletagmanager.com/gtm.js?id=' + i + dl; 55 f.parentNode.insertBefore(j, f); 56 })(window, document, 'script', 'dataLayer', '
56GTM-W9DFFGB
vendor: 8 bytes, lines 56-57
56'); 57
57} 58 </script>
58 59 60 <link rel="canonical" href="https://printroom.co/"> 61 62 63 64 65 <link rel="preconnect" href="https://cdn.shopify.com" crossorigin> 66 67 <link rel="preload" as="image" 68 href="//printroom.co/cdn/shop/t/59/assets/The-Print-Room-November-2023-10-_1__m.jpg?v=1737129601&width=800?v=39003" 69 type="image/jpeg" 70 fetchpriority="high"> 71
72<script> 73(function() { 74 'use strict'; 75 var observer = new MutationObserver(function(mutations) { 76 mutations.forEach(function(mutation) { 77 mutation.addedNodes.forEach(function(node) { 78 if (node.tagName === 'SCRIPT' && node.src && node.src.includes('popt.in')) { 79 node.remove(); 80 } 81 }); 82 }); 83 }); 84 observer.observe(document.documentElement, { childList: true, subtree: true }); 85})(); 86</script>
86<script> 87document.addEventListener('DOMContentLoaded', function() { 88 var scripts = document.querySelectorAll('script[data-block-script]'); 89 if (!scripts.length) return; 90 if (window.Shopify && window.Shopify.designMode) { 91 scripts.forEach(function(s) { 92 var real = document.createElement('script'); 93 real.textContent = s.textContent; 94 s.parentNode.replaceChild(real, s); 95 }); 96 return; 97 } 98 var io = new IntersectionObserver(function(entries) { 99 entries.forEach(function(entry) { 100 if (!entry.isIntersecting) return; 101 io.unobserve(entry.target); 102 var pending = entry.target.querySelector('script[data-block-script]'); 103 if (pending) { 104 var real = document.createElement('script'); 105 real.textContent = pending.textContent; 106 pending.parentNode.replaceChild(real, pending); 107 } 108 }); 109 }, { rootMargin: '300px' }); 110 scripts.forEach(function(s) { 111 var block = s.closest('[data-ai-block]') || s.parentElement; 112 io.observe(block); 113 }); 114}); 115</script>
115<script> 116setTimeout(function() { 117 'use strict'; 118 119 // Google Tag Manager loads early + reliably via the 'gtm-head' snippet 120 // (settings.gtm_container_id). The old "remove existing GTM then re-inject after 121 // 3s" hack saved ~922ms but delayed the Ads Conversion Linker (breaking gclid 122 // attribution) and dropped fast-bounce visitors from analytics. Do NOT re-add it. 123 124 // LAZY LOAD THIRD-PARTY ANALYTICS 125 var loadThirdPartyScripts = function() { 126 if (typeof fbq === 'undefined') { 127 !function(f,b,e,v,n,t,s){ 128 if(f.fbq)return;n=f.fbq=function(){n.callMethod? 129 n.callMethod.apply(n,arguments):n.queue.push(arguments)}; 130 if(!f._fbq)f._fbq=n;n.push=n;n.loaded=!0;n.version='2.0'; 131 n.queue=[];t=b.createElement(e);t.async=!0; 132 t.src=v;s=b.getElementsByTagName(e)[0]; 133 s.parentNode.insertBefore(t,s) 134 }(window,document,'script','https://connect.facebook.net/en_US/fbevents.js'); 135 } 136 if (typeof clarity === 'undefined' && window.clarityCode) { 137 (function(c,l,a,r,i,t,y){ 138 c[a]=c[a]||function(){(c[a].q=c[a].q||[]).push(arguments)}; 139 t=l.createElement(r);t.async=1;t.src="https://www.clarity.ms/tag/"+i; 140 y=l.getElementsByTagName(r)[0];y.parentNode.insertBefore(t,y); 141 })(window,document,"clarity","script",window.clarityCode); 142 } 143 }; 144 if ('requestIdleCallback' in window) { 145 requestIdleCallback(loadThirdPartyScripts, { timeout: 5000 }); 146 } else { 147 setTimeout(loadThirdPartyScripts, 5000); 148 } 149 150 // LINK PREFETCH ON HOVER 151 var NO_PREFETCH = ['/cart','/checkout','/account','/admin','/password','/challenge','/apps/','/tools/','/services/']; 152 var prefetched = {}; 153 var hoverTimer = null; 154 155 function shouldPrefetch(href) { 156 try { 157 var url = new URL(href, location.origin); 158 if (url.origin !== location.origin) return false; 159 if (url.pathname === location.pathname) return false; 160 if (prefetched[url.pathname]) return false; 161 if (navigator.connection && navigator.connection.saveData) return false; 162 for (var i = 0; i < NO_PREFETCH.length; i++) { 163 if (url.pathname.indexOf(NO_PREFETCH[i]) === 0) return false; 164 } 165 var ext = url.pathname.split('.').pop(); 166 if (['jpg','jpeg','png','gif','svg','webp','pdf','zip','css','js'].indexOf(ext) !== -1) return false; 167 return true; 168 } catch (e) { 169 return false; 170 } 171 } 172 173 function prefetchUrl(href) { 174 var url = new URL(href, location.origin); 175 if (prefetched[url.pathname]) return; 176 prefetched[url.pathname] = true; 177 var link = document.createElement('link'); 178 link.rel = 'prefetch'; 179 link.href = href; 180 link.as = 'document'; 181 document.head.appendChild(link); 182 } 183 184 document.addEventListener('pointerenter', function(e) { 185 var a = e.target.closest ? e.target.closest('a[href]') : null; 186 if (!a || !shouldPrefetch(a.href)) return; 187 var delay = e.pointerType === 'mouse' ? 65 : 0; 188 hoverTimer = setTimeout(function() { prefetchUrl(a.href); }, delay); 189 }, { capture: true, passive: true }); 190 191 document.addEventListener('pointerleave', function() { 192 if (hoverTimer) { clearTimeout(hoverTimer); hoverTimer = null; } 193 }, { capture: true, passive: true }); 194 195 if ('requestIdleCallback' in window) { 196 requestIdleCallback(function() { 197 var navLinks = document.querySelectorAll('nav a[href], [data-theme-header] a[href]'); 198 var count = 0; 199 navLinks.forEach(function(a) { 200 if (count < 5 && shouldPrefetch(a.href)) { 201 prefetchUrl(a.href); 202 count++; 203 } 204 }); 205 }, { timeout: 3000 }); 206 } 207 208 // BFCACHE SUPPORT 209 window.addEventListener('pageshow', function(event) { 210 if (event.persisted) { 211 fetch('/cart.js').then(function(r) { return r.json(); }).then(function(data) { 212 document.querySelectorAll('[data-cart-count]').forEach(function(el) { 213 el.textContent = data.item_count; 214 }); 215 if (window.Alpine && window.Alpine.store && window.Alpine.store('cartCount')) { 216 window.Alpine.store('cartCount').count = data.item_count; 217 } 218 }).catch(function() {}); 219 } 220 }); 221}, 0); 222</script>
222<script type="speculationrules"> 223{ 224 "prerender": [{ 225 "where": { 226 "and": [ 227 { "href_matches": "/*" }, 228 { "not": { "href_matches": [ 229 "/cart", "/cart/*", 230 "/checkout", "/checkout/*", 231 "/account", "/account/*", 232 "/admin/*", 233 "/password", 234 "/challenge/*", 235 "/apps/*", 236 "/tools/*", 237 "/services/*" 238 ] } }, 239 { "not": { "selector_matches": "[target=_blank]" } } 240 ] 241 }, 242 "eagerness": "moderate" 243 }], 244 "prefetch": [{ 245 "where": { 246 "and": [ 247 { "href_matches": "/*" }, 248 { "not": { "href_matches": [ 249 "/cart", "/cart/*", 250 "/checkout", "/checkout/*", 251 "/account", "/account/*" 252 ] } } 253 ] 254 }, 255 "eagerness": "moderate" 256 }] 257} 258</script>
258 259 260 261<style> 262 .hero-image, [data-hero-image] { aspect-ratio: 16/9; width: 100%; height: auto; background-color: #f0f0f0; } 263 .product-image { aspect-ratio: 1/1; background-color: #fafafa; } 264 header, .header { min-height: 60px; } 265 main { min-height: 100vh; } 266 .skeleton { animation: skeleton-loading 1.5s infinite ease-in-out; background: linear-gradient(90deg,#f0f0f0 25%,#e0e0e0 50%,#f0f0f0 75%); background-size: 200% 100%; } 267 @keyframes skeleton-loading { 0% { background-position: 200% 0; } 100% { background-position: -200% 0; } } 268 @media (prefers-reduced-motion: reduce) { *, *::before, *::after { animation-duration: 0.01ms !important; transition-duration: 0.01ms !important; } } 269 @media (max-width: 1023px) { .hero-image-mobile, [data-hero-image-mobile] { aspect-ratio: 9/16; } } 270 </style><link 271 rel="icon" 272 type="image/png" 273 href="//printroom.co/cdn/shop/files/pr_branding_logo_favicon_flag-01_11ede80e-5ae5-41fe-8eb2-87dee0e48e14.png?crop=center&height=32&v=1646960588&width=32" 274 ><link rel="preconnect" href="https://fonts.shopifycdn.com" crossorigin> 275 276 277 278 279 <!-- default to true --><!-- pageTitleTemplate: Custom Merch Partner Australia | Premium Branded Merchandise --> 280 <!-- pageTitleToParse": Custom T-Shirt Printing, Embroidery & Promo Products NZ | Print Room --> 281 <!-- pageTitleTruncateApplicable: true --> 282 283 <!-- pluginseo_pageTitleTemplateApplyToAll: true --> 284 <!-- pageTitleTruncateApplicable: true --><!-- Custom page title: Yes --><title>Custom Merch Partner Australia | Premium Branded Merchandise</title> <!-- default to true --><!-- metaDescriptionTemplate: Australia's premium merch partner for custom branded merchandise, in-house screen printing, embroidery, water-based inks and fast Australia-wide delivery. --> 285 <!-- metaDescriptionToParse": NZâs experts in custom t-shirt printing, tote bags, uniforms, and branded merchandise. Print Room offers high-quality screen printing and embroidery using eco-friendly inks. Fast turnaround, sustainable production, and trusted by leading New Zealand brands. --> 286 <!-- metaDescriptionTruncateApplicable: true --> 287 288 <!-- pluginseo_metaDescriptionTemplateApplyToAll: true --> 289 <!-- metaDescriptionTruncateApplicable: true --><!-- Yes --><meta name="description" content="Australia's premium merch partner for custom branded merchandise, in-house screen printing, embroidery, water-based inks and fast Australia-wide delivery." />
290<script data-desc="seo-organization" type="application/ld+json"> 291 { 292 "@context": "http://schema.org", 293 "@type": "Organization", 294 "additionalType": "https://schema.org/OnlineStore", 295 "@id": "https://printroom.co#organization", 296 "name": "The Print Room", 297 "url": "https://printroom.co", 298 "description": "Australia's premium merch partner for custom branded merchandise, in-house screen printing, embroidery, water-based inks and fast Australia-wide delivery.","logo": { 299 "type": "ImageObject", 300 "url": "https://printroom.co/cdn/shop/t/59/assets/pluginseo_structuredDataLogo_small.png?v=39003" 301 }, 302 "image": "https://printroom.co/cdn/shop/t/59/assets/pluginseo_structuredDataLogo_small.png?v=39003","areaServed": [{ "@type": "Country", "name": "Australia" }, 303 { "@type": "Country", "name": "New Zealand" }], 304 "sameAs": ["https://www.linkedin.com/company/theprintroom"] 305 } 306</script>
306<script data-desc="seo-website" type="application/ld+json"> 307 { 308 "@context": "http://schema.org", 309 "@type": "WebSite", 310 "name": "The Print Room", 311 "url": "https://printroom.co", 312 "inLanguage": "en", 313 "potentialAction": { 314 "@type": "SearchAction", 315 "target": "https://printroom.co/search?q={search_term_string}", 316 "query-input": "required name=search_term_string" 317 } 318 } 319</script>
319<meta name="pluginseo" content="Plug in SEO Plus" data-ptf="s-te_ix" data-mdf="s-te_ix" /> 320 321 322
322<script type="esms-options"> 323 { 324 "noLoadEventRetriggers": true 325 } 326</script>
326 327
328<script> 329 if ( 330 !(HTMLScriptElement.supports && HTMLScriptElement.supports('importmap')) 331 ) { 332 const importMapShimScriptEl = document.createElement('script'); 333 importMapShimScriptEl.src = '//printroom.co/cdn/shop/t/59/assets/es-module-shims.bundle.min.js?v=98603786603752121101787098437' 334 importMapShimScriptEl.async = true; 335 336 document.currentScript.after(importMapShimScriptEl); 337 } 338</script>
vendor: 1 bytes, line 338
338
339<script async crossorigin fetchpriority="high" src="/cdn/shopifycloud/importmap-polyfill/es-modules-shim.2.4.0.js"></script>
vendor: 1 bytes, line 339
339
340<script type="importmap"> 341 { 342 "imports": { 343 "vendor": "//printroom.co/cdn/shop/t/59/assets/vendor.bundle.min.js?v=124729801276099409011787098433", 344 "deferrable-data": "//printroom.co/cdn/shop/t/59/assets/deferrable-data.bundle.js?v=160370895301608380811787098437", 345 "@supabase/supabase-js": "//printroom.co/cdn/shop/t/59/assets/supabase-js.bundle.js?v=151185893978749678631787098436", 346 "product": "//printroom.co/cdn/shop/t/59/assets/island-product.bundle.js?v=53162399053546849101790733316", 347 "quick-buy": "//printroom.co/cdn/shop/t/59/assets/island-quick-buy.bundle.js?v=147469616221971819701787098437", 348 "ai-chatbot": "//printroom.co/cdn/shop/t/59/assets/ai-chatbot.bundle.js?v=114215721854634402901788472409", 349 "leavers-quote-builder": "//printroom.co/cdn/shop/t/59/assets/leavers-quote-builder.bundle.js?v=140741536858912509621787098436", 350 "leavers-product-grid": "//printroom.co/cdn/shop/t/59/assets/leavers-product-grid.bundle.js?v=101839867699394922961787098435" 351 } 352 } 353</script>
353 354
355<script> 356 (function() { 357 var _originalAlert = window.alert; 358 window.alert = function(message) { 359 if (message && message.toLowerCase().includes('personalized text')) { 360 message = 'This field is required to place an order.'; 361 } 362 _originalAlert.call(window, message); 363 }; 364 })(); 365 </script>
365 366 367
367<script>window.performance && window.performance.mark && window.performance.mark('shopify.content_for_header.start');</script>
367<meta name="google-site-verification" content="r89mOlbEOfEjECOwEHOd5jrv5jGOJeGHPXM78LaGLXY"> 368<meta id="shopify-digital-wallet" name="shopify-digital-wallet" content="/7054289/digital_wallets/dialog"> 369<meta id="in-context-paypal-metadata" data-shop-id="7054289" data-venmo-supported="false" data-environment="production" data-locale="en_US" data-paypal-v4="true" data-currency="USD"> 370<link rel="ucp" href="/.well-known/ucp" version="2026-08-25"><link rel="alternate" hreflang="x-default" href="https://theprintroom.nz/"> 371<link rel="alternate" hreflang="en" href="https://theprintroom.nz/"> 372<link rel="alternate" hreflang="en-AU" href="https://printroom.co/en-au"> 373<link rel="alternate" hreflang="en-CN" href="https://printroom.co/"> 374<link rel="alternate" hreflang="en-FR" href="https://printroom.co/"> 375<link rel="alternate" hreflang="en-GB" href="https://printroom.co/"> 376<link rel="alternate" hreflang="en-US" href="https://printroom.co/">
377<script async="async" src="/checkouts/internal/preloads.js?locale=en-US&default_configuration_id=488013894"></script>
377 378<link rel="preconnect" href="https://shop.app" crossorigin="anonymous">
379<script async="async" src="https://shop.app/checkouts/internal/preloads.js?locale=en-US&default_configuration_id=488013894&shop_id=7054289" crossorigin="anonymous"></script>
vendor: 1 bytes, line 379
379
380<script id="apple-pay-shop-capabilities" type="application/json">{"shopId":7054289,"countryCode":"NZ","currencyCode":"USD","merchantCapabilities":["supports3DS"],"merchantId":"gid:\/\/shopify\/Shop\/7054289","merchantName":"The Print Room","requiredBillingContactFields":["postalAddress","email","phone"],"requiredShippingContactFields":["postalAddress","email","phone"],"shippingType":"shipping","supportedNetworks":["visa","masterCard","amex","jcb"],"total":{"type":"pending","label":"The Print Room","amount":"1.00"},"shopifyPaymentsEnabled":true,"supportsSubscriptions":true}</script>
vendor: 1 bytes, line 380
380
381<script id="shopify-features" type="application/json">{"accessToken":"0a03320998ce9cf7ffe404a489cfebbd","betas":["rich-media-storefront-analytics"],"domain":"printroom.co","predictiveSearch":true,"shopId":7054289,"locale":"en"}</script>
vendor: 1 bytes, line 381
381
382<script>var Shopify = Shopify || {}; 383Shopify.shop = "the-print-room.myshopify.com"; 384Shopify.locale = "en"; 385Shopify.currency = {"active":"USD","rate":"0.57265452"}; 386Shopify.country = "US"; 387Shopify.theme = {"name":"Print_Room_Co","id":151830298694,"schema_name":"Baseline","schema_version":"3.3.1","theme_store_id":null,"role":"main"}; 388Shopify.theme.handle = "null"; 389Shopify.theme.style = {"id":null,"handle":null}; 390Shopify.cdnHost = "printroom.co/cdn"; 391Shopify.routes = Shopify.routes || {}; 392Shopify.routes.root = "/"; 393Shopify.shopJsCdnBaseUrl = "https://cdn.shopify.com/shopifycloud/shop-js"; 394Shopify.SignInWithShop = Shopify.SignInWithShop || {}; 395Shopify.SignInWithShop.User = Shopify.SignInWithShop.User || {}; 396Shopify.SignInWithShop.User.recognized = false;</script>
vendor: 1 bytes, line 396
396
397<script type="module">!function(o){(o.Shopify=o.Shopify||{}).modules=!0}(window);</script>
vendor: 1 bytes, line 397
397
398<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 398
398
399<script> 400 window.ShopifyPay = window.ShopifyPay || {}; 401 window.ShopifyPay.apiHost = "shop.app\/pay"; 402 window.ShopifyPay.redirectState = null; 403</script>
vendor: 1 bytes, line 403
403
404<script> 405 window.Shopify = window.Shopify || {}; 406 window.Shopify.SignInWithShop = window.Shopify.SignInWithShop || {}; 407 window.Shopify.SignInWithShop.assetMetrics = { sampleRate: 0.25 }; 408 window.Shopify.SignInWithShop.eligible = true; 409</script>
vendor: 1 bytes, line 409
409
410<script id="shop-js-analytics" type="application/json">{"pageType":"index"}</script>
vendor: 1 bytes, line 410
410
411<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 411
411
412<script type="module"> 413 await import("https://cdn.shopify.com/shopifycloud/shop-js/modules/v2/loader.init-shop-cart-sync.en.esm.js"); 414 415 window.Shopify.SignInWithShop?.initShopCartSync?.({"fedCMEnabled":true,"windoidEnabled":true}); 416 417</script>
vendor: 1 bytes, line 417
417
418<script> 419 window.Shopify = window.Shopify || {}; 420 if (!window.Shopify.featureAssets) window.Shopify.featureAssets = {}; 421 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"]}; 422</script>
vendor: 1 bytes, line 422
422
423<script>(function() { 424 var isLoaded = false; 425 function asyncLoad() { 426 if (isLoaded) return; 427 isLoaded = true; 428 var urls = ["\/\/d1liekpayvooaz.cloudfront.net\/apps\/customizery\/customizery.js?shop=the-print-room.myshopify.com","https:\/\/app.carboncheckout.com\/assets\/api\/shopify.min.js?shop=the-print-room.myshopify.com","https:\/\/static.klaviyo.com\/onsite\/js\/klaviyo.js?company_id=WkJ8Uf\u0026shop=the-print-room.myshopify.com","https:\/\/cdn.nfcube.com\/instafeed-dfc514f941e0dbcfd9799eba509c69d2.js?shop=the-print-room.myshopify.com","\/\/d1liekpayvooaz.cloudfront.net\/apps\/uploadery\/uploadery.js?shop=the-print-room.myshopify.com","https:\/\/cdn.grw.reputon.com\/assets\/widget.js?shop=the-print-room.myshopify.com","https:\/\/chimpstatic.com\/mcjs-connected\/js\/users\/3ec9f5a684c36f6bf11dc30fc\/1a983ba3b184a8fb5b6da3882.js?shop=the-print-room.myshopify.com","https:\/\/cdn.hextom.com\/js\/quickannouncementbar.js?shop=the-print-room.myshopify.com","https:\/\/app.popt.in\/pixel.js?id=e7ff5c60e84fb\u0026shop=the-print-room.myshopify.com"]; 429 for (var i = 0; i < urls.length; i++) { 430 var s = document.createElement('script'); 431 s.type = 'text/javascript'; 432 s.async = true; 433 s.src = urls[i]; 434 var x = document.getElementsByTagName('script')[0]; 435 x.parentNode.insertBefore(s, x); 436 } 437 }; 438 if(window.attachEvent) { 439 window.attachEvent('onload', asyncLoad); 440 } else { 441 window.addEventListener('load', asyncLoad, false); 442 } 443})();</script>
vendor: 1 bytes, line 443
443
444<script id="__st">var __st={"a":7054289,"offset":46800,"reqid":"cde7d174-c61c-45ba-8501-b6db499c8199-1791103101","pageurl":"printroom.co\/","u":"a59023f56c33","p":"home"};</script>
vendor: 1 bytes, line 444
444
445<script>window.ShopifyPaypalV4VisibilityTracking = true;</script>
vendor: 1 bytes, line 445
445
446<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 446
446
447<script integrity="sha256-JjoPp5ZfB1sSAs5SQaol1x1GgvveM+BgmRzyDexInEQ=" data-source-attribution="shopify.loadfeatures" defer="defer" src="//printroom.co/cdn/shopifycloud/storefront/assets/storefront/load_feature-1bd60354.js" crossorigin="anonymous"></script>
vendor: 1 bytes, line 447
447
448<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 = "//printroom.co/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>
448<script crossorigin="anonymous" defer="defer" src="//printroom.co/cdn/shopifycloud/storefront/assets/shopify_pay/storefront-616277c7.js?v=20250812"></script>
vendor: 1 bytes, line 448
448
449<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 449
449
450<script> 451 window.Shopify = window.Shopify || {}; 452 window.Shopify.MCP = window.Shopify.MCP || {}; 453 window.Shopify.MCP.enabled = true; 454 window.Shopify.MCP.shop = "the-print-room.myshopify.com"; 455 window.Shopify.MCP.mcpEndpoint = "https:\/\/printroom.co\/api\/mcp"; 456 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?\"\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."}},"required":["query"]}}]; 457</script>
vendor: 1 bytes, line 457
457
458<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("\/\/printroom.co\/cdn\/shopifycloud\/storefront\/assets\/storefront\/webmcp-c6b62ece.js","sha256-ke4DDuBjdvea3vxLWxHc9E9nq8zihuG4IfYEGbb77ys=");})(); 459</script>
vendor: 1 bytes, line 459
459
460<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://printroom.co/cdn/shopifycloud/portable-wallets/latest/portable-wallets.en.js",t.type="module",document.head.appendChild(t)}}; 461</script>
vendor: 1 bytes, line 461
461
462<script data-source-attribution="shopify.dynamic_checkout.buyer_consent"> 463 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); 464</script>
vendor: 1 bytes, line 464
464
465<script data-source-attribution="shopify.dynamic_checkout.cart.bootstrap">document.addEventListener("DOMContentLoaded",(function(){function t(){return document.querySelector("shopify-accelerated-checkout-cart, shopify-accelerated-checkout")}if(t())Shopify.PaymentButton.init();else{new MutationObserver((function(e,n){t()&&(Shopify.PaymentButton.init(),n.disconnect())})).observe(document.body,{childList:!0,subtree:!0})}})); 466</script>
466 467<link id="shopify-accelerated-checkout-styles" rel="stylesheet" media="screen" href="https://printroom.co/cdn/shopifycloud/portable-wallets/latest/accelerated-checkout-backwards-compat.css" crossorigin="anonymous"> 468<style id="shopify-accelerated-checkout-cart"> 469 #shopify-buyer-consent { 470 margin-top: 1em; 471 display: inline-block; 472 width: 100%; 473} 474 475#shopify-buyer-consent.hidden { 476 display: none; 477} 478 479#shopify-subscription-policy-button { 480 background: none; 481 border: none; 482 padding: 0; 483 text-decoration: underline; 484 font-size: inherit; 485 cursor: pointer; 486} 487 488#shopify-subscription-policy-button::before { 489 box-shadow: none; 490} 491 492 </style> 493
494<script id="shopify-cfh-end">window.performance && window.performance.mark && window.performance.mark('shopify.content_for_header.end');</script>
494 495 496 497 498 499 <link 500 rel="preload" 501 as="font" 502 href="//printroom.co/cdn/fonts/dm_sans/dmsans_n5.8a0f1984c77eb7186ceb87c4da2173ff65eb012e.woff2" 503 type="font/woff2" 504 crossorigin 505 > 506 507 508 509 <link 510 rel="preload" 511 as="font" 512 href="//printroom.co/cdn/fonts/dm_sans/dmsans_n4.ec80bd4dd7e1a334c969c265873491ae56018d72.woff2" 513 type="font/woff2" 514 crossorigin 515 > 516 517 518 519<style data-shopify> 520 @font-face { 521 font-family: "DM Sans"; 522 font-weight: 400; 523 font-style: normal; 524 font-display: swap; 525 src: url("//printroom.co/cdn/fonts/dm_sans/dmsans_n4.ec80bd4dd7e1a334c969c265873491ae56018d72.woff2") format("woff2"), 526 url("//printroom.co/cdn/fonts/dm_sans/dmsans_n4.87bdd914d8a61247b911147ae68e754d695c58a6.woff") format("woff"); 527} 528 529 @font-face { 530 font-family: "DM Sans"; 531 font-weight: 500; 532 font-style: normal; 533 font-display: swap; 534 src: url("//printroom.co/cdn/fonts/dm_sans/dmsans_n5.8a0f1984c77eb7186ceb87c4da2173ff65eb012e.woff2") format("woff2"), 535 url("//printroom.co/cdn/fonts/dm_sans/dmsans_n5.9ad2e755a89e15b3d6c53259daad5fc9609888e6.woff") format("woff"); 536} 537 538@font-face { 539 font-family: "DM Sans"; 540 font-weight: 700; 541 font-style: normal; 542 font-display: swap; 543 src: url("//printroom.co/cdn/fonts/dm_sans/dmsans_n7.97e21d81502002291ea1de8aefb79170c6946ce5.woff2") format("woff2"), 544 url("//printroom.co/cdn/fonts/dm_sans/dmsans_n7.af5c214f5116410ca1d53a2090665620e78e2e1b.woff") format("woff"); 545} 546@font-face { 547 font-family: "DM Sans"; 548 font-weight: 400; 549 font-style: italic; 550 font-display: swap; 551 src: url("//printroom.co/cdn/fonts/dm_sans/dmsans_i4.b8fe05e69ee95d5a53155c346957d8cbf5081c1a.woff2") format("woff2"), 552 url("//printroom.co/cdn/fonts/dm_sans/dmsans_i4.403fe28ee2ea63e142575c0aa47684d65f8c23a0.woff") format("woff"); 553} 554@font-face { 555 font-family: "DM Sans"; 556 font-weight: 700; 557 font-style: italic; 558 font-display: swap; 559 src: url("//printroom.co/cdn/fonts/dm_sans/dmsans_i7.52b57f7d7342eb7255084623d98ab83fd96e7f9b.woff2") format("woff2"), 560 url("//printroom.co/cdn/fonts/dm_sans/dmsans_i7.d5e14ef18a1d4a8ce78a4187580b4eb1759c2eda.woff") format("woff"); 561} 562@font-face { 563 font-family: "DM Sans"; 564 font-weight: 700; 565 font-style: normal; 566 font-display: swap; 567 src: url("//printroom.co/cdn/fonts/dm_sans/dmsans_n7.97e21d81502002291ea1de8aefb79170c6946ce5.woff2") format("woff2"), 568 url("//printroom.co/cdn/fonts/dm_sans/dmsans_n7.af5c214f5116410ca1d53a2090665620e78e2e1b.woff") format("woff"); 569} 570</style> 571 572<style>:root { 573 574 --font-size-xs: 0.64rem; 575 --font-size-sm: 0.8rem; 576 --font-size-base: 1rem; 577 --font-size-lg: 1.25rem; 578 --font-size-xl: 1.563rem; 579 --font-size-2xl: 1.953rem; 580 --font-size-3xl: 2.441rem; 581 --font-size-4xl: 3.052rem; 582 --font-size-5xl: 3.815rem; 583 --font-size-6xl: 4.768rem; 584 --font-size-7xl: 5.96rem; 585 --font-size-8xl: 7.451rem; 586 --font-size-9xl: 9.313rem; 587 588 --type-scale-n-2: var(--font-size-xs); 589 --type-scale-n-1: var(--font-size-sm); 590 --type-scale-n0: var(--font-size-base); 591 --type-scale-n1: var(--font-size-lg); 592 --type-scale-n2: var(--font-size-xl); 593 --type-scale-n3: var(--font-size-2xl); 594 --type-scale-n4: var(--font-size-3xl); 595 --type-scale-n5: var(--font-size-4xl); 596 --type-scale-n6: var(--font-size-5xl); 597 --type-scale-n7: var(--font-size-6xl); 598 --type-scale-n8: var(--font-size-7xl); 599 --type-scale-n9: var(--font-size-8xl); 600 --type-scale-n10: var(--font-size-9xl); 601 602 --base-font-size: 93.75%; 603 --base-font-size-from-settings: 15; 604 --base-line-height: 1.2; 605 --heading-line-height: 1; 606 607 font-size: var(--base-font-size); 608 line-height: var(--base-line-height); 609 610 --heading-font-stack: "DM Sans", sans-serif; 611 --heading-font-weight: 500; 612 --heading-font-style: normal; 613 614 615 --body-font-stack: "DM Sans", sans-serif; 616 --body-font-weight: 400; 617 --body-font-bold: FontDrop; 618 --body-font-bold-italic: FontDrop; 619 620 --color-gridline: 30 35 38; 621 --gridline-width: 0px; 622 623 --text-border-width: 1px; 624 --checkbox-width: 1px; 625 626 --font-heading: "DM Sans", sans-serif; 627 --font-body: "DM Sans", sans-serif; 628 --font-body-weight: 400; 629 --font-body-style: normal; 630 --font-body-bold-weight: bold; 631 632 --heading-letterspacing: -0.025em; 633 --heading-capitalize: none; 634 --heading-decoration: none; 635 636 --standard-heading-size: var(--type-scale-n3); 637 --feature-heading-size: var(--type-scale-n4); 638 --secondary-heading-size: var(--type-scale-n2); 639 640 --body-copy-transform: none; 641 642 --wrapperWidth: 100vw; 643 --gutter: 0px; 644 --rowHeight: calc((var(--wrapperWidth) - (11 * var(--gutter))) / 12); 645 646 --global-scrolling-items-speed-multiplier: 1; 647 648 --add-to-cart-button-height: 44px; 649 --checkout-button-height: 44px; 650 651 --spacing: 1rem; 652 --spacing-double: 2rem; 653 --spacing-half: 0.5rem; 654 655 /* Equivalent to px-2 */ 656 --section-horizontal-spacing-mobile: 0.5rem; 657 /* Equivalent to px-4 */ 658 --section-horizontal-spacing-desktop: 1rem; 659 660 --section-horizontal-spacing: var(--section-horizontal-spacing-mobile); 661 662 --icon-thickness: 1.5; 663 664 /** 665 * Buttons 666 */ 667 --button-text-transform: none; 668 --button-after-content: '\00a0\2192'; 669 --button-border-radius: 9999px; 670 671 /** 672 * Links 673 */ 674 --links-bottom-border-width: var(--text-border-width); 675 --links-bottom-padding: 0.25rem; 676 --links-text-transform: none; 677 --links-after-content: '\00a0\2192'; 678 --links-before-content: '\2190\00a0'; 679 680 background-color: rgb(var(--color-scheme-background)); 681 color: rgb(var(--color-scheme-text)); 682 } 683 684 @media (min-width: 1024px) { 685 :root { 686 --standard-heading-size: var(--type-scale-n5); 687 --feature-heading-size: var(--type-scale-n6); 688 --secondary-heading-size: var(--type-scale-n3); 689 690 --section-horizontal-spacing: var(--section-horizontal-spacing-desktop); 691 } 692 } 693 694 :root, 695 696 [data-color-scheme="scheme1"] { 697 --color-scheme-text: 43 57 144; 698 --color-scheme-background: 255 255 255; 699 --color-scheme-accent: 248 250 244; 700 --color-scheme-accent-contrast: 43 57 144; 701 --color-scheme-secondary: 30 35 38; 702 } 703 704 [data-color-scheme="scheme2"] { 705 --color-scheme-text: 30 35 38; 706 --color-scheme-background: 241 255 165; 707 --color-scheme-accent: 194 194 194; 708 --color-scheme-accent-contrast: 30 35 38; 709 --color-scheme-secondary: 30 35 38; 710 } 711 712 [data-color-scheme="scheme3"] { 713 --color-scheme-text: 248 250 244; 714 --color-scheme-background: 43 57 144; 715 --color-scheme-accent: 248 250 244; 716 --color-scheme-accent-contrast: 241 255 165; 717 --color-scheme-secondary: 43 57 144; 718 } 719 720 [data-color-scheme="scheme4"] { 721 --color-scheme-text: 248 250 244; 722 --color-scheme-background: 30 35 38; 723 --color-scheme-accent: 248 250 244; 724 --color-scheme-accent-contrast: 30 35 38; 725 --color-scheme-secondary: 248 250 244; 726 } 727 728 [data-color-scheme="scheme5"] { 729 --color-scheme-text: 30 35 38; 730 --color-scheme-background: 255 255 255; 731 --color-scheme-accent: 30 35 38; 732 --color-scheme-accent-contrast: 255 255 255; 733 --color-scheme-secondary: 30 35 38; 734 } 735 736 [data-color-scheme="scheme-62a93d7b-1ea3-42af-a18d-30461b13240a"] { 737 --color-scheme-text: 255 255 255; 738 --color-scheme-background: 255 255 255; 739 --color-scheme-accent: 255 255 255; 740 --color-scheme-accent-contrast: 255 255 255; 741 --color-scheme-secondary: 255 255 255; 742 } 743 744 [data-color-scheme="scheme-7c315ead-1873-415d-a1a8-a7722419ef69"] { 745 --color-scheme-text: 43 57 144; 746 --color-scheme-background: 255 255 255; 747 --color-scheme-accent: 30 35 38; 748 --color-scheme-accent-contrast: 30 35 38; 749 --color-scheme-secondary: 30 35 38; 750 } 751 752 [data-color-scheme="scheme-6641fd8c-0fdd-4ed9-bd94-b490824d6125"] { 753 --color-scheme-text: 30 35 38; 754 --color-scheme-background: 72 127 249; 755 --color-scheme-accent: 248 250 244; 756 --color-scheme-accent-contrast: 30 35 38; 757 --color-scheme-secondary: 30 35 38; 758 } 759 760 761 [data-color-scheme] { 762 --payment-terms-background-color: rgb(var(--color-scheme-background)); 763 764 --button-color-border: var(--color-scheme-text); 765 --button-color-background: var(--color-scheme-accent); 766 --button-color-text: var(--color-scheme-accent-contrast); 767 --button-color-border-hover: var(--color-scheme-text); 768 --button-color-background-hover: var(--color-scheme-text); 769 --button-color-text-hover: var(--color-scheme-background); 770 } 771 772 ::selection { 773 background-color: rgb(var(--color-scheme-accent)); 774 color: rgb(var(--color-scheme-accent-contrast)); 775 } 776
777 @keyframes scrolling-items { 778 0% { 779 transform: translate3d(0, 0, 0); 780 } 781 782 100% { 783 transform: translate3d(-50%, 0, 0); 784 } 785 } 786</style> 787 788<style id="generated-critical-css"> 789image-with-placeholder{display:block}.theme-button,.theme-button--secondary{cursor:pointer;font-size:var(--font-size-base);line-height:var(--base-line-height);overflow-wrap:anywhere;padding:.5rem 2rem;text-transform:var(--button-text-transform);word-break:normal}.theme-button--secondary:after,.theme-button:after{--tw-content:var(--button-after-content);content:var(--tw-content)}.theme-button{--tw-border-opacity:1;--tw-bg-opacity:1;--tw-text-opacity:1;background-color:rgb(var(--button-color-background)/var(--tw-bg-opacity,1));border-color:rgb(var(--button-color-border)/var(--tw-border-opacity,1));border-radius:var(--button-border-radius);border-width:var(--text-border-width);color:rgb(var(--button-color-text)/var(--tw-text-opacity,1))}@media (hover:hover) and (pointer:fine){.theme-button:hover{--tw-border-opacity:1;--tw-bg-opacity:1;--tw-text-opacity:1;background-color:rgb(var(--button-color-background-hover)/var(--tw-bg-opacity,1));border-color:rgb(var(--button-color-border-hover)/var(--tw-border-opacity,1));color:rgb(var(--button-color-text-hover)/var(--tw-text-opacity,1))}}.theme-button--secondary{--tw-border-opacity:1;--tw-bg-opacity:1;--tw-text-opacity:1;background-color:rgb(var(--color-scheme-background)/var(--tw-bg-opacity,1));border-color:rgb(var(--color-scheme-text)/var(--tw-border-opacity,1));border-radius:var(--button-border-radius);border-width:var(--text-border-width);color:rgb(var(--color-scheme-text)/var(--tw-text-opacity,1))}[data-color-scheme] .theme-button--secondary.rte a:hover,[data-color-scheme].theme-button--secondary .rte a:hover,[data-color-scheme].theme-button--secondary.rte a:hover{color:rgb(var(--color-scheme-accent));text-decoration-color:rgb(var(--color-scheme-accent))}[data-color-scheme] .theme-button--secondary.rte blockquote,[data-color-scheme].theme-button--secondary .rte blockquote,[data-color-scheme].theme-button--secondary.rte blockquote{background:rgb(var(--color-scheme-text));color:rgb(var(--color-scheme-background))}@media (hover:hover) and (pointer:fine){.theme-button--secondary:hover{--tw-border-opacity:1;--tw-text-opacity:1;border-color:rgb(var(--color-scheme-accent)/var(--tw-border-opacity,1));color:rgb(var(--color-scheme-accent)/var(--tw-text-opacity,1))}}[data-shopify-xr-hidden]{display:none}.block{display:block}.inline-block{display:inline-block}.hidden{display:none}.shopify-payment-button__button--hidden{display:none!important}.splide:not(.is-active) .\[\.splide\:not\(\.is-active\)_\&\]\:pointer-events-none{pointer-events:none}.splide:not(.is-active) .\[\.splide\:not\(\.is-active\)_\&\]\:invisible{visibility:hidden}.splide:not(.is-active) .\[\.splide\:not\(\.is-active\)_\&\]\:\!flex{display:flex!important}.splide:not(.is-active) .\[\.splide\:not\(\.is-active\)_\&\]\:gap-gridline{gap:var(--gridline-width)}@media not all and (min-width:1024px){.splide:not(.is-active) .max-lg\:\[\.splide\:not\(\.is-active\)_\&\]\:hidden{display:none}} 790</style> 791<style id="manual-critical-css"> 792 html { 793 background-color: rgb(var(--color-primary-background)); 794 color: rgb(var(--color-primary-text)); 795 font-size: var(--base-font-size); 796 line-height: var(--base-line-height); 797 } 798 799 [x-cloak] { 800 display: none; 801 } 802 803 data-island { 804 display: block; 805 } 806 807 html.no-js [x-cloak].no-js-undo-cloak { 808 display: revert; 809 } 810 811 body { 812 display: flex; 813 flex-direction: column; 814 min-height: 100vh; 815 } 816 817 @media (min-width: 768px) { 818 [md\:undo-x-cloak-block] { 819 display: block; 820 } 821 } 822 823 @media (max-width: 767px) { 824 [max-md\:undo-x-cloak-block] { 825 display: block; 826 } 827 } 828</style> 829 830 <style> 831 :root { 832 /* ââ Colors ââ */ 833 --pr-blue: #2B3990; 834 --pr-blue-hover: #232e75; 835 --pr-bright-blue: #487FF9; /* matches product-page volume-pricing table */ 836 --pr-bright-blue-hover: #3D6CD4; 837 --pr-bright-blue-rgb: 72 127 249; 838 --pr-bright-blue-hover-rgb: 61 108 212; 839 --dusky-purple: #4B4D72; 840 --dusky-purple-hover: #3d3f5e; 841 --slider-green: #658a6a; 842 --off-white: #FBFBF6; 843 --pill-bg: #EEE; 844 --pill-bg-hover: #e2e2e2; 845 --cant-find-bg: #EFFE9C; 846 847 /* ââ Typography ââ */ 848 --font-family: 'DM Sans', sans-serif;
849 --title-modal-size: 2.75rem; /* 44px */ 850 --title-modal-tracking: -0.05em; /* -2.2px */ 851 --title-drawer-size: 41px; 852 --title-drawer-tracking: -2px; 853 --body-size: 0.9375rem; /* 15px */ 854 --label-size: 0.8125rem; /* 13px */ 855 --pill-font-size: 0.66rem; /* ~10.65px */ 856 --cta-font-size: 1.5rem; /* 24px */ 857 --submit-font-size: 1.5rem; /* 24px */ 858 --input-font-size: 0.875rem; /* 14px */ 859 860 /* ââ Borders ââ */ 861 --border-modal: 2px solid black; 862 --border-drawer-left: 2px solid black; 863 --border-pill: 0.666px solid black; 864 --border-input: 1px solid black; 865 --border-cta: 2px solid var(--dusky-purple); 866 --border-chip: 0.4px solid black; 867 868 /* ââ Radii ââ */ 869 --radius-modal: 27px; 870 --radius-pill: 9999px; 871 --radius-input: 9999px; 872 --radius-textarea: 10px; 873 --radius-submit: 50px; 874 --radius-cta: 40px; 875 --radius-chip: 24px; 876 --radius-popover: 16px; 877 878 /* ââ Shadows ââ */ 879 --shadow-modal: 0 4px 13px 2px rgba(0, 0, 0, 0.1); 880 --shadow-popover: 0 10px 25px rgba(0, 0, 0, 0.1); 881 --shadow-slider-thumb: 0 2px 6px rgba(0, 0, 0, 0.15); 882 --shadow-focus: 0 0 0 3px rgba(43, 57, 144, 0.1); 883 884 /* ââ Sizing ââ */ 885 --product-image-drawer: 90px; 886 --product-image-modal: 53px; 887 --pill-height: 23px; 888 --submit-height: 70px; 889 --submit-max-width: 351px; 890 --start-quote-height: 79px; 891 --input-min-height: 2.75rem; /* 44px */ 892 --slider-thumb-size: 24px; 893 --slider-track-height: 6px; 894 --cta-width: 153px; 895 --cta-height: 47px; 896 --chip-width: 90px; 897 --chip-height: 21px; 898 899 /* ââ Aliases (backward compat) ââ */ 900 --color-quote-accent: var(--pr-blue); 901 } 902</style> 903 904 905 <link rel="preload" href="//printroom.co/cdn/shop/t/59/assets/base.bundle.css?v=77867960145098054751787098434" as="style" onload="this.onload=null;this.rel='stylesheet'"> 906 <noscript><link rel="stylesheet" href="//printroom.co/cdn/shop/t/59/assets/base.bundle.css?v=77867960145098054751787098434"></noscript> 907 908 <link rel="preload" href="//printroom.co/cdn/shop/t/59/assets/styles.css?v=1691680456440492591789529106" as="style" onload="this.onload=null;this.rel='stylesheet'"> 909 <noscript><link rel="stylesheet" href="//printroom.co/cdn/shop/t/59/assets/styles.css?v=1691680456440492591789529106"></noscript> 910 911<meta property="og:site_name" content="The Print Room"> 912<meta property="og:locale" content="en"><meta property="og:locale:alternate" content="en_NZ"><meta property="og:url" content="https://printroom.co/"><meta property="og:title" content=" 913 914 915 916 917 918 919 920 921 922 923 924 925 926 927Custom Merch Partner Australia | Premium Branded Merchandise 928"> 929<meta property="og:type" content="website"> 930<meta property="og:description" content="Australia's premium merch partner for custom branded merchandise, in-house screen printing, embroidery, water-based inks and fast Australia-wide delivery."> 931<meta property="og:image" content="https://printroom.co/cdn/shop/files/PrintRoomNovember2024-13_507c1311-d6fa-40ae-ae11-a74b59c4faec.jpg?v=1753319129"> 932<meta 933 property="og:image:secure_url" 934 content="https://printroom.co/cdn/shop/files/PrintRoomNovember2024-13_507c1311-d6fa-40ae-ae11-a74b59c4faec.jpg?v=1753319129" 935 > 936 <meta property="og:image:width" content="2048"> 937 <meta property="og:image:height" content="1367"><meta name="twitter:card" content="summary_large_image"><meta name="twitter:title" content=" 938 939 940 941 942 943 944 945 946 947 948 949 950 951 952Custom Merch Partner Australia | Premium Branded Merchandise 953"> 954<meta name="twitter:description" content="Australia's premium merch partner for custom branded merchandise, in-house screen printing, embroidery, water-based inks and fast Australia-wide delivery.">
955<script> 956 window.THEMENAME = 'Baseline'; 957 window.THEMEVERSION = '3.0.0'; 958 959 document.documentElement.className = document.documentElement.className.replace('no-js', 'js'); 960 961 function debounce(fn, wait) { 962 let t; 963 return (...args) => { 964 clearTimeout(t); 965 t = setTimeout(() => fn.apply(this, args), wait); 966 }; 967 } 968 969 window.theme = { 970 strings: { 971 loading: "Loading", 972 itemCountOne: "{{ count }} item", 973 itemCountOther: "{{ count }} items", 974 addToCart: "Add to cart", 975 soldOut: "Sold out", 976 unavailable: "Unavailable", 977 regularPrice: "Regular price", 978 salePrice: "Sale price", 979 sale: "Sale", 980 unitPrice: "Unit price", 981 unitPriceSeparator: "per", 982 cartEmpty: "Your cart is currently empty.", 983 cartCookies: "Enable cookies to use the shopping cart", 984 update: "Update", 985 quantity: "Quantity", 986 discountedTotal: "Discounted total", 987 regularTotal: "Regular total", 988 priceColumn: "See Price column for discount details.", 989 addedToCart: "Added to Cart!", 990 cartError: "There was an error while updating your cart. Please try again.", 991 cartAddError: "All {{ title }} are in your cart.", 992 shippingCalculatorResultsTitleOne: "There is 1 rate:",
993 shippingCalculatorResultsTitleMany: "There are {{ count }} rates:", 994 }, 995 routes: { 996 root_url: "\/", 997 predictive_search_url: "\/search\/suggest", 998 cart_url: "\/cart", 999 cart_add_url: "\/cart\/add", 1000 cart_change_url: "\/cart\/change", 1001 cart_update_url: "\/cart\/update", 1002 cart_clear_url: "\/cart\/clear", 1003 }, 1004 moneyFormat: "${{amount}}", 1005 moneyWithCurrencyFormat: "${{amount}} USD", 1006 get defaultMoneyFormat() { 1007 return this.moneyFormat; 1008 }, 1009 cartItemCount: 0, 1010 settings: { 1011 cartType: "page", 1012 openDrawerOnAddToCart: false 1013 }, 1014 info: { 1015 name: 'Baseline', 1016 } 1017 }; 1018</script>
vendor: 1 bytes, line 1018
1018
1019<script src="//printroom.co/cdn/shop/t/59/assets/utils.js?v=84782252304122448471787098437" defer></script>
1019 1020
1020<script src="//printroom.co/cdn/shop/t/59/assets/images.js?v=56710371490645595961787098434" defer></script>
1020 1021
1021<script> 1022 window.themeEventsDebugMode = false; 1023 </script>
1023 1024
1024<script src="//printroom.co/cdn/shop/t/59/assets/theme-events.js?v=133344252210966700221787098437" defer></script>
1024 1025 1026 1027 1028 1029 1030 <!-- "snippets/shogun-head.liquid" was not rendered, the associated app was uninstalled --> 1031
1031<script type="text/javascript"> 1032window.PunchoutSettings = { 1033 "cloud_url": "https://cloud.punchoutexpress.com", 1034 "token": "ba56ba1530c75285dc7e1f854b4ad1a1", 1035 "checkout_selector": "#main-cart-footer div.items-center", 1036 "checkout_text": "Transfer Cart", 1037 "cancel_selector": "#main-cart-footer div.items-center", 1038 "cancel_text": "Cancel", 1039 "hide_selector": "*[name=\"checkout\"],.shopify-payment-button,.additional-checkout-buttons,.additional-checkout-button, #main-cart-footer button.theme-button--secondary, #main-cart-footer button.text-button", 1040 "cart_container_selector": "#CartContainer,#CartDrawer,#ajaxifyModal" 1041 }; 1042</script>
1042 1043 1044 <!-- Punchout Cloud -->
1045<script src="https://cdn.cloud.punchoutexpress.com/cloud/assets-shopify/0.2.0/punchout.min.js?v5_24_0" defer="defer"></script>
1045 1046<style type="text/css">.btn-punchout-cancel {margin-left: 10px;}</style> 1047<!-- /Punchout Cloud --> 1048 1049 1050
1051<script> 1052(function() { 1053 console.log('[TWOA Punchout] Script loaded'); 1054 1055 // Check if we're on the Te Wananga page and Locksmith is present 1056 const isTWOAPage = window.location.pathname.includes('te-wananga-o-aotearoa'); 1057 console.log('[TWOA Punchout] Is TWOA page:', isTWOAPage); 1058 console.log('[TWOA Punchout] Current path:', window.location.pathname); 1059 1060 if (isTWOAPage) { 1061 // Check if punchout session is already active 1062 const urlParams = new URLSearchParams(window.location.search); 1063 const hasPunchoutSession = urlParams.has('punchout_sess_id'); 1064 console.log('[TWOA Punchout] Has punchout session:', hasPunchoutSession); 1065 1066 if (!hasPunchoutSession) { 1067 console.log('[TWOA Punchout] No punchout session detected, will auto-activate'); 1068 1069 // Wait for page to fully load, then activate punchout 1070 window.addEventListener('load', function() { 1071 // Check if there's a Locksmith password form visible 1072 const hasPasswordForm = document.querySelector('form[data-locksmith-form], input[type="password"][name*="lock"]'); 1073 1074 console.log('[TWOA Punchout] Page loaded - Has password form:', !!hasPasswordForm); 1075 1076 if (!hasPasswordForm) { 1077 // No password form = user has access, activate punchout immediately 1078 console.log('[TWOA Punchout] â Access granted - activating punchout session'); 1079 const punchoutId = Date.now().toString() + Math.random().toString(36).substring(2, 15); 1080 const newUrl = new URL(window.location.href); 1081 newUrl.searchParams.set('punchout_sess_id', punchoutId); 1082 1083 // Store in sessionStorage to persist across page navigation 1084 sessionStorage.setItem('twoa_punchout_active', 'true'); 1085 sessionStorage.setItem('twoa_punchout_id', punchoutId); 1086 console.log('[TWOA Punchout] Session ID:', punchoutId); 1087 1088 // Redirect with punchout parameter 1089 console.log('[TWOA Punchout] Redirecting to:', newUrl.toString()); 1090 window.location.href = newUrl.toString(); 1091 } else { 1092 console.log('[TWOA Punchout] Password form detected, waiting for login...'); 1093 1094 // Watch for form submission / successful login 1095 const checkForAccess = setInterval(function() { 1096 const formStillVisible = document.querySelector('form[data-locksmith-form], input[type="password"][name*="lock"]'); 1097 1098 if (!formStillVisible) { 1099 console.log('[TWOA Punchout] â Password form disappeared - activating punchout'); 1100 clearInterval(checkForAccess); 1101 1102 const punchoutId = Date.now().toString() + Math.random().toString(36).substring(2, 15); 1103 sessionStorage.setItem('twoa_punchout_active', 'true'); 1104 sessionStorage.setItem('twoa_punchout_id', punchoutId); 1105 1106 const newUrl = new URL(window.location.href); 1107 newUrl.searchParams.set('punchout_sess_id', punchoutId); 1108 window.location.href = newUrl.toString(); 1109 } 1110 }, 500); 1111 1112 // Stop after 30 seconds 1113 setTimeout(() => clearInterval(checkForAccess), 30000); 1114 } 1115 }); 1116 } else { 1117 // If punchout is already active, store it in session 1118 console.log('[TWOA Punchout] Punchout already active, storing in session'); 1119 sessionStorage.setItem('twoa_punchout_active', 'true'); 1120 sessionStorage.setItem('twoa_punchout_id', urlParams.get('punchout_sess_id')); 1121 } 1122 } 1123 1124 // Apply punchout session to all pages if Te Wananga session is active 1125 const storedPunchoutActive = sessionStorage.getItem('twoa_punchout_active'); 1126 const storedPunchoutId = sessionStorage.getItem('twoa_punchout_id'); 1127 console.log('[TWOA Punchout] Session storage - Active:', storedPunchoutActive, 'ID:', storedPunchoutId); 1128 1129 if (storedPunchoutActive === 'true' && storedPunchoutId) { 1130 const urlParams = new URLSearchParams(window.location.search); 1131 if (!urlParams.has('punchout_sess_id')) { 1132 console.log('[TWOA Punchout] Applying stored punchout session to current page'); 1133 const newUrl = new URL(window.location.href); 1134 newUrl.searchParams.set('punchout_sess_id', storedPunchoutId); 1135 window.history.replaceState({}, '', newUrl.toString()); 1136 console.log('[TWOA Punchout] URL updated:', newUrl.toString()); 1137 1138 // Reinitialize punchout if the script is loaded 1139 if (window.PunchoutCloud && window.PunchoutCloud.init) { 1140 console.log('[TWOA Punchout] Reinitializing PunchoutCloud'); 1141 window.PunchoutCloud.init(); 1142 } 1143 } 1144 } 1145})(); 1146</script>
1146 1147 1148<!-- BEGIN app block: shopify://apps/one-tree-planted/blocks/index/1cbac389-d687-4afb-9e8a-26b6535fa1c2 -->
1148<script src="https://cdn.shopify.com/extensions/01a0f89b-d3f4-7fbc-a0d8-5474ae165888/reforestation-app-16/assets/script.js" defer></script>
1148 1149<!-- END app block -->
1149<script src="https://cdn.shopify.com/extensions/019d45d2-6a70-7eed-8da1-d1e8fd0fae86/fulfillment-fee-app-100/assets/fulfillment-fee-manager.js" type="text/javascript" defer="defer"></script>
1149 1150<link href="https://monorail-edge.shopifysvc.com" rel="dns-prefetch">
1151<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: 7054289,url: window.location.href,navigation_start,duration: currentMs - navigation_start,session_token,page_type: "index"};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 1151
1151
1152<script> 1153 window.__TREKKIE_SHIM_QUEUE = window.__TREKKIE_SHIM_QUEUE || []; 1154</script>
vendor: 1 bytes, line 1154
1154
1155<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}
1155).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: 7054289,storefrontBaseUrl: "https://printroom.co",extensionsBaseUrl: "https://extensions.shopifycdn.com/cdn/shopifycloud/web-pixels-manager",monorailEndpoint: "https://printroom.co/.well-known/shopify/monorail/unstable/produce_batch",surface: "storefront-renderer",enabledBetaFlags: ["4c64608a","16072cab","8450a54b","7ee89bf1"],webPixelsConfigList: [{"id":"2246574150","configuration":"{\"accountID\":\"SWPcHh\",\"webPixelConfig\":\"eyJlbmFibGVBZGRlZFRvQ2FydEV2ZW50cyI6IHRydWV9\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"c63c5b72c8d77be5f2d27d14c081da38","type":"APP","apiClientId":123074,"privacyPurposes":["ANALYTICS","MARKETING"],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_address","read_customer_email","read_customer_name","read_customer_personal_data","read_customer_phone"],"dataSharingControls":[]},"dataSharingState":"optimized","enabledFlags":["9a3ed68a"]},{"id":"2207776838","configuration":"{\"tagID\":\"2612346888626\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"7ae565e198624b39e0856d352b9a6b4c","type":"APP","apiClientId":3009811,"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"}
1155,{"id":"1975877702","configuration":"{\"mailchimp_store_id\":\"store_sgk5l8njdgd17w61safe\", \"mailchimp_user_id\":\"33995925\",\"mailchimp_list_id\":\"ef9b0a5c04\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"e357a49eadeb6216a959d63fa3fb8f55","type":"APP","apiClientId":2585307,"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":"462651462","configuration":"{\"config\":\"{\\\"google_tag_ids\\\":[\\\"G-7N7TTE08E9\\\",\\\"GT-KD7KB7H4\\\"],\\\"target_country\\\":\\\"ZZ\\\",\\\"gtag_events\\\":[{\\\"type\\\":\\\"search\\\",\\\"action_label\\\":\\\"G-7N7TTE08E9\\\"},{\\\"type\\\":\\\"begin_checkout\\\",\\\"action_label\\\":\\\"G-7N7TTE08E9\\\"},{\\\"type\\\":\\\"remove_from_cart\\\",\\\"action_label\\\":\\\"G-7N7TTE08E9\\\"},{\\\"type\\\":\\\"view_item\\\",\\\"action_label\\\":[\\\"G-7N7TTE08E9\\\",\\\"MC-1HQ5JHVSZ0\\\"]},{\\\"type\\\":\\\"purchase\\\",\\\"action_label\\\":[\\\"G-7N7TTE08E9\\\",\\\"MC-1HQ5JHVSZ0\\\"]},{\\\"type\\\":\\\"add_shipping_info\\\",\\\"action_label\\\":\\\"G-7N7TTE08E9\\\"},{\\\"type\\\":\\\"page_view\\\",\\\"action_label\\\":[\\\"G-7N7TTE08E9\\\",\\\"MC-1HQ5JHVSZ0\\\"]},{\\\"type\\\":\\\"view_item_list\\\",\\\"action_label\\\":\\\"G-7N7TTE08E9\\\"},{\\\"type\\\":\\\"add_payment_info\\\",\\\"action_label\\\":\\\"G-7N7TTE08E9\\\"},{\\\"type\\\":\\\"add_to_cart\\\",\\\"action_label\\\":\\\"G-7N7TTE08E9\\\"},{\\\"type\\\":\\\"view_cart\\\",\\\"action_label\\\":\\\"G-7N7TTE08E9\\\"}],\\\"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":"171573318","configuration":"{\"pixel_id\":\"1516354578649796\",\"pixel_type\":\"facebook_pixel\",\"metaapp_system_user_token\":\"-\"}","eventPayloadVersion":"v1","runtimeContext":"OPEN","scriptVersion":"96420dbe9ea96c426a1b7f364f977719","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":"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 Print Room","paymentSettings":{"currencyCode":"NZD"},"myshopifyDomain":"the-print-room.myshopify.com","countryCode":"NZ","storefrontUrl":"https:\/\/printroom.co"},"customer":null,"cart":null,"checkout":null,"productVariants":[],"products":[{"id":"4166829736006","handle":"stencil-hood","isCollective":null,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"50500308959302","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]},{"id":"8274958123078","handle":"surf-cap","isCollective":null,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"50500227629126","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]},{"id":"8274971885638","handle":"weekend-tote-bag","isCollective":null,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"46076560605254","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]},{"id":"8310098493510","handle":"milk-mug","isCollective":null,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"44797553672262","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]},{"id":"7832314249286","handle":"heavy-tee","isCollective":null,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"50500307976262","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]},{"id":"8274999083078","handle":"custom-business-sock","isCollective":null,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"44707158786118","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]},{"id":"8394549297222","handle":"utility-tote-bag-16oz-colour","isCollective":null,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"45031957561414","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]},{"id":"8275027722310","handle":"wo-s-maple-tee","isCollective":null,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"50500294475846","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]}],"purchasingCompany":null},},"https://printroom.co/cdn","5982071ew7ea472e3p69b68784m2150dfea",{"modern":"","legacy":""},{"trekkieShim":true,"agentContext":true,"apiClientId":"580111","facebookCapiEnabled":"false","themeId":"151830298694","themePublished":"true","eventMetadataId":"e94b596c-0011-483c-9755-996bc430ce85","pageType":"home","shopId":"7054289","storefrontBaseUrl":"https:\/\/printroom.co","extensionBaseUrl":"https:\/\/extensions.shopifycdn.com\/cdn\/shopifycloud\/web-pixels-manager","surface":"storefront-renderer","enabledBetaFlags":"[\"4c64608a\", \"16072cab\", \"8450a54b\", \"7ee89bf1\"]","isMerchantRequest":"false","hashVersion":"5982071ew7ea472e3p69b68784m2150dfea","publish":"custom","events":"[[\"page_viewed\",{}]]"});})();</script>
1155<script> 1156 window.ShopifyAnalytics = window.ShopifyAnalytics || {}; 1157 window.ShopifyAnalytics.meta = window.ShopifyAnalytics.meta || {}; 1158 window.ShopifyAnalytics.meta.currency = 'USD'; 1159 var meta = {"page":{"pageType":"home","requestId":"cde7d174-c61c-45ba-8501-b6db499c8199-1791103101"}}; 1160 for (var attr in meta) { 1161 window.ShopifyAnalytics.meta[attr] = meta[attr]; 1162 } 1163</script>
vendor: 1 bytes, line 1163
1163
1164<script class="analytics"> 1165 (function () { 1166 var customDocumentWrite = function(content) { 1167 var jquery = null; 1168 1169 if (window.jQuery) { 1170 jquery = window.jQuery; 1171 } else if (window.Checkout && window.Checkout.$) { 1172 jquery = window.Checkout.$; 1173 } 1174 1175 if (jquery) { 1176 jquery('body').append(content); 1177 } 1178 }; 1179 1180 var hasLoggedConversion = function(token) { 1181 if (token) { 1182 return document.cookie.indexOf('loggedConversion=' + token) !== -1; 1183 } 1184 return false; 1185 } 1186 1187 var setCookieIfConversion = function(token) { 1188 if (token) { 1189 var twoMonthsFromNow = new Date(Date.now()); 1190 twoMonthsFromNow.setMonth(twoMonthsFromNow.getMonth() + 2); 1191 1192 document.cookie = 'loggedConversion=' + token + '; expires=' + twoMonthsFromNow; 1193 } 1194 } 1195 1196 var trekkie = window.ShopifyAnalytics.lib = window.trekkie = window.trekkie || []; 1197 window.ShopifyAnalytics.lib.trekkie = window.trekkie; 1198 if (trekkie.integrations) { 1199 return; 1200 } 1201 trekkie.methods = [ 1202 'identify', 1203 'page', 1204 'ready', 1205 'track', 1206 'trackForm', 1207 'trackLink' 1208 ]; 1209 trekkie.factory = function(method) { 1210 return function() { 1211 var args = Array.prototype.slice.call(arguments); 1212 args.unshift(method); 1213 trekkie.push(args); 1214 if (method == 'track' || method == 'page') { 1215 var pageUrl; 1216 try { 1217 pageUrl = window.location.href; 1218 } catch (e) {} 1219 var pageReferrer; 1220 try { 1221 pageReferrer = document.referrer; 1222 } catch (e) {} 1223 try { 1224 if (window.__TREKKIE_SHIM_QUEUE == null) { 1225 window.__TREKKIE_SHIM_QUEUE = []; 1226 } 1227 window.__TREKKIE_SHIM_QUEUE.push({ 1228 from: 'trekkie-stub', 1229 method: method, 1230 args: args.slice(1), 1231 pageContext: { 1232 url: pageUrl, 1233 referrer: pageReferrer 1234 } 1235 }); 1236 } catch (e) { 1237 // no-op 1238 } 1239 } 1240 return trekkie; 1241 }; 1242 }; 1243 for (var i = 0; i < trekkie.methods.length; i++) { 1244 var key = trekkie.methods[i]; 1245 trekkie[key] = trekkie.factory(key); 1246 } 1247 trekkie.load = function(config) { 1248 trekkie.config = config || {}; 1249 trekkie.config.initialDocumentCookie = document.cookie; 1250 var first = document.getElementsByTagName('script')[0]; 1251var script = document.createElement('script'); 1252script.type = 'text/javascript'; 1253script.onerror = function(e) { 1254 var scriptFallback = document.createElement('script'); 1255 scriptFallback.type = 'text/javascript'; 1256 scriptFallback.onerror = function(error) { 1257 var Monorail = { 1258 produce: function produce(monorailDomain, schemaId, payload) { 1259 var currentMs = new Date().getTime(); 1260 var event = { 1261 schema_id: schemaId, 1262 payload: payload, 1263 metadata: { 1264 event_created_at_ms: currentMs, 1265 event_sent_at_ms: currentMs 1266 } 1267 }; 1268 return Monorail.sendRequest("https://" + monorailDomain + "/v1/produce", JSON.stringify(event)); 1269 }, 1270 sendRequest: function sendRequest(endpointUrl, payload) { 1271 // Try the sendBeacon API 1272 if (window && window.navigator && typeof window.navigator.sendBeacon === 'function' && typeof window.Blob === 'function' && !Monorail.isIos12()) { 1273 var blobData = new window.Blob([payload], { 1274 type: 'text/plain' 1275 }); 1276 1277 if (window.navigator.sendBeacon(endpointUrl, blobData)) { 1278 return true; 1279 } // sendBeacon was not successful 1280 1281 } // XHR beacon 1282 1283 var xhr = new XMLHttpRequest(); 1284 1285 try { 1286 xhr.open('POST', endpointUrl); 1287 xhr.setRequestHeader('Content-Type', 'text/plain'); 1288 xhr.send(payload); 1289 } catch (e) { 1290 console.log(e); 1291 } 1292 1293 return false; 1294 }, 1295 isIos12: function isIos12() { 1296 return window.navigator.userAgent.lastIndexOf('iPhone; CPU iPhone OS 12_') !== -1 || window.navigator.userAgent.lastIndexOf('iPad; CPU OS 12_') !== -1; 1297 } 1298 }; 1299 Monorail.produce('monorail-edge.shopifysvc.com', 1300 'trekkie_storefront_load_errors/1.1', 1301 {shop_id: 7054289, 1302 theme_id: 151830298694, 1303 app_name: "storefront", 1304 context_url: window.location.href, 1305 source_url: "//printroom.co/cdn/s/trekkie.storefront.2f6d7d7ede7d24234881a9cd5f47e679642fa1f6.min.js"}); 1306 1307 }; 1308 scriptFallback.async = true; 1309 scriptFallback.src = '//printroom.co/cdn/s/trekkie.storefront.2f6d7d7ede7d24234881a9cd5f47e679642fa1f6.min.js'; 1310 first.parentNode.insertBefore(scriptFallback, first); 1311}; 1312script.async = true; 1313script.src = '//printroom.co/cdn/s/trekkie.storefront.2f6d7d7ede7d24234881a9cd5f47e679642fa1f6.min.js'; 1314first.parentNode.insertBefore(script, first); 1315 1316 }; 1317 trekkie.load( 1318 {"Trekkie":{"appName":"storefront","development":false,"defaultAttributes":{"shopId":7054289,"isMerchantRequest":null,"themeId":151830298694,"themeCityHash":"18288446332362764096","contentLanguage":"en","currency":"USD","eventMetadataId":"e94b596c-0011-483c-9755-996bc430ce85"},"isServerSideCookieWritingEnabled":true,"monorailRegion":"shop_domain","enabledBetaFlags":["764d78cb","8450a54b","7ee89bf1","4c64608a"]},"Session Attribution":{},"S2S":{"facebookCapiEnabled":false,"source":"trekkie-storefront-renderer","apiClientId":580111}} 1319 ); 1320 1321 var loaded = false;
1322 trekkie.ready(function() { 1323 if (loaded) return; 1324 loaded = true; 1325 1326 window.ShopifyAnalytics.lib = window.trekkie; 1327 1328 var originalDocumentWrite = document.write; 1329 document.write = customDocumentWrite; 1330 try { window.ShopifyAnalytics.merchantGoogleAnalytics.call(this); } catch(error) {}; 1331 document.write = originalDocumentWrite; 1332 1333 var match = window.location.pathname.match(/checkouts\/(.+)\/(thank_you|post_purchase)/) 1334 var token = match? match[1]: undefined; 1335 if (!hasLoggedConversion(token)) { 1336 setCookieIfConversion(token); 1337 1338 } 1339 }); 1340 1341 window.ShopifyAnalytics.lib.page(null,{"pageType":"home","requestId":"cde7d174-c61c-45ba-8501-b6db499c8199-1791103101","shopifyEmitted":true}); 1342 1343 var eventsListenerScript = document.createElement('script'); 1344 eventsListenerScript.async = true; 1345 eventsListenerScript.src = "//printroom.co/cdn/shopifycloud/storefront/assets/shop_events_listener-4e26a9ce.js"; 1346 document.getElementsByTagName('head')[0].appendChild(eventsListenerScript); 1347})();</script>
1347 1348
1348<script> 1349 if (!window.ga || (window.ga && typeof window.ga !== 'function')) { 1350 window.ga = function ga() { 1351 (window.ga.q = window.ga.q || []).push(arguments); 1352 if (window.Shopify && window.Shopify.analytics && typeof window.Shopify.analytics.publish === 'function') { 1353 window.Shopify.analytics.publish("ga_stub_called", {}, {sendTo: "google_osp_migration"}); 1354 } 1355 console.error("Shopify's Google Analytics stub called with:", Array.from(arguments), "\nSee https://help.shopify.com/manual/promoting-marketing/pixels/pixel-migration#google for more information."); 1356 }; 1357 if (window.Shopify && window.Shopify.analytics && typeof window.Shopify.analytics.publish === 'function') { 1358 window.Shopify.analytics.publish("ga_stub_initialized", {}, {sendTo: "google_osp_migration"}); 1359 } 1360 } 1361</script>
vendor: 1 bytes, line 1361
1361
1362<script 1363 defer 1364 src="https://printroom.co/cdn/shopifycloud/perf-kit/shopify-perf-kit-3.9.4.min.js" 1365 data-application="storefront-renderer" 1366 data-shop-id="7054289" 1367 data-render-region="gcp-us-central1" 1368 data-page-type="index" 1369 data-theme-instance-id="151830298694" 1370 data-theme-name="Baseline" 1371 data-theme-version="3.3.1" 1372 data-monorail-region="shop_domain" 1373 data-resource-timing-sampling-rate="10" 1374 data-shs="true" 1375 data-shs-beacon="true" 1376 data-shs-export-with-fetch="true" 1377 data-shs-logs-sample-rate="1" 1378 data-shs-beacon-endpoint="https://printroom.co/api/collect" 1379></script>
1379 1380<meta name="shopify-y" content="37d6d304-f8a0-4dbc-9dae-45523c3eb190" data-expiration="1822660701000"><meta name="shopify-s" content="d834ed81-c0e9-423d-8889-f9f55e254f16" data-expiration="1791104901000"><meta name="new-cookie-storage-activated" content="t"> 1381</head> 1382 1383 <body> 1384<noscript><iframe src="https://www.googletagmanager.com/ns.html?id=GTM-W9DFFGB" 1385 height="0" width="0" style="display:none;visibility:hidden" title="gtm"></iframe></noscript> 1386 1387 <a class="skip-link" href="#MainContent">Skip to content</a> 1388 1389 <!-- BEGIN sections: header-group --> 1390<div id="shopify-section-sections--21296457187398__geo_market_banner" class="shopify-section shopify-section-group-header-group contents"> 1391 <style data-shopify> 1392 #shopify-section-sections--21296457187398__geo_market_banner [data-geo-market-banner] { 1393 position: sticky; 1394 top: 0; 1395 left: 0; 1396 right: 0; 1397 z-index: 40; 1398 display: block; 1399 width: 100%; 1400 padding: 0; 1401 border-bottom: 1px solid rgba(248, 250, 244, 0.18); 1402 background: #2b3990; 1403 color: #f8faf4; 1404 box-shadow: 0 14px 30px rgba(19, 27, 68, 0.18); 1405 pointer-events: auto; 1406 } 1407 1408 #shopify-section-sections--21296457187398__geo_market_banner .geo-market-banner__inner { 1409 display: grid; 1410 grid-template-columns: minmax(0, 1fr) auto; 1411 align-items: center; 1412 gap: 1rem 1.5rem; 1413 padding: 0.95rem var(--section-horizontal-spacing); 1414 } 1415 1416 #shopify-section-sections--21296457187398__geo_market_banner .geo-market-banner__message { 1417 margin: 0; 1418 max-width: 48rem; 1419 color: inherit; 1420 font-family: var(--font-body); 1421 font-size: var(--font-size-base); 1422 font-style: var(--font-body-style); 1423 font-weight: 500; 1424 letter-spacing: -0.01em; 1425 line-height: 1.45; 1426 } 1427 1428 #shopify-section-sections--21296457187398__geo_market_banner .geo-market-banner__actions { 1429 display: flex; 1430 flex-wrap: wrap; 1431 align-items: center; 1432 justify-content: flex-end; 1433 gap: 0.75rem; 1434 justify-self: end; 1435 } 1436 1437 #shopify-section-sections--21296457187398__geo_market_banner .geo-market-banner__button, 1438 #shopify-section-sections--21296457187398__geo_market_banner .geo-market-banner__dismiss { 1439 display: inline-flex; 1440 min-height: 2.875rem; 1441 align-items: center; 1442 justify-content: center; 1443 gap: 0.45rem; 1444 border-style: solid; 1445 border-width: var(--text-border-width); 1446 border-radius: var(--button-border-radius); 1447 font-family: var(--font-body); 1448 font-size: var(--font-size-base); 1449 font-style: var(--font-body-style); 1450 font-weight: 600; 1451 line-height: 1; 1452 text-decoration: none; 1453 text-transform: var(--button-text-transform); 1454 white-space: nowrap; 1455 transition: 1456 transform 0.18s ease, 1457 box-shadow 0.18s ease, 1458 background-color 0.18s ease, 1459 border-color 0.18s ease, 1460 color 0.18s ease, 1461 opacity 0.18s ease; 1462 } 1463 1464 #shopify-section-sections--21296457187398__geo_market_banner .geo-market-banner__button { 1465 padding: 0.8rem 1.35rem; 1466 border: 1px solid rgba(255, 255, 255, 0.12); 1467 background: #fbfbf6; 1468 box-shadow: 0 12px 24px rgba(14, 21, 52, 0.14); 1469 color: #2b3990; 1470 } 1471 1472 #shopify-section-sections--21296457187398__geo_market_banner .geo-market-banner__dismiss { 1473 padding: 0.8rem 1rem; 1474 border-color: rgba(248, 250, 244, 0.32); 1475 background: rgba(248, 250, 244, 0.08); 1476 box-shadow: none; 1477 color: inherit; 1478 opacity: 0.96; 1479 } 1480 1481 #shopify-section-sections--21296457187398__geo_market_banner .geo-market-banner__dismiss-icon { 1482 font-size: 0.95rem; 1483 line-height: 1; 1484 } 1485 1486 #shopify-section-sections--21296457187398__geo_market_banner .geo-market-banner__button:focus-visible, 1487 #shopify-section-sections--21296457187398__geo_market_banner .geo-market-banner__dismiss:focus-visible { 1488 outline: 2px solid #f8faf4; 1489 outline-offset: 2px; 1490 } 1491 1492 @media (hover: hover) and (pointer: fine) { 1493 #shopify-section-sections--21296457187398__geo_market_banner .geo-market-banner__button:hover, 1494 #shopify-section-sections--21296457187398__geo_market_banner .geo-market-banner__dismiss:hover { 1495 transform: translateY(-1px); 1496 } 1497 1498 #shopify-section-sections--21296457187398__geo_market_banner .geo-market-banner__button:hover { 1499 background: #ffffff; 1500 box-shadow: 0 16px 30px rgba(14, 21, 52, 0.18); 1501 } 1502 1503 #shopify-section-sections--21296457187398__geo_market_banner .geo-market-banner__dismiss:hover { 1504 border-color: rgba(248, 250, 244, 0.56); 1505 background: rgba(248, 250, 244, 0.16); 1506 opacity: 1; 1507 } 1508 } 1509 1510 @media (max-width: 767px) { 1511 #shopify-section-sections--21296457187398__geo_market_banner .geo-market-banner__inner { 1512 grid-template-columns: 1fr; 1513 align-items: stretch; 1514 gap: 0.9rem; 1515 } 1516 1517 #shopify-section-sections--21296457187398__geo_market_banner .geo-market-banner__message { 1518 max-width: none; 1519 } 1520 1521 #shopify-section-sections--21296457187398__geo_market_banner .geo-market-banner__actions { 1522 width: 100%; 1523 display: grid; 1524 grid-template-columns: 1fr; 1525 justify-content: stretch; 1526 justify-self: stretch; 1527 } 1528 1529 #shopify-section-sections--21296457187398__geo_market_banner .geo-market-banner__button { 1530 width: 100%; 1531 } 1532 1533 #shopify-section-sections--21296457187398__geo_market_banner .geo-market-banner__dismiss { 1534 justify-self: start; 1535 } 1536 } 1537 </style> 1538 1539 <data-island 1540 data-color-scheme="scheme3" 1541 x-data="GeoMarketBanner({ 1542 enabled: true, 1543 nzTargetUrl: "https:\/\/theprintroom.nz", 1544 intlTargetUrl: "https:\/\/printroom.co", 1545 auTargetUrl: "https:\/\/www.printroom.co\/en-au", 1546 messages: { 1547 fromInternational: "You're on our international site.", 1548 fromNz: "You're on our New Zealand site.", 1549 fromAu: "You're on our Australia site.", 1550 switchToNz: "Switch to New Zealand", 1551 switchToAu: "Switch to Australia", 1552 switchToInternational: "Switch to international",
1553 dismiss: "Dismiss" 1554 } 1555 })" 1556 role="region" 1557 aria-label="Regional site selector" 1558 x-show="shown" 1559 x-transition:enter="transition duration-300 motion-reduce:duration-0 outline-0" 1560 x-transition:enter-start="-translate-y-full" 1561 x-transition:enter-end="translate-y-0" 1562 x-transition:leave="transition duration-200 motion-reduce:duration-0 outline-0" 1563 x-transition:leave-start="translate-y-0" 1564 x-transition:leave-end="-translate-y-full" 1565 @keydown.escape.window="dismiss" 1566 id="sections--21296457187398__geo_market_banner" 1567 data-geo-market-banner 1568 style="display: none;" 1569 on="idle" 1570 src="//printroom.co/cdn/shop/t/59/assets/island-geo-market-banner.bundle.js?v=76971093760605141431787098434" 1571 > 1572 <div class="geo-market-banner__inner"> 1573 <p class="geo-market-banner__message"> 1574 <span x-text="message"></span> 1575 </p> 1576 <div class="geo-market-banner__actions"> 1577 <a 1578 class="geo-market-banner__button" 1579 :href="targetUrl" 1580 x-text="ctaLabel" 1581 @click="acceptSwitch($event)" 1582 ></a> 1583 <button 1584 class="geo-market-banner__dismiss" 1585 type="button" 1586 @click="dismiss" 1587 :aria-label="dismissLabel" 1588 > 1589 <span x-text="dismissLabel"></span> 1590 <span class="geo-market-banner__dismiss-icon" aria-hidden="true">Ã</span> 1591 </button> 1592 </div> 1593 </div> 1594 </data-island> 1595 1596 1597 1598</div><div id="shopify-section-sections--21296457187398__header" class="shopify-section shopify-section-group-header-group section-header relative z-20"> 1599 1600 1601<style data-shopify> 1602 1603 #shopify-section-sections--21296457187398__header { 1604 position: sticky; 1605 top: 0; 1606 z-index: 30; 1607 } 1608 1609 :root { 1610 --sticky-header-height: 66px; 1611 } 1612 1613 1614 #shopify-section-sections--21296457187398__header { 1615 --logo-max-width: 80px; 1616 } 1617 @media (min-width: 1024px) { 1618 #shopify-section-sections--21296457187398__header { 1619 --logo-max-width: 90px; 1620 } 1621 } 1622</style> 1623 1624<data-island 1625 x-data="Header" 1626 class="block" 1627 :class="{ 'is-stuck' : isStuck }" 1628 1629 data-sticky="true" 1630 1631 1632 data-color-scheme="scheme1" 1633 data-overlay-header-with-sticky="false" 1634 data-overlay-text-color-scheme="scheme1" 1635 id="sections--21296457187398__header" 1636 role="banner" 1637 data-theme-header 1638> 1639 1640 <sticky-header-height-helper hidden></sticky-header-height-helper> 1641 1642 <header 1643 x-ref="header" 1644 class="relative z-10 text-scheme-text header-glass" 1645 data-color-scheme="scheme1" 1646 > 1647 <nav 1648 class="relative hidden lg:block" 1649 aria-label="Primary" 1650 > 1651 <div class="flex items-stretch px-section-horizontal-spacing justify-between flex-wrap "> 1652 <div class="flex items-stretch"> 1653 1654 <div class="flex"> 1655 <a 1656 href="/" 1657 class="break-word my-auto inline-block py-4" 1658 > 1659 1660 <h1 class="contents"> 1661 1662 1663 <div class="max-w-[var(--logo-max-width)]"> 1664 1665<img 1666 src="//printroom.co/cdn/shop/files/printroom_primary_logo.svg?v=1704916358&width=90" 1667 srcset="//printroom.co/cdn/shop/files/printroom_primary_logo.svg?v=1704916358&width=80 80w,//printroom.co/cdn/shop/files/printroom_primary_logo.svg?v=1704916358&width=160 160w,//printroom.co/cdn/shop/files/printroom_primary_logo.svg?v=1704916358&width=240 240w,//printroom.co/cdn/shop/files/printroom_primary_logo.svg?v=1704916358&width=90 90w,//printroom.co/cdn/shop/files/printroom_primary_logo.svg?v=1704916358&width=180 180w,//printroom.co/cdn/shop/files/printroom_primary_logo.svg?v=1704916358&width=270 270w 1668 " 1669 width="543" 1670 height="397" 1671 loading="eager" 1672 1673 sizes="(min-width: 1024px) 90px, 80px" 1674 1675 alt="The Print Room" 1676 1677 > 1678 1679 1680 1681 </div> 1682 1683 1684 </h1> 1685 1686 </a> 1687 </div> 1688 1689 1690 </div> 1691 1692 1693 1694 1695 1696 <a 1697 1698 class="flex py-4 relative self-stretch inline-flex flex-col" 1699 href="/collections/product-library" 1700 >
1701 <span class="m-auto inline-block">Products</span></a> 1702 1703 1704<data-island 1705 x-data="{ 1706 expanded: false, 1707 hoverTimeout: null, 1708 openDropdown() { 1709 clearTimeout(this.hoverTimeout); 1710 this.expanded = true; 1711 this.$nextTick(() => { 1712 const header = this.$el.closest('header'); 1713 const dd = this.$el.querySelector('.dropdown-glass'); 1714 if (header && dd) { 1715 header.style.setProperty('--dropdown-h', dd.offsetHeight + 'px'); 1716 } 1717 }); 1718 }, 1719 closeDropdown() { 1720 this.hoverTimeout = setTimeout(() => { 1721 this.expanded = false; 1722 }, 150); 1723 } 1724 }" 1725 @mouseenter="openDropdown()" 1726 @mouseleave="closeDropdown()" 1727 @focusin="openDropdown()" 1728 @focusout="if ($event.relatedTarget && !$el.contains($event.relatedTarget)) closeDropdown()" 1729 class="no-js-focus-wrapper flex self-stretch header-dropdown" 1730 1731 > 1732 <button 1733 class="inline-flex py-4 items-center header-menu-item" 1734 @click="expanded = !expanded" 1735 :aria-expanded="expanded ? true : 'false'" 1736 aria-controls="menu0" 1737 > 1738 <span class="inline-block pr-1">Services</span><span 1739 class="mr-1 inline-block h-3 w-3 origin-center align-middle" 1740 x-show="!expanded" 1741 ><svg 1742 class="theme-icon" 1743 xmlns="http://www.w3.org/2000/svg" 1744 fill="none" 1745 viewBox="0 0 24 24" 1746> 1747 <path stroke="currentColor" d="M12 1v22M1 12h22" vector-effect="non-scaling-stroke"/> 1748</svg> 1749</span> 1750 <span 1751 class="mr-1 inline-block h-3 w-3 origin-center align-middle" 1752 x-show="expanded" 1753 style="display: none;" 1754 ><svg 1755 class="theme-icon" 1756 xmlns="http://www.w3.org/2000/svg" 1757 fill="none" 1758 viewBox="0 0 24 24" 1759> 1760 <path stroke="currentColor" d="M1 12h22" vector-effect="non-scaling-stroke"/> 1761</svg> 1762</span></button> 1763 <div 1764 id="menu0" 1765 class="no-js-focus-container absolute top-full z-20 dropdown-glass text-scheme-text bottom-auto left-0 w-full" 1766 x-cloak 1767 x-show="expanded" 1768 x-transition:enter="transition ease-out duration-300 motion-reduce:duration-0" 1769 x-transition:enter-start="opacity-0 -translate-y-2 scale-[0.98]" 1770 x-transition:enter-end="opacity-100 translate-y-0 scale-100" 1771 x-transition:leave="transition ease-in duration-200 motion-reduce:duration-0" 1772 x-transition:leave-start="opacity-100 translate-y-0 scale-100" 1773 x-transition:leave-end="opacity-0 -translate-y-1 scale-[0.99]" 1774 style="transform-origin: top center;" 1775 data-color-scheme="" 1776 ><div class=" text-left"><div class="grid gap-gutter bg-gridline-color grid-cols-4"> 1777 1778 <div class="bg-scheme-background px-section-horizontal-spacing py-section-vertical-spacing text-scheme-text"> 1779 <a 1780 1781 class="font-heading inline-block py-1" 1782 href="/pages/services" 1783 > 1784 Services 1785 </a> 1786 </div> 1787 1788 1789 1790 1791<div class="bg-scheme-background px-section-horizontal-spacing py-section-vertical-spacing text-scheme-text"> 1792 <h2 class="font-heading mb-2"> 1793 1794 <a 1795 1796 class="inline-block py-1" 1797 href="/pages/product-capabilities" 1798 1799 > 1800 Production capabilities 1801 </a> 1802 1803 </h2> 1804 <ul><li class=""> 1805 <a 1806 1807 class="inline-block py-1" 1808 href="/pages/custom-manufactured" 1809 >Custom-manufactured</a> 1810 </li><li class=""> 1811 <a 1812 1813 class="inline-block py-1" 1814 href="/pages/screen-printing" 1815 >Screen printing</a> 1816 </li><li class=""> 1817 <a 1818 1819 class="inline-block py-1" 1820 href="/pages/embroidery" 1821 >Embroidery</a> 1822 </li><li class=""> 1823 <a 1824 1825 class="inline-block py-1" 1826 href="/pages/heat-transfers" 1827 >Heat transfers</a> 1828 </li><li class=""> 1829 <a 1830 1831 class="inline-block py-1" 1832 href="/pages/finishing" 1833 >Finishing</a> 1834 </li></ul> 1835 </div><div class="bg-scheme-background px-section-horizontal-spacing py-section-vertical-spacing text-scheme-text"> 1836 <h2 class="font-heading mb-2"> 1837 1838 <a 1839 1840 class="inline-block py-1" 1841 href="/pages/partner-services" 1842 1843 > 1844 Partner services 1845 </a> 1846 1847 </h2> 1848 <ul><li class=""> 1849 <a 1850 1851 class="inline-block py-1" 1852 href="/pages/client-portal" 1853 >Client portal</a> 1854 </li><li class=""> 1855 <a 1856 1857 class="inline-block py-1" 1858 href="/pages/fundraising-pre-orders" 1859 >Fundraise & pre-order</a> 1860 </li><li class=""> 1861 <a 1862 1863 class="inline-block py-1" 1864 href="/pages/repurpose-initiative" 1865 >Repurpose initiative</a> 1866 </li></ul> 1867 </div><div class="bg-scheme-background px-section-horizontal-spacing py-section-vertical-spacing text-scheme-text"> 1868 <h2 class="font-heading mb-2"> 1869 1870 <a 1871 1872 class="inline-block py-1" 1873 href="/pages/popular-services" 1874 1875 > 1876 Popular services 1877 </a> 1878 1879 </h2> 1880 <ul><li class=""> 1881 <a 1882 1883 class="inline-block py-1" 1884 href="/pages/school-leavers-gear" 1885 >School leavers gear</a> 1886 </li><li class=""> 1887 <a 1888 1889 class="inline-block py-1" 1890 href="/pages/tshirt-printing" 1891 >Custom t-shirt printing</a> 1892 </li></ul> 1893 </div> 1894</div></div></div> 1895 </data-island> 1896 1897 1898 1899 1900 <a 1901 1902 class="flex py-4 relative self-stretch inline-flex flex-col" 1903 href="/pages/responsibility" 1904 >
1905 <span class="m-auto inline-block">Responsibility</span></a> 1906 1907 1908<data-island 1909 x-data="{ 1910 expanded: false, 1911 hoverTimeout: null, 1912 openDropdown() { 1913 clearTimeout(this.hoverTimeout); 1914 this.expanded = true; 1915 this.$nextTick(() => { 1916 const header = this.$el.closest('header'); 1917 const dd = this.$el.querySelector('.dropdown-glass'); 1918 if (header && dd) { 1919 header.style.setProperty('--dropdown-h', dd.offsetHeight + 'px'); 1920 } 1921 }); 1922 }, 1923 closeDropdown() { 1924 this.hoverTimeout = setTimeout(() => { 1925 this.expanded = false; 1926 }, 150); 1927 } 1928 }" 1929 @mouseenter="openDropdown()" 1930 @mouseleave="closeDropdown()" 1931 @focusin="openDropdown()" 1932 @focusout="if ($event.relatedTarget && !$el.contains($event.relatedTarget)) closeDropdown()" 1933 class="no-js-focus-wrapper flex self-stretch header-dropdown" 1934 style="position: relative;" 1935 > 1936 <button 1937 class="inline-flex py-4 items-center header-menu-item" 1938 @click="expanded = !expanded" 1939 :aria-expanded="expanded ? true : 'false'" 1940 aria-controls="menu1" 1941 > 1942 <span class="inline-block pr-1">Our story</span><span 1943 class="mr-1 inline-block h-3 w-3 origin-center align-middle" 1944 x-show="!expanded" 1945 ><svg 1946 class="theme-icon" 1947 xmlns="http://www.w3.org/2000/svg" 1948 fill="none" 1949 viewBox="0 0 24 24" 1950> 1951 <path stroke="currentColor" d="M12 1v22M1 12h22" vector-effect="non-scaling-stroke"/> 1952</svg> 1953</span> 1954 <span 1955 class="mr-1 inline-block h-3 w-3 origin-center align-middle" 1956 x-show="expanded" 1957 style="display: none;" 1958 ><svg 1959 class="theme-icon" 1960 xmlns="http://www.w3.org/2000/svg" 1961 fill="none" 1962 viewBox="0 0 24 24" 1963> 1964 <path stroke="currentColor" d="M1 12h22" vector-effect="non-scaling-stroke"/> 1965</svg> 1966</span></button> 1967 <div 1968 id="menu1" 1969 class="no-js-focus-container absolute top-full z-20 dropdown-glass text-scheme-text gs-dropdown-content nav-dropdown-content" 1970 x-cloak 1971 x-show="expanded" 1972 x-transition:enter="transition ease-out duration-300 motion-reduce:duration-0" 1973 x-transition:enter-start="opacity-0 -translate-y-2 scale-[0.98]" 1974 x-transition:enter-end="opacity-100 translate-y-0 scale-100" 1975 x-transition:leave="transition ease-in duration-200 motion-reduce:duration-0" 1976 x-transition:leave-start="opacity-100 translate-y-0 scale-100" 1977 x-transition:leave-end="opacity-0 -translate-y-1 scale-[0.99]" 1978 style="transform-origin: top left;" 1979 data-color-scheme="" 1980 ><a 1981 href="/pages/in-good-company-with" 1982 1983 >In good company withâ¦</a><a 1984 href="/pages/about-print-room" 1985 1986 >Our origins</a></div> 1987 </data-island> 1988 1989<data-island 1990 x-data="{ 1991 expanded: false, 1992 hoverTimeout: null, 1993 openDropdown() { 1994 clearTimeout(this.hoverTimeout); 1995 this.expanded = true; 1996 this.$nextTick(() => { 1997 const header = this.$el.closest('header'); 1998 const dd = this.$el.querySelector('.dropdown-glass'); 1999 if (header && dd) { 2000 header.style.setProperty('--dropdown-h', dd.offsetHeight + 'px'); 2001 } 2002 }); 2003 }, 2004 closeDropdown() { 2005 this.hoverTimeout = setTimeout(() => { 2006 this.expanded = false; 2007 }, 150); 2008 } 2009 }" 2010 @mouseenter="openDropdown()" 2011 @mouseleave="closeDropdown()" 2012 @focusin="openDropdown()" 2013 @focusout="if ($event.relatedTarget && !$el.contains($event.relatedTarget)) closeDropdown()" 2014 class="no-js-focus-wrapper flex items-center self-stretch header-dropdown" 2015 style="position: relative;" 2016 > 2017 <button 2018 class="gs-pill" 2019 :class="{ 'is-active': expanded }" 2020 @click="expanded = !expanded" 2021 :aria-expanded="expanded ? 'true' : 'false'" 2022 >
2023 <span>Get started +</span> 2024 </button> 2025 <div 2026 class="no-js-focus-container absolute top-full z-20 dropdown-glass text-scheme-text gs-dropdown-content" 2027 x-cloak 2028 x-show="expanded" 2029 x-transition:enter="transition ease-out duration-300 motion-reduce:duration-0" 2030 x-transition:enter-start="opacity-0 -translate-y-2" 2031 x-transition:enter-end="opacity-100 translate-y-0" 2032 x-transition:leave="transition ease-in duration-200 motion-reduce:duration-0" 2033 x-transition:leave-start="opacity-100 translate-y-0" 2034 x-transition:leave-end="opacity-0 -translate-y-1" 2035 style="transform-origin: top left;" 2036 data-color-scheme="" 2037 ><a href="/collections/product-library">Start a project</a><a href="/pages/book-a-call">Book a call</a></div> 2038 </data-island> 2039 2040 2041<div class="flex items-stretch justify-end gap-x-4 text-right "><div class="ml-4 my-auto shrink-0"><form method="post" action="/localization" id="header-localization-form" accept-charset="UTF-8" class="shopify-localization-form" enctype="multipart/form-data"><input type="hidden" name="form_type" value="localization" /><input type="hidden" name="utf8" value="â" /><input type="hidden" name="_method" value="put" /><input type="hidden" name="return_to" value="/" /><div class="flex gap-4 justify-end max-lg:hidden"><div class="inline-block shrink-0 select-none"> 2042 <h2 class="sr-only" id="country-heading-header"> 2043 Country/region 2044 </h2> 2045 <data-island 2046 class="relative" 2047 x-data="{ expanded: false }" 2048 @keydown.escape.prevent.stop="expanded = false" 2049 @click.outside="expanded = false" 2050 > 2051 <button 2052 type="button" 2053 class="text-base py-4" 2054 :aria-expanded="expanded" 2055 aria-controls="country-list-header" 2056 aria-describedby="country-heading-header" 2057 @click.prevent="expanded = ! expanded" 2058 > 2059 United States (USD 2060 $) 2061 <span 2062 class="rotate ml-1 inline-block w-3 origin-center transform fill-current transition" 2063 :class="{ 'rotate-180': expanded }" 2064 > 2065 <svg 2066 class="theme-icon" 2067 xmlns="http://www.w3.org/2000/svg" 2068 fill="none" 2069 viewBox="0 0 24 24" 2070> 2071 <path stroke="currentColor" d="M1.5 7 12 17.5 22.5 7" vector-effect="non-scaling-stroke"/> 2072</svg> 2073 2074 </span> 2075 </button> 2076 <div 2077 class="absolute top-full left-0 right-auto" 2078 x-show="expanded" 2079 style="display: none;" 2080 > 2081 <ul 2082 id="country-list-header" 2083 class="relative z-10 flex max-h-[30vh] w-max max-w-[theme(spacing.64)] snap-y snap-mandatory flex-col gap-[--text-border-width] overflow-y-auto border-text border-gridline-color bg-gridline-color text-base" 2084 x-transition:enter="transition ease duration-300" 2085 x-transition:enter-start="opacity-0" 2086 x-transition:enter-end="opacity-100" 2087 x-transition:leave="transition ease duration-300" 2088 x-transition:leave-start="opacity-100" 2089 x-transition:leave-end="opacity-0" 2090 :aria-hidden="! expanded" 2091 > 2092 2093 <li class="flex items-center bg-scheme-background px-4 py-2 coarse-pointer:min-h-[44px] coarse-pointer:min-w-[44px]"> 2094 <button 2095 class="break-word text-left [text-wrap:balance] hover:text-scheme-accent" 2096 type="button" 2097 2098 @click.prevent="$refs.input.value = 'AU'; $root.closest('form').submit();" 2099 > 2100 <span class="border-transparent border-b-text">Australia (AUD 2101 $)</span 2102 > 2103 </button> 2104 </li> 2105 <li class="flex items-center bg-scheme-background px-4 py-2 coarse-pointer:min-h-[44px] coarse-pointer:min-w-[44px]"> 2106 <button 2107 class="break-word text-left [text-wrap:balance] hover:text-scheme-accent" 2108 type="button" 2109 2110 @click.prevent="$refs.input.value = 'CN'; $root.closest('form').submit();" 2111 >
2112 <span class="border-transparent border-b-text">China (CNY 2113 Â¥)</span 2114 > 2115 </button> 2116 </li> 2117 <li class="flex items-center bg-scheme-background px-4 py-2 coarse-pointer:min-h-[44px] coarse-pointer:min-w-[44px]"> 2118 <button 2119 class="break-word text-left [text-wrap:balance] hover:text-scheme-accent" 2120 type="button" 2121 2122 @click.prevent="$refs.input.value = 'FR'; $root.closest('form').submit();" 2123 > 2124 <span class="border-transparent border-b-text">France (EUR 2125 â¬)</span 2126 > 2127 </button> 2128 </li> 2129 <li class="flex items-center bg-scheme-background px-4 py-2 coarse-pointer:min-h-[44px] coarse-pointer:min-w-[44px]"> 2130 <button 2131 class="break-word text-left [text-wrap:balance] hover:text-scheme-accent" 2132 type="button" 2133 2134 @click.prevent="$refs.input.value = 'NZ'; $root.closest('form').submit();" 2135 > 2136 <span class="border-transparent border-b-text">New Zealand (NZD 2137 $)</span 2138 > 2139 </button> 2140 </li> 2141 <li class="flex items-center bg-scheme-background px-4 py-2 coarse-pointer:min-h-[44px] coarse-pointer:min-w-[44px]"> 2142 <button 2143 class="break-word text-left [text-wrap:balance] hover:text-scheme-accent" 2144 type="button" 2145 2146 @click.prevent="$refs.input.value = 'GB'; $root.closest('form').submit();" 2147 > 2148 <span class="border-transparent border-b-text">United Kingdom (GBP 2149 £)</span 2150 > 2151 </button> 2152 </li> 2153 <li class="flex items-center bg-scheme-background px-4 py-2 coarse-pointer:min-h-[44px] coarse-pointer:min-w-[44px]"> 2154 <button 2155 class="break-word text-left [text-wrap:balance] hover:text-scheme-accent" 2156 type="button" 2157 2158 aria-current="true" 2159 2160 @click.prevent="$refs.input.value = 'US'; $root.closest('form').submit();" 2161 > 2162 <span class="border-scheme-text border-b-text">United States (USD 2163 $)</span 2164 > 2165 </button> 2166 </li></ul> 2167 </div> 2168 2169 <input 2170 x-ref="input" 2171 type="hidden" 2172 name="country_code" 2173 id="CountrySelector" 2174 value="US" 2175 > 2176 </data-island> 2177 </div></div></form></div> 2178 <div class="flex items-stretch whitespace-nowrap"> 2179 <data-island 2180 x-data="{ searchOpen: false }" 2181 class="contents" 2182> 2183 <a 2184 x-ref="searchToggle" 2185 @click.prevent="searchOpen = true" 2186 @keydown.space.prevent="searchOpen = true" 2187 class="inline-flex py-4 h-full" 2188 href="/search" 2189 :role="`button`" 2190 ><span class="sr-only">Search</span> 2191 <span class="my-auto inline-block h-6 w-6 align-middle"><svg 2192 class="theme-icon" 2193 xmlns="http://www.w3.org/2000/svg" 2194 fill="none" 2195 viewBox="0 0 24 24" 2196> 2197 <path stroke="currentColor" d="M2 11a9 9 0 1 0 18 0 9 9 0 0 0-18 0Zm15.364 6.364L22 22" vector-effect="non-scaling-stroke"/> 2198</svg> 2199</span></a> 2200 2201 <data-island 2202 class="absolute z-20 border-y-gridline border-gridline-color bg-scheme-background px-section-horizontal-spacing py-2 text-scheme-text w-full top-full bottom-auto left-0" 2203 x-cloak 2204 x-show="searchOpen" 2205 x-transition:enter="ease duration-200" 2206 x-transition:enter-start="opacity-0" 2207 x-transition:enter-end="opacity-100" 2208 x-transition:leave="ease duration-200" 2209 x-transition:leave-start="opacity-100" 2210 x-transition:leave-end="opacity-0" 2211 2212 x-data="PredictiveSearch('product,collection,article,page,query')" 2213 x-trap.inert.noscroll="resultsOpen" 2214 @keyup="onKeyup" 2215 @keydown="onKeydown" 2216 @click.outside.prevent="close()" 2217 @keyup.escape.prevent.stop="close(true, $refs.searchToggle)" 2218 @focusin.window="( searchOpen && ! $root.contains($event.target) ) && close()" 2219 style="--results-height: calc(100vh - var(--header-group-height) - var(--search-bar-height) + var(--gridline-width));" 2220 src="//printroom.co/cdn/shop/t/59/assets/island-predictive-search.bundle.js?v=181601895277339900721787098435" 2221 2222 x-ref="searchComponent" 2223 data-color-scheme="scheme1" 2224 on="idle" 2225 > 2226 <div 2227 class="w-full whitespace-normal" 2228 > 2229 <form 2230 action="/search" 2231 method="get" 2232 class="predictive-search-form input-group search" 2233 role="search" 2234 > 2235 <input type="hidden" name="options[prefix]" value="last"><label 2236 for="search-logo_left_menu_spread-desktop" 2237 class="hidden" 2238 >Submit</label> 2239 2240 <div 2241 class="flex items-center justify-between" 2242 > 2243 <button 2244 class="mr-4 py-2" 2245 aria-label="Submit" 2246 type="submit" 2247 >
2248 <span class="inline-block h-6 w-6 align-middle"><svg 2249 class="theme-icon" 2250 xmlns="http://www.w3.org/2000/svg" 2251 fill="none" 2252 viewBox="0 0 24 24" 2253> 2254 <path stroke="currentColor" d="M2 11a9 9 0 1 0 18 0 9 9 0 0 0-18 0Zm15.364 6.364L22 22" vector-effect="non-scaling-stroke"/> 2255</svg> 2256</span> 2257 <span class="sr-only">Submit</span> 2258 </button> 2259 <input 2260 id="search-logo_left_menu_spread-desktop" 2261 type="search" 2262 name="q" 2263 value="" 2264 placeholder="Search" 2265 class="font-body block w-full bg-transparent placeholder-current" 2266 aria-label="Search" 2267 data-search-input 2268 2269 :aria-expanded="resultsOpen" 2270 :aria-activedescendant="resultsOpen ? 'predictive-search-results' : false" 2271 aria-owns="predictive-search-results" 2272 aria-controls="predictive-search-results" 2273 aria-autocomplete="list" 2274 autocorrect="off" 2275 autocomplete="off" 2276 autocapitalize="off" 2277 spellcheck="false" 2278 x-ref="input" 2279 x-model.debounce.300="rawQuery" 2280 @focus="onFocus" 2281 2282 > 2283 <button 2284 class="ml-4 py-2" 2285 2286 @click="close()" 2287 2288 type="button" 2289 > 2290 <span class="sr-only">Close</span> 2291 <span class="inline-block h-6 w-6 align-middle"><svg 2292 class="theme-icon" 2293 xmlns="http://www.w3.org/2000/svg" 2294 fill="none" 2295 viewBox="0 0 24 24" 2296> 2297 <path stroke="currentColor" d="m1.5 1.5 21 21m0-21-21 21" vector-effect="non-scaling-stroke"/> 2298</svg> 2299</span> 2300 </button> 2301 </div><div 2302 tabindex="-1" 2303 x-cloak 2304 class="predictive-search-results absolute left-0 right-0 top-[calc(100%_+_var(--gridline-width))] z-50 h-screen text-scheme-text transition-colors duration-300 ease-out" 2305 > 2306 <template x-if="loading"> 2307 <div class="border-b-gridline border-gridline-color bg-scheme-background"> 2308 <div 2309 class="mx-auto py-6 text-center" 2310 > 2311 <div>Loading…</div> 2312 </div> 2313 </div> 2314 </template> 2315 <template x-if="resultsOpen"> 2316 <div 2317 x-show="!loading && resultsHTML && resultsOpen" 2318 class="px-section max-h-[--results-height] scroll-py-5 overflow-hidden overflow-y-auto border-b-gridline border-gridline-color bg-scheme-background" 2319 x-html-if-set="resultsHTML" 2320 ></div> 2321 </template> 2322 </div> 2323 <span 2324 class="predictive-search-status sr-only" 2325 role="status" 2326 aria-hidden="true" 2327 ></span></form> 2328 </div> 2329 </data-island> 2330</data-island> 2331 2332 </div> 2333 2334 2335 <div class="flex items-stretch whitespace-nowrap gap-4"><style> 2336 @keyframes quote-badge-pulse { 2337 0% { transform: scale(1); } 2338 50% { transform: scale(1.22); } 2339 100% { transform: scale(1); } 2340 } 2341 2342 @keyframes quote-icon-pulse { 2343 0% { transform: scale(1); } 2344 50% { transform: scale(1.12); } 2345 100% { transform: scale(1); } 2346 } 2347 2348 .quote-badge-animate { 2349 animation: quote-badge-pulse 0.4s ease-in-out; 2350 } 2351 .quote-icon-animate { 2352 animation: quote-icon-pulse 0.4s ease-in-out; 2353 } 2354 .quote-badge { 2355 min-width: 1.3rem; 2356 padding-inline: 0.22rem; 2357 box-shadow: 0 10px 24px rgba(43, 57, 144, 0.22); 2358 } 2359 .quote-tooltip { 2360 position: absolute; 2361 top: calc(100% + 8px); 2362 right: -10px; 2363 width: 152px; 2364 padding: 15px 16px; 2365 border-radius: 20px; 2366 font-size: 14px; 2367 font-style: italic; 2368 line-height: 17px; 2369 color: #000; 2370 background: #FBFBF6; 2371 border: 1px solid #000; 2372 box-shadow: 0px 4px 4px rgba(0, 0, 0, 0.15); 2373 z-index: 1000; 2374 cursor: pointer; 2375 white-space: normal; 2376 text-align: left; 2377 } 2378 .quote-tooltip::before { 2379 content: ''; 2380 position: absolute; 2381 top: -7px; 2382 right: 24px; 2383 width: 14px; 2384 height: 14px; 2385 background: #FBFBF6; 2386 border-top: 1px solid #000; 2387 border-left: 1px solid #000; 2388 transform: rotate(45deg); 2389 } 2390 @media (max-width: 640px) { 2391 .quote-tooltip { 2392 right: -10px; 2393 } 2394 } 2395</style> 2396 2397<div 2398 class="relative" 2399 x-data="{ 2400 showTooltip: false,
2401 tooltipDismissed: false, 2402 animating: false, 2403 tooltipTimer: null, 2404 dismissTooltip() { 2405 this.showTooltip = false; 2406 this.tooltipDismissed = true; 2407 if (this.tooltipTimer) clearTimeout(this.tooltipTimer); 2408 if (this.tooltipDelayTimer) clearTimeout(this.tooltipDelayTimer); 2409 }, 2410 tooltipDelayTimer: null, 2411 triggerTooltip() { 2412 try { 2413 if (this.tooltipDismissed || sessionStorage.getItem('psstShown')) return; 2414 } catch (error) { 2415 if (this.tooltipDismissed) return; 2416 } 2417 if (this.tooltipDelayTimer) clearTimeout(this.tooltipDelayTimer); 2418 this.tooltipDelayTimer = setTimeout(() => { 2419 if (this.tooltipDismissed) return; 2420 try { sessionStorage.setItem('psstShown', '1'); } catch(e) {} 2421 this.showTooltip = true; 2422 if (this.tooltipTimer) clearTimeout(this.tooltipTimer); 2423 this.tooltipTimer = setTimeout(() => { this.showTooltip = false; }, 15000); 2424 }, 5000); 2425 }, 2426 pulseIcon() { 2427 this.animating = true; 2428 setTimeout(() => { this.animating = false; }, 450); 2429 } 2430 }" 2431 @quote-item-added.document="pulseIcon(); triggerTooltip()" 2432> 2433 <a 2434 href="/pages/general-quote" 2435 class="inline-flex min-h-10 items-center py-4 h-full" 2436 :role="`button`" 2437 :aria-expanded="$store.modals.rightDrawer.contents === 'favorites'" 2438 @click.prevent="$store.modals.open('favorites'); dismissTooltip(); window.dataLayer = window.dataLayer || []; window.dataLayer.push({ event: 'quote_drawer_opened', quote_count: $store.favorites.count, page_path: window.location.pathname })" 2439 @keydown.space.prevent="$store.modals.open('favorites'); dismissTooltip()" 2440 aria-label="Open your quote" 2441 ><div class="pointer-events-none relative my-auto align-middle" :class="{ 'quote-icon-animate': animating }"><span class="inline-block h-6 w-6 align-top [&_*]:pointer-events-none"><span class="h-full w-full"> 2442 <svg 2443 aria-hidden="true" 2444 focusable="false" 2445 role="presentation" 2446 class="icon icon-quote-list-outline" 2447 viewBox="0 0 24 24" 2448 fill="none" 2449 ><rect x="3" y="1" width="18" height="22" rx="2.5" ry="2.5" stroke="currentColor" stroke-width="1.5"></rect><circle cx="7.5" cy="7.5" r="1" fill="currentColor"></circle> 2450 <line x1="10" y1="7.5" x2="17.5" y2="7.5" stroke="currentColor" stroke-width="1.4" stroke-linecap="round"></line> 2451 <circle cx="7.5" cy="11" r="1" fill="currentColor"></circle> 2452 <line x1="10" y1="11" x2="17.5" y2="11" stroke="currentColor" stroke-width="1.4" stroke-linecap="round"></line> 2453 <circle cx="7.5" cy="14.5" r="1" fill="currentColor"></circle> 2454 <line x1="10" y1="14.5" x2="17.5" y2="14.5" stroke="currentColor" stroke-width="1.4" stroke-linecap="round"></line> 2455 <circle cx="7.5" cy="18" r="1" fill="currentColor"></circle> 2456 <line x1="10" y1="18" x2="17.5" y2="18" stroke="currentColor" stroke-width="1.4" stroke-linecap="round"></line> 2457 </svg> 2458</span> 2459</span><span 2460 x-show="$store.favorites.count > 0" 2461 x-cloak 2462 class="quote-badge absolute flex items-center justify-center rounded-full text-[10px] font-bold" 2463 style="background-color: #4B4D72; color: #fff; width: 18px; height: 18px; top: -7px; right: -8px;" 2464 :class="{ 'quote-badge-animate': animating }" 2465 x-text="$store.favorites.count" 2466 ></span> 2467 <span class="sr-only" x-text="'Your Quote: ' + $store.favorites.countWithText()"> 2468 Your Quote: 0 items 2469 </span> 2470 </div></a><div 2471 x-show="showTooltip" 2472 x-transition:enter="transition ease-out duration-200" 2473 x-transition:enter-start="opacity-0 translate-y-1" 2474 x-transition:enter-end="opacity-100 translate-y-0" 2475 x-transition:leave="transition ease-in duration-150" 2476 x-transition:leave-start="opacity-100" 2477 x-transition:leave-end="opacity-0" 2478 x-cloak 2479 class="quote-tooltip" 2480 @click="dismissTooltip()" 2481 > 2482 Hi, your favourite products are here. 2483 </div> 2484</div> 2485 2486 <a 2487 href="/cart" 2488 class="inline-flex py-4 h-full" 2489 2490 ><div class="pointer-events-none relative my-auto align-middle"> 2491 <span 2492 x-show="$store.cartCount.count > 0" 2493 class="absolute right-0 top-1 h-2 w-2 rounded-full" 2494 style="background-color: #f1ffa5;" 2495 ></span>
2496 <span class="inline-block h-6 w-6 fill-current align-top [&_*]:pointer-events-none"><svg 2497 class="theme-icon" 2498 xmlns="http://www.w3.org/2000/svg" 2499 fill="none" 2500 viewBox="0 0 24 24" 2501> 2502 <path stroke="currentColor" d="M2 7h20v15H2V7Zm15 0v-.2A4.8 4.8 0 0 0 12.2 2h-.4A4.8 4.8 0 0 0 7 6.8V7" vector-effect="non-scaling-stroke"/> 2503</svg> 2504</span> 2505 <span class="sr-only" x-text="$store.cartCount.countWithText()"> 2506 25070 items 2508 </span> 2509 </div></a> 2510 </div> 2511 </div> 2512 </div> 2513 2514 2515 </nav> 2516 2517 2518 <nav 2519 aria-label="Header" 2520 class="lg:hidden" 2521 > 2522 <div class="flex items-center justify-between px-section-horizontal-spacing lg:relative"> 2523 <div class="flex gap-2 items-center"> 2524 2525 <div> 2526 <a 2527 href="/" 2528 class="break-word my-auto inline-block py-4" 2529 > 2530 2531 <h1 class="contents"> 2532 2533 2534 <div class="max-w-[var(--logo-max-width)]"> 2535 2536<img 2537 src="//printroom.co/cdn/shop/files/printroom_primary_logo.svg?v=1704916358&width=90" 2538 srcset="//printroom.co/cdn/shop/files/printroom_primary_logo.svg?v=1704916358&width=80 80w,//printroom.co/cdn/shop/files/printroom_primary_logo.svg?v=1704916358&width=160 160w,//printroom.co/cdn/shop/files/printroom_primary_logo.svg?v=1704916358&width=240 240w,//printroom.co/cdn/shop/files/printroom_primary_logo.svg?v=1704916358&width=90 90w,//printroom.co/cdn/shop/files/printroom_primary_logo.svg?v=1704916358&width=180 180w,//printroom.co/cdn/shop/files/printroom_primary_logo.svg?v=1704916358&width=270 270w 2539 " 2540 width="543" 2541 height="397" 2542 loading="eager" 2543 2544 sizes="(min-width: 1024px) 90px, 80px" 2545 2546 alt="The Print Room" 2547 2548 > 2549 2550 2551 2552 </div> 2553 2554 2555 </h1> 2556 2557 </a> 2558 </div> 2559 2560 2561 </div> 2562 2563 2564 2565 <div class="flex justify-end gap-2 text-right"> 2566 2567 <button 2568 class="inline-block no-js:hidden py-4" 2569 :aria-expanded="$store.modals.leftDrawer.contents === 'sidebar'" 2570 @click="$store.modals.open('sidebar')" 2571 ><span class="sr-only pointer-events-none">Menu</span> 2572 <span class="pointer-events-none inline-block h-6 w-6 align-middle"><svg 2573 class="theme-icon" 2574 xmlns="http://www.w3.org/2000/svg" 2575 fill="none" 2576 viewBox="0 0 24 24" 2577> 2578 <path stroke="currentColor" d="M1 7.364h22M1 15.636h22" vector-effect="non-scaling-stroke"/> 2579</svg> 2580</span></button> 2581 2582 2583 2584 2585 2586 <div class="whitespace-nowrap lg:ml-4"> 2587 <data-island 2588 x-data="{ searchOpen: false }" 2589 class="contents" 2590> 2591 <a 2592 x-ref="searchToggle" 2593 @click.prevent="searchOpen = true" 2594 @keydown.space.prevent="searchOpen = true" 2595 class="inline-flex py-4 h-full" 2596 href="/search" 2597 :role="`button`" 2598 ><span class="sr-only">Search</span> 2599 <span class="my-auto inline-block h-6 w-6 align-middle"><svg 2600 class="theme-icon" 2601 xmlns="http://www.w3.org/2000/svg" 2602 fill="none" 2603 viewBox="0 0 24 24" 2604> 2605 <path stroke="currentColor" d="M2 11a9 9 0 1 0 18 0 9 9 0 0 0-18 0Zm15.364 6.364L22 22" vector-effect="non-scaling-stroke"/> 2606</svg> 2607</span></a> 2608 2609 <data-island 2610 class="absolute z-20 border-y-gridline border-gridline-color bg-scheme-background px-section-horizontal-spacing py-2 text-scheme-text w-full top-full bottom-auto left-0" 2611 x-cloak 2612 x-show="searchOpen" 2613 x-transition:enter="ease duration-200" 2614 x-transition:enter-start="opacity-0" 2615 x-transition:enter-end="opacity-100" 2616 x-transition:leave="ease duration-200" 2617 x-transition:leave-start="opacity-100" 2618 x-transition:leave-end="opacity-0" 2619 2620 x-data="PredictiveSearch('product,collection,article,page,query')" 2621 x-trap.inert.noscroll="resultsOpen" 2622 @keyup="onKeyup" 2623 @keydown="onKeydown" 2624 @click.outside.prevent="close()" 2625 @keyup.escape.prevent.stop="close(true, $refs.searchToggle)" 2626 @focusin.window="( searchOpen && ! $root.contains($event.target) ) && close()" 2627 style="--results-height: calc(100vh - var(--header-group-height) - var(--search-bar-height) + var(--gridline-width));" 2628 src="//printroom.co/cdn/shop/t/59/assets/island-predictive-search.bundle.js?v=181601895277339900721787098435" 2629 2630 x-ref="searchComponent" 2631 data-color-scheme="scheme1" 2632 on="idle" 2633 > 2634 <div 2635 class="w-full whitespace-normal" 2636 > 2637 <form 2638 action="/search" 2639 method="get" 2640 class="predictive-search-form input-group search" 2641 role="search" 2642 > 2643 <input type="hidden" name="options[prefix]" value="last"><label 2644 for="search-logo_left_menu_spread-mobile" 2645 class="hidden" 2646 >Submit</label> 2647 2648 <div 2649 class="flex items-center justify-between" 2650 > 2651 <button 2652 class="mr-4 py-2" 2653 aria-label="Submit" 2654 type="submit" 2655 >
2656 <span class="inline-block h-6 w-6 align-middle"><svg 2657 class="theme-icon" 2658 xmlns="http://www.w3.org/2000/svg" 2659 fill="none" 2660 viewBox="0 0 24 24" 2661> 2662 <path stroke="currentColor" d="M2 11a9 9 0 1 0 18 0 9 9 0 0 0-18 0Zm15.364 6.364L22 22" vector-effect="non-scaling-stroke"/> 2663</svg> 2664</span> 2665 <span class="sr-only">Submit</span> 2666 </button> 2667 <input 2668 id="search-logo_left_menu_spread-mobile" 2669 type="search" 2670 name="q" 2671 value="" 2672 placeholder="Search" 2673 class="font-body block w-full bg-transparent placeholder-current" 2674 aria-label="Search" 2675 data-search-input 2676 2677 :aria-expanded="resultsOpen" 2678 :aria-activedescendant="resultsOpen ? 'predictive-search-results' : false" 2679 aria-owns="predictive-search-results" 2680 aria-controls="predictive-search-results" 2681 aria-autocomplete="list" 2682 autocorrect="off" 2683 autocomplete="off" 2684 autocapitalize="off" 2685 spellcheck="false" 2686 x-ref="input" 2687 x-model.debounce.300="rawQuery" 2688 @focus="onFocus" 2689 2690 > 2691 <button 2692 class="ml-4 py-2" 2693 2694 @click="close()" 2695 2696 type="button" 2697 > 2698 <span class="sr-only">Close</span> 2699 <span class="inline-block h-6 w-6 align-middle"><svg 2700 class="theme-icon" 2701 xmlns="http://www.w3.org/2000/svg" 2702 fill="none" 2703 viewBox="0 0 24 24" 2704> 2705 <path stroke="currentColor" d="m1.5 1.5 21 21m0-21-21 21" vector-effect="non-scaling-stroke"/> 2706</svg> 2707</span> 2708 </button> 2709 </div><div 2710 tabindex="-1" 2711 x-cloak 2712 class="predictive-search-results absolute left-0 right-0 top-[calc(100%_+_var(--gridline-width))] z-50 h-screen text-scheme-text transition-colors duration-300 ease-out" 2713 > 2714 <template x-if="loading"> 2715 <div class="border-b-gridline border-gridline-color bg-scheme-background"> 2716 <div 2717 class="mx-auto py-6 text-center" 2718 > 2719 <div>Loading…</div> 2720 </div> 2721 </div> 2722 </template> 2723 <template x-if="resultsOpen"> 2724 <div 2725 x-show="!loading && resultsHTML && resultsOpen" 2726 class="px-section max-h-[--results-height] scroll-py-5 overflow-hidden overflow-y-auto border-b-gridline border-gridline-color bg-scheme-background" 2727 x-html-if-set="resultsHTML" 2728 ></div> 2729 </template> 2730 </div> 2731 <span 2732 class="predictive-search-status sr-only" 2733 role="status" 2734 aria-hidden="true" 2735 ></span></form> 2736 </div> 2737 </data-island> 2738</data-island> 2739 2740 </div> 2741 2742<div class="inline-block shrink-0 select-none whitespace-nowrap lg:ml-4"> 2743 <data-island 2744 class="relative" 2745 x-data="{ expanded: false }" 2746 @keydown.escape.prevent.stop="expanded = false" 2747 @click.outside="expanded = false" 2748 > 2749 <button 2750 type="button" 2751 class="inline-flex py-4 h-full" 2752 :aria-expanded="expanded" 2753 aria-controls="currency-list-header" 2754 @click.prevent="expanded = ! expanded" 2755 aria-label="Currency selector" 2756 > 2757 <span class="my-auto inline-flex items-center gap-1"> 2758 <span class="inline-block h-6 w-6 align-middle"> 2759 <svg class="theme-icon" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24"> 2760 <circle cx="12" cy="12" r="10" stroke="currentColor" stroke-width="1.5" vector-effect="non-scaling-stroke" fill="none"/> 2761 <path stroke="currentColor" stroke-width="1.5" d="M12 6v12M8 10h8M8 14h8" vector-effect="non-scaling-stroke"/> 2762</svg> 2763 </span> 2764 <span class="text-xs font-medium">USD</span> 2765 </span>
2766 <span 2767 class="rotate ml-1 inline-block w-3 origin-center transform fill-current transition my-auto" 2768 :class="{ 'rotate-180': expanded }" 2769 > 2770 <svg 2771 class="theme-icon" 2772 xmlns="http://www.w3.org/2000/svg" 2773 fill="none" 2774 viewBox="0 0 24 24" 2775> 2776 <path stroke="currentColor" d="M1.5 7 12 17.5 22.5 7" vector-effect="non-scaling-stroke"/> 2777</svg> 2778 2779 </span> 2780 </button> 2781 <div 2782 class="absolute top-full right-0" 2783 x-show="expanded" 2784 style="display: none;" 2785 > 2786 <form method="post" action="/localization" accept-charset="UTF-8" enctype="multipart/form-data"> 2787 <input type="hidden" name="form_type" value="localization"> 2788 <input type="hidden" name="utf8" value="â"> 2789 <input type="hidden" name="_method" value="put"> 2790 <input type="hidden" name="return_to" value="/"> 2791 <ul 2792 id="currency-list-header" 2793 class="relative z-50 flex max-h-[30vh] w-max max-w-[theme(spacing.64)] snap-y snap-mandatory flex-col gap-[--text-border-width] overflow-y-auto border-text border-gridline-color bg-gridline-color text-base" 2794 x-transition:enter="transition ease duration-300" 2795 x-transition:enter-start="opacity-0" 2796 x-transition:enter-end="opacity-100" 2797 x-transition:leave="transition ease duration-300" 2798 x-transition:leave-start="opacity-100" 2799 x-transition:leave-end="opacity-0" 2800 :aria-hidden="! expanded" 2801 > 2802 2803 <li class="flex items-center bg-scheme-background px-4 py-2 coarse-pointer:min-h-[44px] coarse-pointer:min-w-[44px]"> 2804 <button 2805 class="break-word text-left [text-wrap:balance] hover:text-scheme-accent" 2806 type="submit" 2807 name="country_code" 2808 value="AU" 2809 2810 > 2811 <span class="border-transparent border-b-text">AUD $<span class="ml-2 text-xs opacity-70">Australia</span></span 2812 > 2813 </button> 2814 </li> 2815 <li class="flex items-center bg-scheme-background px-4 py-2 coarse-pointer:min-h-[44px] coarse-pointer:min-w-[44px]"> 2816 <button 2817 class="break-word text-left [text-wrap:balance] hover:text-scheme-accent" 2818 type="submit" 2819 name="country_code" 2820 value="CN" 2821 2822 > 2823 <span class="border-transparent border-b-text">CNY Â¥<span class="ml-2 text-xs opacity-70">China</span></span 2824 > 2825 </button> 2826 </li> 2827 <li class="flex items-center bg-scheme-background px-4 py-2 coarse-pointer:min-h-[44px] coarse-pointer:min-w-[44px]"> 2828 <button 2829 class="break-word text-left [text-wrap:balance] hover:text-scheme-accent" 2830 type="submit" 2831 name="country_code" 2832 value="FR" 2833 2834 > 2835 <span class="border-transparent border-b-text">EUR â¬<span class="ml-2 text-xs opacity-70">France</span></span 2836 > 2837 </button> 2838 </li> 2839 <li class="flex items-center bg-scheme-background px-4 py-2 coarse-pointer:min-h-[44px] coarse-pointer:min-w-[44px]"> 2840 <button 2841 class="break-word text-left [text-wrap:balance] hover:text-scheme-accent" 2842 type="submit" 2843 name="country_code" 2844 value="NZ" 2845 2846 >
2847 <span class="border-transparent border-b-text">NZD $<span class="ml-2 text-xs opacity-70">New Zealand</span></span 2848 > 2849 </button> 2850 </li> 2851 <li class="flex items-center bg-scheme-background px-4 py-2 coarse-pointer:min-h-[44px] coarse-pointer:min-w-[44px]"> 2852 <button 2853 class="break-word text-left [text-wrap:balance] hover:text-scheme-accent" 2854 type="submit" 2855 name="country_code" 2856 value="GB" 2857 2858 > 2859 <span class="border-transparent border-b-text">GBP £<span class="ml-2 text-xs opacity-70">United Kingdom</span></span 2860 > 2861 </button> 2862 </li> 2863 <li class="flex items-center bg-scheme-background px-4 py-2 coarse-pointer:min-h-[44px] coarse-pointer:min-w-[44px]"> 2864 <button 2865 class="break-word text-left [text-wrap:balance] hover:text-scheme-accent" 2866 type="submit" 2867 name="country_code" 2868 value="US" 2869 2870 aria-current="true" 2871 2872 > 2873 <span class="border-scheme-text border-b-text">USD $<span class="ml-2 text-xs opacity-70">United States</span></span 2874 > 2875 </button> 2876 </li></ul> 2877 </form> 2878 </div> 2879 </data-island> 2880 </div><div class="flex items-center whitespace-nowrap gap-2 lg:ml-4"><style> 2881 @keyframes quote-badge-pulse { 2882 0% { transform: scale(1); } 2883 50% { transform: scale(1.22); } 2884 100% { transform: scale(1); } 2885 } 2886 2887 @keyframes quote-icon-pulse { 2888 0% { transform: scale(1); } 2889 50% { transform: scale(1.12); } 2890 100% { transform: scale(1); } 2891 } 2892 2893 .quote-badge-animate { 2894 animation: quote-badge-pulse 0.4s ease-in-out; 2895 } 2896 .quote-icon-animate { 2897 animation: quote-icon-pulse 0.4s ease-in-out; 2898 } 2899 .quote-badge { 2900 min-width: 1.3rem; 2901 padding-inline: 0.22rem; 2902 box-shadow: 0 10px 24px rgba(43, 57, 144, 0.22); 2903 } 2904 .quote-tooltip { 2905 position: absolute; 2906 top: calc(100% + 8px); 2907 right: -10px; 2908 width: 152px; 2909 padding: 15px 16px; 2910 border-radius: 20px; 2911 font-size: 14px; 2912 font-style: italic; 2913 line-height: 17px; 2914 color: #000; 2915 background: #FBFBF6; 2916 border: 1px solid #000; 2917 box-shadow: 0px 4px 4px rgba(0, 0, 0, 0.15); 2918 z-index: 1000; 2919 cursor: pointer; 2920 white-space: normal; 2921 text-align: left; 2922 } 2923 .quote-tooltip::before { 2924 content: ''; 2925 position: absolute; 2926 top: -7px; 2927 right: 24px; 2928 width: 14px; 2929 height: 14px; 2930 background: #FBFBF6; 2931 border-top: 1px solid #000; 2932 border-left: 1px solid #000; 2933 transform: rotate(45deg); 2934 } 2935 @media (max-width: 640px) { 2936 .quote-tooltip { 2937 right: -10px; 2938 } 2939 } 2940</style> 2941 2942<div 2943 class="relative" 2944 x-data="{ 2945 showTooltip: false, 2946 tooltipDismissed: false, 2947 animating: false, 2948 tooltipTimer: null, 2949 dismissTooltip() { 2950 this.showTooltip = false; 2951 this.tooltipDismissed = true; 2952 if (this.tooltipTimer) clearTimeout(this.tooltipTimer); 2953 if (this.tooltipDelayTimer) clearTimeout(this.tooltipDelayTimer); 2954 }, 2955 tooltipDelayTimer: null, 2956 triggerTooltip() { 2957 try { 2958 if (this.tooltipDismissed || sessionStorage.getItem('psstShown')) return; 2959 } catch (error) { 2960 if (this.tooltipDismissed) return; 2961 } 2962 if (this.tooltipDelayTimer) clearTimeout(this.tooltipDelayTimer); 2963 this.tooltipDelayTimer = setTimeout(() => { 2964 if (this.tooltipDismissed) return; 2965 try { sessionStorage.setItem('psstShown', '1'); } catch(e) {} 2966 this.showTooltip = true; 2967 if (this.tooltipTimer) clearTimeout(this.tooltipTimer); 2968 this.tooltipTimer = setTimeout(() => { this.showTooltip = false; }, 15000); 2969 }, 5000); 2970 }, 2971 pulseIcon() { 2972 this.animating = true; 2973 setTimeout(() => { this.animating = false; }, 450); 2974 } 2975 }" 2976 @quote-item-added.document="pulseIcon(); triggerTooltip()" 2977> 2978 <a 2979 href="/pages/general-quote" 2980 class="inline-flex min-h-10 items-center py-4 h-full" 2981 :role="`button`" 2982 :aria-expanded="$store.modals.rightDrawer.contents === 'favorites'" 2983 @click.prevent="$store.modals.open('favorites'); dismissTooltip(); window.dataLayer = window.dataLayer || []; window.dataLayer.push({ event: 'quote_drawer_opened', quote_count: $store.favorites.count, page_path: window.location.pathname })" 2984 @keydown.space.prevent="$store.modals.open('favorites'); dismissTooltip()" 2985 aria-label="Open your quote" 2986 ><div class="pointer-events-none relative my-auto align-middle" :class="{ 'quote-icon-animate': animating }"><span class="inline-block h-6 w-6 align-top [&_*]:pointer-events-none"><span class="h-full w-full"> 2987 <svg 2988 aria-hidden="true" 2989 focusable="false" 2990 role="presentation" 2991 class="icon icon-quote-list-outline"
2992 viewBox="0 0 24 24" 2993 fill="none" 2994 ><rect x="3" y="1" width="18" height="22" rx="2.5" ry="2.5" stroke="currentColor" stroke-width="1.5"></rect><circle cx="7.5" cy="7.5" r="1" fill="currentColor"></circle> 2995 <line x1="10" y1="7.5" x2="17.5" y2="7.5" stroke="currentColor" stroke-width="1.4" stroke-linecap="round"></line> 2996 <circle cx="7.5" cy="11" r="1" fill="currentColor"></circle> 2997 <line x1="10" y1="11" x2="17.5" y2="11" stroke="currentColor" stroke-width="1.4" stroke-linecap="round"></line> 2998 <circle cx="7.5" cy="14.5" r="1" fill="currentColor"></circle> 2999 <line x1="10" y1="14.5" x2="17.5" y2="14.5" stroke="currentColor" stroke-width="1.4" stroke-linecap="round"></line> 3000 <circle cx="7.5" cy="18" r="1" fill="currentColor"></circle> 3001 <line x1="10" y1="18" x2="17.5" y2="18" stroke="currentColor" stroke-width="1.4" stroke-linecap="round"></line> 3002 </svg> 3003</span> 3004</span><span 3005 x-show="$store.favorites.count > 0" 3006 x-cloak 3007 class="quote-badge absolute flex items-center justify-center rounded-full text-[10px] font-bold" 3008 style="background-color: #4B4D72; color: #fff; width: 18px; height: 18px; top: -7px; right: -8px;" 3009 :class="{ 'quote-badge-animate': animating }" 3010 x-text="$store.favorites.count" 3011 ></span> 3012 <span class="sr-only" x-text="'Your Quote: ' + $store.favorites.countWithText()"> 3013 Your Quote: 0 items 3014 </span> 3015 </div></a><div 3016 x-show="showTooltip" 3017 x-transition:enter="transition ease-out duration-200" 3018 x-transition:enter-start="opacity-0 translate-y-1" 3019 x-transition:enter-end="opacity-100 translate-y-0" 3020 x-transition:leave="transition ease-in duration-150" 3021 x-transition:leave-start="opacity-100" 3022 x-transition:leave-end="opacity-0" 3023 x-cloak 3024 class="quote-tooltip" 3025 @click="dismissTooltip()" 3026 > 3027 Hi, your favourite products are here. 3028 </div> 3029</div> 3030 3031 <a 3032 href="/cart" 3033 class="inline-flex py-4 h-full" 3034 3035 ><div class="pointer-events-none relative my-auto align-middle"> 3036 <span 3037 x-show="$store.cartCount.count > 0" 3038 class="absolute right-0 top-1 h-2 w-2 rounded-full" 3039 style="background-color: #f1ffa5;" 3040 ></span> 3041 <span class="inline-block h-6 w-6 fill-current align-top [&_*]:pointer-events-none"><svg 3042 class="theme-icon" 3043 xmlns="http://www.w3.org/2000/svg" 3044 fill="none" 3045 viewBox="0 0 24 24" 3046> 3047 <path stroke="currentColor" d="M2 7h20v15H2V7Zm15 0v-.2A4.8 4.8 0 0 0 12.2 2h-.4A4.8 4.8 0 0 0 7 6.8V7" vector-effect="non-scaling-stroke"/> 3048</svg> 3049</span> 3050 <span class="sr-only" x-text="$store.cartCount.countWithText()"> 3051 30520 items 3053 </span> 3054 </div></a> 3055 </div> 3056 </div> 3057 </div> 3058 </nav> 3059 </header> 3060</data-island><noscript> 3061 <style data-shopify> 3062 .no-js-focus-wrapper:focus-within .no-js-focus-container { 3063 display: block !important; 3064 } 3065 3066 </style> 3067</noscript> 3068 3069<style> 3070 /* ââ Get Started pill + dropdown ââ */ 3071 .gs-pill { 3072 display: inline-flex; 3073 align-items: center; 3074 padding: 0 20px; 3075 height: 39px; 3076 border: 1px solid #2a3a8e; 3077 border-radius: 40px; 3078 background: transparent; 3079 color: #2a3a8e; 3080 font-size: 17.3px; 3081 font-family: 'DM Sans', sans-serif; 3082 font-weight: 400; 3083 line-height: 24px; 3084 cursor: pointer; 3085 white-space: nowrap; 3086 transition: background-color 0.25s ease, color 0.25s ease; 3087 } 3088 3089 .gs-pill:hover, 3090 .gs-pill.is-active { 3091 background-color: #2b3990; 3092 color: #f9fafb; 3093 } 3094 3095 .gs-dropdown-content { 3096 display: flex; 3097 flex-direction: column; 3098 gap: 6px; 3099 padding: 10px 20px 14px; 3100 left: 0; 3101 } 3102 3103 .gs-dropdown-content a { 3104 color: #2a3a8e; 3105 font-size: 17.3px; 3106 font-family: 'DM Sans', sans-serif; 3107 font-weight: 400; 3108 text-decoration: none; 3109 white-space: nowrap; 3110 line-height: 32px; 3111 } 3112 3113 .gs-dropdown-content a:hover { 3114 opacity: 0.7; 3115 } 3116 3117 /* Nav dropdowns (e.g. "Our story") nudged left to sit under the menu label */ 3118 .nav-dropdown-content { 3119 left: -12px; 3120 } 3121 3122 .quote-pill-button { 3123 display: inline-block; 3124 padding: 1rem 2rem; 3125 border-radius: 9999px; 3126 cursor: pointer; 3127 border: 0; 3128 background-color: #f1ffa5; 3129 transition: all 0.5s ease; 3130 color: #1F2937; 3131 text-decoration: none; 3132 font-weight: 600; 3133 font-size: 1.1em; 3134 } 3135 3136 .quote-pill-button:hover { 3137 transform: scale(1.2); 3138 } 3139 3140 .quote-pill-button:active { 3141 transform: scale(1.07); 3142 transition: 100ms; 3143 } 3144
3145 .start-design-button { 3146 display: inline-block; 3147 padding: 1rem 2rem; 3148 border-radius: 9999px; 3149 cursor: pointer; 3150 border: 0; 3151 background-color: #2b3990; 3152 transition: all 0.5s ease; 3153 color: #ffffff; 3154 text-decoration: none; 3155 font-weight: 600; 3156 font-size: 1.1em; 3157 } 3158 3159 .start-design-button:hover { 3160 transform: scale(1.2); 3161 } 3162 3163 .start-design-button:active { 3164 transform: scale(1.07); 3165 transition: 100ms; 3166 } 3167 3168 @keyframes float { 3169 0%, 100% { 3170 transform: translateY(0px); 3171 } 3172 50% { 3173 transform: translateY(-6px); 3174 } 3175 } 3176 3177 .beta-badge { 3178 position: absolute; 3179 top: -8px; 3180 right: -8px; 3181 background-color: #f1ffa5; 3182 color: #1e2326; 3183 font-size: 0.65em; 3184 font-weight: 700; 3185 padding: 0.25rem 0.5rem; 3186 border-radius: 9999px; 3187 text-transform: uppercase; 3188 letter-spacing: 0.5px; 3189 box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2); 3190 z-index: 10; 3191 animation: float 2s ease-in-out infinite; 3192 } 3193</style> 3194 3195 3196 3197
3197<script> 3198 if (!customElements.get('sticky-header-height-helper')) { 3199 class StickyHeaderHeightHelper extends HTMLElement { 3200 constructor() { 3201 super(); 3202 } 3203 3204 connectedCallback() { 3205 const headerEl = this.closest('[data-theme-header]'); 3206 3207 if (headerEl && headerEl.getAttribute('data-sticky')) { 3208 document.documentElement.style.setProperty( 3209 '--sticky-header-height', 3210 `${headerEl.getBoundingClientRect().height}px` 3211 ); 3212 } else { 3213 3214 document.documentElement.style.setProperty( 3215 '--sticky-header-height', 3216 '0px' 3217 ); 3218 } 3219 } 3220 } 3221 3222 customElements.define( 3223 'sticky-header-height-helper', 3224 StickyHeaderHeightHelper 3225 ); 3226 } 3227 </script>
3227 3228 3229 3230<style> #shopify-section-sections--21296457187398__header .bg-scheme-background {border-bottom: 1px solid #2b3990;} </style></div> 3231<!-- END sections: header-group --> 3232<div id="shopify-section-menu-drawer" class="shopify-section"> 3233 3234<data-island 3235 3236 x-data 3237 3238 x-init="initTeleport($root); $store.modals.register('sidebar', 'leftDrawer');" 3239 on="idle" 3240> 3241 <template data-should-teleport="#left-drawer-slot"> 3242 <template 3243 id="sidebar" 3244 x-if="$store.modals.leftDrawer.contents === 'sidebar'" 3245 > 3246 3247 <div 3248 3249 data-modal-label="Menu" 3250 > 3251 <div class="sticky top-0 z-1 flex items-center justify-between border-b-gridline border-gridline-color px-section-horizontal-spacing py-4"> 3252 <div aria-hidden="true"> </div> 3253 <button 3254 @click.prevent="$store.modals.close('sidebar')" 3255 class="absolute right-0 top-0 block h-full" 3256 type="button" 3257 > 3258 <span class="sr-only">Close</span> 3259 <div class="my-auto mr-section-horizontal-spacing h-6 w-6"><svg 3260 class="theme-icon" 3261 xmlns="http://www.w3.org/2000/svg" 3262 fill="none" 3263 viewBox="0 0 24 24" 3264> 3265 <path stroke="currentColor" d="m1.5 1.5 21 21m0-21-21 21" vector-effect="non-scaling-stroke"/> 3266</svg> 3267</div> 3268 </button> 3269 </div> 3270 <nav 3271 3272 aria-label="Primary" 3273 > 3274 <ul><li 3275 class="no-js-focus-wrapper break-word px-section-horizontal-spacing border-t-gridline border-gridline-color first-of-type:border-t-0" 3276 ><a class="inline-block py-4 w-full text-heading-standard" href="/collections/product-library"> 3277 Products 3278 </a></li><li 3279 class="no-js-focus-wrapper break-word px-section-horizontal-spacing border-t-gridline border-gridline-color first-of-type:border-t-0" 3280 ><data-island class="contents" x-data="{ expanded: false }"><button 3281 class="relative block w-full text-left inline-block py-4 w-full text-heading-standard ease pr-10 transition font-body" 3282 x-bind:aria-expanded="expanded ? true : 'false'" 3283 @click="expanded = ! expanded" 3284 aria-controls="accordion0" 3285 > 3286 Services 3287 <span class="absolute right-0 top-1/2 flex h-6 w-6 -translate-y-1/2 transform items-center"><span 3288 class="inline-block w-full origin-center" 3289 x-show="!expanded" 3290 ><svg 3291 class="theme-icon" 3292 xmlns="http://www.w3.org/2000/svg" 3293 fill="none" 3294 viewBox="0 0 24 24" 3295> 3296 <path stroke="currentColor" d="M12 1v22M1 12h22" vector-effect="non-scaling-stroke"/> 3297</svg> 3298</span> 3299 <span 3300 class="inline-block w-full origin-center" 3301 x-show="expanded" 3302 style="display: none;" 3303 ><svg 3304 class="theme-icon" 3305 xmlns="http://www.w3.org/2000/svg" 3306 fill="none" 3307 viewBox="0 0 24 24" 3308> 3309 <path stroke="currentColor" d="M1 12h22" vector-effect="non-scaling-stroke"/> 3310</svg> 3311</span></span> 3312 </button> 3313 <ul 3314 id="accordion0" 3315 class="no-js-focus-container pb-2 pl-4" 3316 x-show="expanded" 3317 x-cloak 3318 ><li class="no-js-focus-wrapper"><data-island class="contents" x-data="{ expanded: false }" > 3319 <button 3320 class="relative w-full text-left inline-block py-1 pr-10" 3321 x-bind:aria-expanded="expanded ? true : 'false'" 3322 @click="expanded = ! expanded" 3323 aria-controls="accordion1" 3324 > 3325 Production capabilities 3326 <span class="absolute right-0 top-1/2 flex h-6 w-6 -translate-y-1/2 transform items-center"><span 3327 class="inline-block w-full origin-center" 3328 x-show="!expanded" 3329 ><svg 3330 class="theme-icon" 3331 xmlns="http://www.w3.org/2000/svg" 3332 fill="none" 3333 viewBox="0 0 24 24" 3334> 3335 <path stroke="currentColor" d="M12 1v22M1 12h22" vector-effect="non-scaling-stroke"/> 3336</svg> 3337</span>
3338 <span 3339 class="inline-block w-full origin-center" 3340 x-show="expanded" 3341 style="display: none;" 3342 ><svg 3343 class="theme-icon" 3344 xmlns="http://www.w3.org/2000/svg" 3345 fill="none" 3346 viewBox="0 0 24 24" 3347> 3348 <path stroke="currentColor" d="M1 12h22" vector-effect="non-scaling-stroke"/> 3349</svg> 3350</span></span> 3351 </button> 3352 <ul 3353 id="accordion1" 3354 class="no-js-focus-container px-2 pb-2 pt-1" 3355 x-show="expanded" 3356 x-cloak 3357 ><li> 3358 <a 3359 class="inline-block py-1 " 3360 href="/pages/custom-manufactured" 3361 > 3362 Custom-manufactured 3363 </a> 3364 </li><li> 3365 <a 3366 class="inline-block py-1 " 3367 href="/pages/screen-printing" 3368 > 3369 Screen printing 3370 </a> 3371 </li><li> 3372 <a 3373 class="inline-block py-1 " 3374 href="/pages/embroidery" 3375 > 3376 Embroidery 3377 </a> 3378 </li><li> 3379 <a 3380 class="inline-block py-1 " 3381 href="/pages/heat-transfers" 3382 > 3383 Heat transfers 3384 </a> 3385 </li><li> 3386 <a 3387 class="inline-block py-1 " 3388 href="/pages/finishing" 3389 > 3390 Finishing 3391 </a> 3392 </li></ul> 3393 </data-island></li><li class="no-js-focus-wrapper"><data-island class="contents" x-data="{ expanded: false }" > 3394 <button 3395 class="relative w-full text-left inline-block py-1 pr-10" 3396 x-bind:aria-expanded="expanded ? true : 'false'" 3397 @click="expanded = ! expanded" 3398 aria-controls="accordion2" 3399 > 3400 Partner services 3401 <span class="absolute right-0 top-1/2 flex h-6 w-6 -translate-y-1/2 transform items-center"><span 3402 class="inline-block w-full origin-center" 3403 x-show="!expanded" 3404 ><svg 3405 class="theme-icon" 3406 xmlns="http://www.w3.org/2000/svg" 3407 fill="none" 3408 viewBox="0 0 24 24" 3409> 3410 <path stroke="currentColor" d="M12 1v22M1 12h22" vector-effect="non-scaling-stroke"/> 3411</svg> 3412</span> 3413 <span 3414 class="inline-block w-full origin-center" 3415 x-show="expanded" 3416 style="display: none;" 3417 ><svg 3418 class="theme-icon" 3419 xmlns="http://www.w3.org/2000/svg" 3420 fill="none" 3421 viewBox="0 0 24 24" 3422> 3423 <path stroke="currentColor" d="M1 12h22" vector-effect="non-scaling-stroke"/> 3424</svg> 3425</span></span> 3426 </button> 3427 <ul 3428 id="accordion2" 3429 class="no-js-focus-container px-2 pb-2 pt-1" 3430 x-show="expanded" 3431 x-cloak 3432 ><li> 3433 <a 3434 class="inline-block py-1 " 3435 href="/pages/client-portal" 3436 > 3437 Client portal 3438 </a> 3439 </li><li> 3440 <a 3441 class="inline-block py-1 " 3442 href="/pages/fundraising-pre-orders" 3443 > 3444 Fundraise & pre-order 3445 </a> 3446 </li><li> 3447 <a 3448 class="inline-block py-1 " 3449 href="/pages/repurpose-initiative" 3450 > 3451 Repurpose initiative 3452 </a> 3453 </li></ul> 3454 </data-island></li><li class="no-js-focus-wrapper"><data-island class="contents" x-data="{ expanded: false }" > 3455 <button 3456 class="relative w-full text-left inline-block py-1 pr-10" 3457 x-bind:aria-expanded="expanded ? true : 'false'" 3458 @click="expanded = ! expanded" 3459 aria-controls="accordion3" 3460 > 3461 Popular services
3462 <span class="absolute right-0 top-1/2 flex h-6 w-6 -translate-y-1/2 transform items-center"><span 3463 class="inline-block w-full origin-center" 3464 x-show="!expanded" 3465 ><svg 3466 class="theme-icon" 3467 xmlns="http://www.w3.org/2000/svg" 3468 fill="none" 3469 viewBox="0 0 24 24" 3470> 3471 <path stroke="currentColor" d="M12 1v22M1 12h22" vector-effect="non-scaling-stroke"/> 3472</svg> 3473</span> 3474 <span 3475 class="inline-block w-full origin-center" 3476 x-show="expanded" 3477 style="display: none;" 3478 ><svg 3479 class="theme-icon" 3480 xmlns="http://www.w3.org/2000/svg" 3481 fill="none" 3482 viewBox="0 0 24 24" 3483> 3484 <path stroke="currentColor" d="M1 12h22" vector-effect="non-scaling-stroke"/> 3485</svg> 3486</span></span> 3487 </button> 3488 <ul 3489 id="accordion3" 3490 class="no-js-focus-container px-2 pb-2 pt-1" 3491 x-show="expanded" 3492 x-cloak 3493 ><li> 3494 <a 3495 class="inline-block py-1 " 3496 href="/pages/school-leavers-gear" 3497 > 3498 School leavers gear 3499 </a> 3500 </li><li> 3501 <a 3502 class="inline-block py-1 " 3503 href="/pages/tshirt-printing" 3504 > 3505 Custom t-shirt printing 3506 </a> 3507 </li></ul> 3508 </data-island></li></ul> 3509 </data-island></li><li 3510 class="no-js-focus-wrapper break-word px-section-horizontal-spacing border-t-gridline border-gridline-color first-of-type:border-t-0" 3511 ><a class="inline-block py-4 w-full text-heading-standard" href="/pages/responsibility"> 3512 Responsibility 3513 </a></li><li 3514 class="no-js-focus-wrapper break-word px-section-horizontal-spacing border-t-gridline border-gridline-color first-of-type:border-t-0" 3515 ><data-island class="contents" x-data="{ expanded: false }"><button 3516 class="relative block w-full text-left inline-block py-4 w-full text-heading-standard ease pr-10 transition font-body" 3517 x-bind:aria-expanded="expanded ? true : 'false'" 3518 @click="expanded = ! expanded" 3519 aria-controls="accordion4" 3520 > 3521 Our story 3522 <span class="absolute right-0 top-1/2 flex h-6 w-6 -translate-y-1/2 transform items-center"><span 3523 class="inline-block w-full origin-center" 3524 x-show="!expanded" 3525 ><svg 3526 class="theme-icon" 3527 xmlns="http://www.w3.org/2000/svg" 3528 fill="none" 3529 viewBox="0 0 24 24" 3530> 3531 <path stroke="currentColor" d="M12 1v22M1 12h22" vector-effect="non-scaling-stroke"/> 3532</svg> 3533</span> 3534 <span 3535 class="inline-block w-full origin-center" 3536 x-show="expanded" 3537 style="display: none;" 3538 ><svg 3539 class="theme-icon" 3540 xmlns="http://www.w3.org/2000/svg" 3541 fill="none" 3542 viewBox="0 0 24 24" 3543> 3544 <path stroke="currentColor" d="M1 12h22" vector-effect="non-scaling-stroke"/> 3545</svg> 3546</span></span> 3547 </button> 3548 <ul 3549 id="accordion4" 3550 class="no-js-focus-container pb-2 pl-4" 3551 x-show="expanded" 3552 x-cloak 3553 ><li class="no-js-focus-wrapper"><a 3554 class="inline-block py-1 " 3555 href="/pages/in-good-company-with" 3556 > 3557 In good company with⦠3558 </a></li><li class="no-js-focus-wrapper"><a 3559 class="inline-block py-1 " 3560 href="/pages/about-print-room" 3561 > 3562 Our origins 3563 </a></li></ul> 3564 </data-island></li><li 3565 class="no-js-focus-wrapper break-word px-section-horizontal-spacing border-t-gridline border-gr
3565idline-color first-of-type:border-t-0" 3566 ><data-island class="contents" x-data="{ expanded: false }"><button 3567 class="relative block w-full text-left inline-block py-4 w-full text-heading-standard ease pr-10 transition font-body" 3568 x-bind:aria-expanded="expanded ? true : 'false'" 3569 @click="expanded = ! expanded" 3570 aria-controls="accordion5" 3571 > 3572 Get started 3573 <span class="absolute right-0 top-1/2 flex h-6 w-6 -translate-y-1/2 transform items-center"><span 3574 class="inline-block w-full origin-center" 3575 x-show="!expanded" 3576 ><svg 3577 class="theme-icon" 3578 xmlns="http://www.w3.org/2000/svg" 3579 fill="none" 3580 viewBox="0 0 24 24" 3581> 3582 <path stroke="currentColor" d="M12 1v22M1 12h22" vector-effect="non-scaling-stroke"/> 3583</svg> 3584</span> 3585 <span 3586 class="inline-block w-full origin-center" 3587 x-show="expanded" 3588 style="display: none;" 3589 ><svg 3590 class="theme-icon" 3591 xmlns="http://www.w3.org/2000/svg" 3592 fill="none" 3593 viewBox="0 0 24 24" 3594> 3595 <path stroke="currentColor" d="M1 12h22" vector-effect="non-scaling-stroke"/> 3596</svg> 3597</span></span> 3598 </button> 3599 <ul 3600 id="accordion5" 3601 class="no-js-focus-container pb-2 pl-4" 3602 x-show="expanded" 3603 x-cloak 3604 ><li class="no-js-focus-wrapper"><a 3605 class="inline-block py-1 " 3606 href="/collections/product-library" 3607 > 3608 Start a project 3609 </a></li><li class="no-js-focus-wrapper"><a 3610 class="inline-block py-1 " 3611 href="/pages/book-a-call" 3612 > 3613 Book a call 3614 </a></li></ul> 3615 </data-island></li></ul> 3616 </nav> 3617 <div class="border-t-gridline border-gridline-color"> 3618 <nav class="my-6" aria-label="Secondary"> 3619 <ul></ul> 3620 </nav> 3621 3622 3623 <div class="my-6 px-section-horizontal-spacing"> 3624 <form method="post" action="/localization" id="sidebar-localization-form" accept-charset="UTF-8" class="shopify-localization-form" enctype="multipart/form-data"><input type="hidden" name="form_type" value="localization" /><input type="hidden" name="utf8" value="â" /><input type="hidden" name="_method" value="put" /><input type="hidden" name="return_to" value="/" /><div class="flex gap-4 flex-col gap-y-0"><div class="inline-block shrink-0 select-none"> 3625 <h2 class="sr-only" id="country-heading-sidebar"> 3626 Country/region 3627 </h2> 3628 <data-island 3629 class="relative" 3630 x-data="{ expanded: false }" 3631 @keydown.escape.prevent.stop="expanded = false" 3632 @click.outside="expanded = false" 3633 > 3634 <button 3635 type="button" 3636 class="text-base py-2" 3637 :aria-expanded="expanded" 3638 aria-controls="country-list-sidebar" 3639 aria-describedby="country-heading-sidebar" 3640 @click.prevent="expanded = ! expanded" 3641 > 3642 United States (USD 3643 $) 3644 <span 3645 class="rotate ml-1 inline-block w-3 origin-center transform fill-current transition" 3646 :class="{ 'rotate-180': expanded }" 3647 > 3648 <svg 3649 class="theme-icon" 3650 xmlns="http://www.w3.org/2000/svg" 3651 fill="none" 3652 viewBox="0 0 24 24" 3653> 3654 <path stroke="currentColor" d="M1.5 7 12 17.5 22.5 7" vector-effect="non-scaling-stroke"/> 3655</svg> 3656 3657 </span> 3658 </button> 3659 <div 3660 class="absolute bottom-[calc(100%_+_0.5rem)] right-auto left-0" 3661 x-show="expanded" 3662 style="display: none;" 3663 > 3664 <ul 3665 id="country-list-sidebar" 3666 class="relative z-10 flex max-h-[30vh] w-max max-w-[theme(spacing.52)] snap-y snap-mandatory flex-col gap-[--text-border-width] overflow-y-auto border-text border-gr
3666idline-color bg-gridline-color text-base" 3667 x-transition:enter="transition ease duration-300" 3668 x-transition:enter-start="opacity-0" 3669 x-transition:enter-end="opacity-100" 3670 x-transition:leave="transition ease duration-300" 3671 x-transition:leave-start="opacity-100" 3672 x-transition:leave-end="opacity-0" 3673 :aria-hidden="! expanded" 3674 > 3675 3676 <li class="flex items-center bg-scheme-background px-2 py-2 coarse-pointer:min-h-[44px] coarse-pointer:min-w-[44px]"> 3677 <button 3678 class="break-word text-left [text-wrap:balance] hover:text-scheme-accent" 3679 type="button" 3680 3681 @click.prevent="$refs.input.value = 'AU'; $root.closest('form').submit();" 3682 > 3683 <span class="border-transparent border-b-text">Australia (AUD 3684 $)</span 3685 > 3686 </button> 3687 </li> 3688 <li class="flex items-center bg-scheme-background px-2 py-2 coarse-pointer:min-h-[44px] coarse-pointer:min-w-[44px]"> 3689 <button 3690 class="break-word text-left [text-wrap:balance] hover:text-scheme-accent" 3691 type="button" 3692 3693 @click.prevent="$refs.input.value = 'CN'; $root.closest('form').submit();" 3694 > 3695 <span class="border-transparent border-b-text">China (CNY 3696 Â¥)</span 3697 > 3698 </button> 3699 </li> 3700 <li class="flex items-center bg-scheme-background px-2 py-2 coarse-pointer:min-h-[44px] coarse-pointer:min-w-[44px]"> 3701 <button 3702 class="break-word text-left [text-wrap:balance] hover:text-scheme-accent" 3703 type="button" 3704 3705 @click.prevent="$refs.input.value = 'FR'; $root.closest('form').submit();" 3706 > 3707 <span class="border-transparent border-b-text">France (EUR 3708 â¬)</span 3709 > 3710 </button> 3711 </li> 3712 <li class="flex items-center bg-scheme-background px-2 py-2 coarse-pointer:min-h-[44px] coarse-pointer:min-w-[44px]"> 3713 <button 3714 class="break-word text-left [text-wrap:balance] hover:text-scheme-accent" 3715 type="button" 3716 3717 @click.prevent="$refs.input.value = 'NZ'; $root.closest('form').submit();" 3718 > 3719 <span class="border-transparent border-b-text">New Zealand (NZD 3720 $)</span 3721 > 3722 </button> 3723 </li> 3724 <li class="flex items-center bg-scheme-background px-2 py-2 coarse-pointer:min-h-[44px] coarse-pointer:min-w-[44px]"> 3725 <button 3726 class="break-word text-left [text-wrap:balance] hover:text-scheme-accent" 3727 type="button" 3728 3729 @click.prevent="$refs.input.value = 'GB'; $root.closest('form').submit();" 3730 > 3731 <span class="border-transparent border-b-text">United Kingdom (GBP 3732 £)</span 3733 > 3734 </button> 3735 </li> 3736 <li class="flex items-center bg-scheme-background px-2 py-2 coarse-pointer:min-h-[44px] coarse-pointer:min-w-[44px]"> 3737 <button 3738 class="break-word text-left [text-wrap:balance] hover:text-scheme-accent" 3739 type="button" 3740 3741 aria-current="true" 3742 3743 @click.prevent="$refs.input.value = 'US'; $root.closest('form').submit();" 3744 > 3745 <span class="border-scheme-text border-b-text">United States (USD 3746 $)</span 3747 > 3748 </button> 3749 </li></ul> 3750 </div> 3751 3752 <input 3753 x-ref="input" 3754 type="hidden" 3755 name="country_code" 3756 id="CountrySelector" 3757 value="US" 3758 > 3759 </data-island> 3760 </div></div></form> 3761 </div> 3762 3763 3764 3765<form 3766 class="my-6 px-section-horizontal-spacing" 3767 action="/search" 3768 method="get" 3769 role="search" 3770 > 3771 <div class="flex w-full max-w-xs items-end"> 3772 <label for="menu-drawer-search" class="sr-only">Search</label> 3773 <input 3774 class="min-w-0 flex-auto border-b-text border-current bg-transparent py-1.5 placeholder-current" 3775 id="menu-drawer-search" 3776 type="text" 3777 name="q" 3778 placeholder="Search" 3779 > 3780 <button 3781 class="px-1" 3782 type="submit" 3783 >
3784 <span class="inline-block h-6 w-6"><svg 3785 class="theme-icon" 3786 xmlns="http://www.w3.org/2000/svg" 3787 fill="none" 3788 viewBox="0 0 24 24" 3789> 3790 <path stroke="currentColor" d="M2 11a9 9 0 1 0 18 0 9 9 0 0 0-18 0Zm15.364 6.364L22 22" vector-effect="non-scaling-stroke"/> 3791</svg> 3792</span> 3793 <span class="sr-only">Submit</span> 3794 </button> 3795 </div> 3796 </form> 3797 </div> 3798 </div> 3799 3800 </template> 3801 </template> 3802</data-island> 3803 3804<noscript> 3805 <section class="section-sidebar"> 3806 <div class="px-section-horizontal-spacing py-2 text-right"> 3807 <button 3808 class="inline-flex items-center justify-center py-2 " 3809 data-menu-drawer-toggle 3810 > 3811 <span class="mr-2 inline-block h-6 w-6 align-middle"><svg 3812 class="theme-icon" 3813 xmlns="http://www.w3.org/2000/svg" 3814 fill="none" 3815 viewBox="0 0 24 24" 3816> 3817 <path stroke="currentColor" d="M1 4.545h22M1 12h22M1 19.455h22" vector-effect="non-scaling-stroke"/> 3818</svg> 3819</span> 3820 <span>Menu</span> 3821 </button> 3822 </div> 3823 <div class="sidebar-container z-80 border-r-grid border-grid-color fixed bottom-0 left-0 top-0 w-11/12 max-w-xl transform overflow-y-auto bg-scheme-background text-scheme-text transition-transform"> 3824 3825 <div 3826 3827 data-modal-label="Menu" 3828 > 3829 <div class="sticky top-0 z-1 flex items-center justify-between border-b-gridline border-gridline-color px-section-horizontal-spacing py-4"> 3830 <div aria-hidden="true"> </div> 3831 <button 3832 @click.prevent="$store.modals.close('sidebar')" 3833 class="absolute right-0 top-0 block h-full" 3834 type="button" 3835 > 3836 <span class="sr-only">Close</span> 3837 <div class="my-auto mr-section-horizontal-spacing h-6 w-6"><svg 3838 class="theme-icon" 3839 xmlns="http://www.w3.org/2000/svg" 3840 fill="none" 3841 viewBox="0 0 24 24" 3842> 3843 <path stroke="currentColor" d="m1.5 1.5 21 21m0-21-21 21" vector-effect="non-scaling-stroke"/> 3844</svg> 3845</div> 3846 </button> 3847 </div> 3848 <nav 3849 3850 aria-label="Primary" 3851 > 3852 <ul><li 3853 class="no-js-focus-wrapper break-word px-section-horizontal-spacing border-t-gridline border-gridline-color first-of-type:border-t-0" 3854 ><a class="inline-block py-4 w-full text-heading-standard" href="/collections/product-library"> 3855 Products 3856 </a></li><li 3857 class="no-js-focus-wrapper break-word px-section-horizontal-spacing border-t-gridline border-gridline-color first-of-type:border-t-0" 3858 ><data-island class="contents" x-data="{ expanded: false }"><button 3859 class="relative block w-full text-left inline-block py-4 w-full text-heading-standard ease pr-10 transition font-body" 3860 x-bind:aria-expanded="expanded ? true : 'false'" 3861 @click="expanded = ! expanded" 3862 aria-controls="accordion0" 3863 > 3864 Services 3865 <span class="absolute right-0 top-1/2 flex h-6 w-6 -translate-y-1/2 transform items-center"><span 3866 class="inline-block w-full origin-center" 3867 x-show="!expanded" 3868 ><svg 3869 class="theme-icon" 3870 xmlns="http://www.w3.org/2000/svg" 3871 fill="none" 3872 viewBox="0 0 24 24" 3873> 3874 <path stroke="currentColor" d="M12 1v22M1 12h22" vector-effect="non-scaling-stroke"/> 3875</svg> 3876</span> 3877 <span 3878 class="inline-block w-full origin-center" 3879 x-show="expanded" 3880 style="display: none;" 3881 ><svg 3882 class="theme-icon" 3883 xmlns="http://www.w3.org/2000/svg" 3884 fill="none" 3885 viewBox="0 0 24 24" 3886> 3887 <path stroke="currentColor" d="M1 12h22" vector-effect="non-scaling-stroke"/> 3888</svg> 3889</span></span> 3890 </button> 3891 <ul 3892 id="accordion0" 3893 class="no-js-focus-container pb-2 pl-4" 3894 x-show="expanded" 3895 x-cloak 3896 ><li class="no-js-focus-wrapper"><data-island class="contents" x-data="{ expanded: false }" > 3897 <button 3898 class="relative w-full text-left inline-block py-1 pr-10" 3899 x-bind:aria-expanded="expanded ? true : 'false'" 3900 @click="expanded = ! expanded" 3901 aria-controls="accordion1" 3902 > 3903 Production capabilities
3904 <span class="absolute right-0 top-1/2 flex h-6 w-6 -translate-y-1/2 transform items-center"><span 3905 class="inline-block w-full origin-center" 3906 x-show="!expanded" 3907 ><svg 3908 class="theme-icon" 3909 xmlns="http://www.w3.org/2000/svg" 3910 fill="none" 3911 viewBox="0 0 24 24" 3912> 3913 <path stroke="currentColor" d="M12 1v22M1 12h22" vector-effect="non-scaling-stroke"/> 3914</svg> 3915</span> 3916 <span 3917 class="inline-block w-full origin-center" 3918 x-show="expanded" 3919 style="display: none;" 3920 ><svg 3921 class="theme-icon" 3922 xmlns="http://www.w3.org/2000/svg" 3923 fill="none" 3924 viewBox="0 0 24 24" 3925> 3926 <path stroke="currentColor" d="M1 12h22" vector-effect="non-scaling-stroke"/> 3927</svg> 3928</span></span> 3929 </button> 3930 <ul 3931 id="accordion1" 3932 class="no-js-focus-container px-2 pb-2 pt-1" 3933 x-show="expanded" 3934 x-cloak 3935 ><li> 3936 <a 3937 class="inline-block py-1 " 3938 href="/pages/custom-manufactured" 3939 > 3940 Custom-manufactured 3941 </a> 3942 </li><li> 3943 <a 3944 class="inline-block py-1 " 3945 href="/pages/screen-printing" 3946 > 3947 Screen printing 3948 </a> 3949 </li><li> 3950 <a 3951 class="inline-block py-1 " 3952 href="/pages/embroidery" 3953 > 3954 Embroidery 3955 </a> 3956 </li><li> 3957 <a 3958 class="inline-block py-1 " 3959 href="/pages/heat-transfers" 3960 > 3961 Heat transfers 3962 </a> 3963 </li><li> 3964 <a 3965 class="inline-block py-1 " 3966 href="/pages/finishing" 3967 > 3968 Finishing 3969 </a> 3970 </li></ul> 3971 </data-island></li><li class="no-js-focus-wrapper"><data-island class="contents" x-data="{ expanded: false }" > 3972 <button 3973 class="relative w-full text-left inline-block py-1 pr-10" 3974 x-bind:aria-expanded="expanded ? true : 'false'" 3975 @click="expanded = ! expanded" 3976 aria-controls="accordion2" 3977 > 3978 Partner services 3979 <span class="absolute right-0 top-1/2 flex h-6 w-6 -translate-y-1/2 transform items-center"><span 3980 class="inline-block w-full origin-center" 3981 x-show="!expanded" 3982 ><svg 3983 class="theme-icon" 3984 xmlns="http://www.w3.org/2000/svg" 3985 fill="none" 3986 viewBox="0 0 24 24" 3987> 3988 <path stroke="currentColor" d="M12 1v22M1 12h22" vector-effect="non-scaling-stroke"/> 3989</svg> 3990</span> 3991 <span 3992 class="inline-block w-full origin-center" 3993 x-show="expanded" 3994 style="display: none;" 3995 ><svg 3996 class="theme-icon" 3997 xmlns="http://www.w3.org/2000/svg" 3998 fill="none" 3999 viewBox="0 0 24 24" 4000> 4001 <path stroke="currentColor" d="M1 12h22" vector-effect="non-scaling-stroke"/> 4002</svg> 4003</span></span> 4004 </button> 4005 <ul 4006 id="accordion2" 4007 class="no-js-focus-container px-2 pb-2 pt-1" 4008 x-show="expanded" 4009 x-cloak 4010 ><li> 4011 <a 4012 class="inline-block py-1 " 4013 href="/pages/client-portal" 4014 > 4015 Client portal 4016 </a> 4017 </li><li> 4018 <a 4019 class="inline-block py-1 " 4020 href="/pages/fundraising-pre-orders" 4021 > 4022 Fundraise & pre-order 4023 </a> 4024 </li><li> 4025 <a 4026 class="inline-block py-1 " 4027 href="/pages/repurpose-initiative" 4028 > 4029 Repurpose initiative 4030 </a> 4031 </li></ul> 4032 </data-island></li><li class="no-js-focus-wrapper"><data-island class="contents" x-data="{ expanded: false }" > 4033 <button 4034 class="relative w-full text-left inline-block py-1 pr-10" 4035 x-bind:aria-expanded="expanded ? true : 'false'" 4036 @click="expanded = ! expanded" 4037 aria-controls="accordion3" 4038 > 4039 Popular services
4040 <span class="absolute right-0 top-1/2 flex h-6 w-6 -translate-y-1/2 transform items-center"><span 4041 class="inline-block w-full origin-center" 4042 x-show="!expanded" 4043 ><svg 4044 class="theme-icon" 4045 xmlns="http://www.w3.org/2000/svg" 4046 fill="none" 4047 viewBox="0 0 24 24" 4048> 4049 <path stroke="currentColor" d="M12 1v22M1 12h22" vector-effect="non-scaling-stroke"/> 4050</svg> 4051</span> 4052 <span 4053 class="inline-block w-full origin-center" 4054 x-show="expanded" 4055 style="display: none;" 4056 ><svg 4057 class="theme-icon" 4058 xmlns="http://www.w3.org/2000/svg" 4059 fill="none" 4060 viewBox="0 0 24 24" 4061> 4062 <path stroke="currentColor" d="M1 12h22" vector-effect="non-scaling-stroke"/> 4063</svg> 4064</span></span> 4065 </button> 4066 <ul 4067 id="accordion3" 4068 class="no-js-focus-container px-2 pb-2 pt-1" 4069 x-show="expanded" 4070 x-cloak 4071 ><li> 4072 <a 4073 class="inline-block py-1 " 4074 href="/pages/school-leavers-gear" 4075 > 4076 School leavers gear 4077 </a> 4078 </li><li> 4079 <a 4080 class="inline-block py-1 " 4081 href="/pages/tshirt-printing" 4082 > 4083 Custom t-shirt printing 4084 </a> 4085 </li></ul> 4086 </data-island></li></ul> 4087 </data-island></li><li 4088 class="no-js-focus-wrapper break-word px-section-horizontal-spacing border-t-gridline border-gridline-color first-of-type:border-t-0" 4089 ><a class="inline-block py-4 w-full text-heading-standard" href="/pages/responsibility"> 4090 Responsibility 4091 </a></li><li 4092 class="no-js-focus-wrapper break-word px-section-horizontal-spacing border-t-gridline border-gridline-color first-of-type:border-t-0" 4093 ><data-island class="contents" x-data="{ expanded: false }"><button 4094 class="relative block w-full text-left inline-block py-4 w-full text-heading-standard ease pr-10 transition font-body" 4095 x-bind:aria-expanded="expanded ? true : 'false'" 4096 @click="expanded = ! expanded" 4097 aria-controls="accordion4" 4098 > 4099 Our story 4100 <span class="absolute right-0 top-1/2 flex h-6 w-6 -translate-y-1/2 transform items-center"><span 4101 class="inline-block w-full origin-center" 4102 x-show="!expanded" 4103 ><svg 4104 class="theme-icon" 4105 xmlns="http://www.w3.org/2000/svg" 4106 fill="none" 4107 viewBox="0 0 24 24" 4108> 4109 <path stroke="currentColor" d="M12 1v22M1 12h22" vector-effect="non-scaling-stroke"/> 4110</svg> 4111</span> 4112 <span 4113 class="inline-block w-full origin-center" 4114 x-show="expanded" 4115 style="display: none;" 4116 ><svg 4117 class="theme-icon" 4118 xmlns="http://www.w3.org/2000/svg" 4119 fill="none" 4120 viewBox="0 0 24 24" 4121> 4122 <path stroke="currentColor" d="M1 12h22" vector-effect="non-scaling-stroke"/> 4123</svg> 4124</span></span> 4125 </button> 4126 <ul 4127 id="accordion4" 4128 class="no-js-focus-container pb-2 pl-4" 4129 x-show="expanded" 4130 x-cloak 4131 ><li class="no-js-focus-wrapper"><a 4132 class="inline-block py-1 " 4133 href="/pages/in-good-company-with" 4134 > 4135 In good company with⦠4136 </a></li><li class="no-js-focus-wrapper"><a 4137 class="inline-block py-1 " 4138 href="/pages/about-print-room" 4139 > 4140 Our origins 4141 </a></li></ul> 4142 </data-island></li><li 4143 class="no-js-focus-wrapper break-word px-section-horizontal-spacing border-t-gridline border-gr
4143idline-color first-of-type:border-t-0" 4144 ><data-island class="contents" x-data="{ expanded: false }"><button 4145 class="relative block w-full text-left inline-block py-4 w-full text-heading-standard ease pr-10 transition font-body" 4146 x-bind:aria-expanded="expanded ? true : 'false'" 4147 @click="expanded = ! expanded" 4148 aria-controls="accordion5" 4149 > 4150 Get started 4151 <span class="absolute right-0 top-1/2 flex h-6 w-6 -translate-y-1/2 transform items-center"><span 4152 class="inline-block w-full origin-center" 4153 x-show="!expanded" 4154 ><svg 4155 class="theme-icon" 4156 xmlns="http://www.w3.org/2000/svg" 4157 fill="none" 4158 viewBox="0 0 24 24" 4159> 4160 <path stroke="currentColor" d="M12 1v22M1 12h22" vector-effect="non-scaling-stroke"/> 4161</svg> 4162</span> 4163 <span 4164 class="inline-block w-full origin-center" 4165 x-show="expanded" 4166 style="display: none;" 4167 ><svg 4168 class="theme-icon" 4169 xmlns="http://www.w3.org/2000/svg" 4170 fill="none" 4171 viewBox="0 0 24 24" 4172> 4173 <path stroke="currentColor" d="M1 12h22" vector-effect="non-scaling-stroke"/> 4174</svg> 4175</span></span> 4176 </button> 4177 <ul 4178 id="accordion5" 4179 class="no-js-focus-container pb-2 pl-4" 4180 x-show="expanded" 4181 x-cloak 4182 ><li class="no-js-focus-wrapper"><a 4183 class="inline-block py-1 " 4184 href="/collections/product-library" 4185 > 4186 Start a project 4187 </a></li><li class="no-js-focus-wrapper"><a 4188 class="inline-block py-1 " 4189 href="/pages/book-a-call" 4190 > 4191 Book a call 4192 </a></li></ul> 4193 </data-island></li></ul> 4194 </nav> 4195 <div class="border-t-gridline border-gridline-color"> 4196 <nav class="my-6" aria-label="Secondary"> 4197 <ul></ul> 4198 </nav> 4199 4200 4201 <div class="my-6 px-section-horizontal-spacing"> 4202 <form method="post" action="/localization" id="sidebar-localization-form" accept-charset="UTF-8" class="shopify-localization-form" enctype="multipart/form-data"><input type="hidden" name="form_type" value="localization" /><input type="hidden" name="utf8" value="â" /><input type="hidden" name="_method" value="put" /><input type="hidden" name="return_to" value="/" /><div class="flex gap-4 flex-col gap-y-0"><div class="inline-block shrink-0 select-none"> 4203 <h2 class="sr-only" id="country-heading-sidebar"> 4204 Country/region 4205 </h2> 4206 <data-island 4207 class="relative" 4208 x-data="{ expanded: false }" 4209 @keydown.escape.prevent.stop="expanded = false" 4210 @click.outside="expanded = false" 4211 > 4212 <button 4213 type="button" 4214 class="text-base py-2" 4215 :aria-expanded="expanded" 4216 aria-controls="country-list-sidebar" 4217 aria-describedby="country-heading-sidebar" 4218 @click.prevent="expanded = ! expanded" 4219 > 4220 United States (USD 4221 $) 4222 <span 4223 class="rotate ml-1 inline-block w-3 origin-center transform fill-current transition" 4224 :class="{ 'rotate-180': expanded }" 4225 > 4226 <svg 4227 class="theme-icon" 4228 xmlns="http://www.w3.org/2000/svg" 4229 fill="none" 4230 viewBox="0 0 24 24" 4231> 4232 <path stroke="currentColor" d="M1.5 7 12 17.5 22.5 7" vector-effect="non-scaling-stroke"/> 4233</svg> 4234 4235 </span> 4236 </button> 4237 <div 4238 class="absolute bottom-[calc(100%_+_0.5rem)] right-auto left-0" 4239 x-show="expanded" 4240 style="display: none;" 4241 > 4242 <ul 4243 id="country-list-sidebar" 4244 class="relative z-10 flex max-h-[30vh] w-max max-w-[theme(spacing.52)] snap-y snap-mandatory flex-col gap-[--text-border-width] overflow-y-auto border-text border-gr
4244idline-color bg-gridline-color text-base" 4245 x-transition:enter="transition ease duration-300" 4246 x-transition:enter-start="opacity-0" 4247 x-transition:enter-end="opacity-100" 4248 x-transition:leave="transition ease duration-300" 4249 x-transition:leave-start="opacity-100" 4250 x-transition:leave-end="opacity-0" 4251 :aria-hidden="! expanded" 4252 > 4253 4254 <li class="flex items-center bg-scheme-background px-2 py-2 coarse-pointer:min-h-[44px] coarse-pointer:min-w-[44px]"> 4255 <button 4256 class="break-word text-left [text-wrap:balance] hover:text-scheme-accent" 4257 type="button" 4258 4259 @click.prevent="$refs.input.value = 'AU'; $root.closest('form').submit();" 4260 > 4261 <span class="border-transparent border-b-text">Australia (AUD 4262 $)</span 4263 > 4264 </button> 4265 </li> 4266 <li class="flex items-center bg-scheme-background px-2 py-2 coarse-pointer:min-h-[44px] coarse-pointer:min-w-[44px]"> 4267 <button 4268 class="break-word text-left [text-wrap:balance] hover:text-scheme-accent" 4269 type="button" 4270 4271 @click.prevent="$refs.input.value = 'CN'; $root.closest('form').submit();" 4272 > 4273 <span class="border-transparent border-b-text">China (CNY 4274 Â¥)</span 4275 > 4276 </button> 4277 </li> 4278 <li class="flex items-center bg-scheme-background px-2 py-2 coarse-pointer:min-h-[44px] coarse-pointer:min-w-[44px]"> 4279 <button 4280 class="break-word text-left [text-wrap:balance] hover:text-scheme-accent" 4281 type="button" 4282 4283 @click.prevent="$refs.input.value = 'FR'; $root.closest('form').submit();" 4284 > 4285 <span class="border-transparent border-b-text">France (EUR 4286 â¬)</span 4287 > 4288 </button> 4289 </li> 4290 <li class="flex items-center bg-scheme-background px-2 py-2 coarse-pointer:min-h-[44px] coarse-pointer:min-w-[44px]"> 4291 <button 4292 class="break-word text-left [text-wrap:balance] hover:text-scheme-accent" 4293 type="button" 4294 4295 @click.prevent="$refs.input.value = 'NZ'; $root.closest('form').submit();" 4296 > 4297 <span class="border-transparent border-b-text">New Zealand (NZD 4298 $)</span 4299 > 4300 </button> 4301 </li> 4302 <li class="flex items-center bg-scheme-background px-2 py-2 coarse-pointer:min-h-[44px] coarse-pointer:min-w-[44px]"> 4303 <button 4304 class="break-word text-left [text-wrap:balance] hover:text-scheme-accent" 4305 type="button" 4306 4307 @click.prevent="$refs.input.value = 'GB'; $root.closest('form').submit();" 4308 > 4309 <span class="border-transparent border-b-text">United Kingdom (GBP 4310 £)</span 4311 > 4312 </button> 4313 </li> 4314 <li class="flex items-center bg-scheme-background px-2 py-2 coarse-pointer:min-h-[44px] coarse-pointer:min-w-[44px]"> 4315 <button 4316 class="break-word text-left [text-wrap:balance] hover:text-scheme-accent" 4317 type="button" 4318 4319 aria-current="true" 4320 4321 @click.prevent="$refs.input.value = 'US'; $root.closest('form').submit();" 4322 > 4323 <span class="border-scheme-text border-b-text">United States (USD 4324 $)</span 4325 > 4326 </button> 4327 </li></ul> 4328 </div> 4329 4330 <input 4331 x-ref="input" 4332 type="hidden" 4333 name="country_code" 4334 id="CountrySelector" 4335 value="US" 4336 > 4337 </data-island> 4338 </div></div></form> 4339 </div> 4340 4341 4342 4343<form 4344 class="my-6 px-section-horizontal-spacing" 4345 action="/search" 4346 method="get" 4347 role="search" 4348 > 4349 <div class="flex w-full max-w-xs items-end"> 4350 <label for="menu-drawer-search" class="sr-only">Search</label> 4351 <input 4352 class="min-w-0 flex-auto border-b-text border-current bg-transparent py-1.5 placeholder-current" 4353 id="menu-drawer-search" 4354 type="text" 4355 name="q" 4356 placeholder="Search" 4357 > 4358 <button 4359 class="px-1" 4360 type="submit" 4361 >
4362 <span class="inline-block h-6 w-6"><svg 4363 class="theme-icon" 4364 xmlns="http://www.w3.org/2000/svg" 4365 fill="none" 4366 viewBox="0 0 24 24" 4367> 4368 <path stroke="currentColor" d="M2 11a9 9 0 1 0 18 0 9 9 0 0 0-18 0Zm15.364 6.364L22 22" vector-effect="non-scaling-stroke"/> 4369</svg> 4370</span> 4371 <span class="sr-only">Submit</span> 4372 </button> 4373 </div> 4374 </form> 4375 </div> 4376 </div> 4377 4378 </div> 4379 </section> 4380 4381 <style> 4382 .section-sidebar { 4383 display: block !important; 4384 } 4385 4386 @media (min-width: 1024px) { 4387 .section-sidebar { 4388 display: none !important; 4389 } 4390 } 4391 4392 .sidebar-container { 4393 position: static; 4394 width: 100%; 4395 max-width: 100%; 4396 border-right: 0; 4397 display: none; 4398 } 4399 4400 .section-sidebar:focus-within .sidebar-container { 4401 display: block !important; 4402 } 4403 </style> 4404</noscript> 4405 4406 4407</div>
4407<script> 4408 const calculateHeaderHeights = () => { 4409 const headerGroupHeights = []; 4410 4411 document 4412 .querySelectorAll('.shopify-section-group-header-group') 4413 .forEach((headerGroupSectionEl) => { 4414 headerGroupHeights.push( 4415 headerGroupSectionEl.getBoundingClientRect().height 4416 ); 4417 }); 4418 4419 document.documentElement.style.setProperty( 4420 '--header-group-height', 4421 `${headerGroupHeights.reduce((subtotal, a) => subtotal + a, 0)}px` 4422 ); 4423 }; 4424 4425 calculateHeaderHeights(); 4426 4427 if (document.readyState === 'loading') { 4428 document.addEventListener('DOMContentLoaded', calculateHeaderHeights); 4429 } 4430 window.addEventListener('load', calculateHeaderHeights); 4431 4432 const debouncedCalculateHeaderHeights = debounce(calculateHeaderHeights, 300); 4433 4434 window.addEventListener('resize', debouncedCalculateHeaderHeights); 4435</script>
4435 4436 4437 4438 4439<style> 4440 #MainContent 4441 > .shopify-section.banner-section:first-child 4442 [data-media-container].h-screen { 4443 height: calc(100vh - var(--header-group-height)); 4444 } 4445 4446 @media (min-width: 990px) { 4447 #MainContent 4448 > .shopify-section.banner-section:first-child 4449 [data-media-container].lg\:h-auto { 4450 height: auto; 4451 } 4452 4453 #MainContent 4454 > .shopify-section.banner-section:first-child 4455 [data-media-container].lg\:h-screen { 4456 height: calc(100vh - var(--header-group-height)); 4457 } 4458 } 4459</style> 4460 4461 4462 4463 <main id="MainContent"> 4464 <div id="shopify-section-template--21296459743302__16472007381b96c8a2" class="shopify-section"><section 4465 class="snap-section" 4466 x-data="{ visible: false }" 4467 x-intersect:enter.threshold.10="visible = true" 4468 x-intersect:leave.threshold.10="visible = false" 4469> 4470<div 4471 class="bg-scheme-background border-b-gridline border-gridline-color relative group overflow-hidden h-screen-less-gridline first-section:h-screen-less-header-group-less-gridline" 4472 style="height: calc(100dvh - var(--header-group-height, 0px) - (var(--gridline-width, 0px) * 2));" 4473 data-color-scheme="scheme1" 4474> 4475 4476 <a href="/collections/product-library" class="absolute inset-0 z-11" 4477 ><span class="sr-only">Start your project</span></a 4478 > 4479 4480 <div 4481 class="text-scheme-text bg-scheme-background p-2 lg:p-4 h-full w-full" 4482 data-color-scheme="scheme1" 4483 > 4484 <div class="relative h-full w-full"> 4485 4486 <div 4487 4488 class="hidden lg:block" 4489 4490 > 4491 4492 <image-with-placeholder> 4493 <img src="//printroom.co/cdn/shop/files/The-Print-Room-November-2023-10-_1_64bb0a56-25b7-40f8-b4f7-85efc956818d.jpg?v=1739305060&width=3000" alt="Custom t shirt printing, tote bags nz, embroidery, supacolour, screen printing nz" srcset="//printroom.co/cdn/shop/files/The-Print-Room-November-2023-10-_1_64bb0a56-25b7-40f8-b4f7-85efc956818d.jpg?v=1739305060&width=200 200w, //printroom.co/cdn/shop/files/The-Print-Room-November-2023-10-_1_64bb0a56-25b7-40f8-b4f7-85efc956818d.jpg?v=1739305060&width=350 350w, //printroom.co/cdn/shop/files/The-Print-Room-November-2023-10-_1_64bb0a56-25b7-40f8-b4f7-85efc956818d.jpg?v=1739305060&width=450 450w, //printroom.co/cdn/shop/files/The-Print-Room-November-2023-10-_1_64bb0a56-25b7-40f8-b4f7-85efc956818d.jpg?v=1739305060&width=750 750w, //printroom.co/cdn/shop/files/The-Print-Room-November-2023-10-_1_64bb0a56-25b7-40f8-b4f7-85efc956818d.jpg?v=1739305060&width=850 850w, //printroom.co/cdn/shop/files/The-Print-Room-November-2023-10-_1_64bb0a56-25b7-40f8-b4f7-85efc956818d.jpg?v=1739305060&width=960 960w, //printroom.co/cdn/shop/files/The-Print-Room-November-2023-10-_1_64bb0a56-25b7-40f8-b4f7-85efc956818d.jpg?v=1739305060&width=1280 1280w, //printroom.co/cdn/shop/files/The-Print-Room-November-2023-10-_1_64bb0a56-25b7-40f8-b4f7-85efc956818d.jpg?v=1739305060&width=1440 1440w, //printroom.co/cdn/shop/files/The-Print-Room-November-2023-10-_1_64bb0a56-25b7-40f8-b4f7-85efc956818d.jpg?v=1739305060&width=1536 1536w, //printroom.co/cdn/shop/files/The-Print-Room-November-2023-10-_1_64bb0a56-25b7-40f8-b4f7-85efc956818d.jpg?v=1739305060&width=1706 1706w, //printroom.co/cdn/shop/files/The-Print-Room-November-2023-10-_1_64bb0a56-25b7-40f8-b4f7-85efc956818d.jpg?v=1739305060&width=1782 1782w, //printroom.co/cdn/shop/files/The-Print-Room-November-2023-10-_1_64bb0a56-25b7-40f8-b4f7-85efc956818d.jpg?v=1739305060&width=1920 1920w, //printroom.co/cdn/shop/files/The-Print-Room-November-2023-10-_1_64bb0a56-25b7-40f8-b4f7-85efc956818d.jpg?v=1739305060&width=2560 2560w, //printroom.co/cdn/shop/files/The-Print-Room-November-2023-10-_1_64bb0a56-25b7-40f8-b4f7-85efc956818d.jpg?v=1739305060&width=2880 2880w, //printroom.co/cdn/shop/files/The-Print-Room-November-2023-10-_1_64bb0a56-25b7-40f8-b4f7-85efc956818d.jpg?v=1739305060&width=3000 3000w" width="3000" height="1500" class="peer/image block absolute inset-0 w-full h-full object-cover" sizes="100vw"> 4494 4495 <div 4496 class="absolute inset-0 h-full w-full bg-scheme-text opacity-[0.05] peer-[.is-complete]/image:opacity-0 no-js:hidden" 4497 ></div> 4498 4499</image-with-placeholder> 4500 4501 4502 </div> 4503 4504 4505 <div class="lg:hidden"> 4506 4507 4508 <image-with-placeholder> 4509 <img src="//printroom.co/cdn/shop/files/The-Print-Room-November-2023-10-_1__m.jpg?v=1739305074&width=3000" alt="Custom t shirt printing, tote bags nz, embroidery, supacolour, screen printing nz" srcset="//printroom.co/cdn/shop/files/The-Print-Room-November-2023-10-_1__m.jpg?v=1739305074&width=200 200w, //printroom.co/cdn/shop/files/The-Print-Room-November-2023-10-_1__m.jpg?v=1739305074&width=350 350w, //printroom.co/cdn/shop/files/The-Print-Room-November-2023-10-_1__m.jpg?v=1739305074&width=450 450w, //printroom.co/cdn/shop/files/The-Print-Room-November-2023-10-_1__m.jpg?v=1739305074&width=750 750w, //printroom.co/cdn/shop/files/The-Print-Room-November-2023-10-_1__m.jpg?v=1739305074&width=850 850w, //printroom.co/cdn/shop/files/The-Print-Room-November-2023-10-_1__m.jpg?v=1739305074&width=960 960w, //printroom.co/cdn/shop/files/The-Print-Room-November-2023-10-_1__m.jpg?v=1739305074&width=1280 1280w, //printroom.co/cdn/shop/files/The-Print-Room-November-2023-10-_1__m.jpg?v=1739305074&width=1440 1440w, //printroom.co/cdn/shop/files/The-Print-Room-November-2023-10-_1__m.jpg?v=1739305074&width=1536 1536w, //printroom.co/cdn/shop/files/The-Print-Room-November-2023-10-_1__m.jpg?v=1739305074&width=1706 1706w, //printroom.co/cdn/shop/files/The-Print-Room-November-2023-10-_1__m.jpg?v=1739305074&width=1782 1782w, //printroom.co/cdn/shop/files/The-Print-Room-November-2023-10-_1__m.jpg?v=1739305074&width=1920 1920w, //printroom.co/cdn/shop/files/The-Print-Room-November-2023-10-_1__m.jpg?v=1739305074&width=2560 2560w, //printroom.co/cdn/shop/files/The-Print-Room-November-2023-10-_1__m.jpg?v=1739305074&width=2880 2880w, //printroom.co/cdn/shop/files/The-Print-Room-November-2023-10-_1__m.jpg?v=1739305074&width=3000 3000w" width="3000" height="4500" loading="eager" fetchpriority="high" class="peer/image block absolute inset-0 w-full h-full object-cover" sizes="100vw"> 4510 4511 <div 4512 class="absolute inset-0 h-full w-full bg-scheme-text opacity-[0.05] peer-[.is-complete]/image:opacity-0 no-js:hidden" 4513 ></div> 4514 4515</image-with-placeholder> 4516 4517 4518 </div> 4519 4520 4521 </div> 4522 </div> 4523 4524 <div 4525 class="group absolute bottom-0 left-0 right-0 top-0 z-10 px-section-horizontal-spacing py-section-vertical-spacing" 4526 data-color-scheme="scheme1" 4527 data-animate="fade" 4528 :class="{ 'is-visible': visible }" 4529 > 4530 <div class="flex h-full w-full justify-center items-center text-center p-2 lg:p-4"> 4531 <div 4532 class="lg:w-1/2 text-scheme-text" 4533 > 4534 4535 4536 4537 <div class="rte mt-4 text-base"> 4538 <h1><strong>Makers </strong>of<strong> better </strong>merch.</h1><p><br/></p><h2>Custom branded and built goods.</h2> 4539 </div> 4540 4541 4542 4543 <div class="mt-8 text-0"><span 4544 class="theme-button theme-button--in-group inline-block" 4545 >Start your project</span></div> 4546 4547 </div> 4548 </div> 4549 </div> 4550</div> 4551</section> 4552 4553 4554<style> #shopify-section-template--21296459743302__16472007381b96c8a2 .text-base {background: #f8faf4; border-style: solid; border-width: 1px; border-color: #2b3990; padding: 40px; border-radius: 35px;} </style></div><div id="shopify-section-template--21296459743302__scrolling_text_Lpxqey" class="shopify-section"> 4555 4556<section
4557 class="border-b-gridline border-gridline-color bg-scheme-background text-scheme-text" 4558 data-color-scheme="scheme4" 4559> 4560 4561 4562 4563 4564 4565 4566<div 4567 class="py-2 lg:py-3.5 overflow-hidden" 4568> 4569 4570 <scrolling-items-container class="block"> 4571 <scrolling-items 4572 style=" 4573 --base-scrolling-items-speed: 18s; 4574 --local-scrolling-items-speed-multiplier: 1; 4575 --scrolling-items-speed: calc( 4576 var(--base-scrolling-items-speed) * var(--global-scrolling-items-speed-multiplier) * 4577 var(--local-scrolling-items-speed-multiplier) 4578 ); 4579 --scrolling-items-direction: normal;" 4580 class="block w-max whitespace-nowrap motion-safe:animate-[scrolling-items_var(--scrolling-items-speed)_linear_infinite_var(--scrolling-items-direction)] motion-safe:focus-within:[animation-play-state:paused] motion-safe:hover:[animation-play-state:paused] font-body text-scale-n3 lg:text-scale-n3 motion-reduce:block motion-reduce:whitespace-normal motion-reduce:px-section-horizontal-spacing motion-reduce:text-center motion-reduce:-translate-x-1/4" 4581 > 4582 <scrolling-items-surface class="flex flex-nowrap items-center"> 4583 <scrolling-items-content class="grow-0 shrink-0 pl-2 lg:pl-4">THE STUFF YOUR MATES WILL "BORROW"<span class="pl-2 lg:pl-4">·</span></scrolling-items-content> 4584 <noscript> 4585 4586 4587 <span class="motion-reduce:hidden grow-0 shrink-0 pl-2 lg:pl-4">THE STUFF YOUR MATES WILL "BORROW"<span class="pl-2 lg:pl-4">·</span></span> 4588 4589 <span class="motion-reduce:hidden grow-0 shrink-0 pl-2 lg:pl-4">THE STUFF YOUR MATES WILL "BORROW"<span class="pl-2 lg:pl-4">·</span></span> 4590 4591 <span class="motion-reduce:hidden grow-0 shrink-0 pl-2 lg:pl-4">THE STUFF YOUR MATES WILL "BORROW"<span class="pl-2 lg:pl-4">·</span></span> 4592 4593 <span class="motion-reduce:hidden grow-0 shrink-0 pl-2 lg:pl-4">THE STUFF YOUR MATES WILL "BORROW"<span class="pl-2 lg:pl-4">·</span></span> 4594 4595 <span class="motion-reduce:hidden grow-0 shrink-0 pl-2 lg:pl-4">THE STUFF YOUR MATES WILL "BORROW"<span class="pl-2 lg:pl-4">·</span></span> 4596 4597 <span class="motion-reduce:hidden grow-0 shrink-0 pl-2 lg:pl-4">THE STUFF YOUR MATES WILL "BORROW"<span class="pl-2 lg:pl-4">·</span></span> 4598 4599 <span class="motion-reduce:hidden grow-0 shrink-0 pl-2 lg:pl-4">THE STUFF YOUR MATES WILL "BORROW"<span class="pl-2 lg:pl-4">·</span></span> 4600 4601 <span class="motion-reduce:hidden grow-0 shrink-0 pl-2 lg:pl-4">THE STUFF YOUR MATES WILL "BORROW"<span class="pl-2 lg:pl-4">·</span></span> 4602 4603 <span class="motion-reduce:hidden grow-0 shrink-0 pl-2 lg:pl-4">THE STUFF YOUR MATES WILL "BORROW"<span class="pl-2 lg:pl-4">·</span></span> 4604 4605 <span class="motion-reduce:hidden grow-0 shrink-0 pl-2 lg:pl-4">THE STUFF YOUR MATES WILL "BORROW"<span class="pl-2 lg:pl-4">·</span></span> 4606 4607 <span class="motion-reduce:hidden grow-0 shrink-0 pl-2 lg:pl-4">THE STUFF YOUR MATES WILL "BORROW"<span class="pl-2 lg:pl-4">·</span></span> 4608 4609 </noscript> 4610 </scrolling-items-surface> 4611 </scrolling-items> 4612 </scrolling-items-container> 4613 4614 4615</div> 4616 4617</section> 4618 4619 4620</div><div id="shopify-section-template--21296459743302__featured_collection_CppVMU" class="shopify-section"><section 4621 class="featured-collection border-b-gridline border-gridline-color" 4622 data-color-scheme="scheme5" 4623> 4624 4625 4626 <div class="bg-scheme-background"> 4627 <ul class="grid grid-cols-2 lg:grid-cols-12 gap-gutter bg-gridline-color"> 4628 4629 <li class="col-span-1 lg:col-span-3 bg-scheme-background text-scheme-text"> 4630 4631<data-island 4632 class="relative flex h-full flex-col text-center hover:text-scheme-accent" 4633 4634 data-color-scheme="scheme5" 4635> 4636 <div 4637 class="relative" 4638 ><div 4639 class="group w-full pt-2 lg:pt-4 px-section-horizontal-spacing " 4640 4641 > 4642 <div class="relative z-0"> 4643 <a 4644 href="/products/stencil-hood" 4645 4646 class="absolute inset-0 z-40" 4647 >
4648 <span class="sr-only">Stencil Hood</span> 4649 </a> 4650 4651 4652<div 4653 class="relative" 4654 style="padding-top: 100%;" 4655 ><image-with-placeholder> 4656 <img src="//printroom.co/cdn/shop/files/product_a9061c96-f012-4c1b-8a13-dc512b72304b_slot_1.jpg?v=1772581593&width=3000" alt="Custom green hoodie on a white background" srcset="//printroom.co/cdn/shop/files/product_a9061c96-f012-4c1b-8a13-dc512b72304b_slot_1.jpg?v=1772581593&width=200 200w, //printroom.co/cdn/shop/files/product_a9061c96-f012-4c1b-8a13-dc512b72304b_slot_1.jpg?v=1772581593&width=350 350w, //printroom.co/cdn/shop/files/product_a9061c96-f012-4c1b-8a13-dc512b72304b_slot_1.jpg?v=1772581593&width=450 450w, //printroom.co/cdn/shop/files/product_a9061c96-f012-4c1b-8a13-dc512b72304b_slot_1.jpg?v=1772581593&width=750 750w, //printroom.co/cdn/shop/files/product_a9061c96-f012-4c1b-8a13-dc512b72304b_slot_1.jpg?v=1772581593&width=850 850w, //printroom.co/cdn/shop/files/product_a9061c96-f012-4c1b-8a13-dc512b72304b_slot_1.jpg?v=1772581593&width=960 960w, //printroom.co/cdn/shop/files/product_a9061c96-f012-4c1b-8a13-dc512b72304b_slot_1.jpg?v=1772581593&width=1280 1280w, //printroom.co/cdn/shop/files/product_a9061c96-f012-4c1b-8a13-dc512b72304b_slot_1.jpg?v=1772581593&width=1440 1440w, //printroom.co/cdn/shop/files/product_a9061c96-f012-4c1b-8a13-dc512b72304b_slot_1.jpg?v=1772581593&width=1536 1536w, //printroom.co/cdn/shop/files/product_a9061c96-f012-4c1b-8a13-dc512b72304b_slot_1.jpg?v=1772581593&width=1706 1706w, //printroom.co/cdn/shop/files/product_a9061c96-f012-4c1b-8a13-dc512b72304b_slot_1.jpg?v=1772581593&width=1782 1782w, //printroom.co/cdn/shop/files/product_a9061c96-f012-4c1b-8a13-dc512b72304b_slot_1.jpg?v=1772581593&width=1920 1920w, //printroom.co/cdn/shop/files/product_a9061c96-f012-4c1b-8a13-dc512b72304b_slot_1.jpg?v=1772581593&width=2560 2560w, //printroom.co/cdn/shop/files/product_a9061c96-f012-4c1b-8a13-dc512b72304b_slot_1.jpg?v=1772581593&width=2880 2880w, //printroom.co/cdn/shop/files/product_a9061c96-f012-4c1b-8a13-dc512b72304b_slot_1.jpg?v=1772581593&width=3000 3000w" width="3000" height="3000" loading="eager" class="peer/image block absolute inset-0 w-full h-full object-contain" sizes="(min-width: 1024px) calc(100vw / 12 * 3), 100vw"> 4657 4658 <div 4659 class="absolute inset-0 h-full w-full bg-scheme-text opacity-[0.05] peer-[.is-complete]/image:opacity-0 no-js:hidden" 4660 ></div> 4661 4662</image-with-placeholder> 4663</div> 4664 4665 <image-with-placeholder> 4666 <img src="//printroom.co/cdn/shop/files/product_a9061c96-f012-4c1b-8a13-dc512b72304b_slot_2.jpg?v=1772581594&width=3000" alt="Green hoodie on a white background" srcset="//printroom.co/cdn/shop/files/product_a9061c96-f012-4c1b-8a13-dc512b72304b_slot_2.jpg?v=1772581594&width=200 200w, //printroom.co/cdn/shop/files/product_a9061c96-f012-4c1b-8a13-dc512b72304b_slot_2.jpg?v=1772581594&width=350 350w, //printroom.co/cdn/shop/files/product_a9061c96-f012-4c1b-8a13-dc512b72304b_slot_2.jpg?v=1772581594&width=450 450w, //printroom.co/cdn/shop/files/product_a9061c96-f012-4c1b-8a13-dc512b72304b_slot_2.jpg?v=1772581594&width=750 750w, //printroom.co/cdn/shop/files/product_a9061c96-f012-4c1b-8a13-dc512b72304b_slot_2.jpg?v=1772581594&width=850 850w, //printroom.co/cdn/shop/files/product_a9061c96-f012-4c1b-8a13-dc512b72304b_slot_2.jpg?v=1772581594&width=960 960w, //printroom.co/cdn/shop/files/product_a9061c96-f012-4c1b-8a13-dc512b72304b_slot_2.jpg?v=1772581594&width=1280 1280w, //printroom.co/cdn/shop/files/product_a9061c96-f012-4c1b-8a13-dc512b72304b_slot_2.jpg?v=1772581594&width=1440 1440w, //printroom.co/cdn/shop/files/product_a9061c96-f012-4c1b-8a13-dc512b72304b_slot_2.jpg?v=1772581594&width=1536 1536w, //printroom.co/cdn/shop/files/product_a9061c96-f012-4c1b-8a13-dc512b72304b_slot_2.jpg?v=1772581594&width=1706 1706w, //printroom.co/cdn/shop/files/product_a9061c96-f012-4c1b-8a13-dc512b72304b_slot_2.jpg?v=1772581594&width=1782 1782w, //printroom.co/cdn/shop/files/product_a9061c96-f012-4c1b-8a13-dc512b72304b_slot_2.jpg?v=1772581594&width=1920 1920w, //printroom.co/cdn/shop/files/product_a9061c96-f012-4c1b-8a13-dc512b72304b_slot_2.jpg?v=1772581594&width=2560 2560w, //printroom.co/cdn/shop/files/product_a9061c96-f012-4c1b-8a13-dc512b72304b_slot_2.jpg?v=1772581594&width=2880 2880w, //printroom.co/cdn/shop/files/product_a9061c96-f012-4c1b-8a13-dc512b72304b_slot_2.jpg?v=1772581594&width=3000 3000w" width="3000" height="3000" loading="eager" class="peer/image block absolute inset-0 w-full h-full object-contain z-35 bg-scheme-background opacity-0 transition-opacity duration-200 ease-in-out group-hover:opacity-100 group-focus-within:opacity-100" sizes="(min-width: 1024px) calc(100vw / 12 * 3), 100vw"> 4667 4668 <div 4669 class="absolute inset-0 h-full w-full bg-scheme-text opacity-[0.05] peer-[.is-complete]/image:opacity-0 no-js:hidden" 4670 ></div> 4671 4672</image-with-placeholder> 4673 4674</div> 4675 </div> 4676 4677 4678 <div 4679 class="relative justify-between py-4 px-section-horizontal-spacing text-center text-sm lg:text-base" 4680 > 4681 <a 4682 href="/products/stencil-hood" 4683 4684 class="absolute inset-0 z-10" 4685 >
4686 <span class="sr-only">Stencil Hood</span> 4687 </a> 4688 <div class="text-center break-word"> 4689 4690 <p class="mb-1 text-scheme-secondary"> 4691 AS Colour 4692 </p> 4693 4694 <p 4695 aria-hidden="true" 4696 class="font-bold" 4697 > 4698 Stencil Hood 4699 </p> 4700 4701 4702 4703 4704 4705 4706 4707 4708 4709 4710 </div> 4711 <div class="text-center mt-1 lg:mt-2"> 4712 4713 4714 4715 4716<span>from $31.00</span> 4717 4718 4719 4720 4721</div> 4722 4723 <div class="mt-2 text-center"><data-island x-data on="idle" style="display: inline-block;"> 4724 <button 4725 type="button" 4726 :style="'display:inline-flex; align-items:center; justify-content:center; gap:0.25rem; width:110px; height:26px; padding:0 0.625rem; font-family:DM Sans,sans-serif; font-size:10px; font-weight:400; line-height:16px; border-radius:24px; cursor:pointer; white-space:nowrap; position:relative; z-index:10; transition:transform 0.2s ease-out,background-color 0.2s ease-out,border-color 0.2s ease-out,color 0.2s ease-out,box-shadow 0.2s ease-out;' + ($store.favorites.has(4166829736006) 4727 ? 'border:0.4px solid #4B4D72; background:#4B4D72; color:#fff; box-shadow:0 4px 14px rgba(75,77,114,0.18);' 4728 : 'border:0.4px solid #000; background:transparent; color:#000; box-shadow:none;')" 4729 style="display:inline-flex; align-items:center; justify-content:center; gap:0.25rem; width:110px; height:26px; padding:0 0.625rem; font-family:'DM Sans',sans-serif; font-size:10px; font-weight:400; line-height:16px; border:0.4px solid #000; border-radius:24px; background:transparent; color:#000; cursor:pointer; white-space:nowrap; position:relative; z-index:10;" 4730 @click.prevent.stop='if ($store.favorites.has(4166829736006)) { $store.modals.open("favorites") } else { $store.favorites.add({ 4731 id: 4166829736006, 4732 handle: "stencil-hood", 4733 title: "Stencil Hood", 4734 vendor: "AS Colour", 4735 hasColours: true, 4736 variantId: null, 4737 colour: null, 4738 sizeOptions: ["XS","S","M","L","XL","2XL","3XL","4XL","5XL"], 4739 price: 3100, 4740 compare_at_price: null, 4741 image: "\/\/printroom.co\/cdn\/shop\/files\/product_a9061c96-f012-4c1b-8a13-dc512b72304b_slot_1.jpg?v=1772581593\u0026width=200", 4742 productImage: "\/\/printroom.co\/cdn\/shop\/files\/product_a9061c96-f012-4c1b-8a13-dc512b72304b_slot_1.jpg?v=1772581593\u0026width=200", 4743 url: "/products/stencil-hood", 4744 moq: 24 4745 }) }' 4746 :aria-label="$store.favorites.has(4166829736006) ? 'Open quote list' : 'Add Stencil Hood to quote'" 4747 > 4748 <span style="width:10px; height:10px; flex-shrink:0;" x-show="!$store.favorites.has(4166829736006)"><span class="h-full w-full"> 4749 <svg 4750 aria-hidden="true" 4751 focusable="false" 4752 role="presentation" 4753 class="icon icon-quote-list-outline" 4754 viewBox="0 0 24 24" 4755 fill="none" 4756 ><rect x="3" y="1" width="18" height="22" rx="2.5" ry="2.5" stroke="currentColor" stroke-width="1.5"></rect><circle cx="7.5" cy="7.5" r="1" fill="currentColor"></circle> 4757 <line x1="10" y1="7.5" x2="17.5" y2="7.5" stroke="currentColor" stroke-width="1.4" stroke-linecap="round"></line> 4758 <circle cx="7.5" cy="11" r="1" fill="currentColor"></circle> 4759 <line x1="10" y1="11" x2="17.5" y2="11" stroke="currentColor" stroke-width="1.4" stroke-linecap="round"></line> 4760 <circle cx="7.5" cy="14.5" r="1" fill="currentColor"></circle> 4761 <line x1="10" y1="14.5" x2="17.5" y2="14.5" stroke="currentColor" stroke-width="1.4" stroke-linecap="round"></line> 4762 <circle cx="7.5" cy="18" r="1" fill="currentColor"></circle> 4763 <line x1="10" y1="18" x2="17.5" y2="18" stroke="currentColor" stroke-width="1.4" stroke-linecap="round"></line> 4764 </svg> 4765</span> 4766</span> 4767 <span x-text="$store.favorites.has(4166829736006) ? 'In quote â' : 'Add to quote'">Add to quote</span> 4768 </button> 4769 </data-island></div> 4770 </div> 4771 </div> 4772</data-island> 4773 4774 </li> 4775 4776 4777 <li class="col-span-1 lg:col-span-3 bg-scheme-background text-scheme-text"> 4778 4779<data-island 4780 class="relative flex h-full flex-col text-center hover:text-scheme-accent" 4781 4782 data-color-scheme="scheme5" 4783> 4784 <div 4785 class="relative" 4786 ><div 4787 class="group w-full pt-2 lg:pt-4 px-section-horizontal-spacing " 4788 4789 > 4790 <div class="relative z-0"> 4791 <a 4792 href="/products/surf-cap" 4793 4794 class="absolute inset-0 z-40" 4795 >
4796 <span class="sr-only">Surf Cap</span> 4797 </a> 4798 4799 4800<div 4801 class="relative" 4802 style="padding-top: 100%;" 4803 ><image-with-placeholder> 4804 <img src="//printroom.co/cdn/shop/files/product_a75e485f-b314-489e-9bd6-e48e7b180d7f_slot_1.jpg?v=1772654556&width=3000" alt="Custom orange cap on white background" srcset="//printroom.co/cdn/shop/files/product_a75e485f-b314-489e-9bd6-e48e7b180d7f_slot_1.jpg?v=1772654556&width=200 200w, //printroom.co/cdn/shop/files/product_a75e485f-b314-489e-9bd6-e48e7b180d7f_slot_1.jpg?v=1772654556&width=350 350w, //printroom.co/cdn/shop/files/product_a75e485f-b314-489e-9bd6-e48e7b180d7f_slot_1.jpg?v=1772654556&width=450 450w, //printroom.co/cdn/shop/files/product_a75e485f-b314-489e-9bd6-e48e7b180d7f_slot_1.jpg?v=1772654556&width=750 750w, //printroom.co/cdn/shop/files/product_a75e485f-b314-489e-9bd6-e48e7b180d7f_slot_1.jpg?v=1772654556&width=850 850w, //printroom.co/cdn/shop/files/product_a75e485f-b314-489e-9bd6-e48e7b180d7f_slot_1.jpg?v=1772654556&width=960 960w, //printroom.co/cdn/shop/files/product_a75e485f-b314-489e-9bd6-e48e7b180d7f_slot_1.jpg?v=1772654556&width=1280 1280w, //printroom.co/cdn/shop/files/product_a75e485f-b314-489e-9bd6-e48e7b180d7f_slot_1.jpg?v=1772654556&width=1440 1440w, //printroom.co/cdn/shop/files/product_a75e485f-b314-489e-9bd6-e48e7b180d7f_slot_1.jpg?v=1772654556&width=1536 1536w, //printroom.co/cdn/shop/files/product_a75e485f-b314-489e-9bd6-e48e7b180d7f_slot_1.jpg?v=1772654556&width=1706 1706w, //printroom.co/cdn/shop/files/product_a75e485f-b314-489e-9bd6-e48e7b180d7f_slot_1.jpg?v=1772654556&width=1782 1782w, //printroom.co/cdn/shop/files/product_a75e485f-b314-489e-9bd6-e48e7b180d7f_slot_1.jpg?v=1772654556&width=1920 1920w, //printroom.co/cdn/shop/files/product_a75e485f-b314-489e-9bd6-e48e7b180d7f_slot_1.jpg?v=1772654556&width=2560 2560w, //printroom.co/cdn/shop/files/product_a75e485f-b314-489e-9bd6-e48e7b180d7f_slot_1.jpg?v=1772654556&width=2880 2880w, //printroom.co/cdn/shop/files/product_a75e485f-b314-489e-9bd6-e48e7b180d7f_slot_1.jpg?v=1772654556&width=3000 3000w" width="3000" height="3000" loading="eager" class="peer/image block absolute inset-0 w-full h-full object-contain" sizes="(min-width: 1024px) calc(100vw / 12 * 3), 100vw"> 4805 4806 <div 4807 class="absolute inset-0 h-full w-full bg-scheme-text opacity-[0.05] peer-[.is-complete]/image:opacity-0 no-js:hidden" 4808 ></div> 4809 4810</image-with-placeholder> 4811</div> 4812 4813 <image-with-placeholder> 4814 <img src="//printroom.co/cdn/shop/files/product_a75e485f-b314-489e-9bd6-e48e7b180d7f_slot_2.jpg?v=1772654559&width=3000" alt="orange cap on white background" srcset="//printroom.co/cdn/shop/files/product_a75e485f-b314-489e-9bd6-e48e7b180d7f_slot_2.jpg?v=1772654559&width=200 200w, //printroom.co/cdn/shop/files/product_a75e485f-b314-489e-9bd6-e48e7b180d7f_slot_2.jpg?v=1772654559&width=350 350w, //printroom.co/cdn/shop/files/product_a75e485f-b314-489e-9bd6-e48e7b180d7f_slot_2.jpg?v=1772654559&width=450 450w, //printroom.co/cdn/shop/files/product_a75e485f-b314-489e-9bd6-e48e7b180d7f_slot_2.jpg?v=1772654559&width=750 750w, //printroom.co/cdn/shop/files/product_a75e485f-b314-489e-9bd6-e48e7b180d7f_slot_2.jpg?v=1772654559&width=850 850w, //printroom.co/cdn/shop/files/product_a75e485f-b314-489e-9bd6-e48e7b180d7f_slot_2.jpg?v=1772654559&width=960 960w, //printroom.co/cdn/shop/files/product_a75e485f-b314-489e-9bd6-e48e7b180d7f_slot_2.jpg?v=1772654559&width=1280 1280w, //printroom.co/cdn/shop/files/product_a75e485f-b314-489e-9bd6-e48e7b180d7f_slot_2.jpg?v=1772654559&width=1440 1440w, //printroom.co/cdn/shop/files/product_a75e485f-b314-489e-9bd6-e48e7b180d7f_slot_2.jpg?v=1772654559&width=1536 1536w, //printroom.co/cdn/shop/files/product_a75e485f-b314-489e-9bd6-e48e7b180d7f_slot_2.jpg?v=1772654559&width=1706 1706w, //printroom.co/cdn/shop/files/product_a75e485f-b314-489e-9bd6-e48e7b180d7f_slot_2.jpg?v=1772654559&width=1782 1782w, //printroom.co/cdn/shop/files/product_a75e485f-b314-489e-9bd6-e48e7b180d7f_slot_2.jpg?v=1772654559&width=1920 1920w, //printroom.co/cdn/shop/files/product_a75e485f-b314-489e-9bd6-e48e7b180d7f_slot_2.jpg?v=1772654559&width=2560 2560w, //printroom.co/cdn/shop/files/product_a75e485f-b314-489e-9bd6-e48e7b180d7f_slot_2.jpg?v=1772654559&width=2880 2880w, //printroom.co/cdn/shop/files/product_a75e485f-b314-489e-9bd6-e48e7b180d7f_slot_2.jpg?v=1772654559&width=3000 3000w" width="3000" height="3000" loading="eager" class="peer/image block absolute inset-0 w-full h-full object-contain z-35 bg-scheme-background opacity-0 transition-opacity duration-200 ease-in-out group-hover:opacity-100 group-focus-within:opacity-100" sizes="(min-width: 1024px) calc(100vw / 12 * 3), 100vw"> 4815 4816 <div 4817 class="absolute inset-0 h-full w-full bg-scheme-text opacity-[0.05] peer-[.is-complete]/image:opacity-0 no-js:hidden" 4818 ></div> 4819 4820</image-with-placeholder> 4821 4822</div> 4823 </div> 4824 4825 4826 <div 4827 class="relative justify-between py-4 px-section-horizontal-spacing text-center text-sm lg:text-base" 4828 > 4829 <a 4830 href="/products/surf-cap" 4831 4832 class="absolute inset-0 z-10" 4833 >
4834 <span class="sr-only">Surf Cap</span> 4835 </a> 4836 <div class="text-center break-word"> 4837 4838 <p class="mb-1 text-scheme-secondary"> 4839 AS Colour 4840 </p> 4841 4842 <p 4843 aria-hidden="true" 4844 class="font-bold" 4845 > 4846 Surf Cap 4847 </p> 4848 4849 4850 4851 4852 4853 4854 4855 4856 4857 4858 </div> 4859 <div class="text-center mt-1 lg:mt-2"> 4860 4861 4862 4863 4864<span>from $13.00</span> 4865 4866 4867 4868 4869</div> 4870 4871 <div class="mt-2 text-center"><data-island x-data on="idle" style="display: inline-block;"> 4872 <button 4873 type="button" 4874 :style="'display:inline-flex; align-items:center; justify-content:center; gap:0.25rem; width:110px; height:26px; padding:0 0.625rem; font-family:DM Sans,sans-serif; font-size:10px; font-weight:400; line-height:16px; border-radius:24px; cursor:pointer; white-space:nowrap; position:relative; z-index:10; transition:transform 0.2s ease-out,background-color 0.2s ease-out,border-color 0.2s ease-out,color 0.2s ease-out,box-shadow 0.2s ease-out;' + ($store.favorites.has(8274958123078) 4875 ? 'border:0.4px solid #4B4D72; background:#4B4D72; color:#fff; box-shadow:0 4px 14px rgba(75,77,114,0.18);' 4876 : 'border:0.4px solid #000; background:transparent; color:#000; box-shadow:none;')" 4877 style="display:inline-flex; align-items:center; justify-content:center; gap:0.25rem; width:110px; height:26px; padding:0 0.625rem; font-family:'DM Sans',sans-serif; font-size:10px; font-weight:400; line-height:16px; border:0.4px solid #000; border-radius:24px; background:transparent; color:#000; cursor:pointer; white-space:nowrap; position:relative; z-index:10;" 4878 @click.prevent.stop='if ($store.favorites.has(8274958123078)) { $store.modals.open("favorites") } else { $store.favorites.add({ 4879 id: 8274958123078, 4880 handle: "surf-cap", 4881 title: "Surf Cap", 4882 vendor: "AS Colour", 4883 hasColours: true, 4884 variantId: null, 4885 colour: null, 4886 sizeOptions: ["One Size"], 4887 price: 1300, 4888 compare_at_price: null, 4889 image: "\/\/printroom.co\/cdn\/shop\/files\/product_a75e485f-b314-489e-9bd6-e48e7b180d7f_slot_1.jpg?v=1772654556\u0026width=200", 4890 productImage: "\/\/printroom.co\/cdn\/shop\/files\/product_a75e485f-b314-489e-9bd6-e48e7b180d7f_slot_1.jpg?v=1772654556\u0026width=200", 4891 url: "/products/surf-cap", 4892 moq: 24 4893 }) }' 4894 :aria-label="$store.favorites.has(8274958123078) ? 'Open quote list' : 'Add Surf Cap to quote'" 4895 > 4896 <span style="width:10px; height:10px; flex-shrink:0;" x-show="!$store.favorites.has(8274958123078)"><span class="h-full w-full"> 4897 <svg 4898 aria-hidden="true" 4899 focusable="false" 4900 role="presentation" 4901 class="icon icon-quote-list-outline" 4902 viewBox="0 0 24 24" 4903 fill="none" 4904 ><rect x="3" y="1" width="18" height="22" rx="2.5" ry="2.5" stroke="currentColor" stroke-width="1.5"></rect><circle cx="7.5" cy="7.5" r="1" fill="currentColor"></circle> 4905 <line x1="10" y1="7.5" x2="17.5" y2="7.5" stroke="currentColor" stroke-width="1.4" stroke-linecap="round"></line> 4906 <circle cx="7.5" cy="11" r="1" fill="currentColor"></circle> 4907 <line x1="10" y1="11" x2="17.5" y2="11" stroke="currentColor" stroke-width="1.4" stroke-linecap="round"></line> 4908 <circle cx="7.5" cy="14.5" r="1" fill="currentColor"></circle> 4909 <line x1="10" y1="14.5" x2="17.5" y2="14.5" stroke="currentColor" stroke-width="1.4" stroke-linecap="round"></line> 4910 <circle cx="7.5" cy="18" r="1" fill="currentColor"></circle> 4911 <line x1="10" y1="18" x2="17.5" y2="18" stroke="currentColor" stroke-width="1.4" stroke-linecap="round"></line> 4912 </svg> 4913</span> 4914</span> 4915 <span x-text="$store.favorites.has(8274958123078) ? 'In quote â' : 'Add to quote'">Add to quote</span> 4916 </button> 4917 </data-island></div> 4918 </div> 4919 </div> 4920</data-island> 4921 4922 </li> 4923 4924 4925 <li class="col-span-1 lg:col-span-3 bg-scheme-background text-scheme-text"> 4926 4927<data-island 4928 class="relative flex h-full flex-col text-center hover:text-scheme-accent" 4929 4930 data-color-scheme="scheme5" 4931> 4932 <div 4933 class="relative" 4934 ><div 4935 class="group w-full pt-2 lg:pt-4 px-section-horizontal-spacing " 4936 4937 > 4938 <div class="relative z-0"> 4939 <a 4940 href="/products/weekend-tote-bag" 4941 4942 class="absolute inset-0 z-40" 4943 >
4944 <span class="sr-only">Weekend Tote Bag</span> 4945 </a> 4946 4947 4948<div 4949 class="relative" 4950 style="padding-top: 100%;" 4951 ><image-with-placeholder> 4952 <img src="//printroom.co/cdn/shop/files/product_d08ffcb8-611f-401c-87a2-0711b56b28e2_slot_1.jpg?v=1772657689&width=3000" alt="Printed Print Room Weekend tote bag on white background" srcset="//printroom.co/cdn/shop/files/product_d08ffcb8-611f-401c-87a2-0711b56b28e2_slot_1.jpg?v=1772657689&width=200 200w, //printroom.co/cdn/shop/files/product_d08ffcb8-611f-401c-87a2-0711b56b28e2_slot_1.jpg?v=1772657689&width=350 350w, //printroom.co/cdn/shop/files/product_d08ffcb8-611f-401c-87a2-0711b56b28e2_slot_1.jpg?v=1772657689&width=450 450w, //printroom.co/cdn/shop/files/product_d08ffcb8-611f-401c-87a2-0711b56b28e2_slot_1.jpg?v=1772657689&width=750 750w, //printroom.co/cdn/shop/files/product_d08ffcb8-611f-401c-87a2-0711b56b28e2_slot_1.jpg?v=1772657689&width=850 850w, //printroom.co/cdn/shop/files/product_d08ffcb8-611f-401c-87a2-0711b56b28e2_slot_1.jpg?v=1772657689&width=960 960w, //printroom.co/cdn/shop/files/product_d08ffcb8-611f-401c-87a2-0711b56b28e2_slot_1.jpg?v=1772657689&width=1280 1280w, //printroom.co/cdn/shop/files/product_d08ffcb8-611f-401c-87a2-0711b56b28e2_slot_1.jpg?v=1772657689&width=1440 1440w, //printroom.co/cdn/shop/files/product_d08ffcb8-611f-401c-87a2-0711b56b28e2_slot_1.jpg?v=1772657689&width=1536 1536w, //printroom.co/cdn/shop/files/product_d08ffcb8-611f-401c-87a2-0711b56b28e2_slot_1.jpg?v=1772657689&width=1706 1706w, //printroom.co/cdn/shop/files/product_d08ffcb8-611f-401c-87a2-0711b56b28e2_slot_1.jpg?v=1772657689&width=1782 1782w, //printroom.co/cdn/shop/files/product_d08ffcb8-611f-401c-87a2-0711b56b28e2_slot_1.jpg?v=1772657689&width=1920 1920w, //printroom.co/cdn/shop/files/product_d08ffcb8-611f-401c-87a2-0711b56b28e2_slot_1.jpg?v=1772657689&width=2560 2560w, //printroom.co/cdn/shop/files/product_d08ffcb8-611f-401c-87a2-0711b56b28e2_slot_1.jpg?v=1772657689&width=2880 2880w, //printroom.co/cdn/shop/files/product_d08ffcb8-611f-401c-87a2-0711b56b28e2_slot_1.jpg?v=1772657689&width=3000 3000w" width="3000" height="3000" loading="lazy" class="peer/image block absolute inset-0 w-full h-full object-contain" sizes="(min-width: 1024px) calc(100vw / 12 * 3), 100vw"> 4953 4954 <div 4955 class="absolute inset-0 h-full w-full bg-scheme-text opacity-[0.05] peer-[.is-complete]/image:opacity-0 no-js:hidden" 4956 ></div> 4957 4958</image-with-placeholder> 4959</div> 4960 4961 <image-with-placeholder> 4962 <img src="//printroom.co/cdn/shop/files/pr_weekend_tote_utopia_ice_ltd_8accac43-5fcb-4ebb-8b20-4405e0db4d55.jpg?v=1790555505&width=3000" alt="Print Room Weekend Tote Bag PRTBWE Bag made to order nz" srcset="//printroom.co/cdn/shop/files/pr_weekend_tote_utopia_ice_ltd_8accac43-5fcb-4ebb-8b20-4405e0db4d55.jpg?v=1790555505&width=200 200w, //printroom.co/cdn/shop/files/pr_weekend_tote_utopia_ice_ltd_8accac43-5fcb-4ebb-8b20-4405e0db4d55.jpg?v=1790555505&width=350 350w, //printroom.co/cdn/shop/files/pr_weekend_tote_utopia_ice_ltd_8accac43-5fcb-4ebb-8b20-4405e0db4d55.jpg?v=1790555505&width=450 450w, //printroom.co/cdn/shop/files/pr_weekend_tote_utopia_ice_ltd_8accac43-5fcb-4ebb-8b20-4405e0db4d55.jpg?v=1790555505&width=750 750w, //printroom.co/cdn/shop/files/pr_weekend_tote_utopia_ice_ltd_8accac43-5fcb-4ebb-8b20-4405e0db4d55.jpg?v=1790555505&width=850 850w, //printroom.co/cdn/shop/files/pr_weekend_tote_utopia_ice_ltd_8accac43-5fcb-4ebb-8b20-4405e0db4d55.jpg?v=1790555505&width=960 960w, //printroom.co/cdn/shop/files/pr_weekend_tote_utopia_ice_ltd_8accac43-5fcb-4ebb-8b20-4405e0db4d55.jpg?v=1790555505&width=1280 1280w, //printroom.co/cdn/shop/files/pr_weekend_tote_utopia_ice_ltd_8accac43-5fcb-4ebb-8b20-4405e0db4d55.jpg?v=1790555505&width=1440 1440w, //printroom.co/cdn/shop/files/pr_weekend_tote_utopia_ice_ltd_8accac43-5fcb-4ebb-8b20-4405e0db4d55.jpg?v=1790555505&width=1536 1536w, //printroom.co/cdn/shop/files/pr_weekend_tote_utopia_ice_ltd_8accac43-5fcb-4ebb-8b20-4405e0db4d55.jpg?v=1790555505&width=1706 1706w, //printroom.co/cdn/shop/files/pr_weekend_tote_utopia_ice_ltd_8accac43-5fcb-4ebb-8b20-4405e0db4d55.jpg?v=1790555505&width=1782 1782w, //printroom.co/cdn/shop/files/pr_weekend_tote_utopia_ice_ltd_8accac43-5fcb-4ebb-8b20-4405e0db4d55.jpg?v=1790555505&width=1920 1920w, //printroom.co/cdn/shop/files/pr_weekend_tote_utopia_ice_ltd_8accac43-5fcb-4ebb-8b20-4405e0db4d55.jpg?v=1790555505&width=2560 2560w, //printroom.co/cdn/shop/files/pr_weekend_tote_utopia_ice_ltd_8accac43-5fcb-4ebb-8b20-4405e0db4d55.jpg?v=1790555505&width=2880 2880w, //printroom.co/cdn/shop/files/pr_weekend_tote_utopia_ice_ltd_8accac43-5fcb-4ebb-8b20-4405e0db4d55.jpg?v=1790555505&width=3000 3000w" width="3000" height="3000" loading="lazy" class="peer/image block absolute inset-0 w-full h-full object-contain z-35 bg-scheme-background opacity-0 transition-opacity duration-200 ease-in-out group-hover:opacity-100 group-focus-within:opacity-100" sizes="(min-width: 1024px) calc(100vw / 12 * 3), 100vw"> 4963 4964 <div 4965 class="absolute inset-0 h-full w-full bg-scheme-text opacity-[0.05] peer-[.is-complete]/image:opacity-0 no-js:hidden" 4966 ></div> 4967 4968</image-with-placeholder> 4969 4970</div> 4971 </div> 4972 4973 4974 <div 4975 class="relative justify-between py-4 px-section-horizontal-spacing text-center text-sm lg:text-base" 4976 > 4977 <a 4978 href="/products/weekend-tote-bag" 4979 4980 class="absolute inset-0 z-10" 4981 >
4982 <span class="sr-only">Weekend Tote Bag</span> 4983 </a> 4984 <div class="text-center break-word"> 4985 4986 <p class="mb-1 text-scheme-secondary"> 4987 Print Room 4988 </p> 4989 4990 <p 4991 aria-hidden="true" 4992 class="font-bold" 4993 > 4994 Weekend Tote Bag 4995 </p> 4996 4997 4998 4999 5000 5001 5002 5003 5004 5005 5006 </div> 5007 <div class="text-center mt-1 lg:mt-2"> 5008 5009 5010 5011 5012<span>from $11.00</span> 5013 5014 5015 5016 5017</div> 5018 5019 <div class="mt-2 text-center"><data-island x-data on="idle" style="display: inline-block;"> 5020 <button 5021 type="button" 5022 :style="'display:inline-flex; align-items:center; justify-content:center; gap:0.25rem; width:110px; height:26px; padding:0 0.625rem; font-family:DM Sans,sans-serif; font-size:10px; font-weight:400; line-height:16px; border-radius:24px; cursor:pointer; white-space:nowrap; position:relative; z-index:10; transition:transform 0.2s ease-out,background-color 0.2s ease-out,border-color 0.2s ease-out,color 0.2s ease-out,box-shadow 0.2s ease-out;' + ($store.favorites.has(8274971885638) 5023 ? 'border:0.4px solid #4B4D72; background:#4B4D72; color:#fff; box-shadow:0 4px 14px rgba(75,77,114,0.18);' 5024 : 'border:0.4px solid #000; background:transparent; color:#000; box-shadow:none;')" 5025 style="display:inline-flex; align-items:center; justify-content:center; gap:0.25rem; width:110px; height:26px; padding:0 0.625rem; font-family:'DM Sans',sans-serif; font-size:10px; font-weight:400; line-height:16px; border:0.4px solid #000; border-radius:24px; background:transparent; color:#000; cursor:pointer; white-space:nowrap; position:relative; z-index:10;" 5026 @click.prevent.stop='if ($store.favorites.has(8274971885638)) { $store.modals.open("favorites") } else { $store.favorites.add({ 5027 id: 8274971885638, 5028 handle: "weekend-tote-bag", 5029 title: "Weekend Tote Bag", 5030 vendor: "Print Room", 5031 hasColours: true, 5032 variantId: null, 5033 colour: null, 5034 sizeOptions: "", 5035 price: 1100, 5036 compare_at_price: null, 5037 image: "\/\/printroom.co\/cdn\/shop\/files\/product_d08ffcb8-611f-401c-87a2-0711b56b28e2_slot_1.jpg?v=1772657689\u0026width=200", 5038 productImage: "\/\/printroom.co\/cdn\/shop\/files\/product_d08ffcb8-611f-401c-87a2-0711b56b28e2_slot_1.jpg?v=1772657689\u0026width=200", 5039 url: "/products/weekend-tote-bag", 5040 moq: 50 5041 }) }' 5042 :aria-label="$store.favorites.has(8274971885638) ? 'Open quote list' : 'Add Weekend Tote Bag to quote'" 5043 > 5044 <span style="width:10px; height:10px; flex-shrink:0;" x-show="!$store.favorites.has(8274971885638)"><span class="h-full w-full"> 5045 <svg 5046 aria-hidden="true" 5047 focusable="false" 5048 role="presentation" 5049 class="icon icon-quote-list-outline" 5050 viewBox="0 0 24 24" 5051 fill="none" 5052 ><rect x="3" y="1" width="18" height="22" rx="2.5" ry="2.5" stroke="currentColor" stroke-width="1.5"></rect><circle cx="7.5" cy="7.5" r="1" fill="currentColor"></circle> 5053 <line x1="10" y1="7.5" x2="17.5" y2="7.5" stroke="currentColor" stroke-width="1.4" stroke-linecap="round"></line> 5054 <circle cx="7.5" cy="11" r="1" fill="currentColor"></circle> 5055 <line x1="10" y1="11" x2="17.5" y2="11" stroke="currentColor" stroke-width="1.4" stroke-linecap="round"></line> 5056 <circle cx="7.5" cy="14.5" r="1" fill="currentColor"></circle> 5057 <line x1="10" y1="14.5" x2="17.5" y2="14.5" stroke="currentColor" stroke-width="1.4" stroke-linecap="round"></line> 5058 <circle cx="7.5" cy="18" r="1" fill="currentColor"></circle> 5059 <line x1="10" y1="18" x2="17.5" y2="18" stroke="currentColor" stroke-width="1.4" stroke-linecap="round"></line> 5060 </svg> 5061</span> 5062</span> 5063 <span x-text="$store.favorites.has(8274971885638) ? 'In quote â' : 'Add to quote'">Add to quote</span> 5064 </button> 5065 </data-island></div> 5066 </div> 5067 </div> 5068</data-island> 5069 5070 </li> 5071 5072 5073 <li class="col-span-1 lg:col-span-3 bg-scheme-background text-scheme-text"> 5074 5075<data-island 5076 class="relative flex h-full flex-col text-center hover:text-scheme-accent" 5077 5078 data-color-scheme="scheme5" 5079> 5080 <div 5081 class="relative" 5082 ><div 5083 class="group w-full pt-2 lg:pt-4 px-section-horizontal-spacing " 5084 5085 > 5086 <div class="relative z-0"> 5087 <a 5088 href="/products/milk-mug" 5089 5090 class="absolute inset-0 z-40" 5091 >
5092 <span class="sr-only">Milk Mug</span> 5093 </a> 5094 5095 5096<div 5097 class="relative" 5098 style="padding-top: 100%;" 5099 ><image-with-placeholder> 5100 <img src="//printroom.co/cdn/shop/files/mto_milk_mug_scroggin.jpg?v=1785739796&width=3000" alt="Milk Mug - Custom Clothing | T Shirt Printing | Embroidery | Screen Printing | Print Room NZ" srcset="//printroom.co/cdn/shop/files/mto_milk_mug_scroggin.jpg?v=1785739796&width=200 200w, //printroom.co/cdn/shop/files/mto_milk_mug_scroggin.jpg?v=1785739796&width=350 350w, //printroom.co/cdn/shop/files/mto_milk_mug_scroggin.jpg?v=1785739796&width=450 450w, //printroom.co/cdn/shop/files/mto_milk_mug_scroggin.jpg?v=1785739796&width=750 750w, //printroom.co/cdn/shop/files/mto_milk_mug_scroggin.jpg?v=1785739796&width=850 850w, //printroom.co/cdn/shop/files/mto_milk_mug_scroggin.jpg?v=1785739796&width=960 960w, //printroom.co/cdn/shop/files/mto_milk_mug_scroggin.jpg?v=1785739796&width=1280 1280w, //printroom.co/cdn/shop/files/mto_milk_mug_scroggin.jpg?v=1785739796&width=1440 1440w, //printroom.co/cdn/shop/files/mto_milk_mug_scroggin.jpg?v=1785739796&width=1536 1536w, //printroom.co/cdn/shop/files/mto_milk_mug_scroggin.jpg?v=1785739796&width=1706 1706w, //printroom.co/cdn/shop/files/mto_milk_mug_scroggin.jpg?v=1785739796&width=1782 1782w, //printroom.co/cdn/shop/files/mto_milk_mug_scroggin.jpg?v=1785739796&width=1920 1920w, //printroom.co/cdn/shop/files/mto_milk_mug_scroggin.jpg?v=1785739796&width=2560 2560w, //printroom.co/cdn/shop/files/mto_milk_mug_scroggin.jpg?v=1785739796&width=2880 2880w, //printroom.co/cdn/shop/files/mto_milk_mug_scroggin.jpg?v=1785739796&width=3000 3000w" width="3000" height="3000" loading="lazy" class="peer/image block absolute inset-0 w-full h-full object-contain" sizes="(min-width: 1024px) calc(100vw / 12 * 3), 100vw"> 5101 5102 <div 5103 class="absolute inset-0 h-full w-full bg-scheme-text opacity-[0.05] peer-[.is-complete]/image:opacity-0 no-js:hidden" 5104 ></div> 5105 5106</image-with-placeholder> 5107</div> 5108 5109 <image-with-placeholder> 5110 <img src="//printroom.co/cdn/shop/files/mto_milk_mug_scroggin_2.jpg?v=1785739796&width=3000" alt="Milk Mug - Custom Clothing | T Shirt Printing | Embroidery | Screen Printing | Print Room NZ" srcset="//printroom.co/cdn/shop/files/mto_milk_mug_scroggin_2.jpg?v=1785739796&width=200 200w, //printroom.co/cdn/shop/files/mto_milk_mug_scroggin_2.jpg?v=1785739796&width=350 350w, //printroom.co/cdn/shop/files/mto_milk_mug_scroggin_2.jpg?v=1785739796&width=450 450w, //printroom.co/cdn/shop/files/mto_milk_mug_scroggin_2.jpg?v=1785739796&width=750 750w, //printroom.co/cdn/shop/files/mto_milk_mug_scroggin_2.jpg?v=1785739796&width=850 850w, //printroom.co/cdn/shop/files/mto_milk_mug_scroggin_2.jpg?v=1785739796&width=960 960w, //printroom.co/cdn/shop/files/mto_milk_mug_scroggin_2.jpg?v=1785739796&width=1280 1280w, //printroom.co/cdn/shop/files/mto_milk_mug_scroggin_2.jpg?v=1785739796&width=1440 1440w, //printroom.co/cdn/shop/files/mto_milk_mug_scroggin_2.jpg?v=1785739796&width=1536 1536w, //printroom.co/cdn/shop/files/mto_milk_mug_scroggin_2.jpg?v=1785739796&width=1706 1706w, //printroom.co/cdn/shop/files/mto_milk_mug_scroggin_2.jpg?v=1785739796&width=1782 1782w, //printroom.co/cdn/shop/files/mto_milk_mug_scroggin_2.jpg?v=1785739796&width=1920 1920w, //printroom.co/cdn/shop/files/mto_milk_mug_scroggin_2.jpg?v=1785739796&width=2560 2560w, //printroom.co/cdn/shop/files/mto_milk_mug_scroggin_2.jpg?v=1785739796&width=2880 2880w, //printroom.co/cdn/shop/files/mto_milk_mug_scroggin_2.jpg?v=1785739796&width=3000 3000w" width="3000" height="3000" loading="lazy" class="peer/image block absolute inset-0 w-full h-full object-contain z-35 bg-scheme-background opacity-0 transition-opacity duration-200 ease-in-out group-hover:opacity-100 group-focus-within:opacity-100" sizes="(min-width: 1024px) calc(100vw / 12 * 3), 100vw"> 5111 5112 <div 5113 class="absolute inset-0 h-full w-full bg-scheme-text opacity-[0.05] peer-[.is-complete]/image:opacity-0 no-js:hidden" 5114 ></div> 5115 5116</image-with-placeholder> 5117 5118</div> 5119 </div> 5120 5121 5122 <div 5123 class="relative justify-between py-4 px-section-horizontal-spacing text-center text-sm lg:text-base" 5124 > 5125 <a 5126 href="/products/milk-mug" 5127 5128 class="absolute inset-0 z-10" 5129 >
5130 <span class="sr-only">Milk Mug</span> 5131 </a> 5132 <div class="text-center break-word"> 5133 5134 <p class="mb-1 text-scheme-secondary"> 5135 Made to order 5136 </p> 5137 5138 <p 5139 aria-hidden="true" 5140 class="font-bold" 5141 > 5142 Milk Mug 5143 </p> 5144 5145 5146 5147 5148 5149 5150 5151 5152 5153 5154 </div> 5155 <div class="text-center mt-1 lg:mt-2"> 5156 5157 5158 5159 5160<span>from $13.00</span> 5161 5162 5163 5164 5165</div> 5166 5167 <div class="mt-2 text-center"><data-island x-data on="idle" style="display: inline-block;"> 5168 <button 5169 type="button" 5170 :style="'display:inline-flex; align-items:center; justify-content:center; gap:0.25rem; width:110px; height:26px; padding:0 0.625rem; font-family:DM Sans,sans-serif; font-size:10px; font-weight:400; line-height:16px; border-radius:24px; cursor:pointer; white-space:nowrap; position:relative; z-index:10; transition:transform 0.2s ease-out,background-color 0.2s ease-out,border-color 0.2s ease-out,color 0.2s ease-out,box-shadow 0.2s ease-out;' + ($store.favorites.has(8310098493510) 5171 ? 'border:0.4px solid #4B4D72; background:#4B4D72; color:#fff; box-shadow:0 4px 14px rgba(75,77,114,0.18);' 5172 : 'border:0.4px solid #000; background:transparent; color:#000; box-shadow:none;')" 5173 style="display:inline-flex; align-items:center; justify-content:center; gap:0.25rem; width:110px; height:26px; padding:0 0.625rem; font-family:'DM Sans',sans-serif; font-size:10px; font-weight:400; line-height:16px; border:0.4px solid #000; border-radius:24px; background:transparent; color:#000; cursor:pointer; white-space:nowrap; position:relative; z-index:10;" 5174 @click.prevent.stop='if ($store.favorites.has(8310098493510)) { $store.modals.open("favorites") } else { $store.favorites.add({ 5175 id: 8310098493510, 5176 handle: "milk-mug", 5177 title: "Milk Mug", 5178 vendor: "Made to order", 5179 hasColours: false, 5180 variantId: null, 5181 colour: null, 5182 sizeOptions: "", 5183 price: 1300, 5184 compare_at_price: null, 5185 image: "\/\/printroom.co\/cdn\/shop\/files\/mto_milk_mug_scroggin.jpg?v=1785739796\u0026width=200", 5186 productImage: "\/\/printroom.co\/cdn\/shop\/files\/mto_milk_mug_scroggin.jpg?v=1785739796\u0026width=200", 5187 url: "/products/milk-mug", 5188 moq: 50 5189 }) }' 5190 :aria-label="$store.favorites.has(8310098493510) ? 'Open quote list' : 'Add Milk Mug to quote'" 5191 > 5192 <span style="width:10px; height:10px; flex-shrink:0;" x-show="!$store.favorites.has(8310098493510)"><span class="h-full w-full"> 5193 <svg 5194 aria-hidden="true" 5195 focusable="false" 5196 role="presentation" 5197 class="icon icon-quote-list-outline" 5198 viewBox="0 0 24 24" 5199 fill="none" 5200 ><rect x="3" y="1" width="18" height="22" rx="2.5" ry="2.5" stroke="currentColor" stroke-width="1.5"></rect><circle cx="7.5" cy="7.5" r="1" fill="currentColor"></circle> 5201 <line x1="10" y1="7.5" x2="17.5" y2="7.5" stroke="currentColor" stroke-width="1.4" stroke-linecap="round"></line> 5202 <circle cx="7.5" cy="11" r="1" fill="currentColor"></circle> 5203 <line x1="10" y1="11" x2="17.5" y2="11" stroke="currentColor" stroke-width="1.4" stroke-linecap="round"></line> 5204 <circle cx="7.5" cy="14.5" r="1" fill="currentColor"></circle> 5205 <line x1="10" y1="14.5" x2="17.5" y2="14.5" stroke="currentColor" stroke-width="1.4" stroke-linecap="round"></line> 5206 <circle cx="7.5" cy="18" r="1" fill="currentColor"></circle> 5207 <line x1="10" y1="18" x2="17.5" y2="18" stroke="currentColor" stroke-width="1.4" stroke-linecap="round"></line> 5208 </svg> 5209</span> 5210</span> 5211 <span x-text="$store.favorites.has(8310098493510) ? 'In quote â' : 'Add to quote'">Add to quote</span> 5212 </button> 5213 </data-island></div> 5214 </div> 5215 </div> 5216</data-island> 5217 5218 </li> 5219 5220 5221 <li class="col-span-1 lg:col-span-3 bg-scheme-background text-scheme-text"> 5222 5223<data-island 5224 class="relative flex h-full flex-col text-center hover:text-scheme-accent" 5225 5226 data-color-scheme="scheme5" 5227> 5228 <div 5229 class="relative" 5230 ><div 5231 class="group w-full pt-2 lg:pt-4 px-section-horizontal-spacing " 5232 5233 > 5234 <div class="relative z-0"> 5235 <a 5236 href="/products/heavy-tee" 5237 5238 class="absolute inset-0 z-40" 5239 >
5240 <span class="sr-only">Heavy Tee</span> 5241 </a> 5242 5243 5244<div 5245 class="relative" 5246 style="padding-top: 100%;" 5247 ><image-with-placeholder> 5248 <img src="//printroom.co/cdn/shop/files/product_b4bbb6a0-b0d8-441b-a70c-2a0dfeba3923_slot_1.jpg?v=1772678118&width=3000" alt="Butter coloured tee on a white background with a red print" srcset="//printroom.co/cdn/shop/files/product_b4bbb6a0-b0d8-441b-a70c-2a0dfeba3923_slot_1.jpg?v=1772678118&width=200 200w, //printroom.co/cdn/shop/files/product_b4bbb6a0-b0d8-441b-a70c-2a0dfeba3923_slot_1.jpg?v=1772678118&width=350 350w, //printroom.co/cdn/shop/files/product_b4bbb6a0-b0d8-441b-a70c-2a0dfeba3923_slot_1.jpg?v=1772678118&width=450 450w, //printroom.co/cdn/shop/files/product_b4bbb6a0-b0d8-441b-a70c-2a0dfeba3923_slot_1.jpg?v=1772678118&width=750 750w, //printroom.co/cdn/shop/files/product_b4bbb6a0-b0d8-441b-a70c-2a0dfeba3923_slot_1.jpg?v=1772678118&width=850 850w, //printroom.co/cdn/shop/files/product_b4bbb6a0-b0d8-441b-a70c-2a0dfeba3923_slot_1.jpg?v=1772678118&width=960 960w, //printroom.co/cdn/shop/files/product_b4bbb6a0-b0d8-441b-a70c-2a0dfeba3923_slot_1.jpg?v=1772678118&width=1280 1280w, //printroom.co/cdn/shop/files/product_b4bbb6a0-b0d8-441b-a70c-2a0dfeba3923_slot_1.jpg?v=1772678118&width=1440 1440w, //printroom.co/cdn/shop/files/product_b4bbb6a0-b0d8-441b-a70c-2a0dfeba3923_slot_1.jpg?v=1772678118&width=1536 1536w, //printroom.co/cdn/shop/files/product_b4bbb6a0-b0d8-441b-a70c-2a0dfeba3923_slot_1.jpg?v=1772678118&width=1706 1706w, //printroom.co/cdn/shop/files/product_b4bbb6a0-b0d8-441b-a70c-2a0dfeba3923_slot_1.jpg?v=1772678118&width=1782 1782w, //printroom.co/cdn/shop/files/product_b4bbb6a0-b0d8-441b-a70c-2a0dfeba3923_slot_1.jpg?v=1772678118&width=1920 1920w, //printroom.co/cdn/shop/files/product_b4bbb6a0-b0d8-441b-a70c-2a0dfeba3923_slot_1.jpg?v=1772678118&width=2560 2560w, //printroom.co/cdn/shop/files/product_b4bbb6a0-b0d8-441b-a70c-2a0dfeba3923_slot_1.jpg?v=1772678118&width=2880 2880w, //printroom.co/cdn/shop/files/product_b4bbb6a0-b0d8-441b-a70c-2a0dfeba3923_slot_1.jpg?v=1772678118&width=3000 3000w" width="3000" height="3000" loading="lazy" class="peer/image block absolute inset-0 w-full h-full object-contain" sizes="(min-width: 1024px) calc(100vw / 12 * 3), 100vw"> 5249 5250 <div 5251 class="absolute inset-0 h-full w-full bg-scheme-text opacity-[0.05] peer-[.is-complete]/image:opacity-0 no-js:hidden" 5252 ></div> 5253 5254</image-with-placeholder> 5255</div> 5256 5257 <image-with-placeholder> 5258 <img src="//printroom.co/cdn/shop/files/product_b4bbb6a0-b0d8-441b-a70c-2a0dfeba3923_slot_2.jpg?v=1772678121&width=3000" alt="Butter coloured tee on a white background" srcset="//printroom.co/cdn/shop/files/product_b4bbb6a0-b0d8-441b-a70c-2a0dfeba3923_slot_2.jpg?v=1772678121&width=200 200w, //printroom.co/cdn/shop/files/product_b4bbb6a0-b0d8-441b-a70c-2a0dfeba3923_slot_2.jpg?v=1772678121&width=350 350w, //printroom.co/cdn/shop/files/product_b4bbb6a0-b0d8-441b-a70c-2a0dfeba3923_slot_2.jpg?v=1772678121&width=450 450w, //printroom.co/cdn/shop/files/product_b4bbb6a0-b0d8-441b-a70c-2a0dfeba3923_slot_2.jpg?v=1772678121&width=750 750w, //printroom.co/cdn/shop/files/product_b4bbb6a0-b0d8-441b-a70c-2a0dfeba3923_slot_2.jpg?v=1772678121&width=850 850w, //printroom.co/cdn/shop/files/product_b4bbb6a0-b0d8-441b-a70c-2a0dfeba3923_slot_2.jpg?v=1772678121&width=960 960w, //printroom.co/cdn/shop/files/product_b4bbb6a0-b0d8-441b-a70c-2a0dfeba3923_slot_2.jpg?v=1772678121&width=1280 1280w, //printroom.co/cdn/shop/files/product_b4bbb6a0-b0d8-441b-a70c-2a0dfeba3923_slot_2.jpg?v=1772678121&width=1440 1440w, //printroom.co/cdn/shop/files/product_b4bbb6a0-b0d8-441b-a70c-2a0dfeba3923_slot_2.jpg?v=1772678121&width=1536 1536w, //printroom.co/cdn/shop/files/product_b4bbb6a0-b0d8-441b-a70c-2a0dfeba3923_slot_2.jpg?v=1772678121&width=1706 1706w, //printroom.co/cdn/shop/files/product_b4bbb6a0-b0d8-441b-a70c-2a0dfeba3923_slot_2.jpg?v=1772678121&width=1782 1782w, //printroom.co/cdn/shop/files/product_b4bbb6a0-b0d8-441b-a70c-2a0dfeba3923_slot_2.jpg?v=1772678121&width=1920 1920w, //printroom.co/cdn/shop/files/product_b4bbb6a0-b0d8-441b-a70c-2a0dfeba3923_slot_2.jpg?v=1772678121&width=2560 2560w, //printroom.co/cdn/shop/files/product_b4bbb6a0-b0d8-441b-a70c-2a0dfeba3923_slot_2.jpg?v=1772678121&width=2880 2880w, //printroom.co/cdn/shop/files/product_b4bbb6a0-b0d8-441b-a70c-2a0dfeba3923_slot_2.jpg?v=1772678121&width=3000 3000w" width="3000" height="3000" loading="lazy" class="peer/image block absolute inset-0 w-full h-full object-contain z-35 bg-scheme-background opacity-0 transition-opacity duration-200 ease-in-out group-hover:opacity-100 group-focus-within:opacity-100" sizes="(min-width: 1024px) calc(100vw / 12 * 3), 100vw"> 5259 5260 <div 5261 class="absolute inset-0 h-full w-full bg-scheme-text opacity-[0.05] peer-[.is-complete]/image:opacity-0 no-js:hidden" 5262 ></div> 5263 5264</image-with-placeholder> 5265 5266</div> 5267 </div> 5268 5269 5270 <div 5271 class="relative justify-between py-4 px-section-horizontal-spacing text-center text-sm lg:text-base" 5272 > 5273 <a 5274 href="/products/heavy-tee" 5275 5276 class="absolute inset-0 z-10" 5277 >
5278 <span class="sr-only">Heavy Tee</span> 5279 </a> 5280 <div class="text-center break-word"> 5281 5282 <p class="mb-1 text-scheme-secondary"> 5283 AS Colour 5284 </p> 5285 5286 <p 5287 aria-hidden="true" 5288 class="font-bold" 5289 > 5290 Heavy Tee 5291 </p> 5292 5293 5294 5295 5296 5297 5298 5299 5300 5301 5302 </div> 5303 <div class="text-center mt-1 lg:mt-2"> 5304 5305 5306 5307 5308<span>from $16.00</span> 5309 5310 5311 5312 5313</div> 5314 5315 <div class="mt-2 text-center"><data-island x-data on="idle" style="display: inline-block;"> 5316 <button 5317 type="button" 5318 :style="'display:inline-flex; align-items:center; justify-content:center; gap:0.25rem; width:110px; height:26px; padding:0 0.625rem; font-family:DM Sans,sans-serif; font-size:10px; font-weight:400; line-height:16px; border-radius:24px; cursor:pointer; white-space:nowrap; position:relative; z-index:10; transition:transform 0.2s ease-out,background-color 0.2s ease-out,border-color 0.2s ease-out,color 0.2s ease-out,box-shadow 0.2s ease-out;' + ($store.favorites.has(7832314249286) 5319 ? 'border:0.4px solid #4B4D72; background:#4B4D72; color:#fff; box-shadow:0 4px 14px rgba(75,77,114,0.18);' 5320 : 'border:0.4px solid #000; background:transparent; color:#000; box-shadow:none;')" 5321 style="display:inline-flex; align-items:center; justify-content:center; gap:0.25rem; width:110px; height:26px; padding:0 0.625rem; font-family:'DM Sans',sans-serif; font-size:10px; font-weight:400; line-height:16px; border:0.4px solid #000; border-radius:24px; background:transparent; color:#000; cursor:pointer; white-space:nowrap; position:relative; z-index:10;" 5322 @click.prevent.stop='if ($store.favorites.has(7832314249286)) { $store.modals.open("favorites") } else { $store.favorites.add({ 5323 id: 7832314249286, 5324 handle: "heavy-tee", 5325 title: "Heavy Tee", 5326 vendor: "AS Colour", 5327 hasColours: true, 5328 variantId: null, 5329 colour: null, 5330 sizeOptions: ["S","M","L","XL","2XL","3XL","4XL","5XL"], 5331 price: 1600, 5332 compare_at_price: null, 5333 image: "\/\/printroom.co\/cdn\/shop\/files\/product_b4bbb6a0-b0d8-441b-a70c-2a0dfeba3923_slot_1.jpg?v=1772678118\u0026width=200", 5334 productImage: "\/\/printroom.co\/cdn\/shop\/files\/product_b4bbb6a0-b0d8-441b-a70c-2a0dfeba3923_slot_1.jpg?v=1772678118\u0026width=200", 5335 url: "/products/heavy-tee", 5336 moq: 24 5337 }) }' 5338 :aria-label="$store.favorites.has(7832314249286) ? 'Open quote list' : 'Add Heavy Tee to quote'" 5339 > 5340 <span style="width:10px; height:10px; flex-shrink:0;" x-show="!$store.favorites.has(7832314249286)"><span class="h-full w-full"> 5341 <svg 5342 aria-hidden="true" 5343 focusable="false" 5344 role="presentation" 5345 class="icon icon-quote-list-outline" 5346 viewBox="0 0 24 24" 5347 fill="none" 5348 ><rect x="3" y="1" width="18" height="22" rx="2.5" ry="2.5" stroke="currentColor" stroke-width="1.5"></rect><circle cx="7.5" cy="7.5" r="1" fill="currentColor"></circle> 5349 <line x1="10" y1="7.5" x2="17.5" y2="7.5" stroke="currentColor" stroke-width="1.4" stroke-linecap="round"></line> 5350 <circle cx="7.5" cy="11" r="1" fill="currentColor"></circle> 5351 <line x1="10" y1="11" x2="17.5" y2="11" stroke="currentColor" stroke-width="1.4" stroke-linecap="round"></line> 5352 <circle cx="7.5" cy="14.5" r="1" fill="currentColor"></circle> 5353 <line x1="10" y1="14.5" x2="17.5" y2="14.5" stroke="currentColor" stroke-width="1.4" stroke-linecap="round"></line> 5354 <circle cx="7.5" cy="18" r="1" fill="currentColor"></circle> 5355 <line x1="10" y1="18" x2="17.5" y2="18" stroke="currentColor" stroke-width="1.4" stroke-linecap="round"></line> 5356 </svg> 5357</span> 5358</span> 5359 <span x-text="$store.favorites.has(7832314249286) ? 'In quote â' : 'Add to quote'">Add to quote</span> 5360 </button> 5361 </data-island></div> 5362 </div> 5363 </div> 5364</data-island> 5365 5366 </li> 5367 5368 5369 <li class="col-span-1 lg:col-span-3 bg-scheme-background text-scheme-text"> 5370 5371<data-island 5372 class="relative flex h-full flex-col text-center hover:text-scheme-accent" 5373 5374 data-color-scheme="scheme5" 5375> 5376 <div 5377 class="relative" 5378 ><div 5379 class="group w-full pt-2 lg:pt-4 px-section-horizontal-spacing " 5380 5381 > 5382 <div class="relative z-0"> 5383 <a 5384 href="/products/custom-business-sock" 5385 5386 class="absolute inset-0 z-40" 5387 >
5388 <span class="sr-only">Business Sock</span> 5389 </a> 5390 5391 5392<div 5393 class="relative" 5394 style="padding-top: 100%;" 5395 ><image-with-placeholder> 5396 <img src="//printroom.co/cdn/shop/files/product_f2ebe561-6eac-4409-bebb-680590bead7d_slot_1.png?v=1772666077&width=3000" alt="Light green business socks on a white background" srcset="//printroom.co/cdn/shop/files/product_f2ebe561-6eac-4409-bebb-680590bead7d_slot_1.png?v=1772666077&width=200 200w, //printroom.co/cdn/shop/files/product_f2ebe561-6eac-4409-bebb-680590bead7d_slot_1.png?v=1772666077&width=350 350w, //printroom.co/cdn/shop/files/product_f2ebe561-6eac-4409-bebb-680590bead7d_slot_1.png?v=1772666077&width=450 450w, //printroom.co/cdn/shop/files/product_f2ebe561-6eac-4409-bebb-680590bead7d_slot_1.png?v=1772666077&width=750 750w, //printroom.co/cdn/shop/files/product_f2ebe561-6eac-4409-bebb-680590bead7d_slot_1.png?v=1772666077&width=850 850w, //printroom.co/cdn/shop/files/product_f2ebe561-6eac-4409-bebb-680590bead7d_slot_1.png?v=1772666077&width=960 960w, //printroom.co/cdn/shop/files/product_f2ebe561-6eac-4409-bebb-680590bead7d_slot_1.png?v=1772666077&width=1280 1280w, //printroom.co/cdn/shop/files/product_f2ebe561-6eac-4409-bebb-680590bead7d_slot_1.png?v=1772666077&width=1440 1440w, //printroom.co/cdn/shop/files/product_f2ebe561-6eac-4409-bebb-680590bead7d_slot_1.png?v=1772666077&width=1536 1536w, //printroom.co/cdn/shop/files/product_f2ebe561-6eac-4409-bebb-680590bead7d_slot_1.png?v=1772666077&width=1706 1706w, //printroom.co/cdn/shop/files/product_f2ebe561-6eac-4409-bebb-680590bead7d_slot_1.png?v=1772666077&width=1782 1782w, //printroom.co/cdn/shop/files/product_f2ebe561-6eac-4409-bebb-680590bead7d_slot_1.png?v=1772666077&width=1920 1920w, //printroom.co/cdn/shop/files/product_f2ebe561-6eac-4409-bebb-680590bead7d_slot_1.png?v=1772666077&width=2560 2560w, //printroom.co/cdn/shop/files/product_f2ebe561-6eac-4409-bebb-680590bead7d_slot_1.png?v=1772666077&width=2880 2880w, //printroom.co/cdn/shop/files/product_f2ebe561-6eac-4409-bebb-680590bead7d_slot_1.png?v=1772666077&width=3000 3000w" width="3000" height="3002" loading="lazy" class="peer/image block absolute inset-0 w-full h-full object-contain" sizes="(min-width: 1024px) calc(100vw / 12 * 3), 100vw"> 5397 5398 <div 5399 class="absolute inset-0 h-full w-full bg-scheme-text opacity-[0.05] peer-[.is-complete]/image:opacity-0 no-js:hidden" 5400 ></div> 5401 5402</image-with-placeholder> 5403</div> 5404 5405 <image-with-placeholder> 5406 <img src="//printroom.co/cdn/shop/files/business_socks_1fe2bdfd-21dd-4b1a-b3ba-d8d3b2786d80.jpg?v=1773194204&width=3000" alt="Outline of a sock with measurements on a white background" srcset="//printroom.co/cdn/shop/files/business_socks_1fe2bdfd-21dd-4b1a-b3ba-d8d3b2786d80.jpg?v=1773194204&width=200 200w, //printroom.co/cdn/shop/files/business_socks_1fe2bdfd-21dd-4b1a-b3ba-d8d3b2786d80.jpg?v=1773194204&width=350 350w, //printroom.co/cdn/shop/files/business_socks_1fe2bdfd-21dd-4b1a-b3ba-d8d3b2786d80.jpg?v=1773194204&width=450 450w, //printroom.co/cdn/shop/files/business_socks_1fe2bdfd-21dd-4b1a-b3ba-d8d3b2786d80.jpg?v=1773194204&width=750 750w, //printroom.co/cdn/shop/files/business_socks_1fe2bdfd-21dd-4b1a-b3ba-d8d3b2786d80.jpg?v=1773194204&width=850 850w, //printroom.co/cdn/shop/files/business_socks_1fe2bdfd-21dd-4b1a-b3ba-d8d3b2786d80.jpg?v=1773194204&width=960 960w, //printroom.co/cdn/shop/files/business_socks_1fe2bdfd-21dd-4b1a-b3ba-d8d3b2786d80.jpg?v=1773194204&width=1280 1280w, //printroom.co/cdn/shop/files/business_socks_1fe2bdfd-21dd-4b1a-b3ba-d8d3b2786d80.jpg?v=1773194204&width=1440 1440w, //printroom.co/cdn/shop/files/business_socks_1fe2bdfd-21dd-4b1a-b3ba-d8d3b2786d80.jpg?v=1773194204&width=1536 1536w, //printroom.co/cdn/shop/files/business_socks_1fe2bdfd-21dd-4b1a-b3ba-d8d3b2786d80.jpg?v=1773194204&width=1706 1706w, //printroom.co/cdn/shop/files/business_socks_1fe2bdfd-21dd-4b1a-b3ba-d8d3b2786d80.jpg?v=1773194204&width=1782 1782w, //printroom.co/cdn/shop/files/business_socks_1fe2bdfd-21dd-4b1a-b3ba-d8d3b2786d80.jpg?v=1773194204&width=1920 1920w, //printroom.co/cdn/shop/files/business_socks_1fe2bdfd-21dd-4b1a-b3ba-d8d3b2786d80.jpg?v=1773194204&width=2560 2560w, //printroom.co/cdn/shop/files/business_socks_1fe2bdfd-21dd-4b1a-b3ba-d8d3b2786d80.jpg?v=1773194204&width=2880 2880w, //printroom.co/cdn/shop/files/business_socks_1fe2bdfd-21dd-4b1a-b3ba-d8d3b2786d80.jpg?v=1773194204&width=3000 3000w" width="3000" height="3000" loading="lazy" class="peer/image block absolute inset-0 w-full h-full object-contain z-35 bg-scheme-background opacity-0 transition-opacity duration-200 ease-in-out group-hover:opacity-100 group-focus-within:opacity-100" sizes="(min-width: 1024px) calc(100vw / 12 * 3), 100vw"> 5407 5408 <div 5409 class="absolute inset-0 h-full w-full bg-scheme-text opacity-[0.05] peer-[.is-complete]/image:opacity-0 no-js:hidden" 5410 ></div> 5411 5412</image-with-placeholder> 5413 5414</div> 5415 </div> 5416 5417 5418 <div 5419 class="relative justify-between py-4 px-section-horizontal-spacing text-center text-sm lg:text-base" 5420 > 5421 <a 5422 href="/products/custom-business-sock" 5423 5424 class="absolute inset-0 z-10" 5425 >
5426 <span class="sr-only">Business Sock</span> 5427 </a> 5428 <div class="text-center break-word"> 5429 5430 <p class="mb-1 text-scheme-secondary"> 5431 Made to order 5432 </p> 5433 5434 <p 5435 aria-hidden="true" 5436 class="font-bold" 5437 > 5438 Business Sock 5439 </p> 5440 5441 5442 5443 5444 5445 5446 5447 5448 5449 5450 </div> 5451 <div class="text-center mt-1 lg:mt-2"> 5452 5453 5454 5455 5456<span>from $10.00</span> 5457 5458 5459 5460 5461</div> 5462 5463 <div class="mt-2 text-center"><data-island x-data on="idle" style="display: inline-block;"> 5464 <button 5465 type="button" 5466 :style="'display:inline-flex; align-items:center; justify-content:center; gap:0.25rem; width:110px; height:26px; padding:0 0.625rem; font-family:DM Sans,sans-serif; font-size:10px; font-weight:400; line-height:16px; border-radius:24px; cursor:pointer; white-space:nowrap; position:relative; z-index:10; transition:transform 0.2s ease-out,background-color 0.2s ease-out,border-color 0.2s ease-out,color 0.2s ease-out,box-shadow 0.2s ease-out;' + ($store.favorites.has(8274999083078) 5467 ? 'border:0.4px solid #4B4D72; background:#4B4D72; color:#fff; box-shadow:0 4px 14px rgba(75,77,114,0.18);' 5468 : 'border:0.4px solid #000; background:transparent; color:#000; box-shadow:none;')" 5469 style="display:inline-flex; align-items:center; justify-content:center; gap:0.25rem; width:110px; height:26px; padding:0 0.625rem; font-family:'DM Sans',sans-serif; font-size:10px; font-weight:400; line-height:16px; border:0.4px solid #000; border-radius:24px; background:transparent; color:#000; cursor:pointer; white-space:nowrap; position:relative; z-index:10;" 5470 @click.prevent.stop='if ($store.favorites.has(8274999083078)) { $store.modals.open("favorites") } else { $store.favorites.add({ 5471 id: 8274999083078, 5472 handle: "custom-business-sock", 5473 title: "Business Sock", 5474 vendor: "Made to order", 5475 hasColours: false, 5476 variantId: null, 5477 colour: null, 5478 sizeOptions: "", 5479 price: 1000, 5480 compare_at_price: null, 5481 image: "\/\/printroom.co\/cdn\/shop\/files\/product_f2ebe561-6eac-4409-bebb-680590bead7d_slot_1.png?v=1772666077\u0026width=200", 5482 productImage: "\/\/printroom.co\/cdn\/shop\/files\/product_f2ebe561-6eac-4409-bebb-680590bead7d_slot_1.png?v=1772666077\u0026width=200", 5483 url: "/products/custom-business-sock", 5484 moq: 100 5485 }) }' 5486 :aria-label="$store.favorites.has(8274999083078) ? 'Open quote list' : 'Add Business Sock to quote'" 5487 > 5488 <span style="width:10px; height:10px; flex-shrink:0;" x-show="!$store.favorites.has(8274999083078)"><span class="h-full w-full"> 5489 <svg 5490 aria-hidden="true" 5491 focusable="false" 5492 role="presentation" 5493 class="icon icon-quote-list-outline" 5494 viewBox="0 0 24 24" 5495 fill="none" 5496 ><rect x="3" y="1" width="18" height="22" rx="2.5" ry="2.5" stroke="currentColor" stroke-width="1.5"></rect><circle cx="7.5" cy="7.5" r="1" fill="currentColor"></circle> 5497 <line x1="10" y1="7.5" x2="17.5" y2="7.5" stroke="currentColor" stroke-width="1.4" stroke-linecap="round"></line> 5498 <circle cx="7.5" cy="11" r="1" fill="currentColor"></circle> 5499 <line x1="10" y1="11" x2="17.5" y2="11" stroke="currentColor" stroke-width="1.4" stroke-linecap="round"></line> 5500 <circle cx="7.5" cy="14.5" r="1" fill="currentColor"></circle> 5501 <line x1="10" y1="14.5" x2="17.5" y2="14.5" stroke="currentColor" stroke-width="1.4" stroke-linecap="round"></line> 5502 <circle cx="7.5" cy="18" r="1" fill="currentColor"></circle> 5503 <line x1="10" y1="18" x2="17.5" y2="18" stroke="currentColor" stroke-width="1.4" stroke-linecap="round"></line> 5504 </svg> 5505</span> 5506</span> 5507 <span x-text="$store.favorites.has(8274999083078) ? 'In quote â' : 'Add to quote'">Add to quote</span> 5508 </button> 5509 </data-island></div> 5510 </div> 5511 </div> 5512</data-island> 5513 5514 </li> 5515 5516 5517 <li class="col-span-1 lg:col-span-3 bg-scheme-background text-scheme-text"> 5518 5519<data-island 5520 class="relative flex h-full flex-col text-center hover:text-scheme-accent" 5521 5522 data-color-scheme="scheme5" 5523> 5524 <div 5525 class="relative" 5526 ><div 5527 class="group w-full pt-2 lg:pt-4 px-section-horizontal-spacing " 5528 5529 > 5530 <div class="relative z-0"> 5531 <a 5532 href="/products/utility-tote-bag-16oz-colour" 5533 5534 class="absolute inset-0 z-40" 5535 >
5536 <span class="sr-only">Utility Tote Bag 16oz Colour</span> 5537 </a> 5538 5539 5540<div 5541 class="relative" 5542 style="padding-top: 100%;" 5543 ><image-with-placeholder> 5544 <img src="//printroom.co/cdn/shop/files/product_0ab74ef0-355d-466b-80b8-6d324cf996f0_slot_1.jpg?v=1778567170&width=3000" alt="Made to order Utility Tote Bag 16oz Colour MTOUT16C Bag custom merch nz" srcset="//printroom.co/cdn/shop/files/product_0ab74ef0-355d-466b-80b8-6d324cf996f0_slot_1.jpg?v=1778567170&width=200 200w, //printroom.co/cdn/shop/files/product_0ab74ef0-355d-466b-80b8-6d324cf996f0_slot_1.jpg?v=1778567170&width=350 350w, //printroom.co/cdn/shop/files/product_0ab74ef0-355d-466b-80b8-6d324cf996f0_slot_1.jpg?v=1778567170&width=450 450w, //printroom.co/cdn/shop/files/product_0ab74ef0-355d-466b-80b8-6d324cf996f0_slot_1.jpg?v=1778567170&width=750 750w, //printroom.co/cdn/shop/files/product_0ab74ef0-355d-466b-80b8-6d324cf996f0_slot_1.jpg?v=1778567170&width=850 850w, //printroom.co/cdn/shop/files/product_0ab74ef0-355d-466b-80b8-6d324cf996f0_slot_1.jpg?v=1778567170&width=960 960w, //printroom.co/cdn/shop/files/product_0ab74ef0-355d-466b-80b8-6d324cf996f0_slot_1.jpg?v=1778567170&width=1280 1280w, //printroom.co/cdn/shop/files/product_0ab74ef0-355d-466b-80b8-6d324cf996f0_slot_1.jpg?v=1778567170&width=1440 1440w, //printroom.co/cdn/shop/files/product_0ab74ef0-355d-466b-80b8-6d324cf996f0_slot_1.jpg?v=1778567170&width=1536 1536w, //printroom.co/cdn/shop/files/product_0ab74ef0-355d-466b-80b8-6d324cf996f0_slot_1.jpg?v=1778567170&width=1706 1706w, //printroom.co/cdn/shop/files/product_0ab74ef0-355d-466b-80b8-6d324cf996f0_slot_1.jpg?v=1778567170&width=1782 1782w, //printroom.co/cdn/shop/files/product_0ab74ef0-355d-466b-80b8-6d324cf996f0_slot_1.jpg?v=1778567170&width=1920 1920w, //printroom.co/cdn/shop/files/product_0ab74ef0-355d-466b-80b8-6d324cf996f0_slot_1.jpg?v=1778567170&width=2560 2560w, //printroom.co/cdn/shop/files/product_0ab74ef0-355d-466b-80b8-6d324cf996f0_slot_1.jpg?v=1778567170&width=2880 2880w, //printroom.co/cdn/shop/files/product_0ab74ef0-355d-466b-80b8-6d324cf996f0_slot_1.jpg?v=1778567170&width=3000 3000w" width="3000" height="3000" loading="lazy" class="peer/image block absolute inset-0 w-full h-full object-contain" sizes="(min-width: 1024px) calc(100vw / 12 * 3), 100vw"> 5545 5546 <div 5547 class="absolute inset-0 h-full w-full bg-scheme-text opacity-[0.05] peer-[.is-complete]/image:opacity-0 no-js:hidden" 5548 ></div> 5549 5550</image-with-placeholder> 5551</div> 5552 5553 <image-with-placeholder> 5554 <img src="//printroom.co/cdn/shop/files/product_0ab74ef0-355d-466b-80b8-6d324cf996f0_slot_10.jpg?v=1778567194&width=3000" alt="Made to order Utility Tote Bag 16oz Colour MTOUT16C Bag promo products nz" srcset="//printroom.co/cdn/shop/files/product_0ab74ef0-355d-466b-80b8-6d324cf996f0_slot_10.jpg?v=1778567194&width=200 200w, //printroom.co/cdn/shop/files/product_0ab74ef0-355d-466b-80b8-6d324cf996f0_slot_10.jpg?v=1778567194&width=350 350w, //printroom.co/cdn/shop/files/product_0ab74ef0-355d-466b-80b8-6d324cf996f0_slot_10.jpg?v=1778567194&width=450 450w, //printroom.co/cdn/shop/files/product_0ab74ef0-355d-466b-80b8-6d324cf996f0_slot_10.jpg?v=1778567194&width=750 750w, //printroom.co/cdn/shop/files/product_0ab74ef0-355d-466b-80b8-6d324cf996f0_slot_10.jpg?v=1778567194&width=850 850w, //printroom.co/cdn/shop/files/product_0ab74ef0-355d-466b-80b8-6d324cf996f0_slot_10.jpg?v=1778567194&width=960 960w, //printroom.co/cdn/shop/files/product_0ab74ef0-355d-466b-80b8-6d324cf996f0_slot_10.jpg?v=1778567194&width=1280 1280w, //printroom.co/cdn/shop/files/product_0ab74ef0-355d-466b-80b8-6d324cf996f0_slot_10.jpg?v=1778567194&width=1440 1440w, //printroom.co/cdn/shop/files/product_0ab74ef0-355d-466b-80b8-6d324cf996f0_slot_10.jpg?v=1778567194&width=1536 1536w, //printroom.co/cdn/shop/files/product_0ab74ef0-355d-466b-80b8-6d324cf996f0_slot_10.jpg?v=1778567194&width=1706 1706w, //printroom.co/cdn/shop/files/product_0ab74ef0-355d-466b-80b8-6d324cf996f0_slot_10.jpg?v=1778567194&width=1782 1782w, //printroom.co/cdn/shop/files/product_0ab74ef0-355d-466b-80b8-6d324cf996f0_slot_10.jpg?v=1778567194&width=1920 1920w, //printroom.co/cdn/shop/files/product_0ab74ef0-355d-466b-80b8-6d324cf996f0_slot_10.jpg?v=1778567194&width=2560 2560w, //printroom.co/cdn/shop/files/product_0ab74ef0-355d-466b-80b8-6d324cf996f0_slot_10.jpg?v=1778567194&width=2880 2880w, //printroom.co/cdn/shop/files/product_0ab74ef0-355d-466b-80b8-6d324cf996f0_slot_10.jpg?v=1778567194&width=3000 3000w" width="3000" height="3000" loading="lazy" class="peer/image block absolute inset-0 w-full h-full object-contain z-35 bg-scheme-background opacity-0 transition-opacity duration-200 ease-in-out group-hover:opacity-100 group-focus-within:opacity-100" sizes="(min-width: 1024px) calc(100vw / 12 * 3), 100vw"> 5555 5556 <div 5557 class="absolute inset-0 h-full w-full bg-scheme-text opacity-[0.05] peer-[.is-complete]/image:opacity-0 no-js:hidden" 5558 ></div> 5559 5560</image-with-placeholder> 5561 5562</div> 5563 </div> 5564 5565 5566 <div 5567 class="relative justify-between py-4 px-section-horizontal-spacing text-center text-sm lg:text-base" 5568 > 5569 <a 5570 href="/products/utility-tote-bag-16oz-colour" 5571 5572 class="absolute inset-0 z-10" 5573 >
5574 <span class="sr-only">Utility Tote Bag 16oz Colour</span> 5575 </a> 5576 <div class="text-center break-word"> 5577 5578 <p class="mb-1 text-scheme-secondary"> 5579 Made to order 5580 </p> 5581 5582 <p 5583 aria-hidden="true" 5584 class="font-bold" 5585 > 5586 Utility Tote Bag 16oz Colour 5587 </p> 5588 5589 5590 5591 5592 5593 5594 5595 5596 5597 5598 </div> 5599 <div class="text-center mt-1 lg:mt-2"> 5600 5601 5602 5603 5604<span>from $13.00</span> 5605 5606 5607 5608 5609</div> 5610 5611 <div class="mt-2 text-center"><data-island x-data on="idle" style="display: inline-block;"> 5612 <button 5613 type="button" 5614 :style="'display:inline-flex; align-items:center; justify-content:center; gap:0.25rem; width:110px; height:26px; padding:0 0.625rem; font-family:DM Sans,sans-serif; font-size:10px; font-weight:400; line-height:16px; border-radius:24px; cursor:pointer; white-space:nowrap; position:relative; z-index:10; transition:transform 0.2s ease-out,background-color 0.2s ease-out,border-color 0.2s ease-out,color 0.2s ease-out,box-shadow 0.2s ease-out;' + ($store.favorites.has(8394549297222) 5615 ? 'border:0.4px solid #4B4D72; background:#4B4D72; color:#fff; box-shadow:0 4px 14px rgba(75,77,114,0.18);' 5616 : 'border:0.4px solid #000; background:transparent; color:#000; box-shadow:none;')" 5617 style="display:inline-flex; align-items:center; justify-content:center; gap:0.25rem; width:110px; height:26px; padding:0 0.625rem; font-family:'DM Sans',sans-serif; font-size:10px; font-weight:400; line-height:16px; border:0.4px solid #000; border-radius:24px; background:transparent; color:#000; cursor:pointer; white-space:nowrap; position:relative; z-index:10;" 5618 @click.prevent.stop='if ($store.favorites.has(8394549297222)) { $store.modals.open("favorites") } else { $store.favorites.add({ 5619 id: 8394549297222, 5620 handle: "utility-tote-bag-16oz-colour", 5621 title: "Utility Tote Bag 16oz Colour", 5622 vendor: "Made to order", 5623 hasColours: false, 5624 variantId: null, 5625 colour: null, 5626 sizeOptions: "", 5627 price: 1300, 5628 compare_at_price: null, 5629 image: "\/\/printroom.co\/cdn\/shop\/files\/product_0ab74ef0-355d-466b-80b8-6d324cf996f0_slot_1.jpg?v=1778567170\u0026width=200", 5630 productImage: "\/\/printroom.co\/cdn\/shop\/files\/product_0ab74ef0-355d-466b-80b8-6d324cf996f0_slot_1.jpg?v=1778567170\u0026width=200", 5631 url: "/products/utility-tote-bag-16oz-colour", 5632 moq: 500 5633 }) }' 5634 :aria-label="$store.favorites.has(8394549297222) ? 'Open quote list' : 'Add Utility Tote Bag 16oz Colour to quote'" 5635 > 5636 <span style="width:10px; height:10px; flex-shrink:0;" x-show="!$store.favorites.has(8394549297222)"><span class="h-full w-full"> 5637 <svg 5638 aria-hidden="true" 5639 focusable="false" 5640 role="presentation" 5641 class="icon icon-quote-list-outline" 5642 viewBox="0 0 24 24" 5643 fill="none" 5644 ><rect x="3" y="1" width="18" height="22" rx="2.5" ry="2.5" stroke="currentColor" stroke-width="1.5"></rect><circle cx="7.5" cy="7.5" r="1" fill="currentColor"></circle> 5645 <line x1="10" y1="7.5" x2="17.5" y2="7.5" stroke="currentColor" stroke-width="1.4" stroke-linecap="round"></line> 5646 <circle cx="7.5" cy="11" r="1" fill="currentColor"></circle> 5647 <line x1="10" y1="11" x2="17.5" y2="11" stroke="currentColor" stroke-width="1.4" stroke-linecap="round"></line> 5648 <circle cx="7.5" cy="14.5" r="1" fill="currentColor"></circle> 5649 <line x1="10" y1="14.5" x2="17.5" y2="14.5" stroke="currentColor" stroke-width="1.4" stroke-linecap="round"></line> 5650 <circle cx="7.5" cy="18" r="1" fill="currentColor"></circle> 5651 <line x1="10" y1="18" x2="17.5" y2="18" stroke="currentColor" stroke-width="1.4" stroke-linecap="round"></line> 5652 </svg> 5653</span> 5654</span> 5655 <span x-text="$store.favorites.has(8394549297222) ? 'In quote â' : 'Add to quote'">Add to quote</span> 5656 </button> 5657 </data-island></div> 5658 </div> 5659 </div> 5660</data-island> 5661 5662 </li> 5663 5664 5665 <li class="col-span-1 lg:col-span-3 bg-scheme-background text-scheme-text"> 5666 5667<data-island 5668 class="relative flex h-full flex-col text-center hover:text-scheme-accent" 5669 5670 data-color-scheme="scheme5" 5671> 5672 <div 5673 class="relative" 5674 ><div 5675 class="group w-full pt-2 lg:pt-4 px-section-horizontal-spacing " 5676 5677 > 5678 <div class="relative z-0"> 5679 <a 5680 href="/products/wo-s-maple-tee" 5681 5682 class="absolute inset-0 z-40" 5683 >
5684 <span class="sr-only">Wo's Maple Tee</span> 5685 </a> 5686 5687 5688<div 5689 class="relative" 5690 style="padding-top: 100%;" 5691 ><image-with-placeholder> 5692 <img src="//printroom.co/cdn/shop/files/product_365f70b4-ad30-43ea-892f-db320032b39b_slot_1.jpg?v=1772676976&width=3000" alt="Pink pineapple on a black t-shirt" srcset="//printroom.co/cdn/shop/files/product_365f70b4-ad30-43ea-892f-db320032b39b_slot_1.jpg?v=1772676976&width=200 200w, //printroom.co/cdn/shop/files/product_365f70b4-ad30-43ea-892f-db320032b39b_slot_1.jpg?v=1772676976&width=350 350w, //printroom.co/cdn/shop/files/product_365f70b4-ad30-43ea-892f-db320032b39b_slot_1.jpg?v=1772676976&width=450 450w, //printroom.co/cdn/shop/files/product_365f70b4-ad30-43ea-892f-db320032b39b_slot_1.jpg?v=1772676976&width=750 750w, //printroom.co/cdn/shop/files/product_365f70b4-ad30-43ea-892f-db320032b39b_slot_1.jpg?v=1772676976&width=850 850w, //printroom.co/cdn/shop/files/product_365f70b4-ad30-43ea-892f-db320032b39b_slot_1.jpg?v=1772676976&width=960 960w, //printroom.co/cdn/shop/files/product_365f70b4-ad30-43ea-892f-db320032b39b_slot_1.jpg?v=1772676976&width=1280 1280w, //printroom.co/cdn/shop/files/product_365f70b4-ad30-43ea-892f-db320032b39b_slot_1.jpg?v=1772676976&width=1440 1440w, //printroom.co/cdn/shop/files/product_365f70b4-ad30-43ea-892f-db320032b39b_slot_1.jpg?v=1772676976&width=1536 1536w, //printroom.co/cdn/shop/files/product_365f70b4-ad30-43ea-892f-db320032b39b_slot_1.jpg?v=1772676976&width=1706 1706w, //printroom.co/cdn/shop/files/product_365f70b4-ad30-43ea-892f-db320032b39b_slot_1.jpg?v=1772676976&width=1782 1782w, //printroom.co/cdn/shop/files/product_365f70b4-ad30-43ea-892f-db320032b39b_slot_1.jpg?v=1772676976&width=1920 1920w, //printroom.co/cdn/shop/files/product_365f70b4-ad30-43ea-892f-db320032b39b_slot_1.jpg?v=1772676976&width=2560 2560w, //printroom.co/cdn/shop/files/product_365f70b4-ad30-43ea-892f-db320032b39b_slot_1.jpg?v=1772676976&width=2880 2880w, //printroom.co/cdn/shop/files/product_365f70b4-ad30-43ea-892f-db320032b39b_slot_1.jpg?v=1772676976&width=3000 3000w" width="3000" height="3000" loading="lazy" class="peer/image block absolute inset-0 w-full h-full object-contain" sizes="(min-width: 1024px) calc(100vw / 12 * 3), 100vw"> 5693 5694 <div 5695 class="absolute inset-0 h-full w-full bg-scheme-text opacity-[0.05] peer-[.is-complete]/image:opacity-0 no-js:hidden" 5696 ></div> 5697 5698</image-with-placeholder> 5699</div> 5700 5701 <image-with-placeholder> 5702 <img src="//printroom.co/cdn/shop/files/product_365f70b4-ad30-43ea-892f-db320032b39b_slot_2.jpg?v=1772676978&width=3000" alt="AS Colour Wo's maple tee" srcset="//printroom.co/cdn/shop/files/product_365f70b4-ad30-43ea-892f-db320032b39b_slot_2.jpg?v=1772676978&width=200 200w, //printroom.co/cdn/shop/files/product_365f70b4-ad30-43ea-892f-db320032b39b_slot_2.jpg?v=1772676978&width=350 350w, //printroom.co/cdn/shop/files/product_365f70b4-ad30-43ea-892f-db320032b39b_slot_2.jpg?v=1772676978&width=450 450w, //printroom.co/cdn/shop/files/product_365f70b4-ad30-43ea-892f-db320032b39b_slot_2.jpg?v=1772676978&width=750 750w, //printroom.co/cdn/shop/files/product_365f70b4-ad30-43ea-892f-db320032b39b_slot_2.jpg?v=1772676978&width=850 850w, //printroom.co/cdn/shop/files/product_365f70b4-ad30-43ea-892f-db320032b39b_slot_2.jpg?v=1772676978&width=960 960w, //printroom.co/cdn/shop/files/product_365f70b4-ad30-43ea-892f-db320032b39b_slot_2.jpg?v=1772676978&width=1280 1280w, //printroom.co/cdn/shop/files/product_365f70b4-ad30-43ea-892f-db320032b39b_slot_2.jpg?v=1772676978&width=1440 1440w, //printroom.co/cdn/shop/files/product_365f70b4-ad30-43ea-892f-db320032b39b_slot_2.jpg?v=1772676978&width=1536 1536w, //printroom.co/cdn/shop/files/product_365f70b4-ad30-43ea-892f-db320032b39b_slot_2.jpg?v=1772676978&width=1706 1706w, //printroom.co/cdn/shop/files/product_365f70b4-ad30-43ea-892f-db320032b39b_slot_2.jpg?v=1772676978&width=1782 1782w, //printroom.co/cdn/shop/files/product_365f70b4-ad30-43ea-892f-db320032b39b_slot_2.jpg?v=1772676978&width=1920 1920w, //printroom.co/cdn/shop/files/product_365f70b4-ad30-43ea-892f-db320032b39b_slot_2.jpg?v=1772676978&width=2560 2560w, //printroom.co/cdn/shop/files/product_365f70b4-ad30-43ea-892f-db320032b39b_slot_2.jpg?v=1772676978&width=2880 2880w, //printroom.co/cdn/shop/files/product_365f70b4-ad30-43ea-892f-db320032b39b_slot_2.jpg?v=1772676978&width=3000 3000w" width="3000" height="3000" loading="lazy" class="peer/image block absolute inset-0 w-full h-full object-contain z-35 bg-scheme-background opacity-0 transition-opacity duration-200 ease-in-out group-hover:opacity-100 group-focus-within:opacity-100" sizes="(min-width: 1024px) calc(100vw / 12 * 3), 100vw"> 5703 5704 <div 5705 class="absolute inset-0 h-full w-full bg-scheme-text opacity-[0.05] peer-[.is-complete]/image:opacity-0 no-js:hidden" 5706 ></div> 5707 5708</image-with-placeholder> 5709 5710</div> 5711 </div> 5712 5713 5714 <div 5715 class="relative justify-between py-4 px-section-horizontal-spacing text-center text-sm lg:text-base" 5716 > 5717 <a 5718 href="/products/wo-s-maple-tee" 5719 5720 class="absolute inset-0 z-10" 5721 >
5722 <span class="sr-only">Wo's Maple Tee</span> 5723 </a> 5724 <div class="text-center break-word"> 5725 5726 <p class="mb-1 text-scheme-secondary"> 5727 AS Colour 5728 </p> 5729 5730 <p 5731 aria-hidden="true" 5732 class="font-bold" 5733 > 5734 Wo's Maple Tee 5735 </p> 5736 5737 5738 5739 5740 5741 5742 5743 5744 5745 5746 </div> 5747 <div class="text-center mt-1 lg:mt-2"> 5748 5749 5750 5751 5752<span>from $12.00</span> 5753 5754 5755 5756 5757</div> 5758 5759 <div class="mt-2 text-center"><data-island x-data on="idle" style="display: inline-block;"> 5760 <button 5761 type="button" 5762 :style="'display:inline-flex; align-items:center; justify-content:center; gap:0.25rem; width:110px; height:26px; padding:0 0.625rem; font-family:DM Sans,sans-serif; font-size:10px; font-weight:400; line-height:16px; border-radius:24px; cursor:pointer; white-space:nowrap; position:relative; z-index:10; transition:transform 0.2s ease-out,background-color 0.2s ease-out,border-color 0.2s ease-out,color 0.2s ease-out,box-shadow 0.2s ease-out;' + ($store.favorites.has(8275027722310) 5763 ? 'border:0.4px solid #4B4D72; background:#4B4D72; color:#fff; box-shadow:0 4px 14px rgba(75,77,114,0.18);' 5764 : 'border:0.4px solid #000; background:transparent; color:#000; box-shadow:none;')" 5765 style="display:inline-flex; align-items:center; justify-content:center; gap:0.25rem; width:110px; height:26px; padding:0 0.625rem; font-family:'DM Sans',sans-serif; font-size:10px; font-weight:400; line-height:16px; border:0.4px solid #000; border-radius:24px; background:transparent; color:#000; cursor:pointer; white-space:nowrap; position:relative; z-index:10;" 5766 @click.prevent.stop='if ($store.favorites.has(8275027722310)) { $store.modals.open("favorites") } else { $store.favorites.add({ 5767 id: 8275027722310, 5768 handle: "wo-s-maple-tee", 5769 title: "Wo's Maple Tee", 5770 vendor: "AS Colour", 5771 hasColours: true, 5772 variantId: null, 5773 colour: null, 5774 sizeOptions: ["XS","S","M","L","XL","2XL","3XL"], 5775 price: 1200, 5776 compare_at_price: null, 5777 image: "\/\/printroom.co\/cdn\/shop\/files\/product_365f70b4-ad30-43ea-892f-db320032b39b_slot_1.jpg?v=1772676976\u0026width=200", 5778 productImage: "\/\/printroom.co\/cdn\/shop\/files\/product_365f70b4-ad30-43ea-892f-db320032b39b_slot_1.jpg?v=1772676976\u0026width=200", 5779 url: "/products/wo-s-maple-tee", 5780 moq: 24 5781 }) }' 5782 :aria-label="$store.favorites.has(8275027722310) ? 'Open quote list' : 'Add Wo's Maple Tee to quote'" 5783 > 5784 <span style="width:10px; height:10px; flex-shrink:0;" x-show="!$store.favorites.has(8275027722310)"><span class="h-full w-full"> 5785 <svg 5786 aria-hidden="true" 5787 focusable="false" 5788 role="presentation" 5789 class="icon icon-quote-list-outline" 5790 viewBox="0 0 24 24" 5791 fill="none" 5792 ><rect x="3" y="1" width="18" height="22" rx="2.5" ry="2.5" stroke="currentColor" stroke-width="1.5"></rect><circle cx="7.5" cy="7.5" r="1" fill="currentColor"></circle> 5793 <line x1="10" y1="7.5" x2="17.5" y2="7.5" stroke="currentColor" stroke-width="1.4" stroke-linecap="round"></line> 5794 <circle cx="7.5" cy="11" r="1" fill="currentColor"></circle> 5795 <line x1="10" y1="11" x2="17.5" y2="11" stroke="currentColor" stroke-width="1.4" stroke-linecap="round"></line> 5796 <circle cx="7.5" cy="14.5" r="1" fill="currentColor"></circle> 5797 <line x1="10" y1="14.5" x2="17.5" y2="14.5" stroke="currentColor" stroke-width="1.4" stroke-linecap="round"></line> 5798 <circle cx="7.5" cy="18" r="1" fill="currentColor"></circle> 5799 <line x1="10" y1="18" x2="17.5" y2="18" stroke="currentColor" stroke-width="1.4" stroke-linecap="round"></line> 5800 </svg> 5801</span> 5802</span> 5803 <span x-text="$store.favorites.has(8275027722310) ? 'In quote â' : 'Add to quote'">Add to quote</span> 5804 </button> 5805 </data-island></div> 5806 </div> 5807 </div> 5808</data-island> 5809 5810 </li> 5811 5812</ul> 5813 </div></section> 5814 5815 5816<style> #shopify-section-template--21296459743302__featured_collection_CppVMU .text-scheme-text {padding-top: 70px;} </style></div><div id="shopify-section-template--21296459743302__rich_text_NdfPeb" class="shopify-section"><section
5817 class="overflow-hidden border-b-gridline border-gridline-color bg-scheme-background text-scheme-text snap-section" 5818 data-color-scheme="scheme5" 5819 x-data="{ visible: false }" 5820 x-intersect:enter.threshold.25="visible = true" 5821 x-intersect:leave="visible = false" 5822 data-animate="fade" 5823 :class="{ 'is-visible': visible }" 5824> 5825 <div class="px-section-horizontal-spacing py-section-vertical-spacing"> 5826 <div class="flex text-center justify-start"> 5827 <div class="w-full lg:w-full"><h2 class="font-heading text-heading-standard"> 5828 "What do I actually want?" 5829 </h2><div class="rte mt-4 break-word"> 5830 <h2>Ask yourself that, explore our product library and get an easy quote when you're ready.</h2> 5831 </div></div> 5832 </div> 5833 </div> 5834</section> 5835 5836 5837<style> #shopify-section-template--21296459743302__rich_text_NdfPeb .text-scheme-text {padding-left: 10px; padding-right: 10px; padding-top: 60px;} #shopify-section-template--21296459743302__rich_text_NdfPeb h2.text-heading-standard {font-size: 50px !important;} @media (min-width: 768px) {#shopify-section-template--21296459743302__rich_text_NdfPeb h2.text-heading-standard {font-size: 50px !important; }} @media (min-width: 1024px) {#shopify-section-template--21296459743302__rich_text_NdfPeb h2.text-heading-standard {font-size: 105px !important; }} </style></div><div id="shopify-section-template--21296459743302__rich_text_9imnVH" class="shopify-section"><section 5838 class="overflow-hidden border-b-gridline border-gridline-color bg-scheme-background text-scheme-text snap-section" 5839 data-color-scheme="scheme5" 5840 x-data="{ visible: false }" 5841 x-intersect:enter.threshold.25="visible = true" 5842 x-intersect:leave="visible = false" 5843 data-animate="fade" 5844 :class="{ 'is-visible': visible }" 5845> 5846 <div class="px-section-horizontal-spacing py-section-vertical-spacing"> 5847 <div class="flex text-center justify-center"> 5848 <div class="w-full lg:w-full"><div class="rte break-word"> 5849 5850 </div><div class="mt-4 text-0"><a 5851 href="/collections/product-library" 5852 class="theme-button inline-block" 5853 >Discover the full library</a></div></div> 5854 </div> 5855 </div> 5856</section> 5857 5858 5859<style> #shopify-section-template--21296459743302__rich_text_9imnVH .text-scheme-text {padding-left: 30px; padding-right: 30px; padding-bottom: 35px; border-bottom: 1px solid black;} </style></div><div id="shopify-section-template--21296459743302__rich_text_7KcFGK" class="shopify-section"><section 5860 class="overflow-hidden border-b-gridline border-gridline-color bg-scheme-background text-scheme-text snap-section" 5861 data-color-scheme="scheme2" 5862 x-data="{ visible: false }" 5863 x-intersect:enter.threshold.25="visible = true" 5864 x-intersect:leave="visible = false" 5865 data-animate="fade" 5866 :class="{ 'is-visible': visible }" 5867> 5868 <div class="px-section-horizontal-spacing py-section-vertical-spacing"> 5869 <div class="flex text-left justify-start"> 5870 <div class="w-full lg:w-3/4"><div class="rte break-word"> 5871 <h2>Whether you want <strong>custom t-shirts</strong>, <strong>tote bags</strong>, <strong>embroidery</strong> or <strong>screen printing</strong>âour expertise will help bring your ideas to life.</h2><h2><br/></h2> 5872 </div><div class="mt-4 text-0"><a 5873 href="/pages/services" 5874 class="theme-button inline-block" 5875 >Browse our services</a></div></div> 5876 </div> 5877 </div> 5878</section> 5879 5880 5881<style> #shopify-section-template--21296459743302__rich_text_7KcFGK .theme-link {font-size: 40px; font-style: italic;} #shopify-section-template--21296459743302__rich_text_7KcFGK .theme-button {font-size: 25px; font-style: italic;} #shopify-section-template--21296459743302__rich_text_7KcFGK .mt-4 {padding-top: 30px; padding-bottom: 15px;} #shopify-section-template--21296459743302__rich_text_7KcFGK .text-scheme-text {padding-left: 30px; padding-right: 30px; padding-top: 80px;} </style></div><div id="shopify-section-template--21296459743302__text_columns_with_images_zLhk6U" class="shopify-section"><section
5882 class="border-b-gridline border-gridline-color bg-gridline-color snap-section" 5883 x-data="{ visible: false }" 5884 x-intersect:enter.threshold.25="visible = true" 5885 x-intersect:leave="visible = false" 5886> 5887 5888 5889 <ul class="grid grid-cols-1 gap-gridline lg:grid-cols-12" data-stagger> 5890 5891<li 5892 class="lg:col-span-4 bg-scheme-background text-base text-scheme-text text-left" 5893 5894 data-color-scheme="scheme2" 5895 data-animate="slide-up" 5896 :class="{ 'is-visible': visible }" 5897 ><a 5898 href="/pages/bespoke-merch" 5899 class="group block" 5900 aria-label="Custom-built products" 5901 > 5902 <div class="bg-scheme-background p-2 lg:p-4 transition-transform group-hover:scale-105"> 5903 5904 <image-with-placeholder 5905 class="relative w-full" 5906 style="padding-bottom: 100%;" 5907 ><img src="//printroom.co/cdn/shop/files/ebb_tote_hero_image_cropped.jpg?v=1748982416&width=3000" alt="Custom tote bags nz, embroidery, supacolour, screen printing nz" srcset="//printroom.co/cdn/shop/files/ebb_tote_hero_image_cropped.jpg?v=1748982416&width=200 200w, //printroom.co/cdn/shop/files/ebb_tote_hero_image_cropped.jpg?v=1748982416&width=350 350w, //printroom.co/cdn/shop/files/ebb_tote_hero_image_cropped.jpg?v=1748982416&width=450 450w, //printroom.co/cdn/shop/files/ebb_tote_hero_image_cropped.jpg?v=1748982416&width=750 750w, //printroom.co/cdn/shop/files/ebb_tote_hero_image_cropped.jpg?v=1748982416&width=850 850w, //printroom.co/cdn/shop/files/ebb_tote_hero_image_cropped.jpg?v=1748982416&width=960 960w, //printroom.co/cdn/shop/files/ebb_tote_hero_image_cropped.jpg?v=1748982416&width=1280 1280w, //printroom.co/cdn/shop/files/ebb_tote_hero_image_cropped.jpg?v=1748982416&width=1440 1440w, //printroom.co/cdn/shop/files/ebb_tote_hero_image_cropped.jpg?v=1748982416&width=1536 1536w, //printroom.co/cdn/shop/files/ebb_tote_hero_image_cropped.jpg?v=1748982416&width=1706 1706w, //printroom.co/cdn/shop/files/ebb_tote_hero_image_cropped.jpg?v=1748982416&width=1782 1782w, //printroom.co/cdn/shop/files/ebb_tote_hero_image_cropped.jpg?v=1748982416&width=1920 1920w, //printroom.co/cdn/shop/files/ebb_tote_hero_image_cropped.jpg?v=1748982416&width=2560 2560w, //printroom.co/cdn/shop/files/ebb_tote_hero_image_cropped.jpg?v=1748982416&width=2880 2880w, //printroom.co/cdn/shop/files/ebb_tote_hero_image_cropped.jpg?v=1748982416&width=3000 3000w" width="3000" height="3000" loading="lazy" class="peer/image absolute inset-0 w-full h-full object-cover" sizes="(min-width: 1024px) calc(100vw / 12 * 4), 100vw"> 5908 <div 5909 class="absolute inset-0 h-full w-full bg-scheme-text opacity-[0.05] peer-[.is-complete]/image:opacity-0 no-js:hidden" 5910 ></div> 5911 </image-with-placeholder> 5912 5913</div> 5914 </a><div class="px-section-horizontal-spacing py-section-vertical-spacing"> 5915 5916 <a 5917 href="/pages/bespoke-merch" 5918 class="block hover:opacity-90" 5919 > 5920 <h2 class="font-heading text-heading-secondary">Custom-built products</h2> 5921 </a> 5922 5923 5924 <div class="rte mt-2"> 5925 5926 </div> 5927 5928 <div class="mt-4"> 5929 <a 5930 class="theme-link inline-block text-scheme-text hover:text-scheme-accent" 5931 href="/pages/bespoke-merch" 5932 >More on me</a> 5933 </div> 5934 5935 </div> 5936 </li> 5937 5938<li 5939 class="lg:col-span-4 bg-scheme-background text-base text-scheme-text text-left" 5940 5941 data-color-scheme="scheme2" 5942 data-animate="slide-up" 5943 :class="{ 'is-visible': visible }" 5944 ><a 5945 href="/pages/screen-printing" 5946 class="group block" 5947 aria-label="Screen printing" 5948 > 5949 <div class="bg-scheme-background p-2 lg:p-4 transition-transform group-hover:scale-105"> 5950 5951 <image-with-placeholder 5952 class="relative w-full" 5953 style="padding-bottom: 100%;" 5954 ><img src="//printroom.co/cdn/shop/files/PrintRoomApril2024Image-11_c90564f9-aa55-40c9-973d-b22719e913a8.jpg?v=1736884065&width=3000" alt="Custom hoodies nz, embroidery, supacolour, screen printing nz" srcset="//printroom.co/cdn/shop/files/PrintRoomApril2024Image-11_c90564f9-aa55-40c9-973d-b22719e913a8.jpg?v=1736884065&width=200 200w, //printroom.co/cdn/shop/files/PrintRoomApril2024Image-11_c90564f9-aa55-40c9-973d-b22719e913a8.jpg?v=1736884065&width=350 350w, //printroom.co/cdn/shop/files/PrintRoomApril2024Image-11_c90564f9-aa55-40c9-973d-b22719e913a8.jpg?v=1736884065&width=450 450w, //printroom.co/cdn/shop/files/PrintRoomApril2024Image-11_c90564f9-aa55-40c9-973d-b22719e913a8.jpg?v=1736884065&width=750 750w, //printroom.co/cdn/shop/files/PrintRoomApril2024Image-11_c90564f9-aa55-40c9-973d-b22719e913a8.jpg?v=1736884065&width=850 850w, //printroom.co/cdn/shop/files/PrintRoomApril2024Image-11_c90564f9-aa55-40c9-973d-b22719e913a8.jpg?v=1736884065&width=960 960w, //printroom.co/cdn/shop/files/PrintRoomApril2024Image-11_c90564f9-aa55-40c9-973d-b22719e913a8.jpg?v=1736884065&width=1280 1280w, //printroom.co/cdn/shop/files/PrintRoomApril2024Image-11_c90564f9-aa55-40c9-973d-b22719e913a8.jpg?v=1736884065&width=1440 1440w, //printroom.co/cdn/shop/files/PrintRoomApril2024Image-11_c90564f9-aa55-40c9-973d-b22719e913a8.jpg?v=1736884065&width=1536 1536w, //printroom.co/cdn/shop/files/PrintRoomApril2024Image-11_c90564f9-aa55-40c9-973d-b22719e913a8.jpg?v=1736884065&width=1706 1706w, //printroom.co/cdn/shop/files/PrintRoomApril2024Image-11_c90564f9-aa55-40c9-973d-b22719e913a8.jpg?v=1736884065&width=1782 1782w, //printroom.co/cdn/shop/files/PrintRoomApril2024Image-11_c90564f9-aa55-40c9-973d-b22719e913a8.jpg?v=1736884065&width=1920 1920w, //printroom.co/cdn/shop/files/PrintRoomApril2024Image-11_c90564f9-aa55-40c9-973d-b22719e913a8.jpg?v=1736884065&width=2560 2560w, //printroom.co/cdn/shop/files/PrintRoomApril2024Image-11_c90564f9-aa55-40c9-973d-b22719e913a8.jpg?v=1736884065&width=2880 2880w, //printroom.co/cdn/shop/files/PrintRoomApril2024Image-11_c90564f9-aa55-40c9-973d-b22719e913a8.jpg?v=1736884065&width=3000 3000w" width="3000" height="3750" loading="lazy" class="peer/image absolute inset-0 w-full h-full object-cover" sizes="(min-width: 1024px) calc(100vw / 12 * 4), 100vw"> 5955 <div 5956 class="absolute inset-0 h-full w-full bg-scheme-text opacity-[0.05] peer-[.is-complete]/image:opacity-0 no-js:hidden" 5957 ></div> 5958 </image-with-placeholder> 5959 5960</div> 5961 </a><div class="px-section-horizontal-spacing py-section-vertical-spacing"> 5962 5963 <a 5964 href="/pages/screen-printing" 5965 class="block hover:opacity-90" 5966 > 5967 <h2 class="font-heading text-heading-secondary">Screen printing</h2> 5968 </a> 5969 5970 5971 <div class="rte mt-2"> 5972 5973 </div> 5974 5975 <div class="mt-4"> 5976 <a
5977 class="theme-link inline-block text-scheme-text hover:text-scheme-accent" 5978 href="/pages/screen-printing" 5979 >More on me</a> 5980 </div> 5981 5982 </div> 5983 </li> 5984 5985<li 5986 class="lg:col-span-4 bg-scheme-background text-base text-scheme-text text-left" 5987 5988 data-color-scheme="scheme2" 5989 data-animate="slide-up" 5990 :class="{ 'is-visible': visible }" 5991 ><a 5992 href="/pages/embroidery" 5993 class="group block" 5994 aria-label="Embroidery" 5995 > 5996 <div class="bg-scheme-background p-2 lg:p-4 transition-transform group-hover:scale-105"> 5997 5998 <image-with-placeholder 5999 class="relative w-full" 6000 style="padding-bottom: 100%;" 6001 ><img src="//printroom.co/cdn/shop/files/PrintRoomMay2024Image-10_bea9c998-ee40-4b13-a391-942882430df9.jpg?v=1736886974&width=3000" alt="Custom socks nz, embroidery, supacolour," srcset="//printroom.co/cdn/shop/files/PrintRoomMay2024Image-10_bea9c998-ee40-4b13-a391-942882430df9.jpg?v=1736886974&width=200 200w, //printroom.co/cdn/shop/files/PrintRoomMay2024Image-10_bea9c998-ee40-4b13-a391-942882430df9.jpg?v=1736886974&width=350 350w, //printroom.co/cdn/shop/files/PrintRoomMay2024Image-10_bea9c998-ee40-4b13-a391-942882430df9.jpg?v=1736886974&width=450 450w, //printroom.co/cdn/shop/files/PrintRoomMay2024Image-10_bea9c998-ee40-4b13-a391-942882430df9.jpg?v=1736886974&width=750 750w, //printroom.co/cdn/shop/files/PrintRoomMay2024Image-10_bea9c998-ee40-4b13-a391-942882430df9.jpg?v=1736886974&width=850 850w, //printroom.co/cdn/shop/files/PrintRoomMay2024Image-10_bea9c998-ee40-4b13-a391-942882430df9.jpg?v=1736886974&width=960 960w, //printroom.co/cdn/shop/files/PrintRoomMay2024Image-10_bea9c998-ee40-4b13-a391-942882430df9.jpg?v=1736886974&width=1280 1280w, //printroom.co/cdn/shop/files/PrintRoomMay2024Image-10_bea9c998-ee40-4b13-a391-942882430df9.jpg?v=1736886974&width=1440 1440w, //printroom.co/cdn/shop/files/PrintRoomMay2024Image-10_bea9c998-ee40-4b13-a391-942882430df9.jpg?v=1736886974&width=1536 1536w, //printroom.co/cdn/shop/files/PrintRoomMay2024Image-10_bea9c998-ee40-4b13-a391-942882430df9.jpg?v=1736886974&width=1706 1706w, //printroom.co/cdn/shop/files/PrintRoomMay2024Image-10_bea9c998-ee40-4b13-a391-942882430df9.jpg?v=1736886974&width=1782 1782w, //printroom.co/cdn/shop/files/PrintRoomMay2024Image-10_bea9c998-ee40-4b13-a391-942882430df9.jpg?v=1736886974&width=1920 1920w, //printroom.co/cdn/shop/files/PrintRoomMay2024Image-10_bea9c998-ee40-4b13-a391-942882430df9.jpg?v=1736886974&width=2560 2560w, //printroom.co/cdn/shop/files/PrintRoomMay2024Image-10_bea9c998-ee40-4b13-a391-942882430df9.jpg?v=1736886974&width=2880 2880w, //printroom.co/cdn/shop/files/PrintRoomMay2024Image-10_bea9c998-ee40-4b13-a391-942882430df9.jpg?v=1736886974&width=3000 3000w" width="3000" height="3750" loading="lazy" class="peer/image absolute inset-0 w-full h-full object-cover" sizes="(min-width: 1024px) calc(100vw / 12 * 4), 100vw"> 6002 <div 6003 class="absolute inset-0 h-full w-full bg-scheme-text opacity-[0.05] peer-[.is-complete]/image:opacity-0 no-js:hidden" 6004 ></div> 6005 </image-with-placeholder> 6006 6007</div> 6008 </a><div class="px-section-horizontal-spacing py-section-vertical-spacing"> 6009 6010 <a 6011 href="/pages/embroidery" 6012 class="block hover:opacity-90" 6013 > 6014 <h2 class="font-heading text-heading-secondary">Embroidery</h2> 6015 </a> 6016 6017 6018 <div class="rte mt-2"> 6019 6020 </div> 6021 6022 <div class="mt-4"> 6023 <a 6024 class="theme-link inline-block text-scheme-text hover:text-scheme-accent" 6025 href="/pages/embroidery" 6026 >More on me</a> 6027 </div> 6028 6029 </div> 6030 </li> 6031 6032 </ul> 6033</section> 6034 6035 6036<style> #shopify-section-template--21296459743302__text_columns_with_images_zLhk6U .absolute {border-radius: 25px;} #shopify-section-template--21296459743302__text_columns_with_images_zLhk6U .font-heading {text-align: center;} #shopify-section-template--21296459743302__text_columns_with_images_zLhk6U .rte {text-align: center;} #shopify-section-template--21296459743302__text_columns_with_images_zLhk6U .mt-4 {text-align: center;} #shopify-section-template--21296459743302__text_columns_with_images_zLhk6U .theme-link {font-style: italic; padding-top: 5px;} #shopify-section-template--21296459743302__text_columns_with_images_zLhk6U .text-base {border-bottom: 1px solid black; padding-top: 15px;} </style></div><div id="shopify-section-template--21296459743302__image_with_text_HMY9np" class="shopify-section"><section 6037 class="grid grid-flow-row-dense grid-cols-1 gap-gutter overflow-hidden border-b-gridline border-gr
6037idline-color bg-gridline-color lg:grid-cols-12 snap-section" 6038 x-data="{ visible: false }" 6039 x-intersect:enter.threshold.25="visible = true" 6040 x-intersect:leave="visible = false" 6041> 6042 <div 6043 class="bg-scheme-background lg:col-start-7 lg:col-end-13 p-2 lg:p-4 h-full w-full " 6044 data-color-scheme="scheme4" 6045 > 6046 <div class="relative min-h-full"><div class="relative"> 6047 6048 6049 <image-with-placeholder 6050 class="relative w-full" 6051 style="padding-bottom: 100%;" 6052 ><img src="//printroom.co/cdn/shop/files/parrotdog-merch.webp?v=1761632458&width=3000" alt="" srcset="//printroom.co/cdn/shop/files/parrotdog-merch.webp?v=1761632458&width=200 200w, //printroom.co/cdn/shop/files/parrotdog-merch.webp?v=1761632458&width=350 350w, //printroom.co/cdn/shop/files/parrotdog-merch.webp?v=1761632458&width=450 450w, //printroom.co/cdn/shop/files/parrotdog-merch.webp?v=1761632458&width=750 750w, //printroom.co/cdn/shop/files/parrotdog-merch.webp?v=1761632458&width=850 850w, //printroom.co/cdn/shop/files/parrotdog-merch.webp?v=1761632458&width=960 960w, //printroom.co/cdn/shop/files/parrotdog-merch.webp?v=1761632458&width=1280 1280w, //printroom.co/cdn/shop/files/parrotdog-merch.webp?v=1761632458&width=1440 1440w, //printroom.co/cdn/shop/files/parrotdog-merch.webp?v=1761632458&width=1536 1536w, //printroom.co/cdn/shop/files/parrotdog-merch.webp?v=1761632458&width=1706 1706w, //printroom.co/cdn/shop/files/parrotdog-merch.webp?v=1761632458&width=1782 1782w, //printroom.co/cdn/shop/files/parrotdog-merch.webp?v=1761632458&width=1920 1920w, //printroom.co/cdn/shop/files/parrotdog-merch.webp?v=1761632458&width=2560 2560w, //printroom.co/cdn/shop/files/parrotdog-merch.webp?v=1761632458&width=2880 2880w, //printroom.co/cdn/shop/files/parrotdog-merch.webp?v=1761632458&width=3000 3000w" width="3000" height="3750" loading="lazy" class="peer/image absolute inset-0 w-full h-full object-cover" sizes="(min-width: 1024px) 50vw, 100vw"> 6053 <div 6054 class="absolute inset-0 h-full w-full bg-scheme-text opacity-[0.05] peer-[.is-complete]/image:opacity-0 no-js:hidden" 6055 ></div> 6056 </image-with-placeholder> 6057 6058 6059 </div></div> 6060 </div> 6061 6062 <div 6063 class="lg:col-span-6 relative flex bg-scheme-background px-section-horizontal-spacing py-section-vertical-spacing text-scheme-text items-end" 6064 data-color-scheme="scheme4" 6065 data-animate="slide-up" 6066 :class="{ 'is-visible': visible }" 6067 > 6068 <div class="text-left break-word w-full"><h2 class="font-heading text-heading-standard"> 6069 Waaay more than just "custom t-shirts" 6070 </h2><div class="rte text-base mt-4 font-body"> 6071 <h3><br/></h3><p></p><ul><li><h3>Full service team with in-house print, embroidery & supacolour.</h3></li><li><h3>Award-winning screen printing using exclusively water-based inks.</h3></li><li><h3>Dedicated account management for specialised support. </h3></li><li><h3>Quality and considered products from brands such as AS Colour, Cloke, Gildan and many more.</h3></li><li><h3>Fast turnarounds with rush options available.<br/><br/><br/></h3></li></ul> 6072 </div><div class="mt-4 text-0"><a 6073 href="/pages/book-a-call" 6074 class="theme-button inline-block" 6075 >Book a call</a></div></div> 6076 </div> 6077</section> 6078 6079 6080<style> #shopify-section-template--21296459743302__image_with_text_HMY9np .break-word {max-width: 700px; padding-left: 30px; padding-right: 30px;} </style></div><div id="shopify-section-template--21296459743302__white_space_dQRxtC" class="shopify-section"><section 6081 id="section-template--21296459743302__white_space_dQRxtC" 6082 class=" overflow-hidden border-b-gridline border-gridline-color bg-scheme-background text-scheme-text" 6083 data-color-scheme="scheme5" 6084></section><style data-shopify>#section-template--21296459743302__white_space_dQRxtC { 6085 height: calc(var(--spacing) * (3 - 1)); 6086 } 6087 6088 @media screen and (min-width: 768px) { 6089 #section-template--21296459743302__white_space_dQRxtC { 6090 height: calc(var(--spacing) * 3); 6091 } 6092 }</style> 6093</div><div id="shopify-section-template--21296459743302__rich_text_xPMznH" class="shopify-section"><section
6094 class="overflow-hidden border-b-gridline border-gridline-color bg-scheme-background text-scheme-text snap-section" 6095 data-color-scheme="scheme5" 6096 x-data="{ visible: false }" 6097 x-intersect:enter.threshold.25="visible = true" 6098 x-intersect:leave="visible = false" 6099 data-animate="fade" 6100 :class="{ 'is-visible': visible }" 6101> 6102 <div class="px-section-horizontal-spacing py-section-vertical-spacing"> 6103 <div class="flex text-center justify-center"> 6104 <div class="w-full lg:w-full"><div class="rte break-word"> 6105 <h2><strong>Trusted by the best.</strong></h2> 6106 </div></div> 6107 </div> 6108 </div> 6109</section> 6110 6111 6112</div><div id="shopify-section-template--21296459743302__logo_list_VX7K46" class="shopify-section"><section 6113 class="border-b-gridline border-gridline-color bg-gridline-color snap-section" 6114 style="--logo-width: 120px" 6115 x-data="{ visible: false }" 6116 x-intersect:enter.threshold.25="visible = true" 6117 x-intersect:leave="visible = false" 6118> 6119 6120 6121 6122 6123 6124 <div 6125 class="overflow-hidden bg-scheme-background px-section-horizontal-spacing py-section-vertical-spacing text-scheme-text" 6126 data-color-scheme="scheme5" 6127 > 6128 <scrolling-items-container class="block"> 6129 <scrolling-items 6130 style=" 6131 --base-scrolling-items-speed: 17s; 6132 --local-scrolling-items-speed-multiplier: 1; 6133 --scrolling-items-speed: calc( 6134 var(--base-scrolling-items-speed) * var(--global-scrolling-items-speed-multiplier) * 6135 var(--local-scrolling-items-speed-multiplier) 6136 ); 6137 --scrolling-items-direction: normal; 6138 " 6139 class="block w-max whitespace-nowrap motion-safe:animate-[scrolling-items_var(--scrolling-items-speed)_linear_infinite_var(--scrolling-items-direction)] motion-safe:hover:[animation-play-state:paused] text-scale-n0 lg:text-scale-n0 motion-reduce:block motion-reduce:-translate-x-1/4 motion-reduce:whitespace-normal motion-reduce:px-section-horizontal-spacing motion-reduce:text-center" 6140 > 6141 <scrolling-items-surface class="flex flex-nowrap items-center"> 6142 <scrolling-items-content class="grow-0 shrink-0 "> 6143 <div class="flex items-center"> 6144 6145 6146 6147 <div 6148 class="relative block max-w-[--logo-width] w-[--logo-width] mx-5 lg:mt-0" 6149 > 6150 <div class="relative" style="padding-top: 100%;"> 6151 <image-with-placeholder> 6152 <img src="//printroom.co/cdn/shop/files/otago_uni.svg?v=1742352406&width=3000" alt="otago university t-shirt-printing-NZ" srcset="//printroom.co/cdn/shop/files/otago_uni.svg?v=1742352406&width=200 200w, //printroom.co/cdn/shop/files/otago_uni.svg?v=1742352406&width=350 350w, //printroom.co/cdn/shop/files/otago_uni.svg?v=1742352406&width=450 450w, //printroom.co/cdn/shop/files/otago_uni.svg?v=1742352406&width=750 750w, //printroom.co/cdn/shop/files/otago_uni.svg?v=1742352406&width=850 850w, //printroom.co/cdn/shop/files/otago_uni.svg?v=1742352406&width=960 960w, //printroom.co/cdn/shop/files/otago_uni.svg?v=1742352406&width=1280 1280w, //printroom.co/cdn/shop/files/otago_uni.svg?v=1742352406&width=1440 1440w, //printroom.co/cdn/shop/files/otago_uni.svg?v=1742352406&width=1536 1536w, //printroom.co/cdn/shop/files/otago_uni.svg?v=1742352406&width=1706 1706w, //printroom.co/cdn/shop/files/otago_uni.svg?v=1742352406&width=1782 1782w, //printroom.co/cdn/shop/files/otago_uni.svg?v=1742352406&width=1920 1920w, //printroom.co/cdn/shop/files/otago_uni.svg?v=1742352406&width=2560 2560w, //printroom.co/cdn/shop/files/otago_uni.svg?v=1742352406&width=2880 2880w, //printroom.co/cdn/shop/files/otago_uni.svg?v=1742352406&width=3000 3000w" width="3000" height="4641" loading="lazy" class="peer/image block absolute inset-0 w-full h-full object-contain" sizes="120px"> 6153 6154</image-with-placeholder> 6155 6156 </div> 6157 6158</div> 6159 6160 6161 6162 6163 <div 6164 class="relative block max-w-[--logo-width] w-[--logo-width] mx-5 lg:mt-0" 6165 > 6166 <div class="relative" style="padding-top: 100%;"> 6167 <image-with-placeholder> 6168 <img src="//printroom.co/cdn/shop/files/garage_project.svg?v=1742337697&width=3000" alt="" srcset="//printroom.co/cdn/shop/files/garage_project.svg?v=1742337697&width=200 200w, //printroom.co/cdn/shop/files/garage_project.svg?v=1742337697&width=350 350w, //printroom.co/cdn/shop/files/garage_project.svg?v=1742337697&width=450 450w, //printroom.co/cdn/shop/files/garage_project.svg?v=1742337697&width=750 750w, //printroom.co/cdn/shop/files/garage_project.svg?v=1742337697&width=850 850w, //printroom.co/cdn/shop/files/garage_project.svg?v=1742337697&width=960 960w, //printroom.co/cdn/shop/files/garage_project.svg?v=1742337697&width=1280 1280w, //printroom.co/cdn/shop/files/garage_project.svg?v=1742337697&width=1440 1440w, //printroom.co/cdn/shop/files/garage_project.svg?v=1742337697&width=1536 1536w, //printroom.co/cdn/shop/files/garage_project.svg?v=1742337697&width=1706 1706w, //printroom.co/cdn/shop/files/garage_project.svg?v=1742337697&width=1782 1782w, //printroom.co/cdn/shop/files/garage_project.svg?v=1742337697&width=1920 1920w, //printroom.co/cdn/shop/files/garage_project.svg?v=1742337697&width=2560 2560w, //printroom.co/cdn/shop/files/garage_project.svg?v=1742337697&width=2880 2880w, //printroom.co/cdn/shop/files/garage_project.svg?v=1742337697&width=3000 3000w" width="3000" height="1974" loading="lazy" class="peer/image block absolute inset-0 w-full h-full object-contain" sizes="120px"> 6169 6170</image-with-placeholder> 6171 6172 </div> 6173 6174</div> 6175 6176 6177 6178 6179 <div 6180 class="relative block max-w-[--logo-width] w-[--logo-width] mx-5 lg:mt-0" 6181 > 6182 <div class="relative" style="padding-top: 100%;"> 6183 <image-with-placeholder> 6184 <img src="//printroom.co/cdn/shop/files/lesmills.svg?v=1742337446&width=3000" alt="les-mills-t-shirt-printing-NZ" srcset="//printroom.co/cdn/shop/files/lesmills.svg?v=1742337446&width=200 200w, //printroom.co/cdn/shop/files/lesmills.svg?v=1742337446&width=350 350w, //printroom.co/cdn/shop/files/lesmills.svg?v=1742337446&width=450 450w, //printroom.co/cdn/shop/files/lesmills.svg?v=1742337446&width=750 750w, //printroom.co/cdn/shop/files/lesmills.svg?v=1742337446&width=850 850w, //printroom.co/cdn/shop/files/lesmills.svg?v=1742337446&width=960 960w, //printroom.co/cdn/shop/files/lesmills.svg?v=1742337446&width=1280 1280w, //printroom.co/cdn/shop/files/lesmills.svg?v=1742337446&width=1440 1440w, //printroom.co/cdn/shop/files/lesmills.svg?v=1742337446&width=1536 1536w, //printroom.co/cdn/shop/files/lesmills.svg?v=1742337446&width=1706 1706w, //printroom.co/cdn/shop/files/lesmills.svg?v=1742337446&width=1782 1782w, //printroom.co/cdn/shop/files/lesmills.svg?v=1742337446&width=1920 1920w, //printroom.co/cdn/shop/files/lesmills.svg?v=1742337446&width=2560 2560w, //printroom.co/cdn/shop/files/lesmills.svg?v=1742337446&width=2880 2880w, //printroom.co/cdn/shop/files/lesmills.svg?v=1742337446&width=3000 3000w" width="3000" height="403" loading="lazy" class="peer/image block absolute inset-0 w-full h-full object-contain" sizes="120px"> 6185 6186</image-with-placeholder> 6187 6188 </div> 6189 6190</div> 6191 6192 6193 6194 6195 <div 6196 class="relative block max-w-[--logo-width] w-[--logo-width] mx-5 lg:mt-0" 6197 > 6198 <div class="relative" style="padding-top: 100%;"> 6199 <image-with-placeholder> 6200 <img src="//printroom.co/cdn/shop/files/real_nz.svg?v=1742337578&width=3000" alt="real-nz-t-shirt-printing" srcset="//printroom.co/cdn/shop/files/real_nz.svg?v=1742337578&width=200 200w, //printroom.co/cdn/shop/files/real_nz.svg?v=1742337578&width=350 350w, //printroom.co/cdn/shop/files/real_nz.svg?v=1742337578&width=450 450w, //printroom.co/cdn/shop/files/real_nz.svg?v=1742337578&width=750 750w, //printroom.co/cdn/shop/files/real_nz.svg?v=1742337578&width=850 850w, //printroom.co/cdn/shop/files/real_nz.svg?v=1742337578&width=960 960w, //printroom.co/cdn/shop/files/real_nz.svg?v=1742337578&width=1280 1280w, //printroom.co/cdn/shop/files/real_nz.svg?v=1742337578&width=1440 1440w, //printroom.co/cdn/shop/files/real_nz.svg?v=1742337578&width=1536 1536w, //printroom.co/cdn/shop/files/real_nz.svg?v=1742337578&width=1706 1706w, //printroom.co/cdn/shop/files/real_nz.svg?v=1742337578&width=1782 1782w, //printroom.co/cdn/shop/files/real_nz.svg?v=1742337578&width=1920 1920w, //printroom.co/cdn/shop/files/real_nz.svg?v=1742337578&width=2560 2560w, //printroom.co/cdn/shop/files/real_nz.svg?v=1742337578&width=2880 2880w, //printroom.co/cdn/shop/files/real_nz.svg?v=1742337578&width=3000 3000w" width="3000" height="3000" loading="lazy" class="peer/image block absolute inset-0 w-full h-full object-contain" sizes="120px"> 6201 6202</image-with-placeholder> 6203 6204 </div> 6205 6206</div> 6207 6208 6209 6210 6211 <div 6212 class="relative block max-w-[--logo-width] w-[--logo-width] mx-5 lg:mt-0" 6213 > 6214 <div class="relative" style="padding-top: 100%;"> 6215 <image-with-placeholder> 6216 <img src="//printroom.co/cdn/shop/files/sharsies.svg?v=1742352390&width=3000" alt="sharsies-custom-t-shirt-printing" srcset="//printroom.co/cdn/shop/files/sharsies.svg?v=1742352390&width=200 200w, //printroom.co/cdn/shop/files/sharsies.svg?v=1742352390&width=350 350w, //printroom.co/cdn/shop/files/sharsies.svg?v=1742352390&width=450 450w, //printroom.co/cdn/shop/files/sharsies.svg?v=1742352390&width=750 750w, //printroom.co/cdn/shop/files/sharsies.svg?v=1742352390&width=850 850w, //printroom.co/cdn/shop/files/sharsies.svg?v=1742352390&width=960 960w, //printroom.co/cdn/shop/files/sharsies.svg?v=1742352390&width=1280 1280w, //printroom.co/cdn/shop/files/sharsies.svg?v=1742352390&width=1440 1440w, //printroom.co/cdn/shop/files/sharsies.svg?v=1742352390&width=1536 1536w, //printroom.co/cdn/shop/files/sharsies.svg?v=1742352390&width=1706 1706w, //printroom.co/cdn/shop/files/sharsies.svg?v=1742352390&width=1782 1782w, //printroom.co/cdn/shop/files/sharsies.svg?v=1742352390&width=1920 1920w, //printroom.co/cdn/shop/files/sharsies.svg?v=1742352390&width=2560 2560w, //printroom.co/cdn/shop/files/sharsies.svg?v=1742352390&width=2880 2880w, //printroom.co/cdn/shop/files/sharsies.svg?v=1742352390&width=3000 3000w" width="3000" height="826" loading="lazy" class="peer/image block absolute inset-0 w-full h-full object-contain" sizes="120px"> 6217 6218</image-with-placeholder> 6219 6220 </div> 6221 6222</div> 6223 6224 6225 6226 6227 <div 6228 class="relative block max-w-[--logo-width] w-[--logo-width] mx-5 lg:mt-0" 6229 > 6230 <div class="relative" style="padding-top: 100%;"> 6231 <image-with-placeholder> 6232 <img src="//printroom.co/cdn/shop/files/te_wananga.svg?v=1742337645&width=3000" alt="te-wananga-t-shirt-printing" srcset="//printroom.co/cdn/shop/files/te_wananga.svg?v=1742337645&width=200 200w, //printroom.co/cdn/shop/files/te_wananga.svg?v=1742337645&width=350 350w, //printroom.co/cdn/shop/files/te_wananga.svg?v=1742337645&width=450 450w, //printroom.co/cdn/shop/files/te_wananga.svg?v=1742337645&width=750 750w, //printroom.co/cdn/shop/files/te_wananga.svg?v=1742337645&width=850 850w, //printroom.co/cdn/shop/files/te_wananga.svg?v=1742337645&width=960 960w, //printroom.co/cdn/shop/files/te_wananga.svg?v=1742337645&width=1280 1280w, //printroom.co/cdn/shop/files/te_wananga.svg?v=1742337645&width=1440 1440w, //printroom.co/cdn/shop/files/te_wananga.svg?v=1742337645&width=1536 1536w, //printroom.co/cdn/shop/files/te_wananga.svg?v=1742337645&width=1706 1706w, //printroom.co/cdn/shop/files/te_wananga.svg?v=1742337645&width=1782 1782w, //printroom.co/cdn/shop/files/te_wananga.svg?v=1742337645&width=1920 1920w, //printroom.co/cdn/shop/files/te_wananga.svg?v=1742337645&width=2560 2560w, //printroom.co/cdn/shop/files/te_wananga.svg?v=1742337645&width=2880 2880w, //printroom.co/cdn/shop/files/te_wananga.svg?v=1742337645&width=3000 3000w" width="3000" height="3236" loading="lazy" class="peer/image block absolute inset-0 w-full h-full object-contain" sizes="120px"> 6233 6234</image-with-placeholder> 6235 6236 </div> 6237 6238</div> 6239 6240</div> 6241 </scrolling-items-content> 6242 <noscript> 6243
6244 <span 6245 class="motion-reduce:hidden grow-0 shrink-0 " 6246 aria-hidden="true" 6247 > 6248 6249 6250 6251 <div 6252 class="relative block max-w-[--logo-width] w-[--logo-width] mx-5 lg:mt-0" 6253 > 6254 <div class="relative" style="padding-top: 100%;"> 6255 <image-with-placeholder> 6256 <img src="//printroom.co/cdn/shop/files/otago_uni.svg?v=1742352406&width=3000" alt="otago university t-shirt-printing-NZ" srcset="//printroom.co/cdn/shop/files/otago_uni.svg?v=1742352406&width=200 200w, //printroom.co/cdn/shop/files/otago_uni.svg?v=1742352406&width=350 350w, //printroom.co/cdn/shop/files/otago_uni.svg?v=1742352406&width=450 450w, //printroom.co/cdn/shop/files/otago_uni.svg?v=1742352406&width=750 750w, //printroom.co/cdn/shop/files/otago_uni.svg?v=1742352406&width=850 850w, //printroom.co/cdn/shop/files/otago_uni.svg?v=1742352406&width=960 960w, //printroom.co/cdn/shop/files/otago_uni.svg?v=1742352406&width=1280 1280w, //printroom.co/cdn/shop/files/otago_uni.svg?v=1742352406&width=1440 1440w, //printroom.co/cdn/shop/files/otago_uni.svg?v=1742352406&width=1536 1536w, //printroom.co/cdn/shop/files/otago_uni.svg?v=1742352406&width=1706 1706w, //printroom.co/cdn/shop/files/otago_uni.svg?v=1742352406&width=1782 1782w, //printroom.co/cdn/shop/files/otago_uni.svg?v=1742352406&width=1920 1920w, //printroom.co/cdn/shop/files/otago_uni.svg?v=1742352406&width=2560 2560w, //printroom.co/cdn/shop/files/otago_uni.svg?v=1742352406&width=2880 2880w, //printroom.co/cdn/shop/files/otago_uni.svg?v=1742352406&width=3000 3000w" width="3000" height="4641" loading="lazy" class="peer/image block absolute inset-0 w-full h-full object-contain" sizes="120px"> 6257 6258</image-with-placeholder> 6259 6260 </div> 6261 6262</div> 6263 6264 6265 6266 6267 <div 6268 class="relative block max-w-[--logo-width] w-[--logo-width] mx-5 lg:mt-0" 6269 > 6270 <div class="relative" style="padding-top: 100%;"> 6271 <image-with-placeholder> 6272 <img src="//printroom.co/cdn/shop/files/garage_project.svg?v=1742337697&width=3000" alt="" srcset="//printroom.co/cdn/shop/files/garage_project.svg?v=1742337697&width=200 200w, //printroom.co/cdn/shop/files/garage_project.svg?v=1742337697&width=350 350w, //printroom.co/cdn/shop/files/garage_project.svg?v=1742337697&width=450 450w, //printroom.co/cdn/shop/files/garage_project.svg?v=1742337697&width=750 750w, //printroom.co/cdn/shop/files/garage_project.svg?v=1742337697&width=850 850w, //printroom.co/cdn/shop/files/garage_project.svg?v=1742337697&width=960 960w, //printroom.co/cdn/shop/files/garage_project.svg?v=1742337697&width=1280 1280w, //printroom.co/cdn/shop/files/garage_project.svg?v=1742337697&width=1440 1440w, //printroom.co/cdn/shop/files/garage_project.svg?v=1742337697&width=1536 1536w, //printroom.co/cdn/shop/files/garage_project.svg?v=1742337697&width=1706 1706w, //printroom.co/cdn/shop/files/garage_project.svg?v=1742337697&width=1782 1782w, //printroom.co/cdn/shop/files/garage_project.svg?v=1742337697&width=1920 1920w, //printroom.co/cdn/shop/files/garage_project.svg?v=1742337697&width=2560 2560w, //printroom.co/cdn/shop/files/garage_project.svg?v=1742337697&width=2880 2880w, //printroom.co/cdn/shop/files/garage_project.svg?v=1742337697&width=3000 3000w" width="3000" height="1974" loading="lazy" class="peer/image block absolute inset-0 w-full h-full object-contain" sizes="120px"> 6273 6274</image-with-placeholder> 6275 6276 </div> 6277 6278</div> 6279 6280 6281 6282 6283 <div 6284 class="relative block max-w-[--logo-width] w-[--logo-width] mx-5 lg:mt-0" 6285 > 6286 <div class="relative" style="padding-top: 100%;"> 6287 <image-with-placeholder> 6288 <img src="//printroom.co/cdn/shop/files/lesmills.svg?v=1742337446&width=3000" alt="les-mills-t-shirt-printing-NZ" srcset="//printroom.co/cdn/shop/files/lesmills.svg?v=1742337446&width=200 200w, //printroom.co/cdn/shop/files/lesmills.svg?v=1742337446&width=350 350w, //printroom.co/cdn/shop/files/lesmills.svg?v=1742337446&width=450 450w, //printroom.co/cdn/shop/files/lesmills.svg?v=1742337446&width=750 750w, //printroom.co/cdn/shop/files/lesmills.svg?v=1742337446&width=850 850w, //printroom.co/cdn/shop/files/lesmills.svg?v=1742337446&width=960 960w, //printroom.co/cdn/shop/files/lesmills.svg?v=1742337446&width=1280 1280w, //printroom.co/cdn/shop/files/lesmills.svg?v=1742337446&width=1440 1440w, //printroom.co/cdn/shop/files/lesmills.svg?v=1742337446&width=1536 1536w, //printroom.co/cdn/shop/files/lesmills.svg?v=1742337446&width=1706 1706w, //printroom.co/cdn/shop/files/lesmills.svg?v=1742337446&width=1782 1782w, //printroom.co/cdn/shop/files/lesmills.svg?v=1742337446&width=1920 1920w, //printroom.co/cdn/shop/files/lesmills.svg?v=1742337446&width=2560 2560w, //printroom.co/cdn/shop/files/lesmills.svg?v=1742337446&width=2880 2880w, //printroom.co/cdn/shop/files/lesmills.svg?v=1742337446&width=3000 3000w" width="3000" height="403" loading="lazy" class="peer/image block absolute inset-0 w-full h-full object-contain" sizes="120px"> 6289 6290</image-with-placeholder> 6291 6292 </div> 6293 6294</div> 6295 6296 6297 6298 6299 <div 6300 class="relative block max-w-[--logo-width] w-[--logo-width] mx-5 lg:mt-0" 6301 > 6302 <div class="relative" style="padding-top: 100%;"> 6303 <image-with-placeholder> 6304 <img src="//printroom.co/cdn/shop/files/real_nz.svg?v=1742337578&width=3000" alt="real-nz-t-shirt-printing" srcset="//printroom.co/cdn/shop/files/real_nz.svg?v=1742337578&width=200 200w, //printroom.co/cdn/shop/files/real_nz.svg?v=1742337578&width=350 350w, //printroom.co/cdn/shop/files/real_nz.svg?v=1742337578&width=450 450w, //printroom.co/cdn/shop/files/real_nz.svg?v=1742337578&width=750 750w, //printroom.co/cdn/shop/files/real_nz.svg?v=1742337578&width=850 850w, //printroom.co/cdn/shop/files/real_nz.svg?v=1742337578&width=960 960w, //printroom.co/cdn/shop/files/real_nz.svg?v=1742337578&width=1280 1280w, //printroom.co/cdn/shop/files/real_nz.svg?v=1742337578&width=1440 1440w, //printroom.co/cdn/shop/files/real_nz.svg?v=1742337578&width=1536 1536w, //printroom.co/cdn/shop/files/real_nz.svg?v=1742337578&width=1706 1706w, //printroom.co/cdn/shop/files/real_nz.svg?v=1742337578&width=1782 1782w, //printroom.co/cdn/shop/files/real_nz.svg?v=1742337578&width=1920 1920w, //printroom.co/cdn/shop/files/real_nz.svg?v=1742337578&width=2560 2560w, //printroom.co/cdn/shop/files/real_nz.svg?v=1742337578&width=2880 2880w, //printroom.co/cdn/shop/files/real_nz.svg?v=1742337578&width=3000 3000w" width="3000" height="3000" loading="lazy" class="peer/image block absolute inset-0 w-full h-full object-contain" sizes="120px"> 6305 6306</image-with-placeholder> 6307 6308 </div> 6309 6310</div> 6311 6312 6313 6314 6315 <div 6316 class="relative block max-w-[--logo-width] w-[--logo-width] mx-5 lg:mt-0" 6317 > 6318 <div class="relative" style="padding-top: 100%;"> 6319 <image-with-placeholder> 6320 <img src="//printroom.co/cdn/shop/files/sharsies.svg?v=1742352390&width=3000" alt="sharsies-custom-t-shirt-printing" srcset="//printroom.co/cdn/shop/files/sharsies.svg?v=1742352390&width=200 200w, //printroom.co/cdn/shop/files/sharsies.svg?v=1742352390&width=350 350w, //printroom.co/cdn/shop/files/sharsies.svg?v=1742352390&width=450 450w, //printroom.co/cdn/shop/files/sharsies.svg?v=1742352390&width=750 750w, //printroom.co/cdn/shop/files/sharsies.svg?v=1742352390&width=850 850w, //printroom.co/cdn/shop/files/sharsies.svg?v=1742352390&width=960 960w, //printroom.co/cdn/shop/files/sharsies.svg?v=1742352390&width=1280 1280w, //printroom.co/cdn/shop/files/sharsies.svg?v=1742352390&width=1440 1440w, //printroom.co/cdn/shop/files/sharsies.svg?v=1742352390&width=1536 1536w, //printroom.co/cdn/shop/files/sharsies.svg?v=1742352390&width=1706 1706w, //printroom.co/cdn/shop/files/sharsies.svg?v=1742352390&width=1782 1782w, //printroom.co/cdn/shop/files/sharsies.svg?v=1742352390&width=1920 1920w, //printroom.co/cdn/shop/files/sharsies.svg?v=1742352390&width=2560 2560w, //printroom.co/cdn/shop/files/sharsies.svg?v=1742352390&width=2880 2880w, //printroom.co/cdn/shop/files/sharsies.svg?v=1742352390&width=3000 3000w" width="3000" height="826" loading="lazy" class="peer/image block absolute inset-0 w-full h-full object-contain" sizes="120px"> 6321 6322</image-with-placeholder> 6323 6324 </div> 6325 6326</div> 6327 6328 6329 6330 6331 <div 6332 class="relative block max-w-[--logo-width] w-[--logo-width] mx-5 lg:mt-0" 6333 > 6334 <div class="relative" style="padding-top: 100%;"> 6335 <image-with-placeholder> 6336 <img src="//printroom.co/cdn/shop/files/te_wananga.svg?v=1742337645&width=3000" alt="te-wananga-t-shirt-printing" srcset="//printroom.co/cdn/shop/files/te_wananga.svg?v=1742337645&width=200 200w, //printroom.co/cdn/shop/files/te_wananga.svg?v=1742337645&width=350 350w, //printroom.co/cdn/shop/files/te_wananga.svg?v=1742337645&width=450 450w, //printroom.co/cdn/shop/files/te_wananga.svg?v=1742337645&width=750 750w, //printroom.co/cdn/shop/files/te_wananga.svg?v=1742337645&width=850 850w, //printroom.co/cdn/shop/files/te_wananga.svg?v=1742337645&width=960 960w, //printroom.co/cdn/shop/files/te_wananga.svg?v=1742337645&width=1280 1280w, //printroom.co/cdn/shop/files/te_wananga.svg?v=1742337645&width=1440 1440w, //printroom.co/cdn/shop/files/te_wananga.svg?v=1742337645&width=1536 1536w, //printroom.co/cdn/shop/files/te_wananga.svg?v=1742337645&width=1706 1706w, //printroom.co/cdn/shop/files/te_wananga.svg?v=1742337645&width=1782 1782w, //printroom.co/cdn/shop/files/te_wananga.svg?v=1742337645&width=1920 1920w, //printroom.co/cdn/shop/files/te_wananga.svg?v=1742337645&width=2560 2560w, //printroom.co/cdn/shop/files/te_wananga.svg?v=1742337645&width=2880 2880w, //printroom.co/cdn/shop/files/te_wananga.svg?v=1742337645&width=3000 3000w" width="3000" height="3236" loading="lazy" class="peer/image block absolute inset-0 w-full h-full object-contain" sizes="120px"> 6337 6338</image-with-placeholder> 6339 6340 </div> 6341 6342</div> 6343 6344</span> 6345
6346 <span 6347 class="motion-reduce:hidden grow-0 shrink-0 " 6348 aria-hidden="true" 6349 > 6350 6351 6352 6353 <div 6354 class="relative block max-w-[--logo-width] w-[--logo-width] mx-5 lg:mt-0" 6355 > 6356 <div class="relative" style="padding-top: 100%;"> 6357 <image-with-placeholder> 6358 <img src="//printroom.co/cdn/shop/files/otago_uni.svg?v=1742352406&width=3000" alt="otago university t-shirt-printing-NZ" srcset="//printroom.co/cdn/shop/files/otago_uni.svg?v=1742352406&width=200 200w, //printroom.co/cdn/shop/files/otago_uni.svg?v=1742352406&width=350 350w, //printroom.co/cdn/shop/files/otago_uni.svg?v=1742352406&width=450 450w, //printroom.co/cdn/shop/files/otago_uni.svg?v=1742352406&width=750 750w, //printroom.co/cdn/shop/files/otago_uni.svg?v=1742352406&width=850 850w, //printroom.co/cdn/shop/files/otago_uni.svg?v=1742352406&width=960 960w, //printroom.co/cdn/shop/files/otago_uni.svg?v=1742352406&width=1280 1280w, //printroom.co/cdn/shop/files/otago_uni.svg?v=1742352406&width=1440 1440w, //printroom.co/cdn/shop/files/otago_uni.svg?v=1742352406&width=1536 1536w, //printroom.co/cdn/shop/files/otago_uni.svg?v=1742352406&width=1706 1706w, //printroom.co/cdn/shop/files/otago_uni.svg?v=1742352406&width=1782 1782w, //printroom.co/cdn/shop/files/otago_uni.svg?v=1742352406&width=1920 1920w, //printroom.co/cdn/shop/files/otago_uni.svg?v=1742352406&width=2560 2560w, //printroom.co/cdn/shop/files/otago_uni.svg?v=1742352406&width=2880 2880w, //printroom.co/cdn/shop/files/otago_uni.svg?v=1742352406&width=3000 3000w" width="3000" height="4641" loading="lazy" class="peer/image block absolute inset-0 w-full h-full object-contain" sizes="120px"> 6359 6360</image-with-placeholder> 6361 6362 </div> 6363 6364</div> 6365 6366 6367 6368 6369 <div 6370 class="relative block max-w-[--logo-width] w-[--logo-width] mx-5 lg:mt-0" 6371 > 6372 <div class="relative" style="padding-top: 100%;"> 6373 <image-with-placeholder> 6374 <img src="//printroom.co/cdn/shop/files/garage_project.svg?v=1742337697&width=3000" alt="" srcset="//printroom.co/cdn/shop/files/garage_project.svg?v=1742337697&width=200 200w, //printroom.co/cdn/shop/files/garage_project.svg?v=1742337697&width=350 350w, //printroom.co/cdn/shop/files/garage_project.svg?v=1742337697&width=450 450w, //printroom.co/cdn/shop/files/garage_project.svg?v=1742337697&width=750 750w, //printroom.co/cdn/shop/files/garage_project.svg?v=1742337697&width=850 850w, //printroom.co/cdn/shop/files/garage_project.svg?v=1742337697&width=960 960w, //printroom.co/cdn/shop/files/garage_project.svg?v=1742337697&width=1280 1280w, //printroom.co/cdn/shop/files/garage_project.svg?v=1742337697&width=1440 1440w, //printroom.co/cdn/shop/files/garage_project.svg?v=1742337697&width=1536 1536w, //printroom.co/cdn/shop/files/garage_project.svg?v=1742337697&width=1706 1706w, //printroom.co/cdn/shop/files/garage_project.svg?v=1742337697&width=1782 1782w, //printroom.co/cdn/shop/files/garage_project.svg?v=1742337697&width=1920 1920w, //printroom.co/cdn/shop/files/garage_project.svg?v=1742337697&width=2560 2560w, //printroom.co/cdn/shop/files/garage_project.svg?v=1742337697&width=2880 2880w, //printroom.co/cdn/shop/files/garage_project.svg?v=1742337697&width=3000 3000w" width="3000" height="1974" loading="lazy" class="peer/image block absolute inset-0 w-full h-full object-contain" sizes="120px"> 6375 6376</image-with-placeholder> 6377 6378 </div> 6379 6380</div> 6381 6382 6383 6384 6385 <div 6386 class="relative block max-w-[--logo-width] w-[--logo-width] mx-5 lg:mt-0" 6387 > 6388 <div class="relative" style="padding-top: 100%;"> 6389 <image-with-placeholder> 6390 <img src="//printroom.co/cdn/shop/files/lesmills.svg?v=1742337446&width=3000" alt="les-mills-t-shirt-printing-NZ" srcset="//printroom.co/cdn/shop/files/lesmills.svg?v=1742337446&width=200 200w, //printroom.co/cdn/shop/files/lesmills.svg?v=1742337446&width=350 350w, //printroom.co/cdn/shop/files/lesmills.svg?v=1742337446&width=450 450w, //printroom.co/cdn/shop/files/lesmills.svg?v=1742337446&width=750 750w, //printroom.co/cdn/shop/files/lesmills.svg?v=1742337446&width=850 850w, //printroom.co/cdn/shop/files/lesmills.svg?v=1742337446&width=960 960w, //printroom.co/cdn/shop/files/lesmills.svg?v=1742337446&width=1280 1280w, //printroom.co/cdn/shop/files/lesmills.svg?v=1742337446&width=1440 1440w, //printroom.co/cdn/shop/files/lesmills.svg?v=1742337446&width=1536 1536w, //printroom.co/cdn/shop/files/lesmills.svg?v=1742337446&width=1706 1706w, //printroom.co/cdn/shop/files/lesmills.svg?v=1742337446&width=1782 1782w, //printroom.co/cdn/shop/files/lesmills.svg?v=1742337446&width=1920 1920w, //printroom.co/cdn/shop/files/lesmills.svg?v=1742337446&width=2560 2560w, //printroom.co/cdn/shop/files/lesmills.svg?v=1742337446&width=2880 2880w, //printroom.co/cdn/shop/files/lesmills.svg?v=1742337446&width=3000 3000w" width="3000" height="403" loading="lazy" class="peer/image block absolute inset-0 w-full h-full object-contain" sizes="120px"> 6391 6392</image-with-placeholder> 6393 6394 </div> 6395 6396</div> 6397 6398 6399 6400 6401 <div 6402 class="relative block max-w-[--logo-width] w-[--logo-width] mx-5 lg:mt-0" 6403 > 6404 <div class="relative" style="padding-top: 100%;"> 6405 <image-with-placeholder> 6406 <img src="//printroom.co/cdn/shop/files/real_nz.svg?v=1742337578&width=3000" alt="real-nz-t-shirt-printing" srcset="//printroom.co/cdn/shop/files/real_nz.svg?v=1742337578&width=200 200w, //printroom.co/cdn/shop/files/real_nz.svg?v=1742337578&width=350 350w, //printroom.co/cdn/shop/files/real_nz.svg?v=1742337578&width=450 450w, //printroom.co/cdn/shop/files/real_nz.svg?v=1742337578&width=750 750w, //printroom.co/cdn/shop/files/real_nz.svg?v=1742337578&width=850 850w, //printroom.co/cdn/shop/files/real_nz.svg?v=1742337578&width=960 960w, //printroom.co/cdn/shop/files/real_nz.svg?v=1742337578&width=1280 1280w, //printroom.co/cdn/shop/files/real_nz.svg?v=1742337578&width=1440 1440w, //printroom.co/cdn/shop/files/real_nz.svg?v=1742337578&width=1536 1536w, //printroom.co/cdn/shop/files/real_nz.svg?v=1742337578&width=1706 1706w, //printroom.co/cdn/shop/files/real_nz.svg?v=1742337578&width=1782 1782w, //printroom.co/cdn/shop/files/real_nz.svg?v=1742337578&width=1920 1920w, //printroom.co/cdn/shop/files/real_nz.svg?v=1742337578&width=2560 2560w, //printroom.co/cdn/shop/files/real_nz.svg?v=1742337578&width=2880 2880w, //printroom.co/cdn/shop/files/real_nz.svg?v=1742337578&width=3000 3000w" width="3000" height="3000" loading="lazy" class="peer/image block absolute inset-0 w-full h-full object-contain" sizes="120px"> 6407 6408</image-with-placeholder> 6409 6410 </div> 6411 6412</div> 6413 6414 6415 6416 6417 <div 6418 class="relative block max-w-[--logo-width] w-[--logo-width] mx-5 lg:mt-0" 6419 > 6420 <div class="relative" style="padding-top: 100%;"> 6421 <image-with-placeholder> 6422 <img src="//printroom.co/cdn/shop/files/sharsies.svg?v=1742352390&width=3000" alt="sharsies-custom-t-shirt-printing" srcset="//printroom.co/cdn/shop/files/sharsies.svg?v=1742352390&width=200 200w, //printroom.co/cdn/shop/files/sharsies.svg?v=1742352390&width=350 350w, //printroom.co/cdn/shop/files/sharsies.svg?v=1742352390&width=450 450w, //printroom.co/cdn/shop/files/sharsies.svg?v=1742352390&width=750 750w, //printroom.co/cdn/shop/files/sharsies.svg?v=1742352390&width=850 850w, //printroom.co/cdn/shop/files/sharsies.svg?v=1742352390&width=960 960w, //printroom.co/cdn/shop/files/sharsies.svg?v=1742352390&width=1280 1280w, //printroom.co/cdn/shop/files/sharsies.svg?v=1742352390&width=1440 1440w, //printroom.co/cdn/shop/files/sharsies.svg?v=1742352390&width=1536 1536w, //printroom.co/cdn/shop/files/sharsies.svg?v=1742352390&width=1706 1706w, //printroom.co/cdn/shop/files/sharsies.svg?v=1742352390&width=1782 1782w, //printroom.co/cdn/shop/files/sharsies.svg?v=1742352390&width=1920 1920w, //printroom.co/cdn/shop/files/sharsies.svg?v=1742352390&width=2560 2560w, //printroom.co/cdn/shop/files/sharsies.svg?v=1742352390&width=2880 2880w, //printroom.co/cdn/shop/files/sharsies.svg?v=1742352390&width=3000 3000w" width="3000" height="826" loading="lazy" class="peer/image block absolute inset-0 w-full h-full object-contain" sizes="120px"> 6423 6424</image-with-placeholder> 6425 6426 </div> 6427 6428</div> 6429 6430 6431 6432 6433 <div 6434 class="relative block max-w-[--logo-width] w-[--logo-width] mx-5 lg:mt-0" 6435 > 6436 <div class="relative" style="padding-top: 100%;"> 6437 <image-with-placeholder> 6438 <img src="//printroom.co/cdn/shop/files/te_wananga.svg?v=1742337645&width=3000" alt="te-wananga-t-shirt-printing" srcset="//printroom.co/cdn/shop/files/te_wananga.svg?v=1742337645&width=200 200w, //printroom.co/cdn/shop/files/te_wananga.svg?v=1742337645&width=350 350w, //printroom.co/cdn/shop/files/te_wananga.svg?v=1742337645&width=450 450w, //printroom.co/cdn/shop/files/te_wananga.svg?v=1742337645&width=750 750w, //printroom.co/cdn/shop/files/te_wananga.svg?v=1742337645&width=850 850w, //printroom.co/cdn/shop/files/te_wananga.svg?v=1742337645&width=960 960w, //printroom.co/cdn/shop/files/te_wananga.svg?v=1742337645&width=1280 1280w, //printroom.co/cdn/shop/files/te_wananga.svg?v=1742337645&width=1440 1440w, //printroom.co/cdn/shop/files/te_wananga.svg?v=1742337645&width=1536 1536w, //printroom.co/cdn/shop/files/te_wananga.svg?v=1742337645&width=1706 1706w, //printroom.co/cdn/shop/files/te_wananga.svg?v=1742337645&width=1782 1782w, //printroom.co/cdn/shop/files/te_wananga.svg?v=1742337645&width=1920 1920w, //printroom.co/cdn/shop/files/te_wananga.svg?v=1742337645&width=2560 2560w, //printroom.co/cdn/shop/files/te_wananga.svg?v=1742337645&width=2880 2880w, //printroom.co/cdn/shop/files/te_wananga.svg?v=1742337645&width=3000 3000w" width="3000" height="3236" loading="lazy" class="peer/image block absolute inset-0 w-full h-full object-contain" sizes="120px"> 6439 6440</image-with-placeholder> 6441 6442 </div> 6443 6444</div> 6445 6446</span> 6447
6448 <span 6449 class="motion-reduce:hidden grow-0 shrink-0 " 6450 aria-hidden="true" 6451 > 6452 6453 6454 6455 <div 6456 class="relative block max-w-[--logo-width] w-[--logo-width] mx-5 lg:mt-0" 6457 > 6458 <div class="relative" style="padding-top: 100%;"> 6459 <image-with-placeholder> 6460 <img src="//printroom.co/cdn/shop/files/otago_uni.svg?v=1742352406&width=3000" alt="otago university t-shirt-printing-NZ" srcset="//printroom.co/cdn/shop/files/otago_uni.svg?v=1742352406&width=200 200w, //printroom.co/cdn/shop/files/otago_uni.svg?v=1742352406&width=350 350w, //printroom.co/cdn/shop/files/otago_uni.svg?v=1742352406&width=450 450w, //printroom.co/cdn/shop/files/otago_uni.svg?v=1742352406&width=750 750w, //printroom.co/cdn/shop/files/otago_uni.svg?v=1742352406&width=850 850w, //printroom.co/cdn/shop/files/otago_uni.svg?v=1742352406&width=960 960w, //printroom.co/cdn/shop/files/otago_uni.svg?v=1742352406&width=1280 1280w, //printroom.co/cdn/shop/files/otago_uni.svg?v=1742352406&width=1440 1440w, //printroom.co/cdn/shop/files/otago_uni.svg?v=1742352406&width=1536 1536w, //printroom.co/cdn/shop/files/otago_uni.svg?v=1742352406&width=1706 1706w, //printroom.co/cdn/shop/files/otago_uni.svg?v=1742352406&width=1782 1782w, //printroom.co/cdn/shop/files/otago_uni.svg?v=1742352406&width=1920 1920w, //printroom.co/cdn/shop/files/otago_uni.svg?v=1742352406&width=2560 2560w, //printroom.co/cdn/shop/files/otago_uni.svg?v=1742352406&width=2880 2880w, //printroom.co/cdn/shop/files/otago_uni.svg?v=1742352406&width=3000 3000w" width="3000" height="4641" loading="lazy" class="peer/image block absolute inset-0 w-full h-full object-contain" sizes="120px"> 6461 6462</image-with-placeholder> 6463 6464 </div> 6465 6466</div> 6467 6468 6469 6470 6471 <div 6472 class="relative block max-w-[--logo-width] w-[--logo-width] mx-5 lg:mt-0" 6473 > 6474 <div class="relative" style="padding-top: 100%;"> 6475 <image-with-placeholder> 6476 <img src="//printroom.co/cdn/shop/files/garage_project.svg?v=1742337697&width=3000" alt="" srcset="//printroom.co/cdn/shop/files/garage_project.svg?v=1742337697&width=200 200w, //printroom.co/cdn/shop/files/garage_project.svg?v=1742337697&width=350 350w, //printroom.co/cdn/shop/files/garage_project.svg?v=1742337697&width=450 450w, //printroom.co/cdn/shop/files/garage_project.svg?v=1742337697&width=750 750w, //printroom.co/cdn/shop/files/garage_project.svg?v=1742337697&width=850 850w, //printroom.co/cdn/shop/files/garage_project.svg?v=1742337697&width=960 960w, //printroom.co/cdn/shop/files/garage_project.svg?v=1742337697&width=1280 1280w, //printroom.co/cdn/shop/files/garage_project.svg?v=1742337697&width=1440 1440w, //printroom.co/cdn/shop/files/garage_project.svg?v=1742337697&width=1536 1536w, //printroom.co/cdn/shop/files/garage_project.svg?v=1742337697&width=1706 1706w, //printroom.co/cdn/shop/files/garage_project.svg?v=1742337697&width=1782 1782w, //printroom.co/cdn/shop/files/garage_project.svg?v=1742337697&width=1920 1920w, //printroom.co/cdn/shop/files/garage_project.svg?v=1742337697&width=2560 2560w, //printroom.co/cdn/shop/files/garage_project.svg?v=1742337697&width=2880 2880w, //printroom.co/cdn/shop/files/garage_project.svg?v=1742337697&width=3000 3000w" width="3000" height="1974" loading="lazy" class="peer/image block absolute inset-0 w-full h-full object-contain" sizes="120px"> 6477 6478</image-with-placeholder> 6479 6480 </div> 6481 6482</div> 6483 6484 6485 6486 6487 <div 6488 class="relative block max-w-[--logo-width] w-[--logo-width] mx-5 lg:mt-0" 6489 > 6490 <div class="relative" style="padding-top: 100%;"> 6491 <image-with-placeholder> 6492 <img src="//printroom.co/cdn/shop/files/lesmills.svg?v=1742337446&width=3000" alt="les-mills-t-shirt-printing-NZ" srcset="//printroom.co/cdn/shop/files/lesmills.svg?v=1742337446&width=200 200w, //printroom.co/cdn/shop/files/lesmills.svg?v=1742337446&width=350 350w, //printroom.co/cdn/shop/files/lesmills.svg?v=1742337446&width=450 450w, //printroom.co/cdn/shop/files/lesmills.svg?v=1742337446&width=750 750w, //printroom.co/cdn/shop/files/lesmills.svg?v=1742337446&width=850 850w, //printroom.co/cdn/shop/files/lesmills.svg?v=1742337446&width=960 960w, //printroom.co/cdn/shop/files/lesmills.svg?v=1742337446&width=1280 1280w, //printroom.co/cdn/shop/files/lesmills.svg?v=1742337446&width=1440 1440w, //printroom.co/cdn/shop/files/lesmills.svg?v=1742337446&width=1536 1536w, //printroom.co/cdn/shop/files/lesmills.svg?v=1742337446&width=1706 1706w, //printroom.co/cdn/shop/files/lesmills.svg?v=1742337446&width=1782 1782w, //printroom.co/cdn/shop/files/lesmills.svg?v=1742337446&width=1920 1920w, //printroom.co/cdn/shop/files/lesmills.svg?v=1742337446&width=2560 2560w, //printroom.co/cdn/shop/files/lesmills.svg?v=1742337446&width=2880 2880w, //printroom.co/cdn/shop/files/lesmills.svg?v=1742337446&width=3000 3000w" width="3000" height="403" loading="lazy" class="peer/image block absolute inset-0 w-full h-full object-contain" sizes="120px"> 6493 6494</image-with-placeholder> 6495 6496 </div> 6497 6498</div> 6499 6500 6501 6502 6503 <div 6504 class="relative block max-w-[--logo-width] w-[--logo-width] mx-5 lg:mt-0" 6505 > 6506 <div class="relative" style="padding-top: 100%;"> 6507 <image-with-placeholder> 6508 <img src="//printroom.co/cdn/shop/files/real_nz.svg?v=1742337578&width=3000" alt="real-nz-t-shirt-printing" srcset="//printroom.co/cdn/shop/files/real_nz.svg?v=1742337578&width=200 200w, //printroom.co/cdn/shop/files/real_nz.svg?v=1742337578&width=350 350w, //printroom.co/cdn/shop/files/real_nz.svg?v=1742337578&width=450 450w, //printroom.co/cdn/shop/files/real_nz.svg?v=1742337578&width=750 750w, //printroom.co/cdn/shop/files/real_nz.svg?v=1742337578&width=850 850w, //printroom.co/cdn/shop/files/real_nz.svg?v=1742337578&width=960 960w, //printroom.co/cdn/shop/files/real_nz.svg?v=1742337578&width=1280 1280w, //printroom.co/cdn/shop/files/real_nz.svg?v=1742337578&width=1440 1440w, //printroom.co/cdn/shop/files/real_nz.svg?v=1742337578&width=1536 1536w, //printroom.co/cdn/shop/files/real_nz.svg?v=1742337578&width=1706 1706w, //printroom.co/cdn/shop/files/real_nz.svg?v=1742337578&width=1782 1782w, //printroom.co/cdn/shop/files/real_nz.svg?v=1742337578&width=1920 1920w, //printroom.co/cdn/shop/files/real_nz.svg?v=1742337578&width=2560 2560w, //printroom.co/cdn/shop/files/real_nz.svg?v=1742337578&width=2880 2880w, //printroom.co/cdn/shop/files/real_nz.svg?v=1742337578&width=3000 3000w" width="3000" height="3000" loading="lazy" class="peer/image block absolute inset-0 w-full h-full object-contain" sizes="120px"> 6509 6510</image-with-placeholder> 6511 6512 </div> 6513 6514</div> 6515 6516 6517 6518 6519 <div 6520 class="relative block max-w-[--logo-width] w-[--logo-width] mx-5 lg:mt-0" 6521 > 6522 <div class="relative" style="padding-top: 100%;"> 6523 <image-with-placeholder> 6524 <img src="//printroom.co/cdn/shop/files/sharsies.svg?v=1742352390&width=3000" alt="sharsies-custom-t-shirt-printing" srcset="//printroom.co/cdn/shop/files/sharsies.svg?v=1742352390&width=200 200w, //printroom.co/cdn/shop/files/sharsies.svg?v=1742352390&width=350 350w, //printroom.co/cdn/shop/files/sharsies.svg?v=1742352390&width=450 450w, //printroom.co/cdn/shop/files/sharsies.svg?v=1742352390&width=750 750w, //printroom.co/cdn/shop/files/sharsies.svg?v=1742352390&width=850 850w, //printroom.co/cdn/shop/files/sharsies.svg?v=1742352390&width=960 960w, //printroom.co/cdn/shop/files/sharsies.svg?v=1742352390&width=1280 1280w, //printroom.co/cdn/shop/files/sharsies.svg?v=1742352390&width=1440 1440w, //printroom.co/cdn/shop/files/sharsies.svg?v=1742352390&width=1536 1536w, //printroom.co/cdn/shop/files/sharsies.svg?v=1742352390&width=1706 1706w, //printroom.co/cdn/shop/files/sharsies.svg?v=1742352390&width=1782 1782w, //printroom.co/cdn/shop/files/sharsies.svg?v=1742352390&width=1920 1920w, //printroom.co/cdn/shop/files/sharsies.svg?v=1742352390&width=2560 2560w, //printroom.co/cdn/shop/files/sharsies.svg?v=1742352390&width=2880 2880w, //printroom.co/cdn/shop/files/sharsies.svg?v=1742352390&width=3000 3000w" width="3000" height="826" loading="lazy" class="peer/image block absolute inset-0 w-full h-full object-contain" sizes="120px"> 6525 6526</image-with-placeholder> 6527 6528 </div> 6529 6530</div> 6531 6532 6533 6534 6535 <div 6536 class="relative block max-w-[--logo-width] w-[--logo-width] mx-5 lg:mt-0" 6537 > 6538 <div class="relative" style="padding-top: 100%;"> 6539 <image-with-placeholder> 6540 <img src="//printroom.co/cdn/shop/files/te_wananga.svg?v=1742337645&width=3000" alt="te-wananga-t-shirt-printing" srcset="//printroom.co/cdn/shop/files/te_wananga.svg?v=1742337645&width=200 200w, //printroom.co/cdn/shop/files/te_wananga.svg?v=1742337645&width=350 350w, //printroom.co/cdn/shop/files/te_wananga.svg?v=1742337645&width=450 450w, //printroom.co/cdn/shop/files/te_wananga.svg?v=1742337645&width=750 750w, //printroom.co/cdn/shop/files/te_wananga.svg?v=1742337645&width=850 850w, //printroom.co/cdn/shop/files/te_wananga.svg?v=1742337645&width=960 960w, //printroom.co/cdn/shop/files/te_wananga.svg?v=1742337645&width=1280 1280w, //printroom.co/cdn/shop/files/te_wananga.svg?v=1742337645&width=1440 1440w, //printroom.co/cdn/shop/files/te_wananga.svg?v=1742337645&width=1536 1536w, //printroom.co/cdn/shop/files/te_wananga.svg?v=1742337645&width=1706 1706w, //printroom.co/cdn/shop/files/te_wananga.svg?v=1742337645&width=1782 1782w, //printroom.co/cdn/shop/files/te_wananga.svg?v=1742337645&width=1920 1920w, //printroom.co/cdn/shop/files/te_wananga.svg?v=1742337645&width=2560 2560w, //printroom.co/cdn/shop/files/te_wananga.svg?v=1742337645&width=2880 2880w, //printroom.co/cdn/shop/files/te_wananga.svg?v=1742337645&width=3000 3000w" width="3000" height="3236" loading="lazy" class="peer/image block absolute inset-0 w-full h-full object-contain" sizes="120px"> 6541 6542</image-with-placeholder> 6543 6544 </div> 6545 6546</div> 6547 6548</span> 6549
6550 <span 6551 class="motion-reduce:hidden grow-0 shrink-0 " 6552 aria-hidden="true" 6553 > 6554 6555 6556 6557 <div 6558 class="relative block max-w-[--logo-width] w-[--logo-width] mx-5 lg:mt-0" 6559 > 6560 <div class="relative" style="padding-top: 100%;"> 6561 <image-with-placeholder> 6562 <img src="//printroom.co/cdn/shop/files/otago_uni.svg?v=1742352406&width=3000" alt="otago university t-shirt-printing-NZ" srcset="//printroom.co/cdn/shop/files/otago_uni.svg?v=1742352406&width=200 200w, //printroom.co/cdn/shop/files/otago_uni.svg?v=1742352406&width=350 350w, //printroom.co/cdn/shop/files/otago_uni.svg?v=1742352406&width=450 450w, //printroom.co/cdn/shop/files/otago_uni.svg?v=1742352406&width=750 750w, //printroom.co/cdn/shop/files/otago_uni.svg?v=1742352406&width=850 850w, //printroom.co/cdn/shop/files/otago_uni.svg?v=1742352406&width=960 960w, //printroom.co/cdn/shop/files/otago_uni.svg?v=1742352406&width=1280 1280w, //printroom.co/cdn/shop/files/otago_uni.svg?v=1742352406&width=1440 1440w, //printroom.co/cdn/shop/files/otago_uni.svg?v=1742352406&width=1536 1536w, //printroom.co/cdn/shop/files/otago_uni.svg?v=1742352406&width=1706 1706w, //printroom.co/cdn/shop/files/otago_uni.svg?v=1742352406&width=1782 1782w, //printroom.co/cdn/shop/files/otago_uni.svg?v=1742352406&width=1920 1920w, //printroom.co/cdn/shop/files/otago_uni.svg?v=1742352406&width=2560 2560w, //printroom.co/cdn/shop/files/otago_uni.svg?v=1742352406&width=2880 2880w, //printroom.co/cdn/shop/files/otago_uni.svg?v=1742352406&width=3000 3000w" width="3000" height="4641" loading="lazy" class="peer/image block absolute inset-0 w-full h-full object-contain" sizes="120px"> 6563 6564</image-with-placeholder> 6565 6566 </div> 6567 6568</div> 6569 6570 6571 6572 6573 <div 6574 class="relative block max-w-[--logo-width] w-[--logo-width] mx-5 lg:mt-0" 6575 > 6576 <div class="relative" style="padding-top: 100%;"> 6577 <image-with-placeholder> 6578 <img src="//printroom.co/cdn/shop/files/garage_project.svg?v=1742337697&width=3000" alt="" srcset="//printroom.co/cdn/shop/files/garage_project.svg?v=1742337697&width=200 200w, //printroom.co/cdn/shop/files/garage_project.svg?v=1742337697&width=350 350w, //printroom.co/cdn/shop/files/garage_project.svg?v=1742337697&width=450 450w, //printroom.co/cdn/shop/files/garage_project.svg?v=1742337697&width=750 750w, //printroom.co/cdn/shop/files/garage_project.svg?v=1742337697&width=850 850w, //printroom.co/cdn/shop/files/garage_project.svg?v=1742337697&width=960 960w, //printroom.co/cdn/shop/files/garage_project.svg?v=1742337697&width=1280 1280w, //printroom.co/cdn/shop/files/garage_project.svg?v=1742337697&width=1440 1440w, //printroom.co/cdn/shop/files/garage_project.svg?v=1742337697&width=1536 1536w, //printroom.co/cdn/shop/files/garage_project.svg?v=1742337697&width=1706 1706w, //printroom.co/cdn/shop/files/garage_project.svg?v=1742337697&width=1782 1782w, //printroom.co/cdn/shop/files/garage_project.svg?v=1742337697&width=1920 1920w, //printroom.co/cdn/shop/files/garage_project.svg?v=1742337697&width=2560 2560w, //printroom.co/cdn/shop/files/garage_project.svg?v=1742337697&width=2880 2880w, //printroom.co/cdn/shop/files/garage_project.svg?v=1742337697&width=3000 3000w" width="3000" height="1974" loading="lazy" class="peer/image block absolute inset-0 w-full h-full object-contain" sizes="120px"> 6579 6580</image-with-placeholder> 6581 6582 </div> 6583 6584</div> 6585 6586 6587 6588 6589 <div 6590 class="relative block max-w-[--logo-width] w-[--logo-width] mx-5 lg:mt-0" 6591 > 6592 <div class="relative" style="padding-top: 100%;"> 6593 <image-with-placeholder> 6594 <img src="//printroom.co/cdn/shop/files/lesmills.svg?v=1742337446&width=3000" alt="les-mills-t-shirt-printing-NZ" srcset="//printroom.co/cdn/shop/files/lesmills.svg?v=1742337446&width=200 200w, //printroom.co/cdn/shop/files/lesmills.svg?v=1742337446&width=350 350w, //printroom.co/cdn/shop/files/lesmills.svg?v=1742337446&width=450 450w, //printroom.co/cdn/shop/files/lesmills.svg?v=1742337446&width=750 750w, //printroom.co/cdn/shop/files/lesmills.svg?v=1742337446&width=850 850w, //printroom.co/cdn/shop/files/lesmills.svg?v=1742337446&width=960 960w, //printroom.co/cdn/shop/files/lesmills.svg?v=1742337446&width=1280 1280w, //printroom.co/cdn/shop/files/lesmills.svg?v=1742337446&width=1440 1440w, //printroom.co/cdn/shop/files/lesmills.svg?v=1742337446&width=1536 1536w, //printroom.co/cdn/shop/files/lesmills.svg?v=1742337446&width=1706 1706w, //printroom.co/cdn/shop/files/lesmills.svg?v=1742337446&width=1782 1782w, //printroom.co/cdn/shop/files/lesmills.svg?v=1742337446&width=1920 1920w, //printroom.co/cdn/shop/files/lesmills.svg?v=1742337446&width=2560 2560w, //printroom.co/cdn/shop/files/lesmills.svg?v=1742337446&width=2880 2880w, //printroom.co/cdn/shop/files/lesmills.svg?v=1742337446&width=3000 3000w" width="3000" height="403" loading="lazy" class="peer/image block absolute inset-0 w-full h-full object-contain" sizes="120px"> 6595 6596</image-with-placeholder> 6597 6598 </div> 6599 6600</div> 6601 6602 6603 6604 6605 <div 6606 class="relative block max-w-[--logo-width] w-[--logo-width] mx-5 lg:mt-0" 6607 > 6608 <div class="relative" style="padding-top: 100%;"> 6609 <image-with-placeholder> 6610 <img src="//printroom.co/cdn/shop/files/real_nz.svg?v=1742337578&width=3000" alt="real-nz-t-shirt-printing" srcset="//printroom.co/cdn/shop/files/real_nz.svg?v=1742337578&width=200 200w, //printroom.co/cdn/shop/files/real_nz.svg?v=1742337578&width=350 350w, //printroom.co/cdn/shop/files/real_nz.svg?v=1742337578&width=450 450w, //printroom.co/cdn/shop/files/real_nz.svg?v=1742337578&width=750 750w, //printroom.co/cdn/shop/files/real_nz.svg?v=1742337578&width=850 850w, //printroom.co/cdn/shop/files/real_nz.svg?v=1742337578&width=960 960w, //printroom.co/cdn/shop/files/real_nz.svg?v=1742337578&width=1280 1280w, //printroom.co/cdn/shop/files/real_nz.svg?v=1742337578&width=1440 1440w, //printroom.co/cdn/shop/files/real_nz.svg?v=1742337578&width=1536 1536w, //printroom.co/cdn/shop/files/real_nz.svg?v=1742337578&width=1706 1706w, //printroom.co/cdn/shop/files/real_nz.svg?v=1742337578&width=1782 1782w, //printroom.co/cdn/shop/files/real_nz.svg?v=1742337578&width=1920 1920w, //printroom.co/cdn/shop/files/real_nz.svg?v=1742337578&width=2560 2560w, //printroom.co/cdn/shop/files/real_nz.svg?v=1742337578&width=2880 2880w, //printroom.co/cdn/shop/files/real_nz.svg?v=1742337578&width=3000 3000w" width="3000" height="3000" loading="lazy" class="peer/image block absolute inset-0 w-full h-full object-contain" sizes="120px"> 6611 6612</image-with-placeholder> 6613 6614 </div> 6615 6616</div> 6617 6618 6619 6620 6621 <div 6622 class="relative block max-w-[--logo-width] w-[--logo-width] mx-5 lg:mt-0" 6623 > 6624 <div class="relative" style="padding-top: 100%;"> 6625 <image-with-placeholder> 6626 <img src="//printroom.co/cdn/shop/files/sharsies.svg?v=1742352390&width=3000" alt="sharsies-custom-t-shirt-printing" srcset="//printroom.co/cdn/shop/files/sharsies.svg?v=1742352390&width=200 200w, //printroom.co/cdn/shop/files/sharsies.svg?v=1742352390&width=350 350w, //printroom.co/cdn/shop/files/sharsies.svg?v=1742352390&width=450 450w, //printroom.co/cdn/shop/files/sharsies.svg?v=1742352390&width=750 750w, //printroom.co/cdn/shop/files/sharsies.svg?v=1742352390&width=850 850w, //printroom.co/cdn/shop/files/sharsies.svg?v=1742352390&width=960 960w, //printroom.co/cdn/shop/files/sharsies.svg?v=1742352390&width=1280 1280w, //printroom.co/cdn/shop/files/sharsies.svg?v=1742352390&width=1440 1440w, //printroom.co/cdn/shop/files/sharsies.svg?v=1742352390&width=1536 1536w, //printroom.co/cdn/shop/files/sharsies.svg?v=1742352390&width=1706 1706w, //printroom.co/cdn/shop/files/sharsies.svg?v=1742352390&width=1782 1782w, //printroom.co/cdn/shop/files/sharsies.svg?v=1742352390&width=1920 1920w, //printroom.co/cdn/shop/files/sharsies.svg?v=1742352390&width=2560 2560w, //printroom.co/cdn/shop/files/sharsies.svg?v=1742352390&width=2880 2880w, //printroom.co/cdn/shop/files/sharsies.svg?v=1742352390&width=3000 3000w" width="3000" height="826" loading="lazy" class="peer/image block absolute inset-0 w-full h-full object-contain" sizes="120px"> 6627 6628</image-with-placeholder> 6629 6630 </div> 6631 6632</div> 6633 6634 6635 6636 6637 <div 6638 class="relative block max-w-[--logo-width] w-[--logo-width] mx-5 lg:mt-0" 6639 > 6640 <div class="relative" style="padding-top: 100%;"> 6641 <image-with-placeholder> 6642 <img src="//printroom.co/cdn/shop/files/te_wananga.svg?v=1742337645&width=3000" alt="te-wananga-t-shirt-printing" srcset="//printroom.co/cdn/shop/files/te_wananga.svg?v=1742337645&width=200 200w, //printroom.co/cdn/shop/files/te_wananga.svg?v=1742337645&width=350 350w, //printroom.co/cdn/shop/files/te_wananga.svg?v=1742337645&width=450 450w, //printroom.co/cdn/shop/files/te_wananga.svg?v=1742337645&width=750 750w, //printroom.co/cdn/shop/files/te_wananga.svg?v=1742337645&width=850 850w, //printroom.co/cdn/shop/files/te_wananga.svg?v=1742337645&width=960 960w, //printroom.co/cdn/shop/files/te_wananga.svg?v=1742337645&width=1280 1280w, //printroom.co/cdn/shop/files/te_wananga.svg?v=1742337645&width=1440 1440w, //printroom.co/cdn/shop/files/te_wananga.svg?v=1742337645&width=1536 1536w, //printroom.co/cdn/shop/files/te_wananga.svg?v=1742337645&width=1706 1706w, //printroom.co/cdn/shop/files/te_wananga.svg?v=1742337645&width=1782 1782w, //printroom.co/cdn/shop/files/te_wananga.svg?v=1742337645&width=1920 1920w, //printroom.co/cdn/shop/files/te_wananga.svg?v=1742337645&width=2560 2560w, //printroom.co/cdn/shop/files/te_wananga.svg?v=1742337645&width=2880 2880w, //printroom.co/cdn/shop/files/te_wananga.svg?v=1742337645&width=3000 3000w" width="3000" height="3236" loading="lazy" class="peer/image block absolute inset-0 w-full h-full object-contain" sizes="120px"> 6643 6644</image-with-placeholder> 6645 6646 </div> 6647 6648</div> 6649 6650</span> 6651
6652 <span 6653 class="motion-reduce:hidden grow-0 shrink-0 " 6654 aria-hidden="true" 6655 > 6656 6657 6658 6659 <div 6660 class="relative block max-w-[--logo-width] w-[--logo-width] mx-5 lg:mt-0" 6661 > 6662 <div class="relative" style="padding-top: 100%;"> 6663 <image-with-placeholder> 6664 <img src="//printroom.co/cdn/shop/files/otago_uni.svg?v=1742352406&width=3000" alt="otago university t-shirt-printing-NZ" srcset="//printroom.co/cdn/shop/files/otago_uni.svg?v=1742352406&width=200 200w, //printroom.co/cdn/shop/files/otago_uni.svg?v=1742352406&width=350 350w, //printroom.co/cdn/shop/files/otago_uni.svg?v=1742352406&width=450 450w, //printroom.co/cdn/shop/files/otago_uni.svg?v=1742352406&width=750 750w, //printroom.co/cdn/shop/files/otago_uni.svg?v=1742352406&width=850 850w, //printroom.co/cdn/shop/files/otago_uni.svg?v=1742352406&width=960 960w, //printroom.co/cdn/shop/files/otago_uni.svg?v=1742352406&width=1280 1280w, //printroom.co/cdn/shop/files/otago_uni.svg?v=1742352406&width=1440 1440w, //printroom.co/cdn/shop/files/otago_uni.svg?v=1742352406&width=1536 1536w, //printroom.co/cdn/shop/files/otago_uni.svg?v=1742352406&width=1706 1706w, //printroom.co/cdn/shop/files/otago_uni.svg?v=1742352406&width=1782 1782w, //printroom.co/cdn/shop/files/otago_uni.svg?v=1742352406&width=1920 1920w, //printroom.co/cdn/shop/files/otago_uni.svg?v=1742352406&width=2560 2560w, //printroom.co/cdn/shop/files/otago_uni.svg?v=1742352406&width=2880 2880w, //printroom.co/cdn/shop/files/otago_uni.svg?v=1742352406&width=3000 3000w" width="3000" height="4641" loading="lazy" class="peer/image block absolute inset-0 w-full h-full object-contain" sizes="120px"> 6665 6666</image-with-placeholder> 6667 6668 </div> 6669 6670</div> 6671 6672 6673 6674 6675 <div 6676 class="relative block max-w-[--logo-width] w-[--logo-width] mx-5 lg:mt-0" 6677 > 6678 <div class="relative" style="padding-top: 100%;"> 6679 <image-with-placeholder> 6680 <img src="//printroom.co/cdn/shop/files/garage_project.svg?v=1742337697&width=3000" alt="" srcset="//printroom.co/cdn/shop/files/garage_project.svg?v=1742337697&width=200 200w, //printroom.co/cdn/shop/files/garage_project.svg?v=1742337697&width=350 350w, //printroom.co/cdn/shop/files/garage_project.svg?v=1742337697&width=450 450w, //printroom.co/cdn/shop/files/garage_project.svg?v=1742337697&width=750 750w, //printroom.co/cdn/shop/files/garage_project.svg?v=1742337697&width=850 850w, //printroom.co/cdn/shop/files/garage_project.svg?v=1742337697&width=960 960w, //printroom.co/cdn/shop/files/garage_project.svg?v=1742337697&width=1280 1280w, //printroom.co/cdn/shop/files/garage_project.svg?v=1742337697&width=1440 1440w, //printroom.co/cdn/shop/files/garage_project.svg?v=1742337697&width=1536 1536w, //printroom.co/cdn/shop/files/garage_project.svg?v=1742337697&width=1706 1706w, //printroom.co/cdn/shop/files/garage_project.svg?v=1742337697&width=1782 1782w, //printroom.co/cdn/shop/files/garage_project.svg?v=1742337697&width=1920 1920w, //printroom.co/cdn/shop/files/garage_project.svg?v=1742337697&width=2560 2560w, //printroom.co/cdn/shop/files/garage_project.svg?v=1742337697&width=2880 2880w, //printroom.co/cdn/shop/files/garage_project.svg?v=1742337697&width=3000 3000w" width="3000" height="1974" loading="lazy" class="peer/image block absolute inset-0 w-full h-full object-contain" sizes="120px"> 6681 6682</image-with-placeholder> 6683 6684 </div> 6685 6686</div> 6687 6688 6689 6690 6691 <div 6692 class="relative block max-w-[--logo-width] w-[--logo-width] mx-5 lg:mt-0" 6693 > 6694 <div class="relative" style="padding-top: 100%;"> 6695 <image-with-placeholder> 6696 <img src="//printroom.co/cdn/shop/files/lesmills.svg?v=1742337446&width=3000" alt="les-mills-t-shirt-printing-NZ" srcset="//printroom.co/cdn/shop/files/lesmills.svg?v=1742337446&width=200 200w, //printroom.co/cdn/shop/files/lesmills.svg?v=1742337446&width=350 350w, //printroom.co/cdn/shop/files/lesmills.svg?v=1742337446&width=450 450w, //printroom.co/cdn/shop/files/lesmills.svg?v=1742337446&width=750 750w, //printroom.co/cdn/shop/files/lesmills.svg?v=1742337446&width=850 850w, //printroom.co/cdn/shop/files/lesmills.svg?v=1742337446&width=960 960w, //printroom.co/cdn/shop/files/lesmills.svg?v=1742337446&width=1280 1280w, //printroom.co/cdn/shop/files/lesmills.svg?v=1742337446&width=1440 1440w, //printroom.co/cdn/shop/files/lesmills.svg?v=1742337446&width=1536 1536w, //printroom.co/cdn/shop/files/lesmills.svg?v=1742337446&width=1706 1706w, //printroom.co/cdn/shop/files/lesmills.svg?v=1742337446&width=1782 1782w, //printroom.co/cdn/shop/files/lesmills.svg?v=1742337446&width=1920 1920w, //printroom.co/cdn/shop/files/lesmills.svg?v=1742337446&width=2560 2560w, //printroom.co/cdn/shop/files/lesmills.svg?v=1742337446&width=2880 2880w, //printroom.co/cdn/shop/files/lesmills.svg?v=1742337446&width=3000 3000w" width="3000" height="403" loading="lazy" class="peer/image block absolute inset-0 w-full h-full object-contain" sizes="120px"> 6697 6698</image-with-placeholder> 6699 6700 </div> 6701 6702</div> 6703 6704 6705 6706 6707 <div 6708 class="relative block max-w-[--logo-width] w-[--logo-width] mx-5 lg:mt-0" 6709 > 6710 <div class="relative" style="padding-top: 100%;"> 6711 <image-with-placeholder> 6712 <img src="//printroom.co/cdn/shop/files/real_nz.svg?v=1742337578&width=3000" alt="real-nz-t-shirt-printing" srcset="//printroom.co/cdn/shop/files/real_nz.svg?v=1742337578&width=200 200w, //printroom.co/cdn/shop/files/real_nz.svg?v=1742337578&width=350 350w, //printroom.co/cdn/shop/files/real_nz.svg?v=1742337578&width=450 450w, //printroom.co/cdn/shop/files/real_nz.svg?v=1742337578&width=750 750w, //printroom.co/cdn/shop/files/real_nz.svg?v=1742337578&width=850 850w, //printroom.co/cdn/shop/files/real_nz.svg?v=1742337578&width=960 960w, //printroom.co/cdn/shop/files/real_nz.svg?v=1742337578&width=1280 1280w, //printroom.co/cdn/shop/files/real_nz.svg?v=1742337578&width=1440 1440w, //printroom.co/cdn/shop/files/real_nz.svg?v=1742337578&width=1536 1536w, //printroom.co/cdn/shop/files/real_nz.svg?v=1742337578&width=1706 1706w, //printroom.co/cdn/shop/files/real_nz.svg?v=1742337578&width=1782 1782w, //printroom.co/cdn/shop/files/real_nz.svg?v=1742337578&width=1920 1920w, //printroom.co/cdn/shop/files/real_nz.svg?v=1742337578&width=2560 2560w, //printroom.co/cdn/shop/files/real_nz.svg?v=1742337578&width=2880 2880w, //printroom.co/cdn/shop/files/real_nz.svg?v=1742337578&width=3000 3000w" width="3000" height="3000" loading="lazy" class="peer/image block absolute inset-0 w-full h-full object-contain" sizes="120px"> 6713 6714</image-with-placeholder> 6715 6716 </div> 6717 6718</div> 6719 6720 6721 6722 6723 <div 6724 class="relative block max-w-[--logo-width] w-[--logo-width] mx-5 lg:mt-0" 6725 > 6726 <div class="relative" style="padding-top: 100%;"> 6727 <image-with-placeholder> 6728 <img src="//printroom.co/cdn/shop/files/sharsies.svg?v=1742352390&width=3000" alt="sharsies-custom-t-shirt-printing" srcset="//printroom.co/cdn/shop/files/sharsies.svg?v=1742352390&width=200 200w, //printroom.co/cdn/shop/files/sharsies.svg?v=1742352390&width=350 350w, //printroom.co/cdn/shop/files/sharsies.svg?v=1742352390&width=450 450w, //printroom.co/cdn/shop/files/sharsies.svg?v=1742352390&width=750 750w, //printroom.co/cdn/shop/files/sharsies.svg?v=1742352390&width=850 850w, //printroom.co/cdn/shop/files/sharsies.svg?v=1742352390&width=960 960w, //printroom.co/cdn/shop/files/sharsies.svg?v=1742352390&width=1280 1280w, //printroom.co/cdn/shop/files/sharsies.svg?v=1742352390&width=1440 1440w, //printroom.co/cdn/shop/files/sharsies.svg?v=1742352390&width=1536 1536w, //printroom.co/cdn/shop/files/sharsies.svg?v=1742352390&width=1706 1706w, //printroom.co/cdn/shop/files/sharsies.svg?v=1742352390&width=1782 1782w, //printroom.co/cdn/shop/files/sharsies.svg?v=1742352390&width=1920 1920w, //printroom.co/cdn/shop/files/sharsies.svg?v=1742352390&width=2560 2560w, //printroom.co/cdn/shop/files/sharsies.svg?v=1742352390&width=2880 2880w, //printroom.co/cdn/shop/files/sharsies.svg?v=1742352390&width=3000 3000w" width="3000" height="826" loading="lazy" class="peer/image block absolute inset-0 w-full h-full object-contain" sizes="120px"> 6729 6730</image-with-placeholder> 6731 6732 </div> 6733 6734</div> 6735 6736 6737 6738 6739 <div 6740 class="relative block max-w-[--logo-width] w-[--logo-width] mx-5 lg:mt-0" 6741 > 6742 <div class="relative" style="padding-top: 100%;"> 6743 <image-with-placeholder> 6744 <img src="//printroom.co/cdn/shop/files/te_wananga.svg?v=1742337645&width=3000" alt="te-wananga-t-shirt-printing" srcset="//printroom.co/cdn/shop/files/te_wananga.svg?v=1742337645&width=200 200w, //printroom.co/cdn/shop/files/te_wananga.svg?v=1742337645&width=350 350w, //printroom.co/cdn/shop/files/te_wananga.svg?v=1742337645&width=450 450w, //printroom.co/cdn/shop/files/te_wananga.svg?v=1742337645&width=750 750w, //printroom.co/cdn/shop/files/te_wananga.svg?v=1742337645&width=850 850w, //printroom.co/cdn/shop/files/te_wananga.svg?v=1742337645&width=960 960w, //printroom.co/cdn/shop/files/te_wananga.svg?v=1742337645&width=1280 1280w, //printroom.co/cdn/shop/files/te_wananga.svg?v=1742337645&width=1440 1440w, //printroom.co/cdn/shop/files/te_wananga.svg?v=1742337645&width=1536 1536w, //printroom.co/cdn/shop/files/te_wananga.svg?v=1742337645&width=1706 1706w, //printroom.co/cdn/shop/files/te_wananga.svg?v=1742337645&width=1782 1782w, //printroom.co/cdn/shop/files/te_wananga.svg?v=1742337645&width=1920 1920w, //printroom.co/cdn/shop/files/te_wananga.svg?v=1742337645&width=2560 2560w, //printroom.co/cdn/shop/files/te_wananga.svg?v=1742337645&width=2880 2880w, //printroom.co/cdn/shop/files/te_wananga.svg?v=1742337645&width=3000 3000w" width="3000" height="3236" loading="lazy" class="peer/image block absolute inset-0 w-full h-full object-contain" sizes="120px"> 6745 6746</image-with-placeholder> 6747 6748 </div> 6749 6750</div> 6751 6752</span> 6753
6754 <span 6755 class="motion-reduce:hidden grow-0 shrink-0 " 6756 aria-hidden="true" 6757 > 6758 6759 6760 6761 <div 6762 class="relative block max-w-[--logo-width] w-[--logo-width] mx-5 lg:mt-0" 6763 > 6764 <div class="relative" style="padding-top: 100%;"> 6765 <image-with-placeholder> 6766 <img src="//printroom.co/cdn/shop/files/otago_uni.svg?v=1742352406&width=3000" alt="otago university t-shirt-printing-NZ" srcset="//printroom.co/cdn/shop/files/otago_uni.svg?v=1742352406&width=200 200w, //printroom.co/cdn/shop/files/otago_uni.svg?v=1742352406&width=350 350w, //printroom.co/cdn/shop/files/otago_uni.svg?v=1742352406&width=450 450w, //printroom.co/cdn/shop/files/otago_uni.svg?v=1742352406&width=750 750w, //printroom.co/cdn/shop/files/otago_uni.svg?v=1742352406&width=850 850w, //printroom.co/cdn/shop/files/otago_uni.svg?v=1742352406&width=960 960w, //printroom.co/cdn/shop/files/otago_uni.svg?v=1742352406&width=1280 1280w, //printroom.co/cdn/shop/files/otago_uni.svg?v=1742352406&width=1440 1440w, //printroom.co/cdn/shop/files/otago_uni.svg?v=1742352406&width=1536 1536w, //printroom.co/cdn/shop/files/otago_uni.svg?v=1742352406&width=1706 1706w, //printroom.co/cdn/shop/files/otago_uni.svg?v=1742352406&width=1782 1782w, //printroom.co/cdn/shop/files/otago_uni.svg?v=1742352406&width=1920 1920w, //printroom.co/cdn/shop/files/otago_uni.svg?v=1742352406&width=2560 2560w, //printroom.co/cdn/shop/files/otago_uni.svg?v=1742352406&width=2880 2880w, //printroom.co/cdn/shop/files/otago_uni.svg?v=1742352406&width=3000 3000w" width="3000" height="4641" loading="lazy" class="peer/image block absolute inset-0 w-full h-full object-contain" sizes="120px"> 6767 6768</image-with-placeholder> 6769 6770 </div> 6771 6772</div> 6773 6774 6775 6776 6777 <div 6778 class="relative block max-w-[--logo-width] w-[--logo-width] mx-5 lg:mt-0" 6779 > 6780 <div class="relative" style="padding-top: 100%;"> 6781 <image-with-placeholder> 6782 <img src="//printroom.co/cdn/shop/files/garage_project.svg?v=1742337697&width=3000" alt="" srcset="//printroom.co/cdn/shop/files/garage_project.svg?v=1742337697&width=200 200w, //printroom.co/cdn/shop/files/garage_project.svg?v=1742337697&width=350 350w, //printroom.co/cdn/shop/files/garage_project.svg?v=1742337697&width=450 450w, //printroom.co/cdn/shop/files/garage_project.svg?v=1742337697&width=750 750w, //printroom.co/cdn/shop/files/garage_project.svg?v=1742337697&width=850 850w, //printroom.co/cdn/shop/files/garage_project.svg?v=1742337697&width=960 960w, //printroom.co/cdn/shop/files/garage_project.svg?v=1742337697&width=1280 1280w, //printroom.co/cdn/shop/files/garage_project.svg?v=1742337697&width=1440 1440w, //printroom.co/cdn/shop/files/garage_project.svg?v=1742337697&width=1536 1536w, //printroom.co/cdn/shop/files/garage_project.svg?v=1742337697&width=1706 1706w, //printroom.co/cdn/shop/files/garage_project.svg?v=1742337697&width=1782 1782w, //printroom.co/cdn/shop/files/garage_project.svg?v=1742337697&width=1920 1920w, //printroom.co/cdn/shop/files/garage_project.svg?v=1742337697&width=2560 2560w, //printroom.co/cdn/shop/files/garage_project.svg?v=1742337697&width=2880 2880w, //printroom.co/cdn/shop/files/garage_project.svg?v=1742337697&width=3000 3000w" width="3000" height="1974" loading="lazy" class="peer/image block absolute inset-0 w-full h-full object-contain" sizes="120px"> 6783 6784</image-with-placeholder> 6785 6786 </div> 6787 6788</div> 6789 6790 6791 6792 6793 <div 6794 class="relative block max-w-[--logo-width] w-[--logo-width] mx-5 lg:mt-0" 6795 > 6796 <div class="relative" style="padding-top: 100%;"> 6797 <image-with-placeholder> 6798 <img src="//printroom.co/cdn/shop/files/lesmills.svg?v=1742337446&width=3000" alt="les-mills-t-shirt-printing-NZ" srcset="//printroom.co/cdn/shop/files/lesmills.svg?v=1742337446&width=200 200w, //printroom.co/cdn/shop/files/lesmills.svg?v=1742337446&width=350 350w, //printroom.co/cdn/shop/files/lesmills.svg?v=1742337446&width=450 450w, //printroom.co/cdn/shop/files/lesmills.svg?v=1742337446&width=750 750w, //printroom.co/cdn/shop/files/lesmills.svg?v=1742337446&width=850 850w, //printroom.co/cdn/shop/files/lesmills.svg?v=1742337446&width=960 960w, //printroom.co/cdn/shop/files/lesmills.svg?v=1742337446&width=1280 1280w, //printroom.co/cdn/shop/files/lesmills.svg?v=1742337446&width=1440 1440w, //printroom.co/cdn/shop/files/lesmills.svg?v=1742337446&width=1536 1536w, //printroom.co/cdn/shop/files/lesmills.svg?v=1742337446&width=1706 1706w, //printroom.co/cdn/shop/files/lesmills.svg?v=1742337446&width=1782 1782w, //printroom.co/cdn/shop/files/lesmills.svg?v=1742337446&width=1920 1920w, //printroom.co/cdn/shop/files/lesmills.svg?v=1742337446&width=2560 2560w, //printroom.co/cdn/shop/files/lesmills.svg?v=1742337446&width=2880 2880w, //printroom.co/cdn/shop/files/lesmills.svg?v=1742337446&width=3000 3000w" width="3000" height="403" loading="lazy" class="peer/image block absolute inset-0 w-full h-full object-contain" sizes="120px"> 6799 6800</image-with-placeholder> 6801 6802 </div> 6803 6804</div> 6805 6806 6807 6808 6809 <div 6810 class="relative block max-w-[--logo-width] w-[--logo-width] mx-5 lg:mt-0" 6811 > 6812 <div class="relative" style="padding-top: 100%;"> 6813 <image-with-placeholder> 6814 <img src="//printroom.co/cdn/shop/files/real_nz.svg?v=1742337578&width=3000" alt="real-nz-t-shirt-printing" srcset="//printroom.co/cdn/shop/files/real_nz.svg?v=1742337578&width=200 200w, //printroom.co/cdn/shop/files/real_nz.svg?v=1742337578&width=350 350w, //printroom.co/cdn/shop/files/real_nz.svg?v=1742337578&width=450 450w, //printroom.co/cdn/shop/files/real_nz.svg?v=1742337578&width=750 750w, //printroom.co/cdn/shop/files/real_nz.svg?v=1742337578&width=850 850w, //printroom.co/cdn/shop/files/real_nz.svg?v=1742337578&width=960 960w, //printroom.co/cdn/shop/files/real_nz.svg?v=1742337578&width=1280 1280w, //printroom.co/cdn/shop/files/real_nz.svg?v=1742337578&width=1440 1440w, //printroom.co/cdn/shop/files/real_nz.svg?v=1742337578&width=1536 1536w, //printroom.co/cdn/shop/files/real_nz.svg?v=1742337578&width=1706 1706w, //printroom.co/cdn/shop/files/real_nz.svg?v=1742337578&width=1782 1782w, //printroom.co/cdn/shop/files/real_nz.svg?v=1742337578&width=1920 1920w, //printroom.co/cdn/shop/files/real_nz.svg?v=1742337578&width=2560 2560w, //printroom.co/cdn/shop/files/real_nz.svg?v=1742337578&width=2880 2880w, //printroom.co/cdn/shop/files/real_nz.svg?v=1742337578&width=3000 3000w" width="3000" height="3000" loading="lazy" class="peer/image block absolute inset-0 w-full h-full object-contain" sizes="120px"> 6815 6816</image-with-placeholder> 6817 6818 </div> 6819 6820</div> 6821 6822 6823 6824 6825 <div 6826 class="relative block max-w-[--logo-width] w-[--logo-width] mx-5 lg:mt-0" 6827 > 6828 <div class="relative" style="padding-top: 100%;"> 6829 <image-with-placeholder> 6830 <img src="//printroom.co/cdn/shop/files/sharsies.svg?v=1742352390&width=3000" alt="sharsies-custom-t-shirt-printing" srcset="//printroom.co/cdn/shop/files/sharsies.svg?v=1742352390&width=200 200w, //printroom.co/cdn/shop/files/sharsies.svg?v=1742352390&width=350 350w, //printroom.co/cdn/shop/files/sharsies.svg?v=1742352390&width=450 450w, //printroom.co/cdn/shop/files/sharsies.svg?v=1742352390&width=750 750w, //printroom.co/cdn/shop/files/sharsies.svg?v=1742352390&width=850 850w, //printroom.co/cdn/shop/files/sharsies.svg?v=1742352390&width=960 960w, //printroom.co/cdn/shop/files/sharsies.svg?v=1742352390&width=1280 1280w, //printroom.co/cdn/shop/files/sharsies.svg?v=1742352390&width=1440 1440w, //printroom.co/cdn/shop/files/sharsies.svg?v=1742352390&width=1536 1536w, //printroom.co/cdn/shop/files/sharsies.svg?v=1742352390&width=1706 1706w, //printroom.co/cdn/shop/files/sharsies.svg?v=1742352390&width=1782 1782w, //printroom.co/cdn/shop/files/sharsies.svg?v=1742352390&width=1920 1920w, //printroom.co/cdn/shop/files/sharsies.svg?v=1742352390&width=2560 2560w, //printroom.co/cdn/shop/files/sharsies.svg?v=1742352390&width=2880 2880w, //printroom.co/cdn/shop/files/sharsies.svg?v=1742352390&width=3000 3000w" width="3000" height="826" loading="lazy" class="peer/image block absolute inset-0 w-full h-full object-contain" sizes="120px"> 6831 6832</image-with-placeholder> 6833 6834 </div> 6835 6836</div> 6837 6838 6839 6840 6841 <div 6842 class="relative block max-w-[--logo-width] w-[--logo-width] mx-5 lg:mt-0" 6843 > 6844 <div class="relative" style="padding-top: 100%;"> 6845 <image-with-placeholder> 6846 <img src="//printroom.co/cdn/shop/files/te_wananga.svg?v=1742337645&width=3000" alt="te-wananga-t-shirt-printing" srcset="//printroom.co/cdn/shop/files/te_wananga.svg?v=1742337645&width=200 200w, //printroom.co/cdn/shop/files/te_wananga.svg?v=1742337645&width=350 350w, //printroom.co/cdn/shop/files/te_wananga.svg?v=1742337645&width=450 450w, //printroom.co/cdn/shop/files/te_wananga.svg?v=1742337645&width=750 750w, //printroom.co/cdn/shop/files/te_wananga.svg?v=1742337645&width=850 850w, //printroom.co/cdn/shop/files/te_wananga.svg?v=1742337645&width=960 960w, //printroom.co/cdn/shop/files/te_wananga.svg?v=1742337645&width=1280 1280w, //printroom.co/cdn/shop/files/te_wananga.svg?v=1742337645&width=1440 1440w, //printroom.co/cdn/shop/files/te_wananga.svg?v=1742337645&width=1536 1536w, //printroom.co/cdn/shop/files/te_wananga.svg?v=1742337645&width=1706 1706w, //printroom.co/cdn/shop/files/te_wananga.svg?v=1742337645&width=1782 1782w, //printroom.co/cdn/shop/files/te_wananga.svg?v=1742337645&width=1920 1920w, //printroom.co/cdn/shop/files/te_wananga.svg?v=1742337645&width=2560 2560w, //printroom.co/cdn/shop/files/te_wananga.svg?v=1742337645&width=2880 2880w, //printroom.co/cdn/shop/files/te_wananga.svg?v=1742337645&width=3000 3000w" width="3000" height="3236" loading="lazy" class="peer/image block absolute inset-0 w-full h-full object-contain" sizes="120px"> 6847 6848</image-with-placeholder> 6849 6850 </div> 6851 6852</div> 6853 6854</span> 6855
6856 <span 6857 class="motion-reduce:hidden grow-0 shrink-0 " 6858 aria-hidden="true" 6859 > 6860 6861 6862 6863 <div 6864 class="relative block max-w-[--logo-width] w-[--logo-width] mx-5 lg:mt-0" 6865 > 6866 <div class="relative" style="padding-top: 100%;"> 6867 <image-with-placeholder> 6868 <img src="//printroom.co/cdn/shop/files/otago_uni.svg?v=1742352406&width=3000" alt="otago university t-shirt-printing-NZ" srcset="//printroom.co/cdn/shop/files/otago_uni.svg?v=1742352406&width=200 200w, //printroom.co/cdn/shop/files/otago_uni.svg?v=1742352406&width=350 350w, //printroom.co/cdn/shop/files/otago_uni.svg?v=1742352406&width=450 450w, //printroom.co/cdn/shop/files/otago_uni.svg?v=1742352406&width=750 750w, //printroom.co/cdn/shop/files/otago_uni.svg?v=1742352406&width=850 850w, //printroom.co/cdn/shop/files/otago_uni.svg?v=1742352406&width=960 960w, //printroom.co/cdn/shop/files/otago_uni.svg?v=1742352406&width=1280 1280w, //printroom.co/cdn/shop/files/otago_uni.svg?v=1742352406&width=1440 1440w, //printroom.co/cdn/shop/files/otago_uni.svg?v=1742352406&width=1536 1536w, //printroom.co/cdn/shop/files/otago_uni.svg?v=1742352406&width=1706 1706w, //printroom.co/cdn/shop/files/otago_uni.svg?v=1742352406&width=1782 1782w, //printroom.co/cdn/shop/files/otago_uni.svg?v=1742352406&width=1920 1920w, //printroom.co/cdn/shop/files/otago_uni.svg?v=1742352406&width=2560 2560w, //printroom.co/cdn/shop/files/otago_uni.svg?v=1742352406&width=2880 2880w, //printroom.co/cdn/shop/files/otago_uni.svg?v=1742352406&width=3000 3000w" width="3000" height="4641" loading="lazy" class="peer/image block absolute inset-0 w-full h-full object-contain" sizes="120px"> 6869 6870</image-with-placeholder> 6871 6872 </div> 6873 6874</div> 6875 6876 6877 6878 6879 <div 6880 class="relative block max-w-[--logo-width] w-[--logo-width] mx-5 lg:mt-0" 6881 > 6882 <div class="relative" style="padding-top: 100%;"> 6883 <image-with-placeholder> 6884 <img src="//printroom.co/cdn/shop/files/garage_project.svg?v=1742337697&width=3000" alt="" srcset="//printroom.co/cdn/shop/files/garage_project.svg?v=1742337697&width=200 200w, //printroom.co/cdn/shop/files/garage_project.svg?v=1742337697&width=350 350w, //printroom.co/cdn/shop/files/garage_project.svg?v=1742337697&width=450 450w, //printroom.co/cdn/shop/files/garage_project.svg?v=1742337697&width=750 750w, //printroom.co/cdn/shop/files/garage_project.svg?v=1742337697&width=850 850w, //printroom.co/cdn/shop/files/garage_project.svg?v=1742337697&width=960 960w, //printroom.co/cdn/shop/files/garage_project.svg?v=1742337697&width=1280 1280w, //printroom.co/cdn/shop/files/garage_project.svg?v=1742337697&width=1440 1440w, //printroom.co/cdn/shop/files/garage_project.svg?v=1742337697&width=1536 1536w, //printroom.co/cdn/shop/files/garage_project.svg?v=1742337697&width=1706 1706w, //printroom.co/cdn/shop/files/garage_project.svg?v=1742337697&width=1782 1782w, //printroom.co/cdn/shop/files/garage_project.svg?v=1742337697&width=1920 1920w, //printroom.co/cdn/shop/files/garage_project.svg?v=1742337697&width=2560 2560w, //printroom.co/cdn/shop/files/garage_project.svg?v=1742337697&width=2880 2880w, //printroom.co/cdn/shop/files/garage_project.svg?v=1742337697&width=3000 3000w" width="3000" height="1974" loading="lazy" class="peer/image block absolute inset-0 w-full h-full object-contain" sizes="120px"> 6885 6886</image-with-placeholder> 6887 6888 </div> 6889 6890</div> 6891 6892 6893 6894 6895 <div 6896 class="relative block max-w-[--logo-width] w-[--logo-width] mx-5 lg:mt-0" 6897 > 6898 <div class="relative" style="padding-top: 100%;"> 6899 <image-with-placeholder> 6900 <img src="//printroom.co/cdn/shop/files/lesmills.svg?v=1742337446&width=3000" alt="les-mills-t-shirt-printing-NZ" srcset="//printroom.co/cdn/shop/files/lesmills.svg?v=1742337446&width=200 200w, //printroom.co/cdn/shop/files/lesmills.svg?v=1742337446&width=350 350w, //printroom.co/cdn/shop/files/lesmills.svg?v=1742337446&width=450 450w, //printroom.co/cdn/shop/files/lesmills.svg?v=1742337446&width=750 750w, //printroom.co/cdn/shop/files/lesmills.svg?v=1742337446&width=850 850w, //printroom.co/cdn/shop/files/lesmills.svg?v=1742337446&width=960 960w, //printroom.co/cdn/shop/files/lesmills.svg?v=1742337446&width=1280 1280w, //printroom.co/cdn/shop/files/lesmills.svg?v=1742337446&width=1440 1440w, //printroom.co/cdn/shop/files/lesmills.svg?v=1742337446&width=1536 1536w, //printroom.co/cdn/shop/files/lesmills.svg?v=1742337446&width=1706 1706w, //printroom.co/cdn/shop/files/lesmills.svg?v=1742337446&width=1782 1782w, //printroom.co/cdn/shop/files/lesmills.svg?v=1742337446&width=1920 1920w, //printroom.co/cdn/shop/files/lesmills.svg?v=1742337446&width=2560 2560w, //printroom.co/cdn/shop/files/lesmills.svg?v=1742337446&width=2880 2880w, //printroom.co/cdn/shop/files/lesmills.svg?v=1742337446&width=3000 3000w" width="3000" height="403" loading="lazy" class="peer/image block absolute inset-0 w-full h-full object-contain" sizes="120px"> 6901 6902</image-with-placeholder> 6903 6904 </div> 6905 6906</div> 6907 6908 6909 6910 6911 <div 6912 class="relative block max-w-[--logo-width] w-[--logo-width] mx-5 lg:mt-0" 6913 > 6914 <div class="relative" style="padding-top: 100%;"> 6915 <image-with-placeholder> 6916 <img src="//printroom.co/cdn/shop/files/real_nz.svg?v=1742337578&width=3000" alt="real-nz-t-shirt-printing" srcset="//printroom.co/cdn/shop/files/real_nz.svg?v=1742337578&width=200 200w, //printroom.co/cdn/shop/files/real_nz.svg?v=1742337578&width=350 350w, //printroom.co/cdn/shop/files/real_nz.svg?v=1742337578&width=450 450w, //printroom.co/cdn/shop/files/real_nz.svg?v=1742337578&width=750 750w, //printroom.co/cdn/shop/files/real_nz.svg?v=1742337578&width=850 850w, //printroom.co/cdn/shop/files/real_nz.svg?v=1742337578&width=960 960w, //printroom.co/cdn/shop/files/real_nz.svg?v=1742337578&width=1280 1280w, //printroom.co/cdn/shop/files/real_nz.svg?v=1742337578&width=1440 1440w, //printroom.co/cdn/shop/files/real_nz.svg?v=1742337578&width=1536 1536w, //printroom.co/cdn/shop/files/real_nz.svg?v=1742337578&width=1706 1706w, //printroom.co/cdn/shop/files/real_nz.svg?v=1742337578&width=1782 1782w, //printroom.co/cdn/shop/files/real_nz.svg?v=1742337578&width=1920 1920w, //printroom.co/cdn/shop/files/real_nz.svg?v=1742337578&width=2560 2560w, //printroom.co/cdn/shop/files/real_nz.svg?v=1742337578&width=2880 2880w, //printroom.co/cdn/shop/files/real_nz.svg?v=1742337578&width=3000 3000w" width="3000" height="3000" loading="lazy" class="peer/image block absolute inset-0 w-full h-full object-contain" sizes="120px"> 6917 6918</image-with-placeholder> 6919 6920 </div> 6921 6922</div> 6923 6924 6925 6926 6927 <div 6928 class="relative block max-w-[--logo-width] w-[--logo-width] mx-5 lg:mt-0" 6929 > 6930 <div class="relative" style="padding-top: 100%;"> 6931 <image-with-placeholder> 6932 <img src="//printroom.co/cdn/shop/files/sharsies.svg?v=1742352390&width=3000" alt="sharsies-custom-t-shirt-printing" srcset="//printroom.co/cdn/shop/files/sharsies.svg?v=1742352390&width=200 200w, //printroom.co/cdn/shop/files/sharsies.svg?v=1742352390&width=350 350w, //printroom.co/cdn/shop/files/sharsies.svg?v=1742352390&width=450 450w, //printroom.co/cdn/shop/files/sharsies.svg?v=1742352390&width=750 750w, //printroom.co/cdn/shop/files/sharsies.svg?v=1742352390&width=850 850w, //printroom.co/cdn/shop/files/sharsies.svg?v=1742352390&width=960 960w, //printroom.co/cdn/shop/files/sharsies.svg?v=1742352390&width=1280 1280w, //printroom.co/cdn/shop/files/sharsies.svg?v=1742352390&width=1440 1440w, //printroom.co/cdn/shop/files/sharsies.svg?v=1742352390&width=1536 1536w, //printroom.co/cdn/shop/files/sharsies.svg?v=1742352390&width=1706 1706w, //printroom.co/cdn/shop/files/sharsies.svg?v=1742352390&width=1782 1782w, //printroom.co/cdn/shop/files/sharsies.svg?v=1742352390&width=1920 1920w, //printroom.co/cdn/shop/files/sharsies.svg?v=1742352390&width=2560 2560w, //printroom.co/cdn/shop/files/sharsies.svg?v=1742352390&width=2880 2880w, //printroom.co/cdn/shop/files/sharsies.svg?v=1742352390&width=3000 3000w" width="3000" height="826" loading="lazy" class="peer/image block absolute inset-0 w-full h-full object-contain" sizes="120px"> 6933 6934</image-with-placeholder> 6935 6936 </div> 6937 6938</div> 6939 6940 6941 6942 6943 <div 6944 class="relative block max-w-[--logo-width] w-[--logo-width] mx-5 lg:mt-0" 6945 > 6946 <div class="relative" style="padding-top: 100%;"> 6947 <image-with-placeholder> 6948 <img src="//printroom.co/cdn/shop/files/te_wananga.svg?v=1742337645&width=3000" alt="te-wananga-t-shirt-printing" srcset="//printroom.co/cdn/shop/files/te_wananga.svg?v=1742337645&width=200 200w, //printroom.co/cdn/shop/files/te_wananga.svg?v=1742337645&width=350 350w, //printroom.co/cdn/shop/files/te_wananga.svg?v=1742337645&width=450 450w, //printroom.co/cdn/shop/files/te_wananga.svg?v=1742337645&width=750 750w, //printroom.co/cdn/shop/files/te_wananga.svg?v=1742337645&width=850 850w, //printroom.co/cdn/shop/files/te_wananga.svg?v=1742337645&width=960 960w, //printroom.co/cdn/shop/files/te_wananga.svg?v=1742337645&width=1280 1280w, //printroom.co/cdn/shop/files/te_wananga.svg?v=1742337645&width=1440 1440w, //printroom.co/cdn/shop/files/te_wananga.svg?v=1742337645&width=1536 1536w, //printroom.co/cdn/shop/files/te_wananga.svg?v=1742337645&width=1706 1706w, //printroom.co/cdn/shop/files/te_wananga.svg?v=1742337645&width=1782 1782w, //printroom.co/cdn/shop/files/te_wananga.svg?v=1742337645&width=1920 1920w, //printroom.co/cdn/shop/files/te_wananga.svg?v=1742337645&width=2560 2560w, //printroom.co/cdn/shop/files/te_wananga.svg?v=1742337645&width=2880 2880w, //printroom.co/cdn/shop/files/te_wananga.svg?v=1742337645&width=3000 3000w" width="3000" height="3236" loading="lazy" class="peer/image block absolute inset-0 w-full h-full object-contain" sizes="120px"> 6949 6950</image-with-placeholder> 6951 6952 </div> 6953 6954</div> 6955 6956</span> 6957
6958 <span 6959 class="motion-reduce:hidden grow-0 shrink-0 " 6960 aria-hidden="true" 6961 > 6962 6963 6964 6965 <div 6966 class="relative block max-w-[--logo-width] w-[--logo-width] mx-5 lg:mt-0" 6967 > 6968 <div class="relative" style="padding-top: 100%;"> 6969 <image-with-placeholder> 6970 <img src="//printroom.co/cdn/shop/files/otago_uni.svg?v=1742352406&width=3000" alt="otago university t-shirt-printing-NZ" srcset="//printroom.co/cdn/shop/files/otago_uni.svg?v=1742352406&width=200 200w, //printroom.co/cdn/shop/files/otago_uni.svg?v=1742352406&width=350 350w, //printroom.co/cdn/shop/files/otago_uni.svg?v=1742352406&width=450 450w, //printroom.co/cdn/shop/files/otago_uni.svg?v=1742352406&width=750 750w, //printroom.co/cdn/shop/files/otago_uni.svg?v=1742352406&width=850 850w, //printroom.co/cdn/shop/files/otago_uni.svg?v=1742352406&width=960 960w, //printroom.co/cdn/shop/files/otago_uni.svg?v=1742352406&width=1280 1280w, //printroom.co/cdn/shop/files/otago_uni.svg?v=1742352406&width=1440 1440w, //printroom.co/cdn/shop/files/otago_uni.svg?v=1742352406&width=1536 1536w, //printroom.co/cdn/shop/files/otago_uni.svg?v=1742352406&width=1706 1706w, //printroom.co/cdn/shop/files/otago_uni.svg?v=1742352406&width=1782 1782w, //printroom.co/cdn/shop/files/otago_uni.svg?v=1742352406&width=1920 1920w, //printroom.co/cdn/shop/files/otago_uni.svg?v=1742352406&width=2560 2560w, //printroom.co/cdn/shop/files/otago_uni.svg?v=1742352406&width=2880 2880w, //printroom.co/cdn/shop/files/otago_uni.svg?v=1742352406&width=3000 3000w" width="3000" height="4641" loading="lazy" class="peer/image block absolute inset-0 w-full h-full object-contain" sizes="120px"> 6971 6972</image-with-placeholder> 6973 6974 </div> 6975 6976</div> 6977 6978 6979 6980 6981 <div 6982 class="relative block max-w-[--logo-width] w-[--logo-width] mx-5 lg:mt-0" 6983 > 6984 <div class="relative" style="padding-top: 100%;"> 6985 <image-with-placeholder> 6986 <img src="//printroom.co/cdn/shop/files/garage_project.svg?v=1742337697&width=3000" alt="" srcset="//printroom.co/cdn/shop/files/garage_project.svg?v=1742337697&width=200 200w, //printroom.co/cdn/shop/files/garage_project.svg?v=1742337697&width=350 350w, //printroom.co/cdn/shop/files/garage_project.svg?v=1742337697&width=450 450w, //printroom.co/cdn/shop/files/garage_project.svg?v=1742337697&width=750 750w, //printroom.co/cdn/shop/files/garage_project.svg?v=1742337697&width=850 850w, //printroom.co/cdn/shop/files/garage_project.svg?v=1742337697&width=960 960w, //printroom.co/cdn/shop/files/garage_project.svg?v=1742337697&width=1280 1280w, //printroom.co/cdn/shop/files/garage_project.svg?v=1742337697&width=1440 1440w, //printroom.co/cdn/shop/files/garage_project.svg?v=1742337697&width=1536 1536w, //printroom.co/cdn/shop/files/garage_project.svg?v=1742337697&width=1706 1706w, //printroom.co/cdn/shop/files/garage_project.svg?v=1742337697&width=1782 1782w, //printroom.co/cdn/shop/files/garage_project.svg?v=1742337697&width=1920 1920w, //printroom.co/cdn/shop/files/garage_project.svg?v=1742337697&width=2560 2560w, //printroom.co/cdn/shop/files/garage_project.svg?v=1742337697&width=2880 2880w, //printroom.co/cdn/shop/files/garage_project.svg?v=1742337697&width=3000 3000w" width="3000" height="1974" loading="lazy" class="peer/image block absolute inset-0 w-full h-full object-contain" sizes="120px"> 6987 6988</image-with-placeholder> 6989 6990 </div> 6991 6992</div> 6993 6994 6995 6996 6997 <div 6998 class="relative block max-w-[--logo-width] w-[--logo-width] mx-5 lg:mt-0" 6999 > 7000 <div class="relative" style="padding-top: 100%;"> 7001 <image-with-placeholder> 7002 <img src="//printroom.co/cdn/shop/files/lesmills.svg?v=1742337446&width=3000" alt="les-mills-t-shirt-printing-NZ" srcset="//printroom.co/cdn/shop/files/lesmills.svg?v=1742337446&width=200 200w, //printroom.co/cdn/shop/files/lesmills.svg?v=1742337446&width=350 350w, //printroom.co/cdn/shop/files/lesmills.svg?v=1742337446&width=450 450w, //printroom.co/cdn/shop/files/lesmills.svg?v=1742337446&width=750 750w, //printroom.co/cdn/shop/files/lesmills.svg?v=1742337446&width=850 850w, //printroom.co/cdn/shop/files/lesmills.svg?v=1742337446&width=960 960w, //printroom.co/cdn/shop/files/lesmills.svg?v=1742337446&width=1280 1280w, //printroom.co/cdn/shop/files/lesmills.svg?v=1742337446&width=1440 1440w, //printroom.co/cdn/shop/files/lesmills.svg?v=1742337446&width=1536 1536w, //printroom.co/cdn/shop/files/lesmills.svg?v=1742337446&width=1706 1706w, //printroom.co/cdn/shop/files/lesmills.svg?v=1742337446&width=1782 1782w, //printroom.co/cdn/shop/files/lesmills.svg?v=1742337446&width=1920 1920w, //printroom.co/cdn/shop/files/lesmills.svg?v=1742337446&width=2560 2560w, //printroom.co/cdn/shop/files/lesmills.svg?v=1742337446&width=2880 2880w, //printroom.co/cdn/shop/files/lesmills.svg?v=1742337446&width=3000 3000w" width="3000" height="403" loading="lazy" class="peer/image block absolute inset-0 w-full h-full object-contain" sizes="120px"> 7003 7004</image-with-placeholder> 7005 7006 </div> 7007 7008</div> 7009 7010 7011 7012 7013 <div 7014 class="relative block max-w-[--logo-width] w-[--logo-width] mx-5 lg:mt-0" 7015 > 7016 <div class="relative" style="padding-top: 100%;"> 7017 <image-with-placeholder> 7018 <img src="//printroom.co/cdn/shop/files/real_nz.svg?v=1742337578&width=3000" alt="real-nz-t-shirt-printing" srcset="//printroom.co/cdn/shop/files/real_nz.svg?v=1742337578&width=200 200w, //printroom.co/cdn/shop/files/real_nz.svg?v=1742337578&width=350 350w, //printroom.co/cdn/shop/files/real_nz.svg?v=1742337578&width=450 450w, //printroom.co/cdn/shop/files/real_nz.svg?v=1742337578&width=750 750w, //printroom.co/cdn/shop/files/real_nz.svg?v=1742337578&width=850 850w, //printroom.co/cdn/shop/files/real_nz.svg?v=1742337578&width=960 960w, //printroom.co/cdn/shop/files/real_nz.svg?v=1742337578&width=1280 1280w, //printroom.co/cdn/shop/files/real_nz.svg?v=1742337578&width=1440 1440w, //printroom.co/cdn/shop/files/real_nz.svg?v=1742337578&width=1536 1536w, //printroom.co/cdn/shop/files/real_nz.svg?v=1742337578&width=1706 1706w, //printroom.co/cdn/shop/files/real_nz.svg?v=1742337578&width=1782 1782w, //printroom.co/cdn/shop/files/real_nz.svg?v=1742337578&width=1920 1920w, //printroom.co/cdn/shop/files/real_nz.svg?v=1742337578&width=2560 2560w, //printroom.co/cdn/shop/files/real_nz.svg?v=1742337578&width=2880 2880w, //printroom.co/cdn/shop/files/real_nz.svg?v=1742337578&width=3000 3000w" width="3000" height="3000" loading="lazy" class="peer/image block absolute inset-0 w-full h-full object-contain" sizes="120px"> 7019 7020</image-with-placeholder> 7021 7022 </div> 7023 7024</div> 7025 7026 7027 7028 7029 <div 7030 class="relative block max-w-[--logo-width] w-[--logo-width] mx-5 lg:mt-0" 7031 > 7032 <div class="relative" style="padding-top: 100%;"> 7033 <image-with-placeholder> 7034 <img src="//printroom.co/cdn/shop/files/sharsies.svg?v=1742352390&width=3000" alt="sharsies-custom-t-shirt-printing" srcset="//printroom.co/cdn/shop/files/sharsies.svg?v=1742352390&width=200 200w, //printroom.co/cdn/shop/files/sharsies.svg?v=1742352390&width=350 350w, //printroom.co/cdn/shop/files/sharsies.svg?v=1742352390&width=450 450w, //printroom.co/cdn/shop/files/sharsies.svg?v=1742352390&width=750 750w, //printroom.co/cdn/shop/files/sharsies.svg?v=1742352390&width=850 850w, //printroom.co/cdn/shop/files/sharsies.svg?v=1742352390&width=960 960w, //printroom.co/cdn/shop/files/sharsies.svg?v=1742352390&width=1280 1280w, //printroom.co/cdn/shop/files/sharsies.svg?v=1742352390&width=1440 1440w, //printroom.co/cdn/shop/files/sharsies.svg?v=1742352390&width=1536 1536w, //printroom.co/cdn/shop/files/sharsies.svg?v=1742352390&width=1706 1706w, //printroom.co/cdn/shop/files/sharsies.svg?v=1742352390&width=1782 1782w, //printroom.co/cdn/shop/files/sharsies.svg?v=1742352390&width=1920 1920w, //printroom.co/cdn/shop/files/sharsies.svg?v=1742352390&width=2560 2560w, //printroom.co/cdn/shop/files/sharsies.svg?v=1742352390&width=2880 2880w, //printroom.co/cdn/shop/files/sharsies.svg?v=1742352390&width=3000 3000w" width="3000" height="826" loading="lazy" class="peer/image block absolute inset-0 w-full h-full object-contain" sizes="120px"> 7035 7036</image-with-placeholder> 7037 7038 </div> 7039 7040</div> 7041 7042 7043 7044 7045 <div 7046 class="relative block max-w-[--logo-width] w-[--logo-width] mx-5 lg:mt-0" 7047 > 7048 <div class="relative" style="padding-top: 100%;"> 7049 <image-with-placeholder> 7050 <img src="//printroom.co/cdn/shop/files/te_wananga.svg?v=1742337645&width=3000" alt="te-wananga-t-shirt-printing" srcset="//printroom.co/cdn/shop/files/te_wananga.svg?v=1742337645&width=200 200w, //printroom.co/cdn/shop/files/te_wananga.svg?v=1742337645&width=350 350w, //printroom.co/cdn/shop/files/te_wananga.svg?v=1742337645&width=450 450w, //printroom.co/cdn/shop/files/te_wananga.svg?v=1742337645&width=750 750w, //printroom.co/cdn/shop/files/te_wananga.svg?v=1742337645&width=850 850w, //printroom.co/cdn/shop/files/te_wananga.svg?v=1742337645&width=960 960w, //printroom.co/cdn/shop/files/te_wananga.svg?v=1742337645&width=1280 1280w, //printroom.co/cdn/shop/files/te_wananga.svg?v=1742337645&width=1440 1440w, //printroom.co/cdn/shop/files/te_wananga.svg?v=1742337645&width=1536 1536w, //printroom.co/cdn/shop/files/te_wananga.svg?v=1742337645&width=1706 1706w, //printroom.co/cdn/shop/files/te_wananga.svg?v=1742337645&width=1782 1782w, //printroom.co/cdn/shop/files/te_wananga.svg?v=1742337645&width=1920 1920w, //printroom.co/cdn/shop/files/te_wananga.svg?v=1742337645&width=2560 2560w, //printroom.co/cdn/shop/files/te_wananga.svg?v=1742337645&width=2880 2880w, //printroom.co/cdn/shop/files/te_wananga.svg?v=1742337645&width=3000 3000w" width="3000" height="3236" loading="lazy" class="peer/image block absolute inset-0 w-full h-full object-contain" sizes="120px"> 7051 7052</image-with-placeholder> 7053 7054 </div> 7055 7056</div> 7057 7058</span> 7059
7060 <span 7061 class="motion-reduce:hidden grow-0 shrink-0 " 7062 aria-hidden="true" 7063 > 7064 7065 7066 7067 <div 7068 class="relative block max-w-[--logo-width] w-[--logo-width] mx-5 lg:mt-0" 7069 > 7070 <div class="relative" style="padding-top: 100%;"> 7071 <image-with-placeholder> 7072 <img src="//printroom.co/cdn/shop/files/otago_uni.svg?v=1742352406&width=3000" alt="otago university t-shirt-printing-NZ" srcset="//printroom.co/cdn/shop/files/otago_uni.svg?v=1742352406&width=200 200w, //printroom.co/cdn/shop/files/otago_uni.svg?v=1742352406&width=350 350w, //printroom.co/cdn/shop/files/otago_uni.svg?v=1742352406&width=450 450w, //printroom.co/cdn/shop/files/otago_uni.svg?v=1742352406&width=750 750w, //printroom.co/cdn/shop/files/otago_uni.svg?v=1742352406&width=850 850w, //printroom.co/cdn/shop/files/otago_uni.svg?v=1742352406&width=960 960w, //printroom.co/cdn/shop/files/otago_uni.svg?v=1742352406&width=1280 1280w, //printroom.co/cdn/shop/files/otago_uni.svg?v=1742352406&width=1440 1440w, //printroom.co/cdn/shop/files/otago_uni.svg?v=1742352406&width=1536 1536w, //printroom.co/cdn/shop/files/otago_uni.svg?v=1742352406&width=1706 1706w, //printroom.co/cdn/shop/files/otago_uni.svg?v=1742352406&width=1782 1782w, //printroom.co/cdn/shop/files/otago_uni.svg?v=1742352406&width=1920 1920w, //printroom.co/cdn/shop/files/otago_uni.svg?v=1742352406&width=2560 2560w, //printroom.co/cdn/shop/files/otago_uni.svg?v=1742352406&width=2880 2880w, //printroom.co/cdn/shop/files/otago_uni.svg?v=1742352406&width=3000 3000w" width="3000" height="4641" loading="lazy" class="peer/image block absolute inset-0 w-full h-full object-contain" sizes="120px"> 7073 7074</image-with-placeholder> 7075 7076 </div> 7077 7078</div> 7079 7080 7081 7082 7083 <div 7084 class="relative block max-w-[--logo-width] w-[--logo-width] mx-5 lg:mt-0" 7085 > 7086 <div class="relative" style="padding-top: 100%;"> 7087 <image-with-placeholder> 7088 <img src="//printroom.co/cdn/shop/files/garage_project.svg?v=1742337697&width=3000" alt="" srcset="//printroom.co/cdn/shop/files/garage_project.svg?v=1742337697&width=200 200w, //printroom.co/cdn/shop/files/garage_project.svg?v=1742337697&width=350 350w, //printroom.co/cdn/shop/files/garage_project.svg?v=1742337697&width=450 450w, //printroom.co/cdn/shop/files/garage_project.svg?v=1742337697&width=750 750w, //printroom.co/cdn/shop/files/garage_project.svg?v=1742337697&width=850 850w, //printroom.co/cdn/shop/files/garage_project.svg?v=1742337697&width=960 960w, //printroom.co/cdn/shop/files/garage_project.svg?v=1742337697&width=1280 1280w, //printroom.co/cdn/shop/files/garage_project.svg?v=1742337697&width=1440 1440w, //printroom.co/cdn/shop/files/garage_project.svg?v=1742337697&width=1536 1536w, //printroom.co/cdn/shop/files/garage_project.svg?v=1742337697&width=1706 1706w, //printroom.co/cdn/shop/files/garage_project.svg?v=1742337697&width=1782 1782w, //printroom.co/cdn/shop/files/garage_project.svg?v=1742337697&width=1920 1920w, //printroom.co/cdn/shop/files/garage_project.svg?v=1742337697&width=2560 2560w, //printroom.co/cdn/shop/files/garage_project.svg?v=1742337697&width=2880 2880w, //printroom.co/cdn/shop/files/garage_project.svg?v=1742337697&width=3000 3000w" width="3000" height="1974" loading="lazy" class="peer/image block absolute inset-0 w-full h-full object-contain" sizes="120px"> 7089 7090</image-with-placeholder> 7091 7092 </div> 7093 7094</div> 7095 7096 7097 7098 7099 <div 7100 class="relative block max-w-[--logo-width] w-[--logo-width] mx-5 lg:mt-0" 7101 > 7102 <div class="relative" style="padding-top: 100%;"> 7103 <image-with-placeholder> 7104 <img src="//printroom.co/cdn/shop/files/lesmills.svg?v=1742337446&width=3000" alt="les-mills-t-shirt-printing-NZ" srcset="//printroom.co/cdn/shop/files/lesmills.svg?v=1742337446&width=200 200w, //printroom.co/cdn/shop/files/lesmills.svg?v=1742337446&width=350 350w, //printroom.co/cdn/shop/files/lesmills.svg?v=1742337446&width=450 450w, //printroom.co/cdn/shop/files/lesmills.svg?v=1742337446&width=750 750w, //printroom.co/cdn/shop/files/lesmills.svg?v=1742337446&width=850 850w, //printroom.co/cdn/shop/files/lesmills.svg?v=1742337446&width=960 960w, //printroom.co/cdn/shop/files/lesmills.svg?v=1742337446&width=1280 1280w, //printroom.co/cdn/shop/files/lesmills.svg?v=1742337446&width=1440 1440w, //printroom.co/cdn/shop/files/lesmills.svg?v=1742337446&width=1536 1536w, //printroom.co/cdn/shop/files/lesmills.svg?v=1742337446&width=1706 1706w, //printroom.co/cdn/shop/files/lesmills.svg?v=1742337446&width=1782 1782w, //printroom.co/cdn/shop/files/lesmills.svg?v=1742337446&width=1920 1920w, //printroom.co/cdn/shop/files/lesmills.svg?v=1742337446&width=2560 2560w, //printroom.co/cdn/shop/files/lesmills.svg?v=1742337446&width=2880 2880w, //printroom.co/cdn/shop/files/lesmills.svg?v=1742337446&width=3000 3000w" width="3000" height="403" loading="lazy" class="peer/image block absolute inset-0 w-full h-full object-contain" sizes="120px"> 7105 7106</image-with-placeholder> 7107 7108 </div> 7109 7110</div> 7111 7112 7113 7114 7115 <div 7116 class="relative block max-w-[--logo-width] w-[--logo-width] mx-5 lg:mt-0" 7117 > 7118 <div class="relative" style="padding-top: 100%;"> 7119 <image-with-placeholder> 7120 <img src="//printroom.co/cdn/shop/files/real_nz.svg?v=1742337578&width=3000" alt="real-nz-t-shirt-printing" srcset="//printroom.co/cdn/shop/files/real_nz.svg?v=1742337578&width=200 200w, //printroom.co/cdn/shop/files/real_nz.svg?v=1742337578&width=350 350w, //printroom.co/cdn/shop/files/real_nz.svg?v=1742337578&width=450 450w, //printroom.co/cdn/shop/files/real_nz.svg?v=1742337578&width=750 750w, //printroom.co/cdn/shop/files/real_nz.svg?v=1742337578&width=850 850w, //printroom.co/cdn/shop/files/real_nz.svg?v=1742337578&width=960 960w, //printroom.co/cdn/shop/files/real_nz.svg?v=1742337578&width=1280 1280w, //printroom.co/cdn/shop/files/real_nz.svg?v=1742337578&width=1440 1440w, //printroom.co/cdn/shop/files/real_nz.svg?v=1742337578&width=1536 1536w, //printroom.co/cdn/shop/files/real_nz.svg?v=1742337578&width=1706 1706w, //printroom.co/cdn/shop/files/real_nz.svg?v=1742337578&width=1782 1782w, //printroom.co/cdn/shop/files/real_nz.svg?v=1742337578&width=1920 1920w, //printroom.co/cdn/shop/files/real_nz.svg?v=1742337578&width=2560 2560w, //printroom.co/cdn/shop/files/real_nz.svg?v=1742337578&width=2880 2880w, //printroom.co/cdn/shop/files/real_nz.svg?v=1742337578&width=3000 3000w" width="3000" height="3000" loading="lazy" class="peer/image block absolute inset-0 w-full h-full object-contain" sizes="120px"> 7121 7122</image-with-placeholder> 7123 7124 </div> 7125 7126</div> 7127 7128 7129 7130 7131 <div 7132 class="relative block max-w-[--logo-width] w-[--logo-width] mx-5 lg:mt-0" 7133 > 7134 <div class="relative" style="padding-top: 100%;"> 7135 <image-with-placeholder> 7136 <img src="//printroom.co/cdn/shop/files/sharsies.svg?v=1742352390&width=3000" alt="sharsies-custom-t-shirt-printing" srcset="//printroom.co/cdn/shop/files/sharsies.svg?v=1742352390&width=200 200w, //printroom.co/cdn/shop/files/sharsies.svg?v=1742352390&width=350 350w, //printroom.co/cdn/shop/files/sharsies.svg?v=1742352390&width=450 450w, //printroom.co/cdn/shop/files/sharsies.svg?v=1742352390&width=750 750w, //printroom.co/cdn/shop/files/sharsies.svg?v=1742352390&width=850 850w, //printroom.co/cdn/shop/files/sharsies.svg?v=1742352390&width=960 960w, //printroom.co/cdn/shop/files/sharsies.svg?v=1742352390&width=1280 1280w, //printroom.co/cdn/shop/files/sharsies.svg?v=1742352390&width=1440 1440w, //printroom.co/cdn/shop/files/sharsies.svg?v=1742352390&width=1536 1536w, //printroom.co/cdn/shop/files/sharsies.svg?v=1742352390&width=1706 1706w, //printroom.co/cdn/shop/files/sharsies.svg?v=1742352390&width=1782 1782w, //printroom.co/cdn/shop/files/sharsies.svg?v=1742352390&width=1920 1920w, //printroom.co/cdn/shop/files/sharsies.svg?v=1742352390&width=2560 2560w, //printroom.co/cdn/shop/files/sharsies.svg?v=1742352390&width=2880 2880w, //printroom.co/cdn/shop/files/sharsies.svg?v=1742352390&width=3000 3000w" width="3000" height="826" loading="lazy" class="peer/image block absolute inset-0 w-full h-full object-contain" sizes="120px"> 7137 7138</image-with-placeholder> 7139 7140 </div> 7141 7142</div> 7143 7144 7145 7146 7147 <div 7148 class="relative block max-w-[--logo-width] w-[--logo-width] mx-5 lg:mt-0" 7149 > 7150 <div class="relative" style="padding-top: 100%;"> 7151 <image-with-placeholder> 7152 <img src="//printroom.co/cdn/shop/files/te_wananga.svg?v=1742337645&width=3000" alt="te-wananga-t-shirt-printing" srcset="//printroom.co/cdn/shop/files/te_wananga.svg?v=1742337645&width=200 200w, //printroom.co/cdn/shop/files/te_wananga.svg?v=1742337645&width=350 350w, //printroom.co/cdn/shop/files/te_wananga.svg?v=1742337645&width=450 450w, //printroom.co/cdn/shop/files/te_wananga.svg?v=1742337645&width=750 750w, //printroom.co/cdn/shop/files/te_wananga.svg?v=1742337645&width=850 850w, //printroom.co/cdn/shop/files/te_wananga.svg?v=1742337645&width=960 960w, //printroom.co/cdn/shop/files/te_wananga.svg?v=1742337645&width=1280 1280w, //printroom.co/cdn/shop/files/te_wananga.svg?v=1742337645&width=1440 1440w, //printroom.co/cdn/shop/files/te_wananga.svg?v=1742337645&width=1536 1536w, //printroom.co/cdn/shop/files/te_wananga.svg?v=1742337645&width=1706 1706w, //printroom.co/cdn/shop/files/te_wananga.svg?v=1742337645&width=1782 1782w, //printroom.co/cdn/shop/files/te_wananga.svg?v=1742337645&width=1920 1920w, //printroom.co/cdn/shop/files/te_wananga.svg?v=1742337645&width=2560 2560w, //printroom.co/cdn/shop/files/te_wananga.svg?v=1742337645&width=2880 2880w, //printroom.co/cdn/shop/files/te_wananga.svg?v=1742337645&width=3000 3000w" width="3000" height="3236" loading="lazy" class="peer/image block absolute inset-0 w-full h-full object-contain" sizes="120px"> 7153 7154</image-with-placeholder> 7155 7156 </div> 7157 7158</div> 7159 7160</span> 7161
7162 <span 7163 class="motion-reduce:hidden grow-0 shrink-0 " 7164 aria-hidden="true" 7165 > 7166 7167 7168 7169 <div 7170 class="relative block max-w-[--logo-width] w-[--logo-width] mx-5 lg:mt-0" 7171 > 7172 <div class="relative" style="padding-top: 100%;"> 7173 <image-with-placeholder> 7174 <img src="//printroom.co/cdn/shop/files/otago_uni.svg?v=1742352406&width=3000" alt="otago university t-shirt-printing-NZ" srcset="//printroom.co/cdn/shop/files/otago_uni.svg?v=1742352406&width=200 200w, //printroom.co/cdn/shop/files/otago_uni.svg?v=1742352406&width=350 350w, //printroom.co/cdn/shop/files/otago_uni.svg?v=1742352406&width=450 450w, //printroom.co/cdn/shop/files/otago_uni.svg?v=1742352406&width=750 750w, //printroom.co/cdn/shop/files/otago_uni.svg?v=1742352406&width=850 850w, //printroom.co/cdn/shop/files/otago_uni.svg?v=1742352406&width=960 960w, //printroom.co/cdn/shop/files/otago_uni.svg?v=1742352406&width=1280 1280w, //printroom.co/cdn/shop/files/otago_uni.svg?v=1742352406&width=1440 1440w, //printroom.co/cdn/shop/files/otago_uni.svg?v=1742352406&width=1536 1536w, //printroom.co/cdn/shop/files/otago_uni.svg?v=1742352406&width=1706 1706w, //printroom.co/cdn/shop/files/otago_uni.svg?v=1742352406&width=1782 1782w, //printroom.co/cdn/shop/files/otago_uni.svg?v=1742352406&width=1920 1920w, //printroom.co/cdn/shop/files/otago_uni.svg?v=1742352406&width=2560 2560w, //printroom.co/cdn/shop/files/otago_uni.svg?v=1742352406&width=2880 2880w, //printroom.co/cdn/shop/files/otago_uni.svg?v=1742352406&width=3000 3000w" width="3000" height="4641" loading="lazy" class="peer/image block absolute inset-0 w-full h-full object-contain" sizes="120px"> 7175 7176</image-with-placeholder> 7177 7178 </div> 7179 7180</div> 7181 7182 7183 7184 7185 <div 7186 class="relative block max-w-[--logo-width] w-[--logo-width] mx-5 lg:mt-0" 7187 > 7188 <div class="relative" style="padding-top: 100%;"> 7189 <image-with-placeholder> 7190 <img src="//printroom.co/cdn/shop/files/garage_project.svg?v=1742337697&width=3000" alt="" srcset="//printroom.co/cdn/shop/files/garage_project.svg?v=1742337697&width=200 200w, //printroom.co/cdn/shop/files/garage_project.svg?v=1742337697&width=350 350w, //printroom.co/cdn/shop/files/garage_project.svg?v=1742337697&width=450 450w, //printroom.co/cdn/shop/files/garage_project.svg?v=1742337697&width=750 750w, //printroom.co/cdn/shop/files/garage_project.svg?v=1742337697&width=850 850w, //printroom.co/cdn/shop/files/garage_project.svg?v=1742337697&width=960 960w, //printroom.co/cdn/shop/files/garage_project.svg?v=1742337697&width=1280 1280w, //printroom.co/cdn/shop/files/garage_project.svg?v=1742337697&width=1440 1440w, //printroom.co/cdn/shop/files/garage_project.svg?v=1742337697&width=1536 1536w, //printroom.co/cdn/shop/files/garage_project.svg?v=1742337697&width=1706 1706w, //printroom.co/cdn/shop/files/garage_project.svg?v=1742337697&width=1782 1782w, //printroom.co/cdn/shop/files/garage_project.svg?v=1742337697&width=1920 1920w, //printroom.co/cdn/shop/files/garage_project.svg?v=1742337697&width=2560 2560w, //printroom.co/cdn/shop/files/garage_project.svg?v=1742337697&width=2880 2880w, //printroom.co/cdn/shop/files/garage_project.svg?v=1742337697&width=3000 3000w" width="3000" height="1974" loading="lazy" class="peer/image block absolute inset-0 w-full h-full object-contain" sizes="120px"> 7191 7192</image-with-placeholder> 7193 7194 </div> 7195 7196</div> 7197 7198 7199 7200 7201 <div 7202 class="relative block max-w-[--logo-width] w-[--logo-width] mx-5 lg:mt-0" 7203 > 7204 <div class="relative" style="padding-top: 100%;"> 7205 <image-with-placeholder> 7206 <img src="//printroom.co/cdn/shop/files/lesmills.svg?v=1742337446&width=3000" alt="les-mills-t-shirt-printing-NZ" srcset="//printroom.co/cdn/shop/files/lesmills.svg?v=1742337446&width=200 200w, //printroom.co/cdn/shop/files/lesmills.svg?v=1742337446&width=350 350w, //printroom.co/cdn/shop/files/lesmills.svg?v=1742337446&width=450 450w, //printroom.co/cdn/shop/files/lesmills.svg?v=1742337446&width=750 750w, //printroom.co/cdn/shop/files/lesmills.svg?v=1742337446&width=850 850w, //printroom.co/cdn/shop/files/lesmills.svg?v=1742337446&width=960 960w, //printroom.co/cdn/shop/files/lesmills.svg?v=1742337446&width=1280 1280w, //printroom.co/cdn/shop/files/lesmills.svg?v=1742337446&width=1440 1440w, //printroom.co/cdn/shop/files/lesmills.svg?v=1742337446&width=1536 1536w, //printroom.co/cdn/shop/files/lesmills.svg?v=1742337446&width=1706 1706w, //printroom.co/cdn/shop/files/lesmills.svg?v=1742337446&width=1782 1782w, //printroom.co/cdn/shop/files/lesmills.svg?v=1742337446&width=1920 1920w, //printroom.co/cdn/shop/files/lesmills.svg?v=1742337446&width=2560 2560w, //printroom.co/cdn/shop/files/lesmills.svg?v=1742337446&width=2880 2880w, //printroom.co/cdn/shop/files/lesmills.svg?v=1742337446&width=3000 3000w" width="3000" height="403" loading="lazy" class="peer/image block absolute inset-0 w-full h-full object-contain" sizes="120px"> 7207 7208</image-with-placeholder> 7209 7210 </div> 7211 7212</div> 7213 7214 7215 7216 7217 <div 7218 class="relative block max-w-[--logo-width] w-[--logo-width] mx-5 lg:mt-0" 7219 > 7220 <div class="relative" style="padding-top: 100%;"> 7221 <image-with-placeholder> 7222 <img src="//printroom.co/cdn/shop/files/real_nz.svg?v=1742337578&width=3000" alt="real-nz-t-shirt-printing" srcset="//printroom.co/cdn/shop/files/real_nz.svg?v=1742337578&width=200 200w, //printroom.co/cdn/shop/files/real_nz.svg?v=1742337578&width=350 350w, //printroom.co/cdn/shop/files/real_nz.svg?v=1742337578&width=450 450w, //printroom.co/cdn/shop/files/real_nz.svg?v=1742337578&width=750 750w, //printroom.co/cdn/shop/files/real_nz.svg?v=1742337578&width=850 850w, //printroom.co/cdn/shop/files/real_nz.svg?v=1742337578&width=960 960w, //printroom.co/cdn/shop/files/real_nz.svg?v=1742337578&width=1280 1280w, //printroom.co/cdn/shop/files/real_nz.svg?v=1742337578&width=1440 1440w, //printroom.co/cdn/shop/files/real_nz.svg?v=1742337578&width=1536 1536w, //printroom.co/cdn/shop/files/real_nz.svg?v=1742337578&width=1706 1706w, //printroom.co/cdn/shop/files/real_nz.svg?v=1742337578&width=1782 1782w, //printroom.co/cdn/shop/files/real_nz.svg?v=1742337578&width=1920 1920w, //printroom.co/cdn/shop/files/real_nz.svg?v=1742337578&width=2560 2560w, //printroom.co/cdn/shop/files/real_nz.svg?v=1742337578&width=2880 2880w, //printroom.co/cdn/shop/files/real_nz.svg?v=1742337578&width=3000 3000w" width="3000" height="3000" loading="lazy" class="peer/image block absolute inset-0 w-full h-full object-contain" sizes="120px"> 7223 7224</image-with-placeholder> 7225 7226 </div> 7227 7228</div> 7229 7230 7231 7232 7233 <div 7234 class="relative block max-w-[--logo-width] w-[--logo-width] mx-5 lg:mt-0" 7235 > 7236 <div class="relative" style="padding-top: 100%;"> 7237 <image-with-placeholder> 7238 <img src="//printroom.co/cdn/shop/files/sharsies.svg?v=1742352390&width=3000" alt="sharsies-custom-t-shirt-printing" srcset="//printroom.co/cdn/shop/files/sharsies.svg?v=1742352390&width=200 200w, //printroom.co/cdn/shop/files/sharsies.svg?v=1742352390&width=350 350w, //printroom.co/cdn/shop/files/sharsies.svg?v=1742352390&width=450 450w, //printroom.co/cdn/shop/files/sharsies.svg?v=1742352390&width=750 750w, //printroom.co/cdn/shop/files/sharsies.svg?v=1742352390&width=850 850w, //printroom.co/cdn/shop/files/sharsies.svg?v=1742352390&width=960 960w, //printroom.co/cdn/shop/files/sharsies.svg?v=1742352390&width=1280 1280w, //printroom.co/cdn/shop/files/sharsies.svg?v=1742352390&width=1440 1440w, //printroom.co/cdn/shop/files/sharsies.svg?v=1742352390&width=1536 1536w, //printroom.co/cdn/shop/files/sharsies.svg?v=1742352390&width=1706 1706w, //printroom.co/cdn/shop/files/sharsies.svg?v=1742352390&width=1782 1782w, //printroom.co/cdn/shop/files/sharsies.svg?v=1742352390&width=1920 1920w, //printroom.co/cdn/shop/files/sharsies.svg?v=1742352390&width=2560 2560w, //printroom.co/cdn/shop/files/sharsies.svg?v=1742352390&width=2880 2880w, //printroom.co/cdn/shop/files/sharsies.svg?v=1742352390&width=3000 3000w" width="3000" height="826" loading="lazy" class="peer/image block absolute inset-0 w-full h-full object-contain" sizes="120px"> 7239 7240</image-with-placeholder> 7241 7242 </div> 7243 7244</div> 7245 7246 7247 7248 7249 <div 7250 class="relative block max-w-[--logo-width] w-[--logo-width] mx-5 lg:mt-0" 7251 > 7252 <div class="relative" style="padding-top: 100%;"> 7253 <image-with-placeholder> 7254 <img src="//printroom.co/cdn/shop/files/te_wananga.svg?v=1742337645&width=3000" alt="te-wananga-t-shirt-printing" srcset="//printroom.co/cdn/shop/files/te_wananga.svg?v=1742337645&width=200 200w, //printroom.co/cdn/shop/files/te_wananga.svg?v=1742337645&width=350 350w, //printroom.co/cdn/shop/files/te_wananga.svg?v=1742337645&width=450 450w, //printroom.co/cdn/shop/files/te_wananga.svg?v=1742337645&width=750 750w, //printroom.co/cdn/shop/files/te_wananga.svg?v=1742337645&width=850 850w, //printroom.co/cdn/shop/files/te_wananga.svg?v=1742337645&width=960 960w, //printroom.co/cdn/shop/files/te_wananga.svg?v=1742337645&width=1280 1280w, //printroom.co/cdn/shop/files/te_wananga.svg?v=1742337645&width=1440 1440w, //printroom.co/cdn/shop/files/te_wananga.svg?v=1742337645&width=1536 1536w, //printroom.co/cdn/shop/files/te_wananga.svg?v=1742337645&width=1706 1706w, //printroom.co/cdn/shop/files/te_wananga.svg?v=1742337645&width=1782 1782w, //printroom.co/cdn/shop/files/te_wananga.svg?v=1742337645&width=1920 1920w, //printroom.co/cdn/shop/files/te_wananga.svg?v=1742337645&width=2560 2560w, //printroom.co/cdn/shop/files/te_wananga.svg?v=1742337645&width=2880 2880w, //printroom.co/cdn/shop/files/te_wananga.svg?v=1742337645&width=3000 3000w" width="3000" height="3236" loading="lazy" class="peer/image block absolute inset-0 w-full h-full object-contain" sizes="120px"> 7255 7256</image-with-placeholder> 7257 7258 </div> 7259 7260</div> 7261 7262</span> 7263
7264 <span 7265 class="motion-reduce:hidden grow-0 shrink-0 " 7266 aria-hidden="true" 7267 > 7268 7269 7270 7271 <div 7272 class="relative block max-w-[--logo-width] w-[--logo-width] mx-5 lg:mt-0" 7273 > 7274 <div class="relative" style="padding-top: 100%;"> 7275 <image-with-placeholder> 7276 <img src="//printroom.co/cdn/shop/files/otago_uni.svg?v=1742352406&width=3000" alt="otago university t-shirt-printing-NZ" srcset="//printroom.co/cdn/shop/files/otago_uni.svg?v=1742352406&width=200 200w, //printroom.co/cdn/shop/files/otago_uni.svg?v=1742352406&width=350 350w, //printroom.co/cdn/shop/files/otago_uni.svg?v=1742352406&width=450 450w, //printroom.co/cdn/shop/files/otago_uni.svg?v=1742352406&width=750 750w, //printroom.co/cdn/shop/files/otago_uni.svg?v=1742352406&width=850 850w, //printroom.co/cdn/shop/files/otago_uni.svg?v=1742352406&width=960 960w, //printroom.co/cdn/shop/files/otago_uni.svg?v=1742352406&width=1280 1280w, //printroom.co/cdn/shop/files/otago_uni.svg?v=1742352406&width=1440 1440w, //printroom.co/cdn/shop/files/otago_uni.svg?v=1742352406&width=1536 1536w, //printroom.co/cdn/shop/files/otago_uni.svg?v=1742352406&width=1706 1706w, //printroom.co/cdn/shop/files/otago_uni.svg?v=1742352406&width=1782 1782w, //printroom.co/cdn/shop/files/otago_uni.svg?v=1742352406&width=1920 1920w, //printroom.co/cdn/shop/files/otago_uni.svg?v=1742352406&width=2560 2560w, //printroom.co/cdn/shop/files/otago_uni.svg?v=1742352406&width=2880 2880w, //printroom.co/cdn/shop/files/otago_uni.svg?v=1742352406&width=3000 3000w" width="3000" height="4641" loading="lazy" class="peer/image block absolute inset-0 w-full h-full object-contain" sizes="120px"> 7277 7278</image-with-placeholder> 7279 7280 </div> 7281 7282</div> 7283 7284 7285 7286 7287 <div 7288 class="relative block max-w-[--logo-width] w-[--logo-width] mx-5 lg:mt-0" 7289 > 7290 <div class="relative" style="padding-top: 100%;"> 7291 <image-with-placeholder> 7292 <img src="//printroom.co/cdn/shop/files/garage_project.svg?v=1742337697&width=3000" alt="" srcset="//printroom.co/cdn/shop/files/garage_project.svg?v=1742337697&width=200 200w, //printroom.co/cdn/shop/files/garage_project.svg?v=1742337697&width=350 350w, //printroom.co/cdn/shop/files/garage_project.svg?v=1742337697&width=450 450w, //printroom.co/cdn/shop/files/garage_project.svg?v=1742337697&width=750 750w, //printroom.co/cdn/shop/files/garage_project.svg?v=1742337697&width=850 850w, //printroom.co/cdn/shop/files/garage_project.svg?v=1742337697&width=960 960w, //printroom.co/cdn/shop/files/garage_project.svg?v=1742337697&width=1280 1280w, //printroom.co/cdn/shop/files/garage_project.svg?v=1742337697&width=1440 1440w, //printroom.co/cdn/shop/files/garage_project.svg?v=1742337697&width=1536 1536w, //printroom.co/cdn/shop/files/garage_project.svg?v=1742337697&width=1706 1706w, //printroom.co/cdn/shop/files/garage_project.svg?v=1742337697&width=1782 1782w, //printroom.co/cdn/shop/files/garage_project.svg?v=1742337697&width=1920 1920w, //printroom.co/cdn/shop/files/garage_project.svg?v=1742337697&width=2560 2560w, //printroom.co/cdn/shop/files/garage_project.svg?v=1742337697&width=2880 2880w, //printroom.co/cdn/shop/files/garage_project.svg?v=1742337697&width=3000 3000w" width="3000" height="1974" loading="lazy" class="peer/image block absolute inset-0 w-full h-full object-contain" sizes="120px"> 7293 7294</image-with-placeholder> 7295 7296 </div> 7297 7298</div> 7299 7300 7301 7302 7303 <div 7304 class="relative block max-w-[--logo-width] w-[--logo-width] mx-5 lg:mt-0" 7305 > 7306 <div class="relative" style="padding-top: 100%;"> 7307 <image-with-placeholder> 7308 <img src="//printroom.co/cdn/shop/files/lesmills.svg?v=1742337446&width=3000" alt="les-mills-t-shirt-printing-NZ" srcset="//printroom.co/cdn/shop/files/lesmills.svg?v=1742337446&width=200 200w, //printroom.co/cdn/shop/files/lesmills.svg?v=1742337446&width=350 350w, //printroom.co/cdn/shop/files/lesmills.svg?v=1742337446&width=450 450w, //printroom.co/cdn/shop/files/lesmills.svg?v=1742337446&width=750 750w, //printroom.co/cdn/shop/files/lesmills.svg?v=1742337446&width=850 850w, //printroom.co/cdn/shop/files/lesmills.svg?v=1742337446&width=960 960w, //printroom.co/cdn/shop/files/lesmills.svg?v=1742337446&width=1280 1280w, //printroom.co/cdn/shop/files/lesmills.svg?v=1742337446&width=1440 1440w, //printroom.co/cdn/shop/files/lesmills.svg?v=1742337446&width=1536 1536w, //printroom.co/cdn/shop/files/lesmills.svg?v=1742337446&width=1706 1706w, //printroom.co/cdn/shop/files/lesmills.svg?v=1742337446&width=1782 1782w, //printroom.co/cdn/shop/files/lesmills.svg?v=1742337446&width=1920 1920w, //printroom.co/cdn/shop/files/lesmills.svg?v=1742337446&width=2560 2560w, //printroom.co/cdn/shop/files/lesmills.svg?v=1742337446&width=2880 2880w, //printroom.co/cdn/shop/files/lesmills.svg?v=1742337446&width=3000 3000w" width="3000" height="403" loading="lazy" class="peer/image block absolute inset-0 w-full h-full object-contain" sizes="120px"> 7309 7310</image-with-placeholder> 7311 7312 </div> 7313 7314</div> 7315 7316 7317 7318 7319 <div 7320 class="relative block max-w-[--logo-width] w-[--logo-width] mx-5 lg:mt-0" 7321 > 7322 <div class="relative" style="padding-top: 100%;"> 7323 <image-with-placeholder> 7324 <img src="//printroom.co/cdn/shop/files/real_nz.svg?v=1742337578&width=3000" alt="real-nz-t-shirt-printing" srcset="//printroom.co/cdn/shop/files/real_nz.svg?v=1742337578&width=200 200w, //printroom.co/cdn/shop/files/real_nz.svg?v=1742337578&width=350 350w, //printroom.co/cdn/shop/files/real_nz.svg?v=1742337578&width=450 450w, //printroom.co/cdn/shop/files/real_nz.svg?v=1742337578&width=750 750w, //printroom.co/cdn/shop/files/real_nz.svg?v=1742337578&width=850 850w, //printroom.co/cdn/shop/files/real_nz.svg?v=1742337578&width=960 960w, //printroom.co/cdn/shop/files/real_nz.svg?v=1742337578&width=1280 1280w, //printroom.co/cdn/shop/files/real_nz.svg?v=1742337578&width=1440 1440w, //printroom.co/cdn/shop/files/real_nz.svg?v=1742337578&width=1536 1536w, //printroom.co/cdn/shop/files/real_nz.svg?v=1742337578&width=1706 1706w, //printroom.co/cdn/shop/files/real_nz.svg?v=1742337578&width=1782 1782w, //printroom.co/cdn/shop/files/real_nz.svg?v=1742337578&width=1920 1920w, //printroom.co/cdn/shop/files/real_nz.svg?v=1742337578&width=2560 2560w, //printroom.co/cdn/shop/files/real_nz.svg?v=1742337578&width=2880 2880w, //printroom.co/cdn/shop/files/real_nz.svg?v=1742337578&width=3000 3000w" width="3000" height="3000" loading="lazy" class="peer/image block absolute inset-0 w-full h-full object-contain" sizes="120px"> 7325 7326</image-with-placeholder> 7327 7328 </div> 7329 7330</div> 7331 7332 7333 7334 7335 <div 7336 class="relative block max-w-[--logo-width] w-[--logo-width] mx-5 lg:mt-0" 7337 > 7338 <div class="relative" style="padding-top: 100%;"> 7339 <image-with-placeholder> 7340 <img src="//printroom.co/cdn/shop/files/sharsies.svg?v=1742352390&width=3000" alt="sharsies-custom-t-shirt-printing" srcset="//printroom.co/cdn/shop/files/sharsies.svg?v=1742352390&width=200 200w, //printroom.co/cdn/shop/files/sharsies.svg?v=1742352390&width=350 350w, //printroom.co/cdn/shop/files/sharsies.svg?v=1742352390&width=450 450w, //printroom.co/cdn/shop/files/sharsies.svg?v=1742352390&width=750 750w, //printroom.co/cdn/shop/files/sharsies.svg?v=1742352390&width=850 850w, //printroom.co/cdn/shop/files/sharsies.svg?v=1742352390&width=960 960w, //printroom.co/cdn/shop/files/sharsies.svg?v=1742352390&width=1280 1280w, //printroom.co/cdn/shop/files/sharsies.svg?v=1742352390&width=1440 1440w, //printroom.co/cdn/shop/files/sharsies.svg?v=1742352390&width=1536 1536w, //printroom.co/cdn/shop/files/sharsies.svg?v=1742352390&width=1706 1706w, //printroom.co/cdn/shop/files/sharsies.svg?v=1742352390&width=1782 1782w, //printroom.co/cdn/shop/files/sharsies.svg?v=1742352390&width=1920 1920w, //printroom.co/cdn/shop/files/sharsies.svg?v=1742352390&width=2560 2560w, //printroom.co/cdn/shop/files/sharsies.svg?v=1742352390&width=2880 2880w, //printroom.co/cdn/shop/files/sharsies.svg?v=1742352390&width=3000 3000w" width="3000" height="826" loading="lazy" class="peer/image block absolute inset-0 w-full h-full object-contain" sizes="120px"> 7341 7342</image-with-placeholder> 7343 7344 </div> 7345 7346</div> 7347 7348 7349 7350 7351 <div 7352 class="relative block max-w-[--logo-width] w-[--logo-width] mx-5 lg:mt-0" 7353 > 7354 <div class="relative" style="padding-top: 100%;"> 7355 <image-with-placeholder> 7356 <img src="//printroom.co/cdn/shop/files/te_wananga.svg?v=1742337645&width=3000" alt="te-wananga-t-shirt-printing" srcset="//printroom.co/cdn/shop/files/te_wananga.svg?v=1742337645&width=200 200w, //printroom.co/cdn/shop/files/te_wananga.svg?v=1742337645&width=350 350w, //printroom.co/cdn/shop/files/te_wananga.svg?v=1742337645&width=450 450w, //printroom.co/cdn/shop/files/te_wananga.svg?v=1742337645&width=750 750w, //printroom.co/cdn/shop/files/te_wananga.svg?v=1742337645&width=850 850w, //printroom.co/cdn/shop/files/te_wananga.svg?v=1742337645&width=960 960w, //printroom.co/cdn/shop/files/te_wananga.svg?v=1742337645&width=1280 1280w, //printroom.co/cdn/shop/files/te_wananga.svg?v=1742337645&width=1440 1440w, //printroom.co/cdn/shop/files/te_wananga.svg?v=1742337645&width=1536 1536w, //printroom.co/cdn/shop/files/te_wananga.svg?v=1742337645&width=1706 1706w, //printroom.co/cdn/shop/files/te_wananga.svg?v=1742337645&width=1782 1782w, //printroom.co/cdn/shop/files/te_wananga.svg?v=1742337645&width=1920 1920w, //printroom.co/cdn/shop/files/te_wananga.svg?v=1742337645&width=2560 2560w, //printroom.co/cdn/shop/files/te_wananga.svg?v=1742337645&width=2880 2880w, //printroom.co/cdn/shop/files/te_wananga.svg?v=1742337645&width=3000 3000w" width="3000" height="3236" loading="lazy" class="peer/image block absolute inset-0 w-full h-full object-contain" sizes="120px"> 7357 7358</image-with-placeholder> 7359 7360 </div> 7361 7362</div> 7363 7364</span> 7365 7366 </noscript> 7367 </scrolling-items-surface> 7368 </scrolling-items> 7369 </scrolling-items-container> 7370 </div> 7371 7372</section> 7373 7374 7375<style> #shopify-section-template--21296459743302__logo_list_VX7K46 .flex {gap: 60px; padding-top: 60px; padding-bottom: 60px;} @media (max-width: 480px) {#shopify-section-template--21296459743302__logo_list_VX7K46 .flex {gap: 30px; padding-top: 60px; padding-bottom: 60px; }} #shopify-section-template--21296459743302__logo_list_VX7K46 .block {background: transparent;} </style></div><div id="shopify-section-template--21296459743302__scrolling_text_UhrYBp" class="shopify-section"> 7376 7377<section
7378 class="border-b-gridline border-gridline-color bg-scheme-background text-scheme-text" 7379 data-color-scheme="scheme2" 7380> 7381 7382 7383 7384 7385 7386 7387<div 7388 class="py-2 lg:py-3.5 overflow-hidden" 7389> 7390 7391 <scrolling-items-container class="block"> 7392 <scrolling-items 7393 style=" 7394 --base-scrolling-items-speed: 18s; 7395 --local-scrolling-items-speed-multiplier: 1; 7396 --scrolling-items-speed: calc( 7397 var(--base-scrolling-items-speed) * var(--global-scrolling-items-speed-multiplier) * 7398 var(--local-scrolling-items-speed-multiplier) 7399 ); 7400 --scrolling-items-direction: normal;" 7401 class="block w-max whitespace-nowrap motion-safe:animate-[scrolling-items_var(--scrolling-items-speed)_linear_infinite_var(--scrolling-items-direction)] motion-safe:focus-within:[animation-play-state:paused] motion-safe:hover:[animation-play-state:paused] font-body text-scale-n3 lg:text-scale-n4 motion-reduce:block motion-reduce:whitespace-normal motion-reduce:px-section-horizontal-spacing motion-reduce:text-center motion-reduce:-translate-x-1/4" 7402 > 7403 <scrolling-items-surface class="flex flex-nowrap items-center"> 7404 <scrolling-items-content class="grow-0 shrink-0 pl-2 lg:px-4">Hear what our customers have to say âºï¸</scrolling-items-content> 7405 <noscript> 7406 7407 7408 <span class="motion-reduce:hidden grow-0 shrink-0 pl-2 lg:px-4">Hear what our customers have to say âºï¸</span> 7409 7410 <span class="motion-reduce:hidden grow-0 shrink-0 pl-2 lg:px-4">Hear what our customers have to say âºï¸</span> 7411 7412 <span class="motion-reduce:hidden grow-0 shrink-0 pl-2 lg:px-4">Hear what our customers have to say âºï¸</span> 7413 7414 <span class="motion-reduce:hidden grow-0 shrink-0 pl-2 lg:px-4">Hear what our customers have to say âºï¸</span> 7415 7416 <span class="motion-reduce:hidden grow-0 shrink-0 pl-2 lg:px-4">Hear what our customers have to say âºï¸</span> 7417 7418 <span class="motion-reduce:hidden grow-0 shrink-0 pl-2 lg:px-4">Hear what our customers have to say âºï¸</span> 7419 7420 <span class="motion-reduce:hidden grow-0 shrink-0 pl-2 lg:px-4">Hear what our customers have to say âºï¸</span> 7421 7422 <span class="motion-reduce:hidden grow-0 shrink-0 pl-2 lg:px-4">Hear what our customers have to say âºï¸</span> 7423 7424 <span class="motion-reduce:hidden grow-0 shrink-0 pl-2 lg:px-4">Hear what our customers have to say âºï¸</span> 7425 7426 <span class="motion-reduce:hidden grow-0 shrink-0 pl-2 lg:px-4">Hear what our customers have to say âºï¸</span> 7427 7428 <span class="motion-reduce:hidden grow-0 shrink-0 pl-2 lg:px-4">Hear what our customers have to say âºï¸</span> 7429 7430 </noscript> 7431 </scrolling-items-surface> 7432 </scrolling-items> 7433 </scrolling-items-container> 7434 7435 7436</div> 7437 7438</section> 7439 7440 7441</div><div id="shopify-section-template--21296459743302__text_columns_with_images_4THkEY" class="shopify-section"><section 7442 class="border-b-gridline border-gridline-color bg-gridline-color snap-section" 7443 x-data="{ visible: false }" 7444 x-intersect:enter.threshold.25="visible = true" 7445 x-intersect:leave="visible = false" 7446> 7447 7448 7449 <ul class="grid grid-cols-1 gap-gridline lg:grid-cols-12" data-stagger> 7450 7451<li 7452 class="lg:col-span-3 bg-scheme-background text-base text-scheme-text text-left" 7453 7454 data-color-scheme="scheme4" 7455 data-animate="slide-up" 7456 :class="{ 'is-visible': visible }" 7457 ><a 7458 href="" 7459 class="group block" 7460 aria-label="" 7461 > 7462 <div class="bg-scheme-background p-2 lg:p-4 transition-transform group-hover:scale-105"> 7463 7464 <image-with-placeholder 7465 class="relative w-full" 7466 style="padding-bottom: 100%;" 7467 ><img src="//printroom.co/cdn/shop/files/parrotdog_5_69679db7-7392-43f5-b0b4-ae411be27ba6.jpg?v=1752720637&width=3000" alt="Custom printed tea towel nz, embroidery, supacolour, screen printing nz" srcset="//printroom.co/cdn/shop/files/parrotdog_5_69679db7-7392-43f5-b0b4-ae411be27ba6.jpg?v=1752720637&width=200 200w, //printroom.co/cdn/shop/files/parrotdog_5_69679db7-7392-43f5-b0b4-ae411be27ba6.jpg?v=1752720637&width=350 350w, //printroom.co/cdn/shop/files/parrotdog_5_69679db7-7392-43f5-b0b4-ae411be27ba6.jpg?v=1752720637&width=450 450w, //printroom.co/cdn/shop/files/parrotdog_5_69679db7-7392-43f5-b0b4-ae411be27ba6.jpg?v=1752720637&width=750 750w, //printroom.co/cdn/shop/files/parrotdog_5_69679db7-7392-43f5-b0b4-ae411be27ba6.jpg?v=1752720637&width=850 850w, //printroom.co/cdn/shop/files/parrotdog_5_69679db7-7392-43f5-b0b4-ae411be27ba6.jpg?v=1752720637&width=960 960w, //printroom.co/cdn/shop/files/parrotdog_5_69679db7-7392-43f5-b0b4-ae411be27ba6.jpg?v=1752720637&width=1280 1280w, //printroom.co/cdn/shop/files/parrotdog_5_69679db7-7392-43f5-b0b4-ae411be27ba6.jpg?v=1752720637&width=1440 1440w, //printroom.co/cdn/shop/files/parrotdog_5_69679db7-7392-43f5-b0b4-ae411be27ba6.jpg?v=1752720637&width=1536 1536w, //printroom.co/cdn/shop/files/parrotdog_5_69679db7-7392-43f5-b0b4-ae411be27ba6.jpg?v=1752720637&width=1706 1706w, //printroom.co/cdn/shop/files/parrotdog_5_69679db7-7392-43f5-b0b4-ae411be27ba6.jpg?v=1752720637&width=1782 1782w, //printroom.co/cdn/shop/files/parrotdog_5_69679db7-7392-43f5-b0b4-ae411be27ba6.jpg?v=1752720637&width=1920 1920w, //printroom.co/cdn/shop/files/parrotdog_5_69679db7-7392-43f5-b0b4-ae411be27ba6.jpg?v=1752720637&width=2560 2560w, //printroom.co/cdn/shop/files/parrotdog_5_69679db7-7392-43f5-b0b4-ae411be27ba6.jpg?v=1752720637&width=2880 2880w, //printroom.co/cdn/shop/files/parrotdog_5_69679db7-7392-43f5-b0b4-ae411be27ba6.jpg?v=1752720637&width=3000 3000w" width="3000" height="3589" loading="lazy" class="peer/image absolute inset-0 w-full h-full object-cover" sizes="(min-width: 1024px) calc(100vw / 12 * 3), 100vw"> 7468 <div 7469 class="absolute inset-0 h-full w-full bg-scheme-text opacity-[0.05] peer-[.is-complete]/image:opacity-0 no-js:hidden" 7470 ></div> 7471 </image-with-placeholder> 7472 7473</div> 7474 </a><div class="px-section-horizontal-spacing py-section-vertical-spacing"> 7475 7476 7477 <div class="rte "> 7478 <p><em>"From the get-go the Print Room has been fantastic to work with, consistently delivering high-quality merch and apparel that embody Parrotdog's brand values and keep our website and shop looking vibrant. Nice."</em></p><h3>- Parrotdog</h3> 7479 </div> 7480 7481 </div> 7482 </li> 7483 7484<li 7485 class="lg:col-span-3 bg-scheme-background text-base text-scheme-text text-left" 7486 7487 data-color-scheme="scheme4" 7488 data-animate="slide-up" 7489 :class="{ 'is-visible': visible }" 7490 ><a 7491 href="" 7492 class="group block" 7493 aria-label="" 7494 > 7495 <div class="bg-scheme-background p-2 lg:p-4 transition-transform group-hover:scale-105"> 7496 7497 <image-with-placeholder 7498 class="relative w-full" 7499 style="padding-bottom: 100%;" 7500 ><img src="//printroom.co/cdn/shop/files/PrintRoomApril2024Image-36.jpg?v=1738097471&width=3000" alt="Custom hoodies nz, embroidery, supacolour, screen printing nz" srcset="//printroom.co/cdn/shop/files/PrintRoomApril2024Image-36.jpg?v=1738097471&width=200 200w, //printroom.co/cdn/shop/files/PrintRoomApril2024Image-36.jpg?v=1738097471&width=350 350w, //printroom.co/cdn/shop/files/PrintRoomApril2024Image-36.jpg?v=1738097471&width=450 450w, //printroom.co/cdn/shop/files/PrintRoomApril2024Image-36.jpg?v=1738097471&width=750 750w, //printroom.co/cdn/shop/files/PrintRoomApril2024Image-36.jpg?v=1738097471&width=850 850w, //printroom.co/cdn/shop/files/PrintRoomApril2024Image-36.jpg?v=1738097471&width=960 960w, //printroom.co/cdn/shop/files/PrintRoomApril2024Image-36.jpg?v=1738097471&width=1280 1280w, //printroom.co/cdn/shop/files/PrintRoomApril2024Image-36.jpg?v=1738097471&width=1440 1440w, //printroom.co/cdn/shop/files/PrintRoomApril2024Image-36.jpg?v=1738097471&width=1536 1536w, //printroom.co/cdn/shop/files/PrintRoomApril2024Image-36.jpg?v=1738097471&width=1706 1706w, //printroom.co/cdn/shop/files/PrintRoomApril2024Image-36.jpg?v=1738097471&width=1782 1782w, //printroom.co/cdn/shop/files/PrintRoomApril2024Image-36.jpg?v=1738097471&width=1920 1920w, //printroom.co/cdn/shop/files/PrintRoomApril2024Image-36.jpg?v=1738097471&width=2560 2560w, //printroom.co/cdn/shop/files/PrintRoomApril2024Image-36.jpg?v=1738097471&width=2880 2880w, //printroom.co/cdn/shop/files/PrintRoomApril2024Image-36.jpg?v=1738097471&width=3000 3000w" width="3000" height="3750" loading="lazy" class="peer/image absolute inset-0 w-full h-full object-cover" sizes="(min-width: 1024px) calc(100vw / 12 * 3), 100vw"> 7501 <div 7502 class="absolute inset-0 h-full w-full bg-scheme-text opacity-[0.05] peer-[.is-complete]/image:opacity-0 no-js:hidden" 7503 ></div> 7504 </image-with-placeholder> 7505 7506</div> 7507 </a><div class="px-section-horizontal-spacing py-section-vertical-spacing"> 7508 7509 7510 <div class="rte "> 7511 <p><em>"Cardrona loves working with the team at the Print Room. Witnessing our merchandise come to life is always a joy, thanks to their expertise, good vibes and seamless collaboration."</em></p><h3>- Cardrona</h3> 7512 </div> 7513 7514 </div> 7515 </li> 7516 7517<li 7518 class="lg:col-span-3 bg-scheme-background text-base text-scheme-text text-left" 7519 7520 data-color-scheme="scheme4" 7521 data-animate="slide-up" 7522 :class="{ 'is-visible': visible }" 7523 ><a 7524 href="" 7525 class="group block" 7526 aria-label="" 7527 > 7528 <div class="bg-scheme-background p-2 lg:p-4 transition-transform group-hover:scale-105"> 7529 7530 <image-with-placeholder 7531 class="relative w-full" 7532 style="padding-bottom: 100%;" 7533 ><img src="//printroom.co/cdn/shop/files/2024.09.16-Fra.2e16d0ba.fill-1280x1360-c100.format-webp.webp?v=1738098172&width=3000" alt="Custom printed merchandise nz, embroidery" srcset="//printroom.co/cdn/shop/files/2024.09.16-Fra.2e16d0ba.fill-1280x1360-c100.format-webp.webp?v=1738098172&width=200 200w, //printroom.co/cdn/shop/files/2024.09.16-Fra.2e16d0ba.fill-1280x1360-c100.format-webp.webp?v=1738098172&width=350 350w, //printroom.co/cdn/shop/files/2024.09.16-Fra.2e16d0ba.fill-1280x1360-c100.format-webp.webp?v=1738098172&width=450 450w, //printroom.co/cdn/shop/files/2024.09.16-Fra.2e16d0ba.fill-1280x1360-c100.format-webp.webp?v=1738098172&width=750 750w, //printroom.co/cdn/shop/files/2024.09.16-Fra.2e16d0ba.fill-1280x1360-c100.format-webp.webp?v=1738098172&width=850 850w, //printroom.co/cdn/shop/files/2024.09.16-Fra.2e16d0ba.fill-1280x1360-c100.format-webp.webp?v=1738098172&width=960 960w, //printroom.co/cdn/shop/files/2024.09.16-Fra.2e16d0ba.fill-1280x1360-c100.format-webp.webp?v=1738098172&width=1280 1280w, //printroom.co/cdn/shop/files/2024.09.16-Fra.2e16d0ba.fill-1280x1360-c100.format-webp.webp?v=1738098172&width=1440 1440w, //printroom.co/cdn/shop/files/2024.09.16-Fra.2e16d0ba.fill-1280x1360-c100.format-webp.webp?v=1738098172&width=1536 1536w, //printroom.co/cdn/shop/files/2024.09.16-Fra.2e16d0ba.fill-1280x1360-c100.format-webp.webp?v=1738098172&width=1706 1706w, //printroom.co/cdn/shop/files/2024.09.16-Fra.2e16d0ba.fill-1280x1360-c100.format-webp.webp?v=1738098172&width=1782 1782w, //printroom.co/cdn/shop/files/2024.09.16-Fra.2e16d0ba.fill-1280x1360-c100.format-webp.webp?v=1738098172&width=1920 1920w, //printroom.co/cdn/shop/files/2024.09.16-Fra.2e16d0ba.fill-1280x1360-c100.format-webp.webp?v=1738098172&width=2560 2560w, //printroom.co/cdn/shop/files/2024.09.16-Fra.2e16d0ba.fill-1280x1360-c100.format-webp.webp?v=1738098172&width=2880 2880w, //printroom.co/cdn/shop/files/2024.09.16-Fra.2e16d0ba.fill-1280x1360-c100.format-webp.webp?v=1738098172&width=3000 3000w" width="3000" height="3188" loading="lazy" class="peer/image absolute inset-0 w-full h-full object-cover" sizes="(min-width: 1024px) calc(100vw / 12 * 3), 100vw"> 7534 <div 7535 class="absolute inset-0 h-full w-full bg-scheme-text opacity-[0.05] peer-[.is-complete]/image:opacity-0 no-js:hidden" 7536 ></div> 7537 </image-with-placeholder> 7538 7539</div> 7540 </a><div class="px-section-horizontal-spacing py-section-vertical-spacing"> 7541 7542 7543 <div class="rte "> 7544 <p><em>"The quality of their products exceeds our expectations, and their ability to deliver on time, every time has made our partnership seamless and stress-free. "</em><br/></p><h3>- MTF Finance</h3> 7545 </div> 7546 7547 </div> 7548 </li> 7549 7550<li 7551 class="lg:col-span-3 bg-scheme-background text-base text-scheme-text text-left" 7552 7553 data-color-scheme="scheme4" 7554 data-animate="slide-up" 7555 :class="{ 'is-visible': visible }" 7556 ><a 7557 href="" 7558 class="group block" 7559 aria-label="" 7560 > 7561 <div class="bg-scheme-background p-2 lg:p-4 transition-transform group-hover:scale-105"> 7562 7563 <image-with-placeholder 7564 class="relative w-full" 7565 style="padding-bottom: 100%;" 7566 ><img src="//printroom.co/cdn/shop/files/BB__5920.webp?v=1753239096&width=3000" alt="Custom t shirt printing nz, screen printing nz" srcset="//printroom.co/cdn/shop/files/BB__5920.webp?v=1753239096&width=200 200w, //printroom.co/cdn/shop/files/BB__5920.webp?v=1753239096&width=350 350w, //printroom.co/cdn/shop/files/BB__5920.webp?v=1753239096&width=450 450w, //printroom.co/cdn/shop/files/BB__5920.webp?v=1753239096&width=750 750w, //printroom.co/cdn/shop/files/BB__5920.webp?v=1753239096&width=850 850w, //printroom.co/cdn/shop/files/BB__5920.webp?v=1753239096&width=960 960w, //printroom.co/cdn/shop/files/BB__5920.webp?v=1753239096&width=1280 1280w, //printroom.co/cdn/shop/files/BB__5920.webp?v=1753239096&width=1440 1440w, //printroom.co/cdn/shop/files/BB__5920.webp?v=1753239096&width=1536 1536w, //printroom.co/cdn/shop/files/BB__5920.webp?v=1753239096&width=1706 1706w, //printroom.co/cdn/shop/files/BB__5920.webp?v=1753239096&width=1782 1782w, //printroom.co/cdn/shop/files/BB__5920.webp?v=1753239096&width=1920 1920w, //printroom.co/cdn/shop/files/BB__5920.webp?v=1753239096&width=2560 2560w, //printroom.co/cdn/shop/files/BB__5920.webp?v=1753239096&width=2880 2880w, //printroom.co/cdn/shop/files/BB__5920.webp?v=1753239096&width=3000 3000w" width="3000" height="3000" loading="lazy" class="peer/image absolute inset-0 w-full h-full object-cover" sizes="(min-width: 1024px) calc(100vw / 12 * 3), 100vw"> 7567 <div 7568 class="absolute inset-0 h-full w-full bg-scheme-text opacity-[0.05] peer-[.is-complete]/image:opacity-0 no-js:hidden" 7569 ></div> 7570 </image-with-placeholder> 7571 7572</div> 7573 </a><div class="px-section-horizontal-spacing py-section-vertical-spacing"> 7574 7575 7576 <div class="rte "> 7577 <p><em>"We have been working with the Print Room for years. Their service, quality and customer service is always outstanding. Attention to detail and customer experience is always spot on."</em><br/></p><h3>- Acme</h3> 7578 </div> 7579 7580 </div> 7581 </li> 7582 7583 </ul> 7584</section> 7585 7586 7587<style> #shopify-section-template--21296459743302__text_columns_with_images_4THkEY .absolute {border-radius: 25px;} #shopify-section-template--21296459743302__text_columns_with_images_4THkEY .rte {text-align: left;} #shopify-section-template--21296459743302__text_columns_with_images_4THkEY .mt-4 {text-align: center;} #shopify-section-template--21296459743302__text_columns_with_images_4THkEY .text-base {padding-top: 15px;} </style></div><div id="shopify-section-template--21296459743302__image_with_text_overlay_P3p3Jw" class="shopify-section"><section 7588 class="snap-section" 7589 x-data="{ visible: false }" 7590 x-intersect:enter.threshold.10="visible = true" 7591 x-intersect:leave.threshold.10="visible = false" 7592> 7593<div
7594 class="bg-scheme-background border-b-gridline border-gridline-color relative group overflow-hidden h-auto" 7595 7596 data-color-scheme="scheme1" 7597> 7598 7599 <a href="/pages/responsibility" class="absolute inset-0 z-11" 7600 ><span class="sr-only">Responsibility in practice</span></a 7601 > 7602 7603 <div 7604 class="text-scheme-text bg-scheme-background p-2 lg:p-4 h-full w-full" 7605 data-color-scheme="scheme1" 7606 > 7607 <div class="relative h-full w-full"> 7608 7609 <div 7610 7611 class="hidden lg:block" 7612 7613 > 7614 7615 <image-with-placeholder class="relative"><img src="//printroom.co/cdn/shop/files/parrotdog_3.jpg?v=1752720726&width=3000" alt="Custom socks nz" srcset="//printroom.co/cdn/shop/files/parrotdog_3.jpg?v=1752720726&width=200 200w, //printroom.co/cdn/shop/files/parrotdog_3.jpg?v=1752720726&width=350 350w, //printroom.co/cdn/shop/files/parrotdog_3.jpg?v=1752720726&width=450 450w, //printroom.co/cdn/shop/files/parrotdog_3.jpg?v=1752720726&width=750 750w, //printroom.co/cdn/shop/files/parrotdog_3.jpg?v=1752720726&width=850 850w, //printroom.co/cdn/shop/files/parrotdog_3.jpg?v=1752720726&width=960 960w, //printroom.co/cdn/shop/files/parrotdog_3.jpg?v=1752720726&width=1280 1280w, //printroom.co/cdn/shop/files/parrotdog_3.jpg?v=1752720726&width=1440 1440w, //printroom.co/cdn/shop/files/parrotdog_3.jpg?v=1752720726&width=1536 1536w, //printroom.co/cdn/shop/files/parrotdog_3.jpg?v=1752720726&width=1706 1706w, //printroom.co/cdn/shop/files/parrotdog_3.jpg?v=1752720726&width=1782 1782w, //printroom.co/cdn/shop/files/parrotdog_3.jpg?v=1752720726&width=1920 1920w, //printroom.co/cdn/shop/files/parrotdog_3.jpg?v=1752720726&width=2560 2560w, //printroom.co/cdn/shop/files/parrotdog_3.jpg?v=1752720726&width=2880 2880w, //printroom.co/cdn/shop/files/parrotdog_3.jpg?v=1752720726&width=3000 3000w" width="3000" height="1688" loading="lazy" class="peer/image" sizes="100vw"> 7616 7617 <div 7618 class="absolute inset-0 h-full w-full bg-scheme-text opacity-[0.05] peer-[.is-complete]/image:opacity-0 no-js:hidden" 7619 ></div> 7620 7621</image-with-placeholder> 7622 7623 7624 </div> 7625 7626 7627 <div class="lg:hidden"> 7628 7629 7630 <image-with-placeholder class="relative"><img src="//printroom.co/cdn/shop/files/parrotdog_6.jpg?v=1752720822&width=3000" alt="Custom socks nz" srcset="//printroom.co/cdn/shop/files/parrotdog_6.jpg?v=1752720822&width=200 200w, //printroom.co/cdn/shop/files/parrotdog_6.jpg?v=1752720822&width=350 350w, //printroom.co/cdn/shop/files/parrotdog_6.jpg?v=1752720822&width=450 450w, //printroom.co/cdn/shop/files/parrotdog_6.jpg?v=1752720822&width=750 750w, //printroom.co/cdn/shop/files/parrotdog_6.jpg?v=1752720822&width=850 850w, //printroom.co/cdn/shop/files/parrotdog_6.jpg?v=1752720822&width=960 960w, //printroom.co/cdn/shop/files/parrotdog_6.jpg?v=1752720822&width=1280 1280w, //printroom.co/cdn/shop/files/parrotdog_6.jpg?v=1752720822&width=1440 1440w, //printroom.co/cdn/shop/files/parrotdog_6.jpg?v=1752720822&width=1536 1536w, //printroom.co/cdn/shop/files/parrotdog_6.jpg?v=1752720822&width=1706 1706w, //printroom.co/cdn/shop/files/parrotdog_6.jpg?v=1752720822&width=1782 1782w, //printroom.co/cdn/shop/files/parrotdog_6.jpg?v=1752720822&width=1920 1920w, //printroom.co/cdn/shop/files/parrotdog_6.jpg?v=1752720822&width=2560 2560w, //printroom.co/cdn/shop/files/parrotdog_6.jpg?v=1752720822&width=2880 2880w, //printroom.co/cdn/shop/files/parrotdog_6.jpg?v=1752720822&width=3000 3000w" width="3000" height="4200" loading="lazy" class="peer/image" sizes="100vw"> 7631 7632 <div 7633 class="absolute inset-0 h-full w-full bg-scheme-text opacity-[0.05] peer-[.is-complete]/image:opacity-0 no-js:hidden" 7634 ></div> 7635 7636</image-with-placeholder> 7637 7638 7639 </div> 7640 7641 7642 </div> 7643 </div> 7644 7645 <div 7646 class="group absolute bottom-0 left-0 right-0 top-0 z-10 px-section-horizontal-spacing py-section-vertical-spacing" 7647 data-color-scheme="scheme1" 7648 data-animate="fade" 7649 :class="{ 'is-visible': visible }" 7650 > 7651 <div class="flex h-full w-full justify-start items-end text-left p-2 lg:p-4"> 7652 <div 7653 class="lg:w-1/2 text-scheme-text" 7654 > 7655 7656 7657 7658 <div class="rte mt-4 text-base"> 7659 <h2>How we strive to be <strong>better</strong> producers of high-quality custom merchandise.</h2> 7660 </div> 7661 7662 7663 7664 <div class="mt-8 text-0"><span 7665 class="theme-button theme-button--in-group inline-block" 7666 >Responsibility in practice</span></div> 7667 7668 </div> 7669 </div> 7670 </div> 7671</div> 7672</section> 7673 7674 7675<style> #shopify-section-template--21296459743302__image_with_text_overlay_P3p3Jw .bg-scheme-background {max-width: 100%; padding: 0;} #shopify-section-template--21296459743302__image_with_text_overlay_P3p3Jw .text-base {background: white; border-width: 5px; border-color: #2b3990; padding: 40px; border-radius: 35px; box-shadow: 0px 5px 5px rgba(43, 57, 144, 0.5);} #shopify-section-template--21296459743302__image_with_text_overlay_P3p3Jw .theme-button {font-size: 20px; font-style: italic;} </style></div><div id="shopify-section-template--21296459743302__testimonials_rhifHX" class="shopify-section"><section
7676 class="border-b-gridline border-gridline-color bg-gridline-color snap-section" 7677 data-color-scheme="scheme5" 7678 x-data="{ visible: false }" 7679 x-intersect:enter.threshold.25="visible = true" 7680 x-intersect:leave="visible = false" 7681> 7682 7683 7684 <div class="grid bg-scheme-background px-section-horizontal-spacing py-section-vertical-spacing text-scheme-text lg:grid-cols-4 gap-10" data-stagger><blockquote class="flex-1 text-left" data-animate="slide-up" :class="{ 'is-visible': visible }"> 7685 <div class="font-heading text-heading-secondary [&_a[href]]:underline [&_a[href]]:hover:text-scheme-accent"> 7686 <p>I chose Print Room because of their ethos on sustainability. And now, after using them several times these past two years, I can attest that they are, quite literally, the best screen printers we've ever used. <br/><br/></p> 7687 </div> 7688 7689 <footer class="font-secondary mt-2 text-base"> 7690 - AM (Google Review) 7691 </footer> 7692 7693 </blockquote><blockquote class="flex-1 text-left" data-animate="slide-up" :class="{ 'is-visible': visible }"> 7694 <div class="font-heading text-heading-secondary [&_a[href]]:underline [&_a[href]]:hover:text-scheme-accent"> 7695 <p>Great - very polite, good communication, shipped in a compostable mailer and the item was top quality.<br/><br/></p> 7696 </div> 7697 7698 <footer class="font-secondary mt-2 text-base"> 7699 - Will Collins (Google Review) 7700 </footer> 7701 7702 </blockquote><blockquote class="flex-1 text-left" data-animate="slide-up" :class="{ 'is-visible': visible }"> 7703 <div class="font-heading text-heading-secondary [&_a[href]]:underline [&_a[href]]:hover:text-scheme-accent"> 7704 <p>Exceptional service and product quality - highly recommend The Print Room - the team go above and beyond for their customers!<br/><br/></p> 7705 </div> 7706 7707 <footer class="font-secondary mt-2 text-base"> 7708 - Rachael Van Eunen (Google Review) 7709 </footer> 7710 7711 </blockquote><blockquote class="flex-1 text-left" data-animate="slide-up" :class="{ 'is-visible': visible }"> 7712 <div class="font-heading text-heading-secondary [&_a[href]]:underline [&_a[href]]:hover:text-scheme-accent"> 7713 <p>Service, Communication, quality of print, speed of delivery, all a 10/10 - loved working with the Print Room, will come again.<br/><br/></p> 7714 </div> 7715 7716 <footer class="font-secondary mt-2 text-base"> 7717 - M A Von Roy (Google Review) 7718 </footer> 7719 7720 </blockquote></div>
7720<script type="application/ld+json"> 7721 { 7722 "@context": "https://schema.org", 7723 "@type": "LocalBusiness", 7724 "name": "The Print Room", 7725 "review": [{ 7726 "@type": "Review", 7727 "reviewBody": "I chose Print Room because of their ethos on sustainability. And now, after using them several times these past two years, I can attest that they are, quite literally, the best screen printers we've ever used. ", 7728 "author": { 7729 "@type": "Person", 7730 "name": "AM (Google Review)" 7731 }, 7732 "reviewRating": { 7733 "@type": "Rating", 7734 "ratingValue": 5, 7735 "bestRating": 5 7736 } 7737 },{ 7738 "@type": "Review", 7739 "reviewBody": "Great - very polite, good communication, shipped in a compostable mailer and the item was top quality.", 7740 "author": { 7741 "@type": "Person", 7742 "name": "Will Collins (Google Review)" 7743 }, 7744 "reviewRating": { 7745 "@type": "Rating", 7746 "ratingValue": 5, 7747 "bestRating": 5 7748 } 7749 },{ 7750 "@type": "Review", 7751 "reviewBody": "Exceptional service and product quality - highly recommend The Print Room - the team go above and beyond for their customers!", 7752 "author": { 7753 "@type": "Person", 7754 "name": "Rachael Van Eunen (Google Review)" 7755 }, 7756 "reviewRating": { 7757 "@type": "Rating", 7758 "ratingValue": 5, 7759 "bestRating": 5 7760 } 7761 },{ 7762 "@type": "Review", 7763 "reviewBody": "Service, Communication, quality of print, speed of delivery, all a 10\/10 - loved working with the Print Room, will come again.", 7764 "author": { 7765 "@type": "Person", 7766 "name": "M A Von Roy (Google Review)" 7767 }, 7768 "reviewRating": { 7769 "@type": "Rating", 7770 "ratingValue": 5, 7771 "bestRating": 5 7772 } 7773 }] 7774 } 7775 </script>
7775</section> 7776 7777 7778<style> #shopify-section-template--21296459743302__testimonials_rhifHX .text-scheme-text {padding-left: 30px; padding-right: 30px; padding-top: 70px; padding-bottom: 70px;} </style></div><div id="shopify-section-template--21296459743302__rich_text_rRCjqT" class="shopify-section"><section 7779 class="overflow-hidden border-b-gridline border-gridline-color bg-scheme-background text-scheme-text snap-section" 7780 data-color-scheme="scheme4" 7781 x-data="{ visible: false }" 7782 x-intersect:enter.threshold.25="visible = true" 7783 x-intersect:leave="visible = false" 7784 data-animate="fade" 7785 :class="{ 'is-visible': visible }" 7786> 7787 <div class="px-section-horizontal-spacing py-section-vertical-spacing"> 7788 <div class="flex text-left justify-center"> 7789 <div class="w-full lg:w-full"><h2 class="font-heading text-heading-standard"> 7790 FAQs 7791 </h2><div class="rte mt-4 break-word"> 7792 7793 </div></div> 7794 </div> 7795 </div> 7796</section> 7797 7798 7799<style> #shopify-section-template--21296459743302__rich_text_rRCjqT .text-scheme-text {padding-left: 30px; padding-right: 30px; padding-top: 30px;} </style></div><div id="shopify-section-template--21296459743302__faq_QH8xpq" class="shopify-section"><section 7800 class="overflow-hidden border-b-gridline border-gridline-color bg-scheme-background text-scheme-text snap-section" 7801 data-color-scheme="scheme4" 7802 x-data="{ visible: false }" 7803 x-intersect:enter.threshold.25="visible = true" 7804 x-intersect:leave="visible = false" 7805> 7806 7807 7808 <ul 7809 7810 class="lg:hidden" 7811 7812 data-stagger 7813 data-animate="fade" 7814 :class="{ 'is-visible': visible }" 7815 > 7816 7817<li 7818 class="border-b-gridline border-gridline-color px-section-horizontal-spacing" 7819> 7820 <data-island class="contents" x-data="{ expanded: false }"> 7821 <h2 class="font-heading text-heading-secondary break-word"> 7822 <button 7823 type="button" 7824 @click="expanded = ! expanded" 7825 aria-controls="expanded-question_HzaV4G" 7826 :aria-expanded="expanded ? true : 'false'" 7827 class="break-word flex w-full cursor-pointer items-center justify-between py-4 text-left" 7828 > 7829 <div class="break-word flex items-center">Whatâs your minimum order?</div><div class="flex h-6 w-6 shrink-0 items-center" x-show="!expanded"> 7830 <svg 7831 class="theme-icon" 7832 xmlns="http://www.w3.org/2000/svg" 7833 fill="none" 7834 viewBox="0 0 24 24" 7835> 7836 <path stroke="currentColor" d="M12 1v22M1 12h22" vector-effect="non-scaling-stroke"/> 7837</svg> 7838 7839 </div> 7840 <div 7841 class="flex h-6 w-6 shrink-0 items-center" 7842 x-show="expanded" 7843 style="display: none;" 7844 ><svg 7845 class="theme-icon" 7846 xmlns="http://www.w3.org/2000/svg" 7847 fill="none" 7848 viewBox="0 0 24 24" 7849> 7850 <path stroke="currentColor" d="M1 12h22" vector-effect="non-scaling-stroke"/> 7851</svg> 7852</div></button> 7853 </h2> 7854 <div 7855 id="expanded-question_HzaV4G" 7856 x-show="expanded" 7857 x-collapse 7858 x-cloak 7859 > 7860 <div class="rte richtext break-word pb-theme text-base "> 7861 <p>Most products start at 24 units, with some exceptions based on garment and print types. Supacolour, embroidery, and screen printing all require different setups, which is reflected in our minimum order quantities.</p> 7862 </div> 7863 </div> 7864 </data-island> 7865</li> 7866 7867<li 7868 class="border-b-gridline border-gridline-color px-section-horizontal-spacing" 7869> 7870 <data-island class="contents" x-data="{ expanded: false }"> 7871 <h2 class="font-heading text-heading-secondary break-word"> 7872 <button 7873 type="button" 7874 @click="expanded = ! expanded" 7875 aria-controls="expanded-question_nY3Q9D" 7876 :aria-expanded="expanded ? true : 'false'" 7877 class="break-word flex w-full cursor-pointer items-center justify-between py-4 text-left" 7878 > 7879 <div class="break-word flex items-center">Is your print shop near me?</div><div class="flex h-6 w-6 shrink-0 items-center" x-show="!expanded"> 7880 <svg 7881 class="theme-icon" 7882 xmlns="http://www.w3.org/2000/svg" 7883 fill="none" 7884 viewBox="0 0 24 24" 7885> 7886 <path stroke="currentColor" d="M12 1v22M1 12h22" vector-effect="non-scaling-stroke"/> 7887</svg> 7888 7889 </div> 7890 <div 7891 class="flex h-6 w-6 shrink-0 items-center" 7892 x-show="expanded" 7893 style="display: none;" 7894 ><svg 7895 class="theme-icon" 7896 xmlns="http://www.w3.org/2000/svg" 7897 fill="none" 7898 viewBox="0 0 24 24" 7899> 7900 <path stroke="currentColor" d="M1 12h22" vector-effect="non-scaling-stroke"/> 7901</svg> 7902</div></button> 7903 </h2> 7904 <div 7905 id="expanded-question_nY3Q9D" 7906 x-show="expanded" 7907 x-collapse 7908 x-cloak 7909 > 7910 <div class="rte richtext break-word pb-theme text-base "> 7911 <p>
7911We run two production tracks. Made-to-order work is hand-finished at our NZ facility and shipped direct to you. Fast Track orders in Australia are decorated by our trusted Melbourne partners so turnaround stays tight and freight stays local. Briefs are handled out of our Melbourne studio in Cremorne (AU) and our NZ HQ â you're working with locals on either side of the Tasman.</p> 7912 </div> 7913 </div> 7914 </data-island> 7915</li> 7916 7917<li 7918 class="border-b-gridline border-gridline-color px-section-horizontal-spacing" 7919> 7920 <data-island class="contents" x-data="{ expanded: false }"> 7921 <h2 class="font-heading text-heading-secondary break-word"> 7922 <button 7923 type="button" 7924 @click="expanded = ! expanded" 7925 aria-controls="expanded-question_xczrrP" 7926 :aria-expanded="expanded ? true : 'false'" 7927 class="break-word flex w-full cursor-pointer items-center justify-between py-4 text-left" 7928 > 7929 <div class="break-word flex items-center">Do you supply garments?</div><div class="flex h-6 w-6 shrink-0 items-center" x-show="!expanded"> 7930 <svg 7931 class="theme-icon" 7932 xmlns="http://www.w3.org/2000/svg" 7933 fill="none" 7934 viewBox="0 0 24 24" 7935> 7936 <path stroke="currentColor" d="M12 1v22M1 12h22" vector-effect="non-scaling-stroke"/> 7937</svg> 7938 7939 </div> 7940 <div 7941 class="flex h-6 w-6 shrink-0 items-center" 7942 x-show="expanded" 7943 style="display: none;" 7944 ><svg 7945 class="theme-icon" 7946 xmlns="http://www.w3.org/2000/svg" 7947 fill="none" 7948 viewBox="0 0 24 24" 7949> 7950 <path stroke="currentColor" d="M1 12h22" vector-effect="non-scaling-stroke"/> 7951</svg> 7952</div></button> 7953 </h2> 7954 <div 7955 id="expanded-question_xczrrP" 7956 x-show="expanded" 7957 x-collapse 7958 x-cloak 7959 > 7960 <div class="rte richtext break-word pb-theme text-base "> 7961 <p>We supply all garments and do not accept client-supplied items. With access to top-tier brands such as AS Colour, Cloke, Gildan, Biz Collection, Syzmik, and many more, we can produce high-quality t shirt printing, embroidery, tote bags, tea towels, and more.</p> 7962 </div> 7963 </div> 7964 </data-island> 7965</li> 7966 7967<li 7968 class="border-b-gridline border-gridline-color px-section-horizontal-spacing -mb-gridline" 7969> 7970 <data-island class="contents" x-data="{ expanded: false }"> 7971 <h2 class="font-heading text-heading-secondary break-word"> 7972 <button 7973 type="button" 7974 @click="expanded = ! expanded" 7975 aria-controls="expanded-question_zFPtLz" 7976 :aria-expanded="expanded ? true : 'false'" 7977 class="break-word flex w-full cursor-pointer items-center justify-between py-4 text-left" 7978 > 7979 <div class="break-word flex items-center">Do you offer eco-friendly options?</div><div class="flex h-6 w-6 shrink-0 items-center" x-show="!expanded"> 7980 <svg 7981 class="theme-icon" 7982 xmlns="http://www.w3.org/2000/svg" 7983 fill="none" 7984 viewBox="0 0 24 24" 7985> 7986 <path stroke="currentColor" d="M12 1v22M1 12h22" vector-effect="non-scaling-stroke"/> 7987</svg> 7988 7989 </div> 7990 <div 7991 class="flex h-6 w-6 shrink-0 items-center" 7992 x-show="expanded" 7993 style="display: none;" 7994 ><svg 7995 class="theme-icon" 7996 xmlns="http://www.w3.org/2000/svg" 7997 fill="none" 7998 viewBox="0 0 24 24" 7999> 8000 <path stroke="currentColor" d="M1 12h22" vector-effect="non-scaling-stroke"/> 8001</svg> 8002</div></button> 8003 </h2> 8004 <div 8005 id="expanded-question_zFPtLz" 8006 x-show="expanded" 8007 x-collapse 8008 x-cloak 8009 > 8010 <div class="rte richtext break-word pb-theme text-base "> 8011 <p>Yes, absolutely! We take responsibility for what we produce and how we produce custom merchandise. We exclusively print with water-based inks, prioritise responsibly made products, and reduce waste wherever possible. Learn more about these practices here.</p> 8012 </div> 8013 </div> 8014 </data-island> 8015</li> 8016 8017 </ul><div class="hidden gap-gutter bg-gridline-color lg:-mb-gridline lg:grid lg:grid-cols-2"> 8018 <ul class="bg-scheme-background"> 8019 8020<li 8021 class="border-b-gridline border-gridline-color px-section-horizontal-spacing" 8022> 8023 <data-island class="contents" x-data="{ expanded: false }"> 8024 <h2 class="font-heading text-heading-secondary break-word"> 8025 <button 8026 type="button" 8027 @click="expanded = ! expanded" 8028 aria-controls="expanded-question_HzaV4G-desktop" 8029 :aria-expanded="expanded ? true : 'false'" 8030 class="break-word flex w-full cursor-pointer items-center justify-between py-4 text-left" 8031 > 8032 <div class="break-word flex items-center">Whatâs your minimum order?</div><div class="flex h-6 w-6 shrink-0 items-center" x-show="!expanded"> 8033 <svg 8034 class="theme-icon" 8035 xmlns="http://www.w3.org/2000/svg" 8036 fill="none" 8037 viewBox="0 0 24 24" 8038> 8039 <path stroke="currentColor" d="M12 1v22M1 12h22" vector-effect="non-scaling-stroke"/> 8040</svg> 8041 8042 </div> 8043 <div 8044 class="flex h-6 w-6 shrink-0 items-center" 8045 x-show="expanded" 8046 style="display: none;" 8047 ><svg 8048 class="theme-icon" 8049 xmlns="http://www.w3.org/2000/svg" 8050 fill="none" 8051 viewBox="0 0 24 24" 8052> 8053 <path stroke="currentColor" d="M1 12h22" vector-effect="non-scaling-stroke"/> 8054</svg> 8055</div></button> 8056 </h2> 8057 <div 8058 id="expanded-question_HzaV4G-desktop" 8059 x-show="expanded" 8060 x-collapse 8061 x-cloak 8062 > 8063 <div class="rte richtext break-word pb-theme text-base "> 8064 <p>Most products start at 24 units, with some exceptions based on garment and print types. Supacolour, embroidery, and screen printing all require different setups, which is reflected in our minimum order quantities.</p> 8065 </div> 8066 </div> 8067 </data-island> 8068</li> 8069 8070 8071<li
8072 class="border-b-gridline border-gridline-color px-section-horizontal-spacing" 8073> 8074 <data-island class="contents" x-data="{ expanded: false }"> 8075 <h2 class="font-heading text-heading-secondary break-word"> 8076 <button 8077 type="button" 8078 @click="expanded = ! expanded" 8079 aria-controls="expanded-question_xczrrP-desktop" 8080 :aria-expanded="expanded ? true : 'false'" 8081 class="break-word flex w-full cursor-pointer items-center justify-between py-4 text-left" 8082 > 8083 <div class="break-word flex items-center">Do you supply garments?</div><div class="flex h-6 w-6 shrink-0 items-center" x-show="!expanded"> 8084 <svg 8085 class="theme-icon" 8086 xmlns="http://www.w3.org/2000/svg" 8087 fill="none" 8088 viewBox="0 0 24 24" 8089> 8090 <path stroke="currentColor" d="M12 1v22M1 12h22" vector-effect="non-scaling-stroke"/> 8091</svg> 8092 8093 </div> 8094 <div 8095 class="flex h-6 w-6 shrink-0 items-center" 8096 x-show="expanded" 8097 style="display: none;" 8098 ><svg 8099 class="theme-icon" 8100 xmlns="http://www.w3.org/2000/svg" 8101 fill="none" 8102 viewBox="0 0 24 24" 8103> 8104 <path stroke="currentColor" d="M1 12h22" vector-effect="non-scaling-stroke"/> 8105</svg> 8106</div></button> 8107 </h2> 8108 <div 8109 id="expanded-question_xczrrP-desktop" 8110 x-show="expanded" 8111 x-collapse 8112 x-cloak 8113 > 8114 <div class="rte richtext break-word pb-theme text-base "> 8115 <p>We supply all garments and do not accept client-supplied items. With access to top-tier brands such as AS Colour, Cloke, Gildan, Biz Collection, Syzmik, and many more, we can produce high-quality t shirt printing, embroidery, tote bags, tea towels, and more.</p> 8116 </div> 8117 </div> 8118 </data-island> 8119</li> 8120 8121 8122 </ul> 8123 <ul class="bg-scheme-background"> 8124 8125 8126<li 8127 class="border-b-gridline border-gridline-color px-section-horizontal-spacing" 8128> 8129 <data-island class="contents" x-data="{ expanded: false }"> 8130 <h2 class="font-heading text-heading-secondary break-word"> 8131 <button 8132 type="button" 8133 @click="expanded = ! expanded" 8134 aria-controls="expanded-question_nY3Q9D-desktop" 8135 :aria-expanded="expanded ? true : 'false'" 8136 class="break-word flex w-full cursor-pointer items-center justify-between py-4 text-left" 8137 > 8138 <div class="break-word flex items-center">Is your print shop near me?</div><div class="flex h-6 w-6 shrink-0 items-center" x-show="!expanded"> 8139 <svg 8140 class="theme-icon" 8141 xmlns="http://www.w3.org/2000/svg" 8142 fill="none" 8143 viewBox="0 0 24 24" 8144> 8145 <path stroke="currentColor" d="M12 1v22M1 12h22" vector-effect="non-scaling-stroke"/> 8146</svg> 8147 8148 </div> 8149 <div 8150 class="flex h-6 w-6 shrink-0 items-center" 8151 x-show="expanded" 8152 style="display: none;" 8153 ><svg 8154 class="theme-icon" 8155 xmlns="http://www.w3.org/2000/svg" 8156 fill="none" 8157 viewBox="0 0 24 24" 8158> 8159 <path stroke="currentColor" d="M1 12h22" vector-effect="non-scaling-stroke"/> 8160</svg> 8161</div></button> 8162 </h2> 8163 <div 8164 id="expanded-question_nY3Q9D-desktop" 8165 x-show="expanded" 8166 x-collapse 8167 x-cloak 8168 > 8169 <div class="rte richtext break-word pb-theme text-base "> 8170 <p>
8170We run two production tracks. Made-to-order work is hand-finished at our NZ facility and shipped direct to you. Fast Track orders in Australia are decorated by our trusted Melbourne partners so turnaround stays tight and freight stays local. Briefs are handled out of our Melbourne studio in Cremorne (AU) and our NZ HQ â you're working with locals on either side of the Tasman.</p> 8171 </div> 8172 </div> 8173 </data-island> 8174</li> 8175 8176 8177<li 8178 class="border-b-gridline border-gridline-color px-section-horizontal-spacing" 8179> 8180 <data-island class="contents" x-data="{ expanded: false }"> 8181 <h2 class="font-heading text-heading-secondary break-word"> 8182 <button 8183 type="button" 8184 @click="expanded = ! expanded" 8185 aria-controls="expanded-question_zFPtLz-desktop" 8186 :aria-expanded="expanded ? true : 'false'" 8187 class="break-word flex w-full cursor-pointer items-center justify-between py-4 text-left" 8188 > 8189 <div class="break-word flex items-center">Do you offer eco-friendly options?</div><div class="flex h-6 w-6 shrink-0 items-center" x-show="!expanded"> 8190 <svg 8191 class="theme-icon" 8192 xmlns="http://www.w3.org/2000/svg" 8193 fill="none" 8194 viewBox="0 0 24 24" 8195> 8196 <path stroke="currentColor" d="M12 1v22M1 12h22" vector-effect="non-scaling-stroke"/> 8197</svg> 8198 8199 </div> 8200 <div 8201 class="flex h-6 w-6 shrink-0 items-center" 8202 x-show="expanded" 8203 style="display: none;" 8204 ><svg 8205 class="theme-icon" 8206 xmlns="http://www.w3.org/2000/svg" 8207 fill="none" 8208 viewBox="0 0 24 24" 8209> 8210 <path stroke="currentColor" d="M1 12h22" vector-effect="non-scaling-stroke"/> 8211</svg> 8212</div></button> 8213 </h2> 8214 <div 8215 id="expanded-question_zFPtLz-desktop" 8216 x-show="expanded" 8217 x-collapse 8218 x-cloak 8219 > 8220 <div class="rte richtext break-word pb-theme text-base "> 8221 <p>Yes, absolutely! We take responsibility for what we produce and how we produce custom merchandise. We exclusively print with water-based inks, prioritise responsibly made products, and reduce waste wherever possible. Learn more about these practices here.</p> 8222 </div> 8223 </div> 8224 </data-island> 8225</li> 8226 8227 </ul> 8228 </div>
8228<script type="application/ld+json"> 8229 { 8230 "@context": "https://schema.org", 8231 "@type": "FAQPage", 8232 "mainEntity": [{ 8233 "@type": "Question", 8234 "name": "Whatâs your minimum order?", 8235 "acceptedAnswer": { 8236 "@type": "Answer", 8237 "text": "Most products start at 24 units, with some exceptions based on garment and print types. Supacolour, embroidery, and screen printing all require different setups, which is reflected in our minimum order quantities." 8238 } 8239 },{ 8240 "@type": "Question", 8241 "name": "Is your print shop near me?", 8242 "acceptedAnswer": { 8243 "@type": "Answer", 8244 "text": "We run two production tracks. Made-to-order work is hand-finished at our NZ facility and shipped direct to you. Fast Track orders in Australia are decorated by our trusted Melbourne partners so turnaround stays tight and freight stays local. Briefs are handled out of our Melbourne studio in Cremorne (AU) and our NZ HQ â you're working with locals on either side of the Tasman." 8245 } 8246 },{ 8247 "@type": "Question", 8248 "name": "Do you supply garments?", 8249 "acceptedAnswer": { 8250 "@type": "Answer", 8251 "text": "We supply all garments and do not accept client-supplied items. With access to top-tier brands such as AS Colour, Cloke, Gildan, Biz Collection, Syzmik, and many more, we can produce high-quality t shirt printing, embroidery, tote bags, tea towels, and more." 8252 } 8253 },{ 8254 "@type": "Question", 8255 "name": "Do you offer eco-friendly options?", 8256 "acceptedAnswer": { 8257 "@type": "Answer", 8258 "text": "Yes, absolutely! We take responsibility for what we produce and how we produce custom merchandise. We exclusively print with water-based inks, prioritise responsibly made products, and reduce waste wherever possible. Learn more about these practices here." 8259 } 8260 }] 8261 } 8262 </script>
8262</section> 8263 8264 8265<style> #shopify-section-template--21296459743302__faq_QH8xpq .text-scheme-text {padding-left: 30px; padding-right: 30px; padding-bottom: 50px; border-bottom: 1px solid white;} </style></div>
8265<script data-locksmith> 8266 var load = function () { 8267 8268 if (document.querySelectorAll('.locksmith-manual-trigger').length > 0) { 8269 Locksmith.ping(); 8270 } 8271 8272 8273 Locksmith.util.on('submit', 'locksmith-resource-form', function (event) { 8274 event.preventDefault(); 8275 var data = Locksmith.util.serializeForm(event.target); 8276 var options = { spinner: false, container: 'locksmith-content' }; 8277 // a form rendered inline (section replacement) must keep that context 8278 // on resubmit: same enclosing container (there may be several on the 8279 // page), and no layout classes or cancel affordance in the re-render 8280 var inlineContainer = event.target.closest && event.target.closest('[id^="locksmith-content"]'); 8281 if (inlineContainer) { 8282 options.container = inlineContainer; 8283 } 8284 if (event.target.getAttribute('data-locksmith-inline') === 'true') { 8285 options.include_layout_classes = false; 8286 } 8287 Locksmith.postResource(data, options); 8288 }); 8289 8290 Locksmith.util.on('click', 'locksmith-manual-trigger', function (event) { 8291 event.preventDefault(); 8292 Locksmith.postResource({}, { spinner: true, container: document }); 8293 }); 8294 8295 Locksmith.submitPasscode = function (passcode) { 8296 Locksmith.postResource( 8297 { passcode: passcode }, 8298 { spinner: false, container: 'locksmith-content' } 8299 ); 8300 }; 8301 }; 8302 8303 if (typeof Locksmith !== 'undefined') { 8304 load(); 8305 } else { 8306 window.addEventListener('load', load); 8307 } 8308 </script>
8308 8309 </main> 8310 8311 <!-- BEGIN sections: footer-group --> 8312<div id="shopify-section-sections--21296457154630__176903720293717250" class="shopify-section shopify-section-group-footer-group"> 8313 8314 8315 8316</div><div id="shopify-section-sections--21296457154630__footer" class="shopify-section shopify-section-group-footer-group"><footer 8317 class="bg-scheme-background text-scheme-text" 8318 data-color-scheme="scheme2" 8319 data-theme-footer 8320> 8321 8322 <section 8323 class="border-b-gridline border-gridline-color bg-scheme-background py-section-vertical-spacing text-scheme-text" 8324 data-color-scheme="scheme2" 8325> 8326 <div class="justify-center px-section-horizontal-spacing lg:flex lg:items-center lg:justify-between"> 8327 <div class="text-base"> 8328 8329 8330 8331 <div class="[&_a[href]]:underline [&_a[href]]:hover:text-scheme-accent"> 8332 <h2>We occasionally send out <strong>newsletters</strong>. You should sign up â</h2> 8333 </div> 8334 8335 </div> 8336 8337 <div class="mt-theme-half lg:mt-0"> 8338 <form method="post" action="/contact#Contact-sections--21296457154630__footer" id="Contact-sections--21296457154630__footer" accept-charset="UTF-8" class="contact-form"><input type="hidden" name="form_type" value="customer" /><input type="hidden" name="utf8" value="â" /> 8339 8340 8341 8342 <input type="hidden" name="contact[tags]" value="newsletter"> 8343 <div class="items-end lg:ml-4 lg:flex"> 8344 <label class="sr-only" for="Email-sections--21296457154630__footer">Email address</label> 8345 <input 8346 type="email" 8347 class="font-body block w-full border-b-text border-current bg-transparent pb-1 leading-[inherit] placeholder-current" 8348 name="contact[email]" 8349 id="Email-sections--21296457154630__footer" 8350 value="" 8351 placeholder="Email address" 8352 autocorrect="off" 8353 autocapitalize="off" 8354 > 8355 <button 8356 class="theme-link mt-2 shrink-0 py-1 leading-[inherit] hover:text-scheme-accent lg:ml-2 lg:mt-0" 8357 type="submit" 8358 name="commit" 8359 id="Subscribe" 8360 >Subscribe</button> 8361 </div> 8362 8363 </form> 8364 </div> 8365 </div> 8366</section> 8367 8368 8369 8370 <div class="border-b-gridline border-gridline-color"> 8371 <div 8372 class="grid lg:grid-cols-var bg-gridline-color" 8373 style="--grid-cols: 12;" 8374 ><div 8375 class="break-word bg-scheme-background px-section-horizontal-spacing py-section-vertical-spacing text-scheme-text lg:col-span-var" 8376 style="--col-span: 3;" 8377 8378 ><div class="inline-block text-left"> 8379 8380 8381 <h2 class="font-heading mb-4 text-base"> 8382 Explore 8383 </h2> 8384 8385 <ul class="list-none space-y-1"> 8386 8387<li> 8388 <a 8389 href="/pages/all-products" 8390 class="hover:text-scheme-accent" 8391 > 8392 Products 8393 </a> 8394 </li> 8395 8396<li> 8397 <a 8398 href="/pages/services" 8399 class="hover:text-scheme-accent" 8400 > 8401 Services 8402 </a> 8403 </li> 8404 8405<li> 8406 <a 8407 href="https://www.theprintroom.nz/apps/order-tracker" 8408 class="hover:text-scheme-accent" 8409 > 8410 Track your order 8411 </a> 8412 </li> 8413 8414<li> 8415 <a 8416 href="/pages/responsibility" 8417 class="hover:text-scheme-accent" 8418 > 8419 Responsibility 8420 </a> 8421 </li> 8422 8423<li> 8424 <a 8425 href="/pages/about-print-room" 8426 class="hover:text-scheme-accent" 8427 > 8428 About us 8429 </a> 8430 </li> 8431 8432 </ul> 8433 </div></div><div 8434 class="break-word bg-scheme-background px-section-horizontal-spacing py-section-vertical-spacing text-scheme-text lg:col-span-var" 8435 style="--col-span: 3;" 8436 8437 ><div class="inline-block text-left"> 8438 8439 8440 <h2 class="font-heading mb-4 text-base"> 8441 Helpful stuff 8442 </h2> 8443 8444 <ul class="list-none space-y-1"> 8445 8446<li> 8447 <a 8448 href="/pages/screen-printing-faqs-the-print-room-quality-screen-printing-garment-design-blank-clothing" 8449 class="hover:text-scheme-accent" 8450 > 8451 FAQs 8452 </a> 8453 </li> 8454 8455<li> 8456 <a 8457 href="https://help.theprintroom.nz/" 8458 class="hover:text-scheme-accent" 8459 > 8460 Resource hub 8461 </a> 8462 </li> 8463 8464<li> 8465 <a 8466 href="/pages/catalogue" 8467 class="hover:text-scheme-accent" 8468 > 8469 Catalogues 8470 </a> 8471 </li> 8472 8473<li> 8474 <a 8475 href="/blogs/the-print-room-nz" 8476 class="hover:text-scheme-accent" 8477 > 8478 Blogs 8479 </a> 8480 </li> 8481 8482<li> 8483 <a 8484 href="/pages/policies" 8485 class="hover:text-scheme-accent" 8486 >
8487 Policies & T&Cs 8488 </a> 8489 </li> 8490 8491 </ul> 8492 </div></div><div 8493 class="break-word bg-scheme-background px-section-horizontal-spacing py-section-vertical-spacing text-scheme-text lg:col-span-var" 8494 style="--col-span: 3;" 8495 8496 > 8497 <h2 class="font-heading break-word mb-4 text-base"> 8498 Get in touch - NZ 8499 </h2> 8500 8501<div class="rte"> 8502 <p>21 Grosvenor St, Kensington, Dunedin,<br/>9012<br/>[email protected]<br/>NZ: 03 425 9694</p> 8503 </div></div><div 8504 class="break-word bg-scheme-background px-section-horizontal-spacing py-section-vertical-spacing text-scheme-text lg:col-span-var" 8505 style="--col-span: 3;" 8506 8507 > 8508 <h2 class="font-heading break-word mb-4 text-base"> 8509 Get in touch - AUS 8510 </h2> 8511 8512<div class="rte"> 8513 <p>The Commons, 10â20 Gwynne St, Cremorne VIC 3121<br/>[email protected]<br/>+61 (0) 451 701 385</p> 8514 </div></div></div> 8515 </div> 8516 8517 8518 <div> 8519 <div class="px-section-horizontal-spacing py-section-vertical-spacing lg:flex lg:flex-wrap lg:items-center lg:justify-between"> 8520 <div class="mb-4 space-y-2 text-sm lg:mb-0 lg:flex-1"> 8521 <p> 8522 © 2026, 8523 <a href="/" title="">The Print Room</a>. 8524 </p> 8525 <ul class="flex flex-wrap gap-1 text-sm [&>li:last-child]:after:content-none [&>li]:after:content-['\00B7']"> 8526 <li> 8527 8528 </li></ul> 8529 </div> 8530 8531</div> 8532 </div> 8533</footer> 8534 8535 8536 <style> 8537 .footer-logo-image { 8538 display: block; 8539 max-width: px; 8540 } 8541 </style> 8542 8543 8544 8545<style> #shopify-section-sections--21296457154630__footer .text-base {font-size: 20px;} #shopify-section-sections--21296457154630__footer .font-heading {text-decoration: underline;} #shopify-section-sections--21296457154630__footer .inline-block {line-height: 1.7;} #shopify-section-sections--21296457154630__footer /*.bg-scheme-background {border-top: 1px solid black;}*/.text-scheme-text {border-bottom: 1px solid black;} </style></div> 8546<!-- END sections: footer-group --><!-- BEGIN sections: overlay-group --> 8547<div id="shopify-section-sections--21296457220166__promo-popup" class="shopify-section shopify-section-group-overlay-group contents"> 8548 8549 8550</div><div id="shopify-section-sections--21296457220166__age-check" class="shopify-section shopify-section-group-overlay-group contents"> 8551</div><div id="shopify-section-sections--21296457220166__privacy-banner" class="shopify-section shopify-section-group-overlay-group contents"> 8552 8553 8554</div> 8555<!-- END sections: overlay-group --> 8556 8557 <div 8558 id="screenreader-announce" 8559 class="sr-only" 8560 aria-live="polite" 8561 role="status" 8562 ></div> 8563 8564 <ul hidden> 8565 <li id="a11y-refresh-page-message"> 8566 Choosing a selection results in a full page refresh. 8567 </li> 8568 <li id="a11y-selection-message"> 8569 Press the space key then arrow keys to make a selection. 8570 </li> 8571 </ul> 8572 8573 8574 <data-island 8575 role="complementary" 8576 aria-labelledby="left-drawer-slot" 8577 x-data 8578 on="load" 8579> 8580 <template x-teleport="body"> 8581 <div 8582 x-show="$store.modals.leftDrawer.open" 8583 @keydown.escape.prevent.stop="$store.modals.close('leftDrawer')" 8584 @click="$store.modals.close('leftDrawer')" 8585 class="fixed inset-0 z-110" 8586 data-color-scheme="scheme1" 8587 id="modals-leftDrawer" 8588 > 8589 <div 8590 @click.stop 8591 x-show="$store.modals.leftDrawer.open" 8592 x-transition:enter="duration-300 motion-reduce:duration-0 outline-0" 8593 x-transition:enter-start="opacity-0 -translate-x-full" 8594 x-transition:leave="duration-300 motion-reduce:duration-0 outline-0" 8595 x-transition:leave-end="-translate-x-full" 8596 x-trap.noscroll.inert="$store.modals.leftDrawer.open" 8597 class="mr-auto h-full w-11/12 max-w-md transform overflow-y-auto border-r-gridline border-gr
8597idline-color bg-scheme-background text-scheme-text transition-transform" 8598 id="left-drawer-slot" 8599 role="dialog" 8600 @left-drawer-is-open.window="setTimeout(() => { $el.setAttribute('aria-modal', 'true') }, 120)" 8601 @left-drawer-is-closed.window="setTimeout(() => { $el.removeAttribute('aria-modal') }, 120)" 8602 :aria-label="getModalLabel('leftDrawer', $el)" 8603 tabindex="-1" 8604 > 8605 <!-- Modal content is teleported here --> 8606 </div> 8607 </div> 8608 </template> 8609</data-island> 8610<data-island 8611 role="complementary" 8612 aria-labelledby="right-drawer-slot" 8613 x-data 8614 on="load" 8615> 8616 <template x-teleport="body"> 8617 <div 8618 x-show="$store.modals.rightDrawer.open" 8619 @keydown.escape.prevent.stop="$store.modals.close('rightDrawer')" 8620 @click="$store.modals.close('rightDrawer')" 8621 class="fixed inset-0 z-110" 8622 style="background: rgba(208,208,208,0.2); backdrop-filter: blur(1.5px); -webkit-backdrop-filter: blur(1.5px);" 8623 data-color-scheme="scheme1" 8624 id="modals-rightDrawer" 8625 > 8626 <div 8627 @click.stop 8628 x-show="$store.modals.rightDrawer.open" 8629 x-transition:enter="duration-300 motion-reduce:duration-0 outline-0" 8630 x-transition:enter-start="translate-x-full" 8631 x-transition:leave="duration-300 motion-reduce:duration-0 outline-0" 8632 x-transition:leave-end="translate-x-full" 8633 x-trap.noscroll.inert="$store.modals.rightDrawer.open" 8634 class="ml-auto h-full w-11/12 max-w-lg transform overflow-y-auto bg-scheme-background text-scheme-text" 8635 style="border-left: 2px solid black;" 8636 id="right-drawer-slot" 8637 role="dialog" 8638 @right-drawer-is-open.window="setTimeout(() => { $el.setAttribute('aria-modal', 'true') }, 120)" 8639 @right-drawer-is-closed.window="setTimeout(() => { $el.removeAttribute('aria-modal') }, 120)" 8640 :aria-label="getModalLabel('rightDrawer', $el)" 8641 tabindex="-1" 8642 > 8643 <!-- Modal content is teleported here --> 8644 </div> 8645 </div> 8646 </template> 8647</data-island> 8648<data-island 8649 role="complementary" 8650 aria-labelledby="quick-buy-drawer-slot-container" 8651 x-data 8652 on="load" 8653> 8654 <template x-teleport="body"> 8655 <div 8656 x-show="$store.modals.quickBuyDrawer.open" 8657 @keydown.escape.prevent.stop="$store.modals.close('quickBuyDrawer')" 8658 @click="$store.modals.close('quickBuyDrawer')" 8659 class="fixed inset-0 z-110 flex lg:block" 8660 data-color-scheme="scheme1" 8661 id="modals-quickBuyDrawer" 8662 > 8663 <div 8664 @click.stop 8665 id="quick-buy-drawer-slot-container" 8666 x-show="$store.modals.quickBuyDrawer.open" 8667 x-transition:enter="duration-300 motion-reduce:duration-0 outline-0" 8668 x-transition:enter-start="max-lg:translate-y-full lg:translate-x-full" 8669 x-transition:leave="duration-300 motion-reduce:duration-0 outline-0" 8670 x-transition:leave-end="max-lg:translate-y-full lg:translate-x-full" 8671 x-trap.noscroll.inert="$store.modals.quickBuyDrawer.open" 8672 class="mt-auto h-auto w-full transform border-gridline-color bg-scheme-background text-scheme-text lg:ml-auto lg:h-full lg:w-11/12 lg:max-w-md lg:overflow-y-auto lg:border-l-gridline" 8673 role="dialog" 8674 @quick-buy-drawer-is-open.window="setTimeout(() => { $el.setAttribute('aria-modal', 'true') }, 120)" 8675 @quick-buy-drawer-is-closed.window="setTimeout(() => { $el.removeAttribute('aria-modal') }, 120)" 8676 :aria-label="getModalLabel('quickBuyDrawer', document.getElementById('quick-buy-drawer-slot'))" 8677 tabindex="-1" 8678 > 8679 <div class="sticky top-0 z-1 flex items-center justify-between border-y-gridline border-gridline-color bg-scheme-background px-section-horizontal-spacing py-4 lg:border-t-0"> 8680 <div> 8681 Choose options 8682 </div> 8683 <button 8684 @click.prevent="$store.modals.close('quickBuyDrawer')" 8685 class="absolute right-0 top-0 block h-full" 8686 type="button" 8687 > 8688 <span class="sr-only">Close</span> 8689 <div class="my-auto mr-section-horizontal-spacing h-6 w-6"> 8690 <svg 8691 class="theme-icon" 8692 xmlns="http://www.w3.org/2000/svg" 8693 fill="none" 8694 viewBox="0 0 24 24" 8695> 8696 <path stroke="currentColor" d="m1.5 1.5 21 21m0-21-21 21" vector-effect="non-scaling-stroke"/> 8697</svg> 8698 8699 </div> 8700 </button> 8701 </div> 8702 <div 8703 id="quick-buy-drawer-slot" 8704 class="max-lg:h-fit max-lg:max-h-[65vh] max-lg:overflow-y-auto" 8705 ></div> 8706 </div> 8707 </div> 8708 </template> 8709</data-island> 8710<data-island 8711 x-data 8712 on="load" 8713> 8714 <template x-teleport="body"> 8715 <div 8716 x-show="$store.modals.promo.open" 8717 class="pointer-events-none fixed inset-0 z-110" 8718 id="modals-promo" 8719 > 8720 <div 8721 x-show="$store.modals.promo.open" 8722 class="flex h-full w-full" 8723 > 8724 <div 8725 x-show="$store.modals.promo.open" 8726 x-transition:enter="transition duration-300 motion-reduce:duration-0 delay-75 outline-0" 8727 x-transition:enter-start="translate-y-full" 8728 x-transition:enter-end="translate-y-0" 8729 x-transition:leave="transition duration-300 motion-reduce:duration-0 outline-0" 8730 x-transition:leave-start="translate-y-0" 8731 x-transition:leave-end="translate-y-full" 8732 class="pointer-events-auto relative bottom-0 left-0 right-0 top-auto mt-auto w-full overflow-y-auto" 8733 id="promo-slot" 8734 role="dialog" 8735 @promo-is-open.window="setTimeout(() => { $el.setAttribute('aria-modal', 'true') }, 120)" 8736 @promo-is-closed.window="setTimeout(() => { $el.removeAttribute('aria-modal') }, 120)" 8737 :aria-label="getModalLabel('promo', $el)" 8738 tabindex="-1" 8739 > 8740 <!-- Modal content is teleported here --> 8741 </div> 8742 </div> 8743 </div> 8744 </template> 8745</data-island> 8746<data-island x-data on="load"> 8747 <template x-teleport="body"> 8748 <div 8749 x-show="$store.modals.popup.open" 8750 @keydown.escape.prevent.stop="$store.modals.close('popup')" 8751 @click="$store.modals.close('popup')" 8752 class="fixed inset-0 z-110 p-8 lg:p-24" 8753 data-color-scheme="scheme1" 8754 id="modals-popup" 8755 > 8756 <div 8757 x-show="$store.modals.popup.open" 8758 class="fixed inset-0 bg-transparent" 8759 > 8760 <!-- Overlay --> 8761 </div> 8762 <div 8763 x-show="$store.modals.popup.open" 8764 class="flex h-full w-full" 8765 > 8766 <div 8767 @click.stop 8768 x-show="$store.modals.popup.open" 8769 x-trap.noscroll.inert="$store.modals.popup.open" 8770 class="relative m-auto max-h-full w-full max-w-2xl overflow-y-auto border-gr
8770idline border-gridline-color bg-scheme-background text-scheme-text" 8771 id="popup-slot" 8772 role="dialog" 8773 @popup-is-open.window="setTimeout(() => { $el.setAttribute('aria-modal', 'true') }, 120)" 8774 @popup-is-closed.window="setTimeout(() => { $el.removeAttribute('aria-modal') }, 120)" 8775 :aria-label="getModalLabel('popup', $el)" 8776 tabindex="-1" 8777 > 8778 <!-- Modal content is teleported here --> 8779 </div> 8780 </div> 8781 </div> 8782 </template> 8783</data-island> 8784<data-island x-data on="load"> 8785 <template x-teleport="body"> 8786 <div 8787 x-show="$store.modals.modal.open" 8788 x-transition:enter="transition ease-out duration-300" 8789 x-transition:enter-start="opacity-0" 8790 x-transition:enter-end="opacity-100" 8791 x-transition:leave="transition ease-in duration-200" 8792 x-transition:leave-start="opacity-100" 8793 x-transition:leave-end="opacity-0" 8794 @keydown.escape.prevent.stop="$store.modals.close('modal')" 8795 @click="$store.modals.close('modal')" 8796 class="fixed inset-0 z-110 bg-black/40 backdrop-blur-md" 8797 style="backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px);" 8798 data-color-scheme="scheme1" 8799 id="modals-modal" 8800 > 8801 <div 8802 x-show="$store.modals.modal.open" 8803 class="flex h-full w-full justify-center p-2 sm:p-4 md:p-6 lg:p-8" 8804 :class="$store.modals.modal.contents === 'quoteRequest' ? 'items-stretch sm:items-center sm:p-6 lg:p-10' : 'items-center'" 8805 > 8806 <div 8807 @click.stop 8808 x-show="$store.modals.modal.open" 8809 x-transition:enter="transition ease-out duration-300" 8810 x-transition:enter-start="opacity-0 scale-95 translate-y-4" 8811 x-transition:enter-end="opacity-100 scale-100 translate-y-0" 8812 x-transition:leave="transition ease-in duration-200" 8813 x-transition:leave-start="opacity-100 scale-100 translate-y-0" 8814 x-transition:leave-end="opacity-0 scale-95 translate-y-4" 8815 x-trap.inert="$store.modals.modal.open" 8816 class="relative flex w-full flex-col overflow-hidden text-scheme-text" 8817 :class="$store.modals.modal.contents === 'quoteRequest' 8818 ? 'max-w-2xl max-h-[100dvh] sm:max-h-[calc(100dvh-48px)] rounded-none sm:rounded-[24px]' 8819 : 'max-w-lg sm:max-w-xl md:max-w-2xl lg:max-w-3xl max-h-[calc(100vh-24px)] sm:max-h-[calc(100vh-48px)] md:max-h-[calc(100vh-64px)] lg:max-h-[calc(100vh-96px)] rounded-[20px]'" 8820 style="background: #FBFBF6; box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25);" 8821 id="modal-slot" 8822 role="dialog" 8823 @modal-is-open.window="setTimeout(() => { $el.setAttribute('aria-modal', 'true') }, 120)" 8824 @modal-is-closed.window="setTimeout(() => { $el.removeAttribute('aria-modal') }, 120)" 8825 :aria-label="getModalLabel('modal', $el)" 8826 tabindex="-1" 8827 > 8828 <!-- Modal content is teleported here --> 8829 </div> 8830 </div> 8831 </div> 8832 </template> 8833</data-island> 8834 8835 8836 8837 8838 8839 8840 <style> 8841 /* Push chatbot left when quote drawer is open */ 8842 body:has([data-favorites-drawer]:not([style*="display: none"])) #tidio-chat, 8843 body:has([data-favorites-drawer]:not([style*="display: none"])) .tidio-chat, 8844 body:has([data-favorites-drawer]:not([style*="display: none"])) iframe[title*="chat" i], 8845 body:has([data-favorites-drawer]:not([style*="display: none"])) iframe[title*="tidio" i], 8846 body:has([data-favorites-drawer]:not([style*="display: none"])) [class*="chat-widget"], 8847 body:has([data-favorites-drawer]:not([style*="display: none"])) [id*="chat-widget"] { 8848 transform: translateX(-464px) !important; 8849 transition: transform 0.3s ease !important; 8850 } 8851 8852 /* Push AI chatbot trigger left when drawer is open - desktop only */ 8853 @media (min-width: 768px) { 8854 body:has([data-favorites-drawer]:not([style*="display: none"])) .ai-chatbot__trigger { 8855 right: calc(32rem + 24px) !important; 8856 transition: right 0.3s ease, transform 0.2s ease, box-shadow 0.2s ease, background 0.2s ease !important; 8857 } 8858 } 8859 8860 /* Override theme color scheme â force black text throughout drawer */ 8861 [data-favorites-drawer] { 8862 --color-scheme-text: 0 0 0 !important; 8863 } 8864 [data-favorites-drawer] h2 { 8865 letter-spacing: 0px !important; 8866 } 8867 @media (max-width: 639px) { 8868 [data-favorites-drawer] h2 { 8869 text-align: left !important; 8870 } 8871 } 8872 [data-favorites-drawer] *, 8873 [data-favorites-drawer] h2, 8874 [data-favorites-drawer] p, 8875 [data-favorites-drawer] a, 8876 [data-favorites-drawer] span, 8877 [data-favorites-drawer] div, 8878 [data-favorites-drawer] li { 8879 color: black !important; 8880 } 8881 8882 /* Close button stays muted */ 8883 [data-favorites-drawer] button[aria-label*="Close"], 8884 [data-favorites-drawer] button[aria-label*="Close"] svg { 8885 color: rgba(0,0,0,0.4) !important; 8886 } 8887 8888 /* Remove button stays muted, red on hover */ 8889 [data-favorites-drawer] button[aria-label*="Remove"],
8890 [data-favorites-drawer] button[aria-label*="Remove"] svg { 8891 color: rgba(0,0,0,0.3) !important; 8892 } 8893 [data-favorites-drawer] button[aria-label*="Remove"]:hover, 8894 [data-favorites-drawer] button[aria-label*="Remove"]:hover svg { 8895 color: #ef4444 !important; 8896 } 8897 8898 /* Product dividers â solid black */ 8899 [data-favorites-drawer] li { 8900 border-bottom: 1px solid black !important; 8901 } 8902 [data-favorites-drawer] li:last-child { 8903 border-bottom: none !important; 8904 } 8905 8906 /* Footer dividers â solid black */ 8907 [data-favorites-drawer] .drawer-divider { 8908 border-top: 1px solid black !important; 8909 } 8910 8911 /* Start quote button â visible border */ 8912 [data-favorites-drawer] .drawer-cta-btn { 8913 border: 2px solid #4B4D72 !important; 8914 color: #4B4D72 !important; 8915 } 8916 [data-favorites-drawer] .drawer-cta-btn:hover { 8917 background-color: #4B4D72 !important; 8918 color: #fff !important; 8919 } 8920</style> 8921 8922<data-island 8923 x-data="FavoritesDrawer" 8924 on="idle" 8925 x-cloak 8926> 8927 <div> 8928 <template x-teleport="#right-drawer-slot"> 8929 <div 8930 class="flex h-full flex-col overflow-hidden" style="background: #FBFBF6;" 8931 :data-modal-label="`Your current project - ${$store.favorites.countWithText()}`" 8932 x-show="$store.modals.rightDrawer.contents === 'favorites'" 8933 data-favorites-drawer 8934 ><div class="relative shrink-0" style="padding: 80px 40px 24px;"> 8935 <button 8936 @click.prevent="$store.modals.close('favorites')" 8937 class="absolute rounded-full p-2 transition-colors" 8938 style="top: 19px; right: 19px; color: rgba(0,0,0,0.4);" 8939 type="button" 8940 > 8941 <span class="sr-only">Close project drawer</span> 8942 <svg width="24" height="24" fill="none" viewBox="0 0 24 24"><path stroke="currentColor" stroke-width="2" d="m6 6 12 12m0-12-12 12"/></svg> 8943 </button> 8944 <h2 id="FavoritesTitle" tabindex="-1" class="font-bold" style="font-size: 41px; letter-spacing: 0px; line-height: 1; color: black; text-align: center;"> 8945 Your current project 8946 </h2> 8947 </div><div class="flex-1 overflow-y-auto" style="padding: 20px 40px; min-height: 0;"><template x-if="$store.favorites.count === 0"> 8948 <div class="flex flex-col items-center justify-center py-12 text-center"> 8949 <p class="mb-2 text-base font-medium text-scheme-text">No products yet</p> 8950 <p class="mx-auto mb-8 max-w-xs text-sm text-scheme-text/60">Browse our products and add items to your project.</p> 8951 <a 8952 href="/collections/product-library" 8953 class="inline-flex items-center justify-center font-light transition" 8954 style="border: 2px solid #4B4D72; color: #4B4D72; border-radius: 50px; padding: 18px 48px; font-size: 24px;" 8955 onmouseover="this.style.backgroundColor='#4B4D72'; this.style.color='#fff';" 8956 onmouseout="this.style.backgroundColor='transparent'; this.style.color='#4B4D72';" 8957 @click="$store.modals.close('favorites')" 8958 > 8959 Browse Products 8960 </a> 8961 </div> 8962 </template><template x-if="$store.favorites.count > 0"> 8963 <ul> 8964 <template x-for="item in $store.favorites.items" :key="item.key"> 8965 <li class="flex items-center" style="padding: 20px 0; gap: 16px;"> 8966 <button 8967 @click="$store.favorites.remove(item.key)" 8968 class="shrink-0 rounded-full p-1 transition-colors hover:text-red-500" 8969 style="color: rgba(0,0,0,0.3);" 8970 :aria-label="'Remove ' + item.title" 8971 > 8972 <svg width="19" height="19" fill="none" viewBox="0 0 24 24"><path stroke="currentColor" stroke-width="2" d="m6 6 12 12m0-12-12 12"/></svg> 8973 </button> 8974 <a :href="item.url" class="block shrink-0 overflow-hidden bg-gray-100" style="width: 90px; height: 90px;"> 8975 <img :src="item.image" :alt="item.title" class="h-full w-full object-cover" loading="lazy" width="90" height="90"> 8976 </a> 8977 <div class="min-w-0 flex-1"> 8978 <p style="font-size: 16px; font-weight: 300; line-height: 18px; color: black;" x-text="item.vendor || ''"></p> 8979 <a :href="item.url" class="line-clamp-1" style="font-size: 16px; font-weight: 600; line-height: 18px; color: black;" x-text="item.title"></a> 8980 <p class="text-xs text-gray-600" x-text="item.colour || (item.hasColours ? 'Colour TBC' : '')"></p> 8981 </div> 8982 </li> 8983 </template> 8984 </ul> 8985 </template> 8986 </div><div class="shrink-0" style="padding: 0 40px 48px;"> 8987 <template x-if="$store.favorites.count > 0"> 8988 <div>
8989 <div class="drawer-divider" style="padding-top: 28px;"> 8990 <p style="font-size: 23px; font-weight: 300; line-height: 30px;">Get a quote for these products.</p> 8991 </div> 8992 <div class="drawer-divider" style="margin-top: 24px; padding-top: 24px;"> 8993 <p style="font-size: 15px; line-height: 20px;">Once submitted, one of our team will provide a more accurate quote based on the information provided. We aim to have a quote back to you within 5 working days.</p> 8994 </div> 8995 <button 8996 @click="$store.modals.close('favorites'); setTimeout(() => $store.modals.open('quoteRequest'), 300)" 8997 class="drawer-cta-btn inline-flex w-full items-center justify-center text-center transition" 8998 style="margin-top: 24px; min-height: 79px; border-radius: 50px; font-size: 27px; font-weight: 300;" 8999 > 9000 Start quote request 9001 </button> 9002 </div> 9003 </template> 9004 </div> 9005 </div> 9006 </template> 9007 </div> 9008</data-island> 9009 9010 9011 9012 <style> 9013 :root { 9014 --color-quote-accent: #2B3990; 9015 } 9016 9017 /* Modal inputs */ 9018 .qr-input, 9019 .qr-select { 9020 width: 100%; 9021 min-height: 2.15rem; 9022 border: 0.666px solid black; 9023 border-radius: 9999px; 9024 padding: 0.5rem 1rem; 9025 background: transparent; 9026 color: #111827; 9027 font-size: 0.875rem; 9028 transition: border-color 0.2s ease, box-shadow 0.2s ease; 9029 } 9030 9031 .qr-textarea { 9032 width: 100%; 9033 border: 0.75px solid black; 9034 border-radius: 10px; 9035 padding: 0.75rem 1rem; 9036 background: transparent; 9037 color: #111827; 9038 font-size: 0.875rem; 9039 resize: vertical; 9040 transition: border-color 0.2s ease, box-shadow 0.2s ease; 9041 } 9042 9043 .qr-input:focus, 9044 .qr-select:focus, 9045 .qr-textarea:focus { 9046 outline: none; 9047 border-color: var(--color-quote-accent, #2B3990); 9048 box-shadow: 0 0 0 3px rgba(43, 57, 144, 0.1); 9049 } 9050 9051 /* Ensure date & select inputs stay pill-shaped */ 9052 input[type="date"].qr-input, 9053 select.qr-select { 9054 border-radius: 9999px !important; 9055 padding-left: 1rem; 9056 padding-right: 2.5rem; 9057 } 9058 9059 input[type="date"].qr-input::-webkit-calendar-picker-indicator { 9060 opacity: 0.4; 9061 cursor: pointer; 9062 } 9063 9064 /* Budget slider */ 9065 .qr-slider { 9066 -webkit-appearance: none; 9067 appearance: none; 9068 width: 100%; 9069 height: 28px; 9070 background: transparent; 9071 outline: none; 9072 cursor: pointer; 9073 position: relative; 9074 z-index: 2; 9075 touch-action: none; 9076 margin: 0; 9077 padding: 0; 9078 } 9079 9080 .qr-slider::-webkit-slider-runnable-track { 9081 height: 6px; 9082 border-radius: 9999px; 9083 background: var(--slider-track, #e5e7eb); 9084 cursor: pointer; 9085 } 9086 9087 .qr-slider::-webkit-slider-thumb { 9088 -webkit-appearance: none; 9089 appearance: none; 9090 width: 24px; 9091 height: 24px; 9092 border-radius: 50%; 9093 background: #658a6a; 9094 cursor: grab; 9095 box-shadow: 0 2px 6px rgba(0, 0, 0, 0.15); 9096 margin-top: -9px; 9097 border: 2px solid #fff; 9098 } 9099 9100 .qr-slider::-webkit-slider-thumb:active { 9101 cursor: grabbing; 9102 transform: scale(1.1); 9103 box-shadow: 0 3px 8px rgba(0, 0, 0, 0.2); 9104 } 9105 9106 .qr-slider::-moz-range-track { 9107 height: 6px; 9108 border-radius: 9999px; 9109 background: var(--slider-track, #e5e7eb); 9110 cursor: pointer; 9111 } 9112 9113 .qr-slider::-moz-range-thumb { 9114 width: 24px; 9115 height: 24px; 9116 border: 2px solid #fff; 9117 border-radius: 50%; 9118 background: #658a6a; 9119 cursor: grab; 9120 box-shadow: 0 2px 6px rgba(0, 0, 0, 0.15); 9121 } 9122 9123 .qr-slider::-moz-range-thumb:active { 9124 cursor: grabbing; 9125 } 9126 9127 .qr-slider::-moz-range-progress { 9128 height: 6px; 9129 border-radius: 9999px; 9130 background: #658a6a; 9131 } 9132 9133 /* Pill buttons for per-product fields */ 9134 .qr-pill { 9135 display: inline-flex; 9136 height: 23px; 9137 align-items: center; 9138 justify-content: center; 9139 gap: 0.25rem; 9140 border: 0.666px solid black; 9141 border-radius: 9999px; 9142 padding: 0 0.75rem; 9143 background: #eee; 9144 color: #111827; 9145 font-size: 10.65px; 9146 font-weight: 400; 9147 cursor: pointer; 9148 transition: border-color 0.15s, background 0.15s; 9149 white-space: nowrap; 9150 position: relative; 9151 } 9152 9153 .qr-pill:hover { 9154 border-color: black; 9155 background: #e2e2e2; 9156 } 9157 9158 .qr-pill--active { 9159 border-color: black; 9160 color: #111827; 9161 background: #e2e2e2; 9162 } 9163 9164 .qr-pill--required { 9165 border-color: #dc2626; 9166 } 9167 9168 /* Pills grid: fixed equal columns across all rows */ 9169 .qr-pills-row { 9170 display: grid; 9171 grid-template-columns: repeat(3, 1fr); 9172 } 9173 9174 /* Popover for pill fields */ 9175 .qr-popover { 9176 position: absolute; 9177 top: calc(100% + 6px); 9178 left: 0; 9179 z-index: 50; 9180 min-width: 14rem; 9181 border: 0.666px solid black; 9182 border-radius: 8px; 9183 background: #fff; 9184 padding: 0.75rem; 9185 box-shadow: 0 3px 7px 0 rgba(0, 0, 0, 0.4); 9186 } 9187 9188 /* Product item rows */ 9189 .qr-product-row { 9190 border-bottom: 1px solid black !important; 9191 padding: 0.75rem 0; 9192 } 9193 9194 .qr-product-row:last-child { 9195 border-bottom: none !important; 9196 } 9197 9198 /* Submit button */ 9199 .qr-submit { 9200 display: flex; 9201 height: 70px; 9202 width: 100%; 9203 max-width: 351px; 9204 margin-left: auto; 9205 margin-right: auto; 9206 align-items: center; 9207 justify-content: center; 9208 border-radius: 50px; 9209 border: 2px solid #4B4D72; 9210 padding: 0.85rem 1.5rem; 9211 background: #4B4D72; 9212 color: #fff; 9213 font-size: 1.5rem; 9214 font-weight: 400; 9215 transition: opacity 0.2s ease, transform 0.2s ease; 9216 } 9217 9218 .qr-submit:hover { 9219 background: #3d3f5e; 9220 border-color: #3d3f5e; 9221 transform: translateY(-1px); 9222 } 9223 9224 .qr-submit:disabled { 9225 opacity: 0.4;
9226 cursor: not-allowed; 9227 transform: none; 9228 } 9229 9230 /* Outlined button */ 9231 .qr-btn-outline { 9232 display: inline-flex; 9233 min-height: 2.75rem; 9234 align-items: center; 9235 justify-content: center; 9236 border: 1.5px solid #4B4D72; 9237 border-radius: 9999px; 9238 padding: 0.65rem 1.5rem; 9239 background: transparent; 9240 color: #4B4D72; 9241 font-size: 0.875rem; 9242 font-weight: 600; 9243 transition: background-color 0.2s ease, color 0.2s ease; 9244 } 9245 9246 .qr-btn-outline:hover { 9247 background: #4B4D72; 9248 color: #fff; 9249 } 9250 9251 @media (max-width: 639px) { 9252 .qr-popover { 9253 position: fixed; 9254 top: auto; 9255 bottom: 0; 9256 left: 0; 9257 right: 0; 9258 min-width: 100%; 9259 border-radius: 8px 8px 0 0; 9260 padding: 1rem; 9261 box-shadow: 0 -3px 7px 0 rgba(0, 0, 0, 0.4); 9262 } 9263 } 9264 9265 /* Fix: Tailwind arbitrary rounded class not compiled */ 9266 @media (min-width: 640px) { 9267 .sm\:rounded-\[24px\] { 9268 border-radius: 27px; 9269 } 9270 } 9271 9272 /* Fix: Tailwind sm:grid-cols-2 not compiled in this theme */ 9273 @media (min-width: 640px) { 9274 [data-quote-request-modal] .sm\:grid-cols-2 { 9275 grid-template-columns: repeat(2, minmax(0, 1fr)); 9276 } 9277 } 9278 9279 /* Make overlay scroll instead of modal body */ 9280 #modals-modal:has([data-quote-request-modal]) { 9281 overflow-y: auto; 9282 } 9283 9284 /* Flex container: min-height instead of fixed height, always center */ 9285 #modals-modal:has([data-quote-request-modal]) > div { 9286 height: auto; 9287 min-height: 100%; 9288 align-items: center; 9289 } 9290 9291 /* Card: remove max-height constraint, allow natural sizing, always rounded */ 9292 #modals-modal:has([data-quote-request-modal]) #modal-slot { 9293 max-height: none !important; 9294 overflow: visible !important; 9295 border-radius: 27px; 9296 border: 1.75px solid black; 9297 box-shadow: 0px 4px 13px 2px rgba(0, 0, 0, 0.1); 9298 } 9299 9300 /* Fix: Tailwind sm:flex-nowrap not compiled */ 9301 @media (min-width: 640px) { 9302 .qr-product-row { 9303 flex-wrap: nowrap; 9304 } 9305 } 9306 9307 /* Content div: match card rounding */ 9308 [data-quote-request-modal] { 9309 border-radius: 27px; 9310 overflow: visible !important; 9311 } 9312 9313 /* All modal text defaults to black per Figma */ 9314 [data-quote-request-modal] label, 9315 [data-quote-request-modal] h3, 9316 [data-quote-request-modal] p, 9317 [data-quote-request-modal] span { 9318 color: black; 9319 } 9320 9321 /* Preserve intentional non-black colors */ 9322 [data-quote-request-modal] .text-gray-400 { 9323 color: #9ca3af !important; 9324 } 9325 [data-quote-request-modal] .text-emerald-600 { 9326 color: #059669 !important; 9327 } 9328 [data-quote-request-modal] .text-red-500 { 9329 color: #ef4444 !important; 9330 } 9331 /* Keep submit button text white */ 9332 [data-quote-request-modal] .qr-submit span { 9333 color: #fff !important; 9334 } 9335 9336 /* Modal title letter spacing */ 9337 [data-quote-request-modal] h2 { 9338 letter-spacing: 0px !important; 9339 } 9340 9341 /* All labels should be black per Figma */ 9342 [data-quote-request-modal] label { 9343 color: black !important; 9344 } 9345 9346 /* Placeholder text should be grey, not blue */ 9347 [data-quote-request-modal] textarea::placeholder, 9348 [data-quote-request-modal] input::placeholder { 9349 color: #9ca3af !important; 9350 } 9351</style> 9352 9353<data-island 9354 x-data="QuoteRequestForm" 9355 on="idle" 9356 x-cloakdata-webhook-url="https://print-room-chatbot-api.vercel.app/api/quote-request" 9357 data-turnstile-site-key="0x4AAAAAAETPnb_3iHel2J69" 9358> 9359 <template x-teleport="#modal-slot"> 9360 <div 9361 x-show="$store.modals.modal.contents === 'quoteRequest'" 9362 class="flex w-full flex-col h-full" 9363 style="background: #FBFBF6;" 9364 data-quote-request-modal 9365 ><div class="shrink-0 px-5 py-4 sm:px-8 sm:py-5"> 9366 <div class="flex items-center justify-between"> 9367 <h2 x-show="!successMessage" class="font-bold" style="font-size: 2.75rem; letter-spacing: 0px; color: black;">Project quote request</h2> 9368 <div x-show="successMessage" class="flex-1"></div> 9369 <button 9370 @click.prevent="$store.modals.close('quoteRequest')" 9371 type="button" 9372 class="rounded-full p-2 text-gray-400 transition hover:text-gray-600" 9373 > 9374 <span class="sr-only">Close</span> 9375 <svg width="20" height="20" fill="none" viewBox="0 0 24 24">
9375<path stroke="currentColor" stroke-width="2" d="m6 6 12 12m0-12-12 12"/></svg> 9376 </button> 9377 </div> 9378 </div><div class="overflow-y-auto flex-1 px-5 py-5 sm:px-8 sm:py-6"> 9379 <div class="mx-auto max-w-2xl"> 9380 <template x-if="!successMessage"> 9381 <form @submit.prevent="submitQuote" class="space-y-8"><section style="padding-bottom: 2rem;"> 9382 <h3 class="text-sm font-normal" style="color: black;" x-text="'Selected products (' + ($store.chatQuote.active ? $store.chatQuote.count : $store.favorites.count) + ')'">Selected products</h3><template x-if="$store.chatQuote.active && $store.chatQuote.count > 0"> 9383 <div class="mt-3"> 9384 <template x-for="item in $store.chatQuote.items" :key="item.id"> 9385 <div class="qr-product-row flex items-start gap-3"> 9386 <div class="shrink-0 overflow-hidden rounded-lg bg-gray-100" style="width: 53px; height: 53px;"> 9387 <template x-if="item.image"> 9388 <img :src="item.image" :alt="item.title" class="h-full w-full object-cover" width="53" height="53"> 9389 </template> 9390 </div> 9391 <div class="min-w-0 flex-1"> 9392 <p class="text-sm font-semibold text-gray-900" x-text="item.title"></p> 9393 <div class="mt-2 flex flex-wrap gap-2"> 9394 <span x-show="item.quantity" class="qr-pill" x-text="'Qty ' + item.quantity"></span> 9395 <span x-show="item.colors && item.colors.length > 0" class="qr-pill" x-text="item.colors.join(', ')"></span> 9396 <span x-show="item.sizes && item.sizes.length > 0" class="qr-pill" x-text="item.sizes.join(', ')"></span> 9397 <span x-show="item.decorationMethod" class="qr-pill" x-text="item.decorationMethod"></span> 9398 </div> 9399 </div> 9400 </div> 9401 </template> 9402 </div> 9403 </template><template x-if="!$store.chatQuote.active && $store.favorites.count > 0"> 9404 <div class="mt-3" x-data="{ openPill: null }" 9405 @click.document="if (openPill && !$event.target.closest('.qr-pill') && !$event.target.closest('.qr-popover')) openPill = null"> 9406 <template x-for="item in $store.favorites.items" :key="item.key"> 9407 <div class="qr-product-row flex items-center gap-3 flex-wrap sm:flex-nowrap" x-init="if(item.handle === 'mystery-product') { $nextTick(() => openPill = item.key + '-notes') }"> 9408 <template x-if="item.handle === 'mystery-product'"> 9409 <div class="shrink-0 flex items-center justify-center" style="width: 53px; height: 53px;"> 9410 <span style="width: 33px; height: 33px; color: black;"><span class="h-full w-full fill-current"> 9411 <svg 9412 aria-hidden="true" 9413 focusable="false" 9414 role="presentation" 9415 class="icon icon-product-question-mark" 9416 viewBox="0 0 24 24" 9417 > 9418 <path d="M12 1c6.075 0 11 4.925 11 11s-4.925 11-11 11S1 18.075 1 12 5.925 1 12 1Zm0 1.375a9.625 9.625 0 1 0 0 19.25 9.625 9.625 0 0 0 0-19.25Zm0 13.75.112.006a1.031 1.031 0 1 1-.224 0l.112-.006Zm3.35-7.646a3.437 3.437 0 0 1-2.204 4.012.688.688 0 0 0-.452.553l-.007.096v.922a.687.687 0 0 1-1.368.094l-.007-.094v-.921c0-.823.488-1.562 1.233-1.89l.143-.056a2.062 2.062 0 1 0-2.745-2.094l-.006.15a.688.688 0 1 1-1.374-.001 3.438 3.438 0 0 1 6.787-.771Z"></path> 9419 </svg> 9420</span> 9421</span> 9422 </div> 9423 </template> 9424 <template x-if="item.handle !== 'mystery-product'"> 9425 <div class="shrink-0 overflow-hidden rounded-lg bg-gray-100" style="width: 53px; height: 53px;"> 9426 <img :src="item.image" :alt="item.title" class="h-full w-full object-cover" width="53" height="53"> 9427 </div> 9428 </template> 9429 <div class="min-w-0" style="width: 5rem; flex: 0 0 5rem;"> 9430 <p style="font-size: 10px; font-weight: 300; line-height: 11px; color: black;" x-text="item.vendor || ''"></p> 9431 <p class="truncate" style="font-size: 10px; font-weight: 600; line-height: 11px; color: black;" x-text="item.title"></p> 9432 </div><div class="qr-pills-row flex-1" style="margin-left: 1rem; gap: 0.75rem; align-items: center;"> 9433 <div class="relative" x-show="item.hasColours"> 9434 <button type="button" class="qr-pill" :class="{ 'qr-pill--active': openPill === item.key + '-colour' }" 9435 @click="openPill = openPill === item.key + '-colour' ? null : item.key + '-colour'; if (openPill) $store.favorites.loadColourChoices(item.key)">
9436 <span x-text="item.colour || 'Colour TBC'"></span> 9437 <svg class="h-3 w-3" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M19 9l-7 7-7-7"/></svg> 9438 </button> 9439 <div x-show="openPill === item.key + '-colour'" x-transition class="qr-popover" style="min-width: 10rem; max-height: 15rem; overflow-y: auto;"> 9440 <button 9441 type="button" 9442 data-quote-colour-tbc 9443 class="block w-full text-left text-sm py-1" 9444 :disabled="!$store.favorites.canSelectTbc(item)" 9445 :class="!$store.favorites.canSelectTbc(item) ? 'opacity-40 cursor-not-allowed' : ''" 9446 @click="if ($store.favorites.rekey(item.key, { variantId: null, colour: null })) openPill = null" 9447 >TBC (decide later)</button> 9448 <p class="text-xs text-gray-600" x-show="!($store.favorites.colourChoicesByHandle[item.handle] || []).length">We'll confirm colour with you</p> 9449 <template x-for="choice in ($store.favorites.colourChoicesByHandle[item.handle] || [])" :key="choice.variantId"> 9450 <button type="button" class="block w-full text-left text-sm py-1" x-text="choice.label" 9451 :disabled="$store.favorites.colourChoiceTaken(item, choice)" 9452 :class="$store.favorites.colourChoiceTaken(item, choice) ? 'opacity-40 cursor-not-allowed' : ''" 9453 @click="if ($store.favorites.rekey(item.key, choice)) openPill = null"></button> 9454 </template> 9455 </div> 9456 </div><div class="relative"> 9457 <button type="button" class="qr-pill" :class="{ 'qr-pill--active': openPill === item.key + '-qty' }" @click="openPill = openPill === item.key + '-qty' ? null : item.key + '-qty'"> 9458 <span x-text="'Quantity' + (item.quantity ? ' ' + (item.quantity >= 1000 ? '1000+' : item.quantity) : '')"></span> 9459 <svg class="h-3 w-3 text-gray-600" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M19 9l-7 7-7-7"/></svg> 9460 </button> 9461 <div x-show="openPill === item.key + '-qty'" x-transition class="qr-popover" style="min-width: 8rem; padding: 0.5rem 0.75rem;"> 9462 <div class="flex items-baseline gap-2"> 9463 <span class="text-sm font-normal text-gray-900" x-text="item.quantity || item.moq || 24"></span> 9464 <span class="text-xs font-light text-gray-500">units</span> 9465 </div> 9466 <input x-show="item.sizeSplit === null" 9467 type="range" 9468 min="1" 9469 max="1000" 9470 step="1" 9471 class="qr-slider" 9472 style="height: 18px; margin-top: 2px;" 9473 :value="item.quantity || item.moq || 24" 9474 @input="$store.favorites.updateItemMeta(item.key, 'quantity', parseInt($event.target.value, 10))" 9475 :style="'--slider-track: linear-gradient(to right, #658a6a ' + ((item.quantity - 1) / 999 * 100) + '%, #e5e7eb ' + ((item.quantity - 1) / 999 * 100) + '%)'" 9476 > 9477 <label x-show="item.sizeOptions && item.sizeOptions.length" class="mt-2 flex items-center gap-2 text-xs"> 9478 <input type="checkbox" :checked="item.sizeSplit !== null" @change="$store.favorites.setSizeSplit(item.key, $event.target.checked ? {} : null)"> 9479 Split by size (optional) 9480 </label> 9481 <div x-show="item.sizeSplit !== null && item.sizeOptions && item.sizeOptions.length" class="mt-2 space-y-1"> 9482 <template x-for="size in item.sizeOptions" :key="size"> 9483 <label class="flex items-center gap-2 text-xs">
9484 <span x-text="size" class="w-10"></span> 9485 <input type="number" min="0" max="100000" step="1" class="w-20 border rounded px-1" 9486 :value="(item.sizeSplit || {})[size] || 0" 9487 @input="$store.favorites.setSizeSplit(item.key, { ...(item.sizeSplit || {}), [size]: parseInt($event.target.value, 10) || 0 })"> 9488 </label> 9489 </template> 9490 </div> 9491 </div> 9492 </div><div class="relative"> 9493 <button type="button" class="qr-pill" :class="{ 'qr-pill--active': openPill === item.key + '-artwork' || (item.artworks && item.artworks.length > 0) || item.artworkLink }" @click="openPill = openPill === item.key + '-artwork' ? null : item.key + '-artwork'"> 9494 <template x-if="item.artworks && item.artworks.length > 0"> 9495 <span class="flex items-center gap-1"> 9496 <svg class="h-3 w-3 shrink-0" style="color: #658a6a;" fill="currentColor" viewBox="0 0 20 20"><path fill-rule="evenodd" d="M10 18a8 8 0 100-16 8 8 0 000 16zm3.707-9.293a1 1 0 00-1.414-1.414L9 10.586 7.707 9.293a1 1 0 00-1.414 1.414l2 2a1 1 0 001.414 0l4-4z" clip-rule="evenodd"/></svg> 9497 <span x-text="item.artworks.length === 1 ? '1 file' : item.artworks.length + ' files'"></span> 9498 </span> 9499 </template> 9500 <template x-if="item.artworkLink && !(item.artworks && item.artworks.length > 0)"> 9501 <span class="flex items-center gap-1"> 9502 <svg class="h-3 w-3 shrink-0" style="color: #658a6a;" fill="currentColor" viewBox="0 0 20 20"><path fill-rule="evenodd" d="M10 18a8 8 0 100-16 8 8 0 000 16zm3.707-9.293a1 1 0 00-1.414-1.414L9 10.586 7.707 9.293a1 1 0 00-1.414 1.414l2 2a1 1 0 001.414 0l4-4z" clip-rule="evenodd"/></svg> 9503 <span>Artwork linked</span> 9504 </span> 9505 </template> 9506 <template x-if="!(item.artworks && item.artworks.length > 0) && !item.artworkLink"> 9507 <span x-text="'Upload artwork \u2191'"></span> 9508 </template> 9509 </button> 9510 <div x-show="openPill === item.key + '-artwork'" x-transition class="qr-popover" style="min-width: 14rem;"> 9511 <p class="mb-2 text-xs text-gray-500">Max <strong>5 files</strong>, <strong>10MB</strong> each</p><template x-if="item.artworks && item.artworks.length > 0"> 9512 <div class="mb-2 space-y-3"> 9513 <template x-for="(aw, awIdx) in item.artworks" :key="aw.fileName + awIdx"> 9514 <div class="text-xs"> 9515 <div class="flex items-center gap-1.5"> 9516 <template x-if="aw.status === 'uploading'"> 9517 <svg class="h-3 w-3 shrink-0 animate-spin text-gray-400" fill="none" viewBox="0 0 24 24"><circle class="opacity-25" cx="12" cy="12" r="10" stroke="currentColor" stroke-width="4"/><path class="opacity-75" fill="currentColor" d="M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4z"/></svg> 9518 </template> 9519 <template x-if="aw.status === 'done'"> 9520 <svg class="h-3 w-3 shrink-0 text-emerald-500" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M5 13l4 4L19 7"/></svg> 9521 </template> 9522 <template x-if="aw.status === 'error'"> 9523 <svg class="h-3 w-3 shrink-0 text-red-500" fill="none" stroke="currentColor" viewBox="0 0 24 24">
9523<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M6 18L18 6M6 6l12 12"/></svg> 9524 </template> 9525 <span class="flex-1 truncate" :class="aw.status === 'error' ? 'text-red-600' : 'text-gray-700'" x-text="aw.fileName"></span> 9526 <span class="shrink-0 text-gray-400" style="font-size: 10px;" x-text="aw.fileSize ? (aw.fileSize / 1024 < 1024 ? Math.round(aw.fileSize / 1024) + 'KB' : (aw.fileSize / (1024*1024)).toFixed(1) + 'MB') : ''"></span> 9527 <template x-if="aw.status === 'error'"> 9528 <button type="button" class="shrink-0 text-blue-600 underline" @click="retryArtworkUpload(item.key, awIdx)">Retry</button> 9529 </template> 9530 <button type="button" class="shrink-0 text-red-400 hover:text-red-600" @click="removeArtwork(item.key, awIdx)" title="Remove file"> 9531 <svg class="h-3 w-3" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M6 18L18 6M6 6l12 12"/></svg> 9532 </button> 9533 </div><template x-if="aw.status === 'done'"> 9534 <div class="relative" style="margin-top: 3px; margin-left: 18px;" x-data="{ placementOpen: false }"> 9535 <button 9536 type="button" 9537 @click="placementOpen = !placementOpen" 9538 class="flex w-full items-center justify-between" 9539 style="height: 20px; padding: 0 8px; font-size: 10px; border: 0.666px solid black; border-radius: 9999px; background: #eee; cursor: pointer;" 9540 > 9541 <span x-text="aw.placement || 'Placementâ¦'" :style="aw.placement ? 'color: black' : 'color: #9ca3af'"></span> 9542 <svg :style="placementOpen ? 'transform: rotate(180deg)' : ''" width="6" height="4" viewBox="0 0 6 4" fill="none" style="margin-left: 4px; flex-shrink: 0; transition: transform 0.15s;"> 9543 <path d="M0.5 0.5L3 3L5.5 0.5" stroke="black" stroke-width="1" stroke-linecap="round" stroke-linejoin="round"/> 9544 </svg> 9545 </button> 9546 <div 9547 x-show="placementOpen" 9548 x-transition 9549 @click.outside="placementOpen = false" 9550 style="position: absolute; top: calc(100% + 3px); left: 0; z-index: 60; background: white; border: 0.666px solid black; border-radius: 10px; padding: 0.35rem 0; min-width: 110px; box-shadow: 0 3px 7px 0 rgba(0,0,0,0.15);" 9551 > 9552 <template x-for="pl in ['Front','Left Chest','Right Chest','Back','Sleeve','Other']" :key="pl"> 9553 <button 9554 type="button" 9555 class="block w-full text-left" 9556 style="padding: 0.2rem 0.65rem; font-size: 10px; line-height: 13px; color: #4b5563; cursor: pointer; background: none; border: none;" 9557 @click="updateArtworkPlacement(item.key, awIdx, pl); placementOpen = false" 9558 @mouseover="$el.style.background = '#f3f4f6'" 9559 @mouseout="$el.style.background = 'none'" 9560 x-text="pl" 9561 ></button> 9562 </template> 9563 </div> 9564 </div> 9565 </template> 9566 </div> 9567 </template> 9568 </div> 9569 </template><template x-if="!item.artworks || item.artworks.length < 5"> 9570 <label class="flex cursor-pointer items-center justify-center gap-2 rounded-xl border border-dashed border-gray-300 px-4 py-2.5 text-sm text-gray-600 transition hover:border-gray-400"> 9571 <svg class="h-4 w-4" fill="none" stroke="currentColor" viewBox="0 0 24 24">
9571<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M4 16v2a2 2 0 002 2h12a2 2 0 002-2v-2M7 10l5-5m0 0l5 5m-5-5v12"/></svg> 9572 <span x-text="item.artworks && item.artworks.length > 0 ? 'Add more files' : 'Select files'"></span> 9573 <input 9574 type="file" 9575 class="hidden" 9576 multiple 9577 accept=".png,.jpg,.jpeg,.svg,.pdf,.ai,.eps" 9578 @change="handlePerProductFileUpload($event, item.key)" 9579 > 9580 </label> 9581 </template><div style="margin-top: 0.75rem; padding-top: 0.75rem; border-top: 1px solid #e5e7eb;"> 9582 <p class="text-xs text-gray-500">For <strong>larger files</strong>: via shared link</p> 9583 <input 9584 type="url" 9585 class="qr-input text-sm" 9586 style="margin-top: 0.5rem; font-size: 0.75rem;" 9587 placeholder="Link address" 9588 :value="item.artworkLink || ''" 9589 @input="$store.favorites.updateItemMeta(item.key, 'artworkLink', $event.target.value)" 9590 > 9591 <p class="mt-1 text-gray-400" style="font-size: 9px;">Eg. Google drive, Dropbox</p> 9592 </div> 9593 </div> 9594 </div><div class="relative"> 9595 <button type="button" class="qr-pill" :class="{ 'qr-pill--active': openPill === item.key + '-notes' || (item.notes && item.notes.length > 0), 'qr-pill--required': item.handle === 'mystery-product' && (!item.notes || !item.notes.trim()) }" @click="openPill = openPill === item.key + '-notes' ? null : item.key + '-notes'"> 9596 <span class="qr-pill-notes-text" x-text="item.notes && item.notes.length > 0 ? 'Notes added' : 'Notes\u2026'"></span> 9597 <template x-if="item.handle === 'mystery-product'"><span style="color: #dc2626; margin-left: 2px;">*</span></template> 9598 </button> 9599 <div x-show="openPill === item.key + '-notes'" x-transition class="qr-popover" style="left: auto; right: 0;"> 9600 <label class="mb-1.5 block text-xs font-medium text-gray-500">Notes</label> 9601 <textarea 9602 rows="3" 9603 class="qr-textarea text-sm" 9604 :placeholder="item.handle === 'mystery-product' ? 'Include the brand, product name or SKU you require' : 'Tell us how and where you would like your artwork printed.'" 9605 :value="item.notes || ''" 9606 @input="$store.favorites.updateItemMeta(item.key, 'notes', $event.target.value)" 9607 ></textarea> 9608 </div> 9609 </div> 9610 </div> 9611 </div> 9612 </template> 9613 <template x-for="shortfall in $store.favorites.moqShortfalls()" :key="shortfall.id"> 9614 <p class="mt-2 text-xs text-red-600" role="alert" x-text="shortfall.title + ' total ' + shortfall.total + ' â minimum ' + shortfall.moq"></p> 9615 </template> 9616 </div> 9617 </template><template x-if="!$store.chatQuote.active && $store.favorites.count === 0"> 9618 <p class="mt-3 text-sm text-gray-400">No products added yet. Browse products and add items to your quote.</p> 9619 </template> 9620 </section><section style="padding-bottom: 2rem;"> 9621 <div style="border: 0.75px solid black; border-radius: 10px; padding: 0.65rem 1.25rem;"> 9622 <p style="font-size: 11px; color: black; margin-bottom: 2px;">Additional notes:</p> 9623 <textarea 9624 id="project-description" 9625 x-model="formData.description" 9626 rows="2" 9627 placeholder="Is there anything else we might need to know about your project?" 9628 style="width: 100%; border: none; padding: 0; background: transparent; font-size: 11.5px; color: #111827; resize: vertical; outline: none;" 9629 ></textarea> 9630 </div> 9631 </section><section style="padding-bottom: 2rem;"> 9632 <label class="text-sm" style="color: black;">Your budget</label> 9633 <div class="flex items-center justify-between" style="margin-top: 0.25rem;">
9634 <span class="text-xs text-gray-400">$500</span> 9635 <span style="font-size: 1.95rem; font-weight: 400; line-height: 1; color: #658a6a;" x-text="'$' + Number(formData.budget).toLocaleString()"></span> 9636 <span class="text-xs text-gray-400">$10,000+</span> 9637 </div> 9638 <div @mousedown.stop @touchstart.stop> 9639 <input 9640 type="range" 9641 x-model.number="formData.budget" 9642 @input="formData.budget = parseInt($event.target.value, 10)" 9643 @click.stop 9644 min="500" 9645 max="10000" 9646 step="500" 9647 class="qr-slider" 9648 :style="'--slider-track: linear-gradient(to right, #658a6a ' + ((formData.budget - 500) / 9500 * 100) + '%, #e5e7eb ' + ((formData.budget - 500) / 9500 * 100) + '%)'" 9649 > 9650 </div> 9651 </section><section class="grid grid-cols-1 gap-4 sm:grid-cols-2"> 9652 <div> 9653 <label for="in-hand-date" class="mb-1.5 block text-sm">The date I need my merch*</label> 9654 <input 9655 type="date" 9656 id="in-hand-date" 9657 x-model="formData.inHandDate" 9658 required 9659 class="qr-input text-sm" 9660 :min="(() => { let d = new Date(), a = 0; while (a < 7) { d.setDate(d.getDate() + 1); if (d.getDay() !== 0 && d.getDay() !== 6) a++; } return d.toISOString().split('T')[0]; })()" 9661 > 9662 </div> 9663 <div x-data="{ locationOpen: false }"> 9664 <label class="mb-1.5 block text-sm" style="color: black;">I need it sent to*</label> 9665 <div class="relative"><select x-model="formData.location" required class="sr-only" tabindex="-1" aria-hidden="true"> 9666 <option value="">Select location</option> 9667 <optgroup label="New Zealand"> 9668 <option value="Northland">Northland</option> 9669 <option value="Auckland">Auckland</option> 9670 <option value="Waikato">Waikato</option> 9671 <option value="Bay of Plenty">Bay of Plenty</option> 9672 <option value="Gisborne">Gisborne</option> 9673 <option value="Hawke's Bay">Hawke's Bay</option> 9674 <option value="Taranaki">Taranaki</option> 9675 <option value="ManawatÅ«-Whanganui">Manawatū-Whanganui</option> 9676 <option value="Wellington">Wellington</option> 9677 <option value="Tasman">Tasman</option> 9678 <option value="Nelson">Nelson</option> 9679 <option value="Marlborough">Marlborough</option> 9680 <option value="West Coast">West Coast</option> 9681 <option value="Canterbury">Canterbury</option> 9682 <option value="Otago">Otago</option> 9683 <option value="Southland">Southland</option> 9684 </optgroup> 9685 <optgroup label="Australia"> 9686 <option value="New South Wales">New South Wales</option> 9687 <option value="Victoria">Victoria</option> 9688 <option value="Queensland">Queensland</option> 9689 <option value="Western Australia">Western Australia</option> 9690 <option value="South Australia">South Australia</option> 9691 <option value="Tasmania">Tasmania</option> 9692 <option value="Australian Capital Territory">Australian Capital Territory</option> 9693 <option value="Northern Territory">Northern Territory</option> 9694 </optgroup> 9695 <option value="International">International</option> 9696 </select><button 9697 type="button" 9698 @click="locationOpen = !locationOpen" 9699 class="qr-select flex w-full items-center justify-between text-sm" 9700 style="cursor: pointer;" 9701 >
9702 <span x-text="formData.location || 'Select location'" :style="formData.location ? 'color: black' : 'color: #9ca3af'"></span> 9703 <svg class="h-4 w-4 shrink-0 transition-transform" :style="locationOpen ? 'transform: rotate(180deg)' : ''" fill="none" stroke="currentColor" viewBox="0 0 24 24" style="color: black;"> 9704 <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M19 9l-7 7-7-7"></path> 9705 </svg> 9706 </button><div 9707 x-show="locationOpen" 9708 x-transition 9709 @click.outside="locationOpen = false" 9710 style="position: absolute; top: calc(100% + 4px); left: 0; right: 0; z-index: 50; background: white; border: 0.666px solid black; border-radius: 15.5px; max-height: 232px; overflow-y: auto; padding: 0.75rem 0;" 9711 > 9712 <template x-for="loc in ['Northland','Auckland','Waikato','Bay of Plenty','Gisborne','Hawke\'s Bay','Taranaki','Manawat\u016b-Whanganui','Wellington','Tasman','Nelson','Marlborough','West Coast','Canterbury','Otago','Southland','New South Wales','Victoria','Queensland','Western Australia','South Australia','Tasmania','Australian Capital Territory','Northern Territory','International']" :key="loc"> 9713 <button 9714 type="button" 9715 class="block w-full text-left" 9716 style="padding: 0.25rem 1rem; font-size: 12.65px; line-height: 13.313px; color: #4b5563; cursor: pointer; background: none; border: none;" 9717 @click="formData.location = loc; locationOpen = false" 9718 @mouseover="$el.style.background = '#f3f4f6'" 9719 @mouseout="$el.style.background = 'none'" 9720 x-text="loc" 9721 ></button> 9722 </template> 9723 </div> 9724 </div> 9725 </div> 9726 <div> 9727 <label for="contact-name" class="mb-1.5 block text-sm">Your name*</label> 9728 <input 9729 type="text" 9730 id="contact-name" 9731 x-model="formData.name" 9732 required 9733 placeholder="Your name here" 9734 class="qr-input text-sm" 9735 > 9736 </div> 9737 <div> 9738 <label for="contact-email" class="mb-1.5 block text-sm">Email*</label> 9739 <input 9740 type="email" 9741 id="contact-email" 9742 x-model="formData.email" 9743 required 9744 placeholder="[email protected]" 9745 class="qr-input text-sm" 9746 > 9747 </div> 9748 <div> 9749 <label for="contact-phone" class="mb-1.5 block text-sm">Phone*</label> 9750 <input 9751 type="tel" 9752 id="contact-phone" 9753 x-model="formData.phone" 9754 required 9755 placeholder="Your phone number" 9756 class="qr-input text-sm" 9757 > 9758 </div> 9759 <div> 9760 <label for="contact-company" class="mb-1.5 block text-sm">Company</label> 9761 <input 9762 type="text" 9763 id="contact-company" 9764 x-model="formData.company" 9765 placeholder="Your company's name" 9766 class="qr-input text-sm" 9767 > 9768 </div> 9769 <div x-data="{ heardAboutOpen: false }" class="sm:col-span-2"><label id="heard-about-label" class="mb-1.5 block text-sm" style="color: black;">How did you hear about us?*</label> 9770 <div class="relative"><select x-model="formData.heardAbout" required class="sr-only" tabindex="-1" aria-hidden="true"> 9771 <option value="">Select an option</option><option value="Google search">Google search</option><option value="Social media">Social media</option><option value="Referral or word of mouth">Referral or word of mouth</option><option value="Repeat customer">Repeat customer</option><option value="Saw our work in the wild">Saw our work in the wild</option><option value="Email or newsletter">Email or newsletter</option><option value="Event or trade show">Event or trade show</option><option value="Other">Other</option><option value="Prefer not to say">Prefer not to say</option></select><button 9772 type="button" 9773 @click="heardAboutOpen = !heardAboutOpen" 9774 :aria-expanded="heardAboutOpen" 9775 aria-labelledby="heard-about-label" 9776 class="qr-select flex w-full items-center justify-between text-sm" 9777 style="cursor: pointer;" 9778 >
9779 <span x-text="formData.heardAbout || 'Select an option'" :style="formData.heardAbout ? 'color: black' : 'color: #9ca3af'"></span> 9780 <svg class="h-4 w-4 shrink-0 transition-transform" :style="heardAboutOpen ? 'transform: rotate(180deg)' : ''" fill="none" stroke="currentColor" viewBox="0 0 24 24" style="color: black;"> 9781 <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M19 9l-7 7-7-7"></path> 9782 </svg> 9783 </button><div 9784 x-show="heardAboutOpen" 9785 x-transition 9786 @click.outside="heardAboutOpen = false" 9787 style="position: absolute; top: calc(100% + 4px); left: 0; right: 0; z-index: 50; background: white; border: 0.666px solid black; border-radius: 15.5px; max-height: 232px; overflow-y: auto; padding: 0.75rem 0;" 9788 > 9789 <template x-for='opt in ["Google search","Social media","Referral or word of mouth","Repeat customer","Saw our work in the wild","Email or newsletter","Event or trade show","Other","Prefer not to say"]' :key="opt"> 9790 <button 9791 type="button" 9792 class="block w-full text-left" 9793 style="padding: 0.25rem 1rem; font-size: 12.65px; line-height: 13.313px; color: #4b5563; cursor: pointer; background: none; border: none;" 9794 @click="selectHeardAbout(opt); heardAboutOpen = false" 9795 @mouseover="$el.style.background = '#f3f4f6'" 9796 @mouseout="$el.style.background = 'none'" 9797 x-text="opt" 9798 ></button> 9799 </template> 9800 </div> 9801 </div><p x-show="formData.heardAbout === 'Social media'" x-transition class="mt-1.5 text-xs" style="color: #6b7280;"> 9802 Instagram, Facebook, TikTok or LinkedIn 9803 </p><div 9804 x-show="formData.heardAbout === 'Referral or word of mouth' || formData.heardAbout === 'Other'" 9805 x-transition 9806 class="mt-3" 9807 > 9808 <label for="contact-heard-detail" class="mb-1.5 block text-sm" x-text="formData.heardAbout === 'Other' ? 'Tell us more*' : 'Who referred you? (optional)'"></label> 9809 <input 9810 type="text" 9811 id="contact-heard-detail" 9812 x-model="formData.heardAboutDetail" 9813 :required="formData.heardAbout === 'Other'" 9814 :placeholder="formData.heardAbout === 'Other' ? 'How you found us' : 'Their name or company'" 9815 class="qr-input text-sm" 9816 > 9817 </div> 9818 </div> 9819 </section><template x-if="errorMessage"> 9820 <div class="rounded-2xl px-4 py-3 text-center" style="border: 1px solid #e5e7eb; background: #FFFBEB;"> 9821 <p class="text-sm" style="color: #92400e;"> 9822 <span style="font-size: 1.25rem; vertical-align: middle; margin-right: 0.25rem;">🙂</span> 9823 <span x-text="errorMessage"></span> 9824 </p> 9825 </div> 9826 </template><button 9827 type="submit" 9828 class="qr-submit" 9829 style="margin-top: 2.5rem;" 9830 :disabled="submitting || ($store.favorites.count === 0 && !$store.chatQuote.active) || (!$store.chatQuote.active && $store.favorites.moqShortfalls().length > 0)" 9831 > 9832 <span x-show="!submitting">Submit quote request</span> 9833 <span x-show="submitting" class="flex items-center justify-center gap-2"> 9834 <svg class="h-4 w-4 animate-spin" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24"> 9835 <circle class="opacity-25" cx="12" cy="12" r="10" stroke="currentColor" stroke-width="4"></circle> 9836 <path class="opacity-75" fill="currentColor" d="M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z"></path> 9837 </svg> 9838 Sending... 9839 </span> 9840 </button> 9841 </form> 9842 </template><template x-if="successMessage"> 9843 <div class="flex flex-col items-center justify-center text-center" style="padding: 3rem 1.5rem 4rem;"><img src="//printroom.co/cdn/shop/t/59/assets/success-thumbs-up.svg?v=51729750037822013731787098435" alt="Success" width="141" height="179" style="width: 141px; height: 179px;"> 9844 9845 <h3 style="margin-top: 1.5rem; font-size: clamp(48px, 12vw, 80px); font-weight: 300; line-height: 1; color: black;">Success</h3> 9846 9847 <div style="margin-top: 3rem; max-width: 414px; font-size: clamp(18px, 4vw, 25px); line-height: 1.16; color: black; text-align: center;"> 9848 <p style="margin: 0;">Nice! Your quote request has successfully been submitted. 9849 Our team will try and have a quote back to you within 1 working day.</p> 9850 <p style="margin: 1.5rem 0 0;">In the meantime, a confirmation email has been sent to you.</p> 9851 </div> 9852 9853 <a 9854 href="/collections/product-library" 9855 @click="$store.modals.close('quoteRequest'); successMessage = ''" 9856 class="flex items-center justify-center" 9857 style="margin-top: 2.5rem; width: min(300px, 80vw); max-width: 100%; height: 64px; border: 2.7px solid #4B4D72; border-radius: 40px; font-size: clamp(18px, 5vw, 25px); font-weight: 400; color: #4B4D72; letter-spacing: -1.24px; text-decoration: none; transition: background-color 0.2s ease, color 0.2s ease;" 9858 onmouseover="this.style.backgroundColor='#4B4D72';this.style.color='#fff'" 9859 onmouseout="this.style.backgroundColor='transparent';this.style.color='#4B4D72'" 9860 > 9861 Browse more products 9862 </a> 9863 </div> 9864 </template> 9865 </div> 9866 </div> 9867 </div> 9868 </template> 9869</data-island> 9870 9871 9872 9873 9874 9875 9876 9877 <style> 9878 .cwp-overlay { 9879 position: fixed; 9880 top: var(--header-group-height, 119px); 9881 left: 0; 9882 right: 0; 9883 bottom: 0; 9884 z-index: 999; 9885 display: flex; 9886 align-items: center; 9887 justify-content: center; 9888 backdrop-filter: blur(6px); 9889 -webkit-backdrop-filter: blur(6px); 9890 background: rgba(247, 247, 247, 0.6); 9891 opacity: 0; 9892 transition: opacity 0.3s ease; 9893 } 9894 9895 .cwp-card { 9896 position: relative; 9897 width: 100%; 9898 max-width: 598px; 9899 margin: 1rem; 9900 background: #FBFBF6; 9901 border: 1.565px solid black; 9902 border-radius: 23px; 9903 box-shadow: 0 3.5px 11.5px 1.75px rgba(0, 0, 0, 0.1); 9904 padding: 2.5rem 3rem 2.5rem; 9905 overflow: visible; 9906 } 9907 9908 .cwp-close { 9909 position: absolute; 9910 top: 1.25rem; 9911 right: 1.25rem; 9912 background: none; 9913 border: none; 9914 cursor: pointer; 9915 padding: 0.5rem; 9916 color: black; 9917 } 9918 9919 .cwp-title { 9920 font-size: 70px; 9921 font-weight: 300; 9922 line-height: 1; 9923 color: black; 9924 margin: 0 0 1.5rem; 9925 } 9926 9927 .cwp-body { 9928 font-size: 19px; 9929 line-height: 22px; 9930 color: black; 9931 margin: 0 0 1rem; 9932 } 9933 9934 .cwp-body + .cwp-body { 9935 margin-top: 1rem; 9936 } 9937 9938 .cwp-btn { 9939 display: inline-flex; 9940 align-items: center; 9941 justify-content: center; 9942 margin-top: 1.25rem; 9943 height: 37px; 9944 padding: 0 1.5rem; 9945 background: white; 9946 border: 0.722px solid black; 9947 border-radius: 29px; 9948 font-size: 21.67px; 9949 font-weight: 400; 9950 color: black; 9951 cursor: pointer; 9952 transition: background 0.2s ease; 9953 } 9954 9955 .cwp-btn:hover { 9956 background: #f0f0f0; 9957 } 9958 9959 .cwp-pointer-left { 9960 position: fixed; 9961 left: 240px; 9962 top: 50%; 9963 transform: translateY(-50%) rotate(-15deg); 9964 width: 240px; 9965 opacity: 0; 9966 transition: opacity 0.6s ease; 9967 pointer-events: none; 9968 z-index: 1000; 9969 } 9970 .cwp-pointer-left.visible { 9971 opacity: 1; 9972 animation: cwp-bob-left 1.8s ease-in-out infinite; 9973 } 9974 9975 .cwp-pointer-up { 9976 position: fixed; 9977 top: calc(var(--header-group-height, 119px) - 60px); 9978 right: 60px; 9979 width: 180px; 9980 opacity: 0; 9981 transition: opacity 0.6s ease; 9982 pointer-events: none; 9983 z-index: 1000; 9984 } 9985 .cwp-pointer-up.visible { 9986 opacity: 1; 9987 animation: cwp-bob-up 1.8s ease-in-out infinite; 9988 } 9989 9990 @keyframes cwp-bob-left { 9991 0%, 100% { transform: translateY(-50%) rotate(-15deg) translateX(0); } 9992 50% { transform: translateY(-50%) rotate(-15deg) translateX(-10px); } 9993 } 9994 9995 @keyframes cwp-bob-up { 9996 0%, 100% { transform: translateY(0); } 9997 50% { transform: translateY(-10px); } 9998 } 9999 10000 @media (max-width: 639px) { 10001 .cwp-card { 10002 padding: 2rem 1.5rem; 10003 } 10004 10005 .cwp-title { 10006 font-size: 48px; 10007 } 10008 10009 .cwp-body { 10010 font-size: 16px; 10011 line-height: 20px; 10012 } 10013 10014 .cwp-btn { 10015 font-size: 18px; 10016 } 10017 10018 .cwp-pointer-left, 10019 .cwp-pointer-up { 10020 display: none; 10021 } 10022 } 10023</style> 10024 10025 10026 <style>
10027 /* ââ "Can't find something?" scroll-triggered tab ââ */ 10028 .cft-container { 10029 position: fixed; 10030 right: 0; 10031 bottom: 100px; 10032 z-index: 998; 10033 display: none; 10034 font-family: 'DM Sans', sans-serif; 10035 } 10036 10037 /* ââ Tab state (collapsed) ââ */ 10038 .cft-tab { 10039 position: relative; 10040 width: 77px; 10041 height: 96px; 10042 cursor: pointer; 10043 opacity: 0; 10044 transform: translateX(20px); 10045 transition: opacity 0.4s ease, transform 0.4s ease; 10046 } 10047 10048 .cft-tab-bg { 10049 position: absolute; 10050 inset: 0; 10051 display: flex; 10052 align-items: center; 10053 justify-content: center; 10054 } 10055 10056 .cft-tab-bg-inner { 10057 width: 96px; 10058 height: 77px; 10059 flex-shrink: 0; 10060 transform: rotate(90deg); 10061 background: var(--cant-find-bg, #EFFE9C); 10062 border-bottom: 1.03px solid black; 10063 border-left: 1.03px solid black; 10064 border-right: 1.03px solid black; 10065 border-top: none; 10066 border-radius: 0 0 16px 16px; 10067 box-shadow: -2.94px 3.13px 5.88px 0px rgba(0, 0, 0, 0.2); 10068 } 10069 10070 .cft-tab-icon { 10071 position: absolute; 10072 top: 5%; 10073 left: 10%; 10074 width: 65%; 10075 height: 50%; 10076 background-size: contain; 10077 background-repeat: no-repeat; 10078 background-position: center; 10079 } 10080 10081 .cft-tab-text { 10082 position: absolute; 10083 bottom: 13%; 10084 left: 0; 10085 right: 0; 10086 font-weight: 600; 10087 font-size: 10px; 10088 line-height: 11.3px; 10089 color: black; 10090 text-align: center; 10091 } 10092 10093 .cft-tab:hover { 10094 transform: translateX(0) scale(1.04); 10095 } 10096 10097 /* ââ Card state (expanded) â ~3Ã original size ââ */ 10098 .cft-card { 10099 position: relative; 10100 width: 300px; 10101 height: 200px; 10102 opacity: 0; 10103 transform: translateX(20px); 10104 transition: opacity 0.4s ease, transform 0.4s ease; 10105 cursor: default; 10106 } 10107 10108 .cft-card-bg { 10109 position: absolute; 10110 inset: 0; 10111 } 10112 10113 .cft-card-bg-inner { 10114 width: 100%; 10115 height: 100%; 10116 background: var(--cant-find-bg, #EFFE9C); 10117 border: 0.75px solid black; 10118 border-right: none; 10119 border-radius: 20px 0 0 20px; 10120 box-shadow: -1.17px 2.34px 2.34px 0px rgba(0, 0, 0, 0.14); 10121 } 10122 10123 .cft-card-content { 10124 position: absolute; 10125 inset: 0; 10126 z-index: 1; 10127 padding: 18px 22px; 10128 } 10129 10130 .cft-card-close { 10131 position: absolute; 10132 top: 8px; 10133 right: 8px; 10134 z-index: 2; 10135 background: none; 10136 border: none; 10137 cursor: pointer; 10138 padding: 4px; 10139 color: black; 10140 opacity: 0.5; 10141 transition: opacity 0.2s; 10142 line-height: 1; 10143 } 10144 10145 .cft-card-close:hover { 10146 opacity: 1; 10147 } 10148 10149 .cft-card-title { 10150 font-weight: 500; 10151 font-size: 18px; 10152 line-height: 20px; 10153 color: black; 10154 margin: 0 0 10px; 10155 } 10156 10157 .cft-card-body { 10158 font-weight: 400; 10159 font-size: 13px; 10160 line-height: 16px; 10161 color: black; 10162 margin: 0; 10163 max-width: 180px; 10164 } 10165 10166 .cft-card-link { 10167 font-weight: 400; 10168 font-size: 22px; 10169 line-height: 24px; 10170 color: black; 10171 text-decoration: underline; 10172 cursor: pointer; 10173 background: none; 10174 border: none; 10175 padding: 0; 10176 font-family: inherit; 10177 position: absolute; 10178 bottom: 18px; 10179 left: 22px; 10180 z-index: 1; 10181 } 10182 10183 .cft-card-link:hover { 10184 opacity: 0.7; 10185 } 10186 10187 .cft-card-doodle { 10188 position: absolute; 10189 bottom: -2px; 10190 right: 2px; 10191 width: 110px; 10192 height: 65px; 10193 transform: rotate(-24.8deg); 10194 pointer-events: none; 10195 z-index: 1; 10196 background-size: contain; 10197 background-repeat: no-repeat; 10198 background-position: center; 10199 } 10200 10201 /* ââ Visible states (applied by JS) ââ */ 10202 .cft-tab.visible, 10203 .cft-card.visible { 10204 opacity: 1; 10205 transform: translateX(0); 10206 } 10207 10208 /* ââ Hide when favorites drawer is open ââ */ 10209 body:has([data-favorites-drawer]:not([style*="display: none"])) .cft-container { 10210 display: none !important; 10211 } 10212 10213 /* ââ Mobile adjustments ââ */ 10214 @media (max-width: 639px) { 10215 .cft-container { 10216 bottom: 80px; 10217 } 10218 10219 .cft-tab { 10220 width: 66px; 10221 height: 82px; 10222 } 10223 10224 .cft-tab-bg-inner { 10225 width: 82px; 10226 height: 66px; 10227 } 10228 10229 .cft-tab-text { 10230 font-size: 9px; 10231 line-height: 10px; 10232 } 10233 10234 .cft-card { 10235 width: 270px; 10236 height: 180px; 10237 } 10238 } 10239</style> 10240 10241 10242 <div id="shopify-section-ai-chatbot" class="shopify-section contents"><link href="//printroom.co/cdn/shop/t/59/assets/ai-chatbot.css?v=112900874753543053291788472410" rel="stylesheet" type="text/css" media="all" /> 10243<data-island 10244 x-data=" 10245 AIChatbot({ 10246 apiEndpoint: "https:\/\/print-room-chatbot-api.vercel.app\/", 10247 questionsApiUrl: "https:\/\/print-room-chatbot-api.vercel.app\/", 10248 welcomeMessage: "Hi! I'm here to help you with your printing needs. How can I assist you today?", 10249 unavailableMessage: "Chat is temporarily unavailable. Please request a quote or contact us directly.", 10250 suggestedPrompts: [] 10251 }) 10252 " 10253 src="ai-chatbot" 10254 on="idle" 10255 id="ai-chatbot-ai-chatbot" 10256 class="ai-chatbot" 10257 data-color-scheme="scheme1" 10258 ><button 10259 @click="toggle()" 10260 class="ai-chatbot__trigger" 10261 :class="{ 'ai-chatbot__trigger--hidden': isOpen }" 10262 aria-label="Chat with us" 10263 type="button" 10264 > 10265 <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"> 10266 <path d="M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z"></path> 10267 </svg>
10268 <span>Chat with us</span> 10269 </button><template x-teleport="body"> 10270 <div 10271 x-show="isOpen" 10272 x-transition:enter="ai-chatbot-enter" 10273 x-transition:enter-start="ai-chatbot-enter" 10274 x-transition:enter-end="ai-chatbot-enter-active" 10275 x-transition:leave="ai-chatbot-leave" 10276 x-transition:leave-start="ai-chatbot-leave" 10277 x-transition:leave-end="ai-chatbot-leave-active" 10278 class="ai-chatbot__window" 10279 :class="{ 'ai-chatbot__window--minimized': isMinimized }" 10280 data-color-scheme="scheme1" 10281 role="dialog" 10282 aria-label="Chat with us" 10283 @keydown.escape="close()" 10284 ><div class="ai-chatbot__header"> 10285 <div class="ai-chatbot__header-title"> 10286 <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"> 10287 <polygon points="12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26 12 2"></polygon> 10288 </svg> 10289 <span>Chat with us</span> 10290 </div> 10291 <div class="ai-chatbot__header-actions"> 10292 <button 10293 x-show="messages.length > 0 && !isMinimized" 10294 @click="clearHistory()" 10295 class="ai-chatbot__header-btn" 10296 type="button" 10297 :disabled="isLoading" 10298 aria-label="Clear history" 10299 > 10300 <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"> 10301 <polyline points="3 6 5 6 21 6"></polyline> 10302 <path d="M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6m3 0V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2"></path> 10303 </svg> 10304 </button> 10305 <button 10306 @click="minimize()" 10307 class="ai-chatbot__header-btn" 10308 type="button"
10309 :aria-label="isMinimized ? 'Expand' : 'Minimize'" 10310 > 10311 <template x-if="isMinimized"> 10312 <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"> 10313 <polyline points="15 3 21 3 21 9"></polyline> 10314 <polyline points="9 21 3 21 3 15"></polyline> 10315 <line x1="21" y1="3" x2="14" y2="10"></line> 10316 <line x1="3" y1="21" x2="10" y2="14"></line> 10317 </svg> 10318 </template> 10319 <template x-if="!isMinimized"> 10320 <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"> 10321 <polyline points="4 14 10 14 10 20"></polyline> 10322 <polyline points="20 10 14 10 14 4"></polyline> 10323 <line x1="14" y1="10" x2="21" y2="3"></line> 10324 <line x1="3" y1="21" x2="10" y2="14"></line> 10325 </svg> 10326 </template> 10327 </button> 10328 <button 10329 @click="close()" 10330 class="ai-chatbot__header-btn" 10331 type="button" 10332 aria-label="Close" 10333 > 10334 <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"> 10335 <line x1="18" y1="6" x2="6" y2="18"></line> 10336 <line x1="6" y1="6" x2="18" y2="18"></line> 10337 </svg> 10338 </button> 10339 </div> 10340 </div><div class="ai-chatbot__body" x-show="!isMinimized"><div class="ai-chatbot__messages" x-ref="messagesContainer"><template x-if="messages.length === 0"> 10341 <div class="ai-chatbot__welcome"> 10342 <svg class="ai-chatbot__welcome-icon" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"> 10343 <path d="M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z"></path> 10344 </svg> 10345 <p class="ai-chatbot__welcome-text" x-text="welcomeMessage"></p> 10346 <p class="ai-chatbot__welcome-subtext">Ask me anything about our products and services.</p> 10347 </div> 10348 </template><template x-for="(message, index) in messages" :key="message.id"> 10349 <div 10350 class="ai-chatbot__message-row" 10351 :class="'ai-chatbot__message-row--' + message.role" 10352 ><template x-if="message.role === 'system'"> 10353 <div class="ai-chatbot__message-content ai-chatbot__message-content--system" x-text="message.content"></div> 10354 </template><template x-if="message.role !== 'system'"> 10355 <div class="ai-chatbot__message-stack"><template x-if="message.role === 'staff'"> 10356 <div class="ai-chatbot__staff-meta"> 10357 <span class="ai-chatbot__staff-avatar" x-text="message.initials"></span> 10358 <span class="ai-chatbot__staff-name" x-text="message.senderName"></span> 10359 <span 10360 class="ai-chatbot__staff-time" 10361 x-show="message.timestamp" 10362 x-text="message.timestamp ? new Date(message.timestamp).toLocaleTimeString([], { hour: 'numeric', minute: '2-digit' }) : ''" 10363 ></span> 10364 </div> 10365 </template> 10366 10367 <div 10368 class="ai-chatbot__message-bubble" 10369 :class="'ai-chatbot__message-bubble--' + message.role" 10370 ><div class="ai-chatbot__message-content"><span x-text="message.content"></span><span x-show="message.isStreaming && message.content" class="ai-chatbot__cursor"></span></div><template x-if="message.role === 'assistant' && message.options && message.options.choices.length > 0"> 10371 <div class="ai-chatbot__options" :class="{ 'ai-chatbot__options--submitted': message.optionsSubmitted }"> 10372 <p class="ai-chatbot__options-prompt" x-show="message.options.prompt" x-text="message.options.prompt"></p> 10373 <div class="ai-chatbot__options-list"> 10374 <template x-for="(choice, ci) in message.options.choices" :key="choice.value"> 10375 <button 10376 @click="selectOption(index, choice.value)" 10377 class="ai-chatbot__option-chip" 10378 :class="{ 10379 'ai-chatbot__option-chip--selected': message.selectedOptions.includes(choice.value), 10380 'ai-chatbot__option-chip--disabled': message.optionsSubmitted 10381 }" 10382 :disabled="message.optionsSubmitted" 10383 type="button" 10384 x-text="choice.label" 10385 ></button> 10386 </template> 10387 </div> 10388 <button 10389 x-show="message.options.multiSelect && !message.optionsSubmitted && message.selectedOptions.length > 0" 10390 @click="submitOptions(index)" 10391 class="ai-chatbot__options-submit" 10392 type="button" 10393 > 10394 Continue 10395 </button> 10396 </div> 10397 </template> 10398 </div> 10399 </div> 10400 </template> 10401 </div> 10402 </template><template x-if="isLoading && messages.length > 0 && !messages[messages.length - 1].content"> 10403 <div class="ai-chatbot__message-row ai-chatbot__message-row--assistant"> 10404 <div class="ai-chatbot__message-stack"> 10405 <div class="ai-chatbot__message-bubble ai-chatbot__message-bubble--assistant ai-chatbot__message-bubble--typing"> 10406 <div class="ai-chatbot__typing" aria-label="Assistant is typing">
10407 <span></span> 10408 <span></span> 10409 <span></span> 10410 </div> 10411 </div> 10412 </div> 10413 </div> 10414 </template> 10415 </div><div x-show="error" class="ai-chatbot__error"> 10416 <svg class="ai-chatbot__error-icon" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"> 10417 <circle cx="12" cy="12" r="10"></circle> 10418 <line x1="12" y1="8" x2="12" y2="12"></line> 10419 <line x1="12" y1="16" x2="12.01" y2="16"></line> 10420 </svg> 10421 <div class="ai-chatbot__error-content"> 10422 <p class="ai-chatbot__error-text" x-text="error"></p> 10423 <div class="ai-chatbot__error-actions"> 10424 <button @click="openQuoteRequest()" class="ai-chatbot__error-action" type="button"> 10425 Request a quote 10426 </button> 10427 <a href="/pages/contact-us" class="ai-chatbot__error-action"> 10428 Contact us 10429 </a> 10430 </div> 10431 <button @click="clearError()" class="ai-chatbot__error-dismiss" type="button"> 10432 Dismiss 10433 </button> 10434 </div> 10435 </div><div x-show="messages.length === 0 && (getActivePrompts().length > 0 || questionsLoading)" class="ai-chatbot__prompts"> 10436 <p class="ai-chatbot__prompts-label">Try asking:</p><template x-if="questionsLoading && getActivePrompts().length === 0"> 10437 <div class="ai-chatbot__prompts-loading"> 10438 <span class="ai-chatbot__prompt-skeleton"></span> 10439 <span class="ai-chatbot__prompt-skeleton"></span> 10440 <span class="ai-chatbot__prompt-skeleton"></span> 10441 </div> 10442 </template><template x-for="(prompt, index) in getActivePrompts()" :key="index"> 10443 <button 10444 @click="useSuggestedPrompt(prompt)" 10445 class="ai-chatbot__prompt-btn" 10446 type="button" 10447 x-text="prompt" 10448 ></button> 10449 </template> 10450 </div><div x-show="ctaButton && ctaButton.show" x-cloak class="ai-chatbot__cta"> 10451 <button 10452 @click="handleCTAClick()" 10453 class="ai-chatbot__cta-btn" 10454 type="button" 10455 x-text="ctaButton?.text || 'Request a Quote'" 10456 ></button> 10457 <button 10458 @click="dismissCTA()" 10459 class="ai-chatbot__cta-dismiss" 10460 type="button" 10461 aria-label="Dismiss" 10462 > 10463 <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"> 10464 <line x1="18" y1="6" x2="6" y2="18"></line> 10465 <line x1="6" y1="6" x2="18" y2="18"></line> 10466 </svg> 10467 </button> 10468 </div><div x-show="conversationStatus === 'resolved'" x-cloak class="ai-chatbot__resolved-banner"> 10469 Chat ended â send a message to start again. 10470 </div><div x-show="showContactAsk" x-cloak class="ai-chatbot__contact-ask"> 10471 <p class="ai-chatbot__contact-ask-prompt" x-show="contactAskMode === 'email_chip'">Leave your email in case you step away.</p> 10472 <p class="ai-chatbot__contact-ask-prompt" x-show="contactAskMode === 'progressive'">Mind sharing your name and email so we can follow up?</p> 10473 <form @submit.prevent="submitContact()" class="ai-chatbot__contact-ask-form"> 10474 <input 10475 x-show="contactAskMode !== 'email_chip' && !contactName" 10476 x-model="contactNameInput" 10477 type="text" 10478 class="ai-chatbot__contact-ask-input" 10479 placeholder="Your name" 10480 :disabled="contactSubmitting" 10481 > 10482 <input 10483 x-show="!contactEmail" 10484 x-model="contactEmailInput" 10485 type="email" 10486 class="ai-chatbot__contact-ask-input" 10487 placeholder="Your email" 10488 :disabled="contactSubmitting" 10489 > 10490 <button 10491 type="submit" 10492 class="ai-chatbot__contact-ask-submit" 10493 :disabled="contactSubmitting" 10494 > 10495 Send 10496 </button> 10497 <button 10498 type="button" 10499 @click="dismissContactAsk()" 10500 class="ai-chatbot__contact-ask-dismiss" 10501 aria-label="Dismiss" 10502 > 10503 <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"> 10504 <line x1="18" y1="6" x2="6" y2="18"></line> 10505 <line x1="6" y1="6" x2="18" y2="18"></line> 10506 </svg> 10507 </button> 10508 </form> 10509 </div><div class="ai-chatbot__input-area"> 10510 <form @submit.prevent="sendMessage()" class="ai-chatbot__input-form"> 10511 <textarea 10512 x-ref="chatInput" 10513 x-model="inputText" 10514 @keydown="handleKeyDown($event)" 10515 class="ai-chatbot__input" 10516 placeholder="Type your message..." 10517 rows="1" 10518 :disabled="isLoading" 10519 ></textarea> 10520 <button 10521 type="submit" 10522 class="ai-chatbot__send-btn" 10523 :disabled="isLoading || !inputText.trim()" 10524 aria-label="Send" 10525 > 10526 <template x-if="isLoading"> 10527 <svg class="ai-chatbot__spinner" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"> 10528 <line x1="12" y1="2" x2="12" y2="6"></line> 10529 <line x1="12" y1="18" x2="12" y2="22"></line> 10530 <line x1="4.93" y1="4.93" x2="7.76" y2="7.76"></line> 10531 <line x1="16.24" y1="16.24" x2="19.07" y2="19.07"></line> 10532 <line x1="2" y1="12" x2="6" y2="12"></line> 10533 <line x1="18" y1="12" x2="22" y2="12"></line> 10534 <line x1="4.93" y1="19.07" x2="7.76" y2="16.24"></line> 10535 <line x1="16.24" y1="7.76" x2="19.07" y2="4.93"></line> 10536 </svg> 10537 </template> 10538 <template x-if="!isLoading"> 10539 <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
10540 <line x1="22" y1="2" x2="11" y2="13"></line> 10541 <polygon points="22 2 15 22 11 13 2 9 22 2"></polygon> 10542 </svg> 10543 </template> 10544 </button> 10545 </form><p 10546 class="ai-chatbot__disclaimer" 10547 x-show="conversationStatus === null || conversationStatus === 'bot'" 10548 > 10549 Responses are generated by AI and may be inaccurate. 10550 </p> 10551 </div> 10552 </div> 10553 </div> 10554 </template> 10555 </data-island> 10556</div> 10557 10558 10559 <section id="shopify-section-branding-service-cards" class="shopify-section branding-service-cards-section"><style data-shopify> 10560 .branding-floating-overlay { 10561 position: fixed; 10562 inset: 0; 10563 z-index: 9999; 10564 background: rgba(0, 0, 0, 0.5); 10565 opacity: 0; 10566 transition: opacity 300ms ease; 10567 pointer-events: none; 10568 } 10569 10570 .branding-floating-overlay.active { 10571 opacity: 1; 10572 pointer-events: auto; 10573 } 10574 10575 /* Floating card - matches carousel expanded card styling */ 10576 .branding-floating-card { 10577 position: fixed; 10578 z-index: 10000; 10579 background: rgb(var(--color-scheme-background, 255 255 255)); 10580 border-radius: 16px; 10581 box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.4); 10582 display: none; 10583 flex-direction: column; 10584 max-height: 85vh; 10585 overflow: hidden; 10586 /* No default top/left/bottom - JS controls position */ 10587 } 10588 10589 /* Close button - matches carousel style */ 10590 .branding-floating-card .branding-pill-close { 10591 position: absolute; 10592 top: 12px; 10593 right: 12px; 10594 z-index: 10; 10595 width: 32px; 10596 height: 32px; 10597 border-radius: 50%; 10598 background: rgba(255, 255, 255, 0.9); 10599 border: none; 10600 cursor: pointer; 10601 display: flex; 10602 align-items: center; 10603 justify-content: center; 10604 box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15); 10605 transition: background 200ms ease; 10606 } 10607 10608 .branding-floating-card .branding-pill-close:hover { 10609 background: rgba(255, 255, 255, 1); 10610 } 10611 10612 .branding-floating-card .branding-pill-close svg { 10613 width: 16px; 10614 height: 16px; 10615 stroke: #333; 10616 } 10617 10618 /* Image link - matches carousel style */ 10619 .branding-floating-card .branding-pill-image-link { 10620 display: block; 10621 flex-shrink: 0; 10622 background: rgba(var(--color-scheme-text, 0 0 0), 0.05); 10623 min-height: 200px; 10624 } 10625 10626 .branding-floating-card .branding-pill-image-link.has-image { 10627 min-height: 0; 10628 } 10629 10630 .branding-floating-card .branding-pill-image { 10631 border-radius: 16px 16px 0 0; 10632 width: 100%; 10633 height: auto; 10634 max-height: 280px; 10635 object-fit: cover; 10636 display: block; 10637 } 10638 10639 .branding-floating-card .branding-pill-image:not([src]), 10640 .branding-floating-card .branding-pill-image[src=""] { 10641 display: none; 10642 } 10643 10644 /* Label button overlay - matches carousel style */ 10645 .branding-floating-card .branding-pill-label { 10646 display: none; /* Hidden in expanded state like carousel */ 10647 } 10648 10649 /* Expanded content - matches carousel style */ 10650 .branding-floating-card .branding-pill-content { 10651 padding: 20px; 10652 flex-shrink: 0; 10653 } 10654 10655 .branding-floating-card .branding-expanded-title { 10656 margin: 0 0 12px 0; 10657 font-size: 1.25rem; 10658 font-weight: 600; 10659 color: black; 10660 10661 } 10662 10663 .branding-floating-card .branding-expanded-loading { 10664 display: flex; 10665 align-items: center; 10666 justify-content: center; 10667 padding: 20px; 10668 } 10669 10670 .branding-floating-card .branding-expanded-spinner { 10671 width: 24px; 10672 height: 24px; 10673 border: 2px solid rgba(var(--color-scheme-text, 0 0 0), 0.1); 10674 border-top-color: rgb(var(--color-scheme-text, 0 0 0)); 10675 border-radius: 50%; 10676 animation: branding-pill-spin 0.8s linear infinite; 10677 } 10678 10679 @keyframes branding-pill-spin { 10680 to { transform: rotate(360deg); } 10681 } 10682 10683 .branding-floating-card .branding-expanded-description { 10684 margin-bottom: 16px; 10685 line-height: 1.6; 10686 color: black; 10687 } 10688 10689 .branding-floating-card .branding-expanded-description p { 10690 margin: 0; 10691 } 10692 10693 .branding-floating-card .branding-expanded-description p + p { 10694 margin-top: 0.75em; 10695 } 10696 10697 @media (max-width: 749px) { 10698 .branding-floating-card { 10699 width: calc(100vw - 48px) !important; 10700 left: 24px !important; 10701 max-width: none !important; 10702 } 10703 } 10704</style> 10705 10706<!-- Overlay backdrop --> 10707<div 10708 id="branding-floating-overlay" 10709 class="branding-floating-overlay" 10710 onclick="window.closeBrandingServiceCard()" 10711></div> 10712 10713<!-- Floating card - HTML structure matches carousel expanded cards --> 10714<div 10715 id="branding-floating-card" 10716 class="branding-floating-card color-scheme5" 10717> 10718 <!-- Close button (top right over image) --> 10719 <button type="button" class="branding-pill-close" onclick="window.closeBrandingServiceCard()"> 10720 <span class="sr-only">Close</span> 10721 <svg fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"> 10722 <path stroke-linecap="round" stroke-linejoin="round" d="M6 18L18 6M6 6l12 12" /> 10723 </svg> 10724 </button> 10725 10726 <!-- Image with link --> 10727 <a id="branding-card-image-link" href="#" class="branding-pill-image-link"> 10728 <img 10729 id="branding-card-image" 10730 class="branding-pill-image" 10731 src="" 10732 alt="" 10733 loading="lazy" 10734 width="300" 10735 height="300" 10736 > 10737 </a> 10738 10739 <!-- Label button (hidden in expanded state, like carousel) --> 10740 <a id="branding-card-label" href="#" class="branding-pill-label"></a> 10741 10742 <!-- Expanded content --> 10743 <div class="branding-pill-content"> 10744 <h3 id="branding-card-title" class="branding-expanded-title"></h3> 10745 <div id="branding-card-loading" class="branding-expanded-loading" style="display: none;"> 10746 <div class="branding-expanded-spinner"></div> 10747 </div> 10748 <div id="branding-card-description" class="branding-expanded-description"></div> 10749 </div> 10750</div> 10751
10752<script> 10753(function() { 10754 // Build service data from Shopify blocks 10755 // Key is the lowercase metafield value (e.g., "screen print", "custom neck tags") 10756 const brandingServiceData = { 10757 10758 'high density transfer': { 10759 title: "High density transfer", 10760 description: "\u003cp\u003eA high density transfer is a heat-applied decoration that creates a raised, textured print using layered ink, producing a bold, dimensional effect with sharp edges and strong durability on garments.\u003c\/p\u003e", 10761 image: '//printroom.co/cdn/shop/files/heat_transfer_2_1b6dd18d-7ae5-452a-a0ca-fef697ba6400.jpg?v=1761181341&width=800', 10762 imageAlt: "High density transfer", 10763 ctaText: "Learn more", 10764 ctaUrl: '#' 10765 }, 10766 10767 'printed seam tape': { 10768 title: "printed seam tape", 10769 description: "\u003cp\u003eAdd a custom touch to the inside of your cap with printed seam tape. This often-overlooked detail offers a unique way to showcase your brand, giving your caps a polished finish that stands out from the inside out. Fully customisable, itâs a small touch that makes a big impression.\u003c\/p\u003e", 10770 image: '//printroom.co/cdn/shop/files/speights_cap_inner_3.jpg?v=1743540305&width=800', 10771 imageAlt: "custom caps NZ", 10772 ctaText: "Learn more", 10773 ctaUrl: '#' 10774 }, 10775 10776 'knitted all-over': { 10777 title: "Knitted all-over", 10778 description: "\u003cp\u003eKnitted all-over designs weave patterns directly into the fabric of your custom socks, creating a seamless, durable look that wonât fade over time. Ideal for intricate, full-length designs with lasting quality.\u003c\/p\u003e", 10779 image: '//printroom.co/cdn/shop/files/knitted_all_over_detail.jpg?v=1772668725&width=800', 10780 imageAlt: "Knitted all-over", 10781 ctaText: "Learn more", 10782 ctaUrl: '#' 10783 }, 10784 10785 'dye-sublimation': { 10786 title: "Dye-sublimation", 10787 description: "\u003cp\u003eDye-sublimation allows vibrant, full-colour designs to be seamlessly printed on your custom socks. The process ensures high-quality, durable prints that wonât fade, perfect for intricate patterns or all-over designs.\u003c\/p\u003e", 10788 image: '//printroom.co/cdn/shop/files/dye_sub_detail.jpg?v=1772673144&width=800', 10789 imageAlt: "Dye-sublimation", 10790 ctaText: "Learn more", 10791 ctaUrl: '#' 10792 }, 10793 10794 'additional cushioning': { 10795 title: "Additional cushioning", 10796 description: "\u003cp\u003eAdd extra cushioning to your custom socks for improved comfort and support. The soft padding underfoot reduces impact, perfect for all-day wear or active use.\u003c\/p\u003e", 10797 image: '//printroom.co/cdn/shop/files/cushion_detail.jpg?v=1772673175&width=800', 10798 imageAlt: "Additional cushioning", 10799 ctaText: "Learn more", 10800 ctaUrl: '#' 10801 }, 10802 10803 'added grip': { 10804 title: "Added grip", 10805 description: "\u003cp\u003eEnhance your custom socks with added grip to prevent slipping! The textured grip on the sole ensures better traction, or adds an extra dimension to your custom product.\u003c\/p\u003e", 10806 image: '//printroom.co/cdn/shop/files/added_grip_detail.jpg?v=1772675209&width=800', 10807 imageAlt: "Added grip", 10808 ctaText: "Learn more", 10809 ctaUrl: '#' 10810 }, 10811 10812 'custom neck tags': { 10813 title: "Custom neck tags", 10814 description: "\u003cp\u003eMake your brand stand out with custom neck tags! Whether you choose woven labels or screen printing, our high-quality neck tags offer a professional finish and are ideal for showcasing your unique brand identity.\u003c\/p\u003e", 10815 image: '//printroom.co/cdn/shop/files/cardrona_4_2_936c38b5-e634-4f0f-b224-0c9ed7b76ed9.jpg?v=1648584454&width=800', 10816 imageAlt: "garment relabelling and custom neck tags christchurch", 10817 ctaText: "Learn more", 10818 ctaUrl: '#' 10819 }, 10820 10821 'screen print': { 10822 title: "Screen Printing", 10823 description: "\u003cp\u003eOur most popular print method for good reasonâit delivers \u003cstrong\u003etop-tier qual
10823ity\u003c\/strong\u003e, long-lasting results, and exceptional value for larger orders.\u003c\/p\u003e", 10824 image: '//printroom.co/cdn/shop/files/PrintRoomMay2024Image-16.jpg?v=1733350366&width=800', 10825 imageAlt: "Screen Printing", 10826 ctaText: "Learn more", 10827 ctaUrl: '#' 10828 }, 10829 10830 'embroidery': { 10831 title: "Embroidery", 10832 description: "\u003cp\u003eUnmatched in durability, embroidery is a simple choice for those wanting texture, dimension and a high-end finish.\u003c\/p\u003e", 10833 image: '//printroom.co/cdn/shop/files/The_print_room_custom_embroidery_new_zealand.jpg?v=1613753361&width=800', 10834 imageAlt: "Embroidery", 10835 ctaText: "Learn more", 10836 ctaUrl: '#' 10837 }, 10838 10839 'heat transfer': { 10840 title: "Heat Transfers", 10841 description: "\u003cp\u003ePerfect for producing vibrant, detail-rich prints that require low minimums.\u003c\/p\u003e", 10842 image: '//printroom.co/cdn/shop/files/heat_press_print_room.jpg?v=1776795804&width=800', 10843 imageAlt: "Heat Transfers", 10844 ctaText: "Learn more", 10845 ctaUrl: '/pages/heat-transfers' 10846 }, 10847 10848 'custom patches': { 10849 title: "Custom Patches", 10850 description: "\u003cp\u003eDurable and versatile, add dimension to your merch with embroidered, woven or iron-on custom patches.\u003c\/p\u003e", 10851 image: '//printroom.co/cdn/shop/files/PrintRoomApril2024Image-42_28acbdcf-7baf-4834-9201-752d656019ad.jpg?v=1754535298&width=800', 10852 imageAlt: "custom patches NZ", 10853 ctaText: "Learn more", 10854 ctaUrl: '#' 10855 }, 10856 10857 'custom packaging': { 10858 title: "Custom packaging", 10859 description: "\u003cp\u003eThe ultimate finishing touch; custom packaging. Itâs the first thing your customer sees, make the best impression possible and package your products inline with your brand.\u003c\/p\u003e", 10860 image: '//printroom.co/cdn/shop/files/socks_label.jpg?v=1743476398&width=800', 10861 imageAlt: "custom socks", 10862 ctaText: "Learn more", 10863 ctaUrl: '#' 10864 }, 10865 10866 'custom woven label': { 10867 title: "Custom woven label", 10868 description: "\u003cp\u003eGive all of the details you need while putting the finishing touches on your product.\u003c\/p\u003e", 10869 image: '//printroom.co/cdn/shop/files/garage_project_cap_4.1.jpg?v=1770086525&width=800', 10870 imageAlt: "Custom woven label", 10871 ctaText: "Learn more", 10872 ctaUrl: '#' 10873 }, 10874 10875 'pip tags': { 10876 title: "Pip tags", 10877 description: "\u003cp\u003eElevate your garments with custom pip tags. Perfect for adding subtle branding, a small detail with a big impact for your apparel collection.\u003c\/p\u003e", 10878 image: '//printroom.co/cdn/shop/files/cardrona_3_19a3035b-75a5-4fd0-9604-01d159cdc102.jpg?v=1648585469&width=800', 10879 imageAlt: "garment relabelling and custom neck tags nz", 10880 ctaText: "Learn more", 10881 ctaUrl: '#' 10882 }, 10883 10884 'additional print placements': { 10885 title: "Additional print placements", 10886 description: "\u003cp\u003eAdd extra visibility to your brand by adding additional prints\/decorations. Back of the cap, sleeve of your sweatshirt; you name it, we can most likely do it. Make the most of your products' full 360 degrees.\u003c\/p\u003e", 10887 image: '//printroom.co/cdn/shop/files/garage_project_cap_3.1.jpg?v=1770083144&width=800', 10888 imageAlt: "Additional print placements", 10889 ctaText: "Learn more", 10890 ctaUrl: '#' 10891 }, 10892 10893 'various attachments available': { 10894 title: "Various attachments available", 10895 description: "\u003cp\u003eMake the most of customisation and choose the attachment style that works for your project. Robust, intricate, elegantâ¦your choice.\u003c\/p\u003e", 10896 image: '//printroom.co/cdn/shop/files/pack-a-punch.jpg?v=1760925265&width=800', 10897 imageAlt: "Various attachments available", 10898 ctaText: "Learn more", 10899 ctaUrl: '#' 10900 }, 10901 10902 'add additional colours': { 10903 title: "Add additional colours", 10904 description: "\u003cp\u003eCreate more depth and complexity when your brand needs it. Specific limitations apply to each product. Consult your account manager for specific limitations.\u003c\/p\u003e", 10905 image: '//printroom.co/cdn/shop/files/ombre.jpg?v=1770253000&width=800', 10906 imageAlt: "Add additional colours", 10907 ctaText: "Learn more", 10908 ctaUrl: '#' 10909 }, 10910 10911 'various closures available': { 10912 title: "Various closures available", 10913 description: "\u003cp\u003eAchieve the result you want with control over what closure you go with.\u003c\/p\u003e", 10914 image: '//printroom.co/cdn/shop/files/closure_options_2.1_76d53ef9-c502-45b4-b915-66543d3c7f40.jpg?v=1769654951&width=800', 10915 imageAlt: "Various closures available", 10916 ctaText: "Learn more", 10917 ctaUrl: '#' 10918 }, 10919 10920 'glow in the dark': { 10921 title: "Glow in the dark", 10922 description: "\u003cp\u003eBe seenâ¦in the dark! Add a novel element to your product and have some fun with it.\u003c\/p\u003e", 10923 image: '//printroom.co/cdn/shop/files/glow_in_the_dark.jpg?v=1770253668&width=800', 10924 imageAlt: "Glow in the dark", 10925 ctaText: "Learn more", 10926 ctaUrl: '#' 10927 }, 10928 10929 'applique': { 10930 title: "Applique", 10931 description: "\u003cp\u003eAppliqué embroidery isa technique where small pieces of fabric are laser cut and layered and stitched onto a garment, adding texture to the design.\u003c\/p\u003e", 10932 image: '//printroom.co/cdn/shop/files/Screenshot-2026-04-22-at-6.18.38_AM.jpg?v=1776795959&width=800', 10933 imageAlt: "Applique", 10934 ctaText: "Learn more", 10935 ctaUrl: '#' 10936 }, 10937 10938 'spreadsheet': { 10939 title: "Spreadsheet", 10940 description: "\u003cp\u003eWe send you a formatted spreadsheet that can be shared around your year group for each student to input the
10940ir garment style, size and custom name. \u003c\/p\u003e", 10941 image: null, 10942 imageAlt: "Spreadsheet", 10943 ctaText: "Learn more", 10944 ctaUrl: '#' 10945 }, 10946 10947 'online portal': { 10948 title: "Online portal", 10949 description: "\u003cp\u003eWe setup an password portected online portal for your year group to log into and purchased or order their garments. \u003c\/p\u003e", 10950 image: '//printroom.co/cdn/shop/files/product_1db770e9-3325-4bd4-8636-6f4b6d5e566a_slot_5.jpg?v=1776753322&width=800', 10951 imageAlt: "Earth Positive Premium Jersey T-shirt EP185 T-shirt branded merchandise nz", 10952 ctaText: "Click", 10953 ctaUrl: '#' 10954 } 10955 10956 }; 10957 10958 // Also build hyphenated keys for matching 10959 const brandingServiceDataNormalized = {}; 10960 Object.keys(brandingServiceData).forEach(key => { 10961 // Store with original key 10962 brandingServiceDataNormalized[key] = brandingServiceData[key]; 10963 // Also store with hyphenated version 10964 const hyphenated = key.replace(/\s+/g, '-'); 10965 brandingServiceDataNormalized[hyphenated] = brandingServiceData[key]; 10966 // Also store with spaced version (in case key was hyphenated) 10967 const spaced = key.replace(/-/g, ' '); 10968 brandingServiceDataNormalized[spaced] = brandingServiceData[key]; 10969 }); 10970 10971 // Configuration from section settings 10972 const config = { 10973 maxWidth: 400, 10974 animationDuration: 300, 10975 showOverlay: false 10976 }; 10977 10978 // State 10979 let isCardOpen = false; 10980 let originRect = null; 10981 10982 // DOM elements 10983 const overlay = document.getElementById('branding-floating-overlay'); 10984 const card = document.getElementById('branding-floating-card'); 10985 const cardImageLink = document.getElementById('branding-card-image-link'); 10986 const cardImage = document.getElementById('branding-card-image'); 10987 const cardLabel = document.getElementById('branding-card-label'); 10988 const cardTitle = document.getElementById('branding-card-title'); 10989 const cardLoading = document.getElementById('branding-card-loading'); 10990 const cardDescription = document.getElementById('branding-card-description'); 10991 10992 // Find service data by matching the label text 10993 function findServiceData(label) { 10994 if (!label) return null; 10995 const searchKey = label.toLowerCase().trim(); 10996 const searchKeyHyphenated = searchKey.replace(/\s+/g, '-'); 10997 10998 // Direct match 10999 if (brandingServiceDataNormalized[searchKey]) { 11000 return brandingServiceDataNormalized[searchKey]; 11001 } 11002 11003 // Try hyphenated version 11004 if (brandingServiceDataNormalized[searchKeyHyphenated]) { 11005 return brandingServiceDataNormalized[searchKeyHyphenated]; 11006 } 11007 11008 // Partial match - check if any key is contained in the label or vice versa 11009 for (const key of Object.keys(brandingServiceDataNormalized)) { 11010 if (searchKey.includes(key) || key.includes(searchKey)) { 11011 return brandingServiceDataNormalized[key]; 11012 } 11013 } 11014 11015 return null; 11016 } 11017 11018 // Populate card content 11019 function populateCard(data, serviceUrl) { 11020 const url = data.ctaUrl || serviceUrl || '#'; 11021 11022 // Set image 11023 if (data.image) { 11024 cardImage.src = data.image; 11025 cardImage.alt = data.imageAlt || data.title || ''; 11026 cardImageLink.classList.add('has-image'); 11027 } else { 11028 cardImage.src = ''; 11029 cardImage.alt = ''; 11030 cardImageLink.classList.remove('has-image'); 11031 } 11032 11033 // Set links 11034 cardImageLink.href = url; 11035 cardLabel.href = url; 11036 cardLabel.textContent = data.title || ''; 11037 11038 // Set content 11039 cardTitle.textContent = data.title || ''; 11040 11041 // Handle description - if we have static content use it, otherwise fetch 11042 if (data.description && data.description.trim() !== '' && data.description !== '<p>Add a description of this branding service.</p>') { 11043 cardDescription.innerHTML = data.description; 11044 cardLoading.style.display = 'none'; 11045 } else { 11046 // Fetch description from service page 11047 cardDescription.innerHTML = ''; 11048 cardLoading.style.display = 'flex'; 11049 11050 if (url && url !== '#') { 11051 fetch(url) 11052 .then(response => response.text()) 11053 .then(html => { 11054 const parser = new DOMParser(); 11055 const doc = parser.parseFromString(html, 'text/html'); 11056 const main = doc.querySelector('main') || doc.querySelector('.page-content') || doc.querySelector('.shopify-section') || doc.body; 11057 let description = '<p>Discover our premium branding service.</p>'; 11058 if (main) { 11059 const firstP = main.querySelector('p'); 11060 if (firstP) description = '<p>' + firstP.textContent.trim() + '</p>'; 11061 } 11062 cardDescription.innerHTML = description; 11063 cardLoading.style.display = 'none'; 11064 }) 11065 .catch(() => { 11066 cardDescription.innerHTML = '<p>Discover our premium branding service.</p>'; 11067 cardLoading.style.display = 'none'; 11068 }); 11069 } else { 11070 cardDescription.innerHTML = '<p>Discover our premium branding service.</p>'; 11071 cardLoading.style.display = 'none'; 11072 } 11073 } 11074 } 11075 11076 // Show card with animation from button position 11077 function showCardWithData(data, buttonElement, serviceUrl) { 11078 if (!data) { 11079 console.warn('No service data provided'); 11080 return; 11081 } 11082 11083 // Get button position for animation origin 11084 const buttonRect = buttonElement 11085 ? buttonElement.getBoundingClientRect() 11086 : { left: window.innerWidth / 2 - 50, top: window.innerHeight / 2, width: 100, height: 40 }; 11087 11088 originRect = { ...buttonRect }; 11089 11090 // Populate content 11091 populateCard(data, serviceUrl); 11092 11093 // Calculate target dimensions 11094 const expandedWidth = Math.min(window.innerWidth - 40, config.maxWidth); 11095 const padding = 20; 11096 const headerHeight = parseInt(getComputedStyle(document.documentElement).getPropertyValue('--header-height') || '0', 10); 11097 11098 // Center expanded card horizontally on the button's center 11099const buttonCenterX = buttonRect.left + (buttonRect.width / 2); 11100let targetLeft = buttonCenterX - (expandedWidth / 2); 11101 11102// Clamp to viewport bounds horizontally 11103targetLeft = Math.max(padding, Math.min(targetLeft, window.innerWidth - expandedWidth - padding)); 11104 11105// Position vertically: expand from button's top, but ensure it stays in viewport 11106// Start from the button's vertical position 11107let targetTop = buttonRect.top; 11108 11109// Get actual card content height or use a more realistic estimate 11110const cardContent = card.querySelector('.card__content') || card; 11111const estimatedCardHeight = cardContent.scrollHeight || 600; // Increased from 400 to 600 11112 11113// Calculate available space below and above the button 11114const spaceBelow = window.innerHeight - buttonRect.bottom - padding; 11115const spaceAbove = buttonRect.top - headerHeight - padding; 11116 11117// If card would go below viewport, shift it up 11118if (targetTop + estimatedCardHeight > window.innerHeight - padding) { 11119 targetTop = Math.max(headerHeight + padding, window.innerHeight - estimatedCardHeight - padding); 11120} 11121 11122// If card would go above header, shift it down 11123if (targetTop < headerHeight + padding) { 11124 targetTop = headerHeight + padding; 11125} 11126 11127// Final safety check: ensure card fits in viewport 11128const maxAllowedHeight = window.innerHeight - headerHeight - (padding * 2); 11129if (estimatedCardHeight > maxAllowedHeight) { 11130 targetTop = headerHeight + padding; 11131 card.style.maxHeight = maxAllowedHeight + 'px'; 11132 card.style.overflowY = 'auto'; 11133} 11134 11135 11136 // Show overlay 11137 if (config.showOverlay) { 11138 overlay.classList.add('active'); 11139 } 11140 11141 // Set initial state at EXACT button position 11142 card.style.position = 'fixed'; 11143 card.style.top = buttonRect.top + 'px'; 11144 card.style.left = buttonRect.left + 'px'; 11145 card.style.width = buttonRect.width + 'px'; 11146 card.style.height = buttonRect.height + 'px'; 11147 card.style.zIndex = '10000'; 11148 card.style.margin = '0'; 11149 card.style.display = 'flex'; 11150 card.style.opacity = '1'; 11151 card.style.pointerEvents = 'auto'; 11152 card.style.overflow = 'hidden';
11153 card.style.transition = 'none'; 11154 card.style.flexDirection = 'column'; 11155 card.style.borderRadius = '16px'; 11156 11157 // Force reflow to ensure initial position is applied 11158 card.getBoundingClientRect(); 11159 11160 // Now animate to expanded position 11161 requestAnimationFrame(() => { 11162 requestAnimationFrame(() => { 11163 card.style.transition = ` 11164 top ${config.animationDuration}ms cubic-bezier(0.32, 0.72, 0, 1), 11165 left ${config.animationDuration}ms cubic-bezier(0.32, 0.72, 0, 1), 11166 width ${config.animationDuration}ms cubic-bezier(0.32, 0.72, 0, 1), 11167 height ${config.animationDuration}ms cubic-bezier(0.32, 0.72, 0, 1) 11168 `; 11169 card.style.top = targetTop + 'px'; 11170 card.style.left = targetLeft + 'px'; 11171 card.style.width = expandedWidth + 'px'; 11172 card.style.height = 'auto'; 11173 }); 11174 }); 11175 11176 isCardOpen = true; 11177 } 11178 11179 // Close card with animation back to origin 11180 window.closeBrandingServiceCard = function() { 11181 if (!isCardOpen) return; 11182 11183 // Animate back to origin position (exactly like carousel collapseCard) 11184 if (originRect) { 11185 card.style.transition = ` 11186 top ${config.animationDuration}ms cubic-bezier(0.32, 0.72, 0, 1), 11187 left ${config.animationDuration}ms cubic-bezier(0.32, 0.72, 0, 1), 11188 width ${config.animationDuration}ms cubic-bezier(0.32, 0.72, 0, 1), 11189 height ${config.animationDuration}ms cubic-bezier(0.32, 0.72, 0, 1) 11190 `; 11191 card.style.top = originRect.top + 'px'; 11192 card.style.left = originRect.left + 'px'; 11193 card.style.width = originRect.width + 'px'; 11194 card.style.height = originRect.height + 'px'; 11195 card.style.overflow = 'hidden'; 11196 } 11197 11198 // Hide overlay 11199 overlay.classList.remove('active'); 11200 11201 // Clean up after animation 11202 setTimeout(() => { 11203 card.style.display = 'none'; 11204 card.style.transition = ''; 11205 card.style.top = ''; 11206 card.style.left = ''; 11207 card.style.width = ''; 11208 card.style.height = ''; 11209 card.style.opacity = ''; 11210 card.style.pointerEvents = ''; 11211 card.style.overflow = ''; 11212 isCardOpen = false; 11213 originRect = null; 11214 }, config.animationDuration); 11215 }; 11216 11217 // Event listener for pill button clicks 11218 // Alpine's $dispatch bubbles from the element through the DOM 11219 document.addEventListener('branding-modal:open', (event) => { 11220 // Prevent duplicate handling 11221 if (event._handled) return; 11222 event._handled = true; 11223 11224 const { label, url, element } = event.detail || {}; 11225 11226 // Get the pill text from the button element if available 11227 const pillText = element ? (element.querySelector('.branding-service-pill__text')?.textContent || label) : label; 11228 11229 // Find service data by matching the pill text 11230 const serviceData = findServiceData(pillText); 11231 if (!serviceData) { 11232 console.warn('No service data configured for:', pillText); 11233 return; 11234 } 11235 11236 // If a card is already open, close it first 11237 if (isCardOpen) { 11238 window.closeBrandingServiceCard(); 11239 setTimeout(() => { 11240 showCardWithData(serviceData, element, url); 11241 }, config.animationDuration + 50); 11242 } else { 11243 showCardWithData(serviceData, element, url); 11244 } 11245 }); 11246 11247 // Escape key handler 11248 document.addEventListener('keydown', (e) => { 11249 if (e.key === 'Escape' && isCardOpen) { 11250 window.closeBrandingServiceCard(); 11251 } 11252 }); 11253})(); 11254</script>
11254 11255 11256 11257</section> 11258 11259
11259<script src="//printroom.co/cdn/shop/t/59/assets/global.bundle.js?v=149077486339995821341790734057" type="module"></script>
11259 11260 11261
11261<script> 11262 window.Shopify = window.Shopify || {}; 11263 window.Shopify.locale = "en"; 11264 window.Shopify.currency = { 11265 active: "USD", 11266 rate: "" 11267 }; 11268 </script>
11268 11269 <div id="shopify-block-AWDJwL3lGQkF3Zitrd__39280165312039977" class="shopify-block shopify-app-block"> 11270 11271�
11271<script> 11272 console.log('[FulfillmentFee] Namespace: app--313853968385--fulfillment_fee'); 11273 console.log('[FulfillmentFee] Key: config'); 11274 console.log('[FulfillmentFee] Config value:', {"vendorFees":{"WÄtÄ FX Crew":5.75},"feeProductVariantId":"gid:\/\/shopify\/ProductVariant\/44486403227718","isEnabled":true}); 11275</script>
11275<script> 11276 (function() { 11277 // The metafield .value is already a parsed JSON object 11278 var configData = {"vendorFees":{"WÄtÄ FX Crew":5.75},"feeProductVariantId":"gid:\/\/shopify\/ProductVariant\/44486403227718","isEnabled":true}; 11279 if (configData && typeof configData === 'object') { 11280 window.__FULFILLMENT_FEE_CONFIG__ = configData; 11281 console.log('[FulfillmentFee] Config loaded:', window.__FULFILLMENT_FEE_CONFIG__); 11282 } else { 11283 console.error('[FulfillmentFee] Invalid config data:', configData); 11284 window.__FULFILLMENT_FEE_CONFIG__ = null; 11285 } 11286 })(); 11287</script>
vendor: 2 bytes, line 11287
11287
11288<script src="https://cdn.shopify.com/extensions/019d45d2-6a70-7eed-8da1-d1e8fd0fae86/fulfillment-fee-app-100/assets/fulfillment-fee-manager.js" defer></script>
11288 11289</div><div id="shopify-block-AWitpMC8rZDJCSlg4R__15573056287721514228" class="shopify-block shopify-app-block json-ld-for-seo"><!-- generated: 2026-10-04 21:38:22 +1300 --> 11290<!-- BEGIN app snippet: json_ld_for_seo_website -->
11290<script type="application/ld+json"> 11291 { 11292 "@context": "https://schema.org", 11293 "@type": "WebSite", 11294 "name": "The Print Room","alternateName": [],"@id": "https:\/\/printroom.co\/#website", 11295 "url": "https:\/\/printroom.co", 11296 "potentialAction": { 11297 "@type": "SearchAction", 11298 "target": { 11299 "@type": "EntryPoint", 11300 "urlTemplate": "https://printroom.co/search?q={query}" 11301 }, 11302 "query-input": "required name=query" 11303 } 11304 } 11305</script>
11305 11306<!-- END app snippet --> 11307<!-- w 1 --> 11308 11309<!-- BEGIN app snippet: json_ld_for_seo_web_page -->
11309<script type="application/ld+json"> 11310 { 11311 "@context": "https://schema.org", 11312 "@type": "WebPage", 11313 "@id": "https:\/\/printroom.co\/#json-ld-for-seo-webpage", 11314 "url": "https:\/\/printroom.co\/", 11315 "image": null, 11316 "primaryImageOfPage": null, 11317 "dateCreated": null, 11318 "datePublished": null 11319 } 11320</script>
11320 11321<!-- END app snippet --> 11322<!-- wp 0 --><!-- BEGIN app snippet: json_ld_for_seo_organization -->
11323<script type="application/ld+json"> 11324{ 11325 "@context": "https://schema.org", 11326 "@type": "Organization","@id": "https:\/\/printroom.co\/#org", 11327 "name": "The Print Room", 11328 "url": "https:\/\/printroom.co", 11329 "description": "NZâs experts in custom t-shirt printing, tote bags, uniforms, and branded merchandise. Print Room offers high-quality screen printing and embroidery using eco-friendly inks. Fast turnaround, sustainable production, and trusted by leading New Zealand brands.", 11330 "telephone": "+6434259694", 11331 "logo": "https:\/\/cdn.shopify.com\/s\/images\/admin\/no-image-large.gif", 11332 "image": "https:\/\/cdn.shopify.com\/s\/images\/admin\/no-image-large.gif", 11333 "sameAs": ["","https:\/\/www.instagram.com\/printroomnz\/"], 11334 "address": { 11335 "@type": "PostalAddress", 11336 "streetAddress": "21 Grosvenor Street, 21", 11337 "addressLocality": "Dunedin", 11338 "addressRegion": "Otago", 11339 "postalCode": "9011", 11340 "addressCountry": "NZ" 11341 }, 11342 "contactPoint": [ 11343 { 11344 "@type": "ContactPoint", 11345 "telephone": "+6434259694", 11346 "email": "" 11347 } 11348 ]} 11349</script>
11349 11350<!-- END app snippet --> <!-- o 2 --><!-- BEGIN app snippet: json_ld_for_seo_product_group --><!-- END app snippet --> 11351<!-- p 1 --><!-- A 5 --> 11352 11353 11354</div>
11354<script src="https://cdn.shopify.com/storefront/standard-actions.js" type="module" data-source-attribution="shopify.standard_actions"></script>
11354 11355</body> 11356</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.