1<!doctype html> 2<html class="no-js" lang="en" style="--logo-width: 180"> 3 <head> 4 <meta name="google-site-verification" content="Jv1h0Y7Pgi870V3kA8uNSD0tDDQV8kjHk7LXSSEVo6M" /> 5 <meta charset="utf-8"> 6 <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> 7 <meta name="viewport" content="width=device-width, initial-scale=1.0, height=device-height, minimum-scale=1.0, maximum-scale=1.0"> 8 <meta name="theme-color" content=""><link rel="canonical" href="https://www.barnyarns.co.uk/products/hobbs-heirloom-premium-80-20-cotton-poly-wadding-96-x-30-yds"><link rel="preconnect" href="https://cdn.shopify.com" crossorigin> 9 <link rel="preconnect" href="https://fonts.googleapis.com"> 10 <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin> 11 <link href="https://fonts.googleapis.com/css2?family=Fredoka:[email protected]&display=swap" rel="stylesheet"><link rel="icon" type="image/png" href="//www.barnyarns.co.uk/cdn/shop/files/barnyarns_32x32.png?v=1728306773"> 12<title> 13 Hobbs Heirloom Premium 80/20 Cotton/Poly Wadding 96" | Barnyarns 14</title><meta name="description" content="Hobbs Heirloom Premium 80/20 Cotton/Poly Wadding 96" - Hobbs Heirloom batting is one of the best in the business.Its easy to hand or machine quilt with this ..."> 15 16 <meta name="google-site-verification" content="gdN3ANPFbeqTJw8pv3WaqaUlpq6Y41_mhWHBfymxR9g" /> 17 18 19 20<meta property="og:site_name" content="Barnyarns"> 21<meta property="og:url" content="https://www.barnyarns.co.uk/products/hobbs-heirloom-premium-80-20-cotton-poly-wadding-96-x-30-yds"> 22<meta property="og:title" content="Hobbs Heirloom Premium 80/20 Cotton/Poly Wadding 96" | Barnyarns"> 23<meta property="og:type" content="product"> 24<meta property="og:description" content="Hobbs Heirloom Premium 80/20 Cotton/Poly Wadding 96" - Hobbs Heirloom batting is one of the best in the business.Its easy to hand or machine quilt with this ..."><meta property="og:image" content="http://www.barnyarns.co.uk/cdn/shop/files/96-inch-hobbs-heirloom_6a67f231-0af7-4719-893f-83a93c64a21f.jpg?v=1727436540"> 25 <meta property="og:image:secure_url" content="https://www.barnyarns.co.uk/cdn/shop/files/96-inch-hobbs-heirloom_6a67f231-0af7-4719-893f-83a93c64a21f.jpg?v=1727436540"> 26 <meta property="og:image:width" content="600"> 27 <meta property="og:image:height" content="600"><meta property="og:price:amount" content="11.15"> 28 <meta property="og:price:currency" content="GBP"><meta name="twitter:site" content="@barnyarns"><meta name="twitter:card" content="summary_large_image"> 29<meta name="twitter:title" content="Hobbs Heirloom Premium 80/20 Cotton/Poly Wadding 96" | Barnyarns"> 30<meta name="twitter:description" content="Hobbs Heirloom Premium 80/20 Cotton/Poly Wadding 96" - Hobbs Heirloom batting is one of the best in the business.Its easy to hand or machine quilt with this ..."> 31 32 <style> 33 :root { 34 --header-is-not-transparent: 1; 35 36 --heading-font-family: Roboto; 37 --heading-font-weight: 'normal'; 38 --heading-font-style: 'normal'; 39 --navigation-text-color: #ffffff; 40 --navigation-background-color: #215140; 41 --search-text-color: #ffffff; 42 --search-background-color: #215140; 43 --cart-count-text-color: #ffffff; 44 --cart-count-background-color: #215140; 45 46 --text-font-family: Roboto; 47 --text-font-weight: "normal"; 48 --text-font-style: "normal"; 49 50 --base-text-font-size: 16px; 51 --base-text-font-size-raw: 16; 52 --default-text-font-size: 16px; 53 54 --primary-color-300: #006f53; 55 --primary-color-400: #6ad8a4; 56 --primary-color-500: #58be8d; 57 --primary-color-600: #469b73; 58 --primary-color-700: #377d5f; 59 --primary-color-900: #215140; 60 61 --secondary-color-950: #0f2d24; 62 63 --gray-color-50: #f8f8f8; 64 --gray-color-100: #f0f0f0; 65 --gray-color-200: #e4e4e4; 66 --gray-color-300: #d1d1d1; 67 --gray-color-600: #818181; 68 --gray-color-700: #6a6a6a; 69 --gray-color-800: #545454; 70 --gray-color-900: #4e4e4e; 71 --gray-color-950: #282828; 72 73 --offer-badge-background: #fb4040; 74 --product-star-rating: #58be8d; 75 76 --swiper-navigation-color: #fff; 77 --swiper-pagination-color: #fff; 78 79 --social-color-facebook: #3b5998; 80 --social-color-twitter: #00acee; 81 --social-color-pintrest: #E60023; 82 --social-color-instagram: #fa7e1e; 83 84 /** 85 * Media 86 */
87 --media-shadow-horizontal-offset: 0px; 88 89 /** 90 * Forms 91 */ 92 --range-slider-track-height: 0.5rem; 93 --range-slider-thumb-radius: 1rem;: 0px; 94 95 /** 96 * Shopify Buttons 97 */ 98 --shopify-accelerated-checkout-button-block-size: 54px; 99 } 100</style> 101
102<script> 103 // IE11 does not have support for CSS variables, so we have to polyfill them 104 if (!(((window || {}).CSS || {}).supports && window.CSS.supports('(--a: 0)'))) { 105 const script = document.createElement('script'); 106 script.type = 'text/javascript'; 107 script.src = 'https://cdn.jsdelivr.net/npm/css-vars-ponyfill@2'; 108 script.onload = function() { 109 cssVars({}); 110 }; 111 112 document.getElementsByTagName('head')[0].appendChild(script); 113 } 114</script>
114 115 116 117 <link href="//www.barnyarns.co.uk/cdn/shop/t/2/assets/theme.css?v=78776162689797312541782746850" rel="stylesheet" type="text/css" media="all" /> 118 119
119<script>document.documentElement.className = document.documentElement.className.replace('no-js', 'js');</script>
119 120
120<script type="application/ld+json"> 121 { 122 "@context": "https://schema.org", 123 "@type": "Organization", 124 "name": "Barnyarns", 125 "url": "https:\/\/www.barnyarns.co.uk" 126 } 127 </script>
127<!-- TrustBox script --> 128
128<script type="text/javascript" src="//widget.trustpilot.com/bootstrap/v5/tp.widget.bootstrap.min.js" async></script>
128 129 <!-- End TrustBox script --> 130 131
131<script>window.performance && window.performance.mark && window.performance.mark('shopify.content_for_header.start');</script>
131<meta id="shopify-digital-wallet" name="shopify-digital-wallet" content="/86748659993/digital_wallets/dialog"> 132<meta id="in-context-paypal-metadata" data-shop-id="86748659993" data-venmo-supported="false" data-environment="production" data-locale="en_US" data-paypal-v4="true" data-currency="GBP"> 133<link rel="ucp" href="/.well-known/ucp" version="2026-08-25"><link rel="buy" href="/cart/49677659701529:1?ucp/version=2026-08-25" payment="com.google.pay dev.shopify.card dev.shopify.shop_pay"><link rel="alternate" type="application/json+oembed" href="https://www.barnyarns.co.uk/products/hobbs-heirloom-premium-80-20-cotton-poly-wadding-96-x-30-yds.oembed">
134<script async="async" src="/checkouts/internal/preloads.js?locale=en-GB"></script>
vendor: 1 bytes, line 134
134
135<script id="apple-pay-shop-capabilities" type="application/json">{"shopId":86748659993,"countryCode":"GB","currencyCode":"GBP","merchantCapabilities":["supports3DS"],"merchantId":"gid:\/\/shopify\/Shop\/86748659993","merchantName":"Barnyarns","requiredBillingContactFields":["postalAddress","email","phone"],"requiredShippingContactFields":["postalAddress","email","phone"],"shippingType":"shipping","supportedNetworks":["visa","maestro","masterCard","amex","discover","elo"],"total":{"type":"pending","label":"Barnyarns","amount":"1.00"},"shopifyPaymentsEnabled":true,"supportsSubscriptions":true}</script>
vendor: 1 bytes, line 135
135
136<script id="shopify-features" type="application/json">{"accessToken":"2dbb9e58a0160892550a055b57f6a2ac","betas":["rich-media-storefront-analytics"],"domain":"www.barnyarns.co.uk","predictiveSearch":true,"shopId":86748659993,"locale":"en"}</script>
vendor: 1 bytes, line 136
136
137<script>var Shopify = Shopify || {}; 138Shopify.shop = "barnyarns.myshopify.com"; 139Shopify.locale = "en"; 140Shopify.currency = {"active":"GBP","rate":"1.0"}; 141Shopify.country = "GB"; 142Shopify.theme = {"name":"Barnyarns | Theme","id":166382338329,"schema_name":"Barnyarns","schema_version":"1.0.1","theme_store_id":null,"role":"main"}; 143Shopify.theme.handle = "null"; 144Shopify.theme.style = {"id":null,"handle":null}; 145Shopify.cdnHost = "www.barnyarns.co.uk/cdn"; 146Shopify.routes = Shopify.routes || {}; 147Shopify.routes.root = "/"; 148Shopify.shopJsCdnBaseUrl = "https://cdn.shopify.com/shopifycloud/shop-js"; 149Shopify.SignInWithShop = Shopify.SignInWithShop || {}; 150Shopify.SignInWithShop.User = Shopify.SignInWithShop.User || {}; 151Shopify.SignInWithShop.User.recognized = false;</script>
vendor: 1 bytes, line 151
151
152<script type="module">!function(o){(o.Shopify=o.Shopify||{}).modules=!0}(window);</script>
vendor: 1 bytes, line 152
152
153<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 153
153
154<script> 155 window.Shopify = window.Shopify || {}; 156 window.Shopify.SignInWithShop = window.Shopify.SignInWithShop || {}; 157 window.Shopify.SignInWithShop.assetMetrics = { sampleRate: 0.25 }; 158 window.Shopify.SignInWithShop.eligible = true; 159</script>
vendor: 1 bytes, line 159
159
160<script id="shop-js-analytics" type="application/json">{"pageType":"product"}</script>
vendor: 1 bytes, line 160
160
161<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 161
161
162<script type="module"> 163 await import("https://cdn.shopify.com/shopifycloud/shop-js/modules/v2/loader.init-shop-cart-sync.en.esm.js"); 164 165 window.Shopify.SignInWithShop?.initShopCartSync?.({"fedCMEnabled":true,"windoidEnabled":true}); 166 167</script>
vendor: 1 bytes, line 167
167
168<script> 169 window.Shopify = window.Shopify || {}; 170 if (!window.Shopify.featureAssets) window.Shopify.featureAssets = {}; 171 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"]}; 172</script>
vendor: 1 bytes, line 172
172
173<script>(function() { 174 var isLoaded = false; 175 function asyncLoad() { 176 if (isLoaded) return; 177 isLoaded = true; 178 var urls = ["https:\/\/chimpstatic.com\/mcjs-connected\/js\/users\/04976fa7e4519c6aaa0121fd5\/08e5d3598f688d4a600ecac22.js?shop=barnyarns.myshopify.com"]; 179 for (var i = 0; i < urls.length; i++) { 180 var s = document.createElement('script'); 181 s.type = 'text/javascript'; 182 s.async = true; 183 s.src = urls[i]; 184 var x = document.getElementsByTagName('script')[0]; 185 x.parentNode.insertBefore(s, x); 186 } 187 }; 188 if(window.attachEvent) { 189 window.attachEvent('onload', asyncLoad); 190 } else { 191 window.addEventListener('load', asyncLoad, false); 192 } 193})();</script>
vendor: 1 bytes, line 193
193
194<script id="__st">var __st={"a":86748659993,"offset":3600,"reqid":"14576417-2c55-4f83-9621-45f873917f93-1791073685","pageurl":"www.barnyarns.co.uk\/products\/hobbs-heirloom-premium-80-20-cotton-poly-wadding-96-x-30-yds","u":"63e9a9a6c984","p":"product","rtyp":"product","rid":9708660130073};</script>
vendor: 1 bytes, line 194
194
195<script>window.ShopifyPaypalV4VisibilityTracking = true;</script>
vendor: 1 bytes, line 195
195
196<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,!1)}();</script>
vendor: 1 bytes, line 196
196
197<script integrity="sha256-JjoPp5ZfB1sSAs5SQaol1x1GgvveM+BgmRzyDexInEQ=" data-source-attribution="shopify.loadfeatures" defer="defer" src="//www.barnyarns.co.uk/cdn/shopifycloud/storefront/assets/storefront/load_feature-1bd60354.js" crossorigin="anonymous"></script>
vendor: 1 bytes, line 197
197
198<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 = "//www.barnyarns.co.uk/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>
198<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 198
198
199<script> 200 window.Shopify = window.Shopify || {}; 201 window.Shopify.MCP = window.Shopify.MCP || {}; 202 window.Shopify.MCP.enabled = true; 203 window.Shopify.MCP.shop = "barnyarns.myshopify.com"; 204 window.Shopify.MCP.mcpEndpoint = "https:\/\/www.barnyarns.co.uk\/api\/mcp"; 205 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"]}}]; 206</script>
vendor: 1 bytes, line 206
206
207<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("\/\/www.barnyarns.co.uk\/cdn\/shopifycloud\/storefront\/assets\/storefront\/webmcp-c6b62ece.js","sha256-ke4DDuBjdvea3vxLWxHc9E9nq8zihuG4IfYEGbb77ys=");})(); 208</script>
vendor: 1 bytes, line 208
208
209<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://www.barnyarns.co.uk/cdn/shopifycloud/portable-wallets/latest/portable-wallets.en.js",t.type="module",document.head.appendChild(t)}}; 210</script>
vendor: 1 bytes, line 210
210
211<script data-source-attribution="shopify.dynamic_checkout.buyer_consent"> 212 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); 213</script>
vendor: 1 bytes, line 213
213
214<script> 215 function portableWalletsCleanup(e){e&&e.src&&console.error("Failed to load portable wallets script "+e.src);var t=document.querySelectorAll("shopify-accelerated-checkout .shopify-payment-button__skeleton, shopify-accelerated-checkout-cart .wallet-cart-button__skeleton"),e=document.getElementById("shopify-buyer-consent");for(let e=0;e<t.length;e++)t[e].remove();e&&e.remove()}function portableWalletsNotLoadedAsModule(e){e instanceof ErrorEvent&&"string"==typeof e.message&&e.message.includes("import.meta")&&"string"==typeof e.filename&&e.filename.includes("portable-wallets")&&(window.removeEventListener("error",portableWalletsNotLoadedAsModule),window.Shopify.PaymentButton.failedToLoad=e,"loading"===document.readyState?document.addEventListener("DOMContentLoaded",window.Shopify.PaymentButton.init):window.Shopify.PaymentButton.init())}window.addEventListener("error",portableWalletsNotLoadedAsModule); 216</script>
216 217
218<script type="module" src="https://www.barnyarns.co.uk/cdn/shopifycloud/portable-wallets/latest/portable-wallets.en.js" onError="portableWalletsCleanup(this)" crossorigin="anonymous"></script>
vendor: 1 bytes, line 218
218
219<script nomodule> 220 document.addEventListener("DOMContentLoaded", portableWalletsCleanup); 221</script>
221 222
223<script id='scb4127' type='text/javascript' async='' src='https://www.barnyarns.co.uk/cdn/shopifycloud/privacy-banner/storefront-banner.js'></script>
223<link id="shopify-accelerated-checkout-styles" rel="stylesheet" media="screen" href="https://www.barnyarns.co.uk/cdn/shopifycloud/portable-wallets/latest/accelerated-checkout-backwards-compat.css" crossorigin="anonymous"> 224<style id="shopify-accelerated-checkout-cart"> 225 #shopify-buyer-consent { 226 margin-top: 1em; 227 display: inline-block; 228 width: 100%; 229} 230 231#shopify-buyer-consent.hidden { 232 display: none; 233} 234 235#shopify-subscription-policy-button { 236 background: none; 237 border: none; 238 padding: 0; 239 text-decoration: underline; 240 font-size: inherit; 241 cursor: pointer; 242} 243 244#shopify-subscription-policy-button::before { 245 box-shadow: none; 246} 247 248 </style> 249
250<script id="shopify-cfh-end">window.performance && window.performance.mark && window.performance.mark('shopify.content_for_header.end');</script>
250 251 252
252<script>document.documentElement.className = document.documentElement.className.replace('no-js', 'js');</script>
252 253<!-- BEGIN app block: shopify://apps/dropinblog/blocks/head/d07cf0d3-9e5c-4b7f-829c-19d888accd75 --> 254 255 256 257 258 259 260 261 262 263 264 265 266 267<!-- END app block --><!-- BEGIN app block: shopify://apps/nabu-redirect-manager/blocks/script-block/1ec76215-4f32-4e94-950a-ce6073ea1b48 --> 268
269<script> 270 (function() { 271 const storageKeyMap = { 272 redirectChain: 'ADNABU_REDIRECT_CHAIN', 273 redirectLog: 'ADNABU_REDIRECT_LOG', 274 debugMode: 'ADNABU_REDIRECT_DEBUG_MODE', 275 sessionId: 'ADNABU_REDIRECT_MANAGER_SESSION_ID', 276 } 277 278 // Storage access can throw (Safari with site data blocked, sandboxed frames); 279 // an unguarded throw here would abort the whole script tag, geo runtime included. 280 // The area is passed by name because even reading window.localStorage throws in 281 // sandboxed frames â it must be dereferenced inside the try. 282 function safeStorageGet(area, key) { 283 try { 284 return window[area].getItem(key); 285 } catch (error) { 286 return null; 287 } 288 } 289 290 function safeStorageSet(area, key, value) { 291 try { 292 window[area].setItem(key, value); 293 return true; 294 } catch (error) { 295 return false; 296 } 297 } 298 299 function safeStorageRemove(area, key) { 300 try { 301 window[area].removeItem(key); 302 } catch (error) { 303 // Storage is blocked; there is nothing to remove 304 } 305 } 306 307 const redirectConfig = { 308 mappings: [], 309 apiEndpoint: "https://nabu-seo.adnabu.com/flux", 310 shopId: "barnyarns.myshopify.com", 311 debugMode: safeStorageGet('localStorage', storageKeyMap.debugMode) || false, 312 }; 313 314 // Utility functions 315 function log(message, data = null) { 316 if (redirectConfig.debugMode) { 317 console.log('[Nabu Redirect Manager]', message, data); 318 } 319 } 320 321 function generateUUID() { 322 return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function(c) { 323 var r = Math.random() * 16 | 0, v = c == 'x' ? r : (r & 0x3 | 0x8); 324 return v.toString(16); 325 }); 326 } 327 328 // Session ID management functions 329 function getSessionId() { 330 let sessionId = safeStorageGet('sessionStorage', storageKeyMap.sessionId); 331 if (!sessionId) { 332 sessionId = generateUUID(); 333 safeStorageSet('sessionStorage', storageKeyMap.sessionId, sessionId); 334 log('New session ID generated', sessionId); 335 } 336 return sessionId; 337 } 338 339 function clearSessionId() { 340 safeStorageRemove('sessionStorage', storageKeyMap.sessionId); 341 log('Session ID cleared'); 342 } 343 344 function sendLogs(endpoint, logData) { 345 if (!endpoint || !logData) return; 346 347 // Use sendBeacon for better reliability, especially during page unload/redirect 348 if (navigator.sendBeacon) { 349 const blob = new Blob([JSON.stringify(logData)], { type: 'application/json' }); 350 const success = navigator.sendBeacon(endpoint, blob); 351 if (success) { 352 log('Log sent successfully via sendBeacon'); 353 safeStorageRemove('localStorage', storageKeyMap.redirectLog); 354 } else { 355 log('Failed to send log via sendBeacon'); 356 } 357 } else { 358 // Fallback to XMLHttpRequest for older browsers 359 var xhr = new XMLHttpRequest(); 360 xhr.open("POST", endpoint, true); 361 xhr.setRequestHeader("Content-Type", "application/json"); 362 xhr.onreadystatechange = function() { 363 if (xhr.readyState === 4) { 364 if (xhr.status === 200) { 365 log('Log sent successfully via XHR fallback'); 366 safeStorageRemove('localStorage', storageKeyMap.redirectLog); 367 } else { 368 log('Failed to send log via XHR fallback', xhr.status); 369 } 370 } 371 }; 372 xhr.send(JSON.stringify(logData)); 373 } 374 } 375 376 function containsValidDomain(url) { 377 const regex = /^(https?:\/\/)?(www\.)?([a-zA-Z0-9-]+\.)+[a-zA-Z]{2,}/; 378 return regex.test(url); 379 } 380 381 function patternMatchesPath(pattern, path, caseInsensitive) { 382 // Used when there is no query in the pattern 383 let regex; 384 const isRegexPattern = pattern.startsWith('^'); 385 386 if (isRegexPattern) { 387 regex = new RegExp(pattern, caseInsensitive ? 'i' : ''); 388 } else { 389 // Convert wildcard pattern to regex - make wildcards capturing groups 390 const regexPattern = '^' + pattern.replace(/\$([0-9]+)/g, '([^/]+)').replace(/\*/g, '(.*)') + '/?$'; 391 regex = new RegExp(regexPattern, caseInsensitive ? 'i' : ''); 392 } 393 return path.match(regex); 394 } 395 396 function patternMatchesPathWithQuery(pattern, path, caseInsensitive) { 397 const isRegexPattern = pattern.startsWith('^'); 398 399 if (isRegexPattern) { 400 const regex = new RegExp(pattern, caseInsensitive ? 'i' : ''); 401 return path.match(regex); 402 } 403 404 // Split pattern and path into base path and query parts 405 const [patternBase, patternQuery] = pattern.split('?'); 406 const [pathBase, pathQuery] = path.split('?'); 407 408 // Check base path match first 409 const baseRegex = '^' + patternBase 410 .replace(/[.+^{}()|[\]\\]/g, '\\$&') // Escape special regex chars 411 .replace(/\$([0-9]+)/g, '([^/]+)') // Handle $1, $2, etc. placeholders 412 .replace(/\*/g, '(.*)') + '/?$'; // Handle wildcards as capturing groups 413 414 const baseMatch = pathBase.match(new RegExp(baseRegex, caseInsensitive ? 'i' : '')); 415 if (!baseMatch) { 416 return null; 417 } 418 419 // If no query in pattern, but query in path, still match base path 420 if (!patternQuery) { 421 return baseMatch; 422 } 423 424 // If pattern has query but path doesn't, no match 425 if (!pathQuery) { 426 return null; 427 } 428 429 // Parse query parameters from both pattern and path 430 function parseQueryParams(queryString) { 431 const params = {}; 432 if (!queryString) return params; 433 434 queryString.split('&').forEach(param => { 435 const [key, value] = param.split('='); 436 if (key) { 437 params[decodeURIComponent(key)] = value ? decodeURIComponent(value) : ''; 438 } 439 }); 440 return params; 441 } 442 443 const patternParams = parseQueryParams(patternQuery); 444 const pathParams = parseQueryParams(pathQuery); 445 446 // Check if all pattern query parameters match 447 for (const [key, patternValue] of Object.entries(patternParams)) { 448 const pathValue = pathParams[key]; 449 450 // If key doesn't exist in path, no match 451 if (pathValue === undefined) { 452 return null; 453 } 454 455 // Create regex for the parameter value (handle wildcards and placeholders) 456 let valueRegex = '^' + patternValue 457 .replace(/[.+^{}()|[\]\\]/g, '\\$&') // Escape special regex chars 458 .replace(/\$([0-9]+)/g, '(.+)') // Handle $1, $2, etc. placeholders 459 .replace(/\*/g, '(.*)') + '$'; // Handle wildcards as capturing groups 460 461 const valueMatch = pathValue.match(new RegExp(valueRegex, caseInsensitive ? 'i' : '')); 462 if (!valueMatch) { 463 return null; 464 } 465 466 // Merge any captured groups from query parameter matches 467 if (valueMatch.length > 1) { 468 baseMatch.push(...valueMatch.slice(1)); 469 } 470 } 471 472 return baseMatch; 473 } 474 475 function smartPatternMatch(pattern, path, caseInsensitive) { 476 // Check if either pattern or path contains query parameters 477 const patternHasQuery = pattern.includes('?'); 478 const pathHasQuery = path.includes('?'); 479 480 // If either has query parameters, use the query-aware function 481 if (patternHasQuery || pathHasQuery) { 482 return patternMatchesPathWithQuery(pattern, path, caseInsensitive); 483 } 484 485 // Otherwise, use the simpler function 486 return patternMatchesPath(pattern, path, caseInsensitive); 487 } 488 489 function getEventType(pattern) { 490 // Determine event type based on whether pattern starts with ^ 491 return pattern.startsWith('^') ? 'REGEX_REDIRECT' : 'WILDCARD_REDIRECT'; 492 } 493 494 function parseQueryParams(queryString) { 495 const params = {}; 496 if (!queryString) return params; 497 498 queryString.split('&').forEach(param => { 499 const [key, value] = param.split('='); 500 if (key) { 501 params[decodeURIComponent(key)] = value ? decodeURIComponent(value) : ''; 502 } 503 }); 504 return params; 505 } 506 507 function buildQueryString(params) { 508 const queryParts = []; 509 for (const [key, value] of Object.entries(params)) { 510 if (value === '') { 511 queryParts.push(encodeURIComponent(key)); 512 } else { 513 queryParts.push(encodeURIComponent(key) + '=' + encodeURIComponent(value)); 514 } 515 } 516 return queryParts.join('&'); 517 } 518 519 function handleRedirect(path, target, match) { 520 // First, handle $n pattern replacements 521 const usedGroups = new Set(); 522 target = target.replace(/\$(\d+)/g, function(_, groupIndex) { 523 const index = parseInt(groupIndex); 524 usedGroups.add(index); 525 return match[index] || ''; 526 }); 527 528 // Then handle wildcard (*) replacements with remaining capture groups 529 let wildcardGroupIndex = 1; 530 target = target.replace(/\*/g, function() { 531 // Find next unused capture group 532 while (usedGroups.has(wildcardGroupIndex) && wildcardGroupIndex < match.length) { 533 wildcardGroupIndex++; 534 } 535 const replacement = match[wildcardGroupIndex] || ''; 536 wildcardGroupIndex++; 537 return replacement; 538 }); 539 540 // Now handle query parameter merging 541 const [currentPathBase, currentQuery] = path.split('?'); 542 const [targetBase, targetQuery] = target.split('?'); 543 544 // If no query parameters in current path, return target as is 545 if (!currentQuery) { 546 return target; 547 } 548
549 const currentParams = parseQueryParams(currentQuery); 550 const targetParams = parseQueryParams(targetQuery); 551 552 // Merge parameters with target taking precedence (target overrides current) 553 const mergedParams = { ...currentParams, ...targetParams }; 554 555 // Build final target with merged query parameters 556 const mergedQuery = buildQueryString(mergedParams); 557 return targetBase + (mergedQuery ? '?' + mergedQuery : ''); 558 } 559 560 function isPageNotFound() { 561 // Multiple ways to detect 404 pages 562 return document.title.toLowerCase().includes('404') || 563 document.title.toLowerCase().includes('not found') || 564 window.location.pathname.includes('404') || 565 document.body.classList.contains('template-404') || 566 document.querySelector('.template-404') !== null; 567 } 568 569 function getRedirectChain() { 570 const chainData = safeStorageGet('sessionStorage', storageKeyMap.redirectChain); 571 if (!chainData) { 572 return { urls: [], count: 0, sessionId: getSessionId() }; 573 } 574 try { 575 const chain = JSON.parse(chainData); 576 // Ensure we use the persistent session ID 577 chain.sessionId = getSessionId(); 578 return chain; 579 } catch (e) { 580 log('Error parsing redirect chain, resetting', e); 581 return { urls: [], count: 0, sessionId: getSessionId() }; 582 } 583 } 584 585 function updateRedirectChain(url) { 586 const chain = getRedirectChain(); 587 chain.urls.push(url); 588 chain.count++; 589 safeStorageSet('sessionStorage', storageKeyMap.redirectChain, JSON.stringify(chain)); 590 return chain; 591 } 592 593 function clearRedirectChain() { 594 safeStorageRemove('sessionStorage', storageKeyMap.redirectChain); 595 } 596 597 function isCircularRedirect(targetUrl, chain) { 598 // Check if we've already visited this URL in the current chain 599 return chain.urls.includes(targetUrl); 600 } 601 602 function hasExceededRedirectLimit(chain) { 603 const MAX_REDIRECTS = 5; 604 return chain.count >= MAX_REDIRECTS; 605 } 606 607 function getSanitizedCurrentPath() { 608 let currentPath = window.location.pathname; 609 610 // Remove trailing slash from currentPath (except for root path) 611 if (currentPath.length > 1 && currentPath.endsWith('/')) { 612 currentPath = currentPath.slice(0, -1); 613 } 614 615 return currentPath; 616 } 617 618 function handle404Redirects() { 619 const currentPath = getSanitizedCurrentPath(); 620 const queryParams = window.location.search; 621 const fullPath = currentPath + queryParams; 622 const currentUrl = window.location.origin + fullPath; 623 const locationHref = window.location.href; 624 625 // Get current redirect chain 626 const redirectChain = getRedirectChain(); 627 628 // Create log entry 629 let redirectLog = { 630 'from_url': fullPath, 631 'from_path': currentPath, 632 'full_path': locationHref, 633 'session_id': redirectChain.sessionId, 634 'referrer': document.referrer, 635 'timestamp': Date.now() / 1000, 636 'shop_id': redirectConfig.shopId, 637 'user_agent': navigator.userAgent, 638 'market_country_code': Shopify.country, 639 'market_locale': Shopify.locale, 640 }; 641 642 log('Checking for redirects', { 643 path: fullPath, 644 is404: isPageNotFound(), 645 redirectChain: redirectChain 646 }); 647 648 // Only process redirects if this is a 404 page 649 if (isPageNotFound() && redirectConfig.mappings && Array.isArray(redirectConfig.mappings)) { 650 log('Processing 404 redirects'); 651 652 // Check if we've exceeded the redirect limit 653 if (hasExceededRedirectLimit(redirectChain)) { 654 log('Redirect limit exceeded, breaking chain', redirectChain); 655 redirectLog['event_type'] = "CIRCULAR_REDIRECT_DETECTED"; 656 redirectLog['redirect_id'] = null; 657 redirectLog['matched_regex'] = null; 658 redirectLog['to_url'] = null; 659 redirectLog['error'] = 'redirect_limit_exceeded'; 660 redirectLog['success'] = false;
661 sendLogs(redirectConfig.apiEndpoint, redirectLog); 662 clearRedirectChain(); 663 return; 664 } 665 666 // Iterate through redirect mappings 667 for (const mapping of redirectConfig.mappings) { 668 const pattern = mapping.pattern; 669 if (!pattern) continue; 670 const redirectId = mapping.redirect_id; 671 const caseInsensitive = mapping.case_insensitive || false; 672 const match = smartPatternMatch(pattern, fullPath, caseInsensitive); 673 674 if (match) { 675 log('Pattern matched', {pattern, match}); 676 let target = mapping.target; 677 target = handleRedirect(fullPath, target, match); 678 679 // Handle external vs internal redirects 680 let targetUrl = target; 681 if (containsValidDomain(target)) { 682 if (!/^https?:\/\//i.test(target)) { 683 targetUrl = 'https://' + target; 684 } 685 } else { 686 // Internal redirect - construct full URL 687 targetUrl = window.location.origin + (target.startsWith('/') ? target : '/' + target); 688 } 689 690 // Check for circular redirect 691 if (isCircularRedirect(targetUrl, redirectChain)) { 692 log('Circular redirect detected', { 693 current: currentUrl, 694 target: targetUrl, 695 chain: redirectChain.urls 696 }); 697 redirectLog['event_type'] = getEventType(pattern); 698 redirectLog['error'] = 'circular_redirect_detected'; 699 redirectLog['to_url'] = targetUrl; 700 redirectLog['redirect_id'] = redirectId; 701 redirectLog['matched_regex'] = pattern; 702 redirectLog['success'] = false; 703 sendLogs(redirectConfig.apiEndpoint, redirectLog); 704 clearRedirectChain(); 705 return; 706 } 707 708 // Update redirect chain before redirecting 709 updateRedirectChain(currentUrl); 710 711 // Add target to log 712 redirectLog['event_type'] = getEventType(pattern); 713 redirectLog['redirect_id'] = redirectId; 714 redirectLog['to_url'] = targetUrl; 715 redirectLog['matched_regex'] = pattern; 716 redirectLog['success'] = true; 717 718 719 safeStorageSet('localStorage', storageKeyMap.redirectLog, JSON.stringify(redirectLog)); 720 sendLogs(redirectConfig.apiEndpoint, redirectLog); 721 722 log('Redirecting to', targetUrl); 723 724 // Perform redirect 725 window.location.replace(targetUrl); 726 return; 727 } 728 } 729 } 730 731 // No redirect found - log the 404 732 if (isPageNotFound()) { 733 redirectLog['event_type'] = "404_NO_REDIRECT"; 734 redirectLog['to_url'] = null; 735 redirectLog['redirect_id'] = null; 736 redirectLog['matched_regex'] = null; 737 redirectLog['success'] = false; 738 sendLogs(redirectConfig.apiEndpoint, redirectLog); 739 clearRedirectChain(); 740 log('No redirect found, logging 404'); 741 } 742 } 743 744 function checkForSuccessfulRedirect() { 745 // Check if there's a redirect log in localStorage (indicates successful redirect) 746 const redirectLog = safeStorageGet('localStorage', storageKeyM
746ap.redirectLog); 747 if (redirectLog && !isPageNotFound()) { 748 log('Successful redirect detected, sending completion log'); 749 sendLogs(redirectConfig.apiEndpoint, JSON.parse(redirectLog)); 750 751 // Clear redirect chain on successful landing 752 clearRedirectChain(); 753 log('Redirect chain cleared after successful landing'); 754 } 755 } 756 757 // Initialize based on page type 758 function init() { 759 log('Redirect Manager initialized', redirectConfig); 760 761 // Run redirect logic immediately 762 if (isPageNotFound()) { 763 // Handle 404 redirects 764 handle404Redirects(); 765 } else { 766 // Check for successful redirects 767 checkForSuccessfulRedirect(); 768 769 // If we're on a valid page and there's no redirect log, 770 // clear any stale redirect chains (manual navigation) 771 const redirectLog = safeStorageGet('localStorage', storageKeyMap.redirectLog); 772 if (!redirectLog) { 773 const chain = getRedirectChain(); 774 if (chain.count > 0) { 775 log('Clearing stale redirect chain due to manual navigation'); 776 clearRedirectChain(); 777 } 778 } 779 } 780 } 781 782 // Run when DOM is ready 783 if (document.readyState === 'loading') { 784 document.addEventListener('DOMContentLoaded', init); 785 } else { 786 init(); 787 } 788 789 // Expose configuration update function for dynamic updates 790 window.updateRedirectConfig = function(newConfig) { 791 Object.assign(redirectConfig, newConfig); 792 log('Configuration updated', redirectConfig); 793 }; 794 795 // Expose redirect chain debugging functions 796 window.getRedirectChainInfo = function() { 797 return getRedirectChain(); 798 }; 799 800 window.clearRedirectChainDebug = function() { 801 clearRedirectChain(); 802 log('Redirect chain cleared manually'); 803 }; 804 805 window.enableRedirectDebugMode = function() { 806 safeStorageSet('localStorage', storageKeyMap.debugMode, 'true'); 807 redirectConfig.debugMode = true; 808 log('Debug mode enabled'); 809 }; 810 811 window.disableRedirectDebugMode = function() { 812 safeStorageRemove('localStorage', storageKeyMap.debugMode); 813 redirectConfig.debugMode = false; 814 log('Debug mode disabled'); 815 }; 816 817 window.getAdNabuRedirectManagerSessionId = function() { 818 return getSessionId(); 819 }; 820 821 window.clearAdNabuRedirectManagerSessionId = function() { 822 clearSessionId(); 823 log('Session ID cleared manually'); 824 }; 825})(); 826</script>
826 827
828<script> 829/* ADNABU_GEO_START */ 830(function() { 831 const STORAGE_KEYS = { 832 handled: 'ADNABU_GEO_REDIRECT_HANDLED', 833 sessionId: 'ADNABU_REDIRECT_MANAGER_SESSION_ID', 834 debug: 'ADNABU_REDIRECT_DEBUG_MODE', 835 detectedCountry: 'ADNABU_GEO_DETECTED_COUNTRY', 836 detectionAttempted: 'ADNABU_GEO_DETECTION_ATTEMPTED', 837 }; 838 // The extra replace keeps merchant copy from breaking out of this script tag: a literal 839 // closing tag would end it early, and an opening comment plus script tag flips the HTML 840 // tokenizer into its double-escaped state. 841 // Escaping every '<' (it only ever appears inside JSON strings) covers both and stays valid JS. 842 const config = null; 843 // Fallback only â localization.country.iso_code reflects the current market context, 844 // not the visitor's IP country; browsing_context_suggestions.json is the primary source. 845 const visitorCountryFromLiquid = "GB"; 846 const apiEndpoint = 'https://nabu-seo.adnabu.com/flux'; 847 const shopId = 'barnyarns.myshopify.com'; 848 849 // Storage access throws in Safari with site data blocked and in sandboxed frames, which 850 // would otherwise kill the whole runtime â reads fall back to null, writes become no-ops. 851 function storageGet(area, key) { 852 try { return window[area].getItem(key); } catch (_e) { return null; } 853 } 854 function storageSet(area, key, value) { 855 try { window[area].setItem(key, value); } catch (_e) {} 856 } 857 858 const debug = storageGet('localStorage', STORAGE_KEYS.debug) === 'true'; 859 860 // Shopify's routes.root ends with a slash, but a theme overriding Shopify.routes 861 // without one would silently produce paths like '/frlocalization' 862 function getRoutesRoot() { 863 const root = (window.Shopify && window.Shopify.routes && window.Shopify.routes.root) || '/'; 864 return root.replace(/\/*$/, '/'); 865 } 866 867 let detectedCountryCache = storageGet('sessionStorage', STORAGE_KEYS.detectedCountry) || null; 868 // A miss (blocked endpoint, no country in the response, fetch failure) leaves detectedCountry 869 // unset, so remember that detection ran to avoid refetching the endpoint on every pageview 870 let detectionAttempted = storageGet('sessionStorage', STORAGE_KEYS.detectionAttempted) === '1'; 871 872 async function warmUpCountryDetection() { 873 if (detectedCountryCache || detectionAttempted) return; 874 try { 875 const res = await fetch(getRoutesRoot() + 'browsing_context_suggestions.json?country[enabled]=true', {cache: 'no-store'}); 876 if (!res.ok) return; 877 const data = await res.json(); 878 const country = data && data.detected_values && data.detected_values.country && data.detected_values.country.handle; 879 if (country) { 880 // Shopify's handle casing isn't guaranteed; market country_codes are uppercase 881 detectedCountryCache = String(country).toUpperCase(); 882 storageSet('sessionStorage', STORAGE_KEYS.detectedCountry, detectedCountryCache); 883 } 884 } catch (_e) { 885 } finally { 886 detectionAttempted = true; 887 storageSet('sessionStorage', STORAGE_KEYS.detectionAttempted, '1'); 888 } 889 } 890 891 function detectVisitorCountry() { 892 return detectedCountryCache 893 || visitorCountryFromLiquid 894 || (window.Shopify && Shopify.country) 895 || null; 896 } 897 898 // Prefer the visitor's detected country when the market covers it; otherwise fall back 899 // to the market's primary country code. With region_detection off the visitor's location 900 // must not influence anything, so the detected country is ignored entirely. 901 function pickDisplayCountry(market) { 902 const visitor = config.region_detection !== false ? detectVisitorCountry() : null; 903 const codes = (market && market.country_codes) || []; 904 if (visitor && codes.indexOf(visitor) !== -1) return visitor; 905 // Visitor's country isn't in the target market (e.g. a no-market country routed to the 906 // fallback market): prefer the merchant's chosen fallback country over the market's 907 // first country, which is otherwise arbitrary for a multi-country market 908 if (config.fallback_country && codes.indexOf(config.fallback_country) !== -1) return config.fallback_country; 909 return codes[0] || config.fallback_country || visitor || null; 910 } 911 912 function log() { 913 if (debug) console.log.apply(console, ['[Nabu Geo Redirect]'].concat([].slice.call(arguments))); 914 } 915 916 // Accept a boolean true or the string "true" so a metafield written as a string 917 // doesn't silently disable the feature 918 if (!config || (config.enabled !== true && config.enabled !== 'true')) { 919 log('Disabled or config missing', config); 920 return; 921 } 922 if (storageGet('sessionStorage', STORAGE_KEYS.handled) === '1') { 923 log('Already handled this session'); 924 return; 925 } 926 927 function uuid() { 928 return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function(c) { 929 const r = Math.random() * 16 | 0, v = c === 'x' ? r : (r & 0x3 | 0x8); 930 return v.toString(16); 931 }); 932 } 933 934 function getSessionId() { 935 let id = storageGet('sessionStorage', STORAGE_KEYS.sessionId); 936 if (!id) { 937 id = uuid(); 938 storageSet('sessionStorage', STORAGE_KEYS.sessionId, id); 939 } 940 return id; 941 } 942 943 function sendEvent(eventType, extra) { 944 const payload = Object.assign({ 945 event_type: eventType, 946 shop_id: shopId, 947 session_id: getSessionId(), 948 timestamp: Date.now() / 1000, 949 visitor_country_code: config.region_detection !== false ? detectVisitorCountry() : null, 950 visitor_locale: (window.Shopify && Shopify.locale) || null, 951 // market_* mirrors the 404 event schema â the current market context, not the visitor's IP country 952 market_country_code: (window.Shopify && Shopify.country) || null, 953 market_locale: (window.Shopify && Shopify.locale) || null, 954 user_agent: navigator.userAgent, 955 }, extra || {}); 956 try { 957 if (navigator.sendBeacon) { 958 navigator.sendBeacon(apiEndpoint, new Blob([JSON.stringify(payload)], {type: 'application/json'})); 959 } else { 960 const xhr = new XMLHttpRequest(); 961 xhr.open('POST', apiEndpoint, true); 962 xhr.setRequestHeader('Content-Type', 'application/json'); 963 xhr.send(JSON.stringify(payload)); 964 } 965 } catch (e) { 966 log('sendEvent failed', e); 967 } 968 } 969 970 // Returns whether the marker actually persisted â with storage blocked the guard at the 971 // top of the IIFE never trips, and AUTO mode must not redirect without that brake. 972 function markHandled() { 973 storageSet('sessionStorage', STORAGE_KEYS.handled, '1'); 974 return storageGet('sessionStorage', STORAGE_KEYS.handled) === '1'; 975 } 976 977 // return_to must be locale-root-relative; a locale-prefixed path would pin the old language. 978 // The locale home page has no trailing slash ('/fr' with root '/fr/'), so compare without it. 979 function toLocaleRootRelative(returnTo) { 980 let returnPath = returnTo || '/'; 981 const rootNoSlash = getRoutesRoot().replace(/\/+$/, ''); 982 if (rootNoSlash && returnPath.indexOf(rootNoSlash) === 0) { 983 const rest = returnPath.slice(rootNoSlash.length); 984 if (rest === '') returnPath = '/'; 985 else if (rest.charAt(0) === '/') returnPath = rest; 986 } 987 // Collapse leading slashes, backslashes and control chars: '//evil.example/x', 988 // '/\evil.example/x' and control-char-prefixed forms all normalize to a 989 // protocol-relative URL in browsers, not a path 990 return '/' + returnPath.replace(/^[/\\\x00-\x1f]+/, ''); 991 } 992 993 // Submit Shopify's localization form so Shopify updates country/market/currency and 994 // redirects to the locale-aware URL; self-built market URLs are brittle. 995 function switchCountry(countryCode, returnTo, localeCode) { 996 const form = document.createElement('form'); 997 form.method = 'POST'; 998 form.action = getRoutesRoot() + 'localization'; 999 form.hidden = true; 1000 const fields = [ 1001 ['_method', 'PUT'], 1002 ['country_code', countryCode || ''], 1003 ['return_to', toLocaleRootRelative(returnTo) + (window.location.search || '')], 1004 ]; 1005 if (localeCode) fields.push(['locale_code', localeCode]); 1006 for (const pair of fields) { 1007 const input = document.createElement('input'); 1008 input.type = 'hidden'; 1009 input.name = pair[0]; 1010 input.value = pair[1]; 1011 form.appendChild(input); 1012 } 1013 document.body.appendChild(form); 1014 form.submit(); 1015 } 1016 1017 function findTargetMarket() {
1018 // With region_detection off, skip the country lookup and go straight to fallback 1019 if (config.region_detection !== false) { 1020 const byCountry = marketForCountry(detectVisitorCountry()); 1021 if (byCountry) return byCountry; 1022 } 1023 if (config.fallback_market_id) { 1024 const byId = (config.markets || []).find(function(m) { return m.shopify_id === config.fallback_market_id; }); 1025 if (byId) return byId; 1026 } 1027 return marketForCountry(config.fallback_country); 1028 } 1029 1030 // Auto-detect (no saved default_language) maps the visitor's browser language(s) to a locale the 1031 // market publishes: an exact locale match wins, then a base-language match (e.g. fr-FR -> fr). 1032 function detectBrowserLocale(locales) { 1033 if (!locales || !locales.length) return null; 1034 const nav = window.navigator || {}; 1035 const prefs = (nav.languages && nav.languages.length) ? nav.languages : (nav.language ? [nav.language] : []); 1036 for (let i = 0; i < prefs.length; i++) { 1037 const pref = String(prefs[i]).toLowerCase(); 1038 const base = pref.split('-')[0]; 1039 const exact = locales.find(function(l) { return String(l).toLowerCase() === pref; }); 1040 if (exact) return exact; 1041 const baseMatch = locales.find(function(l) { return String(l).toLowerCase().split('-')[0] === base; }); 1042 if (baseMatch) return baseMatch; 1043 } 1044 return null; 1045 } 1046 1047 // Prefer the shop-wide default_language URL when the market supports it, then the visitor's 1048 // browser language, then the market's own locales, then primary_url (which can point at the 1049 // shop root on partially-configured shops). 1050 function pickMarketUrl(market) { 1051 if (!market) return null; 1052 const localeUrls = market.locale_urls || {}; 1053 const globalDefault = config.default_language; 1054 if (globalDefault && localeUrls[globalDefault]) return localeUrls[globalDefault]; 1055 const detected = detectBrowserLocale(market.locales || []); 1056 if (detected && localeUrls[detected]) return localeUrls[detected]; 1057 const marketDefault = (market.locales && market.locales[0]) || null; 1058 if (marketDefault && localeUrls[marketDefault]) return localeUrls[marketDefault]; 1059 const anyLocaleUrl = Object.values(localeUrls)[0]; 1060 if (anyLocaleUrl) return anyLocaleUrl; 1061 return market.primary_url || null; 1062 } 1063 1064 // Analytics to_url should be where the visitor actually lands â the market URL joined 1065 // with the return path and query string, matching what switchCountry submits as return_to 1066 function buildDestinationUrl(market, returnTo) { 1067 const base = pickMarketUrl(market); 1068 if (!base) return null; 1069 return base.replace(/\/+$/, '') + toLocaleRootRelative(returnTo) + (window.location.search || ''); 1070 } 1071 1072 function marketPathFromUrl(url) { 1073 try { 1074 const path = new URL(url).pathname.replace(/\/+$/, ''); 1075 return path || '/'; 1076 } catch (_e) { return null; } 1077 } 1078 1079 function isSameOrigin(url) { 1080 try { return new URL(url).origin.toLowerCase() === window.location.origin.toLowerCase(); } 1081 catch (_e) { return false; } 1082 } 1083 1084 // Detect the market the visitor is currently browsing by matching subfolder prefixes 1085 function findVisitorMarketPath() { 1086 const markets = config.markets || []; 1087 const visitorPath = window.location.pathname.replace(/\/+$/, '') || '/'; 1088 const sorted = markets.slice().sort(function(a, b) { 1089 return (marketPathFromUrl(b.primary_url) || '').length - (marketPathFromUrl(a.primary_url) || '').length; 1090 }); 1091 for (const m of sorted) { 1092 // A market on another domain can share a subfolder with a locale prefix on this 1093 // one, so only same-origin markets can claim the current path. 1094 if (!isSameOrigin(m.primary_url)) continue; 1095 const mp = marketPathFromUrl(m.primary_url); 1096 if (!mp) continue; 1097 if (mp === '/') return '/'; 1098 if (visitorPath === mp || visitorPath.startsWith(mp + '/')) return mp; 1099 } 1100 return null; 1101 } 1102 1103 // Compare against the market's primary_url on both sides â pickMarketUrl() prefers a 1104 // locale URL whose path prefix differs from the primary one, which would flag visitors 1105 // already in the right market as needing a switch. 1106 function isAlreadyInMarket(market, targetUrl) { 1107 const referenceUrl = (market && market.primary_url) || targetUrl; 1108 if (!isSameOrigin(referenceUrl)) return false;
1109 // Markets can share one domain with no subfolder (the context then comes from the 1110 // buyer's localization cookie), so the URL alone can't prove the market â the 1111 // current context country must also be covered by the target market. 1112 if (visitorCountryFromLiquid && market 1113 && (market.country_codes || []).indexOf(visitorCountryFromLiquid) === -1) { 1114 return false; 1115 } 1116 // Without a primary_url there is no path to anchor a comparison â same origin plus 1117 // a covered context country is the strongest signal left. 1118 if (!market || !market.primary_url) return true; 1119 return findVisitorMarketPath() === marketPathFromUrl(referenceUrl); 1120 } 1121 1122 // Display names resolve in the storefront's locale and are memoized â Intl.DisplayNames 1123 // construction is expensive and countryName() runs inside the dropdown sort comparator. 1124 const displayNameResolvers = {}; 1125 const displayNameCaches = {region: {}, language: {}}; 1126 1127 function resolveDisplayName(type, locale, code) { 1128 const resolverKey = type + ':' + locale; 1129 if (!(resolverKey in displayNameResolvers)) { 1130 try { displayNameResolvers[resolverKey] = new Intl.DisplayNames([locale], {type: type}); } 1131 catch (_e) { displayNameResolvers[resolverKey] = null; } 1132 } 1133 const resolver = displayNameResolvers[resolverKey]; 1134 if (!resolver) return code; 1135 try { return resolver.of(code) || code; } 1136 catch (_e) { return code; } 1137 } 1138 1139 function countryName(code) { 1140 if (!code) return ''; 1141 const locale = (window.Shopify && Shopify.locale) || 'en'; 1142 const cache = displayNameCaches.region; 1143 if (cache[code] === undefined) cache[code] = resolveDisplayName('region', locale, code); 1144 return cache[code]; 1145 } 1146 1147 // SVG flag from flagcdn.com â same source as the admin preview; emoji flags don't render on Windows 1148 function flagImgMarkup(countryCode) { 1149 if (!countryCode || !/^[A-Za-z]{2}$/.test(countryCode)) return ''; 1150 const cc = String(countryCode).toLowerCase(); 1151 // onerror removes the img so a CSP-blocked or unreachable CDN never shows a broken icon 1152 return '<img src="https://flagcdn.com/' + cc + '.svg" alt="" width="16" height="12" ' 1153 + 'referrerpolicy="no-referrer" loading="lazy" onerror="this.remove()" ' 1154 + 'style="display:inline-block;vertical-align:middle;object-fit:cover;" />'; 1155 } 1156 1157 function languageName(code) { 1158 if (!code) return ''; 1159 const cache = displayNameCaches.language; 1160 if (cache[code] === undefined) cache[code] = resolveDisplayName('language', code, code); 1161 return cache[code]; 1162 } 1163 1164 function substituteTokens(template, replacements) { 1165 if (typeof template !== 'string' || !template) return ''; 1166 return template 1167 .replace(/\{country\}/g, replacements.country || '') 1168 .replace(/\{language\}/g, replacements.language || '') 1169 .replace(/\{currency\}/g, replacements.currency || ''); 1170 } 1171 1172 // Injects the flag SVG before the country name; all template segments are escaped 1173 function renderHeaderHtml(template, replacements, flagHtml) { 1174 if (typeof template !== 'string' || !template) return ''; 1175 const parts = template.split('{country}'); 1176 const substituteNonCountry = function(segment) { 1177 return substituteTokens(segment, Object.assign({}, replacements, {country: ''})); 1178 }; 1179 const before = escapeHtml(substituteNonCountry(parts[0])); 1180 if (parts.length === 1) return before; 1181 const country = escapeHtml(replacements.country || ''); 1182 // Later {country} occurrences render the plain name â the flag only decorates the first 1183 const after = escapeHtml(substituteTokens(parts.slice(1).join('{country}'), replacements)); 1184 return before + flagHtml + (flagHtml ? ' ' : '') + country + after; 1185 } 1186 1187 function escapeHtml(str) { 1188 return String(str == null ? '' : str) 1189 .replace(/&/g, '&').replace(/</g, '<').replace(/>/g, '>') 1190 .replace(/"/g, '"').replace(/'/g, '''); 1191 } 1192 1193 function marketForCountry(code) { 1194 return (config.markets || []).find(function(m) { 1195 return (m.country_codes || []).indexOf(code) !== -1; 1196 }) || null; 1197 } 1198 1199 function collectMarketCountryCodes() { 1200 const codes = [];
1201 (config.markets || []).forEach(function(m) { 1202 (m.country_codes || []).forEach(function(code) { 1203 if (code && codes.indexOf(code) === -1) codes.push(code); 1204 }); 1205 }); 1206 return codes.sort(function(a, b) { return countryName(a).localeCompare(countryName(b)); }); 1207 } 1208 1209 function localesForCountry(code, fallbackMarket) { 1210 const market = marketForCountry(code) || fallbackMarket; 1211 const locales = (market && market.locales) || []; 1212 if (locales.length) return locales; 1213 return config.shop_primary_locale ? [config.shop_primary_locale] : []; 1214 } 1215 1216 function preferredLocaleFor(market) { 1217 if (config.default_language) return config.default_language; 1218 const locales = (market && market.locales) || []; 1219 return detectBrowserLocale(locales) 1220 || locales[0] 1221 || config.shop_primary_locale || ''; 1222 } 1223 1224 // Detected/default value first (and preselected); the rest keep their order 1225 function orderedWithFirst(list, first) { 1226 if (!first || list.indexOf(first) === -1) return list; 1227 return [first].concat(list.filter(function(item) { return item !== first; })); 1228 } 1229 1230 function selectOptionsMarkup(values, labelFor) { 1231 return values.map(function(value, index) { 1232 return '<option value="' + escapeHtml(value) + '"' + (index === 0 ? ' selected' : '') + '>' 1233 + escapeHtml(labelFor(value)) + '</option>'; 1234 }).join(''); 1235 } 1236 1237 function selectFieldMarkup(id, label, attribute, optionsHtml) { 1238 // label for + matching id ties the visible caption to the select, so voice-control 1239 // users can target it (an aria-label alone is invisible and not voice-addressable) 1240 return [ 1241 '<div>', 1242 '<label for="' + id + '" style="display:block;margin:0 0 4px;font-size:11px;color:#6b7280;">' + escapeHtml(label) + '</label>', 1243 '<select id="' + id + '" ' + attribute + ' style="width:100%;background:#fff;border:1px solid #dfe3e8;border-radius:6px;padding:4px 0;font-size:12px;color:#111827;">' + optionsHtml + '</select>', 1244 '</div>', 1245 ].join(''); 1246 } 1247 1248 function renderModal(market, targetUrl) { 1249 const modalCopy = config.modal_copy || {}; 1250 const allCountryCodes = collectMarketCountryCodes(); 1251 const picked = pickDisplayCountry(market); 1252 // The header/CTA must describe the same country the dropdown preselects, so a pick 1253 // no market covers (empty country_codes + uncovered fallback) falls back to the list 1254 const countryCode = allCountryCodes.indexOf(picked) !== -1 ? picked : (allCountryCodes[0] || picked); 1255 const preferredLanguage = preferredLocaleFor(market); 1256 const languageOptions = orderedWithFirst(localesForCountry(countryCode, market), preferredLanguage); 1257 // {language} copy must name the option the dropdown actually preselects â a 1258 // default_language the target market doesn't publish is dropped from the list 1259 const languageCode = languageOptions[0] || preferredLanguage; 1260 const flagHtml = flagImgMarkup(countryCode); 1261 const replacements = { 1262 country: countryName(countryCode) || market.name || '', 1263 language: languageName(languageCode), 1264 currency: (marketForCountry(countryCode) || market).currency_code || '', 1265 }; 1266 // Hex-only guard: cta_color lands in a style attribute, so reject arbitrary CSS 1267 const ctaColor = /^#[0-9a-fA-F]{3,8}$/.test(modalCopy.cta_color || '') ? modalCopy.cta_color : '#1F1F1F'; 1268 const headerTemplate = modalCopy.header || 'It looks like you are shopping from {country}'; 1269 const descriptionTemplate = modalCopy.description || 'Visit our {country} store for {currency} pricing.'; 1270 const ctaTemplate = modalCopy.cta_label || 'Continue to {country} store'; 1271 const countryOptions = orderedWithFirst(allCountryCodes, countryCode); 1272 1273 const overlay = document.createElement('div'); 1274 overlay.setAttribute('data-adnabu-geo-modal', ''); 1275 overlay.style.cssText = 'position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(15,15,15,0.32);z-index:2147483646;display:flex;align-items:center;justify-content:center;font-family:system-ui,-apple-system,BlinkMacSystemFont,sans-serif;'; 1276 overlay.innerHTML = [ 1277 '<div role="dialog" aria-modal="true" data-adnabu-geo-dialog aria-label="' + escapeHtml(substituteTokens(headerTemplate, replacements)) + '" style="background:#fff;border-radius:14px;box-shadow:0 12px 32px rgba(0,0,0,0.18);padding:20px;max-width:340px;width:calc(100% - 40px);">', 1278 '<div style="display:flex;justify-content:space-between;align-items:flex-start;gap:12px;">', 1279 '<p data-adnabu-geo-header aria-live="polite" style="margin:0;font-size:15px;font-weight:500;line-height:1.35;">' + renderHeaderHtml(headerTemplate, replacements, flagHtml) + '</p>', 1280 '<button type="button" aria-label="Close" data-adnabu-geo-dismiss style="background:transparent;border:none;padding:0;cursor:pointer;color:#5c6a7a;font-size:20px;line-height:1;">Ã</button>', 1281 '</div>', 1282 '<p data-adnabu-geo-description aria-live="polite" style="margin:12px 0 0;font-size:13px;color:#374151;line-height:1.4;">' + escapeHtml(substituteTokens(descriptionTemplate, replacements)) + '</p>', 1283 '<div style="display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:16px;">', 1284 selectFieldMarkup('adnabu-geo-country-select', modalCopy.country_field_label || 'Country', 'data-adnabu-geo-country', selectOptionsMarkup(countryOptions, countryName)), 1285 selectFieldMarkup('adnabu-geo-language-select', modalCopy.language_field_label || 'Language', 'data-adnabu-geo-language', selectOptionsMarkup(languageOptions, languageName)), 1286 '</div>', 1287 '<button type="button" data-adnabu-geo-accept style="margin-top:16px;width:100%;background:' + escapeHtml(ctaColor) + ';color:#fff;border:none;border-radius:8px;padding:10px 14px;font-weight:600;font-size:13px;
1287cursor:pointer;">', 1288 escapeHtml(substituteTokens(ctaTemplate, replacements)), 1289 '</button>', 1290 '</div>', 1291 ].join(''); 1292 1293 const previouslyFocused = document.activeElement; 1294 const previousBodyOverflow = document.body.style.overflow; 1295 // Lock background scroll so the page doesn't scroll behind the overlay on mobile 1296 document.body.style.overflow = 'hidden'; 1297 document.body.appendChild(overlay); 1298 1299 const dialogElement = overlay.querySelector('[data-adnabu-geo-dialog]'); 1300 const headerElement = overlay.querySelector('[data-adnabu-geo-header]'); 1301 const descriptionElement = overlay.querySelector('[data-adnabu-geo-description]'); 1302 const countrySelect = overlay.querySelector('[data-adnabu-geo-country]'); 1303 const languageSelect = overlay.querySelector('[data-adnabu-geo-language]'); 1304 const acceptButton = overlay.querySelector('[data-adnabu-geo-accept]'); 1305 1306 // All templated copy tracks the current selection, not just the CTA â a modal that 1307 // still says "Shopping from France?" above a "Continue to Germany store" button lies 1308 function updateModalCopy() { 1309 const chosenCountry = countrySelect.value || countryCode; 1310 const chosenMarket = marketForCountry(chosenCountry) || market; 1311 const chosen = { 1312 country: countryName(chosenCountry) || chosenMarket.name || '', 1313 language: languageName(languageSelect.value || languageCode), 1314 currency: chosenMarket.currency_code || '', 1315 }; 1316 headerElement.innerHTML = renderHeaderHtml(headerTemplate, chosen, flagImgMarkup(chosenCountry)); 1317 descriptionElement.textContent = substituteTokens(descriptionTemplate, chosen); 1318 acceptButton.textContent = substituteTokens(ctaTemplate, chosen); 1319 dialogElement.setAttribute('aria-label', substituteTokens(headerTemplate, chosen)); 1320 } 1321 1322 function handleKeydown(e) { 1323 if (e.key === 'Escape') { dismiss(); return; } 1324 if (e.key !== 'Tab') return; 1325 // Keep Tab cycling inside the dialog while it is open 1326 const focusables = overlay.querySelectorAll('select, button'); 1327 const first = focusables[0]; 1328 const last = focusables[focusables.length - 1]; 1329 if (e.shiftKey && document.activeElement === first) { e.preventDefault(); last.focus(); } 1330 else if (!e.shiftKey && document.activeElement === last) { e.preventDefault(); first.focus(); } 1331 } 1332 function dismiss() { 1333 sendEvent('GEO_MODAL_DISMISSED', {target_country_code: countryCode, target_market_id: market.shopify_id}); 1334 document.removeEventListener('keydown', handleKeydown); 1335 document.body.style.overflow = previousBodyOverflow; 1336 overlay.remove(); 1337 if (previouslyFocused && typeof previouslyFocused.focus === 'function') previouslyFocused.focus(); 1338 } 1339 function accept() { 1340 // Guard against double submission â the first click already navigates 1341 if (acceptButton.disabled) return; 1342 acceptButton.disabled = true; 1343 document.removeEventListener('keydown', handleKeydown); 1344 document.body.style.overflow = previousBodyOverflow; 1345 const chosenCountry = countrySelect.value || countryCode; 1346 const chosenMarket = marketForCountry(chosenCountry) || market; 1347 sendEvent('GEO_MODAL_ACCEPTED', { 1348 target_country_code: chosenCountry, target_market_id: chosenMarket.shopify_id, 1349 to_url: buildDestinationUrl(chosenMarket, window.location.pathname) || targetUrl, 1350 }); 1351 switchCountry(chosenCountry, window.location.pathname, languageSelect.value || languageCode); 1352 } 1353 countrySelect.addEventListener('change', function() { 1354 // Same preference order as the initial render, so toggling a country away and 1355 // back preselects the same language 1356 const chosenMarket = marketForCountry(countrySelect.value) || market; 1357 const locales = orderedWithFirst(localesForCountry(countrySelect.value, market), preferredLocaleFor(c
1357hosenMarket)); 1358 languageSelect.innerHTML = selectOptionsMarkup(locales, languageName); 1359 updateModalCopy(); 1360 }); 1361 languageSelect.addEventListener('change', updateModalCopy); 1362 overlay.querySelector('[data-adnabu-geo-dismiss]').addEventListener('click', dismiss); 1363 acceptButton.addEventListener('click', accept); 1364 overlay.addEventListener('click', function(e) { if (e.target === overlay) dismiss(); }); 1365 document.addEventListener('keydown', handleKeydown); 1366 // Emitted only after a successful render + wiring, so a throw above (caught in run()) 1367 // never counts an impression for a modal the visitor can't see 1368 sendEvent('GEO_MODAL_SHOWN', {target_country_code: countryCode, target_market_id: market.shopify_id}); 1369 countrySelect.focus({preventScroll: true}); 1370 } 1371 1372 // Best-effort bot exclusion: JS-rendering crawlers (Googlebot, Bingbot) keep their bot UA 1373 // while rendering, and navigator.webdriver catches headless automation. 1374 // Redirecting crawlers by IP breaks indexing of localized markets, so bots get neither 1375 // redirects nor modals â and never reach sendEvent, keeping analytics human-only. 1376 function isBot() { 1377 if (navigator.webdriver) return true; 1378 return /bot|crawler|spider|crawling|slurp|lighthouse|headless|bingpreview|facebookexternalhit|whatsapp|telegram|pinterest|semrush|ahrefs|screaming frog/i 1379 .test(navigator.userAgent); 1380 } 1381 1382 const botDetected = isBot(); 1383 1384 async function run() { 1385 if (botDetected) { 1386 log('Bot or automation detected; skipping geo handling'); 1387 return; 1388 } 1389 await countryDetectionReady; 1390 const targetMarket = findTargetMarket(); 1391 if (!targetMarket) { 1392 log('No target market found for visitor country', detectVisitorCountry()); 1393 return; 1394 } 1395 const targetUrl = pickMarketUrl(targetMarket); 1396 if (!targetUrl) { 1397 log('No URL resolved for target market', targetMarket); 1398 return; 1399 } 1400 if (isAlreadyInMarket(targetMarket, targetUrl)) { 1401 log('Visitor already in target market origin', targetUrl); 1402 return; 1403 } 1404 if (config.mode === 'AUTO') { 1405 // Submit only a country the target market covers, so the reported market and 1406 // the market Shopify resolves can't diverge 1407 const targetCountries = targetMarket.country_codes || []; 1408 const picked = pickDisplayCountry(targetMarket); 1409 const submitCountry = targetCountries.indexOf(picked) !== -1 ? picked : targetCountries[0]; 1410 if (!submitCountry) { 1411 log('Target market has no country to submit; skipping AUTO redirect'); 1412 return; 1413 } 1414 // No persisted marker means no brake against reload loops â storage-blocked 1415 // visitors usually block the localization cookie too, so the switch won't stick 1416 if (!markHandled()) { 1417 log('Session marker not persisted; skipping AUTO redirect'); 1418 return; 1419 } 1420 sendEvent('GEO_AUTO_REDIRECTED', { 1421 target_country_code: submitCountry, target_market_id: targetMarket.shopify_id, 1422 to_url: buildDestinationUrl(targetMarket, window.location.pathname) || targetUrl, 1423 }); 1424 // Honor default_language when the target market publishes it, matching pickMarketUrl's choice 1425 const autoLocale = config.default_language 1426 && (targetMarket.locales || []).indexOf(config.default_language) !== -1 1427 ? config.default_language : null; 1428 switchCountry(submitCountry, window.location.pathname, autoLocale); 1429 return; 1430 } 1431 if (config.mode !== 'MODAL') { 1432 log('Unknown redirection mode; skipping', config.mode); 1433 return; 1434 } 1435 // Mark handled only after a successful render â a throw partway would otherwise cost 1436 // the visitor the modal for the whole session and leave a dead overlay on the page 1437 try { 1438 renderModal(targetMarket, targetUrl); 1439 } catch (renderError) { 1440 const partialOverlay = document.querySelector('[data-adnabu-geo-modal]'); 1441 if (partialOverlay) partialOverlay.remove(); 1442 log('Modal render failed', renderError); 1443 return; 1444 } 1445 markHandled(); 1446 } 1447 1448 // Detection starts at script evaluation (this block targets head) so the network round 1449 // trip overlaps document parsing instead of delaying the redirect past DOMContentLoaded. 1450 // With region_detection off the visitor is never geolocated â no lookup, no cache. 1451 const countryDetectionReady = !botDetected && config.region_detection !== false 1452 ? warmUpCountryDetection() : Promise.resolve(); 1453 1454 // async run() would otherwise surface storage/network failures as unhandled rejections 1455 function startGeo() { 1456 run().catch(function(e) { log('Geo run failed', e); }); 1457 } 1458 if (document.readyState === 'loading') { 1459 document.addEventListener('DOMContentLoaded', startGeo); 1460 } else { 1461 startGeo(); 1462 } 1463})(); 1464/* ADNABU_GEO_END */ 1465</script>
1465 1466 1467 1468<!-- END app block --><!-- BEGIN app block: shopify://apps/gsc-countdown-timer/blocks/countdown-bar/58dc5b1b-43d2-4209-b1f3-52aff31643ed --><style> 1469 .gta-block__error { 1470 display: flex; 1471 flex-flow: column nowrap; 1472 gap: 12px; 1473 padding: 32px; 1474 border-radius: 12px; 1475 margin: 12px 0; 1476 background-color: #fff1e3; 1477 color: #412d00; 1478 } 1479 1480 .gta-block__error-title { 1481 font-size: 18px; 1482 font-weight: 600; 1483 line-height: 28px; 1484 } 1485 1486 .gta-block__error-body { 1487 font-size: 14px; 1488 line-height: 24px; 1489 } 1490</style> 1491
1492<script> 1493 (function () { 1494 try { 1495 const widgets = [{"bar":{"sticky":true,"justify":"center","position":"top","closeButton":{"color":"#616161","enabled":true}},"key":"GSC-BAR-uMFUEtGGdIUC","type":"bar","timer":{"date":"2026-09-23T00:00:00.000Z","mode":"evergreen","daily":{"tz":"Etc\/GMT-0","endHours":14,"endMinutes":0,"repeatDays":[0,1,2,3,4,5,6],"startHours":10,"startMinutes":0},"hours":159,"onEnd":"hide","minutes":0,"seconds":0,"scheduling":{"end":null,"start":null}},"content":{"gap":{"mobile":"6px","desktop":"24px"},"align":"center","items":[{"id":"text-mPiCRYmpgkHG","type":"text","align":"left","color":"#ffffff","value":"20% OFF Aurifil Thread","enabled":true,"padding":{"mobile":{},"desktop":{}},"fontSize":{"mobile":"16px","desktop":"24px"},"fontFamily":"inherit","fontWeight":"700","lineHeight":{"mobile":"1.3","desktop":"1.2"},"letterSpacing":{"mobile":"0","desktop":"0"},"textTransform":"unset"},{"id":"text-IjPdkVGDjkjf","type":"text","align":"left","color":"#e0e0e0","value":"Sale ends in:","enabled":true,"padding":{"mobile":{},"desktop":{}},"fontSize":{"mobile":"12px","desktop":"15px"},"fontFamily":"inherit","fontWeight":"400","lineHeight":{"mobile":"1.3","desktop":"1.3"},"letterSpacing":{"mobile":"0","desktop":"0"},"textTransform":"unset"},{"id":"timer-svVhPZNtKUPg","type":"timer","view":"custom","width":{"mobile":"160px","desktop":"224px"},"border":{"size":"2px","color":"#FFFFFF","enabled":false},"digits":{"gap":"0px","color":"#ffffff","fontSize":"60px","fontFamily":"inherit","fontWeight":"600"},"labels":{"ms":"ms","days":"days","color":"#ffffff","hours":"hours","enabled":true,"minutes":"mins","seconds":"secs","fontSize":"24px","fontFamily":"inherit","fontWeight":"500","textTransform":"unset"},"layout":"separate","margin":{"mobile":{},"desktop":{}},"radius":{"value":"16px","enabled":false},"shadow":{"type":"","color":"black","enabled":true},"enabled":true,"padding":{"mobile":{},"desktop":{"top":"0px"}},"fontSize":{"mobile":"14px","desktop":"18px"},"separator":{"type":"colon","color":"#ffffff","enabled":true},"background":{"blur":"2px","color":"#eeeeee","enabled":false},"unitFormat":"d:h:m:s"},{"id":"button-bosbqCOCnriq","href":"https:\/\/shopify.com","type":"button","label":"Shop now","width":"content","border":{"size":"2px","color":"#000000","enabled":false},"margin":{"mobile":{"top":"0px","left":"0px","right":"0px","bottom":"0px"},"desktop":{"top":"0px","left":"0px","right":"0px","bottom":"0px"}},"radius":{"value":"8px","enabled":true},"target":"_self","enabled":false,"padding":{"mobile":{"top":"8px","left":"12px","right":"12px","bottom":"8px"},"desktop":{"top":"12px","left":"32px","right":"32px","bottom":"12px"}},"fontSize":{"mobile":"12px","desktop":"14px"},"textColor":"#000000","background":{"blur":"0px","color":"#ffffff","enabled":true},"fontFamily":"inherit","fontWeight":"500","letterSpacing":{"mobile":"0","desktop":"0"},"textTransform":"unset"},{"id":"coupon-XTLyZevicpHe","code":"PASTE YOUR CODE","icon":{"url":"https:\/\/assets.getsitecontrol.com\/shopify-apps\/shared\/icons\/shopping-discounts\/badge-percent-filled.svg","mask":true,"source":"gallery","enabled":true},"type":"coupon","label":"Save 35%","action":"copy","border":{"size":"1px","color":"#747474","enabled":true},"margin":{"mobile":{"top":"0px","left":"0px","right":"0px","bottom":"0px"},"desktop":{"top":"0px","left":"0px","right":"0px","bottom":"0px"}},"radius":{"value":"6px","enabled":true},"enabled":false,"padding":{"mobile":{"top":"4px","left":"12px","right":"12px","bottom":"4px"},"desktop":{"top":"8px","left":"16px","right":"16px","bottom":"8px"}},"fontSize":{"mobile":"12px","desktop":"14px"},"textColor":"#ffffff","background":{"blur":"0px","color":"#2a2a2a","enabled":true},"fontFamily":"inherit","fontWeight":"600","textTransform":"uppercase"}],"width":{"mobile":"100%","desktop":"400px"},"border":{"size":"1px","color":"#000000","enabled":false},"layout":"column","margin":{"mobile":{"top":"0px","left":"0px","right":"0px","bottom":"0px"},"desktop":{"top":"0px","left":"0px","right":"0px","bottom":"0px"}},"radius":{"value":"8px","enabled":false},"padding":{"mobile":{"top":"4px","left":"0px","right":"0px","bottom":"4px"},"desktop":{"top":"8px","left":"28px","right":"28px","bottom":"8px"}},"background":{"src":null,"blur":"8px","source":"color","bgColor":"#000000","enabled":true,"overlayColor":"rgba(0,0,0,0)"},"backgroundClick":{"url":"","target":"_self","enabled":false}},"enabled":true,"general":{"preset":"bar3","breakpoint":"768px"},"section":null,"version":2,"targeting":{"geo":null,"pages":{"cart":true,"home":true,"other":true,"password":true,"products":{"mode":"all","tags":[],"enabled":true,"specificProducts":[],"productsInCollections":[]},"collections":{"mode":"all","items":[],"enabled":true}}},"productLabel":null},{"bar":{"sticky":true,"justify":"center","position":"top","closeButton":{"color":"#616161","enabled":true}},"key":"GSC-BAR-WTwIMrPxWnGV","type":"bar","timer":{"date":"2026-09-01T01:00:00.000+01:00","mode":"date","daily":{"tz":"Etc\/GMT-0","endHours":14,"endMinutes":0,"repeatDays":[0,1,2,3,4,5,6],"startHours":10,"startMinutes":0},"hours":72,"onEnd":"hide","minutes":0,"seconds":0,"scheduling":{"end":null,"start":null}}
1495,"content":{"gap":{"mobile":"6px","desktop":"24px"},"align":"center","items":[{"id":"text-YNfUDOJxDgPk","type":"text","align":"left","color":"#ffffff","value":"25% OFF Sitewide Sale","enabled":true,"padding":{"mobile":{},"desktop":{}},"fontSize":{"mobile":"16px","desktop":"24px"},"fontFamily":"inherit","fontWeight":"700","lineHeight":{"mobile":"1.3","desktop":"1.2"},"letterSpacing":{"mobile":"0","desktop":"0"},"textTransform":"unset"},{"id":"text-YAYmarzbHqHi","type":"text","align":"left","color":"#e0e0e0","value":"Sale ends in:","enabled":true,"padding":{"mobile":{},"desktop":{}},"fontSize":{"mobile":"12px","desktop":"15px"},"fontFamily":"inherit","fontWeight":"400","lineHeight":{"mobile":"1.3","desktop":"1.3"},"letterSpacing":{"mobile":"0","desktop":"0"},"textTransform":"unset"},{"id":"timer-nUlexhZTfqMT","type":"timer","view":"custom","width":{"mobile":"160px","desktop":"224px"},"border":{"size":"2px","color":"#FFFFFF","enabled":false},"digits":{"gap":"0px","color":"#ffffff","fontSize":"60px","fontFamily":"inherit","fontWeight":"600"},"labels":{"ms":"ms","days":"days","color":"#ffffff","hours":"hours","enabled":true,"minutes":"mins","seconds":"secs","fontSize":"24px","fontFamily":"inherit","fontWeight":"500","textTransform":"unset"},"layout":"separate","margin":{"mobile":{},"desktop":{}},"radius":{"value":"16px","enabled":false},"shadow":{"type":"","color":"black","enabled":true},"enabled":true,"padding":{"mobile":{},"desktop":{"top":"0px"}},"fontSize":{"mobile":"14px","desktop":"18px"},"separator":{"type":"colon","color":"#ffffff","enabled":true},"background":{"blur":"2px","color":"#eeeeee","enabled":false},"unitFormat":"d:h:m:s"},{"id":"button-zXebYPvnIMmr","href":"https:\/\/shopify.com","type":"button","label":"Shop now","width":"content","border":{"size":"2px","color":"#000000","enabled":false},"margin":{"mobile":{"top":"0px","left":"0px","right":"0px","bottom":"0px"},"desktop":{"top":"0px","left":"0px","right":"0px","bottom":"0px"}},"radius":{"value":"8px","enabled":true},"target":"_self","enabled":false,"padding":{"mobile":{"top":"8px","left":"12px","right":"12px","bottom":"8px"},"desktop":{"top":"12px","left":"32px","right":"32px","bottom":"12px"}},"fontSize":{"mobile":"12px","desktop":"14px"},"textColor":"#000000","background":{"blur":"0px","color":"#ffffff","enabled":true},"fontFamily":"inherit","fontWeight":"500","letterSpacing":{"mobile":"0","desktop":"0"},"textTransform":"unset"},{"id":"coupon-ZvAqxWREMYYz","code":"PASTE YOUR CODE","icon":{"url":"https:\/\/assets.getsitecontrol.com\/shopify-apps\/shared\/icons\/shopping-discounts\/badge-percent-filled.svg","mask":true,"source":"gallery","enabled":true},"type":"coupon","label":"Save 35%","action":"copy","border":{"size":"1px","color":"#747474","enabled":true},"margin":{"mobile":{"top":"0px","left":"0px","right":"0px","bottom":"0px"},"desktop":{"top":"0px","left":"0px","right":"0px","bottom":"0px"}},"radius":{"value":"6px","enabled":true},"enabled":false,"padding":{"mobile":{"top":"4px","left":"12px","right":"12px","bottom":"4px"},"desktop":{"top":"8px","left":"16px","right":"16px","bottom":"8px"}},"fontSize":{"mobile":"12px","desktop":"14px"},"textColor":"#ffffff","background":{"blur":"0px","color":"#2a2a2a","enabled":true},"fontFamily":"inherit","fontWeight":"600","textTransform":"uppercase"}],"width":{"mobile":"100%","desktop":"400px"},"border":{"size":"1px","color":"#000000","enabled":false},"layout":"column","margin":{"mobile":{"top":"0px","left":"0px","right":"0px","bottom":"0px"},"desktop":{"top":"0px","left":"0px","right":"0px","bottom":"0px"}},"radius":{"value":"8px","enabled":false},"padding":{"mobile":{"top":"4px","left":"0px","right":"0px","bottom":"4px"},"desktop":{"top":"8px","left":"28px","right":"28px","bottom":"8px"}},"background":{"src":null,"blur":"8px","source":"color","bgColor":"#000000","enabled":true,"overlayColor":"rgba(0,0,0,0)"},"backgroundClick":{"url":"","target":"_self","enabled":false}},"enabled":false,"general":{"preset":"bar3","breakpoint":"768px"},"section":null,"version":2,"targeting":{"geo":null,"pages":{"cart":true,"home":true,"other":true,"password":true,"products":{"mode":"all","tags":[],"enabled":true,"specificProducts":[],"productsInCollections":[]},"collections":{"mode":"all","items":[],"enabled":true}}},"productLabel":null},{"bar":{"sticky":true,"justify":"center","position":"top","closeButton":{"color":"#616161","enabled":true}},"key":"GSC-BAR-aykoGLyVRihZ","type":"bar","timer":{"date":"2026-07-16T01:00:00.000+01:00","mode":"date","daily":{"tz":"Etc\/GMT-0","endHours":14,"endMinutes":0,"repeatDays":[0,1,2,3,4,5,6],"startHours":10,"startMinutes":0},"hours":72,"onEnd":"hide","minutes":0,"seconds":0,"scheduling":{"end":null,"start":null}}
1495,"content":{"gap":{"mobile":"6px","desktop":"24px"},"align":"center","items":[{"id":"text-XVvLxLCqazKI","type":"text","align":"left","color":"#ffffff","value":"20% OFF Superior","enabled":true,"padding":{"mobile":{},"desktop":{}},"fontSize":{"mobile":"16px","desktop":"24px"},"fontFamily":"inherit","fontWeight":"700","lineHeight":{"mobile":"1.3","desktop":"1.2"},"letterSpacing":{"mobile":"0","desktop":"0"},"textTransform":"unset"},{"id":"text-CJpfFHLCcdGL","type":"text","align":"left","color":"#e0e0e0","value":"Sale ends in:","enabled":true,"padding":{"mobile":{},"desktop":{}},"fontSize":{"mobile":"12px","desktop":"15px"},"fontFamily":"inherit","fontWeight":"400","lineHeight":{"mobile":"1.3","desktop":"1.3"},"letterSpacing":{"mobile":"0","desktop":"0"},"textTransform":"unset"},{"id":"timer-iiuzYzVFqytF","type":"timer","view":"custom","width":{"mobile":"160px","desktop":"224px"},"border":{"size":"2px","color":"#FFFFFF","enabled":false},"digits":{"gap":"0px","color":"#ffffff","fontSize":"60px","fontFamily":"inherit","fontWeight":"600"},"labels":{"ms":"ms","days":"days","color":"#ffffff","hours":"hours","enabled":true,"minutes":"mins","seconds":"secs","fontSize":"24px","fontFamily":"inherit","fontWeight":"500","textTransform":"unset"},"layout":"separate","margin":{"mobile":{},"desktop":{}},"radius":{"value":"16px","enabled":false},"shadow":{"type":"","color":"black","enabled":true},"enabled":true,"padding":{"mobile":{},"desktop":{"top":"0px"}},"fontSize":{"mobile":"14px","desktop":"18px"},"separator":{"type":"colon","color":"#ffffff","enabled":true},"background":{"blur":"2px","color":"#eeeeee","enabled":false},"unitFormat":"d:h:m:s"},{"id":"button-IJIotDnAhcie","href":"https:\/\/shopify.com","type":"button","label":"Shop now","width":"content","border":{"size":"2px","color":"#000000","enabled":false},"margin":{"mobile":{"top":"0px","left":"0px","right":"0px","bottom":"0px"},"desktop":{"top":"0px","left":"0px","right":"0px","bottom":"0px"}},"radius":{"value":"8px","enabled":true},"target":"_self","enabled":false,"padding":{"mobile":{"top":"8px","left":"12px","right":"12px","bottom":"8px"},"desktop":{"top":"12px","left":"32px","right":"32px","bottom":"12px"}},"fontSize":{"mobile":"12px","desktop":"14px"},"textColor":"#000000","background":{"blur":"0px","color":"#ffffff","enabled":true},"fontFamily":"inherit","fontWeight":"500","letterSpacing":{"mobile":"0","desktop":"0"},"textTransform":"unset"},{"id":"coupon-nvVMhhARQKPg","code":"PASTE YOUR CODE","icon":{"url":"https:\/\/assets.getsitecontrol.com\/shopify-apps\/shared\/icons\/shopping-discounts\/badge-percent-filled.svg","mask":true,"source":"gallery","enabled":true},"type":"coupon","label":"Save 35%","action":"copy","border":{"size":"1px","color":"#747474","enabled":true},"margin":{"mobile":{"top":"0px","left":"0px","right":"0px","bottom":"0px"},"desktop":{"top":"0px","left":"0px","right":"0px","bottom":"0px"}},"radius":{"value":"6px","enabled":true},"enabled":false,"padding":{"mobile":{"top":"4px","left":"12px","right":"12px","bottom":"4px"},"desktop":{"top":"8px","left":"16px","right":"16px","bottom":"8px"}},"fontSize":{"mobile":"12px","desktop":"14px"},"textColor":"#ffffff","background":{"blur":"0px","color":"#2a2a2a","enabled":true},"fontFamily":"inherit","fontWeight":"600","textTransform":"uppercase"}],"width":{"mobile":"100%","desktop":"400px"},"border":{"size":"1px","color":"#000000","enabled":false},"layout":"column","margin":{"mobile":{"top":"0px","left":"0px","right":"0px","bottom":"0px"},"desktop":{"top":"0px","left":"0px","right":"0px","bottom":"0px"}},"radius":{"value":"8px","enabled":false},"padding":{"mobile":{"top":"4px","left":"0px","right":"0px","bottom":"4px"},"desktop":{"top":"8px","left":"28px","right":"28px","bottom":"8px"}},"background":{"src":null,"blur":"8px","source":"color","bgColor":"#000000","enabled":true,"overlayColor":"rgba(0,0,0,0)"},"backgroundClick":{"url":"","target":"_self","enabled":false}},"enabled":false,"general":{"preset":"bar3","breakpoint":"768px"},"section":null,"version":2,"targeting":{"geo":null,"pages":{"cart":true,"home":true,"other":true,"password":true,"products":{"mode":"all","tags":[],"enabled":true,"specificProducts":[],"productsInCollections":[]},"collections":{"mode":"all","items":[],"enabled":true}}},"productLabel":null},{"bar":{"sticky":true,"justify":"center","position":"top","closeButton":{"color":"#616161","enabled":true}},"key":"GSC-BAR-TNFDbLZuMDnZ","type":"bar","timer":{"date":"2026-07-07T01:00:00.000+01:00","mode":"date","daily":{"tz":"Etc\/GMT-0","endHours":14,"endMinutes":0,"repeatDays":[0,1,2,3,4,5,6],"startHours":10,"startMinutes":0},"hours":72,"onEnd":"hide","minutes":0,"seconds":0,"scheduling":{"end":null,"start":null}}
1495,"content":{"gap":{"mobile":"6px","desktop":"24px"},"align":"center","items":[{"id":"text-hADweJBEkZzz","type":"text","align":"left","color":"#ffffff","value":"20% Off Aurifil Threads","enabled":true,"padding":{"mobile":{},"desktop":{}},"fontSize":{"mobile":"16px","desktop":"24px"},"fontFamily":"inherit","fontWeight":"700","lineHeight":{"mobile":"1.3","desktop":"1.2"},"letterSpacing":{"mobile":"0","desktop":"0"},"textTransform":"unset"},{"id":"text-OVSZSvRsjhQt","type":"text","align":"left","color":"#e0e0e0","value":"Sale ends in:","enabled":true,"padding":{"mobile":{},"desktop":{}},"fontSize":{"mobile":"12px","desktop":"15px"},"fontFamily":"inherit","fontWeight":"400","lineHeight":{"mobile":"1.3","desktop":"1.3"},"letterSpacing":{"mobile":"0","desktop":"0"},"textTransform":"unset"},{"id":"timer-saAGBnXfPRhC","type":"timer","view":"custom","width":{"mobile":"160px","desktop":"224px"},"border":{"size":"2px","color":"#FFFFFF","enabled":false},"digits":{"gap":"0px","color":"#ffffff","fontSize":"60px","fontFamily":"inherit","fontWeight":"600"},"labels":{"ms":"ms","days":"days","color":"#ffffff","hours":"hours","enabled":true,"minutes":"mins","seconds":"secs","fontSize":"24px","fontFamily":"inherit","fontWeight":"500","textTransform":"unset"},"layout":"separate","margin":{"mobile":{},"desktop":{}},"radius":{"value":"16px","enabled":false},"shadow":{"type":"","color":"black","enabled":true},"enabled":true,"padding":{"mobile":{},"desktop":{"top":"0px"}},"fontSize":{"mobile":"14px","desktop":"18px"},"separator":{"type":"colon","color":"#ffffff","enabled":true},"background":{"blur":"2px","color":"#eeeeee","enabled":false},"unitFormat":"d:h:m:s"},{"id":"button-UhtOEjSiOXaT","href":"https:\/\/shopify.com","type":"button","label":"Shop now","width":"content","border":{"size":"2px","color":"#000000","enabled":false},"margin":{"mobile":{"top":"0px","left":"0px","right":"0px","bottom":"0px"},"desktop":{"top":"0px","left":"0px","right":"0px","bottom":"0px"}},"radius":{"value":"8px","enabled":true},"target":"_self","enabled":false,"padding":{"mobile":{"top":"8px","left":"12px","right":"12px","bottom":"8px"},"desktop":{"top":"12px","left":"32px","right":"32px","bottom":"12px"}},"fontSize":{"mobile":"12px","desktop":"14px"},"textColor":"#000000","background":{"blur":"0px","color":"#ffffff","enabled":true},"fontFamily":"inherit","fontWeight":"500","letterSpacing":{"mobile":"0","desktop":"0"},"textTransform":"unset"},{"id":"coupon-kHNELxnVguuP","code":"PASTE YOUR CODE","icon":{"url":"https:\/\/assets.getsitecontrol.com\/shopify-apps\/shared\/icons\/shopping-discounts\/badge-percent-filled.svg","mask":true,"source":"gallery","enabled":true},"type":"coupon","label":"Save 35%","action":"copy","border":{"size":"1px","color":"#747474","enabled":true},"margin":{"mobile":{"top":"0px","left":"0px","right":"0px","bottom":"0px"},"desktop":{"top":"0px","left":"0px","right":"0px","bottom":"0px"}},"radius":{"value":"6px","enabled":true},"enabled":false,"padding":{"mobile":{"top":"4px","left":"12px","right":"12px","bottom":"4px"},"desktop":{"top":"8px","left":"16px","right":"16px","bottom":"8px"}},"fontSize":{"mobile":"12px","desktop":"14px"},"textColor":"#ffffff","background":{"blur":"0px","color":"#2a2a2a","enabled":true},"fontFamily":"inherit","fontWeight":"600","textTransform":"uppercase"}],"width":{"mobile":"100%","desktop":"400px"},"border":{"size":"1px","color":"#000000","enabled":false},"layout":"column","margin":{"mobile":{"top":"0px","left":"0px","right":"0px","bottom":"0px"},"desktop":{"top":"0px","left":"0px","right":"0px","bottom":"0px"}},"radius":{"value":"8px","enabled":false},"padding":{"mobile":{"top":"4px","left":"0px","right":"0px","bottom":"4px"},"desktop":{"top":"8px","left":"28px","right":"28px","bottom":"8px"}},"background":{"src":null,"blur":"8px","source":"color","bgColor":"#000000","enabled":true,"overlayColor":"rgba(0,0,0,0)"},"backgroundClick":{"url":"","target":"_self","enabled":false}},"enabled":false,"general":{"preset":"bar3","breakpoint":"768px"},"section":null,"version":2,"targeting":{"geo":null,"pages":{"cart":true,"home":true,"other":true,"password":true,"products":{"mode":"all","tags":[],"enabled":true,"specificProducts":[],"productsInCollections":[]},"collections":{"mode":"all","items":[],"enabled":true}}},"productLabel":null},{"bar":{"sticky":true,"justify":"center","position":"top","closeButton":{"color":"#616161","enabled":true}},"key":"GSC-BAR-QgPlLwvSGYNH","type":"bar","timer":{"date":"2026-06-23T01:00:00.000+01:00","mode":"date","daily":{"tz":"Etc\/GMT-0","endHours":14,"endMinutes":0,"repeatDays":[0,1,2,3,4,5,6],"startHours":10,"startMinutes":0},"hours":72,"onEnd":"restart","minutes":0,"seconds":0,"scheduling":{"end":null,"start":null}}
1495,"content":{"gap":{"mobile":"6px","desktop":"24px"},"align":"center","items":[{"id":"text-hjxAfmeBnAwe","type":"text","align":"left","color":"#ffffff","value":"30% OFF Barnyarns Blades","enabled":true,"padding":{"mobile":{},"desktop":{}},"fontSize":{"mobile":"16px","desktop":"24px"},"fontFamily":"inherit","fontWeight":"700","lineHeight":{"mobile":"1.3","desktop":"1.2"},"letterSpacing":{"mobile":"0","desktop":"0"},"textTransform":"unset"},{"id":"text-mZgmJafGmluc","type":"text","align":"left","color":"#e0e0e0","value":"Sale ends in:","enabled":true,"padding":{"mobile":{},"desktop":{}},"fontSize":{"mobile":"12px","desktop":"15px"},"fontFamily":"inherit","fontWeight":"400","lineHeight":{"mobile":"1.3","desktop":"1.3"},"letterSpacing":{"mobile":"0","desktop":"0"},"textTransform":"unset"},{"id":"timer-JUmDwXAZHxbu","type":"timer","view":"custom","width":{"mobile":"160px","desktop":"224px"},"border":{"size":"2px","color":"#FFFFFF","enabled":false},"digits":{"gap":"0px","color":"#ffffff","fontSize":"60px","fontFamily":"inherit","fontWeight":"600"},"labels":{"ms":"ms","days":"days","color":"#ffffff","hours":"hours","enabled":true,"minutes":"mins","seconds":"secs","fontSize":"24px","fontFamily":"inherit","fontWeight":"500","textTransform":"unset"},"layout":"separate","margin":{"mobile":{},"desktop":{}},"radius":{"value":"16px","enabled":false},"shadow":{"type":"","color":"black","enabled":true},"enabled":true,"padding":{"mobile":{},"desktop":{"top":"0px"}},"fontSize":{"mobile":"14px","desktop":"18px"},"separator":{"type":"colon","color":"#ffffff","enabled":true},"background":{"blur":"2px","color":"#eeeeee","enabled":false},"unitFormat":"d:h:m:s"},{"id":"button-PMnKbAhHbLQw","href":"https:\/\/shopify.com","type":"button","label":"Shop now","width":"content","border":{"size":"2px","color":"#000000","enabled":false},"margin":{"mobile":{"top":"0px","left":"0px","right":"0px","bottom":"0px"},"desktop":{"top":"0px","left":"0px","right":"0px","bottom":"0px"}},"radius":{"value":"8px","enabled":true},"target":"_self","enabled":false,"padding":{"mobile":{"top":"8px","left":"12px","right":"12px","bottom":"8px"},"desktop":{"top":"12px","left":"32px","right":"32px","bottom":"12px"}},"fontSize":{"mobile":"12px","desktop":"14px"},"textColor":"#000000","background":{"blur":"0px","color":"#ffffff","enabled":true},"fontFamily":"inherit","fontWeight":"500","letterSpacing":{"mobile":"0","desktop":"0"},"textTransform":"unset"},{"id":"coupon-xJVRHpjChmkO","code":"PASTE YOUR CODE","icon":{"url":"https:\/\/assets.getsitecontrol.com\/shopify-apps\/shared\/icons\/shopping-discounts\/badge-percent-filled.svg","mask":true,"source":"gallery","enabled":true},"type":"coupon","label":"Save 35%","action":"copy","border":{"size":"1px","color":"#747474","enabled":true},"margin":{"mobile":{"top":"0px","left":"0px","right":"0px","bottom":"0px"},"desktop":{"top":"0px","left":"0px","right":"0px","bottom":"0px"}},"radius":{"value":"6px","enabled":true},"enabled":false,"padding":{"mobile":{"top":"4px","left":"12px","right":"12px","bottom":"4px"},"desktop":{"top":"8px","left":"16px","right":"16px","bottom":"8px"}},"fontSize":{"mobile":"12px","desktop":"14px"},"textColor":"#ffffff","background":{"blur":"0px","color":"#2a2a2a","enabled":true},"fontFamily":"inherit","fontWeight":"600","textTransform":"uppercase"}],"width":{"mobile":"100%","desktop":"400px"},"border":{"size":"1px","color":"#000000","enabled":false},"layout":"column","margin":{"mobile":{"top":"0px","left":"0px","right":"0px","bottom":"0px"},"desktop":{"top":"0px","left":"0px","right":"0px","bottom":"0px"}},"radius":{"value":"8px","enabled":false},"padding":{"mobile":{"top":"4px","left":"0px","right":"0px","bottom":"4px"},"desktop":{"top":"8px","left":"28px","right":"28px","bottom":"8px"}},"background":{"src":null,"blur":"8px","source":"color","bgColor":"#000000","enabled":true,"overlayColor":"rgba(0,0,0,0)"},"backgroundClick":{"url":"","target":"_self","enabled":false}},"enabled":false,"general":{"preset":"bar3","breakpoint":"768px"},"section":null,"version":2,"targeting":{"geo":null,"pages":{"cart":true,"home":true,"other":true,"password":true,"products":{"mode":"all","tags":[],"enabled":true,"specificProducts":[],"productsInCollections":[]},"collections":{"mode":"all","items":[],"enabled":true}}},"productLabel":null},{"bar":{"sticky":true,"justify":"center","position":"top","closeButton":{"color":"#bdbdbd","enabled":true}},"key":"GSC-BAR-rTcHQXpXPnTI","type":"bar","timer":{"date":"2026-06-16T00:00:00.000Z","mode":"evergreen","daily":{"tz":"Etc\/GMT-0","endHours":14,"endMinutes":0,"repeatDays":[0,1,2,3,4,5,6],"startHours":10,"startMinutes":0},"hours":72,"onEnd":"restart","minutes":0,"seconds":0,"scheduling":{"end":null,"start":null}}
1495,"content":{"gap":{"mobile":"6px","desktop":"24px"},"align":"center","items":[{"id":"text-YJaxLeWscecd","type":"text","align":"left","color":"#000000","value":"Time is ticking","enabled":true,"padding":{"mobile":{},"desktop":{}},"fontSize":{"mobile":"16px","desktop":"24px"},"fontFamily":"inherit","fontWeight":"700","lineHeight":{"mobile":"1.3","desktop":"1.2"},"letterSpacing":{"mobile":"0","desktop":"0"},"textTransform":"unset"},{"id":"text-PXzgkgKqDakb","type":"text","align":"left","color":"#000000","value":"Sale ends in:","enabled":true,"padding":{"mobile":{},"desktop":{}},"fontSize":{"mobile":"12px","desktop":"15px"},"fontFamily":"inherit","fontWeight":"400","lineHeight":{"mobile":"1.3","desktop":"1.3"},"letterSpacing":{"mobile":"0","desktop":"0"},"textTransform":"unset"},{"id":"timer-JWwIddSqaiFs","type":"timer","view":"custom","width":{"mobile":"160px","desktop":"224px"},"border":{"size":"2px","color":"#FFFFFF","enabled":false},"digits":{"gap":"0px","color":"#000000","fontSize":"60px","fontFamily":"inherit","fontWeight":"600"},"labels":{"ms":"ms","days":"days","color":"#000000","hours":"hours","enabled":true,"minutes":"mins","seconds":"secs","fontSize":"24px","fontFamily":"inherit","fontWeight":"500","textTransform":"unset"},"layout":"separate","margin":{"mobile":{},"desktop":{}},"radius":{"value":"16px","enabled":false},"shadow":{"type":"","color":"black","enabled":true},"enabled":true,"padding":{"mobile":{},"desktop":{"top":"0px"}},"fontSize":{"mobile":"14px","desktop":"18px"},"separator":{"type":"colon","color":"#000000","enabled":true},"background":{"blur":"2px","color":"#eeeeee","enabled":false},"unitFormat":"d:h:m:s"},{"id":"button-ZPfjKpoOQsYD","href":"https:\/\/shopify.com","type":"button","label":"Shop now","width":"content","border":{"size":"2px","color":"#000000","enabled":false},"margin":{"mobile":{"top":"0px","left":"0px","right":"0px","bottom":"0px"},"desktop":{"top":"0px","left":"0px","right":"0px","bottom":"0px"}},"radius":{"value":"8px","enabled":true},"target":"_self","enabled":false,"padding":{"mobile":{"top":"8px","left":"12px","right":"12px","bottom":"8px"},"desktop":{"top":"12px","left":"32px","right":"32px","bottom":"12px"}},"fontSize":{"mobile":"12px","desktop":"14px"},"textColor":"#ffffff","background":{"blur":"0px","color":"#000000","enabled":true},"fontFamily":"inherit","fontWeight":"500","letterSpacing":{"mobile":"0","desktop":"0"},"textTransform":"unset"},{"id":"coupon-NaiGTCrsZTsd","code":"PASTE YOUR CODE","icon":{"url":"https:\/\/assets.getsitecontrol.com\/shopify-apps\/shared\/icons\/shopping-discounts\/badge-percent-filled.svg","mask":true,"source":"gallery","enabled":true},"type":"coupon","label":"Save 35%","action":"copy","border":{"size":"1px","color":"#9e9e9e","enabled":true},"margin":{"mobile":{"top":"0px","left":"0px","right":"0px","bottom":"0px"},"desktop":{"top":"0px","left":"0px","right":"0px","bottom":"0px"}},"radius":{"value":"6px","enabled":true},"enabled":false,"padding":{"mobile":{"top":"4px","left":"12px","right":"12px","bottom":"4px"},"desktop":{"top":"8px","left":"16px","right":"16px","bottom":"8px"}},"fontSize":{"mobile":"12px","desktop":"14px"},"textColor":"#000000","background":{"blur":"0px","color":"#eeeeee","enabled":true},"fontFamily":"inherit","fontWeight":"600","textTransform":"uppercase"}],"width":{"mobile":"100%","desktop":"400px"},"border":{"size":"1px","color":"#000000","enabled":false},"layout":"column","margin":{"mobile":{"top":"0px","left":"0px","right":"0px","bottom":"0px"},"desktop":{"top":"0px","left":"0px","right":"0px","bottom":"0px"}},"radius":{"value":"8px","enabled":false},"padding":{"mobile":{"top":"4px","left":"0px","right":"0px","bottom":"4px"},"desktop":{"top":"8px","left":"28px","right":"28px","bottom":"8px"}},"background":{"src":null,"blur":"0px","source":"color","bgColor":"#ffffff","enabled":true,"overlayColor":"rgba(0,0,0,0)"},"backgroundClick":{"url":"","target":"_self","enabled":false}},"enabled":false,"general":{"preset":"bar1","breakpoint":"768px"},"section":null,"version":2,"targeting":{"geo":null,"pages":{"cart":true,"home":true,"other":true,"password":true,"products":{"mode":"all","tags":[],"enabled":true,"specificProducts":[],"productsInCollections":[]},"collections":{"mode":"all","items":[],"enabled":true}}},"productLabel":null}] || []; 1496 1497 if (Array.isArray(window.GSC_COUNTDOWN_WIDGETS)) { 1498 // Embed and inline countdown blocks may load on the same page. Inline 1499 // pushes a single widget keyed by `key`; embed pushes the whole metafield 1500 // array. Dedup by `key` so the same widget isn't duplicated when both 1501 // blocks reference it. Widgets without a key push through (no dedup).
1502 widgets.forEach(function(w) { 1503 if (!w.key || !window.GSC_COUNTDOWN_WIDGETS.find(function(e) { return e.key === w.key; })) { 1504 window.GSC_COUNTDOWN_WIDGETS.push(w); 1505 } 1506 }); 1507 } else { 1508 window.GSC_COUNTDOWN_WIDGETS = widgets; 1509 } 1510 1511 // Stale-metafield guard via theme_store_id (TAE Liquid has `theme.id` 1512 // always null, so the check runs on JS). Mismatch = merchant switched 1513 // theme family after the last backend sync â fall back to runtime 1514 // defaults until re-sync writes a fresh metafield. 1515 1516 1517if (!window.GSC_COUNTDOWN_META) { 1518 window.GSC_COUNTDOWN_META = { 1519 product_tags: ["Best Seller__label"], 1520 storefrontToken:"b4bb2a593b0d5484b4c1382793b16f84", 1521 productData:{ 1522 handle: "hobbs-heirloom-premium-80-20-cotton-poly-wadding-96-x-30-yds", 1523 id: 9708660130073, 1524 tags: ["Best Seller__label"], 1525 collections: ["485828624665"], 1526 available: true, 1527 compareAtPrice: null, 1528 price: 1115, 1529 createdAt: "2024-09-27T12:06:12+0100",selectedVariantId: "49677659701529", 1530 variants: [{ 1531 id: "49677659701529", 1532 available: true,options: {"Length": "Per Metre", 1533} 1534 },{ 1535 id: "49677659734297", 1536 available: true,options: {"Length": "5 Metres", 1537} 1538 },{ 1539 id: "49677659767065", 1540 available: true,options: {"Length": "Full Roll 30 yds", 1541} 1542 }] 1543 }}; 1544 }} catch (e) { 1545 console.log(e); 1546 } 1547 })(); 1548</script>
1548 1549 1550 1551<!-- END app block -->
1551<script src="https://cdn.shopify.com/extensions/01a0f7c3-dc79-7a84-bbec-a0894fd9ef1e/discounty-3.4.5/assets/sdk.js" type="text/javascript" defer="defer"></script>
vendor: 1 bytes, line 1551
1551
1552<script src="https://cdn.shopify.com/extensions/01a0fdff-2b95-7a42-80bb-495e663795ed/forms-2610/assets/shopify-forms-loader.js" type="text/javascript" defer="defer"></script>
vendor: 1 bytes, line 1552
1552
1553<script src="https://cdn.shopify.com/extensions/01a0c927-94a4-7e55-aa1f-28cabdfac692/getsitecontrol-countdown-timer-80/assets/gsc-countdown-widget.js" type="text/javascript" defer="defer"></script>
1553 1554<link href="https://monorail-edge.shopifysvc.com" rel="dns-prefetch">
1555<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: 86748659993,url: window.location.href,navigation_start,duration: currentMs - navigation_start,session_token,page_type: "product"};window.navigator.sendBeacon("https://monorail-edge.shopifysvc.com/v1/produce", JSON.stringify({schema_id: "online_store_buyer_site_abandonment/1.1",payload: payload,metadata: {event_created_at_ms: currentMs,event_sent_at_ms: currentMs}}));}}window.addEventListener('pagehide', handle_abandonment_event);}}());</script>
vendor: 1 bytes, line 1555
1555
1556<script> 1557 window.__TREKKIE_SHIM_QUEUE = window.__TREKKIE_SHIM_QUEUE || []; 1558</script>
vendor: 1 bytes, line 1558
1558
1559<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}
1559).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: 86748659993,storefrontBaseUrl: "https://www.barnyarns.co.uk",extensionsBaseUrl: "https://extensions.shopifycdn.com/cdn/shopifycloud/web-pixels-manager",monorailEndpoint: "https://www.barnyarns.co.uk/.well-known/shopify/monorail/unstable/produce_batch",surface: "storefront-renderer",enabledBetaFlags: ["4c64608a","16072cab","8450a54b","7ee89bf1"],webPixelsConfigList: [{"id":"2461204761","configuration":"{\"mailchimp_store_id\":\"store_i8bolo8x5w14we8h4eis\", \"mailchimp_user_id\":\"170205861\",\"mailchimp_list_id\":\"e3305d09b0\"}","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"]}
1559,{"id":"938934553","configuration":"{\"config\":\"{\\\"google_tag_ids\\\":[\\\"G-M50X9LDFJD\\\"],\\\"gtag_events\\\":[{\\\"type\\\":\\\"begin_checkout\\\",\\\"action_label\\\":\\\"G-M50X9LDFJD\\\"},{\\\"type\\\":\\\"search\\\",\\\"action_label\\\":\\\"G-M50X9LDFJD\\\"},{\\\"type\\\":\\\"remove_from_cart\\\",\\\"action_label\\\":\\\"G-M50X9LDFJD\\\"},{\\\"type\\\":\\\"view_item\\\",\\\"action_label\\\":\\\"G-M50X9LDFJD\\\"},{\\\"type\\\":\\\"add_shipping_info\\\",\\\"action_label\\\":\\\"G-M50X9LDFJD\\\"},{\\\"type\\\":\\\"purchase\\\",\\\"action_label\\\":\\\"G-M50X9LDFJD\\\"},{\\\"type\\\":\\\"page_view\\\",\\\"action_label\\\":\\\"G-M50X9LDFJD\\\"},{\\\"type\\\":\\\"view_item_list\\\",\\\"action_label\\\":\\\"G-M50X9LDFJD\\\"},{\\\"type\\\":\\\"add_payment_info\\\",\\\"action_label\\\":\\\"G-M50X9LDFJD\\\"},{\\\"type\\\":\\\"add_to_cart\\\",\\\"action_label\\\":\\\"G-M50X9LDFJD\\\"},{\\\"type\\\":\\\"view_cart\\\",\\\"action_label\\\":\\\"G-M50X9LDFJD\\\"}],\\\"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":"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":"Barnyarns","paymentSettings":{"currencyCode":"GBP"},"myshopifyDomain":"barnyarns.myshopify.com","countryCode":"GB","storefrontUrl":"https:\/\/www.barnyarns.co.uk"},"customer":null,"cart":null,"checkout":null,"productVariants":[{"price":{"amount":11.15,"currencyCode":"GBP"},"product":{"title":"Hobbs Heirloom Premium 80\/20 Cotton\/Poly Wadding 96\"","vendor":"Hobbs Heirloom","id":"9708660130073","untranslatedTitle":"Hobbs Heirloom Premium 80\/20 Cotton\/Poly Wadding 96\"","url":"\/products\/hobbs-heirloom-premium-80-20-cotton-poly-wadding-96-x-30-yds","type":"Cotton Blend"},"id":"49677659701529","image":{"src":"\/\/www.barnyarns.co.uk\/cdn\/shop\/files\/96-inch-hobbs-heirloom_6a67f231-0af7-4719-893f-83a93c64a21f.jpg?v=1727436540"},"sku":"HLBY96-1","title":"Per Metre","untranslatedTitle":"Per Metre"},{"price":{"amount":53.35,"currencyCode":"GBP"},"product":{"title":"Hobbs Heirloom Premium 80\/20 Cotton\/Poly Wadding 96\"","vendor":"Hobbs Heirloom","id":"9708660130073","untranslatedTitle":"Hobbs Heirloom Premium 80\/20 Cotton\/Poly Wadding 96\"","url":"\/products\/hobbs-heirloom-premium-80-20-cotton-poly-wadding-96-x-30-yds","type":"Cotton Blend"},"id":"49677659734297","image":{"src":"\/\/www.barnyarns.co.uk\/cdn\/shop\/files\/96-inch-hobbs-heirloom_6a67f231-0af7-4719-893f-83a93c64a21f.jpg?v=1727436540"},"sku":"HLBY96-5","title":"5 Metres","untranslatedTitle":"5 Metres"},{"price":{"amount":291.0,"currencyCode":"GBP"},"product":{"title":"Hobbs Heirloom Premium 80\/20 Cotton\/Poly Wadding 96\"","vendor":"Hobbs Heirloom","id":"9708660130073","untranslatedTitle":"Hobbs Heirloom Premium 80\/20 Cotton\/Poly Wadding 96\"","url":"\/products\/hobbs-heirloom-premium-80-20-cotton-poly-wadding-96-x-30-yds","type":"Cotton Blend"},"id":"49677659767065","image":{"src":"\/\/www.barnyarns.co.uk\/cdn\/shop\/files\/96-inch-hobbs-heirloom_6a67f231-0af7-4719-893f-83a93c64a21f.jpg?v=1727436540"},"sku":"HLBY96-R30","title":"Full Roll 30 yds","untranslatedTitle":"Full Roll 30 yds"}],"products":[{"id":"9708660130073","handle":"hobbs-heirloom-premium-80-20-cotton-poly-wadding-96-x-30-yds","isCollective":null,"title":"Hobbs Heirloom Premium 80\/20 Cotton\/Poly Wadding 96\"","type":"Cotton Blend","untranslatedTitle":"Hobbs Heirloom Premium 80\/20 Cotton\/Poly Wadding 96\"","url":"\/products\/hobbs-heirloom-premium-80-20-cotton-poly-wadding-96-x-30-yds","vendor":"Hobbs Heirloom","remoteShopId":null,"variants":[{"id":"49677659701529","image":{"src":"\/\/www.barnyarns.co.uk\/cdn\/shop\/files\/96-inch-hobbs-heirloom_6a67f231-0af7-4719-893f-83a93c64a21f.jpg?v=1727436540"},"price":{"amount":11.15,"currencyCode":"GBP"},"sku":"HLBY96-1","title":"Per Metre","untranslatedTitle":"Per Metre"},{"id":"49677659734297","image":{"src":"\/\/www.barnyarns.co.uk\/cdn\/shop\/files\/96-inch-hobbs-heirloom_6a67f231-0af7-4719-893f-83a93c64a21f.jpg?v=1727436540"},"price":{"amount":53.35,"currencyCode":"GBP"},"sku":"HLBY96-5","title":"5 Metres","untranslatedTitle":"5 Metres"},{"id":"49677659767065","image":{"src":"\/\/www.barnyarns.co.uk\/cdn\/shop\/files\/96-inch-hobbs-heirloom_6a67f231-0af7-4719-893f-83a93c64a21f.jpg?v=1727436540"},"price":{"amount":291.0,"currencyCode":"GBP"},"sku":"HLBY96-R30","title":"Full Roll 30 yds","untranslatedTitle":"Full Roll 30 yds"}]},{"id":"9646759805209","handle":"superior-gold-titanium-topstitch-needles-size-80-12-pack-5","isCollective":null,"title":"Superior Gold Titanium Topstitch Needles Size 80 (12) - Pack 5","type":"Gold Titanium","untranslatedTitle":"Superior Gold Titanium Topstitch Needles Size 80 (12) - Pack 5","url":"\/products\/superior-gold-titanium-topstitch-needles-size-80-12-pack-5","vendor":"Superior Threads","remoteShopId":null,"variants":[{"id":"49479673250073","image":{"src":"\/\/www.barnyarns.co.uk\/cdn\/shop\/files\/EX_DEMO_EX_DISPLAY_OPEN_BOX_-_2026-04-16T163848.850.png?v=1776321553"},"price":{"amount":8.75,"currencyCode":"GBP"},"sku":"NEED-ST-N80","title":"Default Title","untranslatedTitle":"Default Title"}]},{"id":"9584306913561","handle":"karen-kay-buckley-perfect-scissors-7-5-inch","isCollective":null,"title":"Karen Kay Buckley Perfect Scissors 7.5- inch","type":"Scissors","untranslatedTitle":"Karen Kay Buckley Perfect Scissors 7.5- inch","url":"\/products\/karen-kay-buckley-perfect-scissors-7-5-inch","vendor":"Karen Kay Buckley","remoteShopId":null,"variants":[{"id":"49273133334809","image":{"src":"\/\/www.barnyarns.co.uk\/cdn\/shop\/files\/71y0GhOKB8L._AC_SL1500.jpg?v=1720517183"},"price":{"amount":31.95,"currencyCode":"GBP"},"sku":"KKBPSL","title":"Default Title","untranslatedTitle":"Default Title"}]},{"id":"9584306979097","handle":"karen-kay-buckley-perfect-scissors-micro-serrated-blade-6-inch","isCollective":null,"title":"Karen Kay Buckley Perfect Scissors micro-serrated blade 6-inch","type":"Scissors","untranslatedTitle":"Karen Kay Buckley Perfect Scissors micro-serrated blade 6-inch","url":"\/products\/karen-kay-buckley-perfect-scissors-micro-serrated-blade-6-inch","vendor":"Karen Kay Buckley","remoteShopId":null,"variants":[{"id":"49273133400345","image":{"src":"\/\/www.barnyarns.co.uk\/cdn\/shop\/files\/71jfgCo3dVL._AC_SL1500.jpg?v=1720517185"},"price":{"amount":29.95,"currencyCode":"GBP"},"sku":"KKBPSM","title":"Default Title","untranslatedTitle":"Default Title"}]},{"id":"9440702267673","handle":"superior-bottomline-623-silver-1420yd","isCollective":null,"title":"Superior Bottomline 623 Silver 1420yd","type":"Superior Bottomline 60 1420yd Reel","untranslatedTitle":"Superior Bottomline 623 Silver 1420yd","url":"\/products\/superior-bottomline-623-silver-1420yd","vendor":"Superior Threads","remoteShopId":null,"variants":[{"id":"48900288217369","image":{"src":"\/\/www.barnyarns.co.uk\/cdn\/shop\/files\/EXDEMOEXDISPLAYOPENBOX-2026-02-02T145535.317.png?v=1770045291"},"price":{"amount":7.95,"currencyCode":"GBP"}
1559,"sku":"BL623","title":"Default Title","untranslatedTitle":"Default Title"}]},{"id":"9584296689945","handle":"blades-barnyarns-45mm-rotary-blades-pack-2-olfa-fiskars-dafa","isCollective":null,"title":"Barnyarns 45mm Rotary Blades - Pack 2 (Olfa, Fiskars Dafa)","type":"Rotary Blades","untranslatedTitle":"Barnyarns 45mm Rotary Blades - Pack 2 (Olfa, Fiskars Dafa)","url":"\/products\/blades-barnyarns-45mm-rotary-blades-pack-2-olfa-fiskars-dafa","vendor":"Barnyarns","remoteShopId":null,"variants":[{"id":"50613311144217","image":{"src":"\/\/www.barnyarns.co.uk\/cdn\/shop\/files\/s-l500_1.jpg?v=1720516721"},"price":{"amount":4.45,"currencyCode":"GBP"},"sku":"BLADE45-1","title":"1 Pack (2 Blades)","untranslatedTitle":"1 Pack (2 Blades)"}]},{"id":"9748963787033","handle":"aurifil-necessities-neutral-collection-set-of-4-x-aurifil-50-1300m-reel","isCollective":null,"title":"Aurifil Necessities Neutral Collection Set of 4 x Aurifil 50 1300m Reel","type":null,"untranslatedTitle":"Aurifil Necessities Neutral Collection Set of 4 x Aurifil 50 1300m Reel","url":"\/products\/aurifil-necessities-neutral-collection-set-of-4-x-aurifil-50-1300m-reel","vendor":"Barnyarns","remoteShopId":null,"variants":[{"id":"49885273587993","image":{"src":"\/\/www.barnyarns.co.uk\/cdn\/shop\/files\/71ZL-7Tl44L._AC_SL1500.jpg?v=1732701949"},"price":{"amount":39.95,"currencyCode":"GBP"},"sku":"AC50NC4-NEC","title":"Default Title","untranslatedTitle":"Default Title"}]}],"purchasingCompany":null},},"https://www.barnyarns.co.uk/cdn","5982071ew7ea472e3p69b68784m2150dfea",{"modern":"","legacy":""},{"trekkieShim":true,"agentContext":true,"apiClientId":"580111","facebookCapiEnabled":"false","themeId":"166382338329","themePublished":"true","eventMetadataId":"36a9b402-f293-4beb-badf-22ddd61e9161","pageType":"product","resourceId":"9708660130073","shopId":"86748659993","storefrontBaseUrl":"https:\/\/www.barnyarns.co.uk","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\",{}],[\"product_viewed\",{\"productVariant\":{\"price\":{\"amount\":11.15,\"currencyCode\":\"GBP\"},\"product\":{\"title\":\"Hobbs Heirloom Premium 80\/20 Cotton\/Poly Wadding 96\\\"\",\"vendor\":\"Hobbs Heirloom\",\"id\":\"9708660130073\",\"untranslatedTitle\":\"Hobbs Heirloom Premium 80\/20 Cotton\/Poly Wadding 96\\\"\",\"url\":\"\/products\/hobbs-heirloom-premium-80-20-cotton-poly-wadding-96-x-30-yds\",\"type\":\"Cotton Blend\"},\"id\":\"49677659701529\",\"image\":{\"src\":\"\/\/www.barnyarns.co.uk\/cdn\/shop\/files\/96-inch-hobbs-heirloom_6a67f231-0af7-4719-893f-83a93c64a21f.jpg?v=1727436540\"},\"sku\":\"HLBY96-1\",\"title\":\"Per Metre\",\"untranslatedTitle\":\"Per Metre\"}}]]"});})();</script>
1559<script> 1560 window.ShopifyAnalytics = window.ShopifyAnalytics || {}; 1561 window.ShopifyAnalytics.meta = window.ShopifyAnalytics.meta || {}; 1562 window.ShopifyAnalytics.meta.currency = 'GBP'; 1563 var meta = {"product":{"id":9708660130073,"gid":"gid:\/\/shopify\/Product\/9708660130073","vendor":"Hobbs Heirloom","type":"Cotton Blend","handle":"hobbs-heirloom-premium-80-20-cotton-poly-wadding-96-x-30-yds","variants":[{"id":49677659701529,"price":1115,"name":"Hobbs Heirloom Premium 80\/20 Cotton\/Poly Wadding 96\" - Per Metre","public_title":"Per Metre","sku":"HLBY96-1"},{"id":49677659734297,"price":5335,"name":"Hobbs Heirloom Premium 80\/20 Cotton\/Poly Wadding 96\" - 5 Metres","public_title":"5 Metres","sku":"HLBY96-5"},{"id":49677659767065,"price":29100,"name":"Hobbs Heirloom Premium 80\/20 Cotton\/Poly Wadding 96\" - Full Roll 30 yds","public_title":"Full Roll 30 yds","sku":"HLBY96-R30"}],"remote":false},"page":{"pageType":"product","resourceType":"product","resourceId":9708660130073,"requestId":"14576417-2c55-4f83-9621-45f873917f93-1791073685"}}; 1564 for (var attr in meta) { 1565 window.ShopifyAnalytics.meta[attr] = meta[attr]; 1566 } 1567</script>
vendor: 1 bytes, line 1567
1567
1568<script class="analytics"> 1569 (function () { 1570 var customDocumentWrite = function(content) { 1571 var jquery = null; 1572 1573 if (window.jQuery) { 1574 jquery = window.jQuery; 1575 } else if (window.Checkout && window.Checkout.$) { 1576 jquery = window.Checkout.$; 1577 } 1578 1579 if (jquery) { 1580 jquery('body').append(content); 1581 } 1582 }; 1583 1584 var hasLoggedConversion = function(token) { 1585 if (token) { 1586 return document.cookie.indexOf('loggedConversion=' + token) !== -1; 1587 } 1588 return false; 1589 } 1590 1591 var setCookieIfConversion = function(token) { 1592 if (token) { 1593 var twoMonthsFromNow = new Date(Date.now()); 1594 twoMonthsFromNow.setMonth(twoMonthsFromNow.getMonth() + 2); 1595 1596 document.cookie = 'loggedConversion=' + token + '; expires=' + twoMonthsFromNow; 1597 } 1598 } 1599 1600 var trekkie = window.ShopifyAnalytics.lib = window.trekkie = window.trekkie || []; 1601 window.ShopifyAnalytics.lib.trekkie = window.trekkie; 1602 if (trekkie.integrations) { 1603 return; 1604 } 1605 trekkie.methods = [ 1606 'identify', 1607 'page', 1608 'ready', 1609 'track', 1610 'trackForm', 1611 'trackLink' 1612 ]; 1613 trekkie.factory = function(method) { 1614 return function() { 1615 var args = Array.prototype.slice.call(arguments); 1616 args.unshift(method); 1617 trekkie.push(args); 1618 if (method == 'track' || method == 'page') { 1619 var pageUrl; 1620 try { 1621 pageUrl = window.location.href; 1622 } catch (e) {} 1623 var pageReferrer; 1624 try { 1625 pageReferrer = document.referrer; 1626 } catch (e) {} 1627 try { 1628 if (window.__TREKKIE_SHIM_QUEUE == null) { 1629 window.__TREKKIE_SHIM_QUEUE = []; 1630 } 1631 window.__TREKKIE_SHIM_QUEUE.push({ 1632 from: 'trekkie-stub', 1633 method: method, 1634 args: args.slice(1), 1635 pageContext: { 1636 url: pageUrl, 1637 referrer: pageReferrer 1638 } 1639 }); 1640 } catch (e) { 1641 // no-op 1642 } 1643 } 1644 return trekkie; 1645 }; 1646 }; 1647 for (var i = 0; i < trekkie.methods.length; i++) { 1648 var key = trekkie.methods[i]; 1649 trekkie[key] = trekkie.factory(key); 1650 } 1651 trekkie.load = function(config) { 1652 trekkie.config = config || {}; 1653 trekkie.config.initialDocumentCookie = document.cookie; 1654 var first = document.getElementsByTagName('script')[0]; 1655var script = document.createElement('script'); 1656script.type = 'text/javascript'; 1657script.onerror = function(e) { 1658 var scriptFallback = document.createElement('script'); 1659 scriptFallback.type = 'text/javascript'; 1660 scriptFallback.onerror = function(error) { 1661 var Monorail = { 1662 produce: function produce(monorailDomain, schemaId, payload) { 1663 var currentMs = new Date().getTime(); 1664 var event = { 1665 schema_id: schemaId, 1666 payload: payload, 1667 metadata: { 1668 event_created_at_ms: currentMs, 1669 event_sent_at_ms: currentMs 1670 } 1671 }; 1672 return Monorail.sendRequest("https://" + monorailDomain + "/v1/produce", JSON.stringify(event)); 1673 }, 1674 sendRequest: function sendRequest(endpointUrl, payload) { 1675 // Try the sendBeacon API 1676 if (window && window.navigator && typeof window.navigator.sendBeacon === 'function' && typeof window.Blob === 'function' && !Monorail.isIos12()) { 1677 var blobData = new window.Blob([payload], { 1678 type: 'text/plain' 1679 }); 1680 1681 if (window.navigator.sendBeacon(endpointUrl, blobData)) { 1682 return true; 1683 } // sendBeacon was not successful 1684 1685 } // XHR beacon 1686 1687 var xhr = new XMLHttpRequest(); 1688 1689 try { 1690 xhr.open('POST', endpointUrl); 1691 xhr.setRequestHeader('Content-Type', 'text/plain'); 1692 xhr.send(payload); 1693 } catch (e) { 1694 console.log(e); 1695 } 1696 1697 return false; 1698 }, 1699 isIos12: function isIos12() { 1700 return window.navigator.userAgent.lastIndexOf('iPhone; CPU iPhone OS 12_') !== -1 || window.navigator.userAgent.lastIndexOf('iPad; CPU OS 12_') !== -1; 1701 } 1702 }; 1703 Monorail.produce('monorail-edge.shopifysvc.com', 1704 'trekkie_storefront_load_errors/1.1', 1705 {shop_id: 86748659993, 1706 theme_id: 166382338329, 1707 app_name: "storefront", 1708 context_url: window.location.href, 1709 source_url: "//www.barnyarns.co.uk/cdn/s/trekkie.storefront.2f6d7d7ede7d24234881a9cd5f47e679642fa1f6.min.js"}); 1710 1711 }; 1712 scriptFallback.async = true; 1713 scriptFallback.src = '//www.barnyarns.co.uk/cdn/s/trekkie.storefront.2f6d7d7ede7d24234881a9cd5f47e679642fa1f6.min.js'; 1714 first.parentNode.insertBefore(scriptFallback, first); 1715}; 1716script.async = true; 1717script.src = '//www.barnyarns.co.uk/cdn/s/trekkie.storefront.2f6d7d7ede7d24234881a9cd5f47e679642fa1f6.min.js'; 1718first.parentNode.insertBefore(script, first); 1719 1720 }; 1721 trekkie.load( 1722 {"Trekkie":{"appName":"storefront","development":false,"defaultAttributes":{"shopId":86748659993,"isMerchantRequest":null,"themeId":166382338329,"themeCityHash":"17507643279376502734","contentLanguage":"en","currency":"GBP","eventMetadataId":"36a9b402-f293-4beb-badf-22ddd61e9161"},"isServerSideCookieWritingEnabled":true,"monorailRegion":"shop_domain","enabledBetaFlags":["764d78cb","8450a54b","7ee89bf1","4c64608a"]},"Session Attribution":{},"S2S":{"facebookCapiEnabled":false,"source":"trekkie-storefront-renderer","apiClientId":580111}} 1723 ); 1724 1725 var loaded = false;
1726 trekkie.ready(function() { 1727 if (loaded) return; 1728 loaded = true; 1729 1730 window.ShopifyAnalytics.lib = window.trekkie; 1731 1732 var originalDocumentWrite = document.write; 1733 document.write = customDocumentWrite; 1734 try { window.ShopifyAnalytics.merchantGoogleAnalytics.call(this); } catch(error) {}; 1735 document.write = originalDocumentWrite; 1736 1737 var match = window.location.pathname.match(/checkouts\/(.+)\/(thank_you|post_purchase)/) 1738 var token = match? match[1]: undefined; 1739 if (!hasLoggedConversion(token)) { 1740 setCookieIfConversion(token); 1741 window.ShopifyAnalytics.lib.track("Viewed Product",{"currency":"GBP","variantId":49677659701529,"productId":9708660130073,"productGid":"gid:\/\/shopify\/Product\/9708660130073","name":"Hobbs Heirloom Premium 80\/20 Cotton\/Poly Wadding 96\" - Per Metre","price":"11.15","sku":"HLBY96-1","brand":"Hobbs Heirloom","variant":"Per Metre","category":"Cotton Blend","nonInteraction":true,"remote":false,"available":true},undefined,undefined,{"shopifyEmitted":true}); 1742 } 1743 }); 1744 1745 window.ShopifyAnalytics.lib.page(null,{"pageType":"product","resourceType":"product","resourceId":9708660130073,"requestId":"14576417-2c55-4f83-9621-45f873917f93-1791073685","shopifyEmitted":true}); 1746 1747 var eventsListenerScript = document.createElement('script'); 1748 eventsListenerScript.async = true; 1749 eventsListenerScript.src = "//www.barnyarns.co.uk/cdn/shopifycloud/storefront/assets/shop_events_listener-4e26a9ce.js"; 1750 document.getElementsByTagName('head')[0].appendChild(eventsListenerScript); 1751})();</script>
vendor: 1 bytes, line 1751
1751
1752<script 1753 defer 1754 src="https://www.barnyarns.co.uk/cdn/shopifycloud/perf-kit/shopify-perf-kit-3.9.4.min.js" 1755 data-application="storefront-renderer" 1756 data-shop-id="86748659993" 1757 data-render-region="gcp-us-central1" 1758 data-page-type="product" 1759 data-theme-instance-id="166382338329" 1760 data-theme-name="Barnyarns" 1761 data-theme-version="1.0.1" 1762 data-monorail-region="shop_domain" 1763 data-resource-timing-sampling-rate="10" 1764 data-shs="true" 1765 data-shs-beacon="true" 1766 data-shs-export-with-fetch="true" 1767 data-shs-logs-sample-rate="1" 1768 data-shs-beacon-endpoint="https://www.barnyarns.co.uk/api/collect" 1769></script>
1769 1770<meta name="shopify-y" content="b61e7122-e8f5-47e6-9a53-32f9f6ab58db" data-expiration="1822631285000"><meta name="shopify-s" content="46597ac3-b641-47fa-aa39-6ad36aab24ed" data-expiration="1791075485000"><meta name="new-cookie-storage-activated" content="t"> 1771</head> 1772 1773 <body class="product"> 1774 <!--[if IE]> 1775 <p class="browserupgrade">You are using an <strong>outdated</strong> browser. Please <a href="https://browsehappy.com/">upgrade your browser</a> to improve your experience and security.</p> 1776 <![endif]--> 1777 1778 <div id="page"> 1779 <a class="skip-to-content-link hidden" href="#main-content">Skip to text</a> 1780 <main id="main-content" class="content-for-layout focus-none body-content" role="main" tabindex="-1"> 1781 <div id="shopify-section-announcement-bar" class="shopify-section section shopify-section shopify-section-vue vue-section"> 1782</div> 1783 <div id="shopify-section-header" class="shopify-section shopify-section--header section shopify-section shopify-section-vue vue-section"><div class="meta-navigation hidden md:block bg-slate-100 p-1 text-xs font-bold px-4 sm:px-6"> 1784 <ul class="flex justify-end gap-8 mx-auto max-w-screen-2xl"> 1785 1786 <li><a href="https://www.barnyarns.co.uk/a/blog" id="blog-news" title="Blog & News" class="">Blog & News</a></li> 1787 1788 <li><a href="/policies/shipping-policy" id="shipping-policy" title="Shipping Policy" class="">Shipping Policy</a></li> 1789 1790 <li><a href="/policies/refund-policy" id="refund-policy" title="Refund Policy" class="">Refund Policy</a></li> 1791 1792 <li><a href="/policies/terms-of-service" id="terms-of-service" title="Terms of Service" class="">Terms of Service</a></li> 1793 1794 </ul> 1795</div> 1796 1797<header class="section-header"> 1798 <div class="navigation-wrapper w-full bg-white" style=""> 1799 <navigation-navigation cart-item-count="0" customer-enabled="true" v-slot="{onOpenSearch, 1800 onOpenCart, onOpenMobileNav, modalState, customerEnabled, userIcon, shoppingBagIcon, itemCount}" 1801 class="navigation-container relative"> 1802 1803 <div class="flex items-center justify-between flex-wrap gap-x-6 py-4 mx-auto max-w-screen-2xl px-4 sm:px-6"> 1804 <div class="icon-link--mobile lg:hidden"> 1805 <button type="button" class="bg-white text-center" @click="onOpenMobileNav"> 1806 <svg role="presentation" clip-rule="evenodd" fill-rule="evenodd" stroke-linejoin="round" stroke-miterlimit="2" viewBox="0 0 24 24" class="icon icon--hamburger mx-auto h-7 w-7 stroke-2 text-gray-500" aria-hidden="true"><path d="m22 16.75c0-.414-.336-.75-.75-.75h-18.5c-.414 0-.75.336-.75.75s.336.75.75.75h18.5c.414 0 .75-.336.75-.75zm0-5c0-.414-.336-.75-.75-.75h-18.5c-.414 0-.75.336-.75.75s.336.75.75.75h18.5c.414 0 .75-.336.75-.75zm0-5c0-.414-.336-.75-.75-.75h-18.5c-.414 0-.75.336-.75.75s.336.75.75.75h18.5c.414 0 .75-.336.75-.75z" fill-rule="nonzero"/></svg> 1807 <span class="sr-only">Open menu</span> 1808 <span class="mt-1 block text-xs text-gray-500">Menu</span> 1809 </button> 1810 </div> 1811 1812 <div class="lg:order-0"><a href="/" class="header__heading-link link link--text focus-inset mx-auto xl:mx-0"> 1813 <span class="sr-only">Barnyarns</span><div class="header__heading-logo-wrapper"> 1814 1815 <img src="//www.barnyarns.co.uk/cdn/shop/files/barnyarns-logo.svg?v=1710329502&width=600" alt="Barnyarns" srcset="//www.barnyarns.co.uk/cdn/shop/files/barnyarns-logo.svg?v=1710329502&width=180 180w, //www.barnyarns.co.uk/cdn/shop/files/barnyarns-logo.svg?v=1710329502&width=270 270w, //www.barnyarns.co.uk/cdn/shop/files/barnyarns-logo.svg?v=1710329502&width=360 360w" width="180" height="41.53846153846154" loading="eager" class="header__heading-logo motion-reduce lazyload" sizes="(max-width: 360px) 50vw, 180px"> 1816 </div></a> 1817</div> 1818 1819 <div class="icon-links flex justify-end gap-x-6 lg:order-2"> 1820 <!-- Account --> 1821 <div class="icon-link hidden md:flex lg:flex-1 lg:items-center lg:justify-end lg:space-x-6" v-if="customerEnabled"> 1822 <a href="https://www.barnyarns.co.uk/customer_authentication/redirect?locale=en®ion_country=GB" class="group flex items-center gap-x-1"><svg viewBox="0 0 24 24" class="icon icon--account h-5 w-5 shrink-0 text-black group-hover:text-gray-500" role="presentation" aria-hidden="true"><path d="M12 0c-6.627 0-12 5.373-12 12s5.373 12 12 12 12-5.373 12-12-5.373-12-12-12zm7.753 18.305c-.261-.586-.789-.991-1.871-1.241-2.293-.529-4.428-.993-3.393-2.945 3.145-5.942.833-9.119-2.489-9.119-3.388 0-5.644 3.299-2.489 9.119 1.066 1.964-1.148 2.427-3.393 2.945-1.084.25-1.608.658-1.867 1.246-1.405-1.723-2.251-3.919-2.251-6.31 0-5.514 4.486-10 10-10s10 4.486 10 10c0 2.389-.845 4.583-2.247 6.305z"/></svg>
1823 <span class="sr-only">Sign In or Create Account</span><span class="text-xs text-gray-500 font-bold">My Account</span> 1824 </a> 1825 </div> 1826 1827 <!-- Cart --> 1828 <div class="icon-link relative" @click.prevent="onOpenCart"> 1829 <a href="#" class="group flex items-center gap-x-1"> 1830 <svg class="icon icon--cart-desktop h-5 w-5 flex-shrink-0 text-black group-hover:text-gray-500" role="presentation" viewBox="0 0 19 23"> 1831 <path d="M0 22.985V5.995L2 6v.03l17-.014v16.968H0zm17-15H2v13h15v-13zm-5-2.882c0-2.04-.493-3.203-2.5-3.203-2 0-2.5 1.164-2.5 3.203v.912H5V4.647C5 1.19 7.274 0 9.5 0 11.517 0 14 1.354 14 4.647v1.368h-2v-.912z" fill="currentColor"></path> 1832 </svg> 1833 <span 1834 v-if="itemCount > 0" v-text="itemCount" 1835 class="icon-cart-count h-4 w-4 rounded-full text-white flex items-center justify-center text-xs absolute -top-1 -left-2 group-hover:bg-primary-900"></span> 1836 <span class="sr-only">You have ${itemCount} in your basket, view basket</span> 1837 <span class="text-xs text-gray-500 font-bold">Basket</span> 1838 </a> 1839 </div> 1840 </div><!-- /.icon-links --> 1841 1842 <div class="search-header w-full my-4 lg:my-0 lg:w-auto lg:flex-1 lg:order-1"> 1843 <form action="/search" class="flex items-center justify-center gap-x-6"> 1844 <search-header></search-header> 1845 <div class="hidden md:block text-xs pt-1.5 text-nowrap lg:text-sm shrink-0 richtext !gap-y-0 !leading-3"> 1846 <p>Call us today</p><h6><strong>01765 690069</strong></h6> 1847 </div> 1848</form> 1849 1850 </div><!-- /.search-header --> 1851 </div> 1852 1853 <navigation-desktop class="navigation-background hidden items-center justify-center w-full gap-x-8 px-6 lg:order-3 lg:flex navigation-container__desktop"> 1854 1855 1856 <navigation-desktop-items id="thread" name="Thread" url="/collections/thread" :active="false" :childactive="false"> 1857 <template #collection> 1858 1859 <navigation-desktop-collection id="madeira-threads" name="Madeira Threads" url="/collections/madeira" :active="false" :childactive="false"> 1860 1861 1862 <li class="flex"> 1863 <a href="https://www.barnyarns.co.uk/collections/madeira-classic-40-1000m-cone" class="hover:text-gray-800 hover:underline "> 1864 Madeira Classic 40 1000m Cone 1865 </a> 1866 </li> 1867 1868 1869 <li class="flex"> 1870 <a href="https://www.barnyarns.co.uk/collections/madeira-classic-40-5000m-cone" class="hover:text-gray-800 hover:underline "> 1871 Madeira Classic 40 5000m Cone 1872 </a> 1873 </li> 1874 1875 1876 <li class="flex"> 1877 <a href="https://www.barnyarns.co.uk/collections/madeira-polyneon-40-1000m-cone" class="hover:text-gray-800 hover:underline "> 1878 Madeira Polyneon 40 1000m Cone 1879 </a> 1880 </li> 1881 1882 1883 <li class="flex"> 1884 <a href="/collections/madeira-6-strand-cotton-440m-cone" class="hover:text-gray-800 hover:underline "> 1885 Madeira 6 Strand Cotton 440m Cone 1886 </a> 1887 </li> 1888 1889 1890 <li class="flex"> 1891 <a href="/collections/madeira-aerofil-120-100m-reel" class="hover:text-gray-800 hover:underline "> 1892 Madeira Aerofil 120 100m Reel 1893 </a> 1894 </li> 1895 1896 1897 <li class="flex"> 1898 <a href="/collections/madeira-underthread" class="hover:text-gray-800 hover:underline "> 1899 Madeira Underthread 1900 </a> 1901 </li> 1902 1903 1904 <li class="flex"> 1905 <a href="/collections/madeira" class="hover:text-gray-800 hover:underline font-bold underline text-sm"> 1906 Shop All 1907 </a> 1908 </li> 1909 1910 </navigation-desktop-collection> 1911 1912 <navigation-desktop-collection id="superior-threads" name="Superior Threads" url="/collections/superior-threads" :active="false" :childactive="false"> 1913 1914 1915 <li class="flex"> 1916 <a href="/collections/superior-bottomline-60-1420yd-reel" class="hover:text-gray-800 hover:underline "> 1917 Superior Bottomline 60 1420yd Reel 1918 </a> 1919 </li> 1920 1921 1922 <li class="flex"> 1923 <a href="https://www.barnyarns.co.uk/collections/superior-king-tut-500yd-reel" class="hover:text-gray-800 hover:underline "> 1924 Superior King Tut 40 500yd Reel 1925 </a> 1926 </li> 1927 1928 1929 <li class="flex"> 1930 <a href="https://www.barnyarns.co.uk/collections/superior-kimono-silk-220yd-reel" class="hover:text-gray-800 hover:underline "> 1931 Superior Kimono Silk 220yd Reel 1932 </a> 1933 </li> 1934 1935 1936 <li class="flex"> 1937 <a href="https://www.barnyarns.co.uk/collections/superior-so-fine-550yd-reel" class="hover:text-gray-800 hover:underline "> 1938 Superior So Fine 550yd Reel 1939 </a> 1940 </li> 1941 1942 1943 <li class="flex"> 1944 <a href="/collections/superior-fantastico-500yd-reel" class="hover:text-gray-800 hover:underline "> 1945 Superior Fantastico 500yd Reel 1946 </a> 1947 </li> 1948 1949 1950 <li class="flex"> 1951 <a href="/collections/superior-threads" class="hover:text-gray-800 hover:underline font-bold underline text-sm"> 1952 Shop All 1953 </a> 1954 </li> 1955 1956 </navigation-desktop-collection> 1957 1958 <navigation-desktop-collection id="aurifil-threads" name="Aurifil Threads" url="/collections/aurifil-thread" :active="false" :childactive="false"> 1959 1960 1961 <li class="flex"> 1962 <a href="/collections/aurifil-50-1300m-reel" class="hover:text-gray-800 hover:underline "> 1963 Aurifil 50 1300m Reel 1964 </a> 1965 </li> 1966 1967 1968 <li class="flex"> 1969 <a href="/collections/aurifil-40-1000m-reel" class="hover:text-gray-800 hover:underline "> 1970 Aurifil 40 1000m Reel 1971 </a> 1972 </li> 1973 1974 1975 <li class="flex"> 1976 <a href="/collections/aurifil-28-750m-reel" class="hover:text-gray-800 hover:underline "> 1977 Aurifil 28 750m Reel 1978 </a> 1979 </li> 1980 1981 1982 <li class="flex"> 1983 <a href="/collections/aurifil-12-50m-reel" class="hover:text-gray-800 hover:underline "> 1984 Aurifil 12 50m Reel 1985 </a> 1986 </li> 1987 1988 1989 <li class="flex"> 1990 <a href="/collections/aurifil-thread" class="hover:text-gray-800 hover:underline font-bold underline text-sm"> 1991 Shop All 1992 </a> 1993 </li> 1994 1995 </navigation-desktop-collection> 1996 1997 <navigation-desktop-collection id="gutermann-threads" name="Gutermann Threads" url="/collections/gutermann" :active="false" :childactive="false"> 1998 1999 2000 <li class="flex"> 2001 <a href="/collections/gutermann-cotton-100m-reel" class="hover:text-gray-800 hover:underline "> 2002 Gutermann Cotton 100m Reel 2003 </a> 2004 </li> 2005 2006 2007 <li class="flex"> 2008 <a href="https://www.barnyarns.co.uk/collections/gutermann-cotton-800m-reel" class="hover:text-gray-800 hover:underline "> 2009 Gutermann Cotton 800m Reel 2010 </a> 2011 </li> 2012 2013 2014 <li class="flex"> 2015 <a href="https://www.barnyarns.co.uk/collections/gutermann-sew-all-100m-reel" class="hover:text-gray-800 hover:underline "> 2016 Gutermann Sew All 100m Reel 2017 </a> 2018 </li> 2019 2020 2021 <li class="flex"> 2022 <a href="https://www.barnyarns.co.uk/collections/gutermann-sew-all-1000m-reel" class="hover:text-gray-800 hover:underline "> 2023 Gutermann Sew All 1000m Reel 2024 </a> 2025 </li> 2026 2027 2028 <li class="flex"> 2029 <a href="https://www.barnyarns.co.uk/collections/gutermann-maraflex-150m-reel" class="hover:text-gray-800 hover:underline "> 2030 Gutermann Maraflex 150m Reel 2031 </a> 2032 </li> 2033 2034 2035 <li class="flex"> 2036 <a href="/collections/gutermann" class="hover:text-gray-800 hover:underline font-bold underline text-sm"> 2037 Shop All 2038 </a> 2039 </li> 2040 2041 </navigation-desktop-collection> 2042 2043 <navigation-desktop-collection id="isacord-threads" name="Isacord Threads" url="/collections/isacord" :active="false" :childactive="false"> 2044 2045 2046 <li class="flex"> 2047 <a href="/collections/isacord-1000m-cone" class="hover:text-gray-800 hover:underline "> 2048 Isacord 1000m Cone 2049 </a> 2050 </li> 2051 2052 2053 <li class="flex"> 2054 <a href="/collections/isacord-5000m-cone" class="hover:text-gray-800 hover:underline "> 2055 Isacord 5000m Cone 2056 </a> 2057 </li> 2058 2059 2060 <li class="flex"> 2061 <a href="/collections/isacord" class="hover:text-gray-800 hover:underline font-bold underline text-sm"> 2062 Shop All 2063 </a> 2064 </li> 2065 2066 </navigation-desktop-collection> 2067 2068 <navigation-desktop-collection id="dmc" name="DMC" url="/collections/dmc" :active="false" :childactive="false"> 2069 2070 2071 <li class="flex"> 2072 <a href="/collections/dmc-mouline-6-strand-cotton-8m-skein" class="hover:text-gray-800 hover:underline ">
2073 DMC Mouline 6 Strand Cotton 8m Skein 2074 </a> 2075 </li> 2076 2077 2078 <li class="flex"> 2079 <a href="/collections/dmc" class="hover:text-gray-800 hover:underline font-bold underline text-sm"> 2080 Shop All 2081 </a> 2082 </li> 2083 2084 </navigation-desktop-collection> 2085 2086 <navigation-desktop-collection id="anchor" name="Anchor" url="/collections/anchor" :active="false" :childactive="false"> 2087 2088 2089 <li class="flex"> 2090 <a href="/collections/anchor-6-strand-cotton-8m-pack" class="hover:text-gray-800 hover:underline "> 2091 Anchor 6 Strand Cotton 8m Pack 2092 </a> 2093 </li> 2094 2095 2096 <li class="flex"> 2097 <a href="/collections/anchor-tapestry-wool-10m-skein" class="hover:text-gray-800 hover:underline "> 2098 Anchor Tapestry Wool 2099 </a> 2100 </li> 2101 2102 2103 <li class="flex"> 2104 <a href="/collections/anchor" class="hover:text-gray-800 hover:underline font-bold underline text-sm"> 2105 Shop All 2106 </a> 2107 </li> 2108 2109 </navigation-desktop-collection> 2110 2111 <navigation-desktop-collection id="gifts-sets" name="Gifts & Sets" url="/collections/madeira-gift-boxes" :active="false" :childactive="false"> 2112 2113 2114 <li class="flex"> 2115 <a href="/collections/starter-sets" class="hover:text-gray-800 hover:underline "> 2116 Starter Sets 2117 </a> 2118 </li> 2119 2120 2121 <li class="flex"> 2122 <a href="/collections/thread-sets-small" class="hover:text-gray-800 hover:underline "> 2123 Thread Sets (Small) 2124 </a> 2125 </li> 2126 2127 2128 <li class="flex"> 2129 <a href="/collections/thread-sets-large" class="hover:text-gray-800 hover:underline "> 2130 Thread Sets (Large) 2131 </a> 2132 </li> 2133 2134 </navigation-desktop-collection> 2135 2136 </template> 2137 </navigation-desktop-items> 2138 2139 2140 2141 <navigation-desktop-items id="sewing-machine-needles" name="Sewing Machine Needles" url="/collections/sewing-machine-needles" :active="false" :childactive="false"> 2142 <template #collection> 2143 2144 <navigation-desktop-collection id="superior-titanium-needles" name="Superior Titanium Needles" url="https://www.barnyarns.co.uk/collections/gold-titanium" :active="false" :childactive="false"> 2145 2146 2147 <li class="flex"> 2148 <a href="https://www.barnyarns.co.uk/collections/gold-titanium/products/superior-gold-titanium-topstitch-needles-size-70-10-pack-5" class="hover:text-gray-800 hover:underline "> 2149 Superior Titanium Topstitch Needles Size 70 (10) 2150 </a> 2151 </li> 2152 2153 2154 <li class="flex"> 2155 <a href="https://www.barnyarns.co.uk/collections/gold-titanium/products/superior-gold-titanium-topstitch-needles-size-80-12-pack-5" class="hover:text-gray-800 hover:underline "> 2156 Superior Titanium Topstitch Needles Size 80 (12) 2157 </a> 2158 </li> 2159 2160 2161 <li class="flex"> 2162 <a href="https://www.barnyarns.co.uk/collections/gold-titanium/products/superior-gold-titanium-topstitch-needles-size-90-14-pack-5" class="hover:text-gray-800 hover:underline "> 2163 Superior Titanium Topstitch Needles Size 90 (14) 2164 </a> 2165 </li> 2166 2167 2168 <li class="flex"> 2169 <a href="https://www.barnyarns.co.uk/collections/gold-titanium?sort_by=best-selling" class="hover:text-gray-800 hover:underline font-bold underline text-sm"> 2170 Shop All 2171 </a> 2172 </li> 2173 2174 </navigation-desktop-collection> 2175 2176 <navigation-desktop-collection id="universal-needles" name="Universal Needles " url="https://www.barnyarns.co.uk/collections/universal-needles" :active="false" :childactive="false"> 2177 2178 2179 <li class="flex"> 2180 <a href="https://www.barnyarns.co.uk/collections/universal-needles/products/schmetz-universal-needle-size-70-10" class="hover:text-gray-800 hover:underline "> 2181 Schmetz Universal Needle - Size 70 (10) 2182 </a> 2183 </li> 2184 2185 2186 <li class="flex"> 2187 <a href="https://www.barnyarns.co.uk/collections/universal-needles/products/schmetz-universal-needle-size-80-12" class="hover:text-gray-800 hover:underline "> 2188 Schmetz Universal Needle - Size 80 (12) 2189 </a> 2190 </li> 2191 2192 2193 <li class="flex"> 2194 <a href="https://www.barnyarns.co.uk/collections/universal-needles/products/schmetz-universal-needle-size-90-14" class="hover:text-gray-800 hover:underline "> 2195 Schmetz Universal Needle - Size 90 (14) 2196 </a> 2197 </li> 2198 2199 2200 <li class="flex"> 2201 <a href="https://www.barnyarns.co.uk/collections/universal-needles?sort_by=best-selling" class="hover:text-gray-800 hover:underline font-bold underline text-sm"> 2202 Shop All 2203 </a> 2204 </li> 2205 2206 </navigation-desktop-collection> 2207 2208 <navigation-desktop-collection id="topstitch-needles" name="Topstitch Needles" url="https://www.barnyarns.co.uk/collections/topstitch-needles" :active="false" :childactive="false"> 2209 2210 2211 <li class="flex"> 2212 <a href="https://www.barnyarns.co.uk/collections/topstitch-needles/products/schmetz-topstitch-needle-size-70-10" class="hover:text-gray-800 hover:underline "> 2213 Schmetz Topstitch Needle - Size 70 (10) 2214 </a> 2215 </li> 2216 2217 2218 <li class="flex"> 2219 <a href="https://www.barnyarns.co.uk/collections/topstitch-needles/products/schmetz-topstitch-needle-size-80-12" class="hover:text-gray-800 hover:underline "> 2220 Schmetz Topstitch Needle - Size 80 (12) 2221 </a> 2222 </li> 2223 2224 2225 <li class="flex"> 2226 <a href="https://www.barnyarns.co.uk/collections/topstitch-needles/products/schmetz-topstitch-needle-size-90-14" class="hover:text-gray-800 hover:underline "> 2227 Schmetz Topstitch Needle - Size 90 (14) 2228 </a> 2229 </li> 2230 2231 2232 <li class="flex"> 2233 <a href="https://www.barnyarns.co.uk/collections/topstitch-needles" class="hover:text-gray-800 hover:underline font-bold underline text-sm"> 2234 Shop All 2235 </a> 2236 </li> 2237 2238 </navigation-desktop-collection> 2239 2240 <navigation-desktop-collection id="quilting-needles" name="Quilting Needles" url="https://www.barnyarns.co.uk/collections/quilting-needles" :active="false" :childactive="false"> 2241 2242 2243 <li class="flex"> 2244 <a href="https://www.barnyarns.co.uk/collections/quilting-needles/products/schmetz-quilting-needles-size-75-11" class="hover:text-gray-800 hover:underline "> 2245 Schmetz Quilting Needles - Size 75 (11) 2246 </a> 2247 </li> 2248 2249 2250 <li class="flex"> 2251 <a href="https://www.barnyarns.co.uk/collections/quilting-needles/products/schmetz-quilting-needles-size-75-90-assorted" class="hover:text-gray-800 hover:underline "> 2252 Schmetz Quilting Needles - Size 75-90 Assorted 2253 </a> 2254 </li> 2255 2256 2257 <li class="flex"> 2258 <a href="https://www.barnyarns.co.uk/collections/quilting-needles/products/schmetz-quilting-needles-size-90-14" class="hover:text-gray-800 hover:underline "> 2259 Schmetz Quilting Needles - Size 90 (14) 2260 </a> 2261 </li> 2262 2263 2264 <li class="flex"> 2265 <a href="https://www.barnyarns.co.uk/collections/quilting-needles" class="hover:text-gray-800 hover:underline font-bold underline text-sm"> 2266 Shop All 2267 </a> 2268 </li> 2269 2270 </navigation-desktop-collection> 2271 2272 <navigation-desktop-collection id="microtex-needles" name="Microtex Needles" url="https://www.barnyarns.co.uk/collections/microtex-needles" :active="false" :childactive="false"> 2273 2274 2275 <li class="flex"> 2276 <a href="https://www.barnyarns.co.uk/collections/microtex-needles/products/schmetz-microtex-needles-size-70-10" class="hover:text-gray-800 hover:underline "> 2277 Schmetz Microtex Needles - Size 70 (10) 2278 </a> 2279 </li> 2280 2281 2282 <li class="flex"> 2283 <a href="https://www.barnyarns.co.uk/collections/microtex-needles/products/schmetz-microtex-needles-size-80-12" class="hover:text-gray-800 hover:underline "> 2284 Schmetz Microtex Needles - Size 80 (12) 2285 </a> 2286 </li> 2287 2288 2289 <li class="flex"> 2290 <a href="https://www.barnyarns.co.uk/collections/microtex-needles/products/schmetz-microtex-needles-size-90-14" class="hover:text-gray-800 hover:underline "> 2291 Schmetz Microtex Needles - Size 90 (14) 2292 </a> 2293 </li> 2294 2295 2296 <li class="flex"> 2297 <a href="https://www.barnyarns.co.uk/collections/microtex-needles" class="hover:text-gray-800 hover:underline font-bold underline text-sm"> 2298 Shop All 2299 </a> 2300 </li> 2301 2302 </navigation-desktop-collection> 2303 2304 <navigation-desktop-collection id="leather-needles" name="Leather Needles" url="https://www.barnyarns.co.uk/collections/leather-needles" :active="false" :childactive="false"> 2305 2306 2307 <li class="flex"> 2308 <a href="https://www.barnyarns.co.uk/collections/leather-needles/products/schmetz-leather-needles-size-90-14" class="hover:text-gray-800 hover:underline "> 2309 Schmetz Leather Needles - Size 90 (14) 2310 </a> 2311 </li> 2312 2313 2314 <li class="flex"> 2315 <a href="https://www.barnyarns.co.uk/collections/leather-needles/products/schmetz-leather-needles-size-100-16" class="hover:text-gray-800 hover:underline "> 2316 Schmetz Leather Needles - Size 100 (16) 2317 </a> 2318 </li> 2319 2320 2321 <li class="flex"> 2322 <a href="https://www.barnyarns.co.uk/collections/leather-needles/products/schmetz-leather-needles-size-120-20" class="hover:text-gray-800 hover:underline "> 2323 Schmetz Leather Needles - Size 120 (20) 2324 </a> 2325 </li> 2326 2327 2328 <li class="flex"> 2329 <a href="https://www.barnyarns.co.uk/collections/leather-needles" class="hover:text-gray-800 hover:underline font-bold underline text-sm"> 2330 Shop All 2331 </a> 2332 </li> 2333 2334 </navigation-desktop-collection> 2335 2336 </template> 2337 </navigation-desktop-items> 2338 2339 2340 2341 <navigation-desktop-items id="sewing-tools" name="Sewing Tools" url="/collections/sewing-tools" :active="false" :childactive="false"> 2342 <template #collection> 2343 2344 <navigation-desktop-collection id="scissors" name="Scissors" url="https://www.barnyarns.co.uk/collections/scissors" :active="false" :childactive="false"> 2345 2346 2347 <li class="flex"> 2348 <a href="https://www.barnyarns.co.uk/collections/scissors/products/karen-kay-buckley-perfect-scissors-micro-serrated-blade-6-inch" class="hover:text-gray-800 hover:underline "> 2349 Karen Kay Buckley - 6 Inch 2350 </a> 2351 </li> 2352 2353 2354 <li class="flex"> 2355 <a href="https://www.barnyarns.co.uk/collections/scissors/products/karen-kay-buckley-perfect-scissors-4-inch" class="hover:text-gray-800 hover:underline "> 2356 Karen Kay Buckley - 4 Inch 2357 </a> 2358 </li> 2359 2360 2361 <li class="flex"> 2362 <a href="https://www.barnyarns.co.uk/collections/scissors/products/karen-kay-buckley-perfect-scissors-7-5-inch" class="hover:text-gray-800 hover:underline "> 2363 Karen Kay Buckley - 7.5 Inch 2364 </a> 2365 </li> 2366 2367 2368 <li class="flex"> 2369 <a href="https://www.barnyarns.co.uk/collections/scissors/products/fiskars-classic-dressmaking-fabric-scissors-25cm-10in" class="hover:text-gray-800 hover:underline "> 2370 Fiskars Classic Dressmaking & Fabric Scissors - 25cm/10in 2371 </a> 2372 </li> 2373 2374 2375 <li class="flex"> 2376 <a href="https://www.barnyarns.co.uk/collections/scissors" class="hover:text-gray-800 hover:underline font-bold underline text-sm"> 2377 Shop All 2378 </a> 2379 </li> 2380 2381 </navigation-desktop-collection> 2382 2383 <navigation-desktop-collection id="glue-adhesives" name="Glue & Adhesives" url="https://www.barnyarns.co.uk/collections/glue-adhesives" :active="false" :childactive="false"> 2384
2384 2385 2386 <li class="flex"> 2387 <a href="https://www.barnyarns.co.uk/collections/glue-adhesives/products/ad505-odif-temporary-spray-adhesive-for-fabrics-large-500ml" class="hover:text-gray-800 hover:underline "> 2388 AD505 Odif Temporary Spray 2389 </a> 2390 </li> 2391 2392 2393 <li class="flex"> 2394 <a href="https://www.barnyarns.co.uk/collections/glue-adhesives/products/ad505-glue-stick-adhesive" class="hover:text-gray-800 hover:underline "> 2395 AD505 Glue Stick Adhesive 2396 </a> 2397 </li> 2398 2399 2400 <li class="flex"> 2401 <a href="https://www.barnyarns.co.uk/collections/glue-adhesives/products/hugos-amazing-tape-clear-three-widths-1-2-1-2-sold-by-the-metre-roll" class="hover:text-gray-800 hover:underline "> 2402 Hugos Amazing Tape Clear 2403 </a> 2404 </li> 2405 2406 2407 <li class="flex"> 2408 <a href="https://www.barnyarns.co.uk/collections/glue-adhesives" class="hover:text-gray-800 hover:underline font-bold underline text-sm"> 2409 Shop All 2410 </a> 2411 </li> 2412 2413 </navigation-desktop-collection> 2414 2415 <navigation-desktop-collection id="fabric-markers" name="Fabric Markers" url="https://www.barnyarns.co.uk/collections/fabric-markers" :active="false" :childactive="false"> 2416 2417 2418 <li class="flex"> 2419 <a href="https://www.barnyarns.co.uk/collections/fabric-markers/products/pilot-frixion-pen-iron-off-gel-pen-medium-tip-black" class="hover:text-gray-800 hover:underline "> 2420 Pilot FriXion Pen - Black 2421 </a> 2422 </li> 2423 2424 2425 <li class="flex"> 2426 <a href="https://www.barnyarns.co.uk/collections/fabric-markers/products/air-water-soluble-vanishing-pen-fine-bold-nib-in-purple" class="hover:text-gray-800 hover:underline "> 2427 Air Water Soluble Vanishing Pen 2428 </a> 2429 </li> 2430 2431 2432 <li class="flex"> 2433 <a href="https://www.barnyarns.co.uk/collections/fabric-markers/products/pilot-frixion-pen-iron-off-gel-pen-refills-pack-3-medium-tip-black" class="hover:text-gray-800 hover:underline "> 2434 Pilot FriXion Pen Refills - Pack 3 Black 2435 </a> 2436 </li> 2437 2438 2439 <li class="flex"> 2440 <a href="https://www.barnyarns.co.uk/collections/fabric-markers/products/sewline-water-soluble-glue-refill-blue" class="hover:text-gray-800 hover:underline "> 2441 Sewline Water Soluble Glue Refill - Blue 2442 </a> 2443 </li> 2444 2445 2446 <li class="flex"> 2447 <a href="https://www.barnyarns.co.uk/collections/fabric-markers" class="hover:text-gray-800 hover:underline font-bold underline text-sm"> 2448 Shop All 2449 </a> 2450 </li> 2451 2452 </navigation-desktop-collection> 2453 2454 <navigation-desktop-collection id="hand-sewing-accessories" name="Hand Sewing Accessories" url="https://www.barnyarns.co.uk/collections/hand-sewing-accessories" :active="false" :childactive="false"> 2455 2456 2457 <li class="flex"> 2458 <a href="https://www.barnyarns.co.uk/collections/hand-sewing-accessories/products/prym-soft-comfort-ergonomic-thimble-small" class="hover:text-gray-800 hover:underline "> 2459 PRYM Thimble Soft - Small 2460 </a> 2461 </li> 2462 2463 2464 <li class="flex"> 2465 <a href="https://www.barnyarns.co.uk/collections/hand-sewing-accessories/products/prym-soft-comfort-ergonomic-thimble-medium-available-in-blue-or-pink" class="hover:text-gray-800 hover:underline "> 2466 PRYM Thimble Soft - Medium 2467 </a> 2468 </li> 2469 2470 2471 <li class="flex"> 2472 <a href="https://www.barnyarns.co.uk/collections/hand-sewing-accessories/products/prym-soft-comfort-ergonomic-thimble-large" class="hover:text-gray-800 hover:underline "> 2473 PRYM Thimble Soft - Large 2474 </a> 2475 </li> 2476 2477 2478 <li class="flex"> 2479 <a href="https://www.barnyarns.co.uk/collections/hand-sewing-accessories/products/magnetic-fabric-grips-pack-of-3-strong-magnets-to-hold-fabrics" class="hover:text-gray-800 hover:underline "> 2480 Magnetic Fabric Grips - Pack of 3 2481 </a> 2482 </li> 2483 2484 2485 <li class="flex"> 2486 <a href="https://www.barnyarns.co.uk/collections/hand-sewing-accessories" class="hover:text-gray-800 hover:underline font-bold underline text-sm"> 2487 Shop All 2488 </a> 2489 </li> 2490 2491 </navigation-desktop-collection> 2492 2493 <navigation-desktop-collection id="rulers-templates" name="Rulers & Templates" url="https://www.barnyarns.co.uk/collections/rulers-templates" :active="false" :childactive="false"> 2494 2495 2496 <li class="flex"> 2497 <a href="https://www.barnyarns.co.uk/collections/rulers-templates/products/add-a-quarter-12-yellow" class="hover:text-gray-800 hover:underline "> 2498 Add-A-Quarter 12 Yellow 2499 </a> 2500 </li> 2501 2502 2503 <li class="flex"> 2504 <a href="https://www.barnyarns.co.uk/collections/rulers-templates/products/quiltlines-quilting-ruler-6-x-24" class="hover:text-gray-800 hover:underline "> 2505 Quiltlines Quilting Ruler 6" x 24" 2506 </a> 2507 </li> 2508 2509 2510 <li class="flex"> 2511 <a href="https://www.barnyarns.co.uk/collections/rulers-templates/products/sew-easy-ruler-14-x-4-5" class="hover:text-gray-800 hover:underline "> 2512 Sew Easy Ruler 14" x 4.5" 2513 </a> 2514 </li> 2515 2516 2517 <li class="flex"> 2518 <a href="https://www.barnyarns.co.uk/collections/rulers-templates/products/sew-easy-plain-template-plastic" class="hover:text-gray-800 hover:underline "> 2519 Sew Easy Plain Template Plastic 2520 </a> 2521 </li> 2522 2523 2524 <li class="flex"> 2525 <a href="https://www.barnyarns.co.uk/collections/rulers-templates" class="hover:text-gray-800 hover:underline font-bold underline text-sm"> 2526 Shop All 2527 </a> 2528 </li> 2529 2530 </navigation-desktop-collection> 2531 2532 <navigation-desktop-collection id="cutting-tools" name="Cutting Tools" url="https://www.barnyarns.co.uk/collections/cutting-tools" :active="false" :childactive="false"> 2533 2534 2535 <li class="flex"> 2536 <a href="https://www.barnyarns.co.uk/collections/cutting-tools/products/blades-barnyarns-45mm-rotary-blades-pack-2-olfa-fiskars-dafa" class="hover:text-gray-800 hover:underline "> 2537 45mm Rotary Blades - Pack 2 2538 </a> 2539 </li> 2540 2541 2542 <li class="flex"> 2543 <a href="https://www.barnyarns.co.uk/collections/cutting-tools/products/blades-barnyarns-titanium-45mm-rotary-blades-pack-2-olfa-fiskars-dafa" class="hover:text-gray-800 hover:underline "> 2544 45mm Titanium Rotary Blades - Pack 2 2545 </a> 2546 </li> 2547 2548 2549 <li class="flex"> 2550 <a href="https://www.barnyarns.co.uk/collections/cutting-tools/products/olfa-deluxe-rotary-cutter-45mm" class="hover:text-gray-800 hover:underline "> 2551 Olfa Deluxe Rotary Cutter - 45mm 2552 </a> 2553 </li> 2554 2555 2556 <li class="flex"> 2557 <a href="https://www.barnyarns.co.uk/collections/cutting-tools/products/madeira-professional-applique-scissors-15cm-6in" class="hover:text-gray-800 hover:underline "> 2558 Madeira Applique Scissors - 15cm / 6in 2559 </a> 2560 </li> 2561 2562 2563 <li class="flex"> 2564 <a href="https://www.barnyarns.co.uk/collections/cutting-tools" class="hover:text-gray-800 hover:underline font-bold underline text-sm"> 2565 Shop All 2566 </a> 2567 </li> 2568 2569 </navigation-desktop-collection> 2570 2571 <navigation-desktop-collection id="photo-fabric" name="Photo Fabric" url="https://www.barnyarns.co.uk/collections/photo-fabric" :active="false" :childactive="false"> 2572 2573 2574 <li class="flex"> 2575 <a href="https://www.barnyarns.co.uk/collections/photo-fabric/products/photo-fabric-cotton-poplin" class="hover:text-gray-800 hover:underline ">
2576 Photo Fabric Cotton Poplin 2577 </a> 2578 </li> 2579 2580 2581 <li class="flex"> 2582 <a href="https://www.barnyarns.co.uk/collections/photo-fabric" class="hover:text-gray-800 hover:underline font-bold underline text-sm"> 2583 Shop All 2584 </a> 2585 </li> 2586 2587 </navigation-desktop-collection> 2588 2589 <navigation-desktop-collection id="storage-lighting" name="Storage & Lighting" url="https://www.barnyarns.co.uk/collections/light-storage" :active="false" :childactive="false"> 2590 2591 2592 <li class="flex"> 2593 <a href="/collections/native-lighting" class="hover:text-gray-800 hover:underline "> 2594 Native Lighting 2595 </a> 2596 </li> 2597 2598 2599 <li class="flex"> 2600 <a href="/collections/thread-storage" class="hover:text-gray-800 hover:underline "> 2601 Storage Solutions 2602 </a> 2603 </li> 2604 2605 2606 <li class="flex"> 2607 <a href="https://www.barnyarns.co.uk/collections/light-storage" class="hover:text-gray-800 hover:underline font-bold underline text-sm"> 2608 Shop All 2609 </a> 2610 </li> 2611 2612 </navigation-desktop-collection> 2613 2614 <navigation-desktop-collection id="garment-care-repair" name="Garment Care & Repair" url="https://www.barnyarns.co.uk/collections/garment-care-repair" :active="false" :childactive="false"> 2615 2616 2617 <li class="flex"> 2618 <a href="https://www.barnyarns.co.uk/collections/garment-care-repair/products/grandmas-sercret-spot-remover-2-fl-oz-59ml-copy-1" class="hover:text-gray-800 hover:underline "> 2619 Grandmas Secret Spot Remover Large 16oz 2620 </a> 2621 </li> 2622 2623 2624 <li class="flex"> 2625 <a href="https://www.barnyarns.co.uk/collections/garment-care-repair/products/grandmas-sercret-spot-remover-2-fl-oz-59ml" class="hover:text-gray-800 hover:underline "> 2626 Grandmas Sercret Spot Remover 2oz 2627 </a> 2628 </li> 2629 2630 2631 <li class="flex"> 2632 <a href="https://www.barnyarns.co.uk/collections/garment-care-repair" class="hover:text-gray-800 hover:underline font-bold underline text-sm"> 2633 Shop All 2634 </a> 2635 </li> 2636 2637 </navigation-desktop-collection> 2638 2639 <navigation-desktop-collection id="sewing-machine-accessories" name="Sewing Machine Accessories" url="/collections/sewing-machine-accessories" :active="false" :childactive="false"> 2640 2641 </navigation-desktop-collection> 2642 2643 </template> 2644 </navigation-desktop-items> 2645 2646 2647 2648 <navigation-desktop-items id="stabilisers-fabrics" name="Stabilisers & Fabrics" url="/collections/stabilisers" :active="false" :childactive="false"> 2649 <template #collection> 2650 2651 <navigation-desktop-collection id="water-soluble-stabiliser" name="Water Soluble Stabiliser" url="https://www.barnyarns.co.uk/collections/water-soluble-stabiliser" :active="false" :childactive="false"> 2652 2653 2654 <li class="flex"> 2655 <a href="https://www.barnyarns.co.uk/collections/water-soluble-stabiliser/products/avalon-film-madeira-wash-away-stabiliser-clear" class="hover:text-gray-800 hover:underline "> 2656 Wash Away Film Stabiliser Clear 2657 </a> 2658 </li> 2659 2660 2661 <li class="flex"> 2662 <a href="https://www.barnyarns.co.uk/collections/water-soluble-stabiliser/products/avalon-fix-sticky-wash-away-fabric-stabiliser-24cm-x-1m-roll" class="hover:text-gray-800 hover:underline ">
2663 Sticky Wash Away Fabric Stabiliser 24cm x 1m Roll 2664 </a> 2665 </li> 2666 2667 2668 <li class="flex"> 2669 <a href="https://www.barnyarns.co.uk/collections/water-soluble-stabiliser/products/avalon-plus-wash-away-fabric-stabiliser-30cm-x-3m-roll" class="hover:text-gray-800 hover:underline "> 2670 Wash Away Fabric Stabiliser 30cm x 3m Roll 2671 </a> 2672 </li> 2673 2674 2675 <li class="flex"> 2676 <a href="https://www.barnyarns.co.uk/collections/water-soluble-stabiliser/products/romeo-heavy-weight-water-soluble-film-76cm-wide-roll-metre-stock" class="hover:text-gray-800 hover:underline "> 2677 Romeo Heavy Weight Water Soluble Film 76cm Wide 2678 </a> 2679 </li> 2680 2681 2682 <li class="flex"> 2683 <a href="https://www.barnyarns.co.uk/collections/water-soluble-stabiliser" class="hover:text-gray-800 hover:underline font-bold underline text-sm"> 2684 Shop All 2685 </a> 2686 </li> 2687 2688 </navigation-desktop-collection> 2689 2690 <navigation-desktop-collection id="tear-away-stabilisers" name="Tear Away Stabilisers" url="https://www.barnyarns.co.uk/collections/tear-away-stabilisers" :active="false" :childactive="false"> 2691 2692 2693 <li class="flex"> 2694 <a href="https://www.barnyarns.co.uk/products/tear-away-stabiliser-40g-various-widths?_pos=1&_sid=6cce1e933&_ss=r" class="hover:text-gray-800 hover:underline "> 2695 Tear Away Stabiliser 40g - Various Widths 2696 </a> 2697 </li> 2698 2699 2700 <li class="flex"> 2701 <a href="https://www.barnyarns.co.uk/collections/tear-away-stabilisers/products/madeira-stabiliser-tear-away-cotton-soft-30cm-x-50m-roll" class="hover:text-gray-800 hover:underline "> 2702 Tear Away Cotton Soft Stabiliser 30cm x 50m Full Roll 2703 </a> 2704 </li> 2705 2706 2707 <li class="flex"> 2708 <a href="https://www.barnyarns.co.uk/collections/tear-away-stabilisers/products/40g-tear-away-stabiliser-pre-cut-squares" class="hover:text-gray-800 hover:underline "> 2709 Tear Away Stabiliser 40g - Pre Cut Squares 2710 </a> 2711 </li> 2712 2713 2714 <li class="flex"> 2715 <a href="https://www.barnyarns.co.uk/collections/tear-away-stabilisers" class="hover:text-gray-800 hover:underline font-bold underline text-sm"> 2716 Shop All 2717 </a> 2718 </li> 2719 2720 </navigation-desktop-collection> 2721 2722 <navigation-desktop-collection id="stick-on-stabilisers" name="Stick on Stabilisers" url="https://www.barnyarns.co.uk/collections/stick-on-stabilisers" :active="false" :childactive="false"> 2723 2724 2725 <li class="flex"> 2726 <a href="https://www.barnyarns.co.uk/collections/stick-on-stabilisers/products/stick-
2726peel-sticky-backed-stabiliser-roll-metre-stock" class="hover:text-gray-800 hover:underline "> 2727 Stick & Peel Sticky Backed Stabiliser 2728 </a> 2729 </li> 2730 2731 2732 <li class="flex"> 2733 <a href="https://www.barnyarns.co.uk/collections/stick-on-stabilisers/products/madeira-stabiliser-tear-away-cotton-fix-30cm-x-3m-roll" class="hover:text-gray-800 hover:underline "> 2734 Tear Away Cotton Fix Stabiliser 30cm x 3m Roll 2735 </a> 2736 </li> 2737 2738 2739 <li class="flex"> 2740 <a href="https://www.barnyarns.co.uk/collections/stick-on-stabilisers/products/madeira-stabiliser-tear-away-cotton-fix-white-50cm-x-25m-roll" class="hover:text-gray-800 hover:underline "> 2741 Tear Away Cotton Fix Stabiliser White 50cm x 25m Roll 2742 </a> 2743 </li> 2744 2745 2746 <li class="flex"> 2747 <a href="https://www.barnyarns.co.uk/collections/stick-on-stabilisers/products/filmoplast-embroidery-stabiliser-50cm-wide" class="hover:text-gray-800 hover:underline "> 2748 Filmoplast Embroidery Stabiliser 54cm wide 2749 </a> 2750 </li> 2751 2752 2753 <li class="flex"> 2754 <a href="https://www.barnyarns.co.uk/collections/stick-on-stabilisers?sort_by=best-selling" class="hover:text-gray-800 hover:underline font-bold underline text-sm"> 2755 Shop All 2756 </a> 2757 </li> 2758 2759 </navigation-desktop-collection> 2760 2761 <navigation-desktop-collection id="sew-in-interfacing" name="Sew In Interfacing" url="https://www.barnyarns.co.uk/collections/sew-in-interfacing" :active="false" :childactive="false"> 2762 2763 2764 <li class="flex"> 2765 <a href="https://www.barnyarns.co.uk/collections/sew-in-interfacing/products/hemline-extra-heavy-stiff-interfacing-sew-in-90cmx25m-white" class="hover:text-gray-800 hover:underline "> 2766 Extra Heavy Stiff Interfacing - (90cmx25m) White 2767 </a> 2768 </li> 2769 2770 2771 <li class="flex"> 2772 <a href="https://www.barnyarns.co.uk/collections/sew-in-interfacing/products/hemline-extra-heavy-stiff-interfacing-sew-in-30cmx25m-white" class="hover:text-gray-800 hover:underline "> 2773 Extra Heavy Stiff Interfacing - (30cmx25m) White 2774 </a> 2775 </li> 2776 2777 2778 <li class="flex"> 2779 <a href="https://www.barnyarns.co.uk/collections/sew-in-interfacing/products/hemline-standard-heavy-firm-interfacing-sew-in-90cmx25m-white" class="hover:text-gray-800 hover:underline "> 2780 Standard Firm Interfacing - (90cmx25m) White 2781 </a> 2782 </li> 2783 2784 2785 <li class="flex"> 2786 <a href="https://www.barnyarns.co.uk/collections/sew-in-interfacing/products/hemline-standard-medium-interfacing-sew-in-90cmx25m-white" class="hover:text-gray-800 hover:underline "> 2787 Standard Medium Interfacing - (90cmx25m) White 2788 </a> 2789 </li> 2790 2791 2792 <li class="flex"> 2793 <a href="https://www.barnyarns.co.uk/collections/sew-in-interfacing?sort_by=best-selling" class="hover:text-gray-800 hover:underline font-bold underline text-sm"> 2794 Shop All 2795 </a> 2796 </li> 2797 2798 </navigation-desktop-collection> 2799 2800 <navigation-desktop-collection id="iron-on-fusible-stabilisers" name="Iron on Fusible Stabilisers" url="https://www.barnyarns.co.uk/collections/iron-on-fusible-stabilisers" :active="false" :childactive="false"> 2801 2802 2803 <li class="flex"> 2804 <a href="https://www.barnyarns.co.uk/collections/iron-on-fusible-stabilisers/products/hemline-standard-medium-interfacing-iron-on-90cmx25m-white" class="hover:text-gray-800 hover:underline "> 2805 Standard Medium Iron on Interfacing - (90cmx25m) White 2806 </a> 2807 </li> 2808 2809 2810 <li class="flex"> 2811 <a href="https://www.barnyarns.co.uk/collections/iron-on-fusible-stabilisers/products/iron-on-fusible-stabiliser-90cm-wide-roll-metre-stock" class="hover:text-gray-800 hover:underline "> 2812 Fusible Iron on Stabiliser 90cm wide - Off the roll 2813 </a> 2814 </li> 2815 2816 2817 <li class="flex"> 2818 <a href="https://www.barnyarns.co.uk/collections/iron-on-fusible-stabilisers/products/madeira-stabiliser-cut-away-super-stable-white-30cm-x-5m-roll" class="hover:text-gray-800 hover:underline "> 2819 Cut Away Stabiliser White - 30cm x 5m Roll 2820 </a> 2821 </li> 2822 2823 2824 <li class="flex"> 2825 <a href="https://www.barnyarns.co.uk/collections/iron-on-fusible-stabilisers/products/madeira-stabiliser-tear-away-cotton-stable-white-30cm-x-5m-roll" class="hover:text-gray-800 hover:underline "> 2826 Tear Away Cotton Stabiliser White - 30cm x 5m Roll 2827 </a> 2828 </li> 2829 2830 2831 <li class="flex"> 2832 <a href="https://www.barnyarns.co.uk/collections/iron-on-fusible-stabilisers" class="hover:text-gray-800 hover:underline font-bold underline text-sm"> 2833 Shop All 2834 </a> 2835 </li> 2836 2837 </navigation-desktop-collection> 2838 2839 <navigation-desktop-collection id="liberty-fabric-tana-lawnâ¢" name="Liberty Fabric - Tana Lawnâ¢" url="/collections/liberty-fabric" :active="false" :childactive="false"> 2840 2841 </navigation-desktop-collection> 2842 2843 <navigation-desktop-collection id="iron-on-fusible-interfacing" name="Iron on Fusible Interfacing" url="https://www.barnyarns.co.uk/collections/iron-on-fusible-interfacing?sort_by=best-selling" :active="false" :childactive="false"> 2844 2845 2846 <li class="flex"> 2847 <a href="https://www.barnyarns.co.uk/collections/iron-on-fusible-interfacing/products/hemline-heavy-firm-interfacing-iron-on-90cmx25m-white" class="hover:text-gray-800 hover:underline "> 2848 Heavy & Firm Iron on Interfacing - (90cmx25m) White 2849 </a> 2850 </li> 2851 2852 2853 <li class="flex"> 2854 <a href="https://www.barnyarns.co.uk/collections/iron-on-fusible-interfacing/products/hemline-ultra-soft-heavy-interfacing-iron-on-90cmx25m-white" class="hover:text-gray-800 hover:underline "> 2855 Ultra Soft & Heavy Iron on Interfacing - (90cmx25m) White 2856 </a> 2857 </li> 2858 2859 2860 <li class="flex"> 2861 <a href="https://www.barnyarns.co.uk/collections/iron-on-fusible-interfacing/products/hemline-ultra-soft-medium-interfacing-iron-on-90cmx25m-black" class="hover:text-gray-800 hover:underline "> 2862 Ultra Soft Medium Iron on Interfacing - (90cmx25m) Black 2863 </a> 2864 </li> 2865 2866 2867 <li class="flex"> 2868 <a href="https://www.barnyarns.co.uk/collections/iron-on-fusible-interfacing?sort_by=best-selling" class="hover:text-gray-800 hover:underline font-bold underline text-sm"> 2869 Shop All 2870 </a> 2871 </li> 2872 2873 </navigation-desktop-collection> 2874 2875 <navigation-desktop-collection id="fusible-foam" name="Fusible Foam" url="https://www.barnyarns.co.uk/collections/fusible-foam" :active="false" :childactive="false"> 2876 2877 2878 <li class="flex"> 2879 <a href="https://www.barnyarns.co.uk/collections/fusible-foam/products/bosal-single-sided-fusible-foam-stabiliser-58-wide" class="hover:text-gray-800 hover:underline "> 2880 Bosal SINGLE Sided Stabiliser 58" Wide 2881 </a> 2882 </li> 2883 2884 2885 <li class="flex"> 2886 <a href="https://www.barnyarns.co.uk/collections/fusible-foam/products/bosal-in-r-form-double-sided-fusible-foam-stabiliser-58-wide" class="hover:text-gray-800 hover:underline "> 2887 Bosal In-R-Form DOUBLE Sided Stabiliser 58" Wide 2888 </a> 2889 </li> 2890 2891 2892 <li class="flex"> 2893 <a href="https://www.barnyarns.co.uk/collections/fusible-foam?sort_by=best-selling" class="hover:text-gray-800 hover:underline font-bold underline text-sm"> 2894 Shop All 2895 </a> 2896 </li> 2897 2898 </navigation-desktop-collection> 2899 2900 <navigation-desktop-collection id="fusible-fleece" name="Fusible Fleece" url="https://www.barnyarns.co.uk/collections/fusible-fleece" :active="false" :childactive="false"> 2901 2902 2903 <li class="flex"> 2904 <a href="https://www.barnyarns.co.uk/collections/fusible-fleece/products/hemline-fusible-soft-wadding-iron-on-90cmx30m-white" class="hover:text-gray-800 hover:underline "> 2905 Iron on Fusible Soft Wadding - (90cmx30m) White 2906 </a> 2907 </li> 2908 2909 2910 <li class="flex"> 2911 <a href="https://www.barnyarns.co.uk/collections/fusible-fleece/products/iron-on-fusible-fleece-a-batting-for-quilting-home-decor-low-loft-white-90cm-wide-wide" class="hover:text-gray-800 hover:underline "> 2912 Iron on Fusible Fleece - Low Loft (90cm Wide) White 2913 </a> 2914 </li> 2915 2916 2917 <li class="flex"> 2918 <a href="https://www.barnyarns.co.uk/collections/fusible-fleece" class="hover:text-gray-800 hover:underline font-bold underline text-sm"> 2919 Shop All 2920 </a> 2921 </li> 2922 2923 </navigation-desktop-collection> 2924 2925 <navigation-desktop-collection id="fabric-adhesives" name="Fabric Adhesives" url="https://www.barnyarns.co.uk/collections/fabric-adhesives" :active="false" :childactive="false"> 2926 2927 2928 <li class="flex"> 2929 <a href="https://www.barnyarns.co.uk/collections/fabric-adhesives/products/heatnbond-lite-metre-stock-for-easy-fabric-bonding" class="hover:text-gray-800 hover:underline "> 2930 HeatnBond Lite 17 inch (43cm) Wide 2931 </a> 2932 </li> 2933 2934 2935 <li class="flex"> 2936 <a href="https://www.barnyarns.co.uk/collections/fabric-adhesives/products/soft-stretch-ultra-heatnbond-metre-stock-full-bolt?variant=49522662080793" class="hover:text-gray-800 hover:underline "> 2937 HeatnBond Ultra Soft & Stretch (43cm Wide) 2938 </a> 2939 </li> 2940 2941 2942 <li class="flex"> 2943 <a href="https://www.barnyarns.co.uk/collections/fabric-adhesives/products/heatnbond-ultra-metre-stock" class="hover:text-gray-800 hover:underline "> 2944 HeatnBond Ultra (43cm) Wide 2945 </a> 2946 </li> 2947 2948 2949 <li class="flex"> 2950 <a href="https://www.barnyarns.co.uk/collections/fabric-adhesives/products/bondaweb-45cm-metre-stock-and-full-roll-by-vlieseline" class="hover:text-gray-800 hover:underline "> 2951 Bondaweb 45cm Wide 2952 </a> 2953 </li> 2954 2955 2956 <li class="flex"> 2957 <a href="https://www.barnyarns.co.uk/collections/fabric-adhesives/products/bondaweb-90cm-wide-metre-stock-cut-off-the-roll-by-vlieseline" class="hover:text-gray-800 hover:underline "> 2958 Bondaweb 90cm Wide 2959 </a> 2960 </li> 2961 2962 2963 <li class="flex"> 2964 <a href="https://www.barnyarns.co.uk/collections/fabric-adhesives?sort_by=best-selling" class="hover:text-gray-800 hover:underline font-bold underline text-sm"> 2965 Shop All 2966 </a> 2967 </li> 2968 2969 </navigation-desktop-collection> 2970 2971 </template> 2972 </navigation-desktop-items> 2973 2974 2975 2976 <a href="/collections/wadding" class="flex items-center text-sm font-medium navigation-item "> 2977 Wadding 2978 </a> 2979 2980 2981 2982 <a href="/pages/service-or-repair-your-sewing-machine" class="flex items-center text-sm font-medium navigation-item "> 2983 Nationwide Service Centre 2984 </a> 2985 2986 2987 2988 <navigation-desktop-items id="sewing-machines" name="Sewing Machines" url="/collections/sewing-machines" :active="false" :childactive="false"> 2989 <template #collection> 2990 2991 <navigation-desktop-collection id="janome-sewing-machines" name="Janome Sewing Machines" url="/collections/janome-sewing-machines" :active="false" :childactive="false"> 2992 2993 2994 <li class="flex"> 2995 <a href="/collections/janome-sewing-machines" class="hover:text-gray-800 hover:underline font-bold underline text-sm"> 2996 Shop All Janome Machines 2997 </a> 2998 </li> 2999 3000 3001 <li class="flex"> 3002 <a href="/products/janome-2200xt" class="hover:text-gray-800 hover:underline "> 3003 Janome 2200 XT 3004 </a> 3005 </li> 3006 3007 3008 <li class="flex"> 3009 <a href="/products/janome-horizon-memory-craft-9480-qcp" class="hover:text-gray-800 hover:underline "> 3010 Janome 9480 QCP 3011 </a> 3012 </li> 3013 3014 3015 <li class="flex"> 3016 <a href="/products/janome-cm8p" class="hover:text-gray-800 hover:underline "> 3017 Janome M8 Continental 3018 </a> 3019 </li> 3020 3021 </navigation-desktop
3021-collection> 3022 3023 <navigation-desktop-collection id="bernina-sewing-machines" name="Bernina Sewing Machines" url="/collections/bernina-sewing-machines" :active="false" :childactive="false"> 3024 3025 3026 <li class="flex"> 3027 <a href="/collections/bernina-sewing-machines" class="hover:text-gray-800 hover:underline font-bold underline text-sm"> 3028 Shop All Bernina Machines 3029 </a> 3030 </li> 3031 3032 3033 <li class="flex"> 3034 <a href="/products/bernina-435-sewing-machine" class="hover:text-gray-800 hover:underline "> 3035 Bernina 435 Sewing Machine 3036 </a> 3037 </li> 3038 3039 3040 <li class="flex"> 3041 <a href="/products/bernina-570-qe-sewing-machine" class="hover:text-gray-800 hover:underline "> 3042 Bernina 570 QE Sewing Machine 3043 </a> 3044 </li> 3045 3046 3047 <li class="flex"> 3048 <a href="/products/bernina-790-pro-sewing-embroidery-machine" class="hover:text-gray-800 hover:underline "> 3049 Bernina 790 Pro Sewing & Embroidery 3050 </a> 3051 </li> 3052 3053 </navigation-desktop-collection> 3054 3055 <navigation-desktop-collection id="babylock-overlocking-machines" name="Babylock Overlocking Machines" url="/collections/babylock-overlocking-machines" :active="false" :childactive="false"> 3056 3057 3058 <li class="flex"> 3059 <a href="/collections/babylock-overlocking-machines" class="hover:text-gray-800 hover:underline font-bold underline text-sm"> 3060 Shop All Babylock Machines 3061 </a> 3062 </li> 3063 3064 3065 <li class="flex"> 3066 <a href="/products/babylock-euphoria" class="hover:text-gray-800 hover:underline "> 3067 Babylock Euphoria Overlocker 3068 </a> 3069 </li> 3070 3071 3072 <li class="flex"> 3073 <a href="/products/babylock-gloria" class="hover:text-gray-800 hover:underline "> 3074 Babylock Gloria Overlocker 3075 </a> 3076 </li> 3077 3078 3079 <li class="flex"> 3080 <a href="/products/babylock-enlighten-overlocker" class="hover:text-gray-800 hover:underline "> 3081 Babylock Enlighten Overlocker 3082 </a> 3083 </li> 3084 3085 3086 <li class="flex"> 3087 <a href="/products/babylock-acclaim-overlocker" class="hover:text-gray-800 hover:underline "> 3088 Babylock Acclaim Overlocker 3089 </a> 3090 </li> 3091 3092 </navigation-desktop-collection> 3093 3094 <navigation-desktop-collection id="pfaff-sewing-machines" name="Pfaff Sewing Machines" url="/collections/pfaff-sewing-machines" :active="false" :childactive="false"> 3095 3096 3097 <li class="flex"> 3098 <a href="/collections/pfaff-sewing-machines" class="hover:text-gray-800 hover:underline font-bold underline text-sm"> 3099 Shop All Pfaff Machines 3100 </a> 3101 </li> 3102 3103 3104 <li class="flex"> 3105 <a href="/products/pfaff-ambition-635-sewing-machine" class="hover:text-gray-800 hover:underline "> 3106 Pfaff Ambition 635 Sewing Machine 3107 </a> 3108 </li> 3109 3110 3111 <li class="flex"> 3112 <a href="/products/pfaff-performance-icon-sewing-machine" class="hover:text-gray-800 hover:underline "> 3113 Pfaff Performance Icon Sewing Machine 3114 </a> 3115 </li> 3116 3117 3118 <li class="flex"> 3119 <a href="/products/pfaff-creative-icon-2-sewing-embroidery-machine-in-mulberry" class="hover:text-gray-800 hover:underline "> 3120 Pfaff Creative Icon Sewing & Embroidery 3121 </a> 3122 </li> 3123 3124 </navigation-desktop-collection> 3125 3126 <navigation-desktop-collection id="bernette-sewing-machines" name="Bernette Sewing Machines" url="/collections/bernette-sewing-machines" :active="false" :childactive="false"> 3127 3128 3129 <li class="flex"> 3130 <a href="/collections/bernette-sewing-machines" class="hover:text-gray-800 hover:underline font-bold underline text-sm"> 3131 Shop All Bernette Machines 3132 </a> 3133 </li> 3134 3135 3136 <li class="flex"> 3137 <a href="/products/bernette-35" class="hover:text-gray-800 hover:underline "> 3138 Bernette 35 Sewing Machine 3139 </a> 3140 </li> 3141 3142 3143 <li class="flex"> 3144 <a href="/products/bernette-44" class="hover:text-gray-800 hover:underline "> 3145 Bernette 44 Overlocker 3146 </a> 3147 </li> 3148 3149 3150 <li class="flex"> 3151 <a href="/products/bernette-77" class="hover:text-gray-800 hover:underline "> 3152 Bernette 77 Sewing Machine 3153 </a> 3154 </li> 3155 3156 </navigation-desktop-collection> 3157 3158 </template> 3159 </navigation-desktop-items> 3160 3161 3162 3163 <a href="/pages/barnyarns-trade-uk-official-distributor-of-superior-threads-thermoweb-more" class="flex items-center text-sm font-medium navigation-item "> 3164 Trade 3165 </a> 3166 3167 3168 3169 </navigation-desktop> 3170 3171 <navigation-mobile class="navigation-container__mobile"> 3172 <template #logo><a href="/" class="header__heading-link link link--text focus-inset mx-auto xl:mx-0"> 3173 <span class="sr-only">Barnyarns</span><div class="header__heading-logo-wrapper"> 3174 3175 <img src="//www.barnyarns.co.uk/cdn/shop/files/barnyarns-logo.svg?v=1710329502&width=600" alt="Barnyarns" srcset="//www.barnyarns.co.uk/cdn/shop/files/barnyarns-logo.svg?v=1710329502&width=180 180w, //www.barnyarns.co.uk/cdn/shop/files/barnyarns-logo.svg?v=1710329502&width=270 270w, //www.barnyarns.co.uk/cdn/shop/files/barnyarns-logo.svg?v=1710329502&width=360 360w" width="180" height="41.53846153846154" loading="eager" class="header__heading-logo motion-reduce lazyload" sizes="(max-width: 360px) 50vw, 180px"> 3176 </div></a> 3177</template> 3178 <template #banner></template> 3179 <template #default="{ onToggle }"> 3180 <div class="main-menu"> 3181 <div class="main-menu--level-1 px-6"> 3182 3183 3184 3185 3186 <navigation-mobile-item id="2-thread" @menu:changed="(id) => onToggle(id)"> 3187 <a href="/collections/thread" id="thread" class="font-semibold block border-b border-gray-200 py-6 text-black flex items-center justify-between hover:underline "> 3188 Thread 3189<svg class="icon icon--select-arrow-right w-1.5 h-auto fill-gray-900 shrink-0" role="presentation" viewB
3189ox="0 0 11 18"> 3190 <path d="M1.5 1.5l8 7.5-8 7.5" stroke-width="2" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="square"></path> 3191 </svg></a> 3192 3193 <template #subitems> 3194 <navigation-mobile-subitem level="2" id="2-thread"> 3195 3196 3197 3198 <navigation-mobile-item id="3-madeira-threads" @menu:changed="(id) => onToggle(id)"> 3199 <a href="/collections/madeira" id="madeira-threads" class="block text-black flex items-center border-b border-gray-200 py-6 justify-between hover:underline "> 3200 Madeira Threads 3201<svg class="icon icon--select-arrow-right w-1.5 h-auto fill-gray-900 shrink-0" role="presentation" viewBox="0 0 11 18"> 3202 <path d="M1.5 1.5l8 7.5-8 7.5" stroke-width="2" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="square"></path> 3203 </svg></a> 3204 <template #subitems> 3205 <navigation-mobile-subitem level="3" id="3-madeira-threads"> 3206 3207 3208 <a href="https://www.barnyarns.co.uk/collections/madeira-classic-40-1000m-cone" id="madeira-classic-40-1000m-cone" class="block border-b border-gray-200 py-6 text-black flex items-center justify-between hover:underline "> 3209 3210 Madeira Classic 40 1000m Cone 3211 3212 </a> 3213 3214 3215 <a href="https://www.barnyarns.co.uk/collections/madeira-classic-40-5000m-cone" id="madeira-classic-40-5000m-cone" class="block border-b border-gray-200 py-6 text-black flex items-center justify-between hover:underline "> 3216 3217 Madeira Classic 40 5000m Cone 3218 3219 </a> 3220 3221 3222 <a href="https://www.barnyarns.co.uk/collections/madeira-polyneon-40-1000m-cone" id="madeira-polyneon-40-1000m-cone" class="block border-b border-gray-200 py-6 text-black flex items-center justify-between hover:underline "> 3223 3224 Madeira Polyneon 40 1000m Cone 3225 3226 </a> 3227 3228 3229 <a href="/collections/madeira-6-strand-cotton-440m-cone" id="madeira-6-strand-cotton-440m-cone" class="block border-b border-gray-200 py-6 text-black flex items-center justify-between hover:underline "> 3230 3231 Madeira 6 Strand Cotton 440m Cone 3232 3233 </a> 3234 3235 3236 <a href="/collections/madeira-aerofil-120-100m-reel" id="madeira-aerofil-120-100m-reel" class="block border-b border-gray-200 py-6 text-black flex items-center justify-between hover:underline "> 3237 3238 Madeira Aerofil 120 100m Reel 3239 3240 </a> 3241 3242 3243 <a href="/collections/madeira-underthread" id="madeira-underthread" class="block border-b border-gray-200 py-6 text-black flex items-center justify-between hover:underline "> 3244 3245 Madeira Underthread 3246 3247 </a> 3248 3249 3250 <a href="/collections/madeira" id="shop-all" class="block border-b border-gray-200 py-6 text-black flex items-center justify-between hover:underline font-bold"> 3251 3252 Shop All Madeira Threads 3253 3254 </a> 3255 3256 </navigation-mobile-subitem> 3257 </template> 3258 </navigation-mobile-item> 3259 3260 3261 3262 3263 3264 3265 3266 3267 <navigation-mobile-item id="3-superior-threads" @menu:changed="(id) => onToggle(id)"> 3268 <a href="/collections/superior-threads" id="superior-threads" class="block text-black flex items-center border-b border-gray-200 py-6 justify-between hover:underline "> 3269 Superior Threads 3270<svg class="icon icon--select-arrow-right w-1.5 h-auto fill-gray-900 shrink-0" role="presentation" viewB
3270ox="0 0 11 18"> 3271 <path d="M1.5 1.5l8 7.5-8 7.5" stroke-width="2" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="square"></path> 3272 </svg></a> 3273 <template #subitems> 3274 <navigation-mobile-subitem level="3" id="3-superior-threads"> 3275 3276 3277 <a href="/collections/superior-bottomline-60-1420yd-reel" id="superior-bottomline-60-1420yd-reel" class="block border-b border-gray-200 py-6 text-black flex items-center justify-between hover:underline "> 3278 3279 Superior Bottomline 60 1420yd Reel 3280 3281 </a> 3282 3283 3284 <a href="https://www.barnyarns.co.uk/collections/superior-king-tut-500yd-reel" id="superior-king-tut-40-500yd-reel" class="block border-b border-gray-200 py-6 text-black flex items-center justify-between hover:underline "> 3285 3286 Superior King Tut 40 500yd Reel 3287 3288 </a> 3289 3290 3291 <a href="https://www.barnyarns.co.uk/collections/superior-kimono-silk-220yd-reel" id="superior-kimono-silk-220yd-reel" class="block border-b border-gray-200 py-6 text-black flex items-center justify-between hover:underline "> 3292 3293 Superior Kimono Silk 220yd Reel 3294 3295 </a> 3296 3297 3298 <a href="https://www.barnyarns.co.uk/collections/superior-so-fine-550yd-reel" id="superior-so-fine-550yd-reel" class="block border-b border-gray-200 py-6 text-black flex items-center justify-between hover:underline "> 3299 3300 Superior So Fine 550yd Reel 3301 3302 </a> 3303 3304 3305 <a href="/collections/superior-fantastico-500yd-reel" id="superior-fantastico-500yd-reel" class="block border-b border-gray-200 py-6 text-black flex items-center justify-between hover:underline "> 3306 3307 Superior Fantastico 500yd Reel 3308 3309 </a> 3310 3311 3312 <a href="/collections/superior-threads" id="shop-all" class="block border-b border-gray-200 py-6 text-black flex items-center justify-between hover:underline font-bold"> 3313 3314 Shop All Superior Threads 3315 3316 </a> 3317 3318 </navigation-mobile-subitem> 3319 </template> 3320 </navigation-mobile-item> 3321 3322 3323 3324 3325 3326 3327 3328 3329 <navigation-mobile-item id="3-aurifil-threads" @menu:changed="(id) => onToggle(id)"> 3330 <a href="/collections/aurifil-thread" id="aurifil-threads" class="block text-black flex items-center border-b border-gray-200 py-6 justify-between hover:underline "> 3331 Aurifil Threads 3332<svg class="icon icon--select-arrow-right w-1.5 h-auto fill-gray-900 shrink-0" role="presentation" viewB
3332ox="0 0 11 18"> 3333 <path d="M1.5 1.5l8 7.5-8 7.5" stroke-width="2" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="square"></path> 3334 </svg></a> 3335 <template #subitems> 3336 <navigation-mobile-subitem level="3" id="3-aurifil-threads"> 3337 3338 3339 <a href="/collections/aurifil-50-1300m-reel" id="aurifil-50-1300m-reel" class="block border-b border-gray-200 py-6 text-black flex items-center justify-between hover:underline "> 3340 3341 Aurifil 50 1300m Reel 3342 3343 </a> 3344 3345 3346 <a href="/collections/aurifil-40-1000m-reel" id="aurifil-40-1000m-reel" class="block border-b border-gray-200 py-6 text-black flex items-center justify-between hover:underline "> 3347 3348 Aurifil 40 1000m Reel 3349 3350 </a> 3351 3352 3353 <a href="/collections/aurifil-28-750m-reel" id="aurifil-28-750m-reel" class="block border-b border-gray-200 py-6 text-black flex items-center justify-between hover:underline "> 3354 3355 Aurifil 28 750m Reel 3356 3357 </a> 3358 3359 3360 <a href="/collections/aurifil-12-50m-reel" id="aurifil-12-50m-reel" class="block border-b border-gray-200 py-6 text-black flex items-center justify-between hover:underline "> 3361 3362 Aurifil 12 50m Reel 3363 3364 </a> 3365 3366 3367 <a href="/collections/aurifil-thread" id="shop-all" class="block border-b border-gray-200 py-6 text-black flex items-center justify-between hover:underline font-bold"> 3368 3369 Shop All Aurifil Threads 3370 3371 </a> 3372 3373 </navigation-mobile-subitem> 3374 </template> 3375 </navigation-mobile-item> 3376 3377 3378 3379 3380 3381 3382 3383 3384 <navigation-mobile-item id="3-gutermann-threads" @menu:changed="(id) => onToggle(id)"> 3385 <a href="/collections/gutermann" id="gutermann-threads" class="block text-black flex items-center border-b border-gray-200 py-6 justify-between hover:underline "> 3386 Gutermann Threads 3387<svg class="icon icon--select-arrow-right w-1.5 h-auto fill-gray-900 shrink-0" role="presentation" viewB
3387ox="0 0 11 18"> 3388 <path d="M1.5 1.5l8 7.5-8 7.5" stroke-width="2" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="square"></path> 3389 </svg></a> 3390 <template #subitems> 3391 <navigation-mobile-subitem level="3" id="3-gutermann-threads"> 3392 3393 3394 <a href="/collections/gutermann-cotton-100m-reel" id="gutermann-cotton-100m-reel" class="block border-b border-gray-200 py-6 text-black flex items-center justify-between hover:underline "> 3395 3396 Gutermann Cotton 100m Reel 3397 3398 </a> 3399 3400 3401 <a href="https://www.barnyarns.co.uk/collections/gutermann-cotton-800m-reel" id="gutermann-cotton-800m-reel" class="block border-b border-gray-200 py-6 text-black flex items-center justify-between hover:underline "> 3402 3403 Gutermann Cotton 800m Reel 3404 3405 </a> 3406 3407 3408 <a href="https://www.barnyarns.co.uk/collections/gutermann-sew-all-100m-reel" id="gutermann-sew-all-100m-reel" class="block border-b border-gray-200 py-6 text-black flex items-center justify-between hover:underline "> 3409 3410 Gutermann Sew All 100m Reel 3411 3412 </a> 3413 3414 3415 <a href="https://www.barnyarns.co.uk/collections/gutermann-sew-all-1000m-reel" id="gutermann-sew-all-1000m-reel" class="block border-b border-gray-200 py-6 text-black flex items-center justify-between hover:underline "> 3416 3417 Gutermann Sew All 1000m Reel 3418 3419 </a> 3420 3421 3422 <a href="https://www.barnyarns.co.uk/collections/gutermann-maraflex-150m-reel" id="gutermann-maraflex-150m-reel" class="block border-b border-gray-200 py-6 text-black flex items-center justify-between hover:underline "> 3423 3424 Gutermann Maraflex 150m Reel 3425 3426 </a> 3427 3428 3429 <a href="/collections/gutermann" id="shop-all" class="block border-b border-gray-200 py-6 text-black flex items-center justify-between hover:underline font-bold"> 3430 3431 Shop All Gutermann Threads 3432 3433 </a> 3434 3435 </navigation-mobile-subitem> 3436 </template> 3437 </navigation-mobile-item> 3438 3439 3440 3441 3442 3443 3444 3445 3446 <navigation-mobile-item id="3-isacord-threads" @menu:changed="(id) => onToggle(id)"> 3447 <a href="/collections/isacord" id="isacord-threads" class="block text-black flex items-center border-b border-gray-200 py-6 justify-between hover:underline "> 3448 Isacord Threads 3449<svg class="icon icon--select-arrow-right w-1.5 h-auto fill-gray-900 shrink-0" role="presentation" viewB
3449ox="0 0 11 18"> 3450 <path d="M1.5 1.5l8 7.5-8 7.5" stroke-width="2" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="square"></path> 3451 </svg></a> 3452 <template #subitems> 3453 <navigation-mobile-subitem level="3" id="3-isacord-threads"> 3454 3455 3456 <a href="/collections/isacord-1000m-cone" id="isacord-1000m-cone" class="block border-b border-gray-200 py-6 text-black flex items-center justify-between hover:underline "> 3457 3458 Isacord 1000m Cone 3459 3460 </a> 3461 3462 3463 <a href="/collections/isacord-5000m-cone" id="isacord-5000m-cone" class="block border-b border-gray-200 py-6 text-black flex items-center justify-between hover:underline "> 3464 3465 Isacord 5000m Cone 3466 3467 </a> 3468 3469 3470 <a href="/collections/isacord" id="shop-all" class="block border-b border-gray-200 py-6 text-black flex items-center justify-between hover:underline font-bold"> 3471 3472 Shop All Isacord Threads 3473 3474 </a> 3475 3476 </navigation-mobile-subitem> 3477 </template> 3478 </navigation-mobile-item> 3479 3480 3481 3482 3483 3484 3485 3486 3487 <navigation-mobile-item id="3-dmc" @menu:changed="(id) => onToggle(id)"> 3488 <a href="/collections/dmc" id="dmc" class="block text-black flex items-center border-b border-gray-200 py-6 justify-between hover:underline "> 3489 DMC 3490<svg class="icon icon--select-arrow-right w-1.5 h-auto fill-gray-900 shrink-0" role="presentation" viewBox="0 0 11 18"> 3491 <path d="M1.5 1.5l8 7.5-8 7.5" stroke-width="2" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="square"></path> 3492 </svg></a> 3493 <template #subitems> 3494 <navigation-mobile-subitem level="3" id="3-dmc"> 3495 3496 3497 <a href="/collections/dmc-mouline-6-strand-cotton-8m-skein" id="dmc-mouline-6-strand-cotton-8m-skein" class="block border-b border-gray-200 py-6 text-black flex items-center justify-between hover:underline "> 3498 3499 DMC Mouline
34996 Strand Cotton 8m Skein 3500 3501 </a> 3502 3503 3504 <a href="/collections/dmc" id="shop-all" class="block border-b border-gray-200 py-6 text-black flex items-center justify-between hover:underline font-bold"> 3505 3506 Shop All DMC 3507 3508 </a> 3509 3510 </navigation-mobile-subitem> 3511 </template> 3512 </navigation-mobile-item> 3513 3514 3515 3516 3517 3518 3519 3520 3521 <navigation-mobile-item id="3-anchor" @menu:changed="(id) => onToggle(id)"> 3522 <a href="/collections/anchor" id="anchor" class="block text-black flex items-center border-b border-gray-200 py-6 justify-between hover:underline "> 3523 Anchor 3524<svg class="icon icon--select-arrow-right w-1.5 h-auto fill-gray-900 shrink-0" role="presentation" viewBox="0 0 11 18"> 3525 <path d="M1.5 1.5l8 7.5-8 7.5" stroke-width="2" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="square"></path> 3526 </svg></a> 3527 <template #subitems> 3528 <navigation-mobile-subitem level="3" id="3-anchor"> 3529 3530 3531 <a href="/collections/anchor-6-strand-cotton-8m-pack" id="anchor-6-strand-cotton-8m-pack" class="block border-b border-gray-200 py-6 text-black flex items-center justify-between hover:underline "> 3532 3533 Anchor 6 Strand Cotton 8m Pack 3534 3535 </a> 3536 3537 3538 <a href="/collections/anchor-tapestry-wool-10m-skein" id="anchor-tapestry-wool" class="block border-b border-gray-200 py-6 text-black flex items-center justify-between hover:underline "> 3539 3540 Anchor Tapestry Wool 3541 3542 </a> 3543 3544 3545 <a href="/collections/anchor" id="shop-all" class="block border-b border-gray-200 py-6 text-black flex items-center justify-between hover:underline font-bold"> 3546 3547 Shop All Anchor 3548 3549 </a> 3550 3551 </navigation-mobile-subitem> 3552 </template> 3553 </navigation-mobile-item> 3554 3555 3556 3557 3558 3559 3560 3561 3562 <navigation-mobile-item id="3-gifts-sets" @menu:changed="(id) => onToggle(id)"> 3563 <a href="/collections/madeira-gift-boxes" id="gifts-sets" class="block text-black flex items-center border-b border-gray-200 py-6 justify-between hover:underline "> 3564 Gifts & Sets 3565<svg class="icon icon--select-arrow-right w-1.5 h-auto fill-gray-900 shrink-0" role="presentation" viewB
3565ox="0 0 11 18"> 3566 <path d="M1.5 1.5l8 7.5-8 7.5" stroke-width="2" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="square"></path> 3567 </svg></a> 3568 <template #subitems> 3569 <navigation-mobile-subitem level="3" id="3-gifts-sets"> 3570 3571 3572 <a href="/collections/starter-sets" id="starter-sets" class="block border-b border-gray-200 py-6 text-black flex items-center justify-between hover:underline "> 3573 3574 Starter Sets 3575 3576 </a> 3577 3578 3579 <a href="/collections/thread-sets-small" id="thread-sets-small" class="block border-b border-gray-200 py-6 text-black flex items-center justify-between hover:underline "> 3580 3581 Thread Sets (Small) 3582 3583 </a> 3584 3585 3586 <a href="/collections/thread-sets-large" id="thread-sets-large" class="block border-b border-gray-200 py-6 text-black flex items-center justify-between hover:underline "> 3587 3588 Thread Sets (Large) 3589 3590 </a> 3591 3592 </navigation-mobile-subitem> 3593 </template> 3594 </navigation-mobile-item> 3595 3596 3597 3598 3599 3600 <a href="/collections/thread" id="thread" class="font-semibold block border-b border-gray-200 py-6 text-black flex items-center justify-between hover:underline "> 3601 Shop All Thread 3602 </a> 3603 3604 3605 3606 3607 </navigation-mobile-subitem> 3608 </template> 3609 3610 </navigation-mobile-item> 3611 3612 3613 3614 3615 3616 <navigation-mobile-item id="2-sewing-machine-needles" @menu:changed="(id) => onToggle(id)"> 3617 <a href="/collections/sewing-machine-needles" id="sewing-machine-needles" class="font-semibold block border-b border-gray-200 py-6 text-black flex items-center justify-between hover:underline "> 3618 Sewing Machine Needles 3619<svg class="icon icon--select-arrow-right w-1.5 h-auto fill-gray-900 shrink-0" role="presentation" viewBox="0 0 11 18"> 3620 <path d="M1.5 1.5l8 7.5-8 7.5" stroke-width="2" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="square"></path> 3621 </svg></a> 3622 3623 <template #subitems> 3624 <navigation-mobile-subitem level="2" id="2-sewing-machine-needles"> 3625 3626 3627 3628 <navigation-mobile-item id="3-superior-titanium-needles" @menu:changed="(id) => onToggle(id)"> 3629 <a href="https://www.barnyarns.co.uk/collections/gold-titanium" id="superior-titanium-needles" class="block text-black flex items-center border-b border-gray-200 py-6 justify-between hover:underline "> 3630 Superior Titanium Needles 3631<svg class="icon icon--select-arrow-right w-1.5 h-auto fill-gray-900 shrink-0" role="presentation" viewB
3631ox="0 0 11 18"> 3632 <path d="M1.5 1.5l8 7.5-8 7.5" stroke-width="2" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="square"></path> 3633 </svg></a> 3634 <template #subitems> 3635 <navigation-mobile-subitem level="3" id="3-superior-titanium-needles"> 3636 3637 3638 <a href="https://www.barnyarns.co.uk/collections/gold-titanium/products/superior-gold-titanium-topstitch-needles-size-70-10-pack-5" id="superior-titanium-topstitch-needles-size-70-10" class="block border-b border-gray-200 py-6 text-black flex items-center justify-between hover:underline "> 3639 3640 Superior Titanium Topstitch Needles Size 70 (10) 3641 3642 </a> 3643 3644 3645 <a href="https://www.barnyarns.co.uk/collections/gold-titanium/products/superior-gold-titanium-topstitch-needles-size-80-12-pack-5" id="superior-titanium-topstitch-needles-size-80-12" class="block border-b border-gray-200 py-6 text-black flex items-center justify-between hover:underline "> 3646 3647 Superior Titanium Topstitch Needles Size 80 (12) 3648 3649 </a> 3650 3651 3652 <a href="https://www.barnyarns.co.uk/collections/gold-titanium/products/superior-gold-titanium-topstitch-needles-size-90-14-pack-5" id="superior-titanium-topstitch-needles-size-90-14" class="block border-b border-gray-200 py-6 text-black flex items-center justify-between hover:underline "> 3653 3654 Superior Titanium Topstitch Needles Size 90 (14) 3655 3656 </a> 3657 3658 3659 <a href="https://www.barnyarns.co.uk/collections/gold-titanium?sort_by=best-selling" id="shop-all" class="block border-b border-gray-200 py-6 text-black flex items-center justify-between hover:underline font-bold"> 3660 3661 Shop All Superior Titanium Needles 3662 3663 </a> 3664 3665 </navigation-mobile-subitem> 3666 </template> 3667 </navigation-mobile-item> 3668 3669 3670 3671 3672 3673 3674 3675 3676 <navigation-mobile-item id="3-universal-needles" @menu:changed="(id) => onToggle(id)"> 3677 <a href="https://www.barnyarns.co.uk/collections/universal-needles" id="universal-needles" class="block text-black flex items-center border-b border-gray-200 py-6 justify-between hover:underline "> 3678 Universal Needles 3679<svg class="icon icon--select-arrow-right w-1.5 h-auto fill-gray-900 shrink-0" role="presentation" viewB
3679ox="0 0 11 18"> 3680 <path d="M1.5 1.5l8 7.5-8 7.5" stroke-width="2" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="square"></path> 3681 </svg></a> 3682 <template #subitems> 3683 <navigation-mobile-subitem level="3" id="3-universal-needles"> 3684 3685 3686 <a href="https://www.barnyarns.co.uk/collections/universal-needles/products/schmetz-universal-needle-size-70-10" id="schmetz-universal-needle-size-70-10" class="block border-b border-gray-200 py-6 text-black flex items-center justify-between hover:underline "> 3687 3688 Schmetz Universal Needle - Size 70 (10) 3689 3690 </a> 3691 3692 3693 <a href="https://www.barnyarns.co.uk/collections/universal-needles/products/schmetz-universal-needle-size-80-12" id="schmetz-universal-needle-size-80-12" class="block border-b border-gray-200 py-6 text-black flex items-center justify-between hover:underline "> 3694 3695 Schmetz Universal Needle - Size 80 (12) 3696 3697 </a> 3698 3699 3700 <a href="https://www.barnyarns.co.uk/collections/universal-needles/products/schmetz-universal-needle-size-90-14" id="schmetz-universal-needle-size-90-14" class="block border-b border-gray-200 py-6 text-black flex items-center justify-between hover:underline "> 3701 3702 Schmetz Universal Needle - Size 90 (14) 3703 3704 </a> 3705 3706 3707 <a href="https://www.barnyarns.co.uk/collections/universal-needles?sort_by=best-selling" id="shop-all" class="block border-b border-gray-200 py-6 text-black flex items-center justify-between hover:underline font-bold"> 3708 3709 Shop All Universal Needles 3710 3711 </a> 3712 3713 </navigation-mobile-subitem> 3714 </template> 3715 </navigation-mobile-item> 3716 3717 3718 3719 3720 3721 3722 3723 3724 <navigation-mobile-item id="3-topstitch-needles" @menu:changed="(id) => onToggle(id)"> 3725 <a href="https://www.barnyarns.co.uk/collections/topstitch-needles" id="topstitch-needles" class="block text-black flex items-center border-b border-gray-200 py-6 justify-between hover:underline "> 3726 Topstitch Needles 3727<svg class="icon icon--select-arrow-right w-1.5 h-auto fill-gray-900 shrink-0" role="presentation" viewB
3727ox="0 0 11 18"> 3728 <path d="M1.5 1.5l8 7.5-8 7.5" stroke-width="2" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="square"></path> 3729 </svg></a> 3730 <template #subitems> 3731 <navigation-mobile-subitem level="3" id="3-topstitch-needles"> 3732 3733 3734 <a href="https://www.barnyarns.co.uk/collections/topstitch-needles/products/schmetz-topstitch-needle-size-70-10" id="schmetz-topstitch-needle-size-70-10" class="block border-b border-gray-200 py-6 text-black flex items-center justify-between hover:underline "> 3735 3736 Schmetz Topstitch Needle - Size 70 (10) 3737 3738 </a> 3739 3740 3741 <a href="https://www.barnyarns.co.uk/collections/topstitch-needles/products/schmetz-topstitch-needle-size-80-12" id="schmetz-topstitch-needle-size-80-12" class="block border-b border-gray-200 py-6 text-black flex items-center justify-between hover:underline "> 3742 3743 Schmetz Topstitch Needle - Size 80 (12) 3744 3745 </a> 3746 3747 3748 <a href="https://www.barnyarns.co.uk/collections/topstitch-needles/products/schmetz-topstitch-needle-size-90-14" id="schmetz-topstitch-needle-size-90-14" class="block border-b border-gray-200 py-6 text-black flex items-center justify-between hover:underline "> 3749 3750 Schmetz Topstitch Needle - Size 90 (14) 3751 3752 </a> 3753 3754 3755 <a href="https://www.barnyarns.co.uk/collections/topstitch-needles" id="shop-all" class="block border-b border-gray-200 py-6 text-black flex items-center justify-between hover:underline font-bold"> 3756 3757 Shop All Topstitch Needles 3758 3759 </a> 3760 3761 </navigation-mobile-subitem> 3762 </template> 3763 </navigation-mobile-item> 3764 3765 3766 3767 3768 3769 3770 3771 3772 <navigation-mobile-item id="3-quilting-needles" @menu:changed="(id) => onToggle(id)"> 3773 <a href="https://www.barnyarns.co.uk/collections/quilting-needles" id="quilting-needles" class="block text-black flex items-center border-b border-gray-200 py-6 justify-between hover:underline "> 3774 Quilting Needles 3775<svg class="icon icon--select-arrow-right w-1.5 h-auto fill-gray-900 shrink-0" role="presentation" viewB
3775ox="0 0 11 18"> 3776 <path d="M1.5 1.5l8 7.5-8 7.5" stroke-width="2" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="square"></path> 3777 </svg></a> 3778 <template #subitems> 3779 <navigation-mobile-subitem level="3" id="3-quilting-needles"> 3780 3781 3782 <a href="https://www.barnyarns.co.uk/collections/quilting-needles/products/schmetz-quilting-needles-size-75-11" id="schmetz-quilting-needles-size-75-11" class="block border-b border-gray-200 py-6 text-black flex items-center justify-between hover:underline "> 3783 3784 Schmetz Quilting Needles - Size 75 (11) 3785 3786 </a> 3787 3788 3789 <a href="https://www.barnyarns.co.uk/collections/quilting-needles/products/schmetz-quilting-needles-size-75-90-assorted" id="schmetz-quilting-needles-size-75-90-assorted" class="block border-b border-gray-200 py-6 text-black flex items-center justify-between hover:underline "> 3790 3791 Schmetz Quilting Needles - Size 75-90 Assorted 3792 3793 </a> 3794 3795 3796 <a href="https://www.barnyarns.co.uk/collections/quilting-needles/products/schmetz-quilting-needles-size-90-14" id="schmetz-quilting-needles-size-90-14" class="block border-b border-gray-200 py-6 text-black flex items-center justify-between hover:underline "> 3797 3798 Schmetz Quilting Needles - Size 90 (14) 3799 3800 </a> 3801 3802 3803 <a href="https://www.barnyarns.co.uk/collections/quilting-needles" id="shop-all" class="block border-b border-gray-200 py-6 text-black flex items-center justify-between hover:underline font-bold"> 3804 3805 Shop All Quilting Needles 3806 3807 </a> 3808 3809 </navigation-mobile-subitem> 3810 </template> 3811 </navigation-mobile-item> 3812 3813 3814 3815 3816 3817 3818 3819 3820 <navigation-mobile-item id="3-microtex-needles" @menu:changed="(id) => onToggle(id)"> 3821 <a href="https://www.barnyarns.co.uk/collections/microtex-needles" id="microtex-needles" class="block text-black flex items-center border-b border-gray-200 py-6 justify-between hover:underline "> 3822 Microtex Needles 3823<svg class="icon icon--select-arrow-right w-1.5 h-auto fill-gray-900 shrink-0" role="presentation" viewB
3823ox="0 0 11 18"> 3824 <path d="M1.5 1.5l8 7.5-8 7.5" stroke-width="2" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="square"></path> 3825 </svg></a> 3826 <template #subitems> 3827 <navigation-mobile-subitem level="3" id="3-microtex-needles"> 3828 3829 3830 <a href="https://www.barnyarns.co.uk/collections/microtex-needles/products/schmetz-microtex-needles-size-70-10" id="schmetz-microtex-needles-size-70-10" class="block border-b border-gray-200 py-6 text-black flex items-center justify-between hover:underline "> 3831 3832 Schmetz Microtex Needles - Size 70 (10) 3833 3834 </a> 3835 3836 3837 <a href="https://www.barnyarns.co.uk/collections/microtex-needles/products/schmetz-microtex-needles-size-80-12" id="schmetz-microtex-needles-size-80-12" class="block border-b border-gray-200 py-6 text-black flex items-center justify-between hover:underline "> 3838 3839 Schmetz Microtex Needles - Size 80 (12) 3840 3841 </a> 3842 3843 3844 <a href="https://www.barnyarns.co.uk/collections/microtex-needles/products/schmetz-microtex-needles-size-90-14" id="schmetz-microtex-needles-size-90-14" class="block border-b border-gray-200 py-6 text-black flex items-center justify-between hover:underline "> 3845 3846 Schmetz Microtex Needles - Size 90 (14) 3847 3848 </a> 3849 3850 3851 <a href="https://www.barnyarns.co.uk/collections/microtex-needles" id="shop-all" class="block border-b border-gray-200 py-6 text-black flex items-center justify-between hover:underline font-bold"> 3852 3853 Shop All Microtex Needles 3854 3855 </a> 3856 3857 </navigation-mobile-subitem> 3858 </template> 3859 </navigation-mobile-item> 3860 3861 3862 3863 3864 3865 3866 3867 3868 <navigation-mobile-item id="3-leather-needles" @menu:changed="(id) => onToggle(id)"> 3869 <a href="https://www.barnyarns.co.uk/collections/leather-needles" id="leather-needles" class="block text-black flex items-center border-b border-gray-200 py-6 justify-between hover:underline "> 3870 Leather Needles 3871<svg class="icon icon--select-arrow-right w-1.5 h-auto fill-gray-900 shrink-0" role="presentation" viewB
3871ox="0 0 11 18"> 3872 <path d="M1.5 1.5l8 7.5-8 7.5" stroke-width="2" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="square"></path> 3873 </svg></a> 3874 <template #subitems> 3875 <navigation-mobile-subitem level="3" id="3-leather-needles"> 3876 3877 3878 <a href="https://www.barnyarns.co.uk/collections/leather-needles/products/schmetz-leather-needles-size-90-14" id="schmetz-leather-needles-size-90-14" class="block border-b border-gray-200 py-6 text-black flex items-center justify-between hover:underline "> 3879 3880 Schmetz Leather Needles - Size 90 (14) 3881 3882 </a> 3883 3884 3885 <a href="https://www.barnyarns.co.uk/collections/leather-needles/products/schmetz-leather-needles-size-100-16" id="schmetz-leather-needles-size-100-16" class="block border-b border-gray-200 py-6 text-black flex items-center justify-between hover:underline "> 3886 3887 Schmetz Leather Needles - Size 100 (16) 3888 3889 </a> 3890 3891 3892 <a href="https://www.barnyarns.co.uk/collections/leather-needles/products/schmetz-leather-needles-size-120-20" id="schmetz-leather-needles-size-120-20" class="block border-b border-gray-200 py-6 text-black flex items-center justify-between hover:underline "> 3893 3894 Schmetz Leather Needles - Size 120 (20) 3895 3896 </a> 3897 3898 3899 <a href="https://www.barnyarns.co.uk/collections/leather-needles" id="shop-all" class="block border-b border-gray-200 py-6 text-black flex items-center justify-between hover:underline font-bold"> 3900 3901 Shop All Leather Needles 3902 3903 </a> 3904 3905 </navigation-mobile-subitem> 3906 </template> 3907 </navigation-mobile-item> 3908 3909 3910 3911 3912 3913 <a href="/collections/sewing-machine-needles" id="sewing-machine-needles" class="font-semibold block border-b border-gray-200 py-6 text-black flex items-center justify-between hover:underline "> 3914 Shop All Sewing Machine Needles 3915 </a> 3916 3917 3918 3919 3920 </navigation-mobile-subitem> 3921 </template> 3922 3923 </navigation-mobile-item> 3924 3925 3926 3927 3928 3929 <navigation-mobile-item id="2-sewing-tools" @menu:changed="(id) => onToggle(id)"> 3930 <a href="/collections/sewing-tools" id="sewing-tools" class="font-semibold block border-b border-gray-200 py-6 text-black flex items-center justify-between hover:underline "> 3931 Sewing Tools 3932<svg class="icon icon--select-arrow-right w-1.5 h-auto fill-gray-900 shrink-0" role="presentation" viewB
3932ox="0 0 11 18"> 3933 <path d="M1.5 1.5l8 7.5-8 7.5" stroke-width="2" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="square"></path> 3934 </svg></a> 3935 3936 <template #subitems> 3937 <navigation-mobile-subitem level="2" id="2-sewing-tools"> 3938 3939 3940 3941 <navigation-mobile-item id="3-scissors" @menu:changed="(id) => onToggle(id)"> 3942 <a href="https://www.barnyarns.co.uk/collections/scissors" id="scissors" class="block text-black flex items-center border-b border-gray-200 py-6 justify-between hover:underline "> 3943 Scissors 3944<svg class="icon icon--select-arrow-right w-1.5 h-auto fill-gray-900 shrink-0" role="presentation" viewBox="0 0 11 18"> 3945 <path d="M1.5 1.5l8 7.5-8 7.5" stroke-width="2" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="square"></path> 3946 </svg></a> 3947 <template #subitems> 3948 <navigation-mobile-subitem level="3" id="3-scissors"> 3949 3950 3951 <a href="https://www.barnyarns.co.uk/collections/scissors/products/karen-kay-buckley-perfect-scissors-micro-serrated-blade-6-inch" id="karen-kay-buckley-6-inch" class="block border-b border-gray-200 py-6 text-black flex items-center justify-between hover:underline "> 3952 3953 Karen Kay Buckley - 6 Inch 3954 3955 </a> 3956 3957 3958 <a href="https://www.barnyarns.co.uk/collections/scissors/products/karen-kay-buckley-perfect-scissors-4-inch" id="karen-kay-buckley-4-inch" class="block border-b border-gray-200 py-6 text-black flex items-center justify-between hover:underline "> 3959 3960 Karen Kay Buckley - 4 Inch 3961 3962 </a> 3963 3964 3965 <a href="https://www.barnyarns.co.uk/collections/scissors/products/karen-kay-buckley-perfect-scissors-7-5-inch" id="karen-kay-buckley-7-5-inch" class="block border-b border-gray-200 py-6 text-black flex items-center justify-between hover:underline "> 3966 3967 Karen Kay Buckley - 7.5 Inch 3968 3969 </a> 3970 3971 3972 <a href="https://www.barnyarns.co.uk/collections/scissors/products/fiskars-classic-dressmaking-fabric-scissors-25cm-10in" id="fiskars-classic-dressmaking-fabric-scissors-25cm-10in" class="block border-b border-gray-200 py-6 text-black flex items-center justify-between hover:underline "> 3973 3974 Fiskars Classic Dressmaking & Fabric Scissors - 25cm/10in 3975 3976 </a> 3977 3978 3979 <a href="https://www.barnyarns.co.uk/collections/scissors" id="shop-all" class="block border-b border-gray-200 py-6 text-black flex items-center justify-between hover:underline font-bold"> 3980 3981 Shop All Scissors 3982 3983 </a> 3984 3985 </navigation-mobile-subitem> 3986 </template> 3987 </navigation-mobile-item> 3988 3989 3990 3991 3992 3993 3994 3995 3996 <navigation-mobile-item id="3-glue-adhesives" @menu:changed="(id) => onToggle(id)"> 3997 <a href="https://www.barnyarns.co.uk/collections/glue-adhesives" id="glue-adhesives" class="block text-black flex items-center border-b border-gray-200 py-6 justify-between hover:underline "> 3998 Glue & Adhesives 3999<svg class="icon icon--select-arrow-right w-1.5 h-auto fill-gray-900 shrink-0" role="presentation" viewB
3999ox="0 0 11 18"> 4000 <path d="M1.5 1.5l8 7.5-8 7.5" stroke-width="2" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="square"></path> 4001 </svg></a> 4002 <template #subitems> 4003 <navigation-mobile-subitem level="3" id="3-glue-adhesives"> 4004 4005 4006 <a href="https://www.barnyarns.co.uk/collections/glue-adhesives/products/ad505-odif-temporary-spray-adhesive-for-fabrics-large-500ml" id="ad505-odif-temporary-spray" class="block border-b border-gray-200 py-6 text-black flex items-center justify-between hover:underline "> 4007 4008 AD505 Odif Temporary Spray 4009 4010 </a> 4011 4012 4013 <a href="https://www.barnyarns.co.uk/collections/glue-adhesives/products/ad505-glue-stick-adhesive" id="ad505-glue-stick-adhesive" class="block border-b border-gray-200 py-6 text-black flex items-center justify-between hover:underline "> 4014 4015 AD505 Glue Stick Adhesive 4016 4017 </a> 4018 4019 4020 <a href="https://www.barnyarns.co.uk/collections/glue-adhesives/products/hugos-amazing-tape-clear-three-widths-1-2-1-2-sold-by-the-metre-roll" id="hugos-amazing-tape-clear" class="block border-b border-gray-200 py-6 text-black flex items-center justify-between hover:underline "> 4021 4022 Hugos Amazing Tape Clear 4023 4024 </a> 4025 4026 4027 <a href="https://www.barnyarns.co.uk/collections/glue-adhesives" id="shop-all" class="block border-b border-gray-200 py-6 text-black flex items-center justify-between hover:underline font-bold"> 4028 4029 Shop All Glue & Adhesives 4030 4031 </a> 4032 4033 </navigation-mobile-subitem> 4034 </template> 4035 </navigation-mobile-item> 4036 4037 4038 4039 4040 4041 4042 4043 4044 <navigation-mobile-item id="3-fabric-markers" @menu:changed="(id) => onToggle(id)"> 4045 <a href="https://www.barnyarns.co.uk/collections/fabric-markers" id="fabric-markers" class="block text-black flex items-center border-b border-gray-200 py-6 justify-between hover:underline "> 4046 Fabric Markers 4047<svg class="icon icon--select-arrow-right w-1.5 h-auto fill-gray-900 shrink-0" role="presentation" viewB
4047ox="0 0 11 18"> 4048 <path d="M1.5 1.5l8 7.5-8 7.5" stroke-width="2" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="square"></path> 4049 </svg></a> 4050 <template #subitems> 4051 <navigation-mobile-subitem level="3" id="3-fabric-markers"> 4052 4053 4054 <a href="https://www.barnyarns.co.uk/collections/fabric-markers/products/pilot-frixion-pen-iron-off-gel-pen-medium-tip-black" id="pilot-frixion-pen-black" class="block border-b border-gray-200 py-6 text-black flex items-center justify-between hover:underline "> 4055 4056 Pilot FriXion Pen - Black 4057 4058 </a> 4059 4060 4061 <a href="https://www.barnyarns.co.uk/collections/fabric-markers/products/air-water-soluble-vanishing-pen-fine-bold-nib-in-purple" id="air-water-soluble-vanishing-pen" class="block border-b border-gray-200 py-6 text-black flex items-center justify-between hover:underline "> 4062 4063 Air Water Soluble Vanishing Pen 4064 4065 </a> 4066 4067 4068 <a href="https://www.barnyarns.co.uk/collections/fabric-markers/products/pilot-frixion-pen-iron-off-gel-pen-refills-pack-3-medium-tip-black" id="pilot-frixion-pen-refills-pack-3-black" class="block border-b border-gray-200 py-6 text-black flex items-center justify-between hover:underline "> 4069 4070 Pilot FriXion Pen Refills - Pack 3 Black 4071 4072 </a> 4073 4074 4075 <a href="https://www.barnyarns.co.uk/collections/fabric-markers/products/sewline-water-soluble-glue-refill-blue" id="sewline-water-soluble-glue-refill-blue" class="block border-b border-gray-200 py-6 text-black flex items-center justify-between hover:underline "> 4076 4077 Sewline Water Soluble Glue Refill - Blue 4078 4079 </a> 4080 4081 4082 <a href="https://www.barnyarns.co.uk/collections/fabric-markers" id="shop-all" class="block border-b border-gray-200 py-6 text-black flex items-center justify-between hover:underline font-bold"> 4083 4084 Shop All Fabric Markers 4085 4086 </a> 4087 4088 </navigation-mobile-subitem> 4089 </template> 4090 </navigation-mobile-item> 4091 4092 4093 4094 4095 4096 4097 4098 4099 <navigation-mobile-item id="3-hand-sewing-accessories" @menu:changed="(id) => onToggle(id)"> 4100 <a href="https://www.barnyarns.co.uk/collections/hand-sewing-accessories" id="hand-sewing-accessories" class="block text-black flex items-center border-b border-gray-200 py-6 justify-between hover:underline "> 4101 Hand Sewing Accessories 4102<svg class="icon icon--select-arrow-right w-1.5 h-auto fill-gray-900 shrink-0" role="presentation" viewB
4102ox="0 0 11 18"> 4103 <path d="M1.5 1.5l8 7.5-8 7.5" stroke-width="2" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="square"></path> 4104 </svg></a> 4105 <template #subitems> 4106 <navigation-mobile-subitem level="3" id="3-hand-sewing-accessories"> 4107 4108 4109 <a href="https://www.barnyarns.co.uk/collections/hand-sewing-accessories/products/prym-soft-comfort-ergonomic-thimble-small" id="prym-thimble-soft-small" class="block border-b border-gray-200 py-6 text-black flex items-center justify-between hover:underline "> 4110 4111 PRYM Thimble Soft - Small 4112 4113 </a> 4114 4115 4116 <a href="https://www.barnyarns.co.uk/collections/hand-sewing-accessories/products/prym-soft-comfort-ergonomic-thimble-medium-available-in-blue-or-pink" id="prym-thimble-soft-medium" class="block border-b border-gray-200 py-6 text-black flex items-center justify-between hover:underline "> 4117 4118 PRYM Thimble Soft - Medium 4119 4120 </a> 4121 4122 4123 <a href="https://www.barnyarns.co.uk/collections/hand-sewing-accessories/products/prym-soft-comfort-ergonomic-thimble-large" id="prym-thimble-soft-large" class="block border-b border-gray-200 py-6 text-black flex items-center justify-between hover:underline "> 4124 4125 PRYM Thimble Soft - Large 4126 4127 </a> 4128 4129 4130 <a href="https://www.barnyarns.co.uk/collections/hand-sewing-accessories/products/magnetic-fabric-grips-pack-of-3-strong-magnets-to-hold-fabrics" id="magnetic-fabric-grips-pack-of-3" class="block border-b border-gray-200 py-6 text-black flex items-center justify-between hover:underline "> 4131 4132 Magnetic Fabric Grips - Pack of 3 4133 4134 </a> 4135 4136 4137 <a href="https://www.barnyarns.co.uk/collections/hand-sewing-accessories" id="shop-all" class="block border-b border-gray-200 py-6 text-black flex items-center justify-between hover:underline font-bold"> 4138 4139 Shop All Hand Sewing Accessories 4140 4141 </a> 4142 4143 </navigation-mobile-subitem> 4144 </template> 4145 </navigation-mobile-item> 4146 4147 4148 4149 4150 4151 4152 4153 4154 <navigation-mobile-item id="3-rulers-templates" @menu:changed="(id) => onToggle(id)"> 4155 <a href="https://www.barnyarns.co.uk/collections/rulers-templates" id="rulers-templates" class="block text-black flex items-center border-b border-gray-200 py-6 justify-between hover:underline "> 4156 Rulers & Templates 4157<svg class="icon icon--select-arrow-right w-1.5 h-auto fill-gray-900 shrink-0" role="presentation" viewB
4157ox="0 0 11 18"> 4158 <path d="M1.5 1.5l8 7.5-8 7.5" stroke-width="2" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="square"></path> 4159 </svg></a> 4160 <template #subitems> 4161 <navigation-mobile-subitem level="3" id="3-rulers-templates"> 4162 4163 4164 <a href="https://www.barnyarns.co.uk/collections/rulers-templates/products/add-a-quarter-12-yellow" id="add-a-quarter-12-yellow" class="block border-b border-gray-200 py-6 text-black flex items-center justify-between hover:underline "> 4165 4166 Add-A-Quarter 12 Yellow 4167 4168 </a> 4169 4170 4171 <a href="https://www.barnyarns.co.uk/collections/rulers-templates/products/quiltlines-quilting-ruler-6-x-24" id="quiltlines-quilting-ruler-6-x-24" class="block border-b border-gray-200 py-6 text-black flex items-center justify-between hover:underline "> 4172 4173 Quiltlines Quilting Ruler 6" x 24" 4174 4175 </a> 4176 4177 4178 <a href="https://www.barnyarns.co.uk/collections/rulers-templates/products/sew-easy-ruler-14-x-4-5" id="sew-easy-ruler-14-x-4-5" class="block border-b border-gray-200 py-6 text-black flex items-center justify-between hover:underline "> 4179 4180 Sew Easy Ruler 14" x 4.5" 4181 4182 </a> 4183 4184 4185 <a href="https://www.barnyarns.co.uk/collections/rulers-templates/products/sew-easy-plain-template-plastic" id="sew-easy-plain-template-plastic" class="block border-b border-gray-200 py-6 text-black flex items-center justify-between hover:underline "> 4186 4187 Sew Easy Plain Template Plastic 4188 4189 </a> 4190 4191 4192 <a href="https://www.barnyarns.co.uk/collections/rulers-templates" id="shop-all" class="block border-b border-gray-200 py-6 text-black flex items-center justify-between hover:underline font-bold"> 4193 4194 Shop All Rulers & Templates 4195 4196 </a> 4197 4198 </navigation-mobile-subitem> 4199 </template> 4200 </navigation-mobile-item> 4201 4202 4203 4204 4205 4206 4207 4208 4209 <navigation-mobile-item id="3-cutting-tools" @menu:changed="(id) => onToggle(id)"> 4210 <a href="https://www.barnyarns.co.uk/collections/cutting-tools" id="cutting-tools" class="block text-black flex items-center border-b border-gray-200 py-6 justify-between hover:underline "> 4211 Cutting Tools 4212<svg class="icon icon--select-arrow-right w-1.5 h-auto fill-gray-900 shrink-0" role="presentation" viewB
4212ox="0 0 11 18"> 4213 <path d="M1.5 1.5l8 7.5-8 7.5" stroke-width="2" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="square"></path> 4214 </svg></a> 4215 <template #subitems> 4216 <navigation-mobile-subitem level="3" id="3-cutting-tools"> 4217 4218 4219 <a href="https://www.barnyarns.co.uk/collections/cutting-tools/products/blades-barnyarns-45mm-rotary-blades-pack-2-olfa-fiskars-dafa" id="45mm-rotary-blades-pack-2" class="block border-b border-gray-200 py-6 text-black flex items-center justify-between hover:underline "> 4220 4221 45mm Rotary Blades - Pack 2 4222 4223 </a> 4224 4225 4226 <a href="https://www.barnyarns.co.uk/collections/cutting-tools/products/blades-barnyarns-titanium-45mm-rotary-blades-pack-2-olfa-fiskars-dafa" id="45mm-titanium-rotary-blades-pack-2" class="block border-b border-gray-200 py-6 text-black flex items-center justify-between hover:underline "> 4227 4228 45mm Titanium Rotary Blades - Pack 2 4229 4230 </a> 4231 4232 4233 <a href="https://www.barnyarns.co.uk/collections/cutting-tools/products/olfa-deluxe-rotary-cutter-45mm" id="olfa-deluxe-rotary-cutter-45mm" class="block border-b border-gray-200 py-6 text-black flex items-center justify-between hover:underline "> 4234 4235 Olfa Deluxe Rotary Cutter - 45mm 4236 4237 </a> 4238 4239 4240 <a href="https://www.barnyarns.co.uk/collections/cutting-tools/products/madeira-professional-applique-scissors-15cm-6in" id="madeira-applique-scissors-15cm-6in" class="block border-b border-gray-200 py-6 text-black flex items-center justify-between hover:underline "> 4241 4242 Madeira Applique Scissors - 15cm / 6in 4243 4244 </a> 4245 4246 4247 <a href="https://www.barnyarns.co.uk/collections/cutting-tools" id="shop-all" class="block border-b border-gray-200 py-6 text-black flex items-center justify-between hover:underline font-bold"> 4248 4249 Shop All Cutting Tools 4250 4251 </a> 4252 4253 </navigation-mobile-subitem> 4254 </template> 4255 </navigation-mobile-item> 4256 4257 4258 4259 4260 4261 4262 4263 4264 <navigation-mobile-item id="3-photo-fabric" @menu:changed="(id) => onToggle(id)"> 4265 <a href="https://www.barnyarns.co.uk/collections/photo-fabric" id="photo-fabric" class="block text-black flex items-center border-b border-gray-200 py-6 justify-between hover:underline "> 4266 Photo Fabric 4267<svg class="icon icon--select-arrow-right w-1.5 h-auto fill-gray-900 shrink-0" role="presentation" viewB
4267ox="0 0 11 18"> 4268 <path d="M1.5 1.5l8 7.5-8 7.5" stroke-width="2" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="square"></path> 4269 </svg></a> 4270 <template #subitems> 4271 <navigation-mobile-subitem level="3" id="3-photo-fabric"> 4272 4273 4274 <a href="https://www.barnyarns.co.uk/collections/photo-fabric/products/photo-fabric-cotton-poplin" id="photo-fabric-cotton-poplin" class="block border-b border-gray-200 py-6 text-black flex items-center justify-between hover:underline "> 4275 4276 Photo Fabric Cotton Poplin 4277 4278 </a> 4279 4280 4281 <a href="https://www.barnyarns.co.uk/collections/photo-fabric" id="shop-all" class="block border-b border-gray-200 py-6 text-black flex items-center justify-between hover:underline font-bold"> 4282 4283 Shop All Photo Fabric 4284 4285 </a> 4286 4287 </navigation-mobile-subitem> 4288 </template> 4289 </navigation-mobile-item> 4290 4291 4292 4293 4294 4295 4296 4297 4298 <navigation-mobile-item id="3-storage-lighting" @menu:changed="(id) => onToggle(id)"> 4299 <a href="https://www.barnyarns.co.uk/collections/light-storage" id="storage-lighting" class="block text-black flex items-center border-b border-gray-200 py-6 justify-between hover:underline "> 4300 Storage & Lighting 4301<svg class="icon icon--select-arrow-right w-1.5 h-auto fill-gray-900 shrink-0" role="presentation" viewBox="0 0 11 18"> 4302 <path d="M1.5 1.5l8 7.5-8 7.5" stroke-width="2" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="square"></path> 4303 </svg></a> 4304 <template #subitems> 4305 <navigation-mobile-subitem level="3" id="3-storage-lighting"> 4306 4307 4308 <a href="/collections/native-lighting" id="native-lighting" class="block border-b border-gray-200 py-6 text-black flex items-center justify-between hover:underline "> 4309 4310 Native Lighting 4311 4312 </a> 4313 4314 4315 <a href="/collections/thread-storage" id="storage-solutions" class="block border-b border-gray-200 py-6 text-black flex items-center justify-between hover:underline "> 4316 4317 Storage Solutions 4318 4319 </a> 4320 4321 4322 <a href="https://www.barnyarns.co.uk/collections/light-storage" id="shop-all" class="block border-b border-gray-200 py-6 text-black flex items-center justify-between hover:underline font-bold"> 4323 4324 Shop All Storage & Lighting 4325 4326 </a> 4327 4328 </navigation-mobile-subitem> 4329 </template> 4330 </navigation-mobile-item> 4331 4332 4333 4334 4335 4336 4337 4338 4339 <navigation-mobile-item id="3-garment-care-repair" @menu:changed="(id) => onToggle(id)"> 4340 <a href="https://www.barnyarns.co.uk/collections/garment-care-repair" id="garment-care-repair" class="block text-black flex items-center border-b border-gray-200 py-6 justify-between hover:underline "> 4341 Garment Care & Repair
4342<svg class="icon icon--select-arrow-right w-1.5 h-auto fill-gray-900 shrink-0" role="presentation" viewBox="0 0 11 18"> 4343 <path d="M1.5 1.5l8 7.5-8 7.5" stroke-width="2" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="square"></path> 4344 </svg></a> 4345 <template #subitems> 4346 <navigation-mobile-subitem level="3" id="3-garment-care-repair"> 4347 4348 4349 <a href="https://www.barnyarns.co.uk/collections/garment-care-repair/products/grandmas-sercret-spot-remover-2-fl-oz-59ml-copy-1" id="grandmas-secret-spot-remover-large-16oz" class="block border-b border-gray-200 py-6 text-black flex items-center justify-between hover:underline "> 4350 4351 Grandmas Secret Spot Remover Large 16oz 4352 4353 </a> 4354 4355 4356 <a href="https://www.barnyarns.co.uk/collections/garment-care-repair/products/grandmas-sercret-spot-remover-2-fl-oz-59ml" id="grandmas-sercret-spot-remover-2oz" class="block border-b border-gray-200 py-6 text-black flex items-center justify-between hover:underline "> 4357 4358 Grandmas Sercret Spot Remover 2oz 4359 4360 </a> 4361 4362 4363 <a href="https://www.barnyarns.co.uk/collections/garment-care-repair" id="shop-all" class="block border-b border-gray-200 py-6 text-black flex items-center justify-between hover:underline font-bold"> 4364 4365 Shop All Garment Care & Repair 4366 4367 </a> 4368 4369 </navigation-mobile-subitem> 4370 </template> 4371 </navigation-mobile-item> 4372 4373 4374 4375 4376 4377 4378 4379 4380 <a href="/collections/sewing-machine-accessories" id="sewing-machine-accessories" class="block border-b border-gray-200 py-6 text-black flex items-center justify-between hover:underline "> 4381 4382 Sewing Machine Accessories 4383 4384 </a> 4385 4386 4387 </navigation-mobile-subitem> 4388 </template> 4389 4390 </navigation-mobile-item> 4391 4392 4393 4394 4395 4396 <navigation-mobile-item id="2-stabilisers-fabrics" @menu:changed="(id) => onToggle(id)"> 4397 <a href="/collections/stabilisers" id="stabilisers-fabrics" class="font-semibold block border-b border-gray-200 py-6 text-black flex items-center justify-between hover:underline "> 4398 Stabilisers & Fabrics 4399<svg class="icon icon--select-arrow-right w-1.5 h-auto fill-gray-900 shrink-0" role="presentation" viewB
4399ox="0 0 11 18"> 4400 <path d="M1.5 1.5l8 7.5-8 7.5" stroke-width="2" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="square"></path> 4401 </svg></a> 4402 4403 <template #subitems> 4404 <navigation-mobile-subitem level="2" id="2-stabilisers-fabrics"> 4405 4406 4407 4408 <navigation-mobile-item id="3-water-soluble-stabiliser" @menu:changed="(id) => onToggle(id)"> 4409 <a href="https://www.barnyarns.co.uk/collections/water-soluble-stabiliser" id="water-soluble-stabiliser" class="block text-black flex items-center border-b border-gray-200 py-6 justify-between hover:underline "> 4410 Water Soluble Stabiliser 4411<svg class="icon icon--select-arrow-right w-1.5 h-auto fill-gray-900 shrink-0" role="presentation" viewBox="0 0 11 18"> 4412 <path d="M1.5 1.5l8 7.5-8 7.5" stroke-width="2" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="square"></path> 4413 </svg></a> 4414 <template #subitems> 4415 <navigation-mobile-subitem level="3" id="3-water-soluble-stabiliser"> 4416 4417 4418 <a href="https://www.barnyarns.co.uk/collections/water-soluble-stabiliser/products/avalon-film-madeira-wash-away-stabiliser-clear" id="wash-away-film-stabiliser-clear" class="block border-b border-gray-200 py-6 text-black flex items-center justify-between hover:underline "> 4419 4420 Wash Away Film Stabiliser Clear 4421 4422 </a> 4423 4424 4425 <a href="https://www.barnyarns.co.uk/collections/water-soluble-stabiliser/products/avalon-fix-sticky-wash-away-fabric-stabiliser-24cm-x-1m-roll" id="sticky-wash-away-fabric-stabiliser-24cm-x-1m-roll" class="block border-b border-gray-200 py-6 text-black flex items-center justify-between hover:underline "> 4426 4427 Sticky Wash Away Fabric Stabiliser 24cm x 1m Roll 4428 4429 </a> 4430 4431 4432 <a href="https://www.barnyarns.co.uk/collections/water-soluble-stabiliser/products/avalon-plus-wash-away-fabric-stabiliser-30cm-x-3m-roll" id="wash-away-fabric-stabiliser-30cm-x-3m-roll" class="block border-b border-gray-200 py-6 text-black flex items-center justify-between hover:underline "> 4433 4434 Wash Away Fabric Stabiliser 30cm x 3m Roll 4435 4436 </a> 4437 4438 4439 <a href="https://www.barnyarns.co.uk/collections/water-soluble-stabiliser/products/romeo-heavy-weight-water-soluble-film-76cm-wide-roll-metre-stock" id="romeo-heavy-weight-water-soluble-film-76cm-wide" class="block border-b border-gray-200 py-6 text-black flex items-center justify-between hover:underline "> 4440 4441 Romeo Heavy Weight Water Soluble Film 76cm Wide 4442 4443 </a> 4444 4445 4446 <a href="https://www.barnyarns.co.uk/collections/water-soluble-stabiliser" id="shop-all" class="block border-b border-gray-200 py-6 text-black flex items-center justify-between hover:underline font-bold"> 4447 4448 Shop All Water Soluble Stabiliser 4449 4450 </a> 4451 4452 </navigation-mobile-subitem> 4453 </template> 4454 </navigation-mobile-item> 4455 4456 4457 4458 4459 4460 4461 4462 4463 <navigation-mobile-item id="3-tear-away-stabilisers" @menu:changed="(id) => onToggle(id)"> 4464 <a href="https://www.barnyarns.co.uk/collections/tear-away-stabilisers" id="tear-away-stabilisers" class="block text-black flex items-center border-b border-gray-200 py-6 justify-between hover:underline "> 4465 Tear Away Stabilisers 4466<svg class="icon icon--select-arrow-right w-1.5 h-auto fill-gray-900 shrink-0" role="presentation" viewB
4466ox="0 0 11 18"> 4467 <path d="M1.5 1.5l8 7.5-8 7.5" stroke-width="2" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="square"></path> 4468 </svg></a> 4469 <template #subitems> 4470 <navigation-mobile-subitem level="3" id="3-tear-away-stabilisers"> 4471 4472 4473 <a href="https://www.barnyarns.co.uk/products/tear-away-stabiliser-40g-various-widths?_pos=1&_sid=6cce1e933&_ss=r" id="tear-away-stabiliser-40g-various-widths" class="block border-b border-gray-200 py-6 text-black flex items-center justify-between hover:underline "> 4474 4475 Tear Away Stabiliser 40g - Various Widths 4476 4477 </a> 4478 4479 4480 <a href="https://www.barnyarns.co.uk/collections/tear-away-stabilisers/products/madeira-stabiliser-tear-away-cotton-soft-30cm-x-50m-roll" id="tear-away-cotton-soft-stabiliser-30cm-x-50m-full-roll" class="block border-b border-gray-200 py-6 text-black flex items-center justify-between hover:underline "> 4481 4482 Tear Away Cotton Soft Stabiliser 30cm x 50m Full Roll 4483 4484 </a> 4485 4486 4487 <a href="https://www.barnyarns.co.uk/collections/tear-away-stabilisers/products/40g-tear-away-stabiliser-pre-cut-squares" id="tear-away-stabiliser-40g-pre-cut-squares" class="block border-b border-gray-200 py-6 text-black flex items-center justify-between hover:underline "> 4488 4489 Tear Away Stabiliser 40g - Pre Cut Squares 4490 4491 </a> 4492 4493 4494 <a href="https://www.barnyarns.co.uk/collections/tear-away-stabilisers" id="shop-all" class="block border-b border-gray-200 py-6 text-black flex items-center justify-between hover:underline font-bold"> 4495 4496 Shop All Tear Away Stabilisers 4497 4498 </a> 4499 4500 </navigation-mobile-subitem> 4501 </template> 4502 </navigation-mobile-item> 4503 4504 4505 4506 4507 4508 4509 4510 4511 <navigation-mobile-item id="3-stick-on-stabilisers" @menu:changed="(id) => onToggle(id)"> 4512 <a href="https://www.barnyarns.co.uk/collections/stick-on-stabilisers" id="stick-on-stabilisers" class="block text-black flex items-center border-b border-gray-200 py-6 justify-between hover:underline "> 4513 Stick on Stabilisers 4514<svg class="icon icon--select-arrow-right w-1.5 h-auto fill-gray-900 shrink-0" role="presentation" viewB
4514ox="0 0 11 18"> 4515 <path d="M1.5 1.5l8 7.5-8 7.5" stroke-width="2" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="square"></path> 4516 </svg></a> 4517 <template #subitems> 4518 <navigation-mobile-subitem level="3" id="3-stick-on-stabilisers"> 4519 4520 4521 <a href="https://www.barnyarns.co.uk/collections/stick-on-stabilisers/products/stick-peel-sticky-backed-stabiliser-roll-metre-stock" id="stick-peel-sticky-backed-stabiliser" class="block border-b border-gray-200 py-6 text-black flex items-center justify-between hover:underline "> 4522 4523 Stick & Peel Sticky Backed Stabiliser 4524 4525 </a> 4526 4527 4528 <a href="https://www.barnyarns.co.uk/collections/stick-on-stabilisers/products/madeira-stabiliser-tear-away-cotton-fix-30cm-x-3m-roll" id="tear-away-cotton-fix-stabiliser-30cm-x-3m-roll" class="block border-b border-gray-200 py-6 text-black flex items-center justify-between hover:underline "> 4529 4530 Tear Away Cotton Fix Stabiliser 30cm x 3m Roll 4531 4532 </a> 4533 4534 4535 <a href="https://www.barnyarns.co.uk/collections/stick-on-stabilisers/products/madeira-stabiliser-tear-away-cotton-fix-white-50cm-x-25m-roll" id="tear-away-cotton-fix-stabiliser-white-50cm-x-25m-roll" class="block border-b border-gray-200 py-6 text-black flex items-center justify-between hover:underline "> 4536 4537 Tear Away Cotton Fix Stabiliser White 50cm x 25m Roll 4538 4539 </a> 4540 4541 4542 <a href="https://www.barnyarns.co.uk/collections/stick-on-stabilisers/products/filmoplast-embroidery-stabiliser-50cm-wide" id="filmoplast-embroidery-stabiliser-54cm-wide" class="block border-b border-gray-200 py-6 text-black flex items-center justify-between hover:underline "> 4543 4544 Filmoplast Embroidery Stabiliser 54cm wide 4545 4546 </a> 4547 4548 4549 <a href="https://www.barnyarns.co.uk/collections/stick-on-stabilisers?sort_by=best-selling" id="shop-all" class="block border-b border-gray-200 py-6 text-black flex items-center justify-between hover:underline font-bold"> 4550 4551 Shop All Stick on Stabilisers 4552 4553 </a> 4554 4555 </navigation-mobile-subitem> 4556 </template> 4557 </navigation-mobile-item> 4558 4559 4560 4561 4562 4563 4564 4565 4566 <navigation-mobile-item id="3-sew-in-interfacing" @menu:changed="(id) => onToggle(id)"> 4567 <a href="https://www.barnyarns.co.uk/collections/sew-in-interfacing" id="sew-in-interfacing" class="block text-black flex items-center border-b border-gray-200 py-6 justify-between hover:underline "> 4568 Sew In Interfacing 4569<svg class="icon icon--select-arrow-right w-1.5 h-auto fill-gray-900 shrink-0" role="presentation" viewB
4569ox="0 0 11 18"> 4570 <path d="M1.5 1.5l8 7.5-8 7.5" stroke-width="2" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="square"></path> 4571 </svg></a> 4572 <template #subitems> 4573 <navigation-mobile-subitem level="3" id="3-sew-in-interfacing"> 4574 4575 4576 <a href="https://www.barnyarns.co.uk/collections/sew-in-interfacing/products/hemline-extra-heavy-stiff-interfacing-sew-in-90cmx25m-white" id="extra-heavy-stiff-interfacing-90cmx25m-white" class="block border-b border-gray-200 py-6 text-black flex items-center justify-between hover:underline "> 4577 4578 Extra Heavy Stiff Interfacing - (90cmx25m) White 4579 4580 </a> 4581 4582 4583 <a href="https://www.barnyarns.co.uk/collections/sew-in-interfacing/products/hemline-extra-heavy-stiff-interfacing-sew-in-30cmx25m-white" id="extra-heavy-stiff-interfacing-30cmx25m-white" class="block border-b border-gray-200 py-6 text-black flex items-center justify-between hover:underline "> 4584 4585 Extra Heavy Stiff Interfacing - (30cmx25m) White 4586 4587 </a> 4588 4589 4590 <a href="https://www.barnyarns.co.uk/collections/sew-in-interfacing/products/hemline-standard-heavy-firm-interfacing-sew-in-90cmx25m-white" id="standard-firm-interfacing-90cmx25m-white" class="block border-b border-gray-200 py-6 text-black flex items-center justify-between hover:underline "> 4591 4592 Standard Firm Interfacing - (90cmx25m) White 4593 4594 </a> 4595 4596 4597 <a href="https://www.barnyarns.co.uk/collections/sew-in-interfacing/products/hemline-standard-medium-interfacing-sew-in-90cmx25m-white" id="standard-medium-interfacing-90cmx25m-white" class="block border-b border-gray-200 py-6 text-black flex items-center justify-between hover:underline "> 4598 4599 Standard Medium Interfacing - (90cmx25m) White 4600 4601 </a> 4602 4603 4604 <a href="https://www.barnyarns.co.uk/collections/sew-in-interfacing?sort_by=best-selling" id="shop-all" class="block border-b border-gray-200 py-6 text-black flex items-center justify-between hover:underline font-bold"> 4605 4606 Shop All Sew In Interfacing 4607 4608 </a> 4609 4610 </navigation-mobile-subitem> 4611 </template> 4612 </navigation-mobile-item> 4613 4614 4615 4616 4617 4618 4619 4620 4621 <navigation-mobile-item id="3-iron-on-fusible-stabilisers" @menu:changed="(id) => onToggle(id)"> 4622 <a href="https://www.barnyarns.co.uk/collections/iron-on-fusible-stabilisers" id="iron-on-fusible-stabilisers" class="block text-black flex items-center border-b border-gray-200 py-6 justify-between hover:underline "> 4623 Iron on Fusible Stabilisers 4624<svg class="icon icon--select-arrow-right w-1.5 h-auto fill-gray-900 shrink-0" role="presentation" viewB
4624ox="0 0 11 18"> 4625 <path d="M1.5 1.5l8 7.5-8 7.5" stroke-width="2" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="square"></path> 4626 </svg></a> 4627 <template #subitems> 4628 <navigation-mobile-subitem level="3" id="3-iron-on-fusible-stabilisers"> 4629 4630 4631 <a href="https://www.barnyarns.co.uk/collections/iron-on-fusible-stabilisers/products/hemline-standard-medium-interfacing-iron-on-90cmx25m-white" id="standard-medium-iron-on-interfacing-90cmx25m-white" class="block border-b border-gray-200 py-6 text-black flex items-center justify-between hover:underline "> 4632 4633 Standard Medium Iron on Interfacing - (90cmx25m) White 4634 4635 </a> 4636 4637 4638 <a href="https://www.barnyarns.co.uk/collections/iron-on-fusible-stabilisers/products/iron-on-fusible-stabiliser-90cm-wide-roll-metre-stock" id="fusible-iron-on-stabiliser-90cm-wide-off-the-roll" class="block border-b border-gray-200 py-6 text-black flex items-center justify-between hover:underline "> 4639 4640 Fusible Iron on Stabiliser 90cm wide - Off the roll 4641 4642 </a> 4643 4644 4645 <a href="https://www.barnyarns.co.uk/collections/iron-on-fusible-stabilisers/products/madeira-stabiliser-cut-away-super-stable-white-30cm-x-5m-roll" id="cut-away-stabiliser-white-30cm-x-5m-roll" class="block border-b border-gray-200 py-6 text-black flex items-center justify-between hover:underline "> 4646 4647 Cut Away Stabiliser White - 30cm x 5m Roll 4648 4649 </a> 4650 4651 4652 <a href="https://www.barnyarns.co.uk/collections/iron-on-fusible-stabilisers/products/madeira-stabiliser-tear-away-cotton-stable-white-30cm-x-5m-roll" id="tear-away-cotton-stabiliser-white-30cm-x-5m-roll" class="block border-b border-gray-200 py-6 text-black flex items-center justify-between hover:underline "> 4653 4654 Tear Away Cotton Stabiliser White - 30cm x 5m Roll 4655 4656 </a> 4657 4658 4659 <a href="https://www.barnyarns.co.uk/collections/iron-on-fusible-stabilisers" id="shop-all" class="block border-b border-gray-200 py-6 text-black flex items-center justify-between hover:underline font-bold"> 4660 4661 Shop All Iron on Fusible Stabilisers 4662 4663 </a> 4664 4665 </navigation-mobile-subitem> 4666 </template> 4667 </navigation-mobile-item> 4668 4669 4670 4671 4672 4673 4674 4675 4676 <a href="/collections/liberty-fabric" id="liberty-fabric-tana-lawnâ¢" class="block border-b border-gray-200 py-6 text-black flex items-center justify-between hover:underline "> 4677 4678 Liberty Fabric - Tana Lawn⢠4679 4680 </a> 4681 4682 4683 4684 4685 <navigation-mobile-item id="3-iron-on-fusible-interfacing" @menu:changed="(id) => onToggle(id)"> 4686 <a href="https://www.barnyarns.co.uk/collections/iron-on-fusible-interfacing?sort_by=best-selling" id="iron-on-fusible-interfacing" class="block text-black flex items-center border-b border-gray-200 py-6 justify-between hover:underline "> 4687 Iron on Fusible Interfacing 4688<svg class="icon icon--select-arrow-right w-1.5 h-auto fill-gray-900 shrink-0" role="presentation" viewB
4688ox="0 0 11 18"> 4689 <path d="M1.5 1.5l8 7.5-8 7.5" stroke-width="2" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="square"></path> 4690 </svg></a> 4691 <template #subitems> 4692 <navigation-mobile-subitem level="3" id="3-iron-on-fusible-interfacing"> 4693 4694 4695 <a href="https://www.barnyarns.co.uk/collections/iron-on-fusible-interfacing/products/hemline-heavy-firm-interfacing-iron-on-90cmx25m-white" id="heavy-firm-iron-on-interfacing-90cmx25m-white" class="block border-b border-gray-200 py-6 text-black flex items-center justify-between hover:underline "> 4696 4697 Heavy & Firm Iron on Interfacing - (90cmx25m) White 4698 4699 </a> 4700 4701 4702 <a href="https://www.barnyarns.co.uk/collections/iron-on-fusible-interfacing/products/hemline-ultra-soft-heavy-interfacing-iron-on-90cmx25m-white" id="ultra-soft-heavy-iron-on-interfacing-90cmx25m-white" class="block border-b border-gray-200 py-6 text-black flex items-center justify-between hover:underline "> 4703 4704 Ultra Soft & Heavy Iron on Interfacing - (90cmx25m) White 4705 4706 </a> 4707 4708 4709 <a href="https://www.barnyarns.co.uk/collections/iron-on-fusible-interfacing/products/hemline-ultra-soft-medium-interfacing-iron-on-90cmx25m-black" id="ultra-soft-medium-iron-on-interfacing-90cmx25m-black" class="block border-b border-gray-200 py-6 text-black flex items-center justify-between hover:underline "> 4710 4711 Ultra Soft Medium Iron on Interfacing - (90cmx25m) Black 4712 4713 </a> 4714 4715 4716 <a href="https://www.barnyarns.co.uk/collections/iron-on-fusible-interfacing?sort_by=best-selling" id="shop-all" class="block border-b border-gray-200 py-6 text-black flex items-center justify-between hover:underline font-bold"> 4717 4718 Shop All Iron on Fusible Interfacing 4719 4720 </a> 4721 4722 </navigation-mobile-subitem> 4723 </template> 4724 </navigation-mobile-item> 4725 4726 4727 4728 4729 4730 4731 4732 4733 <navigation-mobile-item id="3-fusible-foam" @menu:changed="(id) => onToggle(id)"> 4734 <a href="https://www.barnyarns.co.uk/collections/fusible-foam" id="fusible-foam" class="block text-black flex items-center border-b border-gray-200 py-6 justify-between hover:underline "> 4735 Fusible Foam 4736<svg class="icon icon--select-arrow-right w-1.5 h-auto fill-gray-900 shrink-0" role="presentation" viewB
4736ox="0 0 11 18"> 4737 <path d="M1.5 1.5l8 7.5-8 7.5" stroke-width="2" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="square"></path> 4738 </svg></a> 4739 <template #subitems> 4740 <navigation-mobile-subitem level="3" id="3-fusible-foam"> 4741 4742 4743 <a href="https://www.barnyarns.co.uk/collections/fusible-foam/products/bosal-single-sided-fusible-foam-stabiliser-58-wide" id="bosal-single-sided-stabiliser-58-wide" class="block border-b border-gray-200 py-6 text-black flex items-center justify-between hover:underline "> 4744 4745 Bosal SINGLE Sided Stabiliser 58" Wide 4746 4747 </a> 4748 4749 4750 <a href="https://www.barnyarns.co.uk/collections/fusible-foam/products/bosal-in-r-form-double-sided-fusible-foam-stabiliser-58-wide" id="bosal-in-r-form-double-sided-stabiliser-58-wide" class="block border-b border-gray-200 py-6 text-black flex items-center justify-between hover:underline "> 4751 4752 Bosal In-R-Form DOUBLE Sided Stabiliser 58" Wide 4753 4754 </a> 4755 4756 4757 <a href="https://www.barnyarns.co.uk/collections/fusible-foam?sort_by=best-selling" id="shop-all" class="block border-b border-gray-200 py-6 text-black flex items-center justify-between hover:underline font-bold"> 4758 4759 Shop All Fusible Foam 4760 4761 </a> 4762 4763 </navigation-mobile-subitem> 4764 </template> 4765 </navigation-mobile-item> 4766 4767 4768 4769 4770 4771 4772 4773 4774 <navigation-mobile-item id="3-fusible-fleece" @menu:changed="(id) => onToggle(id)"> 4775 <a href="https://www.barnyarns.co.uk/collections/fusible-fleece" id="fusible-fleece" class="block text-black flex items-center border-b border-gray-200 py-6 justify-between hover:underline "> 4776 Fusible Fleece 4777<svg class="icon icon--select-arrow-right w-1.5 h-auto fill-gray-900 shrink-0" role="presentation" viewBox="0 0 11 18"> 4778 <path d="M1.5 1.5l8 7.5-8 7.5" stroke-width="2" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="square"></path> 4779 </svg></a> 4780 <template #subitems> 4781 <navigation-mobile-subitem level="3" id="3-fusible-fleece"> 4782 4783 4784 <a href="https://www.barnyarns.co.uk/collections/fusible-fleece/products/hemline-fusible-soft-wadding-iron-on-90cmx30m-white" id="iron-on-fusible-soft-wadding-90cmx30m-white" class="block border-b border-gray-200 py-6 text-black flex items-center justify-between hover:underline "> 4785 4786 Iron on Fusible Soft Wadding - (90cmx30m) White 4787 4788 </a> 4789 4790 4791 <a href="https://www.barnyarns.co.uk/collections/fusible-fleece/products/iron-on-fusible-fleece-a-batting-for-quilting-home-decor-low-loft-white-90cm-wide-wide" id="iron-on-fusible-fleece-low-loft-90cm-wide-white" class="block border-b border-gray-200 py-6 text-black flex items-center justify-between hover:underline "> 4792 4793 Iron on Fusible Fleece - Low Loft (90cm Wide) White 4794 4795 </a> 4796 4797 4798 <a href="https://www.barnyarns.co.uk/collections/fusible-fleece" id="shop-all" class="block border-b border-gray-200 py-6 text-black flex items-center justify-between hover:underline font-bold"> 4799 4800 Shop All Fusible Fleece 4801 4802 </a> 4803 4804 </navigation-mobile-subitem> 4805 </template> 4806 </navigation-mobile-item> 4807 4808 4809 4810 4811 4812 4813 4814 4815 <navigation-mobile-item id="3-fabric-adhesives" @menu:changed="(id) => onToggle(id)"> 4816 <a href="https://www.barnyarns.co.uk/collections/fabric-adhesives" id="fabric-adhesives" class="block text-black flex items-center border-b border-gray-200 py-6 justify-between hover:underline "> 4817 Fabric Adhesives 4818<svg class="icon icon--select-arrow-right w-1.5 h-auto fill-gray-900 shrink-0" role="presentation" viewB
4818ox="0 0 11 18"> 4819 <path d="M1.5 1.5l8 7.5-8 7.5" stroke-width="2" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="square"></path> 4820 </svg></a> 4821 <template #subitems> 4822 <navigation-mobile-subitem level="3" id="3-fabric-adhesives"> 4823 4824 4825 <a href="https://www.barnyarns.co.uk/collections/fabric-adhesives/products/heatnbond-lite-metre-stock-for-easy-fabric-bonding" id="heatnbond-lite-17-inch-43cm-wide" class="block border-b border-gray-200 py-6 text-black flex items-center justify-between hover:underline "> 4826 4827 HeatnBond Lite 17 inch (43cm) Wide 4828 4829 </a> 4830 4831 4832 <a href="https://www.barnyarns.co.uk/collections/fabric-adhesives/products/soft-stretch-ultra-heatnbond-metre-stock-full-bolt?variant=49522662080793" id="heatnbond-ultra-soft-stretch-43cm-wide" class="block border-b border-gray-200 py-6 text-black flex items-center justify-between hover:underline "> 4833 4834 HeatnBond Ultra Soft & Stretch (43cm Wide) 4835 4836 </a> 4837 4838 4839 <a href="https://www.barnyarns.co.uk/collections/fabric-adhesives/products/heatnbond-ultra-metre-stock" id="heatnbond-ultra-43cm-wide" class="block border-b border-gray-200 py-6 text-black flex items-center justify-between hover:underline "> 4840 4841 HeatnBond Ultra (43cm) Wide 4842 4843 </a> 4844 4845 4846 <a href="https://www.barnyarns.co.uk/collections/fabric-adhesives/products/bondaweb-45cm-metre-stock-and-full-roll-by-vlieseline" id="bondaweb-45cm-wide" class="block border-b border-gray-200 py-6 text-black flex items-center justify-between hover:underline "> 4847 4848 Bondaweb 45cm Wide 4849 4850 </a> 4851 4852 4853 <a href="https://www.barnyarns.co.uk/collections/fabric-adhesives/products/bondaweb-90cm-wide-metre-stock-cut-off-the-roll-by-vlieseline" id="bondaweb-90cm-wide" class="block border-b border-gray-200 py-6 text-black flex items-center justify-between hover:underline "> 4854 4855 Bondaweb 90cm Wide 4856 4857 </a> 4858 4859 4860 <a href="https://www.barnyarns.co.uk/collections/fabric-adhesives?sort_by=best-selling" id="shop-all" class="block border-b border-gray-200 py-6 text-black flex items-center justify-between hover:underline font-bold"> 4861 4862 Shop All Fabric Adhesives 4863 4864 </a> 4865 4866 </navigation-mobile-subitem> 4867 </template> 4868 </navigation-mobile-item> 4869 4870 4871 4872 4873 4874 4875 4876 4877 <navigation-mobile-item id="3-cut-away-stabilisers" @menu:changed="(id) => onToggle(id)"> 4878 <a href="https://www.barnyarns.co.uk/collections/cut-away-stabilisers" id="cut-away-stabilisers" class="block text-black flex items-center border-b border-gray-200 py-6 justify-between hover:underline "> 4879 Cut Away Stabilisers 4880<svg class="icon icon--select-arrow-right w-1.5 h-auto fill-gray-900 shrink-0" role="presentation" viewB
4880ox="0 0 11 18"> 4881 <path d="M1.5 1.5l8 7.5-8 7.5" stroke-width="2" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="square"></path> 4882 </svg></a> 4883 <template #subitems> 4884 <navigation-mobile-subitem level="3" id="3-cut-away-stabilisers"> 4885 4886 4887 <a href="https://www.barnyarns.co.uk/collections/cut-away-stabilisers/products/80g-cut-away-stabiliser-white-90cm-wide" id="cut-away-stabiliser-90cm-wide-white" class="block border-b border-gray-200 py-6 text-black flex items-center justify-between hover:underline "> 4888 4889 Cut Away Stabiliser - 90cm Wide White 4890 4891 </a> 4892 4893 4894 <a href="https://www.barnyarns.co.uk/collections/cut-away-stabilisers/products/80g-cut-away-stabiliser-90cm-wide-roll-metre-stock" id="cut-away-stabiliser-90cm-wide-black" class="block border-b border-gray-200 py-6 text-black flex items-center justify-between hover:underline "> 4895 4896 Cut Away Stabiliser - 90cm Wide Black 4897 4898 </a> 4899 4900 4901 <a href="https://www.barnyarns.co.uk/collections/cut-away-stabilisers?sort_by=best-selling" id="shop-all" class="block border-b border-gray-200 py-6 text-black flex items-center justify-between hover:underline font-bold"> 4902 4903 Shop All Cut Away Stabilisers 4904 4905 </a> 4906 4907 </navigation-mobile-subitem> 4908 </template> 4909 </navigation-mobile-item> 4910 4911 4912 4913 4914 4915 <a href="/collections/stabilisers" id="stabilisers-fabrics" class="font-semibold block border-b border-gray-200 py-6 text-black flex items-center justify-between hover:underline "> 4916 Shop All Stabilisers & Fabrics 4917 </a> 4918 4919 4920 4921 4922 </navigation-mobile-subitem> 4923 </template> 4924 4925 </navigation-mobile-item> 4926 4927 4928 4929 4930 4931 <a href="/collections/wadding" id="wadding" class="block font-semibold border-b border-gray-200 py-6 text-black flex items-center justify-between hover:underline "> 4932 Wadding 4933 </a> 4934 4935 4936 4937 4938 4939 <a href="/pages/service-or-repair-your-sewing-machine" id="nationwide-service-centre" class="block font-semibold border-b border-gray-200 py-6 text-black flex items-center justify-between hover:underline "> 4940 Nationwide Service Centre 4941 </a> 4942 4943 4944 4945 4946 4947 <navigation-mobile-item id="2-sewing-machines" @menu:changed="(id) => onToggle(id)"> 4948 <a href="/collections/sewing-machines" id="sewing-machines" class="font-semibold block border-b border-gray-200 py-6 text-black flex items-center justify-between hover:underline "> 4949 Sewing Machines 4950<svg class="icon icon--select-arrow-right w-1.5 h-auto fill-gray-900 shrink-0" role="presentation" viewB
4950ox="0 0 11 18"> 4951 <path d="M1.5 1.5l8 7.5-8 7.5" stroke-width="2" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="square"></path> 4952 </svg></a> 4953 4954 <template #subitems> 4955 <navigation-mobile-subitem level="2" id="2-sewing-machines"> 4956 4957 4958 4959 <navigation-mobile-item id="3-janome-sewing-machines" @menu:changed="(id) => onToggle(id)"> 4960 <a href="/collections/janome-sewing-machines" id="janome-sewing-machines" class="block text-black flex items-center border-b border-gray-200 py-6 justify-between hover:underline "> 4961 Janome Sewing Machines 4962<svg class="icon icon--select-arrow-right w-1.5 h-auto fill-gray-900 shrink-0" role="presentation" viewBox="0 0 11 18"> 4963 <path d="M1.5 1.5l8 7.5-8 7.5" stroke-width="2" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="square"></path> 4964 </svg></a> 4965 <template #subitems> 4966 <navigation-mobile-subitem level="3" id="3-janome-sewing-machines"> 4967 4968 4969 <a href="/collections/janome-sewing-machines" id="shop-all-janome-machines" class="block border-b border-gray-200 py-6 text-black flex items-center justify-between hover:underline font-bold"> 4970 4971 Shop All Janome Sewing Machines 4972 4973 </a> 4974 4975 4976 <a href="/products/janome-2200xt" id="janome-2200-xt" class="block border-b border-gray-200 py-6 text-black flex items-center justify-between hover:underline "> 4977 4978 Janome 2200 XT 4979 4980 </a> 4981 4982 4983 <a href="/products/janome-horizon-memory-craft-9480-qcp" id="janome-9480-qcp" class="block border-b border-gray-200 py-6 text-black flex items-center justify-between hover:underline "> 4984 4985 Janome 9480 QCP 4986 4987 </a> 4988 4989 4990 <a href="/products/janome-cm8p" id="janome-m8-continental" class="block border-b border-gray-200 py-6 text-black flex items-center justify-between hover:underline "> 4991 4992 Janome M8 Continental 4993 4994 </a> 4995 4996 </navigation-mobile-subitem> 4997 </template> 4998 </navigation-mobile-item> 4999 5000 5001 5002 5003 5004 5005 5006 5007 <navigation-mobile-item id="3-ber
5007nina-sewing-machines" @menu:changed="(id) => onToggle(id)"> 5008 <a href="/collections/bernina-sewing-machines" id="bernina-sewing-machines" class="block text-black flex items-center border-b border-gray-200 py-6 justify-between hover:underline "> 5009 Bernina Sewing Machines 5010<svg class="icon icon--select-arrow-right w-1.5 h-auto fill-gray-900 shrink-0" role="presentation" viewBox="0 0 11 18"> 5011 <path d="M1.5 1.5l8 7.5-8 7.5" stroke-width="2" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="square"></path> 5012 </svg></a> 5013 <template #subitems> 5014 <navigation-mobile-subitem level="3" id="3-bernina-sewing-machines"> 5015 5016 5017 <a href="/collections/bernina-sewing-machines" id="shop-all-bernina-machines" class="block border-b border-gray-200 py-6 text-black flex items-center justify-between hover:underline font-bold"> 5018 5019 Shop All Bernina Sewing Machines 5020 5021 </a> 5022 5023 5024 <a href="/products/bernina-435-sewing-machine" id="bernina-435-sewing-machine" class="block border-b border-gray-200 py-6 text-black flex items-center justify-between hover:underline "> 5025 5026 Bernina 435 Sewing Machine 5027 5028 </a> 5029 5030 5031 <a href="/products/bernina-570-qe-sewing-machine" id="bernina-570-qe-sewing-machine" class="block border-b border-gray-200 py-6 text-black flex items-center justify-between hover:underline "> 5032 5033 Bernina 570 QE Sewing Machine 5034 5035 </a> 5036 5037 5038 <a href="/products/bernina-790-pro-sewing-embroidery-machine" id="bernina-790-pro-sewing-embroidery" class="block border-b border-gray-200 py-6 text-black flex items-center justify-between hover:underline "> 5039 5040 Bernina 790 Pro Sewing & Embroidery 5041 5042 </a> 5043 5044 </navigation-mobile-subitem> 5045 </template> 5046 </navigation-mobile-item> 5047 5048 5049 5050 5051 5052 5053 5054 5055 <navigation-mobile-item id="3-babylock-overlocking-machines" @menu:changed="(id) => onToggle(id)"> 5056 <a href="/collections/babylock-overlocking-machines" id="babylock-overlocking-machines" class="block text-black flex items-center border-b border-gray-200 py-6 justify-between hover:underline "> 5057 Babylock Overlocking Machines 5058<svg class="icon icon--select-arrow-right w-1.5 h-auto fill-gray-900 shrink-0" role="presentation" viewB
5058ox="0 0 11 18"> 5059 <path d="M1.5 1.5l8 7.5-8 7.5" stroke-width="2" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="square"></path> 5060 </svg></a> 5061 <template #subitems> 5062 <navigation-mobile-subitem level="3" id="3-babylock-overlocking-machines"> 5063 5064 5065 <a href="/collections/babylock-overlocking-machines" id="shop-all-babylock-machines" class="block border-b border-gray-200 py-6 text-black flex items-center justify-between hover:underline font-bold"> 5066 5067 Shop All Babylock Overlocking Machines 5068 5069 </a> 5070 5071 5072 <a href="/products/babylock-euphoria" id="babylock-euphoria-overlocker" class="block border-b border-gray-200 py-6 text-black flex items-center justify-between hover:underline "> 5073 5074 Babylock Euphoria Overlocker 5075 5076 </a> 5077 5078 5079 <a href="/products/babylock-gloria" id="babylock-gloria-overlocker" class="block border-b border-gray-200 py-6 text-black flex items-center justify-between hover:underline "> 5080 5081 Babylock Gloria Overlocker 5082 5083 </a> 5084 5085 5086 <a href="/products/babylock-enlighten-overlocker" id="babylock-enlighten-overlocker" class="block border-b border-gray-200 py-6 text-black flex items-center justify-between hover:underline "> 5087 5088 Babylock Enlighten Overlocker 5089 5090 </a> 5091 5092 5093 <a href="/products/babylock-acclaim-overlocker" id="babylock-acclaim-overlocker" class="block border-b border-gray-200 py-6 text-black flex items-center justify-between hover:underline "> 5094 5095 Babylock Acclaim Overlocker 5096 5097 </a> 5098 5099 </navigation-mobile-subitem> 5100 </template> 5101 </navigation-mobile-item> 5102 5103 5104 5105 5106 5107 5108 5109 5110 <navigation-mobile-item id="3-pfaff-sewing-machines" @menu:changed="(id) => onToggle(id)"> 5111 <a href="/collections/pfaff-sewing-machines" id="pfaff-sewing-machines" class="block text-black flex items-center border-b border-gray-200 py-6 justify-between hover:underline "> 5112 Pfaff Sewing Machines 5113<svg class="icon icon--select-arrow-right w-1.5 h-auto fill-gray-900 shrink-0" role="presentation" viewB
5113ox="0 0 11 18"> 5114 <path d="M1.5 1.5l8 7.5-8 7.5" stroke-width="2" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="square"></path> 5115 </svg></a> 5116 <template #subitems> 5117 <navigation-mobile-subitem level="3" id="3-pfaff-sewing-machines"> 5118 5119 5120 <a href="/collections/pfaff-sewing-machines" id="shop-all-pfaff-machines" class="block border-b border-gray-200 py-6 text-black flex items-center justify-between hover:underline font-bold"> 5121 5122 Shop All Pfaff Sewing Machines 5123 5124 </a> 5125 5126 5127 <a href="/products/pfaff-ambition-635-sewing-machine" id="pfaff-ambition-635-sewing-machine" class="block border-b border-gray-200 py-6 text-black flex items-center justify-between hover:underline "> 5128 5129 Pfaff Ambition 635 Sewing Machine 5130 5131 </a> 5132 5133 5134 <a href="/products/pfaff-performance-icon-sewing-machine" id="pfaff-performance-icon-sewing-machine" class="block border-b border-gray-200 py-6 text-black flex items-center justify-between hover:underline "> 5135 5136 Pfaff Performance Icon Sewing Machine 5137 5138 </a> 5139 5140 5141 <a href="/products/pfaff-creative-icon-2-sewing-embroidery-machine-in-mulberry" id="pfaff-creative-icon-sewing-embroidery" class="block border-b border-gray-200 py-6 text-black flex items-center justify-between hover:underline "> 5142 5143 Pfaff Creative Icon Sewing & Embroidery 5144 5145 </a> 5146 5147 </navigation-mobile-subitem> 5148 </template> 5149 </navigation-mobile-item> 5150 5151 5152 5153 5154 5155 5156 5157 5158 <navigation-mobile-item id="3-bernette-sewing-machines" @menu:changed="(id) => onToggle(id)"> 5159 <a href="/collections/bernette-sewing-machines" id="bernette-sewing-machines" class="block text-black flex items-center border-b border-gray-200 py-6 justify-between hover:underline "> 5160 Bernette Sewing Machines 5161<svg class="icon icon--select-arrow-right w-1.5 h-auto fill-gray-900 shrink-0" role="presentation" viewB
5161ox="0 0 11 18"> 5162 <path d="M1.5 1.5l8 7.5-8 7.5" stroke-width="2" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="square"></path> 5163 </svg></a> 5164 <template #subitems> 5165 <navigation-mobile-subitem level="3" id="3-bernette-sewing-machines"> 5166 5167 5168 <a href="/collections/bernette-sewing-machines" id="shop-all-bernette-machines" class="block border-b border-gray-200 py-6 text-black flex items-center justify-between hover:underline font-bold"> 5169 5170 Shop All Bernette Sewing Machines 5171 5172 </a> 5173 5174 5175 <a href="/products/bernette-35" id="bernette-35-sewing-machine" class="block border-b border-gray-200 py-6 text-black flex items-center justify-between hover:underline "> 5176 5177 Bernette 35 Sewing Machine 5178 5179 </a> 5180 5181 5182 <a href="/products/bernette-44" id="bernette-44-overlocker" class="block border-b border-gray-200 py-6 text-black flex items-center justify-between hover:underline "> 5183 5184 Bernette 44 Overlocker 5185 5186 </a> 5187 5188 5189 <a href="/products/bernette-77" id="bernette-77-sewing-machine" class="block border-b border-gray-200 py-6 text-black flex items-center justify-between hover:underline "> 5190 5191 Bernette 77 Sewing Machine 5192 5193 </a> 5194 5195 </navigation-mobile-subitem> 5196 </template> 5197 </navigation-mobile-item> 5198 5199 5200 5201 5202 5203 <a href="/collections/sewing-machines" id="sewing-machines" class="font-semibold block border-b border-gray-200 py-6 text-black flex items-center justify-between hover:underline "> 5204 Shop All Sewing Machines 5205 </a> 5206 5207 5208 5209 5210 </navigation-mobile-subitem> 5211 </template> 5212 5213 </navigation-mobile-item> 5214 5215 5216 5217 5218 5219 <a href="/pages/barnyarns-trade-uk-official-distributor-of-superior-threads-thermoweb-more" id="trade" class="block font-semibold border-b border-gray-200 py-6 text-black flex items-center justify-between hover:underline "> 5220 Trade 5221 </a> 5222 5223 5224 </div><!-- /.main-menu--level-1 --> 5225 </div><!-- /.main-menu --> 5226 </template> 5227 <template #footer> 5228 <div class="space-y-8 p-6 border-t border-gray-300 w-full bg-white"> 5229 5230 <div class="w-full flex items-center"><svg class="icon icon--lock w-4 h-auto mr-2" role="presentation" viewB
5230ox="0 0 24 24"> 5231 <g stroke="currentColor" fill="none" stroke-width="2" stroke-linecap="square" stroke-linejoin="miter"> 5232 <path stroke-miterlimit="10" d="M12,1L12,1 C9.2,1,7,3.2,7,6v3h10V6C17,3.2,14.8,1,12,1z"></path> 5233 <rect x="4" y="9" stroke-miterlimit="10" width="16" height="14"></rect> 5234 <circle stroke-miterlimit="10" cx="12" cy="15" r="2"></circle> 5235 <line stroke-miterlimit="10" x1="12" y1="17" x2="12" y2="19"></line> 5236 </g> 5237 </svg><a href="https://www.barnyarns.co.uk/customer_authentication/redirect?locale=en®ion_country=GB" class="-m-2 block p-2 font-medium text-black">Sign in</a> 5238 </div> 5239 <div class="w-full flex items-center"><svg viewBox="0 0 24 24" class="icon icon--account w-4 h-auto mr-2" role="presentation" aria-hidden="true"><path d="M12 0c-6.627 0-12 5.373-12 12s5.373 12 12 12 12-5.373 12-12-5.373-12-12-12zm7.753 18.305c-.261-.586-.789-.991-1.871-1.241-2.293-.529-4.428-.993-3.393-2.945 3.145-5.942.833-9.119-2.489-9.119-3.388 0-5.644 3.299-2.489 9.119 1.066 1.964-1.148 2.427-3.393 2.945-1.084.25-1.608.658-1.867 1.246-1.405-1.723-2.251-3.919-2.251-6.31 0-5.514 4.486-10 10-10s10 4.486 10 10c0 2.389-.845 4.583-2.247 6.305z"/></svg><a href="https://shopify.com/86748659993/account?locale=en®ion_country=GB&buyer_flags=eyJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJiYXJueWFybnMubXlzaG9waWZ5LmNvbSIsImZsYWdzIjpbXSwiZXhwIjoxNzkxNjc4NDg1LCJuYmYiOjE3OTEwNzM2ODV9.qoybGbzPHyxezVEJe_m5LzZp9wnACpsfey0w51iE6mA" class="-m-2 block p-2 font-medium text-black">Create account</a> 5240 </div> 5241 5242 </div><!-- /.footer --> 5243 </template> 5244</navigation-mobile> 5245 5246 5247 </navigation-navigation> 5248</div> 5249 5250</header> 5251 5252<style data-shopify> 5253 .section-header { 5254 --navigation-text-color: #000000; 5255 --navigation-background-color: #ffffff; 5256 --search-text-color: #000000; 5257 --search-background-color: #ffffff; 5258 --cart-count-text-color: #000000; 5259 --cart-count-background-color: #ffffff; 5260 } 5261</style> 5262 5263 5264</div> 5265 <div id="shopify-section-breadcrumb" class="shopify-section section shopify-section shopify-section--breadcrumb shopify-section-vue vue-section"><component is="style" v-cloak> 5266 #breadcrumb { 5267 background-color: rgba(0,0,0,0); 5268 } 5269 5270 #breadcrumb .breadcrumbs__item:first-child .breadcrumbs__link { 5271 color: #6b7280; 5272 } 5273 5274 #breadcrumb .breadcrumbs__item:first-child svg { 5275 color: #6b7280; 5276 fill: #6b7280; 5277 } 5278 5279 #breadcrumb .breadcrumbs__item .breadcrumbs__link { 5280 color: #000000; 5281 } 5282 5283 #breadcrumb .breadcrumbs__item svg { 5284 color: #6b7280; 5285 fill: #6b7280; 5286 } 5287</component> 5288 5289 5290</div> 5291 <div id="shopify-section-template--22645124170009__169217815515d4e64c" class="shopify-section"><div class="container mx-auto max-w-screen-2xl pt-8 pr-8 pb-8 pl-8 mt-0 mb-0 5292 px-4"><div id="shopify-block-AWEtxRG5aaUljK3dwW__trustpilot_trustpilot_micro_combo_widget_kT6Rye" class="shopify-block shopify-app-block"><!-- BEGIN app snippet: trustpilot-widget-bootstrap --> 5293 5294 5295 5296
5297<script type="text/javascript" src='//widget.trustpilot.com/bootstrap/v5/tp.widget.bootstrap.min.js' data-dynamic async></script>
5297 5298 5299<!-- END app snippet --> 5300 5301 5302 5303 5304 5305 5306 5307 5308<div 5309 class="trustpilot-widget" 5310 data-locale="en-US" 5311 data-template-id="5419b6ffb0d04a076446a9af" 5312 data-businessunit-id='5eb7bcf0ed1c0c00013ab638' 5313 data-integration="shopify" 5314 data-style-width="100%" 5315 data-style-height="39px" 5316 data-font-family="Helvetica Neue" 5317 data-review-disclaimer="" 5318 data-theme="light" 5319 data-text-color="#191919" 5320 style="display: flex; justify-content: center; width: 100%; padding: 10px 10px;" 5321> 5322 <a href="https://www.trustpilot.com/review/www.barnyarns.co.uk" target="_blank" rel="noopener">Trustpilot</a> 5323</div> 5324 5325 5326</div></div> 5327 5328 5329</div><div id="shopify-section-template--22645124170009__breadcrumb_U777EF" class="shopify-section section shopify-section shopify-section--breadcrumb shopify-section-vue vue-section"><div id="template--22645124170009__breadcrumb_U777EF" class=""> 5330 <div class="mx-auto max-w-screen-2xl mx-auto px-6 relative px-4 pt-4 sm:pr-4 pb-0 sm:pl-4 mt-0 mb-0 5331"><nav class="breadcrumbs" role="navigation" aria-label="breadcrumbs"> 5332 <ol class="breadcrumbs__list"> 5333 <li class="breadcrumbs__item"> 5334 <a class="text-gray-400 hover:text-gray-500 breadcrumbs__link" href="/">Home</a> 5335 </li><li class="breadcrumbs__item"> 5336 <svg class="h-5 w-5 flex-shrink-0 text-gray-300" fill="currentColor" viewBox="0 0 20 20" aria-hidden="true" class="icon icon--forwardslash " style=""> 5337 <path d="M5.555 17.776l8-16 .894.448-8 16-.894-.448z" /> 5338 </svg> 5339 <a class="breadcrumbs__link" href="/products/hobbs-heirloom-premium-80-20-cotton-poly-wadding-96-x-30-yds" aria-current="page">Hobbs Heirloom Premium 80/20 Cotton/Poly Wadding 96"</a> 5340 </li></ol> 5341</nav></div> 5342 </div><component is="style" v-cloak> 5343 #template--22645124170009__breadcrumb_U777EF { 5344 background-color: rgba(0,0,0,0); 5345 } 5346 5347 #template--22645124170009__breadcrumb_U777EF .breadcrumbs__item:first-child .breadcrumbs__link { 5348 color: #6b7280; 5349 } 5350 5351 #template--22645124170009__breadcrumb_U777EF .breadcrumbs__item:first-child svg { 5352 color: #6b7280; 5353 fill: #6b7280; 5354 } 5355 5356 #template--22645124170009__breadcrumb_U777EF .breadcrumbs__item .breadcrumbs__link { 5357 color: #000000; 5358 } 5359 5360 #template--22645124170009__breadcrumb_U777EF .breadcrumbs__item svg { 5361 color: #6b7280; 5362 fill: #6b7280; 5363 } 5364</component> 5365 5366 5367</div><section id="shopify-section-template--22645124170009__main" class="shopify-section section vue-section"> 5368<product-product 5369 id="main-product" 5370 class="product-page max-w-screen-2xl mx-auto px-6 lg:px-6 lg:pb-6" 5371 data-section-id="template--22645124170009__main" 5372 data-section-type="product" 5373 product-settings='{ 5374 "availableStock": 670, 5375 "vendor" : "Hobbs Heirloom", 5376 "current_variant" : {"id":49677659701529,"title":"Per Metre","option1":"Per Metre","option2":null,"option3":null,"sku":"HLBY96-1","requires_shipping":true,"taxable":true,"featured_image":null,"available":true,"name":"Hobbs Heirloom Premium 80\/20 Cotton\/Poly Wadding 96\" - Per Metre","public_title":"Per Metre","options":["Per Metre"],"price":1115,"weight":320,"compare_at_price":null,"inventory_management":"shopify","barcode":"5056259737490","requires_selling_plan":false,"selling_plan_allocations":[],"quantity_rule":{"min":1,"max":null,"increment":1}}, 5377 "section_id" : "template--22645124170009__main" 5378}' 5379 cart-success-message="Item added to your basket" 5380 v-slot="{slideIndex, available, disabled, onVariantChange, onQuantityChange, onAddToCart, onOpenPartExchangeModal, onClosePartExchangeModal}" 5381> 5382 <form method="post" action="/cart/add" id="form-product-main" accept-charset="UTF-8" class="product-form" enctype="multipart/form-data"><input type="hidden" name="form_type" value="product" /><input type="hidden" name="utf8" value="â" /> 5383 5384 <div class="mt-4 product-image"> 5385 <product-slider 5386 :media-count="1" 5387 :slide-index="slideIndex" 5388 :key="slideIndex" 5389 slider-options='{ 5390 "speed": 1000, 5391 "autoplay": false, 5392 "slidesPerView": 1 5393}' 5394 thumb-options='{ 5395 "speed": 1000, 5396 "autoplay": false, 5397 "spaceBetween": 10, 5398 "breakpoints": { 5399 "340": {"slidesPerView": 6}, 5400 "640": {"slidesPerView": 6}, 5401 "900": {"slidesPerView": 6}, 5402 "1024": {"slidesPerView": 6} 5403 }, 5404 "watchSlidesProgress": true 5405}' 5406 > 5407 <div id="media-39484633579801" tabindex="0" class="swiper-slide swiper-slide__equal-heights is-selected"> 5408 <a href="//www.barnyarns.co.uk/cdn/shop/files/96-inch-hobbs-heirloom_6a67f231-0af7-4719-893f-83a93c64a21f.jpg?crop=center&height=2400&v=1727436540&width=2400" data-pswp-width="600" data-pswp-height="600" target="_blank" rel="noreferrer" class="relative block aspect-ratio aspect-ratio--short aspect-ratio--with-fallback lazyload" style="max-width: 600px; padding-bottom: 100.0%; --aspect-ratio: 1"> 5409 5410 <img src="//www.barnyarns.co.uk/cdn/shop/files/96-inch-hobbs-heirloom_6a67f231-0af7-4719-893f-83a93c64a21f.jpg?v=1727436540&width=1200" alt="Hobbs Heirloom Premium 80/20 Cotton/Poly Wadding 96"" srcset="//www.barnyarns.co.uk/cdn/shop/files/96-inch-hobbs-heirloom_6a67f231-0af7-4719-893f-83a93c64a21f.jpg?v=1727436540&width=200 200w, //www.barnyarns.co.uk/cdn/shop/files/96-inch-hobbs-heirloom_6a67f231-0af7-4719-893f-83a93c64a21f.jpg?v=1727436540&width=400 400w, //www.barnyarns.co.uk/cdn/shop/files/96-inch-hobbs-heirloom_6a67f231-0af7-4719-893f-83a93c64a21f.jpg?v=1727436540&width=600 600w" width="600" height="600" loading="lazy" class="w-full h-full object-contain object-center lazyload" sizes="auto"> 5411
5412 <span class="image-loader"></span> 5413 5414 <noscript> 5415 <img src="//www.barnyarns.co.uk/cdn/shop/files/96-inch-hobbs-heirloom_6a67f231-0af7-4719-893f-83a93c64a21f_560x.jpg?v=1727436540" alt="Hobbs Heirloom Premium 80/20 Cotton/Poly Wadding 96"" class="w-full h-full object-contain object-center lazyload"> 5416 </noscript> 5417 </a> 5418 </div><!-- /.media --> 5419 <template #thumbs> 5420 5421 </template> 5422 </product-slider> 5423 </div><!-- /.product-image --> 5424<component is="script" type="application/json" data-product-json v-cloak> 5425 { 5426 "product": {"id":9708660130073,"title":"Hobbs Heirloom Premium 80\/20 Cotton\/Poly Wadding 96\"","handle":"hobbs-heirloom-premium-80-20-cotton-poly-wadding-96-x-30-yds","description":"\u003cp\u003eHobbs Heirloom batting is one of the best in the business.\u003c\/p\u003e\u003cp\u003eIts easy to hand or machine quilt with this lovely wadding up to four inches apart.\u003c\/p\u003e\u003cp\u003eShrinks about 3-5% and can be pre-shrunk.\u003c\/p\u003e\u003cp\u003eVery clean cotton mixed with 20% polyester, lightly needle punched and lightly resinated.\u003c\/p\u003e\u003cp\u003eGreater loft gives more definition than other 100% cotton battings.\u003c\/p\u003e\u003cp\u003eThe colour is the natural cotton\u003c\/p\u003e","published_at":"2024-09-27T12:06:10+01:00","created_at":"2024-09-27T12:06:12+01:00","vendor":"Hobbs Heirloom","type":"Cotton Blend","tags":["Best Seller__label"],"price":1115,"price_min":1115,"price_max":29100,"available":true,"price_varies":true,"compare_at_price":null,"compare_at_price_min":0,"compare_at_price_max":0,"compare_at_price_varies":false,"variants":[{"id":49677659701529,"title":"Per Metre","option1":"Per Metre","option2":null,"option3":null,"sku":"HLBY96-1","requires_shipping":true,"taxable":true,"featured_image":null,"available":true,"name":"Hobbs Heirloom Premium 80\/20 Cotton\/Poly Wadding 96\" - Per Metre","public_title":"Per Metre","options":["Per Metre"],"price":1115,"weight":320,"compare_at_price":null,"inventory_management":"shopify","barcode":"5056259737490","requires_selling_plan":false,"selling_plan_allocations":[],"quantity_rule":{"min":1,"max":null,"increment":1}},{"id":49677659734297,"title":"5 Metres","option1":"5 Metres","option2":null,"option3":null,"sku":"HLBY96-5","requires_shipping":true,"taxable":true,"featured_image":null,"available":true,"name":"Hobbs Heirloom Premium 80\/20 Cotton\/Poly Wadding 96\" - 5 Metres","public_title":"5 Metres","options":["5 Metres"],"price":5335,"weight":1600,"compare_at_price":null,"inventory_management":"shopify","barcode":null,"requires_selling_plan":false,"selling_plan_allocations":[],"quantity_rule":{"min":1,"max":null,"increment":1}},{"id":49677659767065,"title":"Full Roll 30 yds","option1":"Full Roll 30 yds","option2":null,"option3":null,"sku":"HLBY96-R30","requires_shipping":true,"taxable":true,"featured_image":null,"available":true,"name":"Hobbs Heirloom Premium 80\/20 Cotton\/Poly Wadding 96\" - Full Roll 30 yds","public_title":"Full Roll 30 yds","options":["Full Roll 30 yds"],"price":29100,"weight":7500,"compare_at_price":null,"inventory_management":"shopify","barcode":"0040086010548","requires_selling_plan":false,"selling_plan_allocations":[],"quantity_rule":{"min":1,"max":null,"increment":1}}],"images":["\/\/www.barnyarns.co.uk\/cdn\/shop\/files\/96-inch-hobbs-heirloom_6a67f231-0af7-4719-893f-83a93c64a21f.jpg?v=1727436540"],"featured_image":"\/\/www.barnyarns.co.uk\/cdn\/shop\/files\/96-inch-hobbs-heirloom_6a67f231-0af7-4719-893f-83a93c64a21f.jpg?v=1727436540","options":["Length"],"media":[{"alt":null,"id":39484633579801,"position":1,"preview_image":{"aspect_ratio":1.0,"height":600,"width":600,"src":"\/\/www.barnyarns.co.uk\/cdn\/shop\/files\/96-inch-hobbs-heirloom_6a67f231-0af7-4719-893f-83a93c64a21f.jpg?v=1727436540"},"aspect_ratio":1.0,"height":600,"media_type":"image","src":"\/\/www.barnyarns.co.uk\/cdn\/shop\/files\/96-inch-hobbs-heirloom_6a67f231-0af7-4719-893f-83a93c64a21f.jpg?v=1727436540","width":600}],"requires_selling_plan":false,"selling_plan_groups":[],"content":"\u003cp\u003eHobbs Heirloom batting is one of the best in the business.\u003c\/p\u003e\u003cp\u003eIts easy to hand or machine quilt with this lovely wadding up to four inches apart.\u003c\/p\u003e\u003cp\u003eShrinks about 3-5% and can be pre-shrunk.\u003c\/p\u003e\u003cp\u003eVery clean cotton mixed with 20% polyester, lightly needle punched and lightly resinated.\u003c\/p\u003e\u003cp\u003eGreater loft gives more definition than other 100% cotton battings.\u003c\/p\u003e\u003cp\u003eThe colour is the natural cotton\u003c\/p\u003e"}, 5427 "selected_variant_id": 49677659701529 5428} 5429</component> 5430 5431 <div class="mt-4 lg:px-4 flex gap-x-2 product-meta__tags order-0"><span class="h6 text-gray-500 border p-2 rounded-sm bg-gray-50 border-gray-800 "> 5432 Best Seller 5433 </span></div><h1 class="mt-4 text-3.5xl font-bold leading-tight lg:px-4 lg:mt-6 product-title" > 5434 Hobbs Heirloom Premium 80/20 Cotton/Poly Wadding 96" 5435 </h1> 5436 <p class="mt-0 lg:px-4 order-1 product-sku " 5437 id="sku-template--22645124170009__main" 5438 role="status" 5439 5440 >
5441 <span class="sr-only">SKU:</span>HLBY96-1</p><div id="price-template--22645124170009__main" class="mt-4 lg:px-4 product-price" role="status" > 5442 <product-price 5443 product_page 5444 show_sale_badge 5445 shop_taxes_included 5446 currency="GBP" 5447 shop_taxes_included=true 5448 shop_include_taxes_text="Tax included." 5449 sale_badge_color="#fb4040" 5450 sold_out_badge_color="#ea6969" 5451 ></product-price> 5452 </div> 5453 <div class="flex flex-col gap-4 mt-8 lg:px-4 product-variant-selector"> 5454 <product-variant-selector 5455 class="flex-1" 5456 v-slot="{ selectedVariant, selectOption, allOptionValuesWithoutSelected }" 5457 :current-variant="{'id':49677659701529,'title':'Per Metre','option1':'Per Metre','option2':null,'option3':null,'sku':'HLBY96-1','requires_shipping':true,'taxable':true,'featured_image':null,'available':true,'name':'Hobbs Heirloom Premium 80\/20 Cotton\/Poly Wadding 96\' - Per Metre','public_title':'Per Metre','options':['Per Metre'],'price':1115,'weight':320,'compare_at_price':null,'inventory_management':'shopify','barcode':'5056259737490','requires_selling_plan':false,'selling_plan_allocations':[],'quantity_rule':{'min':1,'max':null,'increment':1}}" 5458 :product-options="[{'name':'Length','position':1,'values':['Per Metre','5 Metres','Full Roll 30 yds']}]" 5459 :product-variants="[{'id':49677659701529,'title':'Per Metre','option1':'Per Metre','option2':null,'option3':null,'sku':'HLBY96-1','requires_shipping':true,'taxable':true,'featured_image':null,'available':true,'name':'Hobbs Heirloom Premium 80\/20 Cotton\/Poly Wadding 96\' - Per Metre','public_title':'Per Metre','options':['Per Metre'],'price':1115,'weight':320,'compare_at_price':null,'inventory_management':'shopify','barcode':'5056259737490','requires_selling_plan':false,'selling_plan_allocations':[],'quantity_rule':{'min':1,'max':null,'increment':1}},{'id':49677659734297,'title':'5 Metres','option1':'5 Metres','option2':null,'option3':null,'sku':'HLBY96-5','requires_shipping':true,'taxable':true,'featured_image':null,'available':true,'name':'Hobbs Heirloom Premium 80\/20 Cotton\/Poly Wadding 96\' - 5 Metres','public_title':'5 Metres','options':['5 Metres'],'price':5335,'weight':1600,'compare_at_price':null,'inventory_management':'shopify','barcode':null,'requires_selling_plan':false,'selling_plan_allocations':[],'quantity_rule':{'min':1,'max':null,'increment':1}},{'id':49677659767065,'title':'Full Roll 30 yds','option1':'Full Roll 30 yds','option2':null,'option3':null,'sku':'HLBY96-R30','requires_shipping':true,'taxable':true,'featured_image':null,'available':true,'name':'Hobbs Heirloom Premium 80\/20 Cotton\/Poly Wadding 96\' - Full Roll 30 yds','public_title':'Full Roll 30 yds','options':['Full Roll 30 yds'],'price':29100,'weight':7500,'compare_at_price':null,'inventory_management':'shopify','barcode':'0040086010548','requires_selling_plan':false,'selling_plan_allocations':[],'quantity_rule':{'min':1,'max':null,'increment':1}}]" 5460 @variant:changed="(variant, variantIds) => onVariantChange(variant, variantIds)" 5461 > 5462 <input name="id" type="hidden" :value="selectedVariant.id" readonly> 5463 5464 <div class="flex flex-col gap-y-4"> 5465 5466<div class="flex-1"> 5467 <label for="product-select-option-1" class="text-sm font-bold"> 5468 Length: 5469 </label><select 5470 id="product-select-1" 5471 class="w-full h-12 border rounded-md p-2 mt-2 overflow-hidden" 5472 :class="selectedVariant.options.includes('') ? 'active' : ''" 5473 @change="selectOption({name: 'Length'}, $event)" 5474 > 5475 5476 <option value="Per Metre" 5477 selected="selected" 5478 :disabled="! allOptionValuesWithoutSelected.includes('Per Metre')" 5479 data-product-url="" 5480 data-option-value-id="4312545001753" 5481 > 5482 Per Metre 5483 </option> 5484 5485 <option value="5 Metres" 5486 5487 :disabled="! allOptionValuesWithoutSelected.includes('5 Metres')" 5488 data-product-url="" 5489 data-option-value-id="4312545034521" 5490 > 5491 5 Metres 5492 </option> 5493 5494 <option value="Full Roll 30 yds" 5495 5496 :disabled="! allOptionValuesWithoutSelected.includes('Full Roll 30 yds')" 5497 data-product-url="" 5498 data-option-value-id="4312545067289" 5499 > 5500 Full Roll 30 yds 5501 </option> 5502 5503 </select></div> 5504 5505 </div> 5506 </product-variant-selector> 5507 </div><!-- /.product-variant-selector --> 5508 5509 5510 <div id="quantity-form-template--22645124170009__main" class="mt-4 lg:px-4 product-quantity-selector" 5511 5512 ><product-quantity-selector 5513 label 5514 :id="49677659701529" 5515 :quantity="1" 5516 :cart_quantity="0" 5517 :min="1" 5518 5519 :step="1" 5520 @quantity:changed="({amount, id}) => onQuantityChange(amount, id)" 5521 > 5522 </product-quantity-selector> 5523 </div> 5524 5525<div class="gap-4 mt-8 flex items-center flex-wrap lg:px-4 product-buy-buttons" v-show="available"> 5526 <button name="add" class="button button-add-to-cart bg-primary-500 text-white rounded-full flex items-center justify-center leading-7 flex-1" @click.prevent="onAddToCart" :disabled="disabled"> 5527 Add to cart
5528 <span v-if="disabled"><svg viewBox="0 0 38 38" class="icon icon--loading w-5 h-auto stroke-primary-900 ml-2 inline-block" style=""> 5529 <g fill="none" fill-rule="evenodd"> 5530 <g transform="translate(1 1)" stroke-width="2"> 5531 <circle stroke-opacity=".5" cx="18" cy="18" r="18"/> 5532 <path d="M36 18c0-9.94-8.06-18-18-18"> 5533 <animateTransform 5534 attributeName="transform" 5535 type="rotate" 5536 from="0 18 18" 5537 to="360 18 18" 5538 dur="1s" 5539 repeatCount="indefinite"/> 5540 </path> 5541 </g> 5542 </g> 5543 </svg></span> 5544 </button><div class="button-shopify-buy-it-now w-full"> 5545 <div data-shopify="payment-button" class="shopify-payment-button"> <shopify-accelerated-checkout recommended="{"supports_subs":false,"supports_def_opts":false,"name":"paypal","wallet_params":{"shopId":86748659993,"countryCode":"GB","merchantName":"Barnyarns","phoneRequired":true,"companyRequired":false,"shippingType":"shipping","shopifyPaymentsEnabled":true,"hasManagedSellingPlanState":null,"requiresBillingAgreement":false,"gatewayType":"CONNECTED","merchantId":"EA6VVVMF38G74","sdkUrl":"https://www.paypal.com/sdk/js?components=buttons\u0026commit=false\u0026currency=GBP\u0026locale=en_US\u0026client-id=AexZEtAxk09Ncgj6FSWFFyGKbxxAZ_LTyJ2DPdJWl1YUlecinmc5AfIaRF2qYjWlusWahlzz6SVkY5Ci\u0026merchant-id=EA6VVVMF38G74\u0026intent=authorize","serviceableCountryCodes":["GB","GG","IM","JE"]}}" fallback="{"supports_subs":true,"supports_def_opts":true,"name":"buy_it_now","wallet_params":{}}" access-token="2dbb9e58a0160892550a055b57f6a2ac" buyer-country="GB" buyer-locale="en" buyer-currency="GBP" variant-params="[{"id":49677659701529,"requiresShipping":true},{"id":49677659734297,"requiresShipping":true},{"id":49677659767065,"requiresShipping":true}]" shop-id="86748659993" enabled-flags="["1172c16a","a1d1f9a1","f5afabb3","370070f3"]" > <div class="shopify-payment-button__button" role="button" disabled aria-hidden="true" style="background-color: transparent; border: none"> <div class="shopify-payment-button__skeleton"> </div> </div> <div class="shopify-payment-button__more-options shopify-payment-button__skeleton" role="button" disabled aria-hidden="true"> </div> </shopify-accelerated-checkout> </div> 5546 </div><!-- /.button-shopify-buy-it-now w-full --></div><!-- /.product-buy-buttons --><div class="mt-4 lg:px-4 product-custom-app flex justify-center items-center"> 5547 5548 5549 </div><section aria-labelledby="details-heading" class="mt-4 lg:px-4 product-meta" > 5550 <h2 id="details-heading" class="sr-only">Additional details</h2> 5551 <div class="divide-y "> 5552 <product-collapsible-tab id="detail-title-collapsible_tab_V6YJYP-template--22645124170009__main" classes="group relative flex w-full items-center justify-between text-left p-4 bg-gray-100 text-gray-900 rounded-sm w-full inline-block"> 5553 <template #title> 5554 <div class="flex items-center"> 5555 5556 <span class="underline">Product Description</span> 5557 </div> 5558 </template> 5559 <template #content id="detail-content-collapsible_tab_V6YJYP-template--22645124170009__main"> 5560 <p>Hobbs Heirloom batting is one of the best in the business.</p><p>Its easy to hand or machine quilt with this lovely wadding up to four inches apart.</p><p>Shrinks about 3-5% and can be pre-shrunk.</p><p>Very clean cotton mixed with 20% polyester, lightly needle punched and lightly resinated.</p><p>Greater loft gives more definition than other 100% cotton battings.</p><p>The colour is the natural cotton</p> 5561 5562 5563 5564 </template> 5565 </product-collapsible-tab> 5566 </div> 5567 </section><section aria-labelledby="details-heading" class="mt-4 lg:px-4 product-meta" > 5568 <h2 id="details-heading" class="sr-only">Additional details</h2> 5569 <div class="divide-y "> 5570 <product-collapsible-tab id="detail-title-collapsible_tab_BF4UAg-template--22645124170009__main" classes="group relative flex w-full items-center justify-between text-left p-4 bg-gray-100 text-gray-900 rounded-sm w-full inline-block"> 5571 <template #title> 5572 <div class="flex items-center"> 5573
5574 <span class="underline">Delivery & returns</span> 5575 </div> 5576 </template> 5577 <template #content id="detail-content-collapsible_tab_BF4UAg-template--22645124170009__main"> 5578 5579 <p class="p1"><b>Refund & Returns Policy</b></p> 5580<p class="p2">Thank you for shopping with <b>Barnyarns</b> â we value your custom and aim to deliver only the highest quality products and service.</p> 5581<p class="p2">While we hope you're completely satisfied with your order, we understand that occasionally you may need to return an item. Please read the following policy carefully, as it outlines your rights and our terms for returns and refunds. This policy complies with current UK law, including the <b>Consumer Contracts Regulations 2013</b>.</p> 5582<p class="p3"><br></p> 5583<p class="p1"><b>Right to Cancel (UK Online Orders)</b></p> 5584<p class="p2">You have the legal right to cancel your order within <b>14 calendar days</b> of receiving the goods. You do not need to provide a reason, and a full refund will be issued provided the goods meet our return conditions (see below).</p> 5585<p class="p2">Please note: This right <b>does not apply to</b>:</p> 5586<ul class="ul1"> 5587<li class="li2"><span class="s1"></span><b>Fabric that has been cut to order</b> from the roll</li> 5588<li class="li2"><span class="s1"></span><b>Thread that has been unwound</b> or had its <b>protective packaging removed</b></li> 5589<li class="li2"><span class="s1"></span><b>Personalised or custom-made items</b></li> 5590<li class="li2"><span class="s1"></span><b>Sealed goods</b> (e.g. needles, adhesives, scissors) that have been <b>unsealed</b> for hygiene or safety reasons</li> 5591</ul> 5592<p class="p1"><span class="s1">Orders containing more than 5 items are subject to a 25% restocking fee if the full order is returned or exchanged. This includes returns requested due to colour preference changes, selecting the wrong colour, or changing your mind on product choices.</span></p> 5593<p class="p1"><span class="s1">We strongly recommend taking the time to carefully research the correct colours and products before purchasing. For most of our thread brands, thread shade cards are available to purchase to help ensure accurate colour selection prior to ordering.</span></p> 5594<p class="p1"><span class="s1">We make every effort to ensure the images displayed on our website accurately represent our products and colours. However, colours may vary slightly depending on your screen settings, monitor resolution, device display, and lighting conditions.</span></p> 5595<p class="p3"><br></p> 5596<p class="p1"><b>Return Window & Conditions</b></p> 5597<p class="p2">If you change your mind after 14 days, we may, at our discretion, accept a return for <b>exchange or store credit only</b> within <b>30 days</b> of delivery. We will not accept any returns after 30 days.</p> 5598<p class="p2">To be eligible for a return, all items must:</p> 5599<ul class="ul1"> 5600<li class="li2"><span class="s1"></span>Be <b>unused</b>, <b>unopened</b>, and in <b>fully resalable condition</b></li> 5601<li class="li2"><span class="s1"></span>Be returned in <b>original, undamaged packaging</b></li> 5602<li class="li2"><span class="s1"></span>Not show signs of tampering or use (e.g. unwound thread, cut fabric, opened wrappers)</li> 5603<li class="li2"><span class="s1"></span>Include your <b>name</b>, <b>order number</b>, <b>return reason</b>, and <b>contact number</b></li> 5604</ul> 5605<p class="p2">We reserve the right to refuse returns that do not meet these conditions.</p> 5606<p class="p3"><br></p> 5607<p class="p1"><b>Damaged, Faulty or Incorrect Items</b></p> 5608<p class="p2">If your item arrives <b>damaged</b>, <b>faulty</b>, or is <b>incorrectly dispatched</b>, you must notify us within <b>7 calendar days</b> of receipt.</p> 5609<p class="p2">We will offer a replacement, refund, or suitable resolution, and cover the cost of return postage for faulty or incorrect items.</p> 5610<p class="p3"><br></p> 5611<p class="p1"><b>Returns Process</b></p> 5612<ol class="ol1"> 5613<li class="li2"><b>Contact Us First</b><br>
5613Email: <a href="/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="1a696f6a6a75686e5a787b6874637b687469347975346f71">[email protected]</a><br>Phone: <b>01765 690069</b><br>Please do not send items back before contacting us.</li> 5614<li class="li2"><b>Return Address</b><br>Barnyarns<br>24 Barker Business Park<br>Melmerby<br>Ripon<br>HG4 5NB</li> 5615<li class="li2"><b>Postage Method</b><br>We strongly recommend using a <b>tracked or signed-for service</b>. We cannot be responsible for items lost in transit.</li> 5616</ol> 5617<p class="p3"><br></p> 5618<p class="p1"><b>Refunds</b></p> 5619<ul class="ul1"> 5620<li class="li2"><span class="s1"></span>Refunds will be made to the <b>original payment method</b> used.</li> 5621<li class="li2"><span class="s1"></span>For orders using multiple payment methods (e.g., PayPal and Loyalty Points), refunds will be split proportionally.</li> 5622<li class="li2"><span class="s1"></span>Once your return is approved and received in acceptable condition, we will process the refund within <b>5 working days</b>.</li> 5623</ul> 5624<p class="p3"><br></p> 5625<p class="p1"><b>Delivery Costs</b></p> 5626<ul class="ul1"> 5627<li class="li2"><span class="s1"></span>For unwanted or incorrectly ordered items, return postage is your responsibility. The <b>original delivery charge will not be refunded</b>.</li> 5628<li class="li2"><span class="s1"></span>For faulty or incorrect items, we will cover <b>all return and original delivery costs</b>.</li> 5629</ul> 5630<p class="p3"><br></p> 5631<p class="p1"><b>Non-Returnable Items (Strictly No Refund or Exchange)</b></p> 5632<p class="p2">We do <b>not</b> accept returns for:</p> 5633<ul class="ul1"> 5634<li class="li2"><span class="s1"></span><b>Fabric cut from the roll</b></li> 5635<li class="li2"><span class="s1"></span><b>Thread that has been unwound or removed from its plastic wrapping</b></li> 5636<li class="li2"><span class="s1"></span><b>Opened or unsealed hygiene-sensitive items</b> (e.g. needles, glues, scissors)</li> 5637<li class="li2"><span class="s1"></span>Any item that is <b>used</b>, <b>marked</b>, or <b>not in resalable condition</b></li> 5638</ul> 5639<p class="p3"><br></p> 5640<p class="p1"><b>Final Notes</b></p> 5641<ul class="ul1"> 5642<li class="li2"><span class="s1"></span>All returns are inspected before a refund is issued.</li> 5643<li class="li2"><span class="s1"></span>We reserve the right to reject any return that does not comply with this policy.</li> 5644<li class="li2"><span class="s1"></span>This policy does not affect your statutory rights regarding faulty goods.</li> 5645</ul> 5646<p class="p3"><br></p> 5647<p class="p2">If you have any questions or require assistance with your return, please contact us on <b>01765 690069</b> or email <a href="/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="c6b5b3b6b6a9b4b286a4a7b4a8bfa7b4a8b5e8a5a9e8b3ad">[email protected]</a>.</p> 5648 5649 5650 </template> 5651 </product-collapsible-tab> 5652 </div> 5653 </section><section class="product-usp lg:px-4" > 5654 <div class="pt-4 pr-0 pb-4 pl-0 mt-4 mb-0 5655 divide-y divide-gray-200 text-sm font-medium space-y-4 " id="block-b62b1832-5b65-44c8-a81e-0870e5329d04-template--22645124170009__main"> 5656 <div class="flex items-center justify-center lg:justify-start px-4 group"> 5657 5658 <svg 5659 class="icon icon-accordion icon--truck usp-icon group-hover:text-gray-500 mr-2" style="" 5660 aria-hidden="true" 5661 focusable="false" 5662 xmlns="http://www.w3.org/2000/svg" 5663 width="20" 5664 height="20" 5665 viewBox="0 0 20 20" 5666 ><path d="M0 3.75156C0 3.47454 0.224196 3.24997 0.500755 3.24997H10.647C10.9235 3.24997 11.1477 3.47454 11.1477 3.75156V5.07505V5.63362V6.10938V13.6616C10.9427 14.0067 10.8813 14.1101 10.5516 14.6648L7.22339 14.6646V13.6614H10.1462V4.25316H1.00151V13.6614H2.6842V14.6646H0.500755C0.224196 14.6646 0 14.44 0 14.163V3.75156Z"/> 5667 <path d="M18.9985 8.08376L11.1477 6.10938V5.07505L19.6212 7.20603C19.8439 7.26203 20 7.46255 20 7.69253V14.1631C20 14.4401 19.7758 14.6647 19.4992 14.6647H17.3071V13.6615H18.9985V8.08376ZM11.1477 13.6616L13.3442 13.6615L13.3443 14.6647L10.5516 14.6648L11.1477 13.6616Z"/> 5668 <path d="M7.71269 14.1854C7.71269 15.6018 6.56643 16.75 5.15245 16.75C3.73847 16.75 2.59221 15.6018 2.59221 14.1854C2.59221 12.7691 3.73847 11.6209 5.15245 11.6209C6.56643 11.6209 7.71269 12.7691 7.71269 14.1854ZM5.15245 15.7468C6.01331 15.7468 6.71118 15.0478 6.71118 14.1854C6.71118 13.3231 6.01331 12.6241 5.15245 12.6241C4.29159 12.6241 3.59372 13.3231 3.59372 14.1854C3.59372 15.0478 4.29159 15.7468 5.15245 15.7468Z"/> 5669 <path d="M17.5196 14.1854C17.5196 15.6018 16.3733 16.75 14.9593 16.75C13.5454 16.75 12.3991 15.6018 12.3991 14.1854C12.3991 12.7691 13.5454 11.6209 14.9593 11.6209C16.3733 11.6209 17.5196 12.7691 17.5196 14.1854ZM14.9593 15.7468C15.8202 15.7468 16.5181 15.0478 16.5181 14.1854C16.5181 13.3231 15.8202 12.6241 14.9593 12.6241C14.0985 12.6241 13.4006 13.3231 13.4006 14.1854C13.4006 15.0478 14.0985 15.7468 14.9593 15.7468Z"/></svg> 5670
5671 <span class="richtext usp-content"><p>Free delivery on all orders over <strong>£50</strong></p></span> 5672 </div><!-- /.flex --> 5673 </div><!-- /.divide --> 5674 </section> 5675 <component is="style" v-cloak> 5676 #block-b62b1832-5b65-44c8-a81e-0870e5329d04-template--22645124170009__main { 5677 background-color: #303030; 5678 } 5679 #block-b62b1832-5b65-44c8-a81e-0870e5329d04-template--22645124170009__main .usp-content { 5680 color: #ffffff; 5681 } 5682 #block-b62b1832-5b65-44c8-a81e-0870e5329d04-template--22645124170009__main .usp-icon { 5683 color: #ffffff; 5684 fill: #ffffff; 5685 } 5686 </component><section class="product-usp lg:px-4" > 5687 <div class="pt-4 pr-2 pb-4 pl-0 mt-2 mb-0 5688 divide-y divide-gray-200 text-sm font-medium space-y-4 " id="block-usp_CJydWy-template--22645124170009__main"> 5689 <div class="flex items-center justify-center lg:justify-start px-4 group"> 5690 5691 <span class="richtext usp-content"><p>Need a hand? Contact our team on <strong>01765 690069</strong>. 5 days a week, Monday - Friday 9:00am - 4:00pm</p></span> 5692 </div><!-- /.flex --> 5693 </div><!-- /.divide --> 5694 </section> 5695 <component is="style" v-cloak> 5696 #block-usp_CJydWy-template--22645124170009__main { 5697 background-color: rgba(0,0,0,0); 5698 } 5699 #block-usp_CJydWy-template--22645124170009__main .usp-content { 5700 color: #000000; 5701 } 5702 #block-usp_CJydWy-template--22645124170009__main .usp-icon { 5703 color: #000000; 5704 fill: #000000; 5705 } 5706 </component><input type="hidden" name="product-id" value="9708660130073" /><input type="hidden" name="section-id" value="template--22645124170009__main" /></form> 5707</product-product> 5708 5709 5710</section><div id="shopify-section-template--22645124170009__17271922925149ab73" class="shopify-section"><div class="container mx-auto max-w-screen-2xl pt-2 pr-2 pb-2 pl-2 mt-0 mb-0 5711 px-4"></div> 5712 5713 5714</div><div id="shopify-section-template--22645124170009__section_featured_collection_WJJyYD" class="shopify-section section shopify-section shopify-section-featured-collection shopify-section-vue vue-section"><component is="style" v-cloak> 5715 #section-template--22645124170009__section_featured_collection_WJJyYD { 5716 background-color: rgba(0,0,0,0);} 5717 5718#section-template--22645124170009__section_featured_collection_WJJyYD .heading { 5719 color: #000000; 5720} 5721 5722#section-template--22645124170009__section_featured_collection_WJJyYD .subheading { 5723 color: #000000; 5724} 5725 5726#section-template--22645124170009__section_featured_collection_WJJyYD .product-item { 5727 padding: 1rem; 5728 background-color: #ffffff; 5729} 5730 5731 5732 5733 5734#section-template--22645124170009__section_featured_collection_WJJyYD .swiper-button-prev, 5735#section-template--22645124170009__section_featured_collection_WJJyYD .swiper-button-next { 5736 color: #000000; 5737} 5738 5739</component> 5740 5741 5742</div><div id="shopify-section-template--22645124170009__section_featured_collection_dytgBf" class="shopify-section section shopify-section shopify-section-featured-collection shopify-section-vue vue-section"><component is="style" v-cloak> 5743 #section-template--22645124170009__section_featured_collection_dytgBf { 5744 background-color: rgba(0,0,0,0);} 5745 5746#section-template--22645124170009__section_featured_collection_dytgBf .heading { 5747 color: #000000; 5748} 5749 5750#section-template--22645124170009__section_featured_collection_dytgBf .subheading { 5751 color: #000000; 5752} 5753 5754#section-template--22645124170009__section_featured_collection_dytgBf .product-item { 5755 padding: 1rem; 5756 background-color: #ffffff; 5757} 5758 5759 5760 5761 5762#section-template--22645124170009__section_featured_collection_dytgBf .swiper-button-prev, 5763#section-template--22645124170009__section_featured_collection_dytgBf .swiper-button-next { 5764 color: #000000; 5765} 5766 5767</component> 5768 5769 5770</div><div id="shopify-section-template--22645124170009__1863e457-570c-4500-b225-fd530ab5b55d" class="shopify-section section shopify-section shopify-section-vue vue-section"><div id="section-template--22645124170009__1863e457-570c-4500-b225-fd530ab5b55d" class="relative pt-8 pr-4 pb-0 pl-4 mt-0 mb-0 5771" 5772 data-section-id="template--22645124170009__1863e457-570c-4500-b225-fd530ab5b55d" 5773 data-section-type="product-recommendations"> 5774 <div class="container-fluid max-w-screen-2xl mx-auto"><header class="flex flex-col gap-y-2 px-4 text-left"> 5775 <p class="text-3xl font-semibold heading">You may also like</p> 5776 </header> 5777 5778 <product-recommendations 5779 section-settings='{ 5780 "productId": 9708660130073, 5781 "useRecommendations": true, 5782 "recommendationsCount": 4, 5783 "sectionId": "template--22645124170009__1863e457-570c-4500-b225-fd530ab5b55d" 5784}' 5785 slider-options='{ 5786 "speed": 1000, 5787 "autoplay": false, 5788 "breakpoints": { 5789 "340": {"slidesPerView": "2"},
5790 "640": {"slidesPerView": "3"}, 5791 "900": {"slidesPerView": "3"}, 5792 "1024": {"slidesPerView": "4"} 5793 } 5794}' 5795 v-slot="{ componentKey }" 5796 class="mt-8 relative" 5797 > 5798 <div class="product-recommendations swiper-wrapper"><component is="style" v-cloak> 5799 #shopify-section-template--22645124170009__1863e457-570c-4500-b225-fd530ab5b55d { 5800 display: none; 5801 } 5802 </component></div> 5803 </product-recommendations> 5804 </div> 5805</div> 5806 5807</div> 5808 </main><!-- /.body-content --> 5809 5810 <div id="shopify-section-footer-top" class="shopify-section shopify-section--footer section shopify-section shopify-section-vue vue-section"><footer id="section-footer-top" data-section-id="footer-top" data-section-type="footer" class="py-12 footer bg-primary-300 text-white lg:py-16" role="contentinfo"> 5811 <div class="container mx-auto max-w-screen-2xl px-6 xl:px-4"><div class="flex flex-col items-center justify-center text-center "><div class="footer-top--text " ><div class="footer-content richtext mt-2 text-lg"> 5812 <p><strong>Need a hand? </strong>We're ready to help Monday - Friday, 9am - 4pm</p> 5813 </div></div><!-- /.footer-top--text --><div class="footer-top--contact_information grid grid-cols-4 gap-x-6 justify-between w-full lg:w-auto lg:gap-x-24" ><a href="tel:01765690069" title="Get in touch with us 01765690069"> 5814 <div class="flex flex-col items-center justify-center space-y-4 lg:flex-row lg:space-y-0"> 5815 5816 <div class="rounded-full bg-white p-3 lg:bg-transparent"> 5817 <svg class="icon icon--telephone_call_filled fill-primary-300 h-10 w-10 lg:fill-white" role="presentation" viewBox="0 0 24 24"> 5818 <path d="M14.89 23.654c-7.367 3.367-18.802-18.86-11.601-22.615l2.107-1.039 3.492 6.817-2.082 1.026c-2.189 1.174 2.37 10.08 4.609 8.994.091-.041 2.057-1.007 2.064-1.011l3.521 6.795c-.008.004-1.989.978-2.11 1.033zm-1.538-13.409l2.917.87c.223-.747.16-1.579-.24-2.317-.399-.739-1.062-1.247-1.808-1.469l-.869 2.916zm1.804-6.058c1.551.462 2.926 1.516 3.756 3.051.831 1.536.96 3.263.498 4.813l-1.795-.535c.325-1.091.233-2.306-.352-3.387-.583-1.081-1.551-1.822-2.643-2.146l.536-1.796zm.95-3.187c2.365.705 4.463 2.312 5.729 4.656 1.269 2.343 1.466 4.978.761 7.344l-1.84-.548c.564-1.895.406-4.006-.608-5.882-1.016-1.877-2.696-3.165-4.591-3.729l.549-1.841z"/> 5819 </svg> 5820 </div> 5821 5822 <p class="text-lg font-medium"> 5823 Sales 5824 </p> 5825 </div> 5826 <p class="hidden md:block md:underline md:break-words text-lg font-semibold"> 5827 01765690069 5828 </p> 5829 </a><a href="tel:01765647739" title="Get in touch with us 01765647739"> 5830 <div class="flex flex-col items-center justify-center space-y-4 lg:flex-row lg:space-y-0"> 5831 5832 <div class="rounded-full bg-white p-3 lg:bg-transparent"> 5833 <svg class="icon icon--telephone_call_filled fill-primary-300 h-10 w-10 lg:fill-white" role="presentation" viewBox="0 0 24 24"> 5834 <path d="M14.89 23.654c-7.367 3.367-18.802-18.86-11.601-22.615l2.107-1.039 3.492 6.817-2.082 1.026c-2.189 1.174 2.37 10.08 4.609 8.994.091-.041 2.057-1.007 2.064-1.011l3.521 6.795c-.008.004-1.989.978-2.11 1.033zm-1.538-13.409l2.917.87c.223-.747.16-1.579-.24-2.317-.399-.739-1.062-1.247-1.808-1.469l-.869 2.916zm1.804-6.058c1.551.462 2.926 1.516 3.756 3.051.831 1.536.96 3.263.498 4.813l-1.795-.535c.325-1.091.233-2.306-.352-3.387-.583-1.081-1.551-1.822-2.643-2.146l.536-1.796zm.95-3.187c2.365.705 4.463 2.312 5.729 4.656 1.269 2.343 1.466 4.978.761 7.344l-1.84-.548c.564-1.895.406-4.006-.608-5.882-1.016-1.877-2.696-3.165-4.591-3.729l.549-1.841z"/> 5835 </svg> 5836 </div> 5837 5838 <p class="text-lg font-medium"> 5839 Machine Service & Repair 5840 </p> 5841 </div> 5842 <p class="hidden md:block md:underline md:break-words text-lg font-semibold"> 5843 01765647739 5844 </p> 5845 </a><a href="tel:01765690069" title="Get in touch with us 01765690069"> 5846 <div class="flex flex-col items-center justify-center space-y-4 lg:flex-row lg:space-y-0"> 5847 5848 <div class="rounded-full bg-white p-3 lg:bg-transparent"> 5849 <svg class="icon icon--telephone_call_filled fill-primary-300 h-10 w-10 lg:fill-white" role="presentation" viewB
5849ox="0 0 24 24"> 5850 <path d="M14.89 23.654c-7.367 3.367-18.802-18.86-11.601-22.615l2.107-1.039 3.492 6.817-2.082 1.026c-2.189 1.174 2.37 10.08 4.609 8.994.091-.041 2.057-1.007 2.064-1.011l3.521 6.795c-.008.004-1.989.978-2.11 1.033zm-1.538-13.409l2.917.87c.223-.747.16-1.579-.24-2.317-.399-.739-1.062-1.247-1.808-1.469l-.869 2.916zm1.804-6.058c1.551.462 2.926 1.516 3.756 3.051.831 1.536.96 3.263.498 4.813l-1.795-.535c.325-1.091.233-2.306-.352-3.387-.583-1.081-1.551-1.822-2.643-2.146l.536-1.796zm.95-3.187c2.365.705 4.463 2.312 5.729 4.656 1.269 2.343 1.466 4.978.761 7.344l-1.84-.548c.564-1.895.406-4.006-.608-5.882-1.016-1.877-2.696-3.165-4.591-3.729l.549-1.841z"/> 5851 </svg> 5852 </div> 5853 5854 <p class="text-lg font-medium"> 5855 Support 5856 </p> 5857 </div> 5858 <p class="hidden md:block md:underline md:break-words text-lg font-semibold"> 5859 01765690069 5860 </p> 5861 </a><a href="/cdn-cgi/l/email-protection#2b785e5b5b44595f6b494a5945524a594558054844055e40" title="Get in touch with us [email protected]"> 5862 <div class="flex flex-col items-center justify-center space-y-4 lg:flex-row lg:space-y-0"> 5863 5864 <div class="rounded-full bg-white p-3 lg:bg-transparent"> 5865 <svg class="icon icon--envelope fill-primary-300 h-10 w-10 lg:fill-white" role="presentation" viewBox="0 0 24 24"> 5866 <path d="M0 3v18h24v-18h-24zm21.518 2l-9.518 7.713-9.518-7.713h19.036zm-19.518 14v-11.817l10 8.104 10-8.104v11.817h-20z"/> 5867 </svg> 5868 </div> 5869 5870 <p class="text-lg font-medium"> 5871 E-Mail 5872 </p> 5873 </div> 5874 <p class="hidden md:block md:underline md:break-words text-lg font-semibold"> 5875 <span class="__cf_email__" data-cfemail="b0e3c5c0c0dfc2c4f0d2d1c2dec9d1c2dec39ed3df9ec5db">[email protected]</span> 5876 </p> 5877 </a> 5878 </div><!-- /.footer-top--contact_information --><div class="footer-top--social_media order-4 mt-12 lg:order-none"> 5879 <ul class="flex items-center space-x-4"> 5880 <li class="list-item"> 5881 <a href="https://www.instagram.com/barnyarns/" class="link" target="_blank" rel="noopener" aria-label="Instagram"> 5882 <span class="social-media--icon"><svg class="icon icon--instagram h-auto w-8 text-white fill-white" role="presentation" viewBox="0 0 32 32"> 5883 <path d="M15.994 2.886c4.273 0 4.775.019 6.464.095 1.562.07 2.406.33 2.971.552.749.292 1.283.635 1.841 1.194s.908 1.092 1.194 1.841c.216.565.483 1.41.552 2.971.076 1.689.095 2.19.095 6.464s-.019 4.775-.095 6.464c-.07 1.562-.33 2.406-.552 2.971-.292.749-.635 1.283-1.194 1.841s-1.092.908-1.841 1.194c-.565.216-1.41.483-2.971.552-1.689.076-2.19.095-6.464.095s-4.775-.019-6.464-.095c-1.562-.07-2.406-.33-2.971-.552-.749-.292-1.283-.635-1.841-1.194s-.908-1.092-1.194-1.841c-.216-.565-.483-1.41-.552-2.971-.076-1.689-.095-2.19-.095-6.464s.019-4.775.095-6.464c.07-1.562.33-2.406.552-2.971.292-.749.635-1.283 1.194-1.841s1.092-.908 1.841-1.194c.565-.216 1.41-.483 2.971-.552 1.689-.083 2.19-.095 6.464-.095zm0-2.883c-4.343 0-4.889.019-6.597.095-1.702.076-2.864.349-3.879.743-1.054.406-1.943.959-2.832 1.848S1.251 4.473.838 5.521C.444 6.537.171 7.699.095 9.407.019 11.109 0 11.655 0 15.997s.019 4.889.095 6.597c.076 1.702.349 2.864.743 3.886.406 1.054.959 1.943 1.848 2.832s1.784 1.435 2.832 1.848c1.016.394 2.178.667 3.886.743s2.248.095 6.597.095 4.889-.019 6.597-.095c1.702-.076 2.864-.349 3.886-.743 1.054-.406 1.943-.959 2.832-1.848s1.435-1.784 1.848-2.832c.394-1.016.667-2.178.743-3.886s.095-2.248.095-6.597-.019-4.889-.095-6.597c-.076-1.702-.349-2.864-.743-3.886-.406-1.054-.959-1.943-1.848-2.832S27.532 1.247 26.484.834C25.468.44 24.306.167 22.598.091c-1.714-.07-2.26-.089-6.603-.089zm0 7.778c-4.533 0-8.216 3.676-8.216 8.216s3.683 8.216 8.216 8.216 8.216-3.683 8.216-8.216-3.683-8.216-8.216-8.216zm0 13.549c-2.946 0-5.333-2.387-5.333-5.333s2.387-5.333 5.333-5.333 5.333 2.387 5.333 5.333-2.387 5.333-5.333 5.333zM26.451 7.457c0 1.059-.858 1.917-1.917 1.917s-1.917-.858-1.917-1.917c0-1.059.858-1.917 1.917-1.917s1.917.858 1.917 1.917z"></path> 5884 </svg></span> 5885 </a> 5886 </li> 5887 5888 5889<li class="list-item"> 5890 <a href="https://twitter.com/barnyarns" class="link" target="_blank" rel="noopener" aria-label="Twitter">
5891 <span class="social-media--icon"><svg class="icon icon--twitter h-auto w-8 text-white fill-white" role="presentation" viewBox="0 0 32 26"> 5892 <path d="M32 3.077c-1.1748.525-2.4433.8748-3.768 1.031 1.356-.8123 2.3932-2.0995 2.887-3.6305-1.2686.7498-2.6746 1.2997-4.168 1.5934C25.751.796 24.045.0025 22.158.0025c-3.6242 0-6.561 2.937-6.561 6.5612 0 .5124.0562 1.0123.1686 1.4935C10.3104 7.7822 5.474 5.1702 2.237 1.196c-.5624.9687-.8873 2.0997-.8873 3.2994 0 2.2746 1.156 4.2867 2.9182 5.4615-1.075-.0314-2.0872-.3313-2.9745-.8187v.0812c0 3.1806 2.262 5.8363 5.2677 6.4362-.55.15-1.131.2312-1.731.2312-.4248 0-.831-.0438-1.2372-.1188.8374 2.6057 3.262 4.5054 6.13 4.5616-2.2495 1.7622-5.074 2.812-8.1546 2.812-.531 0-1.0498-.0313-1.5684-.0938 2.912 1.8684 6.3613 2.9494 10.0668 2.9494 12.0726 0 18.6776-10.0043 18.6776-18.6776 0-.2874-.0063-.5686-.0188-.8498C30.0066 5.5514 31.119 4.3954 32 3.077z" fill="currentColor"></path> 5893 </svg></span> 5894 </a> 5895 </li> 5896 5897 5898<li class="list-item"> 5899 <a href="https://www.tiktok.com/@barnyarns" class="link" target="_blank" rel="noopener" aria-label="TikTok"> 5900 <span class="social-media--icon"><svg class="icon icon--tiktok h-auto w-8 text-white fill-white" role="presentation" viewBox="0 0 13 16"> 5901 <path d="M12.998 6.146A4.055 4.055 0 019.23 4.331v6.245a4.616 4.616 0 11-4.615-4.615c.096 0 .19.008.285.014V8.25c-.095-.012-.188-.029-.285-.029a2.356 2.356 0 000 4.711c1.3 0 2.45-1.025 2.45-2.326L7.089 0h2.176A4.053 4.053 0 0013 3.618v2.528" fill="currentColor"></path> 5902 </svg></span> 5903 </a> 5904 </li> 5905 5906 5907<li class="list-item"> 5908 <a href="https://www.facebook.com/barnyarns/" class="link" target="_blank" rel="noopener" aria-label="Facebook"> 5909 <span class="social-media--icon"><svg class="icon icon--facebook h-auto w-8 text-white fill-white" style="" fill="currentColor" viewBox="0 0 24 24"> 5910 <path d="M15.12,5.32H17V2.14A26.11,26.11,0,0,0,14.26,2C11.54,2,9.68,3.66,9.68,6.7V9.32H6.61v3.56H9.68V22h3.68V12.88h3.06l.46-3.56H13.36V7.05C13.36,6,13.64,5.32,15.12,5.32Z"/> 5911 </svg></span> 5912 </a> 5913 </li> 5914 5915 5916<li class="list-item"> 5917 <a href="https://www.youtube.com/channel/UCOe4Z-idTOU2OICG7AnfnOA" class="link" target="_blank" rel="noopener" aria-label="YouTube"> 5918 <span class="social-media--icon"><svg class="icon icon--youtube h-auto w-8 text-white fill-white" role="presentation" viewBox="0 0 33 32"> 5919 <path d="M0 25.693q0 1.997 1.318 3.395t3.209 1.398h24.259q1.891 0 3.209-1.398t1.318-3.395V6.387q0-1.997-1.331-3.435t-3.195-1.438H4.528q-1.864 0-3.195 1.438T.002 6.387v19.306zm12.116-3.488V9.876q0-.186.107-.293.08-.027.133-.027l.133.027 11.61 6.178q.107.107.107.266 0 .107-.107.213l-11.61 6.178q-.053.053-.107.053-.107 0-.16-.053-.107-.107-.107-.213z" fill="currentColor"></path> 5920 </svg></span> 5921 </a> 5922 </li> 5923 5924 5925 5926 </ul> 5927 </div><!-- /.footer-top--social_media --><div class="footer-top--text mt-12" ><div class="footer-content richtext mt-2 text-2xl"> 5928 <p><strong>Our Shop? </strong>Come & Visit Us</p> 5929 </div></div><!-- /.footer-top--text --><div class="footer-top--text " ><div class="footer-content richtext mt-2 text-lg"> 5930 <p>We're ready to help 9am - 4pm, Monday - Friday</p><p><a href="https://google.com/maps/dir/?api=1&destination=54.17359991233379, -1.482328164536386" target="_blank" title="Directions to Barnyarns">24 Barker Business Park, Melmerby, Ripon HG4 5NB</a></p> 5931 </div></div><!-- /.footer-top--text --></div></div> 5932</footer> 5933 5934<component is="style" v-cloak> 5935 #section-footer-top { 5936 --footer-text-color: #ffffff; 5937 --footer-background-color: #176b57; 5938 --cta-icon-text-color-mobile: #006f53; 5939 --cta-icon-background-color-mobile: #ffffff; 5940 --cta-social-background-color: #ffffff; 5941 --cta-icon-text-color-desktop: #ffffff; 5942 --cta-icon-background-color-desktop: rgba(0,0,0,0); 5943 --cta-icon-text-color-mobile: #006f53; 5944 --cta-icon-background-color-mobile: #ffffff; 5945 --cta-social-background-color: #ffffff; 5946 } 5947</component> 5948 5949 5950</div> 5951 <div id="shopify-section-footer" class="shopify-section shopify-section--footer section shopify-section shopify-section-vue vue-section"><footer id="section-footer" data-section-id="footer" data-section-type="footer" class="py-12 footer bg-primary-300 text-white" role="contentinfo"> 5952 <div class="container mx-auto max-w-screen-2xl px-6 xl:px-4"><div class="flex flex-wrap max-w-screen-xl mx-auto gap-y-6 lg:grid lg:grid-flow-col lg:grid-cols-3 lg:gap-x-24 lg:gap-y-0"><div class="footer-type--newsletter order-2 w-3/5 md:w-1/2 lg:w-full lg:pt-0 lg:border-none lg:order-none" ><h2 class="h4 font-semibold">Be in the know</h2><div class="footer-content richtext mt-6 text-sm"> 5953 <p>Enter your email address below to join our mailing list and receive the latest news</p> 5954 </div><form method="post" action="/contact#footer-newsletter" id="footer-newsletter" accept-charset="UTF-8" class="form form-footer-newsletter mt-4"><input type="hidden" name="form_type" value="customer" /><input type="hidden" name="utf8" value="â" /><input type="hidden" name="contact[tags]" value="newsletter"> 5955 <div class="flex"> 5956 <div class="flex-1"> 5957 <label for="contact-form-newsletter" class="sr-only mt-4 block text-gray-950">Sign up to Barnyarns newsletter</label> 5958 <input type="email" name="contact[email]" id="contact-form-newsletter" class="form-input rounded-l-md block w-full border-0 py-3 text-gray-900 shadow-sm ring-1 ring-inset ring-gray-300 placeholder:text-gray-400 focus:ring-2 focus:ring-inset focus:ring-primary-600 sm:text-sm sm:leading-6" placeholder="Enter your email address" required /> 5959 </div> 5960 <button type="submit" class="text-sm px-4 bg-gray-500 text-white rounded-r-md ring-inset ring-gray-300">Subscribe</button> 5961 </div></form></div><!-- /.footer-type--newsletter --><div class="footer-type--text hidden order-3 w-full border-t border-primary-900 pt-4 lg:block lg:pt-0 lg:border-none lg:order-none" > 5962 <div id="menu-footer-0-footer" class="text-center lg:text-left"><h4 class="h4 font-semibold text-white">About Us</h4><div class="footer-content richtext mt-6 text-sm"> 5963 <p>
5963Barnyarns was established when a City & Guilds student of creative embroidery was infuriated at having to search high and low for materials. Finding that other students had the same problems, Adele Bates founded Barnyarns in 1986 and over the years it has become an invaluable asset to embroiderers, quilters and sewers worldwide, whether experimental or traditional. Why Barnyarns? We started selling our yarns in a Barn!</p> 5964 </div></div> 5965 </div><!-- /.footer-type--text --><div class="footer-type--links order-1 w-2/5 md:w-1/2 lg:w-full lg:pt-0 lg:border-none lg:order-none" ><div id="menu-footer-1-footer"> 5966 <h2 class="h4 font-semibold text-white">Barnyarns</h2> 5967 <ul class="link-list mt-6 leading-loose lg:leading-normal"><li class="link-list--item"> 5968 <a href="/search" class="link text-sm hover:underline">Search</a> 5969 </li><li class="link-list--item"> 5970 <a href="/policies/refund-policy" class="link text-sm hover:underline">Returns & Refund Policy</a> 5971 </li><li class="link-list--item"> 5972 <a href="/policies/privacy-policy" class="link text-sm hover:underline">Privacy Policy</a> 5973 </li><li class="link-list--item"> 5974 <a href="/policies/terms-of-service" class="link text-sm hover:underline">Terms of Service</a> 5975 </li><li class="link-list--item"> 5976 <a href="/policies/shipping-policy" class="link text-sm hover:underline">Shipping Policy</a> 5977 </li><li class="link-list--item"> 5978 <a href="/pages/contact" class="link text-sm hover:underline">Contact</a> 5979 </li><li class="link-list--item"> 5980 <a href="https://www.barnyarns.co.uk/a/blog" class="link text-sm hover:underline">Blog & News</a> 5981 </li></ul> 5982 </div></div><!-- /.footer-type--links --></div><div class="footer-bottom border-t border-white mt-12"> 5983 <div class="footer-bottom--inner flex flex-col space-y-6 items-start mt-6 gap-x-4 md:space-y-0 md:flex-row"><div class="footer--localization"><form method="post" action="/localization" id="localization_form_footer" accept-charset="UTF-8" class="form-footer--localization" 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="/products/hobbs-heirloom-premium-80-20-cotton-poly-wadding-96-x-30-yds" /><div class="footer--localization-item"> 5984 <input type="hidden" name="country_code" value="GB"> 5985 <span class="u-visually-hidden">Country/region</span> 5986 5987 <label for="localization-country" class="h4 font-semibold">Country/region</label> 5988 <select id="localization-country" name="country_code" class="form-select mt-2 block w-full rounded-md border-0 py-2 pl-4 pr-12 text-gray-900 ring-1 ring-inset ring-gray-500 focus:ring-2 focus:ring-primary-500"><option value="GG" >Guernsey (GBP £)</option><option value="IM" >Isle of Man (GBP £)</option><option value="JE" >Jersey (GBP £)</option><option value="GB" selected>United Kingdom (GBP £)</option></select> 5989 </div></form></div><div class="footer-copyright flex w-full items-center justify-center space-x-8 text-sm border-b border-primary-900 pb-6 md:w-auto md:flex-1 md:justify-start md:border-none md:pb-0"> 5990 <a href="/" class="link">© Barnyarns</a></div> 5991 5992 <div class="mx-auto text-center md:ml-auto md:text-right"><ul class="flex flex-wrap items-center justify-center"> 5993 <li class="list-item"><svg xmlns="http://www.w3.org/2000/svg" role="img" viewBox="0 0 38 24" width="38" height="24" fill="none" aria-labelledby="pi-american_express"><title id="pi-american_express">American Express</title><rect x=".5" y=".5" width="37" height="23" rx="2.5" stroke="#000" stroke-opacity=".07" fill="none"/><path d="M35 0H3C1.3 0 0 1.3 0 3V21C0 22.7 1.4 24 3 24H35C36.7 24 38 22.7 38 21V3C38 1.3 36.6 0 35 0Z" fill="#0071CE" style="fill:#0071CE;fill:color(display-p3 0.0000 0.4431 0.8078);fill-opacity:1;"/>
5993<path d="M3 0.5H35C36.3348 0.5 37.5 1.58692 37.5 3V21C37.5 22.4239 36.4239 23.5 35 23.5H3C1.66524 23.5 0.5 22.4131 0.5 21V3C0.5 1.57614 1.57614 0.5 3 0.5Z" stroke="black" stroke-opacity="0.07" style="stroke:black;stroke-opacity:0.07;"/><path d="M25.8662 6.33203V3H31L31.8662 5.5332L32.7334 3H37V14.2002H36.7998L34.8672 16.2656L36.7998 18.3594H37V21.2666H33.5996L31.9336 19.3994L30.2002 21.2666H19.4668V12.666H16L20.2666 3H24.4004L25.8662 6.33203ZM20.5996 20.2656H27V18.5322H22.666V17.3994H26.8662V15.666H22.666V14.5322H27V12.7988H20.5996V20.2656ZM30.5332 16.5322L27 20.2656H29.5996L31.8662 17.8662L34.0664 20.2656H36.7324L33.1992 16.4658L36.7324 12.7988H34.1328L31.8662 15.1992L29.7324 12.7988H27L30.5332 16.5322ZM17.666 11.7324H19.9326L20.5332 10.1992H23.999L24.666 11.7324H26.999L23.666 4.19922H20.999L17.666 11.7324ZM33.5996 4.19922L31.9326 8.86621L30.1992 4.19922H27V11.666H29.0664V6.39941L31 11.666H32.7998L34.7324 6.39941V11.666H36.7324V4.13281L33.5996 4.19922ZM23.2656 8.46582H21.2656L22.2656 5.99902L23.2656 8.46582Z" fill="white" style="fill:white;fill-opacity:1;"/></svg> 5994</li><li class="list-item"><svg version="1.1" xmlns="http://www.w3.org/2000/svg" role="img" x="0" y="0" width="38" height="24" viewBox="0 0 165.521 105.965" xml:space="preserve" aria-labelledby="pi-apple_pay"><title id="pi-apple_pay">Apple Pay</title><path fill="#000" d="M150.698 0H14.823c-.566 0-1.133 0-1.698.003-.477.004-.953.009-1.43.022-1.039.028-2.087.09-3.113.274a10.51 10.51 0 0 0-2.958.975 9.932 9.932 0 0 0-4.35 4.35 10.463 10.463 0 0 0-.975 2.96C.113 9.611.052 10.658.024 11.696a70.22 70.22 0 0 0-.022 1.43C0 13.69 0 14.256 0 14.823v76.318c0 .567 0 1.132.002 1.699.003.476.009.953.022 1.43.028 1.036.09 2.084.275 3.11a10.46 10.46 0 0 0 .974 2.96 9.897 9.897 0 0 0 1.83 2.52 9.874 9.874 0 0 0 2.52 1.83c.947.483 1.917.79 2.96.977 1.025.183 2.073.245 3.112.273.477.011.953.017 1.43.02.565.004 1.132.004 1.698.004h135.875c.565 0 1.132 0 1.697-.004.476-.002.952-.009 1.431-.02 1.037-.028 2.085-.09 3.113-.273a10.478 10.478 0 0 0 2.958-.977 9.955 9.955 0 0 0 4.35-4.35c.483-.947.789-1.917.974-2.96.186-1.026.246-2.074.274-3.11.013-.477.02-.954.022-1.43.004-.567.004-1.132.004-1.699V14.824c0-.567 0-1.133-.004-1.699a63.067 63.067 0 0 0-.022-1.429c-.028-1.038-.088-2.085-.274-3.112a10.4 10.4 0 0 0-.974-2.96 9.94 9.94 0 0 0-4.35-4.35A10.52 10.52 0 0 0 156.939.3c-1.028-.185-2.076-.246-3.113-.274a71.417 71.417 0 0 0-1.431-.022C151.83 0 151.263 0 150.698 0z" /><path fill="#FFF" d="M150.698 3.532l1.672.003c.452.003.905.008 1.36.02.793.022 1.719.065 2.583.22.75.135 1.38.34 1.984.648a6.392 6.392 0 0 1 2.804 2.807c.306.6.51 1.226.645 1.983.154.854.197 1.783.218 2.58.013.45.019.9.02 1.36.005.557.005 1.113.005 1.671v76.318c0 .558 0 1.114-.004 1.682-.002.45-.008.9-.02 1.35-.022.796-.065 1.725-.221 2.589a6.855 6.855 0 0 1-.645 1.975 6.397 6.397 0 0 1-2.808 2.807c-.6.306-1.228.511-1.971.645-.881.157-1.847.2-2.574.22-.457.01-.912.017-1.379.019-.555.004-1.113.004-1.669.004H14.801c-.55 0-1.1 0-1.66-.004a74.993 74.993 0 0 1-1.35-.018c-.744-.02-1.71-.064-2.584-.22a6.938 6.938 0 0 1-1.986-.65 6.337 6.337 0 0 1-1.622-1.18 6.355 6.355 0 0 1-1.178-1.623 6.935 6.935 0 0 1-.646-1.985c-.156-.863-.2-1.788-.22-2.578a66.088 66.088 0 0 1-.02-1.355l-.003-1.327V14.474l.002-1.325a66.7 66.7 0 0 1 .02-1.357c.022-.792.065-1.717.222-2.587a6.924 6.924 0 0 1 .646-1.981c.304-.598.7-1.144 1.18-1.623a6.386 6.386 0 0 1 1.624-1.18 6.96 6.96 0 0 1 1.98-.646c.865-.155 1.792-.198 2.586-.22.452-.012.905-.017 1.354-.02l1.677-.003h135.875" /><g><g><path fill="#000" d="M43.508 35.77c1.404-1.755 2.356-4.112 2.105-6.52-2.054.102-4.56 1.355-6.012 3.112-1.303 1.504-2.456 3.959-2.156 6.266 2.306.2 4.61-1.152 6.063-2.858" /><path fill="#000" d="M45.587 39.079c-3.35-.2-6.196 1.9-7.795 1.9-1.6 0-4.049-1.8-6.698-1.751-3.447.05-6.645 2-8.395 5.1-3.598 6.2-.95 15.4 2.55 20.45 1.699 2.5 3.747 5.25 6.445 5.151 2.55-.1 3.549-1.65 6.647-1.65 3.097 0 3.997 1.65 6.696 1.6 2.798-.05 4.548-2.5 6.247-5 1.95-2.85 2.747-5.6 2.797-5.75-.05-.05-5.396-2.101-5.446-8.251-.05-5.15 4.198-7.6 4.398-7.751-2.399-3.548-6.147-3.948-7.447-4.048" /></g><g><path fill="#000" d="M78.973 32.11c7.278 0 12.347 5.017 12.347 12.321 0 7.33-5.173 12.373-12.529 12.373h-8.058V69.62h-5.822V32.11h14.062zm-8.24 19.807h6.68c5.07 0 7.954-2.729 7.954-7.46 0-4.73-2.885-7.434-7.928-7.434h-6.706v14.894z" />
5994<path fill="#000" d="M92.764 61.847c0-4.809 3.665-7.564 10.423-7.98l7.252-.442v-2.08c0-3.04-2.001-4.704-5.562-4.704-2.938 0-5.07 1.507-5.51 3.82h-5.252c.157-4.86 4.731-8.395 10.918-8.395 6.654 0 10.995 3.483 10.995 8.89v18.663h-5.38v-4.497h-.13c-1.534 2.937-4.914 4.782-8.579 4.782-5.406 0-9.175-3.222-9.175-8.057zm17.675-2.417v-2.106l-6.472.416c-3.64.234-5.536 1.585-5.536 3.95 0 2.288 1.975 3.77 5.068 3.77 3.95 0 6.94-2.522 6.94-6.03z" /><path fill="#000" d="M120.975 79.652v-4.496c.364.051 1.247.103 1.715.103 2.573 0 4.029-1.09 4.913-3.899l.52-1.663-9.852-27.293h6.082l6.863 22.146h.13l6.862-22.146h5.927l-10.216 28.67c-2.34 6.577-5.017 8.735-10.683 8.735-.442 0-1.872-.052-2.261-.157z" /></g></g></svg> 5995</li><li class="list-item"><svg viewBox="0 0 38 24" width="38" height="24" role="img" aria-labelledby="pi-discover" fill="none" xmlns="http://www.w3.org/2000/svg"><title id="pi-discover">Discover</title><path fill="#000" opacity=".07" d="M35 0H3C1.3 0 0 1.3 0 3v18c0 1.7 1.4 3 3 3h32c1.7 0 3-1.3 3-3V3c0-1.7-1.4-3-3-3z"/><path d="M35 1c1.1 0 2 .9 2 2v18c0 1.1-.9 2-2 2H3c-1.1 0-2-.9-2-2V3c0-1.1.9-2 2-2h32z" fill="#fff"/><path d="M3.57 7.16H2v5.5h1.57c.83 0 1.43-.2 1.96-.63.63-.52 1-1.3 1-2.11-.01-1.63-1.22-2.76-2.96-2.76zm1.26 4.14c-.34.3-.77.44-1.47.44h-.29V8.1h.29c.69 0 1.11.12 1.47.44.37.33.59.84.59 1.37 0 .53-.22 1.06-.59 1.39zm2.19-4.14h1.07v5.5H7.02v-5.5zm3.69 2.11c-.64-.24-.83-.4-.83-.69 0-.35.34-.61.8-.61.32 0 .59.13.86.45l.56-.73c-.46-.4-1.01-.61-1.62-.61-.97 0-1.72.68-1.72 1.58 0 .76.35 1.15 1.35 1.51.42.15.63.25.74.31.21.14.32.34.32.57 0 .45-.35.78-.83.78-.51 0-.92-.26-1.17-.73l-.69.67c.49.73 1.09 1.05 1.9 1.05 1.11 0 1.9-.74 1.9-1.81.02-.89-.35-1.29-1.57-1.74zm1.92.65c0 1.62 1.27 2.87 2.9 2.87.46 0 .86-.09 1.34-.32v-1.26c-.43.43-.81.6-1.29.6-1.08 0-1.85-.78-1.85-1.9 0-1.06.79-1.89 1.8-1.89.51 0 .9.18 1.34.62V7.38c-.47-.24-.86-.34-1.32-.34-1.61 0-2.92 1.28-2.92 2.88zm12.76.94l-1.47-3.7h-1.17l2.33 5.64h.58l2.37-5.64h-1.16l-1.48 3.7zm3.13 1.8h3.04v-.93h-1.97v-1.48h1.9v-.93h-1.9V8.1h1.97v-.94h-3.04v5.5zm7.29-3.87c0-1.03-.71-1.62-1.95-1.62h-1.59v5.5h1.07v-2.21h.14l1.48 2.21h1.32l-1.73-2.32c.81-.17 1.26-.72 1.26-1.56zm-2.16.91h-.31V8.03h.33c.67 0 1.03.28 1.03.82 0 .55-.36.85-1.05.85z" fill="#231F20"/><path d="M20.16 12.86a2.931 2.931 0 100-5.862 2.931 2.931 0 000 5.862z" fill="url(#pi-paint0_linear)"/><path opacity=".65" d="M20.16 12.86a2.931 2.931 0 100-5.862 2.931 2.931 0 000 5.862z" fill="url(#pi-paint1_linear)"/><path d="M36.57 7.506c0-.1-.07-.15-.18-.15h-.16v.48h.12v-.19l.14.19h.14l-.16-.2c.06-.01.1-.06.1-.13zm-.2.07h-.02v-.13h.02c.06 0 .09.02.09.06 0 .05-.03.07-.09.07z" fill="#231F20"/><path d="M36.41 7.176c-.23 0-.42.19-.42.42 0 .23.19.42.42.42.23 0 .42-.19.42-.42 0-.23-.19-.42-.42-.42zm0 .77c-.18 0-.34-.15-.34-.35 0-.19.15-.35.34-.35.18 0 .33.16.33.35 0 .19-.15.35-.33.35z" fill="#231F20"/><path d="M37 12.984S27.09 19.873 8.976 23h26.023a2 2 0 002-1.984l.024-3.02L37 12.985z" fill="#F48120"/><defs><linearGradient id="pi-paint0_linear" x1="21.657" y1="12.275" x2="19.632" y2="9.104" gradientUnits="userSpaceOnUse"><stop stop-color="#F89F20"/><stop offset=".25" stop-color="#F79A20"/><stop offset=".533" stop-color="#F68D20"/><stop offset=".62" stop-color="#F58720"/><stop offset=".723" stop-color="#F48120"/><stop offset="1" stop-color="#F37521"/></linearGradient><linearGradient id="pi-paint1_linear" x1="21.338" y1="12.232" x2="18.378" y2="6.446" gradientUnits="userSpaceOnUse"><stop stop-color="#F58720"/><stop offset=".359" stop-color="#E16F27"/><stop offset=".703" stop-color="#D4602C"/><stop offset=".982" stop-color="#D05B2E"/></linearGradient></defs></svg></li><li class="list-item"><svg xmlns="http://www.w3.org/2000/svg" role="img" width="38" height="24" viewBox="0 0 38 24" aria-labelledby="pi-klarna" fill="none"><title id="pi-klarna">Klarna</title><rect width="38" height="24" rx="2" fill="#FFA8CD"/><rect x=".5" y=".5" width="37" height="23" rx="1.5" stroke="#000" stroke-opacity=".07"/><path d="M30.62 14.755c-.662 0-1.179-.554-1.179-1.226 0-.673.517-1.226 1.18-1.226.663 0 1.18.553 1.18 1.226 0 .672-.517 1.226-1.18 1.226zm-.33 1.295c.565 0 1.286-.217 1.686-1.068l.04.02c-.176.465-.176.742-.176.81v.11h1.423v-4.786H31.84v.109c0 .069 0 .346.175.81l
5995-.039.02c-.4-.85-1.121-1.068-1.687-1.068-1.355 0-2.31 1.088-2.31 2.522 0 1.433.955 2.521 2.31 2.521zm-4.788-5.043c-.643 0-1.15.228-1.56 1.068l-.039-.02c.175-.464.175-.741.175-.81v-.11h-1.423v4.787h1.462V13.4c0-.662.38-1.078.995-1.078.614 0 .917.356.917 1.068v2.532h1.462v-3.046c0-1.088-.838-1.869-1.989-1.869zm-4.963 1.068l-.039-.02c.176-.464.176-.741.176-.81v-.11h-1.424v4.787h1.463l.01-2.304c0-.673.35-1.078.926-1.078.156 0 .282.02.429.06v-1.464c-.644-.139-1.22.109-1.54.94zm-4.65 2.68c-.664 0-1.18-.554-1.18-1.226 0-.673.516-1.226 1.18-1.226.662 0 1.179.553 1.179 1.226 0 .672-.517 1.226-1.18 1.226zm-.332 1.295c.565 0 1.287-.217 1.687-1.068l.038.02c-.175.465-.175.742-.175.81v.11h1.424v-4.786h-1.424v.109c0 .069 0 .346.175.81l-.038.02c-.4-.85-1.122-1.068-1.687-1.068-1.356 0-2.311 1.088-2.311 2.522 0 1.433.955 2.521 2.31 2.521zm-4.349-.128h1.463V9h-1.463v6.922zM10.136 9H8.644c0 1.236-.751 2.343-1.892 3.134l-.448.317V9h-1.55v6.922h1.55V12.49l2.564 3.43h1.892L8.293 12.64c1.121-.82 1.852-2.096 1.843-3.639z" fill="#0B051D"/></svg></li><li class="list-item"><svg viewBox="0 0 38 24" xmlns="http://www.w3.org/2000/svg" width="38" height="24" role="img" aria-labelledby="pi-maestro"><title id="pi-maestro">Maestro</title><path opacity=".07" d="M35 0H3C1.3 0 0 1.3 0 3v18c0 1.7 1.4 3 3 3h32c1.7 0 3-1.3 3-3V3c0-1.7-1.4-3-3-3z"/><path fill="#fff" d="M35 1c1.1 0 2 .9 2 2v18c0 1.1-.9 2-2 2H3c-1.1 0-2-.9-2-2V3c0-1.1.9-2 2-2h32"/><circle fill="#EB001B" cx="15" cy="12" r="7"/><circle fill="#00A2E5" cx="23" cy="12" r="7"/><path fill="#7375CF" d="M22 12c0-2.4-1.2-4.5-3-5.7-1.8 1.3-3 3.4-3 5.7s1.2 4.5 3 5.7c1.8-1.2 3-3.3 3-5.7z"/></svg></li><li class="list-item"><svg xmlns="http://www.w3.org/2000/svg" role="img" viewBox="0 0 38 24" width="38" height="24" fill="none" aria-labelledby="pi-master"><title id="pi-master">Mastercard</title><rect x=".5" y=".5" width="37" height="23" rx="2.5" stroke="#000" stroke-opacity=".07" fill="none"/><path d="M35 0H3C1.3 0 0 1.3 0 3V21C0 22.7 1.4 24 3 24H35C36.7 24 38 22.7 38 21V3C38 1.3 36.6 0 35 0Z" fill="#1C1C1C" style="fill:#1C1C1C;fill:color(display-p3 0.1098 0.1098 0.1098);fill-opacity:1;"/><path d="M35 1C36.1 1 37 1.9 37 3V21C37 22.1 36.1 23 35 23H3C1.9 23 1 22.1 1 21V3C1 1.9 1.9 1 3 1H35Z" fill="#232323" style="fill:#232323;fill:color(display-p3 0.1373 0.1373 0.1373);fill-opacity:1;"/><path d="M14.6364 19.2727C18.8538 19.2727 22.2727 15.8538 22.2727 11.6364C22.2727 7.41892 18.8538 4 14.6364 4C10.4189 4 7 7.41892 7 11.6364C7 15.8538 10.4189 19.2727 14.6364 19.2727Z" fill="#EB001B" style="fill:#EB001B;fill:color(display-p3 0.9216 0.0000 0.1059);fill-opacity:1;"/><path d="M23.3637 19.2727C27.5811 19.2727 31 15.8538 31 11.6364C31 7.41892 27.5811 4 23.3637 4C19.1462 4 15.7273 7.41892 15.7273 11.6364C15.7273 15.8538 19.1462 19.2727 23.3637 19.2727Z" fill="#F79E1B" style="fill:#F79E1B;fill:color(display-p3 0.9686 0.6196 0.1059);fill-opacity:1;"/><path d="M22.2727 11.6362C22.2727 9.01797 20.9637 6.72706 19 5.41797C17.0364 6.83615 15.7273 9.12706 15.7273 11.6362C15.7273 14.1452 17.0364 16.5452 19 17.8543C20.9637 16.5452 22.2727 14.2543 22.2727 11.6362Z" fill="#FF5F00" style="fill:#FF5F00;fill:color(display-p3 1.0000 0.3725 0.0000);fill-opacity:1;"/></svg> 5996</li><li class="list-item"><svg viewBox="0 0 38 24" xmlns="http://www.w3.org/2000/svg" width="38" height="24" role="img" aria-labelledby="pi-paypal"><title id="pi-paypal">PayPal</title><path opacity=".07" d="M35 0H3C1.3 0 0 1.3 0 3v18c0 1.7 1.4 3 3 3h32c1.7 0 3-1.3 3-3V3c0-1.7-1.4-3-3-3z"/><path fill="#fff" d="M35 1c1.1 0 2 .9 2 2v18c0 1.1-.9 2-2 2H3c-1.1 0-2-.9-2-2V3c0-1.1.9-2 2-2h32"/><path fill="#003087" d="M23.9 8.3c.2-1 0-1.7-.6-2.3-.6-.7-1.7-1-3.1-1h-4.1c-.3 0-.5.2-.6.5L14 15.6c0 .2.1.4.3.4H17l.4-3.4 1.8-2.2 4.7-2.1z"/><path fill="#3086C8" d="M23.9 8.3l-.2.2c-.5 2.8-2.2 3.8-4.6 3.8H18c-.3 0-.5.2-.6.5l-.6 3.9-.2 1c0 .2.1.4.3.4H19c.3 0 .5-.2.5-.4v-.1l.4-2.4v-.1c0-.2.3-.4.5-.4h.3c2.1 0 3.7-.8 4.1-3.2.2-1 .1-1.8-.4-2.4-.1-.5-.3-.7-.5-.8z"/><path fill="#012169" d="M23.3 8.1c-.1-.1-.2-.1-.3-.1-.1 0-.2 0-.3-.1-.3-.1-.7-.1-1.1-.1h-3c-.1 0-.2
59960-.2.1-.2.1-.3.2-.3.4l-.7 4.4v.1c0-.3.3-.5.6-.5h1.3c2.5 0 4.1-1 4.6-3.8v-.2c-.1-.1-.3-.2-.5-.2h-.1z"/></svg></li><li class="list-item"><svg xmlns="http://www.w3.org/2000/svg" role="img" viewBox="0 0 38 24" width="38" height="24" fill="none" aria-labelledby="pi-visa"><title id="pi-visa">Visa</title><rect x=".5" y=".5" width="37" height="23" rx="2.5" stroke="#000" stroke-opacity=".07" fill="none"/><path d="M35 0H3C1.3 0 0 1.3 0 3V21C0 22.7 1.4 24 3 24H35C36.7 24 38 22.7 38 21V3C38 1.3 36.6 0 35 0Z" fill="#142FBD" style="fill:#142FBD;fill:color(display-p3 0.0784 0.1843 0.7412);fill-opacity:1;"/><path d="M35 1C36.1 1 37 1.9 37 3V21C37 22.1 36.1 23 35 23H3C1.9 23 1 22.1 1 21V3C1 1.9 1.9 1 3 1H35Z" fill="#1532CB" style="fill:#1532CB;fill:color(display-p3 0.0824 0.1961 0.7961);fill-opacity:1;"/><path d="M29.5944 10.2167H29.2778C28.8556 11.2722 28.5389 11.8 28.2222 13.3833H30.2278C29.9111 11.8 29.9111 11.0611 29.5944 10.2167V10.2167ZM32.6556 16.4444H30.8611C30.7556 16.4444 30.7556 16.4444 30.65 16.3389L30.4389 15.3889L30.3333 15.1778H27.8C27.6944 15.1778 27.5889 15.1778 27.5889 15.3889L27.2722 16.3389C27.2722 16.4444 27.1667 16.4444 27.1667 16.4444H24.95L25.1611 15.9167L28.2222 8.73889C28.2222 8.21111 28.5389 8 29.0667 8H30.65C30.7556 8 30.8611 8 30.8611 8.21111L32.3389 15.0722C32.4444 15.4944 32.55 15.8111 32.55 16.2333C32.6556 16.3389 32.6556 16.3389 32.6556 16.4444V16.4444ZM18.5111 16.1278L18.9333 14.2278C19.0389 14.2278 19.1444 14.3333 19.1444 14.3333C19.8833 14.65 20.6222 14.8611 21.3611 14.7556C21.5722 14.7556 21.8889 14.65 22.1 14.5444C22.6278 14.3333 22.6278 13.8056 22.2056 13.3833C21.9944 13.1722 21.6778 13.0667 21.3611 12.8556C20.9389 12.6444 20.5167 12.4333 20.2 12.1167C18.9333 11.0611 19.3556 9.58333 20.0944 8.84444C20.7278 8.42222 21.0444 8 21.8889 8C23.1556 8 24.5278 8 25.1611 8.21111H25.2667C25.1611 8.84444 25.0556 9.37222 24.8444 10.0056C24.3167 9.79444 23.7889 9.58333 23.2611 9.58333C22.9444 9.58333 22.6278 9.58333 22.3111 9.68889C22.1 9.68889 21.9944 9.79444 21.8889 9.9C21.6778 10.1111 21.6778 10.4278 21.8889 10.6389L22.4167 11.0611C22.8389 11.2722 23.2611 11.4833 23.5778 11.6944C24.1056 12.0111 24.6333 12.5389 24.7389 13.1722C24.95 14.1222 24.6333 14.9667 23.7889 15.6C23.2611 16.0222 23.05 16.2333 22.3111 16.2333C20.8333 16.2333 19.6722 16.3389 18.7222 16.0222C18.6167 16.2333 18.6167 16.2333 18.5111 16.1278V16.1278ZM14.8167 16.4444C14.9222 15.7056 14.9222 15.7056 15.0278 15.3889C15.5556 13.0667 16.0833 10.6389 16.5056 8.31667C16.6111 8.10556 16.6111 8 16.8222 8H18.7222C18.5111 9.26667 18.3 10.2167 17.9833 11.3778C17.6667 12.9611 17.35 14.5444 16.9278 16.1278C16.9278 16.3389 16.8222 16.3389 16.6111 16.3389L14.8167 16.4444ZM5 8.21111C5 8.10556 5.21111 8 5.31667 8H8.90556C9.43333 8 9.85556 8.31667 9.96111 8.84444L10.9111 13.4889C10.9111 13.5944 10.9111 13.5944 11.0167 13.7C11.0167 13.5944 11.1222 13.5944 11.1222 13.5944L13.3389 8.21111C13.2333 8.10556 13.3389 8 13.4444 8H15.6611C15.6611 8.10556 15.6611 8.10556 15.5556 8.21111L12.2833 15.9167C12.1778 16.1278 12.1778
599616.2333 12.0722 16.3389C11.9667 16.4444 11.7556 16.3389 11.5444 16.3389H9.96111C9.85556 16.3389 9.75 16.3389 9.75 16.1278L8.06111 9.58333C7.85 9.37222 7.53333 9.05556 7.11111 8.95C6.47778 8.63333 5.31667 8.42222 5.10556 8.42222L5 8.21111Z" fill="white" style="fill:white;fill-opacity:1;"/></svg> 5997</li> 5998 </ul><p class="footer--poweredby mt-2 text-xs"><a target="_blank" rel="nofollow" href="https://www.shopify.com?utm_campaign=poweredby&utm_medium=shopify&utm_source=onlinestore">Powered by Shopify</a> | Built by <a href="https://boxxroom.digital">Boxxroom Digital</a></p> 5999 </div> 6000 </div> 6001 </div> 6002 </div> 6003</footer> 6004 6005<component is="style" v-cloak> 6006 #section-footer { 6007 --footer-text-color: #ffffff; 6008 --footer-background-color: #176b57; 6009 --cta-social-background-color: #ffffff; 6010 } 6011</component> 6012 6013 6014</div> 6015 6016 <ul hidden> 6017 <li id="a11y-refresh-page-message">Refresh page</li> 6018 </ul> 6019 6020 <svg class="hidden"> 6021 <linearGradient id="rating-star-gradient-half"> 6022 <stop offset="50%" stop-color="var(--product-star-rating)" /> 6023 <stop offset="50%" stop-color="var(--gray-color-200)" /> 6024 </linearGradient> 6025 </svg> 6026 6027 <basket-drawer cart-settings='{ 6028 "itemCount": 0, 6029 "hasShippingEstimator": false, 6030 "cart": {"note":null,"attributes":{},"original_total_price":0,"total_price":0,"total_discount":0,"total_weight":0.0,"item_count":0,"items":[],"requires_shipping":false,"currency":"GBP","items_subtotal_price":0,"cart_level_discount_applications":[],"checkout_charge_amount":0} 6031}'> 6032 <template #header="{ cart }"> 6033 <basket-drawer-header> 6034 <template #title> 6035 <span class="text-base font-semibold leading-6 text-gray-950">My Basket</span> 6036 </template><div class="order-value-booster-block" id="cm1ibvs9x24138719upn5xqhgwj"></div> 6037 </basket-drawer-header> 6038 </template> 6039 6040 <template v-slot="{ updateCartItemQuantity, updateCartItem, removeCartItem, closeCart, cart, loading }"> 6041 <div id="cart-drawer" class="cart-drawer flex flex-col h-full"> 6042 6043 <div class="flex flex-col items-center justify-center h-full" v-if="! cart.items.length"> 6044 <div class="grid gap-y-4 text-center "> 6045 <button class="block mx-auto" type="button" @click="closeCart" aria-label="Close"> 6046 <h2 class="text-lg font-semibold">Your basket is empty</h2> 6047 </button> 6048 6049 <a href="/collections/all" class="button button-primary button--pill" @click="closeCart"> 6050 Continue Shopping 6051 </a><div class="cart-drawer-login"> 6052 <p class="cart__login-title h3">Have an account?</p> 6053 <p class="cart__login-paragraph mt-1"> 6054 <a href="https://www.barnyarns.co.uk/customer_authentication/redirect?locale=en®ion_country=GB" class="link underline font-semibold">Log in</a> to check out faster. 6055 </p> 6056 </div></div></div><!-- /.drawer-inner--empty --> 6057 6058 <div v-else> 6059 <form action="/cart" id="cart-drawer-Form" class="cart-contents cart-drawer--form" method="post"> 6060 <div id="cart-drawer--cart-items" class="drawer--contents js-contents"> 6061 <div class="basket-drawer-items-wrapper" v-if="cart"> 6062 <div class="grid gap-y-4 divide-y divide-gray-100" id="basket-drawer-items"> 6063 <div v-for="item, index in cart.items" :key="item.id"> 6064 <div :id=`basket-drawer-${item.id}` class="grid grid-cols-3 gap-x-2 basket-item pt-4" style="grid-template-columns: 90px auto 60px"> 6065 <div class="product-image-container" v-if="item.image"> 6066 <img 6067 class="object-cover object-center lazyload cursor-pointer aspect-square" 6068 :src="item.featured_image.url" 6069 :alt="item.featured_image.alt" 6070 loading="lazy" 6071 width="90" 6072 > 6073 </div><!-- /.product-image-container --> 6074 6075 <div class="flex flex-col item-details"> 6076 <div class="item-info"> 6077 <a class="text-xs font-semibold item-name" :href="item.url">${ item.product_title }</a> 6078 6079 <div class="text-sm font-bold mt-1 item-price"> 6080 <div class="cart-item--discounted-prices" v-if="item.original_price != item.final_price">
6081 <span class="sr-only">Regular price</span> 6082 <s class="cart-item--old-price product-option text-gray-700 mr-1 text-xs">${ $filters.money(item.original_price) }</s> 6083 <span class="sr-only">Sale price</span> 6084 <strong class="cart-item--final-price product-option">${ $filters.money(item.final_price) }</strong> 6085 </div> 6086 <div class="product-option" v-else> 6087 ${ $filters.money(item.final_line_price) } 6088 </div> 6089 </div> 6090 6091 <div 6092 v-if="item.properties && item.properties['To Follow']" 6093 class="basket-item__stock-advisory text-xs mt-1" 6094 > 6095 <div v-if="item.properties['To Despatch']"> 6096 To Despatch: ${ item.properties['To Despatch'] } 6097 </div> 6098 6099 <div v-if="item.properties['To Follow']"> 6100 To Follow: ${ item.properties['To Follow'] } 6101 </div> 6102 6103 <div v-if="item.properties['Expected Despatch Date']"> 6104 Expected Despatch Date for item(s) to follow: 6105 ${ item.properties['Expected Despatch Date'] } 6106 </div> 6107 </div> 6108 6109 <div class="mt-1 flex justify-between gap-x-2 text-xs item-details" v-if="item.product_has_only_default_variant === false || item?.properties?.length != 0 || item?.selling_plan_allocation != null"> 6110 6111 <div class="flex flex-col gap-y-2 item-options"> 6112 <div class="item-option" v-for="option in item.options_with_values" v-if="item.product_has_only_default_variant === false"> 6113 <p class="label font-semibold">${ option.name }</p> 6114 <p> 6115 ${ option.value } 6116 <span v-if="! option.last">,</span> 6117 </p> 6118 </div><!-- /.item-option --> 6119 6120 <p class="item-option">${ item?.selling_plan_allocation?.selling_plan.name }</p> 6121 6122 <ul class="discounts list-unstyled" role="list" aria-label="Discount"> 6123 <li class="discounts__discount flex items-center" v-for="discount in item.discounts"><svg aria-hidden="true" focusable="false" class="icon icon--discount w-3 h-auto mr-1 text-red-500" viewBox="0 0 12 12"> 6124 <path fill-rule="evenodd" clip-rule="evenodd" d="M7 0h3a2 2 0 012 2v3a1 1 0 01-.3.7l-6 6a1 1 0 01-1.4 0l-4-4a1 1 0 010-1.4l6-6A1 1 0 017 0zm2 2a1 1 0 102 0 1 1 0 00-2 0z" fill="currentColor"> 6125 </svg>${ discount.title } 6126 </li> 6127 </ul> 6128 </div><!-- /.item-options --> 6129 </div> 6130 </div><!-- /.item-info --> 6131 <product-quantity-selector 6132 class="quantity" 6133 v-if="! item.message" 6134 :key="item.quantity" 6135 :id="item.key" 6136 :quantity="item.quantity" 6137 :step="1" 6138 :min="1" 6139 labelSrOnly 6140 @quantity:changed="({amount, id}) => updateCartItem(item, amount, id)"> 6141 </product-quantity-selector> 6142 6143 </div><!-- /.item-info --> 6144 6145 <div :id=`cart-drawer-remove-${item.id}` class="text-center"> 6146 <button type="button" class="text-xs" aria-label="Remove " @click.prevent="removeCartItem(item.key)" v-if="!loading"> 6147 <svg fill="none" viewBox="0 0 16 16" aria-hidden="true" focusable="false" class="icon icon--remove w-4 h-auto text-gray-700 hover:text-red-900" width="14" height="14"> 6148 <path d="M14 3h-3.53a3.07 3.07 0 00-.6-1.65C9.44.82 8.8.5 8 .5s-1.44.32-1.87.85A3.06 3.06 0 005.53 3H2a.5.5 0 000 1h1.25v10c0 .28.22.5.5.5h8.5a.5.5 0 00.5-.5V4H14a.5.5 0 000-1zM6.91 1.98c.23-.29.58-.48 1.09-.48s.85.19 1.09.48c.2.24.3.6.36 1.02h-2.9c.05-.42.17-.78.36-1.02zm4.84 11.52h-7.5V4h7.5v9.5z" fill="currentColor"/> 6149 <path d="M6.55 5.25a.5.5 0 00-.5.5v6a.5.5 0 001 0v-6a.5.5 0 00-.5-.5zM9.45 5.25a.5.5 0 00-.5.5v6a.5.5 0 001 0v-6a.5.5 0 00-.5-.5z" fill="currentColor"/> 6150 </svg>
6151 <span class="sr-only">Remove </span> 6152 </button> 6153 <div v-else> 6154 <svg viewBox="0 0 38 38" class="icon icon--loading w-4 h-4 stroke-red-900 inline-block" style=""> 6155 <g fill="none" fill-rule="evenodd"> 6156 <g transform="translate(1 1)" stroke-width="2"> 6157 <circle stroke-opacity=".5" cx="18" cy="18" r="18"/> 6158 <path d="M36 18c0-9.94-8.06-18-18-18"> 6159 <animateTransform 6160 attributeName="transform" 6161 type="rotate" 6162 from="0 18 18" 6163 to="360 18 18" 6164 dur="1s" 6165 repeatCount="indefinite"/> 6166 </path> 6167 </g> 6168 </g> 6169 </svg> 6170 </div> 6171 </div> 6172 6173 <p v-if="item.message" class="col-span-3 text-center text-red-800 font-semibold text-sm mt-2 px-2">${ item.message }</p> 6174 </div><!-- /#basket-drawer --> 6175</div> 6176 6177 </div><!-- /.grid --> 6178 </div><!-- /.basket-drawer-items-wrapper --> 6179 6180 <p class="sr-only" role="status"></p> 6181 <p class="sr-only" aria-hidden="true" role="status">Translation missing: en.accessibility.loading</p> 6182 </div> 6183 </form> 6184 </div> 6185 6186 </div><!-- /.cart-drawer --> 6187 6188 <component is="script" v-cloak> 6189 document.addEventListener('DOMContentLoaded', function () { 6190 function isIE() { 6191 const ua = window.navigator.userAgent; 6192 const msie = ua.indexOf('MSIE '); 6193 const trident = ua.indexOf('Trident/'); 6194 6195 return msie > 0 || trident > 0; 6196 } 6197 6198 if (!isIE()) return; 6199 const cartSubmitInput = document.createElement('input'); 6200 cartSubmitInput.setAttribute('name', 'checkout'); 6201 cartSubmitInput.setAttribute('type', 'hidden'); 6202 document.querySelector('#cart').appendChild(cartSubmitInput); 6203 document.querySelector('#checkout').addEventListener('click', function (event) { 6204 document.querySelector('#cart').submit(); 6205 }); 6206 }); 6207 </component> 6208 </template> 6209 6210 <template #footer="{ cart }"> 6211 <div class="basket-drawer-footer flex flex-col gap-y-4 mt-2"> 6212 <details id="Details-cart-drawer" v-if="cart.note"> 6213 <summary> 6214 <span class="summary__title"> 6215 Order special instructions 6216 <svg class="icon icon--arrow-bottom w-3" role="presentation" viewBox="0 0 21 11"> 6217 <polyline fill="none" stroke="currentColor" points="0.5 0.5 10.5 10.5 20.5 0.5" stroke-width="1.25"></polyline> 6218 </svg> 6219 </span> 6220 </summary> 6221 <basket-cart-note class="cart__note field"> 6222 <label class="sr-only" for="cart-drawer-Note">Order special instructions</label> 6223 <textarea id="cart-drawer-Note" class="text-area text-area--resize-vertical field__input" name="note" placeholder="Order special instructions"> 6224 ${ cart.note } 6225 </textarea> 6226 </basket-cart-note> 6227 </details> 6228 6229 <div class="cart-drawer__footer flex flex-col gap-y-4"> 6230 <ul class="discounts list-unstyled" role="list" aria-label="Discount" v-if="cart.cart_level_discount_applications.length"> 6231 <li class="discounts__discount discounts__discount--end" v-for="discount in cart.cart_level_discount_applications">${ discount.title } (-${ $filters.money(discount.total_allocated_amount) }) 6232 </li> 6233 </ul> 6234 6235 <small class="tax-note caption-large rte text-center">Tax included. <a href="/policies/shipping-policy">Shipping</a> calculated at checkout. 6236</small> 6237 </div><!-- /.basket-drawer-footer --> 6238 6239 <div class="basket-cta text-center"> 6240 <noscript> 6241 <button type="submit" class="button button-secondary button--pill" form="cart-drawer-Form"> 6242 Update 6243 </button> 6244 </noscript> 6245 6246 <button type="submit" id="cart-drawer-Checkout" class="button button-primary button--pill w-full h-12" name="checkout" form="cart-drawer-Form">
6247 <span class="uppercase text-xs tracking-widest">Checkout <span class="mx-2">·</span> ${ $filters.money(cart.total_price) } ${ cart.currency }</span> 6248 </button> 6249 6250 <p class="mt-4">or <a href="/cart" class="underline font-semibold">View basket</p> 6251 </div> 6252 </template> 6253</basket-drawer> 6254 6255 <modal-search v-slot="{search, searching, results, onSearch, onCloseSearch, onResetSearch, onEnter, setRef}"> 6256 <div class="hidden md:block bg-slate-100 p-1 text-xs font-bold px-4 sm:px-6"> 6257 <ul class="flex justify-end gap-8 mx-auto max-w-screen-2xl"> 6258 6259 <li><a href="https://www.barnyarns.co.uk/a/blog" id="blog-news" title="Blog & News" class="">Blog & News</a></li> 6260 6261 <li><a href="/policies/shipping-policy" id="shipping-policy" title="Shipping Policy" class="">Shipping Policy</a></li> 6262 6263 <li><a href="/policies/refund-policy" id="refund-policy" title="Refund Policy" class="">Refund Policy</a></li> 6264 6265 <li><a href="/policies/terms-of-service" id="terms-of-service" title="Terms of Service" class="">Terms of Service</a></li> 6266 6267 </ul> 6268 </div> 6269 <div class="navigation-container relative"> 6270 6271 <div class="flex items-center justify-between flex-wrap gap-x-6 py-4 mx-auto max-w-screen-2xl px-4 sm:px-6"> 6272 6273 <div class="lg:order-0"><a href="/" class="header__heading-link link link--text focus-inset mx-auto xl:mx-0"> 6274 <span class="sr-only">Barnyarns</span><div class="header__heading-logo-wrapper"> 6275 6276 <img src="//www.barnyarns.co.uk/cdn/shop/files/barnyarns-logo.svg?v=1710329502&width=600" alt="Barnyarns" srcset="//www.barnyarns.co.uk/cdn/shop/files/barnyarns-logo.svg?v=1710329502&width=180 180w, //www.barnyarns.co.uk/cdn/shop/files/barnyarns-logo.svg?v=1710329502&width=270 270w, //www.barnyarns.co.uk/cdn/shop/files/barnyarns-logo.svg?v=1710329502&width=360 360w" width="180" height="41.53846153846154" loading="eager" class="header__heading-logo motion-reduce lazyload" sizes="(max-width: 360px) 50vw, 180px"> 6277 </div></a> 6278</div> 6279 6280 <div class="icon-links flex justify-end gap-x-6 lg:order-2"> 6281 <a href="/" class="icon-link group flex flex-col items-center" title="Close search" @click.prevent="onCloseSearch"> 6282 <svg class="icon icon--close pointer-events-none inline-block h-6 w-6 stroke-gray-900" role="presentation" viewBox="0 0 16 14"> 6283 <path d="M15 0L1 14m14 0L1 0" stroke="currentColor" fill="none" fill-rule="evenodd"></path> 6284 </svg> 6285 <span class="sr-only">Close search</span> 6286 <span class="mt-1 text-xs text-gray-500">Close</span> 6287 </a> 6288 </div> 6289 6290 <div class="search-header w-full my-4 lg:my-0 lg:w-auto lg:flex-1 lg:order-1"> 6291 <form form action="/search" class="flex items-center justify-center gap-x-6"> 6292 <div 6293 class="relative w-full max-w-lg scale-100 transform opacity-100 transition-all"> 6294 <div v-if="searching"> 6295 <svg viewBox="0 0 38 38" class="icon icon--loading pointer-events-none absolute left-[5px] top-[5px] h-8 w-8 inline-block stroke-gray-900" style=""> 6296 <g fill="none" fill-rule="evenodd"> 6297 <g transform="translate(1 1)" stroke-width="2"> 6298 <circle stroke-opacity=".5" cx="18" cy="18" r="18"/> 6299 <path d="M36 18c0-9.94-8.06-18-18-18"> 6300 <animateTransform 6301 attributeName="transform" 6302 type="rotate" 6303 from="0 18 18" 6304 to="360 18 18" 6305 dur="1s" 6306 repeatCount="indefinite"/> 6307 </path> 6308 </g> 6309 </g> 6310 </svg> 6311 </div> 6312 <div v-else> 6313 <svg class="icon icon--search pointer-events-none absolute left-[5px] top-[5px] h-8 w-8 rounded-full bg-primary-900 p-1.5 text-white" role="presentation" viewB
6313ox="0 0 18 17"> 6314 <g transform="translate(1 1)" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="square"> 6315 <path d="M16 16l-5.0752-5.0752"></path> 6316 <circle cx="6.4" cy="6.4" r="6.4"></circle> 6317 </g> 6318 </svg> 6319 </div> 6320 <input 6321 class="block w-full appearance-none rounded-full border border-gray-300 bg-white py-2 pl-12 pr-6 text-left text-base text-slate-900 placeholder:text-slate-600 hover:border-gray-600 focus:outline-none sm:text-sm sm:leading-6" 6322 placeholder="Search Barnyarns..." 6323 aria-label="Search Barnyarns" 6324 role="combobox" 6325 name="q" 6326 type="text" 6327 style="caret-color: rgb(107, 114, 128)" 6328 tabindex="0" 6329 :value="search" 6330 :disabled="searching" 6331 @input="onSearch" 6332 :ref="(el) => setRef(el)" 6333 @keyup.enter="onEnter" 6334 /> 6335 <span class="sr-only">Search</span> 6336 <div v-if="search"> 6337 <a href="/" class="icon-link absolute right-4 top-2" title="Reset search" @click.prevent="onResetSearch"> 6338 <svg class="icon icon--close inline-block h-4 w-4 stroke-gray-900" role="presentation" viewBox="0 0 16 14"> 6339 <path d="M15 0L1 14m14 0L1 0" stroke="currentColor" fill="none" fill-rule="evenodd"></path> 6340 </svg> 6341 </a> 6342 </div> 6343 </div> 6344 <div class="hidden md:block text-xs !leading-3 pt-1.5 text-nowrap lg:text-sm"> 6345 <div>Call us for today</div> 6346 <div class="font-bold text-sm lg:text-lg">017656 900 694</div> 6347 </div> 6348 </form> 6349 </div> 6350 6351 </div><!-- /.flex --> 6352 </div><!-- /.relative --> 6353</modal-search> 6354 6355 </div><!-- /#page -->
vendor: 114 bytes, lines 6355-6357
6355 6356 6357 <script data-cfasync="false" src="/cdn-cgi/scripts/5c5dd728/cloudflare-static/email-decode.min.js"></script>
6357<script> 6358 // This allows to expose several variables to the global scope, to be used in scripts 6359 window.theme = { 6360 page_type: "product", 6361 money_format: "£{{amount}}", 6362 money_with_currency_format: "£{{amount}} GBP", 6363 currency_code_enabled: false, 6364 product_image_size: null, 6365 search_mode: "product,article", 6366 show_page_transition: null, 6367 show_element_staggering: null, 6368 show_image_zooming: null 6369 }; 6370 6371 window.routes = { 6372 root_url: "\/", 6373 cart_url: "\/cart", 6374 cart_add_url: '/cart/add', 6375 cart_change_url: '/cart/change', 6376 cart_update_url: '/cart/update', 6377 predictive_search_url: '/search/suggest', 6378 search_url: "\/search", 6379 product_recommendations_url: "\/recommendations\/products" 6380 }; 6381 6382 window.languages = { 6383 cart_add_note: "Translation missing: en.cart.add_note", 6384 cart_edit_ote: "Translation missing: en.cart.edit_note", 6385 product_image_loading_error: "Translation missing: en.product.slideshow.image_loading_error", 6386 product_form_add_to_cart: "Translation missing: en.product.form.add_to_cart", 6387 product_form_unavailable: "Translation missing: en.product.form.unavailable", 6388 product_form_sold_out: "Translation missing: en.product.form.sold_out", 6389 shipping_estimator_one_result: "1 option available:", 6390 shipping_estimator_more_results: "{{count}} options available:", 6391 shipping_estimator_no_results: "No shipping could be found" 6392 }; 6393 6394 window.cart_strings = { 6395 error: `Translation missing: en.sections.cart.cart_error`, 6396 quantityError: `Translation missing: en.sections.cart.cart_quantity_error_html` 6397 } 6398 6399 window.variant_strings = { 6400 add_to_cart: `Add to cart`, 6401 sold_out: `Sold out`, 6402 unavailable: `Unavailable`, 6403 } 6404 6405 window.product = {"id":9708660130073,"title":"Hobbs Heirloom Premium 80\/20 Cotton\/Poly Wadding 96\"","handle":"hobbs-heirloom-premium-80-20-cotton-poly-wadding-96-x-30-yds","description":"\u003cp\u003eHobbs Heirloom batting is one of the best in the business.\u003c\/p\u003e\u003cp\u003eIts easy to hand or machine quilt with this lovely wadding up to four inches apart.\u003c\/p\u003e\u003cp\u003eShrinks about 3-5% and can be pre-shrunk.\u003c\/p\u003e\u003cp\u003eVery clean cotton mixed with 20% polyester, lightly needle punched and lightly resinated.\u003c\/p\u003e\u003cp\u003eGreater loft gives more definition than other 100% cotton battings.\u003c\/p\u003e\u003cp\u003eThe colour is the natural cotton\u003c\/p\u003e","published_at":"2024-09-27T12:06:10+01:00","created_at":"2024-09-27T12:06:12+01:00","vendor":"Hobbs Heirloom","type":"Cotton Blend","tags":["Best Seller__label"],"price":1115,"price_min":1115,"price_max":29100,"available":true,"price_varies":true,"compare_at_price":null,"compare_at_price_min":0,"compare_at_price_max":0,"compare_at_price_varies":false,"variants":[{"id":49677659701529,"title":"Per Metre","option1":"Per Metre","option2":null,"option3":null,"sku":"HLBY96-1","requires_shipping":true,"taxable":true,"featured_image":null,"available":true,"name":"Hobbs Heirloom Premium 80\/20 Cotton\/Poly Wadding 96\" - Per Metre","public_title":"Per Metre","options":["Per Metre"],"price":1115,"weight":320,"compare_at_price":null,"inventory_management":"shopify","barcode":"5056259737490","requires_selling_plan":false,"selling_plan_allocations":[],"quantity_rule":{"min":1,"max":null,"increment":1}},{"id":49677659734297,"title":"5 Metres","option1":"5 Metres","option2":null,"option3":null,"sku":"HLBY96-5","requires_shipping":true,"taxable":true,"featured_image":null,"available":true,"name":"Hobbs Heirloom Premium 80\/20 Cotton\/Poly Wadding 96\" - 5 Metres","public_title":"5 Metres","options":["5 Metres"],"price":5335,"weight":1600,"compare_at_price":null,"inventory_management":"shopify","barcode":null,"requires_selling_plan":false,"selling_plan_allocations":[],"quantity_rule":{"min":1,"max":null,"increment":1}},{"id":49677659767065,"title":"Full Roll 30 yds","option1":"Full Roll 30 yds","option2":null,"option3":null,"sku":"HLBY96-R30","requires_shipping":true,"taxable":true,"featured_image":null,"available":true,"name":"Hobbs Heirloom Premium 80\/20 Cotton\/Poly Wadding 96\" - Full Roll 30 yds","public_title":"Full Roll 30 yds","options":["Full Roll 30 yds"],"price":29100,"weight":7500,"compare_at_price":null,"inventory_management":"shopify","barcode":"0040086010548","requires_selling_plan":false,"selling_plan_allocations":[],"quantity_rule":{"min":1,"max":null,"increment":1}}],"images":["\/\/www.barnyarns.co.uk\/cdn\/shop\/files\/96-inch-hobbs-heirloom_6a67f231-0af7-4719-893f-83a93c64a21f.jpg?v=1727436540"],"featured_image":"\/\/www.barnyarns.co.uk\/cdn\/shop\/files\/96-inch-hobbs-heirloom_6a67f231-0af7-4719-893f-83a93c64a21f.jpg?v=1727436540","options":["Length"],"media":[{"alt":null,"id":39484633579801,"position":1,"preview_image":{"aspect_ratio":1.0,"height":600,"width":600,"src":"\/\/www.barnyarns.co.uk\/cdn\/shop\/files\/96-inch-hobbs-heirloom_6a67f231-0af7-4719-893f-83a93c64a21f.jpg?v=1727436540"},"aspect_ratio":1.0,"height":600,"media_type":"image","src":"\/\/www.barnyarns.co.uk\/cdn\/shop\/files\/96-inch-hobbs-heirloom_6a67f231-0af7-4719-893f-83a93c64a21f.jpg?v=1727436540","width":600}],"requires_selling_plan":false,"selling_plan_groups":[],"content":"\u003cp\u003eHobbs Heirloom batting is one of the best in the business.\u003c\/p\u003e\u003cp\u003eIts easy to hand or machine quilt with this lovely wadding up to four inches apart.\u003c\/p\u003e\u003cp\u003eShrinks about 3-5% and can be pre-shrunk.\u003c\/p\u003e\u003cp\u003eVery clean cotton mixed with 20% polyester, lightly needle punched and lightly resinated.\u003c\/p\u003e\u003cp\u003eGreater loft gives more definition than other 100% cotton battings.\u003c\/p\u003e\u003cp\u003eThe colour is the natural cotton\u003c\/p\u003e"} 6406 window.current_variant = {"id":49677659701529,"title":"Per Metre","option1":"Per Metre","option2":null,"option3":null,"sku":"HLBY96-1","requires_shipping":true,"taxable":true,"featured_image":null,"available":true,"name":"Hobbs Heirloom Premium 80\/20 Cotton\/Poly Wadding 96\" - Per Metre","public_title":"Per Metre","options":["Per Metre"],"price":1115,"weight":320,"compare_at_price":null,"inventory_management":"shopify","barcode":"5056259737490","requires_selling_plan":false,"selling_plan_allocations":[],"quantity_rule":{"min":1,"max":null,"increment":1}} 6407 window.vendorLeadTimes = {"Aurifil":7,"Isacord":1,"Madeira":1,"Madeira Groves":1,"Superior Threads":10,"YLI":7}; 6408 6409 6410 window.accessibility_strings = { 6411 share_success: `Translation missing: en.general.share.success_message`, 6412 } 6413 6414 window.theme = { 6415 page_type: "product", 6416 money_format: "£{{amount}}", 6417 money_with_currency_format: "£{{amount}} GBP", 6418 currency_symbol: "GBP", 6419 show_currency_symbol: false, 6420 search_mode: "product,article" 6421 }; 6422 </script>
6422 6423 6424
6424<script src="//www.barnyarns.co.uk/cdn/shop/t/2/assets/manifest.js?v=137731367696412086651775820320" defer="defer"></script>
6424 6425
6425<script src="//www.barnyarns.co.uk/cdn/shop/t/2/assets/vendor.js?v=124526626787987340251783437738" defer="defer"></script>
6425 6426
6426<script src="//www.barnyarns.co.uk/cdn/shop/t/2/assets/theme.js?v=49957670839825380601783437738" defer="defer"></script>
6426<script> 6427 const scripts = document.querySelectorAll('main script'); 6428 if (scripts.length) { 6429 scripts.forEach((script) => { 6430 document.head.appendChild(script); 6431 }); 6432 } 6433 const main = document.querySelector('main'); 6434 const styles = main.getElementsByTagName('style'); 6435 if (styles.length) { 6436 Array.from(styles).forEach((style) => { 6437 document.head.appendChild(style); 6438 }); 6439 } 6440 </script>
6440 6441 <div id="shopify-block-AK0h3cTVsZkRtSWZvY__back-in-stock-restock-alerts-4bb73be2-b7c2-4870-949f-c528145452a3" class="shopify-block shopify-app-block"><link rel="preconnect" href="https://app.restockrocket.io" crossorigin><!-- Config and setup JS -->
6442<script id="RestockRocketConfig"> 6443 window._RestockRocketConfig = window._RestockRocketConfig || {} 6444 window._RestockRocket = window._RestockRocket || {} 6445 window._Stoq = window._RestockRocket 6446 window._StoqConfig = window._RestockRocketConfig 6447 try { window._RestockRocket.inlineRanAt = performance.now(); } catch (e) { } 6448 function normalizeLocale(locale) { 6449 if (!locale || locale.trim() === '') { 6450 return ''; 6451 } 6452 return locale.toString().toLowerCase().replace(/-/g, '_'); 6453 } 6454 6455 window._RestockRocketConfig.locale = 'en'; 6456 window._RestockRocketConfig.normalizedLocale = normalizeLocale('en'); 6457 window._RestockRocketConfig.shop = 'barnyarns.myshopify.com'; 6458 window._RestockRocketConfig.pageType = 'product'; 6459 window._RestockRocketConfig.liquidRenderedAt = 1791073685;window._RestockRocketConfig.marketId = 78657126681;window._RestockRocketConfig.countryName = 'United Kingdom'; 6460 window._RestockRocketConfig.countryIsoCode = 'GB';window._RestockRocketConfig.languageIsoCode = 'en';window._RestockRocketConfig.cartInventoryQuantity = {}; 6461 if (!window._RestockRocketConfig.cartToken) { 6462 try { 6463 const m = document.cookie.match(/(?:^|;\s*)cart=([^;]+)/); 6464 if (m && m[1]) window._RestockRocketConfig.cartToken = decodeURIComponent(m[1]); 6465 } catch (e) { } 6466 } 6467window._RestockRocketConfig.cachedSettings = {"id":24273,"shop_id":24119,"currency":"GBP","created_at":"2025-02-06T14:28:05.036Z","updated_at":"2026-09-30T10:41:06.316Z","enable_app":true,"enable_signup_widget":true,"storefront_button_text":"Notify me when available","storefront_button_text_color":"#FFFFFF","storefront_button_background_color":"#005A3C","storefront_form_header":"Notify me","storefront_form_description":"Get a notification as soon as this product is back in stock by signing up below!","storefront_form_button_text":"Notify me when available","storefront_form_button_text_color":"#FFFFFF","storefront_form_button_background_color":"#005A3C","storefront_form_terms":"Promise we won't spam. You'll only receive notifications for this product.","storefront_form_error":"Please enter a valid email address","storefront_form_success":"Thank you! We will notify you when the product is available.","enable_powered_by":true,"show_button_on_preorder":false,"sms_enabled":false,"email_enabled":true,"storefront_button_disable_tag":"rocket-hide","theme_config":{"disableDebugLoggingForNonPreorderItem":false},"storefront_form_email_placeholder":"Email address","storefront_form_phone_placeholder":"SMS","storefront_form_phone_label":"Phone number","storefront_form_email_label":"Email","storefront_form_phone_error":"Please enter a valid phone number","storefront_form_customer_name_placeholder":"Name","storefront_form_customer_name_error":"Please enter your name","storefront_form_did_you_mean_error":"Did you mean %{suggested_email}? Or use %{current_email}","form_customer_name_enabled":false,"form_customer_name_required":false,"css_config":null,"js_config":null,"collect_promotion_consent":false,"storefront_form_promotion_consent_label":"Notify me about other news, sales, discounts & offers too","show_button_on_collection":false,"sms_default_country":"us","sms_allowed_countries":[],"sms_restrict_country":false,"sms_default_channel":true,"optin_required":false,"optin_custom_domain_enabled":false,"optin_success_text":"Registration confirmed! You'll receive an alert when the product is restocked.","storefront_button_border_radius":6,"storefront_button_disable_tag_hides_button":true,"storefront_button_disable_tag_enabled":true,"quantity_required":false,"storefront_form_quantity_label":"Quantity","enable_alerts":true,"sms_allowed":false,"email_allowed":true,"collect_promotion_consent_default":true,"insert_button_after_selector":".free_shipping_card","insert_button_after_selector_type":"afterend","storefront_button_position_type":"specific","storefront_form_duplicate_error":"You've already subscribed for alerts to this product.","storefront_mixed_cart_error":"Preorders must be purchased
6467separately from regular items. Please complete your current order first, or clear your cart to continue.","storefront_error_heading":"Error","default_locale":"en","collection_page_button_text_color":"#FFFFFF","collection_page_button_background_color":"#202223","show_button_if_any_out_of_stock":true,"show_button_if_any_variant_out_of_stock_collection":false,"show_button_on_index":false,"insert_button_after_selector_collection":null,"insert_button_after_selector_index":null,"push_enabled":false,"push_allowed":true,"storefront_form_push_label":"Push","storefront_form_push_description":"Click 'Allow' to be notified via push notification","storefront_form_push_error":"Permission rejected! Please review notification settings and try again","storefront_font_family":"OpenSans","insert_button_after_selector_collection_type":"afterend","show_channel_selector":false,"storefront_form_empty_error":"Please fill in one or more of the options above","storefront_form_push_input":"Send notification to your browser","insert_button_after_selector_page":null,"show_button_on_page":false,"insert_button_after_selector_search":null,"show_button_on_search":false,"app_proxy_path_prefix":"/apps/restockrocket-production","collection_link_selector":null,"index_link_selector":null,"page_link_selector":null,"search_link_selector":null,"collection_check_link_visibility":true,"collection_buttons_container":null,"index_buttons_container":null,"page_buttons_container":null,"search_buttons_container":null,"extension_enable_url_variant_detection":true,"extension_enable_value_variant_detection":true,"extension_value_variant_selector":"[name='id']","resubscribe_text":"This product is out of stock. Get notified when it's restocked again by entering your details below!","preorder_enabled":false,"preorder_buy_button_selector":null,"preorder_add_to_cart_button_selector":null,"preorder_badge_selector":null,"preorder_button_out_of_stock_text":"Out of stock","preorder_button_add_to_cart_text":"Add to cart","preorder_form_selector":"form[action*=\"/cart/add\"]","preorder_collection_enabled":false,"preorder_collection_form_selector":"form[action*=\"/cart/add\"]","preorder_collection_add_to_cart_button_selector":"form[action*=\"/cart/add\"] button","preorder_index_enabled":false,"preorder_index_form_selector":"form[action*=\"/cart/add\"]","preorder_index_add_to_cart_button_selector":"form[action*=\"/cart/add\"] button","preorder_page_enabled":false,"preorder_page_form_selector":"form[action*=\"/cart/add\"]","preorder_page_add_to_cart_button_selector":"form[action*=\"/cart/add\"] button","preorder_search_enabled":false,"preorder_search_form_selector":"form[action*=\"/cart/add\"]","preorder_search_add_to_cart_button_selector":"form[action*=\"/cart/add\"] button","preorder_collection_badge_selector":null,"preorder_index_badge_selector":null,"preorder_page_badge_selector":null,"preorder_search_badge_selector":null,"preorder_badge_selector_type":"afterend","preorder_collection_badge_selector_type":"afterend","preorder_button_child_selector":"span","preorder_button_disclaimer_insert_selector":null,"preorder_button_disclaimer_insert_selector_type":"afterend","preorder_payment_insert_selector":null,"preorder_payment_insert_selector_type":"afterend","preorder_price_container_selector":null,"preorder_price_container_selector_insert_type":"afterend","preorder_terms_insert_selector":null,"preorder_terms_insert_selector_type":"afterend","preorder_original_price_selector":null,"preorder_price_format":"{{amount}} {{currency}}","show_badge_if_any_variant_is_preorder":false,"enable_console_debug":false,"inline_form_enabled":false,"inline_form_selector":null,"inline_form_selector_type":"afterend","storefront_form_prefill_customer":true,"storefront_form_show_image":false,"storefront_form_text_color":"#202223","storefront_form_background_color":"#FFFFFF","storefront_form_border_radius":0,"market_setup_type":"single_market","shopify_app_id":5940125,"preorder_progress_bar_insert_selector":null,"preorder_progress_bar_insert_selector_type":"beforebegin","countdown_timer_insert_selector":null,"countdown_timer_insert_selector_type":"afterend","configure_notify_me_enabled":false,"restock_note_insert_selector":null,"restock_note_insert_selector_type":"afterend","restock_note_background_color":"#f3f4f6","restock_note_text_color":"#202223","restock_note_border_radius":4,"preorder_modal_continue_button_text":"Continue","preorder_modal_cancel_button_text":"Cancel","meta_pixel_enabled":false,"meta_pixel_id":null,"cache":true,"cached_at":"2026-09-30T10:4
64671:06.353Z","multi_language_enabled":false,"translation_locale":"en","disable_refresh_on_stale_liquid":false,"api_host":"https://ext.stoqapp.com"}; 6468 window._RestockRocketConfig.metafieldNamespace = 'restockrocket_production'; 6469 window._RestockRocketConfig.storefrontApiVersion = '2026-07';window._RestockRocketConfig.cachedPreorderVariantIds = { preorder_variant_ids: [] };window._RestockRocketConfig.cachedInStockVariantIds = { in_stock_variant_ids: [] };window._RestockRocketConfig.cachedOutOfStockVariantIds = { out_of_stock_variant_ids: [] };window._RestockRocketConfig.cachedVariantPreorderLimits = { variant_preorder_limits: {} };window._RestockRocketConfig.cachedVariantShippingTexts = { variant_shipping_texts: {} }; 6470window._RestockRocketConfig.sellingPlans = [];(function() { 6471 const cachedData = {"plans":[],"disabled_plan_ids":[],"has_in_stock_offer":false,"has_preorder_offer":false,"read_flags":{},"cached_at":"2026-09-21T15:55:25Z"}; 6472 6473 if (cachedData && typeof cachedData === 'object' && cachedData.cached_at) { 6474 window._RestockRocketConfig.readFlags = cachedData.read_flags || {}; 6475 const oldPlans = window._RestockRocketConfig.sellingPlans; 6476 const maxUpdatedAt = Array.isArray(oldPlans) && oldPlans.length > 0 6477 ? oldPlans.reduce(function(max, plan) { 6478 if (plan.updated_at) { 6479 const planDate = new Date(plan.updated_at); 6480 const maxDate = max ? new Date(max) : null; 6481 return (!maxDate || (planDate && !isNaN(planDate) && planDate > maxDate)) ? plan.updated_at : max; 6482 } 6483 return max; 6484 }, '') 6485 : null; 6486 const cachedDate = new Date(cachedData.cached_at); 6487 const maxDate = maxUpdatedAt ? new Date(maxUpdatedAt) : null; 6488 const useCached = !maxUpdatedAt || (cachedDate && !isNaN(cachedDate) && (!maxDate || cachedDate > maxDate)); 6489 6490 if (useCached) { 6491 if (Array.isArray(cachedData.plans)) { 6492 window._RestockRocketConfig.sellingPlans = cachedData.plans; 6493 window._RestockRocketConfig.disabledSellingPlanIds = cachedData.disabled_plan_ids || []; 6494 console.debug('[RR] Using selling plans from cachedSellingPlans (cached_at: ' + cachedData.cached_at + ')'); 6495 } 6496 } else { 6497 window._RestockRocketConfig.disabledSellingPlanIds = []; 6498 console.debug('[RR] Using selling plans from old format (max updated_at: ' + maxUpdatedAt + ')'); 6499 } 6500 } 6501 })();window._RestockRocketConfig.enabledNotifyMeVariantIds = [];window._RestockRocketConfig.disabledNotifyMeVariantIds = [];window._RestockRocketConfig.backInStockTemplates = [];window._RestockRocketConfig.restockNotes = {};window._RestockRocketConfig.integrations = [];window._RestockRocketConfig.product = { 6502 id: 9708660130073, 6503 title: "Hobbs Heirloom Premium 80\/20 Cotton\/Poly Wadding 96\"", 6504 handle: "hobbs-heirloom-premium-80-20-cotton-poly-wadding-96-x-30-yds", 6505 vendor: "Hobbs Heirloom", 6506 tags: ["Best Seller__label"], 6507 available: true, 6508 options: ["Length"], 6509 selling_plan_groups: [], 6510 featured_image: "\/\/www.barnyarns.co.uk\/cdn\/shop\/files\/96-inch-hobbs-heirloom_6a67f231-0af7-4719-893f-83a93c64a21f.jpg?v=1727436540\u0026width=800", 6511 variants: [{ 6512 id: 49677659701529, 6513 title: "Per Metre", 6514 available: true, 6515 sku: "HLBY96-1", 6516 price: 1115 6517}, 6518{ 6519 id: 49677659734297, 6520 title: "5 Metres", 6521 available: true, 6522 sku: "HLBY96-5", 6523 price: 5335 6524}, 6525{ 6526 id: 49677659767065, 6527 title: "Full Roll 30 yds", 6528 available: true, 6529 sku: "HLBY96-R30", 6530 price: 29100 6531} 6532] 6533 };window._RestockRocketConfig.variantsInventoryPolicy = {49677659701529 : "deny",49677659734297 : "deny",49677659767065 : "deny",}; 6534 window._RestockRocketConfig.variantsInventoryQuantity = {49677659701529 : 1,49677659734297 : 1,49677659767065 : 1,}; 6535 window._RestockRocketConfig.variantsPreorderCount = {49677659701529 : parseInt(""),49677659734297 : parseInt(""),49677659767065 : parseInt(""),}; 6536 window._RestockRocketConfig.variantsPreorderCountForMarket = {49677659701529 : null,49677659734297 : null,49677659767065 : null,}; 6537 window._RestockRocketConfig.variantsPreorderMaxCount = {49677659701529 : parseInt(""),49677659734297 : parseInt(""),49677659767065 : parseInt(""),}; 6538 window._RestockRocketConfig.variantsPreorderMaxCountForMarket = {49677659701529 : null,49677659734297 : null,49677659767065 : null,}; 6539 window._RestockRocketConfig.variantsShippingText = {49677659701529 : "",49677659734297 : "",49677659767065 : "",}; 6540 window._RestockRocketConfig.variantsShippingTextForMarket = {49677659701529 : null,49677659734297 : null,49677659767065 : null,};
6540window._RestockRocketConfig.selected_variant_id = 49677659701529; 6541 window._RestockRocketConfig.selected_variant_available = (window._RestockRocketConfig.product.variants.find(function(variant) { return variant.id == window._RestockRocketConfig.selected_variant_id }) || {}).available; 6542 try { 6543 var _sqCfg = window._RestockRocketConfig; 6544 var _sqPlanEnabled = Array.isArray(_sqCfg.sellingPlans) && 6545 _sqCfg.sellingPlans.some(function (p) { return p && p.enabled; }); 6546 var _sqPreCount = ((_sqCfg.cachedPreorderVariantIds && 6547 _sqCfg.cachedPreorderVariantIds.preorder_variant_ids) || []).length; 6548 _sqCfg.preordersConfigured = !!(_sqPlanEnabled && _sqPreCount); 6549 } catch (e) { } 6550 try { 6551 var _sqc = window._RestockRocketConfig; 6552 var _sqOn = !(_sqc.cachedSettings && _sqc.cachedSettings.block_accelerated_checkout === false); 6553 var _sqPre = (_sqc.cachedPreorderVariantIds && 6554 _sqc.cachedPreorderVariantIds.preorder_variant_ids) || []; 6555 var _sqArm = false; 6556 if (_sqOn && _sqc.preordersConfigured) { 6557 if (_sqc.pageType === 'product' && _sqc.product && _sqc.product.variants) { 6558 _sqArm = _sqc.product.variants.some(function (v) { return _sqPre.indexOf(Number(v.id)) !== -1; }); 6559 } else { 6560 _sqArm = (_sqc.integrations || []).some(function (i) { 6561 return i && i.type === 'featured_product' && i.enabled && 6562 Array.isArray(i.page_types) && i.page_types.indexOf(_sqc.pageType) !== -1; 6563 }); 6564 } 6565 } 6566 if (_sqArm && document.documentElement) { 6567 _sqc.acceleratedGateArmed = true; 6568 document.documentElement.classList.add('stoq-buy-now-pending'); 6569 setTimeout(function () { 6570 document.documentElement.classList.remove('stoq-buy-now-pending'); 6571 }, 6000); 6572 } 6573 } catch (e) { } 6574 6575 window._RestockRocketConfig.scriptUrlProduct = 'https://cdn.shopify.com/extensions/01a0f67f-532e-7916-acb4-6f3af102b411/restockrocket-1-599/assets/restockrocket-product.js' 6576 window._RestockRocketConfig.scriptUrlCollection = 'https://cdn.shopify.com/extensions/01a0f67f-532e-7916-acb4-6f3af102b411/restockrocket-1-599/assets/restockrocket-collection.js' 6577 window._RestockRocketConfig.scriptUrlProductBis = 'https://cdn.shopify.com/extensions/01a0f67f-532e-7916-acb4-6f3af102b411/restockrocket-1-599/assets/restockrocket-product-bis.js' 6578 window._RestockRocketConfig.scriptUrlCollectionBis = 'https://cdn.shopify.com/extensions/01a0f67f-532e-7916-acb4-6f3af102b411/restockrocket-1-599/assets/restockrocket-collection-bis.js' 6579 window._RestockRocketConfig.scriptHost = window._RestockRocketConfig.scriptUrlProduct.substring(0, window._RestockRocketConfig.scriptUrlProduct.lastIndexOf('/') + 1) 6580 window._RestockRocketConfig.host = (window._RestockRocketConfig.cachedSettings && window._RestockRocketConfig.cachedSettings.api_host) || 'https://app.restockrocket.io' 6581 try { 6582 const _stoqVersionMatch = window._RestockRocketConfig.scriptHost.match(/(\d+)\/?(?:assets\/?)?$/); 6583 window._RestockRocketConfig.appVersion = (_stoqVersionMatch && _stoqVersionMatch[1]) || ''; 6584 } catch (e) { 6585 window._RestockRocketConfig.appVersion = ''; 6586 } 6587 const SETTINGS_CACHE_DURATION = 15 * 60 * 1000; 6588 const LIQUID_CACHE_MAX_AGE = 15 * 60; 6589 const liquidRenderedAt = window._RestockRocketConfig.liquidRenderedAt; 6590 if (!liquidRenderedAt || typeof liquidRenderedAt !== 'number' || isNaN(liquidRenderedAt)) { 6591 console.debug('STOQ - Invalid or missing liquidRenderedAt timestamp, assuming fresh'); 6592 window._RestockRocketConfig.isLiquidCacheFresh = true; 6593 window._RestockRocketConfig.liquidCacheAge = null; 6594 } else { 6595 const now = Math.floor(Date.now() / 1000); 6596 const liquidCacheAge = now - liquidRenderedAt; 6597 window._RestockRocketConfig.liquidCacheAge = Math.max(0, liquidCacheAge); 6598 if (liquidCacheAge < 0) { 6599 console.debug(`STOQ - Client clock appears ahead of server by ${Math.abs(Math.round(liquidCacheAge / 60))} minutes, assuming cache fresh`); 6600 window._RestockRocketConfig.isLiquidCacheFresh = true; 6601 } else if (liquidCacheAge <= LIQUID_CACHE_MAX_AGE) { 6602 console.debug(`STOQ - Liquid cache is fresh (${Math.round(liquidCacheAge / 60)} minutes old)`); 6603 window._RestockRocketConfig.isLiquidCacheFresh = true; 6604 } else { 6605 console.debug(`STOQ - Liquid cache is stale (${Math.round(liquidCacheAge / 60)} minutes old, max ${Math.round(LIQUID_CACHE_MAX_AGE / 60)} minutes)`); 6606 window._RestockRocketConfig.isLiquidCacheFresh = false;
6607 } 6608 } 6609 6610 function checkSettingsExpiry(settings) { 6611 try { 6612 if (!settings || !settings.updated_at) { 6613 console.debug('STOQ - Invalid settings data structure'); 6614 return null; 6615 } 6616 6617 if (!settings.cache) { 6618 console.debug('STOQ - settings caching disabled'); 6619 return null; 6620 } 6621 if (settings.multi_language_enabled) { 6622 if (!settings.translations) { 6623 console.debug('STOQ - multi-language enabled but no translation data in cache, fetching fresh'); 6624 return null; 6625 } 6626 if (window._RestockRocketConfig.normalizedLocale && 6627 !Object.prototype.hasOwnProperty.call(settings.translations, window._RestockRocketConfig.normalizedLocale)) { 6628 console.debug('STOQ - locale not explicitly translated, will use default language from cache'); 6629 } 6630 } 6631 6632 const updatedAt = new Date(settings.updated_at); 6633 if (isNaN(updatedAt.getTime())) { 6634 console.debug('STOQ - Invalid updated_at date format in settings'); 6635 return null; 6636 } 6637 6638 const age = Date.now() - updatedAt.getTime(); 6639 if (age < SETTINGS_CACHE_DURATION) { 6640 console.debug('STOQ - settings changed recently, skipping cache'); 6641 return null; 6642 } 6643 6644 return settings; 6645 } catch (error) { 6646 console.debug('STOQ - Error checking settings cache:', error); 6647 return null; 6648 } 6649 } 6650 6651 function createRestockRocketContainer() { 6652 const restockRocketContainer = document.createElement('div'); 6653 restockRocketContainer.id = 'restock-rocket'; 6654 document.body.appendChild(restockRocketContainer); 6655 } 6656 6657 function createRestockRocketScript(scriptUrl) { 6658 const restockRocketScriptElement = document.createElement('script'); 6659 restockRocketScriptElement.setAttribute('defer', 'defer'); 6660 restockRocketScriptElement.src = scriptUrl; 6661 document.body.appendChild(restockRocketScriptElement); 6662 } 6663 6664 createRestockRocketContainer() 6665 6666 console.debug('STOQ - extension activated') 6667 try { 6668 const _stoqInitConfig = window._RestockRocketConfig; 6669 const _stoqDetectedVariantIds = (_stoqInitConfig.product && Array.isArray(_stoqInitConfig.product.variants)
6669) 6670 ? _stoqInitConfig.product.variants.map(function(v) { return v.id }) 6671 : []; 6672 const _stoqSelectedVariantId = _stoqInitConfig.selected_variant_id; 6673 var _stoqPageSeq = 0; 6674 try { 6675 _stoqPageSeq = (parseInt(window.sessionStorage.getItem('_stoq_pls') || '0', 10) || 0) + 1; 6676 window.sessionStorage.setItem('_stoq_pls', String(_stoqPageSeq)); 6677 } catch (e) { } 6678 Shopify?.analytics?.publish?.('stoq_initialized', { 6679 cart_token: _stoqInitConfig.cartToken || '', 6680 page_url: window.location.href, 6681 page_type: _stoqInitConfig.pageType || '', 6682 shop_domain: _stoqInitConfig.shop || '', 6683 market_id: _stoqInitConfig.marketId || '', 6684 country_code: _stoqInitConfig.countryIsoCode || '', 6685 detected_variant_ids: _stoqDetectedVariantIds, 6686 selected_variant_id: _stoqSelectedVariantId || '', 6687 page_load_seq: _stoqPageSeq, 6688 liquid_rendered_at: _stoqInitConfig.liquidRenderedAt || 0, 6689 app_version: _stoqInitConfig.appVersion || '', 6690 liquid_cache_age: _stoqInitConfig.liquidCacheAge, 6691 inventory_policy: (_stoqInitConfig.variantsInventoryPolicy || {})[_stoqSelectedVariantId] || '', 6692 inventory_quantity: (_stoqInitConfig.variantsInventoryQuantity || {})[_stoqSelectedVariantId], 6693 }); 6694 } catch (e) { 6695 console.debug('STOQ - stoq_initialized publish failed:', e); 6696 } 6697 try { 6698 var _sqTrack = window._RestockRocketConfig; 6699 if (_sqTrack.preordersConfigured) { 6700 document.addEventListener('click', function (e) { 6701 try { 6702 var t = e.target; 6703 if (!t || !t.closest) return; 6704 var host = t.closest('.shopify-payment-button, shopify-payment-terms'); 6705 if (!host) return; 6706 var channel = host.matches && host.matches('shopify-payment-terms') 6707 ? 'shop_pay_installments' : 'buy_now'; 6708 var form = host.closest('form'); 6709 var vidEl = form && form.querySelector('[name="id"]'); 6710 var variantId = (vidEl && vidEl.value) || _sqTrack.selected_variant_id || ''; 6711 var _sqVidNum = Number(variantId); 6712 var _sqPlan = null; 6713 var _sqPlans = Array.isArray(_sqTrack.sellingPlans) ? _sqTrack.sellingPlans : []; 6714 var _sqMktId = Number(_sqTrack.marketId); 6715 var _sqForVariant = function (pl) { 6716 return pl && pl.enabled && Array.isArray(pl.variant_ids) && 6717 pl.variant_ids.indexOf(_sqVidNum) !== -1; 6718 }; 6719 _sqPlans.forEach(function (pl) { 6720 if (!_sqPlan && _sqForVariant(pl) && pl.markets_enabled && 6721 Array.isArray(pl.shopify_market_ids) && 6722 pl.shopify_market_ids.indexOf(_sqMktId) !== -1) { _sqPlan = pl; } 6723 }); 6724 if (!_sqPlan) { 6725 _sqPlans.forEach(function (pl) { 6726 if (!_sqPlan && _sqForVariant(pl) && !pl.markets_enabled) { _sqPlan = pl; } 6727 }); 6728 } 6729 Shopify?.analytics?.publish?.('stoq_accelerated_checkout_clicked', { 6730 variant_id: variantId, 6731 product_id: (_sqTrack.product && _sqTrack.product.id) || '', 6732 channel: channel, 6733 market_id: _sqTrack.marketId || '', 6734 country_code: _sqTrack.countryIsoCode || '', 6735 page_type: _sqTrack.pageType || '', 6736 cart_token: _sqTrack.cartToken || '', 6737 page_url: (window.location && window.location.href) || '', 6738 properties: { 6739 is_preorder_variant: (function () { 6740 var vid = Number(variantId); 6741 var has = function (a) { return Array.isArray(a) && a.indexOf(vid) !== -1; }; 6742 return has(_sqTrack.preorderVariantIds) || 6743 has(_sqTrack.cachedPreorderVariantIds && 6744 _sqTrack.cachedPreorderVariantIds.preorder_variant_ids); 6745 })(), 6746 in_enabled_plan: !!_sqPlan, 6747 is_instock_variant: (function () { 6748 var has = function (a) { return Array.isArray(a) && a.indexOf(_sqVidNum) !== -1; }; 6749 return has(_sqTrack.inStockVariantIds) || 6750 has(_sqTrack.cachedInStockVariantIds && 6751 _sqTrack.cachedInStockVariantIds.in_stock_variant_ids); 6752 })(), 6753 enrolled_plan_id: (_sqPlan && (_sqPlan.shopify_selling_plan_id || _sqPlan.shopify_selling_plan_group_id)) || '', 6754 enrolled_plan_provider: (_sqPlan && _sqPlan.inventory_provider) || '', 6755 block_enabled: !(_sqTrack.cachedSettings && _sqTrack.cachedSettings.block_accelerated_checkout === false), 6756 gate_armed: !!_sqTrack.acceleratedGateArmed, 6757 gate_active_at_click: !!(document.documentElement && 6758 document.documentElement.classList.contains('stoq-buy-now-pending')), 6759 blocked: (function () { 6760 try { 6761 var rr = window._RestockRocket; 6762 return !!(rr && typeof rr.willBlockAcceleratedCl
6762ick === 'function' && 6763 rr.willBlockAcceleratedClick(e)); 6764 } catch (err) { return false; } 6765 })(), 6766 }, 6767 }); 6768 } catch (err) { } 6769 }, true); 6770 } 6771 } catch (e) { } 6772 function applyTranslations(settings) { 6773 try { 6774 if (!settings || !settings.multi_language_enabled) { 6775 return settings; 6776 } 6777 6778 if (!settings.translations) { 6779 console.debug('STOQ - No translations found, skipping translation'); 6780 return settings; 6781 } 6782 6783 const normalizedLocale = window._RestockRocketConfig.normalizedLocale; 6784 const translations = settings.translations; 6785 6786 if (!normalizedLocale) { 6787 console.debug('STOQ - No matching locale for translations. Available:', Object.keys(translations || {})); 6788 delete settings.translations; 6789 return settings; 6790 } 6791 6792 console.debug(`STOQ - Applying translations for normalized locale: ${normalizedLocale} (original: ${window._RestockRocketConfig.locale})`); 6793 6794 const translatedFields = translations[normalizedLocale]; 6795 if (translatedFields && typeof translatedFields === 'object') { 6796 Object.keys(translatedFields).forEach(function(key) { 6797 const value = translatedFields[key]; 6798 if (value !== null && value !== undefined && value !== '') { 6799 settings[key] = value; 6800 } 6801 }); 6802 } else { 6803 console.debug('STOQ - No translated fields found for locale:', normalizedLocale); 6804 } 6805 6806 delete settings.translations; 6807 return settings; 6808 } catch (e) { 6809 console.debug('STOQ - error applying translations:', e); 6810 return settings; 6811 } 6812 } 6813 function setupCartSellingPlanUpdater(settings) { 6814 window.addEventListener('stoq:inventory-data-loaded', function(event) { 6815 console.debug('STOQ - Inventory data loaded, updating cart selling plans'); 6816 if (window._RestockRocket && window._RestockRocket.updateCartSellingPlans) { 6817 window._RestockRocket.updateCartSellingPlans() 6818 .then(hasUpdates => { 6819 if (hasUpdates) { 6820 console.debug('STOQ - cart selling plans updated successfully'); 6821 } else { 6822 console.debug('STOQ - no cart selling plan updates needed'); 6823 } 6824 }) 6825 .catch(error => { 6826 console.error('STOQ - error updating cart selling plans:', error); 6827 }); 6828 } 6829 }); 6830 } 6831 function storefrontGraphql(query, variables) { 6832 const cfg = window._RestockRocketConfig; 6833 if (!cfg.storefrontAccessToken || cfg.disableStorefrontApi === true) { 6834 return Promise.reject(new Error('Storefront API unavailable')); 6835 } 6836 return fetch( 6837 `https://${cfg.shop}/api/${cfg.storefrontApiVersion}/graphql.json`, 6838 { 6839 method: 'POST', 6840 headers: { 6841 'Content-Type': 'application/json', 6842 'X-Shopify-Storefront-Access-Token': cfg.storefrontAccessToken, 6843 }, 6844 body: JSON.stringify({ query: query, variables: variables }), 6845 } 6846 ) 6847 .then(function(response) { 6848 if (!response.ok) { throw new Error('Storefront API HTTP ' + response.status); } 6849 return response.json(); 6850 }) 6851 .then(function(body) { 6852 if (body && body.errors && body.errors.length) { 6853 throw new Error('Storefront API errors: ' + body.errors.map(function(e) { return e && e.message; }).join(', ')); 6854 } 6855 return body && body.data; 6856 }); 6857 } 6858 function fetchStorefrontShopMetafield(key) { 6859 const cfg = window._RestockRocketConfig; 6860 const query = 'query StoqShopMetafield($namespace: String!, $key: String!) { shop { metafield(namespace: $namespace, key: $key) { value } } }'; 6861 return storefrontGraphql(query, { namespace: cfg.metafieldNamespace, key: key }) 6862 .then(function(data) { 6863 const value = data && data.shop && data.shop.metafield && data.shop.metafield.value; 6864 if (!value) { throw new Error('Storefront API returned no ' + key + ' metafield value'); } 6865 return JSON.parse(value); 6866 }); 6867 } 6868 (function loadStorefrontSettings() { 6869 const cfg = window._RestockRocketConfig; 6870 if (!cfg.storefrontAccessToken || cfg.disableStorefrontApi === true) return; 6871 function run() { 6872 // The live-settings read is one more shop-level metafield fetch, so it 6873 // shares fetchStorefrontShopMetafield with the integrations/selling_plans 6874 // reads rather than re-issuing the same query + parse. 6875 fetchStorefrontShopMetafield('settings') 6876 .then(function(settings) { 6877 cfg.storefrontSettings = settings; 6878 console.debug('STOQ - stored live settings from Storefront API on config.storefrontSettings'); 6879 }) 6880 .catch(function(e) { 6881 console.debug('STOQ - Storefront settings fetch failed (non-fatal):', e && e.message); 6882 }); 6883 } 6884 6885 if (typeof window.requestIdleCallback === 'function') { 6886 window.requestIdleCallback(run, { timeout: 5000 }); 6887 } else { 6888 setTimeout(run, 0); 6889 } 6890 })(); 6891 const cachedSettings = window._RestockRocketConfig.cachedSettings; 6892 const validCachedSettings = cachedSettings ? checkSettingsExpiry(cachedSettings) : null; 6893 6894 if (validCachedSettings) { 6895 console.debug('STOQ - using cached settings'); 6896 initializeScripts(validCachedSettings); 6897 } else { 6898 console.debug('STOQ - fetching fresh settings'); 6899 const headers = { 6900 'X-Shopify-Shop-Domain': window._RestockRocketConfig.shop || window.Shopify.shop, 6901 'ngrok-skip-browser-warning': 'skip' 6902 }; 6903 6904 if (window.Shopify?.theme?.role === 'main') { 6905 headers['X-Shopify-Theme-Schema-Name'] = window.Shopify.theme.schema_name; 6906 headers['X-Shopify-Theme-Schema-Version'] = window.Shopify.theme.schema_version; 6907 headers['X-Shopify-Theme-Store-Id'] = window.Shopify.theme.theme_store_id; 6908 } 6909 6910 fetch( 6911 `${window._RestockRocketConfig.host}/api/v1/setting.json?translation_locale=${window._RestockRocketConfig.normalizedLocale}`, 6912 { headers } 6913 ) 6914 .then(function(response) { 6915 if (!response.ok) { 6916 throw new Error('Network response was not ok'); 6917 } 6918 return response.json(); 6919 }) 6920 .then(function(settings) { 6921 initializeScripts(settings); 6922 }) 6923 .catch(function(error) { 6924 if (cachedSettings) { 6925 console.debug('STOQ - using expired cached settings as fallback'); 6926 initializeScripts(cachedSettings); 6927 } else { 6928 console.error('STOQ - failed to load settings:', error); 6929 } 6930 }) 6931 .catch(function(e) { 6932 console.error(e) 6933 }) 6934 } 6935 6936 function fetchEmbedConfig(endpoint, apply) { 6937 return fetch( 6938 `${window._RestockRocketConfig.host}/api/v1/embed/${endpoint}.json`, 6939 { 6940 headers: { 6941 'X-Shopify-Shop-Domain': window._RestockRocketConfig.shop || window.Shopify.shop, 6942 'ngrok-skip-browser-warning': 'skip' 6943 } 6944 } 6945 ) 6946 .then(function(response) { 6947 if (!response.ok) throw new Error(`Failed to fetch ${endpoint}`); 6948 return response.json(); 6949 }) 6950 .then(function(data) {
6951 try { 6952 apply(data); 6953 } catch (applyError) { 6954 console.error('STOQ - apply failed for ' + endpoint + ':', applyError); 6955 throw applyError; 6956 } 6957 }) 6958 .catch(function(error) { 6959 console.debug(`STOQ - using cached ${endpoint}:`, error.message); 6960 }); 6961 } 6962 function refreshShopConfig(source) { 6963 const cfg = window._RestockRocketConfig; 6964 const viaEmbed = function() { return fetchEmbedConfig(source.endpoint, source.apply); }; 6965 const flagOn = !!cfg.readFlags && cfg.readFlags[source.flag] === true; 6966 if (!flagOn || source.embedOnly === true) { return viaEmbed(); } 6967 6968 return fetchStorefrontShopMetafield(source.metafieldKey) 6969 .then(function(value) { 6970 if (!source.isValid(value)) { throw new Error(source.metafieldKey + ' metafield is not a valid ' + source.endpoint + ' payload'); } 6971 source.apply(value); 6972 console.debug('STOQ - refreshed ' + source.endpoint + ' from the Storefront API'); 6973 }) 6974 .catch(function(error) { 6975 console.debug('STOQ - Storefront ' + source.endpoint + ' read failed, using embed:', error.message); 6976 return viaEmbed(); 6977 }); 6978 } 6979 function refreshIntegrations() { 6980 const cfg = window._RestockRocketConfig; 6981 return refreshShopConfig({ 6982 endpoint: 'integrations', 6983 metafieldKey: 'integrations', 6984 flag: 'enable_storefront_integrations_read', 6985 isValid: function(value) { return Array.isArray(value); }, 6986 apply: function(data) { 6987 cfg.integrations = data; 6988 } 6989 }); 6990 } 6991 function refreshSellingPlans(embedOnly) { 6992 const cfg = window._RestockRocketConfig; 6993 return refreshShopConfig({ 6994 embedOnly: embedOnly === true, 6995 endpoint: 'selling_plans', 6996 metafieldKey: 'cachedSellingPlans', 6997 flag: 'enable_storefront_selling_plans_read', 6998 isValid: function(value) { return !!value && Array.isArray(value.plans); }, 6999 apply: function(data) { 7000 cfg.sellingPlans = data.plans; 7001 cfg.disabledSellingPlanIds = data.disabled_plan_ids || []; 7002 if (data && data.read_flags && typeof data.read_flags === 'object' && !Array.isArray(data.read_flags)) { 7003 cfg.readFlags = data.read_flags; 7004 } 7005 } 7006 }); 7007 } 7008 7009 function initializeScripts(settings) { 7010 settings = applyTranslations(settings); 7011 window._RestockRocketConfig.settings = settings; 7012 console.debug(`STOQ - settings configured for ${window._RestockRocketConfig.pageType}`); 7013 const forceEmbedSellingPlans = settings.force_embed_selling_plans === true; 7014 const staleRefresh = !window._RestockRocketConfig.isLiquidCacheFresh && !settings.disable_refresh_on_stale_liquid; 7015 if (forceEmbedSellingPlans || staleRefresh) { 7016 console.debug('STOQ - refreshing selling_plans' + (staleRefresh ? ' + integrations (Liquid cache stale)' : ' (force_embed_selling_plans)')); 7017 const refreshes = [refreshSellingPlans(forceEmbedSellingPlans)]; 7018 if (staleRefresh) { refreshes.push(refreshIntegrations()); } 7019 Promise.race([ 7020 Promise.all(refreshes), 7021 new Promise(function(resolve) { setTimeout(resolve, 1000); }) 7022 ]).then(function() { loadScripts(settings); }); 7023 return; 7024 } 7025 7026 loadScripts(settings); 7027 } 7028 7029 function loadScripts(settings) { 7030 setupCartSellingPlanUpdater(settings); 7031 7032 if(settings.enable_app) { 7033 const hijackIntegration = window._RestockRocketConfig.integrations.find(function(integration) { 7034 return integration.type === 'hijack' && integration.enabled && integration.page_types.includes(window._RestockRocketConfig.pageType); 7035 }) 7036 const hasEnabledOffer = Array.isArray(window._RestockRocketConfig.sellingPlans) 7037 && window._RestockRocketConfig.sellingPlans.some(function(plan) { return plan && plan.enabled; }); 7038 const hasDisabledPlanIds = Array.isArray(window._RestockRocketConfig.disabledSellingPlanIds) 7039 && window._RestockRocketConfig.disabledSellingPlanIds.length > 0; 7040 const usePreorderBuild = settings.preorder_enabled || hasEnabledOffer || hasDisabledPlanIds; 7041 7042 const collectionScriptUrl = usePreorderBuild 7043 ? window._RestockRocketConfig.scriptUrlCollection 7044 : window._RestockRocketConfig.scriptUrlCollectionBis; 7045 const productScriptUrl = usePreorderBuild 7046 ? window._RestockRocketConfig.scriptUrlProduct 7047 : window._RestockRocketConfig.scriptUrlProductBis; 7048 7049 const pageType = window._RestockRocketConfig.pageType; 7050 const collectionPageTypes = ['collection', 'index', 'search', 'page']; 7051
7052 if(collectionPageTypes.indexOf(pageType) !== -1 && (settings[`show_button_on_${pageType}`] || settings[`preorder_${pageType}_enabled`])) { 7053 createRestockRocketScript(collectionScriptUrl); 7054 } else if(pageType === 'product') { 7055 createRestockRocketScript(productScriptUrl); 7056 } else if(hijackIntegration) { 7057 createRestockRocketScript(window._RestockRocketConfig.scriptUrlCollection); 7058 } else if(usePreorderBuild) { 7059 createRestockRocketScript(window._RestockRocketConfig.scriptUrlCollection); 7060 } else { 7061 console.debug(`STOQ - no scripts enabled for ${pageType}`); 7062 } 7063 const appLoadedEvent = new CustomEvent('stoq:loaded', { 7064 detail: { 7065 pageType: window._RestockRocketConfig.pageType, 7066 enabled: settings.enable_app, 7067 settings: settings, 7068 preorderEnabled: settings.preorder_enabled 7069 } 7070 }); 7071 console.debug('STOQ - dispatching app loaded event'); 7072 window.dispatchEvent(appLoadedEvent); 7073 } 7074 } 7075</script>
7075<style id="RestockRocketStyle">html.stoq-buy-now-pending .shopify-payment-button{pointer-events:none!important}</style> 7076 7077 7078</div><div id="shopify-block-AcVNFMzZ6c2NvTGpQT__15079184273603081885" class="shopify-block shopify-app-block"> 7079 7080 7081 7082 7083 7084
7085<script> 7086 7087 window.essentialOrderValueBoosterConfigs = [{"id":"cm1glnuv814716719w1yc7s0uxa","name":"Cart Page Free Shipping","title":"Free shipping for orders over {order-value}!","progressTitle":"Youâre only {order-value-progress} away from free shipping!","reachedTitle":"Congratulations! You've got free shipping!","type":"cart-page","goal":"50","moneyFormat":"£{{amount}}","placement":"","published":true,"showOnProducts":[],"showOnCollections":[],"showOnProductsInCollections":[],"selectedProducts":[{"id":"gid:\/\/shopify\/Product\/9646759805209","image":"https:\/\/cdn.shopify.com\/s\/files\/1\/0867\/4865\/9993\/files\/t_26629_02.jpg?v=1723206330","price":"8.45","title":"Superior Gold Titanium Topstitch Needles Size 80 (12) - Pack 5","handle":"superior-gold-titanium-topstitch-needles-size-80-12-pack-5","variants":[{"id":"gid:\/\/shopify\/ProductVariant\/49479673250073"}],"compareAtPrice":null},{"id":"gid:\/\/shopify\/Product\/9684779630873","image":"https:\/\/cdn.shopify.com\/s\/files\/1\/0867\/4865\/9993\/files\/61ZCvAt2RTL._AC_SL1500_479e8089-59ce-4591-9b06-e525386247a8.jpg?v=1725889571","price":"26.95","title":"Super Satchel Thread Box - 9002AB (Empty)","handle":"ad505-odif-temporary-spray-adhesive-for-fabrics-large-500ml-pack-of-2-cans-copy","variants":[{"id":"gid:\/\/shopify\/ProductVariant\/49603777528089"}],"compareAtPrice":null},{"id":"gid:\/\/shopify\/Product\/9584306913561","image":"https:\/\/cdn.shopify.com\/s\/files\/1\/0867\/4865\/9993\/files\/71y0GhOKB8L._AC_SL1500.jpg?v=1720517183","price":"31.95","title":"Karen Kay Buckley Perfect Scissors 7.5- inch","handle":"karen-kay-buckley-perfect-scissors-7-5-inch","variants":[{"id":"gid:\/\/shopify\/ProductVariant\/49273133334809"}],"compareAtPrice":null},{"id":"gid:\/\/shopify\/Product\/9584306979097","image":"https:\/\/cdn.shopify.com\/s\/files\/1\/0867\/4865\/9993\/files\/71jfgCo3dVL._AC_SL1500.jpg?v=1720517185","price":"29.95","title":"Karen Kay Buckley Perfect Scissors micro-serrated blade 6-inch","handle":"karen-kay-buckley-perfect-scissors-micro-serrated-blade-6-inch","variants":[{"id":"gid:\/\/shopify\/ProductVariant\/49273133400345"}],"compareAtPrice":null},{"id":"gid:\/\/shopify\/Product\/9440702267673","image":"https:\/\/cdn.shopify.com\/s\/files\/1\/0867\/4865\/9993\/files\/623_59373927-8faf-4424-8e7c-05de6fa7351a.jpg?v=1716367037","price":"7.95","title":"Superior Bottomline 623 Silver 1420yd","handle":"superior-bottomline-623-silver-1420yd","variants":[{"id":"gid:\/\/shopify\/ProductVariant\/48900288217369"}],"compareAtPrice":"7.95"},{"id":"gid:\/\/shopify\/Product\/9584296689945","image":"https:\/\/cdn.shopify.com\/s\/files\/1\/0867\/4865\/9993\/files\/s-l500_1.jpg?v=1720516721","price":"4.45","title":"Blades - Barnyarns 45mm Rotary Blades - Pack 2 (Olfa, Fiskars Dafa)","handle":"blades-barnyarns-45mm-rotary-blades-pack-2-olfa-fiskars-dafa","variants":[{"id":"gid:\/\/shopify\/ProductVariant\/49273105383705"}],"compareAtPrice":null}],"CTAType":"add-to-cart","CTALink":"","closeButton":false,"buttonText":"Add to cart","updatedAt":"2026-04-13T14:00:00.373Z","createdAt":"2024-09-24T15:37:10.802Z","style":{"font":"","titleSize":"16","borderSize":"2","titleColor":"#202223","borderColor":"#000000","gradientEnd":"#FFFFFF","singleColor":"#FFFFFF","borderRadius":"8","buttonRadius":"4","gradientTurn":"90","gradientStart":"#DDDDDD","arrowIconColor":"#000000","backgroundType":"singleBackground","buttonTextSize":"14","buttonTextColor":"#000000","insideTopSpacing":"16","productPriceSize":"14","productTitleSize":"16","buttonBorderColor":"#000000","outsideTopSpacing":"20","productPriceColor":"#202223","productTitleColor":"#202223","insideBottomSpacing":"16","outsideBottomSpacing":"20","progressBorderRadius":"4","progressBackgroundColor":"#E4E5E7","productCompareAtPriceSize":"14","productCompareAtPriceColor":"#202223","progressBarBackgroun
7087dColor":"#58be8d"},"showInCountries":[],"showInSubdivisions":[],"locationType":"","currency":"GBP","excludeProducts":[],"excludeProductTags":[],"excludeOnPages":[],"excludeOnSpecificUrls":[],"excludeOnKeywordsInUrl":[],"upsellType":"products","translations":[],"productTags":[]},{"id":"cm1ibvs9x24138719upn5xqhgwj","name":"Cart Drawer Free Shipping","title":"Free shipping for orders over {order-value}!","progressTitle":"Youâre only {order-value-progress} away from free shipping!","reachedTitle":"Congratulations! You've got free shipping!","type":"cart-page","goal":"50","moneyFormat":"£{{amount}}","placement":"custom","published":true,"showOnProducts":[],"showOnCollections":[],"showOnProductsInCollections":[],"selectedProducts":[],"CTAType":"add-to-cart","CTALink":"","closeButton":false,"buttonText":"+","updatedAt":"2026-04-13T14:00:09.493Z","createdAt":"2024-09-25T20:39:00.619Z","style":{"font":"","titleSize":"16","borderSize":"2","titleColor":"#202223","borderColor":"#000000","gradientEnd":"#FFFFFF","singleColor":"#FFFFFF","borderRadius":"8","buttonRadius":"4","gradientTurn":"90","gradientStart":"#DDDDDD","arrowIconColor":"#000000","backgroundType":"singleBackground","buttonTextSize":"14","buttonTextColor":"#000000","insideTopSpacing":"16","productPriceSize":"14","productTitleSize":"16","buttonBorderColor":"#000000","outsideTopSpacing":"20","productPriceColor":"#202223","productTitleColor":"#202223","insideBottomSpacing":"16","outsideBottomSpacing":"20","progressBorderRadius":"4","progressBackgroundColor":"#E4E5E7","productCompareAtPriceSize":"14","productCompareAtPriceColor":"#202223","progressBarBackgroun
7087dColor":"#58be8d"},"showInCountries":[],"showInSubdivisions":[],"locationType":"","currency":"GBP","excludeProducts":[],"excludeProductTags":[],"excludeOnPages":[],"excludeOnSpecificUrls":[],"excludeOnKeywordsInUrl":[],"upsellType":"frequently-bought","translations":[],"productTags":[]},{"id":"cm1glegx614914219wptxcaznb2","name":"FREE Shipping Test 24th September 24","title":"Free shipping for orders over {order-value}!","progressTitle":"Youâre only {order-value-progress} away from free shipping!","reachedTitle":"Congratulations! You've got free shipping!","type":"product-page","goal":"50","moneyFormat":"£{{amount}}","placement":"","published":true,"showOnProducts":[],"showOnCollections":[],"showOnProductsInCollections":[],"selectedProducts":[{"id":"gid:\/\/shopify\/Product\/9698426585369","image":"https:\/\/cdn.shopify.com\/s\/files\/1\/0867\/4865\/9993\/files\/Screenshot2024-09-05at14.36.51.png?v=1726752485","price":"5.95","title":"AD505 Glue Stick Adhesive","handle":"ad505-glue-stick-adhesive","variants":[{"id":"gid:\/\/shopify\/ProductVariant\/49644243845401"}],"compareAtPrice":null},{"id":"gid:\/\/shopify\/Product\/9646759805209","image":"https:\/\/cdn.shopify.com\/s\/files\/1\/0867\/4865\/9993\/files\/t_26629_02.jpg?v=1723206330","price":"8.75","title":"Superior Gold Titanium Topstitch Needles Size 80 (12) - Pack 5","handle":"superior-gold-titanium-topstitch-needles-size-80-12-pack-5","variants":[{"id":"gid:\/\/shopify\/ProductVariant\/49479673250073"}],"compareAtPrice":null},{"id":"gid:\/\/shopify\/Product\/9584306979097","image":"https:\/\/cdn.shopify.com\/s\/files\/1\/0867\/4865\/9993\/files\/71jfgCo3dVL._AC_SL1500.jpg?v=1720517185","price":"26.95","title":"Karen Kay Buckley Perfect Scissors micro-serrated blade 6-inch","handle":"karen-kay-buckley-perfect-scissors-micro-serrated-blade-6-inch","variants":[{"id":"gid:\/\/shopify\/ProductVariant\/49273133400345"}],"compareAtPrice":"29.95"},{"id":"gid:\/\/shopify\/Product\/9748963787033","image":"https:\/\/cdn.shopify.com\/s\/files\/1\/0867\/4865\/9993\/files\/71ZL-7Tl44L._AC_SL1500.jpg?v=1732701949","price":"30.00","title":"Aurifil Necessities Neutral Collection Set of 4 x Aurifil 50 1300m Reel","handle":"aurifil-necessities-neutral-collection-set-of-4-x-aurifil-50-1300m-reel","variants":[{"id":"gid:\/\/shopify\/ProductVariant\/49885273587993"}],"compareAtPrice":"39.95"},{"id":"gid:\/\/shopify\/Product\/9584296689945","image":"https:\/\/cdn.shopify.com\/s\/files\/1\/0867\/4865\/9993\/files\/s-l500_1.jpg?v=1720516721","price":"3.50","title":"Blades - Barnyarns 45mm Rotary Blades - Pack 2 (Olfa, Fiskars Dafa)","handle":"blades-barnyarns-45mm-rotary-blades-pack-2-olfa-fiskars-dafa","variants":[{"id":"gid:\/\/shopify\/ProductVariant\/49273105383705"}],"compareAtPrice":"4.45"}],"CTAType":"add-to-cart","CTALink":"","closeButton":false,"buttonText":"Add to cart","updatedAt":"2026-02-17T14:44:18.489Z","createdAt":"2024-09-24T15:29:46.391Z","style":{"font":"","titleSize":"16","borderSize":"2","titleColor":"#000000","borderColor":"#000000","gradientEnd":"#FFFFFF","singleColor":"#ffffff","borderRadius":"8","buttonRadius":"4","gradientTurn":"90","gradientStart":"#ffffff","arrowIconColor":"#000000","backgroundType":"singleBackground","buttonTextSize":"14","buttonTextColor":"#000000","insideTopSpacing":"16","productPriceSize":"14","productTitleSize":"16","buttonBorderColor":"#000000","outsideTopSpacing":"20","productPriceColor":"#000000","productTitleColor":"#000000","insideBottomSpacing":"16","outsideBottomSpacing":"20","progressBorderRadius":"4","progressBackgroundColor":"#000000","productCompareAtPriceSize":"14","productCompareAtPriceColor":"#000000","progressBarBackgroun
7087dColor":"#58be8d"},"showInCountries":[],"showInSubdivisions":[],"locationType":"","currency":"GBP","excludeProducts":[],"excludeProductTags":[],"excludeOnPages":[],"excludeOnSpecificUrls":[],"excludeOnKeywordsInUrl":[],"upsellType":"products","translations":[],"productTags":[]},]; 7088 window.essentialOrderValueBoosterProductsData = ["{\"id\": 9646759805209,\"title\": \"Superior Gold Titanium Topstitch Needles Size 80 (12) - Pack 5\",\"handle\": \"superior-gold-titanium-topstitch-needles-size-80-12-pack-5\",\"price\": 875,\"featured_image\": \"\\\/\\\/www.barnyarns.co.uk\\\/cdn\\\/shop\\\/files\\\/EX_DEMO_EX_DISPLAY_OPEN_BOX_-_2026-04-16T163848.850.png?v=1776321553\",\"variants\": [{\"id\":49479673250073,\"title\":\"Default Title\",\"option1\":\"Default Title\",\"option2\":null,\"option3\":null,\"sku\":\"NEED-ST-N80\",\"requires_shipping\":true,\"taxable\":true,\"featured_image\":null,\"available\":true,\"name\":\"Superior Gold Titanium Topstitch Needles Size 80 (12) - Pack 5\",\"public_title\":null,\"options\":[\"Default Title\"],\"price\":875,\"weight\":15,\"compare_at_price\":null,\"inventory_management\":\"shopify\",\"barcode\":\"810233016545\",\"requires_selling_plan\":false,\"selling_plan_allocations\":[],\"quantity_rule\":{\"min\":1,\"max\":null,\"increment\":1}}]}","{\"id\": 9584306913561,\"title\": \"Karen Kay Buckley Perfect Scissors 7.5- inch\",\"handle\": \"karen-kay-buckley-perfect-scissors-7-5-inch\",\"price\": 3195,\"featured_image\": \"\\\/\\\/www.barnyarns.co.uk\\\/cdn\\\/shop\\\/files\\\/71y0GhOKB8L._AC_SL1500.jpg?v=1720517183\",\"variants\": [{\"id\":49273133334809,\"title\":\"Default Title\",\"option1\":\"Default Title\",\"option2\":null,\"option3\":null,\"sku\":\"KKBPSL\",\"requires_shipping\":true,\"taxable\":true,\"featured_image\":null,\"available\":true,\"name\":\"Karen Kay Buckley Perfect Scissors 7.5- inch\",\"public_title\":null,\"options\":[\"Default Title\"],\"price\":3195,\"weight\":25,\"compare_at_price\":null,\"inventory_management\":\"shopify\",\"barcode\":\"000309512198\",\"requires_selling_plan\":false,\"selling_plan_allocations\":[],\"quantity_rule\":{\"min\":1,\"max\":null,\"increment\":1}}]}","{\"id\": 9584306979097,\"title\": \"Karen Kay Buckley Perfect Scissors micro-serrated blade 6-inch\",\"handle\": \"karen-kay-buckley-perfect-scissors-micro-serrated-blade-6-inch\",\"price\": 2995,\"featured_image\": \"\\\/\\\/www.barnyarns.co.uk\\\/cdn\\\/shop\\\/files\\\/71jfgCo3dVL._AC_SL1500.jpg?v=1720517185\",\"variants\": [{\"id\":49273133400345,\"title\":\"Default Title\",\"option1\":\"Default Title\",\"option2\":null,\"option3\":null,\"sku\":\"KKBPSM\",\"requires_shipping\":true,\"taxable\":true,\"featured_image\":null,\"available\":true,\"name\":\"Karen Kay Buckley Perfect Scissors micro-serrated blade 6-inch\",\"public_title\":null,\"options\":[\"Default Title\"],\"price\":2995,\"weight\":25,\"compare_at_price\":null,\"inventory_management\":\"shopify\",\"barcode\":\"000309524443\",\"requires_selling_plan\":false,\"selling_plan_allocations\":[],\"quantity_rule\":{\"min\":1,\"max\":null,\"increment\":1}}]}","{\"id\": 9440702267673,\"title\": \"Superior Bottomline 623 Silver 1420yd\",\"handle\": \"superior-bottomline-623-silver-1420yd\",\"price\": 795,\"featured_image\": \"\\\/\\\/www.barnyarns.co.uk\\\/cdn\\\/shop\\\/files\\\/EXDEMOEXDISPLAYOPENBOX-2026-02-02T145535.317.png?v=1770045291\",\"variants\": [{\"id\":48900288217369,\"title\":\"Default Title\",\"option1\":\"Default Title\",\"option2\":null,\"option3\":null,\"sku\":\"BL623\",\"requires_shipping\":true,\"taxable\":true,\"featured_image\":null,\"available\":true,\"name\":\"Superior Bottomline 623 Silver 1420yd\",\"public_title\":null,\"options\":[\"Default Title\"],\"price\":795,\"weight\":35,\"compare_at_price\":null,\"inventory_management\":\"shopify\",\"barcode\":\"810233004894\",\"requires_selling_plan\":false,\"selling_plan_allocations\":[],\"quantity_rule\":{\"min\":1,\"max\":null,\"increment\":1}}]}","{\"id\": 9584296689945,\"title\": \"Barnyarns 45mm Rotary Blades - Pack 2 (Olfa, Fiskars Dafa)\",\"handle\": \"blades-barnyarns-45mm-rotary-blades-pack-2-olfa-fiskars-dafa\",\"price\": 445,\"featured_image\": \"\\\/\\\/www.barnyarns.co.uk\\\/cdn\\\/shop\\\/files\\\/s-l500_1.jpg?v=172051672
70881\",\"variants\": [{\"id\":50613311144217,\"title\":\"1 Pack (2 Blades)\",\"option1\":\"1 Pack (2 Blades)\",\"option2\":null,\"option3\":null,\"sku\":\"BLADE45-1\",\"requires_shipping\":true,\"taxable\":true,\"featured_image\":null,\"available\":true,\"name\":\"Barnyarns 45mm Rotary Blades - Pack 2 (Olfa, Fiskars Dafa) - 1 Pack (2 Blades)\",\"public_title\":\"1 Pack (2 Blades)\",\"options\":[\"1 Pack (2 Blades)\"],\"price\":445,\"weight\":14,\"compare_at_price\":null,\"inventory_management\":\"shopify\",\"barcode\":\"5060298610874\",\"requires_selling_plan\":false,\"selling_plan_allocations\":[],\"quantity_rule\":{\"min\":1,\"max\":null,\"increment\":1}},{\"id\":50613309014297,\"title\":\"3 Packs (6 Blades)\",\"option1\":\"3 Packs (6 Blades)\",\"option2\":null,\"option3\":null,\"sku\":\"BLADE45-3\",\"requires_shipping\":true,\"taxable\":true,\"featured_image\":null,\"available\":true,\"name\":\"Barnyarns 45mm Rotary Blades - Pack 2 (Olfa, Fiskars Dafa) - 3 Packs (6 Blades)\",\"public_title\":\"3 Packs (6 Blades)\",\"options\":[\"3 Packs (6 Blades)\"],\"price\":1265,\"weight\":14,\"compare_at_price\":null,\"inventory_management\":\"shopify\",\"barcode\":\"5056259738749\",\"requires_selling_plan\":false,\"selling_plan_allocations\":[],\"quantity_rule\":{\"min\":1,\"max\":null,\"increment\":1}},{\"id\":50613309047065,\"title\":\"5 packs (10 Blades)\",\"option1\":\"5 packs (10 Blades)\",\"option2\":null,\"option3\":null,\"sku\":\"BLADE45-5\",\"requires_shipping\":true,\"taxable\":true,\"featured_image\":null,\"available\":true,\"name\":\"Barnyarns 45mm Rotary Blades - Pack 2 (Olfa, Fiskars Dafa) - 5 packs (10 Blades)\",\"public_title\":\"5 packs (10 Blades)\",\"options\":[\"5 packs (10 Blades)\"],\"price\":2061,\"weight\":14,\"compare_at_price\":null,\"inventory_management\":\"shopify\",\"barcode\":\"5056259738756\",\"requires_selling_plan\":false,\"selling_plan_allocations\":[],\"quantity_rule\":{\"min\":1,\"max\":null,\"increment\":1}},{\"id\":50613309079833,\"title\":\"10 Packs (20 Blades)\",\"option1\":\"10 Packs (20 Blades)\",\"option2\":null,\"option3\":null,\"sku\":\"BLADE45-10\",\"requires_shipping\":true,\"taxable\":true,\"featured_image\":null,\"available\":true,\"name\":\"Barnyarns 45mm Rotary Blades - Pack 2 (Olfa, Fiskars Dafa) - 10 Packs (20 Blades)\",\"public_title\":\"10 Packs (20 Blades)\",\"options\":[\"10 Packs (20 Blades)\"],\"price\":3995,\"weight\":14,\"compare_at_price\":null,\"inventory_management\":\"shopify\",\"barcode\":\"5056259738787\",\"requires_selling_plan\":false,\"selling_plan_allocations\":[],\"quantity_rule\":{\"min\":1,\"max\":null,\"increment\":1}}]}","{\"id\": 9748963787033,\"title\": \"Aurifil Necessities Neutral Collection Set of 4 x Aurifil 50 1300m Reel\",\"handle\": \"aurifil-necessities-neutral-collection-set-of-4-x-aurifil-50-1300m-reel\",\"price\": 3995,\"featured_image\": \"\\\/\\\/www.barnyarns.co.uk\\\/cdn\\\/shop\\\/files\\\/71ZL-7Tl44L._AC_SL1500.jpg?v=1732701949\",\"variants\": [{\"id\":49885273587993,\"title\":\"Default Title\",\"option1\":\"Default Title\",\"option2\":null,\"option3\":null,\"sku\":\"AC50NC4-NEC\",\"requires_shipping\":true,\"taxable\":true,\"featured_image\":null,\"available\":true,\"name\":\"Aurifil Necessities Neutral Collection Set of 4 x Aurifil 50 1300m Reel\",\"public_title\":null,\"options\":[\"Default Title\"],\"price\":3995,\"weight\":200,\"compare_at_price\":null,\"inventory_management\":\"shopify\",\"barcode\":\"8057252116791\",\"requires_selling_plan\":false,\"selling_plan_allocations\":[],\"quantity_rule\":{\"min\":1,\"max\":null,\"increment\":1}}]}"]; 7089 7090 7091 window.essentialOrderValueBoosterPageTemplate = "product" 7092 window.essentialOrderValueBoosterMeta = { 7093 productData: "{\"id\":9708660130073,\"title\":\"Hobbs Heirloom Premium 80\\\/20 Cotton\\\/Poly Wadding 96\\\"\",\"handle\":\"hobbs-heirloom-premium-80-20-cotton-poly-wadding-96-x-30-yds\",\"description\":\"\\u003cp\\u003eHobbs Heirloom batting is one of the best in the business.\\u003c\\\/p\\u003e\\u003cp\\u003eIts easy to hand or machine quilt with this lovely wadding up to four inches apart.\\u003c\\\/p\\u003e\\u003cp\\u003eShrinks about 3-5% and can be pre-shrunk.\\u003c\\\/p\\u003e\\u003cp\\u003eVery clean cotton mixed with 20% polyester, lightly needle punched and lightly resinated.\\u003c\\\/p\\u003e\\u003cp\\u003eGreater loft gives more definition than other 100% cotton battings.\\u003c\\\/p\\u003e\\u003cp\\u003eThe colour is the natural cotton\\u003c\\\/p\\u003e\",\"published_at\":\"2024-09-27T12:06:10+01:00\",\"created_at\":\"2024-09-27T12:06:12+01:00\",\"vendor\":\"Hobbs Heirloom\",\"type\":\"Cotton Blend\",\"tags\":[\"Best Seller__label\"],\"price\":1115,\"price_min\":1115,\"price_max\":29100,\"available\":true,\"price_varies\":true,\"compare_at_price\":null,\"compare_at_price_min\":0,\"compare_at_price_max\":0,\"compare_at_price_varies\":false,\"variants\":[{\"id\":49677659701529,\"title\":\"Per Metre\",\"option1\":\"Per Metre\",\"option2\":null,\"option3\":null,\"sku\":\"HLBY96-1\",\"requires_shipping\":true,\"taxable\":true,\"featured_image\":null,\"available\":true,\"name\":\"Hobbs Heirloom Premium 80\\\/20 Cotton\\\/Poly Wadding 96\\\" - Per Metre\",\"public_title\":\"Per Metre\",\"options\":[\"Per Metre\"],\"price\":1115,\"weight\":320,\"compare_at_price\":null,\"inventory_management\":\"shopify\",\"barcode\":\"5056259737490\",\"requires_selling_plan\":false,\"selling_plan_allocations\":[],\"quantity_rule\":{\"min\":1,\"max\":null,\"increment\":1}}
7093,{\"id\":49677659734297,\"title\":\"5 Metres\",\"option1\":\"5 Metres\",\"option2\":null,\"option3\":null,\"sku\":\"HLBY96-5\",\"requires_shipping\":true,\"taxable\":true,\"featured_image\":null,\"available\":true,\"name\":\"Hobbs Heirloom Premium 80\\\/20 Cotton\\\/Poly Wadding 96\\\" - 5 Metres\",\"public_title\":\"5 Metres\",\"options\":[\"5 Metres\"],\"price\":5335,\"weight\":1600,\"compare_at_price\":null,\"inventory_management\":\"shopify\",\"barcode\":null,\"requires_selling_plan\":false,\"selling_plan_allocations\":[],\"quantity_rule\":{\"min\":1,\"max\":null,\"increment\":1}},{\"id\":49677659767065,\"title\":\"Full Roll 30 yds\",\"option1\":\"Full Roll 30 yds\",\"option2\":null,\"option3\":null,\"sku\":\"HLBY96-R30\",\"requires_shipping\":true,\"taxable\":true,\"featured_image\":null,\"available\":true,\"name\":\"Hobbs Heirloom Premium 80\\\/20 Cotton\\\/Poly Wadding 96\\\" - Full Roll 30 yds\",\"public_title\":\"Full Roll 30 yds\",\"options\":[\"Full Roll 30 yds\"],\"price\":29100,\"weight\":7500,\"compare_at_price\":null,\"inventory_management\":\"shopify\",\"barcode\":\"0040086010548\",\"requires_selling_plan\":false,\"selling_plan_allocations\":[],\"quantity_rule\":{\"min\":1,\"max\":null,\"increment\":1}}],\"images\":[\"\\\/\\\/www.barnyarns.co.uk\\\/cdn\\\/shop\\\/files\\\/96-inch-hobbs-heirloom_6a67f231-0af7-4719-893f-83a93c64a21f.jpg?v=1727436540\"],\"featured_image\":\"\\\/\\\/www.barnyarns.co.uk\\\/cdn\\\/shop\\\/files\\\/96-inch-hobbs-heirloom_6a67f231-0af7-4719-893f-83a93c64a21f.jpg?v=1727436540\",\"options\":[\"Length\"],\"media\":[{\"alt\":null,\"id\":39484633579801,\"position\":1,\"preview_image\":{\"aspect_ratio\":1.0,\"height\":600,\"width\":600,\"src\":\"\\\/\\\/www.barnyarns.co.uk\\\/cdn\\\/shop\\\/files\\\/96-inch-hobbs-heirloom_6a67f231-0af7-4719-893f-83a93c64a21f.jpg?v=1727436540\"},\"aspect_ratio\":1.0,\"height\":600,\"media_type\":\"image\",\"src\":\"\\\/\\\/www.barnyarns.co.uk\\\/cdn\\\/shop\\\/files\\\/96-inch-hobbs-heirloom_6a67f231-0af7-4719-893f-83a93c64a21f.jpg?v=1727436540\",\"width\":600}],\"requires_selling_plan\":false,\"selling_plan_groups\":[],\"content\":\"\\u003cp\\u003eHobbs Heirloom batting is one of the best in the business.\\u003c\\\/p\\u003e\\u003cp\\u003eIts easy to hand or machine quilt with this lovely wadding up to four inches apart.\\u003c\\\/p\\u003e\\u003cp\\u003eShrinks about 3-5% and can be pre-shrunk.\\u003c\\\/p\\u003e\\u003cp\\u003eVery clean cotton mixed with 20% polyester, lightly needle punched and lightly resinated.\\u003c\\\/p\\u003e\\u003cp\\u003eGreater loft gives more definition than other 100% cotton battings.\\u003c\\\/p\\u003e\\u003cp\\u003eThe colour is the natural cotton\\u003c\\\/p\\u003e\"}", 7094 cartItems: [], 7095 cartProducts: [], 7096 mainCurrency: "GBP", 7097 productCollections: [{"id":485828624665,"handle":"wadding","updated_at":"2026-10-02T12:21:26+01:00","published_at":"2024-09-24T15:11:37+01:00","sort_order":"alpha-asc","template_suffix":"","published_scope":"global","title":"Wadding \u0026 Batting","body_html":"\u003cp dir=\"ltr\"\u003e\u003cspan\u003eWhether youâre \u003c\/span\u003e\u003cspan\u003estarting \u003c\/span\u003e\u003cspan\u003esmall or \u003c\/span\u003e\u003cspan\u003emoving onto more ambitious \u003c\/span\u003e\u003cspan\u003eprojects, Barnyarns \u003c\/span\u003e\u003cspan\u003eoffers the widest selection of quilting wadding \u003c\/span\u003e\u003cspan\u003eand batting\u003c\/span\u003e\u003cspan\u003e in the UK, \u003c\/span\u003e\u003cspan\u003eso that you can \u003c\/span\u003e\u003cspan\u003eprovide warmth, texture, and structure \u003c\/span\u003e\u003cspan\u003eto your clothing, quilts and \u003ca href=\"https:\/\/www.barnyarns.co.uk\/products\/super-soft-polyester-toy-stuffing-filling\"\u003etoys\u003c\/a\u003e.\u003c\/span\u003e\u003c\/p\u003e\n\u003cp dir=\"ltr\"\u003e\u003cspan\u003eOur premium wadding collection \u003c\/span\u003e\u003cspan\u003efeatures \u003c\/span\u003e\u003cspan\u003eproducts from \u003c\/span\u003e\u003cspan\u003etop brands, \u003c\/span\u003e\u003cspan\u003eincluding \u003c\/span\u003e\u003cspan\u003eHobbs, Hemline, Warm Company, Thermoweb, and Vliseline. \u003c\/span\u003e\u003cspan\u003eWhile our wadding for quilting is available in multiple natural materials, including cotton, wool, and biodegradable compounds, Barnyarns offers low loft and slimline batting made from fleece and polyester to provide \u003c\/span\u003e\u003cspan\u003einsulation \u003c\/span\u003e\u003cspan\u003eto items of clothing, such as quilted jackets.\u003c\/span\u003e\u003c\/p\u003e\n\u003ch5 dir=\"ltr\"\u003e\u003cspan\u003eShop Batting and Wadding for Quilting Today\u003c\/span\u003e\u003c\/h5\u003e\n\u003cp\u003eWe stock wadding in a variety of sizes, from pre-cut packs to full rolls, so you can choose the perfect amount to suit your current project. Explore our extensive range of wadding today for unbeatable prices and options tailored to quilters of all skill levels.\u003cbr\u003e\u003c\/p\u003e"}], 7098 }; 7099 7100 window.essentialOrderValueBoosterTranslations = { 7101 previousSlide: "Previous slide", 7102 nextSlide: "Next slide", 7103 regularPrice: "Regular price", 7104 salePrice: "Sale price", 7105 slide: "Slide" 7106 }; 7107</script>
7107 7108 7109 7110 <style type="text/css"> 7111 .visually-hidden{position:absolute!important;overflow:hidden;width:1px;height:1px;margin:-1px;padding:0;border:0;clip:rect(0 0 0 0);word-wrap:normal!important}.essential_product_slider_glide{position:relative;direction:ltr;width:100%;box-sizing:border-box;opacity:0;transition:opacity .3s}.essential_product_slider_glide.initialized{opacity:1}.essential_product_slider_glide *{box-sizing:inherit}.essential_product_slider_glide__track{overflow:hidden}.essential_product_slider_glide__slides{position:relative;width:100%;margin:0;list-style:none;backface-visibility:hidden;transform-style:preserve-3d;touch-action:pan-Y;overflow:hidden;padding:0;white-space:nowrap;display:flex;flex-wrap:nowrap;will-change:transform}.essential_product_slider_glide__slides--dragging{user-select:none}.essential_product_slider_glide__slide{width:100%;height:100%;padding:0 2px;flex-shrink:0;white-space:normal;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent}.essential_product_slider_glide__slide a{user-select:none;-webkit-user-drag:none;-moz-user-select:none;-ms-user-select:none}.essential_product_slider_glide__arrows,.essential_product_slider_glide__bullets{-webkit-touch-callout:none;user-select:none}.essential_product_slider_glide--rtl{direction:rtl}.essential_product_slider_glide{padding:0 20px}.essential_product_slider_glide__arrows{height:0}.essential_product_slider_glide__arrow--left,.essential_product_slider_glide__arrow--right{position:absolute;width:20px;height:20px;outline:0;display:flex;cursor:pointer;padding:0;background-color:transparent;top:0;bottom:0;margin:auto}.essential_product_slider_glide__arrow--left{left:-5px;align-items:center;border:0;border-radius:0}.essential_product_slider_glide__arrow--right{right:-5px;align-items:center;border:0;border-radius:0}.essential_product_slider_glide__arrow--right svg{transform:rotate(180deg)} 7112 </style> 7113
7113<script> 7114 function prevArrowButtonIconSVG(_="#BBC0C4"){let $=document.createElementNS("http://www.w3.org/2000/svg","svg"),t=document.createElementNS("http://www.w3.org/2000/svg","path");return $.setAttribute("width",20),$.setAttribute("height",20),$.setAttribute("fill","none"),$.setAttribute("aria-hidden","true"),t.setAttribute("d","M12 16C11.744 16 11.488 15.902 11.293 15.707L6.29301 10.707C5.90201 10.316 5.90201 9.68401 6.29301 9.29301L11.293 4.29301C11.684 3.90201 12.316 3.90201 12.707 4.29301C13.098 4.68401 13.098 5.31601 12.707 5.70701L8.41401 10L12.707 14.293C13.098 14.684 13.098 15.316 12.707 15.707C12.512 15.902 12.256 16 12 16Z"),t.setAttribute("fill",_),$.append(t),$} 7115 </script>
7115 7116
7116<script src="https://cdn.shopify.com/extensions/01a0fc10-83ec-787b-8fe7-bfbd05289e01/order-value-booster-356/assets/glide.min.js" defer></script>
7116 7117 7118
7119<script src="https://cdn.shopify.com/extensions/01a0fc10-83ec-787b-8fe7-bfbd05289e01/order-value-booster-356/assets/free_shipping_bar_essential_apps.min.js" defer crossorigin="anonymous"></script>
7119 7120
7121<script> 7122 7123</script>
7123 7124 7125 7126 7127 7128</div><div id="shopify-block-AYVRjem9WQzYvSFEya__14826766009936288847" class="shopify-block shopify-app-block">
7129<script id="Discounty-config"> 7130 function discountyExtractTextFromHtml(htmlString) { 7131 if (!htmlString) return ''; 7132 return new DOMParser().parseFromString(htmlString, 'text/html').body.textContent || ''; 7133 } 7134 7135 var $Discounty = {shopData: {"shopConfig":{"shopId":26289,"cart":{"isActive":true,"styles":"{\"borderColor\": \"006F53\", \"borderRadius\": \"8\", \"totalTextColor\": \"FF1D1D\", \"savingTextColor\": \"006F53\", \"showSavingBorder\": true}","config":{},"injectionInfo":[],"contents":[{"locale":"","totalText":"Total","savingText":"Saving"}]},"globalConfig":{"appEnabled":true,"considerCurrencyExchangeRate":true,"customVariantListener":{"element":"","isDatasetProperty":false,"property":""},"developerModeVariantListener":false,"globalCss":"","setTemplateCurrencyFormatAsDefault":false},"volumeDiscount":{"config":{"tierDisplayFormat":"PLUS"},"injectionInfo":[],"isActive":true,"styles":"{\"titleColor\": \"000000\", \"borderColor\": \"D0D0D0\", \"borderRadius\": \"12\", \"tableTextColor\": \"000000\", \"tableBackgroundColor\": \"FFFFFF\"}","contents":[{"locale":"","title":"Bigger Quantity. Massive Savings.","buyColumnLabel":"Buy","getColumnLabel":"Receive","discountText":"{{Discount}} Off","eachItemText":"on each","newPriceText":"each item {{new-price}}"}]},"miniVolumeDiscount":{"config":{"displayMode":"MAX_DISCOUNT"},"injectionInfo":[],"isActive":false,"styles":"{}","contents":[{"locale":"","maxDiscountText":"Up to {discount}% off","lowestPriceText":"From {price}"}]},"startCountDown":{"config":{"ctaLink":null},"productPageInjectionInfo":[],"homepageInjectionInfo":[],"isActive":true,"styles":"{}","contents":[{"locale":"","title":"Sale starts in","daysLabel":"Day","hoursLabel":"Hr","minutesLabel":"Min","secondsLabel":"Sec","ctaText":"Click here"}]},"endCountDown":{"config":{"ctaLink":null},"productPageInjectionInfo":[],"homepageInjectionInfo":[],"isActive":true,"styles":"{}","contents":[{"locale":"","title":"Sale ends in","daysLabel":"Day","hoursLabel":"Hr","minutesLabel":"Min","secondsLabel":"Sec","ctaText":"Click here"}]}
7135,"bxgyPopup":{"config":{"hideContinueBtn":false,"badgeShowFreeGift":false,"badgeType":"PERCENTAGE","dismissType":"TRIGGER","autoOpenDrawerEnabled":true},"injectionInfo":[],"isActive":true,"styles":"{}","contents":[{"locale":"","title":"Your current cart qualifies for these rewards","subtitle":"Now you are able to choose between them. Add before checking out!","availableRewardsLabel":"You can add {{count}} product(s)","btnSelectLabel":"Select","btnAddLabel":"Add to Cart","btnContinueLabel":"Continue Shopping"}]},"bxgyFab":{"config":{"hideCloseBtn":false,"isFabLeft":true},"injectionInfo":[],"isActive":true,"styles":"{}"},"shipping":{"progressbar":{"config":{"activeOnProductPage":true,"activeOnCartPage":true},"productPageInjectionInfo":[],"cartPageInjectionInfo":[],"cartDrawerInjectionInfo":[],"isActive":true,"styles":"{}","contents":[{"locale":"","thresholdInitialText":"Add {{amount}} more to unlock {{discount}} off shipping","thresholdProgressText":"You're {{amount}} away from {{discount}} off shipping","thresholdReachedText":"You've unlocked {{discount}} off shipping!"}]},"progressBarDiscount":null}},"expiresAt":"2026-10-04T23:05:55.925352+00:00"},shopDomain: "barnyarns.myshopify.com", 7136 customerId: null, 7137 isHomePage: false, 7138 isProductPage: true, 7139 currencyFormat: discountyExtractTextFromHtml(`£0.00`) 7140 .replace( 7141 discountyExtractTextFromHtml(`0.00`),"{{money}}"), 7142 initialSelectedVariant: {"id":49677659701529,"title":"Per Metre","option1":"Per Metre","option2":null,"option3":null,"sku":"HLBY96-1","requires_shipping":true,"taxable":true,"featured_image":null,"available":true,"name":"Hobbs Heirloom Premium 80\/20 Cotton\/Poly Wadding 96\" - Per Metre","public_title":"Per Metre","options":["Per Metre"],"price":1115,"weight":320,"compare_at_price":null,"inventory_management":"shopify","barcode":"5056259737490","requires_selling_plan":false,"selling_plan_allocations":[],"quantity_rule":{"min":1,"max":null,"increment":1}}, 7143 initialCart: [] || [], 7144 preloadedProducts: [ 7145 7146 ], 7147 products: [{ 7148 id: 9708660130073, 7149 handle: "hobbs-heirloom-premium-80-20-cotton-poly-wadding-96-x-30-yds", 7150 requires_selling_plan: false, 7151 selling_plan_groups: [], 7152 variants: [{ 7153 id: 49677659701529, 7154 price: 1115, 7155 compare_at_price: null, 7156 discounts: [],},{ 7157 id: 49677659734297, 7158 price: 5335, 7159 compare_at_price: null, 7160 discounts: [],},{ 7161 id: 49677659767065, 7162 price: 29100, 7163 compare_at_price: null, 7164 discounts: [],},], 7165 }, 7166 ], 7167 }; 7168</script>
7168 7169 7170<div id="discounty-bxgy-discount-widgets-container"></div> 7171 7172 7173</div><div id="shopify-block-AZFd6aGFnS21FS1hVa__13768625480086291342" class="shopify-block shopify-app-block">
7173<script> 7174 window['ShopifyForms'] = { 7175 ...window['ShopifyForms'], 7176 currentPageType: "product" 7177 }; 7178</script>
7178 7179 7180 7181</div>
7181<script src="https://cdn.shopify.com/storefront/standard-actions.js" type="module" data-source-attribution="shopify.standard_actions"></script>
vendor: 1 bytes, line 7181
7181
7182<script>(function(){function c(){var b=a.contentDocument||(a.contentWindow&&a.contentWindow.document);if(b){var d=b.createElement('script');d.innerHTML="window.__CF$cv$params={r:'a45010844eec02b8',t:'MTc5MTA3MzY4NQ=='};var a=document.createElement('script');a.src='/cdn-cgi/challenge-platform/scripts/jsd/main.js';document.getElementsByTagName('head')[0].appendChild(a);";b.getElementsByTagName('head')[0].appendChild(d)}}if(document.body){var a=document.createElement('iframe');a.height=1;a.width=1;a.style.position='absolute';a.style.top=0;a.style.left=0;a.style.border='none';a.style.visibility='hidden';document.body.appendChild(a);if('loading'!==document.readyState)c();else if(window.addEventListener)document.addEventListener('DOMContentLoaded',c);else{var e=document.onreadystatechange||function(){};document.onreadystatechange=function(b){e(b);'loading'!==document.readyState&&(document.onreadystatechange=e,c())}}}})();</script>
7182</body> 7183</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.