CINXE.COM

Black Friday Sale – Happiest Baby

<!DOCTYPE html> <html lang="en" class="no-js"> <head><meta name="google-site-verification" content="oa17VFlPltQCBdQ0Ksp9LDLWyxOv6cD5X6cmW0Ieyhk" /><meta charset="utf-8" /> <meta http-equiv="X-UA-Compatible" content="IE=Edge" /> <meta name="viewport" content="width=device-width, initial-scale=1, viewport-fit=cover, shrink-to-fit=no" /><title>Black Friday Sale &ndash; Happiest Baby</title> <script src="//www.happiestbaby.com/cdn/shop/t/1010/assets/utilities.js?v=118626550937449850031732206483" type="text/javascript"></script> <script type="text/javascript" data-script-id="securiti-autoblocking-js" src="https://cdn-prod.securiti.ai/consent/auto_blocking/ad1aef14-21f5-4ff1-97ea-1472a6f700bd/91ffe332-210c-4abe-9178-6d8c0656d10d.js"></script><script> if(HB.utils.readCookie('isShopifyConsentCaptured') === null) { const scriptObserver = new MutationObserver(mutations => { // Get each added node by running through every mutation mutations.forEach( ({addedNodes}) => { // Run through each added node addedNodes.forEach(node => { var targetNode = (node.nodeType === 1 && node.tagName === 'SCRIPT'); if (targetNode) { const src = node.src || ''; const data_set = node.dataset.privacyConsent; const inner_html = node.innerHTML; if(dataPrivacyConsentBlacklist(data_set)) { node.type = "javascript/blocked"; } if(node.id === 'web-pixels-manager-setup') { node.type = "javascript/blocked"; } if(targetNodeBlacklist(src,inner_html)){ // IF 'trekkie.load' is in our Array of Blacklisted Scripts // We need to modify and remove FaceBook and TikTok Pixels // to prevent them from loading on the site (for new visitors). if (inner_html.indexOf('trekkie.load') !== -1) { // Remove FaceBook + TikTok Pixel ID's node.innerHTML = inner_html.replace('TikTok Pixel','Disabled TikTok Pixel').replace('Facebook Pixel','Disabled Facebook Pixel'); } else { node.type = 'javascript/blocked'; node.parentElement.removeChild(node); } } } //endif }) // end addedNodes.forEach() }) // end mutations.forEach }) // end const observer // Starts the monitoring scriptObserver.observe(document.documentElement, { childList: true, subtree: true }); const targetNodeBlacklist = (node_source, node_inner_html)=>{ let blacklistArray = ['trekkie.load']; let isScriptBlocked = false; /* Run through each blacklisted item in the array */ for(i=0; i<blacklistArray.length; i++) { /* Check if node_source matches with anything in blacklistArray */ if (node_source === blacklistArray[i]) { isScriptBlocked = true; } if (node_inner_html.indexOf(blacklistArray[i]) !== -1) { isScriptBlocked = true; } if(isScriptBlocked) { } return isScriptBlocked; } } const dataPrivacyConsentBlacklist = (data_set)=>{ let isScriptBlocked = false; if (data_set === 'true') { isScriptBlocked = true; } return isScriptBlocked; } } </script> <link rel="preload" as="font" href="//www.happiestbaby.com/cdn/shop/t/1010/assets/gotham-book.woff?v=172895733223498325331732206296" type="font/woff" crossorigin /> <link rel="preload" as="font" href="//www.happiestbaby.com/cdn/shop/t/1010/assets/gotham-bookitalic.woff?v=68703057162308690791732206296" type="font/woff" crossorigin /> <link rel="preload" as="font" href="//www.happiestbaby.com/cdn/shop/t/1010/assets/Gotham-Medium.woff?v=71836732682034416091732206298" type="font/woff" crossorigin /> <link rel="preload" as="font" href="//www.happiestbaby.com/cdn/shop/t/1010/assets/gotham-bold.woff?v=81375089064340339691732206295" type="font/woff" crossorigin /> <link rel="preload" as="font" href="//www.happiestbaby.com/cdn/shop/t/1010/assets/gotham-bolditalic.woff?v=112807033502081685311732206295" type="font/woff" crossorigin /> <link rel="preload" as="font" href="//www.happiestbaby.com/cdn/shop/t/1010/assets/gotham-light.woff?v=121106613834846980951732206297" type="font/woff" crossorigin /> <link rel="preload" as="font" href="//www.happiestbaby.com/cdn/shop/t/1010/assets/gotham-lightitalic.woff?v=143923439358965689401732206297" type="font/woff" crossorigin /> <link rel="preload" as="font" href="//www.happiestbaby.com/cdn/shop/t/1010/assets/algolia_dependency_fontawesome-webfont.woff2?v=4.4.0&v=146735120277129382101732206168" type="font/woff2" crossorigin /><link rel="preload" href="//www.happiestbaby.com/cdn/shop/t/1010/assets/theme.css?v=15121534951098070161732206522" as="style" /> <link rel="preload" href="//www.happiestbaby.com/cdn/shop/t/1010/assets/vendor-head-defer.js?v=74277473891599345111732206484" as="script" /><script>/*! jQuery v3.6.0 | (c) OpenJS Foundation and other contributors | jquery.org/license */ !function(e,t){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=e.document?t(e,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return t(e)}:t(e)}("undefined"!=typeof window?window:this,function(C,e){"use strict";var t=[],r=Object.getPrototypeOf,s=t.slice,g=t.flat?function(e){return t.flat.call(e)}:function(e){return t.concat.apply([],e)},u=t.push,i=t.indexOf,n={},o=n.toString,v=n.hasOwnProperty,a=v.toString,l=a.call(Object),y={},m=function(e){return"function"==typeof e&&"number"!=typeof e.nodeType&&"function"!=typeof e.item},x=function(e){return null!=e&&e===e.window},E=C.document,c={type:!0,src:!0,nonce:!0,noModule:!0};function b(e,t,n){var r,i,o=(n=n||E).createElement("script");if(o.text=e,t)for(r in c)(i=t[r]||t.getAttribute&&t.getAttribute(r))&&o.setAttribute(r,i);n.head.appendChild(o).parentNode.removeChild(o)}function w(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?n[o.call(e)]||"object":typeof e}var f="3.6.0",S=function(e,t){return new S.fn.init(e,t)};function p(e){var t=!!e&&"length"in e&&e.length,n=w(e);return!m(e)&&!x(e)&&("array"===n||0===t||"number"==typeof t&&0<t&&t-1 in e)}S.fn=S.prototype={jquery:f,constructor:S,length:0,toArray:function(){return s.call(this)},get:function(e){return null==e?s.call(this):e<0?this[e+this.length]:this[e]},pushStack:function(e){var t=S.merge(this.constructor(),e);return t.prevObject=this,t},each:function(e){return S.each(this,e)},map:function(n){return this.pushStack(S.map(this,function(e,t){return n.call(e,t,e)}))},slice:function(){return this.pushStack(s.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},even:function(){return this.pushStack(S.grep(this,function(e,t){return(t+1)%2}))},odd:function(){return this.pushStack(S.grep(this,function(e,t){return t%2}))},eq:function(e){var t=this.length,n=+e+(e<0?t:0);return this.pushStack(0<=n&&n<t?[this[n]]:[])},end:function(){return this.prevObject||this.constructor()},push:u,sort:t.sort,splice:t.splice},S.extend=S.fn.extend=function(){var e,t,n,r,i,o,a=arguments[0]||{},s=1,u=arguments.length,l=!1;for("boolean"==typeof a&&(l=a,a=arguments[s]||{},s++),"object"==typeof a||m(a)||(a={}),s===u&&(a=this,s--);s<u;s++)if(null!=(e=arguments[s]))for(t in e)r=e[t],"__proto__"!==t&&a!==r&&(l&&r&&(S.isPlainObject(r)||(i=Array.isArray(r)))?(n=a[t],o=i&&!Array.isArray(n)?[]:i||S.isPlainObject(n)?n:{},i=!1,a[t]=S.extend(l,o,r)):void 0!==r&&(a[t]=r));return a},S.extend({expando:"jQuery"+(f+Math.random()).replace(/\D/g,""),isReady:!0,error:function(e){throw new Error(e)},noop:function(){},isPlainObject:function(e){var t,n;return!(!e||"[object Object]"!==o.call(e))&&(!(t=r(e))||"function"==typeof(n=v.call(t,"constructor")&&t.constructor)&&a.call(n)===l)},isEmptyObject:function(e){var t;for(t in e)return!1;return!0},globalEval:function(e,t,n){b(e,{nonce:t&&t.nonce},n)},each:function(e,t){var n,r=0;if(p(e)){for(n=e.length;r<n;r++)if(!1===t.call(e[r],r,e[r]))break}else for(r in e)if(!1===t.call(e[r],r,e[r]))break;return e},makeArray:function(e,t){var n=t||[];return null!=e&&(p(Object(e))?S.merge(n,"string"==typeof e?[e]:e):u.call(n,e)),n},inArray:function(e,t,n){return null==t?-1:i.call(t,e,n)},merge:function(e,t){for(var n=+t.length,r=0,i=e.length;r<n;r++)e[i++]=t[r];return e.length=i,e},grep:function(e,t,n){for(var r=[],i=0,o=e.length,a=!n;i<o;i++)!t(e[i],i)!==a&&r.push(e[i]);return r},map:function(e,t,n){var r,i,o=0,a=[];if(p(e))for(r=e.length;o<r;o++)null!=(i=t(e[o],o,n))&&a.push(i);else for(o in e)null!=(i=t(e[o],o,n))&&a.push(i);return g(a)},guid:1,support:y}),"function"==typeof Symbol&&(S.fn[Symbol.iterator]=t[Symbol.iterator]),S.each("Boolean Number String Function Array Date RegExp Object Error Symbol".split(" "),function(e,t){n["[object "+t+"]"]=t.toLowerCase()});var d=function(n){var e,d,b,o,i,h,f,g,w,u,l,T,C,a,E,v,s,c,y,S="sizzle"+1*new Date,p=n.document,k=0,r=0,m=ue(),x=ue(),A=ue(),N=ue(),j=function(e,t){return e===t&&(l=!0),0},D={}.hasOwnProperty,t=[],q=t.pop,L=t.push,H=t.push,O=t.slice,P=function(e,t){for(var n=0,r=e.length;n<r;n++)if(e[n]===t)return n;return-1},R="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",M="[\\x20\\t\\r\\n\\f]",I="(?:\\\\[\\da-fA-F]{1,6}"+M+"?|\\\\[^\\r\\n\\f]|[\\w-]|[^\0-\\x7f])+",W="\\["+M+"*("+I+")(?:"+M+"*([*^$|!~]?=)"+M+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+I+"))|)"+M+"*\\]",F=":("+I+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+W+")*)|.*)\\)|)",B=new RegExp(M+"+","g"),$=new RegExp("^"+M+"+|((?:^|[^\\\\])(?:\\\\.)*)"+M+"+$","g"),_=new RegExp("^"+M+"*,"+M+"*"),z=new RegExp("^"+M+"*([>+~]|"+M+")"+M+"*"),U=new RegExp(M+"|>"),X=new RegExp(F),V=new RegExp("^"+I+"$"),G={ID:new RegExp("^#("+I+")"),CLASS:new RegExp("^\\.("+I+")"),TAG:new RegExp("^("+I+"|[*])"),ATTR:new RegExp("^"+W),PSEUDO:new RegExp("^"+F),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+M+"*(even|odd|(([+-]|)(\\d*)n|)"+M+"*(?:([+-]|)"+M+"*(\\d+)|))"+M+"*\\)|)","i"),bool:new RegExp("^(?:"+R+")$","i"),needsContext:new RegExp("^"+M+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+M+"*((?:-\\d)?\\d*)"+M+"*\\)|)(?=[^-]|$)","i")},Y=/HTML$/i,Q=/^(?:input|select|textarea|button)$/i,J=/^h\d$/i,K=/^[^{]+\{\s*\[native \w/,Z=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ee=/[+~]/,te=new RegExp("\\\\[\\da-fA-F]{1,6}"+M+"?|\\\\([^\\r\\n\\f])","g"),ne=function(e,t){var n="0x"+e.slice(1)-65536;return t||(n<0?String.fromCharCode(n+65536):String.fromCharCode(n>>10|55296,1023&n|56320))},re=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,ie=function(e,t){return t?"\0"===e?"\ufffd":e.slice(0,-1)+"\\"+e.charCodeAt(e.length-1).toString(16)+" ":"\\"+e},oe=function(){T()},ae=be(function(e){return!0===e.disabled&&"fieldset"===e.nodeName.toLowerCase()},{dir:"parentNode",next:"legend"});try{H.apply(t=O.call(p.childNodes),p.childNodes),t[p.childNodes.length].nodeType}catch(e){H={apply:t.length?function(e,t){L.apply(e,O.call(t))}:function(e,t){var n=e.length,r=0;while(e[n++]=t[r++]);e.length=n-1}}}function se(t,e,n,r){var i,o,a,s,u,l,c,f=e&&e.ownerDocument,p=e?e.nodeType:9;if(n=n||[],"string"!=typeof t||!t||1!==p&&9!==p&&11!==p)return n;if(!r&&(T(e),e=e||C,E)){if(11!==p&&(u=Z.exec(t)))if(i=u[1]){if(9===p){if(!(a=e.getElementById(i)))return n;if(a.id===i)return n.push(a),n}else if(f&&(a=f.getElementById(i))&&y(e,a)&&a.id===i)return n.push(a),n}else{if(u[2])return H.apply(n,e.getElementsByTagName(t)),n;if((i=u[3])&&d.getElementsByClassName&&e.getElementsByClassName)return H.apply(n,e.getElementsByClassName(i)),n}if(d.qsa&&!N[t+" "]&&(!v||!v.test(t))&&(1!==p||"object"!==e.nodeName.toLowerCase())){if(c=t,f=e,1===p&&(U.test(t)||z.test(t))){(f=ee.test(t)&&ye(e.parentNode)||e)===e&&d.scope||((s=e.getAttribute("id"))?s=s.replace(re,ie):e.setAttribute("id",s=S)),o=(l=h(t)).length;while(o--)l[o]=(s?"#"+s:":scope")+" "+xe(l[o]);c=l.join(",")}try{return H.apply(n,f.querySelectorAll(c)),n}catch(e){N(t,!0)}finally{s===S&&e.removeAttribute("id")}}}return g(t.replace($,"$1"),e,n,r)}function ue(){var r=[];return function e(t,n){return r.push(t+" ")>b.cacheLength&&delete e[r.shift()],e[t+" "]=n}}function le(e){return e[S]=!0,e}function ce(e){var t=C.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function fe(e,t){var n=e.split("|"),r=n.length;while(r--)b.attrHandle[n[r]]=t}function pe(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&e.sourceIndex-t.sourceIndex;if(r)return r;if(n)while(n=n.nextSibling)if(n===t)return-1;return e?1:-1}function de(t){return function(e){return"input"===e.nodeName.toLowerCase()&&e.type===t}}function he(n){return function(e){var t=e.nodeName.toLowerCase();return("input"===t||"button"===t)&&e.type===n}}function ge(t){return function(e){return"form"in e?e.parentNode&&!1===e.disabled?"label"in e?"label"in e.parentNode?e.parentNode.disabled===t:e.disabled===t:e.isDisabled===t||e.isDisabled!==!t&&ae(e)===t:e.disabled===t:"label"in e&&e.disabled===t}}function ve(a){return le(function(o){return o=+o,le(function(e,t){var n,r=a([],e.length,o),i=r.length;while(i--)e[n=r[i]]&&(e[n]=!(t[n]=e[n]))})})}function ye(e){return e&&"undefined"!=typeof e.getElementsByTagName&&e}for(e in d=se.support={},i=se.isXML=function(e){var t=e&&e.namespaceURI,n=e&&(e.ownerDocument||e).documentElement;return!Y.test(t||n&&n.nodeName||"HTML")},T=se.setDocument=function(e){var t,n,r=e?e.ownerDocument||e:p;return r!=C&&9===r.nodeType&&r.documentElement&&(a=(C=r).documentElement,E=!i(C),p!=C&&(n=C.defaultView)&&n.top!==n&&(n.addEventListener?n.addEventListener("unload",oe,!1):n.attachEvent&&n.attachEvent("onunload",oe)),d.scope=ce(function(e){return a.appendChild(e).appendChild(C.createElement("div")),"undefined"!=typeof e.querySelectorAll&&!e.querySelectorAll(":scope fieldset div").length}),d.attributes=ce(function(e){return e.className="i",!e.getAttribute("className")}),d.getElementsByTagName=ce(function(e){return e.appendChild(C.createComment("")),!e.getElementsByTagName("*").length}),d.getElementsByClassName=K.test(C.getElementsByClassName),d.getById=ce(function(e){return a.appendChild(e).id=S,!C.getElementsByName||!C.getElementsByName(S).length}),d.getById?(b.filter.ID=function(e){var t=e.replace(te,ne);return function(e){return e.getAttribute("id")===t}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n=t.getElementById(e);return n?[n]:[]}}):(b.filter.ID=function(e){var n=e.replace(te,ne);return function(e){var t="undefined"!=typeof e.getAttributeNode&&e.getAttributeNode("id");return t&&t.value===n}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n,r,i,o=t.getElementById(e);if(o){if((n=o.getAttributeNode("id"))&&n.value===e)return[o];i=t.getElementsByName(e),r=0;while(o=i[r++])if((n=o.getAttributeNode("id"))&&n.value===e)return[o]}return[]}}),b.find.TAG=d.getElementsByTagName?function(e,t){return"undefined"!=typeof t.getElementsByTagName?t.getElementsByTagName(e):d.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"===e){while(n=o[i++])1===n.nodeType&&r.push(n);return r}return o},b.find.CLASS=d.getElementsByClassName&&function(e,t){if("undefined"!=typeof t.getElementsByClassName&&E)return t.getElementsByClassName(e)},s=[],v=[],(d.qsa=K.test(C.querySelectorAll))&&(ce(function(e){var t;a.appendChild(e).innerHTML="<a id='"+S+"'></a><select id='"+S+"-\r\\' msallowcapture=''><option selected=''></option></select>",e.querySelectorAll("[msallowcapture^='']").length&&v.push("[*^$]="+M+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||v.push("\\["+M+"*(?:value|"+R+")"),e.querySelectorAll("[id~="+S+"-]").length||v.push("~="),(t=C.createElement("input")).setAttribute("name",""),e.appendChild(t),e.querySelectorAll("[name='']").length||v.push("\\["+M+"*name"+M+"*="+M+"*(?:''|\"\")"),e.querySelectorAll(":checked").length||v.push(":checked"),e.querySelectorAll("a#"+S+"+*").length||v.push(".#.+[+~]"),e.querySelectorAll("\\\f"),v.push("[\\r\\n\\f]")}),ce(function(e){e.innerHTML="<a href='' disabled='disabled'></a><select disabled='disabled'><option/></select>";var t=C.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&v.push("name"+M+"*[*^$|!~]?="),2!==e.querySelectorAll(":enabled").length&&v.push(":enabled",":disabled"),a.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&v.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),v.push(",.*:")})),(d.matchesSelector=K.test(c=a.matches||a.webkitMatchesSelector||a.mozMatchesSelector||a.oMatchesSelector||a.msMatchesSelector))&&ce(function(e){d.disconnectedMatch=c.call(e,"*"),c.call(e,"[s!='']:x"),s.push("!=",F)}),v=v.length&&new RegExp(v.join("|")),s=s.length&&new RegExp(s.join("|")),t=K.test(a.compareDocumentPosition),y=t||K.test(a.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)while(t=t.parentNode)if(t===e)return!0;return!1},j=t?function(e,t){if(e===t)return l=!0,0;var n=!e.compareDocumentPosition-!t.compareDocumentPosition;return n||(1&(n=(e.ownerDocument||e)==(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!d.sortDetached&&t.compareDocumentPosition(e)===n?e==C||e.ownerDocument==p&&y(p,e)?-1:t==C||t.ownerDocument==p&&y(p,t)?1:u?P(u,e)-P(u,t):0:4&n?-1:1)}:function(e,t){if(e===t)return l=!0,0;var n,r=0,i=e.parentNode,o=t.parentNode,a=[e],s=[t];if(!i||!o)return e==C?-1:t==C?1:i?-1:o?1:u?P(u,e)-P(u,t):0;if(i===o)return pe(e,t);n=e;while(n=n.parentNode)a.unshift(n);n=t;while(n=n.parentNode)s.unshift(n);while(a[r]===s[r])r++;return r?pe(a[r],s[r]):a[r]==p?-1:s[r]==p?1:0}),C},se.matches=function(e,t){return se(e,null,null,t)},se.matchesSelector=function(e,t){if(T(e),d.matchesSelector&&E&&!N[t+" "]&&(!s||!s.test(t))&&(!v||!v.test(t)))try{var n=c.call(e,t);if(n||d.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(e){N(t,!0)}return 0<se(t,C,null,[e]).length},se.contains=function(e,t){return(e.ownerDocument||e)!=C&&T(e),y(e,t)},se.attr=function(e,t){(e.ownerDocument||e)!=C&&T(e);var n=b.attrHandle[t.toLowerCase()],r=n&&D.call(b.attrHandle,t.toLowerCase())?n(e,t,!E):void 0;return void 0!==r?r:d.attributes||!E?e.getAttribute(t):(r=e.getAttributeNode(t))&&r.specified?r.value:null},se.escape=function(e){return(e+"").replace(re,ie)},se.error=function(e){throw new Error("Syntax error, unrecognized expression: "+e)},se.uniqueSort=function(e){var t,n=[],r=0,i=0;if(l=!d.detectDuplicates,u=!d.sortStable&&e.slice(0),e.sort(j),l){while(t=e[i++])t===e[i]&&(r=n.push(i));while(r--)e.splice(n[r],1)}return u=null,e},o=se.getText=function(e){var t,n="",r=0,i=e.nodeType;if(i){if(1===i||9===i||11===i){if("string"==typeof e.textContent)return e.textContent;for(e=e.firstChild;e;e=e.nextSibling)n+=o(e)}else if(3===i||4===i)return e.nodeValue}else while(t=e[r++])n+=o(t);return n},(b=se.selectors={cacheLength:50,createPseudo:le,match:G,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(te,ne),e[3]=(e[3]||e[4]||e[5]||"").replace(te,ne),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||se.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&se.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return G.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&X.test(n)&&(t=h(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(te,ne).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=m[e+" "];return t||(t=new RegExp("(^|"+M+")"+e+"("+M+"|$)"))&&m(e,function(e){return t.test("string"==typeof e.className&&e.className||"undefined"!=typeof e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(n,r,i){return function(e){var t=se.attr(e,n);return null==t?"!="===r:!r||(t+="","="===r?t===i:"!="===r?t!==i:"^="===r?i&&0===t.indexOf(i):"*="===r?i&&-1<t.indexOf(i):"$="===r?i&&t.slice(-i.length)===i:"~="===r?-1<(" "+t.replace(B," ")+" ").indexOf(i):"|="===r&&(t===i||t.slice(0,i.length+1)===i+"-"))}},CHILD:function(h,e,t,g,v){var y="nth"!==h.slice(0,3),m="last"!==h.slice(-4),x="of-type"===e;return 1===g&&0===v?function(e){return!!e.parentNode}:function(e,t,n){var r,i,o,a,s,u,l=y!==m?"nextSibling":"previousSibling",c=e.parentNode,f=x&&e.nodeName.toLowerCase(),p=!n&&!x,d=!1;if(c){if(y){while(l){a=e;while(a=a[l])if(x?a.nodeName.toLowerCase()===f:1===a.nodeType)return!1;u=l="only"===h&&!u&&"nextSibling"}return!0}if(u=[m?c.firstChild:c.lastChild],m&&p){d=(s=(r=(i=(o=(a=c)[S]||(a[S]={}))[a.uniqueID]||(o[a.uniqueID]={}))[h]||[])[0]===k&&r[1])&&r[2],a=s&&c.childNodes[s];while(a=++s&&a&&a[l]||(d=s=0)||u.pop())if(1===a.nodeType&&++d&&a===e){i[h]=[k,s,d];break}}else if(p&&(d=s=(r=(i=(o=(a=e)[S]||(a[S]={}))[a.uniqueID]||(o[a.uniqueID]={}))[h]||[])[0]===k&&r[1]),!1===d)while(a=++s&&a&&a[l]||(d=s=0)||u.pop())if((x?a.nodeName.toLowerCase()===f:1===a.nodeType)&&++d&&(p&&((i=(o=a[S]||(a[S]={}))[a.uniqueID]||(o[a.uniqueID]={}))[h]=[k,d]),a===e))break;return(d-=v)===g||d%g==0&&0<=d/g}}},PSEUDO:function(e,o){var t,a=b.pseudos[e]||b.setFilters[e.toLowerCase()]||se.error("unsupported pseudo: "+e);return a[S]?a(o):1<a.length?(t=[e,e,"",o],b.setFilters.hasOwnProperty(e.toLowerCase())?le(function(e,t){var n,r=a(e,o),i=r.length;while(i--)e[n=P(e,r[i])]=!(t[n]=r[i])}):function(e){return a(e,0,t)}):a}},pseudos:{not:le(function(e){var r=[],i=[],s=f(e.replace($,"$1"));return s[S]?le(function(e,t,n,r){var i,o=s(e,null,r,[]),a=e.length;while(a--)(i=o[a])&&(e[a]=!(t[a]=i))}):function(e,t,n){return r[0]=e,s(r,null,n,i),r[0]=null,!i.pop()}}),has:le(function(t){return function(e){return 0<se(t,e).length}}),contains:le(function(t){return t=t.replace(te,ne),function(e){return-1<(e.textContent||o(e)).indexOf(t)}}),lang:le(function(n){return V.test(n||"")||se.error("unsupported lang: "+n),n=n.replace(te,ne).toLowerCase(),function(e){var t;do{if(t=E?e.lang:e.getAttribute("xml:lang")||e.getAttribute("lang"))return(t=t.toLowerCase())===n||0===t.indexOf(n+"-")}while((e=e.parentNode)&&1===e.nodeType);return!1}}),target:function(e){var t=n.location&&n.location.hash;return t&&t.slice(1)===e.id},root:function(e){return e===a},focus:function(e){return e===C.activeElement&&(!C.hasFocus||C.hasFocus())&&!!(e.type||e.href||~e.tabIndex)},enabled:ge(!1),disabled:ge(!0),checked:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&!!e.checked||"option"===t&&!!e.selected},selected:function(e){return e.parentNode&&e.parentNode.selectedIndex,!0===e.selected},empty:function(e){for(e=e.firstChild;e;e=e.nextSibling)if(e.nodeType<6)return!1;return!0},parent:function(e){return!b.pseudos.empty(e)},header:function(e){return J.test(e.nodeName)},input:function(e){return Q.test(e.nodeName)},button:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&"button"===e.type||"button"===t},text:function(e){var t;return"input"===e.nodeName.toLowerCase()&&"text"===e.type&&(null==(t=e.getAttribute("type"))||"text"===t.toLowerCase())},first:ve(function(){return[0]}),last:ve(function(e,t){return[t-1]}),eq:ve(function(e,t,n){return[n<0?n+t:n]}),even:ve(function(e,t){for(var n=0;n<t;n+=2)e.push(n);return e}),odd:ve(function(e,t){for(var n=1;n<t;n+=2)e.push(n);return e}),lt:ve(function(e,t,n){for(var r=n<0?n+t:t<n?t:n;0<=--r;)e.push(r);return e}),gt:ve(function(e,t,n){for(var r=n<0?n+t:n;++r<t;)e.push(r);return e})}}).pseudos.nth=b.pseudos.eq,{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})b.pseudos[e]=de(e);for(e in{submit:!0,reset:!0})b.pseudos[e]=he(e);function me(){}function xe(e){for(var t=0,n=e.length,r="";t<n;t++)r+=e[t].value;return r}function be(s,e,t){var u=e.dir,l=e.next,c=l||u,f=t&&"parentNode"===c,p=r++;return e.first?function(e,t,n){while(e=e[u])if(1===e.nodeType||f)return s(e,t,n);return!1}:function(e,t,n){var r,i,o,a=[k,p];if(n){while(e=e[u])if((1===e.nodeType||f)&&s(e,t,n))return!0}else while(e=e[u])if(1===e.nodeType||f)if(i=(o=e[S]||(e[S]={}))[e.uniqueID]||(o[e.uniqueID]={}),l&&l===e.nodeName.toLowerCase())e=e[u]||e;else{if((r=i[c])&&r[0]===k&&r[1]===p)return a[2]=r[2];if((i[c]=a)[2]=s(e,t,n))return!0}return!1}}function we(i){return 1<i.length?function(e,t,n){var r=i.length;while(r--)if(!i[r](e,t,n))return!1;return!0}:i[0]}function Te(e,t,n,r,i){for(var o,a=[],s=0,u=e.length,l=null!=t;s<u;s++)(o=e[s])&&(n&&!n(o,r,i)||(a.push(o),l&&t.push(s)));return a}function Ce(d,h,g,v,y,e){return v&&!v[S]&&(v=Ce(v)),y&&!y[S]&&(y=Ce(y,e)),le(function(e,t,n,r){var i,o,a,s=[],u=[],l=t.length,c=e||function(e,t,n){for(var r=0,i=t.length;r<i;r++)se(e,t[r],n);return n}(h||"*",n.nodeType?[n]:n,[]),f=!d||!e&&h?c:Te(c,s,d,n,r),p=g?y||(e?d:l||v)?[]:t:f;if(g&&g(f,p,n,r),v){i=Te(p,u),v(i,[],n,r),o=i.length;while(o--)(a=i[o])&&(p[u[o]]=!(f[u[o]]=a))}if(e){if(y||d){if(y){i=[],o=p.length;while(o--)(a=p[o])&&i.push(f[o]=a);y(null,p=[],i,r)}o=p.length;while(o--)(a=p[o])&&-1<(i=y?P(e,a):s[o])&&(e[i]=!(t[i]=a))}}else p=Te(p===t?p.splice(l,p.length):p),y?y(null,t,p,r):H.apply(t,p)})}function Ee(e){for(var i,t,n,r=e.length,o=b.relative[e[0].type],a=o||b.relative[" "],s=o?1:0,u=be(function(e){return e===i},a,!0),l=be(function(e){return-1<P(i,e)},a,!0),c=[function(e,t,n){var r=!o&&(n||t!==w)||((i=t).nodeType?u(e,t,n):l(e,t,n));return i=null,r}];s<r;s++)if(t=b.relative[e[s].type])c=[be(we(c),t)];else{if((t=b.filter[e[s].type].apply(null,e[s].matches))[S]){for(n=++s;n<r;n++)if(b.relative[e[n].type])break;return Ce(1<s&&we(c),1<s&&xe(e.slice(0,s-1).concat({value:" "===e[s-2].type?"*":""})).replace($,"$1"),t,s<n&&Ee(e.slice(s,n)),n<r&&Ee(e=e.slice(n)),n<r&&xe(e))}c.push(t)}return we(c)}return me.prototype=b.filters=b.pseudos,b.setFilters=new me,h=se.tokenize=function(e,t){var n,r,i,o,a,s,u,l=x[e+" "];if(l)return t?0:l.slice(0);a=e,s=[],u=b.preFilter;while(a){for(o in n&&!(r=_.exec(a))||(r&&(a=a.slice(r[0].length)||a),s.push(i=[])),n=!1,(r=z.exec(a))&&(n=r.shift(),i.push({value:n,type:r[0].replace($," ")}),a=a.slice(n.length)),b.filter)!(r=G[o].exec(a))||u[o]&&!(r=u[o](r))||(n=r.shift(),i.push({value:n,type:o,matches:r}),a=a.slice(n.length));if(!n)break}return t?a.length:a?se.error(e):x(e,s).slice(0)},f=se.compile=function(e,t){var n,v,y,m,x,r,i=[],o=[],a=A[e+" "];if(!a){t||(t=h(e)),n=t.length;while(n--)(a=Ee(t[n]))[S]?i.push(a):o.push(a);(a=A(e,(v=o,m=0<(y=i).length,x=0<v.length,r=function(e,t,n,r,i){var o,a,s,u=0,l="0",c=e&&[],f=[],p=w,d=e||x&&b.find.TAG("*",i),h=k+=null==p?1:Math.random()||.1,g=d.length;for(i&&(w=t==C||t||i);l!==g&&null!=(o=d[l]);l++){if(x&&o){a=0,t||o.ownerDocument==C||(T(o),n=!E);while(s=v[a++])if(s(o,t||C,n)){r.push(o);break}i&&(k=h)}m&&((o=!s&&o)&&u--,e&&c.push(o))}if(u+=l,m&&l!==u){a=0;while(s=y[a++])s(c,f,t,n);if(e){if(0<u)while(l--)c[l]||f[l]||(f[l]=q.call(r));f=Te(f)}H.apply(r,f),i&&!e&&0<f.length&&1<u+y.length&&se.uniqueSort(r)}return i&&(k=h,w=p),c},m?le(r):r))).selector=e}return a},g=se.select=function(e,t,n,r){var i,o,a,s,u,l="function"==typeof e&&e,c=!r&&h(e=l.selector||e);if(n=n||[],1===c.length){if(2<(o=c[0]=c[0].slice(0)).length&&"ID"===(a=o[0]).type&&9===t.nodeType&&E&&b.relative[o[1].type]){if(!(t=(b.find.ID(a.matches[0].replace(te,ne),t)||[])[0]))return n;l&&(t=t.parentNode),e=e.slice(o.shift().value.length)}i=G.needsContext.test(e)?0:o.length;while(i--){if(a=o[i],b.relative[s=a.type])break;if((u=b.find[s])&&(r=u(a.matches[0].replace(te,ne),ee.test(o[0].type)&&ye(t.parentNode)||t))){if(o.splice(i,1),!(e=r.length&&xe(o)))return H.apply(n,r),n;break}}}return(l||f(e,c))(r,t,!E,n,!t||ee.test(e)&&ye(t.parentNode)||t),n},d.sortStable=S.split("").sort(j).join("")===S,d.detectDuplicates=!!l,T(),d.sortDetached=ce(function(e){return 1&e.compareDocumentPosition(C.createElement("fieldset"))}),ce(function(e){return e.innerHTML="<a href='#'></a>","#"===e.firstChild.getAttribute("href")})||fe("type|href|height|width",function(e,t,n){if(!n)return e.getAttribute(t,"type"===t.toLowerCase()?1:2)}),d.attributes&&ce(function(e){return e.innerHTML="<input/>",e.firstChild.setAttribute("value",""),""===e.firstChild.getAttribute("value")})||fe("value",function(e,t,n){if(!n&&"input"===e.nodeName.toLowerCase())return e.defaultValue}),ce(function(e){return null==e.getAttribute("disabled")})||fe(R,function(e,t,n){var r;if(!n)return!0===e[t]?t.toLowerCase():(r=e.getAttributeNode(t))&&r.specified?r.value:null}),se}(C);S.find=d,S.expr=d.selectors,S.expr[":"]=S.expr.pseudos,S.uniqueSort=S.unique=d.uniqueSort,S.text=d.getText,S.isXMLDoc=d.isXML,S.contains=d.contains,S.escapeSelector=d.escape;var h=function(e,t,n){var r=[],i=void 0!==n;while((e=e[t])&&9!==e.nodeType)if(1===e.nodeType){if(i&&S(e).is(n))break;r.push(e)}return r},T=function(e,t){for(var n=[];e;e=e.nextSibling)1===e.nodeType&&e!==t&&n.push(e);return n},k=S.expr.match.needsContext;function A(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()}var N=/^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function j(e,n,r){return m(n)?S.grep(e,function(e,t){return!!n.call(e,t,e)!==r}):n.nodeType?S.grep(e,function(e){return e===n!==r}):"string"!=typeof n?S.grep(e,function(e){return-1<i.call(n,e)!==r}):S.filter(n,e,r)}S.filter=function(e,t,n){var r=t[0];return n&&(e=":not("+e+")"),1===t.length&&1===r.nodeType?S.find.matchesSelector(r,e)?[r]:[]:S.find.matches(e,S.grep(t,function(e){return 1===e.nodeType}))},S.fn.extend({find:function(e){var t,n,r=this.length,i=this;if("string"!=typeof e)return this.pushStack(S(e).filter(function(){for(t=0;t<r;t++)if(S.contains(i[t],this))return!0}));for(n=this.pushStack([]),t=0;t<r;t++)S.find(e,i[t],n);return 1<r?S.uniqueSort(n):n},filter:function(e){return this.pushStack(j(this,e||[],!1))},not:function(e){return this.pushStack(j(this,e||[],!0))},is:function(e){return!!j(this,"string"==typeof e&&k.test(e)?S(e):e||[],!1).length}});var D,q=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/;(S.fn.init=function(e,t,n){var r,i;if(!e)return this;if(n=n||D,"string"==typeof e){if(!(r="<"===e[0]&&">"===e[e.length-1]&&3<=e.length?[null,e,null]:q.exec(e))||!r[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(r[1]){if(t=t instanceof S?t[0]:t,S.merge(this,S.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:E,!0)),N.test(r[1])&&S.isPlainObject(t))for(r in t)m(this[r])?this[r](t[r]):this.attr(r,t[r]);return this}return(i=E.getElementById(r[2]))&&(this[0]=i,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):m(e)?void 0!==n.ready?n.ready(e):e(S):S.makeArray(e,this)}).prototype=S.fn,D=S(E);var L=/^(?:parents|prev(?:Until|All))/,H={children:!0,contents:!0,next:!0,prev:!0};function O(e,t){while((e=e[t])&&1!==e.nodeType);return e}S.fn.extend({has:function(e){var t=S(e,this),n=t.length;return this.filter(function(){for(var e=0;e<n;e++)if(S.contains(this,t[e]))return!0})},closest:function(e,t){var n,r=0,i=this.length,o=[],a="string"!=typeof e&&S(e);if(!k.test(e))for(;r<i;r++)for(n=this[r];n&&n!==t;n=n.parentNode)if(n.nodeType<11&&(a?-1<a.index(n):1===n.nodeType&&S.find.matchesSelector(n,e))){o.push(n);break}return this.pushStack(1<o.length?S.uniqueSort(o):o)},index:function(e){return e?"string"==typeof e?i.call(S(e),this[0]):i.call(this,e.jquery?e[0]:e):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(e,t){return this.pushStack(S.uniqueSort(S.merge(this.get(),S(e,t))))},addBack:function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}}),S.each({parent:function(e){var t=e.parentNode;return t&&11!==t.nodeType?t:null},parents:function(e){return h(e,"parentNode")},parentsUntil:function(e,t,n){return h(e,"parentNode",n)},next:function(e){return O(e,"nextSibling")},prev:function(e){return O(e,"previousSibling")},nextAll:function(e){return h(e,"nextSibling")},prevAll:function(e){return h(e,"previousSibling")},nextUntil:function(e,t,n){return h(e,"nextSibling",n)},prevUntil:function(e,t,n){return h(e,"previousSibling",n)},siblings:function(e){return T((e.parentNode||{}).firstChild,e)},children:function(e){return T(e.firstChild)},contents:function(e){return null!=e.contentDocument&&r(e.contentDocument)?e.contentDocument:(A(e,"template")&&(e=e.content||e),S.merge([],e.childNodes))}},function(r,i){S.fn[r]=function(e,t){var n=S.map(this,i,e);return"Until"!==r.slice(-5)&&(t=e),t&&"string"==typeof t&&(n=S.filter(t,n)),1<this.length&&(H[r]||S.uniqueSort(n),L.test(r)&&n.reverse()),this.pushStack(n)}});var P=/[^\x20\t\r\n\f]+/g;function R(e){return e}function M(e){throw e}function I(e,t,n,r){var i;try{e&&m(i=e.promise)?i.call(e).done(t).fail(n):e&&m(i=e.then)?i.call(e,t,n):t.apply(void 0,[e].slice(r))}catch(e){n.apply(void 0,[e])}}S.Callbacks=function(r){var e,n;r="string"==typeof r?(e=r,n={},S.each(e.match(P)||[],function(e,t){n[t]=!0}),n):S.extend({},r);var i,t,o,a,s=[],u=[],l=-1,c=function(){for(a=a||r.once,o=i=!0;u.length;l=-1){t=u.shift();while(++l<s.length)!1===s[l].apply(t[0],t[1])&&r.stopOnFalse&&(l=s.length,t=!1)}r.memory||(t=!1),i=!1,a&&(s=t?[]:"")},f={add:function(){return s&&(t&&!i&&(l=s.length-1,u.push(t)),function n(e){S.each(e,function(e,t){m(t)?r.unique&&f.has(t)||s.push(t):t&&t.length&&"string"!==w(t)&&n(t)})}(arguments),t&&!i&&c()),this},remove:function(){return S.each(arguments,function(e,t){var n;while(-1<(n=S.inArray(t,s,n)))s.splice(n,1),n<=l&&l--}),this},has:function(e){return e?-1<S.inArray(e,s):0<s.length},empty:function(){return s&&(s=[]),this},disable:function(){return a=u=[],s=t="",this},disabled:function(){return!s},lock:function(){return a=u=[],t||i||(s=t=""),this},locked:function(){return!!a},fireWith:function(e,t){return a||(t=[e,(t=t||[]).slice?t.slice():t],u.push(t),i||c()),this},fire:function(){return f.fireWith(this,arguments),this},fired:function(){return!!o}};return f},S.extend({Deferred:function(e){var o=[["notify","progress",S.Callbacks("memory"),S.Callbacks("memory"),2],["resolve","done",S.Callbacks("once memory"),S.Callbacks("once memory"),0,"resolved"],["reject","fail",S.Callbacks("once memory"),S.Callbacks("once memory"),1,"rejected"]],i="pending",a={state:function(){return i},always:function(){return s.done(arguments).fail(arguments),this},"catch":function(e){return a.then(null,e)},pipe:function(){var i=arguments;return S.Deferred(function(r){S.each(o,function(e,t){var n=m(i[t[4]])&&i[t[4]];s[t[1]](function(){var e=n&&n.apply(this,arguments);e&&m(e.promise)?e.promise().progress(r.notify).done(r.resolve).fail(r.reject):r[t[0]+"With"](this,n?[e]:arguments)})}),i=null}).promise()},then:function(t,n,r){var u=0;function l(i,o,a,s){return function(){var n=this,r=arguments,e=function(){var e,t;if(!(i<u)){if((e=a.apply(n,r))===o.promise())throw new TypeError("Thenable self-resolution");t=e&&("object"==typeof e||"function"==typeof e)&&e.then,m(t)?s?t.call(e,l(u,o,R,s),l(u,o,M,s)):(u++,t.call(e,l(u,o,R,s),l(u,o,M,s),l(u,o,R,o.notifyWith))):(a!==R&&(n=void 0,r=[e]),(s||o.resolveWith)(n,r))}},t=s?e:function(){try{e()}catch(e){S.Deferred.exceptionHook&&S.Deferred.exceptionHook(e,t.stackTrace),u<=i+1&&(a!==M&&(n=void 0,r=[e]),o.rejectWith(n,r))}};i?t():(S.Deferred.getStackHook&&(t.stackTrace=S.Deferred.getStackHook()),C.setTimeout(t))}}return S.Deferred(function(e){o[0][3].add(l(0,e,m(r)?r:R,e.notifyWith)),o[1][3].add(l(0,e,m(t)?t:R)),o[2][3].add(l(0,e,m(n)?n:M))}).promise()},promise:function(e){return null!=e?S.extend(e,a):a}},s={};return S.each(o,function(e,t){var n=t[2],r=t[5];a[t[1]]=n.add,r&&n.add(function(){i=r},o[3-e][2].disable,o[3-e][3].disable,o[0][2].lock,o[0][3].lock),n.add(t[3].fire),s[t[0]]=function(){return s[t[0]+"With"](this===s?void 0:this,arguments),this},s[t[0]+"With"]=n.fireWith}),a.promise(s),e&&e.call(s,s),s},when:function(e){var n=arguments.length,t=n,r=Array(t),i=s.call(arguments),o=S.Deferred(),a=function(t){return function(e){r[t]=this,i[t]=1<arguments.length?s.call(arguments):e,--n||o.resolveWith(r,i)}};if(n<=1&&(I(e,o.done(a(t)).resolve,o.reject,!n),"pending"===o.state()||m(i[t]&&i[t].then)))return o.then();while(t--)I(i[t],a(t),o.reject);return o.promise()}});var W=/^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;S.Deferred.exceptionHook=function(e,t){C.console&&C.console.warn&&e&&W.test(e.name)&&C.console.warn("jQuery.Deferred exception: "+e.message,e.stack,t)},S.readyException=function(e){C.setTimeout(function(){throw e})};var F=S.Deferred();function B(){E.removeEventListener("DOMContentLoaded",B),C.removeEventListener("load",B),S.ready()}S.fn.ready=function(e){return F.then(e)["catch"](function(e){S.readyException(e)}),this},S.extend({isReady:!1,readyWait:1,ready:function(e){(!0===e?--S.readyWait:S.isReady)||(S.isReady=!0)!==e&&0<--S.readyWait||F.resolveWith(E,[S])}}),S.ready.then=F.then,"complete"===E.readyState||"loading"!==E.readyState&&!E.documentElement.doScroll?C.setTimeout(S.ready):(E.addEventListener("DOMContentLoaded",B),C.addEventListener("load",B));var $=function(e,t,n,r,i,o,a){var s=0,u=e.length,l=null==n;if("object"===w(n))for(s in i=!0,n)$(e,t,s,n[s],!0,o,a);else if(void 0!==r&&(i=!0,m(r)||(a=!0),l&&(a?(t.call(e,r),t=null):(l=t,t=function(e,t,n){return l.call(S(e),n)})),t))for(;s<u;s++)t(e[s],n,a?r:r.call(e[s],s,t(e[s],n)));return i?e:l?t.call(e):u?t(e[0],n):o},_=/^-ms-/,z=/-([a-z])/g;function U(e,t){return t.toUpperCase()}function X(e){return e.replace(_,"ms-").replace(z,U)}var V=function(e){return 1===e.nodeType||9===e.nodeType||!+e.nodeType};function G(){this.expando=S.expando+G.uid++}G.uid=1,G.prototype={cache:function(e){var t=e[this.expando];return t||(t={},V(e)&&(e.nodeType?e[this.expando]=t:Object.defineProperty(e,this.expando,{value:t,configurable:!0}))),t},set:function(e,t,n){var r,i=this.cache(e);if("string"==typeof t)i[X(t)]=n;else for(r in t)i[X(r)]=t[r];return i},get:function(e,t){return void 0===t?this.cache(e):e[this.expando]&&e[this.expando][X(t)]},access:function(e,t,n){return void 0===t||t&&"string"==typeof t&&void 0===n?this.get(e,t):(this.set(e,t,n),void 0!==n?n:t)},remove:function(e,t){var n,r=e[this.expando];if(void 0!==r){if(void 0!==t){n=(t=Array.isArray(t)?t.map(X):(t=X(t))in r?[t]:t.match(P)||[]).length;while(n--)delete r[t[n]]}(void 0===t||S.isEmptyObject(r))&&(e.nodeType?e[this.expando]=void 0:delete e[this.expando])}},hasData:function(e){var t=e[this.expando];return void 0!==t&&!S.isEmptyObject(t)}};var Y=new G,Q=new G,J=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,K=/[A-Z]/g;function Z(e,t,n){var r,i;if(void 0===n&&1===e.nodeType)if(r="data-"+t.replace(K,"-$&").toLowerCase(),"string"==typeof(n=e.getAttribute(r))){try{n="true"===(i=n)||"false"!==i&&("null"===i?null:i===+i+""?+i:J.test(i)?JSON.parse(i):i)}catch(e){}Q.set(e,t,n)}else n=void 0;return n}S.extend({hasData:function(e){return Q.hasData(e)||Y.hasData(e)},data:function(e,t,n){return Q.access(e,t,n)},removeData:function(e,t){Q.remove(e,t)},_data:function(e,t,n){return Y.access(e,t,n)},_removeData:function(e,t){Y.remove(e,t)}}),S.fn.extend({data:function(n,e){var t,r,i,o=this[0],a=o&&o.attributes;if(void 0===n){if(this.length&&(i=Q.get(o),1===o.nodeType&&!Y.get(o,"hasDataAttrs"))){t=a.length;while(t--)a[t]&&0===(r=a[t].name).indexOf("data-")&&(r=X(r.slice(5)),Z(o,r,i[r]));Y.set(o,"hasDataAttrs",!0)}return i}return"object"==typeof n?this.each(function(){Q.set(this,n)}):$(this,function(e){var t;if(o&&void 0===e)return void 0!==(t=Q.get(o,n))?t:void 0!==(t=Z(o,n))?t:void 0;this.each(function(){Q.set(this,n,e)})},null,e,1<arguments.length,null,!0)},removeData:function(e){return this.each(function(){Q.remove(this,e)})}}),S.extend({queue:function(e,t,n){var r;if(e)return t=(t||"fx")+"queue",r=Y.get(e,t),n&&(!r||Array.isArray(n)?r=Y.access(e,t,S.makeArray(n)):r.push(n)),r||[]},dequeue:function(e,t){t=t||"fx";var n=S.queue(e,t),r=n.length,i=n.shift(),o=S._queueHooks(e,t);"inprogress"===i&&(i=n.shift(),r--),i&&("fx"===t&&n.unshift("inprogress"),delete o.stop,i.call(e,function(){S.dequeue(e,t)},o)),!r&&o&&o.empty.fire()},_queueHooks:function(e,t){var n=t+"queueHooks";return Y.get(e,n)||Y.access(e,n,{empty:S.Callbacks("once memory").add(function(){Y.remove(e,[t+"queue",n])})})}}),S.fn.extend({queue:function(t,n){var e=2;return"string"!=typeof t&&(n=t,t="fx",e--),arguments.length<e?S.queue(this[0],t):void 0===n?this:this.each(function(){var e=S.queue(this,t,n);S._queueHooks(this,t),"fx"===t&&"inprogress"!==e[0]&&S.dequeue(this,t)})},dequeue:function(e){return this.each(function(){S.dequeue(this,e)})},clearQueue:function(e){return this.queue(e||"fx",[])},promise:function(e,t){var n,r=1,i=S.Deferred(),o=this,a=this.length,s=function(){--r||i.resolveWith(o,[o])};"string"!=typeof e&&(t=e,e=void 0),e=e||"fx";while(a--)(n=Y.get(o[a],e+"queueHooks"))&&n.empty&&(r++,n.empty.add(s));return s(),i.promise(t)}});var ee=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,te=new RegExp("^(?:([+-])=|)("+ee+")([a-z%]*)$","i"),ne=["Top","Right","Bottom","Left"],re=E.documentElement,ie=function(e){return S.contains(e.ownerDocument,e)},oe={composed:!0};re.getRootNode&&(ie=function(e){return S.contains(e.ownerDocument,e)||e.getRootNode(oe)===e.ownerDocument});var ae=function(e,t){return"none"===(e=t||e).style.display||""===e.style.display&&ie(e)&&"none"===S.css(e,"display")};function se(e,t,n,r){var i,o,a=20,s=r?function(){return r.cur()}:function(){return S.css(e,t,"")},u=s(),l=n&&n[3]||(S.cssNumber[t]?"":"px"),c=e.nodeType&&(S.cssNumber[t]||"px"!==l&&+u)&&te.exec(S.css(e,t));if(c&&c[3]!==l){u/=2,l=l||c[3],c=+u||1;while(a--)S.style(e,t,c+l),(1-o)*(1-(o=s()/u||.5))<=0&&(a=0),c/=o;c*=2,S.style(e,t,c+l),n=n||[]}return n&&(c=+c||+u||0,i=n[1]?c+(n[1]+1)*n[2]:+n[2],r&&(r.unit=l,r.start=c,r.end=i)),i}var ue={};function le(e,t){for(var n,r,i,o,a,s,u,l=[],c=0,f=e.length;c<f;c++)(r=e[c]).style&&(n=r.style.display,t?("none"===n&&(l[c]=Y.get(r,"display")||null,l[c]||(r.style.display="")),""===r.style.display&&ae(r)&&(l[c]=(u=a=o=void 0,a=(i=r).ownerDocument,s=i.nodeName,(u=ue[s])||(o=a.body.appendChild(a.createElement(s)),u=S.css(o,"display"),o.parentNode.removeChild(o),"none"===u&&(u="block"),ue[s]=u)))):"none"!==n&&(l[c]="none",Y.set(r,"display",n)));for(c=0;c<f;c++)null!=l[c]&&(e[c].style.display=l[c]);return e}S.fn.extend({show:function(){return le(this,!0)},hide:function(){return le(this)},toggle:function(e){return"boolean"==typeof e?e?this.show():this.hide():this.each(function(){ae(this)?S(this).show():S(this).hide()})}});var ce,fe,pe=/^(?:checkbox|radio)$/i,de=/<([a-z][^\/\0>\x20\t\r\n\f]*)/i,he=/^$|^module$|\/(?:java|ecma)script/i;ce=E.createDocumentFragment().appendChild(E.createElement("div")),(fe=E.createElement("input")).setAttribute("type","radio"),fe.setAttribute("checked","checked"),fe.setAttribute("name","t"),ce.appendChild(fe),y.checkClone=ce.cloneNode(!0).cloneNode(!0).lastChild.checked,ce.innerHTML="<textarea>x</textarea>",y.noCloneChecked=!!ce.cloneNode(!0).lastChild.defaultValue,ce.innerHTML="<option></option>",y.option=!!ce.lastChild;var ge={thead:[1,"<table>","</table>"],col:[2,"<table><colgroup>","</colgroup></table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],_default:[0,"",""]};function ve(e,t){var n;return n="undefined"!=typeof e.getElementsByTagName?e.getElementsByTagName(t||"*"):"undefined"!=typeof e.querySelectorAll?e.querySelectorAll(t||"*"):[],void 0===t||t&&A(e,t)?S.merge([e],n):n}function ye(e,t){for(var n=0,r=e.length;n<r;n++)Y.set(e[n],"globalEval",!t||Y.get(t[n],"globalEval"))}ge.tbody=ge.tfoot=ge.colgroup=ge.caption=ge.thead,ge.th=ge.td,y.option||(ge.optgroup=ge.option=[1,"<select multiple='multiple'>","</select>"]);var me=/<|&#?\w+;/;function xe(e,t,n,r,i){for(var o,a,s,u,l,c,f=t.createDocumentFragment(),p=[],d=0,h=e.length;d<h;d++)if((o=e[d])||0===o)if("object"===w(o))S.merge(p,o.nodeType?[o]:o);else if(me.test(o)){a=a||f.appendChild(t.createElement("div")),s=(de.exec(o)||["",""])[1].toLowerCase(),u=ge[s]||ge._default,a.innerHTML=u[1]+S.htmlPrefilter(o)+u[2],c=u[0];while(c--)a=a.lastChild;S.merge(p,a.childNodes),(a=f.firstChild).textContent=""}else p.push(t.createTextNode(o));f.textContent="",d=0;while(o=p[d++])if(r&&-1<S.inArray(o,r))i&&i.push(o);else if(l=ie(o),a=ve(f.appendChild(o),"script"),l&&ye(a),n){c=0;while(o=a[c++])he.test(o.type||"")&&n.push(o)}return f}var be=/^([^.]*)(?:\.(.+)|)/;function we(){return!0}function Te(){return!1}function Ce(e,t){return e===function(){try{return E.activeElement}catch(e){}}()==("focus"===t)}function Ee(e,t,n,r,i,o){var a,s;if("object"==typeof t){for(s in"string"!=typeof n&&(r=r||n,n=void 0),t)Ee(e,s,n,r,t[s],o);return e}if(null==r&&null==i?(i=n,r=n=void 0):null==i&&("string"==typeof n?(i=r,r=void 0):(i=r,r=n,n=void 0)),!1===i)i=Te;else if(!i)return e;return 1===o&&(a=i,(i=function(e){return S().off(e),a.apply(this,arguments)}).guid=a.guid||(a.guid=S.guid++)),e.each(function(){S.event.add(this,t,i,r,n)})}function Se(e,i,o){o?(Y.set(e,i,!1),S.event.add(e,i,{namespace:!1,handler:function(e){var t,n,r=Y.get(this,i);if(1&e.isTrigger&&this[i]){if(r.length)(S.event.special[i]||{}).delegateType&&e.stopPropagation();else if(r=s.call(arguments),Y.set(this,i,r),t=o(this,i),this[i](),r!==(n=Y.get(this,i))||t?Y.set(this,i,!1):n={},r!==n)return e.stopImmediatePropagation(),e.preventDefault(),n&&n.value}else r.length&&(Y.set(this,i,{value:S.event.trigger(S.extend(r[0],S.Event.prototype),r.slice(1),this)}),e.stopImmediatePropagation())}})):void 0===Y.get(e,i)&&S.event.add(e,i,we)}S.event={global:{},add:function(t,e,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,v=Y.get(t);if(V(t)){n.handler&&(n=(o=n).handler,i=o.selector),i&&S.find.matchesSelector(re,i),n.guid||(n.guid=S.guid++),(u=v.events)||(u=v.events=Object.create(null)),(a=v.handle)||(a=v.handle=function(e){return"undefined"!=typeof S&&S.event.triggered!==e.type?S.event.dispatch.apply(t,arguments):void 0}),l=(e=(e||"").match(P)||[""]).length;while(l--)d=g=(s=be.exec(e[l])||[])[1],h=(s[2]||"").split(".").sort(),d&&(f=S.event.special[d]||{},d=(i?f.delegateType:f.bindType)||d,f=S.event.special[d]||{},c=S.extend({type:d,origType:g,data:r,handler:n,guid:n.guid,selector:i,needsContext:i&&S.expr.match.needsContext.test(i),namespace:h.join(".")},o),(p=u[d])||((p=u[d]=[]).delegateCount=0,f.setup&&!1!==f.setup.call(t,r,h,a)||t.addEventListener&&t.addEventListener(d,a)),f.add&&(f.add.call(t,c),c.handler.guid||(c.handler.guid=n.guid)),i?p.splice(p.delegateCount++,0,c):p.push(c),S.event.global[d]=!0)}},remove:function(e,t,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,v=Y.hasData(e)&&Y.get(e);if(v&&(u=v.events)){l=(t=(t||"").match(P)||[""]).length;while(l--)if(d=g=(s=be.exec(t[l])||[])[1],h=(s[2]||"").split(".").sort(),d){f=S.event.special[d]||{},p=u[d=(r?f.delegateType:f.bindType)||d]||[],s=s[2]&&new RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"),a=o=p.length;while(o--)c=p[o],!i&&g!==c.origType||n&&n.guid!==c.guid||s&&!s.test(c.namespace)||r&&r!==c.selector&&("**"!==r||!c.selector)||(p.splice(o,1),c.selector&&p.delegateCount--,f.remove&&f.remove.call(e,c));a&&!p.length&&(f.teardown&&!1!==f.teardown.call(e,h,v.handle)||S.removeEvent(e,d,v.handle),delete u[d])}else for(d in u)S.event.remove(e,d+t[l],n,r,!0);S.isEmptyObject(u)&&Y.remove(e,"handle events")}},dispatch:function(e){var t,n,r,i,o,a,s=new Array(arguments.length),u=S.event.fix(e),l=(Y.get(this,"events")||Object.create(null))[u.type]||[],c=S.event.special[u.type]||{};for(s[0]=u,t=1;t<arguments.length;t++)s[t]=arguments[t];if(u.delegateTarget=this,!c.preDispatch||!1!==c.preDispatch.call(this,u)){a=S.event.handlers.call(this,u,l),t=0;while((i=a[t++])&&!u.isPropagationStopped()){u.currentTarget=i.elem,n=0;while((o=i.handlers[n++])&&!u.isImmediatePropagationStopped())u.rnamespace&&!1!==o.namespace&&!u.rnamespace.test(o.namespace)||(u.handleObj=o,u.data=o.data,void 0!==(r=((S.event.special[o.origType]||{}).handle||o.handler).apply(i.elem,s))&&!1===(u.result=r)&&(u.preventDefault(),u.stopPropagation()))}return c.postDispatch&&c.postDispatch.call(this,u),u.result}},handlers:function(e,t){var n,r,i,o,a,s=[],u=t.delegateCount,l=e.target;if(u&&l.nodeType&&!("click"===e.type&&1<=e.button))for(;l!==this;l=l.parentNode||this)if(1===l.nodeType&&("click"!==e.type||!0!==l.disabled)){for(o=[],a={},n=0;n<u;n++)void 0===a[i=(r=t[n]).selector+" "]&&(a[i]=r.needsContext?-1<S(i,this).index(l):S.find(i,this,null,[l]).length),a[i]&&o.push(r);o.length&&s.push({elem:l,handlers:o})}return l=this,u<t.length&&s.push({elem:l,handlers:t.slice(u)}),s},addProp:function(t,e){Object.defineProperty(S.Event.prototype,t,{enumerable:!0,configurable:!0,get:m(e)?function(){if(this.originalEvent)return e(this.originalEvent)}:function(){if(this.originalEvent)return this.originalEvent[t]},set:function(e){Object.defineProperty(this,t,{enumerable:!0,configurable:!0,writable:!0,value:e})}})},fix:function(e){return e[S.expando]?e:new S.Event(e)},special:{load:{noBubble:!0},click:{setup:function(e){var t=this||e;return pe.test(t.type)&&t.click&&A(t,"input")&&Se(t,"click",we),!1},trigger:function(e){var t=this||e;return pe.test(t.type)&&t.click&&A(t,"input")&&Se(t,"click"),!0},_default:function(e){var t=e.target;return pe.test(t.type)&&t.click&&A(t,"input")&&Y.get(t,"click")||A(t,"a")}},beforeunload:{postDispatch:function(e){void 0!==e.result&&e.originalEvent&&(e.originalEvent.returnValue=e.result)}}}},S.removeEvent=function(e,t,n){e.removeEventListener&&e.removeEventListener(t,n)},S.Event=function(e,t){if(!(this instanceof S.Event))return new S.Event(e,t);e&&e.type?(this.originalEvent=e,this.type=e.type,this.isDefaultPrevented=e.defaultPrevented||void 0===e.defaultPrevented&&!1===e.returnValue?we:Te,this.target=e.target&&3===e.target.nodeType?e.target.parentNode:e.target,this.currentTarget=e.currentTarget,this.relatedTarget=e.relatedTarget):this.type=e,t&&S.extend(this,t),this.timeStamp=e&&e.timeStamp||Date.now(),this[S.expando]=!0},S.Event.prototype={constructor:S.Event,isDefaultPrevented:Te,isPropagationStopped:Te,isImmediatePropagationStopped:Te,isSimulated:!1,preventDefault:function(){var e=this.originalEvent;this.isDefaultPrevented=we,e&&!this.isSimulated&&e.preventDefault()},stopPropagation:function(){var e=this.originalEvent;this.isPropagationStopped=we,e&&!this.isSimulated&&e.stopPropagation()},stopImmediatePropagation:function(){var e=this.originalEvent;this.isImmediatePropagationStopped=we,e&&!this.isSimulated&&e.stopImmediatePropagation(),this.stopPropagation()}},S.each({altKey:!0,bubbles:!0,cancelable:!0,changedTouches:!0,ctrlKey:!0,detail:!0,eventPhase:!0,metaKey:!0,pageX:!0,pageY:!0,shiftKey:!0,view:!0,"char":!0,code:!0,charCode:!0,key:!0,keyCode:!0,button:!0,buttons:!0,clientX:!0,clientY:!0,offsetX:!0,offsetY:!0,pointerId:!0,pointerType:!0,screenX:!0,screenY:!0,targetTouches:!0,toElement:!0,touches:!0,which:!0},S.event.addProp),S.each({focus:"focusin",blur:"focusout"},function(e,t){S.event.special[e]={setup:function(){return Se(this,e,Ce),!1},trigger:function(){return Se(this,e),!0},_default:function(){return!0},delegateType:t}}),S.each({mouseenter:"mouseover",mouseleave:"mouseout",pointerenter:"pointerover",pointerleave:"pointerout"},function(e,i){S.event.special[e]={delegateType:i,bindType:i,handle:function(e){var t,n=e.relatedTarget,r=e.handleObj;return n&&(n===this||S.contains(this,n))||(e.type=r.origType,t=r.handler.apply(this,arguments),e.type=i),t}}}),S.fn.extend({on:function(e,t,n,r){return Ee(this,e,t,n,r)},one:function(e,t,n,r){return Ee(this,e,t,n,r,1)},off:function(e,t,n){var r,i;if(e&&e.preventDefault&&e.handleObj)return r=e.handleObj,S(e.delegateTarget).off(r.namespace?r.origType+"."+r.namespace:r.origType,r.selector,r.handler),this;if("object"==typeof e){for(i in e)this.off(i,t,e[i]);return this}return!1!==t&&"function"!=typeof t||(n=t,t=void 0),!1===n&&(n=Te),this.each(function(){S.event.remove(this,e,n,t)})}});var ke=/<script|<style|<link/i,Ae=/checked\s*(?:[^=]|=\s*.checked.)/i,Ne=/^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g;function je(e,t){return A(e,"table")&&A(11!==t.nodeType?t:t.firstChild,"tr")&&S(e).children("tbody")[0]||e}function De(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function qe(e){return"true/"===(e.type||"").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute("type"),e}function Le(e,t){var n,r,i,o,a,s;if(1===t.nodeType){if(Y.hasData(e)&&(s=Y.get(e).events))for(i in Y.remove(t,"handle events"),s)for(n=0,r=s[i].length;n<r;n++)S.event.add(t,i,s[i][n]);Q.hasData(e)&&(o=Q.access(e),a=S.extend({},o),Q.set(t,a))}}function He(n,r,i,o){r=g(r);var e,t,a,s,u,l,c=0,f=n.length,p=f-1,d=r[0],h=m(d);if(h||1<f&&"string"==typeof d&&!y.checkClone&&Ae.test(d))return n.each(function(e){var t=n.eq(e);h&&(r[0]=d.call(this,e,t.html())),He(t,r,i,o)});if(f&&(t=(e=xe(r,n[0].ownerDocument,!1,n,o)).firstChild,1===e.childNodes.length&&(e=t),t||o)){for(s=(a=S.map(ve(e,"script"),De)).length;c<f;c++)u=e,c!==p&&(u=S.clone(u,!0,!0),s&&S.merge(a,ve(u,"script"))),i.call(n[c],u,c);if(s)for(l=a[a.length-1].ownerDocument,S.map(a,qe),c=0;c<s;c++)u=a[c],he.test(u.type||"")&&!Y.access(u,"globalEval")&&S.contains(l,u)&&(u.src&&"module"!==(u.type||"").toLowerCase()?S._evalUrl&&!u.noModule&&S._evalUrl(u.src,{nonce:u.nonce||u.getAttribute("nonce")},l):b(u.textContent.replace(Ne,""),u,l))}return n}function Oe(e,t,n){for(var r,i=t?S.filter(t,e):e,o=0;null!=(r=i[o]);o++)n||1!==r.nodeType||S.cleanData(ve(r)),r.parentNode&&(n&&ie(r)&&ye(ve(r,"script")),r.parentNode.removeChild(r));return e}S.extend({htmlPrefilter:function(e){return e},clone:function(e,t,n){var r,i,o,a,s,u,l,c=e.cloneNode(!0),f=ie(e);if(!(y.noCloneChecked||1!==e.nodeType&&11!==e.nodeType||S.isXMLDoc(e)))for(a=ve(c),r=0,i=(o=ve(e)).length;r<i;r++)s=o[r],u=a[r],void 0,"input"===(l=u.nodeName.toLowerCase())&&pe.test(s.type)?u.checked=s.checked:"input"!==l&&"textarea"!==l||(u.defaultValue=s.defaultValue);if(t)if(n)for(o=o||ve(e),a=a||ve(c),r=0,i=o.length;r<i;r++)Le(o[r],a[r]);else Le(e,c);return 0<(a=ve(c,"script")).length&&ye(a,!f&&ve(e,"script")),c},cleanData:function(e){for(var t,n,r,i=S.event.special,o=0;void 0!==(n=e[o]);o++)if(V(n)){if(t=n[Y.expando]){if(t.events)for(r in t.events)i[r]?S.event.remove(n,r):S.removeEvent(n,r,t.handle);n[Y.expando]=void 0}n[Q.expando]&&(n[Q.expando]=void 0)}}}),S.fn.extend({detach:function(e){return Oe(this,e,!0)},remove:function(e){return Oe(this,e)},text:function(e){return $(this,function(e){return void 0===e?S.text(this):this.empty().each(function(){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||(this.textContent=e)})},null,e,arguments.length)},append:function(){return He(this,arguments,function(e){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||je(this,e).appendChild(e)})},prepend:function(){return He(this,arguments,function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=je(this,e);t.insertBefore(e,t.firstChild)}})},before:function(){return He(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this)})},after:function(){return He(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this.nextSibling)})},empty:function(){for(var e,t=0;null!=(e=this[t]);t++)1===e.nodeType&&(S.cleanData(ve(e,!1)),e.textContent="");return this},clone:function(e,t){return e=null!=e&&e,t=null==t?e:t,this.map(function(){return S.clone(this,e,t)})},html:function(e){return $(this,function(e){var t=this[0]||{},n=0,r=this.length;if(void 0===e&&1===t.nodeType)return t.innerHTML;if("string"==typeof e&&!ke.test(e)&&!ge[(de.exec(e)||["",""])[1].toLowerCase()]){e=S.htmlPrefilter(e);try{for(;n<r;n++)1===(t=this[n]||{}).nodeType&&(S.cleanData(ve(t,!1)),t.innerHTML=e);t=0}catch(e){}}t&&this.empty().append(e)},null,e,arguments.length)},replaceWith:function(){var n=[];return He(this,arguments,function(e){var t=this.parentNode;S.inArray(this,n)<0&&(S.cleanData(ve(this)),t&&t.replaceChild(e,this))},n)}}),S.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(e,a){S.fn[e]=function(e){for(var t,n=[],r=S(e),i=r.length-1,o=0;o<=i;o++)t=o===i?this:this.clone(!0),S(r[o])[a](t),u.apply(n,t.get());return this.pushStack(n)}});var Pe=new RegExp("^("+ee+")(?!px)[a-z%]+$","i"),Re=function(e){var t=e.ownerDocument.defaultView;return t&&t.opener||(t=C),t.getComputedStyle(e)},Me=function(e,t,n){var r,i,o={};for(i in t)o[i]=e.style[i],e.style[i]=t[i];for(i in r=n.call(e),t)e.style[i]=o[i];return r},Ie=new RegExp(ne.join("|"),"i");function We(e,t,n){var r,i,o,a,s=e.style;return(n=n||Re(e))&&(""!==(a=n.getPropertyValue(t)||n[t])||ie(e)||(a=S.style(e,t)),!y.pixelBoxStyles()&&Pe.test(a)&&Ie.test(t)&&(r=s.width,i=s.minWidth,o=s.maxWidth,s.minWidth=s.maxWidth=s.width=a,a=n.width,s.width=r,s.minWidth=i,s.maxWidth=o)),void 0!==a?a+"":a}function Fe(e,t){return{get:function(){if(!e())return(this.get=t).apply(this,arguments);delete this.get}}}!function(){function e(){if(l){u.style.cssText="position:absolute;left:-11111px;width:60px;margin-top:1px;padding:0;border:0",l.style.cssText="position:relative;display:block;box-sizing:border-box;overflow:scroll;margin:auto;border:1px;padding:1px;width:60%;top:1%",re.appendChild(u).appendChild(l);var e=C.getComputedStyle(l);n="1%"!==e.top,s=12===t(e.marginLeft),l.style.right="60%",o=36===t(e.right),r=36===t(e.width),l.style.position="absolute",i=12===t(l.offsetWidth/3),re.removeChild(u),l=null}}function t(e){return Math.round(parseFloat(e))}var n,r,i,o,a,s,u=E.createElement("div"),l=E.createElement("div");l.style&&(l.style.backgroundClip="content-box",l.cloneNode(!0).style.backgroundClip="",y.clearCloneStyle="content-box"===l.style.backgroundClip,S.extend(y,{boxSizingReliable:function(){return e(),r},pixelBoxStyles:function(){return e(),o},pixelPosition:function(){return e(),n},reliableMarginLeft:function(){return e(),s},scrollboxSize:function(){return e(),i},reliableTrDimensions:function(){var e,t,n,r;return null==a&&(e=E.createElement("table"),t=E.createElement("tr"),n=E.createElement("div"),e.style.cssText="position:absolute;left:-11111px;border-collapse:separate",t.style.cssText="border:1px solid",t.style.height="1px",n.style.height="9px",n.style.display="block",re.appendChild(e).appendChild(t).appendChild(n),r=C.getComputedStyle(t),a=parseInt(r.height,10)+parseInt(r.borderTopWidth,10)+parseInt(r.borderBottomWidth,10)===t.offsetHeight,re.removeChild(e)),a}}))}();var Be=["Webkit","Moz","ms"],$e=E.createElement("div").style,_e={};function ze(e){var t=S.cssProps[e]||_e[e];return t||(e in $e?e:_e[e]=function(e){var t=e[0].toUpperCase()+e.slice(1),n=Be.length;while(n--)if((e=Be[n]+t)in $e)return e}(e)||e)}var Ue=/^(none|table(?!-c[ea]).+)/,Xe=/^--/,Ve={position:"absolute",visibility:"hidden",display:"block"},Ge={letterSpacing:"0",fontWeight:"400"};function Ye(e,t,n){var r=te.exec(t);return r?Math.max(0,r[2]-(n||0))+(r[3]||"px"):t}function Qe(e,t,n,r,i,o){var a="width"===t?1:0,s=0,u=0;if(n===(r?"border":"content"))return 0;for(;a<4;a+=2)"margin"===n&&(u+=S.css(e,n+ne[a],!0,i)),r?("content"===n&&(u-=S.css(e,"padding"+ne[a],!0,i)),"margin"!==n&&(u-=S.css(e,"border"+ne[a]+"Width",!0,i))):(u+=S.css(e,"padding"+ne[a],!0,i),"padding"!==n?u+=S.css(e,"border"+ne[a]+"Width",!0,i):s+=S.css(e,"border"+ne[a]+"Width",!0,i));return!r&&0<=o&&(u+=Math.max(0,Math.ceil(e["offset"+t[0].toUpperCase()+t.slice(1)]-o-u-s-.5))||0),u}function Je(e,t,n){var r=Re(e),i=(!y.boxSizingReliable()||n)&&"border-box"===S.css(e,"boxSizing",!1,r),o=i,a=We(e,t,r),s="offset"+t[0].toUpperCase()+t.slice(1);if(Pe.test(a)){if(!n)return a;a="auto"}return(!y.boxSizingReliable()&&i||!y.reliableTrDimensions()&&A(e,"tr")||"auto"===a||!parseFloat(a)&&"inline"===S.css(e,"display",!1,r))&&e.getClientRects().length&&(i="border-box"===S.css(e,"boxSizing",!1,r),(o=s in e)&&(a=e[s])),(a=parseFloat(a)||0)+Qe(e,t,n||(i?"border":"content"),o,r,a)+"px"}function Ke(e,t,n,r,i){return new Ke.prototype.init(e,t,n,r,i)}S.extend({cssHooks:{opacity:{get:function(e,t){if(t){var n=We(e,"opacity");return""===n?"1":n}}}},cssNumber:{animationIterationCount:!0,columnCount:!0,fillOpacity:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,gridArea:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnStart:!0,gridRow:!0,gridRowEnd:!0,gridRowStart:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{},style:function(e,t,n,r){if(e&&3!==e.nodeType&&8!==e.nodeType&&e.style){var i,o,a,s=X(t),u=Xe.test(t),l=e.style;if(u||(t=ze(s)),a=S.cssHooks[t]||S.cssHooks[s],void 0===n)return a&&"get"in a&&void 0!==(i=a.get(e,!1,r))?i:l[t];"string"===(o=typeof n)&&(i=te.exec(n))&&i[1]&&(n=se(e,t,i),o="number"),null!=n&&n==n&&("number"!==o||u||(n+=i&&i[3]||(S.cssNumber[s]?"":"px")),y.clearCloneStyle||""!==n||0!==t.indexOf("background")||(l[t]="inherit"),a&&"set"in a&&void 0===(n=a.set(e,n,r))||(u?l.setProperty(t,n):l[t]=n))}},css:function(e,t,n,r){var i,o,a,s=X(t);return Xe.test(t)||(t=ze(s)),(a=S.cssHooks[t]||S.cssHooks[s])&&"get"in a&&(i=a.get(e,!0,n)),void 0===i&&(i=We(e,t,r)),"normal"===i&&t in Ge&&(i=Ge[t]),""===n||n?(o=parseFloat(i),!0===n||isFinite(o)?o||0:i):i}}),S.each(["height","width"],function(e,u){S.cssHooks[u]={get:function(e,t,n){if(t)return!Ue.test(S.css(e,"display"))||e.getClientRects().length&&e.getBoundingClientRect().width?Je(e,u,n):Me(e,Ve,function(){return Je(e,u,n)})},set:function(e,t,n){var r,i=Re(e),o=!y.scrollboxSize()&&"absolute"===i.position,a=(o||n)&&"border-box"===S.css(e,"boxSizing",!1,i),s=n?Qe(e,u,n,a,i):0;return a&&o&&(s-=Math.ceil(e["offset"+u[0].toUpperCase()+u.slice(1)]-parseFloat(i[u])-Qe(e,u,"border",!1,i)-.5)),s&&(r=te.exec(t))&&"px"!==(r[3]||"px")&&(e.style[u]=t,t=S.css(e,u)),Ye(0,t,s)}}}),S.cssHooks.marginLeft=Fe(y.reliableMarginLeft,function(e,t){if(t)return(parseFloat(We(e,"marginLeft"))||e.getBoundingClientRect().left-Me(e,{marginLeft:0},function(){return e.getBoundingClientRect().left}))+"px"}),S.each({margin:"",padding:"",border:"Width"},function(i,o){S.cssHooks[i+o]={expand:function(e){for(var t=0,n={},r="string"==typeof e?e.split(" "):[e];t<4;t++)n[i+ne[t]+o]=r[t]||r[t-2]||r[0];return n}},"margin"!==i&&(S.cssHooks[i+o].set=Ye)}),S.fn.extend({css:function(e,t){return $(this,function(e,t,n){var r,i,o={},a=0;if(Array.isArray(t)){for(r=Re(e),i=t.length;a<i;a++)o[t[a]]=S.css(e,t[a],!1,r);return o}return void 0!==n?S.style(e,t,n):S.css(e,t)},e,t,1<arguments.length)}}),((S.Tween=Ke).prototype={constructor:Ke,init:function(e,t,n,r,i,o){this.elem=e,this.prop=n,this.easing=i||S.easing._default,this.options=t,this.start=this.now=this.cur(),this.end=r,this.unit=o||(S.cssNumber[n]?"":"px")},cur:function(){var e=Ke.propHooks[this.prop];return e&&e.get?e.get(this):Ke.propHooks._default.get(this)},run:function(e){var t,n=Ke.propHooks[this.prop];return this.options.duration?this.pos=t=S.easing[this.easing](e,this.options.duration*e,0,1,this.options.duration):this.pos=t=e,this.now=(this.end-this.start)*t+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),n&&n.set?n.set(this):Ke.propHooks._default.set(this),this}}).init.prototype=Ke.prototype,(Ke.propHooks={_default:{get:function(e){var t;return 1!==e.elem.nodeType||null!=e.elem[e.prop]&&null==e.elem.style[e.prop]?e.elem[e.prop]:(t=S.css(e.elem,e.prop,""))&&"auto"!==t?t:0},set:function(e){S.fx.step[e.prop]?S.fx.step[e.prop](e):1!==e.elem.nodeType||!S.cssHooks[e.prop]&&null==e.elem.style[ze(e.prop)]?e.elem[e.prop]=e.now:S.style(e.elem,e.prop,e.now+e.unit)}}}).scrollTop=Ke.propHooks.scrollLeft={set:function(e){e.elem.nodeType&&e.elem.parentNode&&(e.elem[e.prop]=e.now)}},S.easing={linear:function(e){return e},swing:function(e){return.5-Math.cos(e*Math.PI)/2},_default:"swing"},S.fx=Ke.prototype.init,S.fx.step={};var Ze,et,tt,nt,rt=/^(?:toggle|show|hide)$/,it=/queueHooks$/;function ot(){et&&(!1===E.hidden&&C.requestAnimationFrame?C.requestAnimationFrame(ot):C.setTimeout(ot,S.fx.interval),S.fx.tick())}function at(){return C.setTimeout(function(){Ze=void 0}),Ze=Date.now()}function st(e,t){var n,r=0,i={height:e};for(t=t?1:0;r<4;r+=2-t)i["margin"+(n=ne[r])]=i["padding"+n]=e;return t&&(i.opacity=i.width=e),i}function ut(e,t,n){for(var r,i=(lt.tweeners[t]||[]).concat(lt.tweeners["*"]),o=0,a=i.length;o<a;o++)if(r=i[o].call(n,t,e))return r}function lt(o,e,t){var n,a,r=0,i=lt.prefilters.length,s=S.Deferred().always(function(){delete u.elem}),u=function(){if(a)return!1;for(var e=Ze||at(),t=Math.max(0,l.startTime+l.duration-e),n=1-(t/l.duration||0),r=0,i=l.tweens.length;r<i;r++)l.tweens[r].run(n);return s.notifyWith(o,[l,n,t]),n<1&&i?t:(i||s.notifyWith(o,[l,1,0]),s.resolveWith(o,[l]),!1)},l=s.promise({elem:o,props:S.extend({},e),opts:S.extend(!0,{specialEasing:{},easing:S.easing._default},t),originalProperties:e,originalOptions:t,startTime:Ze||at(),duration:t.duration,tweens:[],createTween:function(e,t){var n=S.Tween(o,l.opts,e,t,l.opts.specialEasing[e]||l.opts.easing);return l.tweens.push(n),n},stop:function(e){var t=0,n=e?l.tweens.length:0;if(a)return this;for(a=!0;t<n;t++)l.tweens[t].run(1);return e?(s.notifyWith(o,[l,1,0]),s.resolveWith(o,[l,e])):s.rejectWith(o,[l,e]),this}}),c=l.props;for(!function(e,t){var n,r,i,o,a;for(n in e)if(i=t[r=X(n)],o=e[n],Array.isArray(o)&&(i=o[1],o=e[n]=o[0]),n!==r&&(e[r]=o,delete e[n]),(a=S.cssHooks[r])&&"expand"in a)for(n in o=a.expand(o),delete e[r],o)n in e||(e[n]=o[n],t[n]=i);else t[r]=i}(c,l.opts.specialEasing);r<i;r++)if(n=lt.prefilters[r].call(l,o,c,l.opts))return m(n.stop)&&(S._queueHooks(l.elem,l.opts.queue).stop=n.stop.bind(n)),n;return S.map(c,ut,l),m(l.opts.start)&&l.opts.start.call(o,l),l.progress(l.opts.progress).done(l.opts.done,l.opts.complete).fail(l.opts.fail).always(l.opts.always),S.fx.timer(S.extend(u,{elem:o,anim:l,queue:l.opts.queue})),l}S.Animation=S.extend(lt,{tweeners:{"*":[function(e,t){var n=this.createTween(e,t);return se(n.elem,e,te.exec(t),n),n}]},tweener:function(e,t){m(e)?(t=e,e=["*"]):e=e.match(P);for(var n,r=0,i=e.length;r<i;r++)n=e[r],lt.tweeners[n]=lt.tweeners[n]||[],lt.tweeners[n].unshift(t)},prefilters:[function(e,t,n){var r,i,o,a,s,u,l,c,f="width"in t||"height"in t,p=this,d={},h=e.style,g=e.nodeType&&ae(e),v=Y.get(e,"fxshow");for(r in n.queue||(null==(a=S._queueHooks(e,"fx")).unqueued&&(a.unqueued=0,s=a.empty.fire,a.empty.fire=function(){a.unqueued||s()}),a.unqueued++,p.always(function(){p.always(function(){a.unqueued--,S.queue(e,"fx").length||a.empty.fire()})})),t)if(i=t[r],rt.test(i)){if(delete t[r],o=o||"toggle"===i,i===(g?"hide":"show")){if("show"!==i||!v||void 0===v[r])continue;g=!0}d[r]=v&&v[r]||S.style(e,r)}if((u=!S.isEmptyObject(t))||!S.isEmptyObject(d))for(r in f&&1===e.nodeType&&(n.overflow=[h.overflow,h.overflowX,h.overflowY],null==(l=v&&v.display)&&(l=Y.get(e,"display")),"none"===(c=S.css(e,"display"))&&(l?c=l:(le([e],!0),l=e.style.display||l,c=S.css(e,"display"),le([e]))),("inline"===c||"inline-block"===c&&null!=l)&&"none"===S.css(e,"float")&&(u||(p.done(function(){h.display=l}),null==l&&(c=h.display,l="none"===c?"":c)),h.display="inline-block")),n.overflow&&(h.overflow="hidden",p.always(function(){h.overflow=n.overflow[0],h.overflowX=n.overflow[1],h.overflowY=n.overflow[2]})),u=!1,d)u||(v?"hidden"in v&&(g=v.hidden):v=Y.access(e,"fxshow",{display:l}),o&&(v.hidden=!g),g&&le([e],!0),p.done(function(){for(r in g||le([e]),Y.remove(e,"fxshow"),d)S.style(e,r,d[r])})),u=ut(g?v[r]:0,r,p),r in v||(v[r]=u.start,g&&(u.end=u.start,u.start=0))}],prefilter:function(e,t){t?lt.prefilters.unshift(e):lt.prefilters.push(e)}}),S.speed=function(e,t,n){var r=e&&"object"==typeof e?S.extend({},e):{complete:n||!n&&t||m(e)&&e,duration:e,easing:n&&t||t&&!m(t)&&t};return S.fx.off?r.duration=0:"number"!=typeof r.duration&&(r.duration in S.fx.speeds?r.duration=S.fx.speeds[r.duration]:r.duration=S.fx.speeds._default),null!=r.queue&&!0!==r.queue||(r.queue="fx"),r.old=r.complete,r.complete=function(){m(r.old)&&r.old.call(this),r.queue&&S.dequeue(this,r.queue)},r},S.fn.extend({fadeTo:function(e,t,n,r){return this.filter(ae).css("opacity",0).show().end().animate({opacity:t},e,n,r)},animate:function(t,e,n,r){var i=S.isEmptyObject(t),o=S.speed(e,n,r),a=function(){var e=lt(this,S.extend({},t),o);(i||Y.get(this,"finish"))&&e.stop(!0)};return a.finish=a,i||!1===o.queue?this.each(a):this.queue(o.queue,a)},stop:function(i,e,o){var a=function(e){var t=e.stop;delete e.stop,t(o)};return"string"!=typeof i&&(o=e,e=i,i=void 0),e&&this.queue(i||"fx",[]),this.each(function(){var e=!0,t=null!=i&&i+"queueHooks",n=S.timers,r=Y.get(this);if(t)r[t]&&r[t].stop&&a(r[t]);else for(t in r)r[t]&&r[t].stop&&it.test(t)&&a(r[t]);for(t=n.length;t--;)n[t].elem!==this||null!=i&&n[t].queue!==i||(n[t].anim.stop(o),e=!1,n.splice(t,1));!e&&o||S.dequeue(this,i)})},finish:function(a){return!1!==a&&(a=a||"fx"),this.each(function(){var e,t=Y.get(this),n=t[a+"queue"],r=t[a+"queueHooks"],i=S.timers,o=n?n.length:0;for(t.finish=!0,S.queue(this,a,[]),r&&r.stop&&r.stop.call(this,!0),e=i.length;e--;)i[e].elem===this&&i[e].queue===a&&(i[e].anim.stop(!0),i.splice(e,1));for(e=0;e<o;e++)n[e]&&n[e].finish&&n[e].finish.call(this);delete t.finish})}}),S.each(["toggle","show","hide"],function(e,r){var i=S.fn[r];S.fn[r]=function(e,t,n){return null==e||"boolean"==typeof e?i.apply(this,arguments):this.animate(st(r,!0),e,t,n)}}),S.each({slideDown:st("show"),slideUp:st("hide"),slideToggle:st("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(e,r){S.fn[e]=function(e,t,n){return this.animate(r,e,t,n)}}),S.timers=[],S.fx.tick=function(){var e,t=0,n=S.timers;for(Ze=Date.now();t<n.length;t++)(e=n[t])()||n[t]!==e||n.splice(t--,1);n.length||S.fx.stop(),Ze=void 0},S.fx.timer=function(e){S.timers.push(e),S.fx.start()},S.fx.interval=13,S.fx.start=function(){et||(et=!0,ot())},S.fx.stop=function(){et=null},S.fx.speeds={slow:600,fast:200,_default:400},S.fn.delay=function(r,e){return r=S.fx&&S.fx.speeds[r]||r,e=e||"fx",this.queue(e,function(e,t){var n=C.setTimeout(e,r);t.stop=function(){C.clearTimeout(n)}})},tt=E.createElement("input"),nt=E.createElement("select").appendChild(E.createElement("option")),tt.type="checkbox",y.checkOn=""!==tt.value,y.optSelected=nt.selected,(tt=E.createElement("input")).value="t",tt.type="radio",y.radioValue="t"===tt.value;var ct,ft=S.expr.attrHandle;S.fn.extend({attr:function(e,t){return $(this,S.attr,e,t,1<arguments.length)},removeAttr:function(e){return this.each(function(){S.removeAttr(this,e)})}}),S.extend({attr:function(e,t,n){var r,i,o=e.nodeType;if(3!==o&&8!==o&&2!==o)return"undefined"==typeof e.getAttribute?S.prop(e,t,n):(1===o&&S.isXMLDoc(e)||(i=S.attrHooks[t.toLowerCase()]||(S.expr.match.bool.test(t)?ct:void 0)),void 0!==n?null===n?void S.removeAttr(e,t):i&&"set"in i&&void 0!==(r=i.set(e,n,t))?r:(e.setAttribute(t,n+""),n):i&&"get"in i&&null!==(r=i.get(e,t))?r:null==(r=S.find.attr(e,t))?void 0:r)},attrHooks:{type:{set:function(e,t){if(!y.radioValue&&"radio"===t&&A(e,"input")){var n=e.value;return e.setAttribute("type",t),n&&(e.value=n),t}}}},removeAttr:function(e,t){var n,r=0,i=t&&t.match(P);if(i&&1===e.nodeType)while(n=i[r++])e.removeAttribute(n)}}),ct={set:function(e,t,n){return!1===t?S.removeAttr(e,n):e.setAttribute(n,n),n}},S.each(S.expr.match.bool.source.match(/\w+/g),function(e,t){var a=ft[t]||S.find.attr;ft[t]=function(e,t,n){var r,i,o=t.toLowerCase();return n||(i=ft[o],ft[o]=r,r=null!=a(e,t,n)?o:null,ft[o]=i),r}});var pt=/^(?:input|select|textarea|button)$/i,dt=/^(?:a|area)$/i;function ht(e){return(e.match(P)||[]).join(" ")}function gt(e){return e.getAttribute&&e.getAttribute("class")||""}function vt(e){return Array.isArray(e)?e:"string"==typeof e&&e.match(P)||[]}S.fn.extend({prop:function(e,t){return $(this,S.prop,e,t,1<arguments.length)},removeProp:function(e){return this.each(function(){delete this[S.propFix[e]||e]})}}),S.extend({prop:function(e,t,n){var r,i,o=e.nodeType;if(3!==o&&8!==o&&2!==o)return 1===o&&S.isXMLDoc(e)||(t=S.propFix[t]||t,i=S.propHooks[t]),void 0!==n?i&&"set"in i&&void 0!==(r=i.set(e,n,t))?r:e[t]=n:i&&"get"in i&&null!==(r=i.get(e,t))?r:e[t]},propHooks:{tabIndex:{get:function(e){var t=S.find.attr(e,"tabindex");return t?parseInt(t,10):pt.test(e.nodeName)||dt.test(e.nodeName)&&e.href?0:-1}}},propFix:{"for":"htmlFor","class":"className"}}),y.optSelected||(S.propHooks.selected={get:function(e){var t=e.parentNode;return t&&t.parentNode&&t.parentNode.selectedIndex,null},set:function(e){var t=e.parentNode;t&&(t.selectedIndex,t.parentNode&&t.parentNode.selectedIndex)}}),S.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){S.propFix[this.toLowerCase()]=this}),S.fn.extend({addClass:function(t){var e,n,r,i,o,a,s,u=0;if(m(t))return this.each(function(e){S(this).addClass(t.call(this,e,gt(this)))});if((e=vt(t)).length)while(n=this[u++])if(i=gt(n),r=1===n.nodeType&&" "+ht(i)+" "){a=0;while(o=e[a++])r.indexOf(" "+o+" ")<0&&(r+=o+" ");i!==(s=ht(r))&&n.setAttribute("class",s)}return this},removeClass:function(t){var e,n,r,i,o,a,s,u=0;if(m(t))return this.each(function(e){S(this).removeClass(t.call(this,e,gt(this)))});if(!arguments.length)return this.attr("class","");if((e=vt(t)).length)while(n=this[u++])if(i=gt(n),r=1===n.nodeType&&" "+ht(i)+" "){a=0;while(o=e[a++])while(-1<r.indexOf(" "+o+" "))r=r.replace(" "+o+" "," ");i!==(s=ht(r))&&n.setAttribute("class",s)}return this},toggleClass:function(i,t){var o=typeof i,a="string"===o||Array.isArray(i);return"boolean"==typeof t&&a?t?this.addClass(i):this.removeClass(i):m(i)?this.each(function(e){S(this).toggleClass(i.call(this,e,gt(this),t),t)}):this.each(function(){var e,t,n,r;if(a){t=0,n=S(this),r=vt(i);while(e=r[t++])n.hasClass(e)?n.removeClass(e):n.addClass(e)}else void 0!==i&&"boolean"!==o||((e=gt(this))&&Y.set(this,"__className__",e),this.setAttribute&&this.setAttribute("class",e||!1===i?"":Y.get(this,"__className__")||""))})},hasClass:function(e){var t,n,r=0;t=" "+e+" ";while(n=this[r++])if(1===n.nodeType&&-1<(" "+ht(gt(n))+" ").indexOf(t))return!0;return!1}});var yt=/\r/g;S.fn.extend({val:function(n){var r,e,i,t=this[0];return arguments.length?(i=m(n),this.each(function(e){var t;1===this.nodeType&&(null==(t=i?n.call(this,e,S(this).val()):n)?t="":"number"==typeof t?t+="":Array.isArray(t)&&(t=S.map(t,function(e){return null==e?"":e+""})),(r=S.valHooks[this.type]||S.valHooks[this.nodeName.toLowerCase()])&&"set"in r&&void 0!==r.set(this,t,"value")||(this.value=t))})):t?(r=S.valHooks[t.type]||S.valHooks[t.nodeName.toLowerCase()])&&"get"in r&&void 0!==(e=r.get(t,"value"))?e:"string"==typeof(e=t.value)?e.replace(yt,""):null==e?"":e:void 0}}),S.extend({valHooks:{option:{get:function(e){var t=S.find.attr(e,"value");return null!=t?t:ht(S.text(e))}},select:{get:function(e){var t,n,r,i=e.options,o=e.selectedIndex,a="select-one"===e.type,s=a?null:[],u=a?o+1:i.length;for(r=o<0?u:a?o:0;r<u;r++)if(((n=i[r]).selected||r===o)&&!n.disabled&&(!n.parentNode.disabled||!A(n.parentNode,"optgroup"))){if(t=S(n).val(),a)return t;s.push(t)}return s},set:function(e,t){var n,r,i=e.options,o=S.makeArray(t),a=i.length;while(a--)((r=i[a]).selected=-1<S.inArray(S.valHooks.option.get(r),o))&&(n=!0);return n||(e.selectedIndex=-1),o}}}}),S.each(["radio","checkbox"],function(){S.valHooks[this]={set:function(e,t){if(Array.isArray(t))return e.checked=-1<S.inArray(S(e).val(),t)}},y.checkOn||(S.valHooks[this].get=function(e){return null===e.getAttribute("value")?"on":e.value})}),y.focusin="onfocusin"in C;var mt=/^(?:focusinfocus|focusoutblur)$/,xt=function(e){e.stopPropagation()};S.extend(S.event,{trigger:function(e,t,n,r){var i,o,a,s,u,l,c,f,p=[n||E],d=v.call(e,"type")?e.type:e,h=v.call(e,"namespace")?e.namespace.split("."):[];if(o=f=a=n=n||E,3!==n.nodeType&&8!==n.nodeType&&!mt.test(d+S.event.triggered)&&(-1<d.indexOf(".")&&(d=(h=d.split(".")).shift(),h.sort()),u=d.indexOf(":")<0&&"on"+d,(e=e[S.expando]?e:new S.Event(d,"object"==typeof e&&e)).isTrigger=r?2:3,e.namespace=h.join("."),e.rnamespace=e.namespace?new RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,e.result=void 0,e.target||(e.target=n),t=null==t?[e]:S.makeArray(t,[e]),c=S.event.special[d]||{},r||!c.trigger||!1!==c.trigger.apply(n,t))){if(!r&&!c.noBubble&&!x(n)){for(s=c.delegateType||d,mt.test(s+d)||(o=o.parentNode);o;o=o.parentNode)p.push(o),a=o;a===(n.ownerDocument||E)&&p.push(a.defaultView||a.parentWindow||C)}i=0;while((o=p[i++])&&!e.isPropagationStopped())f=o,e.type=1<i?s:c.bindType||d,(l=(Y.get(o,"events")||Object.create(null))[e.type]&&Y.get(o,"handle"))&&l.apply(o,t),(l=u&&o[u])&&l.apply&&V(o)&&(e.result=l.apply(o,t),!1===e.result&&e.preventDefault());return e.type=d,r||e.isDefaultPrevented()||c._default&&!1!==c._default.apply(p.pop(),t)||!V(n)||u&&m(n[d])&&!x(n)&&((a=n[u])&&(n[u]=null),S.event.triggered=d,e.isPropagationStopped()&&f.addEventListener(d,xt),n[d](),e.isPropagationStopped()&&f.removeEventListener(d,xt),S.event.triggered=void 0,a&&(n[u]=a)),e.result}},simulate:function(e,t,n){var r=S.extend(new S.Event,n,{type:e,isSimulated:!0});S.event.trigger(r,null,t)}}),S.fn.extend({trigger:function(e,t){return this.each(function(){S.event.trigger(e,t,this)})},triggerHandler:function(e,t){var n=this[0];if(n)return S.event.trigger(e,t,n,!0)}}),y.focusin||S.each({focus:"focusin",blur:"focusout"},function(n,r){var i=function(e){S.event.simulate(r,e.target,S.event.fix(e))};S.event.special[r]={setup:function(){var e=this.ownerDocument||this.document||this,t=Y.access(e,r);t||e.addEventListener(n,i,!0),Y.access(e,r,(t||0)+1)},teardown:function(){var e=this.ownerDocument||this.document||this,t=Y.access(e,r)-1;t?Y.access(e,r,t):(e.removeEventListener(n,i,!0),Y.remove(e,r))}}});var bt=C.location,wt={guid:Date.now()},Tt=/\?/;S.parseXML=function(e){var t,n;if(!e||"string"!=typeof e)return null;try{t=(new C.DOMParser).parseFromString(e,"text/xml")}catch(e){}return n=t&&t.getElementsByTagName("parsererror")[0],t&&!n||S.error("Invalid XML: "+(n?S.map(n.childNodes,function(e){return e.textContent}).join("\n"):e)),t};var Ct=/\[\]$/,Et=/\r?\n/g,St=/^(?:submit|button|image|reset|file)$/i,kt=/^(?:input|select|textarea|keygen)/i;function At(n,e,r,i){var t;if(Array.isArray(e))S.each(e,function(e,t){r||Ct.test(n)?i(n,t):At(n+"["+("object"==typeof t&&null!=t?e:"")+"]",t,r,i)});else if(r||"object"!==w(e))i(n,e);else for(t in e)At(n+"["+t+"]",e[t],r,i)}S.param=function(e,t){var n,r=[],i=function(e,t){var n=m(t)?t():t;r[r.length]=encodeURIComponent(e)+"="+encodeURIComponent(null==n?"":n)};if(null==e)return"";if(Array.isArray(e)||e.jquery&&!S.isPlainObject(e))S.each(e,function(){i(this.name,this.value)});else for(n in e)At(n,e[n],t,i);return r.join("&")},S.fn.extend({serialize:function(){return S.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var e=S.prop(this,"elements");return e?S.makeArray(e):this}).filter(function(){var e=this.type;return this.name&&!S(this).is(":disabled")&&kt.test(this.nodeName)&&!St.test(e)&&(this.checked||!pe.test(e))}).map(function(e,t){var n=S(this).val();return null==n?null:Array.isArray(n)?S.map(n,function(e){return{name:t.name,value:e.replace(Et,"\r\n")}}):{name:t.name,value:n.replace(Et,"\r\n")}}).get()}});var Nt=/%20/g,jt=/#.*$/,Dt=/([?&])_=[^&]*/,qt=/^(.*?):[ \t]*([^\r\n]*)$/gm,Lt=/^(?:GET|HEAD)$/,Ht=/^\/\//,Ot={},Pt={},Rt="*/".concat("*"),Mt=E.createElement("a");function It(o){return function(e,t){"string"!=typeof e&&(t=e,e="*");var n,r=0,i=e.toLowerCase().match(P)||[];if(m(t))while(n=i[r++])"+"===n[0]?(n=n.slice(1)||"*",(o[n]=o[n]||[]).unshift(t)):(o[n]=o[n]||[]).push(t)}}function Wt(t,i,o,a){var s={},u=t===Pt;function l(e){var r;return s[e]=!0,S.each(t[e]||[],function(e,t){var n=t(i,o,a);return"string"!=typeof n||u||s[n]?u?!(r=n):void 0:(i.dataTypes.unshift(n),l(n),!1)}),r}return l(i.dataTypes[0])||!s["*"]&&l("*")}function Ft(e,t){var n,r,i=S.ajaxSettings.flatOptions||{};for(n in t)void 0!==t[n]&&((i[n]?e:r||(r={}))[n]=t[n]);return r&&S.extend(!0,e,r),e}Mt.href=bt.href,S.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:bt.href,type:"GET",isLocal:/^(?:about|app|app-storage|.+-extension|file|res|widget):$/.test(bt.protocol),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":Rt,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/\bxml\b/,html:/\bhtml/,json:/\bjson\b/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":JSON.parse,"text xml":S.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(e,t){return t?Ft(Ft(e,S.ajaxSettings),t):Ft(S.ajaxSettings,e)},ajaxPrefilter:It(Ot),ajaxTransport:It(Pt),ajax:function(e,t){"object"==typeof e&&(t=e,e=void 0),t=t||{};var c,f,p,n,d,r,h,g,i,o,v=S.ajaxSetup({},t),y=v.context||v,m=v.context&&(y.nodeType||y.jquery)?S(y):S.event,x=S.Deferred(),b=S.Callbacks("once memory"),w=v.statusCode||{},a={},s={},u="canceled",T={readyState:0,getResponseHeader:function(e){var t;if(h){if(!n){n={};while(t=qt.exec(p))n[t[1].toLowerCase()+" "]=(n[t[1].toLowerCase()+" "]||[]).concat(t[2])}t=n[e.toLowerCase()+" "]}return null==t?null:t.join(", ")},getAllResponseHeaders:function(){return h?p:null},setRequestHeader:function(e,t){return null==h&&(e=s[e.toLowerCase()]=s[e.toLowerCase()]||e,a[e]=t),this},overrideMimeType:function(e){return null==h&&(v.mimeType=e),this},statusCode:function(e){var t;if(e)if(h)T.always(e[T.status]);else for(t in e)w[t]=[w[t],e[t]];return this},abort:function(e){var t=e||u;return c&&c.abort(t),l(0,t),this}};if(x.promise(T),v.url=((e||v.url||bt.href)+"").replace(Ht,bt.protocol+"//"),v.type=t.method||t.type||v.method||v.type,v.dataTypes=(v.dataType||"*").toLowerCase().match(P)||[""],null==v.crossDomain){r=E.createElement("a");try{r.href=v.url,r.href=r.href,v.crossDomain=Mt.protocol+"//"+Mt.host!=r.protocol+"//"+r.host}catch(e){v.crossDomain=!0}}if(v.data&&v.processData&&"string"!=typeof v.data&&(v.data=S.param(v.data,v.traditional)),Wt(Ot,v,t,T),h)return T;for(i in(g=S.event&&v.global)&&0==S.active++&&S.event.trigger("ajaxStart"),v.type=v.type.toUpperCase(),v.hasContent=!Lt.test(v.type),f=v.url.replace(jt,""),v.hasContent?v.data&&v.processData&&0===(v.contentType||"").indexOf("application/x-www-form-urlencoded")&&(v.data=v.data.replace(Nt,"+")):(o=v.url.slice(f.length),v.data&&(v.processData||"string"==typeof v.data)&&(f+=(Tt.test(f)?"&":"?")+v.data,delete v.data),!1===v.cache&&(f=f.replace(Dt,"$1"),o=(Tt.test(f)?"&":"?")+"_="+wt.guid+++o),v.url=f+o),v.ifModified&&(S.lastModified[f]&&T.setRequestHeader("If-Modified-Since",S.lastModified[f]),S.etag[f]&&T.setRequestHeader("If-None-Match",S.etag[f])),(v.data&&v.hasContent&&!1!==v.contentType||t.contentType)&&T.setRequestHeader("Content-Type",v.contentType),T.setRequestHeader("Accept",v.dataTypes[0]&&v.accepts[v.dataTypes[0]]?v.accepts[v.dataTypes[0]]+("*"!==v.dataTypes[0]?", "+Rt+"; q=0.01":""):v.accepts["*"]),v.headers)T.setRequestHeader(i,v.headers[i]);if(v.beforeSend&&(!1===v.beforeSend.call(y,T,v)||h))return T.abort();if(u="abort",b.add(v.complete),T.done(v.success),T.fail(v.error),c=Wt(Pt,v,t,T)){if(T.readyState=1,g&&m.trigger("ajaxSend",[T,v]),h)return T;v.async&&0<v.timeout&&(d=C.setTimeout(function(){T.abort("timeout")},v.timeout));try{h=!1,c.send(a,l)}catch(e){if(h)throw e;l(-1,e)}}else l(-1,"No Transport");function l(e,t,n,r){var i,o,a,s,u,l=t;h||(h=!0,d&&C.clearTimeout(d),c=void 0,p=r||"",T.readyState=0<e?4:0,i=200<=e&&e<300||304===e,n&&(s=function(e,t,n){var r,i,o,a,s=e.contents,u=e.dataTypes;while("*"===u[0])u.shift(),void 0===r&&(r=e.mimeType||t.getResponseHeader("Content-Type"));if(r)for(i in s)if(s[i]&&s[i].test(r)){u.unshift(i);break}if(u[0]in n)o=u[0];else{for(i in n){if(!u[0]||e.converters[i+" "+u[0]]){o=i;break}a||(a=i)}o=o||a}if(o)return o!==u[0]&&u.unshift(o),n[o]}(v,T,n)),!i&&-1<S.inArray("script",v.dataTypes)&&S.inArray("json",v.dataTypes)<0&&(v.converters["text script"]=function(){}),s=function(e,t,n,r){var i,o,a,s,u,l={},c=e.dataTypes.slice();if(c[1])for(a in e.converters)l[a.toLowerCase()]=e.converters[a];o=c.shift();while(o)if(e.responseFields[o]&&(n[e.responseFields[o]]=t),!u&&r&&e.dataFilter&&(t=e.dataFilter(t,e.dataType)),u=o,o=c.shift())if("*"===o)o=u;else if("*"!==u&&u!==o){if(!(a=l[u+" "+o]||l["* "+o]))for(i in l)if((s=i.split(" "))[1]===o&&(a=l[u+" "+s[0]]||l["* "+s[0]])){!0===a?a=l[i]:!0!==l[i]&&(o=s[0],c.unshift(s[1]));break}if(!0!==a)if(a&&e["throws"])t=a(t);else try{t=a(t)}catch(e){return{state:"parsererror",error:a?e:"No conversion from "+u+" to "+o}}}return{state:"success",data:t}}(v,s,T,i),i?(v.ifModified&&((u=T.getResponseHeader("Last-Modified"))&&(S.lastModified[f]=u),(u=T.getResponseHeader("etag"))&&(S.etag[f]=u)),204===e||"HEAD"===v.type?l="nocontent":304===e?l="notmodified":(l=s.state,o=s.data,i=!(a=s.error))):(a=l,!e&&l||(l="error",e<0&&(e=0))),T.status=e,T.statusText=(t||l)+"",i?x.resolveWith(y,[o,l,T]):x.rejectWith(y,[T,l,a]),T.statusCode(w),w=void 0,g&&m.trigger(i?"ajaxSuccess":"ajaxError",[T,v,i?o:a]),b.fireWith(y,[T,l]),g&&(m.trigger("ajaxComplete",[T,v]),--S.active||S.event.trigger("ajaxStop")))}return T},getJSON:function(e,t,n){return S.get(e,t,n,"json")},getScript:function(e,t){return S.get(e,void 0,t,"script")}}),S.each(["get","post"],function(e,i){S[i]=function(e,t,n,r){return m(t)&&(r=r||n,n=t,t=void 0),S.ajax(S.extend({url:e,type:i,dataType:r,data:t,success:n},S.isPlainObject(e)&&e))}}),S.ajaxPrefilter(function(e){var t;for(t in e.headers)"content-type"===t.toLowerCase()&&(e.contentType=e.headers[t]||"")}),S._evalUrl=function(e,t,n){return S.ajax({url:e,type:"GET",dataType:"script",cache:!0,async:!1,global:!1,converters:{"text script":function(){}},dataFilter:function(e){S.globalEval(e,t,n)}})},S.fn.extend({wrapAll:function(e){var t;return this[0]&&(m(e)&&(e=e.call(this[0])),t=S(e,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&t.insertBefore(this[0]),t.map(function(){var e=this;while(e.firstElementChild)e=e.firstElementChild;return e}).append(this)),this},wrapInner:function(n){return m(n)?this.each(function(e){S(this).wrapInner(n.call(this,e))}):this.each(function(){var e=S(this),t=e.contents();t.length?t.wrapAll(n):e.append(n)})},wrap:function(t){var n=m(t);return this.each(function(e){S(this).wrapAll(n?t.call(this,e):t)})},unwrap:function(e){return this.parent(e).not("body").each(function(){S(this).replaceWith(this.childNodes)}),this}}),S.expr.pseudos.hidden=function(e){return!S.expr.pseudos.visible(e)},S.expr.pseudos.visible=function(e){return!!(e.offsetWidth||e.offsetHeight||e.getClientRects().length)},S.ajaxSettings.xhr=function(){try{return new C.XMLHttpRequest}catch(e){}};var Bt={0:200,1223:204},$t=S.ajaxSettings.xhr();y.cors=!!$t&&"withCredentials"in $t,y.ajax=$t=!!$t,S.ajaxTransport(function(i){var o,a;if(y.cors||$t&&!i.crossDomain)return{send:function(e,t){var n,r=i.xhr();if(r.open(i.type,i.url,i.async,i.username,i.password),i.xhrFields)for(n in i.xhrFields)r[n]=i.xhrFields[n];for(n in i.mimeType&&r.overrideMimeType&&r.overrideMimeType(i.mimeType),i.crossDomain||e["X-Requested-With"]||(e["X-Requested-With"]="XMLHttpRequest"),e)r.setRequestHeader(n,e[n]);o=function(e){return function(){o&&(o=a=r.onload=r.onerror=r.onabort=r.ontimeout=r.onreadystatechange=null,"abort"===e?r.abort():"error"===e?"number"!=typeof r.status?t(0,"error"):t(r.status,r.statusText):t(Bt[r.status]||r.status,r.statusText,"text"!==(r.responseType||"text")||"string"!=typeof r.responseText?{binary:r.response}:{text:r.responseText},r.getAllResponseHeaders()))}},r.onload=o(),a=r.onerror=r.ontimeout=o("error"),void 0!==r.onabort?r.onabort=a:r.onreadystatechange=function(){4===r.readyState&&C.setTimeout(function(){o&&a()})},o=o("abort");try{r.send(i.hasContent&&i.data||null)}catch(e){if(o)throw e}},abort:function(){o&&o()}}}),S.ajaxPrefilter(function(e){e.crossDomain&&(e.contents.script=!1)}),S.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/\b(?:java|ecma)script\b/},converters:{"text script":function(e){return S.globalEval(e),e}}}),S.ajaxPrefilter("script",function(e){void 0===e.cache&&(e.cache=!1),e.crossDomain&&(e.type="GET")}),S.ajaxTransport("script",function(n){var r,i;if(n.crossDomain||n.scriptAttrs)return{send:function(e,t){r=S("<script>").attr(n.scriptAttrs||{}).prop({charset:n.scriptCharset,src:n.url}).on("load error",i=function(e){r.remove(),i=null,e&&t("error"===e.type?404:200,e.type)}),E.head.appendChild(r[0])},abort:function(){i&&i()}}});var _t,zt=[],Ut=/(=)\?(?=&|$)|\?\?/;S.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=zt.pop()||S.expando+"_"+wt.guid++;return this[e]=!0,e}}),S.ajaxPrefilter("json jsonp",function(e,t,n){var r,i,o,a=!1!==e.jsonp&&(Ut.test(e.url)?"url":"string"==typeof e.data&&0===(e.contentType||"").indexOf("application/x-www-form-urlencoded")&&Ut.test(e.data)&&"data");if(a||"jsonp"===e.dataTypes[0])return r=e.jsonpCallback=m(e.jsonpCallback)?e.jsonpCallback():e.jsonpCallback,a?e[a]=e[a].replace(Ut,"$1"+r):!1!==e.jsonp&&(e.url+=(Tt.test(e.url)?"&":"?")+e.jsonp+"="+r),e.converters["script json"]=function(){return o||S.error(r+" was not called"),o[0]},e.dataTypes[0]="json",i=C[r],C[r]=function(){o=arguments},n.always(function(){void 0===i?S(C).removeProp(r):C[r]=i,e[r]&&(e.jsonpCallback=t.jsonpCallback,zt.push(r)),o&&m(i)&&i(o[0]),o=i=void 0}),"script"}),y.createHTMLDocument=((_t=E.implementation.createHTMLDocument("").body).innerHTML="<form></form><form></form>",2===_t.childNodes.length),S.parseHTML=function(e,t,n){return"string"!=typeof e?[]:("boolean"==typeof t&&(n=t,t=!1),t||(y.createHTMLDocument?((r=(t=E.implementation.createHTMLDocument("")).createElement("base")).href=E.location.href,t.head.appendChild(r)):t=E),o=!n&&[],(i=N.exec(e))?[t.createElement(i[1])]:(i=xe([e],t,o),o&&o.length&&S(o).remove(),S.merge([],i.childNodes)));var r,i,o},S.fn.load=function(e,t,n){var r,i,o,a=this,s=e.indexOf(" ");return-1<s&&(r=ht(e.slice(s)),e=e.slice(0,s)),m(t)?(n=t,t=void 0):t&&"object"==typeof t&&(i="POST"),0<a.length&&S.ajax({url:e,type:i||"GET",dataType:"html",data:t}).done(function(e){o=arguments,a.html(r?S("<div>").append(S.parseHTML(e)).find(r):e)}).always(n&&function(e,t){a.each(function(){n.apply(this,o||[e.responseText,t,e])})}),this},S.expr.pseudos.animated=function(t){return S.grep(S.timers,function(e){return t===e.elem}).length},S.offset={setOffset:function(e,t,n){var r,i,o,a,s,u,l=S.css(e,"position"),c=S(e),f={};"static"===l&&(e.style.position="relative"),s=c.offset(),o=S.css(e,"top"),u=S.css(e,"left"),("absolute"===l||"fixed"===l)&&-1<(o+u).indexOf("auto")?(a=(r=c.position()).top,i=r.left):(a=parseFloat(o)||0,i=parseFloat(u)||0),m(t)&&(t=t.call(e,n,S.extend({},s))),null!=t.top&&(f.top=t.top-s.top+a),null!=t.left&&(f.left=t.left-s.left+i),"using"in t?t.using.call(e,f):c.css(f)}},S.fn.extend({offset:function(t){if(arguments.length)return void 0===t?this:this.each(function(e){S.offset.setOffset(this,t,e)});var e,n,r=this[0];return r?r.getClientRects().length?(e=r.getBoundingClientRect(),n=r.ownerDocument.defaultView,{top:e.top+n.pageYOffset,left:e.left+n.pageXOffset}):{top:0,left:0}:void 0},position:function(){if(this[0]){var e,t,n,r=this[0],i={top:0,left:0};if("fixed"===S.css(r,"position"))t=r.getBoundingClientRect();else{t=this.offset(),n=r.ownerDocument,e=r.offsetParent||n.documentElement;while(e&&(e===n.body||e===n.documentElement)&&"static"===S.css(e,"position"))e=e.parentNode;e&&e!==r&&1===e.nodeType&&((i=S(e).offset()).top+=S.css(e,"borderTopWidth",!0),i.left+=S.css(e,"borderLeftWidth",!0))}return{top:t.top-i.top-S.css(r,"marginTop",!0),left:t.left-i.left-S.css(r,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var e=this.offsetParent;while(e&&"static"===S.css(e,"position"))e=e.offsetParent;return e||re})}}),S.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(t,i){var o="pageYOffset"===i;S.fn[t]=function(e){return $(this,function(e,t,n){var r;if(x(e)?r=e:9===e.nodeType&&(r=e.defaultView),void 0===n)return r?r[i]:e[t];r?r.scrollTo(o?r.pageXOffset:n,o?n:r.pageYOffset):e[t]=n},t,e,arguments.length)}}),S.each(["top","left"],function(e,n){S.cssHooks[n]=Fe(y.pixelPosition,function(e,t){if(t)return t=We(e,n),Pe.test(t)?S(e).position()[n]+"px":t})}),S.each({Height:"height",Width:"width"},function(a,s){S.each({padding:"inner"+a,content:s,"":"outer"+a},function(r,o){S.fn[o]=function(e,t){var n=arguments.length&&(r||"boolean"!=typeof e),i=r||(!0===e||!0===t?"margin":"border");return $(this,function(e,t,n){var r;return x(e)?0===o.indexOf("outer")?e["inner"+a]:e.document.documentElement["client"+a]:9===e.nodeType?(r=e.documentElement,Math.max(e.body["scroll"+a],r["scroll"+a],e.body["offset"+a],r["offset"+a],r["client"+a])):void 0===n?S.css(e,t,i):S.style(e,t,n,i)},s,n?e:void 0,n)}})}),S.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){S.fn[t]=function(e){return this.on(t,e)}}),S.fn.extend({bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},delegate:function(e,t,n,r){return this.on(t,e,n,r)},undelegate:function(e,t,n){return 1===arguments.length?this.off(e,"**"):this.off(t,e||"**",n)},hover:function(e,t){return this.mouseenter(e).mouseleave(t||e)}}),S.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(e,n){S.fn[n]=function(e,t){return 0<arguments.length?this.on(n,null,e,t):this.trigger(n)}});var Xt=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g;S.proxy=function(e,t){var n,r,i;if("string"==typeof t&&(n=e[t],t=e,e=n),m(e))return r=s.call(arguments,2),(i=function(){return e.apply(t||this,r.concat(s.call(arguments)))}).guid=e.guid=e.guid||S.guid++,i},S.holdReady=function(e){e?S.readyWait++:S.ready(!0)},S.isArray=Array.isArray,S.parseJSON=JSON.parse,S.nodeName=A,S.isFunction=m,S.isWindow=x,S.camelCase=X,S.type=w,S.now=Date.now,S.isNumeric=function(e){var t=S.type(e);return("number"===t||"string"===t)&&!isNaN(e-parseFloat(e))},S.trim=function(e){return null==e?"":(e+"").replace(Xt,"")},"function"==typeof define&&define.amd&&define("jquery",[],function(){return S});var Vt=C.jQuery,Gt=C.$;return S.noConflict=function(e){return C.$===S&&(C.$=Gt),e&&C.jQuery===S&&(C.jQuery=Vt),S},"undefined"==typeof e&&(C.jQuery=C.$=S),S}); </script> <!-- Robots Meta ================================ --> <meta name="robots" content="index,follow" /> <link rel="canonical" href="https://www.happiestbaby.com/collections/black-friday-sale" /><link rel="alternate" hreflang="en-us" href="https://www.happiestbaby.com/collections/black-friday-sale" /> <link rel="alternate" hreflang="x-default" href="https://happiestbaby.com/collections/black-friday-sale" /><!-- Synchronous JS ================================ --> <!-- Google Tag Manager --> <script data-essential="true"> (function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start': new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0], j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src= 'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f); })(window,document,'script','dataLayer','GTM-WTZ3MV'); </script> <!-- End Google Tag Manager --> <script> var google_tag_params = { ecomm_prodid: ['shopify_US_8704190732_29950972620', 'shopify_US_193015513113_42018466693310', 'shopify_US_7535315681470_42490192199870', 'shopify_US_748561662069_42018423210174', 'shopify_US_7535265775806_42490130563262'], ecomm_pagetype: 'category', ecomm_category: 'black-friday-sale' }; </script> <script data-essential="true" src="https://www.googletagmanager.com/gtag/js?id=AW-872702734" > </script> <script data-essential="true"> window.dataLayer = window.dataLayer || []; function gtag(){dataLayer.push(arguments);} gtag('js', new Date()); gtag('config', 'AW-872702734'); gtag('event', 'page_view', { 'send_to': 'AW-872702734', 'ecomm_pagetype': window.google_tag_params.ecomm_pagetype, 'ecomm_prodid': window.google_tag_params.ecomm_prodid, 'ecomm_totalvalue': window.google_tag_params.ecomm_totalvalue }); </script> <script> /* Accessibility Fix for Bazaarvoice Star Ratings SVGs */ var target = '#ratings-summary .bv_stars_component_container'; var title = 'Star Icons'; delayedSvgTitles(target, title, 2000); function delayedSvgTitles(parent_element_target, svg_title, seconds_delayed) { setTimeout(function(){ var targetElement = document.querySelector(parent_element_target); if (targetElement === null || targetElement === undefined) { // console.log('::: targetElement doesn\'t exist! return;', targetElement); return; } else { // console.log('::: targetElement exist!', targetElement); var svgElements = document.querySelectorAll(parent_element_target+' svg'); if (svgElements.length !== 0) { for(i=0; i < svgElements.length; i++) { var title = document.createElement('title'); title.textContent = svg_title; svgElements[i].role = 'img'; svgElements[i].append(title); // console.log('::: svgElements[i]', svgElements[i]); } } else { return; } } }, seconds_delayed); // Close of: setTimeout } /* How to use this function * * var ratingSummaryTitle = "Star Icons"; * var ratingSummaryDescription = "Star Icons are used for Star Ratings Review"; * observeSvgs('div[data-bv-show="rating_summary"]', ratingSummaryTitle, ratingSummaryDescription); * */ // console.log('::: accessibility_svg_observer snippet rendered!'); function observeSvgs(parent_element_target, svg_title, svg_description) { // Target Element var targetElement = document.querySelector(parent_element_target); var svgTitle = svg_title; var svgDesc = svg_description; if (targetElement === null || targetElement === undefined) { // console.log('::: targetElement doesn\'t exist!'); return; } // Create Observer Instance var svgObserver = new MutationObserver(function (m) { for(i=0; i<m.length; i++) { // Go through childList if (m[i].type === 'childList') { // Does child element have SVG's? var hasSvg = (m[i].target.querySelectorAll('svg').length !== 0) ? true : false; // console.log('::: hasSvg', hasSvg); // Has SVGs! if (hasSvg) { /* Setup variables to use for if/else checks */ // Does SVG exist? svgElements = m[i].target.querySelectorAll('svg'); // Does SVG Title Tag exist? svgTitleTags = m[i].target.querySelectorAll('svg title'); // Does SVG Description Tag exist? svgDescTags = m[i].target.querySelectorAll('svg desc'); var svgElementsLength = svgElements.length - 1; var svgElementsOneIndexBasis; // Run through all SVGs for(x=0; x<svgElements.length; i++) { svgElementsOneIndexBasis = i+1; // Prevent never ending loop. Return if undefined/null if (svgElements[i] == undefined || svgElements[i] == null) { return; } // Check for SVG's w/o Titles and Desc tags else if (svgTitleTags[i] === undefined && svgDescTags[i] === undefined) { // Create NEW SVG Title Tag var title = document.createElement('title'); // Add SVG Title Text title.textContent = svgTitle+' - '+svgElementsOneIndexBasis+' of '+svgElementsLength; // Create NEW SVG Desc Tag var desc = document.createElement('desc'); // Add SVG Desc Text desc.textContent = svgDesc+' - '+svgElementsOneIndexBasis+' of '+svgElementsLength; svgElements[i].role = 'img'; svgElements[i].append(title); } // Else, everything should be ok. Titles and Desc tags exist! Disconnect! else { svgObserver.disconnect(); } // Close of: if/elseif/else statement } // Close of: forloop } // Close of: hasSvg } // Close of: childList } // Close of: forloop }); // Close of: SVG Observer // configuration of the observer: var config = { subtree: true, characterData: true, childList: true }; // pass in the target node, as well as the observer options svgObserver.observe(targetElement, config); } </script> <script> window.addEventListener('DOMContentLoaded',(e)=>{ // Initialize Shopify's Customer Privacy API ASAP when DOM Content loaded. window.Shopify.loadFeatures([ { name: 'consent-tracking-api', version: '0.1', } ], function(error) { if (error) { throw error; } // run callback functions here document.addEventListener('visitorConsentCollected', () => { console.log('*** consent: Initiated addEventListener for visitorConsentCollected!'); }); }); }); </script> <script> var HB = HB || {}; HB.cookieBlockerEnabled = true; var isInitPrefMarketing; var isInitPrefSaleOfData; window.dataLayer = window.dataLayer || []; /* Is Shopify Consent Captured? If Cookie doesn't exist, it will return null -> Shopify Consent NOT Captured If Cookie does exist and has value 'false' -> Shopify Consent NOT Captured */ let isShopifyConsentCaptured = (HB.utils.readCookie('isShopifyConsentCaptured') !== null); if (!isShopifyConsentCaptured) { isInitPrefMarketing = true; isInitPrefSaleOfData = true; } window.addEventListener('message', function(ev) { if (ev.data.message === 'single_upload_consent_given' || ev.data.message === 'consent_given') {} /* ev.data.message: 'single_upload_consent_given' On preference change - message shows up when user preference is udpated and provides PREVIOUS preferences. On page load - message will show up when user has not provided consent yet. ev.data.message: 'consent_given' On preference chagne - message shows up when user preference is updated and provides NEW preferences. On page load - message will show up and with LATEST preferences. */ var isConsentPrevious = (ev.data.message === 'single_upload_consent_given'); var isConsentCurrent = (ev.data.message === 'consent_given'); if (isConsentPrevious) { if (!isShopifyConsentCaptured) {HB.utils.createCookie('isShopifyConsentCaptured',true,365);} } if(isConsentCurrent) { window.addEventListener('click', (e)=>{ var consentBtnText = e.target.innerHTML; var consentDeclineText = { ver_one: `Don't Sell My Information`, ver_two: `Don't Sell My Personal Information` }; var consentAcceptText = { ver_one: `Allow Cookies`, ver_two: `Accept` }; if(consentBtnText === consentDeclineText.ver_one || consentBtnText === consentDeclineText.ver_two) { if (!isShopifyConsentCaptured) {HB.utils.createCookie('isShopifyConsentCaptured',true,365);} window.Shopify.customerPrivacy.setTrackingConsent( { "analytics": false, "marketing": false, "preferences": false, "sale_of_data": false }, () => { console.log('*** Shopify Consent Status', window.Shopify.customerPrivacy.currentVisitorConsent()); } ); window.dataLayer.push({ 'event': 'consent_of_data', 'cookieConsent': false }); isInitPrefMarketing = false; isInitPrefSaleOfData = false; } else if (consentBtnText === consentAcceptText.ver_one || consentBtnText === consentAcceptText.ver_two) { if (!isShopifyConsentCaptured) {HB.utils.createCookie('isShopifyConsentCaptured',true,365);} window.Shopify.customerPrivacy.setTrackingConsent( { "analytics": true, "marketing": true, "preferences": true, "sale_of_data": true }, () => { console.log('*** Shopify Consent Status', window.Shopify.customerPrivacy.currentVisitorConsent()); } ); window.dataLayer.push({ 'event': 'consent_of_data', 'cookieConsent': true }); isInitPrefMarketing = false; isInitPrefSaleOfData = false; } }); } if (isShopifyConsentCaptured && ev.data.message === 'consent_given' && ev.data.consentStatuses.Advertising !== undefined) { isInitPrefMarketing = false; isInitPrefSaleOfData = false; if(ev.data.consentStatuses['Advertising'] !== 'undefined') { HB.consent_advertising = ev.data.consentStatuses['Advertising']; } if(ev.data.consentStatuses['Analytics & Customization'] !== 'undefined') { HB.consent_analytics = ev.data.consentStatuses['Analytics & Customization']; disableKlaviyoTracking(HB.consent_analytics); } if(ev.data.consentStatuses['Performance & Functionality'] !== 'undefined') { HB.consent_performance = ev.data.consentStatuses['Performance & Functionality']; } if(ev.data.consentStatuses['Unclassified'] !== 'undefined') { HB.consent_unclassified = ev.data.consentStatuses['Unclassified']; } var consentCategories = {}; setTimeout((e)=>{ HB.sale_of_data = true; if (HB.consent_analytics === false && HB.consent_advertising === false && HB.consent_performance === false) { HB.sale_of_data = false; } consentCategories = { "analytics": HB.consent_analytics, "marketing": HB.consent_advertising, "preferences": HB.consent_performance, "sale_of_data": HB.sale_of_data } window.Shopify.customerPrivacy.setTrackingConsent( consentCategories, ()=>{ console.log('*** consent: Updated Shopify Consent Status', window.Shopify.customerPrivacy.currentVisitorConsent()); } ); window.dataLayer.push({ 'event': 'consent_of_data', consentCategories }); },1000); } }); function disableKlaviyoTracking(consent_group) { if (!consent_group && document.cookie.includes('__kla_id')) { document.cookie = "__kla_off=true"; } else if (consent_group && document.cookie.includes('__kla_id')) { document.cookie = "__kla_off=false"; } else { HB.utils.eraseCookie('__kla_off'); } } </script> <!-- Stylesheets ================================ --><style data-shopify> :root{--color-white:#fff;--color-black:#000;--color-dark-grey:#0d141b;--color-grey:#ccc;--color-light-grey:#aeb0b4;--color-very-light-grey:#f4f4f4;--color-white:#fff;--color-blue:#1377A8;--color-secondary-blue:#93C6cc;--color-tertiary-blue:#1377A8;--color-quaternary-blue:#0372A8;--color-quinary-blue:#247CA8;--color-bright-blue:#27D2D9;--color-grey-blue:#4d596b;--color-light-blue:#d4f6f7;--color-very-light-blue:#f4fbff;--color-midnight-blue:#2A365B;--color-turquoise-tint:#d4f6f7;--color-sea-foam-grey:#f6f9f6;--color-coral:#CD3F3C;--wcag-color-blue:#1377A8;--wcag-color-blue-hover:#10658F;--wcag-color-teal:#F1F7FA;--color-body-text:#666;--color-border:#f6f6f6;--color-disabled:#000;--color-disabled-border:#000;--color-error:#000;--color-error-bg:#000;--font-weight-light:300;--font-weight-normal:400;--font-weight-semi-bold:500;--font-weight-bold:700;--font-stack-body:"Gotham", "Helvetica Neue", Helvetica, Arial, sans-serif;--font-size-base:12px;--link-color:#0d141b;--link-decoration:none;--link-hover-color:#27D2D9;--width-site:1180px;--max-width-site:1920px;--gutter:30px;--m-promo-banner-height:30px;--d-promo-banner-height:40px;--m-nav-height:50px;--d-nav-height:65px;--z-index-skip-to-content:10000;--grid-medium:750px;--grid-large:990px;--grid-widescreen:1400px;--small:'small';--medium:'medium';--medium-down:'medium-down';--medium-up:'medium-up';--large:'large';--large-down:'large-down';--large-up:'large-up';--widescreen:'widescreen';--ajax-cart-side-padding:50px;--select-border:var(--color-grey-blue);--select-focus:var(--color-blue);--select-arrow:var(--select-border);--swiper-navigation-color:var(--color-grey-blue); --font-body-family:Gotham, sans-serif;--font-body-style:normal;--font-body-weight:400;--font-heading-family:Gotham, sans-serif;--font-heading-style:normal;--font-heading-weight:400;--font-body-scale:1.0;--font-heading-scale:1.0;--color-base-text:18, 18, 18;--color-shadow:18, 18, 18;--color-base-background-1:255, 255, 255;--color-base-background-2:243, 243, 243;--color-base-solid-button-labels:255, 255, 255;--color-base-outline-button-labels:18, 18, 18;--color-base-accent-1:18, 18, 18;--color-base-accent-2:51, 79, 180;--payment-terms-background-color:#FFFFFF;--gradient-base-background-1:#FFFFFF;--gradient-base-background-2:#F3F3F3;--gradient-base-accent-1:#121212;--gradient-base-accent-2:#334FB4;--media-padding:px;--media-border-opacity:0.0;--media-border-width:px;--media-radius:px;--media-shadow-opacity:0.0;--media-shadow-horizontal-offset:px;--media-shadow-vertical-offset:px;--media-shadow-blur-radius:px;--page-width:120rem;--page-width-margin:0rem;--card-image-padding:0.0rem;--card-corner-radius:0.0rem;--card-text-alignment:;--card-border-width:0.0rem;--card-border-opacity:0.0;--card-shadow-opacity:0.0;--card-shadow-horizontal-offset:0.0rem;--card-shadow-vertical-offset:0.0rem;--card-shadow-blur-radius:0.0rem;--badge-corner-radius:0.0rem;--popup-border-width:px;--popup-border-opacity:0.0;--popup-corner-radius:px;--popup-shadow-opacity:0.0;--popup-shadow-horizontal-offset:px;--popup-shadow-vertical-offset:px;--popup-shadow-blur-radius:px;--drawer-border-width:px;--drawer-border-opacity:0.0;--drawer-shadow-opacity:0.0;--drawer-shadow-horizontal-offset:px;--drawer-shadow-vertical-offset:px;--drawer-shadow-blur-radius:px;--spacing-sections-desktop:0px;--spacing-sections-mobile:0px;--grid-desktop-vertical-spacing:8px;--grid-desktop-horizontal-spacing:8px;--grid-mobile-vertical-spacing:4px;--grid-mobile-horizontal-spacing:4px;--text-boxes-border-opacity:0.0;--text-boxes-border-width:px;--text-boxes-radius:px;--text-boxes-shadow-opacity:0.0;--text-boxes-shadow-horizontal-offset:px;--text-boxes-shadow-vertical-offset:px;--text-boxes-shadow-blur-radius:px;--buttons-radius:px;--buttons-radius-outset:0px;--buttons-border-width:0px;--buttons-border-opacity:0.0;--buttons-shadow-opacity:0.0;--buttons-shadow-horizontal-offset:px;--buttons-shadow-vertical-offset:px;--buttons-shadow-blur-radius:px;--buttons-border-offset:0px;--inputs-radius:px;--inputs-border-width:px;--inputs-border-opacity:0.0;--inputs-shadow-opacity:0.0;--inputs-shadow-horizontal-offset:px;--inputs-margin-offset:0px;--inputs-shadow-vertical-offset:px;--inputs-shadow-blur-radius:px;--inputs-radius-outset:0px;--variant-pills-radius:px;--variant-pills-border-width:px;--variant-pills-border-opacity:0.0;--variant-pills-shadow-opacity:0.0;--variant-pills-shadow-horizontal-offset:px;--variant-pills-shadow-vertical-offset:px;--variant-pills-shadow-blur-radius:px;} .no-js{visibility:hidden;opacity:0;}.js{visibility:visible;opacity:1;}@font-face{font-family:"Gotham";font-weight:400;font-style:normal;font-display:swap;src:local("Gotham"),url("//www.happiestbaby.com/cdn/shop/t/1010/assets/gotham-book.woff?v=172895733223498325331732206296") format("woff");}@font-face{font-family:"Gotham";font-weight:400;font-style:italic;font-display:swap;src:local("Gotham"),url("//www.happiestbaby.com/cdn/shop/t/1010/assets/gotham-bookitalic.woff?v=68703057162308690791732206296") format("woff");}@font-face{font-family:"Gotham";font-weight:500;font-style:normal;font-display:swap;src:local("Gotham"),url("//www.happiestbaby.com/cdn/shop/t/1010/assets/Gotham-Medium.woff?v=71836732682034416091732206298") format("woff");}@font-face{font-family:"Gotham";font-weight:700;font-style:normal;font-display:swap;src:local("Gotham"),url("//www.happiestbaby.com/cdn/shop/t/1010/assets/gotham-bold.woff?v=81375089064340339691732206295") format("woff");}@font-face{font-family:"Gotham";font-weight:700;font-style:italic;font-display:swap;src:local("Gotham"),url("//www.happiestbaby.com/cdn/shop/t/1010/assets/gotham-bolditalic.woff?v=112807033502081685311732206295") format("woff");}@font-face{font-family:"Gotham";font-weight:300;font-style:normal;font-display:swap;src:local("Gotham"),url("//www.happiestbaby.com/cdn/shop/t/1010/assets/gotham-light.woff?v=121106613834846980951732206297") format("woff");}@font-face{font-family:"Gotham";font-weight:300;font-style:italic;font-display:swap;src:local("Gotham"),url("//www.happiestbaby.com/cdn/shop/t/1010/assets/gotham-lightitalic.woff?v=143923439358965689401732206297") format("woff");}/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-webkit-text-size-adjust:100%}body{margin:0}main{display:block}h1{font-size:2em;margin:.67em 0}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace,monospace;font-size:1em}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{border-style:none;padding:0}[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring,button:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:.35em .75em .625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}body,html{-webkit-overflow-scrolling:touch;-webkit-font-smoothing:antialiased}html{box-sizing:border-box}*,::after,::before{box-sizing:border-box}body,button,input,select,textarea{font-family:var(--font-stack-body);font-weight:var(--font-weight-normal);font-style:normal;-webkit-font-smoothing:antialiased;-webkit-text-size-adjust:100%}img{width:100%;max-width:100%;height:auto;vertical-align:bottom}ul{margin:0;padding:0;list-style:none}form{margin:0}input[type=submit],label[for]{cursor:pointer}optgroup{font-weight:var(--font-weight-bold)} option{color:var(--color-body-text);background-color:var(--color-white)}[role=button],a,button,input,label,select,textarea{touch-action:manipulation}.clearfix::after{content:"";display:table;clear:both}.visually-hidden{position:absolute !important;overflow:hidden;clip:rect(0 0 0 0);height:1px;width:1px;margin:-1px;padding:0;border:0}.js-focus-hidden:focus{outline:0}.label-hidden{overflow:hidden;clip:rect(0 0 0 0);height:1px;width:1px;margin:-1px;padding:0;border:0}.no-placeholder .label-hidden{position:inherit!important;overflow:auto;clip:auto;width:auto;height:auto;margin:0}.visually-shown{overflow:auto;clip:auto;width:auto;height:auto;margin:0} no-js:not(html){display:none}.no-js .no-js:not(html){display:block} .no-js .js{display:none} .supports-no-cookies:not(html){display:none}html.supports-no-cookies .supports-no-cookies:not(html){display:block} html.supports-no-cookies .supports-cookies{display:none}.mobile{display:block}.not-mobile{display:none}@media (min-width:768px){.mobile{display:none}.not-mobile{display:block;text-align:center}}.skip-link:focus{overflow:auto;clip:auto;width:auto;height:auto;margin:0;color:var(--color-body-text);background-color:var(--color-white);padding:calc(var(--gutter)/2);z-index:var(--z-index-skip-to-content);transition:none}button:focus,a:focus-visible,[role=button]:focus-visible{outline:var(--color-grey-blue) auto 2px;outline-offset:5px;}/*** typography.scss ***/html{font-size:100%;font-family:var(--font-stack-body);font-weight:var(--font-weight-normal);line-height:1.5;color:var(--color-dark-grey);-moz-osx-font-smoothing:grayscale;}h1,h2,h3,h4,h5,h6{font-style:normal;font-weight:var(--font-weight-normal);line-height:1;margin-top:0;margin-bottom:0;}a{color:var(--link-color);text-decoration:var(--link-decoration);}a:hover span{color:#23262F;cursor:pointer;}a.site-nav__link > .site-nav__label{border-bottom:3px solid transparent;}a.site-nav__link:hover > .site-nav__label{color:#23262F;border-bottom:3px solid #1377A8;}a.site-nav__link:active,a.site-nav__link:focus,.site-nav__link:active,.site-nav__link:focus{ background-color:#F1F7FA; color:#1377A8;}a.site-nav__link:hover > .icon-chevron-down{fill:#23262F;}p{margin-top:20px;margin-bottom:20px;}.u-text-center{text-align:center;}.u-no-wrap{white-space:nowrap;}/*** grid.scss ***/.grid{*zoom:1;list-style:none;margin:0;padding:0;margin-left:-30px;}.grid::after{content:"";display:table;clear:both;}.grid__item{float:left;padding-left:30px;width:100%;}.grid__item[class*="--push"]{position:relative;}.grid--rev{direction:rtl;text-align:left;}.grid--rev > .grid__item{direction:ltr;text-align:left;float:right;}.one-whole{width:100%;}.one-half{width:50%;}.one-third{width:33.33333%;}.two-thirds{width:66.66667%;}.one-quarter{width:25%;}.two-quarters{width:50%;}.three-quarters{width:75%;}.one-fifth{width:20%;}.two-fifths{width:40%;}.three-fifths{width:60%;}.four-fifths{width:80%;}.one-sixth{width:16.66667%;}.two-sixths{width:33.33333%;}.three-sixths{width:50%;}.four-sixths{width:66.66667%;}.five-sixths{width:83.33333%;}.one-eighth{width:12.5%;}.two-eighths{width:25%;}.three-eighths{width:37.5%;}.four-eighths{width:50%;}.five-eighths{width:62.5%;}.six-eighths{width:75%;}.seven-eighths{width:87.5%;}.one-tenth{width:10%;}.two-tenths{width:20%;}.three-tenths{width:30%;}.four-tenths{width:40%;}.five-tenths{width:50%;}.six-tenths{width:60%;}.seven-tenths{width:70%;}.eight-tenths{width:80%;}.nine-tenths{width:90%;}.one-twelfth{width:8.33333%;}.two-twelfths{width:16.66667%;}.three-twelfths{width:25%;}.four-twelfths{width:33.33333%;}.five-twelfths{width:41.66667%;}.six-twelfths{width:50%;}.seven-twelfths{width:58.33333%;}.eight-twelfths{width:66.66667%;}.nine-twelfths{width:75%;}.ten-twelfths{width:83.33333%;}.eleven-twelfths{width:91.66667%;}.show{display:block !important}.hide{display:none !important}.text-left{text-align:left !important}.text-right{text-align:right !important}.text-center{text-align:center !important}@media (min-width:576px){.text-sm-left{text-align:left !important;}.text-sm-right{text-align:right !important;}.text-sm-center{text-align:center !important;}}@media (min-width:768px){.text-md-left{text-align:left !important;}.text-md-right{text-align:right !important;}.text-md-center{text-align:center !important;}}@media (min-width:992px){.text-lg-left{text-align:left !important;}.text-lg-right{text-align:right !important;}.text-lg-center{text-align:center !important;}}@media (min-width:1200px){.text-xl-left{text-align:left !important;}.text-xl-right{text-align:right !important;}.text-xl-center{text-align:center !important;}}@media only screen and (max-width:850px){.small--one-whole{width:100%;}.small--one-half{width:50%;}.small--one-third{width:33.33333%;}.small--two-thirds{width:66.66667%;}.small--one-quarter{width:25%;}.small--two-quarters{width:50%;}.small--three-quarters{width:75%;}.small--one-fifth{width:20%;}.small--two-fifths{width:40%;}.small--three-fifths{width:60%;}.small--four-fifths{width:80%;}.small--one-sixth{width:16.66667%;}.small--two-sixths{width:33.33333%;}.small--three-sixths{width:50%;}.small--four-sixths{width:66.66667%;}.small--five-sixths{width:83.33333%;}.small--one-eighth{width:12.5%;}.small--two-eighths{width:25%;}.small--three-eighths{width:37.5%;}.small--four-eighths{width:50%;}.small--five-eighths{width:62.5%;}.small--six-eighths{width:75%;}.small--seven-eighths{width:87.5%;}.small--one-tenth{width:10%;}.small--two-tenths{width:20%;}.small--three-tenths{width:30%;}.small--four-tenths{width:40%;}.small--five-tenths{width:50%;}.small--six-tenths{width:60%;}.small--seven-tenths{width:70%;}.small--eight-tenths{width:80%;}.small--nine-tenths{width:90%;}.small--one-twelfth{width:8.33333%;}.small--two-twelfths{width:16.66667%;}.small--three-twelfths{width:25%;}.small--four-twelfths{width:33.33333%;}.small--five-twelfths{width:41.66667%;}.small--six-twelfths{width:50%;}.small--seven-twelfths{width:58.33333%;}.small--eight-twelfths{width:66.66667%;}.small--nine-twelfths{width:75%;}.small--ten-twelfths{width:83.33333%;}.small--eleven-twelfths{width:91.66667%;}.grid--uniform .small--one-half:nth-child(2n + 1),.grid--uniform .small--one-third:nth-child(3n + 1),.grid--uniform .small--one-quarter:nth-child(4n + 1),.grid--uniform .small--one-fifth:nth-child(5n + 1),.grid--uniform .small--one-sixth:nth-child(6n + 1),.grid--uniform .small--two-sixths:nth-child(3n + 1),.grid--uniform .small--three-sixths:nth-child(2n + 1),.grid--uniform .small--one-eighth:nth-child(8n + 1),.grid--uniform .small--two-eighths:nth-child(4n + 1),.grid--uniform .small--four-eighths:nth-child(2n + 1),.grid--uniform .small--five-tenths:nth-child(2n + 1),.grid--uniform .small--one-twelfth:nth-child(12n + 1),.grid--uniform .small--two-twelfths:nth-child(6n + 1),.grid--uniform .small--three-twelfths:nth-child(4n + 1),.grid--uniform .small--four-twelfths:nth-child(3n + 1),.grid--uniform .small--six-twelfths:nth-child(2n + 1){clear:both;}.small--show{display:block !important;}.small--hide{display:none !important;}.small--text-left{text-align:left !important;}.small--text-right{text-align:right !important;}.small--text-center{text-align:center !important;}}@media only screen and (min-width:851px){.medium-up--one-whole{width:100%;}.medium-up--one-half{width:50%;}.medium-up--one-third{width:33.33333%;}.medium-up--two-thirds{width:66.66667%;}.medium-up--one-quarter{width:25%;}.medium-up--two-quarters{width:50%;}.medium-up--three-quarters{width:75%;}.medium-up--one-fifth{width:20%;}.medium-up--two-fifths{width:40%;}.medium-up--three-fifths{width:60%;}.medium-up--four-fifths{width:80%;}.medium-up--one-sixth{width:16.66667%;}.medium-up--two-sixths{width:33.33333%;}.medium-up--three-sixths{width:50%;}.medium-up--four-sixths{width:66.66667%;}.medium-up--five-sixths{width:83.33333%;}.medium-up--one-eighth{width:12.5%;}.medium-up--two-eighths{width:25%;}.medium-up--three-eighths{width:37.5%;}.medium-up--four-eighths{width:50%;}.medium-up--five-eighths{width:62.5%;}.medium-up--six-eighths{width:75%;}.medium-up--seven-eighths{width:87.5%;}.medium-up--one-tenth{width:10%;}.medium-up--two-tenths{width:20%;}.medium-up--three-tenths{width:30%;}.medium-up--four-tenths{width:40%;}.medium-up--five-tenths{width:50%;}.medium-up--six-tenths{width:60%;}.medium-up--seven-tenths{width:70%;}.medium-up--eight-tenths{width:80%;}.medium-up--nine-tenths{width:90%;}.medium-up--one-twelfth{width:8.33333%;}.medium-up--two-twelfths{width:16.66667%;}.medium-up--three-twelfths{width:25%;}.medium-up--four-twelfths{width:33.33333%;}.medium-up--five-twelfths{width:41.66667%;}.medium-up--six-twelfths{width:50%;}.medium-up--seven-twelfths{width:58.33333%;}.medium-up--eight-twelfths{width:66.66667%;}.medium-up--nine-twelfths{width:75%;}.medium-up--ten-twelfths{width:83.33333%;}.medium-up--eleven-twelfths{width:91.66667%;}.grid--uniform .medium-up--one-half:nth-child(2n + 1),.grid--uniform .medium-up--one-third:nth-child(3n + 1),.grid--uniform .medium-up--one-quarter:nth-child(4n + 1),.grid--uniform .medium-up--one-fifth:nth-child(5n + 1),.grid--uniform .medium-up--one-sixth:nth-child(6n + 1),.grid--uniform .medium-up--two-sixths:nth-child(3n + 1),.grid--uniform .medium-up--three-sixths:nth-child(2n + 1),.grid--uniform .medium-up--one-eighth:nth-child(8n + 1),.grid--uniform .medium-up--two-eighths:nth-child(4n + 1),.grid--uniform .medium-up--four-eighths:nth-child(2n + 1),.grid--uniform .medium-up--five-tenths:nth-child(2n + 1),.grid--uniform .medium-up--one-twelfth:nth-child(12n + 1),.grid--uniform .medium-up--two-twelfths:nth-child(6n + 1),.grid--uniform .medium-up--three-twelfths:nth-child(4n + 1),.grid--uniform .medium-up--four-twelfths:nth-child(3n + 1),.grid--uniform .medium-up--six-twelfths:nth-child(2n + 1){clear:both;}.medium-up--show{display:block !important;}.medium-up--hide{display:none !important;}.medium-up--text-left{text-align:left !important;}.medium-up--text-right{text-align:right !important;}.medium-up--text-center{text-align:center !important;}}.promo-banner{background-color:#2f8fc0;text-align:center;}.promo-banner--mobile,.promo-banner--mobile img{height:var(--m-promo-banner-height);width:auto;}@media only screen and (min-width:851px){.promo-banner--desktop{/* height:var(--d-promo-banner-height); */height:auto;padding-top:2px;padding-bottom:2px;display:grid;justify-content:center;}}.promo-banner-mobile img{width:100%;max-width:none;object-fit:contain;max-height:30px;}.promo-banner--desktop img{max-height:var(--d-promo-banner-height);width:auto;align-self:center;}.global-header{background-color:var(--color-white);transition:all 0.25s ease-out;z-index:9999;}@media only screen and (min-width:851px){.global-header{border-bottom:1px solid var(--color-grey);}}body.is-scrolled .global-header{position:fixed;top:0;left:0;right:0;}body.is-scrolled .promo-banner,body.is-scrolled .promo-banner--desktop img{transform:scaleY(0);transform-origin:top;transition:transform 0.25s ease-out;height:0;}.site-header{background-color:var(--color-white);margin:0 auto;height:var(--m-nav-height);padding:0;border-bottom:1px solid var(--color-grey);}@media only screen and (min-width:851px){.site-header{display:flex;justify-content:space-between;align-items:center;max-width:var(--max-width-site);height:var(--d-nav-height);padding:0 1vw;}}.site-header__logo-image{display:block;width:155px;height:24px;}@media only screen and (min-width:851px){.site-header__logo-image{margin-left:1vw;width:auto;height:57%;}}.site-nav{display:flex;align-items:center;justify-content:flex-end;}.site-nav__item{flex:1 0 auto;margin-right:6px;margin-top:-1px;}@media only screen and (max-width:960px){.site-nav__item{margin-right:10px;}}.site-nav--has-dropdown{margin-top:2px;}.site-nav--has-dropdown:hover .site-nav__dropdown{display:flex;}.site-nav--has-dropdown:hover .icon-chevron-down{fill:var(--color-bright-blue);}/* Specific styling for Dropdown Links */.site-nav--has-dropdown a[data-key-role=tab]{padding-right:0 !important;}.site-nav--has-dropdown button[data-key-role=tab]{padding-left:0 !important;}.site-nav__link{color:var(--color-grey-blue);}.site-nav__link--main{display:inline-block;line-height:1;padding:22px 10px;text-align:center;}.site-nav__link .icon-chevron-down{fill:var(--color-grey-blue);width:calc(10em / 16);height:calc(10em / 16);margin:0.2rem;}.site-nav__dropdown{display:none;flex-direction:column;justify-content:center;text-align:center;position:absolute;background-color:#fff;border-bottom-left-radius:15px;border-bottom-right-radius:15px;border:2px solid var(--color-grey);border-top:none;padding:0 20px 20px;margin-top:0;min-width:200px;z-index:999;}.site-nav__label{font-size:0.6875rem;font-weight:var(--font-weight-bold);letter-spacing:1.5px;text-transform:uppercase;}.site-nav__child-link{display:flex;align-items:center;margin-top:20px;}.site-nav__child-link .site-nav__label{text-transform:none;}.site-nav__child-link-image{width:auto;height:62px;margin-bottom:10px;}/* shop dropdown specific */.site-nav__dropdown--shop{flex-direction:row;width:830px;width:80%;max-width:960px;position:absolute;right:20px;}@media only screen and (min-width:1700px){.site-nav__dropdown--shop{right:20vw;}}.site-nav__dropdown--shop .site-nav__dropdown__item{flex:1 1 0px;position:relative;padding:0 10px;}.site-nav__dropdown--shop .site-nav__child-link{display:flex;flex-direction:column;margin-top:10px;}.site-nav__dropdown__item--snoo-smart-sleeper-purchase,.site-nav__dropdown__item--snoo-smart-sleeper-rental{padding:0 10px;}/* rental login specific */.site-nav__item--rental-login{/* margin-left:50px; */margin-left:6px;}@media only screen and (max-width:960px){.site-nav__item--rental-login{margin-left:0px;}}.icon--buy-snoo,.icon--rent-snoo{position:absolute;top:0;right:10px;width:30px;}.mobile-menu .icon--buy-snoo,.mobile-menu .icon--rent-snoo{right:20px;top:9px;}.site-nav__item--search{position:relative;margin:0 40px 0 10px;}@media only screen and (max-width:960px){.site-nav__item--search{margin:auto 26px auto 0px;}}.site-nav__item--search .fa.fa-search{font-size:20px;}.search__icon{position:absolute;right:10px;top:22px;}.site-nav__item--search .search-bar{display:none;position:absolute;top:0;left:auto !important;right:-20px;width:240px;}.site-nav__item--search .search-bar .input-group-field{display:flex;align-items:center;height:65px;width:100%;padding:0 20px;margin:-21px 0 0 0;border-radius:0;border:none;background-color:var(--color-sea-foam-grey);position:absolute;top:0;}.site-nav__item--search:hover i.fa.fa-search{color:#00D7DD !important;}.site-nav__link--bag-icon{background-image:url("//www.happiestbaby.com/cdn/shop/t/1010/assets/icon-bag.png?v=4975823219212060511732206372");background-repeat:no-repeat;background-position:center;background-size:contain;width:25px;height:29px;display:flex;align-items:center;justify-content:center;}.site-nav__link--bag-icon img{width:25px;max-width:none;}.cart-item-counter{font-size:11px;font-weight:500;margin-top:7px;color:var(--color-coral);}/* mobile nav */.site-nav--mobile-header{display:flex;align-items:center;justify-content:space-between;height:var(--m-nav-height);}.site-nav--mobile-header .site-nav__bag-icon{margin-right:1em;}.mobile-menu{background-color:white;position:fixed;top:var(--m-nav-height);left:-200%;z-index:999;width:100%;list-style:none;text-transform:uppercase;font-weight:bold;letter-spacing:1.5px;padding-bottom:100px; -webkit-transition:0.25s ease-in-out all;transition:0.25s ease-in-out all;overflow-y:scroll;height:100%;}.mobile-menu.slide-in{left:0}.mobile-menu-icon i{padding-left:10px;font-size:25px;width:40px;}.mobile-menu-icon i:hover{color:var(--color-bright-blue)}.open-mobile-menu{display:block}.close-mobile-menu{display:none;}.mobile-menu__link-list{display:none;}.site-nav-mobile__link--main{position:relative;overflow:hidden;background-color:var(--color-white);font-size:14px;border-bottom:1px solid var(--color-very-light-grey);max-height:45px;-webkit-transition:0.25s ease-in-out max-height;transition:0.25s ease-in-out max-height;padding:12px 0 14px 20px;}.site-nav-mobile__link--main i{position:absolute;top:14px;right:17px;cursor:pointer}.site-nav-mobile__link--main .open-sub-menu{display:block}.site-nav-mobile__link--main .close-sub-menu{display:none}.site-nav-mobile__link--main.slide-down{height:auto;/* max-height:470px; */max-height:unset;}@media only screen and (min-width:768px){.site-nav-mobile__link--main.slide-down{height:100%;max-height:none;}}.site-nav-mobile--has-dropdown--reviews .site-nav-mobile__dropdown__item{margin:20px 0 5px;}.site-nav-mobile__dropdown{margin-top:10px;}.site-nav-mobile__dropdown__item{position:relative;}.site-nav-mobile__child-link{margin-top:5px;}.site-nav-mobile__child-link-image{height:50px;margin-right:15px;margin-bottom:3px;}.site-nav-mobile__label{font-size:0.875rem;}.site-nav-mobile__dropdown--reviews{padding-bottom:10px;padding-top:11px;padding-left:70px;}.mobile-menu .fa-angle-up:before,.mobile-menu .fa-angle-down:before{font-size:17px !important;font-weight:800;}body.promo_banner_enabled .mobile-menu{/* top:calc(var(--m-promo-banner-height) + var(--m-nav-height)); */}body.promo_banner_enabled.is-scrolled .mobile-menu{top:var(--m-nav-height);}body.promo_banner_enabled.is-scrolled main{margin-top:var(--m-promo-banner-height);}@media only screen and (min-width:851px){body.promo_banner_enabled.is-scrolled main{margin-top:var(--d-nav-height);}}/***Search icon***/.search-bar--mobile{position:relative;margin:0 10px;}.search-bar--mobile.input-group input{padding-right:40px;margin:10px 0;font-size:16px;}.btn-container{position:absolute;top:0;left:50%;transform:translateX(-50%);text-align:center;display:flex;align-items:flex-start;justify-content:center;}.btn-container--rent{display:flex;flex-direction:column;}.btn-container .btn{margin:0 8px;}.btn-container--reverse-order{flex-direction:row-reverse;}/*** top-hero.scss ***/.top-hero{position:relative;}.top-hero__background-image-mobile{max-width:none;}@media only screen and (min-width:813px){.top-hero__background-image-mobile{display:none;}}.top-hero__header{position:absolute;top:2%;left:50%;width:100%;transform:translateX(-50%);text-align:center;}@media only screen and (min-width:813px){.top-hero__header{bottom:auto;top:3.4vw;left:4vw;transform:none;max-width:35vw;text-align:left;}}@media only screen and (min-width:1500px){.top-hero__header{top:68px;max-width:50vw;}}.top-hero__logo-mobile{width:30vw;margin-bottom:5vw;}@media only screen and (min-width:813px){.top-hero__logo-mobile{display:none;}}.top-hero__logo-desktop{display:none;}@media only screen and (min-width:813px){.top-hero__logo-desktop{display:block;width:13.5vw;margin-bottom:5vw;}}.top-hero__tagline-mobile{display:block;color:#fff;text-align:center;font-size:7vw;letter-spacing:-1px;line-height:1.1;margin-bottom:77vw;}.top-hero__text-mobile{display:block;color:#fff;text-align:center;font-size:1.1rem;line-height:1.2;letter-spacing:0.3px;max-width:90%;margin:0 auto;}@media only screen and (min-width:768px){.top-hero__tagline-mobile{margin-bottom:68vh;font-size:2.5rem;}}@media only screen and (min-width:813px){.top-hero__tagline-mobile,.top-hero__text-mobile{display:none;}}.top-hero__tagline-desktop,.top-hero__text-desktop{display:none;}@media only screen and (min-width:813px){.top-hero__tagline-desktop{display:block;color:var(--color-white);font-size:2.7vw;letter-spacing:0.035vw;line-height:1.2;margin-left:0.4vw;margin-bottom:8vw;padding:0;}.top-hero__text-desktop{display:block;color:var(--color-white);font-size:2.5vw;padding:0 2vw;line-height:1.3;}}@media only screen and (min-width:1500px){.top-hero__tagline-desktop{font-size:2.6rem !important;margin-bottom:3vw !important;}}.top-hero__btn-container{bottom:0;top:auto;}body:not(.rental) .top-hero__btn-container{bottom:25px;}@media only screen and (min-width:768px) and (max-width:812px){.top-hero__btn-container{bottom:3em;max-width:39vw;}}@media only screen and (min-width:813px){.top-hero__btn-container{bottom:auto;top:26vw;left:3.5vw;transform:none;max-width:29vw;text-align:left;}}@media only screen and (min-width:1500px){.top-hero__btn-container{top:63%;left:3.9vw;}}div.reset{padding:0;margin:0;outline:none;border:none;} /*! * Font Awesome 4.4.0 by @davegandy - http://fontawesome.io - @fontawesome * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License) */@font-face{font-family:'FontAwesome';font-display:swap;src: url('//www.happiestbaby.com/cdn/shop/t/1010/assets/algolia_dependency_fontawesome-webfont.woff2?v=4.4.0&v=146735120277129382101732206168') format('woff2'),url('//www.happiestbaby.com/cdn/shop/t/1010/assets/algolia_dependency_fontawesome-webfont.woff?v=4.4.0&v=102938339290592341481732206168') format('woff'), url('//www.happiestbaby.com/cdn/shop/t/1010/assets/algolia_dependency_fontawesome-webfont.ttf?v=4.4.0&v=158221268785430301951732206167') format('truetype'), url('//www.happiestbaby.com/cdn/shop/t/1010/assets/algolia_dependency_fontawesome-webfont.svg?v=4.4.0%23fontawesomeregular&v=88719075157357484931732206167') format('svg');font-weight:normal;font-style:normal}.fa{display:inline-block;font:normal normal normal 14px/1 FontAwesome;font-size:inherit;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.fa-chevron-up:before{content:"\f077"}.fa-angle-down:before{content:"\f107"}.fa-angle-up:before{content:"\f106"}.fa-angle-right:before{content:"\f105"}.fa-angle-left:before{content:"\f104"}.fa-th-large:before{content:"\f009"}.fa-th-list:before{content:"\f00b"}.fa-calendar:before{content:"\f073"}.fa-lock:before{content:"\f023"}.fa-facebook-f:before,.fa-facebook:before{content:"\f09a"}.fa-twitter:before{content:"\f099"}.fa-pinterest:before{content:"\f0d2"}.fa-pinterest-p:before{content:"\f231"}.fa-instagram:before{content:"\f16d"}.fa-youtube-play:before{content:"\f16a"}.fa-reorder:before,.fa-bars:before{content:"\f0c9"}.fa-remove:before,.fa-close:before,.fa-times:before{content:"\f00d"}.fa-tags:before{content:"\f02c"}.fa-gift:before{content:"\f06b"}.fa-search:before{content:"\f002"}.fa-envelope-o:before{content:"\f003"}.fa-linkedin:before{content:"\f0e1"}.fa-reddit:before{content:"\f1a1"}.fa-tumblr:before{content:"\f173"}.fa-google-plus:before{content:"\f0d5"}.fa-exclamation-circle:before{content:"\f06a"} /* Happiest Baby App Premium Subscription Section */ .panel__app { content: url("https://cdn.shopify.com/s/files/1/1407/3324/files/hb-app-premium-subscription.gif?v=1721159417"); } /* SNOObie White */ li[data-variant-id="44235776229566"].badge--none:after { content: "NEW"; background-color: var(--color-bright-blue); } /* Employee Benefits Program Landing Page */ .shopify-section.section, #shopify-section-template--17158417219774__page-form-one { scroll-padding-top: 30vh; } /* FDA De Novo Authorized Flag */ .module-announcement-content { order: 2 } .module-announcement-image { order: 1; background-image: url(https://cdn.shopify.com/s/files/1/1407/3324/files/FDA_updated-flag-0324.svg?v=1710958931) !important; aspect-ratio: 290 / 514; } @media (max-width:850.9px) { /* FDA De Novo Authorized Flag */ .module-announcement-content { order: 1 } .module-announcement-image { order: 2; } .module-announcement .module-announcement-container ul.cta-links { align-items: flex-start !important; margin-left: 20px; margin-right: 20px; } } /* TIME Seal PNG */ @media only screen and (min-width: 813px){} .top-hero--home .top-hero__logo-desktop { margin-bottom: 7vw; visibility: hidden; } } .top-hero.top-hero--home { position: relative; } @media (min-width: 850px) { .top-hero.top-hero--home:before { content: ""; position: absolute; top: 0; left: 2rem; z-index: 10; display: block; width: 10%; /* width: 150px; */ height: auto; background: url(https://cdn.shopify.com/s/files/1/1407/3324/files/image.png?v=1710958999); /* background: url(https://cdn.shopify.com/s/files/1/1407/3324/files/2023_Time_Best_Inventions_Seal_3x_a748dad4-24f4-4809-b8a9-d52a09a74d86.png?v=1710192765); */ background-size: contain; background-repeat: no-repeat; background-position: 0 0; aspect-ratio: 107 / 149; } } </style> <link rel="stylesheet" href="//www.happiestbaby.com/cdn/shop/t/1010/assets/theme.css?v=15121534951098070161732206522" /> <link rel='stylesheet' type='text/css' href='https://cdn-prod.securiti.ai/consent/cookie-consent.css' /> <script type="text/javascript" src="//b-code.liadm.com/a-07rk.min.js" async="true" charset="utf-8"></script><!-- check template and apply either product or military css --> <!-- Shopify Header Content ================================ --> <script>window.performance && window.performance.mark && window.performance.mark('shopify.content_for_header.start');</script><meta id="shopify-digital-wallet" name="shopify-digital-wallet" content="/14073324/digital_wallets/dialog"> <meta name="shopify-checkout-api-token" content="162020dbef0a5b4e9cca81c56e386ab2"> <meta id="in-context-paypal-metadata" data-shop-id="14073324" data-venmo-supported="true" data-environment="production" data-locale="en_US" data-paypal-v4="true" data-currency="USD"> <link rel="alternate" type="application/atom+xml" title="Feed" href="/collections/black-friday-sale.atom" /> <link rel="alternate" type="application/json+oembed" href="https://www.happiestbaby.com/collections/black-friday-sale.oembed"> <script async="async" src="/checkouts/internal/preloads.js?locale=en-US"></script> <script id="apple-pay-shop-capabilities" type="application/json">{"shopId":14073324,"countryCode":"US","currencyCode":"USD","merchantCapabilities":["supports3DS"],"merchantId":"gid:\/\/shopify\/Shop\/14073324","merchantName":"Happiest Baby","requiredBillingContactFields":["postalAddress","email"],"requiredShippingContactFields":["postalAddress","email"],"shippingType":"shipping","supportedNetworks":["visa","masterCard","amex","discover","elo","jcb"],"total":{"type":"pending","label":"Happiest Baby","amount":"1.00"},"shopifyPaymentsEnabled":true,"supportsSubscriptions":true}</script> <script id="shopify-features" type="application/json">{"accessToken":"162020dbef0a5b4e9cca81c56e386ab2","betas":["rich-media-storefront-analytics"],"domain":"www.happiestbaby.com","predictiveSearch":true,"shopId":14073324,"smart_payment_buttons_url":"https:\/\/www.happiestbaby.com\/cdn\/shopifycloud\/payment-sheet\/assets\/latest\/spb.en.js","dynamic_checkout_cart_url":"https:\/\/www.happiestbaby.com\/cdn\/shopifycloud\/payment-sheet\/assets\/latest\/dynamic-checkout-cart.en.js","locale":"en"}</script> <script>var Shopify = Shopify || {}; Shopify.shop = "happiestbaby.myshopify.com"; Shopify.locale = "en"; Shopify.currency = {"active":"USD","rate":"1.0"}; Shopify.country = "US"; Shopify.theme = {"name":"11\/21-12\/1 BF Sale + Truemed Enabled (v1.1)","id":141387137214,"schema_name":"Happiest Baby","schema_version":"11212024.1","theme_store_id":null,"role":"main"}; Shopify.theme.handle = "null"; Shopify.theme.style = {"id":null,"handle":null}; Shopify.cdnHost = "www.happiestbaby.com/cdn"; Shopify.routes = Shopify.routes || {}; Shopify.routes.root = "/";</script> <script type="module">!function(o){(o.Shopify=o.Shopify||{}).modules=!0}(window);</script> <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> <script id="shop-js-analytics" type="application/json">{"pageType":"collection"}</script> <script>(function() { function asyncLoad() { var urls = ["https:\/\/dfjp7gc2z6ooe.cloudfront.net\/assets\/sky_pilot_v3.js?shop=happiestbaby.myshopify.com","https:\/\/formbuilder.hulkapps.com\/skeletopapp.js?shop=happiestbaby.myshopify.com","https:\/\/str.rise-ai.com\/?shop=happiestbaby.myshopify.com","https:\/\/strn.rise-ai.com\/?shop=happiestbaby.myshopify.com","","","https:\/\/d2hrivdxn8ekm8.cloudfront.net\/tatari-shopify\/tracker-snippet-latest.min.js?tatari-token=9a4ff2e7-d9bf-4822-ace1-15597d0cffde\u0026shop=happiestbaby.myshopify.com","https:\/\/cdn1.judge.me\/assets\/installed.js?shop=happiestbaby.myshopify.com","https:\/\/d1zcmvsklxjbur.cloudfront.net\/static\/disco-pixel.js?publisher_id=3ef4c035-5c21-4aa8-bde4-bbb15fa0ac2a\u0026environment=production\u0026\u0026shop=happiestbaby.myshopify.com","https:\/\/static.fbot.me\/shopify\/friendbuy-shopify.js?merchantId=fd6a49a1-f965-47d3-8cd5-229d7f6748ce\u0026shop=happiestbaby.myshopify.com","https:\/\/cdn.attn.tv\/happiestbaby\/dtag.js?shop=happiestbaby.myshopify.com","https:\/\/static.klaviyo.com\/onsite\/js\/rFzWRy\/klaviyo.js?company_id=rFzWRy\u0026shop=happiestbaby.myshopify.com"]; for (var i = 0; i < urls.length; i++) { var s = document.createElement('script'); s.type = 'text/javascript'; s.async = true; s.src = urls[i]; var x = document.getElementsByTagName('script')[0]; x.parentNode.insertBefore(s, x); } }; if(window.attachEvent) { window.attachEvent('onload', asyncLoad); } else { window.addEventListener('load', asyncLoad, false); } })();</script> <script id="__st">var __st={"a":14073324,"offset":-28800,"reqid":"3afb85bb-be6b-4ee5-b5ca-90a588d809b2-1732389968","pageurl":"www.happiestbaby.com\/collections\/black-friday-sale?cjdata=MXxOfDB8WXww\u0026AID=13481734\u0026PID=8842431\u0026SID=637bd3090406eb0001245ff0\u0026cjevent=c98c4c0ba9d011ef8272014e0a18b8f7\u0026utm_campaign=8842431\u0026utm_medium=affiliate\u0026utm_source=affiliate_CJ\u0026utm_content=c98c4c0ba9d011ef8272014e0a18b8f7","u":"a39925428a38","p":"collection","rtyp":"collection","rid":294405767358};</script> <script>window.ShopifyPaypalV4VisibilityTracking = true;</script> <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(',');function s(t,e,n=!1){try{const o=window.sessionStorage;for(const[n,c]of Object.entries(JSON.parse(o.getItem(e))))t.elements[n]&&(t.elements[n].value=c);n&&o.removeItem(e)}catch{}}const a='form_key',i=['recaptcha-v3-token','g-recaptcha-response','h-captcha-response','password'],u=()=>{try{return window.sessionStorage}catch{return}},m=t=>t.elements[a],f='form_type',d='cptcha';function p(t){t.dataset[d]=!0}const l=window,h=l.document,_='Shopify',y='ce_forms',E='captcha';let v=!1;((t,e)=>{const n=(g='f06e6c50-85a8-45c8-87d0-21a2b65856fe','https://cdn.shopify.com/shopifycloud/storefront-forms-hcaptcha/ce_storefront_forms_captcha_hcaptcha.v1.4.0.iife.js',T={infoText:'Protected by hCaptcha',privacyText:'Privacy',termsText:'Terms'},(t,e,n)=>{const o=l[_][y],c=o.bindForm;if(c)return c(t,g,e,T).then(n);o.q.push([[t,g,e,T],n]),v||(h.body.append(Object.assign(h.createElement('script'),{id:'captcha-provider',async:!0,src:'https://cdn.shopify.com/shopifycloud/storefront-forms-hcaptcha/ce_storefront_forms_captcha_hcaptcha.v1.4.0.iife.js'})),v=!0)});var g,T;l[_]=l[_]||{},l[_][y]=l[_][y]||{},l[_][y].q=[],l[_][E]=l[_][E]||{},l[_][E].protect=function(t,e){n(t,void 0,e),p(t)},Object.freeze(l[_][E]),function(t,e,n,l,h,_){const[y,E,v,g]=function(t,e,n){const s=e?o:[],a=t?c:[],i=[...s,...a],u=[...o],m=r(i),f=r(s),d=n&&r(i.filter((([t,e])=>n.includes(e)))),p=r(u),l=t=>()=>t?[...document.querySelectorAll(t)].map((t=>t.form)):[];return[l(m),l(f),l(d),l(p)]}(l,h,_),T=t=>{const e=t.target;return e instanceof HTMLFormElement?e:e&&e.form},S=t=>y().includes(t);t.addEventListener('submit',(t=>{const e=T(t);if(!e)return;const n=S(e)&&!e.dataset.hcaptchaBound&&!e.dataset.recaptchaBound,o=m(e),c=g().includes(e)&&(!o||!o.value);(n||c)&&t.preventDefault(),c&&!n&&(function(t){try{if(!u())return;!function(t){const e=u();if(!e)return;const n=m(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){m(t)||t.append(Object.assign(document.createElement('input'),{type:'hidden',name:a})),t.elements[a].value=e}(t,e),function(t,e){const n=u();if(!n)return;const o=[...t.querySelectorAll('input[type="password"]')].map((({name:t})=>t)),c=[...i,...o],r={};for(const[s,a]of new FormData(t).entries())c.includes(s)||(r[s]=a);n.setItem(e,JSON.stringify(r))}(t,e)}catch(e){console.error('failed to persist form',e)}}(e),e.submit())}));const w=(t,e)=>{t&&!t.dataset[d]&&(n(t,e.some((e=>e===t))),p(t))};for(const o of['focusin','change'])t.addEventListener(o,(t=>{const e=T(t);S(e)&&w(e,E())}));const A=e.get('form_key'),b=e.get(f),I=A&&b;t.addEventListener('DOMContentLoaded',(()=>{const t=E();if(I)for(const e of t)e.elements[f].value===b&&s(e,A);[...new Set([...v(),...y().filter((t=>'true'===t.dataset.shopifyCaptcha))])].forEach((e=>w(e,t)))}))}(h,new URLSearchParams(l.location.search),n,!0,!0,['guest_login'])})()}();</script> <script integrity="sha256-EGCDRYTvIEOXsReXgqGwkAR+5Dl8tickSrieA/ZcQwc=" data-source-attribution="shopify.loadfeatures" defer="defer" src="//www.happiestbaby.com/cdn/shopifycloud/shopify/assets/storefront/load_feature-1060834584ef204397b1179782a1b090047ee4397cb627244ab89e03f65c4307.js" crossorigin="anonymous"></script> <script integrity="sha256-HAs5a9TQVLlKuuHrahvWuke+s1UlxXohfHeoYv8G2D8=" data-source-attribution="shopify.dynamic-checkout" defer="defer" src="//www.happiestbaby.com/cdn/shopifycloud/shopify/assets/storefront/features-1c0b396bd4d054b94abae1eb6a1bd6ba47beb35525c57a217c77a862ff06d83f.js" crossorigin="anonymous"></script> <style id="shopify-dynamic-checkout-cart">@media screen and (min-width: 750px) { #dynamic-checkout-cart { min-height: 50px; } } @media screen and (max-width: 750px) { #dynamic-checkout-cart { min-height: 240px; } } </style><script>window.performance && window.performance.mark && window.performance.mark('shopify.content_for_header.end');</script> <script> if(HB.utils.readCookie('isShopifyConsentCaptured') !== null) { (function() { function modifiedAsyncLoad() { var urls = ["https:\/\/widget.ecocart.tools\/ecocart.js?shop_name=happiestbaby.myshopify.com\u0026shop=happiestbaby.myshopify.com","https:\/\/assets1.adroll.com\/shopify\/latest\/j\/shopify_rolling_bootstrap_v2.js?adroll_adv_id=7AD3EWZYWRFDXKQ3IGDJKA\u0026adroll_pix_id=O2UH7VOZL5DG3MFXQKN5ZD\u0026shop=happiestbaby.myshopify.com"]; for (var i = 0; i < urls.length; i++) { var s = document.createElement('script'); s.type = 'text/javascript'; s.async = true; s.src = urls[i]; var x = document.getElementsByTagName('script')[0]; x.parentNode.insertBefore(s, x); } }; if(window.attachEvent) { window.attachEvent('onload', modifiedAsyncLoad); } else { window.addEventListener('load', modifiedAsyncLoad, false); } })(); } </script> <!-- Asynchronous/Deferred JS ================================ --><script src="//www.happiestbaby.com/cdn/shop/t/1010/assets/lazysizes.min.js?v=85104820877237761631732206396" async="async"></script> <script src="//www.happiestbaby.com/cdn/shop/t/1010/assets/theme.js?v=19047623951642157301732206477" defer></script> <script src="//www.happiestbaby.com/cdn/shop/t/1010/assets/cj-event-storage.js?v=163782727877859368601732206200" defer></script> <script> $(document).ready(function () { let queryString = window.location.search; let urlParams = new URLSearchParams(queryString); if (urlParams.has("mrRID")) { var mrID = urlParams.get("mrRID"); $.ajax({ type: "GET", url: "/cart.js", dataType: "json", success: function (res) { if (res.attributes.registry === "true") { return; } else { $.ajax({ type: "POST", url: "/cart.js", data: { "attributes[registry]": true, "attributes[registry_id]": mrID, }, dataType: "json", }); } }, }); } }); </script> <script> const pageUrl = window.location.href; var has_params = window.location.href.indexOf("?") !== -1; var has_fbRefCode_param = window.location.href.indexOf("referralCode") !== -1; if(has_params){ if(has_fbRefCode_param){ var getParams = pageUrl.split('?').pop(); var urlParams = getParams.split('&'); for(i=0; i<urlParams.length; i++) { if(urlParams[i].indexOf('referralCode') !== -1) { var getfbRefCode = urlParams[i].split('=').pop(); if(localStorage.getItem('friendbuyReferralCode') === null) { localStorage.setItem('friendbuyReferralCode',getfbRefCode); } else if(localStorage.getItem('friendbuyReferralCode') !== getfbRefCode) { localStorage.setItem('friendbuyReferralCode',getfbRefCode); } } } } } </script> <script data-privacy-consent="true" data-obct type = "text/javascript"> /** DO NOT MODIFY THIS CODE**/ !function(_window, _document) { var OB_ADV_ID = '00218783f63e9455cb624e84e9f089df6f'; if (_window.obApi) { var toArray = function(object) { return Object.prototype.toString.call(object) === '[object Array]' ? object : [object]; }; _window.obApi.marketerId = toArray(_window.obApi.marketerId).concat(toArray(OB_ADV_ID)); return; } var api = _window.obApi = function() { api.dispatch ? api.dispatch.apply(api, arguments) : api.queue.push(arguments); }; api.version = '1.1'; api.loaded = true; api.marketerId = OB_ADV_ID; api.queue = []; var tag = _document.createElement('script'); tag.async = true; tag.src = '//amplify.outbrain.com/cp/obtp.js'; tag.type = 'text/javascript'; var script = _document.getElementsByTagName('script')[0]; script.parentNode.insertBefore(tag, script); }(window, document); obApi('track', 'PAGE_VIEW'); </script> <script> !function(w,d){if(!w.rdt){var p=w.rdt=function(){p.sendEvent?p.sendEvent.apply(p,arguments):p.callQueue.push(arguments)};p.callQueue=[];var t=d.createElement("script");t.src="https://www.redditstatic.com/ads/pixel.js",t.async=!0;var s=d.getElementsByTagName("script")[0];s.parentNode.insertBefore(t,s)}}(window,document);rdt('init','a2_em3pu7wtzgxp');rdt('track', 'PageVisit'); </script> <script data-privacy-consent="true"> function eventCallback(event_type){ window.dataLayer = window.dataLayer || []; let prodId = null let prodHandle = ""; let prodIdSnooPurchase = 8704190732; let prodIdSnooRental = 1417799860341; let prodIdSnooRefurb = 7653469880510; let prodIdSleepea = 193015513113; let eventConversionId; let eventDataLayerObj = {}; let items = []; let itemObj; if (event_type === 'atc') { $(document).on('cart.requestComplete', function(event, cart) { eventConversionId = __st.reqid; for (i=0; i<cart.items.length; i++) { let itemCategory = cart.items[i].product_type || 'Baby & Toddler'; itemObj = { "id": `${cart.items[i].id}`, "sku": `${cart.items[i].sku}`, "category":`${itemCategory}`, "name":`${cart.items[i].title}` } items.push(itemObj); } eventDataLayerObj = { 'event': 'add_to_cart', 'item_count': cart.item_count, 'value': (cart.total_price/100.0), 'currency': `${cart.currency}`, 'conversion_id': `${eventConversionId}`, 'products': items } window.dataLayer.push(eventDataLayerObj); switch(prodId){ case prodIdSnooPurchase: obApi('track', 'SNOO Add to Cart'); rdt('track', 'AddToCart', { itemCount: Number(cart.item_count), value: Number(cart.total_price/100.0), currency:`${cart.currency}` }); break; case prodIdSnooRental: obApi('track', 'SNOO Add to Cart'); rdt('track', 'AddToCart', { itemCount: Number(cart.item_count), value: Number(cart.total_price/100.0), currency:`${cart.currency}` }); break; case prodIdSnooRefurb: obApi('track', 'SNOO Add to Cart'); rdt('track', 'AddToCart', { itemCount: Number(cart.item_count), value: Number(cart.total_price/100.0), currency:`${cart.currency}` }); break; case prodIdSleepea: obApi('track', 'Sleepea Add to Cart'); rdt('track', 'AddToCart', { itemCount: Number(cart.item_count), value: Number(cart.total_price/100.0), currency:`${cart.currency}` }); break; default: obApi('track', 'Add to Cart'); rdt('track', 'AddToCart', { itemCount: cart.item_count, value: (cart.total_price/100.0), currency:`${cart.currency}` }); } }); } if (event_type === 'pageview') { switch(prodHandle){ case "snoo-smart-bassinet": obApi('track', 'SNOO LandingPageClickthrough'); rdt('track', 'Custom', {customEventName: 'SNOOClickthrough'}); break; case "snoo-rental": obApi('track', 'SNOO LandingPageClickthrough'); rdt('track', 'Custom', {customEventName: 'SNOOClickthrough'}); break; case "preloved-snoo": obApi('track', 'SNOO LandingPageClickthrough'); rdt('track', 'Custom', {customEventName: 'SNOOClickthrough'}); break; case "sleepea-swaddle": obApi('track', 'Sleepea LandingPageClickthrough'); rdt('track', 'Custom', {customEventName: 'SleepeaClickthrough'}); break; default: obApi('track', 'LandingPageClickthrough'); } } if (event_type === 'purchase') { } } </script> <script> if(!document.cookie.includes('isShopifyConsentCaptured')) { function eventCallback(event_type){ console.log(`*** "${event_type}" event is not tracked. Shopify Consent is not captured!`); } } </script> <script> eventCallback('pageview'); </script><script> (function (H) { H.className = H.className.replace(/\bno-js\b/, "js"); })(document.documentElement); </script> <!-- Product Meta ================================ --> <link rel="shortcut icon" href="//www.happiestbaby.com/cdn/shop/t/1010/assets/favicon.png?v=97521109622974341561732206278" type="image/png" /> <meta property="og:type" content="article" /> <meta property="og:title" content="Black Friday Sale" /> <meta property="og:description" content="" /> <meta property="og:url" content="https://www.happiestbaby.com/collections/black-friday-sale" /> <meta property="og:site_name" content="Happiest Baby" /> <meta name="google-site-verification" content="TIz68Q7m_aEGMUxkK3gRQbuZVgXMb1dyRmRSQmX_qGE" /><meta name="facebook-domain-verification" content="" /> <link rel="stylesheet" href="//www.happiestbaby.com/cdn/shop/t/1010/assets/hb-chat-widget-c8XL6jMH.css?v=150737418501935665491732206309" /> <!-- BEGIN app block: shopify://apps/attentive/blocks/attn-tag/8df62c72-8fe4-407e-a5b3-72132be30a0d --><script type="text/javascript" src="https://eihtu.happiestbaby.com/providers/atLabel/load" onerror=" var fallbackScript = document.createElement('script'); fallbackScript.src = 'https://cdn.attn.tv/happiestbaby/dtag.js'; document.head.appendChild(fallbackScript);" data-source="loaded?source=app-embed" defer="defer"></script> <!-- END app app block --><!-- BEGIN app block: shopify://apps/judge-me-reviews/blocks/judgeme_core/61ccd3b1-a9f2-4160-9fe9-4fec8413e5d8 --><!-- Start of Judge.me Core --> <link rel="dns-prefetch" href="https://cdn.judge.me"> <script data-cfasync='false' class='jdgm-settings-script'>window.jdgmSettings={"pagination":5,"disable_web_reviews":true,"badge_no_review_text":"No reviews","badge_n_reviews_text":"{{ average_rating_1_decimal }} ({{ n }})","badge_star_color":"#FC7070","hide_badge_preview_if_no_reviews":true,"badge_hide_text":false,"enforce_center_preview_badge":false,"widget_title":"Customer Reviews","widget_open_form_text":"Write a review","widget_close_form_text":"Cancel review","widget_refresh_page_text":"Refresh page","widget_summary_text":"Based on {{ number_of_reviews }} review/reviews","widget_no_review_text":"Be the first to write a review","widget_name_field_text":"Name","widget_verified_name_field_text":"Verified Name (public)","widget_name_placeholder_text":"Enter your name (public)","widget_required_field_error_text":"This field is required.","widget_email_field_text":"Email","widget_verified_email_field_text":"Verified Email (private, can not be edited)","widget_email_placeholder_text":"Enter your email (private)","widget_email_field_error_text":"Please enter a valid email address.","widget_rating_field_text":"Rating","widget_review_title_field_text":"Review Title","widget_review_title_placeholder_text":"Give your review a title","widget_review_body_field_text":"Review","widget_review_body_placeholder_text":"Write your comments here","widget_pictures_field_text":"Picture/Video (optional)","widget_submit_review_text":"Submit Review","widget_submit_verified_review_text":"Submit Verified Review","widget_submit_success_msg_with_auto_publish":"Thank you! Please refresh the page in a few moments to see your review. You can remove or edit your review by logging into \u003ca href='https://judge.me/login' target='_blank' rel='nofollow noopener'\u003eJudge.me\u003c/a\u003e","widget_submit_success_msg_no_auto_publish":"Thank you! Your review will be published as soon as it is approved by the shop admin. You can remove or edit your review by logging into \u003ca href='https://judge.me/login' target='_blank' rel='nofollow noopener'\u003eJudge.me\u003c/a\u003e","widget_show_default_reviews_out_of_total_text":"Showing {{ n_reviews_shown }} out of {{ n_reviews }} reviews.","widget_show_all_link_text":"Show all","widget_show_less_link_text":"Show less","widget_author_said_text":"{{ reviewer_name }} said:","widget_days_text":"{{ n }} days ago","widget_weeks_text":"{{ n }} week/weeks ago","widget_months_text":"{{ n }} month/months ago","widget_years_text":"{{ n }} year/years ago","widget_yesterday_text":"Yesterday","widget_today_text":"Today","widget_replied_text":"Happiest Baby replied:","widget_read_more_text":"Read more","widget_rating_filter_see_all_text":"See all reviews","widget_sorting_most_recent_text":"Most Recent","widget_sorting_highest_rating_text":"Highest Rating","widget_sorting_lowest_rating_text":"Lowest Rating","widget_sorting_with_pictures_text":"Only Pictures","widget_sorting_most_helpful_text":"Most Helpful","widget_open_question_form_text":"Ask a question","widget_reviews_subtab_text":"Reviews","widget_questions_subtab_text":"Questions","widget_question_label_text":"Question","widget_answer_label_text":"Answer","widget_question_placeholder_text":"Write your question here","widget_submit_question_text":"Submit Question","widget_question_submit_success_text":"Thank you for your question! We will notify you once it gets answered.","widget_star_color":"#FC7070","verified_badge_text":"Verified","verified_badge_placement":"left-of-reviewer-name","widget_hide_border":false,"widget_social_share":false,"widget_thumb":true,"widget_review_location_show":true,"widget_location_format":"city_state_code_only","all_reviews_include_out_of_store_products":true,"all_reviews_out_of_store_text":"(out of store)","all_reviews_product_name_prefix_text":"about","enable_review_pictures":false,"default_sort_method":"highest-rating","widget_product_reviews_subtab_text":"Product Reviews","widget_shop_reviews_subtab_text":"Shop Reviews","widget_sorting_pictures_first_text":"Pictures First","floating_tab_button_name":"★ Judge.me Reviews","floating_tab_title":"Let customers speak for us","floating_tab_url":"","floating_tab_url_enabled":false,"all_reviews_text_badge_text":"Customers rate us {{ shop.metafields.judgeme.all_reviews_rating | round: 1 }}/5 based on {{ shop.metafields.judgeme.all_reviews_count }} reviews.","all_reviews_text_badge_text_branded_style":"{{ shop.metafields.judgeme.all_reviews_rating | round: 1 }} out of 5 stars based on {{ shop.metafields.judgeme.all_reviews_count }} reviews","all_reviews_text_badge_url":"","all_reviews_text_style":"branded","featured_carousel_title":"Let customers speak for us","featured_carousel_count_text":"from {{ n }} reviews","featured_carousel_url":"","verified_count_badge_style":"branded","verified_count_badge_url":"","widget_show_histogram":false,"widget_star_use_custom_color":true,"picture_reminder_submit_button":"Upload Pictures","widget_sorting_videos_first_text":"Videos First","widget_review_pending_text":"Pending","remove_microdata_snippet":false,"preview_badge_no_question_text":"No questions","preview_badge_n_question_text":"{{ number_of_questions }} question/questions","remove_judgeme_branding":true,"widget_add_search_bar":true,"widget_search_bar_placeholder":"Search reviews","widget_sorting_verified_only_text":"Verified only","featured_carousel_verified_badge_enable":true,"featured_carousel_more_reviews_button_text":"Read more reviews","featured_carousel_view_product_button_text":"View product","all_reviews_page_load_more_text":"Load More Reviews","widget_advanced_speed_features":5,"widget_public_name_text":"displayed publicly like","default_reviewer_name_has_non_latin":true,"widget_reviewer_anonymous":"Anonymous","medals_widget_title":"Judge.me Review Medals","show_reviewer_avatar":false,"widget_invalid_yt_video_url_error_text":"Not a YouTube video URL","widget_max_length_field_error_text":"Please enter no more than {0} characters.","widget_verified_by_shop_text":"Verified by Shop","widget_load_with_code_splitting":true,"widget_ugc_title":"Made by us, Shared by you","widget_ugc_subtitle":"Tag us to see your picture featured in our page","widget_ugc_primary_button_text":"Buy Now","widget_ugc_secondary_button_text":"Load More","widget_ugc_reviews_button_text":"View Reviews","widget_primary_color":"#1377A8","widget_summary_average_rating_text":"{{ average_rating }} out of 5","widget_media_grid_title":"Customer photos \u0026 videos","widget_media_grid_see_more_text":"See more","widget_show_product_medals":false,"widget_verified_by_judgeme_text":"Verified by Judge.me","widget_verified_by_judgeme_text_in_store_medals":"Verified by Judge.me","widget_media_field_exceed_quantity_message":"Sorry, we can only accept {{ max_media }} for one review.","widget_media_field_exceed_limit_message":"{{ file_name }} is too large, please select a {{ media_type }} less than {{ size_limit }}MB.","widget_review_submitted_text":"Review Submitted!","widget_question_submitted_text":"Question Submitted!","widget_close_form_text_question":"Cancel","widget_write_your_answer_here_text":"Write your answer here","widget_show_collected_by_judgeme":false,"widget_collected_by_judgeme_text":"collected by Judge.me","widget_load_more_text":"Load More","widget_full_review_text":"Full Review","widget_read_more_reviews_text":"Read More Reviews","widget_read_questions_text":"Read Questions","widget_questions_and_answers_text":"Questions \u0026 Answers","widget_verified_by_text":"Verified by","widget_number_of_reviews_text":"{{ number_of_reviews }} reviews","widget_back_button_text":"Back","widget_next_button_text":"Next","widget_custom_forms_filter_button":"Filters","how_reviews_are_collected":"How reviews are collected?","widget_gdpr_statement":"How we use your data: We’ll only contact you about the review you left, and only if necessary. By submitting your review, you agree to Judge.me’s \u003ca href='https://judge.me/terms' target='_blank' rel='nofollow noopener'\u003eterms\u003c/a\u003e, \u003ca href='https://judge.me/privacy' target='_blank' rel='nofollow noopener'\u003eprivacy\u003c/a\u003e and \u003ca href='https://judge.me/content-policy' target='_blank' rel='nofollow noopener'\u003econtent\u003c/a\u003e policies.","platform":"shopify","branding_url":"https://judge.me/reviews","branding_text":"Powered by Judge.me","locale":"en","reply_name":"Happiest Baby","widget_version":"3.0","footer":true,"autopublish":true,"review_dates":true,"enable_custom_form":false,"can_be_branded":true};</script> <style class='jdgm-settings-style'>.jdgm-xx{left:0}:root{--jdgm-primary-color:#1377A8;--jdgm-secondary-color:rgba(19,119,168,0.1);--jdgm-star-color:#FC7070;--jdgm-write-review-text-color:white;--jdgm-write-review-bg-color:#1377A8;--jdgm-paginate-color:#1377A8;--jdgm-border-radius:0}.jdgm-histogram__bar-content{background-color:#1377A8}.jdgm-rev[data-verified-buyer=true] .jdgm-rev__icon.jdgm-rev__icon:after,.jdgm-rev__buyer-badge.jdgm-rev__buyer-badge{color:white;background-color:#1377A8}.jdgm-review-widget--small .jdgm-gallery.jdgm-gallery .jdgm-gallery__thumbnail-link:nth-child(8) .jdgm-gallery__thumbnail-wrapper.jdgm-gallery__thumbnail-wrapper:before{content:"See more"}@media only screen and (min-width: 768px){.jdgm-gallery.jdgm-gallery .jdgm-gallery__thumbnail-link:nth-child(8) .jdgm-gallery__thumbnail-wrapper.jdgm-gallery__thumbnail-wrapper:before{content:"See more"}}.jdgm-rev__thumb-btn{color:#1377A8}.jdgm-rev__thumb-btn:hover{opacity:0.8}.jdgm-rev__thumb-btn:not([disabled]):hover,.jdgm-rev__thumb-btn:hover,.jdgm-rev__thumb-btn:active,.jdgm-rev__thumb-btn:visited{color:#1377A8}.jdgm-preview-badge .jdgm-star.jdgm-star{color:#FC7070}.jdgm-widget .jdgm-write-rev-link{display:none}.jdgm-widget .jdgm-rev-widg[data-number-of-reviews='0']{display:none}.jdgm-prev-badge[data-average-rating='0.00']{display:none !important}.jdgm-author-all-initials{display:none !important}.jdgm-author-last-initial{display:none !important}.jdgm-rev-widg__title{visibility:hidden}.jdgm-rev-widg__summary-text{visibility:hidden}.jdgm-prev-badge__text{visibility:hidden}.jdgm-rev__replier:before{content:'happiestbaby.com'}.jdgm-rev__prod-link-prefix:before{content:'about'}.jdgm-rev__out-of-store-text:before{content:'(out of store)'}@media only screen and (min-width: 768px){.jdgm-rev__pics .jdgm-rev_all-rev-page-picture-separator,.jdgm-rev__pics .jdgm-rev__product-picture{display:none}}@media only screen and (max-width: 768px){.jdgm-rev__pics .jdgm-rev_all-rev-page-picture-separator,.jdgm-rev__pics .jdgm-rev__product-picture{display:none}}.jdgm-preview-badge[data-template="product"]{display:none !important}.jdgm-preview-badge[data-template="collection"]{display:none !important}.jdgm-preview-badge[data-template="index"]{display:none !important}.jdgm-review-widget[data-from-snippet="true"]{display:none !important}.jdgm-verified-count-badget[data-from-snippet="true"]{display:none !important}.jdgm-carousel-wrapper[data-from-snippet="true"]{display:none !important}.jdgm-all-reviews-text[data-from-snippet="true"]{display:none !important}.jdgm-medals-section[data-from-snippet="true"]{display:none !important}.jdgm-ugc-media-wrapper[data-from-snippet="true"]{display:none !important}.jdgm-histogram{display:none !important}.jdgm-widget .jdgm-sort-dropdown-wrapper{margin-top:12px} </style> <style class='jdgm-miracle-styles'> @-webkit-keyframes jdgm-spin{0%{-webkit-transform:rotate(0deg);-ms-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);-ms-transform:rotate(359deg);transform:rotate(359deg)}}@keyframes jdgm-spin{0%{-webkit-transform:rotate(0deg);-ms-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);-ms-transform:rotate(359deg);transform:rotate(359deg)}}@font-face{font-family:'JudgemeStar';src:url("data:application/x-font-woff;charset=utf-8;base64,d09GRgABAAAAAAScAA0AAAAABrAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAAEgAAAABoAAAAcbyQ+3kdERUYAAARgAAAAHgAAACAAMwAGT1MvMgAAAZgAAABGAAAAVi+vS9xjbWFwAAAB8AAAAEAAAAFKwBMjvmdhc3AAAARYAAAACAAAAAj//wADZ2x5ZgAAAkAAAAEJAAABdH33LXtoZWFkAAABMAAAAC0AAAA2BroQKWhoZWEAAAFgAAAAHAAAACQD5QHQaG10eAAAAeAAAAAPAAAAFAYAAABsb2NhAAACMAAAAA4AAAAOAO4AeG1heHAAAAF8AAAAHAAAACAASgAvbmFtZQAAA0wAAADeAAABkorWfVZwb3N0AAAELAAAACkAAABEp3ubLXgBY2BkYADhPPP4OfH8Nl8ZuJkYQODS2fRrCPr/aSYGxq1ALgcDWBoAO60LkwAAAHgBY2BkYGDc+v80gx4TAwgASaAICmABAFB+Arl4AWNgZGBgYGPQYWBiAAIwyQgWc2AAAwAHVQB6eAFjYGRiYJzAwMrAwejDmMbAwOAOpb8ySDK0MDAwMbByMsCBAAMCBKS5pjA4PGB4wMR44P8BBj3GrQymQGFGkBwAjtgK/gAAeAFjYoAAEA1jAwAAZAAHAHgB3crBCcAwDEPRZydkih567CDdf4ZskmLwFBV8xBfCaC4BXkOUmx4sU0h2ngNb9V0vQCxaRKIAevT7fGWuBrEAAAAAAAAAAAA0AHgAugAAeAF9z79Kw1AUx/FzTm7un6QmJtwmQ5Bg1abgEGr/BAqlU6Gju+Cgg1MkQ/sA7Vj7BOnmO/gUvo2Lo14NqIO6/IazfD8HEODtmQCfoANwNsyp2/GJt3WKQrd1NLiYYWx2PBqOsmJMEOznPOTzfSCrhAtbbLdmeFLJV9eKd63WLrZcIcuaEVdssWCKM6pLCfTVOYbz/0pNSMSZKLIZpvh78sAUH6PlMrreTCabP9r+Z/puPZ2ur/RqpQHgh+MIegCnXeM4MRAPjYN//5tj4ZtTjkFqEdmeMShlEJ7tVAly2TAkx6R68Fl4E/aVvn8JqHFQ4JS1434gXKcuL31dDhzs3YbsEOAd/IU88gAAAHgBfY4xTgMxEEVfkk0AgRCioKFxQYd2ZRtpixxgRU2RfhU5q5VWseQ4JdfgAJyBlmNwAM7ABRhZQ0ORwp7nr+eZAa54YwYg9zm3ynPOeFRe8MCrciXOh/KSS76UV5L/iDmrLiS5AeU519wrL3jmSbkS5115yR2fyivJv9kx0ZMZ2RLZw27q87iNQi8EBo5FSPIMw3HqBboi5lKTGAGDp8FKXWP+t9TU01Lj5His1Ba6uM9dTEMwvrFmbf5GC/q2drW3ruXUhhsCiQOjznFlCzYhHUZp4xp76vsvQh89CQAAeAFjYGJABowM6IANLMrEyMTIzMjCXpyRWJBqZshWXJJYBKOMAFHFBucAAAAAAAAB//8AAngBY2BkYGDgA2IJBhBgAvKZGViBJAuYxwAABJsAOgAAeAFjYGBgZACCk535hiD60tn0azAaAEqpB6wAAA==") format("woff");font-weight:normal;font-style:normal}.jdgm-star{font-family:'JudgemeStar';display:inline !important;text-decoration:none !important;padding:0 4px 0 0 !important;margin:0 !important;font-weight:bold;opacity:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.jdgm-star:hover{opacity:1}.jdgm-star:last-of-type{padding:0 !important}.jdgm-star.jdgm--on:before{content:"\e000"}.jdgm-star.jdgm--off:before{content:"\e001"}.jdgm-star.jdgm--half:before{content:"\e002"}.jdgm-widget *{margin:0;line-height:1.4;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;-webkit-overflow-scrolling:touch}.jdgm-hidden{display:none !important;visibility:hidden !important}.jdgm-temp-hidden{display:none}.jdgm-spinner{width:40px;height:40px;margin:auto;border-radius:50%;border-top:2px solid #eee;border-right:2px solid #eee;border-bottom:2px solid #eee;border-left:2px solid #ccc;-webkit-animation:jdgm-spin 0.8s infinite linear;animation:jdgm-spin 0.8s infinite linear}.jdgm-prev-badge{display:block !important} </style> <script data-cfasync='false' class='jdgm-script'> !function(e){window.jdgm=window.jdgm||{},jdgm.CDN_HOST="https://cdn.judge.me/", jdgm.docReady=function(d){(e.attachEvent?"complete"===e.readyState:"loading"!==e.readyState)? setTimeout(d,0):e.addEventListener("DOMContentLoaded",d)},jdgm.loadCSS=function(d,t,o,a){ !o&&jdgm.loadCSS.requestedUrls.indexOf(d)>=0||(jdgm.loadCSS.requestedUrls.push(d), (a=e.createElement("link")).rel="stylesheet",a.class="jdgm-stylesheet",a.media="nope!", a.href=d,a.onload=function(){this.media="all",t&&setTimeout(t)},e.body.appendChild(a))}, jdgm.loadCSS.requestedUrls=[],jdgm.loadJS=function(e,d){var t=new XMLHttpRequest; t.onreadystatechange=function(){4===t.readyState&&(Function(t.response)(),d&&d(t.response))}, t.open("GET",e),t.send()},jdgm.docReady((function(){(window.jdgmLoadCSS||e.querySelectorAll( ".jdgm-widget, .jdgm-all-reviews-page").length>0)&&(jdgmSettings.widget_load_with_code_splitting? parseFloat(jdgmSettings.widget_version)>=3?jdgm.loadCSS(jdgm.CDN_HOST+"widget_v3/base.css"): jdgm.loadCSS(jdgm.CDN_HOST+"widget/base.css"):jdgm.loadCSS(jdgm.CDN_HOST+"shopify_v2.css"), jdgm.loadJS(jdgm.CDN_HOST+"loader.js"))}))}(document); </script> <noscript><link rel="stylesheet" type="text/css" media="all" href="https://cdn.judge.me/shopify_v2.css"></noscript> <!-- BEGIN app snippet: theme_fix_tags --><script> (function() { var jdgmThemeFixes = {"135980548286":{"html":"","css":".jdgm-rev__icon {\n display: none !important;\n}","js":""},"136775303358":{"html":"","css":"","js":"const temp = setInterval(() =\u003e {\n\tconst summaryRating = document.querySelector(\"#judgeme_product_reviews .jdgm-link\")\n \n if (summaryRating) {\n \tclearInterval(temp)\n const ratingText = summaryRating.textContent.split(\" \")[0]\n const ratingNum = Math.round(parseFloat(ratingText) * 10) \/ 10\n summaryRating.textContent = `${ratingNum} out of 5`\n }\n}, 500)"},"136863973566":{"html":"","css":"","js":"const temp = setInterval(() =\u003e {\n\tconst summaryRating = document.querySelector(\"#judgeme_product_reviews .jdgm-link\")\n \n if (summaryRating) {\n \tclearInterval(temp)\n const ratingText = summaryRating.textContent.split(\" \")[0]\n const ratingNum = Math.round(parseFloat(ratingText) * 10) \/ 10\n summaryRating.textContent = `${ratingNum} out of 5`\n }\n}, 500)"},"137197519038":{"html":"","css":".jdgm-sort-dropdown {\n\tappearance: initial !important;\n\n}\n.jdgm-sort-dropdown option {\n color: var(--color-body-text)!important;\n background-color: var(--color-white)!important;\n}\n","js":""}}; if (!jdgmThemeFixes) return; var thisThemeFix = jdgmThemeFixes[Shopify.theme.id]; if (!thisThemeFix) return; if (thisThemeFix.html) { document.addEventListener("DOMContentLoaded", function() { var htmlDiv = document.createElement('div'); htmlDiv.classList.add('jdgm-theme-fix-html'); htmlDiv.innerHTML = thisThemeFix.html; document.body.append(htmlDiv); }); }; if (thisThemeFix.css) { var styleTag = document.createElement('style'); styleTag.classList.add('jdgm-theme-fix-style'); styleTag.innerHTML = thisThemeFix.css; document.head.append(styleTag); }; if (thisThemeFix.js) { var scriptTag = document.createElement('script'); scriptTag.classList.add('jdgm-theme-fix-script'); scriptTag.innerHTML = thisThemeFix.js; document.head.append(scriptTag); }; })(); </script> <!-- END app snippet --> <!-- End of Judge.me Core --> <!-- END app app block --><!-- BEGIN app block: shopify://apps/optimonk-popup-cro-a-b-test/blocks/app-embed/0b488be1-fc0a-4fe6-8793-f2bef383dba8 --> <script async src="https://onsite.optimonk.com/script.js?account=216166&origin=shopify-app-embed-block"></script> <!-- END app app block --><meta property="og:image" content="https://cdn.shopify.com/s/files/1/1407/3324/files/checkout_logo_2.png?height=628&pad_color=fff&v=1613508237&width=1200" /> <meta property="og:image:secure_url" content="https://cdn.shopify.com/s/files/1/1407/3324/files/checkout_logo_2.png?height=628&pad_color=fff&v=1613508237&width=1200" /> <meta property="og:image:width" content="1200" /> <meta property="og:image:height" content="628" /> <link href="https://monorail-edge.shopifysvc.com" rel="dns-prefetch"> <script>(function(){if ("sendBeacon" in navigator && "performance" in window) {var session_token = document.cookie.match(/_shopify_s=([^;]*)/);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: 14073324,url: window.location.href,navigation_start,duration: currentMs - navigation_start,session_token: session_token && session_token.length === 2 ? session_token[1] : "",page_type: "collection"};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> <script id="web-pixels-manager-setup">(function d(d,e,r,a,n){var o,i,t,s,l=(i=(o={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:?[ /-](12[89]|1[3-9]\d|[2-9]\d{2}|\d{4,})(\.\d+|)(\.\d+|)|Android.+Firefox\/(12[7-9]|1[3-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|Android.+Chrom(ium|e)\/(12[89]|1[3-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:?[ /-](12[89]|1[3-9]\d|[2-9]\d{2}|\d{4,})(\.\d+|)(\.\d+|)|Mobile Safari.+OPR\/([89]\d|\d{3,})\.\d+\.\d+|Android.+Firefox\/(12[7-9]|1[3-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|Android.+Chrom(ium|e)\/(12[89]|1[3-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,t=o.legacy,s=navigator.userAgent,i.test(s)?"modern":(t.test(s),"legacy"));window.Shopify=window.Shopify||{};var c=window.Shopify;c.analytics=c.analytics||{};var u=c.analytics;u.replayQueue=[],u.publish=function(d,e,r){return u.replayQueue.push([d,e,r]),!0};try{self.performance.mark("wpm:start")}catch(d){}var h=[r,"/wpm","/b",n,l.substring(0,1),".js"].join("");!function(d){var e=d.src,r=d.async,a=void 0===r||r,n=d.onload,o=d.onerror,i=document.createElement("script"),t=document.head,s=document.body;i.async=a,i.src=e,n&&i.addEventListener("load",n),o&&i.addEventListener("error",o),t?t.appendChild(i):s?s.appendChild(i):console.error("Did not find a head or body element to append the script")}({src:h,async:!0,onload:function(){var r=window.webPixelsManager.init(d);e(r);var a=window.Shopify.analytics;a.replayQueue.forEach((function(d){var e=d[0],a=d[1],n=d[2];r.publishCustomEvent(e,a,n)})),a.replayQueue=[],a.publish=r.publishCustomEvent,a.visitor=r.visitor},onerror:function(){var e=d.storefrontBaseUrl.replace(/\/$/,""),r="".concat(e,"/.well-known/shopify/monorail/unstable/produce_batch"),n=JSON.stringify({metadata:{event_sent_at_ms:(new Date).getTime()},events:[{schema_id:"web_pixels_manager_load/3.1",payload:{version:a||"latest",bundle_target:l,page_url:self.location.href,status:"failed",surface:d.surface,error_msg:"".concat(h," has failed to load")},metadata:{event_created_at_ms:(new Date).getTime()}}]});try{if(self.navigator.sendBeacon.bind(self.navigator)(r,n))return!0}catch(d){}var o=new XMLHttpRequest;try{return o.open("POST",r,!0),o.setRequestHeader("Content-Type","text/plain"),o.send(n),!0}catch(d){console&&console.warn&&console.warn("[Web Pixels Manager] Got an unhandled error while logging a load error.")}return!1}})})({shopId: 14073324,storefrontBaseUrl: "https://www.happiestbaby.com",extensionsBaseUrl: "https://extensions.shopifycdn.com/cdn/shopifycloud/web-pixels-manager",surface: "storefront-renderer",enabledBetaFlags: [],webPixelsConfigList: [{"id":"513933502","configuration":"{\"pixelCode\":\"C7IQAT9LLTKM73C4EBGG\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"22e92c2ad45662f435e4801458fb78cc","type":"APP","apiClientId":4383523,"privacyPurposes":["ANALYTICS","MARKETING","SALE_OF_DATA"]},{"id":"408387774","configuration":"{\"env\":\"prod\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"81a87ab45a958a658e5ef3e3ec3f5ca4","type":"APP","apiClientId":3977633,"privacyPurposes":["ANALYTICS","MARKETING","SALE_OF_DATA"]},{"id":"235798718","configuration":"{\"pixel_id\":\"1275825905781639\",\"pixel_type\":\"facebook_pixel\",\"metaapp_system_user_token\":\"-\"}","eventPayloadVersion":"v1","runtimeContext":"OPEN","scriptVersion":"8d894c63179843e74a9691414b5ad83d","type":"APP","apiClientId":2329312,"privacyPurposes":["ANALYTICS","MARKETING","SALE_OF_DATA"]},{"id":"167313598","configuration":"{\"merchantId\":\"fd6a49a1-f965-47d3-8cd5-229d7f6748ce\",\"domainName\":\"fbot.me\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"48dad89f9b582e330565efca7ff1a959","type":"APP","apiClientId":2883169,"privacyPurposes":["ANALYTICS","MARKETING","SALE_OF_DATA"]},{"id":"100171966","configuration":"{\"tagID\":\"2613488419067\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"4fd0680eed907adaf3f85849c393d688","type":"APP","apiClientId":3009811,"privacyPurposes":["ANALYTICS","MARKETING","SALE_OF_DATA"]},{"id":"39026878","eventPayloadVersion":"1","runtimeContext":"LAX","scriptVersion":"1","type":"CUSTOM","privacyPurposes":["ANALYTICS","MARKETING","SALE_OF_DATA"],"name":"cj-network-integration-pixel"},{"id":"39059646","eventPayloadVersion":"1","runtimeContext":"LAX","scriptVersion":"1","type":"CUSTOM","privacyPurposes":["ANALYTICS","MARKETING","SALE_OF_DATA"],"name":"Additional Attentive Tag"},{"id":"shopify-app-pixel","configuration":"{}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"0220","apiClientId":"shopify-pixel","type":"APP","privacyPurposes":["ANALYTICS","MARKETING"]},{"id":"shopify-custom-pixel","eventPayloadVersion":"v1","runtimeContext":"LAX","scriptVersion":"0220","apiClientId":"shopify-pixel","type":"CUSTOM","privacyPurposes":["ANALYTICS","MARKETING"]}],isMerchantRequest: false,initData: {"shop":{"name":"Happiest Baby","paymentSettings":{"currencyCode":"USD"},"myshopifyDomain":"happiestbaby.myshopify.com","countryCode":"US","storefrontUrl":"https:\/\/www.happiestbaby.com"},"customer":null,"cart":null,"checkout":null,"productVariants":[],"purchasingCompany":null},},function pageEvents(webPixelsManagerAPI) {webPixelsManagerAPI.publish("page_viewed", {});webPixelsManagerAPI.publish("collection_viewed", {"collection":{"id":"294405767358","title":"Black Friday Sale","productVariants":[{"price":{"amount":1186.5,"currencyCode":"USD"},"product":{"title":"SNOO Smart Sleeper Bassinet","vendor":"Happiest Baby","id":"8704190732","untranslatedTitle":"SNOO Smart Sleeper Bassinet","url":"\/products\/snoo-smart-bassinet","type":"SNOO"},"id":"29950972620","image":{"src":"\/\/www.happiestbaby.com\/cdn\/shop\/files\/SNOO_Productshot.jpg?v=1698443556"},"sku":"4767SNXX100","title":"Default Title","untranslatedTitle":"Default Title"},{"price":{"amount":20.96,"currencyCode":"USD"},"product":{"title":"Sleepea\u00ae 5-Second Baby Swaddle","vendor":"Happiest Baby","id":"193015513113","untranslatedTitle":"Sleepea\u00ae 5-Second Baby Swaddle","url":"\/products\/sleepea-swaddle","type":"Swaddle"},"id":"42018466693310","image":{"src":"\/\/www.happiestbaby.com\/cdn\/shop\/products\/SleepeaTieDyerainbow.jpg?v=1690275391"},"sku":"7749SSXX143","title":"Small \/ Rainbow Tie-Dye","untranslatedTitle":"Small \/ Rainbow Tie-Dye"},{"price":{"amount":34.36,"currencyCode":"USD"},"product":{"title":"Sleepea\u00ae Comforter Swaddle","vendor":"Happiest Baby","id":"7535315681470","untranslatedTitle":"Sleepea\u00ae Comforter Swaddle","url":"\/products\/sleepea-comforter-swaddle","type":"Swaddle"},"id":"42490192199870","image":{"src":"\/\/www.happiestbaby.com\/cdn\/shop\/files\/ComforterSwaddle_WHT.jpg?v=1698443391"},"sku":"5238BSSS112","title":"Small \/ Ivory","untranslatedTitle":"Small \/ Ivory"},{"price":{"amount":24.46,"currencyCode":"USD"},"product":{"title":"100% Organic SNOO Sleep Sack","vendor":"Happiest Baby","id":"748561662069","untranslatedTitle":"100% Organic SNOO Sleep Sack","url":"\/products\/snoo-sack","type":"Swaddle"},"id":"42018423210174","image":{"src":"\/\/www.happiestbaby.com\/cdn\/shop\/products\/SNOOsack_TieDye_Rainbow.jpg?v=1690275287"},"sku":"5221SNSS139","title":"Small \/ Rainbow Tie-Dye","untranslatedTitle":"Small \/ Rainbow Tie-Dye"},{"price":{"amount":35.96,"currencyCode":"USD"},"product":{"title":"100% Organic SNOO Sleep Comforter Sack","vendor":"Happiest Baby","id":"7535265775806","untranslatedTitle":"100% Organic SNOO Sleep Comforter Sack","url":"\/products\/snoo-comforter-sack","type":"Swaddle"},"id":"42490130563262","image":{"src":"\/\/www.happiestbaby.com\/cdn\/shop\/files\/ComforterSack_WHT.jpg?v=1698443279"},"sku":"5238BSSS100","title":"Ivory \/ Small","untranslatedTitle":"Ivory \/ Small"},{"price":{"amount":13.96,"currencyCode":"USD"},"product":{"title":"100% Organic Cotton SNOO Baby Bassinet Fitted Sheet","vendor":"Happiest Baby","id":"8704388300","untranslatedTitle":"100% Organic Cotton SNOO Baby Bassinet Fitted Sheet","url":"\/products\/fitted-sheet-for-snoo","type":"Sheet"},"id":"42018509291710","image":{"src":"\/\/www.happiestbaby.com\/cdn\/shop\/products\/Rainbow_TieDye_SnooSheet_Box.jpg?v=1690275304"},"sku":"4767SNMX213","title":"One-size \/ Rainbow Tie-Dye","untranslatedTitle":"One-size \/ Rainbow Tie-Dye"},{"price":{"amount":48.96,"currencyCode":"USD"},"product":{"title":"SNOObie\u2122 Smart Soother","vendor":"Happiest Baby","id":"7464937062590","untranslatedTitle":"SNOObie\u2122 Smart Soother","url":"\/products\/snoobie-white-noise-machine","type":"SNOObie"},"id":"42320649486526","image":{"src":"\/\/www.happiestbaby.com\/cdn\/shop\/files\/2_bd0164fc-2c70-4b00-a391-9f7119355ba4.jpg?v=1717116184"},"sku":"5598RCWN112","title":"Teal","untranslatedTitle":"Teal"},{"price":{"amount":35.97,"currencyCode":"USD"},"product":{"title":"SNOObear\u00ae 3-in-1 White Noise Lovey","vendor":"Happiest Baby","id":"4612820664366","untranslatedTitle":"SNOObear\u00ae 3-in-1 White Noise Lovey","url":"\/products\/snoo-bear","type":"SNOObear"},"id":"32481811922990","image":{"src":"\/\/www.happiestbaby.com\/cdn\/shop\/files\/SNOObearCocoaWoolly_bb4f7e92-abca-47d6-813f-50cb24053f60.png?v=1709240551"},"sku":"6241HBXX101","title":"One-size \/ Cocoa Woolly","untranslatedTitle":"One-size \/ Cocoa Woolly"},{"price":{"amount":14.97,"currencyCode":"USD"},"product":{"title":"SNOO Leg Lifters","vendor":"Happiest Baby","id":"103640465433","untranslatedTitle":"SNOO Leg Lifters","url":"\/products\/leg-lifters","type":"Leg Lifters"},"id":"954201767961","image":{"src":"\/\/www.happiestbaby.com\/cdn\/shop\/products\/Leg_Lifters_2048.png?v=1559938599"},"sku":"4767SNLB200","title":"Default Title","untranslatedTitle":"Default Title"},{"price":{"amount":34.97,"currencyCode":"USD"},"product":{"title":"SNOO Low Legs","vendor":"Happiest Baby","id":"9858107788","untranslatedTitle":"SNOO Low Legs","url":"\/products\/low-legs","type":"Low Legs"},"id":"35386698060","image":{"src":"\/\/www.happiestbaby.com\/cdn\/shop\/products\/LowLegs.jpg?v=1598918439"},"sku":"4767SLXX200","title":"Default Title","untranslatedTitle":"Default Title"},{"price":{"amount":53.97,"currencyCode":"USD"},"product":{"title":"Sky Mobile","vendor":"Happiest Baby","id":"6622271865022","untranslatedTitle":"Sky Mobile","url":"\/products\/sky-mobile","type":"Mobile"},"id":"39541329887422","image":{"src":"\/\/www.happiestbaby.com\/cdn\/shop\/products\/sky-mobile-upward-closeup.jpg?v=1643848746"},"sku":"3257HMXX100","title":"Default Title","untranslatedTitle":"Default Title"},{"price":{"amount":39.5,"currencyCode":"USD"},"product":{"title":"Shoo Mosquito Net","vendor":"Happiest Baby","id":"4543626969134","untranslatedTitle":"Shoo Mosquito Net","url":"\/products\/shoo-mosquito-net","type":"Mosquito Net"},"id":"32148872101934","image":{"src":"\/\/www.happiestbaby.com\/cdn\/shop\/products\/SHOO-PDP-2.jpg?v=1589563315"},"sku":"7157MNXX100","title":"Default Title","untranslatedTitle":"Default Title"},{"price":{"amount":247.5,"currencyCode":"USD"},"product":{"title":"SNOO Zoo Giraffe","vendor":"Happiest Baby","id":"7726428586174","untranslatedTitle":"SNOO Zoo Giraffe","url":"\/products\/snoo-zoo","type":"Giraffe"},"id":"42974881743038","image":{"src":"\/\/www.happiestbaby.com\/cdn\/shop\/files\/SNOOzoo_whitebackground.jpg?v=1692119293"},"sku":"3257ZGXX100","title":"Default Title","untranslatedTitle":"Default Title"},{"price":{"amount":62.97,"currencyCode":"USD"},"product":{"title":"Sleepea\u00ae Swaddle Sack 3 Pack Bundle","vendor":"Happiest Baby","id":"4509108043822","untranslatedTitle":"Sleepea\u00ae Swaddle Sack 3 Pack Bundle","url":"\/products\/sleepea-3-pack-bundle","type":"Swaddle"},"id":"40907215929534","image":{"src":"\/\/www.happiestbaby.com\/cdn\/shop\/products\/sleepea-bundle-charcoal-planets.jpg?v=1690275344"},"sku":"2191BLXX110","title":"Newborn \/ Charcoal Planets --hide","untranslatedTitle":"Newborn \/ Charcoal Planets --hide"},{"price":{"amount":73.4,"currencyCode":"USD"},"product":{"title":"SNOO Sleep Sack 3-Pack of Sizes","vendor":"Happiest Baby","id":"4651312578606","untranslatedTitle":"SNOO Sleep Sack 3-Pack of Sizes","url":"\/products\/snoo-sack-3-size-pack","type":"Swaddle"},"id":"39289488081086","image":{"src":"\/\/www.happiestbaby.com\/cdn\/shop\/products\/snoo-sack-bundle-teal-planets_2610938a-c2f3-4f53-a8a0-1dad6d10925a.jpg?v=1690275356"},"sku":"2758BLXX201","title":"Regular \/ Teal Planets","untranslatedTitle":"Regular \/ Teal Planets"},{"price":{"amount":38.5,"currencyCode":"USD"},"product":{"title":"Organic Bassinet Sheets 3 Pack","vendor":"Happiest Baby","id":"4384811876398","untranslatedTitle":"Organic Bassinet Sheets 3 Pack","url":"\/products\/bassinet-sheets-bundle","type":"Sheet"},"id":"31436497125422","image":{"src":"\/\/www.happiestbaby.com\/cdn\/shop\/products\/snoo-fittedsheets-bundle-graphite-ivory-black.jpg?v=1690275331"},"sku":"1185BLXX100","title":"One-size \/ Graphite - Ivory - Black","untranslatedTitle":"One-size \/ Graphite - Ivory - Black"},{"price":{"amount":94.1,"currencyCode":"USD"},"product":{"title":"The Big Bundle","vendor":"Happiest Baby","id":"136574238745","untranslatedTitle":"The Big Bundle","url":"\/products\/the-big-bundle","type":"Big Bundle"},"id":"31924866154542","image":{"src":"\/\/www.happiestbaby.com\/cdn\/shop\/products\/snoo_bundle_white_us_9d6c95b6-9426-480a-8a19-3852765d655f.jpg?v=1614758463"},"sku":"2758BLXX100","title":"One-size \/ Ivory","untranslatedTitle":"One-size \/ Ivory"},{"price":{"amount":6.47,"currencyCode":"USD"},"product":{"title":"100% Organic Swaddle Blanket","vendor":"Happiest Baby","id":"8700761164","untranslatedTitle":"100% Organic Swaddle Blanket","url":"\/products\/swaddle-blanket","type":"Blanket"},"id":"37854298800318","image":{"src":"\/\/www.happiestbaby.com\/cdn\/shop\/products\/Blanket_V4.jpg?v=1613525333"},"sku":"7816BLXX100","title":"One-size \/ Gray Stars","untranslatedTitle":"One-size \/ Gray Stars"},{"price":{"amount":59.5,"currencyCode":"USD"},"product":{"title":"Everything Dress: Camisole Dress for Pregnancy and Nursing","vendor":"Happiest Baby","id":"6127477784766","untranslatedTitle":"Everything Dress: Camisole Dress for Pregnancy and Nursing","url":"\/products\/everything-dress","type":"Dress"},"id":"37719646306494","image":{"src":"\/\/www.happiestbaby.com\/cdn\/shop\/products\/PDP_Camisole_Select1.jpg?v=1614980543"},"sku":"5864WDXX107","title":"XXS","untranslatedTitle":"XXS"},{"price":{"amount":25.45,"currencyCode":"USD"},"product":{"title":"Happiest Baby x Sweet Laurel Blooberry Bar","vendor":"Happiest Baby","id":"7732343636158","untranslatedTitle":"Happiest Baby x Sweet Laurel Blooberry Bar","url":"\/products\/sweet-laurel-blooberry-bar","type":"Food"},"id":"42988136595646","image":{"src":"\/\/www.happiestbaby.com\/cdn\/shop\/files\/pdp-main--bloobie-three.jpg?v=1692649965"},"sku":"BLOOBIEBAR","title":"Default Title","untranslatedTitle":"Default Title"},{"price":{"amount":7.46,"currencyCode":"USD"},"product":{"title":"The Happiest Baby Book \u2013 Fully Revised","vendor":"Happiest Baby","id":"8678027724","untranslatedTitle":"The Happiest Baby Book \u2013 Fully Revised","url":"\/products\/the-happiest-baby-book-paperback","type":"Books \u0026 Media"},"id":"29828672780","image":{"src":"\/\/www.happiestbaby.com\/cdn\/shop\/products\/Baby-Book-PDP.jpg?v=1589418229"},"sku":"THBB2","title":"Default Title","untranslatedTitle":"Default Title"},{"price":{"amount":7.46,"currencyCode":"USD"},"product":{"title":"The Happiest Toddler Book (Paperback): 8 mos - 5 yrs","vendor":"Happiest Baby","id":"8678028556","untranslatedTitle":"The Happiest Toddler Book (Paperback): 8 mos - 5 yrs","url":"\/products\/the-happiest-toddler-book","type":"Books \u0026 Media"},"id":"29828673612","image":{"src":"\/\/www.happiestbaby.com\/cdn\/shop\/products\/Toddler-Book-PDP.jpg?v=1589412583"},"sku":"THT2B","title":"Default Title","untranslatedTitle":"Default Title"},{"price":{"amount":7.46,"currencyCode":"USD"},"product":{"title":"The Happiest Baby Guide to Great Sleep","vendor":"Happiest Baby","id":"8678028940","untranslatedTitle":"The Happiest Baby Guide to Great Sleep","url":"\/products\/the-happiest-baby-book-the-happiest-baby-guide-to-great-sleep-book-paperback","type":"Books \u0026 Media"},"id":"29828673996","image":{"src":"\/\/www.happiestbaby.com\/cdn\/shop\/products\/Sleep-Book-PDP.jpg?v=1589418131"},"sku":"THBGSP","title":"Default Title","untranslatedTitle":"Default Title"},{"price":{"amount":8.05,"currencyCode":"USD"},"product":{"title":"Happiest Baby on the Block (STREAMING)","vendor":"Happiest Baby","id":"8678028876","untranslatedTitle":"Happiest Baby on the Block (STREAMING)","url":"\/products\/baby-streaming-video-english","type":"Books \u0026 Media"},"id":"29828673932","image":{"src":"\/\/www.happiestbaby.com\/cdn\/shop\/products\/BABY-STREAMING-VIDEO-500x500-500x500.jpg?v=1475198244"},"sku":"BABYVOD","title":"Default Title","untranslatedTitle":"Default Title"},{"price":{"amount":8.05,"currencyCode":"USD"},"product":{"title":"Happiest Baby on the Block in Spanish (Espanol) Streaming","vendor":"Happiest Baby","id":"8678028044","untranslatedTitle":"Happiest Baby on the Block in Spanish (Espanol) Streaming","url":"\/products\/baby-streaming-video-spanish","type":"Books \u0026 Media"},"id":"29828673100","image":{"src":"\/\/www.happiestbaby.com\/cdn\/shop\/products\/BABY-STREAMING-VIDEO-Spanish-version-2-1-500x500.jpg?v=1475198238"},"sku":"BABYVODSP","title":"Default Title","untranslatedTitle":"Default Title"},{"price":{"amount":8.05,"currencyCode":"USD"},"product":{"title":"Happiest Toddler on the Block: 8 mos - 5 yrs (STREAMING)","vendor":"Happiest Baby","id":"8678027788","untranslatedTitle":"Happiest Toddler on the Block: 8 mos - 5 yrs (STREAMING)","url":"\/products\/toddler-streaming-video-english","type":"Books \u0026 Media"},"id":"29828672844","image":{"src":"\/\/www.happiestbaby.com\/cdn\/shop\/products\/TOT-STREAMING-VIDEO-500x500-500x500.jpg?v=1475198236"},"sku":"TOTVOD","title":"Default Title","untranslatedTitle":"Default Title"},{"price":{"amount":8.05,"currencyCode":"USD"},"product":{"title":"Happiest Toddler on the Block: 8 mos - 5 yrs in Spanish (STREAMING)","vendor":"Happiest Baby","id":"8678027980","untranslatedTitle":"Happiest Toddler on the Block: 8 mos - 5 yrs in Spanish (STREAMING)","url":"\/products\/toddler-streaming-video-spanish","type":"Books \u0026 Media"},"id":"29828673036","image":{"src":"\/\/www.happiestbaby.com\/cdn\/shop\/products\/TOT-STREAMING-VIDEO-Spanish-Version-1-500x500.jpg?v=1475198237"},"sku":"TOTVODSP","title":"Default Title","untranslatedTitle":"Default Title"}]}});},"https://www.happiestbaby.com/cdn","1518c2ba4d2b3301a1e3cb6576947ef22edf7bb6","3c762e5aw5b983e43pc2dc4883m545d5a27",);</script> <script>window.ShopifyAnalytics = window.ShopifyAnalytics || {}; window.ShopifyAnalytics.meta = window.ShopifyAnalytics.meta || {}; window.ShopifyAnalytics.meta.currency = 'USD'; var meta = {"products":[{"id":8704190732,"gid":"gid:\/\/shopify\/Product\/8704190732","vendor":"Happiest Baby","type":"SNOO","variants":[{"id":29950972620,"price":118650,"name":"SNOO Smart Sleeper Bassinet","public_title":null,"sku":"4767SNXX100"}]},{"id":193015513113,"gid":"gid:\/\/shopify\/Product\/193015513113","vendor":"Happiest Baby","type":"Swaddle","variants":[{"id":42018466693310,"price":2096,"name":"Sleepea® 5-Second Baby Swaddle - Small \/ Rainbow Tie-Dye","public_title":"Small \/ Rainbow Tie-Dye","sku":"7749SSXX143"},{"id":1552425877529,"price":2096,"name":"Sleepea® 5-Second Baby Swaddle - Small \/ Rose Stars","public_title":"Small \/ Rose Stars","sku":"7749SSXX100"},{"id":1552425844761,"price":2096,"name":"Sleepea® 5-Second Baby Swaddle - Small \/ Teal Stars","public_title":"Small \/ Teal Stars","sku":"7749SSXX106"},{"id":1552425811993,"price":2096,"name":"Sleepea® 5-Second Baby Swaddle - Small \/ Sky Stars","public_title":"Small \/ Sky Stars","sku":"7749SSXX103"},{"id":1552407396377,"price":2096,"name":"Sleepea® 5-Second Baby Swaddle - Small \/ Graphite Stars","public_title":"Small \/ Graphite Stars","sku":"7749SSXX109"},{"id":40907197087934,"price":2096,"name":"Sleepea® 5-Second Baby Swaddle - Small \/ Charcoal Stars","public_title":"Small \/ Charcoal Stars","sku":"7749SSXX130"},{"id":31260747530286,"price":2096,"name":"Sleepea® 5-Second Baby Swaddle - Small \/ Midnight Planets","public_title":"Small \/ Midnight Planets","sku":"7749SSXX124"},{"id":31260747399214,"price":2096,"name":"Sleepea® 5-Second Baby Swaddle - Small \/ Ivory Planets","public_title":"Small \/ Ivory Planets","sku":"7749SSXX121"},{"id":31260747300910,"price":2096,"name":"Sleepea® 5-Second Baby Swaddle - Small \/ Graphite Planets","public_title":"Small \/ Graphite Planets","sku":"7749SSXX118"},{"id":40907197939902,"price":2096,"name":"Sleepea® 5-Second Baby Swaddle - Small \/ Charcoal Planets","public_title":"Small \/ Charcoal Planets","sku":"7749SSXX127"},{"id":31260747104302,"price":2096,"name":"Sleepea® 5-Second Baby Swaddle - Small \/ Rose Planets","public_title":"Small \/ Rose Planets","sku":"7749SSXX112"},{"id":31260747202606,"price":2096,"name":"Sleepea® 5-Second Baby Swaddle - Small \/ Teal Planets","public_title":"Small \/ Teal Planets","sku":"7749SSXX115"},{"id":40924487123134,"price":2096,"name":"Sleepea® 5-Second Baby Swaddle - Small \/ Ivory SNOOflakes","public_title":"Small \/ Ivory SNOOflakes","sku":"7749SSXX136"},{"id":40924486860990,"price":2096,"name":"Sleepea® 5-Second Baby Swaddle - Small \/ Ivory Pines","public_title":"Small \/ Ivory Pines","sku":"7749SSXX133"},{"id":42018454831294,"price":2096,"name":"Sleepea® 5-Second Baby Swaddle - Small \/ Blue Tie-Dye","public_title":"Small \/ Blue Tie-Dye","sku":"7749SSXX140"},{"id":42577631543486,"price":2096,"name":"Sleepea® 5-Second Baby Swaddle - Small \/ Ivory Watermelons","public_title":"Small \/ Ivory Watermelons","sku":"7749SSXX157"},{"id":42577636032702,"price":2096,"name":"Sleepea® 5-Second Baby Swaddle - Small \/ Ivory Lemons","public_title":"Small \/ Ivory Lemons","sku":"7749SSXX161"},{"id":42577639211198,"price":2096,"name":"Sleepea® 5-Second Baby Swaddle - Small \/ Ivory Strawberries","public_title":"Small \/ Ivory Strawberries","sku":"7749SSXX165"},{"id":42018469806270,"price":2096,"name":"Sleepea® 5-Second Baby Swaddle - Medium \/ Rainbow Tie-Dye","public_title":"Medium \/ Rainbow Tie-Dye","sku":"7749SSXX144"},{"id":1552426008601,"price":2096,"name":"Sleepea® 5-Second Baby Swaddle - Medium \/ Rose Stars","public_title":"Medium \/ Rose Stars","sku":"7749SSXX101"},{"id":1552425975833,"price":2096,"name":"Sleepea® 5-Second Baby Swaddle - Medium \/ Teal Stars","public_title":"Medium \/ Teal Stars","sku":"7749SSXX107"},{"id":1552425943065,"price":2096,"name":"Sleepea® 5-Second Baby Swaddle - Medium \/ Sky Stars","public_title":"Medium \/ Sky Stars","sku":"7749SSXX104"},{"id":1552425910297,"price":2096,"name":"Sleepea® 5-Second Baby Swaddle - Medium \/ Graphite Stars","public_title":"Medium \/ Graphite Stars","sku":"7749SSXX110"},{"id":40907201970366,"price":2096,"name":"Sleepea® 5-Second Baby Swaddle - Medium \/ Charcoal Stars","public_title":"Medium \/ Charcoal Stars","sku":"7749SSXX131"},{"id":31260747563054,"price":2096,"name":"Sleepea® 5-Second Baby Swaddle - Medium \/ Midnight Planets","public_title":"Medium \/ Midnight Planets","sku":"7749SSXX125"},{"id":31260747431982,"price":2096,"name":"Sleepea® 5-Second Baby Swaddle - Medium \/ Ivory Planets","public_title":"Medium \/ Ivory Planets","sku":"7749SSXX122"},{"id":31260747333678,"price":2096,"name":"Sleepea® 5-Second Baby Swaddle - Medium \/ Graphite Planets","public_title":"Medium \/ Graphite Planets","sku":"7749SSXX119"},{"id":40907200463038,"price":2096,"name":"Sleepea® 5-Second Baby Swaddle - Medium \/ Charcoal Planets --hide","public_title":"Medium \/ Charcoal Planets --hide","sku":"7749SSXX128"},{"id":31260747137070,"price":2096,"name":"Sleepea® 5-Second Baby Swaddle - Medium \/ Rose Planets","public_title":"Medium \/ Rose Planets","sku":"7749SSXX113"},{"id":31260747235374,"price":2096,"name":"Sleepea® 5-Second Baby Swaddle - Medium \/ Teal Planets --hide","public_title":"Medium \/ Teal Planets --hide","sku":"7749SSXX116"},{"id":40924488138942,"price":2096,"name":"Sleepea® 5-Second Baby Swaddle - Medium \/ Ivory SNOOflakes","public_title":"Medium \/ Ivory SNOOflakes","sku":"7749SSXX137"},{"id":40924487614654,"price":2096,"name":"Sleepea® 5-Second Baby Swaddle - Medium \/ Ivory Pines","public_title":"Medium \/ Ivory Pines","sku":"7749SSXX134"},{"id":42018457878718,"price":2096,"name":"Sleepea® 5-Second Baby Swaddle - Medium \/ Blue Tie-Dye","public_title":"Medium \/ Blue Tie-Dye","sku":"7749SSXX141"},{"id":42577632329918,"price":2096,"name":"Sleepea® 5-Second Baby Swaddle - Medium \/ Ivory Watermelons","public_title":"Medium \/ Ivory Watermelons","sku":"7749SSXX158"},{"id":42577636425918,"price":2096,"name":"Sleepea® 5-Second Baby Swaddle - Medium \/ Ivory Lemons","public_title":"Medium \/ Ivory Lemons","sku":"7749SSXX162"},{"id":42577639702718,"price":2096,"name":"Sleepea® 5-Second Baby Swaddle - Medium \/ Ivory Strawberries","public_title":"Medium \/ Ivory Strawberries","sku":"7749SSXX166"},{"id":42018475573438,"price":2096,"name":"Sleepea® 5-Second Baby Swaddle - Large \/ Rainbow Tie-Dye","public_title":"Large \/ Rainbow Tie-Dye","sku":"7749SSXX145"},{"id":1552426139673,"price":2096,"name":"Sleepea® 5-Second Baby Swaddle - Large \/ Rose Stars","public_title":"Large \/ Rose Stars","sku":"7749SSXX102"},{"id":1552426106905,"price":2096,"name":"Sleepea® 5-Second Baby Swaddle - Large \/ Teal Stars","public_title":"Large \/ Teal Stars","sku":"7749SSXX108"},{"id":1552426074137,"price":2096,"name":"Sleepea® 5-Second Baby Swaddle - Large \/ Sky Stars","public_title":"Large \/ Sky Stars","sku":"7749SSXX105"},{"id":1552426041369,"price":2096,"name":"Sleepea® 5-Second Baby Swaddle - Large \/ Graphite Stars","public_title":"Large \/ Graphite Stars","sku":"7749SSXX111"},{"id":40907206262974,"price":2096,"name":"Sleepea® 5-Second Baby Swaddle - Large \/ Charcoal Stars","public_title":"Large \/ Charcoal Stars","sku":"7749SSXX132"},{"id":31260747595822,"price":2096,"name":"Sleepea® 5-Second Baby Swaddle - Large \/ Midnight Planets","public_title":"Large \/ Midnight Planets","sku":"7749SSXX126"},{"id":31260747497518,"price":2096,"name":"Sleepea® 5-Second Baby Swaddle - Large \/ Ivory Planets","public_title":"Large \/ Ivory Planets","sku":"7749SSXX123"},{"id":31260747366446,"price":2096,"name":"Sleepea® 5-Second Baby Swaddle - Large \/ Graphite Planets","public_title":"Large \/ Graphite Planets","sku":"7749SSXX120"},{"id":40907204395198,"price":2096,"name":"Sleepea® 5-Second Baby Swaddle - Large \/ Charcoal Planets","public_title":"Large \/ Charcoal Planets","sku":"7749SSXX129"},{"id":31260747169838,"price":2096,"name":"Sleepea® 5-Second Baby Swaddle - Large \/ Rose Planets --hide","public_title":"Large \/ Rose Planets --hide","sku":"7749SSXX114"},{"id":31260747268142,"price":2096,"name":"Sleepea® 5-Second Baby Swaddle - Large \/ Teal Planets --hide","public_title":"Large \/ Teal Planets --hide","sku":"7749SSXX117"},{"id":40924488892606,"price":2096,"name":"Sleepea® 5-Second Baby Swaddle - Large \/ Ivory SNOOflakes","public_title":"Large \/ Ivory SNOOflakes","sku":"7749SSXX138"},{"id":40924488728766,"price":2096,"name":"Sleepea® 5-Second Baby Swaddle - Large \/ Ivory Pines","public_title":"Large \/ Ivory Pines","sku":"7749SSXX135"},{"id":42018460958910,"price":2096,"name":"Sleepea® 5-Second Baby Swaddle - Large \/ Blue Tie-Dye","public_title":"Large \/ Blue Tie-Dye","sku":"7749SSXX142"},{"id":42577633345726,"price":2096,"name":"Sleepea® 5-Second Baby Swaddle - Large \/ Ivory Watermelons","public_title":"Large \/ Ivory Watermelons","sku":"7749SSXX159"},{"id":42577637015742,"price":2096,"name":"Sleepea® 5-Second Baby Swaddle - Large \/ Ivory Lemons","public_title":"Large \/ Ivory Lemons","sku":"7749SSXX163"},{"id":42577640063166,"price":2096,"name":"Sleepea® 5-Second Baby Swaddle - Large \/ Ivory Strawberries","public_title":"Large \/ Ivory Strawberries","sku":"7749SSXX167"},{"id":42599192625342,"price":2096,"name":"Sleepea® 5-Second Baby Swaddle - X-Large \/ Rose Stars","public_title":"X-Large \/ Rose Stars","sku":"7749SSXX146"},{"id":42599195312318,"price":2096,"name":"Sleepea® 5-Second Baby Swaddle - X-Large \/ Teal Stars","public_title":"X-Large \/ Teal Stars","sku":"7749SSXX148"},{"id":42599194755262,"price":2096,"name":"Sleepea® 5-Second Baby Swaddle - X-Large \/ Sky Stars","public_title":"X-Large \/ Sky Stars","sku":"7749SSXX147"},{"id":42599195934910,"price":2096,"name":"Sleepea® 5-Second Baby Swaddle - X-Large \/ Graphite Stars","public_title":"X-Large \/ Graphite Stars","sku":"7749SSXX149"},{"id":42599201177790,"price":2096,"name":"Sleepea® 5-Second Baby Swaddle - X-Large \/ Charcoal Stars","public_title":"X-Large \/ Charcoal Stars","sku":"7749SSXX156"},{"id":42599199899838,"price":2096,"name":"Sleepea® 5-Second Baby Swaddle - X-Large \/ Midnight Planets","public_title":"X-Large \/ Midnight Planets","sku":"7749SSXX154"},{"id":42599198916798,"price":2096,"name":"Sleepea® 5-Second Baby Swaddle - X-Large \/ Ivory Planets","public_title":"X-Large \/ Ivory Planets","sku":"7749SSXX153"},{"id":42599198261438,"price":2096,"name":"Sleepea® 5-Second Baby Swaddle - X-Large \/ Graphite Planets","public_title":"X-Large \/ Graphite Planets","sku":"7749SSXX152"},{"id":42599200784574,"price":2096,"name":"Sleepea® 5-Second Baby Swaddle - X-Large \/ Charcoal Planets --hide","public_title":"X-Large \/ Charcoal Planets --hide","sku":"7749SSXX155"},{"id":42599196721342,"price":2096,"name":"Sleepea® 5-Second Baby Swaddle - X-Large \/ Rose Planets","public_title":"X-Large \/ Rose Planets","sku":"7749SSXX150"},{"id":42599197704382,"price":2096,"name":"Sleepea® 5-Second Baby Swaddle - X-Large \/ Teal Planets --hide","public_title":"X-Large \/ Teal Planets --hide","sku":"7749SSXX151"},{"id":42577633935550,"price":2096,"name":"Sleepea® 5-Second Baby Swaddle - X-Large \/ Ivory Watermelons","public_title":"X-Large \/ Ivory Watermelons","sku":"7749SSXX160"},{"id":42577637933246,"price":2096,"name":"Sleepea® 5-Second Baby Swaddle - X-Large \/ Ivory Lemons","public_title":"X-Large \/ Ivory Lemons","sku":"7749SSXX164"},{"id":42577640358078,"price":2096,"name":"Sleepea® 5-Second Baby Swaddle - X-Large \/ Ivory Strawberries","public_title":"X-Large \/ Ivory Strawberries","sku":"7749SSXX168"},{"id":43108789125310,"price":2096,"name":"Sleepea® 5-Second Baby Swaddle - X-Large \/ Blue Tie-Dye","public_title":"X-Large \/ Blue Tie-Dye","sku":"7749SSXX169"},{"id":43108789256382,"price":2096,"name":"Sleepea® 5-Second Baby Swaddle - X-Large \/ Rainbow Tie-Dye","public_title":"X-Large \/ Rainbow Tie-Dye","sku":"7749SSXX170"}]},{"id":7535315681470,"gid":"gid:\/\/shopify\/Product\/7535315681470","vendor":"Happiest Baby","type":"Swaddle","variants":[{"id":42490192199870,"price":3436,"name":"Sleepea® Comforter Swaddle - Small \/ Ivory","public_title":"Small \/ Ivory","sku":"5238BSSS112"},{"id":42490192330942,"price":3436,"name":"Sleepea® Comforter Swaddle - Small \/ Rose","public_title":"Small \/ Rose","sku":"5238BSSS116"},{"id":42490192462014,"price":3436,"name":"Sleepea® Comforter Swaddle - Small \/ Graphite","public_title":"Small \/ Graphite","sku":"5238BSSS120"},{"id":42490192232638,"price":3436,"name":"Sleepea® Comforter Swaddle - Medium \/ Ivory","public_title":"Medium \/ Ivory","sku":"5238BSSS113"},{"id":42490192363710,"price":3436,"name":"Sleepea® Comforter Swaddle - Medium \/ Rose","public_title":"Medium \/ Rose","sku":"5238BSSS117"},{"id":42490192494782,"price":3436,"name":"Sleepea® Comforter Swaddle - Medium \/ Graphite","public_title":"Medium \/ Graphite","sku":"5238BSSS121"},{"id":42490192265406,"price":3436,"name":"Sleepea® Comforter Swaddle - Large \/ Ivory","public_title":"Large \/ Ivory","sku":"5238BSSS114"},{"id":42490192396478,"price":3436,"name":"Sleepea® Comforter Swaddle - Large \/ Rose","public_title":"Large \/ Rose","sku":"5238BSSS118"},{"id":42490192527550,"price":3436,"name":"Sleepea® Comforter Swaddle - Large \/ Graphite","public_title":"Large \/ Graphite","sku":"5238BSSS122"},{"id":42490192298174,"price":3436,"name":"Sleepea® Comforter Swaddle - X-Large \/ Ivory","public_title":"X-Large \/ Ivory","sku":"5238BSSS115"},{"id":42490192429246,"price":3436,"name":"Sleepea® Comforter Swaddle - X-Large \/ Rose","public_title":"X-Large \/ Rose","sku":"5238BSSS119"},{"id":42490192560318,"price":3436,"name":"Sleepea® Comforter Swaddle - X-Large \/ Graphite","public_title":"X-Large \/ Graphite","sku":"5238BSSS123"}]},{"id":748561662069,"gid":"gid:\/\/shopify\/Product\/748561662069","vendor":"Happiest Baby","type":"Swaddle","variants":[{"id":42018423210174,"price":2446,"name":"100% Organic SNOO Sleep Sack - Small \/ Rainbow Tie-Dye","public_title":"Small \/ Rainbow Tie-Dye","sku":"5221SNSS139"},{"id":31306320805934,"price":2446,"name":"100% Organic SNOO Sleep Sack - Small \/ Midnight Planets","public_title":"Small \/ Midnight Planets","sku":"5221SNSS118"},{"id":31306320937006,"price":2446,"name":"100% Organic SNOO Sleep Sack - Small \/ Rose Planets","public_title":"Small \/ Rose Planets","sku":"5221SNSS106"},{"id":31306320969774,"price":2446,"name":"100% Organic SNOO Sleep Sack - Small \/ Teal Planets","public_title":"Small \/ Teal Planets","sku":"5221SNSS109"},{"id":40907233394878,"price":2446,"name":"100% Organic SNOO Sleep Sack - Small \/ Charcoal Planets --hide","public_title":"Small \/ Charcoal Planets --hide","sku":"5221SNSS124"},{"id":31306320904238,"price":2446,"name":"100% Organic SNOO Sleep Sack - Small \/ Graphite Planets","public_title":"Small \/ Graphite Planets","sku":"5221SNSS112"},{"id":31306320838702,"price":2446,"name":"100% Organic SNOO Sleep Sack - Small \/ Ivory Planets","public_title":"Small \/ Ivory Planets","sku":"5221SNSS115"},{"id":31306320871470,"price":2446,"name":"100% Organic SNOO Sleep Sack - Small \/ Ivory Planets with Black Wings","public_title":"Small \/ Ivory Planets with Black Wings","sku":"5221SNSS121"},{"id":40907234705598,"price":2446,"name":"100% Organic SNOO Sleep Sack - Small \/ Charcoal Stars","public_title":"Small \/ Charcoal Stars","sku":"5221SNSS127"},{"id":8113729765493,"price":2446,"name":"100% Organic SNOO Sleep Sack - Small \/ Graphite Stars","public_title":"Small \/ Graphite Stars","sku":"5221SNSS103"},{"id":8113943806069,"price":2446,"name":"100% Organic SNOO Sleep Sack - Small \/ Ivory","public_title":"Small \/ Ivory","sku":"5221SNSS100"},{"id":42018408530110,"price":2446,"name":"100% Organic SNOO Sleep Sack - Small \/ Blue Tie-Dye","public_title":"Small \/ Blue Tie-Dye","sku":"5221SNSS136"},{"id":42264877760702,"price":2446,"name":"100% Organic SNOO Sleep Sack - Small \/ Pine --hide","public_title":"Small \/ Pine --hide","sku":"5221SNSS130"},{"id":42264899879102,"price":2446,"name":"100% Organic SNOO Sleep Sack - Small \/ Snooflake --hide","public_title":"Small \/ Snooflake --hide","sku":"5221SNSS133"},{"id":42577394958526,"price":2446,"name":"100% Organic SNOO Sleep Sack - Small \/ Ivory Watermelons","public_title":"Small \/ Ivory Watermelons","sku":"5221SNSS152"},{"id":42577422155966,"price":2446,"name":"100% Organic SNOO Sleep Sack - Small \/ Ivory Lemons","public_title":"Small \/ Ivory Lemons","sku":"5221SNSS156"},{"id":42577427988670,"price":2446,"name":"100% Organic SNOO Sleep Sack - Small \/ Ivory Strawberries","public_title":"Small \/ Ivory Strawberries","sku":"5221SNSS160"},{"id":42018426388670,"price":2446,"name":"100% Organic SNOO Sleep Sack - Medium \/ Rainbow Tie-Dye","public_title":"Medium \/ Rainbow Tie-Dye","sku":"5221SNSS140"},{"id":31306321002542,"price":2446,"name":"100% Organic SNOO Sleep Sack - Medium \/ Midnight Planets","public_title":"Medium \/ Midnight Planets","sku":"5221SNSS119"},{"id":31306321133614,"price":2446,"name":"100% Organic SNOO Sleep Sack - Medium \/ Rose Planets","public_title":"Medium \/ Rose Planets","sku":"5221SNSS107"},{"id":31306321166382,"price":2446,"name":"100% Organic SNOO Sleep Sack - Medium \/ Teal Planets","public_title":"Medium \/ Teal Planets","sku":"5221SNSS110"},{"id":40907237884094,"price":2446,"name":"100% Organic SNOO Sleep Sack - Medium \/ Charcoal Planets --hide","public_title":"Medium \/ Charcoal Planets --hide","sku":"5221SNSS125"},{"id":31306321100846,"price":2446,"name":"100% Organic SNOO Sleep Sack - Medium \/ Graphite Planets","public_title":"Medium \/ Graphite Planets","sku":"5221SNSS113"},{"id":31306321035310,"price":2446,"name":"100% Organic SNOO Sleep Sack - Medium \/ Ivory Planets","public_title":"Medium \/ Ivory Planets","sku":"5221SNSS116"},{"id":31306321068078,"price":2446,"name":"100% Organic SNOO Sleep Sack - Medium \/ Ivory Planets with Black Wings","public_title":"Medium \/ Ivory Planets with Black Wings","sku":"5221SNSS122"},{"id":40907236638910,"price":2446,"name":"100% Organic SNOO Sleep Sack - Medium \/ Charcoal Stars","public_title":"Medium \/ Charcoal Stars","sku":"5221SNSS128"},{"id":8113729798261,"price":2446,"name":"100% Organic SNOO Sleep Sack - Medium \/ Graphite Stars","public_title":"Medium \/ Graphite Stars","sku":"5221SNSS104"},{"id":8113941971061,"price":2446,"name":"100% Organic SNOO Sleep Sack - Medium \/ Ivory","public_title":"Medium \/ Ivory","sku":"5221SNSS101"},{"id":42018411249854,"price":2446,"name":"100% Organic SNOO Sleep Sack - Medium \/ Blue Tie-Dye","public_title":"Medium \/ Blue Tie-Dye","sku":"5221SNSS137"},{"id":42264878743742,"price":2446,"name":"100% Organic SNOO Sleep Sack - Medium \/ Pine --hide","public_title":"Medium \/ Pine --hide","sku":"5221SNSS131"},{"id":42264900042942,"price":2446,"name":"100% Organic SNOO Sleep Sack - Medium \/ Snooflake --hide","public_title":"Medium \/ Snooflake --hide","sku":"5221SNSS134"},{"id":42577417732286,"price":2446,"name":"100% Organic SNOO Sleep Sack - Medium \/ Ivory Watermelons","public_title":"Medium \/ Ivory Watermelons","sku":"5221SNSS153"},{"id":42577423007934,"price":2446,"name":"100% Organic SNOO Sleep Sack - Medium \/ Ivory Lemons","public_title":"Medium \/ Ivory Lemons","sku":"5221SNSS157"},{"id":42577429102782,"price":2446,"name":"100% Organic SNOO Sleep Sack - Medium \/ Ivory Strawberries","public_title":"Medium \/ Ivory Strawberries","sku":"5221SNSS161"},{"id":42018428944574,"price":2446,"name":"100% Organic SNOO Sleep Sack - Large \/ Rainbow Tie-Dye","public_title":"Large \/ Rainbow Tie-Dye","sku":"5221SNSS141"},{"id":31306321199150,"price":2446,"name":"100% Organic SNOO Sleep Sack - Large \/ Midnight Planets","public_title":"Large \/ Midnight Planets","sku":"5221SNSS120"},{"id":31306321330222,"price":2446,"name":"100% Organic SNOO Sleep Sack - Large \/ Rose Planets","public_title":"Large \/ Rose Planets","sku":"5221SNSS108"},{"id":31306321362990,"price":2446,"name":"100% Organic SNOO Sleep Sack - Large \/ Teal Planets","public_title":"Large \/ Teal Planets","sku":"5221SNSS111"},{"id":40907239686334,"price":2446,"name":"100% Organic SNOO Sleep Sack - Large \/ Charcoal Planets --hide","public_title":"Large \/ Charcoal Planets --hide","sku":"5221SNSS126"},{"id":31306321297454,"price":2446,"name":"100% Organic SNOO Sleep Sack - Large \/ Graphite Planets","public_title":"Large \/ Graphite Planets","sku":"5221SNSS114"},{"id":31306321231918,"price":2446,"name":"100% Organic SNOO Sleep Sack - Large \/ Ivory Planets","public_title":"Large \/ Ivory Planets","sku":"5221SNSS117"},{"id":31306321264686,"price":2446,"name":"100% Organic SNOO Sleep Sack - Large \/ Ivory Planets with Black Wings","public_title":"Large \/ Ivory Planets with Black Wings","sku":"5221SNSS123"},{"id":40907240472766,"price":2446,"name":"100% Organic SNOO Sleep Sack - Large \/ Charcoal Stars","public_title":"Large \/ Charcoal Stars","sku":"5221SNSS129"},{"id":8113729831029,"price":2446,"name":"100% Organic SNOO Sleep Sack - Large \/ Graphite Stars","public_title":"Large \/ Graphite Stars","sku":"5221SNSS105"},{"id":8113936531573,"price":2446,"name":"100% Organic SNOO Sleep Sack - Large \/ Ivory","public_title":"Large \/ Ivory","sku":"5221SNSS102"},{"id":42018415476926,"price":2446,"name":"100% Organic SNOO Sleep Sack - Large \/ Blue Tie-Dye","public_title":"Large \/ Blue Tie-Dye","sku":"5221SNSS138"},{"id":42264879595710,"price":2446,"name":"100% Organic SNOO Sleep Sack - Large \/ Pine --hide","public_title":"Large \/ Pine --hide","sku":"5221SNSS132"},{"id":42264900632766,"price":2446,"name":"100% Organic SNOO Sleep Sack - Large \/ Snooflake --hide","public_title":"Large \/ Snooflake --hide","sku":"5221SNSS135"},{"id":42577418289342,"price":2446,"name":"100% Organic SNOO Sleep Sack - Large \/ Ivory Watermelons","public_title":"Large \/ Ivory Watermelons","sku":"5221SNSS154"},{"id":42577423990974,"price":2446,"name":"100% Organic SNOO Sleep Sack - Large \/ Ivory Lemons","public_title":"Large \/ Ivory Lemons","sku":"5221SNSS158"},{"id":42577429790910,"price":2446,"name":"100% Organic SNOO Sleep Sack - Large \/ Ivory Strawberries","public_title":"Large \/ Ivory Strawberries","sku":"5221SNSS162"},{"id":42599170932926,"price":2446,"name":"100% Organic SNOO Sleep Sack - X-Large \/ Midnight Planets","public_title":"X-Large \/ Midnight Planets","sku":"5221SNSS148"},{"id":42599167295678,"price":2446,"name":"100% Organic SNOO Sleep Sack - X-Large \/ Rose Planets","public_title":"X-Large \/ Rose Planets","sku":"5221SNSS144"},{"id":42599168278718,"price":2446,"name":"100% Organic SNOO Sleep Sack - X-Large \/ Teal Planets","public_title":"X-Large \/ Teal Planets","sku":"5221SNSS145"},{"id":42599172440254,"price":2446,"name":"100% Organic SNOO Sleep Sack - X-Large \/ Charcoal Planets --hide","public_title":"X-Large \/ Charcoal Planets --hide","sku":"5221SNSS150"},{"id":42599169228990,"price":2446,"name":"100% Organic SNOO Sleep Sack - X-Large \/ Graphite Planets","public_title":"X-Large \/ Graphite Planets","sku":"5221SNSS146"},{"id":42599170539710,"price":2446,"name":"100% Organic SNOO Sleep Sack - X-Large \/ Ivory Planets","public_title":"X-Large \/ Ivory Planets","sku":"5221SNSS147"},{"id":42599171621054,"price":2446,"name":"100% Organic SNOO Sleep Sack - X-Large \/ Ivory Planets with Black Wings","public_title":"X-Large \/ Ivory Planets with Black Wings","sku":"5221SNSS149"},{"id":42599174373566,"price":2446,"name":"100% Organic SNOO Sleep Sack - X-Large \/ Charcoal Stars","public_title":"X-Large \/ Charcoal Stars","sku":"5221SNSS151"},{"id":42599165919422,"price":2446,"name":"100% Organic SNOO Sleep Sack - X-Large \/ Graphite Stars","public_title":"X-Large \/ Graphite Stars","sku":"5221SNSS143"},{"id":42599164281022,"price":2446,"name":"100% Organic SNOO Sleep Sack - X-Large \/ Ivory","public_title":"X-Large \/ Ivory","sku":"5221SNSS142"},{"id":42577419534526,"price":2446,"name":"100% Organic SNOO Sleep Sack - X-Large \/ Ivory Watermelons","public_title":"X-Large \/ Ivory Watermelons","sku":"5221SNSS155"},{"id":42577425399998,"price":2446,"name":"100% Organic SNOO Sleep Sack - X-Large \/ Ivory Lemons","public_title":"X-Large \/ Ivory Lemons","sku":"5221SNSS159"},{"id":42577430577342,"price":2446,"name":"100% Organic SNOO Sleep Sack - X-Large \/ Ivory Strawberries","public_title":"X-Large \/ Ivory Strawberries","sku":"5221SNSS163"},{"id":43108788666558,"price":2446,"name":"100% Organic SNOO Sleep Sack - X-Large \/ Blue Tie-Dye","public_title":"X-Large \/ Blue Tie-Dye","sku":"5221SNSS164"},{"id":43108788961470,"price":2446,"name":"100% Organic SNOO Sleep Sack - X-Large \/ Rainbow Tie-Dye","public_title":"X-Large \/ Rainbow Tie-Dye","sku":"5221SNSS165"}]},{"id":7535265775806,"gid":"gid:\/\/shopify\/Product\/7535265775806","vendor":"Happiest Baby","type":"Swaddle","variants":[{"id":42490130563262,"price":3596,"name":"100% Organic SNOO Sleep Comforter Sack - Ivory \/ Small","public_title":"Ivory \/ Small","sku":"5238BSSS100"},{"id":42490130596030,"price":3596,"name":"100% Organic SNOO Sleep Comforter Sack - Ivory \/ Medium","public_title":"Ivory \/ Medium","sku":"5238BSSS101"},{"id":42490130628798,"price":3596,"name":"100% Organic SNOO Sleep Comforter Sack - Ivory \/ Large","public_title":"Ivory \/ Large","sku":"5238BSSS102"},{"id":42490130661566,"price":3596,"name":"100% Organic SNOO Sleep Comforter Sack - Ivory \/ X-Large","public_title":"Ivory \/ X-Large","sku":"5238BSSS103"},{"id":42490130694334,"price":3596,"name":"100% Organic SNOO Sleep Comforter Sack - Rose \/ Small","public_title":"Rose \/ Small","sku":"5238BSSS104"},{"id":42490130727102,"price":3596,"name":"100% Organic SNOO Sleep Comforter Sack - Rose \/ Medium","public_title":"Rose \/ Medium","sku":"5238BSSS105"},{"id":42490130759870,"price":3596,"name":"100% Organic SNOO Sleep Comforter Sack - Rose \/ Large","public_title":"Rose \/ Large","sku":"5238BSSS106"},{"id":42490130792638,"price":3596,"name":"100% Organic SNOO Sleep Comforter Sack - Rose \/ X-Large","public_title":"Rose \/ X-Large","sku":"5238BSSS107"},{"id":42490130825406,"price":3596,"name":"100% Organic SNOO Sleep Comforter Sack - Graphite \/ Small","public_title":"Graphite \/ Small","sku":"5238BSSS108"},{"id":42490130858174,"price":3596,"name":"100% Organic SNOO Sleep Comforter Sack - Graphite \/ Medium","public_title":"Graphite \/ Medium","sku":"5238BSSS109"},{"id":42490130890942,"price":3596,"name":"100% Organic SNOO Sleep Comforter Sack - Graphite \/ Large","public_title":"Graphite \/ Large","sku":"5238BSSS110"},{"id":42490130923710,"price":3596,"name":"100% Organic SNOO Sleep Comforter Sack - Graphite \/ X-Large","public_title":"Graphite \/ X-Large","sku":"5238BSSS111"}]},{"id":8704388300,"gid":"gid:\/\/shopify\/Product\/8704388300","vendor":"Happiest Baby","type":"Sheet","variants":[{"id":42018509291710,"price":1396,"name":"100% Organic Cotton SNOO Baby Bassinet Fitted Sheet - One-size \/ Rainbow Tie-Dye","public_title":"One-size \/ Rainbow Tie-Dye","sku":"4767SNMX213"},{"id":31306191700014,"price":1396,"name":"100% Organic Cotton SNOO Baby Bassinet Fitted Sheet - One-size \/ Ivory","public_title":"One-size \/ Ivory","sku":"4767SNMX200"},{"id":31306191732782,"price":1396,"name":"100% Organic Cotton SNOO Baby Bassinet Fitted Sheet - One-size \/ Black Galaxy","public_title":"One-size \/ Black Galaxy","sku":"4767SNMX206"},{"id":31306191765550,"price":1396,"name":"100% Organic Cotton SNOO Baby Bassinet Fitted Sheet - One-size \/ Ivory Galaxy","public_title":"One-size \/ Ivory Galaxy","sku":"4767SNMX204"},{"id":31306191831086,"price":1396,"name":"100% Organic Cotton SNOO Baby Bassinet Fitted Sheet - One-size \/ Midnight Galaxy","public_title":"One-size \/ Midnight Galaxy","sku":"4767SNMX205"},{"id":31306191863854,"price":1396,"name":"100% Organic Cotton SNOO Baby Bassinet Fitted Sheet - One-size \/ Graphite Galaxy","public_title":"One-size \/ Graphite Galaxy","sku":"4767SNMX203"},{"id":31306191929390,"price":1396,"name":"100% Organic Cotton SNOO Baby Bassinet Fitted Sheet - One-size \/ Rose Galaxy","public_title":"One-size \/ Rose Galaxy","sku":"4767SNMX201"},{"id":31306191962158,"price":1396,"name":"100% Organic Cotton SNOO Baby Bassinet Fitted Sheet - One-size \/ Teal Galaxy","public_title":"One-size \/ Teal Galaxy","sku":"4767SNMX202"},{"id":40907175166142,"price":1396,"name":"100% Organic Cotton SNOO Baby Bassinet Fitted Sheet - One-size \/ Charcoal Galaxy --hide","public_title":"One-size \/ Charcoal Galaxy --hide","sku":"4767SNMX207"},{"id":40924449374398,"price":1396,"name":"100% Organic Cotton SNOO Baby Bassinet Fitted Sheet - One-size \/ Ivory Pine --hide","public_title":"One-size \/ Ivory Pine --hide","sku":"4767SNMX208"},{"id":42018501034174,"price":1396,"name":"100% Organic Cotton SNOO Baby Bassinet Fitted Sheet - One-size \/ Blue Tie-Dye","public_title":"One-size \/ Blue Tie-Dye","sku":"4767SNMX212"},{"id":42264630657214,"price":1396,"name":"100% Organic Cotton SNOO Baby Bassinet Fitted Sheet - One-size \/ Ivory Sprig --hide","public_title":"One-size \/ Ivory Sprig --hide","sku":"4767SNMX209"},{"id":42264637702334,"price":1396,"name":"100% Organic Cotton SNOO Baby Bassinet Fitted Sheet - One-size \/ Forest Pine --hide","public_title":"One-size \/ Forest Pine --hide","sku":"4767SNMX211"},{"id":42264643371198,"price":1396,"name":"100% Organic Cotton SNOO Baby Bassinet Fitted Sheet - One-size \/ Ice --hide","public_title":"One-size \/ Ice --hide","sku":"4767SNMX210"}]},{"id":7464937062590,"gid":"gid:\/\/shopify\/Product\/7464937062590","vendor":"Happiest Baby","type":"SNOObie","variants":[{"id":42320649486526,"price":4896,"name":"SNOObie™ Smart Soother - Teal","public_title":"Teal","sku":"5598RCWN112"},{"id":43809929953470,"price":4896,"name":"SNOObie™ Smart Soother - Gray","public_title":"Gray","sku":"5598RCWN116"},{"id":44235776229566,"price":4896,"name":"SNOObie™ Smart Soother - White","public_title":"White","sku":"5598RCWN105"}]},{"id":4612820664366,"gid":"gid:\/\/shopify\/Product\/4612820664366","vendor":"Happiest Baby","type":"SNOObear","variants":[{"id":32481811922990,"price":3597,"name":"SNOObear® 3-in-1 White Noise Lovey - One-size \/ Cocoa Woolly","public_title":"One-size \/ Cocoa Woolly","sku":"6241HBXX101"},{"id":32481811955758,"price":3597,"name":"SNOObear® 3-in-1 White Noise Lovey - One-size \/ Cream Woolly","public_title":"One-size \/ Cream Woolly","sku":"6241HBXX100"},{"id":41178433716414,"price":3597,"name":"SNOObear® 3-in-1 White Noise Lovey - One-size \/ Cocoa Plush","public_title":"One-size \/ Cocoa Plush","sku":"6241HBXX103"},{"id":41178435846334,"price":3597,"name":"SNOObear® 3-in-1 White Noise Lovey - One-size \/ Cream Plush","public_title":"One-size \/ Cream Plush","sku":"6241HBXX102"}]},{"id":103640465433,"gid":"gid:\/\/shopify\/Product\/103640465433","vendor":"Happiest Baby","type":"Leg Lifters","variants":[{"id":954201767961,"price":1497,"name":"SNOO Leg Lifters","public_title":null,"sku":"4767SNLB200"}]},{"id":9858107788,"gid":"gid:\/\/shopify\/Product\/9858107788","vendor":"Happiest Baby","type":"Low Legs","variants":[{"id":35386698060,"price":3497,"name":"SNOO Low Legs","public_title":null,"sku":"4767SLXX200"}]},{"id":6622271865022,"gid":"gid:\/\/shopify\/Product\/6622271865022","vendor":"Happiest Baby","type":"Mobile","variants":[{"id":39541329887422,"price":5397,"name":"Sky Mobile","public_title":null,"sku":"3257HMXX100"}]},{"id":4543626969134,"gid":"gid:\/\/shopify\/Product\/4543626969134","vendor":"Happiest Baby","type":"Mosquito Net","variants":[{"id":32148872101934,"price":3950,"name":"Shoo Mosquito Net","public_title":null,"sku":"7157MNXX100"}]},{"id":7726428586174,"gid":"gid:\/\/shopify\/Product\/7726428586174","vendor":"Happiest Baby","type":"Giraffe","variants":[{"id":42974881743038,"price":24750,"name":"SNOO Zoo Giraffe","public_title":null,"sku":"3257ZGXX100"}]},{"id":4509108043822,"gid":"gid:\/\/shopify\/Product\/4509108043822","vendor":"Happiest Baby","type":"Swaddle","variants":[{"id":40907215929534,"price":6297,"name":"Sleepea® Swaddle Sack 3 Pack Bundle - Newborn \/ Charcoal Planets --hide","public_title":"Newborn \/ Charcoal Planets --hide","sku":"2191BLXX110"},{"id":39289486540990,"price":6297,"name":"Sleepea® Swaddle Sack 3 Pack Bundle - Newborn \/ Graphite Planets","public_title":"Newborn \/ Graphite Planets","sku":"2191BLXX105"},{"id":39289486475454,"price":6297,"name":"Sleepea® Swaddle Sack 3 Pack Bundle - Newborn \/ Ivory Planets","public_title":"Newborn \/ Ivory Planets","sku":"2191BLXX106"},{"id":39289486508222,"price":6297,"name":"Sleepea® Swaddle Sack 3 Pack Bundle - Newborn \/ Midnight Planets","public_title":"Newborn \/ Midnight Planets","sku":"2191BLXX107"},{"id":39289486573758,"price":6297,"name":"Sleepea® Swaddle Sack 3 Pack Bundle - Newborn \/ Rose Planets --hide","public_title":"Newborn \/ Rose Planets --hide","sku":"2191BLXX103"},{"id":39289486606526,"price":6297,"name":"Sleepea® Swaddle Sack 3 Pack Bundle - Newborn \/ Teal Planets --hide","public_title":"Newborn \/ Teal Planets --hide","sku":"2191BLXX101"},{"id":40907217174718,"price":6297,"name":"Sleepea® Swaddle Sack 3 Pack Bundle - Newborn \/ Charcoal Stars --hide","public_title":"Newborn \/ Charcoal Stars --hide","sku":"2191BLXX109"},{"id":39289486639294,"price":6297,"name":"Sleepea® Swaddle Sack 3 Pack Bundle - Newborn \/ Graphite Stars","public_title":"Newborn \/ Graphite Stars","sku":"2191BLXX104"},{"id":39289486672062,"price":6297,"name":"Sleepea® Swaddle Sack 3 Pack Bundle - Newborn \/ Sky Stars --hide","public_title":"Newborn \/ Sky Stars --hide","sku":"2191BLXX108"},{"id":39289486704830,"price":6297,"name":"Sleepea® Swaddle Sack 3 Pack Bundle - Newborn \/ Rose Stars","public_title":"Newborn \/ Rose Stars","sku":"2191BLXX102"},{"id":39289486737598,"price":6297,"name":"Sleepea® Swaddle Sack 3 Pack Bundle - Newborn \/ Teal Stars","public_title":"Newborn \/ Teal Stars","sku":"2191BLXX100"},{"id":40907219730622,"price":6297,"name":"Sleepea® Swaddle Sack 3 Pack Bundle - Regular \/ Charcoal Planets","public_title":"Regular \/ Charcoal Planets","sku":"3822BLXX111"},{"id":39289486835902,"price":6297,"name":"Sleepea® Swaddle Sack 3 Pack Bundle - Regular \/ Graphite Planets","public_title":"Regular \/ Graphite Planets","sku":"3822BLXX105"},{"id":39289486770366,"price":6297,"name":"Sleepea® Swaddle Sack 3 Pack Bundle - Regular \/ Ivory Planets","public_title":"Regular \/ Ivory Planets","sku":"3822BLXX106"},{"id":39289486803134,"price":6297,"name":"Sleepea® Swaddle Sack 3 Pack Bundle - Regular \/ Midnight Planets","public_title":"Regular \/ Midnight Planets","sku":"3822BLXX107"},{"id":39289486868670,"price":6297,"name":"Sleepea® Swaddle Sack 3 Pack Bundle - Regular \/ Rose Planets","public_title":"Regular \/ Rose Planets","sku":"3822BLXX103"},{"id":39289486901438,"price":6297,"name":"Sleepea® Swaddle Sack 3 Pack Bundle - Regular \/ Teal Planets --hide","public_title":"Regular \/ Teal Planets --hide","sku":"3822BLXX101"},{"id":40907221303486,"price":6297,"name":"Sleepea® Swaddle Sack 3 Pack Bundle - Regular \/ Charcoal Stars","public_title":"Regular \/ Charcoal Stars","sku":"3822BLXX110"},{"id":39289486934206,"price":6297,"name":"Sleepea® Swaddle Sack 3 Pack Bundle - Regular \/ Graphite Stars","public_title":"Regular \/ Graphite Stars","sku":"3822BLXX104"},{"id":39289486966974,"price":6297,"name":"Sleepea® Swaddle Sack 3 Pack Bundle - Regular \/ Sky Stars --hide","public_title":"Regular \/ Sky Stars --hide","sku":"3822BLXX108"},{"id":39289486999742,"price":6297,"name":"Sleepea® Swaddle Sack 3 Pack Bundle - Regular \/ Rose Stars","public_title":"Regular \/ Rose Stars","sku":"3822BLXX102"},{"id":39289487032510,"price":6297,"name":"Sleepea® Swaddle Sack 3 Pack Bundle - Regular \/ Teal Stars","public_title":"Regular \/ Teal Stars","sku":"3822BLXX100"}]},{"id":4651312578606,"gid":"gid:\/\/shopify\/Product\/4651312578606","vendor":"Happiest Baby","type":"Swaddle","variants":[{"id":39289488081086,"price":7340,"name":"SNOO Sleep Sack 3-Pack of Sizes - Regular \/ Teal Planets","public_title":"Regular \/ Teal Planets","sku":"2758BLXX201"},{"id":39289488113854,"price":7340,"name":"SNOO Sleep Sack 3-Pack of Sizes - Regular \/ Rose Planets","public_title":"Regular \/ Rose Planets","sku":"2758BLXX202"},{"id":39289487950014,"price":7340,"name":"SNOO Sleep Sack 3-Pack of Sizes - Regular \/ Midnight Planets","public_title":"Regular \/ Midnight Planets","sku":"2758BLXX207"},{"id":40907253678270,"price":7340,"name":"SNOO Sleep Sack 3-Pack of Sizes - Regular \/ Charcoal Planets --hide","public_title":"Regular \/ Charcoal Planets --hide","sku":"2758BLXX209"},{"id":39289487982782,"price":7340,"name":"SNOO Sleep Sack 3-Pack of Sizes - Regular \/ Graphite Planets","public_title":"Regular \/ Graphite Planets","sku":"2758BLXX204"},{"id":39289488015550,"price":7340,"name":"SNOO Sleep Sack 3-Pack of Sizes - Regular \/ Ivory Planets","public_title":"Regular \/ Ivory Planets","sku":"2758BLXX205"},{"id":39289488048318,"price":7340,"name":"SNOO Sleep Sack 3-Pack of Sizes - Regular \/ Ivory Planets with Black Wings","public_title":"Regular \/ Ivory Planets with Black Wings","sku":"2758BLXX206"},{"id":40907256070334,"price":7340,"name":"SNOO Sleep Sack 3-Pack of Sizes - Regular \/ Charcoal Stars --hide","public_title":"Regular \/ Charcoal Stars --hide","sku":"2758BLXX208"},{"id":39289488179390,"price":7340,"name":"SNOO Sleep Sack 3-Pack of Sizes - Regular \/ Graphite Stars","public_title":"Regular \/ Graphite Stars","sku":"2758BLXX203"},{"id":39289488146622,"price":7340,"name":"SNOO Sleep Sack 3-Pack of Sizes - Regular \/ Ivory","public_title":"Regular \/ Ivory","sku":"2758BLXX200"}]},{"id":4384811876398,"gid":"gid:\/\/shopify\/Product\/4384811876398","vendor":"Happiest Baby","type":"Sheet","variants":[{"id":31436497125422,"price":3850,"name":"Organic Bassinet Sheets 3 Pack - One-size \/ Graphite - Ivory - Black","public_title":"One-size \/ Graphite - Ivory - Black","sku":"1185BLXX100"},{"id":31436497223726,"price":3850,"name":"Organic Bassinet Sheets 3 Pack - One-size \/ Graphite - Ivory - Midnight","public_title":"One-size \/ Graphite - Ivory - Midnight","sku":"1185BLXX103"},{"id":31436497190958,"price":3850,"name":"Organic Bassinet Sheets 3 Pack - One-size \/ Graphite - Ivory - Rose","public_title":"One-size \/ Graphite - Ivory - Rose","sku":"1185BLXX101"},{"id":31436497158190,"price":3850,"name":"Organic Bassinet Sheets 3 Pack - One-size \/ Graphite - Ivory - Teal","public_title":"One-size \/ Graphite - Ivory - Teal","sku":"1185BLXX102"},{"id":32411715731502,"price":3850,"name":"Organic Bassinet Sheets 3 Pack - One-size \/ Black - Ivory - Black","public_title":"One-size \/ Black - Ivory - Black","sku":"1185BLXX118"},{"id":40907188863166,"price":3850,"name":"Organic Bassinet Sheets 3 Pack - One-size \/ Ivory - Charcoal Galaxy - Ivory Galaxy","public_title":"One-size \/ Ivory - Charcoal Galaxy - Ivory Galaxy","sku":"1185BLXX130"}]},{"id":136574238745,"gid":"gid:\/\/shopify\/Product\/136574238745","vendor":"Happiest Baby","type":"Big Bundle","variants":[{"id":31924866154542,"price":9410,"name":"The Big Bundle - One-size \/ Ivory","public_title":"One-size \/ Ivory","sku":"2758BLXX100"},{"id":31924866220078,"price":9410,"name":"The Big Bundle - One-size \/ Black and Ivory - Galaxy and Planets","public_title":"One-size \/ Black and Ivory - Galaxy and Planets","sku":"2758BLXX105"},{"id":31924866187310,"price":9410,"name":"The Big Bundle - One-size \/ Rose - Galaxy and Planets","public_title":"One-size \/ Rose - Galaxy and Planets","sku":"2758BLXX101"},{"id":31924866252846,"price":9410,"name":"The Big Bundle - One-size \/ Teal - Galaxy and Planets","public_title":"One-size \/ Teal - Galaxy and Planets","sku":"2758BLXX102"},{"id":40569258016958,"price":9410,"name":"The Big Bundle - One-size \/ Ivory - Galaxy and Planets","public_title":"One-size \/ Ivory - Galaxy and Planets","sku":"2758BLXX109"},{"id":31924866285614,"price":9410,"name":"The Big Bundle - One-size \/ Graphite - Galaxy and Planets","public_title":"One-size \/ Graphite - Galaxy and Planets","sku":"2758BLXX103"},{"id":40907265802430,"price":9410,"name":"The Big Bundle - One-size \/ Charcoal - Galaxy and Planets","public_title":"One-size \/ Charcoal - Galaxy and Planets","sku":"2758BLXX107"},{"id":31924866318382,"price":9410,"name":"The Big Bundle - One-size \/ Midnight - Galaxy and Planets","public_title":"One-size \/ Midnight - Galaxy and Planets","sku":"2758BLXX104"},{"id":32411682275374,"price":9410,"name":"The Big Bundle - One-size \/ Graphite Galaxy and Stars","public_title":"One-size \/ Graphite Galaxy and Stars","sku":"2758BLXX106"},{"id":40907267342526,"price":9410,"name":"The Big Bundle - One-size \/ Charcoal - Galaxy and Stars --hide","public_title":"One-size \/ Charcoal - Galaxy and Stars --hide","sku":"2758BLXX108"}]},{"id":8700761164,"gid":"gid:\/\/shopify\/Product\/8700761164","vendor":"Happiest Baby","type":"Blanket","variants":[{"id":37854298800318,"price":647,"name":"100% Organic Swaddle Blanket - One-size \/ Gray Stars","public_title":"One-size \/ Gray Stars","sku":"7816BLXX100"},{"id":37854298833086,"price":647,"name":"100% Organic Swaddle Blanket - One-size \/ Black Hearts","public_title":"One-size \/ Black Hearts","sku":"7816BLXX200"},{"id":37854298865854,"price":647,"name":"100% Organic Swaddle Blanket - One-size \/ Black Stripes","public_title":"One-size \/ Black Stripes","sku":"7816BLXX201"},{"id":37854298898622,"price":647,"name":"100% Organic Swaddle Blanket - One-size \/ Black Galaxy Stars","public_title":"One-size \/ Black Galaxy Stars","sku":"7816BLXX203"},{"id":37854298931390,"price":647,"name":"100% Organic Swaddle Blanket - One-size \/ Black Dots","public_title":"One-size \/ Black Dots","sku":"7816BLXX204"}]},{"id":6127477784766,"gid":"gid:\/\/shopify\/Product\/6127477784766","vendor":"Happiest Baby","type":"Dress","variants":[{"id":37719646306494,"price":5950,"name":"Everything Dress: Camisole Dress for Pregnancy and Nursing - XXS","public_title":"XXS","sku":"5864WDXX107"},{"id":37719646339262,"price":5950,"name":"Everything Dress: Camisole Dress for Pregnancy and Nursing - XS","public_title":"XS","sku":"5864WDXX100"},{"id":37719646372030,"price":5950,"name":"Everything Dress: Camisole Dress for Pregnancy and Nursing - S","public_title":"S","sku":"5864WDXX101"},{"id":37719646404798,"price":5950,"name":"Everything Dress: Camisole Dress for Pregnancy and Nursing - M","public_title":"M","sku":"5864WDXX102"},{"id":37719646437566,"price":5950,"name":"Everything Dress: Camisole Dress for Pregnancy and Nursing - L","public_title":"L","sku":"5864WDXX103"},{"id":37719646470334,"price":5950,"name":"Everything Dress: Camisole Dress for Pregnancy and Nursing - XL","public_title":"XL","sku":"5864WDXX104"},{"id":37719646503102,"price":5950,"name":"Everything Dress: Camisole Dress for Pregnancy and Nursing - XXL","public_title":"XXL","sku":"5864WDXX105"}]},{"id":7732343636158,"gid":"gid:\/\/shopify\/Product\/7732343636158","vendor":"Happiest Baby","type":"Food","variants":[{"id":42988136595646,"price":2545,"name":"Happiest Baby x Sweet Laurel Blooberry Bar","public_title":null,"sku":"BLOOBIEBAR"}]},{"id":8678027724,"gid":"gid:\/\/shopify\/Product\/8678027724","vendor":"Happiest Baby","type":"Books \u0026 Media","variants":[{"id":29828672780,"price":746,"name":"The Happiest Baby Book – Fully Revised","public_title":null,"sku":"THBB2"}]},{"id":8678028556,"gid":"gid:\/\/shopify\/Product\/8678028556","vendor":"Happiest Baby","type":"Books \u0026 Media","variants":[{"id":29828673612,"price":746,"name":"The Happiest Toddler Book (Paperback): 8 mos - 5 yrs","public_title":null,"sku":"THT2B"}]},{"id":8678028940,"gid":"gid:\/\/shopify\/Product\/8678028940","vendor":"Happiest Baby","type":"Books \u0026 Media","variants":[{"id":29828673996,"price":746,"name":"The Happiest Baby Guide to Great Sleep","public_title":null,"sku":"THBGSP"}]},{"id":8678028876,"gid":"gid:\/\/shopify\/Product\/8678028876","vendor":"Happiest Baby","type":"Books \u0026 Media","variants":[{"id":29828673932,"price":805,"name":"Happiest Baby on the Block (STREAMING)","public_title":null,"sku":"BABYVOD"}]},{"id":8678028044,"gid":"gid:\/\/shopify\/Product\/8678028044","vendor":"Happiest Baby","type":"Books \u0026 Media","variants":[{"id":29828673100,"price":805,"name":"Happiest Baby on the Block in Spanish (Espanol) Streaming","public_title":null,"sku":"BABYVODSP"}]},{"id":8678027788,"gid":"gid:\/\/shopify\/Product\/8678027788","vendor":"Happiest Baby","type":"Books \u0026 Media","variants":[{"id":29828672844,"price":805,"name":"Happiest Toddler on the Block: 8 mos - 5 yrs (STREAMING)","public_title":null,"sku":"TOTVOD"}]},{"id":8678027980,"gid":"gid:\/\/shopify\/Product\/8678027980","vendor":"Happiest Baby","type":"Books \u0026 Media","variants":[{"id":29828673036,"price":805,"name":"Happiest Toddler on the Block: 8 mos - 5 yrs in Spanish (STREAMING)","public_title":null,"sku":"TOTVODSP"}]}],"page":{"pageType":"collection","resourceType":"collection","resourceId":294405767358}}; for (var attr in meta) { window.ShopifyAnalytics.meta[attr] = meta[attr]; }</script> <script>window.ShopifyAnalytics.merchantGoogleAnalytics = function() { ga('set', 'anonymizeIp', true); }; </script> <script class="analytics">(window.gaDevIds=window.gaDevIds||[]).push('BwiEti'); (function () { var customDocumentWrite = function(content) { var jquery = null; if (window.jQuery) { jquery = window.jQuery; } else if (window.Checkout && window.Checkout.$) { jquery = window.Checkout.$; } if (jquery) { jquery('body').append(content); } }; var hasLoggedConversion = function(token) { if (token) { return document.cookie.indexOf('loggedConversion=' + token) !== -1; } return false; } var setCookieIfConversion = function(token) { if (token) { var twoMonthsFromNow = new Date(Date.now()); twoMonthsFromNow.setMonth(twoMonthsFromNow.getMonth() + 2); document.cookie = 'loggedConversion=' + token + '; expires=' + twoMonthsFromNow; } } var trekkie = window.ShopifyAnalytics.lib = window.trekkie = window.trekkie || []; if (trekkie.integrations) { return; } trekkie.methods = [ 'identify', 'page', 'ready', 'track', 'trackForm', 'trackLink' ]; trekkie.factory = function(method) { return function() { var args = Array.prototype.slice.call(arguments); args.unshift(method); trekkie.push(args); return trekkie; }; }; for (var i = 0; i < trekkie.methods.length; i++) { var key = trekkie.methods[i]; trekkie[key] = trekkie.factory(key); } trekkie.load = function(config) { trekkie.config = config || {}; trekkie.config.initialDocumentCookie = document.cookie; var first = document.getElementsByTagName('script')[0]; var script = document.createElement('script'); script.type = 'text/javascript'; script.onerror = function(e) { var scriptFallback = document.createElement('script'); scriptFallback.type = 'text/javascript'; scriptFallback.onerror = function(error) { var Monorail = { produce: function produce(monorailDomain, schemaId, payload) { var currentMs = new Date().getTime(); var event = { schema_id: schemaId, payload: payload, metadata: { event_created_at_ms: currentMs, event_sent_at_ms: currentMs } }; return Monorail.sendRequest("https://" + monorailDomain + "/v1/produce", JSON.stringify(event)); }, sendRequest: function sendRequest(endpointUrl, payload) { // Try the sendBeacon API if (window && window.navigator && typeof window.navigator.sendBeacon === 'function' && typeof window.Blob === 'function' && !Monorail.isIos12()) { var blobData = new window.Blob([payload], { type: 'text/plain' }); if (window.navigator.sendBeacon(endpointUrl, blobData)) { return true; } // sendBeacon was not successful } // XHR beacon var xhr = new XMLHttpRequest(); try { xhr.open('POST', endpointUrl); xhr.setRequestHeader('Content-Type', 'text/plain'); xhr.send(payload); } catch (e) { console.log(e); } return false; }, isIos12: function isIos12() { return window.navigator.userAgent.lastIndexOf('iPhone; CPU iPhone OS 12_') !== -1 || window.navigator.userAgent.lastIndexOf('iPad; CPU OS 12_') !== -1; } }; Monorail.produce('monorail-edge.shopifysvc.com', 'trekkie_storefront_load_errors/1.1', {shop_id: 14073324, theme_id: 141387137214, app_name: "storefront", context_url: window.location.href, source_url: "//www.happiestbaby.com/cdn/s/trekkie.storefront.20de3b35f21c3bd6ff73e3f1547eb7d54e6e94e4.min.js"}); }; scriptFallback.async = true; scriptFallback.src = '//www.happiestbaby.com/cdn/s/trekkie.storefront.20de3b35f21c3bd6ff73e3f1547eb7d54e6e94e4.min.js'; first.parentNode.insertBefore(scriptFallback, first); }; script.async = true; script.src = '//www.happiestbaby.com/cdn/s/trekkie.storefront.20de3b35f21c3bd6ff73e3f1547eb7d54e6e94e4.min.js'; first.parentNode.insertBefore(script, first); }; trekkie.load( {"Trekkie":{"appName":"storefront","development":false,"defaultAttributes":{"shopId":14073324,"isMerchantRequest":null,"themeId":141387137214,"themeCityHash":"6806576675741846315","contentLanguage":"en","currency":"USD"},"isServerSideCookieWritingEnabled":true,"monorailRegion":"shop_domain"},"Google Analytics":{"trackingId":"UA-66862536-1","domain":"auto","siteSpeedSampleRate":"10","enhancedEcommerce":true,"doubleClick":true,"includeSearch":true},"Session Attribution":{},"S2S":{"facebookCapiEnabled":true,"source":"trekkie-storefront-renderer","apiClientId":580111}} ); var loaded = false; trekkie.ready(function() { if (loaded) return; loaded = true; window.ShopifyAnalytics.lib = window.trekkie; ga('require', 'linker'); function addListener(element, type, callback) { if (element.addEventListener) { element.addEventListener(type, callback); } else if (element.attachEvent) { element.attachEvent('on' + type, callback); } } function decorate(event) { event = event || window.event; var target = event.target || event.srcElement; if (target && (target.getAttribute('action') || target.getAttribute('href'))) { ga(function (tracker) { var linkerParam = tracker.get('linkerParam'); document.cookie = '_shopify_ga=' + linkerParam + '; ' + 'path=/'; }); } } addListener(window, 'load', function(){ for (var i=0; i < document.forms.length; i++) { var action = document.forms[i].getAttribute('action'); if(action && action.indexOf('/cart') >= 0) { addListener(document.forms[i], 'submit', decorate); } } for (var i=0; i < document.links.length; i++) { var href = document.links[i].getAttribute('href'); if(href && href.indexOf('/checkout') >= 0) { addListener(document.links[i], 'click', decorate); } } }); var originalDocumentWrite = document.write; document.write = customDocumentWrite; try { window.ShopifyAnalytics.merchantGoogleAnalytics.call(this); } catch(error) {}; document.write = originalDocumentWrite; window.ShopifyAnalytics.lib.page(null,{"pageType":"collection","resourceType":"collection","resourceId":294405767358}); var match = window.location.pathname.match(/checkouts\/(.+)\/(thank_you|post_purchase)/) var token = match? match[1]: undefined; if (!hasLoggedConversion(token)) { setCookieIfConversion(token); window.ShopifyAnalytics.lib.track("Viewed Product Category",{"currency":"USD","category":"Collection: black-friday-sale","collectionName":"black-friday-sale","collectionId":294405767358,"nonInteraction":true}); } }); var eventsListenerScript = document.createElement('script'); eventsListenerScript.async = true; eventsListenerScript.src = "//www.happiestbaby.com/cdn/shopifycloud/shopify/assets/shop_events_listener-61fa9e0a912c675e178777d2b27f6cbd482f8912a6b0aa31fa3515985a8cd626.js"; document.getElementsByTagName('head')[0].appendChild(eventsListenerScript); })();</script> <script class="boomerang"> (function () { window.BOOMR = window.BOOMR || {}; window.BOOMR.themeName = "Happiest Baby"; window.BOOMR.themeVersion = "11212024.1"; window.BOOMR.shopId = 14073324; window.BOOMR.themeId = 141387137214; })();</script> <script defer src="https://www.happiestbaby.com/cdn/shopifycloud/perf-kit/shopify-perf-kit-1.0.2.min.js" data-application="storefront-renderer" data-shop-id="14073324" data-render-region="gcp-asia-southeast1" data-page-type="collection" data-theme-instance-id="141387137214" data-monorail-region="shop_domain" data-resource-timing-sampling-rate="10" ></script> </head> <body id="black-friday-sale" class="template__collection rental "> <div id="hb-chat-root"></div> <a class="in-page-link visually-hidden skip-link" href="#MainContent">Skip to content</a><!-- Google Tag Manager (noscript) --> <noscript> <iframe src="https://www.googletagmanager.com/ns.html?id=GTM-WTZ3MV" height="0" width="0" title="Intentionally blank" aria-hidden="true" style="display: none; visibility: hidden"></iframe> </noscript> <!-- End Google Tag Manager (noscript) --><div class="overlay" data-overlay></div> <header class="global-header"> <div class="site-header medium-up--hide"> <ul class="site-nav--mobile-header"> <li class="mobile-menu-icon"> <div class="open-mobile-menu" tabindex="0" role="button" aria-label="Open Main Hamburger Mobile Menu"> <i class="fa fa-bars"></i> </div> <div class="close-mobile-menu" tabindex="0" role="button" aria-label="Close Main Mobile Menu"> <i class="fa fa-times"></i> </div> </li> <li class="mobile-logo"><div class="site-header__logo"> <a href="/" class="site-header__logo-link" aria-describedby="global-site-mobile-logo"> <img loading="lazy" class="site-header__logo-image" src="//www.happiestbaby.com/cdn/shop/t/1010/assets/site-logo.svg?v=84351383959251099361732206454" width="155" height="24" alt="Happiest Baby logo, Home Page, Visited"> <span id="global-site-mobile-logo" class="screen-reader-only">Happiest Baby logo, homepage.</span> </a></div></li> <li class="site-nav__bag-icon"> <button class="site-nav__link site-nav__link--bag-icon" onclick="openAjaxCart();" aria-label="My Cart, 0 items"> <span class="cart-item-counter" data-cart-render="item_count" aria-hidden="true">0</span> </button> </li> </ul> </div> <nav class="mobile-menu" aria-label="Mobile navigation"> <!-- /snippets/search-bar-mobile.liquid --> <form action="/search" method="get" class="input-group search-bar search-bar--mobile" role="search"> <label for="search-bar-mobile" class="hidden">Search</label> <input id="search-bar-mobile" type="search" name="q" value="" placeholder="Search" aria-label="search" class="input-group-field"> <button class="search__icon" aria-label="submit search"><i class="fa fa-search" aria-hidden="true"></i></button> </form> <ul class="mobile-menu__link-list"><li class="site-nav-mobile__link--main site-nav-mobile__link--main--shop site-nav-mobile--has-dropdown site-nav-mobile--has-dropdown--shop"> <a href="/collections/all">Shop</a> <i class="fa fa-angle-down" aria-hidden="true"></i><i class="fa fa-angle-up" aria-hidden="false" style="display: none;"></i> <ul class="site-nav-mobile__dropdown site-nav-mobile__dropdown--shop"><li class="site-nav-mobile__dropdown__item site-nav-mobile__dropdown__item--snoo-smart-sleeper-purchase"> <a href="/products/snoo-smart-bassinet" class="site-nav__link site-nav__child-link site-nav-mobile__child-link" aria-current="false" ><img class="site-nav__child-link-image site-nav-mobile__child-link-image" loading="lazy" src="//www.happiestbaby.com/cdn/shop/t/1010/assets/snoo-br-smart-sleeper.png?v=184109444290921220971732206461" width="100" height="92" alt="SNOO <br/> Smart Sleeper" /> <span class="site-nav__label site-nav-mobile__label">SNOO Smart Sleeper</span><img class="icon--buy-snoo" loading="lazy" src="//www.happiestbaby.com/cdn/shop/t/1010/assets/icon-nav-buy.png?v=129794362052128800991732206376" width="30" height="30" alt="Buy" /></a> </li> <li class="site-nav-mobile__dropdown__item site-nav-mobile__dropdown__item--snoo-smart-sleeper-rental"> <a href="/products/snoo-rental" class="site-nav__link site-nav__child-link site-nav-mobile__child-link" aria-current="false" ><img class="site-nav__child-link-image site-nav-mobile__child-link-image" loading="lazy" src="//www.happiestbaby.com/cdn/shop/t/1010/assets/snoo-br-smart-sleeper.png?v=184109444290921220971732206461" width="100" height="92" alt="SNOO <br/> Smart Sleeper" /> <span class="site-nav__label site-nav-mobile__label">SNOO Smart Sleeper</span><img class="icon--rent-snoo" loading="lazy" src="//www.happiestbaby.com/cdn/shop/t/1010/assets/icon-nav-rent.png?v=108640789372606953461732206377" width="30" height="30" alt="Rent" /></a> </li> <li class="site-nav-mobile__dropdown__item site-nav-mobile__dropdown__item--snoo-accessories"> <a href="/collections/snoo-accessories" class="site-nav__link site-nav__child-link site-nav-mobile__child-link" aria-current="false" ><img class="site-nav__child-link-image site-nav-mobile__child-link-image" loading="lazy" src="//www.happiestbaby.com/cdn/shop/t/1010/assets/snoo-accessories.png?v=171940649290628256021732206460" width="100" height="92" alt="SNOO Accessories" /> <span class="site-nav__label site-nav-mobile__label">SNOO Accessories</span></a> </li> <li class="site-nav-mobile__dropdown__item site-nav-mobile__dropdown__item--sleepea-br-swaddles"> <a href="/products/sleepea-swaddle" class="site-nav__link site-nav__child-link site-nav-mobile__child-link" aria-current="false" ><img class="site-nav__child-link-image site-nav-mobile__child-link-image" loading="lazy" src="//www.happiestbaby.com/cdn/shop/t/1010/assets/sleepea-br-swaddles.png?v=32255019702149224891732206458" width="100" height="92" alt="Sleepea <br /> Swaddles" /> <span class="site-nav__label site-nav-mobile__label">Sleepea Swaddles</span></a> </li> <li class="site-nav-mobile__dropdown__item site-nav-mobile__dropdown__item--white-noise"> <a href="/collections/white-noise" class="site-nav__link site-nav__child-link site-nav-mobile__child-link" aria-current="false" ><img class="site-nav__child-link-image site-nav-mobile__child-link-image" loading="lazy" src="//www.happiestbaby.com/cdn/shop/t/1010/assets/white-noise.png?v=67095725855997169671732206487" width="100" height="92" alt="White Noise" /> <span class="site-nav__label site-nav-mobile__label">White Noise</span></a> </li> <li class="site-nav-mobile__dropdown__item site-nav-mobile__dropdown__item--baby"> <a href="/collections/baby" class="site-nav__link site-nav__child-link site-nav-mobile__child-link" aria-current="false" ><img class="site-nav__child-link-image site-nav-mobile__child-link-image" loading="lazy" src="//www.happiestbaby.com/cdn/shop/t/1010/assets/baby.png?v=18502862720514066201732206175" width="100" height="92" alt="Baby" /> <span class="site-nav__label site-nav-mobile__label">Baby</span></a> </li> <li class="site-nav-mobile__dropdown__item site-nav-mobile__dropdown__item--toddler"> <a href="/collections/toddler" class="site-nav__link site-nav__child-link site-nav-mobile__child-link" aria-current="false" ><img class="site-nav__child-link-image site-nav-mobile__child-link-image" loading="lazy" src="//www.happiestbaby.com/cdn/shop/t/1010/assets/toddler.png?v=167367782178479240021732206478" width="100" height="92" alt="Toddler" /> <span class="site-nav__label site-nav-mobile__label">Toddler</span></a> </li> <li class="site-nav-mobile__dropdown__item site-nav-mobile__dropdown__item--bundle-save"> <a href="/collections/bundle-and-save-sets" class="site-nav__link site-nav__child-link site-nav-mobile__child-link site-nav__link--last" aria-current="false" ><img class="site-nav__child-link-image site-nav-mobile__child-link-image" loading="lazy" src="//www.happiestbaby.com/cdn/shop/t/1010/assets/bundle-save.png?v=170243991216105748991732206193" width="100" height="92" alt="Bundle & Save" /> <span class="site-nav__label site-nav-mobile__label">Bundle & Save</span></a> </li> </ul></li><li class="site-nav-mobile__link--main site-nav-mobile__link--main--registry"><a href="/pages/registry" >Registry</a></li><li class="site-nav-mobile__link--main site-nav-mobile__link--main--blog site-nav-mobile--has-dropdown site-nav-mobile--has-dropdown--blog"> <a href="/pages/blog">Blog</a> <i class="fa fa-angle-down" aria-hidden="true"></i><i class="fa fa-angle-up" aria-hidden="false" style="display: none;"></i> <ul class="site-nav-mobile__dropdown site-nav-mobile__dropdown--blog"><li class="site-nav-mobile__dropdown__item site-nav-mobile__dropdown__item--pregnancy"> <a href="/blogs/pregnancy" class="site-nav__link site-nav__child-link site-nav-mobile__child-link" aria-current="false" > <span class="site-nav__label site-nav-mobile__label">Pregnancy</span></a> </li> <li class="site-nav-mobile__dropdown__item site-nav-mobile__dropdown__item--baby"> <a href="/blogs/baby" class="site-nav__link site-nav__child-link site-nav-mobile__child-link" aria-current="false" > <span class="site-nav__label site-nav-mobile__label">Baby</span></a> </li> <li class="site-nav-mobile__dropdown__item site-nav-mobile__dropdown__item--toddler"> <a href="/blogs/toddler" class="site-nav__link site-nav__child-link site-nav-mobile__child-link" aria-current="false" > <span class="site-nav__label site-nav-mobile__label">Toddler</span></a> </li> <li class="site-nav-mobile__dropdown__item site-nav-mobile__dropdown__item--parents"> <a href="/blogs/parents" class="site-nav__link site-nav__child-link site-nav-mobile__child-link" aria-current="false" > <span class="site-nav__label site-nav-mobile__label">Parents</span></a> </li> <li class="site-nav-mobile__dropdown__item site-nav-mobile__dropdown__item--snoo"> <a href="/blogs/snoo" class="site-nav__link site-nav__child-link site-nav-mobile__child-link" aria-current="false" > <span class="site-nav__label site-nav-mobile__label">SNOO</span></a> </li> <li class="site-nav-mobile__dropdown__item site-nav-mobile__dropdown__item--nursery-design"> <a href="/blogs/nursery-design" class="site-nav__link site-nav__child-link site-nav-mobile__child-link" aria-current="false" > <span class="site-nav__label site-nav-mobile__label">Nursery Design</span></a> </li> <li class="site-nav-mobile__dropdown__item site-nav-mobile__dropdown__item--sleep"> <a href="/blogs/sleep" class="site-nav__link site-nav__child-link site-nav-mobile__child-link site-nav__link--last" aria-current="false" > <span class="site-nav__label site-nav-mobile__label">Sleep</span></a> </li> </ul></li><li class="site-nav-mobile__link--main site-nav-mobile__link--main--reviews site-nav-mobile--has-dropdown site-nav-mobile--has-dropdown--reviews"> <a href="#">Reviews</a> <i class="fa fa-angle-down" aria-hidden="true"></i><i class="fa fa-angle-up" aria-hidden="false" style="display: none;"></i> <ul class="site-nav-mobile__dropdown site-nav-mobile__dropdown--reviews"><li class="site-nav-mobile__dropdown__item site-nav-mobile__dropdown__item--press"> <a href="/pages/recent-press-coverage" class="site-nav__link site-nav__child-link site-nav-mobile__child-link" aria-current="false" > <span class="site-nav__label site-nav-mobile__label">Press</span></a> </li> <li class="site-nav-mobile__dropdown__item site-nav-mobile__dropdown__item--snoo-smart-sleeper"> <a href="/pages/snooreviews" class="site-nav__link site-nav__child-link site-nav-mobile__child-link" aria-current="false" > <span class="site-nav__label site-nav-mobile__label">SNOO Smart Sleeper</span></a> </li> <li class="site-nav-mobile__dropdown__item site-nav-mobile__dropdown__item--sleepea-swaddle"> <a href="/pages/sleepea-reviews" class="site-nav__link site-nav__child-link site-nav-mobile__child-link site-nav__link--last" aria-current="false" > <span class="site-nav__label site-nav-mobile__label">Sleepea Swaddle</span></a> </li> </ul></li><li class="site-nav-mobile__link--main site-nav-mobile__link--main--employee-br-class-hide-mobile-benefits"><a href="/pages/employee-benefits" >Employee <br class="hide-mobile" />Benefits</a></li><li class="site-nav-mobile__link--main site-nav-mobile__link--main--hospital-br-class-hide-mobile-snoo"><a href="https://health.happiestbaby.com/" >Hospital <br class="hide-mobile" />SNOO</a></li><li class="site-nav-mobile__link--main site-nav-mobile__link--main--faqs"><a href="https://support.happiestbaby.com/hc/en-us" >FAQs</a></li> <li class="site-nav-mobile__link--main site-nav-mobile__link--main--rental-login"> <a href="https://account.happiestbaby.com/" target="_blank"> Account </a> </li> </ul> </nav> <!-- end site-header-mobile --> <div class="site-header small--hide"><div class="site-header__logo small--hide"> <a href="/" class="site-header__logo-link" aria-describedby="global-site-logo"> <img loading="lazy" id="global-site-logo" class="site-header__logo-image small--hide" src="//www.happiestbaby.com/cdn/shop/t/1010/assets/site-logo.svg?v=84351383959251099361732206454" width="191" height="30" alt="Happiest Baby logo, Home Page"> </a></div><nav> <ul class="site-nav small--hide" id="SiteNav"><li id="menu--shop" class="site-nav__item site-nav__item--shop site-nav--has-dropdown" data-has-dropdowns="true"> <a data-key-role="tab" href="/collections/all" class="site-nav__link site-nav__link--shop site-nav__link--main"> <span class="site-nav__label">Shop</span> </a> <button data-key-role="tab" class="site-nav__link site-nav__link--shop site-nav__link--main site-nav__link--button" aria-haspopup="true" aria-label="Expandable Navigation for Shop" aria-controls="SiteNavLabel-shop"> <svg aria-hidden="true" focusable="false" role="img" class="icon icon-chevron-down" viewBox="0 0 9 9"> <path d="M8.542 2.558a.625.625 0 0 1 0 .884l-3.6 3.6a.626.626 0 0 1-.884 0l-3.6-3.6a.625.625 0 1 1 .884-.884L4.5 5.716l3.158-3.158a.625.625 0 0 1 .884 0z" fill="#fff" /> <title>Expandable Navigation</title> </svg> </button> <ul role="menu" aria-labelledby="menu--shop" class="site-nav__dropdown site-nav__dropdown--shop critical-hidden" id="SiteNavLabel-shop"><li role="menuitem" class="site-nav__dropdown__item site-nav__dropdown__item--snoo-smart-sleeper-purchase"> <a href="/products/snoo-smart-bassinet" data-key-role="tab" class="site-nav__link site-nav__child-link"><img class="site-nav__child-link-image" loading="lazy" src="//www.happiestbaby.com/cdn/shop/t/1010/assets/snoo-br-smart-sleeper.png?v=184109444290921220971732206461" width="100" height="92" alt="Snoo smart sleeper" aria-hidden="false"/><span class="site-nav__label" aria-label="Snoo smart sleeper"><span role="alert" aria-label="Snoo">SNOO</span> <br aria-hidden="true"> Smart Sleeper</span><img class="icon--buy-snoo" loading="lazy" src="//www.happiestbaby.com/cdn/shop/t/1010/assets/icon-nav-buy.png?v=129794362052128800991732206376" width="30" height="30" alt="Buy" /></a> </li><li role="menuitem" class="site-nav__dropdown__item site-nav__dropdown__item--snoo-smart-sleeper-rental"> <a href="/products/snoo-rental" data-key-role="tab" class="site-nav__link site-nav__child-link"><img class="site-nav__child-link-image" loading="lazy" src="//www.happiestbaby.com/cdn/shop/t/1010/assets/snoo-br-smart-sleeper.png?v=184109444290921220971732206461" width="100" height="92" alt="Snoo smart sleeper" aria-hidden="false"/><span class="site-nav__label" aria-label="Snoo smart sleeper"><span role="alert" aria-label="Snoo">SNOO</span> <br aria-hidden="true"> Smart Sleeper</span><img class="icon--rent-snoo" loading="lazy" src="//www.happiestbaby.com/cdn/shop/t/1010/assets/icon-nav-rent.png?v=108640789372606953461732206377" width="30" height="30" alt="Rent" /></a> </li><li role="menuitem" class="site-nav__dropdown__item site-nav__dropdown__item--snoo-accessories"> <a href="/collections/snoo-accessories" data-key-role="tab" class="site-nav__link site-nav__child-link"><img class="site-nav__child-link-image" loading="lazy" src="//www.happiestbaby.com/cdn/shop/t/1010/assets/snoo-accessories.png?v=171940649290628256021732206460" width="100" height="92" alt="Snoo accessories" aria-hidden="false"/><span class="site-nav__label" aria-label="Snoo accessories"><span role="alert" aria-label="Snoo">SNOO</span> Accessories</span></a> </li><li role="menuitem" class="site-nav__dropdown__item site-nav__dropdown__item--sleepea-br-swaddles"> <a href="/products/sleepea-swaddle" data-key-role="tab" class="site-nav__link site-nav__child-link"><img class="site-nav__child-link-image" loading="lazy" src="//www.happiestbaby.com/cdn/shop/t/1010/assets/sleepea-br-swaddles.png?v=32255019702149224891732206458" width="100" height="92" alt="Sleepea swaddles" aria-hidden="false"/><span class="site-nav__label" aria-label="Sleepea swaddles">Sleepea <br /> Swaddles</span></a> </li><li role="menuitem" class="site-nav__dropdown__item site-nav__dropdown__item--white-noise"> <a href="/collections/white-noise" data-key-role="tab" class="site-nav__link site-nav__child-link"><img class="site-nav__child-link-image" loading="lazy" src="//www.happiestbaby.com/cdn/shop/t/1010/assets/white-noise.png?v=67095725855997169671732206487" width="100" height="92" alt="Snoobie&trade; smart soother" aria-hidden="false"/><span class="site-nav__label">White Noise</span> <span class="screen-reader-only">Collection</span></a> </li><li role="menuitem" class="site-nav__dropdown__item site-nav__dropdown__item--baby"> <a href="/collections/baby" data-key-role="tab" class="site-nav__link site-nav__child-link"><img class="site-nav__child-link-image" loading="lazy" src="//www.happiestbaby.com/cdn/shop/t/1010/assets/baby.png?v=18502862720514066201732206175" width="100" height="92" alt="Long-sleeve baby bodysuit" aria-hidden="false"/><span class="site-nav__label">Baby</span> <span class="screen-reader-only">Collection</span></a> </li><li role="menuitem" class="site-nav__dropdown__item site-nav__dropdown__item--toddler"> <a href="/collections/toddler" data-key-role="tab" class="site-nav__link site-nav__child-link"><img class="site-nav__child-link-image" loading="lazy" src="//www.happiestbaby.com/cdn/shop/t/1010/assets/toddler.png?v=167367782178479240021732206478" width="100" height="92" alt="Snoobear&reg; 3-in-1 white noise lovey" aria-hidden="false"/><span class="site-nav__label">Toddler</span> <span class="screen-reader-only">Collection</span></a> </li><li role="menuitem" class="site-nav__dropdown__item site-nav__dropdown__item--bundle-save"> <a href="/collections/bundle-and-save-sets" data-key-role="tab" class="site-nav__link site-nav__child-link site-nav__link--last"><img class="site-nav__child-link-image" loading="lazy" src="//www.happiestbaby.com/cdn/shop/t/1010/assets/bundle-save.png?v=170243991216105748991732206193" width="100" height="92" alt="Bundle & save" aria-hidden="false"/><span class="site-nav__label" aria-label="Bundle &amp; save">Bundle & Save</span></a> </li></ul> </li><li class="site-nav__item site-nav__item--registry "> <a href="/pages/registry" class="site-nav__link site-nav__link--registry site-nav__link--main" aria-current="false" tabindex="0" data-key-role="tab"> <span class="site-nav__label">Registry</span> </a> </li><li id="menu--blog" class="site-nav__item site-nav__item--blog site-nav--has-dropdown" data-has-dropdowns="true"> <a data-key-role="tab" href="/pages/blog" class="site-nav__link site-nav__link--blog site-nav__link--main"> <span class="site-nav__label">Blog</span> </a> <button data-key-role="tab" class="site-nav__link site-nav__link--blog site-nav__link--main site-nav__link--button" aria-haspopup="true" aria-label="Expandable Navigation for Blog" aria-controls="SiteNavLabel-blog"> <svg aria-hidden="true" focusable="false" role="img" class="icon icon-chevron-down" viewBox="0 0 9 9"> <path d="M8.542 2.558a.625.625 0 0 1 0 .884l-3.6 3.6a.626.626 0 0 1-.884 0l-3.6-3.6a.625.625 0 1 1 .884-.884L4.5 5.716l3.158-3.158a.625.625 0 0 1 .884 0z" fill="#fff" /> <title>Expandable Navigation</title> </svg> </button> <ul role="menu" aria-labelledby="menu--blog" class="site-nav__dropdown site-nav__dropdown--blog critical-hidden" id="SiteNavLabel-blog"><li role="menuitem" class="site-nav__dropdown__item site-nav__dropdown__item--pregnancy"> <a href="/blogs/pregnancy" data-key-role="tab" class="site-nav__link site-nav__child-link"><span class="site-nav__label" aria-label="Pregnancy">Pregnancy</span></a> </li><li role="menuitem" class="site-nav__dropdown__item site-nav__dropdown__item--baby"> <a href="/blogs/baby" data-key-role="tab" class="site-nav__link site-nav__child-link"><span class="site-nav__label">Baby</span> <span class="screen-reader-only">Collection</span></a> </li><li role="menuitem" class="site-nav__dropdown__item site-nav__dropdown__item--toddler"> <a href="/blogs/toddler" data-key-role="tab" class="site-nav__link site-nav__child-link"><span class="site-nav__label">Toddler</span> <span class="screen-reader-only">Collection</span></a> </li><li role="menuitem" class="site-nav__dropdown__item site-nav__dropdown__item--parents"> <a href="/blogs/parents" data-key-role="tab" class="site-nav__link site-nav__child-link"><span class="site-nav__label" aria-label="Parents">Parents</span></a> </li><li role="menuitem" class="site-nav__dropdown__item site-nav__dropdown__item--snoo"> <a href="/blogs/snoo" data-key-role="tab" class="site-nav__link site-nav__child-link"><span class="site-nav__label" aria-label="Snoo"><span role="alert" aria-label="Snoo">SNOO</span></span></a> </li><li role="menuitem" class="site-nav__dropdown__item site-nav__dropdown__item--nursery-design"> <a href="/blogs/nursery-design" data-key-role="tab" class="site-nav__link site-nav__child-link"><span class="site-nav__label" aria-label="Nursery design">Nursery Design</span></a> </li><li role="menuitem" class="site-nav__dropdown__item site-nav__dropdown__item--sleep"> <a href="/blogs/sleep" data-key-role="tab" class="site-nav__link site-nav__child-link site-nav__link--last"><span class="site-nav__label" aria-label="Sleep">Sleep</span></a> </li></ul> </li><li id="menu--reviews" class="site-nav__item site-nav__item--reviews site-nav--has-dropdown" data-has-dropdowns="true"> <a data-key-role="tab" href="#" class="site-nav__link site-nav__link--reviews site-nav__link--main"> <span class="site-nav__label">Reviews</span> </a> <button data-key-role="tab" class="site-nav__link site-nav__link--reviews site-nav__link--main site-nav__link--button" aria-haspopup="true" aria-label="Expandable Navigation for Reviews" aria-controls="SiteNavLabel-reviews"> <svg aria-hidden="true" focusable="false" role="img" class="icon icon-chevron-down" viewBox="0 0 9 9"> <path d="M8.542 2.558a.625.625 0 0 1 0 .884l-3.6 3.6a.626.626 0 0 1-.884 0l-3.6-3.6a.625.625 0 1 1 .884-.884L4.5 5.716l3.158-3.158a.625.625 0 0 1 .884 0z" fill="#fff" /> <title>Expandable Navigation</title> </svg> </button> <ul role="menu" aria-labelledby="menu--reviews" class="site-nav__dropdown site-nav__dropdown--reviews critical-hidden" id="SiteNavLabel-reviews"><li role="menuitem" class="site-nav__dropdown__item site-nav__dropdown__item--press"> <a href="/pages/recent-press-coverage" data-key-role="tab" class="site-nav__link site-nav__child-link"><span class="site-nav__label" aria-label="Press">Press</span></a> </li><li role="menuitem" class="site-nav__dropdown__item site-nav__dropdown__item--snoo-smart-sleeper"> <a href="/pages/snooreviews" data-key-role="tab" class="site-nav__link site-nav__child-link"><span class="site-nav__label" aria-label="Snoo smart sleeper"><span role="alert" aria-label="Snoo">SNOO</span> Smart Sleeper</span></a> </li><li role="menuitem" class="site-nav__dropdown__item site-nav__dropdown__item--sleepea-swaddle"> <a href="/pages/sleepea-reviews" data-key-role="tab" class="site-nav__link site-nav__child-link site-nav__link--last"><span class="site-nav__label" aria-label="Sleepea swaddle">Sleepea Swaddle</span></a> </li></ul> </li><li class="site-nav__item site-nav__item--employee-br-class-hide-mobile-benefits "> <a href="/pages/employee-benefits" class="site-nav__link site-nav__link--employee-br-class-hide-mobile-benefits site-nav__link--main" aria-current="false" tabindex="0" data-key-role="tab"> <span class="site-nav__label">Employee <br class="hide-mobile" />Benefits</span> </a> </li><li class="site-nav__item site-nav__item--hospital-br-class-hide-mobile-snoo "> <a href="https://health.happiestbaby.com/" class="site-nav__link site-nav__link--hospital-br-class-hide-mobile-snoo site-nav__link--main" aria-current="false" tabindex="0" data-key-role="tab"> <span class="site-nav__label">Hospital <br class="hide-mobile" />SNOO</span> </a> </li><li class="site-nav__item site-nav__item--faqs "> <a href="https://support.happiestbaby.com/hc/en-us" class="site-nav__link site-nav__link--faqs site-nav__link--main" aria-current="false" tabindex="0" data-key-role="tab"> <span class="site-nav__label">FAQs</span> </a> </li> <li class="site-nav__item site-nav__item--rental-login"> <a href="https://account.happiestbaby.com/" class="site-nav__link site-nav__link--main site-nav__link--main--rental-login" target="_blank" data-key-role="tab"> <span class="site-nav__label"> Account </span> </a> </li> <li class="site-nav__item site-nav__item--search"><!-- /snippets/search-bar.liquid --> <form action="/search" method="get" class="input-group search-bar" role="search"> <label for="search-bar" class="hidden">Search</label> <input id="search-bar" type="search" name="q" value="" placeholder="Search" class="input-group-field search-nav"> </form><div tabindex="0" role="button" data-key-role="tab" aria-label="Search"><i class="fa fa-search"></i></div></li> <li class="site-nav__item site-nav__bag-icon"> <button data-key-role="tab" class="site-nav__link site-nav__link--bag-icon" onclick="openAjaxCart();" aria-label="My Cart, 0 items"> <span class="cart-item-counter" data-cart-render="item_count" aria-hidden="true">0</span> </button> </li> </ul> <script> /* Click Handler This will hide the Dropdown Menu if toggling between keypress and clicking */ addEventListener('click', function(e){ const menuDropdown = document.querySelectorAll('.site-nav__dropdown'); const currentFocus = document.activeElement; var focusHasPopup = (currentFocus.ariaHasPopup === 'true') ? true : false; for(a=0; a<menuDropdown.length; a++) { if (!focusHasPopup) { menuDropdown[a].style.display = 'none'; } } }); /* Keypress Event Listener */ window.addEventListener('keyup', function(e){ var inFocus = document.activeElement; // Element In Focus (Active) const dropdownMenu = document.querySelectorAll('button[aria-haspopup="true"]'); // Dropdown Button /* Cycle Through each Dropdown Menu in the Site Nav */ // console.log('... e.target', e.target); // console.log('... e.key', e.key); for(i=0; i<dropdownMenu.length; i++) { // Target Dropdown Menu Button Pressed if (e.key === 'Enter' && e.target.ariaHasPopup === 'true' && inFocus === e.target) { // console.log('... kepyress: Enter && target is dropdown && target is activeElement'); /* Show Dropdown Menu and Shift Focus to First Item in Dropdown Menu */ e.target.nextElementSibling.style.display = 'flex'; // console.log('... e.target.nextElementSibling', e.target.nextElementSibling); e.target.dataset.menuExpanded = 'true'; e.target.nextElementSibling.querySelector('[data-key-role="tab"]').focus(); } else if (e.target.parentElement.ariaHasPopup === 'true') { e.target.dataset.menuExpanded = 'true'; } else { e.target.dataset.menuExpanded = 'false'; } // console.log('... e.target.dataset.menuExpanded', e.target.dataset.menuExpanded); /* Hide Dropdown If it isn't in focus (inactive) */ if ( document.activeElement != document.querySelector('body')) { // When activeElement is NOT focused on Header Site Nav var activeDropdownContainer = document.activeElement.parentElement.parentElement.role; } else { // Prevent from activeDropdownContainer from being undefined. var activeDropdownContainer = false; } if (e.key === 'Escape') { $('ul[role=menu]').css('display',''); // Clearout Style:Display property } else if ((!activeDropdownContainer) && e.target.dataset.menuExpanded == 'false') { /* jQuery vs. forloop and running through each element */ $('ul[role=menu]').css('display',''); // Clearout Style:Display property } } }); /* Click Event Listener */ window.addEventListener('click', function(e){ var inFocus = document.activeElement; // Element In Focus (Active) /* If element in focus (active) isn't the Dropdown, then Hide dropdown */ if (!inFocus.hasAttribute('data-key-role')) { /* jQuery vs. forloop and running through each element */ $('ul[role=menu]').css('display',''); // Clearout Style:Display property } }); </script> </nav> </div> <!-- end site-header--> </header> <main id="MainContent" tabindex="-1"> <header class="page-header-wrapper"> <div class="page-header"> <h1 class="page-heading">Black Friday Sale</h1> </div> </header> <div class="collection-container"> <div class="collection-product-grid"> <style> h2.product-item-title { margin-top: 14px; } @media only screen and (min-width: 500px) { .collection-product-grid .product-item-image img { min-height: 230px; } } .sale-badge { color: #FFFFFF; background-color: var(--color-coral); position: absolute; margin-left: -40px; font-weight: 500; padding: 2px 10px; border-radius: 10px; font-size: 12px; } a:hover .sale-badge { color: #ffffff; } </style> <div class="product-grid-item"> <a class="product-item-image" href="/products/snoo-smart-bassinet"> <picture> <source media="(max-width: 320px)" srcset="//www.happiestbaby.com/cdn/shop/files/SNOO_Productshot.jpg?format=pjpg&v=1698443556&width=450"> <source media="(max-width: 450px)" srcset="//www.happiestbaby.com/cdn/shop/files/SNOO_Productshot.jpg?format=pjpg&v=1698443556&width=540"> <source media="(max-width: 640px)" srcset="//www.happiestbaby.com/cdn/shop/files/SNOO_Productshot.jpg?format=pjpg&v=1698443556&width=768"> <source media="(max-width: 768px)" srcset="//www.happiestbaby.com/cdn/shop/files/SNOO_Productshot.jpg?format=pjpg&v=1698443556&width=960"> <source media="(min-width: 960px)" srcset="//www.happiestbaby.com/cdn/shop/files/SNOO_Productshot.jpg?format=pjpg&v=1698443556&width=1200"> <img src="//www.happiestbaby.com/cdn/shop/files/SNOO_Productshot.jpg?format=pjpg&v=1698443556&width=320" width="230" height="230" alt="SNOO Smart Sleeper Bassinet" fetchpriority="high" /> </picture> <span class="sale-badge">Sale</span> <h2 class="product-item-title">SNOO Smart Sleeper Bassinet </h2> </a> <!-- Start of Judge.me code --> <div style='' class='jdgm-widget jdgm-preview-badge' data-id='8704190732' data-auto-install='false'><div style='display:none' class='jdgm-prev-badge' data-average-rating='4.04' data-number-of-reviews='3433' data-number-of-questions='0'> <span class='jdgm-prev-badge__stars' data-score='4.04' tabindex='0' aria-label='4.04 stars' role='button'> <span class='jdgm-star jdgm--on'></span><span class='jdgm-star jdgm--on'></span><span class='jdgm-star jdgm--on'></span><span class='jdgm-star jdgm--on'></span><span class='jdgm-star jdgm--off'></span> </span> <span class='jdgm-prev-badge__text'> 3433 reviews </span> </div></div> <!-- End of Judge.me code --> <script> var judgemeAverageRatingNumber = document.querySelector('.jdgm-prev-badge').dataset.averageRating; judgemeAverageRatingNumber = Number(judgemeAverageRatingNumber); judgemeAverageRatingNumber = (Math.round(judgemeAverageRatingNumber*10)/10).toFixed(1); document.querySelector('.jdgm-prev-badge').dataset.averageRating = judgemeAverageRatingNumber; </script> <a class="product-item-price" href="/products/snoo-smart-bassinet"> <span role="alert" aria-label="Original price was $1,695.00 and the discounted price is $1,186.50"> <s class="card--product__compare-at-price" aria-hidden="true">$1,695.00 </s> <span aria-hidden="true">$1,186.50 </span> </span> </a> <a href="/products/snoo-smart-bassinet" class="button button-small button-transparent-blue" aria-label="Select set for SNOO Smart Sleeper Bassinet">Select Options</a> </div> <style> h2.product-item-title { margin-top: 14px; } @media only screen and (min-width: 500px) { .collection-product-grid .product-item-image img { min-height: 230px; } } .sale-badge { color: #FFFFFF; background-color: var(--color-coral); position: absolute; margin-left: -40px; font-weight: 500; padding: 2px 10px; border-radius: 10px; font-size: 12px; } a:hover .sale-badge { color: #ffffff; } </style> <div class="product-grid-item"> <a class="product-item-image" href="/products/sleepea-swaddle"> <picture> <source media="(max-width: 320px)" srcset="//www.happiestbaby.com/cdn/shop/products/SleepeaTieDyerainbow.jpg?format=pjpg&v=1690275391&width=450"> <source media="(max-width: 450px)" srcset="//www.happiestbaby.com/cdn/shop/products/SleepeaTieDyerainbow.jpg?format=pjpg&v=1690275391&width=540"> <source media="(max-width: 640px)" srcset="//www.happiestbaby.com/cdn/shop/products/SleepeaTieDyerainbow.jpg?format=pjpg&v=1690275391&width=768"> <source media="(max-width: 768px)" srcset="//www.happiestbaby.com/cdn/shop/products/SleepeaTieDyerainbow.jpg?format=pjpg&v=1690275391&width=960"> <source media="(min-width: 960px)" srcset="//www.happiestbaby.com/cdn/shop/products/SleepeaTieDyerainbow.jpg?format=pjpg&v=1690275391&width=1200"> <img src="//www.happiestbaby.com/cdn/shop/products/SleepeaTieDyerainbow.jpg?format=pjpg&v=1690275391&width=320" width="230" height="230" alt="Sleepea® 5-Second Baby Swaddle" fetchpriority="high" /> </picture> <span class="sale-badge">Sale</span> <h2 class="product-item-title">Sleepea® 5-Second Baby Swaddle <br/> (More colors) </h2> <p style="color: var(--color-coral); margin: 0 0 1em; font-size: .8rem;">Not for use inside SNOO</p> </a> <!-- Start of Judge.me code --> <div style='' class='jdgm-widget jdgm-preview-badge' data-id='193015513113' data-auto-install='false'><div style='display:none' class='jdgm-prev-badge' data-average-rating='4.23' data-number-of-reviews='1260' data-number-of-questions='0'> <span class='jdgm-prev-badge__stars' data-score='4.23' tabindex='0' aria-label='4.23 stars' role='button'> <span class='jdgm-star jdgm--on'></span><span class='jdgm-star jdgm--on'></span><span class='jdgm-star jdgm--on'></span><span class='jdgm-star jdgm--on'></span><span class='jdgm-star jdgm--off'></span> </span> <span class='jdgm-prev-badge__text'> 1260 reviews </span> </div></div> <!-- End of Judge.me code --> <script> var judgemeAverageRatingNumber = document.querySelector('.jdgm-prev-badge').dataset.averageRating; judgemeAverageRatingNumber = Number(judgemeAverageRatingNumber); judgemeAverageRatingNumber = (Math.round(judgemeAverageRatingNumber*10)/10).toFixed(1); document.querySelector('.jdgm-prev-badge').dataset.averageRating = judgemeAverageRatingNumber; </script> <a class="product-item-price" href="/products/sleepea-swaddle"> <span role="alert" aria-label="Original price was $29.95 and the discounted price is $20.96"> <s class="card--product__compare-at-price" aria-hidden="true">$29.95 </s> <span aria-hidden="true">$20.96 </span> </span> </a> <a href="/products/sleepea-swaddle" class="button button-small button-transparent-blue" aria-label="Select option for Sleepea® 5-Second Baby Swaddle"> Select Options </a> </div> <style> h2.product-item-title { margin-top: 14px; } @media only screen and (min-width: 500px) { .collection-product-grid .product-item-image img { min-height: 230px; } } .sale-badge { color: #FFFFFF; background-color: var(--color-coral); position: absolute; margin-left: -40px; font-weight: 500; padding: 2px 10px; border-radius: 10px; font-size: 12px; } a:hover .sale-badge { color: #ffffff; } </style> <div class="product-grid-item"> <a class="product-item-image" href="/products/sleepea-comforter-swaddle"> <picture> <source media="(max-width: 320px)" srcset="//www.happiestbaby.com/cdn/shop/files/ComforterSwaddle_GR.jpg?format=pjpg&v=1698443391&width=450"> <source media="(max-width: 450px)" srcset="//www.happiestbaby.com/cdn/shop/files/ComforterSwaddle_GR.jpg?format=pjpg&v=1698443391&width=540"> <source media="(max-width: 640px)" srcset="//www.happiestbaby.com/cdn/shop/files/ComforterSwaddle_GR.jpg?format=pjpg&v=1698443391&width=768"> <source media="(max-width: 768px)" srcset="//www.happiestbaby.com/cdn/shop/files/ComforterSwaddle_GR.jpg?format=pjpg&v=1698443391&width=960"> <source media="(min-width: 960px)" srcset="//www.happiestbaby.com/cdn/shop/files/ComforterSwaddle_GR.jpg?format=pjpg&v=1698443391&width=1200"> <img src="//www.happiestbaby.com/cdn/shop/files/ComforterSwaddle_GR.jpg?format=pjpg&v=1698443391&width=320" width="230" height="230" alt="Sleepea® Comforter Swaddle" fetchpriority="high" /> </picture> <span class="sale-badge">Sale</span> <h2 class="product-item-title">Sleepea® Comforter Swaddle <br/> (More colors) </h2> <p style="color: var(--color-coral); margin: 0 0 1em; font-size: .8rem;">Not for use inside SNOO</p> </a> <!-- Start of Judge.me code --> <div style='' class='jdgm-widget jdgm-preview-badge' data-id='7535315681470' data-auto-install='false'><div style='display:none' class='jdgm-prev-badge' data-average-rating='4.33' data-number-of-reviews='21' data-number-of-questions='0'> <span class='jdgm-prev-badge__stars' data-score='4.33' tabindex='0' aria-label='4.33 stars' role='button'> <span class='jdgm-star jdgm--on'></span><span class='jdgm-star jdgm--on'></span><span class='jdgm-star jdgm--on'></span><span class='jdgm-star jdgm--on'></span><span class='jdgm-star jdgm--half'></span> </span> <span class='jdgm-prev-badge__text'> 21 reviews </span> </div></div> <!-- End of Judge.me code --> <script> var judgemeAverageRatingNumber = document.querySelector('.jdgm-prev-badge').dataset.averageRating; judgemeAverageRatingNumber = Number(judgemeAverageRatingNumber); judgemeAverageRatingNumber = (Math.round(judgemeAverageRatingNumber*10)/10).toFixed(1); document.querySelector('.jdgm-prev-badge').dataset.averageRating = judgemeAverageRatingNumber; </script> <a class="product-item-price" href="/products/sleepea-comforter-swaddle"> <span role="alert" aria-label="Original price was $42.95 and the discounted price is $34.36"> <s class="card--product__compare-at-price" aria-hidden="true">$42.95 </s> <span aria-hidden="true">$34.36 </span> </span> </a> <a href="/products/sleepea-comforter-swaddle" class="button button-small button-transparent-blue" aria-label="Select option for Sleepea® Comforter Swaddle"> Select Options </a> </div> <style> h2.product-item-title { margin-top: 14px; } @media only screen and (min-width: 500px) { .collection-product-grid .product-item-image img { min-height: 230px; } } .sale-badge { color: #FFFFFF; background-color: var(--color-coral); position: absolute; margin-left: -40px; font-weight: 500; padding: 2px 10px; border-radius: 10px; font-size: 12px; } a:hover .sale-badge { color: #ffffff; } </style> <div class="product-grid-item"> <a class="product-item-image" href="/products/snoo-sack"> <picture> <source media="(max-width: 320px)" srcset="//www.happiestbaby.com/cdn/shop/products/SNOOsack_TieDye_Rainbow.jpg?format=pjpg&v=1690275287&width=450"> <source media="(max-width: 450px)" srcset="//www.happiestbaby.com/cdn/shop/products/SNOOsack_TieDye_Rainbow.jpg?format=pjpg&v=1690275287&width=540"> <source media="(max-width: 640px)" srcset="//www.happiestbaby.com/cdn/shop/products/SNOOsack_TieDye_Rainbow.jpg?format=pjpg&v=1690275287&width=768"> <source media="(max-width: 768px)" srcset="//www.happiestbaby.com/cdn/shop/products/SNOOsack_TieDye_Rainbow.jpg?format=pjpg&v=1690275287&width=960"> <source media="(min-width: 960px)" srcset="//www.happiestbaby.com/cdn/shop/products/SNOOsack_TieDye_Rainbow.jpg?format=pjpg&v=1690275287&width=1200"> <img src="//www.happiestbaby.com/cdn/shop/products/SNOOsack_TieDye_Rainbow.jpg?format=pjpg&v=1690275287&width=320" width="230" height="230" alt="100% Organic SNOO Sleep Sack" fetchpriority="high" /> </picture> <span class="sale-badge">Sale</span> <h2 class="product-item-title">100% Organic SNOO Sleep Sack <br/> (More colors) </h2> </a> <!-- Start of Judge.me code --> <div style='' class='jdgm-widget jdgm-preview-badge' data-id='748561662069' data-auto-install='false'><div style='display:none' class='jdgm-prev-badge' data-average-rating='4.09' data-number-of-reviews='413' data-number-of-questions='0'> <span class='jdgm-prev-badge__stars' data-score='4.09' tabindex='0' aria-label='4.09 stars' role='button'> <span class='jdgm-star jdgm--on'></span><span class='jdgm-star jdgm--on'></span><span class='jdgm-star jdgm--on'></span><span class='jdgm-star jdgm--on'></span><span class='jdgm-star jdgm--off'></span> </span> <span class='jdgm-prev-badge__text'> 413 reviews </span> </div></div> <!-- End of Judge.me code --> <script> var judgemeAverageRatingNumber = document.querySelector('.jdgm-prev-badge').dataset.averageRating; judgemeAverageRatingNumber = Number(judgemeAverageRatingNumber); judgemeAverageRatingNumber = (Math.round(judgemeAverageRatingNumber*10)/10).toFixed(1); document.querySelector('.jdgm-prev-badge').dataset.averageRating = judgemeAverageRatingNumber; </script> <a class="product-item-price" href="/products/snoo-sack"> <span role="alert" aria-label="Original price was $34.95 and the discounted price is $24.46"> <s class="card--product__compare-at-price" aria-hidden="true">$34.95 </s> <span aria-hidden="true">$24.46 </span> </span> </a> <a href="/products/snoo-sack" class="button button-small button-transparent-blue" aria-label="Select option for 100% Organic SNOO Sleep Sack"> Select Options </a> </div> <style> h2.product-item-title { margin-top: 14px; } @media only screen and (min-width: 500px) { .collection-product-grid .product-item-image img { min-height: 230px; } } .sale-badge { color: #FFFFFF; background-color: var(--color-coral); position: absolute; margin-left: -40px; font-weight: 500; padding: 2px 10px; border-radius: 10px; font-size: 12px; } a:hover .sale-badge { color: #ffffff; } </style> <div class="product-grid-item"> <a class="product-item-image" href="/products/snoo-comforter-sack"> <picture> <source media="(max-width: 320px)" srcset="//www.happiestbaby.com/cdn/shop/files/ComforterSack_GR.jpg?format=pjpg&v=1698443279&width=450"> <source media="(max-width: 450px)" srcset="//www.happiestbaby.com/cdn/shop/files/ComforterSack_GR.jpg?format=pjpg&v=1698443279&width=540"> <source media="(max-width: 640px)" srcset="//www.happiestbaby.com/cdn/shop/files/ComforterSack_GR.jpg?format=pjpg&v=1698443279&width=768"> <source media="(max-width: 768px)" srcset="//www.happiestbaby.com/cdn/shop/files/ComforterSack_GR.jpg?format=pjpg&v=1698443279&width=960"> <source media="(min-width: 960px)" srcset="//www.happiestbaby.com/cdn/shop/files/ComforterSack_GR.jpg?format=pjpg&v=1698443279&width=1200"> <img src="//www.happiestbaby.com/cdn/shop/files/ComforterSack_GR.jpg?format=pjpg&v=1698443279&width=320" width="230" height="230" alt="100% Organic SNOO Sleep Comforter Sack" fetchpriority="high" /> </picture> <span class="sale-badge">Sale</span> <h2 class="product-item-title">100% Organic SNOO Sleep Comforter Sack <br/> (More colors) </h2> </a> <!-- Start of Judge.me code --> <div style='' class='jdgm-widget jdgm-preview-badge' data-id='7535265775806' data-auto-install='false'><div style='display:none' class='jdgm-prev-badge' data-average-rating='4.65' data-number-of-reviews='26' data-number-of-questions='0'> <span class='jdgm-prev-badge__stars' data-score='4.65' tabindex='0' aria-label='4.65 stars' role='button'> <span class='jdgm-star jdgm--on'></span><span class='jdgm-star jdgm--on'></span><span class='jdgm-star jdgm--on'></span><span class='jdgm-star jdgm--on'></span><span class='jdgm-star jdgm--half'></span> </span> <span class='jdgm-prev-badge__text'> 26 reviews </span> </div></div> <!-- End of Judge.me code --> <script> var judgemeAverageRatingNumber = document.querySelector('.jdgm-prev-badge').dataset.averageRating; judgemeAverageRatingNumber = Number(judgemeAverageRatingNumber); judgemeAverageRatingNumber = (Math.round(judgemeAverageRatingNumber*10)/10).toFixed(1); document.querySelector('.jdgm-prev-badge').dataset.averageRating = judgemeAverageRatingNumber; </script> <a class="product-item-price" href="/products/snoo-comforter-sack"> <span role="alert" aria-label="Original price was $44.95 and the discounted price is $35.96"> <s class="card--product__compare-at-price" aria-hidden="true">$44.95 </s> <span aria-hidden="true">$35.96 </span> </span> </a> <a href="/products/snoo-comforter-sack" class="button button-small button-transparent-blue" aria-label="Select option for 100% Organic SNOO Sleep Comforter Sack"> Select Options </a> </div> <style> h2.product-item-title { margin-top: 14px; } @media only screen and (min-width: 500px) { .collection-product-grid .product-item-image img { min-height: 230px; } } .sale-badge { color: #FFFFFF; background-color: var(--color-coral); position: absolute; margin-left: -40px; font-weight: 500; padding: 2px 10px; border-radius: 10px; font-size: 12px; } a:hover .sale-badge { color: #ffffff; } </style> <div class="product-grid-item"> <a class="product-item-image" href="/products/fitted-sheet-for-snoo"> <picture> <source media="(max-width: 320px)" srcset="//www.happiestbaby.com/cdn/shop/products/Rainbow_TieDye_SnooSheet_Box.jpg?format=pjpg&v=1690275304&width=450"> <source media="(max-width: 450px)" srcset="//www.happiestbaby.com/cdn/shop/products/Rainbow_TieDye_SnooSheet_Box.jpg?format=pjpg&v=1690275304&width=540"> <source media="(max-width: 640px)" srcset="//www.happiestbaby.com/cdn/shop/products/Rainbow_TieDye_SnooSheet_Box.jpg?format=pjpg&v=1690275304&width=768"> <source media="(max-width: 768px)" srcset="//www.happiestbaby.com/cdn/shop/products/Rainbow_TieDye_SnooSheet_Box.jpg?format=pjpg&v=1690275304&width=960"> <source media="(min-width: 960px)" srcset="//www.happiestbaby.com/cdn/shop/products/Rainbow_TieDye_SnooSheet_Box.jpg?format=pjpg&v=1690275304&width=1200"> <img src="//www.happiestbaby.com/cdn/shop/products/Rainbow_TieDye_SnooSheet_Box.jpg?format=pjpg&v=1690275304&width=320" width="230" height="230" alt="100% Organic Cotton SNOO Baby Bassinet Fitted Sheet" fetchpriority="high" /> </picture> <span class="sale-badge">Sale</span> <h2 class="product-item-title">100% Organic Cotton SNOO Baby Bassinet Fitted Sheet <br/> (More colors) </h2> </a> <!-- Start of Judge.me code --> <div style='' class='jdgm-widget jdgm-preview-badge' data-id='8704388300' data-auto-install='false'><div style='display:none' class='jdgm-prev-badge' data-average-rating='4.20' data-number-of-reviews='82' data-number-of-questions='0'> <span class='jdgm-prev-badge__stars' data-score='4.20' tabindex='0' aria-label='4.20 stars' role='button'> <span class='jdgm-star jdgm--on'></span><span class='jdgm-star jdgm--on'></span><span class='jdgm-star jdgm--on'></span><span class='jdgm-star jdgm--on'></span><span class='jdgm-star jdgm--off'></span> </span> <span class='jdgm-prev-badge__text'> 82 reviews </span> </div></div> <!-- End of Judge.me code --> <script> var judgemeAverageRatingNumber = document.querySelector('.jdgm-prev-badge').dataset.averageRating; judgemeAverageRatingNumber = Number(judgemeAverageRatingNumber); judgemeAverageRatingNumber = (Math.round(judgemeAverageRatingNumber*10)/10).toFixed(1); document.querySelector('.jdgm-prev-badge').dataset.averageRating = judgemeAverageRatingNumber; </script> <a class="product-item-price" href="/products/fitted-sheet-for-snoo"> <span role="alert" aria-label="Original price was $19.95 and the discounted price is $13.96"> <s class="card--product__compare-at-price" aria-hidden="true">$19.95 </s> <span aria-hidden="true">$13.96 </span> </span> </a> <a href="/products/fitted-sheet-for-snoo" class="button button-small button-transparent-blue" aria-label="Select option for 100% Organic Cotton SNOO Baby Bassinet Fitted Sheet"> Select Options </a> </div> <style> h2.product-item-title { margin-top: 14px; } @media only screen and (min-width: 500px) { .collection-product-grid .product-item-image img { min-height: 230px; } } .sale-badge { color: #FFFFFF; background-color: var(--color-coral); position: absolute; margin-left: -40px; font-weight: 500; padding: 2px 10px; border-radius: 10px; font-size: 12px; } a:hover .sale-badge { color: #ffffff; } </style> <div class="product-grid-item"> <a class="product-item-image" href="/products/snoobie-white-noise-machine"> <picture> <source media="(max-width: 320px)" srcset="//www.happiestbaby.com/cdn/shop/files/new-snoobie-pdp-photo.jpg?format=pjpg&v=1717116184&width=450"> <source media="(max-width: 450px)" srcset="//www.happiestbaby.com/cdn/shop/files/new-snoobie-pdp-photo.jpg?format=pjpg&v=1717116184&width=540"> <source media="(max-width: 640px)" srcset="//www.happiestbaby.com/cdn/shop/files/new-snoobie-pdp-photo.jpg?format=pjpg&v=1717116184&width=768"> <source media="(max-width: 768px)" srcset="//www.happiestbaby.com/cdn/shop/files/new-snoobie-pdp-photo.jpg?format=pjpg&v=1717116184&width=960"> <source media="(min-width: 960px)" srcset="//www.happiestbaby.com/cdn/shop/files/new-snoobie-pdp-photo.jpg?format=pjpg&v=1717116184&width=1200"> <img src="//www.happiestbaby.com/cdn/shop/files/new-snoobie-pdp-photo.jpg?format=pjpg&v=1717116184&width=320" width="230" height="230" alt="SNOObie™ Smart Soother" fetchpriority="high" /> </picture> <span class="sale-badge">Sale</span> <h2 class="product-item-title">SNOObie™ Smart Soother <br/> (More colors) </h2> </a> <!-- Start of Judge.me code --> <div style='' class='jdgm-widget jdgm-preview-badge' data-id='7464937062590' data-auto-install='false'><div style='display:none' class='jdgm-prev-badge' data-average-rating='3.75' data-number-of-reviews='51' data-number-of-questions='0'> <span class='jdgm-prev-badge__stars' data-score='3.75' tabindex='0' aria-label='3.75 stars' role='button'> <span class='jdgm-star jdgm--on'></span><span class='jdgm-star jdgm--on'></span><span class='jdgm-star jdgm--on'></span><span class='jdgm-star jdgm--on'></span><span class='jdgm-star jdgm--off'></span> </span> <span class='jdgm-prev-badge__text'> 51 reviews </span> </div></div> <!-- End of Judge.me code --> <script> var judgemeAverageRatingNumber = document.querySelector('.jdgm-prev-badge').dataset.averageRating; judgemeAverageRatingNumber = Number(judgemeAverageRatingNumber); judgemeAverageRatingNumber = (Math.round(judgemeAverageRatingNumber*10)/10).toFixed(1); document.querySelector('.jdgm-prev-badge').dataset.averageRating = judgemeAverageRatingNumber; </script> <a class="product-item-price" href="/products/snoobie-white-noise-machine"> <span role="alert" aria-label="Original price was $69.95 and the discounted price is $48.96"> <s class="card--product__compare-at-price" aria-hidden="true">$69.95 </s> <span aria-hidden="true">$48.96 </span> </span> </a> <a href="/products/snoobie-white-noise-machine" class="button button-small button-transparent-blue" aria-label="Select option for SNOObie™ Smart Soother"> Select Options </a> </div> <style> h2.product-item-title { margin-top: 14px; } @media only screen and (min-width: 500px) { .collection-product-grid .product-item-image img { min-height: 230px; } } .sale-badge { color: #FFFFFF; background-color: var(--color-coral); position: absolute; margin-left: -40px; font-weight: 500; padding: 2px 10px; border-radius: 10px; font-size: 12px; } a:hover .sale-badge { color: #ffffff; } </style> <div class="product-grid-item"> <a class="product-item-image" href="/products/snoo-bear"> <picture> <source media="(max-width: 320px)" srcset="//www.happiestbaby.com/cdn/shop/products/SNOObearPDP3.jpg?format=pjpg&v=1704702321&width=450"> <source media="(max-width: 450px)" srcset="//www.happiestbaby.com/cdn/shop/products/SNOObearPDP3.jpg?format=pjpg&v=1704702321&width=540"> <source media="(max-width: 640px)" srcset="//www.happiestbaby.com/cdn/shop/products/SNOObearPDP3.jpg?format=pjpg&v=1704702321&width=768"> <source media="(max-width: 768px)" srcset="//www.happiestbaby.com/cdn/shop/products/SNOObearPDP3.jpg?format=pjpg&v=1704702321&width=960"> <source media="(min-width: 960px)" srcset="//www.happiestbaby.com/cdn/shop/products/SNOObearPDP3.jpg?format=pjpg&v=1704702321&width=1200"> <img src="//www.happiestbaby.com/cdn/shop/products/SNOObearPDP3.jpg?format=pjpg&v=1704702321&width=320" width="230" height="230" alt="SNOObear® 3-in-1 White Noise Lovey" loading="lazy" /> </picture> <span class="sale-badge">Sale</span> <h2 class="product-item-title">SNOObear® 3-in-1 White Noise Lovey <br/> (More colors) </h2> </a> <!-- Start of Judge.me code --> <div style='' class='jdgm-widget jdgm-preview-badge' data-id='4612820664366' data-auto-install='false'><div style='display:none' class='jdgm-prev-badge' data-average-rating='3.63' data-number-of-reviews='102' data-number-of-questions='0'> <span class='jdgm-prev-badge__stars' data-score='3.63' tabindex='0' aria-label='3.63 stars' role='button'> <span class='jdgm-star jdgm--on'></span><span class='jdgm-star jdgm--on'></span><span class='jdgm-star jdgm--on'></span><span class='jdgm-star jdgm--half'></span><span class='jdgm-star jdgm--off'></span> </span> <span class='jdgm-prev-badge__text'> 102 reviews </span> </div></div> <!-- End of Judge.me code --> <script> var judgemeAverageRatingNumber = document.querySelector('.jdgm-prev-badge').dataset.averageRating; judgemeAverageRatingNumber = Number(judgemeAverageRatingNumber); judgemeAverageRatingNumber = (Math.round(judgemeAverageRatingNumber*10)/10).toFixed(1); document.querySelector('.jdgm-prev-badge').dataset.averageRating = judgemeAverageRatingNumber; </script> <a class="product-item-price" href="/products/snoo-bear"> <span role="alert" aria-label="Original price was $59.95 and the discounted price is $35.97"> <s class="card--product__compare-at-price" aria-hidden="true">$59.95 </s> <span aria-hidden="true">$35.97 </span> </span> </a> <a href="/products/snoo-bear" class="button button-small button-transparent-blue" aria-label="Select option for SNOObear® 3-in-1 White Noise Lovey"> Select Options </a> </div> <style> h2.product-item-title { margin-top: 14px; } @media only screen and (min-width: 500px) { .collection-product-grid .product-item-image img { min-height: 230px; } } .sale-badge { color: #FFFFFF; background-color: var(--color-coral); position: absolute; margin-left: -40px; font-weight: 500; padding: 2px 10px; border-radius: 10px; font-size: 12px; } a:hover .sale-badge { color: #ffffff; } </style> <div class="product-grid-item"> <a class="product-item-image" href="/products/leg-lifters"> <picture> <source media="(max-width: 320px)" srcset="//www.happiestbaby.com/cdn/shop/products/Leg_Lifters_2048.png?format=pjpg&v=1559938599&width=450"> <source media="(max-width: 450px)" srcset="//www.happiestbaby.com/cdn/shop/products/Leg_Lifters_2048.png?format=pjpg&v=1559938599&width=540"> <source media="(max-width: 640px)" srcset="//www.happiestbaby.com/cdn/shop/products/Leg_Lifters_2048.png?format=pjpg&v=1559938599&width=768"> <source media="(max-width: 768px)" srcset="//www.happiestbaby.com/cdn/shop/products/Leg_Lifters_2048.png?format=pjpg&v=1559938599&width=960"> <source media="(min-width: 960px)" srcset="//www.happiestbaby.com/cdn/shop/products/Leg_Lifters_2048.png?format=pjpg&v=1559938599&width=1200"> <img src="//www.happiestbaby.com/cdn/shop/products/Leg_Lifters_2048.png?format=pjpg&v=1559938599&width=320" width="230" height="230" alt="SNOO Leg Lifters" loading="lazy" /> </picture> <span class="sale-badge">Sale</span> <h2 class="product-item-title">SNOO Leg Lifters </h2> </a> <!-- Start of Judge.me code --> <div style='' class='jdgm-widget jdgm-preview-badge' data-id='103640465433' data-auto-install='false'><div style='display:none' class='jdgm-prev-badge' data-average-rating='3.86' data-number-of-reviews='279' data-number-of-questions='0'> <span class='jdgm-prev-badge__stars' data-score='3.86' tabindex='0' aria-label='3.86 stars' role='button'> <span class='jdgm-star jdgm--on'></span><span class='jdgm-star jdgm--on'></span><span class='jdgm-star jdgm--on'></span><span class='jdgm-star jdgm--on'></span><span class='jdgm-star jdgm--off'></span> </span> <span class='jdgm-prev-badge__text'> 279 reviews </span> </div></div> <!-- End of Judge.me code --> <script> var judgemeAverageRatingNumber = document.querySelector('.jdgm-prev-badge').dataset.averageRating; judgemeAverageRatingNumber = Number(judgemeAverageRatingNumber); judgemeAverageRatingNumber = (Math.round(judgemeAverageRatingNumber*10)/10).toFixed(1); document.querySelector('.jdgm-prev-badge').dataset.averageRating = judgemeAverageRatingNumber; </script> <a class="product-item-price" href="/products/leg-lifters"> <span role="alert" aria-label="Original price was $24.95 and the discounted price is $14.97"> <s class="card--product__compare-at-price" aria-hidden="true">$24.95 </s> <span aria-hidden="true">$14.97 </span> </span> </a> <button class="button button-small button-transparent-blue add-to-cart" aria-label="Add to &lt;span aria-hidden=&quot;true&quot;&gt;&lt;/span&gt;Cart SNOO Leg Lifters" data-variant-id="954201767961" data-variant-qty="1" data-cart-add="954201767961" data-cart-quantity="1" data-item-category="Leg Lifters" data-item-price="1497" data-item-title="SNOO Leg Lifters"> Add to <span aria-hidden="true"></span>Cart </button> </div> <style> h2.product-item-title { margin-top: 14px; } @media only screen and (min-width: 500px) { .collection-product-grid .product-item-image img { min-height: 230px; } } .sale-badge { color: #FFFFFF; background-color: var(--color-coral); position: absolute; margin-left: -40px; font-weight: 500; padding: 2px 10px; border-radius: 10px; font-size: 12px; } a:hover .sale-badge { color: #ffffff; } </style> <div class="product-grid-item"> <a class="product-item-image" href="/products/low-legs"> <picture> <source media="(max-width: 320px)" srcset="//www.happiestbaby.com/cdn/shop/products/LowLegs.jpg?format=pjpg&v=1598918439&width=450"> <source media="(max-width: 450px)" srcset="//www.happiestbaby.com/cdn/shop/products/LowLegs.jpg?format=pjpg&v=1598918439&width=540"> <source media="(max-width: 640px)" srcset="//www.happiestbaby.com/cdn/shop/products/LowLegs.jpg?format=pjpg&v=1598918439&width=768"> <source media="(max-width: 768px)" srcset="//www.happiestbaby.com/cdn/shop/products/LowLegs.jpg?format=pjpg&v=1598918439&width=960"> <source media="(min-width: 960px)" srcset="//www.happiestbaby.com/cdn/shop/products/LowLegs.jpg?format=pjpg&v=1598918439&width=1200"> <img src="//www.happiestbaby.com/cdn/shop/products/LowLegs.jpg?format=pjpg&v=1598918439&width=320" width="230" height="230" alt="SNOO Low Legs" loading="lazy" /> </picture> <span class="sale-badge">Sale</span> <h2 class="product-item-title">SNOO Low Legs </h2> </a> <!-- Start of Judge.me code --> <div style='' class='jdgm-widget jdgm-preview-badge' data-id='9858107788' data-auto-install='false'><div style='display:none' class='jdgm-prev-badge' data-average-rating='4.76' data-number-of-reviews='34' data-number-of-questions='0'> <span class='jdgm-prev-badge__stars' data-score='4.76' tabindex='0' aria-label='4.76 stars' role='button'> <span class='jdgm-star jdgm--on'></span><span class='jdgm-star jdgm--on'></span><span class='jdgm-star jdgm--on'></span><span class='jdgm-star jdgm--on'></span><span class='jdgm-star jdgm--on'></span> </span> <span class='jdgm-prev-badge__text'> 34 reviews </span> </div></div> <!-- End of Judge.me code --> <script> var judgemeAverageRatingNumber = document.querySelector('.jdgm-prev-badge').dataset.averageRating; judgemeAverageRatingNumber = Number(judgemeAverageRatingNumber); judgemeAverageRatingNumber = (Math.round(judgemeAverageRatingNumber*10)/10).toFixed(1); document.querySelector('.jdgm-prev-badge').dataset.averageRating = judgemeAverageRatingNumber; </script> <a class="product-item-price" href="/products/low-legs"> <span role="alert" aria-label="Original price was $69.95 and the discounted price is $34.97"> <s class="card--product__compare-at-price" aria-hidden="true">$69.95 </s> <span aria-hidden="true">$34.97 </span> </span> </a> <button class="button button-small button-transparent-blue add-to-cart" aria-label="Add to &lt;span aria-hidden=&quot;true&quot;&gt;&lt;/span&gt;Cart SNOO Low Legs" data-variant-id="35386698060" data-variant-qty="1" data-cart-add="35386698060" data-cart-quantity="1" data-item-category="Low Legs" data-item-price="3497" data-item-title="SNOO Low Legs"> Add to <span aria-hidden="true"></span>Cart </button> </div> <style> h2.product-item-title { margin-top: 14px; } @media only screen and (min-width: 500px) { .collection-product-grid .product-item-image img { min-height: 230px; } } .sale-badge { color: #FFFFFF; background-color: var(--color-coral); position: absolute; margin-left: -40px; font-weight: 500; padding: 2px 10px; border-radius: 10px; font-size: 12px; } a:hover .sale-badge { color: #ffffff; } </style> <div class="product-grid-item"> <a class="product-item-image" href="/products/sky-mobile"> <picture> <source media="(max-width: 320px)" srcset="//www.happiestbaby.com/cdn/shop/products/sky-mobile-upward-closeup.jpg?format=pjpg&v=1643848746&width=450"> <source media="(max-width: 450px)" srcset="//www.happiestbaby.com/cdn/shop/products/sky-mobile-upward-closeup.jpg?format=pjpg&v=1643848746&width=540"> <source media="(max-width: 640px)" srcset="//www.happiestbaby.com/cdn/shop/products/sky-mobile-upward-closeup.jpg?format=pjpg&v=1643848746&width=768"> <source media="(max-width: 768px)" srcset="//www.happiestbaby.com/cdn/shop/products/sky-mobile-upward-closeup.jpg?format=pjpg&v=1643848746&width=960"> <source media="(min-width: 960px)" srcset="//www.happiestbaby.com/cdn/shop/products/sky-mobile-upward-closeup.jpg?format=pjpg&v=1643848746&width=1200"> <img src="//www.happiestbaby.com/cdn/shop/products/sky-mobile-upward-closeup.jpg?format=pjpg&v=1643848746&width=320" width="230" height="230" alt="Sky Mobile" loading="lazy" /> </picture> <span class="sale-badge">Sale</span> <h2 class="product-item-title">Sky Mobile </h2> </a> <!-- Start of Judge.me code --> <div style='' class='jdgm-widget jdgm-preview-badge' data-id='6622271865022' data-auto-install='false'><div style='display:none' class='jdgm-prev-badge' data-average-rating='4.56' data-number-of-reviews='39' data-number-of-questions='0'> <span class='jdgm-prev-badge__stars' data-score='4.56' tabindex='0' aria-label='4.56 stars' role='button'> <span class='jdgm-star jdgm--on'></span><span class='jdgm-star jdgm--on'></span><span class='jdgm-star jdgm--on'></span><span class='jdgm-star jdgm--on'></span><span class='jdgm-star jdgm--half'></span> </span> <span class='jdgm-prev-badge__text'> 39 reviews </span> </div></div> <!-- End of Judge.me code --> <script> var judgemeAverageRatingNumber = document.querySelector('.jdgm-prev-badge').dataset.averageRating; judgemeAverageRatingNumber = Number(judgemeAverageRatingNumber); judgemeAverageRatingNumber = (Math.round(judgemeAverageRatingNumber*10)/10).toFixed(1); document.querySelector('.jdgm-prev-badge').dataset.averageRating = judgemeAverageRatingNumber; </script> <a class="product-item-price" href="/products/sky-mobile"> <span role="alert" aria-label="Original price was $89.95 and the discounted price is $53.97"> <s class="card--product__compare-at-price" aria-hidden="true">$89.95 </s> <span aria-hidden="true">$53.97 </span> </span> </a> <button class="button button-small button-transparent-blue add-to-cart" aria-label="Add to &lt;span aria-hidden=&quot;true&quot;&gt;&lt;/span&gt;Cart Sky Mobile" data-variant-id="39541329887422" data-variant-qty="1" data-cart-add="39541329887422" data-cart-quantity="1" data-item-category="Mobile" data-item-price="5397" data-item-title="Sky Mobile"> Add to <span aria-hidden="true"></span>Cart </button> </div> <style> h2.product-item-title { margin-top: 14px; } @media only screen and (min-width: 500px) { .collection-product-grid .product-item-image img { min-height: 230px; } } .sale-badge { color: #FFFFFF; background-color: var(--color-coral); position: absolute; margin-left: -40px; font-weight: 500; padding: 2px 10px; border-radius: 10px; font-size: 12px; } a:hover .sale-badge { color: #ffffff; } </style> <div class="product-grid-item"> <a class="product-item-image" href="/products/shoo-mosquito-net"> <picture> <source media="(max-width: 320px)" srcset="//www.happiestbaby.com/cdn/shop/products/SHOO-PDP-2.jpg?format=pjpg&v=1589563315&width=450"> <source media="(max-width: 450px)" srcset="//www.happiestbaby.com/cdn/shop/products/SHOO-PDP-2.jpg?format=pjpg&v=1589563315&width=540"> <source media="(max-width: 640px)" srcset="//www.happiestbaby.com/cdn/shop/products/SHOO-PDP-2.jpg?format=pjpg&v=1589563315&width=768"> <source media="(max-width: 768px)" srcset="//www.happiestbaby.com/cdn/shop/products/SHOO-PDP-2.jpg?format=pjpg&v=1589563315&width=960"> <source media="(min-width: 960px)" srcset="//www.happiestbaby.com/cdn/shop/products/SHOO-PDP-2.jpg?format=pjpg&v=1589563315&width=1200"> <img src="//www.happiestbaby.com/cdn/shop/products/SHOO-PDP-2.jpg?format=pjpg&v=1589563315&width=320" width="230" height="230" alt="Shoo Mosquito Net" loading="lazy" /> </picture> <span class="sale-badge">Sale</span> <h2 class="product-item-title">Shoo Mosquito Net </h2> </a> <!-- Start of Judge.me code --> <div style='' class='jdgm-widget jdgm-preview-badge' data-id='4543626969134' data-auto-install='false'><div style='display:none' class='jdgm-prev-badge' data-average-rating='4.46' data-number-of-reviews='35' data-number-of-questions='0'> <span class='jdgm-prev-badge__stars' data-score='4.46' tabindex='0' aria-label='4.46 stars' role='button'> <span class='jdgm-star jdgm--on'></span><span class='jdgm-star jdgm--on'></span><span class='jdgm-star jdgm--on'></span><span class='jdgm-star jdgm--on'></span><span class='jdgm-star jdgm--half'></span> </span> <span class='jdgm-prev-badge__text'> 35 reviews </span> </div></div> <!-- End of Judge.me code --> <script> var judgemeAverageRatingNumber = document.querySelector('.jdgm-prev-badge').dataset.averageRating; judgemeAverageRatingNumber = Number(judgemeAverageRatingNumber); judgemeAverageRatingNumber = (Math.round(judgemeAverageRatingNumber*10)/10).toFixed(1); document.querySelector('.jdgm-prev-badge').dataset.averageRating = judgemeAverageRatingNumber; </script> <a class="product-item-price" href="/products/shoo-mosquito-net"> <span role="alert" aria-label="Original price was $79.00 and the discounted price is $39.50"> <s class="card--product__compare-at-price" aria-hidden="true">$79.00 </s> <span aria-hidden="true">$39.50 </span> </span> </a> <button class="button button-small button-transparent-blue add-to-cart" aria-label="Add to &lt;span aria-hidden=&quot;true&quot;&gt;&lt;/span&gt;Cart Shoo Mosquito Net" data-variant-id="32148872101934" data-variant-qty="1" data-cart-add="32148872101934" data-cart-quantity="1" data-item-category="Mosquito Net" data-item-price="3950" data-item-title="Shoo Mosquito Net"> Add to <span aria-hidden="true"></span>Cart </button> </div> <style> h2.product-item-title { margin-top: 14px; } @media only screen and (min-width: 500px) { .collection-product-grid .product-item-image img { min-height: 230px; } } .sale-badge { color: #FFFFFF; background-color: var(--color-coral); position: absolute; margin-left: -40px; font-weight: 500; padding: 2px 10px; border-radius: 10px; font-size: 12px; } a:hover .sale-badge { color: #ffffff; } </style> <div class="product-grid-item"> <a class="product-item-image" href="/products/snoo-zoo"> <picture> <source media="(max-width: 320px)" srcset="//www.happiestbaby.com/cdn/shop/files/SNOOzoo_whitebackground.jpg?format=pjpg&v=1692119293&width=450"> <source media="(max-width: 450px)" srcset="//www.happiestbaby.com/cdn/shop/files/SNOOzoo_whitebackground.jpg?format=pjpg&v=1692119293&width=540"> <source media="(max-width: 640px)" srcset="//www.happiestbaby.com/cdn/shop/files/SNOOzoo_whitebackground.jpg?format=pjpg&v=1692119293&width=768"> <source media="(max-width: 768px)" srcset="//www.happiestbaby.com/cdn/shop/files/SNOOzoo_whitebackground.jpg?format=pjpg&v=1692119293&width=960"> <source media="(min-width: 960px)" srcset="//www.happiestbaby.com/cdn/shop/files/SNOOzoo_whitebackground.jpg?format=pjpg&v=1692119293&width=1200"> <img src="//www.happiestbaby.com/cdn/shop/files/SNOOzoo_whitebackground.jpg?format=pjpg&v=1692119293&width=320" width="230" height="230" alt="SNOO Zoo Giraffe" loading="lazy" /> </picture> <span class="sale-badge">Sale</span> <h2 class="product-item-title">SNOO Zoo Giraffe </h2> </a> <!-- Start of Judge.me code --> <div style='' class='jdgm-widget jdgm-preview-badge' data-id='7726428586174' data-auto-install='false'><div style='display:none' class='jdgm-prev-badge' data-average-rating='0.00' data-number-of-reviews='0' data-number-of-questions='0'> <span class='jdgm-prev-badge__stars' data-score='0.00' tabindex='0' aria-label='0.00 stars' role='button'> <span class='jdgm-star jdgm--off'></span><span class='jdgm-star jdgm--off'></span><span class='jdgm-star jdgm--off'></span><span class='jdgm-star jdgm--off'></span><span class='jdgm-star jdgm--off'></span> </span> <span class='jdgm-prev-badge__text'> No reviews </span> </div></div> <!-- End of Judge.me code --> <script> var judgemeAverageRatingNumber = document.querySelector('.jdgm-prev-badge').dataset.averageRating; judgemeAverageRatingNumber = Number(judgemeAverageRatingNumber); judgemeAverageRatingNumber = (Math.round(judgemeAverageRatingNumber*10)/10).toFixed(1); document.querySelector('.jdgm-prev-badge').dataset.averageRating = judgemeAverageRatingNumber; </script> <a class="product-item-price" href="/products/snoo-zoo"> <span role="alert" aria-label="Original price was $495.00 and the discounted price is $247.50"> <s class="card--product__compare-at-price" aria-hidden="true">$495.00 </s> <span aria-hidden="true">$247.50 </span> </span> </a> <button class="button button-small button-transparent-blue add-to-cart" aria-label="Add to &lt;span aria-hidden=&quot;true&quot;&gt;&lt;/span&gt;Cart SNOO Zoo Giraffe" data-variant-id="42974881743038" data-variant-qty="1" data-cart-add="42974881743038" data-cart-quantity="1" data-item-category="Giraffe" data-item-price="24750" data-item-title="SNOO Zoo Giraffe"> Add to <span aria-hidden="true"></span>Cart </button> </div> <style> h2.product-item-title { margin-top: 14px; } @media only screen and (min-width: 500px) { .collection-product-grid .product-item-image img { min-height: 230px; } } .sale-badge { color: #FFFFFF; background-color: var(--color-coral); position: absolute; margin-left: -40px; font-weight: 500; padding: 2px 10px; border-radius: 10px; font-size: 12px; } a:hover .sale-badge { color: #ffffff; } </style> <div class="product-grid-item"> <a class="product-item-image" href="/products/sleepea-3-pack-bundle"> <picture> <source media="(max-width: 320px)" srcset="//www.happiestbaby.com/cdn/shop/products/sleepea-bundle-charcoal-planets.jpg?format=pjpg&v=1690275344&width=450"> <source media="(max-width: 450px)" srcset="//www.happiestbaby.com/cdn/shop/products/sleepea-bundle-charcoal-planets.jpg?format=pjpg&v=1690275344&width=540"> <source media="(max-width: 640px)" srcset="//www.happiestbaby.com/cdn/shop/products/sleepea-bundle-charcoal-planets.jpg?format=pjpg&v=1690275344&width=768"> <source media="(max-width: 768px)" srcset="//www.happiestbaby.com/cdn/shop/products/sleepea-bundle-charcoal-planets.jpg?format=pjpg&v=1690275344&width=960"> <source media="(min-width: 960px)" srcset="//www.happiestbaby.com/cdn/shop/products/sleepea-bundle-charcoal-planets.jpg?format=pjpg&v=1690275344&width=1200"> <img src="//www.happiestbaby.com/cdn/shop/products/sleepea-bundle-charcoal-planets.jpg?format=pjpg&v=1690275344&width=320" width="230" height="230" alt="Sleepea® Swaddle Sack 3 Pack Bundle" loading="lazy" /> </picture> <span class="sale-badge">Sale</span> <h2 class="product-item-title">Sleepea® Swaddle Sack 3 Pack Bundle <br/> (More colors) </h2> <p style="color: var(--color-coral); margin: 0 0 1em; font-size: .8rem;">Not for use inside SNOO</p> </a> <!-- Start of Judge.me code --> <div style='' class='jdgm-widget jdgm-preview-badge' data-id='4509108043822' data-auto-install='false'><div style='display:none' class='jdgm-prev-badge' data-average-rating='4.35' data-number-of-reviews='82' data-number-of-questions='0'> <span class='jdgm-prev-badge__stars' data-score='4.35' tabindex='0' aria-label='4.35 stars' role='button'> <span class='jdgm-star jdgm--on'></span><span class='jdgm-star jdgm--on'></span><span class='jdgm-star jdgm--on'></span><span class='jdgm-star jdgm--on'></span><span class='jdgm-star jdgm--half'></span> </span> <span class='jdgm-prev-badge__text'> 82 reviews </span> </div></div> <!-- End of Judge.me code --> <script> var judgemeAverageRatingNumber = document.querySelector('.jdgm-prev-badge').dataset.averageRating; judgemeAverageRatingNumber = Number(judgemeAverageRatingNumber); judgemeAverageRatingNumber = (Math.round(judgemeAverageRatingNumber*10)/10).toFixed(1); document.querySelector('.jdgm-prev-badge').dataset.averageRating = judgemeAverageRatingNumber; </script> <a class="product-item-price" href="/products/sleepea-3-pack-bundle"> <span role="alert" aria-label="Original price was $89.95 and the discounted price is $62.97"> <s class="card--product__compare-at-price" aria-hidden="true">$89.95 </s> <span aria-hidden="true">$62.97 </span> </span> </a> <a href="/products/sleepea-3-pack-bundle" class="button button-small button-transparent-blue" aria-label="Select option for Sleepea® Swaddle Sack 3 Pack Bundle"> Select Options </a> </div> <style> h2.product-item-title { margin-top: 14px; } @media only screen and (min-width: 500px) { .collection-product-grid .product-item-image img { min-height: 230px; } } .sale-badge { color: #FFFFFF; background-color: var(--color-coral); position: absolute; margin-left: -40px; font-weight: 500; padding: 2px 10px; border-radius: 10px; font-size: 12px; } a:hover .sale-badge { color: #ffffff; } </style> <div class="product-grid-item"> <a class="product-item-image" href="/products/snoo-sack-3-size-pack"> <picture> <source media="(max-width: 320px)" srcset="//www.happiestbaby.com/cdn/shop/products/snoo-sack-bundle-teal-planets_2610938a-c2f3-4f53-a8a0-1dad6d10925a.jpg?format=pjpg&v=1690275356&width=450"> <source media="(max-width: 450px)" srcset="//www.happiestbaby.com/cdn/shop/products/snoo-sack-bundle-teal-planets_2610938a-c2f3-4f53-a8a0-1dad6d10925a.jpg?format=pjpg&v=1690275356&width=540"> <source media="(max-width: 640px)" srcset="//www.happiestbaby.com/cdn/shop/products/snoo-sack-bundle-teal-planets_2610938a-c2f3-4f53-a8a0-1dad6d10925a.jpg?format=pjpg&v=1690275356&width=768"> <source media="(max-width: 768px)" srcset="//www.happiestbaby.com/cdn/shop/products/snoo-sack-bundle-teal-planets_2610938a-c2f3-4f53-a8a0-1dad6d10925a.jpg?format=pjpg&v=1690275356&width=960"> <source media="(min-width: 960px)" srcset="//www.happiestbaby.com/cdn/shop/products/snoo-sack-bundle-teal-planets_2610938a-c2f3-4f53-a8a0-1dad6d10925a.jpg?format=pjpg&v=1690275356&width=1200"> <img src="//www.happiestbaby.com/cdn/shop/products/snoo-sack-bundle-teal-planets_2610938a-c2f3-4f53-a8a0-1dad6d10925a.jpg?format=pjpg&v=1690275356&width=320" width="230" height="230" alt="SNOO Sleep Sack 3-Pack of Sizes" loading="lazy" /> </picture> <span class="sale-badge">Sale</span> <h2 class="product-item-title">SNOO Sleep Sack 3-Pack of Sizes <br/> (More colors) </h2> </a> <!-- Start of Judge.me code --> <div style='' class='jdgm-widget jdgm-preview-badge' data-id='4651312578606' data-auto-install='false'><div style='display:none' class='jdgm-prev-badge' data-average-rating='3.81' data-number-of-reviews='36' data-number-of-questions='0'> <span class='jdgm-prev-badge__stars' data-score='3.81' tabindex='0' aria-label='3.81 stars' role='button'> <span class='jdgm-star jdgm--on'></span><span class='jdgm-star jdgm--on'></span><span class='jdgm-star jdgm--on'></span><span class='jdgm-star jdgm--on'></span><span class='jdgm-star jdgm--off'></span> </span> <span class='jdgm-prev-badge__text'> 36 reviews </span> </div></div> <!-- End of Judge.me code --> <script> var judgemeAverageRatingNumber = document.querySelector('.jdgm-prev-badge').dataset.averageRating; judgemeAverageRatingNumber = Number(judgemeAverageRatingNumber); judgemeAverageRatingNumber = (Math.round(judgemeAverageRatingNumber*10)/10).toFixed(1); document.querySelector('.jdgm-prev-badge').dataset.averageRating = judgemeAverageRatingNumber; </script> <a class="product-item-price" href="/products/snoo-sack-3-size-pack"> <span role="alert" aria-label="Original price was $104.85 and the discounted price is $73.40"> <s class="card--product__compare-at-price" aria-hidden="true">$104.85 </s> <span aria-hidden="true">$73.40 </span> </span> </a> <a href="/products/snoo-sack-3-size-pack" class="button button-small button-transparent-blue" aria-label="Select option for SNOO Sleep Sack 3-Pack of Sizes"> Select Options </a> </div> <style> h2.product-item-title { margin-top: 14px; } @media only screen and (min-width: 500px) { .collection-product-grid .product-item-image img { min-height: 230px; } } .sale-badge { color: #FFFFFF; background-color: var(--color-coral); position: absolute; margin-left: -40px; font-weight: 500; padding: 2px 10px; border-radius: 10px; font-size: 12px; } a:hover .sale-badge { color: #ffffff; } </style> <div class="product-grid-item"> <a class="product-item-image" href="/products/bassinet-sheets-bundle"> <picture> <source media="(max-width: 320px)" srcset="//www.happiestbaby.com/cdn/shop/products/snoo-fittedsheets-bundle-graphite-ivory-black.jpg?format=pjpg&v=1690275331&width=450"> <source media="(max-width: 450px)" srcset="//www.happiestbaby.com/cdn/shop/products/snoo-fittedsheets-bundle-graphite-ivory-black.jpg?format=pjpg&v=1690275331&width=540"> <source media="(max-width: 640px)" srcset="//www.happiestbaby.com/cdn/shop/products/snoo-fittedsheets-bundle-graphite-ivory-black.jpg?format=pjpg&v=1690275331&width=768"> <source media="(max-width: 768px)" srcset="//www.happiestbaby.com/cdn/shop/products/snoo-fittedsheets-bundle-graphite-ivory-black.jpg?format=pjpg&v=1690275331&width=960"> <source media="(min-width: 960px)" srcset="//www.happiestbaby.com/cdn/shop/products/snoo-fittedsheets-bundle-graphite-ivory-black.jpg?format=pjpg&v=1690275331&width=1200"> <img src="//www.happiestbaby.com/cdn/shop/products/snoo-fittedsheets-bundle-graphite-ivory-black.jpg?format=pjpg&v=1690275331&width=320" width="230" height="230" alt="Organic Bassinet Sheets 3 Pack" loading="lazy" /> </picture> <span class="sale-badge">Sale</span> <h2 class="product-item-title">Organic Bassinet Sheets 3 Pack <br/> (More colors) </h2> </a> <!-- Start of Judge.me code --> <div style='' class='jdgm-widget jdgm-preview-badge' data-id='4384811876398' data-auto-install='false'><div style='display:none' class='jdgm-prev-badge' data-average-rating='4.48' data-number-of-reviews='62' data-number-of-questions='0'> <span class='jdgm-prev-badge__stars' data-score='4.48' tabindex='0' aria-label='4.48 stars' role='button'> <span class='jdgm-star jdgm--on'></span><span class='jdgm-star jdgm--on'></span><span class='jdgm-star jdgm--on'></span><span class='jdgm-star jdgm--on'></span><span class='jdgm-star jdgm--half'></span> </span> <span class='jdgm-prev-badge__text'> 62 reviews </span> </div></div> <!-- End of Judge.me code --> <script> var judgemeAverageRatingNumber = document.querySelector('.jdgm-prev-badge').dataset.averageRating; judgemeAverageRatingNumber = Number(judgemeAverageRatingNumber); judgemeAverageRatingNumber = (Math.round(judgemeAverageRatingNumber*10)/10).toFixed(1); document.querySelector('.jdgm-prev-badge').dataset.averageRating = judgemeAverageRatingNumber; </script> <a class="product-item-price" href="/products/bassinet-sheets-bundle"> <span role="alert" aria-label="Original price was $59.85 and the discounted price is $38.50"> <s class="card--product__compare-at-price" aria-hidden="true">$59.85 </s> <span aria-hidden="true">$38.50 </span> </span> </a> <a href="/products/bassinet-sheets-bundle" class="button button-small button-transparent-blue" aria-label="Select option for Organic Bassinet Sheets 3 Pack"> Select Options </a> </div> <style> h2.product-item-title { margin-top: 14px; } @media only screen and (min-width: 500px) { .collection-product-grid .product-item-image img { min-height: 230px; } } .sale-badge { color: #FFFFFF; background-color: var(--color-coral); position: absolute; margin-left: -40px; font-weight: 500; padding: 2px 10px; border-radius: 10px; font-size: 12px; } a:hover .sale-badge { color: #ffffff; } </style> <div class="product-grid-item"> <a class="product-item-image" href="/products/the-big-bundle"> <picture> <source media="(max-width: 320px)" srcset="//www.happiestbaby.com/cdn/shop/products/snoo_bundle_white_us_9d6c95b6-9426-480a-8a19-3852765d655f.jpg?format=pjpg&v=1614758463&width=450"> <source media="(max-width: 450px)" srcset="//www.happiestbaby.com/cdn/shop/products/snoo_bundle_white_us_9d6c95b6-9426-480a-8a19-3852765d655f.jpg?format=pjpg&v=1614758463&width=540"> <source media="(max-width: 640px)" srcset="//www.happiestbaby.com/cdn/shop/products/snoo_bundle_white_us_9d6c95b6-9426-480a-8a19-3852765d655f.jpg?format=pjpg&v=1614758463&width=768"> <source media="(max-width: 768px)" srcset="//www.happiestbaby.com/cdn/shop/products/snoo_bundle_white_us_9d6c95b6-9426-480a-8a19-3852765d655f.jpg?format=pjpg&v=1614758463&width=960"> <source media="(min-width: 960px)" srcset="//www.happiestbaby.com/cdn/shop/products/snoo_bundle_white_us_9d6c95b6-9426-480a-8a19-3852765d655f.jpg?format=pjpg&v=1614758463&width=1200"> <img src="//www.happiestbaby.com/cdn/shop/products/snoo_bundle_white_us_9d6c95b6-9426-480a-8a19-3852765d655f.jpg?format=pjpg&v=1614758463&width=320" width="230" height="230" alt="The Big Bundle" loading="lazy" /> </picture> <span class="sale-badge">Sale</span> <h2 class="product-item-title">The Big Bundle <br/> (More colors) </h2> </a> <!-- Start of Judge.me code --> <div style='' class='jdgm-widget jdgm-preview-badge' data-id='136574238745' data-auto-install='false'><div style='display:none' class='jdgm-prev-badge' data-average-rating='4.08' data-number-of-reviews='130' data-number-of-questions='0'> <span class='jdgm-prev-badge__stars' data-score='4.08' tabindex='0' aria-label='4.08 stars' role='button'> <span class='jdgm-star jdgm--on'></span><span class='jdgm-star jdgm--on'></span><span class='jdgm-star jdgm--on'></span><span class='jdgm-star jdgm--on'></span><span class='jdgm-star jdgm--off'></span> </span> <span class='jdgm-prev-badge__text'> 130 reviews </span> </div></div> <!-- End of Judge.me code --> <script> var judgemeAverageRatingNumber = document.querySelector('.jdgm-prev-badge').dataset.averageRating; judgemeAverageRatingNumber = Number(judgemeAverageRatingNumber); judgemeAverageRatingNumber = (Math.round(judgemeAverageRatingNumber*10)/10).toFixed(1); document.querySelector('.jdgm-prev-badge').dataset.averageRating = judgemeAverageRatingNumber; </script> <a class="product-item-price" href="/products/the-big-bundle"> <span role="alert" aria-label="Original price was $144.75 and the discounted price is $94.10"> <s class="card--product__compare-at-price" aria-hidden="true">$144.75 </s> <span aria-hidden="true">$94.10 </span> </span> </a> <a href="/products/the-big-bundle" class="button button-small button-transparent-blue" aria-label="Select option for The Big Bundle"> Select Options </a> </div> <style> h2.product-item-title { margin-top: 14px; } @media only screen and (min-width: 500px) { .collection-product-grid .product-item-image img { min-height: 230px; } } .sale-badge { color: #FFFFFF; background-color: var(--color-coral); position: absolute; margin-left: -40px; font-weight: 500; padding: 2px 10px; border-radius: 10px; font-size: 12px; } a:hover .sale-badge { color: #ffffff; } </style> <div class="product-grid-item"> <a class="product-item-image" href="/products/swaddle-blanket"> <picture> <source media="(max-width: 320px)" srcset="//www.happiestbaby.com/cdn/shop/products/Blanket_V4.jpg?format=pjpg&v=1613525333&width=450"> <source media="(max-width: 450px)" srcset="//www.happiestbaby.com/cdn/shop/products/Blanket_V4.jpg?format=pjpg&v=1613525333&width=540"> <source media="(max-width: 640px)" srcset="//www.happiestbaby.com/cdn/shop/products/Blanket_V4.jpg?format=pjpg&v=1613525333&width=768"> <source media="(max-width: 768px)" srcset="//www.happiestbaby.com/cdn/shop/products/Blanket_V4.jpg?format=pjpg&v=1613525333&width=960"> <source media="(min-width: 960px)" srcset="//www.happiestbaby.com/cdn/shop/products/Blanket_V4.jpg?format=pjpg&v=1613525333&width=1200"> <img src="//www.happiestbaby.com/cdn/shop/products/Blanket_V4.jpg?format=pjpg&v=1613525333&width=320" width="230" height="230" alt="100% Organic Swaddle Blanket" loading="lazy" /> </picture> <span class="sale-badge">Sale</span> <h2 class="product-item-title">100% Organic Swaddle Blanket <br/> (More colors) </h2> </a> <!-- Start of Judge.me code --> <div style='' class='jdgm-widget jdgm-preview-badge' data-id='8700761164' data-auto-install='false'><div style='display:none' class='jdgm-prev-badge' data-average-rating='4.54' data-number-of-reviews='13' data-number-of-questions='0'> <span class='jdgm-prev-badge__stars' data-score='4.54' tabindex='0' aria-label='4.54 stars' role='button'> <span class='jdgm-star jdgm--on'></span><span class='jdgm-star jdgm--on'></span><span class='jdgm-star jdgm--on'></span><span class='jdgm-star jdgm--on'></span><span class='jdgm-star jdgm--half'></span> </span> <span class='jdgm-prev-badge__text'> 13 reviews </span> </div></div> <!-- End of Judge.me code --> <script> var judgemeAverageRatingNumber = document.querySelector('.jdgm-prev-badge').dataset.averageRating; judgemeAverageRatingNumber = Number(judgemeAverageRatingNumber); judgemeAverageRatingNumber = (Math.round(judgemeAverageRatingNumber*10)/10).toFixed(1); document.querySelector('.jdgm-prev-badge').dataset.averageRating = judgemeAverageRatingNumber; </script> <a class="product-item-price" href="/products/swaddle-blanket"> <span role="alert" aria-label="Original price was $12.95 and the discounted price is $6.47"> <s class="card--product__compare-at-price" aria-hidden="true">$12.95 </s> <span aria-hidden="true">$6.47 </span> </span> </a> <button class="button button-small button-transparent-blue add-to-cart" aria-label="Add to &lt;span aria-hidden=&quot;true&quot;&gt;&lt;/span&gt;Cart 100% Organic Swaddle Blanket" data-variant-id="37854298800318" data-variant-qty="1" data-cart-add="37854298800318" data-cart-quantity="1" data-item-category="Blanket" data-item-price="647" data-item-title="100% Organic Swaddle Blanket"> Add to <span aria-hidden="true"></span>Cart </button> </div> <style> h2.product-item-title { margin-top: 14px; } @media only screen and (min-width: 500px) { .collection-product-grid .product-item-image img { min-height: 230px; } } .sale-badge { color: #FFFFFF; background-color: var(--color-coral); position: absolute; margin-left: -40px; font-weight: 500; padding: 2px 10px; border-radius: 10px; font-size: 12px; } a:hover .sale-badge { color: #ffffff; } </style> <div class="product-grid-item"> <a class="product-item-image" href="/products/everything-dress"> <picture> <source media="(max-width: 320px)" srcset="//www.happiestbaby.com/cdn/shop/products/PDP_Camisole_Select1.jpg?format=pjpg&v=1614980543&width=450"> <source media="(max-width: 450px)" srcset="//www.happiestbaby.com/cdn/shop/products/PDP_Camisole_Select1.jpg?format=pjpg&v=1614980543&width=540"> <source media="(max-width: 640px)" srcset="//www.happiestbaby.com/cdn/shop/products/PDP_Camisole_Select1.jpg?format=pjpg&v=1614980543&width=768"> <source media="(max-width: 768px)" srcset="//www.happiestbaby.com/cdn/shop/products/PDP_Camisole_Select1.jpg?format=pjpg&v=1614980543&width=960"> <source media="(min-width: 960px)" srcset="//www.happiestbaby.com/cdn/shop/products/PDP_Camisole_Select1.jpg?format=pjpg&v=1614980543&width=1200"> <img src="//www.happiestbaby.com/cdn/shop/products/PDP_Camisole_Select1.jpg?format=pjpg&v=1614980543&width=320" width="230" height="230" alt="Everything Dress: Camisole Dress for Pregnancy and Nursing" loading="lazy" /> </picture> <span class="sale-badge">Sale</span> <h2 class="product-item-title">Everything Dress: Camisole Dress for Pregnancy and Nursing </h2> </a> <!-- Start of Judge.me code --> <div style='' class='jdgm-widget jdgm-preview-badge' data-id='6127477784766' data-auto-install='false'><div style='display:none' class='jdgm-prev-badge' data-average-rating='3.56' data-number-of-reviews='9' data-number-of-questions='0'> <span class='jdgm-prev-badge__stars' data-score='3.56' tabindex='0' aria-label='3.56 stars' role='button'> <span class='jdgm-star jdgm--on'></span><span class='jdgm-star jdgm--on'></span><span class='jdgm-star jdgm--on'></span><span class='jdgm-star jdgm--half'></span><span class='jdgm-star jdgm--off'></span> </span> <span class='jdgm-prev-badge__text'> 9 reviews </span> </div></div> <!-- End of Judge.me code --> <script> var judgemeAverageRatingNumber = document.querySelector('.jdgm-prev-badge').dataset.averageRating; judgemeAverageRatingNumber = Number(judgemeAverageRatingNumber); judgemeAverageRatingNumber = (Math.round(judgemeAverageRatingNumber*10)/10).toFixed(1); document.querySelector('.jdgm-prev-badge').dataset.averageRating = judgemeAverageRatingNumber; </script> <a class="product-item-price" href="/products/everything-dress"> <span role="alert" aria-label="Original price was $119.00 and the discounted price is $59.50"> <s class="card--product__compare-at-price" aria-hidden="true">$119.00 </s> <span aria-hidden="true">$59.50 </span> </span> </a> <button class="button button-small button-transparent-blue add-to-cart" aria-label="Add to &lt;span aria-hidden=&quot;true&quot;&gt;&lt;/span&gt;Cart Everything Dress: Camisole Dress for Pregnancy and Nursing" data-variant-id="37719646503102" data-variant-qty="1" data-cart-add="37719646503102" data-cart-quantity="1" data-item-category="Dress" data-item-price="5950" data-item-title="Everything Dress: Camisole Dress for Pregnancy and Nursing"> Add to <span aria-hidden="true"></span>Cart </button> </div> <style> h2.product-item-title { margin-top: 14px; } @media only screen and (min-width: 500px) { .collection-product-grid .product-item-image img { min-height: 230px; } } .sale-badge { color: #FFFFFF; background-color: var(--color-coral); position: absolute; margin-left: -40px; font-weight: 500; padding: 2px 10px; border-radius: 10px; font-size: 12px; } a:hover .sale-badge { color: #ffffff; } </style> <div class="product-grid-item"> <a class="product-item-image" href="/products/sweet-laurel-blooberry-bar"> <picture> <source media="(max-width: 320px)" srcset="//www.happiestbaby.com/cdn/shop/files/pdp-main--bloobie-three.jpg?format=pjpg&v=1692649965&width=450"> <source media="(max-width: 450px)" srcset="//www.happiestbaby.com/cdn/shop/files/pdp-main--bloobie-three.jpg?format=pjpg&v=1692649965&width=540"> <source media="(max-width: 640px)" srcset="//www.happiestbaby.com/cdn/shop/files/pdp-main--bloobie-three.jpg?format=pjpg&v=1692649965&width=768"> <source media="(max-width: 768px)" srcset="//www.happiestbaby.com/cdn/shop/files/pdp-main--bloobie-three.jpg?format=pjpg&v=1692649965&width=960"> <source media="(min-width: 960px)" srcset="//www.happiestbaby.com/cdn/shop/files/pdp-main--bloobie-three.jpg?format=pjpg&v=1692649965&width=1200"> <img src="//www.happiestbaby.com/cdn/shop/files/pdp-main--bloobie-three.jpg?format=pjpg&v=1692649965&width=320" width="230" height="230" alt="Happiest Baby x Sweet Laurel Blooberry Bar" loading="lazy" /> </picture> <span class="sale-badge">Sale</span> <h2 class="product-item-title">Happiest Baby x Sweet Laurel Blooberry Bar </h2> </a> <!-- Start of Judge.me code --> <div style='' class='jdgm-widget jdgm-preview-badge' data-id='7732343636158' data-auto-install='false'><div style='display:none' class='jdgm-prev-badge' data-average-rating='0.00' data-number-of-reviews='0' data-number-of-questions='0'> <span class='jdgm-prev-badge__stars' data-score='0.00' tabindex='0' aria-label='0.00 stars' role='button'> <span class='jdgm-star jdgm--off'></span><span class='jdgm-star jdgm--off'></span><span class='jdgm-star jdgm--off'></span><span class='jdgm-star jdgm--off'></span><span class='jdgm-star jdgm--off'></span> </span> <span class='jdgm-prev-badge__text'> No reviews </span> </div></div> <!-- End of Judge.me code --> <script> var judgemeAverageRatingNumber = document.querySelector('.jdgm-prev-badge').dataset.averageRating; judgemeAverageRatingNumber = Number(judgemeAverageRatingNumber); judgemeAverageRatingNumber = (Math.round(judgemeAverageRatingNumber*10)/10).toFixed(1); document.querySelector('.jdgm-prev-badge').dataset.averageRating = judgemeAverageRatingNumber; </script> <a class="product-item-price" href="/products/sweet-laurel-blooberry-bar"> <span role="alert" aria-label="Original price was $29.95 and the discounted price is $25.45"> <s class="card--product__compare-at-price" aria-hidden="true">$29.95 </s> <span aria-hidden="true">$25.45 </span> </span> </a> <button class="button button-small button-transparent-blue add-to-cart" aria-label="Add to &lt;span aria-hidden=&quot;true&quot;&gt;&lt;/span&gt;Cart Happiest Baby x Sweet Laurel Blooberry Bar" data-variant-id="42988136595646" data-variant-qty="1" data-cart-add="42988136595646" data-cart-quantity="1" data-item-category="Food" data-item-price="2545" data-item-title="Happiest Baby x Sweet Laurel Blooberry Bar"> Add to <span aria-hidden="true"></span>Cart </button> </div> <style> h2.product-item-title { margin-top: 14px; } @media only screen and (min-width: 500px) { .collection-product-grid .product-item-image img { min-height: 230px; } } .sale-badge { color: #FFFFFF; background-color: var(--color-coral); position: absolute; margin-left: -40px; font-weight: 500; padding: 2px 10px; border-radius: 10px; font-size: 12px; } a:hover .sale-badge { color: #ffffff; } </style> <div class="product-grid-item"> <a class="product-item-image" href="/products/the-happiest-baby-book-paperback"> <picture> <source media="(max-width: 320px)" srcset="//www.happiestbaby.com/cdn/shop/products/Baby-Book-PDP.jpg?format=pjpg&v=1589418229&width=450"> <source media="(max-width: 450px)" srcset="//www.happiestbaby.com/cdn/shop/products/Baby-Book-PDP.jpg?format=pjpg&v=1589418229&width=540"> <source media="(max-width: 640px)" srcset="//www.happiestbaby.com/cdn/shop/products/Baby-Book-PDP.jpg?format=pjpg&v=1589418229&width=768"> <source media="(max-width: 768px)" srcset="//www.happiestbaby.com/cdn/shop/products/Baby-Book-PDP.jpg?format=pjpg&v=1589418229&width=960"> <source media="(min-width: 960px)" srcset="//www.happiestbaby.com/cdn/shop/products/Baby-Book-PDP.jpg?format=pjpg&v=1589418229&width=1200"> <img src="//www.happiestbaby.com/cdn/shop/products/Baby-Book-PDP.jpg?format=pjpg&v=1589418229&width=320" width="230" height="230" alt="The Happiest Baby Book – Fully Revised" loading="lazy" /> </picture> <span class="sale-badge">Sale</span> <h2 class="product-item-title">The Happiest Baby Book – Fully Revised </h2> </a> <!-- Start of Judge.me code --> <div style='' class='jdgm-widget jdgm-preview-badge' data-id='8678027724' data-auto-install='false'><div style='display:none' class='jdgm-prev-badge' data-average-rating='5.00' data-number-of-reviews='5' data-number-of-questions='0'> <span class='jdgm-prev-badge__stars' data-score='5.00' tabindex='0' aria-label='5.00 stars' role='button'> <span class='jdgm-star jdgm--on'></span><span class='jdgm-star jdgm--on'></span><span class='jdgm-star jdgm--on'></span><span class='jdgm-star jdgm--on'></span><span class='jdgm-star jdgm--on'></span> </span> <span class='jdgm-prev-badge__text'> 5 reviews </span> </div></div> <!-- End of Judge.me code --> <script> var judgemeAverageRatingNumber = document.querySelector('.jdgm-prev-badge').dataset.averageRating; judgemeAverageRatingNumber = Number(judgemeAverageRatingNumber); judgemeAverageRatingNumber = (Math.round(judgemeAverageRatingNumber*10)/10).toFixed(1); document.querySelector('.jdgm-prev-badge').dataset.averageRating = judgemeAverageRatingNumber; </script> <a class="product-item-price" href="/products/the-happiest-baby-book-paperback"> <span role="alert" aria-label="Original price was $9.95 and the discounted price is $7.46"> <s class="card--product__compare-at-price" aria-hidden="true">$9.95 </s> <span aria-hidden="true">$7.46 </span> </span> </a> <button class="button button-small button-transparent-blue add-to-cart" aria-label="Add to &lt;span aria-hidden=&quot;true&quot;&gt;&lt;/span&gt;Cart The Happiest Baby Book – Fully Revised" data-variant-id="29828672780" data-variant-qty="1" data-cart-add="29828672780" data-cart-quantity="1" data-item-category="Books & Media" data-item-price="746" data-item-title="The Happiest Baby Book – Fully Revised"> Add to <span aria-hidden="true"></span>Cart </button> </div> <style> h2.product-item-title { margin-top: 14px; } @media only screen and (min-width: 500px) { .collection-product-grid .product-item-image img { min-height: 230px; } } .sale-badge { color: #FFFFFF; background-color: var(--color-coral); position: absolute; margin-left: -40px; font-weight: 500; padding: 2px 10px; border-radius: 10px; font-size: 12px; } a:hover .sale-badge { color: #ffffff; } </style> <div class="product-grid-item"> <a class="product-item-image" href="/products/the-happiest-toddler-book"> <picture> <source media="(max-width: 320px)" srcset="//www.happiestbaby.com/cdn/shop/products/Toddler-Book-PDP.jpg?format=pjpg&v=1589412583&width=450"> <source media="(max-width: 450px)" srcset="//www.happiestbaby.com/cdn/shop/products/Toddler-Book-PDP.jpg?format=pjpg&v=1589412583&width=540"> <source media="(max-width: 640px)" srcset="//www.happiestbaby.com/cdn/shop/products/Toddler-Book-PDP.jpg?format=pjpg&v=1589412583&width=768"> <source media="(max-width: 768px)" srcset="//www.happiestbaby.com/cdn/shop/products/Toddler-Book-PDP.jpg?format=pjpg&v=1589412583&width=960"> <source media="(min-width: 960px)" srcset="//www.happiestbaby.com/cdn/shop/products/Toddler-Book-PDP.jpg?format=pjpg&v=1589412583&width=1200"> <img src="//www.happiestbaby.com/cdn/shop/products/Toddler-Book-PDP.jpg?format=pjpg&v=1589412583&width=320" width="230" height="230" alt="The Happiest Toddler Book (Paperback): 8 mos - 5 yrs" loading="lazy" /> </picture> <span class="sale-badge">Sale</span> <h2 class="product-item-title">The Happiest Toddler Book (Paperback): 8 mos - 5 yrs </h2> </a> <!-- Start of Judge.me code --> <div style='' class='jdgm-widget jdgm-preview-badge' data-id='8678028556' data-auto-install='false'><div style='display:none' class='jdgm-prev-badge' data-average-rating='5.00' data-number-of-reviews='1' data-number-of-questions='0'> <span class='jdgm-prev-badge__stars' data-score='5.00' tabindex='0' aria-label='5.00 stars' role='button'> <span class='jdgm-star jdgm--on'></span><span class='jdgm-star jdgm--on'></span><span class='jdgm-star jdgm--on'></span><span class='jdgm-star jdgm--on'></span><span class='jdgm-star jdgm--on'></span> </span> <span class='jdgm-prev-badge__text'> 1 review </span> </div></div> <!-- End of Judge.me code --> <script> var judgemeAverageRatingNumber = document.querySelector('.jdgm-prev-badge').dataset.averageRating; judgemeAverageRatingNumber = Number(judgemeAverageRatingNumber); judgemeAverageRatingNumber = (Math.round(judgemeAverageRatingNumber*10)/10).toFixed(1); document.querySelector('.jdgm-prev-badge').dataset.averageRating = judgemeAverageRatingNumber; </script> <a class="product-item-price" href="/products/the-happiest-toddler-book"> <span role="alert" aria-label="Original price was $9.95 and the discounted price is $7.46"> <s class="card--product__compare-at-price" aria-hidden="true">$9.95 </s> <span aria-hidden="true">$7.46 </span> </span> </a> <button class="button button-small button-transparent-blue add-to-cart" aria-label="Add to &lt;span aria-hidden=&quot;true&quot;&gt;&lt;/span&gt;Cart The Happiest Toddler Book (Paperback): 8 mos - 5 yrs" data-variant-id="29828673612" data-variant-qty="1" data-cart-add="29828673612" data-cart-quantity="1" data-item-category="Books & Media" data-item-price="746" data-item-title="The Happiest Toddler Book (Paperback): 8 mos - 5 yrs"> Add to <span aria-hidden="true"></span>Cart </button> </div> <style> h2.product-item-title { margin-top: 14px; } @media only screen and (min-width: 500px) { .collection-product-grid .product-item-image img { min-height: 230px; } } .sale-badge { color: #FFFFFF; background-color: var(--color-coral); position: absolute; margin-left: -40px; font-weight: 500; padding: 2px 10px; border-radius: 10px; font-size: 12px; } a:hover .sale-badge { color: #ffffff; } </style> <div class="product-grid-item"> <a class="product-item-image" href="/products/the-happiest-baby-book-the-happiest-baby-guide-to-great-sleep-book-paperback"> <picture> <source media="(max-width: 320px)" srcset="//www.happiestbaby.com/cdn/shop/products/Sleep-Book-PDP.jpg?format=pjpg&v=1589418131&width=450"> <source media="(max-width: 450px)" srcset="//www.happiestbaby.com/cdn/shop/products/Sleep-Book-PDP.jpg?format=pjpg&v=1589418131&width=540"> <source media="(max-width: 640px)" srcset="//www.happiestbaby.com/cdn/shop/products/Sleep-Book-PDP.jpg?format=pjpg&v=1589418131&width=768"> <source media="(max-width: 768px)" srcset="//www.happiestbaby.com/cdn/shop/products/Sleep-Book-PDP.jpg?format=pjpg&v=1589418131&width=960"> <source media="(min-width: 960px)" srcset="//www.happiestbaby.com/cdn/shop/products/Sleep-Book-PDP.jpg?format=pjpg&v=1589418131&width=1200"> <img src="//www.happiestbaby.com/cdn/shop/products/Sleep-Book-PDP.jpg?format=pjpg&v=1589418131&width=320" width="230" height="230" alt="The Happiest Baby Guide to Great Sleep" loading="lazy" /> </picture> <span class="sale-badge">Sale</span> <h2 class="product-item-title">The Happiest Baby Guide to Great Sleep </h2> </a> <!-- Start of Judge.me code --> <div style='' class='jdgm-widget jdgm-preview-badge' data-id='8678028940' data-auto-install='false'><div style='display:none' class='jdgm-prev-badge' data-average-rating='5.00' data-number-of-reviews='4' data-number-of-questions='0'> <span class='jdgm-prev-badge__stars' data-score='5.00' tabindex='0' aria-label='5.00 stars' role='button'> <span class='jdgm-star jdgm--on'></span><span class='jdgm-star jdgm--on'></span><span class='jdgm-star jdgm--on'></span><span class='jdgm-star jdgm--on'></span><span class='jdgm-star jdgm--on'></span> </span> <span class='jdgm-prev-badge__text'> 4 reviews </span> </div></div> <!-- End of Judge.me code --> <script> var judgemeAverageRatingNumber = document.querySelector('.jdgm-prev-badge').dataset.averageRating; judgemeAverageRatingNumber = Number(judgemeAverageRatingNumber); judgemeAverageRatingNumber = (Math.round(judgemeAverageRatingNumber*10)/10).toFixed(1); document.querySelector('.jdgm-prev-badge').dataset.averageRating = judgemeAverageRatingNumber; </script> <a class="product-item-price" href="/products/the-happiest-baby-book-the-happiest-baby-guide-to-great-sleep-book-paperback"> <span role="alert" aria-label="Original price was $9.95 and the discounted price is $7.46"> <s class="card--product__compare-at-price" aria-hidden="true">$9.95 </s> <span aria-hidden="true">$7.46 </span> </span> </a> <button class="button button-small button-transparent-blue add-to-cart" aria-label="Add to &lt;span aria-hidden=&quot;true&quot;&gt;&lt;/span&gt;Cart The Happiest Baby Guide to Great Sleep" data-variant-id="29828673996" data-variant-qty="1" data-cart-add="29828673996" data-cart-quantity="1" data-item-category="Books & Media" data-item-price="746" data-item-title="The Happiest Baby Guide to Great Sleep"> Add to <span aria-hidden="true"></span>Cart </button> </div> <style> h2.product-item-title { margin-top: 14px; } @media only screen and (min-width: 500px) { .collection-product-grid .product-item-image img { min-height: 230px; } } .sale-badge { color: #FFFFFF; background-color: var(--color-coral); position: absolute; margin-left: -40px; font-weight: 500; padding: 2px 10px; border-radius: 10px; font-size: 12px; } a:hover .sale-badge { color: #ffffff; } </style> <div class="product-grid-item"> <a class="product-item-image" href="/products/baby-streaming-video-english"> <picture> <source media="(max-width: 320px)" srcset="//www.happiestbaby.com/cdn/shop/products/BABY-STREAMING-VIDEO-500x500-500x500.jpg?format=pjpg&v=1475198244&width=450"> <source media="(max-width: 450px)" srcset="//www.happiestbaby.com/cdn/shop/products/BABY-STREAMING-VIDEO-500x500-500x500.jpg?format=pjpg&v=1475198244&width=540"> <source media="(max-width: 640px)" srcset="//www.happiestbaby.com/cdn/shop/products/BABY-STREAMING-VIDEO-500x500-500x500.jpg?format=pjpg&v=1475198244&width=768"> <source media="(max-width: 768px)" srcset="//www.happiestbaby.com/cdn/shop/products/BABY-STREAMING-VIDEO-500x500-500x500.jpg?format=pjpg&v=1475198244&width=960"> <source media="(min-width: 960px)" srcset="//www.happiestbaby.com/cdn/shop/products/BABY-STREAMING-VIDEO-500x500-500x500.jpg?format=pjpg&v=1475198244&width=1200"> <img src="//www.happiestbaby.com/cdn/shop/products/BABY-STREAMING-VIDEO-500x500-500x500.jpg?format=pjpg&v=1475198244&width=320" width="230" height="230" alt="Happiest Baby on the Block (STREAMING)" loading="lazy" /> </picture> <span class="sale-badge">Sale</span> <h2 class="product-item-title">Happiest Baby on the Block (STREAMING) </h2> </a> <!-- Start of Judge.me code --> <div style='' class='jdgm-widget jdgm-preview-badge' data-id='8678028876' data-auto-install='false'><div style='display:none' class='jdgm-prev-badge' data-average-rating='4.64' data-number-of-reviews='89' data-number-of-questions='0'> <span class='jdgm-prev-badge__stars' data-score='4.64' tabindex='0' aria-label='4.64 stars' role='button'> <span class='jdgm-star jdgm--on'></span><span class='jdgm-star jdgm--on'></span><span class='jdgm-star jdgm--on'></span><span class='jdgm-star jdgm--on'></span><span class='jdgm-star jdgm--half'></span> </span> <span class='jdgm-prev-badge__text'> 89 reviews </span> </div></div> <!-- End of Judge.me code --> <script> var judgemeAverageRatingNumber = document.querySelector('.jdgm-prev-badge').dataset.averageRating; judgemeAverageRatingNumber = Number(judgemeAverageRatingNumber); judgemeAverageRatingNumber = (Math.round(judgemeAverageRatingNumber*10)/10).toFixed(1); document.querySelector('.jdgm-prev-badge').dataset.averageRating = judgemeAverageRatingNumber; </script> <a class="product-item-price" href="/products/baby-streaming-video-english"> <span role="alert" aria-label="Original price was $8.95 and the discounted price is $8.05"> <s class="card--product__compare-at-price" aria-hidden="true">$8.95 </s> <span aria-hidden="true">$8.05 </span> </span> </a> <button class="button button-small button-transparent-blue add-to-cart" aria-label="Add to &lt;span aria-hidden=&quot;true&quot;&gt;&lt;/span&gt;Cart Happiest Baby on the Block (STREAMING)" data-variant-id="29828673932" data-variant-qty="1" data-cart-add="29828673932" data-cart-quantity="1" data-item-category="Books & Media" data-item-price="805" data-item-title="Happiest Baby on the Block (STREAMING)"> Add to <span aria-hidden="true"></span>Cart </button> </div> <style> h2.product-item-title { margin-top: 14px; } @media only screen and (min-width: 500px) { .collection-product-grid .product-item-image img { min-height: 230px; } } .sale-badge { color: #FFFFFF; background-color: var(--color-coral); position: absolute; margin-left: -40px; font-weight: 500; padding: 2px 10px; border-radius: 10px; font-size: 12px; } a:hover .sale-badge { color: #ffffff; } </style> <div class="product-grid-item"> <a class="product-item-image" href="/products/baby-streaming-video-spanish"> <picture> <source media="(max-width: 320px)" srcset="//www.happiestbaby.com/cdn/shop/products/BABY-STREAMING-VIDEO-Spanish-version-2-1-500x500.jpg?format=pjpg&v=1475198238&width=450"> <source media="(max-width: 450px)" srcset="//www.happiestbaby.com/cdn/shop/products/BABY-STREAMING-VIDEO-Spanish-version-2-1-500x500.jpg?format=pjpg&v=1475198238&width=540"> <source media="(max-width: 640px)" srcset="//www.happiestbaby.com/cdn/shop/products/BABY-STREAMING-VIDEO-Spanish-version-2-1-500x500.jpg?format=pjpg&v=1475198238&width=768"> <source media="(max-width: 768px)" srcset="//www.happiestbaby.com/cdn/shop/products/BABY-STREAMING-VIDEO-Spanish-version-2-1-500x500.jpg?format=pjpg&v=1475198238&width=960"> <source media="(min-width: 960px)" srcset="//www.happiestbaby.com/cdn/shop/products/BABY-STREAMING-VIDEO-Spanish-version-2-1-500x500.jpg?format=pjpg&v=1475198238&width=1200"> <img src="//www.happiestbaby.com/cdn/shop/products/BABY-STREAMING-VIDEO-Spanish-version-2-1-500x500.jpg?format=pjpg&v=1475198238&width=320" width="230" height="230" alt="Happiest Baby on the Block in Spanish (Espanol) Streaming" loading="lazy" /> </picture> <span class="sale-badge">Sale</span> <h2 class="product-item-title">Happiest Baby on the Block in Spanish (Espanol) Streaming </h2> </a> <!-- Start of Judge.me code --> <div style='' class='jdgm-widget jdgm-preview-badge' data-id='8678028044' data-auto-install='false'><div style='display:none' class='jdgm-prev-badge' data-average-rating='0.00' data-number-of-reviews='0' data-number-of-questions='0'> <span class='jdgm-prev-badge__stars' data-score='0.00' tabindex='0' aria-label='0.00 stars' role='button'> <span class='jdgm-star jdgm--off'></span><span class='jdgm-star jdgm--off'></span><span class='jdgm-star jdgm--off'></span><span class='jdgm-star jdgm--off'></span><span class='jdgm-star jdgm--off'></span> </span> <span class='jdgm-prev-badge__text'> No reviews </span> </div></div> <!-- End of Judge.me code --> <script> var judgemeAverageRatingNumber = document.querySelector('.jdgm-prev-badge').dataset.averageRating; judgemeAverageRatingNumber = Number(judgemeAverageRatingNumber); judgemeAverageRatingNumber = (Math.round(judgemeAverageRatingNumber*10)/10).toFixed(1); document.querySelector('.jdgm-prev-badge').dataset.averageRating = judgemeAverageRatingNumber; </script> <a class="product-item-price" href="/products/baby-streaming-video-spanish"> <span role="alert" aria-label="Original price was $8.95 and the discounted price is $8.05"> <s class="card--product__compare-at-price" aria-hidden="true">$8.95 </s> <span aria-hidden="true">$8.05 </span> </span> </a> <button class="button button-small button-transparent-blue add-to-cart" aria-label="Add to &lt;span aria-hidden=&quot;true&quot;&gt;&lt;/span&gt;Cart Happiest Baby on the Block in Spanish (Espanol) Streaming" data-variant-id="29828673100" data-variant-qty="1" data-cart-add="29828673100" data-cart-quantity="1" data-item-category="Books & Media" data-item-price="805" data-item-title="Happiest Baby on the Block in Spanish (Espanol) Streaming"> Add to <span aria-hidden="true"></span>Cart </button> </div> <style> h2.product-item-title { margin-top: 14px; } @media only screen and (min-width: 500px) { .collection-product-grid .product-item-image img { min-height: 230px; } } .sale-badge { color: #FFFFFF; background-color: var(--color-coral); position: absolute; margin-left: -40px; font-weight: 500; padding: 2px 10px; border-radius: 10px; font-size: 12px; } a:hover .sale-badge { color: #ffffff; } </style> <div class="product-grid-item"> <a class="product-item-image" href="/products/toddler-streaming-video-english"> <picture> <source media="(max-width: 320px)" srcset="//www.happiestbaby.com/cdn/shop/products/TOT-STREAMING-VIDEO-500x500-500x500.jpg?format=pjpg&v=1475198236&width=450"> <source media="(max-width: 450px)" srcset="//www.happiestbaby.com/cdn/shop/products/TOT-STREAMING-VIDEO-500x500-500x500.jpg?format=pjpg&v=1475198236&width=540"> <source media="(max-width: 640px)" srcset="//www.happiestbaby.com/cdn/shop/products/TOT-STREAMING-VIDEO-500x500-500x500.jpg?format=pjpg&v=1475198236&width=768"> <source media="(max-width: 768px)" srcset="//www.happiestbaby.com/cdn/shop/products/TOT-STREAMING-VIDEO-500x500-500x500.jpg?format=pjpg&v=1475198236&width=960"> <source media="(min-width: 960px)" srcset="//www.happiestbaby.com/cdn/shop/products/TOT-STREAMING-VIDEO-500x500-500x500.jpg?format=pjpg&v=1475198236&width=1200"> <img src="//www.happiestbaby.com/cdn/shop/products/TOT-STREAMING-VIDEO-500x500-500x500.jpg?format=pjpg&v=1475198236&width=320" width="230" height="230" alt="Happiest Toddler on the Block: 8 mos - 5 yrs (STREAMING)" loading="lazy" /> </picture> <span class="sale-badge">Sale</span> <h2 class="product-item-title">Happiest Toddler on the Block: 8 mos - 5 yrs (STREAMING) </h2> </a> <!-- Start of Judge.me code --> <div style='' class='jdgm-widget jdgm-preview-badge' data-id='8678027788' data-auto-install='false'><div style='display:none' class='jdgm-prev-badge' data-average-rating='4.57' data-number-of-reviews='7' data-number-of-questions='0'> <span class='jdgm-prev-badge__stars' data-score='4.57' tabindex='0' aria-label='4.57 stars' role='button'> <span class='jdgm-star jdgm--on'></span><span class='jdgm-star jdgm--on'></span><span class='jdgm-star jdgm--on'></span><span class='jdgm-star jdgm--on'></span><span class='jdgm-star jdgm--half'></span> </span> <span class='jdgm-prev-badge__text'> 7 reviews </span> </div></div> <!-- End of Judge.me code --> <script> var judgemeAverageRatingNumber = document.querySelector('.jdgm-prev-badge').dataset.averageRating; judgemeAverageRatingNumber = Number(judgemeAverageRatingNumber); judgemeAverageRatingNumber = (Math.round(judgemeAverageRatingNumber*10)/10).toFixed(1); document.querySelector('.jdgm-prev-badge').dataset.averageRating = judgemeAverageRatingNumber; </script> <a class="product-item-price" href="/products/toddler-streaming-video-english"> <span role="alert" aria-label="Original price was $8.95 and the discounted price is $8.05"> <s class="card--product__compare-at-price" aria-hidden="true">$8.95 </s> <span aria-hidden="true">$8.05 </span> </span> </a> <button class="button button-small button-transparent-blue add-to-cart" aria-label="Add to &lt;span aria-hidden=&quot;true&quot;&gt;&lt;/span&gt;Cart Happiest Toddler on the Block: 8 mos - 5 yrs (STREAMING)" data-variant-id="29828672844" data-variant-qty="1" data-cart-add="29828672844" data-cart-quantity="1" data-item-category="Books & Media" data-item-price="805" data-item-title="Happiest Toddler on the Block: 8 mos - 5 yrs (STREAMING)"> Add to <span aria-hidden="true"></span>Cart </button> </div> <style> h2.product-item-title { margin-top: 14px; } @media only screen and (min-width: 500px) { .collection-product-grid .product-item-image img { min-height: 230px; } } .sale-badge { color: #FFFFFF; background-color: var(--color-coral); position: absolute; margin-left: -40px; font-weight: 500; padding: 2px 10px; border-radius: 10px; font-size: 12px; } a:hover .sale-badge { color: #ffffff; } </style> <div class="product-grid-item"> <a class="product-item-image" href="/products/toddler-streaming-video-spanish"> <picture> <source media="(max-width: 320px)" srcset="//www.happiestbaby.com/cdn/shop/products/TOT-STREAMING-VIDEO-Spanish-Version-1-500x500.jpg?format=pjpg&v=1475198237&width=450"> <source media="(max-width: 450px)" srcset="//www.happiestbaby.com/cdn/shop/products/TOT-STREAMING-VIDEO-Spanish-Version-1-500x500.jpg?format=pjpg&v=1475198237&width=540"> <source media="(max-width: 640px)" srcset="//www.happiestbaby.com/cdn/shop/products/TOT-STREAMING-VIDEO-Spanish-Version-1-500x500.jpg?format=pjpg&v=1475198237&width=768"> <source media="(max-width: 768px)" srcset="//www.happiestbaby.com/cdn/shop/products/TOT-STREAMING-VIDEO-Spanish-Version-1-500x500.jpg?format=pjpg&v=1475198237&width=960"> <source media="(min-width: 960px)" srcset="//www.happiestbaby.com/cdn/shop/products/TOT-STREAMING-VIDEO-Spanish-Version-1-500x500.jpg?format=pjpg&v=1475198237&width=1200"> <img src="//www.happiestbaby.com/cdn/shop/products/TOT-STREAMING-VIDEO-Spanish-Version-1-500x500.jpg?format=pjpg&v=1475198237&width=320" width="230" height="230" alt="Happiest Toddler on the Block: 8 mos - 5 yrs in Spanish (STREAMING)" loading="lazy" /> </picture> <span class="sale-badge">Sale</span> <h2 class="product-item-title">Happiest Toddler on the Block: 8 mos - 5 yrs in Spanish (STREAMING) </h2> </a> <!-- Start of Judge.me code --> <div style='' class='jdgm-widget jdgm-preview-badge' data-id='8678027980' data-auto-install='false'><div style='display:none' class='jdgm-prev-badge' data-average-rating='0.00' data-number-of-reviews='0' data-number-of-questions='0'> <span class='jdgm-prev-badge__stars' data-score='0.00' tabindex='0' aria-label='0.00 stars' role='button'> <span class='jdgm-star jdgm--off'></span><span class='jdgm-star jdgm--off'></span><span class='jdgm-star jdgm--off'></span><span class='jdgm-star jdgm--off'></span><span class='jdgm-star jdgm--off'></span> </span> <span class='jdgm-prev-badge__text'> No reviews </span> </div></div> <!-- End of Judge.me code --> <script> var judgemeAverageRatingNumber = document.querySelector('.jdgm-prev-badge').dataset.averageRating; judgemeAverageRatingNumber = Number(judgemeAverageRatingNumber); judgemeAverageRatingNumber = (Math.round(judgemeAverageRatingNumber*10)/10).toFixed(1); document.querySelector('.jdgm-prev-badge').dataset.averageRating = judgemeAverageRatingNumber; </script> <a class="product-item-price" href="/products/toddler-streaming-video-spanish"> <span role="alert" aria-label="Original price was $8.95 and the discounted price is $8.05"> <s class="card--product__compare-at-price" aria-hidden="true">$8.95 </s> <span aria-hidden="true">$8.05 </span> </span> </a> <button class="button button-small button-transparent-blue add-to-cart" aria-label="Add to &lt;span aria-hidden=&quot;true&quot;&gt;&lt;/span&gt;Cart Happiest Toddler on the Block: 8 mos - 5 yrs in Spanish (STREAMING)" data-variant-id="29828673036" data-variant-qty="1" data-cart-add="29828673036" data-cart-quantity="1" data-item-category="Books & Media" data-item-price="805" data-item-title="Happiest Toddler on the Block: 8 mos - 5 yrs in Spanish (STREAMING)"> Add to <span aria-hidden="true"></span>Cart </button> </div> </div> <style>.related-products-wrapper{background-color:var(--color-sea-foam-grey);padding-bottom:30px;}.related-products-container{position:relative;margin:0 auto;max-width:80vw;}.related-products-heading{font-weight:500;padding:44px 0 44px;color:var(--color-grey-blue);font-size:1.5em;text-align:center;}.related-product-image{margin-bottom:20px;}.related-product{text-align:left;width:20% !important;}.related-product-title,.related-product-price{width:200px;margin:0 auto;font-size:14px;line-height:1.57;}.related-product-title{flex:1 1 100%;}.related-product-price{flex:0 0 auto;}.related-product-title{margin-bottom:10px}.related-product [data-bv-show="inline_rating"]{margin:0 auto;width:200px;}.related-product-price{margin-bottom:0}@media only screen and (min-width:571px){.related-products-heading{/* font-size:31px; */padding:34px 0 49px;}.related-products-container{max-width:90vw;display:flex;margin:auto;flex-direction:row;justify-content:space-evenly}.related-product{display:grid;}.related-product:last-child{margin-right:0 !important;}.related-product-title,.related-product-price,.related-product [data-bv-show="inline_rating"]{font-size:14px;line-height:1.57;width:100%;}}@media only screen and (min-width:1000px){.related-products-container{max-width:1000px;}}.related-products-container .swiper-button-next,.related-products-container .swiper-button-prev{top:35%;}.related-products-container .swiper-button-next{right:-32px;}.related-products-container .swiper-button-prev{left:-32px;}@media only screen and (min-width:571px){.related-products-container .swiper-button-next,.related-products-container .swiper-button-prev{display:none;}}.swiper-flex-container{display:flex;flex-direction:column;} </style> <div class="related-products-wrapper"> <h2 class="related-products-heading">Related Products</h2> <div class="related-products-container"> <div class="swiper-button-prev icon--prev">prev</div> <div class="swiper-container mySwiperRelatedProducts"> <div class="swiper-wrapper"> <div class="related-product swiper-slide" onclick="ga('send', 'event', 'SNOO Product Page', 'Cross-sell click', '/products/snoo-rental')"> <a href="/products/snoo-rental" class="swiper-flex-container" aria-label="SNOO Smart Sleeper—Rental $159.00"><div class="related-product-image"> <img loading="lazy" src="//www.happiestbaby.com/cdn/shop/files/SNOO_Productshot_55bd2ec0-570e-45cb-8dcf-3f585d2012f0_240x240.progressive.jpg?v=1698443601" class="curved-corners" width="240" height="240" alt="SNOO Smart Sleeper—Rental" /> </div> <h3 class="related-product-title">SNOO Smart Sleeper—Rental </h3> <!-- Start of Judge.me code --> <div style='' class='jdgm-widget jdgm-preview-badge' data-id='1417799860341' data-auto-install='false'><div style='display:none' class='jdgm-prev-badge' data-average-rating='4.04' data-number-of-reviews='3433' data-number-of-questions='0'> <span class='jdgm-prev-badge__stars' data-score='4.04' tabindex='0' aria-label='4.04 stars' role='button'> <span class='jdgm-star jdgm--on'></span><span class='jdgm-star jdgm--on'></span><span class='jdgm-star jdgm--on'></span><span class='jdgm-star jdgm--on'></span><span class='jdgm-star jdgm--off'></span> </span> <span class='jdgm-prev-badge__text'> 3433 reviews </span> </div></div> <!-- End of Judge.me code --> <script> var judgemeAverageRatingNumber = document.querySelector('.jdgm-prev-badge').dataset.averageRating; judgemeAverageRatingNumber = Number(judgemeAverageRatingNumber); judgemeAverageRatingNumber = (Math.round(judgemeAverageRatingNumber*10)/10).toFixed(1); document.querySelector('.jdgm-prev-badge').dataset.averageRating = judgemeAverageRatingNumber; </script> <p class="related-product-price"> &nbsp;</p> </a> </div> <div class="related-product swiper-slide" onclick="ga('send', 'event', 'SNOO Product Page', 'Cross-sell click', '/products/snoo-smart-bassinet')"> <a href="/products/snoo-smart-bassinet" class="swiper-flex-container" aria-label="SNOO Smart Sleeper Bassinet (More colors) $1,186.50"><div class="related-product-image"> <img loading="lazy" src="//www.happiestbaby.com/cdn/shop/files/SNOO_Productshot_240x240.progressive.jpg?v=1698443556" class="curved-corners" width="240" height="240" alt="SNOO Smart Sleeper Bassinet" /> </div> <h3 class="related-product-title">SNOO Smart Sleeper Bassinet </h3> <!-- Start of Judge.me code --> <div style='' class='jdgm-widget jdgm-preview-badge' data-id='8704190732' data-auto-install='false'><div style='display:none' class='jdgm-prev-badge' data-average-rating='4.04' data-number-of-reviews='3433' data-number-of-questions='0'> <span class='jdgm-prev-badge__stars' data-score='4.04' tabindex='0' aria-label='4.04 stars' role='button'> <span class='jdgm-star jdgm--on'></span><span class='jdgm-star jdgm--on'></span><span class='jdgm-star jdgm--on'></span><span class='jdgm-star jdgm--on'></span><span class='jdgm-star jdgm--off'></span> </span> <span class='jdgm-prev-badge__text'> 3433 reviews </span> </div></div> <!-- End of Judge.me code --> <script> var judgemeAverageRatingNumber = document.querySelector('.jdgm-prev-badge').dataset.averageRating; judgemeAverageRatingNumber = Number(judgemeAverageRatingNumber); judgemeAverageRatingNumber = (Math.round(judgemeAverageRatingNumber*10)/10).toFixed(1); document.querySelector('.jdgm-prev-badge').dataset.averageRating = judgemeAverageRatingNumber; </script> <p class="related-product-price"> $1,186.50 </p> </a> </div> <div class="related-product swiper-slide" onclick="ga('send', 'event', 'SNOO Product Page', 'Cross-sell click', '/products/bassinet-sheets-bundle')"> <a href="/products/bassinet-sheets-bundle" class="swiper-flex-container" aria-label="Organic Bassinet Sheets 3 Pack (More colors) $38.50"><div class="related-product-image"> <img loading="lazy" src="//www.happiestbaby.com/cdn/shop/products/snoo-fittedsheets-bundle-graphite-ivory-black_240x240.progressive.jpg?v=1690275331" class="curved-corners" width="240" height="240" alt="Organic Bassinet Sheets 3 Pack" /> </div> <h3 class="related-product-title">Organic Bassinet Sheets 3 Pack <br /> (More colors)</h3> <!-- Start of Judge.me code --> <div style='' class='jdgm-widget jdgm-preview-badge' data-id='4384811876398' data-auto-install='false'><div style='display:none' class='jdgm-prev-badge' data-average-rating='4.48' data-number-of-reviews='62' data-number-of-questions='0'> <span class='jdgm-prev-badge__stars' data-score='4.48' tabindex='0' aria-label='4.48 stars' role='button'> <span class='jdgm-star jdgm--on'></span><span class='jdgm-star jdgm--on'></span><span class='jdgm-star jdgm--on'></span><span class='jdgm-star jdgm--on'></span><span class='jdgm-star jdgm--half'></span> </span> <span class='jdgm-prev-badge__text'> 62 reviews </span> </div></div> <!-- End of Judge.me code --> <script> var judgemeAverageRatingNumber = document.querySelector('.jdgm-prev-badge').dataset.averageRating; judgemeAverageRatingNumber = Number(judgemeAverageRatingNumber); judgemeAverageRatingNumber = (Math.round(judgemeAverageRatingNumber*10)/10).toFixed(1); document.querySelector('.jdgm-prev-badge').dataset.averageRating = judgemeAverageRatingNumber; </script> <p class="related-product-price"> $38.50 </p> </a> </div> <div class="related-product swiper-slide" onclick="ga('send', 'event', 'SNOO Product Page', 'Cross-sell click', '/products/the-big-bundle')"> <a href="/products/the-big-bundle" class="swiper-flex-container" aria-label="The Big Bundle (More colors) $94.10"><div class="related-product-image"> <img loading="lazy" src="//www.happiestbaby.com/cdn/shop/products/snoo_bundle_white_us_9d6c95b6-9426-480a-8a19-3852765d655f_240x240.progressive.jpg?v=1614758463" class="curved-corners" width="240" height="240" alt="The Big Bundle" /> </div> <h3 class="related-product-title">The Big Bundle <br /> (More colors)</h3> <!-- Start of Judge.me code --> <div style='' class='jdgm-widget jdgm-preview-badge' data-id='136574238745' data-auto-install='false'><div style='display:none' class='jdgm-prev-badge' data-average-rating='4.08' data-number-of-reviews='130' data-number-of-questions='0'> <span class='jdgm-prev-badge__stars' data-score='4.08' tabindex='0' aria-label='4.08 stars' role='button'> <span class='jdgm-star jdgm--on'></span><span class='jdgm-star jdgm--on'></span><span class='jdgm-star jdgm--on'></span><span class='jdgm-star jdgm--on'></span><span class='jdgm-star jdgm--off'></span> </span> <span class='jdgm-prev-badge__text'> 130 reviews </span> </div></div> <!-- End of Judge.me code --> <script> var judgemeAverageRatingNumber = document.querySelector('.jdgm-prev-badge').dataset.averageRating; judgemeAverageRatingNumber = Number(judgemeAverageRatingNumber); judgemeAverageRatingNumber = (Math.round(judgemeAverageRatingNumber*10)/10).toFixed(1); document.querySelector('.jdgm-prev-badge').dataset.averageRating = judgemeAverageRatingNumber; </script> <p class="related-product-price"> $94.10 </p> </a> </div> </div> </div> <div class="swiper-button-next icon--next">next</div> </div> </div> <script> $(document).ready(function() { var swiperRelatedProducts = new Swiper(".mySwiperRelatedProducts", { slidesPerView: 1, spaceBetween: 10, freeMode: true, keyboard: { enabled: true, }, breakpoints: { // when window width is >= 571px 571: { slidesPerView: 4, spaceBetween: 20 }, 1000: { slidesPerView: 4, spaceBetween: 50 } }, //grabCursor: true, watchSlidesVisibility: true, watchSlidesProgress: true, navigation: { nextEl: ".swiper-button-next", prevEl: ".swiper-button-prev", }, }); }); /* Fix SVG Title + Desc Tags for Accessibility */ var svgTitle = 'Star Icons'; var svgDesc = 'Star Icons are used for Star Ratings Review'; var bvInlineRatings = document.querySelectorAll('div[data-bv-show=inline_rating]'); /* Loop through each inline ratings parent and tag each svg star with title and desc */ for(a=0; a<bvInlineRatings.length; a++) { // console.log('::: bvInlineRatings[a]',bvInlineRatings[a]); var svgParentId = bvInlineRatings[a].dataset.bvProductId; var svgParentTarget = 'div[data-bv-product-id="'+svgParentId+'"]' observeSvgs(svgParentTarget, svgTitle, svgDesc); } </script> </div> </main> <div> <footer class="global-footer-section"> <div class="global-footer-container"> <div class="global-block"> <ul> <li><a href="https://www.happiestbaby.com/pages/snoo">SNOO Smart Sleeper</a></li> <li><a href="/blogs/baby/the-5-s-s-for-soothing-babies">The 5 S's</a></li> <li><a href="/pages/our-mission">Mission</a></li> <li><a href="/pages/dr-karp">Founders</a></li> <li><a href="/pages/meet-the-team">Team</a></li> <li><a href="https://happiestbaby.applytojob.com/apply">Careers</a></li> <li><a href="/pages/snoo-safety-and-security">SNOO Safety and Security</a></li> <li><a href="https://support.happiestbaby.com/hc/en-us/articles/360000450713-SNOO-User-Guide">SNOO User Guide</a></li> </ul> </div> <div class="global-block"> <ul> <li><a href="/pages/fda" >FDA</a></li> <li><a href="/pages/snooreviews" >SNOO Reviews</a></li> <li><a href="/pages/recent-press-coverage" >Press</a></li> <li><a href="/pages/snoo-videos" >SNOO Videos</a></li> <li><a href="/pages/wholesale-inquiry" >Wholesale Inquiry</a></li> <li><a href="/pages/employee-benefits" >Employee Benefit Program</a></li> <li><a href="https://health.happiestbaby.com/" >For Healthcare Professionals</a></li> <li><a href="/pages/affiliates" >Affiliates</a></li> <li><a href="/collections/replacement-products" >Replacement Products</a></li> </ul> </div> <div class="global-block "> <ul> <li><a href="/pages/sustainability" >Sustainability</a></li> <li><a href="/pages/contact-us" >Contact Us</a></li> <li><a href="https://snoo-rental.happiestbaby.com/login" >Rental Return</a></li> <li><a href="https://support.happiestbaby.com/hc/en-us/requests/new?ticket_form_id=340887" >Product Registration</a></li> <li><a href="/pages/shipping-returns" >Fees, Shipping & Returns</a></li> <li><a href="https://www.happiestbaby.com/refer-a-friend" >Refer-A-Friend</a></li> <li><a href="/pages/military" >Military Discount</a></li> <li><a href="/pages/authorized-partner" >Authorized Partners</a></li> </ul> </div> <div class="global-block signup"> <style data-shopify>.email_signup-footer { overflow: hidden; } iframe.attntv-form-id { border: none; outline: none; overflow: hidden; width: 100%; height: 600px; margin-top: -2.5rem; }</style> <!--start Klaviyo form--> <div id="footer-email-signup-desktop" class="email_signup-footer"> <iframe class="attntv-form-id" scrolling="no" border=“0” name=“attentive-form” title="Intentionally blank" src="https://happiestbaby.attn.tv/p/jU4/landing-page"> </iframe> </div> <script> // select the target node var target = document.querySelector(".email_signup-footer"); // create an observer instance var klaviyo_footer_form = new MutationObserver(function(mutations) { // We need only first event and only new value of the title var ariaElements = ['input[type=email]']; // 'aria_element' or 'aria_element_1', 'aria_element_2', aria_element_3'; for (var i=0; i<ariaElements.length; i++) { if (document.querySelector(ariaElements[i]) == undefined || document.querySelector(ariaElements[i]) == null) { return; } else if (!document.querySelector(ariaElements[i]).hasAttribute('aria-required')) { document.querySelector(ariaElements[i]).setAttribute('aria-required',true); } else if (document.querySelector(ariaElements[i]).hasAttribute('aria-required')) { klaviyo_footer_form.disconnect(); } } }); // configuration of the observer: var config = { subtree: true, characterData: true, childList: true }; // pass in the target node, as well as the observer options klaviyo_footer_form.observe(target, config); </script> </div> </div> <div class="mobile-global-footer-container"> <div class="mobile-global-block"> <div class="mobile-menu-footer"> <style data-shopify>.email_signup-footer { overflow: hidden; } iframe.attntv-form-id { border: none; outline: none; overflow: hidden; width: 100%; height: 600px; margin-top: -2.5rem; }</style> <!--start Klaviyo form--> <div id="footer-email-signup-mobile" class="email_signup-footer"> <iframe class="attntv-form-id" scrolling="no" border=“0” name=“attentive-form” title="Intentionally blank" src="https://happiestbaby.attn.tv/p/jU4/landing-page"> </iframe> </div> <script> // select the target node var target = document.querySelector(".email_signup-footer"); // create an observer instance var klaviyo_footer_form = new MutationObserver(function(mutations) { // We need only first event and only new value of the title var ariaElements = ['input[type=email]']; // 'aria_element' or 'aria_element_1', 'aria_element_2', aria_element_3'; for (var i=0; i<ariaElements.length; i++) { if (document.querySelector(ariaElements[i]) == undefined || document.querySelector(ariaElements[i]) == null) { return; } else if (!document.querySelector(ariaElements[i]).hasAttribute('aria-required')) { document.querySelector(ariaElements[i]).setAttribute('aria-required',true); } else if (document.querySelector(ariaElements[i]).hasAttribute('aria-required')) { klaviyo_footer_form.disconnect(); } } }); // configuration of the observer: var config = { subtree: true, characterData: true, childList: true }; // pass in the target node, as well as the observer options klaviyo_footer_form.observe(target, config); </script> <div class="mobile-menu-side"> <ul> <li><a href="/pages/dr-karp" >Founders</a></li> <li><a href="/pages/our-mission" >Mission</a></li> <li><a href="/pages/meet-the-team" >Team</a></li> <li><a href="https://happiestbaby.applytojob.com/apply" >Careers</a></li> <li><a href="/blogs/baby/the-5-s-s-for-soothing-babies" >The 5 S's</a></li> <li><a href="/pages/recent-press-coverage" >In the Press</a></li> <li><a href="/pages/military" >Military Discount</a></li> <li><a href="/pages/wholesale-inquiry" >Wholesale Inquiry</a></li> <li><a href="/pages/employee-benefits" >Employee Benefit Program</a></li> <li><a href="https://health.happiestbaby.com/" >Healthcare Program</a></li> <li><a href="/pages/affiliates" >Affiliates</a></li> <li><a href="/collections/replacement-products" >Replacement Products</a></li> </ul> </div> <div class="mobile-menu-side"> <ul> <li><a href="/pages/fda" >FDA</a></li> <li><a href="/pages/snooreviews" >SNOO Reviews</a></li> <li><a href="https://snoo-rental.happiestbaby.com/login" >Rental Return</a></li> <li><a href="https://www.happiestbaby.com/pages/snoo" >SNOO Smart Sleeper</a></li> <li><a href="/pages/snoo-safety-and-security" >SNOO Safety and Security</a></li> <li><a href="/pages/snoo-videos" >SNOO Videos</a></li> <li><a href="https://support.happiestbaby.com/hc/en-us/requests/new?ticket_form_id=340887" >Product Registration</a></li> <li><a href="/pages/shipping-returns" >Shipping and Returns</a></li> <li><a href="https://referrals.happiestbaby.com" >Refer-A-Friend</a></li> <li><a href="https://support.happiestbaby.com/hc/en-us/articles/360000450713-SNOO-User-Guide" >SNOO User Guide</a></li> <li><a href="/pages/contact-us" >Contact Us</a></li> <li><a href="/pages/sustainability" >Sustainability</a></li> </ul> </div> </div> </div> </div> <div> <ul class="footer-social-icon-wrapper"><li class="social-icon"> <a href="https://www.facebook.com/thehappiestbaby" rel="noreferrer" onclick="ga('send', 'event', 'Social Icon', 'Clicked FB', '');" target="_blank" aria-label="Facebook - Link opens in a new page"><i class="fa fa-facebook" tabindex="-1"></i></a> </li> <li class="social-icon"> <a href="https://twitter.com/happiestbaby" rel="noreferrer" onclick="ga('send', 'event', 'Social Icon', 'Clicked Twitter', '');" target="_blank" aria-label="Twitter - Link opens in a new page"><i class="fa fa-twitter" tabindex="-1"></i></a> </li> <li class="social-icon"> <a href="https://www.pinterest.com/happiestbaby/" rel="noreferrer" onclick="ga('send', 'event', 'Social Icon', 'Clicked Pinterest', '');" target="_blank" aria-label="Pinterest - Link opens in a new page"><i class="fa fa-pinterest" tabindex="-1"></i></a> </li> <li class="social-icon"> <a href="https://www.instagram.com/happiest_baby/" rel="noreferrer" onclick="ga('send', 'event', 'Social Icon', 'Clicked Instagram', '');" target="_blank" aria-label="Instagram - Link opens in a new page"><i class="fa fa-instagram" tabindex="-1"></i></a> </li> <li class="social-icon"> <a href="https://www.youtube.com/user/thehappiestbaby" rel="noreferrer" onclick="ga('send', 'event', 'Social Icon', 'Clicked YouTube', '');" target="_blank" aria-label="YouTube - Link opens in a new page"><i class="fa fa-youtube-play" tabindex="-1"></i></a> </li></ul> </div> <div> <div> <ul class="footer__legal-links"> <li class="footer__legal-list-item"><a id="pos-doc" href="" class="legal-doc-link">Privacy Policy</a><li> <li class="footer__legal-list-item"><a href="/pages/cookie-policy">Cookie Policy</a></li> <li class="footer__legal-list-item"><a href="/pages/happiest-baby-accessibility-statement">Accessibility</a></li> <li class="footer__legal-list-item"><a href="/pages/legal">Legal</a></li> <li class="footer__legal-list-item"><a href="javascript:void(0);" class="cmp-revoke-consent" onclick="showConsentPreferencesPopup()">Cookie Preferences</a></li> </ul> </div> <script> var selectedLang = ""; var langLocalStorage = localStorage.getItem("wglang") const posLink = document.querySelector('#pos-doc'); const tosLink = document.querySelector('#tos-doc'); const eulaLink = document.querySelector('#eula-doc'); var posUrl = 'https://legal.happiestbaby.com/privacy-policy'; var tosUrl = 'https://legal.happiestbaby.com/terms-of-service'; var eulaUrl = 'https://legal.happiestbaby.com/eula'; if (langLocalStorage) { selectedLang = langLocalStorage; } if (selectedLang !== "") { posUrl += `?lang=${selectedLang}`; tosUrl +=`?lang=${selectedLang}`; eulaUrl += `?lang=${selectedLang}`; } if (posLink) { posLink.setAttribute('href', posUrl); posLink.setAttribute('target', '_blank'); } if (tosLink) { tosLink.setAttribute('href', tosUrl); tosLink.setAttribute('target', '_blank'); } if (eulaLink) { eulaLink.setAttribute('href', eulaUrl); eulaLink.setAttribute('target', '_blank'); } </script> </div> <div> <p class="copyright-message">Copyright &copy; 2024 Happiest Baby, Inc | All Rights Reserved</p> <p class="copyright-message" style="margin-top: 1rem;">All third party trademarks (including names, logos, and icons) referenced by Happiest Baby remain the property of their respective owners. Unless specifically identified as such, Happiest Baby’s use of third party trademarks does not indicate any relationship, sponsorship, or endorsement between Happiest Baby and the owners of these trademarks. Any references by Happiest Baby to third party trademarks are to identify the corresponding third party goods and/or services and shall be considered nominative fair use under the trademark law.</p> </div> </footer> </div> <script> /* Apply Fix for SVG */ setTimeout(function(){ var svgParentTarget = document.querySelector('#securitiCmpCookiePrefBtn svg'); var svgTitle = 'Settings Icon'; var svgDesc = 'Settings Icon is used for the Cookie Preferences link'; if (svgParentTarget == undefined || svgParentTarget == null) { return; } else { var title = document.createElement('title'); title.textContent = svgTitle; var desc = document.createElement('desc'); desc.textContent = svgDesc; svgParentTarget.role = 'button'; svgParentTarget.append(title, desc); } }, 2000); window.addEventListener('load', function(e){ var venboxBtnModal = document.querySelectorAll('.venobox.vbox-item'); for(i=0; i<venboxBtnModal.length; i++) { if (venboxBtnModal[i]) { venboxBtnModal[i].addEventListener('click', function(e){ var checkExist = setInterval(function() { var inlineModal = document.querySelector(".vbox-inline"); if(inlineModal) { setTimeout(function () { inlineModal.tabIndex = '-1'; inlineModal.focus(); }, 500) clearInterval(checkExist); } // Video iFrame var videoIframe = document.getElementsByClassName("venoframe")[0]; if (videoIframe) { setTimeout(function () { videoIframe.contentWindow.focus() }, 500) clearInterval(checkExist); } // Page Scrolling, Trap Focus, and Close Button Focus and Functionality var pageBackground = document.querySelector('body'); pageBackground.classList.add = 'no-scroll'; var vboxCloseBtn = document.querySelector('.vbox-close'); vboxCloseBtn.ariaLabel = "Close Modal" vboxCloseBtn.tabIndex = '0'; vboxCloseBtn.role = "button"; vboxCloseBtn.addEventListener('keydown', function(e) { if(e.key === 'Enter') { pageBackground.classList.remove = 'no-scroll'; this.click(); } }); trapFocus('.vbox-overlay'); },100); }); } } }); </script> <!-- Footer Scripts ================================ --> <script src="//www.happiestbaby.com/cdn/shopifycloud/shopify/assets/themes_support/option_selection-86cdd286ddf3be7e25d68b9fc5965d7798a3ff6228ff79af67b3f4e41d6a34be.js"></script> <script src="//www.happiestbaby.com/cdn/shop/t/1010/assets/vendor-head-defer.js?v=74277473891599345111732206484"></script> <!-- cartjs-ajax-cart --> <script> var focusInterval; var discountAmt = 0; var purchaseQty = 0; var purchaseLineNumber = 0; var discountCodeEnabledPurchase = false; var alertTextTooManySnooPurchases = 'There is a maximum of 3 SNOO purchases!'; var alertTextTooManyNonSnooPurchases = 'There is a maximum quantity of 10 for each product'; var rentalQty = 0; var reconditioningQty = 0; var visibleCartShipDateFormat = setVisibleCartShipDateFormat('MM-DD-YYYY'); var refurbLineNumber = 0; var refurbQty = 0; var rentalLineNumber = 0; var reconditioningPrice = 9950; var reconditioningLineNumber = 0; var securityDeposit = 9900; var discountCodeEnabledRental = false; var alertTextTooManySnooRentals = 'There is a maximum of 3 SNOO rentals!'; var alertTextRentalAndPurchase = 'You may only have either a SNOO rental or purchase in your cart. Please remove either one to proceed with checkout.'; var upsellInCart_1 = false; var mustVerifyShipDateInLocalStorage = false; function runBundleSetPropertyHandler(cart_object){ var cart = cart_object; function checkItemCountInSet(uniq_bundle_sets, bundle_size) { var count = 0; var cartBundleItems = []; for (i=0; i<cartBundleItems.length; i++) { if (cartBundleItems[i].indexOf(uniq_bundle_sets) > -1) { count++; } } var isSetSize = (bundle_size == count); if (!isSetSize && bundle_size > 0 && uniq_bundle_sets !== 'false') { var updateItems = []; for (j=0; j<cart.items.length; j++) { if (cart.items[j].properties.campaign_group === uniq_bundle_sets) { var itemLine = j+1; var itemQty = cart.items[j].quantity; var itemProperties = {"bundle_tags_removed": "true"}; var itemObject = { line: itemLine, quantity: itemQty, properties: itemProperties }; updateItems.push(itemObject); CartJS.updateItem(parseInt(itemLine), parseInt(itemQty), itemProperties, { "success": function(data, textStatus, jqXHR) { }, "error": function(jqXHR, textStatus, errorThrown) { console.error('6-8. CartJS ERROR:', textStatus, errorThrown) } }); } } } else { } } } function getCartInfo(cart) {jQuery.getJSON('/cart.js', function(cart) { // HIDE CART BANNER FOR DIGITAL PRODUCTS // // Reset values because line items and quantities change via ajax discountAmt = 0; purchaseQty = 0; refurbQty = 0; purchaseLineNumber = 0; refurbLineNumber = 0 rentalQty = 0; rentalLineNumber = 0; reconditioningQty = 0; reconditioningLineNumber = 0;// Hide banner for digital products $('.ajax-cart-item__qty-update--plus').prop('disabled', false); $('.ajax-cart-item-list .ajax-cart-item').removeClass().addClass('ajax-cart-item hidden'); $('.ajax-cart-item__price-compare-at').hide(); $('.ajax-cart-item__ship-date-text').hide(); $('.ajax-cart-item__content .item--free-product__description').remove(); for (var i = 0; i < cart.items.length; i++) { // Add classes to items in each list for targeting later $('.ajax-cart-item-list--snoo .ajax-cart-item').eq(i) .addClass('item--'+cart.items[i].handle) .addClass('item--'+cart.items[i].variant_id); $('.ajax-cart-item-list--non-snoo .ajax-cart-item').eq(i) .addClass('item--'+cart.items[i].handle) .addClass('item--'+cart.items[i].variant_id); $('.ajax-cart-item-list--reconditioning-fee .ajax-cart-item').eq(i) .addClass('item--'+cart.items[i].handle) .addClass('item--'+cart.items[i].variant_id); /* Loop through product IDs here */ switch (cart.items[i].product_id) { case 8704190732: purchaseQty = cart.items[i].quantity; purchaseLineNumber = Number(i+1); break; case 7653469880510: refurbQty = cart.items[i].quantity; refurbLineNumber = Number(i+1); break; case 1417799860341: rentalQty = cart.items[i].quantity; rentalLineNumber = Number(i+1); break; case 1728501678126: reconditioningQty = cart.items[i].quantity; reconditioningLineNumber = Number(i+1); break; case 4467310264366: $('.ajax-cart-item.item--gift-card .ajax-cart-item__qty-update--plus').prop('disabled', true);; break; } /* Loop through variant IDs here if there are free products with snoo or */ switch (cart.items[i].variant_id) { } // Show snoo products from initial list and non-snoo items from 2nd list so that snoo products are always at the top $('.ajax-cart-item-list--snoo .ajax-cart-item.item--snoo-rental, .ajax-cart-item-list--snoo .ajax-cart-item.item--preloved-snoo, .ajax-cart-item-list--snoo .ajax-cart-item.item--snoo-smart-bassinet').removeClass('hidden'); $('.ajax-cart-item-list--reconditioning-fee .ajax-cart-item.item--reconditioning-fee').removeClass('hidden'); $('.ajax-cart-item-list--non-snoo .ajax-cart-item').addClass('hidden'); $('.ajax-cart-item-list--non-snoo .ajax-cart-item').not('.item--snoo-rental, .item--preloved-snoo, .item--snoo-smart-bassinet, .item--reconditioning-fee').removeClass('hidden'); // Add additional info for the rental product if ($('.ajax-cart-item-list--snoo .item--snoo-rental .ajax-cart-item__content .ajax-cart-item__addl-rental-info').length < 1) { $('.ajax-cart-item-list--snoo .item--snoo-rental .ajax-cart-item__content').append(` <div class="ajax-cart-item__addl-rental-info"> <div class="ajax-cart-item__addl-rental-info__text"> Includes mattress, organic sheet, <span class="u-no-wrap">2 swaddles</span> <strong style="font-weight: 700;">($100 value)</strong> </div> <div class="ajax-cart-item__price-container"> <strong>$0.00</strong> </div> </div>` ); } fetch('/variants/' + cart.items[i].variant_id + '.json') .then(function(response) { return response.json(); }) .then(function(productData) { var variantID = productData["product_variant"].id; var variantPrice = productData["product_variant"].price; var variantCompareAtPrice = productData["product_variant"].compare_at_price; if (variantCompareAtPrice > 0 && variantCompareAtPrice != variantPrice) { $('.item--'+variantID+' .ajax-cart-item__price-compare-at').text(Shopify.formatMoney(variantCompareAtPrice,"${{amount}}")).show(); } }); if (cart.items[i].quantity > 10) { updateCart('update','non-snoo',i+1, 10); showAjaxCartAlert(alertTextTooManyNonSnooPurchases); } if (cart.items[i].discounted_price < cart.items[i].original_price) { $('.item--'+cart.items[i].variant_id+' .ajax-cart-item__price-compare-at') .text(Shopify.formatMoney(cart.items[i].original_price,"${{amount}}")) .show() .closest('.ajax-cart-item') .addClass('ajax-cart-item__discounted_by_script'); } } // Make rental ship date match date in localStorage if it doesn't already verifyRentalShipDateInCart(cart);if (purchaseQty > 3) { showAjaxCartAlert(alertTextTooManySnooPurchases); updateSnooQtyToMax('purchase'); } if (refurbQty > 3) { showAjaxCartAlert(alertTextTooManySnooPurchases); updateSnooQtyToMax('refurbished'); }if (rentalQty > 3) { showAjaxCartAlert(alertTextTooManySnooRentals); updateSnooQtyToMax('rental'); } if ((rentalQty > 0) && (purchaseQty > 0)) { showAjaxCartAlert(alertTextRentalAndPurchase); isCheckoutDisabled(true); } else if ((rentalQty > 0) && (refurbQty > 0)) { showAjaxCartAlert('Please remove either SNOO Rental or Pre-Loved SNOO in order to checkout!'); isCheckoutDisabled(true); } else if ((purchaseQty > 0) && (refurbQty > 0)) { showAjaxCartAlert('Please remove either SNOO or Pre-Loved SNOO in order to checkout!'); isCheckoutDisabled(true); } else { isCheckoutDisabled(false); }// reconditioning fee qty should always match the number of rentals in the cart if (rentalQty != reconditioningQty) { updateReconditioningFeeQuantity(rentalQty); }displayShipDate(cart); updateCartItemAndSubtotal(cart); updateSnooQuantityOptions(cart); updateUSFreeShippingDisclaimer(rentalQty); updateScrollClass(); verifyShipDateInLocalStorage(cart); }); } /** * Compare the localStorage shipping-date with ship date of the SNOO in the cart. * If they don't match, set the localStorage shipping-date to the date in the cart. * This is called when a SNOO is removed from the cart; particularly helpful when there had been * two SNOOs in cart before one removed. */ function verifyShipDateInLocalStorage(cart) { var dateInLocalStorage; var newShipDateForLocalStorage; if (mustVerifyShipDateInLocalStorage) { dateInLocalStorage = JSON.parse(localStorage.getItem('shipping-date')); if (purchaseQty > 0) { newShipDateForLocalStorage = compareShipDates(dateInLocalStorage, cart.items[purchaseLineNumber - 1].properties.ShipDate.substring(0,10)); } else if (rentalQty > 0) { newShipDateForLocalStorage = compareShipDates(dateInLocalStorage, cart.items[rentalLineNumber - 1].properties.ShipDate.substring(0,10)); } else if (refurbQty > 0) { newShipDateForLocalStorage = compareShipDates(dateInLocalStorage, cart.items[refurbLineNumber - 1].properties.ShipDate.substring(0,10)); } else { // neither a purchase nor a rental is in cart anymore, so remove shipping-date localStorage.removeItem('shipping-date'); } if (newShipDateForLocalStorage) { // make localStorage match date in cart localStorage.setItem('shipping-date', JSON.stringify(newShipDateForLocalStorage)); } mustVerifyShipDateInLocalStorage = false; } // Compare localStorage and cart ship dates function compareShipDates(dateInLocalStorage, dateInCart) { if (dateInLocalStorage !== dateInCart) { return dateInCart; } else { return; } } } /** * Check if rental ship date matches ship date in localStorage. * If doesn't, set it to the localStorage date. This is necessary * because rental ship date can be changed in checkout and when * that happens, the ship date in the cart is not changed, just * the ship date in localStorage. */ function verifyRentalShipDateInCart(cart) { var dateInCart; var dateInLocalStorage; if (rentalQty > 0 && purchaseQty === 0) { dateInCart = cart.items[rentalLineNumber - 1].properties.ShipDate.substring(0,10); dateInLocalStorage = JSON.parse(localStorage.getItem('shipping-date')); if (dateInCart !== dateInLocalStorage) { console.log('>>>> dateInCart does not match dateInLocalStorage'); CartJS.updateItem(rentalLineNumber, undefined, {'ShipDate': dateInLocalStorage + 'T12:00:00-00:00'}); } } } function isCheckoutDisabled(state) { var checkoutButton = document.querySelector('#checkout-button'); if (state) { checkoutButton.classList.add('disabled'); } else { checkoutButton.classList.remove('disabled'); } } window.addEventListener('load',(e)=>{ var openCart = localStorage.getItem('openCart'); if(openCart === 'true') { openAjaxCart(); console.log('*** NOW removeItem cartOpen'); localStorage.removeItem('openCart'); } }); function openAjaxCart(e) { fetch("/cart.js") .then((response) => { return response.json(); }) .then((data) => { if (data.item_count > 0) { reviewCartData(data); } }); setTimeout(function(){ $('.ajax-cart__upsell .container-inner').addClass('inactive'); },100); $('.overlay').show().addClass('clickable'); $('.nav-bag-icon').attr("aria-expanded","true"); $('.ajax-cart').addClass('ajax-cart-open').css({'right':'0','visibility':'visible'}); $('[data-cart-view]').show(); // for accessibility if (!$('.ajax-cart').find($(document.activeElement)).length) { focusInterval = setInterval(() => { $('[data-cart-view]').attr("tabindex", "-1").focus(); if ($('[data-cart-view]').is(":focus")) { clearInterval(focusInterval); } }, 100); } /* Run functions when Cart loaded */ $('.ajax-cart__upsell .container-inner').removeClass('inactive'); trapFocus('.ajax-cart'); Scroll.lock(); /* We have to use a setTimeout, because button has attributes and properties being added dynamically and can't be catched during page load */ setTimeout(function(){ var ajaxCartItems = document.querySelectorAll('.ajax-cart-item'); var bundleGroup; var itemReplacementMattress; var itemReplacementCover; for(i=0; i<ajaxCartItems.length; i++) { /* Gather all Bundled Sets */ bundleGroup = ajaxCartItems[i].querySelectorAll('[data-bundle-name]'); /* Go through each item belonging to a Bundled Set */ for(b=0; b<bundleGroup.length; b++) { var bundleName = bundleGroup[b].textContent.replace('Bundle:','').trim(); var bundleUrl = bundleName.split('-'); bundleUrl = bundleUrl[0].replaceAll('_','-').replaceAll(' ','-'); if (bundleUrl.indexOf('replacement-bundle-set') !== -1) { var bundleSetImage = "\/\/www.happiestbaby.com\/cdn\/shop\/files\/MattressReplacement01.png?v=1715806896"; } var parentNode = bundleGroup[b].closest('.ajax-cart-item'); var itemHrefs = parentNode.getElementsByTagName('a'); for(j=0; j<itemHrefs.length;j++) { itemHrefs[j].href = `/products/${bundleUrl}`; } if (bundleUrl.indexOf('replacement-bundle-set') !== -1) { var itemImg = parentNode.getElementsByTagName('img'); itemImg[0].src = bundleSetImage; } var removeButton = parentNode.querySelector('button[data-cart-remove-id]') || false; if(!!removeButton) { var bundleItemId = removeButton.dataset.cartRemoveId; removeButton.removeAttribute('data-cart-remove-id'); removeButton.setAttribute('data-line-item-id',bundleItemId); removeButton.setAttribute('data-bundle-id',bundleName); removeButton.setAttribute('onClick',`removeBundleItems('${bundleName}')`); } } } },1250); } const removeBundleItems = (campaign_name) => { // run through each item with the same campaign_name var bundleSet = document.querySelectorAll(`button[data-bundle-id="${campaign_name}"]`); let uniqueLineItems = []; bundleSet.forEach(element => { if (!uniqueLineItems.includes(element.dataset.lineItemId)) { uniqueLineItems.push(element.dataset.lineItemId); } }); uniqueLineItems.forEach(line_item => { CartJS.removeItemById(line_item); }); } function closeAjaxCart() { clearInterval(focusInterval); $('.overlay').hide(); $('.nav-bag-icon').attr("aria-expanded","false"); $('.ajax-cart').removeClass('ajax-cart-open').attr('tabindex','-1').css('visibility','hidden'); $('.ajax-cart__upsell .container-inner').addClass('inactive'); // Remove Focusability from Close Cart Icon $('.ajax-cart-item__close-cart').attr('tabindex',-1); if (window.innerWidth >= 768) { $('.ajax-cart').css('right','-500px'); } else { $('.ajax-cart').css('right','-100vw'); } $('.ajax-cart').click().blur(); $('[data-cart-view]').hide(); // for accessibility $(function(){ $('button.site-nav__link--bag-icon').focus(); }); // adds focus to Cart Icon after close Scroll.unlock(); } // Adds a class with styling if the cart item list is scrolling function updateScrollClass() { if ($('.ajax-cart-item-list')) { if ($('.ajax-cart-item-list')[0].scrollHeight > $('.ajax-cart-item-list').height()) { $('.ajax-cart-item-list').addClass('ajax-cart-item-list--with-scroll'); } else { $('.ajax-cart-item-list').removeClass('ajax-cart-item-list--with-scroll'); } } } function showAjaxCartAlert(msg) { $('.ajax-cart-alert-banner__text').html(msg).parent().show(); } function clearAjaxCartAlert() { setTimeout(function(){ $('.ajax-cart-alert-banner__text').html('').parent().hide(); }, 1000); } function updateCart(task, productName, lineNumber = '', qty, variantID = '') { if (task === "update") { CartJS.updateItem(lineNumber, qty, { }, { "success": function(data, textStatus, jqXHR) { }, "error": function(jqXHR, textStatus, errorThrown) { } }); } else { // add item CartJS.addItem(variantID, qty, { }, { "success": function(data, textStatus, jqXHR) { }, "error": function(jqXHR, textStatus, errorThrown) { } }); } } // Determine if ship date visible in cart should be formatted as 03/31/2020 or 31/03/2020 function setVisibleCartShipDateFormat(dateFormatSetting) { var visibleFormat; switch (dateFormatSetting) { case 'DD-MM-YYYY': // UK, etc. visibleFormat = 'DD/MM/Y'; break; case 'MM-DD-YYYY': // US visibleFormat = 'MM/DD/Y'; break; } return visibleFormat; } function displayShipDate(cart) {if (purchaseQty > 0) { var purchaseShipDate = JSON.parse(localStorage.getItem('shipping-date')); var purchaseShipDateFormatted = moment(purchaseShipDate).format(visibleCartShipDateFormat); $('.ajax-cart-item.item--snoo-smart-bassinet .ajax-cart-item__ship-date').html(purchaseShipDateFormatted); $('.ajax-cart-item.item--snoo-smart-bassinet .ajax-cart-item__ship-date-text').attr("aria-label", "Estimated ship date is " + moment(purchaseShipDate).format("dddd, MMMM Do YYYY").toString()); $('.ajax-cart-item.item--snoo-smart-bassinet .ajax-cart-item__ship-date-text').show(); } if (refurbQty > 0) { var purchaseShipDate = JSON.parse(localStorage.getItem('shipping-date')); var purchaseShipDateFormatted = moment(purchaseShipDate).format(visibleCartShipDateFormat); $('.ajax-cart-item.item--preloved-snoo .ajax-cart-item__ship-date').html(purchaseShipDateFormatted); $('.ajax-cart-item.item--preloved-snoo .ajax-cart-item__ship-date-text').attr("aria-label", "Estimated ship date is " + moment(purchaseShipDate).format("dddd, MMMM Do YYYY").toString()); $('.ajax-cart-item.item--preloved-snoo .ajax-cart-item__ship-date-text').show(); }if (rentalQty > 0) { var rentalShipDate = JSON.parse(localStorage.getItem('shipping-date')); var rentalShipDateFormatted = moment(rentalShipDate).format(visibleCartShipDateFormat); $('.ajax-cart-item.item--snoo-rental .ajax-cart-item__ship-date').html(rentalShipDateFormatted); $('.ajax-cart-item.item--snoo-rental .ajax-cart-item__ship-date-text').attr("aria-label", "Estimated ship date is " + moment(purchaseShipDate).format("dddd, MMMM Do YYYY").toString()); $('.ajax-cart-item.item--snoo-rental .ajax-cart-item__ship-date-text').show(); }} function updateSnooQtyToMax(snooType) { if (snooType == 'rental') { updateCart('update','rental',rentalLineNumber, 3); } else if (snooType == 'refurbished') { console.log('DECREASE preloved qty to 3'); updateCart('update','preloved',refurbLineNumber, 3); } else { console.log('DECREASE purchase qty to 3'); updateCart('update','purchase',purchaseLineNumber, 3); } } function updateReconditioningFeeQuantity(rentalQty) { if (rentalQty == 0) { updateCart('update','reconditioning fee',reconditioningLineNumber, 0); } else if (reconditioningQty > 0) { updateCart('update','reconditioning fee',reconditioningLineNumber, rentalQty); } else { updateCart('add','reconditioning fee','',rentalQty, 16110351417390); } } function updateCartItemAndSubtotal(cart) { var cartSubtotalUpdated = 0; $('.cart-item-counter').html(cart.item_count);if (rentalQty > 0 && purchaseQty > 0) { // blank out subtotal since they should not be allowed to checkout with both $('.ajax-cart__subtotal').text('Please remove SNOO purchase or rental'); } else if (rentalQty > 0) { if (discountCodeEnabledRental) { cartSubtotalUpdated = cart.total_price - (rentalQty * discountAmt); } else { cartSubtotalUpdated = cart.total_price; } $('.ajax-cart__subtotal').text(Shopify.formatMoney(cartSubtotalUpdated)); } if (purchaseQty > 0 && discountCodeEnabledPurchase) { cartSubtotalUpdated = cart.total_price - (purchaseQty * discountAmt); $('.ajax-cart__subtotal').text(Shopify.formatMoney(cartSubtotalUpdated)); //console.log('SNOO purchase and discountCodeEnabled so we need to update the total to '+ Shopify.formatMoney(cartSubtotalUpdated)); } } function updateSnooQuantityOptions(cart) { if (rentalQty > 2) { $('.ajax-cart-item.item--snoo-rental .ajax-cart-item__qty-update--plus').prop('disabled', true); } else { $('.ajax-cart-item.item--snoo-rental .ajax-cart-item__qty-update--plus').prop('disabled', false); } if (purchaseQty > 2 ) { $('.ajax-cart-item.item--snoo-smart-bassinet .ajax-cart-item__qty-update--plus').prop('disabled', true); } else { $('.ajax-cart-item.item--snoo-smart-bassinet .ajax-cart-item__qty-update--plus').prop('disabled', false); } if (refurbQty > 2 ) { $('.ajax-cart-item.item--snoo-refurbished .ajax-cart-item__qty-update--plus').prop('disabled', true); } else { $('.ajax-cart-item.item--snoo-smart-bassinet .ajax-cart-item__qty-update--plus').prop('disabled', false); } } function updateUSFreeShippingDisclaimer(rentalQty) { if ((rentalQty > 0) && (purchaseQty > 0)) { $('.ajax-cart .asterisk--us-free-shipping-disclaimer').addClass('hidden'); } else if (rentalQty > 0) { $('.ajax-cart .asterisk--us-free-shipping-disclaimer, .ajax-cart .us-free-shipping-disclaimer--rental').removeClass('hidden'); } else if (purchaseQty > 0) { $('.ajax-cart .asterisk--us-free-shipping-disclaimer, .ajax-cart .us-free-shipping-disclaimer--purchase').removeClass('hidden'); } else { $('.ajax-cart .asterisk--us-free-shipping-disclaimer, .ajax-cart .us-free-shipping-disclaimer').addClass('hidden'); } } function displayFees(rentalQty) { console.log('displayFees function called with rentalQty = '+rentalQty); var securityDepositTotal = rentalQty * securityDeposit; $('.ajax-cart__security-deposit').html(Shopify.formatMoney(securityDepositTotal)); var tempTotal = removeCurrencyFormatting($('.ajax-cart__subtotal').html()) + securityDepositTotal; $('.ajax-cart__total').html(Shopify.formatMoney(tempTotal)); } function checkForUpsell() { if ((upsellInCart_1 == false)) { } else { } } function checkForFreeProducts() { if (purchaseQty > 0) { $('.item--free-product-1 .ajax-cart-item__content .item--free-product__description').remove(); $('.item--free-product .ajax-cart-item__price').text('FREE!'); } if (rentalQty > 0) { $('.item--free-product-1 .ajax-cart-item__content .item--free-product__description').remove(); $('.item--free-product .ajax-cart-item__price').text('FREE!'); } } function removeCurrencyFormatting(amount) { return Number(amount.replace(/[^\d.]/g, '')) * 100; } $(document).ajaxComplete(function(event, jqxhr, settings) { if (settings) { if (settings.url == '/cart.js') { setTimeout(function() { $('.ajax-cart__subtotal').show().css('opacity','1'); $('.ajax-cart-item-list').show();// disable qty selector $('.ajax-cart-item-list--reconditioning-fee .item--reconditioning-fee .ajax-cart-item__title').attr('href','#').html('Cleaning &amp; Reconditioning Fee'); $('.ajax-cart-item-list--reconditioning-fee .item--reconditioning-fee .ajax-cart-item__qty-update').prop('disabled', true); }, 150); if (purchaseQty < 1 && refurbQty < 1) { // if there are no purchase SNOOs, make sure to clear the ShipDate in cart attributes var cartHasShipDate = CartJS.getAttribute('ShipDate', false); if (cartHasShipDate) { CartJS.setAttribute('ShipDate',''); } } } else if (settings.url.indexOf('/cart/') !== -1) { if (settings.url == '/cart/add.js') { var paramsString = settings.data var searchParams = new URLSearchParams(paramsString); var id = searchParams.get("id") var org_price = "" var price = (org_price / 100).toFixed(2) var qty = searchParams.get("quantity") var cur = "USD" window.liQ = window.liQ || []; window.liQ.push({ "event": "addToCart", "items": [ { "id": `${id}`, "price": price, "quantity": `${qty}`, "currency": cur } ] }); } } } }); // this needs to be called so that the item count can be updated if needed $(document).on('cart.ready', function(event, cart) { if (cart.item_count > 0) { getCartInfo(cart); // verifyRentalShipDateInCart(cart); } }); $(document).on('cart.requestStarted', function(event, cart) { $('.ajax-cart__subtotal').hide().css('opacity','0'); }); $(document).on('cart.requestComplete', function(event, cart) { getCartInfo(cart); // verifyShipDateInLocalStorage(); }); $(document).ready(function() { updateScrollClass(); $('.overlay').on('click', function(e) { closeAjaxCart(); }); $('[data-cart-add]').on('click', function(e) { openAjaxCart(); }); }); function hideAjaxCartAlertBanner() { $('.ajax-cart-alert-banner').hide(); } // trapFocus('.ajax-cart'); function trapFocus(targetElem) { // console.log('>>>>>> trapFocus() init!'); // add all the elements inside target which you want to make focusable var focusableElements = 'button, [href], input, select, textarea, [tabindex]:not([tabindex="-1"])'; var target = document.querySelector(targetElem); // console.log('>>>>>> trapFocus() target_elem', targetElem); // console.log('>>>>>> trapFocus() target', target); var firstFocusableElement = target.querySelectorAll(focusableElements)[0]; // get first element to be focused inside target var focusableContent = target.querySelectorAll(focusableElements); var lastFocusableElement = focusableContent[focusableContent.length - 1]; // get last element to be focused inside target // console.log('>>>>>> trapFocus() firstFocusableElement', firstFocusableElement); // console.log('>>>>>> trapFocus() focusableContent', focusableContent); // console.log('>>>>>> trapFocus() lastFocusableElement', lastFocusableElement); document.addEventListener('keydown', function (e) { // console.log('>>>>>> trapFocus() keypress event', e); if (e.wich === 27 || e.keyCode === 27 || e.key === "Escape") { // console.log('>>>> documen > keypress: Escape has been pressed!'); // The following line of code was copied from cartjs-ajax-cart.liquid, lines 489-502 $('.overlay').hide(); $('.nav-bag-icon').attr("aria-expanded","false"); $('.ajax-cart').attr('tabindex','-1').css('visibility','hidden'); /* Remove Focusability from Close Cart Icon */ $('.ajax-cart-item__close-cart').attr('tabindex',-1); if (window.innerWidth >= 768) { $('.ajax-cart').css('right','-500px'); } else { $('.ajax-cart').css('right','-100vw'); } $('.ajax-cart').click().blur(); $('[data-cart-view]').hide(); // for accessibility $('button.site-nav__link--bag-icon').focus(); $(function(){ $('button.site-nav__link--bag-icon').focus(); }); Scroll.unlock(); } var isTabPressed = e.key === 'Tab' || e.keyCode === 9; if (!isTabPressed) { // console.log('>>>>>> trapFocus() keypress !isTabPressed', e); return; } if (e.shiftKey) { // if shift key pressed for shift + tab combination // console.log('>>>>>> trapFocus() keypress Shift Key or Shift + Tab', e); // console.log('>>>>>> trapFocus() document.activeElement', document.activeElement); if (document.activeElement === firstFocusableElement) { // console.log('>>>>>> trapFocus() document.activeElement === firstFocusableElement', firstFocusableElement); lastFocusableElement.focus(); // add focus for the last focusable element e.preventDefault(); } } else { // if tab key is pressed // console.log('>>>>>> trapFocus() keypress Tab', e); // console.log('>>>>>> trapFocus() document.activeElement', document.activeElement); if (document.activeElement === lastFocusableElement) { // console.log('>>>>>> trapFocus() document.activeElement === firstFocusableElement', lastFocusableElement); // if focused has reached to last focusable element then focus first focusable element after pressing tab firstFocusableElement.focus(); // add focus for the first focusable element e.preventDefault(); } } }); } // Event handler for when a SNOO purchase or rental removed from cart via "x" button $('body').on('click', '.item--snoo-rental .ajax-cart-item__btn-remove-item, .item--snoo-smart-bassinet .ajax-cart-item__btn-remove-item, .item--preloved-snoo .ajax-cart-item__btn-remove-item', function() { mustVerifyShipDateInLocalStorage = true; clearAjaxCartAlert(); }); </script> <div id="ajax-cart-container" class="ajax-cart remove-width" tabindex="-1" style="visibility: hidden" aria-label="Cart" role="dialog"> <script> window.addEventListener('load', (e) => { // On page load, make Upsell cart Inactive. // This will be turned active if Prod Recs are created and Cart is Opened. var doesUpsellExist = document.querySelector('.ajax-cart__upsell .container-inner'); if (doesUpsellExist) { doesUpsellExist.classList.add('inactive'); } }); /* Run functions when Cart Object completes a request */ $(document).on('cart.requestComplete', function(event, cart) { reviewCartData(cart); }); /* Review Cart Object's Data */ function reviewCartData(data) { let cart = data; let exclusionWords = []; let recommendation_product_id; // Run through each Cart Item Object.keys(cart.items).some(function (k) { let cartItem = cart.items[k]; if (cartItem.handle === "snoo-smart-bassinet" || cartItem.handle === 'snoo-rental' || cartItem.handle === 'preloved-snoo') { // THEN Exclude words "bassinet", "rental", and "pre-loved" when recommending // ALSO Exclude the Manual Upsell Cart Item used when SNOO is in Cart exclusionWords.push("bassinet", "rental", "pre-loved", "snoo-sack"); // Return recommended products return recommendation_product_id = cartItem.product_id; } else { // THEN Exclude Manual Upsell Cart Item used when SNOO IS NOT in Cart exclusionWords.push("snoobie-white-noise-machine"); // Return recommended products return recommendation_product_id = cartItem.product_id; } }); fetchRecommendedProducts(recommendation_product_id, exclusionWords); } /* Fetch Shopify Recommendation API */ function fetchRecommendedProducts(recommendation_product_id, exclusionWords){ if (recommendation_product_id != undefined) { fetch(window.Shopify.routes.root + "recommendations/products.json?product_id=" + recommendation_product_id + "&limit=9&intent=related") .then(response => response.json()) .then( ({products}) => { if (products === undefined) { setTimeout(function(){ $('.ajax-cart__upsell .container-inner').addClass('inactive'); },100); } else if (products.length > 0) { setTimeout(function(){ $('.ajax-cart__upsell .container-inner').removeClass('inactive'); },100); // Clear out existing Recommended Products clearRecommendedProducts(); // Loop over array and find any exclusions // let recProdIndex = 0; for (var i = 0; i < products.length; i++) { if (i === 0) { } let recProdTitle = products[i].title.toLowerCase(); let recProdHandle = products[i].handle; let recProdTags = products[i].tags; let recProdAvailable = products[i].available; var ignoreProduct = false, IdDefault = false, varPriceDefault = false, varImgAltDefault = false, varImgDefault = false; if (exclusionWords.some(word => recProdHandle.includes(word))) { ignoreProduct = true; } if (recProdTags.includes('ignore-upsell')) { ignoreProduct = true; } if (!ignoreProduct){ recProdIndex += 1; // Product Recommendations // // CREATE UPSELL HTML ELEMENTS let elmDivInnerContainer = document.createElement('div'); elmDivInnerContainer.classList.add('inner-container'); let elmDivParent = document.createElement('div'); elmDivParent.dataset.recProd = recProdIndex; elmDivParent.classList.add('upsell__flex-item'); // if (recProdIndex === 1) { // elmDivParent.classList.add('snap-align-to-top'); // } let prodVariants = products[i].variants; // Setup Default/Initial ID, Price, Image Alt, Image, for (d=0; d<prodVariants.length; d++) { if (prodVariants[d].available) { varIdDefault = prodVariants[d].id, varPriceDefault = prodVariants[d].price; if (prodVariants[d].featured_image !== null) { varImgDefault = prodVariants[d].featured_image.src; varImgAltDefault = prodVariants[d].name; } else { varImgDefault = products[i].featured_image; varImgAltDefault = products[i].title } break; } } let elmImg = document.createElement('a'); elmImg.href = `/products/${products[i].handle}`; // IF image is transparent PNG, add Class that removes background if(elmImg.href.includes('.png')) { elmImg.classList.remove('rounded-corners'); } // ELSE remove class and add background w/ rounded corners else { elmImg.classList.add('rounded-corners'); } elmImg.innerHTML += ` <img class="upsell__image" loading="lazy" data-img-index="${recProdIndex}" src="${varImgDefault}" alt="${varImgAltDefault}"> `; let elmProdInfo = document.createElement('div'); elmProdInfo.classList.add('upsell__product-info'); elmProdInfo.innerHTML= ` <a href="/products/${products[i].handle}" style="text-align: center;">${recProdTitle}</a> `; let elmProdSelectors = document.createElement('div'); elmProdSelectors.classList.add('upsell__product-selectors'); elmProdSelectors.innerHTML = ` <div class="upsell_select_qty"> <label for="upsell_qty_${recProdIndex}" class="screen-reader-only">Select Quantity:</label> <select id="upsell_qty_${recProdIndex}" class="upsell__variant-select upsell_qty"> </select> <span class="focus"></span> </div><!-- /.upsell_select_qty --> `; // Quantity Options for (q=1; q<11; q++) { elmProdSelectors.querySelector('.upsell_select_qty select').innerHTML += `<option value="${q}">${q}</option>`; } elmProdSelectors.innerHTML += ` <div class="upsell_select_color"> <label for="upsell_color_${recProdIndex}" class="screen-reader-only">Select Size and Color:</label> <select id="upsell_color_${recProdIndex}" class="upsell__variant-select upsell_color"> </select> <span class="focus"></span> </div><!-- /.upsell_select_color --> `; // Setup Available Color Options for (v=0; v<prodVariants.length; v++) { if (prodVariants[v].available) { let variantSelected; let variantImage = products[i].featured_image; let variantImageAlt = products[i].title; let variantTitle = prodVariants[v].title; let variantClass = 'has-variants'; if (prodVariants[v].title === "Default Title") { variantTitle = 'Available'; variantClass = 'no-variants'; elmProdSelectors.querySelector('.upsell_select_color select').disabled = true; } else { elmProdSelectors.querySelector('.upsell_select_color select').disabled = false; } elmProdSelectors.querySelector('.upsell_select_color select').classList.add(variantClass); if (prodVariants[v].featured_image !== null) { variantImage = prodVariants[v].featured_image.src; variantImageAlt = prodVariants[v].featured_image.alt; } (prodVariants[v].id === varIdDefault) ? variantSelected = 'selected' : variantSelected = ''; elmProdSelectors.querySelector('.upsell_select_color select').innerHTML += ` <option value="${prodVariants[v].id}" ${variantSelected} data-price="${prodVariants[v].price}" data-image="${variantImage}" data-image-alt-text="${variantImageAlt}"> ${variantTitle} </option> `; } } elmDivInnerContainer.append(elmImg, elmProdInfo, elmProdSelectors); elmDivInnerContainer.innerHTML += ` <div class="upsell__add-to-cart"> <a class="upsell__add-btn" href="javascript:void();" data-cta-index="${recProdIndex}" data-cart-quantity="1" data-cart-add="${varIdDefault}"> ADD | <span class="upsell__variant-price">${Shopify.formatMoney(varPriceDefault)}<span> </a> </div><!-- /.upsell__add-to-cart --> `; elmDivParent.append(elmDivInnerContainer); let ajaxCartContainerDesktop = document.querySelector('.upsell__flex-container.desktop'); let ajaxCartContainerMobile = document.querySelector('.upsell__flex-container.mobile'); ajaxCartContainerDesktop.append(elmDivParent.cloneNode(true)); ajaxCartContainerMobile.append(elmDivParent.cloneNode(true)); } // Last Indexof Loop if (i === products.length-1) { let flexFill = (3 - (recProdIndex % 3)) * 33.33; let elmFillInDiv = document.createElement('div'); elmFillInDiv.classList.add('upsell__flex-item--fill-in'); elmFillInDiv.style.flex = '0 0 '+flexFill+'%'; let ajaxCartContainer = document.querySelector('.upsell__flex-container'); ajaxCartContainer.append(elmFillInDiv); } } } }); } } function clearRecommendedProducts() { var recommendedProducts = document.querySelectorAll('[data-rec-prod]'); for(i=0; i<recommendedProducts.length; i++) { recommendedProducts[i].remove(); } } </script> <div class="ajax-cart__upsell"> <div class="container-inner"> <h5>You may also like</h5> <div class="upsell__flex-container desktop flex-column"> </div> <div class="upsell_scroll-next"> <a href="#" class="btn--next hide"><span class="screen-reader-only">View Next</span></a> </div> </div> </div> <script> window.addEventListener('load', function(e){ /* Upsell Carousel Slider */ var scrollNextBtn = document.querySelector('.btn--next'); var verticalContainer = document.querySelector('.upsell__flex-container'); // Initial Vertical Container Top var verticalContainerTop = verticalContainer.scrollTop; var currentSelection, nextSelection, nextSelectionHeight; var prodRecLength = 0; var prodRecObserver = new MutationObserver(function (m) { for(i=0; i<m.length; i++) { // Go through childList if (m[i].type === 'childList') { if(m[i].target.querySelectorAll('[data-rec-prod]').length !== 0) { prodRecLength = m[i].target.querySelectorAll('[data-rec-prod]').length; /* Input/Select Event Listener */ document.addEventListener('input', function (event) { var prodRecIndex; // IF Upsell QTY Event if (event.target.classList.contains('upsell_qty')) { prodRecIndex = event.target.id.replace('upsell_qty_','') // Update quantity data-cart-quantity attribute on add-to-cart $('.upsell__add-btn[data-cta-index='+prodRecIndex+']').attr('data-cart-quantity', event.target.options[event.target.selectedIndex].value); } // Update variant image sr in upsell image // Update variant id in data-cart-add attribute on add-to-cart if (event.target.classList.contains('upsell_color')) { prodRecIndex = event.target.id.replace('upsell_color_','') $('.upsell__image[data-img-index='+prodRecIndex+']').attr('src', event.target.options[event.target.selectedIndex].dataset.image); $('.upsell__add-btn[data-cta-index='+prodRecIndex+']').attr('data-cart-add', event.target.options[event.target.selectedIndex].value); } }, false); } if (m[i].target.querySelectorAll('[data-rec-prod]').length <= 3) { document.querySelector('.btn--next').classList.remove('hide'); document.querySelector('.btn--next').classList.add('hide'); } else { document.querySelector('.btn--next').classList.remove('hide'); } } } }); // configuration of the observer: var config = { subtree: true, characterData: true, childList: true }; // pass in the target node, as well as the observer options prodRecObserver.observe(verticalContainer, config); // Event Listener - Scroll Next Button is Clicked scrollNextBtn.addEventListener("click", (e) => { // Define Current Product Recommendation Selection - Default is First Product currentSelection = document.querySelector('.snap-align-to-top'); // IF Current Selection is the Last Product in the Carousel, // Then Next Selection goes back to the Top/Beginning if (currentSelection.dataset.recProd == prodRecLength) { nextSelection = document.querySelector('[data-rec-prod="1"]'); // Set the Scroll Top back for First Product verticalContainerTop = 0; } // ELSE, the Next Selection is the Next Product else { nextSelection = currentSelection.nextElementSibling; // Set the Scroll Top for Next Product verticalContainerTop = verticalContainer.scrollTop + nextSelectionHeight; } // Remove Class of Current Selection currentSelection.classList.remove('snap-align-to-top'); // and Add Class to Next Selection nextSelection.classList.add('snap-align-to-top'); // Grab Next Selection's Height nextSelectionHeight = nextSelection.offsetHeight; // Scroll To Top based on Last Prod or Next Prod verticalContainer.scroll({ top: verticalContainerTop, behavior: 'smooth' }); }); }); </script> <style data-shopify> [data-cart-view].contain-width { z-index: 1; } .ajax-cart__upsell:not(.mobile) { padding: 0; width: 100%; max-width: 278px; min-width: 278px; margin-top: 0; margin-bottom: 0; height: 100%; position: relative; background: transparent; } .ajax-cart__upsell:not(.mobile) > .container-inner { padding: 1rem 2rem; position: relative; width: 100%; height: 100%; top: 0; right: 0; display: flex; flex-direction: column; background: var(--color-white); -webkit-box-shadow: inset -10px 0px 11px 0px rgba(0,0,0,0.05); box-shadow: inset -10px 0px 11px 0px rgba(0,0,0,0.05); border-left: 1px solid rgba(0,0,0,0.05); /* animate */ transition: right .5s cubic-bezier(0.820, 0.085, 0.395, 0.895); z-index: 0; } .ajax-cart__upsell > .container-inner.inactive { right: -278px; } @media only screen and (max-width: 768px) { .ajax-cart__upsell { display: none; } } .ajax-cart__upsell > .container-inner:before { content: ''; display: block; position: absolute; top: 0; left: 0; background-image:url(//www.happiestbaby.com/cdn/shop/t/1010/assets/upsell--clouds-top-left.svg?v=155828361088399426121732206482); background-position: top left; background-repeat: no-repeat; background-size: contain; aspect-ratio: 90 / 56; width: 90px; height: 56px; } .ajax-cart__upsell > .container-inner:after { content: ''; display: block; position: absolute; right: 0; bottom: 0; background-image:url(//www.happiestbaby.com/cdn/shop/t/1010/assets/upsell--clouds-bottom-right.svg?v=20494164218009269531732206482); background-position: bottom right; background-repeat: no-repeat; background-size: contain; aspect-ratio: 96 / 70; width: 96px; height: 70px; } .ajax-cart__upsell .container-inner > h5 { text-align: center; font-size: 16px; line-height: 1.25; margin-top: 2rem; padding-bottom: 1rem; } .upsell__flex-container { display:flex; flex-direction: column; overflow-y: scroll; scroll-snap-type: y mandatory; width: 100%; max-height: 100vh; flex-basis: 100%; -ms-overflow-style: none; /* IE and Edge */ scrollbar-width: none; /* Firefox */ } .upsell__flex-container::-webkit-scrollbar { display: none; } .upsell__flex-item { display: flex; flex: 0 0 33.33%; padding: 1rem 0; align-items: center; justify-content: center; flex-flow: column; scroll-snap-align: start; border-bottom: 1px solid #eaeaea; } .upsell__flex-item .inner-container { text-align: center; } .upsell__flex-item:last-child { border-bottom: 1px solid transparent; } .upsell__add-to-cart { width: 100%; text-align: center; } .upsell__product-info { padding-bottom: 0; margin-bottom: 10px; flex-grow: 0; } .upsell__product-info > a { text-transform: capitalize; } .upsell__image { margin-bottom: 4px; width: 130px; height: auto; border-radius: 7px; } .upsell__image.rounded-corners { background:#fff; border-radius: 5px; } .upsell__product-info > a { margin-bottom: 0; } .upsell__product-selectors { display: flex; flex-direction: row; margin-bottom: 6px; align-self: flex-start; width: 100%; } .upsell__product-selectors .upsell__variant-select { margin-top: unset; padding: 3.5px 6px; border-radius: 6px; } .upsell__product-selectors > .upsell_select_qty { display: flex; flex: 0 0 50px; border: 0.5px solid #3C98C5; border-radius: 5px; margin-right: 0.5rem; opacity: 1; } .upsell__product-selectors > .upsell_select_color { display: flex; flex: 1 1 auto; border: 0.5px solid #3C98C5; border-radius: 5px; opacity: 1; } .upsell__product-selectors > .upsell_select_qty:hover, .upsell__product-selectors > .upsell_select_color:hover { opacity: 0.75; transition: 100ms opacity ease-in-out; } .upsell__product-selectors > .upsell_select_qty:hover .upsell__variant-select, .upsell__product-selectors > .upsell_select_color:hover .upsell__variant-select { cursor: pointer; } .upsell__variant-select.upsell_color.no-variants { background: rgba(255,255,255,0.5); border: unset; color: var(--color-black); } .upsell__product-selectors > .upsell_select_color .upsell_color { width: 100%; } .upsell__add-to-cart .upsell__add-btn { width: 100%; display: block; background: var(--wcag-color-blue); color: #fff; padding: 8px 8px; border-radius: 6px; opacity: 1; transition:100ms opacity ease-in-out; } .upsell__add-btn:hover .upsell__variant-price { color: #fff !important; } .upsell__add-to-cart .upsell__add-btn:hover { opacity: 0.9; transition:100ms opacity ease-in-out; } .upsell_scroll-next { /* background: #E5FAFA; */ padding-top: 2rem; padding-bottom: 2rem; text-align: center; margin-top: -1px; } .upsell_scroll-next .btn--next { background-image: url(//www.happiestbaby.com/cdn/shop/t/1010/assets/icon--arrow-down.svg?v=136023790857020499441732206330); background-repeat: no-repeat; background-position: 50% 50%; background-size: contain; background-color: transparent; height: 20px; width: 40px; display: block; margin: 0 auto; } .snap-align-to-top { /* border: 1px solid var(--color-blue); */ } </style> <div data-cart-view="data-cart-view" class="contain-width"> <form action="/cart" method="post" novalidate="" data-cart-form=""> <div class="ajax-cart__header"> <img class="ajax-cart__header-logo" loading="lazy" src="//www.happiestbaby.com/cdn/shop/t/1010/assets/icon-baby-head.svg?v=125817697373557291231732206371" width="27" height="25" alt="Happiest Baby Logo" /> <div class="ajax-cart__header-shipping-text"> <div class="ajax-cart__header-shipping-text__free hidden"> You've unlocked <span style="font-weight: 700;">free shipping!</span> 🎉<span class="asterisk--us-free-shipping-disclaimer hidden">*</span> </div> <div class="ajax-cart__header-shipping-text__standard"> You are $<span class="free-shipping-amount-needed"></span> away from free shipping! </div> </div> <div class="progress-bar-container"> <progress id="free-shipping-progress-bar" value="" max=""></progress> <img src="//www.happiestbaby.com/cdn/shop/t/1010/assets/icon--free-shipping-truck.svg?v=118106022565326289851732206354" class="free-shipping-icon-truck" alt="Icon image - Infographic of Free Shipping"> </div> <a role="button" aria-label="Close cart window" href="javascript:void(0);" onClick="closeAjaxCart();" class="ajax-cart-item__close-cart">&times;</a> </div> <style data-shopify> .ajax-cart__header { border-bottom: 1px solid #eaeaea; padding-top: 2rem; padding-bottom: 2rem; } .ajax-cart-item__close-cart { right: 15px; left: unset; } .ajax-cart__header-shipping-text { margin-bottom: 10px; text-transform: unset; font-size: 14px; color: var(--color-dark-grey); } .progress-bar-container { padding-left: 80px; padding-right: 80px; width: 100%; display: flex; flex-direction: row; align-items: center; } .progress-bar-container .free-shipping-icon-truck { width: 26px; height: auto; position: absolute; right: 80px; opacity: 0; transition: 100ms opacity ease-in-out; } .progress-bar-container .free-shipping-icon-truck.filled { opacity: 1; transition: 100ms opacity ease-in-out; } progress#free-shipping-progress-bar { height: 15px; width: 100%; } progress { background: var(--color-white); /* Empty Bar Background Color */ border: 1px solid #D9D9D9; /* Border Matches Fill Color */ border-radius: 20px; } progress[value]::-webkit-progress-bar { background-color:#E5FAFA; /* Fill Color */ /* border-right: 1px solid #D9D9D9; */ border-radius: 20px; } progress::-moz-progress-bar { background:#E5FAFA; border-right: 1px solid #D9D9D9; border-radius: 20px; } progress::-webkit-progress-value { background:#E5FAFA; /* border-right: 1px solid #D9D9D9; */ border-radius: 20px; } progress.stroke::-webkit-progress-value { border-right: 1px solid #D9D9D9; } progress { color:#E5FAFA; } /* Background Colors */ progress, /* Firefox */ progress[role][aria-valuenow] { /* Polyfill */ background: var(--color-white) !important; /* Empty Bar Background Color */ } /* Chrome */ progress::-webkit-progress-bar { background: var(--color-white) !important; /* Empty Bar Background Color */ } /* Foreground Colors */ /* IE10 */ progress { color: #E5FAFA; } /* Firefox */ progress::-moz-progress-bar { background: #E5FAFA; } /* Chrome */ progress::-webkit-progress-value { background: #E5FAFA; } /* Polyfill */ progress[aria-valuenow]:before { background: #E5FAFA; } /* https://hongkiat.github.io/html5-progress-bar/ */ /* Animations */ .animate--tilt-shake { animation: tilt-shaking 0.35s; } @keyframes tilt-shaking { 0% { transform: rotate(0deg); } 25% { transform: rotate(10deg); } 50% { transform: rotate(0eg); } 75% { transform: rotate(-10deg); } 100% { transform: rotate(0deg); } } </style> <script> var shippingProgressBar = document.querySelector('#free-shipping-progress-bar'); var shippingProgressMax = Math.round(7500/100); var shippingFreeMessage = document.querySelector('.ajax-cart__header-shipping-text__free'); var shippingAmountMessage = document.querySelector('.ajax-cart__header-shipping-text__standard'); var shippingProgressValue; let freeShippingAmountNeeded = document.querySelector('.free-shipping-amount-needed'); /* On Page Load */ window.addEventListener('load', function(e){ var excludeItemsFreeShip = 0; var cartSubTotal = 0; jQuery.getJSON('/cart.js', function(cart) { shippingProgressBar.max = shippingProgressMax; for (item of cart.items) { if (!item.requires_shipping) { excludeItemsFreeShip += Math.round((item.final_price*item.quantity)/100); } else if (item.title.includes('Replacement')) { excludeItemsFreeShip += Math.round((item.final_price*item.quantity)/100); } else if (item.title.includes('SNOO Packaging Set')) { excludeItemsFreeShip += Math.round((item.final_price*item.quantity)/100); } else { cartSubTotal += Math.round((item.final_price*item.quantity)/100);; } } shippingProgressValue = cartSubTotal; shippingProgressBar.value = shippingProgressValue; freeShippingAmountNeeded.innerText = Math.round(shippingProgressMax - cartSubTotal); if (shippingProgressBar.value >= shippingProgressBar.max) { document.querySelector('.free-shipping-icon-truck').classList.add('filled'); shippingFreeMessage.classList.remove('hidden'); shippingAmountMessage.classList.add('hidden'); } else { document.querySelector('.free-shipping-icon-truck').classList.remove('filled'); shippingFreeMessage.classList.add('hidden'); shippingAmountMessage.classList.remove('hidden'); } // Remove border-right of inner progress bar when value is 0 if (shippingProgressBar.value == 0) { freeShippingAmountNeeded.innerText = Math.round(shippingProgressMax); document.querySelector('#free-shipping-progress-bar').classList.remove('stroke'); } // Add border-right of inner progress bar when value is greater than 0 else { document.querySelector('#free-shipping-progress-bar').classList.add('stroke'); } }); }); // Get Cart Info after Cart Object gerts Updated $(document).on('cart.requestComplete', function(event, cart) { jQuery.getJSON('/cart.js', function(cart) { var excludeItemsFreeShip = 0; var cartSubTotal = 0; for (item of cart.items) { if (!item.requires_shipping) { excludeItemsFreeShip += Math.round((item.final_price*item.quantity)/100); } else if (item.title.includes('Replacement')) { excludeItemsFreeShip += Math.round((item.final_price*item.quantity)/100); } else if (item.title.includes('SNOO Packaging Set')) { excludeItemsFreeShip += Math.round((item.final_price*item.quantity)/100); } else { cartSubTotal += Math.round((item.final_price*item.quantity)/100);; } } progressInterval; var progressInterval = setInterval(function() { shippingProgressValue = cartSubTotal; shippingProgressBar.value = shippingProgressValue; freeShippingAmountNeeded.innerText = Math.round(shippingProgressMax - cartSubTotal); if (shippingProgressBar.value > cartSubTotal) { shippingProgressBar.value--; clearInterval(progressInterval); } else if (shippingProgressBar.value < cartSubTotal) { shippingProgressBar.value++; clearInterval(progressInterval); } else if (shippingProgressBar.value == cartSubTotal) { clearInterval(progressInterval); } // Remove border-right of inner progress bar when value is 0 if (shippingProgressBar.value == 0) { freeShippingAmountNeeded.innerText = Math.round(shippingProgressMax); document.querySelector('#free-shipping-progress-bar').classList.remove('stroke'); } // Add border-right of inner progress bar when value is greater than 0 else { document.querySelector('#free-shipping-progress-bar').classList.add('stroke'); } // Show Free Shipping Icon Truck AND Shake HB Logo if (shippingProgressBar.value >= shippingProgressBar.max) { document.querySelector('.free-shipping-icon-truck').classList.add('filled'); document.querySelector('.ajax-cart__header-logo').classList.add('animate--tilt-shake'); shippingFreeMessage.classList.remove('hidden'); shippingAmountMessage.classList.add('hidden'); } // Hide Free Shipping Icon Truck AND reset HB Logo else { document.querySelector('.free-shipping-icon-truck').classList.remove('filled'); document.querySelector('.ajax-cart__header-logo').classList.remove('animate--tilt-shake'); shippingFreeMessage.classList.add('hidden'); shippingAmountMessage.classList.remove('hidden'); } }, 15); }); }); </script> <div class="ajax-cart__empty-cart-message" rv-show="cart.item_count | lt 1"> <div class="empy-cart-messge--container"> Your Cart is Empty </div><!-- /.empy-cart-messge--container --> <div class="btn-continue-shopping--container"> <a class="btn ajax-cart__btn-continue-shopping" href="/collections/all">Continue Shopping</a> </div><!-- /.btn-continue-shopping--container --> </div><!-- /.ajax-cart__empty-cart-message --> <div class="ajax-cart-alert-banner"> <div class="ajax-cart-alert-banner__text"></div> <div class="btn-close--container"> <a role="button" href="#" aria-label="Press Escape or click to close cart" class="ajax-cart-alert-banner__btn-close" onclick="hideAjaxCartAlertBanner();">&times;</a> </div><!-- /.btn-close--container --> </div><!-- /.ajax-cart-alert-banner --> <div class="ajax-cart-item-list container-outer"> <div class="container-inner"> <div class="ajax-cart-item-list--snoo"> <script> rivets.binders.increase = function (el, value) { el.setAttribute("aria-label", "Increase quantity for " + value); } rivets.binders.decrease = function (el, value) { el.setAttribute("aria-label", "Decrease quantity for " + value); } rivets.binders.removeitem = function (el, value) { el.setAttribute("aria-label", "Remove " + value + " from cart"); } rivets.binders.quantity = function (el, value) { el.setAttribute("aria-label", value.quantity + " " + value.product_title + " items ") } </script> <div class="ajax-cart-item hidden" rv-each-item="cart.items"> <a class="hover-op-70" rv-href="item.handle | prepend '/products/'" rv-title="item.product_title | prepend 'Visit page - '"> <img class="ajax-cart-item__image" rv-src="item.image | productImageSize '90x90'" width="90" height="90" rv-alt="item.title"> </a> <div class="ajax-cart-item__content"> <button type="button" rv-unless="item.variant_id | eq 16110351417390" rv-data-cart-remove-id="item.key" class="ajax-cart-item__btn-remove-item" rv-removeitem="item.product_title">&times;</button> <div class="ajax-cart-item__header"> <div class="has-discount" rv-each-discount="item.discounts"> <div rv-hide="'VIPBF STRATEARLY EARLYBF' | includes discount.title" rv-html="discount.title" class="tag-discount"></div> </div> <div rv-each-property="item.propertyArray < properties"> <div data-has-property="true" rv-if="property.name | eq '_is_final_sale'" class="has-discount"> <div class="tag-discount"> Final Sale </div><!-- rv-property-value --> </div><!-- rv-property-name --> </div><!-- rv-each-property --> <a class="ajax-cart-item__title hover-op-50" rv-href="item.handle | prepend '/products/'" rv-title="item.product_title | prepend 'Visit page - '" rv-html="item.product_title"></a> <div class="ajax-cart-item__ship-date-text"> <span aria-hidden="true">Estimated Ship Date:</span> <span class="ajax-cart-item__ship-date" aria-hidden="true"></span> </div> <a class="ajax-cart-item__variant hover-op-50" rv-href="item.handle | prepend '/products/'" rv-title="item.product_title | prepend 'Visit page - '" rv-html="item.variant_title"></a> <div rv-each-property="item.propertyArray < properties"> <div class="" data-has-property="true" rv-if="property.name | eq '_is_bundle_set'"> <span style="font-size: 10px;font-weight: normal; text-transform: uppercase; line-height: 1.25; display: inline-block;" data-bundle-item="true" data-bundle-name="{item.properties.bundle_name}" rv-if="property.value | eq 'true'"> <b>Bundle</b>: {item.properties._bundle_name}<br><br> </span> </div> <div class="hide" data-has-property="true" rv-if="property.name | eq '_campaign_group'"> <span style="font-size: 10px;font-weight: normal; text-transform: uppercase; line-height: 1.25; display: inline-block;" data-bundle-campaign-group="true"> <b>Campaign Group</b><br> {property.value}<br><br> </span> </div> <div class="hide" data-has-property="true" rv-if="property.name | eq '_promotion_name'"> <span style="font-size: 10px;font-weight: normal; text-transform: uppercase; line-height: 1.25; display: inline-block;" data-bundle-item="true" data-bundle-promotion-group="true"> <b>Promotion Group</b><br> {property.value }<br><br> </span> </div> <div class="hide" data-has-property="true" rv-if="property.name | eq '_is_returnable'"> <span style="font-size: 10px;font-weight: normal; text-transform: uppercase; line-height: 1.25; display: inline-block;" data-bundle-returnable="true"> <b>Is Returnable?</b><br> {property.value }<br><br> </span> </div> <div class="hide" data-has-property="true" rv-if="property.name | eq '_bundle_tags_removed'"> <span style="font-size: 10px;font-weight: normal; text-transform: uppercase; line-height: 1.25; display: inline-block;" data-bundle-item="true"> <b>Bundle Tags Removed?</b><br> {property.value }<br><br> </span> </div> </div> <div class="ajax-cart-item__product-id" rv-text="item.product_id"></div> </div> <div class="ajax-cart-item__qty-and-price"> <div rv-if="item.properties._is_bundle_set | eq 'true'"> QTY: {item.quantity} </div> <div rv-unless="item.properties._is_bundle_set | eq 'true'" class="ajax-cart-item__qty-picker"> <button rv-decrease="item.product_title" type="button" rv-show="item.quantity | eq 1" class="ajax-cart-item__qty-update" tabindex="-1" disabled><span> - </span></button> <button rv-decrease="item.product_title" type="button" rv-show="item.quantity | gt 1" class="ajax-cart-item__qty-update ajax-cart-item__qty-update--minus" rv-data-cart-update="index | plus 1" rv-data-cart-quantity="item.quantity | minus 1" tabindex="0">&nbsp;-&nbsp;</button> <span role="status" class="ajax-cart-item__qty" rv-quantity="item"> <span rv-text="item.quantity" aria-hidden="true"></span> </span> <button rv-increase="item.product_title" type="button" class="ajax-cart-item__qty-update ajax-cart-item__qty-update--plus" rv-data-cart-update="index | plus 1" rv-data-cart-quantity="item.quantity | plus 1" tabindex="0">&nbsp;+&nbsp;</button> </div> <div class="ajax-cart-item__price-container"> <div rv-each-property="item.propertyArray < properties"> <div rv-if="property.name | eq '_is_bundle_set' "> <div rv-hide="item"> <div class="ajax-cart-item__price-compare-at"></div> </div> </div> </div> <div class="discount-sibling-element hide" rv-each-discount="item.discounts"> <div rf-if="discount.title" rv-html="discount.title" class="tag-discount"></div> </div> <div class="ajax-cart-item__price text-right" rv-html="item.line_price | money Currency.currentCurrency"></div></div> </div> </div> </div> <style> .tag-discount { background-color: #F5D9D8; color: var(--color-coral); min-width: 74px; width: auto; padding: 2px 6px !important; margin-bottom: 4px; font-weight: 600; display: inline-block; border-radius:4px; text-align: center; } .item--carbon-neutral-order { display: none; } .hover-op-80, .hover-op-70, .hover-op-60, .hover-op-50 { opacity: 1; transition: 300ms opacity ease-in-out; } .hover-op-80:hover { opacity: 0.8; transition: 300ms opacity ease-in-out; } .hover-op-70:hover { opacity: 0.7; transition: 300ms opacity ease-in-out; } .hover-op-60:hover { opacity: 0.6; transition: 300ms opacity ease-in-out; } .hover-op-50:hover { opacity: 0.5; transition: 300ms opacity ease-in-out; } </style> </div><!-- /.ajax-cart-item-list--snoo --> <div class="ajax-cart-item-list--reconditioning-fee"> <script> rivets.binders.increase = function (el, value) { el.setAttribute("aria-label", "Increase quantity for " + value); } rivets.binders.decrease = function (el, value) { el.setAttribute("aria-label", "Decrease quantity for " + value); } rivets.binders.removeitem = function (el, value) { el.setAttribute("aria-label", "Remove " + value + " from cart"); } rivets.binders.quantity = function (el, value) { el.setAttribute("aria-label", value.quantity + " " + value.product_title + " items ") } </script> <div class="ajax-cart-item hidden" rv-each-item="cart.items"> <a class="hover-op-70" rv-href="item.handle | prepend '/products/'" rv-title="item.product_title | prepend 'Visit page - '"> <img class="ajax-cart-item__image" rv-src="item.image | productImageSize '90x90'" width="90" height="90" rv-alt="item.title"> </a> <div class="ajax-cart-item__content"> <button type="button" rv-unless="item.variant_id | eq 16110351417390" rv-data-cart-remove-id="item.key" class="ajax-cart-item__btn-remove-item" rv-removeitem="item.product_title">&times;</button> <div class="ajax-cart-item__header"> <div class="has-discount" rv-each-discount="item.discounts"> <div rv-hide="'VIPBF STRATEARLY EARLYBF' | includes discount.title" rv-html="discount.title" class="tag-discount"></div> </div> <div rv-each-property="item.propertyArray < properties"> <div data-has-property="true" rv-if="property.name | eq '_is_final_sale'" class="has-discount"> <div class="tag-discount"> Final Sale </div><!-- rv-property-value --> </div><!-- rv-property-name --> </div><!-- rv-each-property --> <a class="ajax-cart-item__title hover-op-50" rv-href="item.handle | prepend '/products/'" rv-title="item.product_title | prepend 'Visit page - '" rv-html="item.product_title"></a> <div class="ajax-cart-item__ship-date-text"> <span aria-hidden="true">Estimated Ship Date:</span> <span class="ajax-cart-item__ship-date" aria-hidden="true"></span> </div> <a class="ajax-cart-item__variant hover-op-50" rv-href="item.handle | prepend '/products/'" rv-title="item.product_title | prepend 'Visit page - '" rv-html="item.variant_title"></a> <div rv-each-property="item.propertyArray < properties"> <div class="" data-has-property="true" rv-if="property.name | eq '_is_bundle_set'"> <span style="font-size: 10px;font-weight: normal; text-transform: uppercase; line-height: 1.25; display: inline-block;" data-bundle-item="true" data-bundle-name="{item.properties.bundle_name}" rv-if="property.value | eq 'true'"> <b>Bundle</b>: {item.properties._bundle_name}<br><br> </span> </div> <div class="hide" data-has-property="true" rv-if="property.name | eq '_campaign_group'"> <span style="font-size: 10px;font-weight: normal; text-transform: uppercase; line-height: 1.25; display: inline-block;" data-bundle-campaign-group="true"> <b>Campaign Group</b><br> {property.value}<br><br> </span> </div> <div class="hide" data-has-property="true" rv-if="property.name | eq '_promotion_name'"> <span style="font-size: 10px;font-weight: normal; text-transform: uppercase; line-height: 1.25; display: inline-block;" data-bundle-item="true" data-bundle-promotion-group="true"> <b>Promotion Group</b><br> {property.value }<br><br> </span> </div> <div class="hide" data-has-property="true" rv-if="property.name | eq '_is_returnable'"> <span style="font-size: 10px;font-weight: normal; text-transform: uppercase; line-height: 1.25; display: inline-block;" data-bundle-returnable="true"> <b>Is Returnable?</b><br> {property.value }<br><br> </span> </div> <div class="hide" data-has-property="true" rv-if="property.name | eq '_bundle_tags_removed'"> <span style="font-size: 10px;font-weight: normal; text-transform: uppercase; line-height: 1.25; display: inline-block;" data-bundle-item="true"> <b>Bundle Tags Removed?</b><br> {property.value }<br><br> </span> </div> </div> <div class="ajax-cart-item__product-id" rv-text="item.product_id"></div> </div> <div class="ajax-cart-item__qty-and-price"> <div rv-if="item.properties._is_bundle_set | eq 'true'"> QTY: {item.quantity} </div> <div rv-unless="item.properties._is_bundle_set | eq 'true'" class="ajax-cart-item__qty-picker"> <button rv-decrease="item.product_title" type="button" rv-show="item.quantity | eq 1" class="ajax-cart-item__qty-update" tabindex="-1" disabled><span> - </span></button> <button rv-decrease="item.product_title" type="button" rv-show="item.quantity | gt 1" class="ajax-cart-item__qty-update ajax-cart-item__qty-update--minus" rv-data-cart-update="index | plus 1" rv-data-cart-quantity="item.quantity | minus 1" tabindex="0">&nbsp;-&nbsp;</button> <span role="status" class="ajax-cart-item__qty" rv-quantity="item"> <span rv-text="item.quantity" aria-hidden="true"></span> </span> <button rv-increase="item.product_title" type="button" class="ajax-cart-item__qty-update ajax-cart-item__qty-update--plus" rv-data-cart-update="index | plus 1" rv-data-cart-quantity="item.quantity | plus 1" tabindex="0">&nbsp;+&nbsp;</button> </div> <div class="ajax-cart-item__price-container"> <div rv-each-property="item.propertyArray < properties"> <div rv-if="property.name | eq '_is_bundle_set' "> <div rv-hide="item"> <div class="ajax-cart-item__price-compare-at"></div> </div> </div> </div> <div class="discount-sibling-element hide" rv-each-discount="item.discounts"> <div rf-if="discount.title" rv-html="discount.title" class="tag-discount"></div> </div> <div class="ajax-cart-item__price text-right" rv-html="item.line_price | money Currency.currentCurrency"></div></div> </div> </div> </div> <style> .tag-discount { background-color: #F5D9D8; color: var(--color-coral); min-width: 74px; width: auto; padding: 2px 6px !important; margin-bottom: 4px; font-weight: 600; display: inline-block; border-radius:4px; text-align: center; } .item--carbon-neutral-order { display: none; } .hover-op-80, .hover-op-70, .hover-op-60, .hover-op-50 { opacity: 1; transition: 300ms opacity ease-in-out; } .hover-op-80:hover { opacity: 0.8; transition: 300ms opacity ease-in-out; } .hover-op-70:hover { opacity: 0.7; transition: 300ms opacity ease-in-out; } .hover-op-60:hover { opacity: 0.6; transition: 300ms opacity ease-in-out; } .hover-op-50:hover { opacity: 0.5; transition: 300ms opacity ease-in-out; } </style> </div><!-- /.ajax-cart-item-list--reconditioning-fee --> <div class="ajax-cart-item-list--non-snoo"> <script> rivets.binders.increase = function (el, value) { el.setAttribute("aria-label", "Increase quantity for " + value); } rivets.binders.decrease = function (el, value) { el.setAttribute("aria-label", "Decrease quantity for " + value); } rivets.binders.removeitem = function (el, value) { el.setAttribute("aria-label", "Remove " + value + " from cart"); } rivets.binders.quantity = function (el, value) { el.setAttribute("aria-label", value.quantity + " " + value.product_title + " items ") } </script> <div class="ajax-cart-item hidden" rv-each-item="cart.items"> <a class="hover-op-70" rv-href="item.handle | prepend '/products/'" rv-title="item.product_title | prepend 'Visit page - '"> <img class="ajax-cart-item__image" rv-src="item.image | productImageSize '90x90'" width="90" height="90" rv-alt="item.title"> </a> <div class="ajax-cart-item__content"> <button type="button" rv-unless="item.variant_id | eq 16110351417390" rv-data-cart-remove-id="item.key" class="ajax-cart-item__btn-remove-item" rv-removeitem="item.product_title">&times;</button> <div class="ajax-cart-item__header"> <div class="has-discount" rv-each-discount="item.discounts"> <div rv-hide="'VIPBF STRATEARLY EARLYBF' | includes discount.title" rv-html="discount.title" class="tag-discount"></div> </div> <div rv-each-property="item.propertyArray < properties"> <div data-has-property="true" rv-if="property.name | eq '_is_final_sale'" class="has-discount"> <div class="tag-discount"> Final Sale </div><!-- rv-property-value --> </div><!-- rv-property-name --> </div><!-- rv-each-property --> <a class="ajax-cart-item__title hover-op-50" rv-href="item.handle | prepend '/products/'" rv-title="item.product_title | prepend 'Visit page - '" rv-html="item.product_title"></a> <div class="ajax-cart-item__ship-date-text"> <span aria-hidden="true">Estimated Ship Date:</span> <span class="ajax-cart-item__ship-date" aria-hidden="true"></span> </div> <a class="ajax-cart-item__variant hover-op-50" rv-href="item.handle | prepend '/products/'" rv-title="item.product_title | prepend 'Visit page - '" rv-html="item.variant_title"></a> <div rv-each-property="item.propertyArray < properties"> <div class="" data-has-property="true" rv-if="property.name | eq '_is_bundle_set'"> <span style="font-size: 10px;font-weight: normal; text-transform: uppercase; line-height: 1.25; display: inline-block;" data-bundle-item="true" data-bundle-name="{item.properties.bundle_name}" rv-if="property.value | eq 'true'"> <b>Bundle</b>: {item.properties._bundle_name}<br><br> </span> </div> <div class="hide" data-has-property="true" rv-if="property.name | eq '_campaign_group'"> <span style="font-size: 10px;font-weight: normal; text-transform: uppercase; line-height: 1.25; display: inline-block;" data-bundle-campaign-group="true"> <b>Campaign Group</b><br> {property.value}<br><br> </span> </div> <div class="hide" data-has-property="true" rv-if="property.name | eq '_promotion_name'"> <span style="font-size: 10px;font-weight: normal; text-transform: uppercase; line-height: 1.25; display: inline-block;" data-bundle-item="true" data-bundle-promotion-group="true"> <b>Promotion Group</b><br> {property.value }<br><br> </span> </div> <div class="hide" data-has-property="true" rv-if="property.name | eq '_is_returnable'"> <span style="font-size: 10px;font-weight: normal; text-transform: uppercase; line-height: 1.25; display: inline-block;" data-bundle-returnable="true"> <b>Is Returnable?</b><br> {property.value }<br><br> </span> </div> <div class="hide" data-has-property="true" rv-if="property.name | eq '_bundle_tags_removed'"> <span style="font-size: 10px;font-weight: normal; text-transform: uppercase; line-height: 1.25; display: inline-block;" data-bundle-item="true"> <b>Bundle Tags Removed?</b><br> {property.value }<br><br> </span> </div> </div> <div class="ajax-cart-item__product-id" rv-text="item.product_id"></div> </div> <div class="ajax-cart-item__qty-and-price"> <div rv-if="item.properties._is_bundle_set | eq 'true'"> QTY: {item.quantity} </div> <div rv-unless="item.properties._is_bundle_set | eq 'true'" class="ajax-cart-item__qty-picker"> <button rv-decrease="item.product_title" type="button" rv-show="item.quantity | eq 1" class="ajax-cart-item__qty-update" tabindex="-1" disabled><span> - </span></button> <button rv-decrease="item.product_title" type="button" rv-show="item.quantity | gt 1" class="ajax-cart-item__qty-update ajax-cart-item__qty-update--minus" rv-data-cart-update="index | plus 1" rv-data-cart-quantity="item.quantity | minus 1" tabindex="0">&nbsp;-&nbsp;</button> <span role="status" class="ajax-cart-item__qty" rv-quantity="item"> <span rv-text="item.quantity" aria-hidden="true"></span> </span> <button rv-increase="item.product_title" type="button" class="ajax-cart-item__qty-update ajax-cart-item__qty-update--plus" rv-data-cart-update="index | plus 1" rv-data-cart-quantity="item.quantity | plus 1" tabindex="0">&nbsp;+&nbsp;</button> </div> <div class="ajax-cart-item__price-container"> <div rv-each-property="item.propertyArray < properties"> <div rv-if="property.name | eq '_is_bundle_set' "> <div rv-hide="item"> <div class="ajax-cart-item__price-compare-at"></div> </div> </div> </div> <div class="discount-sibling-element hide" rv-each-discount="item.discounts"> <div rf-if="discount.title" rv-html="discount.title" class="tag-discount"></div> </div> <div class="ajax-cart-item__price text-right" rv-html="item.line_price | money Currency.currentCurrency"></div></div> </div> </div> </div> <style> .tag-discount { background-color: #F5D9D8; color: var(--color-coral); min-width: 74px; width: auto; padding: 2px 6px !important; margin-bottom: 4px; font-weight: 600; display: inline-block; border-radius:4px; text-align: center; } .item--carbon-neutral-order { display: none; } .hover-op-80, .hover-op-70, .hover-op-60, .hover-op-50 { opacity: 1; transition: 300ms opacity ease-in-out; } .hover-op-80:hover { opacity: 0.8; transition: 300ms opacity ease-in-out; } .hover-op-70:hover { opacity: 0.7; transition: 300ms opacity ease-in-out; } .hover-op-60:hover { opacity: 0.6; transition: 300ms opacity ease-in-out; } .hover-op-50:hover { opacity: 0.5; transition: 300ms opacity ease-in-out; } </style> </div><!-- /.ajax-cart-item-list--non-snoo --> </div><!-- /.container-inner --> </div><!-- /.ajax-cart-item-list --> <script> window.addEventListener('load', (e) => { // On page load, make Upsell cart Inactive. // This will be turned active if Prod Recs are created and Cart is Opened. var doesUpsellExist = document.querySelector('.ajax-cart__upsell .container-inner'); if (doesUpsellExist) { doesUpsellExist.classList.add('inactive'); } }); /* Run functions when Cart Object completes a request */ $(document).on('cart.requestComplete', function(event, cart) { reviewCartData(cart); }); /* Review Cart Object's Data */ function reviewCartData(data) { let cart = data; let exclusionWords = []; let recommendation_product_id; // Run through each Cart Item Object.keys(cart.items).some(function (k) { let cartItem = cart.items[k]; if (cartItem.handle === "snoo-smart-bassinet" || cartItem.handle === 'snoo-rental' || cartItem.handle === 'preloved-snoo') { // THEN Exclude words "bassinet", "rental", and "pre-loved" when recommending // ALSO Exclude the Manual Upsell Cart Item used when SNOO is in Cart exclusionWords.push("bassinet", "rental", "pre-loved", "snoo-sack"); // Return recommended products return recommendation_product_id = cartItem.product_id; } else { // THEN Exclude Manual Upsell Cart Item used when SNOO IS NOT in Cart exclusionWords.push("snoobie-white-noise-machine"); // Return recommended products return recommendation_product_id = cartItem.product_id; } }); fetchRecommendedProducts(recommendation_product_id, exclusionWords); } /* Fetch Shopify Recommendation API */ function fetchRecommendedProducts(recommendation_product_id, exclusionWords){ if (recommendation_product_id != undefined) { fetch(window.Shopify.routes.root + "recommendations/products.json?product_id=" + recommendation_product_id + "&limit=9&intent=related") .then(response => response.json()) .then( ({products}) => { if (products === undefined) { setTimeout(function(){ $('.ajax-cart__upsell .container-inner').addClass('inactive'); },100); } else if (products.length > 0) { setTimeout(function(){ $('.ajax-cart__upsell .container-inner').removeClass('inactive'); },100); // Clear out existing Recommended Products clearRecommendedProducts(); // Loop over array and find any exclusions // let recProdIndex = 0; for (var i = 0; i < products.length; i++) { if (i === 0) { } let recProdTitle = products[i].title.toLowerCase(); let recProdHandle = products[i].handle; let recProdTags = products[i].tags; let recProdAvailable = products[i].available; var ignoreProduct = false, IdDefault = false, varPriceDefault = false, varImgAltDefault = false, varImgDefault = false; if (exclusionWords.some(word => recProdHandle.includes(word))) { ignoreProduct = true; } if (recProdTags.includes('ignore-upsell')) { ignoreProduct = true; } if (!ignoreProduct){ recProdIndex += 1; // Product Recommendations // // CREATE UPSELL HTML ELEMENTS let elmDivInnerContainer = document.createElement('div'); elmDivInnerContainer.classList.add('inner-container'); let elmDivParent = document.createElement('div'); elmDivParent.dataset.recProd = recProdIndex; elmDivParent.classList.add('upsell__flex-item'); // if (recProdIndex === 1) { // elmDivParent.classList.add('snap-align-to-top'); // } let prodVariants = products[i].variants; // Setup Default/Initial ID, Price, Image Alt, Image, for (d=0; d<prodVariants.length; d++) { if (prodVariants[d].available) { varIdDefault = prodVariants[d].id, varPriceDefault = prodVariants[d].price; if (prodVariants[d].featured_image !== null) { varImgDefault = prodVariants[d].featured_image.src; varImgAltDefault = prodVariants[d].name; } else { varImgDefault = products[i].featured_image; varImgAltDefault = products[i].title } break; } } let elmImg = document.createElement('a'); elmImg.href = `/products/${products[i].handle}`; // IF image is transparent PNG, add Class that removes background if(elmImg.href.includes('.png')) { elmImg.classList.remove('rounded-corners'); } // ELSE remove class and add background w/ rounded corners else { elmImg.classList.add('rounded-corners'); } elmImg.innerHTML += ` <img class="upsell__image" loading="lazy" data-img-index="${recProdIndex}" src="${varImgDefault}" alt="${varImgAltDefault}"> `; let elmProdInfo = document.createElement('div'); elmProdInfo.classList.add('upsell__product-info'); elmProdInfo.innerHTML= ` <a href="/products/${products[i].handle}" style="text-align: center;">${recProdTitle}</a> `; let elmProdSelectors = document.createElement('div'); elmProdSelectors.classList.add('upsell__product-selectors'); elmProdSelectors.innerHTML = ` <div class="upsell_select_qty"> <label for="upsell_qty_${recProdIndex}" class="screen-reader-only">Select Quantity:</label> <select id="upsell_qty_${recProdIndex}" class="upsell__variant-select upsell_qty"> </select> <span class="focus"></span> </div><!-- /.upsell_select_qty --> `; // Quantity Options for (q=1; q<11; q++) { elmProdSelectors.querySelector('.upsell_select_qty select').innerHTML += `<option value="${q}">${q}</option>`; } elmProdSelectors.innerHTML += ` <div class="upsell_select_color"> <label for="upsell_color_${recProdIndex}" class="screen-reader-only">Select Size and Color:</label> <select id="upsell_color_${recProdIndex}" class="upsell__variant-select upsell_color"> </select> <span class="focus"></span> </div><!-- /.upsell_select_color --> `; // Setup Available Color Options for (v=0; v<prodVariants.length; v++) { if (prodVariants[v].available) { let variantSelected; let variantImage = products[i].featured_image; let variantImageAlt = products[i].title; let variantTitle = prodVariants[v].title; let variantClass = 'has-variants'; if (prodVariants[v].title === "Default Title") { variantTitle = 'Available'; variantClass = 'no-variants'; elmProdSelectors.querySelector('.upsell_select_color select').disabled = true; } else { elmProdSelectors.querySelector('.upsell_select_color select').disabled = false; } elmProdSelectors.querySelector('.upsell_select_color select').classList.add(variantClass); if (prodVariants[v].featured_image !== null) { variantImage = prodVariants[v].featured_image.src; variantImageAlt = prodVariants[v].featured_image.alt; } (prodVariants[v].id === varIdDefault) ? variantSelected = 'selected' : variantSelected = ''; elmProdSelectors.querySelector('.upsell_select_color select').innerHTML += ` <option value="${prodVariants[v].id}" ${variantSelected} data-price="${prodVariants[v].price}" data-image="${variantImage}" data-image-alt-text="${variantImageAlt}"> ${variantTitle} </option> `; } } elmDivInnerContainer.append(elmImg, elmProdInfo, elmProdSelectors); elmDivInnerContainer.innerHTML += ` <div class="upsell__add-to-cart"> <a class="upsell__add-btn" href="javascript:void();" data-cta-index="${recProdIndex}" data-cart-quantity="1" data-cart-add="${varIdDefault}"> ADD | <span class="upsell__variant-price">${Shopify.formatMoney(varPriceDefault)}<span> </a> </div><!-- /.upsell__add-to-cart --> `; elmDivParent.append(elmDivInnerContainer); let ajaxCartContainerDesktop = document.querySelector('.upsell__flex-container.desktop'); let ajaxCartContainerMobile = document.querySelector('.upsell__flex-container.mobile'); ajaxCartContainerDesktop.append(elmDivParent.cloneNode(true)); ajaxCartContainerMobile.append(elmDivParent.cloneNode(true)); } // Last Indexof Loop if (i === products.length-1) { let flexFill = (3 - (recProdIndex % 3)) * 33.33; let elmFillInDiv = document.createElement('div'); elmFillInDiv.classList.add('upsell__flex-item--fill-in'); elmFillInDiv.style.flex = '0 0 '+flexFill+'%'; let ajaxCartContainer = document.querySelector('.upsell__flex-container'); ajaxCartContainer.append(elmFillInDiv); } } } }); } } function clearRecommendedProducts() { var recommendedProducts = document.querySelectorAll('[data-rec-prod]'); for(i=0; i<recommendedProducts.length; i++) { recommendedProducts[i].remove(); } } </script> <div class="ajax-cart__upsell-mobile"> <div class="container-inner"> <h5>You may also like</h5> <div class="upsell_scroll-prev"> <a href="#" class="btn--prev"><span class="screen-reader-only">View Previous</span></a> </div> <div class="upsell__flex-container mobile flex-column"> </div> <div class="upsell_scroll-next"> <a href="#" class="btn--next"><span class="screen-reader-only">View Next</span></a> </div> </div> </div> <script> window.addEventListener('load', function(e){ /* Upsell Carousel Slider */ var scrollNextBtn = document.querySelector('.ajax-cart__upsell-mobile .btn--next'); var scrollPrevBtn = document.querySelector('.ajax-cart__upsell-mobile .btn--prev'); var horizontalContainer = document.querySelector('.ajax-cart__upsell-mobile .container-inner .upsell__flex-container'); // Initial Vertical Container Top var horizontalContainerLeft = horizontalContainer.scrollLeft; var horizontalContainerRight = horizontalContainer.scrollRight; var currentSelection, nextSelection, nextSelectionWidth; var prodRecLength = 0; var prodRecObserver = new MutationObserver(function (m) { for(i=0; i<m.length; i++) { // Go through childList if (m[i].type === 'childList') { if(m[i].target.querySelectorAll('[data-rec-prod]').length !== 0) { prodRecLength = m[i].target.querySelectorAll('[data-rec-prod]').length; /* Input/Select Event Listener */ document.addEventListener('input', function (event) { var prodRecIndex; // IF Upsell QTY Event if (event.target.classList.contains('upsell_qty')) { prodRecIndex = event.target.id.replace('upsell_qty_','') // Update quantity data-cart-quantity attribute on add-to-cart $('.upsell__add-btn[data-cta-index='+prodRecIndex+']').attr('data-cart-quantity', event.target.options[event.target.selectedIndex].value); } // Update variant image sr in upsell image // Update variant id in data-cart-add attribute on add-to-cart if (event.target.classList.contains('upsell_color')) { prodRecIndex = event.target.id.replace('upsell_color_','') $('.upsell__image[data-img-index='+prodRecIndex+']').attr('src', event.target.options[event.target.selectedIndex].dataset.image); $('.upsell__add-btn[data-cta-index='+prodRecIndex+']').attr('data-cart-add', event.target.options[event.target.selectedIndex].value); } }, false); } } } }); // configuration of the observer: var config = { subtree: true, characterData: true, childList: true }; // pass in the target node, as well as the observer options prodRecObserver.observe(horizontalContainer, config); horizontalContainerLeft = 0; nextSelectionWidth = 0; // Event Listener - Scroll Next Button is Clicked scrollNextBtn.addEventListener("click", (e) => { // Define Current Product Recommendation Selection - Default is First Product currentSelection = document.querySelector('.mobile .snap-align-to-top'); // IF Current Selection is the Last Product in the Carousel, // Then Next Selection goes back to the Top/Beginning if (currentSelection.dataset.recProd == prodRecLength) { nextSelection = document.querySelector('.mobile [data-rec-prod="1"]'); // Set the Scroll Top back for First Product horizontalContainerLeft = 0; } // ELSE, the Next Selection is the Next Product else { nextSelection = currentSelection.nextElementSibling; // Set the Scroll Top for Next Product horizontalContainerLeft = horizontalContainer.scrollLeft + nextSelectionWidth; } // Remove Class of Current Selection currentSelection.classList.remove('snap-align-to-top'); // and Add Class to Next Selection nextSelection.classList.add('snap-align-to-top'); // Grab Next Selection's Height nextSelectionWidth = nextSelection.offsetWidth; // Scroll To Top based on Last Prod or Next Prod horizontalContainer.scroll({ left: horizontalContainerLeft, behavior: 'smooth' }); }); // Event Listener - Scroll Previous Button is Clicked scrollPrevBtn.addEventListener("click", (e) => { // Define Current Product Recommendation Selection - Default is First Product currentSelection = document.querySelector('.mobile .snap-align-to-top'); // Remove Class of Current Selection currentSelection.classList.remove('snap-align-to-top'); // IF Current Selection is the Last Product in the Carousel, // Then Next Selection goes back to the Top/Beginning if (currentSelection.dataset.recProd == 1) { nextSelection = document.querySelector('.mobile [data-rec-prod="1"]'); // and Add Class to Last Selection document.querySelector(`.mobile [data-rec-prod="${prodRecLength}"]`).classList.add('snap-align-to-top'); // Grab Next Selection's Width nextSelectionWidth = nextSelection.offsetWidth; // Set the Scroll Top back for First Product horizontalContainerRight = nextSelectionWidth*prodRecLength; } // ELSE, the Next Selection is the Next Product else { nextSelection = currentSelection.previousElementSibling; nextSelection.classList.add('snap-align-to-top'); // Set the Scroll Top for Next Product horizontalContainerRight = horizontalContainer.scrollLeft - nextSelectionWidth; } // Grab Next Selection's Height nextSelectionWidth = nextSelection.offsetWidth; // Scroll To Top based on Last Prod or Next Prod horizontalContainer.scroll({ left: horizontalContainerRight, behavior: 'smooth' }); }); }); </script> <style data-shopify> @media only screen and (min-width: 768px) { .ajax-cart__upsell-mobile { display: none; } } .ajax-cart__upsell-mobile .container-inner { position: relative; overflow: hidden; } .ajax-cart__upsell-mobile .upsell_scroll-next, .ajax-cart__upsell-mobile .upsell_scroll-prev { /* background: #E5FAFA; */ padding-top: 2rem; padding-bottom: 2rem; text-align: center; position: absolute; top: 50%; } .ajax-cart__upsell-mobile .upsell_scroll-next { right: 0; } .ajax-cart__upsell-mobile .upsell_scroll-prev { left: 0; } .ajax-cart__upsell-mobile .upsell_scroll-prev .btn--prev, .ajax-cart__upsell-mobile .upsell_scroll-next .btn--next { background-image: url(//www.happiestbaby.com/cdn/shop/t/1010/assets/icon--arrow-down.svg?v=136023790857020499441732206330); background-repeat: no-repeat; background-position: 50% 50%; background-size: contain; background-color: transparent; height: 20px; width: 40px; display: block; margin: 0 auto; } .ajax-cart__upsell-mobile .upsell_scroll-prev .btn--prev{ transform: rotate(90deg); } .ajax-cart__upsell-mobile .upsell_scroll-next .btn--next { transform: rotate(270deg); } .ajax-cart__upsell-mobile .upsell__flex-container.mobile { flex-flow: row nowrap !important; max-height: unset; max-width: 470px; margin: 0 auto; scroll-snap-type: x mandatory; overflow-x: scroll; } .ajax-cart__upsell-mobile .container-inner { /* background: var(--color-very-light-blue); */ border-top: 1px solid #eaeaea; linear-gradient(0deg, var(--color-very-light-blue) 0%, var(--color-very-light-blue) 5%, var(--color-white) 60%); } .ajax-cart__upsell-mobile .container-inner:before { content: ''; display: block; position: absolute; top: 0; left: 0; background-image:url(//www.happiestbaby.com/cdn/shop/t/1010/assets/upsell--clouds-top-left.svg?v=155828361088399426121732206482); background-position: top left; background-repeat: no-repeat; background-size: contain; aspect-ratio: 90 / 56; width: 90px; height: 56px; z-index: -1; } .ajax-cart__upsell-mobile .container-inner:after { content: ''; display: block; position: absolute; right: 0; bottom: 0; background-image:url(//www.happiestbaby.com/cdn/shop/t/1010/assets/upsell--clouds-bottom-right.svg?v=20494164218009269531732206482); background-position: bottom right; background-repeat: no-repeat; background-size: contain; aspect-ratio: 96 / 70; width: 96px; height: 70px; z-index: -1; } .ajax-cart__upsell-mobile .container-inner > h5 { text-align: center; font-size: 14px; line-height: 1; margin-top: 0.75rem; padding-bottom: .1rem; font-weight: 500; } .ajax-cart__upsell-mobile .container-inner .upsell__product-info > a { font-size: 11px; } .ajax-cart__upsell-mobile .upsell__flex-container.mobile .upsell__flex-item { border-bottom: 1px solid transparent; flex-basis: 50%; padding: 0.5rem 1rem; display: flex; flex-direction: column; } .upsell__flex-container.mobile .upsell__flex-item .upsell__product-info { flex-grow: 1; } .upsell__flex-container.mobile .upsell__flex-item .inner-container { padding: 1rem; border-radius: 10px; display: flex; padding: 0; align-items: center; justify-content: center; flex-flow: column; flex: 0 0 100%; } .upsell__flex-container.mobile .upsell__image { height: 60px; width: auto; } .upsell__flex-container.mobile .upsell__add-to-cart .upsell__add-btn { padding: 4px; } .upsell__flex-container.mobile .upsell__flex-item .inner-container > * { padding-left: 1rem; padding-right: 1rem; } </style> <div class="ajax-cart__footer contain-width" rv-show="cart.item_count | gt 0"> <div class="ajax-cart__footer-row clearfix"> <div>Subtotal </div> <div class="ajax-cart__subtotal" rv-text="cart.total_price | money Currency.currentCurrency"></div> </div> <div class="ajax-cart__footer-row clearfix" style="text-align: right;"><span class="desc-shipping" style="font-weight: normal;">Shipping, taxes, and discounts calculated at checkout</span> </div> <div class="ajax-cart__main-ctas"> <p class="us-free-shipping-disclaimer us-free-shipping-disclaimer--rental hidden">In the 48 contiguous United States, customers will be charged $59.50 + tax for the shipment of SNOO back to Happiest Baby. Added charges will apply for shipping to and from Alaska and Hawaii.</p> <p class="us-free-shipping-disclaimer us-free-shipping-disclaimer--purchase hidden">* An additional $185 shipping fee will be applied to SNOO purchases sent to Hawaii and Alaska.</p> <div class="ajax-cart__checkout-btn-container"> <a href="#" onclick="handleCheckout()" aria-label="Checkout button" id="checkout-button" type="button" name="checkout" class="btn btn--full-width ajax-cart__btn-checkout" > Checkout <span class="checkout-button-subtotal" >|&nbsp;</span> <span class="checkout-button-subtotal" rv-text="cart.total_price | money Currency.currentCurrency"></span> </a> </div><!-- /.ajax-cart__checkout-btn-container --> </div><!-- /.ajax-cart__main-ctas --> </div><!-- /.ajax-cart__footer contain-width --> <script> function isValidRentalCart(lineItems) { const reconditioningFee = lineItems.find(lineItem => lineItem.variant_id.toString() === "16110351417390"); if (!reconditioningFee) return false; const rentalSnooItem = lineItems.find(lineItem => lineItem.variant_id.toString() === "39555822485694"); if (!rentalSnooItem) return false; return reconditioningFee.quantity === rentalSnooItem.quantity; } function isRentalCart(lineItems) { return lineItems.some(lineItem => lineItem.variant_id.toString() === "39555822485694") } function setQueryParams() { const checkoutId = localStorage.getItem('checkoutId'); if (!checkoutId) return; let queryParams = {}; const currentUrl = window.location.href; const langSelected = localStorage.getItem('wglang'); if (langSelected !== null) { queryParams['lang'] = langSelected; } queryParams['isRental'] = true; queryParams['returnUrl'] = currentUrl; queryParams['checkoutId'] = checkoutId; return new URLSearchParams(queryParams).toString(); } function handleRetailCart() { const url = 'https://account.happiestbaby.com'; const currentUrl = window.location.href; const langSelected = localStorage.getItem('wglang'); let setParams; if (langSelected !== null) { setParams = { lang: `${langSelected}`, returnUrl: `${currentUrl}` } } else { setParams = { returnUrl: `${currentUrl}` } } const params = new URLSearchParams(setParams).toString(); window.location.href = `${url}/auth/welcome?${params}`; } async function handleCheckout() { const url = 'https://account.happiestbaby.com'; try { const existingCart = CartJS.cart; const isRental = isRentalCart(existingCart.items) if (!isRental) { clickedCheckout(); return; } const isValid = isValidRentalCart(existingCart.items); if (!isValid) { throw new Error("Your items do not match criteria. Please make sure that you have both Rental and Reconditioning Fee in cart with same quantity") } const { checkout } = await createCheckout(existingCart); if (!checkout) { throw new Error('There was an error with your request. Please try again. If issue persists, please contact customer care.') } const checkoutId = checkout.id.split('Checkout/')[1]; localStorage.setItem('checkoutId', checkoutId); const queryParams = setQueryParams(checkoutId); window.location.href = `${url}/auth/welcome?${queryParams}`; } catch(err) { console.log(err); alert('There was an error with your request. Please try again. If issue persists, please contact customer care.') } } async function createCheckout(cart) { const mutation = `mutation checkoutCreate($input: CheckoutCreateInput!) { checkoutCreate(input: $input) { checkout { # Checkout fields id } userErrors { field message } } }` let payload = { input: { lineItems: cart.items.map(item => { const attributes = Object.keys(item.properties).map(key => { return { key, value: item.properties[key] ? item.properties[key] : '' } }); return { variantId: `gid://shopify/ProductVariant/${item.variant_id}`, quantity: item.quantity, customAttributes: attributes, } }) } } const response = await fetch(`https://happiestbaby.myshopify.com/api/2024-01/graphql.json`, { method: 'POST', headers: { 'Content-Type': 'application/json', 'X-Shopify-Storefront-Access-Token': 'ff42c997cfb259da64b536bea86a820d', }, body: JSON.stringify({ query: mutation, variables: payload, }) }); if (!response.ok) { throw new Error("failed to create cart: ", response); } const { data } = await response.json(); if (data.checkoutCreate.userErrors && data.checkoutCreate.userErrors.length > 0) { throw new Error(data.checkoutCreate.userErrors[0].message); } return data.checkoutCreate; } function addFbRefToCart(friendbuy_referral_code) { if (friendbuy_referral_code) { CartJS.setAttribute('friendbuyReferralCode',friendbuy_referral_code); } } /** * Click checkout button */ function clickedCheckout() { if (!document.querySelector('#checkout-button').classList.contains('disabled')) { var fbRefCode = localStorage.getItem('friendbuyReferralCode'); if (fbRefCode !== null) { addFbRefToCart(fbRefCode); } handleRetailCart(); } else { event.PreventDefault; } } /** * Push to dataLayer when checkout viewed */ function pushWhenCheckoutClicked() { var lineItems = [ ]; // Record the info window.dataLayer = window.dataLayer || []; window.dataLayer.push({ 'event': 'initiateCheckout', 'ecommerce': { 'checkout': { 'actionField': { 'revenue': '0.00' }, 'products': JSON.stringify(lineItems, null, 2) } } }); // Logging }; /** * Go to checkout page */ function goToCheckoutPage() { if (typeof Weglot !== "undefined") { var langSelected; langSelected = Weglot.getCurrentLang(); if (langSelected == 'en' ) { langSelected = 'en_DE'; }if (rentalQty > 0 && false) { window.location.href='/checkout?discount='; } else { window.location.href='/checkout'; }} else { window.location.href = '/checkout' } } </script> <style data-shopify> .ajax-cart__footer { width: 100%; padding-bottom: 1rem; } #checkout-button { margin-top: 0; border-radius: 7px; background-color: var(--color-coral); border-color: var(--color-coral); text-transform: uppercase; } #checkout-button .checkout-button-subtotal { font-weight: normal; display: none; } .ajax-cart__footer-row { margin-left: 0; margin-right: 0; font-size: 15px; } @media only screen and (max-height: 768px), only screen and (max-width: 500px) { #checkout-button .checkout-button-subtotal { display: inline-block; } .ajax-cart__footer-row { display: none; } } .ajax-cart__footer-row .desc-shipping { font-size: 12px; } </style> </form> </div><!-- /[data-cart-view]--> </div><!-- /#ajax-cart-containe --> <style data-shopify> /* Cart Container */ div#ajax-cart-container { z-index: 999999; } /* GWP Related Styling */ #cart-gwp-callout-msg-id { display: none; height: 50px; } .cart-gwp-callout-msg { height: auto; margin: 0 50px; margin-right: 46px; margin-bottom: 10px; background: #2f8fc0; min-height: 50px; min-width: 218px; } .cart-gwp-callout-msg p { text-align: center; padding: 2px; margin: 0px 0px; color: white; font-weight: 700; } @media only screen and (max-width: 767px) { .cart-gwp-callout-msg { height: auto; margin-left: 18px; margin-right: 30px; } } @media only screen and (max-width: 450px) { .cart-gwp-callout-msg { margin-right: 20px; } } /* Data Cart View Container */ [data-cart-view].contain-width form { display: flex; justify-content: flex-start; flex-direction: column; height: 100%; } @media only screen and (max-width: 562px) { [data-cart-view].contain-width { min-width: 400px; max-width: 400px; width: 400px; overflow-x: scroll; } .ajax-cart-item-list.container-outer > .container-inner { padding-left: 0.5rem; padding-right: 0.5rem; } } /* Cart Header - Shipping Progress */ .ajax-cart__header { flex: 0 0 auto; align-self: auto; position: relative; } /* Cart Header - Messaging */ .ajax-cart__empty-cart-message { flex: 0 0 auto; align-self: auto; position: relative; } .btn.ajax-cart__btn-continue-shopping { font-size: unset; text-transform: uppercase; } .empy-cart-messge--container { font-size: 13px; text-transform: uppercase; } .ajax-cart-item-list.ajax-cart-item-list--with-scroll { margin-right: 0; } .ajax-cart-alert-banner { flex: 0 0 auto; align-self: auto; position: relative; margin-top: 1rem; } .ajax-cart-alert-banner__btn-close { top: -8px; right: 2px;; cursor: pointer; padding: 4px; } /* Cart List */ .ajax-cart-item-list.container-outer { padding-left: 0; padding-right: 0; flex: 1 1 100%; position: relative; max-height:unset; min-height: 130px; margin-bottom: 0; } .ajax-cart-item-list .container-inner { padding-left: 2rem; padding-right: 2rem; } /* Cart Items in Cart List */ .ajax-cart-item { padding: 1.25rem 0; border-top: unset; border-bottom: 1px solid #eaeaea; } .ajax-cart-item__btn-remove-item { top: 14px; border: 1px solid transparent; } .ajax-cart-item__btn-remove-item:hover { border: 1px solid #eaeaea; } .ajax-cart-item__qty-picker { padding: 1.856px 0; font-size: 14px; } .ajax-cart-item__title { max-width: 85%; } .ajax-cart-item__qty-picker .ajax-cart-item__qty { width: 10px; text-align: center; } .ajax-cart-item__qty-picker .ajax-cart-item__qty-update { width: 30px; } .ajax-cart-item__qty-picker .ajax-cart-item__qty-update:hover { background: #eaeaea; } .ajax-cart__footer.contain-width { flex: 0 0 auto; position: relative; } .ajax-cart-item__qty-picker { border-radius: 5px; } .ajax-cart-item__variant { font-weight: normal; margin-bottom: 1rem; } /* Cart Checkout Button */ #checkout-button.disabled { pointer-events: none; opacity: 0.5; } .ajax-cart .us-free-shipping-disclaimer { position: relative; margin-top: 1rem; } .ajax-cart__footer { position: absolute; bottom: 0; background: #fff; border-top: 1px solid #eaeaea; padding-top: 1rem; } .ajax-cart.remove-width { padding-bottom: 0 !important; overflow: hidden; } /* Eco Smart */ .ajax-cart__checkout-btn-container eco-widget { margin-bottom: 10px; } </style> <script> (function () { CartJS.init({"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}, {"moneyFormat": "${{amount}}", "moneyWithCurrencyFormat": "${{amount}}" }); }()); </script> <!-- Klaviyo Script start --><script>var _learnq = _learnq || []; _learnq.push(['account', 'rFzWRy']); (function () { var b = document.createElement('script'); b.type = 'text/javascript'; b.async = true; b.src = ('https:' == document.location.protocol ? 'https://' : 'http://') + 'a.klaviyo.com/media/js/analytics/analytics.js'; var a = document.getElementsByTagName('script')[0]; a.parentNode.insertBefore(b, a); })(); </script> <!-- Klaviyo Script end --> <!-- Algolia --> <script src="//www.happiestbaby.com/cdn/shop/t/1010/assets/algolia_config.js?v=12868928359716710661732206522"></script> <script type="text/template" id="template_algolia_money_format">${{amount}}</script> <script type="text/template" id="template_algolia_current_collection_id">{ "currentCollectionID": 294405767358 }</script> <script type="text/template" id="template_algolia_autocomplete"><div class="aa-columns-container [[# with.articles ]] aa-with-articles [[/ with.articles ]] [[^ with.articles ]] aa-without-articles [[/ with.articles ]] [[# with.footer ]] aa-with-footer [[/ with.footer ]] [[^ with.footer ]] aa-without-footer [[/ with.footer ]] [[# with.products ]] aa-with-products [[/ with.products ]] [[^ with.products ]] aa-without-products [[/ with.products ]] [[# with.pages ]] aa-with-pages [[/ with.pages ]] [[^ with.pages ]] aa-without-pages [[/ with.pages ]] "> <div class="aa-dataset-products aa-right-column"></div> <div class="aa-left-column"><div class="aa-zendesk-faqs"><div class="aa-zendesk-faqs-header">FAQs</div><div class="aa-dataset-zendesk_faqs"></div></div> <div class="aa-articles"><div class="aa-articles-header">Articles</div><div class="aa-dataset-articles"></div></div> <div class="aa-pages"><div class="aa-pages-header">Pages</div><div class="aa-dataset-pages"></div></div> </div> </div> </script> <script type="text/template" id="template_algolia_autocomplete.css">.algolia-autocomplete{box-sizing:border-box;background:white;border:1px solid #CCC;z-index:10000 !important;color:[[ colors.main ]];text-align:left;margin-top:-8px;}/* disable autocomplete on mobile */@media only screen and (max-width:850px){.algolia-autocomplete{display:none !important;}}.aa-dropdown-menu .aa-highlight{color:black;font-weight:bold;}.aa-dropdown-menu .aa-cursor{cursor:pointer;}/* Resets */.aa-dropdown-menu div,.aa-dropdown-menu p,.aa-dropdown-menu span,.aa-dropdown-menu a{box-sizing:border-box;margin:0;padding:0;line-height:1.3;font-size:.9rem;}/* Links */.aa-dropdown-menu a,.aa-dropdown-menu a:hover,.aa-dropdown-menu a:focus,.aa-dropdown-menu a:active{font-weight:initial;font-style:initial;text-decoration:initial;color:[[ colors.main ]];}.aa-dropdown-menu a:hover,.aa-dropdown-menu a:focus,.aa-dropdown-menu a:active{text-decoration:underline;}/* Column layout */.aa-dropdown-menu .aa-left-column,.aa-dropdown-menu .aa-right-column{position:relative;padding:24px 24px 0 24px;}.aa-dropdown-menu-size-xs .aa-left-column,.aa-dropdown-menu-size-xs .aa-right-column,.aa-dropdown-menu-size-sm .aa-left-column,.aa-dropdown-menu-size-sm .aa-right-column{padding:24px 12px 0 12px;}.aa-dropdown-menu .aa-with-powered-by .aa-left-column{padding-bottom:48px;}.aa-dropdown-menu-size-xs .aa-left-column,.aa-dropdown-menu-size-sm .aa-left-column{padding-top:0;padding-bottom:32px;}.aa-dropdown-menu-size-xs .aa-without-powered-by .aa-left-column,.aa-dropdown-menu-size-sm .aa-without-powered-by .aa-left-column{padding-bottom:0;}.aa-dropdown-menu-size-lg .aa-columns-container{direction:rtl;width:100%;display:table;table-layout:fixed;}.aa-dropdown-menu-size-lg .aa-left-column,.aa-dropdown-menu-size-lg .aa-right-column{display:table-cell;direction:ltr;vertical-align:top;}.aa-dropdown-menu-size-lg .aa-left-column{width:30%;}.aa-dropdown-menu-size-lg .aa-without-articles.aa-without-collections .aa-left-column{display:none;}.aa-dropdown-menu-size-lg .aa-without-products .aa-left-column{width:100%;}.aa-dropdown-menu-size-lg .aa-right-column{width:70%;border-left:1px solid #ebebeb;padding-bottom:64px;}.aa-dropdown-menu-size-lg .aa-without-footer .aa-right-column{padding-bottom:0;}.aa-dropdown-menu-size-lg .aa-without-articles.aa-without-collections .aa-right-column{width:100%;border-left:none;}.aa-dropdown-menu-size-lg .aa-without-products .aa-right-column{display:none;}/* Products group */.aa-dropdown-menu .aa-dataset-products .aa-suggestions:after{content:'';display:block;clear:both;}.aa-dropdown-menu .aa-without-products .aa-dataset-products{display:none;}.aa-dropdown-menu .aa-products-empty{margin-bottom:16px;}.aa-dropdown-menu .aa-products-empty .aa-no-result{color:[[ colors.secondary ]];}.aa-dropdown-menu .aa-products-empty .aa-see-all{margin-top:8px;}/* Product */.aa-dropdown-menu .aa-dataset-products .aa-suggestion{float:left;width:50%;margin-bottom:32px;margin-top:-4px; /* -$v_padding */}.aa-dropdown-menu-size-xs .aa-dataset-products .aa-suggestion,.aa-dropdown-menu-size-sm .aa-dataset-products .aa-suggestion{width:100%;}.aa-dropdown-menu .aa-product{position:relative;min-height:56px; /* $img_size + 2 * $v_padding */padding:4px 16px; /* $v_padding, $h_padding */}.aa-dropdown-menu .aa-product-picture{margin:0 auto;width:150px; /* $img_size */height:150px; /* $img_size */background-position:center center;background-size:contain;background-repeat:no-repeat;}.aa-dropdown-menu .aa-product-text{margin-top:6px;text-align:center;}.aa-dropdown-menu-size-xs .aa-product{padding:4px;}.aa-dropdown-menu-size-xs .aa-product-picture{display:none;}.aa-dropdown-menu-size-xs .aa-product-text{margin:0;}/*.aa-dropdown-menu .aa-product-info{font-size:0.85em;color:[[ colors.secondary ]];}.aa-dropdown-menu .aa-product-info .aa-highlight{font-size:1em;}*/.aa-dropdown-menu .aa-product-price{color:[[ colors.main ]];}.aa-dropdown-menu .aa-product-title,.aa-dropdown-menu .aa-product-info{width:100%;margin-top:-0.4em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.3;}/* Collections, Articles & Pages */.aa-dropdown-menu .aa-without-collections .aa-collections{display:none;}.aa-dropdown-menu .aa-without-articles .aa-articles{display:none;}.aa-dropdown-menu .aa-without-pages .aa-pages{display:none;}.aa-dropdown-menu .aa-collections,.aa-dropdown-menu .aa-zendesk-faqs,.aa-dropdown-menu .aa-articles,.aa-dropdown-menu .aa-pages{margin-bottom:24px;}.aa-dropdown-menu .aa-collections-empty .aa-no-result,.aa-dropdown-menu .aa-zendesk-faqs-empty .aa-no-result,.aa-dropdown-menu .aa-articles-empty .aa-no-result,.aa-dropdown-menu .aa-pages-empty .aa-no-result{opacity:0.7;}.aa-dropdown-menu .aa-collections-header,.aa-dropdown-menu .aa-zendesk-faqs-header,.aa-dropdown-menu .aa-articles-header,.aa-dropdown-menu .aa-pages-header{margin-bottom:8px;text-transform:uppercase;font-weight:bold;font-size:0.8em;color:[[ colors.secondary ]];}.aa-dropdown-menu .aa-collection,.aa-dropdown-menu .aa-zendesk-faq,.aa-dropdown-menu .aa-article,.aa-dropdown-menu .aa-page{padding:4px 0;}/* Footer */.aa-dropdown-menu .aa-footer{display:block;width:100%;position:absolute;left:0;bottom:0;padding:16px 48px;background-color:#f8f8f8;}.aa-dropdown-menu-size-xs .aa-footer,.aa-dropdown-menu-size-sm .aa-footer,.aa-dropdown-menu-size-md .aa-footer{display:none;}.aa-title:hover,.aa-product-title:hover{text-decoration:underline;}</script> <script type="text/template" id="template_algolia_autocomplete_pages_empty"><div class="aa-pages-empty"><div class="aa-no-result">[[ translations.noPageFound ]]</div></div></script> <script type="text/template" id="template_algolia_autocomplete_page"><div class="aa-page"><div class="aa-picture" style="background-image: url('[[# helpers.iconImage ]][[/ helpers.iconImage ]]')"></div><div class="aa-text"><span class="aa-title">[[& _highlightResult.title.value ]]</span></div></div></script> <script type="text/template" id="template_algolia_autocomplete_article"><div class="aa-article"><div class="aa-text"><span class="aa-title">[[& _highlightResult.title.value ]]</span></div></div></script> <script type="text/template" id="template_algolia_autocomplete_articles_empty"><div class="aa-articles-empty"><div class="aa-no-result">No articles found</div></div></script> <script type="text/template" id="template_algolia_autocomplete_product"><div data-algolia-index="[[ _index ]]" data-algolia-position="[[ _position ]]" data-algolia-queryid="[[ queryID ]]" data-algolia-objectid="[[ objectID ]]" class="aa-product"> <div class="aa-product-picture" style="background-image: url('[[# helpers.mediumImage ]][[/ helpers.mediumImage ]]')"></div> <div class="aa-product-text"> <p class="aa-product-title">[[# helpers.fullHTMLTitle ]][[/ helpers.fullHTMLTitle ]]</p> <p class="aa-product-price" data-product-price="[[# helpers.autocompletePrice ]][[/ helpers.autocompletePrice ]]">[[# helpers.autocompletePrice ]][[/ helpers.autocompletePrice ]]</p></div> </div></script> <script type="text/template" id="template_algolia_autocomplete_products_empty"><div class="aa-products-empty"><p class="aa-no-result">[[# helpers.no_result_for ]] "[[ query ]]" [[/ helpers.no_result_for]]</p></div></script> <script type="text/template" id="template_algolia_autocomplete_zendesk_faq"><div class="aa-zendesk-faq"><div class="aa-text"><span class="aa-title">[[& _highlightResult.title.value ]]</span></div></div></script> <script type="text/template" id="template_algolia_autocomplete_zendesk_faqs_empty"><div class="aa-zendesk-faqs-empty"><div class="aa-no-result">No FAQ results found</div></div></script> <script type="text/template" id="template_algolia_autocomplete_footer"><div class="aa-footer"><a class="aa-footer-link" href="/search?q=[[ query ]]"><span class="aa-matching-text">[[ translations.matching ]]</span><span class="aa-query" data-wg-notranslate="manual">"[[ query ]]"</span></a></div> </script> <script src="//www.happiestbaby.com/cdn/shop/t/1010/assets/algolia_externals.js?v=137914374425818572251732206169"></script> <script src="//www.happiestbaby.com/cdn/shop/t/1010/assets/algolia_init.js?v=181711951360538480891732206522"></script> <script src="//www.happiestbaby.com/cdn/shop/t/1010/assets/algolia_analytics.js?v=24221747322820921351732206522"></script> <script src="//www.happiestbaby.com/cdn/shop/t/1010/assets/algolia_translations.js?v=32765732798453654921732206522"></script> <script src="//www.happiestbaby.com/cdn/shop/t/1010/assets/algolia_helpers.js?v=117786865666555087221732206522"></script> <script src="//www.happiestbaby.com/cdn/shop/t/1010/assets/algolia_autocomplete.js?v=159457384321077080871732206522"></script> <!-- /Algolia --> <!--Start adding UET tag script--><script>(function(w,d,t,r,u){var f,n,i;w[u]=w[u]||[],f=function(){var o={ti:"5650125"};o.q=w[u],w[u]=new UET(o),w[u].push("pageLoad")},n=d.createElement(t),n.src=r,n.async=1,n.onload=n.onreadystatechange=function(){var s=this.readyState;s&&s!=="loaded"&&s!=="complete"||(f(),n.onload=n.onreadystatechange=null)},i=d.getElementsByTagName(t)[0],i.parentNode.insertBefore(n,i)})(window,document,"script","//bat.bing.com/bat.js","uetq");</script> <!--End adding UET tag script--> <!-- Klaviyo Subscribe JS --> <script src="//www.klaviyo.com/media/js/public/klaviyo_subscribe.js"></script> <!-- Custoom GA Events --> <script src="//www.happiestbaby.com/cdn/shop/t/1010/assets/custom-ga-events.js?v=144633705904060840181732206268" defer></script> <script type="application/ld+json" id="page-schema"></script> <script> let params = new URLSearchParams(document.location.search); let param_utmSource = params.get("utm_source"); let param_utmMedium = params.get("utm_medium"); let param_utmCampaign = params.get("utm_campaign"); let param_utmContent = params.get("utm_content"); window.addEventListener('DOMContentLoaded',(e)=>{ // Set LocalStorage for UTM Source if (param_utmSource !== null) { localStorage.setItem('utmSource',param_utmSource); } // Set LocalStorage for UTM Medium if (param_utmMedium !== null) { localStorage.setItem('utmMedium',param_utmMedium); } // Set LocalStorage for UTM Campaign if (param_utmCampaign !== null) { localStorage.setItem('utmCampaign',param_utmCampaign); } // Set LocalStorage for UTM Content if (param_utmContent !== null) { localStorage.setItem('utmContent',param_utmContent); } }); </script> <script src="//www.happiestbaby.com/cdn/shop/t/1010/assets/instant-page-5.1.0.min.js?v=95615379672215739731732206386" type="module" integrity="sha384-by67kQnR+pyfy8yWP4kPO12fHKRLHZPfEsiSXR8u2IKcTdxD805MGUXBzVPnkLHw"> </script> <script> (function () { var s = document.createElement('script'); s.src = 'https://cdn-prod.securiti.ai/consent/cookie-consent-sdk-loader.js'; s.setAttribute('data-tenant-uuid', 'ad1aef14-21f5-4ff1-97ea-1472a6f700bd'); s.setAttribute('data-domain-uuid', '91ffe332-210c-4abe-9178-6d8c0656d10d'); s.setAttribute('data-backend-url', 'https://app.securiti.ai'); s.setAttribute('data-skip-css', 'false'); s.defer = true; var parent_node = document.head || document.body; parent_node.appendChild(s); })(); </script> <!-- theme release: 11212024.1 | theme region: US | theme env: production --> <!-- VISA Tracking Code for happiestbaby.com --><script>(function(v,i,s,a,t){v[t]=v[t]||function(){(v[t].v=v[t].v||[]).push(arguments)};if(!v._visaSettings){v._visaSettings={}}v._visaSettings[a]={v:'1.0',s:a,a:'1',t:t};var b=i.getElementsByTagName('body')[0];var p=i.createElement('script');p.defer=1;p.async=1;p.src=s+'?s='+a;b.appendChild(p)})(window,document,'//app-worker.visitor-analytics.io/main.js','88f4226d-5306-11ec-b589-901b0edac50a','va')</script><!-- VISA Tracking Code for happiestbaby.com --> <script type="text/javascript"> _linkedin_partner_id = "4179628"; window._linkedin_data_partner_ids = window._linkedin_data_partner_ids || []; window._linkedin_data_partner_ids.push(_linkedin_partner_id); </script><script type="text/javascript"> (function(l) { if (!l){window.lintrk = function(a,b){window.lintrk.q.push([a,b])}; window.lintrk.q=[]} var s = document.getElementsByTagName("script")[0]; var b = document.createElement("script"); b.type = "text/javascript";b.async = true; b.src = "https://snap.licdn.com/li.lms-analytics/insight.min.js"; s.parentNode.insertBefore(b, s);})(window.lintrk); </script> <noscript> <img height="1" width="1" style="display:none;" alt="" src="https://px.ads.linkedin.com/collect/?pid=4179628&fmt=gif" /> </noscript> <script type="module" crossorigin src="//www.happiestbaby.com/cdn/shop/t/1010/assets/hb-chat-widget-iORO7FnY.js?v=84190031900109992331732206310" /> <script> function debounce(func, wait, immediate) { var timeout; return function executedFunction() { var context = this; var args = arguments; var later = function() { timeout = null; if (!immediate) func.apply(context, args); }; var callNow = immediate && !timeout; clearTimeout(timeout); timeout = setTimeout(later, wait); if (callNow) func.apply(context, args); }; }; function adjustMobileMenu() { var bannerElement = document.querySelector('.yie-outer-element'); if (bannerElement) { var bannerElementHeight = bannerElement.offsetHeight; var mobileMenu = document.querySelector('.mobile-menu'); if (mobileMenu) { mobileMenu.style.top = `${bannerElementHeight + 50 + 1}px`; } } } var debauncedFunction = debounce(adjustMobileMenu, 250); window.addEventListener('resize', debauncedFunction); window.addEventListener('load', (e) => { var cookieButtons = document.querySelectorAll('a.cc-btn') cookieButtons.forEach(element => { element.setAttribute("role", "button"); }) adjustMobileMenu(); }); const ccObserver = new MutationObserver((mutations, obs) => { const documentBody = document.querySelector('body'); if (documentBody) { var ccBanner = document.querySelector('.cc-window.cc-banner'); var doesCcBannerExist = (ccBanner === null || ccBanner === undefined) ? false : true; if (doesCcBannerExist) { var ccSettingsBtn = document.querySelector('#securitiCmpCookiePrefBtn'); ccSettingsBtn.role = 'button'; obs.disconnect(); return; } } }); ccObserver.observe(document, { childList: true, subtree: true }); var s = document.createElement('script') s.type = 'text/javascript' s.innerHTML = 'HB.utils.removeEmptyScriptIds();'; setTimeout(function(){ document.body.appendChild(s); },3000); </script> <script> (async () => { async function updateCheckoutEmail(email, checkoutId) { if (!email || !checkoutId) { return } const mutation = `mutation checkoutEmailUpdateV2($checkoutId: ID!, $email: String!) { checkoutEmailUpdateV2(checkoutId: $checkoutId, email: $email) { checkout { id } userErrors { field message } } }` let payload = { input: { checkoutId, email } } const response = await fetch(`https://happiestbaby.myshopify.com/api/2024-01/graphql.json`, { method: 'POST', headers: { 'Content-Type': 'application/json', 'X-Shopify-Storefront-Access-Token': 'ff42c997cfb259da64b536bea86a820d', }, body: JSON.stringify({ query: mutation, variables: payload, }) }); if (!response.ok) { throw new Error("failed to create cart: ", response); } } function isRentalCart(lineItems) { const cart = CartJS.cart; if (!cart) return false; return lineItems.some(lineItem => lineItem.variant_id.toString() === "39555822485694") } function setQueryParams() { const checkoutId = localStorage.getItem('checkoutId'); if (!checkoutId) return; let queryParams = {}; const currentUrl = window.location.href; const langSelected = localStorage.getItem('wglang'); if (langSelected !== null) { queryParams['lang'] = langSelected; } queryParams['isRental'] = true; queryParams['returnUrl'] = currentUrl; queryParams['checkoutId'] = checkoutId; return new URLSearchParams(queryParams).toString(); } const urlParams = new URLSearchParams(window.location.search); const redirectToCheckout = urlParams.get('redirectToCheckout'); if (redirectToCheckout) { const cart = CartJS.cart; if (cart.items.length > 0) { const isRental = isRentalCart(cart.items) if (isRental) { const url = 'https://account.happiestbaby.com'; const queryParams = setQueryParams(); // update checkout with customer email const checkoutId = queryParams['checkoutId'] const email = "" await updateCheckoutEmail(email, checkoutId); window.location.href = `${url}/auth/checkout?${queryParams}`; } else { const lang = localStorage.getItem('wglang') || 'en'; window.location.href = `/checkout?locale=${lang}` } } } })() </script> <style> /* SNOO Rental Discliamer */.us-free-shipping-disclaimer {font-size: 12px; line-height: 1.71;} .dropdown [data-toggle="dropdown"] {padding-left: 12px; padding-right: 12px;} .dropdown [data-toggle="dropdown"] {padding-left: 12px; padding-right: 12px;} eco-widget {margin-bottom: 10px;} .bundle_prod_price {display: none;} /*.top-hero--home .top-hero__btn-container--rent {display: none;} */.btn.top-hero__btn--buy-now {margin-bottom: 1.5rem;} .badge--none:after {background-color: var(--color-bright-blue) !important;} span.tag-oos {display: none !important;} /* IG Post on Blog Post */iframe.instagram-media {margin: 0 auto !important;} /* Happiest Baby App Premium Subscription Section */@media (min-width: 813px) {.panel--app .panel__app {max-width: 35% !important; }} @media (min-width: 768px) {.panel--app .panel__app {max-width: 40% !important; }} .panel--app .list--bulleted-item {font-size: 14px;} /* OptiMonk Promo Banner */#om-holder-campaign-191 .om-outer-canvas {margin-top: 0;} #om-holder-campaign-60,#om-holder-campaign-60 .nanobar,#om-holder-campaign-191,#om-holder-campaign-191 .nanobar {position: absolute !important; top: 0 !important; z-index: 10 !important;} #om-holder-campaign-60 .om-popup-close-x,#om-holder-campaign-191 .om-popup-close-x {display: none;} /* Related Products */@media (max-width: 850px) {.related-product.swiper-slide {width: 50% !important; } .related-product-title {flex: 0 0 auto; max-wwidth: 100%; }} </style> </body> </html>

Pages: 1 2 3 4 5 6 7 8 9 10