1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16<!doctype html> 17<html class="no-js no-touch supports-no-cookies" lang="en"> 18<head> 19 <meta charset="UTF-8"> 20 <meta name="viewport" content="width=device-width, initial-scale=1.0"> 21 <meta name="theme-color" content="#a0aee8"> 22 <link rel="canonical" href="https://www.boppy.com/search"> 23 24 <!-- ======================= Broadcast Theme V3.2.1 ========================= --> 25 26 <link rel="preconnect" href="https://cdn.shopify.com" crossorigin> 27 <link rel="preconnect" href="https://fonts.shopify.com" crossorigin> 28 <link rel="preconnect" href="https://monorail-edge.shopifysvc.com" crossorigin><link rel="preload" href="https://cdn.shopify.com/s/files/1/0039/7043/3094/files/Mother_Badge.svg?v=1772631757" as="image" type="image/svg+xml"> 29 <link rel="shortcut icon" href="//www.boppy.com/cdn/shop/files/boppy_favicon_32x32.png?v=1667423000" type="image/png" /> 30 31<style data-shopify>@font-face { 32font-family:"filson-soft"; 33src:url("https://cdn.shopify.com/s/files/1/0039/7043/3094/files/filsonsoft-medium-webfont.woff2?v=1783649518") format("woff2"),url("https://cdn.shopify.com/s/files/1/0039/7043/3094/files/filsonsoft-medium-webfont.woff?v=1783649518") format("woff"); 34font-display:swap; font-style:normal; font-weight:500; font-stretch:normal; 35}</style><!-- Title and description ================================================ --> 36 37 <title> 38 39 Search 40 41 42 43 – Boppy 44 45 </title> 46 47 48 <meta name="description" content="Browse Boppy Breastfeeding Pillows, Baby Carriers, Pregnancy Pillows, and other accessories for Mom and Dad."> 49 50 51 52 53<meta property="og:site_name" content="Boppy"> 54<meta property="og:url" content="https://www.boppy.com/search"> 55<meta property="og:title" content="Search"> 56<meta property="og:type" content="website"> 57<meta property="og:description" content="Browse Boppy Breastfeeding Pillows, Baby Carriers, Pregnancy Pillows, and other accessories for Mom and Dad."><meta name="twitter:card" content="summary_large_image"> 58<meta name="twitter:title" content="Search"> 59<meta name="twitter:description" content="Browse Boppy Breastfeeding Pillows, Baby Carriers, Pregnancy Pillows, and other accessories for Mom and Dad."> 60 61 <!-- CSS ================================================================== --> 62 63 64 65<style>@font-face{font-family:Poppins;font-weight:500;font-style:normal;font-display:swap;src:url(//www.boppy.com/cdn/fonts/poppins/poppins_n5.ad5b4b72b59a00358afc706450c864c3c8323842.woff2) format("woff2"),url(//www.boppy.com/cdn/fonts/poppins/poppins_n5.33757fdf985af2d24b32fcd84c9a09224d4b2c39.woff) format("woff")}@font-face{font-family:Poppins;font-weight:400;font-style:normal;font-display:swap;src:url(//www.boppy.com/cdn/fonts/poppins/poppins_n4.0ba78fa5af9b0e1a374041b3ceaadf0a43b41362.woff2) format("woff2"),url(//www.boppy.com/cdn/fonts/poppins/poppins_n4.214741a72ff2596839fc9760ee7a770386cf16ca.woff) format("woff")}@font-face{font-family:Poppins;font-weight:600;font-style:normal;font-display:swap;src:url(//www.boppy.com/cdn/fonts/poppins/poppins_n6.aa29d4918bc243723d56b59572e18228ed0786f6.woff2) format("woff2"),url(//www.boppy.com/cdn/fonts/poppins/poppins_n6.5f815d845fe073750885d5b7e619ee00e8111208.woff) format("woff")}@font-face{font-family:Poppins;font-weight:500;font-style:normal;font-display:swap;src:url(//www.boppy.com/cdn/fonts/poppins/poppins_n5.ad5b4b72b59a00358afc706450c864c3c8323842.woff2) format("woff2"),url(//www.boppy.com/cdn/fonts/poppins/poppins_n5.33757fdf985af2d24b32fcd84c9a09224d4b2c39.woff) format("woff")}@font-face{font-family:Poppins;font-weight:400;font-style:italic;font-display:swap;src:url(//www.boppy.com/cdn/fonts/poppins/poppins_i4.846ad1e22474f856bd6b81ba4585a60799a9f5d2.woff2) format("woff2"),url(//www.boppy.com/cdn/fonts/poppins/poppins_i4.56b43284e8b52fc64c1fd271f289a39e8477e9ec.woff) format("woff")}@font-face{font-family:Poppins;font-weight:500;font-style:italic;font-display:swap;src:url(//www.boppy.com/cdn/fonts/poppins/poppins_i5.6acfce842c096080e34792078ef3cb7c3aad24d4.woff2) format("woff2"),url(//www.boppy.com/cdn/fonts/poppins/poppins_i5.a49113e4fe0ad7fd7716bd237f1602cbec299b3c.woff) format("woff")} 66/*# sourceMappingURL=/s/files/1/0039/7043/3094/t/182/assets/font-settings.css.map?v=166805428797991918871788223632 */ 67</style> 68 69 70 71<style data-shopify> 72 73:root { 74 75 76---color-video-bg: #e9dccc; 77 78 79---color-bg: #f1e8de; 80---color-bg-secondary: #F8F8F8; 81---color-bg-rgb: 241, 232, 222; 82 83---color-text-dark: #4f2422; 84---color-text: #7b4542; 85---color-text-light: #9e7671; 86 87
88/* === Opacity shades of grey ===*/ 89---color-a5: rgba(123, 69, 66, 0.05); 90---color-a10: rgba(123, 69, 66, 0.1); 91---color-a15: rgba(123, 69, 66, 0.15); 92---color-a20: rgba(123, 69, 66, 0.2); 93---color-a25: rgba(123, 69, 66, 0.25); 94---color-a30: rgba(123, 69, 66, 0.3); 95---color-a35: rgba(123, 69, 66, 0.35); 96---color-a40: rgba(123, 69, 66, 0.4); 97---color-a45: rgba(123, 69, 66, 0.45); 98---color-a50: rgba(123, 69, 66, 0.5); 99---color-a55: rgba(123, 69, 66, 0.55); 100---color-a60: rgba(123, 69, 66, 0.6); 101---color-a65: rgba(123, 69, 66, 0.65); 102---color-a70: rgba(123, 69, 66, 0.7); 103---color-a75: rgba(123, 69, 66, 0.75); 104---color-a80: rgba(123, 69, 66, 0.8); 105---color-a85: rgba(123, 69, 66, 0.85); 106---color-a90: rgba(123, 69, 66, 0.9); 107---color-a95: rgba(123, 69, 66, 0.95); 108 109---color-border: rgb(123, 69, 66); 110---color-border-light: #aa8680; 111---color-border-hairline: #ece1d3; 112---color-border-dark: #39201e;/* === Bright color ===*/ 113---color-primary: #835AA2; 114---color-primary-hover: #5d367a; 115---color-primary-fade: rgba(131, 90, 162, 0.05); 116---color-primary-fade-hover: rgba(131, 90, 162, 0.1);---color-primary-opposite: #ffffff; 117 118 119/* === Secondary Color ===*/ 120---color-secondary: #a0aee8; 121---color-secondary-hover: #5973e3; 122---color-secondary-fade: rgba(160, 174, 232, 0.05); 123---color-secondary-fade-hover: rgba(160, 174, 232, 0.1);---color-secondary-opposite: #ffffff; 124 125 126/* === link Color ===*/ 127---color-link: #835aa2; 128---color-link-hover: #7b4542; 129---color-link-fade: rgba(131, 90, 162, 0.05); 130---color-link-fade-hover: rgba(131, 90, 162, 0.1);---color-link-opposite: #ffffff; 131 132 133/* === Product grid sale tags ===*/ 134---color-sale-bg: #a0aee8; 135---color-sale-text: #ffffff;---color-sale-text-secondary: #a0aee8; 136 137/* === Product grid badges ===*/ 138---color-badge-bg: #cb9843; 139---color-badge-text: #ffffff; 140 141/* === Helper colors for form error states ===*/ 142---color-error: var(--error-text-color); 143---color-error-bg: var(--error-bg-color); 144 145 146 147 ---radius: 5px; 148 ---radius-sm: 3px; 149 150 151---color-announcement-bg: #835AA2; 152---color-announcement-text: #414042; 153---color-announcement-border: #6f5285; 154 155---color-header-bg: #835aa2; 156---color-header-link: #fffaf4; 157---color-header-link-hover: #414042; 158 159---color-menu-bg: #835aa2; 160---color-menu-border: #ffffff; 161---color-menu-link: #414042; 162---color-menu-link-hover: #835AA2; 163---color-submenu-bg: #fffaf4; 164---color-submenu-link: #414042; 165---color-submenu-link-hover: #835AA2; 166---color-menu-transparent: #ffffff; 167 168---color-footer-bg: #835aa2; 169---color-footer-text: #fffaf4; 170---color-footer-link: #fffaf4; 171---color-footer-link-hover: #835AA2; 172---color-footer-border: #67696E; 173 174/* === Custom Cursor ===*/ 175 176--icon-zoom-in: url( "//www.boppy.com/cdn/shop/t/182/assets/icon-zoom-in.svg?v=126996651526054293301788223632" ); 177--icon-zoom-out: url( "//www.boppy.com/cdn/shop/t/182/assets/icon-zoom-out.svg?v=128675709041987423641788223632" ); 178 179/* === Typography ===*/ 180---product-grid-aspect-ratio: 100%; 181---product-grid-size-piece: 10; 182 183 184---font-weight-body: 400; 185---font-weight-body-bold: 500; 186 187---font-stack-body: Poppins, sans-serif; 188---font-style-body: normal; 189---font-adjust-body: 1.0; 190 191---font-weight-heading: 500; 192---font-weight-heading-bold: 600; 193 194---font-stack-heading: "Filson Soft", sans-serif; 195---font-style-heading: normal; 196---font-adjust-heading: 1.0; 197 198---font-stack-nav: Poppins, sans-serif; 199---font-style-nav: normal; 200---font-adjust-nav: 1.0; 201 202---font-weight-nav: 400; 203---font-weight-nav-bold: 500; 204 205---font-size-base: 1.0rem; 206---font-size-base-percent: 1.0; 207 208---ico-select: url("//www.boppy.com/cdn/shop/t/182/assets/ico-select.svg?v=115630813262522069291788223631"); 209 210---heading-text-transform: none; 211---nav-text-transform: none; 212---btn-text-transform: none; 213---product-text-transform: none; 214---footer-links-transform: none; 215 216--icon-check: url( "//www.boppy.com/cdn/shop/t/182/assets/icon-check.svg?v=87277466866856918641788223631" ); 217--icon-dist-down: url( "//www.boppy.com/cdn/shop/t/182/assets/icon-dist-down.svg?v=80939885204980581591788223631" ); 218--testimonial-bg: url( "//www.boppy.com/cdn/shop/t/182/assets/testimonial.jpg?v=179244969043645590351788223633" ); 219 220 221/* === Parallax ===*/ 222---parallax-strength-min: 100.0%; 223---parallax-strength-max: 110.0%; 224 225 226 227} 228 229</style> 230 231 232 <link href="//www.boppy.com/cdn/shop/t/182/assets/theme.css?v=152004462346180288331788223633" rel="stylesheet" type="text/css" media="all" /> 233 <link href="//www.boppy.com/cdn/shop/t/182/assets/custom.css?v=131940890586162841751788234051" rel="stylesheet" type="text/css" media="all" /> 234 235
235<script> 236 if (window.navigator.userAgent.indexOf('MSIE ') > 0 || window.navigator.userAgent.indexOf('Trident/') > 0) { 237 document.documentElement.className = document.documentElement.className + ' ie'; 238 239 var scripts = document.getElementsByTagName('script')[0]; 240 var polyfill = document.createElement("script"); 241 polyfill.defer = true; 242 polyfill.src = "//www.boppy.com/cdn/shop/t/182/assets/ie11.js?v=144489047535103983231788223632"; 243 244 scripts.parentNode.insertBefore(polyfill, scripts); 245 } else { 246 document.documentElement.className = document.documentElement.className.replace('no-js', 'js'); 247 } 248 249 window.lazySizesConfig = window.lazySizesConfig || {}; 250 // Leaving this true makes lazysizes fetch every lazy image on the page once 251 // onload fires, which floods the network and main thread on mobile. 252 window.lazySizesConfig.preloadAfterLoad = false; 253 254 let root = '/'; 255 if (root[root.length - 1] !== '/') { 256 root = `${root}/`; 257 } 258 259 window.theme = { 260 routes: { 261 root: root, 262 cart: '/cart', 263 cart_add_url: '/cart/add', 264 product_recommendations_url: '/recommendations/products', 265 search_url: '/search', 266 addresses_url: '/account/addresses' 267 }, 268 assets: { 269 photoswipe: '//www.boppy.com/cdn/shop/t/182/assets/photoswipe.js?v=108660782622152556431788223631', 270 smoothscroll: '//www.boppy.com/cdn/shop/t/182/assets/smoothscroll.js?v=37906625415260927261788223631', 271 swatches: '//www.boppy.com/cdn/shop/t/182/assets/swatches.json?v=144681279948115033151788223631', 272 base: "//www.boppy.com/cdn/shop/t/182/assets/", 273 no_image: "//www.boppy.com/cdn/shopifycloud/storefront/assets/no-image-2048-a2addb12_1024x.gif", 274 }, 275 strings: { 276 addToCart: "Add to Cart", 277 soldOut: "Sold Out", 278 from: "From", 279 preOrder: "Pre-order", 280 sale: "Sale", 281 subscription: "Subscription", 282 unavailable: "Unavailable", 283 unitPrice: "Unit price", 284 unitPriceSeparator: "per", 285 resultsFor: "Results for", 286 noResultsFor: "No results for", 287 shippingCalcSubmitButton: "Calculate shipping", 288 shippingCalcSubmitButtonDisabled: "Calculating...", 289 selectValue: "Select value", 290 oneColor: "color", 291 otherColor: "colors", 292 upsellAddToCart: "Add", 293 free: "Free" 294 }, 295 settings: { 296 customerLoggedIn: false, 297 cartDrawerEnabled: true, 298 enableQuickAdd: false, 299 transparentHeader: false, 300 }, 301 moneyFormat: "${{amount}}", 302 moneyWithCurrencyFormat: "${{amount}} USD", 303 info: { 304 name: 'broadcast' 305 }, 306 version: '3.2.1' 307 }; 308 </script>
308 309 310 311
311<script src="//www.boppy.com/cdn/shopifycloud/storefront/assets/themes_support/shopify_common-5f594365.js" defer="defer"></script>
311 312 313 314 <!-- Theme Javascript ============================================================== --> 315
315<script src="//www.boppy.com/cdn/shop/t/182/assets/lazysizes.js?v=111431644619468174291788223633" async="async"></script>
315 316
316<script src="//www.boppy.com/cdn/shop/t/182/assets/vendor.js?v=54846291969275285991788223630" defer="defer"></script>
316 317
317<script src="//www.boppy.com/cdn/shop/t/182/assets/theme.js?v=23643501052736473681788225076" defer="defer"></script>
317 318 319 <!-- Shopify app scripts =========================================================== --> 320 321 322
322<script>window.performance && window.performance.mark && window.performance.mark('shopify.content_for_header.start');</script>
322<meta name="google-site-verification" content="9z-pUSpjjjoV06Ri_vAxDh_xPYvaK3Vp3WV9d38gkDY"> 323<meta name="google-site-verification" content="j5ITZ5WUxDniHQ46sM4hh7m9GVtQgHCMElaKSpJylsk"> 324<meta id="shopify-digital-wallet" name="shopify-digital-wallet" content="/3970433094/digital_wallets/dialog"> 325<link rel="ucp" href="/.well-known/ucp" version="2026-08-25">
325<script async="async" src="/checkouts/internal/preloads.js?locale=en-US&default_configuration_id=2860712002"></script>
325 326<link rel="preconnect" href="https://shop.app" crossorigin="anonymous">
327<script async="async" src="https://shop.app/checkouts/internal/preloads.js?locale=en-US&default_configuration_id=2860712002&shop_id=3970433094" crossorigin="anonymous"></script>
vendor: 1 bytes, line 327
327
328<script id="apple-pay-shop-capabilities" type="application/json">{"shopId":3970433094,"countryCode":"US","currencyCode":"USD","merchantCapabilities":["supports3DS"],"merchantId":"gid:\/\/shopify\/Shop\/3970433094","merchantName":"Boppy","requiredBillingContactFields":["postalAddress","email"],"requiredShippingContactFields":["postalAddress","email"],"shippingType":"shipping","supportedNetworks":["visa","masterCard","amex","discover","elo","jcb"],"total":{"type":"pending","label":"Boppy","amount":"1.00"},"shopifyPaymentsEnabled":true,"supportsSubscriptions":true}</script>
vendor: 1 bytes, line 328
328
329<script id="shopify-features" type="application/json">{"accessToken":"c3346926de9ce0a2b57d38486af89d16","betas":["rich-media-storefront-analytics"],"domain":"www.boppy.com","predictiveSearch":true,"shopId":3970433094,"locale":"en"}</script>
vendor: 1 bytes, line 329
329
330<script>var Shopify = Shopify || {}; 331Shopify.shop = "newboppy.myshopify.com"; 332Shopify.locale = "en"; 333Shopify.currency = {"active":"USD","rate":"1.0"}; 334Shopify.country = "US"; 335Shopify.theme = {"name":"boppy\/main","id":145519149122,"schema_name":"Broadcast","schema_version":"3.2.1","theme_store_id":null,"role":"main"}; 336Shopify.theme.handle = "null"; 337Shopify.theme.style = {"id":null,"handle":null}; 338Shopify.cdnHost = "www.boppy.com/cdn"; 339Shopify.routes = Shopify.routes || {}; 340Shopify.routes.root = "/"; 341Shopify.shopJsCdnBaseUrl = "https://cdn.shopify.com/shopifycloud/shop-js"; 342Shopify.SignInWithShop = Shopify.SignInWithShop || {}; 343Shopify.SignInWithShop.User = Shopify.SignInWithShop.User || {}; 344Shopify.SignInWithShop.User.recognized = false;</script>
vendor: 1 bytes, line 344
344
345<script type="module">!function(o){(o.Shopify=o.Shopify||{}).modules=!0}(window);</script>
vendor: 1 bytes, line 345
345
346<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 346
346
347<script> 348 window.ShopifyPay = window.ShopifyPay || {}; 349 window.ShopifyPay.apiHost = "shop.app\/pay"; 350 window.ShopifyPay.redirectState = null; 351</script>
vendor: 1 bytes, line 351
351
352<script> 353 window.Shopify = window.Shopify || {}; 354 window.Shopify.SignInWithShop = window.Shopify.SignInWithShop || {}; 355 window.Shopify.SignInWithShop.assetMetrics = { sampleRate: 0.25 }; 356 window.Shopify.SignInWithShop.eligible = true; 357</script>
vendor: 1 bytes, line 357
357
358<script id="shop-js-analytics" type="application/json">{"pageType":"search"}</script>
vendor: 1 bytes, line 358
358
359<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 359
359
360<script type="module"> 361 await import("https://cdn.shopify.com/shopifycloud/shop-js/modules/v2/loader.init-shop-cart-sync.en.esm.js"); 362 363 window.Shopify.SignInWithShop?.initShopCartSync?.({"fedCMEnabled":true,"windoidEnabled":true}); 364 365</script>
vendor: 1 bytes, line 365
365
366<script> 367 window.Shopify = window.Shopify || {}; 368 if (!window.Shopify.featureAssets) window.Shopify.featureAssets = {}; 369 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"]}; 370</script>
vendor: 1 bytes, line 370
370
371<script>(function() { 372 var isLoaded = false; 373 function asyncLoad() { 374 if (isLoaded) return; 375 isLoaded = true; 376 var urls = ["https:\/\/apps.bazaarvoice.com\/deployments\/boppy\/main_site\/production\/en_US\/bv.js?shop=newboppy.myshopify.com","https:\/\/ecom-app.rakutenadvertising.io\/rakuten_advertising.js?shop=newboppy.myshopify.com","https:\/\/tag.rmp.rakuten.com\/124523.ct.js?shop=newboppy.myshopify.com","\/\/cdn.shopify.com\/proxy\/68e25f3ee3d9510df1aaba0a1ceecffa4539ba6496262a78b53a3606f54bb5c6\/api.goaffpro.com\/loader.js?shop=newboppy.myshopify.com\u0026sp-cache-control=cHVibGljLCBtYXgtYWdlPTkwMA","https:\/\/na.shgcdn3.com\/pixel-collector.js?shop=newboppy.myshopify.com","https:\/\/assets.pixlee.com\/shopify\/pixlee.shopify.v2.prod.js?shop=newboppy.myshopify.com","https:\/\/cdn.attn.tv\/boppy\/dtag.js?shop=newboppy.myshopify.com"]; 377 for (var i = 0; i < urls.length; i++) { 378 var s = document.createElement('script'); 379 s.type = 'text/javascript'; 380 s.async = true; 381 s.src = urls[i]; 382 var x = document.getElementsByTagName('script')[0]; 383 x.parentNode.insertBefore(s, x); 384 } 385 }; 386 if(window.attachEvent) { 387 window.attachEvent('onload', asyncLoad); 388 } else { 389 window.addEventListener('load', asyncLoad, false); 390 } 391})();</script>
vendor: 1 bytes, line 391
391
392<script id="__st">var __st={"a":3970433094,"offset":-21600,"reqid":"3f924740-736c-4715-b5c6-ea1ba8712caa-1790469569","pageurl":"www.boppy.com\/search","u":"ad6621a0308c","p":"searchresults"};</script>
vendor: 1 bytes, line 392
392
393<script>window.ShopifyPaypalV4VisibilityTracking = true;</script>
vendor: 1 bytes, line 393
393
394<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 394
394
395<script integrity="sha256-JjoPp5ZfB1sSAs5SQaol1x1GgvveM+BgmRzyDexInEQ=" data-source-attribution="shopify.loadfeatures" defer="defer" src="//www.boppy.com/cdn/shopifycloud/storefront/assets/storefront/load_feature-1bd60354.js" crossorigin="anonymous"></script>
vendor: 1 bytes, line 395
395
396<script>(function () {var userAgent = navigator.userAgent;var platform = navigator.platform;var maxTouchPoints = navigator.maxTouchPoints || 0;var isIOS = /iPad|iPhone|iPod/.test(platform) || (platform === 'MacIntel' && maxTouchPoints > 1);var isMacSafari = platform.indexOf('Mac') === 0 && /Safari/.test(userAgent) && !/Chrome|Chromium|CriOS|FxiOS|Edg|OPR|Android/.test(userAgent);var isAppleSafari = isIOS || isMacSafari;if (isAppleSafari) {fetch('/sf_private_access_tokens' + location.search).catch(function () {});}function browserMajorVersion(pattern) {var match = userAgent.match(pattern);return match ? parseInt(match[1], 10) : null;}function shouldLoadAutosizesPolyfill() {if (!window.PerformanceObserver?.supportedEntryTypes?.includes('paint')) {return false;}var chromeVersion = browserMajorVersion(/Chrome\/(\d+)/);if (chromeVersion !== null) {return chromeVersion < 126;}var firefoxVersion = browserMajorVersion(/Firefox\/(\d+)/);if (firefoxVersion !== null) {return firefoxVersion < 150;}var safariVersion = isAppleSafari ? browserMajorVersion(/Version\/(\d+).*Safari\//) : null;if (safariVersion !== null) {return safariVersion < 27;}return true;}if (shouldLoadAutosizesPolyfill()) {var autosizesScript = document.createElement('script');autosizesScript.async = true;autosizesScript.crossOrigin = 'anonymous';autosizesScript.src = "//www.boppy.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>
396<script crossorigin="anonymous" defer="defer" src="//www.boppy.com/cdn/shopifycloud/storefront/assets/shopify_pay/storefront-616277c7.js?v=20250812"></script>
vendor: 1 bytes, line 396
396
397<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 397
397
398<script> 399 window.Shopify = window.Shopify || {}; 400 window.Shopify.MCP = window.Shopify.MCP || {}; 401 window.Shopify.MCP.enabled = true; 402 window.Shopify.MCP.shop = "newboppy.myshopify.com"; 403 window.Shopify.MCP.mcpEndpoint = "https:\/\/www.boppy.com\/api\/mcp"; 404 window.Shopify.MCP.tools = [{"name":"search_shop_policies_and_faqs","description":"Used to get facts about the stores policies, products, or services.\nSome examples of questions you can ask are:\n - What is your return policy?\n - What is your shipping policy?\n - What is your phone number?\n - What are your hours of operation?\"\n","inputSchema":{"$schema":"https:\/\/json-schema.org\/draft\/2020-12\/schema","type":"object","properties":{"query":{"type":"string","description":"A natural language query."},"context":{"type":"string","description":"Additional information about the request such as user demographics, mood, location, or other relevant details that could help in tailoring the response appropriately."}},"required":["query"]}}]; 405</script>
vendor: 1 bytes, line 405
405
406<script>(()=>{var d="shopify:webmcp_adapter_loaded",n=Symbol.for("shopify.webmcp_adapter_loading");function s(c,a,{win:r=window,doc:o=document}={}){function p(){try{return r.localStorage.getItem(d)==="true"}catch{return!1}}function l(){try{r.localStorage.setItem(d,"true")}catch{}}function u(){return typeof(o.modelContext||r.navigator?.modelContext)?.registerTool=="function"}function f(){if(r[n]||!u())return;let t=o.head||o.getElementsByTagName("head")[0];if(!t)return;let e=o.createElement("script");e.type="module",e.crossOrigin="anonymous",a&&(e.integrity=a),e.src=c,e.addEventListener("load",l,{once:!0}),e.addEventListener("error",()=>{r[n]=!1},{once:!0}),t.appendChild(e),r[n]=!0}function _(t){let e=o.getElementById("shopify-origin-trials");if(!e||r.__shopifyOriginTrialsDone){t();return}e.addEventListener("load",t,{once:!0}),e.addEventListener("error",t,{once:!0})}function i(){_(()=>r.setTimeout(f,0))}function m(){o.addEventListener("DOMContentLoaded",i,{once:!0})}p()?i():m()}s("\/\/www.boppy.com\/cdn\/shopifycloud\/storefront\/assets\/storefront\/webmcp-c6b62ece.js","sha256-ke4DDuBjdvea3vxLWxHc9E9nq8zihuG4IfYEGbb77ys=");})(); 407</script>
vendor: 1 bytes, line 407
407
408<script data-source-attribution="shopify.dynamic_checkout.dynamic.init">var Shopify=Shopify||{};Shopify.PaymentButton=Shopify.PaymentButton||{isStorefrontPortableWallets:!0,init:function(){window.Shopify.PaymentButton.init=function(){};var t=document.createElement("script");t.src="https://www.boppy.com/cdn/shopifycloud/portable-wallets/latest/portable-wallets.en.js",t.type="module",document.head.appendChild(t)}}; 409</script>
vendor: 1 bytes, line 409
409
410<script data-source-attribution="shopify.dynamic_checkout.buyer_consent"> 411 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); 412</script>
vendor: 1 bytes, line 412
412
413<script data-source-attribution="shopify.dynamic_checkout.cart.bootstrap">document.addEventListener("DOMContentLoaded",(function(){function t(){return document.querySelector("shopify-accelerated-checkout-cart, shopify-accelerated-checkout")}if(t())Shopify.PaymentButton.init();else{new MutationObserver((function(e,n){t()&&(Shopify.PaymentButton.init(),n.disconnect())})).observe(document.body,{childList:!0,subtree:!0})}})); 414</script>
vendor: 1 bytes, line 414
414
415<script id='scb4127' type='text/javascript' async='' src='https://www.boppy.com/cdn/shopifycloud/privacy-banner/storefront-banner.js'></script>
415<link id="shopify-accelerated-checkout-styles" rel="stylesheet" media="screen" href="https://www.boppy.com/cdn/shopifycloud/portable-wallets/latest/accelerated-checkout-backwards-compat.css" crossorigin="anonymous"> 416<style id="shopify-accelerated-checkout-cart"> 417 #shopify-buyer-consent { 418 margin-top: 1em; 419 display: inline-block; 420 width: 100%; 421} 422 423#shopify-buyer-consent.hidden { 424 display: none; 425} 426 427#shopify-subscription-policy-button { 428 background: none; 429 border: none; 430 padding: 0; 431 text-decoration: underline; 432 font-size: inherit; 433 cursor: pointer; 434} 435 436#shopify-subscription-policy-button::before { 437 box-shadow: none; 438} 439 440 </style> 441
442<script id="shopify-cfh-end">window.performance && window.performance.mark && window.performance.mark('shopify.content_for_header.end');</script>
442 443 444 445 446 447 448 449
449<script type="text/javascript"> 450 451 window.__shgMoneyFormat = window.__shgMoneyFormat || {"USD":{"currency":"USD","currency_symbol":"$","currency_symbol_location":"left","decimal_places":2,"decimal_separator":".","thousands_separator":","}}; 452 453 window.__shgCurrentCurrencyCode = window.__shgCurrentCurrencyCode || { 454 currency: "USD", 455 currency_symbol: "$", 456 decimal_separator: ".", 457 thousands_separator: ",", 458 decimal_places: 2, 459 currency_symbol_location: "left" 460 }; 461 </script>
461 462 463 464 465 466 467<!-- Added with Analyzify V2.0 - Sep 1, 2022 11:45 am --> 468 469<!-- Google Tag Manager -->
470<script>
vendor: 327 bytes, lines 470-474
470(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start': 471new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0], 472j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src= 473'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f); 474})(window,document,'script','dataLayer','
474GTM-MDHG7GX
vendor: 3 bytes, line 474
474');
474</script>
474 475<!-- End Google Tag Manager --> 476
477<script type="text/javascript"> 478 var jQuery351; 479 window.dataLayer = window.dataLayer || []; 480 481 function analyzifyInitialize(){ 482 window.analyzifyloadScript = function(url, callback) { 483 var script = document.createElement('script'); 484 script.type = 'text/javascript'; 485 // If the browser is Internet Explorer 486 if (script.readyState){ 487 script.onreadystatechange = function() { 488 if (script.readyState == 'loaded' || script.readyState == 'complete') { 489 script.onreadystatechange = null; 490 callback(); 491 } 492 }; 493 // For any other browser 494 } else { 495 script.onload = function() { 496 callback(); 497 }; 498 } 499 script.src = url; 500 document.getElementsByTagName('head')[0].appendChild(script); 501 } 502 503 window.analyzifyAppStart = function(){ 504 505 window.dataLayer.push({ 506 event: "sh_info", 507 508 page_type: "search", 509 510 page_currency: "USD", 511 512 user_type: "visitor" 513 514 }); 515 516 window.analyzifyGetClickedProductPosition = function(elementHref, sku){ 517 if(sku != ''){ 518 var collection = null; 519 520 return 0; 521 }else{ 522 var elementIndex = -1 523 collectionProductsElements = document.querySelectorAll('a[href*="/products/"]'); 524 collectionProductsElements.forEach(function(element,index){ 525 if (element.href.includes(elementHref)) {elementIndex = index + 1}; 526 }); 527 return elementIndex 528 } 529 } 530 531 window.analyzifyCollectionPageHandle = function(){ 532 var collection = null; 533 var collectionAllProducts = null; 534 var collectionTitle = ""; 535 var collectionId = ""; 536 var collectionProductsBrand = []; 537 var collectionProductsType = []; 538 var collectionProductsSku = []; 539 var collectionProductsName = []; 540 var collectionProductsId = []; 541 var collectionProductsPrice = []; 542 var collectionProductsPosition = []; // we need to talk about, this data can be taken from DOM only (filter ON/OFF) 543 var collectionGproductId = []; 544 var collectionVariantId = []; 545 546 547 window.dataLayer.push({ 548 event: 'ee_productImpression', 549 category_name: collectionTitle, 550 category_id: collectionId, 551 category_product_brand: collectionProductsBrand, 552 category_product_type: collectionProductsType, 553 category_product_sku: collectionProductsSku, 554 category_product_name: collectionProductsName, 555 category_product_id: collectionProductsId, 556 category_product_price: collectionProductsPrice, 557 currency: "USD", 558 category_product_position: collectionProductsPosition, 559 g_product_id: collectionGproductId, 560 variant_id: collectionVariantId 561 }); 562 563 jQuery351(document).on('click', 'a[href*="/products/"]', function(event) { 564 var href= jQuery351(this).attr('href'); 565 if(collectionAllProducts.length < 1 ) return; 566 var handle = href.split('/products/')[1]; 567 var clickedProduct = collectionAllProducts.filter(function(product) { 568 return product.handle === handle; 569 }); 570 if (clickedProduct.length == 0 ) return; 571 window.dataLayer.push({ 572 event: 'ee_productClick', 573 category_name: collectionTitle, 574 category_id: collectionId, 575 product_name: clickedProduct[0].title, 576 product_type: clickedProduct[0].type, 577 sku: clickedProduct[0].variants[0].sku, 578 product_id : clickedProduct[0].id.toString(), 579 product_price: (clickedProduct[0].price / 100).toFixed(2).toString(), 580 currency: "USD", 581 product_brand: clickedProduct[0].vendor, 582 product_position: analyzifyGetClickedProductPosition(href, clickedProduct[0].variants[0].sku), 583 variant_id: clickedProduct[0].variants[0].id 584 }); 585 }); 586 }; 587 588 window.analyzifySearchPageHandle = function(){ 589 var searchTerm = ""; 590 var searchResults = parseInt("0"); 591 var searchResultsJson = []; 592 var searchProductsBrand = []; 593 var searchProductsType = []; 594 var searchProductsSku = []; 595 var searchProductsNames = []; 596 var searchProductsIds = []; 597 var searchProductsPrices = []; 598 var searchProductsPosition = []; 599 var searchGproductId = []; 600 var searchVariantId = []; 601 602 603 604 window.dataLayer.push({ 605 event: 'searchListInfo', 606 page_type: 'search', 607 search_term: searchTerm, 608 search_results: searchResults, 609 category_product_brand: searchProductsBrand, 610 category_product_type: searchProductsType, 611 category_product_sku: searchProductsSku, 612 category_product_name: searchProductsNames, 613 category_product_id: searchProductsIds, 614 category_product_price: searchProductsPrices, 615 currency: "USD", 616 category_product_position: searchProductsPosition, 617 g_product_id: searchGproductId, 618 variant_id: searchVariantId 619 }); 620 621 622 jQuery351(document).on('click', 'a[href*="/products/"]', function(event) { 623 if(searchResultsJson.length < 1 ) return; 624 var href= jQuery351(this).attr('href'); 625 var handle = href.split('/products/')[1]; 626 var clickedProduct = searchResultsJson.filter(function(product) { 627 return handle.includes(product.handle); 628 }); 629 if (clickedProduct.length == 0 ) return; 630 631 window.dataLayer.push({ 632 event: 'ee_productClick', 633 product_name: clickedProduct[0].title, 634 product_type: clickedProduct[0].type, 635 sku: clickedProduct[0].variants[0].sku, 636 product_id : clickedProduct[0].id, 637 product_price: (clickedProduct[0].price / 100).toFixed(2).toString(), 638 currency: "USD", 639 product_brand: clickedProduct[0].vendor, 640 product_position: analyzifyGetClickedProductPosition(href, ""), 641 variant_id: clickedProduct[0].variants[0].id 642 }); 643 644 }); 645 }; 646 647 window.analyzifyProductPageHandle = function(){ 648 var productName = ""; 649 var productId = ""; 650 var productPrice = "0.0"; 651 var productBrand = ""; 652 var productType = ""; 653 var productSku = "";
654 var productCollection = ""; 655 656 window.dataLayer.push({ 657 event: 'ee_productDetail', 658 name: productName, 659 id: productId, 660 price: productPrice, 661 currency: "USD", 662 brand: productBrand, 663 product_type: productType, 664 sku: productSku, 665 category: productCollection, 666 g_product_id: "shopify_US_"+productId+"_"+"", 667 variant_id: "" 668 }); 669// var first_atc = null; 670// var selectors = ["input[name='add']", "button[name='add']", "#add-to-cart", "#AddToCartText", "#AddToCart", ".gtmatc", ".product-form__cart-submit", "#AddToCart-product-template", ".product-form__add-to-cart"]; 671// var found_selectors = 0; 672// selectors.forEach(function(selector) { 673// found_selectors += jQuery351(selector).length; 674// if (first_atc == null && found_selectors) { 675// first_atc = selector 676// } 677// }); 678// if (jQuery351(first_atc).length > 0 ) { 679 jQuery351(document).on('click', '[data-add-to-cart]', function(event) { 680 var productForm = jQuery351(this).parents('form[action="/cart/add"]'); 681 var variantInput = productForm.find('*[name="id"]') 682 var quantityInput = productForm.find('input[name="quantity"]') 683 var itemQuantity = quantityInput.length > 0 ? quantityInput.val() : 1 684 window.dataLayer.push({ 685 event: 'ee_addToCart', 686 name: productName, 687 id: productId, 688 price: productPrice, 689 currency: "USD", 690 brand: productBrand, 691 product_type: productType, 692 category: productCollection, 693 quantity: itemQuantity, 694 variant: variantInput.val(), 695 g_product_id: "shopify_US_"+productId+"_"+variantInput.val() 696 }); 697 }); 698// } 699 }; 700 701 window.checkoutEvent = function(){ 702 jQuery351.getJSON('/cart.js', function(cart) { 703 if(cart.items.length > 0){ 704 var cartId = cart.token; 705 var cartTotalValue = cart.total_price; 706 var cartTotalQuantity = cart.item_count; 707 var cartCurrency = cart.currency; 708 var cartItemsName = []; 709 var cartItemsBrand = []; 710 var cartItemsType = []; 711 var cartItemsSku = []; 712 var cartItemsId = []; 713 var cartItemsVariantId = []; 714 var cartItemsVariantTitle = []; 715 var cartItemsPrice = []; 716 var cartItemsQuantity = []; 717 var cartItemsQuantity = []; 718 var cartGProductIds = []; 719 720 jQuery351.each(cart.items, function(key,val) { 721 cartItemsName.push(val.title); 722 cartItemsBrand.push(val.vendor); 723 cartItemsType.push(val.product_type); 724 cartItemsSku.push(val.sku); 725 cartItemsId.push(val.product_id); 726 cartItemsVariantId.push(val.variant_id); 727 cartItemsVariantTitle.push(val.title); 728 cartItemsPrice.push(parseFloat(parseInt(val.original_price)/100)); 729 cartItemsQuantity.push(val.quantity); 730 cartGProductIds.push("shopify_US_"+val.product_id+"_"+val.variant_id); 731 }); 732 733 window.dataLayer.push({ 734 event: 'ee_checkout', 735 page_type: 'cart', 736 name: cartItemsName, 737 brand: cartItemsBrand, 738 product_type: cartItemsType, 739 sku: cartItemsSku, 740 id: cartItemsId, 741 variant_id: cartItemsVariantId, 742 variant: cartItemsVariantTitle, 743 price: cartItemsPrice, 744 quantity: cartItemsQuantity, 745 cart_id: cart.token, 746 currency: cartCurrency, 747 totalValue: parseFloat(cart.total_price)/100, 748 totalQuantity: cart.item_count, 749 g_product_id: cartGProductIds 750 }); 751 } 752 }); 753 }; 754 755 window.analyzifyCartPageHandle = function(){ 756 var cartTotalValue = "0.0"; 757 var cartTotalQuantity = "0"; 758 var cartCurrency = "USD"; 759 var cartItemsName = []; 760 var cartItemsCategory = [];
761 var cartItemsBrand = []; 762 var cartItemsType = []; 763 var cartItemsSku = []; 764 var cartItemsId = []; 765 var cartItemsVariantId = []; 766 var cartItemsVariantTitle = []; 767 var cartItemsPrice = []; 768 var cartItemsQuantity = []; 769 var cartItemsCategoryIds = []; 770 771 772 773 774 775 window.dataLayer.push({ 776 event: 'ee_checkout', 777 page_type: 'cart', 778 name: cartItemsName, 779 category: cartItemsCategory, 780 brand: cartItemsBrand, 781 product_type: cartItemsType, 782 sku: cartItemsSku, 783 id: cartItemsId, 784 variant_id: cartItemsVariantId, 785 variant: cartItemsVariantTitle, 786 price: cartItemsPrice, 787 currency: "USD", 788 quantity: cartItemsQuantity, 789 category_id: cartItemsCategoryIds, 790 currency: cartCurrency, 791 totalValue: cartTotalValue, 792 totalQuantity: cartTotalQuantity * 1 793 }); 794 }; 795 796 797 analyzifySearchPageHandle() 798 799 // jQuery351(document).on('click', ['data-cart-toggle'], function(event) { 800 // checkoutEvent(); 801 // }); 802 803 804 jQuery351(document).on('click', '[data-quick-add-button]', function(event) { 805 var productForm = jQuery351(this).parents('form'); 806 setTimeout(function(){ 807 var variantInput = productForm.find('*[name="id"]') 808 var quantityInput = productForm.find('input[name="quantity"]') 809 var itemQuantity = quantityInput.length > 0 ? quantityInput.val() : 1 810 window.dataLayer.push({ 811 event: 'ee_addToCart', 812 name: productForm.find('.ptitle').val(), 813 id: productForm.find('.pid').val(), 814 price: productForm.find('.pprice').val(), 815 brand: productForm.find('.pbrand').val(), 816 product_type: productForm.find('.ptype').val(), 817 category: productForm.find('.pcollection').val(), 818 quantity: itemQuantity, 819 variant: variantInput.val(), 820 g_product_id: "shopify_US_"+productForm.find('.pid').val()+"_"+variantInput.val() 821 }); 822 }, 2000) 823 }); 824 825 826 jQuery351(document).on('click', '.analyzify-atc', function(event) { 827 if(jQuery351(this).attr('data-default-variant') == 'true'){ 828 window.dataLayer.push({ 829 event: 'ee_addToCart', 830 name: jQuery351(this).attr('data-ptitle'), 831 id: jQuery351(this).attr('data-pid'), 832 price: jQuery351(this).attr('data-pprice'), 833 brand: jQuery351(this).attr('data-pbrand'), 834 category: jQuery351(this).attr('data-pcollection'), 835 quantity: 1, 836 variant: jQuery351(this).attr('data-vid'), 837 g_product_id: "shopify_US_"+jQuery351(this).attr('data-pid')+"_"+jQuery351(this).attr('data-vid') 838 }); 839 } 840 }); 841 842 var cartItemsJson = {"note":null,"attributes":{},"original_total_price":0,"total_price":0,"total_discount":0,"total_weight":0.0,"item_count":0,"items":[],"requires_shipping":false,"currency":"USD","items_subtotal_price":0,"cart_level_discount_applications":[],"checkout_charge_amount":0}; 843 jQuery351(document).on('click', ".cart-item__remove", function(event) { 844 var removedvid = jQuery351(this).attr("data-id").split(':')[0]; 845 jQuery351.getJSON('/cart.js', function(cart) { 846 var removedItemData = cart.items.filter(function(item){ 847 return item.variant_id.toString() === removedvid 848 }) 849 var removedItem = removedItemData[0]; 850 window.dataLayer.push({ 851 event:'ee_removeFromCart', 852 name: removedItem.product_title, 853 id : removedItem.product_id.toString(), 854 variant : removedItem.id.toString(), 855 price: (removedItem.price / 100).toFixed(2).toString(), 856 currency: "USD", 857 brand: removedItem.vendor, 858 quantity: 1 859 }); 860 }); 861 }); 862 } 863 } 864 865 analyzifyInitialize(); 866 analyzifyloadScript('//ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js', function() { 867 jQuery351 = jQuery.noConflict(true); 868 analyzifyAppStart(); 869 }); 870</script>
870 871 872 873
874<script type="text/javascript"> 875 876 window.SHG_CUSTOMER = null; 877 878</script>
878 879 880 881 882 883 884 885 886<!-- BEGIN app block: shopify://apps/attentive/blocks/attn-tag/8df62c72-8fe4-407e-a5b3-72132be30a0d -->
886<script type="text/javascript" src="https://tzzzt.boppy.com/boppy/load" onerror=" var fallbackScript = document.createElement('script'); fallbackScript.src = 'https://cdn.attn.tv/boppy/dtag.js'; document.head.appendChild(fallbackScript);" data-source="loaded?source=app-embed" defer="defer"></script>
886 887 888 889<!-- END app block --><link href="https://monorail-edge.shopifysvc.com" rel="dns-prefetch">
890<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: 3970433094,url: window.location.href,navigation_start,duration: currentMs - navigation_start,session_token,page_type: "search"};window.navigator.sendBeacon("https://monorail-edge.shopifysvc.com/v1/produce", JSON.stringify({schema_id: "online_store_buyer_site_abandonment/1.1",payload: payload,metadata: {event_created_at_ms: currentMs,event_sent_at_ms: currentMs}}));}}window.addEventListener('pagehide', handle_abandonment_event);}}());</script>
vendor: 1 bytes, line 890
890
891<script> 892 window.__TREKKIE_SHIM_QUEUE = window.__TREKKIE_SHIM_QUEUE || []; 893</script>
vendor: 1 bytes, line 893
893
894<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}
894).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: 3970433094,storefrontBaseUrl: "https://www.boppy.com",extensionsBaseUrl: "https://extensions.shopifycdn.com/cdn/shopifycloud/web-pixels-manager",monorailEndpoint: "https://www.boppy.com/.well-known/shopify/monorail/unstable/produce_batch",surface: "storefront-renderer",enabledBetaFlags: ["16072cab","8450a54b","7ee89bf1"],webPixelsConfigList: [{"id":"1889435714","configuration":"{\"siteKey\":\"K7oucCVLUDq2zPKsite\",\"conversionEnabled\":\"false\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"a185a2fe7c225022100281af9c86107c","type":"APP","apiClientId":2865993,"privacyPurposes":["ANALYTICS"],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_address","read_customer_email","read_customer_name","read_customer_personal_data"],"dataSharingControls":["share_all_events"]}
894,"dataSharingState":"unrestricted"},{"id":"1158348866","configuration":"{\"pixelCode\":\"CIFGATRC77UCFTF4OMQ0\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"22e92c2ad45662f435e4801458fb78cc","type":"APP","apiClientId":4383523,"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"},{"id":"1075576898","configuration":"{\"account_ID\":\"1024119\",\"google_analytics_tracking_tag\":\"1\",\"measurement_id\":\"2\",\"api_secret\":\"3\",\"shop_settings\":\"{\\\"custom_pixel_script\\\":\\\"https:\\\\\\\/\\\\\\\/storage.googleapis.com\\\\\\\/gsf-scripts\\\\\\\/custom-pixels\\\\\\\/newboppy.js\\\"}\"}","eventPayloadVersion":"v1","runtimeContext":"LAX","scriptVersion":"dbf16afd37d7bda963909dd4e886232e","type":"APP","apiClientId":1558137,"privacyPurposes":[],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_address","read_customer_email","read_customer_name","read_customer_personal_data","read_customer_phone"],"dataSharingControls":["share_all_events"]},"dataSharingState":"unrestricted"},{"id":"987398210","configuration":"{\"env\":\"prod\"}","eventPayloadVersion":"v1","runtimeContext":"LAX","scriptVersion":"8a9a175b11d15038a70fe78d09c59720","type":"APP","apiClientId":3977633,"privacyPurposes":["ANALYTICS","MARKETING"],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_address","read_customer_email","read_customer_name","read_customer_personal_data","read_customer_phone"],"dataSharingControls":["share_all_events"]},"dataSharingState":"optimized","enabledFlags":["9a3ed68a"]},{"id":"776142914","configuration":"{\"apiKey\":\"6IUEcMjUEkWIpXRjc37H\",\"attributionWindow\":\"30\",\"conversionEnabled\":\"true\",\"environment\":\"production\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"04760ab023d53cff6a3abe9df0d382b2","type":"APP","apiClientId":308803,"privacyPurposes":["ANALYTICS"],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_email","read_customer_personal_data"],"dataSharingControls":["share_all_events"]},"dataSharingState":"unrestricted"},{"id":"597327938","configuration":"{\"site_id\":\"59b961d5-35ac-4248-a6d9-284bb8b02c49\",\"analytics_endpoint\":\"https:\\\/\\\/na.shgcdn3.com\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"695709fc3f146fa50a25299517a954f2","type":"APP","apiClientId":1158168,"privacyPurposes":["ANALYTICS","MARKETING","SALE_OF_DATA"],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_personal_data"],"dataSharingControls":["share_all_events"]},"dataSharingState":"optimized"},{"id":"513802306","configuration":"{\"shop\":\"newboppy.myshopify.com\",\"cookie_duration\":\"604800\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"a2e7513c3708f34b1f617d7ce88f9697","type":"APP","apiClientId":2744533,"privacyPurposes":["ANALYTICS","MARKETING"],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_address","read_customer_email","read_customer_name","read_customer_personal_data","read_customer_phone"],"dataSharingControls":["share_all_events"]},"dataSharingState":"optimized"},{"id":"390922306","configuration":"{\"config\":\"{\\\"google_tag_ids\\\":[\\\"G-8LPV2Y6GLC\\\"],\\\"target_country\\\":\\\"US\\\",\\\"gtag_events\\\":[{\\\"type\\\":\\\"begin_checkout\\\",\\\"action_label\\\":\\\"G-8LPV2Y6GLC\\\"},{\\\"type\\\":\\\"search\\\",\\\"action_label\\\":\\\"G-8LPV2Y6GLC\\\"},{\\\"type\\\":\\\"remove_from_cart\\\",\\\"action_label\\\":\\\"G-8LPV2Y6GLC\\\"},{\\\"type\\\":\\\"view_item\\\",\\\"action_label\\\":\\\"G-8LPV2Y6GLC\\\"},{\\\"type\\\":\\\"add_shipping_info\\\",\\\"action_label\\\":\\\"G-8LPV2Y6GLC\\\"},{\\\"type\\\":\\\"purchase\\\",\\\"action_label\\\":\\\"G-8LPV2Y6GLC\\\"},{\\\"type\\\":\\\"page_view\\\",\\\"action_label\\\":\\\"G-8LPV2Y6GLC\\\"},{\\\"type\\\":\\\"view_item_list\\\",\\\"action_label\\\":\\\"G-8LPV2Y6GLC\\\"},{\\\"type\\\":\\\"add_payment_info\\\",\\\"action_label\\\":\\\"G-8LPV2Y6GLC\\\"},{\\\"type\\\":\\\"add_to_cart\\\",\\\"action_label\\\":\\\"G-8LPV2Y6GLC\\\"},{\\\"type\\\":\\\"view_cart\\\",\\\"action_label\\\":\\\"G-8LPV2Y6GLC\\\"}],\\\"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"]}
894,{"id":"168525890","configuration":"{\"pixel_id\":\"1196409761150145\",\"pixel_type\":\"facebook_pixel\",\"metaapp_system_user_token\":\"-\"}","eventPayloadVersion":"v1","runtimeContext":"OPEN","scriptVersion":"96420dbe9ea96c426a1b7f364f977719","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":"47382594","configuration":"{\"tagID\":\"2612730376685\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"7ae565e198624b39e0856d352b9a6b4c","type":"APP","apiClientId":3009811,"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"},{"id":"24313922","eventPayloadVersion":"1","runtimeContext":"LAX","scriptVersion":"7","type":"CUSTOM","privacyPurposes":["ANALYTICS","MARKETING","SALE_OF_DATA"],"name":"Google Tag Manager"},{"id":"24346690","eventPayloadVersion":"1","runtimeContext":"LAX","scriptVersion":"1","type":"CUSTOM","privacyPurposes":["ANALYTICS","MARKETING","SALE_OF_DATA"],"name":"Custom Bazaarvoice"},{"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":"Boppy","paymentSettings":{"currencyCode":"USD"},"myshopifyDomain":"newboppy.myshopify.com","countryCode":"US","storefrontUrl":"https:\/\/www.boppy.com"},"customer":null,"cart":null,"checkout":null,"productVariants":[],"products":[],"purchasingCompany":null},},"https://www.boppy.com/cdn","c8540278we853e1abpb62b2c4amde256306",{"modern":"","legacy":""},{"trekkieShim":true,"agentContext":true,"apiClientId":"580111","facebookCapiEnabled":"true","themeId":"145519149122","themePublished":"true","eventMetadataId":"26dd0d22-5a07-46bf-a1cd-f64c17eecd71","pageType":"searchresults","shopId":"3970433094","storefrontBaseUrl":"https:\/\/www.boppy.com","extensionBaseUrl":"https:\/\/extensions.shopifycdn.com\/cdn\/shopifycloud\/web-pixels-manager","surface":"storefront-renderer","enabledBetaFlags":"[\"16072cab\", \"8450a54b\", \"7ee89bf1\"]","isMerchantRequest":"false","hashVersion":"c8540278we853e1abpb62b2c4amde256306","publish":"custom","events":"[[\"page_viewed\",{}],[\"search_submitted\",{\"searchResult\":{\"query\":\"\",\"productVariants\":[]}}]]"});})();</script>
894<script> 895 window.ShopifyAnalytics = window.ShopifyAnalytics || {}; 896 window.ShopifyAnalytics.meta = window.ShopifyAnalytics.meta || {}; 897 window.ShopifyAnalytics.meta.currency = 'USD'; 898 var meta = {"products":[],"page":{"pageType":"searchresults","requestId":"3f924740-736c-4715-b5c6-ea1ba8712caa-1790469569"}}; 899 for (var attr in meta) { 900 window.ShopifyAnalytics.meta[attr] = meta[attr]; 901 } 902</script>
vendor: 1 bytes, line 902
902
903<script class="analytics"> 904 (function () { 905 var customDocumentWrite = function(content) { 906 var jquery = null; 907 908 if (window.jQuery) { 909 jquery = window.jQuery; 910 } else if (window.Checkout && window.Checkout.$) { 911 jquery = window.Checkout.$; 912 } 913 914 if (jquery) { 915 jquery('body').append(content); 916 } 917 }; 918 919 var hasLoggedConversion = function(token) { 920 if (token) { 921 return document.cookie.indexOf('loggedConversion=' + token) !== -1; 922 } 923 return false; 924 } 925 926 var setCookieIfConversion = function(token) { 927 if (token) { 928 var twoMonthsFromNow = new Date(Date.now()); 929 twoMonthsFromNow.setMonth(twoMonthsFromNow.getMonth() + 2); 930 931 document.cookie = 'loggedConversion=' + token + '; expires=' + twoMonthsFromNow; 932 } 933 } 934 935 var trekkie = window.ShopifyAnalytics.lib = window.trekkie = window.trekkie || []; 936 window.ShopifyAnalytics.lib.trekkie = window.trekkie; 937 if (trekkie.integrations) { 938 return; 939 } 940 trekkie.methods = [ 941 'identify', 942 'page', 943 'ready', 944 'track', 945 'trackForm', 946 'trackLink' 947 ]; 948 trekkie.factory = function(method) { 949 return function() { 950 var args = Array.prototype.slice.call(arguments); 951 args.unshift(method); 952 trekkie.push(args); 953 if (method == 'track' || method == 'page') { 954 var pageUrl; 955 try { 956 pageUrl = window.location.href; 957 } catch (e) {} 958 var pageReferrer; 959 try { 960 pageReferrer = document.referrer; 961 } catch (e) {} 962 try { 963 if (window.__TREKKIE_SHIM_QUEUE == null) { 964 window.__TREKKIE_SHIM_QUEUE = []; 965 } 966 window.__TREKKIE_SHIM_QUEUE.push({ 967 from: 'trekkie-stub', 968 method: method, 969 args: args.slice(1), 970 pageContext: { 971 url: pageUrl, 972 referrer: pageReferrer 973 } 974 }); 975 } catch (e) { 976 // no-op 977 } 978 } 979 return trekkie; 980 }; 981 }; 982 for (var i = 0; i < trekkie.methods.length; i++) { 983 var key = trekkie.methods[i]; 984 trekkie[key] = trekkie.factory(key); 985 } 986 trekkie.load = function(config) { 987 trekkie.config = config || {}; 988 trekkie.config.initialDocumentCookie = document.cookie; 989 var first = document.getElementsByTagName('script')[0]; 990var script = document.createElement('script'); 991script.type = 'text/javascript'; 992script.onerror = function(e) { 993 var scriptFallback = document.createElement('script'); 994 scriptFallback.type = 'text/javascript'; 995 scriptFallback.onerror = function(error) { 996 var Monorail = { 997 produce: function produce(monorailDomain, schemaId, payload) { 998 var currentMs = new Date().getTime(); 999 var event = { 1000 schema_id: schemaId, 1001 payload: payload, 1002 metadata: { 1003 event_created_at_ms: currentMs, 1004 event_sent_at_ms: currentMs 1005 } 1006 }; 1007 return Monorail.sendRequest("https://" + monorailDomain + "/v1/produce", JSON.stringify(event)); 1008 }, 1009 sendRequest: function sendRequest(endpointUrl, payload) { 1010 // Try the sendBeacon API 1011 if (window && window.navigator && typeof window.navigator.sendBeacon === 'function' && typeof window.Blob === 'function' && !Monorail.isIos12()) { 1012 var blobData = new window.Blob([payload], { 1013 type: 'text/plain' 1014 }); 1015 1016 if (window.navigator.sendBeacon(endpointUrl, blobData)) { 1017 return true; 1018 } // sendBeacon was not successful 1019 1020 } // XHR beacon 1021 1022 var xhr = new XMLHttpRequest(); 1023 1024 try { 1025 xhr.open('POST', endpointUrl); 1026 xhr.setRequestHeader('Content-Type', 'text/plain'); 1027 xhr.send(payload); 1028 } catch (e) { 1029 console.log(e); 1030 } 1031 1032 return false; 1033 }, 1034 isIos12: function isIos12() { 1035 return window.navigator.userAgent.lastIndexOf('iPhone; CPU iPhone OS 12_') !== -1 || window.navigator.userAgent.lastIndexOf('iPad; CPU OS 12_') !== -1; 1036 } 1037 }; 1038 Monorail.produce('monorail-edge.shopifysvc.com', 1039 'trekkie_storefront_load_errors/1.1', 1040 {shop_id: 3970433094, 1041 theme_id: 145519149122, 1042 app_name: "storefront", 1043 context_url: window.location.href, 1044 source_url: "//www.boppy.com/cdn/s/trekkie.storefront.f1ba865b3fecd812ad617f74ac079261075e9edb.min.js"}); 1045 1046 }; 1047 scriptFallback.async = true; 1048 scriptFallback.src = '//www.boppy.com/cdn/s/trekkie.storefront.f1ba865b3fecd812ad617f74ac079261075e9edb.min.js'; 1049 first.parentNode.insertBefore(scriptFallback, first); 1050}; 1051script.async = true; 1052script.src = '//www.boppy.com/cdn/s/trekkie.storefront.f1ba865b3fecd812ad617f74ac079261075e9edb.min.js'; 1053first.parentNode.insertBefore(script, first); 1054 1055 }; 1056 trekkie.load( 1057 {"Trekkie":{"appName":"storefront","development":false,"defaultAttributes":{"shopId":3970433094,"isMerchantRequest":null,"themeId":145519149122,"themeCityHash":"8378834296340121635","contentLanguage":"en","currency":"USD","eventMetadataId":"26dd0d22-5a07-46bf-a1cd-f64c17eecd71"},"isServerSideCookieWritingEnabled":true,"monorailRegion":"shop_domain","enabledBetaFlags":["764d78cb","8450a54b","7ee89bf1"]},"Session Attribution":{},"S2S":{"facebookCapiEnabled":true,"source":"trekkie-storefront-renderer","apiClientId":580111}} 1058 ); 1059 1060 var loaded = false;
1061 trekkie.ready(function() { 1062 if (loaded) return; 1063 loaded = true; 1064 1065 window.ShopifyAnalytics.lib = window.trekkie; 1066 1067 var originalDocumentWrite = document.write; 1068 document.write = customDocumentWrite; 1069 try { window.ShopifyAnalytics.merchantGoogleAnalytics.call(this); } catch(error) {}; 1070 document.write = originalDocumentWrite; 1071 1072 var match = window.location.pathname.match(/checkouts\/(.+)\/(thank_you|post_purchase)/) 1073 var token = match? match[1]: undefined; 1074 if (!hasLoggedConversion(token)) { 1075 setCookieIfConversion(token); 1076 window.ShopifyAnalytics.lib.track("Performed Search",{"query":null},undefined,undefined,{"shopifyEmitted":true}); 1077 } 1078 }); 1079 1080 window.ShopifyAnalytics.lib.page(null,{"pageType":"searchresults","requestId":"3f924740-736c-4715-b5c6-ea1ba8712caa-1790469569","shopifyEmitted":true}); 1081 1082 var eventsListenerScript = document.createElement('script'); 1083 eventsListenerScript.async = true; 1084 eventsListenerScript.src = "//www.boppy.com/cdn/shopifycloud/storefront/assets/shop_events_listener-4e26a9ce.js"; 1085 document.getElementsByTagName('head')[0].appendChild(eventsListenerScript); 1086})();</script>
1086 1087
1087<script> 1088 if (!window.ga || (window.ga && typeof window.ga !== 'function')) { 1089 window.ga = function ga() { 1090 (window.ga.q = window.ga.q || []).push(arguments); 1091 if (window.Shopify && window.Shopify.analytics && typeof window.Shopify.analytics.publish === 'function') { 1092 window.Shopify.analytics.publish("ga_stub_called", {}, {sendTo: "google_osp_migration"}); 1093 } 1094 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."); 1095 }; 1096 if (window.Shopify && window.Shopify.analytics && typeof window.Shopify.analytics.publish === 'function') { 1097 window.Shopify.analytics.publish("ga_stub_initialized", {}, {sendTo: "google_osp_migration"}); 1098 } 1099 } 1100</script>
vendor: 1 bytes, line 1100
1100
1101<script 1102 defer 1103 src="https://www.boppy.com/cdn/shopifycloud/perf-kit/shopify-perf-kit-3.9.4.min.js" 1104 data-application="storefront-renderer" 1105 data-shop-id="3970433094" 1106 data-render-region="gcp-us-central1" 1107 data-page-type="search" 1108 data-theme-instance-id="145519149122" 1109 data-theme-name="Broadcast" 1110 data-theme-version="3.2.1" 1111 data-monorail-region="shop_domain" 1112 data-resource-timing-sampling-rate="10" 1113 data-shs="true" 1114 data-shs-beacon="true" 1115 data-shs-export-with-fetch="true" 1116 data-shs-logs-sample-rate="1" 1117 data-shs-beacon-endpoint="https://www.boppy.com/api/collect" 1118></script>
1118 1119<meta name="shopify-y" content="00000000-0000-0000-5000-000000000000" data-expiration="1822027169000"><meta name="shopify-s" content="00000000-0000-0000-5000-000000000000" data-expiration="1790471369000"><meta name="new-cookie-storage-activated" content="t"> 1120</head> 1121<body id="search" class="template-search show-button-animation aos-initialized" data-animations="true"><a class="in-page-link visually-hidden skip-link" data-skip-content href="#MainContent">Skip to content</a> 1122 1123 <div class="container" data-site-container> 1124 <div id="shopify-section-announcement" class="shopify-section"> 1125 1126</div> 1127 1128 <div id="shopify-section-header" class="shopify-section"><style data-shopify>:root { 1129 --menu-height: calc(57px); 1130 }.header__logo__link::before { padding-bottom: 27.08333333333333%; }</style> 1131 1132 1133 1134 1135 1136 1137 1138 1139 1140 1141 1142 1143<div class="header__wrapper" 1144 data-header-wrapper 1145 data-header-transparent="false" 1146 data-header-sticky="sticky" 1147 data-header-style="logo_beside" 1148 data-section-id="header" 1149 data-section-type="header"> 1150 1151 <header class="theme__header header__icons--modern header__icons--size-regular" role="banner" data-header-height> 1152 <div> 1153 <div class="header__mobile"> 1154 1155 1156<div class="header__logo header__logo--image"> 1157 <a class="header__logo__link" 1158 href="/" 1159 style="width: 100px;"> 1160 1161<img data-src="//www.boppy.com/cdn/shop/files/Boppy_Logo_{width}x.svg?v=1772528896" 1162 class="lazyload logo__img logo__img--color" 1163 data-widths="[110, 160, 220, 320, 480, 540, 720, 900]" 1164 data-sizes="auto" 1165 data-aspectratio="3.6923076923076925" 1166 alt="Boppy"> 1167 1168 1169 1170 <noscript> 1171 <img class="logo__img" style="opacity: 1;" src="//www.boppy.com/cdn/shop/files/Boppy_Logo_360x.svg?v=1772528896" alt=""/> 1172 </noscript> 1173 1174 </a> 1175 </div> 1176 1177 <div class="header__mobile__left"> 1178 </div> 1179 <div class="header__mobile__right"> 1180 <div class="header__mobile__button"> 1181 <a class="navlink navlink--cart" href="/cart" data-cart-toggle data-focus-element > 1182 <div class="cart__icon__content cart__icon__content--modern"> 1183 <!-- /snippets/social-icon.liquid --> 1184 1185 1186 1187<svg aria-hidden="true" focusable="false" xmlns="http://www.w3.org/2000/svg" class="icon icon-modern-cart" width="27" height="24" viewBox="0 0 27 24" fill="none"> 1188<path d="M12.035 21.5837C12.035 22.9144 10.9494 24 9.61868 24C8.28794 24 7.20233 22.9144 7.20233 21.5837C7.20233 20.2529 8.28794 19.1673 9.61868 19.1673C10.9494 19.1673 12.035 20.2529 12.035 21.5837Z" fill="#A0AEE8"/> 1189<path d="M21.8405 21.5837C21.8405 22.9144 20.7549 24 19.4241 24C18.0934 24 17.0078 22.9144 17.0078 21.5837C17.0078 20.2529 18.0934 19.1673 19.4241 19.1673C20.7549 19.1673 21.8405 20.2529 21.8405 21.5837Z" fill="#A0AEE8"/> 1190<path d="M10.284 3.75875V6.3035H23.7549L22.2257 12.7938C22.0272 13.6576 21.2685 14.2763 20.3813 14.2879H9.93385C9.03502 14.2879 8.25292 13.6693 8.05447 12.7938L5.38132 0.980545C5.25292 0.40856 4.72763 0 4.14397 0H0V2.54475H3.11673L5.56809 13.3658C6.02335 15.4086 7.84436 16.856 9.93385 16.8327H20.3813C22.4591 16.8327 24.2685 15.3969 24.7121 13.3658L26.5914 5.31128C26.6732 4.93774 26.5914 4.54086 26.3463 4.23735C26.1012 3.93385 25.7393 3.75875 25.3541 3.75875H10.284Z" fill="#A0AEE8"/> 1191</svg> 1192 1193 <span class="visually-hidden">Cart</span> 1194 1195 <span class="header__cart__status" data-cart-count="0" data-status-separator=": "> 1196 0 1197 </span> 1198 1199 </div> 1200 </a> 1201 </div> 1202 <div class="header__mobile__button"> 1203 <button class="header__mobile__hamburger" 1204 data-drawer-toggle="hamburger" 1205 aria-label="Show menu" 1206 aria-haspopup="true" 1207 aria-expanded="false" 1208 aria-controls="header-menu"><svg aria-hidden="true" focusable="false" xmlns="http://www.w3.org/2000/svg" width="31" height="3" viewBox="0 0 31 3" fill="none"> 1209 <path d="M29.1394 0C29.8011 0.000263825 30.3379 0.671736 30.3379 1.5C30.3379 2.32826 29.8011 2.99974 29.1394 3H1.19844C0.536561 3 0 2.32843 0 1.5C0 0.671573 0.536561 0 1.19844 0H29.1394Z" fill="#A0AEE8"/> 1210 </svg> 1211 <svg aria-hidden="true" focusable="false" xmlns="http://www.w3.org/2000/svg" width="31" height="3" viewBox="0 0 31 3" fill="none"> 1212 <path d="M29.1394 0C29.8011 0.000263825 30.3379 0.671736 30.3379 1.5C30.3379 2.32826 29.8011 2.99974 29.1394 3H1.19844C0.536561 3 0 2.32843 0 1.5C0 0.671573 0.536561 0 1.19844 0H29.1394Z" fill="#A0AEE8"/> 1213 </svg></button> 1214 </div> 1215 1216 </div> 1217 1218 1219 </div> 1220 <div data-header-desktop class="header__desktop"><div class="header__desktop__upper" data-takes-space-wrapper> 1221 <div data-child-takes-space class="header__desktop__bar__l"> 1222<div class="header__logo header__logo--image"> 1223 <a class="header__logo__link" 1224 href="/" 1225 style="width: 100px;"> 1226 1227<img data-src="//www.boppy.com/cdn/shop/files/Boppy_Logo_{width}
1227x.svg?v=1772528896" 1228 class="lazyload logo__img logo__img--color" 1229 data-widths="[110, 160, 220, 320, 480, 540, 720, 900]" 1230 data-sizes="auto" 1231 data-aspectratio="3.6923076923076925" 1232 alt="Boppy"> 1233 1234 1235 1236 <noscript> 1237 <img class="logo__img" style="opacity: 1;" src="//www.boppy.com/cdn/shop/files/Boppy_Logo_360x.svg?v=1772528896" alt=""/> 1238 </noscript> 1239 1240 </a> 1241 </div> 1242</div> 1243 <div data-child-takes-space class="header__desktop__bar__c"> 1244 <nav class="header__menu" role="navigation" aria-label="Menu"> 1245 <div class="header__menu__inner" data-text-items-wrapper> 1246 1247 1248 1249<div class="menu__item grandparent kids-4 " 1250 1251 data-hover-disclosure-toggle="dropdown-5309aae26cc35ea3d3feca04bfe05a55" 1252 > 1253 <a href="#" data-top-link class="navlink navlink--toplevel" 1254 1255 aria-haspopup="true" 1256 aria-expanded="false" 1257 aria-controls="dropdown-5309aae26cc35ea3d3feca04bfe05a55" 1258 1259 > 1260 <span class="navtext">Products</span> 1261 1262 <svg xmlns="http://www.w3.org/2000/svg" width="8" height="5" viewBox="0 0 8 5" fill="none"> 1263 <path d="M4.24896 4.26164C4.0144 4.49739 3.63284 4.49739 3.39828 4.26164L0.176214 1.02319C-0.200288 0.64477 0.0677436 7.95146e-08 0.601553 1.26182e-07L7.04569 6.89546e-07C7.5795 7.36214e-07 7.84753 0.644771 7.47103 1.02319L4.24896 4.26164Z" fill="#FFFAF4"/> 1264 </svg> 1265 1266 </a> 1267 1268 <div class="header__dropdown" 1269 data-hover-disclosure 1270 id="dropdown-5309aae26cc35ea3d3feca04bfe05a55"> 1271 <div class="header__dropdown__wrapper"> 1272 <div class="header__dropdown__inner"> 1273 1274 1275 1276 <div class="mega-menu-header"> 1277 <div class="product_mega_menu"> 1278 <div class="product-mega-wrapper"> 1279 1280 <!-- TABS --> 1281 <div class="product-mega-mega_menu_tabs"> 1282 1283 1284 1285 <a 1286 class="mega_menu_tab active" 1287 href="/collections/nursing-pillows" 1288 data-mega_menu_tab="feeding"> 1289 Feeding 1290 </a> 1291 1292 <a 1293 class="mega_menu_tab " 1294 href="/collections/travel-accessories" 1295 data-mega_menu_tab="on_the_go"> 1296 On-The-Go 1297 </a> 1298 1299 <a 1300 class="mega_menu_tab " 1301 href="/collections/pregnancy-pillows" 1302 data-mega_menu_tab="maternity"> 1303 Maternity 1304 </a> 1305 1306 <a 1307 class="mega_menu_tab " 1308 href="/collections/playtime" 1309 data-mega_menu_tab="milestones"> 1310 Milestones 1311 </a> 1312 1313 1314 1315 1316 1317 1318 1319 1320 1321 1322 1323 </div> 1324 1325 <div class="product-mega-content"> 1326 <div class="mega_manu_subheading"> 1327 <span>Shop Most Popular</span> 1328 <div class="mega_manu_subheading"> 1329 <span>Shop Collection</span> 1330 </div> 1331 </div> 1332 1333 1334 1335 1336 1337 1338 1339 <div class="mega_menu_tab-content active" 1340 id="feeding"> 1341 1342 <div class="menu-items-container m-products"> 1343 1344 1345 1346 1347 1348 1349 1350 1351 1352 <a href="/products/boppy-complete-nursing-pillow-oat-arches" class="menu-item"> 1353 1354 <img 1355 src="//www.boppy.com/cdn/shop/files/boppy-complete-nursing-pillow00066450210490-2705417.webp?v=1776861432&width=340" 1356 alt="Boppy Complete Nursing Pillow" 1357 > 1358
1359 <span>Boppy Complete Nursing Pillow</span> 1360 </a> 1361 1362 1363 1364 1365 1366 <a href="/products/new-boppy-luxe-nursing-pillow" class="menu-item"> 1367 1368 <img 1369 src="//www.boppy.com/cdn/shop/files/boppy-nursing-pillow-luxe00066352210490-5912279.webp?v=1776861435&width=340" 1370 alt="Boppy Nursing Pillow Luxe" 1371 > 1372 1373 <span>Boppy Nursing Pillow Luxe</span> 1374 </a> 1375 1376 1377 1378 1379 1380 <a href="/products/nursing-pillow" class="menu-item"> 1381 1382 <img 1383 src="//www.boppy.com/cdn/shop/files/boppy-nursing-pillow00066004210490-4206272.webp?v=1776861492&width=340" 1384 alt="Boppy Nursing Pillow" 1385 > 1386 1387 <span>Boppy Nursing Pillow</span> 1388 </a> 1389 1390 1391 1392 </div> 1393 1394 1395 1396 1397 <div class="mega-menu-collection-image"> 1398 <a href="/collections/nursing-pillows"> 1399 <img 1400 src="//www.boppy.com/cdn/shop/files/collection_feeding_image.webp?v=1775107810&width=360" 1401 alt="Nursing Pillows" 1402 width="360" 1403 height="auto" 1404 > 1405 </a> 1406 <span class="collection-image-spacer"></span> 1407 </div> 1408 1409 1410 1411 </div> 1412 1413 1414 1415 1416 <div class="mega_menu_tab-content " 1417 id="on_the_go"> 1418 1419 <div class="menu-items-container m-products"> 1420 1421 1422 1423 1424 1425 1426 1427 1428 1429 <a href="/products/boppy-comfyfit-adjust-baby-carrier" class="menu-item"> 1430 1431 <img 1432 src="//www.boppy.com/cdn/shop/files/comfyfit-adjust-hybrid-baby-carrier00061015210490-6774971.webp?v=1776861433&width=340" 1433 alt="ComfyFit® Adjust Hybrid Baby Carrier" 1434 > 1435 1436 <span>ComfyFit® Adjust Hybrid Baby Carrier</span> 1437 </a> 1438 1439 1440 1441 1442 1443 <a href="/products/boppy-cozy-cabana" class="menu-item"> 1444 1445 <img 1446 src="//www.boppy.com/cdn/shop/files/boppy-cozy-cabana00063151210490-4455005.png?v=1787301970&width=340" 1447 alt="Boppy Cozy Cabana" 1448 > 1449
1450 <span>Boppy Cozy Cabana</span> 1451 </a> 1452 1453 1454 1455 1456 1457 <a href="/products/boppy-shopping-cart-cover" class="menu-item"> 1458 1459 <img 1460 src="//www.boppy.com/cdn/shop/files/shopping-cart-cover00060506210490-5323243.webp?v=1776861436&width=340" 1461 alt="Shopping Cart Cover" 1462 > 1463 1464 <span>Shopping Cart Cover</span> 1465 </a> 1466 1467 1468 1469 </div> 1470 1471 1472 1473 1474 <div class="mega-menu-collection-image"> 1475 <a href="/collections/travel-accessories"> 1476 <img 1477 src="//www.boppy.com/cdn/shop/files/collection_on_the_go_image.webp?v=1774914480&width=360" 1478 alt="Travel Accessories" 1479 width="360" 1480 height="auto" 1481 > 1482 </a> 1483 <span class="collection-image-spacer"></span> 1484 </div> 1485 1486 1487 1488 </div> 1489 1490 1491 1492 1493 <div class="mega_menu_tab-content " 1494 id="maternity"> 1495 1496 <div class="menu-items-container m-products"> 1497 1498 1499 1500 1501 1502 1503 1504 1505 1506 <a href="/products/pregnancy-body-pillow" class="menu-item"> 1507 1508 <img 1509 src="//www.boppy.com/cdn/shop/files/pregnancy-body-pillow00058405140490-1072052.webp?v=1776778569&width=340" 1510 alt="Pregnancy Body Pillow" 1511 > 1512 1513 <span>Pregnancy Body Pillow</span> 1514 </a> 1515 1516 1517 1518 1519 1520 <a href="/products/boppy-side-sleeper-pregnancy-pillow" class="menu-item"> 1521 1522 <img 1523 src="//www.boppy.com/cdn/shop/files/side-sleeper-pregnancy-pillow00058604210490-5426258.webp?v=1776861434&width=340" 1524 alt="Side Sleeper Pregnancy Pillow" 1525 > 1526 1527 <span>Side Sleeper Pregnancy Pillow</span> 1528 </a> 1529 1530 1531 1532 1533 1534 <a href="/products/boppy-slipcovered-total-body-pregnancy-pillow" class="menu-item"> 1535 1536 <img 1537 src="//www.boppy.com/cdn/shop/files/total-body-pregnancy-pillow-with-removable-pillow-cover00058404210490-1754856.webp?v=1776861432&width=340" 1538 alt="Total Body Pregnancy Pillow with Removable Pillow Cover" 1539 > 1540
1541 <span>Total Body Pregnancy Pillow with Removable Pillow Cover</span> 1542 </a> 1543 1544 1545 1546 </div> 1547 1548 1549 1550 1551 <div class="mega-menu-collection-image"> 1552 <a href="/collections/pregnancy-pillows"> 1553 <img 1554 src="//www.boppy.com/cdn/shop/files/collection_maternity_image.webp?v=1775107158&width=360" 1555 alt="Pregnancy Pillows for Every Body" 1556 width="360" 1557 height="auto" 1558 > 1559 </a> 1560 <span class="collection-image-spacer"></span> 1561 </div> 1562 1563 1564 1565 </div> 1566 1567 1568 1569 1570 <div class="mega_menu_tab-content " 1571 id="milestones"> 1572 1573 <div class="menu-items-container m-products"> 1574 1575 1576 1577 1578 1579 1580 1581 1582 1583 <a href="/products/proper-posture-floor-and-booster-seat" class="menu-item"> 1584 1585 <img 1586 src="//www.boppy.com/cdn/shop/files/proper-posture-floor-and-booster-seat00063002210490-8989897.webp?v=1776778569&width=340" 1587 alt="Proper Posture Floor and Booster Seat" 1588 > 1589 1590 <span>Proper Posture Floor and Booster Seat</span> 1591 </a> 1592 1593 1594 1595 1596 1597 <a href="/products/boppy-playtime-lounger" class="menu-item"> 1598 1599 <img 1600 src="//www.boppy.com/cdn/shop/files/boppy-playtime-lounger00059020210490-8225871.webp?v=1787301977&width=340" 1601 alt="Boppy Playtime Lounger" 1602 > 1603 1604 <span>Boppy Playtime Lounger</span> 1605 </a> 1606 1607 1608 1609 1610 1611 <a href="/products/boppy-cozy-cabana" class="menu-item"> 1612 1613 <img 1614 src="//www.boppy.com/cdn/shop/files/boppy-cozy-cabana00063151210490-4455005.png?v=1787301970&width=340" 1615 alt="Boppy Cozy Cabana" 1616 > 1617 1618 <span>Boppy Cozy Cabana</span> 1619 </a> 1620 1621 1622 1623 </div> 1624 1625 1626 1627 1628 <div class="mega-menu-collection-image"> 1629 <a href="/collections/playtime"> 1630 <img 1631 src="//www.boppy.com/cdn/shop/files/collection_milestones.webp?v=1775107158&width=360" 1632 alt="Shop Playtime - Baby Toys & Milestones | Boppy" 1633 width="360" 1634 height="auto" 1635 > 1636 </a>
1637 <span class="collection-image-spacer"></span> 1638 </div> 1639 1640 1641 1642 </div> 1643 1644 1645 1646 1647 1648 1649 1650 1651 1652 1653 1654 1655 1656 1657 </div> 1658 1659 </div> 1660 </div> 1661 </div> 1662 1663 1664 </div> 1665 </div> 1666 </div> 1667 1668</div> 1669 1670 1671 1672<div class="menu__item child" 1673 > 1674 <a href="/pages/our-story" data-top-link class="navlink navlink--toplevel" 1675 1676 > 1677 <span class="navtext">Story</span> 1678 1679 </a> 1680 1681</div> 1682 1683 1684 1685<div class="menu__item child" 1686 > 1687 <a href="/pages/design-process" data-top-link class="navlink navlink--toplevel" 1688 1689 > 1690 <span class="navtext">Design</span> 1691 1692 </a> 1693 1694</div> 1695 1696 1697 1698<div class="menu__item parent" 1699 1700 data-hover-disclosure-toggle="dropdown-e49a58257d3857f236051fb5cb4757f1" 1701 > 1702 <a href="/pages/resource-center" data-top-link class="navlink navlink--toplevel" 1703 1704 aria-haspopup="true" 1705 aria-expanded="false" 1706 aria-controls="dropdown-e49a58257d3857f236051fb5cb4757f1" 1707 1708 > 1709 <span class="navtext">Resources</span> 1710 1711 <svg xmlns="http://www.w3.org/2000/svg" width="8" height="5" viewBox="0 0 8 5" fill="none"> 1712 <path d="M4.24896 4.26164C4.0144 4.49739 3.63284 4.49739 3.39828 4.26164L0.176214 1.02319C-0.200288 0.64477 0.0677436 7.95146e-08 0.601553 1.26182e-07L7.04569 6.89546e-07C7.5795 7.36214e-07 7.84753 0.644771 7.47103 1.02319L4.24896 4.26164Z" fill="#FFFAF4"/> 1713 </svg> 1714 1715 </a> 1716 1717 <div class="header__dropdown" 1718 data-hover-disclosure 1719 id="dropdown-e49a58257d3857f236051fb5cb4757f1"> 1720 <div class="header__dropdown__wrapper"> 1721 <div class="header__dropdown__inner"> 1722 1723 1724 <div class="mega-menu-header"> 1725 <div class="menu-items-container m-resources"> 1726 1727 1728 1729 1730 1731 1732 1733 1734 1735 1736 1737 1738 1739<a href="/blogs/boppy" class="menu-item"> 1740 1741 1742 <img src="https://cdn.shopify.com/s/files/1/0039/7043/3094/files/Blog_icon_a7d7e1d4-579d-4303-aa34-da3d0066541c.svg?v=1773025564" alt="Blog"> 1743 1744 1745 <span>Blog</span> 1746 </a> 1747 1748<a href="/pages/frequently-asked-questions" class="menu-item"> 1749 1750 1751 <img src="https://cdn.shopify.com/s/files/1/0039/7043/3094/files/Frequently_Asked_Questions.svg?v=1772775610" alt="FAQs"> 1752 1753 1754 <span>FAQs</span> 1755 </a> 1756 1757<a href="/pages/product-care" class="menu-item"> 1758 1759 1760 <img src="https://cdn.shopify.com/s/files/1/0039/7043/3094/files/Product_Care_Safety.svg?v=1772775496" alt="Product Care"> 1761 1762 1763 <span>Product Care</span> 1764 </a> 1765 1766<a href="https://babysafetyalert.com/boppy/index.php/" class="menu-item" target="_blank" rel="noopener"> 1767 1768 1769 <img src="https://cdn.shopify.com/s/files/1/0039/7043/3094/files/Support_Education.svg?v=1772764646" alt="Product Registration"> 1770 1771 1772 <span>Product Registration</span> 1773 </a> 1774 1775<a href="/pages/connect-with-us" class="menu-item"> 1776 1777 1778 <img src="https://cdn.shopify.com/s/files/1/0039/7043/3094/files/email_icon_8baeb9b8-c39b-4fed-a37d-7ead3f13367b.svg?v=1773071976" alt="Contact"> 1779 1780
1781 <span>Contact</span> 1782 </a> 1783 1784 1785 1786 1787 1788 1789 1790 </div> 1791 </div> 1792 1793 1794 </div> 1795 </div> 1796 </div> 1797 1798</div> 1799 1800 1801 1802<div class="menu__item child" 1803 > 1804 <a href="/pages/healthcare-products-landing-page" data-top-link class="navlink navlink--toplevel" 1805 1806 > 1807 <span class="navtext">Healthcare</span> 1808 1809 </a> 1810 1811</div> 1812 1813 <div class="hover__bar"></div> 1814 <div class="hover__bg"></div> 1815 </div> 1816 </nav> 1817</div> 1818 <div data-child-takes-space class="header__desktop__bar__r"> 1819 1820 1821 <div class="where_to_buy"> 1822 <a class="btn--primary" href="/pages/where-to-buy">Where to Buy</a> 1823 </div> 1824 1825 <div class="header__desktop__buttons header__desktop__buttons--icons"> 1826 1827 1828 <div class="header__desktop__button"> 1829 <a href="/account" class="navlink" title="My Account"> 1830 <!-- /snippets/social-icon.liquid --> 1831 1832 1833<svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-modern-account" viewBox="0 0 30 30"><path d="M15 1c7.732 0 14 6.268 14 14s-6.268 14-14 14S1 22.732 1 15 7.268 1 15 1zm0 20a12.94 12.94 0 00-8.113 2.841A11.953 11.953 0 0015 27c3.128 0 5.977-1.197 8.113-3.158A12.94 12.94 0 0015 21zm0-18C8.373 3 3 8.373 3 15c0 2.778.944 5.336 2.529 7.37A14.93 14.93 0 0115 19c3.507 0 6.826 1.21 9.472 3.368A11.949 11.949 0 0027 15c0-6.627-5.373-12-12-12zm.05 2a6.25 6.25 0 110 12.5 6.25 6.25 0 010-12.5zm0 2a4.25 4.25 0 100 8.5 4.25 4.25 0 000-8.5z"/></svg> 1834 <span class="visually-hidden">Account</span> 1835 </a> 1836 </div> 1837 1838 1839 1840 <div class="header__desktop__button"> 1841 <a href="/search" class="navlink" data-popdown-toggle="search-popdown" data-focus-element title="Search"> 1842 <!-- /snippets/social-icon.liquid --> 1843 1844 1845<svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-modern-search" viewBox="0 0 30 30"><path d="M14 2c6.075 0 11 4.925 11 11 0 2.932-1.147 5.596-3.017 7.568l4.724 4.725a1 1 0 01-1.32 1.497l-.094-.083-4.817-4.815A10.95 10.95 0 0114 24C7.925 24 3 19.075 3 13S7.925 2 14 2zm0 2a9 9 0 100 18 9 9 0 000-18z"/></svg> 1846 <span class="visually-hidden">Search</span> 1847 </a> 1848 </div> 1849 1850 1851 <div class="header__desktop__button"> 1852 <a href="/cart" class="navlink navlink--cart" title="Cart" data-cart-toggle data-focus-element > 1853 <div class="cart__icon__content cart__icon__content--modern"> 1854 <!-- /snippets/social-icon.liquid --> 1855 1856 1857 1858<svg aria-hidden="true" focusable="false" xmlns="http://www.w3.org/2000/svg" class="icon icon-modern-cart" width="27" height="24" viewBox="0 0 27 24" fill="none"> 1859<path d="M12.035 21.5837C12.035 22.9144 10.9494 24 9.61868 24C8.28794 24 7.20233 22.9144 7.20233 21.5837C7.20233 20.2529 8.28794 19.1673 9.61868 19.1673C10.9494 19.1673 12.035 20.2529 12.035 21.5837Z" fill="#A0AEE8"/> 1860<path d="M21.8405 21.5837C21.8405 22.9144 20.7549 24 19.4241 24C18.0934 24 17.0078 22.9144 17.0078 21.5837C17.0078 20.2529 18.0934 19.1673 19.4241 19.1673C20.7549 19.1673 21.8405 20.2529 21.8405 21.5837Z" fill="#A0AEE8"/> 1861<path d="M10.284 3.75875V6.3035H23.7549L22.2257 12.7938C22.0272 13.6576 21.2685 14.2763 20.3813 14.2879H9.93385C9.03502 14.2879 8.25292 13.6693 8.05447 12.7938L5.38132 0.980545C5.25292 0.40856 4.72763 0 4.14397 0H0V2.54475H3.11673L5.56809 13.3658C6.02335 15.4086 7.84436 16.856 9.93385 16.8327H20.3813C22.4591 16.8327 24.2685 15.3969 24.7121 13.3658L26.5914 5.31128C26.6732 4.93774 26.5914 4.54086 26.3463 4.23735C26.1012 3.93385 25.7393 3.75875 25.3541 3.75875H10.284Z" fill="#A0AEE8"/> 1862</svg> 1863 1864 <span class="visually-hidden">Cart</span> 1865 1866 <span class="header__cart__status" data-cart-count="0" data-status-separator=": "> 1867 0 1868 </span> 1869 1870 </div> 1871 </a> 1872 </div> 1873 1874 </div> 1875 1876 </div> 1877 </div></div> 1878 </div> 1879 </header> 1880 1881 <nav class="header__drawer" 1882 role="navigation" 1883 data-drawer="hamburger" 1884 aria-label="Menu" 1885 aria-hidden="true" 1886 id="header-menu"> 1887 <style> 1888 .mobile_mega_menu { 1889 position: fixed; 1890 inset: 0; 1891 overflow: hidden; 1892 background: #835aa2; 1893 padding-top: 0; 1894 z-index: 5000; 1895 top: 60px; 1896 display: flex; 1897 align-items: start; 1898 width: 100%; 1899 } 1900 1901 .header__mobile__button .icon{fill: #A0AEE8;} 1902 /* LEFT */ 1903 .mobile_mega_menu .left_section { 1904 width: 50%; 1905 padding: 0 20px; 1906 color: #fffaf4; 1907 } 1908 1909 .mobile_mega_menu .menu-item { 1910 cursor: pointer; 1911 margin-top: 20px; 1912 } 1913 1914 .mobile_mega_menu .menu-item.active { 1915 padding: 8px 15px; 1916 border-radius: 20px; 1917 background: #f2ede7; 1918 color: #835AA2; 1919 } 1920 1921 /* SUBMENU */ 1922 .mobile_mega_menu .submenu { 1923 margin: 10px 0 0 10px; 1924 } 1925 1926 .mobile_mega_menu .submenu div { 1927 padding: 8px 15px; 1928 margin-bottom: 10px; 1929 border-radius: 50px; 1930 cursor: pointer; 1931 font-size: 14px; 1932 display: inline-block; 1933 line-height: 1; 1934 } 1935 1936 .mobile_mega_menu .submenu div:last-child { 1937 margin-bottom: 0; 1938 } 1939 1940 .mobile_mega_menu .submenu div.active { 1941 background: #f2ede7; 1942 color: #835AA2; 1943 } 1944 1945 /* RIGHT PANEL */ 1946 .mobile_mega_menu .right_section { 1947 width: 50%; 1948 background: #FFFAF4; 1949 padding: 0; 1950 position: relative; 1951 overflow-y: auto; 1952 visibility: hidden; 1953 -webkit-overflow-scrolling: touch; 1954 visibility: hidden; 1955 height: calc(100vh - 60px); 1956 transform: scale(0.9); 1957 } 1958 1959 .mobile_mega_menu .right_section.active { 1960 visibility: visible;
1961 animation: mmcard-enter 500ms cubic-bezier(0.25, 0.1, 0.25, 1) forwards; 1962 } 1963 1964 /* SECTIONS (ANIMATION) */ 1965 .mobile_mega_menu .section { 1966 position: absolute; 1967 width: 100%; 1968 opacity: 0; 1969 pointer-events: none; 1970 visibility: hidden; 1971 display: none; 1972 } 1973 .mobile_mega_menu .section.active { 1974 opacity: 1; 1975 pointer-events: auto; 1976 visibility: visible; 1977 z-index: 2; 1978 display: block; 1979 } 1980 1981 .mobile_mega_menu .section .card, 1982 .mobile_mega_menu .section .resource-item { 1983 opacity: 0; 1984 transform: scale(0.9); 1985 } 1986 .mobile_mega_menu .section.active .card, 1987 .mobile_mega_menu .section.active .resource-item { 1988 opacity: 1; 1989 animation: mmcard-enter 500ms cubic-bezier(0.25, 0.1, 0.25, 1) forwards; 1990 } 1991 1992 /* NEW: exit animation */ 1993 .mobile_mega_menu .section.leaving { 1994 opacity: 0; 1995 transform: scale(0.92) translateY(10px); 1996 } 1997 1998 /* PRODUCT */ 1999 .mobile_mega_menu .title { 2000 font-size: 14px; 2001 color: #835AA2; 2002 margin-top: 20px; 2003 text-align: center; 2004 font-weight: 600; 2005 } 2006 2007 .mobile_mega_menu .grid { 2008 margin: 0; 2009 } 2010 2011 .mobile_mega_menu .card { 2012 padding: 10px 20px; 2013 text-align: center; 2014 } 2015 2016 .mobile_mega_menu .card p { 2017 font-size: 12px; 2018 margin: 0; 2019 color: #835AA2; 2020 font-weight: 600; 2021 } 2022 2023 .mobile_mega_menu .card .p_featured_image { 2024 width: 100%; 2025 border-radius: 10px; 2026 background-color: #F1E8DE; 2027 height: 100px; 2028 display: inline-flex; 2029 align-items: center; 2030 justify-content: center; 2031 } 2032 2033 .mobile_mega_menu .card .p_featured_image img { 2034 width: 100px; 2035 height: 100px; 2036} 2037 2038 /* RESOURCES */ 2039 .mobile_mega_menu .resource-grid { 2040 display: grid; 2041 gap: 30px; 2042 text-align: center; 2043 } 2044 2045 .mobile_mega_menu .resource-item { 2046 color: #835AA2; 2047 font-size: 14px; 2048 } 2049 2050 .mobile_mega_menu .resource-item .menu-item { 2051 padding: 0; 2052 display: inline-block; 2053 } 2054 2055 .mobile_mega_menu .resource-item span { 2056 display: block; 2057 color: #835AA2; 2058 font-size: 12px; 2059 font-weight: 600; 2060 } 2061 2062 .mobile_a_s_icons { 2063 padding: 30px 0; 2064 display: flex; 2065 } 2066 .drawer__inner { 2067 mask: none !important; 2068 } 2069 .drawer__content .mobile_a_s_icons .header__mobile__button { 2070 padding: 0 !important; 2071 } 2072 2073 .mobile_mega_menu { 2074 position: fixed; 2075 z-index: 4001; 2076 display: flex; 2077 transform: translate3d(-100%,0,0); 2078 visibility: hidden; 2079 transition: transform .3s ease .01s,visibility .3s ease .01s; 2080 } 2081 2082 .drawer--visible .mobile_mega_menu { 2083 visibility: visible; 2084 transform: translateZ(0); 2085 } 2086 body.drawer-m-menu-open{ 2087 overflow: hidden; 2088 } 2089 2090 2091 @keyframes mmcard-enter { 2092 from { opacity: 0; transform: scale(0.9); } 2093 20% { opacity: 0.3; } 2094 50% { opacity: 0.5; } 2095 80% { opacity: 0.8; } 2096 to { opacity: 1; transform: scale(1); } 2097 } 2098</style> 2099 2100 2101<div class="mobile_mega_menu"> 2102 2103 <div class="left_section"> 2104 2105 2106 2107 2108 2109 2110 2111 2112 2113 2114 2115 2116 2117 <!-- PARENT --> 2118 <div 2119 class="menu-item" 2120 data-type="submenu" 2121 2122 > 2123 Products 2124 </div> 2125 2126 <!-- SUBMENU --> 2127 2128 <div class="submenu"> 2129 2130 <div 2131 class="sub" 2132 data-target="m-feeding" 2133 > 2134 Feeding 2135 </div> 2136 2137 <div 2138 class="sub" 2139 data-target="m-on-the-go" 2140 > 2141 On-The-Go 2142 </div> 2143 2144 <div 2145 class="sub" 2146 data-target="m-maternity" 2147 > 2148 Maternity 2149 </div> 2150 2151 <div 2152 class="sub" 2153 data-target="m-milestones" 2154 > 2155 Milestones 2156 </div> 2157 2158 </div> 2159 2160 2161 2162 2163 2164 2165 2166 2167 2168 2169 2170 2171 2172 2173 <!-- PARENT --> 2174 <div 2175 class="menu-item" 2176 2177 data-link="/pages/our-story" 2178 > 2179 Story 2180 </div> 2181 2182 <!-- SUBMENU --> 2183 2184 2185 2186 2187 2188 2189 2190 2191 2192 2193 2194 2195 2196 2197 <!-- PARENT --> 2198 <div 2199 class="menu-item" 2200 2201 data-link="/pages/design-process" 2202 > 2203 Design 2204 </div> 2205 2206 <!-- SUBMENU --> 2207 2208 2209 2210 2211 2212 2213 2214 2215 2216 2217 2218 2219 2220 2221 <!-- PARENT --> 2222 <div 2223 class="menu-item" 2224 data-type="resources" 2225 2226 > 2227 Resources 2228 </div> 2229 2230 <!-- SUBMENU --> 2231 2232 2233 2234 2235 2236 2237 2238 2239 2240 2241 2242 2243 2244 2245 <!-- PARENT --> 2246 <div 2247 class="menu-item" 2248 2249 data-link="/pages/healthcare-products-landing-page" 2250 > 2251 Healthcare 2252 </div> 2253 2254 <!-- SUBMENU --> 2255 2256 2257 2258 <div class="mobile_a_s_icons"> 2259 2260 <div class="header__mobile__button"> 2261 <a href="/search" class="navlink" data-popdown-toggle="search-popdown" data-focus-element> 2262 <!-- /snippets/social-icon.liquid --> 2263 2264 2265<svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-modern-search" viewBox="0 0 30 30"><path d="M14 2c6.075 0 11 4.925 11 11 0 2.932-1.147 5.596-3.017 7.568l4.724 4.725a1 1 0 01-1.32 1.497l-.094-.083-4.817-4.815A10.95 10.95 0 0114 24C7.925 24 3 19.075 3 13S7.925 2 14 2zm0 2a9 9 0 100 18 9 9 0 000-18z"/></svg>
2266 <span class="visually-hidden">Search</span> 2267 </a> 2268 </div> 2269 2270 2271 <div class="header__mobile__button"> 2272 <a href="/account" class="navlink"> 2273 <!-- /snippets/social-icon.liquid --> 2274 2275 2276<svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-modern-account" viewBox="0 0 30 30"><path d="M15 1c7.732 0 14 6.268 14 14s-6.268 14-14 14S1 22.732 1 15 7.268 1 15 1zm0 20a12.94 12.94 0 00-8.113 2.841A11.953 11.953 0 0015 27c3.128 0 5.977-1.197 8.113-3.158A12.94 12.94 0 0015 21zm0-18C8.373 3 3 8.373 3 15c0 2.778.944 5.336 2.529 7.37A14.93 14.93 0 0115 19c3.507 0 6.826 1.21 9.472 3.368A11.949 11.949 0 0027 15c0-6.627-5.373-12-12-12zm.05 2a6.25 6.25 0 110 12.5 6.25 6.25 0 010-12.5zm0 2a4.25 4.25 0 100 8.5 4.25 4.25 0 000-8.5z"/></svg> 2277 <span class="visually-hidden">Account</span> 2278 </a> 2279 </div> 2280 2281 </div> 2282 2283 </div> 2284 2285 <!-- RIGHT --> 2286 <div class="right_section"> 2287 2288 <!-- PRODUCTS --> 2289 2290 2291 2292 2293 2294 2295 2296 2297 2298 2299 <div class="section" id="m-feeding"> 2300 2301 <div class="title">SHOP MOST POPULAR</div> 2302 2303 <div class="grid"> 2304 2305 2306 2307 2308 2309 2310 2311 2312 2313 2314 2315 2316 2317 2318 2319 <div class="card"> 2320 <a href="/products/boppy-complete-nursing-pillow-oat-arches"> 2321 2322 <div class="p_featured_image"> 2323 <img src="//www.boppy.com/cdn/shop/files/boppy-complete-nursing-pillow00066450210490-2705417.webp?v=1776861432&width=200" 2324 alt="Boppy Complete Nursing Pillow"> 2325 </div> 2326 2327 <p>Boppy Complete Nursing Pillow</p> 2328 </a> 2329 </div> 2330 2331 2332 2333 2334 2335 2336 2337 2338 2339 2340 2341 <div class="card"> 2342 <a href="/products/new-boppy-luxe-nursing-pillow"> 2343 2344 <div class="p_featured_image"> 2345 <img src="//www.boppy.com/cdn/shop/files/boppy-nursing-pillow-luxe00066352210490-5912279.webp?v=1776861435&width=200" 2346 alt="Boppy Nursing Pillow Luxe"> 2347 </div> 2348 2349 <p>Boppy Nursing Pillow Luxe</p> 2350 </a> 2351 </div> 2352 2353 2354 2355 2356 2357 2358 2359 2360 2361 2362 2363 <div class="card"> 2364 <a href="/products/nursing-pillow"> 2365 2366 <div class="p_featured_image"> 2367 <img src="//www.boppy.com/cdn/shop/files/boppy-nursing-pillow00066004210490-4206272.webp?v=1776861492&width=200" 2368 alt="Boppy Nursing Pillow"> 2369 </div> 2370 2371 <p>Boppy Nursing Pillow</p> 2372 </a> 2373 </div> 2374 2375 2376 2377 2378 2379 2380 2381 2382 2383 2384 2385 2386 2387 2388 2389 2390 2391 2392 2393 2394 2395 2396 2397 2398 2399 2400 2401 2402 2403 2404 2405 2406 2407 2408 2409 2410 2411 2412 2413 2414 2415 2416 2417 2418 2419 2420 2421 2422 2423 2424 2425 2426 2427 2428 2429 2430 2431 2432 2433 2434 2435 2436 2437 2438 2439 2440 2441 2442 2443 2444 2445 2446 2447 2448 2449 2450 2451 2452 2453 2454 2455 2456 2457 2458 2459 2460 2461 2462 2463 2464 2465 2466 2467 2468 2469 2470 2471 2472 2473 2474 </div> 2475 2476 2477 <div class="title"> <a class="btn--primary btn--small" href="/collections/nursing-pillows">Shop Collection</a></div> 2478 2479 2480 2481 2482 </div> 2483 2484 2485 2486 2487 2488 2489 2490 <div class="section" id="m-on-the-go"> 2491 2492 <div class="title">SHOP MOST POPULAR</div> 2493 2494 <div class="grid"> 2495 2496 2497 2498 2499 2500 2501 2502 2503 2504 2505 2506 2507 2508 2509 2510 <div class="card"> 2511 <a href="/products/boppy-comfyfit-adjust-baby-carrier"> 2512 2513 <div class="p_featured_image"> 2514 <img src="//www.boppy.com/cdn/shop/files/comfyfit-adjust-hybrid-baby-carrier0006101521049
25140-6774971.webp?v=1776861433&width=200" 2515 alt="ComfyFit® Adjust Hybrid Baby Carrier"> 2516 </div> 2517 2518 <p>ComfyFit® Adjust Hybrid Baby Carrier</p> 2519 </a> 2520 </div> 2521 2522 2523 2524 2525 2526 2527 2528 2529 2530 2531 2532 <div class="card"> 2533 <a href="/products/boppy-cozy-cabana"> 2534 2535 <div class="p_featured_image"> 2536 <img src="//www.boppy.com/cdn/shop/files/boppy-cozy-cabana00063151210490-4455005.png?v=1787301970&width=200" 2537 alt="Boppy Cozy Cabana"> 2538 </div> 2539 2540 <p>Boppy Cozy Cabana</p> 2541 </a> 2542 </div> 2543 2544 2545 2546 2547 2548 2549 2550 2551 2552 2553 2554 <div class="card"> 2555 <a href="/products/boppy-shopping-cart-cover"> 2556 2557 <div class="p_featured_image"> 2558 <img src="//www.boppy.com/cdn/shop/files/shopping-cart-cover00060506210490-5323243.webp?v=1776861436&width=200" 2559 alt="Shopping Cart Cover"> 2560 </div> 2561 2562 <p>Shopping Cart Cover</p> 2563 </a> 2564 </div> 2565 2566 2567 2568 2569 2570 2571 2572 2573 2574 2575 2576 2577 2578 2579 2580 2581 2582 2583 2584 2585 2586 2587 2588 2589 2590 2591 2592 2593 2594 2595 2596 2597 2598 2599 2600 2601 2602 2603 2604 2605 2606 2607 2608 2609 2610 2611 2612 2613 2614 2615 2616 2617 2618 2619 2620 2621 2622 2623 2624 2625 2626 2627 2628 2629 2630 2631 2632 2633 2634 2635 2636 2637 2638 2639 2640 2641 2642 2643 2644 2645 2646 2647 2648 2649 2650 2651 2652 2653 2654 2655 2656 2657 2658 2659 2660 2661 2662 2663 2664 2665 2666 2667 2668 2669 2670 2671 2672 2673 2674 2675 2676 2677 2678 2679 2680 2681 2682 2683 2684 2685 2686 2687 2688 2689 2690 2691 2692 2693 2694 2695 </div> 2696 2697 2698 <div class="title"> <a class="btn--primary btn--small" href="/collections/travel-accessories">Shop Collection</a></div> 2699 2700 2701 2702 2703 </div> 2704 2705 2706 2707 2708 2709 2710 2711 <div class="section" id="m-maternity"> 2712 2713 <div class="title">SHOP MOST POPULAR</div> 2714 2715 <div class="grid"> 2716 2717 2718 2719 2720 2721 2722 2723 2724 2725 2726 2727 2728 2729 2730 2731 <div class="card"> 2732 <a href="/products/pregnancy-body-pillow"> 2733 2734 <div class="p_featured_image"> 2735 <img src="//www.boppy.com/cdn/shop/files/pregnancy-body-pillow00058405140490-1072052.webp?v=1776778569&width=200" 2736 alt="Pregnancy Body Pillow"> 2737 </div> 2738 2739 <p>Pregnancy Body Pillow</p> 2740 </a> 2741 </div> 2742 2743 2744 2745 2746 2747 2748 2749 2750 2751 2752 2753 <div class="card"> 2754 <a href="/products/boppy-side-sleeper-pregnancy-pillow"> 2755 2756 <div class="p_featured_image"> 2757 <img src="//www.boppy.com/cdn/shop/files/side-sleeper-pregnancy-pillow00058604210490-5426258.webp?v=1776861434&width=200"
2758 alt="Side Sleeper Pregnancy Pillow"> 2759 </div> 2760 2761 <p>Side Sleeper Pregnancy Pillow</p> 2762 </a> 2763 </div> 2764 2765 2766 2767 2768 2769 2770 2771 2772 2773 2774 2775 <div class="card"> 2776 <a href="/products/boppy-slipcovered-total-body-pregnancy-pillow"> 2777 2778 <div class="p_featured_image"> 2779 <img src="//www.boppy.com/cdn/shop/files/total-body-pregnancy-pillow-with-removable-pillow-cover00058404210490-1754856.webp?v=1776861432&width=200" 2780 alt="Total Body Pregnancy Pillow with Removable Pillow Cover"> 2781 </div> 2782 2783 <p>Total Body Pregnancy Pillow with Removable Pillow Cover</p> 2784 </a> 2785 </div> 2786 2787 2788 2789 2790 2791 2792 2793 2794 2795 2796 2797 2798 2799 2800 2801 2802 2803 2804 2805 2806 2807 2808 2809 2810 2811 2812 2813 2814 2815 2816 2817 2818 2819 2820 2821 2822 2823 2824 2825 2826 2827 2828 2829 2830 2831 2832 2833 2834 2835 2836 </div> 2837 2838 2839 <div class="title"> <a class="btn--primary btn--small" href="/collections/pregnancy-pillows">Shop Collection</a></div> 2840 2841 2842 2843 2844 </div> 2845 2846 2847 2848 2849 2850 2851 2852 <div class="section" id="m-milestones"> 2853 2854 <div class="title">SHOP MOST POPULAR</div> 2855 2856 <div class="grid"> 2857 2858 2859 2860 2861 2862 2863 2864 2865 2866 2867 2868 2869 2870 2871 2872 <div class="card"> 2873 <a href="/products/proper-posture-floor-and-booster-seat"> 2874 2875 <div class="p_featured_image"> 2876 <img src="//www.boppy.com/cdn/shop/files/proper-posture-floor-and-booster-seat00063002210490-8989897.webp?v=1776778569&width=200" 2877 alt="Proper Posture Floor and Booster Seat"> 2878 </div> 2879 2880 <p>
2880Proper Posture Floor and Booster Seat</p> 2881 </a> 2882 </div> 2883 2884 2885 2886 2887 2888 2889 2890 2891 2892 2893 2894 <div class="card"> 2895 <a href="/products/boppy-playtime-lounger"> 2896 2897 <div class="p_featured_image"> 2898 <img src="//www.boppy.com/cdn/shop/files/boppy-playtime-lounger00059020210490-8225871.webp?v=1787301977&width=200" 2899 alt="Boppy Playtime Lounger"> 2900 </div> 2901 2902 <p>Boppy Playtime Lounger</p> 2903 </a> 2904 </div> 2905 2906 2907 2908 2909 2910 2911 2912 2913 2914 2915 2916 <div class="card"> 2917 <a href="/products/boppy-cozy-cabana"> 2918 2919 <div class="p_featured_image"> 2920 <img src="//www.boppy.com/cdn/shop/files/boppy-cozy-cabana00063151210490-4455005.png?v=1787301970&width=200" 2921 alt="Boppy Cozy Cabana"> 2922 </div> 2923 2924 <p>Boppy Cozy Cabana</p> 2925 </a> 2926 </div> 2927 2928 2929 2930 2931 2932 2933 2934 2935 2936 2937 2938 2939 2940 2941 2942 2943 2944 2945 2946 2947 2948 2949 2950 2951 2952 2953 2954 2955 2956 2957 </div> 2958 2959 2960 <div class="title"> <a class="btn--primary btn--small" href="/collections/playtime">Shop Collection</a></div> 2961 2962 2963 2964 2965 </div> 2966 2967 2968 2969 2970 2971 2972 2973 2974 2975 2976 2977 2978 2979 2980 2981 2982 2983 2984 2985 2986 2987 2988 2989 <!-- RESOURCES --> 2990 <div class="section" id="m-resources-section"> 2991 <div class="resource-grid"> 2992 2993 2994 2995 2996 2997 2998 2999 3000 3001 <div class="resource-item"><a href="/blogs/boppy" class="menu-item"> 3002 3003 3004 <img src="https://cdn.shopify.com/s/files/1/0039/7043/3094/files/Blog_icon_a7d7e1d4-579d-4303-aa34-da3d0066541c.svg?v=1773025564" alt="Blog"> 3005 3006 3007 <span>Blog</span> 3008 </a> 3009 </div> 3010 3011 <div class="resource-item"><a href="/pages/frequently-asked-questions" class="menu-item"> 3012 3013 3014 <img src="https://cdn.shopify.com/s/files/1/0039/7043/3094/files/Frequently_Asked_Questions.svg?v=1772775610" alt="FAQs"> 3015 3016 3017 <span>FAQs</span> 3018 </a> 3019 </div> 3020 3021 <div class="resource-item"><a href="/pages/product-care" class="menu-item"> 3022 3023 3024 <img src="https://cdn.shopify.com/s/files/1/0039/7043/3094/files/Product_Care_Safety.svg?v=1772775496" alt="Product Care"> 3025 3026 3027 <span>Product Care</span> 3028 </a> 3029 </div> 3030 3031 <div class="resource-item"><a href="https://babysafetyalert.com/boppy/index.php/" class="menu-item" target="_blank" rel="noopener"> 3032 3033 3034 <img src="https://cdn.shopify.com/s/files/1/0039/7043/3094/files/Support_Education.svg?v=1772764646" alt="Product Registration"> 3035 3036 3037 <span>Product Registration</span> 3038 </a> 3039 </div> 3040 3041 <div class="resource-item"><a href="/pages/connect-with-us" class="menu-item"> 3042 3043 3044 <img src="https://cdn.shopify.com/s/files/1/0039/7043/3094/files/email_icon_8baeb9b8-c39b-4fed-a37d-7ead3f13367b.svg?v=1773071976" alt="Contact"> 3045 3046
3047 <span>Contact</span> 3048 </a> 3049 </div> 3050 3051 3052 3053 3054 3055 3056 </div> 3057 </div> 3058 3059 </div> 3060 3061</div> 3062
3063<script> 3064 const menuItems = document.querySelectorAll(".mobile_mega_menu .menu-item"); 3065 const subs = document.querySelectorAll(".mobile_mega_menu .sub"); 3066 const sections = document.querySelectorAll(".mobile_mega_menu .section"); 3067 const rightPanel = document.querySelector(".mobile_mega_menu .right_section"); 3068 3069 function resetAll() { 3070 menuItems.forEach(m => m.classList.remove("active")); 3071 subs.forEach(s => s.classList.remove("active")); 3072 sections.forEach(sec => sec.classList.remove("active")); 3073 rightPanel.classList.remove("active"); 3074 } 3075 3076 menuItems.forEach(menu => { 3077 menu.addEventListener("click", () => { 3078 3079 const type = menu.dataset.type; 3080 const link = menu.dataset.link; 3081 3082 resetAll(); 3083 3084 if (link) { 3085 window.location.href = link; 3086 return; 3087 } 3088 3089 if (type === "submenu") { 3090 rightPanel.classList.remove("active"); 3091 return; 3092 } 3093 3094 if (type === "resources") { 3095 menu.classList.add("active"); 3096 rightPanel.classList.add("active"); 3097 document.getElementById("m-resources-section").classList.add("active"); 3098 } 3099 }); 3100 }); 3101 3102 subs.forEach(sub => { 3103 sub.addEventListener("click", () => { 3104 3105 const current = document.querySelector(".mobile_mega_menu .section.active"); 3106 const next = document.getElementById(sub.dataset.target); 3107 3108 if (!next) return; 3109 3110 // reset left states 3111 subs.forEach(s => s.classList.remove("active")); 3112 menuItems.forEach(m => m.classList.remove("active")); 3113 sub.classList.add("active"); 3114 3115 rightPanel.classList.add("active"); 3116 3117 // remove current 3118 if (current) current.classList.remove("active"); 3119 3120 // FORCE reflow (important for animation) 3121 next.style.display = "block"; 3122 next.offsetHeight; 3123 3124 // activate new 3125 next.classList.add("active"); 3126 3127 // scroll to top 3128 rightPanel.scrollTop = 0; 3129 }); 3130 }); 3131 3132 3133 document.addEventListener('theme:drawer:open', function (e) { 3134 if (e.target && e.target.matches && e.target.matches('nav.header__drawer')) { 3135 document.body.classList.add('drawer-m-menu-open'); 3136 } 3137 }); 3138 document.addEventListener('theme:drawer:close', function (e) { 3139 if (e.target && e.target.matches && e.target.matches('nav.header__drawer')) { 3140 document.body.classList.remove('drawer-m-menu-open'); 3141 } 3142 resetAll(); 3143 }); 3144 3145</script>
3145 3146 <span class="drawer__underlay" data-drawer-underlay></span> 3147 </nav> 3148 3149</div> 3150 3151<div class="header__backfill" 3152 data-header-backfill 3153 style="height: var(--menu-height);"></div> 3154 3155<div data-cart-popover-container class="cart-popover"></div> 3156 3157<div id="search-popdown" class="search-popdown"> 3158 <div class="search__popdown__outer"> 3159 <div class="search__popdown__upper" data-search-title-wrap> 3160 <span></span> 3161 </div> 3162 <div class="wrapper"> 3163 <div class="search__popdown__main"> 3164 <form class="search__popdown__form" 3165 action="/search" 3166 method="get" 3167 role="search"> 3168 <input type="hidden" name="type" value="product"/> 3169 <input name="options[prefix]" type="hidden" value="last"> 3170 <button class="search__popdown__form__button" type="submit"> 3171 <span class="visually-hidden">Search</span><!-- /snippets/social-icon.liquid --> 3172 3173 3174<svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-modern-search" viewBox="0 0 30 30"><path d="M14 2c6.075 0 11 4.925 11 11 0 2.932-1.147 5.596-3.017 7.568l4.724 4.725a1 1 0 01-1.32 1.497l-.094-.083-4.817-4.815A10.95 10.95 0 0114 24C7.925 24 3 19.075 3 13S7.925 2 14 2zm0 2a9 9 0 100 18 9 9 0 000-18z"/></svg> 3175 </button> 3176 <input type="search" 3177 data-predictive-search-input="search-popdown-results" 3178 name="q" 3179 value="" 3180 placeholder="Search" 3181 aria-label="Search our store"> 3182 </form> 3183 <div class="search__popdown__close"> 3184 <button type="button" class="search__popdown__close__inner" data-close-popdown title="Close"> 3185 <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-close" viewBox="0 0 20 20"><path fill="#444" d="M15.89 14.696l-4.734-4.734 4.717-4.717c.4-.4.37-1.085-.03-1.485s-1.085-.43-1.485-.03L9.641 8.447 4.97 3.776c-.4-.4-1.085-.37-1.485.03s-.43 1.085-.03 1.485l4.671 4.671-4.688 4.688c-.4.4-.37 1.085.03 1.485s1.085.43 1.485.03l4.688-4.687 4.734 4.734c.4.4 1.085.37 1.485-.03s.43-1.085.03-1.485z"/></svg> 3186 </button> 3187 </div> 3188 </div> 3189 </div> 3190 </div> 3191 <div class="header__search__results" id="search-popdown-results"> 3192 <div class="search__results__outer"> 3193 <div class="search__results__products" data-product-wrap-outer> 3194 <div class="loader search__loader"><div class="loader-indeterminate"></div></div> 3195 3196 <div class="search__results__products__list search__results__products__list--borderless" data-product-wrap> 3197 3198 </div> 3199 </div> 3200 </div> 3201 </div> 3202</div> 3203
3204<script data-predictive-search-title-template type="text/x-template"> 3205 <div aria-live="polite"> 3206 <span class="announcement__more">{{ it.title }}</span> 3207 <span class="announcement__main">{{ it.query }}</span> 3208 </div> 3209</script>
3209 3210
3211<script product-grid-item-template type="text/x-template"> 3212 <div class="product-item product-item--borderless "> 3213 3214 <a href="{{ it.product.url }}" class="product-link" aria-label='{{ it.product.title }}'> 3215 <div class="product-item__image {{it.product.double_class}}"> 3216 <div class="product-item__bg" 3217 aria-label="{{ it.product.image.alt }}" 3218 style="background-image: url('{{ it.product.image.thumb }}');" role="img"></div> 3219 {{@if(it.product.secondImage)}} 3220 <div class="product-item__bg__under" 3221 aria-label="{{ it.product.secondImage.alt }}" 3222 style="background-image: url('{{ it.product.secondImage.thumb }}');" role="img"></div> 3223 {{/if}} 3224 </div> 3225 <div class="product-information"> 3226 <p class="product__grid__title">{{ it.product.title }}</p> 3227 <span class="price {{ it.product.classes }}"> 3228 {{@if(it.product.available)}} 3229 <span class="new-price" aria-label="Current price">{{ it.product.price_with_from | safe }}</span> 3230 {{@if(it.product.compare_at_price > it.product.price)}} 3231 <span class="old-price" aria-label="Original price">{{ it.product.compare_at_price | safe }}</span> 3232 {{/if}} 3233 {{#else}} 3234 <br /><em>{{ it.product.sold_out_translation }}</em> 3235 {{/if}} 3236 </span> 3237 </div> 3238 </a> 3239 3240 </div> 3241</script>
3241 3242 3243 3244 3245
3246<script type="application/ld+json"> 3247{ 3248 "@context": "http://schema.org", 3249 "@type": "Organization", 3250 "name": "Boppy", 3251 3252 3253 "logo": "https:\/\/www.boppy.com\/cdn\/shop\/files\/Boppy_Logo_96x.svg?v=1772528896", 3254 3255 "sameAs": [ 3256 "https:\/\/twitter.com\/boppycompany", 3257 "https:\/\/www.facebook.com\/BoppyCompany\/", 3258 "https:\/\/www.instagram.com\/boppycompany\/", 3259 "", 3260 "https:\/\/www.youtube.com\/user\/theboppycompany", 3261 "https:\/\/www.tiktok.com\/@boppycompany", 3262 "https:\/\/www.linkedin.com\/company\/the-boppy-company\/", 3263 "", 3264 "", 3265 "", 3266 "" 3267 ], 3268 "url": "https:\/\/www.boppy.com" 3269} 3270</script>
3270 3271 3272 3273
3274<script> 3275(function(){ 3276 var isTouch = window.matchMedia('(hover: none)').matches; 3277 3278 function activateTab(tab){ 3279 document.querySelectorAll(".mega_menu_tab").forEach(t => t.classList.remove("active")); 3280 document.querySelectorAll(".mega_menu_tab-content").forEach(c => c.classList.remove("active")); 3281 tab.classList.add("active"); 3282 var content = document.getElementById(tab.dataset.mega_menu_tab); 3283 if (content) content.classList.add("active"); 3284 } 3285 3286 document.querySelectorAll(".mega_menu_tab").forEach(tab => { 3287 var timer; 3288 tab.addEventListener("mouseenter", function(){ 3289 timer = setTimeout(() => activateTab(tab), 100); 3290 }); 3291 tab.addEventListener("mouseleave", function(){ 3292 clearTimeout(timer); 3293 }); 3294 3295 // On touch devices: first tap reveals the submenu, second tap follows the link. 3296 tab.addEventListener("click", function(e){ 3297 if (isTouch && !tab.classList.contains("active")) { 3298 e.preventDefault(); 3299 activateTab(tab); 3300 } 3301 }); 3302 }); 3303})(); 3304</script>
3304 3305 3306 3307</div> 3308 3309 <!-- CONTENT --> 3310 <main role="main" id="MainContent" class="main-content" aria-label="Main content"> 3311 3312 <div id="shopify-section-template--20132047257666__main" class="shopify-section"><style data-shopify>.section-template--20132047257666__main-padding { 3313 padding-top: 27px; 3314 padding-bottom: 27px; 3315 } 3316 3317 #shopify-section-template--20132047257666__main .collection__nav { 3318 margin-bottom: 24px; 3319 } 3320 #shopify-section-template--20132047257666__main .search__caption { 3321 margin-bottom: 32px; 3322 } 3323 #shopify-section-template--20132047257666__main .collection__products { 3324 margin-top: 24px; 3325 } 3326 3327 #shopify-section-template--20132047257666__main .search-form { 3328 display: flex; 3329 align-items: stretch; 3330 max-width: 520px; 3331 margin: 0 auto; 3332 } 3333 #shopify-section-template--20132047257666__main .search-form .search-box { 3334 flex: 1; 3335 border: 2px solid #7B4542; 3336 border-right: 0; 3337 border-top-left-radius: 100px; 3338 border-bottom-left-radius: 100px; 3339 border-top-right-radius: 0; 3340 border-bottom-right-radius: 0; 3341 padding: 10px 20px; 3342 background: transparent; 3343 color: #7B4542; 3344 outline: none; 3345 box-shadow: none; 3346 } 3347 #shopify-section-template--20132047257666__main .search-form .search-box::placeholder { 3348 color: #7B4542; 3349 opacity: 0.7; 3350 } 3351 #shopify-section-template--20132047257666__main .search-form .search-submit { 3352 position: static; 3353 border-top-left-radius: 0 !important; 3354 border-bottom-left-radius: 0 !important; 3355 border-top-right-radius: 100px !important; 3356 border-bottom-right-radius: 100px !important; 3357 padding: 0 28px; 3358 } 3359 3360 @media screen and (min-width: 750px) { 3361 .section-template--20132047257666__main-padding { 3362 padding-top: 36px; 3363 padding-bottom: 36px; 3364 } 3365 #shopify-section-template--20132047257666__main .collection__nav { 3366 margin-bottom: 32px; 3367 } 3368 #shopify-section-template--20132047257666__main .search__caption { 3369 margin-bottom: 40px; 3370 } 3371 #shopify-section-template--20132047257666__main .collection__products { 3372 margin-top: 32px; 3373 } 3374 }</style><section class="page search-page collection section-template--20132047257666__main-padding" 3375 data-section-type="collection" 3376 data-section-id="template--20132047257666__main" 3377 data-sort="false"> 3378 3379 <div class="search-outer"> 3380 <form action="/search" class="search-form"> 3381 <input type="hidden" name="type" value="product"/> 3382 <input name="options[prefix]" type="hidden" value="last"> 3383 <input 3384 type="text" 3385 name="q" 3386 class="search-box" 3387 aria-label="Search our store" 3388 placeholder="Search for products on our site" 3389 value=""/> 3390 <button type="submit" class="btn btn--primary search-submit">Search</button> 3391 </form> 3392 </div></section> 3393 3394</div><div id="shopify-section-template--20132047257666__smoothiesearchsnippet" class="shopify-section"><div id="smoothie-search-redirects-app-data" style="display: none !important;" count="0" shop="newboppy.myshopify.com" query=""></div></div> 3395 3396 </main> 3397 </div> 3398 3399 <div id="shopify-section-footer" class="shopify-section"><!-- /sections/footer.liquid --> 3400 3401 3402 3403 3404<footer class="site-footer-wrapper " role="contentinfo" aria-label="Site footer" data-section-id="footer" data-section-type="footer"> 3405<style> 3406.site-footer a{ 3407 color: #fffaf4 !important; 3408} 3409.footer__secondary-container a{ 3410 color: #fffaf4 !important; 3411} 3412.site-footer a, .footer__newsletter__text p{ 3413 font-size: 16px; 3414 letter-spacing:0; 3415} 3416 3417 3418 3419.footer__secondary-container a{ 3420 font-size: 14px; 3421 font-style: normal; 3422 font-weight: 400; 3423 line-height: 150%; 3424 text-decoration-style: solid; 3425 text-decoration-skip-ink: none; 3426 text-decoration-thickness: auto; 3427 text-underline-offset: auto; 3428 text-underline-position: from-font; 3429} 3430.footer__secondary-container a:hover { 3431 text-decoration-line: underline; 3432} 3433 3434.footer_border svg { 3435 width: 100%; 3436 position: absolute; 3437 top: -30px; 3438} 3439 3440@media (min-width: 1400px) { 3441 .footer_border svg { 3442 height: auto; 3443 top: -30px; 3444 } 3445} 3446.site-footer .footer__block-container { 3447 padding: 0 65px; 3448 width: 100%; 3449 margin: 0 auto; 3450} 3451.footer__quicklinks li { 3452 margin: 0 0 12px; 3453 cursor: pointer; 3454 width: unset; 3455} 3456.site-footer li a { 3457 font-family: Poppins; 3458 font-size: 16px; 3459 font-style: normal; 3460 font-weight: 400; 3461 line-height: 150%; 3462} 3463@media screen and (min-width: 750px) { 3464 .site-footer li a { 3465 font-size: 14px; 3466 } 3467 .footer__newsletter__text p { 3468 font-size: 14px !important; 3469 } 3470} 3471h2.h5.footer__block__title { 3472 color: #FFFAF4; 3473 font-family: Poppins; 3474 font-size: 22px; 3475 font-style: normal; 3476 font-weight: 600; 3477 line-height: 150%; 3478} 3479.footer__social li svg { 3480 height: 24px; 3481 width: 24px; 3482} 3483ul.footer__social { 3484 flex-direction: column; 3485 gap: 2rem; 3486} 3487ul.footer__social { 3488 flex-direction: column; 3489 justify-content: space-around; 3490} 3491 3492/* Footer top bar: desktop only */ 3493.footer__top-bar { 3494 display: none; 3495} 3496@media screen and (min-width: 750px) { 3497 .footer__top-bar { 3498 display: flex; 3499 justify-content: space-between; 3500 align-items: center; 3501 padding: 24px 65px; 3502 width: 100%; 3503 box-sizing: border-box; 3504 } 3505 .footer__social--topbar { 3506 flex-direction: row !important; 3507 gap: 24px !important; 3508 } 3509 .footer__social--topbar li { 3510 margin: 0 !important; 3511 } 3512 .footer__block--social, 3513 .footer__block--image-logo { 3514 display: none !important; 3515 } 3516 .footer__block-container .footer__newsletter { 3517 flex: 0 0 320px !important; 3518 width: 320px !important; 3519 max-width: 320px !important; 3520 } 3521 .footer__block-container .footer__block.linklist { 3522 flex: 1 !important; 3523 width: auto !important; 3524 min-width: 0; 3525 } 3526} 3527.site-footer .grid__item { 3528 padding-left: 40px; 3529} 3530.footer__block-container .grid__item { 3531 padding-left: 0 !important; 3532} 3533.footer__block-container { 3534 gap: 40px; 3535} 3536.footer__block-container .footer__block { 3537 margin-top: 0 !important; 3538} 3539.footer__block.grid__item.large-up--one-sixth:last-child, 3540.footer__block.grid__item.large-up--one-sixth:first-child { 3541 width: 10%; 3542} 3543.site-footer .input-group.newsletter-form { 3544 display: flex; 3545 flex-direction: row; 3546 justify-content: space-between; 3547 align-items: center; 3548 width: 100%; 3549 height: auto; 3550 background: transparent; 3551 border: 0; 3552 gap: 16px; 3553} 3554.footer__block div#mailing-list { 3555 margin-top: 10px; 3556 margin-bottom: 6px; 3557} 3558.site-footer .input-group.newsletter-form input { 3559 width: 70%; 3560 border-radius: 200px; 3561 border: 1px solid var(--Vanilla, #FFFAF4); 3562 background: transparent; 3563} 3564.site-footer .input-group.newsletter-form span.input-group-btn { 3565 width: 30%; 3566} 3567.site-footer .input-group.newsletter-form .input-group-btn button.btn { 3568 border-radius: 200px !important; 3569 background: var(--Sky, #A0AEE8); 3570 padding: 14px 18px; 3571} 3572.footer__newsletter span { 3573 font-family: Poppins; 3574 font-size: 12px; 3575 font-style: normal; 3576 font-weight: 400; 3577 line-height: 150%; 3578} 3579.footer__newsletter { 3580 max-width: 450px; 3581} 3582 3583</style><div class="site-footer" style="background:#835aa2; color:#fffaf4;"> 3584 3585 <div class="footer_border"> 3586 <svg aria-hidden="true" focusable="false" xmlns="http://www.w3.org/2000/svg" width="1440" height="32" viewBox="0 0 1440 32" fill="none" class="footer_desktop_border"> 3587 <path d="M-147.313 -0.000208751C-106.044 -0.000205144 -106.044 20.7954 -64.7644 20.7954C-23.4851 20.7954 -23.4956 -0.000197927 17.7837 -0.000194318C59.063 -0.00019071 59.0526 20.7954 100.321 20.7954C141.59 20.7954 141.59 -0.000183495 182.859 -0.000179887C224.128 -0.000176279 224.128 20.7954 265.397 20.7954C306.666 20.7954 306.666 -0.000169063 347.935 -0.000165456C389.203 -0.000161848 389.203 20.7954 430.472 20.7954C471.741 20.7954 471.741 -0.000154632 513.01 -0.000151024C554.279 -0.000147416 554.279 20.7954 595.548 20.7954C636.816 20.7954 636.816 -0.000140201 678.085 -0.
3587000136593C719.354 -0.000132985 719.354 20.7954 760.623 20.7954C801.892 20.7954 801.892 -0.000125769 843.161 -0.000122162C884.43 -0.000118554 884.43 20.7955 925.698 20.7955C966.967 20.7955 966.967 -0.000111338 1008.24 -0.00010773C1049.51 -0.000104122 1049.5 20.7955 1090.77 20.7955C1132.04 20.7955 1132.04 -9.69067e-05 1173.31 -9.32988e-05C1214.58 -8.9691e-05 1214.58 20.7955 1255.85 20.7955C1297.12 20.7955 1297.12 -8.24753e-05 1338.39 -7.88675e-05C1379.66 -7.52596e-05 1379.66 20.7955 1420.92 20.7955C1462.19 20.7955 1462.19 -6.8044e-05 1503.46 -6.44361e-05C1544.73 -6.08283e-05 1544.73 20.7955 1586 20.7955L1586 61.9874L-147.313 61.9873L-147.313 -0.000208751Z" fill="#835AA2"/> 3588 </svg> 3589 <svg aria-hidden="true" focusable="false" xmlns="http://www.w3.org/2000/svg" width="800" height="32" viewBox="0 0 800 32" fill="none" class="footer_mobile_border"> 3590 <path d="M-147.313 -0.000208751C-106.044 -0.000205144 -106.044 20.7954 -64.7644 20.7954C-23.4851 20.7954 -23.4956 -0.000197927 17.7837 -0.000194318C59.063 -0.00019071 59.0526 20.7954 100.321 20.7954C141.59 20.7954 141.59 -0.000183495 182.859 -0.000179887C224.128 -0.000176279 224.128 20.7954 265.397 20.7954C306.666 20.7954 306.666 -0.000169063 347.935 -0.000165456C389.203 -0.000161848 389.203 20.7954 430.472 20.7954C471.741 20.7954 471.741 -0.000154632 513.01 -0.000151024C554.279 -0.000147416 554.279 20.7954 595.548 20.7954C636.816 20.7954 636.816 -0.000140201 678.085 -0.000136593C719.354 -0.000132985 719.354 20.7954 760.623 20.7954C801.892 20.7954 801.892 -0.000125769 843.161 -0.000122162C884.43 -0.000118554 884.43 20.7955 925.698 20.7955C966.967 20.7955 966.967 -0.000111338 1008.24 -0.00010773C1049.51 -0.000104122 1049.5 20.7955 1090.77 20.7955C1132.04 20.7955 1132.04 -9.69067e-05 1173.31 -9.32988e-05C1214.58 -8.9691e-05 1214.58 20.7955 1255.85 20.7955C1297.12 20.7955 1297.12 -8.24753e-05 1338.39 -7.88675e-05C1379.66 -7.52596e-05 1379.66 20.7955 1420.92 20.7955C1462.19 20.7955 1462.19 -6.8044e-05 1503.46 -6.44361e-05C1544.73 -6.08283e-05 1544.73 20.7955 1586 20.7955L1586 61.9874L-147.313 61.9873L-147.313 -0.000208751Z" fill="#835AA2"/> 3591 </svg> 3592 </div> 3593 <!-- Top bar: logo + social icons (desktop only) --> 3594 <div class="footer__top-bar"> 3595 <a href="/" class="footer__logo" aria-label="Boppy"> 3596 <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 144 144" width="34" height="34" aria-hidden="true" style="position: static; top: auto; width: 34px; height: 34px;"><path d="M72 7.19c41.82 0 60.57 28.53 65.76 41.34 3.89 9.56 11.88 29.2-3.34 58.86-14.19 27.66-34.56 29.76-46.68 24.65-11.59-4.88-10.9-12.51-10.9-15.44 0-6.9 4.77-8.28 10.04-13.48 4.66-4.6 9.9-12.02 9.9-21.31 0-12.55-10.84-21.99-24.79-21.99S47.2 69.26 47.2 81.81c0 9.28 5.24 16.71 9.9 21.31 5.27 5.2 10.04 6.58 10.04 13.48 0 2.94.69 10.56-10.9 15.44-12.12 5.11-32.49 3.01-46.68-24.65-15.2-29.66-7.21-49.31-3.32-58.87C11.43 35.71 30.18 7.19 72 7.19z" fill="#A0AEE8"/></svg> 3597 </a><ul class="footer__social footer__social--topbar unstyled inline-list"> 3598 <!-- /snippets/social-icon.liquid --> 3599 3600 3601<li> 3602 <a href="https://www.instagram.com/boppycompany/" title="Boppy on Instagram" target="_blank"> 3603 <svg aria-hidden="true" focusable="false" xmlns="http://www.w3.org/2000/svg" class="icon icon-instagram" width="24" height="24" viewBox="0 0 24 24" fill="none"> 3604<path fill-rule="evenodd" clip-rule="evenodd" d="M16 3.24219H8C5.23858 3.24219 3 5.48077 3 8.24219V16.2422C3 19.0036 5.23858 21.2422 8 21.2422H16C18.7614 21.2422 21 19.0036 21 16.2422V8.24219C21 5.48077 18.7614 3.24219 16 3.24219ZM19.25 16.2422C19.2445 18.0348 17.7926 19.4867 16 19.4922H8C6.20735 19.4867 4.75549 18.0348 4.75 16.2422V8.24219C4.75549 6.44954 6.20735 4.99768 8 4.99219H16C17.7926 4.99768 19.2445 6.44954 19.25 8.24219V16.2422ZM16.75 8.49219C17.3023 8.49219 17.75 8.04447 17.75 7.49219C17.75 6.93991 17.3023 6.49219 16.75 6.49219C16.1977 6.49219 15.75 6.93991 15.75 7.49219C15.75 8.04447 16.1977 8.49219 16.75 8.49219ZM12 7.74219C9.51472 7.74219 7.5 9.75691 7.5 12.2422C7.5 14.7275 9.51472 16.7422 12 16.7422C14.4853 16.7422 16.5 14.7275 16.5 12.2422C16.5027 11.0479 16.0294 9.90176 15.1849 9.05727C14.3404 8.21278 13.1943 7.73953 12 7.74219ZM9.25 12.2422C9.25 13.761 10.4812 14.9922 12 14.9922C13.5188 14.9922 14.75 13.761 14.75 12.2422C14.75 10.7234 13.5188 9.49219 12 9.49219C10.4812 9.49219 9.25 10.7234 9.25 12.2422Z" fill="#FFFAF4"/> 3605</svg><span class="icon-fallback-text">Instagram</span> 3606 </a> 3607 </li><!-- /snippets/social-icon.liquid --> 3608 3609 3610<li> 3611 <a href="https://www.facebook.com/BoppyCompany/" title="Boppy on Facebook" target="_blank"> 3612<svg aria-hidden="true" focusable="false" xmlns="http://www.w3.org/2000/svg" class="icon icon-facebook" width="24" height="24" viewBox="0 0 24 24" fill="none"> 3613<path d="M22 12.3033C22 6.7467 17.5229 2.24219 12 2.24219C6.47715 2.24219 2 6.7467 2 12.3033C2 17.325 5.
361365684 21.4874 10.4375 22.2422V15.2116H7.89844V12.3033H10.4375V10.0867C10.4375 7.56515 11.9305 6.17231 14.2146 6.17231C15.3088 6.17231 16.4531 6.36882 16.4531 6.36882V8.8448H15.1922C13.95 8.8448 13.5625 9.62041 13.5625 10.4161V12.3033H16.3359L15.8926 15.2116H13.5625V22.2422C18.3432 21.4874 22 17.3252 22 12.3033Z" fill="#FFFAF4"/> 3614</svg><span class="icon-fallback-text">Facebook</span> 3615 </a> 3616 </li><!-- /snippets/social-icon.liquid --> 3617 3618 3619<li> 3620 <a href="https://twitter.com/boppycompany" title="Boppy on Twitter" target="_blank"> 3621<svg aria-hidden="true" focusable="false" xmlns="http://www.w3.org/2000/svg" class="icon icon-twitter" width="24" height="24" viewBox="0 0 24 24" fill="none"> 3622<path d="M17.1761 4.24219H19.9362L13.9061 11.0196L21 20.2422H15.4456L11.0951 14.6488L6.11723 20.2422H3.35544L9.80517 12.993L3 4.24219H8.69545L12.6279 9.35481L17.1761 4.24219ZM16.2073 18.6176H17.7368L7.86441 5.78147H6.2232L16.2073 18.6176Z" fill="#FFFAF4"/> 3623</svg><span class="icon-fallback-text">Twitter</span> 3624 </a> 3625 </li><!-- /snippets/social-icon.liquid --> 3626 3627 3628<li> 3629 <a href="https://www.tiktok.com/@boppycompany" title="Boppy on TikTok" target="_blank"><svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-tiktok" viewBox="0 0 19 19"><path d="M12.917 1c.289 2.412 1.674 3.85 4.083 4.004v2.713c-1.396.133-2.619-.311-4.04-1.148v5.075c0 6.447-7.232 8.461-10.14 3.84-1.867-2.973-.723-8.19 5.27-8.4v2.862a8.879 8.879 0 00-1.391.331c-1.333.439-2.089 1.26-1.879 2.708.404 2.775 5.641 3.596 5.206-1.825V1.005h2.891V1z" fill-rule="evenodd"/></svg><span class="icon-fallback-text">TikTok</span> 3630 </a> 3631 </li><!-- /snippets/social-icon.liquid --> 3632 3633 3634<!-- /snippets/social-icon.liquid --> 3635 3636 3637<!-- /snippets/social-icon.liquid --> 3638 3639 3640<li> 3641 <a href="https://www.youtube.com/user/theboppycompany" title="Boppy on YouTube" target="_blank"> 3642<svg aria-hidden="true" focusable="false" xmlns="http://www.w3.org/2000/svg" class="icon icon-youtube" width="24" height="24" viewBox="0 0 24 24" fill="none"> 3643<path d="M21.5933 7.20301C21.4794 6.78041 21.2568 6.39501 20.9477 6.08518C20.6386 5.77534 20.2537 5.55187 19.8313 5.43701C18.2653 5.00701 12.0003 5.00001 12.0003 5.00001C12.0003 5.00001 5.73633 4.99301 4.16933 5.40401C3.74725 5.52415 3.36315 5.75078 3.0539 6.06214C2.74464 6.3735 2.52062 6.75913 2.40333 7.18201C1.99033 8.74801 1.98633 11.996 1.98633 11.996C1.98633 11.996 1.98233 15.26 2.39233 16.81C2.62233 17.667 3.29733 18.344 4.15533 18.575C5.73733 19.005 11.9853 19.012 11.9853 19.012C11.9853 19.012 18.2503 19.019 19.8163 18.609C20.2388 18.4943 20.6241 18.2714 20.934 17.9622C21.2439 17.653 21.4677 17.2682 21.5833 16.846C21.9973 15.281 22.0003 12.034 22.0003 12.034C22.0003 12.034 22.0203 8.76901 21.5933 7.20301ZM9.99633 15.005L10.0013 9.00501L15.2083 12.01L9.99633 15.005Z" fill="#FFFAF4"/> 3644</svg> <span class="icon-fallback-text">YouTube</span> 3645 </a> 3646 </li><!-- /snippets/social-icon.liquid --> 3647 3648 3649<!-- /snippets/social-icon.liquid --> 3650 3651 3652<li> 3653 <a href="https://www.linkedin.com/company/the-boppy-company/" title="Boppy on Linkedin" target="_blank"> 3654<svg xmlns="http://www.w3.org/2000/svg" class="icon icon-linkedin" width="24" height="24" viewBox="0 0 24 24" fill="none"> 3655<path fill-rule="evenodd" clip-rule="evenodd" d="M4.5 3.24219C3.67157 3.24219 3 3.91376 3 4.74219V19.7422C3 20.5706 3.67157 21.2422 4.5 21.2422H19.5C20.3284 21.2422 21 20.5706 21 19.7422V4.74219C21 3.91376 20.3284 3.24219 19.5 3.24219H4.5ZM8.52076 7.24491C8.52639 8.20116 7.81061 8.79038 6.96123 8.78616C6.16107 8.78194 5.46357 8.14491 5.46779 7.24632C5.47201 6.40116 6.13998 5.72194 7.00764 5.74163C7.88795 5.76132 8.52639 6.40679 8.52076 7.24491ZM12.2797 10.0039H9.75971H9.7583V18.5638H12.4217V18.3641C12.4217 17.9842 12.4214 17.6042 12.4211 17.2241C12.4203 16.2103 12.4194 15.1954 12.4246 14.1819C12.426 13.9358 12.4372 13.6799 12.5005 13.445C12.7381 12.5675 13.5271 12.0008 14.4074 12.1401C14.9727 12.2286 15.3467 12.5563 15.5042 13.0893C15.6013 13.4225 15.6449 13.7811 15.6491 14.1285C15.6605 15.1761 15.6589 16.2237 15.6573 17.2714C15.6567 17.6412 15.6561 18.0112 15.6561 18.381V18.5624H18.328V18.3571C18.328 17.9051 18.3278 17.4532 18.3275 17.0013C18.327 15.8718 18.3264 14.7423 18.3294 13.6124C18.3308 13.1019 18.276 12.5985 18.1508 12.1049C17.9638 11.3708 17.5771 10.7633 16.9485 10.3246C16.5027 10.0124 16.0133 9.81129 15.4663 9.78879C15.404 9.7862 15.3412 9.78281 15.2781 9.7794C14.9984 9.76428 14.7141 9.74892 14.4467 9.80285C13.6817 9.95613 13.0096 10.3063 12.5019 10.9236C12.4429 10.9944 12.3852 11.0663 12.2991 11.1736L12.2797 11.1979V10.0039ZM5.68164 18.5666H8.33242V10.0095H5.68164V18.5666Z" fill="#FFFAF4"/> 3656</svg><span class="icon-fallback-text">Linkedin</span> 3657 </a> 3658 </li><!-- /snippets/social-icon.liquid --> 3659 3660 3661<!-- /snippets/social-icon.liquid --> 3662 3663 3664 3665 </ul> 3666 </div> 3667 3668 <div class="grid grid--uniform footer__block-container"> 3669 3670 3671 3672 3673 3674 <div class="footer__block footer__block--image-logo grid__item large-up--one-sixth" > 3675 3676 <img 3677 src="//www.boppy.com/cdn/shop/files/Footer_logo_400x.svg?v=1772797408" 3678 alt="" 3679 style="max-width:100%;margin-top:5px;"> 3680 3681 </div> 3682 3683 3684 3685 3686 <div class="footer__block grid__item large-up--one-sixth linklist " > 3687 3688 <h2 class="h5 footer__block__title">Shop</h2> 3689 3690 <ul class="footer__quicklinks unstyled"> 3691 3692<li class="footer__parent "> 3693 3694 <a href="/collections/nursing-pillows" class="footer__parent-link"> 3695 Feeding
3696 <span><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 22.8 13" style="enable-background:new 0 0 22.8 13" xml:space="preserve"><path d="m15.8.2-.4.4c-.2.2-.2.6 0 .9l4.3 4.2H.6c-.3-.1-.6.2-.6.5v.5c0 .3.3.6.6.6h19.1l-4.3 4.2c-.2.2-.2.6 0 .9l.4.4c.2.2.6.2.9 0l5.9-5.9c.2-.2.2-.6 0-.9L16.7.1c-.3-.2-.7-.2-.9.1z" style="fill:#414042"/></svg></span> 3697 </a> 3698 3699 3700 3701 </li> 3702 3703<li class="footer__parent "> 3704 3705 <a href="/collections/travel-accessories" class="footer__parent-link"> 3706 On-The-Go 3707 <span><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 22.8 13" style="enable-background:new 0 0 22.8 13" xml:space="preserve"><path d="m15.8.2-.4.4c-.2.2-.2.6 0 .9l4.3 4.2H.6c-.3-.1-.6.2-.6.5v.5c0 .3.3.6.6.6h19.1l-4.3 4.2c-.2.2-.2.6 0 .9l.4.4c.2.2.6.2.9 0l5.9-5.9c.2-.2.2-.6 0-.9L16.7.1c-.3-.2-.7-.2-.9.1z" style="fill:#414042"/></svg></span> 3708 </a> 3709 3710 3711 3712 </li> 3713 3714<li class="footer__parent "> 3715 3716 <a href="/collections/playtime" class="footer__parent-link"> 3717 Milestones 3718 <span><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 22.8 13" style="enable-background:new 0 0 22.8 13" xml:space="preserve"><path d="m15.8.2-.4.4c-.2.2-.2.6 0 .9l4.3 4.2H.6c-.3-.1-.6.2-.6.5v.5c0 .3.3.6.6.6h19.1l-4.3 4.2c-.2.2-.2.6 0 .9l.4.4c.2.2.6.2.9 0l5.9-5.9c.2-.2.2-.6 0-.9L16.7.1c-.3-.2-.7-.2-.9.1z" style="fill:#414042"/></svg></span> 3719 </a> 3720 3721 3722 3723 </li> 3724 3725<li class="footer__parent "> 3726 3727 <a href="/collections/pregnancy-pillows" class="footer__parent-link"> 3728 Maternity 3729 <span><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 22.8 13" style="enable-background:new 0 0 22.8 13" xml:space="preserve"><path d="m15.8.2-.4.4c-.2.2-.2.6 0 .9l4.3 4.2H.6c-.3-.1-.6.2-.6.5v.5c0 .3.3.6.6.6h19.1l-4.3 4.2c-.2.2-.2.6 0 .9l.4.4c.2.2.6.2.9 0l5.9-5.9c.2-.2.2-.6 0-.9L16.7.1c-.3-.2-.7-.2-.9.1z" style="fill:#414042"/></svg></span> 3730 </a> 3731 3732 3733 3734 </li> 3735 3736<li class="footer__parent "> 3737 3738 <a href="/collections/all" class="footer__parent-link"> 3739 Shop All Products 3740 <span><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 22.8 13" style="enable-background:new 0 0 22.8 13" xml:space="preserve"><path d="m15.8.2-.4.4c-.2.2-.2.6 0 .9l4.3 4.2H.6c-.3-.1-.6.2-.6.5v.5c0 .3.3.6.6.6h19.1l-4.3 4.2c-.2.2-.2.6 0 .9l.4.4c.2.2.6.2.9 0l5.9-5.9c.2-.2.2-.6 0-.9L16.7.1c-.3-.2-.7-.2-.9.1z" style="fill:#414042"/></svg></span> 3741 </a> 3742 3743 3744 3745 </li> 3746 3747 </ul> 3748 </div> 3749 3750 3751 3752 3753 3754 <div class="footer__block grid__item large-up--one-sixth linklist " > 3755 3756 <h2 class="h5 footer__block__title">Resources</h2> 3757 3758 <ul class="footer__quicklinks unstyled"> 3759 3760<li class="footer__parent "> 3761 3762 <a href="/pages/where-to-buy" class="footer__parent-link"> 3763 Where to Buy 3764 <span><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 22.8 13" style="enable-background:new 0 0 22.8 13" xml:space="preserve"><path d="m15.8.2-.4.4c-.2.2-.2.6 0 .9l4.3 4.2H.6c-.3-.1-.6.2-.6.5v.5c0 .3.3.6.6.6h19.1l-4.3 4.2c-.2.2-.2.6 0 .9l.4.4c.2.2.6.2.9 0l5.9-5.9c.2-.2.2-.6 0-.9L16.7.1c-.3-.2-.7-.2-.9.1z" style="fill:#414042"/></svg></span> 3765 </a> 3766 3767 3768 3769 </li> 3770 3771<li class="footer__parent "> 3772 3773 <a href="/blogs/boppy" class="footer__parent-link"> 3774 Blog 3775 <span><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 22.8 13" style="enable-background:new 0 0 22.8 13" xml:space="preserve"><path d="m15.8.2-.4.4c-.2.2-.2.6 0 .9l4.3 4.2H.6c-.3-.1-.6.2-.6.5v.5c0 .3.3.6.6.6h19.1l-4.3 4.2c-.2.2-.2.6 0 .9l.4.4c.2.2.6.2.9 0l5.9-5.9c.2-.2.2-.6 0-.9L16.7.1c-.3-.2-.7-.2-.9.1z" style="fill:#414042"/></svg></span> 3776 </a> 3777 3778 3779 3780 </li> 3781 3782<li class="footer__parent "> 3783 3784 <a href="/pages/frequently-asked-questions" class="footer__parent-link"> 3785 FAQs
3786 <span><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 22.8 13" style="enable-background:new 0 0 22.8 13" xml:space="preserve"><path d="m15.8.2-.4.4c-.2.2-.2.6 0 .9l4.3 4.2H.6c-.3-.1-.6.2-.6.5v.5c0 .3.3.6.6.6h19.1l-4.3 4.2c-.2.2-.2.6 0 .9l.4.4c.2.2.6.2.9 0l5.9-5.9c.2-.2.2-.6 0-.9L16.7.1c-.3-.2-.7-.2-.9.1z" style="fill:#414042"/></svg></span> 3787 </a> 3788 3789 3790 3791 </li> 3792 3793<li class="footer__parent "> 3794 3795 <a href="/pages/product-care" class="footer__parent-link"> 3796 Product Care 3797 <span><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 22.8 13" style="enable-background:new 0 0 22.8 13" xml:space="preserve"><path d="m15.8.2-.4.4c-.2.2-.2.6 0 .9l4.3 4.2H.6c-.3-.1-.6.2-.6.5v.5c0 .3.3.6.6.6h19.1l-4.3 4.2c-.2.2-.2.6 0 .9l.4.4c.2.2.6.2.9 0l5.9-5.9c.2-.2.2-.6 0-.9L16.7.1c-.3-.2-.7-.2-.9.1z" style="fill:#414042"/></svg></span> 3798 </a> 3799 3800 3801 3802 </li> 3803 3804<li class="footer__parent "> 3805 3806 <a href="/pages/connect-with-us" class="footer__parent-link"> 3807 Contact 3808 <span><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 22.8 13" style="enable-background:new 0 0 22.8 13" xml:space="preserve"><path d="m15.8.2-.4.4c-.2.2-.2.6 0 .9l4.3 4.2H.6c-.3-.1-.6.2-.6.5v.5c0 .3.3.6.6.6h19.1l-4.3 4.2c-.2.2-.2.6 0 .9l.4.4c.2.2.6.2.9 0l5.9-5.9c.2-.2.2-.6 0-.9L16.7.1c-.3-.2-.7-.2-.9.1z" style="fill:#414042"/></svg></span> 3809 </a> 3810 3811 3812 3813 </li> 3814 3815<li class="footer__parent "> 3816 3817 <a href="https://babysafetyalert.com/boppy/index.php/" class="footer__parent-link" target="_blank" rel="noopener"> 3818 Product Registration 3819 <span><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 22.8 13" style="enable-background:new 0 0 22.8 13" xml:space="preserve"><path d="m15.8.2-.4.4c-.2.2-.2.6 0 .9l4.3 4.2H.6c-.3-.1-.6.2-.6.5v.5c0 .3.3.6.6.6h19.1l-4.3 4.2c-.2.2-.2.6 0 .9l.4.4c.2.2.6.2.9 0l5.9-5.9c.2-.2.2-.6 0-.9L16.7.1c-.3-.2-.7-.2-.9.1z" style="fill:#414042"/></svg></span> 3820 </a> 3821 3822 3823 3824 </li> 3825 3826<li class="footer__parent "> 3827 3828 <a href="https://boppyretailerlink.com/account/login" class="footer__parent-link" target="_blank" rel="noopener"> 3829 Retailer Login 3830 <span><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 22.8 13" style="enable-background:new 0 0 22.8 13" xml:space="preserve"><path d="m15.8.2-.4.4c-.2.2-.2.6 0 .9l4.3 4.2H.6c-.3-.1-.6.2-.6.5v.5c0 .3.3.6.6.6h19.1l-4.3 4.2c-.2.2-.2.6 0 .9l.4.4c.2.2.6.2.9 0l5.9-5.9c.2-.2.2-.6 0-.9L16.7.1c-.3-.2-.7-.2-.9.1z" style="fill:#414042"/></svg></span> 3831 </a> 3832 3833 3834 3835 </li> 3836 3837 </ul> 3838 </div> 3839 3840 3841 3842 3843 3844 <div class="footer__block grid__item large-up--one-sixth linklist " > 3845 3846 <h2 class="h5 footer__block__title">Learn</h2> 3847 3848 <ul class="footer__quicklinks unstyled"> 3849 3850<li class="footer__parent "> 3851 3852 <a href="/pages/our-story" class="footer__parent-link"> 3853 Our Story 3854 <span><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 22.8 13" style="enable-background:new 0 0 22.8 13" xml:space="preserve"><path d="m15.8.2-.4.4c-.2.2-.2.6 0 .9l4.3 4.2H.6c-.3-.1-.6.2-.6.5v.5c0 .3.3.6.6.6h19.1l-4.3 4.2c-.2.2-.2.6 0 .9l.4.4c.2.2.6.2.9 0l5.9-5.9c.2-.2.2-.6 0-.9L16.7.1c-.3-.2-.7-.2-.9.1z" style="fill:#414042"/></svg></span> 3855 </a> 3856 3857 3858 3859 </li> 3860 3861<li class="footer__parent "> 3862 3863 <a href="/pages/design-process" class="footer__parent-link"> 3864 Our Process 3865 <span><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 22.8 13" style="enable-background:new 0 0 22.8 13" xml:space="preserve"><path d="m15.8.2-.4.4c-.2.2-.2.6 0 .9l4.3 4.2H.6c-.3-.1-.6.2-.6.5v.5c0 .3.3.6.6.6h19.1l-4.3 4.2c-.2.2-.2.6 0 .9l.4.4c.2.2.6.2.9 0l5.9-5.9c.2-.2.2-.6 0-.9L16.7.1c-.3-.2-.7-.2-.9.1z" style="fill:#414042"/></svg></span> 3866 </a> 3867 3868 3869 3870 </li> 3871 3872<li class="footer__parent "> 3873 3874 <a href="/pages/healthcare-products-landing-page" class="footer__parent-link"> 3875 Healthcare
3876 <span><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 22.8 13" style="enable-background:new 0 0 22.8 13" xml:space="preserve"><path d="m15.8.2-.4.4c-.2.2-.2.6 0 .9l4.3 4.2H.6c-.3-.1-.6.2-.6.5v.5c0 .3.3.6.6.6h19.1l-4.3 4.2c-.2.2-.2.6 0 .9l.4.4c.2.2.6.2.9 0l5.9-5.9c.2-.2.2-.6 0-.9L16.7.1c-.3-.2-.7-.2-.9.1z" style="fill:#414042"/></svg></span> 3877 </a> 3878 3879 3880 3881 </li> 3882 3883<li class="footer__parent "> 3884 3885 <a href="https://www.boppy.com/pages/the-momkind-project?view=momkind-project" class="footer__parent-link"> 3886 Momkind Project 3887 <span><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 22.8 13" style="enable-background:new 0 0 22.8 13" xml:space="preserve"><path d="m15.8.2-.4.4c-.2.2-.2.6 0 .9l4.3 4.2H.6c-.3-.1-.6.2-.6.5v.5c0 .3.3.6.6.6h19.1l-4.3 4.2c-.2.2-.2.6 0 .9l.4.4c.2.2.6.2.9 0l5.9-5.9c.2-.2.2-.6 0-.9L16.7.1c-.3-.2-.7-.2-.9.1z" style="fill:#414042"/></svg></span> 3888 </a> 3889 3890 3891 3892 </li> 3893 3894<li class="footer__parent "> 3895 3896 <a href="/pages/affiliate-program" class="footer__parent-link"> 3897 Affiliates Program 3898 <span><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 22.8 13" style="enable-background:new 0 0 22.8 13" xml:space="preserve"><path d="m15.8.2-.4.4c-.2.2-.2.6 0 .9l4.3 4.2H.6c-.3-.1-.6.2-.6.5v.5c0 .3.3.6.6.6h19.1l-4.3 4.2c-.2.2-.2.6 0 .9l.4.4c.2.2.6.2.9 0l5.9-5.9c.2-.2.2-.6 0-.9L16.7.1c-.3-.2-.7-.2-.9.1z" style="fill:#414042"/></svg></span> 3899 </a> 3900 3901 3902 3903 </li> 3904 3905 </ul> 3906 </div> 3907 3908 3909 3910 3911 3912 <div class="footer__block grid__item large-up--one-sixth linklist d-d-none" > 3913 3914 <h2 class="h5 footer__block__title">Legal</h2> 3915 3916 <ul class="footer__quicklinks unstyled"> 3917 3918<li class="footer__parent "> 3919 3920 <a href="/pages/privacy-policy" class="footer__parent-link"> 3921 Privacy Policy 3922 <span><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 22.8 13" style="enable-background:new 0 0 22.8 13" xml:space="preserve"><path d="m15.8.2-.4.4c-.2.2-.2.6 0 .9l4.3 4.2H.6c-.3-.1-.6.2-.6.5v.5c0 .3.3.6.6.6h19.1l-4.3 4.2c-.2.2-.2.6 0 .9l.4.4c.2.2.6.2.9 0l5.9-5.9c.2-.2.2-.6 0-.9L16.7.1c-.3-.2-.7-.2-.9.1z" style="fill:#414042"/></svg></span> 3923 </a> 3924 3925 3926 3927 </li> 3928 3929<li class="footer__parent "> 3930 3931 <a href="/pages/terms-of-service" class="footer__parent-link"> 3932 Terms of Service 3933 <span><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 22.8 13" style="enable-background:new 0 0 22.8 13" xml:space="preserve"><path d="m15.8.2-.4.4c-.2.2-.2.6 0 .9l4.3 4.2H.6c-.3-.1-.6.2-.6.5v.5c0 .3.3.6.6.6h19.1l-4.3 4.2c-.2.2-.2.6 0 .9l.4.4c.2.2.6.2.9 0l5.9-5.9c.2-.2.2-.6 0-.9L16.7.1c-.3-.2-.7-.2-.9.1z" style="fill:#414042"/></svg></span> 3934 </a> 3935 3936 3937 3938 </li> 3939 3940<li class="footer__parent "> 3941 3942 <a href="/pages/shipping-returns" class="footer__parent-link"> 3943 Shipping & Returns 3944 <span><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 22.8 13" style="enable-background:new 0 0 22.8 13" xml:space="preserve"><path d="m15.8.2-.4.4c-.2.2-.2.6 0 .9l4.3 4.2H.6c-.3-.1-.6.2-.6.5v.5c0 .3.3.6.6.6h19.1l-4.3 4.2c-.2.2-.2.6 0 .9l.4.4c.2.2.6.2.9 0l5.9-5.9c.2-.2.2-.6 0-.9L16.7.1c-.3-.2-.7-.2-.9.1z" style="fill:#414042"/></svg></span> 3945 </a> 3946 3947 3948 3949 </li> 3950 3951<li class="footer__parent "> 3952 3953 <a href="/pages/patents" class="footer__parent-link"> 3954 Boppy Patents 3955 <span><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 22.8 13" style="enable-background:new 0 0 22.8 13" xml:space="preserve"><path d="m15.8.2-.4.4c-.2.2-.2.6 0 .9l4.3 4.2H.6c-.3-.1-.6.2-.6.5v.5c0 .3.3.6.6.6h19.1l-4.3 4.2c-.2.2-.2.6 0 .9l.4.4c.2.2.6.2.9 0l5.9-5.9c.2-.2.2-.6 0-.9L16.7.1c-.3-.2-.7-.2-.9.1z" style="fill:#414042"/></svg></span> 3956 </a> 3957 3958 3959 3960 </li> 3961 3962<li class="footer__parent "> 3963 3964 <a href="/pages/product-recalls" class="footer__parent-link"> 3965 Recall & Safety Alerts
3966 <span><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 22.8 13" style="enable-background:new 0 0 22.8 13" xml:space="preserve"><path d="m15.8.2-.4.4c-.2.2-.2.6 0 .9l4.3 4.2H.6c-.3-.1-.6.2-.6.5v.5c0 .3.3.6.6.6h19.1l-4.3 4.2c-.2.2-.2.6 0 .9l.4.4c.2.2.6.2.9 0l5.9-5.9c.2-.2.2-.6 0-.9L16.7.1c-.3-.2-.7-.2-.9.1z" style="fill:#414042"/></svg></span> 3967 </a> 3968 3969 3970 3971 </li> 3972 3973<li class="footer__parent "> 3974 3975 <a href="https://www.artsana.com" class="footer__parent-link" target="_blank" rel="noopener"> 3976 International Sites 3977 <span><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 22.8 13" style="enable-background:new 0 0 22.8 13" xml:space="preserve"><path d="m15.8.2-.4.4c-.2.2-.2.6 0 .9l4.3 4.2H.6c-.3-.1-.6.2-.6.5v.5c0 .3.3.6.6.6h19.1l-4.3 4.2c-.2.2-.2.6 0 .9l.4.4c.2.2.6.2.9 0l5.9-5.9c.2-.2.2-.6 0-.9L16.7.1c-.3-.2-.7-.2-.9.1z" style="fill:#414042"/></svg></span> 3978 </a> 3979 3980 3981 3982 </li> 3983 3984 </ul> 3985 </div> 3986 3987 3988 3989 3990 <div class="footer__block grid__item footer__newsletter" > 3991 <h2 class="h5 footer__block__title">Connect</h2> 3992 <div class="rte footer__newsletter__text"> 3993 <p>Get parenting tips, product updates, and stories from the Boppy community</p> 3994 </div> 3995<div id="mailing-list"> 3996 <form id="contact_form" action="//manage.kmail-lists.com/subscriptions/subscribe" 3997 data-ajax-submit="//manage.kmail-lists.com/ajax/subscriptions/subscribe" method="GET" target="_blank" 3998 novalidate="novalidate"> 3999 <input type="hidden" name="g" value="W5u9vA"> 4000 <input type="hidden" name="$fields" value="$consent"> 4001 <input type="hidden" name="$list_fields" value="$consent"> 4002 4003 <div class="input-group newsletter-form"> 4004 <input type="email" id="mailinglist_email" class="input-group-field" name="email" 4005 placeholder="Your email" aria-label="Your email" autocorrect="off" autocapitalize="off" 4006 name="contact[email]" data-newsletter-field="" required="" aria-required="true"> 4007 <span class="input-group-btn"> 4008 <button type="submit" class="btn"> 4009 Submit 4010 </button> 4011 </span> 4012 </div> 4013 4014 <div class="klaviyo_messages"> 4015 <div class="mailing-list__success notification success success_message" style="display: none;"></div> 4016 <div class="notification errors error_message" style="display:none;"></div> 4017 </div> 4018 </form> 4019</div>
4020<script type="text/javascript" src="//www.klaviyo.com/media/js/public/klaviyo_subscribe.js"></script>
vendor: 1 bytes, line 4020
4020
4021<script type="text/javascript"> 4022 KlaviyoSubscribe.attachToForms('#contact_form', { 4023 hide_form_on_success: true, 4024 extra_properties: { 4025 $source: '$embed', 4026 $method_type: "Klaviyo Form", 4027 $method_id: 'embed' 4028 } 4029 }); 4030</script>
4030 4031<span>We respect your inbox. and your privacy. Unsubscribe anytime.</span> 4032 4033 </div> 4034 4035 4036 4037 4038 <div class="footer__block footer__block--social grid__item large-up--one-sixth" > 4039 <div class="rte footer__social__text"> 4040 4041 </div> 4042 4043 <ul class="footer__social unstyled inline-list"> 4044 <!-- /snippets/social-icon.liquid --> 4045 4046 4047<li> 4048 <a href="https://www.instagram.com/boppycompany/" title="Boppy on Instagram" target="_blank"> 4049 <svg aria-hidden="true" focusable="false" xmlns="http://www.w3.org/2000/svg" class="icon icon-instagram" width="24" height="24" viewBox="0 0 24 24" fill="none"> 4050<path fill-rule="evenodd" clip-rule="evenodd" d="M16 3.24219H8C5.23858 3.24219 3 5.48077 3 8.24219V16.2422C3 19.0036 5.23858 21.2422 8 21.2422H16C18.7614 21.2422 21 19.0036 21 16.2422V8.24219C21 5.48077 18.7614 3.24219 16 3.24219ZM19.25 16.2422C19.2445 18.0348 17.7926 19.4867 16 19.4922H8C6.20735 19.4867 4.75549 18.0348 4.75 16.2422V8.24219C4.75549 6.44954 6.20735 4.99768 8 4.99219H16C17.7926 4.99768 19.2445 6.44954 19.25 8.24219V16.2422ZM16.75 8.49219C17.3023 8.49219 17.75 8.04447 17.75 7.49219C17.75 6.93991 17.3023 6.49219 16.75 6.49219C16.1977 6.49219 15.75 6.93991 15.75 7.49219C15.75 8.04447 16.1977 8.49219 16.75 8.49219ZM12 7.74219C9.51472 7.74219 7.5 9.75691 7.5 12.2422C7.5 14.7275 9.51472 16.7422 12 16.7422C14.4853 16.7422 16.5 14.7275 16.5 12.2422C16.5027 11.0479 16.0294 9.90176 15.1849 9.05727C14.3404 8.21278 13.1943 7.73953 12 7.74219ZM9.25 12.2422C9.25 13.761 10.4812 14.9922 12 14.9922C13.5188 14.9922 14.75 13.761 14.75 12.2422C14.75 10.7234 13.5188 9.49219 12 9.49219C10.4812 9.49219 9.25 10.7234 9.25 12.2422Z" fill="#FFFAF4"/> 4051</svg><span class="icon-fallback-text">Instagram</span> 4052 </a> 4053 </li><!-- /snippets/social-icon.liquid --> 4054 4055 4056<li> 4057 <a href="https://www.facebook.com/BoppyCompany/" title="Boppy on Facebook" target="_blank"> 4058<svg aria-hidden="true" focusable="false" xmlns="http://www.w3.org/2000/svg" class="icon icon-facebook" width="24" height="24" viewBox="0 0 24 24" fill="none"> 4059<path d="M22 12.3033C22 6.7467 17.5229 2.24219 12 2.24219C6.47715 2.24219 2 6.7467 2 12.3033C2 17.325 5.65684 21.4874 10.4375 22.2422V15.2116H7.89844V12.3033H10.4375V10.0867C10.4375 7.56515 11.9305 6.17231 14.2146 6.17231C15.3088 6.17231 16.4531 6.36882 16.4531 6.36882V8.8448H15.1922C13.95 8.8448 13.5625 9.62041 13.5625 10.4161V12.3033H16.3359L15.8926 15.2116H13.5625V22.2422C18.3432 21.4874 22 17.3252 22 12.3033Z" fill="#FFFAF4"/> 4060</svg><span class="icon-fallback-text">Facebook</span> 4061 </a> 4062 </li><!-- /snippets/social-icon.liquid --> 4063 4064 4065<li> 4066 <a href="https://twitter.com/boppycompany" title="Boppy on Twitter" target="_blank"> 4067<svg aria-hidden="true" focusable="false" xmlns="http://www.w3.org/2000/svg" class="icon icon-twitter" width="24" height="24" viewBox="0 0 24 24" fill="none"> 4068<path d="M17.1761 4.24219H19.9362L13.9061 11.0196L21 20.2422H15.4456L11.0951 14.6488L6.11723 20.2422H3.35544L9.80517 12.993L3 4.24219H8.69545L12.6279 9.35481L17.1761 4.24219ZM16.2073 18.6176H17.7368L7.86441 5.78147H6.2232L16.2073 18.6176Z" fill="#FFFAF4"/> 4069</svg><span class="icon-fallback-text">Twitter</span> 4070 </a> 4071 </li><!-- /snippets/social-icon.liquid --> 4072 4073 4074<li> 4075 <a href="https://www.tiktok.com/@boppycompany" title="Boppy on TikTok" target="_blank"><svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-tiktok" viewBox="0 0 19 19"><path d="M12.917 1c.289 2.412 1.674 3.85 4.083 4.004v2.713c-1.396.133-2.619-.311-4.04-1.148v5.075c0 6.447-7.232 8.461-10.14 3.84-1.867-2.973-.723-8.19 5.27-8.4v2.862a8.879 8.879 0 00-1.391.331c-1.333.439-2.089 1.26-1.879 2.708.404 2.775 5.641 3.596 5.206-1.825V1.005h2.891V1z" fill-rule="evenodd"/></svg><span class="icon-fallback-text">TikTok</span> 4076 </a> 4077 </li><!-- /snippets/social-icon.liquid --> 4078 4079 4080<!-- /snippets/social-icon.liquid --> 4081 4082 4083<!-- /snippets/social-icon.liquid --> 4084 4085 4086<li> 4087 <a href="https://www.youtube.com/user/theboppycompany" title="Boppy on YouTube" target="_blank"> 4088<svg aria-hidden="true" focusable="false" xmlns="http://www.w3.org/2000/svg" class="icon icon-youtube" width="24" height="24" viewBox="0 0 24 24" fill="none"> 4089<path d="M21.5933 7.20301C21.4794 6.78041 21.2568 6.39501 20.9477 6.08518C20.6386 5.77534 20.2537 5.55187 19.8313 5.43701C18.2653 5.00701 12.0003 5.00001 12.0003 5.00001C12.0003 5.00001 5.73633 4.99301 4.16933 5.40401C3.74725 5.52415 3.36315 5.75078 3.0539 6.06214C2.74464 6.3735 2.52062 6.75913 2.40333 7.18201C1.99033 8.74801 1.98633 11.996 1.98633 11.996C1.98633 11.996 1.98233 15.26 2.39233 16.81C2.62233 17.667 3.29733 18.344 4.15533 18.575C5.73733 19.005 11.9853 19.012 11.9853 19.012C11.9853 19.012 18.2503 19.019 19.8163 18.609C20.2388 18.4943 20.6241 18.2714 20.934 17.9622C21.2439 17.653 21.4677 17.2682 21.5833 16.846C21.9973 15.281 22.0003 12.034 22.0003 12.034C22.0003 12.034 22.0203 8.76901 21.5933 7.20301ZM9.99633 15.005L10.0013 9.00501L15.2083 12.01L9.99633 15.005Z" fill="#FFFAF4"/> 4090</svg> <span class="icon-fallback-text">YouTube</span> 4091 </a> 4092 </li><!-- /snippets/social-icon.liquid --> 4093 4094 4095<!-- /snippets/social-icon.liquid --> 4096 4097 4098<li> 4099 <a href="https://www.linkedin.com/company/the-boppy-company/" title="Boppy on Linkedin" target="_blank"> 4100<svg xmlns="http://www.w3.org/2000/svg" class="icon icon-linkedin" width="24" height="24" viewBox="0 0 24 24" fill="none"> 4101<path fill-rule="evenodd" clip-rule="evenodd" d="M4.5 3.24219C3.67157 3.24219 3 3.91376 3 4.74219V19.7422C3 20.5706 3.67157 21.2422 4.5 21.2422H19.5C20.3284 21.2422 21 20.5706 21 19.7422V4.74219C21 3.91376 20.3284 3.24219 19.5 3.24219H4.5ZM8.52076 7.24491C8.52639 8.20116 7.81061 8.79038 6.96123 8.78616C6.16107 8.78194 5.46357 8.14491 5.46779 7.24632C5.47201 6.40116 6.13998 5.72194 7.00764 5.74163C7.88795 5.76132 8.52639 6.40679 8.52076 7.24491ZM12.2797 10.0039H9.75971H9.7583V18.5638H12.4217V18.3641C12.4217 17.9842 12.4214 17.6042 12.4211 17.2241C12.4203 16.2103 12.4194 15.1954 12.4246 14.1819C12.426 13.9358 12.4372 13.6799 12.5005 13.445C12.7381 12.5675 13.5271 12.0008 14.4074 12.1401C14.9727 12.2286 15.3467 12.5563 15.5042 13.0893C15.6013 13.4225 15.6449 13.7811 15.6491 14.1285C15.6605 15.1761 15.6589 16.2237 15.6573 17.2714C15.6567 17.6412 15.6561 18.0112 15.6561 18.381V18.5624H18.328V18.3571C18.328 17.9051 18.3278 17.4532 18.3275 17.0013C18.327 15.8718 18.3264 14.7423 18.3294 13.6124C18.3308 13.1019 18.276 12.5985 18.1508 12.1049C17.9638 11.3708 17.5771 10.7633 16.9485 10.3246C16.5027 10.0124 16.0133 9.81129 15.4663 9.78879C15.404 9.7862 15.3412 9.78281 15.2781 9.7794C14.9984 9.76428 14.7141 9.74892 14.4467 9.80285C13.6817 9.95613 13.0096 10.3063 12.5019 10.9236C12.4429 10.9944 12.3852 11.0663 12.2991 11.1736L12.2797 11.1979V10.0039ZM5.68164 18.5666H8.33242V10.0095H5.68164V18.5666Z" fill="#FFFAF4"/> 4102</svg><span class="icon-fallback-text">Linkedin</span> 4103 </a> 4104 </li><!-- /snippets/social-icon.liquid --> 4105 4106 4107<!-- /snippets/social-icon.liquid --> 4108 4109 4110 4111 </ul> 4112 </div> 4113 4114 4115 4116 </div> 4117 4118 <div class="footer__secondary-container" style="background:#835aa2; color:#fffaf4;"> 4119 <div class="footer__secondary-payment"> 4120 4121 <!-- /partials/cross-border.liquid --><form method="post" action="/localization" id="localization_form" accept-charset="UTF-8" class="popout--footer" enctype="multipart/form-data"><input type="hidden" name="form_type" value="localization" /><input type="hidden" name="utf8" value="✓" /><input type="hidden" name="_method" value="put" /><input type="hidden" name="return_to" value="/search" /></form> 4122
4123 <div class="footer__copyright inline-list unstyled"> 4124 <span>Copyright © 2026 Boppy All rights reserved. </span> 4125 </div> 4126 </div> 4127 <div class="footer__secondary-links"> 4128 4129<a href="/pages/privacy-policy" class="footer__secondary-link">Privacy Policy</a> 4130 4131<a href="/pages/terms-of-service" class="footer__secondary-link">Terms of Service</a> 4132 4133<a href="/pages/shipping-returns" class="footer__secondary-link">Shipping & Returns</a> 4134 4135<a href="/pages/patents" class="footer__secondary-link">Boppy Patents</a> 4136 4137<a href="/pages/product-recalls" class="footer__secondary-link">Recall & Safety Alerts</a> 4138 4139<a href="https://www.artsana.com" class="footer__secondary-link" target="_blank" rel="noopener">International Sites</a> 4140 4141 4142 4143
4143<script> 4144 document.addEventListener("DOMContentLoaded", () => { 4145 const consentLinks = document.querySelectorAll(".manage-cookie-consent"); 4146 if (!consentLinks.length) return; 4147 4148 consentLinks.forEach((link) => { 4149 link.addEventListener("click", async (e) => { 4150 e.preventDefault(); 4151 if (window.privacyBanner && typeof window.privacyBanner.showPreferences === "function") { 4152 await window.privacyBanner.showPreferences(); 4153 } else { 4154 console.warn("Privacy banner API not available"); 4155 } 4156 }); 4157 }); 4158 }); 4159 </script>
4159 4160 </div> 4161 </div> 4162 </div> 4163 4164 4165</footer> 4166
4167<script> 4168document.addEventListener('DOMContentLoaded', function () { 4169 if (window.innerWidth > 767) return; 4170 4171 document.querySelectorAll('.footer__block').forEach(block => { 4172 const title = block.querySelector('.footer__block__title'); 4173 const list = block.querySelector('.footer__quicklinks'); 4174 4175 if (!title || !list) return; 4176 4177 title.setAttribute('tabindex', '0'); 4178 title.setAttribute('role', 'button'); 4179 title.setAttribute('aria-expanded', 'false'); 4180 4181 function toggle() { 4182 const isOpen = block.classList.contains('is-open'); 4183 4184 document.querySelectorAll('.footer__block').forEach(otherBlock => { 4185 otherBlock.classList.remove('is-open'); 4186 const otherTitle = otherBlock.querySelector('.footer__block__title'); 4187 if (otherTitle) otherTitle.setAttribute('aria-expanded', 'false'); 4188 }); 4189 4190 if (!isOpen) { 4191 block.classList.add('is-open'); 4192 title.setAttribute('aria-expanded', 'true'); 4193 } 4194 } 4195 4196 title.addEventListener('click', toggle); 4197 title.addEventListener('keydown', function (e) { 4198 if (e.key === 'Enter' || e.key === ' ') { 4199 e.preventDefault(); 4200 toggle(); 4201 } 4202 }); 4203 }); 4204}); 4205</script>
4205 4206 4207 4208</div> 4209 4210 <div id="shopify-section-popups" class="shopify-section"><!-- /sections/popups.liquid --></div> 4211 4212
4212<script data-swatch-template type="text/x-template"> 4213 4214 <span class="swatch__button radio-container" data-swatch-button data-tooltip="{{ it.color }}"> 4215 <input type="radio" 4216 name="grouped" 4217 value="{{ it.color }}" 4218 id="{{ it.uniq }}" 4219 {{ @if (it.available === false) }} disabled {{ /if }}> 4220 <label for="{{ it.uniq }}" 4221 data-swatch="{{ it.color }}" 4222 data-swatch-variant="{{ it.variant }}" 4223 data-swatch-variant-name="{{ it.variantName }}" 4224 data-swatch-image="{{ it.image }}"> 4225 <span class="visually-hidden">{{ it.color }}</span> 4226 </label> 4227 </span> 4228 4229 </script>
4229 4230<!-- Root element of PhotoSwipe. Must have class pswp. --> 4231<div class="pswp pswp--custom-loader" tabindex="-1" role="dialog" aria-hidden="true"> 4232 <!-- Background of PhotoSwipe. 4233 It's a separate element as animating opacity is faster than rgba(). --> 4234 <div class="pswp__bg"></div> 4235 4236 <!-- Slides wrapper with overflow:hidden. --> 4237 <div class="pswp__scroll-wrap"> 4238 <!-- Container that holds slides. 4239 PhotoSwipe keeps only 3 of them in the DOM to save memory. 4240 Don't modify these 3 pswp__item elements, data is added later on. --> 4241 <div class="pswp__container"> 4242 <div class="pswp__item"></div> 4243 <div class="pswp__item"></div> 4244 <div class="pswp__item"></div> 4245 </div> 4246 4247 <!-- Default (PhotoSwipeUI_Default) interface on top of sliding area. Can be changed. --> 4248 <div class="pswp__ui pswp__ui--hidden"> 4249 <div class="pswp__top-bar"> 4250 <!-- Controls are self-explanatory. Order can be changed. --> 4251 4252 <div class="pswp__counter"></div> 4253 4254 <button class="pswp__button pswp__button--close pswp__custom-close pswp__ui-over-close" title="Close (Esc)"> 4255 <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-close" viewBox="0 0 20 20"><path fill="#444" d="M15.89 14.696l-4.734-4.734 4.717-4.717c.4-.4.37-1.085-.03-1.485s-1.085-.43-1.485-.03L9.641 8.447 4.97 3.776c-.4-.4-1.085-.37-1.485.03s-.43 1.085-.03 1.485l4.671 4.671-4.688 4.688c-.4.4-.37 1.085.03 1.485s1.085.43 1.485.03l4.688-4.687 4.734 4.734c.4.4 1.085.37 1.485-.03s.43-1.085.03-1.485z"/></svg> 4256 </button> 4257 4258 <button class="pswp__button pswp__button--share" title="Share"></button> 4259 4260 <button class="pswp__button pswp__button--fs" title="Toggle fullscreen"></button> 4261 4262 <button class="pswp__button pswp__button--zoom" title="Zoom in/out"></button> 4263 4264 <!-- Preloader demo https://codepen.io/dimsemenov/pen/yyBWoR --> 4265 <!-- element will get class pswp__preloader--active when preloader is running --> 4266 <div class="pswp__preloader"> 4267 <div class="pswp__preloader__icn"> 4268 <div class="pswp__preloader__cut"> 4269 <div class="pswp__preloader__donut"></div> 4270 </div> 4271 </div> 4272 </div> 4273 </div> 4274 4275 <div class="pswp__share-modal pswp__share-modal--hidden pswp__single-tap"> 4276 <div class="pswp__share-tooltip"></div> 4277 </div> 4278 4279 <button class="pswp__button pswp__button--arrow--left" title="Previous"> 4280 <span class="visually-hidden">Previous</span> 4281 </button> 4282 4283 <button class="pswp__button pswp__button--arrow--right" title="Next"> 4284 <span class="visually-hidden">Next</span> 4285 </button> 4286 4287 <div class="pswp__thumbs"></div> 4288 4289 <div class="pswp__caption"> 4290 <div class="pswp__caption__center"></div> 4291 4292 <a href="#" class="pswp__caption-close"> 4293 <span class="visually-hidden">Close</span> 4294 </a> 4295 </div> 4296 </div> 4297 </div> 4298</div> 4299
4300<script data-cart-total-discount type="text/x-template"> 4301 4302 <div class="cart__total"> 4303 <span> 4304 {{it.discountTitle}} 4305 </span> 4306 4307 <span> 4308 -{{it.discountTotalAllocatedAmount | safe}} 4309 </span> 4310 </div> 4311 4312</script>
4312 4313
4314<script pair-product-template type="text/x-template"> 4315 4316 <div class="product-upsell-holder product-upsell-holder--cart" data-upsell-holder> 4317 <div class="product-upsell"> 4318 <div class="product-upsell__image"> 4319 <a href="{{ it.product.url }}" aria-label='{{ it.product.title }}'> 4320 {{ @if(it.product.image) }} 4321 <div class="product-upsell__image-inner" aria-label="{{ it.product.title }}" role="img" style="background-image: url({{ it.product.image.thumb }})"> 4322 <noscript> 4323 <img src="{{ it.product.image.thumb }}" width="480" height="480" alt="{{ it.product.title }}"> 4324 </noscript> 4325 </div> 4326 {{ /if}} 4327 </a> 4328 </div> 4329 4330 <div class="product-upsell__content"> 4331 <a href="{{ it.product.url }}"> 4332 <p class="product-upsell__title small">{{ it.product.title }}</p> 4333 4334 {{ @if(it.product.hasVariants) }} 4335 <p class="product-upsell__variant-title small">{{ it.product.firstAvailableVariant.title | safe }}</p> 4336 {{ /if}} 4337 4338 <p class="product-upsell__price small {{ @if(it.product.firstAvailableVariant.compare_at_price > it.product.firstAvailableVariant.price) }} sale{{ /if}}"> 4339 <span class="new-price" aria-label="Current price">{{ it.product.firstAvailableVariant.price | safe }}</span> 4340 4341 {{ @if(it.product.firstAvailableVariant.compare_at_price > it.product.firstAvailableVariant.price) }} 4342 <span class="old-price" aria-label="Original price">{{ it.product.firstAvailableVariant.compare_at_price | safe }}</span> 4343 {{ /if}} 4344 4345 {{ @if(it.product.firstAvailableVariant.hasUnitPrice) }} 4346 <br /> 4347 4348 <span class="visually-hidden visually-hidden--inline">{{ it.product.unitPriceLabel | safe }}</span> 4349 4350 <span class="unit"> 4351 {{ it.product.firstAvailableVariant.unit_price | safe }} 4352 <span aria-hidden="true">/</span> 4353 <span class="visually-hidden">{{ it.product.unitPriceSeparator }} </span> 4354 {{ it.product.firstAvailableVariant.unitCount }} 4355 {{ it.product.firstAvailableVariant.unitValue }} 4356 </span> 4357 {{ /if}} 4358 </p> 4359 </a> 4360 4361 <button type="button" class="product-upsell__skip" data-skip-pair-product aria-label="Remove upsell"> 4362 <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20" class="icon" aria-hidden="true" focusable="false"><path fill="#444" d="M15.89 14.696l-4.734-4.734 4.717-4.717c.4-.4.37-1.085-.03-1.485s-1.085-.43-1.485-.03L9.641 8.447 4.97 3.776c-.4-.4-1.085-.37-1.485.03s-.43 1.085-.03 1.485l4.671 4.671-4.688 4.688c-.4.4-.37 1.085.03 1.485s1.085.43 1.485.03l4.688-4.687 4.734 4.734c.4.4 1.085.37 1.485-.03s.43-1.085.03-1.485z"/></svg> 4363 </button> 4364 4365 <button type="button" name="add" data-add-to-cart 4366 data-focus-element data-upsell-btn class="product-upsell__btn" data-product-id="{{ it.product.firstAvailableVariant.id }}"> 4367 <span class="product-upsell__btn-hidden" data-upsell-btn-text>{{ it.product.addToCartText }}</span> 4368 4369 <span class="product-upsell__btn-text">{{ it.product.addToCartText }}</span> 4370 4371 <span class="product-upsell__btn-plus">+</span> 4372 4373 <span class="product-upsell__btn-progress"> 4374 <svg height="18" width="18" class="svg-loader"> 4375 <circle r="7" cx="9" cy="9" /> 4376 <circle stroke-dasharray="87.96459430051421 87.96459430051421" r="7" cx="9" cy="9" /> 4377 </svg> 4378 </span> 4379 4380 <span class="product-upsell__btn-check"> </span> 4381 </button> 4382 </div> 4383 </div> 4384 4385 <div data-cart-errors-container class="product-upsell__errors small"></div> 4386 </div> 4387 4388</script>
4388<div class="cart-dropdown" id="cart-dropdown" data-cart-dropdown tabindex="1"> 4389 <header class="cart-dropdown__head"> 4390 <h3>Cart</h3> 4391 4392 <a href="#cart-dropdown" class="cart-dropdown__close" data-cart-toggle aria-label="Close Cart"><svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-close" viewBox="0 0 20 20"><path fill="#444" d="M15.89 14.696l-4.734-4.734 4.717-4.717c.4-.4.37-1.085-.03-1.485s-1.085-.43-1.485-.03L9.641 8.447 4.97 3.776c-.4-.4-1.085-.37-1.485.03s-.43 1.085-.03 1.485l4.671 4.671-4.688 4.688c-.4.4-.37 1.085.03 1.485s1.085.43 1.485.03l4.688-4.687 4.734 4.734c.4.4 1.085.37 1.485-.03s.43-1.085.03-1.485z"/></svg></a> 4393 </header> 4394 4395 <div class="cart-dropdown__body" data-cart-dropdown-body> 4396 4397 4398 4399 4400 4401 4402 4403 4404 4405 4406 4407 4408 4409 4410 4411 4412 4413 4414 4415 4416 4417 4418 4419 <p class="cart-dropdown__message cart__message is-hidden" data-cart-message="true" data-limit="75"> 4420 4421 4422 4423 4424 4425 4426 <small class="cart__graph"> 4427 <small class="cart__graph-dot cart__graph-dot--1"></small> 4428 <small class="cart__graph-dot cart__graph-dot--2"></small> 4429 <small class="cart__graph-dot cart__graph-dot--3"></small> 4430 <small class="cart__graph-dot cart__graph-dot--4"></small> 4431 <small class="cart__graph-dot cart__graph-dot--5"></small> 4432 <small class="cart__graph-dot cart__graph-dot--6"></small> 4433 4434 <svg height="18" width="18"> 4435 <circle r="7" cx="9" cy="9" /> 4436 <circle class="cart__graph-progress" stroke-dasharray="87.96459430051421 87.96459430051421" style="stroke-dashoffset: 87.96459430051421" data-cart-progress data-percent="0" r="7" cx="9" cy="9" /> 4437 </svg> 4438 </small> 4439 4440 4441 4442 <span class="cart__message-success">Congratulations! Your order qualifies for free shipping</span> 4443 4444 4445 <span class="cart__message-default"> 4446 Add an additional 4447 <span data-left-to-spend>$75</span> 4448 for free shipping 4449 </span> 4450 </p> 4451 4452 4453 <div class="cart__errors cart__errors-dropdown" data-cart-errors> 4454 <h5 class="cart__errors__heading">No more products available for purchase</h5> 4455 4456 <p class="cart__errors__content" data-error-message></p> 4457 4458 <button type="button" data-cart-error-close aria-label="Close Cart"> 4459 <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-close-thin" viewBox="0 0 27 27"> 4460 <g stroke="#979797" fill="none" fill-rule="evenodd" stroke-linecap="square"> 4461 <path d="M.5.5l26 26M26.5.5l-26 26"></path> 4462 </g> 4463 </svg> 4464 </button> 4465 </div> 4466 4467 <div class="cart-dropdown__items is-hidden" data-items-holder> 4468 </div> 4469 4470 <p class="cart-dropdown__empty-message " data-empty-message>Your cart is currently empty.</p> 4471 </div> 4472 4473 <div class="cart__foot cart-dropdown__foot is-hidden" data-foot-holder> 4474 <div class="cart__widget is-hidden" data-cart-widget data-pair-products-holder> 4475 <a href="#pair-with-products" class="is-active" data-expand-button>Pair with</a> 4476 4477 <div class="cart__widget-content" style="display: block;" id="pair-with-products"> 4478 <div class="cart__widget-content-inner" data-pair-products></div> 4479 </div> 4480 </div> 4481 4482 <form action="/cart" method="post" novalidate class="form-cart"> 4483 4484 <div class="cart__widget" data-cart-widget> 4485 <a href="#notes" data-expand-button>Enter a gift message</a> 4486 4487 <div class="cart__widget-content" id="notes"> 4488 <label for="note">Enter a gift message</label> 4489 4490 <textarea id="note" name="note" class="cart__field cart__field--textarea" aria-label="Enter a gift message"></textarea> 4491 </div> 4492 </div> 4493 4494 4495 4496<div class="cart__foot-inner"> 4497 4498<p class="disclaimer_message"style="display: none"> 4499 <input type="checkbox" id="disclaimer_message" name="disclaimer_message" data-agreement="Please check that you have agree to the terms and conditions." data-message="I understand that the products are to be used for adult-supervised awake-time only and never for infant sleep, per the product use instructions and warnings"> 4500 <label for="disclaimer_message">I understand that the products are to be used for adult-supervised awake-time only and never for infant sleep, per the product use instructions and warnings</label> 4501 </p> 4502 <div class="cart__total is-hidden" data-cart-original-total>
4503 <span>Items</span> 4504 4505 <span data-cart-original-total-price>Free 4506</span> 4507 </div> 4508 4509 <div class="cart__discounts is-hidden" data-cart-discounts-holder></div> 4510 4511 <div class="cart__total"> 4512 <span>Subtotal</span> 4513 4514 <span class="cart__total__money" data-cart-total>Free 4515</span> 4516 </div> 4517 4518 <em>Shipping, taxes, and discount codes are calculated at checkout</em> 4519 4520 <button type="submit" name="checkout" class="btn btn--full btn--large cart__checkout">Check Out</button> 4521 </div></form> 4522 </div> 4523</div> 4524<button type="button" class="btn btn--scroll-top btn--primary" data-scroll-top-button aria-label="Back to top"> 4525 <span class="visually-hidden">Back to top</span> 4526 </button><!-- Paste marketing code or third party scripts below this comment line ============== -->
4526<script src="//www.boppy.com/cdn/shop/t/182/assets/custom.js?v=153682852761255150561788223632" defer="defer"></script>
4526 4527 4528 <!-- ====================================================================================== --><!-- And above this comment line ================================================== --> 4529
4529<script>(function(k, l, e, a, r) { 4530 if (typeof k[e] !== 'undefined') return; k[e] = [];var el = l.createElement('script');el.async = true;var objQ = e !== 'klrq' ? '&o=' + e : '';el.src = a + '?id=' + r + objQ + '&klAff';var m = l.getElementsByTagName('script')[0];m.parentNode.insertBefore(el, m);}) 4531 (window, document, 'klrq', 'https://klear.com/dist/klrTrack.bundle.js', '37f52361087b5b546d62a6cce2e3fc3415fd82b2c673f8af8a7898c2f6eeff0f'); 4532 </script>
4532 4533<style> .section_border img {width: 100%; margin-bottom: -10px;} </style> 4534<div id="shopify-block-AaEZlZ2xkRExGM3F1K__10979705531712725373" class="shopify-block shopify-app-block"> 4535 4536 4537 4538 4539<div id="tt-teaser-icons" style="display:none;"> 4540 <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> 4541 <symbol id="tt-teaser-star--empty" viewBox="0 0 24 24"> 4542 <path d="M12 18l-6.4 3.88 1.73-7.33-5.66-4.93L9.09 9 12 2.09 14.91 9l7.42.64-5.63 5 1.72 7.34z" fill="none" xmlns="http://www.w3.org/2000/svg"></path> 4543 </symbol> 4544 <symbol id="tt-teaser-star--full" viewBox="0 0 24 24"> 4545 <path d="M12 18.66l-7.44 4.35 1.98-8.16L0 9.36l8.62-.7L12 .99l3.38 7.67 8.62.7-6.54 5.49 1.98 8.16L12 18.66z" xmlns="http://www.w3.org/2000/svg"></path> 4546 </symbol> 4547 <symbol id="tt-teaser-star--half" viewBox="0 0 24 24"> 4548 <path fill="currentColor" d="M12 2.09L9.09 9l-7.42.62 5.66 4.93-1.72 7.32 1.07-.65L12 17.97V2.09z" xmlns="http://www.w3.org/2000/svg"></path> 4549 <path d="M12 2.09L14.91 9l7.42.62-5.66 4.93 1.72 7.32-1.07-.65L12 17.97V2.09z"></path> 4550 </symbol> 4551 </svg> 4552</div> 4553<style> 4554 .tt-product-block .TTteaser { 4555 font-size: 12px; 4556 font-family: "Helvetica Neue", Helvetica, Arial, "Lucida Grande", sans-serif; 4557 } 4558 .tt-product-block .TTteaser__rating { 4559 display: inline-block; 4560 vertical-align: middle; 4561 margin-right: 5px; 4562 } 4563 .tt-product-block .TTteaser__star svg { 4564 width: 16px; 4565 height: 16px; 4566 } 4567 .tt-product-block .TTteaser__icon--full { 4568 fill: #000; 4569 } 4570 .tt-product-block .TTteaser__icon--half { 4571 stroke: #000; 4572 fill: transparent; 4573 color: #000; 4574 } 4575 .tt-product-block .TTteaser__icon--empty { 4576 stroke: #000; 4577 } 4578 .tt-product-block .TTteaser__read-qa, 4579 .tt-product-block .TTteaser__read-comments, 4580 .tt-product-block .TTteaser__read-reviews, 4581 .tt-product-block .TTteaser__write-review { 4582 font-size: 12px; 4583 font-family: "Helvetica Neue", Helvetica, Arial, "Lucida Grande", sans-serif; 4584 color: #000; 4585 text-decoration: underline; 4586 } 4587 .tt-product-block .TTteaser__write-review { 4588 border: none; 4589 text-decoration: underline; 4590 background: transparent; 4591 padding: 0; 4592 cursor: pointer; 4593 } 4594</style> 4595 4596 4597 4598<!-- BEGIN app snippet: tt-bootstrap-config -->
4598<script> 4599 window.__turnToBootstrapParams = { 4600 force_fallback: false, 4601 fallback: "search", 4602 editor_mode: false 4603 }; 4604 (function() { 4605 const priorityMap = { 4606 "pdp-page": 100, 4607 "email-landing-page": 90, 4608 "all-reviews-page": 85, 4609 "seller-ratings-page": 80, 4610 "vc-pinboard-page": 75, 4611 "comments-pinboard-page": 70 4612 }; 4613 4614 window.__turnToSyncPageIdToConfig = window.__turnToSyncPageIdToConfig || function() { 4615 if (window.__turnToResolvedPageId && window.turnToConfig) { 4616 window.turnToConfig.pageId = window.__turnToResolvedPageId; 4617 } 4618 }; 4619 4620 function stickyPageId() { 4621 if (window.__turnToLastResolvedWidgetPageId) { 4622 return window.__turnToLastResolvedWidgetPageId; 4623 } 4624 try { 4625 return sessionStorage.getItem("__turnToLastResolvedWidgetPageId"); 4626 } catch (e) { 4627 return null; 4628 } 4629 } 4630 4631 function saveStickyPageId(pageId) { 4632 if (!pageId) { 4633 return; 4634 } 4635 window.__turnToLastResolvedWidgetPageId = pageId; 4636 try { 4637 sessionStorage.setItem("__turnToLastResolvedWidgetPageId", pageId); 4638 } catch (e) { 4639 /* storage unavailable */ 4640 } 4641 } 4642 4643 function collectDomPageIds() { 4644 const ids = []; 4645 document.querySelectorAll("[data-tt-widget-page-id]").forEach((el) => { 4646 const v = el.getAttribute("data-tt-widget-page-id"); 4647 if (v) { 4648 ids.push(v.trim()); 4649 } 4650 }); 4651 return ids; 4652 } 4653 4654 function isEditorContext(params) { 4655 if (params && params.editor_mode) { 4656 return true; 4657 } 4658 try { 4659 if (document.documentElement && document.documentElement.classList.contains("shopify-design-mode")) { 4660 return true; 4661 } 4662 if (window.Shopify && (window.Shopify.designMode || window.Shopify.visualPreviewMode)) { 4663 return true; 4664 } 4665 const q = window.location && window.location.search; 4666 if (q && (q.indexOf("oseid=") !== -1 || q.indexOf("source=visualPreview") !== -1 || q.indexOf("preview_theme_id=") !== -1)) { 4667 return true; 4668 } 4669 } catch (e) { 4670 return false; 4671 } 4672 return false; 4673 } 4674 4675 const WIDGET_CONFIG_KEYS = ["gallery", "allReviews", "vcPinboard", "commentsPinboard", "topComments"]; 4676 const WIDGET_MOUNT_CHECKS = [ 4677 { key: "gallery", selector: "#tt-gallery-row" }, 4678 { key: "allReviews", selector: "#tt-all-reviews" }, 4679 { key: "vcPinboard", selector: "#tt-vc-pinboard-widget" }, 4680 { key: "commentsPinboard", selector: "#tt-comments-pinboard-widget" }, 4681 { key: "topComments", selector: ".tt-top-comment" } 4682 ]; 4683 const STICKY_WIDGET_CONFIG_STORAGE_KEY = "__turnToLastMergedWidgetConfig"; 4684 4685 function stickyWidgetConfigMap() { 4686 if (window.__turnToLastMergedWidgetConfig) { 4687 return window.__turnToLastMergedWidgetConfig; 4688 } 4689 try { 4690 const raw = sessionStorage.getItem(STICKY_WIDGET_CONFIG_STORAGE_KEY); 4691 return raw ? JSON.parse(raw) : {}; 4692 } catch (e) { 4693 return {}; 4694 } 4695 } 4696 4697 function saveStickyWidgetConfigMap(map) { 4698 window.__turnToLastMergedWidgetConfig = map; 4699 try { 4700 if (map && Object.keys(map).length > 0) { 4701 sessionStorage.setItem(STICKY_WIDGET_CONFIG_STORAGE_KEY, JSON.stringify(map)); 4702 } else { 4703 sessionStorage.removeItem(STICKY_WIDGET_CONFIG_STORAGE_KEY); 4704 } 4705 } catch (e) { 4706 /* storage unavailable */ 4707 } 4708 } 4709 4710 window.__turnToSyncWidgetConfigFromSticky = window.__turnToSyncWidgetConfigFromSticky || function() { 4711 if (!window.turnToConfig || !isEditorContext(window.__turnToBootstrapParams)) { 4712 return; 4713 } 4714 const sticky = stickyWidgetConfigMap(); 4715 WIDGET_CONFIG_KEYS.forEach(function(k) { 4716 if (Object.prototype.hasOwnProperty.call(sticky, k)) { 4717 window.turnToConfig[k] = sticky[k]; 4718 } 4719 }); 4720 }; 4721 4722 function applyWidgetConfigSnapshot(snapshot) { 4723 WIDGET_CONFIG_KEYS.forEach(function(k) { 4724 delete window.turnToConfig[k]; 4725 }); 4726 if (!snapshot) { 4727 return; 4728 } 4729 Object.keys(snapshot).forEach(function(k) { 4730 if (WIDGET_CONFIG_KEYS.indexOf(k) !== -1) { 4731 window.turnToConfig[k] = snapshot[k]; 4732 } 4733 }); 4734 } 4735 4736 function mergeWidgetConfigsFromDom() { 4737 const merged = {}; 4738 document.querySelectorAll("[data-tt-widget-config]").forEach(function(el) { 4739 try { 4740 const cfg = JSON.parse(el.textContent); 4741 Object.keys(cfg).forEach(function(k) { 4742 merged[k] = cfg[k]; 4743 }); 4744 } catch (e) { 4745 /* invalid widget config JSON */ 4746 } 4747 }); 4748 return merged; 4749 } 4750 4751 function persistWidgetConfigToSticky() { 4752 const sticky = stickyWidgetConfigMap();
4753 WIDGET_CONFIG_KEYS.forEach(function(k) { 4754 if (window.turnToConfig[k] !== undefined) { 4755 sticky[k] = window.turnToConfig[k]; 4756 } 4757 }); 4758 saveStickyWidgetConfigMap(sticky); 4759 } 4760 4761 function mergeWidgetConfigsInEditor(merged) { 4762 WIDGET_CONFIG_KEYS.forEach(function(k) { 4763 if (Object.prototype.hasOwnProperty.call(merged, k)) { 4764 window.turnToConfig[k] = merged[k]; 4765 } 4766 }); 4767 persistWidgetConfigToSticky(); 4768 } 4769 4770 function mergeWidgetConfigs() { 4771 if (!window.turnToConfig) { 4772 return; 4773 } 4774 const params = window.__turnToBootstrapParams; 4775 const editor = params && isEditorContext(params); 4776 const scripts = document.querySelectorAll("[data-tt-widget-config]"); 4777 4778 if (scripts.length === 0) { 4779 if (!editor) { 4780 applyWidgetConfigSnapshot(null); 4781 saveStickyWidgetConfigMap({}); 4782 } 4783 return; 4784 } 4785 4786 const merged = mergeWidgetConfigsFromDom(); 4787 if (editor) { 4788 mergeWidgetConfigsInEditor(merged); 4789 } else { 4790 applyWidgetConfigSnapshot(merged); 4791 saveStickyWidgetConfigMap(merged); 4792 } 4793 } 4794 4795 function domHasWidgetConfigKey(key) { 4796 let found = false; 4797 document.querySelectorAll("[data-tt-widget-config]").forEach(function(el) { 4798 try { 4799 const cfg = JSON.parse(el.textContent); 4800 if (Object.prototype.hasOwnProperty.call(cfg, key)) { 4801 found = true; 4802 } 4803 } catch (e) { 4804 /* invalid widget config JSON */ 4805 } 4806 }); 4807 return found; 4808 } 4809 4810 function widgetConfigSettled() { 4811 if (!window.turnToConfig) { 4812 return false; 4813 } 4814 const editor = isEditorContext(window.__turnToBootstrapParams); 4815 if (editor && collectDomPageIds().length === 0 && document.querySelectorAll("[data-tt-widget-config]").length === 0) { 4816 return true; 4817 } 4818 for (const check of WIDGET_MOUNT_CHECKS) { 4819 if (!document.querySelector(check.selector)) { 4820 continue; 4821 } 4822 if (window.turnToConfig[check.key] !== undefined) { 4823 continue; 4824 } 4825 if (!domHasWidgetConfigKey(check.key)) { 4826 window.turnToConfig[check.key] = {}; 4827 continue; 4828 } 4829 return false; 4830 } 4831 return true; 4832 } 4833 4834 function isReadyToLoadTurnToScript() { 4835 const params = window.__turnToBootstrapParams; 4836 if (!params || !window.__turnToResolvedPageId) { 4837 return false; 4838 } 4839 if (!widgetConfigSettled()) { 4840 return false; 4841 } 4842 if (params.force_fallback) { 4843 return true; 4844 } 4845 if (collectDomPageIds().length > 0) { 4846 return true; 4847 } 4848 return !isEditorContext(params); 4849 } 4850 4851 function stopWatching() { 4852 if (window.__turntoBootstrapObserver) { 4853 window.__turntoBootstrapObserver.disconnect(); 4854 window.__turntoBootstrapObserver = null; 4855 } 4856 } 4857 4858 function startWatching() { 4859 if (window.__turntoBootstrapObserver || !document.body) { 4860 if (!document.body) { 4861 setTimeout(startWatching, 0); 4862 } 4863 return; 4864 } 4865 window.__turntoBootstrapObserver = new MutationObserver(function() { 4866 window.__turnToScheduleBootstrap(); 4867 }); 4868 window.__turntoBootstrapObserver.observe(document.body, { 4869 childList: true, 4870 subtree: true 4871 }); 4872 } 4873 4874 window.__turnToResolvePageId = function() { 4875 const params = window.__turnToBootstrapParams; 4876 if (!params) { 4877 return true; 4878 } 4879 if (params.force_fallback) { 4880 window.__turnToResolvedPageId = params.fallback; 4881 return true; 4882 } 4883 4884 const registered = collectDomPageIds(); 4885 4886 if (registered.length === 0) { 4887 if (isEditorContext(params)) { 4888 const sticky = stickyPageId() || (window.turnToConfig && window.turnToConfig.pageId); 4889 if (sticky) { 4890 saveStickyPageId(sticky); 4891 window.__turnToResolvedPageId = sticky; 4892 } 4893 return false; 4894 } 4895 window.__turnToResolvedPageId = params.fallback; 4896 return true; 4897 } 4898 4899 let best = registered[0]; 4900 let bestPriority = priorityMap[best] || 0; 4901 for (const id of registered) { 4902 const idPriority = priorityMap[id] || 0; 4903 if (idPriority > bestPriority) { 4904 best = id; 4905 bestPriority = idPriority; 4906 } 4907 } 4908 saveStickyPageId(best); 4909 window.__turnToResolvedPageId = best; 4910 return true; 4911 }; 4912 4913 function manageBootstrapWatching() { 4914 if (window.__turntoScriptLoaded || isReadyToLoadTurnToScript()) { 4915 stopWatching(); 4916 return; 4917 } 4918 startWatching(); 4919 } 4920 4921 function runBootstrap() { 4922 const settled = window.__turnToResolvePageId(); 4923 window.__turnToSyncPageIdToConfig(); 4924 mergeWidgetConfigs(); 4925 window.__turnToSyncWidgetConfigFromSticky && window.__turnToSyncWidgetConfigFromSticky(); 4926 manageBootstrapWatching(); 4927 if (isReadyToLoadTurnToScript() && typeof window.__turnToLoadScriptOnce === "function") { 4928 window.__turnToLoadScriptOnce(); 4929 } 4930 return settled; 4931 } 4932 4933 window.__turnToScheduleBootstrap = function() { 4934 if (window.__turnToBootstrapDebounceTimer) { 4935 clearTimeout(window.__turnToBootstrapDebounceTimer); 4936 } 4937 window.__turnToBootstrapDebounceTimer = setTimeout(function() { 4938 window.__turnToBootstrapDebounceTimer = null; 4939 runBootstrap(); 4940 }, 50); 4941 }; 4942 4943 if (!window.__turntoBootstrapHooksRegistered) { 4944 window.__turntoBootstrapHooksRegistered = true; 4945 const resync = function() { 4946 window.__turnToScheduleBootstrap(); 4947 }; 4948 document.addEventListener("shopify:section:load", resync); 4949 document.addEventListener("shopify:section:unload", function() { 4950 setTimeout(resync, 0); 4951 }); 4952 if (document.readyState === "loading") { 4953 document.addEventListener("DOMContentLoaded", resync); 4954 } 4955 window.addEventListener("load", resync); 4956 } 4957 4958 window.__turnToScheduleBootstrap(); 4959 })(); 4960</script>
4960 4961<!-- END app snippet --> 4962
4963<script> 4964 (function bootstrapTurnToAppEmbed() { 4965 window.__turnToLoadScriptOnce = function() { 4966 if (window.__turntoScriptLoaded || !window.__turnToResolvedPageId) { 4967 return; 4968 } 4969 window.__turntoScriptLoaded = true; 4970 const script = document.createElement("script"); 4971 script.src = "https://widgets.turnto.com/v5/widgets/K7oucCVLUDq2zPKsite/js/turnto.js"; 4972 script.async = true; 4973 document.body.appendChild(script); 4974 }; 4975 4976 if (window.__turntoAppEmbedInitialized) { 4977 window.__turnToScheduleBootstrap && window.__turnToScheduleBootstrap(); 4978 window.__turnToSyncPageIdToConfig && window.__turnToSyncPageIdToConfig(); 4979 window.__turnToSyncWidgetConfigFromSticky && window.__turnToSyncWidgetConfigFromSticky(); 4980 return; 4981 } 4982 window.__turntoAppEmbedInitialized = true; 4983 4984 window.TurnToCmd=window.TurnToCmd||function(){(TurnToCmd.q=TurnToCmd.q||[]).push(arguments)}; 4985 window.TurnToSKUSetup="PRODUCT"; 4986 4987 window.turnToConfig = { 4988 locale: "en_US", 4989 4990 4991 }; 4992 4993 window.__turnToScheduleBootstrap && window.__turnToScheduleBootstrap(); 4994 })(); 4995</script>
4995 4996 4997 4998 4999 5000</div><div id="shopify-block-AOUhadktlbTJPcUMyU__5735339852805025236" class="shopify-block shopify-app-block"> 5001 5002 5003 5004 5005
5006<script type="text/javascript"> 5007 (() => { 5008 const pixleeApiKey = "6IUEcMjUEkWIpXRjc37H"; 5009 const pixleeAccountId = 1889; 5010 const pixleeAttributionWindow = Number.parseInt(30, 10); 5011 const pixleeWebPixelActive = true; 5012 const pixleeUseLegacyCartFallback = pixleeWebPixelActive === false; 5013 const pixleeRequireCookieConsent = false; 5014 const pixleeWidgetScriptSrc ='https://assets.pxlecdn.com/assets/pixlee_widget_1_0_0.js'; 5015 const pixleeEventsScriptSrc ='https://assets.pixlee.com/assets/pixlee_events.js'; 5016 const pixleeAnalyticsInboundUrl ='https://inbound-analytics.pixlee.com'; 5017 5018 const attributionWindow = pixleeAttributionWindow > 0 ? pixleeAttributionWindow : 30; 5019 5020 const state = { 5021 widgetScriptId: 'pixlee_widget_script', 5022 eventsScriptId: 'pixlee_events_script', 5023 eventsLoaded: false, 5024 eventsLoadPromise: null, 5025 legacyCartTrackingStarted: false, 5026 cartSnapshotTimer: null, 5027 consentApi: null, 5028 duhRequestPromise: null 5029 }; 5030 5031 const log = (type, ...args) => { 5032 if (typeof console !== 'undefined' && typeof console[type] === 'function') { 5033 console[type](...args); 5034 } 5035 }; 5036 5037 const onReady = (fn) => { 5038 if (document.readyState === 'loading') { 5039 document.addEventListener('DOMContentLoaded', fn, { once: true }); 5040 } else { 5041 fn(); 5042 } 5043 }; 5044 5045 const loadScript = (src, opts = {}) => 5046 new Promise((resolve, reject) => { 5047 const script = document.createElement('script'); 5048 script.src = src; 5049 script.async = opts.async !== false; 5050 if (opts.defer) script.defer = true; 5051 if (opts.id) script.id = opts.id; 5052 script.onload = resolve; 5053 script.onerror = (err) => reject(err || new Error('Failed to load script')); 5054 document.head.appendChild(script); 5055 }); 5056 5057 const parsePixleeCookie = () => { 5058 const findCookie = (name, cookies) => { 5059 const row = cookies.find((entry) => entry.trim().startsWith(`${name}=`)); 5060 if (!row) return null; 5061 const value = row.substring(row.indexOf('=') + 1); 5062 try { 5063 return JSON.parse(decodeURIComponent(decodeURIComponent(value))); 5064 } catch (err) { 5065 try { 5066 return JSON.parse(decodeURIComponent(value)); 5067 } catch (nestedErr) { 5068 return null; 5069 } 5070 } 5071 }; 5072 5073 const cookies = document.cookie.split(';'); 5074 return ( 5075 findCookie('pixlee_analytics_cookie', cookies) || 5076 findCookie('pixlee_analytics_cookie_legacy', cookies) 5077 ); 5078 }; 5079 5080 const hasPixleeUserId = () => { 5081 const cookie = parsePixleeCookie(); 5082 return cookie?.CURRENT_PIXLEE_USER_ID != null && cookie.CURRENT_PIXLEE_USER_ID !== ''; 5083 }; 5084 5085 const mergePixleeCookie = (updates) => { 5086 const existing = parsePixleeCookie() || {}; 5087 const merged = { ...existing, ...updates }; 5088 const encodedValue = encodeURIComponent(JSON.stringify(merged)); 5089 const baseParts = [ 5090 'path=/', 5091 `domain=${window.location.hostname.replace(/^www\./, '')}` 5092 ]; 5093 if (attributionWindow > 0) { 5094 const date = new Date(); 5095 date.setTime(date.getTime() + attributionWindow * 24 * 60 * 60 * 1000); 5096 baseParts.push(`expires=${date.toUTCString()}`); 5097 } 5098 document.cookie = `pixlee_analytics_cookie_legacy=${encodedValue}; ${baseParts.join('; ')}`; 5099 baseParts.push('SameSite=None; Secure'); 5100 document.cookie = `pixlee_analytics_cookie=${encodedValue}; ${baseParts.join('; ')}`; 5101 return merged; 5102 }; 5103 5104 // Fallback for shops explicitly recorded as not having an app web pixel. 5105 const checkChangeAndSendCart = () => { 5106 if (!pixleeUseLegacyCartFallback) { 5107 return; 5108 } 5109 if (window.Shopify?.checkout !== undefined) { 5110 return; 5111 } 5112 5113 const cookie = parsePixleeCookie(); 5114 const uid = cookie?.CURRENT_PIXLEE_USER_ID; 5115 if (!uid) { 5116 log('warn', 'Legacy add-to-cart skipped: Pixlee user ID not available'); 5117 return; 5118 } 5119 5120 const getCart = new XMLHttpRequest(); 5121 getCart.open('GET', '/cart.json'); 5122 getCart.send(); 5123 5124 getCart.onreadystatechange = function() { 5125 if (getCart.readyState !== 4) { 5126 return; 5127 } 5128 if (getCart.status !== 200 && getCart.status !== 201) { 5129 log('warn', 'Legacy add-to-cart failed to load cart', getCart.status); 5130 return; 5131 } 5132 5133 try { 5134 const data = JSON.parse(getCart.responseText); 5135 let productIdsSum = 0; 5136 data.currency ||= window.ShopifyAnalytics?.meta?.currency || 'USD'; 5137 5138 for (let i = 0; i < data.items.length; i++) { 5139 productIdsSum += data.items[i].id * data.items[i].quantity; 5140 } 5141 5142 const analyticsCookie = parsePixleeCookie() || {}; 5143 const existingCartSig = analyticsCookie.pixlee_cart_sig; 5144 if (existingCartSig !== undefined && existingCartSig === productIdsSum) { 5145 return; 5146 } 5147 5148 data.uid = uid; 5149 data.shopify_domain = window.Shopify?.shop; 5150 5151 const sendCart = new XMLHttpRequest(); 5152 sendCart.open('POST', `${pixleeAnalyticsInboundUrl}/events/shopifyCart`); 5153 sendCart.setRequestHeader('Content-Type', 'application/json'); 5154 sendCart.send(JSON.stringify(data)); 5155 5156 sendCart.onreadystatechange = function() { 5157 if (sendCart.readyState !== 4) { 5158 return; 5159 } 5160 if (sendCart.status === 200 || sendCart.status === 201) { 5161 mergePixleeCookie({ pixlee_cart_sig: productIdsSum }); 5162 } else if (sendCart.status !== 0 && sendCart.status !== 403) { 5163 log('warn', 'Legacy add-to-cart failed to send cart', sendCart.status); 5164 } 5165 }; 5166 } catch (err) { 5167 log('warn', 'Legacy add-to-cart failed to parse cart', err); 5168 } 5169 }; 5170 }; 5171 5172 const scheduleCartSnapshot = () => { 5173 if (state.cartSnapshotTimer) { 5174 clearTimeout(state.cartSnapshotTimer); 5175 } 5176 state.cartSnapshotTimer = setTimeout(() => { 5177 state.cartSnapshotTimer = null; 5178 checkChangeAndSendCart(); 5179 }, 250); 5180 }; 5181 5182 const isCartMutation = (url) => {
5183 try { 5184 const path = new URL(url, window.location.origin).pathname; 5185 return /^\/(?:[^/]+\/)?cart\/(?:add|change|update|clear)(?:\.js|\.json)?$/.test(path); 5186 } catch (_err) { 5187 return false; 5188 } 5189 }; 5190 5191 const trackCartMutations = () => { 5192 if (state.legacyCartTrackingStarted || !pixleeUseLegacyCartFallback) { 5193 return; 5194 } 5195 state.legacyCartTrackingStarted = true; 5196 5197 const originalFetch = window.fetch; 5198 if (typeof originalFetch === 'function') { 5199 window.fetch = function(input, init) { 5200 const url = typeof input === 'string' ? input : input?.url; 5201 const requestIsCartMutation = isCartMutation(url); 5202 return originalFetch.call(this, input, init).then((response) => { 5203 if (requestIsCartMutation && response.ok) { 5204 scheduleCartSnapshot(); 5205 } 5206 return response; 5207 }); 5208 }; 5209 } 5210 5211 const originalOpen = XMLHttpRequest.prototype.open; 5212 const originalSend = XMLHttpRequest.prototype.send; 5213 XMLHttpRequest.prototype.open = function(method, url, ...args) { 5214 this.pixleeCartMutation = method?.toUpperCase() !== 'GET' && isCartMutation(url); 5215 return originalOpen.call(this, method, url, ...args); 5216 }; 5217 XMLHttpRequest.prototype.send = function(...args) { 5218 if (this.pixleeCartMutation) { 5219 this.addEventListener('loadend', () => { 5220 if (this.status >= 200 && this.status < 300) { 5221 scheduleCartSnapshot(); 5222 } 5223 }, { once: true }); 5224 } 5225 return originalSend.call(this, ...args); 5226 }; 5227 5228 document.addEventListener('submit', (event) => { 5229 const action = event.target?.action; 5230 if (isCartMutation(action)) { 5231 scheduleCartSnapshot(); 5232 } 5233 }); 5234 }; 5235 5236 const startLegacyCartTracking = async () => { 5237 trackCartMutations(); 5238 if (await waitForPixleeUserId(10000)) { 5239 scheduleCartSnapshot(); 5240 } else { 5241 log('warn', 'Legacy add-to-cart skipped: Pixlee user ID not available'); 5242 } 5243 }; 5244 5245 // Wait for CURRENT_PIXLEE_USER_ID (from pixlee_events.js / getDUH) before legacy cart fallback runs. 5246 const waitForPixleeUserId = (maxMs = 3000, intervalMs = 100) => 5247 new Promise((resolve) => { 5248 if (hasPixleeUserId()) { 5249 resolve(true); 5250 return; 5251 } 5252 5253 const started = Date.now(); 5254 const timer = setInterval(() => { 5255 if (hasPixleeUserId() || Date.now() - started >= maxMs) { 5256 clearInterval(timer); 5257 resolve(hasPixleeUserId()); 5258 } 5259 }, intervalMs); 5260 }); 5261 5262 const createPixleeConsentHelper = () => { 5263 if (window.PixleeAppConsent) { 5264 return window.PixleeAppConsent; 5265 } 5266 5267 let consentAllowed = false; 5268 let ready = false; 5269 const listeners = new Set(); 5270 5271 const notify = () => { 5272 listeners.forEach((cb) => { 5273 try { 5274 cb(consentAllowed); 5275 } catch (err) { 5276 log('error', 'Pixlee consent callback failed:', err); 5277 } 5278 }); 5279 }; 5280 5281 const updateConsent = (allowed) => { 5282 const next = Boolean(allowed); 5283 if (ready && consentAllowed === next) { 5284 return; 5285 } 5286 consentAllowed = next; 5287 ready = true; 5288 notify(); 5289 }; 5290 5291 const evaluateConsent = () => { 5292 const cp = window?.Shopify?.customerPrivacy; 5293 let allowed = false; 5294 5295 if (cp) { 5296 const hasAnalytics = (consentObj) => { 5297 const v = consentObj?.analytics; 5298 return v === 'yes' || v === true || v === 'true'; 5299 }; 5300 const consentValues = []; 5301 5302 try { 5303 if (typeof cp.currentUserConsent === 'function') { 5304 consentValues.push(hasAnalytics(cp.currentUserConsent())); 5305 } 5306 if (typeof cp.currentVisitorConsent === 'function') { 5307 consentValues.push(hasAnalytics(cp.currentVisitorConsent())); 5308 } 5309 } catch (err) { 5310 log('warn', 'Unable to read Shopify consent status:', err); 5311 } 5312 5313 try { 5314 if (consentValues.length > 0) { 5315 allowed = consentValues.every(Boolean); 5316 } else if (typeof cp.userCanBeTracked === 'function') { 5317 allowed = !!cp.userCanBeTracked(); 5318 } 5319 } catch (err) { 5320 log('warn', 'Unable to read Shopify user tracking status:', err); 5321 } 5322 } 5323 5324 updateConsent(allowed); 5325 }; 5326 5327 const attachConsentEvents = () => { 5328 document.addEventListener('visitorConsentCollected', evaluateConsent); 5329 if ( 5330 window.Shopify && 5331 window.Shopify.customerPrivacy && 5332 typeof window.Shopify.customerPrivacy.on === 'function' 5333 ) { 5334 window.Shopify.customerPrivacy.on('consent_changed', evaluateConsent); 5335 } 5336 }; 5337 5338 const initShopifyConsent = () => { 5339 if (!window.Shopify || typeof window.Shopify.loadFeatures !== 'function') { 5340 if (document.readyState === 'loading') { 5341 document.addEventListener('DOMContentLoaded', initShopifyConsent, { once: true }); 5342 } 5343 return; 5344 } 5345 5346 window.Shopify.loadFeatures( 5347 [ 5348 { 5349 name: 'consent-tracking-api', 5350 version: '0.1' 5351 } 5352 ], 5353 function (error) { 5354 if (error) { 5355 log('error', 'Error loading Shopify consent-tracking-api:', error); 5356 return; 5357 } 5358 5359 attachConsentEvents(); 5360 evaluateConsent(); 5361 } 5362 ); 5363 }; 5364 5365 const onChange = (cb) => { 5366 if (typeof cb !== 'function') { 5367 return () => {}; 5368 } 5369 listeners.add(cb); 5370 if (ready) { 5371 try { 5372 cb(consentAllowed); 5373 } catch (err) { 5374 log('error', 'Pixlee consent callback failed:', err); 5375 } 5376 } 5377 return () => listeners.delete(cb); 5378 }; 5379 5380 const api = { 5381 getConsentAllowed: () => consentAllowed, 5382 onChange, 5383 isReady: () => ready, 5384 setConsentOverride: (allowed) => updateConsent(allowed) 5385 }; 5386 5387 window.PixleeAppConsent = api; 5388 window.dispatchEvent(new CustomEvent('pixlee:app-consent-loaded', { 5389 detail: { api: window.PixleeAppConsent } 5390 })); 5391 5392 if (pixleeRequireCookieConsent) { 5393 initShopifyConsent(); 5394 } else { 5395 updateConsent(true); 5396 } 5397 5398 return api; 5399 }; 5400 5401 const unescapeHtml = (str) => { 5402 if (!str || typeof str !== 'string') return str; 5403 const el = document.createElement('textarea'); 5404 el.innerHTML = str; 5405 return el.value; 5406 }; 5407
5408 // Ensure valid widgetId (pg sequence integer) 5409 const toValidWidgetId = (v) => { 5410 if (v == null || v === '') return null; 5411 5412 const n = Number(v); 5413 if (!Number.isFinite(n)) return null; 5414 if (!Number.isInteger(n)) return null; 5415 if (!Number.isSafeInteger(n)) return null; 5416 5417 return n; 5418 }; 5419 5420 // Determine widgetId based on JSON map and localization codes 5421 const resolveWidgetId = (node) => { 5422 // Normalize JSON by stripping all whitespace and using lowercase to minimize user input errors 5423 const raw = unescapeHtml(node.dataset.pixleeWidgetId)?.replace(/\s+/g, '').toLowerCase(); 5424 if (!raw || raw === '') return null; 5425 5426 let parsed; 5427 try { 5428 parsed = JSON.parse(raw); 5429 } catch { 5430 return toValidWidgetId(raw); 5431 } 5432 5433 if (typeof parsed !== 'object' || parsed === null) { 5434 return toValidWidgetId(parsed); 5435 } 5436 5437 // Match normalized JSON keys 5438 const country = (node.dataset.pixleeCountry || 'default').trim().toLowerCase(); 5439 const lang = (node.dataset.pixleeLanguage || 'default').trim().toLowerCase(); 5440 5441 const localeMap = parsed[country] || parsed['default']; 5442 if (!localeMap || typeof localeMap !== 'object') return null; 5443 5444 const value = 5445 localeMap[lang] ?? 5446 localeMap.default; 5447 5448 return toValidWidgetId(value); 5449 }; 5450 5451 const bootstrapWidgets = () => { 5452 try { 5453 const widgets = document.querySelectorAll('[data-pixlee-widget]'); 5454 if (!widgets.length) { 5455 return; 5456 } 5457 5458 window.PixleeAsyncInit = () => { 5459 Pixlee.init({ apiKey: pixleeApiKey }); 5460 5461 const syncWidgetConsent = (allowed) => { 5462 if (!pixleeRequireCookieConsent) return; 5463 if ( 5464 typeof Pixlee.acceptCookiePolicy !== 'function' || 5465 typeof Pixlee.denyCookiePolicy !== 'function' 5466 ) { 5467 return; 5468 } 5469 if (allowed) { 5470 Pixlee.acceptCookiePolicy(); 5471 } else { 5472 Pixlee.denyCookiePolicy(); 5473 } 5474 }; 5475 5476 if (state.consentApi && typeof state.consentApi.onChange === 'function') { 5477 state.consentApi.onChange(syncWidgetConsent); 5478 if (state.consentApi.isReady() && typeof state.consentApi.getConsentAllowed === 'function') { 5479 syncWidgetConsent(state.consentApi.getConsentAllowed()); 5480 } 5481 } 5482 5483 widgets.forEach((node) => { 5484 const containerId = node.getAttribute('id'); 5485 if (!containerId) { 5486 log('warn', 'Pixlee widget missing required attributes:', node); 5487 return; 5488 } 5489 const widgetId = resolveWidgetId(node); 5490 if (!widgetId) { 5491 log('warn', 'Pixlee widget invalid widget-id:', node.dataset.pixleeWidgetId); 5492 return; 5493 } 5494 const widgetType = node.dataset.pixleeWidgetType; 5495 5496 try { 5497 if (widgetType === 'product') { 5498 Pixlee.addProductWidget({ 5499 ecomm_platform: 'shopify', 5500 widgetId, 5501 accountId: pixleeAccountId, 5502 containerId, 5503 getCookieConsent: pixleeRequireCookieConsent 5504 }); 5505 } else if (widgetType === 'collection') { 5506 const collectionId = node.dataset.pixleeCollectionId; 5507 if (collectionId) { 5508 Pixlee.addCategoryWidget({ 5509 ecomm_platform: 'shopify', 5510 widgetId, 5511 nativeCategoryId: collectionId, 5512 containerId, 5513 getCookieConsent: pixleeRequireCookieConsent 5514 }); 5515 } 5516 } else { 5517 const simpleConfig = { 5518 widgetId, 5519 containerId, 5520 getCookieConsent: pixleeRequireCookieConsent 5521 }; 5522 5523 const fallbackAlbumId = node.dataset.pixleeFallbackAlbumId; 5524 const fallbackThreshold = node.dataset.pixleeFallbackThreshold; 5525 5526 if (fallbackAlbumId) { 5527 simpleConfig.fallbackAlbumId = fallbackAlbumId; 5528 } 5529 if (fallbackThreshold) { 5530 simpleConfig.fallbackThreshold = fallbackThreshold; 5531 } 5532 5533 Pixlee.addSimpleWidget(simpleConfig); 5534 } 5535 } catch (error) { 5536 log('error', 'Error initializing Pixlee widget:', error, node); 5537 } 5538 }); 5539 }; 5540 5541 if (!document.getElementById(state.widgetScriptId)) { 5542 loadScript(pixleeWidgetScriptSrc, { id: state.widgetScriptId }).catch((err) => 5543 log('error', 'Failed to load Pixlee widget script:', err) 5544 ); 5545 } 5546 } catch (error) { 5547 log('error', 'Error initializing Pixlee widgets:', error); 5548 } 5549 }; 5550 5551 // Engagement (time on site / Sessions) analytics 5552 const setupEngagementAnalytics = () => {
5553 try { 5554 const loadEventsScript = () => { 5555 if (state.eventsLoaded) return state.eventsLoadPromise; 5556 if (state.eventsLoadPromise) return state.eventsLoadPromise; 5557 state.eventsLoadPromise = loadScript(pixleeEventsScriptSrc, { 5558 id: state.eventsScriptId, 5559 defer: true 5560 }) 5561 .then(() => { 5562 if (typeof window.Pixlee_Analytics !== 'function') { 5563 throw new Error('Pixlee_Analytics unavailable after loading events script'); 5564 } 5565 new window.Pixlee_Analytics( 5566 pixleeApiKey, 5567 attributionWindow 5568 ); 5569 state.eventsLoaded = true; 5570 if (pixleeUseLegacyCartFallback) { 5571 startLegacyCartTracking(); 5572 } 5573 return true; 5574 }) 5575 .catch((err) => { 5576 state.eventsLoaded = false; 5577 state.eventsLoadPromise = null; 5578 throw err; 5579 }); 5580 return state.eventsLoadPromise; 5581 }; 5582 5583 const handleConsentChange = (allowed) => { 5584 const allowAnalytics = pixleeRequireCookieConsent ? !!allowed : true; 5585 if (!allowAnalytics) { 5586 return; 5587 } 5588 5589 loadEventsScript().catch((err) => 5590 log('error', 'Failed to load Pixlee events script:', err) 5591 ); 5592 }; 5593 5594 if (state.consentApi && typeof state.consentApi.onChange === 'function') { 5595 state.consentApi.onChange(handleConsentChange); 5596 if (state.consentApi.isReady() && typeof state.consentApi.getConsentAllowed === 'function') { 5597 handleConsentChange(state.consentApi.getConsentAllowed()); 5598 } 5599 } else if (!pixleeRequireCookieConsent) { 5600 handleConsentChange(true); 5601 } else { 5602 log('warn', 'Consent API unavailable; analytics blocked.'); 5603 } 5604 } catch (error) { 5605 log('error', 'Error initializing Pixlee engagement analytics:', error); 5606 } 5607 }; 5608 5609 onReady(() => { 5610 try { 5611 state.consentApi = createPixleeConsentHelper(); 5612 } catch (error) { 5613 log('error', 'Failed to initialize Pixlee consent helper:', error); 5614 } 5615 5616 bootstrapWidgets(); 5617 setupEngagementAnalytics(); 5618 }); 5619 })(); 5620</script>
5620 5621</div>
5621<script src="https://cdn.shopify.com/storefront/standard-actions.js" type="module" data-source-attribution="shopify.standard_actions"></script>
5621 5622</body> 5623</html>
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.