PageSourceSearch

https://oakfabrics.com/search

html oakfabrics.com collected 2026-09-26 14:06:49 UTC 82,444 bytes, 1,233 lines download raw bytes

1
2<!doctype html>
3<!--[if lt IE 7]> <html class="no-js lt-ie9 lt-ie8 lt-ie7" lang="en"> <![endif]-->
4<!--[if IE 7]> <html class="no-js lt-ie9 lt-ie8" lang="en"> <![endif]-->
5<!--[if IE 8]> <html class="no-js lt-ie9" lang="en"> <![endif]-->
6<!--[if IE 9]> <html class="ie9 no-js"> <![endif]-->
7<!--[if (gt IE 9)|!(IE)]><!--> <html class="no-js"> <!--<![endif]-->
8
9<head>
10
11  <!-- Blockshop Theme Version 2.3.2 by Troop Themes - http://troopthemes.com/  -->
12
13  <meta charset="UTF-8" />
14  <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
15  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
16  
17    <link rel="shortcut icon" type="image/png" href="//oakfabrics.com/cdn/shop/t/4/assets/favicon.png?v=130961107265588156481459263394" />
18  
19
20  
21    <title>Search | Oak Fabrics</title>
22  
23
24  
25  <meta name="description" content="Indulge your obsession." />
26  
27
28  <link rel="canonical" href="https://oakfabrics.com/search" />
29
30  
31
32  <meta property="og:type" content="website">
33  <meta property="og:title" content="Search">
34  
35
36
37  <meta property="og:description" content="Indulge your obsession.">
38
39  <meta property="og:url" content="https://oakfabrics.com/search">
40  <meta property="og:site_name" content="Oak Fabrics">
41
42
43
44
45
46<meta name="twitter:card" content="summary">
47
48
49  
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78<script>
79  WebFontConfig = {
80    
81    
82    google: { families: ['Open Sans:400,700', ] }
83    
84  };
85</script>
vendor: 1 bytes, line 85
85
86<script src="//ajax.googleapis.com/ajax/libs/webfont/1.4.7/webfont.js"></script>
86
87
88
89  
89<script>window.performance && window.performance.mark && window.performance.mark('shopify.content_for_header.start');</script>
89<meta id="shopify-digital-wallet" name="shopify-digital-wallet" content="/1652356/digital_wallets/dialog">
90<link rel="ucp" href="/.well-known/ucp" version="2026-08-25">
90<script async="async" src="/checkouts/internal/preloads.js?locale=en-US"></script>
90
91<link rel="preconnect" href="https://shop.app" crossorigin="anonymous">
92<script async="async" src="https://shop.app/checkouts/internal/preloads.js?locale=en-US&shop_id=1652356" crossorigin="anonymous"></script>
vendor: 1 bytes, line 92
92
93<script id="apple-pay-shop-capabilities" type="application/json">{"shopId":1652356,"countryCode":"US","currencyCode":"USD","merchantCapabilities":["supports3DS"],"merchantId":"gid:\/\/shopify\/Shop\/1652356","merchantName":"Oak Fabrics","requiredBillingContactFields":["postalAddress","email"],"requiredShippingContactFields":["postalAddress","email"],"shippingType":"shipping","supportedNetworks":["visa","masterCard","amex","discover","elo","jcb"],"total":{"type":"pending","label":"Oak Fabrics","amount":"1.00"},"shopifyPaymentsEnabled":true,"supportsSubscriptions":true}</script>
vendor: 1 bytes, line 93
93
94<script id="shopify-features" type="application/json">{"accessToken":"0c95bcdd4927f96b73d794c2bb73c4a1","betas":["rich-media-storefront-analytics"],"domain":"oakfabrics.com","predictiveSearch":true,"shopId":1652356,"locale":"en"}</script>
vendor: 1 bytes, line 94
94
95<script>var Shopify = Shopify || {};
96Shopify.shop = "the-needle-shop.myshopify.com";
97Shopify.locale = "en";
98Shopify.currency = {"active":"USD","rate":"1.0"};
99Shopify.country = "US";
100Shopify.theme = {"name":"Oak Fabrics (Blockshop)","id":109277255,"schema_name":null,"schema_version":null,"theme_store_id":606,"role":"main"};
101Shopify.theme.handle = "null";
102Shopify.theme.style = {"id":null,"handle":null};
103Shopify.cdnHost = "oakfabrics.com/cdn";
104Shopify.routes = Shopify.routes || {};
105Shopify.routes.root = "/";
106Shopify.shopJsCdnBaseUrl = "https://cdn.shopify.com/shopifycloud/shop-js";
107Shopify.SignInWithShop = Shopify.SignInWithShop || {};
108Shopify.SignInWithShop.User = Shopify.SignInWithShop.User || {};
109Shopify.SignInWithShop.User.recognized = false;</script>
vendor: 1 bytes, line 109
109
110<script type="module">!function(o){(o.Shopify=o.Shopify||{}).modules=!0}(window);</script>
vendor: 1 bytes, line 110
110
111<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 111
111
112<script>
113  window.ShopifyPay = window.ShopifyPay || {};
114  window.ShopifyPay.apiHost = "shop.app\/pay";
115  window.ShopifyPay.redirectState = null;
116</script>
vendor: 1 bytes, line 116
116
117<script>
118  window.Shopify = window.Shopify || {};
119  window.Shopify.SignInWithShop = window.Shopify.SignInWithShop || {};
120  window.Shopify.SignInWithShop.assetMetrics = { sampleRate: 0.25 };
121  window.Shopify.SignInWithShop.eligible = true;
122</script>
vendor: 1 bytes, line 122
122
123<script id="shop-js-analytics" type="application/json">{"pageType":"search"}</script>
vendor: 1 bytes, line 123
123
124<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 124
124
125<script type="module">
126  await import("https://cdn.shopify.com/shopifycloud/shop-js/modules/v2/loader.init-shop-cart-sync.en.esm.js");
127
128  window.Shopify.SignInWithShop?.initShopCartSync?.({"fedCMEnabled":true,"windoidEnabled":true});
129
130</script>
vendor: 1 bytes, line 130
130
131<script>
132  window.Shopify = window.Shopify || {};
133  if (!window.Shopify.featureAssets) window.Shopify.featureAssets = {};
134  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"]};
135</script>
vendor: 1 bytes, line 135
135
136<script id="__st">var __st={"a":1652356,"offset":-18000,"reqid":"85c80351-9212-413a-9312-c2a5596c79c2-1790431609","pageurl":"oakfabrics.com\/search","u":"d7d2c5d40e8e","p":"searchresults"};</script>
vendor: 1 bytes, line 136
136
137<script>window.ShopifyPaypalV4VisibilityTracking = true;</script>
vendor: 1 bytes, line 137
137
138<script id="captcha-bootstrap">!function(){'use strict';const t='contact',e='account',n='new_comment',o=[[t,t],['blogs',n],['comments',n],[t,'customer']],c=[[e,'customer_login'],[e,'guest_login'],[e,'recover_customer_password'],[e,'create_customer']],r=t=>t.map((([t,e])=>`form[action*='/${t}']:not([data-nocaptcha='true']) input[name='form_type'][value='${e}']`)).join(','),a=t=>()=>t?[...document.querySelectorAll(t)].map((t=>t.form)):[];function s(){const t=[...o],e=r(t);return a(e)}const i='password',u='form_key',d=['recaptcha-v3-token','g-recaptcha-response','h-captcha-response',i],f=()=>{try{return window.sessionStorage}catch{return}},m='__shopify_v',_=t=>t.elements[u];function p(t,e,n=!1){try{const o=window.sessionStorage,c=JSON.parse(o.getItem(e)),{data:r}=function(t){const{data:e,action:n}=t;return t[m]||n?{data:e,action:n}:{data:t,action:n}}(c);for(const[e,n]of Object.entries(r))t.elements[e]&&(t.elements[e].value=n);n&&o.removeItem(e)}catch(o){console.error('form repopulation failed',{error:o})}}const l='form_type',E='cptcha';function T(t){t.dataset[E]=!0}const w=window,h=w.document,L='Shopify',v='ce_forms',y='captcha';let A=!1;((t,e)=>{const n=(g='f06e6c50-85a8-45c8-87d0-21a2b65856fe',I='https://cdn.shopify.com/shopifycloud/storefront-forms-hcaptcha/ce_storefront_forms_captcha_hcaptcha.v1.5.3.iife.js',D={infoText:'Protected by hCaptcha',privacyText:'Privacy',termsText:'Terms'},(t,e,n)=>{const o=w[L][v],c=o.bindForm;if(c)return c(t,g,e,D).then(n);var r;o.q.push([[t,g,e,D],n]),r=I,A||(h.body.append(Object.assign(h.createElement('script'),{id:'captcha-provider',async:!0,src:r})),A=!0)});var g,I,D;w[L]=w[L]||{},w[L][v]=w[L][v]||{},w[L][v].q=[],w[L][y]=w[L][y]||{},w[L][y].protect=function(t,e){n(t,void 0,e),T(t)},Object.freeze(w[L][y]),function(t,e,n,w,h,L){const[v,y,A,g]=function(t,e,n){const i=e?o:[],u=t?c:[],d=[...i,...u],f=r(d),m=r(i),_=r(d.filter((([t,e])=>n.includes(e))));return[a(f),a(m),a(_),s()]}(w,h,L),I=t=>{const e=t.target;return e instanceof HTMLFormElement?e:e&&e.form},D=t=>v().includes(t);t.addEventListener('submit',(t=>{const e=I(t);if(!e)return;const n=D(e)&&!e.dataset.hcaptchaBound&&!e.dataset.recaptchaBound,o=_(e),c=g().includes(e)&&(!o||!o.value);(n||c)&&t.preventDefault(),c&&!n&&(function(t){try{if(!f())return;!function(t){const e=f();if(!e)return;const n=_(t);if(!n)return;const o=n.value;o&&e.removeItem(o)}(t);const e=Array.from(Array(32),(()=>Math.random().toString(36)[2])).join('');!function(t,e){_(t)||t.append(Object.assign(document.createElement('input'),{type:'hidden',name:u})),t.elements[u].value=e}(t,e),function(t,e){const n=f();if(!n)return;const o=[...t.querySelectorAll(`input[type='${i}']`)].map((({name:t})=>t)),c=[...d,...o],r={};for(const[a,s]of new FormData(t).entries())c.includes(a)||(r[a]=s);n.setItem(e,JSON.stringify({[m]:1,action:t.action,data:r}))}(t,e)}catch(e){console.error('failed to persist form',e)}}(e),e.submit())}));const S=(t,e)=>{t&&!t.dataset[E]&&(n(t,e.some((e=>e===t))),T(t))};for(const o of['focusin','change'])t.addEventListener(o,(t=>{const e=I(t);D(e)&&S(e,y())}));const B=e.get('form_key'),M=e.get(l),P=B&&M;t.addEventListener('DOMContentLoaded',(()=>{const t=y();if(P)for(const e of t)e.elements[l].value===M&&p(e,B);[...new Set([...A(),...v().filter((t=>'true'===t.dataset.shopifyCaptcha))])].forEach((e=>S(e,t)))}))}(h,new URLSearchParams(w.location.search),n,t,e,['guest_login'])})(!0,!0)}();</script>
vendor: 1 bytes, line 138
138
139<script integrity="sha256-JjoPp5ZfB1sSAs5SQaol1x1GgvveM+BgmRzyDexInEQ=" data-source-attribution="shopify.loadfeatures" defer="defer" src="//oakfabrics.com/cdn/shopifycloud/storefront/assets/storefront/load_feature-1bd60354.js" crossorigin="anonymous"></script>
vendor: 1 bytes, line 139
139
140<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 = "//oakfabrics.com/cdn/shopifycloud/storefront/assets/storefront/autosizes-84416378.js";(document.head || document.documentElement).appendChild(autosizesScript);}window.ShopifyAnalytics = window.ShopifyAnalytics || {};window.ShopifyAnalytics.performance = window.ShopifyAnalytics.performance || {};(function () {var LONG_FRAME_THRESHOLD = 50;var longAnimationFrames = [];var activeRafId = null;function collectLongFrames() {var previousTime = null;function rafMonitor(now) {if (activeRafId === null) {return;}var delta = now - previousTime;if (delta > LONG_FRAME_THRESHOLD) {longAnimationFrames.push({startTime: previousTime,endTime: now,});}previousTime = now;activeRafId = requestAnimationFrame(rafMonitor);}previousTime = performance.now();activeRafId = requestAnimationFrame(rafMonitor);}if (!window.PerformanceObserver?.supportedEntryTypes?.includes('long-animation-frame')) {collectLongFrames();var timeoutId = setTimeout(function () {cancelAnimationFrame(activeRafId);}, 10000);window.ShopifyAnalytics.performance.getLongAnimationFrames = function (stopCollection) {if (stopCollection === undefined) {stopCollection = false;}if (stopCollection) {clearTimeout(timeoutId);cancelAnimationFrame(activeRafId);}return longAnimationFrames;};}})();})();</script>
140<script crossorigin="anonymous" defer="defer" src="//oakfabrics.com/cdn/shopifycloud/storefront/assets/shopify_pay/storefront-616277c7.js?v=20250812"></script>
vendor: 1 bytes, line 140
140
141<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 141
141
142<script>
143  window.Shopify = window.Shopify || {};
144  window.Shopify.MCP = window.Shopify.MCP || {};
145  window.Shopify.MCP.enabled = true;
146  window.Shopify.MCP.shop = "the-needle-shop.myshopify.com";
147  window.Shopify.MCP.mcpEndpoint = "https:\/\/oakfabrics.com\/api\/mcp";
148  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"]}}];
149</script>
vendor: 1 bytes, line 149
149
150<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("\/\/oakfabrics.com\/cdn\/shopifycloud\/storefront\/assets\/storefront\/webmcp-c6b62ece.js","sha256-ke4DDuBjdvea3vxLWxHc9E9nq8zihuG4IfYEGbb77ys=");})();
151</script>
vendor: 1 bytes, line 151
151
152<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://oakfabrics.com/cdn/shopifycloud/portable-wallets/latest/portable-wallets.en.js",t.type="module",document.head.appendChild(t)}};
153</script>
vendor: 1 bytes, line 153
153
154<script data-source-attribution="shopify.dynamic_checkout.buyer_consent">
155  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);
156</script>
vendor: 1 bytes, line 156
156
157<script data-source-attribution="shopify.dynamic_checkout.cart.bootstrap">document.addEventListener("DOMContentLoaded",(function(){function t(){return document.querySelector("shopify-accelerated-checkout-cart, shopify-accelerated-checkout")}if(t())Shopify.PaymentButton.init();else{new MutationObserver((function(e,n){t()&&(Shopify.PaymentButton.init(),n.disconnect())})).observe(document.body,{childList:!0,subtree:!0})}}));
158</script>
158
159<link id="shopify-accelerated-checkout-styles" rel="stylesheet" media="screen" href="https://oakfabrics.com/cdn/shopifycloud/portable-wallets/latest/accelerated-checkout-backwards-compat.css" crossorigin="anonymous">
160<style id="shopify-accelerated-checkout-cart">
161        #shopify-buyer-consent {
162  margin-top: 1em;
163  display: inline-block;
164  width: 100%;
165}
166
167#shopify-buyer-consent.hidden {
168  display: none;
169}
170
171#shopify-subscription-policy-button {
172  background: none;
173  border: none;
174  padding: 0;
175  text-decoration: underline;
176  font-size: inherit;
177  cursor: pointer;
178}
179
180#shopify-subscription-policy-button::before {
181  box-shadow: none;
182}
183
184      </style>
185
186<script id="shopify-cfh-end">window.performance && window.performance.mark && window.performance.mark('shopify.content_for_header.end');</script>
vendor: 1 bytes, line 186
186
187<script type="text/javascript">window.moneyFormat = "${{amount}}";
188    window.shopCurrency = "USD";
189    window.assetsUrl = '//oakfabrics.com/cdn/shop/t/4/assets/';
190  </script>
190
191  <link href="//oakfabrics.com/cdn/shop/t/4/assets/globo.alsobought.css?v=22591642386653052221574822090" rel="stylesheet" type="text/css" media="all" />  
191<script src="//oakfabrics.com/cdn/shop/t/4/assets/globo.alsobought.js?v=55641921801928829261574820744" data-instant-track type="text/javascript"></script>
191
192  
192<script data-instant-track>
193    var globoAlsoBought = new globoAlsoBought({
194      apiUrl: "https://related-products.globosoftware.net/v2/public/api",
195      shop: "the-needle-shop.myshopify.com",
196      domain: "oakfabrics.com",
197      view_name: 'globo.related',
198      cart_properties_name: 'utm_source',
199      cart_properties_value: 'globoRelatedProducts',
200      manualRecommendations: {"4370817745032":["1497603473461"]},
201      discount: false,
202      redirect: true,
203      exclude_tags: [],
204      carousel_items: 6,
205      carousel_autoplay: false,
206      productBoughtTogether: {
207        enable: false,
208        limit: 1,
209        random: false,
210        template: 2,
211        thisItem: true,
212        conditions: ["manual"]
213      },
214      productRelated: {
215        enable: false,
216        limit: 10,
217        random: false,
218        template: 1,
219        thisItem: false,
220        conditions: ["vendor","type","collection","tags","global"]
221      },
222      cart: {
223        enable: true,
224        limit: 10,
225        random: false,
226        template: 3,
227        conditions: ["manual","bought_together","tags","global"],
228        products: []
229      },no_image_url: "https://cdn.shopify.com/s/images/admin/no-image-large.gif"
230    });
231  </script>
231
232  
233
234  <link href="//oakfabrics.com/cdn/shop/t/4/assets/style.css?v=125378206736884857341701210522" rel="stylesheet" type="text/css" media="all" />
235  <style>
236
237/* Add Your Custom Styles Here */
238
239
240
241</style>
242
243  <!--[if lt IE 8]>
244    
244<script src="//oakfabrics.com/cdn/shop/t/4/assets/json2.js?v=154133857350868653501459213737" type="text/javascript"></script>
244
245  <![endif]-->
246
247  <!--[if lt IE 9]>
248  
248<script type="text/javascript" src="https://getfirebug.com/firebug-lite.js"></script>
248
249  
249<script src="//html5shim.googlecode.com/svn/trunk/html5.js" type="text/javascript"></script>
249
250  
250<script src="//oakfabrics.com/cdn/shop/t/4/assets/dd_roundies.js?v=75117064764312664521459213735" type="text/javascript"></script>
250
251  
251<script>
252  DD_roundies.addRule('.circle', '45px');
253  </script>
253
254  <![endif]-->
255
256  
256<script src="//oakfabrics.com/cdn/shop/t/4/assets/custom.modernizr.js?v=44331738608728928201459213735" type="text/javascript"></script>
256
257  
257<script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js" type="text/javascript"></script>
257
258  
258<script src="//ajax.googleapis.com/ajax/libs/jqueryui/1.10.3/jquery-ui.min.js" type="text/javascript"></script>
258
259  
259<script src="//oakfabrics.com/cdn/shopifycloud/storefront/assets/themes_support/api.jquery-7ab1a3a4.js" type="text/javascript"></script>
259
260  
260<script src="//oakfabrics.com/cdn/shopifycloud/storefront/assets/themes_support/option_selection-b017cd28.js" type="text/javascript"></script>
260
261
262  
263
264  
264<script>
265    var twitterID = '',
266    general_external_links_enabled = true,
267    general_scroll_to_active_item = true,
268    shop_url = 'https://oakfabrics.com',
269    shop_money_format = '${{amount}}',
270    home_slider_auto_enabled = false,
271    home_slider_rotate_frequency = 7000,
272    home_widget_twitter_enabled = false,
273    home_widget_blog_enabled = false,
274    home_widget_instagram_access_token = '',
275    product_zoom_enabled = true,
276    product_modal_enabled = true,
277    currency_switcher_enabled = false,
278    theme = {};
279  </script>
279
280
281  
282
283  
283<script src="//oakfabrics.com/cdn/shop/t/4/assets/plugins.js?v=26013873585010736011459213739" type="text/javascript"></script>
283
284  
284<script src="//oakfabrics.com/cdn/shop/t/4/assets/shop.js?v=11769060894150592111459213739" type="text/javascript"></script>
284
285
286
287
288<meta property="og:image" content="https://cdn.shopify.com/s/files/1/0165/2356/files/Oak_Fabrics_black.jpg?height=628&pad_color=ffffff&v=1613155981&width=1200" />
289<meta property="og:image:secure_url" content="https://cdn.shopify.com/s/files/1/0165/2356/files/Oak_Fabrics_black.jpg?height=628&pad_color=ffffff&v=1613155981&width=1200" />
290<meta property="og:image:width" content="1200" />
291<meta property="og:image:height" content="628" />
292<link href="https://monorail-edge.shopifysvc.com" rel="dns-prefetch">
293<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: 1652356,url: window.location.href,navigation_start,duration: currentMs - navigation_start,session_token,page_type: "search"};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 293
293
294<script>
295  window.__TREKKIE_SHIM_QUEUE = window.__TREKKIE_SHIM_QUEUE || [];
296</script>
vendor: 1 bytes, line 296
296
297<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}
297).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: 1652356,storefrontBaseUrl: "https://oakfabrics.com",extensionsBaseUrl: "https://extensions.shopifycdn.com/cdn/shopifycloud/web-pixels-manager",monorailEndpoint: "https://oakfabrics.com/.well-known/shopify/monorail/unstable/produce_batch",surface: "storefront-renderer",enabledBetaFlags: ["16072cab","8450a54b","7ee89bf1"],webPixelsConfigList: [{"id":"107217064","eventPayloadVersion":"v1","runtimeContext":"LAX","scriptVersion":"1","type":"CUSTOM","privacyPurposes":["ANALYTICS"],"name":"Google Analytics tag (migrated)"},{"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":"Oak Fabrics","paymentSettings":{"currencyCode":"USD"},"myshopifyDomain":"the-needle-shop.myshopify.com","countryCode":"US","storefrontUrl":"https:\/\/oakfabrics.com"},"customer":null,"cart":null,"checkout":null,"productVariants":[],"products":[],"purchasingCompany":null},},"https://oakfabrics.com/cdn","c8540278we853e1abpb62b2c4amde256306",{"modern":"","legacy":""},{"trekkieShim":true,"agentContext":true,"apiClientId":"580111","facebookCapiEnabled":"false","themeId":"109277255","themeStoreId":"606","themePublished":"true","eventMetadataId":"d856d5e9-ea9d-41cd-93aa-fb5a305d4c55","pageType":"searchresults","shopId":"1652356","storefrontBaseUrl":"https:\/\/oakfabrics.com","extensionBaseUrl":"https:\/\/extensions.shopifycdn.com\/cdn\/shopifycloud\/web-pixels-manager","surface":"storefront-renderer","enabledBetaFlags":"[\"16072cab\", \"8450a54b\", \"7ee89bf1\"]","isMerchantRequest":"false","hashVersion":"c8540278we853e1abpb62b2c4amde256306","publish":"custom","events":"[[\"page_viewed\",{}],[\"search_submitted\",{\"searchResult\":{\"query\":\"\",\"productVariants\":[]}}]]"});})();</script>
297<script>
298  window.ShopifyAnalytics = window.ShopifyAnalytics || {};
299  window.ShopifyAnalytics.meta = window.ShopifyAnalytics.meta || {};
300  window.ShopifyAnalytics.meta.currency = 'USD';
301  var meta = {"products":[],"page":{"pageType":"searchresults","requestId":"85c80351-9212-413a-9312-c2a5596c79c2-1790431609"}};
302  for (var attr in meta) {
303    window.ShopifyAnalytics.meta[attr] = meta[attr];
304  }
305</script>
vendor: 1 bytes, line 305
305
306<script class="analytics">
307  (function () {
308    var customDocumentWrite = function(content) {
309      var jquery = null;
310
311      if (window.jQuery) {
312        jquery = window.jQuery;
313      } else if (window.Checkout && window.Checkout.$) {
314        jquery = window.Checkout.$;
315      }
316
317      if (jquery) {
318        jquery('body').append(content);
319      }
320    };
321
322    var hasLoggedConversion = function(token) {
323      if (token) {
324        return document.cookie.indexOf('loggedConversion=' + token) !== -1;
325      }
326      return false;
327    }
328
329    var setCookieIfConversion = function(token) {
330      if (token) {
331        var twoMonthsFromNow = new Date(Date.now());
332        twoMonthsFromNow.setMonth(twoMonthsFromNow.getMonth() + 2);
333
334        document.cookie = 'loggedConversion=' + token + '; expires=' + twoMonthsFromNow;
335      }
336    }
337
338    var trekkie = window.ShopifyAnalytics.lib = window.trekkie = window.trekkie || [];
339    window.ShopifyAnalytics.lib.trekkie = window.trekkie;
340    if (trekkie.integrations) {
341      return;
342    }
343    trekkie.methods = [
344      'identify',
345      'page',
346      'ready',
347      'track',
348      'trackForm',
349      'trackLink'
350    ];
351    trekkie.factory = function(method) {
352      return function() {
353        var args = Array.prototype.slice.call(arguments);
354        args.unshift(method);
355        trekkie.push(args);
356        if (method == 'track' || method == 'page') {
357          var pageUrl;
358          try {
359            pageUrl = window.location.href;
360          } catch (e) {}
361          var pageReferrer;
362          try {
363            pageReferrer = document.referrer;
364          } catch (e) {}
365          try {
366            if (window.__TREKKIE_SHIM_QUEUE == null) {
367              window.__TREKKIE_SHIM_QUEUE = [];
368            }
369            window.__TREKKIE_SHIM_QUEUE.push({
370              from: 'trekkie-stub',
371              method: method,
372              args: args.slice(1),
373              pageContext: {
374                url: pageUrl,
375                referrer: pageReferrer
376              }
377            });
378          } catch (e) {
379            // no-op
380          }
381        }
382        return trekkie;
383      };
384    };
385    for (var i = 0; i < trekkie.methods.length; i++) {
386      var key = trekkie.methods[i];
387      trekkie[key] = trekkie.factory(key);
388    }
389    trekkie.load = function(config) {
390      trekkie.config = config || {};
391      trekkie.config.initialDocumentCookie = document.cookie;
392      var first = document.getElementsByTagName('script')[0];
393var script = document.createElement('script');
394script.type = 'text/javascript';
395script.onerror = function(e) {
396  var scriptFallback = document.createElement('script');
397  scriptFallback.type = 'text/javascript';
398  scriptFallback.onerror = function(error) {
399          var Monorail = {
400      produce: function produce(monorailDomain, schemaId, payload) {
401        var currentMs = new Date().getTime();
402        var event = {
403          schema_id: schemaId,
404          payload: payload,
405          metadata: {
406            event_created_at_ms: currentMs,
407            event_sent_at_ms: currentMs
408          }
409        };
410        return Monorail.sendRequest("https://" + monorailDomain + "/v1/produce", JSON.stringify(event));
411      },
412      sendRequest: function sendRequest(endpointUrl, payload) {
413        // Try the sendBeacon API
414        if (window && window.navigator && typeof window.navigator.sendBeacon === 'function' && typeof window.Blob === 'function' && !Monorail.isIos12()) {
415          var blobData = new window.Blob([payload], {
416            type: 'text/plain'
417          });
418
419          if (window.navigator.sendBeacon(endpointUrl, blobData)) {
420            return true;
421          } // sendBeacon was not successful
422
423        } // XHR beacon
424
425        var xhr = new XMLHttpRequest();
426
427        try {
428          xhr.open('POST', endpointUrl);
429          xhr.setRequestHeader('Content-Type', 'text/plain');
430          xhr.send(payload);
431        } catch (e) {
432          console.log(e);
433        }
434
435        return false;
436      },
437      isIos12: function isIos12() {
438        return window.navigator.userAgent.lastIndexOf('iPhone; CPU iPhone OS 12_') !== -1 || window.navigator.userAgent.lastIndexOf('iPad; CPU OS 12_') !== -1;
439      }
440    };
441    Monorail.produce('monorail-edge.shopifysvc.com',
442      'trekkie_storefront_load_errors/1.1',
443      {shop_id: 1652356,
444      theme_id: 109277255,
445      app_name: "storefront",
446      context_url: window.location.href,
447      source_url: "//oakfabrics.com/cdn/s/trekkie.storefront.f1ba865b3fecd812ad617f74ac079261075e9edb.min.js"});
448
449  };
450  scriptFallback.async = true;
451  scriptFallback.src = '//oakfabrics.com/cdn/s/trekkie.storefront.f1ba865b3fecd812ad617f74ac079261075e9edb.min.js';
452  first.parentNode.insertBefore(scriptFallback, first);
453};
454script.async = true;
455script.src = '//oakfabrics.com/cdn/s/trekkie.storefront.f1ba865b3fecd812ad617f74ac079261075e9edb.min.js';
456first.parentNode.insertBefore(script, first);
457
458    };
459    trekkie.load(
460      {"Trekkie":{"appName":"storefront","development":false,"defaultAttributes":{"shopId":1652356,"isMerchantRequest":null,"themeId":109277255,"themeCityHash":"10130983379586649845","contentLanguage":"en","currency":"USD","eventMetadataId":"d856d5e9-ea9d-41cd-93aa-fb5a305d4c55"},"isServerSideCookieWritingEnabled":true,"monorailRegion":"shop_domain","enabledBetaFlags":["764d78cb","8450a54b","7ee89bf1"]},"Session Attribution":{},"S2S":{"facebookCapiEnabled":false,"source":"trekkie-storefront-renderer","apiClientId":580111}}
461    );
462
463    var loaded = false;
464    trekkie.ready(function() {
465      if (loaded) return;
466      loaded = true;
467
468      window.ShopifyAnalytics.lib = window.trekkie;
469
470      var originalDocumentWrite = document.write;
471      document.write = customDocumentWrite;
472      try { window.ShopifyAnalytics.merchantGoogleAnalytics.call(this); } catch(error) {};
473      document.write = originalDocumentWrite;
474
475      var match = window.location.pathname.match(/checkouts\/(.+)\/(thank_you|post_purchase)/)
476      var token = match? match[1]: undefined;
477      if (!hasLoggedConversion(token)) {
478        setCookieIfConversion(token);
479        window.ShopifyAnalytics.lib.track("Performed Search",{"query":null},undefined,undefined,{"shopifyEmitted":true});
480      }
481    });
482
483    window.ShopifyAnalytics.lib.page(null,{"pageType":"searchresults","requestId":"85c80351-9212-413a-9312-c2a5596c79c2-1790431609","shopifyEmitted":true});
484
485    var eventsListenerScript = document.createElement('script');
486    eventsListenerScript.async = true;
487    eventsListenerScript.src = "//oakfabrics.com/cdn/shopifycloud/storefront/assets/shop_events_listener-4e26a9ce.js";
488    document.getElementsByTagName('head')[0].appendChild(eventsListenerScript);
489})();</script>
489
490  
490<script>
491  if (!window.ga || (window.ga && typeof window.ga !== 'function')) {
492    window.ga = function ga() {
493      (window.ga.q = window.ga.q || []).push(arguments);
494      if (window.Shopify && window.Shopify.analytics && typeof window.Shopify.analytics.publish === 'function') {
495        window.Shopify.analytics.publish("ga_stub_called", {}, {sendTo: "google_osp_migration"});
496      }
497      console.error("Shopify's Google Analytics stub called with:", Array.from(arguments), "\nSee https://help.shopify.com/manual/promoting-marketing/pixels/pixel-migration#google for more information.");
498    };
499    if (window.Shopify && window.Shopify.analytics && typeof window.Shopify.analytics.publish === 'function') {
500      window.Shopify.analytics.publish("ga_stub_initialized", {}, {sendTo: "google_osp_migration"});
501    }
502  }
503</script>
vendor: 1 bytes, line 503
503
504<script
505  defer
506  src="https://oakfabrics.com/cdn/shopifycloud/perf-kit/shopify-perf-kit-3.9.4.min.js"
507  data-application="storefront-renderer"
508  data-shop-id="1652356"
509  data-render-region="gcp-us-central1"
510  data-page-type="search"
511  data-theme-instance-id="109277255"
512  data-theme-name=""
513  data-theme-version=""
514  data-monorail-region="shop_domain"
515  data-resource-timing-sampling-rate="10"
516  data-shs="true"
517  data-shs-beacon="true"
518  data-shs-export-with-fetch="true"
519  data-shs-logs-sample-rate="1"
520  data-shs-beacon-endpoint="https://oakfabrics.com/api/collect"
521></script>
521
522<meta name="shopify-y" content="3c3362b4-22be-4779-8ec9-3316affe86ea" data-expiration="1821989209000"><meta name="shopify-s" content="f9bd88ec-88dd-4061-b21f-4f8513276418" data-expiration="1790433409000"><meta name="new-cookie-storage-activated" content="t">
523</head>
524
525
526<body class="page-search template-search">
527
528            
529              <!-- "snippets/socialshopwave-helper.liquid" was not rendered, the associated app was uninstalled -->
530            
531  
532  <div class="announcment" style="display:flex; align-items:center; height:3em; background:#d726f3 !important; color:#ffffff; padding:0 2em;">
533    Hi All! We're out of pocket this weekend. Feel free to order any time, but note shipping will resume on Monday. xo
534  </div> <!-- end .announcement -->
535
536
537
538  <header class="main-header">
539    <div class="bg"></div>
540    <div class="row top">
541      
542
543      <div class="columns logo-center">
544        <h1 class="title clearfix" role="banner">
545  
546    <a href="/" role="banner" title="Oak Fabrics">
547      <img src="//oakfabrics.com/cdn/shop/t/4/assets/logo.png?v=42426065805388682351578407402" alt="Oak Fabrics" />
548    </a>
549  
550</h1>
551      </div>
552
553      <div class="search-account columns">
554        <div class="menu">
555  
556
557  
558    <a class="searchbar-open" href="#">Search<span aria-hidden="true" class="glyph search"></span></a>
559  
560
561  
562    <a class="account-open" href="#">Account<span aria-hidden="true" class="glyph account"></span></a>
563  
564    
565</div>
566
567<div class="searchbar-container">
568  <form  action="/search" method="get" role="search">
569    
570    <input name="q" type="text" placeholder="Search store..." class="search-box hint text" />
571    
572    <button class="glyph search"></button>
573  </form>
574  <a href="#" aria-hidden="true" class="searchbar-close glyph cross"></a>
575</div>
576
577<div class="account-container">
578  
579    
580    
581    
582    
583
584    
585      <a href="/account/login" id="customer_login_link">Log in</a> or <a href="/account/register" id="customer_register_link">Sign up</a>
586    
587  
588  <a href="#" aria-hidden="true" class="account-close glyph cross"></a>
589</div>
590
591
592
593
594      </div>
595
596    </div><!-- .row -->
597
598    <div class="bottom-row">
599      <div class="row">
600        <div class="columns menu-container text-center">
601          <div class="main-menu">
602  <nav role="navigation" class="widescreen clearfix">
603    <ul class="font-nav">
604      
605      
606        <li class="nav-item">
607          <a class="nav-item-link" href="/">
608            Home
609          </a>
610
611          
612          
613            
614            
615            
616          
617            
618            
619            
620          
621            
622            
623            
624          
625
626          
627          
628          
629            
630            
631          
632            
633            
634          
635            
636            
637          
638
639        
640        </li>
641      
642        <li class="nav-item">
643          <a class="nav-item-link" href="/collections/fabric">
644            Fabric
645          </a>
646
647          
648          
649            
650            
651            
652          
653            
654            
655            
656          
657            
658            
659            
660          
661
662          
663          
664          
665            
666            
667          
668            
669            
670          
671            
672            
673          
674
675        
676        </li>
677      
678        <li class="nav-item">
679          <a class="nav-item-link" href="/collections/patterns">
680            Patterns
681          </a>
682
683          
684          
685            
686            
687            
688          
689            
690            
691            
692          
693            
694            
695            
696          
697
698          
699          
700          
701            
702            
703          
704            
705            
706          
707            
708            
709          
710
711        
712        </li>
713      
714        <li class="nav-item">
715          <a class="nav-item-link" href="https://oakfabrics.com/products/oak-fabrics-gift-card">
716            Gift Cards
717          </a>
718
719          
720          
721            
722            
723            
724          
725            
726            
727            
728          
729            
730            
731            
732          
733
734          
735          
736          
737            
738            
739          
740            
741            
742          
743            
744            
745          
746
747        
748        </li>
749      
750        <li class="nav-item">
751          <a class="nav-item-link" href="/pages/contact">
752            Contact
753          </a>
754
755          
756          
757            
758            
759            
760          
761            
762            
763            
764          
765            
766            
767            
768          
769
770          
771          
772          
773            
774            
775          
776            
777            
778          
779            
780            
781          
782
783        
784        </li>
785      
786    </ul>
787  </nav>
788
789</div>
790
791        </div>
792
793        <div class="columns cart-container">
794          <div class="cart">
795 	<div class="show-for-medium-up">
796	  <a class="cart-link" href="/cart">Cart <span class="number-wrapper hide">(<span class="number">0</span>)</span><span aria-hidden="true" class="glyph cart"></span></a>
797
798		<div class="recently-added">
799		  <table width="100%">
800			  <thead>
801			    <tr>
802			      <td colspan="3">Recently Added</td>
803			    </tr>
804			  </thead>
805			  
806			  <tbody>
807					
808
809			  </tbody>
810
811			  <tfoot>
812			    <tr>
813						<td class="items-count"><a href="/cart"><span class="number">0</span> Items</a></td>
814						<td colspan="2" class="text-right all-caps"><strong>Total <span class="total-price" style="margin-left:5px;">$0.00</span></strong></td>
815			    </tr>
816			  </tfoot>
817			  
818			</table>
819
820			<div class="row"> 
821			  <div class="checkout columns">
822			    <a class="button" href="/cart">Go to Checkout</a>
823			  </div><!-- #cart-meta -->
824			</div>
825
826			<div class="error">
827			  <p>The item you just added is unavailable. Please select another product or variant.</p>
828			</div>
829
830		</div>
831	</div>
832
833	<div class="show-for-small hide-for-ie9-down">
834		<div class="recently-added-mask hide"></div>
835		<div class="recently-added mobile">
836			<a aria-hidden="true" class="close glyph cross"></a>
837			
838
839			<div class="row">
840				<div class="columns">
841					<p><strong class="all-caps">Recently Added</strong></p>
842					<p class="mobile-item"></p>
843					<p class="items-count"><a href="/cart"><span class="number">0</span> Items</a></p>
844					<p><strong class="all-caps">Total <span class="total-price" style="margin-left:5px;">$0.00</span></strong></p>
845				</div>
846			</div>
847
848			<div class="row">
849			  <div class="checkout columns">
850			    <a class="button" href="/cart">Go to Checkout</a>
851			  </div><!-- #cart-meta -->
852			</div>
853
854			<div class="error">
855			  <p>The item you just added is unavailable. Please select another product or variant.</p>
856			</div>
857
858		</div>
859	</div>
860</div>
861
862
863        </div>
864
865        <div class="mobile-tools">
866          <a class="glyph menu" href=""></a>
867          
868          <a href="/search" class="glyph search"></a>
869          
870          
871          <a href="/account" class="glyph account"></a>
872          
873          <a href="/cart" class="glyph cart"></a>
874
875        </div>
876      </div>
877    </div>
878
879    <div class="main-menu-dropdown-panel">
880      <div class="row text-center">
881
882      </div>
883    </div>
884
885    <div class="mobile-menu">
886      <nav role="navigation">
887  <ul class="font-nav">
888
889    
890    
891      <li class="nav-item">
892        <a class="nav-item-link" href="/">
893          Home
894        </a>
895
896        
897        
898          
899          
900          
901        
902          
903          
904          
905        
906          
907          
908          
909        
910
911
912        
913        
914        
915          
916          
917        
918          
919          
920        
921          
922          
923        
924
925
926      
927      </li>
928    
929      <li class="nav-item">
930        <a class="nav-item-link" href="/collections/fabric">
931          Fabric
932        </a>
933
934        
935        
936          
937          
938          
939        
940          
941          
942          
943        
944          
945          
946          
947        
948
949
950        
951        
952        
953          
954          
955        
956          
957          
958        
959          
960          
961        
962
963
964      
965      </li>
966    
967      <li class="nav-item">
968        <a class="nav-item-link" href="/collections/patterns">
969          Patterns
970        </a>
971
972        
973        
974          
975          
976          
977        
978          
979          
980          
981        
982          
983          
984          
985        
986
987
988        
989        
990        
991          
992          
993        
994          
995          
996        
997          
998          
999        
1000
1001
1002      
1003      </li>
1004    
1005      <li class="nav-item">
1006        <a class="nav-item-link" href="https://oakfabrics.com/products/oak-fabrics-gift-card">
1007          Gift Cards
1008        </a>
1009
1010        
1011        
1012          
1013          
1014          
1015        
1016          
1017          
1018          
1019        
1020          
1021          
1022          
1023        
1024
1025
1026        
1027        
1028        
1029          
1030          
1031        
1032          
1033          
1034        
1035          
1036          
1037        
1038
1039
1040      
1041      </li>
1042    
1043      <li class="nav-item">
1044        <a class="nav-item-link" href="/pages/contact">
1045          Contact
1046        </a>
1047
1048        
1049        
1050          
1051          
1052          
1053        
1054          
1055          
1056          
1057        
1058          
1059          
1060          
1061        
1062
1063
1064        
1065        
1066        
1067          
1068          
1069        
1070          
1071          
1072        
1073          
1074          
1075        
1076
1077
1078      
1079      </li>
1080    
1081
1082  </ul>
1083</nav>
1084
1085
1086
1087
1088    </div>
1089
1090    <div class="row">
1091      <div class="header-divider"></div>
1092    </div>
1093
1094  </header>
1095
1096  <section class="main-content">
1097
1098      
1099<div class="row">
1100  <div class="large-12 columns">
1101    <h1 class="page-title">Search</h1>
1102  </div>
1103</div>
1104
1105<div class="row">
1106  <div class="columns">
1107    <div class="divider"></div>
1108  </div>
1109</div>
1110<div class="row summary narrow">
1111  
1112  <div class="large-4 columns">
1113    
1114    <p>Search results for <strong>""</strong></p>
1115  </div>    
1116  
1117
1118  <div class="large-4 columns">
1119    <div class="searchbar-container">
1120      <form  action="/search" method="get" role="search">
1121        
1122        <input name="q" type="text" placeholder="Search store..." class="hint text" value="" />
1123        <button aria-hidden="false" class="glyph search"></button>
1124      </form>
1125    </div>
1126  </div>
1127
1128  
1129  <div class="large-4 columns">
1130    
1131    <p><strong>0</strong> results found</p>
1132  </div>
1133  
1134</div>
1135<div class="row">
1136  <div class="columns">
1137    <div class="divider results"></div>
1138  </div>
1139</div>
1140
1141
1142
1143<div class="row">
1144  <div class="right columns large-6">
1145    
1146  </div>
1147</div>
1148
1149
1150
1151
1152  </section>
1153
1154  <footer class="main-footer">
1155
1156    <div class="row bottom">
1157      <div class="column-1 large-4 columns">
1158        <h2 class="title"></h2>
1159        <div class="content">
1160          <p class="text"></p>
1161          <div class="powered-by"><a target="_blank" rel="nofollow" href="https://www.shopify.com?utm_campaign=poweredby&amp;utm_medium=shopify&amp;utm_source=onlinestore">Ecommerce Software by Shopify</a></div>
1162        </div>
1163
1164      </div>
1165      <div class="column-2 large-4 columns">
1166        <h2 class="title"></h2>
1167
1168        <div class="content">
1169          
1170            
1171
1172            <ul class="footer-nav plain-list" role="navigation">
1173            
1174              <li><a href="/" title="Home">Home</a></li>
1175            
1176              <li><a href="/collections/fabric" title="Fabric">Fabric</a></li>
1177            
1178              <li><a href="/collections/patterns" title="Patterns">Patterns</a></li>
1179            
1180              <li><a href="https://oakfabrics.com/products/oak-fabrics-gift-card" title="Gift Cards">Gift Cards</a></li>
1181            
1182              <li><a href="/pages/contact" title="Contact">Contact</a></li>
1183            
1184            </ul>
1185          
1186        </div>
1187      </div>
1188
1189
1190      <div class="column-3 large-4 columns">
1191        
1192
1193          <div class="social-follow">
1194            
1195            
1196            
1197            
1198            
1199            
1200            
1201            
1202
1203            
1204          </div>
1205        </div>
1206      </div>
1207    </div>
1208
1209    
1210      
1211    
1212  </footer>
1213
1214
1215
1216  
1217
1218
1219<script>window.jQuery||document.write("
1219<script src='https://ajax.googleapis.com/ajax/libs/jquery/2.2.4/jquery.min.js'><\/script>");</script>
1219 
1220  
1221<script>function utilGetParameterByName(e,t){void 0===t&&(t=window.location.search),e=e.replace(/[\[]/,"\\[").replace(/[\]]/,"\\]");var o=new RegExp("[\\?&]"+e+"=([^&#]*)").exec(t);return null===o?"":decodeURIComponent(o[1].replace(/\+/g," "))}function CollectionFilterHandleGet(){return"/"==window.location.pathname?"all":window.location.pathname.substring("/collections/".length).split("/")[0]}function CollectionFilterLegacyTagsGet(){var e;return"/"==window.location.pathname?"":1==(e=window.location.pathname.substring("/collections/".length)).split("/").length?"":e=e.split("/")[1]}function CollectionFilterSetProductDetailVariant(e,t){for(var o=[],n=0;n<t.length;n++)for(var i=0;i<e.options.length;i++){var a=e.options[i];a.name.toLowerCase()==t[n].option_name.toLowerCase()&&o.push({position:a.position,title:t[n].variant_title})}if(0!=o.length&&1!=e.variants.length)for(n=0;n<e.variants.length;n++){var l=e.variants[n];if(!(l.title.indexOf("% Off")>-1)&&!("shopify"==l.inventory_management&&"deny"==l.inventory_policy&&l.inventory_quantity<=0)){var r=!0;for(i=0;i<o.length;i++)l["option"+o[i].position]!=o[i].title&&(r=!1);if(r)return window.location.href=window.location.pathname+"?variant="+l.id,void(document.querySelector("[name='id']").value=l.id)}}}function CollectionFilterFlushHandle(){"yes"==utilGetParameterByName("debug")&&console.log("CollectionFilterFlush()"),window.cfDocCookies.keys().filter(function(e){return 0==e.indexOf("cf-handle")}).map(function(e){window.cfDocCookies.removeItem(e,"/")})}function CollectionFilterFlush(){"yes"==utilGetParameterByName("debug")&&console.log("CollectionFilterFlush()"),window.cfDocCookies.keys().filter(function(e){return 0==e.indexOf("cf-")}).map(function(e){window.cfDocCookies.removeItem(e,"/")})}function CollectionFilterInitialize(){if("yes"==utilGetParameterByName("debug")&&console.log("CollectionFilterInitialize"),window.location.pathname.indexOf("/products/")>-1){if(""==utilGetParameterByName("variant")&&(o=window.cfDocCookies.getItem("cf-app-selected-filters"))&&"string"==typeof o){var e=JSON.parse(o);e.length>0&&jQuery.getJSON(window.location.pathname+".json",function(t){CollectionFilterSetProductDetailVariant(t.product,e)})}}else{if("/search"==window.location.pathname||"/"==window.location.pathname);else if(-1==window.location.pathname.indexOf("/collections/"))return;var t=Math.floor((new Date).getTime()/1e3);(o=window.cfDocCookies.getItem("cf-last_update_hours"))&&"string"==typeof o?t-parseInt(o)>=600&&CollectionFilterFlush():CollectionFilterFlush(),""!=utilGetParameterByName("sort_by")&&window.cfDocCookies.setItem("cf-app-remember-sort_by",utilGetParameterByName("sort_by"),null,"/"),""!=utilGetParameterByName("view")&&window.cfDocCookies.setItem("cf-app-remember-view",utilGetParameterByName("view"),null,"/"),(o=window.cfDocCookies.getItem("cf-app_settings"))&&"string"==typeof o&&(window.appcf.app_settings=JSON.parse(window.cfDocCookies.getItem("cf-app_settings")));var o,n=CollectionFilterHandleGet();if((o=window.cfDocCookies.getItem("cf-handle-"+n))&&"string"==typeof o&&(window.appcf.filters=JSON.parse(o)),"yes"==utilGetParameterByName("debug")&&console.log("CollectionFilterInitialize app_settings",window.appcf.app_settings,"filters",window.appcf.filters),window.appcf.app_settings&&window.appcf.filters?(CollectionFilterCheckRemember(n),CollectionFilterPopulateOptions(n)):jQuery.ajax({cache:!0,contentType:"application/json; charset=utf-8",dataType:"json",type:"GET",url:window.appcf.api_get,data:{shop:window.appcf.shop,handle:n.trim().toLowerCase()},success:function(e){0!=e.filters.options.length&&("yes"==utilGetParameterByName("debug")&&(console.log("CF got data data.filters.options.length",e.filters.options.length),console.log("CF got data data.filters.options[0].values.length",e.filters.options[0].values.length)),window.appcf.app_settings=e.app_settings,window.cfDocCookies.setItem("cf-app_settings",JSON.stringify(window.appcf.app_settings),null,"/"),window.appcf.filters=e.filters,CollectionFilterFlushHandle(),window.cfDocCookies.setItem("cf-handle-"+n,JSON.stringify(window.appcf.filters),null,"/"),window.cfDocCookies.setItem("cf-last_update_hours",t,null,"/"),CollectionFilterCheckRemember(n),CollectionFilterPopulateOptions(n))}}),"/search"==window.location.pathname){var i=CollectionFilterGetSearchValuesNoTags();jQuery("input[name='q']").val(i.join(" "))}}}function CollectionFilterSelectedFiltersGet(e){var t="",o=[];return"string"==typeof(t="/search"==window.location.pathname?utilGetParameterByName("q"):window.location.pathname.replace("/collections/"+e,"").replace("/",""))&&""!=t&&(o=(t=decodeURIComponent(t)).toLowerCase().split("+")),o}function CollectionFilterSetRemember(e,t){var o=[],n=window.cfDocCookies.getItem("cf-app-remember-tags");n&&"string"==typeof n&&(o=JSON.parse(n));for(var i=0;i<t.length;i++)-1==o.indexOf(t[i])&&o.push(t[i]);var a=[],l=[];"object"==typeof window.appcf.filters.options&&(l=window.appcf.filters.options);var r=[];for(i=0;i<l.length;i++)for(var c=0;c<l[i].values.length;c++)r.push(l[i].values[c].tag);for(i=0;i<o.length;i++)r.indexOf(o[i])>-1?t.indexOf(o[i])>-1&&a.push(o[i]):a.push(o[i]);window.cfDocCookies.setItem("cf-app-remember-tags",JSON.stringify(a),null,"/")}function CollectionFilterCheckRemember(e){if("/"!=window.location.pathname&&"/search"!=window.location.pathname){var t=CollectionFilterSelectedFiltersGet(e),o=[];(c=window.cfDocCookies.getItem("cf-app-remember-tags"))&&"string"==typeof c&&(o=JSON.parse(c));var n=[];"object"==typeof window.appcf.filters.options&&(n=window.appcf.filters.options);for(var i=[],a=0;a<n.length;a++)for(var l=0;l<n[a].values.length;l++)i.push(n[a].values[l].tag);var r=[];for(a=0;a<o.length;a++)i.indexOf(o[a])>-1&&-1==t.indexOf(o[a].toLowerCase())&&r.push(o[a]);var c,s="";if((c=window.cfDocCookies.getItem("cf-app-remember-sort_by"))&&"string"==typeof c)s=c;
12210==r.length&&s==utilGetParameterByName("sort_by")||(t.push.apply(t,r),CollectionFilterRedirect(e,t))}}function CollectionFilterPopulateOptions(e){"yes"==utilGetParameterByName("debug")&&console.log("CollectionFilterPopulateOptions",e);var t=window.appcf.app_settings,o=[];"object"==typeof window.appcf.filters.options&&(o=window.appcf.filters.options),void 0===t.show_only_options&&(t.show_only_options=""),t.show_only_options=t.show_only_options.trim();var n=[];""!=t.show_only_options&&(n=t.show_only_options.split(","));var i="",a=CollectionFilterSelectedFiltersGet(e);if(void 0===t.appearance&&(t.appearance=[]),void 0===t.production_mode&&(t.production_mode=!1),0==t.production_mode&&CollectionFilterFlush(),0==t.appearance.length)for(var r=0;r<n.length;r++)t.appearance.push({name:n[r],label:"",style:"select",all:""});var c=[];"yes"==utilGetParameterByName("debug")&&console.log("options",o,"app_settings",t);for(var s=0;s<t.appearance.length;s++){var p=t.appearance[s],f=o.filter(function(e){return e.name.toLowerCase()==p.name.toLowerCase()});if(1==f.length&&(f=f[0],"yes"==utilGetParameterByName("debug")&&l("option0",f),!(t.production_mode&&f.values.length<=1))){i+=" <span class='cf-label cf-title'>"+(""==p.label?p.name:p.label)+"</span>",i+=" <span class='cf-options-container'>";var u=720;if("number"==typeof window.cf_mobile_width&&(u=window.cf_mobile_width),jQuery(window).width()<=u&&(p.style="select"),"select"==p.style){i+="<select class='cf-select'>",i+="<option value=''>"+("string"==typeof p.all?p.all:"")+"</option>";for(var d=0;d<f.values.length;d++)i+="<option value='"+f.values[d].tag+"' ",a.indexOf(f.values[d].tag.toLowerCase())>=0&&(i+=" selected",c.push({option_name:f.name,variant_title:f.values[d].name})),i+=">"+f.values[d].name+"</option>";i+="</select>"}if("checkboxes"==p.style){var m=!1,w="string"==typeof p.all?p.all:"",h="";for(d=0;d<f.values.length;d++){var g="cf-"+CollectionFilterConvertToSlug(p.name)+"-",y=f.values[d].tag.replace(g,"");h+="<label><input class='cf-checkbox' name='"+p.name+"[]' data-group-name='"+p.name+"' type='checkbox' value='"+f.values[d].tag+"' id='"+y+"'    ",h+=(a.indexOf(f.values[d].tag.toLowerCase())>=0?" checked ":"")+" > <span>"+f.values[d].name+"</span></label>",a.indexOf(f.values[d].tag.toLowerCase())>=0&&(m=!0,c.push({option_name:f.name,variant_title:f.values[d].name}))}""!=w&&(i+="<label><input class='cf-checkbox' name='"+p.name+"[]' data-group-name='"+p.name+"' type='checkbox' value='' id=''    ",0==m&&(i+=" checked "),i+=" > <span>"+w+"</span></label>"),i+=h}if("radios"==p.style){i+="<label><input class='cf-radio' data-group-name='"+p.name+"' type='radio' value='' ",i+=" > <span>"+("string"==typeof p.all?p.all:"View All")+"</span></label>";for(d=0;d<f.values.length;d++)i+="<label><input class='cf-radio' data-group-name='"+p.name+"' type='radio' value='"+f.values[d].tag+"' ",i+=(a.indexOf(f.values[d].tag.toLowerCase())>=0?" checked ":"")+" > <span>"+f.values[d].name+"</span></label>",a.indexOf(f.values[d].tag.toLowerCase())>=0&&c.push({option_name:f.name,variant_title:f.values[d].name})}i+=" </span>"}}"yes"==utilGetParameterByName("debug")&&console.log("CF ohtml",i),jQuery(".collection-filters-container").html(i),jQuery("#collection-filters-container").html(i),"yes"==utilGetParameterByName("debug")&&(console.log("ohtml",i),console.log("collection-filters-container",jQuery(".collection-filters-container").length)),setTimeout(function(){jQuery(".cf-select").bind("change",CollectionFilterChange),jQuery(".cf-checkbox").bind("change",CollectionFilterChange),jQuery(".cf-radio").bind("change",CollectionFilterChange),utilGetParameterByName("debug"),"function"==typeof CollectionFilterReady&&CollectionFilterReady()},600),window.cfDocCookies.setItem("cf-app-selected-filters",JSON.stringify(c),null,"/")}function CollectionFilterGetSearchValuesNoTags(){if("/search"!=window.location.pathname)return[];var e=[];""!=utilGetParameterByName("q")&&(e=utilGetParameterByName("q").split(" "));for(var t=[],o=0;o<e.length;o++)-1==e[o].indexOf("tag:")&&t.push(e[o]);return t}function CollectionFilterRedirect(e,t){if("/search"==window.location.pathname){for(var o=CollectionFilterGetSearchValuesNoTags(),n=0;n<t.length;n++)o.push("tag:"+t[n]);window.location="/search?type="+utilGetParameterByName("type")+"&q="+o.join("+")}else{var i="/collections/"+e+"/"+t.join("+");i=i.replace(/&/g,"%26");var a=utilGetParameterByName("sort_by");if(void 0===a||""==a)(l=window.cfDocCookies.getItem("cf-app-remember-sort_by"))&&"string"==typeof l&&(a=l);void 0===a||""==a||(i.indexOf("?")>-1?i+="&":i+="?",i+="sort_by="+a);var l,r=utilGetParameterByName("view");if(void 0===r||""==r)(l=window.cfDocCookies.getItem("cf-app-remember-view"))&&"string"==typeof l&&(r=l);void 0===a||""==r||(i.indexOf("?")>-1?i+="&":i+="?",i+="view="+r),window.location.href=i}}function CollectionFilterChange(e){var t=jQuery(e.currentTarget).data("group-name"),o="",n=CollectionFilterHandleGet();void 0!==t&&(o=jQuery(e.currentTarget).val());var i=jQuery(e.currentTarget).closest(".collection-filters-container");0==i.length&&(i=jQuery(e.currentTarget).closest("#collection-filters-container"));var a=[];i.find(".cf-select").each(function(e){var t=jQuery(this).val();""!=t&&a.push(t)}),i.find(".cf-checkbox:checked").each(function(e){var n=jQuery(this).val();""!=n&&(jQuery(this).data("group-name")!=t?a.push(n):n==o&&a.push(n))}),i.find(".cf-radio:checked").each(function(e){var n=jQuery(this).val();""!=n&&(jQuery(this).data("group-name")!=t?""!=n&&a.push(n):n==o&&a.push(n))}),CollectionFilterSetRemember(n,a),CollectionFilterRedirect(n,a)}
1221function CollectionFilterStart(){if("function"==typeof jQuery){if("number"!=typeof window.app_cf_started){window.app_cf_started=1,window.l=function(){};try{window.l=console.log.bind(console)}catch(e){}utilGetParameterByName("env");window.appcf={shop:"the-needle-shop",api_get:"https://collection-filter-www.herokuapp.com/api/v1/filters",app_settings:null,filters:null},"sadev3.myshopify.com"==window.location.host&&(window.appcf.api_get="https://localhost/api/v1/filters"),CollectionFilterInitialize()}}else console.log("please add jQuery to shop theme.liquid")}function CollectionFilterConvertToSlug(e){return e.toLowerCase().replace(/ /g,"-").replace(/[^\w-]+/g,"")}window.cfDocCookies={getItem:function(e){return e&&decodeURIComponent(document.cookie.replace(new RegExp("(?:(?:^|.*;)\\s*"+encodeURIComponent(e).replace(/[\-\.\+\*]/g,"\\$&")+"\\s*\\=\\s*([^;]*).*$)|^.*$"),"$1"))||null},setItem:function(e,t,o,n,i,a){if(!e||/^(?:expires|max\-age|path|domain|secure)$/i.test(e))return!1;var l="";if(o)switch(o.constructor){case Number:l=o===1/0?"; expires=Fri, 31 Dec 9999 23:59:59 GMT":"; max-age="+o;break;case String:l="; expires="+o;break;case Date:l="; expires="+o.toUTCString()}return document.cookie=encodeURIComponent(e)+"="+encodeURIComponent(t)+l+(i?"; domain="+i:"")+(n?"; path="+n:"")+(a?"; secure":""),!0},removeItem:function(e,t,o){return!!this.hasItem(e)&&(document.cookie=encodeURIComponent(e)+"=; expires=Thu, 01 Jan 1970 00:00:00 GMT"+(o?"; domain="+o:"")+(t?"; path="+t:""),!0)},hasItem:function(e){return!!e&&new RegExp("(?:^|;\\s*)"+encodeURIComponent(e).replace(/[\-\.\+\*]/g,"\\$&")+"\\s*\\=").test(document.cookie)},keys:function(){for(var e=document.cookie.replace(/((?:^|\s*;)[^\=]+)(?=;|$)|^\s*|\s*(?:\=[^;]*)?(?:\1|$)/g,"").split(/\s*(?:\=[^;]*)?;\s*/),t=e.length,o=0;o<t;o++)e[o]=decodeURIComponent(e[o]);return e}},CollectionFilterStart();</script>
1221
1222
1223
1224
1225
1226<!-- "snippets/swymSnippet.liquid" was not rendered, the associated app was uninstalled -->
1227
1228<script>window.jQuery||document.write("
1228<script src='https://ajax.googleapis.com/ajax/libs/jquery/2.2.4/jquery.min.js'><\/script>");</script>
1228 
1229  
1230<script>function utilGetParameterByName(e,t){void 0===t&&(t=window.location.search),e=e.replace(/[\[]/,"\\[").replace(/[\]]/,"\\]");var o=new RegExp("[\\?&]"+e+"=([^&#]*)").exec(t);return null===o?"":decodeURIComponent(o[1].replace(/\+/g," "))}function CollectionFilterHandleGet(){return"/"==window.location.pathname?"all":window.location.pathname.substring("/collections/".length).split("/")[0]}function CollectionFilterLegacyTagsGet(){var e;return"/"==window.location.pathname?"":1==(e=window.location.pathname.substring("/collections/".length)).split("/").length?"":e=e.split("/")[1]}function CollectionFilterSetProductDetailVariant(e,t){for(var o=[],n=0;n<t.length;n++)for(var i=0;i<e.options.length;i++){var a=e.options[i];a.name.toLowerCase()==t[n].option_name.toLowerCase()&&o.push({position:a.position,title:t[n].variant_title})}if(0!=o.length&&1!=e.variants.length)for(n=0;n<e.variants.length;n++){var l=e.variants[n];if(!(l.title.indexOf("% Off")>-1)&&!("shopify"==l.inventory_management&&"deny"==l.inventory_policy&&l.inventory_quantity<=0)){var r=!0;for(i=0;i<o.length;i++)l["option"+o[i].position]!=o[i].title&&(r=!1);if(r)return window.location.href=window.location.pathname+"?variant="+l.id,void(document.querySelector("[name='id']").value=l.id)}}}function CollectionFilterFlushHandle(){"yes"==utilGetParameterByName("debug")&&console.log("CollectionFilterFlush()"),window.cfDocCookies.keys().filter(function(e){return 0==e.indexOf("cf-handle")}).map(function(e){window.cfDocCookies.removeItem(e,"/")})}function CollectionFilterFlush(){"yes"==utilGetParameterByName("debug")&&console.log("CollectionFilterFlush()"),window.cfDocCookies.keys().filter(function(e){return 0==e.indexOf("cf-")}).map(function(e){window.cfDocCookies.removeItem(e,"/")})}function CollectionFilterInitialize(){if("yes"==utilGetParameterByName("debug")&&console.log("CollectionFilterInitialize"),window.location.pathname.indexOf("/products/")>-1){if(""==utilGetParameterByName("variant")&&(o=window.cfDocCookies.getItem("cf-app-selected-filters"))&&"string"==typeof o){var e=JSON.parse(o);e.length>0&&jQuery.getJSON(window.location.pathname+".json",function(t){CollectionFilterSetProductDetailVariant(t.product,e)})}}else{if("/search"==window.location.pathname||"/"==window.location.pathname);else if(-1==window.location.pathname.indexOf("/collections/"))return;var t=Math.floor((new Date).getTime()/1e3);(o=window.cfDocCookies.getItem("cf-last_update_hours"))&&"string"==typeof o?t-parseInt(o)>=600&&CollectionFilterFlush():CollectionFilterFlush(),""!=utilGetParameterByName("sort_by")&&window.cfDocCookies.setItem("cf-app-remember-sort_by",utilGetParameterByName("sort_by"),null,"/"),""!=utilGetParameterByName("view")&&window.cfDocCookies.setItem("cf-app-remember-view",utilGetParameterByName("view"),null,"/"),(o=window.cfDocCookies.getItem("cf-app_settings"))&&"string"==typeof o&&(window.appcf.app_settings=JSON.parse(window.cfDocCookies.getItem("cf-app_settings")));var o,n=CollectionFilterHandleGet();if((o=window.cfDocCookies.getItem("cf-handle-"+n))&&"string"==typeof o&&(window.appcf.filters=JSON.parse(o)),"yes"==utilGetParameterByName("debug")&&console.log("CollectionFilterInitialize app_settings",window.appcf.app_settings,"filters",window.appcf.filters),window.appcf.app_settings&&window.appcf.filters?(CollectionFilterCheckRemember(n),CollectionFilterPopulateOptions(n)):jQuery.ajax({cache:!0,contentType:"application/json; charset=utf-8",dataType:"json",type:"GET",url:window.appcf.api_get,data:{shop:window.appcf.shop,handle:n.trim().toLowerCase()},success:function(e){0!=e.filters.options.length&&("yes"==utilGetParameterByName("debug")&&(console.log("CF got data data.filters.options.length",e.filters.options.length),console.log("CF got data data.filters.options[0].values.length",e.filters.options[0].values.length)),window.appcf.app_settings=e.app_settings,window.cfDocCookies.setItem("cf-app_settings",JSON.stringify(window.appcf.app_settings),null,"/"),window.appcf.filters=e.filters,CollectionFilterFlushHandle(),window.cfDocCookies.setItem("cf-handle-"+n,JSON.stringify(window.appcf.filters),null,"/"),window.cfDocCookies.setItem("cf-last_update_hours",t,null,"/"),CollectionFilterCheckRemember(n),CollectionFilterPopulateOptions(n))}}),"/search"==window.location.pathname){var i=CollectionFilterGetSearchValuesNoTags();jQuery("input[name='q']").val(i.join(" "))}}}function CollectionFilterSelectedFiltersGet(e){var t="",o=[];return"string"==typeof(t="/search"==window.location.pathname?utilGetParameterByName("q"):window.location.pathname.replace("/collections/"+e,"").replace("/",""))&&""!=t&&(o=(t=decodeURIComponent(t)).toLowerCase().split("+")),o}function CollectionFilterSetRemember(e,t){var o=[],n=window.cfDocCookies.getItem("cf-app-remember-tags");n&&"string"==typeof n&&(o=JSON.parse(n));for(var i=0;i<t.length;i++)-1==o.indexOf(t[i])&&o.push(t[i]);var a=[],l=[];"object"==typeof window.appcf.filters.options&&(l=window.appcf.filters.options);var r=[];for(i=0;i<l.length;i++)for(var c=0;c<l[i].values.length;c++)r.push(l[i].values[c].tag);for(i=0;i<o.length;i++)r.indexOf(o[i])>-1?t.indexOf(o[i])>-1&&a.push(o[i]):a.push(o[i]);window.cfDocCookies.setItem("cf-app-remember-tags",JSON.stringify(a),null,"/")}function CollectionFilterCheckRemember(e){if("/"!=window.location.pathname&&"/search"!=window.location.pathname){var t=CollectionFilterSelectedFiltersGet(e),o=[];(c=window.cfDocCookies.getItem("cf-app-remember-tags"))&&"string"==typeof c&&(o=JSON.parse(c));var n=[];"object"==typeof window.appcf.filters.options&&(n=window.appcf.filters.options);for(var i=[],a=0;a<n.length;a++)for(var l=0;l<n[a].values.length;l++)i.push(n[a].values[l].tag);var r=[];for(a=0;a<o.length;a++)i.indexOf(o[a])>-1&&-1==t.indexOf(o[a].toLowerCase())&&r.push(o[a]);var c,s="";if((c=window.cfDocCookies.getItem("cf-app-remember-sort_by"))&&"string"==typeof c)s=c;
12300==r.length&&s==utilGetParameterByName("sort_by")||(t.push.apply(t,r),CollectionFilterRedirect(e,t))}}function CollectionFilterPopulateOptions(e){"yes"==utilGetParameterByName("debug")&&console.log("CollectionFilterPopulateOptions",e);var t=window.appcf.app_settings,o=[];"object"==typeof window.appcf.filters.options&&(o=window.appcf.filters.options),void 0===t.show_only_options&&(t.show_only_options=""),t.show_only_options=t.show_only_options.trim();var n=[];""!=t.show_only_options&&(n=t.show_only_options.split(","));var i="",a=CollectionFilterSelectedFiltersGet(e);if(void 0===t.appearance&&(t.appearance=[]),void 0===t.production_mode&&(t.production_mode=!1),0==t.production_mode&&CollectionFilterFlush(),0==t.appearance.length)for(var r=0;r<n.length;r++)t.appearance.push({name:n[r],label:"",style:"select",all:""});var c=[];"yes"==utilGetParameterByName("debug")&&console.log("options",o,"app_settings",t);for(var s=0;s<t.appearance.length;s++){var p=t.appearance[s],f=o.filter(function(e){return e.name.toLowerCase()==p.name.toLowerCase()});if(1==f.length&&(f=f[0],"yes"==utilGetParameterByName("debug")&&l("option0",f),!(t.production_mode&&f.values.length<=1))){i+=" <span class='cf-label cf-title'>"+(""==p.label?p.name:p.label)+"</span>",i+=" <span class='cf-options-container'>";var u=720;if("number"==typeof window.cf_mobile_width&&(u=window.cf_mobile_width),jQuery(window).width()<=u&&(p.style="select"),"select"==p.style){i+="<select class='cf-select'>",i+="<option value=''>"+("string"==typeof p.all?p.all:"")+"</option>";for(var d=0;d<f.values.length;d++)i+="<option value='"+f.values[d].tag+"' ",a.indexOf(f.values[d].tag.toLowerCase())>=0&&(i+=" selected",c.push({option_name:f.name,variant_title:f.values[d].name})),i+=">"+f.values[d].name+"</option>";i+="</select>"}if("checkboxes"==p.style){var m=!1,w="string"==typeof p.all?p.all:"",h="";for(d=0;d<f.values.length;d++){var g="cf-"+CollectionFilterConvertToSlug(p.name)+"-",y=f.values[d].tag.replace(g,"");h+="<label><input class='cf-checkbox' name='"+p.name+"[]' data-group-name='"+p.name+"' type='checkbox' value='"+f.values[d].tag+"' id='"+y+"'    ",h+=(a.indexOf(f.values[d].tag.toLowerCase())>=0?" checked ":"")+" > <span>"+f.values[d].name+"</span></label>",a.indexOf(f.values[d].tag.toLowerCase())>=0&&(m=!0,c.push({option_name:f.name,variant_title:f.values[d].name}))}""!=w&&(i+="<label><input class='cf-checkbox' name='"+p.name+"[]' data-group-name='"+p.name+"' type='checkbox' value='' id=''    ",0==m&&(i+=" checked "),i+=" > <span>"+w+"</span></label>"),i+=h}if("radios"==p.style){i+="<label><input class='cf-radio' data-group-name='"+p.name+"' type='radio' value='' ",i+=" > <span>"+("string"==typeof p.all?p.all:"View All")+"</span></label>";for(d=0;d<f.values.length;d++)i+="<label><input class='cf-radio' data-group-name='"+p.name+"' type='radio' value='"+f.values[d].tag+"' ",i+=(a.indexOf(f.values[d].tag.toLowerCase())>=0?" checked ":"")+" > <span>"+f.values[d].name+"</span></label>",a.indexOf(f.values[d].tag.toLowerCase())>=0&&c.push({option_name:f.name,variant_title:f.values[d].name})}i+=" </span>"}}"yes"==utilGetParameterByName("debug")&&console.log("CF ohtml",i),jQuery(".collection-filters-container").html(i),jQuery("#collection-filters-container").html(i),"yes"==utilGetParameterByName("debug")&&(console.log("ohtml",i),console.log("collection-filters-container",jQuery(".collection-filters-container").length)),setTimeout(function(){jQuery(".cf-select").bind("change",CollectionFilterChange),jQuery(".cf-checkbox").bind("change",CollectionFilterChange),jQuery(".cf-radio").bind("change",CollectionFilterChange),utilGetParameterByName("debug"),"function"==typeof CollectionFilterReady&&CollectionFilterReady()},600),window.cfDocCookies.setItem("cf-app-selected-filters",JSON.stringify(c),null,"/")}function CollectionFilterGetSearchValuesNoTags(){if("/search"!=window.location.pathname)return[];var e=[];""!=utilGetParameterByName("q")&&(e=utilGetParameterByName("q").split(" "));for(var t=[],o=0;o<e.length;o++)-1==e[o].indexOf("tag:")&&t.push(e[o]);return t}function CollectionFilterRedirect(e,t){if("/search"==window.location.pathname){for(var o=CollectionFilterGetSearchValuesNoTags(),n=0;n<t.length;n++)o.push("tag:"+t[n]);window.location="/search?type="+utilGetParameterByName("type")+"&q="+o.join("+")}else{var i="/collections/"+e+"/"+t.join("+");i=i.replace(/&/g,"%26");var a=utilGetParameterByName("sort_by");if(void 0===a||""==a)(l=window.cfDocCookies.getItem("cf-app-remember-sort_by"))&&"string"==typeof l&&(a=l);void 0===a||""==a||(i.indexOf("?")>-1?i+="&":i+="?",i+="sort_by="+a);var l,r=utilGetParameterByName("view");if(void 0===r||""==r)(l=window.cfDocCookies.getItem("cf-app-remember-view"))&&"string"==typeof l&&(r=l);void 0===a||""==r||(i.indexOf("?")>-1?i+="&":i+="?",i+="view="+r),window.location.href=i}}function CollectionFilterChange(e){var t=jQuery(e.currentTarget).data("group-name"),o="",n=CollectionFilterHandleGet();void 0!==t&&(o=jQuery(e.currentTarget).val());var i=jQuery(e.currentTarget).closest(".collection-filters-container");0==i.length&&(i=jQuery(e.currentTarget).closest("#collection-filters-container"));var a=[];i.find(".cf-select").each(function(e){var t=jQuery(this).val();""!=t&&a.push(t)}),i.find(".cf-checkbox:checked").each(function(e){var n=jQuery(this).val();""!=n&&(jQuery(this).data("group-name")!=t?a.push(n):n==o&&a.push(n))}),i.find(".cf-radio:checked").each(function(e){var n=jQuery(this).val();""!=n&&(jQuery(this).data("group-name")!=t?""!=n&&a.push(n):n==o&&a.push(n))}),CollectionFilterSetRemember(n,a),CollectionFilterRedirect(n,a)}
1230function CollectionFilterStart(){if("function"==typeof jQuery){if("number"!=typeof window.app_cf_started){window.app_cf_started=1,window.l=function(){};try{window.l=console.log.bind(console)}catch(e){}utilGetParameterByName("env");window.appcf={shop:"the-needle-shop",api_get:"https://collection-filter-www.herokuapp.com/api/v1/filters",app_settings:null,filters:null},"sadev3.myshopify.com"==window.location.host&&(window.appcf.api_get="https://localhost/api/v1/filters"),CollectionFilterInitialize()}}else console.log("please add jQuery to shop theme.liquid")}function CollectionFilterConvertToSlug(e){return e.toLowerCase().replace(/ /g,"-").replace(/[^\w-]+/g,"")}window.cfDocCookies={getItem:function(e){return e&&decodeURIComponent(document.cookie.replace(new RegExp("(?:(?:^|.*;)\\s*"+encodeURIComponent(e).replace(/[\-\.\+\*]/g,"\\$&")+"\\s*\\=\\s*([^;]*).*$)|^.*$"),"$1"))||null},setItem:function(e,t,o,n,i,a){if(!e||/^(?:expires|max\-age|path|domain|secure)$/i.test(e))return!1;var l="";if(o)switch(o.constructor){case Number:l=o===1/0?"; expires=Fri, 31 Dec 9999 23:59:59 GMT":"; max-age="+o;break;case String:l="; expires="+o;break;case Date:l="; expires="+o.toUTCString()}return document.cookie=encodeURIComponent(e)+"="+encodeURIComponent(t)+l+(i?"; domain="+i:"")+(n?"; path="+n:"")+(a?"; secure":""),!0},removeItem:function(e,t,o){return!!this.hasItem(e)&&(document.cookie=encodeURIComponent(e)+"=; expires=Thu, 01 Jan 1970 00:00:00 GMT"+(o?"; domain="+o:"")+(t?"; path="+t:""),!0)},hasItem:function(e){return!!e&&new RegExp("(?:^|;\\s*)"+encodeURIComponent(e).replace(/[\-\.\+\*]/g,"\\$&")+"\\s*\\=").test(document.cookie)},keys:function(){for(var e=document.cookie.replace(/((?:^|\s*;)[^\=]+)(?=;|$)|^\s*|\s*(?:\=[^;]*)?(?:\1|$)/g,"").split(/\s*(?:\=[^;]*)?;\s*/),t=e.length,o=0;o<t;o++)e[o]=decodeURIComponent(e[o]);return e}},CollectionFilterStart();</script>
vendor: 1 bytes, line 1230
1230
1231<script src="https://cdn.shopify.com/storefront/standard-actions.js" type="module" data-source-attribution="shopify.standard_actions"></script>
1231
1232</body>
1233</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.