PageSourceSearch

https://jettyrockfoundation.org/cart

html jettyrockfoundation.org collected 2026-10-08 01:53:29 UTC 117,362 bytes, 2,131 lines download raw bytes

1<!doctype html>
2<html class="no-js" lang="en">
3  <head>
4    <meta charset="utf-8">
5    <meta http-equiv="X-UA-Compatible" content="IE=edge">
6    <meta name="viewport" content="width=device-width,initial-scale=1">
7    <meta name="theme-color" content="">
8    <link rel="canonical" href="https://jettyrockfoundation.org/cart">
9    <link rel="preconnect" href="https://cdn.shopify.com" crossorigin><link rel="icon" type="image/png" href="//jettyrockfoundation.org/cdn/shop/files/JRF_Logo_New_colors-21_2_9d19c787-6dc8-47ee-a058-fc31e9e6c159_32x32.png?v=1776791081"><link rel="preconnect" href="https://fonts.shopifycdn.com" crossorigin><title>
10      Your Shopping Cart
11 &ndash; Jetty Rock Foundation</title>
12
13    
14
15    
16
17<meta property="og:site_name" content="Jetty Rock Foundation">
18<meta property="og:url" content="https://jettyrockfoundation.org/cart">
19<meta property="og:title" content="Your Shopping Cart">
20<meta property="og:type" content="website">
21<meta property="og:description" content="Jetty Rock Foundation"><meta property="og:image" content="http://jettyrockfoundation.org/cdn/shop/files/JRF-Logo_1_copy.jpg?v=1646761141">
22  <meta property="og:image:secure_url" content="https://jettyrockfoundation.org/cdn/shop/files/JRF-Logo_1_copy.jpg?v=1646761141">
23  <meta property="og:image:width" content="800">
24  <meta property="og:image:height" content="286"><meta name="twitter:card" content="summary_large_image">
25<meta name="twitter:title" content="Your Shopping Cart">
26<meta name="twitter:description" content="Jetty Rock Foundation">
27
28
29    
29<script src="//jettyrockfoundation.org/cdn/shop/t/8/assets/global.js?v=34556597264077296581677190573" defer="defer"></script>
29
30    
30<script>window.performance && window.performance.mark && window.performance.mark('shopify.content_for_header.start');</script>
30<meta id="shopify-digital-wallet" name="shopify-digital-wallet" content="/53621096633/digital_wallets/dialog">
31<link rel="ucp" href="/.well-known/ucp" version="2026-08-25">
31<script async="async" src="/checkouts/internal/preloads.js?locale=en-US&default_configuration_id=6291641"></script>
31
32<link rel="preconnect" href="https://shop.app" crossorigin="anonymous">
33<script async="async" src="https://shop.app/checkouts/internal/preloads.js?locale=en-US&default_configuration_id=6291641&shop_id=53621096633" crossorigin="anonymous"></script>
vendor: 1 bytes, line 33
33
34<script id="apple-pay-shop-capabilities" type="application/json">{"shopId":53621096633,"countryCode":"US","currencyCode":"USD","merchantCapabilities":["supports3DS"],"merchantId":"gid:\/\/shopify\/Shop\/53621096633","merchantName":"Jetty Rock Foundation","requiredBillingContactFields":["postalAddress","email","phone"],"requiredShippingContactFields":["postalAddress","email","phone"],"shippingType":"shipping","supportedNetworks":["visa","masterCard","discover","amex","elo","jcb"],"total":{"type":"pending","label":"Jetty Rock Foundation","amount":"1.00"},"shopifyPaymentsEnabled":true,"supportsSubscriptions":true}</script>
vendor: 1 bytes, line 34
34
35<script id="shopify-features" type="application/json">{"accessToken":"56fb7526e0a0cdb12819ffd27274b84e","betas":["rich-media-storefront-analytics"],"domain":"jettyrockfoundation.org","predictiveSearch":true,"shopId":53621096633,"locale":"en"}</script>
vendor: 1 bytes, line 35
35
36<script>var Shopify = Shopify || {};
37Shopify.shop = "hop-sauce-fest.myshopify.com";
38Shopify.locale = "en";
39Shopify.currency = {"active":"USD","rate":"1.0"};
40Shopify.country = "US";
41Shopify.theme = {"name":"Jetty Rock 1.0","id":128421101753,"schema_name":"Dawn","schema_version":"2.2.0","theme_store_id":null,"role":"main"};
42Shopify.theme.handle = "null";
43Shopify.theme.style = {"id":null,"handle":null};
44Shopify.cdnHost = "jettyrockfoundation.org/cdn";
45Shopify.routes = Shopify.routes || {};
46Shopify.routes.root = "/";
47Shopify.shopJsCdnBaseUrl = "https://cdn.shopify.com/shopifycloud/shop-js";
48Shopify.SignInWithShop = Shopify.SignInWithShop || {};
49Shopify.SignInWithShop.User = Shopify.SignInWithShop.User || {};
50Shopify.SignInWithShop.User.recognized = false;</script>
vendor: 1 bytes, line 50
50
51<script type="module">!function(o){(o.Shopify=o.Shopify||{}).modules=!0}(window);</script>
vendor: 1 bytes, line 51
51
52<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 52
52
53<script>
54  window.ShopifyPay = window.ShopifyPay || {};
55  window.ShopifyPay.apiHost = "shop.app\/pay";
56  window.ShopifyPay.redirectState = null;
57</script>
vendor: 1 bytes, line 57
57
58<script>
59  window.Shopify = window.Shopify || {};
60  window.Shopify.SignInWithShop = window.Shopify.SignInWithShop || {};
61  window.Shopify.SignInWithShop.assetMetrics = { sampleRate: 0.25 };
62  window.Shopify.SignInWithShop.eligible = true;
63</script>
vendor: 1 bytes, line 63
63
64<script id="shop-js-analytics" type="application/json">{"pageType":"cart"}</script>
vendor: 1 bytes, line 64
64
65<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 65
65
66<script type="module">
67  await import("https://cdn.shopify.com/shopifycloud/shop-js/modules/v2/loader.init-shop-cart-sync.en.esm.js");
68
69  window.Shopify.SignInWithShop?.initShopCartSync?.({"fedCMEnabled":true,"windoidEnabled":true});
70
71</script>
vendor: 1 bytes, line 71
71
72<script>
73  window.Shopify = window.Shopify || {};
74  if (!window.Shopify.featureAssets) window.Shopify.featureAssets = {};
75  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"]};
76</script>
vendor: 1 bytes, line 76
76
77<script>(function() {
78  var isLoaded = false;
79  function asyncLoad() {
80    if (isLoaded) return;
81    isLoaded = true;
82    var urls = ["https:\/\/chimpstatic.com\/mcjs-connected\/js\/users\/efeb9f5f6fff859916d33c16d\/a90d6c3c6151e4a2f7c6a0b70.js?shop=hop-sauce-fest.myshopify.com"];
83    for (var i = 0; i < urls.length; i++) {
84      var s = document.createElement('script');
85      s.type = 'text/javascript';
86      s.async = true;
87      s.src = urls[i];
88      var x = document.getElementsByTagName('script')[0];
89      x.parentNode.insertBefore(s, x);
90    }
91  };
92  if(window.attachEvent) {
93    window.attachEvent('onload', asyncLoad);
94  } else {
95    window.addEventListener('load', asyncLoad, false);
96  }
97})();</script>
vendor: 1 bytes, line 97
97
98<script id="__st">var __st={"a":53621096633,"offset":-14400,"reqid":"5a81d8a6-e175-4109-9a5d-8d482e49ac09-1791424409","pageurl":"jettyrockfoundation.org\/cart","u":"dd6c4fec7d21","p":"cart"};</script>
vendor: 1 bytes, line 98
98
99<script>window.ShopifyPaypalV4VisibilityTracking = true;</script>
vendor: 1 bytes, line 99
99
100<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 100
100
101<script integrity="sha256-JjoPp5ZfB1sSAs5SQaol1x1GgvveM+BgmRzyDexInEQ=" data-source-attribution="shopify.loadfeatures" defer="defer" src="//jettyrockfoundation.org/cdn/shopifycloud/storefront/assets/storefront/load_feature-1bd60354.js" crossorigin="anonymous"></script>
vendor: 1 bytes, line 101
101
102<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 = "//jettyrockfoundation.org/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>
102<script crossorigin="anonymous" defer="defer" src="//jettyrockfoundation.org/cdn/shopifycloud/storefront/assets/shopify_pay/storefront-f0e26bdf.js?v=20250812"></script>
vendor: 1 bytes, line 102
102
103<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 103
103
104<script>
105  window.Shopify = window.Shopify || {};
106  window.Shopify.MCP = window.Shopify.MCP || {};
107  window.Shopify.MCP.enabled = true;
108  window.Shopify.MCP.shop = "hop-sauce-fest.myshopify.com";
109  window.Shopify.MCP.mcpEndpoint = "https:\/\/jettyrockfoundation.org\/api\/mcp";
110  window.Shopify.MCP.tools = [{"name":"search_shop_policies_and_faqs","description":"Used to get facts about the stores policies, products, or services.\nSome examples of questions you can ask are:\n  - What is your return policy?\n  - What is your shipping policy?\n  - What is your phone number?\n  - What are your hours of operation?\"\nSet policy_types to also get the store's written policies (full text and URL).\n","inputSchema":{"$schema":"https:\/\/json-schema.org\/draft\/2020-12\/schema","type":"object","properties":{"query":{"type":"string","description":"A natural language query."},"context":{"type":"string","description":"Additional information about the request such as user demographics, mood, location, or other relevant details that could help in tailoring the response appropriately."},"policy_types":{"type":"array","items":{"type":"string","enum":["refund","shipping","privacy","terms_of_service","terms_of_sale","subscription","legal_notice","contact"]},"description":"Policy kinds to fetch, chosen from the user's question — e.g. [\"refund\"] for returns\/exchanges\/damaged items, [\"contact\"] for phone\/hours\/address. Include every kind the question touches. Omit it to get only FAQ answers."}},"required":["query"]}}];
111</script>
vendor: 1 bytes, line 111
111
112<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("\/\/jettyrockfoundation.org\/cdn\/shopifycloud\/storefront\/assets\/storefront\/webmcp-c6b62ece.js","sha256-ke4DDuBjdvea3vxLWxHc9E9nq8zihuG4IfYEGbb77ys=");})();
113</script>
vendor: 1 bytes, line 113
113
114<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://jettyrockfoundation.org/cdn/shopifycloud/portable-wallets/latest/portable-wallets.en.js",t.type="module",document.head.appendChild(t)}};
115</script>
vendor: 1 bytes, line 115
115
116<script data-source-attribution="shopify.dynamic_checkout.buyer_consent">
117  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);
118</script>
vendor: 1 bytes, line 118
118
119<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})}}));
120</script>
120
121<link id="shopify-accelerated-checkout-styles" rel="stylesheet" media="screen" href="https://jettyrockfoundation.org/cdn/shopifycloud/portable-wallets/latest/accelerated-checkout-backwards-compat.css" crossorigin="anonymous">
122<style id="shopify-accelerated-checkout-cart">
123        #shopify-buyer-consent {
124  margin-top: 1em;
125  display: inline-block;
126  width: 100%;
127}
128
129#shopify-buyer-consent.hidden {
130  display: none;
131}
132
133#shopify-subscription-policy-button {
134  background: none;
135  border: none;
136  padding: 0;
137  text-decoration: underline;
138  font-size: inherit;
139  cursor: pointer;
140}
141
142#shopify-subscription-policy-button::before {
143  box-shadow: none;
144}
145
146      </style>
147
148<script id="shopify-cfh-end">window.performance && window.performance.mark && window.performance.mark('shopify.content_for_header.end');</script>
148
149
150
151    <style data-shopify>
152      @font-face {
153  font-family: Assistant;
154  font-weight: 400;
155  font-style: normal;
156  font-display: swap;
157  src: url("//jettyrockfoundation.org/cdn/fonts/assistant/assistant_n4.9120912a469cad1cc292572851508ca49d12e768.woff2") format("woff2"),
158       url("//jettyrockfoundation.org/cdn/fonts/assistant/assistant_n4.6e9875ce64e0fefcd3f4446b7ec9036b3ddd2985.woff") format("woff");
159}
160
161      @font-face {
162  font-family: Assistant;
163  font-weight: 700;
164  font-style: normal;
165  font-display: swap;
166  src: url("//jettyrockfoundation.org/cdn/fonts/assistant/assistant_n7.bf44452348ec8b8efa3aa3068825305886b1c83c.woff2") format("woff2"),
167       url("//jettyrockfoundation.org/cdn/fonts/assistant/assistant_n7.0c887fee83f6b3bda822f1150b912c72da0f7b64.woff") format("woff");
168}
169
170      
171      
172      @font-face {
173  font-family: Assistant;
174  font-weight: 400;
175  font-style: normal;
176  font-display: swap;
177  src: url("//jettyrockfoundation.org/cdn/fonts/assistant/assistant_n4.9120912a469cad1cc292572851508ca49d12e768.woff2") format("woff2"),
178       url("//jettyrockfoundation.org/cdn/fonts/assistant/assistant_n4.6e9875ce64e0fefcd3f4446b7ec9036b3ddd2985.woff") format("woff");
179}
180
181
182      :root {
183        --font-body-family: Gilroy, sans-serif;
184        --font-body-style: normal;
185        --font-body-weight: 400;
186
187        --font-heading-family: Blacker, sans-serif;
188        --font-heading-style: normal;
189        --font-heading-weight: 400;
190
191        --color-base-text: 18, 18, 18;
192        --color-base-text-light: 56, 56, 56;
193        --color-base-background-1: 255, 255, 255;
194        --color-base-background-2: 242, 242, 242;
195        --color-base-background-3: 195, 195, 195;
196        --color-base-solid-button-labels: 255, 255, 255;
197        --color-base-outline-button-labels: 18, 18, 18;
198        --color-base-accent-1: 18, 18, 18;
199        --color-base-accent-2: 88, 110, 114;
200        --payment-terms-background-color: #FFFFFF;
201
202        --gradient-base-background-1: #FFFFFF;
203        --gradient-base-background-2: #f2f2f2;
204        --gradient-base-accent-1: #121212;
205        --gradient-base-accent-2: #586e72;
206
207        --page-width: 120rem;
208        --page-width-margin: 0rem;
209      }
210
211      *,
212      *::before,
213      *::after {
214        box-sizing: inherit;
215      }
216
217      html {
218        box-sizing: border-box;
219        font-size: 62.5%;
220        height: 100%;
221      }
222
223      body {
224        display: grid;
225        grid-template-rows: auto auto 1fr auto;
226        grid-template-columns: 100%;
227        min-height: 100%;
228        margin: 0;
229        font-size: 1.5rem;
230        line-height: 1.5;
231        font-family: var(--font-body-family);
232        font-style: var(--font-body-style);
233        font-weight: var(--font-body-weight);
234        -webkit-font-smoothing: antialiased;
235      }
236
237      @media screen and (min-width: 750px) {
238        body {
239          font-size: 1.6rem;
240        }
241      }
242    </style>
243
244    <link href="//jettyrockfoundation.org/cdn/shop/t/8/assets/base.css?v=163773280877625417671652405589" rel="stylesheet" type="text/css" media="all" />
245<link rel="preload" as="font" href="//jettyrockfoundation.org/cdn/fonts/assistant/assistant_n4.9120912a469cad1cc292572851508ca49d12e768.woff2" type="font/woff2" crossorigin><link rel="preload" as="font" href="//jettyrockfoundation.org/cdn/fonts/assistant/assistant_n4.9120912a469cad1cc292572851508ca49d12e768.woff2" type="font/woff2" crossorigin><link rel="stylesheet" href="//jettyrockfoundation.org/cdn/shop/t/8/assets/component-predictive-search.css?v=39387625587254724311639431810" media="print" onload="this.media='all'">
245<script>document.documentElement.className = document.documentElement.className.replace('no-js', 'js');</script>
245
246  <link href="https://monorail-edge.shopifysvc.com" rel="dns-prefetch">
247<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: 53621096633,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 247
247
248<script>
249  window.__TREKKIE_SHIM_QUEUE = window.__TREKKIE_SHIM_QUEUE || [];
250</script>
vendor: 1 bytes, line 250
250
251<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}
251).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: 53621096633,storefrontBaseUrl: "https://jettyrockfoundation.org",extensionsBaseUrl: "https://extensions.shopifycdn.com/cdn/shopifycloud/web-pixels-manager",monorailEndpoint: "https://jettyrockfoundation.org/.well-known/shopify/monorail/unstable/produce_batch",surface: "storefront-renderer",enabledBetaFlags: ["4c64608a","16072cab","8450a54b"],webPixelsConfigList: [{"id":"2046525625","configuration":"{\"mailchimp_store_id\":\"store_5thaw8q9ger18oi8vnw8\", \"mailchimp_user_id\":\"208064770\",\"mailchimp_list_id\":\"84540cc5c1\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"e357a49eadeb6216a959d63fa3fb8f55","type":"APP","apiClientId":2585307,"privacyPurposes":["ANALYTICS","MARKETING","SALE_OF_DATA"],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_address","read_customer_email","read_customer_name","read_customer_personal_data","read_customer_phone"],"dataSharingControls":["share_all_events"]},"dataSharingState":"optimized","enabledFlags":["9a3ed68a"]},{"id":"796623033","configuration":"{\"pixel_id\":\"1495546658477117\",\"pixel_type\":\"facebook_pixel\"}","eventPayloadVersion":"v1","runtimeContext":"OPEN","scriptVersion":"bd2f978c17a94bbb8a74d43de2165dc5","type":"APP","apiClientId":2329312,"privacyPurposes":["ANALYTICS","MARKETING","SALE_OF_DATA"],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_address","read_customer_email","read_customer_name","read_customer_personal_data","read_customer_phone"],"dataSharingControls":["share_all_events"]},"dataSharingState":"optimized","enabledFlags":["9a3ed68a"]},{"id":"63439033","eventPayloadVersion":"v1","runtimeContext":"LAX","scriptVersion":"1","type":"CUSTOM","privacyPurposes":["ANALYTICS"],"name":"Google Analytics tag (migrated)"},{"id":"shopify-app-pixel","configuration":"{}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"0530","apiClientId":"shopify-pixel","type":"APP","privacyPurposes":["ANALYTICS","MARKETING"]},{"id":"shopify-custom-pixel","eventPayloadVersion":"v1","runtimeContext":"LAX","scriptVersion":"0530","apiClientId":"shopify-pixel","type":"CUSTOM","privacyPurposes":["ANALYTICS","MARKETING"]}],isMerchantRequest: false,initData: {"shop":{"name":"Jetty Rock Foundation","paymentSettings":{"currencyCode":"USD"}
251,"myshopifyDomain":"hop-sauce-fest.myshopify.com","countryCode":"US","storefrontUrl":"https:\/\/jettyrockfoundation.org"},"customer":null,"cart":null,"checkout":null,"productVariants":[],"products":[],"purchasingCompany":null},},"https://jettyrockfoundation.org/cdn","7ec887c8w14f9f074p854094e1m1370c602",{"modern":"","legacy":""},{"trekkieShim":true,"agentContext":true,"apiClientId":"580111","facebookCapiEnabled":"true","themeId":"128421101753","themePublished":"true","eventMetadataId":"e290caae-678c-45c8-b063-75e29c88c693","pageType":"cart","shopId":"53621096633","storefrontBaseUrl":"https:\/\/jettyrockfoundation.org","extensionBaseUrl":"https:\/\/extensions.shopifycdn.com\/cdn\/shopifycloud\/web-pixels-manager","surface":"storefront-renderer","enabledBetaFlags":"[\"4c64608a\", \"16072cab\", \"8450a54b\"]","isMerchantRequest":"false","hashVersion":"7ec887c8w14f9f074p854094e1m1370c602","publish":"custom","events":"[[\"page_viewed\",{}]]"});})();</script>
251<script>
252  window.ShopifyAnalytics = window.ShopifyAnalytics || {};
253  window.ShopifyAnalytics.meta = window.ShopifyAnalytics.meta || {};
254  window.ShopifyAnalytics.meta.currency = 'USD';
255  var meta = {"page":{"pageType":"cart","requestId":"5a81d8a6-e175-4109-9a5d-8d482e49ac09-1791424409"}};
256  for (var attr in meta) {
257    window.ShopifyAnalytics.meta[attr] = meta[attr];
258  }
259</script>
vendor: 1 bytes, line 259
259
260<script class="analytics">
261  (function () {
262    var customDocumentWrite = function(content) {
263      var jquery = null;
264
265      if (window.jQuery) {
266        jquery = window.jQuery;
267      } else if (window.Checkout && window.Checkout.$) {
268        jquery = window.Checkout.$;
269      }
270
271      if (jquery) {
272        jquery('body').append(content);
273      }
274    };
275
276    var hasLoggedConversion = function(token) {
277      if (token) {
278        return document.cookie.indexOf('loggedConversion=' + token) !== -1;
279      }
280      return false;
281    }
282
283    var setCookieIfConversion = function(token) {
284      if (token) {
285        var twoMonthsFromNow = new Date(Date.now());
286        twoMonthsFromNow.setMonth(twoMonthsFromNow.getMonth() + 2);
287
288        document.cookie = 'loggedConversion=' + token + '; expires=' + twoMonthsFromNow;
289      }
290    }
291
292    var trekkie = window.ShopifyAnalytics.lib = window.trekkie = window.trekkie || [];
293    window.ShopifyAnalytics.lib.trekkie = window.trekkie;
294    if (trekkie.integrations) {
295      return;
296    }
297    trekkie.methods = [
298      'identify',
299      'page',
300      'ready',
301      'track',
302      'trackForm',
303      'trackLink'
304    ];
305    trekkie.factory = function(method) {
306      return function() {
307        var args = Array.prototype.slice.call(arguments);
308        args.unshift(method);
309        trekkie.push(args);
310        if (method == 'track' || method == 'page') {
311          var pageUrl;
312          try {
313            pageUrl = window.location.href;
314          } catch (e) {}
315          var pageReferrer;
316          try {
317            pageReferrer = document.referrer;
318          } catch (e) {}
319          try {
320            if (window.__TREKKIE_SHIM_QUEUE == null) {
321              window.__TREKKIE_SHIM_QUEUE = [];
322            }
323            window.__TREKKIE_SHIM_QUEUE.push({
324              from: 'trekkie-stub',
325              method: method,
326              args: args.slice(1),
327              pageContext: {
328                url: pageUrl,
329                referrer: pageReferrer
330              }
331            });
332          } catch (e) {
333            // no-op
334          }
335        }
336        return trekkie;
337      };
338    };
339    for (var i = 0; i < trekkie.methods.length; i++) {
340      var key = trekkie.methods[i];
341      trekkie[key] = trekkie.factory(key);
342    }
343    trekkie.load = function(config) {
344      trekkie.config = config || {};
345      trekkie.config.initialDocumentCookie = document.cookie;
346      var first = document.getElementsByTagName('script')[0];
347var script = document.createElement('script');
348script.type = 'text/javascript';
349script.onerror = function(e) {
350  var scriptFallback = document.createElement('script');
351  scriptFallback.type = 'text/javascript';
352  scriptFallback.onerror = function(error) {
353          var Monorail = {
354      produce: function produce(monorailDomain, schemaId, payload) {
355        var currentMs = new Date().getTime();
356        var event = {
357          schema_id: schemaId,
358          payload: payload,
359          metadata: {
360            event_created_at_ms: currentMs,
361            event_sent_at_ms: currentMs
362          }
363        };
364        return Monorail.sendRequest("https://" + monorailDomain + "/v1/produce", JSON.stringify(event));
365      },
366      sendRequest: function sendRequest(endpointUrl, payload) {
367        // Try the sendBeacon API
368        if (window && window.navigator && typeof window.navigator.sendBeacon === 'function' && typeof window.Blob === 'function' && !Monorail.isIos12()) {
369          var blobData = new window.Blob([payload], {
370            type: 'text/plain'
371          });
372
373          if (window.navigator.sendBeacon(endpointUrl, blobData)) {
374            return true;
375          } // sendBeacon was not successful
376
377        } // XHR beacon
378
379        var xhr = new XMLHttpRequest();
380
381        try {
382          xhr.open('POST', endpointUrl);
383          xhr.setRequestHeader('Content-Type', 'text/plain');
384          xhr.send(payload);
385        } catch (e) {
386          console.log(e);
387        }
388
389        return false;
390      },
391      isIos12: function isIos12() {
392        return window.navigator.userAgent.lastIndexOf('iPhone; CPU iPhone OS 12_') !== -1 || window.navigator.userAgent.lastIndexOf('iPad; CPU OS 12_') !== -1;
393      }
394    };
395    Monorail.produce('monorail-edge.shopifysvc.com',
396      'trekkie_storefront_load_errors/1.1',
397      {shop_id: 53621096633,
398      theme_id: 128421101753,
399      app_name: "storefront",
400      context_url: window.location.href,
401      source_url: "//jettyrockfoundation.org/cdn/s/trekkie.storefront.51e69540e15035ae012ec8cc42e8f9cd792233a0.min.js"});
402
403  };
404  scriptFallback.async = true;
405  scriptFallback.src = '//jettyrockfoundation.org/cdn/s/trekkie.storefront.51e69540e15035ae012ec8cc42e8f9cd792233a0.min.js';
406  first.parentNode.insertBefore(scriptFallback, first);
407};
408script.async = true;
409script.src = '//jettyrockfoundation.org/cdn/s/trekkie.storefront.51e69540e15035ae012ec8cc42e8f9cd792233a0.min.js';
410first.parentNode.insertBefore(script, first);
411
412    };
413    trekkie.load(
414      {"Trekkie":{"appName":"storefront","development":false,"defaultAttributes":{"shopId":53621096633,"isMerchantRequest":null,"themeId":128421101753,"themeCityHash":"17295167091584987635","contentLanguage":"en","currency":"USD","eventMetadataId":"e290caae
414-678c-45c8-b063-75e29c88c693"},"isServerSideCookieWritingEnabled":true,"monorailRegion":"shop_domain","enabledBetaFlags":["764d78cb","8450a54b","4c64608a"]},"Session Attribution":{},"S2S":{"facebookCapiEnabled":true,"source":"trekkie-storefront-renderer","apiClientId":580111}}
415    );
416
417    var loaded = false;
418    trekkie.ready(function() {
419      if (loaded) return;
420      loaded = true;
421
422      window.ShopifyAnalytics.lib = window.trekkie;
423
424      var originalDocumentWrite = document.write;
425      document.write = customDocumentWrite;
426      try { window.ShopifyAnalytics.merchantGoogleAnalytics.call(this); } catch(error) {};
427      document.write = originalDocumentWrite;
428
429      var match = window.location.pathname.match(/checkouts\/(.+)\/(thank_you|post_purchase)/)
430      var token = match? match[1]: undefined;
431      if (!hasLoggedConversion(token)) {
432        setCookieIfConversion(token);
433        
434      }
435    });
436
437    window.ShopifyAnalytics.lib.page(null,{"pageType":"cart","requestId":"5a81d8a6-e175-4109-9a5d-8d482e49ac09-1791424409","shopifyEmitted":true});
438
439    var eventsListenerScript = document.createElement('script');
440    eventsListenerScript.async = true;
441    eventsListenerScript.src = "//jettyrockfoundation.org/cdn/shopifycloud/storefront/assets/shop_events_listener-4e26a9ce.js";
442    document.getElementsByTagName('head')[0].appendChild(eventsListenerScript);
443})();</script>
443
444  
444<script>
445  if (!window.ga || (window.ga && typeof window.ga !== 'function')) {
446    window.ga = function ga() {
447      (window.ga.q = window.ga.q || []).push(arguments);
448      if (window.Shopify && window.Shopify.analytics && typeof window.Shopify.analytics.publish === 'function') {
449        window.Shopify.analytics.publish("ga_stub_called", {}, {sendTo: "google_osp_migration"});
450      }
451      console.error("Shopify's Google Analytics stub called with:", Array.from(arguments), "\nSee https://help.shopify.com/manual/promoting-marketing/pixels/pixel-migration#google for more information.");
452    };
453    if (window.Shopify && window.Shopify.analytics && typeof window.Shopify.analytics.publish === 'function') {
454      window.Shopify.analytics.publish("ga_stub_initialized", {}, {sendTo: "google_osp_migration"});
455    }
456  }
457</script>
vendor: 1 bytes, line 457
457
458<script
459  defer
460  src="https://jettyrockfoundation.org/cdn/shopifycloud/perf-kit/shopify-perf-kit-3.9.6.min.js"
461  data-application="storefront-renderer"
462  data-shop-id="53621096633"
463  data-render-region="gcp-us-central1"
464  data-page-type="cart"
465  data-theme-instance-id="128421101753"
466  data-theme-name="Dawn"
467  data-theme-version="2.2.0"
468  data-monorail-region="shop_domain"
469  data-resource-timing-sampling-rate="10"
470  data-shs="true"
471  data-shs-beacon="true"
472  data-shs-export-with-fetch="true"
473  data-shs-logs-sample-rate="1"
474  data-shs-beacon-endpoint="https://jettyrockfoundation.org/api/collect"
475></script>
475
476<meta name="shopify-y" content="aa339d1a-99a6-4c88-8e0a-5d602adeb070" data-expiration="1822982009000"><meta name="shopify-s" content="9d3dbec9-f940-46d1-8fd6-f9484e837172" data-expiration="1791426209000"><meta name="new-cookie-storage-activated" content="t">
477</head>
478
479  <body class="gradient">
480    <a class="skip-to-content-link button visually-hidden" href="#MainContent">
481      Skip to content
482    </a>
483
484    <div id="shopify-section-announcement-bar" class="shopify-section">
485</div>
486    <div id="shopify-section-header" class="shopify-section"><link href="//jettyrockfoundation.org/cdn/shop/t/8/assets/component-header.css?v=100027823521077994351674853118" rel="stylesheet" type="text/css" media="all" />
487<header class="site-header sticky-header" id="main-site-header" data-id="header">
488  <div class="site-header-inner page-width">
489    <div class="navigation-container">
490      <button class="btn btn--plain burger-icon feather-icon js-mobile-menu-icon hide-for-search" aria-label="Toggle Mobile Menu">
491        <svg aria-hidden="true" focusable="false" role="presentation" class="icon feather-menu" viewBox="0 0 24 24"><path d="M3 12h18M3 6h18M3 18h18"/></svg>
492      </button>
493      
494      <div class="site-branding"><a href="/" class="header__heading-link"><img srcset="//jettyrockfoundation.org/cdn/shop/files/JRF_Logo_New_colors-21_1_150x.png?v=1751487958 1x, //jettyrockfoundation.org/cdn/shop/files/[email protected]?v=1751487958 2x"
495                  src="//jettyrockfoundation.org/cdn/shop/files/JRF_Logo_New_colors-21_1_150x.png?v=1751487958"
496                  loading="lazy"
497                  class="header__heading-logo"
498                  width="1454"
499                  height="497"
500                  alt="Jetty Rock Foundation"
501                ></a></div>
502      
503      <nav class="header-navigation mobile-nav">
504        <div class="mobile-menu-close-container">
505          <button class="btn btn--plain close-mobile-menu js-close-mobile-menu" aria-label="Close Menu">
506            <span class="feather-icon icon--header">
507              <svg aria-hidden="true" focusable="false" role="presentation" class="icon feather-x" viewBox="0 0 24 24"><path d="M18 6L6 18M6 6l12 12"/></svg>
508            </span>
509          </button>
510        </div>
511        <div class="navigation__container">
512          <div class="mobile-menu-logo">
513            <a href="/" class="header__heading-link"><img srcset="//jettyrockfoundation.org/cdn/shop/files/JRF_Logo_New_colors-21_1_150x.png?v=1751487958 1x, //jettyrockfoundation.org/cdn/shop/files/[email protected]?v=1751487958 2x"
514                  src="//jettyrockfoundation.org/cdn/shop/files/JRF_Logo_New_colors-21_1_150x.png?v=1751487958"
515                  loading="lazy"
516                  class="mobile-navigation-logo"
517                  width="1454"
518                  height="497"
519                  alt="Jetty Rock Foundation"
520                ></a>
521          </div>
522          <div class="mobile-menu-search-bar">
523            <div class="mobile-menu-search search-modal modal__content" role="dialog" aria-modal="true" aria-label="Search Our Store">
524  <div class="modal-overlay"></div>
525  <div class="search-modal__content" tabindex="-1">
526    <span class="feather-icon icon--header">
527      <svg aria-hidden="true" focusable="false" role="presentation" class="icon feather-search" viewBox="0 0 24 24"><circle cx="10.5" cy="10.5" r="7.5"/><path d="M21 21l-5.2-5.2"/></svg>
528    </span><predictive-search class="search-modal__form" data-loading-text="Loading..."><form action="/search" method="get" role="search" class="search search-modal__form">
529        <div class="field">
530          <input class="search__input field__input"
531            id="Search-In-Modal"
532            type="search"
533            name="q"
534            value=""
535            placeholder="Search Our Store"role="combobox"
536              aria-expanded="false"
537              aria-owns="predictive-search-results-list"
538              aria-controls="predictive-search-results-list"
539              aria-haspopup="listbox"
540              aria-autocomplete="list"
541              autocorrect="off"
542              autocomplete="off"
543              autocapitalize="off"
544              spellcheck="false">
545          <label class="field__label" for="Search-In-Modal">Search Our Store</label>
546          <input type="hidden" name="options[prefix]" value="last">
547          
548        </div><div class="predictive-search predictive-search--header" tabindex="-1" data-predictive-search>
549            <div class="predictive-search__loading-state">
550              <svg aria-hidden="true" focusable="false" role="presentation" class="spinner" viewBox="0 0 66 66" xmlns="http://www.w3.org/2000/svg">
551                <circle class="path" fill="none" stroke-width="6" cx="33" cy="33" r="30"></circle>
552              </svg>
553            </div>
554          </div>
555
556          <span class="predictive-search-status visually-hidden" role="status" aria-hidden="true"></span></form></predictive-search><button type="button" class="modal-close-icon" aria-label="Close">
557      <span class="feather-icon icon--header" aria-hidden="true" focusable="false" role="presentation">
558        <svg aria-hidden="true" focusable="false" role="presentation" class="icon feather-x" viewBox="0 0 24 24"><path d="M18 6L6 18M6 6l12 12"/></svg>
559      </span>
560    </button>
561  </div>
562</div>
563          </div>
564          <ul class="nav mobile-site-nav">
565            
566            <!-- GET NAV PROMO IMAGE AND LINK -->
567              
568              
569              <li class="mobile-site-nav__item">
570                
571                  <a href="/pages/about" class="mobile-site-nav__link">
572                    About JRF
573                  </a>
574                
575                
576              </li>
577            
578            <!-- GET NAV PROMO IMAGE AND LINK -->
579              
580              
581              <li class="mobile-site-nav__item">
582                
583                  <a class="mobile-site-nav__link" href="/pages/donate">
584                    Support JRF
585                  </a>
586                  <button class="btn--plain feather-icon mobile-site-nav__icon" aria-label="Expand Menu" aria-haspopup="true" aria-expanded="false"><svg aria-hidden="true" focusable="false" role="presentation" class="icon feather-chevron-down" viewBox="0 0 24 24"><path d="M6 9l6 6 6-6"/></svg></button>
587                
588                
589                  <ul class="mobile-site-nav__menu">
590                    
591                    
592                      <li class="mobile-site-nav__item">
593                        
594                          <a href="https://jettylife.com/pages/jrf-membership" class="mobile-site-nav__link">
595                            Jetty Rock Crew Membership
596                          </a>
597                          <button class="btn--plain feather-icon mobile-site-nav__icon" aria-label="Expand Menu" aria-haspopup="true" aria-expanded="false"><svg aria-hidden="true" focusable="false" role="presentation" class="icon feather-chevron-down" viewBox="0 0 24 24"><path d="M6 9l6 6 6-6"/></svg></button>
598                        
599                        
600                          <ul class="mobile-site-nav__menu">
601                            
602                              <li class="mobile-site-nav__item mobile-site-nav__child">
603                                <a href="/pages/jordan-kendall-parks" class="mobile-site-nav__link">
604                                  JRF X Jordan Kendall Parks
605                                </a>
606                              </li>
607                            
608                          </ul>
609                        
610                      </li>
611                    
612                      <li class="mobile-site-nav__item">
613                        
614                          <a href="/pages/planned-giving" class="mobile-site-nav__link">
615                            Planned Giving
616                          </a>
617                        
618                        
619                      </li>
620                    
621                      <li class="mobile-site-nav__item">
622                        
623                          <a href="https://fundraise.givesmart.com/form/HCew3g?vid=pmn31" class="mobile-site-nav__link">
624                            Donate
625                          </a>
626                        
627                        
628                      </li>
629                    
630                  </ul>
631                
632              </li>
633            
634            <!-- GET NAV PROMO IMAGE AND LINK -->
635              
636              
637              <li class="mobile-site-nav__item">
638                
639                  <a class="mobile-site-nav__link" href="/pages/oysters">
640                    Raising Shell
641                  </a>
642                  <button class="btn--plain feather-icon mobile-site-nav__icon" aria-label="Expand Menu" aria-haspopup="true" aria-expanded="false"><svg aria-hidden="true" focusable="false" role="presentation" class="icon feather-chevron-down" viewB
642ox="0 0 24 24"><path d="M6 9l6 6 6-6"/></svg></button>
643                
644                
645                  <ul class="mobile-site-nav__menu">
646                    
647                    
648                      <li class="mobile-site-nav__item">
649                        
650                          <a href="/pages/the-oyster-shooter" class="mobile-site-nav__link">
651                            The Oyster Shooter
652                          </a>
653                        
654                        
655                      </li>
656                    
657                      <li class="mobile-site-nav__item">
658                        
659                          <a href="https://barnegatoyster.com/products/jettyrockoyster" class="mobile-site-nav__link">
660                            Jetty Rock Oysters
661                          </a>
662                        
663                        
664                      </li>
665                    
666                      <li class="mobile-site-nav__item">
667                        
668                          <a href="/pages/oyster-master-guild" class="mobile-site-nav__link">
669                            OMG Scholarships
670                          </a>
671                        
672                        
673                      </li>
674                    
675                      <li class="mobile-site-nav__item">
676                        
677                          <a href="/pages/nj-shell-exchange-program" class="mobile-site-nav__link">
678                            NJ Shellfish Exchange
679                          </a>
680                        
681                        
682                      </li>
683                    
684                      <li class="mobile-site-nav__item">
685                        
686                          <a href="/pages/learn-to-shuck" class="mobile-site-nav__link">
687                            Learn to Shuck
688                          </a>
689                        
690                        
691                      </li>
692                    
693                      <li class="mobile-site-nav__item">
694                        
695                          <a href="/pages/shell-recycling" class="mobile-site-nav__link">
696                            Shell Recycling
697                          </a>
698                        
699                        
700                      </li>
701                    
702                  </ul>
703                
704              </li>
705            
706            <!-- GET NAV PROMO IMAGE AND LINK -->
707              
708              
709              <li class="mobile-site-nav__item">
710                
711                  <a class="mobile-site-nav__link" href="/pages/events">
712                    Events
713                  </a>
714                  <button class="btn--plain feather-icon mobile-site-nav__icon" aria-label="Expand Menu" aria-haspopup="true" aria-expanded="false"><svg aria-hidden="true" focusable="false" role="presentation" class="icon feather-chevron-down" viewBox="0 0 24 24"><path d="M6 9l6 6 6-6"/></svg></button>
715                
716                
717                  <ul class="mobile-site-nav__menu">
718                    
719                    
720                      <li class="mobile-site-nav__item">
721                        
722                          <a href="/pages/arctic-outreach" class="mobile-site-nav__link">
723                            Arctic Outreach
724                          </a>
725                        
726                        
727                      </li>
728                    
729                      <li class="mobile-site-nav__item">
730                        
731                          <a href="/pages/hop-sauce-festival" class="mobile-site-nav__link">
732                            HopSauce
733                          </a>
734                        
735                        
736                      </li>
737                    
738                      <li class="mobile-site-nav__item">
739                        
740                          <a href="/pages/coquina-jam" class="mobile-site-nav__link">
741                            Coquina Jam
742                          </a>
743                        
744                        
745                      </li>
746                    
747                      <li class="mobile-site-nav__item">
748                        
749                          <a href="/pages/littleneck-jam" class="mobile-site-nav__link">
750                            Littleneck Jam
751                          </a>
752                        
753                        
754                      </li>
755                    
756                      <li class="mobile-site-nav__item">
757                        
758                          <a href="/pages/raising-shell-oyster-social" class="mobile-site-nav__link">
759                            Raising Shell Oyster Social
760                          </a>
761                        
762                        
763                      </li>
764                    
765                      <li class="mobile-site-nav__item">
766                        
767                          <a href="/pages/clam-jam" class="mobile-site-nav__link">
768                            Clam Jam
769                          </a>
770                        
771                        
772                      </li>
773                    
774                  </ul>
775                
776              </li>
777            
778            <!-- GET NAV PROMO IMAGE AND LINK -->
779              
780              
781              <li class="mobile-site-nav__item">
782                
783                  <a class="mobile-site-nav__link" href="/pages/initiatives">
784                    Initiatives
785                  </a>
786                  <button class="btn--plain feather-icon mobile-site-nav__icon" aria-label="Expand Menu" aria-haspopup="true" aria-expanded="false"><svg aria-hidden="true" focusable="false" role="presentation" class="icon feather-chevron-down" viewB
786ox="0 0 24 24"><path d="M6 9l6 6 6-6"/></svg></button>
787                
788                
789                  <ul class="mobile-site-nav__menu">
790                    
791                    
792                      <li class="mobile-site-nav__item">
793                        
794                          <a href="/pages/environmental-initiatives" class="mobile-site-nav__link">
795                            Environmental
796                          </a>
797                        
798                        
799                      </li>
800                    
801                      <li class="mobile-site-nav__item">
802                        
803                          <a href="/pages/community-and-education-initiative" class="mobile-site-nav__link">
804                            Community and Education
805                          </a>
806                        
807                        
808                      </li>
809                    
810                      <li class="mobile-site-nav__item">
811                        
812                          <a href="/pages/storm-relief-initiative" class="mobile-site-nav__link">
813                            Storm Relief
814                          </a>
815                        
816                        
817                      </li>
818                    
819                      <li class="mobile-site-nav__item">
820                        
821                          <a href="/pages/gear-for-grades" class="mobile-site-nav__link">
822                            Gear for Grades
823                          </a>
824                        
825                        
826                      </li>
827                    
828                      <li class="mobile-site-nav__item">
829                        
830                          <a href="https://jettyrockfoundation.org/pages/jetty-x-bluebird-distilling" class="mobile-site-nav__link">
831                            JRF x Bluebird Distilling
832                          </a>
833                        
834                        
835                      </li>
836                    
837                      <li class="mobile-site-nav__item">
838                        
839                          <a href="/pages/fishadelphia" class="mobile-site-nav__link">
840                            JRF x Fishadelphia
841                          </a>
842                        
843                        
844                      </li>
845                    
846                  </ul>
847                
848              </li>
849            
850            <!-- GET NAV PROMO IMAGE AND LINK -->
851              
852              
853              <li class="mobile-site-nav__item">
854                
855                  <a href="https://fundraise.givesmart.com/form/HCew3g" class="mobile-site-nav__link">
856                    Donate
857                  </a>
858                
859                
860              </li>
861            
862            <!-- GET NAV PROMO IMAGE AND LINK -->
863              
864              
865              <li class="mobile-site-nav__item">
866                
867                  <a href="https://jettylife.com/pages/jrf-shop" class="mobile-site-nav__link">
868                    Shop
869                  </a>
870                
871                
872              </li>
873            
874          </ul>
875          <div class="header-social-icons">
876          
877            <div class="mobile-menu-account-row">
878              <a href="/account" class="feather-icon social-link">
879                <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-account" viewBox="0 0 24 24"><path d="M20 21v-2a4 4 0 0 0-4-4H8a4 4 0 0 0-4 4v2"/><circle cx="12" cy="7" r="4"/></svg>
880                <span>Account</span>
881              </a>
882              
883            </div>
884          
885          <style>
886.social-links {
887  display: flex;
888  flex-wrap: wrap;
889}
890.social-links li {
891  list-style: none;
892}
893
894.social-link {
895  display: block;
896  margin: 0 6px 6px 0;
897  padding: 0 4px 4px 0;
898}
899
900.footer-social-icons .icon {
901  color: #444;
902  fill: #444444;
903  transition: transform .2s;
904}
905
906.footer-social-icons .icon:hover {
907  transform: scale(1.1);
908}
909
910
911</style>
912<ul class="social-links">
913  
914  
915    <li><a title="Facebook" aria-label="Facebook" class="social-link facebook" target="_blank" href="https://business.facebook.com/jettyrockfoundation/"><svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-facebook" viewB
915ox="0 0 18 18">
916  <path fill="currentColor" d="M16.42.61c.27 0 .5.1.69.28.19.2.28.42.28.7v15.44c0 .27-.1.5-.28.69a.94.94 0 01-.7.28h-4.39v-6.7h2.25l.31-2.65h-2.56v-1.7c0-.4.1-.72.28-.93.18-.2.5-.32 1-.32h1.37V3.35c-.6-.06-1.27-.1-2.01-.1-1.01 0-1.83.3-2.45.9-.62.6-.93 1.44-.93 2.53v1.97H7.04v2.65h2.24V18H.98c-.28 0-.5-.1-.7-.28a.94.94 0 01-.28-.7V1.59c0-.27.1-.5.28-.69a.94.94 0 01.7-.28h15.44z">
917</svg>
918</a></li>
919  
920  
921  
922  
923    <li><a title="Instagram" aria-label="Instagram" class="social-link instagram" target="_blank" href="https://www.instagram.com/jettyrockfoundation/?hl=en"><svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-instagram" viewBox="0 0 18 18">
924  <path fill="currentColor" d="M8.77 1.58c2.34 0 2.62.01 3.54.05.86.04 1.32.18 1.63.3.41.17.7.35 1.01.66.3.3.5.6.65 1 .12.32.27.78.3 1.64.05.92.06 1.2.06 3.54s-.01 2.62-.05 3.54a4.79 4.79 0 01-.3 1.63c-.17.41-.35.7-.66 1.01-.3.3-.6.5-1.01.66-.31.12-.77.26-1.63.3-.92.04-1.2.05-3.54.05s-2.62 0-3.55-.05a4.79 4.79 0 01-1.62-.3c-.42-.16-.7-.35-1.01-.66-.31-.3-.5-.6-.66-1a4.87 4.87 0 01-.3-1.64c-.04-.92-.05-1.2-.05-3.54s0-2.62.05-3.54c.04-.86.18-1.32.3-1.63.16-.41.35-.7.66-1.01.3-.3.6-.5 1-.65.32-.12.78-.27 1.63-.3.93-.05 1.2-.06 3.55-.06zm0-1.58C6.39 0 6.09.01 5.15.05c-.93.04-1.57.2-2.13.4-.57.23-1.06.54-1.55 1.02C1 1.96.7 2.45.46 3.02c-.22.56-.37 1.2-.4 2.13C0 6.1 0 6.4 0 8.77s.01 2.68.05 3.61c.04.94.2 1.57.4 2.13.23.58.54 1.07 1.02 1.56.49.48.98.78 1.55 1.01.56.22 1.2.37 2.13.4.94.05 1.24.06 3.62.06 2.39 0 2.68-.01 3.62-.05.93-.04 1.57-.2 2.13-.41a4.27 4.27 0 001.55-1.01c.49-.49.79-.98 1.01-1.56.22-.55.37-1.19.41-2.13.04-.93.05-1.23.05-3.61 0-2.39 0-2.68-.05-3.62a6.47 6.47 0 00-.4-2.13 4.27 4.27 0 00-1.02-1.55A4.35 4.35 0 0014.52.46a6.43 6.43 0 00-2.13-.41A69 69 0 008.77 0z"/>
925  <path fill="currentColor" d="M8.8 4a4.5 4.5 0 100 9 4.5 4.5 0 000-9zm0 7.43a2.92 2.92 0 110-5.85 2.92 2.92 0 010 5.85zM13.43 5a1.05 1.05 0 100-2.1 1.05 1.05 0 000 2.1z">
926</svg>
927</a></li>
928  
929  
930
931  
932</ul>
933
934          </div>
935        </div>
936      </nav>
937      
938      <nav class="desktop-nav hide-for-search">
939        <ul class="nav site-nav">
940        
941          
942          
943          <li class="site-nav__item ">
944                <a href="/pages/about" class="site-nav__link site-nav__primary-link">About JRF</a>
945              </li>
946        
947          
948          
949          <li class="site-nav__item site-nav__item--has-dropdown">
950                <a href="/pages/donate" class="site-nav__link site-nav__primary-link">Support JRF</a>
951                <div class="site-nav__dropdown basic-dropdown" role="menu">
952                  <ul>
953                    
954                      <li class="dropdown__subitem">
955                        <div class="dropdown__nested">
956                          <a href="https://jettylife.com/pages/jrf-membership" class="site-nav__link">Jetty Rock Crew Membership</a>
957                        
958                            <div class="dropdown-caret">
959                              <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-caret" viewBox="0 0 10 6">
960  <path fill-rule="evenodd" clip-rule="evenodd" d="M9.354.646a.5.5 0 00-.708 0L5 4.293 1.354.646a.5.5 0 00-.708.708l4 4a.5.5 0 00.708 0l4-4a.5.5 0 000-.708z" fill="currentColor">
961</svg>
962
963                            </div>
964                          </div>
965                        
966<ul class="dropdown__nested-menu">
967                            
968                                <li>
969                                  <a href="/pages/jordan-kendall-parks" class="site-nav__link">JRF X Jordan Kendall Parks</a>
970                                </li>
971                            
972                          </ul></li>
973                    
974                      <li class="dropdown__subitem">
975                        
976                          <a href="/pages/planned-giving" class="site-nav__link">Planned Giving</a>
977                        
978</li>
979                    
980                      <li class="dropdown__subitem">
981                        
982                          <a href="https://fundraise.givesmart.com/form/HCew3g?vid=pmn31" class="site-nav__link">Donate</a>
983                        
984</li>
985                    
986                  </ul>
987                </div>
988              </li>
989        
990          
991          
992          <li class="site-nav__item site-nav__item--has-dropdown">
993                <a href="/pages/oysters" class="site-nav__link site-nav__primary-link">Raising Shell</a>
994                <div class="site-nav__dropdown basic-dropdown" role="menu">
995                  <ul>
996                    
997                      <li class="dropdown__subitem">
998                        
999                          <a href="/pages/the-oyster-shooter" class="site-nav__link">The Oyster Shooter</a>
1000                        
1001</li>
1002                    
1003                      <li class="dropdown__subitem">
1004                        
1005                          <a href="https://barnegatoyster.com/products/jettyrockoyster" class="site-nav__link">Jetty Rock Oysters</a>
1006                        
1007</li>
1008                    
1009                      <li class="dropdown__subitem">
1010                        
1011                          <a href="/pages/oyster-master-guild" class="site-nav__link">OMG Scholarships</a>
1012                        
1013</li>
1014                    
1015                      <li class="dropdown__subitem">
1016                        
1017                          <a href="/pages/nj-shell-exchange-program" class="site-nav__link">NJ Shellfish Exchange</a>
1018                        
1019</li>
1020                    
1021                      <li class="dropdown__subitem">
1022                        
1023                          <a href="/pages/learn-to-shuck" class="site-nav__link">Learn to Shuck</a>
1024                        
1025</li>
1026                    
1027                      <li class="dropdown__subitem">
1028                        
1029                          <a href="/pages/shell-recycling" class="site-nav__link">Shell Recycling</a>
1030                        
1031</li>
1032                    
1033                  </ul>
1034                </div>
1035              </li>
1036        
1037          
1038          
1039          <li class="site-nav__item site-nav__item--has-dropdown">
1040                <a href="/pages/events" class="site-nav__link site-nav__primary-link">Events</a>
1041                <div class="site-nav__dropdown basic-dropdown" role="menu">
1042                  <ul>
1043                    
1044                      <li class="dropdown__subitem">
1045                        
1046                          <a href="/pages/arctic-outreach" class="site-nav__link">Arctic Outreach</a>
1047                        
1048</li>
1049                    
1050                      <li class="dropdown__subitem">
1051                        
1052                          <a href="/pages/hop-sauce-festival" class="site-nav__link">HopSauce</a>
1053                        
1054</li>
1055                    
1056                      <li class="dropdown__subitem">
1057                        
1058                          <a href="/pages/coquina-jam" class="site-nav__link">Coquina Jam</a>
1059                        
1060</li>
1061                    
1062                      <li class="dropdown__subitem">
1063                        
1064                          <a href="/pages/littleneck-jam" class="site-nav__link">Littleneck Jam</a>
1065                        
1066</li>
1067                    
1068                      <li class="dropdown__subitem">
1069                        
1070                          <a href="/pages/raising-shell-oyster-social" class="site-nav__link">Raising Shell Oyster Social</a>
1071                        
1072</li>
1073                    
1074                      <li class="dropdown__subitem">
1075                        
1076                          <a href="/pages/clam-jam" class="site-nav__link">Clam Jam</a>
1077                        
1078</li>
1079                    
1080                  </ul>
1081                </div>
1082              </li>
1083        
1084          
1085          
1086          <li class="site-nav__item site-nav__item--has-dropdown">
1087                <a href="/pages/initiatives" class="site-nav__link site-nav__primary-link">Initiatives</a>
1088                <div class="site-nav__dropdown basic-dropdown" role="menu">
1089                  <ul>
1090                    
1091                      <li class="dropdown__subitem">
1092                        
1093                          <a href="/pages/environmental-initiatives" class="site-nav__link">Environmental</a>
1094                        
1095</li>
1096                    
1097                      <li class="dropdown__subitem">
1098                        
1099                          <a href="/pages/community-and-education-initiative" class="site-nav__link">Community and Education</a>
1100                        
1101</li>
1102                    
1103                      <li class="dropdown__subitem">
1104                        
1105                          <a href="/pages/storm-relief-initiative" class="site-nav__link">Storm Relief</a>
1106                        
1107</li>
1108                    
1109                      <li class="dropdown__subitem">
1110                        
1111                          <a href="/pages/gear-for-grades" class="site-nav__link">Gear for Grades</a>
1112                        
1113</li>
1114                    
1115                      <li class="dropdown__subitem">
1116                        
1117                          <a href="https://jettyrockfoundation.org/pages/jetty-x-bluebird-distilling" class="site-nav__link">JRF x Bluebird Distilling</a>
1118                        
1119</li>
1120                    
1121                      <li class="dropdown__subitem">
1122                        
1123                          <a href="/pages/fishadelphia" class="site-nav__link">JRF x Fishadelphia</a>
1124                        
1125</li>
1126                    
1127                  </ul>
1128                </div>
1129              </li>
1130        
1131          
1132          
1133          <li class="site-nav__item ">
1134                <a href="https://fundraise.givesmart.com/form/HCew3g" class="site-nav__link site-nav__primary-link">Donate</a>
1135              </li>
1136        
1137          
1138          
1139          <li class="site-nav__item ">
1140                <a href="https://jettylife.com/pages/jrf-shop" class="site-nav__link site-nav__primary-link">Shop</a>
1141              </li>
1142        
1143      </nav>
1144      
1145      <div class="header-utils utils">
1146        <!-- ACCOUNT -->
1147        
1148          <div class="utils__item customer-account hide-for-search desktop-only">
1149            <a href="/account" class="feather-icon icon--header" aria-label="Account"e><svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-account" viewBox="0 0 24 24">
1149<path d="M20 21v-2a4 4 0 0 0-4-4H8a4 4 0 0 0-4 4v2"/><circle cx="12" cy="7" r="4"/></svg></a>
1150          </div>
1151        
1152        <!-- SEARCH  -->
1153        <a href="/search" class="plain-link utils__item hide-for-search desktop-only desktop-search js-search-form-open">
1154          <span class="feather-icon icon--header">
1155            <svg aria-hidden="true" focusable="false" role="presentation" class="icon feather-search" viewBox="0 0 24 24"><circle cx="10.5" cy="10.5" r="7.5"/><path d="M21 21l-5.2-5.2"/></svg>
1156          </span>
1157          <span class="icon-fallback-text">Submit</span>
1158        </a>
1159        <div class="desktop-search-modal desktop-only search-modal modal__content" role="dialog" aria-modal="true" aria-label="Search Our Store">
1160  <div class="modal-overlay"></div>
1161  <div class="search-modal__content" tabindex="-1">
1162    <span class="feather-icon icon--header">
1163      <svg aria-hidden="true" focusable="false" role="presentation" class="icon feather-search" viewBox="0 0 24 24"><circle cx="10.5" cy="10.5" r="7.5"/><path d="M21 21l-5.2-5.2"/></svg>
1164    </span><predictive-search class="search-modal__form" data-loading-text="Loading..."><form action="/search" method="get" role="search" class="search search-modal__form">
1165        <div class="field">
1166          <input class="search__input field__input"
1167            id="Search-In-Modal"
1168            type="search"
1169            name="q"
1170            value=""
1171            placeholder="Search Our Store"role="combobox"
1172              aria-expanded="false"
1173              aria-owns="predictive-search-results-list"
1174              aria-controls="predictive-search-results-list"
1175              aria-haspopup="listbox"
1176              aria-autocomplete="list"
1177              autocorrect="off"
1178              autocomplete="off"
1179              autocapitalize="off"
1180              spellcheck="false">
1181          <label class="field__label" for="Search-In-Modal">Search Our Store</label>
1182          <input type="hidden" name="options[prefix]" value="last">
1183          
1184        </div><div class="predictive-search predictive-search--header" tabindex="-1" data-predictive-search>
1185            <div class="predictive-search__loading-state">
1186              <svg aria-hidden="true" focusable="false" role="presentation" class="spinner" viewBox="0 0 66 66" xmlns="http://www.w3.org/2000/svg">
1187                <circle class="path" fill="none" stroke-width="6" cx="33" cy="33" r="30"></circle>
1188              </svg>
1189            </div>
1190          </div>
1191
1192          <span class="predictive-search-status visually-hidden" role="status" aria-hidden="true"></span></form></predictive-search><button type="button" class="modal-close-icon" aria-label="Close">
1193      <span class="feather-icon icon--header" aria-hidden="true" focusable="false" role="presentation">
1194        <svg aria-hidden="true" focusable="false" role="presentation" class="icon feather-x" viewBox="0 0 24 24"><path d="M18 6L6 18M6 6l12 12"/></svg>
1195      </span>
1196    </button>
1197  </div>
1198</div>
1199        <!-- CART -->
1200        <div class="utils__item header-cart hide-for-search cart-icon">
1201          <a class="header-cart-icon" aria-label="0 items in cart - click to view cart">
1202            <span class="feather-icon icon--header">
1203              <svg aria-hidden="true" focusable="false" role="presentation" class="icon feather-bag" viewBox="0 0 24 28"><rect x="1" y="7" width="22" height="20" rx="2" ry="2"/><path d="M6 10V6a5 4 2 0 1 12 0v4"/></svg>
1204            </span>
1205            <span class="header-cart__count">0</span>
1206          </a>
1207          
1208        </div>
1209      </div>
1210    </div>
1211  </div>
1212</header>
1213
1214<script type="application/ld+json">
1215  {
1216    "@context": "http://schema.org",
1217    "@type": "Organization",
1218    "name": "Jetty Rock Foundation",
1219    
1220      
1221      "logo": "https:\/\/jettyrockfoundation.org\/cdn\/shop\/files\/JRF_Logo_New_colors-21_1_1454x.png?v=1751487958",
1222    
1223    "sameAs": [
1224      "",
1225      "https:\/\/business.facebook.com\/jettyrockfoundation\/",
1226      "",
1227      "https:\/\/www.instagram.com\/jettyrockfoundation\/?hl=en",
1228      "",
1229      "",
1230      "",
1231      "",
1232      ""
1233    ],
1234    "url": "https:\/\/jettyrockfoundation.org"
1235  }
1236</script>
1236
1237
1238<script>
1239  const searchIcon = document.querySelector('.desktop-search');
1240  const navigationContainer = document.querySelector('.navigation-container');
1241  searchIcon.addEventListener('click', function(e) {
1242    e.preventDefault();
1243    navigationContainer.classList.add('search-open');
1244  });
1245  const searchCloseIcon = document.querySelectorAll('.modal-close-icon');
1246  searchCloseIcon.forEach(function(closeIcon) {
1247    closeIcon.addEventListener('click', function(e) {
1248      e.preventDefault();
1249      navigationContainer.classList.remove('search-open');
1250    });
1251  });
1252</script>
1252</div>
1253    <main id="MainContent" class="content-for-layout focus-none" role="main" tabindex="-1">
1254      <div id="shopify-section-template--15295417548985__cart-items" class="shopify-section"><link href="//jettyrockfoundation.org/cdn/shop/t/8/assets/component-cart.css?v=1289145280949970631639431843" rel="stylesheet" type="text/css" media="all" />
1255<link href="//jettyrockfoundation.org/cdn/shop/t/8/assets/component-cart-items.css?v=146663540633185193491639431839" rel="stylesheet" type="text/css" media="all" />
1256<link href="//jettyrockfoundation.org/cdn/shop/t/8/assets/component-totals.css?v=64599659880532703261639431807" rel="stylesheet" type="text/css" media="all" />
1257<link href="//jettyrockfoundation.org/cdn/shop/t/8/assets/component-price.css?v=41774022402007388741639431805" rel="stylesheet" type="text/css" media="all" />
1258<link href="//jettyrockfoundation.org/cdn/shop/t/8/assets/component-discounts.css?v=9510913290277625091639431813" rel="stylesheet" type="text/css" media="all" />
1259<link href="//jettyrockfoundation.org/cdn/shop/t/8/assets/component-loading-overlay.css?v=167310470843593579841639431842" rel="stylesheet" type="text/css" media="all" />
1260
1261<script src="//jettyrockfoundation.org/cdn/shop/t/8/assets/cart.js?v=54760604952761329021639431805" defer="defer"></script>
1261
1262
1263<cart-items class="page-width is-empty">
1264  <div class="title-wrapper-with-link">
1265    <h1 class="title title--primary">Your cart</h1>
1266    <a href="/collections/all" class="underlined-link">Continue shopping</a>
1267  </div>
1268
1269  <div class="cart__warnings">
1270    <h1 class="cart__empty-text">Your cart is empty</h1>
1271    <a href="/collections/all" class="button">
1272      Continue shopping
1273    </a><h2 class="cart__login-title">Have an account?</h2>
1274      <p class="cart__login-paragraph">
1275        <a href="/account/login" class="link underlined-link">Log in</a> to check out faster.
1276      </p></div>
1277  <div class="cart-contents-wrapper">
1278    <form action="/cart" class="cart__contents critical-hidden" method="post" id="cart">
1279      <div class="cart__items" id="main-cart-items" data-id="template--15295417548985__cart-items">
1280        <div class="js-contents"></div>
1281      </div>
1282
1283      <p class="visually-hidden" id="cart-live-region-text" aria-live="polite" role="status"></p>
1284      <p class="visually-hidden" id="shopping-cart-line-item-status" aria-live="polite" aria-hidden="true" role="status">Loading...</p>
1285    </form>
1286    
1287<link href="//jettyrockfoundation.org/cdn/shop/t/8/assets/gift_styles.css?v=4074997687935523531639431838" rel="stylesheet" type="text/css" media="all" />
1288<script
1289  src="https://code.jquery.com/jquery-2.2.4.min.js"
1290  integrity="sha256-BbhdlvQf/xTY9gja0Dq3HiwQF8LaCRTXxZKRutelT44="
1291  crossorigin="anonymous"></script>
1291
1292  <div class="cart-summary cart-summary-drawer cart-page">
1293    <a class="cart-summary__close">Close</a>
1294    <div class="cart-summary__links">
1295      <h4 class="cart-summary__header"><a href="/cart">Shopping Cart</a></h4>
1296    </div>
1297    <div class="cart-control-wrap">
1298      <p class="cart__order-summary">Order Summary</p>
1299      <ul class="cart-drawer-items">
1300        
1301      </ul>
1302      <div class="subtotal-row">
1303        
1304          <p>Your Cart is Empty!</p>
1305        
1306      </div>
1307      
1308      <div class="total-row flex justify-content-between">
1309        <div>
1310          <p>Subtotal:</p>
1311        </div>
1312        <div class="total__amount">
1313          <p id="cart-total">$0.00</p>
1314          
1315        </div>
1316      </div>
1317      <p class="small-text text-right">Shipping &amp; taxes calculated at checkout</p>
1318      <div class="free-gift__wrapper mt-2">
1319        
1320        
1321        
1322        
1323        
1324        
1325      
1326      </div> <!-- end of div -->
1327      <div class="cart-finish mt-3">
1328        <div class="mv-2">
1329          <div class="route-div">
1330            <a href="/cart" class="button button--secondary btn--view-cart-custom">View Cart</a>
1331          </div>
1332        </div>
1333        <div class="mv-2">
1334          <form action="/cart" method="post">
1335            <div class="route-div" opt-in style="margin-top: 1.5rem; margin-bottom: -10px;"></div><input type="submit"
1336              name="checkout" class="button cart-submit button--primary" value="Check Out">
1337          </form>
1338        </div>
1339      </div>
1340    </div>
1341  </div>
1342
1343
1344<script async>
1345  const cartDonationItems = document.querySelectorAll('.jrf-donations--grid .jrf-donations--item');
1346  const cartDonationSelect = document.querySelector('.jrf-cart-donation-select');
1347  const cartDonationDiv = document.querySelector('.jrf-donation--select');
1348  (function() {
1349    if (cartDonationItems === null || cartDonationSelect === null || cartDonationItems.length < 1) {
1350      return;
1351    }
1352
1353    const donationSubmit = document.querySelector('#add-donation');
1354
1355    [...cartDonationItems].forEach(item => {
1356      item.addEventListener('click', e => {
1357        [...cartDonationItems].forEach(dItem => dItem.classList.remove('active'));
1358        item.classList.add('active');
1359        imgSwaps();
1360        cartDonationDiv.style.display = 'block';
1361        emptySelect(cartDonationSelect);
1362        loadSelects(item.getAttribute('data-product'));
1363      });
1364      // Preload images while we're at it
1365      const loadedImg = document.createElement('img');
1366      loadedImg.src = item.querySelector('img[data-img]').getAttribute('data-img');
1367    });
1368
1369    donationSubmit.addEventListener('click', e => {
1370      e.preventDefault();
1371      const selectValue = atob(cartDonationSelect.value).split('ProductVariant/')[1];
1372      if (selectValue) {
1373        const data = {items: [
1374          {
1375            id: selectValue,
1376            quantity: 1
1377          }
1378        ]};
1379        fetch('/cart/add.js', {
1380          method: 'POST',
1381          headers: {
1382            'Content-Type': 'application/json'
1383          },
1384          body: JSON.stringify(data)
1385        }).then(res => {
1386          console.log(res);
1387          //if (res.ok) {
1388           // console.log(res);
1389            return res.json();
1390          //} else {
1391          //  alert('Sorry an error occurred, this page will reload momentarily');
1392          //  setTimeout(function() {
1393           //   location.reload();
1394          //  }, 1500);
1395          
1396        }).then(response => location.reload());
1397        //.catch((error) => {
1398        //  console.error('Error: ', error);
1399        //  alert('Sorry an error occurred, this page will reload momentarily');
1400        //  setTimeout(function() {
1401        //    location.reload();
1402        //  }, 1500);
1403        //});
1404      } else {
1405        alert('Please select a donation amount from the dropdown.')
1406      }
1407    });
1408
1409    function emptySelect(el) {
1410      el.innerHTML = '<option value="" selected disabled>Select an Amount!</option>';
1411    }
1412
1413    async function loadSelects(id) {
1414      const collectionQuery = `
1415      query {
1416        collections(query: "donation", first: 10) {
1417          edges {
1418            node {
1419              id
1420              handle
1421              products(first: 10) {
1422                edges {
1423                  node {
1424                    title
1425                    variants(first: 10) {
1426                      edges {
1427                        node {
1428                          id
1429                          title
1430                        }
1431                      }
1432                    }
1433                  }
1434                }
1435              }
1436            }
1437          }
1438        }
1439      }
1440      `;
1441      const STOREFRONT_ACCESS_TOKEN = 'a41f5a82fd05f1ed4ff80274471283e2';
1442      const GRAPHQL_URL = '/api/2020-10/graphql.json';
1443      const GRAPHQL_BODY = () => {
1444        return {
1445          'async': true,
1446          'crossDomain': true,
1447          'method': 'POST',
1448          'headers': {
1449            'X-Shopify-Storefront-Access-Token': STOREFRONT_ACCESS_TOKEN,
1450            'Content-Type': 'application/graphql',
1451          },
1452          'body': collectionQuery
1453        };
1454      }
1455      const response = await fetch(GRAPHQL_URL, GRAPHQL_BODY())
1456        .then(res => res.json())
1457        .then(collections => {
1458          return(collections.data.collections.edges[0].node);
1459        })
1460      const selectEl = document.querySelector('#jrf-donation-selection')
1461      const selected = response.products.edges.filter(product => product.node.title == id);
1462      if(selected) {
1463        selected[0].node.variants.edges.forEach(variant => {
1464          const newOption = document.createElement('option');
1465          newOption.value = variant.node.id;
1466          newOption.textContent = variant.node.title;
1467          selectEl.appendChild(newOption);
1468        });
1469      }
1470    }
1471
1472    function imgSwaps() {
1473      [...cartDonationItems].forEach(item => {
1474        const itemImg = item.querySelector('img[data-img]');
1475        if (item.classList.contains('active')) {
1476          itemImg.src = itemImg.getAttribute('data-img');
1477        } else {
1478          itemImg.src = itemImg.getAttribute('data-featuredimg');
1479        }
1480      });
1481    }
1482  })();
1483</script>
1483
1484
1485<script defer>
1486
1487  // Create an empty 'gifts' object
1488  const jettygifts = {};
1489  window.jettygifts_thresholds = [];
1490
1491  // Loop through any free gifts that are set and apply them to our 'gifts' object
1492  
1493    
1494    
1495    
1496  
1497    
1498    
1499    
1500  
1501    
1502    
1503    
1504  
1505    
1506    
1507    
1508  
1509
1510  // Run the free gift code only if there are gift products set and added in theme settings
1511  if (Object.keys(jettygifts).length) {
1512
1513    window.addEventListener('DOMContentLoaded', e => {
1514      // Setup new instance of the FreeGift class
1515      setTimeout(function() {
1516        window.setupGifts = new FreeGift(jettygifts);
1517      }, 500);
1518
1519    });
1520  }
1521
1522
1523  class FreeGift {
1524    // Setup some variables and fire off initial functions
1525    constructor(gifts) {
1526      this.gifts = gifts;
1527      this.cartData = {
1528        items_subtotal_price: 0
1529      };
1530      this.loadExternal();
1531      this.initClickTriggers();
1532      this.loadProductData(gifts);
1533      this.loadCartData();
1534      this.afterReload();
1535    }
1536
1537    initClickTriggers() {
1538      // Trigger popup from cart button
1539      let cartGiftBtn = document.querySelectorAll('#pickGift');
1540      [...cartGiftBtn].forEach(btn => {
1541        btn.addEventListener('click', e => {
1542          e.preventDefault();
1543          if (jQuery !== undefined) {
1544            this.displayGiftsPopup();
1545          }
1546        });
1547      });
1548    }
1549
1550    // Open the cart after reloading -- after adding item to cart
1551    afterReload() {
1552      if (sessionStorage.getItem('openCart') !== undefined && sessionStorage.getItem('openCart') !== null && sessionStorage.getItem('openCart') == 1) {
1553        if (!$('body').hasClass('template-cart')) {
1554          $('main#MainContent, .cart-summary-drawer').addClass('nav-open');
1555        }
1556        sessionStorage.removeItem('openCart');
1557      }
1558    }
1559
1560    // Fetch additional data for each gift product (set in theme customizer)
1561    // Data is appended to the this.gifts variable set in the constructor
1562    loadProductData(items) {
1563      Object.values(items).forEach(item => {
1564        fetch(`/products/${item.prod}.js`).then(response => {
1565          if (response.ok) {
1566            return response.json();
1567          }
1568        }).then(res => {
1569          item.data = res;
1570        });
1571      });
1572    }
1573
1574    // Fetch latest cart data and add it to the this.cartData variable set in the constructor
1575    loadCartData() {
1576      fetch('/cart.js').then(response => {
1577        if (response.ok) {
1578          return response.json();
1579        }
1580      }).then(res => {
1581        this.cartData = res;
1582        this.displayCartNotice(res);
1583        this.autoRemove(res);
1584      });
1585    }
1586
1587    // Displays the "You Qualify for a free gift" section in the cart drawer
1588    displayCartNotice(cartData) {
1589      const notice = document.querySelectorAll('.free-gift-promo-wrap');
1590      if (!this.cartHasGift(cartData)) {
1591        [...notice].forEach(note => note.classList.remove('hidden'));
1592      } else {
1593        // Update text in "choose gift" button
1594        const giftButtons = document.querySelectorAll('#pickGift');
1595        [...giftButtons].forEach(btn => {
1596          btn.innerHTML = 'Update Gift Selection';
1597        });
1598      }
1599    }
1600
1601    // Check if a gift/threshold matches cart data
1602    qualifyGift(gift, cartVal) {
1603      const cartTotal = (parseFloat(cartVal) / 100).toFixed(2) * 1;
1604      return gift.threshold <= cartTotal ? true : false;
1605    }
1606
1607    // Add product to cart from popup click
1608    addToCart(form) {
1609      if (jQuery !== undefined) {
1610        jQuery.ajax('/cart/add.js', {
1611          method: 'POST',
1612          data: $(form).serialize(),
1613          dataType: 'text'
1614        })
1615          .done(function(res) {
1616            sessionStorage.setItem('openCart', 1);
1617            setTimeout(function() {
1618              location.reload();
1619            }, 250);
1620          });
1621      }
1622    }
1623
1624    // Remove items from cart that no longer qualify
1625    autoRemove(cartData, force = false) {
1626      const cartTotal = (parseFloat(cartData.items_subtotal_price) / 100).toFixed(2) * 1;
1627      if (cartData.items !== undefined && cartData.items.length > 0) {
1628        cartData.items.forEach(item => {
1629          if (item.properties !== null && item.properties._FreeGift !== undefined && item.properties._FreeGift !== null && item.properties._FreeGift == 'true') {
1630            const itemThreshold = item.properties._GiftThreshold * 1;
1631            const ajaxData = `updates[${item.id}]=0`;
1632            if (cartTotal < itemThreshold || force) {
1633              // Remove the item
1634              if (jQuery !== undefined) {
1635                jQuery.ajax('/cart/update.js', {
1636                  method: 'POST',
1637                  data: ajaxData,
1638                  dataType: 'text'
1639                })
1640                  .done(function(res) {
1641                    if (!force) {
1642                      setTimeout(function() {
1643                        location.reload();
1644                      }, 500);
1645                    }
1646                  });
1647              } else {
1648                // If jQuery wasn't loaded yet, wait 2 seconds and try again, this time without a page refresh
1649                setTimeout(function() {
1650                  jQuery.ajax('/cart/update.js', {
1651                    method: 'POST',
1652                    data: ajaxData,
1653                    dataType: 'text'
1654                  });
1655                }, 2000);
1656              }
1657            }
1658          }
1659        });
1660      }
1661    }
1662
1663    // Simple boolean to see if the cart already has a gift
1664    // This relies on the cartData promise to return, so dont call it by itself on page load
1665    cartHasGift(data) {
1666      let hasGift = false;
1667      if (data.items !== undefined && data.items !== null) {
1668        [...data.items].forEach(item => {
1669          if (item.properties !== null && item.properties._FreeGift !== undefined && item.properties._FreeGift !== null) {
1670            hasGift = true;
1671          }
1672        });
1673      }
1674      return hasGift;
1675    }
1676
1677    // Build popup UI with magnificpopup and setup some callback methods
1678    displayGiftsPopup() {
1679      // jQuery has already been validated via `initClickTriggers` and magnific popup was loaded during initialization
1680      const $this = this;
1681      let giftsContent = '<div class="grid free-gift-promo__popup-content"><div style="display: flex; justify-content: center;align-items: flex-start;">';
1682      Object.values(this.gifts).forEach(gift => {
1683        if (gift.data !== undefined && gift.data.available) {
1684          // Check if each gift tier is enabled (threshold is met)
1685          const adjustedTitle = gift.data.title.replace('GWP','');
1686          if (this.qualifyGift(gift, this.cartData.items_subtotal_price)) {
1687            giftsContent += `
1688              <div class="free-gift-promo__popup-item grid__item one-third center">
1689                <div class="popup-item__inner">
1690                  <p style="font-size: 11px; text-transform: uppercase; font-weight: 500;">Spend $${gift.threshold} - Unlocked</p>
1691                  <p class="free-gift-promo__product-title"><b>${adjustedTitle}</b></p>
1692                  <p><img width="200" src="${gift.data.featured_image}"></p>
1693                </div>
1694                <div id="popup-item__options--${gift.data.id}" class="popup-item__options">
1695                  <form method="post" action="/cart/add">
1696                    <input type="hidden" name="utf8" value="✓">
1697                    <input type="hidden" name="form_type" value="product">
1698                    <input type="hidden" name="quantity" value="1">
1699                    <input type="hidden" name="price" value="${gift.data.price}">
1700                    <input type="hidden" name="properties[_FreeGift]" value="true">
1701                    <input type="hidden" name="properties[_GiftThreshold]" value="${gift.threshold}">
1702                    <input type="hidden" name="properties[Free Gift]" value="Spend $${gift.threshold}">
1703                    <p class="free-gift-promo__color-label">Color: <b>${this.outputColorOption(gift.data)}</b></p>
1704                    <label style="display:block;" class="free-gift-promo__size-select" for="choose-${gift.data.id}">Size:</label>
1705                    <select id="choose-${gift.data.id}" class="free-gift-promo__size-select" name="id" style="margin: 0.25rem auto 1rem;display:block;">
1706                      ${this.outputSelectVariants(gift.data)}
1707                    </select>
1708                    <a class="btn btn--small" href="#" id="free-gift-promo__atc">Add Free Gift</a>
1709                  </form>
1710                </div>
1711              </div>
1712            `;
1713          } else {
1714            giftsContent += `
1715              <div class="free-gift-promo__popup-item grid__item one-third center disabled">
1716                <div class="popup-item__inner">
1717                  <p style="font-size: 11px; text-transform: uppercase; font-weight: 500;">Spend $${gift.threshold}</p>
1718                  <p class="locked-title-wrap"><b>${adjustedTitle}</b></p>
1719                  <p class="locked-image-wrap"><img width="200" src="${gift.data.featured_image}"></p>
1720                </div>
1721              </div>
1722            `;
1723          }
1724        }
1725      });
1726      giftsContent += `
1727        </div>
1728        <div class="center grid__item" style="margin: 1rem auto;">
1729          <p><a href="/pages/free-gift-program">Learn More</a></p>
1730        </div>
1731      `;
1732      giftsContent += '</div>';
1733      var popup = $.magnificPopup.instance;
1734      popup.open({
1735        items: {
1736          src: `
1737            <div class="white-popup">
1738              <h4 class="center" style="margin: 1rem auto;">Choose Your Free Gift!</h4>
1739              ${giftsContent}
1740            </div>
1741          `,
1742          type: 'inline',
1743        },
1744        removalDelay: 300,
1745        mainClass: 'mfp-fade',
1746        callbacks: {
1747          open: function() {
1748            const magPop = this;
1749            // Update UI to show selected item
1750            $('body').on('click', '.free-gift-promo__popup-item:not(.disabled)', function(e) {
1751              $('.free-gift-promo__popup-item').removeClass('selected');
1752              $(this).addClass('selected');
1753            });
1754
1755            // Call the add to cart function and then close the popup
1756            $(document).on('click', '#free-gift-promo__atc', function(e) {
1757              e.preventDefault();
1758
1759              $(this).html($(this).text() + ' <i class="fa fa-spinner fa-pulse fa-fw"></i>');
1760              
1761              // Remove any free gift items from the cart before adding a new one
1762              $this.autoRemove($this.cartData, true);
1763              
1764              // Wait 800ms then pass the form data over to the add-to-cart function
1765              const $form = $(this).closest('form');
1766              setTimeout(function() {
1767                $this.addToCart($form);
1768              }, 800);
1769
1770              // Close popup 0.5s after adding product to cart
1771              // Refresh the page if it's the cart template
1772              setTimeout(function() {
1773                magPop.close();
1774              }, 1300);
1775            });
1776          }
1777        }
1778      });
1779    }
1780
1781    // Output variant selection for a simple select > option dropdown
1782    // This could/should be improved, but good for concept
1783    outputSelectVariants(data) {
1784      let output = '';
1785      let basicSelect = false;
1786      const options = data.options.filter(option => {
1787        return option.name !== 'size' && option.name !== 'Size' && option.name !== 'sizes' && option.name !== 'Sizes';
1788      });
1789      Object.values(options).forEach(option => {
1790        if (option.values.length > 1) basicSelect = true;
1791      });
1792      const variants = data.variants;
1793
1794      if (basicSelect) {
1795      // Using basic shopify dropdown with full variant title because there are more options than expected
1796        if (variants.length > 0) {
1797          [...variants].forEach(variant => {
1798            if (variant.available) {
1799              output += `<option value="${variant.id}">${variant.title}</option>`;
1800            }
1801          });
1802        }
1803        let colorLabel = document.querySelector(`#popup-item__options--${data.id} .free-gift-promo__color-label`);
1804        if (colorLabel !== null) {
1805          colorLabel.style.display = 'none';
1806        }
1807      } else {
1808        // Hardcoding the color label and displaying a Size dropdown only
1809        const sizeOption = data.options.filter(option => option.name === 'size' || option.name === 'Size' || option.name === 'sizes' || option.name === 'Sizes');
1810        if (sizeOption !== undefined && sizeOption.length >= 1 && variants.length > 0) {
1811          [...variants].forEach((variant, index) => {
1812            if (variant.available) {
1813              // Output options w/ variant.id value and Size option titles
1814              output += `<option ${index == 0 ? 'selected="selected"' : '' } 
1815                                value="${variant.id}">
1816                                ${variant['option' + sizeOption[0].position]}</option>`;
1817            }
1818          });
1819        }
1820      }
1821
1822      return output;
1823    }
1824
1825    // Display the pre-selected color (should be only 1 color available)
1826    outputColorOption(data) {
1827      const colors = data.options.filter(option => {
1828        return option.name == 'Color' || option.name == 'Color' || option.name == 'Colour' || option.name == 'colours';
1829      }).map(items => items.values !== undefined && items.values.length >= 1 ? items.values[0] : 'N/A');
1830
1831      return typeof colors == 'Object' ? colors[0] : colors;
1832    }
1833
1834    // Function to auto-remove from cart if cart total falls below threshold
1835
1836    // Load 3rd party scripts/styles
1837    loadExternal() {
1838      const firstScript = document.getElementsByTagName('script')[0];
1839      const magnificCSS = document.createElement('link');
1840      const magnificJS = document.createElement('script');
1841      Object.assign(magnificCSS, {
1842        href    : 'https://cdnjs.cloudflare.com/ajax/libs/magnific-popup.js/1.1.0/magnific-popup.min.css',
1843        type    : 'text/css',
1844        rel     : 'stylesheet'
1845      });
1846      Object.assign(magnificJS, {
1847        src     : 'https://cdnjs.cloudflare.com/ajax/libs/magnific-popup.js/1.1.0/jquery.magnific-popup.min.js',
1848        type    : 'text/javascript'
1849      });
1850      firstScript.appendChild(magnificCSS);
1851      firstScript.appendChild(magnificJS);
1852    }
1853
1854  }  
1855</script>
1855
1856  </div>
1857</cart-items>
1858
1859
1860</div>
1861    </main>
1862
1863    <div id="shopify-section-footer" class="shopify-section"><link href="//jettyrockfoundation.org/cdn/shop/t/8/assets/section-footer.css?v=64106550412228969641639431840" rel="stylesheet" type="text/css" media="all" />
1864
1865<section class="page-footer" data-section-id="footer" data-section-type="footer">
1866  <div class="page-footer__inner">
1867    <div class="page-width">
1868      <div class="flex justify-content-between wrap">
1869        
1870          <div class="footer-card">
1871            <div class="row">
1872              <span class="feather-icon" style="height:28px;"><svg aria-hidden="true" focusable="false" role="presentation" class="icon feather-pin" viewBox="0 0 24 24"><path d="M21 10c0 7-9 13-9 13s-9-6-9-13a9 9 0 0 1 18 0z"/><circle cx="12" cy="10" r="3"/></svg></span>
1873            </div>
1874            <div class="row">
1875              <h4>Eat Jetty Rock Oysters</h4>
1876            </div>
1877            <div class="row" style="padding-bottom: 4px;">
1878              <a class="button button--primary" href="https://barnegatoyster.com/products/jettyrockoyster">
1879                Get Your's Today!
1880              </a>
1881            </div>
1882          </div>
1883        
1884
1885        
1886          <div class="footer-card">
1887            <div class="row">
1888              <span class="feather-icon" style="height:28px;"><svg aria-hidden="true" focusable="false" role="presentation" class="icon feather-pin" viewBox="0 0 24 24"><path d="M21 10c0 7-9 13-9 13s-9-6-9-13a9 9 0 0 1 18 0z"/><circle cx="12" cy="10" r="3"/></svg></span>
1889            </div>
1890            <h4 class="row">Shop Online</h4>
1891            <div class="row flex justify-content-evenly wrap">
1892              <a href="https://jettylife.com/pages/jrf-shop" class="button button--small mb-1" style="margin-left: 1rem; margin-right: 1rem;">Shop All</a>
1893            </div>
1894          </div>
1895        
1896        
1897        
1898          <div class="footer-card subscribe-card">
1899            <div class="row">
1900              <form method="post" action="/contact#contact_form" id="contact_form" accept-charset="UTF-8" class="contact-form"><input type="hidden" name="form_type" value="customer" /><input type="hidden" name="utf8" value="✓" />
1901                
1902                  
1903                  <input type="hidden" id="contact_tags" name="contact[tags]" value="prospect,newsletter"/>
1904                  <div class="subscribe-form__inputs">
1905                    
1906                      <span class="feather-icon" style="height:28px;"><svg aria-hidden="true" focusable="false" role="presentation" class="icon feather-pin" viewBox="0 0 24 24"><path d="M21 10c0 7-9 13-9 13s-9-6-9-13a9 9 0 0 1 18 0z"/><circle cx="12" cy="10" r="3"/></svg></span>
1907                    
1908                    <h4 class="row">Join Our Newsletter</h4>
1909                    <div class="row flex justify-content-center">
1910                      <div class="input-wrapper">
1911                        <input type="email" required class="subscribe-form__email required" value="email address" id="mailinglist_email" name="contact[email]" />
1912                      </div>
1913                      <button class="button subscribe-form__submit" type="submit">Join</button>
1914                    </div>
1915                  </div>
1916                  
1917                
1918              </form>
1919            </div>
1920          </div>
1921        
1922      </div><!--.grid-->
1923
1924      <nav class="footer-navigation mt-3">
1925          <div class="footer-nav-container"><ul class="nav footer-nav footer-nav--dropdowns grid grid--2-col grid--3-col-desktop">
1926              
1927
1928                  <li class="nav__item footer-nav__item footer-nav--has-submenu  grid__item">
1929                    <a href="/pages/about" class="nav__link footer-nav__link footer-nav__link--top">
1930                      Our Story
1931                    </a>
1932                    <ul class="footer-nav__submenu">
1933                      
1934                        <li >
1935                          <a href="/pages/about" class=" nav__link footer-nav__link footer-nav__link--sub">About Jetty Rock Foundation</a>
1936                        </li>
1937                      
1938                        <li >
1939                          <a href="/pages/oysters" class=" nav__link footer-nav__link footer-nav__link--sub">Oysters</a>
1940                        </li>
1941                      
1942                        <li >
1943                          <a href="/pages/donate" class=" nav__link footer-nav__link footer-nav__link--sub">Donate</a>
1944                        </li>
1945                      
1946                        <li >
1947                          <a href="/pages/initiatives" class=" nav__link footer-nav__link footer-nav__link--sub">Events</a>
1948                        </li>
1949                      
1950                        <li >
1951                          <a href="https://jettylife.com/pages/jrf-membership" class=" nav__link footer-nav__link footer-nav__link--sub">Become a Member</a>
1952                        </li>
1953                      
1954                    </ul>
1955                  </li>
1956                
1957              
1958
1959                  <li class="nav__item footer-nav__item footer-nav--has-submenu  grid__item">
1960                    <a href="/pages/contact-us" class="nav__link footer-nav__link footer-nav__link--top">
1961                      Customer Service
1962                    </a>
1963                    <ul class="footer-nav__submenu">
1964                      
1965                        <li >
1966                          <a href="/pages/return-policy" class=" nav__link footer-nav__link footer-nav__link--sub">Return Policy</a>
1967                        </li>
1968                      
1969                        <li >
1970                          <a href="/pages/terms-of-service" class=" nav__link footer-nav__link footer-nav__link--sub">Terms of Service</a>
1971                        </li>
1972                      
1973                        <li >
1974                          <a href="/pages/accessibility-statement" class=" nav__link footer-nav__link footer-nav__link--sub">Accessibility Statement</a>
1975                        </li>
1976                      
1977                        <li >
1978                          <a href="/pages/privacy-policy" class=" nav__link footer-nav__link footer-nav__link--sub">Privacy Policy</a>
1979                        </li>
1980                      
1981                    </ul>
1982                  </li>
1983                
1984              
1985            </ul>
1986          </div>
1987
1988          
1989            <div class="footer-social-icons">
1990              <p class="footer-social-icons__title">Follow Us</p>
1991              <style>
1992.social-links {
1993  display: flex;
1994  flex-wrap: wrap;
1995}
1996.social-links li {
1997  list-style: none;
1998}
1999
2000.social-link {
2001  display: block;
2002  margin: 0 6px 6px 0;
2003  padding: 0 4px 4px 0;
2004}
2005
2006.footer-social-icons .icon {
2007  color: #444;
2008  fill: #444444;
2009  transition: transform .2s;
2010}
2011
2012.footer-social-icons .icon:hover {
2013  transform: scale(1.1);
2014}
2015
2016
2017</style>
2018<ul class="social-links">
2019  
2020  
2021    <li><a title="Facebook" aria-label="Facebook" class="social-link facebook" target="_blank" href="https://business.facebook.com/jettyrockfoundation/"><svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-facebook" viewBox="0 0 18 18">
2022  <path fill="currentColor" d="M16.42.61c.27 0 .5.1.69.28.19.2.28.42.28.7v15.44c0 .27-.1.5-.28.69a.94.94 0 01-.7.28h-4.39v-6.7h2.25l.31-2.65h-2.56v-1.7c0-.4.1-.72.28-.93.18-.2.5-.32 1-.32h1.37V3.35c-.6-.06-1.27-.1-2.01-.1-1.01 0-1.83.3-2.45.9-.62.6-.93 1.44-.93 2.53v1.97H7.04v2.65h2.24V18H.98c-.28 0-.5-.1-.7-.28a.94.94 0 01-.28-.7V1.59c0-.27.1-.5.28-.69a.94.94 0 01.7-.28h15.44z">
2023</svg>
2024</a></li>
2025  
2026  
2027  
2028  
2029    <li><a title="Instagram" aria-label="Instagram" class="social-link instagram" target="_blank" href="https://www.instagram.com/jettyrockfoundation/?hl=en"><svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-instagram" viewBox="0 0 18 18">
2030  <path fill="currentColor" d="M8.77 1.58c2.34 0 2.62.01 3.54.05.86.04 1.32.18 1.63.3.41.17.7.35 1.01.66.3.3.5.6.65 1 .12.32.27.78.3 1.64.05.92.06 1.2.06 3.54s-.01 2.62-.05 3.54a4.79 4.79 0 01-.3 1.63c-.17.41-.35.7-.66 1.01-.3.3-.6.5-1.01.66-.31.12-.77.26-1.63.3-.92.04-1.2.05-3.54.05s-2.62 0-3.55-.05a4.79 4.79 0 01-1.62-.3c-.42-.16-.7-.35-1.01-.66-.31-.3-.5-.6-.66-1a4.87 4.87 0 01-.3-1.64c-.04-.92-.05-1.2-.05-3.54s0-2.62.05-3.54c.04-.86.18-1.32.3-1.63.16-.41.35-.7.66-1.01.3-.3.6-.5 1-.65.32-.12.78-.27 1.63-.3.93-.05 1.2-.06 3.55-.06zm0-1.58C6.39 0 6.09.01 5.15.05c-.93.04-1.57.2-2.13.4-.57.23-1.06.54-1.55 1.02C1 1.96.7 2.45.46 3.02c-.22.56-.37 1.2-.4 2.13C0 6.1 0 6.4 0 8.77s.01 2.68.05 3.61c.04.94.2 1.57.4 2.13.23.58.54 1.07 1.02 1.56.49.48.98.78 1.55 1.01.56.22 1.2.37 2.13.4.94.05 1.24.06 3.62.06 2.39 0 2.68-.01 3.62-.05.93-.04 1.57-.2 2.13-.41a4.27 4.27 0 001.55-1.01c.49-.49.79-.98 1.01-1.56.22-.55.37-1.19.41-2.13.04-.93.05-1.23.05-3.61 0-2.39 0-2.68-.05-3.62a6.47 6.47 0 00-.4-2.13 4.27 4.27 0 00-1.02-1.55A4.35 4.35 0 0014.52.46a6.43 6.43 0 00-2.13-.41A69 69 0 008.77 0z"/>
2031  <path fill="currentColor" d="M8.8 4a4.5 4.5 0 100 9 4.5 4.5 0 000-9zm0 7.43a2.92 2.92 0 110-5.85 2.92 2.92 0 010 5.85zM13.43 5a1.05 1.05 0 100-2.1 1.05 1.05 0 000 2.1z">
2032</svg>
2033</a></li>
2034  
2035  
2036
2037  
2038</ul>
2039
2040              <div> <a href="https://app.candid.org/profile/9327299/jetty-rock-foundation-inc-46-2932152/?pkId=b757aae0-65cf-4308-8566-20eec4d5f8d2" target="_blank"> 
2041<img alt="" src="https://widgets.guidestar.org/prod/v1/pdp/transparency-seal/9327299/svg" /></a>
2042            <a href="https://directories.onepercentfortheplanet.org/profile/jetty-rock-foundation" target="_blank"><img height="108" alt= "" src="https://cdn.shopify.com/s/files/1/0536/2109/6633/files/1ftp_EnvironmentalPartner_Vertical_Black.png?v=1779118832"></a>
2043          
2044        
2045      </nav>
2046
2047      <footer>
2048        <div>
2049
2050          <small class="copyright-text">
2051
2052            Copyright &copy; 2026 <a href="/" title="">Jetty Rock Foundation</a>.
2053
2054            <a target="_blank" rel="nofollow" href="https://www.shopify.com?utm_campaign=poweredby&amp;utm_medium=shopify&amp;utm_source=onlinestore">Powered by Shopify</a>
2055            <p>Jetty Rock Foundation<br>
2056            176 East Bay Avenue<br>
2057            Manahawkin, NJ 08050 &nbsp</p>
2058            <p><a href="mailto:[email protected]">[email protected]</a></p>            
2059          </small>
2060        </div>
2061        
2062        <!-- Do Not Remove - Turn Tracking Beacon Code - Do Not Remove --> <!-- Advertiser Name : JETTYLIFE-JETTY --> <!-- Beacon Name : JETTY - AUDIENCE EXPLORATION --> <!-- If Beacon is placed on a Transaction or Lead Generation based page, please populate the turn_client_track_id with your order/confirmation ID --> 
2062<script type="text/javascript"> turn_client_track_id = ""; </script>
2062 
2062<script type="text/javascript" src="https://r.turn.com/server/beacon_call.js?b2=9AdcW-nntJgGpDb-6oNUyDmlaVcoLNFgIOmqLc0d7mK84CvAabw694n_FVfU-yi-kq_8OZZiDHFBtqdCgEd68g"> </script>
2062 <noscript> <img border="0" src="https://r.turn.com/r/beacon?b2=9AdcW-nntJgGpDb-6oNUyDmlaVcoLNFgIOmqLc0d7mK84CvAabw694n_FVfU-yi-kq_8OZZiDHFBtqdCgEd68g&cid="> </noscript> <!-- End Turn Tracking Beacon Code Do Not Remove -->
2063       <img border="0" src="https://r.turn.com/r/beacon?b2=9AdcW-nntJgGpDb-6oNUyDmlaVcoLNFgIOmqLc0d7mK84CvAabw694n_FVfU-yi-kq_8OZZiDHFBtqdCgEd68g&cid=">        
2064      </footer>
2065    </div>
2066  </div>
2067</section>
2068
2069
2070</div>
2071
2072    <ul hidden>
2073      <li id="a11y-refresh-page-message">Choosing a selection results in a full page refresh.</li>
2074    </ul>
2075
2076    
2076<script>
2077      window.routes = {
2078        cart_add_url: '/cart/add',
2079        cart_change_url: '/cart/change',
2080        cart_update_url: '/cart/update',
2081        predictive_search_url: '/search/suggest'
2082      };
2083
2084      window.cartStrings = {
2085        error: `There was an error while updating your cart. Please try again.`,
2086        quantityError: `You can only add [quantity] of this item to your cart.`
2087      }
2088
2089      window.variantStrings = {
2090        addToCart: `Add to cart`,
2091        soldOut: `Sold out`,
2092        unavailable: `Unavailable`,
2093      }
2094
2095      window.accessibilityStrings = {
2096        shareSuccess: `Link copied to clipboard`,
2097      }
2098    </script>
2098<script src="//jettyrockfoundation.org/cdn/shop/t/8/assets/predictive-search.js?v=123393712146888685351639431818" defer="defer"></script>
2098<!-- AccessiBe Embed Code -->
2099    
2099<script>(function(document, tag) { var script = document.createElement(tag); var element = document.getElementsByTagName('body')[0]; script.src = 'https://acsbap.com/api/app/assets/js/acsb.js'; script.async = true; script.defer = true; (typeof element === 'undefined' ? document.getElementsByTagName('html')[0] : element).appendChild(script); script.onload = function() { acsbJS.init({ statementLink : '', feedbackLink : '', footerHtml : '', hideMobile : false, hideTrigger : false, language : 'en', position : 'left', leadColor : '#71c4bc', triggerColor : '#71c4bc', triggerRadius : '50%', triggerPositionX : 'left', triggerPositionY : 'bottom', triggerIcon : 'wheel_chair3', triggerSize : 'medium', triggerOffsetX : 20, triggerOffsetY : 20, mobile : { triggerSize : 'small', triggerPositionX : 'left', triggerPositionY : 'center', triggerOffsetX : 0, triggerOffsetY : 0, triggerRadius : '0' } }); };}(document, 'script'));</script>
2099
2100    
2100<script src="//jettyrockfoundation.org/cdn/shop/t/8/assets/accs_inj.js?v=51999883939654562771639431815" defer></script>
2100
2101    
2102  
2102<script src="https://cdn.shopify.com/storefront/standard-actions.js" type="module" data-source-attribution="shopify.standard_actions"></script>
2102
2103</body>
2104</html>
2105
2106
2107<!-- Begin Shopify-Afterpay JavaScript Snippet (v1.0.10) -->
2108<script type="text/javascript">
2109  // Overrides:
2110  // var afterpay_min = 0.04;            // As per your Afterpay contract.
2111  // var afterpay_max = 2000.00;         // As per your Afterpay contract.
2112  // var afterpay_cbt_enabled = false;   // As per your Afterpay contract; change to true to display Cross-Border Trade artwork (for AU/NZ).
2113  // var afterpay_logo_theme = 'colour'; // Can be 'colour', 'black' or 'white'.
2114  // var afterpay_product_selector = '#product-price-selector';
2115  // var afterpay_cart_integration_enabled = true;
2116  // var afterpay_cart_static_selector = '#cart-subtotal-selector';
2117  
2118  // Non-editable fields:
2119  var afterpay_shop_currency = "USD";
2120  var afterpay_cart_currency = "USD";
2121  var afterpay_shop_money_format = "${{amount}}";
2122  var afterpay_shop_permanent_domain = "hop-sauce-fest.myshopify.com";
2123  var afterpay_theme_name = "Jetty Rock 1.0";
2124  var afterpay_product = null;
2125  var afterpay_current_variant = null;
2126  var afterpay_cart_total_price = 0;
2127  var afterpay_js_snippet_version = '1.0.10';
2128</script>
vendor: 1 bytes, line 2128
2128
2129<script type="text/javascript" src="https://static.afterpay.com/shopify-afterpay-javascript.js"></script>
2129
2130<!-- End Shopify-Afterpay JavaScript Snippet (v1.0.10) -->
2131  

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.