vendor: 1 bytes, line 1
1
2<script> 3 const dynamicSellingPlansMap = {}; 4 5 6 7 8 dynamicSellingPlansMap['3594158254'] = { 9 name: '20% off this order, 10% off next orders', 10 id: '3594158254' 11 } 12 13 14 15 16 17 18 19 20 21 dynamicSellingPlansMap['3594158254'] = { 22 name: '20% off this order, 10% off next orders', 23 id: '3594158254' 24 } 25 26 27 28 29 30 31 32 33 34 dynamicSellingPlansMap['3594158254'] = { 35 name: '20% off this order, 10% off next orders', 36 id: '3594158254' 37 } 38 39 40 41 42 43 44 45 46 47 dynamicSellingPlansMap['3594158254'] = { 48 name: '20% off this order, 10% off next orders', 49 id: '3594158254' 50 } 51 52 53 54 55 56 57 58 59 60 dynamicSellingPlansMap['3594158254'] = { 61 name: '20% off this order, 10% off next orders', 62 id: '3594158254' 63 } 64 65 66 67 68 69 70 71 72 73 dynamicSellingPlansMap['3594158254'] = { 74 name: '20% off this order, 10% off next orders', 75 id: '3594158254' 76 } 77 78 79 80 81 82 83 84 85 86 dynamicSellingPlansMap['3594158254'] = { 87 name: '20% off this order, 10% off next orders', 88 id: '3594158254' 89 } 90 91 92 93 94 95 96 97 98 99 dynamicSellingPlansMap['3594158254'] = { 100 name: '20% off this order, 10% off next orders', 101 id: '3594158254' 102 } 103 104 105 106 107 108 109 110 111 112 dynamicSellingPlansMap['3594158254'] = { 113 name: '20% off this order, 10% off next orders', 114 id: '3594158254' 115 } 116 117 118 119 120 121 122 123 124 125 dynamicSellingPlansMap['3594158254'] = { 126 name: '20% off this order, 10% off next orders', 127 id: '3594158254' 128 } 129 130 131 132 133 134 135 136 dynamicSellingPlansMap['3594158254'] = { 137 name: '20% off this order, 10% off next orders', 138 id: '3594158254' 139 } 140 141 142 143 144 145 146 147 148 149 dynamicSellingPlansMap['3594158254'] = { 150 name: '20% off this order, 10% off next orders', 151 id: '3594158254' 152 } 153 154 155 156 157 158 159 160 dynamicSellingPlansMap['3594158254'] = { 161 name: '20% off this order, 10% off next orders', 162 id: '3594158254' 163 } 164 165 166 167 168 169 const dynamicSellingPlansList = Object.values(dynamicSellingPlansMap); 170 171 const sbuOnlyClass = "sbu-only"; 172 const hideDynamicOptions = (dynamicSellingPlans) => { 173 for (const dynamicSellingPlan of dynamicSellingPlans) { 174 const dynamicIdOptions = document.querySelectorAll( 175 `option[value='${dynamicSellingPlan.id}']` 176 ); 177 const dynamicNameOptions = document.querySelectorAll( 178 `option[value='${dynamicSellingPlan.name}']` 179 ); 180 181 [...dynamicIdOptions, ...dynamicNameOptions].forEach((dynamicOption) => { 182 let selectParent = dynamicOption; 183 while (selectParent && selectParent.tagName !== "SELECT") { 184 selectParent = selectParent.parentElement; 185 } 186 if (selectParent.classList.contains(sbuOnlyClass)) { 187 selectParent.disabled = true; 188 return; 189 } 190 if (selectParent?.value === dynamicOption?.value) { 191 const allOptions = selectParent.querySelectorAll("option"); 192 allOptions.forEach((opt) => { 193 if (opt.value === dynamicOption.value) { 194 opt.innerText = "Based on usage"; 195 } else { 196 opt.remove(); 197 } 198 }); 199 selectParent.disabled = true; 200 selectParent.classList.add(sbuOnlyClass); 201 } else { 202 dynamicOption.remove(); 203 } 204 }); 205 } 206 }; 207 208 const setCartChangeListeners = (dynamicSellingPlans) => { 209 const values = []; 210 dynamicSellingPlans.forEach((plan) => { 211 values.push(plan.id); 212 values.push(plan.name); 213 }); 214 215 const observer = new MutationObserver((mutations) => { 216 observer.disconnect(); 217 mutations.forEach((mutation) => { 218 if (mutation.type === "childList") { 219 if (!values.includes(mutation.target.value)) { 220 hideDynamicOptions(dynamicSellingPlans); 221 } 222 } 223 }); 224 225 observer.observe(document.body, { 226 childList: true, 227 subtree: true, 228 }); 229 }); 230 231 observer.observe(document.body, { 232 childList: true, 233 subtree: true, 234 }); 235 }; 236 237 if (dynamicSellingPlansList.length) { 238 document.addEventListener("DOMContentLoaded", function() { 239 hideDynamicOptions(dynamicSellingPlansList); 240 setCartChangeListeners(dynamicSellingPlansList); 241 }); 242 } 243</script>
243 244 245 246<!doctype html> 247<html class="no-js" lang="en"> 248 <head> 249
249<script 250 shopify_url="vashon-coffee-company.myshopify.com" 251 shopify_data="{"first_name":null,"address1":"15315 82nd Place Southwest","phone":"2065674403","city":"Vashon","zip":"98070","province":"Washington","country":"United States","last_name":null,"address2":"","company":"Vashon Coffee Company","latitude":47.467766,"longitude":-122.438223,"name":"","country_code":"US","province_code":"WA"}" 252 defer="defer" 253 src="https://assets.entanglecommerce.com/google-review-assets/gr-extension.min.js" 254 ></script>
254 255 <link 256 href="https://assets.entanglecommerce.com/google-review-assets/gr-extension.min.css" 257 rel="stylesheet" 258 type="text/css" 259 > 260 <meta charset="utf-8"> 261 <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> 262 <meta name="viewport" content="width=device-width,initial-scale=1"> 263 <meta name="theme-color" content="#111111"> 264 <link rel="canonical" href="https://blossomcoffeeroasters.com/products/rwanda-rulindo-murambi"><link rel="shortcut icon" href="//blossomcoffeeroasters.com/cdn/shop/files/Blossom_Bee_PNG_32x32.png?v=1641836754" type="image/png"><title>Rwanda - Rulindo Murambi - Washed 265– Blossom Coffee Roasters 266</title> 267 268<meta name="description" content="This lot of Rulindo Murambi was grown by more than 170 family owned farms in Rwanda's Gatsibo district."><meta property="og:site_name" content="Blossom Coffee Roasters"> 269 <meta property="og:url" content="https://blossomcoffeeroasters.com/products/rwanda-rulindo-murambi"> 270 <meta property="og:title" content="Rwanda - Rulindo Murambi - Washed"> 271 <meta property="og:type" content="product"> 272 <meta property="og:description" content="This lot of Rulindo Murambi was grown by more than 170 family owned farms in Rwanda's Gatsibo district."><meta property="og:image" content="http://blossomcoffeeroasters.com/cdn/shop/files/Rwanda_Rulindo_Washed_1200x1200.jpg?v=1788888722"><meta property="og:image" content="http://blossomcoffeeroasters.com/cdn/shop/files/Rwanda_Rulindo_Washed_de17d574-4f51-467a-a23d-86ef009a7d53_1200x1200.jpg?v=1788888722"><meta property="og:image" content="http://blossomcoffeeroasters.com/cdn/shop/files/Rwanda-Rulindo-Murambi1_1200x1200.jpg?v=1787433962"> 273 <meta property="og:image:secure_url" content="https://blossomcoffeeroasters.com/cdn/shop/files/Rwanda_Rulindo_Washed_1200x1200.jpg?v=1788888722"><meta property="og:image:secure_url" content="https://blossomcoffeeroasters.com/cdn/shop/files/Rwanda_Rulindo_Washed_de17d574-4f51-467a-a23d-86ef009a7d53_1200x1200.jpg?v=1788888722"><meta property="og:image:secure_url" content="https://blossomcoffeeroasters.com/cdn/shop/files/Rwanda-Rulindo-Murambi1_1200x1200.jpg?v=1787433962"> 274 <meta name="twitter:site" content="@"> 275 <meta name="twitter:card" content="summary_large_image"> 276 <meta name="twitter:title" content="Rwanda - Rulindo Murambi - Washed"> 277 <meta name="twitter:description" content="This lot of Rulindo Murambi was grown by more than 170 family owned farms in Rwanda's Gatsibo district."> 278 279 280 <style data-shopify> 281 @font-face { 282 font-family: Lato; 283 font-weight: 400; 284 font-style: normal; 285 src: url("//blossomcoffeeroasters.com/cdn/fonts/lato/lato_n4.c3b93d431f0091c8be23185e15c9d1fee1e971c5.woff2") format("woff2"), 286 url("//blossomcoffeeroasters.com/cdn/fonts/lato/lato_n4.d5c00c781efb195594fd2fd4ad04f7882949e327.woff") format("woff"); 287} 288 289 @font-face { 290 font-family: Figtree; 291 font-weight: 400; 292 font-style: normal; 293 src: url("//blossomcoffeeroasters.com/cdn/fonts/figtree/figtree_n4.3c0838aba1701047e60be6a99a1b0a40ce9b8419.woff2") format("woff2"), 294 url("//blossomcoffeeroasters.com/cdn/fonts/figtree/figtree_n4.c0575d1db21fc3821f17fd6617d3dee552312137.woff") format("woff"); 295} 296 297 298 @font-face { 299 font-family: Figtree; 300 font-weight: 700; 301 font-style: normal; 302 src: url("//blossomcoffeeroasters.com/cdn/fonts/figtree/figtree_n7.2fd9bfe01586148e644724096c9d75e8c7a90e55.woff2") format("woff2"), 303 url("//blossomcoffeeroasters.com/cdn/fonts/figtree/figtree_n7.ea05de92d862f9594794ab281c4c3a67501ef5fc.woff") format("woff"); 304} 305 306 @font-face { 307 font-family: Figtree; 308 font-weight: 400; 309 font-style: italic; 310 src: url("//blossomcoffeeroasters.com/cdn/fonts/figtree/figtree_i4.89f7a4275c064845c304a4cf8a4a586060656db2.woff2") format("woff2"), 311 url("//blossomcoffeeroasters.com/cdn/fonts/figtree/figtree_i4.6f955aaaafc55a22ffc1f32ecf3756859a5ad3e2.woff") format("woff"); 312} 313 314 @font-face { 315 font-family: Figtree; 316 font-weight: 700; 317 font-style: italic; 318 src: url("//blossomcoffeeroasters.com/cdn/fonts/figtree/figtree_i7.06add7096a6f2ab742e09ec7e498115904eda1fe.woff2") format("woff2"), 319 url("//blossomcoffeeroasters.com/cdn/fonts/figtree/figtree_i7.ee584b5fcaccdbb5518c0228158941f8df81b101.woff") format("woff"); 320} 321 322</style> 323 324 <link href="//blossomcoffeeroasters.com/cdn/shop/t/18/assets/theme.css?v=151153970120426123601753825282" rel="stylesheet" type="text/css" media="all" /> 325<style data-shopify> 326 :root { 327 --typeHeaderPrimary: Lato; 328 --typeHeaderFallback: sans-serif; 329 --typeHeaderSize: 35px; 330 --typeHeaderWeight: 400; 331 --typeHeaderLineHeight: 1.2; 332 --typeHeaderSpacing: 0.0em; 333 334 --typeBasePrimary:Figtree; 335 --typeBaseFallback:sans-serif; 336 --typeBaseSize: 14px; 337 --typeBaseWeight: 400; 338 --typeBaseLineHeight: 1.6; 339 --typeBaseSpacing: 0.025em; 340 341 --iconWeight: 4px; 342 --iconLinecaps: miter; 343 } 344 345 346.collection-hero__content:before, 347 .hero__image-wrapper:before, 348 .hero__media:before { 349 background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.0) 0%, rgba(0, 0, 0, 0.0) 40%, rgba(0, 0, 0, 0.62) 100%); 350 } 351 352 .skrim__item-content .skrim__overlay:after { 353 background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.0) 30%, rgba(0, 0, 0, 0.62) 100%); 354 } 355</style>
356<script 357 shopify_url="vashon-coffee-company.myshopify.com" 358 shopify_data="{"first_name":null,"address1":"15315 82nd Place Southwest","phone":"2065674403","city":"Vashon","zip":"98070","province":"Washington","country":"United States","last_name":null,"address2":"","company":"Vashon Coffee Company","latitude":47.467766,"longitude":-122.438223,"name":"","country_code":"US","province_code":"WA"}" 359 defer="defer" 360 src="https://assets.entanglecommerce.com/google-review-assets/gr-extension.min.js" 361 ></script>
361 362 <link 363 href="https://assets.entanglecommerce.com/google-review-assets/gr-extension.min.css" 364 rel="stylesheet" 365 type="text/css" 366 > 367 368
368<script> 369 document.documentElement.className = document.documentElement.className.replace('no-js', 'js'); 370 371 window.theme = window.theme || {}; 372 theme.routes = { 373 cart: "/cart", 374 cartAdd: "/cart/add.js", 375 cartChange: "/cart/change" 376 }; 377 theme.strings = { 378 soldOut: "Sold Out", 379 unavailable: "Unavailable", 380 stockLabel: "[count] in stock", 381 willNotShipUntil: "Will not ship until [date]", 382 willBeInStockAfter: "Will be in stock after [date]", 383 waitingForStock: "Inventory on the way", 384 cartSavings: "You're saving [savings]", 385 cartEmpty: "Your cart is currently empty.", 386 cartTermsConfirmation: "You must agree with the terms and conditions of sales to check out" 387 }; 388 theme.settings = { 389 dynamicVariantsEnable: true, 390 dynamicVariantType: "button", 391 cartType: "drawer", 392 moneyFormat: "${{amount}}", 393 predictiveSearch: true, 394 predictiveSearchType: "product,article,page,collection", 395 inventoryThreshold: 10, 396 quickView: false, 397 themeName: 'Motion', 398 themeVersion: "5.1.4" 399 }; 400 </script>
400 401 402
402<script>window.performance && window.performance.mark && window.performance.mark('shopify.content_for_header.start');</script>
402<meta name="google-site-verification" content="mkBzb8v-MX16texCn7ydTUSUXVLc-lfcKMhSy6w7RBw"> 403<meta id="shopify-digital-wallet" name="shopify-digital-wallet" content="/2337869/digital_wallets/dialog"> 404<meta id="in-context-paypal-metadata" data-shop-id="2337869" data-venmo-supported="false" data-environment="production" data-locale="en_US" data-paypal-v4="true" data-currency="USD"> 405<link rel="ucp" href="/.well-known/ucp" version="2026-08-25"><link rel="buy" href="/cart/48930908635310:1?ucp/version=2026-08-25&context/payment/0/handler=dev.shopify.shop_pay" payment="dev.shopify.shop_pay com.google.pay dev.shopify.card"><link rel="alternate" type="application/json+oembed" href="https://blossomcoffeeroasters.com/products/rwanda-rulindo-murambi.oembed">
406<script async="async" src="/checkouts/internal/preloads.js?locale=en-US"></script>
406 407<link rel="preconnect" href="https://shop.app" crossorigin="anonymous">
408<script async="async" src="https://shop.app/checkouts/internal/preloads.js?locale=en-US&shop_id=2337869" crossorigin="anonymous"></script>
vendor: 1 bytes, line 408
408
409<script id="apple-pay-shop-capabilities" type="application/json">{"shopId":2337869,"countryCode":"US","currencyCode":"USD","merchantCapabilities":["supports3DS"],"merchantId":"gid:\/\/shopify\/Shop\/2337869","merchantName":"Blossom Coffee Roasters","requiredBillingContactFields":["postalAddress","email"],"requiredShippingContactFields":["postalAddress","email"],"shippingType":"shipping","supportedNetworks":["visa","masterCard","discover","amex","elo","jcb"],"total":{"type":"pending","label":"Blossom Coffee Roasters","amount":"1.00"},"shopifyPaymentsEnabled":true,"supportsSubscriptions":true}</script>
vendor: 1 bytes, line 409
409
410<script id="shopify-features" type="application/json">{"accessToken":"fccb586a957e17c0fabf8fe09f843265","betas":["rich-media-storefront-analytics"],"domain":"blossomcoffeeroasters.com","predictiveSearch":true,"shopId":2337869,"locale":"en"}</script>
vendor: 1 bytes, line 410
410
411<script>var Shopify = Shopify || {}; 412Shopify.shop = "vashon-coffee-company.myshopify.com"; 413Shopify.locale = "en"; 414Shopify.currency = {"active":"USD","rate":"1.0"}; 415Shopify.country = "US"; 416Shopify.theme = {"name":"Motion-w-BoldCode | July.29.25","id":145191108782,"schema_name":"Motion","schema_version":"5.1.4","theme_store_id":847,"role":"main"}; 417Shopify.theme.handle = "null"; 418Shopify.theme.style = {"id":null,"handle":null}; 419Shopify.cdnHost = "blossomcoffeeroasters.com/cdn"; 420Shopify.routes = Shopify.routes || {}; 421Shopify.routes.root = "/"; 422Shopify.shopJsCdnBaseUrl = "https://cdn.shopify.com/shopifycloud/shop-js"; 423Shopify.SignInWithShop = Shopify.SignInWithShop || {}; 424Shopify.SignInWithShop.User = Shopify.SignInWithShop.User || {}; 425Shopify.SignInWithShop.User.recognized = false;</script>
vendor: 1 bytes, line 425
425
426<script type="module">!function(o){(o.Shopify=o.Shopify||{}).modules=!0}(window);</script>
vendor: 1 bytes, line 426
426
427<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 427
427
428<script> 429 window.ShopifyPay = window.ShopifyPay || {}; 430 window.ShopifyPay.apiHost = "shop.app\/pay"; 431 window.ShopifyPay.redirectState = null; 432</script>
vendor: 1 bytes, line 432
432
433<script> 434 window.Shopify = window.Shopify || {}; 435 window.Shopify.SignInWithShop = window.Shopify.SignInWithShop || {}; 436 window.Shopify.SignInWithShop.assetMetrics = { sampleRate: 0.25 }; 437 window.Shopify.SignInWithShop.eligible = true; 438</script>
vendor: 1 bytes, line 438
438
439<script id="shop-js-analytics" type="application/json">{"pageType":"product"}</script>
vendor: 1 bytes, line 439
439
440<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 440
440
441<script type="module"> 442 await import("https://cdn.shopify.com/shopifycloud/shop-js/modules/v2/loader.init-shop-cart-sync.en.esm.js"); 443 444 window.Shopify.SignInWithShop?.initShopCartSync?.({"fedCMEnabled":true,"windoidEnabled":true}); 445 446</script>
vendor: 1 bytes, line 446
446
447<script> 448 window.Shopify = window.Shopify || {}; 449 if (!window.Shopify.featureAssets) window.Shopify.featureAssets = {}; 450 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"]}; 451</script>
vendor: 1 bytes, line 451
451
452<script>(function() { 453 var isLoaded = false; 454 function asyncLoad() { 455 if (isLoaded) return; 456 isLoaded = true; 457 var urls = ["https:\/\/chimpstatic.com\/mcjs-connected\/js\/users\/759893abfa2829620780f4d36\/8de35c4a54870a4558cd05fc6.js?shop=vashon-coffee-company.myshopify.com","\/\/cdn.shopify.com\/proxy\/1c9f9144e0132b30b446e2c236a7671a232a0b32556b62522c2a735f4670eba8\/shopify-public.herokuapp.com\/widget?shop=vashon-coffee-company.myshopify.com\u0026sp-cache-control=cHVibGljLCBtYXgtYWdlPTkwMA","https:\/\/cdn.hextom.com\/js\/quickannouncementbar.js?shop=vashon-coffee-company.myshopify.com"]; 458 for (var i = 0; i < urls.length; i++) { 459 var s = document.createElement('script'); 460 s.type = 'text/javascript'; 461 s.async = true; 462 s.src = urls[i]; 463 var x = document.getElementsByTagName('script')[0]; 464 x.parentNode.insertBefore(s, x); 465 } 466 }; 467 if(window.attachEvent) { 468 window.attachEvent('onload', asyncLoad); 469 } else { 470 window.addEventListener('load', asyncLoad, false); 471 } 472})();</script>
vendor: 1 bytes, line 472
472
473<script id="__st">var __st={"a":2337869,"offset":-25200,"reqid":"9311fcdd-7d6d-4d63-a1a6-f3e22e608cbd-1791504064","pageurl":"blossomcoffeeroasters.com\/products\/rwanda-rulindo-murambi","u":"59de8c01be64","p":"product","rtyp":"product","rid":9218078736558};</script>
vendor: 1 bytes, line 473
473
474<script>window.ShopifyPaypalV4VisibilityTracking = true;</script>
vendor: 1 bytes, line 474
474
475<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 475
475
476<script integrity="sha256-JjoPp5ZfB1sSAs5SQaol1x1GgvveM+BgmRzyDexInEQ=" data-source-attribution="shopify.loadfeatures" defer="defer" src="//blossomcoffeeroasters.com/cdn/shopifycloud/storefront/assets/storefront/load_feature-1bd60354.js" crossorigin="anonymous"></script>
vendor: 1 bytes, line 476
476
477<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 = "//blossomcoffeeroasters.com/cdn/shopifycloud/storefront/assets/storefront/autosizes-84416378.js";(document.head || document.documentElement).appendChild(autosizesScript);}window.ShopifyAnalytics = window.ShopifyAnalytics || {};window.ShopifyAnalytics.performance = window.ShopifyAnalytics.performance || {};(function () {var LONG_FRAME_THRESHOLD = 50;var longAnimationFrames = [];var activeRafId = null;function collectLongFrames() {var previousTime = null;function rafMonitor(now) {if (activeRafId === null) {return;}var delta = now - previousTime;if (delta > LONG_FRAME_THRESHOLD) {longAnimationFrames.push({startTime: previousTime,endTime: now,});}previousTime = now;activeRafId = requestAnimationFrame(rafMonitor);}previousTime = performance.now();activeRafId = requestAnimationFrame(rafMonitor);}if (!window.PerformanceObserver?.supportedEntryTypes?.includes('long-animation-frame')) {collectLongFrames();var timeoutId = setTimeout(function () {cancelAnimationFrame(activeRafId);}, 10000);window.ShopifyAnalytics.performance.getLongAnimationFrames = function (stopCollection) {if (stopCollection === undefined) {stopCollection = false;}if (stopCollection) {clearTimeout(timeoutId);cancelAnimationFrame(activeRafId);}return longAnimationFrames;};}})();})();</script>
477<script crossorigin="anonymous" defer="defer" src="//blossomcoffeeroasters.com/cdn/shopifycloud/storefront/assets/shopify_pay/storefront-f0e26bdf.js?v=20250812"></script>
vendor: 1 bytes, line 477
477
478<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 478
478
479<script> 480 window.Shopify = window.Shopify || {}; 481 window.Shopify.MCP = window.Shopify.MCP || {}; 482 window.Shopify.MCP.enabled = true; 483 window.Shopify.MCP.shop = "vashon-coffee-company.myshopify.com"; 484 window.Shopify.MCP.mcpEndpoint = "https:\/\/blossomcoffeeroasters.com\/api\/mcp"; 485 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"]}}]; 486</script>
vendor: 1 bytes, line 486
486
487<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("\/\/blossomcoffeeroasters.com\/cdn\/shopifycloud\/storefront\/assets\/storefront\/webmcp-c6b62ece.js","sha256-ke4DDuBjdvea3vxLWxHc9E9nq8zihuG4IfYEGbb77ys=");})(); 488</script>
vendor: 1 bytes, line 488
488
489<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://blossomcoffeeroasters.com/cdn/shopifycloud/portable-wallets/latest/portable-wallets.en.js",t.type="module",document.head.appendChild(t)}}; 490</script>
vendor: 1 bytes, line 490
490
491<script data-source-attribution="shopify.dynamic_checkout.buyer_consent"> 492 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); 493</script>
vendor: 1 bytes, line 493
493
494<script> 495 function portableWalletsCleanup(e){e&&e.src&&console.error("Failed to load portable wallets script "+e.src);var t=document.querySelectorAll("shopify-accelerated-checkout .shopify-payment-button__skeleton, shopify-accelerated-checkout-cart .wallet-cart-button__skeleton"),e=document.getElementById("shopify-buyer-consent");for(let e=0;e<t.length;e++)t[e].remove();e&&e.remove()}function portableWalletsNotLoadedAsModule(e){e instanceof ErrorEvent&&"string"==typeof e.message&&e.message.includes("import.meta")&&"string"==typeof e.filename&&e.filename.includes("portable-wallets")&&(window.removeEventListener("error",portableWalletsNotLoadedAsModule),window.Shopify.PaymentButton.failedToLoad=e,"loading"===document.readyState?document.addEventListener("DOMContentLoaded",window.Shopify.PaymentButton.init):window.Shopify.PaymentButton.init())}window.addEventListener("error",portableWalletsNotLoadedAsModule); 496</script>
496 497
498<script type="module" src="https://blossomcoffeeroasters.com/cdn/shopifycloud/portable-wallets/latest/portable-wallets.en.js" onError="portableWalletsCleanup(this)" crossorigin="anonymous"></script>
vendor: 1 bytes, line 498
498
499<script nomodule> 500 document.addEventListener("DOMContentLoaded", portableWalletsCleanup); 501</script>
501 502 503<link id="shopify-accelerated-checkout-styles" rel="stylesheet" media="screen" href="https://blossomcoffeeroasters.com/cdn/shopifycloud/portable-wallets/latest/accelerated-checkout-backwards-compat.css" crossorigin="anonymous"> 504<style id="shopify-accelerated-checkout-cart"> 505 #shopify-buyer-consent { 506 margin-top: 1em; 507 display: inline-block; 508 width: 100%; 509} 510 511#shopify-buyer-consent.hidden { 512 display: none; 513} 514 515#shopify-subscription-policy-button { 516 background: none; 517 border: none; 518 padding: 0; 519 text-decoration: underline; 520 font-size: inherit; 521 cursor: pointer; 522} 523 524#shopify-subscription-policy-button::before { 525 box-shadow: none; 526} 527 528 </style> 529
530<script id="shopify-cfh-end">window.performance && window.performance.mark && window.performance.mark('shopify.content_for_header.end');</script>
530 531 532
532<script src="//blossomcoffeeroasters.com/cdn/shop/t/18/assets/vendor-scripts-v9.js" defer="defer"></script>
532<script src="//blossomcoffeeroasters.com/cdn/shop/t/18/assets/theme.js?v=100448733424141412851753820268" defer="defer"></script>
532<script src="//blossomcoffeeroasters.com/cdn/shop/t/18/assets/bsub.js?v=158520562351594542841753820268" type="text/javascript"></script>
532 533 <link href="//blossomcoffeeroasters.com/cdn/shop/t/18/assets/bsub.css?v=123080243802390461061753820268" rel="stylesheet" type="text/css" media="all" /> 534 <!-- BEGIN app block: shopify://apps/bold-subscriptions/blocks/bsub-embed/9ceb49f0-5fe5-4b5e-943d-f8af8985167d -->
535<script id="bold-subscriptions-app-embed-script" type="text/javascript" defer> 536 537 538 if (window.location.href.includes('pages/manage-subscriptions')) { 539 const queryParams = new URLSearchParams(window.location.search); 540 if(queryParams.has('deep_link') && queryParams.get('deep_link') === 'upsell' && 541 queryParams.has('type') && queryParams.get('type') === 'upcoming-order-email' 542 ) { 543 window.location.href=`/account/login?${queryParams.toString()}&from_msp=true`; 544 } 545 } else if (window.location.href.includes('/account/login')) { 546 document.addEventListener('DOMContentLoaded', function() { 547 const queryParams = new URLSearchParams(window.location.search); 548 if(queryParams.has('from_msp')) { 549 queryParams.delete('from_msp'); 550 551 let form = document.querySelector("#customer_login"); 552 553 if(form) { 554 let input = document.createElement('input'); 555 input.type = 'hidden'; 556 input.name = 'return_to'; 557 input.value = `https://blossomcoffeeroasters.com/pages/manage-subscriptions?${queryParams.toString()}`; 558 559 form.appendChild(input); 560 } 561 } 562 }); 563 } 564 565 566 567 window.BOLD = window.BOLD || {}; 568 window.BOLD.subscriptions = window.BOLD.subscriptions || {}; 569 window.BOLD.subscriptions.config = window.BOLD.subscriptions.config || {}; 570 window.BOLD.subscriptions.config.isAppEmbedEnabled = true; 571 window.BOLD.subscriptions.classes = window.BOLD.subscriptions.classes || {}; 572 window.BOLD.subscriptions.patches = window.BOLD.subscriptions.patches || {}; 573 window.BOLD.subscriptions.patches.maxCheckoutRetries = window.BOLD.subscriptions.patches.maxCheckoutRetries || 200; 574 window.BOLD.subscriptions.patches.currentCheckoutRetries = window.BOLD.subscriptions.patches.currentCheckoutRetries || 0; 575 window.BOLD.subscriptions.patches.maxCashierPatchAttempts = window.BOLD.subscriptions.patches.maxCashierPatchAttempts || 200; 576 window.BOLD.subscriptions.patches.currentCashierPatchAttempts = window.BOLD.subscriptions.patches.currentCashierPatchAttempts || 0; 577 window.BOLD.subscriptions.config.platform = 'shopify'; 578 window.BOLD.subscriptions.config.shopDomain = 'vashon-coffee-company.myshopify.com'; 579 window.BOLD.subscriptions.config.customDomain = 'blossomcoffeeroasters.com'; 580 window.BOLD.subscriptions.config.shopIdentifier = '2337869'; 581 window.BOLD.subscriptions.config.cashierUrl = 'https://cashier.boldcommerce.com'; 582 window.BOLD.subscriptions.config.boldAPIBase = 'https://app-api.boldapps.net/'; 583 window.BOLD.subscriptions.config.cashierApplicationUUID = '2e6a2bbc-b12b-4255-abdf-a02af85c0d4e'; 584 window.BOLD.subscriptions.config.appUrl = 'https://sub.boldapps.net'; 585 window.BOLD.subscriptions.config.currencyCode = 'USD'; 586 window.BOLD.subscriptions.config.checkoutType = 'shopify'; 587 window.BOLD.subscriptions.config.currencyFormat = "$\u0026#123;\u0026#123;amount}}"; 588 window.BOLD.subscriptions.config.shopCurrencies = [{"id":7673,"currency":"USD","currency_format":"$\u0026#123;\u0026#123;amount}}","created_at":"2024-10-17 00:21:39","updated_at":"2024-10-17 00:21:39"}]; 589 window.BOLD.subscriptions.config.shopSettings = {"allow_msp_cancellation":true,"allow_msp_prepaid_renewal":true,"customer_can_pause_subscription":true,"customer_can_change_next_order_date":true,"customer_can_change_order_frequency":true,"customer_can_create_an_additional_order":false,"customer_can_use_passwordless_login":false,"customer_passwordless_login_redirect":false,"customer_can_add_products_to_existing_subscriptions":true,"customer_can_reactivate_subscription":true,"customer_can_reactivate_subscription_with_deleted_products":false,"show_currency_code":true,"stored_payment_method_policy":"required","customer_portal_path":"pages\/manage-subscriptions","display_only_subscription_products":false}; 590 window.BOLD.subscriptions.config.customerLoginPath = null; 591 window.BOLD.subscriptions.config.isPrepaidEnabled = window.BOLD.subscriptions.config.isPrepaidEnabled || true; 592 window.BOLD.subscriptions.config.loadSubscriptionGroupFrom = 'default'; 593 window.BOLD.subscriptions.config.loadSubscriptionGroupFromTypes = "default"; 594 window.BOLD.subscriptions.config.cashierPluginOnlyMode = window.BOLD.subscriptions.config.cashierPluginOnlyMode || false; 595 if (window.BOLD.subscriptions.config.waitForCheckoutLoader === undefined) { 596 window.BOLD.subscriptions.config.waitForCheckoutLoader = true; 597 } 598 599 window.BOLD.subscriptions.config.addToCartFormSelectors = window.BOLD.subscriptions.config.addToCartFormSelectors || []; 600 window.BOLD.subscriptions.config.addToCartButtonSelectors = window.BOLD.subscriptions.config.addToCartButtonSelectors || []; 601 window.BOLD.subscriptions.config.widgetInsertBeforeSelectors = window.BOLD.subscriptions.config.widgetInsertBeforeSelectors || []; 602 window.BOLD.subscriptions.config.quickAddToCartButtonSelectors = window.BOLD.subscriptions.config.quickAddToCartButtonSelectors || []; 603 window.BOLD.subscriptions.config.cartElementSelectors = window.BOLD.subscriptions.config.cartElementSelectors || []; 604 window.BOLD.subscriptions.config.cartTotalElementSelectors = window.BOLD.subscriptions.config.cartTotalElementSelectors || []; 605 window.BOLD.subscriptions.config.lineItemSelectors = window.BOLD.subscriptions.config.lineItemSelectors || []; 606 window.BOLD.subscriptions.config.lineItemNameSelectors = window.BOLD.subscriptions.config.lineItemNameSelectors || []; 607 window.BOLD.subscriptions.config.checkoutButtonSelectors = window.BOLD.subscriptions.config.checkoutButtonSelectors || []; 608 609 window.BOLD.subscriptions.config.featureFlags = window.BOLD.subscriptions.config.featureFlagOverrides || ["BE-2298-Support-Variant-Selections-In-Sub-Groups","BE-6925-remove-bold-error-code-from-error-message","BE-8664-default-address-source-bold","BE-9502-add-logs-to-investigate-infinite-loop","BE-6695-improve-subs-onboarding","BE-10096-list-deleted-variants","BE-10183-customer-portal-paginates-products","BE-10178-suppress-dup-inventory-failure-emails","BE-9073-reactivate-subscription-setting"]; 610 window.BOLD.subscriptions.config.subscriptionProcessingFrequency = '60'; 611 window.BOLD.subscriptions.config.requireMSPInitialLoadingMessage = true; 612 window.BOLD.subscriptions.data = window.BOLD.subscriptions.data || {}; 613 614 // Interval text markup template 615 window.BOLD.subscriptions.config.lineItemPropertyListSelectors = window.BOLD.subscriptions.config.lineItemPropertyListSelectors || []; 616 window.BOLD.subscriptions.config.lineItemPropertyListSelectors.push('dl.definitionList'); 617 window.BOLD.subscriptions.config.lineItemPropertyListTemplate = window.BOLD.subscriptions.config.lineItemPropertyListTemplate || '<dl class="definitionList"></dl>'; 618 window.BOLD.subscriptions.config.lineItemPropertyTemplate = window.BOLD.subscriptions.config.lineItemPropertyTemplate || '<dt class="definitionList-key">{{key}}:</dt><dd class="definitionList-value">{{value}}</dd>'; 619 620 // Discount text markup template 621 window.BOLD.subscriptions.config.discountItemTemplate = window.BOLD.subscriptions.config.discountItemTemplate || '<div class="bold-subscriptions-discount"><div class="bold-subscriptions-discount__details">{{details}}</div><div class="bold-subscriptions-discount__total">{{total}}</div></div>'; 622 623 624 // Constants in XMLHttpRequest are not reliable, so we will create our own 625 // reference: https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest/readyState 626 window.BOLD.subscriptions.config.XMLHttpRequest = { 627 UNSENT:0, // Client has been created. open() not called yet. 628 OPENED: 1, // open() has been called. 629 HEADERS_RECEIVED: 2, // send() has been called, and headers and status are available. 630 LOADING: 3, // Downloading; responseText holds partial data. 631 DONE: 4 // The operation is complete. 632 }; 633 634 window.BOLD.subscriptions.config.assetBaseUrl = 'https://sub.boldapps.net'; 635 if (window.localStorage && window.localStorage.getItem('boldSubscriptionsAssetBaseUrl')) { 636 window.BOLD.subscriptions.config.assetBaseUrl = window.localStorage.getItem('boldSubscriptionsAssetBaseUrl') 637 } 638 639 window.BOLD.subscriptions.data.subscriptionGroups = []; 640 if (localStorage && localStorage.getItem('boldSubscriptionsSubscriptionGroups')) { 641 window.BOLD.subscriptions.data.subscriptionGroups = JSON.parse(localStorage.getItem('boldSubscriptionsSubscriptionGroups')); 642 } else { 643 window.BOLD.subscriptions.data.subscriptionGroups = [{"id":44315,"billing_rules":[{"id":109334,"subscription_group_id":44315,"interval_name":"Monthly","billing_rule":"FREQ=MONTHLY","custom_billing_rule":""},{"id":109335,"subscription_group_id":44315,"interval_name":"Weekly","billing_rule":"FREQ=WEEKLY","custom_billing_rule":""},{"id":109336,"subscription_group_id":44315,"interval_name":"Bi-Weekly","billing_rule":"FREQ=WEEKLY;INTERVAL=2","custom_billing_rule":""}],"is_subscription_only":false,"allow_prepaid":false,"allow_dynamic_discount":false,"is_prepaid_only":false,"should_continue_prepaid":true,"continue_prepaid_type":"as_prepaid","prepaid_durations":[{"id":43785,"subscription_group_id":44315,"total_duration":1,"discount_type":"percentage","discount_value":0}],"dynamic_discounts":[{"id":6457,"subscription_group_id":44315,"order_number":3,"discount_type":"percentage","discount_value":0}],"selection_options":[{"platform_entity_id":null}],"discount_type":"no_discount","percent_discount":0,"fixed_discount":0,"can_add_to_cart":true},{"id":44316,"billing_rules":[{"id":109337,"subscription_group_id":44316,"interval_name":"Monthly","billing_rule":"FREQ=MONTHLY","custom_billing_rule":""},{"id":109338,"subscription_group_id":44316,"interval_name":"Weekly","billing_rule":"FREQ=WEEKLY","custom_billing_rule":""},{"id":109339,"subscription_group_id":44316,"interval_name":"Bi-Weekly","billing_rule":"FREQ=WEEKLY;INTERVAL=2","custom_billing_rule":""}],"is_subscription_only":false,"allow_prepaid":false,"allow_dynamic_discount":false,"is_prepaid_only":false,"should_continue_prepaid":true,"continue_prepaid_type":"as_prepaid","prepaid_durations":[{"id":43786,"subscription_group_id":44316,"total_duration":1,"discount_type":"percentage","discount_value":0}],"dynamic_discounts":[{"id":6458,"subscription_group_id":44316,"order_number":3,"discount_type":"percentage","discount_value":0}],"selection_options":[{"platform_entity_id":null}],"discount_type":"no_discount","percent_discount":0,"fixed_discount":0,"can_add_to_cart":true},{"id":44317,"billing_rules":[{"id":109340,"subscription_group_id":44317,"interval_name":"Monthly","billing_rule":"FREQ=MONTHLY","custom_billing_rule":""},{"id":109341,"subscription_group_id":44317,"interval_name":"Weekly","billing_rule":"FREQ=WEEKLY","custom_billing_rule":""},{"id":109342,"subscription_group_id":44317,"interval_name":"Bi-Weekly","billing_rule":"FREQ=WEEKLY","custom_billing_rule":""}],"is_subscription_only":false,"allow_prepaid":false,"allow_dynamic_discount":false,"is_prepaid_only":false,"should_continue_prepaid":true,"continue_prepaid_type":"as_prepaid","prepaid_durations":[{"id":43787,"subscription_group_id":44317,"total_duration":1,"discount_type":"percentage","discount_value":0}],"dynamic_discounts":[{"id":2294,"subscription_group_id":44317,"order_number":3,"discount_type":"percentage","discount_value":0}],"selection_options":[{"platform_entity_id":null}],"discount_type":"no_discount","percent_discount":0,"fixed_discount":0,"can_add_to_cart":true},{"id":45094,"billing_rules":[{"id":111675,"subscription_group_id":45094,"interval_name":"Weekly","billing_rule":"FREQ=WEEKLY","custom_billing_rule":""},{"id":111676,"subscription_group_id":45094,"interval_name":"Bi Weekly","billing_rule":"FREQ=WEEKLY","custom_billing_rule":""},{"id":111677,"subscription_group_id":45094,"interval_name":"Monthly","billing_rule":"FREQ=MONTHLY","custom_billing_rule":""}],"is_subscription_only":false,"allow_prepaid":false,"allow_dynamic_discount":false,"is_prepaid_only":false,"should_continue_prepaid":true,"continue_prepaid_type":"as_prepaid","prepaid_durations":[{"id":44570,"subscription_group_id":45094,"total_duration":1,"discount_type":"percentage","discount_value":0}],"dynamic_discounts":[{"id":1943,"subscription_group_id":45094,"order_number":3,"discount_type":"percentage","discount_value":0}],"selection_options":[{"platform_entity_id":null}],"discount_type":"no_discount","percent_discount":0,"fixed_discount":0,"can_add_to_cart":true},{"id":58659,"billing_rules":[{"id":136510,"subscription_group_id":58659,"interval_name":"Monthly","billing_rule":"FREQ=MONTHLY","custom_billing_rule":""},{"id":136511,"subscription_group_id":58659,"interval_name":"Weekly","billing_rule":"FREQ=WEEKLY","custom_billing_rule":""}
643,{"id":136512,"subscription_group_id":58659,"interval_name":"Bi-weekly","billing_rule":"FREQ=WEEKLY;INTERVAL=2","custom_billing_rule":""}],"is_subscription_only":false,"allow_prepaid":false,"allow_dynamic_discount":false,"is_prepaid_only":false,"should_continue_prepaid":true,"continue_prepaid_type":"as_prepaid","prepaid_durations":[{"id":60081,"subscription_group_id":58659,"total_duration":1,"discount_type":"percentage","discount_value":0}],"dynamic_discounts":[{"id":6574,"subscription_group_id":58659,"order_number":1,"discount_type":"percentage","discount_value":0}],"selection_options":[{"platform_entity_id":null}],"discount_type":"percentage","percent_discount":10,"fixed_discount":0,"can_add_to_cart":true},{"id":58661,"billing_rules":[{"id":136514,"subscription_group_id":58661,"interval_name":"Monthly","billing_rule":"FREQ=MONTHLY","custom_billing_rule":""},{"id":136515,"subscription_group_id":58661,"interval_name":"Bi-weekly","billing_rule":"FREQ=WEEKLY;INTERVAL=2","custom_billing_rule":""},{"id":136516,"subscription_group_id":58661,"interval_name":"Weekly","billing_rule":"FREQ=WEEKLY","custom_billing_rule":""}],"is_subscription_only":false,"allow_prepaid":false,"allow_dynamic_discount":false,"is_prepaid_only":false,"should_continue_prepaid":true,"continue_prepaid_type":"as_prepaid","prepaid_durations":[{"id":60082,"subscription_group_id":58661,"total_duration":1,"discount_type":"percentage","discount_value":0}],"dynamic_discounts":[{"id":6575,"subscription_group_id":58661,"order_number":1,"discount_type":"percentage","discount_value":0}],"selection_options":[{"platform_entity_id":null}],"discount_type":"percentage","percent_discount":10,"fixed_discount":0,"can_add_to_cart":true},{"id":58662,"billing_rules":[{"id":136517,"subscription_group_id":58662,"interval_name":"Monthly","billing_rule":"FREQ=MONTHLY","custom_billing_rule":""},{"id":136518,"subscription_group_id":58662,"interval_name":"Bi-Weekly","billing_rule":"FREQ=WEEKLY;INTERVAL=2","custom_billing_rule":""},{"id":136519,"subscription_group_id":58662,"interval_name":"Weekly","billing_rule":"FREQ=WEEKLY","custom_billing_rule":""}],"is_subscription_only":false,"allow_prepaid":false,"allow_dynamic_discount":false,"is_prepaid_only":false,"should_continue_prepaid":true,"continue_prepaid_type":"as_prepaid","prepaid_durations":[{"id":60083,"subscription_group_id":58662,"total_duration":1,"discount_type":"percentage","discount_value":0}],"dynamic_discounts":[{"id":6576,"subscription_group_id":58662,"order_number":1,"discount_type":"percentage","discount_value":0}],"selection_options":[{"platform_entity_id":null}],"discount_type":"percentage","percent_discount":10,"fixed_discount":0,"can_add_to_cart":true},{"id":58663,"billing_rules":[{"id":136520,"subscription_group_id":58663,"interval_name":"Monthly","billing_rule":"FREQ=MONTHLY","custom_billing_rule":""},{"id":136521,"subscription_group_id":58663,"interval_name":"Bi-Weekly","billing_rule":"FREQ=WEEKLY;INTERVAL=2","custom_billing_rule":""},{"id":136522,"subscription_group_id":58663,"interval_name":"Weekly","billing_rule":"FREQ=WEEKLY","custom_billing_rule":""}],"is_subscription_only":false,"allow_prepaid":false,"allow_dynamic_discount":false,"is_prepaid_only":false,"should_continue_prepaid":true,"continue_prepaid_type":"as_prepaid","prepaid_durations":[{"id":60084,"subscription_group_id":58663,"total_duration":1,"discount_type":"percentage","discount_value":0}],"dynamic_discounts":[{"id":6577,"subscription_group_id":58663,"order_number":1,"discount_type":"percentage","discount_value":0}],"selection_options":[{"platform_entity_id":null}],"discount_type":"percentage","percent_discount":10,"fixed_discount":0,"can_add_to_cart":true},{"id":58664,"billing_rules":[{"id":136523,"subscription_group_id":58664,"interval_name":"Monthly","billing_rule":"FREQ=MONTHLY","custom_billing_rule":""},{"id":136524,"subscription_group_id":58664,"interval_name":"Bi-Weekly","billing_rule":"FREQ=WEEKLY;INTERVAL=2","custom_billing_rule":""},{"id":136525,"subscription_group_id":58664,"interval_name":"Weekly","billing_rule":"FREQ=WEEKLY","custom_billing_rule":""}],"is_subscription_only":false,"allow_prepaid":false,"allow_dynamic_discount":false,"is_prepaid_only":false,"should_continue_prepaid":true,"continue_prepaid_type":"as_prepaid","prepaid_durations":[{"id":60085,"subscription_group_id":58664,"total_duration":1,"discount_type":"percentage","discount_value":0}],"dynamic_discounts":[{"id":6578,"subscription_group_id":58664,"order_number":1,"discount_type":"percentage","discount_value":0}],"selection_options":[{"platform_entity_id":null}],"discount_type":"percentage","percent_discount":10,"fixed_discount":0,"can_add_to_cart":true},{"id":58665,"billing_rules":[{"id":136526,"subscription_group_id":58665,"interval_name":"Monthly","billing_rule":"FREQ=MONTHLY","custom_billing_rule":""},{"id":136527,"subscription_group_id":58665,"interval_name":"Bi-Weekly","billing_rule":"FREQ=WEEKLY;INTERVAL=2","custom_billing_rule":""},{"id":136528,"subscription_group_id":58665,"interval_name":"Weekly","billing_rule":"FREQ=WEEKLY","custom_billing_rule":""}],"is_subscription_only":false,"allow_prepaid":false,"allow_dynamic_discount":false,"is_prepaid_only":false,"should_continue_prepaid":true,"continue_prepaid_type":"as_prepaid","prepaid_durations":[{"id":60086,"subscription_group_id":58665,"total_duration":1,"discount_type":"percentage","discount_value":0}],"dynamic_discounts":[{"id":6579,"subscription_group_id":58665,"order_number":1,"discount_type":"percentage","discount_value":0}],"selection_options":[{"platform_entity_id":null}],"discount_type":"percentage","percent_discount":10,"fixed_discount":0,"can_add_to_cart":true},{"id":58666,"billing_rules":[{"id":136529,"subscription_group_id":58666,"interval_name":"Monthly","billing_rule":"FREQ=MONTHLY","custom_billing_rule":""},{"id":136530,"subscription_group_id":58666,"interval_name":"Bi-Weekly","billing_rule":"FREQ=WEEKLY;INTERVAL=2","custom_billing_rule":""}],"is_subscription_only":false,"allow_prepaid":false,"allow_dynamic_discount":false,"is_prepaid_only":false,"should_continue_prepaid":true,"continue_prepaid_type":"as_prepaid","prepaid_durations":[{"id":60087,"subscription_group_id":58666,"total_duration":1,"discount_type":"percentage","discount_value":0}],"dynamic_discounts":[{"id":6580,"subscription_group_id":58666,"order_number":1,"discount_type":"percentage","discount_value":0}],"selection_options":[{"platform_entity_id":null}],"discount_type":"percentage","percent_discount":10,"fixed_discount":0,"can_add_to_cart":true},{"id":58667,"billing_rules":[{"id":136531,"subscription_group_id":58667,"interval_name":"Monthly","billing_rule":"FREQ=MONTHLY","custom_billing_rule":""},{"id":136532,"subscription_group_id":58667,"interval_name":"Bi-Weekly","billing_rule":"FREQ=WEEKLY;INTERVAL=2","custom_billing_rule":""},{"id":136533,"subscription_group_id":58667,"interval_name":"Weekly","billing_rule":"FREQ=WEEKLY","custom_billing_rule":""}],"is_subscription_only":false,"allow_prepaid":false,"allow_dynamic_discount":false,"is_prepaid_only":false,"should_continue_prepaid":true,"continue_prepaid_type":"as_prepaid","prepaid_durations":[{"id":60088,"subscription_group_id":58667,"total_duration":1,"discount_type":"percentage","discount_value":0}],"dynamic_discounts":[{"id":6581,"subscription_group_id":58667,"order_number":1,"discount_type":"percentage","discount_value":0}],"selection_options":[{"platform_entity_id":null}],"discount_type":"percentage","percent_discount":10,"fixed_discount":0,"can_add_to_cart":true},{"id":58668,"billing_rules":[{"id":136534,"subscription_group_id":58668,"interval_name":"Monthly","billing_rule":"FREQ=MONTHLY","custom_billing_rule":""},{"id":136535,"subscription_group_id":58668,"interval_name":"Bi-Weekly","billing_rule":"FREQ=WEEKLY;INTERVAL=2","custom_billing_rule":""},{"id":136536,"subscription_group_id":58668,"interval_name":"Weekly","billing_rule":"FREQ=WEEKLY","custom_billing_rule":""}],"is_subscription_only":false,"allow_prepaid":false,"allow_dynamic_discount":false,"is_prepaid_only":false,"should_continue_prepaid":true,"continue_prepaid_type":"as_prepaid","prepaid_durations":[{"id":60089,"
643subscription_group_id":58668,"total_duration":1,"discount_type":"percentage","discount_value":0}],"dynamic_discounts":[{"id":6582,"subscription_group_id":58668,"order_number":1,"discount_type":"percentage","discount_value":0}],"selection_options":[{"platform_entity_id":null}],"discount_type":"percentage","percent_discount":10,"fixed_discount":0,"can_add_to_cart":true}]; 644 } 645 646 window.BOLD.subscriptions.isFeatureFlagEnabled = function (featureFlag) { 647 for (var i = 0; i < window.BOLD.subscriptions.config.featureFlags.length; i++) { 648 if (window.BOLD.subscriptions.config.featureFlags[i] === featureFlag){ 649 return true; 650 } 651 } 652 return false; 653 } 654 655 window.BOLD.subscriptions.logger = { 656 tag: "bold_subscriptions", 657 // the bold subscriptions log level 658 // 0 - errors (default) 659 // 1 - warnings + errors 660 // 2 - info + warnings + errors 661 // use window.localStorage.setItem('boldSubscriptionsLogLevel', x) to set the log level 662 levels: { 663 ERROR: 0, 664 WARN: 1, 665 INFO: 2, 666 }, 667 level: parseInt((window.localStorage && window.localStorage.getItem('boldSubscriptionsLogLevel')) || "0", 10), 668 _log: function(callArgs, level) { 669 if (!window.console) { 670 return null; 671 } 672 673 if (window.BOLD.subscriptions.logger.level < level) { 674 return; 675 } 676 677 var params = Array.prototype.slice.call(callArgs); 678 params.unshift(window.BOLD.subscriptions.logger.tag); 679 680 switch (level) { 681 case window.BOLD.subscriptions.logger.levels.INFO: 682 console.info.apply(null, params); 683 return; 684 case window.BOLD.subscriptions.logger.levels.WARN: 685 console.warn.apply(null, params); 686 return; 687 case window.BOLD.subscriptions.logger.levels.ERROR: 688 console.error.apply(null, params); 689 return; 690 default: 691 console.log.apply(null, params); 692 return; 693 } 694 }, 695 info: function() { 696 window.BOLD.subscriptions.logger._log(arguments, window.BOLD.subscriptions.logger.levels.INFO); 697 }, 698 warn: function() { 699 window.BOLD.subscriptions.logger._log(arguments, window.BOLD.subscriptions.logger.levels.WARN); 700 }, 701 error: function() { 702 window.BOLD.subscriptions.logger._log(arguments, window.BOLD.subscriptions.logger.levels.ERROR); 703 } 704 } 705 706 window.BOLD.subscriptions.shouldLoadSubscriptionGroupFromAPI = function() { 707 return window.BOLD.subscriptions.config.loadSubscriptionGroupFrom === window.BOLD.subscriptions.config.loadSubscriptionGroupFromTypes['BSUB_API']; 708 } 709 710 window.BOLD.subscriptions.getSubscriptionGroupFromProductId = function (productId) { 711 var data = window.BOLD.subscriptions.data; 712 var foundGroup = null; 713 for (var i = 0; i < data.subscriptionGroups.length; i += 1) { 714 var subscriptionGroup = data.subscriptionGroups[i]; 715 for (var j = 0; j < subscriptionGroup.selection_options.length; j += 1) { 716 var selectionOption = subscriptionGroup.selection_options[j]; 717 if (selectionOption.platform_entity_id === productId.toString()) { 718 foundGroup = subscriptionGroup; 719 break; 720 } 721 } 722 if (foundGroup) { 723 break; 724 } 725 } 726 return foundGroup; 727 }; 728 729 window.BOLD.subscriptions.getSubscriptionGroupById = function(subGroupId) { 730 var subscriptionGroups = window.BOLD.subscriptions.data.subscriptionGroups; 731 732 for (var i = 0; i < subscriptionGroups.length; i += 1) { 733 var subGroup = subscriptionGroups[i]; 734 if (subGroup.id === subGroupId) { 735 return subGroup; 736 } 737 } 738 739 return null; 740 }; 741 742 window.BOLD.subscriptions.addSubscriptionGroup = function (subscriptionGroup) { 743 if(!window.BOLD.subscriptions.getSubscriptionGroupById(subscriptionGroup.id)) 744 { 745 window.BOLD.subscriptions.data.subscriptionGroups.push(subscriptionGroup); 746 } 747 } 748 749 window.BOLD.subscriptions.getSubscriptionGroupPrepaidDurationById = function(subscriptionGroupId, prepaidDurationId) { 750 var subscriptionGroup = window.BOLD.subscriptions.getSubscriptionGroupById(subscriptionGroupId); 751 752 if ( 753 !subscriptionGroup 754 || !subscriptionGroup.prepaid_durations 755 || !subscriptionGroup.prepaid_durations.length 756 ) { 757 return null; 758 } 759 760 for (var i = 0; i < subscriptionGroup.prepaid_durations.length; i++) { 761 var prepaidDuration = subscriptionGroup.prepaid_durations[i]; 762 if (prepaidDuration.id === prepaidDurationId) { 763 return prepaidDuration; 764 } 765 } 766 767 return null; 768 } 769 770 window.BOLD.subscriptions.getSubscriptionGroupBillingRuleById = function(subGroup, billingRuleId) { 771 for (var i = 0; i < subGroup.billing_rules.length; i += 1) { 772 var billingRule = subGroup.billing_rules[i]; 773 if (billingRule.id === billingRuleId) { 774 return billingRule; 775 } 776 } 777 778 return null; 779 }; 780 781 window.BOLD.subscriptions.toggleDisabledAddToCartButtons = function(d) { 782 var addToCartForms = document.querySelectorAll(window.BOLD.subscriptions.config.addToCartFormSelectors.join(',')); 783 var disable = !!d; 784 for (var i = 0; i < addToCartForms.length; i++) { 785 var addToCartForm = addToCartForms[i]; 786 var productId = window.BOLD.subscriptions.getProductIdFromAddToCartForm(
786addToCartForm); 787 var subscriptionGroup = window.BOLD.subscriptions.getSubscriptionGroupFromProductId(productId); 788 789 if(window.BOLD.subscriptions.isFeatureFlagEnabled('BS2-4659_improve_large_group_selection') ) { 790 if (subscriptionGroup || window.BOLD.subscriptions.shouldLoadSubscriptionGroupFromAPI()) { 791 var addToCartButtons = addToCartForm.querySelectorAll(window.BOLD.subscriptions.config.addToCartButtonSelectors.join(',')); 792 for (var j = 0; j < addToCartButtons.length; j++) { 793 var addToCartButton = addToCartButtons[j]; 794 var toggleAction = disable ? addToCartButton.setAttribute : addToCartButton.removeAttribute; 795 796 addToCartButton.disabled = disable; 797 toggleAction.call(addToCartButton, 'data-disabled-by-subscriptions', disable); 798 } 799 } 800 } else { 801 if (subscriptionGroup) { 802 var addToCartButtons = addToCartForm.querySelectorAll(window.BOLD.subscriptions.config.addToCartButtonSelectors.join(',')); 803 for (var j = 0; j < addToCartButtons.length; j++) { 804 var addToCartButton = addToCartButtons[j]; 805 var toggleAction = disable ? addToCartButton.setAttribute : addToCartButton.removeAttribute; 806 807 addToCartButton.disabled = disable; 808 toggleAction.call(addToCartButton, 'data-disabled-by-subscriptions', disable); 809 } 810 } 811 } 812 813 } 814 }; 815 816 window.BOLD.subscriptions.disableAddToCartButtons = function () { 817 // only disable the add to cart buttons if the app isn't loaded yet 818 if (!window.BOLD.subscriptions.app) { 819 window.BOLD.subscriptions.toggleDisabledAddToCartButtons(true); 820 } else { 821 window.BOLD.subscriptions.enableAddToCartButtons(); 822 } 823 }; 824 825 window.BOLD.subscriptions.enableAddToCartButtons = function () { 826 document.removeEventListener('click', window.BOLD.subscriptions.preventSubscriptionAddToCart); 827 window.BOLD.subscriptions.toggleDisabledAddToCartButtons(false); 828 }; 829 830 window.BOLD.subscriptions.toggleDisabledCheckoutButtons = function(d) { 831 var checkoutButtons = document.querySelectorAll(window.BOLD.subscriptions.config.checkoutButtonSelectors.join(',')); 832 var disable = !!d; 833 for (var i = 0; i < checkoutButtons.length; i++) { 834 var checkoutButton = checkoutButtons[i]; 835 var toggleAction = disable ? checkoutButton.setAttribute : checkoutButton.removeAttribute; 836 837 checkoutButton.disabled = disable; 838 toggleAction.call(checkoutButton, 'data-disabled-by-subscriptions', disable); 839 } 840 } 841 842 window.BOLD.subscriptions.disableCheckoutButtons = function() { 843 // only disable the checkout buttons if the app isn't loaded yet 844 if (!window.BOLD.subscriptions.app) { 845 window.BOLD.subscriptions.toggleDisabledCheckoutButtons(true); 846 } else { 847 window.BOLD.subscriptions.enableCheckoutButtons(); 848 } 849 } 850 851 window.BOLD.subscriptions.enableCheckoutButtons = function() { 852 document.removeEventListener('click', window.BOLD.subscriptions.preventCheckout); 853 window.BOLD.subscriptions.toggleDisabledCheckoutButtons(false); 854 } 855 856 window.BOLD.subscriptions.hasSuccessfulAddToCarts = function() { 857 if (typeof(Storage) !== "undefined") { 858 var successfulAddToCarts = JSON.parse( 859 window.localStorage.getItem('boldSubscriptionsSuccessfulAddToCarts') || '[]' 860 ); 861 if (successfulAddToCarts.length > 0) { 862 return true; 863 } 864 } 865 866 return false; 867 } 868 869 window.BOLD.subscriptions.hasPendingAddToCarts = function() { 870 if (typeof(Storage) !== "undefined") { 871 var pendingAddToCarts = JSON.parse( 872 window.localStorage.getItem('boldSubscriptionsPendingAddToCarts') || '[]' 873 ); 874 if (pendingAddToCarts.length > 0) { 875 return true; 876 } 877 } 878 879 return false;
880 } 881 882 window.BOLD.subscriptions.addJSAsset = function(src, deferred) { 883 var scriptTag = document.getElementById('bold-subscriptions-app-embed-script'); 884 var jsElement = document.createElement('script'); 885 jsElement.type = 'text/javascript'; 886 jsElement.src = src; 887 if (deferred) { 888 jsElement.defer = true; 889 } 890 scriptTag.parentNode.insertBefore(jsElement, scriptTag); 891 }; 892 893 window.BOLD.subscriptions.addCSSAsset = function(href) { 894 var scriptTag = document.getElementById('bold-subscriptions-app-embed-script'); 895 var cssElement = document.createElement('link'); 896 cssElement.href = href; 897 cssElement.rel = 'stylesheet'; 898 scriptTag.parentNode.insertBefore(cssElement, scriptTag); 899 }; 900 901 window.BOLD.subscriptions.loadStorefrontAssets = function loadStorefrontAssets() { 902 var assets = window.BOLD.subscriptions.config.assets; 903 window.BOLD.subscriptions.addCSSAsset(window.BOLD.subscriptions.config.assetBaseUrl + '/static/' + assets['storefront.css']); 904 window.BOLD.subscriptions.addJSAsset(window.BOLD.subscriptions.config.assetBaseUrl + '/static/' + assets['storefront.js'], false); 905 }; 906 907 window.BOLD.subscriptions.loadCustomerPortalAssets = function loadCustomerPortalAssets() { 908 if (document.getElementById('customer-portal-root') || document.getElementsByClassName('bsub-express-add-ons-widget')) { 909 var assets = window.BOLD.subscriptions.config.assets; 910 window.BOLD.subscriptions.addCSSAsset(window.BOLD.subscriptions.config.assetBaseUrl + '/static/' + assets['customer_portal.css']); 911 window.BOLD.subscriptions.addJSAsset(window.BOLD.subscriptions.config.assetBaseUrl + '/static/' + assets['customer_portal.js'], true); 912 } 913 }; 914 915 window.BOLD.subscriptions.processManifest = function() { 916 if (!window.BOLD.subscriptions.processedManifest) { 917 window.BOLD.subscriptions.processedManifest = true; 918 window.BOLD.subscriptions.config.assets = JSON.parse(this.responseText); 919 920 921 window.BOLD.subscriptions.loadCustomerPortalAssets(); 922 } 923 }; 924 925 window.BOLD.subscriptions.addInitialLoadingMessage = function() { 926 var customerPortalNode = document.getElementById('customer-portal-root'); 927 if (customerPortalNode && window.BOLD.subscriptions.config.requireMSPInitialLoadingMessage) { 928 customerPortalNode.innerHTML = '<div class="bold-subscriptions-loader-container"><div class="bold-subscriptions-loader"></div></div>'; 929 } 930 } 931 932 window.BOLD.subscriptions.contentLoaded = function() { 933 window.BOLD.subscriptions.data.contentLoadedEventTriggered = true; 934 window.BOLD.subscriptions.addInitialLoadingMessage(); 935 936 }; 937 938 window.BOLD.subscriptions.preventSubscriptionAddToCart = function(e) { 939 if (e.target.matches(window.BOLD.subscriptions.config.addToCartButtonSelectors.join(',')) && e.target.form) { 940 var productId = window.BOLD.subscriptions.getProductIdFromAddToCartForm(e.target.form); 941 var subscriptionGroup = window.BOLD.subscriptions.getSubscriptionGroupFromProductId(productId); 942 if(window.BOLD.subscriptions.isFeatureFlagEnabled('BS2-4659_improve_large_group_selection')) 943 { 944 if (subscriptionGroup || window.BOLD.subscriptions.shouldLoadSubscriptionGroupFromAPI()) { 945 // This code prevents products in subscription groups from being added to the cart before the 946 // Subscriptions app fully loads. Once the subscriptions app loads it will re-enable the 947 // buttons. Use window.BOLD.subscriptions.enableAddToCartButtons enable them manually. 948 e.preventDefault(); 949 return false; 950 } 951 } else { 952 if (subscriptionGroup) { 953 // This code prevents products in subscription groups from being added to the cart before the 954 // Subscriptions app fully loads. Once the subscriptions app loads it will re-enable the 955 // buttons. Use window.BOLD.subscriptions.enableAddToCartButtons enable them manually. 956 e.preventDefault(); 957 return false;
958 } 959 } 960 961 } 962 }; 963 964 window.BOLD.subscriptions.preventCheckout = function(e) { 965 if ( 966 e.target.matches(window.BOLD.subscriptions.config.checkoutButtonSelectors.join(',')) 967 && (window.BOLD.subscriptions.hasSuccessfulAddToCarts() || window.BOLD.subscriptions.hasPendingAddToCarts()) 968 ) { 969 // This code prevents checkouts on the shop until the Subscriptions app fully loads. 970 // When the Subscriptions app is ready it will enable the checkout buttons itself. 971 // Use window.BOLD.subscriptions.enableCheckoutButtons to enable them manually. 972 e.preventDefault(); 973 return false; 974 } 975 } 976 977 if (!window.BOLD.subscriptions.config.legacyAssetsLoaded) { 978 979 document.addEventListener('DOMContentLoaded', window.BOLD.subscriptions.contentLoaded); 980 } 981 982 if (!Element.prototype.matches) { 983 Element.prototype.matches = 984 Element.prototype.matchesSelector || 985 Element.prototype.mozMatchesSelector || 986 Element.prototype.msMatchesSelector || 987 Element.prototype.oMatchesSelector || 988 Element.prototype.webkitMatchesSelector || 989 function(s) { 990 var matches = (this.document || this.ownerDocument).querySelectorAll(s), 991 i = matches.length; 992 while (--i >= 0 && matches.item(i) !== this) {} 993 return i > -1; 994 }; 995 } 996 997 if (!Element.prototype.closest) { 998 Element.prototype.closest = function(s) { 999 var el = this; 1000 1001 do { 1002 if (Element.prototype.matches.call(el, s)) return el; 1003 el = el.parentElement || el.parentNode; 1004 } while (el !== null && el.nodeType === 1); 1005 return null; 1006 }; 1007 } 1008 1009 window.BOLD.subscriptions.setVisibilityOfAdditionalCheckoutButtons = function (isVisible) { 1010 if (window.BOLD.subscriptions.config.additionalCheckoutSelectors === undefined) { 1011 return; 1012 } 1013 1014 var selectors = window.BOLD.subscriptions.config.additionalCheckoutSelectors; 1015 1016 for (var i = 0; i < selectors.length; i++) { 1017 var elements = document.querySelectorAll(selectors[i]); 1018 1019 for (var j = 0; j < elements.length; j++) { 1020 elements[j].style.display = isVisible ? 'block' : 'none'; 1021 } 1022 } 1023 } 1024 1025 window.BOLD.subscriptions.hideAdditionalCheckoutButtons = function() { 1026 window.BOLD.subscriptions.setVisibilityOfAdditionalCheckoutButtons(false); 1027 }; 1028 1029 window.BOLD.subscriptions.showAdditionalCheckoutButtons = function() { 1030 window.BOLD.subscriptions.setVisibilityOfAdditionalCheckoutButtons(true); 1031 }; 1032 1033 window.BOLD.subscriptions.enhanceMspUrls = function(data) { 1034 var mspUrl = 'https://sub.boldapps.net/shop/19591/customer_portal'; 1035 var elements = document.querySelectorAll("a[href='"+mspUrl+"']"); 1036 1037 if(!elements.length || !data.success) { 1038 return; 1039 } 1040 1041 for (var i = 0; i < elements.length; i++) { 1042 elements[i].href = elements[i].href + "?jwt="+data.value.jwt+"&customerId="+data.value.customerId; 1043 } 1044 }; 1045 1046 if (!window.BOLD.subscriptions.config.legacyAssetsLoaded) { 1047 window.addEventListener('load', function () { 1048 if (document.getElementById('customer-portal-root')) { 1049 window.BOLD.subscriptions.getJWT(window.BOLD.subscriptions.enhanceMspUrls); 1050 } 1051 }); 1052 1053 // This will be called immediately 1054 // Use this anonymous function to avoid polluting the global namespace 1055 (function() { 1056 var xhr = new XMLHttpRequest(); 1057 xhr.addEventListener('load', window.BOLD.subscriptions.processManifest); 1058 xhr.open('GET', window.BOLD.subscriptions.config.assetBaseUrl + '/static/manifest.json?t=' + (new Date()).getTime()); 1059 xhr.send(); 1060 })() 1061 } 1062 1063 window.BOLD.subscriptions.patches.patchCashier = function() { 1064 if (window.BOLD && window.BOLD.checkout) { 1065 window.BOLD.checkout.disable(); 1066 window.BOLD.checkout.listenerFn = window.BOLD.subscriptions.patches.cashierListenerFn; 1067 window.BOLD.checkout.enable(); 1068 } else if (window.BOLD.subscriptions.patches.currentCashierPatchAttempts < window.BOLD.subscriptions.patches.maxCashierPatchAttempts) { 1069 window.BOLD.subscriptions.patches.currentCashierPatchAttempts++; 1070 setTimeout(window.BOLD.subscriptions.patches.patchCashier, 100); 1071 } 1072 }; 1073 1074 window.BOLD.subscriptions.patches.finishCheckout = function(event, form, cart) { 1075 window.BOLD.subscriptions.patches.currentCheckoutRetries++; 1076 1077 if (!window.BOLD.subscriptions.app 1078 && window.BOLD.subscriptions.patches.currentCheckoutRetries < window.BOLD.subscriptions.patches.maxCheckoutRetries 1079 ) { 1080 setTimeout(function () { window.BOLD.subscriptions.patches.finishCheckout(event, form, cart); }, 100); 1081 return; 1082 } else if (window.BOLD.subscriptions.app) { 1083 window.BOLD.subscriptions.patches.currentCheckoutRetries = 0; 1084 window.BOLD.subscriptions.app.addCartParams(form, cart); 1085 } 1086 1087 var noSubscriptions = false;
1088 if ((window.BOLD.subscriptions.app && window.BOLD.subscriptions.app.successfulAddToCarts.length === 0) 1089 || !window.BOLD.subscriptions.app 1090 ) { 1091 noSubscriptions = true; 1092 event.target.dataset.cashierConfirmedNoPlugins = true; 1093 1094 if (window.BOLD.subscriptions.setCashierFeatureToken) { 1095 window.BOLD.subscriptions.setCashierFeatureToken(false); 1096 } 1097 } 1098 1099 if ((noSubscriptions && window.BOLD.subscriptions.config.cashierPluginOnlyMode) 1100 || (typeof BOLD.checkout.isFeatureRequired === 'function' && !BOLD.checkout.isFeatureRequired()) 1101 ) { 1102 // send them to the original checkout when in plugin only mode 1103 // and either BSUB is there but there are no subscription products 1104 // or BSUB isn't there at all 1105 if (form.dataset.old_form_action) { 1106 form.action = form.dataset.old_form_action; 1107 } 1108 event.target.click(); 1109 } else { 1110 // sends them to Cashier since BSUB got a chance to add it's stuff 1111 // and plugin only mode is not enabled 1112 form.submit(); 1113 } 1114 }; 1115</script>
vendor: 1 bytes, line 1115
1115
1116<script id="bold-subscriptions-app-embed-platform-script" type="text/javascript" defer> 1117 window.BOLD.subscriptions.config.shopPlatformId = '2337869'; 1118 window.BOLD.subscriptions.config.appSlug = 'subscriptions'; 1119 1120 window.BOLD = window.BOLD || {}; 1121 window.BOLD.subscriptions = window.BOLD.subscriptions || {}; 1122 window.BOLD.subscriptions.data = window.BOLD.subscriptions.data || {}; 1123 window.BOLD.subscriptions.data.platform = window.BOLD.subscriptions.data.platform || {}; 1124 window.BOLD.subscriptions.data.platform.customer = { id: '' }; 1125 window.BOLD.subscriptions.data.platform.product = {"id":9218078736558,"title":"Rwanda - Rulindo Murambi - Washed","handle":"rwanda-rulindo-murambi","description":"\u003cp\u003eThis lot of Rulindo Murambi was grown by more than 170 family owned farms in Rwanda's Gatsibo district. Smallholder farmers bring their cherries to the centralized Murambi washing station where they are processed with safer, more modernized machinery than individual farmers are able to access. Murambi begins the processing with the quality control method of hand sorting and floating the cherries in water. They are then depulped and fermented. The fermentation process is halted by a 18-24 hour freshwater soak, after which the parchment is washed for a second time. Washing station workers perform a final round of quality control by meticulously hand sorting the parchment on pre-drying tables while it is gently dried to the touch. After removing any parchment with defects from the lot, they transfer it to fully exposed drying tables for 14-21 days. \u003c\/p\u003e\n\u003cp\u003eWe love this coffee's bright opening plum notes, which meld into smooth dark chocolate and the rich sweetness of brown sugar. Brew it as a pourover for more prominent fruit notes or try it as espresso to bring out its complex chocolate flavor!\u003c\/p\u003e","published_at":"2026-09-08T10:33:08-07:00","created_at":"2026-08-22T14:27:54-07:00","vendor":"Blossom Coffee Roasters","type":"Coffee","tags":["Africa","Bottomless","Coffee","Light roast","Rwanda","specialty coffee","Washed"],"price":2250,"price_min":2250,"price_max":11000,"available":true,"price_varies":true,"compare_at_price":null,"compare_at_price_min":0,"compare_at_price_max":0,"compare_at_price_varies":false,"variants":[{"id":48930908635310,"title":"12oz","option1":"12oz","option2":null,"option3":null,"sku":null,"requires_shipping":true,"taxable":true,"featured_image":{"id":45430876766382,"product_id":9218078736558,"position":1,"created_at":"2026-09-08T10:32:00-07:00","updated_at":"2026-09-08T10:32:02-07:00","alt":null,"width":2654,"height":2653,"src":"\/\/blossomcoffeeroasters.com\/cdn\/shop\/files\/Rwanda_Rulindo_Washed.jpg?v=1788888722","variant_ids":[48930908635310]},"available":true,"name":"Rwanda - Rulindo Murambi - Washed - 12oz","public_title":"12oz","options":["12oz"],"price":2250,"weight":0,"compare_at_price":null,"inventory_quantity":-6,"inventory_management":null,"inventory_policy":"deny","barcode":null,"featured_media":{"alt":null,"id":35956263452846,"position":1,"preview_image":{"aspect_ratio":1.0,"height":2653,"width":2654,"src":"\/\/blossomcoffeeroasters.com\/cdn\/shop\/files\/Rwanda_Rulindo_Washed.jpg?v=1788888722"}},"requires_selling_plan":false,"selling_plan_allocations":[{"price_adjustments":[{"position":1,"price":1800},{"position":2,"price":2025}],"price":1800,"compare_at_price":2250,"per_delivery_price":1800,"selling_plan_id":3594158254,"selling_plan_group_id":"52d60c9a87e98523ff88ad283e61aad784cf310a"}],"quantity_rule":{"min":1,"max":null,"increment":1}},{"id":48930908668078,"title":"1lb","option1":"1lb","option2":null,"option3":null,"sku":null,"requires_shipping":true,"taxable":true,"featured_image":{"id":45430876799150,"product_id":9218078736558,"position":2,"created_at":"2026-09-08T10:32:00-07:00","updated_at":"2026-09-08T10:32:02-07:00","alt":null,"width":1125,"height":675,"src":"\/\/blossomcoffeeroasters.com\/cdn\/shop\/files\/Rwanda_Rulindo_Washed_de17d574-4f51-467a-a23d-86ef009a7d53.jpg?v=1788888722","variant_ids":[48930908668078,48930908700846,48930908733614]},"available":true,"name":"Rwanda - Rulindo Murambi - Washed - 1lb","public_title":"1lb","options":["1lb"],"price":2600,"weight":0,"compare_at_price":null,"inventory_quantity":-4,"inventory_management":null,"inventory_policy":"deny","barcode":null,"featured_media":{"alt":null,"id":35956263649454,"position":2,"preview_image":{"aspect_ratio":1.667,"height":675,"width":1125,"src":"\/\/blossomcoffeeroasters.com\/cdn\/shop\/files\/Rwanda_Rulindo_Washed_de17d574-4f51-467a-a23d-86ef009a7d53.jpg?v=1788888722"}},"requires_selling_plan":false,"selling_plan_allocations":[],"quantity_rule":{"min":1,"max":null,"increment":1}},{"id":48930908700846,"title":"2lb","option1":"2lb","option2":null,"option3":null,"sku":null,"requires_shipping":true,"taxable":true,"featured_image":{"id":45430876799150,"product_id":9218078736558,"position":2,"created_at":"2026-09-08T10:32:00-07:00","updated_at":"2026-09-08T10:32:02-07:00","alt":null,"width":1125,"height":675,"src":"\/\/blossomcoffeeroasters.com\/cdn\/shop\/files\/Rwanda_Rulindo_Washed_de17d574-4f51-467a-a23d-86ef009a7d53.jpg?v=1788888722","variant_ids":[48930908668078,48930908700846,48930908733614]},"available":true,"name":"Rwanda - Rulindo Murambi - Washed - 2lb","public_title":"2lb","options":["2lb"],"price":4800,"weight":0,"compare_at_price":null,"inventory_quantity":-1,"inventory_management":null,"inventory_policy":"deny","barcode":null,"featured_media":{"alt":null,"id":35956263649454,"position":2,"preview_image":{"aspect_ratio":1.667,"height":675,"width":1125,"src":"\/\/blossomcoffeeroasters.com\/cdn\/shop\/files\/Rwanda_Rulindo_Washed_de17d574-4f51-467a-a23d-86ef009a7d53.jpg?v=1788888722"}},"requires_selling_plan":false,"selling_plan_allocations":[{"price_adjustments":[{"position":1,"price":3840},{"position":2,"price":4320}],"price":3840,"compare_at_price":4800,"per_delivery_price":3840,"selling_plan_id":3594158254,"selling_plan_group_id":"52d60c9a87e98523ff88ad283e61aad784cf310a"}],"quantity_rule":{"min":1,"max":null,"increment":1}},{"id":48930908733614,"title":"5lb","option1":"5lb","option2":null,"option3":null,"sku":null,"requires_shipping":true,"taxable":true,"featured_image":{"id":45430876799150,"product_id":9218078736558,"position":2,"created_at":"2026-09-08T10:32:00-07:00","updated_at":"2026-09-08T10:32:02-07:00","alt":null,"width":1125,"height":675,"src":"\/\/blossomcoffeeroasters.com\/cdn\/shop\/files\/Rwanda_Rulindo_Washed_de17d574-4f51-467a-a23d-86ef009a7d53.jpg?v=1788888722","variant_ids":[48930908668078,48930908700846,48930908733614]},"available":true,"name":"Rwanda - Rulindo Murambi - Washed - 5lb","public_title":"5lb","options":["5lb"],"price":11000,"weight":0,"compare_at_price":null,"inventory_quantity":0,"inventory_management":null,"inventory_policy":"deny","barcode":null,"featured_media":{"alt":null,"id":35956263649454,"position":2,"preview_image":{"aspect_ratio":1.667,"height":675,"width":1125,"src":"\/\/blossomcoffeeroasters.com\/cdn\/shop\/files\/Rwanda_Rulindo_Washed_de17d574-4f51-467a-a23d-86ef009a7d53.jpg?v=1788888722"}},"requires_selling_plan":false,"selling_plan_allocations":[{"price_adjustments":[{"position":1,"price":8800},{"position":2,"price":9900}],"price":8800,"compare_at_price":11000,"per_delivery_price":8800,"selling_plan_id":3594158254,"selling_plan_group_id":"52d60c9a87e98523ff88ad283e61aad784cf310a"}],"quantity_rule":{"min":1,"max":null,"increment":1}}],"images":["\/\/blossomcoffeeroasters.com\/cdn\/shop\/files\/Rwanda_Rulindo_Washed.jpg?v=1788888722","\/\/blossomcoffeeroasters.com\/cdn\/shop\/files\/Rwanda_Rulindo_Washed_de17d574-4f51-467a-a23d-86ef009a7d53.jpg?v=1788888722","\/\/blossomcoffeeroasters.com\/cdn\/shop\/files\/Rwanda-Rulindo-Murambi1.jpg?v=1787433962","\/\/blossomcoffeeroasters.com\/cdn\/shop\/files\/Rwanda-Rulindo-Murambi2.jpg?v=1787433976","\/\/blossomcoffeeroasters.com\/cdn\/shop\/files\/Rwanda-Rulindo-Murambi3.jpg?v=1787433980"],"featured_image":"\/\/blossomcoffeeroasters.com\/cdn\/shop\/files\/Rwanda_Rulindo_Washed.jpg?v=1788888722","options":["Size"],"media":[{"alt":null,"id":35956263452846,"position":1,"preview_image":{"aspect_ratio":1.0,"height":2653,"width":2654,"
1125src":"\/\/blossomcoffeeroasters.com\/cdn\/shop\/files\/Rwanda_Rulindo_Washed.jpg?v=1788888722"},"aspect_ratio":1.0,"height":2653,"media_type":"image","src":"\/\/blossomcoffeeroasters.com\/cdn\/shop\/files\/Rwanda_Rulindo_Washed.jpg?v=1788888722","width":2654},{"alt":null,"id":35956263649454,"position":2,"preview_image":{"aspect_ratio":1.667,"height":675,"width":1125,"src":"\/\/blossomcoffeeroasters.com\/cdn\/shop\/files\/Rwanda_Rulindo_Washed_de17d574-4f51-467a-a23d-86ef009a7d53.jpg?v=1788888722"},"aspect_ratio":1.667,"height":675,"media_type":"image","src":"\/\/blossomcoffeeroasters.com\/cdn\/shop\/files\/Rwanda_Rulindo_Washed_de17d574-4f51-467a-a23d-86ef009a7d53.jpg?v=1788888722","width":1125},{"alt":null,"id":35690512548014,"position":3,"preview_image":{"aspect_ratio":1.499,"height":683,"width":1024,"src":"\/\/blossomcoffeeroasters.com\/cdn\/shop\/files\/Rwanda-Rulindo-Murambi1.jpg?v=1787433962"},"aspect_ratio":1.499,"height":683,"media_type":"image","src":"\/\/blossomcoffeeroasters.com\/cdn\/shop\/files\/Rwanda-Rulindo-Murambi1.jpg?v=1787433962","width":1024},{"alt":null,"id":35690512973998,"position":4,"preview_image":{"aspect_ratio":1.499,"height":683,"width":1024,"src":"\/\/blossomcoffeeroasters.com\/cdn\/shop\/files\/Rwanda-Rulindo-Murambi2.jpg?v=1787433976"},"aspect_ratio":1.499,"height":683,"media_type":"image","src":"\/\/blossomcoffeeroasters.com\/cdn\/shop\/files\/Rwanda-Rulindo-Murambi2.jpg?v=1787433976","width":1024},{"alt":null,"id":35690513006766,"position":5,"preview_image":{"aspect_ratio":1.499,"height":683,"width":1024,"src":"\/\/blossomcoffeeroasters.com\/cdn\/shop\/files\/Rwanda-Rulindo-Murambi3.jpg?v=1787433980"},"aspect_ratio":1.499,"height":683,"media_type":"image","src":"\/\/blossomcoffeeroasters.com\/cdn\/shop\/files\/Rwanda-Rulindo-Murambi3.jpg?v=1787433980","width":1024}],"requires_selling_plan":false,"selling_plan_groups":[{"id":"52d60c9a87e98523ff88ad283e61aad784cf310a","name":"Subscribe by Usage","options":[{"name":"Delivery every","position":1,"values":["1 Week"]}],"selling_plans":[{"id":3594158254,"name":"20% off this order, 10% off next orders","description":null,"options":[{"name":"Delivery every","position":1,"value":"1 Week"}],"recurring_deliveries":false,"price_adjustments":[{"order_count":1,"position":1,"value_type":"percentage","value":20},{"order_count":null,"position":2,"value_type":"percentage","value":10}],"checkout_charge":{"value_type":"percentage","value":100}}],"app_id":"bottomless-dynamic-subscription"}],"content":"\u003cp\u003eThis lot of Rulindo Murambi was grown by more than 170 family owned farms in Rwanda's Gatsibo district. Smallholder farmers bring their cherries to the centralized Murambi washing station where they are processed with safer, more modernized machinery than individual farmers are able to access. Murambi begins the processing with the quality control method of hand sorting and floating the cherries in water. They are then depulped and fermented. The fermentation process is halted by a 18-24 hour freshwater soak, after which the parchment is washed for a second time. Washing station workers perform a final round of quality control by meticulously hand sorting the parchment on pre-drying tables while it is gently dried to the touch. After removing any parchment with defects from the lot, they transfer it to fully exposed drying tables for 14-21 days. \u003c\/p\u003e\n\u003cp\u003eWe love this coffee's bright opening plum notes, which meld into smooth dark chocolate and the rich sweetness of brown sugar. Brew it as a pourover for more prominent fruit notes or try it as espresso to bring out its complex chocolate flavor!\u003c\/p\u003e"}; 1126 window.BOLD.subscriptions.data.platform.products = []; 1127 window.BOLD.subscriptions.data.platform.variantProductMap = {}; 1128 1129 window.BOLD.subscriptions.getProductByVariantId = function(variantId) { 1130 if (window.BOLD.subscriptions.data.platform.product && 1131 window.BOLD.subscriptions.data.platform.product.variants) { 1132 for (var i = 0; i < window.BOLD.subscriptions.data.platform.product.variants.length; i++) { 1133 if (window.BOLD.subscriptions.data.platform.product.variants[i].id === variantId) { 1134 return window.BOLD.subscriptions.data.platform.product; 1135 } 1136 } 1137 } 1138 1139 if (window.BOLD.subscriptions.data.platform.variantProductMap[variantId]) { 1140 return window.BOLD.subscriptions.data.platform.variantProductMap[variantId]; 1141 } 1142 1143 var productElements = document.querySelectorAll('[data-product-id]'); 1144 for (var i = 0; i < productElements.length; i++) { 1145 var productJsonElement = productElements[i].querySelector('[data-product-json]'); 1146 1147 if (productJsonElement) { 1148 try { 1149 var productData = JSON.parse(productJsonElement.textContent); 1150 if (productData && productData.variants) { 1151 for (var j = 0; j < productData.variants.length; j++) { 1152 if (productData.variants[j].id === variantId) { 1153 return productData; 1154 } 1155 } 1156 } 1157 } catch (e) { 1158 // Continue if parsing fails 1159 } 1160 } 1161 } 1162 1163 return null; 1164 } 1165 1166 window.BOLD.subscriptions.config.addToCartFormSelectors.push( 1167 '.product-form.product-form-product-template:not(.bold-subscriptions-no-widget)' 1168 ,'.product-form.product-form--payment-button:not(.bold-subscriptions-no-widget)' 1169 ); 1170 window.BOLD.subscriptions.config.addToCartButtonSelectors.push('[type="submit"]'); 1171 window.BOLD.subscriptions.config.quickAddToCartButtonSelectors.push('a[data-event-type="product-click"]'); 1172 window.BOLD.subscriptions.config.widgetInsertBeforeSelectors.push('[type="submit"]'); 1173 window.BOLD.subscriptions.config.cartElementSelectors.push('form[action="/cart"]'); 1174 window.BOLD.subscriptions.config.cartTotalElementSelectors.push('[data-cart-subtotal]', '.text-right .ajaxcart__subtotal'); 1175 window.BOLD.subscriptions.config.checkoutButtonSelectors.push( 1176 '[name="checkout"]', 1177 '[href*="checkout"]:not([href*="tools/checkout"])', 1178 '[onclick*="checkout"]:not([onclick*="tools/checkout"])', 1179 ); 1180 1181 // Discount text markup template 1182 1183 window.BOLD.subscriptions.config.discountItemTemplate = '<div class="bold-subscriptions-discount"><div class="bold-subscriptions-discount__details">{{details}}</div><div class="bold-subscriptions-discount__total">{{total}}</div></div>'; 1184 1185 1186 window.BOLD.subscriptions.getProductIdFromAddToCartForm = function(addToCartForm) { 1187 var idInput = addToCartForm.querySelector('[name="id"]'); 1188 if (idInput === null) { 1189 window.BOLD.subscriptions.logger.error('could not get variant id input from add to cart form â make sure your form has an input with [name="id"]') 1190 return null; 1191 } 1192 1193 var variantId = parseInt(idInput.value, 10); 1194 if (isNaN(variantId)) { 1195 window.BOLD.subscriptions.logger.error('could not parse variant id from [name="id"] input') 1196 return null; 1197 } 1198 1199 var product = window.BOLD.subscriptions.getProductByVariantId(variantId); 1200 1201 if (product === undefined || product === null) { 1202 window.BOLD.subscriptions.logger.error('could not find product data for variant id ' + variantId + ' â product data may not be available on this page') 1203 return null; 1204 } 1205 1206 return product.id; 1207 }; 1208 1209 window.BOLD.subscriptions.getAddToCartForms = function() { 1210 var forms = [];
1211 var idInputs = document.querySelectorAll('[name="id"]'); 1212 1213 for (var i = 0; i < idInputs.length; i++) { 1214 var idInput = idInputs[i]; 1215 var form = idInput.closest('form:not(.bold-subscriptions-no-widget)'); 1216 if (form) { 1217 forms.push(form); 1218 } 1219 } 1220 1221 return forms; 1222 }; 1223 1224 window.BOLD.subscriptions.getJWT = function (callback) { 1225 if(window.BOLD.subscriptions.data.platform.customer.id !== '') { 1226 var shopPlatformId = '2337869'; 1227 var appSlug = 'subscriptions'; 1228 var customerPlatformId = window.BOLD.subscriptions.data.platform.customer.id; 1229 var proxyPath = '/apps/app-proxy/customers/v1/shops/'+shopPlatformId+'/apps/'+appSlug+'/customers/pid/'+customerPlatformId+'/jwt'; 1230 1231 var xmlhttp = new XMLHttpRequest(); 1232 1233 xmlhttp.onreadystatechange = function() { 1234 if (xmlhttp.readyState === window.BOLD.subscriptions.config.XMLHttpRequest.DONE) { 1235 if (xmlhttp.status === 200) { 1236 var data = JSON.parse(xmlhttp.responseText); 1237 callback({ 1238 success: true, 1239 value: { 1240 jwt: data.bold_platform_jwt, 1241 customerId: window.BOLD.subscriptions.data.platform.customer.id, 1242 }, 1243 }); 1244 } else if (xmlhttp.status === 404) { 1245 callback({ 1246 success: false, 1247 error: 'not_logged_in', 1248 }); 1249 } else { 1250 callback({ 1251 success: false, 1252 error: 'unknown', 1253 }); 1254 } 1255 } 1256 }; 1257 1258 xmlhttp.open("GET", proxyPath, true); 1259 xmlhttp.setRequestHeader('Accept', 'application/liquid'); 1260 xmlhttp.send(); 1261 } else { 1262 callback({ 1263 success: false, 1264 error: 'not_logged_in', 1265 }); 1266 } 1267 }; 1268 1269 window.BOLD.subscriptions.setCashierFeatureToken = function(value) { 1270 if (window.BOLD.checkout_features_defaults && window.BOLD.subscriptions.config.cashierApplicationUUID) { 1271 window.BOLD.checkout_features_defaults.forEach(function(item) { 1272 if (item.id === window.BOLD.subscriptions.config.cashierApplicationUUID) { 1273 item.require = value; 1274 } 1275 }); 1276 } 1277 }; 1278 1279 // Cashier patches 1280 window.BOLD.subscriptions.patches.cashierListenerFn = function(event) { 1281 if (window.BOLD.checkout.isCheckoutButton(event.target) && window.BOLD.checkout.isEnabled()) { 1282 window.BOLD.subscriptions.patches.pushToCashier(event); 1283 } else if(window.BOLD.checkout.isCheckoutButton(event.target) && typeof window.cashier_installed_on_site === 'undefined') { 1284 var request = new XMLHttpRequest(); 1285 request.open('HEAD', '/apps/checkout/isInstalled', false); 1286 request.send(null); 1287 1288 if(request.status >= 200 && request.status < 400) { 1289 window.BOLD.subscriptions.patches.pushToCashier(event); 1290 } else { 1291 window.cashier_installed_on_site = false; 1292 } 1293 } 1294 }; 1295 1296 window.BOLD.subscriptions.localTime = function() { 1297 var localDate = new Date(); 1298 return localDate.getTime(); 1299 }; 1300 1301 1302 window.BOLD.subscriptions.patches.pushToCashier = function(event) { 1303 event.preventDefault(); 1304 var form = window.BOLD.checkout.getForm(event.target); 1305 var formData = new FormData(form); 1306 var request = new XMLHttpRequest(); 1307 request.open('POST', '/cart/update.js?tmp=' + Date.now(), true); 1308 request.setRequestHeader('Content-type', 'application/x-www-form-urlencoded'); 1309 1310 request.onload = function() { 1311 if (request.status >= 200 && request.status < 400) { 1312 // Success! 1313 var cart = JSON.parse(request.responseText); 1314 1315 // If items are empty redirect back to the cart 1316 if (cart.items.length === 0) { 1317 return window.location.href = '/cart'; 1318 } 1319
1320 cart.items.forEach(function(element) { 1321 delete element.product_description; 1322 }); 1323 1324 if (document.getElementById('CartSpecialInstructions')) { 1325 // If the cart note exists, grab its value 1326 cart.note = document.getElementById('CartSpecialInstructions').value; 1327 } 1328 1329 var cartObj = JSON.stringify(cart); 1330 1331 var form = window.BOLD.checkout.getForm(event.target); 1332 form.dataset.old_form_action = form.action; 1333 form.action = '/apps/checkout/begin-checkout' + googleAnalyticsGetParamString({}); 1334 var cartCookie = window.BOLD.checkout.getCookie('cart'); 1335 var element = document.createElement('INPUT'); 1336 element.type = 'HIDDEN'; 1337 element.name = 'cart_id'; 1338 element.value = cartCookie; 1339 form.appendChild(element); 1340 1341 var dateElement = document.createElement('INPUT'); 1342 dateElement.type = 'HIDDEN'; 1343 dateElement.name = 'checkout_local_time'; 1344 dateElement.value = window.BOLD.subscriptions.localTime(); 1345 form.appendChild(dateElement); 1346 1347 var cartElement = document.createElement('INPUT'); 1348 cartElement.type = 'HIDDEN'; 1349 cartElement.name = 'cart'; 1350 cartElement.value = cartObj; 1351 form.appendChild(cartElement); 1352 form.method = 'POST'; 1353 1354 if(window.BOLD && window.BOLD.checkout && typeof window.BOLD.checkout.languageIsoCode === 'string') { 1355 var langInput = document.createElement('INPUT'); 1356 langInput.type = 'HIDDEN'; 1357 langInput.name = 'language_iso'; 1358 langInput.value = window.BOLD.checkout.languageIsoCode; 1359 form.appendChild(langInput); 1360 } 1361 1362 if (window.BOLD && window.BOLD.common && typeof window.BOLD.common.eventEmitter === 'object' && typeof window.BOLDCURRENCY !== 'undefined') { 1363 window.BOLD.common.eventEmitter.emit('BOLD_CASHIER_checkout', {target: form}); 1364 } 1365 1366 window.BOLD.subscriptions.patches.finishCheckout(event, form, cart); 1367 } 1368 }; 1369 1370 request.send(formData); 1371 }; 1372 1373 1374</script>
1374 1375 1376 1377<!-- END app block --><!-- BEGIN app block: shopify://apps/judge-me-reviews/blocks/judgeme_core/61ccd3b1-a9f2-4160-9fe9-4fec8413e5d8 --><!-- Start of Judge.me Core --> 1378 1379 1380 1381 1382 1383 1384 1385<link rel="dns-prefetch" href="https://cdn.judge.me"> 1386<link rel="dns-prefetch" href="https://cdn1.judge.me"> 1387<link rel="dns-prefetch" href="https://api.judge.me"> 1388
1389<script data-cfasync='false' class='jdgm-settings-script'>window.jdgmSettings={"pagination":5,"disable_web_reviews":false,"coupon_receiving_condition":"","coupon_value_type":"percentage","coupon_value_percentage":10,"coupon_value_fixed_amount":0,"coupon_discount_type":"single","coupon_tier_text_enabled":false,"coupon_tier_text_percentage":10,"coupon_tier_text_fixed_amount":0,"coupon_tier_photo_enabled":false,"coupon_tier_photo_percentage":10,"coupon_tier_photo_fixed_amount":0,"coupon_tier_video_enabled":false,"coupon_tier_video_percentage":10,"coupon_tier_video_fixed_amount":0,"enable_coupons":false,"badge_no_review_text":"No reviews","badge_n_reviews_text":"{{ n }} review/reviews","hide_badge_preview_if_no_reviews":true,"badge_hide_text":false,"enforce_center_preview_badge":false,"widget_title":"Customer Reviews","widget_open_form_text":"Write a review","widget_close_form_text":"Cancel review","widget_refresh_page_text":"Refresh page","widget_summary_text":"Based on {{ number_of_reviews }} review/reviews","widget_no_review_text":"Be the first to write a review","widget_name_field_text":"Display name","widget_verified_name_field_text":"Verified Name (public)","widget_name_placeholder_text":"Display name","widget_required_field_error_text":"This field is required.","widget_email_field_text":"Email address","widget_verified_email_field_text":"Verified Email (private, can not be edited)","widget_email_placeholder_text":"Your email address","widget_email_field_error_text":"Please enter a valid email address.","widget_rating_field_text":"Rating","widget_review_title_field_text":"Review Title","widget_review_title_placeholder_text":"Give your review a title","widget_review_body_field_text":"Review content","widget_review_body_placeholder_text":"Start writing here...","widget_pictures_field_text":"Picture/Video (optional)","widget_submit_review_text":"Submit Review","widget_submit_verified_review_text":"Submit Verified Review","widget_submit_success_msg_with_auto_publish":"Thank y
1389ou! Please refresh the page in a few moments to see your review. You can remove or edit your review by logging into \u003ca href='https://judge.me/login' target='_blank' rel='nofollow noopener'\u003eJudge.me\u003c/a\u003e","widget_submit_success_msg_no_auto_publish":"Thank you! Your review will be published as soon as it is approved by the shop admin. You can remove or edit your review by logging into \u003ca href='https://judge.me/login' target='_blank' rel='nofollow noopener'\u003eJudge.me\u003c/a\u003e","widget_show_default_reviews_out_of_total_text":"Showing {{ n_reviews_shown }} out of {{ n_reviews }} reviews.","widget_show_all_link_text":"Show all","widget_show_less_link_text":"Show less","widget_author_said_text":"{{ reviewer_name }} said:","widget_days_text":"{{ n }} days ago","widget_weeks_text":"{{ n }} week/weeks ago","widget_months_text":"{{ n }} month/months ago","widget_years_text":"{{ n }} year/years ago","widget_yesterday_text":"Yesterday","widget_today_text":"Today","widget_replied_text":"\u003e\u003e {{ shop_name }} replied:","widget_read_more_text":"Read more","widget_reviewer_name_as_initial":"","widget_rating_filter_color":"","widget_rating_filter_see_all_text":"See all reviews","widget_sorting_most_recent_text":"Most Recent","widget_sorting_highest_rating_text":"Highest Rating","widget_sorting_lowest_rating_text":"Lowest Rating","widget_sorting_with_pictures_text":"Only Pictures","widget_sorting_most_helpful_text":"Most Helpful","widget_open_question_form_text":"Ask a question","widget_reviews_subtab_text":"Reviews","widget_questions_subtab_text":"Questions","widget_question_label_text":"Question","widget_answer_label_text":"Answer","widget_question_placeholder_text":"Write your question here","widget_submit_question_text":"Submit Question","widget_question_submit_success_text":"Thank you for your question! We will notify you once it gets answered.","verified_badge_text":"Verified","verified_badge_bg_color":"","verified_badge_text_color":"","verified_badge_placement":"left-of-reviewer-name","widget_review_max_height":"","widget_hide_border":false,"widget_social_share":false,"widget_thumb":false,"widget_review_location_show":false,"widget_location_format":"","all_reviews_include_out_of_store_products":true,"all_reviews_out_of_store_text":"(out of store)","all_reviews_pagination":100,"all_reviews_product_name_prefix_text":"about","enable_review_pictures":true,"enable_question_anwser":false,"widget_theme":"","review_date_format":"mm/dd/yyyy","default_sort_method":"most-recent","enable_ai_review_visibility":true,"widget_product_reviews_subtab_text":"Product Reviews","widget_shop_reviews_subtab_text":"Shop Reviews","widget_other_products_reviews_text":"Reviews for other products","widget_store_reviews_subtab_text":"Store reviews","widget_product_variant_reference_text":"Review for","widget_no_store_reviews_text":"This store hasn't received any reviews yet","widget_web_restriction_product_reviews_text":"This product hasn't received any reviews yet","widget_no_items_text":"No items found","widget_show_more_text":"Show more","widget_write_a_store_review_text":"Write a Store Review","widget_product_and_store_reviews_text":"Product and store reviews","widget_reviews_in_collection_text":"Reviews in this collection","widget_other_languages_heading":"Reviews in Other Languages","widget_translate_review_text":"Translate review to {{ language }}","widget_translating_review_text":"Translating...","widget_show_original_translation_text":"Show original ({{ language }})","widget_translate_review_failed_text":"Review couldn't be translated.","widget_translate_review_retry_text":"Retry","widget_translate_review_try_again_later_text":"Try again later","show_product_url_for_grouped_product":false,"widget_sorting_pictures_first_text":"Pictures First","show_pictures_on_all_rev_page_mobile":false,"show_pictures_on_all_rev_page_desktop":false,"floating_tab_hide_mobile_install_preference":false,"floating_tab_button_name":"â
Reviews","floating_tab_title":"Let customers speak for us","floating_tab_button_color":"","floating_tab_button_background_color":"","floating_tab_url":"","floating_tab_url_enabled":false,"floating_tab_tab_style":"text","all_reviews_text_badge_text":"Customers rate us {{ shop.metafields.judgeme.all_reviews_rating | round: 1 }}/5 based on {{ shop.metafields.judgeme.all_reviews_count }} reviews.","all_reviews_text_badge_text_branded_style":"{{ shop.metafields.judgeme.all_reviews_rating | round: 1 }} out of 5 stars based on {{ shop.metafields.judgeme.all_reviews_count }} reviews","is_all_reviews_text_badge_a_link":false,"show_stars_for_all_reviews_text_badge":false,"all_reviews_text_badge_url":"","all_reviews_text_style":"branded","all_reviews_text_color_style":"judgeme_brand_color","all_reviews_text_color":"#108474","all_reviews_text_show_jm_brand":true,"featured_carousel_show_header":true,"featured_carousel_title":"Let customers speak for us","testimonials_carousel_title":"Customers are saying","videos_carousel_title":"Real customer stories","cards_carousel_title":"Customers are saying","featured_carousel_count_text":"from {{ n }} reviews","featured_carousel_add_link_to_all_reviews_page":false,"featured_carousel_url":"","featured_carousel_show_images":true,"featured_carousel_autoslide_interval":5,"featured_carousel_arrows_on_the_sides":false,"featured_carousel_height":250,"featured_carousel_width":80,"featured_carousel_image_size":0,"featured_carousel_image_height":250,"featured_carousel_arrow_color":"#eeeeee","verified_count_badge_style":"branded","verified_count_badge_orientation":"horizontal","verified_count_badge_color_style":"judgeme_brand_color","verified_count_badge_color":"#108474","is_verified_count_badge_a_link":false,"verified_count_badge_url":"","verified_count_badge_show_jm_brand":true,"widget_rating_preset_default":5,"widget_first_sub_tab":"product-reviews","widget_show_histogram":true,"widget_histogram_use_custom_color":false,"widget_pagination_use_custom_color":false,"widget_star_use_custom_color":false,"widget_verified_badge_use_custom_color":false,"widget_write_review_use_custom_color":false,"picture_reminder_submit_button":"Upload Pictures","enable_review_videos":false,"mute_video_by_default":false,"widget_sorting_videos_first_text":"Videos First","widget_review_pending_text":"Pending","featured_carousel_items_for_large_screen":3,"social_share_options_order":"Facebook,Twitter","remove_microdata_snippet":false,"disable_json_ld":false,"enable_json_ld_products":false,"preview_badge_show_question_text":false,"preview_badge_no_question_text":"No questions","preview_badge_n_question_text":"{{ number_of_questions }} question/questions","qa_badge_show_icon":false,"qa_badge_position":"same-row","remove_judgeme_branding":false,"widget_add_search_bar":false,"widget_search_bar_placeholder":"Search","widget_sorting_verified_only_text":"Verified only","widget_sorting_most_relevant_text":"Most Relevant","featured_carousel_theme":"default","featured_carousel_show_rating":true,"featured_carousel_show_title":true,"featured_carousel_show_body":true,"featured_carousel_show_date":false,"featured_carousel_show_reviewer":true,"featured_carousel_show_product":false,"featured_carousel_header_background_color":"#108474","featured_carousel_header_text_color":"#ffffff","featured_carousel_name_product_separator":"reviewed","featured_carousel_full_star_background":"#108474","featured_carousel_empty_star_background":"#dadada","featured_carousel_vertical_theme_background":"#f9fafb","featured_carousel_verified_badge_enable":true,"featured_carousel_verified_badge_color":"#108474","featured_carousel_border_style":"round","featured_carousel_review_line_length_limit":3,"featured_carousel_more_reviews_button_text":"Read more reviews","featured_carousel_view_product_button_text":"View product","all_reviews_page_load_reviews_on":"scroll","all_reviews_page_load_more_text":"Load More Reviews","disable_fb_tab_reviews":false,"enable_ajax_cdn_cache":false,"widget_public_name_text":"displayed publicly like","default_reviewer_name":"John Smith","default_reviewer_name_has_non_latin":true,"widget_reviewer_anonymous":"Anonymous","medals_widget_title":"Judge.me Review Medals","medals_widget_background_color":"#f9fafb","medals_widget_position":"footer_all_pages","medals_widget_border_color":"#f9fafb","medals_widget_verified_text_position":"left","medals_widget_use_monochromatic_version":false,"medals_widget_elements_color":"#108474","show_reviewer_avatar":true,"widget_invalid_yt_video_url_error_text":"Not a YouTube video URL","widget_max_length_field_error_text":"Please enter no more than {0} characters.","widget_show_country_flag":false,"widget_show_collected_via_shop_app":true,"widget_verified_by_shop_badge_style":"light","widget_verified_by_shop_text":"Verified by Shop","widget_show_photo_gallery":false,"widget_load_with_code_splitting":true,"widget_ugc_install_preference":false,"widget_ugc_title":"Made by us, Shared by you","widget_ugc_subt
1389itle":"Tag us to see your picture featured in our page","widget_ugc_arrows_color":"#ffffff","widget_ugc_primary_button_text":"Buy Now","widget_ugc_primary_button_background_color":"#108474","widget_ugc_primary_button_text_color":"#ffffff","widget_ugc_primary_button_border_width":"0","widget_ugc_primary_button_border_style":"none","widget_ugc_primary_button_border_color":"#108474","widget_ugc_primary_button_border_radius":"25","widget_ugc_secondary_button_text":"Load More","widget_ugc_secondary_button_background_color":"#ffffff","widget_ugc_secondary_button_text_color":"#108474","widget_ugc_secondary_button_border_width":"2","widget_ugc_secondary_button_border_style":"solid","widget_ugc_secondary_button_border_color":"#108474","widget_ugc_secondary_button_border_radius":"25","widget_ugc_reviews_button_text":"View Reviews","widget_ugc_reviews_button_background_color":"#ffffff","widget_ugc_reviews_button_text_color":"#108474","widget_ugc_reviews_button_border_width":"2","widget_ugc_reviews_button_border_style":"solid","widget_ugc_reviews_button_border_color":"#108474","widget_ugc_reviews_button_border_radius":"25","widget_ugc_reviews_button_link_to":"judgeme-reviews-page","widget_ugc_show_post_date":true,"widget_ugc_max_width":"800","widget_rating_metafield_value_type":true,"widget_primary_color":"#FFB9D1","widget_enable_secondary_color":false,"widget_secondary_color":"#edf5f5","widget_summary_average_rating_text":"{{ average_rating }} out of 5","widget_media_grid_title":"Customer photos \u0026 videos","widget_media_grid_see_more_text":"See more","widget_round_style":false,"widget_show_product_medals":true,"widget_verified_by_judgeme_text":"Verified by Judge.me","widget_show_store_medals":true,"widget_verified_by_judgeme_text_in_store_medals":"Verified by Judge.me","widget_media_field_exceed_quantity_message":"Sorry, we can only accept {{ max_media }} for one review.","widget_media_field_exceed_limit_message":"{{ file_name }} is too large, please select a {{ media_type }} less than {{ size_limit }}MB.","widget_review_submitted_text":"Review Submitted!","widget_question_submitted_text":"Question Submitted!","widget_close_form_text_question":"Cancel","widget_write_your_answer_here_text":"Write your answer here","widget_enabled_branded_link":true,"widget_show_collected_by_judgeme":true,"widget_reviewer_name_color":"","widget_write_review_text_color":"","widget_write_review_bg_color":"","widget_collected_by_judgeme_text":"collected by Judge.me","widget_pagination_type":"standard","widget_load_more_text":"Load More","widget_load_more_color":"#108474","widget_full_review_text":"Full Review","widget_read_more_reviews_text":"Read More Reviews","widget_read_questions_text":"Read Questions","widget_questions_and_answers_text":"Questions \u0026 Answers","widget_verified_by_text":"Verified by","widget_verified_text":"Verified","widget_number_of_reviews_text":"{{ number_of_reviews }} reviews","widget_back_button_text":"Back","widget_next_button_text":"Next","widget_custom_forms_filter_button":"Filters","custom_forms_style":"horizontal","widget_show_review_information":false,"how_reviews_are_collected":"How reviews are collected?","widget_show_review_keywords":false,"widget_gdpr_statement":"How we use your data: We'll only contact you about the review you left, and only if necessary. By submitting your review, you agree to Judge.me's \u003ca href='https://judge.me/terms' target='_blank' rel='nofollow noopener'\u003eterms\u003c/a\u003e, \u003ca href='https://judge.me/privacy' target='_blank' rel='nofollow noopener'\u003eprivacy\u003c/a\u003e and \u003ca href='https://judge.me/content-policy' target='_blank' rel='nofollow noopener'\u003econtent\u003c/a\u003e policies.","widget_multilingual_sorting_enabled":false,"widget_translate_review_content_enabled":false,"widget_translate_review_content_method":"manual","popup_widget_review_selection":"automatically_with_pictures","popup_widget_round_border_style":true,"popup_widget_show_title":true,"popup_widget_show_body":true,"popup_widget_show_reviewer":false,"popup_widget_show_product":true,"popup_widget_show_pictures":true,"popup_widget_use_review_picture":true,"popup_widget_show_on_home_page":true,"popup_widget_show_on_product_page":true,"popup_widget_show_on_collection_page":true,"popup_widget_show_on_cart_page":true,"popup_widget_position":"bottom_left","popup_widget_first_review_delay":5,"popup_widget_duration":5,"popup_widget_interval":5,"popup_widget_review_count":5,"popup_widget_hide_on_mobile":true,"review_snippet_widget_round_border_style":true,"review_snippet_widget_card_color":"#FFFFFF","review_snippet_widget_text_color":"#000000","review_snippet_widget_lighter_text_color":"#7B7B7B","review_snippet_widget_slider_arrows_background_color":"#FFFFFF","review_snippet_widget_slider_arrows_color":"#000000","review_snippet_widget_star_color":"#FFB9D1","show_product_variant":false,"all_reviews_product_variant_label_text":"Variant: ","widget_show_verified_branding":true,"widget_ai_summary_title":"Customers say","widget_ai_summary_disclaimer":"AI-powered review summary based on recent customer reviews","widget_show_ai_summary":false,"widget_show_ai_summary_bg":false,"write_review_button_visibility":"everyone","store_summary_widget_heading":"Customers rate this store","store_summary_widget_button_text":"View customer reviews","store_summary_widget_button_theme_text":"See AI reviews summary","widget_show_review_title_input":true,"widget_autofill_review_title":true,"redirect_reviewers_invited_via_email":"external_form","request_store_review_after_product_review":false,"request_review_other_products_in_order":false,"review_form_color_scheme":"default","review_form_corner_style":"square","review_form_star_color":"#FFB9D1","review_form_text_color":"#333333","review_form_background_color":"#ffffff","review_form_field_background_color":"#fafafa","review_form_button_color":"#FFB9D1","review_form_button_text_color":"#ffffff","review_form_modal_overlay_color":"#000000","review_form_theme":"multi_step","review_form_location":"in_store_popup","review_form_external_page_background_color":"#C5F7F0","review_content_screen_title_text":"How would you rate this product?","review_content_introduction_text":"We would love it if you would share a bit about your experience.","store_review_form_title_text":"How would you rate this store?","store_review_form_introduction_text":"We would love it if you would share a bit about your experience.","show_review_guidance_text":true,"one_star_review_guidance_text":"Poor","five_star_review_guidance_text":"Great","customer_information_screen_title_text":"About you","customer_information_introduction_text":"Please tell us more about you.","custom_questions_screen_title_text":"Your experience in more detail","custom_questions_introduction_text":"Here are a few questions to help us understand more about your experience.","review_submitted_screen_title_text":"Thanks for your review!","review_submitted_screen_thank_you_text":"We are processing it and it will appear on the store soon.","review_submitted_screen_email_verification_text":"Please confirm your email by clicking the link we just sent you. This helps us keep reviews authentic.","confirm_email_screen_title_text":"Confirm your email","confirm_email_screen_message_text":"To help keep reviews authentic, we'll send you a secure link to continue writing your review. It only takes a moment.","check_email_screen_title_text":"Check your email","check_email_screen_message_text":"We sent you an email to {{ email }}. Click the button on the email to continue.","check_email_screen_resend_message_text":"Email resent!","check_email_resend_hint_text":"Didn't get the email? Check your spam folder or [resend the email].","verification_email_rate_limit_error_text":"You've reached the limit for review attempts on this product. Please check your inbox or try again later.","review_submitted_request_store_review_text":"Would you like to share your experience of shopping with us?","review_submitted_review_other_products_text":"Would you like to review these products?","store_review_screen_title_text":"Would you like to share your experience of shopping with us?","store_review_introduction_text":"We value your feedback and use it to improve. Please share any thoughts or suggestions you have.","reviewer_media_screen_title_picture_text":"Share a picture","reviewer_media_introduction_picture_text":"Upload a photo to support your review.","reviewer_media_screen_title_video_text":"Share a video","reviewer_media_introduction_video_text":"Upload a video to support your review.","reviewer_media_screen_title_picture_or_video_text":"Share a picture or video","reviewer_media_introduction_picture_or_video_text":"Upload a photo or video to support your review.","reviewer_media_
1389youtube_url_text":"Paste your Youtube URL here","advanced_settings_next_step_button_text":"Next","advanced_settings_close_review_button_text":"Close","modal_write_review_flow":false,"write_review_flow_required_text":"Required","write_review_flow_privacy_message_text":"We respect your privacy.","write_review_flow_anonymous_text":"Post review as anonymous","write_review_flow_visibility_text":"This won't be visible to other customers.","write_review_flow_multiple_selection_help_text":"Select as many as you like","write_review_flow_single_selection_help_text":"Select one option","write_review_flow_required_field_error_text":"This field is required","write_review_flow_invalid_email_error_text":"Please enter a valid email address","write_review_flow_max_length_error_text":"Max. {{ max_length }} characters.","write_review_flow_media_upload_text":"\u003cb\u003eClick to upload\u003c/b\u003e or drag and drop","write_review_flow_gdpr_statement":"We'll only contact you about your review if necessary. By submitting your review, you agree to our \u003ca href='https://judge.me/terms' target='_blank' rel='nofollow noopener'\u003eterms and conditions\u003c/a\u003e and \u003ca href='https://judge.me/privacy' target='_blank' rel='nofollow noopener'\u003eprivacy policy\u003c/a\u003e.","rating_only_reviews_enabled":false,"show_negative_reviews_help_screen":false,"new_review_flow_help_screen_rating_threshold":3,"negative_review_resolution_screen_title_text":"Tell us more","negative_review_resolution_text":"Your experience matters to us. If there were issues with your purchase, we're here to help. Feel free to reach out to us, we'd love the opportunity to make things right.","negative_review_resolution_button_text":"Contact us","negative_review_resolution_proceed_with_review_text":"Leave a review","negative_review_resolution_subject":"Issue with purchase from {{ shop_name }}.{{ order_name }}","coupon_promo_intro_any_review_text":"Write a review and get a coupon for {{ amount }} off your next purchase","coupon_promo_intro_with_photo_text":"Write a review and add a photo or video to get a coupon for {{ amount }} off your next purchase","coupon_promo_intro_with_video_text":"Write a review and add a video to get a coupon for {{ amount }} off your next purchase","coupon_promo_intro_up_to_any_review_text":"Write a review and get a coupon for up to {{ amount }} off your next purchase","coupon_promo_intro_up_to_with_photo_text":"Write a review and add a photo or video to get a coupon for up to {{ amount }} off your next purchase","coupon_promo_intro_external_text":"Write a review and get a reward for your next purchase","coupon_promo_intro_external_with_photo_text":"Write a review and add a photo or video to get a reward for your next purchase","coupon_promo_intro_external_with_video_text":"Write a review and add a video to get a reward for your next purchase","coupon_promo_media_photo_text":"Add a photo or video and get a coupon for {{ amount }} off your next purchase","coupon_promo_media_photo_only_text":"Add a photo and get a coupon for {{ amount }} off your next purchase","coupon_promo_media_video_text":"Add a video and get a coupon for {{ amount }} off your next purchase","coupon_promo_media_external_photo_text":"Add a photo or video and get a reward for your next purchase","coupon_promo_media_external_photo_only_text":"Add a photo and get a reward for your next purchase","coupon_promo_media_external_video_text":"Add a video and get a reward for your next purchase","coupon_promo_success_text":"You've got a coupon for your next purchase at {{ shop_name }}!","coupon_promo_success_subtext":"You'll receive your coupon email within the hour.","preview_badge_collection_page_install_status":false,"widget_review_custom_css":"","preview_badge_custom_css":"","preview_badge_stars_count":"5-stars","featured_carousel_custom_css":"","floating_tab_custom_css":"","all_reviews_widget_custom_css":"","medals_widget_custom_css":"","verified_badge_custom_css":"","all_reviews_text_custom_css":"","transparency_badges_collected_via_store_invite":false,"transparency_badges_from_another_provider":false,"transparency_badges_collected_from_store_visitor":false,"transparency_badges_collected_by_verified_review_provider":true,"transparency_badges_earned_reward":false,"transparency_badges_collected_via_store_invite_text":"Review collected via store invitation","transparency_badges_from_another_provider_text":"Review collected from another provider","transparency_badges_collected_from_store_visitor_text":"Review collected from a store visitor","transparency_badges_written_in_google_text":"Review written in Google","transparency_badges_written_in_etsy_text":"Review written in Etsy","transparency_badges_written_in_shop_app_text":"Review written in Shop App","transparency_badges_earned_reward_text":"Review earned a reward for future purchase","product_review_widget_per_page":10,"widget_other_languages_reviews_per_page":3,"widget_store_review_label_text":"Review about the store","widget_cart_mode_aggregate_heading_text":"Customers rate this store","checkout_comment_extension_title_on_product_page":"Customer Comments","checkout_comment_extension_num_latest_comment_show":5,"checkout_comment_extension_format":"name_and_timestamp","checkout_comment_customer_name":"last_initial","checkout_comment_comment_notification":true,"preview_badge_collection_page_install_preference":false,"preview_badge_home_page_install_preference":false,"preview_badge_product_page_install_preference":false,"review_widget_install_preference":"","review_carousel_install_preference":false,"floating_reviews_tab_install_preference":"none","verified_reviews_count_badge_install_preference":false,"all_reviews_text_install_preference":false,"review_widget_best_location":false,"judgeme_medals_install_preference":false,"review_widget_revamp_enabled":false,"review_widget_qna_enabled":false,"review_widget_header_theme":"minimal","review_widget_widget_title_enabled":true,"review_widget_header_text_size":"medium","review_widget_header_text_weight":"regular","review_widget_average_rating_style":"compact","review_widget_bar_chart_enabled":true,"review_widget_bar_chart_type":"numbers","review_widget_bar_chart_style":"standard","review_widget_expanded_media_gallery_enabled":false,"review_widget_show_review_highlights":false,"review_widget_show_review_keywords_in_gray":false,"review_widget_reviews_section_theme":"standard","review_widget_image_style":"thumbnails","review_widget_review_image_ratio":"square","review_widget_stars_size":"medium","review_widget_verified_badge":"standard_text","review_widget_review_title_text_size":"medium","review_widget_review_text_size":"medium","review_widget_review_text_length":"medium","review_widget_number_of_columns_desktop":3,"review_widget_carousel_transition_speed":5,"review_widget_custom_questions_answers_display":"always","review_widget_card_section_size":"small","review_widget_button_text_color":"#FFFFFF","review_widget_text_color":"#000000","review_widget_lighter_text_color":"#7B7B7B","review_widget_corner_styling":"soft","review_widget_review_word_singular":"review","review_widget_review_word_plural"
1389:"reviews","review_widget_voting_label":"Helpful?","review_widget_shop_reply_label":"Reply from {{ shop_name }}:","review_widget_filters_title":"Filters","review_widget_filter_rating_title":"Rating","review_widget_filter_keyword_title":"Keyword","review_widget_clear_filters_text":"Clear filters","review_widget_expand_more_text":"More","review_widget_review_highlights_title":"Review highlights","qna_widget_question_word_singular":"Question","qna_widget_question_word_plural":"Questions","qna_widget_answer_reply_label":"Answer from {{ answerer_name }}:","qna_content_screen_title_text":"Ask a question about this product","qna_widget_question_required_field_error_text":"Please enter your question.","qna_widget_flow_gdpr_statement":"We'll only contact you about your question if necessary. By submitting your question, you agree to our \u003ca href='https://judge.me/terms' target='_blank' rel='nofollow noopener'\u003eterms and conditions\u003c/a\u003e and \u003ca href='https://judge.me/privacy' target='_blank' rel='nofollow noopener'\u003eprivacy policy\u003c/a\u003e.","qna_widget_question_submitted_text":"Thanks for your question!","qna_widget_close_form_text_question":"Close","qna_widget_question_submit_success_text":"Weâll notify you by email when your question is answered.","all_reviews_widget_v2025_enabled":false,"all_reviews_widget_v2025_header_theme":"default","all_reviews_widget_v2025_widget_title_enabled":true,"all_reviews_widget_v2025_header_text_size":"medium","all_reviews_widget_v2025_header_text_weight":"regular","all_reviews_widget_v2025_average_rating_style":"compact","all_reviews_widget_v2025_bar_chart_enabled":true,"all_reviews_widget_v2025_bar_chart_type":"numbers","all_reviews_widget_v2025_bar_chart_style":"standard","all_reviews_widget_v2025_expanded_media_gallery_enabled":false,"all_reviews_widget_v2025_show_store_medals":true,"all_reviews_widget_v2025_show_photo_gallery":true,"all_reviews_widget_v2025_show_review_keywords":false,"all_reviews_widget_v2025_show_ai_summary":false,"all_reviews_widget_v2025_show_ai_summary_bg":false,"all_reviews_widget_v2025_show_review_highlights":false,"all_reviews_widget_v2025_show_review_keywords_in_gray":false,"all_reviews_widget_v2025_add_search_bar":false,"all_reviews_widget_v2025_default_sort_method":"most-recent","all_reviews_widget_v2025_reviews_per_page":10,"all_reviews_widget_v2025_reviews_section_theme":"default","all_reviews_widget_v2025_image_style":"thumbnails","all_reviews_widget_v2025_review_image_ratio":"square","all_reviews_widget_v2025_stars_size":"medium","all_reviews_widget_v2025_verified_badge":"standard_text","all_reviews_widget_v2025_review_title_text_size":"medium","all_reviews_widget_v2025_review_text_size":"medium","all_reviews_widget_v2025_review_text_length":"medium","all_reviews_widget_v2025_number_of_columns_desktop":3,"all_reviews_widget_v2025_carousel_transition_speed":5,"all_reviews_widget_v2025_custom_questions_answers_display":"always","all_reviews_widget_v2025_review_dates":false,"all_reviews_widget_v2025_card_section_size":"small","all_reviews_widget_v2025_show_product_variant":false,"all_reviews_widget_v2025_show_reviewer_avatar":true,"all_reviews_widget_v2025_reviewer_name_as_initial":"","all_reviews_widget_v2025_review_location_show":false,"all_reviews_widget_v2025_location_format":"","all_reviews_widget_v2025_show_country_flag":false,"all_reviews_widget_v2025_widget_thumb":false,"all_reviews_widget_v2025_verified_by_shop_badge_style":"light","all_reviews_widget_v2025_social_share":false,"all_reviews_widget_v2025_social_share_options_order":"Facebook,Twitter,LinkedIn,Pinterest","all_reviews_widget_v2025_pagination_type":"standard","all_reviews_widget_v2025_button_text_color":"#FFFFFF","all_reviews_widget_v2025_text_color":"#000000","all_reviews_widget_v2025_lighter_text_color":"#7B7B7B","all_reviews_widget_v2025_corner_styling":"soft","all_reviews_widget_v2025_title":"Customer reviews","all_reviews_widget_v2025_ai_summary_title":"Customers say about this store","all_reviews_widget_v2025_no_review_text":"Be the first to write a review","all_reviews_widget_v2025_review_highlights_title":"Review highlights","reviews_grid_widget_show_sample_reviews":false,"reviews_grid_widget_review_selection":"all","reviews_grid_widget_select_products":[],"reviews_grid_widget_show_media_only":false,"reviews_grid_widget_display_order":"media_first","reviews_grid_widget_card_grouping":"per_media","reviews_grid_widget_columns_desktop":3,"reviews_grid_widget_rows_desktop":3,"reviews_grid_widget_columns_mobile":2,"reviews_grid_widget_rows_mobile":6,"reviews_grid_widget_show_stars":true,"reviews_grid_widget_show_reviewer_name":true,"reviews_grid_widget_show_review_title_on_hover_desktop":true,"reviews_grid_widget_corner_styling":"soft","reviews_grid_widget_card_spacing":"medium","reviews_grid_widget_header_text_color":"#000000","reviews_grid_widget_star_and_reviewer_name_color":"#F9F9F9","reviews_grid_widget_overlay_and_background_color":"#000000","reviews_grid_widget_content_color":"#F9F9F9","reviews_grid_widget_header_text":"From our customers","reviews_grid_widget_show_average_rating":true,"trust_badge_enabled":false,"trust_badge_structure":"outline","trust_badge_color":"black","trust_badge_star":"black","trust_badge_rating_display_default":"show_avg_text","platform":"shopify","branding_url":"https://app.judge.me/reviews","branding_text":"Powered by Judge.me","locale":"en","reply_name":"Blossom Coffee Roasters","shop_currency":"USD","widget_version":"3.0","footer":true,"autopublish":true,"review_dates":true,"enable_custom_form":false,"shop_locale":"en","enable_multi_locales_translations":false,"show_review_title_input":true,"autofill_review_title":true,"review_verification_email_status":"always","require_verification_before_submit":false,"sign_in_with_
1389shop_enabled":false,"customer_account_validation_enabled":true,"most_relevant_sort_enabled":false,"coupon_promo_invited_eligible":true,"coupon_promo_web_eligible":false,"uses_coupon_integration":false,"uses_external_coupon":false,"can_be_branded":true,"rtl_stars_enabled_ar":true,"rtl_stars_enabled_he":true,"reply_name_text":"Blossom Coffee Roasters"};</script>
1389 <style class='jdgm-settings-style'>.jdgm-xx{left:0}:root{--jdgm-primary-color: #FFB9D1;--jdgm-secondary-color: rgba(255,185,209,0.1);--jdgm-star-color: #FFB9D1;--jdgm-write-review-text-color: white;--jdgm-write-review-bg-color: #FFB9D1;--jdgm-paginate-color: #FFB9D1;--jdgm-border-radius: 0;--jdgm-reviewer-name-color: #FFB9D1}.jdgm-histogram__bar-content{background-color:#FFB9D1}.jdgm-rev[data-verified-buyer=true] .jdgm-rev__icon.jdgm-rev__icon:after,.jdgm-rev__buyer-badge.jdgm-rev__buyer-badge{color:white;background-color:#FFB9D1}.jdgm-review-widget--small .jdgm-gallery.jdgm-gallery .jdgm-gallery__thumbnail-link:nth-child(8) .jdgm-gallery__thumbnail-wrapper.jdgm-gallery__thumbnail-wrapper:before{content:"See more"}@media only screen and (min-width: 768px){.jdgm-gallery.jdgm-gallery .jdgm-gallery__thumbnail-link:nth-child(8) .jdgm-gallery__thumbnail-wrapper.jdgm-gallery__thumbnail-wrapper:before{content:"See more"}}.jdgm-prev-badge[data-average-rating='0.00']{display:none !important}.jdgm-author-all-initials{display:none !important}.jdgm-author-last-initial{display:none !important}.jdgm-rev-widg__title{visibility:hidden}.jdgm-rev-widg__summary-text{visibility:hidden}.jdgm-prev-badge__text{visibility:hidden}.jdgm-rev__prod-link-prefix:before{content:'about'}.jdgm-rev__variant-label:before{content:'Variant: '}.jdgm-rev__out-of-store-text:before{content:'(out of store)'}@media only screen and (min-width: 768px){.jdgm-rev__pics .jdgm-rev_all-rev-page-picture-separator,.jdgm-rev__pics .jdgm-rev__product-picture{display:none}}@media only screen and (max-width: 768px){.jdgm-rev__pics .jdgm-rev_all-rev-page-picture-separator,.jdgm-rev__pics .jdgm-rev__product-picture{display:none}}.jdgm-preview-badge[data-template="product"]{display:none !important}.jdgm-preview-badge[data-template="collection"]{display:none !important}.jdgm-preview-badge[data-template="index"]{display:none !important}.jdgm-review-widget[data-from-snippet="true"]{display:none !important}.jdgm-verified-count-badget[data-from-snippet="true"]{display:none !important}.jdgm-carousel-wrapper[data-from-snippet="true"]{display:none !important}.jdgm-all-reviews-text[data-from-snippet="true"]{display:none !important}.jdgm-medals-section[data-from-snippet="true"]{display:none !important}.jdgm-ugc-media-wrapper[data-from-snippet="true"]{display:none !important}.jdgm-rev__transparency-badge[data-badge-type="review_collected_via_store_invitation"]{display:none !important}.jdgm-rev__transparency-badge[data-badge-type="review_collected_from_another_provider"]{display:none !important}.jdgm-rev__transparency-badge[data-badge-type="review_collected_from_store_visitor"]{display:none !important}.jdgm-rev__transparency-badge[data-badge-type="review_earned_for_future_purchase"]{display:none !important}.jdgm-review-snippet-widget{--jdgm-snippet-card-color: #fff;--jdgm-snippet-text-color: #000;--jdgm-snippet-lighter-text-color: #7B7B7B;--jdgm-snippet-star-color: #FFB9D1;--jdgm-snippet-border-radius: 8px;--jdgm-snippet-arrows-bg-color: #fff;--jdgm-snippet-arrows-color: #000}.jdgm-review-snippet-widget .jdgm-rev-snippet-widget__cards-container .jdgm-rev-snippet-card{border-radius:8px;background:#fff}.jdgm-review-snippet-widget .jdgm-rev-snippet-widget__cards-container .jdgm-rev-snippet-card__rev-rating .jdgm-star{color:#FFB9D1}.jdgm-review-snippet-widget .jdgm-rev-snippet-widget__prev-btn,.jdgm-review-snippet-widget .jdgm-rev-snippet-widget__next-btn{border-radius:50%;background:#fff}.jdgm-review-snippet-widget .jdgm-rev-snippet-widget__prev-btn>svg,.jdgm-review-snippet-widget .jdgm-rev-snippet-widget__next-btn>svg{fill:#000}.jdgm-full-rev-modal.rev-snippet-widget .jm-mfp-container .jm-mfp-content,.jdgm-full-rev-modal.rev-snippet-widget .jm-mfp-container .jdgm-full-rev__icon,.jdgm-full-rev-modal.rev-snippet-widget .jm-mfp-container .jdgm-full-rev__pic-img,.jdgm-full-rev-modal.rev-snippet-widget .jm-mfp-container .jdgm-full-rev__reply{border-radius:8px}.jdgm-full-rev-modal.rev-snippet-widget .jm-mfp-container .jdgm-full-rev[data-verified-buyer="true"] .jdgm-full-rev__icon::after{border-radius:8px}.jdgm-full-rev-modal.rev-snippet-widget .jm-mfp-container .jdgm-full-rev .jdgm-rev__buyer-badge{border-radius:calc( 8px / 2 )}.jdgm-full-rev-modal.rev-snippet-widget .jm-mfp-container .jdgm-full-rev .jdgm-full-rev__replier::before{content:'Blossom Coffee Roasters'}.jdgm-full-rev-modal.rev-snippet-widget .jm-mfp-container .jdgm-full-rev .jdgm-full-rev__product-button{border-radius:calc( 8px * 6 )} 1390</style> <style class='jdgm-settings-style'></style> 1391 1392 1393 1394 1395 <style class='jdgm-miracle-styles'> 1396 @-webkit-keyframes jdgm-spin{0%{-webkit-transform:rotate(0deg);-ms-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);-ms-transform:rotate(359deg);transform:rotate(359deg)}}@keyframes jdgm-spin{0%{-webkit-transform:rotate(0deg);-ms-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);-ms-transform:rotate(359deg);transform:rotate(359deg)}}@font-face{font-family:'JudgemeStar';src:url("data:application/x-font-woff;charset=utf-8;base64,d09GRgABAAAAAAScAA0AAAAABrAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAAEgAAAABoAAAAcbyQ+3kdERUYAAARgAAAAHgAAACAAMwAGT1MvMgAAAZgAAABGAAAAVi+vS9xjbWFwAAAB8AAAAEAAAAFKwBMjvmdhc3AAAARYAAAACAAAAAj//wADZ2x5ZgAAAkAAAAEJAAABdH33LXtoZWFkAAABMAAAAC0AAAA2BroQKWhoZWEAAAFgAAAAHAAAACQD5QHQaG10eAAAAeAAAAAPAAAAFAYAAABsb2NhAAACMAAAAA4AAAAOAO4AeG1heHAAAAF8AAAAHAAAACAASgAvbmFtZQAAA0wAAADeAAABkorWfVZwb3N0AAAELAAAACkAAABEp3ubLXgBY2BkYADhPPP4OfH8Nl8ZuJkYQODS2fRrCPr/aSYGxq1ALgcDWBoAO60LkwAAAHgBY2BkYGDc+v80gx4TAwgASaAICmABAFB+Arl4AWNgZGBgYGPQYWBiAAIwyQgWc2AAAwAHVQB6eAFjYGRiYJzAwMrAwejDmMbAwOAOpb8ySDK0MDAwMbByMsCBAAMCBKS5pjA4PGB4wMR44P8BBj3GrQymQGFGkBwAjtgK
1396/gAAeAFjYoAAEA1jAwAAZAAHAHgB3crBCcAwDEPRZydkih567CDdf4ZskmLwFBV8xBfCaC4BXkOUmx4sU0h2ngNb9V0vQCxaRKIAevT7fGWuBrEAAAAAAAAAAAA0AHgAugAAeAF9z79Kw1AUx/FzTm7un6QmJtwmQ5Bg1abgEGr/BAqlU6Gju+Cgg1MkQ/sA7Vj7BOnmO/gUvo2Lo14NqIO6/IazfD8HEODtmQCfoANwNsyp2/GJt3WKQrd1NLiYYWx2PBqOsmJMEOznPOTzfSCrhAtbbLdmeFLJV9eKd63WLrZcIcuaEVdssWCKM6pLCfTVOYbz/0pNSMSZKLIZpvh78sAUH6PlMrreTCabP9r+Z/puPZ2ur/RqpQHgh+MIegCnXeM4MRAPjYN//5tj4ZtTjkFqEdmeMShlEJ7tVAly2TAkx6R68Fl4E/aVvn8JqHFQ4JS1434gXKcuL31dDhzs3YbsEOAd/IU88gAAAHgBfY4xTgMxEEVfkk0AgRCioKFxQYd2ZRtpixxgRU2RfhU5q5VWseQ4JdfgAJyBlmNwAM7ABRhZQ0ORwp7nr+eZAa54YwYg9zm3ynPOeFRe8MCrciXOh/KSS76UV5L/iDmrLiS5AeU519wrL3jmSbkS5115yR2fyivJv9kx0ZMZ2RLZw27q87iNQi8EBo5FSPIMw3HqBboi5lKTGAGDp8FKXWP+t9TU01Lj5His1Ba6uM9dTEMwvrFmbf5GC/q2drW3ruXUhhsCiQOjznFlCzYhHUZp4xp76vsvQh89CQAAeAFjYGJABowM6IANLMrEyMTIzMjCXpyRWJBqZshWXJJYBKOMAFHFBucAAAAAAAAB//8AAngBY2BkYGDgA2IJBhBgAvKZGViBJAuYxwAABJsAOgAAeAFjYGBgZACCk535hiD60tn0azAaAEqpB6wAAA==") format("woff");font-weight:normal;font-style:normal}.jdgm-star{font-family:'JudgemeStar';display:inline !important;text-decoration:none !important;padding:0 4px 0 0 !important;margin:0 !important;font-weight:bold;opacity:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.jdgm-star:hover{opacity:1}.jdgm-star:last-of-type{padding:0 !important}.jdgm-star.jdgm--on:before{content:"\e000"}.jdgm-star.jdgm--off:before{content:"\e001"}.jdgm-star.jdgm--half:before{content:"\e002"}.jdgm-widget *{margin:0;line-height:1.4;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;-webkit-overflow-scrolling:touch}.jdgm-hidden{display:none !important;visibility:hidden !important}.jdgm-temp-hidden{display:none}.jdgm-spinner{width:40px;height:40px;margin:auto;border-radius:50%;border-top:2px solid #eee;border-right:2px solid #eee;border-bottom:2px solid #eee;border-left:2px solid #ccc;-webkit-animation:jdgm-spin 0.8s infinite linear;animation:jdgm-spin 0.8s infinite linear}.jdgm-spinner:empty{display:block}.jdgm-prev-badge{display:block !important} 1397 1398</style> 1399 1400 1401 1402 1403 1404 1405 1406 1407
1408<script data-cfasync='false' class='jdgm-script'> 1409!function(e){window.jdgm=window.jdgm||{}; 1410/* INF-1976 */ 1411var _jdgmBlocked=function(){var raw=(window.jdgmSettings||{}).hostname_allowlist;var list=(raw==null?"":""+raw).split(/[\s,]+/).map(function(h){return h.trim().toLowerCase().replace(/\.$/,"");}).filter(function(h){return h;});if(!list.length)return false;var host=(e.location.hostname||"").toLowerCase().replace(/\.$/,"");if(/(^|\.)shopifypreview\.com$/.test(host))return false;var bare=host.replace(/^www\./,"");for(var i=0;i<list.length;i++){var en=list[i];if(en.indexOf("*.")===0){var b=en.slice(2);if(host===b||host.slice(-(b.length+1))==="."+b)return false;}else if(bare===en.replace(/^www\./,""))return false;}return true;}(); 1412if(_jdgmBlocked){jdgm._loaderExecuted=true;jdgm._blocked=true;var _jdgmS=e.createElement("style");_jdgmS.textContent='[class^="jdgm-"],[class*=" jdgm-"]{display:none !important}';(e.head||e.documentElement).appendChild(_jdgmS);return;} 1413jdgm.CDN_HOST="https://cdnwidget.judge.me/",jdgm.CDN_HOST_ALT="https://cdn2.judge.me/cdn/widget_frontend/",jdgm.API_HOST="https://api.judge.me/",jdgm.CDN_BASE_URL="https://cdn.shopify.com/extensions/01a11b30-98d5-7ae3-b2f4-f79b3c6f32c4/judgeme-775/assets/",jdgm.CDN_API_HOST="https://cdn.judge.me/", 1414jdgm.docReady=function(d){(e.attachEvent?"complete"===e.readyState:"loading"!==e.readyState)? 1415setTimeout(d,0):e.addEventListener("DOMContentLoaded",d)},jdgm.loadCSS=function(d,t,o,a){ 1416!o&&jdgm.loadCSS.requestedUrls.indexOf(d)>=0||(jdgm.loadCSS.requestedUrls.push(d), 1417(a=e.createElement("link")).rel="stylesheet",a.class="jdgm-stylesheet",a.media="nope!", 1418a.href=d,a.onload=function(){this.media="all",t&&setTimeout(t)},e.body.appendChild(a))}, 1419jdgm.loadCSS.requestedUrls=[],jdgm.loadJS=function(e,d){var t=new XMLHttpRequest; 1420t.onreadystatechange=function(){4===t.readyState&&t.status>=200&&t.status<300&&(Function(t.response)(),d&&d(t.response))}, 1421t.open("GET",e),t.onerror=function(){if(e.indexOf(jdgm.CDN_HOST)===0&&jdgm.CDN_HOST_ALT!==jdgm.CDN_HOST){var f=e.replace(jdgm.CDN_HOST,jdgm.CDN_HOST_ALT);jdgm.loadJS(f,d)}},t.send()},jdgm.docReady((function(){(window.jdgmLoadCSS||e.querySelectorAll( 1422".jdgm-widget, .jdgm-all-reviews-page").length>0)&&(jdgmSettings.widget_load_with_code_splitting? 1423parseFloat(jdgmSettings.widget_version)>=3?jdgm.loadCSS(jdgm.CDN_BASE_URL+"widget_v3_base.css"): 1424jdgm.loadCSS(jdgm.CDN_BASE_URL+"widget_base.css"):jdgm.loadCSS(jdgm.CDN_BASE_URL+"shopify_v2.css") 1425)}))}(document); 1426</script>
1426 1427<noscript><link rel="stylesheet" type="text/css" media="all" href="https://cdn.shopify.com/extensions/01a11b30-98d5-7ae3-b2f4-f79b3c6f32c4/judgeme-775/assets/shopify_v2.css"></noscript> 1428 1429<!-- BEGIN app snippet: theme_fix_tags -->
1429<script> 1430 (function() { 1431 var jdgmThemeFixes = null; 1432 if (!jdgmThemeFixes) return; 1433 1434 // "All themes" fix: CSS and JS applied on every theme. CSS is injected 1435 // before the per-theme fix so the theme-specific CSS wins the cascade. 1436 // HTML is never applied globally (too risky). 1437 var allThemesFix = jdgmThemeFixes['all']; 1438 if (allThemesFix && allThemesFix.css) { 1439 var allStyleTag = document.createElement('style'); 1440 allStyleTag.classList.add('jdgm-theme-fix-style-all'); 1441 allStyleTag.innerHTML = allThemesFix.css; 1442 document.head.append(allStyleTag); 1443 }; 1444 1445 if (allThemesFix && allThemesFix.js) { 1446 var allScriptTag = document.createElement('script'); 1447 allScriptTag.classList.add('jdgm-theme-fix-script-all'); 1448 allScriptTag.innerHTML = allThemesFix.js; 1449 document.head.append(allScriptTag); 1450 }; 1451 1452 var thisThemeFix = jdgmThemeFixes[Shopify.theme.id]; 1453 if (!thisThemeFix) return; 1454 1455 if (thisThemeFix.html) { 1456 document.addEventListener("DOMContentLoaded", function() { 1457 var htmlDiv = document.createElement('div'); 1458 htmlDiv.classList.add('jdgm-theme-fix-html'); 1459 htmlDiv.innerHTML = thisThemeFix.html; 1460 document.body.append(htmlDiv); 1461 }); 1462 }; 1463 1464 if (thisThemeFix.css) { 1465 var styleTag = document.createElement('style'); 1466 styleTag.classList.add('jdgm-theme-fix-style'); 1467 styleTag.innerHTML = thisThemeFix.css; 1468 document.head.append(styleTag); 1469 }; 1470 1471 if (thisThemeFix.js) { 1472 var scriptTag = document.createElement('script'); 1473 scriptTag.classList.add('jdgm-theme-fix-script'); 1474 scriptTag.innerHTML = thisThemeFix.js; 1475 document.head.append(scriptTag); 1476 }; 1477 })(); 1478</script>
1478 1479<!-- END app snippet --> 1480<!-- End of Judge.me Core --> 1481 1482 1483 1484<!-- END app block -->
1484<script src="https://cdn.shopify.com/extensions/01a11b30-98d5-7ae3-b2f4-f79b3c6f32c4/judgeme-775/assets/loader.js" type="text/javascript" defer="defer"></script>
1484 1485<link href="https://monorail-edge.shopifysvc.com" rel="dns-prefetch">
1486<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: 2337869,url: window.location.href,navigation_start,duration: currentMs - navigation_start,session_token,page_type: "product"};window.navigator.sendBeacon("https://monorail-edge.shopifysvc.com/v1/produce", JSON.stringify({schema_id: "online_store_buyer_site_abandonment/1.1",payload: payload,metadata: {event_created_at_ms: currentMs,event_sent_at_ms: currentMs}}));}}window.addEventListener('pagehide', handle_abandonment_event);}}());</script>
vendor: 1 bytes, line 1486
1486
1487<script> 1488 window.__TREKKIE_SHIM_QUEUE = window.__TREKKIE_SHIM_QUEUE || []; 1489</script>
vendor: 1 bytes, line 1489
1489
1490<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}
1490).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: 2337869,storefrontBaseUrl: "https://blossomcoffeeroasters.com",extensionsBaseUrl: "https://extensions.shopifycdn.com/cdn/shopifycloud/web-pixels-manager",monorailEndpoint: "https://blossomcoffeeroasters.com/.well-known/shopify/monorail/unstable/produce_batch",surface: "storefront-renderer",enabledBetaFlags: ["4c64608a","16072cab","8450a54b"],webPixelsConfigList: [{"id":"1820623022","configuration":"{\"mailchimp_store_id\":\"store_h9qpskauh5hk5rgcemla\", \"mailchimp_user_id\":\"142265489\",\"mailchimp_list_id\":\"9d3a3ab32e\"}","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"]}
1490,{"id":"1000308910","configuration":"{\"webPixelName\":\"Judge.me\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"8acc938b1a30dc7624e304493ca567d7","type":"APP","apiClientId":683015,"privacyPurposes":["ANALYTICS"],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_email","read_customer_name","read_customer_personal_data","read_customer_phone"],"dataSharingControls":["share_all_events"]},"dataSharingState":"unrestricted"},{"id":"487063726","configuration":"{\"config\":\"{\\\"google_tag_ids\\\":[\\\"G-E1N1V4WPLX\\\",\\\"GT-WRDHDVV\\\"],\\\"target_country\\\":\\\"US\\\",\\\"gtag_events\\\":[{\\\"type\\\":\\\"search\\\",\\\"action_label\\\":\\\"G-E1N1V4WPLX\\\"},{\\\"type\\\":\\\"begin_checkout\\\",\\\"action_label\\\":\\\"G-E1N1V4WPLX\\\"},{\\\"type\\\":\\\"remove_from_cart\\\",\\\"action_label\\\":\\\"G-E1N1V4WPLX\\\"},{\\\"type\\\":\\\"view_item\\\",\\\"action_label\\\":[\\\"G-E1N1V4WPLX\\\",\\\"MC-QBN2SQSR6C\\\"]},{\\\"type\\\":\\\"purchase\\\",\\\"action_label\\\":[\\\"G-E1N1V4WPLX\\\",\\\"MC-QBN2SQSR6C\\\"]},{\\\"type\\\":\\\"add_shipping_info\\\",\\\"action_label\\\":\\\"G-E1N1V4WPLX\\\"},{\\\"type\\\":\\\"page_view\\\",\\\"action_label\\\":[\\\"G-E1N1V4WPLX\\\",\\\"MC-QBN2SQSR6C\\\"]},{\\\"type\\\":\\\"view_item_list\\\",\\\"action_label\\\":\\\"G-E1N1V4WPLX\\\"},{\\\"type\\\":\\\"add_payment_info\\\",\\\"action_label\\\":\\\"G-E1N1V4WPLX\\\"},{\\\"type\\\":\\\"add_to_cart\\\",\\\"action_label\\\":\\\"G-E1N1V4WPLX\\\"},{\\\"type\\\":\\\"view_cart\\\",\\\"action_label\\\":\\\"G-E1N1V4WPLX\\\"}],\\\"enable_monitoring_mode\\\":false}\"}","eventPayloadVersion":"v1","runtimeContext":"OPEN","scriptVersion":"a3321ca85cf5aaf6b57585fcd8d67b3a","type":"APP","apiClientId":1780363,"privacyPurposes":[],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_address","read_customer_email","read_customer_name","read_customer_personal_data","read_customer_phone"],"dataSharingControls":["share_all_events"]},"dataSharingState":"optimized","enabledFlags":["9a3ed68a"]},{"id":"184877230","configuration":"{\"pixel_id\":\"768815557048986\",\"pixel_type\":\"facebook_pixel\",\"metaapp_system_user_token\":\"-\"}","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":"83919022","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":"Blossom Coffee Roasters","paymentSettings":{"currencyCode":"USD"},"myshopifyDomain":"vashon-coffee-company.myshopify.com","countryCode":"US","storefrontUrl":"https:\/\/blossomcoffeeroasters.com"},"customer":null,"cart":null,"checkout":null,"productVariants":[{"price":{"amount":22.5,"currencyCode":"USD"},"product":{"title":"Rwanda - Rulindo Murambi - Washed","vendor":"Blossom Coffee Roasters","id":"9218078736558","untranslatedTitle":"Rwanda - Rulindo Murambi - Washed","url":"\/products\/rwanda-rulindo-murambi","type":"Coffee"},"id":"48930908635310","image":{"src":"\/\/blossomcoffeeroasters.com\/cdn\/shop\/files\/Rwanda_Rulindo_Washed.jpg?v=1788888722"},"sku":null,"title":"12oz","untranslatedTitle":"12oz"},{"price":{"amount":26.0,"currencyCode":"USD"},"product":{"title":"Rwanda - Rulindo Murambi - Washed","vendor":"Blossom Coffee Roasters","id":"9218078736558","untranslatedTitle":"Rwanda - Rulindo Murambi - Washed","url":"\/products\/rwanda-rulindo-murambi","type":"Coffee"},"id":"48930908668078","image":{"src":"\/\/blossomcoffeeroasters.com\/cdn\/shop\/files\/Rwanda_Rulindo_Washed_de17d574-4f51-467a-a23d-86ef009a7d53.jpg?v=1788888722"},"sku":null,"title":"1lb","untranslatedTitle":"1lb"},{"price":{"amount":48.0,"currencyCode":"USD"},"product":{"title":"Rwanda - Rulindo Murambi - Washed","vendor":"Blossom Coffee Roasters","id":"9218078736558","untranslatedTitle":"Rwanda - Rulindo Murambi - Washed","url":"\/products\/rwanda-rulindo-murambi","type":"Coffee"},"id":"48930908700846","image":{"src":"\/\/blossomcoffeeroasters.com\/cdn\/shop\/files\/Rwanda_Rulindo_Washed_de17d574-4f51-467a-a23d-86ef009a7d53.jpg?v=1788888722"},"sku":null,"title":"2lb","untranslatedTitle":"2lb"},{"price":{"amount":110.0,"currencyCode":"USD"},"product":{"title":"Rwanda - Rulindo Murambi - Washed","vendor":"Blossom Coffee Roasters","id":"9218078736558","untranslatedTitle":"Rwanda - Rulindo Murambi - Washed","url":"\/products\/rwanda-rulindo-murambi","type":"Coffee"},"id":"48930908733614","image":{"src":"\/\/blossomcoffeeroasters.com\/cdn\/shop\/files\/Rwanda_Rulindo_Washed_de17d574-4f51-467a-a23d-86ef009a7d53.jpg?v=1788888722"},"sku":null,"title":"5lb","untranslatedTitle":"5lb"}],"products":[{"id":"9218078736558","handle":"rwanda-rulindo-murambi","isCollective":null,"title":"Rwanda - Rulindo Murambi - Washed","type":"Coffee","untranslatedTitle":"Rwanda - Rulindo Murambi - Washed","url":"\/products\/rwanda-rulindo-murambi","vendor":"Blossom Coffee Roasters","remoteShopId":null,"variants":[{"id":"48930908635310","image":{"src":"\/\/blossomcoffeeroasters.com\/cdn\/shop\/files\/Rwanda_Rulindo_Washed.jpg?v=1788888722"},"price":{"amount":22.5,"currencyCode":"USD"},"sku":null,"title":"12oz","untranslatedTitle":"12oz"},{"id":"48930908668078","image":{"src":"\/\/blossomcoffeeroasters.com\/cdn\/shop\/files\/Rwanda_Rulindo_Washed_de17d574-4f51-467a-a23d-86ef009a7d53.jpg?v=1788888722"},"price":{"amount":26.0,"currencyCode":"USD"},"sku":null,"title":"1lb","untranslatedTitle":"1lb"},{"id":"48930908700846","image":{"src":"\/\/blossomcoffeeroasters.com\/cdn\/shop\/files\/Rwanda_Rulindo_Washed_de17d574-4f51-467a-a23d-86ef009a7d53.jpg?v=1788888722"},"price":{"amount":48.0,"currencyCode":"USD"},"sku":null,"title":"2lb","untranslatedTitle":"2lb"},{"id":"48930908733614","image":{"src":"\/\/blossomcoffeeroasters.com\/cdn\/shop\/files\/Rwanda_Rulindo_Washed_de17d574-4f51-467a-a23d-86ef009a7d53.jpg?v=1788888722"},"price":{"amount":110.0,"currencyCode":"USD"},"sku":null,"title":"5lb","untranslatedTitle":"5lb"}]},{"id":"7982574207150","handle":"cold-brew-blend","isCollective":null,"title":"Cold Brew Blend","type":"Coffee","untranslatedTitle":"Cold Brew Blend","url":"\/products\/cold-brew-blend","vendor":"Blossom Coffee Roasters","remoteShopId":null,"variants":[{"id":"43970804482222","image":{"src":"\/\/blossomcoffeeroasters.com\/cdn\/shop\/files\/Cold_Brew_Blend_Website_Bag_Photo.jpg?v=1784063478"},"price":{"amount":20.0,"currencyCode":"USD"},"sku":null,"title":"12 oz","untranslatedTitle":"12 oz"}]},{"id":"4697106645062","handle":"darkside-of-the-moon","isCollective":null,"title":"Dark Side of the Moon","type":"Coffee","untranslatedTitle":"Dark Side of the Moon","url":"\/products\/darkside-of-the-moon","vendor":"Blossom Coffee Roasters","remoteShopId":null,"variants":[{"id":"32113011458118","image":{"src":"\/\/blossomcoffeeroasters.com\/cdn\/shop\/products\/Blossom_Coffee_Dark_Side_of_the_Moon.png?v=1776362775"},"price":{"amount":19.75,"currencyCode":"USD"},"sku":null,"title":"12 oz","untranslatedTitle":"12 oz"}]},{"id":"4618192650310","handle":"decaf-ethiopia-swiss-water-processed","isCollective":null,"title":"Decaf Ethiopia - Swiss Water Processed","type":"Coffee","untranslatedTitle":"Decaf Ethiopia - Swiss Water Processed","url":"\/products\/decaf-ethiopia-swiss-water-processed","vendor":"Blossom Coffee Roasters","remoteShopId":null,"variants":[{"id":"31974545588294","image":{"src":"\/\/blossomcoffeeroasters.com\/cdn\/shop\/files\/Ethiopia_Decaf_Bag_for_Website.jpg?v=1773763228"},"price":{"amount":21.5,"currencyCode":"USD"},"sku":"","title":"12oz","untranslatedTitle":"12oz"}]},{"id":"6075311947950","handle":"deja-vu-1","isCollective":null,"title":"Deja Vu","type":"Coffee","untranslatedTitle":"Deja Vu","url":"\/products\/deja-vu-1","vendor":"Blossom Coffee Roasters","remoteShopId":null,"variants":[{"id":"37523725222062","image":{"src":"\/\/blossomcoffeeroasters.com\/cdn\/shop\/files\/Deja_Vu_bag_front.png?v=1776366601"},"price":{"amount":20.5,"currencyCode":"USD"},"sku":null,"title":"12 oz","untranslatedTitle":"12 oz"}]},{"id":"6075322007726","handle":"dilworth","isCollective":null,"title":"Dilworth Decaf","type":"Coffee","untranslatedTitle":"Dilworth Decaf","url":"\/products\/dilworth","vendor":"Blossom Coffee Roasters","remoteShopId":null,"variants":[{"id":"37523813138606","image":{"src":"\/\/blossomcoffeeroasters.com\/cdn\/shop\/files\/Dilworth_Decaf_bag_for_Website_no_ORG.jpg?v=1773780594"},"price":{"amount":20.5,"currencyCode":"USD"},"sku":null,"title":"12 oz","untranslatedTitle":"12 oz"}]},{"id":"4697152127046","handle":"espresso-velluto","isCollective":null,"title":"Espresso Velluto","type":"Coffee","untranslatedTitle":"Espresso Velluto","url":"\/products\/espresso-velluto","vendor":"Blossom Coffee Roasters","remoteShopId":null,"variants":[{"id":"32113040031814","image":{"src":"\/\/blossomcoffeeroasters.com\/cdn\/shop\/files\/Espresso_Velluto_Bag_Front.jpg?v=1776365496"},"price":{"amount":20.0,"currencyCode":"USD"},"sku":null,"title":"12 oz","untranslatedTitle":"12 oz"}]},{"id":"4694481764422","handle":"ethiopia-ardi","isCollective":null,"title":"Ethiopia - Ardi - Natural","type":"Coffee","untranslatedTitle":"Ethiopia - Ardi - Natural","url":"\/products\/ethiopia-ardi","vendor":"Blossom Coffee Roasters","remoteShopId":null,"variants":[{"id":"32109462159430","image":{"src":"\/\/blossomcoffeeroasters.com\/cdn\/shop\/products\/ArdiBagforWebsitePGEG.jpg?v=1633469792"},"price":{"amount":22.5,"currencyCode":"USD"},"sku":"","title":"12 oz","untranslatedTitle":"12 oz"}]},{"id":"6075319648430","handle":"first-light-breakfast-blend-1","isCollective":null,"title":"First Light Breakfast Blend","type":"Coffee","untranslatedTitle":"First Light Breakfast Blend","url":"\/products\/first-light-breakfast-blend-1","vendor":"Blossom Coffee Roasters","remoteShopId":null,"variants":[{"id":"37523799670958","image":{"src":"\/\/blossomcoffeeroasters.com\/cdn\/shop\/products\/FirstLightRightAngelJPEG_3x-80.jpg?v=1605228752"},"price":{"amount":19.75,"currencyCode":"USD"},"sku":null,"title":"12 oz","untranslatedTitle":"12 oz"}]},{"id":"6075312505006","handle":"test-french-roast-organic-blend","isCollective":null,"title":"French Roast","type":"Coffee","untranslatedTitle":"French Roast","url":"\/products\/test-french-roast-organic-blend","vendor":"Blossom Coffee Roasters","remoteShopId":null,"variants":[{"id":"37523728793774","image":{"src":"\/\/blossomcoffeeroasters.com\/cdn\/shop\/files\/French_Roast_Bag__Front.jpg?v=1776367310"},"price":{"amount":20.5,"currencyCode":"USD"},"sku":null,"title":"12oz","untranslatedTitle":"12oz"}]},{"id":"8478748639406","handle":"guatemala-joyabaj-natural","isCollective":null,"title":"Guatemala - Joyabaj - Natural","type":"Coffee","untranslatedTitle":"Guatemala - Joyabaj - Natural","url":"\/products\/guatemala-joyabaj-natural","vendor":"Blossom Coffee Roasters","remoteShopId":null,"variants":[{"id":"45387660066990","image":{"src":"\/\/blossomcoffeeroasters.com\/cdn\/shop\/files\/Guatemala_Joyabaj_Natural_3c6526a2-f6e9-4d06-9e1a-926766d64e9f.jpg?v=1787163606"},"price":{"amount":22.0,"currencyCode":"USD"},"sku":null,"title":"12oz","untranslatedTitle":"12oz"}]},{"id":"9142088007854","handle":"sumatra-gayo-wet-hulled","isCollective":null,"title":"Mandheling Gayo - Wet Hulled","type":"Coffee","untranslatedTitle":"Mandheling Gayo - Wet Hulled","url":"\/products\/sumatra-gayo-wet-hulled","vendor":"Blossom Coffee Roasters","remoteShopId":null,"variants":[{"id":"47964316827822","image":{"src":"\/\/blossomcoffeeroasters.com\/cdn\/shop\/files\/Sumatra_Mandheling_Gayo_Wet_Hulled.jpg?v=1781046189"},"price":{"amount":21.0,"currencyCode":"USD"},"sku":null,"title":"12oz","untranslatedTitle":"12oz"}]},{"id":"9126582911150","handle":"mexico-alta-veracruz-natural","isCollective":null,"title":"Mexico - Altura Veracruz - Natural","type":"Coffee","untranslatedTitle":"Mexico - Altura Veracruz - Natural","url":"\/products\/mexico-alta-veracruz-natural","vendor":"Blossom Coffee Roasters","remoteShopId":null,"variants":[{"id":"47905379680430","image":{"src":"\/\/blossomcoffeeroasters.com\/cdn\/shop\/files\/MexicoAltaVeracruzNatural.jpg?v=1779735666"},"price":{"amount":20.5,"currencyCode":"USD"},"sku":null,"title":"12 oz.","untranslatedTitle":"12 oz."}]}
1490,{"id":"6075008778414","handle":"nectar","isCollective":null,"title":"Nectar","type":"Coffee","untranslatedTitle":"Nectar","url":"\/products\/nectar","vendor":"Blossom Coffee Roasters","remoteShopId":null,"variants":[{"id":"37522500223150","image":{"src":"\/\/blossomcoffeeroasters.com\/cdn\/shop\/files\/Nectar_Web_PNG.png?v=1773192768"},"price":{"amount":20.5,"currencyCode":"USD"},"sku":null,"title":"12oz","untranslatedTitle":"12oz"}]}],"purchasingCompany":null},},"https://blossomcoffeeroasters.com/cdn","7ec887c8w14f9f074p854094e1m1370c602",{"modern":"","legacy":""},{"trekkieShim":true,"agentContext":true,"apiClientId":"580111","facebookCapiEnabled":"true","themeId":"145191108782","themeStoreId":"847","themePublished":"true","eventMetadataId":"74b223c0-c44e-4f13-b657-44c2f9bc0c3f","pageType":"product","resourceId":"9218078736558","shopId":"2337869","storefrontBaseUrl":"https:\/\/blossomcoffeeroasters.com","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\",{}],[\"product_viewed\",{\"productVariant\":{\"price\":{\"amount\":22.5,\"currencyCode\":\"USD\"},\"product\":{\"title\":\"Rwanda - Rulindo Murambi - Washed\",\"vendor\":\"Blossom Coffee Roasters\",\"id\":\"9218078736558\",\"untranslatedTitle\":\"Rwanda - Rulindo Murambi - Washed\",\"url\":\"\/products\/rwanda-rulindo-murambi\",\"type\":\"Coffee\"},\"id\":\"48930908635310\",\"image\":{\"src\":\"\/\/blossomcoffeeroasters.com\/cdn\/shop\/files\/Rwanda_Rulindo_Washed.jpg?v=1788888722\"},\"sku\":null,\"title\":\"12oz\",\"untranslatedTitle\":\"12oz\"}}]]"});})();</script>
1490<script> 1491 window.ShopifyAnalytics = window.ShopifyAnalytics || {}; 1492 window.ShopifyAnalytics.meta = window.ShopifyAnalytics.meta || {}; 1493 window.ShopifyAnalytics.meta.currency = 'USD'; 1494 var meta = {"product":{"id":9218078736558,"gid":"gid:\/\/shopify\/Product\/9218078736558","vendor":"Blossom Coffee Roasters","type":"Coffee","handle":"rwanda-rulindo-murambi","variants":[{"id":48930908635310,"price":2250,"name":"Rwanda - Rulindo Murambi - Washed - 12oz","public_title":"12oz","sku":null},{"id":48930908668078,"price":2600,"name":"Rwanda - Rulindo Murambi - Washed - 1lb","public_title":"1lb","sku":null},{"id":48930908700846,"price":4800,"name":"Rwanda - Rulindo Murambi - Washed - 2lb","public_title":"2lb","sku":null},{"id":48930908733614,"price":11000,"name":"Rwanda - Rulindo Murambi - Washed - 5lb","public_title":"5lb","sku":null}],"remote":false},"page":{"pageType":"product","resourceType":"product","resourceId":9218078736558,"requestId":"9311fcdd-7d6d-4d63-a1a6-f3e22e608cbd-1791504064"}}; 1495 for (var attr in meta) { 1496 window.ShopifyAnalytics.meta[attr] = meta[attr]; 1497 } 1498</script>
vendor: 1 bytes, line 1498
1498
1499<script class="analytics"> 1500 (function () { 1501 var customDocumentWrite = function(content) { 1502 var jquery = null; 1503 1504 if (window.jQuery) { 1505 jquery = window.jQuery; 1506 } else if (window.Checkout && window.Checkout.$) { 1507 jquery = window.Checkout.$; 1508 } 1509 1510 if (jquery) { 1511 jquery('body').append(content); 1512 } 1513 }; 1514 1515 var hasLoggedConversion = function(token) { 1516 if (token) { 1517 return document.cookie.indexOf('loggedConversion=' + token) !== -1; 1518 } 1519 return false; 1520 } 1521 1522 var setCookieIfConversion = function(token) { 1523 if (token) { 1524 var twoMonthsFromNow = new Date(Date.now()); 1525 twoMonthsFromNow.setMonth(twoMonthsFromNow.getMonth() + 2); 1526 1527 document.cookie = 'loggedConversion=' + token + '; expires=' + twoMonthsFromNow; 1528 } 1529 } 1530 1531 var trekkie = window.ShopifyAnalytics.lib = window.trekkie = window.trekkie || []; 1532 window.ShopifyAnalytics.lib.trekkie = window.trekkie; 1533 if (trekkie.integrations) { 1534 return; 1535 } 1536 trekkie.methods = [ 1537 'identify', 1538 'page', 1539 'ready', 1540 'track', 1541 'trackForm', 1542 'trackLink' 1543 ]; 1544 trekkie.factory = function(method) { 1545 return function() { 1546 var args = Array.prototype.slice.call(arguments); 1547 args.unshift(method); 1548 trekkie.push(args); 1549 if (method == 'track' || method == 'page') { 1550 var pageUrl; 1551 try { 1552 pageUrl = window.location.href; 1553 } catch (e) {} 1554 var pageReferrer; 1555 try { 1556 pageReferrer = document.referrer; 1557 } catch (e) {} 1558 try { 1559 if (window.__TREKKIE_SHIM_QUEUE == null) { 1560 window.__TREKKIE_SHIM_QUEUE = []; 1561 } 1562 window.__TREKKIE_SHIM_QUEUE.push({ 1563 from: 'trekkie-stub', 1564 method: method, 1565 args: args.slice(1), 1566 pageContext: { 1567 url: pageUrl, 1568 referrer: pageReferrer 1569 } 1570 }); 1571 } catch (e) { 1572 // no-op 1573 } 1574 } 1575 return trekkie; 1576 }; 1577 }; 1578 for (var i = 0; i < trekkie.methods.length; i++) { 1579 var key = trekkie.methods[i]; 1580 trekkie[key] = trekkie.factory(key); 1581 } 1582 trekkie.load = function(config) { 1583 trekkie.config = config || {}; 1584 trekkie.config.initialDocumentCookie = document.cookie; 1585 var first = document.getElementsByTagName('script')[0]; 1586var script = document.createElement('script'); 1587script.type = 'text/javascript'; 1588script.onerror = function(e) { 1589 var scriptFallback = document.createElement('script'); 1590 scriptFallback.type = 'text/javascript'; 1591 scriptFallback.onerror = function(error) { 1592 var Monorail = { 1593 produce: function produce(monorailDomain, schemaId, payload) { 1594 var currentMs = new Date().getTime(); 1595 var event = { 1596 schema_id: schemaId, 1597 payload: payload, 1598 metadata: { 1599 event_created_at_ms: currentMs, 1600 event_sent_at_ms: currentMs 1601 } 1602 }; 1603 return Monorail.sendRequest("https://" + monorailDomain + "/v1/produce", JSON.stringify(event)); 1604 }, 1605 sendRequest: function sendRequest(endpointUrl, payload) { 1606 // Try the sendBeacon API 1607 if (window && window.navigator && typeof window.navigator.sendBeacon === 'function' && typeof window.Blob === 'function' && !Monorail.isIos12()) { 1608 var blobData = new window.Blob([payload], { 1609 type: 'text/plain' 1610 }); 1611 1612 if (window.navigator.sendBeacon(endpointUrl, blobData)) { 1613 return true; 1614 } // sendBeacon was not successful 1615 1616 } // XHR beacon 1617 1618 var xhr = new XMLHttpRequest(); 1619 1620 try { 1621 xhr.open('POST', endpointUrl); 1622 xhr.setRequestHeader('Content-Type', 'text/plain'); 1623 xhr.send(payload); 1624 } catch (e) { 1625 console.log(e); 1626 } 1627 1628 return false; 1629 }, 1630 isIos12: function isIos12() { 1631 return window.navigator.userAgent.lastIndexOf('iPhone; CPU iPhone OS 12_') !== -1 || window.navigator.userAgent.lastIndexOf('iPad; CPU OS 12_') !== -1; 1632 } 1633 }; 1634 Monorail.produce('monorail-edge.shopifysvc.com', 1635 'trekkie_storefront_load_errors/1.1', 1636 {shop_id: 2337869, 1637 theme_id: 145191108782, 1638 app_name: "storefront", 1639 context_url: window.location.href, 1640 source_url: "//blossomcoffeeroasters.com/cdn/s/trekkie.storefront.51e69540e15035ae012ec8cc42e8f9cd792233a0.min.js"}); 1641 1642 }; 1643 scriptFallback.async = true; 1644 scriptFallback.src = '//blossomcoffeeroasters.com/cdn/s/trekkie.storefront.51e69540e15035ae012ec8cc42e8f9cd792233a0.min.js'; 1645 first.parentNode.insertBefore(scriptFallback, first); 1646}; 1647script.async = true; 1648script.src = '//blossomcoffeeroasters.com/cdn/s/trekkie.storefront.51e69540e15035ae012ec8cc42e8f9cd792233a0.min.js'; 1649first.parentNode.insertBefore(script, first); 1650 1651 }; 1652 trekkie.load( 1653 {"Trekkie":{"appName":"storefront","development":false,"defaultAttributes":{"shopId":2337869,"isMerchantRequest":null,"themeId":145191108782,"themeCityHash":"8044000261906306243","contentLanguage":"en","currency":"USD","eventMetadataId":"74b223c0-c44e-4f13-b657-44c2f9bc0c3f"},"isServerSideCookieWritingEnabled":true,"monorailRegion":"shop_domain","enabledBetaFlags":["764d78cb","8450a54b","4c64608a"]},"Session Attribution":{},"S2S":{"facebookCapiEnabled":true,"source":"trekkie-storefront-renderer","apiClientId":580111}} 1654 ); 1655 1656 var loaded = false;
1657 trekkie.ready(function() { 1658 if (loaded) return; 1659 loaded = true; 1660 1661 window.ShopifyAnalytics.lib = window.trekkie; 1662 1663 var originalDocumentWrite = document.write; 1664 document.write = customDocumentWrite; 1665 try { window.ShopifyAnalytics.merchantGoogleAnalytics.call(this); } catch(error) {}; 1666 document.write = originalDocumentWrite; 1667 1668 var match = window.location.pathname.match(/checkouts\/(.+)\/(thank_you|post_purchase)/) 1669 var token = match? match[1]: undefined; 1670 if (!hasLoggedConversion(token)) { 1671 setCookieIfConversion(token); 1672 window.ShopifyAnalytics.lib.track("Viewed Product",{"currency":"USD","variantId":48930908635310,"productId":9218078736558,"productGid":"gid:\/\/shopify\/Product\/9218078736558","name":"Rwanda - Rulindo Murambi - Washed - 12oz","price":"22.50","sku":null,"brand":"Blossom Coffee Roasters","variant":"12oz","category":"Coffee","nonInteraction":true,"remote":false,"available":true},undefined,undefined,{"shopifyEmitted":true}); 1673 } 1674 }); 1675 1676 window.ShopifyAnalytics.lib.page(null,{"pageType":"product","resourceType":"product","resourceId":9218078736558,"requestId":"9311fcdd-7d6d-4d63-a1a6-f3e22e608cbd-1791504064","shopifyEmitted":true}); 1677 1678 var eventsListenerScript = document.createElement('script'); 1679 eventsListenerScript.async = true; 1680 eventsListenerScript.src = "//blossomcoffeeroasters.com/cdn/shopifycloud/storefront/assets/shop_events_listener-4e26a9ce.js"; 1681 document.getElementsByTagName('head')[0].appendChild(eventsListenerScript); 1682})();</script>
1682 1683
1683<script> 1684 if (!window.ga || (window.ga && typeof window.ga !== 'function')) { 1685 window.ga = function ga() { 1686 (window.ga.q = window.ga.q || []).push(arguments); 1687 if (window.Shopify && window.Shopify.analytics && typeof window.Shopify.analytics.publish === 'function') { 1688 window.Shopify.analytics.publish("ga_stub_called", {}, {sendTo: "google_osp_migration"}); 1689 } 1690 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."); 1691 }; 1692 if (window.Shopify && window.Shopify.analytics && typeof window.Shopify.analytics.publish === 'function') { 1693 window.Shopify.analytics.publish("ga_stub_initialized", {}, {sendTo: "google_osp_migration"}); 1694 } 1695 } 1696</script>
vendor: 1 bytes, line 1696
1696
1697<script 1698 defer 1699 src="https://blossomcoffeeroasters.com/cdn/shopifycloud/perf-kit/shopify-perf-kit-3.10.1.min.js" 1700 data-application="storefront-renderer" 1701 data-shop-id="2337869" 1702 data-render-region="gcp-us-central1" 1703 data-page-type="product" 1704 data-theme-instance-id="145191108782" 1705 data-theme-name="Motion" 1706 data-theme-version="5.1.4" 1707 data-monorail-region="shop_domain" 1708 data-resource-timing-sampling-rate="10" 1709 data-shs="true" 1710 data-shs-beacon="true" 1711 data-shs-export-with-fetch="true" 1712 data-shs-logs-sample-rate="1" 1713 data-shs-beacon-endpoint="https://blossomcoffeeroasters.com/api/collect" 1714></script>
vendor: 1 bytes, line 1714
1714
1715<script src="https://cdn.shopify.com/storefront/standard-actions.js" type="module" data-source-attribution="shopify.standard_actions"></script>
1715 1716<meta name="shopify-y" content="b3fb7bf0-5527-47ec-a6f6-14751499f073" data-expiration="1823061664000"><meta name="shopify-s" content="0d7c5e63-bb3a-40cd-84a0-11e6a25a5876" data-expiration="1791505864000"><meta name="new-cookie-storage-activated" content="t"> 1717</head> 1718 1719 <body 1720 class="template-product" 1721 data-transitions="false" 1722 data-type_base_accent_transform="true" 1723 data-type_header_accent_transform="true" 1724 data-animate_sections="false" 1725 data-animate_underlines="true" 1726 data-animate_buttons="true" 1727 data-animate_images="false" 1728 data-animate_page_transition_style="page-slow-fade" 1729 data-type_header_accent_transform="true" 1730 data-type_header_text_alignment="" 1731 data-animate_images_style="zoom-fade" 1732 > 1733 1734 1735 <a class="in-page-link visually-hidden skip-link" href="#MainContent">Skip to content</a> 1736 1737 <div id="PageContainer" class="page-container"> 1738 <div class="transition-body"> 1739 <div id="shopify-section-header" class="shopify-section"> 1740 1741 1742 1743<div id="NavDrawer" class="drawer drawer--left"> 1744 <div class="drawer__contents"> 1745 <div class="drawer__fixed-header"> 1746 <div class="drawer__header appear-animation appear-delay-1"> 1747 <div class="drawer__title"></div> 1748 <div class="drawer__close"> 1749 <button type="button" class="drawer__close-button js-drawer-close"> 1750 <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-close" viewBox="0 0 64 64"><path d="M19 17.61l27.12 27.13m0-27.12L19 44.74"/></svg> 1751 <span class="icon__fallback-text">Close menu</span> 1752 </button> 1753 </div> 1754 </div> 1755 </div> 1756 <div class="drawer__scrollable"> 1757 <ul class="mobile-nav" role="navigation" aria-label="Primary"> 1758 1759 1760 1761 <li class="mobile-nav__item appear-animation appear-delay-2"> 1762 1763 <div class="mobile-nav__has-sublist"> 1764 1765 <a href="/collections/coffee" class="mobile-nav__link" id="Label-collections-coffee1"> 1766 Coffee 1767 </a> 1768 <div class="mobile-nav__toggle"> 1769 <button type="button" class="collapsible-trigger collapsible--auto-height" aria-controls="Linklist-collections-coffee1"> 1770 <span class="collapsible-trigger__icon collapsible-trigger__icon--open" role="presentation"> 1771 <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon--wide icon-chevron-down" viewBox="0 0 28 16"><path d="M1.57 1.59l12.76 12.77L27.1 1.59" stroke-width="2" stroke="#000" fill="none" fill-rule="evenodd"/></svg> 1772</span> 1773 1774 </button> 1775 </div> 1776 1777 </div> 1778 1779 1780 1781 <div id="Linklist-collections-coffee1" class="mobile-nav__sublist collapsible-content collapsible-content--all" aria-labelledby="Label-collections-coffee1"> 1782 <div class="collapsible-content__inner"> 1783 <ul class="mobile-nav__sublist"> 1784 1785 1786 1787 <li class="mobile-nav__item"> 1788 <div class="mobile-nav__child-item"> 1789 1790 <a href="/collections/blends" class="mobile-nav__link" id="Sublabel-collections-blends1"> 1791 Blends 1792 </a> 1793 1794 1795 </div> 1796 1797 1798 </li> 1799 1800 1801 1802 <li class="mobile-nav__item"> 1803 <div class="mobile-nav__child-item"> 1804 1805 <a href="/collections/single-origins" class="mobile-nav__link" id="Sublabel-collections-single-origins2"> 1806 Single-Origins 1807 </a> 1808 1809 1810 </div> 1811 1812 1813 </li> 1814 1815 1816 1817 <li class="mobile-nav__item"> 1818 <div class="mobile-nav__child-item"> 1819 1820 <a href="/collections/best-sellers" class="mobile-nav__link" id="Sublabel-collections-best-sellers3"> 1821 Best Sellers 1822 </a> 1823 1824 1825 </div> 1826 1827 1828 </li> 1829 1830 1831 1832 <li class="mobile-nav__item"> 1833 <div class="mobile-nav__child-item"> 1834 1835 <a href="/collections/decaf" class="mobile-nav__link" id="Sublabel-collections-decaf4"> 1836 Decaf 1837 </a> 1838 1839 1840 </div> 1841 1842 1843 </li> 1844 1845 </ul> 1846 </div> 1847 </div> 1848 1849 </li> 1850 1851 1852 1853 <li class="mobile-nav__item appear-animation appear-delay-3"> 1854 1855 <div class="mobile-nav__has-sublist"> 1856 1857 <a href="/collections/tea" class="mobile-nav__link" id="Label-collections-tea2"> 1858 Tea 1859 </a> 1860 <div class="mobile-nav__toggle"> 1861 <button type="button" class="collapsible-trigger collapsible--auto-height" aria-controls="Linklist-collections-tea2">
1862 <span class="collapsible-trigger__icon collapsible-trigger__icon--open" role="presentation"> 1863 <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon--wide icon-chevron-down" viewBox="0 0 28 16"><path d="M1.57 1.59l12.76 12.77L27.1 1.59" stroke-width="2" stroke="#000" fill="none" fill-rule="evenodd"/></svg> 1864</span> 1865 1866 </button> 1867 </div> 1868 1869 </div> 1870 1871 1872 1873 <div id="Linklist-collections-tea2" class="mobile-nav__sublist collapsible-content collapsible-content--all" aria-labelledby="Label-collections-tea2"> 1874 <div class="collapsible-content__inner"> 1875 <ul class="mobile-nav__sublist"> 1876 1877 1878 1879 <li class="mobile-nav__item"> 1880 <div class="mobile-nav__child-item"> 1881 1882 <a href="/collections/herbal" class="mobile-nav__link" id="Sublabel-collections-herbal1"> 1883 Herbal 1884 </a> 1885 1886 1887 </div> 1888 1889 1890 </li> 1891 1892 1893 1894 <li class="mobile-nav__item"> 1895 <div class="mobile-nav__child-item"> 1896 1897 <a href="/collections/green-1" class="mobile-nav__link" id="Sublabel-collections-green-12"> 1898 Green 1899 </a> 1900 1901 1902 </div> 1903 1904 1905 </li> 1906 1907 1908 1909 <li class="mobile-nav__item"> 1910 <div class="mobile-nav__child-item"> 1911 1912 <a href="/collections/black" class="mobile-nav__link" id="Sublabel-collections-black3"> 1913 Black 1914 </a> 1915 1916 1917 </div> 1918 1919 1920 </li> 1921 1922 </ul> 1923 </div> 1924 </div> 1925 1926 </li> 1927 1928 1929 1930 <li class="mobile-nav__item appear-animation appear-delay-4"> 1931 1932 <div class="mobile-nav__has-sublist"> 1933 1934 <a href="/collections/subscriptions" class="mobile-nav__link" id="Label-collections-subscriptions3"> 1935 Subscriptions 1936 </a> 1937 <div class="mobile-nav__toggle"> 1938 <button type="button" class="collapsible-trigger collapsible--auto-height" aria-controls="Linklist-collections-subscriptions3"> 1939 <span class="collapsible-trigger__icon collapsible-trigger__icon--open" role="presentation"> 1940 <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon--wide icon-chevron-down" viewBox="0 0 28 16"><path d="M1.57 1.59l12.76 12.77L27.1 1.59" stroke-width="2" stroke="#000" fill="none" fill-rule="evenodd"/></svg> 1941</span> 1942 1943 </button> 1944 </div> 1945 1946 </div> 1947 1948 1949 1950 <div id="Linklist-collections-subscriptions3" class="mobile-nav__sublist collapsible-content collapsible-content--all" aria-labelledby="Label-collections-subscriptions3"> 1951 <div class="collapsible-content__inner"> 1952 <ul class="mobile-nav__sublist"> 1953 1954 1955 1956 <li class="mobile-nav__item"> 1957 <div class="mobile-nav__child-item"> 1958 1959 <a href="/collections/subscriptions" class="mobile-nav__link" id="Sublabel-collections-subscriptions1"> 1960 Subscriptions 1961 </a> 1962 1963 1964 </div> 1965 1966 1967 </li> 1968 1969 1970 1971 <li class="mobile-nav__item"> 1972 <div class="mobile-nav__child-item"> 1973 1974 <a href="/collections/bundles" class="mobile-nav__link" id="Sublabel-collections-bundles2"> 1975 Bundles 1976 </a> 1977 1978 1979 </div> 1980 1981 1982 </li> 1983 1984 1985 1986 <li class="mobile-nav__item"> 1987 <div class="mobile-nav__child-item"> 1988 1989 <a href="/collections/gifts" class="mobile-nav__link" id="Sublabel-collections-gifts3"> 1990 Merch 1991 </a> 1992 1993 1994 </div> 1995 1996 1997 </li> 1998 1999 </ul> 2000 </div> 2001 </div> 2002 2003 </li> 2004 2005 2006 2007 <li class="mobile-nav__item appear-animation appear-delay-5"> 2008 2009 <div class="mobile-nav__has-sublist"> 2010 2011 <a href="/pages/our-coffee" class="mobile-nav__link" id="Label-pages-our-coffee4"> 2012 About 2013 </a> 2014 <div class="mobile-nav__toggle"> 2015 <button type="button" class="collapsible-trigger collapsible--auto-height" aria-controls="Linklist-pages-our-coffee4">
2016 <span class="collapsible-trigger__icon collapsible-trigger__icon--open" role="presentation"> 2017 <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon--wide icon-chevron-down" viewBox="0 0 28 16"><path d="M1.57 1.59l12.76 12.77L27.1 1.59" stroke-width="2" stroke="#000" fill="none" fill-rule="evenodd"/></svg> 2018</span> 2019 2020 </button> 2021 </div> 2022 2023 </div> 2024 2025 2026 2027 <div id="Linklist-pages-our-coffee4" class="mobile-nav__sublist collapsible-content collapsible-content--all" aria-labelledby="Label-pages-our-coffee4"> 2028 <div class="collapsible-content__inner"> 2029 <ul class="mobile-nav__sublist"> 2030 2031 2032 2033 <li class="mobile-nav__item"> 2034 <div class="mobile-nav__child-item"> 2035 2036 <a href="/pages/our-coffee" class="mobile-nav__link" id="Sublabel-pages-our-coffee1"> 2037 About Us 2038 </a> 2039 2040 2041 </div> 2042 2043 2044 </li> 2045 2046 2047 2048 <li class="mobile-nav__item"> 2049 <div class="mobile-nav__child-item"> 2050 2051 <a href="/pages/faq" class="mobile-nav__link" id="Sublabel-pages-faq2"> 2052 FAQ 2053 </a> 2054 2055 2056 </div> 2057 2058 2059 </li> 2060 2061 2062 2063 <li class="mobile-nav__item"> 2064 <div class="mobile-nav__child-item"> 2065 2066 <a href="/pages/islanders" class="mobile-nav__link" id="Sublabel-pages-islanders3"> 2067 Islanders 2068 </a> 2069 2070 2071 </div> 2072 2073 2074 </li> 2075 2076 </ul> 2077 </div> 2078 </div> 2079 2080 </li> 2081 2082 2083 2084 <li class="mobile-nav__item appear-animation appear-delay-6"> 2085 2086 <a href="/pages/wholesale" class="mobile-nav__link">Wholesale</a> 2087 2088 2089 2090 </li> 2091 2092 2093 2094 <li class="mobile-nav__item appear-animation appear-delay-7"> 2095 2096 <a href="/pages/contact-us" class="mobile-nav__link">Contact Us</a> 2097 2098 2099 2100 </li> 2101 2102 2103 2104 2105 <li class="mobile-nav__item appear-animation appear-delay-8"> 2106 <a href="/account/login" class="mobile-nav__link">Log in</a> 2107 </li> 2108 2109 2110 2111 <li class="mobile-nav__spacer"></li> 2112 2113 </ul> 2114 2115 <ul class="mobile-nav__social"> 2116 2117<li class="appear-animation appear-delay-9"> 2118 <a target="_blank" rel="noopener" href="https://www.facebook.com/people/Blossom-Coffee-Roasters/61551381509077/" title="Blossom Coffee Roasters on Facebook"> 2119 <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-facebook" viewBox="0 0 32 32"><path fill="#444" d="M18.56 31.36V17.28h4.48l.64-5.12h-5.12v-3.2c0-1.28.64-2.56 2.56-2.56h2.56V1.28H19.2c-3.84 0-7.04 2.56-7.04 7.04v3.84H7.68v5.12h4.48v14.08h6.4z"/></svg> 2120 <span class="icon__fallback-text">Facebook</span> 2121 </a> 2122 </li> 2123 2124 2125 2126 2127<li class="appear-animation appear-delay-10"> 2128 <a target="_blank" rel="noopener" href="https://instagram.com/blossomcoffeeroastery" title="Blossom Coffee Roasters on Instagram"> 2129 <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-instagram" viewBox="0 0 32 32"><path fill="#444" d="M16 3.094c4.206 0 4.7.019 6.363.094 1.538.069 2.369.325 2.925.544.738.287 1.262.625 1.813 1.175s.894 1.075 1.175 1.813c.212.556.475 1.387.544 2.925.075 1.662.094 2.156.094 6.363s-.019 4.7-.094 6.363c-.069 1.538-.325 2.369-.544 2.925-.288.738-.625 1.262-1.175 1.813s-1.075.894-1.813 1.175c-.556.212-1.387.475-2.925.544-1.663.075-2.156.094-6.363.094s-4.7-.019-6.363-.094c-1.537-.069-2.369-.325-2.925-.544-.737-.288-1.263-.625-1.813-1.175s-.894-1.075-1.175-1.813c-.212-.556-.475-1.387-.544-2.925-.075-1.663-.094-2.156-.094-6.363s.019-4.7.094-6.363c.069-1.537.325-2.369.544-2.925.287-.737.625-1.263 1.175-1.813s1.075-.894 1.813-1.175c.556-.212 1.388-.475 2.925-.544 1.662-.081 2.156-.094 6.363-.094zm0-2.838c-4.275 0-4.813.019-6.494.094-1.675.075-2.819.344-3.819.731-1.037.4-1.913.944-2.788 1.819S1.486 4.656 1.08 5.688c-.387 1-.656 2.144-.731 3.825-.
2129075 1.675-.094 2.213-.094 6.488s.019 4.813.094 6.494c.075 1.675.344 2.819.731 3.825.4 1.038.944 1.913 1.819 2.788s1.756 1.413 2.788 1.819c1 .387 2.144.656 3.825.731s2.213.094 6.494.094 4.813-.019 6.494-.094c1.675-.075 2.819-.344 3.825-.731 1.038-.4 1.913-.944 2.788-1.819s1.413-1.756 1.819-2.788c.387-1 .656-2.144.731-3.825s.094-2.212.094-6.494-.019-4.813-.094-6.494c-.075-1.675-.344-2.819-.731-3.825-.4-1.038-.944-1.913-1.819-2.788s-1.756-1.413-2.788-1.819c-1-.387-2.144-.656-3.825-.731C20.812.275 20.275.256 16 .256z"/><path fill="#444" d="M16 7.912a8.088 8.088 0 0 0 0 16.175c4.463 0 8.087-3.625 8.087-8.088s-3.625-8.088-8.088-8.088zm0 13.338a5.25 5.25 0 1 1 0-10.5 5.25 5.25 0 1 1 0 10.5zM26.294 7.594a1.887 1.887 0 1 1-3.774.002 1.887 1.887 0 0 1 3.774-.003z"/></svg> 2130 <span class="icon__fallback-text">Instagram</span> 2131 </a> 2132 </li> 2133 2134 2135 2136 2137 2138 2139 2140 </ul> 2141 </div> 2142 </div> 2143</div> 2144 2145 2146 <div id="CartDrawer" class="drawer drawer--right"> 2147 <form action="/cart" method="post" novalidate class="drawer__contents"> 2148 <div class="drawer__fixed-header"> 2149 <div class="drawer__header appear-animation appear-delay-1"> 2150 <div class="drawer__title">Cart</div> 2151 <div class="drawer__close"> 2152 <button type="button" class="drawer__close-button js-drawer-close"> 2153 <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-close" viewBox="0 0 64 64"><path d="M19 17.61l27.12 27.13m0-27.12L19 44.74"/></svg> 2154 <span class="icon__fallback-text">Close cart</span> 2155 </button> 2156 </div> 2157 </div> 2158 </div> 2159 2160 <div id="CartContainer" class="drawer__inner"></div> 2161 </form> 2162 </div> 2163 2164 2165 2166 2167 2168 2169<style data-shopify> 2170 .site-nav__link, 2171 .site-nav__dropdown-link { 2172 font-size: 18px; 2173 } 2174 2175 2176</style> 2177 2178<div data-section-id="header" data-section-type="header-section"> 2179 <div class="header-wrapper"> 2180 2181 2182 <div class="announcement announcement--closeable announcement--closed"> 2183 2184 2185 <span class="announcement__text announcement__text--open" data-text="free-shipping-on-orders-over-50"> 2186 Free Shipping on Orders Over $50 2187 </span> 2188 2189 2190 2191 2192 <button type="button" class="text-link announcement__close"> 2193 <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-close" viewBox="0 0 64 64"><path d="M19 17.61l27.12 27.13m0-27.12L19 44.74"/></svg> 2194 <span class="icon__fallback-text">"Close"</span> 2195 </button> 2196 2197</div> 2198 2199 2200 2201 <header 2202 class="site-header" 2203 data-sticky="false" 2204 data-overlay="false"> 2205 <div class="page-width"> 2206 <div 2207 class="header-layout header-layout--center-split" 2208 data-logo-align="center"> 2209 2210 2211 2212 2213 2214 2215 <div class="header-item header-item--left header-item--navigation"> 2216 2217 2218 <div class="site-nav medium-down--hide"> 2219 <a href="/search" class="site-nav__link site-nav__link--icon js-search-header js-no-transition"> 2220 <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-search" viewBox="0 0 64 64"><path d="M47.16 28.58A18.58 18.58 0 1 1 28.58 10a18.58 18.58 0 0 1 18.58 18.58zM54 54L41.94 42"/></svg> 2221 <span class="icon__fallback-text">Search</span> 2222 </a> 2223 </div> 2224 2225 2226 2227 2228 2229 <div class="site-nav large-up--hide"> 2230 <button 2231 type="button" 2232 class="site-nav__link site-nav__link--icon js-drawer-open-nav" 2233 aria-controls="NavDrawer"> 2234 <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-hamburger" viewBox="0 0 64 64"><path d="M7 15h51M7 32h43M7 49h51"/></svg> 2235 <span class="icon__fallback-text">Site navigation</span> 2236 </button> 2237 </div> 2238 </div> 2239 2240 2241 2242<div class="header-item header-item--logo-split" role="navigation" aria-label="Primary"> 2243 <div class="header-item header-item--split-left"> 2244 2245 2246 2247<ul
2248 class="site-nav site-navigation medium-down--hide" 2249 > 2250 2251 2252 2253 <li 2254 class="site-nav__item site-nav__expanded-item site-nav--has-dropdown" 2255 aria-haspopup="true"> 2256 2257 <a href="/collections/coffee" class="site-nav__link site-nav__link--has-dropdown"> 2258 Coffee 2259 2260 <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon--wide icon-chevron-down" viewBox="0 0 28 16"><path d="M1.57 1.59l12.76 12.77L27.1 1.59" stroke-width="2" stroke="#000" fill="none" fill-rule="evenodd"/></svg> 2261 2262 </a> 2263 2264 <ul class="site-nav__dropdown text-left"> 2265 2266 2267 2268 <li class=""> 2269 <a href="/collections/blends" class="site-nav__dropdown-link site-nav__dropdown-link--second-level "> 2270 Blends 2271 2272 </a> 2273 2274 </li> 2275 2276 2277 2278 <li class=""> 2279 <a href="/collections/single-origins" class="site-nav__dropdown-link site-nav__dropdown-link--second-level "> 2280 Single-Origins 2281 2282 </a> 2283 2284 </li> 2285 2286 2287 2288 <li class=""> 2289 <a href="/collections/best-sellers" class="site-nav__dropdown-link site-nav__dropdown-link--second-level "> 2290 Best Sellers 2291 2292 </a> 2293 2294 </li> 2295 2296 2297 2298 <li class=""> 2299 <a href="/collections/decaf" class="site-nav__dropdown-link site-nav__dropdown-link--second-level "> 2300 Decaf 2301 2302 </a> 2303 2304 </li> 2305 2306 </ul> 2307 2308 </li> 2309 2310 2311 2312 <li 2313 class="site-nav__item site-nav__expanded-item site-nav--has-dropdown" 2314 aria-haspopup="true"> 2315 2316 <a href="/collections/tea" class="site-nav__link site-nav__link--has-dropdown"> 2317 Tea 2318 2319 <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon--wide icon-chevron-down" viewBox="0 0 28 16"><path d="M1.57 1.59l12.76 12.77L27.1 1.59" stroke-width="2" stroke="#000" fill="none" fill-rule="evenodd"/></svg> 2320 2321 </a> 2322 2323 <ul class="site-nav__dropdown text-left"> 2324 2325 2326 2327 <li class=""> 2328 <a href="/collections/herbal" class="site-nav__dropdown-link site-nav__dropdown-link--second-level "> 2329 Herbal 2330 2331 </a> 2332 2333 </li> 2334 2335 2336 2337 <li class=""> 2338 <a href="/collections/green-1" class="site-nav__dropdown-link site-nav__dropdown-link--second-level "> 2339 Green 2340 2341 </a> 2342 2343 </li> 2344 2345 2346 2347 <li class=""> 2348 <a href="/collections/black" class="site-nav__dropdown-link site-nav__dropdown-link--second-level "> 2349 Black 2350 2351 </a> 2352 2353 </li> 2354 2355 </ul> 2356 2357 </li> 2358 2359 2360 2361 <li 2362 class="site-nav__item site-nav__expanded-item site-nav--has-dropdown" 2363 aria-haspopup="true"> 2364 2365 <a href="/collections/subscriptions" class="site-nav__link site-nav__link--has-dropdown"> 2366 Subscriptions 2367 2368 <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon--wide icon-chevron-down" viewBox="0 0 28 16"><path d="M1.57 1.59l12.76 12.77L27.1 1.59" stroke-width="2" stroke="#000" fill="none" fill-rule="evenodd"/></svg> 2369 2370 </a> 2371 2372 <ul class="site-nav__dropdown text-left"> 2373 2374 2375 2376 <li class=""> 2377 <a href="/collections/subscriptions" class="site-nav__dropdown-link site-nav__dropdown-link--second-level "> 2378 Subscriptions 2379 2380 </a> 2381 2382 </li> 2383 2384 2385 2386 <li class=""> 2387 <a href="/collections/bundles" class="site-nav__dropdown-link site-nav__dropdown-link--second-level "> 2388 Bundles 2389 2390 </a> 2391 2392 </li> 2393 2394 2395 2396 <li class=""> 2397 <a href="/collections/gifts" class="site-nav__dropdown-link site-nav__dropdown-link--second-level "> 2398 Merch 2399 2400 </a> 2401 2402 </li> 2403 2404 </ul> 2405 2406 </li> 2407 2408</ul> 2409 2410 </div> 2411 <div class="header-item header-item--logo"> 2412 2413 2414 2415 2416<style data-shopify> 2417 .header-item--logo, 2418 .header-layout--left-center .header-item--logo, 2419 .header-layout--left-center .header-item--icons { 2420 -webkit-box-flex: 0 1 100px; 2421 -ms-flex: 0 1 100px; 2422 flex: 0 1 100px; 2423 } 2424 2425 @media only screen and (min-width: 769px) { 2426 .header-item--logo, 2427 .header-layout--left-center .header-item--logo, 2428 .header-layout--left-center .header-item--icons { 2429 -webkit-box-flex: 0 0 140px; 2430 -ms-flex: 0 0 140px; 2431 flex: 0 0 140px; 2432 } 2433 } 2434 2435 .site-header__logo a { 2436 max-width: 100px; 2437 } 2438 .is-light .site-header__logo .logo--inverted { 2439 max-width: 100px; 2440 } 2441 @media only screen and (min-width: 769px) { 2442 .site-header__logo a { 2443 max-width: 140px; 2444 } 2445 2446 .is-light .site-header__logo .logo--inverted { 2447 max-width: 140px; 2448 } 2449 } 2450 </style> 2451 2452 2453 <div class="h1 site-header__logo" itemscope itemtype="http://schema.org/Organization"> 2454 2455 2456 2457 <a 2458 href="/" 2459 itemprop="url" 2460 class="site-header__logo-link logo--has-inverted"> 2461 <img 2462 class="small--hide" 2463 src="//blossomcoffeeroasters.com/cdn/shop/files/Asset_1_c6097baf-a8e1-4050-88e1-b38f39600d26_140x.png?v=1613682594" 2464 srcset="//blossomcoffeeroasters.com/cdn/shop/files/Asset_1_c6097baf-a8e1-4050-88e1-b38f39600d26_140x.png?v=1613682594 1x, //blossomcoffeeroasters.com/cdn/shop/files/[email protected]?v=1613682594 2x" 2465 alt="Blossom Coffee Roasters" 2466 itemprop="logo"> 2467 <img 2468 class="medium-up--hide" 2469 src="//blossomcoffeeroasters.com/cdn/shop/files/Asset_1_c6097baf-a8e1-4050-88e1-b38f39600d26_100x.png?v=1613682594" 2470 srcset="//blossomcoffeeroasters.com/cdn/shop/files/Asset_1_c6097baf-a8e1-4050-88e1-b38f39600d26_100x.png?v=1613682594 1x, //blossomcoffeeroasters.com/cdn/shop/files/[email protected]?v=1613682594 2x" 2471 alt="Blossom Coffee Roasters"> 2472 </a> 2473 2474 <a 2475 href="/" 2476 itemprop="url" 2477 class="site-header__logo-link logo--inverted"> 2478 <img 2479 class="small--hide" 2480 src="//blossomcoffeeroasters.com/cdn/shop/files/Asset_1_c6097baf-a8e1-4050-88e1-b38f39600d26_140x.png?v=1613682594" 2481 srcset="//blossomcoffeeroasters.com/cdn/shop/files/Asset_1_c6097baf-a8e1-4050-88e1-b38f39600d26_140x.png?v=1613682594 1x, //blossomcoffeeroasters.com/cdn/shop/files/[email protected]?v=1613682594 2x" 2482 alt="Blossom Coffee Roasters" 2483 itemprop="logo"> 2484 <img 2485 class="medium-up--hide" 2486 src="//blossomcoffeeroasters.com/cdn/shop/files/Asset_1_c6097baf-a8e1-4050-88e1-b38f39600d26_100x.png?v=1613682594" 2487 srcset="//blossomcoffeeroasters.com/cdn/shop/files/Asset_1_c6097baf-a8e1-4050-88e1-b38f39600d26_100x.png?v=1613682594 1x, //blossomcoffeeroasters.com/cdn/shop/files/[email protected]?v=1613682594 2x" 2488 alt="Blossom Coffee Roasters"> 2489 </a> 2490 2491 2492 2493 </div> 2494 2495 2496 2497 2498 2499 2500 2501 </div> 2502 <div class="header-item header-item--split-right"> 2503 2504 2505 2506<ul
2507 class="site-nav site-navigation medium-down--hide" 2508 > 2509 2510 2511 2512 <li 2513 class="site-nav__item site-nav__expanded-item site-nav--has-dropdown" 2514 aria-haspopup="true"> 2515 2516 <a href="/pages/our-coffee" class="site-nav__link site-nav__link--has-dropdown"> 2517 About 2518 2519 <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon--wide icon-chevron-down" viewBox="0 0 28 16"><path d="M1.57 1.59l12.76 12.77L27.1 1.59" stroke-width="2" stroke="#000" fill="none" fill-rule="evenodd"/></svg> 2520 2521 </a> 2522 2523 <ul class="site-nav__dropdown text-left"> 2524 2525 2526 2527 <li class=""> 2528 <a href="/pages/our-coffee" class="site-nav__dropdown-link site-nav__dropdown-link--second-level "> 2529 About Us 2530 2531 </a> 2532 2533 </li> 2534 2535 2536 2537 <li class=""> 2538 <a href="/pages/faq" class="site-nav__dropdown-link site-nav__dropdown-link--second-level "> 2539 FAQ 2540 2541 </a> 2542 2543 </li> 2544 2545 2546 2547 <li class=""> 2548 <a href="/pages/islanders" class="site-nav__dropdown-link site-nav__dropdown-link--second-level "> 2549 Islanders 2550 2551 </a> 2552 2553 </li> 2554 2555 </ul> 2556 2557 </li> 2558 2559 2560 2561 <li 2562 class="site-nav__item site-nav__expanded-item" 2563 > 2564 2565 <a href="/pages/wholesale" class="site-nav__link"> 2566 Wholesale 2567 2568 </a> 2569 2570 </li> 2571 2572 2573 2574 <li 2575 class="site-nav__item site-nav__expanded-item" 2576 > 2577 2578 <a href="/pages/contact-us" class="site-nav__link"> 2579 Contact Us 2580 2581 </a> 2582 2583 </li> 2584 2585</ul> 2586 2587 </div> 2588</div> 2589 2590 2591 2592 2593 2594 2595 <div class="header-item header-item--icons"> 2596 <div class="site-nav site-nav--icons"> 2597 <div class="site-nav__icons"> 2598 2599 <a class="site-nav__link site-nav__link--icon medium-down--hide" href="/account"> 2600 <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-user" viewBox="0 0 64 64"><path d="M35 39.84v-2.53c3.3-1.91 6-6.66 6-11.41 0-7.63 0-13.82-9-13.82s-9 6.19-9 13.82c0 4.75 2.7 9.51 6 11.41v2.53c-10.18.85-18 6-18 12.16h42c0-6.19-7.82-11.31-18-12.16z"/></svg> 2601 <span class="icon__fallback-text"> 2602 2603 Log in 2604 2605 </span> 2606 </a> 2607 2608 2609 2610 <a href="/search" class="site-nav__link site-nav__link--icon js-search-header js-no-transition large-up--hide"> 2611 <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-search" viewBox="0 0 64 64"><path d="M47.16 28.58A18.58 18.58 0 1 1 28.58 10a18.58 18.58 0 0 1 18.58 18.58zM54 54L41.94 42"/></svg> 2612 <span class="icon__fallback-text">Search</span> 2613 </a> 2614 2615 2616 2617 2618 <a href="/cart" class="site-nav__link site-nav__link--icon js-drawer-open-cart js-no-transition" aria-controls="CartDrawer" data-icon="cart"> 2619 <span class="cart-link"><svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-cart" viewBox="0 0 64 64"><path d="M14 17.44h46.79l-7.94 25.61H20.96l-9.65-35.1H3"/><circle cx="27" cy="53" r="2"/><circle cx="47" cy="53" r="2"/></svg><span class="icon__fallback-text">Cart</span> 2620 <span class="cart-link__bubble"></span> 2621 </span> 2622 </a> 2623 </div> 2624</div> 2625 2626 </div> 2627 </div> 2628 2629 2630 </div> 2631 <div class="site-header__search-container"> 2632 <div class="site-header__search"> 2633 <div class="page-width"> 2634 <form action="/search" method="get" id="HeaderSearchForm" class="site-header__search-form" role="search"> 2635 <input type="hidden" name="type" value="product,article,page,collection"> 2636 <button type="submit" class="text-link site-header__search-btn"> 2637 <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-search" viewBox="0 0 64 64"><path d="M47.16 28.58A18.58 18.58 0 1 1 28.58 10a18.58 18.58 0 0 1 18.58 18.58zM54 54L41.94 42"/></svg>
2638 <span class="icon__fallback-text">Search</span> 2639 </button> 2640 <input type="search" name="q" value="" placeholder="Search our store" class="site-header__search-input" aria-label="Search our store"> 2641 </form> 2642 <button type="button" class="js-search-header-close text-link site-header__search-btn"> 2643 <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-close" viewBox="0 0 64 64"><path d="M19 17.61l27.12 27.13m0-27.12L19 44.74"/></svg> 2644 <span class="icon__fallback-text">"Close (esc)"</span> 2645 </button> 2646 </div> 2647 </div><div class="predictive-results hide"> 2648 <div class="page-width"> 2649 <div id="PredictiveResults"></div> 2650 <div class="text-center predictive-results__footer"> 2651 <button type="button" class="btn btn--small" data-predictive-search-button> 2652 <small> 2653 View more 2654 </small> 2655 </button> 2656 </div> 2657 </div> 2658 </div></div> 2659 </header> 2660 </div> 2661</div> 2662 2663 2664</div> 2665 2666 <main class="main-content" id="MainContent"> 2667 <div id="shopify-section-product-template" class="shopify-section"><div class="selling-plan-fieldset" data-product={"id":9218078736558,"title":"Rwanda - Rulindo Murambi - Washed","handle":"rwanda-rulindo-murambi","description":"\u003cp\u003eThis lot of Rulindo Murambi was grown by more than 170 family owned farms in Rwanda's Gatsibo district. Smallholder farmers bring their cherries to the centralized Murambi washing station where they are processed with safer, more modernized machinery than individual farmers are able to access. Murambi begins the processing with the quality control method of hand sorting and floating the cherries in water. They are then depulped and fermented. The fermentation process is halted by a 18-24 hour freshwater soak, after which the parchment is washed for a second time. Washing station workers perform a final round of quality control by meticulously hand sorting the parchment on pre-drying tables while it is gently dried to the touch. After removing any parchment with defects from the lot, they transfer it to fully exposed drying tables for 14-21 days. \u003c\/p\u003e\n\u003cp\u003eWe love this coffee's bright opening plum notes, which meld into smooth dark chocolate and the rich sweetness of brown sugar. Brew it as a pourover for more prominent fruit notes or try it as espresso to bring out its complex chocolate flavor!\u003c\/p\u003e","published_at":"2026-09-08T10:33:08-07:00","created_at":"2026-08-22T14:27:54-07:00","vendor":"Blossom Coffee Roasters","type":"Coffee","tags":["Africa","Bottomless","Coffee","Light roast","Rwanda","specialty coffee","Washed"],"price":2250,"price_min":2250,"price_max":11000,"available":true,"price_varies":true,"compare_at_price":null,"compare_at_price_min":0,"compare_at_price_max":0,"compare_at_price_varies":false,"variants":[{"id":48930908635310,"title":"12oz","option1":"12oz","option2":null,"option3":null,"sku":null,"requires_shipping":true,"taxable":true,"featured_image":{"id":45430876766382,"product_id":9218078736558,"position":1,"created_at":"2026-09-08T10:32:00-07:00","updated_at":"2026-09-08T10:32:02-07:00","alt":null,"width":2654,"height":2653,"src":"\/\/blossomcoffeeroasters.com\/cdn\/shop\/files\/Rwanda_Rulindo_Washed.jpg?v=1788888722","variant_ids":[48930908635310]},"available":true,"name":"Rwanda - Rulindo Murambi - Washed - 12oz","public_title":"12oz","options":["12oz"],"price":2250,"weight":0,"compare_at_price":null,"inventory_quantity":-6,"inventory_management":null,"inventory_policy":"deny","barcode":null,"featured_media":{"alt":null,"id":35956263452846,"position":1,"preview_image":{"aspect_ratio":1.0,"height":2653,"width":2654,"
2667src":"\/\/blossomcoffeeroasters.com\/cdn\/shop\/files\/Rwanda_Rulindo_Washed.jpg?v=1788888722"}},"requires_selling_plan":false,"selling_plan_allocations":[{"price_adjustments":[{"position":1,"price":1800},{"position":2,"price":2025}],"price":1800,"compare_at_price":2250,"per_delivery_price":1800,"selling_plan_id":3594158254,"selling_plan_group_id":"52d60c9a87e98523ff88ad283e61aad784cf310a"}],"quantity_rule":{"min":1,"max":null,"increment":1}},{"id":48930908668078,"title":"1lb","option1":"1lb","option2":null,"option3":null,"sku":null,"requires_shipping":true,"taxable":true,"featured_image":{"id":45430876799150,"product_id":9218078736558,"position":2,"created_at":"2026-09-08T10:32:00-07:00","updated_at":"2026-09-08T10:32:02-07:00","alt":null,"width":1125,"height":675,"src":"\/\/blossomcoffeeroasters.com\/cdn\/shop\/files\/Rwanda_Rulindo_Washed_de17d574-4f51-467a-a23d-86ef009a7d53.jpg?v=1788888722","variant_ids":[48930908668078,48930908700846,48930908733614]},"available":true,"name":"Rwanda - Rulindo Murambi - Washed - 1lb","public_title":"1lb","options":["1lb"],"price":2600,"weight":0,"compare_at_price":null,"inventory_quantity":-4,"inventory_management":null,"inventory_policy":"deny","barcode":null,"featured_media":{"alt":null,"id":35956263649454,"position":2,"preview_image":{"aspect_ratio":1.667,"height":675,"width":1125,"src":"\/\/blossomcoffeeroasters.com\/cdn\/shop\/files\/Rwanda_Rulindo_Washed_de17d574-4f51-467a-a23d-86ef009a7d53.jpg?v=1788888722"}},"requires_selling_plan":false,"selling_plan_allocations":[],"quantity_rule":{"min":1,"max":null,"increment":1}},{"id":48930908700846,"title":"2lb","option1":"2lb","option2":null,"option3":null,"sku":null,"requires_shipping":true,"taxable":true,"featured_image":{"id":45430876799150,"product_id":9218078736558,"position":2,"created_at":"2026-09-08T10:32:00-07:00","updated_at":"2026-09-08T10:32:02-07:00","alt":null,"width":1125,"height":675,"src":"\/\/blossomcoffeeroasters.com\/cdn\/shop\/files\/Rwanda_Rulindo_Washed_de17d574-4f51-467a-a23d-86ef009a7d53.jpg?v=1788888722","variant_ids":[48930908668078,48930908700846,48930908733614]},"available":true,"name":"Rwanda - Rulindo Murambi - Washed - 2lb","public_title":"2lb","options":["2lb"],"price":4800,"weight":0,"compare_at_price":null,"inventory_quantity":-1,"inventory_management":null,"inventory_policy":"deny","barcode":null,"featured_media":{"alt":null,"id":35956263649454,"position":2,"preview_image":{"aspect_ratio":1.667,"height":675,"width":1125,"src":"\/\/blossomcoffeeroasters.com\/cdn\/shop\/files\/Rwanda_Rulindo_Washed_de17d574-4f51-467a-a23d-86ef009a7d53.jpg?v=1788888722"}},"requires_selling_plan":false,"selling_plan_allocations":[{"price_adjustments":[{"position":1,"price":3840},{"position":2,"price":4320}],"price":3840,"compare_at_price":4800,"per_delivery_price":3840,"selling_plan_id":3594158254,"selling_plan_group_id":"52d60c9a87e98523ff88ad283e61aad784cf310a"}],"quantity_rule":{"min":1,"max":null,"increment":1}},{"id":48930908733614,"title":"5lb","option1":"5lb","option2":null,"option3":null,"sku":null,"requires_shipping":true,"taxable":true,"featured_image":{"id":45430876799150,"product_id":9218078736558,"position":2,"created_at":"2026-09-08T10:32:00-07:00","updated_at":"2026-09-08T10:32:02-07:00","alt":null,"width":1125,"height":675,"src":"\/\/blossomcoffeeroasters.com\/cdn\/shop\/files\/Rwanda_Rulindo_Washed_de17d574-4f51-467a-a23d-86ef009a7d53.jpg?v=1788888722","variant_ids":[48930908668078,48930908700846,48930908733614]},"available":true,"name":"Rwanda - Rulindo Murambi - Washed - 5lb","public_title":"5lb","options":["5lb"],"price":11000,"weight":0,"compare_at_price":null,"inventory_quantity":0,"inventory_management":null,"inventory_policy":"deny","barcode":null,"featured_media":{"alt":null,"id":35956263649454,"position":2,"preview_image":{"aspect_ratio":1.667,"height":675,"width":1125,"src":"\/\/blossomcoffeeroasters.com\/cdn\/shop\/files\/Rwanda_Rulindo_Washed_de17d574-4f51-467a-a23d-86ef009a7d53.jpg?v=1788888722"}},"requires_selling_plan":false,"selling_plan_allocations":[{"price_adjustments":[{"position":1,"price":8800},{"position":2,"price":9900}],"price":8800,"compare_at_price":11000,"per_delivery_price":8800,"selling_plan_id":3594158254,"selling_plan_group_id":"52d60c9a87e98523ff88ad283e61aad784cf310a"}],"quantity_rule":{"min":1,"max":null,"increment":1}}],"images":["\/\/blossomcoffeeroasters.com\/cdn\/shop\/files\/Rwanda_Rulindo_Washed.jpg?v=1788888722","\/\/blossomcoffeeroasters.com\/cdn\/shop\/files\/Rwanda_Rulindo_Washed_de17d574-4f51-467a-a23d-86ef009a7d53.jpg?v=1788888722","\/\/blossomcoffeeroasters.com\/cdn\/shop\/files\/Rwanda-Rulindo-Murambi1.jpg?v=1787433962","\/\/blossomcoffeeroasters.com\/cdn\/shop\/files\/Rwanda-Rulindo-Murambi2.jpg?v=1787433976","\/\/blossomcoffeeroasters.com\/cdn\/shop\/files\/Rwanda-Rulindo-Murambi3.jpg?v=1787433980"],"featured_image":"\/\/blossomcoffeeroasters.com\/cdn\/shop\/files\/Rwanda_Rulindo_Washed.jpg?v=1788888722","options":["Size"],"media":[{"alt":null,"id":35956263452846,"position":1,"preview_image":{"aspect_ratio":1.0,"height":2653,"width":2654,"
2667src":"\/\/blossomcoffeeroasters.com\/cdn\/shop\/files\/Rwanda_Rulindo_Washed.jpg?v=1788888722"},"aspect_ratio":1.0,"height":2653,"media_type":"image","src":"\/\/blossomcoffeeroasters.com\/cdn\/shop\/files\/Rwanda_Rulindo_Washed.jpg?v=1788888722","width":2654},{"alt":null,"id":35956263649454,"position":2,"preview_image":{"aspect_ratio":1.667,"height":675,"width":1125,"src":"\/\/blossomcoffeeroasters.com\/cdn\/shop\/files\/Rwanda_Rulindo_Washed_de17d574-4f51-467a-a23d-86ef009a7d53.jpg?v=1788888722"},"aspect_ratio":1.667,"height":675,"media_type":"image","src":"\/\/blossomcoffeeroasters.com\/cdn\/shop\/files\/Rwanda_Rulindo_Washed_de17d574-4f51-467a-a23d-86ef009a7d53.jpg?v=1788888722","width":1125},{"alt":null,"id":35690512548014,"position":3,"preview_image":{"aspect_ratio":1.499,"height":683,"width":1024,"src":"\/\/blossomcoffeeroasters.com\/cdn\/shop\/files\/Rwanda-Rulindo-Murambi1.jpg?v=1787433962"},"aspect_ratio":1.499,"height":683,"media_type":"image","src":"\/\/blossomcoffeeroasters.com\/cdn\/shop\/files\/Rwanda-Rulindo-Murambi1.jpg?v=1787433962","width":1024},{"alt":null,"id":35690512973998,"position":4,"preview_image":{"aspect_ratio":1.499,"height":683,"width":1024,"src":"\/\/blossomcoffeeroasters.com\/cdn\/shop\/files\/Rwanda-Rulindo-Murambi2.jpg?v=1787433976"},"aspect_ratio":1.499,"height":683,"media_type":"image","src":"\/\/blossomcoffeeroasters.com\/cdn\/shop\/files\/Rwanda-Rulindo-Murambi2.jpg?v=1787433976","width":1024},{"alt":null,"id":35690513006766,"position":5,"preview_image":{"aspect_ratio":1.499,"height":683,"width":1024,"src":"\/\/blossomcoffeeroasters.com\/cdn\/shop\/files\/Rwanda-Rulindo-Murambi3.jpg?v=1787433980"},"aspect_ratio":1.499,"height":683,"media_type":"image","src":"\/\/blossomcoffeeroasters.com\/cdn\/shop\/files\/Rwanda-Rulindo-Murambi3.jpg?v=1787433980","width":1024}],"requires_selling_plan":false,"selling_plan_groups":[{"id":"52d60c9a87e98523ff88ad283e61aad784cf310a","name":"Subscribe by Usage","options":[{"name":"Delivery every","position":1,"values":["1 Week"]}],"selling_plans":[{"id":3594158254,"name":"20% off this order, 10% off next orders","description":null,"options":[{"name":"Delivery every","position":1,"value":"1 Week"}],"recurring_deliveries":false,"price_adjustments":[{"order_count":1,"position":1,"value_type":"percentage","value":20},{"order_count":null,"position":2,"value_type":"percentage","value":10}],"checkout_charge":{"value_type":"percentage","value":100}}],"app_id":"bottomless-dynamic-subscription"}],"content":"\u003cp\u003eThis lot of Rulindo Murambi was grown by more than 170 family owned farms in Rwanda's Gatsibo district. Smallholder farmers bring their cherries to the centralized Murambi washing station where they are processed with safer, more modernized machinery than individual farmers are able to access. Murambi begins the processing with the quality control method of hand sorting and floating the cherries in water. They are then depulped and fermented. The fermentation process is halted by a 18-24 hour freshwater soak, after which the parchment is washed for a second time. Washing station workers perform a final round of quality control by meticulously hand sorting the parchment on pre-drying tables while it is gently dried to the touch. After removing any parchment with defects from the lot, they transfer it to fully exposed drying tables for 14-21 days. \u003c\/p\u003e\n\u003cp\u003eWe love this coffee's bright opening plum notes, which meld into smooth dark chocolate and the rich sweetness of brown sugar. Brew it as a pourover for more prominent fruit notes or try it as espresso to bring out its complex chocolate flavor!\u003c\/p\u003e"}></div> 2668 2669 2670 2671 2672 2673 2674 2675<div id="ProductSection-9218078736558" 2676 class="product-section" 2677 data-section-id="9218078736558" 2678 data-section-type="product-template" 2679 2680 data-image-zoom="true" 2681 2682 2683 2684 2685 data-enable-history-state="true" 2686 > 2687 2688
2688<script type="application/ld+json"> 2689 { 2690 "@context": "http://schema.org", 2691 "@type": "Product", 2692 "offers": { 2693 "@type": "Offer", 2694 "availability":"https://schema.org/InStock", 2695 "price": "22.5", 2696 "priceCurrency": "USD", 2697 "priceValidUntil": "2026-10-18", 2698 "url": "https://blossomcoffeeroasters.com/products/rwanda-rulindo-murambi" 2699 }, 2700 "brand": "Blossom Coffee Roasters", 2701 "sku": null, 2702 "name": "Rwanda - Rulindo Murambi - Washed", 2703 "description": "This lot of Rulindo Murambi was grown by more than 170 family owned farms in Rwanda's Gatsibo district. Smallholder farmers bring their cherries to the centralized Murambi washing station where they are processed with safer, more modernized machinery than individual farmers are able to access. Murambi begins the processing with the quality control method of hand sorting and floating the cherries in water. They are then depulped and fermented. The fermentation process is halted by a 18-24 hour freshwater soak, after which the parchment is washed for a second time. Washing station workers perform a final round of quality control by meticulously hand sorting the parchment on pre-drying tables while it is gently dried to the touch. After removing any parchment with defects from the lot, they transfer it to fully exposed drying tables for 14-21 days. \nWe love this coffee's bright opening plum notes, which meld into smooth dark chocolate and the rich sweetness of brown sugar. Brew it as a pourover for more prominent fruit notes or try it as espresso to bring out its complex chocolate flavor!", 2704 "category": "", 2705 "url": "https://blossomcoffeeroasters.com/products/rwanda-rulindo-murambi","image": { 2706 "@type": "ImageObject", 2707 "url": "https://blossomcoffeeroasters.com/cdn/shop/files/Rwanda_Rulindo_Washed_1024x1024.jpg?v=1788888722", 2708 "image": "https://blossomcoffeeroasters.com/cdn/shop/files/Rwanda_Rulindo_Washed_1024x1024.jpg?v=1788888722", 2709 "name": "Rwanda - Rulindo Murambi - Washed", 2710 "width": 1024, 2711 "height": 1024 2712 } 2713 } 2714</script>
2714 2715 2716 2717 <div class="page-content"> 2718 <div class="page-width"> 2719 2720 2721 2722 2723 2724 <nav class="breadcrumb" role="navigation" aria-label="breadcrumbs"> 2725 <a href="/" title="Back to the frontpage">Home</a> 2726 2727 2728 2729 2730 <span class="divider" aria-hidden="true">/</span> 2731 <span class="breadcrumb--truncate">Rwanda - Rulindo Murambi - Washed</span> 2732 2733 2734 </nav> 2735 2736 2737 2738 2739 2740 2741 <div class="grid"> 2742 <div class="grid__item medium-up--one-half"> 2743 2744 <div 2745 data-product-images 2746 data-zoom="true" 2747 data-has-slideshow="true"> 2748 <div class="product__photos product__photos-9218078736558 product__photos--beside"> 2749 2750 <div class="product__main-photos" data-aos data-product-single-media-group> 2751 <div id="ProductPhotos-9218078736558"> 2752<div class="starting-slide" data-index="0"> 2753 2754 2755<div class="product-image-main product-image-main--9218078736558"><div class="image-wrap" style="height: 0; padding-bottom: 99.96232102486813%;"><img class="photoswipe__image lazyload" 2756 data-photoswipe-src="//blossomcoffeeroasters.com/cdn/shop/files/Rwanda_Rulindo_Washed_1800x1800.jpg?v=1788888722" 2757 data-photoswipe-width="2654" 2758 data-photoswipe-height="2653" 2759 data-index="1" 2760 data-src="//blossomcoffeeroasters.com/cdn/shop/files/Rwanda_Rulindo_Washed_{width}x.jpg?v=1788888722" 2761 data-widths="[360, 540, 720, 900, 1080]" 2762 data-aspectratio="1.0003769317753486" 2763 data-sizes="auto" 2764 alt="Rwanda - Rulindo Murambi - Washed"><button type="button" class="btn btn--no-animate btn--body btn--circle js-photoswipe__zoom product__photo-zoom"> 2765 <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-search" viewBox="0 0 64 64"><path d="M47.16 28.58A18.58 18.58 0 1 1 28.58 10a18.58 18.58 0 0 1 18.58 18.58zM54 54L41.94 42"/></svg> 2766 <span class="icon__fallback-text">Close (esc)</span> 2767 </button></div></div> 2768 2769</div> 2770 2771<div class="secondary-slide" data-index="1"> 2772 2773 2774<div class="product-image-main product-image-main--9218078736558"><div class="image-wrap" style="height: 0; padding-bottom: 60.0%;"><img class="photoswipe__image lazyload" 2775 data-photoswipe-src="//blossomcoffeeroasters.com/cdn/shop/files/Rwanda_Rulindo_Washed_de17d574-4f51-467a-a23d-86ef009a7d53_1800x1800.jpg?v=1788888722" 2776 data-photoswipe-width="1125" 2777 data-photoswipe-height="675" 2778 data-index="2" 2779 data-src="//blossomcoffeeroasters.com/cdn/shop/files/Rwanda_Rulindo_Washed_de17d574-4f51-467a-a23d-86ef009a7d53_{width}x.jpg?v=1788888722" 2780 data-widths="[360, 540, 720, 900, 1080]" 2781 data-aspectratio="1.6666666666666667" 2782 data-sizes="auto" 2783 alt="Rwanda - Rulindo Murambi - Washed"><button type="button" class="btn btn--no-animate btn--body btn--circle js-photoswipe__zoom product__photo-zoom"> 2784 <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-search" viewBox="0 0 64 64"><path d="M47.16 28.58A18.58 18.58 0 1 1 28.58 10a18.58 18.58 0 0 1 18.58 18.58zM54 54L41.94 42"/></svg> 2785 <span class="icon__fallback-text">Close (esc)</span> 2786 </button></div></div> 2787 2788</div> 2789 2790<div class="secondary-slide" data-index="2"> 2791 2792 2793<div class="product-image-main product-image-main--9218078736558"><div class="image-wrap" style="height: 0; padding-bottom: 66.69921875%;"><img class="photoswipe__image lazyload" 2794 data-photoswipe-src="//blossomcoffeeroasters.com/cdn/shop/files/Rwanda-Rulindo-Murambi1_1800x1800.jpg?v=1787433962" 2795 data-photoswipe-width="1024" 2796 data-photoswipe-height="683" 2797 data-index="3" 2798 data-src="//blossomcoffeeroasters.com/cdn/shop/files/Rwanda-Rulindo-Murambi1_{width}x.jpg?v=1787433962" 2799 data-widths="[360, 540, 720, 900, 1080]" 2800 data-aspectratio="1.499267935578331" 2801 data-sizes="auto" 2802 alt="Rwanda - Rulindo Murambi - Washed"><button type="button" class="btn btn--no-animate btn--body btn--circle js-photoswipe__zoom product__photo-zoom"> 2803 <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-search" viewBox="0 0 64 64"><path d="M47.16 28.58A18.58 18.58 0 1 1 28.58 10a18.58 18.58 0 0 1 18.58 18.58zM54 54L41.94 42"/></svg>
2804 <span class="icon__fallback-text">Close (esc)</span> 2805 </button></div></div> 2806 2807</div> 2808 2809<div class="secondary-slide" data-index="3"> 2810 2811 2812<div class="product-image-main product-image-main--9218078736558"><div class="image-wrap" style="height: 0; padding-bottom: 66.69921875%;"><img class="photoswipe__image lazyload" 2813 data-photoswipe-src="//blossomcoffeeroasters.com/cdn/shop/files/Rwanda-Rulindo-Murambi2_1800x1800.jpg?v=1787433976" 2814 data-photoswipe-width="1024" 2815 data-photoswipe-height="683" 2816 data-index="4" 2817 data-src="//blossomcoffeeroasters.com/cdn/shop/files/Rwanda-Rulindo-Murambi2_{width}x.jpg?v=1787433976" 2818 data-widths="[360, 540, 720, 900, 1080]" 2819 data-aspectratio="1.499267935578331" 2820 data-sizes="auto" 2821 alt="Rwanda - Rulindo Murambi - Washed"><button type="button" class="btn btn--no-animate btn--body btn--circle js-photoswipe__zoom product__photo-zoom"> 2822 <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-search" viewBox="0 0 64 64"><path d="M47.16 28.58A18.58 18.58 0 1 1 28.58 10a18.58 18.58 0 0 1 18.58 18.58zM54 54L41.94 42"/></svg> 2823 <span class="icon__fallback-text">Close (esc)</span> 2824 </button></div></div> 2825 2826</div> 2827 2828<div class="secondary-slide" data-index="4"> 2829 2830 2831<div class="product-image-main product-image-main--9218078736558"><div class="image-wrap" style="height: 0; padding-bottom: 66.69921875%;"><img class="photoswipe__image lazyload" 2832 data-photoswipe-src="//blossomcoffeeroasters.com/cdn/shop/files/Rwanda-Rulindo-Murambi3_1800x1800.jpg?v=1787433980" 2833 data-photoswipe-width="1024" 2834 data-photoswipe-height="683" 2835 data-index="5" 2836 data-src="//blossomcoffeeroasters.com/cdn/shop/files/Rwanda-Rulindo-Murambi3_{width}x.jpg?v=1787433980" 2837 data-widths="[360, 540, 720, 900, 1080]" 2838 data-aspectratio="1.499267935578331" 2839 data-sizes="auto" 2840 alt="Rwanda - Rulindo Murambi - Washed"><button type="button" class="btn btn--no-animate btn--body btn--circle js-photoswipe__zoom product__photo-zoom"> 2841 <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-search" viewBox="0 0 64 64"><path d="M47.16 28.58A18.58 18.58 0 1 1 28.58 10a18.58 18.58 0 0 1 18.58 18.58zM54 54L41.94 42"/></svg> 2842 <span class="icon__fallback-text">Close (esc)</span> 2843 </button></div></div> 2844 2845</div> 2846</div> 2847 2848 2849<div class="product__photo-dots product__photo-dots--9218078736558"></div> 2850 </div> 2851 2852 <div 2853 id="ProductThumbs-9218078736558" 2854 class="product__thumbs product__thumbs--beside " 2855 data-position="beside" 2856 data-arrows="true" 2857 data-aos><div class="product__thumb-item" 2858 data-index="0"> 2859 <div class="image-wrap" style="height: 0; padding-bottom: 99.96232102486813%;"> 2860 <a 2861 href="//blossomcoffeeroasters.com/cdn/shop/files/Rwanda_Rulindo_Washed_1800x1800.jpg?v=1788888722" 2862 class="product__thumb product__thumb-9218078736558 js-no-transition" 2863 data-index="0" 2864 data-id="35956263452846"><img class="animation-delay-3 lazyload" 2865 data-src="//blossomcoffeeroasters.com/cdn/shop/files/Rwanda_Rulindo_Washed_{width}x.jpg?v=1788888722" 2866 data-widths="[360, 540, 720, 900, 1080]" 2867 data-aspectratio="1.0003769317753486" 2868 data-sizes="auto" 2869 alt="Rwanda - Rulindo Murambi - Washed"> 2870 </a> 2871 </div> 2872 </div> 2873 <div class="product__thumb-item" 2874 data-index="1"> 2875 <div class="image-wrap" style="height: 0; padding-bottom: 60.0%;"> 2876 <a 2877 href="//blossomcoffeeroasters.com/cdn/shop/files/Rwanda_Rulindo_Washed_de17d574-4f51-467a-a23d-86ef009a7d53_1800x1800.jpg?v=1788888722" 2878 class="product__thumb product__thumb-9218078736558 js-no-transition" 2879 data-index="1" 2880 data-id="35956263649454"><img class="animation-delay-6 lazyload" 2881 data-src="//blossomcoffeeroasters.com/cdn/shop/files/Rwanda_Rulindo_Washed_de17d574-4f51-467a-a23d-86ef009a7d53_{width}x.jpg?v=1788888722" 2882 data-widths="[360, 540, 720, 900, 1080]" 2883 data-aspectratio="1.6666666666666667" 2884 data-sizes="auto" 2885 alt="Rwanda - Rulindo Murambi - Washed"> 2886 </a> 2887 </div> 2888 </div> 2889 <div class="product__thumb-item" 2890 data-index="2"> 2891 <div class="image-wrap" style="height: 0; padding-bottom: 66.69921875%;"> 2892 <a 2893 href="//blossomcoffeeroasters.com/cdn/shop/files/Rwanda-Rulindo-Murambi1_1800x1800.jpg?v=1787433962" 2894 class="product__thumb product__thumb-9218078736558 js-no-transition" 2895 data-index="2" 2896 data-id="35690512548014"><img class="animation-delay-9 lazyload" 2897 data-src="//blossomcoffeeroasters.com/cdn/shop/files/Rwanda-Rulindo-Murambi1_{width}x.jpg?v=1787433962" 2898 data-widths="[360, 540, 720, 900, 1080]" 2899 data-aspectratio="1.499267935578331" 2900 data-sizes="auto" 2901 alt="Rwanda - Rulindo Murambi - Washed"> 2902 </a> 2903 </div> 2904 </div> 2905 <div class="product__thumb-item" 2906 data-index="3"> 2907 <div class="image-wrap" style="height: 0; padding-bottom: 66.69921875%;"> 2908 <a 2909 href="//blossomcoffeeroasters.com/cdn/shop/files/Rwanda-Rulindo-Murambi2_1800x1800.jpg?v=1787433976" 2910 class="product__thumb product__thumb-9218078736558 js-no-transition" 2911 data-index="3" 2912 data-id="35690512973998"><img class="animation-delay-12 lazyload" 2913 data-src="//blossomcoffeeroasters.com/cdn/shop/files/Rwanda-Rulindo-Murambi2_{width}x.jpg?v=1787433976" 2914 data-widths="[360, 540, 720, 900, 1080]" 2915 data-aspectratio="1.499267935578331" 2916 data-sizes="auto" 2917 alt="Rwanda - Rulindo Murambi - Washed"> 2918 </a> 2919 </div> 2920 </div> 2921 <div class="product__thumb-item" 2922 data-index="4"> 2923 <div class="image-wrap" style="height: 0; padding-bottom: 66.69921875%;"> 2924 <a 2925 href="//blossomcoffeeroasters.com/cdn/shop/files/Rwanda-Rulindo-Murambi3_
29251800x1800.jpg?v=1787433980" 2926 class="product__thumb product__thumb-9218078736558 js-no-transition" 2927 data-index="4" 2928 data-id="35690513006766"><img class="animation-delay-15 lazyload" 2929 data-src="//blossomcoffeeroasters.com/cdn/shop/files/Rwanda-Rulindo-Murambi3_{width}x.jpg?v=1787433980" 2930 data-widths="[360, 540, 720, 900, 1080]" 2931 data-aspectratio="1.499267935578331" 2932 data-sizes="auto" 2933 alt="Rwanda - Rulindo Murambi - Washed"> 2934 </a> 2935 </div> 2936 </div> 2937 2938 2939 </div> 2940 </div> 2941 </div> 2942
2942<script type="application/json" id="ModelJson-9218078736558"> 2943 [] 2944 </script>
2944 2945 2946 2947 </div> 2948 2949 <div class="grid__item medium-up--one-half"> 2950 2951 <div class="product-single__meta"> 2952 2953 2954 2955 <h1 class="h2 product-single__title"> 2956 Rwanda - Rulindo Murambi - Washed 2957 </h1> 2958 2959 2960 2961 2962 2963 2964 <span id="PriceA11y-9218078736558" class="visually-hidden">Regular price</span> 2965 2966 2967 <span id="ProductPrice-9218078736558" 2968 class="product__price"> 2969 $22.50 2970 </span> 2971 2972 <div class="product__unit-price product__unit-price-wrapper--9218078736558 hide"><span class="product__unit-price--9218078736558"></span>/<span class="product__unit-base--9218078736558"></span> 2973 </div> 2974 2975 <hr class="hr--medium"> 2976 2977 2978 2979 2980<form method="post" action="/cart/add" id="AddToCartForm-9218078736558" accept-charset="UTF-8" class="product-single__form" enctype="multipart/form-data"><input type="hidden" name="form_type" value="product" /><input type="hidden" name="utf8" value="â" /> 2981 2982
2983 <div class="variant-wrapper variant-wrapper--button js"> 2984 <label class="variant__label" 2985 for="ProductSelect-9218078736558-option-0"> 2986 Size 2987 2988 </label> 2989 2990 2991 <fieldset class="variant-input-wrap" 2992 name="Size" 2993 data-index="option1" 2994 id="ProductSelect-9218078736558-option-0"> 2995 2996 2997 <div 2998 class="variant-input" 2999 data-index="option1" 3000 data-value="12oz"> 3001 <input type="radio" 3002 checked="checked" 3003 value="12oz" 3004 data-index="option1" 3005 name="Size" 3006 class="variant__input-9218078736558" 3007 3008 3009 id="ProductSelect-9218078736558-option-size-12oz"> 3010 3011 <label for="ProductSelect-9218078736558-option-size-12oz">12oz</label> 3012 3013 </div> 3014 3015 3016 <div 3017 class="variant-input" 3018 data-index="option1" 3019 data-value="1lb"> 3020 <input type="radio" 3021 3022 value="1lb" 3023 data-index="option1" 3024 name="Size" 3025 class="variant__input-9218078736558" 3026 3027 3028 id="ProductSelect-9218078736558-option-size-1lb"> 3029 3030 <label for="ProductSelect-9218078736558-option-size-1lb">1lb</label> 3031 3032 </div> 3033 3034 3035 <div 3036 class="variant-input" 3037 data-index="option1" 3038 data-value="2lb"> 3039 <input type="radio" 3040 3041 value="2lb" 3042 data-index="option1" 3043 name="Size" 3044 class="variant__input-9218078736558" 3045 3046 3047 id="ProductSelect-9218078736558-option-size-2lb"> 3048 3049 <label for="ProductSelect-9218078736558-option-size-2lb">2lb</label> 3050 3051 </div> 3052 3053 3054 <div 3055 class="variant-input" 3056 data-index="option1" 3057 data-value="5lb"> 3058 <input type="radio" 3059 3060 value="5lb" 3061 data-index="option1" 3062 name="Size" 3063 class="variant__input-9218078736558" 3064 3065 3066 id="ProductSelect-9218078736558-option-size-5lb"> 3067 3068 <label for="ProductSelect-9218078736558-option-size-5lb">5lb</label> 3069 3070 </div> 3071 3072 </fieldset> 3073</div> 3074 3075 3076 3077 3078 <select name="id" id="ProductSelect-9218078736558" class="product-single__variants no-js"> 3079 3080 3081 <option 3082 selected="selected" 3083 value="48930908635310"> 3084 12oz - $22.50 USD 3085 </option> 3086 3087 3088 3089 <option 3090 value="48930908668078"> 3091 1lb - $26.00 USD 3092 </option> 3093 3094 3095 3096 <option 3097 value="48930908700846"> 3098 2lb - $48.00 USD 3099 </option> 3100 3101 3102 3103 <option 3104 value="48930908733614"> 3105 5lb - $110.00 USD 3106 </option> 3107 3108 3109 </select> 3110 3111 3112 <div class="product__quantity product__quantity--button"> 3113 <label for="Quantity-9218078736558">Quantity</label> 3114 <div class="js-qty__wrapper"> 3115 <input type="text" id="Quantity-9218078736558" 3116 class="js-qty__num" 3117 value="1" 3118 min="1" 3119 aria-label="quantity" 3120 pattern="[0-9]*" 3121 name="quantity"> 3122 <button type="button" 3123 class="js-qty__adjust js-qty__adjust--minus" 3124 aria-label="Reduce item quantity by one"> 3125 <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-minus" viewBox="0 0 20 20"><path fill="#444" d="M17.543 11.029H2.1A1.032 1.032 0 0 1 1.071 10c0-.566.463-1.029 1.029-1.029h15.443c.566 0 1.029.463 1.029 1.029 0 .566-.463 1.029-1.029 1.029z"/></svg> 3126 <span class="icon__fallback-text" aria-hidden="true">−</span> 3127 </button> 3128 <button type="button" 3129 class="js-qty__adjust js-qty__adjust--plus" 3130 aria-label="Increase item quantity by one"> 3131 <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-plus" viewBox="0 0 20 20"><path fill="#444" d="M17.409 8.929h-6.695V2.258c0-.566-.506-1.029-1.071-1.029s-1.071.463-1.071 1.029v6.671H1.967C1.401 8.929.938 9.435.938 10s.463 1.071 1.029 1.071h6.605V17.7c0 .566.506 1.029 1.071 1.029s1.071-.463 1.071-1.029v-6.629h6.695c.566 0 1.029-.506 1.029-1.071s-.463-1.071-1.029-1.071z"/></svg>
3132 <span class="icon__fallback-text" aria-hidden="true">+</span> 3133 </button> 3134</div> 3135 3136 </div> 3137 3138 3139 3140 3141 3142<!-- Bold Subscriptions Widget --> 3143 3144<br> 3145 3146 3147 <div class="payment-buttons"> 3148 3149<button 3150 type="submit" 3151 name="add" 3152 id="AddToCart-9218078736558" 3153 class="addtocart btn--tertiary btn--full btn--no-animate add-to-cart" 3154 > 3155 <span id="AddToCartText-9218078736558" data-default-text="Add to cart"> 3156 Add to cart 3157 </span> 3158 </button> 3159 3160 3161 <div data-shopify="payment-button" class="shopify-payment-button"> <shopify-accelerated-checkout recommended="{"supports_subs":true,"supports_def_opts":false,"name":"shop_pay","wallet_params":{"shopId":2337869,"merchantName":"Blossom Coffee Roasters","personalized":true}}" fallback="{"supports_subs":true,"supports_def_opts":true,"name":"buy_it_now","wallet_params":{}}" access-token="fccb586a957e17c0fabf8fe09f843265" buyer-country="US" buyer-locale="en" buyer-currency="USD" variant-params="[{"id":48930908635310,"requiresShipping":true},{"id":48930908668078,"requiresShipping":true},{"id":48930908700846,"requiresShipping":true},{"id":48930908733614,"requiresShipping":true}]" shop-id="2337869" enabled-flags="["1172c16a","a1d1f9a1","f5afabb3","370070f3"]" > <div class="shopify-payment-button__button" role="button" disabled aria-hidden="true" style="background-color: transparent; border: none"> <div class="shopify-payment-button__skeleton"> </div> </div> <div class="shopify-payment-button__more-options shopify-payment-button__skeleton" role="button" disabled aria-hidden="true"> </div> </shopify-accelerated-checkout> <small id="shopify-buyer-consent" class="hidden" aria-hidden="true" data-consent-type="subscription"> This item is a deferred, subscription, or recurring purchase. By continuing, I agree to the <span id="shopify-subscription-policy-button">cancellation policy</span> and authorize you to charge my payment method at the prices, frequency and dates listed on this page until my order is fulfilled or I cancel, if permitted. </small> </div> 3162 3163 3164 3165 </div> 3166 3167 3168 <textarea id="VariantsJson-9218078736558" class="hide" aria-hidden="true"> 3169 [{"id":48930908635310,"title":"12oz","option1":"12oz","option2":null,"option3":null,"sku":null,"requires_shipping":true,"taxable":true,"featured_image":{"id":45430876766382,"product_id":9218078736558,"position":1,"created_at":"2026-09-08T10:32:00-07:00","updated_at":"2026-09-08T10:32:02-07:00","alt":null,"width":2654,"height":2653,"src":"\/\/blossomcoffeeroasters.com\/cdn\/shop\/files\/Rwanda_Rulindo_Washed.jpg?v=1788888722","variant_ids":[48930908635310]},"available":true,"name":"Rwanda - Rulindo Murambi - Washed - 12oz","public_title":"12oz","options":["12oz"],"price":2250,"weight":0,"compare_at_price":null,"inventory_quantity":-6,"inventory_management":null,"inventory_policy":"deny","barcode":null,"featured_media":{"alt":null,"id":35956263452846,"position":1,"preview_image":{"aspect_ratio":1.0,"height":2653,"width":2654,"src":"\/\/blossomcoffeeroasters.com\/cdn\/shop\/files\/Rwanda_Rulindo_Washed.jpg?v=1788888722"}},"requires_selling_plan":false,"selling_plan_allocations":[{"price_adjustments":[{"position":1,"price":1800},{"position":2,"price":2025}],"price":1800,"compare_at_price":2250,"per_delivery_price":1800,"selling_plan_id":3594158254,"selling_plan_group_id":"52d60c9a87e98523ff88ad283e61aad784cf310a"}],"quantity_rule":{"min":1,"max":null,"increment":1}},{"id":48930908668078,"title":"1lb","option1":"1lb","option2":null,"option3":null,"sku":null,"requires_shipping":true,"taxable":true,"featured_image":{"id":45430876799150,"product_id":9218078736558,"position":2,"created_at":"2026-09-08T10:32:00-07:00","updated_at":"2026-09-08T10:32:02-07:00","alt":null,"width":1125,"height":675,"src":"\/\/blossomcoffeeroasters.com\/cdn\/shop\/files\/Rwanda_Rulindo_Washed_de17d574-4f51-467a-a23d-86ef009a7d53.jpg?v=1788888722","variant_ids":[48930908668078,48930908700846,48930908733614]},"available":true,"name":"Rwanda - Rulindo Murambi - Washed - 1lb","public_title":"1lb","options":["1lb"],"price":2600,"weight":0,"compare_at_price":null,"inventory_quantity":-4,"inventory_management":null,"inventory_policy":"deny","barcode":null,"featured_media":{"alt":null,"id":35956263649454,"position":2,"preview_image":{"aspect_ratio":1.667,"height":675,"width":1125,"src":"\/\/blossomcoffeeroasters.com\/cdn\/shop\/files\/Rwanda_Rulindo_Washed_de17d574-4f51-467a-a23d-86ef009a7d53.jpg?v=1788888722"}},"requires_selling_plan":false,"selling_plan_allocations":[],"quantity_rule":{"min":1,"max":null,"increment":1}},{"id":48930908700846,"title":"2lb","option1":"2lb","option2":null,"option3":null,"sku":null,"requires_shipping":true,"taxable":true,"featured_image":{"id":45430876799150,"product_id":9218078736558,"position":2,"created_at":"2026-09-08T10:32:00-07:00","updated_at":"2026-09-08T10:32:02-07:00","alt":null,"width":1125,"height":675,"src":"\/\/blossomcoffeeroasters.com\/cdn\/shop\/files\/Rwanda_Rulindo_Washed_de17d574-4f51-467a-a23d-86ef009a7d53.jpg?v=1788888722","variant_ids":[48930908668078,48930908700846,48930908733614]},"available":true,"name":"Rwanda - Rulindo Murambi - Washed - 2lb","public_title":"2lb","options":["2lb"],"price":4800,"weight":0,"compare_at_price":null,"inventory_quantity":-1,"inventory_management":null,"inventory_policy":"deny","barcode":null,"featured_media":{"alt":null,"id":35956263649454,"position":2,"preview_image":{"aspect_ratio":1.667,"height":675,"width":1125,"src":"\/\/blossomcoffeeroasters.com\/cdn\/shop\/files\/Rwanda_Rulindo_Washed_de17d574-4f51-467a-a23d-86ef009a7d53.jpg?v=1788888722"}},"requires_selling_plan":false,"selling_plan_allocations":[{"price_adjustments":[{"position":1,"price":3840},{"position":2,"price":4320}],"price":3840,"compare_at_price":4800,"per_delivery_price":3840,"selling_plan_id":3594158254,"selling_plan_group_id":"52d60c9a87e98523ff88ad283e61aad784cf310a"}],"quantity_rule":{"min":1,"max":null,"increment":1}},{"id":48930908733614,"title":"5lb","option1":"5lb","option2":null,"option3":null,"sku":null,"requires_shipping":true,"taxable":true,"featured_image":{"id":45430876799150,"product_id":9218078736558,"position":2,"created_at":"2026-09-08T10:32:00-07:00","updated_at":"2026-09-08T10:32:02-07:00","alt":null,"width":1125,"height":675,"src":"\/\/blossomcoffeeroasters.com\/cdn\/shop\/files\/Rwanda_Rulindo_Washed_de17d574-4f51-467a-a23d-86ef009a7d53.jpg?v=1788888722","variant_ids":[48930908668078,48930908700846,48930908733614]},"available":true,"name":"Rwanda - Rulindo Murambi - Washed - 5lb","public_title":"5lb","options":["5lb"],"price":11000,"weight":0,"compare_at_price":null,"inventory_quantity":0,"inventory_management":null,"inventory_policy":"deny","barcode":null,"featured_media":{"alt":null,"id":35956263649454,"position":2,"preview_image":{"aspect_ratio":1.667,"height":675,"width":1125,"src":"\/\/blossomcoffeeroasters.com\/cdn\/shop\/files\/Rwanda_Rulindo_Washed_de17d574-4f51-467a-a23d-86ef009a7d53.jpg?v=1788888722"}},"requires_selling_plan":false,"selling_plan_allocations":[{"price_adjustments":[{"position":1,"price":8800},{"position":2,"price":9900}],"price":8800,"compare_at_price":11000,"per_delivery_price":8800,"selling_plan_id":3594158254,"selling_plan_group_id":"52d60c9a87e98523ff88ad283e61aad784cf310a"}],"quantity_rule":{"min":1,"max":null,"increment":1}}] 3170 </textarea> 3171 3172<input type="hidden" name="product-id" value="9218078736558" /><input type="hidden" name="section-id" value="product-template" /></form> 3173 3174 3175 3176 3177 <div class="product-single__description rte"> 3178 <p>This lot of Rulindo Murambi was grown by more than 170 family owned farms in Rwanda's Gatsibo district. Smallholder farmers bring their cherries to the centralized Murambi washing station where they are processed with safer, more modernized machinery than individual farmers are able to access. Murambi begins the processing with the quality control method of hand sorting and floating the cherries in water. They are then depulped and fermented. The fermentation process is halted by a 18
3178-24 hour freshwater soak, after which the parchment is washed for a second time. Washing station workers perform a final round of quality control by meticulously hand sorting the parchment on pre-drying tables while it is gently dried to the touch. After removing any parchment with defects from the lot, they transfer it to fully exposed drying tables for 14-21 days. </p> 3179<p>We love this coffee's bright opening plum notes, which meld into smooth dark chocolate and the rich sweetness of brown sugar. Brew it as a pourover for more prominent fruit notes or try it as espresso to bring out its complex chocolate flavor!</p> 3180 </div> 3181 3182 3183 3184 3185 3186 3187 3188 3189 3190 3191 <div class="social-sharing"><a target="_blank" rel="noopener" href="//www.facebook.com/sharer.php?u=https://blossomcoffeeroasters.com/products/rwanda-rulindo-murambi" class="social-sharing__link" title="Share on Facebook"> 3192 <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-facebook" viewBox="0 0 32 32"><path fill="#444" d="M18.56 31.36V17.28h4.48l.64-5.12h-5.12v-3.2c0-1.28.64-2.56 2.56-2.56h2.56V1.28H19.2c-3.84 0-7.04 2.56-7.04 7.04v3.84H7.68v5.12h4.48v14.08h6.4z"/></svg> 3193 <span class="social-sharing__title" aria-hidden="true">Share</span> 3194 <span class="visually-hidden">Share on Facebook</span> 3195 </a></div> 3196 3197 3198 </div> 3199 </div> 3200 </div> 3201 3202 3203 </div> 3204 </div> 3205</div> 3206 3207 3208 3209 3210 3211</div> 3212<!-- Start of Judge.me code --><div style='clear:both'></div><div id='judgeme_product_reviews' class='jdgm-widget jdgm-review-widget' data-product-title='Rwanda - Rulindo Murambi - Washed' data-id='9218078736558' data-auto-install='false'><div class='jdgm-rev-widg' data-updated-at='2026-09-08T17:43:44Z' data-average-rating='0.00' data-number-of-reviews='0' data-number-of-questions='0' data-image-url='https://cdn.shopify.com/s/files/1/0233/7869/files/Rwanda_Rulindo_Washed.jpg?v=1788888722'> <style class='jdgm-temp-hiding-style'>.jdgm-rev-widg{ display: none }</style> <div class='jdgm-rev-widg__header'> <h2 class='jdgm-rev-widg__title'>Customer Reviews</h2> <div class='jdgm-rev-widg__summary'> <div class='jdgm-rev-widg__summary-stars' aria-label='Average rating is 0.00 stars' role='img'> <span class='jdgm-star jdgm--off'></span><span class='jdgm-star jdgm--off'></span><span class='jdgm-star jdgm--off'></span><span class='jdgm-star jdgm--off'></span><span class='jdgm-star jdgm--off'></span> </div> <div class='jdgm-rev-widg__summary-text'>Be the first to write a review</div> </div> <a style='display: none' href='#' class='jdgm-write-rev-link' role='button'>Write a review</a> <div class='jdgm-histogram jdgm-temp-hidden'> <div class='jdgm-histogram__row' data-rating='5' data-frequency='0' data-percentage='0'> <div class='jdgm-histogram__star' role='button' aria-label="0% (0) reviews with 5 star rating" tabindex='0' ><span class='jdgm-star jdgm--on'></span><span class='jdgm-star jdgm--on'></span><span class='jdgm-star jdgm--on'></span><span class='jdgm-star jdgm--on'></span><span class='jdgm-star jdgm--on'></span></div> <div class='jdgm-histogram__bar'> <div class='jdgm-histogram__bar-content' style='width: 0%;'> </div> </div> <div class='jdgm-histogram__percentage'>0%</div> <div class='jdgm-histogram__frequency'>(0)</div> </div> <div class='jdgm-histogram__row' data-rating='4' data-frequency='0' data-percentage='0'> <div class='jdgm-histogram__star' role='button' aria-label="0% (0) reviews with 4 star rating" tabindex='0' ><span class='jdgm-star jdgm--on'></span><span class='jdgm-star jdgm--on'></span><span class='jdgm-star jdgm--on'></span><span class='jdgm-star jdgm--on'></span><span class='jdgm-star jdgm--off'></span></div> <div class='jdgm-histogram__bar'> <div class='jdgm-histogram__bar-content' style='width: 0%;'> </div> </div> <div class='jdgm-histogram__percentage'>0%</div> <div class='jdgm-histogram__frequency'>(0)</div> </div> <div class='jdgm-histogram__row' data-rating='3' data-frequency='0' data-percentage='0'> <div class='jdgm-histogram__star' role='button' aria-label="0% (0) reviews with 3 star rating" tabindex='0' ><span class='jdgm-star jdgm--on'></span><span class='jdgm-star jdgm--on'></span><span class='jdgm-star jdgm--on'></span><span class='jdgm-star jdgm--off'></span><span class='jdgm-star jdgm--off'></span></div> <div class='jdgm-histogram__bar'> <div class='jdgm-histogram__bar-content' style='width: 0%;'> </div> </div> <div class='jdgm-histogram__percentage'>0%</div> <div class='jdgm-histogram__frequency'>(0)</div> </div> <div class='jdgm-histogram__row' data-rating='2' data-frequency='0' data-percentage='0'> <div class='jdgm-histogram__star' role='button' aria-label="0% (0) reviews with 2 star rating" tabindex='0' ><span class='jdgm-star jdgm--on'></span><span class='jdgm-star jdgm--on'></span><span class='jdgm-star jdgm--off'></span><span class='jdgm-star jdgm--off'></span><span class='jdgm-star jdgm--off'></span></div> <div class='jdgm-histogram__bar'> <div class='jdgm-histogram__bar-content' style='width: 0%;'> </div> </div> <div class='jdgm-histogram__percentage'>0%</div> <div class='jdgm-histogram__frequency'>(0)</div> </div> <div class='jdgm-histogram__row' data-rating='1' data-frequency='0' data-percentage='0'> <div class='jdgm-histogram__star' role='button' aria-label="0% (0) reviews with 1 star rating" tabindex='0' ><span class='jdgm-star jdgm--on'></span><span class='jdgm-star jdgm--off'></span><span class='jdgm-star jdgm--off'></span><span class='jdgm-star jdgm--off'></span><span class='jdgm-star jdgm--off'></span></div> <div class='jdgm-histogram__bar'> <div class='jdgm-histogram__bar-content' style='width: 0%;'> </div> </div> <div class='jdgm-histogram__percentage'>0%</div> <div class='jdgm-histogram__frequency'>(0)</div> </div> <div class='jdgm-histogram__row jdgm-histogram__clear-filter' data-rating=null tabindex='0'></div> </div> <div class='jdgm-rev-widg__sort-wrapper'></div> </div> <div class='jdgm-rev-widg__body'> <div class='jdgm-rev-widg__reviews'></div> <div class='jdgm-paginate' data-per-page='5' data-url='https://api.judge.me/reviews/reviews_for_widget' style="display: none;"></div> </div> <div class='jdgm-rev-widg__paginate-spinner-wrapper'> <div class='jdgm-spinner'></div> </div> </div></div><!-- End of Judge.me code --> 3213<div id="shopify-section-product-recommendations" class="shopify-section"> 3214 3215 3216 3217 3218 3219 3220 3221 3222 3223 3224 3225 3226 3227 3228 3229 3230 3231 3232<div 3233 id="Recommendations-9218078736558" 3234 data-section-id="9218078736558" 3235 data-section-type="product-recommendations" 3236 data-enable="true" 3237 data-product-id="9218078736558" 3238 data-url="/recommendations/products" 3239 data-limit="6"> 3240 3241 <div 3242 data-section-id="9218078736558" 3243 data-subsection 3244 data-section-type="collection-template" 3245 class="index-section"> 3246 <div class="page-width"> 3247 <header class="section-header"> 3248 <h3 class="section-header__title"> 3249 You may also like 3250 </h3> 3251 </header> 3252 </div> 3253 3254 <div class="page-width page-width--flush-small"> 3255 <div class="grid-overflow-wrapper"> 3256 3257 <div class="product-recommendations-placeholder"> 3258 3259 <div class="grid grid--uniform visually-invisible" aria-hidden="true"> 3260 3261 3262 3263 3264 3265 3266 3267<div class="grid__item grid-product small--one-half medium-up--one-fifth" data-aos="row-of-"> 3268 <div class="grid-product__content"> 3269 3270 3271 3272 3273 3274 3275<a href="/products/rwanda-rulindo-murambi" class="grid-product__link "> 3276 <div class="grid-product__image-mask"> 3277 3278 <div 3279 class="grid__image-ratio grid__image-ratio--square lazyload" 3280 data-bgset=" 3281 3282 //blossomcoffeeroasters.com/cdn/shop/files/Rwanda_Rulindo_Washed_180x.jpg?v=1788888722 180w 180h, 3283 //blossomcoffeeroasters.com/cdn/shop/files/Rwanda_Rulindo_Washed_360x.jpg?v=1788888722 360w 360h, 3284 //blossomcoffeeroasters.com/cdn/shop/files/Rwanda_Rulindo_Washed_540x.jpg?v=1788888722 540w 540h, 3285 //blossomcoffeeroasters.com/cdn/shop/files/Rwanda_Rulindo_Washed_720x.jpg?v=1788888722 720w 720h, 3286 //blossomcoffeeroasters.com/cdn/shop/files/Rwanda_Rulindo_Washed_900x.jpg?v=1788888722 900w 900h, 3287 //blossomcoffeeroasters.com/cdn/shop/files/Rwanda_Rulindo_Washed_1080x.jpg?v=1788888722 1080w 1080h, 3288 //blossomcoffeeroasters.com/cdn/shop/files/Rwanda_Rulindo_Washed_1296x.jpg?v=1788888722 1296w 1296h, 3289 //blossomcoffeeroasters.com/cdn/shop/files/Rwanda_Rulindo_Washed_1512x.jpg?v=1788888722 1512w 1511h, 3290 //blossomcoffeeroasters.com/cdn/shop/files/Rwanda_Rulindo_Washed_1728x.jpg?v=1788888722 1728w 1727h 3291 3292" 3293 data-sizes="auto"> 3294 </div> 3295 3296 3297 3298 3299 3300 </div> 3301 3302 <div class="grid-product__meta"> 3303 <div class="grid-product__title">Rwanda - Rulindo Murambi - Washed</div> 3304 3305 <div class="grid-product__price"> 3306 3307 3308
3309 <span > 3310 from $22.50 3311 </span> 3312 3313</div> 3314 3315 </div> 3316 </a> 3317 3318 </div> 3319</div> 3320 3321 </div> 3322 </div> 3323 3324 3325 </div> 3326 </div> 3327 </div> 3328 </div> 3329</div> 3330<div id="shopify-section-product-collection-links" class="shopify-section"> 3331</div> 3332 3333 </main> 3334 3335 <div id="shopify-section-footer" class="shopify-section"><footer class="site-footer" data-section-id="footer" data-section-type="footer-section"> 3336 <div id="grp-entangle--root" class="grp-entangle--root"></div> 3337 <div class="page-width"> 3338 <div class="grid"> 3339 3340 3341 3342 <style data-shopify> 3343 @media only screen and (min-width: 769px) { 3344 .footer__item--1494292481350 { 3345 width: 25%; 3346 } 3347 } 3348 </style> 3349 3350 3351 3352 3353 <div class="grid__item small--hide footer__item--1494292481350"> 3354 <div class="footer__logo-social"> 3355 3356 <style data-shopify> 3357 .footer__logo a { 3358 height: 78px; 3359 } 3360 </style> 3361<div class="footer__logo"> 3362 <a href="/"> 3363 <img src="//blossomcoffeeroasters.com/cdn/shop/files/[email protected]?v=1613682594" alt="Blossom Coffee Roasters"> 3364 </a> 3365 </div> 3366 3367 3368 <ul class="no-bullets footer__social"> 3369 3370 <li> 3371 <a target="_blank" rel="noopener" href="https://www.facebook.com/people/Blossom-Coffee-Roasters/61551381509077/" title="Blossom Coffee Roasters on Facebook"> 3372 <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-facebook" viewBox="0 0 32 32"><path fill="#444" d="M18.56 31.36V17.28h4.48l.64-5.12h-5.12v-3.2c0-1.28.64-2.56 2.56-2.56h2.56V1.28H19.2c-3.84 0-7.04 2.56-7.04 7.04v3.84H7.68v5.12h4.48v14.08h6.4z"/></svg> 3373 <span class="icon__fallback-text">Facebook</span> 3374 </a> 3375 </li> 3376 3377 3378 3379 3380 <li> 3381 <a target="_blank" rel="noopener" href="https://instagram.com/blossomcoffeeroastery" title="Blossom Coffee Roasters on Instagram"> 3382 <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-instagram" viewBox="0 0 32 32"><path fill="#444" d="M16 3.094c4.206 0 4.7.019 6.363.094 1.538.069 2.369.325 2.925.544.738.287 1.262.625 1.813 1.175s.894 1.075 1.175 1.813c.212.556.475 1.387.544 2.925.075 1.662.094 2.156.094 6.363s-.019 4.7-.094 6.363c-.069 1.538-.325 2.369-.544 2.925-.288.738-.625 1.262-1.175 1.813s-1.075.894-1.813 1.175c-.556.212-1.387.475-2.925.544-1.663.075-2.156.094-6.363.094s-4.7-.019-6.363-.094c-1.537-.069-2.369-.325-2.925-.544-.737-.288-1.263-.625-1.813-1.175s-.894-1.075-1.175-1.813c-.212-.556-.475-1.387-.544-2.925-.075-1.663-.094-2.156-.094-6.363s.019-4.7.094-6.363c.069-1.537.325-2.369.544-2.925.287-.737.625-1.263 1.175-1.813s1.075-.894 1.813-1.175c.556-.212 1.388-.475 2.925-.544 1.662-.081 2.156-.094 6.363-.094zm0-2.838c-4.275 0-4.813.019-6.494.094-1.675.075-2.819.344-3.819.731-1.037.4-1.913.944-2.788 1.819S1.486 4.656 1.08 5.688c-.387 1-.656 2.144-.731 3.825-.075 1.675-.094 2.213-.094 6.488s.019 4.813.094 6.494c.075 1.675.344 2.819.731 3.825.4 1.038.944 1.913 1.819 2.788s1.756 1.413 2.788 1.819c1 .387 2.144.656 3.825.731s2.213.094 6.494.094 4.813-.019 6.494-.094c1.675-.075 2.819-.344 3.825-.731 1.038-.4 1.913-.944 2.788-1.819s1.413-1.756 1.819-2.788c.387-1 .656-2.144.731-3.825s.094-2.212.094-6.494-.019-4.813-.094-6.494c-.075-1.675-.344-2.819-.731-3.825-.4-1.038-.944-1.913-1.819-2.788s-1.756-1.413-2.788-1.819c-1-.387-2.144-.656-3.825-.731C20.812.275 20.275.256 16 .256z"/><path fill="#444" d="M16 7.912a8.088 8.088 0 0 0 0 16.175c4.463 0 8.087-3.625 8.087-8.088s-3.625-8.088-8.088-8.088zm0 13.338a5.25 5.25 0 1 1 0-10.5 5.25 5.25 0 1 1 0 10.5zM26.294 7.594a1.887 1.887 0 1 1-3.774.002 1.887 1.887 0 0 1 3.774-.003z"/></svg> 3383 <span class="icon__fallback-text">Instagram</span> 3384 </a> 3385 </li> 3386 3387 3388 3389 3390 3391 3392 3393 </ul> 3394 3395</div> 3396 3397<p class="footer__powered_by small--hide"><a target="_blank" rel="nofollow" href="https://www.shopify.com/pci-compl
3397iant?utm_campaign=poweredby&utm_medium=shopify&utm_source=onlinestore">This store is PCI Compliant</a></p> 3398 3399 3400 </div> 3401 3402 3403 3404 <style data-shopify> 3405 @media only screen and (min-width: 769px) { 3406 .footer__item--1494292485313 { 3407 width: 18%; 3408 } 3409 } 3410 </style> 3411 3412 3413 3414 3415 <div class="grid__item footer__item--1494292485313"> 3416 3417 3418 <p class="footer__title small--hide"> 3419 SHOP 3420 </p> 3421 <button type="button" class="footer__title collapsible-trigger collapsible-trigger-btn medium-up--hide" aria-controls="Footer-1494292485313"> 3422 SHOP 3423 <span class="collapsible-trigger__icon collapsible-trigger__icon--open" role="presentation"> 3424 <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon--wide icon-chevron-down" viewBox="0 0 28 16"><path d="M1.57 1.59l12.76 12.77L27.1 1.59" stroke-width="2" stroke="#000" fill="none" fill-rule="evenodd"/></svg> 3425</span> 3426 3427 </button> 3428 3429 <div 3430 3431 id="Footer-1494292485313" class="collapsible-content collapsible-content--small" 3432 > 3433 <div class="collapsible-content__inner"> 3434 <div class="footer__collapsible"> 3435 <ul class="no-bullets site-footer__linklist"> 3436 3437 <li><a href="https://blossomcoffeeroasters.com/collections/coffee">Coffee</a></li> 3438 3439 <li><a href="https://blossomcoffeeroasters.com/collections/tea">Tea</a></li> 3440 3441 <li><a href="/search">Search</a></li> 3442 3443 </ul> 3444 </div> 3445 </div> 3446 </div> 3447 3448 3449 </div> 3450 3451 3452 3453 <style data-shopify> 3454 @media only screen and (min-width: 769px) { 3455 .footer__item--e8adae13-a7fa-4a46-9084-7a7b30a25983 { 3456 width: 20%; 3457 } 3458 } 3459 </style> 3460 3461 3462 3463 3464 <div class="grid__item footer__item--e8adae13-a7fa-4a46-9084-7a7b30a25983"> 3465 3466 3467 <p class="footer__title small--hide"> 3468 BLOSSOM 3469 </p> 3470 <button type="button" class="footer__title collapsible-trigger collapsible-trigger-btn medium-up--hide" aria-controls="Footer-e8adae13-a7fa-4a46-9084-7a7b30a25983"> 3471 BLOSSOM 3472 <span class="collapsible-trigger__icon collapsible-trigger__icon--open" role="presentation"> 3473 <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon--wide icon-chevron-down" viewBox="0 0 28 16"><path d="M1.57 1.59l12.76 12.77L27.1 1.59" stroke-width="2" stroke="#000" fill="none" fill-rule="evenodd"/></svg> 3474</span> 3475 3476 </button> 3477 3478 <div 3479 3480 id="Footer-e8adae13-a7fa-4a46-9084-7a7b30a25983" class="collapsible-content collapsible-content--small" 3481 > 3482 <div class="collapsible-content__inner"> 3483 <div class="footer__collapsible"> 3484 <ul class="no-bullets site-footer__linklist"> 3485 3486 <li><a href="/pages/our-coffee">About Us</a></li> 3487 3488 <li><a href="/pages/wholesale">Wholesale</a></li> 3489 3490 <li><a href="/pages/islanders">Islanders</a></li> 3491 3492 <li><a href="/pages/contact-us">Contact Us</a></li> 3493 3494 </ul> 3495 </div> 3496 </div> 3497 </div> 3498 3499 3500 </div> 3501 3502 3503 3504 <style data-shopify> 3505 @media only screen and (min-width: 769px) { 3506 .footer__item--1494292487693 { 3507 width: 33%; 3508 } 3509 } 3510 </style> 3511 3512 3513 3514 3515 <div class="grid__item footer__item--1494292487693"> 3516 3517 <p class="footer__title small--hide">SUBSCRIBE</p> 3518 <button type="button" class="footer__title collapsible-trigger collapsible-trigger-btn medium-up--hide" aria-controls="Footer-1494292487693"> 3519 SUBSCRIBE 3520 <span class="collapsible-trigger__icon collapsible-trigger__icon--open" role="presentation"> 3521 <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon--wide icon-chevron-down" viewBox="0 0 28 16"><path d="M1.57 1.59l12.76 12.77L27.1 1.59" stroke-width="2" stroke="#000" fill="none" fill-rule="evenodd"/></svg> 3522</span> 3523 3524 </button> 3525 3526<div 3527 3528 id="Footer-1494292487693" class="collapsible-content collapsible-content--small" 3529 > 3530 <div class="collapsible-content__inner">
3531 <div class="footer__collapsible"> 3532 3533 <p><p>Subscribe to our email list to get monthly special offers and limited-time deals.</p></p> 3534 3535 3536 <form method="post" action="/contact#newsletter-footer" id="newsletter-footer" accept-charset="UTF-8" class="contact-form"><input type="hidden" name="form_type" value="customer" /><input type="hidden" name="utf8" value="â" /> 3537 3538 3539 3540 <label for="Email-1494292487693" class="hidden-label">Enter your email</label> 3541 <input type="hidden" name="contact[tags]" value="prospect,newsletter"> 3542 <input type="hidden" name="contact[context]" value="footer"> 3543 <div class="footer__newsletter"> 3544 <input type="email" value="" placeholder="Enter your email" name="contact[email]" id="Email-1494292487693" class="footer__newsletter-input" autocorrect="off" autocapitalize="off"> 3545 <button type="submit" class="footer__newsletter-btn" name="commit"> 3546 <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-email" viewBox="0 0 64 64"><path d="M63 52H1V12h62zM1 12l25.68 24h9.72L63 12M21.82 31.68L1.56 51.16m60.78.78L41.27 31.68"/></svg> 3547 </button> 3548 </div> 3549 </form> 3550 </div> 3551 </div> 3552</div> 3553 3554 </div> 3555 3556 3557 3558 3559 <div class="grid__item medium-up--hide"> 3560 <div class="footer__logo-social"> 3561 3562 <style data-shopify> 3563 .footer__logo a { 3564 height: 78px; 3565 } 3566 </style> 3567<div class="footer__logo"> 3568 <a href="/"> 3569 <img src="//blossomcoffeeroasters.com/cdn/shop/files/[email protected]?v=1613682594" alt="Blossom Coffee Roasters"> 3570 </a> 3571 </div> 3572 3573 3574 <ul class="no-bullets footer__social"> 3575 3576 <li> 3577 <a target="_blank" rel="noopener" href="https://www.facebook.com/people/Blossom-Coffee-Roasters/61551381509077/" title="Blossom Coffee Roasters on Facebook"> 3578 <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-facebook" viewBox="0 0 32 32"><path fill="#444" d="M18.56 31.36V17.28h4.48l.64-5.12h-5.12v-3.2c0-1.28.64-2.56 2.56-2.56h2.56V1.28H19.2c-3.84 0-7.04 2.56-7.04 7.04v3.84H7.68v5.12h4.48v14.08h6.4z"/></svg> 3579 <span class="icon__fallback-text">Facebook</span> 3580 </a> 3581 </li> 3582 3583 3584 3585 3586 <li> 3587 <a target="_blank" rel="noopener" href="https://instagram.com/blossomcoffeeroastery" title="Blossom Coffee Roasters on Instagram"> 3588 <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-instagram" viewBox="0 0 32 32"><path fill="#444" d="M16 3.094c4.206 0 4.7.019 6.363.094 1.538.069 2.369.325 2.925.544.738.287 1.262.625 1.813 1.175s.894 1.075 1.175 1.813c.212.556.475 1.387.544 2.925.075 1.662.094 2.156.094 6.363s-.019 4.7-.094 6.363c-.069 1.538-.325 2.369-.544 2.925-.288.738-.625 1.262-1.175 1.813s-1.075.894-1.813 1.175c-.556.212-1.387.475-2.925.544-1.663.075-2.156.094-6.363.094s-4.7-.019-6.363-.094c-1.537-.069-2.369-.325-2.925-.544-.737-.288-1.263-.625-1.813-1.175s-.894-1.075-1.175-1.813c-.212-.556-.475-1.387-.544-2.925-.075-1.663-.094-2.156-.094-6.363s.019-4.7.094-6.363c.069-1.537.325-2.369.544-2.925.287-.737.625-1.263 1.175-1.813s1.075-.894 1.813-1.175c.556-.212 1.388-.475 2.925-.544 1.662-.081 2.156-.094 6.363-.094zm0-2.838c-4.275 0-4.813.019-6.494.094-1.675.075-2.819.344-3.819.731-1.037.4-1.913.944-2.788 1.819S1.486 4.656 1.08 5.688c-.387 1-.656 2.144-.731 3.825-.075 1.675-.094 2.213-.094 6.488s.019 4.813.094 6.494c.075 1.675.344 2.819.731 3.825.4 1.038.944 1.913 1.819 2.788s1.756 1.413 2.788 1.819c1 .387 2.144.656 3.825.731s2.213.094 6.494.094 4.813-.019 6.494-.094c1.675-.075 2.819-.344 3.825-.731 1.038-.4 1.913-.944 2.788-1.819s1.413-1.756 1.819-2.788c.387-1 .656-2.144.731-3.825s.094-2.212.094-6.494-.019-4.813-.094-6.494c-.075-1.675-.344-2.819-.731-3.825-.4-1.038-.944-1.913-1.819-2.788s-1.756-1.413-2.788-1.819c-1-.387-2.144-.656-3.825-.731C20.812.275 20.275.256 16 .256z"/><path fill="#444" d="M16 7.912a8.088 8.088 0 0 0 0 16.175c4.463 0 8.087-3.625 8.087-8.088s-3.625-8.088-8.088-8.088zm0 13.338a5.25 5.25 0 1 1 0-10.5 5.25 5.25 0 1 1 0 10.5zM26.294 7.594a1.887 1.887 0 1 1-3.774.002 1.887 1.887 0 0 1 3.774-.003z"/></svg>
3589 <span class="icon__fallback-text">Instagram</span> 3590 </a> 3591 </li> 3592 3593 3594 3595 3596 3597 3598 3599 </ul> 3600 3601</div> 3602 3603<p class="footer__powered_by"><a target="_blank" rel="nofollow" href="https://www.shopify.com/pci-compliant?utm_campaign=poweredby&utm_medium=shopify&utm_source=onlinestore">This store is PCI Compliant</a></p> 3604 3605 3606 </div> 3607 3608 3609 3610 3611 3612 3613 3614 3615 </div> 3616 3617 <div class="site-footer__bottom"> 3618 3619 3620 <div class="footer__copyright site-footer__bottom-block text-center"> 3621 © 2026 3622 Blossom Coffee Roasters 3623 3624 </div> 3625 3626 </div> 3627 </div> 3628 <div id="grp-entangle--root" class="grp-entangle--root"></div> 3629</footer> 3630 3631 3632</div> 3633 </div> 3634 </div> 3635 3636 <div id="shopify-section-newsletter-popup" class="shopify-section index-section--hidden"> 3637 3638 3639</div>
3640<script id="CartTemplate" type="text/template"> 3641 3642 <div class="drawer__scrollable"> 3643 {{#items}} 3644 <div class="ajaxcart__product appear-animation appear-delay-{{animationRow}}"> 3645 <div class="ajaxcart__row"> 3646 <div class="grid"> 3647 <div class="grid__item one-third"> 3648 <a href="{{url}}" class="ajaxcart__product-image"><img src="{{img}}" alt="{{name}}"></a> 3649 </div> 3650 <div class="grid__item two-thirds"> 3651 <div class="ajaxcart__product-name--wrapper"> 3652 <a href="{{url}}" class="ajaxcart__product-name">{{{name}}}</a> 3653 {{#if variation}} 3654 <span class="ajaxcart__product-meta">{{variation}}</span> 3655 {{/if}} 3656 {{#properties}} 3657 {{#each this}} 3658 {{#if this}} 3659 <span class="ajaxcart__product-meta">{{@key}}: {{this}}</span> 3660 {{/if}} 3661 {{/each}} 3662 {{/properties}} 3663 {{{sellingPlan}}} 3664 </div> 3665 3666 <div class="grid grid--full display-table"> 3667 <div class="grid__item display-table-cell one-half"> 3668 <label for="updates_{{key}}" class="visually-hidden">Quantity</label> 3669 <div class="js-qty__wrapper"> 3670 <input type="text" id="updates_{{key}}" 3671 class="js-qty__num" 3672 value="{{itemQty}}" 3673 data-id="{{key}}" 3674 min="0" 3675 aria-label="quantity" 3676 pattern="[0-9]*" 3677 name="updates[]"> 3678 <button type="button" 3679 class="js-qty__adjust js-qty__adjust--minus" 3680 aria-label="Reduce item quantity by one"> 3681 <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-minus" viewBox="0 0 20 20"><path fill="#444" d="M17.543 11.029H2.1A1.032 1.032 0 0 1 1.071 10c0-.566.463-1.029 1.029-1.029h15.443c.566 0 1.029.463 1.029 1.029 0 .566-.463 1.029-1.029 1.029z"/></svg> 3682 <span class="icon__fallback-text" aria-hidden="true">−</span> 3683 </button> 3684 <button type="button" 3685 class="js-qty__adjust js-qty__adjust--plus" 3686 aria-label="Increase item quantity by one"> 3687 <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-plus" viewBox="0 0 20 20"><path fill="#444" d="M17.409 8.929h-6.695V2.258c0-.566-.506-1.029-1.071-1.029s-1.071.463-1.071 1.029v6.671H1.967C1.401 8.929.938 9.435.938 10s.463 1.071 1.029 1.071h6.605V17.7c0 .566.506 1.029 1.071 1.029s1.071-.463 1.071-1.029v-6.629h6.695c.566 0 1.029-.506 1.029-1.071s-.463-1.071-1.029-1.071z"/></svg> 3688 <span class="icon__fallback-text" aria-hidden="true">+</span> 3689 </button> 3690 </div> 3691 </div> 3692 <div class="grid__item display-table-cell one-half text-right"> 3693 {{#if discountsApplied}} 3694 <small class="cart__price--strikethrough">{{{price}}}</small> 3695 <span class="ajaxcart__price"> 3696 {{{discountedPrice}}} 3697 </span> 3698 {{else}} 3699 <span class="ajaxcart__price"> 3700 {{{price}}} 3701 </span> 3702 {{/if}} 3703 </div> 3704 </div> 3705 3706 <div class="grid grid--full"> 3707 {{#if discountsApplied}} 3708 <div class="grid__item text-right"> 3709 {{#each discounts}} 3710 <small class="ajaxcart__discount cart__discount"> 3711 {{this.discount_application.title}} (-{{{this.formattedAmount}}}) 3712 </small> 3713 {{/each}} 3714 </div> 3715 {{/if}} 3716 3717 {{#if unitBase}} 3718 <div class="grid__item text-right"> 3719 <div class="product__unit-price"> 3720 {{{ unitPrice }}}/{{{ unitBase }}} 3721 </div> 3722 </div> 3723 {{/if}} 3724 </div> 3725 </div> 3726 </div> 3727 </div> 3728 </div> 3729 {{/items}} 3730 3731 3732 <div class="appear-animation appear-delay-{{lastAnimationRow}}"> 3733 <label for="CartSpecialInstructions" class="ajaxcart__note">Write a gift message</label> 3734 <textarea name="note" class="input-full cart-notes" id="CartSpecialInstructions">{{note}}</textarea> 3735 </div> 3736 3737 </div> 3738 <div class="drawer__footer appear-animation appear-delay-{{lastAnimationRow}}"> 3739 {{#if cartDiscounts }} 3740 <div class="grid grid--full"> 3741 <div class="grid__item one-half"> 3742 <p class="ajaxcart__subtotal">Discounts</p> 3743 </div> 3744 <div class="grid__item one-half text-right"> 3745 {{#each cartDiscounts}} 3746 <p class="ajaxcart__price cart__discount"> 3747 {{this.title}} (-{{{this.formattedAmount}}}) 3748 </p> 3749 {{/each}} 3750 </div> 3751 </div> 3752 {{/if}} 3753 <div class="grid grid--full"> 3754 <div class="grid__item one-half"> 3755 <p class="ajaxcart__subtotal">Subtotal</p> 3756 </div> 3757 <div class="grid__item one-half text-right"> 3758 <p class="ajaxcart__price">{{{totalPrice}}}</p> 3759 </div> 3760 </div> 3761 {{#if totalCartDiscount}} 3762 <p class="ajaxcart__savings text-center">{{{totalCartDiscount}}}</p> 3763 {{/if}} 3764 <p class="ajaxcart__note"> 3765 Shipping, taxes, and discount codes calculated at checkout. 3766 </p> 3767 3768 3769 3770 3771 <button type="submit" class="btn btn--full cart__checkout" name="checkout"> 3772 Check out 3773 </button> 3774 </div> 3775 3776</script>
vendor: 1 bytes, line 3776
3776
3777<script id="PredictiveTemplate" type="text/template"> 3778 <div class="predictive-result__layout"> 3779 3780 {{#if products}} 3781 <div data-type-products> 3782 <div class="grid grid--small"> 3783 {{#products}} 3784 <div class="grid__item medium-up--one-third"> 3785 <a href="{{url}}" class="predictive__result"> 3786 <div class="predictive__result-image"> 3787 {{#if image }} 3788 <img src="{{image}}" alt="{{title}}"> 3789 {{/if}} 3790 </div> 3791 <div class="predictive__result-meta"> 3792 <div class="grid-product__title"> 3793 {{title}} 3794 </div> 3795 3796 3797 </div> 3798 </a> 3799 </div> 3800 {{/products}} 3801 </div> 3802 </div> 3803 {{/if}} 3804 3805 {{#if collections}} 3806 <div data-type-collections> 3807 <p class="h6 predictive__label">Collections:</p> 3808 <div class="grid grid--small"> 3809 {{#collections}} 3810 <div class="grid__item medium-up--one-third"> 3811 <a href="{{url}}" class="predictive__result"> 3812 <div class="predictive__result-image"> 3813 {{#if image }} 3814 <img src="{{image}}" alt="{{title}}"> 3815 {{/if}} 3816 </div> 3817 <div class="predictive__result-meta"> 3818 <div class="grid-product__title"> 3819 {{title}} 3820 </div> 3821 </div> 3822 </a> 3823 </div> 3824 {{/collections}} 3825 </div> 3826 </div> 3827 {{/if}} 3828 3829 {{#if pages}} 3830 <div data-type-pages> 3831 <p class="h6 predictive__label">Pages:</p> 3832 {{#pages}} 3833 <div> 3834 <a href="{{url}}"> 3835 {{title}} 3836 </a> 3837 </div> 3838 {{/pages}} 3839 </div> 3840 {{/if}} 3841 3842 {{#if articles}} 3843 <div data-type-articles> 3844 <p class="h6 predictive__label">Articles:</p> 3845 <div class="grid grid--small"> 3846 {{#articles}} 3847 <div class="grid__item medium-up--one-third"> 3848 <a href="{{url}}" class="predictive__result"> 3849 <div class="predictive__result-image"> 3850 {{#if image }} 3851 <img src="{{image}}" alt="{{title}}"> 3852 {{/if}} 3853 </div> 3854 <div class="predictive__result-meta"> 3855 {{title}} 3856 </div> 3857 </a> 3858 </div> 3859 {{/articles}} 3860 </div> 3861 </div> 3862 {{/if}} 3863 3864 </div> 3865</script>
3865 3866 3867 <div class="hide"> 3868 <button 3869 id="prevArrowTemplate" 3870 class="slick-prev" 3871 aria-label="Previous" 3872 type="button" 3873 > 3874 <svg 3875 aria-hidden="true" 3876 focusable="false" 3877 role="presentation" 3878 class="icon icon-chevron-left" 3879 viewBox="0 0 284.49 498.98" 3880 > 3881 <path d="M249.49 0a35 35 0 0 1 24.75 59.75L84.49 249.49l189.75 189.74a35.002 35.002 0 1 1-49.5 49.5L10.25 274.24a35 35 0 0 1 0-49.5L224.74 10.25A34.89 34.89 0 0 1 249.49 0z"/> 3882 </svg> 3883 <span class="icon__fallback-text">Previous</span> 3884 </button> 3885 <button id="nextArrowTemplate" class="slick-next" aria-label="Next" type="button"> 3886 <svg 3887 aria-hidden="true" 3888 focusable="false" 3889 role="presentation" 3890 class="icon icon-chevron-right" 3891 viewBox="0 0 284.49 498.98" 3892 > 3893 <path d="M35 498.98a35 35 0 0 1-24.75-59.75l189.74-189.74L10.25 59.75a35.002 35.002 0 0 1 49.5-49.5l214.49 214.49a35 35 0 0 1 0 49.5L59.75 488.73A34.89 34.89 0 0 1 35 498.98z"/> 3894 </svg> 3895 <span class="icon__fallback-text">Next</span> 3896 </button> 3897 </div> 3898 3899 <div id="VideoModal" class="modal modal--solid"> 3900 <div class="modal__inner"> 3901 <div class="modal__centered page-width text-center"> 3902 <div class="modal__centered-content"> 3903 <div class="video-wrapper video-wrapper--modal"> 3904 <div id="VideoHolder"></div> 3905 </div> 3906 </div> 3907 </div> 3908 </div> 3909 3910 <button type="button" class="modal__close js-modal-close text-link"> 3911 <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-close" viewBox="0 0 64 64"><path d="M19 17.61l27.12 27.13m0-27.12L19 44.74"/></svg> 3912 <span class="icon__fallback-text">"Close (esc)"</span> 3913 </button> 3914</div> 3915 3916 <div class="pswp" tabindex="-1" role="dialog" aria-hidden="true"> 3917 <div class="pswp__bg"></div> 3918 <div class="pswp__scroll-wrap"> 3919 <div class="pswp__container"> 3920 <div class="pswp__item"></div> 3921 <div class="pswp__item"></div> 3922 <div class="pswp__item"></div> 3923 </div> 3924 3925 <div class="pswp__ui pswp__ui--hidden"> 3926 <button class="btn btn--no-animate btn--body btn--circle pswp__button pswp__button--arrow--left" title="Previous"> 3927 <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-chevron-left" viewBox="0 0 284.49 498.98"><path d="M249.49 0a35 35 0 0 1 24.75 59.75L84.49 249.49l189.75 189.74a35.002 35.002 0 1 1-49.5 49.5L10.25 274.24a35 35 0 0 1 0-49.5L224.74 10.25A34.89 34.89 0 0 1 249.49 0z"/></svg> 3928 </button> 3929 3930 <button class="btn btn--no-animate btn--body btn--circle btn--large pswp__button pswp__button--close" title="Close (esc)"> 3931 <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-close" viewBox="0 0 64 64"><path d="M19 17.61l27.12 27.13m0-27.12L19 44.74"/></svg> 3932 </button> 3933 3934 <button class="btn btn--no-animate btn--body btn--circle pswp__button pswp__button--arrow--right" title="Next"> 3935 <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-chevron-right" viewBox="0 0 284.49 498.98"><path d="M35 498.98a35 35 0 0 1-24.75-59.75l189.74-189.74L10.25 59.75a35.002 35.002 0 0 1 49.5-49.5l214.49 214.49a35 35 0 0 1 0 49.5L59.75 488.73A34.89 34.89 0 0 1 35 498.98z"/></svg> 3936 </button> 3937 </div> 3938 </div> 3939</div> 3940 3941 3942 <!-- **BEGIN** Hextom QAB Integration // Main Include - DO NOT MODIFY --> 3943 <!-- **BEGIN** Hextom QAB Integration // Main - DO NOT MODIFY -->
3944<script type="application/javascript"> 3945 window.hextom_qab_meta = { 3946 p1: [ 3947 3948 3949 "acirfA" 3950 , 3951 3952 "sselmottoB" 3953 , 3954 3955 "eeffoC" 3956 , 3957 3958 "tsaor thgiL" 3959 , 3960 3961 "adnawR" 3962 , 3963 3964 "eeffoc ytlaiceps" 3965 , 3966 3967 "dehsaW" 3968 3969 3970 3971 ], 3972 p2: { 3973 3974 } 3975 }; 3976</script>
3976 3977<!-- **END** Hextom QAB Integration // Main - DO NOT MODIFY --> 3978 <!-- **END** Hextom QAB Integration // Main Include - DO NOT MODIFY --> 3979 <div id="bb-be"> 3980
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.