PageSourceSearch

https://www.outdoorfabriccentral.com/cart

html outdoorfabriccentral.com collected 2026-09-28 06:58:31 UTC 307,158 bytes, 6,909 lines download raw bytes

1<!doctype html>
2
3
4
5
6
7
8
9
10
11
12
13
14
15<html class="no-js ofc  is-cart  page-class-set   logged-out    cart" lang="en" dir="ltr">
16<head>
17
18  
18<script>
19    (function() {
20      /* START - JTM - polyfill fix broke console.log on site since its being disabled somewhere */
21      // 1. Create a hidden iframe to grab a pristine console object
22      var iframe = document.createElement('iframe');
23      iframe.style.display = 'none';
24      document.documentElement.appendChild(iframe);
25      var nativeLog = iframe.contentWindow.console.log;      
26      // 2. Lock console.log so nothing can change it
27      Object.defineProperty(window.console, 'log', {
28        get: function() { return nativeLog.bind(window.console); },
29        set: function() {}, // Completely ignore any scripts trying to turn it off
30        configurable: false
31      });
32      /* END - JTM - polyfill fix broke console.log on site since its being disabled somewhere */
33    })();
34  </script>
34<meta charset="utf-8">
35
36
37  
38    <meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1, maximum-scale=5, viewport-fit=cover"/>
39  
40  
41<title>Your Shopping Cart &ndash; Outdoor Fabric Central</title><link rel="canonical" href="https://www.outdoorfabriccentral.com/cart"><link rel="icon" href="//www.outdoorfabriccentral.com/cdn/shop/files/favicon-180px-by-180px.png?crop=center&height=48&v=1751289909&width=48" type="image/png">
42  <link rel="apple-touch-icon" href="//www.outdoorfabriccentral.com/cdn/shop/files/favicon-180px-by-180px.png?crop=center&height=180&v=1751289909&width=180"><meta property="og:site_name" content="Outdoor Fabric Central">
43<meta property="og:url" content="https://www.outdoorfabriccentral.com/cart">
44<meta property="og:title" content="Your Shopping Cart">
45<meta property="og:type" content="website">
46<meta property="og:description" content="Sunbrella fabrics by the yard and custom made outdoor cushions. Free Sunbrella Samples."><meta property="og:image" content="http://www.outdoorfabriccentral.com/cdn/shop/files/ofc-logo--high-rez-mobile-no-tagline.webp?crop=center&height=1200&v=1786475351&width=1200">
47  <meta property="og:image:secure_url" content="https://www.outdoorfabriccentral.com/cdn/shop/files/ofc-logo--high-rez-mobile-no-tagline.webp?crop=center&height=1200&v=1786475351&width=1200">
48  <meta property="og:image:width" content="600">
49  <meta property="og:image:height" content="184"><meta name="twitter:card" content="summary_large_image">
50<meta name="twitter:title" content="Your Shopping Cart">
51<meta name="twitter:description" content="Sunbrella fabrics by the yard and custom made outdoor cushions. Free Sunbrella Samples.">
52
53  
54
55  <link rel="preload" href="//www.outdoorfabriccentral.com/cdn/shop/t/2/assets/main.css?v=105982328972476625381771377790" as="style"><style data-shopify>
56@font-face {
57  font-family: Poppins;
58  font-weight: 400;
59  font-style: normal;
60  font-display: swap;
61  src: url("//www.outdoorfabriccentral.com/cdn/fonts/poppins/poppins_n4.0ba78fa5af9b0e1a374041b3ceaadf0a43b41362.woff2") format("woff2"),
62       url("//www.outdoorfabriccentral.com/cdn/fonts/poppins/poppins_n4.214741a72ff2596839fc9760ee7a770386cf16ca.woff") format("woff");
63}
64@font-face {
65  font-family: Poppins;
66  font-weight: 500;
67  font-style: normal;
68  font-display: swap;
69  src: url("//www.outdoorfabriccentral.com/cdn/fonts/poppins/poppins_n5.ad5b4b72b59a00358afc706450c864c3c8323842.woff2") format("woff2"),
70       url("//www.outdoorfabriccentral.com/cdn/fonts/poppins/poppins_n5.33757fdf985af2d24b32fcd84c9a09224d4b2c39.woff") format("woff");
71}
72@font-face {
73  font-family: Poppins;
74  font-weight: 400;
75  font-style: italic;
76  font-display: swap;
77  src: url("//www.outdoorfabriccentral.com/cdn/fonts/poppins/poppins_i4.846ad1e22474f856bd6b81ba4585a60799a9f5d2.woff2") format("woff2"),
78       url("//www.outdoorfabriccentral.com/cdn/fonts/poppins/poppins_i4.56b43284e8b52fc64c1fd271f289a39e8477e9ec.woff") format("woff");
79}
80@font-face {
81  font-family: Poppins;
82  font-weight: 500;
83  font-style: italic;
84  font-display: swap;
85  src: url("//www.outdoorfabriccentral.com/cdn/fonts/poppins/poppins_i5.6acfce842c096080e34792078ef3cb7c3aad24d4.woff2") format("woff2"),
86       url("//www.outdoorfabriccentral.com/cdn/fonts/poppins/poppins_i5.a49113e4fe0ad7fd7716bd237f1602cbec299b3c.woff") format("woff");
87}
88@font-face {
89  font-family: Poppins;
90  font-weight: 400;
91  font-style: normal;
92  font-display: swap;
93  src: url("//www.outdoorfabriccentral.com/cdn/fonts/poppins/poppins_n4.0ba78fa5af9b0e1a374041b3ceaadf0a43b41362.woff2") format("woff2"),
94       url("//www.outdoorfabriccentral.com/cdn/fonts/poppins/poppins_n4.214741a72ff2596839fc9760ee7a770386cf16ca.woff") format("woff");
95}
96@font-face {
97  font-family: Poppins;
98  font-weight: 500;
99  font-style: normal;
100  font-display: swap;
101  src: url("//www.outdoorfabriccentral.com/cdn/fonts/poppins/poppins_n5.ad5b4b72b59a00358afc706450c864c3c8323842.woff2") format("woff2"),
102       url("//www.outdoorfabriccentral.com/cdn/fonts/poppins/poppins_n5.33757fdf985af2d24b32fcd84c9a09224d4b2c39.woff") format("woff");
103}
104:root {
105      --bg-color: 255 255 255 / 1.0;
106      --bg-color-og: 255 255 255 / 1.0;
107      --heading-color: 48 48 48;
108      --text-color: 100 100 100;
109      --text-color-og: 100 100 100;
110      --scrollbar-color: 100 100 100;
111      --link-color: 244 118 76;
112      --link-color-og: 244 118 76;
113      --star-color: 249 219 109;
114      --sale-price-color: 198 32 32;--swatch-border-color-default: 224 224 224;
115        --swatch-border-color-active: 178 178 178;
116        --swatch-card-size: 24px;
117        --swatch-variant-picker-size: 28px;--color-scheme-1-bg: 252 249 241 / 1.0;
118      --color-scheme-1-grad: ;
119      --color-scheme-1-heading: 48 48 48;
120      --color-scheme-1-text: 48 48 48;
121      --color-scheme-1-btn-bg: 231 87 35;
122      --color-scheme-1-btn-text: 255 255 255;
123      --color-scheme-1-btn-bg-hover: 236 123 82;--color-scheme-2-bg: 231 87 35 / 1.0;
124      --color-scheme-2-grad: ;
125      --color-scheme-2-heading: 252 249 241;
126      --color-scheme-2-text: 252 249 241;
127      --color-scheme-2-btn-bg: 255 255 255;
128      --color-scheme-2-btn-text: 244 118 76;
129      --color-scheme-2-btn-bg-hover: 254 245 242;--color-scheme-3-bg: 69 19 44 / 1.0;
130      --color-scheme-3-grad: ;
131      --color-scheme-3-heading: 255 255 255;
132      --color-scheme-3-text: 255 255 255;
133      --color-scheme-3-btn-bg: 231 87 35;
134      --color-scheme-3-btn-text: 255 255 255;
135      --color-scheme-3-btn-bg-hover: 236 123 82;
136
137      --drawer-bg-color: 255 255 255 / 1.0;
138      --drawer-text-color: 48 48 48;
139
140      --panel-bg-color: 252 249 241 / 1.0;
141      --panel-heading-color: 48 48 48;
142      --panel-text-color: 48 48 48;
143
144      --in-stock-text-color: 44 126 63;
145      --low-stock-text-color: 210 134 26;
146      --very-low-stock-text-color: 180 12 28;
147      --no-stock-text-color: 119 119 119;
148      --no-stock-backordered-text-color: 119 119 119;
149
150      --error-bg-color: 244 216 220;
151      --error-text-color: 180 12 28;
152      --success-bg-color: 232 246 234;
153      --success-text-color: 44 126 63;
154      --info-bg-color: 228 237 250;
155      --info-text-color: 26 102 210;
156
157      --heading-font-family: Poppins, sans-serif;
158      --heading-font-style: normal;
159      --heading-font-weight: 400;
160      --heading-scale-start: 4;
161      --heading-letter-spacing: 0.0em;
162
163      --navigation-font-family: Poppins, sans-serif;
164      --navigation-font-style: normal;
165      --navigation-font-weight: 500;
166      --navigation-letter-spacing: 0.0em;--heading-text-transform: none;
167--subheading-text-transform: none;
168      --body-font-family: Poppins, sans-serif;
169      --body-font-style: normal;
170      --body-font-weight: 400;
171      --body-font-size: 16;
172      --body-font-size-px: 16px;
173      --body-letter-spacing: 0.0em;
174
175      --section-gap: 48;
176      --heading-gap: calc(8 * var(--space-unit));--grid-column-gap: 20px;
177      --product-card-gap: 20px;--btn-bg-color: 231 87 35;
178      --btn-bg-hover-color: 236 123 82;
179      --btn-text-color: 255 255 255;
180      --btn-bg-color-og: 231 87 35;
181      --btn-text-color-og: 255 255 255;
182      --btn-alt-bg-color: 255 255 255;
183      --btn-alt-bg-alpha: 1.0;
184      --btn-alt-text-color: 48 48 48;
185      --btn-border-width: 2px;
186      --btn-padding-y: 12px;
187      --btn-text-size: 0.92em;
188
189      
190      --btn-border-radius: 5px;
191      
192
193      --btn-lg-border-radius: 50%;
194      --btn-icon-border-radius: 50%;
195      --input-with-btn-inner-radius: var(--btn-border-radius);
196
197      --input-bg-color: 255 255 255 / 1.0;
198      --input-text-color: 100 100 100;
199      --input-border-width: 2px;
200      --input-border-radius: 3px;
201      --textarea-border-radius: 3px;
202      --input-border-radius: 5px;
203      --input-bg-color-diff-3: #f7f7f7;
204      --input-bg-color-diff-6: #f0f0f0;
205
206      --modal-border-radius: 8px;
207      --modal-overlay-color: 0 0 0;
208      --modal-overlay-opacity: 0.4;
209      --drawer-border-radius: 8px;
210      --overlay-border-radius: 8px;--sale-label-bg-color: 251 54 64;
211      --sale-label-text-color: 255 255 255;--preorder-label-bg-color: 0 166 237;
212      --preorder-label-text-color: 255 255 255;
213
214      --page-width: 1260px;
215      --gutter-sm: 20px;
216      --gutter-md: 48px;
217      --gutter-lg: 64px;
218
219      --payment-terms-bg-color: #ffffff;
220
221      --coll-card-bg-color: #fcf9f1;
222      --coll-card-border-color: #fcf9f1;
223
224      --card-bg-color: 255 255 255;
225      --card-text-color: 48 48 48;
226      --card-border-color: #dadada;
227        
228          --aos-animate-duration: 0.7s;
229        
230
231        
232          --aos-min-width: 600;
233        
234      
235
236      --reading-width: 48em;
237        --cart-savings-color: 210 0 20
238      
239    }@media (max-width: 769px) {
240      :root {
241        --reading-width: 36em;
242      }
243    }
244  </style><link rel="stylesheet" href="//www.outdoorfabriccentral.com/cdn/shop/t/2/assets/main.css?v=105982328972476625381771377790">
245  
245<script src="//www.outdoorfabriccentral.com/cdn/shop/t/2/assets/main.js?v=94872541026663985831740079762" defer="defer"></script>
245<link rel="preload" href="//www.outdoorfabriccentral.com/cdn/fonts/poppins/poppins_n4.0ba78fa5af9b0e1a374041b3ceaadf0a43b41362.woff2" as="font" type="font/woff2" crossorigin fetchpriority="high"><link rel="preload" href="//www.outdoorfabriccentral.com/cdn/fonts/poppins/poppins_n4.0ba78fa5af9b0e1a374041b3ceaadf0a43b41362.woff2" as="font" type="font/woff2" crossorigin fetchpriority="high">
246
247<script>window.performance && window.performance.mark && window.performance.mark('shopify.content_for_header.start');</script>
247<meta name="google-site-verification" content="Y5XfyPTh4ektG60g3uAMp4sfezOqS9wYsw76_FFtZww">
248<meta id="shopify-digital-wallet" name="shopify-digital-wallet" content="/89613271404/digital_wallets/dialog">
249<meta id="in-context-paypal-metadata" data-shop-id="89613271404" data-venmo-supported="false" data-environment="production" data-locale="en_US" data-paypal-v4="true" data-currency="USD">
250<link rel="ucp" href="/.well-known/ucp" version="2026-08-25">
250<script async="async" src="/checkouts/internal/preloads.js?locale=en-US&default_configuration_id=5214011756"></script>
250
251<link rel="preconnect" href="https://shop.app" crossorigin="anonymous">
252<script async="async" src="https://shop.app/checkouts/internal/preloads.js?locale=en-US&default_configuration_id=5214011756&shop_id=89613271404" crossorigin="anonymous"></script>
vendor: 1 bytes, line 252
252
253<script id="apple-pay-shop-capabilities" type="application/json">{"shopId":89613271404,"countryCode":"US","currencyCode":"USD","merchantCapabilities":["supports3DS"],"merchantId":"gid:\/\/shopify\/Shop\/89613271404","merchantName":"Outdoor Fabric Central","requiredBillingContactFields":["postalAddress","email","phone"],"requiredShippingContactFields":["postalAddress","email","phone"],"shippingType":"shipping","supportedNetworks":["visa","masterCard","amex","discover","elo","jcb"],"total":{"type":"pending","label":"Outdoor Fabric Central","amount":"1.00"},"shopifyPaymentsEnabled":true,"supportsSubscriptions":true}</script>
vendor: 1 bytes, line 253
253
254<script id="shopify-features" type="application/json">{"accessToken":"d9c23ecffab47eeca36b2c53c82baf30","betas":["rich-media-storefront-analytics"],"domain":"www.outdoorfabriccentral.com","predictiveSearch":true,"shopId":89613271404,"locale":"en"}</script>
vendor: 1 bytes, line 254
254
255<script>var Shopify = Shopify || {};
256Shopify.shop = "outdoorfabriccentral.myshopify.com";
257Shopify.locale = "en";
258Shopify.currency = {"active":"USD","rate":"1.0"};
259Shopify.country = "US";
260Shopify.theme = {"name":"ofc-shopify\/main","id":173800259948,"schema_name":"Canopy","schema_version":"6.3.2","theme_store_id":null,"role":"main"};
261Shopify.theme.handle = "null";
262Shopify.theme.style = {"id":null,"handle":null};
263Shopify.cdnHost = "www.outdoorfabriccentral.com/cdn";
264Shopify.routes = Shopify.routes || {};
265Shopify.routes.root = "/";
266Shopify.shopJsCdnBaseUrl = "https://cdn.shopify.com/shopifycloud/shop-js";
267Shopify.SignInWithShop = Shopify.SignInWithShop || {};
268Shopify.SignInWithShop.User = Shopify.SignInWithShop.User || {};
269Shopify.SignInWithShop.User.recognized = false;</script>
vendor: 1 bytes, line 269
269
270<script type="module">!function(o){(o.Shopify=o.Shopify||{}).modules=!0}(window);</script>
vendor: 1 bytes, line 270
270
271<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 271
271
272<script>
273  window.ShopifyPay = window.ShopifyPay || {};
274  window.ShopifyPay.apiHost = "shop.app\/pay";
275  window.ShopifyPay.redirectState = null;
276</script>
vendor: 1 bytes, line 276
276
277<script>
278  window.Shopify = window.Shopify || {};
279  window.Shopify.SignInWithShop = window.Shopify.SignInWithShop || {};
280  window.Shopify.SignInWithShop.assetMetrics = { sampleRate: 0.25 };
281  window.Shopify.SignInWithShop.eligible = true;
282</script>
vendor: 1 bytes, line 282
282
283<script id="shop-js-analytics" type="application/json">{"pageType":"cart"}</script>
vendor: 1 bytes, line 283
283
284<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 284
284
285<script type="module">
286  await import("https://cdn.shopify.com/shopifycloud/shop-js/modules/v2/loader.init-shop-cart-sync.en.esm.js");
287
288  window.Shopify.SignInWithShop?.initShopCartSync?.({"fedCMEnabled":true,"windoidEnabled":true});
289
290</script>
vendor: 1 bytes, line 290
290
291<script>
292  window.Shopify = window.Shopify || {};
293  if (!window.Shopify.featureAssets) window.Shopify.featureAssets = {};
294  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"]};
295</script>
vendor: 1 bytes, line 295
295
296<script>(function() {
297  var isLoaded = false;
298  function asyncLoad() {
299    if (isLoaded) return;
300    isLoaded = true;
301    var urls = ["https:\/\/node1.itoris.com\/dpo\/storefront\/include.js?shop=outdoorfabriccentral.myshopify.com","https:\/\/custompricing.axtrics.com\/minified_js.js?shop=outdoorfabriccentral.myshopify.com"];
302    for (var i = 0; i < urls.length; i++) {
303      var s = document.createElement('script');
304      s.type = 'text/javascript';
305      s.async = true;
306      s.src = urls[i];
307      var x = document.getElementsByTagName('script')[0];
308      x.parentNode.insertBefore(s, x);
309    }
310  };
311  if(window.attachEvent) {
312    window.attachEvent('onload', asyncLoad);
313  } else {
314    window.addEventListener('load', asyncLoad, false);
315  }
316})();</script>
vendor: 1 bytes, line 316
316
317<script id="__st">var __st={"a":89613271404,"offset":-14400,"reqid":"e394f9cb-ad37-4939-aaf9-e2082b88597c-1790578712","pageurl":"www.outdoorfabriccentral.com\/cart","u":"55047bfe98b3","p":"cart"};</script>
vendor: 1 bytes, line 317
317
318<script>window.ShopifyPaypalV4VisibilityTracking = true;</script>
vendor: 1 bytes, line 318
318
319<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 319
319
320<script integrity="sha256-JjoPp5ZfB1sSAs5SQaol1x1GgvveM+BgmRzyDexInEQ=" data-source-attribution="shopify.loadfeatures" defer="defer" src="//www.outdoorfabriccentral.com/cdn/shopifycloud/storefront/assets/storefront/load_feature-1bd60354.js" crossorigin="anonymous"></script>
vendor: 1 bytes, line 320
320
321<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.outdoorfabriccentral.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>
321<script crossorigin="anonymous" defer="defer" src="//www.outdoorfabriccentral.com/cdn/shopifycloud/storefront/assets/shopify_pay/storefront-616277c7.js?v=20250812"></script>
vendor: 1 bytes, line 321
321
322<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 322
322
323<script>
324  window.Shopify = window.Shopify || {};
325  window.Shopify.MCP = window.Shopify.MCP || {};
326  window.Shopify.MCP.enabled = true;
327  window.Shopify.MCP.shop = "outdoorfabriccentral.myshopify.com";
328  window.Shopify.MCP.mcpEndpoint = "https:\/\/www.outdoorfabriccentral.com\/api\/mcp";
329  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"]}}];
330</script>
vendor: 1 bytes, line 330
330
331<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.outdoorfabriccentral.com\/cdn\/shopifycloud\/storefront\/assets\/storefront\/webmcp-c6b62ece.js","sha256-ke4DDuBjdvea3vxLWxHc9E9nq8zihuG4IfYEGbb77ys=");})();
332</script>
vendor: 1 bytes, line 332
332
333<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.outdoorfabriccentral.com/cdn/shopifycloud/portable-wallets/latest/portable-wallets.en.js",t.type="module",document.head.appendChild(t)}};
334</script>
vendor: 1 bytes, line 334
334
335<script data-source-attribution="shopify.dynamic_checkout.buyer_consent">
336  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);
337</script>
vendor: 1 bytes, line 337
337
338<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})}}));
339</script>
339
340<link id="shopify-accelerated-checkout-styles" rel="stylesheet" media="screen" href="https://www.outdoorfabriccentral.com/cdn/shopifycloud/portable-wallets/latest/accelerated-checkout-backwards-compat.css" crossorigin="anonymous">
341<style id="shopify-accelerated-checkout-cart">
342        #shopify-buyer-consent {
343  margin-top: 1em;
344  display: inline-block;
345  width: 100%;
346}
347
348#shopify-buyer-consent.hidden {
349  display: none;
350}
351
352#shopify-subscription-policy-button {
353  background: none;
354  border: none;
355  padding: 0;
356  text-decoration: underline;
357  font-size: inherit;
358  cursor: pointer;
359}
360
361#shopify-subscription-policy-button::before {
362  box-shadow: none;
363}
364
365      </style>
366<script id="sections-script" data-sections="header,footer" defer="defer" src="//www.outdoorfabriccentral.com/cdn/shop/t/2/compiled_assets/scripts.js?v=132263383497981015851736781228"></script>
vendor: 1 bytes, line 366
366
367<script id="shopify-cfh-end">window.performance && window.performance.mark && window.performance.mark('shopify.content_for_header.end');</script>
367
368
369    
369<script src="//www.outdoorfabriccentral.com/cdn/shop/t/2/assets/animate-on-scroll.js?v=15249566486942820451736781214" defer="defer"></script>
369
370    <link rel="stylesheet" href="//www.outdoorfabriccentral.com/cdn/shop/t/2/assets/animate-on-scroll.css?v=62865576715456057531736781213">
371  
372
373  
373<script>document.documentElement.className = document.documentElement.className.replace('no-js', 'js');</script>
373<!-- CC Custom Head Start --><!-- CC Custom Head End --><!-- Google Tag Manager -->
374  
374<script>
vendor: 335 bytes, lines 374-378
374(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
375  new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
376  j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
377  'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
378  })(window,document,'script','dataLayer','
378GTM-T4ZHZWT7
vendor: 3 bytes, line 378
378');
378</script>
378
379<!-- End Google Tag Manager -->
380
381<!-- MS Clarity -->
382<script type="text/javascript">
383    (function(c,l,a,r,i,t,y){
384        c[a]=c[a]||function(){(c[a].q=c[a].q||[]).push(arguments)};
385        t=l.createElement(r);t.async=1;t.src="https://www.clarity.ms/tag/"+i;
386        y=l.getElementsByTagName(r)[0];y.parentNode.insertBefore(t,y);
387    })(window, document, "clarity", "script", "w4ej0qcrb3");
388</script>
388
389<!-- MS Clarity -->
390
391
392  
393  
394   
395
396  <link href="//www.outdoorfabriccentral.com/cdn/shop/t/2/assets/theme-base-global-custom.css?v=137948803848000462121790270880" rel="stylesheet" type="text/css" media="all" />    
397  <link href="//www.outdoorfabriccentral.com/cdn/shop/t/2/assets/theme-base-custom-ofc.css?v=98035074144871939511782742059" rel="stylesheet" type="text/css" media="all" />
398  
399   
400  <link href="//www.outdoorfabriccentral.com/cdn/shop/t/2/assets/theme-global-content-styles.css?v=88782012083199851661787764090" rel="stylesheet" type="text/css" media="all" /> 
401  
402
403  
404<!-- BEGIN app block: shopify://apps/intelligems-a-b-testing/blocks/intelligems-script/fa83b64c-0c77-4c0c-b4b2-b94b42f5ef19 -->
404<script>
405  window._template = {
406    directory: "",
407    name: "cart",
408    suffix: ""
409  };
410  window.__productIdFromTemplate = null;
411  window.__plpCollectionIdFromTemplate = null;
412  window.igProductData = (function() {
413    const data = {};return data;
414  })();
415</script>
415
416
417<script type="module" blocking="render" fetchpriority="high" src="https://cdn.intelligems.io/esm/ea0fc3317f8a/bundle.js" data-em-disable async></script>
417
418
419
420<!-- END app block --><!-- BEGIN app block: shopify://apps/minmaxify-order-limits/blocks/app-embed-block/3acfba32-89f3-4377-ae20-cbb9abc48475 -->
420<script>minMaxifyContext={cartItemExtras: []}</script>
420 
420<script src="https://limits.minmaxify.com/limitsv2/outdoorfabriccentral.myshopify.com?v=149&r=20260515191508" defer></script>
420
421
422<!-- END app block --><!-- BEGIN app block: shopify://apps/helpdesk-mx/blocks/chat/01999a20-9bb3-7676-91bb-93eb6727f8a4 -->
423<!-- END app block --><!-- BEGIN app block: shopify://apps/klaviyo-email-marketing-sms/blocks/klaviyo-onsite-embed/2632fe16-c075-4321-a88b-50b567f42507 -->
424
425
426
427
428
429
430
431
432
433
434
435
436  
436<script async src="https://static.klaviyo.com/onsite/js/SVdqpr/klaviyo.js?company_id=SVdqpr"></script>
436
437  
437<script>!function(){if(!window.klaviyo){window._klOnsite=window._klOnsite||[];try{window.klaviyo=new Proxy({},{get:function(n,i){return"push"===i?function(){var n;(n=window._klOnsite).push.apply(n,arguments)}:function(){for(var n=arguments.length,o=new Array(n),w=0;w<n;w++)o[w]=arguments[w];var t="function"==typeof o[o.length-1]?o.pop():void 0,e=new Promise((function(n){window._klOnsite.push([i].concat(o,[function(i){t&&t(i),n(i)}]))}));return e}}})}catch(n){window.klaviyo=window.klaviyo||[],window.klaviyo.push=function(){var n;(n=window._klOnsite).push.apply(n,arguments)}}}}();</script>
437
438
439  
440
441
442
443
444  
444<script>
445    window.klaviyoReviewsProductDesignMode = false
446  </script>
446
447
448
449
450
451
452
453
454
455
456<!-- END app block --><!-- BEGIN app block: shopify://apps/conversios-microsoft-app/blocks/app-embed/c7cca4d4-c843-4827-abb8-322a3ff417f4 -->
456<script defer> 
457window.dataLayer = window.dataLayer || [];
458
459
460
461  if(!window.jQuery){
462    var jqueryScript = document.createElement('script');
463    jqueryScript.setAttribute('src','https://ajax.googleapis.com/ajax/libs/jquery/3.6.0/jquery.min.js');
464    document.head.appendChild(jqueryScript);
465  }
466
467dataLayer.push({   'event':'begin_datalayer',
468 'cov_microsoft_uetq_id':'4063156' , 
469 'cov_msclarity_pixel_id':'w4ej0qcrb3' , 
470
471'cov_ms_ads_conversions' : {
472  
473    "AddToCart" : '1',
474  
475  
476    "BeginCheckout": '1',
477  
478  
479    "Purchase": '1',
480   
481},
482
483  
484 
485
486});
vendor: 347 bytes, lines 486-492
486
487
488  (function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
489    new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
490    j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
491    'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
492    })(window,document,'script','dataLayer','
492GTM-TCRQTPGW
vendor: 4 bytes, line 492
492');
493console.log(" Conversios Microsoft App: 1 May 2025");
494
495</script>
495
496
497
498<!-- END app block --><!-- BEGIN app block: shopify://apps/zigpoll-customer-surveys/blocks/zigpoll-embed/019a552e-a887-7983-9977-f95313668ab3 --><!-- BEGIN app snippet: zigpoll-embed -->
498<script type="text/javascript" async src="https://cdn.zigpoll.com/zigpoll-shopify-embed.js?shop=outdoorfabriccentral.myshopify.com"></script>
498
499<!-- END app snippet -->
500
501
502<!-- END app block --><!-- BEGIN app block: shopify://apps/tinyseo-seo-speed/blocks/breadcrumbs-json-ld-embed/0605268f-f7c4-4e95-b560-e43df7d59ae4 -->
502<script type="application/ld+json" id="tinyimg-breadcrumbs-json-ld">
503      {
504        "@context": "https://schema.org",
505        "@type": "BreadcrumbList",
506        "itemListElement": [
507          {
508            "@type": "ListItem",
509            "position": 1,
510            "item": {
511              "@id": "https://www.outdoorfabriccentral.com",
512          "name": "Home"
513        }
514      }
515      
516      ]
517    }
518  </script>
518
519<!-- END app block -->
519<script src="https://cdn.shopify.com/extensions/01a0e6c2-2403-7b1f-81f6-6600f564cc7f/customer-group-pricing-1394/assets/default.js" type="text/javascript" defer="defer"></script>
519
520<link href="https://cdn.shopify.com/extensions/01a0e6c2-2403-7b1f-81f6-6600f564cc7f/customer-group-pricing-1394/assets/product-discount-price.css" rel="stylesheet" type="text/css" media="all">
521<script src="https://cdn.shopify.com/extensions/01a01585-061e-7d53-9c3f-7255412dfeaf/helpdesk-mx-15/assets/helpdesk-mx-chat.js" type="text/javascript" defer="defer"></script>
521
522<link href="https://monorail-edge.shopifysvc.com" rel="dns-prefetch">
523<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: 89613271404,url: window.location.href,navigation_start,duration: currentMs - navigation_start,session_token,page_type: "cart"};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 523
523
524<script>
525  window.__TREKKIE_SHIM_QUEUE = window.__TREKKIE_SHIM_QUEUE || [];
526</script>
vendor: 1 bytes, line 526
526
527<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}
527).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: 89613271404,storefrontBaseUrl: "https://www.outdoorfabriccentral.com",extensionsBaseUrl: "https://extensions.shopifycdn.com/cdn/shopifycloud/web-pixels-manager",monorailEndpoint: "https://www.outdoorfabriccentral.com/.well-known/shopify/monorail/unstable/produce_batch",surface: "storefront-renderer",enabledBetaFlags: ["16072cab","8450a54b","7ee89bf1"],webPixelsConfigList: [{"id":"2680422764","configuration":"{}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"861bc5270812e6cf52b3b7de2153b9de","type":"APP","apiClientId":356527079425,"privacyPurposes":[],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_address","read_customer_email","read_customer_name","read_customer_personal_data","read_customer_phone"],"dataSharingControls":["share_all_events"]}
527,"dataSharingState":"unrestricted"},{"id":"2277212524","configuration":"{\"shopId\":\"outdoorfabriccentral.myshopify.com\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"31536d5a2ef62c1887054e49fd58dba0","type":"APP","apiClientId":4845829,"privacyPurposes":["ANALYTICS"],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_address","read_customer_email","read_customer_name","read_customer_personal_data","read_customer_phone"],"dataSharingControls":["share_all_events"]},"dataSharingState":"unrestricted"},{"id":"2161017196","configuration":"{\"config\":\"{\\\"google_tag_ids\\\":[\\\"G-J0L6LFW3Z7\\\",\\\"GT-55JZCZ8T\\\"],\\\"target_country\\\":\\\"ZZ\\\",\\\"gtag_events\\\":[{\\\"type\\\":\\\"begin_checkout\\\",\\\"action_label\\\":[\\\"G-J0L6LFW3Z7\\\",\\\"AW-1030846160\\\/I95SCN7qpJIcENDtxesD\\\"]},{\\\"type\\\":\\\"search\\\",\\\"action_label\\\":[\\\"G-J0L6LFW3Z7\\\",\\\"AW-1030846160\\\/4hT-COrqpJIcENDtxesD\\\"]},{\\\"type\\\":\\\"remove_from_cart\\\",\\\"action_label\\\":\\\"G-J0L6LFW3Z7\\\"},{\\\"type\\\":\\\"view_item\\\",\\\"action_label\\\":[\\\"G-J0L6LFW3Z7\\\",\\\"AW-1030846160\\\/ySL8COfqpJIcENDtxesD\\\",\\\"MC-WP8Z6PT2QV\\\"]},{\\\"type\\\":\\\"add_shipping_info\\\",\\\"action_label\\\":\\\"G-J0L6LFW3Z7\\\"},{\\\"type\\\":\\\"purchase\\\",\\\"action_label\\\":[\\\"G-J0L6LFW3Z7\\\",\\\"AW-1030846160\\\/vuUICNvqpJIcENDtxesD\\\",\\\"MC-WP8Z6PT2QV\\\"]},{\\\"type\\\":\\\"page_view\\\",\\\"action_label\\\":[\\\"G-J0L6LFW3Z7\\\",\\\"AW-1030846160\\\/GjCkCOTqpJIcENDtxesD\\\",\\\"MC-WP8Z6PT2QV\\\"]},{\\\"type\\\":\\\"view_item_list\\\",\\\"action_label\\\":\\\"G-J0L6LFW3Z7\\\"},{\\\"type\\\":\\\"add_payment_info\\\",\\\"action_label\\\":[\\\"G-J0L6LFW3Z7\\\",\\\"AW-1030846160\\\/3yiXCN3spJIcENDtxesD\\\"]},{\\\"type\\\":\\\"add_to_cart\\\",\\\"action_label\\\":[\\\"G-J0L6LFW3Z7\\\",\\\"AW-1030846160\\\/S9tFCOHqpJIcENDtxesD\\\"]},{\\\"type\\\":\\\"view_cart\\\",\\\"action_label\\\":\\\"G-J0L6LFW3Z7\\\"}],\\\"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":"1526366572","configuration":"{\"accountID\":\"SVdqpr\",\"webPixelConfig\":\"eyJlbmFibGVBZGRlZFRvQ2FydEV2ZW50cyI6IHRydWV9\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"c63c5b72c8d77be5f2d27d14c081da38","type":"APP","apiClientId":123074,"privacyPurposes":["ANALYTICS","MARKETING"],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_address","read_customer_email","read_customer_name","read_customer_personal_data","read_customer_phone"],"dataSharingControls":["share_all_events"]},"dataSharingState":"optimized","enabledFlags":["9a3ed68a"]},{"id":"152469868","eventPayloadVersion":"1","runtimeContext":"LAX","scriptVersion":"28","type":"CUSTOM","privacyPurposes":[],"name":"Matomo"},{"id":"178651500","eventPayloadVersion":"1","runtimeContext":"LAX","scriptVersion":"5","type":"CUSTOM","privacyPurposes":[],"name":"OFC GTM"},{"id":"184877420","eventPayloadVersion":"1","runtimeContext":"LAX","scriptVersion":"7","type":"CUSTOM","privacyPurposes":[],"name":"Conversios Microsoft app"},{"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":"Outdoor Fabric Central","paymentSettings":{"currencyCode":"USD"},"myshopifyDomain":"outdoorfabriccentral.myshopify.com","countryCode":"US","storefrontUrl":"https:\/\/www.outdoorfabriccentral.com"},"customer":null,"cart":null,"checkout":null,"productVariants":[],"products":[],"purchasingCompany":null},},"https://www.outdoorfabriccentral.com/cdn","c8540278we853e1abpb62b2c4amde256306",{"modern":"","legacy":""},{"trekkieShim":true,"agentContext":true,"apiClientId":"580111","facebookCapiEnabled":"false","themeId":"173800259948","themePublished":"true","eventMetadataId":"751744f4-18a4-48ef-90bf-a174e26f5027","pageType":"cart","shopId":"89613271404","storefrontBaseUrl":"https:\/\/www.outdoorfabriccentral.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\",{}]]"});})();</script>
527<script>
528  window.ShopifyAnalytics = window.ShopifyAnalytics || {};
529  window.ShopifyAnalytics.meta = window.ShopifyAnalytics.meta || {};
530  window.ShopifyAnalytics.meta.currency = 'USD';
531  var meta = {"page":{"pageType":"cart","requestId":"e394f9cb-ad37-4939-aaf9-e2082b88597c-1790578712"}};
532  for (var attr in meta) {
533    window.ShopifyAnalytics.meta[attr] = meta[attr];
534  }
535</script>
vendor: 1 bytes, line 535
535
536<script class="analytics">
537  (function () {
538    var customDocumentWrite = function(content) {
539      var jquery = null;
540
541      if (window.jQuery) {
542        jquery = window.jQuery;
543      } else if (window.Checkout && window.Checkout.$) {
544        jquery = window.Checkout.$;
545      }
546
547      if (jquery) {
548        jquery('body').append(content);
549      }
550    };
551
552    var hasLoggedConversion = function(token) {
553      if (token) {
554        return document.cookie.indexOf('loggedConversion=' + token) !== -1;
555      }
556      return false;
557    }
558
559    var setCookieIfConversion = function(token) {
560      if (token) {
561        var twoMonthsFromNow = new Date(Date.now());
562        twoMonthsFromNow.setMonth(twoMonthsFromNow.getMonth() + 2);
563
564        document.cookie = 'loggedConversion=' + token + '; expires=' + twoMonthsFromNow;
565      }
566    }
567
568    var trekkie = window.ShopifyAnalytics.lib = window.trekkie = window.trekkie || [];
569    window.ShopifyAnalytics.lib.trekkie = window.trekkie;
570    if (trekkie.integrations) {
571      return;
572    }
573    trekkie.methods = [
574      'identify',
575      'page',
576      'ready',
577      'track',
578      'trackForm',
579      'trackLink'
580    ];
581    trekkie.factory = function(method) {
582      return function() {
583        var args = Array.prototype.slice.call(arguments);
584        args.unshift(method);
585        trekkie.push(args);
586        if (method == 'track' || method == 'page') {
587          var pageUrl;
588          try {
589            pageUrl = window.location.href;
590          } catch (e) {}
591          var pageReferrer;
592          try {
593            pageReferrer = document.referrer;
594          } catch (e) {}
595          try {
596            if (window.__TREKKIE_SHIM_QUEUE == null) {
597              window.__TREKKIE_SHIM_QUEUE = [];
598            }
599            window.__TREKKIE_SHIM_QUEUE.push({
600              from: 'trekkie-stub',
601              method: method,
602              args: args.slice(1),
603              pageContext: {
604                url: pageUrl,
605                referrer: pageReferrer
606              }
607            });
608          } catch (e) {
609            // no-op
610          }
611        }
612        return trekkie;
613      };
614    };
615    for (var i = 0; i < trekkie.methods.length; i++) {
616      var key = trekkie.methods[i];
617      trekkie[key] = trekkie.factory(key);
618    }
619    trekkie.load = function(config) {
620      trekkie.config = config || {};
621      trekkie.config.initialDocumentCookie = document.cookie;
622      var first = document.getElementsByTagName('script')[0];
623var script = document.createElement('script');
624script.type = 'text/javascript';
625script.onerror = function(e) {
626  var scriptFallback = document.createElement('script');
627  scriptFallback.type = 'text/javascript';
628  scriptFallback.onerror = function(error) {
629          var Monorail = {
630      produce: function produce(monorailDomain, schemaId, payload) {
631        var currentMs = new Date().getTime();
632        var event = {
633          schema_id: schemaId,
634          payload: payload,
635          metadata: {
636            event_created_at_ms: currentMs,
637            event_sent_at_ms: currentMs
638          }
639        };
640        return Monorail.sendRequest("https://" + monorailDomain + "/v1/produce", JSON.stringify(event));
641      },
642      sendRequest: function sendRequest(endpointUrl, payload) {
643        // Try the sendBeacon API
644        if (window && window.navigator && typeof window.navigator.sendBeacon === 'function' && typeof window.Blob === 'function' && !Monorail.isIos12()) {
645          var blobData = new window.Blob([payload], {
646            type: 'text/plain'
647          });
648
649          if (window.navigator.sendBeacon(endpointUrl, blobData)) {
650            return true;
651          } // sendBeacon was not successful
652
653        } // XHR beacon
654
655        var xhr = new XMLHttpRequest();
656
657        try {
658          xhr.open('POST', endpointUrl);
659          xhr.setRequestHeader('Content-Type', 'text/plain');
660          xhr.send(payload);
661        } catch (e) {
662          console.log(e);
663        }
664
665        return false;
666      },
667      isIos12: function isIos12() {
668        return window.navigator.userAgent.lastIndexOf('iPhone; CPU iPhone OS 12_') !== -1 || window.navigator.userAgent.lastIndexOf('iPad; CPU OS 12_') !== -1;
669      }
670    };
671    Monorail.produce('monorail-edge.shopifysvc.com',
672      'trekkie_storefront_load_errors/1.1',
673      {shop_id: 89613271404,
674      theme_id: 173800259948,
675      app_name: "storefront",
676      context_url: window.location.href,
677      source_url: "//www.outdoorfabriccentral.com/cdn/s/trekkie.storefront.f1ba865b3fecd812ad617f74ac079261075e9edb.min.js"});
678
679  };
680  scriptFallback.async = true;
681  scriptFallback.src = '//www.outdoorfabriccentral.com/cdn/s/trekkie.storefront.f1ba865b3fecd812ad617f74ac079261075e9edb.min.js';
682  first.parentNode.insertBefore(scriptFallback, first);
683};
684script.async = true;
685script.src = '//www.outdoorfabriccentral.com/cdn/s/trekkie.storefront.f1ba865b3fecd812ad617f74ac079261075e9edb.min.js';
686first.parentNode.insertBefore(script, first);
687
688    };
689    trekkie.load(
690      {"Trekkie":{"appName":"storefront","development":false,"defaultAttributes":{"shopId":89613271404,"isMerchantRequest":null,"themeId":173800259948,"themeCityHash":"11058955627969784257","contentLanguage":"en","currency":"USD","eventMetadataId":"751744f4-18a4-48ef-90bf-a174e26f5027"},"isServerSideCookieWritingEnabled":true,"monorailRegion":"shop_domain","enabledBetaFlags":["764d78cb","8450a54b","7ee89bf1"]},"Session Attribution":{},"S2S":{"facebookCapiEnabled":false,"source":"trekkie-storefront-renderer","apiClientId":580111}}
691    );
692
693    var loaded = false;
694    trekkie.ready(function() {
695      if (loaded) return;
696      loaded = true;
697
698      window.ShopifyAnalytics.lib = window.trekkie;
699
700      var originalDocumentWrite = document.write;
701      document.write = customDocumentWrite;
702      try { window.ShopifyAnalytics.merchantGoogleAnalytics.call(this); } catch(error) {};
703      document.write = originalDocumentWrite;
704
705      var match = window.location.pathname.match(/checkouts\/(.+)\/(thank_you|post_purchase)/)
706      var token = match? match[1]: undefined;
707      if (!hasLoggedConversion(token)) {
708        setCookieIfConversion(token);
709        
710      }
711    });
712
713    window.ShopifyAnalytics.lib.page(null,{"pageType":"cart","requestId":"e394f9cb-ad37-4939-aaf9-e2082b88597c-1790578712","shopifyEmitted":true});
714
715    var eventsListenerScript = document.createElement('script');
716    eventsListenerScript.async = true;
717    eventsListenerScript.src = "//www.outdoorfabriccentral.com/cdn/shopifycloud/storefront/assets/shop_events_listener-4e26a9ce.js";
718    document.getElementsByTagName('head')[0].appendChild(eventsListenerScript);
719})();</script>
vendor: 1 bytes, line 719
719
720<script
721  defer
722  src="https://www.outdoorfabriccentral.com/cdn/shopifycloud/perf-kit/shopify-perf-kit-3.9.4.min.js"
723  data-application="storefront-renderer"
724  data-shop-id="89613271404"
725  data-render-region="gcp-us-central1"
726  data-page-type="cart"
727  data-theme-instance-id="173800259948"
728  data-theme-name="Canopy"
729  data-theme-version="6.3.2"
730  data-monorail-region="shop_domain"
731  data-resource-timing-sampling-rate="10"
732  data-shs="true"
733  data-shs-beacon="true"
734  data-shs-export-with-fetch="true"
735  data-shs-logs-sample-rate="1"
736  data-shs-beacon-endpoint="https://www.outdoorfabriccentral.com/api/collect"
737></script>
737
738<meta name="shopify-y" content="a6478138-df62-449a-8279-eea81d6ce21d" data-expiration="1822136312000"><meta name="shopify-s" content="51b49d72-7045-42ed-90a5-c9f561e8d4df" data-expiration="1790580512000"><meta name="new-cookie-storage-activated" content="t">
739</head>
740
741
742<body class="cc-animate-enabled has-empty-cart">
743  <!-- Google Tag Manager (noscript) -->
vendor: 72 bytes, lines 743-744
743
744    <noscript><iframe src="https://www.googletagmanager.com/ns.html?id=
744GTM-T4ZHZWT7
vendor: 89 bytes, lines 744-746
744"
745    height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>
746  
746<!-- End Google Tag Manager (noscript) -->
747  <a class="skip-link btn btn--primary visually-hidden" href="#main-content" data-cc-role="skip">Skip to content</a>
748
749  
750  
751<!-- BEGIN sections: header-group -->
752<section id="shopify-section-sections--24043609358700__custom_liquid_JnCwFV" class="shopify-section shopify-section-group-header-group cc-custom-liquid"><div class="section relative section--full-width section--padded-default" data-cc-animate><div class="container">
753<div id="top-panel-header" class="top-header-panel">
754    <div class="top-header-panel-left">
755      <div class="phone-number phone-number-only-home"><span><a href="tel:1.7275974134" rel="nofollow">727.597.4134</a></span></div>
756      <ul class="social-links">
757        <li><a class="pinterest" href="https://www.pinterest.com/outdoorfabriccn/" rel="nofollow noopener noreferrer" target="_blank" ><i class="fa fa-pinterest" title="Follow us on Pinterest"></i></a></li>
758        <li><a class="facebook" href="https://www.facebook.com/outdoorfabric" rel="nofollow noopener noreferrer" target="_blank" title="Follow us on Facebook"><i class="fa fa-facebook"></i></a></li>
759        <li><a class="youtube" href="https://www.youtube.com/channel/UCh26Gxi-iZQnKRU8YxnGfRg" rel="nofollow noopener noreferrer" target="_blank" title="Follow us on YouTube"><i class="fa fa-youtube"></i></a></li>
760        
761      </ul>
762      <a href="/policies/shipping-policy" rel="nofollow" title="Free Shipping Policy" class="free-shipping-text">Free Shipping Over $150 *</a>
763    </div>
764  <div class="top-header-panel-right">
765      <div id="header-phone-top" class="header-phone-top">
766          <div class="phone-number"><span><a href="tel:1.7275974134">727.597.4134</a></span></div>
767      </div>
768      <div class="top-header-panel-links-info jonny-selectlist sortlist">
769          <span>Company Info </span>
770          
771          
772      </div>
773      <ul class="top-header-panel-links-auth">
774        
775        <li class="link authorization-link"><a href="https://account.patiolane.com/" rel="nofollow noopener">Account</a></li>
776            
777            <li class="link authorization-link"><a href="https://www.outdoorfabriccentral.com/customer_authentication/redirect?locale=en&region_country=US" id="customer_login_link" rel="nofollow noopener">Login &amp; Register</a></li>
778            
779          
780</ul> 
781      
782    </div>
783</div></div></div>
784
785
786</section><div id="shopify-section-sections--24043609358700__announcement" class="shopify-section shopify-section-group-header-group cc-announcement">
787<link href="//www.outdoorfabriccentral.com/cdn/shop/t/2/assets/announcement.css?v=136620428896663381241736781213" rel="stylesheet" type="text/css" media="all" />
788    
788<script src="//www.outdoorfabriccentral.com/cdn/shop/t/2/assets/announcement.js?v=123267429028003703111736781212" defer="defer"></script>
788<style data-shopify>.announcement {
789        --announcement-text-color: 255 255 255;
790        background-color: #222222;
791      }</style><announcement-bar class="announcement block text-body-small" data-slide-delay="7000">
792      <div class="container">
793        <div class="flex">
794          <div class="announcement__col--left announcement__col--align-center announcement__slider" aria-roledescription="carousel" aria-live="off"><div class="announcement__text flex items-center m-0"  aria-roledescription="slide">
795                <div class="rte"><p><a href="/policies/shipping-policy" title="Shipping Policy">Free Shipping on orders over $150 *</a></p></div>
796              </div><div class="announcement__text flex items-center m-0"  aria-roledescription="slide">
797                <div class="rte"><p>Contact Us: <a href="/pages/contact" title="Contact">Click Here</a> or <a href="tel:7275974141" title="727-597-4141">727.597.4141</a></p></div>
798              </div></div>
799
800          </div>
801      </div>
802    </announcement-bar>
803</div><div id="shopify-section-sections--24043609358700__header" class="shopify-section shopify-section-group-header-group cc-header">
804<style data-shopify>.header {
805  --bg-color: 255 255 255 / 1.0;
806  --text-color: 34 34 34;
807  --mobile-menu-bg-color: 255 255 255 / 1.0;
808  --mobile-menu-text-color: 34 34 34;
809  --desktop-menu-bg-color: 255 255 255 / 1.0;
810  --desktop-menu-text-color: 34 34 34;
811  --nav-bg-color: 255 255 255;
812  --nav-text-color: 34 34 34;
813  --nav-child-bg-color:  255 255 255;
814  --nav-child-text-color: 34 34 34;
815  --header-accent-color: 175 175 175;
816  --search-bg-color: 255 255 255;
817  --search-text-color: 100 100 100;
818  
819  
820  }</style><store-header class="header bg-theme-bg text-theme-text has-motion search-is-collapsed"
821   data-is-sticky="true" data-hide-menu="false"
822   data-is-search-minimised="true"
823  style="--header-transition-speed: 300ms"><header class="header__grid header__grid--left-logo container flex flex-wrap items-center">
824    <div class="header__logo header__logo--top-left logo flex js-closes-menu"><a class="logo__link inline-block" href="/"><span class="flex" style="max-width: 150px;">
825              <picture><source media="(max-width: 768px)" srcset="//www.outdoorfabriccentral.com/cdn/shop/files/ofc-logo-small-no-tagline.png?v=1770134091&width=300" alt="Outdoor Fabric Central" loading="eager"><img src="//www.outdoorfabriccentral.com/cdn/shop/files/ofc-logo-small-no-tagline.png?v=1770134091&amp;width=300" alt="Outdoor Fabric Central" srcset="//www.outdoorfabriccentral.com/cdn/shop/files/ofc-logo-small-no-tagline.png?v=1770134091&amp;width=300 300w" width="300" height="91" loading="eager">
826              </picture>
827            </span></a></div>
828<link rel="stylesheet" href="//www.outdoorfabriccentral.com/cdn/shop/t/2/assets/predictive-search.css?v=48813712353353719891736781213">
829        
829<script src="//www.outdoorfabriccentral.com/cdn/shop/t/2/assets/predictive-search.js?v=158424367886238494141736781212" defer="defer"></script>
829
830        
830<script src="//www.outdoorfabriccentral.com/cdn/shop/t/2/assets/tabs.js?v=135558236254064818051736781213" defer="defer"></script>
830<div class="header__search header__search--collapsible-mob js-search-bar relative js-closes-menu" id="search-bar"><link rel="stylesheet" href="//www.outdoorfabriccentral.com/cdn/shop/t/2/assets/search-suggestions.css?v=50270288864590332791736781212" media="print" onload="this.media='all'"><link href="//www.outdoorfabriccentral.com/cdn/shop/t/2/assets/product-type-search.css?v=153328044068475290231736781213" rel="stylesheet" type="text/css" media="all" />
831<predictive-search class="block" data-loading-text="Loading..."><form class="search relative search--speech search--product-types" role="search" action="/search" method="get">
832    <label class="label visually-hidden" for="header-search">Search</label>
833    
833<script src="//www.outdoorfabriccentral.com/cdn/shop/t/2/assets/search-form.js?v=43677551656194261111736781213" defer="defer"></script>
833
834    <search-form class="search__form block">
835      <input type="hidden" name="options[prefix]" value="last">
836      <input type="search"
837             class="search__input w-full input js-search-input"
838             id="header-search"
839             name="q"
840             placeholder="Search for products"
841             
842               data-placeholder-one="Search for products"
843             
844             
845               data-placeholder-two="Search for sunbrella fabrics"
846             
847             
848               data-placeholder-three="Search for cushions &amp; pillows"
849             
850             data-placeholder-prompts-mob="true"
851             
852               data-typing-speed="100"
853               data-deleting-speed="60"
854               data-delay-after-deleting="500"
855               data-delay-before-first-delete="2000"
856               data-delay-after-word-typed="2400"
857             
858             role="combobox"
859               autocomplete="off"
860               aria-autocomplete="list"
861               aria-controls="predictive-search-results"
862               aria-owns="predictive-search-results"
863               aria-haspopup="listbox"
864               aria-expanded="false"
865               spellcheck="false">
866<custom-select id="product_types" class="search__product-types absolute left-0 top-0 bottom-0 js-search-product-types"><label class="label visually-hidden no-js-hidden" for="product_types-button">Product type</label><div class="custom-select relative w-full no-js-hidden"><button class="custom-select__btn input items-center" type="button"
867            aria-expanded="false" aria-haspopup="listbox" id="product_types-button">
868      <span class="text-start">All</span>
869      <svg width="20" height="20" viewBox="0 0 24 24" class="icon" role="presentation" focusable="false" aria-hidden="true">
870        <path d="M20 8.5 12.5 16 5 8.5" stroke="currentColor" stroke-width="1.5" fill="none"/>
871      </svg>
872    </button>
873    <ul class="custom-select__listbox absolute invisible" role="listbox" tabindex="-1"
874        aria-hidden="true" hidden><li class="custom-select__option js-option" id="product_types-opt-default" role="option" data-value="">
875          <span class="pointer-events-none">All</span>
876        </li><li class="custom-select__option flex items-center js-option" id="product_types-opt-0" role="option"
877            data-value="Binding"
878>
879          <span class="pointer-events-none">Binding</span>
880        </li><li class="custom-select__option flex items-center js-option" id="product_types-opt-1" role="option"
881            data-value="Braid"
882>
883          <span class="pointer-events-none">Braid</span>
884        </li><li class="custom-select__option flex items-center js-option" id="product_types-opt-2" role="option"
885            data-value="Button|Cap"
886>
887          <span class="pointer-events-none">Button|Cap</span>
888        </li><li class="custom-select__option flex items-center js-option" id="product_types-opt-3" role="option"
889            data-value="Cleaner|Protectant"
890>
891          <span class="pointer-events-none">Cleaner|Protectant</span>
892        </li><li class="custom-select__option flex items-center js-option" id="product_types-opt-4" role="option"
893            data-value="Clear Plastic"
894>
895          <span class="pointer-events-none">Clear Plastic</span>
896        </li><li class="custom-select__option flex items-center js-option" id="product_types-opt-5" role="option"
897            data-value="Clear Vinyl"
898>
899          <span class="pointer-events-none">Clear Vinyl</span>
900        </li><li class="custom-select__option flex items-center js-option" id="product_types-opt-6" role="option"
901            data-value="Cord"
902>
903          <span class="pointer-events-none">Cord</span>
904        </li><li class="custom-select__option flex items-center js-option" id="product_types-opt-7" role="option"
905            data-value="Custom Fabrication"
906>
907          <span class="pointer-events-none">Custom Fabrication</span>
908        </li><li class="custom-select__option flex items-center js-option" id="product_types-opt-8" role="option"
909            data-value="Die|Die Set"
910>
911          <span class="pointer-events-none">Die|Die Set</span>
912        </li><li class="custom-select__option flex items-center js-option" id="product_types-opt-9" role="option"
913            data-value="Eye End"
914>
915          <span class="pointer-events-none">Eye End</span>
916        </li><li class="custom-select__option flex items-center js-option" id="product_types-opt-10" role="option"
917            data-value="Facing"
918>
919          <span class="pointer-events-none">Facing</span>
920        </li><li class="custom-select__option flex items-center js-option" id="product_types-opt-11" role="option"
921            data-value="Foam Kit"
922>
923          <span class="pointer-events-none">Foam Kit</span>
924        </li><li class="custom-select__option flex items-center js-option" id="product_types-opt-12" role="option"
925            data-value="Gimp"
926>
927          <span class="pointer-events-none">Gimp</span>
928        </li><li class="custom-select__option flex items-center js-option" id="product_types-opt-13" role="option"
929            data-value="Grommet"
930>
931          <span class="pointer-events-none">Grommet</span>
932        </li><li class="custom-select__option flex items-center js-option" id="product_types-opt-14" role="option"
933            data-value="Hardware"
934>
935          <span class="pointer-events-none">Hardware</span>
936        </li><li class="custom-select__option flex items-center js-option" id="product_types-opt-15" role="option"
937            data-value="Hot Knife"
938>
939          <span class="pointer-events-none">Hot Knife</span>
940        </li><li class="custom-select__option flex items-center js-option" id="product_types-opt-16" role="option"
941            data-value="Post"
942>
943          <span class="pointer-events-none">Post</span>
944        </li><li class="custom-select__option flex items-center js-option" id="product_types-opt-17" role="option"
945            data-value="Press Tool"
946>
947          <span class="pointer-events-none">Press Tool</span>
948        </li><li class="custom-select__option flex items-center js-option" id="product_types-opt-18" role="option"
949            data-value="Punch"
950>
951          <span class="pointer-events-none">Punch</span>
952        </li><li class="custom-select__option flex items-center js-option" id="product_types-opt-19" role="option"
953            data-value="Sample"
954>
955          <span class="pointer-events-none">Sample</span>
956        </li><li class="custom-select__option flex items-center js-option" id="product_types-opt-20" role="option"
957            data-value="Sample Cards-Books"
958>
959          <span class="pointer-events-none">Sample Cards-Books</span>
960        </li><li class="custom-select__option flex items-center js-option" id="product_types-opt-21" role="option"
961            data-value="Sample Packs"
962>
963          <span class="pointer-events-none">Sample Packs</span>
964        </li><li class="custom-select__option flex items-center js-option" id="product_types-opt-22" role="option"
965            data-value="Shears"
966>
967          <span class="pointer-events-none">Shears</span>
968        </li><li class="custom-select__option flex items-center js-option" id="product_types-opt-23" role="option"
969            data-value="Socket"
970>
971          <span class="pointer-events-none">Socket</span>
972        </li><li class="custom-select__option flex items-center js-option" id="product_types-opt-24" role="option"
973            data-value="Stud"
974>
975          <span class="pointer-events-none">Stud</span>
976        </li><li class="custom-select__option flex items-center js-option" id="product_types-opt-25" role="option"
977            data-value="Supplies"
978>
979          <span class="pointer-events-none">Supplies</span>
980        </li><li class="custom-select__option flex items-center js-option" id="product_types-opt-26" role="option"
981            data-value="Tape"
982>
983          <span class="pointer-events-none">Tape</span>
984        </li><li class="custom-select__option flex items-center js-option" id="product_types-opt-27" role="option"
985            data-value="Thread|Bobbins"
986>
987          <span class="pointer-events-none">Thread|Bobbins</span>
988        </li><li class="custom-select__option flex items-center js-option" id="product_types-opt-28" role="option"
989            data-value="Tools"
990>
991          <span class="pointer-events-none">Tools</span>
992        </li><li class="custom-select__option flex items-center js-option" id="product_types-opt-29" role="option"
993            data-value="Tools-Dies"
994>
995          <span class="pointer-events-none">Tools-Dies</span>
996        </li><li class="custom-select__option flex items-center js-option" id="product_types-opt-30" role="option"
997            data-value="Welt"
998>
999          <span class="pointer-events-none">Welt</span>
1000        </li><li class="custom-select__option flex items-center js-option" id="product_types-opt-31" role="option"
1001            data-value="Yardage"
1002>
1003          <span class="pointer-events-none">Yardage</span>
1004        </li><li class="custom-select__option flex items-center js-option" id="product_types-opt-32" role="option"
1005            data-value="Zippers"
1006>
1007          <span class="pointer-events-none">Zippers</span>
1008        </li></ul>
1009  </div></custom-select>
1010        <input type="hidden" id="product_type_input" name="filter.p.product_type"/><button type="button" class="search__reset text-current vertical-center absolute focus-inset js-search-reset" hidden>
1011        <span class="visually-hidden">Reset</span>
1012        <svg width="24" height="24" viewBox="0 0 24 24" stroke="currentColor" stroke-width="1.5" fill="none" fill-rule="evenodd" stroke-linejoin="round" aria-hidden="true" focusable="false" role="presentation" class="icon"><path d="M5 19 19 5M5 5l14 14"/></svg>
1013      </button><speech-search-button class="search__speech focus-inset right-0 hidden" tabindex="0" title="Search by voice"
1014          style="--speech-icon-color: #e02c50">
1015          <svg width="24" height="24" viewBox="0 0 24 24" aria-hidden="true" focusable="false" role="presentation" class="icon"><path fill="currentColor" d="M17.3 11c0 3-2.54 5.1-5.3 5.1S6.7 14 6.7 11H5c0 3.41 2.72 6.23 6 6.72V21h2v-3.28c3.28-.49 6-3.31 6-6.72m-8.2-6.1c0-.66.54-1.2 1.2-1.2.66 0 1.2.54 1.2 1.2l-.01 6.2c0 .66-.53 1.2-1.19 1.2-.66 0-1.2-.54-1.2-1.2M12 14a3 3 0 0 0 3-3V5a3 3 0 0 0-3-3 3 3 0 0 0-3 3v6a3 3 0 0 0 3 3Z"/></svg>
1016        </speech-search-button>
1017
1018        <link href="//www.outdoorfabriccentral.com/cdn/shop/t/2/assets/speech-search.css?v=47207760375520952331736781214" rel="stylesheet" type="text/css" media="all" />
1019        
1019<script src="//www.outdoorfabriccentral.com/cdn/shop/t/2/assets/speech-search.js?v=106462966657620737681736781215" defer="defer"></script>
1019</search-form><div class="js-search-results" tabindex="-1" data-predictive-search></div>
1020      <span class="js-search-status visually-hidden" role="status" aria-hidden="true"></span></form>
1021  <div class="overlay fixed top-0 right-0 bottom-0 left-0 js-search-overlay"></div></predictive-search>
1022      </div><div class="header__icons flex justify-end mis-auto js-closes-menu"><a class="header__icon md:hidden js-show-search" href="/search" aria-controls="search-bar" rel="nofollow">
1023            <svg width="21" height="23" viewBox="0 0 21 23" fill="currentColor" aria-hidden="true" focusable="false" role="presentation" class="icon"><path d="M14.398 14.483 19 19.514l-1.186 1.014-4.59-5.017a8.317 8.317 0 0 1-4.888 1.578C3.732 17.089 0 13.369 0 8.779S3.732.472 8.336.472c4.603 0 8.335 3.72 8.335 8.307a8.265 8.265 0 0 1-2.273 5.704ZM8.336 15.53c3.74 0 6.772-3.022 6.772-6.75 0-3.729-3.031-6.75-6.772-6.75S1.563 5.051 1.563 8.78c0 3.728 3.032 6.75 6.773 6.75Z"/></svg>
1024            
1025            <span class="visually-hidden">Search</span>
1026          </a><a class="header__icon text-current" href="https://www.outdoorfabriccentral.com/customer_authentication/redirect?locale=en&region_country=US" rel="nofollow">
1027            <svg width="24" height="24" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" focusable="false" role="presentation" class="icon"><path d="M12 2a5 5 0 1 1 0 10 5 5 0 0 1 0-10zm0 1.429a3.571 3.571 0 1 0 0 7.142 3.571 3.571 0 0 0 0-7.142zm0 10c2.558 0 5.114.471 7.664 1.411A3.571 3.571 0 0 1 22 18.19v3.096c0 .394-.32.714-.714.714H2.714A.714.714 0 0 1 2 21.286V18.19c0-1.495.933-2.833 2.336-3.35 2.55-.94 5.106-1.411 7.664-1.411zm0 1.428c-2.387 0-4.775.44-7.17 1.324a2.143 2.143 0 0 0-1.401 2.01v2.38H20.57v-2.38c0-.898-.56-1.7-1.401-2.01-2.395-.885-4.783-1.324-7.17-1.324z"/></svg>
1028            <span class="visually-hidden">Log in</span>
1029          </a><a rel="nofollow" class="header__icon relative text-current" id="cart-icon" href="/cart" data-no-instant><svg width="24" height="24" viewBox="0 0 24 24" class="icon icon--cart" aria-hidden="true" focusable="false" role="presentation"><path fill="currentColor" d="M17 18a2 2 0 0 1 2 2 2 2 0 0 1-2 2 2 2 0 0 1-2-2c0-1.11.89-2 2-2M1 2h3.27l.94 2H20a1 1 0 0 1 1 1c0 .17-.05.34-.12.5l-3.58 6.47c-.34.61-1 1.03-1.75 1.03H8.1l-.9 1.63-.03.12a.25.25 0 0 0 .25.25H19v2H7a2 2 0 0 1-2-2c0-.35.09-.68.24-.96l1.36-2.45L3 4H1V2m6 16a2 2 0 0 1 2 2 2 2 0 0 1-2 2 2 2 0 0 1-2-2c0-1.11.89-2 2-2m9-7 2.78-5H6.14l2.36 5H16Z"/></svg><span class="visually-hidden">Cart</span><div id="cart-icon-bubble"></div>
1030      </a>
1031    </div><main-menu class="main-menu main-menu--left-mob" data-menu-sensitivity="200">
1032        
1033        
1034          
1035
1036<style>
1037/* hamburger menu trigger */
1038
1039.main-menu > .hamburger-btn {
1040    position: relative;
1041    margin-inline-start: 0;
1042    margin-inline-end: 0;
1043    width: 44px;
1044    height: 44px;
1045    cursor: pointer;
1046}
1047
1048.hamburger-btn::before,
1049.hamburger-btn::after,
1050.hamburger-btn .main-menu__toggle-icon::before,
1051.hamburger-btn .main-menu__toggle-icon::after {
1052    content: "";
1053    display: block;
1054    position: absolute;
1055    left: 12px;
1056    width: 20px;
1057    height: 2px;
1058    -webkit-transform: rotate(0) translateZ(0);
1059    transform: rotate(0) translateZ(0);
1060    -webkit-transition: .3s ease-in-out;
1061    transition: .3s ease-in-out;
1062    -webkit-transition-property: all;
1063    transition-property: all;
1064    -webkit-transition-property: -webkit-transform, width, top, left;
1065    transition-property: transform, width, top, left;
1066    background: currentColor;
1067}
1068
1069.hamburger-btn::before,
1070.hamburger-btn::after {
1071    top: 21px;
1072}
1073
1074.hamburger-btn .main-menu__toggle-icon::before {
1075    top: 14px;
1076}
1077
1078.hamburger-btn .main-menu__toggle-icon::after {
1079    top: 28px;
1080}
1081
1082html .hamburger-btn.active::before {
1083    -webkit-transform: rotate(45deg) translateZ(0);
1084    transform: rotate(45deg) translateZ(0);
1085}
1086
1087html .hamburger-btn.active::after {
1088    -webkit-transform: rotate(-45deg) translateZ(0);
1089    transform: rotate(-45deg) translateZ(0);
1090}
1091
1092.hamburger-btn.active .main-menu__toggle-icon::before,
1093.hamburger-btn.active .main-menu__toggle-icon::after {
1094    top: 21px;
1095    left: 22px;
1096    width: 0;
1097}
1098
1099/* The Fly-Out Sidebar (Off-Canvas) */
1100.sidebar-drawer {
1101    position: fixed;
1102    top: var(--header-end, 100px);
1103    left: 0;
1104    z-index: 30;
1105    display: flex;
1106    flex-direction: column;
1107    -webkit-transform: translateX(-100%) translateZ(0);
1108    transform: translateX(-100%) translateZ(0);
1109    max-width: 100%;
1110    width: var(--viewport-width, 100vw);
1111    height: calc(var(--viewport-height) - var(--header-end, 100px));
1112    padding: 0;
1113    background: #f7f7f7;
1114    box-shadow: 2px 0 10px rgba(0, 0, 0, 0.1);
1115    opacity: 0;
1116    overflow-y: auto;/* scroll */
1117    color: rgb(var(--nav-child-text-color));
1118    transition: opacity .3s, visibility .3s;
1119    will-change: transform, opacity;
1120}
1121
1122.sidebar-drawer.active {
1123    -webkit-transform: translateX(0%) translateZ(0);  
1124    transform: translateX(0%) translateZ(0);
1125    opacity: 1;
1126    transition: opacity .3s, visibility .3s;
1127}
1128
1129@media(min-width: 1451px) { /* 769px */
1130
1131  header .main-menu:has(>.hamburger-btn) {
1132    display: grid;
1133    grid-template-columns: 44px 1fr;
1134  }
1135
1136  .main-menu > .hamburger-btn {
1137    position: relative;
1138    margin-inline-start: 0;
1139    margin-inline-end: 0;
1140    width: 44px;
1141    height: 44px;
1142    cursor: pointer;
1143    box-shadow: inset 0 -2px 0 0 transparent;
1144    transition: box-shadow .1s;
1145  }
1146
1147  .main-menu > .hamburger-btn:hover {
1148    opacity: .7;
1149    cursor: pointer;
1150    color: rgb(var(--link-color));    
1151    box-shadow: inset 0 -2px 0 0 currentColor;
1152    transition: box-shadow .1s;
1153  }
1154
1155  .main-menu > .hamburger-btn:hover {
1156    opacity: .7;
1157    cursor: pointer;    
1158  }
1159
1160  .main-menu > .hamburger-btn:hover *::before,
1161  .main-menu > .hamburger-btn:hover *::after  {
1162    background-color: rgb(var(--link-color));
1163  }
1164
1165  .sidebar-drawer {
1166      position: fixed;
1167      top: 0;
1168      left: 0;
1169      z-index: 30;
1170      width: 100%;
1171      max-width: 500px;
1172      height: 100vh;  
1173      opacity: 1;
1174      visibility: visible;
1175      /* PERFORMANCE OPTIMIZATIONS */
1176      will-change: transform; /* Tells browser to prepare GPU layer */
1177      -webkit-backface-visibility: hidden; /* Prevents flickering */
1178      backface-visibility: hidden;
1179      /* INITIAL STATE (Hidden) */
1180      -webkit-transform: translateX(-100%) translateZ(0);
1181      transform: translateX(-100%) translateZ(0);
1182      /*visibility: hidden; 
1183       EXIT ANIMATION (Closing) 
1184        - Use 'ease-in' so it accelerates off screen quickly.
1185        - Delay visibility hidden until AFTER the slide finishes (0.3s).
1186      */
1187      -webkit-transition: -webkit-transform 0.3s ease-in;
1188      transition: transform 0.3s ease-in;
1189  }
1190
1191  .sidebar-drawer.active {
1192      opacity: 1;
1193      visibility: visible;
1194      /* ACTIVE STATE (Visible) */
1195      -webkit-transform: translateX(0) translateZ(0);
1196      transform: translateX(0) translateZ(0);
1197      /* visibility: visible;
1198      ENTER ANIMATION (Opening)
1199        - Use a custom 'cubic-bezier' for that "snap" effect.
1200        - No delay on visibility so it appears instantly.  */
1201      
1202      -webkit-transition: -webkit-transform 0.3s ease-out;
1203      transition: transform 0.3s ease-out;
1204  }
1205}
1206
1207@media (min-width: 769px) and (max-width: 1025px) {
1208
1209
1210}
1211
1212@media (min-width: 1025px) {
1213
1214  header .main-menu:has(>.hamburger-btn) {
1215    grid-template-columns: 95px 1fr;
1216  }
1217
1218  .main-menu > .hamburger-btn {
1219    width: 81px;
1220  }
1221  
1222  html body .hamburger-btn .visually-hidden {
1223    position: absolute;
1224    width: auto;
1225    height: auto;
1226    padding: 5px 0;
1227    margin: 0;
1228    clip: unset;
1229    white-space: nowrap;
1230    overflow: visible;
1231    right: 0;
1232    left: auto;
1233    top: 7px;
1234    font-size: 14px;
1235    font-weight: 700;    
1236  }
1237}
1238
1239
1240@media(max-width: 1450px) { /* 768px */
1241
1242    #hamburger-btn {
1243      /*display: none !important;*/
1244      position: absolute;
1245      top: 0px;
1246      left: 0px;
1247      z-index: -1;
1248      overflow: hidden;
1249      height: 1px !important;
1250      width: 1px !important;
1251      padding: 0 !important;
1252      margin: 0  !important;
1253      border: 0;
1254      clip: rect(1px, 1px, 1px, 1px);
1255      -webkit-clip-path: inset(0px 0px 99.9% 99.9%);
1256      clip-path: inset(0px 0px 99.9% 99.9%);
1257      pointer-events: none;
1258    }
1259
1260    .sidebar-drawer {
1261      /*display: none !important;*/
1262      position: absolute;
1263      top: 0px;
1264      left: 0px;
1265      z-index: -1;
1266      overflow: hidden;
1267      height: 1px !important;
1268      width: 1px !important;
1269      padding: 0 !important;
1270      margin: 0  !important;
1271      border: 0;
1272      clip: rect(1px, 1px, 1px, 1px);
1273      -webkit-clip-path: inset(0px 0px 99.9% 99.9%);
1274      clip-path: inset(0px 0px 99.9% 99.9%);
1275      pointer-events: none;
1276    }
1277}
1278
1279/* Sidebar Content */
1280
1281.sidebar-header {
1282    position: relative;
1283    padding: 1.2rem;
1284    padding-inline-start: 2rem;
1285    padding-inline-end: 1rem;
1286    display: grid;
1287    grid-template-columns: 1fr 30px;
1288    gap: 2rem;
1289    background:  #1a1a1a;
1290    color: #fff;
1291    height: 47px;
1292}
1293
1294html.ofc .sidebar-header .menu-logo-ofc {
1295
1296}
1297
1298html.ofc .sidebar-header .menu-logo-pl,
1299html.ofc .sidebar-header .menu-logo-pl.menu-logo-pl-black,
1300html.ofc .sidebar-header .menu-logo-pl.menu-logo-pl-white {
1301  display: none !important;
1302}
1303
1304html.pl .sidebar-header .menu-logo-pl {
1305  height: 20px;
1306  width: auto;
1307  max-width: 100%;
1308}
1309
1310html.pl .sidebar-header .menu-logo-ofc {
1311  display: none !important;
1312}
1313
1314.sidebar-header span {
1315    font-size: 1.8rem;
1316    font-weight: 400;
1317    line-height: 2rem;
1318}
1319
1320.sidebar-header h2 {
1321  position: relative;
1322  z-index: 2;
1323  color: #777;
1324  background-color: #222;
1325  padding: 0;
1326  margin: 0;
1327  width: 100%;
1328  -webkit-box-sizing: border-box;
1329  box-sizing: border-box;
1330  text-transform: uppercase;
1331  background: #1a1a1a;
1332  font-family: "Poppins", sans-serif;
1333  font-size: 1.8rem;
1334  font-weight: 400;
1335  line-height: 2rem;
1336}
1337
1338html.ofc .sidebar-header h2 .first-word {
1339  color: var(--color-orange);
1340}
1341
1342html.ofc .sidebar-header h2 .second-word {
1343  color: #FFFFFF;
1344}
1345
1346html.ofc .sidebar-header h2 span:nth-child(3) {
1347  color: #FFFFFF;
1348}
1349
1350.sidebar-header .close-btn {
1351    /* position: absolute;
1352      top: 1rem;
1353      right: 1rem;
1354      left: auto;
1355      z-index: 31; */
1356    background: none;
1357    border: none;
1358    font-size: 28px;
1359    cursor: pointer;
1360    line-height: 1;
1361    width: 20px;
1362}
1363
1364.sidebar-header .close-btn svg {
1365    stroke: #FFF;
1366}
1367
1368.sidebar-links ul {
1369    list-style: none;
1370    padding: 0;
1371    margin: 0;
1372}
1373
1374.sidebar-links a:hover {
1375    color: var(--link-color);
1376    transition: 0.2s;
1377}
1378
1379.site-overlay {
1380    position: fixed;
1381    top: 0;
1382    left: 0;
1383    width: 100%;
1384    height: 100%;
1385    background: rgba(var(--modal-overlay-color)/var(--modal-overlay-opacity));
1386    z-index: 29;
1387    transition: opacity .3s, visibility .3s;
1388    opacity: 0;
1389    visibility: hidden;
1390    transition: 0.3s;
1391    -webkit-transform: translateZ(0) translateZ(0);
1392    transform: translateZ(0) translateZ(0);
1393}
1394
1395.site-overlay.active {
1396    opacity: 1;
1397    visibility: visible;
1398    transition: opacity .3s, visibility .3s;
1399}
1400
1401@media(max-width: 768px) {
1402
1403    .sidebar-header {
1404        display: none;
1405    }
1406
1407    .site-overlay {
1408        display: none;
1409    }
1410}
1411
1412/* ///////////////////// */
1413
1414/* CONTAINER */
1415.mobile-menu-container {
1416    position: relative;
1417    width: 100%;
1418    height: 100vh;
1419    /* Full viewport height */
1420    overflow: hidden;
1421    /* Crucial: Hides menus waiting on the sides 
1422    overflow-y: scroll;*/
1423    background: #fff;
1424    flex: 1 1 auto;
1425}
1426
1427.mobile-menu-container .jamm-divider{
1428  background-color: #DDD;
1429  border-top: 0px none transparent;
1430  border-bottom: 1px solid #CCC;
1431  font-size: 1.1rem;
1432  font-weight: 700;
1433  letter-spacing: 1px;
1434  color: #666;
1435  text-transform: uppercase;  
1436  padding: 10px 20px 9px 20px;
1437  pointer-events: none;
1438  -webkit-transition: opacity 0.3s, -webkit-transform 0.3s;
1439  transition: opacity 0.3s, transform 0.3s;
1440}
1441
1442@media (prefers-color-scheme: dark) {
1443
1444  .dark-mode .mobile-menu-container {
1445      background: #222;
1446  }
1447
1448  .dark-mode .mobile-menu-container .jamm-divider{
1449    background-color: #444;
1450    color: #EEE;
1451    border-color: #444;
1452  }
1453}
1454
1455/* MENU PANELS (All levels share this) */
1456.menu-panel {
1457    position: absolute;
1458    top: 0;
1459    left: 0;
1460    width: 100%;
1461    height: 100%;
1462    background: #fff;
1463    transition: transform 0.3s ease-in-out;
1464    overflow-y: auto;
1465    /* Allow scrolling within the panel */
1466    z-index: 10;
1467    list-style: none;
1468    padding: 0;
1469    margin: 0;
1470}
1471
1472@media (prefers-color-scheme: dark) {
1473
1474  .dark-mode .menu-panel {
1475      background: #222;
1476  }
1477}
1478
1479/* STATES */
1480
1481/* 1. Visible (Active) */
1482.menu-panel.is-visible {
1483  -webkit-transform: translateX(0) translateZ(0);
1484  transform: translateX(0) translateZ(0);
1485  z-index: 20;
1486}
1487
1488/* 2. Waiting (Off-screen Right) - Default State for Submenus */
1489.menu-panel.is-hidden-right {
1490    -webkit-transform: translateX(100%) translateZ(0);
1491    transform: translateX(100%) translateZ(0);
1492    z-index: 20;
1493}
1494
1495/* 3. Parent (Off-screen Left) - Pushed away by child */
1496.menu-panel.is-hidden-left {
1497    -webkit-transform: translateX(-30%) translateZ(0);
1498    transform: translateX(-30%) translateZ(0);
1499    /* Slight parallax effect */
1500    opacity: 0.5;
1501    /* Fade out slightly */
1502    pointer-events: none;
1503}
1504
1505.sidebar-drawer .menu-panel-1 {
1506    background: #f7f7f7;
1507    
1508    padding: 0;
1509    padding-bottom: 60px;
1510    padding-top: 0;
1511}
1512
1513@media (prefers-color-scheme: dark) {
1514
1515  .sidebar-drawer.dark-mode .menu-panel-1 {
1516    background: #222;
1517  }
1518}
1519
1520.sidebar-drawer .menu-panel-2 {
1521    background: #f7f7f7;
1522    
1523    padding: 0;
1524    padding-bottom: 60px;
1525    padding-top: 0;
1526}
1527
1528@media (prefers-color-scheme: dark) {
1529
1530  .sidebar-drawer.dark-mode .menu-panel-2 {
1531    background: #111;
1532  }
1533}
1534
1535.sidebar-drawer .menu-panel-3 {
1536    background: #f7f7f7;
1537    
1538    padding: 0;
1539    padding-bottom: 60px;
1540    padding-top: 0;
1541}
1542
1543@media (prefers-color-scheme: dark) {
1544
1545  .sidebar-drawer.dark-mode .menu-panel-3 {
1546    background: #111;
1547  }
1548}
1549
1550/* LINK STYLING */
1551.menu-item {
1552    border-bottom: 1px solid rgba(34 34 34 / .2);
1553    font-weight: 400;
1554    padding: 0;
1555    margin: 0;
1556}
1557
1558@media (prefers-color-scheme: dark) {
1559
1560  .dark-mode .menu-item {
1561    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
1562  }
1563
1564  .dark-mode .menu-item:hover {
1565      color: #FFF;
1566      background-color: #333;
1567      border-right-color: #333;
1568  }
1569}
1570
1571.menu-item .all-btn {
1572    padding-inline-start: 2rem;
1573    padding-top: 2rem;
1574    padding-bottom: 2rem;
1575    text-decoration: none;
1576    color: #333;
1577    font-weight: 700;
1578    font-size: 1.7rem;
1579    padding-inline-start: 2rem;
1580    padding-top: 2rem;
1581    padding-bottom: 2rem;
1582    display: flex;
1583    align-items: center;
1584    justify-content: left;
1585    width: 100%;
1586    height: 100%;
1587}
1588
1589@media (prefers-color-scheme: dark) {
1590
1591  .dark-mode .menu-item .all-btn {
1592      color: #FFF;
1593  }
1594}
1595
1596.menu-panel .menu-link-row {
1597    display: grid;
1598    grid-template-columns: 1fr;
1599    justify-content: space-between;
1600    align-items: center;
1601    padding: 0;
1602}
1603
1604.menu-panel .menu-link-row:has(> button) {
1605    grid-template-columns: 1fr 50px;
1606}
1607
1608.menu-panel .menu-link {
1609    display: inline-flex;
1610    align-items: center !important;
1611    justify-content: space-between;
1612    padding: 2rem 0;
1613    padding-inline-end: 44px;
1614    padding-inline-start: 2rem;
1615    text-decoration: none;
1616    width: 100%;
1617
1618    position: relative;
1619    text-decoration: none;
1620    color: #333;
1621    font-size: 16px;
1622    font-weight: 300;
1623    line-height: 1.5;
1624    flex-grow: 1;
1625}
1626
1627@media (prefers-color-scheme: dark) {
1628
1629  .dark-mode .menu-panel .menu-link {
1630    color: #FFF;
1631  }
1632}
1633
1634#menu-root .menu-item .menu-link-row .menu-link {
1635    font-weight: 700;
1636}
1637
1638.menu-panel .menu-link:hover {
1639    color: var(--link-color);
1640}
1641
1642.menu-panel .icon {
1643    position: absolute;
1644    right: 10px;
1645    width: 36px;
1646    height: 20px;
1647    margin-inline-end: -4px;
1648    margin-inline-start: 5px;
1649    pointer-events: none;
1650    transition: transform .3s;
1651}
1652
1653@media (prefers-color-scheme: dark) {
1654
1655  .dark-mode .menu-panel .next-btn .icon path {
1656    stroke: #A2A2A2;
1657  }
1658}
1659
1660.menu-panel .next-btn {
1661    position: relative;
1662    background: none;
1663    border: none;
1664    padding: 0;
1665    cursor: pointer;
1666    width: 100%;
1667    display: flex;
1668    height: 100%;
1669    align-items: center;
1670    justify-content: right;
1671    background: rgba(0,0,0,0.1);
1672}
1673
1674.menu-panel .next-btn:hover {
1675  background: rgba(0,0,0,0.2);
1676}
1677
1678.menu-panel .next-btn .icon {
1679    transform: rotate(-90deg);
1680    vertical-align: top;
1681}
1682
1683/* BACK BUTTON STYLE */
1684.menu-panel .back-header {
1685    display: grid;
1686    grid-template-columns: 1fr;
1687    justify-content: left;
1688    align-items: center;
1689    padding: 0;
1690    border-bottom: 1px solid rgba(34 34 34 / .2);
1691}
1692
1693.menu-panel .back-btn {
1694    position: relative;
1695    padding-inline-start: 4rem;
1696    padding-top: 2rem;
1697    padding-bottom: 2rem;
1698    background: none;
1699    border: none;
1700    font-weight: 400;
1701    cursor: pointer;
1702    color: rgb(var(--header-accent-color));
1703    display: flex;
1704    gap: 1rem;
1705    align-items: center;
1706    justify-content: left;
1707    width: 100%;
1708    height: 100%;
1709}
1710
1711.menu-panel .back-btn:hover {}
1712
1713.menu-panel .back-btn .icon {
1714    margin-inline-start: -4px;
1715    right: auto;
1716    left: 2rem;
1717    width: 20px;
1718}
1719</style>
1720
1721<div id="hamburger-btn" class="hamburger-btn toggle-sidebar">
1722  
1723  <span class="main-menu__toggle-icon" aria-hidden="true"></span>
1724  <span class="visually-hidden">Shop</span>
1725</div>
1726
1727<div class="sidebar-drawer" id="sidebarDrawer">
1728
1729  <div class="sidebar-header">
1730    <img class="menu-logo-ofc" src="https://cdn.shopify.com/s/files/1/0896/1327/1404/files/ofc-logo-home-orange-new--one-row.png?v=1771615194aa" width="245" height="18" alt="Outdoor Fabric Central Menu">
1731    <img class="menu-logo-pl menu-logo-pl-white" src="https://cdn.shopify.com/s/files/1/0916/0533/6362/files/patioLane-logo-horizontal-stacked_official--web-version-only-first-line-white.webp?v=1775671389" width="245" height="18" alt="Patio Lane Menu">
1732    
1733    <button class="close-btn toggle-sidebar"><svg width="24" height="24" viewBox="0 0 24 24" stroke="currentColor" stroke-width="1.5" fill="none" fill-rule="evenodd" stroke-linejoin="round" aria-hidden="true" focusable="false" role="presentation" class="icon"><path d="M5 19 19 5M5 5l14 14"></path></svg></button>
1734  </div>
1735
1736  
1737
1738    <div class="mobile-menu-container" id="mobileMenuContainer">
1739      <ul class="menu-panel-1 menu-panel is-visible" data-depth="0" id="menu-root">
1740        <li class="jamm-divider">Categories</li>
1741        
1742          <li class="menu-item">
1743            <div class="menu-link-row">
1744              <a href="/collections/sunbrella-cushions-pillows" class="menu-link">Sunbrella Cushion Builder</a>
1745
1746              
1747            </div>
1748          </li>
1749        
1750          <li class="menu-item">
1751            <div class="menu-link-row">
1752              <a href="/collections/sunbrella-custom-outdoor-curtains" class="menu-link">Custom Sunbrella Curtains</a>
1753
1754              
1755            </div>
1756          </li>
1757        
1758          <li class="menu-item">
1759            <div class="menu-link-row">
1760              <a href="/collections/sunbrella-standard-size-curtains" class="menu-link">Sunbrella Standard Curtains</a>
1761
1762              
1763                <button class="next-btn" data-target="menu-sunbrella-standard-curtains-3">
1764                  <svg
1765                    width="24"
1766                    height="24"
1767                    viewBox="0 0 24 24"
1768                    aria-hidden="true"
1769                    focusable="false"
1770                    role="presentation"
1771                    class="icon"
1772                  >
1773                    <path d="M20 8.5 12.5 16 5 8.5" stroke="currentColor" stroke-width="1.5" fill="none"></path>
1774                  </svg>
1775                </button>
1776              
1777            </div>
1778          </li>
1779        
1780          <li class="menu-item">
1781            <div class="menu-link-row">
1782              <a href="/collections/sunbrella-swing-bed-cushion-sets" class="menu-link">Sunbrella Swing Bed Cushion Sets</a>
1783
1784              
1785            </div>
1786          </li>
1787        
1788          <li class="menu-item">
1789            <div class="menu-link-row">
1790              <a href="/collections/sunbrella-outdoor-throw-pillows" class="menu-link">Pillows Made with Sunbrella</a>
1791
1792              
1793                <button class="next-btn" data-target="menu-pillows-made-with-sunbrella-5">
1794                  <svg
1795                    width="24"
1796                    height="24"
1797                    viewBox="0 0 24 24"
1798                    aria-hidden="true"
1799                    focusable="false"
1800                    role="presentation"
1801                    class="icon"
1802                  >
1803                    <path d="M20 8.5 12.5 16 5 8.5" stroke="currentColor" stroke-width="1.5" fill="none"></path>
1804                  </svg>
1805                </button>
1806              
1807            </div>
1808          </li>
1809        
1810          <li class="menu-item">
1811            <div class="menu-link-row">
1812              <a href="/collections/all" class="menu-link">Top Sellers</a>
1813
1814              
1815            </div>
1816          </li>
1817        
1818          <li class="menu-item">
1819            <div class="menu-link-row">
1820              <a href="/collections/all" class="menu-link">Shop All Sunbrella</a>
1821
1822              
1823            </div>
1824          </li>
1825        
1826          <li class="menu-item">
1827            <div class="menu-link-row">
1828              <a href="/collections/new-sunbrella-fabrics" class="menu-link">New Sunbrella Fabrics</a>
1829
1830              
1831            </div>
1832          </li>
1833        
1834          <li class="menu-item">
1835            <div class="menu-link-row">
1836              <a href="/collections/sunbrella-awning-marine-fabric" class="menu-link">Sunbrella Awning & Marine Shade Fabric</a>
1837
1838              
1839                <button class="next-btn" data-target="menu-sunbrella-awning-marine-shade-fabric-9">
1840                  <svg
1841                    width="24"
1842                    height="24"
1843                    viewBox="0 0 24 24"
1844                    aria-hidden="true"
1845                    focusable="false"
1846                    role="presentation"
1847                    class="icon"
1848                  >
1849                    <path d="M20 8.5 12.5 16 5 8.5" stroke="currentColor" stroke-width="1.5" fill="none"></path>
1850                  </svg>
1851                </button>
1852              
1853            </div>
1854          </li>
1855        
1856          <li class="menu-item">
1857            <div class="menu-link-row">
1858              <a href="/collections/sunbrella-upholstery-furniture-fabric" class="menu-link">Sunbrella Upholstery & Curtain Fabric</a>
1859
1860              
1861                <button class="next-btn" data-target="menu-sunbrella-upholstery-curtain-fabric-10">
1862                  <svg
1863                    width="24"
1864                    height="24"
1865                    viewBox="0 0 24 24"
1866                    aria-hidden="true"
1867                    focusable="false"
1868                    role="presentation"
1869                    class="icon"
1870                  >
1871                    <path d="M20 8.5 12.5 16 5 8.5" stroke="currentColor" stroke-width="1.5" fill="none"></path>
1872                  </svg>
1873                </button>
1874              
1875            </div>
1876          </li>
1877        
1878          <li class="menu-item">
1879            <div class="menu-link-row">
1880              <a href="/collections/sunbrella-mesh-sheer-sling-fabric" class="menu-link">Sunbrella Mesh / Sheer / Sling Fabric</a>
1881
1882              
1883                <button class="next-btn" data-target="menu-sunbrella-mesh-sheer-sling-fabric-11">
1884                  <svg
1885                    width="24"
1886                    height="24"
1887                    viewBox="0 0 24 24"
1888                    aria-hidden="true"
1889                    focusable="false"
1890                    role="presentation"
1891                    class="icon"
1892                  >
1893                    <path d="M20 8.5 12.5 16 5 8.5" stroke="currentColor" stroke-width="1.5" fill="none"></path>
1894                  </svg>
1895                </button>
1896              
1897            </div>
1898          </li>
1899        
1900          <li class="menu-item">
1901            <div class="menu-link-row">
1902              <a href="/collections/sunbrella-marine-vinyl" class="menu-link">Sunbrella Vinyl Seating Fabric</a>
1903
1904              
1905            </div>
1906          </li>
1907        
1908          <li class="menu-item">
1909            <div class="menu-link-row">
1910              <a href="/collections/sunbrella-waterproof-fabric" class="menu-link">Sunbrella Waterproof</a>
1911
1912              
1913            </div>
1914          </li>
1915        
1916          <li class="menu-item">
1917            <div class="menu-link-row">
1918              <a href="/collections/clear-vinyl" class="menu-link">Clear Vinyl</a>
1919
1920              
1921                <button class="next-btn" data-target="menu-clear-vinyl-14">
1922                  <svg
1923                    width="24"
1924                    height="24"
1925                    viewBox="0 0 24 24"
1926                    aria-hidden="true"
1927                    focusable="false"
1928                    role="presentation"
1929                    class="icon"
1930                  >
1931                    <path d="M20 8.5 12.5 16 5 8.5" stroke="currentColor" stroke-width="1.5" fill="none"></path>
1932                  </svg>
1933                </button>
1934              
1935            </div>
1936          </li>
1937        
1938          <li class="menu-item">
1939            <div class="menu-link-row">
1940              <a href="/collections/finishing" class="menu-link">Embellishments / Finishing Supplies</a>
1941
1942              
1943                <button class="next-btn" data-target="menu-embellishments-finishing-supplies-15">
1944                  <svg
1945                    width="24"
1946                    height="24"
1947                    viewBox="0 0 24 24"
1948                    aria-hidden="true"
1949                    focusable="false"
1950                    role="presentation"
1951                    class="icon"
1952                  >
1953                    <path d="M20 8.5 12.5 16 5 8.5" stroke="currentColor" stroke-width="1.5" fill="none"></path>
1954                  </svg>
1955                </button>
1956              
1957            </div>
1958          </li>
1959        
1960          <li class="menu-item">
1961            <div class="menu-link-row">
1962              <a href="/collections/hardware-tools" class="menu-link">Hardware / Tools</a>
1963
1964              
1965                <button class="next-btn" data-target="menu-hardware-tools-16">
1966                  <svg
1967                    width="24"
1968                    height="24"
1969                    viewBox="0 0 24 24"
1970                    aria-hidden="true"
1971                    focusable="false"
1972                    role="presentation"
1973                    class="icon"
1974                  >
1975                    <path d="M20 8.5 12.5 16 5 8.5" stroke="currentColor" stroke-width="1.5" fill="none"></path>
1976                  </svg>
1977                </button>
1978              
1979            </div>
1980          </li>
1981        
1982          <li class="menu-item">
1983            <div class="menu-link-row">
1984              <a href="/collections/sunbrella-furniture-cleaners" class="menu-link">Sunbrella Cleaning & Care</a>
1985
1986              
1987            </div>
1988          </li>
1989        
1990          <li class="menu-item">
1991            <div class="menu-link-row">
1992              <a href="/collections/custom-panels" class="menu-link">Sunbrella Manufactured Products</a>
1993
1994              
1995            </div>
1996          </li>
1997        
1998          <li class="menu-item">
1999            <div class="menu-link-row">
2000              <a href="/collections/sunbrella-custom-products" class="menu-link">Custom Sunbrella Cushions & Pillows</a>
2001
2002              
2003            </div>
2004          </li>
2005        
2006        
2007      </ul>
2008
2009      
2010        
2011      
2012        
2013      
2014        
2015          <ul class="menu-panel-2 menu-panel is-hidden-right" id="menu-sunbrella-standard-curtains-3" data-depth="1">
2016            <li class="back-header">
2017              <button class="back-btn" data-target="menu-root">
2018                <svg
2019                  width="24"
2020                  height="24"
2021                  viewBox="0 0 24 24"
2022                  fill="currentColor"
2023                  aria-hidden="true"
2024                  focusable="false"
2025                  role="presentation"
2026                  class="icon"
2027                >
2028                  <path d="m6.797 11.625 8.03-8.03 1.06 1.06-6.97 6.97 6.97 6.97-1.06 1.06z"></path>
2029                </svg>
2030                Back
2031              </button>
2032            </li>
2033
2034            <li class="menu-item">
2035              <a href="/collections/sunbrella-standard-size-curtains" class="all-btn large-text">Sunbrella Standard Curtains</a>
2036            </li>
2037
2038            
2039              <li class="menu-item">
2040                <div class="menu-link-row">
2041                  <a href="/collections/sunbrella-standard-size-curtains" class="menu-link">Shop by Color</a>
2042
2043                  
2044                </div>
2045              </li>
2046            
2047          </ul>
2048
2049          
2050            
2051          
2052
2053        
2054      
2055        
2056      
2057        
2058          <ul class="menu-panel-2 menu-panel is-hidden-right" id="menu-pillows-made-with-sunbrella-5" data-depth="1">
2059            <li class="back-header">
2060              <button class="back-btn" data-target="menu-root">
2061                <svg
2062                  width="24"
2063                  height="24"
2064                  viewBox="0 0 24 24"
2065                  fill="currentColor"
2066                  aria-hidden="true"
2067                  focusable="false"
2068                  role="presentation"
2069                  class="icon"
2070                >
2071                  <path d="m6.797 11.625 8.03-8.03 1.06 1.06-6.97 6.97 6.97 6.97-1.06 1.06z"></path>
2072                </svg>
2073                Back
2074              </button>
2075            </li>
2076
2077            <li class="menu-item">
2078              <a href="/collections/sunbrella-outdoor-throw-pillows" class="all-btn large-text">Pillows Made with Sunbrella</a>
2079            </li>
2080
2081            
2082              <li class="menu-item">
2083                <div class="menu-link-row">
2084                  <a href="/products/sunbrella-custom-size-throw-pillows" class="menu-link">Pillow Builder</a>
2085
2086                  
2087                </div>
2088              </li>
2089            
2090          </ul>
2091
2092          
2093            
2094          
2095
2096        
2097      
2098        
2099      
2100        
2101      
2102        
2103      
2104        
2105          <ul class="menu-panel-2 menu-panel is-hidden-right" id="menu-sunbrella-awning-marine-shade-fabric-9" data-depth="1">
2106            <li class="back-header">
2107              <button class="back-btn" data-target="menu-root">
2108                <svg
2109                  width="24"
2110                  height="24"
2111                  viewBox="0 0 24 24"
2112                  fill="currentColor"
2113                  aria-hidden="true"
2114                  focusable="false"
2115                  role="presentation"
2116                  class="icon"
2117                >
2118                  <path d="m6.797 11.625 8.03-8.03 1.06 1.06-6.97 6.97 6.97 6.97-1.06 1.06z"></path>
2119                </svg>
2120                Back
2121              </button>
2122            </li>
2123
2124            <li class="menu-item">
2125              <a href="/collections/sunbrella-awning-marine-fabric" class="all-btn large-text">Sunbrella Awning & Marine Shade Fabric</a>
2126            </li>
2127
2128            
2129              <li class="menu-item">
2130                <div class="menu-link-row">
2131                  <a href="/collections/sunbrella-46-inch-solids-awning-marine-fabric" class="menu-link">46 Inch Solids</a>
2132
2133                  
2134                </div>
2135              </li>
2136            
2137              <li class="menu-item">
2138                <div class="menu-link-row">
2139                  <a href="/collections/sunbrella-46-inch-stripes-awning-marine-fabric" class="menu-link">46 Inch Stripes</a>
2140
2141                  
2142                </div>
2143              </li>
2144            
2145              <li class="menu-item">
2146                <div class="menu-link-row">
2147                  <a href="/collections/sunbrella-46-inch-textures-awning-marine-fabric" class="menu-link">46 Inch Textures</a>
2148
2149                  
2150                </div>
2151              </li>
2152            
2153              <li class="menu-item">
2154                <div class="menu-link-row">
2155                  <a href="/collections/sunbrella-46-inch-premium-awning-and-marine-fabric" class="menu-link">46 Inch Premium</a>
2156
2157                  
2158                </div>
2159              </li>
2160            
2161              <li class="menu-item">
2162                <div class="menu-link-row">
2163                  <a href="/collections/sunbrella-60-inch-awning-marine-fabric" class="menu-link">60 Inch Solids</a>
2164
2165                  
2166                </div>
2167              </li>
2168            
2169              <li class="menu-item">
2170                <div class="menu-link-row">
2171                  <a href="/collections/sunbrella-60-inch-premium-awning-and-marine-fabric" class="menu-link">60 Inch Premium</a>
2172
2173                  
2174                </div>
2175              </li>
2176            
2177              <li class="menu-item">
2178                <div class="menu-link-row">
2179                  <a href="/collections/sunbrella-plus" class="menu-link">60 Inch Plus</a>
2180
2181                  
2182                </div>
2183              </li>
2184            
2185              <li class="menu-item">
2186                <div class="menu-link-row">
2187                  <a href="/collections/sunbrella-seamark" class="menu-link">60 Inch Seamark Waterproof</a>
2188
2189                  
2190                </div>
2191              </li>
2192            
2193              <li class="menu-item">
2194                <div class="menu-link-row">
2195                  <a href="/collections/sunbrella-80-inch-awning-marine-fabric" class="menu-link">80 Inch</a>
2196
2197                  
2198                </div>
2199              </li>
2200            
2201              <li class="menu-item">
2202                <div class="menu-link-row">
2203                  <a href="/collections/firesist-awning-shade-fabrics" class="menu-link">Firesist 60 Inch</a>
2204
2205                  
2206                </div>
2207              </li>
2208            
2209              <li class="menu-item">
2210                <div class="menu-link-row">
2211                  <a href="/collections/sunbrella-mayfield" class="menu-link">Mayfield Collection</a>
2212
2213                  
2214                </div>
2215              </li>
2216            
2217          </ul>
2218
2219          
2220            
2221          
2222            
2223          
2224            
2225          
2226            
2227          
2228            
2229          
2230            
2231          
2232            
2233          
2234            
2235          
2236            
2237          
2238            
2239          
2240            
2241          
2242
2243        
2244      
2245        
2246          <ul class="menu-panel-2 menu-panel is-hidden-right" id="menu-sunbrella-upholstery-curtain-fabric-10" data-depth="1">
2247            <li class="back-header">
2248              <button class="back-btn" data-target="menu-root">
2249                <svg
2250                  width="24"
2251                  height="24"
2252                  viewBox="0 0 24 24"
2253                  fill="currentColor"
2254                  aria-hidden="true"
2255                  focusable="false"
2256                  role="presentation"
2257                  class="icon"
2258                >
2259                  <path d="m6.797 11.625 8.03-8.03 1.06 1.06-6.97 6.97 6.97 6.97-1.06 1.06z"></path>
2260                </svg>
2261                Back
2262              </button>
2263            </li>
2264
2265            <li class="menu-item">
2266              <a href="/collections/sunbrella-upholstery-furniture-fabric" class="all-btn large-text">Sunbrella Upholstery & Curtain Fabric</a>
2267            </li>
2268
2269            
2270              <li class="menu-item">
2271                <div class="menu-link-row">
2272                  <a href="/collections/sunbrella-54-inch-solids-upholstery-furniture-fabric" class="menu-link">54 Inch Solids</a>
2273
2274                  
2275                </div>
2276              </li>
2277            
2278              <li class="menu-item">
2279                <div class="menu-link-row">
2280                  <a href="/collections/sunbrella-54-inch-stripes-upholstery-furniture-fabric" class="menu-link">54 Inch Stripes</a>
2281
2282                  
2283                </div>
2284              </li>
2285            
2286              <li class="menu-item">
2287                <div class="menu-link-row">
2288                  <a href="/collections/sunbrella-54-inch-prints-upholstery-furniture-fabric" class="menu-link">54 Inch Prints</a>
2289
2290                  
2291                </div>
2292              </li>
2293            
2294              <li class="menu-item">
2295                <div class="menu-link-row">
2296                  <a href="/collections/kravet-sunbrella-upholstery-fabric" class="menu-link">Kravet Sunbrella</a>
2297
2298                  
2299                </div>
2300              </li>
2301            
2302              <li class="menu-item">
2303                <div class="menu-link-row">
2304                  <a href="/collections/lee-jofa-sunbrella-upholstery-fabric" class="menu-link">Lee Jofa Modern Sunbrella</a>
2305
2306                  
2307                </div>
2308              </li>
2309            
2310              <li class="menu-item">
2311                <div class="menu-link-row">
2312                  <a href="/collections/silver-state-sunbrella-upholstery-fabric" class="menu-link">Silver State Sunbrella</a>
2313
2314                  
2315                </div>
2316              </li>
2317            
2318              <li class="menu-item">
2319                <div class="menu-link-row">
2320                  <a href="/collections/mayer-sunbrella-upholstery-fabric" class="menu-link">Sunbrella by Mayer</a>
2321
2322                  
2323                </div>
2324              </li>
2325            
2326              <li class="menu-item">
2327                <div class="menu-link-row">
2328                  <a href="/collections/all" class="menu-link">Shop by Style / Pattern</a>
2329
2330                  
2331                </div>
2332              </li>
2333            
2334              <li class="menu-item">
2335                <div class="menu-link-row">
2336                  <a href="/collections/all" class="menu-link">Shop by Collection</a>
2337
2338                  
2339                </div>
2340              </li>
2341            
2342              <li class="menu-item">
2343                <div class="menu-link-row">
2344                  <a href="/collections/sunbrella-upholstery-furniture-fabric" class="menu-link">Sunbrella In Stock and Ready to Ship</a>
2345
2346                  
2347                </div>
2348              </li>
2349            
2350              <li class="menu-item">
2351                <div class="menu-link-row">
2352                  <a href="/collections/bestselling-sunbrella-samples" class="menu-link">Sunbrella Sample Packs</a>
2353
2354                  
2355                </div>
2356              </li>
2357            
2358          </ul>
2359
2360          
2361            
2362          
2363            
2364          
2365            
2366          
2367            
2368          
2369            
2370          
2371            
2372          
2373            
2374          
2375            
2376          
2377            
2378          
2379            
2380          
2381            
2382          
2383
2384        
2385      
2386        
2387          <ul class="menu-panel-2 menu-panel is-hidden-right" id="menu-sunbrella-mesh-sheer-sling-fabric-11" data-depth="1">
2388            <li class="back-header">
2389              <button class="back-btn" data-target="menu-root">
2390                <svg
2391                  width="24"
2392                  height="24"
2393                  viewBox="0 0 24 24"
2394                  fill="currentColor"
2395                  aria-hidden="true"
2396                  focusable="false"
2397                  role="presentation"
2398                  class="icon"
2399                >
2400                  <path d="m6.797 11.625 8.03-8.03 1.06 1.06-6.97 6.97 6.97 6.97-1.06 1.06z"></path>
2401                </svg>
2402                Back
2403              </button>
2404            </li>
2405
2406            <li class="menu-item">
2407              <a href="/collections/sunbrella-mesh-sheer-sling-fabric" class="all-btn large-text">Sunbrella Mesh / Sheer / Sling Fabric</a>
2408            </li>
2409
2410            
2411              <li class="menu-item">
2412                <div class="menu-link-row">
2413                  <a href="/collections/sunbrella-54-inch-shade-shadow-mesh-sheer-fabric" class="menu-link">Shadow 54 Inch</a>
2414
2415                  
2416                </div>
2417              </li>
2418            
2419              <li class="menu-item">
2420                <div class="menu-link-row">
2421                  <a href="/collections/sunbrella-sheer-mist-fabric" class="menu-link">Sheer Mist</a>
2422
2423                  
2424                </div>
2425              </li>
2426            
2427              <li class="menu-item">
2428                <div class="menu-link-row">
2429                  <a href="/collections/120-inch-mesh-sheer-fabric" class="menu-link">Sheers 118 Inch</a>
2430
2431                  
2432                </div>
2433              </li>
2434            
2435          </ul>
2436
2437          
2438            
2439          
2440            
2441          
2442            
2443          
2444
2445        
2446      
2447        
2448      
2449        
2450      
2451        
2452          <ul class="menu-panel-2 menu-panel is-hidden-right" id="menu-clear-vinyl-14" data-depth="1">
2453            <li class="back-header">
2454              <button class="back-btn" data-target="menu-root">
2455                <svg
2456                  width="24"
2457                  height="24"
2458                  viewBox="0 0 24 24"
2459                  fill="currentColor"
2460                  aria-hidden="true"
2461                  focusable="false"
2462                  role="presentation"
2463                  class="icon"
2464                >
2465                  <path d="m6.797 11.625 8.03-8.03 1.06 1.06-6.97 6.97 6.97 6.97-1.06 1.06z"></path>
2466                </svg>
2467                Back
2468              </button>
2469            </li>
2470
2471            <li class="menu-item">
2472              <a href="/collections/clear-vinyl" class="all-btn large-text">Clear Vinyl</a>
2473            </li>
2474
2475            
2476              <li class="menu-item">
2477                <div class="menu-link-row">
2478                  <a href="/collections/clear-vinyl-by-the-sheet" class="menu-link">Clear Vinyl by the Sheet</a>
2479
2480                  
2481                </div>
2482              </li>
2483            
2484              <li class="menu-item">
2485                <div class="menu-link-row">
2486                  <a href="/collections/clear-vinyl-by-the-yard" class="menu-link">Clear Vinyl by the Yard</a>
2487
2488                  
2489                </div>
2490              </li>
2491            
2492          </ul>
2493
2494          
2495            
2496          
2497            
2498          
2499
2500        
2501      
2502        
2503          <ul class="menu-panel-2 menu-panel is-hidden-right" id="menu-embellishments-finishing-supplies-15" data-depth="1">
2504            <li class="back-header">
2505              <button class="back-btn" data-target="menu-root">
2506                <svg
2507                  width="24"
2508                  height="24"
2509                  viewBox="0 0 24 24"
2510                  fill="currentColor"
2511                  aria-hidden="true"
2512                  focusable="false"
2513                  role="presentation"
2514                  class="icon"
2515                >
2516                  <path d="m6.797 11.625 8.03-8.03 1.06 1.06-6.97 6.97 6.97 6.97-1.06 1.06z"></path>
2517                </svg>
2518                Back
2519              </button>
2520            </li>
2521
2522            <li class="menu-item">
2523              <a href="/collections/finishing" class="all-btn large-text">Embellishments / Finishing Supplies</a>
2524            </li>
2525
2526            
2527              <li class="menu-item">
2528                <div class="menu-link-row">
2529                  <a href="/collections/adhesives-lubricants" class="menu-link">Adhesives & Lubricants</a>
2530
2531                  
2532                </div>
2533              </li>
2534            
2535              <li class="menu-item">
2536                <div class="menu-link-row">
2537                  <a href="/collections/sunbrella-binding-braid" class="menu-link">Sunbrella Binding</a>
2538
2539                  
2540                </div>
2541              </li>
2542            
2543              <li class="menu-item">
2544                <div class="menu-link-row">
2545                  <a href="/collections/sunbrella-facing" class="menu-link">Sunbrella Facing</a>
2546
2547                  
2548                </div>
2549              </li>
2550            
2551              <li class="menu-item">
2552                <div class="menu-link-row">
2553                  <a href="/collections/velcro-hook-and-loop" class="menu-link">Hook & Loop Tape</a>
2554
2555                  
2556                </div>
2557              </li>
2558            
2559              <li class="menu-item">
2560                <div class="menu-link-row">
2561                  <a href="/collections/seamstick-basting-tape" class="menu-link">Seamstick Basting Tape</a>
2562
2563                  
2564                </div>
2565              </li>
2566            
2567              <li class="menu-item">
2568                <div class="menu-link-row">
2569                  <a href="/collections/sunbrella-binding-braid" class="menu-link">Sunbrella Trimming</a>
2570
2571                  
2572                </div>
2573              </li>
2574            
2575              <li class="menu-item">
2576                <div class="menu-link-row">
2577                  <a href="/collections/sunbrella-sewing-thread" class="menu-link">Thread & Bobbin</a>
2578
2579                  
2580                </div>
2581              </li>
2582            
2583              <li class="menu-item">
2584                <div class="menu-link-row">
2585                  <a href="/collections/sunbrella-gimp-welt" class="menu-link">Vinyl Welt Cord</a>
2586
2587                  
2588                </div>
2589              </li>
2590            
2591          </ul>
2592
2593          
2594            
2595          
2596            
2597          
2598            
2599          
2600            
2601          
2602            
2603          
2604            
2605          
2606            
2607          
2608            
2609          
2610
2611        
2612      
2613        
2614          <ul class="menu-panel-2 menu-panel is-hidden-right" id="menu-hardware-tools-16" data-depth="1">
2615            <li class="back-header">
2616              <button class="back-btn" data-target="menu-root">
2617                <svg
2618                  width="24"
2619                  height="24"
2620                  viewBox="0 0 24 24"
2621                  fill="currentColor"
2622                  aria-hidden="true"
2623                  focusable="false"
2624                  role="presentation"
2625                  class="icon"
2626                >
2627                  <path d="m6.797 11.625 8.03-8.03 1.06 1.06-6.97 6.97 6.97 6.97-1.06 1.06z"></path>
2628                </svg>
2629                Back
2630              </button>
2631            </li>
2632
2633            <li class="menu-item">
2634              <a href="/collections/hardware-tools" class="all-btn large-text">Hardware / Tools</a>
2635            </li>
2636
2637            
2638              <li class="menu-item">
2639                <div class="menu-link-row">
2640                  <a href="/collections/common-sense" class="menu-link">Common Sense Curtain Fasteners / Tools</a>
2641
2642                  
2643                    <button class="next-btn" data-target="menu-common-sense-curtain-fasteners-tools-1">
2644                      <svg
2645                        width="24"
2646                        height="24"
2647                        viewB
2647ox="0 0 24 24"
2648                        aria-hidden="true"
2649                        focusable="false"
2650                        role="presentation"
2651                        class="icon"
2652                      >
2653                        <path d="M20 8.5 12.5 16 5 8.5" stroke="currentColor" stroke-width="1.5" fill="none"></path>
2654                      </svg>
2655                    </button>
2656                  
2657                </div>
2658              </li>
2659            
2660              <li class="menu-item">
2661                <div class="menu-link-row">
2662                  <a href="/collections/dot-fasteners" class="menu-link">Dot Durable Fasteners / Tools</a>
2663
2664                  
2665                    <button class="next-btn" data-target="menu-dot-durable-fasteners-tools-2">
2666                      <svg
2667                        width="24"
2668                        height="24"
2669                        viewBox="0 0 24 24"
2670                        aria-hidden="true"
2671                        focusable="false"
2672                        role="presentation"
2673                        class="icon"
2674                      >
2675                        <path d="M20 8.5 12.5 16 5 8.5" stroke="currentColor" stroke-width="1.5" fill="none"></path>
2676                      </svg>
2677                    </button>
2678                  
2679                </div>
2680              </li>
2681            
2682              <li class="menu-item">
2683                <div class="menu-link-row">
2684                  <a href="/collections/fasteners-and-grommets" class="menu-link">Grommets / Tools</a>
2685
2686                  
2687                    <button class="next-btn" data-target="menu-grommets-tools-3">
2688                      <svg
2689                        width="24"
2690                        height="24"
2691                        viewBox="0 0 24 24"
2692                        aria-hidden="true"
2693                        focusable="false"
2694                        role="presentation"
2695                        class="icon"
2696                      >
2697                        <path d="M20 8.5 12.5 16 5 8.5" stroke="currentColor" stroke-width="1.5" fill="none"></path>
2698                      </svg>
2699                    </button>
2700                  
2701                </div>
2702              </li>
2703            
2704              <li class="menu-item">
2705                <div class="menu-link-row">
2706                  <a href="/collections/fastener-sets" class="menu-link">Fastener Sets</a>
2707
2708                  
2709                </div>
2710              </li>
2711            
2712              <li class="menu-item">
2713                <div class="menu-link-row">
2714                  <a href="/collections/tools-accessories" class="menu-link">Hand Tools</a>
2715
2716                  
2717                </div>
2718              </li>
2719            
2720              <li class="menu-item">
2721                <div class="menu-link-row">
2722                  <a href="/collections/lift-the-dot" class="menu-link">Lift-the-Dot Fasteners / Tools</a>
2723
2724                  
2725                    <button class="next-btn" data-target="menu-lift-the-dot-fasteners-tools-6">
2726                      <svg
2727                        width="24"
2728                        height="24"
2729                        viewBox="0 0 24 24"
2730                        aria-hidden="true"
2731                        focusable="false"
2732                        role="presentation"
2733                        class="icon"
2734                      >
2735                        <path d="M20 8.5 12.5 16 5 8.5" stroke="currentColor" stroke-width="1.5" fill="none"></path>
2736                      </svg>
2737                    </button>
2738                  
2739                </div>
2740              </li>
2741            
2742              <li class="menu-item">
2743                <div class="menu-link-row">
2744                  <a href="/collections/industrial-and-upholstery-zippers" class="menu-link">Zippers / Tools</a>
2745
2746                  
2747                    <button class="next-btn" data-target="menu-zippers-tools-7">
2748                      <svg
2749                        width="24"
2750                        height="24"
2751                        viewBox="0 0 24 24"
2752                        aria-hidden="true"
2753                        focusable="false"
2754                        role="presentation"
2755                        class="icon"
2756                      >
2757                        <path d="M20 8.5 12.5 16 5 8.5" stroke="currentColor" stroke-width="1.5" fill="none"></path>
2758                      </svg>
2759                    </button>
2760                  
2761                </div>
2762              </li>
2763            
2764              <li class="menu-item">
2765                <div class="menu-link-row">
2766                  <a href="/collections/outdoor-curtain-hardware" class="menu-link">Curtain Hardware</a>
2767
2768                  
2769                </div>
2770              </li>
2771            
2772          </ul>
2773
2774          
2775            
2776              <ul class="menu-panel-3 menu-panel is-hidden-right" id="menu-common-sense-curtain-fasteners-tools-1" data-depth="2">
2777                <li class="back-header">
2778                  <button class="back-btn" data-target="menu-hardware-tools-16">
2779                    <svg
2780                      width="24"
2781                      height="24"
2782                      viewBox="0 0 24 24"
2783                      fill="currentColor"
2784                      aria-hidden="true"
2785                      focusable="false"
2786                      role="presentation"
2787                      class="icon"
2788                    >
2789                      <path d="m6.797 11.625 8.03-8.03 1.06 1.06-6.97 6.97 6.97 6.97-1.06 1.06z"></path>
2790                    </svg>
2791                    Back
2792                  </button>
2793                </li>
2794
2795                <li class="menu-item">
2796                  <a href="/collections/common-sense" class="all-btn large-text">Common Sense Curtain Fasteners / Tools</a>
2797                </li>
2798
2799                
2800                  <li class="menu-item">
2801                    <div class="menu-link-row">
2802                      <a href="/collections/common-sense-curtain-fasteners" class="menu-link">Common Sense Curtain Fasteners</a>
2803                    </div>
2804                  </li>
2805                
2806                  <li class="menu-item">
2807                    <div class="menu-link-row">
2808                      <a href="/collections/common-sense-curtain-tools" class="menu-link">Common Sense Curtain Tools</a>
2809                    </div>
2810                  </li>
2811                
2812              </ul>
2813            
2814          
2815            
2816              <ul class="menu-panel-3 menu-panel is-hidden-right" id="menu-dot-durable-fasteners-tools-2" data-depth="2">
2817                <li class="back-header">
2818                  <button class="back-btn" data-target="menu-hardware-tools-16">
2819                    <svg
2820                      width="24"
2821                      height="24"
2822                      viewBox="0 0 24 24"
2823                      fill="currentColor"
2824                      aria-hidden="true"
2825                      focusable="false"
2826                      role="presentation"
2827                      class="icon"
2828                    >
2829                      <path d="m6.797 11.625 8.03-8.03 1.06 1.06-6.97 6.97 6.97 6.97-1.06 1.06z"></path>
2830                    </svg>
2831                    Back
2832                  </button>
2833                </li>
2834
2835                <li class="menu-item">
2836                  <a href="/collections/dot-fasteners" class="all-btn large-text">Dot Durable Fasteners / Tools</a>
2837                </li>
2838
2839                
2840                  <li class="menu-item">
2841                    <div class="menu-link-row">
2842                      <a href="/collections/dot-durable" class="menu-link">Dot Durable Fasteners</a>
2843                    </div>
2844                  </li>
2845                
2846                  <li class="menu-item">
2847                    <div class="menu-link-row">
2848                      <a href="/collections/dies-presses-punches" class="menu-link">Dot Durable Tools</a>
2849                    </div>
2850                  </li>
2851                
2852              </ul>
2853            
2854          
2855            
2856              <ul class="menu-panel-3 menu-panel is-hidden-right" id="menu-grommets-tools-3" data-depth="2">
2857                <li class="back-header">
2858                  <button class="back-btn" data-target="menu-hardware-tools-16">
2859                    <svg
2860                      width="24"
2861                      height="24"
2862                      viewBox="0 0 24 24"
2863                      fill="currentColor"
2864                      aria-hidden="true"
2865                      focusable="false"
2866                      role="presentation"
2867                      class="icon"
2868                    >
2869                      <path d="m6.797 11.625 8.03-8.03 1.06 1.06-6.97 6.97 6.97 6.97-1.06 1.06z"></path>
2870                    </svg>
2871                    Back
2872                  </button>
2873                </li>
2874
2875                <li class="menu-item">
2876                  <a href="/collections/fasteners-and-grommets" class="all-btn large-text">Grommets / Tools</a>
2877                </li>
2878
2879                
2880                  <li class="menu-item">
2881                    <div class="menu-link-row">
2882                      <a href="/collections/dies-presses-punches" class="menu-link">Grommet Tools</a>
2883                    </div>
2884                  </li>
2885                
2886                  <li class="menu-item">
2887                    <div class="menu-link-row">
2888                      <a href="/collections/osborne" class="menu-link">Home Grommet Kit</a>
2889                    </div>
2890                  </li>
2891                
2892              </ul>
2893            
2894          
2895            
2896          
2897            
2898          
2899            
2900              <ul class="menu-panel-3 menu-panel is-hidden-right" id="menu-lift-the-dot-fasteners-tools-6" data-depth="2">
2901                <li class="back-header">
2902                  <button class="back-btn" data-target="menu-hardware-tools-16">
2903                    <svg
2904                      width="24"
2905                      height="24"
2906                      viewBox="0 0 24 24"
2907                      fill="currentColor"
2908                      aria-hidden="true"
2909                      focusable="false"
2910                      role="presentation"
2911                      class="icon"
2912                    >
2913                      <path d="m6.797 11.625 8.03-8.03 1.06 1.06-6.97 6.97 6.97 6.97-1.06 1.06z"></path>
2914                    </svg>
2915                    Back
2916                  </button>
2917                </li>
2918
2919                <li class="menu-item">
2920                  <a href="/collections/lift-the-dot" class="all-btn large-text">Lift-the-Dot Fasteners / Tools</a>
2921                </li>
2922
2923                
2924                  <li class="menu-item">
2925                    <div class="menu-link-row">
2926                      <a href="/collections/lift-the-dot-fasteners" class="menu-link">Lift-the-Dot Fasteners</a>
2927                    </div>
2928                  </li>
2929                
2930                  <li class="menu-item">
2931                    <div class="menu-link-row">
2932                      <a href="/collections/lift-the-dot-tools" class="menu-link">Lift-the-Dot Tools</a>
2933                    </div>
2934                  </li>
2935                
2936              </ul>
2937            
2938          
2939            
2940              <ul class="menu-panel-3 menu-panel is-hidden-right" id="menu-zippers-tools-7" data-depth="2">
2941                <li class="back-header">
2942                  <button class="back-btn" data-target="menu-hardware-tools-16">
2943                    <svg
2944                      width="24"
2945                      height="24"
2946                      viewBox="0 0 24 24"
2947                      fill="currentColor"
2948                      aria-hidden="true"
2949                      focusable="false"
2950                      role="presentation"
2951                      class="icon"
2952                    >
2953                      <path d="m6.797 11.625 8.03-8.03 1.06 1.06-6.97 6.97 6.97 6.97-1.06 1.06z"></path>
2954                    </svg>
2955                    Back
2956                  </button>
2957                </li>
2958
2959                <li class="menu-item">
2960                  <a href="/collections/industrial-and-upholstery-zippers" class="all-btn large-text">Zippers / Tools</a>
2961                </li>
2962
2963                
2964                  <li class="menu-item">
2965                    <div class="menu-link-row">
2966                      <a href="/collections/ykk-10-zippers-black" class="menu-link">YKK #10 Zippers Black</a>
2967                    </div>
2968                  </li>
2969                
2970                  <li class="menu-item">
2971                    <div class="menu-link-row">
2972                      <a href="/collections/ykk-10-zippers-white" class="menu-link">YKK #10 Zippers White</a>
2973                    </div>
2974                  </li>
2975                
2976                  <li class="menu-item">
2977                    <div class="menu-link-row">
2978                      <a href="/collections/ykk-5-cushion-zippers" class="menu-link">YKK #5 Cushion Zippers</a>
2979                    </div>
2980                  </li>
2981                
2982                  <li class="menu-item">
2983                    <div class="menu-link-row">
2984                      <a href="/collections/ykk-zipper-accessories" class="menu-link">YKK Zipper Accessories</a>
2985                    </div>
2986                  </li>
2987                
2988              </ul>
2989            
2990          
2991            
2992          
2993
2994        
2995      
2996        
2997      
2998        
2999      
3000        
3001      
3002
3003    </div>
3004
3005</div>
3006
3007<div class="site-overlay toggle-sidebar" id="siteOverlay"></div>
3008
3009<script>
3010
3011  //////////////////////////////////////////////////////////////
3012  document.addEventListener('DOMContentLoaded', function () {
3013    
3014    // 1. Define the reusable toggle logic
3015    const toggleSidebars = document.querySelectorAll('.toggle-sidebar');
3016
3017    toggleSidebars.forEach(function(trigger) {
3018        trigger.addEventListener('click', function(e) {
3019            e.preventDefault(); // Prevents <a href="#"> from jumping to top
3020            
3021            const hamburgerBtn = document.getElementById('hamburger-btn');
3022            const sidebar = document.getElementById('sidebarDrawer');
3023            const overlay = document.getElementById('siteOverlay');
3024            const body = document.body;
3025
3026            // Toggle active states
3027            if (sidebar) { 
3028              sidebar.classList.toggle('active'); 
3029            }
3030            if (overlay) {
3031              overlay.classList.toggle('active');
3032            }
3033            
3034            // Toggle the hamburger icon animation (if it exists)
3035            if (hamburgerBtn) {
3036              hamburgerBtn.classList.toggle('active');
3037            }
3038
3039            // Prevent background scrolling
3040            if (sidebar && sidebar.classList.contains('active')) {
3041              body.classList.add('overflow-hidden');
3042              //document.querySelector('.main-menu .js-mega-nav.is-open').classList.remove('is-open');
3043              //document.querySelector('.main-menu .js-mega-nav .main-menu__disclosure[is-open]').removeAttribute('is-open');
3044              //document.querySelector('body > .overlay.js-overlay.overlay--nav.is-visible').classList.remove('is-visible');
3045              $q('.main-menu .js-mega-nav.is-open').removeClass('is-open');
3046              $q('.main-menu .js-mega-nav .main-menu__disclosure[is-open]').removeAttr('is-open');
3047              $q('body > .overlay.js-overlay.overlay--nav.is-visible').removeClass('is-visible');
3048            } else {
3049              body.classList.remove('overflow-hidden');
3050            }
3051        });
3052    });
3053
3054    // FUNCTION 1: OPEN SUB-MENU (Slide Left)
3055    const nextBtns = document.querySelectorAll('.next-btn');
3056
3057    nextBtns.forEach((btn) => {
3058      btn.addEventListener('click', function (e) {
3059        e.preventDefault();
3060
3061        // 1. Identify the Current Menu (Parent) and Target Menu (Child)
3062        const currentMenu = this.closest('.menu-panel');
3063        const targetId = this.getAttribute('data-target');
3064        const targetMenu = document.getElementById(targetId);
3065
3066        if (targetMenu) {
3067          // 2. Animate Parent OUT to Left
3068          currentMenu.classList.remove('is-visible');
3069          currentMenu.classList.add('is-hidden-left');
3070
3071          // 3. Animate Child IN from Right
3072          targetMenu.classList.remove('is-hidden-right');
3073          targetMenu.classList.add('is-visible');
3074
3075          // 4. Reset Scroll (UX improvement)
3076          targetMenu.scrollTop = 0;
3077        }
3078      });
3079    });
3080
3081    // FUNCTION 2: GO BACK (Slide Right)
3082    const backBtns = document.querySelectorAll('.back-btn');
3083
3084    backBtns.forEach((btn) => {
3085      btn.addEventListener('click', function (e) {
3086        e.preventDefault();
3087
3088        // 1. Identify Current Menu (Child) and Target Menu (Parent)
3089        const currentMenu = this.closest('.menu-panel');
3090        const targetId = this.getAttribute('data-target');
3091        const targetMenu = document.getElementById(targetId);
3092
3093        if (targetMenu) {
3094          // 2. Animate Child OUT to Right
3095          currentMenu.classList.remove('is-visible');
3096          currentMenu.classList.add('is-hidden-right');
3097
3098          // 3. Animate Parent IN from Left
3099          targetMenu.classList.remove('is-hidden-left');
3100          targetMenu.classList.add('is-visible');
3101        }
3102      });
3103    });
3104
3105    const sidebarDrawer = document.querySelector('.sidebar-drawer');
3106    const prefersDark = window.matchMedia && window.matchMedia('(prefers-color-scheme: dark)').matches;
3107    if (prefersDark) {
3108      // Dark mode is enabled in the system settings
3109      sidebarDrawer.classList.add('dark-mode');
3110    } else {
3111      // Light mode (or no preference) is enabled
3112      //console.log('Light mode is on');
3113    }
3114
3115  });
3116</script>
3116
3117
3118        
3119        
3120        <details class="main-menu__disclosure has-motion" open>
3121          <summary class="main-menu__toggle md:hidden">
3122            <span class="main-menu__toggle-icon" aria-hidden="true"></span>
3123            <span class="visually-hidden">Menu</span>
3124          </summary>
3125          <div class="main-menu__content has-motion justify-between"><nav aria-label="Primary">
3126              <ul class="main-nav"><li><details class="js-mega-nav" >
3127                        <summary class="main-nav__item--toggle relative js-nav-hover js-toggle">
3128                          <a class="main-nav__item main-nav__item--primary main-nav__item-content" href="/collections/sunbrella-cushions-pillows">
3129                            Cushions &amp; Pillows<svg width="24" height="24" viewBox="0 0 24 24" aria-hidden="true" focusable="false" role="presentation" class="icon"><path d="M20 8.5 12.5 16 5 8.5" stroke="currentColor" stroke-width="1.5" fill="none"/></svg>
3130                          </a>
3131                        </summary><div class="main-nav__child mega-nav mega-nav--columns has-motion">
3132                          <div class="container">
3133                            <ul class="child-nav md:grid md:nav-gap-x-16 md:nav-gap-y-4 md:grid-cols-3 lg:grid-cols-4">
3134                              <li class="md:hidden">
3135                                <button type="button" class="main-nav__item main-nav__item--back relative js-back">
3136                                  <div class="main-nav__item-content text-start">
3137                                    <svg width="24" height="24" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" focusable="false" role="presentation" class="icon"><path d="m6.797 11.625 8.03-8.03 1.06 1.06-6.97 6.97 6.97 6.97-1.06 1.06z"/></svg> Back</div>
3138                                </button>
3139                              </li>
3140
3141                              <li class="md:hidden">
3142                                <a href="/collections/sunbrella-cushions-pillows" class="main-nav__item child-nav__item large-text main-nav__item-header">Cushions &amp; Pillows</a>
3143                              </li><li><nav-menu class="js-mega-nav">
3144                                      <details open>
3145                                        <summary class="child-nav__item--toggle main-nav__item--toggle relative js-no-toggle-md">
3146                                          <div class="main-nav__item-content"><a class="child-nav__item main-nav__item main-nav__item-content" href="#" data-no-instant>Most Popular<svg width="24" height="24" viewBox="0 0 24 24" aria-hidden="true" focusable="false" role="presentation" class="icon"><path d="M20 8.5 12.5 16 5 8.5" stroke="currentColor" stroke-width="1.5" fill="none"/></svg>
3147                                            </a>
3148                                          </div>
3149                                        </summary>
3150
3151                                        <div class="disclosure__panel has-motion"><ul class="main-nav__grandchild has-motion  " role="list" style=""><li><a class="grandchild-nav__item main-nav__item" href="/products/custom-chair-cushions-in-sunbrella-fabric-made-in-the-usa">Chair</a>
3152                                              </li><li><a class="grandchild-nav__item main-nav__item" href="/products/sunbrella-outdoor-sofa-cushions">Sofa</a>
3153                                              </li><li><a class="grandchild-nav__item main-nav__item" href="/products/sunbrella-bench-window-cushions">Bench</a>
3154                                              </li><li><a class="grandchild-nav__item main-nav__item" href="/products/sunbrella-breakfast-nook-cushions">Nook</a>
3155                                              </li><li><a class="grandchild-nav__item main-nav__item" href="/products/sunbrella-swing-glider-cushions">Glider</a>
3156                                              </li><li><a class="grandchild-nav__item main-nav__item" href="/collections/sunbrella-custom-cushions">Shop All</a>
3157                                              </li></ul>
3158                                        </div>
3159                                      </details>
3160                                    </nav-menu></li><li><nav-menu class="js-mega-nav">
3161                                      <details open>
3162                                        <summary class="child-nav__item--toggle main-nav__item--toggle relative js-no-toggle-md">
3163                                          <div class="main-nav__item-content"><a class="child-nav__item main-nav__item main-nav__item-content" href="#" data-no-instant>Cushions<svg width="24" height="24" viewBox="0 0 24 24" aria-hidden="true" focusable="false" role="presentation" class="icon"><path d="M20 8.5 12.5 16 5 8.5" stroke="currentColor" stroke-width="1.5" fill="none"/></svg>
3164                                            </a>
3165                                          </div>
3166                                        </summary>
3167
3168                                        <div class="disclosure__panel has-motion"><ul class="main-nav__grandchild has-motion  " role="list" style=""><li><a class="grandchild-nav__item main-nav__item" href="/collections/sunbrella-custom-cushions">Custom Size Cushions</a>
3169                                              </li><li><a class="grandchild-nav__item main-nav__item" href="/collections/sunbrella-swing-bed-cushion-sets">Swing Bed Cushion Sets</a>
3170                                              </li></ul>
3171                                        </div>
3172                                      </details>
3173                                    </nav-menu></li><li><nav-menu class="js-mega-nav">
3174                                      <details open>
3175                                        <summary class="child-nav__item--toggle main-nav__item--toggle relative js-no-toggle-md">
3176                                          <div class="main-nav__item-content"><a class="child-nav__item main-nav__item main-nav__item-content" href="#" data-no-instant>Pillows<svg width="24" height="24" viewBox="0 0 24 24" aria-hidden="true" focusable="false" role="presentation" class="icon"><path d="M20 8.5 12.5 16 5 8.5" stroke="currentColor" stroke-width="1.5" fill="none"/></svg>
3177                                            </a>
3178                                          </div>
3179                                        </summary>
3180
3181                                        <div class="disclosure__panel has-motion"><ul class="main-nav__grandchild has-motion  " role="list" style=""><li><a class="grandchild-nav__item main-nav__item" href="/products/sunbrella-pillows">Standard Size Pillows</a>
3182                                              </li><li><a class="grandchild-nav__item main-nav__item" href="/products/sunbrella-custom-size-throw-pillows">Custom Odd Size Pillows</a>
3183                                              </li><li><a class="grandchild-nav__item main-nav__item" href="/products/sunbrella-bolster-pillows">Custom Bolsters</a>
3184                                              </li></ul>
3185                                        </div>
3186                                      </details>
3187                                    </nav-menu></li><li><nav-menu class="js-mega-nav">
3188                                      <details open>
3189                                        <summary class="child-nav__item--toggle main-nav__item--toggle relative js-no-toggle-md">
3190                                          <div class="main-nav__item-content"><a class="child-nav__item main-nav__item main-nav__item-content" href="#" data-no-instant>Get Started<svg width="24" height="24" viewBox="0 0 24 24" aria-hidden="true" focusable="false" role="presentation" class="icon"><path d="M20 8.5 12.5 16 5 8.5" stroke="currentColor" stroke-width="1.5" fill="none"/></svg>
3191                                            </a>
3192                                          </div>
3193                                        </summary>
3194
3195                                        <div class="disclosure__panel has-motion"><ul class="main-nav__grandchild has-motion  " role="list" style=""><li><a class="grandchild-nav__item main-nav__item" href="/collections/bestselling-sunbrella-samples">Explore Curated Samples</a>
3196                                              </li><li><a class="grandchild-nav__item main-nav__item" href="/pages/sunbrella-measuring-cushion">How To Measure for Cushions</a>
3197                                              </li><li><a class="grandchild-nav__item main-nav__item" href="/pages/measuring-guide-for-unique-shaped-cushions">Guide for Unique Shaped Cushions</a>
3198                                              </li></ul>
3199                                        </div>
3200                                      </details>
3201                                    </nav-menu></li></ul></div></div>
3202                      </details></li><li>
3202<details class="js-mega-nav" >
3203                        <summary class="main-nav__item--toggle relative js-nav-hover js-toggle">
3204                          <a class="main-nav__item main-nav__item--primary main-nav__item-content" href="/collections/sunbrella-curtains-and-drapery-panels">
3205                            Curtains &amp; Drapery<svg width="24" height="24" viewBox="0 0 24 24" aria-hidden="true" focusable="false" role="presentation" class="icon"><path d="M20 8.5 12.5 16 5 8.5" stroke="currentColor" stroke-width="1.5" fill="none"/></svg>
3206                          </a>
3207                        </summary><div class="main-nav__child mega-nav mega-nav--columns has-motion">
3208                          <div class="container">
3209                            <ul class="child-nav md:grid md:nav-gap-x-16 md:nav-gap-y-4 md:grid-cols-3 lg:grid-cols-4">
3210                              <li class="md:hidden">
3211                                <button type="button" class="main-nav__item main-nav__item--back relative js-back">
3212                                  <div class="main-nav__item-content text-start">
3213                                    <svg width="24" height="24" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" focusable="false" role="presentation" class="icon"><path d="m6.797 11.625 8.03-8.03 1.06 1.06-6.97 6.97 6.97 6.97-1.06 1.06z"/></svg> Back</div>
3214                                </button>
3215                              </li>
3216
3217                              <li class="md:hidden">
3218                                <a href="/collections/sunbrella-curtains-and-drapery-panels" class="main-nav__item child-nav__item large-text main-nav__item-header">Curtains &amp; Drapery</a>
3219                              </li><li><nav-menu class="js-mega-nav">
3220                                      <details open>
3221                                        <summary class="child-nav__item--toggle main-nav__item--toggle relative js-no-toggle-md">
3222                                          <div class="main-nav__item-content"><a class="child-nav__item main-nav__item main-nav__item-content" href="#" data-no-instant>Curtains<svg width="24" height="24" viewBox="0 0 24 24" aria-hidden="true" focusable="false" role="presentation" class="icon"><path d="M20 8.5 12.5 16 5 8.5" stroke="currentColor" stroke-width="1.5" fill="none"/></svg>
3223                                            </a>
3224                                          </div>
3225                                        </summary>
3226
3227                                        <div class="disclosure__panel has-motion"><ul class="main-nav__grandchild has-motion  " role="list" style=""><li><a class="grandchild-nav__item main-nav__item" href="/collections/sunbrella-custom-outdoor-curtains">Custom Size Curtains</a>
3228                                              </li><li><a class="grandchild-nav__item main-nav__item" href="/collections/sunbrella-standard-size-curtains">Standard Size Curtains</a>
3229                                              </li></ul>
3230                                        </div>
3231                                      </details>
3232                                    </nav-menu></li><li><nav-menu class="js-mega-nav">
3233                                      <details open>
3234                                        <summary class="child-nav__item--toggle main-nav__item--toggle relative js-no-toggle-md">
3235                                          <div class="main-nav__item-content"><a class="child-nav__item main-nav__item main-nav__item-content" href="#" data-no-instant>Hardware<svg width="24" height="24" viewBox="0 0 24 24" aria-hidden="true" focusable="false" role="presentation" class="icon"><path d="M20 8.5 12.5 16 5 8.5" stroke="currentColor" stroke-width="1.5" fill="none"/></svg>
3236                                            </a>
3237                                          </div>
3238                                        </summary>
3239
3240                                        <div class="disclosure__panel has-motion"><ul class="main-nav__grandchild has-motion  " role="list" style=""><li><a class="grandchild-nav__item main-nav__item" href="/collections/outdoor-curtain-hardware">Curtain Hardware</a>
3241                                              </li></ul>
3242                                        </div>
3243                                      </details>
3244                                    </nav-menu></li><li><nav-menu class="js-mega-nav">
3245                                      <details open>
3246                                        <summary class="child-nav__item--toggle main-nav__item--toggle relative js-no-toggle-md">
3247                                          <div class="main-nav__item-content"><a class="child-nav__item main-nav__item main-nav__item-content" href="#" data-no-instant>Get Started<svg width="24" height="24" viewBox="0 0 24 24" aria-hidden="true" focusable="false" role="presentation" class="icon"><path d="M20 8.5 12.5 16 5 8.5" stroke="currentColor" stroke-width="1.5" fill="none"/></svg>
3248                                            </a>
3249                                          </div>
3250                                        </summary>
3251
3252                                        <div class="disclosure__panel has-motion"><ul class="main-nav__grandchild has-motion  " role="list" style=""><li><a class="grandchild-nav__item main-nav__item" href="/pages/sunbrella-measuring-cushion#measuring-curtains">How to Measure for Curtains</a>
3253                                              </li><li><a class="grandchild-nav__item main-nav__item" href="/pages/measuring-guide-for-curtain-hardware">How to Measure for Curtain Hardware</a>
3254                                              </li></ul>
3255                                        </div>
3256                                      </details>
3257                                    </nav-menu></li></ul></div></div>
3258                      </details></li><li>
3258<details class="js-mega-nav" >
3259                        <summary class="main-nav__item--toggle relative js-nav-hover js-toggle">
3260                          <a class="main-nav__item main-nav__item--primary main-nav__item-content" href="/collections/sunbrella-fabric-by-the-yard">
3261                            Sunbrella Fabric<svg width="24" height="24" viewBox="0 0 24 24" aria-hidden="true" focusable="false" role="presentation" class="icon"><path d="M20 8.5 12.5 16 5 8.5" stroke="currentColor" stroke-width="1.5" fill="none"/></svg>
3262                          </a>
3263                        </summary><div class="main-nav__child mega-nav mega-nav--columns has-motion">
3264                          <div class="container">
3265                            <ul class="child-nav md:grid md:nav-gap-x-16 md:nav-gap-y-4 md:grid-cols-3 lg:grid-cols-4">
3266                              <li class="md:hidden">
3267                                <button type="button" class="main-nav__item main-nav__item--back relative js-back">
3268                                  <div class="main-nav__item-content text-start">
3269                                    <svg width="24" height="24" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" focusable="false" role="presentation" class="icon"><path d="m6.797 11.625 8.03-8.03 1.06 1.06-6.97 6.97 6.97 6.97-1.06 1.06z"/></svg> Back</div>
3270                                </button>
3271                              </li>
3272
3273                              <li class="md:hidden">
3274                                <a href="/collections/sunbrella-fabric-by-the-yard" class="main-nav__item child-nav__item large-text main-nav__item-header">Sunbrella Fabric</a>
3275                              </li><li><nav-menu class="js-mega-nav">
3276                                      <details open>
3277                                        <summary class="child-nav__item--toggle main-nav__item--toggle relative js-no-toggle-md">
3278                                          <div class="main-nav__item-content"><a class="child-nav__item main-nav__item main-nav__item-content" href="#" data-no-instant>Shop by Color<svg width="24" height="24" viewBox="0 0 24 24" aria-hidden="true" focusable="false" role="presentation" class="icon"><path d="M20 8.5 12.5 16 5 8.5" stroke="currentColor" stroke-width="1.5" fill="none"/></svg>
3279                                            </a>
3280                                          </div>
3281                                        </summary>
3282
3283                                        <div class="disclosure__panel has-motion"><ul class="main-nav__grandchild has-motion  " role="list" style=""><li><a class="grandchild-nav__item main-nav__item" href="/collections/black-sunbrella-fabrics">Black</a>
3284                                              </li><li><a class="grandchild-nav__item main-nav__item" href="/collections/white-sunbrella-fabrics">White</a>
3285                                              </li><li><a class="grandchild-nav__item main-nav__item" href="/collections/beige-sunbrella-fabrics">Beige</a>
3286                                              </li><li><a class="grandchild-nav__item main-nav__item" href="/collections/grey-sunbrella-fabrics">Grey</a>
3287                                              </li><li><a class="grandchild-nav__item main-nav__item" href="/collections/brown-sunbrella-fabrics">Brown</a>
3288                                              </li><li><a class="grandchild-nav__item main-nav__item" href="/collections/all">Shop All</a>
3289                                              </li></ul>
3290                                        </div>
3291                                      </details>
3292                                    </nav-menu></li><li><nav-menu class="js-mega-nav">
3293                                      <details open>
3294                                        <summary class="child-nav__item--toggle main-nav__item--toggle relative js-no-toggle-md">
3295                                          <div class="main-nav__item-content"><a class="child-nav__item main-nav__item main-nav__item-content" href="#" data-no-instant>Shop by Design<svg width="24" height="24" viewBox="0 0 24 24" aria-hidden="true" focusable="false" role="presentation" class="icon"><path d="M20 8.5 12.5 16 5 8.5" stroke="currentColor" stroke-width="1.5" fill="none"/></svg>
3296                                            </a>
3297                                          </div>
3298                                        </summary>
3299
3300                                        <div class="disclosure__panel has-motion"><ul class="main-nav__grandchild has-motion  " role="list" style=""><li><a class="grandchild-nav__item main-nav__item" href="/collections/solid-sunbrella-fabrics">Solids</a>
3301                                              </li><li><a class="grandchild-nav__item main-nav__item" href="/collections/striped-sunbrella-fabrics">Stripes</a>
3302                                              </li><li><a class="grandchild-nav__item main-nav__item" href="/collections/prints-p
3302atterned-sunbrella-fabrics">Prints / Patterns</a>
3303                                              </li><li><a class="grandchild-nav__item main-nav__item" href="/collections/textured-sunbrella-fabrics">Textured</a>
3304                                              </li><li><a class="grandchild-nav__item main-nav__item" href="/collections/botanical-floral-sunbrella-fabrics">Botanical / Floral</a>
3305                                              </li></ul>
3306                                        </div>
3307                                      </details>
3308                                    </nav-menu></li><li><nav-menu class="js-mega-nav">
3309                                      <details open>
3310                                        <summary class="child-nav__item--toggle main-nav__item--toggle relative js-no-toggle-md">
3311                                          <div class="main-nav__item-content"><a class="child-nav__item main-nav__item main-nav__item-content" href="#" data-no-instant>Shop by Use<svg width="24" height="24" viewBox="0 0 24 24" aria-hidden="true" focusable="false" role="presentation" class="icon"><path d="M20 8.5 12.5 16 5 8.5" stroke="currentColor" stroke-width="1.5" fill="none"/></svg>
3312                                            </a>
3313                                          </div>
3314                                        </summary>
3315
3316                                        <div class="disclosure__panel has-motion"><ul class="main-nav__grandchild has-motion  " role="list" style=""><li><a class="grandchild-nav__item main-nav__item" href="/collections/sunbrella-indoor-outdoor-upholstery-fabric">Indoor - Outdoor Upholstery</a>
3317                                              </li><li><a class="grandchild-nav__item main-nav__item" href="/collections/sunbrella-awning-marine-fabric">Awnings / Canopies / Pergolas</a>
3318                                              </li><li><a class="grandchild-nav__item main-nav__item" href="/collections/sunbrella-marine-vinyl">Marine Vinyl</a>
3319                                              </li><li><a class="grandchild-nav__item main-nav__item" href="/collections/sunbrella-sling-fabric">Sling</a>
3320                                              </li><li><a class="grandchild-nav__item main-nav__item" href="/collections/sunbrella-rain-canvas-upholstery-fabric">Waterproof Upholstery</a>
3321                                              </li><li><a class="grandchild-nav__item main-nav__item" href="/collections/sunbrella-sheer-fabric">Sheer Drapery</a>
3322                                              </li></ul>
3323                                        </div>
3324                                      </details>
3325                                    </nav-menu></li><li><nav-menu class="js-mega-nav">
3326                                      <details open>
3327                                        <summary class="child-nav__item--toggle main-nav__item--toggle relative js-no-toggle-md">
3328                                          <div class="main-nav__item-content"><a class="child-nav__item main-nav__item main-nav__item-content" href="#" data-no-instant>Get Started<svg width="24" height="24" viewBox="0 0 24 24" aria-hidden="true" focusable="false" role="presentation" class="icon"><path d="M20 8.5 12.5 16 5 8.5" stroke="currentColor" stroke-width="1.5" fill="none"/></svg>
3329                                            </a>
3330                                          </div>
3331                                        </summary>
3332
3333                                        <div class="disclosure__panel has-motion"><ul class="main-nav__grandchild has-motion  " role="list" style=""><li><a class="grandchild-nav__item main-nav__item" href="/collections/sunbrella-fabric-samples">Order Free Samples</a>
3334                                              </li><li><a class="grandchild-nav__item main-nav__item" href="/collections/sunbrella-fabric-by-the-yard">Shop Most Popular</a>
3335                                              </li><li><a class="grandchild-nav__item main-nav__item" href="/collections/new-sunbrella-fabrics">Explore New Sunbrella</a>
3336                                              </li><li><a class="grandchild-nav__item main-nav__item" href="/pages/contact">Need Help Choosing a Fabric?</a>
3337                                              </li></ul>
3338                                        </div>
3339                                      </details>
3340                                    </nav-menu></li></ul></div></div>
3341                      </details></li><li>
3341<details class="js-mega-nav" >
3342                        <summary class="main-nav__item--toggle relative js-nav-hover js-toggle">
3343                          <a class="main-nav__item main-nav__item--primary main-nav__item-content" href="/collections/sunbrella-samples">
3344                            Samples<svg width="24" height="24" viewBox="0 0 24 24" aria-hidden="true" focusable="false" role="presentation" class="icon"><path d="M20 8.5 12.5 16 5 8.5" stroke="currentColor" stroke-width="1.5" fill="none"/></svg>
3345                          </a>
3346                        </summary><div class="main-nav__child mega-nav mega-nav--columns mega-nav--no-grandchildren has-motion">
3347                          <div class="container">
3348                            <ul class="child-nav md:grid md:nav-gap-x-16 md:nav-gap-y-4 md:grid-cols-3 lg:grid-cols-4">
3349                              <li class="md:hidden">
3350                                <button type="button" class="main-nav__item main-nav__item--back relative js-back">
3351                                  <div class="main-nav__item-content text-start">
3352                                    <svg width="24" height="24" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" focusable="false" role="presentation" class="icon"><path d="m6.797 11.625 8.03-8.03 1.06 1.06-6.97 6.97 6.97 6.97-1.06 1.06z"/></svg> Back</div>
3353                                </button>
3354                              </li>
3355
3356                              <li class="md:hidden">
3357                                <a href="/collections/sunbrella-samples" class="main-nav__item child-nav__item large-text main-nav__item-header">Samples</a>
3358                              </li><li><a class="main-nav__item child-nav__item"
3359                                         href="/collections/sunbrella-fabric-samples">Free Samples</a></li><li><a class="main-nav__item child-nav__item"
3360                                         href="/collections/bestselling-sunbrella-samples">Sample Packs</a></li><li><a class="main-nav__item child-nav__item"
3361                                         href="/collections/designer-samples">Designer Samples</a></li></ul></div></div>
3362                      </details></li><li><details class="js-mega-nav" >
3363                        <summary class="main-nav__item--toggle relative js-nav-hover js-toggle">
3364                          <a class="main-nav__item main-nav__item--primary main-nav__item-content" href="/collections/all-hardware-and-finishing-supplies">
3365                            Shade &amp; More<svg width="24" height="24" viewBox="0 0 24 24" aria-hidden="true" focusable="false" role="presentation" class="icon"><path d="M20 8.5 12.5 16 5 8.5" stroke="currentColor" stroke-width="1.5" fill="none"/></svg>
3366                          </a>
3367                        </summary><div class="main-nav__child mega-nav mega-nav--columns has-motion">
3368                          <div class="container">
3369                            <ul class="child-nav md:grid md:nav-gap-x-16 md:nav-gap-y-4 md:grid-cols-3 lg:grid-cols-4">
3370                              <li class="md:hidden">
3371                                <button type="button" class="main-nav__item main-nav__item--back relative js-back">
3372                                  <div class="main-nav__item-content text-start">
3373                                    <svg width="24" height="24" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" focusable="false" role="presentation" class="icon"><path d="m6.797 11.625 8.03-8.03 1.06 1.06-6.97 6.97 6.97 6.97-1.06 1.06z"/></svg> Back</div>
3374                                </button>
3375                              </li>
3376
3377                              <li class="md:hidden">
3378                                <a href="/collections/all-hardware-and-finishing-supplies" class="main-nav__item child-nav__item large-text main-nav__item-header">Shade &amp; More</a>
3379                              </li><li><nav-menu class="js-mega-nav">
3380                                      <details open>
3381                                        <summary class="child-nav__item--toggle main-nav__item--toggle relative js-no-toggle-md">
3382                                          <div class="main-nav__item-content"><a class="child-nav__item main-nav__item main-nav__item-content" href="#" data-no-instant>
3382Shade<svg width="24" height="24" viewBox="0 0 24 24" aria-hidden="true" focusable="false" role="presentation" class="icon"><path d="M20 8.5 12.5 16 5 8.5" stroke="currentColor" stroke-width="1.5" fill="none"/></svg>
3383                                            </a>
3384                                          </div>
3385                                        </summary>
3386
3387                                        <div class="disclosure__panel has-motion"><ul class="main-nav__grandchild has-motion  " role="list" style=""><li><a class="grandchild-nav__item main-nav__item" href="/products/custom-size-sunbrella-fabric-playset-canopy-with-grommets">Sunbrella Grommet Playset Canopy</a>
3388                                              </li><li><a class="grandchild-nav__item main-nav__item" href="/products/sunbrella-swingset-playset-canopy-cover-with-snaps">Sunbrella Pocket Playset Canopy</a>
3389                                              </li><li><a class="grandchild-nav__item main-nav__item" href="/products/custom-size-sunbrella-fabric-panel-with-grommets">Sunbrella Grommet Fabric Panel</a>
3390                                              </li><li><a class="grandchild-nav__item main-nav__item" href="/products/custom-size-sunbrella-fabric-panel-with-side-pockets">Sunbrella Pocket Fabric Panel</a>
3391                                              </li></ul>
3392                                        </div>
3393                                      </details>
3394                                    </nav-menu></li><li><nav-menu class="js-mega-nav">
3395                                      <details open>
3396                                        <summary class="child-nav__item--toggle main-nav__item--toggle relative js-no-toggle-md">
3397                                          <div class="main-nav__item-content"><a class="child-nav__item main-nav__item main-nav__item-content" href="#" data-no-instant>Supplies<svg width="24" height="24" viewBox="0 0 24 24" aria-hidden="true" focusable="false" role="presentation" class="icon"><path d="M20 8.5 12.5 16 5 8.5" stroke="currentColor" stroke-width="1.5" fill="none"/></svg>
3398                                            </a>
3399                                          </div>
3400                                        </summary>
3401
3402                                        <div class="disclosure__panel has-motion"><ul class="main-nav__grandchild has-motion  " role="list" style=""><li><a class="grandchild-nav__item main-nav__item" href="/collections/clear-vinyl">Clear Vinyl</a>
3403                                              </li><li><a class="grandchild-nav__item main-nav__item" href="/collections/sunbrella-binding-braid">Binding, Facing and Braid</a>
3404                                              </li><li><a class="grandchild-nav__item main-nav__item" href="/collections/sunbrella-furniture-cleaners">Cleaners</a>
3405                                              </li><li><a class="grandchild-nav__item main-nav__item" href="/collections/sunbrella-gimp-welt">Gimp and Welt</a>
3406                                              </li><li><a class="grandchild-nav__item main-nav__item" href="/collections/velcro-hook-and-loop">Hook and Loop Tape</a>
3407                                              </li><li><a class="grandchild-nav__item main-nav__item" href="/collections/sunbrella-sewing-thread">Thread and Bobbins</a>
3408                                              </li></ul>
3409                                        </div>
3410                                      </details>
3411                                    </nav-menu></li><li><nav-menu class="js-mega-nav">
3412                                      <details open>
3413                                        <summary class="child-nav__item--toggle main-nav__item--toggle relative js-no-toggle-md">
3414                                          <div class="main-nav__item-content"><a class="child-nav__item main-nav__item main-nav__item-content" href="#" data-no-instant>Hardware<svg width="24" height="24" viewBox="0 0 24 24" aria-hidden="true" focusable="false" role="presentation" class="icon"><path d="M20 8.5 12.5 16 5 8.5" stroke="currentColor" stroke-width="1.5" fill="none"/></svg>
3415                                            </a>
3416                                          </div>
3417                                        </summary>
3418
3419                                        <div class="disclosure__panel has-motion"><ul class="main-nav__grandchild has-motion  " role="list" style=""><li><a class="grandchild-nav__item main-nav__item" href="/collections/dies-presses-punches">Dies, Presses and Punches</a>
3420                                              </li><li><a class="grandchild-nav__item main-nav__item" href="/collections/dot-fasteners">DOT Fasteners</a>
3421                                              </li><li><a class="grandchild-nav__item main-nav__item" href="/collections/fasteners-and-grommets">Fasteners and Grommets</a>
3422                                              </li><li><a class="grandchild-nav__item main-nav__item" href="/collections/fastener-sets">Fastener Sets</a>
3423                                              </li><li><a class="grandchild-nav__item main-nav__item" href="/collections/industrial-and-upholstery-zippers">Zippers</a>
3424                                              </li><li><a class="grandchild-nav__item main-nav__item" href="/collections/tools-accessories">Tools and Accessories</a>
3425                                              </li></ul>
3426                                        </div>
3427                                      </details>
3428                                    </nav-menu></li></ul></div></div>
3429                      </details></li><li>
3429<details>
3430                        <summary class="main-nav__item--toggle relative js-nav-hover js-toggle">
3431                          <a class="main-nav__item main-nav__item--primary main-nav__item-content" href="#">
3432                            Company Links<svg width="24" height="24" viewBox="0 0 24 24" aria-hidden="true" focusable="false" role="presentation" class="icon"><path d="M20 8.5 12.5 16 5 8.5" stroke="currentColor" stroke-width="1.5" fill="none"/></svg>
3433                          </a>
3434                        </summary><div class="main-nav__child has-motion">
3435                          
3436                            <ul class="child-nav child-nav--dropdown">
3437                              <li class="md:hidden">
3438                                <button type="button" class="main-nav__item main-nav__item--back relative js-back">
3439                                  <div class="main-nav__item-content text-start">
3440                                    <svg width="24" height="24" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" focusable="false" role="presentation" class="icon"><path d="m6.797 11.625 8.03-8.03 1.06 1.06-6.97 6.97 6.97 6.97-1.06 1.06z"/></svg> Back</div>
3441                                </button>
3442                              </li>
3443
3444                              <li class="md:hidden">
3445                                <a href="#" class="main-nav__item child-nav__item large-text main-nav__item-header">Company Links</a>
3446                              </li><li><a class="main-nav__item child-nav__item"
3447                                         href="/pages/contact">Contact Us</a></li><li><a class="main-nav__item child-nav__item"
3448                                         href="/pages/about-us">About Us</a></li><li><a class="main-nav__item child-nav__item"
3449                                         href="/pages/terms-conditions">Policies</a></li></ul></div>
3450                      </details></li></ul>
3451            </nav></div>
3452        </details>
3453      </main-menu></header>
3454</store-header><link rel="stylesheet" href="//www.outdoorfabriccentral.com/cdn/shop/t/2/assets/navigation-mega-columns.css?v=138392974294765369581736781214" media="print" onload="this.media='all'">
3455
3456
3457
3458
3459
3460</div><section id="shopify-section-sections--24043609358700__custom_liquid_3gXcpK" class="shopify-section shopify-section-group-header-group cc-custom-liquid"><div class="section relative section--full-width">
3461 
3462
3463  
3464     
3465        
3466          <div data-promo-handle="fallsave" class="ecs-promo-strip container text-center flex-wrap flex-auto items-center justify-center gap-x-theme promo-strip__container cc-animate-init cc-animate-in" data-cc-animate="">            
3467            <div class="section__block rte promo-strip__rte">
3468                <div class="metafield-rich_text_field"><p>A New Season Of Savings –<strong> 10% OFF</strong> orders $329+</p></div>        
3469            </div>
3470            <link href="//outdoorfabriccentral.myshopify.com/cdn/shop/t/2/assets/discount-code.css?v=9084971361650302981736781214" rel="stylesheet" type="text/css" media="all">
3471              
3471<script src="//outdoorfabriccentral.myshopify.com/cdn/shop/t/2/assets/discount-code.js?v=67364963395034188621736781213" defer="defer"></script>
3471
3472              <div class="section__block promo-strip__discount shrink-0 text-center">
3473                  <discount-code class="discount-code inline-flex discount-code--small">
3474                    <div class="input-with-button relative">
3475                        <span class="discount-code__code input font-bold text-sm js-discount-code">FALLSAVE</span>
3476                        <button class="discount-code__btn h-full btn btn--sm no-js-hidden js-copy-button"> <svg width="24" height="24" viewBox="0 0 24 24" aria-hidden="true" focusable="false" role="presentation" class="icon"><g fill="none" fill-rule="evenodd"><path d="M0 0h24v24H0z"></path><path d="M16.363 1.25a2.75 2.75 0 0 1 2.745 2.582l.005.168h-1.5a1.25 1.25 0 0 0-1.122-1.244l-.128-.006H4a1.25 1.25 0 0 0-1.244 1.122L2.75 4v12.56c0 .648.492 1.18 1.122 1.244L4 17.81v1.5a2.75 2.75 0 0 1-2.745-2.582l-.005-.168V4a2.75 2.75 0 0 1 2.582-2.745L4 1.25h12.363z" fill="currentColor"></path><path d="M20 4.69H7.637a2.75 2.75 0 0 0-2.75 2.75V20a2.75 2.75 0 0 0 2.75 2.75H20A2.75 2.75 0 0 0 22.75 20V7.44A2.75 2.75 0 0 0 20 4.69zM7.637 6.19H20c.69 0 1.25.56 1.25 1.25V20c0 .69-.56 1.25-1.25 1.25H7.637c-.69 0-1.25-.56-1.25-1.25V7.44c0-.69.56-1.25 1.25-1.25z" fill="currentColor"></path><g fill="currentColor" fill-rule="nonzero"><path d="M17.03 12.909c.442 0 .8.363.8.81a.808.808 0 0 1-.7.806l-.1.006h-6.422a.806.806 0 0 1-.802-.811c0-.414.306-.755.701-.805l.101-.006h6.421z"></path><path d="M13.819 9.66c.408 0 .745.309.795.709l.006.101v6.5a.806.806 0 0 1-.801.81.805.805 0 0 1-.796-.71l-.006-.1v-6.5c0-.448.359-.81.802-.81z"></path></g></g></svg>Copy code</button>
3477                        <div class="discount-code__success font-bold text-sm absolute top-0 left-0 right-0 bottom-0 overflow-hidden flex items-center justify-center text-theme-text js-copy-success" aria-hidden="true">
3478                            <span class="flex items-center justify-center"><svg style="width:24px;height:24px" viewBox="0 0 24 24" aria-hidden="true" focusable="false" role="presentation" class="icon"><path fill="currentColor" d="M12 2C6.5 2 2 6.5 2 12s4.5 10 10 10 10-4.5 10-10S17.5 2 12 2m0 18c-4.41 0-8-3.59-8-8s3.59-8 8-8 8 3.59 8 8-3.59 8-8 8m4.59-12.42L10 14.17l-2.59-2.58L6 13l4 4 8-8-1.41-1.42Z"></path></svg>Copied</span>
3479                        </div>
3480                    </div>
3481                  </discount-code>
3482              </div>
3483            
3484            
3485            
3486            
3487          </div>
3488        
3489     
3490        
3491     
3492        
3493     
3494        
3495         
3496</div>
3497
3498
3499</section>
3500<!-- END sections: header-group -->
3501
3502  <main id="main-content"><div id="shopify-section-template--24043609948524__main" class="shopify-section cc-main-cart section section--template"><link href="//www.outdoorfabriccentral.com/cdn/shop/t/2/assets/cart-items.css?v=10866608773905452351736781213" rel="stylesheet" type="text/css" media="all" />
3503<script src="//www.outdoorfabriccentral.com/cdn/shop/t/2/assets/cart-note.js?v=126131321468449833931736781214" defer="defer"></script>
3503<div class="container">
3504  <form class="cart form" id="cart" action="/cart" method="post">
3505    <div class="cart__items"><h1 class="cart__title h2 mb-10 text-center js-cart-title">Your cart</h1><div id="free-shipping-notice" class="free-shipping-notice"></div>
3506
3507
3508
3509      <div class="alert mt-8 mb-8 bg-error-bg text-error-text" id="cart-errors" role="alert" hidden></div>
3510
3511      <cart-items id="cart-items" data-section="template--24043609948524__main" data-empty="true"><div class="cart-empty flex flex-col justify-center items-center h-full js-cart-empty"><svg width="24" height="24" viewBox="0 0 24 24" class="icon icon--cart" aria-hidden="true" focusable="false" role="presentation"><path fill="currentColor" d="M17 18a2 2 0 0 1 2 2 2 2 0 0 1-2 2 2 2 0 0 1-2-2c0-1.11.89-2 2-2M1 2h3.27l.94 2H20a1 1 0 0 1 1 1c0 .17-.05.34-.12.5l-3.58 6.47c-.34.61-1 1.03-1.75 1.03H8.1l-.9 1.63-.03.12a.25.25 0 0 0 .25.25H19v2H7a2 2 0 0 1-2-2c0-.35.09-.68.24-.96l1.36-2.45L3 4H1V2m6 16a2 2 0 0 1 2 2 2 2 0 0 1-2 2 2 2 0 0 1-2-2c0-1.11.89-2 2-2m9-7 2.78-5H6.14l2.36 5H16Z"/></svg><p>Your cart is empty</p><a class="btn btn--primary" href="/collections/all">Start shopping</a></div><p class="visually-hidden" id="cart-live-region-text" role="status" aria-live="polite">
3512    Subtotal:$0.00 USD
3513</p>
3514  <p class="visually-hidden" id="cart-line-item-status" role="status" aria-live="polite" aria-hidden="true">Loading...</p></cart-items>
3515
3516
3517      
3518</div></form>
3519</div>
3520</div><section id="shopify-section-template--24043609948524__custom_liquid_8VCw6H" class="shopify-section cc-custom-liquid"><div class="section relative section--full-width"><div class="container">
3521
3522    <style>
3523      /* start - cart pretty print  modal */
3524      @media screen {
3525        :root {
3526          --border-strong: #c8c8cf;
3527          --preview-width: 980px; /* 980px */
3528          --button-border-radius: 30px;
3529        }
3530
3531        html.cart-print-modal-active #main-content {
3532          position: relative;
3533          z-index: 40;
3534        }
3535
3536        html.cart-print-modal-active .needsclick {
3537          display: none !important;
3538        }
3539
3540        /*
3541        html.cart-print-modal-active #shopify-section-template--24043609948524__custom_liquid_8VCw6H,
3542        html.cart-print-modal-active #shopify-section-template--23954067030314__custom_liquid_6ndtFM {
3543          position: relative;
3544          z-index: 99999;
3545        }*/
3546
3547        #pretty-print-preview-section.preview-section .preview-section-inner {
3548          width: var(--preview-width);
3549          display: grid;
3550          grid-template-columns: 250px 1fr;
3551          gap: 1rem;
3552          width: 1200px;
3553          margin: 0 auto;
3554          align-items: start;
3555        }
3556
3557        @media (max-width: 760px) {
3558
3559        }
3560
3561        #pretty-print-preview-section .pretty-print-preview-shell {
3562          padding: 2rem;
3563        }
3564
3565        /* modal */
3566        .preview-section__modal-bar {
3567          /* display: flex;
3568          align-items: center;
3569          justify-content: space-between; */
3570          gap: 1.2rem;
3571          margin: 0;
3572        }
3573
3574        html.is-cart.cart-print-modal-active .cc-animate-enabled [data-cc-animate] {
3575            opacity: 1 !important;
3576        }
3577
3578        .preview-section__modal-bar .preview-section__title {
3579        }
3580
3581        .preview-section__close {
3582          display: flex;
3583          z-index: 1;
3584          align-items: center;
3585          justify-content: center;
3586          width: 40px;
3587          height: 40px;
3588          padding: 0.9rem !important;
3589          border: 1px solid var(--border-strong);
3590          border-radius: var(--button-border-radius, 30px);
3591          background: #fff;
3592          color: #222 !important;
3593          font-size: 1.6rem !important;
3594          font-weight: 800 !important;
3595          text-shadow:
3596            1px 1px 1px rgba(0, 0, 0, 0.2),
3597            -1px -1px 1px rgba(0, 0, 0, 0.2);
3598          cursor: pointer;
3599        }
3600
3601        .preview-section__force-page-break {
3602          display: flex;
3603          z-index: 1;
3604          align-items: center;
3605          justify-content: center;
3606          width: 40px;
3607          height: 40px;
3608          padding: 0.9rem !important;
3609          border: 1px solid var(--border-strong);
3610          border-radius: var(--button-border-radius, 30px);
3611          background: #fff;
3612          color: #222 !important;
3613          font-size: 1.6rem !important;
3614          font-weight: 800 !important;
3615          text-shadow:
3616            1px 1px 1px rgba(0, 0, 0, 0.2),
3617            -1px -1px 1px rgba(0, 0, 0, 0.2);
3618          cursor: pointer;
3619        }
3620
3621        #pretty-print-preview-section [data-force-page-break="false"].preview-section__modal-bar .preview-section__force-page-break {
3622         /*  border-color: #111;
3623          background: #333;
3624          color: #FFF !important; */
3625        }
3626
3627        #pretty-print-preview-section .preview-section__modal-bar .preview-section__force-page-break svg {
3628          display: none;
3629        }
3630
3631        #pretty-print-preview-section [data-force-page-break="true"].preview-section__modal-bar .preview-section__force-page-break #svg-force-page-break {
3632          display: block;
3633        }
3634
3635        #pretty-print-preview-section [data-force-page-break="false"].preview-section__modal-bar .preview-section__force-page-break #svg-remove-page-break {
3636          display: block;
3637        }
3638
3639        #pretty-print-preview-section .preview-section__modal-bar .preview-section__force-page-break svg path.svg-page-break-1 {
3640          fill: none; 
3641          stroke: rgb(252 46 118); 
3642          stroke-linecap: round; 
3643          stroke-linejoin: round; 
3644          stroke-width: 2;
3645        }
3646
3647        /* #pretty-print-preview-section [data-force-page-break="false"].preview-section__modal-bar .preview-section__force-page-break svg path.svg-page-break-1 {
3648          stroke: rgb(252 46 118);
3649        } */
3650
3651        #pretty-print-preview-section .preview-section__modal-bar .preview-section__force-page-break svg path.svg-page-break-2 {
3652          fill: none; 
3653          stroke: rgb(0, 0, 0); 
3654          stroke-linecap: round; 
3655          stroke-linejoin: round; 
3656          stroke-width: 2;
3657        }
3658
3659        /* #pretty-print-preview-section [data-force-page-break="false"].preview-section__modal-bar .preview-section__force-page-break svg path.svg-page-break-2 {
3660          stroke: #FFF;
3661        } */
3662
3663        #pretty-print-preview-section .preview-section__modal-bar .preview-section__force-page-break svg path.svg-page-break-3 {
3664          fill: none; 
3665          stroke: rgb(0, 0, 0); 
3666          stroke-linecap: round; 
3667          stroke-linejoin: round; 
3668          stroke-width: 2;
3669        }
3670
3671        /* #pretty-print-preview-section [data-force-page-break="false"].preview-section__modal-bar .preview-section__force-page-break svg path.svg-page-break-3 {
3672          stroke: #FFF;
3673        } */
3674
3675        #pretty-print-preview-section .preview-section__modal-bar .preview-section__force-page-break svg polygon.svg-page-break-4 {
3676          fill: none; 
3677          stroke: rgb(0, 0, 0); 
3678          stroke-linecap: round; 
3679          stroke-linejoin: round; 
3680          stroke-width: 2;
3681        }
3682
3683        /* #pretty-print-preview-section [data-force-page-break="false"].preview-section__modal-bar .preview-section__force-page-break svg polygon.svg-page-break-4 {
3684          stroke: #FFF;
3685        } */
3686
3687        html.cart-print-modal-active,
3688        html.cart-print-modal-active body {
3689          overflow: hidden;
3690        }
3691
3692        #pretty-print-preview-section.preview-section {
3693          display: none;
3694          position: fixed;
3695          inset: 0;
3696          z-index: 0;/* 99999 */
3697          max-width: none;
3698          width: 100%;
3699          height: 100dvh;
3700          margin: 0;
3701          padding: 0 0 2rem 0;
3702          border: 0;
3703          border-radius: 0;
3704          background: rgba(239, 239, 241, 0.98);
3705          overflow: auto;
3706          opacity: 0;
3707          visibility: hidden;
3708          pointer-events: none;
3709          transform: scale(0.985);
3710          transform-origin: center center;
3711          transition:
3712            opacity 180ms ease,
3713            transform 220ms ease,
3714            visibility 0s linear 220ms;
3715        }
3716
3717        #pretty-print-preview-section .preview-section__modal-bar,
3718        #pretty-print-preview-section .print-controls,
3719        #pretty-print-preview-section.preview-section .preview-section-inner,
3720        #pretty-print-preview-section .pretty-print-preview-shell {
3721          opacity: 0;
3722          transform: translateY(14px);
3723          transition:
3724            opacity 220ms ease,
3725            transform 260ms ease;
3726        }
3727
3728        html.cart-print-modal-active #pretty-print-preview-section.preview-section .preview-section-inner {
3729          display: grid;
3730          grid-template-columns: 350px 1fr;
3731          gap: 1rem;
3732          width: 1200px;
3733          margin: 0 auto;
3734          align-items: start;
3735          opacity: 1;
3736          visibility: visible;
3737          transition:
3738            opacity 180ms ease,
3739            transform 220ms ease,
3740            visibility 0s linear 0s;
3741        }
3742
3743        #pretty-print-preview-section .preview-section__title {
3744          margin: 0;
3745          flex: 1 1 auto;
3746          margin: 1rem 0 2rem;
3747          text-align: center;
3748          font-size: 16px;
3749          font-weight: 800;
3750          text-transform: uppercase;
3751        }
3752
3753        html.cart-print-modal-active #pretty-print-preview-section.preview-section {
3754          z-index: 99999;
3755          position: fixed;
3756          display: block;
3757          opacity: 1;
3758          visibility: visible;
3759          pointer-events: auto;
3760          transform: scale(1);
3761          transition:
3762            opacity 180ms ease,
3763            transform 220ms ease,
3764            visibility 0s linear 0s;
3765        }
3766
3767        html.cart-print-modal-active #pretty-print-preview-section .preview-section__modal-bar {
3768          position: sticky;
3769          top: 0rem;
3770          z-index: 2;
3771          padding: 0 0 7rem 0;
3772          opacity: 1;
3773          transform: translateY(0);
3774          transition-delay: 40ms;
3775          background: transparent; /* rgba(239, 239, 241, 0.98) */
3776          display: grid;
3777        }
3778
3779        /* pretty print controls */
3780
3781        html.is-cart h1.cart__title .print-controls.print-controls-button,
3782        html.is-cart .print-controls.print-controls-button {
3783          display: inline-block;
3784          margin-bottom: 2rem;
3785        }
3786
3787        html.is-cart h1.cart__title .print-controls.print-controls-button {
3788          display: inline-block;
3789          position: relative;
3790          top: -0.5rem;
3791          margin-left: 2rem;
3792          margin-bottom: 0;
3793        }
3794
3795        html.cart-print-modal-active #pretty-print-preview-section .print-controls {
3796          display: grid;
3797          grid-template-columns: 1fr;
3798          gap: 0;
3799          width: 100%; /* var(--preview-width) */
3800          /*position: sticky;
3801          top: 0;
3802          z-index: 1;*/
3803          padding: 1.5rem;
3804          margin: 0 auto;
3805          box-shadow: 0 8px 24px rgba(0, 0, 0, 0.08);
3806          background: #ffffff;
3807          border-radius: var(--radius);
3808          opacity: 1;
3809          transform: translateY(0);
3810          transition-delay: 80ms;
3811        }
3812
3813        .print-controls details {
3814          padding: 0;
3815          margin: 0;
3816          position: relative;
3817          border-radius: 5px;
3818          border-bottom: 1px solid #ddd;
3819        }
3820
3821        .print-controls details[open] {
3822          padding-bottom: 1.3rem;
3823        }
3824
3825        .print-controls details:first-of-type {
3826          margin-top: -5px;
3827        }
3828
3829        .print-controls details summary {
3830          position: relative;
3831          padding: 1.5rem 5px;
3832          display: flex;
3833          font-size: 12px;
3834          font-weight: 700;
3835          line-height: 1.2rem;
3836          color: #4f4f4f;
3837          cursor: pointer;
3838          align-items: center;
3839          transition: color 0.3s 0s;
3840        }
3841
3842        .print-controls details[open] summary {
3843          padding-bottom: 1rem;
3844        }
3845
3846        .print-controls details summary:has(+ .is-accordion-content div .is-invalid) {
3847          color: #e74c3c;
3848        }
3849
3850        .print-controls details summary:hover {
3851          color: #111;
3852          transition: color 0.3s 0s;
3853        }
3854
3855        .print-controls details summary svg {
3856          content: '';
3857          position: absolute;
3858          top: calc(50%);
3859          left: auto;
3860          right: 2px;
3861          width: 16px;
3862          height: 16px;
3863          border-top-color: #666;
3864          /* background: url(/cdn/shop/files/fp-icon-arrow.svg?v=1749735196) no-repeat center center; */
3865          -webkit-transform: translateY(-50%) rotate(0deg);
3866          -ms-transform: translateY(-50%) rotate(0deg);
3867          transform: translateY(-50%) rotate(0);
3868          -webkit-transition: -webkit-transform 0.3s;
3869          transition: transform 0.2s;
3870        }
3871
3872        .print-controls details[open] summary svg {
3873          -webkit-transform: translateY(-50%) rotate(180deg);
3874          -ms-transform: translateY(-50%) rotate(180deg);
3875          transform: translateY(-50%) rotate(180deg);
3876          -webkit-transition: -webkit-transform 0.3s;
3877          transition: transform 0.2s;
3878        }
3879
3880        .print-controls details summary svg .st0 {
3881          fill: #8d8a8a;
3882          transition: fill 0.3s 0s;
3883        }
3884
3885        .print-controls details summary:hover svg .st0 {
3886          fill: #111;
3887          transition: fill 0.3s 0s;
3888        }
3889
3890        .print-controls .print-controls--content {
3891          display: grid;
3892          grid-template-columns: 1fr 1fr;
3893          gap: 1rem;
3894          margin-top: 5px;
3895        }
3896
3897        .print-controls .control-field {
3898          display: grid;
3899          gap: 6px;
3900          /* grid-column: span 4; */
3901        }
3902
3903        #pretty-print-preview-section .print-controls .full-width-col {
3904          grid-column: span 2;
3905        }
3906
3907        #pretty-print-preview-section .print-controls .preview-section__buttons {
3908          /* grid-column: span 4;
3909          display: flex;
3910          flex-direction: column; */
3911          display: grid;
3912          grid-template-columns: 38px 1fr 38px;
3913          justify-content: center;
3914          gap: 1rem;
3915          border-bottom: 1px solid #ddd;
3916          margin-bottom: 0.5rem;
3917          padding-bottom: 1.3rem;
3918        }
3919
3920        #pretty-print-preview-section [data-mode='email'][data-step='0'].preview-section__modal-bar .preview-section__buttons {
3921          /*display: none;*/
3922          padding-bottom: 0;
3923        }
3924
3925        #pretty-print-preview-section [data-mode='email'][data-step='0'].preview-section__modal-bar .preview-section__buttons button#open-print-preview-fields,
3926        #pretty-print-preview-section [data-mode='email'][data-step='0'].preview-section__modal-bar .preview-section__buttons button.force-break-print-preview {
3927          display: none;
3928        }
3929
3930        #pretty-print-preview-section [data-mode='email'][data-step='0'].preview-section__modal-bar .preview-section__buttons button#close-print-preview-modal{
3931          position: absolute;
3932          left: -5rem;
3933          top: 0rem;
3934        }
3935
3936        .print-controls .control-label {
3937          font-size: 12px;
3938          font-weight: 800;
3939          color: #2c3140;
3940          display: none;
3941        }
3942
3943        .print-controls .input,
3944        .print-controls .textarea {
3945          width: 100%;
3946          border: 1px solid var(--border-strong);
3947          border-width: 1px !important;
3948          border-radius: 10px;
3949          background: #fff;
3950          color: var(--text);
3951          padding: 11px 12px;
3952          font-size: 11px;
3953        }
3954
3955        .print-controls .textarea {
3956          min-height: 6.5rem;
3957          resize: vertical;
3958        }
3959
3960        .print-controls .btn {
3961          appearance: none;
3962          border: 1px solid var(--border-strong);
3963          background: #fff;
3964          color: var(--text);
3965          border-radius: var(--button-border-radius, 30px);
3966          padding: 12px 14px;
3967          font-size: 1.4rem;
3968          font-weight: 800;
3969          cursor: pointer;
3970          transition:
3971            transform 160ms var(--ease),
3972            border-color 160ms ease,
3973            box-shadow 160ms ease,
3974            opacity 160ms ease;
3975        }
3976
3977        .print-controls .btn--primary {
3978          /* background: #111;
3979          color: #fff;
3980          text-decoration: none;
3981          border-color: #111;
3982          text-align: center;
3983          width: 100%;
3984          transition: transform 160ms var(--ease), border-color 160ms ease, box-shadow 160ms ease, opacity 160ms ease; */
3985        }
3986
3987        h1 .print-controls.print-controls-button .workflow-action,
3988        html.is-cart .print-controls.print-controls-button .workflow-action {
3989          /* .btn--primary */
3990          text-decoration: none;
3991          padding: 12px 3rem;
3992          /* background: #111;
3993          color: #FFF;
3994          appearance: none;
3995          border: 1px solid var(--border-strong);          
3996          border-radius: var(--button-border-radius, 30px);          
3997          font-size: 1.4rem;
3998          font-weight: 800;
3999          cursor: pointer;          
4000          transform: translateY(0); 
4001          transition: transform 160ms var(--ease), background-color 350ms ease, border-color 160ms ease, box-shadow 160ms ease, opacity 160ms ease;*/
4002        }
4003
4004        h1 .print-controls.print-controls-button .workflow-action:hover,
4005        html.is-cart .print-controls.print-controls-button .workflow-action:hover {
4006            transform: translateY(-1px);
4007            border-color: #111;
4008            box-shadow: 0 8px 18px rgba(20, 24, 32, 0.09);
4009        }
4010
4011        [data-mode='email'] #open-print-preview-fields {
4012          /* opacity: 0.12; */
4013          appearance: none;
4014          border: 1px solid var(--border-strong);
4015          background: #fff;
4016          color: var(--text);
4017          border-radius: var(--button-border-radius, 30px);
4018          padding: 12px 14px;
4019          font-size: 1.4rem;
4020          font-weight: 800;
4021          cursor: pointer;
4022        }
4023
4024        [data-mode='email'] #open-print-preview-fields:hover {
4025          opacity: 1;
4026        }
4027
4028        #pretty-print-preview-section .preview-section__note {
4029          margin: 0 0 18px;
4030          color: var(--muted);
4031          font-size: 12px;
4032        }
4033
4034        /* print preview shell */
4035
4036        html.cart-print-modal-active #pretty-print-preview-section .pretty-print-preview-shell {
4037          margin: 0 auto;
4038          background: #fff;
4039          border: 1px dashed #d6d6db;
4040          border-radius: var(--radius);
4041          width: 100%;
4042          max-width: var(--preview-width);
4043          min-height: calc(100dvh - 24rem);
4044          padding: 2.268rem;/* equals 0.6cm */ /* 1.5rem */
4045          box-shadow: 0 10px 24px rgba(0, 0, 0, 0.08);
4046          opacity: 1;
4047          transform: translateY(0);
4048          transition-delay: 120ms;
4049        }
4050      }
4051    </style>
4052     <style>
4053      /* START - EMAIL DASHBOARD STYLES */
4054      @media screen {
4055        :root {
4056          --card-bg-soft: #f8fafc;
4057          --text: #15171c;
4058          --muted: #707786;
4059          --border: #dde1e8;
4060          --border-strong: #c9ced8;
4061          --accent: #111111;
4062          --success: #18a058;
4063          --success-soft: #e8f8ef;
4064          --warning: #c77700;
4065          --warning-soft: #fff5df;
4066          --danger: #d33b36;
4067          --danger-soft: #fff0ef;
4068          --shadow: 0 8px 24px rgba(0, 0, 0, 0.08); /* 0 22px 60px rgba(20, 24, 32, 0.14) */
4069          --card-bg: #ffffff;
4070          --shadow-soft: 0 10px 30px rgba(20, 24, 32, 0.08);
4071          --radius: 12px;
4072          --ease: cubic-bezier(0.22, 0.75, 0.15, 1);
4073        }
4074
4075        #pretty-print-preview-section .quote-workflow {
4076          position: relative;
4077          overflow: hidden;
4078          border: 1px solid rgba(221, 225, 232, 0.95);
4079          border-radius: var(--radius);
4080          background: var(--card-bg);
4081          box-shadow: var(--shadow-soft);
4082        }
4083
4084        .quote-pretty-print-banner-img {
4085          border-radius: var(--radius);
4086          max-width: 100%;
4087          height: auto;
4088          filter: grayscale(60%);
4089        }
4090
4091        #pretty-print-preview-section .quote-workflow__header {
4092          position: relative;
4093          padding: 18px 18px 16px;
4094          background: linear-gradient(135deg, rgba(17, 17, 17, 0.96), rgba(42, 47, 58, 0.96)), #111;
4095          color: #fff;
4096          display: none;
4097        }
4098
4099        #pretty-print-preview-section .quote-workflow__kicker {
4100          margin: 0 0 6px;
4101          font-size: 11px;
4102          font-weight: 900;
4103          letter-spacing: 0.14em;
4104          text-transform: uppercase;
4105          color: rgba(255, 255, 255, 0.62);
4106        }
4107
4108        #pretty-print-preview-section .quote-workflow__title {
4109          margin: 0;
4110          font-size: 18px;
4111          line-height: 1.15;
4112          font-weight: 900;
4113          letter-spacing: -0.03em;
4114        }
4115
4116        #pretty-print-preview-section .quote-workflow__sub {
4117          margin: 7px 0 0;
4118          font-size: 12px;
4119          line-height: 1.45;
4120          color: rgba(255, 255, 255, 0.72);
4121        }
4122
4123        #pretty-print-preview-section .quote-workflow__progress {
4124          height: 8px;
4125          background: rgba(255, 255, 255, 0.16);
4126          overflow: hidden;
4127        }
4128
4129        #pretty-print-preview-section .quote-workflow__progress-bar {
4130          width: 0%;
4131          height: 100%;
4132          background: linear-gradient(90deg, #7af0ac, #18a058);
4133          border-radius: 0; /* 999px */
4134          transition: width 420ms var(--ease);
4135        }
4136
4137        #pretty-print-preview-section .quote-workflow__meta {
4138          display: flex;
4139          justify-content: space-between;
4140          gap: 12px;
4141          padding: 12px 18px;
4142          border-bottom: 1px solid var(--border);
4143          background: var(--card-bg-soft);
4144          font-size: 12px;
4145          color: var(--muted);
4146        }
4147
4148        #pretty-print-preview-section .quote-workflow__meta strong {
4149          color: var(--text);
4150        }
4151
4152        #pretty-print-preview-section .preview-section__modal-bar[data-mode='quick'] .quote-workflow__progress,
4153        #pretty-print-preview-section .preview-section__modal-bar[data-mode='quick'] .quote-workflow__meta {
4154          display: none;
4155        }
4156
4157        #pretty-print-preview-section .quote-workflow__helpdesk-toggle {
4158          display: grid;
4159          grid-template-columns: 18px minmax(0, 1fr);
4160          gap: 9px;
4161          align-items: start;
4162          padding: 12px 18px;
4163          border-bottom: 1px solid var(--border);
4164          background: #ffffff;
4165          font-size: 12px;
4166          line-height: 1.35;
4167          font-weight: 900;
4168          color: #20242d;
4169          cursor: pointer;
4170        }
4171
4172        #pretty-print-preview-section .print-controls .quote-workflow__helpdesk-toggle {
4173          padding: 1.3rem 0 0 1px;
4174          border: none;
4175        }
4176
4177        #pretty-print-preview-section .quote-workflow__helpdesk-toggle input {
4178          width: 18px;
4179          height: 18px;
4180          margin: 0;
4181          accent-color: #222; /* var(--success) */
4182        }
4183
4184        #pretty-print-preview-section .quote-workflow__helpdesk-toggle span {
4185          min-width: 0;
4186          pointer-events: none;
4187        }
4188
4189        #pretty-print-preview-section .quote-workflow__helpdesk-toggle small {
4190          display: block;
4191          margin-top: 3px;
4192          color: var(--muted);
4193          font-size: 11px;
4194          font-weight: 400;
4195        }
4196
4197        #pretty-print-preview-section .quote-workflow__list {
4198          display: grid;
4199          gap: 0.7rem;
4200          padding: 6px;
4201          margin: 0;
4202          list-style: none;
4203        }
4204
4205        #pretty-print-preview-section .quote-step {
4206          position: relative;
4207          display: grid;
4208          grid-template-columns: 34px minmax(0, 1fr);
4209          gap: 10px;
4210          align-items: start;
4211          padding: 12px;
4212          border-radius: var(--radius);
4213          background: transparent;
4214          transition:
4215            background 220ms ease,
4216            transform 220ms var(--ease),
4217            opacity 220ms ease;
4218        }
4219
4220        #pretty-print-preview-section .quote-step + .quote-step {
4221          margin-top: 2px;
4222        }
4223
4224        #pretty-print-preview-section .quote-step.is-complete {
4225          background: var(--success-soft);
4226          animation: stepCompletePop 360ms var(--ease);
4227        }
4228
4229        #pretty-print-preview-section .quote-step.is-active {
4230          background: var(--warning-soft);
4231        }
4232
4233        #pretty-print-preview-section .quote-step.is-error {
4234          background: var(--danger-soft);
4235        }
4236
4237        #pretty-print-preview-section .quote-step.is-locked {
4238          opacity: 0.62;
4239        }
4240
4241        #pretty-print-preview-section .quote-step__icon {
4242          position: relative;
4243          width: 28px;
4244          height: 28px;
4245          border: 2px solid var(--border-strong);
4246          border-radius: 50%;
4247          background: #fff;
4248          transition:
4249            border-color 220ms ease,
4250            background 220ms ease,
4251            transform 220ms var(--ease),
4252            box-shadow 220ms ease;
4253        }
4254
4255        #pretty-print-preview-section .quote-step.is-active .quote-step__icon {
4256          border-color: var(--warning);
4257          background: #fff;
4258          box-shadow: 0 0 0 5px rgba(199, 119, 0, 0.12);
4259        }
4260
4261        #pretty-print-preview-section .quote-step.is-error .quote-step__icon {
4262          border-color: var(--danger);
4263          background: #fff;
4264          box-shadow: 0 0 0 5px rgba(211, 59, 54, 0.12);
4265        }
4266
4267        #pretty-print-preview-section .quote-step.is-complete:not(.is-active) .quote-step__icon {
4268          border-color: var(--success);
4269          background: var(--success);
4270          transform: scale(1.03);
4271        }
4272
4273        #pretty-print-preview-section .quote-step__icon::before {
4274          content: '';
4275          position: absolute;
4276          left: 8px;
4277          top: 4px;
4278          width: 5px;
4279          height: 10px;
4280          border-right: 3px solid #fff;
4281          border-bottom: 3px solid #fff;
4282          opacity: 0;
4283          transform: rotate(45deg) scale(0.55);
4284          transform-origin: center;
4285        }
4286
4287        #pretty-print-preview-section .quote-step.is-complete .quote-step__icon::before {
4288          animation: checkDraw 340ms var(--ease) forwards;
4289          animation-delay: 90ms;
4290          /*left: 8.6px;
4291          top: 4.5px;
4292          border-right: 3px solid #fff;
4293          border-bottom: 3px solid #fff;
4294          width: 7px;
4295          height: 12px;*/
4296        }
4297
4298        #pretty-print-preview-section .quote-step.is-complete > .quote-step__icon::before {
4299          animation: checkDraw 340ms var(--ease) forwards;
4300          animation-delay: 90ms;
4301          /*left: 6.6px;
4302          top: 2.5px;*/
4303          left: 8.6px;
4304          top: 4.5px;
4305          border-right: 3px solid #fff;
4306          border-bottom: 3px solid #fff;
4307          width: 7px;
4308          height: 12px;
4309        }
4310
4311        #pretty-print-preview-section .quote-step__icon::after {
4312          content: '';
4313          position: absolute;
4314          inset: -8px;
4315          border: 2px solid var(--success);
4316          border-radius: 50%;
4317          opacity: 0;
4318          transform: scale(0.65);
4319        }
4320
4321        #pretty-print-preview-section .quote-step.is-complete .quote-step__icon::after {
4322          animation: checkPulse 520ms ease-out forwards;
4323        }
4324
4325        #pretty-print-preview-section .quote-step.is-active .quote-step__icon-dot,
4326        .quote-step.is-error .quote-step__icon-dot {
4327          position: absolute;
4328          left: 50%;
4329          top: 50%;
4330          width: 8px;
4331          height: 8px;
4332          border-radius: 50%;
4333          transform: translate(-50%, -50%);
4334        }
4335
4336        #pretty-print-preview-section .quote-step.is-active .quote-step__icon-dot {
4337          background: var(--warning);
4338          animation: activeDotPulse 900ms ease-in-out infinite;
4339        }
4340
4341        #pretty-print-preview-section .quote-step.is-error .quote-step__icon-dot {
4342          background: var(--danger);
4343        }
4344
4345        #pretty-print-preview-section .quote-step__body {
4346          min-width: 0;
4347          padding-top: 1px;
4348        }
4349
4350        #pretty-print-preview-section .quote-step__label {
4351          display: block;
4352          font-size: 13px;
4353          line-height: 1.25;
4354          font-weight: 900;
4355          color: #20242d;
4356          transition: color 180ms ease;
4357        }
4358
4359        #pretty-print-preview-section .quote-step__hint {
4360          display: block;
4361          margin-top: 3px;
4362          font-size: 11px;
4363          line-height: 1.35;
4364          color: var(--muted);
4365          transition: color 180ms ease;
4366        }
4367
4368        #pretty-print-preview-section .quote-step.is-complete .quote-step__label {
4369          color: #12683b;
4370        }
4371
4372        #pretty-print-preview-section .quote-step.is-active .quote-step__label,
4373        #pretty-print-preview-section .quote-step.is-active .quote-step__hint {
4374          color: #8b5200;
4375        }
4376
4377        #pretty-print-preview-section .quote-step.is-error .quote-step__label,
4378        #pretty-print-preview-section .quote-step.is-error .quote-step__hint {
4379          color: #9c2421;
4380        }
4381
4382        #pretty-print-preview-section .review-panel {
4383          display: none;
4384          gap: 10px;
4385          margin-top: 12px;
4386          margin-left: -4.5rem;
4387          padding: 0;
4388          transform-origin: top;
4389          animation: reviewPanelIn 280ms var(--ease);
4390        }
4391
4392        #pretty-print-preview-section .review-panel:has(> .review-confirm) {
4393          padding: 12px;
4394          border: 1px solid var(--border);
4395          border-radius: 14px;
4396          background: rgba(255, 255, 255, 0.74);
4397        }
4398
4399        #pretty-print-preview-section .quote-step.is-complete .quote-print-panel,
4400        #pretty-print-preview-section .quote-step.is-complete .quote-attach-panel:not(.quote-reset-panel) {
4401          display: none;
4402        }
4403
4404        #pretty-print-preview-section .quote-step[data-step-key='printDialog'].is-complete,
4405        #pretty-print-preview-section .quote-step[data-step-key='fileAttached'].is-complete {
4406          cursor: pointer;
4407        }
4408
4409        #pretty-print-preview-section .quote-step[data-step-key='printDialog'].is-complete .quote-print-panel,
4410        #pretty-print-preview-section .quote-step[data-step-key='fileAttached'].is-complete .quote-attach-panel {
4411          cursor: default;
4412        }
4413
4414        #pretty-print-preview-section .quote-step.is-complete.is-manually-open .quote-print-panel,
4415        #pretty-print-preview-section .quote-step.is-complete.is-manually-open .quote-attach-panel:not(.quote-reset-panel) {
4416          display: grid;
4417        }
4418
4419        #pretty-print-preview-section .quote-step.is-active .review-panel,
4420        #pretty-print-preview-section li.is-complete:last-of-type .review-panel.quote-reset-panel {
4421          display: grid;
4422        }
4423
4424        #pretty-print-preview-section .review-panel__title {
4425          display: flex;
4426          justify-content: space-between;
4427          gap: 10px;
4428          margin: 0;
4429          font-size: 12px;
4430          font-weight: 900;
4431          color: #20242d;
4432        }
4433
4434        #pretty-print-preview-section .review-panel__badge {
4435          display: inline-flex;
4436          align-items: center;
4437          flex: 0 0 auto;
4438          padding: 3px 7px;
4439          border-radius: 999px;
4440          background: var(--warning-soft);
4441          color: #8b5200;
4442          font-size: 10px;
4443          font-weight: 900;
4444          text-transform: uppercase;
4445          letter-spacing: 0.05em;
4446        }
4447
4448        #pretty-print-preview-section .review-panel__badge.is-ready {
4449          background: var(--success-soft);
4450          color: #12683b;
4451        }
4452
4453        #pretty-print-preview-section .review-field-list {
4454          display: grid !important;
4455          gap: 6px !important;
4456          margin: 0 !important;
4457          padding: 0 !important;
4458          list-style: none !important;
4459        }
4460
4461        #pretty-print-preview-section .review-field {
4462          display: grid !important;
4463          grid-template-columns: minmax(0, 99px) minmax(0, 1fr) 16px;
4464          gap: 4px;
4465          align-items: baseline;
4466          /* center */
4467          padding: 7px 8px !important;
4468          border: 1px solid var(--border) !important;
4469          border-radius: 6px;
4470          background: #fff;
4471          font-size: 11px;
4472          cursor: pointer;
4473        }
4474
4475        #pretty-print-preview-section .review-field:hover {
4476          border-color: rgba(47, 111, 237, 0.35);
4477          box-shadow: 0 0 0 2px rgba(47, 111, 237, 0.08);
4478        }
4479
4480        #pretty-print-preview-section .review-field.is-valid {
4481          border-color: rgba(24, 160, 88, 0.3);
4482          background: rgba(232, 248, 239, 0.55);
4483        }
4484
4485        #pretty-print-preview-section .review-field.is-invalid {
4486          border-color: rgba(211, 59, 54, 0.32);
4487          background: rgba(255, 240, 239, 0.55);
4488        }
4489
4490        #pretty-print-preview-section .review-field__label {
4491          min-width: 0;
4492          font-weight: 700;
4493          color: #343946;
4494          text-align: right;
4495        }
4496
4497        #pretty-print-preview-section .review-field__label span {
4498          color: var(--danger);
4499        }
4500
4501        #pretty-print-preview-section .review-field__value {
4502          min-width: 0;
4503          overflow: hidden;
4504          color: #20242d;
4505          /*text-overflow: ellipsis;
4506          white-space: nowrap;*/
4507        }
4508
4509        #pretty-print-preview-section .review-field__status {
4510          display: inline-flex;
4511          align-items: center;
4512          justify-content: center;
4513          width: 16px;
4514          height: 16px;
4515          border-radius: 50%;
4516          background: var(--danger-soft);
4517          color: var(--danger);
4518          font-size: 10px;
4519          font-weight: 900;
4520        }
4521
4522        #pretty-print-preview-section .review-field.is-valid .review-field__status {
4523          background: var(--success);
4524          color: #fff;
4525        }
4526
4527        #pretty-print-preview-section .review-confirm {
4528          display: grid;
4529          grid-template-columns: 18px minmax(0, 1fr);
4530          gap: 9px;
4531          align-items: anchor-center;
4532          padding: 11px;
4533          border: 1px solid var(--border-strong);
4534          border-radius: var(--radius);
4535          background: #fff;
4536          font-size: 12px;
4537          line-height: 1.35;
4538          font-weight: 400;
4539          color: #20242d;
4540          cursor: pointer;
4541          transition:
4542            border-color 160ms ease,
4543            background 160ms ease,
4544            opacity 160ms ease;
4545        }
4546
4547        #pretty-print-preview-section .review-confirm.is-disabled {
4548          opacity: 0.52;
4549        }
4550
4551        #pretty-print-preview-section .review-confirm.is-disabled-visual {
4552          opacity: 0.52;
4553          cursor: pointer;
4554        }
4555
4556        #pretty-print-preview-section .review-confirm-message {
4557          margin: -4px 0 0;
4558          color: var(--danger);
4559          line-height: 1.35;
4560          font-weight: 400;
4561          border-color: rgba(211, 59, 54, 0.32);
4562          background: rgba(255, 240, 239, 0.55);
4563          display: grid;
4564          grid-template-columns: 1fr;
4565          gap: 8px;
4566          align-items: baseline;
4567          padding: 7px 8px;
4568          border-radius: 6px;
4569          font-size: 11px;
4570        }
4571
4572        #pretty-print-preview-section .review-field.is-shaking {
4573          animation: reviewFieldShake 360ms var(--ease);
4574        }
4575
4576        #pretty-print-preview-section .review-confirm.is-ready {
4577          border-color: rgba(24, 160, 88, 0.45);
4578          /* background: rgba(232, 248, 239, 0.48); */
4579        }
4580
4581        #pretty-print-preview-section .review-confirm input {
4582          width: 18px;
4583          height: 18px;
4584          margin: 0;
4585          accent-color: var(--success);
4586        }
4587
4588        #pretty-print-preview-section .quote-workflow__actions {
4589          display: grid;
4590          grid-template-columns: 1fr;
4591          gap: 8px;
4592          padding: 14px;
4593          border-top: 1px solid var(--border);
4594          background: var(--card-bg-soft);
4595        }
4596
4597        #pretty-print-preview-section .quote-workflow__actions-row {
4598          display: grid;
4599          grid-template-columns: 1fr 1fr;
4600          gap: 8px;
4601        }
4602
4603        #pretty-print-preview-section .workflow-action {
4604          border: 1px solid var(--border-strong);
4605          border-radius: var(--button-border-radius, 30px);
4606          padding: 12px 14px;
4607          background: #fff;
4608          color: #15171c;
4609          font-size: 14px;
4610          font-weight: 900;
4611          cursor: pointer;
4612          transition:
4613            transform 160ms var(--ease),
4614            border-color 160ms ease,
4615            box-shadow 160ms ease,
4616            opacity 160ms ease;
4617        }
4618        
4619        #pretty-print-preview-section #open-print-preview-fields {
4620          font-size: 13px;
4621        }
4622
4623        #pretty-print-preview-section .quote-print-panel__actions {
4624          display: grid;
4625          grid-template-columns: minmax(0, 1fr) 38px;
4626          gap: 1rem;
4627          align-items: center;
4628        }
4629        
4630
4631        #pretty-print-preview-section [data-continue-review-with-current-attachment].workflow-action {
4632        }
4633
4634        #pretty-print-preview-section .workflow-action:hover {
4635          transform: translateY(-1px);
4636          border-color: #111;
4637          box-shadow: 0 8px 18px rgba(20, 24, 32, 0.09);
4638        }
4639
4640        #pretty-print-preview-section .workflow-action:disabled {
4641          opacity: 0.45;
4642          transform: none;
4643          box-shadow: none;
4644          border-color: var(--border-strong);
4645        }
4646
4647        #pretty-print-preview-section .workflow-action.workflow-action--send:disabled {
4648          opacity: 1;
4649        }
4650
4651        #pretty-print-preview-section .workflow-action-btn {
4652          width: 100%;
4653          border: 1px solid #111;
4654          border-radius: var(--button-border-radius, 30px);
4655          padding: 12px 14px;
4656          background: #111;
4657          color: #fff;
4658          font-size: 14px;
4659          font-weight: 900;
4660          cursor: pointer;
4661          transition:
4662            transform 160ms var(--ease),
4663            box-shadow 160ms ease,
4664            opacity 160ms ease;
4665        }
4666
4667        #pretty-print-preview-section .workflow-action-btn:hover {
4668          transform: translateY(-1px);
4669          box-shadow: 0 10px 22px rgba(17, 17, 17, 0.16);
4670        }
4671
4672        #pretty-print-preview-section .workflow-action-btn:disabled {
4673          opacity: 0.45;
4674          transform: none;
4675          box-shadow: none;
4676        }
4677
4678        #pretty-print-preview-section .workflow-action--primary {
4679          /* background: #f38322;
4680          color: #fff;
4681          border-color: #f38322;*/ 
4682          background: #333;
4683          color: #FFF;
4684          border-color: #111;
4685        }
4686
4687        #pretty-print-preview-section .workflow-action.workflow-action--primary:hover {
4688          /* transform: none;
4689          border-color: #ce6810; */
4690        }
4691
4692        #pretty-print-preview-section .workflow-action-btn--secondary {
4693          background: #fff;
4694          col
4694or: #111;
4695          border-color: var(--border-strong);
4696        }
4697
4698        #pretty-print-preview-section .workflow-action-btn--success {
4699          background: var(--success);
4700          border-color: var(--success);
4701        }
4702
4703        #pretty-print-preview-section .workflow-action--send {
4704          background: #e74c3c; /* var(--success) */
4705          color: #fff;
4706          border-color: #e74c3c; /* var(--success) */
4707        }
4708
4709        #pretty-print-preview-section .quote-attach-file-list {
4710          display: grid;
4711          gap: 6px;
4712          margin: 0;
4713          padding: 0;
4714          list-style: none;
4715        }
4716
4717        #pretty-print-preview-section .quote-attach-file {
4718          display: grid !important;
4719          grid-template-columns: minmax(0, 1fr) 28px;
4720          gap: 8px;
4721          align-items: center;
4722          padding: 7px 8px;
4723          border: 1px solid var(--border);
4724          border-radius: 10px;
4725          background: #fff;
4726          font-size: 11px;
4727        }
4728
4729        #pretty-print-preview-section .quote-attach-file__name {
4730          min-width: 0;
4731          overflow: hidden;
4732          color: #20242d;
4733          text-overflow: ellipsis;
4734          
4735        }
4736
4737        #pretty-print-preview-section .quote-attach-file__remove {
4738          display: inline-flex;
4739          align-items: center;
4740          justify-content: center;
4741          width: 28px;
4742          height: 28px;
4743          border: 1px solid rgba(211, 59, 54, 0.32);
4744          border-radius: 999px;
4745          background: var(--danger-soft);
4746          color: var(--danger);
4747          font-size: 14px;
4748          font-weight: 900;
4749          line-height: 1;
4750          cursor: pointer;
4751        }
4752
4753        #pretty-print-preview-section .quote-attach-file__remove:hover {
4754          border-color: var(--danger);
4755        }
4756
4757        .quote-attach-file.is-invalid {
4758          border-color: rgba(211, 59, 54, 0.32);
4759          background: rgba(255, 240, 239, 0.55);
4760        }
4761
4762        #pretty-print-preview-section .quote-attach-message {
4763          margin: 0;
4764          padding: 9px 10px;
4765          border: 1px solid var(--border);
4766          border-radius: 10px;
4767          background: #fff;
4768          font-size: 11px;
4769          line-height: 1.35;
4770          font-weight: 400;
4771        }
4772
4773        #pretty-print-preview-section .quote-attach-message.is-warning {
4774          border-color: rgba(199, 119, 0, 0.32);
4775          background: var(--warning-soft);
4776          color: #8b5200;
4777        }
4778
4779        #pretty-print-preview-section .quote-attach-message.is-error {
4780          border-color: rgba(211, 59, 54, 0.32);
4781          background: var(--danger-soft);
4782          color: #9c2421;
4783        }
4784
4785        #pretty-print-preview-section .quote-attach-panel__actions {
4786          display: grid;
4787          grid-template-columns: 1fr;
4788          gap: 8px;
4789        }
4790
4791        #pretty-print-preview-section .quote-workflow [data-start-new-quote-button] {
4792          /* margin-bottom: 1rem; */
4793        }
4794
4795        html.is-cart .globo-form {
4796          display: none;
4797        }
4798
4799        @keyframes checkDraw {
4800          0% {
4801            opacity: 0;
4802            transform: rotate(45deg) scale(0.55);
4803          }
4804
4805          60% {
4806            opacity: 1;
4807            transform: rotate(45deg) scale(1.15);
4808          }
4809
4810          100% {
4811            opacity: 1;
4812            transform: rotate(45deg) scale(1);
4813          }
4814        }
4815
4816        @keyframes checkPulse {
4817          0% {
4818            opacity: 0.45;
4819            transform: scale(0.65);
4820          }
4821
4822          100% {
4823            opacity: 0;
4824            transform: scale(1.35);
4825          }
4826        }
4827
4828        @keyframes activeDotPulse {
4829          0% {
4830            opacity: 0.48;
4831            transform: translate(-50%, -50%) scale(0.85);
4832          }
4833
4834          50% {
4835            opacity: 1;
4836            transform: translate(-50%, -50%) scale(1.15);
4837          }
4838
4839          100% {
4840            opacity: 0.48;
4841            transform: translate(-50%, -50%) scale(0.85);
4842          }
4843        }
4844
4845        @keyframes stepCompletePop {
4846          0% {
4847            transform: scale(1);
4848          }
4849
4850          50% {
4851            transform: scale(1.018);
4852          }
4853
4854          100% {
4855            transform: scale(1);
4856          }
4857        }
4858
4859        @keyframes reviewPanelIn {
4860          0% {
4861            opacity: 0;
4862            transform: translateY(-4px) scaleY(0.98);
4863          }
4864
4865          100% {
4866            opacity: 1;
4867            transform: translateY(0) scaleY(1);
4868          }
4869        }
4870
4871        @keyframes reviewFieldShake {
4872          0% {
4873            transform: translateX(0);
4874          }
4875
4876          20% {
4877            transform: translateX(-4px);
4878          }
4879
4880          40% {
4881            transform: translateX(4px);
4882          }
4883
4884          60% {
4885            transform: translateX(-3px);
4886          }
4887
4888          80% {
4889            transform: translateX(3px);
4890          }
4891
4892          100% {
4893            transform: translateX(0);
4894          }
4895        }
4896
4897        /* START - SEND EMAIL ANIMATION */
4898
4899        #pretty-print-preview-section .send-email-svg-frame {
4900          /* Add this custom easing variable to your existing .frame styles */
4901          --soft-land: cubic-bezier(0.22, 1, 0.36, 1);
4902          /* Responsive Container Settings */
4903          width: 100%;
4904          max-width: 100%; /* Change this to whatever you want! */
4905          max-height: 214px;
4906          aspect-ratio: 1 / 1; /* Keeps it a perfect square */
4907          container-type: inline-size; /* Allows us to scale text and borders relative to this box */
4908
4909          position: relative;
4910          /* border-radius: 2px;
4911          box-shadow: 0.25cqw 0.5cqw 2.5cqw rgba(0, 0, 0, 0.3);
4912          background: #2c3e50;
4913          font-family: 'Open Sans', Helvetica, sans-serif; */
4914          -webkit-font-smoothing: antialiased;
4915          -moz-osx-font-smoothing: grayscale;
4916          overflow: hidden;
4917        }
4918
4919        #pretty-print-preview-section .send-email-svg-frame .circle,
4920        #pretty-print-preview-section .send-email-svg-frame .circle-outer {
4921          position: absolute;
4922          width: 50%;
4923          height: 69%;
4924          top: 4.25%;
4925          left: 22%;
4926          background: #ffedc6;
4927          border-radius: 50%;
4928          /* display: none; */
4929        }
4930
4931        #pretty-print-preview-section .send-email-svg-frame .circle-outer {
4932          box-sizing: border-box;
4933          background: none;
4934          border: max(2px, 1cqw) solid #ffedc6;
4935        }
4936
4937        #pretty-print-preview-section .send-email-svg-frame .icon {
4938          position: absolute;
4939          z-index: 2;
4940          /* Position them using percentages so they stay centered relative to the frame */
4941          top: 24.5%;
4942          left: 31%;
4943          /* Set a responsive width. The height will automatically follow the viewBox ratio. */
4944          width: 32%;
4945          transform: translate3d(0, 0, 0);
4946          fill: none;
4947          stroke-width: 2px; /* You can leave this as px, or use container queries (cqw) for scaling lines */
4948          stroke: #8b5200; /* #ecf0f1 */
4949          stroke-linecap: square;
4950          stroke-dasharray: 325 325;
4951        }
4952
4953        /* Remove fixed pixel sizes from the specific icon classes */
4954        #pretty-print-preview-section .send-email-svg-frame .icon.mail {
4955          /* Height dictates aspect ratio scaling */
4956          /* height: 17.5%; 
4957          stroke-dashoffset: 0; */
4958          /* width: 120px;  <-- Remove this */
4959          /* height: 70px;  <-- Remove this */
4960          stroke-dashoffset: 0;
4961        }
4962
4963        #pretty-print-preview-section .send-email-svg-frame .icon.plane {
4964          /* height: 27.5%;
4965          stroke-dashoffset: 325; */
4966          /* width: 120px;  <-- Remove this */
4967          /* height: 110px; <-- Remove this */
4968          stroke-dashoffset: 325;
4969        }
4970
4971        /* #pretty-print-preview-section .send-email-svg-frame #cb {
4972              display: none;
4973        } */
4974
4975        #pretty-print-preview-section .send-email-svg-frame .button {
4976          position: absolute;
4977          z-index: 10;
4978          width: 99%;
4979          height: 45px;
4980          top: auto;
4981          bottom: 0;
4982          left: 2px;
4983          /* background: #ecf0f1;
4984          color: #2c3e50; */
4985          display: flex;
4986          justify-content: center;
4987          align-items: center; /* Flexbox replaces rigid line-height for responsive text */
4988          border-radius: 30px; /* 5cqw */
4989          /* font-weight: 600;
4990          text-transform: uppercase; */
4991          /*font-size: 3.75cqw;  Text scales with container width */
4992          cursor: pointer;
4993          transition: all 0.3s ease;
4994        }
4995
4996        #pretty-print-preview-section .send-email-svg-frame .button.reset {
4997          opacity: 0;
4998          z-index: 5;
4999        }
5000
5001        #pretty-print-preview-section .send-email-svg-frame.is-sent .button.workflow-action--send,
5002        #pretty-print-preview-section .send-email-svg-frame .button:hover {
5003          background: #fff; /* #1abc9c */
5004          color: #222;
5005        }
5006
5007        /* Animation Triggers  - .review-panel.is-sent */
5008
5009        #pretty-print-preview-section .review-panel.is-sent .send-email-svg-frame .button {
5010          animation: button-email 1.5s ease-in-out 1.7s;
5011          animation-fill-mode: both;
5012        }
5013
5014        #pretty-print-preview-section .review-panel.is-sent .send-email-svg-frame .reset {
5015          animation: reset-email 1s ease-in-out 2s;
5016          animation-fill-mode: both;
5017          z-index: 15;
5018        }
5019
5020        #pretty-print-preview-section .review-panel.is-sent .send-email-svg-frame .circle,
5021        #pretty-print-preview-section .review-panel.is-sent .send-email-svg-frame .circle-outer {
5022          animation: circle-email 1s ease-in-out;
5023          animation-fill-mode: both;
5024        }
5025
5026        #pretty-print-preview-section .review-panel.is-sent .send-email-svg-frame .circle-outer {
5027          animation: circle-email 0.8s ease-in-out 0.2s;
5028          animation-fill-mode: both;
5029        }
5030
5031        #pretty-print-preview-section .review-panel.is-sent .send-email-svg-frame .mail {
5032          stroke-dashoffset: 326;
5033          transition: stroke-dashoffset 1s ease-in-out;
5034        }
5035
5036        #pretty-print-preview-section .review-panel.is-sent .send-email-svg-frame .plane {
5037          stroke-dashoffset: 0;
5038          transition: stroke-dashoffset 1s ease-in-out 0.6s;
5039          animation: fly-email 2.4s ease-in-out;
5040          animation-fill-mode: both;
5041        }
5042
5043        /* Target the .frame ONLY when the checkbox inside it is checked */
5044        #pretty-print-preview-section .review-panel.is-sent .send-email-svg-frame {
5045          /* 4.7s delay ensures it waits for the reset animation to finish completely   */
5046          animation: collapseFrame 0.7s var(--soft-land) 4s forwards;
5047        }
5048
5049        /* Keyframes adjusted to use percentages */
5050        @keyframes fly-email {
5051          0%,
5052          50% {
5053            transform: translate3d(0, 0, 0) scale(1);
5054          }
5055          60% {
5056            /* Translate % in keyframes are relative to the SVG's own width/height */
5057            transform: translate3d(-8.3%, 4.5%, 0) scale(1.05);
5058          }
5059          70% {
5060            opacity: 1;
5061          }
5062          85% {
5063            opacity: 0;
5064          }
5065          100% {
5066            transform: translate3d(250%, -136%, 0) scale(0.4);
5067            opacity: 0;
5068          }
5069        }
5070
5071        @keyframes circle-email {
5072          0% {
5073            transform: translate3d(0, 0, 0) scale(1);
5074          }
5075          20% {
5076            transform: scale(1.1);
5077          }
5078          100% {
5079            transform: scale(0);
5080          }
5081        }
5082
5083        @keyframes button-email {
5084          0% {
5085            transform: scale(1);
5086          }
5087          30% {
5088            background: #fff;
5089            color: transparent;
5090            width: 50%;
5091            left: 25%;
5092          }
5093          50%,
5094          60% {
5095            width: 10%;
5096            left: 45%;
5097            transform: scale(1);
5098          }
5099          70% {
5100            transform: scale(1.1);
5101          }
5102          100% {
5103            width: 10%;
5104            left: 45%;
5105            background: #fff;
5106            color: transparent;
5107            transform: scale(0);
5108          }
5109        }
5110
5111        @keyframes reset-email {
5112          from {
5113            opacity: 0;
5114            width: 14%;
5115            color: transparent;
5116            border-color: transparent;
5117            left: 41%;
5118          }
5119          to {
5120            opacity: 1;
5121          }
5122        }
5123
5124        @keyframes collapseFrame {
5125          0% {
5126            aspect-ratio: 1 / 1;
5127            height: 214px;
5128            max-height: 214px;
5129          }
5130          100% {
5131            aspect-ratio: auto; /* Releases the square lock */
5132            height: 60px;
5133            max-height: 60px;
5134          }
5135        }
5136        /* END - SEND EMAIL ANIMATION */
5137      }
5138      /* END - EMAIL DASHBOARD STYLES */
5139    </style>
5140    <style>
5141      /* pretty print preview and print styles */
5142      @media screen, print {
5143        #pretty-print-preview-section #printable-quote-sheet * {
5144          font-family: Poppins, sans-serif;
5145        }
5146
5147        #pretty-print-preview-section #printable-quote-sheet .bold,
5148        #pretty-print-preview-section #printable-quote-sheet .font-bold {
5149          font-weight: 900;
5150        }
5151
5152        #pretty-print-preview-section .quote-sheet {
5153          background: #fff;
5154          color: #111;
5155        }
5156
5157        #pretty-print-preview-section .quote-header {
5158          display: grid;
5159          grid-template-columns: minmax(0, 1fr) 150px;
5160          gap: 1rem;
5161          align-items: start;
5162          padding-bottom: 0;
5163          border-bottom: 2px solid #5d5d5d;
5164        }
5165
5166        #pretty-print-preview-section .quote-company-address {
5167          text-align: right;
5168          font-size: 12px;
5169          line-height: 1.6rem;
5170          padding-top: 0;
5171        }
5172
5173        #pretty-print-preview-section .quote-company-address a {
5174          font-size: 12px;
5175          text-decoration: none;
5176        }
5177
5178        #pretty-print-preview-section .quote-brand-box {
5179          display: flex;
5180          justify-content: left;
5181          align-items: center;
5182        }
5183
5184        #pretty-print-preview-section .quote-brand {
5185          font-size: 26px;
5186          line-height: 1;
5187          font-weight: 900;
5188          letter-spacing: 0.03em;
5189          margin: 0rem;
5190        }
5191
5192        #pretty-print-preview-section .quote-brand img {
5193          width: auto;
5194          max-width: 100%;
5195          height: auto;
5196          max-height: 64px;
5197        }
5198
5199        #pretty-print-preview-section .quote-subhead {
5200          margin: 0;
5201          font-size: 12px;
5202          color: #444;
5203        }
5204
5205        #pretty-print-preview-section .quote-meta {
5206          text-align: left;
5207          font-size: 12px;
5208          line-height: 1.6rem;
5209          padding-top: 0.5rem;
5210          padding-bottom: 0.5rem;
5211          padding: 0;
5212          border-top: 2px solid #666;
5213          grid-column: span 2;
5214          display: grid;
5215          grid-template-columns: 220px 1fr;
5216          gap: 1rem;
5217        }
5218
5219        #pretty-print-preview-section .quote-meta > div {
5220          display: flex;
5221          flex-direction: row;
5222          align-items: center;
5223          justify-content: right;
5224          gap: 2rem;
5225          padding: 1.5rem 0;
5226        }
5227
5228        #pretty-print-preview-section .quote-meta > .quote-meta__title {
5229          font-size: 18px;
5230          font-weight: 900;
5231          margin: 0;
5232          justify-content: left;
5233        }
5234
5235        #pretty-print-preview-section .quote-top-row {
5236          display: grid;
5237          grid-template-columns: repeat(auto-fit, minmax(0, 1fr)); /* 250px 1fr repeat(auto-fill,minmax(200px,1fr)); */ /* minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1fr) */
5238          gap: 28px;
5239          padding: 0;
5240        }
5241
5242        #pretty-print-preview-section .quote-top-row:has(> .has-value) {
5243          border-bottom: 2px solid #666;
5244        }
5245
5246        #pretty-print-preview-section .quote-top-row:has(> .pp-force-hide.has-value + .pp-force-hide.has-value) {
5247          grid-template-columns: 300px 1fr;
5248        }
5249
5250        #pretty-print-preview-section .quote-top-row > div {
5251          padding: 1rem 0;
5252        }
5253
5254        #pretty-print-preview-section .quote-top-row > div:first-child {
5255          /* grid-column: span 4; */
5256        }
5257
5258        #pretty-print-preview-section .quote-block-title {
5259          margin: 0;
5260          font-size: 12px;
5261          font-weig
5261ht: 900;
5262          letter-spacing: 0.1em;
5263          text-transform: uppercase;
5264        }
5265
5266        #pretty-print-preview-section .quote-top-row .quote-block-title {
5267          margin-bottom: 0.5rem;
5268        }
5269
5270        #pretty-print-preview-section .quote-block-text {
5271          font-size: 12px;
5272          line-height: 1.55;
5273          color: #252525;
5274          white-space: pre-wrap;
5275          word-break: break-word;
5276          text-transform: capitalize;
5277        }
5278
5279        #pretty-print-preview-section .quote-block-text [data-quote-notes] {
5280          text-transform: unset;
5281        }
5282
5283        #pretty-print-preview-section .quote-block-text .pp-customer-rep-email-value,
5284        #pretty-print-preview-section .quote-block-text .pp-customer-email-value,
5285        #pretty-print-preview-section .quote-block-text .pp-customer-phone-value {
5286          text-transform: none;
5287        }
5288
5289        #pretty-print-preview-section .quote-block-text b {
5290          font-weight: 600;
5291          text-transform: capitalize;
5292        }
5293
5294        #pretty-print-preview-section .quote-items-table {
5295          width: 100%;
5296          border-collapse: collapse;
5297          margin-top: 0;
5298        }
5299
5300        #pretty-print-preview-section .quote-items-table thead th {
5301          text-align: left;
5302          font-size: 1.3rem;/* 11px */
5303          letter-spacing: 0.08em;
5304          text-transform: uppercase;
5305          font-weight: 900;
5306          padding: 10px 10px;
5307          border: 0 none;
5308          border-bottom: 1px solid #d7d7d7;
5309          background: #f2f2f2;
5310        }
5311
5312        #pretty-print-preview-section .quote-items-table tbody td {
5313          vertical-align: top;
5314          padding: 12px 0;
5315          border: 0 none;
5316          border-bottom: 1px solid #e4e4e4;
5317          font-size: 1.3rem;/* 12px */
5318        }
5319
5320        #pretty-print-preview-section .quote-items-table th:last-of-type,
5321        #pretty-print-preview-section .quote-items-table td:last-of-type {
5322          text-align: right;
5323          width: 100px;
5324        }
5325
5326        #pretty-print-preview-section .quote-items-table tr {
5327          page-break-inside: auto;
5328        }
5329
5330        #pretty-print-preview-section .quote-items-table th:nth-child(2),
5331        #pretty-print-preview-section .quote-items-table td:nth-child(2),
5332        #pretty-print-preview-section .quote-items-table th:nth-child(3),
5333        #pretty-print-preview-section .quote-items-table td:nth-child(3),
5334        #pretty-print-preview-section .quote-items-table th:nth-child(4),
5335        #pretty-print-preview-section .quote-items-table td:nth-child(4) {
5336          width: 110px;
5337        }
5338
5339        #pretty-print-preview-section .quote-items-table th:nth-child(2),
5340        #pretty-print-preview-section .quote-items-table td:nth-child(2) {
5341          text-align: center;
5342          width: 40px;
5343        }
5344
5345        #pretty-print-preview-section .quote-items-table td:nth-child(3) {
5346          padding-right: 10px;
5347        }
5348
5349        #pretty-print-preview-section .quote-item-cell {
5350          display: grid;
5351          grid-template-columns: 50px minmax(0, 1fr);
5352          gap: 10px;
5353        }
5354
5355        #pretty-print-preview-section .quote-item-image {
5356          width: 50px;
5357          height: 50px;
5358          object-fit: cover;
5359          border-radius: 6px;
5360          border: 1px solid #d8d8d8;
5361          background: #fff;
5362        }
5363
5364        #pretty-print-preview-section .quote-item-title {
5365          font-weight: 400;
5366          font-size: 1.3rem;
5367          line-height: 1.2;
5368          margin-bottom: 0.6rem;
5369        }
5370
5371        #pretty-print-preview-section .quote-item-cell .quote-item-text-wrap {
5372          padding-left: 0.5rem;
5373        }
5374
5375        #pretty-print-preview-section .quote-item-vendor,
5376        #pretty-print-preview-section .quote-item-sku,
5377        #pretty-print-preview-section .quote-item-options {
5378          color: #555;
5379          font-size: 1.1rem;/* 11px */
5380          line-height: 1.45;
5381        }
5382
5383        #pretty-print-preview-section .quote-item-vendor {
5384          display: none;
5385        }
5386
5387        #pretty-print-preview-section .quote-item-cell .cart-item__info {
5388          /* display: flex; */
5389          gap: 1rem;
5390        }
5391
5392        #pretty-print-preview-section .quote-item-cell .quote-item-text-wrap:has(> .quote-item-options) .cart-item__info {
5393          /* display: flex; */
5394        }
5395
5396        #pretty-print-preview-section .quote-item-cell .cart-item__info ul {
5397          list-style: none;
5398          padding: 0;
5399          margin: 0;
5400        }
5401
5402        #pretty-print-preview-section .quote-item-cell .cart-item__info .visually-hidden {
5403          position: absolute;
5404          width: 1px;
5405          height: 1px;
5406          padding: 0;
5407          margin: -1px;
5408          overflow: hidden;
5409          clip: rect(0, 0, 0, 0);
5410          white-space: nowrap;
5411          border-width: 0;
5412        }
5413
5414        #pretty-print-preview-section .quote-item-cell .cart-item__info > dl {
5415          display: grid;
5416          margin-top: 0;
5417          margin-bottom: 1rem;
5418        }
5419
5420        #pretty-print-preview-section .quote-item-cell .cart-item__info > dl dt {
5421          padding: 0;
5422          margin: 0;
5423        }
5424
5425        #pretty-print-preview-section .quote-item-cell .cart-item__info > dl dd {
5426          padding: 0;
5427          margin: 0;
5428        }
5429
5430        #pretty-print-preview-section .quote-item-cell .cart-item__info > dl .price__current {
5431          font-weight: 700;
5432        }
5433
5434        #pretty-print-preview-section .quote-item-cell .cart-item__info > dl .inline {
5435          display: inline;
5436        }
5437
5438        #pretty-print-preview-section .quote-item-cell .cart-item__info > dl .price__was {
5439          color: rgba(var(--text-color) / 0.8);
5440          font-size: 1.2rem;/* 0.8em */
5441          white-space: nowrap;
5442        }
5443
5444        #pretty-print-preview-section .quote-item-cell .cart-item__info .discount {
5445          padding: 6px 14px 6px 9px;
5446          background-color: rgba(51 51 51/0.1);
5447          font-size: 1.4rem;
5448          text-align: start;
5449          align-items: center;
5450          display: inline-flex;
5451        }
5452
5453        #pretty-print-preview-section .quote-item-cell .cart-item__info .discount .icon {
5454          flex-shrink: 0;
5455          width: 20px;
5456          margin-inline-end: calc(2 * 0.4rem);
5457        }
5458
5459        #pretty-print-preview-section .quote-item-options {
5460          margin-top: 1rem;/* 0.5rem */
5461          padding: 1rem;
5462          background: #ffffff;
5463          border: 1px dashed #aaa;
5464          display: inline-block;
5465          border-radius: 2px;
5466        }
5467
5468        #pretty-print-preview-section .quote-item-cell .quote-item-options {
5469          grid-column: span 3;
5470        }
5471
5472        #pretty-print-preview-section .product-option {
5473          background: #eee;
5474        }
5475
5476        #pretty-print-preview-section .quote-item-options-row {
5477          margin-top: 0px;
5478          padding: 0.3rem 1rem 0;
5479          background: #f5f5f5;
5480          list-style-type: disc;
5481          display: list-item;
5482          list-style-position: inside;
5483        }
5484
5485        #pretty-print-preview-section .quote-item-options-row:first-child {
5486          padding-top: 0.7rem;
5487        }
5488
5489        #pretty-print-preview-section .quote-item-options-row:last-child {
5490          padding-bottom: 0.7rem;
5491        }
5492
5493        #pretty-print-preview-section .quote-item-options-label {
5494          font-weight: 600;
5495          color: #222;
5496        }
5497
5498        #pretty-print-preview-section .quote-price-cell,
5499        #pretty-print-preview-section .quote-qty-cell {
5500          font-size: 12px;
5501          color: #222;
5502          white-space: nowrap;
5503        }
5504
5505        #pretty-print-preview-section .cart-total-discount {
5506          color: rgb(210 0 20);
5507        }
5508
5509        #pretty-print-preview-section .cart-total-discount > div:first-child {
5510          font-weight: 400;
5511        }
5512
5513        #pretty-print-preview-section .cart-total-discount > div:last-child {
5514          font-weight: 700;
5515        }
5516
5517        #pretty-print-preview-section .quote-discount-box {
5518          color: rgb(10, 133, 41);
5519        }
5520
5521        #pretty-print-preview-section .page-shell .price--sale-color:has(.price__was:not(:empty)):has(.price__default:not([hidden])) .price__current,
5522        #pretty-print-preview-section .page-shell .cart-item__total.price--sale-color:has(.price__was:not(:empty)) .price__current,
5523        #pretty-print-preview-section .quote-price-cell.price--sale-color .price__current {
5524          color: rgb(198 32 32);
5525        }
5526
5527        #pretty-print-preview-section .quote-item-cell dl.cart-item__price .price__current {
5528          font-weight: 700;
5529        }
5530
5531        #pretty-print-preview-section .quote-item-cell dl.cart-item__price .inline {
5532          display: inline;
5533        }
5534
5535        #pretty-print-preview-section .quote-item-cell dl.cart-item__price .price__was {
5536          color: rgba(var(--text-color) / 0.8);
5537          font-size: 0.8em;
5538          white-space: nowrap;
5539        }
5540
5541        #pretty-print-preview-section .quote-subtotal-row {
5542          display: grid;
5543          grid-template-columns: 1fr 1fr;
5544          gap: 2rem;
5545          margin-top: 0;
5546          align-items: start;
5547          justify-content: right;
5548          padding: 1.5rem 0;
5549          font-size: 1.2rem;
5550          /* border-top: 2px solid #666; */
5551          border-bottom: 2px solid #666;
5552          margin-bottom: 1rem;
5553        }
5554
5555        #pretty-print-preview-section .quote-subtotal-row:has(> .quote-discount-box > [data-discount]:empty) {
5556          grid-template-columns: 1fr;
5557        }
5558
5559        #pretty-print-preview-section .quote-subtotal-row > div:first-child {
5560          justify-content: left;
5561        }
5562
5563        #pretty-print-preview-section .quote-subtotal-row > div:last-child {
5564          justify-content: right;
5565        }
5566
5567        #pretty-print-preview-section .quote-subtotal-box {
5568          /* border-top: 2px solid #666;
5569          padding-top: 10px; */
5570          display: flex;
5571          justify-content: space-between;
5572          align-items: center;
5573          gap: 1rem;
5574          font-size: 1.2rem;
5575          font-weight: 900;
5576        }
5577
5578        #pretty-print-preview-section .quote-subtotal-label {
5579          font-weight: 400;
5580        }
5581
5582        #pretty-print-preview-section .quote-footer-note {
5583          margin-top: 18px;
5584					font-size: 12px;
5585					color: #666;
5586					font-style: italic;
5587        }
5588
5589        #pretty-print-preview-section .print-only {
5590          display: none;
5591        }
5592
5593        #pretty-print-preview-section .pp-force-hide {
5594          display: none !important;
5595        }
5596
5597        #pretty-print-preview-section .pp-force-hide:has(>
5597 [data-quote-customer-rep]:not(:empty)),
5598        #pretty-print-preview-section .pp-force-hide:has(> [data-quote-notes]:not(:empty)),
5599        #pretty-print-preview-section .pp-force-hide:has(> [data-prepared-for]:not(:empty)),
5600        #pretty-print-preview-section .pp-force-hide:has(> [data-discount]:not(:empty)) {
5601          display: block !important;
5602        }
5603
5604        /* remove default outline */
5605        #pretty-print-preview-section .pp-customer-rep-email:focus,
5606        #pretty-print-preview-section .pp-customer-email:focus {
5607          outline: none;
5608        }
5609
5610        /* custom focus style */
5611        #pretty-print-preview-section .pp-customer-rep-email:focus-visible,
5612        #pretty-print-preview-section .pp-customer-email:focus-visible {
5613          /* outline: 2px solid #111;
5614          outline-offset: 2px; */
5615          outline: 0;
5616        }
5617
5618        #pretty-print-preview-section .pp-customer-rep-email.is-valid,
5619        #pretty-print-preview-section .pp-customer-email.is-valid {
5620          /* border-color: #2ecc71; */
5621        }
5622
5623        .pp-customer-rep-email.is-invalid,
5624        .pp-customer-email.is-invalid {
5625          border-color: #e74c3c;
5626        }
5627
5628        #pretty-print-preview-section .pp-customer-rep-email.is-invalid:focus-visible,
5629        #pretty-print-preview-section .pp-customer-email.is-invalid:focus-visible {
5630          /* outline: 2px solid #e74c3c; */
5631          outline: 0;
5632        }
5633
5634        #pretty-print-preview-section .print-controls .input.is-invalid,
5635        #pretty-print-preview-section .print-controls .textarea.is-invalid {
5636          border-color: #e74c3c;
5637        }
5638
5639        #pretty-print-preview-section .print-controls .input.is-invalid:focus-visible,
5640        #pretty-print-preview-section .print-controls .textarea.is-invalid:focus-visible {
5641          /* outline: 2px solid #e74c3c;
5642          outline-offset: 2px; */
5643          outline: 0;
5644        }
5645
5646        #pretty-print-preview-section .print-controls textarea:focus-visible {
5647          outline: 0 !important;
5648        }
5649
5650        #pretty-print-preview-section .print-controls.input:focus,
5651        #pretty-print-preview-section .print-controls select:focus,
5652        #pretty-print-preview-section .print-controls textarea:focus {
5653          outline: 0;
5654          box-shadow: 0 0 0 1px rgba(48 48 48/0.6);
5655        }
5656
5657        html.is-cart .globo-formbuilder .globo-form.csr--cart-quote-form {
5658          display: none;
5659        }
5660      }
5661
5662      @media print {
5663				
5664        @page {
5665          size: letter; /* 8.5in 60in */
5666          margin: 0.2cm 0.6cm; /* 0.5cm 0.3cm 0.3cm 0 0.3cm */
5667        }
5668
5669        /*html,
5670        body {
5671          width: 8.5in !important;
5672        }
5673
5674        #pretty-print-preview-section,
5675        #pretty-print-preview-section .pretty-print-preview-shell,
5676        #pretty-print-preview,
5677        #printable-quote-sheet {
5678          width: 100% !important;
5679          max-width: none !important;
5680        }*/
5681
5682        /*html,
5683        body,
5684        main,
5685        #MainContent,
5686        .shopify-section,
5687        .container,
5688        .page-width,
5689        .page-shell,
5690        #pretty-print-preview-section,
5691        #pretty-print-preview-section .preview-section-inner,
5692        #pretty-print-preview-section .pretty-print-preview-shell,
5693        #pretty-print-preview,
5694        #printable-quote-sheet {
5695          margin: 0 !important;
5696          padding: 0 !important;
5697          max-width: none !important;
5698          width: 100% !important;
5699        }*/
5700
5701        body {
5702          background: #fff !important;
5703          padding: 0;
5704          print-color-adjust: exact;
5705          -webkit-print-color-adjust: exact;
5706        }
5707
5708        #printable-quote-sheet {
5709          width: 100%;
5710        }
5711
5712        html.pl.cart-print-modal-active #shopify-section-template--23954067030314__custom_liquid_6ndtFM,
5713        html.pl.cart-print-modal-active #shopify-section-template--23954067030314__custom_liquid_6ndtFM .section,
5714        html.pl.cart-print-modal-active #shopify-section-template--23954067030314__custom_liquid_6ndtFM .container,
5715        html.ofc.cart-print-modal-active #shopify-section-template--24043609948524__custom_liquid_8VCw6H,
5716        html.ofc.cart-print-modal-active #shopify-section-template--24043609948524__custom_liquid_8VCw6H .section,
5717        html.ofc.cart-print-modal-active #shopify-section-template--24043609948524__custom_liquid_8VCw6H .container {
5718          padding: 0;
5719          margin: 0;
5720          width: 100%;
5721        }
5722
5723        /* html.cart-print-modal .cc-main-cart, */
5724        html.cart-print-modal-active .cc-main-cart,
5725        html.cart-print-modal-active .page-title,
5726        html.cart-print-modal-active .cart-layout,
5727        html.cart-print-modal-active .preview-section__title,
5728        html.cart-print-modal-active .preview-section__note,
5729        html.cart-print-modal-active .screen-only,
5730        html.cart-print-modal-active .shopify-section.shopify-section-group-header-group.cc-header,
5731        html.cart-print-modal-active .print-controls,
5732        html.cart-print-modal-active #pretty-print-preview-section .print-controls,
5733        html.cart-print-modal-active .preview-section__modal-bar,
5734        html.cart-print-modal-active .shopify-section.shopify-section-group-footer-group,
5735        html.cart-print-modal-active .shopify-section.shopify-section-group-overlay-group {
5736          display: none !important;
5737        }
5738
5739        html:not(.cart-print-modal-active) #pretty-print-preview-section {
5740          display: none !important;
5741        }
5742
5743        html.cart-print-modal-active #main-content .shopify-section.cc-main-cart.section.section--template,
5744        html.cart-print-modal-active .shopify-section.shopify-section-group-header-group,
5745        html.cart-print-modal-active .shopify-section.shopify-section-group-header-group.cc-custom-liquid,
5746        html.cart-print-modal-active .shopify-section.shopify-section-group-header-group.cc-announcement,
5747        html.cart-print-modal-active .shopify-section.shopify-section-group-header-group.cc-header,
5748        html.cart-print-modal-active .cart-layout,
5749        html.cart-print-modal-active .page-title,
5750        html.cart-print-modal-active .cart__shipping-calculator.panel,
5751        html.cart-print-modal-active .cart-page-recommendations,
5752        html.cart-print-modal-active .shopify-section.shopify-section-group-footer-group.cc-footer,
5753        html.cart-print-modal-active body > div:has(> iframe),
5754        html.cart-print-modal-active body > div:has(> .needsclick),
5755        html.cart-print-modal-active .print-controls {
5756          display: none !important;
5757        }
5758
5759        html.cart-print-modal-active body > .shopify-section.cc-custom-liquid.has-top-panel-header,
5760        html.cart-print-modal-active #top-panel-header,
5761        html.cart-print-modal-active header #search-bar,
5762        html.cart-print-modal-active header .header__icons,
5763        html.cart-print-modal-active header main-menu,
5764        html.cart-print-modal-active .shopify-section.cc-custom-liquid:has(> div > div.ecs-promo-strip),
5765        html.cart-print-modal-active .shopify-section.cc-custom-liquid .ecs-promo-strip,
5766        html.js.cart-print-modal-active quantity-input .qty-input--combined .qty-input__btn,
5767        html.cart-print-modal-active .cart-page-recommendations,
5768        html.cart-print-modal-active .cart__shipping-calculator,
5769        html.cart-print-modal-active .shopify-section.cc-recently-viewed,
5770        html.cart-print-modal-active .shopify-section.cc-footer,
5771        html.cart-print-modal-active .overlay,
5772        html.cart-print-modal-active #cart-items .btn,
5773        html.cart-print-modal-active #cart-summary .dynamic-cart-btns,
5774        html.cart-print-modal-active #cart-summary > details-disclosure,
5775        html.cart-print-modal-active #cart-summary > details-disclosure + .mt-6.rte,
5776        html.cart-print-modal-active #cart-summary .btn,
5777        html.cart-print-modal-active body #gorgias-chat-container,
5778        html.is-csr.cart-print-modal-active #main-content #pdf-csr-button,
5779        html.cart-print-modal-active #main-content #free-shipping-notice.free-shipping-notice,
5780        html.cart-print-modal-active body .shopify-section.shopify-section-group-footer-group.cc-custom-liquid,
5781        html.cart-print-modal-active.is-cart body.cc-main-cart {
5782          display: none !important;
5783        }
5784
5785        html.is-cart .globo-formbuilder,
5786        html.is-cart.cart-print-modal .globo-formbuilder,
5787        html.is-cart .globo-formbuilder,
5788        html.is-cart .globo-formbuilder .globo-form.csr--cart-quote-form {
5789          display: none !important;
5790        }
5791
5792        /* #pretty-print-preview-section.preview-section {
5793          margin-top: 0;
5794          padding: 0;
5795          border: 0;
5796          background: #fff;
5797        } */
5798
5799        #pretty-print-preview-section {
5800          max-width: none;
5801          width: 100%;
5802          margin: 0;
5803          padding: 0;
5804          border: 0;
5805          box-shadow: none;
5806          border-radius: 0;
5807          background: #fff !important;
5808        }
5809
5810        #pretty-print-preview-section .pretty-print-preview-shell {
5811          max-width: none;
5812          width: 100%;
5813          margin: 0 !important;
5814          padding: 0 !important;
5815          border: 0;
5816          border-radius: 0;
5817          background: #fff !important;
5818        }
5819
5820        #pretty-print-preview-section.preview-section {
5821          background: #fff !important;
5822          border: 0;
5823        }
5824
5825        #pretty-print-preview-section .quote-sheet {
5826          display: block !important;
5827        }
5828
5829        #pretty-print-preview-section .print-only {
5830          display: block;
5831        }
5832
5833        #pretty-print-preview-section .quote-item-options {
5834          padding: 1rem;
5835          background: #fafafa !important;
5836          border: 1px dashed #aaa;
5837          border-radius: 5px;
5838        }
5839
5840        #pretty-print-preview-section thead {
5841          /*display: table-row-group;  Changes it to act like a normal table body row */
5842        }
5843
5844        #pretty-print-preview-section table th {
5845          background: #eee;
5846        }
5847
5848        #pretty-print-preview-section table td {
5849        }
5850
5851        #pretty-print-preview-section tr {
5852          /* display: block; Essential for many browsers to respect breaks on rows */
5853          /*break-before: always;  */
5854          /*page-break-before: always;  Legacy support */
5855          /* break-inside: avoid;
5856          page-break-inside: avoid; */
5857        }
5858
5859        html.cart-print-modal-active .quote-item,
5860        html.cart-print-modal-active .quote-items-table tr,
5861        html.cart-print-modal-active .quote-section {
5862          break-inside: avoid;
5863          page-break-inside: avoid;
5864        }
5865
5866        html.is-cart h1 .print-controls.print-controls-button,
5867        html.is-cart .print-controls.print-controls-button {
5868          display: none !important;
5869        }
5870
5871        html.is-cart .globo-app-extension {
5872          display: none !important;
5873        }
5874      }
5875    </style>
5876
5877
5878    <!-- DO NOT DELETE LIQUID STYLES FOR SECTION FOR PAGE BUILDER -->
5879   <style>
5880    /* 
5881    ecs csr send cart pdf quote form - styles 
5882    PL - #shopify-section-template--23954067030314__17771730616ffe3341
5883    OFC - #shopify-section-template--24043609948524__177717474058bae822
5884    */
5885    
5886    html.is-cart #shopify-section-template--23954067030314__17771730616ffe3341,
5887    html.is-cart #shopify-section-template--24043609948524__177717474058bae822  {
5888      padding: 0;
5889      margin: 0;
5890    }
5891
5892    html.is-cart #shopify-section-template--23954067030314__17771730616ffe3341 .section,
5893    html.is-cart #shopify-section-template--24043609948524__177717474058bae822 .section {
5894      padding: 0;
5895      margin: 0;
5896    }
5897
5898    html.is-cart #shopify-section-template--23954067030314__17771730616ffe3341 .section .container,
5899    html.is-cart #shopify-section-template--24043609948524__177717474058bae822 .section .container {
5900      padding: 0;
5901      margin: 0;
5902    }
5903
5904    html.is-cart .globo-formbuilder,
5905    html.is-cart #shopify-section-template--23954067030314__17771730616ffe3341 .globo-formbuilder,
5906    html.is-cart #shopify-section-template--24043609948524__177717474058bae822 .globo-formbuilder {
5907      padding: 0;
5908      margin: 0;
5909    }
5910
5911    html.is-cart .globo-formbuilder .globo-form.csr--cart-quote-form {
5912      padding: 0;
5913      margin: 0;
5914      
5915      display: none;
5916    }
5917
5918    html.is-cart .globo-formbuilder .globo-form.csr--cart-quote-form .globo-form-app {
5919      padding: 0;
5920      margin: 0;
5921    }
5922
5923    html.is-cart .globo-formbuilder .globo-form.csr--cart-quote-form .globo-form-app header {
5924      display: none;
5925    }
5926
5927    html.is-cart .globo-formbuilder .globo-form.csr--cart-quote-form .globo-form-app .panels {
5928      height: 100% !important;
5929      position: static !important;
5930    }
5931
5932    html.is-cart .globo-formbuilder .globo-form.csr--cart-quote-form .globo-form-control {
5933      margin-bottom: 1rem;
5934    }
5935
5936    html.is-cart .globo-formbuilder .globo-form.csr--cart-quote-form .ecs--input {
5937    
5938    }
5939
5940    html.is-cart .globo-formbuilder .globo-form.csr--cart-quote-form .ecs--textarea {
5941    
5942    }
5943
5944    html.is-cart .globo-formbuilder .globo-form.csr--cart-quote-form .csr--field {
5945    
5946    }
5947
5948    html.is-cart .globo-formbuilder/*,
5949    html.is-cart .globo-formbuilder .globo-form.csr--cart-quote-form,
5950    html.is-cart .globo-formbuilder .globo-form.csr--cart-quote-form .globo-form-control.csr--field,
5951    html.is-cart .globo-formbuilder .globo-form.csr--cart-quote-form .globo-form-control.csr--field:not(.csr--file-attach)*/ {
5952      display: none;
5953      /*position: absolute;
5954      top: 0px;
5955      left: 0px;
5956      z-index: -1;
5957      overflow: hidden;
5958      height: 1px;
5959      width: 1px;
5960      padding: 0 !important;
5961      margin: 0  !important;
5962      border: 0;
5963      clip: rect(1px, 1px, 1px, 1px);
5964      -webkit-clip-path: inset(0px 0px 99.9% 99.9%);
5965      clip-path: inset(0px 0px 99.9% 99.9%); */
5966    }
5967
5968    html.is-cart .globo-formbuilder .globo-form.csr--cart-quote-form .csr--quote-id input {
5969    
5970    }
5971
5972    html.is-cart .globo-formbuilder .globo-form.csr--cart-quote-form .csr--csr-name input {
5973    
5974    }
5975
5976    html.is-cart .globo-formbuilder .globo-form.csr--cart-quote-form .csr--csr-notes textarea {
5977    
5978    }
5979
5980    html.is-cart .globo-formbuilder .globo-form.csr--cart-quote-form .csr--customer-name input {
5981    
5982    }
5983
5984    html.is-cart .globo-formbuilder .globo-form.csr--cart-quote-form .csr--customer-email input {
5985    
5986    }
5987
5988    html.is-cart .globo-formbuilder .globo-form.csr--cart-quote-form .csr--customer-phone input {
5989    
5990    }
5991
5992    html.is-cart .globo-formbuilder .globo-form.csr--cart-quote-form .csr--file-attach input {
5993    
5994    }
5995
5996    html.is-cart .globo-formbuilder .globo-form.csr--cart-quote-form .csr--file-attach button.gfb__dropzone--placeholder--button {
5997      background-color: #FFF;
5998    }
5999
6000  </style>
6001  <!-- DO NOT DELETE LIQUID STYLES FOR SECTION FOR PAGE BUILDER -->
6002
6003<section id="pretty-print-preview-section" class="card preview-section allow-csr">
6004      <div class="preview-section-inner">
6005        <div class="preview-section__modal-bar" data-mode="quick" data-step="0" data-force-page-break="true">
6006          <!-- <h2 class="preview-section__title">Pretty-Print Quote Preview</h2> -->
6007
6008          <!-- JTM - START - jonny pretty print controls and buttons -->
6009          <div class="print-controls">
6010            <div class="preview-section__buttons">
6011              <button id="close-print-preview-modal" class="preview-section__close workflow-action" type="button" title="Close print preview modal">
6012                <svg width="24" height="24" viewBox="0 0 24 24" stroke="#000000" stroke-width="2" fill="none" fill-rule="evenodd" stroke-linejoin="round" aria-hidden="true" focusable="false" role="presentation" class="icon">
6013                  <path d="M5 19 19 5M5 5l14 14"></path>
6014                </svg>
6015              </button>
6016              <!-- <button id="rebuild-pretty-print" class="rebuild-pretty-print btn" type="button">Rebuild Pretty Print Quote</button>
6017              <button id="copy-quote-filename" class="copy-quote-filename btn" type="button" style="display:none;">Copy Quote Filename</button> -->
6018              <button id="open-print-preview-fields" class="open-print-preview btn btn--primary workflow-action" type="button" title="Open Print / Save PDF Dialog">Open Print / Save PDF Dialog</button>              
6019              <button class="force-break-print-preview preview-section__force-page-break workflow-action" type="button" data-force-page-breaks-toggle><!-- title="Remove Page Breaks for Digital PDF"  -->
6020                <svg id="svg-force-page-break" fill="#000000" width="24px" height="24px" viewBox="0 0 24 24">
6021                  <title>Force Page Breaks for Printed PDF</title>
6022                  <path class="svg-page-break-1" d="M3,12H7m14,0H17m-6,0h2"></path>
6023                  <path class="svg-page-break-2" d="M5,8V4A1,1,0,0,1,6,3H17l2,2V8"></path>
6024                  <path class="svg-page-break-3" data-name="primary" d="M5,16v4a1,1,0,0,0,1,1H18a1,1,0,0,0,1-1V16"></path>
6025                  <polygon class="svg-page-break-4" data-name="primary" points="17 3 17 5 19 5 17 3"></polygon>
6026                </svg>
6027                <svg id="svg-remove-page-break" fill="#000000" width="24px" height="24px" viewBox="0 0 24 24">
6028                  <title>Remove Page Breaks for Digital PDF</title>
6029                  <path class="svg-page-break-2" d="M5,16V4A1,1,0,0,1,6,3H17l2,2V16"></path>
6030                  <path class="svg-page-break-3" data-name="primary" d="M5,16v4a1,1,0,0,0,1,1H18a1,1,0,0,0,1-1V16"></path>
6031                  <polygon class="svg-page-break-4" data-name="primary" points="17 3 17 5 19 5 17 3"></polygon>
6032                </svg>
6033              </button>
6034            </div>
6035
6036            <details open>
6037              <summary class="is-accordion-trigger">
6038                CSR Fields
6039                <svg xml:space="preserve" style="enable-background: new 0 0 16 16" viewBox="0 0 16 16" height="16px" width="16px" y="0px" x="0px" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns="http://www.w3.org/2000/svg" id="Layer_1" version="1.1">
6040                  <style type="text/css">
6041                    .st0 {
6042                      fill: #4f4f4f;
6043                    }
6044                  </style>
6045                  <g>
6046                    <polygon points="0.9,5.5 3.1,3.4 8,8.3 12.9,3.4 15.1,5.5 8,12.6" class="st0" />
6047                  </g>
6048                </svg>
6049              </summary>
6050
6051              <div class="print-controls--content csr-fields is-accordion-content">
6052                <div class="control-field full-width-col row-csr-name">
6053                  <label class="control-label" for="pp-customer-rep-name">CSR Name:<span style="color: var(--danger)">*</span></label>
6054                  <input id="pp-customer-rep-name" class="pp-customer-rep-name input" type="text" title="CSR Name" placeholder="csr name" autocomplete="name" />
6055                </div>
6056
6057                <div class="control-field full-width-col row-csr-email">
6058                  <label class="control-label" for="pp-customer-rep-email">CSR Email:<span style="color: var(--danger)">*</span></label>
6059                  <input id="pp-customer-rep-email" class="pp-customer-rep-email input" type="email" title="CSR Email" placeholder="[email protected]" autocomplete="email" inputmode="email" />
6060                </div>
6061
6062                <div class="control-field full-width-col row-csr-notes">
6063                  <label class="control-label" for="pp-notes">Notes:</label>
6064                  <textarea id="pp-notes" class="pp-notes textarea" title="CSR Notes" placeholder="enter csr print quote notes here."></textarea>
6065                </div>
6066              </div>
6067            </details>
6068
6069            <details open>
6070              <summary class="is-accordion-trigger">
6071                Customer Fields
6072                <svg xml:space="preserve" style="enable-background: new 0 0 16 16" viewB
6072ox="0 0 16 16" height="16px" width="16px" y="0px" x="0px" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns="http://www.w3.org/2000/svg" id="Layer_1" version="1.1">
6073                  <style type="text/css">
6074                    .st0 {
6075                      fill: #4f4f4f;
6076                    }
6077                  </style>
6078                  <g>
6079                    <polygon points="0.9,5.5 3.1,3.4 8,8.3 12.9,3.4 15.1,5.5 8,12.6" class="st0" />
6080                  </g>
6081                </svg>
6082              </summary>
6083
6084              <div class="print-controls--content customer-fields is-accordion-content">
6085                <div class="control-field row-customer-name">
6086                  <label class="control-label" for="pp-customer-name">Customer Name:<span style="color: var(--danger)">*</span></label>
6087                  <input id="pp-customer-name" class="pp-customer-name input" type="text" title="Customer Name" placeholder="customer name" />
6088                </div>
6089
6090                <div class="control-field row-customer-phone">
6091                  <label class="control-label" for="pp-customer-phone">Customer Phone:</label>
6092                  <input id="pp-customer-phone" class="pp-customer-phone input" type="tel" inputmode="tel" autocomplete="tel" pattern="^\+?[0-9\s().-]{7,20}
6092$" title="Use digits, spaces, parentheses, dashes, and optional leading +" placeholder="+1 (777) 777-7777" />
6093                </div>
6094
6095                <div class="control-field full-width-col row-customer-email">
6096                  <label class="control-label" for="pp-customer-email">Customer Email:</label>
6097                  <input id="pp-customer-email" class="pp-customer-email input" type="email" title="Customer Email" placeholder="[email protected]" autocomplete="email" inputmode="email" />
6098                </div>
6099              </div>
6100            </details>
6101
6102            <label class="quote-workflow__helpdesk-toggle">
6103              <input type="checkbox" autocomplete="off" data-send-to-helpdesk-toggle />
6104              <span>
6105                Send Cart PDF Quote to Helpdesk
6106                <small>Show the print pdf, attach, review, send, and email confirmation steps.</small>
6107              </span>
6108            </label>
6109          </div>
6110
6111          <section class="quote-workflow">
6112            <header class="quote-workflow__header">
6113              <p class="quote-workflow__kicker">Email Dashboard</p>
6114              <!-- <h2 class="quote-workflow__title">Final Quote Workflow</h2>
6115                  <p class="quote-workflow__sub">Track every step from preview to sent email.</p> -->
6116            </header>
6117            <div class="quote-workflow__progress" aria-hidden="true">
6118              <div class="quote-workflow__progress-bar" data-progress-bar></div>
6119            </div>
6120            <div class="quote-workflow__meta">
6121              <span><strong data-completed-count>0</strong> of <strong data-total-count>2</strong> done</span>
6122              <span data-workflow-status>Ready</span>
6123            </div>
6124            <ol class="quote-workflow__list" data-workflow-list></ol>
6125          </section>
6126
6127          <img class="quote-pretty-print-banner-img" src="https://cdn.shopify.com/s/files/1/0916/0533/6362/files/jonny-pretty-print-cart-pdf.png?v=1780624930" width="700" height="524" alt="Jonny Pretty Print" border="0">
6128
6129        </div>
6130        <!-- JTM - END - jonny pretty print controls and buttons -->
6131        <div class="pretty-print-preview-shell">
6132          <div id="pretty-print-preview"></div>
6133        </div>
6134      </div>
6135    </section>
6136
6137    <template id="quote-template">
6138      <article class="quote-sheet" id="printable-quote-sheet">
6139        <header class="quote-header">
6140          <div class="quote-brand-box">
6141            <h2 class="quote-brand"></h2>
6142            <!-- <p class="quote-subhead">Custom cushion quote preview built from cart line item values.</p> -->
6143          </div>
6144          <div class="quote-company-address">
6145            <div>
6146              10820 US 19 North<br />
6147              Clearwater, FL 33764 USA<br />
6148              <b>Local:</b> <span data-quote-company-phone-local></span><br />
6149              <b>Toll-Free:</b> <span data-quote-company-phone-toll-free></span>
6150            </div>
6151          </div>
6152          <div class="quote-meta">
6153            <div class="quote-meta__title">Shopping Cart Quote</div>
6154            <div>
6155              <div><strong>Quote #:</strong> <span data-quote-id></span></div>
6156              <div><strong>Date:</strong> <span data-quote-date></span></div>
6157              <div class="pp-force-hide"><strong>CSR Name:</strong> <span data-quote-customer-rep></span></div>
6158            </div>
6159          </div>
6160        </header>
6161
6162        <section class="quote-top-row">
6163          <div class="pp-force-hide">
6164            <h2 class="quote-block-title">Prepared For:</h2>
6165            <div class="quote-block-text" data-prepared-for></div>
6166          </div>
6167          <div class="pp-force-hide">
6168            <h2 class="quote-block-title">Notes:</h2>
6169            <div class="quote-block-text" data-quote-notes></div>
6170          </div>
6171        </section>
6172
6173        <section class="quote-subtotal-row">
6174          <div class="quote-discount-box cart-total-discount pp-force-hide">
6175            <span class="quote-discount-label">Total Savings:</span>
6176            <span class="bold" data-discount></span>
6177          </div>
6178          <div class="quote-subtotal-box">
6179            <span class="quote-subtotal-label">Subtotal:</span>
6180            <span class="bold" data-subtotal></span>
6181          </div>
6182        </section>
6183
6184        <section class="quote-main">
6185          <table class="quote-items-table">
6186            <thead>
6187              <tr>
6188                <th>Item</th>
6189                <th>Qty</th>
6190                <!-- <th>Unit</th> -->
6191                <th>Total</th>
6192              </tr>
6193            </thead>
6194            <tbody data-quote-items></tbody>
6195          </table>
6196        </section>
6197
6198        <footer class="quote-footer-note">This document is a quote only and not a final order confirmation. Pricing, availability, and specifications are subject to change. Final details will be confirmed prior to order processing.</footer>
6199      </article>
6200    </template>
6201
6202
6203  
6203<script src="//www.outdoorfabriccentral.com/cdn/shop/t/2/assets/theme-cart-quote-print-preview-modal.js?v=67427143190070780791781545999" defer="defer"></script>
6203
6204
6205</div></div>
6206
6207
6208</section><section id="shopify-section-template--24043609948524__177717474058bae822" class="shopify-section cc-apps section"><div class="container"><div id="shopify-block-AbnlZdWFGcnNWblRyS__powerful_form_builder_app_block_NAQRBp" class="shopify-block shopify-app-block"><div></div>
6209
6210</div>
6211</div>
6212
6213
6214</section>
6215  </main><!-- BEGIN sections: overlay-group -->
6216<div id="shopify-section-sections--24043609391468__cart-drawer" class="shopify-section shopify-section-group-overlay-group cc-cart-drawer">
6217</div><div id="shopify-section-sections--24043609391468__product-compare" class="shopify-section shopify-section-group-overlay-group cc-compare">
6218</div>
6219<!-- END sections: overlay-group -->
6220  
6221<!-- BEGIN sections: footer-group -->
6222<div id="shopify-section-sections--24043609424236__footer" class="shopify-section shopify-section-group-footer-group cc-footer"><link rel="stylesheet" href="//www.outdoorfabriccentral.com/cdn/shop/t/2/assets/footer.css?v=86884243727401719581736781213" media="print" onload="this.media='all'"><style data-shopify>.footer {
6223    --bg-color: 235 235 235 / 1.0;
6224    --heading-color: 34 34 34;
6225    --text-color: 34 34 34;
6226  }</style><footer class="footer bg-theme-bg text-theme-text">
6227  <div class="container"><a href="#" class="back-to-top top-0 left-0 w-full text-sm block font-bold text-center text-current pt-8 pl-6 pr-6 md:pb-14" data-cc-animate>
6228        Back to top
6229        <svg width="24" height="24" viewBox="0 0 24 24" aria-hidden="true" focusable="false" role="presentation" class="icon"><path d="M20 8.5 12.5 16 5 8.5" stroke="currentColor" stroke-width="1.5" fill="none"/></svg>
6230      </a><div class="footer__main md:flex md:flex-wrap mb-10 md:mb-8"><div class="footer-col footer-col--text footer-col--not-collapsed"  data-cc-animate data-cc-animate-delay="0.07s">
6231                <div class="footer-block mb-8 text-start"><h2 class="footer-block__heading font-body font-bold text-h6 regular-text">Contact Information</h2><div class="footer-block__text rte">
6232                      <p>Outdoor Fabric Central<br/>10820 US 19 North<br/>Clearwater, FL 33764 USA</p><p>Local: 727.597.4134<br/>Toll-Free: 1.866.712.5684<br/>Contact Us: <a href="/pages/contact" title="Contact">Click Here</a></p><p>Hours of Operation: <a href="/pages/contact#hours_of_operation" title="/pages/contact#hours_of_operation">Click Here</a></p>
6233                    </div></div>
6234              </div><div class="footer-col footer-col--links footer-col--collapsed"  data-cc-animate data-cc-animate-delay="0.14s">
6235                  <footer-menu>
6236                    <details class="footer-menu disclosure footer-menu--first" open>
6237                      <summary tabindex="-1">
6238                        <div class="flex justify-between items-center">
6239                          <h2 class="disclosure__title font-body font-bold text-h6 regular-text">Customer Support</h2>
6240                          <span class="disclosure__toggle"><svg width="24" height="24" viewBox="0 0 24 24" aria-hidden="true" focusable="false" role="presentation" class="icon"><path d="M20 8.5 12.5 16 5 8.5" stroke="currentColor" stroke-width="1.5" fill="none"/></svg>
6241</span>
6242                        </div>
6243                      </summary>
6244                      <div class="disclosure__panel has-motion">
6245                        <ul class="footer-menu__links disclosure__content" role="list"><li>
6246                              <a href="https://account.outdoorfabriccentral.com/profile?locale=en&buyer_flags=eyJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJvdXRkb29yZmFicmljY2VudHJhbC5teXNob3BpZnkuY29tIiwiZmxhZ3MiOltdLCJleHAiOjE3OTExODM1MTIsIm5iZiI6MTc5MDU3ODcxMn0.nJrwkNHlnOQtfFNh79B0DtowONcER_1SRm4z8diYKAc&region_country=US" 
6247                                
6248                                  rel="nofollow"
6249                                >
6250                                My Account
6251                              </a>
6252                            </li><li>
6253                              <a href="/pages/track-my-order" 
6254                                >
6255                                Track Order
6256                              </a>
6257                            </li><li>
6258                              <a href="/pages/sunbrella-fabric-coupon" 
6259                                >
6260                                Promotions & Coupons
6261                              </a>
6262                            </li><li>
6263                              <a href="/pages/lowest-priced-sunbrella" 
6264                                >
6265                                Price Match Promise
6266                              </a>
6267                            </li><li>
6268                              <a href="/pages/shipping-information" 
6269                                >
6270                                Shipping Information
6271                              </a>
6272                            </li><li>
6273                              <a href="/pages/sunbrella-wholesale" 
6274                                >
6275                                Wholesale & Trade Accounts
6276                              </a>
6277                            </li><li>
6278                              <a href="/pages/sunbrella-fabric-faq" 
6279                                >
6280                                Sunbrella FAQ's
6281                              </a>
6282                            </li><li>
6283                              <a href="/pages/sunbrella-info-warranty" 
6284                                >
6285                                Sunbrella Warranty
6286                              </a>
6287                            </li></ul>
6288                      </div>
6289                    </details>
6290                  </footer-menu>
6291                </div><div class="footer-col footer-col--links footer-col--collapsed"  data-cc-animate data-cc-animate-delay="0.21s">
6292                  <footer-menu>
6293                    <details class="footer-menu disclosure" open>
6294                      <summary tabindex="-1">
6295                        <div class="flex justify-between items-center">
6296                          <h2 class="disclosure__title font-body font-bold text-h6 regular-text">Resources</h2>
6297                          <span class="disclosure__toggle"><svg width="24" height="24" viewBox="0 0 24 24" aria-hidden="true" focusable="false" role="presentation" class="icon"><path d="M20 8.5 12.5 16 5 8.5" stroke="currentColor" stroke-width="1.5" fill="none"/></svg>
6298</span>
6299                        </div>
6300                      </summary>
6301                      <div class="disclosure__panel has-motion">
6302                        <ul class="footer-menu__links disclosure__content" role="list"><li>
6303                              <a href="/pages/free-sunbrella-samples" 
6304                                >
6305                                Free Sunbrella Samples
6306                              </a>
6307                            </li><li>
6308                              <a href="/pages/sunbrella-cleaning-guide" 
6309                                >
6310                                Sunbrella Cleaning & Care
6311                              </a>
6312                            </li><li>
6313                              <a href="/pages/sunbrella-measuring-cushion" 
6314                                >
6315                                Cushion & Curtain Measuring
6316                              </a>
6317                            </li><li>
6318                              <a href="/pages/custom-outdoor-curtains-made-with-sunbrella-fabric" 
6319                                >
6320                                Custom Outdoor Curtains
6321                              </a>
6322                            </li><li>
6323                              <a href="/collections/sunbrella-custom-products" 
6324                                >
6325                                Sunbrella Custom Products
6326                              </a>
6327                            </li><li>
6328                              <a href="/pages/sunbrella-umbrella-recover" 
6329                                >
6330                                Umbrella Fabric Replacements
6331                              </a>
6332                            </li><li>
6333                              <a href="/pages/sunbrella-reviews" 
6334                                >
6335                                Customer Testimonials
6336                              </a>
6337                            </li><li>
6338                              <a href="/blogs/news" 
6339                                >
6340                                Sunbrella Blog
6341                              </a>
6342                            </li></ul>
6343                      </div>
6344                    </details>
6345                  </footer-menu>
6346                </div><div class="footer-col footer-col--links footer-col--collapsed"  data-cc-animate data-cc-animate-delay="0.28s">
6347                  <footer-menu>
6348                    <details class="footer-menu disclosure" open>
6349                      <summary tabindex="-1">
6350                        <div class="flex justify-between items-center">
6351                          <h2 class="disclosure__title font-body font-bold text-h6 regular-text">Buy Sunbrella Custom</h2>
6352                          <span class="disclosure__toggle"><svg width="24" height="24" viewBox="0 0 24 24" aria-hidden="true" focusable="false" role="presentation" class="icon"><path d="M20 8.5 12.5 16 5 8.5" stroke="currentColor" stroke-width="1.5" fill="none"/></svg>
6353</span>
6354                        </div>
6355                      </summary>
6356                      <div class="disclosure__panel has-motion">
6357                        <ul class="footer-menu__links disclosure__content" role="list"><li>
6358                              <a href="/collections/sunbrella-custom-cushions" 
6359                                >
6360                                Build Sunbrella Cushions
6361                              </a>
6362                            </li><li>
6363                              <a href="/collections/sunbrella-custom-outdoor-curtains" 
6364                                >
6365                                Shop Sunbrella Curtains
6366                              </a>
6367                            </li><li>
6368                              <a href="/products/sunbrella-custom-size-throw-pillows" 
6369                                >
6370                                Buy Sunbrella Pillows
6371                              </a>
6372                            </li><li>
6373                              <a href="/collections/custom-panels" 
6374                                >
6375                                Purchase Sunbrella Shade
6376                              </a>
6377                            </li></ul>
6378                      </div>
6379                    </details>
6380                  </footer-menu>
6381                </div></div><div class="footer__base mt-8 grid grid-cols-1 lg:grid-cols-2 gap-x-theme gap-y-6 text-xs" data-cc-animate>
6382      <div><span>&copy; 2026 <a href="/">Outdoor Fabric Central</a>.</span>
6383         &nbsp;|&nbsp; Website by: <a href="http://refueledinc.com/" target="_blank" rel="noopener nofollow">Refueled Inc.</a> All rights reserved.
6384         
6385        
6386      </div><div>
6387          <ul class="footer-sublinks flex flex-wrap gap-x-theme" role="list">
6388            
6389              <li class="footer-sublinks__item">
6390                <a href="/pages/about-us" 
6391                  >
6392                  About
6393                </a>
6394              </li>
6395            
6396              <li class="footer-sublinks__item">
6397                <a href="/pages/contact" 
6398                  >
6399                  Contact
6400                </a>
6401              </li>
6402            
6403              <li class="footer-sublinks__item">
6404                <a href="/pages/custom-manufactured-products-info" 
6405                  >
6406                  Cushions/Shade/Covers
6407                </a>
6408              </li>
6409            
6410              <li class="footer-sublinks__item">
6411                <a href="/policies/refund-policy" 
6412                  
6413                    rel="nofollow"
6414                  >
6415                  Refund / Return
6416                </a>
6417              </li>
6418            
6419              <li class="footer-sublinks__item">
6420                <a href="/pages/terms-conditions" 
6421                  
6422                    rel="nofollow"
6423                  >
6424                  Terms & Conditions
6425                </a>
6426              </li>
6427            
6428              <li class="footer-sublinks__item">
6429                <a href="/policies/privacy-policy" 
6430                  
6431                    rel="nofollow"
6432                  >
6433                  Your Privacy
6434                </a>
6435              </li>
6436            
6437              <li class="footer-sublinks__item">
6438                <a href="/tools/seo/sitemap" 
6439                  >
6440                  Sitemap
6441                </a>
6442              </li>
6443            
6444          </ul>
6445        </div></div>
6446  </div>
6447</footer>
6448
6449
6450
6451
6452</div>
6453<!-- END sections: footer-group -->
6454<quick-add-drawer class="drawer quick-add-drawer fixed top-0 right-0 flex flex-col w-full has-motion qo-sale-prices js-product" data-name="quickbuy" role="dialog" tabindex="-1" aria-labelledby="quick-add-heading" aria-modal="true" aria-hidden="true">
6455  <header class="drawer__header quick-add__header hidden md:flex justify-between items-center relative">
6456    <button type="button" class="drawer__back-btn js-open-cart-drawer has-ltr-icon" hidden>
6457      <span class="visually-hidden">Back</span>
6458      <svg width="24" height="24" viewBox="0 0 24 24" stroke="currentColor" stroke-width="1.5" fill="none" aria-hidden="true" focusable="false" role="presentation" class="icon"><path d="M19.5 12H5m6.9 7.4L4.5 12l7.4-7.4"/></svg>
6459    </button>
6460    <div class="flex-grow">
6461      <h2 class="h5 mb-0" id="quick-add-heading">Choose options</h2>
6462    </div>
6463    <button type="button" class="drawer__close-btn js-close-drawer">
6464      <span class="visually-hidden">Close</span>
6465      <svg width="24" height="24" viewBox="0 0 24 24" stroke="currentColor" stroke-width="1.5" fill="none" fill-rule="evenodd" stroke-linejoin="round" aria-hidden="true" focusable="false" role="presentation" class="icon"><path d="M5 19 19 5M5 5l14 14"/></svg>
6466    </button>
6467  </header>
6468  <div class="drawer__content quick-add__content flex-auto shrink-0 relative">
6469    <button type="button" class="drawer__close-btn quick-add__close-btn--mob js-close-drawer md:hidden">
6470      <span class="visually-hidden">Close</span>
6471      <svg width="24" height="24" viewBox="0 0 24 24" stroke="currentColor" stroke-width="1.5" fill="none" fill-rule="evenodd" stroke-linejoin="round" aria-hidden="true" focusable="false" role="presentation" class="icon"><path d="M5 19 19 5M5 5l14 14"/></svg>
6472    </button>
6473    <div class="js-product-details quick-add__product-details"></div>
6474    <div class="quick-add__quick-order-list js-quick-order-list"></div>
6475  </div>
6476  <footer class="drawer__footer quick-add__footer">
6477    <div class="alert quick-add__alert absolute left-0 right-0 bg-success-bg text-success-text js-added-to-cart" role="alert" hidden data-visible-for="2000">
6478      <div class="flex">
6479        <div>
6480          <svg class="icon icon--check_mark_in_circle" width="32" height="32" viewBox="0 0 16 16" aria-hidden="true" focusable="false" role="presentation"><circle stroke="currentColor" fill="none" cx="8" cy="8" r="6.6666665"/>
6481        <path stroke="currentColor" fill="none" transform="translate(5.0003335,6.0003335)" d="m 6,0 -4,4 L 0,2.1818182" /></svg>
6482        </div>
6483        <div>
6484          <p class="quick-add__alert-heading text-h5 font-bold mb-1">Item added to your cart.</p>
6485          <a rel="nofollow" class="link text-current js-open-cart-drawer" href="/cart" data-no-instant>View cart</a>
6486        </div>
6487      </div>
6488    </div>
6489    <product-form></product-form>
6490  </footer>
6491</quick-add-drawer>
6492<div class="overlay fixed top-0 right-0 bottom-0 left-0 js-overlay"></div>
6493  
6493<script>
6494    window.theme = {
6495      info: {
6496        name: 'Canopy',
6497        version: '6.3.2'
6498      },
6499      mediaQueries: {
6500        sm: '(min-width: 600px)',
6501        md: '(min-width: 769px)',
6502        lg: '(min-width: 1024px)',
6503        xl: '(min-width: 1280px)',
6504        xxl: '(min-width: 1536px)',
6505        portrait: '(orientation: portrait)'
6506      },
6507      device: {
6508        hasTouch: window.matchMedia('(any-pointer: coarse)').matches,
6509        hasHover: window.matchMedia('(hover: hover)').matches
6510      },
6511      routes: {
6512        cart: '/cart',
6513        cartAdd: '/cart/add',
6514        cartChange: '/cart/change',
6515        cartUpdate: '/cart/update',
6516        cartClear: '/cart/clear',
6517        predictiveSearch: '/search/suggest'
6518      },
6519      settings: {
6520        moneyWithCurrencyFormat: "${{amount}} USD",
6521        pSearchLimit: 4,
6522        pSearchLimitScope: 'each',
6523        pSearchIncludeSkus: true,
6524        pSearchIncludeTags: true,
6525        sliderItemsPerNav: 'page',
6526        
6527        vibrateOnATC: true,
6528        compareToggle: true,
6529        compareShowEmptyMetafields: false,
6530        blendProductImages: false,
6531        externalLinksNewTab: true,
6532        afterAtc: "page",
6533        cartType: "drawer",
6534        dockCartDrawer: false
6535      },
6536      strings: {
6537        addCartNote: 'Add order note',
6538        editCartNote: 'Edit order note',
6539        cartError: 'There was an error while updating your cart. Please try again.',
6540        cartQtyError: 'You can only add [quantity] of this item to your cart.',
6541        confirmEmptyCart: 'Are you sure you want to empty your cart?',
6542        cartTermsConfirmation: 'You must agree to the terms and conditions before continuing.',
6543        imageAvailable: 'Image [index] is now available in gallery view',
6544        veryLowStock: 'Very low stock',
6545        lowStock: 'Low stock',
6546        inStock: 'In stock',
6547        noStock: 'Sold out',
6548        noVariant: 'Unavailable',
6549        onlyXLeft: '[quantity] in stock',
6550        awaitingSale: 'This product is not for sale yet.',
6551        shippingCalculator: {
6552          singleRate: 'There is one shipping rate for this destination:',
6553          multipleRates: 'There are multiple shipping rates for this destination:',
6554          noRates: 'We do not ship to this destination.'
6555        },
6556        viewDetails: 'View details',
6557        compare: {
6558          limit: 'You can only add a maximum of [quantity] products to compare.',
6559          more: 'Select another product to compare.',
6560          empty: 'Select at least two products to compare.',
6561          continue: 'Close to continue.'
6562        },
6563        discountCopyFail: 'Could not copy code to clipboard. Your browser may not support this.',
6564        quickNav: {
6565          button_standard: 'Search',
6566          show_products_none: 'No products :(',
6567          button_one: 'Show [quantity] product',
6568          button_other: 'Show [quantity] products',
6569        },
6570      },
6571      scripts: {
6572        cartItems: '//www.outdoorfabriccentral.com/cdn/shop/t/2/assets/cart-items.js?v=90966404011074112001736781214',
6573        countryProvinceSelector: '//www.outdoorfabriccentral.com/cdn/shop/t/2/assets/country-province-selector.js?v=24158546944577672431736781213',
6574        shippingCalculator: '//www.outdoorfabriccentral.com/cdn/shop/t/2/assets/shipping-calculator.js?v=31725526838375758301736781213'
6575      }
6576    };
6577
6578    // Save product ID to localStorage, for use in the 'Recently viewed products' section.
6579  </script>
6579<script src="//www.outdoorfabriccentral.com/cdn/shop/t/2/assets/instant-page.js?v=473454186210797571736781213" type="module" defer="defer"></script>
6579
6580  
6581<link href="//www.outdoorfabriccentral.com/cdn/shop/t/2/assets/theme-font-icon-styles-font-awesome.css?v=73233857377840401811759848636" rel="stylesheet" type="text/css" media="all" />
6582 
6583<link href="//www.outdoorfabriccentral.com/cdn/shop/t/2/assets/theme-custom-web-font-poppins.css?v=68020270436186434281750094950" rel="stylesheet" type="text/css" media="all" />  
6584<link href="//www.outdoorfabriccentral.com/cdn/shop/t/2/assets/theme-global-custom.css?v=167215998710867703741786064745" rel="stylesheet" type="text/css" media="all" />
6585
6586<link href="//www.outdoorfabriccentral.com/cdn/shop/t/2/assets/theme-custom-ofc.css?v=35740370486785406631788879055" rel="stylesheet" type="text/css" media="all" />
6587<link href="//www.outdoorfabriccentral.com/cdn/shop/t/2/assets/theme-global-jonny-zoom.css?v=82373794700540794741774131332" rel="stylesheet" type="text/css" media="all" />
6588    
6589
6590 
6591<script src="//www.outdoorfabriccentral.com/cdn/shop/t/2/assets/theme-global-util.js?v=15783756980496830421754592282"  defer="defer"></script>
vendor: 1 bytes, line 6591
6591
6592<script src="//www.outdoorfabriccentral.com/cdn/shop/t/2/assets/theme-global-jonny-query-final.min.js?v=148349100216058883341790443728" defer="defer"></script>
vendor: 1 bytes, line 6592
6592
6593<script src="//www.outdoorfabriccentral.com/cdn/shop/t/2/assets/theme-global-jonny-zoom.min.js?v=84741324556336874501790443729" defer="defer"></script>
6593
6594
6595
6596
6597
6598
6599
6600<script src="//www.outdoorfabriccentral.com/cdn/shop/t/2/assets/theme-global-custom.js?v=165413646434342978061789517734" defer="defer"></script>
6600  
6601
6602
6603  
6604  
6604<script src="//www.outdoorfabriccentral.com/cdn/shop/t/2/assets/theme-global-dpo-cart-overrides.js?v=16589174172039132411785425836" defer="defer"></script>
6604 
6605
6606
6607
6608
6609
6610<script src="//www.outdoorfabriccentral.com/cdn/shop/t/2/assets/theme-global-custom-quantity-min-max-validation.js?v=112423518816559296311771426149" defer="defer"></script>
6610
6611
6612
6613<script src="//www.outdoorfabriccentral.com/cdn/shop/t/2/assets/ecs-theme-ga.js?v=138607198498356281311774656143" defer="defer"></script>
6613
6614  
6615  
6616
6617  <ul class="clearfix from-admin-menu top-header-panel-links-info-menu">
6618    
6619        <li class="nav item">
6620          <a href="/pages/about-us"
6621            >About Us</a>
6622        </li>
6623    
6624        <li class="nav item">
6625          <a href="/pages/contact"
6626            >Contact</a>
6627        </li>
6628    
6629        <li class="nav item">
6630          <a href="/policies/shipping-policy"
6631            
6632              rel="nofollow"
6633            >Shipping</a>
6634        </li>
6635    
6636</ul>
6637<style> .product-info__block.has-volume-table {display: block !important; /* Ensure it is visible */} </style>
6638<div id="shopify-block-ATys2MjlvOE4yTUVaZ__6091580277106134563" class="shopify-block shopify-app-block"><div class="axt-popup-overlay" style="display:none"><div class="axt-popup-dialog axt-bxgy-card-background"><div class="d-flex align-items-center"><img src="https://cdn.shopify.com/extensions/01a0e6c2-2403-7b1f-81f6-6600f564cc7f/customer-group-pricing-1394/assets/gift_image.png" alt="gift_icon" width="24" height="24" class="axt-warning-card"><p>Adding item to the cart...</p></div><div><div class="axt-progressbar-bg">&nbsp;</div></div></div></div>
6639<script>window.AXT_OBJ={axt_currency_format:"${{amount}}",axt_price_format:"$0.00 USD",axt_currency_code:"USD",axt_locale_code:"en",axt_currency_code_status:null,axt_user_currency:"USD",axt_customer_country:"US",axt_base_currency:"USD",axt_customer_tags:null,axt_shop:"outdoorfabriccentral.myshopify.com",axt_shop_domain:"www.outdoorfabriccentral.com",axt_host:"https://custompricing.axtrics.com"};</script>
6639</div><div id="shopify-block-AeWtjZE1LT2Irb3pva__7079518687644006178" class="shopify-block shopify-app-block">
6639<script>
6640  (function () {
6641    const cartAttributes = {};
6642
6643    // Helper function to retrieve the UTM from Url
6644    function getUTMFromUrl() {
6645      const url_string = window.location.href;
6646      const url = new URL(url_string);
6647
6648      const utm_id = url.searchParams.get("utm_id");
6649      const utm_source = url.searchParams.get("utm_source");
6650      const utm_medium = url.searchParams.get("utm_medium");
6651      const utm_campaign = url.searchParams.get("utm_campaign");
6652      const utm_term = url.searchParams.get("utm_term");
6653      const ref = url.searchParams.get("ref");
6654
6655      if (!utm_id && !utm_source && !utm_medium && !utm_campaign && !ref) {
6656        return null;
6657      }
6658
6659      let utmParameters = {};
6660      
6661        if (utm_id) {
6662          utmParameters.utm_id = utm_id;
6663        }
6664        if (utm_source) {
6665          utmParameters.utm_source = utm_source;
6666        }
6667        if (utm_medium) {
6668          utmParameters.utm_medium = utm_medium;
6669        }
6670        if (utm_campaign) {
6671          utmParameters.utm_campaign = utm_campaign;
6672        }
6673        if (utm_term) {
6674          utmParameters.utm_term = utm_term;
6675        }
6676        if (ref) {
6677          utmParameters.ref = ref;
6678        }
6679      
6680
6681      return Object.keys(utmParameters).length === 0
6682        ? null
6683        : utmParameters;
6684    }
6685
6686    // Helper function to retrieve the UTM from Cookie
6687    function getUTMAttributes() {
6688      const urlUtmParams = getUTMFromUrl();
6689
6690      if (urlUtmParams) {
6691          return urlUtmParams;
6692      }
6693
6694      // No longer reading from deprecated Shopify cookies
6695      return undefined;
6696    }
6697
6698    function saveUtmParameters() {
6699      const utmParams = getUTMAttributes();
6700      if (utmParams) {
6701        const cartHasUtmAttributes = Object.keys(cartAttributes).find(attributeKey => attributeKey.startsWith("utm_") || attributeKey === "ref");
6702        if (cartHasUtmAttributes) {
6703          // Don't call API if it already contains our UTM parameters
6704          return;
6705        }
6706
6707        // Handle both Shopify.routes.root and routes.root_url for better compatibility
6708        var rootUrl = (window.Shopify && window.Shopify.routes && window.Shopify.routes.root) 
6709          || (window.routes && window.routes.root_url) 
6710          || '/';
6711        
6712        var updateCart = fetch(rootUrl + 'cart/update.js',
6713        {
6714          headers: {
6715            'Content-Type': 'application/json',
6716          },
6717          method: "POST",
6718          body: JSON.stringify({
6719            attributes: {
6720              ...utmParams
6721            },
6722          })
6723        })
6724        .then(response => response.json())
6725        .then(data => {
6726          return data
6727        });
6728      }
6729    }
6730
6731    saveUtmParameters();
6732  })();
6733</script>
6733
6734
6735
6736
6737
6738</div><div id="shopify-block-ASzN3YUE1bDBPKzB0N__4271225749624253571" class="shopify-block shopify-app-block">
vendor: 71 bytes, lines 6738-6740
6738
6739
6740  <noscript><iframe src="https://www.googletagmanager.com/ns.html?id=
6740GTM-TCRQTPGW
vendor: 86 bytes, lines 6740-6741
6740"  height="0" width="0" style="display:none;visibility:hidden"></iframe>
6741  </noscript>
6741<!-- BEGIN app snippet: master-datalayer -->
6741<script defer>
6742    let logged_in_status = ShopifyAnalytics.meta.page.customerId ? 'logged_in' : 'non_logged_in'
6743    let userID = ShopifyAnalytics.meta.page.customerId ? ShopifyAnalytics.meta.page.customerId : 'NA'
6744    let user_type = ShopifyAnalytics.meta.page.customerId ? 'registered_user' : 'guest'
6745
6746    if(!window.jQuery){
6747        var jqueryScript = document.createElement('script');
6748        jqueryScript.setAttribute('src','https://ajax.googleapis.com/ajax/libs/jquery/3.6.0/jquery.min.js');
6749        document.head.appendChild(jqueryScript);
6750    }
6751
6752    __DL__jQueryinterval = setInterval(function(){
6753        if(window.jQuery){
6754            getURLParams = function(name, url){
6755                if (!url) url = window.location.href;
6756                name = name.replace(/[\[\]]/g, "\\$&");
6757                var regex = new RegExp("[?&]" + name + "(=([^&#]*)|&|#|$)"),
6758                results = regex.exec(url);
6759                if (!results) return null;
6760                if (!results[2]) return '';
6761                return decodeURIComponent(results[2].replace(/\+/g, " "));
6762            };
6763            __DL__ = { dynamicCart: true, debug: false, cart: null, wishlist: null, removeCart: null };
6764
6765            customBindings = {
6766                cartTriggers: [],
6767                viewCart: [],
6768                removeCartTrigger: [],
6769                cartVisableSelector: [],
6770                promoSubscriptionsSelectors: [],
6771                promoSuccess: [],
6772                ctaSelectors: [],
6773                newsletterSelectors: [],
6774                newsletterSuccess: [],
6775                searchPage: [],
6776                wishlistSelector: [],
6777                removeWishlist: [],
6778                wishlistPage: [],
6779                checkoutSelectors: [],
6780                selectProduct: [],
6781                searchTermQuery: [getURLParams('q')], // replace var with correct query
6782                buyProduct:[],
6783                shippingInfo:[],
6784                selectContent:['.product__description'],
6785            };
6786
6787            /* DO NOT EDIT */
6788            defaultBindings = {
6789                cartTriggers: ['.add-to-cart, .product-form__submit,form[action="/cart/add"][type="submit"],.cart-btn'],
6790                viewCart: ['form[action="/cart"],.my-cart,.trigger-cart,#mobileCart'],
6791                removeCartTrigger: ['[href*="/cart/change?"],.remove-cart , [name="minus"], .button button--tertiary'],
6792                shareItem: ['.share-button__button,.link list-social__link'],
6793                selectItem: ['[href*="/products/?"]'],
6794                cartVisableSelector: ['.inlinecart.is-active,.inline-cart.is-active'],
6795                promoSubscriptionsSelectors: [],
6796                viewPromotion: ['.banner__content,.button button--primary,.button button--secondary'],
6797                promoSuccess: [],
6798                ctaSelectors: [],
6799                newsletterSelectors: ['input.contact_email'],
6800                newsletterSuccess: ['.success_message'],
6801                // searchPage: ['.header__search,.search__button field__button,[type="submit"]'],
6802                searchPage: ['search'],
6803                wishlistSelector: ['.add-to-wishlist,.wishlist-engin,.wishlisthero-product-in-wishlist,#add-to-wishlist,wishlisthero-product-page-button-container,#addToWishlist,.vt-wishlist-button'],
6804                selectProduct: ['.product-card'],
6805                checkoutSelectors: ['[name="checkout"], .checkout, .slider-cart-checkout-btn,.checkout-btn, .shopify-payment-button__button'],
6806                buyProduct:['.shopify-payment-button'],
6807                contactus:['.contact__button'],
6808                selectContent:['.product__description'],   
6809            };
6810
6811            // stitch bindings
6812            objectArray = customBindings;
6813            outputObject = __DL__;
6814
6815            applyBindings = function(objectArray, outputObject){
6816                for (var x in objectArray) {
6817                    var key = x;
6818                    var objs = objectArray[x];
6819                    values = [];
6820                    if(objs.length > 0){
6821                        values.push(objs);
6822                        if(key in outputObject){
6823                            values.push(outputObject[key]);
6824                            outputObject[key] = values.join(", ");
6825                        }else{
6826                            outputObject[key] = values.join(", ");
6827                        }
6828                    }
6829                }
6830            };
6831
6832            applyBindings(customBindings, __DL__);
6833            applyBindings(defaultBindings, __DL__);
6834            clearInterval(__DL__jQueryinterval);
6835
6836            if(__DL__.debug){   console.log('Page Template: cart'); }
6837
6838            window.dataLayer = window.dataLayer || [];
6839    
6840            var template = "cart";
6841             
6842             /** COV DL : Product List Page (Collections, Category)
6843             * Fire on all product listing pages. */
6844
6845            
6846
6847                
6848                 
6849            /** COV DL : Contact us  Page hit on generate_lead from form submission. */
6850
6851            /* COV DL : Product Page hiton all Product View & collection pages add_to_cart use this payload. */
6852            
6853                    
6854            /** COV DL : Cart View  Fire anytime a user views their cart (non-dynamic) */
6855         
6856                console.log('COV DATALAYER: DataLayer Loaded..');
6857                /**********************
6858                * DATALAYER EVENT BINDINGS
6859                ***********************/
6860
6861                /** COV DL :
6862                * Add to Cart / Dynamic Cart View
6863                * Fire all pages trigger after all additional cov_ga4_dataLayers have loaded. */
6864
6865                $(document).ready(function() {
6866                    /** COV DL : Search Results */
6867                    searchPage = new RegExp(__DL__.searchPage, "g");
6868                    if(document.location.pathname.match(searchPage)){
6869                        var search = {
6870                            'searchTerm' : __DL__.searchTermQuery,
6871                            'pageType'   : "Search",
6872                            'event'      : "search"
6873                        };                                         
6874                        window.dataLayer.push(search);
6875                        if(__DL__.debug){
6876                            console.log("Search"+" :"+JSON.stringify(search, null, " "));
6877                        }
6878                    }
6879
6880                    function __DL__addtocart(){
6881                        pdp_items[0].quantity = parseInt(jQuery('.quantity__input').val());                                       
6882                        dataLayer.push({
6883                            'event'    : 'add_to_cart',
6884                            'logged_in_status':logged_in_status,
6885                            'userID':userID,
6886                            'user_type':user_type,                                 
6887                            ecommerce: {                                                      
6888                                'currency': "USD", 
6889                                 
6890                                'items': pdp_items
6891                            } 
6892                        });
6893                    }
6894
6895                    $(document).on('click', __DL__.cartTriggers, function() {
6896                        __DL__addtocart();
6897                    });
6898                }); // document ready end
6899             }
6900    }, 500);
6901</script>
6901
6902
6903<!-- END app snippet -->
6904
6905
6906  
6907</div>
6907<script src="https://cdn.shopify.com/storefront/standard-actions.js" type="module" data-source-attribution="shopify.standard_actions"></script>
6907
6908</body>
6909</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.