PageSourceSearch

https://www.reneerouleau.com/products/skin-drink-i-v

html reneerouleau.com collected 2026-09-24 18:44:36 UTC 670,565 bytes, 6,239 lines download raw bytes

1<!doctype html>
2<html class="no-js" lang="en">
3  <head>
4<!-- Start of Shoplift scripts -->
5<!-- 2026-05-07T22:45:50.5053417Z -->
6<style>.shoplift-hide { opacity: 0 !important; }</style>
7<style id="sl-preview-bar-hide">#preview-bar-iframe, #PBarNextFrameWrapper { display: none !important; }</style>
8<script type="text/javascript">(function(rootPath, template, themeRole, themeId, isThemePreview){ /* Generated on 2026-09-24T17:45:01.4016254Z */(function(){"use strict";var te=document.createElement("style");te.textContent=`#shoplift-preview-control{position:fixed;max-width:332px;height:56px;background-color:#141414;z-index:9999;bottom:20px;display:flex;border-radius:8px;box-shadow:13px 22px 7px #0000,9px 14px 7px #00000003,5px 8px 6px #0000000d,2px 4px 4px #00000017,1px 1px 2px #0000001a,0 0 #0000001a;align-items:center;margin:0 auto;left:16px;right:16px;opacity:0;transform:translateY(20px);visibility:hidden;transition:opacity .4s ease-in-out,transform .4s ease-in-out,visibility 0s .4s}#shoplift-preview-control.visible{opacity:1;transform:translateY(0);visibility:visible;transition:opacity .4s ease-in-out,transform .4s ease-in-out,visibility 0s 0s}#shoplift-preview-control *{font-family:Inter,sans-serif;color:#fff;box-sizing:border-box;font-size:16px}#shoplift-preview-variant-title{font-weight:400;line-height:140%;font-size:16px;text-align:start;letter-spacing:-.16px;flex-grow:1;text-wrap:nowrap;overflow:hidden;text-overflow:ellipsis}#shoplift-preview-variant-selector{position:relative;display:block;padding:6px 0;height:100%;min-width:0;flex:1 1 auto}#shoplift-preview-variant-menu-trigger{border:none;cursor:pointer;width:100%;background-color:transparent;padding:0 16px;border-left:1px solid #333;border-right:1px solid #333;height:100%;display:flex;align-items:center;justify-content:start;gap:8px}#shoplift-preview-variant-selector .menu-variant-label{width:24px;height:24px;border-radius:50%;padding:6px;display:flex;justify-content:center;align-items:center;font-size:12px;font-style:normal;font-weight:600;line-height:100%;letter-spacing:-.12px;flex-shrink:0}#shoplift-preview-variant-selector .preview-variant-menu{position:absolute;bottom:110%;transform:translate3d(0,20px,0);visibility:hidden;pointer-events:none;opacity:0;cursor:pointer;background-color:#141414;border:1px solid #141414;border-radius:6px;width:100%;max-height:156px;overflow-y:auto;box-shadow:0 8px 16px #0003;z-index:1;transition:opacity .3s ease-in-out,transform .3s ease-in-out,visibility 0s .3s}#shoplift-preview-variant-selector .preview-variant-menu.preview-variant-menu__visible{visibility:visible;pointer-events:auto;opacity:100;transform:translateZ(0);transition:opacity .3s ease-in-out,transform .3s ease-in-out,visibility 0s 0s}@media screen and (max-width:400px){#shoplift-preview-variant-selector .preview-variant-menu{position:fixed;left:0;right:0;width:auto;bottom:110%}}#shoplift-preview-variant-selector .preview-variant-menu .preview-variant-menu--item{padding:12px 16px;display:flex;overflow:hidden}#shoplift-preview-variant-selector .preview-variant-menu .preview-variant-menu--item .menu-variant-label{margin-right:6px}#shoplift-preview-variant-selector .preview-variant-menu .preview-variant-menu--item span{overflow:hidden;text-overflow:ellipsis;text-wrap:nowrap;white-space:nowrap;color:#f6f6f6;font-size:14px;font-style:normal;font-weight:500}#shoplift-preview-variant-selector .preview-variant-menu .preview-variant-menu--item:hover{background-color:#545454}#shoplift-preview-variant-selector .preview-variant-menu .preview-variant-menu--item:last-of-type{border-bottom-left-radius:6px;border-bottom-right-radius:6px}#shoplift-preview-variant-selector .preview-variant-menu .preview-variant-menu--item:first-of-type{border-top-left-radius:6px;border-top-right-radius:6px}#shoplift-preview-control div:has(#shoplift-exit-preview-button){padding:0 16px}#shoplift-exit-preview-button{padding:6px 8px;font-weight:500;line-height:75%;border-radius:4px;background-color:transparent;border:none;text-decoration:none}#shoplift-exit-preview-button:hover{cursor:pointer;background-color:#333}#shoplift-preview-subscription-warning{position:relative;display:flex;align-items:center;gap:6px;padding:6px 10px;margin:0 4px;border-left:1px solid #333;cursor:help;outline:none}#shoplift-preview-subscription-warning__icon{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:50%;background-color:#f59e0b;color:#141414!important;font-weight:700;font-size:12px!important;line-height:1;flex-shrink:0}#shoplift-preview-subscription-warning__label{font-size:13px!important;font-weight:500;color:#fbbf24!important;text-wrap:nowrap;white-space:nowrap}#shoplift-preview-subscription-warning__tooltip{position:absolute;bottom:calc(100% + 8px);right:0;max-width:320px;width:max-content;padding:10px 12px;border-radius:6px;background-color:#1f1f1f;color:#fff!important;font-size:12px!important;line-height:1.4!important;box-shadow:0 8px 16px #0000004d;z-index:10000;opacity:0;visibility:hidden;transform:translateY(4px);transition:opacity .2s ease-in-out,transform .2s ease-in-out,visibility 0s .2s;pointer-events:none}#shoplift-preview-subscription-warning__tooltip.shoplift-preview-subscription-warning__tooltip--visible{opacity:1;visibility:visible;transform:translateY(0);transition:opacity .2s ease-in-out,transform .2s ease-in-out,visibility 0s 0s}#shoplift-preview-subscription-warning:focus-visible{box-shadow:inset 0 0 0 2px #f59e0b;border-radius:4px}#shoplift-preview-control:has(#shoplift-preview-subscription-warning){max-width:480px}/*$vite$:1*/`,document.head.appendChild(te);var fe=" daum[ /]| deusu/|(?:^|[^g])news(?!sapphire)|(?<! channel/|google/)google(?!(?:wv|app|/google| pixel))|(?<! cu)bots?(?:\\b|_)|(?<!cam)scan|(?<!lib)http|24x
87|;\\s\\w+;$|@[a-z][\\w-]+\\.|\\(\\)|\\.com\\b|\\b\\w+/1\\.0;|\\bbw/|\\bdlc\\b|\\bort/|\\bperl\\b|\\btime/|\\||^[<\\(;]|^[\\w \\.\\-\\(?:\\):%]+(?:/v?\\d+(?:\\.\\d+)?(?:\\.\\d{1,10})*?)?(?:,|$)|^[\\w\\-]+/[\\w]+$|^[^ ]{50,}$|^\\d+\\b|^\\w*search\\b|^\\w+/[\\w\\(\\)]*$|^\\w+/\\d\\.\\d\\s\\([\\w@]+\\)$|^active|^ad muncher|^amaya|^apache/|^avsdevicesdk/|^azure|^biglotron|^blackbox exporter|^bot|^clamav[ /]|^claude-code/|^client/|^cobweb/|^custom|^ddg[_-]android|^discourse|^dispatch/\\d|^downcast/|^duckduckgo|^email|^exodusmovement|^facebook|^getright/|^gozilla/|^hobbit|^hotzonu|^hwcdn/|^igetter/|^jeode/|^jetty/|^jigsaw|^microsoft bits|^movabletype|^mozilla/\\d\\.\\d\\s[\\w\\.-]+$|^mozilla/\\d\\.\\d\\s\\((?:compatible;)?(?:\\s?[\\w\\d-.]+\\/\\d+\\.\\d+)?\\)$|^navermailapp|^netsurf|^offline|^openai/|^owler|^php|^postman|^ps_daily/|^python|^rank|^read|^reed|^remove\\.bg/|^rest|^rss|^snapchat|^sora |^space bison|^stape/|^svn|^swcd |^taringa|^thumbor/|^track|^w3c|^webbandit/|^webcopier|^wget|^whatsapp|^wordpress|^xenu link sleuth|^yahoo|^yandex|^zdm/\\d|^zoom marketplace/|abuse|advisor|agent\\b|analyzer|archive|ask jeeves/teoma|attracta|audit|bluecoat drtr|browsex|burpcollaborator|capture|catch|check\\b|checker|chrome-lighthouse|chromeframe|classifier|cloudflare|collapsify\\b|convertify|cookiehubverify/|crawl|cursor/|cypress/|dareboost|datanyze|dejaclick|detect|discovery|dmbrowser|download|exaleadcloudview|feed|firephp|foregenix|functionize|grab|hardenize\\b|headless|hotjar|httrack|hubspot marketing grader|ibisbrowser|infrawatch|insight|inspect|iplabel|java(?!;)|library|linkcheck|linktiger|mail\\.ru/|manager|manus-user/|marketgoo/|measure|monitor\\b|neustar wpm|node\\b|nutch|offbyone|openvas|optimize|pageburst|pagespeed|parser|phantomjs|pingdom|playwright|powermarks|preview|productfinder|prospectingstudio|proxy|ptst[ /]\\d|radar|readable/|retriever|rexx;|rigor|rss\\b|scrape|securityheaders|selenium|server|silktide|sindup/|sogou|sparkler/|speedcurve|spider|splash|statuscake|supercleaner|synapse|synthetic|testlocally|tools|torrent|transcoder|url|validator|virtuoso|wappalyzer|watchtowr|webglance|webkit2png|whatcms/|xtate/",ge=/bot|crawl|http|lighthouse|scan|search|spider/i,z;function me(){if(z instanceof RegExp)return z;try{z=new RegExp(fe,"i")}catch{z=ge}return z}var ye=a=>typeof a=="string"&&a!=="";function ve(a){return ye(a)&&me().test(a)}var we=ve;class X{timestamp;constructor(){this.timestamp=new Date}}class be extends X{type;testId;hypothesisId;constructor(e,t,i){super(),this.type=3,this.testId=e,this.hypothesisId=t,this.timestamp=i}}class Se extends X{type;path;constructor(e){super(),this.type=4,this.path=e}}class Ce extends X{type;cart;constructor(e){super(),this.type=5,this.cart=e}}class ie extends Error{isBot;constructor(){super(),this.isBot=!0}}function Te(a,e,t){for(const i of e.selectors){const s=a.querySelectorAll(i.cssSelector);for(let r=0;r<s.length;r++)t(e.testId,e.hypothesisId)}re(a,e,(i,s,r,o,n)=>n(s,r),t)}function U(a,e,t){for(const i of e.selectors)ne(a,e.testId,e.hypothesisId,i,t??(()=>{}));re(a,e,ne,t??(()=>{}))}function se(a){return a.urlPatterns.reduce((e,t)=>{switch(t.operator){case"contains":return e+`.*${t}.*`;case"endsWith":return e+`.*${t}`;case"startsWith":return e+`${t}.*`}},"")}function re(a,e,t,i){new MutationObserver(()=>{for(const r of e.selectors)t(a,e.testId,e.hypothesisId,r,i)}).observe(a.documentElement,{childList:!0,subtree:!0})}function ne(a,e,t,i,s){const r=a.querySelectorAll(i.cssSelector);for(let o=0;o<r.length;o++){let n=r.item(o);if(n instanceof HTMLElement&&n.dataset.shoplift!==""){n.dataset.shoplift="";for(const l of i.actions.sort(Re))n=Ie(a,i.cssSelector,n,l)}}return r.length>0&&s?(s(e,t),!0):!1}function Ie(a,e,t,i){switch(i.type){case"innerHtml":t.innerHTML=i.value;break;case"attribute":Pe(t,i.scope,i.value);break;case"css":Ae(a,e,i.value);break;case"js":ke(a,t,i);break;case"copy":return Ee(t);case"remove":xe(t);break;case"move":_e(t,parseInt(i.value));break}return t}function Pe(a,e,t){a.setAttribute(e,t)}function Ae(a,e,t){const i=a.createElement("style");i.innerHTML=`${e} { ${t} }`,a.getElementsByTagName("head")[0]?.appendChild(i)}function ke(a,e,t){Function("document","element",`"use strict"; ${t.value}`)(a,e)}function Ee(a){const e=a.cloneNode(!0);if(!a.parentNode)throw"Can't copy node outside of DOM";return a.parentNode.insertBefore(e,a.nextSibling),e}function xe(a){a.remove()}function _e(a,e){if(e===0)return;const t=Array.prototype.slice.call(a.parentElement.children).indexOf(a),i=Math.min(Math.max(t+e,0),a.parentElement.children.length-1);a.parentElement.children.item(i).insertAdjacentElement(e>0?"afterend":"beforebegin",a)}function Re(a,e){return oe(a)-oe(e)}function oe(a){return a.type==="copy"||a.type==="remove"?0:1}
8const M={Template:0,UrlRedirect:2,Script:3,Price:5},De="data:image/svg+xml,%3csvg%20width='12'%20height='12'%20viewBox='0%200%2012%2012'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M9.96001%207.90004C9.86501%207.90004%209.77001%207.86504%209.69501%207.79004L6.43501%204.53004C6.19501%204.29004%205.80501%204.29004%205.56501%204.53004L2.30501%207.79004C2.16001%207.93504%201.92001%207.93504%201.77501%207.79004C1.63001%207.64504%201.63001%207.40504%201.77501%207.26004L5.03501%204.00004C5.56501%203.47004%206.43001%203.47004%206.96501%204.00004L10.225%207.26004C10.37%207.40504%2010.37%207.64504%2010.225%207.79004C10.15%207.86004%2010.055%207.90004%209.96001%207.90004Z'%20fill='white'/%3e%3c/svg%3e",Ve="data:image/svg+xml,%3csvg%20width='14'%20height='24'%20viewBox='0%200%2014%2024'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M12.3976%2014.5255C12.2833%2013.8788%2012.0498%2013.3024%2011.6952%2012.7961C11.3416%2012.2898%2010.9209%2011.8353%2010.4353%2011.4317C9.94868%2011.0291%209.43546%2010.6488%208.89565%2010.292C8.48487%2010.049%208.09577%209.78565%207.72637%209.50402C7.35697%209.2224%207.08016%208.89503%206.89694%208.51987C6.71273%208.14471%206.67826%207.69533%206.79055%207.1697C6.86345%206.83216%206.97476%206.54647%207.12351%206.31162C7.27324%206.07778%207.47124%205.89986%207.7175%205.77684C7.96377%205.65483%208.21989%205.59383%208.48389%205.59383C8.88087%205.59383%209.17639%205.7016%209.3734%205.91714C9.56943%206.13268%209.68271%206.42345%209.71424%206.78946C9.74576%207.15547%209.72015%207.55401%209.63839%207.98509C9.55663%208.41617%209.43645%208.84724%209.27687%209.27934L13.5127%208.80149C13.9638%207.52656%2014.1017%206.42447%2013.9264%205.49725C13.751%204.56901%2013.2664%203.85122%2012.4724%203.34491C12.239%203.19648%2011.9779%203.07041%2011.6893%202.96569L12.0026%201.50979L9.86397%200L7.3875%201.50979L7.11169%202.78878C6.65166%202.8874%206.21724%203.01957%205.8114%203.19038C4.85292%203.594%204.06684%204.15115%203.45117%204.86385C2.83452%205.57655%202.42571%206.40108%202.22378%207.33847C2.06616%208.06947%202.04942%208.70796%202.17551%209.25087C2.30061%209.7948%202.52028%2010.2828%202.8355%2010.7139C3.14974%2011.145%203.51816%2011.5344%203.93977%2011.881C4.36039%2012.2288%204.782%2012.5521%205.20164%2012.851C5.68334%2013.1702%206.13844%2013.5169%206.56497%2013.8921C6.99052%2014.2672%207.31954%2014.7125%207.55004%2015.228C7.78055%2015.7445%207.81502%2016.3769%207.65347%2017.1262C7.56482%2017.5389%207.43676%2017.8765%207.27028%2018.1388C7.10381%2018.4011%206.89596%2018.5983%206.64772%2018.7295C6.3985%2018.8606%206.12071%2018.9267%205.8114%2018.9267C5.21641%2018.9267%204.79776%2018.6034%204.62833%2018.1632C4.4589%2017.7229%204.47367%2017.2583%204.60075%2016.5639C4.72782%2015.8705%205.05092%2015.1395%205.37107%2014.3699H1.17665C1.17665%2014.3699%200.207341%2016.1115%200.0310135%2017.6762C-0.0655232%2018.5302%200.0635208%2019.2653%200.41519%2019.8844C0.76686%2020.5036%201.33032%2020.9814%202.10655%2021.319C2.39222%2021.443%202.7104%2021.5447%203.05813%2021.623L2.54589%2024H7.17473L7.7047%2021.5386C8.08493%2021.442%208.43857%2021.3231%208.76562%2021.1787C9.73985%2020.7476%2010.52%2020.1427%2011.1071%2019.3649C11.6932%2018.5871%2012.0873%2017.7291%2012.2892%2016.7917C12.4744%2015.9295%2012.5099%2015.1741%2012.3966%2014.5275L12.3976%2014.5255Z'%20fill='white'/%3e%3c/svg%3e";async function Oe(a){let e=a.replace(/-/g,"+").replace(/_/g,"/");for(;e.length%4;)e+="=";const t=atob(e),i=Uint8Array.from(t,o=>
8o.charCodeAt(0)),s=new Blob([i]).stream().pipeThrough(new DecompressionStream("gzip")),r=await new Response(s).text();return JSON.parse(r)}function F(a,e){return typeof e=="string"&&/\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}.\d+(?:Z|[+-]\d+)/.test(e)?new Date(e):e}function ee(a,e){return e}function q(a,e=!1,t=!1,i=","){const s=a/100;if(t){const o=Math.round(s).toLocaleString("en-US");return i!==","?o.replace(/,/g,i):o}else{const r=e?",":".",o=s.toFixed(2).split("."),n=parseInt(o[0],10),l=o[1]??"00",c=n.toLocaleString("en-US");return i!==","?`${c.replace(/,/g,i)}${r}${l}`:e?`${c.replace(/,/g,".")}${r}${l}`:`${c}${r}${l}`}}function H(a,e,t,i){const s=e.replace("{{amount}}",q(a,!1,!1)).replace("{{amount_no_decimals}}",q(a,!1,!0)).replace("{{amount_with_comma_separator}}",q(a,!0,!1)).replace("{{amount_no_decimals_with_comma_separator}}",q(a,!0,!0)).replace("{{amount_with_space_separator}}",q(a,!1,!1," ")).replace("{{amount_no_decimals_with_space_separator}}",q(a,!1,!0," ")).replace("{{amount_with_apostrophe_separator}}",q(a,!1,!1,"'")).replace("{{amount_no_decimals_with_apostrophe_separator}}",q(a,!1,!0,"'")).replace("{{amount_with_period_and_space_separator}}",q(a,!1,!1,". ")).replace("{{amount_no_decimals_with_period_and_space_separator}}",q(a,!1,!0,". "));return i?`${s} ${t}`:s}function ae(a){return a.replace(/[^\d.,\s-]/g,"").trim()}function j(a){const e=new Map;for(const[t,i,s]of a.variants)e.set(t,{priceInCents:i,compareAtPriceInCents:s});return e}function Le(a,e,t,i){const{priceInCents:s,compareAtPriceInCents:r}=t,{moneyFormat:o,currency:n,currencyCodeEnabled:l}=i;if(a.getAttribute("data-sl-attribute-p")===e)a.innerHTML=H(s,o,n,l);else if(a.getAttribute("data-sl-attribute-cap")===e)r<=0||r<=s?a.remove():a.innerHTML=H(r,o,n,l);else if(a.getAttribute("data-sl-attribute-discount")===e&&!(r<=0||r<=s)){const d=Math.round((r-s)/r*100),u=ae(H(r-s,o,n,!1)),h=a.getAttribute("data-sl-format")||"percent";h==="percent"?a.textContent=`-${d}%`:h==="amount"?a.textContent=`-${u}`:h==="both"&&(a.textContent=`-${d}% (-${u})`)}}function $e(a){const e=[],t={id:"url-pattern",operator:"contains",value:"/"};for(const[i,s,r]of a.variants){e.push({id:`p-${i}`,cssSelector:`[data-sl-attribute-p="${i}"]`,urlPatterns:[t],actions:[{id:`p-action-${i}`,type:"innerHtml",scope:"price",value:H(s,a.moneyFormat,a.currency,a.currencyCodeEnabled)}]});const o=r<=0||r<=s;if(e.push({id:`cap-${i}`,cssSelector:`[data-sl-attribute-cap="${i}"]`,urlPatterns:[t],actions:[{id:`cap-action-${i}`,type:o?"remove":"innerHtml",scope:"compare-at-price",value:o?"":H(r,a.moneyFormat,a.currency,a.currencyCodeEnabled)}]}),!o&&r>s){const n=Math.round((r-s)/r*100),l=ae(H(r-s,a.moneyFormat,a.currency,!1));e.push({id:`d-${i}`,cssSelector:`[data-sl-attribute-discount="${i}"]`,urlPatterns:[t],actions:[{id:`d-action-${i}`,type:"js",scope:null,value:`var format = element.getAttribute('data-sl-format') || 'percent';                    if (format === 'percent') {                      element.textContent = '-${n}%';                    } else if (format === 'amount') {                      element.textContent = '-${l}';                    } else if (format === 'both') {                      element.textContent = '-${n}% (-${l})';                    }`}]})}}return e}const Me=a=>{let e=5381;for(let t=0;t<a.length;t++)e=(e*33^a.charCodeAt(t))>>>0;return e.toString(36)},qe=()=>Math.random().toString(36).slice(2,10)+Date.now().toString(36).slice(-4),He=a=>btoa(JSON.stringify(a)).replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/,""),K=a=>a.replace(/#slr-[a-z0-9]+$/,""),tt="modulepreload",it=function(a){return"/"+a},st={},Ne=function(e,t,i){let s=Promise.resolve();function r(o){const n=new Event("vite:preloadError",{cancelable:!0});if(n.payload=o,window.dispatchEvent(n),!n.defaultPrevented)throw o}return s.then(o=>{for(const n of o||[])n.status==="rejected"&&r(n.reason);return e().catch(r)})};function le(a,e,t){const i=t?a.plans.filter(c=>!c.variantId||c.variantId===t):a.plans,s=[],r=[];for(const c of i)c.direction==="decrease"?(s.push(c.existingShopifyPlanId),r.push(c.createdShopifyPlanId)):(s.push(c.createdShopifyPlanId),r.push(c.existingShopifyPlanId));const o=e?s:r,n=e?r:s;if(t)for(const c of a.plans)for(const d of[c.existingShopifyPlanId,c.createdShopifyPlanId])d&&!o.includes(d)&&!n.includes(d)&&n.push(d);const l={};for(let c=0;c<n.length;c++){const d=n[c],u=o[c];d&&u&&(l[d]=u)}return{showPlanIds:o,hidePlanIds:n,swapMap:l}}function ce(a,e,t){const i=e?a.plans.find(r=>r.variantId===e):void 0;if(i)return i.direction;if(t){const r=a.plans.find(o=>o.productId===t);if(r)return r.direction}return a.plans.find(r=>!r.variantId)?.direction??null}function J(a,e){const t=e?a.plans.filter(r=>!r.productId||r.productId===e):a.plans,i={};for(const r of t)i[r.existingShopifyPlanId]=r.existingDiscountAmount,i[r.createdShopifyPlanId]=r.existingDiscountAmount;
8const s=Math.max(...Object.values(i),0);return{discountMap:i,maxDiscount:s}}function W(a){const e=document.querySelector('form[action*="/cart/add"] input[name="product-id"]')?.value;if(e)return e;if(a){for(const r of Array.from(document.querySelectorAll("[data-sl-attribute-p]"))){const o=r.getAttribute("data-sl-attribute-p");if(!o)continue;const n=a.variants.find(l=>l[0]===o);if(n?.[3])return n[3]}const s=document.querySelector('form[action*="/cart/add"] input[name="id"]')?.value;if(s){const r=a.variants.find(o=>o[0]===s);if(r?.[3])return r[3]}}const t=window,i=t.ShopifyAnalytics?.meta?.product?.id??t.meta?.product?.id;return i!=null?String(i):null}function D(a,e){return a.widget.selectors[e]??[]}function N(a,e){return a.replace(/[\d.]+%/,`${e}%`)}function $(a,e){const t=document.createTreeWalker(a,NodeFilter.SHOW_TEXT);let i=t.nextNode();for(;i;){if(i.nodeValue!==null){const s=e(i.nodeValue);if(s!==i.nodeValue){i.nodeValue=s;return}}i=t.nextNode()}}function de(a,e){return a===null?!1:a==="decrease"?!e:e}async function Ue(a){if(a.subscriptionSwapDone)return;const e=a.getActiveAssignment();if(!e)return;const t=a.getHypothesis(e.hypothesisId);if(!t?.subscriptionData)return;a.subscriptionSwapDone=!0;const i=t.subscriptionData,s=t.isControl,r=[...new Set(i.plans.map(d=>d.direction))].join(",");a.log(`[SUB-SWAP] ${s?"A":"B"} side, directions=${r}`);const o=i.plans.some(d=>d.variantId);let n=!1,l=!1;function c(){if(!l){l=!0;try{const d=o?document.querySelector("select[name='id'], input[name='id']")?.value:void 0,{showPlanIds:u,hidePlanIds:h,swapMap:p}=le(i,s,d);a.swapMap=p;const b=D(i,"widgetParent"),E=D(i,"subscriptionPlans"),S=D(i,"subscriptionInput");if(!b.length||!E.length||!S.length)return;const C=document.querySelector(b[0].selector);if(!C?.shadowRoot)return;const _=C.shadowRoot.querySelector(E[0].selector);if(!_?.shadowRoot)return;const T=S[0].selector;let m=null;if(i.widget.widgetType==="buttons"||i.widget.widgetType==="radio"){const y=Array.from(_.shadowRoot.querySelectorAll(T));if(!y.length)return;for(const v of y){const g=v.closest("label");g&&(u.includes(v.value)?g.style.display="":h.includes(v.value)&&(g.style.display="none"))}const w=y.some(v=>u.includes(v.value)&&v.checked),I=y.some(v=>h.includes(v.value)&&v.checked);if((w||I)&&(n=!1),!w&&!n){n=!0;for(const v of y)if(u.includes(v.value)){v.closest("label")?.click(),v.dispatchEvent(new Event("change",{bubbles:!0}));break}}const f=y.find(v=>v.checked);m=f&&u.includes(f.value)?f.value:u[0]??null}else if(i.widget.widgetType==="dropdown"){const y=_.shadowRoot.querySelector("select");if(!y)return;for(const w of Array.from(y.options))h.includes(w.value)&&(w.style.display="none",w.disabled=!0);if(h.includes(y.value)){const w=Array.from(y.options).find(I=>u.includes(I.value));w&&(y.value=w.value,y.dispatchEvent(new Event("change",{bubbles:!0})))}m=u.includes(y.value)?y.value:u[0]??null}if(m){const y=Array.from(document.querySelectorAll('input[name="selling_plan"]'));for(const w of y)w.value!==m&&(w.value=m)}}finally{l=!1}}}if(a.subscriptionHideWrongPlans=c,a.swapMap=le(i,s).swapMap,c(),o){const d=document.querySelector("select[name='id'], input[name='id']");d&&d.addEventListener("change",c)}}function B(a){const e=D(a,"widgetParent");return e.length?document.querySelector(e[0].selector)?.shadowRoot??null:null}function Y(a,e){const t=D(a,"subscriptionPlans");return t.length?e.querySelector(t[0].selector)?.shadowRoot??null:null}function Z(a,e){const t=new URLSearchParams(window.location.search).get("variant");if(t)return t;{const i=document.querySelector('form[action*="/cart/add"] input[name="id"]')?.value;if(i)return i}return a.size>0?[...a.keys()][0]:void 0}function G(a,e){return H(a,e.moneyFormat,e.currency,e.currencyCodeEnabled)}function Fe({originalFetch:a,swapMap:e,slptValue:t,getSelectedPlanId:i,log:s}){if(window.fetch.__shoplift_intercepted)return s("[SUB-INTERCEPT] already installed — skipping"),()=>{};function r(n){if(i){const l=i();if(l)return e[l]??l}return e[n]??n}const o=function(n,l){if((typeof n=="string"?n:n instanceof URL?n.href:n.url).includes("/cart/add")&&l?.body)try{if(l.body instanceof FormData){const d=l.body.get("selling_plan");d?l.body.set("selling_plan",r(String(d))):(!d||d==="")&&t&&l.body.set("properties[_slpt]",t)}
8else if(typeof l.body=="string"){const d=JSON.parse(l.body);if(d.items)for(const u of d.items){const h=String(u.selling_plan??"");h?u.selling_plan=r(h):!u.selling_plan&&t&&(u.properties||(u.properties={}),u.properties._slpt=t)}else if(d.id){const u=String(d.selling_plan??"");u?d.selling_plan=r(u):!d.selling_plan&&t&&(d.properties||(d.properties={}),d.properties._slpt=t)}l.body=JSON.stringify(d)}}catch(d){s("[SUB-INTERCEPT] body parse failed; cart-add proceeds with un-swapped plan",d)}return a.call(window,n,l)};return o.__shoplift_intercepted=!0,window.fetch=o,function(){window.fetch===o&&(window.fetch=a)}}function Be({log:a}){if(window.fetch.__shoplift_intercepted)return a("[SUB-PREVIEW-BLOCK] already installed — skipping"),()=>{};const e=window.fetch,t=function(i,s){const r=typeof i=="string"?i:i instanceof URL?i.href:i.url;return r.includes("/cart/add")?(a("[SUB-PREVIEW-BLOCK] cart-add blocked in preview mode",{url:r}),Promise.resolve(new Response(JSON.stringify({id:0,properties:{},quantity:0,variant_id:0,key:"preview",title:"Preview — cart-add blocked",price:0,original_price:0,line_price:0,original_line_price:0,total_discount:0,discounts:[],preview:!0}),{status:200,headers:{"Content-Type":"application/json"}}))):e.call(window,i,s)};return t.__shoplift_intercepted=!0,window.fetch=t,function(){window.fetch===t&&(window.fetch=e)}}function pe({data:a,runUpdates:e,debounceMs:t=150}){let i=null;function s(){i&&clearTimeout(i),e(),i=setTimeout(e,t)}let r=null;const o=[],n={childList:!0,subtree:!0,characterData:!0,attributes:!0};function l(h){for(const p of o)p.disconnect();o.length=0;for(const p of Array.from(h.querySelectorAll("*")))if(p.shadowRoot){const b=new MutationObserver(s);b.observe(p.shadowRoot,n),o.push(b)}}function c(){const h=B(a);return h?(r&&r.disconnect(),l(h),r=new MutationObserver(p=>{p.some(b=>b.type==="childList"&&b.addedNodes.length>0)&&l(h),s()}),r.observe(h,n),!0):!1}const d=document.body||document.documentElement,u=new MutationObserver(()=>{c()&&s()});return u.observe(d,{childList:!0,subtree:!0}),c()&&s(),e(),function(){i&&(clearTimeout(i),i=null),u.disconnect(),r&&(r.disconnect(),r=null);for(const p of o)p.disconnect();o.length=0}}async function ze(a){if(a.subscriptionPriceDone)return;const e=a.getActiveAssignment(),t=e?a.getHypothesis(e.hypothesisId):void 0,i=t?.subscriptionData?null:a.findActiveSubscriptionTestControl(),s=t?.subscriptionData?t:i?.hypothesis;if(!s?.subscriptionData)return;const r=t?.subscriptionData?e.testId:i.testId;a.subscriptionPriceDone=!0;const o=s.subscriptionData,n=s.isControl,l=s.priceData,c=o.widget.widgetType;let d=W(l),u=J(o,d),h=u.discountMap,p=u.maxDiscount;function b(){const g=W(l);g!==d&&(d=g,u=J(o,d),h=u.discountMap,p=u.maxDiscount,a.log(`[SUB-PRICE] scope refreshed side=${n?"A":"B"}, currentProductId=${d??"n/a"}, maxDiscount=${p}`))}a.log(`[SUB-PRICE] side=${n?"A":"B"}, currentProductId=${d??"n/a"}, maxDiscount=${p}`),a.updatePriceTestHiddenInputs(r,n?"control":"variant",!1);function E(){if(!l)return null;const g=j(l),P=Z(g),A=ce(o,P,d);if(!de(A,n))return null;const k=P?g.get(P):void 0;return k?{formattedVariantPrice:G(k.priceInCents,l),formattedDiscounted:G(k.priceInCents*(1-p/100),l)}:null}Fe({originalFetch:a.fetch,swapMap:a.swapMap??{},slptValue:a.slptValue??void 0,log:a.log,getSelectedPlanId:()=>{const g=B(o);if(!g)return null;const P=Y(o,g);if(!P)return null;const A=D(o,"subscriptionInput"),k=A.length?A[0].selector:'input[name="rc_plan"]';return P.querySelector(`${k}:checked`)?.value??null}});function S(g){const P=D(o,"subscriptionDiscount");for(const A of P)if(A.selector.includes("badge")||A.selector.includes("__badge")){const k=g.querySelector(A.selector);k?.textContent&&!k.textContent.includes(`${p}%`)&&$(k,x=>N(x,p))}}function C(g){const P=E();if(!P)return;const A=D(o,"subscriptionCompareAt");for(const k of A){const x=g.querySelector(k.selector)||g.querySelector(`[part~="${k.selector}"]`);x?.textContent&&!x.textContent.includes(P.formattedVariantPrice)&&$(x,R=>/\d/.test(R)?P.formattedVariantPrice:R)}}function _(g,P){const A=D(o,"subscriptionCompareAt"),k=P===0?"none":"";for(const x of A){const R=g.querySelector(x.selector)||g.querySelector(`[part~="${x.selector}"]`);R&&(k==="none"?R.style.display!=="none"&&(R.style.display="none"):R.style.display==="none"&&(R.style.display=""))}}function T(g){const P=D(o,"subscriptionInput"),A=P.length?P[0].selector:'input[name="rc_plan"]',k=D(o,"subscriptionPlanDiscount"),x=k.length?k[0].selector:".rc-plans-button__discount";for(const R of Array.from(g.querySelectorAll("label"))){const O=R.querySelector(A),V=R.querySelector(x);
8if(O&&V){const L=h[O.value];if(L!==void 0){if(L===0)V.style.display!=="none"&&(V.style.display="none");else if(V.style.display==="none"&&(V.style.display=""),V.textContent){const Q=V.textContent.match(/[\d.]+%/)?.[0];Q&&Q!==`${L}%`&&$(V,et=>N(et,L))}}}}}function m(g){const P=g.querySelector("select");if(P)for(const A of Array.from(P.options)){const k=h[A.value];if(k!==void 0&&A.textContent){const x=A.textContent.match(/[\d.]+%/)?.[0];x&&x!==`${k}%`&&(A.textContent=N(A.textContent,k))}}}function y(g,P){const k=D(o,"subscriptionDiscount").filter(x=>x.selector.includes("benefit")||x.selector==="rc-benefits");for(const x of k){const R=g.querySelector(x.selector);if(R?.shadowRoot){for(const O of Array.from(R.shadowRoot.querySelectorAll("li")))if(O.textContent?.includes("Save")){const V=O;if(P===0)V.style.display!=="none"&&(V.style.display="none");else{V.style.display==="none"&&(V.style.display="");const L=O.textContent.match(/[\d.]+%/)?.[0];L&&L!==`${P}%`&&$(O,Q=>N(Q,P))}}}}}let w=!1;function I(){if(!w){w=!0;try{if(b(),d!==null&&Object.keys(h).length===0)return;const g=B(o);if(!g)return;S(g),l&&C(g);const P=Y(o,g);let A=p;if(P){const k=D(o,"subscriptionInput"),x=k.length?k[0].selector:'input[name="rc_plan"]',R=P.querySelector(`${x}:checked`);if(R){const O=h[R.value];O!==void 0&&(A=O)}c==="buttons"||c==="radio"?T(P):m(P)}_(g,A),y(g,A)}finally{w=!1}}}function f(){const g=E();if(!g)return;const P=B(o);if(!P)return;const A=D(o,"onetimeToggle"),k=A.length?A[0].selector:'input[value="onetime"]';if(!P.querySelector(k)?.checked)return;const R=D(o,"subscriptionPrice");for(const O of R){const V=P.querySelector(O.selector)||P.querySelector(`[part~="${O.selector}"]`);V?.textContent&&!V.textContent.includes(g.formattedDiscounted)&&$(V,L=>/\d/.test(L)?g.formattedDiscounted:L)}}function v(){a.subscriptionHideWrongPlans&&a.subscriptionHideWrongPlans(),I(),a.subscriptionUpdateOneTime&&a.subscriptionUpdateOneTime(),f()}pe({data:o,runUpdates:v})}async function We(a){if(a.subscriptionOneTimeDone)return;const e=a.getActiveAssignment(),t=e?a.getHypothesis(e.hypothesisId):void 0,i=!!(t?.subscriptionData&&t.priceData),s=i?null:a.findActiveSubscriptionTestControl(),r=i?t:s?.hypothesis;if(!r?.subscriptionData||!r.priceData)return;const o=i?e.testId:s.testId;a.subscriptionOneTimeDone=!0;const n=r.subscriptionData,l=r.priceData,c=j(l),d=r.isControl,u=d?"control":"variant";a.slptValue=`${o}:${u}:f`,a.updatePriceTestHiddenInputs(o,u,!1);function h(){const p=B(n);if(!p)return;const b=Z(c);if(!b)return;const E=W(l),S=ce(n,b,E);if(!de(S,d))return;const C=c.get(b);if(!C)return;const _=H(C.priceInCents,l.moneyFormat,l.currency,l.currencyCodeEnabled),T=D(n,"onetimePrice");if(!T.length)return;const m=D(n,"onetimeContainer"),y=m.length?m[0].selector:'[part~="rc-purchase-option__onetime"]',I=p.querySelector(y)??p;for(const f of T){let v=null;try{v=I.querySelector(f.selector)}catch{v=null}v??=I.querySelector(`[part~="${f.selector}"]`),v&&v.textContent&&!v.textContent.includes(_)&&$(v,g=>/\d/.test(g)?_:g)}}a.subscriptionUpdateOneTime=h,h()}async function Ge(a,e){const{subscriptionPreviewRender:t}=await Ne(async()=>{const{subscriptionPreviewRender:i}=await Promise.resolve().then(()=>Xe);return{subscriptionPreviewRender:i}},void 0);return t(a.subscriptionData,a.priceData,a.isControl,e)}function je(a,e){const t=a.widget.selectors.widgetParent??[],i=a.widget.selectors.subscriptionPlans??[],s=a.widget.selectors.subscriptionInput??[];if(!t.length||!i.length||!s.length){e("[SUB-GLOBAL-HIDE] Missing required selectors — skipping");return}const r=t[0].selector,o=i[0].selector,n=s[0].selector;let l=!1,c=null,d=!1;function u(){if(!d){d=!0;try{h()}finally{d=!1}}}function h(){const C=document.querySelector(r);if(!C?.shadowRoot)return;const _=C.shadowRoot.querySelector(o);if(!_?.shadowRoot)return;_.shadowRoot!==c&&(c=_.shadowRoot,l=!1);let T=0;if(a.widget.widgetType==="buttons"||a.widget.widgetType==="radio"){const m=Array.from(_.shadowRoot.querySelectorAll(n));for(const f of m)if(a.planIds.includes(f.value)){f.disabled||(f.disabled=!0);const v=f.closest("label");v&&v.style.display!=="none"&&(v.style.display="none",T++)}const y=m.filter(f=>!a.planIds.includes(f.value));if(!y.some(f=>f.checked)&&!l&&y.length>0){l=!0;const f=y[0];f.closest("label")?.click(),f.dispatchEvent(new Event("change",{bubbles:!0})),e(`[SUB-GLOBAL-HIDE] Preselected first visible plan input=${f.value}`)}const I=y.find(f=>f.checked)??y[0];
8if(I){const f=Array.from(document.querySelectorAll('input[name="selling_plan"]'));for(const v of f)v.value!==I.value&&(v.value=I.value,e(`[SUB-GLOBAL-HIDE] Mirrored plan id ${I.value} to form selling_plan input`))}}else if(a.widget.widgetType==="dropdown"){const m=_.shadowRoot.querySelector("select");if(!m)return;for(const I of Array.from(m.options))a.planIds.includes(I.value)&&(I.style.display!=="none"&&(I.style.display="none"),I.disabled||(I.disabled=!0),T++);const y=Array.from(m.options).filter(I=>!a.planIds.includes(I.value)),w=y.some(I=>I.value===m.value);y.length>0&&!w&&!l&&(l=!0,m.value=y[0].value,m.dispatchEvent(new Event("change",{bubbles:!0})),e(`[SUB-GLOBAL-HIDE] Preselected first visible option=${y[0].value}`))}T>0&&e(`[SUB-GLOBAL-HIDE] Hidden ${T} B-side plan buttons`)}const p={childList:!0,subtree:!0,characterData:!0};let b=null;function E(C){b?.disconnect(),b=new MutationObserver(()=>u()),b.observe(C,p)}function S(){const C=document.querySelector(r);if(!C?.shadowRoot)return!1;u(),new MutationObserver(()=>{u();const m=C.shadowRoot.querySelector(o);m?.shadowRoot&&E(m.shadowRoot)}).observe(C.shadowRoot,p);const T=C.shadowRoot.querySelector(o);return T?.shadowRoot&&E(T.shadowRoot),!0}if(!S()){e("[SUB-GLOBAL-HIDE] Widget not in DOM yet — waiting via MutationObserver");const C=new MutationObserver(()=>{S()&&C.disconnect()});C.observe(document.body??document.documentElement,{childList:!0,subtree:!0})}}const ue="Limited preview",Ke="Add-to-cart and checkout prices won't reflect this test until it launches — test selling plans are not created in your subscription app until after a test is launched.",Je=5e3;function Ye(){const a=document.createElement("div");a.id="shoplift-preview-subscription-warning";const e=document.createElement("span");e.id="shoplift-preview-subscription-warning__icon",e.setAttribute("aria-hidden","true"),e.textContent="!";const t=document.createElement("span");t.id="shoplift-preview-subscription-warning__label",t.textContent=ue;const i=document.createElement("div");i.id="shoplift-preview-subscription-warning__tooltip",i.setAttribute("role","tooltip"),i.textContent=Ke,a.appendChild(e),a.appendChild(t),a.appendChild(i),a.setAttribute("tabindex","0"),a.setAttribute("aria-describedby",i.id),a.setAttribute("aria-label",ue);let s=null;function r(){s!==null&&(clearTimeout(s),s=null)}function o(){i.classList.add("shoplift-preview-subscription-warning__tooltip--visible")}function n(){i.classList.remove("shoplift-preview-subscription-warning__tooltip--visible")}function l(){o(),r(),s=setTimeout(()=>{n(),s=null},Je)}function c(){r(),o()}function d(){s===null&&n()}a.addEventListener("mouseenter",c),a.addEventListener("mouseleave",d),a.addEventListener("focus",c),a.addEventListener("blur",d);function u(p){try{const b=p.target;if(!(b instanceof Element))return;(b.closest('form[action*="/cart/add"] button[type="submit"], form[action*="/cart/add"] input[type="submit"]')!==null||b.closest('[name="add"], button[name="add"], [data-add-to-cart], button[data-add-to-cart]')!==null)&&l()}catch{}}document.addEventListener("click",u,!0);function h(){r(),document.removeEventListener("click",u,!0),a.removeEventListener("mouseenter",c),a.removeEventListener("mouseleave",d),a.removeEventListener("focus",c),a.removeEventListener("blur",d),a.remove()}return{root:a,tooltip:i,cleanup:h}}let he=!1;class Ze{DATA_SL_ATTRIBUTE_P="data-sl-attribute-p";DATA_SL_TEST_ID="data-sl-test-id";VIEWPORT_TRACK_THRESHOLD=.5;temporarySessionKey="Shoplift_Session";essentialSessionKey="Shoplift_Essential";analyticsSessionKey="Shoplift_Analytics";priceSelectorsSessionKey="Shoplift_PriceSelectors_v2";shop;host;eventHost;disableReferrerOverride;legacySessionKey;cssHideClass;testConfigs;inactiveTestConfigs;hiddenSubscriptionPlans;testsFilteredByAudience;sendPageView;shopliftDebug;gaConfig;telemetryEnabled;getCountryTimeout;geoViaShopify;resolvedRegion=null;state;subscriptionPreviewWarningCleanup=null;shopifyAnalyticsId;cookie=document.cookie;isSyncing=!1;isSyncingGA=!1;fetch;localStorageSet;localStorageGet;sessionStorageSet=window.sessionStorage.setItem.bind(window.sessionStorage);sessionStorageGet=window.sessionStorage.getItem.bind(window.sessionStorage);
8urlParams=new URLSearchParams(window.location.search);device;logHistory;activeViewportObservers=new Map;clientIdRetryCount=0;constructor(e,t,i,s,r,o,n,l,c,d,u,h,p,b=!1){this.shop=e,this.host=t,this.eventHost=i,this.disableReferrerOverride=l,this.logHistory=[],this.legacySessionKey=`SHOPLIFT_SESSION_${this.shop}`,this.cssHideClass=s?"shoplift-hide":"",this.testConfigs=u.map(S=>({...S,startAt:new Date(S.startAt),statusHistory:S.statusHistory.map(C=>({...C,createdAt:new Date(C.createdAt)}))})),this.inactiveTestConfigs=h,this.hiddenSubscriptionPlans=p,this.sendPageView=!!r,this.shopliftDebug=o===!0,this.telemetryEnabled=c===!0,this.geoViaShopify=b===!0,this.gaConfig=n!=={"sendEvents":false,"mode":"gtag"}?n:{sendEvents:!1},this.fetch=window.fetch.bind(window),this.localStorageSet=window.localStorage.setItem.bind(window.localStorage),this.localStorageGet=window.localStorage.getItem.bind(window.localStorage);const E=this.getDeviceType();this.device=E!=="tablet"?E:"mobile",this.state=this.loadState(),this.shopifyAnalyticsId=this.getShopifyAnalyticsId(),this.testsFilteredByAudience=u.filter(S=>
8S.status=="active"),this.getCountryTimeout=d===1000?1e3:d,window.__slReadCookie=S=>{const C=this.getCookie(S);if(C===null)return null;try{return decodeURIComponent(C)}catch{return C}},this.log("State Loaded",JSON.stringify(this.state))}deriveCategoryFromExistingTests(){if(!this.state.temporary.testCategory&&this.state.essential.visitorTests.length>0){const e=this.state.essential.visitorTests.some(t=>{if(!t.hypothesisId)return!1;const i=this.getHypothesis(t.hypothesisId);return i&&["theme","basicScript","price"].includes(i.type)});this.state.temporary.testCategory=e?"global":"conditional",this.persistTemporaryState(),this.log("Derived test category from existing visitorTests: %s",this.state.temporary.testCategory)}}async init(){try{if(this.log("Shoplift script initializing"),window.Shopify&&window.Shopify.designMode){this.log("Skipping script for design mode");return}if(window.location.href.includes("slScreenshot=true")){this.log("Skipping script for screenshot");return}if(window.location.hostname.endsWith(".edgemesh.com")){this.log("Skipping script for preview");return}if(window.location.href.includes("isShopliftMerchant")){const o=this.urlParams.get("isShopliftMerchant")==="true";this.log("Setting merchant session to %s",o),this.state.temporary.isMerchant=o,this.persistTemporaryState()}if(this.state.temporary.isMerchant){this.log("Setting up preview for merchant"),typeof window.shoplift!="object"&&this.setShopliftStub(),this.state.temporary.previewConfig||this.hidePage(),await this.initPreview(),document.querySelector("#sl-preview-bar-hide")?.remove();return}if(this.state.temporary.previewConfig=void 0,we(navigator.userAgent))return;const e=Date.now(),t=!this.state.temporary.lastSeen||e-this.state.temporary.lastSeen>1800*1e3;(!this.state.temporary.entryPage||t)&&(this.state.temporary.entryPage=K(window.location.href)),this.state.temporary.lastSeen=e,this.persistTemporaryState(),window.__slEntryPage=this.state.temporary.entryPage??"";const i=this.state.essential.visitorTests.filter(o=>o.hypothesisId&&+o.createdAt>Date.now()-6e4);if(i.length===0)this.sendDiagnosticTelemetry("page-landed",null);else for(const o of i)this.sendDiagnosticTelemetry("page-landed",o.testId,{hypothesisId:o.hypothesisId,isControl:o.assignedTo==="control",testType:o.testType??"unknown"});if(navigator.userAgent.includes("Chrome/118")){this.log("Random: %o",[Math.random(),Math.random(),Math.random()]);const o=await this.makeRequest({url:`${this.eventHost}/api/v0/events/ip`,method:"get"}).then(n=>n?.json());this.log(`IP: ${o}`),this.makeRequest({url:`${this.eventHost}/api/v0/logs`,method:"post",data:JSON.stringify(this.debugState(),ee)}).catch()}if(this.shopifyAnalyticsId=this.getShopifyAnalyticsId(),this.monitorConsentChange(),this.checkForThemePreview())return;if(!this.disableReferrerOverride&&this.state.temporary.originalReferrer!=null){this.log(`Overriding referrer from '${document.referrer}' to '${this.state.temporary.originalReferrer}'`);const o=this.state.temporary.originalReferrer;delete this.state.temporary.originalReferrer,this.persistTemporaryState(),Object.defineProperty(document,"referrer",{get:()=>o,enumerable:!0,configurable:!0})}if(await this.refreshVisitor(this.shopifyAnalyticsId),await this.handleVisitorTest()){this.log("Redirecting for visitor test");return}this.setShoplift(),this.showPage(),this.ensureCartAttributesForExistingPriceTests(!1);const r=this.state.essential.visitorTests.some(o=>(o.hypothesisId?this.getHypothesis(o.hypothesisId):void 0)?.subscriptionData!=null)||Object.values(this.state.temporary.testReservations??{}).some(o=>this.getHypothesis(o.hypothesisId)?.subscriptionData!=null);this.hiddenSubscriptionPlans&&!r&&(this.log(`[SUB-GLOBAL] Visitor not in subscription test — hiding ${this.hiddenSubscriptionPlans.planIds.length} B-side plans`),je(this.hiddenSubscriptionPlans,o=>this.log(o))),await this.subscriptionSwap(),await this.subscriptionOneTimePrice(),await this.subscriptionPriceChange(),await this.finalize(),console.log("SHOPLIFT SCRIPT INITIALIZED!")}catch(e){if(e instanceof ie)return;throw e}finally{typeof window.shoplift!="object"&&this.setShopliftStub()}}getVariantColor(e){switch(e){case"a":return{text:"#141414",bg:"#E2E2E2"};case"b":return{text:"rgba(255, 255, 255, 1)",bg:"rgba(37, 99, 235, 1)"}}}getDefaultVariantTitle(e){return e.title?e.title:e.type==="price"?e.isControl?"Original prices":"Variant prices":e.isControl?"Original":"Untitled variant "+e.label.toUpperCase()}
8async initPreview(){const e=this.urlParams.get("previewConfig");if(e){this.state.temporary.previewConfig=void 0,this.log("Setting up the preview"),this.log("Found preview config, writing to temporary state");const t=await Oe(e);if(this.state.temporary.previewConfig=t,this.state.temporary.previewConfig.testTypeCategory===M.Price){this.hidePage(!0);const s=this.state.temporary.previewConfig;let r=`${this.host}/api/dom-selectors/${s.storeId}/${s.testId}/${s.isDraft||!1}`;s.shopifyProductId&&(r+=`?productId=${s.shopifyProductId}`);const o=await this.makeJsonRequest({method:"get",url:r}).catch(n=>(this.log("Error getting domSelectors",n),null));if(s.variants.forEach(n=>n.domSelectors=o[n.id]?.domSelectors),s.isDraft){const n=`${this.host}/api/dom-selectors/${s.storeId}/${s.testId}/subscription-preview`,l=await this.makeJsonRequest({method:"get",url:n}).catch(c=>(this.log("No subscription preview data for draft (test may not have a subscription widget)",c),null));l?.subscriptionData&&s.variants.forEach(c=>{c.subscriptionData=l.subscriptionData,c.priceData=l.priceData})}}this.persistTemporaryState();const i=new URL(window.location.toString());i.searchParams.delete("previewConfig"),this.queueRedirect(i)}else if(this.state.temporary.previewConfig){this.showPage();const t=this.state.temporary.previewConfig;if(t.testTypeCategory===M.Template&&this.handleTemplatePreview(t)&&this.initPreviewControls(t),t.testTypeCategory===M.UrlRedirect&&this.handleUrlPreview(t)&&this.initPreviewControls(t),t.testTypeCategory===M.Script&&this.handleScriptPreview(t)&&this.initPreviewControls(t),t.testTypeCategory===M.Price){const i=await this.handlePricePreview(t);t.isDraft?await this.handleSubscriptionPricePreview(t):await this.handleSubscriptionLivePreview(t),i&&this.initPreviewControls(t)}}}initPreviewControls(e){document.addEventListener("DOMContentLoaded",()=>{const t=e.variants.find(b=>b.id===e.currentVariant),i=t?.label||"a",s=e.variants,r=document.createElement("div");r.id="shoplift-preview-control";const o=document.createElement("div"),n=document.createElement("img");n.src=Ve,n.height=24,n.width=14,o.style.padding="0 16px",o.style.lineHeight="100%",o.appendChild(n),r.appendChild(o);const l=document.createElement("div");l.id="shoplift-preview-variant-selector";const c=document.createElement("button");c.id="shoplift-preview-variant-menu-trigger";const d=document.createElement("div");d.className="menu-variant-label",d.style.backgroundColor=this.getVariantColor(i).bg,d.style.color=this.getVariantColor(i).text,d.innerText=i.toUpperCase(),c.appendChild(d);const u=document.createElement("span");if(u.id="shoplift-preview-variant-title",u.innerText=t?this.getDefaultVariantTitle(t):"Untitled variant "+i.toUpperCase(),c.appendChild(u),s.length>1){const b=document.createElement("img");b.src=De,b.width=12,b.height=12,b.style.height="12px",b.style.width="12px",c.appendChild(b);const E=document.createElement("div");E.className="preview-variant-menu";for(const S of e.variants.filter(C=>C.id!==e.currentVariant)){const C=document.createElement("div");C.className="preview-variant-menu--item";const _=document.createElement("div");_.className="menu-variant-label",_.style.backgroundColor=this.getVariantColor(S.label).bg,_.style.color=this.getVariantColor(S.label).text,_.style.flexShrink="0",_.innerText=S.label.toUpperCase(),C.appendChild(_);const T=document.createElement("span");T.innerText=this.getDefaultVariantTitle(S),C.appendChild(T),C.addEventListener("click",()=>{this.pickVariant(S.id)}),E.appendChild(C)}l.appendChild(E),c.addEventListener("click",()=>{E.className!=="preview-variant-menu preview-variant-menu__visible"?E.classList.add("preview-variant-menu__visible"):E.classList.remove("preview-variant-menu__visible")}),document.addEventListener("click",S=>{S.target instanceof Element&&!c.contains(S.target)&&E.className==="preview-variant-menu preview-variant-menu__visible"&&E.classList.remove("preview-variant-menu__visible")})}else c.style.pointerEvents="none",d.style.margin="0";if(l.appendChild(c),r.appendChild(l),e.hasSubscription){this.subscriptionPreviewWarningCleanup?.();const b=Ye();r.appendChild(b.root),this.subscriptionPreviewWarningCleanup=b.cleanup}const h=document.createElement("div"),p=document.createElement("button");p.id="shoplift-exit-preview-button",p.innerText="Exit",h.appendChild(p),p.addEventListener("click",()=>{this.exitPreview()}),r.appendChild(h),document.body.appendChild(r),requestAnimationFrame(()=>{r.classList.add("visible")})}),this.ensureCartAttributesForExistingPriceTests(!0)}pickVariant(e){if(this.state.temporary.previewConfig){const t=this.state.temporary.previewConfig,i=new URL(window.location.toString());if(t.testTypeCategory===M.UrlRedirect){const s=t.variants.find(r=>r.id===t.currentVariant)?.redirectUrl;if(i.pathname===s){const r=t.variants.find(o=>o.id===e)?.redirectUrl;r&&(i.pathname=r)}}if(t.testTypeCategory===M.Template){const s=t.variants.find(r=>r.id===t.currentVariant)?.pathName;if(s&&i.pathname===s){const r=t.variants.find(o=>o.id===e)?.pathName;r&&r!==s&&(i.pathname=r)}}t.currentVariant=e,this.persistTemporaryState(),this.queueRedirect(i)}}exitPreview(){const e=new URL(window.location.toString());if(this.state.temporary.previewConfig?.testTypeCategory===M.Template&&e.searchParams.delete("view"),this.state.temporary.previewConfig?.testTypeCategory===M.Script&&e.searchParams.delete("slVariant"),this.state.temporary.previewConfig?.testTypeCategory===M.UrlRedirect){const i=this.state.temporary.previewConfig.variants.filter(r=>!r.isControl&&r.redirectUrl!==null).map(r=>r.redirectUrl),s=this.state.temporary.previewConfig.variants.find(r=>r.label==="a")?.redirectUrl;i.includes(e.pathname)&&s&&(e.pathname=s)}this.state.temporary.isMerchant=!1,e.searchParams.delete("isShopliftMerchant"),this.state.temporary.previewConfig=void 0,this.persistTemporaryState(),this.subscriptionPreviewWarningCleanup?.(),this.subscriptionPreviewWarningCleanup=null,this.hidePage(),this.queueRedirect(e)}handleTemplatePreview(e){const t=e.currentVariant,i=e.variants.find(l=>l.id===t);if(!i)return!1;const s=e.variants.find(l=>l.isControl);if(!s)return!1;this.log("Setting up template preview for type",s.type);
8const r=new URL(window.location.toString()),o=r.searchParams.get("view"),n=i.type===s.type;return!n&&!i.isControl&&template.suffix===s.affix&&this.typeFromTemplate()===s.type&&i.pathName!==null?(this.log("Hit control template type, redirecting to the variant url"),this.hidePage(),r.pathname=i.pathName,this.queueRedirect(r),!0):(!i.isControl&&this.typeFromTemplate()==i.type&&template.suffix===s.affix&&n&&o!==(i.affix||"__DEFAULT__")&&(this.log("Template type and affix match control, updating the view param"),r.searchParams.delete("view"),this.log("Setting the new viewParam to",i.affix||"__DEFAULT__"),this.hidePage(),r.searchParams.set("view",i.affix||"__DEFAULT__"),this.queueRedirect(r)),o!==null&&o!==(i.affix||"__DEFAULT__")&&(r.searchParams.delete("view"),this.hidePage(),this.queueRedirect(r)),!0)}handleUrlPreview(e){const t=e.currentVariant,i=e.variants.find(o=>o.id===t),s=e.variants.find(o=>o.isControl)?.redirectUrl;if(!i)return!1;this.log("Setting up URL redirect preview");const r=new URL(window.location.toString());return r.pathname===s&&!i.isControl&&i.redirectUrl!==null&&(this.log("Url matches control, redirecting"),this.hidePage(),r.pathname=i.redirectUrl,this.queueRedirect(r)),!0}handleScriptPreview(e){const t=e.currentVariant,i=e.variants.find(o=>o.id===t);if(!i)return!1;this.log("Setting up script preview");const s=new URL(window.location.toString());return s.searchParams.get("slVariant")!==i.id&&(this.log("current id doesn't match the variant, redirecting"),s.searchParams.delete("slVariant"),this.log("Setting the new slVariantParam"),this.hidePage(),s.searchParams.set("slVariant",i.id),this.queueRedirect(s)),!0}async handlePricePreview(e){const t=e.currentVariant,i=e.variants.find(s=>s.id===t);return i?(this.log("Setting up price preview"),i.domSelectors&&i.domSelectors.length>0&&(U(document,{testId:e.testId,hypothesisId:i.id,selectors:i.domSelectors}),this.ensureCartAttributesForExistingPriceTests(!0)),!0):!1}async handleSubscriptionPricePreview(e){const t=e.variants.find(i=>i.id===e.currentVariant);t?.subscriptionData&&(this.log("Setting up subscription price preview"),await Ge({id:t.id,isControl:t.isControl,subscriptionData:t.subscriptionData,priceData:t.priceData},(i,...s)=>this.log(i,...s)))}async handleSubscriptionLivePreview(e){this.testConfigs.find(s=>s.id===e.testId)?.hypotheses.find(s=>s.id===e.currentVariant)?.subscriptionData&&(this.log("Setting up subscription live preview"),this.subscriptionSwapDone=!1,this.subscriptionOneTimeDone=!1,this.subscriptionPriceDone=!1,await this.subscriptionSwap(),await this.subscriptionOneTimePrice(),await this.subscriptionPriceChange())}async finalize(){const e=await this.getCartState();e!==null&&this.queueCartUpdate(e),this.pruneStateAndSave(),await this.syncAllEvents()}setShoplift(){this.log("Setting up public API");const t=this.urlParams.get("slVariant")==="true",i=t?null:this.urlParams.get("slVariant");window.shoplift={isHypothesisActive:async s=>{if(this.log("Script checking variant for hypothesis '%s'",s),t)return this.log("Forcing variant for hypothesis '%s'",s),!0;if(i!==null)return this.log("Forcing hypothesis '%s'",i),s===i;const r=this.testConfigs.find(n=>n.hypotheses.some(l=>l.id===s));if(!r)return this.log("No test found for hypothesis '%s'",s),!1;const o=this.state.essential.visitorTests.find(n=>n.testId===r.id);return o?(this.log("Active visitor test found",s),o.hypothesisId===s):(await this.manuallySplitVisitor(r),this.testConfigs.some(n=>n.hypotheses.some(l=>l.id===s&&this.state.essential.visitorTests.some(c=>c.hypothesisId===l.id))))},setAnalyticsConsent:async s=>{await this.onConsentChange(s,!0)},getVisitorData:()=>({visitor:this.state.analytics.visitor,visitorTests:this.state.essential.visitorTests.filter(s=>!s.isInvalid).map(s=>{const{shouldSendToGa:r,savedAt:o,...n}=s;return n})})}}setShopliftStub(){this.log("Setting up stubbed public API");const t=this.urlParams.get("slVariant")==="true",i=t?null:this.urlParams.get("slVariant");window.shoplift={isHypothesisActive:s=>Promise.resolve(t||s===i),setAnalyticsConsent:()=>Promise.resolve(),getVisitorData:()=>({visitor:null,visitorTests:[]})}}async manuallySplitVisitor(e){this.log("Starting manual split for test '%s'",e.id),await this.handleVisitorTest([e]);const t=this.getReservationForTest(e.id);t&&!t.isRealized&&t.entryCriteriaKey&&(this.log("Realizing manual API reservation for test '%s'",e.id),this.realizeReservationForCriteria(t.entryCriteriaKey)),this.saveState(),this.syncAllEvents()}async handleVisitorTest(e){await this.filterTestsByAudience(this.testConfigs,this.state.analytics.visitor??this.buildBaseVisitor(),this.state.essential.visitorTests),this.pruneStaleVisitorTests(),this.deriveC
8ategoryFromExistingTests(),this.clearStaleReservations();let t=e?e.filter(i=>this.testsFilteredByAudience.some(s=>s.id===i.id)):[...this.testsForUrl(this.testsFilteredByAudience),...this.domTestsForUrl(this.testsFilteredByAudience)];try{if(t.length===0)return this.log("No tests found"),!1;this.log("Checking for existing visitor test on page");const i=this.getCurrentVisitorHypothesis(t);if(i){this.log("Found current visitor test");const l=this.considerRedirect(i);return l&&(this.log("Redirecting for current visitor test"),this.redirect(i)),l}const s=this.getReservationForCurrentPage();if(s){this.log("Found matching reservation for current page: %s",s.testId);const l=this.getHypothesis(s.hypothesisId);if(l){l.type!=="price"&&this.realizeReservationForCriteria(s.entryCriteriaKey);const c=this.considerRedirect(l);return c&&this.redirect(l),c}}this.log("No active test relation for test page");const r=this.testsForUrl(this.inactiveTestConfigs.filter(l=>this.testIsPaused(l)&&l.hypotheses.some(c=>this.state.essential.visitorTests.some(d=>d.hypothesisId===c.id)))).map(l=>l.id);if(r.length>0)return this.log("Visitor has paused tests for test page, skipping test assignment: %o",r),!1;if(!this.state.temporary.testCategory){const l=this.testsFilteredByAudience.filter(d=>this.isGlobalEntryCriteria(this.getEntryCriteriaKey(d))),c=this.testsFilteredByAudience.filter(d=>!this.isGlobalEntryCriteria(this.getEntryCriteriaKey(d)));if(this.log("Category dice roll - global tests: %o, conditional tests: %o",l.map(d=>({id:d.id,title:d.title,criteria:this.getEntryCriteriaKey(d)})),c.map(d=>({id:d.id,title:d.title,criteria:this.getEntryCriteriaKey(d)}))),l.length>0&&c.length>0){const d=l.length,u=c.length,h=d+u,p=Math.random()*h;this.state.temporary.testCategory=p<d?"global":"conditional",this.log("Category dice roll: rolled %.2f of %d (global weight: %d, conditional weight: %d), selected '%s'",p,h,d,u,this.state.temporary.testCategory)}else l.length>0?(this.state.temporary.testCategory="global",this.log("Only global tests available, setting category to global")):(this.state.temporary.testCategory="conditional",this.log("Only conditional tests available, setting category to conditional"));this.persistTemporaryState()}const o=this.state.temporary.testCategory;if(this.log("Visitor test category: %s",o),o==="global"){const l=this.testsFilteredByAudience.filter(c=>!this.isGlobalEntryCriteria(this.getEntryCriteriaKey(c)));for(const c of l)this.markTestAsBlocked(c,"category:global");t=t.filter(c=>this.isGlobalEntryCriteria(this.getEntryCriteriaKey(c)))}else{const l=this.testsFilteredByAudience.filter(c=>this.isGlobalEntryCriteria(this.getEntryCriteriaKey(c)));for(const c of l)this.markTestAsBlocked(c,"category:conditional");t=t.filter(c=>!this.isGlobalEntryCriteria(this.getEntryCriteriaKey(c)))}if(t.length===0)return this.log("No tests remaining after category filter"),!1;this.createReservations(t);const n=this.getReservationForCurrentPage();if(n&&!n.isRealized){const l=this.getHypothesis(n.hypothesisId);if(l){l.type!=="price"&&this.realizeReservationForCriteria(n.entryCriteriaKey);const c=this.considerRedirect(l);return c&&(this.log("Redirecting for new test"),this.redirect(l)),c}}return!1}finally{this.includeInDomTests(),this.saveState()}}includeInDomTests(){this.applyControlForAudienceFilteredPriceTests();const e=this.getDomTestsForCurrentUrl(),t=this.getVisitorDomHypothesis(e);for(const i of e){this.log("Evaluating dom test '%s'",i.id);const s=i.hypotheses.some(p=>p.type==="price");if(this.state.essential.visitorTests.find(p=>p.testId===i.id&&p.isInvalid&&!p.hypothesisId)){if(this.log("Visitor is blocked from test '%s', applying control prices if price test",i.id),s){const p=i.hypotheses.find(b=>b.isControl);p?.priceData&&(this.applyPriceTestWithMapLookup(i.id,p,[p],()=>{this.log("Control prices applied for blocked visitor, no metrics tracked")}),this.updatePriceTestHiddenInputs(i.id,"control",!1))}continue}const o=this.getReservationForTest(i.id);let n=null,l=!1;const c=t.find(p=>i.hypotheses.some(b=>p.id===b.id));if(o)n=this.getHypothesis(o.hypothesisId)??null,this.log("Using reserved hypothesis '%s' for test '%s'",o.hypothesisId,i.id);else if(c)n=c,this.log("Using existing hypothesis assignment for test '%s'",i.id);else if(s){const p=this.visitorActiveTestTypeWithReservations();p?(l=!0,this.log("Visitor already in test type '%s', treating as non-test for price test '%s'",p,i.id)):n=this.pickHypothesis(i)}else n=this.pickHypothesis(i);if(l&&s){const p=i.hypotheses.find(b=>b.isControl);p?.priceData&&(this.log("Applying control prices for non-test visitor on price test '%s' (Map-based)",i.id),this.applyPriceTestWithMapLookup(i.id,p,[p],()=>{this.log("Control prices applied for non-test visitor, no metrics tracked")}
8),this.updatePriceTestHiddenInputs(i.id,"control",!1));continue}if(!n){this.log("Failed to pick hypothesis for test");continue}this.sendDiagnosticTelemetry("assignment",i.id,{hypothesisId:n.id,isControl:n.isControl,testType:n.type});const d=i.bayesianRevision??4,u=n.type==="price",h=d>=5;if(u&&h){if(this.log(`Price test with Map-based lookup (v${d}): ${i.id}`),!n.priceData){this.log("No price data for hypothesis '%s', skipping",n.id);continue}const p=n.isControl?"control":"variant";this.log(`Setting up Map-based price test for ${p} (test: ${i.id})`),this.applyPriceTestWithMapLookup(i.id,n,i.hypotheses,b=>{const E=this.getReservationForTest(b);E&&!E.isRealized&&E.entryCriteriaKey?this.realizeReservationForCriteria(E.entryCriteriaKey):this.queueAddVisitorToTest(b,n),this.saveState(),this.queuePageView(window.location.pathname),this.syncAllEvents()});continue}if(u&&!h){this.log(`Price test without viewport tracking (v${d}): ${i.id}`);const p=this.getDomSelectorsForHypothesis(n);if(p.length===0)continue;U(document,{testId:i.id,hypothesisId:n.id,selectors:p},b=>{this.queueAddVisitorToTest(b,n),this.saveState(),this.queuePageView(window.location.pathname),this.syncAllEvents()});continue}if(!n.domSelectors||n.domSelectors.length===0){this.log("No selectors found, skipping hypothesis");continue}U(document,{testId:i.id,hypothesisId:n.id,selectors:n.domSelectors},p=>{this.queueAddVisitorToTest(p,n),this.saveState(),this.queuePageView(window.location.pathname),this.syncAllEvents()})}}considerRedirect(e){if(this.log("Considering redirect for hypothesis '%s'",e.id),e.isControl)return this.log("Skipping redirect for control"),!1;if(e.type==="basicScript"||e.type==="manualScript")return this.log("Skipping redirect for script test"),!1;const t=this.state.essential.visitorTests.find(o=>o.hypothesisId===e.id),i=new URL(window.location.toString()),r=new URLSearchParams(window.location.search).get("view");if(e.type==="theme"){if(!(e.themeId===themeId)){if(this.log("Theme id '%s' is not hypothesis theme ID '%s'",e.themeId,themeId),this.isAppProxyPath())return this.log("On App Proxy path, skipping theme redirect to avoid infinite loop"),!1;if(t&&t.themeId!==e.themeId&&(t.themeId===themeId||!this.isThemePreview()))this.log("On old theme, redirecting and updating local visitor"),t.themeId=e.themeId;else if(this.isThemePreview())return this.log("On non-test theme, skipping redirect"),!1;return this.log("Hiding page to redirect for theme test"),this.hidePage(),!0}return!1}else if(e.type!=="dom"&&e.type!=="price"&&e.affix!==template.suffix&&e.affix!==r||e.redirectPath&&!i.pathname.endsWith(e.redirectPath))return this.log("Hiding page to redirect for template test"),this.hidePage(),!0;return this.log("Not redirecting"),!1}redirect(e){if(this.log("Redirecting to hypothesis '%s'",e.id),e.isControl)return;const t=new URL(window.location.toString());if(t.searchParams.delete("view"),e.redirectPath){const n=RegExp("^(/w{2}-w{2})/").exec(t.pathname);if(n&&n.length>1){const l=n[1];t.pathname=`${l}${e.redirectPath}`}else t.pathname=e.redirectPath}else e.type==="theme"?(t.searchParams.set("_ab","0"),t.searchParams.set("_fd","0"),t.searchParams.set("_sc","1"),t.searchParams.set("preview_theme_id",e.themeId.toString())):e.type!=="urlRedirect"&&t.searchParams.set("view",e.affix);const i=this.state.essential.visitorTests.find(n=>n.hypothesisId===e.id)?.testId,s=t.pathname+t.search,r=window.location.pathname+window.location.search,o=K(t.hash);if(i&&s!==r&&!o){const n=qe(),l=He({v:2,t:i,n,fh:Me(window.location.pathname+window.location.search)});t.hash=`slr-${n}`;const c=new Date(Date.now()+3e4).toUTCString();document.cookie=`shoplift_redirect=${l};domain=.${window.location.hostname};path=/;SameSite=Strict;expires=${c}`}s===r&&this.showPage(),this.queueRedirect(t)}async refreshVisitor(e){if(e===null||!this.state.essential.isFirstLoad||!this.testConfigs.some(i=>i.visitorOption!=="all"))return;this.log("Refreshing visitor"),this.hidePage();const t=await this.getVisitor(e);t&&t.id&&this.updateLocalVisitor(t)}buildBaseVisitor(){return{shopifyAnalyticsId:this.shopifyAnalyticsId,device:this.device,country:null,...this.state.essential.initialState}}getInitialState(){const e=this.getUTMValue("utm_source")??"",t=this.getUTMValue("utm_medium")??"",i=this.getUTMValue("utm_campaign")??"",s=this.getUTMValue("utm_content")??"",r=window.document.referrer,o=this.device;return{createdAt:new Date,utmSource:e,utmMedium:t,utmCampaign:i,utmContent:s,referrer:r,device:o}}checkForThemePreview(){return this.log("Checking for theme preview"),window.location.hostname.endsWith(".shopifypreview.com")?(this.log("on shopify preview domain"),this.clearThemeBar(!0,!1,this.state),document.querySelector("#sl-preview-bar-hide")?.remove(),!1):this.isThemePreview()?this.state.essential.visitorTests.some(e=>e.isThemeTest&&e.hypothesisId!=null&&this.getHypothesis(e.hypothesisId)&&e.themeId===themeId)?(this.log("On active theme test, remov
8ing theme bar"),this.clearThemeBar(!1,!0,this.state),!1):this.state.essential.visitorTests.some(e=>e.isThemeTest&&e.hypothesisId!=null&&!this.getHypothesis(e.hypothesisId)&&e.themeId===themeId)?(this.log("Visitor is on an inactive theme test, redirecting to main theme"),this.redirectToMainTheme(),!0):this.state.essential.isFirstLoad?(this.log("No visitor found on theme preview, redirecting to main theme"),this.redirectToMainTheme(),!0):this.inactiveTestConfigs.some(e=>e.hypotheses.some(t=>t.themeId===themeId))?(this.log("Current theme is an inactive theme test, redirecting to main theme"),this.redirectToMainTheme(),!0):this.testConfigs.some(e=>e.hypotheses.some(t=>t.themeId===themeId))?(this.log("Falling back to clearing theme bar"),this.clearThemeBar(!1,!0,this.state),!1):(this.log("No tests on current theme, skipping script"),this.clearThemeBar(!0,!1,this.state),document.querySelector("#sl-preview-bar-hide")?.remove(),!0):(this.log("Not on theme preview"),this.clearThemeBar(!0,!1,this.state),!1)}redirectToMainTheme(){this.hidePage();const e=new URL(window.location.toString());e.searchParams.set("preview_theme_id",""),this.queueRedirect(e)}testsForUrl(e){const t=new URL(window.location.href),i=this.typeFromTemplate();return e.filter(s=>s.hypotheses.some(r=>r.type!=="dom"&&r.type!=="price"&&(r.isControl&&r.type===i&&r.affix===template.suffix||r.type==="theme"||r.isControl&&r.type==="urlRedirect"&&r.redirectPath&&t.pathname.endsWith(r.redirectPath)||r.type==="basicScript"))&&(s.ignoreTestViewParameterEnforcement||!t.searchParams.has("view")||s.hypotheses.map(r=>r.affix).includes(t.searchParams.get("view")??"")))}domTestsForUrl(e){const t=new URL(window.location.href);return e.filter(i=>i.hypotheses.some(s=>s.type!=="dom"&&s.type!=="price"?!1:s.type==="price"&&s.priceData&&s.priceData.variants.length>0?!0:s.domSelectors&&s.domSelectors.some(r=>new RegExp(se(r)).test(K(t.toString())))))}async filterTestsByAudience(e,t,i){const s=[],r=e.some(n=>(n.requiresRegion||this.geoViaShopify&&n.requiresCountry)&&!i.some(l=>l.testId===n.id));this.resolvedRegion===null&&r&&(this.log("Hiding page to wait for Shopify region resolution"),this.hidePage(),await this.waitForResolvedRegion()),window.__slRegion=this.resolvedRegion??"";let o=t.country;this.geoViaShopify?o=this.resolvedRegion?this.resolvedRegion.slice(0,2):o:!o&&e.some(n=>n.requiresCountry&&!i.some(l=>l.testId===n.id))&&(this.log("Hiding page to check geoip"),this.hidePage(),o=await this.makeJsonRequest({method:"get",url:`${this.eventHost}/api/v0/visitors/get-country`,signal:AbortSignal.timeout(this.getCountryTimeout)}).catch(n=>(this.log("Error getting country",n),null)));for(const n of e){if(this.log("Checking audience for test '%s'",n.id),this.state.essential.visitorTests.some(d=>d.testId===n.id&&d.hypothesisId==null)){console.log(`Skipping blocked test '${n.id}'`);continue}const l=this.visitorCreatedDuringTestActive(n.statusHistory);(i.some(d=>d.testId===n.id&&(n.device==="all"||n.device===t.device&&n.device===this.device))||this.isTargetAudience(n,t,l,o))&&(this.log("Visitor is in audience for test '%s'",n.id),s.push(n))}this.testsFilteredByAudience=s}async waitForResolvedRegion(e=1500,t=50){const i=Date.now();for(;this.resolvedRegion===null&&Date.now()-i<e;)await new Promise(s=>window.setTimeout(s,t))}isTargetAudience(e,t,i,s){const r=this.getChannel(t);return(e.device==="all"||e.device===t.device&&e.device===this.device)&&(e.visitorOption==="all"||e.visitorOption==="new"&&i||e.visitorOption==="returning"&&!i)&&(e.targetAudiences.length===0||e.targetAudiences.reduce((o,n)=>o||n.reduce((l,c)=>l&&c(t,i,r,s),!0),!1))}visitorCreatedDuringTestActive(e){let t="";for(const i of e){if(this.state.analytics.visitor!==null&&this.state.analytics.visitor.createdAt<i.createdAt||this.state.essential.initialState.createdAt<i.createdAt)break;t=i.status}return t==="active"}getDomTestsForCurrentUrl(){return this.domTestsForUrl(this.testsFilteredByAudience)}getCurrentVisitorHypothesis(e){return e.flatMap(t=>t.hypotheses).find(t=>t.type!=="dom"&&t.type!=="price"&&this.state.essential.visitorTests.some(i=>i.hypothesisId===t.id))}getVisitorDomHypothesis(e){return e.flatMap(t=>t.hypotheses).filter(t=>(t.type==="dom"||t.type==="price")&&this.state.essential.visitorTests.some(i=>i.hypothesisId===t.id))}getHypothesis(e){return this.testConfigs.filter(t=>t.hypotheses.some(i=>i.id===e)).map(t=>t.hypotheses.find(i=>i.id===e))[0]}getActiveAssignment(){if(this.state.temporary.isMerchant&&this.state.temporary.previewConfig){const t=this.state.temporary.previewConfig;return t.currentVariant&&t.testId?{testId:t.testId,hypothesisId:t.currentVariant}:null}const e=this.state.essential.visitorTests.find(t=>t.hypothesisId);return e?.hypothesisId?{testId:e.testId,hypothesisId:e.hypothesisId}:null}findActiveSubscriptionTestControl(){for(const e of this.testConfigs){const t=e.hypotheses.find(i=>i.isControl);if(t?.subscriptionData)return{testId:e.id,hypothesis:t}}return null}getDomSelectorsForHypothesis(e){if(!e)return[];if(e.domSelectors&&e.domSelectors.length>0)return e.domSelectors;if(e.priceData){const t=`${this.priceSelectorsSessionKey}_${e.id}`;try{const s=sessionStorage.getItem(t);if(s){const r=JSON.parse(s);return e.domSelectors=r,this.log("Loaded %d price selectors from cache for hypothesis '%s'",r.length,e.id),r}}catch{}const i=$e(e.priceData);e.domSelectors=i;try{sessionStorage.setItem(t,JSON.stringify(i)),this.log("Generated and cached %d price selectors for hypothesis '%s'",i.length,e.id)}catch{this.log("Generated %d price selectors for hypothesis '%s' (cache unavailable)",i.length,e.id)}return i}return[]}hasThemeTest(e){return e.some(t=>t.hypotheses.some(i=>i.type==="theme"))}hasTestThatIsNotThemeTest(e){return e.some(t=>t.hypotheses.some(i=>i.type!=="theme"&&i.type!=="dom"&&i.type!=="price"))}hasThemeAndOtherTestTypes(e){return this.hasThemeTest(e)&&this.hasTestThatIsNotThemeTest(e)}testIsPaused(e){return e.status==="paused"||e.status==="incompatible"||e.status==="suspended"}visitorActiveTestType(){const e=this.state.essential.visitorTests.filter(t=>this.testConfigs.some(i=>i.hypotheses.some(s=>s.id==t.hypothesisId)));return e.length===0?null:e.some(t=>t.isThemeTest)?"theme":"templateOrUrlRedirect"}getReservationType(e){return e==="price"||this.isTemplateTestType(e)?"deferred":"immediate"}isTemplateTestType(e){return["product","collection","landing","index","cart","search","blog","article","collectionList"].includes(e)}getEntryCriteriaKey(e){const t=e.hypotheses.find(i=>i.isControl);if(!t)return`unknown:${e.id}`;switch(t.type){case"theme":return"global:theme";case"basicScript":return"global:autoApi";case"price":return"global:price";case"manualScript":return`conditional:manualApi:${e.id}`;case"urlRedirect":return`conditional:url:${t.redirectPath||"unknown"}`;default:return`conditional:template:${t.type}`}}isGlobalEntryCriteria(e){return e.startsWith("global:")}groupTestsByEntryCriteria(e){const t=new Map;for(const i of e){const s=this.getEntryCriteriaKey(i),r=t.get(s)||[];r.push(i),t.set(s,r)}return t}doesCurrentPageMatchEntryCriteria(e){if(this.isGlobalEntryCriteria(e))return!0;
8if(e==="conditional:manualApi")return!1;if(e.startsWith("conditional:url:")){const t=e.replace("conditional:url:","");return window.location.pathname.endsWith(t)}if(e.startsWith("conditional:template:")){const t=e.replace("conditional:template:","");return this.typeFromTemplate()===t}return!1}hasActiveReservation(){const e=this.getActiveReservations();return Object.values(e).some(t=>!t.isRealized)}getActiveReservation(){const e=this.getActiveReservations();return Object.values(e).find(t=>!t.isRealized)??null}clearStaleReservations(){const e=this.state.temporary.testReservations;if(!e)return;let t=!1;for(const[i,s]of Object.entries(e)){const r=this.testConfigs.find(n=>n.id===s.testId);if(!r){this.log("Test '%s' no longer in config, clearing reservation for criteria '%s'",s.testId,i),delete e[i],t=!0;continue}if(r.status!=="active"){this.log("Test '%s' status is '%s', clearing reservation for criteria '%s'",s.testId,r.status,i),delete e[i],t=!0;continue}this.testsFilteredByAudience.some(n=>n.id===s.testId)||(this.log("Visitor no longer passes audience for test '%s', clearing reservation for criteria '%s'",s.testId,i),delete e[i],t=!0)}t&&this.persistTemporaryState()}createReservations(e){if(this.state.temporary.testReservations||(this.state.temporary.testReservations={}),this.state.temporary.rolledEntryCriteria||(this.state.temporary.rolledEntryCriteria=[]),this.state.temporary.testCategory==="global"){this.createSingleReservation(e,"global");return}const i=e.filter(n=>this.doesCurrentPageMatchEntryCriteria(this.getEntryCriteriaKey(n))),s=e.filter(n=>!this.doesCurrentPageMatchEntryCriteria(this.getEntryCriteriaKey(n)));this.log("Conditional tests split - matching current page: %d, not matching: %d",i.length,s.length),i.length>0&&this.log("Tests matching current page (same pool): %o",i.map(n=>({id:n.id,title:n.title,criteria:this.getEntryCriteriaKey(n)})));const r=`conditional:current-page:${this.typeFromTemplate()}`;if(i.length>0&&!this.state.temporary.rolledEntryCriteria.includes(r)){this.createSingleReservation(i,r);for(const n of i){const l=this.getEntryCriteriaKey(n);this.state.temporary.rolledEntryCriteria.includes(l)||this.state.temporary.rolledEntryCriteria.push(l)}}const o=this.groupTestsByEntryCriteria(s);for(const[n,l]of o){if(this.state.temporary.rolledEntryCriteria.includes(n)){this.log("Already rolled for criteria '%s', skipping",n);continue}if(l.some(S=>this.state.essential.visitorTests.some(C=>C.testId===S.id))){this.log("Visitor already has VT for criteria '%s', skipping",n),this.state.temporary.rolledEntryCriteria.push(n);continue}const d=[...l].sort((S,C)=>S.id.localeCompare(C.id));this.log("Test dice roll for criteria '%s' - available tests: %o",n,d.map(S=>({id:S.id,title:S.title})));const u=Math.floor(Math.random()*d.length),h=d[u];this.log("Test dice roll: picked index %d of %d, selected test '%s' (%s)",u+1,l.length,h.id,h.title);const p=this.pickHypothesis(h);if(!p){this.log("No hypothesis picked for test '%s'",h.id);continue}this.sendDiagnosticTelemetry("assignment",h.id,{hypothesisId:p.id,isControl:p.isControl,testType:p.type});const b=this.getReservationType(p.type),E={testId:h.id,hypothesisId:p.id,testType:p.type,reservationType:b,isThemeTest:p.type==="theme",themeId:p.themeId,createdAt:new Date,isRealized:!1,entryCriteriaKey:n};this.state.temporary.testReservations[n]=E,this.state.temporary.rolledEntryCriteria.push(n),this.log("Created %s reservation for test '%s' (criteria: %s)",b,h.id,n);for(const S of l)S.id!==h.id&&this.markTestAsBlocked(S,n)}this.persistTemporaryState()}createSingleReservation(e,t){if(this.state.temporary.rolledEntryCriteria.includes(t)){this.log("Already rolled for pool '%s', skipping",t);return}if(e.some(u=>this.state.essential.visitorTests.some(h=>h.testId===u.id&&!h.isInvalid))){this.log("Visitor already has VT for pool '%s', skipping",t),this.state.temporary.rolledEntryCriteria.push(t);return}if(e.length===0){this.log("No tests in pool '%s'",t);return}const s=[...e].sort((u,h)=>u.id.localeCompare(h.id));this.log("Test dice roll for pool '%s' - available tests: %o",t,s.map(u=>({id:u.id,title:u.title,criteria:this.getEntryCriteriaKey(u)})));const r=Math.floor(Math.random()*s.length),o=s[r];this.log("Test dice roll: picked index %d of %d, selected test '%s' (%s)",r,e.length,o.id,o.title);const n=this.pickHypothesis(o);if(!n){this.log("No hypothesis picked for test '%s'",o.id);return}this.sendDiagnosticTelemetry("assignment",o.id,{hypothesisId:n.id,isControl:n.isControl,testType:n.type});const l=this.getReservationType(n.type),c=this.getEntryCriteriaKey(o),d={testId:o.id,hypothesisId:n.id,testType:n.type,reservationType:l,isThemeTest:n.type==="theme",themeId:n.themeId,createdAt:new Date,isRealized:!1,entryCriteriaKey:c};this.state.temporary.testReservations[c]=d,this.state.temporary.rolledEntryCriteria.push(t),this.log("Created %s reservation for test '%s' from pool '%s' (criteria: %s)",l,o.id,t,c);for(const u of e)u.id!==o.id&&this.markTestAsBlocked(u,`pool:${t}`);this.persistTemporaryState()}markTestAsBlocked(e,t){this.state.essential.visitorTests.some(i=>i.testId===e.id)||(this.log("Blocking visitor from test '%s' (reason: %s)",e.id,t),this.state.essential.visitorTests.push({createdAt:new Date,testId:e.id,hypothesisId:null,isThemeTest:e.hypotheses.some(i=>
8i.type==="theme"),shouldSendToGa:!1,isSaved:!0,isInvalid:!0,themeId:void 0}))}realizeReservationForCriteria(e){const t=this.state.temporary.testReservations?.[e];if(!t)return this.log("No reservation found for criteria '%s'",e),!1;if(t.isRealized)return this.log("Reservation already realized for criteria '%s'",e),!1;if(this.state.essential.visitorTests.some(s=>s.testId===t.testId&&!s.isInvalid))return this.log("Visitor already assigned to test '%s'",t.testId),!1;const i=this.getHypothesis(t.hypothesisId);return i?(t.isRealized=!0,this.persistTemporaryState(),this.queueAddVisitorToTest(t.testId,i),this.saveState(),this.log("Realized reservation for test '%s' (criteria: %s)",t.testId,e),!0):(this.log("Hypothesis '%s' not found",t.hypothesisId),!1)}getActiveReservations(){return this.state.temporary.testReservations??{}}getReservationForCurrentPage(){const e=this.getActiveReservations();for(const[t,i]of Object.entries(e)){if(i.isRealized)continue;const s=this.testConfigs.find(r=>r.id===i.testId);if(!(!s||s.status!=="active")&&this.doesCurrentPageMatchEntryCriteria(t))return i}return null}getReservationForTest(e){const t=this.getActiveReservations();return Object.values(t).find(i=>i.testId===e)??null}getReservationTestType(){const e=this.getActiveReservations(),t=Object.values(e);if(t.length===0)return null;for(const i of t)if(i.isThemeTest)return"theme";for(const i of t)if(i.testType==="price")return"price";return t.some(i=>!i.isRealized)?"templateOrUrlRedirect":null}hasPriceTests(e){return e.some(t=>t.hypotheses.some(i=>i.type==="price"))}_priceTestProductIds=null;getPriceTestProductIds(){if(this._priceTestProductIds)return this._priceTestProductIds;const e=new Set;for(const t of this.testConfigs)for(const i of t.hypotheses)if(i.type==="price"){for(const s of i.domSelectors||[]){const r=s.cssSelector.match(/data-sl-attribute-(?:p|cap)="(\d+)"/);r?.[1]&&e.add(r[1])}if(i.priceData?.variants)for(const[s]of i.priceData.variants)e.add(s)}return this._priceTestProductIds=e,this.log("Built price test product ID cache with %d products",e.size),e}isProductInAnyPriceTest(e){return this.getPriceTestProductIds().has(e)}visitorActiveTestTypeWithReservations(){const e=this.getActiveReservations();for(const r of Object.values(e)){if(r.isThemeTest)return"theme";if(r.testType==="price")return"price"}if(Object.values(e).some(r=>!r.isRealized)){if(this.state.temporary.testCategory==="global")for(const o of Object.values(e)){if(o.testType==="theme")return"theme";if(o.testType==="price")return"price";if(o.testType==="basicScript")return"theme"}return"templateOrUrlRedirect"}const i=this.state.essential.visitorTests.filter(r=>!r.isInvalid&&this.testConfigs.some(o=>o.hypotheses.some(n=>n.id===r.hypothesisId)));return i.length===0?null:i.some(r=>this.getHypothesis(r.hypothesisId)?.type==="price")?"price":i.some(r=>r.isThemeTest)?"theme":"templateOrUrlRedirect"}applyControlForAudienceFilteredPriceTests(){const e=this.testConfigs.filter(s=>s.status==="active"&&s.hypotheses.some(r=>r.type==="price"));if(e.length===0)return;const t=this.testsFilteredByAudience.filter(s=>s.hypotheses.some(r=>r.type==="price")),i=e.filter(s=>!t.some(r=>r.id===s.id));if(i.length!==0){this.log("Found %d price tests filtered by audience, applying control selectors",i.length);for(const s of i){const r=s.hypotheses.find(c=>c.isControl),o=this.getDomSelectorsForHypothesis(r);if(o.length===0){this.log("No control selectors for audience-filtered price test '%s'",s.id);continue}const n=new URL(window.location.href);o.some(c=>{try{return new RegExp(se(c)).test(K(n.toString()))}catch{return!1}})&&(this.log("Applying control selectors for audience-filtered price test '%s'",s.id),U(document,{testId:s.id,hypothesisId:r.id,selectors:o},()=>{}),this.updatePriceTestHiddenInputs(s.id,"control",!1))}}}pickHypothesis(e){let t=Math.random();const i=e.hypotheses.reduce((r,o)=>r+o.visitorCount,0);return e.hypotheses.sort((r,o)=>r.isControl?o.isControl?0:-1:o.isControl?1:0).reduce((r,o)=>{if(r!==null)return r;const l=e.hypotheses.reduce((c,d)=>c&&d.visitorCount>20,!0)?o.visitorCount/i-o.trafficPercentage:0;return t<=o.trafficPercentage-l?o:(t-=o.trafficPercentage-l,null)},null)}typeFromTemplate(){switch(template.type){case"list-collections":return"collectionList";case"page":return"landing";case"article":case"blog":case"cart":case"collection":case"index":case"product":case"search":return template.type;default:return null}}queueRedirect(e){this.saveState(),this.disableReferrerOverride||(this.log(`Saving temporary referrer override '${document.referrer}'`),this.state.temporary.originalReferrer=document.referrer,this.persistTemporaryState()),window.setTimeout(()=>window.location.assign(e),0),window.setTimeout(()=>{this.syncAllEvents()},2e3)}scheduleRetrySync(){this.clientIdRetryCount>=5||(this.clientIdRetryCount++,window.setTimeout(()=>{this.syncAllEvents()},500))}async syncAllEvents(){const e=async()=>
8{if(this.isSyncing){window.setTimeout(()=>{(async()=>await e())()},500);return}try{if(this.isSyncing=!0,this.syncGAEvents(),this.shopifyAnalyticsId||(this.shopifyAnalyticsId=this.getShopifyAnalyticsId()),!this.shopifyAnalyticsId){this.scheduleRetrySync();return}await this.syncEvents()}finally{this.isSyncing=!1}};await e()}async syncEvents(){if(!this.state.essential.consentApproved||!this.shopifyAnalyticsId||this.state.analytics.queue.length===0)return;const e=this.state.analytics.queue.length,t=this.state.analytics.queue.splice(0,e);this.log("Syncing %s events",e);try{const i={shop:this.shop,visitorDetails:{shopifyAnalyticsId:this.shopifyAnalyticsId,device:this.state.analytics.visitor?.device??this.device,country:this.state.analytics.visitor?.country??null,...this.state.essential.initialState},events:this.state.essential.visitorTests.filter(r=>!r.isInvalid&&!r.isSaved&&r.hypothesisId!=null).map(r=>new be(r.testId,r.hypothesisId,r.createdAt)).concat(t)};await this.sendEvents(i);for(const r of this.state.essential.visitorTests.filter(o=>!o.isInvalid&&!o.isSaved&&o.hypothesisId!=null))this.sendDiagnosticTelemetry("event-delivered",r.testId,{hypothesisId:r.hypothesisId,isControl:r.assignedTo==="control",testType:r.testType??"unknown"});const s=await this.getVisitor(this.shopifyAnalyticsId);s!==null&&this.updateLocalVisitor(s);for(const r of this.state.essential.visitorTests.filter(o=>!o.isInvalid&&!o.isSaved))r.isSaved=!0,r.savedAt=Date.now()}catch{this.state.analytics.queue.splice(0,0,...t)}finally{this.saveState()}}syncGAEvents(){if(!this.gaConfig.sendEvents){if(he)return;he=!0,this.log("UseGtag is false — skipping GA Events");return}if(this.isSyncingGA){this.log("Already syncing GA - skipping GA events");return}const e=this.state.essential.visitorTests.filter(t=>t.shouldSendToGa);e.length!==0&&(this.isSyncingGA=!0,this.log("Syncing %s GA Events",e.length),Promise.allSettled(e.map(t=>this.sendGAEvent(t))).then(()=>this.log("All gtag events sent")).finally(()=>this.isSyncingGA=!1))}sendGAEvent(e){return new Promise(t=>{this.log("Sending GA Event for test %s, hypothesis %s",e.testId,e.hypothesisId);const i=()=>{this.log("GA acknowledged event for hypothesis %s",e.hypothesisId),e.shouldSendToGa=!1,this.persistEssentialState(),t()},s={exp_variant_string:`SL-${e.testId}-${e.hypothesisId}`};
8this.shopliftDebug&&Object.assign(s,{debug_mode:!0});function r(o,n,l){window.dataLayer=window.dataLayer||[],window.dataLayer.push(arguments)}this.gaConfig.mode==="gtag"?r("event","experience_impression",{...s,event_callback:i}):(window.dataLayer=window.dataLayer||[],window.dataLayer.push({event:"experience_impression",...s,eventCallback:i}))})}updateLocalVisitor(e){let t;({visitorTests:t,...this.state.analytics.visitor}=e),this.log("updateLocalVisitor - server returned %d tests: %o",t.length,t.map(s=>({testId:s.testId,hypothesisId:s.hypothesisId,isInvalid:s.isInvalid}))),this.log("updateLocalVisitor - local has %d tests: %o",this.state.essential.visitorTests.length,this.state.essential.visitorTests.map(s=>({testId:s.testId,hypothesisId:s.hypothesisId,isSaved:s.isSaved,isInvalid:s.isInvalid})));const i=300*1e3;for(const s of this.state.essential.visitorTests.filter(r=>r.isSaved&&(!r.savedAt||Date.now()-r.savedAt>i)&&!t.some(o=>o.testId===r.testId)))this.log("updateLocalVisitor - marking LOCAL test as INVALID (isSaved && not in server): testId=%s, hypothesisId=%s",s.testId,s.hypothesisId),s.isInvalid=!0;for(const s of t){const r=this.state.essential.visitorTests.findIndex(n=>n.testId===s.testId);if(!(r!==-1))this.log("updateLocalVisitor - ADDING server test (not found locally): testId=%s, hypothesisId=%s",s.testId,s.hypothesisId),this.state.essential.visitorTests.push(s);else{const n=this.state.essential.visitorTests.at(r);this.log("updateLocalVisitor - REPLACING local test with server test: testId=%s, local hypothesisId=%s -> server hypothesisId=%s, local isInvalid=%s -> false",s.testId,n?.hypothesisId,s.hypothesisId,n?.isInvalid),s.isInvalid=!1,s.shouldSendToGa=n?.shouldSe
8ndToGa??!1,s.testType=n?.testType,s.assignedTo=n?.assignedTo,s.testTitle=n?.testTitle,this.state.essential.visitorTests.splice(r,1,s)}}this.log("updateLocalVisitor - FINAL local tests: %o",this.state.essential.visitorTests.map(s=>({testId:s.testId,hypothesisId:s.hypothesisId,isSaved:s.isSaved,isInvalid:s.isInvalid}))),this.state.analytics.visitor.storedAt=new Date}async getVisitor(e){try{return await this.makeJsonRequest({method:"get",url:`${this.eventHost}/api/v0/visitors/by-key/${this.shop}/${e}`})}catch{return null}}async sendEvents(e){await this.makeRequest({method:"post",url:`${this.eventHost}/api/v0/events`,data:JSON.stringify(e)})}sendDiagnosticTelemetry(e,t,i){if(!this.telemetryEnabled||!navigator.sendBeacon)return;const s=this.state.essential.consentApproved,r=JSON.stringify({shop:this.shop,testId:t,checkpoint:e,device:this.device,...s?{visitorId:this.shopifyAnalyticsId??"unknown"}:{},clientTimestamp:Date.now(),consentApproved:s,hasConsentInteraction:this.state.essential.hasConsentInteraction,...i});navigator.sendBeacon(`${this.eventHost}/api/v0/telemetry`,new Blob([r],{type:"text/plain"}))}getUTMValue(e){const i=decodeURIComponent(window.location.search.substring(1)).split("&");for(let s=0;s<i.length;s++){const r=i[s].split("=");if(r[0]===e)return r[1]||null}return null}hidePage(e){this.log("Hiding page"),this.cssHideClass&&!window.document.documentElement.classList.contains(this.cssHideClass)&&(window.document.documentElement.classList.add(this.cssHideClass),e||setTimeout(this.removeAsyncHide(this.cssHideClass),2e3))}showPage(){this.cssHideClass&&this.removeAsyncHide(this.cssHideClass)()}getDeviceType(){function e(){let i=!1;return(function(s){(/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows ce|xda|xiino/i.test(s)||/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i.test(s.substr(0,4)))&&(i=!0)})(navigator.userAgent||navigator.vendor),i}function t(){let i=!1;return(function(s){(/android|ipad|playbook|silk/i.test(s)||/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|
8sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i.test(s.substr(0,4)))&&(i=!0)})(navigator.userAgent||navigator.vendor),i}return e()?"mobile":t()?"tablet":"desktop"}removeAsyncHide(e){return()=>{e&&window.document.documentElement.classList.remove(e)}}async getCartState(){try{let e=await this.makeJsonRequest({method:"get",url:`${window.location.origin}/cart.js`});return e===null||(e.note===null&&(e=await this.makeJsonRequest({method:"post",url:`${window.location.origin}/cart/update.js`,data:JSON.stringify({note:""})})),e==null)?null:{token:e.token,total_price:e.total_price,total_discount:e.total_discount,currency:e.currency,items_subtotal_price:e.items_subtotal_price,items:e.items.map(t=>({quantity:t.quantity,variant_id:t.variant_id,key:t.key,price:t.price,final_line_price:t.final_line_price,sku:t.sku,product_id:t.product_id}))}}catch(e){return this.log("Error sending cart info",e),null}}ensureCartAttributesForExistingPriceTests(e){try{if(this.log("Checking visitor assignments for active price tests"),e&&this.state.temporary.previewConfig){const t=this.state.temporary.previewConfig;this.log("Using preview config for merchant:",t.testId);let i="variant";if(t.variants&&t.variants.length>0){const s=t.variants.find(r=>r.id===t.currentVariant);s&&s.isControl&&(i="control")}this.log("Merchant preview - updating hidden inputs:",t.testId,i),this.updatePriceTestHiddenInputs(t.testId,i,!0);return}for(const t of this.state.essential.visitorTests){const i=this.testConfigs.find(o=>o.id===t.testId);if(!i){this.log("Test config not found:",t.testId);continue}const s=i.hypotheses.find(o=>o.id===t.hypothesisId);if(!s||s.type!=="price")continue;const r=s.isControl?"control":"variant";this.log("Updating hidden inputs for price test:",t.testId,r),this.updatePriceTestHiddenInputs(t.testId,r,e)}}catch(t){this.log("Error ensuring cart attributes for existing price tests:",t)}}subscriptionSwapDone=!1;subscriptionHideWrongPlans=null;subscriptionPriceDone=!1;subscriptionUpdateOneTime=null;subscriptionOneTimeDone=!1;swapMap=null;slptValue=null;async subscriptionSwap(){await Ue(this)}async subscriptionPriceChange(){await ze(this)}async subscriptionOneTimePrice(){await We(this)}updatePriceTestHiddenInputs(e,t,i){try{this.cleanupPriceTestObservers();const s=`${e}:${t}:${i?"t":"f"}`,r=T=>{const m=T.getAttribute("data-sl-pid");if(!m)return!0;if(i&&this.state.temporary.previewConfig){const w=this.state.temporary.previewConfig,I=t==="control"?"a":"b",f=w.variants.find(v=>v.label===I);if(!f)return!1;for(const v of f.domSelectors||[]){const g=v.cssSelector.match(/data-sl-attribute-(?:p|cap)="(\d+)"/);if(g){const P=g[1];if(this.log(`Extracted ID from selector: ${P}, comparing to: ${m}`),P===m)return this.log("Product ID match found in preview config:",m,"variant:",f.label),!0}else this.log(`Could not extract ID from selector: ${v.cssSelector}`)}return this.log("No product ID match in preview config for:",m,"variant:",I),!1}const y=this.testConfigs.find(w=>w.id===e);if(!y)return this.log("Test config not found for testId:",e),!1;for(const w of y.hypotheses||[]){for(const I of w.domSelectors||[]){const f=I.cssSelector.match(/data-sl-attribute-(?:p|cap)="(\d+)"/);if(f&&f[1]===m)return this.log("Product ID match found in domSelectors:",m,"for test:",e),!0}if(w.priceData?.variants){for(const I of w.priceData.variants)if(I[0]===m)return this.log("Product ID match found in priceData:",m,"for test:",e),!0}}return this.log("No product ID match for:",m,"in test:",e),!1},o=new Set;let n=!1,l=null;const c=(T,m)=>{if(document.querySelectorAll("[data-sl-attribute-p]").forEach(w=>{if(w instanceof Element&&w.nodeType===Node.ELEMENT_NODE&&w.isConnected&&document.contains(w))try{T.observe(w,{childList:!0,subtree:!0,characterData:!0,characterDataOldValue:!0,attributes:!1})}catch(I){this.log(`Failed to observe element (${m}):`,I)}}),document.body&&document.body.isConnected)try{T.observe(document.body,{childList:!0,subtree:!0,characterData:!0,characterDataOldValue:!0,attributes:!1})}catch(w){this.log(`Failed to observe document.body (${m}):`,w)}},d=(T,m,y,w)=>{const I=T.filter(f=>{const v=f.cssSelector.match(/data-sl-attribute-(?:p|cap)="(\d+)"/);return v&&v[1]===w});this.log(`Applying ${y} DOM selectors, total: ${T.length}, filtered: ${I.length}`),I.length>0&&U(document,{testId:e,hypothesisId:m,selectors:I})},u=(T,m)=>{this.log(`Applying DOM selector changes for product ID: ${T}`),m.disconnect(),n=!0;try{if(i&&this.state.temporary.previewConfig){const y=t==="control"?"a":"b",w=this.state.temporary.previewConfig.variants.find(I=>I.label===y);if(!w?.domSelectors){this.log(`No DOM selectors found for preview variant: ${y}`);return}d(w.domSelectors,w.id,"preview config",T)}else{const y=this.testConfigs.find(I=>I.id===e);if(!y){this.log(`No test config found for testId: ${e}`);return}const w=y.hypotheses.find(I=>t==="control"?I.isControl:!I.isControl);if(!w?.domSelectors){this.log(`No DOM selectors found for assignment: ${t}`);return}d(w.domSelectors,w.id,"live config",T)}}finally{l!==null&&clearTimeout(l),l=window.setTimeout(()=>{n=!1,l=null,c(m,"reconnection"),this.log("Re-established innerHTML observer after DOM changes")}
8,50)}},h=new MutationObserver(T=>{if(!n)for(const m of T){if(m.type!=="childList"&&m.type!=="characterData")continue;let y=m.target;m.type==="characterData"&&(y=m.target.parentElement||m.target.parentNode);let w=y,I=w.getAttribute("data-sl-attribute-p");for(;!I&&w.parentElement;)w=w.parentElement,I=w.getAttribute("data-sl-attribute-p");if(!I)continue;const f=w.innerHTML||w.textContent||"";let v="";m.type==="characterData"&&m.oldValue!==null&&(v=m.oldValue),this.log(`innerHTML changed on element with data-sl-attribute-p="${I}"`),v&&this.log(`Previous content: "${v}"`),this.log(`Current content: "${f}"`),u(I,h)}});c(h,"initial setup"),o.add(h);const p=new MutationObserver(T=>{T.forEach(m=>{m.addedNodes.forEach(y=>{if(y.nodeType===Node.ELEMENT_NODE){const w=y;E(w);const I=w.matches('input[name="properties[_slpt]"]')?[w]:w.querySelectorAll('input[name="properties[_slpt]"]');I.length>0&&this.log(`MutationObserver found ${I.length} new hidden input(s)`),I.forEach(f=>{const v=f.getAttribute("data-sl-pid");if(this.log(`MutationObserver checking new input with data-sl-pid="${v}"`),r(f))f.value!==s&&(f.value=s,this.log("Updated newly added hidden input:",s)),S(f);else{const g=f.getAttribute("data-sl-pid");g&&this.isProductInAnyPriceTest(g)?this.log("Preserving hidden input for product ID '%s' - belongs to a different price test",g):(f.remove(),this.log("Removed newly added non-matching hidden input for product ID:",g))}})}})})});o.add(p);const b=new MutationObserver(T=>{T.forEach(m=>{if(m.type==="attributes"&&m.attributeName==="data-sl-pid"){const y=m.target;if(this.log("AttributeObserver detected data-sl-pid attribute change on:",y.tagName),y.matches('input[name="properties[_slpt]"]')){const w=y,I=m.oldValue,f=w.getAttribute("data-sl-pid");this.log(`data-sl-pid changed from "${I}" to "${f}" - triggering payment placement updates`),r(w)?(w.value!==s&&(w.value=s,this.log("Updated hidden input after data-sl-pid change:",s)),f&&u(f,h),this.log("Re-running payment placement updates after variant change"),E(document.body)):f&&this.isProductInAnyPriceTest(f)?this.log("Preserving hidden input for product ID '%s' - belongs to a different price test",f):(w.remove(),this.log("Removed non-matching hidden input after data-sl-pid change:",f))}}})});o.add(b);const E=T=>{T.tagName==="SHOPIFY-PAYMENT-TERMS"&&(this.log("MutationObserver found new shopify-payment-terms element"),this.updateShopifyPaymentTerms(e,t));const m=T.querySelectorAll("shopify-payment-terms");m.length>0&&(this.log(`MutationObserver found ${m.length} shopify-payment-terms in added node`),this.updateShopifyPaymentTerms(e,t)),T.tagName==="AFTERPAY-PLACEMENT"&&(this.log("MutationObserver found new afterpay-placement element"),this.updateAfterpayPlacements(e,t,"afterpay"));const y=T.querySelectorAll("afterpay-placement");y.length>0&&(this.log(`MutationObserver found ${y.length} afterpay-placement in added node`),this.updateAfterpayPlacements(e,t,"afterpay")),T.tagName==="SQUARE-PLACEMENT"&&(this.log("MutationObserver found new square-placement element"),this.updateAfterpayPlacements(e,t,"square"));const w=T.querySelectorAll("square-placement");w.length>0&&(this.log(`MutationObserver found ${w.length} square-placement in added node`),this.updateAfterpayPlacements(e,t,"square")),T.tagName==="KLARNA-PLACEMENT"&&(this.log("MutationObserver found new klarna-placement element"),this.updateKlarnaPlacements(e,t));const I=T.querySelectorAll("klarna-placement");I.length>0&&(this.log(`MutationObserver found ${I.length} klarna-placement in added node`),this.updateKlarnaPlacements(e,t))},S=T=>{b.observe(T,{attributes:!0,attributeFilter:["data-sl-pid"],attributeOldValue:!0,subtree:!1});const m=T.getAttribute("data-sl-pid");this.log(`Started AttributeObserver on specific input with data-sl-pid="${m}"`)},C=()=>{const T=document.querySelectorAll('input[name="properties[_slpt]"]');this.log(`Found ${T.length} existing hidden inputs to check`),T.forEach(m=>{const y=m.getAttribute("data-sl-pid");this.log(`Checking existing input with data-sl-pid="${y}"`),r(m)?(m.value=s,this.log("Updated existing hidden input:",s),y&&(this.log("Applying initial DOM selector changes for existing product"),u(y,h)),S(m)):y&&this.isProductInAnyPriceTest(y)?this.log("Preserving hidden input for product ID '%s' - belongs to a different price test",
8y):(m.remove(),this.log("Removed non-matching hidden input for product ID:",y))})},_=()=>{document.body?(p.observe(document.body,{childList:!0,subtree:!0}),this.log("Started MutationObserver on document.body"),C(),E(document.body)):document.readyState==="loading"?document.addEventListener("DOMContentLoaded",()=>{document.body&&(p.observe(document.body,{childList:!0,subtree:!0}),this.log("Started MutationObserver after DOMContentLoaded"),C(),E(document.body))}):(this.log("Set timeout on observer"),setTimeout(_,10))};_(),window.__shopliftPriceTestObservers=o,window.__shopliftPriceTestValue=s,this.log("Set up DOM observer for price test hidden inputs")}catch(s){this.log("Error updating price test hidden inputs:",s)}}updateKlarnaPlacements(e,t){this.updatePlacementElements(e,t,"klarna-placement",(i,s)=>{i.setAttribute("data-purchase-amount",s.toString())})}cleanupPriceTestObservers(){const e=window.__shopliftPriceTestObservers;e&&(e.forEach(t=>{t.disconnect()}),e.clear(),this.log("Cleaned up existing price test observers")),delete window.__shopliftPriceTestObservers,delete window.__shopliftPriceTestValue}updateAfterpayPlacements(e,t,i="afterpay"){const s=i==="square"?"square-placement":"afterpay-placement";if(document.querySelectorAll(s).length===0){this.log(`No ${s} elements found on page - early return`);return}this.updatePlacementElements(e,t,s,(o,n)=>{if(i==="afterpay"){const l=(n/100).toFixed(2);o.setAttribute("data-amount",l)}else o.setAttribute("data-amount",n.toString())}),this.log("updateAfterpayPlacements completed")}updatePlacementElements(e,t,i,s){const r=document.querySelectorAll(i);if(r.length===0){this.log(`No ${i} elements found - early return`);return}let o;if(this.state.temporary.isMerchant&&this.state.temporary.previewConfig){const l=t==="control"?"a":"b",c=this.state.temporary.previewConfig.variants.find(d=>d.label===l);if(!c?.domSelectors){this.log(`No variant found for label ${l} in preview config for ${i}`);return}o=c.domSelectors,this.log(`Using preview config for ${i} in merchant mode, variant: ${l}`)}else{const l=this.testConfigs.find(d=>d.id===e);if(!l){this.log(`No testConfig found for id: ${e} - early return`);return}
8const c=l.hypotheses.find(d=>t==="control"?d.isControl:!d.isControl);if(!c?.domSelectors){this.log(`No hypothesis or domSelectors found for assignment: ${t} - early return`);return}o=c.domSelectors}const n=new RegExp(`${this.DATA_SL_ATTRIBUTE_P}=["'](\\d+)["']`);r.forEach(l=>{let c=null;const d=l.parentElement;if(d&&(c=d.querySelector('input[name="properties[_slpt]"]')),c||(c=l.querySelector('input[name="properties[_slpt]"]')),!c){this.log(`No hidden input found for ${i} element`);return}const u=c.getAttribute("data-sl-pid");if(!u){this.log("Hidden input has no data-sl-pid attribute - skipping");return}const h=o.find(S=>{const C=S.cssSelector.match(n);return C&&C[1]===u});if(!h){this.log(`No matching selector found for productId: ${u} - skipping element`);return}const p=h.actions.find(S=>S.scope==="price");if(!p?.value){this.log("No price action or value found - skipping element");return}const b=parseFloat(p.value.replace(/[^0-9.]/g,""));if(Number.isNaN(b)){this.log(`Invalid price "${p.value}" for product ${u} - skipping`);return}const E=Math.round(b*100);s(l,E)}),this.log(`updatePlacementElements completed for ${i}`)}updateShopifyPaymentTerms(e,t){const i=document.querySelectorAll("shopify-payment-terms");if(i.length===0)return;this.log("Store using shopify payments");let s;if(this.state.temporary.isMerchant&&this.state.temporary.previewConfig){const o=t==="control"?"a":"b",n=this.state.temporary.previewConfig.variants.find(l=>l.label===o);if(!n||!n.domSelectors){this.log(`No variant found for label ${o} in preview config`);return}s=n.domSelectors,this.log(`Using preview config for shopify-payment-terms in merchant mode, variant: ${o}`)}else{const o=this.testConfigs.find(l=>l.id===e);if(!o)return;const n=o.hypotheses.find(l=>t==="control"?l.isControl===!0:l.isControl===!1);if(!n||!n.domSelectors)return;s=n.domSelectors}const r=new RegExp(`${this.DATA_SL_ATTRIBUTE_P}=["'](\\d+)["']`);i.forEach(o=>{const n=o.getAttribute("variant-id");if(!n)return;const l=s.find(c=>{const d=c.cssSelector.match(r);return d&&d[1]===n});if(l){const c=l.actions.find(d=>d.scope==="price");if(c&&c.value){const d=o.getAttribute("shopify-meta");if(d)try{const u=JSON.parse(d);if(u.variants&&Array.isArray(u.variants)){const h=u.variants.find(p=>p.id?.toString()===n);if(h){h.full_price=c.value;const p=parseFloat(c.value.replace(/[^0-9.]/g,""));if(h.number_of_payment_terms&&h.number_of_payment_terms>1){const b=p/h.number_of_payment_terms;h.price_per_term=`$${b.toFixed(2)}`}o.setAttribute("shopify-meta",JSON.stringify(u))}}}catch(u){this.log("Error parsing/updating shoplift-meta:",u)}}}})}async makeJsonRequest(e){const t=await this.makeRequest(e);return t===null?null:JSON.parse(await t.text(),F)}async makeRequest(e){const{url:t,method:i,headers:s,data:r,signal:o}=e,n=new Headers;if(s)for(const c in s)n.append(c,s[c]);(!s||!s.Accept)&&n.append("Accept","application/json"),(!s||!s["Content-Type"])&&n.append("Content-Type","application/json"),(this.eventHost.includes("ngrok.io")||this.eventHost.includes("ngrok-free.app"))&&n.append("ngrok-skip-browser-warning","1234");const l=await this.fetch(t,{method:i,headers:n,body:r,signal:o});if(!l.ok){if(l.status===204)return null;if(l.status===422){const c=await l.json();if(typeof c<"u"&&c.isBot)throw new ie}throw new Error(`Error sending shoplift request ${l.status}`)}return l}queueAddVisitorToTest(e,t){if(this.state.essential.visitorTests.some(s=>s.testId===e))return;const i=this.testConfigs.find(s=>s.id===e);if(this.state.essential.visitorTests.push({createdAt:new Date,testId:e,hypothesisId:t.id,isThemeTest:t.type==="theme",themeId:t.themeId,isSaved:!1,isInvalid:!1,shouldSendToGa:!0,testType:t.type,assignedTo:t.isControl?"control":"variant",testTitle:i?.title}),t.type==="price"){const s=t.isControl?"control":"variant";this.log("Price test assignment detected, updating cart attributes:",e,s),this.updatePriceTestHiddenInputs(e,s,!1)}}queueCartUpdate(e){this.queueEvent(new Ce(e))}queuePageView(e){this.queueEvent(new Se(e))}queueEvent(e){!this.state.essential.consentApproved&&this.state.essential.hasConsentInteraction||this.state.analytics.queue.length>10||this.state.analytics.queue.push(e)}legacyGetLocalStorageVisitor(){const e=this.localStorageGet(this.legacySessionKey);if(e)try{return JSON.parse(e,F)}catch{}return null}pruneStaleVisitorTests(){this.state.essential.visitorTests=this.state.essential.visitorTests.filter(e=>this.testConfigs.some(t=>t.id==e.testId)||this.inactiveTestConfigs.filter(t=>this.testIsPaused(t)).some(t=>t.id===e.testId))}pruneStateAndSave(){this.pruneStaleVisitorTests(),this.saveState()}saveState(){this.persistEssentialState(),this.persistAnalyticsState()}loadState(){const e=this.loadAnalyticsState(),t={analytics:e,essential:this.loadEssentialState(e),temporary:this.loadTemporaryState()},i=this.legacyGetLocalStorageVisitor(),s=this.legacyGetCookieVisitor(),r=[i,s].filter(o=>o!==null).sort((o,n)=>+n.storedAt-+o.storedAt)[0];return t.analytics.visitor===null&&r&&({visitorTests:t.essential.visitorTests,...t.analytics.visitor}=r,t.essential.isFirstLoad=!1,t.essential.initialState={createdAt:r.createdAt,referrer:r.referrer,utmCampaign:r.utmCampaign,utmContent:r.utmContent,utmMedium:r.utmMedium,utmSource:r.utmSource,device:r.device},this.deleteCookie("SHOPLIFT"),this.deleteLocalStorage(this.legacySessionKey)),!t.essential.consentApproved&&t.essential.hasConsentInteraction&&this.deleteLocalStorage(this.analyticsSessionKey),t}loadEssentialState(e){const t=this.loadLocalStorage(this.essentialSessionKey),i=this.loadCookie(this.essentialSessionKey),s=this.getInitialState();e.visitor?.device&&(s.device=e.visitor.device);const r={timestamp:new Date,consentApproved:!1,hasConsentInteraction:!1,debugMode:!1,initialState:s,visitorTests:[],isFirstLoad:!0},o=[t,i].filter(n=>n!==null).sort((n,l)=>+l.timestamp-+n.timestamp)[0]??r;return o.initialState||(e.visitor!==null?o.initialState=e.visitor:(o.initialState=s,o.initialState.createdAt=o.timestamp)),o}loadAnalyticsState(){const e=this.loadLocalStorage(this.analyticsSessionKey),t=this.loadCookie(this.analyticsSessionKey),i={timestamp:new Date,visitor:null,queue:[]},s=[e,t].filter(r=>r!==null).sort((r,o)=>+o.timestamp-+r.timestamp)[0]??i;return s.queue.length===0&&e&&e.queue.length>1&&(s.queue=e.queue),s}loadTemporaryState(){const e=this.sessionStorageGet(this.temporarySessionKey),t=e?JSON.parse(e,F):null,i=this.loadCookie(this.temporarySessionKey);return t??i??{isMerchant:!1,timestamp:new Date}}persistEssentialState(){this.log("Persisting essential state"),this.state.essential.isFirstLoad=!1,this.state.essential.timestamp=new Date,this.persistLocalStorageState(this.essentialSessionKey,this.state.essential),this.persist
8CookieState(this.essentialSessionKey,this.state.essential)}persistAnalyticsState(){this.log("Persisting analytics state"),this.state.essential.consentApproved&&(this.state.analytics.timestamp=new Date,this.persistLocalStorageState(this.analyticsSessionKey,this.state.analytics),this.persistCookieState(this.analyticsSessionKey,{...this.state.analytics,queue:[]}))}persistTemporaryState(){this.log("Setting temporary session state"),this.state.temporary.timestamp=new Date,this.sessionStorageSet(this.temporarySessionKey,JSON.stringify(this.state.temporary)),this.persistCookieState(this.temporarySessionKey,this.state.temporary,!0)}loadLocalStorage(e){const t=this.localStorageGet(e);if(t===null)return null;try{return JSON.parse(t,F)}catch{return null}}loadCookie(e){const t=this.getCookie(e);if(t===null)return null;try{return JSON.parse(t,F)}catch{return null}}persistLocalStorageState(e,t){this.localStorageSet(e,JSON.stringify(t))}persistCookieState(e,t,i=!1){const s=JSON.stringify(t),r=i?"":`expires=${new Date(new Date().getTime()+864e5*365).toUTCString()};`;document.cookie=`${e}=${s};domain=.${window.location.hostname};path=/;SameSite=Strict;${r}`}deleteCookie(e){const t=new Date(0).toUTCString();document.cookie=`${e}=;domain=.${window.location.hostname};path=/;expires=${t};`}deleteLocalStorage(e){window.localStorage.removeItem(e)}getChannel(e){return[{"name":"cross-network","test":(v) => new RegExp(".*cross-network.*", "i").test(v.utmCampaign)},{"name":"direct","test":(v) => v.utmSource === "" && v.utmMedium === ""},{"name":"paid-shopping","test":(v) => (new RegExp("^(?:Google|IGShopping|aax-us-east\.amazon-adsystem\.com|aax\.amazon-adsystem\.com|alibaba|alibaba\.com|amazon|amazon\.co\.uk|amazon\.com|apps\.shopify\.com|checkout\.shopify\.com|checkout\.stripe\.com|cr\.shopping\.naver\.com|cr2\.shopping\.naver\.com|ebay|ebay\.co\.uk|ebay\.com|ebay\.com\.au|ebay\.de|etsy|etsy\.com|m\.alibaba\.com|m\.shopping\.naver\.com|mercadolibre|mercadolibre\.com|mercadolibre\.com\.ar|mercadolibre\.com\.mx|message\.alibaba\.com|msearch\.shopping\.naver\.com|nl\.shopping\.net|no\.shopping\.net|offer\.alibaba\.com|one\.walmart\.com|order\.shopping\.yahoo\.co\.jp|partners\.shopify\.com|s3\.amazonaws\.com|se\.shopping\.net|shop\.app|shopify|shopify\.com|shopping\.naver\.com|shopping\.yahoo\.co\.jp|shopping\.yahoo\.com|shopzilla|shopzilla\.com|simplycodes\.com|store\.shopping\.yahoo\.co\.jp|stripe|stripe\.com|uk\.shopping\.net|walmart|walmart\.com)$", "i").test(v.utmSource) || new RegExp("^(.*(([^a-df-z]|^)shop|shopping).*)$", "i").test(v.utmCampaign)) && new RegExp("^(.*cp.*|ppc|retargeting|paid.*)$", "i").test(v.utmMedium)},{"name":"paid-search","test":(v) => new RegExp("^(?:360\.cn|alice|aol|ar\.search\.yahoo\.com|ask|at\.search\.yahoo\.com|au\.search\.yahoo\.com|auone|avg|babylon|baidu|biglobe|biglobe\.co\.jp|biglobe\.ne\.jp|bing|br\.search\.yahoo\.com|ca\.search\.yahoo\.com|centrum\.cz|ch\.search\.yahoo\.com|cl\.search\.yahoo\.com|cn\.bing\.com|cnn|co\.search\.yahoo\.com|comcast|conduit|daum|daum\.net|de\.search\.yahoo\.com|dk\.search\.yahoo\.com|dogpile|dogpile\.com|duckduckgo|ecosia\.org|email\.seznam\.cz|eniro|es\.search\.yahoo\.com|espanol\.search\.yahoo\.com|exalead\.com|excite\.com|fi\.search\.yahoo\.com|firmy\.cz|fr\.search\.yahoo\.com|globo|go\.mail\.ru|google|google-play|hk\.search\.yahoo\.com|id\.search\.yahoo\.com|in\.search\.yahoo\.com|incredimail|it\.search\.yahoo\.com|kvasir|lens\.google\.com|lite\.qwant\.com|lycos|m\.baidu\.com|m\.naver\.com|m\.search\.naver\.com|m\.sogou\.com|mail\.rambler\.ru|mail\.yandex\.ru|malaysia\.search\.yahoo\.com|msn|msn\.com|mx\.search\.yahoo\.com|najdi|naver|naver\.com|news\.google\.com|nl\.search\.yahoo\.com|no\.search\.yahoo\.com|ntp\.msn\.com|nz\.search\.yahoo\.com|onet|onet\.pl|pe\.search\.yahoo\.com|ph\.search\.yahoo\.com|pl\.search\.yahoo\.com|play\.google\.com|qwant|qwant\.com|rakuten|rakuten\.co\.jp|rambler|rambler\.ru|se\.search\.yahoo\.com|search-results|search\.aol\.co\.uk|search\.aol\.com|search\.google\.com|search\.smt\.docomo\.ne\.jp|search\.ukr\.net|secureurl\.ukr\.net|seznam|seznam\.cz|sg\.search\.yahoo\.com|so\.com|sogou|sogou\.com|sp-web\.search\.auone\.jp|startsiden|startsiden\.no|suche\.aol\.de|terra|th\.search\.yahoo\.com|tr\.search\.yahoo\.com|tut\.by|tw\.search\.yahoo\.com|uk\.search\.yahoo\.com|ukr|us\.search\.yahoo\.com|virgilio|vn\.search\.yahoo\.com|wap\.sogou\.com|webmaster\.yandex\.ru|websearch\.rakuten\.co\.jp|yahoo|yahoo\.co\.jp|yahoo\.com|yandex|yandex\.by|yandex\.com|yandex\.com\.tr|yandex\.fr|yandex\.kz|yandex\.ru|yandex\.ua|y
8andex\.uz|zen\.yandex\.ru)$", "i").test(v.utmSource) && new RegExp("^(.*cp.*|ppc|retargeting|paid.*)$", "i").test(v.utmMedium)},{"name":"paid-social","test":(v) => new RegExp("^(?:43things|43things\.com|51\.com|5ch\.net|Hatena|ImageShack|academia\.edu|activerain|activerain\.com|activeworlds|activeworlds\.com|addthis|addthis\.com|airg\.ca|allnurses\.com|allrecipes\.com|alumniclass|alumniclass\.com|ameba\.jp|ameblo\.jp|americantowns|americantowns\.com|amp\.reddit\.com|ancestry\.com|anobii|anobii\.com|answerbag|answerbag\.com|answers\.yahoo\.com|aolanswers|aolanswers\.com|apps\.facebook\.com|ar\.pinterest\.com|artstation\.com|askubuntu|askubuntu\.com|asmallworld\.com|athlinks|athlinks\.com|away\.vk\.com|awe\.sm|b\.hatena\.ne\.jp|baby-gaga|baby-gaga\.com|babyblog\.ru|badoo|badoo\.com|bebo|bebo\.com|beforeitsnews|beforeitsnews\.com|bharatstudent|bharatstudent\.com|biip\.no|biswap\.org|bit\.ly|blackcareernetwork\.com|blackplanet|blackplanet\.com|blip\.fm|blog\.com|blog\.feedspot\.com|blog\.goo\.ne\.jp|blog\.naver\.com|blog\.yahoo\.co\.jp|blogg\.no|bloggang\.com|blogger|blogger\.com|blogher|blogher\.com|bloglines|bloglines\.com|blogs\.com|blogsome|blogsome\.com|blogspot|blogspot\.com|blogster|blogster\.com|blurtit|blurtit\.com|bookmarks\.yahoo\.co\.jp|bookmarks\.yahoo\.com|br\.pinterest\.com|brightkite|brightkite\.com|brizzly|brizzly\.com|business\.facebook\.com|buzzfeed|buzzfeed\.com|buzznet|buzznet\.com|cafe\.naver\.com|cafemom|cafemom\.com|camospace|camospace\.com|canalblog\.com|care\.com|care2|care2\.com|caringbridge\.org|catster|catster\.com|cbnt\.io|cellufun|cellufun\.com|centerblog\.net|chat\.zalo\.me|chegg\.com|chicagonow|chicagonow\.com|chiebukuro\.yahoo\.co\.jp|classmates|classmates\.com|classquest|classquest\.com|co\.pinterest\.com|cocolog-nifty|cocolog-nifty\.com|copainsdavant\.linternaute\.com|couchsurfing\.org|cozycot|cozycot\.com|cross\.tv|crunchyroll|crunchyroll\.com|cyworld|cyworld\.com|cz\.pinterest\.com|d\.hatena\.ne\.jp|dailystrength\.org|deluxe\.com|deviantart|deviantart\.com|dianping|dianping\.com|digg|digg\.com|diigo|diigo\.com|discover\.hubpages\.com|disqus|disqus\.com|dogster|dogster\.com|dol2day|dol2day\.com|doostang|doostang\.com|dopplr|dopplr\.com|douban|douban\.com|draft\.blogger\.com|draugiem\.lv|drugs-forum|drugs-forum\.com|dzone|dzone\.com|edublogs\.org|elftown|elftown\.com|epicurious\.com|everforo\.com|exblog\.jp|extole|extole\.com|facebook|facebook\.com|faceparty|faceparty\.com|fandom\.com|fanpop|fanpop\.com|fark|fark\.com|fb|fb\.me|fc2|fc2\.com|feedspot|feministing|feministing\.com|filmaffinity|filmaffinity\.com|flickr|flickr\.com|flipboard|flipboard\.com|folkdirect|folkdirect\.com|foodservice|foodservice\.com|forums\.androidcentral\.com|forums\.crackberry\.com|forums\.imore\.com|forums\.nexopia\.com|forums\.webosnation\.com|forums\.wpcentral\.com|fotki|fotki\.com|fotolog|fotolog\.com|foursquare|foursquare\.com|free\.facebook\.com|friendfeed|friendfeed\.com|fruehstueckstreff\.org|fubar|fubar\.com|gaiaonline|gaiaonline\.com|gamerdna|gamerdna\.com|gather\.com|geni\.com|getpocket\.com|glassboard|glassboard\.com|glassdoor|glassdoor\.com|godtube|godtube\.com|goldenline\.pl|goldstar|goldstar\.com|goo\.gl|gooblog|goodreads|goodreads\.com|google\+|googlegroups\.com|googleplus|govloop|govloop\.com|gowalla|gowalla\.com|gree\.jp|groups\.google\.com|gulli\.com|gutefrage\.net|habbo|habbo\.com|hi5|hi5\.com|hootsuite|hootsuite\.com|houzz|houzz\.com|hoverspot|hoverspot\.com|hr\.com|hu\.pinterest\.com|hubculture|hubculture\.com|hubpages\.com|hyves\.net|hyves\.nl|ibibo|ibibo\.com|id\.pinterest\.com|identi\.ca|ig|imageshack\.com|imageshack\.us|imvu|imvu\.com|in\.pinterest\.com|insanejournal|insanejournal\.com|instagram|instagram\.com|instapaper|instapaper\.com|internations\.org|interpals\.net|intherooms|intherooms\.com|irc-galleria\.net|is\.gd|italki|italki\.com|jammerdirect|jammerdirect\.com|jappy\.com|jappy\.de|kaboodle\.com|kakao|kakao\.com|kakaocorp\.com|kaneva|kaneva\.com|kin\.naver\.com|l\.facebook\.com|l\.instagram\.com|l\.messenger\.com|last\.fm|librarything|librarything\.com|lifestream\.aol\.com|line|line\.me|linkedin|linkedin\.com|listal|listal\.com|listography|listography\.com|livedoor\.com|livedoorblog|livejournal|livejournal\.com|lm\.facebook\.com|lnkd\.in|m\.blog\.naver\.com|m\.cafe\.naver\.com|m\.facebook\.com|m\.kin\.naver\.com|m\.vk\.com|m\.yelp\.com|mbga\.jp|medium\.com|meetin\.org|meetup|meetup\.com|meinvz\.net|meneame\.net|menuism\.com|messages\.google\.com|messages\.yahoo\.co\.jp|messenger|messenger\.com|mix\.com|mixi\.jp|mobile\.facebook\.com|mocospace|mocospace\.com|mouthshut|mouthshut\.com|movabletype|movabletype\.com|mubi|mubi\.com|my\.o
8pera\.com|myanimelist\.net|myheritage|myheritage\.com|mylife|mylife\.com|mymodernmet|mymodernmet\.com|myspace|myspace\.com|netvibes|netvibes\.com|news\.ycombinator\.com|newsshowcase|nexopia|ngopost\.org|niconico|nicovideo\.jp|nightlifelink|nightlifelink\.com|ning|ning\.com|nl\.pinterest\.com|odnoklassniki\.ru|odnoklassniki\.ua|okwave\.jp|old\.reddit\.com|oneworldgroup\.org|onstartups|onstartups\.com|opendiary|opendiary\.com|oshiete\.goo\.ne\.jp|out\.reddit\.com|over-blog\.com|overblog\.com|paper\.li|partyflock\.nl|photobucket|photobucket\.com|pinboard|pinboard\.in|pingsta|pingsta\.com|pinterest|pinterest\.at|pinterest\.ca|pinterest\.ch|pinterest\.cl|pinterest\.co\.kr|pinterest\.co\.uk|pinterest\.com|pinterest\.com\.au|pinterest\.com\.mx|pinterest\.de|pinterest\.es|pinterest\.fr|pinterest\.it|pinterest\.jp|pinterest\.nz|pinterest\.ph|pinterest\.pt|pinterest\.ru|pinterest\.se|pixiv\.net|pl\.pinterest\.com|playahead\.se|plurk|plurk\.com|plus\.google\.com|plus\.url\.google\.com|pocket\.co|posterous|posterous\.com|pro\.homeadvisor\.com|pulse\.yahoo\.com|qapacity|qapacity\.com|quechup|quechup\.com|quora|quora\.com|qzone\.qq\.com|ravelry|ravelry\.com|reddit|reddit\.com|redux|redux\.com|renren|renren\.com|researchgate\.net|reunion|reunion\.com|reverbnation|reverbnation\.com|rtl\.de|ryze|ryze\.com|salespider|salespider\.com|scoop\.it|screenrant|screenrant\.com|scribd|scribd\.com|scvngr|scvngr\.com|secondlife|secondlife\.com|serverfault|serverfault\.com|shareit|sharethis|sharethis\.com|shvoong\.com|sites\.google\.com|skype|skyrock|skyrock\.com|slashdot\.org|slideshare\.net|smartnews\.com|snapchat|snapchat\.com|social|sociallife\.com\.br|socialvibe|socialvibe\.com|spaces\.live\.com|spoke|spoke\.com|spruz|spruz\.com|ssense\.com|stackapps|stackapps\.com|stackexchange|stackexchange\.com|stackoverflow|stackoverflow\.com|stardoll\.com|stickam|stickam\.com|studivz\.net|suomi24\.fi|superuser|superuser\.com|sweeva|sweeva\.com|t\.co|t\.me|tagged|tagged\.com|taggedmail|taggedmail\.com|talkbiznow|talkbiznow\.com|taringa\.net|techmeme|techmeme\.com|tencent|tencent\.com|tiktok|tiktok\.com|tinyurl|tinyurl\.com|toolbox|toolbox\.com|touch\.facebook\.com|tr\.pinterest\.com|travellerspoint|travellerspoint\.com|tripadvisor|tripadvisor\.com|trombi|trombi\.com|trustpilot|tudou|tudou\.com|tuenti|tuenti\.com|tumblr|tumblr\.com|tweetdeck|tweetdeck\.com|twitter|twitter\.com|twoo\.com|typepad|typepad\.com|unblog\.fr|urbanspoon\.com|ushareit\.com|ushi\.cn|vampirefreaks|vampirefreaks\.com|vampirerave|vampirerave\.com|vg\.no|video\.ibm\.com|vk\.com|vkontakte\.ru|wakoopa|wakoopa\.com|wattpad|wattpad\.com|web\.facebook\.com|web\.skype\.com|webshots|webshots\.com|wechat|wechat\.com|weebly|weebly\.com|weibo|weibo\.com|wer-weiss-was\.de|weread|weread\.com|whatsapp|whatsapp\.com|wiki\.answers\.com|wikihow\.com|wikitravel\.org|woot\.com|wordpress|wordpress\.com|wordpress\.org|xanga|xanga\.com|xing|xing\.com|yahoo-mbga\.jp|yammer|yammer\.com|yelp|yelp\.co\.uk|yelp\.com|youroom\.in|za\.pinterest\.com|zalo|zoo\.gr|zooppa|zooppa\.com)$", "i").test(v.utmSource) && new RegExp("^(.*cp.*|ppc|retargeting|paid.*)$", "i").test(v.utmMedium)},{"name":"paid-video","test":(v) => new RegExp("^(?:blog\.twitch\.tv|crackle|crackle\.com|curiositystream|curiositystream\.com|d\.tube|dailymotion|dailymotion\.com|dashboard\.twitch\.tv|disneyplus|disneyplus\.com|fast\.wistia\.net|help\.hulu\.com|help\.netflix\.com|hulu|hulu\.com|id\.twitch\.tv|iq\.com|iqiyi|iqiyi\.com|jobs\.netflix\.com|justin\.tv|m\.twitch\.tv|m\.youtube\.com|music\.youtube\.com|netflix|netflix\.com|player\.twitch\.tv|player\.vimeo\.com|ted|ted\.com|twitch|twitch\.tv|utreon|utreon\.com|veoh|veoh\.com|viadeo\.journaldunet\.com|vimeo|vimeo\.com|wistia|wistia\.com|youku|youku\.com|youtube|youtube\.com)$", "i").test(v.utmSource) && new RegExp("^(.*cp.*|ppc|retargeting|paid.*)$", "i").test(v.utmMedium)},{"name":"display","test":(v) => new RegExp("^(?:display|banner|expandable|interstitial|cpm)$", "i").test(v.utmMedium)},{"name":"paid-other","test":(v) => new RegExp("^(.*cp.*|ppc|retargeting|paid.*)$", "i").test(v.utmMedium)}
8,{"name":"organic-shopping","test":(v) => new RegExp("^(?:360\.cn|alice|aol|ar\.search\.yahoo\.com|ask|at\.search\.yahoo\.com|au\.search\.yahoo\.com|auone|avg|babylon|baidu|biglobe|biglobe\.co\.jp|biglobe\.ne\.jp|bing|br\.search\.yahoo\.com|ca\.search\.yahoo\.com|centrum\.cz|ch\.search\.yahoo\.com|cl\.search\.yahoo\.com|cn\.bing\.com|cnn|co\.search\.yahoo\.com|comcast|conduit|daum|daum\.net|de\.search\.yahoo\.com|dk\.search\.yahoo\.com|dogpile|dogpile\.com|duckduckgo|ecosia\.org|email\.seznam\.cz|eniro|es\.search\.yahoo\.com|espanol\.search\.yahoo\.com|exalead\.com|excite\.com|fi\.search\.yahoo\.com|firmy\.cz|fr\.search\.yahoo\.com|globo|go\.mail\.ru|google|google-play|hk\.search\.yahoo\.com|id\.search\.yahoo\.com|in\.search\.yahoo\.com|incredimail|it\.search\.yahoo\.com|kvasir|lens\.google\.com|lite\.qwant\.com|lycos|m\.baidu\.com|m\.naver\.com|m\.search\.naver\.com|m\.sogou\.com|mail\.rambler\.ru|mail\.yandex\.ru|malaysia\.search\.yahoo\.com|msn|msn\.com|mx\.search\.yahoo\.com|najdi|naver|naver\.com|news\.google\.com|nl\.search\.yahoo\.com|no\.search\.yahoo\.com|ntp\.msn\.com|nz\.search\.yahoo\.com|onet|onet\.pl|pe\.search\.yahoo\.com|ph\.search\.yahoo\.com|pl\.search\.yahoo\.com|play\.google\.com|qwant|qwant\.com|rakuten|rakuten\.co\.jp|rambler|rambler\.ru|se\.search\.yahoo\.com|search-results|search\.aol\.co\.uk|search\.aol\.com|search\.google\.com|search\.smt\.docomo\.ne\.jp|search\.ukr\.net|secureurl\.ukr\.net|seznam|seznam\.cz|sg\.search\.yahoo\.com|so\.com|sogou|sogou\.com|sp-web\.search\.auone\.jp|startsiden|startsiden\.no|suche\.aol\.de|terra|th\.search\.yahoo\.com|tr\.search\.yahoo\.com|tut\.by|tw\.search\.yahoo\.com|uk\.search\.yahoo\.com|ukr|us\.search\.yahoo\.com|virgilio|vn\.search\.yahoo\.com|wap\.sogou\.com|webmaster\.yandex\.ru|websearch\.rakuten\.co\.jp|yahoo|yahoo\.co\.jp|yahoo\.com|yandex|yandex\.by|yandex\.com|yandex\.com\.tr|yandex\.fr|yandex\.kz|yandex\.ru|yandex\.ua|yandex\.uz|zen\.yandex\.ru)$", "i").test(v.utmSource) || new RegExp("^(.*(([^a-df-z]|^)shop|shopping).*)$", "i").test(v.utmCampaign)},{"name":"organic-social","test":(v) => new RegExp("^(?:43things|43things\.com|51\.com|5ch\.net|Hatena|ImageShack|academia\.edu|activerain|activerain\.com|activeworlds|activeworlds\.com|addthis|addthis\.com|airg\.ca|allnurses\.com|allrecipes\.com|alumniclass|alumniclass\.com|ameba\.jp|ameblo\.jp|americantowns|americantowns\.com|amp\.reddit\.com|ancestry\.com|anobii|anobii\.com|answerbag|answerbag\.com|answers\.yahoo\.com|aolanswers|aolanswers\.com|apps\.facebook\.com|ar\.pinterest\.com|artstation\.com|askubuntu|askubuntu\.com|asmallworld\.com|athlinks|athlinks\.com|away\.vk\.com|awe\.sm|b\.hatena\.ne\.jp|baby-gaga|baby-gaga\.com|babyblog\.ru|badoo|badoo\.com|bebo|bebo\.com|beforeitsnews|beforeitsnews\.com|bharatstudent|bharatstudent\.com|biip\.no|biswap\.org|bit\.ly|blackcareernetwork\.com|blackplanet|blackplanet\.com|blip\.fm|blog\.com|blog\.feedspot\.com|blog\.goo\.ne\.jp|blog\.naver\.com|blog\.yahoo\.co\.jp|blogg\.no|bloggang\.com|blogger|blogger\.com|blogher|blogher\.com|bloglines|bloglines\.com|blogs\.com|blogsome|blogsome\.com|blogspot|blogspot\.com|blogster|blogster\.com|blurtit|blurtit\.com|bookmarks\.yahoo\.co\.jp|bookmarks\.yahoo\.com|br\.pinterest\.com|brightkite|brightkite\.com|brizzly|brizzly\.com|business\.facebook\.com|buzzfeed|buzzfeed\.com|buzznet|buzznet\.com|cafe\.naver\.com|cafemom|cafemom\.com|camospace|camospace\.com|canalblog\.com|care\.com|care2|care2\.com|caringbridge\.org|catster|catster\.com|cbnt\.io|cellufun|cellufun\.com|centerblog\.net|chat\.zalo\.me|chegg\.com|chicagonow|chicagonow\.com|chiebukuro\.yahoo\.co\.jp|classmates|classmates\.com|classquest|classquest\.com|co\.pinterest\.com|cocolog-nifty|cocolog-nifty\.com|copainsdavant\.linternaute\.com|couchsurfing\.org|cozycot|cozycot\.com|cross\.tv|crunchyroll|crunchyroll\.com|cyworld|cyworld\.com|cz\.pinterest\.com|d\.hatena\.ne\.jp|dailystrength\.org|deluxe\.com|deviantart|deviantart\.com|dianping|dianping\.com|digg|digg\.com|diigo|diigo\.com|discover\.hubpages\.com|disqus|disqus\.com|dogster|dogster\.com|dol2day|dol2day\.com|doostang|doostang\.com|dopplr|dopplr\.com|douban|douban\.com|draft\.blogger\.com|draugiem\.lv|drugs-forum|drugs-forum\.com|dzone|dzone\.com|edublogs\.org|elftown|elftown\.com|epicurious\.com|everforo\.com|exblog\.jp|extole|extole\.com|facebook|facebook\.com|faceparty|faceparty\.com|fandom\.com|fanpop|fanpop\.com|fark|fark\.com|fb|fb\.me|fc2|fc2\.com|feedspot|feministing|feministing\.com|filmaffinity|filmaffinity\.com|flickr|flickr\.com|flipboard|flipboard\.com|folkdirect|folkdirect\.com|foodservice|foodservice\.com|forums\.androidcentral\.com|forums\.crackberry\.com|forums\.imore\.com|forums\.nexopia\.com|forums\.webosnation\.com|forums\.wpcentral\.com|fotki|fotki\.com|fotolog|fotolog\.com|foursquare|foursquare\.com|free\.facebook\.com|friendfeed|friendfeed\.com|fruehstueckstreff\.org|fubar|fubar\.com|gaiaonline|gaiaonline\.com|gamerdna|gamerdna\.com|gather\.com|geni\.com|getpocket\.com|glassboard|glassboard\.com|glassdoor|glassdoor\.com|godtube|godtube\.com|goldenline\.pl|goldstar|goldstar\.com|goo\.gl|gooblog|goodreads|goodreads\.com|google\+|googlegroups\.com|googleplus|govloop|govloop\.com|gowalla|gowalla\.com|gree\.jp|groups\.google\.com|gulli\.com|gutefrage\.net|habbo|habbo\.com|hi5|hi5\.com|hootsuite|hootsuite\.com|houzz|houzz\.com|hoverspot|hoverspot\.com|hr\.com|hu\.pinterest\.com|hubculture|hubculture\.com|hubpages\.com|hyves\.net|hyves\.nl|ibibo|ibibo\.com|id\.pinterest\.com|identi\.ca|ig|imageshack\.com|imageshack\.us|imvu|imvu\.com|in\.pinterest\.com|insanejournal|insanejournal\.com|instagram|instagram\.com|instapaper|instapaper\.com|internations\.org|interpals\.net|intherooms|intherooms\.com|irc-galleria\.net|is\.gd|italki|italki\.com|jammerdirect|jammerdirect\.com|jappy\.com|jappy\.de|kaboodle\.com|k
8akao|kakao\.com|kakaocorp\.com|kaneva|kaneva\.com|kin\.naver\.com|l\.facebook\.com|l\.instagram\.com|l\.messenger\.com|last\.fm|librarything|librarything\.com|lifestream\.aol\.com|line|line\.me|linkedin|linkedin\.com|listal|listal\.com|listography|listography\.com|livedoor\.com|livedoorblog|livejournal|livejournal\.com|lm\.facebook\.com|lnkd\.in|m\.blog\.naver\.com|m\.cafe\.naver\.com|m\.facebook\.com|m\.kin\.naver\.com|m\.vk\.com|m\.yelp\.com|mbga\.jp|medium\.com|meetin\.org|meetup|meetup\.com|meinvz\.net|meneame\.net|menuism\.com|messages\.google\.com|messages\.yahoo\.co\.jp|messenger|messenger\.com|mix\.com|mixi\.jp|mobile\.facebook\.com|mocospace|mocospace\.com|mouthshut|mouthshut\.com|movabletype|movabletype\.com|mubi|mubi\.com|my\.opera\.com|myanimelist\.net|myheritage|myheritage\.com|mylife|mylife\.com|mymodernmet|mymodernmet\.com|myspace|myspace\.com|netvibes|netvibes\.com|news\.ycombinator\.com|newsshowcase|nexopia|ngopost\.org|niconico|nicovideo\.jp|nightlifelink|nightlifelink\.com|ning|ning\.com|nl\.pinterest\.com|odnoklassniki\.ru|odnoklassniki\.ua|okwave\.jp|old\.reddit\.com|oneworldgroup\.org|onstartups|onstartups\.com|opendiary|opendiary\.com|oshiete\.goo\.ne\.jp|out\.reddit\.com|over-blog\.com|overblog\.com|paper\.li|partyflock\.nl|photobucket|photobucket\.com|pinboard|pinboard\.in|pingsta|pingsta\.com|pinterest|pinterest\.at|pinterest\.ca|pinterest\.ch|pinterest\.cl|pinterest\.co\.kr|pinterest\.co\.uk|pinterest\.com|pinterest\.com\.au|pinterest\.com\.mx|pinterest\.de|pinterest\.es|pinterest\.fr|pinterest\.it|pinterest\.jp|pinterest\.nz|pinterest\.ph|pinterest\.pt|pinterest\.ru|pinterest\.se|pixiv\.net|pl\.pinterest\.com|playahead\.se|plurk|plurk\.com|plus\.google\.com|plus\.url\.google\.com|pocket\.co|posterous|posterous\.com|pro\.homeadvisor\.com|pulse\.yahoo\.com|qapacity|qapacity\.com|quechup|quechup\.com|quora|quora\.com|qzone\.qq\.com|ravelry|ravelry\.com|reddit|reddit\.com|redux|redux\.com|renren|renren\.com|researchgate\.net|reunion|reunion\.com|reverbnation|reverbnation\.com|rtl\.de|ryze|ryze\.com|salespider|salespider\.com|scoop\.it|screenrant|screenrant\.com|scribd|scribd\.com|scvngr|scvngr\.com|secondlife|secondlife\.com|serverfault|serverfault\.com|shareit|sharethis|sharethis\.com|shvoong\.com|sites\.google\.com|skype|skyrock|skyrock\.com|slashdot\.org|slideshare\.net|smartnews\.com|snapchat|snapchat\.com|social|sociallife\.com\.br|socialvibe|socialvibe\.com|spaces\.live\.com|spoke|spoke\.com|spruz|spruz\.com|ssense\.com|stackapps|stackapps\.com|stackexchange|stackexchange\.com|stackoverflow|stackoverflow\.com|stardoll\.com|stickam|stickam\.com|studivz\.net|suomi24\.fi|superuser|superuser\.com|sweeva|sweeva\.com|t\.co|t\.me|tagged|tagged\.com|taggedmail|taggedmail\.com|talkbiznow|talkbiznow\.com|taringa\.net|techmeme|techmeme\.com|tencent|tencent\.com|tiktok|tiktok\.com|tinyurl|tinyurl\.com|toolbox|toolbox\.com|touch\.facebook\.com|tr\.pinterest\.com|travellerspoint|travellerspoint\.com|tripadvisor|tripadvisor\.com|trombi|trombi\.com|trustpilot|tudou|tudou\.com|tuenti|tuenti\.com|tumblr|tumblr\.com|tweetdeck|tweetdeck\.com|twitter|twitter\.com|twoo\.com|typepad|typepad\.com|unblog\.fr|urbanspoon\.com|ushareit\.com|ushi\.cn|vampirefreaks|vampirefreaks\.com|vampirerave|vampirerave\.com|vg\.no|video\.ibm\.com|vk\.com|vkontakte\.ru|wakoopa|wakoopa\.com|wattpad|wattpad\.com|web\.facebook\.com|web\.skype\.com|webshots|webshots\.com|wechat|wechat\.com|weebly|weebly\.com|weibo|weibo\.com|wer-weiss-was\.de|weread|weread\.com|whatsapp|whatsapp\.com|wiki\.answers\.com|wikihow\.com|wikitravel\.org|woot\.com|wordpress|wordpress\.com|wordpress\.org|xanga|xanga\.com|xing|xing\.com|yahoo-mbga\.jp|yammer|yammer\.com|yelp|yelp\.co\.uk|yelp\.com|youroom\.in|za\.pinterest\.com|zalo|zoo\.gr|zooppa|zooppa\.com)$", "i").test(v.utmSource) || new RegExp("^(?:social|social-network|social-media|sm|social network|social media)$", "i").test(v.utmMedium)},{"name":"organic-video","test":(v) => new RegExp("^(?:blog\.twitch\.tv|crackle|crackle\.com|curiositystream|curiositystream\.com|d\.tube|dailymotion|dailymotion\.com|dashboard\.twitch\.tv|disneyplus|disneyplus\.com|fast\.wistia\.net|help\.hulu\.com|help\.netflix\.com|hulu|hulu\.com|id\.twitch\.tv|iq\.com|iqiyi|iqiyi\.com|jobs\.netflix\.com|justin\.tv|m\.twitch\.tv|m\.youtube\.com|music\.youtube\.com|netflix|netflix\.com|player\.twitch\.tv|player\.vimeo\.com|ted|ted\.com|twitch|twitch\.tv|utreon|utreon\.com|veoh|veoh\.com|viadeo\.journaldunet\.com|vimeo|vimeo\.com|wistia|wistia\.com|youku|youku\.com|youtube|youtube\.com)$", "i").test(v.utmSource) || new RegExp("^(.*video.*)$", "i").test(v.utmMedium)},{"name":"organic-search","test":(v) => new RegExp("^(?:360\.cn|alice|aol|ar\.search\.yahoo\.com|ask|at\.search\.yahoo\.com|au\.search\.yahoo\.com|auone|avg|babylon|baidu|biglobe|biglobe\.co\.jp|biglobe\.ne\.jp|bing|br\.search\.yahoo\.com|ca\.search\.yahoo\.com|centrum\.cz|ch\.search\.yahoo\.com|cl\.search\.yahoo\.com|cn\.bing\.com|cnn|co\.search\.yahoo\.com|comcast|conduit|daum|daum\.net|de\.search\.yahoo\.com|dk\.search\.yahoo\.com|dogpile|dogpile\.com|duckduckgo|ecosia\.org|email\.seznam\.cz|eniro|es\.search\.yahoo\.com|espanol\.search\.yahoo\.com|exalead\.com|excite\.com|fi\.search\.yahoo\.com|firmy\.cz|fr\.search\.yahoo\.com|globo|go\.mail\.ru|google|google-play|hk\.search\.yahoo\.com|id\.search\.yahoo\.com|in\.search\.yahoo\.com|incredimail|it\.search\.yahoo\.com|kvasir|lens\.google\.com|lite\.qwant\.com|lycos|m\.baidu\.com|m\.naver\.com|m\.search\.naver\.com|m\.sogou\.com|mail\.rambler\.ru|mail\.yandex\.ru|malaysia\.search\.yahoo\.com|msn|msn\.com|mx\.search\.yahoo\.com|najdi|naver|naver\.com|news\.google\.com|nl\.search\.yahoo\.com|no\.search\.yahoo\.com|ntp\.msn\.com|nz\.search\.yahoo\.com|onet|onet\.pl|pe\.search\.yahoo\.com|ph\.search\.yahoo\.com|pl\.search\.yahoo\.com|play\.google\.com|qwant|qwant\.com|rakuten|rakuten\.co\.jp|rambler|rambler\.ru|se\.search\.yahoo\.com|search-results|search\.aol\.co\.uk|search\.aol\.com|search\.google\.com|search\.smt\.docomo\.ne\.jp|search\.ukr\.net|secureurl\.ukr\.net|seznam|seznam\.cz|sg\.search\.yahoo\.com|so\.com|sogou|sogou\.com|sp-web\.search\.auone\.jp|startsiden|startsiden\.no|suche\.aol\.de|terra|th\.search\.yahoo\.com|tr\.search\.yahoo\.com|tut\.by|tw\.search\.yahoo\.com|uk\.search\.yahoo\.com|ukr|us\.search\.yahoo\.com|virgilio|vn\.search\.yahoo\.com|wap\.sogou\.com|webmaster\.yandex\.ru|websearch\.rakuten\.co\.jp|yahoo|yahoo\.co\.jp|yahoo\.com|yandex|yandex\.by|yandex\.com|yandex\.com\.tr|yandex\.fr|yandex\.kz|yandex\.ru|yandex\.ua|y
8andex\.uz|zen\.yandex\.ru)$", "i").test(v.utmSource) || v.utmMedium.toLowerCase() === "organic"},{"name":"referral","test":(v) => new RegExp("^(?:referral|app|link)$", "i").test(v.utmMedium)},{"name":"email","test":(v) => new RegExp("^(?:email|e-mail|e_mail|e mail)$", "i").test(v.utmMedium) || new RegExp("^(?:email|e-mail|e_mail|e mail)$", "i").test(v.utmSource)},{"name":"affiliate","test":(v) => v.utmMedium.toLowerCase() === "affiliate"},{"name":"audio","test":(v) => v.utmMedium.toLowerCase() === "audio"},{"name":"sms","test":(v) => v.utmSource.toLowerCase() === "sms" || v.utmMedium.toLowerCase() === "sms"},{"name":"mobile-push-notification","test":(v) => v.utmSource.toLowerCase() === "firebase" || new RegExp("(?:.*mobile.*|.*notification.*|push$)", "i").test(v.utmMedium)}].find(i=>i.test(e))?.name??"other"}getShopifyAnalyticsId(){const e=this.getCookie("_shopify_y");if(e)return e;try{const t=this.localStorageGet("Shoplift_ClientId");if(t)return t}catch{}return null}legacyGetCookieVisitor(){const e=this.getCookie("SHOPLIFT");return e===null?null:JSON.parse(e,F)}getCookie(e){const t=this.cookie.split("; ").filter(i=>i.split("=").at(0)===e).at(0);return t===void 0?null:t.split("=").slice(1).join("=")}monitorConsentChange(){document.addEventListener("visitorConsentCollected",e=>{(async()=>await this.onConsentChange(e.detail.analyticsAllowed,!0))()}),document.readyState==="loading"?document.addEventListener("DOMContentLoaded",()=>this.loadShopifyConsentApiWithRetry()):this.loadShopifyConsentApiWithRetry()}loadShopifyConsentApiWithRetry(){let e=0;const t=()=>{this.loadShopifyConsentApi()||e++<10&&window.setTimeout(t,100)};t()}loadShopifyConsentApi(){if(window.Shopify){this.log("Loading Shopify features");const e=async()=>{if(!window.Shopify){this.log("Shopify object missing... suddenly?");return}if(window.Shopify.customerPrivacy===void 0){this.log("Shopify CustomerPrivacy api still missing, trying again in 1000ms"),t=window.setTimeout(()=>{(async()=>await e())()},1e3);return}if(this.geoViaShopify){const s=window.Shopify.customerPrivacy.getRegion?.();this.resolvedRegion=typeof s=="string"?s.replace(/-/g,""):""}const i=window.Shopify.customerPrivacy.getTrackingConsent();await this.onConsentChange(window.Shopify.customerPrivacy.analyticsProcessingAllowed(),i==="yes")};let t=window.setTimeout(()=>{(async()=>await e())()},5e3);return window.Shopify.loadFeatures([{name:"consent-tracking-api",version:"0.1"}],i=>{(async()=>{if(window.clearTimeout(t),i){this.log("Error loading consent tracking",i);return}await e()})()}),!0}return!1}async onConsentChange(e,t){try{if(this.log("Consent change detected",e,t),this.state.essential.consentApproved=e,this.state.essential.hasConsentInteraction=t,!this.state.essential.consentApproved){this.state.essential.hasConsentInteraction&&(this.state.analytics.queue.length=0),this.saveState();return}this.cookie=document.cookie,this.shopifyAnalyticsId=this.getShopifyAnalyticsId(),this.saveState(),await this.syncAllEvents()}catch(i){this.log("Error syncing on consent change",i)}}isThemePreview(){return isThemePreview||themeRole!=="main"}isAppProxyPath(){const e=["/apps/","/tools/","/a/"],t=window.location.pathname;return e.some(i=>t.startsWith(i))}clearThemeBar(e,t,i){const s=structuredClone(i);this.log("Looking for theme bar"),this.waitForElement(null,"body").then(r=>this.waitForElement(r,"#preview-bar-iframe, #PBarNextFrameWrapper").then(o=>(this.log("Found theme bar"),t&&(this.log("Removing theme bar"),o.remove()),e?this.makeRequest({url:`${this.eventHost}/api/v0/logs`,method:"post",data:JSON.stringify({...this.debugState(),stateAtEvaluation:s},ee)}):Promise.resolve(null)))).catch(r=>console.error(r))}waitForElement(e,t){return new Promise(i=>{const s=document.querySelector(t);if(s){i(s);return}const r=new MutationObserver(o=>{const n=document.querySelector(t);if(n){r.disconnect(),i(n);return}});r.observe(e??document.documentElement,{childList:!0})})}setDebug(e){this.state.essential.debugMode=e,this.saveState()}log(e,...t){let i=0;const s=e.replace(/%[sdoOfF]/g,r=>{if(i>=t.length)return r;const o=t[i++];return r==="%o"||r==="%O"?JSON.stringify(o):String(o)});this.logHistory.push(`[${new Date().toISOString()}][SL] ${s}`),!(!this.state.essential.debugMode&&!this.shopliftDebug)&&console.debug(`[SL] ${e}`,...t)}debugState(){return{state:this.state,storage:{essential:this.loadLocalStorage(this.essentialSessionKey),analytics:this.loadLocalStorage(this.analyticsSessionKey)},params:{shop:this.shop,host:this.host,eventHost:this.eventHost,cssHideClass:this.cssHideClass,testConfigs:this.testConfigs,inactiveTestConfigs:this.inactiveTestConfigs,sendPageView:this.sendPageView,isShopifyMerchantCookie
8:this.getCookie("is_shopify_merchant"),themeId,url:window.location.href,isThemePreview,themeRole,gaConfig:this.gaConfig},logHistory:this.logHistory}}createViewportObserver(e,t={}){const{threshold:i=this.VIEWPORT_TRACK_THRESHOLD,triggerOnce:s=!0}=t,r=new Set;return new IntersectionObserver(o=>{o.forEach(n=>{if(n.isIntersecting&&!r.has(n.target)){const l=n.target,c=l.getAttribute(this.DATA_SL_TEST_ID);c&&(e(c,l),s&&r.add(l))}})},{threshold:i})}applyChangesWithViewport(e,t,i,s){const r=t.selectorsForViewportTracking??t.selectors,o=n=>{if(this.state.essential.visitorTests.some(h=>h.testId===n)||this.activeViewportObservers.has(n))return;const l=[];if(r.forEach(h=>{e.querySelectorAll(h.cssSelector).forEach(b=>l.push(b))}),l.length===0)return;let c=!1;const d=()=>{c||(c=!0,i(n),u.disconnect(),this.activeViewportObservers.delete(n))},u=this.createViewportObserver(()=>{d()},{triggerOnce:!0,...s});this.activeViewportObservers.set(n,u),this.log(`Created viewport observer for test ${n}, observing ${l.length} elements`),l.forEach(h=>{h.setAttribute(this.DATA_SL_TEST_ID,String(n)),u.observe(h)}),setTimeout(()=>{c||l.forEach(h=>{const p=h.getBoundingClientRect(),b=s?.threshold??this.VIEWPORT_TRACK_THRESHOLD,E=Math.min(p.bottom,window.innerHeight)-Math.max(p.top,0),S=Math.min(p.right,window.innerWidth)-Math.max(p.left,0);p.top<window.innerHeight&&p.bottom>0&&p.left<window.innerWidth&&p.right>0&&E>0&&S>0&&E>=p.height*b&&(this.log(`Price element already visible in viewport for test ${n}:`,h),d())})},100)};t.selectors.length>0&&U(e,t,()=>{}),Te(e,{testId:t.testId,hypothesisId:t.hypothesisId,selectors:r},n=>{o(n)})}applyPriceTestWithMapLookup(e,t,i,s){if(!t.priceData){this.log("No price data for hypothesis '%s'",t.id);return}this.log("Hypothesis '%s' isControl=%s, priceData has %d variants",t.id,t.isControl,t.priceData.variants.length);const r=t.priceData.variants.slice(0,3);for(const[S,C,_]of r)this.log("  Sample priceData: variant=%s, price=%d, compareAt=%d",S,C,_);const o=j(t.priceData),n=new Set;for(const S of i)if(S.priceData)for(const[C]of S.priceData.variants)n.add(C);this.log("Price test Map lookup: %d products in hypothesis, %d total products to track",o.size,n.size);const l=t.priceData,c=new WeakSet;let d=!1;const u="[data-sl-attribute-p], [data-sl-attribute-cap], [data-sl-attribute-discount]",h=S=>{if(c.has(S))return;const C=S.getAttribute("data-sl-attribute-p"),_=S.getAttribute("data-sl-attribute-cap"),T=S.getAttribute("data-sl-attribute-discount"),m=C||_||T;if(!m||!n.has(m))return;c.add(S);const y=o.get(m);y&&(this.log("Applying price for product %s: %d cents (compare at: %d cents)",m,y.priceInCents,y.compareAtPriceInCents),Le(S,m,y,l),this.log("Applied price to element for product %s",m)),!d&&!this.state.essential.visitorTests.some(w=>w.testId===e)&&(S.setAttribute(this.DATA_SL_TEST_ID,String(e)),this.setupElementViewportTracking(S,e,()=>{d||(d=!0,s(e))}))},p=()=>{const S=document.querySelectorAll(u);this.log("Scanning for price elements, found: %d",S.length),S.forEach(h)},b=new MutationObserver(S=>{for(const C of S)C.type==="childList"&&C.addedNodes.forEach(_=>{if(_.nodeType===Node.ELEMENT_NODE){const T=_;(T.hasAttribute("data-sl-attribute-p")||T.hasAttribute("data-sl-attribute-cap")||T.hasAttribute("data-sl-attribute-discount"))&&h(T),T.querySelectorAll(u).forEach(h)}}),C.type==="attributes"&&C.target instanceof Element&&h(C.target)}),E=document.body||document.documentElement;b.observe(E,{childList:!0,subtree:!0,attributes:!0,attributeFilter:["data-sl-attribute-p","data-sl-attribute-cap","data-sl-attribute-discount"]}),this.log("MutationObserver started for price elements"),p(),document.readyState==="loading"&&document.addEventListener("DOMContentLoaded",()=>{this.log("DOMContentLoaded - rescanning for price elements"),p()}),setTimeout(()=>{this.log("Delayed rescan for price elements"),p()},100),setTimeout(()=>{this.log("Final rescan for price elements"),p()},500)}setupElementViewportTracking(e,t,i){const s=this.VIEWPORT_TRACK_THRESHOLD,r=e.getBoundingClientRect(),o=Math.min(r.bottom,window.innerHeight)-Math.max(r.top,0),n=Math.min(r.right,window.innerWidth)-Math.max(r.left,0);if(r.top<window.innerHeight&&r.bottom>0&&r.left<window.innerWidth&&r.right>0&&o>0&&n>0&&o>=r.height*s){this.log("Price element already visible for test %s",t),i();return}const c=new IntersectionObserver(d=>{for(const u of d)if(u.isIntersecting&&u.intersectionRatio>=s){this.log("Price element entered viewport for test %s",t),c.disconnect(),i();break}},{threshold:s});c.observe(e)}debug(){const e=this.debugState();console.log(JSON.stringify(e,ee,2))}}(async function(){window.shopliftInstance||(window.shopliftInstance=new Ze("renee-rouleau-quiz.myshopify.com","https://app.shoplift.ai","https://events.shoplift.ai",false,false,false,{"sendEvents":false,"mode":"gtag"}
8,false,false,1000,[],[],null,false),await window.shopliftInstance.init())})();async function Qe(a,e,t,i){const s=Be({log:i});if(t)return i("[SUB-PREVIEW] A side — no overlay applied; widget renders naturally"),s;const r=a.widget.widgetType,o=e?j(e):null;let n=W(e),l=J(a,n),c=l.discountMap,d=l.maxDiscount;function u(){const f=W(e);f!==n&&(n=f,l=J(a,n),c=l.discountMap,d=l.maxDiscount,i(`[SUB-PREVIEW] scope refreshed currentProductId=${n??"n/a"}, maxDiscount=${d}`))}i(`[SUB-PREVIEW] side=B, currentProductId=${n??"n/a"}, maxDiscount=${d}`);function h(f){if(!e||!o)return null;const v=Z(o),g=v?o.get(v):void 0;return g?{formattedVariantPrice:G(g.priceInCents,e),formattedDiscounted:G(g.priceInCents*(1-f/100),e)}:null}function p(f){const v=Y(a,f);if(!v)return d;const g=D(a,"subscriptionInput"),P=g.length?g[0].selector:'input[name="rc_plan"]',A=v.querySelector(`${P}:checked`);if(A){const k=c[A.value];if(k!==void 0)return k}return d}function b(f){const v=D(a,"subscriptionDiscount");for(const g of v)if(g.selector.includes("badge")||g.selector.includes("__badge")){const P=f.querySelector(g.selector);P?.textContent&&!P.textContent.includes(`${d}%`)&&$(P,A=>N(A,d))}}function E(f,v){const g=h(v);if(!g)return;const P=D(a,"subscriptionCompareAt");for(const A of P){const k=f.querySelector(A.selector)||f.querySelector(`[part~="${A.selector}"]`);k?.textContent&&!k.textContent.includes(g.formattedVariantPrice)&&$(k,x=>/\d/.test(x)?g.formattedVariantPrice:x)}}function S(f,v){const g=h(v);if(!g)return;const P=D(a,"subscriptionPrice");for(const A of P){const k=f.querySelector(A.selector)||f.querySelector(`[part~="${A.selector}"]`);k?.textContent&&!k.textContent.includes(g.formattedDiscounted)&&$(k,x=>/\d/.test(x)?g.formattedDiscounted:x)}}function C(f){const v=D(a,"subscriptionInput"),g=v.length?v[0].selector:'input[name="rc_plan"]',P=D(a,"subscriptionPlanDiscount"),A=P.length?P[0].selector:".rc-plans-button__discount";for(const k of Array.from(f.querySelectorAll("label"))){const x=k.querySelector(g),R=k.querySelector(A);if(x&&R?.textContent){const O=c[x.value];if(O!==void 0){const V=R.textContent.match(/[\d.]+%/)?.[0];V&&V!==`${O}%`&&$(R,L=>N(L,O))}}}}function _(f){const v=f.querySelector("select");if(v)for(const g of Array.from(v.options)){const P=c[g.value];if(P!==void 0&&g.textContent){const A=g.textContent.match(/[\d.]+%/)?.[0];A&&A!==`${P}%`&&(g.textContent=N(g.textContent,P))}}}function T(f){const v=D(a,"onetimePrice");if(!v.length||!e||!o)return;const g=Z(o),P=g?o.get(g):void 0;if(!P)return;const A=G(P.priceInCents,e),k=D(a,"onetimeContainer"),x=k.length?k[0].selector:'[part~="rc-purchase-option__onetime"]',R=f.querySelector(x);if(R)for(const O of v){const V=R.querySelector(`[part~="${O.selector}"]`);V?.textContent&&!V.textContent.includes(A)&&$(V,L=>/\d/.test(L)?A:L)}}function m(f,v){const P=D(a,"subscriptionDiscount").filter(A=>A.selector.includes("benefit")||A.selector==="rc-benefits");for(const A of P){const k=f.querySelector(A.selector);if(k?.shadowRoot){for(const x of Array.from(k.shadowRoot.querySelectorAll("li")))if(x.textContent?.includes("Save")){const R=x.textContent.match(/[\d.]+%/)?.[0];R&&R!==`${v}%`&&$(x,O=>N(O,v))}}}}let y=!1;function w(){if(!y){y=!0;try{u();const f=B(a);if(!f)return;const v=p(f);b(f),E(f,v),S(f,v),T(f);const g=Y(a,f);g&&(r==="buttons"||r==="radio"?C(g):_(g)),m(f,v)}finally{y=!1}}}const I=pe({data:a,runUpdates:w});return function(){I(),s()}}const Xe=Object.freeze(Object.defineProperty({__proto__:null,subscriptionPreviewRender:Qe},Symbol.toStringTag,{value:"Module"}))})(); })("/", { suffix: "without-before-and-after", type: "product" }, "main", 137198436411, false)</script>
8
9<!-- End of Shoplift scripts --><link rel="icon" type="image/png" href="//www.reneerouleau.com/cdn/shop/files/RR_Secondary_Transparent.png?crop=center&height=32&v=1613658865&width=32"><title>
10      Skin Drink I.V.
11 &ndash; Renée Rouleau Professional Skin Care</title>
12
13    <meta name="google-site-verification" content="SmHeJ7nfzH4RaldOjBJlRLkk9RSBcoa0T37-KSsPVKM" />
14
15    <meta charset="utf-8">
16<meta http-equiv="X-UA-Compatible" content="IE=edge">
17<meta name="viewport" content="width=device-width,initial-scale=1">
18<meta name="theme-color" content="">
19<link rel="canonical" href="https://www.reneerouleau.com/products/skin-drink-i-v">
20<link rel="preconnect" href="https://cdn.shopify.com" crossorigin>
21
22<meta property="og:site_name" content="Renée Rouleau Professional Skin Care">
23<meta property="og:url" content="https://www.reneerouleau.com/products/skin-drink-i-v">
24<meta property="og:title" content="Skin Drink I.V.">
25<meta property="og:type" content="product">
26<meta property="og:description" content="An electrolyte-infused serum that floods thirsty skin cells with deep, lasting hydration."><meta property="og:image" content="https://www.reneerouleau.com/cdn/shop/files/preview_images/5f777c7351d04f9c8b5ebe90b2ceb713.thumbnail.0000000000.jpg?crop=center&height=630&v=1786999924&width=1200">
27  <meta property="og:image:secure_url" content="https://www.reneerouleau.com/cdn/shop/files/preview_images/5f777c7351d04f9c8b5ebe90b2ceb713.thumbnail.0000000000.jpg?crop=center&height=630&v=1786999924&width=1200">
28  <meta property="og:image:width" content="1200">
29  <meta property="og:image:height" content="630">
30  <meta property="og:image:alt" content="Skin Drink I.V.">
31<meta name="twitter:site" content="@ReneeRouleau"><meta name="twitter:card" content="summary_large_image">
32<meta name="twitter:title" content="Skin Drink I.V.">
33<meta name="twitter:description" content="An electrolyte-infused serum that floods thirsty skin cells with deep, lasting hydration."><meta name="twitter:image" content="https://www.reneerouleau.com/cdn/shop/files/preview_images/5f777c7351d04f9c8b5ebe90b2ceb713.thumbnail.0000000000.jpg?crop=center&height=630&v=1786999924&width=1200">
34  <meta name="twitter:image:alt" content="Skin Drink I.V.">
35  <meta name="description" content="An electrolyte-infused serum that floods thirsty skin cells with deep, lasting hydration.">
36
37
38
39    
39<script>window.performance && window.performance.mark && window.performance.mark('shopify.content_for_header.start');</script>
39<meta name="google-site-verification" content="93gaYyCmQjkJ3RQekDZH8GvEevVm9Ky2AU5hj-8jirA">
40<meta id="shopify-digital-wallet" name="shopify-digital-wallet" content="/15944825/digital_wallets/dialog">
41<meta id="in-context-paypal-metadata" data-shop-id="15944825" data-venmo-supported="true" data-environment="production" data-locale="en_US" data-paypal-v4="true" data-currency="USD">
42<link rel="ucp" href="/.well-known/ucp" version="2026-08-25"><link rel="buy" href="/cart/43374648328251:1?ucp/version=2026-08-25&amp;context/payment/0/handler=dev.shopify.shop_pay" payment="dev.shopify.shop_pay com.google.pay dev.shopify.card"><link rel="alternate" type="application/json+oembed" href="https://www.reneerouleau.com/products/skin-drink-i-v.oembed">
43<script async="async" src="/checkouts/internal/preloads.js?locale=en-US&default_configuration_id=2134736955"></script>
43
44<link rel="preconnect" href="https://shop.app" crossorigin="anonymous">
45<script async="async" src="https://shop.app/checkouts/internal/preloads.js?locale=en-US&default_configuration_id=2134736955&shop_id=15944825" crossorigin="anonymous"></script>
vendor: 1 bytes, line 45
45
46<script id="apple-pay-shop-capabilities" type="application/json">{"shopId":15944825,"countryCode":"US","currencyCode":"USD","merchantCapabilities":["supports3DS"],"merchantId":"gid:\/\/shopify\/Shop\/15944825","merchantName":"Renée Rouleau Professional Skin Care","requiredBillingContactFields":["postalAddress","email","phone"],"requiredShippingContactFields":["postalAddress","email","phone"],"shippingType":"shipping","supportedNetworks":["visa","masterCard","amex","discover","elo","jcb"],"total":{"type":"pending","label":"Renée Rouleau Professional Skin Care","amount":"1.00"},"shopifyPaymentsEnabled":true,"supportsSubscriptions":true}</script>
vendor: 1 bytes, line 46
46
47<script id="shopify-features" type="application/json">{"accessToken":"fa9f11679fe0e16784c8f6f3207aa666","betas":["rich-media-storefront-analytics"],"domain":"www.reneerouleau.com","predictiveSearch":true,"shopId":15944825,"locale":"en"}</script>
vendor: 1 bytes, line 47
47
48<script>var Shopify = Shopify || {};
49Shopify.shop = "renee-rouleau-quiz.myshopify.com";
50Shopify.locale = "en";
51Shopify.currency = {"active":"USD","rate":"1.0"};
52Shopify.country = "US";
53Shopify.theme = {"name":"Live Theme (Do Not Unpublish)","id":137198436411,"schema_name":"VBT","schema_version":"0.0.0","theme_store_id":null,"role":"main"};
54Shopify.theme.handle = "null";
55Shopify.theme.style = {"id":null,"handle":null};
56Shopify.cdnHost = "www.reneerouleau.com/cdn";
57Shopify.routes = Shopify.routes || {};
58Shopify.routes.root = "/";
59Shopify.shopJsCdnBaseUrl = "https://cdn.shopify.com/shopifycloud/shop-js";
60Shopify.SignInWithShop = Shopify.SignInWithShop || {};
61Shopify.SignInWithShop.User = Shopify.SignInWithShop.User || {};
62Shopify.SignInWithShop.User.recognized = false;</script>
vendor: 1 bytes, line 62
62
63<script type="module">!function(o){(o.Shopify=o.Shopify||{}).modules=!0}(window);</script>
vendor: 1 bytes, line 63
63
64<script>!function(o){function n(){var o=[];function n(){o.push(Array.prototype.slice.apply(arguments))}return n.q=o,n}var t=o.Shopify=o.Shopify||{};t.loadFeatures=n(),t.autoloadFeatures=n()}(window);</script>
vendor: 1 bytes, line 64
64
65<script>
66  window.ShopifyPay = window.ShopifyPay || {};
67  window.ShopifyPay.apiHost = "shop.app\/pay";
68  window.ShopifyPay.redirectState = null;
69</script>
vendor: 1 bytes, line 69
69
70<script>
71  window.Shopify = window.Shopify || {};
72  window.Shopify.SignInWithShop = window.Shopify.SignInWithShop || {};
73  window.Shopify.SignInWithShop.assetMetrics = { sampleRate: 0.25 };
74  window.Shopify.SignInWithShop.eligible = true;
75</script>
vendor: 1 bytes, line 75
75
76<script id="shop-js-analytics" type="application/json">{"pageType":"product"}</script>
vendor: 1 bytes, line 76
76
77<script defer="defer" async type="module" src="https://cdn.shopify.com/shopifycloud/shop-js/modules/v2/loader.init-shop-cart-sync.en.esm.js"></script>
vendor: 1 bytes, line 77
77
78<script type="module">
79  await import("https://cdn.shopify.com/shopifycloud/shop-js/modules/v2/loader.init-shop-cart-sync.en.esm.js");
80
81  window.Shopify.SignInWithShop?.initShopCartSync?.({"fedCMEnabled":true,"windoidEnabled":true});
82
83</script>
vendor: 1 bytes, line 83
83
84<script>
85  window.Shopify = window.Shopify || {};
86  if (!window.Shopify.featureAssets) window.Shopify.featureAssets = {};
87  window.Shopify.featureAssets['shop-js'] = {"avatar":["modules/v2/loader.avatar.en.esm.js"],"checkout-modal":["modules/v2/loader.checkout-modal.en.esm.js"],"init-customer-accounts-sign-up":["modules/v2/loader.init-customer-accounts-sign-up.en.esm.js"],"init-customer-accounts":["modules/v2/loader.init-customer-accounts.en.esm.js"],"init-fed-cm":["modules/v2/loader.init-fed-cm.en.esm.js"],"init-shop-cart-sync":["modules/v2/loader.init-shop-cart-sync.en.esm.js"],"init-shop-email-lookup-coordinator":["modules/v2/loader.init-shop-email-lookup-coordinator.en.esm.js"],"init-shop-for-new-customer-accounts":["modules/v2/loader.init-shop-for-new-customer-accounts.en.esm.js"],"init-shop-user-recognition":["modules/v2/loader.init-shop-user-recognition.en.esm.js"],"init-windoid":["modules/v2/loader.init-windoid.en.esm.js"],"lead-capture":["modules/v2/loader.lead-capture.en.esm.js"],"listener":["modules/v2/loader.listener.en.esm.js"],"pay-button":["modules/v2/loader.pay-button.en.esm.js"],"payment-terms":["modules/v2/loader.payment-terms.en.esm.js"],"shop-button":["modules/v2/loader.shop-button.en.esm.js"],"shop-cart-sync":["modules/v2/loader.shop-cart-sync.en.esm.js"],"shop-cash-offers":["modules/v2/loader.shop-cash-offers.en.esm.js"],"shop-follow-button":["modules/v2/loader.shop-follow-button.en.esm.js"],"shop-login-button":["modules/v2/loader.shop-login-button.en.esm.js"],"shop-login":["modules/v2/loader.shop-login.en.esm.js"],"shop-toast-manager":["modules/v2/loader.shop-toast-manager.en.esm.js"],"shop-user-recognition":["modules/v2/loader.shop-user-recognition.en.esm.js"]};
88</script>
vendor: 1 bytes, line 88
88
89<script>(function() {
90  var isLoaded = false;
91  function asyncLoad() {
92    if (isLoaded) return;
93    isLoaded = true;
94    var urls = ["https:\/\/static.rechargecdn.com\/assets\/js\/widget.min.js?shop=renee-rouleau-quiz.myshopify.com","https:\/\/config.gorgias.chat\/bundle-loader\/01GYCBZ3HHVHQMGDQKBPC92SNH?source=shopify1click\u0026shop=renee-rouleau-quiz.myshopify.com","https:\/\/static-us.afterpay.com\/shopify\/afterpay-attract\/afterpay-attract-widget.js?shop=renee-rouleau-quiz.myshopify.com","https:\/\/ecom-app.rakutenadvertising.io\/rakuten_advertising.js?shop=renee-rouleau-quiz.myshopify.com","https:\/\/tag.rmp.rakuten.com\/121787.ct.js?shop=renee-rouleau-quiz.myshopify.com","https:\/\/cdn.nfcube.com\/instafeed-48912c65f89bdfbe8bb0a15dbee18fe4.js?shop=renee-rouleau-quiz.myshopify.com","https:\/\/media.9gtb.com\/loader.js?g_cvt_id=24d30af1-fcec-4986-85c1-ae7d43e9d13a\u0026shop=renee-rouleau-quiz.myshopify.com","https:\/\/app.tailorhq.ai\/script\/Ryu45URBQcSpSek7IW-OYg.js?shop=renee-rouleau-quiz.myshopify.com","https:\/\/app.tailorhq.ai\/script\/Ryu45URBQcSpSek7IW-OYg.js?shop=renee-rouleau-quiz.myshopify.com"];
95    for (var i = 0; i < urls.length; i++) {
96      var s = document.createElement('script');
97      s.type = 'text/javascript';
98      s.async = true;
99      s.src = urls[i];
100      var x = document.getElementsByTagName('script')[0];
101      x.parentNode.insertBefore(s, x);
102    }
103  };
104  if(window.attachEvent) {
105    window.attachEvent('onload', asyncLoad);
106  } else {
107    window.addEventListener('load', asyncLoad, false);
108  }
109})();</script>
vendor: 1 bytes, line 109
109
110<script id="__st">var __st={"a":15944825,"offset":-18000,"reqid":"72569804-3df5-422b-86be-02e05837004d-1790275475","pageurl":"www.reneerouleau.com\/products\/skin-drink-i-v","u":"3effdcab21ad","p":"product","rtyp":"product","rid":7574678405179};</script>
vendor: 1 bytes, line 110
110
111<script>window.ShopifyPaypalV4VisibilityTracking = true;</script>
vendor: 1 bytes, line 111
111
112<script id="captcha-bootstrap">!function(){'use strict';const t='contact',e='account',n='new_comment',o=[[t,t],['blogs',n],['comments',n],[t,'customer']],c=[[e,'customer_login'],[e,'guest_login'],[e,'recover_customer_password'],[e,'create_customer']],r=t=>t.map((([t,e])=>`form[action*='/${t}']:not([data-nocaptcha='true']) input[name='form_type'][value='${e}']`)).join(','),a=t=>()=>t?[...document.querySelectorAll(t)].map((t=>t.form)):[];function s(){const t=[...o],e=r(t);return a(e)}const i='password',u='form_key',d=['recaptcha-v3-token','g-recaptcha-response','h-captcha-response',i],f=()=>{try{return window.sessionStorage}catch{return}},m='__shopify_v',_=t=>t.elements[u];function p(t,e,n=!1){try{const o=window.sessionStorage,c=JSON.parse(o.getItem(e)),{data:r}=function(t){const{data:e,action:n}=t;return t[m]||n?{data:e,action:n}:{data:t,action:n}}(c);for(const[e,n]of Object.entries(r))t.elements[e]&&(t.elements[e].value=n);n&&o.removeItem(e)}catch(o){console.error('form repopulation failed',{error:o})}}const l='form_type',E='cptcha';function T(t){t.dataset[E]=!0}const w=window,h=w.document,L='Shopify',v='ce_forms',y='captcha';let A=!1;((t,e)=>{const n=(g='f06e6c50-85a8-45c8-87d0-21a2b65856fe',I='https://cdn.shopify.com/shopifycloud/storefront-forms-hcaptcha/ce_storefront_forms_captcha_hcaptcha.v1.5.3.iife.js',D={infoText:'Protected by hCaptcha',privacyText:'Privacy',termsText:'Terms'},(t,e,n)=>{const o=w[L][v],c=o.bindForm;if(c)return c(t,g,e,D).then(n);var r;o.q.push([[t,g,e,D],n]),r=I,A||(h.body.append(Object.assign(h.createElement('script'),{id:'captcha-provider',async:!0,src:r})),A=!0)});var g,I,D;w[L]=w[L]||{},w[L][v]=w[L][v]||{},w[L][v].q=[],w[L][y]=w[L][y]||{},w[L][y].protect=function(t,e){n(t,void 0,e),T(t)},Object.freeze(w[L][y]),function(t,e,n,w,h,L){const[v,y,A,g]=function(t,e,n){const i=e?o:[],u=t?c:[],d=[...i,...u],f=r(d),m=r(i),_=r(d.filter((([t,e])=>n.includes(e))));return[a(f),a(m),a(_),s()]}(w,h,L),I=t=>{const e=t.target;return e instanceof HTMLFormElement?e:e&&e.form},D=t=>v().includes(t);t.addEventListener('submit',(t=>{const e=I(t);if(!e)return;const n=D(e)&&!e.dataset.hcaptchaBound&&!e.dataset.recaptchaBound,o=_(e),c=g().includes(e)&&(!o||!o.value);(n||c)&&t.preventDefault(),c&&!n&&(function(t){try{if(!f())return;!function(t){const e=f();if(!e)return;const n=_(t);if(!n)return;const o=n.value;o&&e.removeItem(o)}(t);const e=Array.from(Array(32),(()=>Math.random().toString(36)[2])).join('');!function(t,e){_(t)||t.append(Object.assign(document.createElement('input'),{type:'hidden',name:u})),t.elements[u].value=e}(t,e),function(t,e){const n=f();if(!n)return;const o=[...t.querySelectorAll(`input[type='${i}']`)].map((({name:t})=>t)),c=[...d,...o],r={};for(const[a,s]of new FormData(t).entries())c.includes(a)||(r[a]=s);n.setItem(e,JSON.stringify({[m]:1,action:t.action,data:r}))}(t,e)}catch(e){console.error('failed to persist form',e)}}(e),e.submit())}));const S=(t,e)=>{t&&!t.dataset[E]&&(n(t,e.some((e=>e===t))),T(t))};for(const o of['focusin','change'])t.addEventListener(o,(t=>{const e=I(t);D(e)&&S(e,y())}));const B=e.get('form_key'),M=e.get(l),P=B&&M;t.addEventListener('DOMContentLoaded',(()=>{const t=y();if(P)for(const e of t)e.elements[l].value===M&&p(e,B);[...new Set([...A(),...v().filter((t=>'true'===t.dataset.shopifyCaptcha))])].forEach((e=>S(e,t)))}))}(h,new URLSearchParams(w.location.search),n,t,e,['guest_login'])})(!0,!0)}();</script>
vendor: 1 bytes, line 112
112
113<script integrity="sha256-JjoPp5ZfB1sSAs5SQaol1x1GgvveM+BgmRzyDexInEQ=" data-source-attribution="shopify.loadfeatures" defer="defer" src="//www.reneerouleau.com/cdn/shopifycloud/storefront/assets/storefront/load_feature-1bd60354.js" crossorigin="anonymous"></script>
vendor: 1 bytes, line 113
113
114<script>(function () {var userAgent = navigator.userAgent;var platform = navigator.platform;var maxTouchPoints = navigator.maxTouchPoints || 0;var isIOS = /iPad|iPhone|iPod/.test(platform) || (platform === 'MacIntel' && maxTouchPoints > 1);var isMacSafari = platform.indexOf('Mac') === 0 && /Safari/.test(userAgent) && !/Chrome|Chromium|CriOS|FxiOS|Edg|OPR|Android/.test(userAgent);var isAppleSafari = isIOS || isMacSafari;if (isAppleSafari) {fetch('/sf_private_access_tokens' + location.search).catch(function () {});}function browserMajorVersion(pattern) {var match = userAgent.match(pattern);return match ? parseInt(match[1], 10) : null;}function shouldLoadAutosizesPolyfill() {if (!window.PerformanceObserver?.supportedEntryTypes?.includes('paint')) {return false;}var chromeVersion = browserMajorVersion(/Chrome\/(\d+)/);if (chromeVersion !== null) {return chromeVersion < 126;}var firefoxVersion = browserMajorVersion(/Firefox\/(\d+)/);if (firefoxVersion !== null) {return firefoxVersion < 150;}var safariVersion = isAppleSafari ? browserMajorVersion(/Version\/(\d+).*Safari\//) : null;if (safariVersion !== null) {return safariVersion < 27;}return true;}if (shouldLoadAutosizesPolyfill()) {var autosizesScript = document.createElement('script');autosizesScript.async = true;autosizesScript.crossOrigin = 'anonymous';autosizesScript.src = "//www.reneerouleau.com/cdn/shopifycloud/storefront/assets/storefront/autosizes-84416378.js";(document.head || document.documentElement).appendChild(autosizesScript);}window.ShopifyAnalytics = window.ShopifyAnalytics || {};window.ShopifyAnalytics.performance = window.ShopifyAnalytics.performance || {};(function () {var LONG_FRAME_THRESHOLD = 50;var longAnimationFrames = [];var activeRafId = null;function collectLongFrames() {var previousTime = null;function rafMonitor(now) {if (activeRafId === null) {return;}var delta = now - previousTime;if (delta > LONG_FRAME_THRESHOLD) {longAnimationFrames.push({startTime: previousTime,endTime: now,});}previousTime = now;activeRafId = requestAnimationFrame(rafMonitor);}previousTime = performance.now();activeRafId = requestAnimationFrame(rafMonitor);}if (!window.PerformanceObserver?.supportedEntryTypes?.includes('long-animation-frame')) {collectLongFrames();var timeoutId = setTimeout(function () {cancelAnimationFrame(activeRafId);}, 10000);window.ShopifyAnalytics.performance.getLongAnimationFrames = function (stopCollection) {if (stopCollection === undefined) {stopCollection = false;}if (stopCollection) {clearTimeout(timeoutId);cancelAnimationFrame(activeRafId);}return longAnimationFrames;};}})();})();</script>
114<script crossorigin="anonymous" defer="defer" src="//www.reneerouleau.com/cdn/shopifycloud/storefront/assets/shopify_pay/storefront-616277c7.js?v=20250812"></script>
vendor: 1 bytes, line 114
114
115<script id="shopify-origin-trials" async="async" integrity="sha256-qJbe/jEZBHtr5W/BlA2cKAz3vkXu6vJQyLjgvgCC86g=" src="//cdn.shopify.com/shopifycloud/storefront/assets/storefront/origin_trials-318ab40a.js" crossorigin="anonymous" onload="window.__shopifyOriginTrialsDone = true" onerror="window.__shopifyOriginTrialsDone = true"></script>
vendor: 1 bytes, line 115
115
116<script>
117  window.Shopify = window.Shopify || {};
118  window.Shopify.MCP = window.Shopify.MCP || {};
119  window.Shopify.MCP.enabled = true;
120  window.Shopify.MCP.shop = "renee-rouleau-quiz.myshopify.com";
121  window.Shopify.MCP.mcpEndpoint = "https:\/\/www.reneerouleau.com\/api\/mcp";
122  window.Shopify.MCP.tools = [{"name":"search_shop_policies_and_faqs","description":"Used to get facts about the stores policies, products, or services.\nSome examples of questions you can ask are:\n  - What is your return policy?\n  - What is your shipping policy?\n  - What is your phone number?\n  - What are your hours of operation?\"\n","inputSchema":{"$schema":"https:\/\/json-schema.org\/draft\/2020-12\/schema","type":"object","properties":{"query":{"type":"string","description":"A natural language query."},"context":{"type":"string","description":"Additional information about the request such as user demographics, mood, location, or other relevant details that could help in tailoring the response appropriately."}},"required":["query"]}}];
123</script>
vendor: 1 bytes, line 123
123
124<script>(()=>{var d="shopify:webmcp_adapter_loaded",n=Symbol.for("shopify.webmcp_adapter_loading");function s(c,a,{win:r=window,doc:o=document}={}){function p(){try{return r.localStorage.getItem(d)==="true"}catch{return!1}}function l(){try{r.localStorage.setItem(d,"true")}catch{}}function u(){return typeof(o.modelContext||r.navigator?.modelContext)?.registerTool=="function"}function f(){if(r[n]||!u())return;let t=o.head||o.getElementsByTagName("head")[0];if(!t)return;let e=o.createElement("script");e.type="module",e.crossOrigin="anonymous",a&&(e.integrity=a),e.src=c,e.addEventListener("load",l,{once:!0}),e.addEventListener("error",()=>{r[n]=!1},{once:!0}),t.appendChild(e),r[n]=!0}function _(t){let e=o.getElementById("shopify-origin-trials");if(!e||r.__shopifyOriginTrialsDone){t();return}e.addEventListener("load",t,{once:!0}),e.addEventListener("error",t,{once:!0})}function i(){_(()=>r.setTimeout(f,0))}function m(){o.addEventListener("DOMContentLoaded",i,{once:!0})}p()?i():m()}s("\/\/www.reneerouleau.com\/cdn\/shopifycloud\/storefront\/assets\/storefront\/webmcp-c6b62ece.js","sha256-ke4DDuBjdvea3vxLWxHc9E9nq8zihuG4IfYEGbb77ys=");})();
125</script>
vendor: 1 bytes, line 125
125
126<script data-source-attribution="shopify.dynamic_checkout.dynamic.init">var Shopify=Shopify||{};Shopify.PaymentButton=Shopify.PaymentButton||{isStorefrontPortableWallets:!0,init:function(){window.Shopify.PaymentButton.init=function(){};var t=document.createElement("script");t.src="https://www.reneerouleau.com/cdn/shopifycloud/portable-wallets/latest/portable-wallets.en.js",t.type="module",document.head.appendChild(t)}};
127</script>
vendor: 1 bytes, line 127
127
128<script data-source-attribution="shopify.dynamic_checkout.buyer_consent">
129  function portableWalletsHideBuyerConsent(e){var t=document.getElementById("shopify-buyer-consent"),n=document.getElementById("shopify-subscription-policy-button");t&&n&&(t.classList.add("hidden"),t.setAttribute("aria-hidden","true"),n.removeEventListener("click",e))}function portableWalletsShowBuyerConsent(e){var t=document.getElementById("shopify-buyer-consent"),n=document.getElementById("shopify-subscription-policy-button");t&&n&&(t.classList.remove("hidden"),t.removeAttribute("aria-hidden"),n.addEventListener("click",e))}window.Shopify?.PaymentButton&&(window.Shopify.PaymentButton.hideBuyerConsent=portableWalletsHideBuyerConsent,window.Shopify.PaymentButton.showBuyerConsent=portableWalletsShowBuyerConsent);
130</script>
vendor: 1 bytes, line 130
130
131<script data-source-attribution="shopify.dynamic_checkout.cart.bootstrap">document.addEventListener("DOMContentLoaded",(function(){function t(){return document.querySelector("shopify-accelerated-checkout-cart, shopify-accelerated-checkout")}if(t())Shopify.PaymentButton.init();else{new MutationObserver((function(e,n){t()&&(Shopify.PaymentButton.init(),n.disconnect())})).observe(document.body,{childList:!0,subtree:!0})}}));
132</script>
132
133<link id="shopify-accelerated-checkout-styles" rel="stylesheet" media="screen" href="https://www.reneerouleau.com/cdn/shopifycloud/portable-wallets/latest/accelerated-checkout-backwards-compat.css" crossorigin="anonymous">
134<style id="shopify-accelerated-checkout-cart">
135        #shopify-buyer-consent {
136  margin-top: 1em;
137  display: inline-block;
138  width: 100%;
139}
140
141#shopify-buyer-consent.hidden {
142  display: none;
143}
144
145#shopify-subscription-policy-button {
146  background: none;
147  border: none;
148  padding: 0;
149  text-decoration: underline;
150  font-size: inherit;
151  cursor: pointer;
152}
153
154#shopify-subscription-policy-button::before {
155  box-shadow: none;
156}
157
158      </style>
159<link rel="stylesheet" media="screen" href="//www.reneerouleau.com/cdn/shop/t/118/compiled_assets/styles.css?v=173793283236274387821789657246">
160<script id="shopify-cfh-end">window.performance && window.performance.mark && window.performance.mark('shopify.content_for_header.end');</script>
160
161
162    <style data-shopify>
163  @font-face {
164    font-family: 'Canela Condensed';
165    src: url('//www.reneerouleau.com/cdn/shop/t/118/assets/CanelaCondensed-Medium-Web.woff2?v=84879445097741217481768493145') format('woff2'),
166         url('//www.reneerouleau.com/cdn/shop/t/118/assets/CanelaCondensed-Medium-Web.woff?v=17348787779710999701768493145') format('woff');
167    font-weight: 500;
168    font-style: normal;
169    font-display: swap;
170  }
171
172  @font-face {
173    font-family: 'Canela Condensed';
174    src: url('//www.reneerouleau.com/cdn/shop/t/118/assets/CanelaCondensed-MediumItalic-Web.woff2?v=80247116199027130191768493146') format('woff2'),
175         url('//www.reneerouleau.com/cdn/shop/t/118/assets/CanelaCondensed-MediumItalic-Web.woff?v=133086399374835448251768493146') format('woff');
176    font-weight: 500;
177    font-style: italic;
178    font-display: swap;
179  }
180
181  @font-face {
182    font-family: 'Geologica';
183    src: url('//www.reneerouleau.com/cdn/shop/t/118/assets/geologica-v4-cyrillic_cyrillic-ext_latin_latin-ext-200.woff2?v=154168406736679651551768493147') format('woff2');
184    font-weight: 200;
185    font-style: normal;
186    font-display: swap;
187  }
188
189  @font-face {
190    font-family: 'Geologica';
191    src: url('//www.reneerouleau.com/cdn/shop/t/118/assets/geologica-v4-cyrillic_cyrillic-ext_latin_latin-ext-600.woff2?v=37185942091953525991768493147') format('woff2');
192    font-weight: 600;
193    font-style: normal;
194    font-display: swap;
195  }
196
197  :root {
198
199  }
200</style>
201
202
203    <link rel="preload" as="font" href="//www.reneerouleau.com/cdn/shop/t/118/assets/CanelaCondensed-Medium-Web.woff2?v=84879445097741217481768493145" type="font/woff2" crossorigin>
204    <link rel="preload" as="font" href="//www.reneerouleau.com/cdn/shop/t/118/assets/geologica-v4-cyrillic_cyrillic-ext_latin_latin-ext-200.woff2?v=154168406736679651551768493147" type="font/woff2" crossorigin>
205
206    <link rel="preload" as="stylesheet" href="//www.reneerouleau.com/cdn/shop/t/118/assets/global.vbt.css?v=98226878884724617251789013076">
207    <link href="//www.reneerouleau.com/cdn/shop/t/118/assets/global.vbt.css?v=98226878884724617251789013076" rel="stylesheet" type="text/css" media="all" />
208
209<link rel="preload" as="script" href="//www.reneerouleau.com/cdn/shop/t/118/assets/global.vbt.js?v=113349650943796909481789681648">
210    
210<script type="module" src="//www.reneerouleau.com/cdn/shop/t/118/assets/global.vbt.js?v=113349650943796909481789681648"></script>
210
211
212    
212<script>
213      document.documentElement.className = document.documentElement.className.replace('no-js', 'js');
214      if (Shopify.designMode) { document.documentElement.classList.add('shopify-design-mode'); }
215    </script>
215
216</script>
216
217</script>
217
218<!-- Begin Tailor AI Script -->
219<script src="https://app.tailorhq.ai/script/Ryu45URBQcSpSek7IW-OYg.js" async></script>
219
220<!-- End Tailor AI Script -->
221
222  <!-- BEGIN app block: shopify://apps/pandectes-gdpr/blocks/banner/58c0baa2-6cc1-480c-9ea6-38d6d559556a -->
223
224  
225    
226      <!-- TCF is active, scripts are loaded above -->
227      
228        
228<script>
229          if (!window.PandectesRulesSettings) {
230            window.PandectesRulesSettings = {"store":{"id":15944825,"adminMode":false,"headless":false,"storefrontRootDomain":"","checkoutRootDomain":"","storefrontAccessToken":""},"banner":{"cookiesBlockedByDefault":"0","hybridStrict":false,"isActive":true},"geolocation":{"brOnly":false,"caOnly":false,"chOnly":false,"euOnly":false,"jpOnly":false,"thOnly":false,"canadaOnly":false,"globalVisibility":true},"blocker":{"isActive":false,"googleConsentMode":{"isActive":true,"id":"","analyticsId":"","adwordsId":"","adStorageCategory":4,"analyticsStorageCategory":2,"functionalityStorageCategory":1,"personalizationStorageCategory":1,"securityStorageCategory":0,"customEvent":true,"redactData":true,"urlPassthrough":false,"dataLayerProperty":"dataLayer","waitForUpdate":0,"useNativeChannel":true},"facebookPixel":{"isActive":false,"id":"","ldu":false},"microsoft":{},"rakuten":{"isActive":true,"cmp":true,"ccpa":true},"gpcIsActive":false,"klaviyoIsActive":false,"defaultBlocked":0,"patterns":{"whiteList":[],"blackList":{"1":[],"2":[],"4":[],"8":[]},"iframesWhiteList":[],"iframesBlackList":{"1":[],"2":[],"4":[],"8":[]},"beaconsWhiteList":[],"beaconsBlackList":{"1":[],"2":[],"4":[],"8":[]}}}};
231            const rulesScript = document.createElement('script');
232            window.PandectesRulesSettings.auto = true;
233            rulesScript.src = "https://cdn.shopify.com/extensions/01a0d309-5aa0-76cf-9f48-2a42b2760403/gdpr-cookie-consent-411/assets/pandectes-rules.js";
234            const firstChild = document.head.firstChild;
235            document.head.insertBefore(rulesScript, firstChild);
236          }
237        </script>
237
238      
239      
239<script>
240        
241          window.PandectesSettings = {"store":{"id":15944825,"plan":"plus","theme":"220116 -  [Okendo Reviews] - final","primaryLocale":"en","adminMode":false,"headless":false,"storefrontRootDomain":"","checkoutRootDomain":"","storefrontAccessToken":""},"tsPublished":1750104541,"declaration":{"showPurpose":false,"showProvider":false,"declIntroText":"We use cookies to optimize website functionality, analyze the performance, and provide personalized experience to you. Some cookies are essential to make the website operate and function correctly. Those cookies cannot be disabled. In this window you can manage your preference of cookies.","showDateGenerated":true},"language":{"unpublished":[],"languageMode":"Single","fallbackLanguage":"en","languageDetection":"browser","languagesSupported":[]},"texts":{"managed":{"headerText":{"en":"We respect your privacy"},"consentText":{"en":"We've got cookies! Just like most websites, ReneeRouleau.com uses cookies to provide essential functionality and personalize your experience both on-site and off-site in the form of account functions, content, tools, and, yes, advertisements. By clicking \"Accept\", you are providing consent for us to do so. Please note that if you do not provide consent, the website may not function properly. After consent is provided, you can request deletion of your data by emailing [email protected] or visiting your Account page."},"linkText":{"en":"Learn more"},"imprintText":{"en":"Imprint"},"googleLinkText":{"en":"Google's Privacy Terms"},"allowButtonText":{"en":"Accept"},"denyButtonText":{"en":"Decline"},"dismissButtonText":{"en":"Ok"},"leaveSiteButtonText":{"en":"Leave this site"},"preferencesButtonText":{"en":"Preferences"},"cookiePolicyText":{"en":"Cookie policy"},"preferencesPopupTitleText":{"en":"Manage consent preferences"},"preferencesPopupIntroText":{"en":"We use cookies to optimize website functionality, analyze the performance, and provide personalized experience to you. Some cookies are essential to make the website operate and function correctly. Those cookies cannot be disabled. In this window you can manage your preference of cookies."},"preferencesPopupSaveButtonText":{"en":"Save preferences"},"preferencesPopupCloseButtonText":{"en":"Close"},"preferencesPopupAcceptAllButtonText":{"en":"Accept all"},"preferencesPopupRejectAllButtonText":{"en":"Reject all"},"cookiesDetailsText":{"en":"Cookies details"},"preferencesPopupAlwaysAllowedText":{"en":"Always allowed"},"accessSectionParagraphText":{"en":"You have the right to request access to your data at any time."},"accessSectionTitleText":{"en":"Data portability"},"accessSectionAccountInfoActionText":{"en":"Personal data"},"accessSectionDownloadReportActionText":{"en":"Request export"},"accessSectionGDPRRequestsActionText":{"en":"Data subject requests"},"accessSectionOrdersRecordsActionText":{"en":"Orders"},"rectificationSectionParagraphText":{"en":"You have the right to request your data to be updated whenever you think it is appropriate."},"rectificationSectionTitleText":{"en":"Data Rectification"},"rectificationCommentPlaceholder":{"en":"Describe what you want to be updated"},"rectificationCommentValidationError":{"en":"Comment is required"},"rectificationSectionEditAccountActionText":{"en":"Request an update"},"erasureSectionTitleText":{"en":"Right to be forgotten"},"erasureSectionParagraphText":{"en":"You have the right to ask all your data to be erased. After that, you will no longer be able to access your account."},"erasureSectionRequestDeletionActionText":{"en":"Request personal data deletion"},"consentDate":{"en":"Consent date"},"consentId":{"en":"Consent ID"},"consentSectionChangeConsentActionText":{"en":"Change consent preference"},"consentSectionConsentedText":{"en":"You consented to the cookies policy of this website on"},"consentSectionNoConsentText":{"en":"You have not consented to the cookies policy of this website."},"consentSectionTitleText":{"en":"Your cookie consent"},"consentStatus":{"en":"Consent preference"},"confirmationFailureMessage":{"en":"Your request was not verified. Please try again and if problem persists, contact store owner for assistance"},"confirmationFailureTitle":{"en":"A problem occurred"},"confirmationSuccessMessage":{"en":"We will soon get back to you as to your request."},"confirmationSuccessTitle":{"en":"Your request is verified"},"guestsSupportEmailFailureMessage":{"en":"Your request was not submitted. Please try again and if problem persists, contact store owner for assistance."},"guestsSupportEmailFailureTitle":{"en":"A problem occurred"},"guestsSupportEmailPlaceholder":{"en":"E-mail address"},"guestsSupportEmailSuccessMessage":{"en":"If you are registered as a customer of this store, you will soon receive an email with instructions on how to proceed."}
241,"guestsSupportEmailSuccessTitle":{"en":"Thank you for your request"},"guestsSupportEmailValidationError":{"en":"Email is not valid"},"guestsSupportInfoText":{"en":"Please login with your customer account to further proceed."},"submitButton":{"en":"Submit"},"submittingButton":{"en":"Submitting..."},"cancelButton":{"en":"Cancel"},"declIntroText":{"en":"We use cookies to optimize website functionality, analyze the performance, and provide personalized experience to you. Some cookies are essential to make the website operate and function correctly. Those cookies cannot be disabled. In this window you can manage your preference of cookies."},"declName":{"en":"Name"},"declPurpose":{"en":"Purpose"},"declType":{"en":"Type"},"declRetention":{"en":"Retention"},"declProvider":{"en":"Provider"},"declFirstParty":{"en":"First-party"},"declThirdParty":{"en":"Third-party"},"declSeconds":{"en":"seconds"},"declMinutes":{"en":"minutes"},"declHours":{"en":"hours"},"declDays":{"en":"days"},"declMonths":{"en":"months"},"declYears":{"en":"years"},"declSession":{"en":"Session"},"declDomain":{"en":"Domain"},"declPath":{"en":"Path"}}
241,"categories":{"strictlyNecessaryCookiesTitleText":{"en":"Strictly necessary cookies"},"strictlyNecessaryCookiesDescriptionText":{"en":"These cookies are essential in order to enable you to move around the website and use its features, such as accessing secure areas of the website. The website cannot function properly without these cookies."},"functionalityCookiesTitleText":{"en":"Functional cookies"},"functionalityCookiesDescriptionText":{"en":"These cookies enable the site to provide enhanced functionality and personalisation. They may be set by us or by third party providers whose services we have added to our pages. If you do not allow these cookies then some or all of these services may not function properly."},"performanceCookiesTitleText":{"en":"Performance cookies"},"performanceCookiesDescriptionText":{"en":"These cookies enable us to monitor and improve the performance of our website. For example, they allow us to count visits, identify traffic sources and see which parts of the site are most popular."},"targetingCookiesTitleText":{"en":"Targeting cookies"},"targetingCookiesDescriptionText":{"en":"These cookies may be set through our site by our advertising partners. They may be used by those companies to build a profile of your interests and show you relevant adverts on other sites.    They do not store directly personal information, but are based on uniquely identifying your browser and internet device. If you do not allow these cookies, you will experience less targeted advertising."},"unclassifiedCookiesTitleText":{"en":"Unclassified cookies"},"unclassifiedCookiesDescriptionText":{"en":"Unclassified cookies are cookies that we are in the process of classifying, together with the providers of individual cookies."}},"auto":{}},"library":{"previewMode":false,"fadeInTimeout":0,"defaultBlocked":0,"showLink":true,"showImprintLink":false,"showGoogleLink":false,"enabled":true,"cookie":{"expiryDays":365,"secure":true,"domain":""},"dismissOnScroll":false,"dismissOnWindowClick":false,"dismissOnTimeout":false,"palette":{"popup":{"background":"#0000FF","backgroundForCalculations":{"a":1,"b":255,"g":0,"r":0},"text":"#FFFFFF"},"button":{"background":"transparent","backgroundForCalculations":{"a":1,"b":252,"g":122,"r":35},"text":"#FFFFFF","textForCalculation":{"a":1,"b":255,"g":255,"r":255},"border":"#FFFFFF"}},"content":{"href":"https://renee-rouleau-quiz.myshopify.com/policies/privacy-policy","imprintHref":"/","close":"&#10005;","target":"_blank","logo":""},"window":"<div role=\"dialog\" aria-label=\"cookieconsent\" aria-describedby=\"cookieconsent:desc\" id=\"pandectes-banner\" class=\"cc-window-wrapper cc-bottom-wrapper\"><div class=\"pd-cookie-banner-window cc-window {{classes}}\"><!--googleoff: all-->{{children}}<!--googleon: all--></div></div>","compliance":{"custom":"<div class=\"cc-compliance cc-highlight\">{{preferences}}{{allow}}{{deny}}</div>"},"type":"custom","layouts":{"basic":"{{messagelink}}{{compliance}}{{close}}"},"position":"bottom","theme":"wired","revokable":false,"animateRevokable":false,"revokableReset":false,"revokableLogoUrl":"https://renee-rouleau-quiz.myshopify.com/cdn/shop/files/pandectes-reopen-logo.png","revokablePlacement":"bottom-left","revokableMarginHorizontal":15,"revokableMarginVertical":15,"static":false,"autoAttach":true,"hasTransition":true,"blacklistPage":[""],"elements":{"close":"<button aria-label=\"Close cookie banner\" type=\"button\" class=\"cc-close\">{{close}}</button>","dismiss":"<button type=\"button\" class=\"cc-btn cc-btn-decision cc-dismiss\">{{dismiss}}</button>","allow":"<button type=\"button\" class=\"cc-btn cc-btn-decision cc-allow\">{{allow}}</button>","deny":"<button type=\"button\" class=\"cc-btn cc-btn-decision cc-deny\">{{deny}}</button>","preferences":"<button type=\"button\" class=\"cc-btn cc-settings\" onclick=\"Pandectes.fn.openPreferences()\">{{preferences}}</button>"}},"geolocation":{"brOnly":false,"caOnly":false,"chOnly":false,"euOnly":false,"jpOnly":false,"thOnly":false,"canadaOnly":false,"globalVisibility":true},"dsr":{"guestsSupport":true,"accessSectionDownloadReportAuto":false},"banner":{"resetTs":1704389009,"extraCss":"        .cc-banner-logo {max-width: 24em!important;}    @media(min-width: 768px) {.cc-window.cc-floating{max-width: 24em!important;width: 24em!important;}}    .cc-message, .pd-cookie-banner-window .cc-header, .cc-logo {text-align: left}    .cc-window-wrapper{z-index: 2147483647;}    .cc-window{z-index: 2147483647;font-family: inherit;}    .pd-cookie-banner-window .cc-header{font-family: inherit;}    .pd-cp-ui{font-family: inherit; background-color: #0000FF;color:#FFFFFF;}    button.pd-cp-btn, a.pd-cp-btn{}    input + .pd-cp-preferences-slider{background-color: rgba(255, 255, 255, 0.3)}    .pd-cp-scrolling-section::-webkit-scrollbar{background-color: rgba(255, 255, 255, 0.3)}    input:checked + .pd-cp-preferences-slider{background-color: rgba(255, 255, 255, 1)}    .pd-cp-scrolling-section::-webkit-scrollbar-thumb {background-color: rgba(255, 255, 255, 1)}    .pd-cp-ui-close{color:#FFFFFF;}    .pd-cp-preferences-slider:before{background-color: #0000FF}    .pd-cp-title:before {border-color: #FFFFFF!important}    .pd-cp-preferences-slider{background-color:#FFFFFF}    .pd-cp-toggle{color:#FFFFFF!important}    @media(max-width:699px) {.pd-cp-ui-close-top svg {fill: #FFFFFF}}    .pd-cp-toggle:hover,.pd-cp-toggle:visited,.pd-cp-toggle:active{color:#FFFFFF!important}    .pd-cookie-banner-window {box-shadow: 0 0 18px rgb(0 0 0 / 20%);}  ","customJavascript":{},"showPoweredBy":false,"logoHeight":40,"hybridStrict":false,"cookiesBlockedByDefault":"0","isActive":true,"implicitSavePreferences":true,"cookieIcon":false,"blockBots":false,"showCookiesDetails":true,"hasTransition":true,"blockingPage":false,"showOnlyLandingPage":false,"leaveSiteUrl":"https://www.google.com","linkRespectStoreLang":false},"cookies":{"0":[{"name":"keep_alive","type":"http","domain":"www.reneerouleau.com","path":"/","provider":"Shopify","firstParty":true,"retention":"30 minute(s)","expires":30,"unit":"declMinutes","purpose":{"en":"Used in connection with buyer localization."}},{"name":"secure_customer_sig","type":"http","domain":"www.reneerouleau.com","path":"/","provider":"Shopify","firstParty":true,"retention":"1 year(s)","expires":1,"unit":"declYears","purpose":{"en":"Used in connection with customer login."}},{"name":"localization","type":"http","domain":"www.reneerouleau.com","path":"/","provider":"Shopify","firstParty":true,"retention":"1 year(s)","expires":1,"unit":"declYears","purpose":{"en":"Shopify store localization"}},{"name":"cart_currency","type":"http","domain":"www.reneerouleau.com","path":"/","provider":"Shopify","firstParty":true,"retention":"2 ","expires":2,"unit":"declSession","purpose":{"en":"The cookie is necessary for the secure checkout and payment function on the website. This function is provided by shopify.com."}},{"name":"shopify_pay_redirect","type":"http","domain":"www.reneerouleau.com","path":"/","provider":"Shopify","firstParty":true,"retention":"1 hour(s)","expires":1,"unit":"declHours","purpose":{"en":"The cookie is necessary for the secure checkout and payment function on the website. This function is provided by shopify.com."}},{"name":"_cmp_a","type":"http","domain":".reneerouleau.com","path":"/","provider":"Shopify","firstParty":false,"retention":"1 day(s)","expires":1,"unit":"declDays","purpose":{"en":"Used for managing customer privacy settings."}},{"name":"cookietest","type":"http","domain":"www.reneerouleau.com","path":"/","provider":"Shopify","firstParty":true,"retention":"Session","expires":1,"unit":"declSeconds","purpose":{"en":"Used to ensure our systems are working correctly."}},{"name":"_secure_session_id","type":"http","domain":"www.reneerouleau.com","path":"/","provider":"Shopify","firstParty":true,"retention":"1 month(s)","expires":1,"unit":"declMonths","purpose":{"en":"Used in connection with navigation through a storefront."}}],"1":[{"name":"_pinterest_ct_ua","type":"http","domain":".ct.pinterest.com","path":"/","provider":"Pinterest","firstParty":false,"retention":"1 year(s)","expires":1,"unit":"declYears","purpose":{"en":"Used to group actions across pages."}},{"name":"_hjSessionUser_1139632","type":"http","domain":".reneerouleau.com","path":"/","provider":"Hotjar","firstParty":false,"retention":"1 year(s)","expires":1,"unit":"declYears","purpose":{"en":""}},{"name":"_hjSession_1139632","type":"http","domain":".reneerouleau.com","path":"/","provider":"Hotjar","firstParty":false,"retention":"30 minute(s)","expires":30,"unit":"declMinutes","purpose":{"en":""}}],"2":[{"name":"_shopify_y","type":"http","domain":".reneerouleau.com","path":"/","provider":"Shopify","firstParty":false,"retention":"1 year(s)","expires":1,"unit":"declYears","purpose":{"en":"Shopify analytics."}}
241,{"name":"_shopify_s","type":"http","domain":".reneerouleau.com","path":"/","provider":"Shopify","firstParty":false,"retention":"30 minute(s)","expires":30,"unit":"declMinutes","purpose":{"en":"Shopify analytics."}},{"name":"_orig_referrer","type":"http","domain":".reneerouleau.com","path":"/","provider":"Shopify","firstParty":false,"retention":"2 ","expires":2,"unit":"declSession","purpose":{"en":"Tracks landing pages."}},{"name":"_landing_page","type":"http","domain":".reneerouleau.com","path":"/","provider":"Shopify","firstParty":false,"retention":"2 ","expires":2,"unit":"declSession","purpose":{"en":"Tracks landing pages."}},{"name":"_shopify_sa_t","type":"http","domain":".reneerouleau.com","path":"/","provider":"Shopify","firstParty":false,"retention":"30 minute(s)","expires":30,"unit":"declMinutes","purpose":{"en":"Shopify analytics relating to marketing & referrals."}},{"name":"_shopify_sa_p","type":"http","domain":".reneerouleau.com","path":"/","provider":"Shopify","firstParty":false,"retention":"30 minute(s)","expires":30,"unit":"declMinutes","purpose":{"en":"Shopify analytics relating to marketing & referrals."}},{"name":"_gat","type":"http","domain":".reneerouleau.com","path":"/","provider":"Google","firstParty":false,"retention":"1 minute(s)","expires":1,"unit":"declMinutes","purpose":{"en":"Cookie is placed by Google Analytics to filter requests from bots."}},{"name":"_gid","type":"http","domain":".reneerouleau.com","path":"/","provider":"Google","firstParty":false,"retention":"1 day(s)","expires":1,"unit":"declDays","purpose":{"en":"Cookie is placed by Google Analytics to count and track pageviews."}},{"name":"_ga","type":"http","domain":".reneerouleau.com","path":"/","provider":"Google","firstParty":false,"retention":"1 year(s)","expires":1,"unit":"declYears","purpose":{"en":"Cookie is set by Google Analytics with unknown functionality"}},{"name":"_shopify_d","type":"http","domain":"com","path":"/","provider":"Shopify","firstParty":false,"retention":"Session","expires":1,"unit":"declSeconds","purpose":{"en":"Shopify analytics."}},{"name":"_shopify_d","type":"http","domain":"reneerouleau.com","path":"/","provider":"Shopify","firstParty":false,"retention":"Session","expires":1,"unit":"declSeconds","purpose":{"en":"Shopify analytics."}},{"name":"_gat_UA-27161702-1","type":"http","domain":".reneerouleau.com","path":"/","provider":"Google","firstParty":false,"retention":"1 minute(s)","expires":1,"unit":"declMinutes","purpose":{"en":""}},{"name":"_ga_4KDC0M061F","type":"http","domain":".reneerouleau.com","path":"/","provider":"Google","firstParty":false,"retention":"1 year(s)","expires":1,"unit":"declYears","purpose":{"en":""}},{"name":"_ga_8VM2XXTRNV","type":"http","domain":".reneerouleau.com","path":"/","provider":"Google","firstParty":false,"retention":"1 year(s)","expires":1,"unit":"declYears","purpose":{"en":""}}],"4":[{"name":"_gcl_au","type":"http","domain":".reneerouleau.com","path":"/","provider":"Google","firstParty":false,"retention":"3 month(s)","expires":3,"unit":"declMonths","purpose":{"en":"Cookie is placed by Google Tag Manager to track conversions."}},{"name":"test_cookie","type":"http","domain":".doubleclick.net","path":"/","provider":"Google","firstParty":false,"retention":"15 minute(s)","expires":15,"unit":"declMinutes","purpose":{"en":"To measure the visitors’ actions after they click through from an advert. Expires after each visit."}},{"name":"_ttp","type":"http","domain":".tiktok.com","path":"/","provider":"TikTok","firstParty":false,"retention":"1 year(s)","expires":1,"unit":"declYears","purpose":{"en":"To measure and improve the performance of your advertising campaigns and to personalize the user's experience (including ads) on TikTok."}},{"name":"_fbp","type":"http","domain":".reneerouleau.com","path":"/","provider":"Facebook","firstParty":false,"retention":"3 month(s)","expires":3,"unit":"declMonths","purpose":{"en":"Cookie is placed by Facebook to track visits across websites."}},{"name":"__kla_id","type":"http","domain":"www.reneerouleau.com","path":"/","provider":"Klaviyo","firstParty":true,"retention":"1 year(s)","expires":1,"unit":"declYears","purpose":{"en":"Tracks when someone clicks through a Klaviyo email to your website."}},{"name":"_tt_enable_cookie","type":"http","domain":".reneerouleau.com","path":"/","provider":"TikTok","firstParty":false,"retention":"1 year(s)","expires":1,"unit":"declYears","purpose":{"en":"Used to identify a visitor."}},{"name":"_ttp","type":"http","domain":".reneerouleau.com","path":"/","provider":"TikTok","firstParty":false,"retention":"1 year(s)","expires":1,"unit":"declYears","purpose":{"en":"To measure and improve the performance of your advertising campaigns and to personalize the user's experience (including ads) on TikTok."}},{"name":"_pin_unauth","type":"http","domain":".reneerouleau.com","path":"/","provider":"Pinterest","firstParty":false,"retention":"1 year(s)","expires":1,"unit":"declYears","purpose":{"en":"Used to group actions for users who cannot be identified by Pinterest."}},{"name":"TapAd_TS","type":"http","domain":".tapad.com","path":"/","provider":"Tapad","firstParty":false,"retention":"2 month(s)","expires":2,"unit":"declMonths","purpose":{"en":"Used to determine what type of devices is used by a user."}},{"name":"TapAd_DID","type":"http","domain":".tapad.com","path":"/","provider":"Tapad","firstParty":false,"retention":"2 month(s)","expires":2,"unit":"declMonths","purpose":{"en":"Used to determine what type of devices is used by a user."}},{"name":"TapAd_3WAY_SYNCS","type":"http","domain":".tapad.com","path":"/","provider":"Tapad","firstParty":false,"retention":"2 month(s)","expires":2,"unit":"declMonths","purpose":{"en":"Used for data-synchronization with advertisement networks."}},{"name":"wpm-domain-test","type":"http","domain":"www.reneerouleau.com","path":"/","provider":"Shopify","firstParty":true,"retention":"Session","expires":1,"unit":"declSeconds","purpose":{"en":"Used to test the storage of parameters about products added to the cart or payment currency"}},{"name":"IDE","type":"http","domain":".doubleclick.net","path":"/","provider":"Google","firstParty":false,"retention":"1 year(s)","expires":1,"unit":"declYears","purpose":{"en":"To measure the visitors’ actions after they click through from an advert. Expires after 1 year."}},{"name":"wpm-domain-test","type":"http","domain":"com","path":"/","provider":"Shopify","firstParty":false,"retention":"Session","expires":1,"unit":"declSeconds","purpose":{"en":"Used to test the storage of parameters about products added to the cart or payment currency"}},{"name":"wpm-domain-test","type":"http","domain":"reneerouleau.com","path":"/","provider":"Shopify","firstParty":false,"retention":"Session","expires":1,"unit":"declSeconds","purpose":{"en":"Used to test the storage of parameters about products added to the cart or payment currency"}}],"8":[{"name":"_li_ss","type":"http","domain":"i.liadm.com","path":"/s","provider":"Unknown","firstParty":false,"retention":"1 month(s)","expires":1,"unit":"declMonths","purpose":{"en":""}},{"name":"_hjFirstSeen","type":"http","domain":".reneerouleau.com","path":"/","provider":"Unknown","firstParty":false,"retention":"30 minute(s)","expires":30,"unit":"declMinutes","purpose":{"en":""}},{"name":"_hjAbsoluteSessionInProgress","type":"http","domain":".reneerouleau.com","path":"/","provider":"Unknown","firstParty":false,"retention":"30 minute(s)","expires":30,"unit":"declMinutes","purpose":{"en":""}},{"name":"ul_cookie_status","type":"http","domain":"www.reneerouleau.com","path":"/","provider":"Unknown","firstParty":true,"retention":"1 ","expires":1,"unit":"declSession","purpose":{"en":""}},{"name":"_hjIncludedInSessionSample_1139632","type":"http","domain":".reneerouleau.com","path":"/","provider":"Unknown","firstParty":false,"retention":"30 minute(s)","expires":30,"unit":"declMinutes","purpose":{"en":""}},{"name":"__cflb","type":"http","domain":"my.jst.ai","path":"/","provider":"Unknown","firstParty":false,"retention":"40 minute(s)","expires":40,"unit":"declMinutes","purpose":{"en":""}},{"name":"_wiser_csrf_evm","type":"http","domain":".wiser.expertvillagemedia.com","path":"/","provider":"Unknown","firstParty":false,"retention":"Session","expires":-54,"unit":"declYears","purpose":{"en":""}},{"name":"_ccpx_u","type":"http","domain":"a.clickcertain.com","path":"/","provider":"Unknown","firstParty":false,"retention":"1 year(s)","expires":1,"unit":"declYears","purpose":{"en":""}},{"name":"ar_debug","type":"http","domain":".pinterest.com","path":"/","provider":"Unknown","firstParty":false,"retention":"1 year(s)","expires":1,"unit":"declYears","purpose":{"en":""}},{"name":"_ccpx","type":"http","domain":"a.clickcertain.com","path":"/","provider":"Unknown","firstParty":false,"retention":"1 year(s)","expires":1,"unit":"declYears","purpose":{"en":""}},{"name":"_ccpx_cl4683ahycxovk9daef55f%2dca0a%2d4045%2db553%2d9ef01a971e6a","type":"http","domain":"a.clickcertain.com","path":"/","provider":"Unknown","firstParty":false,"retention":"1 year(s)","expires":1,"unit":"declYears","purpose":{"en":""}},{"name":"_ju_v","type":"http","domain":"www.reneerouleau.com","path":"/","provider":"Unknown","firstParty":true,"retention":"29 minute(s)","expires":29,"unit":"declMinutes","purpose":{"en":""}},{"name":"AMP_9bdc728a74","type":"http","domain":"www.reneerouleau.com","path":"/","provider":"Unknown","firstParty":true,"retention":"1 year(s)","expires":1,"unit":"declYears","purpose":{"en":""}},{"name":"_ju_dm","type":"http","domain":".reneerouleau.com","path":"/","provider":"Unknown","firstParty":false,"retention":"1 day(s)","expires":1,"unit":"declDays","purpose":{"en":""}},{"name":"_ju_dn","type":"http","domain":".reneerouleau.com","path":"/","provider":"Unknown","firstParty":false,"retention":"1 month(s)","expires":1,"unit":"declMonths","purpose":{"en":""}},{"name":"rmuid","type":"http","domain":".linksynergy.com","path":"/","provider":"Unknown","firstParty":false,"retention":"1 year(s)","expires":1,"unit":"declYears","purpose":{"en":""}},{"name":"bito","type":"http","domain":".bidr.io","path":"/","provider":"Unknown","firstParty":false,"retention":"1 year(s)","expires":1,"unit":"declYears","purpose":{"en":""}},{"name":"bitoIsSecure","type":"http","domain":".bidr.io","path":"/","provider":"Unknown","firstParty":false,"retention":"1 year(s)","expires":1,"unit":"declYears","purpose":{"en":""}}
241,{"name":"_ps_session","type":"http","domain":"www.reneerouleau.com","path":"/","provider":"Unknown","firstParty":true,"retention":"1 day(s)","expires":1,"unit":"declDays","purpose":{"en":""}},{"name":"tuid","type":"http","domain":".a.usbrowserspeed.com","path":"/","provider":"Unknown","firstParty":false,"retention":"1 year(s)","expires":1,"unit":"declYears","purpose":{"en":""}},{"name":"lidid","type":"http","domain":".liadm.com","path":"/","provider":"Unknown","firstParty":false,"retention":"1 year(s)","expires":1,"unit":"declYears","purpose":{"en":""}},{"name":"__cflb","type":"http","domain":"aly.jst.ai","path":"/","provider":"Unknown","firstParty":false,"retention":"30 minute(s)","expires":30,"unit":"declMinutes","purpose":{"en":""}},{"name":"_ju_dc","type":"http","domain":".reneerouleau.com","path":"/","provider":"Unknown","firstParty":false,"retention":"1 year(s)","expires":1,"unit":"declYears","purpose":{"en":""}},{"name":"_ju_pn","type":"http","domain":".reneerouleau.com","path":"/","provider":"Unknown","firstParty":false,"retention":"30 minute(s)","expires":30,"unit":"declMinutes","purpose":{"en":""}},{"name":"_hjTLDTest","type":"http","domain":"reneerouleau.com","path":"/","provider":"Unknown","firstParty":false,"retention":"Session","expires":1,"unit":"declSeconds","purpose":{"en":""}},{"name":"AMP_TEST","type":"http","domain":"www.reneerouleau.com","path":"/","provider":"Unknown","firstParty":true,"retention":"Session","expires":1,"unit":"declSeconds","purpose":{"en":""}},{"name":"_ccpx_24c7571975f139c","type":"http","domain":"a.clickcertain.com","path":"/","provider":"Unknown","firstParty":false,"retention":"1 year(s)","expires":1,"unit":"declYears","purpose":{"en":""}}]},"blocker":{"isActive":false,"googleConsentMode":{"id":"","analyticsId":"","adwordsId":"","isActive":true,"adStorageCategory":4,"analyticsStorageCategory":2,"personalizationStorageCategory":1,"functionalityStorageCategory":1,"customEvent":true,"securityStorageCategory":0,"redactData":true,"urlPassthrough":false,"dataLayerProperty":"dataLayer","waitForUpdate":0,"useNativeChannel":true},"facebookPixel":{"id":"","isActive":false,"ldu":false},"microsoft":{},"rakuten":{"isActive":true,"cmp":true,"ccpa":true},"klaviyoIsActive":false,"gpcIsActive":false,"defaultBlocked":0,"patterns":{"whiteList":[],"blackList":{"1":[],"2":[],"4":[],"8":[]},"iframesWhiteList":[],"iframesBlackList":{"1":[],"2":[],"4":[],"8":[]},"beaconsWhiteList":[],"beaconsBlackList":{"1":[],"2":[],"4":[],"8":[]}}}};
242        
243        window.addEventListener('DOMContentLoaded', function(){
244          const script = document.createElement('script');
245          
246            script.src = "https://cdn.shopify.com/extensions/01a0d309-5aa0-76cf-9f48-2a42b2760403/gdpr-cookie-consent-411/assets/pandectes-core.js";
247          
248          script.defer = true;
249          document.body.appendChild(script);
250        })
251      </script>
251
252    
253  
254
255
256
257
258
259<!-- END app block --><!-- BEGIN app block: shopify://apps/eg-auto-add-to-cart/blocks/app-embed/0f7d4f74-1e89-4820-aec4-6564d7e535d2 -->
260
261
262
263
264
265
266
267
268
269
270
271  
272    
272<script
273      async
274      type="text/javascript"
275      src="https://cdn.506.io/eg/script.js?shop=renee-rouleau-quiz.myshopify.com&v=12"
276    ></script>
276
277  
278
279
280
281  <meta id="easygift-shop" itemid="c2hvcF8kXzE3OTAyNzU0NzY=" content="{&quot;isInstalled&quot;:true,&quot;installedOn&quot;:&quot;2026-08-10T15:14:02.391Z&quot;,&quot;appVersion&quot;:&quot;3.0&quot;,&quot;subscriptionName&quot;:&quot;Unlimited&quot;,&quot;cartAnalytics&quot;:true,&quot;freeTrialEndsOn&quot;:null,&quot;settings&quot;:{&quot;reminderBannerStyle&quot;:{&quot;position&quot;:{&quot;horizontal&quot;:&quot;right&quot;,&quot;vertical&quot;:&quot;bottom&quot;},&quot;backgroundColor&quot;:&quot;#FFFFFF&quot;,&quot;borderRadius&quot;:null,&quot;closingMode&quot;:&quot;doNotAutoClose&quot;,&quot;cssStyles&quot;:&quot;&quot;,&quot;displayAfter&quot;:5,&quot;fontFamily&quot;:null,&quot;headerFontSize&quot;:null,&quot;headerText&quot;:&quot;&quot;,&quot;imageUrl&quot;:null,&quot;padding&quot;:null,&quot;primaryColor&quot;:&quot;#000000&quot;,&quot;reshowBannerAfter&quot;:&quot;everyNewSession&quot;,&quot;selfcloseAfter&quot;:5,&quot;showImage&quot;:false,&quot;subHeaderFontSize&quot;:null,&quot;subHeaderText&quot;:&quot;&quot;},&quot;addedItemIdentifier&quot;:&quot;_Gifted&quot;,&quot;ignoreOtherAppLineItems&quot;:null,&quot;customVariantsInfoLifetimeMins&quot;:1440,&quot;redirectPath&quot;:null,&quot;ignoreNonStandardCartRequests&quot;:false,&quot;bannerStyle&quot;:{&quot;position&quot;:{&quot;horizontal&quot;:&quot;right&quot;,&quot;vertical&quot;:&quot;bottom&quot;},&quot;backgroundColor&quot;:&quot;#FFFFFF&quot;,&quot;borderRadius&quot;:null,&quot;cssStyles&quot;:null,&quot;fontFamily&quot;:null,&quot;headerFontSize&quot;:null,&quot;padding&quot;:null,&quot;primaryColor&quot;:&quot;#000000&quot;,&quot;subHeaderFontSize&quot;:null},&quot;themePresetId&quot;:null,&quot;notificationStyle&quot;:{&quot;position&quot;:{&quot;horizontal&quot;:null,&quot;vertical&quot;:null},&quot;backgroundColor&quot;:&quot;#FFFFFF&quot;,&quot;borderRadius&quot;:null,&quot;cssStyles&quot;:null,&quot;duration&quot;:null,&quot;fontFamily&quot;:null,&quot;hasCustomizations&quot;:false,&quot;headerFontSize&quot;:null,&quot;padding&quot;:null,&quot;primaryColor&quot;:null,&quot;subHeaderFontSize&quot;:null},&quot;fetchCartData&quot;:false,&quot;useLocalStorage&quot;:{&quot;enabled&quot;:false,&quot;expiryMinutes&quot;:null},&quot;popupStyle&quot;:{&quot;addButtonText&quot;:null,&quot;backgroundColor&quot;:&quot;#FFFFFF&quot;,&quot;bodyColor&quot;:null,&quot;bodyFontFamily&quot;:null,&quot;bodyFontSize&quot;:null,&quot;borderRadius&quot;:null,&quot;buttonTextColor&quot;:null,&quot;closeModalOutsideClick&quot;:true,&quot;cssStyles&quot;:null,&quot;dismissButtonText&quot;:null,&quot;hasCustomizations&quot;:false,&quot;headerFontFamily&quot;:null,&quot;headerFontSize&quot;:null,&quot;imageUrl&quot;:null,&quot;outOfStockButtonText&quot;:null,&quot;padding&quot;:null,&quot;priceShowZeroDecimals&quot;:true,&quot;primaryColor&quot;:null,&quot;secondaryColor&quot;:null,&quot;showProductLink&quot;:false,&quot;subHeaderFontSize&quot;:null,&quot;subscriptionLabel&quot;:null},&quot;refreshAfterBannerClick&quot;:false,&quot;disableReapplyRules&quot;:false,&quot;disableReloadOnFailedAddition&quot;:false,&quot;autoReloadCartPage&quot;:false,&quot;ajaxRedirectPath&quot;:null,&quot;allowSimultaneousRequests&quot;:false,&quot;applyRulesOnCheckout&quot;:false,&quot;enableCartCtrlOverrides&quot;:true,&quot;customRedirectFromCart&quot;:null,&quot;scriptSettings&quot;:{&quot;branding&quot;:{&quot;removalRequestSent&quot;:null,&quot;show&quot;:false},&quot;productPageRedirection&quot;:{&quot;enabled&quot;:false,&quot;products&quot;:[],&quot;redirectionURL&quot;:&quot;\/&quot;},&quot;debugging&quot;:{&quot;enabled&quot;:false,&quot;enabledOn&quot;:null,&quot;stringifyObj&quot;:false},&quot;customCSS&quot;:null,&quot;decodePayload&quot;:false,&quot;delayUpdates&quot;:2000,&quot;disableRedirectAfterFormSubmit&quot;:false,&quot;enableBuyNowInterceptions&quot;:true,&quot;fetchCartDataBeforeRequest&quot;:false,&quot;fetchProductInfoFromSavedDomain&quot;:false,&quot;hideAlertsOnFrontend&quot;:false,&quot;hideGiftedPropertyText&quot;:false,&quot;reApplyValueBasedRulesInCart&quot;:false,&quot;removeEGPropertyFromSplitActionLineItems&quot;:false,&quot;removeProductsAddedFromExpiredRules&quot;:true,&quot;useFinalPrice&quot;:true,&quot;useFinalPriceGetEntireCart&quot;:false},&quot;promoCodeMessageStyle&quot;:{&quot;message&quot;:&quot;Free gift added!&quot;},&quot;accessToEnterprise&quot;:true},&quot;translations&quot;:null,&quot;defaultLocale&quot;:&quot;en&quot;,&quot;shopDomain&quot;:&quot;www.reneerouleau.com&quot;}">
282
283
284<script defer>
285  (async function() {
286    try {
287
288      const blockVersion = "v3"
289      if (blockVersion != "v3") {
290        return
291      }
292
293      let metaErrorFlag = false;
294      if (metaErrorFlag) {
295        return
296      }
297
298      // Parse metafields as JSON
299      const metafields = {};
300
301      // Process metafields in JavaScript
302      let savedRulesArray = [];
303      for (const [key, value] of Object.entries(metafields)) {
304        if (value) {
305          for (const prop in value) {
306            // avoiding Object.Keys for performance gain -- no need to make an array of keys.
307            savedRulesArray.push(value);
308            break;
309          }
310        }
311      }
312
313      const metaTag = document.createElement('meta');
314      metaTag.id = 'easygift-rules';
315      metaTag.content = JSON.stringify(savedRulesArray);
316      metaTag.setAttribute('itemid', 'cnVsZXNfJF8xNzkwMjc1NDc2');
317
318      document.head.appendChild(metaTag);
319      } catch (err) {
320        
321      }
322  })();
323</script>
323
324
325
326  
326<script
327    type="text/javascript"
328    defer
329  >
330
331    (function () {
332      try {
333        window.EG_INFO = window.EG_INFO || {};
334        var shopInfo = {"isInstalled":true,"installedOn":"2026-08-10T15:14:02.391Z","appVersion":"3.0","subscriptionName":"Unlimited","cartAnalytics":true,"freeTrialEndsOn":null,"settings":{"reminderBannerStyle":{"position":{"horizontal":"right","vertical":"bottom"},"backgroundColor":"#FFFFFF","borderRadius":null,"closingMode":"doNotAutoClose","cssStyles":"","displayAfter":5,"fontFamily":null,"headerFontSize":null,"headerText":"","imageUrl":null,"padding":null,"primaryColor":"#000000","reshowBannerAfter":"everyNewSession","selfcloseAfter":5,"showImage":false,"subHeaderFontSize":null,"subHeaderText":""},"addedItemIdentifier":"_Gifted","ignoreOtherAppLineItems":null,"customVariantsInfoLifetimeMins":1440,"redirectPath":null,"ignoreNonStandardCartRequests":false,"bannerStyle":{"position":{"horizontal":"right","vertical":"bottom"},"backgroundColor":"#FFFFFF","borderRadius":null,"cssStyles":null,"fontFamily":null,"headerFontSize":null,"padding":null,"primaryColor":"#000000","subHeaderFontSize":null},"themePresetId":null,"notificationStyle":{"position":{"horizontal":null,"vertical":null},"backgroundColor":"#FFFFFF","borderRadius":null,"cssStyles":null,"duration":null,"fontFamily":null,"hasCustomizations":false,"headerFontSize":null,"padding":null,"primaryColor":null,"subHeaderFontSize":null},"fetchCartData":false,"useLocalStorage":{"enabled":false,"expiryMinutes":null},"popupStyle":{"addButtonText":null,"backgroundColor":"#FFFFFF","bodyColor":null,"bodyFontFamily":null,"bodyFontSize":null,"borderRadius":null,"buttonTextColor":null,"closeModalOutsideClick":true,"cssStyles":null,"dismissButtonText":null,"hasCustomizations":false,"headerFontFamily":null,"headerFontSize":null,"imageUrl":null,"outOfStockButtonText":null,"padding":null,"priceShowZeroDecimals":true,"primaryColor":null,"secondaryColor":null,"showProductLink":false,"subHeaderFontSize":null,"subscriptionLabel":null},"refreshAfterBannerClick":false,"disableReapplyRules":false,"disableReloadOnFailedAddition":false,"autoReloadCartPage":false,"ajaxRedirectPath":null,"allowSimultaneousRequests":false,"applyRulesOnCheckout":false,"enableCartCtrlOverrides":true,"customRedirectFromCart":null,"scriptSettings":{"branding":{"removalRequestSent":null,"show":false},"productPageRedirection":{"enabled":false,"products":[],"redirectionURL":"\/"},"debugging":{"enabled":false,"enabledOn":null,"stringifyObj":false},"customCSS":null,"decodePayload":false,"delayUpdates":2000,"disableRedirectAfterFormSubmit":false,"enableBuyNowInterceptions":true,"fetchCartDataBeforeRequest":false,"fetchProductInfoFromSavedDomain":false,"hideAlertsOnFrontend":false,"hideGiftedPropertyText":false,"reApplyValueBasedRulesInCart":false,"removeEGPropertyFromSplitActionLineItems":false,"removeProductsAddedFromExpiredRules":true,"useFinalPrice":true,"useFinalPriceGetEntireCart":false},"promoCodeMessageStyle":{"message":"Free gift added!"},"accessToEnterprise":true},"translations":null,"defaultLocale":"en","shopDomain":"www.reneerouleau.com"};
335        var productRedirectionEnabled = shopInfo.settings.scriptSettings.productPageRedirection.enabled;
336        if (["Unlimited", "Enterprise"].includes(shopInfo.subscriptionName) && productRedirectionEnabled) {
337          var products = shopInfo.settings.scriptSettings.productPageRedirection.products;
338          if (products.length > 0) {
339            var productIds = products.map(function(prod) {
340              var productGid = prod.id;
341              var productIdNumber = parseInt(productGid.split('/').pop());
342              return productIdNumber;
343            });
344            var productInfo = {"id":7574678405179,"title":"Skin Drink I.V.","handle":"skin-drink-i-v","description":"\u003cp\u003eAn electrolyte-infused serum that floods thirsty skin cells with deep, lasting hydration.\u003c\/p\u003e","published_at":"2026-06-22T07:37:01-05:00","created_at":"2026-04-01T15:27:08-05:00","vendor":"Renée Rouleau Professional Skin Care","type":"","tags":[],"price":7250,"price_min":7250,"price_max":7250,"available":true,"price_varies":false,"compare_at_price":null,"compare_at_price_min":0,"compare_at_price_max":0,"compare_at_price_varies":false,"variants":[{"id":43374648328251,"title":"Default Title","option1":"Default Title","option2":null,"option3":null,"sku":"79494","requires_shipping":true,"taxable":true,"featured_image":null,"available":true,"name":"Skin Drink I.V.","public_title":null,"options":["Default Title"],"price":7250,"weight":71,"compare_at_price":null,"inventory_quantity":42,"inventory_management":"shopify","inventory_policy":"continue","barcode":"648260795115","requires_selling_plan":false,"selling_plan_allocations":[{"price_adjustments":[{"position":1,"price":6525}],"price":6525,"compare_at_price":7250,"per_delivery_price":6525,"selling_plan_id":26281902
34467,"selling_plan_group_id":"12efe7fc01cca5eef15a6aecfa2dfce15e950de2"},{"price_adjustments":[{"position":1,"price":6525}],"price":6525,"compare_at_price":7250,"per_delivery_price":6525,"selling_plan_id":2628223035,"selling_plan_group_id":"12efe7fc01cca5eef15a6aecfa2dfce15e950de2"},{"price_adjustments":[{"position":1,"price":6525}],"price":6525,"compare_at_price":7250,"per_delivery_price":6525,"selling_plan_id":2628255803,"selling_plan_group_id":"12efe7fc01cca5eef15a6aecfa2dfce15e950de2"}],"quantity_rule":{"min":1,"max":null,"increment":1}}],"images":["\/\/www.reneerouleau.com\/cdn\/shop\/files\/ReneeRouleau-SkinDrinkI.V.-1024x1024-Shadow.jpg?v=1777079077","\/\/www.reneerouleau.com\/cdn\/shop\/files\/SkinDrinkI.V.Swatch.png?v=1775074566","\/\/www.reneerouleau.com\/cdn\/shop\/files\/skin_drink_model_e2260879-a801-4663-a0e4-f754f6eea673.png?v=1778100625","\/\/www.reneerouleau.com\/cdn\/shop\/files\/RR-BrightNow-Infographic-Benefits_1_3cb050b3-fad8-4852-82e9-2349823b03f1.png?v=1781281008","\/\/www.reneerouleau.com\/cdn\/shop\/files\/RR_B_A_SDIV.png?v=1785346212"],"featured_image":"\/\/www.reneerouleau.com\/cdn\/shop\/files\/ReneeRouleau-SkinDrinkI.V.-1024x1024-Shadow.jpg?v=1777079077","options":["Title"],"media":[{"alt":null,"id":27364451516475,"position":1,"preview_image":{"aspect_ratio":0.563,"height":1920,"width":1080,"src":"\/\/www.reneerouleau.com\/cdn\/shop\/files\/preview_images\/5f777c7351d04f9c8b5ebe90b2ceb713.thumbnail.0000000000.jpg?v=1786999924"},"aspect_ratio":0.563,"duration":81000,"media_type":"video","sources":[{"format":"mp4","height":480,"mime_type":"video\/mp4","url":"\/\/www.reneerouleau.com\/cdn\/shop\/videos\/c\/vp\/5f777c7351d04f9c8b5ebe90b2ceb713\/5f777c7351d04f9c8b5ebe90b2ceb713.SD-480p-1.5Mbps-91873986.mp4?v=0","width":270},{"format":"mp4","height":1080,"mime_type":"video\/mp4","url":"\/\/www.reneerouleau.com\/cdn\/shop\/videos\/c\/vp\/5f777c7351d04f9c8b5ebe90b2ceb713\/5f777c7351d04f9c8b5ebe90b2ceb713.HD-1080p-7.2Mbps-91873986.mp4?v=0","width":606},{"format":"mp4","height":720,"mime_type":"video\/mp4","url":"\/\/www.reneerouleau.com\/cdn\/shop\/videos\/c\/vp\/5f777c7351d04f9c8b5ebe90b2ceb713\/5f777c7351d04f9c8b5ebe90b2ceb713.HD-720p-4.5Mbps-91873986.mp4?v=0","width":404},{"format":"m3u8","height":1080,"mime_type":"application\/x-mpegURL","url":"\/\/www.reneerouleau.com\/cdn\/shop\/videos\/c\/vp\/5f777c7351d04f9c8b5ebe90b2ceb713\/5f777c7351d04f9c8b5ebe90b2ceb713.m3u8?v=0","width":606}]},{"alt":null,"id":26688046530619,"position":2,"preview_image":{"aspect_ratio":1.0,"height":1024,"width":1024,"src":"\/\/www.reneerouleau.com\/cdn\/shop\/files\/ReneeRouleau-SkinDrinkI.V.-1024x1024-Shadow.jpg?v=1777079077"},"aspect_ratio":1.0,"height":1024,"media_type":"image","src":"\/\/www.reneerouleau.com\/cdn\/shop\/files\/ReneeRouleau-SkinDrinkI.V.-1024x1024-Shadow.jpg?v=1777079077","width":1024},{"alt":null,"id":26596526981179,"position":3,"preview_image":{"aspect_ratio":0.829,"height":1640,"width":1360,"src":"\/\/www.reneerouleau.com\/cdn\/shop\/files\/SkinDrinkI.V.Swatch.png?v=1775074566"},"aspect_ratio":0.829,"height":1640,"media_type":"image","src":"\/\/www.reneerouleau.com\/cdn\/shop\/files\/SkinDrinkI.V.Swatch.png?v=1775074566","width":1360},{"alt":null,"id":26734009319483,"position":4,"preview_image":{"aspect_ratio":0.829,"height":1640,"width":1360,"src":"\/\/www.reneerouleau.com\/cdn\/shop\/files\/skin_drink_model_e2260879-a801-4663-a0e4-f754f6eea673.png?v=1778100625"},"aspect_ratio":0.829,"height":1640,"media_type":"image","src":"\/\/www.reneerouleau.com\/cdn\/shop\/files\/skin_drink_model_e2260879-a801-4663-a0e4-f754f6eea673.png?v=1778100625","width":1360},{"alt":null,"id":26903019061307,"position":5,"preview_image":{"aspect_ratio":0.829,"height":1640,"width":1360,"src":"\/\/www.reneerouleau.com\/cdn\/shop\/files\/RR-BrightNow-Infographic-Benefits_1_3cb050b3-fad8-4852-82e9-2349823b03f1.png?v=1781281008"},"aspect_ratio":0.829,"height":1640,"media_type":"image","src":"\/\/www.reneerouleau.com\/cdn\/shop\/files\/RR-BrightNow-Infographic-Benefits_1_3cb050b3-fad8-4852-82e9-2349823b03f1.png?v=1781281008","width":1360},{"alt":null,"id":27196724641851,"position":6,"preview_image":{"aspect_ratio":0.919,"height":1480,"width":1360,"src":"\/\/www.reneerouleau.com\/cdn\/shop\/files\/RR_B_A_SDIV.png?v=1785346212"},"aspect_ratio":0.919,"height":1480,"media_type":"image","src":"\/\/www.reneerouleau.com\/cdn\/shop\/files\/RR_B_A_SDIV.png?v=1785346212","width":1360}
344],"requires_selling_plan":false,"selling_plan_groups":[{"id":"12efe7fc01cca5eef15a6aecfa2dfce15e950de2","name":"Skin Drink I.V.","options":[{"name":"30 Day(s), 60 Day(s), 90 Day(s)","position":1,"values":["30 Day(s)","60 Day(s)","90 Day(s)"]}],"selling_plans":[{"id":2628190267,"name":"Delivery Every  30 Days","description":null,"options":[{"name":"30 Day(s), 60 Day(s), 90 Day(s)","position":1,"value":"30 Day(s)"}],"recurring_deliveries":true,"price_adjustments":[{"order_count":null,"position":1,"value_type":"percentage","value":10}],"checkout_charge":{"value_type":"percentage","value":100}},{"id":2628223035,"name":"Delivery Every  60 Days","description":null,"options":[{"name":"30 Day(s), 60 Day(s), 90 Day(s)","position":1,"value":"60 Day(s)"}],"recurring_deliveries":true,"price_adjustments":[{"order_count":null,"position":1,"value_type":"percentage","value":10}],"checkout_charge":{"value_type":"percentage","value":100}},{"id":2628255803,"name":"Delivery Every  90 Days","description":null,"options":[{"name":"30 Day(s), 60 Day(s), 90 Day(s)","position":1,"value":"90 Day(s)"}],"recurring_deliveries":true,"price_adjustments":[{"order_count":null,"position":1,"value_type":"percentage","value":10}],"checkout_charge":{"value_type":"percentage","value":100}}],"app_id":"294517"}],"content":"\u003cp\u003eAn electrolyte-infused serum that floods thirsty skin cells with deep, lasting hydration.\u003c\/p\u003e"};
345            var isProductInList = productIds.includes(productInfo.id);
346            if (isProductInList) {
347              var redirectionURL = shopInfo.settings.scriptSettings.productPageRedirection.redirectionURL;
348              if (redirectionURL) {
349                window.location = redirectionURL;
350              }
351            }
352          }
353        }
354
355        
356
357          var rawPriceString = "72.50";
358    
359          rawPriceString = rawPriceString.trim();
360    
361          var normalisedPrice;
362
363          function processNumberString(str) {
364            // Helper to find the rightmost index of '.', ',' or "'"
365            const lastDot = str.lastIndexOf('.');
366            const lastComma = str.lastIndexOf(',');
367            const lastApostrophe = str.lastIndexOf("'");
368            const lastIndex = Math.max(lastDot, lastComma, lastApostrophe);
369
370            // If no punctuation, remove any stray spaces and return
371            if (lastIndex === -1) {
372              return str.replace(/[.,'\s]/g, '');
373            }
374
375            // Extract parts
376            const before = str.slice(0, lastIndex).replace(/[.,'\s]/g, '');
377            const after = str.slice(lastIndex + 1).replace(/[.,'\s]/g, '');
378
379            // If the after part is 1 or 2 digits, treat as decimal
380            if (after.length > 0 && after.length <= 2) {
381              return `${before}.${after}`;
382            }
383
384            // Otherwise treat as integer with thousands separator removed
385            return before + after;
386          }
387
388          normalisedPrice = processNumberString(rawPriceString)
389
390          window.EG_INFO["43374648328251"] = {
391            "price": `${normalisedPrice}`,
392            "presentmentPrices": {
393              "edges": [
394                {
395                  "node": {
396                    "price": {
397                      "amount": `${normalisedPrice}`,
398                      "currencyCode": "USD"
399                    }
400                  }
401                }
402              ]
403            },
404            "sellingPlanGroups": {
405              "edges": [
406                
407                  {
408                    "node": {
409                      "sellingPlans": {
410                        "edges": [
411                          
412                            {
413                              "node": {
414                                "id": "gid://shopify/SellingPlan/2628190267",
415                                "pricingPolicies": [
416                                  
417                                    {
418                                      
419                                        "adjustmentType": "PERCENTAGE",
420                                        "adjustmentValue": {
421                                          "percentage": 10
422                                        }
423                                      
424                                    }
425                                  
426                                ]
427                              }
428                            },
429                          
430                            {
431                              "node": {
432                                "id": "gid://shopify/SellingPlan/2628223035",
433                                "pricingPolicies": [
434                                  
435                                    {
436                                      
437                                        "adjustmentType": "PERCENTAGE",
438                                        "adjustmentValue": {
439                                          "percentage": 10
440                                        }
441                                      
442                                    }
443                                  
444                                ]
445                              }
446                            },
447                          
448                            {
449                              "node": {
450                                "id": "gid://shopify/SellingPlan/2628255803",
451                                "pricingPolicies": [
452                                  
453                                    {
454                                      
455                                        "adjustmentType": "PERCENTAGE",
456                                        "adjustmentValue": {
457                                          "percentage": 10
458                                        }
459                                      
460                                    }
461                                  
462                                ]
463                              }
464                            }
465                          
466                        ]
467                      }
468                    }
469                  }
470                
471              ]
472            },
473            "product": {
474              "id": "gid://shopify/Product/7574678405179",
475              "tags": [],
476              "collections": {
477                "pageInfo": {
478                  "hasNextPage": false
479                },
480                "edges": [
481                  
482                    {
483                      "node": {
484                        "id": "gid://shopify/Collection/303461859387"
485                      }
486                    },
487                  
488                    {
489                      "node": {
490                        "id": "gid://shopify/Collection/353563846"
491                      }
492                    },
493                  
494                    {
495                      "node": {
496                        "id": "gid://shopify/Collection/313465897019"
497                      }
498                    },
499                  
500                    {
501                      "node": {
502                        "id": "gid://shopify/Collection/385895686"
503                      }
504                    },
505                  
506                    {
507                      "node": {
508                        "id": "gid://shopify/Collection/385899078"
509                      }
510                    },
511                  
512                    {
513                      "node": {
514                        "id": "gid://shopify/Collection/385899334"
515                      }
516                    },
517                  
518                    {
519                      "node": {
520                        "id": "gid://shopify/Collection/385899910"
521                      }
522                    },
523                  
524                    {
525                      "node": {
526                        "id": "gid://shopify/Collection/385900486"
527                      }
528                    },
529                  
530                    {
531                      "node": {
532                        "id": "gid://shopify/Collection/385901446"
533                      }
534                    },
535                  
536                    {
537                      "node": {
538                        "id": "gid://shopify/Collection/353564806"
539                      }
540                    }
541                  
542                ]
543              }
544            },
545            "id": "43374648328251",
546            "timestamp": 1790275476
547          };
548        
549      } catch(err) {
550      return
551    }}
551)()
552  </script>
552
553
554
555
556<!-- END app block --><!-- BEGIN app block: shopify://apps/checkmate/blocks/checked_network/697a3444-1374-4f13-ba8c-ec03db25ebf0 -->
557  
557<script
558    src='/apps/cm/v1/load?source=embed'
559    async
560  ></script>
560
561
562
563
564<!-- END app block --><!-- BEGIN app block: shopify://apps/okendo/blocks/theme-settings/bb689e69-ea70-4661-8fb7-ad24a2e23c29 --><!-- BEGIN app snippet: header-metafields -->
565
566
567
568
569
570
571
572
573
574
575
576
577    
578        <style data-oke-reviews-version="0.91.0" type="text/css" data-href="https://cdn-static.okendo.io/reviews-widget-plus/css/okendo-reviews-styles.6dbb2446.css"></style><style data-oke-reviews-version="0.91.0" type="text/css" data-href="https://cdn-static.okendo.io/reviews-widget-plus/css/modules/okendo-star-rating.4cb378a8.css"></style><style data-oke-reviews-version="0.91.0" type="text/css" data-href="https://cdn-static.okendo.io/reviews-widget-plus/css/modules/okendo-reviews-keywords.0942444f.css"></style><style data-oke-reviews-version="0.91.0" type="text/css" data-href="https://cdn-static.okendo.io/reviews-widget-plus/css/modules/okendo-reviews-summary.a0c9d7d6.css"></style><style type="text/css">.okeReviews[data-oke-container],div.okeReviews{font-size:14px;font-size:var(--oke-text-regular);font-weight:400;font-family:var(--oke-text-fontFamily);line-height:1.6}.okeReviews[data-oke-container] *,.okeReviews[data-oke-container] :after,.okeReviews[data-oke-container] :before,div.okeReviews *,div.okeReviews :after,div.okeReviews :before{box-sizing:border-box}.okeReviews[data-oke-container] h1,.okeReviews[data-oke-container] h2,.okeReviews[data-oke-container] h3,.okeReviews[data-oke-container] h4,.okeReviews[data-oke-container] h5,.okeReviews[data-oke-container] h6,div.okeReviews h1,div.okeReviews h2,div.okeReviews h3,div.okeReviews h4,div.okeReviews h5,div.okeReviews h6{font-size:1em;font-weight:400;line-height:1.4;margin:0}.okeReviews[data-oke-container] ul,div.okeReviews ul{padding:0;margin:0}.okeReviews[data-oke-container] li,div.okeReviews li{list-style-type:none;padding:0}.okeReviews[data-oke-container] p,div.okeReviews p{line-height:1.8;margin:0 0 4px}.okeReviews[data-oke-container] p:last-child,div.okeReviews p:last-child{margin-bottom:0}.okeReviews[data-oke-container] a,div.okeReviews a{text-decoration:none;color:inherit}.okeReviews[data-oke-container] button,div.okeReviews button{border-radius:0;border:0;box-shadow:none;margin:0;width:auto;min-width:auto;padding:0;background-color:transparent;min-height:auto}.okeReviews[data-oke-container] button,.okeReviews[data-oke-container] input,.okeReviews[data-oke-container] select,.okeReviews[data-oke-container] textarea,div.okeReviews button,div.okeReviews input,div.okeReviews select,div.okeReviews textarea{font-family:inherit;font-size:1em}.okeReviews[data-oke-container] label,.okeReviews[data-oke-container] select,div.okeReviews label,div.okeReviews select{display:inline}.okeReviews[data-oke-container] select,div.okeReviews select{width:auto}.okeReviews[data-oke-container] article,.okeReviews[data-oke-container] aside,div.okeReviews article,div.okeReviews aside{margin:0}.okeReviews[data-oke-container] table,div.okeReviews table{background:transparent;border:0;border-collapse:collapse;border-spacing:0;font-family:inherit;font-size:1em;table-layout:auto}.okeReviews[data-oke-container] table td,.okeReviews[data-oke-container] table th,.okeReviews[data-oke-container] table tr,div.okeReviews table td,div.okeReviews table th,div.okeReviews table tr{border:0;font-family:inherit;font-size:1em}.okeReviews[data-oke-container] table td,.okeReviews[data-oke-container] table th,div.okeReviews table td,div.okeReviews table th{background:transparent;font-weight:400;letter-spacing:normal;padding:0;text-align:left;text-transform:none;vertical-align:middle}.okeReviews[data-oke-container] table tr:hover td,.okeReviews[data-oke-container] table tr:hover th,div.okeReviews table tr:hover td,div.okeReviews table tr:hover th{background:transparent}.okeReviews[data-oke-container] fieldset,div.okeReviews fieldset{border:0;padding:0;margin:0;min-width:0}.okeReviews[data-oke-container] img,.okeReviews[data-oke-container] svg,div.okeReviews img,div.okeReviews svg{max-width:none}.okeReviews[data-oke-container] div:empty,div.okeReviews div:empty{display:block}.okeReviews[data-oke-container] .oke-icon:before,div.okeReviews .oke-icon:before{font-family:oke-widget-icons!important;font-style:normal;font-weight:400;font-variant:normal;text-transform:none;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:inherit}.okeReviews[data-oke-container] .oke-icon--select-arrow:before,div.okeReviews .oke-icon--select-arrow:before{content:""}.okeReviews[data-oke-container] .oke-icon--loading:before,div.okeReviews .oke-icon--loading:before{content:""}
578.okeReviews[data-oke-container] .oke-icon--pencil:before,div.okeReviews .oke-icon--pencil:before{content:""}.okeReviews[data-oke-container] .oke-icon--filter:before,div.okeReviews .oke-icon--filter:before{content:""}.okeReviews[data-oke-container] .oke-icon--play:before,div.okeReviews .oke-icon--play:before{content:""}.okeReviews[data-oke-container] .oke-icon--tick-circle:before,div.okeReviews .oke-icon--tick-circle:before{content:""}.okeReviews[data-oke-container] .oke-icon--chevron-left:before,div.okeReviews .oke-icon--chevron-left:before{content:""}.okeReviews[data-oke-container] .oke-icon--chevron-right:before,div.okeReviews .oke-icon--chevron-right:before{content:""}.okeReviews[data-oke-container] .oke-icon--thumbs-down:before,div.okeReviews .oke-icon--thumbs-down:before{content:""}.okeReviews[data-oke-container] .oke-icon--thumbs-up:before,div.okeReviews .oke-icon--thumbs-up:before{content:""}.okeReviews[data-oke-container] .oke-icon--close:before,div.okeReviews .oke-icon--close:before{content:""}.okeReviews[data-oke-container] .oke-icon--chevron-up:before,div.okeReviews .oke-icon--chevron-up:before{content:""}.okeReviews[data-oke-container] .oke-icon--chevron-down:before,div.okeReviews .oke-icon--chevron-down:before{content:""}.okeReviews[data-oke-container] .oke-icon--star:before,div.okeReviews .oke-icon--star:before{content:""}.okeReviews[data-oke-container] .oke-icon--magnifying-glass:before,div.okeReviews .oke-icon--magnifying-glass:before{content:""}@font-face{font-family:oke-widget-icons;src:url(https://cdn-static.okendo.io/reviews-widget-plus/fonts/oke-widget-icons.ttf) format("truetype"),url(https://cdn-static.okendo.io/reviews-widget-plus/fonts/oke-widget-icons.woff) format("woff"),url(https://cdn-static.okendo.io/reviews-widget-plus/img/oke-widget-icons.bc0d6b0a.svg) format("svg");font-weight:400;font-style:normal;font-display:swap}.okeReviews[data-oke-container] .oke-button,div.okeReviews .oke-button{display:inline-block;border-style:solid;border-color:var(--oke-button-borderColor);border-width:var(--oke-button-borderWidth);background-color:var(--oke-button-backgroundColor);line-height:1;padding:12px 24px;margin:0;border-radius:var(--oke-button-borderRadius);color:var(--oke-button-textColor);text-align:center;position:relative;font-weight:var(--oke-button-fontWeight);font-size:var(--oke-button-fontSize);font-family:var(--oke-button-fontFamily);outline:0}.okeReviews[data-oke-container] .oke-button-text,.okeReviews[data-oke-container] .oke-button .oke-icon,div.okeReviews .oke-button-text,div.okeReviews .oke-button .oke-icon{line-height:1}.okeReviews[data-oke-container] .oke-button.oke-is-loading,div.okeReviews .oke-button.oke-is-loading{position:relative}.okeReviews[data-oke-container] .oke-button.oke-is-loading:before,div.okeReviews .oke-button.oke-is-loading:before{font-family:oke-widget-icons!important;font-style:normal;font-weight:400;font-variant:normal;text-transform:none;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;content:"";color:undefined;font-size:12px;display:inline-block;animation:oke-spin 1s linear infinite;position:absolute;width:12px;height:12px;top:0;left:0;bottom:0;right:0;margin:auto}.okeReviews[data-oke-container] .oke-button.oke-is-loading>*,div.okeReviews .oke-button.oke-is-loading>*{opacity:0}.okeReviews[data-oke-container] .oke-button.oke-is-active,div.okeReviews .oke-button.oke-is-active{background-color:var(--oke-button-backgroundColorActive);color:var(--oke-button-textColorActive);border-color:var(--oke-button-borderColorActive)}.okeReviews[data-oke-container] .oke-button:not(.oke-is-loading),div.okeReviews .oke-button:not(.oke-is-loading){cursor:pointer}.okeReviews[data-oke-container] .oke-button:not(.oke-is-loading):not(.oke-is-active):hover,div.okeReviews .oke-button:not(.oke-is-loading):not(.oke-is-active):hover{background-color:var(--oke-button-backgroundColorHover);color:var(--oke-button-textColorHover);border-color:var(--oke-button-borderColorHover);box-shadow:0 0 0 2px var(--oke-button-backgroundColorHover)}.okeReviews[data-oke-container] .oke-button:not(.oke-is-loading):not(.oke-is-active):active,.okeReviews[data-oke-container] .oke-button:not(.oke-is-loading):not(.oke-is-active):hover:active,div.okeReviews .oke-button:not(.oke-is-loading):not(.oke-is-active):active,div.okeReviews .oke-button:not(.oke-is-loading):not(.oke-is-active):hover:active{background-color:var(--oke-button-backgroundColorActive);color:var(--oke-button-textColorActive);border-color:var(--oke-button-borderColorActive)}.okeReviews[data-oke-container] .oke-title,div.okeReviews .oke-title{font-weight:var(--oke-title-fontWeight);font-size:var(--oke-title-fontSize);font-family:var(--oke-title-fontFamily)}.okeReviews[data-oke-container] .oke-bodyText,div.okeReviews .oke-bodyText{font-weight:var(--oke-bodyText-fontWeight);font-size:var(--oke-bodyText-fontSize);font-family:var(--oke-bodyText-fontFamily)}.okeReviews[data-oke-container] .oke-linkButton,div.okeReviews .oke-linkButton{curs
578or:pointer;font-weight:700;pointer-events:auto;text-decoration:underline}.okeReviews[data-oke-container] .oke-linkButton:hover,div.okeReviews .oke-linkButton:hover{text-decoration:none}.okeReviews[data-oke-container] .oke-readMore,div.okeReviews .oke-readMore{cursor:pointer;color:inherit;text-decoration:underline}.okeReviews[data-oke-container] .oke-select,div.okeReviews .oke-select{cursor:pointer;background-repeat:no-repeat;background-position-x:100%;background-position-y:50%;border:none;padding:0 24px 0 12px;-moz-appearance:none;appearance:none;color:inherit;-webkit-appearance:none;background-color:transparent;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg fill='currentColor' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7 10l5 5 5-5z'/%3E%3Cpath d='M0 0h24v24H0z' fill='none'/%3E%3C/svg%3E");outline-offset:4px}.okeReviews[data-oke-container] .oke-select:disabled,div.okeReviews .oke-select:disabled{background-color:transparent;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg fill='%239a9db1' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7 10l5 5 5-5z'/%3E%3Cpath d='M0 0h24v24H0z' fill='none'/%3E%3C/svg%3E")}.okeReviews[data-oke-container] .oke-loader,div.okeReviews .oke-loader{position:relative}.okeReviews[data-oke-container] .oke-loader:before,div.okeReviews .oke-loader:before{font-family:oke-widget-icons!important;font-style:normal;font-weight:400;font-variant:normal;text-transform:none;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;content:"";color:var(--oke-text-secondaryColor);font-size:12px;display:inline-block;animation:oke-spin 1s linear infinite;position:absolute;width:12px;height:12px;top:0;left:0;bottom:0;right:0;margin:auto}.okeReviews[data-oke-container] .oke-a11yText,div.okeReviews .oke-a11yText{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.okeReviews[data-oke-container] .oke-hidden,div.okeReviews .oke-hidden{display:none}.okeReviews[data-oke-container] .oke-modal,div.okeReviews .oke-modal{bottom:0;left:0;overflow:auto;position:fixed;right:0;top:0;z-index:2147483647;max-height:100%;background-color:rgba(0,0,0,.5);padding:40px 0 12px}@media only screen and (min-width:1024px){.okeReviews[data-oke-container] .oke-modal,div.okeReviews .oke-modal{display:flex;align-items:center;padding:48px 0}}.okeReviews[data-oke-container] .oke-modal ::-moz-selection,div.okeReviews .oke-modal ::-moz-selection{background-color:rgba(39,45,69,.2)}.okeReviews[data-oke-container] .oke-modal ::selection,div.okeReviews .oke-modal ::selection{background-color:rgba(39,45,69,.2)}.okeReviews[data-oke-container] .oke-modal,.okeReviews[data-oke-container] .oke-modal p,div.okeReviews .oke-modal,div.okeReviews .oke-modal p{color:#272d45}.okeReviews[data-oke-container] .oke-modal-content,div.okeReviews .oke-modal-content{background-color:#fff;margin:auto;position:relative;will-change:transform,opacity;width:calc(100% - 24px)}@media only screen and (min-width:1024px){.okeReviews[data-oke-container] .oke-modal-content,div.okeReviews .oke-modal-content{max-width:1000px}}.okeReviews[data-oke-container] .oke-modal-close,div.okeReviews .oke-modal-close{cursor:pointer;position:absolute;width:32px;height:32px;top:-32px;padding:4px;right:-4px;line-height:1}.okeReviews[data-oke-container] .oke-modal-close:before,div.okeReviews .oke-modal-close:before{font-family:oke-widget-icons!important;font-style:normal;font-weight:400;font-variant:normal;text-transform:none;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;content:"";color:#fff;font-size:24px;display:inline-block;width:24px;height:24px}.okeReviews[data-oke-container] .oke-modal-overlay,div.okeReviews .oke-modal-overlay{background-color:rgba(43,46,56,.9)}@media only screen and (min-width:1024px){.okeReviews[data-oke-container] .oke-modal--large .oke-modal-content,div.okeReviews .oke-modal--large .oke-modal-content{max-width:1200px}}.okeReviews[data-oke-container] .oke-modal .oke-helpful,.okeReviews[data-oke-container] .oke-modal .oke-helpful-vote-button,.okeReviews[data-oke-container] .oke-modal .oke-reviewContent-date,div.okeReviews .oke-modal .oke-helpful,div.okeReviews .oke-modal .oke-helpful-vote-button,div.okeReviews .oke-modal .oke-reviewContent-date{color:#676986}.oke-modal .okeReviews[data-oke-container].oke-w,.oke-modal div.okeReviews.oke-w{color:#272d45}.okeReviews[data-oke-container] .oke-tag,div.okeReviews .oke-tag{align-items:center;color:#272d45;display:flex;font-size:var(--oke-text-small);font-weight:600;text-align:left;position:relative;z-index:2;background-color:#f4f4f6;padding:4px 6px;border:none;border-radius:4px;gap:6px;line-height:1}.okeReviews[data-oke-container] .oke-tag svg,div.okeReviews .oke-tag svg{fill:currentColor;height:1rem}.okeReviews[data-oke-container] .hooper,div.okeReviews .hooper{height:auto}.okeReviews--left{text-align:left}.okeReviews--right{text-align:right}.okeReviews--center{text-align:center}.okeReviews :not([tabindex="-1"]):focus-visible{outline:5px auto highlight;outline:5px auto -webkit-focus-ring-color}.is-oke-modalOpen{overflow:hidden!important}img.oke-is-error{background-color:var(--oke-shadingColor);background-size:cover;background-position:50% 50%;box-shadow:inset 0 0 0 1px var(--oke-border-color)}@keyframes oke-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@keyframes oke-fade-in{0%{opacity:0}
578to{opacity:1}}.layout-panel-flex>div:has([data-oke-container]){width:100%}
579.oke-stars{line-height:1;position:relative;display:inline-block}.oke-stars-background svg{overflow:visible}.oke-stars-foreground{overflow:hidden;position:absolute;top:0;left:0}.oke-sr{display:inline-block;padding-top:var(--oke-starRating-spaceAbove);padding-bottom:var(--oke-starRating-spaceBelow)}.oke-sr .oke-is-clickable{cursor:pointer}.oke-sr--hidden{display:none}.oke-sr-count,.oke-sr-rating,.oke-sr-stars{display:inline-block;vertical-align:middle}.oke-sr-stars{line-height:1;margin-right:8px}.oke-sr-rating{display:none}.oke-sr-count--brackets:before{content:"("}.oke-sr-count--brackets:after{content:")"}
580.oke-rk{display:block}.okeReviews[data-oke-container] .oke-reviewsKeywords-heading,div.okeReviews .oke-reviewsKeywords-heading{font-weight:700;margin-bottom:8px}.okeReviews[data-oke-container] .oke-reviewsKeywords-heading-skeleton,div.okeReviews .oke-reviewsKeywords-heading-skeleton{height:calc(var(--oke-button-fontSize) + 4px);width:150px}.okeReviews[data-oke-container] .oke-reviewsKeywords-list,div.okeReviews .oke-reviewsKeywords-list{display:inline-flex;align-items:center;flex-wrap:wrap;gap:4px}.okeReviews[data-oke-container] .oke-reviewsKeywords-list-category,div.okeReviews .oke-reviewsKeywords-list-category{background-color:var(--oke-filter-backgroundColor);color:var(--oke-filter-textColor);border:1px solid var(--oke-filter-borderColor);border-radius:var(--oke-filter-borderRadius);padding:6px 16px;transition:background-color .1s ease-out,border-color .1s ease-out;white-space:nowrap}.okeReviews[data-oke-container] .oke-reviewsKeywords-list-category.oke-is-clickable,div.okeReviews .oke-reviewsKeywords-list-category.oke-is-clickable{cursor:pointer}.okeReviews[data-oke-container] .oke-reviewsKeywords-list-category.oke-is-active,div.okeReviews .oke-reviewsKeywords-list-category.oke-is-active{background-color:var(--oke-filter-backgroundColorActive);color:var(--oke-filter-textColorActive);border-color:var(--oke-filter-borderColorActive)}.okeReviews[data-oke-container] .oke-reviewsKeywords .oke-translateButton,div.okeReviews .oke-reviewsKeywords .oke-translateButton{margin-top:12px}
581.oke-rs{display:block}.oke-rs .oke-reviewsSummary.oke-is-preRender .oke-reviewsSummary-summary{-webkit-mask:linear-gradient(180deg,#000 0,#000 40%,transparent 95%,transparent 0) 100% 50%/100% 100% repeat-x;mask:linear-gradient(180deg,#000 0,#000 40%,transparent 95%,transparent 0) 100% 50%/100% 100% repeat-x;max-height:150px}.okeReviews[data-oke-container] .oke-reviewsSummary .oke-tooltip,div.okeReviews .oke-reviewsSummary .oke-tooltip{display:inline-block;font-weight:400}.okeReviews[data-oke-container] .oke-reviewsSummary .oke-tooltip-trigger,div.okeReviews .oke-reviewsSummary .oke-tooltip-trigger{height:15px;width:15px;overflow:hidden;transform:translateY(-10%)}.okeReviews[data-oke-container] .oke-reviewsSummary-heading,div.okeReviews .oke-reviewsSummary-heading{align-items:center;-moz-column-gap:4px;column-gap:4px;display:inline-flex;font-weight:700;margin-bottom:8px}.okeReviews[data-oke-container] .oke-reviewsSummary-heading-skeleton,div.okeReviews .oke-reviewsSummary-heading-skeleton{height:calc(var(--oke-button-fontSize) + 4px);width:150px}.okeReviews[data-oke-container] .oke-reviewsSummary-icon,div.okeReviews .oke-reviewsSummary-icon{fill:currentColor;font-size:14px}.okeReviews[data-oke-container] .oke-reviewsSummary-icon svg,div.okeReviews .oke-reviewsSummary-icon svg{vertical-align:baseline}.okeReviews[data-oke-container] .oke-reviewsSummary-summary.oke-is-truncated,div.okeReviews .oke-reviewsSummary-summary.oke-is-truncated{display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis}</style>
582    
583    
583<script type="application/json" id="oke-reviews-settings">{"subscriberId":"d5db87f4-eb03-4047-97d5-338e742a9473","analyticsSettings":{"isWidgetOnScreenTrackingEnabled":false,"provider":"none"},"locale":"en","localeAndVariant":{"code":"en"},"matchCustomerLocale":false,"widgetSettings":{"global":{"dateSettings":{"format":{"type":"relative"}},"hideOkendoBranding":true,"stars":{"backgroundColor":"#E5E5E5","foregroundColor":"#FFCF2A","interspace":2,"shape":{"type":"default"},"showBorder":false},"showIncentiveIndicator":false,"searchEnginePaginationEnabled":false,"font":{"fontType":"inherit-from-page"}},"homepageCarousel":{"slidesPerPage":{"large":3,"medium":2},"totalSlides":12,"scrollBehaviour":"slide","style":{"showDates":true,"border":{"color":"#E5E5EB","width":{"value":1,"unit":"px"}},"bodyFont":{"hasCustomFontSettings":false},"headingFont":{"hasCustomFontSettings":false},"arrows":{"color":"#676986","size":{"value":24,"unit":"px"},"enabled":true},"avatar":{"backgroundColor":"#E5E5EB","placeholderTextColor":"#2C3E50","size":{"value":48,"unit":"px"},"enabled":false},"media":{"size":{"value":80,"unit":"px"},"imageGap":{"value":4,"unit":"px"},"enabled":false},"stars":{"height":{"value":18,"unit":"px"},"globalOverrideSettings":{"backgroundColor":"#E5E5E5","foregroundColor":"#FFCF2A"}},"productImageSize":{"value":48,"unit":"px"},"layout":{"name":"default","reviewDetailsPosition":"below","showProductName":false,"showAttributeBars":false,"showProductDetails":"only-when-grouped"},"highlightColor":"#0E7A82","spaceAbove":{"value":20,"unit":"px"},"text":{"primaryColor":"#2C3E50","fontSizeRegular":{"value":14,"unit":"px"},"fontSizeSmall":{"value":12,"unit":"px"},"secondaryColor":"#676986"},"spaceBelow":{"value":20,"unit":"px"}},"defaultSort":"rating desc","autoPlay":false,"truncation":{"bodyMaxLines":4,"truncateAll":false,"enabled":true}},"mediaCarousel":{"minimumImages":1,"linkText":"Read More","stars":{"backgroundColor":"#E5E5E5","foregroundColor":"#FFCF2A","height":{"value":12,"unit":"px"}},"autoPlay":false,"slideSize":"medium","arrowPosition":"outside"},"mediaGrid":{"showMoreArrow":{"arrowColor":"#676986","enabled":true,"backgroundColor":"#f4f4f6"},"infiniteScroll":false,"gridStyleDesktop":{"layout":"default-desktop"},"gridStyleMobile":{"layout":"default-mobile"},"linkText":"Read More","stars":{"backgroundColor":"#E5E5E5","foregroundColor":"#FFCF2A","height":{"value":12,"unit":"px"}},"gapSize":{"value":10,"unit":"px"}},"questions":{"initialPageSize":6,"loadMorePageSize":6},"reviewsBadge":{"layout":"large","colorScheme":"dark"},"reviewsTab":{"enabled":false},"reviewsWidget":{"tabs":{"reviews":true,"questions":false},"header":{"columnDistribution":"left","verticalAlignment":"top","blocks":[{"columnWidth":"one-third","modules":[{"name":"rating-average","layout":"two-line"},{"name":"rating-breakdown","backgroundColor":"#F4F4F6","shadingColor":"#20D999","stretchMode":"contain"}],"textAlignment":"left"},{"columnWidth":"one-third","modules":[{"name":"recommended"}],"textAlignment":"left"}]},"style":{"showDates":true,"border":{"color":"#4F5D7E","width":{"value":1,"unit":"px"}},"bodyFont":{"fontSize":{"value":18,"unit":"px"},"fontType":"custom","fontFamily":"Geologica","fontWeight":400,"hasCustomFontSettings":true},"headingFont":{"fontSize":{"value":14,"unit":"px"},"fontType":"custom","fontFamily":"Geologica","fontWeight":700,"hasCustomFontSettings":true},"filters":{"backgroundColorActive":"#444444","backgroundColor":"#FFFFFF","borderColor":"#444444","borderRadius":{"value":100,"unit":"px"},"borderColorActive":"#444444","textColorActive":"#FFFFFF","textColor":"#444444","searchHighlightColor":"#B2F9E9"},"avatar":{"backgroundColor":"#E5E5E5","placeholderTextColor":"#444444","size":{"value":48,"unit":"px"},"enabled":true},"stars":{"height":{"value":21,"unit":"px"},"globalOverrideSettings":{"backgroundColor":"#E5E5E5","foregroundColor":"#20D999"}},"shadingColor":"#FFFFFF","productImageSize":{"value":48,"unit":"px"},"button":{"backgroundColorActive":"#64FCC8","borderColorHover":"#000000","backgroundColor":"#64FCC8","borderColor":"#000000","backgroundColorHover":"#FFFFFF","textColorHover":"#000000","borderRadius":{"value":1,"unit":"px"},"borderWidth":{"value":1,"unit":"px"},"borderColorActive":"#EA8697","textColorActive":"#FFFFFF","textColor":"#000000","font":{"fontSize":{"value":13,"unit":"px"},"fontType":"custom","fontFamily":"Geologica","fontWeight":300,"hasCu
583stomFontSettings":true}},"highlightColor":"#20D999","spaceAbove":{"value":20,"unit":"px"},"text":{"primaryColor":"#444444","fontSizeRegular":{"value":16,"unit":"px"},"fontSizeLarge":{"value":18,"unit":"px"},"fontSizeSmall":{"value":16,"unit":"px"},"secondaryColor":"#444444"},"spaceBelow":{"value":20,"unit":"px"},"attributeBar":{"style":"default","backgroundColor":"#D3D4DD","shadingColor":"#444444","markerColor":"#444444"}},"showWhenEmpty":true,"reviews":{"list":{"layout":{"name":"minimal","showAttributeBars":false,"showProductVariantName":false,"columnAmount":4,"showProductDetails":"never"},"loyalty":{"maxInitialAchievements":3},"initialPageSize":5,"replyTruncation":{"bodyMaxLines":4,"enabled":true},"media":{"layout":"hidden"},"truncation":{"bodyMaxLines":4,"truncateAll":false,"enabled":true},"loadMorePageSize":5},"controls":{"filterMode":"closed","freeTextSearchEnabled":true,"writeReviewButtonEnabled":true,"defaultSort":"rating desc"}}},"starRatings":{"showWhenEmpty":true,"style":{"globalOverrideSettings":{"backgroundColor":"#E5E5E5","foregroundColor":"#000000","interspace":2,"showBorder":false},"spaceAbove":{"value":0,"unit":"px"},"text":{"content":"average-rating","style":"number-slash-5","brackets":false},"singleStar":false,"height":{"value":12,"unit":"px"},"spaceBelow":{"value":0,"unit":"px"}},"clickBehavior":"none"}},"features":{"attributeFiltersEnabled":true,"recorderPlusEnabled":true,"recorderQandaPlusEnabled":true,"reviewsKeywordsEnabled":true,"reviewsSummariesEnabled":true}}</script>
583
584            <style id="oke-css-vars">:root{--oke-widget-spaceAbove:20px;--oke-widget-spaceBelow:20px;--oke-starRating-spaceAbove:0;--oke-starRating-spaceBelow:0;--oke-button-backgroundColor:#64fcc8;--oke-button-backgroundColorHover:#fff;--oke-button-backgroundColorActive:#64fcc8;--oke-button-textColor:#000;--oke-button-textColorHover:#000;--oke-button-textColorActive:#fff;--oke-button-borderColor:#000;--oke-button-borderColorHover:#000;--oke-button-borderColorActive:#ea8697;--oke-button-borderRadius:1px;--oke-button-borderWidth:1px;--oke-button-fontWeight:300;--oke-button-fontSize:13px;--oke-button-fontFamily:Geologica,sans-serif;--oke-border-color:#4f5d7e;--oke-border-width:1px;--oke-text-primaryColor:#444;--oke-text-secondaryColor:#444;--oke-text-small:16px;--oke-text-regular:16px;--oke-text-large:18px;--oke-text-fontFamily:inherit;--oke-avatar-size:48px;--oke-avatar-backgroundColor:#e5e5e5;--oke-avatar-placeholderTextColor:#444;--oke-highlightColor:#20d999;--oke-shadingColor:#fff;--oke-productImageSize:48px;--oke-attributeBar-shadingColor:#444;--oke-attributeBar-borderColor:undefined;--oke-attributeBar-backgroundColor:#d3d4dd;--oke-attributeBar-markerColor:#444;--oke-filter-backgroundColor:#fff;--oke-filter-backgroundColorActive:#444;--oke-filter-borderColor:#444;--oke-filter-borderColorActive:#444;--oke-filter-textColor:#444;--oke-filter-textColorActive:#fff;--oke-filter-borderRadius:100px;--oke-filter-searchHighlightColor:#b2f9e9;--oke-mediaGrid-chevronColor:#676986;--oke-stars-foregroundColor:#ffcf2a;--oke-stars-backgroundColor:#e5e5e5;--oke-stars-borderWidth:0}.oke-reviewCarousel{--oke-stars-foregroundColor:#ffcf2a;--oke-stars-backgroundColor:#e5e5e5;--oke-stars-borderWidth:0}.oke-w,.oke-modal{--oke-stars-foregroundColor:#20d999;--oke-stars-backgroundColor:#e5e5e5;--oke-stars-borderWidth:0}.oke-sr{--oke-stars-foregroundColor:#000;--oke-stars-backgroundColor:#e5e5e5;--oke-stars-borderWidth:0}.oke-w,.oke-modal{--oke-title-fontWeight:700;--oke-title-fontSize:14px;--oke-title-fontFamily:Geologica,sans-serif;--oke-bodyText-fontWeight:400;--oke-bodyText-fontSize:18px;--oke-bodyText-fontFamily:Geologica,sans-serif}</style>
585            <style id="oke-reviews-custom-css">[data-oke-widget] .oke-w,[data-oke-widget] div.okeReviews.oke-w,.oke-sr-count{font-family:"FuturaStdBook",sans-serif}.product-info-container .oke-sr-count{display:none}[data-oke-widget] div.okeReviews p:last-child{line-height:23px}.okeReviews[data-oke-container] .oke-w-reviewer-name,.okeReviews[data-oke-container] .oke-w-reviewer-verified,[data-oke-widget] div.okeReviews .oke-w-reviewer-name,[data-oke-widget] div.okeReviews .oke-w-reviewer-verified{font-weight:400}.okeReviews[data-oke-container] .oke-button:not(.oke-is-loading),div.okeReviews .oke-button:not(.oke-is-loading){height:100%}.okeReviews[data-oke-container] .oke-button:not(.oke-is-loading):not(.oke-is-active):hover,[data-oke-widget] div.okeReviews .oke-button:not(.oke-is-loading):not(.oke-is-active):hover{box-shadow:none}.okeReviews[data-oke-container] .oke-modal,.okeReviews[data-oke-container] .oke-modal p,div.okeReviews .oke-modal,div.okeReviews .oke-modal p,.okeReviews[data-oke-container] .oke-modal .oke-helpful,.okeReviews[data-oke-container] .oke-modal .oke-helpful-vote-button,.okeReviews[data-oke-container] .oke-modal .oke-reviewContent-date,div.okeReviews .oke-modal .oke-helpful,div.okeReviews .oke-modal .oke-helpful-vote-button,div.okeReviews .oke-modal .oke-reviewContent-date{color:#444}.okeReviews.oke-w .oke-is-small .oke-button,.okeReviews.oke-w .oke-is-small .oke-w-reviews-writeReview,.okeReviews.oke-w .oke-is-small .oke-qw-askQuestion{width:100%}.okeReviews.oke-w .oke-is-small .oke-w-reviews-writeReview{margin-top:15px}.okeReviews.oke-w .oke-is-small .oke-qw-header-askQuestion{margin-left:0;width:100%}@media screen and (max-width:768px){.product-info-container .oke-sr-count{display:flex;justify-content:center}}.oke-qw-header{align-items:center;margin:10px}.okeReviews[data-oke-container] .oke-questions-main,[data-oke-widget] div.okeReviews .oke-questions-main{padding-top:90px}@media screen and (max-width:425px){.okeReviews[data-oke-container] .oke-questions-main,[data-oke-widget] div.okeReviews .oke-questions-main{padding-top:120px}}</style>
586            <template id="oke-reviews-body-template"><svg id="oke-star-symbols" style="display:none!important" data-oke-id="oke-star-symbols"><symbol id="oke-star-empty" style="overflow:visible;"><path id="star-default--empty" fill="var(--oke-stars-backgroundColor)" stroke="var(--oke-stars-borderColor)" stroke-width="var(--oke-stars-borderWidth)" d="M3.34 13.86c-.48.3-.76.1-.63-.44l1.08-4.56L.26 5.82c-.42-.36-.32-.7.24-.74l4.63-.37L6.92.39c.2-.52.55-.52.76 0l1.8 4.32 4.62.37c.56.05.67.37.24.74l-3.53 3.04 1.08 4.56c.13.54-.14.74-.63.44L7.3 11.43l-3.96 2.43z"/></symbol><symbol id="oke-star-filled" style="overflow:visible;"><path id="star-default--filled" fill="var(--oke-stars-foregroundColor)" stroke="var(--oke-stars-borderColor)" stroke-width="var(--oke-stars-borderWidth)" d="M3.34 13.86c-.48.3-.76.1-.63-.44l1.08-4.56L.26 5.82c-.42-.36-.32-.7.24-.74l4.63-.37L6.92.39c.2-.52.55-.52.76 0l1.8 4.32 4.62.37c.56.05.67.37.24.74l-3.53 3.04 1.08 4.56c.13.54-.14.74-.63.44L7.3 11.43l-3.96 2.43z"/></symbol></svg></template>
586<script>document.addEventListener('readystatechange',() =>{Array.from(document.getElementById('oke-reviews-body-template')?.content.children)?.forEach(function(child){if(!Array.from(document.body.querySelectorAll('[data-oke-id='.concat(child.getAttribute('data-oke-id'),']'))).length){document.body.prepend(child)}})},{once:true});</script>
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600<!-- END app snippet -->
601
602    <!-- BEGIN app snippet: okendo-reviews-json-ld -->
603<!-- END app snippet -->
604
605<!-- BEGIN app snippet: widget-plus-initialisation-script -->
606
607
608
609
610    
610<script async id="okendo-reviews-script" src="https://cdn-static.okendo.io/reviews-widget-plus/js/okendo-reviews.js"></script>
610
611
612<!-- END app snippet -->
613
614
615<!-- END app block --><!-- BEGIN app block: shopify://apps/klaviyo-email-marketing-sms/blocks/klaviyo-onsite-embed/2632fe16-c075-4321-a88b-50b567f42507 -->
616
617
618
619
620
621
622
623
624
625
626
627
628  
628<script async src="https://static.klaviyo.com/onsite/js/USuK5c/klaviyo.js?company_id=USuK5c"></script>
628
629  
629<script>!function(){if(!window.klaviyo){window._klOnsite=window._klOnsite||[];try{window.klaviyo=new Proxy({},{get:function(n,i){return"push"===i?function(){var n;(n=window._klOnsite).push.apply(n,arguments)}:function(){for(var n=arguments.length,o=new Array(n),w=0;w<n;w++)o[w]=arguments[w];var t="function"==typeof o[o.length-1]?o.pop():void 0,e=new Promise((function(n){window._klOnsite.push([i].concat(o,[function(i){t&&t(i),n(i)}]))}));return e}}})}catch(n){window.klaviyo=window.klaviyo||[],window.klaviyo.push=function(){var n;(n=window._klOnsite).push.apply(n,arguments)}}}}();</script>
629
630
631  
632    
632<script id="viewed_product">
633      if (item == null) {
634        var _learnq = _learnq || [];
635
636        var MetafieldReviews = null
637        var MetafieldYotpoRating = null
638        var MetafieldYotpoCount = null
639        var MetafieldLooxRating = null
640        var MetafieldLooxCount = null
641        var okendoProduct = null
642        var okendoProductReviewCount = null
643        var okendoProductReviewAverageValue = null
644        try {
645          // The following fields are used for Customer Hub recently viewed in order to add reviews.
646          // This information is not part of __kla_viewed. Instead, it is part of __kla_viewed_reviewed_items
647          MetafieldReviews = {"rating":{"scale_min":"1.0","scale_max":"5.0","value":"4.8"},"rating_count":9};
648          MetafieldYotpoRating = null
649          MetafieldYotpoCount = null
650          MetafieldLooxRating = null
651          MetafieldLooxCount = null
652
653          okendoProduct = {"attributeRatings":[],"fiveStarReviewCount":8,"mediaCount":0,"percentageRecommended":89,"reviewAverageValue":"4.8","reviewCount":9}
654          // If the okendo metafield is not legacy, it will error, which then requires the new json formatted data
655          if (okendoProduct && 'error' in okendoProduct) {
656            okendoProduct = null
657          }
658          okendoProductReviewCount = okendoProduct ? okendoProduct.reviewCount : null
659          okendoProductReviewAverageValue = okendoProduct ? okendoProduct.reviewAverageValue : null
660        } catch (error) {
661          console.error('Error in Klaviyo onsite reviews tracking:', error);
662        }
663
664        var item = {
665          Name: "Skin Drink I.V.",
666          ProductID: 7574678405179,
667          Categories: ["Dry Skin","Serums","Shop All","Skin Type 2","Skin Type 5","Skin Type 6","Skin Type 7","Skin Type 8","Skin Type 9","What's New"],
668          ImageURL: "https://www.reneerouleau.com/cdn/shop/files/ReneeRouleau-SkinDrinkI.V.-1024x1024-Shadow_grande.jpg?v=1777079077",
669          URL: "https://www.reneerouleau.com/products/skin-drink-i-v",
670          Brand: "Renée Rouleau Professional Skin Care",
671          Price: "$72.50",
672          Value: "72.50",
673          CompareAtPrice: "$0.00"
674        };
675        _learnq.push(['track', 'Viewed Product', item]);
676        _learnq.push(['trackViewedItem', {
677          Title: item.Name,
678          ItemId: item.ProductID,
679          Categories: item.Categories,
680          ImageUrl: item.ImageURL,
681          Url: item.URL,
682          Metadata: {
683            Brand: item.Brand,
684            Price: item.Price,
685            Value: item.Value,
686            CompareAtPrice: item.CompareAtPrice
687          },
688          metafields:{
689            reviews: MetafieldReviews,
690            yotpo:{
691              rating: MetafieldYotpoRating,
692              count: MetafieldYotpoCount,
693            },
694            loox:{
695              rating: MetafieldLooxRating,
696              count: MetafieldLooxCount,
697            },
698            okendo: {
699              rating: okendoProductReviewAverageValue,
700              count: okendoProductReviewCount,
701            }
702          }
703        }]);
704      }
705    </script>
705
706  
707
708
709
710
711  
711<script>
712    window.klaviyoReviewsProductDesignMode = false
713  </script>
713
714
715
716
717
718
719
720
721
722
723<!-- END app block --><!-- BEGIN app block: shopify://apps/microsoft-clarity/blocks/clarity_js/31c3d126-8116-4b4a-8ba1-baeda7c4aeea -->
724<script type="text/javascript">
725  (function (c, l, a, r, i, t, y) {
726    c[a] = c[a] || function () { (c[a].q = c[a].q || []).push(arguments); };
727    t = l.createElement(r); t.async = 1; t.src = "https://www.clarity.ms/tag/" + i + "?ref=shopify";
728    y = l.getElementsByTagName(r)[0]; y.parentNode.insertBefore(t, y);
729
730    c.Shopify.loadFeatures([{ name: "consent-tracking-api", version: "0.1" }], error => {
731      if (error) {
732        console.error("Error loading Shopify features:", error);
733        return;
734      }
735
736      c[a]('consentv2', {
737        ad_Storage: c.Shopify.customerPrivacy.marketingAllowed() ? "granted" : "denied",
738        analytics_Storage: c.Shopify.customerPrivacy.analyticsProcessingAllowed() ? "granted" : "denied",
739        source: 101,
740      });
741    });
742
743    l.addEventListener("visitorConsentCollected", function (e) {
744      c[a]('consentv2', {
745        ad_Storage: e.detail.marketingAllowed ? "granted" : "denied",
746        analytics_Storage: e.detail.analyticsAllowed ? "granted" : "denied",
747        source: 101,
748      });
749    });
750  })(window, document, "clarity", "script", "wur1brt3qq");
751</script>
751
752
753
754
755<!-- END app block --><!-- BEGIN app block: shopify://apps/userway-website-accessibility/blocks/uw-widget-extension/bc2d8a34-1a37-451b-ab1a-271bc4e9daa7 -->
756
757
758
759
760<script type="text/javascript" async="" src="https://cdn.userway.org/widget.js?account=h1rCfYhuxl&amp;platfAppInstalledSiteId=2792681&amp;shop=www.reneerouleau.com"></script>
760
761
762<!-- END app block --><link href="https://monorail-edge.shopifysvc.com" rel="dns-prefetch">
763<script>(function(){if ("sendBeacon" in navigator && "performance" in window) {try {var session_token_from_headers = performance.getEntriesByType('navigation')[0].serverTiming.find(x => x.name == '_s').description;} catch {var session_token_from_headers = undefined;}var session_cookie_matches = document.cookie.match(/_shopify_s=([^;]*)/);var session_token_from_cookie = session_cookie_matches && session_cookie_matches.length === 2 ? session_cookie_matches[1] : "";var session_token = session_token_from_headers || session_token_from_cookie || "";function handle_abandonment_event(e) {var entries = performance.getEntries().filter(function(entry) {return /monorail-edge.shopifysvc.com/.test(entry.name);});if (!window.abandonment_tracked && entries.length === 0) {window.abandonment_tracked = true;var currentMs = Date.now();var navigation_start = performance.timing.navigationStart;var payload = {shop_id: 15944825,url: window.location.href,navigation_start,duration: currentMs - navigation_start,session_token,page_type: "product"};window.navigator.sendBeacon("https://monorail-edge.shopifysvc.com/v1/produce", JSON.stringify({schema_id: "online_store_buyer_site_abandonment/1.1",payload: payload,metadata: {event_created_at_ms: currentMs,event_sent_at_ms: currentMs}}));}}window.addEventListener('pagehide', handle_abandonment_event);}}());</script>
vendor: 1 bytes, line 763
763
764<script>
765  window.__TREKKIE_SHIM_QUEUE = window.__TREKKIE_SHIM_QUEUE || [];
766</script>
vendor: 1 bytes, line 766
766
767<script>(function(){var wpmLoader=function(){"use strict";var e=/Googlebot|Storebot-Google|bingbot|Baiduspider|YandexBot|DuckDuckBot|Slurp|facebookexternalhit|Twitterbot|LinkedInBot|Applebot|AdsBot-Google|Mediapartners-Google|APIs-Google|PetalBot|SemrushBot|AhrefsBot|MJ12bot|DotBot|Acunetix|PerplexityBot|Perplexity-User/i,t=/bytedance/i;function i(){try{var e=document.cookie;if(!e||"string"!=typeof e)return;for(var t=0,i=e.split(";");t<i.length;t++){var n=i[t],r=n.indexOf("=");if(-1!==r){var o=n.slice(0,r).trim();if(o){var a=void 0;try{a=decodeURIComponent(o)}catch(e){a=o}if("_shopify_s"===a){var d=n.slice(r+1).trim();try{return decodeURIComponent(d)}catch(e){return d}}}}}return}catch(e){return}}function n(e){try{"undefined"!=typeof console&&"function"==typeof console.warn&&console.warn(e)}catch(e){}}function r(e,t){return"string"==typeof e&&e.length>0&&e.length<=t?e:void 0}function o(e){var t;switch(null==(t=null==e?void 0:e.navigation)?void 0:t.type){case 0:return"navigate";case 1:return"reload";case 2:return"back_forward";default:return}}function a(){var e,t,i;try{var n=null==(i=null==(t=null==(e=self.ShopifyAnalytics)?void 0:e.lib)?void 0:t.trekkie)?void 0:i.state;return"awaiting-consent"===n||"initialized"===n?n:void 0}catch(e){return}}return function(d,s,u,l){var c=arguments.length>4&&void 0!==arguments[4]?arguments[4]:{};try{var p=c.trekkieShim;!0!==p&&"true"!==p||null!=window.__TREKKIE_SHIM_QUEUE||(window.__TREKKIE_SHIM_QUEUE=[])}catch(e){}var f,v,h,y,g=(v=(f={modern:/Edge?\/(1{2}[4-9]|1[2-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|Firefox\/(1{2}[4-9]|1[2-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|Chrom(ium|e)\/(9{2}|\d{3,})\.\d+(\.\d+|)|(Maci|X1{2}).+ Version\/(15\.\d+|(1[6-9]|[2-9]\d|\d{3,})\.\d+)([,.]\d+|)( \(\w+\)|)( Mobile\/\w+|) Safari\/|Chrome.+OPR\/(9{2}|\d{3,})\.\d+\.\d+|(CPU[ +]OS|iPhone[ +]OS|CPU[ +]iPhone|CPU IPhone OS|CPU iPad OS)[ +]+(15[._]\d+|(1[6-9]|[2-9]\d|\d{3,})[._]\d+)([._]\d+|)|Android:?[ /-](14[89]|1[5-9]\d|[2-9]\d{2}|\d{4,})(\.\d+|)(\.\d+|)|Android.+Firefox\/(15\d|1[6-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|Android.+Chrom(ium|e)\/(14[89]|1[5-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|SamsungBrowser\/([2-9]\d|\d{3,})\.\d+/,legacy:/Edge?\/(1[6-9]|[2-9]\d|\d{3,})\.\d+(\.\d+|)|Firefox\/(5[4-9]|[6-9]\d|\d{3,})\.\d+(\.\d+|)|Chrom(ium|e)\/(5[1-9]|[6-9]\d|\d{3,})\.\d+(\.\d+|)([\d.]+$|.*Safari\/(?![\d.]+ Edge\/[\d.]+$))|(Maci|X1{2}).+ Version\/(10\.\d+|(1[1-9]|[2-9]\d|\d{3,})\.\d+)([,.]\d+|)( \(\w+\)|)( Mobile\/\w+|) Safari\/|Chrome.+OPR\/(3[89]|[4-9]\d|\d{3,})\.\d+\.\d+|(CPU[ +]OS|iPhone[ +]OS|CPU[ +]iPhone|CPU IPhone OS|CPU iPad OS)[ +]+(10[._]\d+|(1[1-9]|[2-9]\d|\d{3,})[._]\d+)([._]\d+|)|Android:?[ /-](14[89]|1[5-9]\d|[2-9]\d{2}|\d{4,})(\.\d+|)(\.\d+|)|Mobile Safari.+OPR\/([89]\d|\d{3,})\.\d+\.\d+|Android.+Firefox\/(15\d|1[6-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|Android.+Chrom(ium|e)\/(14[89]|1[5-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|Android.+(UC? ?Browser|UCWEB|U3)[ /]?(15\.([5-9]|\d{2,})|(1[6-9]|[2-9]\d|\d{3,})\.\d+)\.\d+|SamsungBrowser\/(5\.\d+|([6-9]|\d{2,})\.\d+)|Android.+MQ{2}Browser\/(14(\.(9|\d{2,})|)|(1[5-9]|[2-9]\d|\d{3,})(\.\d+|))(\.\d+|)|K[Aa][Ii]OS\/(3\.\d+|([4-9]|\d{2,})\.\d+)(\.\d+|)/}).modern,h=f.legacy,(y=navigator.userAgent).match(e)?"bot":y.match(v)?"modern":y.match(h)?"legacy":y.match(t)?"bot":"unknown"),m=function(e){var t,i,n=r(e,128);try{var a=window.performance,d=null==(t=null==a?void 0:a.getEntriesByType)?void 0:t.call(a,"navigation")[0];if(!d)return{requestId:n,navigationType:o(a)};var s="type"in d?r(d.type,64):void 0,u="serverTiming"in d&&Array.isArray(d.serverTiming)?d.serverTiming:[];return{requestId:null!=n?n:r(null==(i=u.find(function(e){return"requestID"===e.name}))?void 0:i.description,128),navigationType:s}}catch(e){return{requestId:n}}}(c.requestId),w=function(e){var t=e.version,r=e.browserTarget,o=e.surface,a=e.shopId,d=e.monorailEndpoint,s=window.location.href;return{emit:function(e){var u=e.status,l=e.errorMsg,c=e.failureReason,p=e.useKeepaliveFallback,f=void 0!==p&&p,v=e.navigationType,h=e.pagehidePersisted,y=e.requestId,g=e.trekkieState;if(d){var m,w;try{var b=(new Date).getTime();m=JSON.stringify({metadata:{event_sent_at_ms:b},events:[{schema_id:"web_pixels_manager_load/3.3",payload:{version:t,bundle_target:r,page_url:s,status:u,surface:o,error_msg:l,failure_reason:c,navigation_type:v,pagehide_persisted:h,request_id:y,trekkie_state:g,shop_id:a,visit_token:i()},metadata:{event_created_at_ms:b}}]})}catch(e){return}try{if("function"==typeof window.navigator.sendBeacon&&-1===(w=window.navigator.userAgent).indexOf("iPhone; CPU iPhone OS 12_")&&-1===w.indexOf("iPad; CPU OS 12_")&&-1===w.indexOf("iPod touch; CPU iPhone OS 12_")&&window.navigator.sendBeacon.bind(window.navigator)(d,m))return}catch(e){}if(f)try{"function"==typeof window.fetch&&window.fetch(d,{method:"POST",headers:{"Content-Type":"text/plain"},body:m,keepalive:!0}
767).catch(function(){})}catch(e){}else try{var _=new XMLHttpRequest;_.open("POST",d,!0),_.setRequestHeader("Content-Type","text/plain"),_.send(m)}catch(e){n("[Web Pixels Manager] Got an unhandled error while logging to Monorail.")}}else n("[Web Pixels Manager] No Monorail endpoint provided, skipping logging.")}}}({version:u,browserTarget:g,surface:d.surface,shopId:d.shopId,monorailEndpoint:d.monorailEndpoint});if(Boolean(null==(_=null==(b=window.Shopify)?void 0:b.analytics)?void 0:_.replayQueue))w.emit({status:"setup-skipped",errorMsg:"replay queue already initialized."});else{var b,_;w.emit({status:"setup-started"}),window.Shopify=window.Shopify||{};var S=window.Shopify;S.analytics=S.analytics||{};var P=S.analytics;P.replayQueue=[],P.publish=function(e,t,i){return P.replayQueue.push([e,t,i]),!0};try{self.performance.mark("wpm:start")}catch(e){}var k,C="modern"===g?"modern":"legacy",E=(null!=l?l:{modern:"",legacy:""})[C],I=[(k={baseUrl:s,hashVersion:u,buildTarget:C}).baseUrl,"/wpm","/b",k.hashVersion,"modern"===k.buildTarget?"m":"l",".js"].join(""),O=!1,T=!1;try{c.browserTarget=g,function(){O=!0;try{window.addEventListener("pagehide",M)}catch(e){O=!1}}(),R(function(){try{R(x)}catch(e){D(e)}}),w.emit({status:"loading",requestId:m.requestId,navigationType:m.navigationType,trekkieState:a()})}catch(e){D(e)}}function U(){var e;if(q(),!function(){var e,t;return Boolean(null==(t=null==(e=window.Shopify)?void 0:e.analytics)?void 0:t.initialized)}()){var t,i,n;try{if("function"!=typeof(null==(e=window.webPixelsManager)?void 0:e.init))return void A();if(!(null!==(n=i=t=window.webPixelsManager.init(d))&&"function"!=typeof n&&Object(n)===n&&"publish"in i&&"function"==typeof i.publish&&"publishCustomEvent"in i&&"function"==typeof i.publishCustomEvent&&"visitor"in i&&"function"==typeof i.visitor))return void A()}catch(e){return void A(e)}var r=window.Shopify.analytics;r.replayQueue.forEach(function(e){var i=e[0],n=e[1],r=e[2];t.publishCustomEvent(i,n,r)}),r.replayQueue=[],r.publish=t.publishCustomEvent,r.visitor=t.visitor,r.initialized=!0}}function A(e){B("manager_api_unavailable",void 0===e?void 0:Q(e))}function x(){B("script_load_failed","".concat(I," has failed to load"))}function B(e,t){T||(T=!0,q(),w.emit({status:"failed",errorMsg:t,failureReason:e,requestId:m.requestId,navigationType:m.navigationType,trekkieState:a()}))}function M(e){O&&(q(),w.emit({status:"pagehide-while-loading",useKeepaliveFallback:!0,pagehidePersisted:e.persisted,requestId:m.requestId,navigationType:m.navigationType,trekkieState:a()}))}function q(){O=!1;try{window.removeEventListener("pagehide",M)}catch(e){}}function R(e){var t;!function(e){var t=e.src,i=e.async,n=void 0===i||i,r=e.onload,o=e.onerror,a=e.sri,d=e.scriptDataAttributes,s=void 0===d?{}:d,u=document.createElement("script"),l=document.querySelector("head"),c=document.querySelector("body");if(u.async=n,u.src=t,a&&(u.integrity=a,u.crossOrigin="anonymous"),s)for(var p in s)if(Object.prototype.hasOwnProperty.call(s,p))try{u.dataset[p]=String(s[p])}catch(e){}if(r&&u.addEventListener("load",r),o&&u.addEventListener("error",o),l)l.appendChild(u);else{if(!c)throw new Error("Did not find a head or body element to append the script");c.appendChild(u)}}({src:I,async:!0,onload:U,onerror:e,sri:(t=E,"string"==typeof t&&/^sha384-[A-Za-z0-9+/=]+$/.test(t)?E:""),scriptDataAttributes:c})}function D(e){B("script_append_failed",Q(e))}function Q(e){return e instanceof Error?e.message:"Unknown error"}}}();wpmLoader({shopId: 15944825,storefrontBaseUrl: "https://www.reneerouleau.com",extensionsBaseUrl: "https://extensions.shopifycdn.com/cdn/shopifycloud/web-pixels-manager",monorailEndpoint: "https://www.reneerouleau.com/.well-known/shopify/monorail/unstable/produce_batch",surface: "storefront-renderer",enabledBetaFlags: ["16072cab","8450a54b"],webPixelsConfigList: [{"id":"1730904123","configuration":"{\"org_id\":\"472bb8e5-4441-41c4-a949-e93b216f8e62\",\"mappings_json\":\"[{\\\"shopifyEvent\\\":\\\"product_added_to_cart\\\",\\\"shortKey\\\":\\\"Vi5YWA\\\",\\\"includeRevenue\\\":true,\\\"includeOrderId\\\":false},{\\\"shopifyEvent\\\":\\\"checkout_completed\\\",\\\"shortKey\\\":\\\"cptZCg\\\",\\\"includeRevenue\\\":true,\\\"includeOrderId\\\":true}]\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"5adfd93c8a233123cd1a8336b045ca94","type":"APP","apiClientId":376178016257,"privacyPurposes":["ANALYTICS","MARKETING","SALE_OF_DATA"],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_address","read_customer_email","read_customer_name","read_customer_phone","read_customer_personal_data"],"dataSharingControls":["share_all_events"]},"dataSharingState":"optimized"}
767,{"id":"1689813051","configuration":"{\"projectId\":\"wur1brt3qq\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"d8a2bb2ccbb513dc8e8b6937f4b8033e","type":"APP","apiClientId":240074326017,"privacyPurposes":[],"capabilities":["advanced_dom_events"],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_personal_data"],"dataSharingControls":["share_all_events"]},"dataSharingState":"unrestricted"},{"id":"1309769787","configuration":"{\"accountId\":\"renee-rouleau-quiz.myshopify.com\",\"trackingOrigin\":\"https:\\\/\\\/shdid.me\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"ebf932729e55df621053f2896dbe44a7","type":"APP","apiClientId":94099111937,"privacyPurposes":["ANALYTICS","MARKETING"],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_address","read_customer_email","read_customer_name","read_customer_personal_data","read_customer_phone"],"dataSharingControls":["share_all_events"]},"dataSharingState":"optimized"},{"id":"1197441083","configuration":"{\"swymApiEndpoint\":\"https:\/\/swymstore-v3pro-01.swymrelay.com\",\"swymTier\":\"v3pro-01\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"5b6f6917e306bc7f24523662663331c0","type":"APP","apiClientId":1350849,"privacyPurposes":["ANALYTICS","MARKETING","PREFERENCES"],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_email","read_customer_name","read_customer_personal_data","read_customer_phone"],"dataSharingControls":["share_all_events"]},"dataSharingState":"optimized"},{"id":"973340731","configuration":"{\"shop\":\"renee-rouleau-quiz.myshopify.com\", \"shopliftUrl\":\"https:\/\/events.shoplift.ai\/api\/events\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"dabcda9558be25394b12ce3ce899568b","type":"APP","apiClientId":7521861633,"privacyPurposes":["ANALYTICS"],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_address","read_customer_email","read_customer_name","read_customer_personal_data","read_customer_phone"],"dataSharingControls":["share_all_events"]},"dataSharingState":"unrestricted"},{"id":"931463227","configuration":"{\"accountID\":\"USuK5c\",\"webPixelConfig\":\"eyJlbmFibGVBZGRlZFRvQ2FydEV2ZW50cyI6IHRydWV9\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"c63c5b72c8d77be5f2d27d14c081da38","type":"APP","apiClientId":123074,"privacyPurposes":["ANALYTICS","MARKETING"],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_address","read_customer_email","read_customer_name","read_customer_personal_data","read_customer_phone"],"dataSharingControls":["share_all_events"]},"dataSharingState":"optimized","enabledFlags":["9a3ed68a"]},{"id":"487227451","configuration":"{\"loggingEnabled\":\"false\",\"serverPixelEnabled\":\"true\",\"useShopifyItemLevelTax\":\"false\",\"ranMid\":\"45678\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"3c4e0707a22db0bd439a5e4b720ea9d0","type":"APP","apiClientId":2531653,"privacyPurposes":["ANALYTICS"],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_address","read_customer_personal_data"],"dataSharingControls":["share_all_events"]},"dataSharingState":"unrestricted"},{"id":"367886395","configuration":"{\"botID\":\"besfsov8epo3fdpu\",\"octaneDomain\":\"https:\/\/app.octaneai.com\",\"octaneNewDomain\":\"https:\/\/app2.octaneai.com\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"bd1df4806f96b914851f3ad62aad33e8","type":"APP","apiClientId":2012438,"privacyPurposes":["ANALYTICS","MARKETING","SALE_OF_DATA"],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_email","read_customer_personal_data"],"dataSharingControls":["share_all_events"]},"dataSharingState":"optimized"},{"id":"264962107","configuration":"{\"config\":\"{\\\"google_tag_ids\\\":[\\\"G-4KDC0M061F\\\",\\\"AW-17916481584\\\",\\\"GT-NC8QP6Z\\\"],\\\"target_country\\\":\\\"US\\\",\\\"gtag_events\\\":[{\\\"type\\\":\\\"begin_checkout\\\",\\\"action_label\\\":[\\\"G-4KDC0M061F\\\",\\\"AW-17916481584\\\/51khCJuyjvwbELCgn99C\\\"]},{\\\"type\\\":\\\"search\\\",\\\"action_label\\\":[\\\"G-4KDC0M061F\\\",\\\"AW-17916481584\\\/uaiXCP7dkfwbELCgn99C\\\"]},{\\\"type\\\":\\\"remove_from_cart\\\",\\\"action_label\\\":\\\"G-4KDC0M061F\\\"},{\\\"type\\\":\\\"view_item\\\",\\\"action_label\\\":[\\\"G-4KDC0M061F\\\",\\\"AW-17916481584\\\/TFyXCKSyjvwbELCgn99C\\\",\\\"MC-8VM2XXTRNV\\\"]}
767,{\\\"type\\\":\\\"add_shipping_info\\\",\\\"action_label\\\":\\\"G-4KDC0M061F\\\"},{\\\"type\\\":\\\"purchase\\\",\\\"action_label\\\":[\\\"G-4KDC0M061F\\\",\\\"AW-17916481584\\\/szhFCJiyjvwbELCgn99C\\\",\\\"MC-8VM2XXTRNV\\\"]},{\\\"type\\\":\\\"page_view\\\",\\\"action_label\\\":[\\\"G-4KDC0M061F\\\",\\\"AW-17916481584\\\/30sfCKGyjvwbELCgn99C\\\",\\\"MC-8VM2XXTRNV\\\"]},{\\\"type\\\":\\\"view_item_list\\\",\\\"action_label\\\":\\\"G-4KDC0M061F\\\"},{\\\"type\\\":\\\"add_payment_info\\\",\\\"action_label\\\":[\\\"G-4KDC0M061F\\\",\\\"AW-17916481584\\\/UNs7CPnekfwbELCgn99C\\\"]},{\\\"type\\\":\\\"add_to_cart\\\",\\\"action_label\\\":[\\\"G-4KDC0M061F\\\",\\\"AW-17916481584\\\/wqcqCJ6yjvwbELCgn99C\\\"]},{\\\"type\\\":\\\"view_cart\\\",\\\"action_label\\\":\\\"G-4KDC0M061F\\\"}],\\\"enable_monitoring_mode\\\":false}\"}","eventPayloadVersion":"v1","runtimeContext":"OPEN","scriptVersion":"a3321ca85cf5aaf6b57585fcd8d67b3a","type":"APP","apiClientId":1780363,"privacyPurposes":[],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_address","read_customer_email","read_customer_name","read_customer_personal_data","read_customer_phone"],"dataSharingControls":["share_all_events"]},"dataSharingState":"optimized","enabledFlags":["9a3ed68a"]},{"id":"206798907","configuration":"{\"pixelCode\":\"C5DLU0Q4IHCNL5JLE3GG\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"22e92c2ad45662f435e4801458fb78cc","type":"APP","apiClientId":4383523,"privacyPurposes":["ANALYTICS","MARKETING","SALE_OF_DATA"],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_address","read_customer_email","read_customer_name","read_customer_personal_data","read_customer_phone"],"dataSharingControls":["share_all_events"]},"dataSharingState":"optimized"},{"id":"110493755","configuration":"{\"pixel_id\":\"466707850347066\",\"pixel_type\":\"facebook_pixel\",\"metaapp_system_user_token\":\"-\"}","eventPayloadVersion":"v1","runtimeContext":"OPEN","scriptVersion":"96420dbe9ea96c426a1b7f364f977719","type":"APP","apiClientId":2329312,"privacyPurposes":["ANALYTICS","MARKETING","SALE_OF_DATA"],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_address","read_customer_email","read_customer_name","read_customer_personal_data","read_customer_phone"],"dataSharingControls":["share_all_events"]},"dataSharingState":"optimized","enabledFlags":["9a3ed68a"]},{"id":"56328251","configuration":"{\"tagID\":\"2613177867340\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"7ae565e198624b39e0856d352b9a6b4c","type":"APP","apiClientId":3009811,"privacyPurposes":["ANALYTICS","MARKETING","SALE_OF_DATA"],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_address","read_customer_email","read_customer_name","read_customer_personal_data","read_customer_phone"],"dataSharingControls":["share_all_events"]},"dataSharingState":"optimized"},{"id":"21102651","eventPayloadVersion":"1","runtimeContext":"LAX","scriptVersion":"1","type":"CUSTOM","privacyPurposes":["ANALYTICS","MARKETING","SALE_OF_DATA"],"name":"Google Tag Manager"},{"id":"82640955","eventPayloadVersion":"1","runtimeContext":"LAX","scriptVersion":"1","type":"CUSTOM","privacyPurposes":[],"name":"JustUno Conversion Code"},{"id":"shopify-app-pixel","configuration":"{}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"0530","apiClientId":"shopify-pixel","type":"APP","privacyPurposes":["ANALYTICS","MARKETING"]},{"id":"shopify-custom-pixel","eventPayloadVersion":"v1","runtimeContext":"LAX","scriptVersion":"0530","apiClientId":"shopify-pixel","type":"CUSTOM","privacyPurposes":["ANALYTICS","MARKETING"]}],isMerchantRequest: false,initData: {"shop":{"name":"Renée Rouleau Professional Skin Care","paymentSettings":{"currencyCode":"USD"},"myshopifyDomain":"renee-rouleau-quiz.myshopify.com","countryCode":"US","storefrontUrl":"https:\/\/www.reneerouleau.com"},"customer":null,"cart":null,"checkout":null,"productVariants":[{"price":{"amount":72.5,"currencyCode":"USD"},"product":{"title":"Skin Drink I.V.","vendor":"Renée Rouleau Professional Skin Care","id":"7574678405179","untranslatedTitle":"Skin Drink I.V.","url":"\/products\/skin-drink-i-v","type":""},"id":"43374648328251","image":{"src":"\/\/www.reneerouleau.com\/cdn\/shop\/files\/ReneeRouleau-SkinDrinkI.V.-1024x1024-Shadow.jpg?v=1777079077"},"sku":"79494","title":"Default Title","untranslatedTitle":"Default Title"}],"products":[{"id":"7574678405179","handle":"skin-drink-i-v","isCollective":null,"title":"Skin Drink I.V.","type":null,"untranslatedTitle":"Skin Drink I.V.","url":"\/products\/skin-drink-i-v","vendor":"Renée Rouleau Professional Skin Care","remoteShopId":null,"variants":[{"id":"43374648328251","image":{"src":"\/\/www.reneerouleau.com\/cdn\/shop\/files\/ReneeRouleau-SkinDrinkI.V.-1024x1024-Shadow.jpg?v=1777079077"},"price":{"amount":72.5,"currencyCode":"USD"},"sku":"79494","title":"Default Title","untranslatedTitle":"Default Title"}]},{"id":"7622929514555","handle":"skin-drink-i-v-wrinkle-perfecting-serum","isCollective":null,"title":"Skin Drink I.V. + Pore+Wrinkle Perfecting Serum","type":null,"untranslatedTitle":"Skin Drink I.V. + Pore+Wrinkle Perfecting Serum","url":"\/products\/skin-drink-i-v-wrinkle-perfecting-serum","vendor":"Renée Rouleau Professional Skin Care","remoteShopId":null,"variants":[{"id":"43581746085947","image":{"src":"\/\/www.reneerouleau.com\/cdn\/shop\/files\/ReneeRouleau-SkinDrinkI.V.-30.jpg?v=1781471560"},"price":{"amount":130.5,"currencyCode":"USD"},"sku":"79043K","title":"Default Title","untranslatedTitle":"Default Title"}]},{"id":"7618450260027","handle":"skin-drink-i-v-rest-day-masque","isCollective":null,"title":"Skin Drink I.V. + Rest Day Masque","type":null,"untranslatedTitle":"Skin Drink I.V. + Rest Day Masque","url":"\/products\/skin-drink-i-v-rest-day-masque","vendor":"Renée Rouleau Professional Skin Care","remoteShopId":null,"variants":[{"id":"43572559544379","image":{"src":"\/\/www.reneerouleau.com\/cdn\/shop\/files\/ReneeRouleau-SkinDrinkI.V.29.jpg?v=1780607680"},"price":{"amount":117.9,"currencyCode":"USD"},"sku":"79044K","title":"Default Title","untranslatedTitle":"Default Title"}]}
767,{"id":"7659663392827","handle":"skin-drink-i-v-skin-recovery-balm","isCollective":null,"title":"Skin Drink I.V. + Skin Recovery Balm","type":null,"untranslatedTitle":"Skin Drink I.V. + Skin Recovery Balm","url":"\/products\/skin-drink-i-v-skin-recovery-balm","vendor":"Renée Rouleau Professional Skin Care","remoteShopId":null,"variants":[{"id":"43659153702971","image":{"src":"\/\/www.reneerouleau.com\/cdn\/shop\/files\/ReneeRouleau-SkinDrinkI.V.403_1.jpg?v=1781619984"},"price":{"amount":109.8,"currencyCode":"USD"},"sku":"79042K","title":"Default Title","untranslatedTitle":"Default Title"}]},{"id":"7615652954171","handle":"skin-drink-i-v-sheer-moisture-lotion","isCollective":null,"title":"Skin Drink I.V. + Sheer Moisture Lotion","type":null,"untranslatedTitle":"Skin Drink I.V. + Sheer Moisture Lotion","url":"\/products\/skin-drink-i-v-sheer-moisture-lotion","vendor":"Renée Rouleau Professional Skin Care","remoteShopId":null,"variants":[{"id":"43566510276667","image":{"src":"\/\/www.reneerouleau.com\/cdn\/shop\/files\/ReneeRouleau-SkinDrinkI.V.-374.jpg?v=1781283752"},"price":{"amount":105.3,"currencyCode":"USD"},"sku":"79045K","title":"Default Title","untranslatedTitle":"Default Title"}]},{"id":"9257895750","handle":"hydraboost-rescue-creme","isCollective":null,"title":"Hydraboost Rescue Creme","type":"Moisturizers","untranslatedTitle":"Hydraboost Rescue Creme","url":"\/products\/hydraboost-rescue-creme","vendor":"Renee Rouleau","remoteShopId":null,"variants":[{"id":"33887948998","image":{"src":"\/\/www.reneerouleau.com\/cdn\/shop\/files\/RR-Product-Hydraboost-Rescue-Creme-Soldier_5b45315a-3145-4dc4-92cc-3db8665b9f78.jpg?v=1781316922"},"price":{"amount":72.5,"currencyCode":"USD"},"sku":"79416","title":"Default Title","untranslatedTitle":"Default Title"}]},{"id":"9257896198","handle":"moisture-infusion-toner","isCollective":null,"title":"Moisture Infusion Toner","type":"Toners","untranslatedTitle":"Moisture Infusion Toner","url":"\/products\/moisture-infusion-toner","vendor":"Renee Rouleau","remoteShopId":null,"variants":[{"id":"33887954438","image":{"src":"\/\/www.reneerouleau.com\/cdn\/shop\/files\/RR-Product-Moisture-Infusion-Toner-Soldier_4b4baaa0-0e22-4a4e-8bfc-1ffd60a449b9.jpg?v=1776702589"},"price":{"amount":39.5,"currencyCode":"USD"},"sku":"79421","title":"Default Title","untranslatedTitle":"Default Title"}]}],"purchasingCompany":null},},"https://www.reneerouleau.com/cdn","c8540278we853e1abpb62b2c4amde256306",{"modern":"","legacy":""},{"trekkieShim":true,"agentContext":true,"apiClientId":"580111","facebookCapiEnabled":"true","themeId":"137198436411","themePublished":"true","eventMetadataId":"a16a0b00-b0d4-43c4-8656-c37eec32410c","pageType":"product","resourceId":"7574678405179","shopId":"15944825","storefrontBaseUrl":"https:\/\/www.reneerouleau.com","extensionBaseUrl":"https:\/\/extensions.shopifycdn.com\/cdn\/shopifycloud\/web-pixels-manager","surface":"storefront-renderer","enabledBetaFlags":"[\"16072cab\", \"8450a54b\"]","isMerchantRequest":"false","hashVersion":"c8540278we853e1abpb62b2c4amde256306","publish":"custom","events":"[[\"page_viewed\",{}],[\"product_viewed\",{\"productVariant\":{\"price\":{\"amount\":72.5,\"currencyCode\":\"USD\"},\"product\":{\"title\":\"Skin Drink I.V.\",\"vendor\":\"Renée Rouleau Professional Skin Care\",\"id\":\"7574678405179\",\"untranslatedTitle\":\"Skin Drink I.V.\",\"url\":\"\/products\/skin-drink-i-v\",\"type\":\"\"},\"id\":\"43374648328251\",\"image\":{\"src\":\"\/\/www.reneerouleau.com\/cdn\/shop\/files\/ReneeRouleau-SkinDrinkI.V.-1024x1024-Shadow.jpg?v=1777079077\"},\"sku\":\"79494\",\"title\":\"Default Title\",\"untranslatedTitle\":\"Default Title\"}}]]"});})();</script>
767<script>
768  window.ShopifyAnalytics = window.ShopifyAnalytics || {};
769  window.ShopifyAnalytics.meta = window.ShopifyAnalytics.meta || {};
770  window.ShopifyAnalytics.meta.currency = 'USD';
771  var meta = {"product":{"id":7574678405179,"gid":"gid:\/\/shopify\/Product\/7574678405179","vendor":"Renée Rouleau Professional Skin Care","type":"","handle":"skin-drink-i-v","variants":[{"id":43374648328251,"price":7250,"name":"Skin Drink I.V.","public_title":null,"sku":"79494"}],"remote":false},"page":{"pageType":"product","resourceType":"product","resourceId":7574678405179,"requestId":"72569804-3df5-422b-86be-02e05837004d-1790275475"}};
772  for (var attr in meta) {
773    window.ShopifyAnalytics.meta[attr] = meta[attr];
774  }
775</script>
vendor: 1 bytes, line 775
775
776<script class="analytics">
777  (function () {
778    var customDocumentWrite = function(content) {
779      var jquery = null;
780
781      if (window.jQuery) {
782        jquery = window.jQuery;
783      } else if (window.Checkout && window.Checkout.$) {
784        jquery = window.Checkout.$;
785      }
786
787      if (jquery) {
788        jquery('body').append(content);
789      }
790    };
791
792    var hasLoggedConversion = function(token) {
793      if (token) {
794        return document.cookie.indexOf('loggedConversion=' + token) !== -1;
795      }
796      return false;
797    }
798
799    var setCookieIfConversion = function(token) {
800      if (token) {
801        var twoMonthsFromNow = new Date(Date.now());
802        twoMonthsFromNow.setMonth(twoMonthsFromNow.getMonth() + 2);
803
804        document.cookie = 'loggedConversion=' + token + '; expires=' + twoMonthsFromNow;
805      }
806    }
807
808    var trekkie = window.ShopifyAnalytics.lib = window.trekkie = window.trekkie || [];
809    window.ShopifyAnalytics.lib.trekkie = window.trekkie;
810    if (trekkie.integrations) {
811      return;
812    }
813    trekkie.methods = [
814      'identify',
815      'page',
816      'ready',
817      'track',
818      'trackForm',
819      'trackLink'
820    ];
821    trekkie.factory = function(method) {
822      return function() {
823        var args = Array.prototype.slice.call(arguments);
824        args.unshift(method);
825        trekkie.push(args);
826        if (method == 'track' || method == 'page') {
827          try {
828            if (window.__TREKKIE_SHIM_QUEUE == null) {
829              window.__TREKKIE_SHIM_QUEUE = [];
830            }
831            window.__TREKKIE_SHIM_QUEUE.push({
832              from: 'trekkie-stub',
833              method: method,
834              args: args.slice(1)
835            });
836          } catch (e) {
837            // no-op
838          }
839        }
840        return trekkie;
841      };
842    };
843    for (var i = 0; i < trekkie.methods.length; i++) {
844      var key = trekkie.methods[i];
845      trekkie[key] = trekkie.factory(key);
846    }
847    trekkie.load = function(config) {
848      trekkie.config = config || {};
849      trekkie.config.initialDocumentCookie = document.cookie;
850      var first = document.getElementsByTagName('script')[0];
851var script = document.createElement('script');
852script.type = 'text/javascript';
853script.onerror = function(e) {
854  var scriptFallback = document.createElement('script');
855  scriptFallback.type = 'text/javascript';
856  scriptFallback.onerror = function(error) {
857          var Monorail = {
858      produce: function produce(monorailDomain, schemaId, payload) {
859        var currentMs = new Date().getTime();
860        var event = {
861          schema_id: schemaId,
862          payload: payload,
863          metadata: {
864            event_created_at_ms: currentMs,
865            event_sent_at_ms: currentMs
866          }
867        };
868        return Monorail.sendRequest("https://" + monorailDomain + "/v1/produce", JSON.stringify(event));
869      },
870      sendRequest: function sendRequest(endpointUrl, payload) {
871        // Try the sendBeacon API
872        if (window && window.navigator && typeof window.navigator.sendBeacon === 'function' && typeof window.Blob === 'function' && !Monorail.isIos12()) {
873          var blobData = new window.Blob([payload], {
874            type: 'text/plain'
875          });
876
877          if (window.navigator.sendBeacon(endpointUrl, blobData)) {
878            return true;
879          } // sendBeacon was not successful
880
881        } // XHR beacon
882
883        var xhr = new XMLHttpRequest();
884
885        try {
886          xhr.open('POST', endpointUrl);
887          xhr.setRequestHeader('Content-Type', 'text/plain');
888          xhr.send(payload);
889        } catch (e) {
890          console.log(e);
891        }
892
893        return false;
894      },
895      isIos12: function isIos12() {
896        return window.navigator.userAgent.lastIndexOf('iPhone; CPU iPhone OS 12_') !== -1 || window.navigator.userAgent.lastIndexOf('iPad; CPU OS 12_') !== -1;
897      }
898    };
899    Monorail.produce('monorail-edge.shopifysvc.com',
900      'trekkie_storefront_load_errors/1.1',
901      {shop_id: 15944825,
902      theme_id: 137198436411,
903      app_name: "storefront",
904      context_url: window.location.href,
905      source_url: "//www.reneerouleau.com/cdn/s/trekkie.storefront.f1ba865b3fecd812ad617f74ac079261075e9edb.min.js"});
906
907  };
908  scriptFallback.async = true;
909  scriptFallback.src = '//www.reneerouleau.com/cdn/s/trekkie.storefront.f1ba865b3fecd812ad617f74ac079261075e9edb.min.js';
910  first.parentNode.insertBefore(scriptFallback, first);
911};
912script.async = true;
913script.src = '//www.reneerouleau.com/cdn/s/trekkie.storefront.f1ba865b3fecd812ad617f74ac079261075e9edb.min.js';
914first.parentNode.insertBefore(script, first);
915
916    };
917    trekkie.load(
918      {"Trekkie":{"appName":"storefront","development":false,"defaultAttributes":{"shopId":15944825,"isMerchantRequest":null,"themeId":137198436411,"themeCityHash":"17425057928047452468","contentLanguage":"en","currency":"USD","eventMetadataId":"a16a0b00-b0d4-43c4-8656-c37eec32410c"},"isServerSideCookieWritingEnabled":true,"monorailRegion":"shop_domain","enabledBetaFlags":["764d78cb","8450a54b"]},"Session Attribution":{},"S2S":{"facebookCapiEnabled":true,"source":"trekkie-storefront-renderer","apiClientId":580111}}
919    );
920
921    var loaded = false;
922    trekkie.ready(function() {
923      if (loaded) return;
924      loaded = true;
925
926      window.ShopifyAnalytics.lib = window.trekkie;
927
928      var originalDocumentWrite = document.write;
929      document.write = customDocumentWrite;
930      try { window.ShopifyAnalytics.merchantGoogleAnalytics.call(this); } catch(error) {};
931      document.write = originalDocumentWrite;
932
933      var match = window.location.pathname.match(/checkouts\/(.+)\/(thank_you|post_purchase)/)
934      var token = match? match[1]: undefined;
935      if (!hasLoggedConversion(token)) {
936        setCookieIfConversion(token);
937        window.ShopifyAnalytics.lib.track("Viewed Product",{"currency":"USD","variantId":43374648328251,"productId":7574678405179,"productGid":"gid:\/\/shopify\/Product\/7574678405179","name":"Skin Drink I.V.","price":"72.50","sku":"79494","brand":"Renée Rouleau Professional Skin Care","variant":null,"category":"","nonInteraction":true,"remote":false,"available":true},undefined,undefined,{"shopifyEmitted":true});
938      }
939    });
940
941    window.ShopifyAnalytics.lib.page(null,{"pageType":"product","resourceType":"product","resourceId":7574678405179,"requestId":"72569804-3df5-422b-86be-02e05837004d-1790275475","shopifyEmitted":true});
942
943    var eventsListenerScript = document.createElement('script');
944    eventsListenerScript.async = true;
945    eventsListenerScript.src = "//www.reneerouleau.com/cdn/shopifycloud/storefront/assets/shop_events_listener-4e26a9ce.js";
946    document.getElementsByTagName('head')[0].appendChild(eventsListenerScript);
947})();</script>
947
948  
948<script>
949  if (!window.ga || (window.ga && typeof window.ga !== 'function')) {
950    window.ga = function ga() {
951      (window.ga.q = window.ga.q || []).push(arguments);
952      if (window.Shopify && window.Shopify.analytics && typeof window.Shopify.analytics.publish === 'function') {
953        window.Shopify.analytics.publish("ga_stub_called", {}, {sendTo: "google_osp_migration"});
954      }
955      console.error("Shopify's Google Analytics stub called with:", Array.from(arguments), "\nSee https://help.shopify.com/manual/promoting-marketing/pixels/pixel-migration#google for more information.");
956    };
957    if (window.Shopify && window.Shopify.analytics && typeof window.Shopify.analytics.publish === 'function') {
958      window.Shopify.analytics.publish("ga_stub_initialized", {}, {sendTo: "google_osp_migration"});
959    }
960  }
961</script>
vendor: 1 bytes, line 961
961
962<script
963  defer
964  src="https://www.reneerouleau.com/cdn/shopifycloud/perf-kit/shopify-perf-kit-3.9.4.min.js"
965  data-application="storefront-renderer"
966  data-shop-id="15944825"
967  data-render-region="gcp-us-central1"
968  data-page-type="product"
969  data-theme-instance-id="137198436411"
970  data-theme-name="VBT"
971  data-theme-version="0.0.0"
972  data-monorail-region="shop_domain"
973  data-resource-timing-sampling-rate="10"
974  data-shs="true"
975  data-shs-beacon="true"
976  data-shs-export-with-fetch="true"
977  data-shs-logs-sample-rate="1"
978  data-shs-beacon-endpoint="https://www.reneerouleau.com/api/collect"
979></script>
979
980<meta name="shopify-y" content="1d21b8e0-74bb-437a-8df9-e55d7e2dfe25" data-expiration="1821833076000"><meta name="shopify-s" content="9d95ad43-6570-48ad-aa3f-f87cbd04aaae" data-expiration="1790277276000"><meta name="new-cookie-storage-activated" content="t">
981</head>
982
983  <body
984    class="[&:has([data-scroll-lock]:checked)]:overflow-hidden [&_#gorgias-chat-container]:hidden"
985    data-b2b="false"
986    >
987    <a class="skip-to-content-link button hidden" href="#MainContent">
988      Skip to content
989    </a>
990
991    <div id="shopify-section-announcement" class="shopify-section announcement">
992
993
994
995
996  
997
998  <div class="announcement-slider bg-mint-green text-center">
999    <div class="splide" data-slider=
1000    '{
1001      "type": "loop",
1002      "perPage": 1,
1003      "autoplay": true,
1004      "interval": 5000,
1005      "arrows": false,
1006      "pagination": false,
1007      "pauseOnHover": true,
1008      "pauseOnFocus": false,
1009      "resetProgress": false
1010    }'
1011  >
1012      <div class="splide__track">
1013        <ul class="splide__list">
1014          
1015            
1016            <li class="splide__slide">
1017              <div class="py-1.5 px-8">
1018                
1019                  <a href="https://www.reneerouleau.com/collections/all" class="block text-black capitalize font-light text-subheading-4 leading-[130%]">
1020                    Free Shipping U.S. Orders $125+ & Free Shipping Canada Orders $150+ →
1021                  </a>
1022                
1023              </div>
1024            </li>
1025          
1026        </ul>
1027      </div>
1028    </div>
1029  </div>
1030
1031
1032
1033
1034</div>
1035    <header id="shopify-section-header" class="shopify-section header relative z-10">
1036
1037
1038  
1039
1040<div data-sticky-header class="header relative w-full grid grid-cols-[1fr_1fr_1fr] px-5 py-5 bg-blush-light-pink hdr_floating z-50">
1041  <div class="hdr_mobile-menu flex justify-start items-center">
1042    
1043<div class="group lg:hidden">
1044  <input
1045    role="button"
1046    id="mobile-menu-toggle"
1047    type="checkbox"
1048    class="peer hidden"
1049    data-scroll-lock
1050    onload="this.checked=false"
1051    autocomplete="off"
1052  />
1053
1054  <label
1055    aria-label="mobile menu toggle"
1056    for="mobile-menu-toggle"
1057    class="lg:hidden"
1058  >
1059    
1060
1061<span class="group-[&:has(#mobile-menu-toggle:checked)]:hidden" >
1062  
1063      <svg xmlns="http://www.w3.org/2000/svg" width="18" height="14" viewBox="0 0 18 14" fill="none">
1064        <line y1="1.13414" x2="18" y2="1.13414" stroke="black"/>
1065        <line y1="7.26487" x2="18" y2="7.26487" stroke="black"/>
1066        <line y1="13.3956" x2="18" y2="13.3956" stroke="black"/>
1067      </svg> 
1068    
1069      
1070</span>
1071
1072    
1073
1074<span class="hidden group-[&:has(#mobile-menu-toggle:checked)]:block" >
1075  
1076      <svg xmlns="http://www.w3.org/2000/svg" width="14" height="13" viewBox="0 0 14 13" fill="none">
1077        <line x1="12.6069" y1="12.0208" x2="1.29315" y2="0.707104" stroke="black" stroke-width="2"/>
1078        <line x1="1.29314" y1="12.0208" x2="12.6068" y2="0.707106" stroke="black" stroke-width="2"/>
1079      </svg>
1080
1081    
1082</span>
1083
1084  </label>
1085
1086  <div class="fixed z-60 left-0 top-0 h-0 peer-checked:h-screen peer-checked:overflow-y-scroll bg-blush-light-pink transition-all w-full pointer-events-none peer-checked:pointer-events-auto overflow-hidden">
1087    <div class="h-dvh">
1088      <div class="relative flex justify-between py-4 pl-4 pr-14 h-12.5 border-b border-blush-pink">
1089        <a href="/pages/take-the-quiz" class="uppercase text-subheading-2 font-semibold leading-[110%] tracking-[1.3px] bg-mint-green flex items-center gap-3 px-2 min-w-0 max-w-full">
1090          <h4 class="min-w-0 truncate">Find Your Skin Type</h4>
1091          
1092
1093<span class="shrink-0" >
1094  
1095      <svg xmlns="http://www.w3.org/2000/svg" width="18" height="6" viewBox="0 0 18 6" fill="none">
1096        <path d="M12.5229 6C12.6943 5.60606 12.8829 5.24242 13.0886 4.90909C13.2943 4.56061 13.5257 4.23485 13.7829 3.93182L0 3.93182L0 2.06818L13.7829 2.06818C13.5429 1.76515 13.32 1.44697 13.1143 1.11364C12.9086 0.765152 12.72 0.39394 12.5486 0L14.5029 0C15.5657 1.10606 16.7314 1.94697 18 2.52273V3.5C16.7314 4.04545 15.5657 4.87879 14.5029 6H12.5229Z" fill="black"/>
1097      </svg>
1098
1099    
1100</span>
1101
1102        </a>
1103        <label aria-label="mobile menu toggle" for="mobile-menu-toggle" class="absolute right-4 top-1/2 -translate-y-1/2 flex items-center">
1104          
1105
1106<span class="" >
1107  
1108      <svg xmlns="http://www.w3.org/2000/svg" width="14" height="13" viewBox="0 0 14 13" fill="none">
1109        <line x1="12.6069" y1="12.0208" x2="1.29315" y2="0.707104" stroke="black" stroke-width="2"/>
1110        <line x1="1.29314" y1="12.0208" x2="12.6068" y2="0.707106" stroke="black" stroke-width="2"/>
1111      </svg>
1112
1113    
1114</span>
1115
1116        </label>
1117      </div>
1118      <ul class="" data-hc-body-click-toggle="mob-menu-accordion">
1119        
1120<li class="parent-link group border-b border-blush-pink">
1121            
1122              <input type="checkbox" class="hidden peer" id="menu-item-1"/>
1123              <label for="menu-item-1" class="flex justify-between items-center cursor-pointer px-4 py-5 peer-checked:[&_.mm-plus]:hidden peer-checked:[&_.mm-minus]:block peer-checked:[&_.mm-title]:bg-mint-green uppercase text-subheading-2 font-semibold leading-[110%] tracking-[1.3px]">
1124                <span class="mm-title">Shop</span>
1125                <span class="mm-plus">+</span>
1126                <span class="mm-minus hidden">-</span>
1127              </label>
1128              <div class="grid grid-rows-[0fr] peer-checked:grid-rows-[1fr] transition-all ease-in-out duration-300">
1129                <div class="flex flex-col gap-0 overflow-hidden">
1130                  <ul class="flex flex-col pl-12 pr-4 pb-2">
1131                    
1132                      <li class="child-link group">
1133                        
1134                          <input type="checkbox" id="mob-menu-inner-1-items-1" class="hidden peer" />
1135                          <label for="mob-menu-inner-1-items-1" class="flex justify-between items-center cursor-pointer py-3 peer-checked:pb-3 peer-checked:[&_.mm-plus]:hidden peer-checked:[&_.mm-minus]:block uppercase text-subheading-2 font-semibold leading-[110%] tracking-[1.3px]">
1136                            <span>Shop By Category </span>
1137                            <span class="mm-plus">+</span>
1138                            <span class="mm-minus hidden">-</span>
1139                          </label>
1140                          <div class="grid grid-rows-[0fr] peer-checked:grid-rows-[1fr] transition-all ease-in-out duration-300">
1141                            <div class="flex flex-col overflow-hidden">
1142                              <ul class="flex flex-col pl-4 pb-2">
1143                                
1144                                  <li class="grandchild-link group uppercase text-subheading-2 leading-[110%] tracking-[1.3px]">
1145                                    <a class="block py-3" href="/collections/all">Shop all</a>
1146                                  </li>
1147                                
1148                                  <li class="grandchild-link group uppercase text-subheading-2 leading-[110%] tracking-[1.3px]">
1149                                    <a class="block py-3" href="/collections/best-sellers">Best Sellers</a>
1150                                  </li>
1151                                
1152                                  <li class="grandchild-link group uppercase text-subheading-2 leading-[110%] tracking-[1.3px]">
1153                                    <a class="block py-3" href="/collections/whats-new">What's New</a>
1154                                  </li>
1155                                
1156                                  <li class="grandchild-link group uppercase text-subheading-2 leading-[110%] tracking-[1.3px]">
1157                                    <a class="block py-3" href="/collections/travel-sizes">Travel Sizes</a>
1158                                  </li>
1159                                
1160                                  <li class="grandchild-link group uppercase text-subheading-2 leading-[110%] tracking-[1.3px]">
1161                                    <a class="block py-3" href="/collections/acne-spot-treatments-1">Acne Spot Treatments</a>
1162                                  </li>
1163                                
1164                                  <li class="grandchild-link group uppercase text-subheading-2 leading-[110%] tracking-[1.3px]">
1165                                    <a class="block py-3" href="/collections/cleansers">Cleansers</a>
1166                                  </li>
1167                                
1168                                  <li class="grandchild-link group uppercase text-subheading-2 leading-[110%] tracking-[1.3px]">
1169                                    <a class="block py-3" href="/collections/moisturizers">Moisturizers</a>
1170                                  </li>
1171                                
1172                                  <li class="grandchild-link group uppercase text-subheading-2 leading-[110%] tracking-[1.3px]">
1173                                    <a class="block py-3" href="/collections/specialty-serums">Serums</a>
1174                                  </li>
1175                                
1176                                  <li class="grandchild-link group uppercase text-subheading-2 leading-[110%] tracking-[1.3px]">
1177                                    <a class="block py-3" href="/collections/masques">Masques</a>
1178                                  </li>
1179                                
1180                                  <li class="grandchild-link group uppercase text-subheading-2 leading-[110%] tracking-[1.3px]">
1181                                    <a class="block py-3" href="/collections/toners">Toners</a>
1182                                  </li>
1183                                
1184                                  <li class="grandchild-link group uppercase text-subheading-2 leading-[110%] tracking-[1.3px]">
1185                                    <a class="block py-3" href="/collections/exfoliants">Exfoliants</a>
1186                                  </li>
1187                                
1188                                  <li class="grandchild-link group uppercase text-subheading-2 leading-[110%] tracking-[1.3px]">
1189                                    <a class="block py-3" href="/collections/eye-care">Eye Care</a>
1190                                  </li>
1191                                
1192                                  <li class="grandchild-link group uppercase text-subheading-2 leading-[110%] tracking-[1.3px]">
1193                                    <a class="block py-3" href="/collections/sun-protection">Sun Protection</a>
1194                                  </li>
1195                                
1196                                  <li class="grandchild-link group uppercase text-subheading-2 leading-[110%] tracking-[1.3px]">
1197                                    <a class="block py-3" href="/collections/skin-accessories">Accessories</a>
1198                                  </li>
1199                                
1200                              </ul>
1201                            </div>
1202                          </div>
1203                        
1204                      </li>
1205                    
1206                      <li class="child-link group">
1207                        
1208                          <input type="checkbox" id="mob-menu-inner-1-items-2" class="hidden peer" />
1209                          <label for="mob-menu-inner-1-items-2" class="flex justify-between items-center cursor-pointer py-3 peer-checked:
1209pb-3 peer-checked:[&_.mm-plus]:hidden peer-checked:[&_.mm-minus]:block uppercase text-subheading-2 font-semibold leading-[110%] tracking-[1.3px]">
1210                            <span>Shop By Concern</span>
1211                            <span class="mm-plus">+</span>
1212                            <span class="mm-minus hidden">-</span>
1213                          </label>
1214                          <div class="grid grid-rows-[0fr] peer-checked:grid-rows-[1fr] transition-all ease-in-out duration-300">
1215                            <div class="flex flex-col overflow-hidden">
1216                              <ul class="flex flex-col pl-4 pb-2">
1217                                
1218                                  <li class="grandchild-link group uppercase text-subheading-2 leading-[110%] tracking-[1.3px]">
1219                                    <a class="block py-3" href="/collections/acne-breakouts">Acne & Breakouts</a>
1220                                  </li>
1221                                
1222                                  <li class="grandchild-link group uppercase text-subheading-2 leading-[110%] tracking-[1.3px]">
1223                                    <a class="block py-3" href="/collections/healthy-aging">Healthy Aging</a>
1224                                  </li>
1225                                
1226                                  <li class="grandchild-link group uppercase text-subheading-2 leading-[110%] tracking-[1.3px]">
1227                                    <a class="block py-3" href="/collections/hyperpigmentation">Hyperpigmentation</a>
1228                                  </li>
1229                                
1230                                  <li class="grandchild-link group uppercase text-subheading-2 leading-[110%] tracking-[1.3px]">
1231                                    <a class="block py-3" href="/collections/redness-rosacea">Redness & Rosacea</a>
1232                                  </li>
1233                                
1234                                  <li class="grandchild-link group uppercase text-subheading-2 leading-[110%] tracking-[1.3px]">
1235                                    <a class="block py-3" href="/collections/dry-skin">Dry Skin</a>
1236                                  </li>
1237                                
1238                                  <li class="grandchild-link group uppercase text-subheading-2 leading-[110%] tracking-[1.3px]">
1239                                    <a class="block py-3" href="/collections/oily-skin">Oily Skin</a>
1240                                  </li>
1241                                
1242                              </ul>
1243                            </div>
1244                          </div>
1245                        
1246                      </li>
1247                    
1248                      <li class="child-link group">
1249                        
1250                          <input type="checkbox" id="mob-menu-inner-1-items-3" class="hidden peer" />
1251                          <label for="mob-menu-inner-1-items-3" class="flex justify-between items-center cursor-pointer py-3 peer-checked:pb-3 peer-checked:[&_.mm-plus]:hidden peer-checked:[&_.mm-minus]:block uppercase text-subheading-2 font-semibold leading-[110%] tracking-[1.3px]">
1252                            <span>Shop By Skin Type</span>
1253                            <span class="mm-plus">+</span>
1254                            <span class="mm-minus hidden">-</span>
1255                          </label>
1256                          <div class="grid grid-rows-[0fr] peer-checked:grid-rows-[1fr] transition-all ease-in-out duration-300">
1257                            <div class="flex flex-col overflow-hidden">
1258                              <ul class="flex flex-col pl-4 pb-2">
1259                                
1260                                  <li class="grandchild-link group uppercase text-subheading-2 leading-[110%] tracking-[1.3px]">
1261                                    <a class="block py-3" href="/pages/take-the-quiz">Take the Quiz</a>
1262                                  </li>
1263                                
1264                                  <li class="grandchild-link group uppercase text-subheading-2 leading-[110%] tracking-[1.3px]">
1265                                    <a class="block py-3" href="/collections/skin-type-1">Skin Type 1</a>
1266                                  </li>
1267                                
1268                                  <li class="grandchild-link group uppercase text-subheading-2 leading-[110%] tracking-[1.3px]">
1269                                    <a class="block py-3" href="/collections/skin-type-2">Skin Type 2</a>
1270                                  </li>
1271                                
1272                                  <li class="grandchild-link group uppercase text-subheading-2 leading-[110%] tracking-[1.3px]">
1273                                    <a class="block py-3" href="/collections/skin-type-3">Skin Type 3</a>
1274                                  </li>
1275                                
1276                                  <li class="grandchild-link group uppercase text-subheading-2 leading-[110%] tracking-[1.3px]">
1277                                    <a class="block py-3" href="/collections/skin-type-4">Skin Type 4</a>
1278                                  </li>
1279                                
1280                                  <li class="grandchild-link group uppercase text-subheading-2 leading-[110%] tracking-[1.3px]">
1281                                    <a class="block py-3" href="/collections/skin-type-5">Skin Type 5</a>
1282                                  </li>
1283                                
1284                                  <li class="grandchild-link group uppercase text-subheading-2 leading-[110%] tracking-[1.3px]">
1285                                    <a class="block py-3" href="/collections/skin-type-6">Skin Type 6</a>
1286                                  </li>
1287                                
1288                                  <li class="grandchild-link group uppercase text-subheading-2 leading-[110%] tracking-[1.3px]">
1289                                    <a class="block py-3" href="/collections/skin-type-7">Skin Type 7</a>
1290                                  </li>
1291                                
1292                                  <li class="grandchild-link group uppercase text-subheading-2 leading-[110%] tracking-[1.3px]">
1293                                    <a class="block py-3" href="/collections/skin-type-8">Skin Type 8</a>
1294                                  </li>
1295                                
1296                                  <li class="grandchild-link group uppercase text-subheading-2 leading-[110%] tracking-[1.3px]">
1297                                    <a class="block py-3" href="/collections/skin-type-9">Skin Type 9</a>
1298                                  </li>
1299                                
1300                              </ul>
1301                            </div>
1302                          </div>
1303                        
1304                      </li>
1305                    
1306                      <li class="child-link group">
1307                        
1308                          <input type="checkbox" id="mob-menu-inner-1-items-4" class="hidden peer" />
1309                          <label for="mob-menu-inner-1-items-4" class="flex justify-between items-center cursor-pointer py-3 peer-checked:
1309pb-3 peer-checked:[&_.mm-plus]:hidden peer-checked:[&_.mm-minus]:block uppercase text-subheading-2 font-semibold leading-[110%] tracking-[1.3px]">
1310                            <span>Shop by sets</span>
1311                            <span class="mm-plus">+</span>
1312                            <span class="mm-minus hidden">-</span>
1313                          </label>
1314                          <div class="grid grid-rows-[0fr] peer-checked:grid-rows-[1fr] transition-all ease-in-out duration-300">
1315                            <div class="flex flex-col overflow-hidden">
1316                              <ul class="flex flex-col pl-4 pb-2">
1317                                
1318                                  <li class="grandchild-link group uppercase text-subheading-2 leading-[110%] tracking-[1.3px]">
1319                                    <a class="block py-3" href="/collections/acne-collections">The Acne</a>
1320                                  </li>
1321                                
1322                                  <li class="grandchild-link group uppercase text-subheading-2 leading-[110%] tracking-[1.3px]">
1323                                    <a class="block py-3" href="/collections/the-basic-skin-care-collections">The Basic</a>
1324                                  </li>
1325                                
1326                                  <li class="grandchild-link group uppercase text-subheading-2 leading-[110%] tracking-[1.3px]">
1327                                    <a class="block py-3" href="/collections/the-essential-skin-care-collections">The Essential</a>
1328                                  </li>
1329                                
1330                                  <li class="grandchild-link group uppercase text-subheading-2 leading-[110%] tracking-[1.3px]">
1331                                    <a class="block py-3" href="/collections/the-complete-skin-care-collections">The Complete</a>
1332                                  </li>
1333                                
1334                                  <li class="grandchild-link group uppercase text-subheading-2 leading-[110%] tracking-[1.3px]">
1335                                    <a class="block py-3" href="/collections/the-at-home-facial">The At-Home Facial</a>
1336                                  </li>
1337                                
1338                              </ul>
1339                            </div>
1340                          </div>
1341                        
1342                      </li>
1343                    
1344                  </ul>
1345                </div>
1346              </div>
1347            
1348
1349          </li>
1350        
1351<li class="parent-link group border-b border-blush-pink">
1352            
1353              <input type="checkbox" class="hidden peer" id="menu-item-2"/>
1354              <label for="menu-item-2" class="flex justify-between items-center cursor-pointer px-4 py-5 peer-checked:[&_.mm-plus]:hidden peer-checked:[&_.mm-minus]:block peer-checked:[&_.mm-title]:bg-mint-green uppercase text-subheading-2 font-semibold leading-[110%] tracking-[1.3px]">
1355                <span class="mm-title">Pros</span>
1356                <span class="mm-plus">+</span>
1357                <span class="mm-minus hidden">-</span>
1358              </label>
1359              <div class="grid grid-rows-[0fr] peer-checked:grid-rows-[1fr] transition-all ease-in-out duration-300">
1360                <div class="flex flex-col gap-0 overflow-hidden">
1361                  <ul class="flex flex-col pl-12 pr-4 pb-2">
1362                    
1363                      <li class="child-link group">
1364                        
1365                          <a class="uppercase text-subheading-2 font-semibold leading-[110%] tracking-[1.3px] block py-3" href="/pages/pro">Become A Pro Partner</a>
1366                        
1367                      </li>
1368                    
1369                      <li class="child-link group">
1370                        
1371                          <a class="uppercase text-subheading-2 font-semibold leading-[110%] tracking-[1.3px] block py-3" href="https://login.circle.so/sign_in?request_host=pro-community-90b881.circle.so">The Circle Of Hands Community</a>
1372                        
1373                      </li>
1374                    
1375                      <li class="child-link group">
1376                        
1377                          <a class="uppercase text-subheading-2 font-semibold leading-[110%] tracking-[1.3px] block py-3" href="/pages/pro-events">Live Pro Webinar Events</a>
1378                        
1379                      </li>
1380                    
1381                      <li class="child-link group">
1382                        
1383                          <a class="uppercase text-subheading-2 font-semibold leading-[110%] tracking-[1.3px] block py-3" href="/pages/customer-care-where-to-buy">Find A Pro Partner</a>
1384                        
1385                      </li>
1386                    
1387                  </ul>
1388                </div>
1389              </div>
1390            
1391
1392          </li>
1393        
1394<li class="parent-link group border-b border-blush-pink">
1395            
1396              <a class="uppercase text-subheading-2 font-semibold leading-[110%] tracking-[1.3px] block px-4 py-5" href="/pages/skindex">Skindex</a>
1397            
1398
1399          </li>
1400        
1401<li class="parent-link group border-b border-blush-pink">
1402            
1403              <a class="uppercase text-subheading-2 font-semibold leading-[110%] tracking-[1.3px] block px-4 py-5" href="/pages/online-skincare-consultations">Consultation</a>
1404            
1405
1406          </li>
1407        
1408<li class="parent-link group border-b border-blush-pink">
1409            
1410              <input type="checkbox" class="hidden peer" id="menu-item-5"/>
1411              <label for="menu-item-5" class="flex justify-between items-center cursor-pointer px-4 py-5 peer-checked:[&_.mm-plus]:hidden peer-checked:[&_.mm-minus]:block peer-checked:[&_.mm-title]:bg-mint-green uppercase text-subheading-2 font-semibold leading-[110%] tracking-[1.3px]">
1412                <span class="mm-title">About</span>
1413                <span class="mm-plus">+</span>
1414                <span class="mm-minus hidden">-</span>
1415              </label>
1416              <div class="grid grid-rows-[0fr] peer-checked:grid-rows-[1fr] transition-all ease-in-out duration-300">
1417                <div class="flex flex-col gap-0 overflow-hidden">
1418                  <ul class="flex flex-col pl-12 pr-4 pb-2">
1419                    
1420                      <li class="child-link group">
1421                        
1422                          <a class="uppercase text-subheading-2 font-semibold leading-[110%] tracking-[1.3px] block py-3" href="/pages/about">About Renée Rouleau</a>
1423                        
1424                      </li>
1425                    
1426                      <li class="child-link group">
1427                        
1428                          <a class="uppercase text-subheading-2 font-semibold leading-[110%] tracking-[1.3px] block py-3" href="/pages/skincare-ingredient-dictionary">Ingredient Glossary</a>
1429                        
1430                      </li>
1431                    
1432                      <li class="child-link group">
1433                        
1434                          <a class="uppercase text-subheading-2 font-semibold leading-[110%] tracking-[1.3px] block py-3" href="/pages/podcast-appearances">In The Press</a>
1435                        
1436                      </li>
1437                    
1438                      <li class="child-link group">
1439                        
1440                          <a class="uppercase text-subheading-2 font-semibold leading-[110%] tracking-[1.3px] block py-3" href="/pages/media-inquiries">Podcasts & Media Requests</a>
1441                        
1442                      </li>
1443                    
1444                  </ul>
1445                </div>
1446              </div>
1447            
1448
1449          </li>
1450        
1451<li class="parent-link group border-b border-blush-pink">
1452            
1453              <input type="checkbox" class="hidden peer" id="menu-item-6"/>
1454              <label for="menu-item-6" class="flex justify-between items-center cursor-pointer px-4 py-5 peer-checked:[&_.mm-plus]:hidden peer-checked:[&_.mm-minus]:block peer-checked:[&_.mm-title]:bg-mint-green uppercase text-subheading-2 font-semibold leading-[110%] tracking-[1.3px]">
1455                <span class="mm-title">Find Your Skin Type</span>
1456                <span class="mm-plus">+</span>
1457                <span class="mm-minus hidden">-</span>
1458              </label>
1459              <div class="grid grid-rows-[0fr] peer-checked:grid-rows-[1fr] transition-all ease-in-out duration-300">
1460                <div class="flex flex-col gap-0 overflow-hidden">
1461                  <ul class="flex flex-col pl-12 pr-4 pb-2">
1462                    
1463                      <li class="child-link group">
1464                        
1465                          <a class="uppercase text-subheading-2 font-semibold leading-[110%] tracking-[1.3px] block py-3" href="/pages/take-the-quiz">The Skin Type Quiz</a>
1466                        
1467                      </li>
1468                    
1469                      <li class="child-link group">
1470                        
1471                          <a class="uppercase text-subheading-2 font-semibold leading-[110%] tracking-[1.3px] block py-3" href="/pages/skin-types">9 Skin Types</a>
1472                        
1473                      </li>
1474                    
1475                  </ul>
1476                </div>
1477              </div>
1478            
1479
1480          </li>
1481        
1482<li class="parent-link group border-b border-blush-pink">
1483            
1484              <a class="uppercase text-subheading-2 font-semibold leading-[110%] tracking-[1.3px] block px-4 py-5" href="https://www.reneerouleau.com/account/login">Account</a>
1485            
1486
1487          </li>
1488        
1489        <li class="parent-link border-b border-blush-pink">
1490          <a
1491            class="uppercase text-subheading-2 font-semibold leading-[110%] tracking-[1.3px] block px-4 py-5"
1492            href="https://www.reneerouleau.com/customer_authentication/redirect?locale=en&region_country=US"
1493          >
1494            My Account
1495          </a>
1496        </li>
1497        
1498      </ul>
1499       
1500      <div class="flex flex-col gap-2 p-4 pb-24">
1501        
1502          <a href="/pages/skin-type-quiz" class="relative h-full min-w-[240px]">
1503            
1504<div class="relative overflow-hidden " style="">
1505  <img src="//www.reneerouleau.com/cdn/shop/files/Renee-Rouleau-Skincare-Need-Skin-Overhaul.jpg?v=1762885368" alt="" width="1400" height="1400" loading="lazy" sizes="100vw" srcset="
1506//www.reneerouleau.com/cdn/shop/files/Renee-Rouleau-Skincare-Need-Skin-Overhaul.jpg?v=1762885368&amp;width=165 165w,//www.reneerouleau.com/cdn/shop/files/Renee-Rouleau-Skincare-Need-Skin-Overhaul.jpg?v=1762885368&amp;width=360 360w,//www.reneerouleau.com/cdn/shop/files/Renee-Rouleau-Skincare-Need-Skin-Overhaul.jpg?v=1762885368&amp;width=533 533w,//www.reneerouleau.com/cdn/shop/files/Renee-Rouleau-Skincare-Need-Skin-Overhaul.jpg?v=1762885368&amp;width=720 720w,//www.reneerouleau.com/cdn/shop/files/Renee-Rouleau-Skincare-Need-Skin-Overhaul.jpg?v=1762885368&amp;width=940 940w,//www.reneerouleau.com/cdn/shop/files/Renee-Rouleau-Skincare-Need-Skin-Overhaul.jpg?v=1762885368&amp;width=1066 1066w," style="object-fit:contain;
1507  width:100%;
1508  height: 100%;" fetchpriority="auto">
1509</div>
1510
1511            <div class="absolute bottom-8 left-0 w-full flex justify-center">
1512              <span class="w-[75%] bg-mint-green text-center text-body-copy font-light leading-[120%] tracking-[2px] uppercase">Take the Skin Type Quiz</span>
1513            </div>
1514          </a>
1515        
1516        
1517          <a href="/pages/pro" class="relative h-full min-w-[240px]">
1518            
1519<div class="relative overflow-hidden " style="">
1520  <img src="//www.reneerouleau.com/cdn/shop/files/Renee-Rouleau-Skincare-Esthetician-Touching-Skin.jpg?v=1762885647" alt="" width="1400" height="1400" loading="lazy" sizes="100vw" srcset="
1521//www.reneerouleau.com/cdn/shop/files/Renee-Rouleau-Skincare-Esthetician-Touching-Skin.jpg?v=1762885647&amp;width=165 165w,//www.reneerouleau.com/cdn/shop/files/Renee-Rouleau-Skincare-Esthetician-Touching-Skin.jpg?v=1762885647&amp;width=360 360w,//www.reneerouleau.com/cdn/shop/files/Renee-Rouleau-Skincare-Esthetician-Touching-Skin.jpg?v=1762885647&amp;width=533 533w,//www.reneerouleau.com/cdn/shop/files/Renee-Rouleau-Skincare-Esthetician-Touching-Skin.jpg?v=1762885647&amp;width=720 720w,//www.reneerouleau.com/cdn/shop/files/Renee-Rouleau-Skincare-Esthetician-Touching-Skin.jpg?v=1762885647&amp;width=940 940w,//www.reneerouleau.com/cdn/shop/files/Renee-Rouleau-Skincare-Esthetician-Touching-Skin.jpg?v=1762885647&amp;width=1066 1066w," style="object-fit:contain;
1522  width:100%;
1523  height: 100%;" fetchpriority="auto">
1524</div>
1525
1526            <div class="absolute bottom-7 left-0 w-full flex justify-center">
1527              <span class="w-[77%] bg-mint-green text-center text-body-copy font-light leading-[120%] tracking-[2px] uppercase">Become A Pro Partner</span>
1528            </div>
1529          </a>
1530        
1531        
1532      </div>
1533    </div>
1534  </div>
1535</div>
1536
1537  </div>
1538  <div class="logo flex justify-center items-center">
1539    <a href="/" aria-label="Logo that links to homepage">
1540      <span class="">
1541  
1542      <svg xmlns="http://www.w3.org/2000/svg" width="328" height="54" viewBox="0 0 328 54" fill="none">
1543        <g clip-path="url(#clip0_722_621)">
1544        <path d="M321.966 7.07975H320.813V6.58682H323.67V7.07975H322.523V10.3027H321.966V7.07975Z" fill="#231F20"/>
1545        <path d="M327.443 7.35601L326.241 10.3082H326.008L324.807 7.35601V10.3082H324.249V6.59224H325.045L326.122 9.26272L327.199 6.59224H327.995V10.3082H327.437V7.35601H327.443Z" fill="#231F20"/>
1546        <path d="M0 6.966H11.3438C14.6614 6.966 17.3241 7.99519 18.9477 9.59314C20.2196 10.8498 20.9935 12.6374 20.9935 14.5441V14.6199C20.9935 19.0725 17.638 21.6238 13.081 22.2305L21.9948 33.6112H19.4457L10.8404 22.5718H2.00789V33.6112H0V6.966ZM11.1164 20.7842C15.6301 20.7842 18.991 18.5363 18.991 14.6958V14.6199C18.991 11.0448 16.1335 8.79687 11.2355 8.79687H2.00789V20.7842H11.1164Z" fill="#231F20"/>
1547        <path d="M25.9727 6.966H45.191V8.79145H27.9805V19.2567H43.4537V21.0822H27.9805V31.7803H50.1647V33.6058H25.9727V6.966Z" fill="#231F20"/>
1548        <path d="M49.8941 6.966H51.7883L70.4276 30.1444V6.966H72.3543V33.6112H70.8497L51.8262 9.93982V33.6112H49.8941V6.966Z" fill="#231F20"/>
1549        <path d="M75.975 6.96599H95.1933V8.79145H77.9829V19.2567H93.0393V21.0822H77.9829V31.7803H95.3882V33.6058H75.975V6.96599ZM88.439 0L90.7175 1.06711L86.5881 4.49052H84.8508L88.439 0Z" fill="#231F20"/>
1550        <path d="M99.9019 6.966H119.12V8.79145H101.91V19.2567H117.383V21.0822H101.91V31.7803H119.315V33.6058H99.9073V6.966H99.9019Z" fill="#231F20"/>
1551        <path d="M143.231 6.50557H154.575C157.892 6.50557 160.555 7.53476 162.179 9.13271C163.451 10.3894 164.225 12.177 164.225 14.0782V14.1541C164.225 18.6067 160.869 21.158 156.312 21.7647L165.226 33.1454H162.677L154.072 22.1059H145.234V33.1454H143.226V6.50015L143.231 6.50557ZM154.348 20.3238C158.861 20.3238 162.222 18.0758 162.222 14.2353V14.1595C162.222 10.579 159.365 8.33645 154.467 8.33645H145.244V20.3238H154.353H154.348Z" fill="#231F20"/>
1552        <path d="M166.768 19.9067V19.8309C166.768 12.5615 172.207 6.05056 180.391 6.05056C188.574 6.05056 193.937 12.4803 193.937 19.755V19.8309C193.937 27.1002 188.498 33.6112 180.315 33.6112C172.132 33.6112 166.768 27.176 166.768 19.9067ZM191.848 19.9067V19.8309C191.848 13.2441 186.988 7.84352 180.309 7.84352C173.636 7.84352 168.847 13.1736 168.847 19.755V19.8309C168.847 26.4177 173.712 31.8182 180.385 31.8182C187.058 31.8182 191.848 26.4881 191.848 19.9067Z" fill="#231F20"/>
1553        <path d="M197.168 22.0734V6.50557H199.176V21.8838C199.176 28.1619 202.613 31.7803 208.322 31.7803C213.799 31.7803 217.312 28.5086 217.312 22.0734V6.50557H219.32V21.8459C219.32 29.4944 214.806 33.5679 208.247 33.5679C201.763 33.5679 197.173 29.5324 197.173 22.0734H197.168Z" fill="#231F20"/>
1554        <path d="M224.061 6.50557H226.069V31.3199H241.926V33.1454H224.061V6.50015V6.50557Z" fill="#231F20"/>
1555        <path d="M246.018 6.50557H265.236V8.33103H248.026V18.7963H263.499
1555V20.6217H248.026V31.3199H268.635V33.1454H246.023V6.50557H246.018Z" fill="#231F20"/>
1556        <path d="M280.206 6.31598H282.133L294.71 33.1508H292.508L289.076 25.6918H273.138L269.701 33.1508H267.617L280.195 6.31598H280.206ZM288.232 23.9043L281.131 8.48811L273.993 23.9043H288.232Z" fill="#231F20"/>
1557        <path d="M295.868 22.0734V6.50557H297.876V21.8838C297.876 28.1619 301.313 31.7803 307.023 31.7803C312.5 31.7803 316.012 28.5086 316.012 22.0734V6.50557H318.02V21.8459C318.02 29.4944 313.506 33.5679 306.947 33.5679C300.463 33.5679 295.874 29.5324 295.874 22.0734H295.868Z" fill="#231F20"/>
1558        <path d="M105.13 53.8375V46.254H107.776C108.307 46.254 108.772 46.3461 109.178 46.5248C109.584 46.7036 109.898 46.969 110.131 47.3103C110.358 47.6515 110.472 48.0578 110.472 48.5345C110.472 49.0111 110.363 49.4336 110.152 49.7695C109.941 50.1053 109.633 50.3599 109.227 50.5387C108.821 50.712 108.334 50.7987 107.755 50.7987H106.147V53.8375H105.13ZM106.147 49.9049H107.787C108.312 49.9049 108.724 49.7912 109.016 49.5691C109.308 49.347 109.454 49.0111 109.454 48.5615C109.454 48.112 109.308 47.7707 109.005 47.5269C108.707 47.2832 108.307 47.1586 107.798 47.1586H106.147V49.9049Z" fill="#231F20"/>
1559        <path d="M111.749 53.8375V48.529H112.745V49.2982C112.956 48.9516 113.21 48.7078 113.502 48.5724C113.795 48.4315 114.109 48.3611 114.439 48.3611C114.542 48.3611 114.644 48.3665 114.742 48.3774C114.839 48.3882 114.937 48.4045 115.029 48.4207L114.883 49.4607C114.78 49.4282 114.677 49.4066 114.574 49.3903C114.471 49.3741 114.368 49.3686 114.266 49.3686C113.822 49.3686 113.454 49.5041 113.172 49.7803C112.885 50.0566 112.745 50.4249 112.745 50.8853V53.8375H111.749Z" fill="#231F20"/>
1560        <path d="M118.455 54C117.908 54 117.415 53.87 116.988 53.6154C116.56 53.3608 116.219 53.0196 115.976 52.5916C115.732 52.1637 115.608 51.6979 115.608 51.1833C115.608 50.8041 115.678 50.4466 115.819 50.1053C115.96 49.7641 116.16 49.4661 116.414 49.2007C116.669 48.9407 116.972 48.7349 117.318 48.5832C117.664 48.437 118.043 48.3611 118.46 48.3611C119.007 48.3611 119.499 48.4911 119.927 48.7457C120.354 49.0003 120.695 49.3416 120.939 49.7695C121.182 50.1974 121.307 50.6633 121.307 51.1779C121.307 51.557 121.236 51.9145 121.096 52.2558C120.955 52.5971 120.755 52.895 120.5 53.155C120.246 53.415 119.943 53.6208 119.596 53.7671C119.25 53.9188 118.871 53.9946 118.455 53.9946V54ZM118.46 53.1008C118.812 53.1008 119.126 53.025 119.402 52.8679C119.678 52.7108 119.894 52.4887 120.057 52.2016C120.213 51.9145 120.295 51.5787 120.295 51.1833C120.295 50.7878 120.213 50.452 120.057 50.1649C119.9 49.8778 119.683 49.6557 119.407 49.4986C119.131 49.3416 118.812 49.2657 118.455 49.2657C118.097 49.2657 117.778 49.3416 117.507 49.4986C117.231 49.6557 117.015 49.8778 116.858 50.1649C116.701 50.452 116.62 50.7933 116.62 51.1833C116.62 51.5733 116.701 51.9145 116.858 52.2016C117.015 52.4887 117.231 52.7108 117.513 52.8679C117.794 53.025 118.108 53.1008 118.465 53.1008H118.46Z" fill="#231F20"/>
1561        <path d="M121.989 49.3741V48.529H123.255V49.3741H121.989ZM123.103 53.8375V47.5269C123.103 47.0123 123.25 46.6061 123.542 46.3136C123.834 46.0211 124.24 45.8748 124.749 45.8748C124.938 45.8748 125.111 45.8965 125.268 45.9398C125.42 45.9832 125.561 46.0373 125.68 46.1023L125.474 46.9094C125.371 46.8498 125.268 46.8119 125.171 46.7903C125.073 46.7686 124.976 46.7578 124.879 46.7578C124.646 46.7578 124.462 46.8173 124.316 46.9365C124.17 47.0557 124.099 47.2669 124.099 47.5649V48.529H125.523V49.3741H124.099V53.8375H123.109H123.103Z" fill="#231F20"/>
1562        <path d="M129.03 54C128.467 54 127.969 53.8808 127.541 53.6479C127.108 53.415 126.773 53.0846 126.535 52.6621C126.297 52.2395 126.178 51.752 126.178 51.1941C126.178 50.7878 126.248 50.4141 126.383 50.0674C126.519 49.7207 126.713 49.4228 126.968 49.1682C127.222 48.9136 127.514 48.7186 127.85 48.5778C128.185 48.437 128.553 48.3665 128.954 48.3665C129.382 48.3665 129.766 48.4424 130.101 48.594C130.437 48.7457 130.718 48.957 130.94 49.2278C131.162 49.4986 131.324 49.8182 131.422 50.1866C131.519 50.5549 131.541 50.9503 131.481 51.3837H127.163C127.152 51.7358 127.222 52.05 127.379 52.31C127.536 52.5754 127.758 52.7812 128.056 52.9329C128.353 53.0846 128.7 53.155 129.105 53.155C129.403 53.155 129.69 53.1062 129.971 53.0141C130.253 52.9221 130.502 52.7812 130.718 52.5971L131.14 53.3392C130.967 53.48 130.762 53.5992 130.529 53.7021C130.291 53.7996 130.047 53.8754 129.787 53.9296C129.533 53.9783 129.284 54.0054 129.041 54.0054L129.03 54ZM127.211 50.6091H130.48C130.464 50.1595 130.329 49.8128 130.063 49.5636C129.798 49.3145 129.425 49.1845 128.932 49.1845C128.44 49.1845 128.061 49.3091 127.752 49.5636C127.444 49.8128 127.26 50.1649 127.211 50.6091Z" fill="#231F20"/>
1563        <path d="M134.474 53.9946C134.058 53.9946 133.663 53.9296 133.289 53.8104C132.916 53.6858 132.602 53.5179 132.353 53.3067L132.764 52.5537C132.997 52.7487 133.267 52.9004 133.565 53.0087C133.868 53.1171 134.171 53.1766 134.469 53.1766C134.842 53.1766 135.135 53.1116 135.346 52.9708C135.557 52.83 135.66 52.6404 135.66 52.3912C135.66 52.1583 135.568 51.9904 135.389 51.8766C135.21 51.7629 134.875 51.6491 134.382 51.5299C133.733 51.3837 133.262 51.1833 132.964 50.9395C132.672 50.6903 132.526 50.3491 132.526 49.9049C132.526 49.5961 132.613 49.3199 132.786 49.0761C132.959 48.8378 133.197 48.6482 133.495 48.5128C133.798 48.3774 134.144 48.307 134.539 48.307C134.934 48.307 135.292 48.3611 135.627 48.4749C135.963 48.5832 136.26 48.7457 136.504 48.9516L136.12 49.7153C135.995 49.5907 135.844 49.4878 135.676 49.4011C135.503 49.3145 135.319 49.2441 135.124 49.1953C134.929 49.1466 134.734 49.1195 134.539 49.1195C134.22 49.1195 133.955 49.1845 133.749 49.3145C133.543 49.4445 133.446 49.6232 133.446 49.8562C133.446 50.0891 133.543 50.2732 133.738 50.387C133.933 50.5008 134.263 50.6091 134.723 50.7174C135.389 50.8637 135.865 51.0641 136.152 51.3133C136.439 51.5624 136.585 51.8983 136.585 52.3316C136.585 52.6675 136.498 52.96 136.32 53.2092C136.141 53.4583 135.898 53.6479 135.578 53.7833C135.259 53.9188 134.891 53.9892 134.463 53.9892L134.474 53.9946Z" fill="#231F20"/>
1564        <path d="M139.724 53.9946C139.307 53.9946 138.912 53.9296 138.539 53.8104C138.165 53.6858 137.851 53.5179 137.603 53.3067L138.014 52.5537C138.247 52.7487 138.517 52.9004 138.815 53.0087C139.118 53.1171 139.421 53.1766 139.719 53.1766C140.092 53.1766 140.384 53.1116 140.595 52.9708C140.806 52.83 140.909 52.6404 140.909 52.3912C140.909 52.1583 140.817 51.9904 140.639 51.8766C140.46 51.7629 140.125 51.6491 139.632 51.5299C138.983 51.3837 138.512 51.1833 138.214 50.9395C137.922 50.6903 137.776 50.3491 137.776 49.9049C137.776 49.5961 137.862 49.3199 138.036 49.0761C138.209 48.8378 138.447 48.6482 138.744 48.5128C139.048 48.3774 139.394 48.307 139.789 48.307C140.184 48.307 140.541 48.3611 140.877 48.4749C141.212 48.5832 141.51 48.7457 141.754 48.9516L141.369 49.7153C141.245 49.5907 141.093 49.4878 140.926 49.4011C140.752 49.3145 140.568 49.2441 140.374 49.1953C140.179 49.1466 139.984 49.1195 139.789 49.1195C139.47 49.1195 139.205 49.1845 138.999 49.3145C138.793 49.4445 138.696 49.6232 138.696 49.8562C138.696 50.0891 138.793 50.2732 138.988 50.387C139.183 50.5008 139.513 50.6091 139.973 50.7174C140.639 50.8637 141.115 51.0641 141.402 51.3133C141.689 51.5624 141.835 51.8983 141.835 52.3316C141.835 52.6675 141.748 52.96 141.57 53.2092C141.391 53.4583 141.147 53.6479 140.828 53.7833C140.509 53.9188 140.141 53.9892 139.713 53.9892L139.724 53.9946Z" fill="#231F20"/>
1565        <path d="M143.761 47.5269C143.572 47.5269 143.404 47.4619 143.269 47.3373C143.134 47.2128 143.063 47.0503 143.063 46.8553C143.063 46.6603 143.134 46.4977 143.269 46.3732C143.404 46.2486 143.572 46.189 143.761 46.189C143.951 46.189 144.113 46.254 144.249 46.3732C144.384 46.4977 144.454 46.6603 144.454 46.8553C144.454 47.0503 144.389 47.2128 144.249 47.3373C144.108 47.4619 143.951 47.5269 143.761 47.5269ZM143.258 53.8375V48.529H144.254V53.8375H143.258Z" fill="#231F20"/>
1566        <path d="M148.351 54C147.804 54 147.312 53.87 146.884 53.6154C146.457 53.3608 146.116 53.0196 145.872 52.5916C145.629 52.1637 145.504 51.6979 145.504 51.1833C145.504 50.8041 145.574 50.4466 145.715 50.1053C145.856 49.7641 146.056 49.4661 146.311 49.2007C146.565 48.9407 146.868 48.7349 147.214 48.5832C147.561 48.437 147.94 48.3611 148.356 48.3611C148.903 48.3611 149.395 48.4911 149.823 48.7457C150.251 49.0003 150.592 49.3416 150.835 49.7695C151.079 50.1974 151.203 50.6633 151.203 51.1779C151.203 51.557 151.133 51.9145 150.992 52.2558C150.851 52.5971 150.651 52.895 150.397 53.155C150.142 53.415 149.839 53.6208 149.493 53.7671C149.146 53.9188 148.768 53.9946 148.351 53.9946V54ZM148.356 53.1008C148.708 53.1008 149.022 53.025 149.298 52.8679C149.574 52.7108 149.791 52.4887 149.953 52.2016C150.11 51.9145 150.191 51.5787 150.191 51.1833C150.191 50.7878 150.11 50.452 149.953 50.1649C149.796 49.8778 149.579 49.6557 149.303 49.4986C149.027 49.3416 148.708 49.2657 148.351 49.2657C147.994 49.2657 147.674 49.3416 147.404 49.4986C147.128 49.6557 146.911 49.8778 146.754 50.1649C146.597 50.452 146.516 50.7933 146.516 51.1833C146.516 51.5733 146.597 51.9145 146.754 52.2016C146.911 52.4887 147.128 52.7108 147.409 52.8679C147.691 53.025 148.005 53.1008 148.362 53.1008H148.356Z" fill="#231F20"/>
1567        <path d="M152.453 53.8375V48.529H153.449V49.2441C153.676 48.9353 153.942 48.7078 154.245 48.5724C154.548 48.437 154.856 48.3665 155.176 48.3665C155.657 48.3665 156.052 48.464 156.372 48.6536C156.686 48.8486 156.924 49.0924 157.081 49.3957C157.238 49.6937 157.319 50.0024 157.319 50.3166V53.8375H156.323V50.6253C156.323 50.2245 156.198 49.9049 155.95 49.6557C155.701 49.412 155.36 49.2928 154.932 49.2928C154.651 49.2928 154.402 49.3578 154.18 49.4824C153.958 49.607 153.785 49.7857 153.655 50.0078C153.525 50.2353 153.46 50.4953 153.46 50.7987V53.8375H152.464H152.453Z" fill="#231F20"/>
1568        <path d="M160.442 54C160.068 54 159.743 53.9296 159.467 53.7942C159.191 53.6587 158.975 53.4637 158.818 53.2092C158.666 52.96 158.591 52.6621 158.591 52.3208C158.591 52.0391 158.661 51.7791 158.813 51.5516C158.959 51.3187 159.186 51.1237 159.494 50.972C159.803 50.8203 160.209 50.7174 160.701 50.6633C161.194 50.6091 161.795 50.6199 162.493 50.6958L162.52 51.427C161.979 51.3566 161.519 51.3295 161.14 51.3404C160.761 51.3566 160.452 51.4054 160.22 51.492C159.987 51.5787 159.814 51.687 159.7 51.8279C159.592 51.9687 159.538 52.1204 159.538 52.2991C159.538 52.5754 159.635 52.7975 159.835 52.9546C160.036 53.1116 160.312 53.1875 160.663 53.1875C160.961 53.1875 161.232 53.1333 161.464 53.025C161.703 52.9166 161.887 52.7596 162.027 52.5646C162.163 52.3695 162.233 52.1366 162.233 51.882V50.4033C162.233 50.1487 162.179 49.932 162.071 49.7478C161.962 49.5636 161.8 49.4228 161.589 49.3199C161.378 49.217 161.113 49.1682 160.804 49.1682C160.523 49.1682 160.247 49.2116 159.971 49.2928C159.7 49.3795 159.435 49.5149 159.181 49.6991L158.877 48.9299C159.208 48.7078 159.543 48.5507 159.895 48.4586C160.247 48.3665 160.582 48.3232 160.902 48.3232C161.389 48.3232 161.805 48.399 162.146 48.5507C162.487 48.7024 162.753 48.9353 162.931 49.2441C163.11 49.5528 163.202 49.932 163.202 50.3924V53.8483H162.282V53.1983C162.098 53.4637 161.843 53.6642 161.519 53.805C161.194 53.9458 160.831 54.0108 160.436 54.0108L160.442 54Z" fill="#231F20"/>
1569        <path d="M164.852 53.8375V46.0373H165.848V53.8375H164.852Z" fill="#231F20"/>
1570        <path d="M172.841 54C172.332 54 171.834 53.9296 171.352 53.7887C170.865 53.6479 170.459 53.4421 170.124 53.1712L170.638 52.375C170.827 52.5321 171.038 52.6621 171.277 52.7704C171.515 52.8787 171.769 52.96 172.034 53.0196C172.299 53.0791 172.57 53.1062 172.846 53.1062C173.382 53.1062 173.809 53.0033 174.14 52.7921C174.47 52.5808 174.632 52.2775 174.632 51.8712C174.632 51.5733 174.524 51.3241 174.302 51.1237C174.08 50.9178 173.674 50.7283 173.084 50.5603L172.262 50.322C171.563 50.1216 171.06 49.8562 170.741 49.5257C170.421 49.1953 170.259 48.7836 170.259 48.2853C170.259 47.9549 170.324 47.6515 170.459 47.3861C170.595 47.1207 170.779 46.8878 171.022 46.6927C171.266 46.4977 171.553 46.3515 171.883 46.254C172.213 46.1511 172.575 46.1023 172.965 46.1023C173.452 46.1023 173.907 46.1727 174.329 46.3136C174.751 46.4544 175.097 46.644 175.368 46.8823L174.843 47.6461C174.681 47.5107 174.497 47.3915 174.286 47.294C174.075 47.1965 173.853 47.1207 173.615 47.0665C173.376 47.0123 173.133 46.9853 172.889 46.9853C172.559 46.9853 172.272 47.034 172.023 47.1315C171.774 47.229 171.58 47.3698 171.439 47.554C171.298 47.7382 171.228 47.9657 171.228 48.2311C171.228 48.4207 171.271 48.5832 171.363 48.7295C171.455 48.8703 171.612 49.0003 171.834 49.1249C172.056 49.2441 172.364 49.3632 172.759 49.477L173.636 49.737C174.313 49.9374 174.805 50.1974 175.125 50.5224C175.444 50.8474 175.601 51.2699 175.601 51.7899C175.601 52.2287 175.493 52.6187 175.282 52.9491C175.065 53.285 174.757 53.545 174.34 53.7292C173.928 53.9133 173.431 54.0054 172.841 54.0054V54Z" fill="#231F20"/>
1571        <path d="M177.035 53.8375V46.0373H178.031V50.8203L180.288 48.529H181.478L179.6 50.5224L181.792 53.8375H180.591L178.875 51.1724L178.031 52.0175V53.8375H177.035Z" fill="#231F20"/>
1572        <path d="M183.416 47.5269C183.226 47.5269 183.059 47.4619 182.923 47.3373C182.788 47.2128 182.718 47.0503 182.718 46.8553C182.718 46.6603 182.788 46.4977 182.923 46.3732C183.059 46.2486 183.226 46.189 183.416 46.189C183.605 46.189 183.768 46.254 183.903 46.3732C184.038 46.4977 184.109 46.6603 184.109 46.8553C184.109 47.0503 184.044 47.2128 183.903 47.3373C183.762 47.4619 183.605 47.5269 183.416 47.5269ZM182.913 53.8375V48.529H183.908V53.8375H182.913Z" fill="#231F20"/>
1573        <path d="M185.629 53.8375V48.529H186.625V49.2441C186.853 48.9353 187.118 48.7078 187.421 48.5724C187.724 48.437 188.032 48.3665 188.352 48.3665C188.833 48.3665 189.229 48.464 189.548 48.6536C189.862 48.8486 190.1 49.0924 190.257 49.3957C190.414 49.6937 190.495 50.0024 190.495 50.3166V53.8375H189.499V50.6253C189.499 50.2245 189.375 49.9049 189.126 49.6557C188.877 49.4066 188.536 49.2928 188.108 49.2928C187.827 49.2928 187.572 49.3578 187.351 49.4824C187.129 49.607 186.955 49.7857 186.826 50.0078C186.696 50.2353 186.631 50.4953 186.631 50.7987V53.8375H185.635H185.629Z" fill="#231F20"/>
1574        <path d="M198.451 54C197.666 54 196.979 53.8375 196.394 53.5071C195.81 53.1821 195.355 52.7216 195.036 52.1258C194.716 51.5299 194.549 50.8366 194.549 50.0457C194.549 49.4716 194.646 48.9407 194.835 48.464C195.025 47.9819 195.295 47.5649 195.647 47.2073C195.999 46.8498 196.41 46.579 196.887 46.384C197.363 46.189 197.888 46.0915 198.456 46.0915C199.024 46.0915 199.506 46.1619 199.923 46.3027C200.34 46.4436 200.702 46.644 201.005 46.8986L200.464 47.7274C200.215 47.5053 199.928 47.3428 199.609 47.2344C199.284 47.1261 198.927 47.0719 198.532 47.0719C198.088 47.0719 197.688 47.1423 197.325 47.2778C196.962 47.4132 196.659 47.6136 196.4 47.8736C196.145 48.1336 195.95 48.4424 195.815 48.8053C195.68 49.1682 195.609 49.5799 195.609 50.0403C195.609 50.6633 195.734 51.1995 195.972 51.6437C196.216 52.0879 196.562 52.4237 197.011 52.6621C197.46 52.895 197.985 53.0087 198.597 53.0087C198.992 53.0087 199.365 52.9491 199.728 52.83C2
157400.091 52.7108 200.432 52.5212 200.745 52.2558L201.222 53.1225C200.848 53.415 200.432 53.6371 199.977 53.7779C199.517 53.9242 199.008 54 198.445 54H198.451Z" fill="#231F20"/>
1575        <path d="M203.863 54C203.489 54 203.165 53.9296 202.889 53.7942C202.613 53.6587 202.396 53.4637 202.239 53.2092C202.088 52.96 202.012 52.6621 202.012 52.3208C202.012 52.0391 202.082 51.7791 202.234 51.5516C202.38 51.3187 202.607 51.1237 202.916 50.972C203.224 50.8203 203.63 50.7174 204.123 50.6633C204.615 50.6091 205.216 50.6199 205.914 50.6958L205.941 51.427C205.4 51.3566 204.94 51.3295 204.561 51.3404C204.182 51.3566 203.874 51.4054 203.641 51.492C203.408 51.5787 203.235 51.687 203.121 51.8279C203.008 51.9687 202.959 52.1204 202.959 52.2991C202.959 52.5754 203.056 52.7975 203.257 52.9546C203.457 53.1116 203.733 53.1875 204.085 53.1875C204.382 53.1875 204.653 53.1333 204.886 53.025C205.124 52.9166 205.308 52.7596 205.449 52.5646C205.584 52.3695 205.654 52.1366 205.654 51.882V50.4033C205.654 50.1487 205.6 49.932 205.492 49.7478C205.384 49.5636 205.221 49.4228 205.01 49.3199C204.799 49.217 204.534 49.1682 204.225 49.1682C203.944 49.1682 203.668 49.2116 203.392 49.2928C203.121 49.3795 202.856 49.5149 202.602 49.6991L202.299 48.9299C202.629 48.7078 202.964 48.5507 203.316 48.4586C203.668 48.3665 204.003 48.3232 204.323 48.3232C204.81 48.3232 205.227 48.399 205.568 48.5507C205.909 48.7024 206.174 48.9353 206.352 49.2441C206.531 49.5528 206.623 49.932 206.623 50.3924V53.8483H205.703V53.1983C205.519 53.4637 205.265 53.6642 204.94 53.805C204.615 53.9458 204.252 54.0108 203.857 54.0108L203.863 54Z" fill="#231F20"/>
1576        <path d="M208.274 53.8375V48.529H209.269V49.2982C209.481 48.9516 209.735 48.7078 210.033 48.5724C210.325 48.4315 210.639 48.3611 210.974 48.3611C211.077 48.3611 211.18 48.3665 211.277 48.3774C211.375 48.3882 211.472 48.4045 211.564 48.4207L211.418 49.4607C211.315 49.4282 211.212 49.4066 211.11 49.3903C211.007 49.3741 210.904 49.3686 210.801 49.3686C210.357 49.3686 209.989 49.5041 209.702 49.7803C209.416 50.0566 209.275 50.4249 209.275 50.8853V53.8375H208.279H208.274Z" fill="#231F20"/>
1577        <path d="M214.99 54C214.427 54 213.929 53.8808 213.502 53.6479C213.069 53.415 212.733 53.0846 212.495 52.6621C212.257 52.2395 212.132 51.752 212.132 51.1941C212.132 50.7878 212.203 50.4141 212.338 50.0674C212.473 49.7207 212.668 49.4228 212.923 49.1682C213.177 48.9136 213.469 48.7186 213.81 48.5778C214.146 48.437 214.514 48.3665 214.909 48.3665C215.336 48.3665 215.721 48.4424 216.056 48.594C216.392 48.7457 216.673 48.957 216.895 49.2278C217.117 49.4986 217.279 49.8182 217.371 50.1866C217.469 50.5549 217.49 50.9503 217.431 51.3837H213.112C213.101 51.7358 213.172 52.05 213.329 52.31C213.485 52.5754 213.707 52.7812 214 52.9329C214.292 53.0791 214.644 53.155 215.05 53.155C215.347 53.155 215.634 53.1062 215.916 53.0141C216.197 52.9221 216.446 52.7812 216.662 52.5971L217.085 53.3392C216.911 53.48 216.706 53.5992 216.473 53.7021C216.24 53.805 215.991 53.8754 215.731 53.9296C215.477 53.9783 215.228 54.0054 214.985 54.0054L214.99 54ZM213.172 50.6091H216.44C216.424 50.1595 216.289 49.8128 216.024 49.5636C215.759 49.3145 215.385 49.1845 214.893 49.1845C214.4 49.1845 214.021 49.3091 213.713 49.5636C213.404 49.8128 213.22 50.1649 213.172 50.6091Z" fill="#231F20"/>
1578        </g>
1579        <defs>
1580        <clipPath id="clip0_722_621">
1581        <rect width="328" height="54" fill="white"/>
1582        </clipPath>
1583        </defs>
1584      </svg>
1585
1586    
1587</span>
1588
1589    </a>
1590  </div>
1591  <nav class="hdr_nav hidden justify-center items-center px-4">
1592    <ul class="flex gap-0 h-full items-center">
1593      
1594        <li class="group hover:underline underline-offset-[25%] decoration-[10%] h-full flex items-center py-8 px-2">
1595          <a class="text-subheading-2 font-bold leading-[110%] tracking-[1.3px] uppercase" href="/collections/all">
1596            <span class="!bg-mint-green">Shop</span>
1597
1598
1599          </a>
1600          
1601            
1602            
1603              
1604
1605
1606
1607<div class="flex absolute w-screen left-0 top-full bg-blush-light-pink px-10 py-8 gap-20 z-50 opacity-0 -translate-y-2 pointer-events-none transition-[opacity,translate] duration-200 ease-out group-hover:opacity-100 group-hover:translate-y-0 group-hover:pointer-events-auto">
1608  
1609  
1610    <div class="grow flex gap-12 nav-option-1">
1611      
1612        <div class="flex flex-col  has-[.child-link-image]:gap-4 has-[.child-link-image]:text-center gap-10 shrink-0">
1613          <a href="#" class="font-semibold text-subheading-2 leading-[110%] tracking-[10%] uppercase whitespace-nowrap">Shop By Category </a>
1614          
1615            <ul class="flex flex-col gap-4">
1616              
1617                <a href="/collections/all" class="text-subheading-2 font-normal leading-[110%] tracking-[10%] uppercase whitespace-nowrap">Shop all</a>
1618              
1619                <a href="/collections/best-sellers" class="text-subheading-2 font-normal leading-[110%] tracking-[10%] uppercase whitespace-nowrap">Best Sellers</a>
1620              
1621                <a href="/collections/whats-new" class="text-subheading-2 font-normal leading-[110%] tracking-[10%] uppercase whitespace-nowrap">What's New</a>
1622              
1623                <a href="/collections/travel-sizes" class="text-subheading-2 font-normal leading-[110%] tracking-[10%] uppercase whitespace-nowrap">Travel Sizes</a>
1624              
1625                <a href="/collections/acne-spot-treatments-1" class="text-subheading-2 font-normal leading-[110%] tracking-[10%] uppercase whitespace-nowrap">Acne Spot Treatments</a>
1626              
1627                <a href="/collections/cleansers" class="text-subheading-2 font-normal leading-[110%] tracking-[10%] uppercase whitespace-nowrap">Cleansers</a>
1628              
1629                <a href="/collections/moisturizers" class="text-subheading-2 font-normal leading-[110%] tracking-[10%] uppercase whitespace-nowrap">Moisturizers</a>
1630              
1631                <a href="/collections/specialty-serums" class="text-subheading-2 font-normal leading-[110%] tracking-[10%] uppercase whitespace-nowrap">Serums</a>
1632              
1633                <a href="/collections/masques" class="text-subheading-2 font-normal leading-[110%] tracking-[10%] uppercase whitespace-nowrap">Masques</a>
1634              
1635                <a href="/collections/toners" class="text-subheading-2 font-normal leading-[110%] tracking-[10%] uppercase whitespace-nowrap">Toners</a>
1636              
1637                <a href="/collections/exfoliants" class="text-subheading-2 font-normal leading-[110%] tracking-[10%] uppercase whitespace-nowrap">Exfoliants</a>
1638              
1639                <a href="/collections/eye-care" class="text-subheading-2 font-normal leading-[110%] tracking-[10%] uppercase whitespace-nowrap">Eye Care</a>
1640              
1641                <a href="/collections/sun-protection" class="text-subheading-2 font-normal leading-[110%] tracking-[10%] uppercase whitespace-nowrap">Sun Protection</a>
1642              
1643                <a href="/collections/skin-accessories" class="text-subheading-2 font-normal leading-[110%] tracking-[10%] uppercase whitespace-nowrap">Accessories</a>
1644              
1645            </ul> 
1646           
1647        </div>
1648      
1649        <div class="flex flex-col  has-[.child-link-image]:gap-4 has-[.child-link-image]:text-center gap-10 shrink-0">
1650          <a href="#" class="font-semibold text-subheading-2 leading-[110%] tracking-[10%] uppercase whitespace-nowrap">Shop By Concern</a>
1651          
1652            <ul class="flex flex-col gap-4">
1653              
1654                <a href="/collections/acne-breakouts" class="text-subheading-2 font-normal leading-[110%] tracking-[10%] uppercase whitespace-nowrap">Acne & Breakouts</a>
1655              
1656                <a href="/collections/healthy-aging" class="text-subheading-2 font-normal leading-[110%] tracking-[10%] uppercase whitespace-nowrap">Healthy Aging</a>
1657              
1658                <a href="/collections/hyperpigmentation" class="text-subheading-2 font-normal leading-[110%] tracking-[10%] uppercase whitespace-nowrap">Hyperpigmentation</a>
1659              
1660                <a href="/collections/redness-rosacea" class="text-subheading-2 font-normal leading-[110%] tracking-[10%] uppercase whitespace-nowrap">Redness & Rosacea</a>
1661              
1662                <a href="/collections/dry-skin" class="text-subheading-2 font-normal leading-[110%] tracking-[10%] uppercase whitespace-nowrap">Dry Skin</a>
1663              
1664                <a href="/collections/oily-skin" class="text-subheading-2 font-normal leading-[110%] tracking-[10%] uppercase whitespace-nowrap">Oily Skin</a>
1665              
1666            </ul> 
1667           
1668        </div>
1669      
1670        <div class="flex flex-col  has-[.child-link-image]:gap-4 has-[.child-link-image]:text-center gap-10 shrink-0">
1671          <a href="#" class="font-semibold text-subheading-2 leading-[110%] tracking-[10%] uppercase whitespace-nowrap">Shop By Skin Type</a>
1672          
1673            <ul class="flex flex-col gap-4">
1674              
1675                <a href="/pages/take-the-quiz" class="text-subheading-2 font-normal leading-[110%] tracking-[10%] uppercase whitespace-nowrap">Take the Quiz</a>
1676              
1677                <a href="/collections/skin-type-1" class="text-subheading-2 font-normal leading-[110%] tracking-[10%] uppercase whitespace-nowrap">Skin Type 1</a>
1678              
1679                <a href="/collections/skin-type-2" class="text-subheading-2 font-normal leading-[110%] tracking-[10%] uppercase whitespace-nowrap">Skin Type 2</a>
1680              
1681                <a href="/collections/skin-type-3" class="text-subheading-2 font-normal leading-[110%] tracking-[10%] uppercase whitespace-nowrap">Skin Type 3</a>
1682              
1683                <a href="/collections/skin-type-4" class="text-subheading-2 font-normal leading-[110%] tracking-[10%] uppercase whitespace-nowrap">Skin Type 4</a>
1684              
1685                <a href="/collections/skin-type-5" class="text-subheading-2 font-normal leading-[110%] tracking-[10%] uppercase whitespace-nowrap">Skin Type 5</a>
1686              
1687                <a href="/collections/skin-type-6" class="text-subheading-2 font-normal leading-[110%] tracking-[10%] uppercase whitespace-nowrap">Skin Type 6</a>
1688              
1689                <a href="/collections/skin-type-7" class="text-subheading-2 font-normal leading-[110%] tracking-[10%] uppercase whitespace-nowrap">Skin Type 7</a>
1690              
1691                <a href="/collections/skin-type-8" class="text-subheading-2 font-normal leading-[110%] tracking-[10%] uppercase whitespace-nowrap">Skin Type 8</a>
1692              
1693                <a href="/collections/skin-type-9" class="text-subheading-2 font-normal leading-[110%] tracking-[10%] uppercase whitespace-nowrap">Skin Type 9</a>
1694              
1695            </ul> 
1696           
1697        </div>
1698      
1699        <div class="flex flex-col  has-[.child-link-image]:gap-4 has-[.child-link-image]:text-center gap-10 shrink-0">
1700          <a href="#" class="font-semibold text-subheading-2 leading-[110%] tracking-[10%] uppercase whitespace-nowrap">Shop by sets</a>
1701          
1702            <ul class="flex flex-col gap-4">
1703              
1704                <a href="/collections/acne-collections" class="text-subheading-2 font-normal leading-[110%] tracking-[10%] uppercase whitespace-nowrap">The Acne</a>
1705              
1706                <a href="/collections/the-basic-skin-care-collections" class="text-subheading-2 font-normal leading-[110%] tracking-[10%] uppercase whitespace-nowrap">The Basic</a>
1707              
1708                <a href="/collections/the-essential-skin-care-collections" class="text-subheading-2 font-normal leading-[110%] tracking-[10%] uppercase whitespace-nowrap">The Essential</a>
1709              
1710                <a href="/collections/the-complete-skin-care-collections" class="text-subheading-2 font-normal leading-[110%] tracking-[10%] uppercase whitespace-nowrap">The Complete</a>
1711              
1712                <a href="/collections/the-at-home-facial" class="text-subheading-2 font-normal leading-[110%] tracking-[10%] uppercase whitespace-nowrap">The At-Home Facial</a>
1713              
1714            </ul> 
1715           
1716        </div>
1717      
1718    </div>
1719    <div class="flex gap-4 justify-end">
1720        
1721        
1722          <a href="/pages/skin-type-quiz" class="relative aspect-square grow shrink self-start min-w-[240px] max-w-[325px]">
1723            
1724<div class="relative overflow-hidden h-full" style="">
1725  <img src="//www.reneerouleau.com/cdn/shop/files/Renee-Rouleau-Skincare-Need-Skin-Overhaul.jpg?v=1762885368" alt="" width="1400" height="1400" loading="lazy" sizes="325px" srcset="
1726//www.reneerouleau.com/cdn/shop/files/Renee-Rouleau-Skincare-Need-Skin-Overhaul.jpg?v=1762885368&amp;width=165 165w,//www.reneerouleau.com/cdn/shop/files/Renee-Rouleau-Skincare-Need-Skin-Overhaul.jpg?v=1762885368&amp;width=360 360w,//www.reneerouleau.com/cdn/shop/files/Renee-Rouleau-Skincare-Need-Skin-Overhaul.jpg?v=1762885368&amp;width=533 533w,//www.reneerouleau.com/cdn/shop/files/Renee-Rouleau-Skincare-Need-Skin-Overhaul.jpg?v=1762885368&amp;width=720 720w,//www.reneerouleau.com/cdn/shop/files/Renee-Rouleau-Skincare-Need-Skin-Overhaul.jpg?v=1762885368&amp;width=940 940w,//www.reneerouleau.com/cdn/shop/files/Renee-Rouleau-Skincare-Need-Skin-Overhaul.jpg?v=1762885368&amp;width=1066 1066w," style="object-fit:cover;
1727  width:100%;
1728  height: 100%;" fetchpriority="auto">
1729</div>
1730
1731            <div class="absolute bottom-8 left-0 w-full flex justify-center">
1732              <div class="text-center w-[73%]">
1733                <span class="inline bg-mint-green text-body-copy font-light py-0 leading-[2] tracking-[2px] uppercase whitespace-normal break-words [box-decoration-break:clone] [-webkit-box-decoration-break:clone]">Take the Skin Type Quiz</span>
1734              </div>
1735            </div>
1736          </a>
1737        
1738        
1739          <a href="/pages/pro" class="relative aspect-square grow shrink self-start min-w-[240px] max-w-[325px]">
1740            
1741<div class="relative overflow-hidden h-full" style="">
1742  <img src="//www.reneerouleau.com/cdn/shop/files/Renee-Rouleau-Skincare-Esthetician-Touching-Skin.jpg?v=1762885647" alt="" width="1400" height="1400" loading="lazy" sizes="325px" srcset="
1743//www.reneerouleau.com/cdn/shop/files/Renee-Rouleau-Skincare-Esthetician-Touching-Skin.jpg?v=1762885647&amp;width=165 165w,//www.reneerouleau.com/cdn/shop/files/Renee-Rouleau-Skincare-Esthetician-Touching-Skin.jpg?v=1762885647&amp;width=360 360w,//www.reneerouleau.com/cdn/shop/files/Renee-Rouleau-Skincare-Esthetician-Touching-Skin.jpg?v=1762885647&amp;width=533 533w,//www.reneerouleau.com/cdn/shop/files/Renee-Rouleau-Skincare-Esthetician-Touching-Skin.jpg?v=1762885647&amp;width=720 720w,//www.reneerouleau.com/cdn/shop/files/Renee-Rouleau-Skincare-Esthetician-Touching-Skin.jpg?v=1762885647&amp;width=940 940w,//www.reneerouleau.com/cdn/shop/files/Renee-Rouleau-Skincare-Esthetician-Touching-Skin.jpg?v=1762885647&amp;width=1066 1066w," style="object-fit:cover;
1744  width:100%;
1745  height: 100%;" fetchpriority="auto">
1746</div>
1747
1748            <div class="absolute bottom-8 left-0 w-full flex justify-center">
1749              <div class="text-center w-[73%]">
1750                <span class="inline bg-mint-green text-body-copy font-light py-0 leading-[2] tracking-[2px] uppercase whitespace-normal break-words [box-decoration-break:clone] [-webkit-box-decoration-break:clone]">Become a PRO Partner</span>
1751              </div>
1752            </div>
1753          </a>
1754        
1755    </div>
1756  
1757
1758  
1759
1760  
1761
1762</div>
1763
1764            
1765          
1766            
1767            
1768          
1769            
1770            
1771          
1772            
1773            
1774          
1775            
1776            
1777          
1778        </li>
1779      
1780        <li class="group hover:underline underline-offset-[25%] decoration-[10%] h-full flex items-center py-8 px-2">
1781          <a class="text-subheading-2 font-bold leading-[110%] tracking-[1.3px] uppercase" href="/pages/pro">
1782            Pros
1783
1784
1785          </a>
1786          
1787            
1788            
1789          
1790            
1791            
1792              
1793
1794
1795
1796<div class="flex absolute w-screen left-0 top-full bg-blush-light-pink px-10 py-8 gap-20 z-50 opacity-0 -translate-y-2 pointer-events-none transition-[opacity,translate] duration-200 ease-out group-hover:opacity-100 group-hover:translate-y-0 group-hover:pointer-events-auto">
1797  
1798  
1799
1800  
1801    <div class="grow flex flex-col gap-4 nav-option-2">
1802      
1803        <div class="flex shrink-0">
1804          <a href="/pages/pro" class="font-normal text-subheading-2 leading-[110%] tracking-[1.3px] uppercase whitespace-nowrap">Become A Pro Partner</a>
1805        </div>
1806      
1807        <div class="flex shrink-0">
1808          <a href="https://login.circle.so/sign_in?request_host=pro-community-90b881.circle.so" class="font-normal text-subheading-2 leading-[110%] tracking-[1.3px] uppercase whitespace-nowrap">The Circle Of Hands Community</a>
1809        </div>
1810      
1811        <div class="flex shrink-0">
1812          <a href="/pages/pro-events" class="font-normal text-subheading-2 leading-[110%] tracking-[1.3px] uppercase whitespace-nowrap">Live Pro Webinar Events</a>
1813        </div>
1814      
1815        <div class="flex shrink-0">
1816          <a href="/pages/customer-care-where-to-buy" class="font-normal text-subheading-2 leading-[110%] tracking-[1.3px] uppercase whitespace-nowrap">Find A Pro Partner</a>
1817        </div>
1818      
1819    </div>
1820    <div class="flex gap-4 justify-end">
1821        
1822        
1823          <a href="/pages/pro" class="relative aspect-square grow shrink self-start min-w-[240px] max-w-[325px]">
1824            
1825<div class="relative overflow-hidden h-full" style="">
1826  <img src="//www.reneerouleau.com/cdn/shop/files/Renee-Rouleau-Skincare-NAV-BecomePROPartner2.png?v=1763485661" alt="" width="1200" height="1200" loading="lazy" sizes="325px" srcset="
1827//www.reneerouleau.com/cdn/shop/files/Renee-Rouleau-Skincare-NAV-BecomePROPartner2.png?v=1763485661&amp;width=165 165w,//www.reneerouleau.com/cdn/shop/files/Renee-Rouleau-Skincare-NAV-BecomePROPartner2.png?v=1763485661&amp;width=360 360w,//www.reneerouleau.com/cdn/shop/files/Renee-Rouleau-Skincare-NAV-BecomePROPartner2.png?v=1763485661&amp;width=533 533w,//www.reneerouleau.com/cdn/shop/files/Renee-Rouleau-Skincare-NAV-BecomePROPartner2.png?v=1763485661&amp;width=720 720w,//www.reneerouleau.com/cdn/shop/files/Renee-Rouleau-Skincare-NAV-BecomePROPartner2.png?v=1763485661&amp;width=940 940w,//www.reneerouleau.com/cdn/shop/files/Renee-Rouleau-Skincare-NAV-BecomePROPartner2.png?v=1763485661&amp;width=1066 1066w," style="object-fit:cover;
1828  width:100%;
1829  height: 100%;" fetchpriority="auto">
1830</div>
1831
1832            <div class="absolute bottom-8 left-0 w-full flex justify-center">
1833              <div class="text-center w-[73%]">
1834                <span class="inline bg-mint-green text-body-copy font-light py-0 leading-[2] tracking-[2px] uppercase whitespace-normal break-words [box-decoration-break:clone] [-webkit-box-decoration-break:clone]">Become a PRO Partner</span>
1835              </div>
1836            </div>
1837          </a>
1838        
1839        
1840          <a href="https://login.circle.so/sign_in?request_host=pro-community-90b881.circle.so" class="relative aspect-square grow shrink self-start min-w-[240px] max-w-[325px]">
1841            
1842<div class="relative overflow-hidden h-full" style="">
1843  <img src="//www.reneerouleau.com/cdn/shop/files/Renee-Rouleau-Skincare-PRO-Partners-Benefits.jpg?v=1762883693" alt="" width="1400" height="1400" loading="lazy" sizes="325px" srcset="
1844//www.reneerouleau.com/cdn/shop/files/Renee-Rouleau-Skincare-PRO-Partners-Benefits.jpg?v=1762883693&amp;width=165 165w,//www.reneerouleau.com/cdn/shop/files/Renee-Rouleau-Skincare-PRO-Partners-Benefits.jpg?v=1762883693&amp;width=360 360w,//www.reneerouleau.com/cdn/shop/files/Renee-Rouleau-Skincare-PRO-Partners-Benefits.jpg?v=1762883693&amp;width=533 533w,//www.reneerouleau.com/cdn/shop/files/Renee-Rouleau-Skincare-PRO-Partners-Benefits.jpg?v=1762883693&amp;width=720 720w,//www.reneerouleau.com/cdn/shop/files/Renee-Rouleau-Skincare-PRO-Partners-Benefits.jpg?v=1762883693&amp;width=940 940w,//www.reneerouleau.com/cdn/shop/files/Renee-Rouleau-Skincare-PRO-Partners-Benefits.jpg?v=1762883693&amp;width=1066 1066w," style="object-fit:cover;
1845  width:100%;
1846  height: 100%;" fetchpriority="auto">
1847</div>
1848
1849            <div class="absolute bottom-8 left-0 w-full flex justify-center text-center">
1850              <div class="text-center w-[73%]">
1851                <span class="inline bg-mint-green text-body-copy font-light py-0 leading-[2] tracking-[2px] uppercase whitespace-normal break-words [box-decoration-break:clone] [-webkit-box-decoration-break:clone]">The Circle of Hands Community</span>
1852              </div>
1853            </div>
1854          </a>
1855        
1856        
1857          <a href="/pages/pro-events" class="relative aspect-square grow shrink self-start min-w-[240px] max-w-[325px]">
1858            
1859<div class="relative overflow-hidden h-full" style="">
1860  <img src="//www.reneerouleau.com/cdn/shop/files/Renee-Rouleau-Skincare-NAV-WebinarEvents.png?v=1763485744" alt="" width="1200" height="1200" loading="lazy" sizes="325px" srcset="
1861//www.reneerouleau.com/cdn/shop/files/Renee-Rouleau-Skincare-NAV-WebinarEvents.png?v=1763485744&amp;width=165 165w,//www.reneerouleau.com/cdn/shop/files/Renee-Rouleau-Skincare-NAV-WebinarEvents.png?v=1763485744&amp;width=360 360w,//www.reneerouleau.com/cdn/shop/files/Renee-Rouleau-Skincare-NAV-WebinarEvents.png?v=1763485744&amp;width=533 533w,//www.reneerouleau.com/cdn/shop/files/Renee-Rouleau-Skincare-NAV-WebinarEvents.png?v=1763485744&amp;width=720 720w,//www.reneerouleau.com/cdn/shop/files/Renee-Rouleau-Skincare-NAV-WebinarEvents.png?v=1763485744&amp;width=940 940w,//www.reneerouleau.com/cdn/shop/files/Renee-Rouleau-Skincare-NAV-WebinarEvents.png?v=1763485744&amp;width=1066 1066w," style="object-fit:cover;
1862  width:100%;
1863  height: 100%;" fetchpriority="auto">
1864</div>
1865
1866            <div class="absolute bottom-8 left-0 w-full flex justify-center text-center">
1867              <div class="text-center w-[73%]">
1868                <span class="inline bg-mint-green text-body-copy font-light py-0 leading-[2] tracking-[2px] uppercase whitespace-normal break-words [box-decoration-break:clone] [-webkit-box-decoration-break:clone]">Live PRO Webinar Events</span>
1869              </div>
1870            </div>
1871          </a>
1872        
1873    </div>
1874  
1875
1876  
1877
1878</div>
1879
1880            
1881          
1882            
1883            
1884          
1885            
1886            
1887          
1888            
1889            
1890          
1891        </li>
1892      
1893        <li class="group hover:underline underline-offset-[25%] decoration-[10%] h-full flex items-center py-8 px-2">
1894          <a class="text-subheading-2 font-bold leading-[110%] tracking-[1.3px] uppercase" href="/pages/skindex">
1895            Skindex
1896
1897
1898          </a>
1899          
1900            
1901            
1902          
1903            
1904            
1905          
1906            
1907            
1908              
1909
1910
1911
1912<div class="flex absolute w-screen left-0 top-full bg-blush-light-pink px-10 py-8 gap-20 z-50 opacity-0 -translate-y-2 pointer-events-none transition-[opacity,translate] duration-200 ease-out group-hover:opacity-100 group-hover:translate-y-0 group-hover:pointer-events-auto">
1913  
1914  
1915
1916  
1917
1918  
1919    <div class="grid grid-cols-4 gap-4 nav-option-3">
1920      
1921        <a href="https://blog.reneerouleau.com/skin-care-for-menopause/" class="flex flex-col justify-start gap-4 text-center">
1922          <div class="aspect-square w-full">
1923            
1924<div class="relative overflow-hidden w-full h-full" style="">
1925  <img src="//www.reneerouleau.com/cdn/shop/files/Renee-Rouleau-Skincare-Eight-Common-Skin-Concerns-Menopause_1.jpg?v=1763485768" alt="" width="1400" height="1400" loading="lazy" sizes="(min-width: 1650px) 390px, 25vw" srcset="
1926//www.reneerouleau.com/cdn/shop/files/Renee-Rouleau-Skincare-Eight-Common-Skin-Concerns-Menopause_1.jpg?v=1763485768&amp;width=165 165w,//www.reneerouleau.com/cdn/shop/files/Renee-Rouleau-Skincare-Eight-Common-Skin-Concerns-Menopause_1.jpg?v=1763485768&amp;width=360 360w,//www.reneerouleau.com/cdn/shop/files/Renee-Rouleau-Skincare-Eight-Common-Skin-Concerns-Menopause_1.jpg?v=1763485768&amp;width=533 533w,//www.reneerouleau.com/cdn/shop/files/Renee-Rouleau-Skincare-Eight-Common-Skin-Concerns-Menopause_1.jpg?v=1763485768&amp;width=720 720w,//www.reneerouleau.com/cdn/shop/files/Renee-Rouleau-Skincare-Eight-Common-Skin-Concerns-Menopause_1.jpg?v=1763485768&amp;width=940 940w,//www.reneerouleau.com/cdn/shop/files/Renee-Rouleau-Skincare-Eight-Common-Skin-Concerns-Menopause_1.jpg?v=1763485768&amp;width=1066 1066w," style="object-fit:cover;
1927  width:100%;
1928  height: 100%;" fetchpriority="auto">
1929</div>
1930
1931          </div>
1932          <span class="w-full text-center uppercase font-bold leading-[130%] tracking-[1.3px] text-subheading-2">How to Address 8 Common Skin Concerns During Menopause</span>
1933        </a>
1934      
1935      
1936        <a href="https://blog.reneerouleau.com/four-types-skin-discoloration-get-rid-fast/" class="flex flex-col justify-start gap-4 text-center">
1937          <div class="aspect-square w-full">
1938            
1939<div class="relative overflow-hidden w-full h-full" style="">
1940  <img src="//www.reneerouleau.com/cdn/shop/files/Renee-Rouleau-Skincare-Four-Types-Skin-Discoloration.jpg?v=1762884499" alt="" width="1400" height="1400" loading="lazy" sizes="(min-width: 1650px) 390px, 25vw" srcset="
1941//www.reneerouleau.com/cdn/shop/files/Renee-Rouleau-Skincare-Four-Types-Skin-Discoloration.jpg?v=1762884499&amp;width=165 165w,//www.reneerouleau.com/cdn/shop/files/Renee-Rouleau-Skincare-Four-Types-Skin-Discoloration.jpg?v=1762884499&amp;width=360 360w,//www.reneerouleau.com/cdn/shop/files/Renee-Rouleau-Skincare-Four-Types-Skin-Discoloration.jpg?v=1762884499&amp;width=533 533w,//www.reneerouleau.com/cdn/shop/files/Renee-Rouleau-Skincare-Four-Types-Skin-Discoloration.jpg?v=1762884499&amp;width=720 720w,//www.reneerouleau.com/cdn/shop/files/Renee-Rouleau-Skincare-Four-Types-Skin-Discoloration.jpg?v=1762884499&amp;width=940 940w,//www.reneerouleau.com/cdn/shop/files/Renee-Rouleau-Skincare-Four-Types-Skin-Discoloration.jpg?v=1762884499&amp;width=1066 1066w," style="object-fit:cover;
1942  width:100%;
1943  height: 100%;" fetchpriority="auto">
1944</div>
1945
1946          </div>
1947          <span class="w-full text-center uppercase font-bold leading-[130%] tracking-[1.3px] text-subheading-2">The Four Types of Skin Discoloration—and How To Get Rid of Them Faster</span>
1948        </a>
1949      
1950      
1951        <a href="https://blog.reneerouleau.com/8-tips-prevent-chin-jawline-breakouts/" class="flex flex-col justify-start gap-4 text-center">
1952          <div class="aspect-square w-full">
1953            
1954<div class="relative overflow-hidden w-full h-full" style="">
1955  <img src="//www.reneerouleau.com/cdn/shop/files/Renee-Rouleau-Skincare-Eight-Tips-Get-Rid-Cystic-Acne-Chin-Jawline.jpg?v=1762884540" alt="" width="1400" height="1400" loading="lazy" sizes="(min-width: 1650px) 390px, 25vw" srcset="
1956//www.reneerouleau.com/cdn/shop/files/Renee-Rouleau-Skincare-Eight-Tips-Get-Rid-Cystic-Acne-Chin-Jawline.jpg?v=1762884540&amp;width=165 165w,//www.reneerouleau.com/cdn/shop/files/Renee-Rouleau-Skincare-Eight-Tips-Get-Rid-Cystic-Acne-Chin-Jawline.jpg?v=1762884540&amp;width=360 360w,//www.reneerouleau.com/cdn/shop/files/Renee-Rouleau-Skincare-Eight-Tips-Get-Rid-Cystic-Acne-Chin-Jawline.jpg?v=1762884540&amp;width=533 533w,//www.reneerouleau.com/cdn/shop/files/Renee-Rouleau-Skincare-Eight-Tips-Get-Rid-Cystic-Acne-Chin-Jawline.jpg?v=1762884540&amp;width=720 720w,//www.reneerouleau.com/cdn/shop/files/Renee-Rouleau-Skincare-Eight-Tips-Get-Rid-Cystic-Acne-Chin-Jawline.jpg?v=1762884540&amp;width=940 940w,//www.reneerouleau.com/cdn/shop/files/Renee-Rouleau-Skincare-Eight-Tips-Get-Rid-Cystic-Acne-Chin-Jawline.jpg?v=1762884540&amp;width=1066 1066w," style="object-fit:cover;
1957  width:100%;
1958  height: 100%;" fetchpriority="auto">
1959</div>
1960
1961          </div>
1962          <span class="w-full text-center uppercase font-bold leading-[130%] tracking-[1.3px] text-subheading-2">8 Tips to Prevent Cystic Breakouts on Your Chin and Jawline</span>
1963        </a>
1964      
1965      
1966        <a href="https://blog.reneerouleau.com/skin-type-quiz/" class="flex flex-col justify-start gap-4 text-center">
1967          <div class="aspect-square w-full">
1968            
1969<div class="relative overflow-hidden w-full h-full" style="">
1970  <img src="//www.reneerouleau.com/cdn/shop/files/Renee-Rouleau-Skincare-Skin-Type-Is-Everything.jpg?v=1762885418" alt="" width="1400" height="1400" loading="lazy" sizes="(min-width: 1650px) 390px, 25vw" srcset="
1971//www.reneerouleau.com/cdn/shop/files/Renee-Rouleau-Skincare-Skin-Type-Is-Everything.jpg?v=1762885418&amp;width=165 165w,//www.reneerouleau.com/cdn/shop/files/Renee-Rouleau-Skincare-Skin-Type-Is-Everything.jpg?v=1762885418&amp;width=360 360w,//www.reneerouleau.com/cdn/shop/files/Renee-Rouleau-Skincare-Skin-Type-Is-Everything.jpg?v=1762885418&amp;width=533 533w,//www.reneerouleau.com/cdn/shop/files/Renee-Rouleau-Skincare-Skin-Type-Is-Everything.jpg?v=1762885418&amp;width=720 720w,//www.reneerouleau.com/cdn/shop/files/Renee-Rouleau-Skincare-Skin-Type-Is-Everything.jpg?v=1762885418&amp;width=940 940w,//www.reneerouleau.com/cdn/shop/files/Renee-Rouleau-Skincare-Skin-Type-Is-Everything.jpg?v=1762885418&amp;width=1066 1066w," style="object-fit:cover;
1972  width:100%;
1973  height: 100%;" fetchpriority="auto">
1974</div>
1975
1976          </div>
1977          <span class="w-full text-center uppercase font-bold leading-[130%] tracking-[1.3px] text-subheading-2">Skin Type is Everything —Here’s How It Determines Which Products Will Work Best for You</span>
1978        </a>
1979      
1980      
1981        <div class="col-span-4 flex justify-center items-center mt-6">
1982          
1983
1984
1985
1986
1987<a class="uppercase lg:min-w-[200px] min-h-[24px] lg:h-[45px] font-bold lg:text-subheading-2 text-subheading-2-mob tracking-[10%] leading-[110%] text-center border border-black flex justify-center items-center cursor-pointer px-auto group bg-mint-green hover:bg-white transition-all ease-in-out duration-500" href="https://www.reneerouleau.com/pages/skindex" aria-label="Click to read more about skindex">
1988    
1989  <span class=" uppercase">
1990    Read more
1991  </span>
1992  
1993
1994  </a>
1995        </div> 
1996      
1997    </div>
1998  
1999
2000</div>
2001
2002            
2003          
2004            
2005            
2006          
2007            
2008            
2009          
2010        </li>
2011      
2012        <li class="group hover:underline underline-offset-[25%] decoration-[10%] h-full flex items-center py-8 px-2">
2013          <a class="text-subheading-2 font-bold leading-[110%] tracking-[1.3px] uppercase" href="/pages/online-skincare-consultations">
2014            Consultation
2015
2016
2017          </a>
2018          
2019            
2020            
2021          
2022            
2023            
2024          
2025            
2026            
2027          
2028            
2029            
2030          
2031            
2032            
2033          
2034        </li>
2035      
2036        <li class="group hover:underline underline-offset-[25%] decoration-[10%] h-full flex items-center py-8 px-2">
2037          <a class="text-subheading-2 font-bold leading-[110%] tracking-[1.3px] uppercase" href="/pages/about">
2038            About
2039
2040
2041          </a>
2042          
2043            
2044            
2045          
2046            
2047            
2048          
2049            
2050            
2051          
2052            
2053            
2054              
2055
2056
2057
2058<div class="flex absolute w-screen left-0 top-full bg-blush-light-pink px-10 py-8 gap-20 z-50 opacity-0 -translate-y-2 pointer-events-none transition-[opacity,translate] duration-200 ease-out group-hover:opacity-100 group-hover:translate-y-0 group-hover:pointer-events-auto">
2059  
2060  
2061
2062  
2063    <div class="grow flex flex-col gap-4 nav-option-2">
2064      
2065        <div class="flex shrink-0">
2066          <a href="/pages/about" class="font-normal text-subheading-2 leading-[110%] tracking-[1.3px] uppercase whitespace-nowrap">About Renée Rouleau</a>
2067        </div>
2068      
2069        <div class="flex shrink-0">
2070          <a href="/pages/skincare-ingredient-dictionary" class="font-normal text-subheading-2 leading-[110%] tracking-[1.3px] uppercase whitespace-nowrap">Ingredient Glossary</a>
2071        </div>
2072      
2073        <div class="flex shrink-0">
2074          <a href="/pages/podcast-appearances" class="font-normal text-subheading-2 leading-[110%] tracking-[1.3px] uppercase whitespace-nowrap">In The Press</a>
2075        </div>
2076      
2077        <div class="flex shrink-0">
2078          <a href="/pages/media-inquiries" class="font-normal text-subheading-2 leading-[110%] tracking-[1.3px] uppercase whitespace-nowrap">Podcasts & Media Requests</a>
2079        </div>
2080      
2081    </div>
2082    <div class="flex gap-4 justify-end">
2083        
2084        
2085          <a href="/pages/about" class="relative aspect-square grow shrink self-start min-w-[240px] max-w-[325px]">
2086            
2087<div class="relative overflow-hidden h-full" style="">
2088  <img src="//www.reneerouleau.com/cdn/shop/files/Renee-Rouleau-Skincare-NAV-MeetRenee.png?v=1763485892" alt="" width="1200" height="1200" loading="lazy" sizes="325px" srcset="
2089//www.reneerouleau.com/cdn/shop/files/Renee-Rouleau-Skincare-NAV-MeetRenee.png?v=1763485892&amp;width=165 165w,//www.reneerouleau.com/cdn/shop/files/Renee-Rouleau-Skincare-NAV-MeetRenee.png?v=1763485892&amp;width=360 360w,//www.reneerouleau.com/cdn/shop/files/Renee-Rouleau-Skincare-NAV-MeetRenee.png?v=1763485892&amp;width=533 533w,//www.reneerouleau.com/cdn/shop/files/Renee-Rouleau-Skincare-NAV-MeetRenee.png?v=1763485892&amp;width=720 720w,//www.reneerouleau.com/cdn/shop/files/Renee-Rouleau-Skincare-NAV-MeetRenee.png?v=1763485892&amp;width=940 940w,//www.reneerouleau.com/cdn/shop/files/Renee-Rouleau-Skincare-NAV-MeetRenee.png?v=1763485892&amp;width=1066 1066w," style="object-fit:cover;
2090  width:100%;
2091  height: 100%;" fetchpriority="auto">
2092</div>
2093
2094            <div class="absolute bottom-8 left-0 w-full flex justify-center">
2095              <div class="text-center w-[73%]">
2096                <span class="inline bg-mint-green text-body-copy font-light py-0 leading-[2] tracking-[2px] uppercase whitespace-normal break-words [box-decoration-break:clone] [-webkit-box-decoration-break:clone]">Meet Renée</span>
2097              </div>
2098            </div>
2099          </a>
2100        
2101        
2102          <a href="https://www.reneerouleau.com/pages/about#our-products" class="relative aspect-square grow shrink self-start min-w-[240px] max-w-[325px]">
2103            
2104<div class="relative overflow-hidden h-full" style="">
2105  <img src="//www.reneerouleau.com/cdn/shop/files/Renee-Rouleau-Skincare-NAV-ProductPhilosophy.jpg?v=1763485926" alt="" width="1400" height="1400" loading="lazy" sizes="325px" srcset="
2106//www.reneerouleau.com/cdn/shop/files/Renee-Rouleau-Skincare-NAV-ProductPhilosophy.jpg?v=1763485926&amp;width=165 165w,//www.reneerouleau.com/cdn/shop/files/Renee-Rouleau-Skincare-NAV-ProductPhilosophy.jpg?v=1763485926&amp;width=360 360w,//www.reneerouleau.com/cdn/shop/files/Renee-Rouleau-Skincare-NAV-ProductPhilosophy.jpg?v=1763485926&amp;width=533 533w,//www.reneerouleau.com/cdn/shop/files/Renee-Rouleau-Skincare-NAV-ProductPhilosophy.jpg?v=1763485926&amp;width=720 720w,//www.reneerouleau.com/cdn/shop/files/Renee-Rouleau-Skincare-NAV-ProductPhilosophy.jpg?v=1763485926&amp;width=940 940w,//www.reneerouleau.com/cdn/shop/files/Renee-Rouleau-Skincare-NAV-ProductPhilosophy.jpg?v=1763485926&amp;width=1066 1066w," style="object-fit:cover;
2107  width:100%;
2108  height: 100%;" fetchpriority="auto">
2109</div>
2110
2111            <div class="absolute bottom-8 left-0 w-full flex justify-center text-center">
2112              <div class="text-center w-[73%]">
2113                <span class="inline bg-mint-green text-body-copy font-light py-0 leading-[2] tracking-[2px] uppercase whitespace-normal break-words [box-decoration-break:clone] [-webkit-box-decoration-break:clone]">Our Product Philosophy</span>
2114              </div>
2115            </div>
2116          </a>
2117        
2118        
2119          <a href="https://www.reneerouleau.com/pages/about#timeline" class="relative aspect-square grow shrink self-start min-w-[240px] max-w-[325px]">
2120            
2121<div class="relative overflow-hidden h-full" style="">
2122  <img src="//www.reneerouleau.com/cdn/shop/files/Renee-Rouleau-Skincare-Timeline-1989.jpg?v=1762963050" alt="" width="1400" height="1400" loading="lazy" sizes="325px" srcset="
2123//www.reneerouleau.com/cdn/shop/files/Renee-Rouleau-Skincare-Timeline-1989.jpg?v=1762963050&amp;width=165 165w,//www.reneerouleau.com/cdn/shop/files/Renee-Rouleau-Skincare-Timeline-1989.jpg?v=1762963050&amp;width=360 360w,//www.reneerouleau.com/cdn/shop/files/Renee-Rouleau-Skincare-Timeline-1989.jpg?v=1762963050&amp;width=533 533w,//www.reneerouleau.com/cdn/shop/files/Renee-Rouleau-Skincare-Timeline-1989.jpg?v=1762963050&amp;width=720 720w,//www.reneerouleau.com/cdn/shop/files/Renee-Rouleau-Skincare-Timeline-1989.jpg?v=1762963050&amp;width=940 940w,//www.reneerouleau.com/cdn/shop/files/Renee-Rouleau-Skincare-Timeline-1989.jpg?v=1762963050&amp;width=1066 1066w," style="object-fit:cover;
2124  width:100%;
2125  height: 100%;" fetchpriority="auto">
2126</div>
2127
2128            <div class="absolute bottom-8 left-0 w-full flex justify-center text-center">
2129              <div class="text-center w-[73%]">
2130                <span class="inline bg-mint-green text-body-copy font-light py-0 leading-[2] tracking-[2px] uppercase whitespace-normal break-words [box-decoration-break:clone] [-webkit-box-decoration-break:clone]">Our History</span>
2131              </div>
2132            </div>
2133          </a>
2134        
2135    </div>
2136  
2137
2138  
2139
2140</div>
2141
2142            
2143          
2144            
2145            
2146          
2147        </li>
2148      
2149        <li class="group hover:underline underline-offset-[25%] decoration-[10%] h-full flex items-center py-8 px-2">
2150          <a class="text-subheading-2 font-bold leading-[110%] tracking-[1.3px] uppercase" href="/pages/skin-type-quiz">
2151            <span class="!bg-mint-green">Find Your Skin Type</span>
2152
2153
2154          </a>
2155          
2156            
2157            
2158          
2159            
2160            
2161          
2162            
2163            
2164          
2165            
2166            
2167          
2168            
2169            
2170              
2171
2172
2173
2174<div class="flex absolute w-screen left-0 top-full bg-blush-light-pink px-10 py-8 gap-20 z-50 opacity-0 -translate-y-2 pointer-events-none transition-[opacity,translate] duration-200 ease-out group-hover:opacity-100 group-hover:translate-y-0 group-hover:pointer-events-auto">
2175  
2176  
2177
2178  
2179    <div class="grow flex flex-col gap-4 nav-option-2">
2180      
2181        <div class="flex shrink-0">
2182          <a href="/pages/skin-types" class="font-normal text-subheading-2 leading-[110%] tracking-[1.3px] uppercase whitespace-nowrap">9 Skin Types</a>
2183        </div>
2184      
2185        <div class="flex shrink-0">
2186          <a href="/pages/skin-type-quiz" class="font-normal text-subheading-2 leading-[110%] tracking-[1.3px] uppercase whitespace-nowrap">Take the Quiz</a>
2187        </div>
2188      
2189    </div>
2190    <div class="flex gap-4 justify-end">
2191        
2192        
2193          <a href="/pages/skin-types" class="relative aspect-square grow shrink self-start min-w-[240px] max-w-[325px]">
2194            
2195<div class="relative overflow-hidden h-full" style="">
2196  <img src="//www.reneerouleau.com/cdn/shop/files/f976d6772dafff0a7284159d4ec0474fc90204e8.jpg?v=1773085947" alt="" width="2999" height="2000" loading="lazy" sizes="325px" srcset="
2197//www.reneerouleau.com/cdn/shop/files/f976d6772dafff0a7284159d4ec0474fc90204e8.jpg?v=1773085947&amp;width=165 165w,//www.reneerouleau.com/cdn/shop/files/f976d6772dafff0a7284159d4ec0474fc90204e8.jpg?v=1773085947&amp;width=360 360w,//www.reneerouleau.com/cdn/shop/files/f976d6772dafff0a7284159d4ec0474fc90204e8.jpg?v=1773085947&amp;width=533 533w,//www.reneerouleau.com/cdn/shop/files/f976d6772dafff0a7284159d4ec0474fc90204e8.jpg?v=1773085947&amp;width=720 720w,//www.reneerouleau.com/cdn/shop/files/f976d6772dafff0a7284159d4ec0474fc90204e8.jpg?v=1773085947&amp;width=940 940w,//www.reneerouleau.com/cdn/shop/files/f976d6772dafff0a7284159d4ec0474fc90204e8.jpg?v=1773085947&amp;width=1066 1066w,//www.reneerouleau.com/cdn/shop/files/f976d6772dafff0a7284159d4ec0474fc90204e8.jpg?v=1773085947&amp;width=1440 1440w,//www.reneerouleau.com/cdn/shop/files/f976d6772dafff0a7284159d4ec0474fc90204e8.jpg?v=1773085947&amp;width=1920 1920w,//www.reneerouleau.com/cdn/shop/files/f976d6772dafff0a7284159d4ec0474fc90204e8.jpg?v=1773085947&amp;width=2560 2560w," style="object-position:73.4883% 50.1784%;object-fit:cover;
2198  width:100%;
2199  height: 100%;" fetchpriority="auto">
2200</div>
2201
2202            <div class="absolute bottom-8 left-0 w-full flex justify-center">
2203              <div class="text-center w-[73%]">
2204                <span class="inline bg-mint-green text-body-copy font-light py-0 leading-[2] tracking-[2px] uppercase whitespace-normal break-words [box-decoration-break:clone] [-webkit-box-decoration-break:clone]">The 9 Skin Types</span>
2205              </div>
2206            </div>
2207          </a>
2208        
2209        
2210          <a href="/pages/skin-type-quiz" class="relative aspect-square grow shrink self-start min-w-[240px] max-w-[325px]">
2211            
2212<div class="relative overflow-hidden h-full" style="">
2213  <img src="//www.reneerouleau.com/cdn/shop/files/ReneeRouleau-Skincare-Type-1_85d7e860-7f1f-4db3-9dc3-907864840fce.jpg?v=1770238209" alt="" width="1400" height="1400" loading="lazy" sizes="325px" srcset="
2214//www.reneerouleau.com/cdn/shop/files/ReneeRouleau-Skincare-Type-1_85d7e860-7f1f-4db3-9dc3-907864840fce.jpg?v=1770238209&amp;width=165 165w,//www.reneerouleau.com/cdn/shop/files/ReneeRouleau-Skincare-Type-1_85d7e860-7f1f-4db3-9dc3-907864840fce.jpg?v=1770238209&amp;width=360 360w,//www.reneerouleau.com/cdn/shop/files/ReneeRouleau-Skincare-Type-1_85d7e860-7f1f-4db3-9dc3-907864840fce.jpg?v=1770238209&amp;width=533 533w,//www.reneerouleau.com/cdn/shop/files/ReneeRouleau-Skincare-Type-1_85d7e860-7f1f-4db3-9dc3-907864840fce.jpg?v=1770238209&amp;width=720 720w,//www.reneerouleau.com/cdn/shop/files/ReneeRouleau-Skincare-Type-1_85d7e860-7f1f-4db3-9dc3-907864840fce.jpg?v=1770238209&amp;width=940 940w,//www.reneerouleau.com/cdn/shop/files/ReneeRouleau-Skincare-Type-1_85d7e860-7f1f-4db3-9dc3-907864840fce.jpg?v=1770238209&amp;width=1066 1066w," style="object-fit:cover;
2215  width:100%;
2216  height: 100%;" fetchpriority="auto">
2217</div>
2218
2219            <div class="absolute bottom-8 left-0 w-full flex justify-center text-center">
2220              <div class="text-center w-[73%]">
2221                <span class="inline bg-mint-green text-body-copy font-light py-0 leading-[2] tracking-[2px] uppercase whitespace-normal break-words [box-decoration-break:clone] [-webkit-box-decoration-break:clone]">Find Your Skin Type</span>
2222              </div>
2223            </div>
2224          </a>
2225        
2226        
2227    </div>
2228  
2229
2230  
2231
2232</div>
2233
2234            
2235          
2236        </li>
2237      
2238    </ul>
2239  </nav>
2240  <div class="flex gap-3 items-center justify-end pl-2">
2241    <div class="hdr_account hidden items-center">
2242      <a href="https://www.reneerouleau.com/customer_authentication/redirect?locale=en&region_country=US" class="uppercase text-subheading-2 font-light leading-[110%] tracking-[1.3px]">Account</a>
2243    </div> 
2244    <div class="flex items-center">
2245      <div class="group w-full" data-predictive-search>
2246  <input type="checkbox" class="hidden peer" id="toggle-search-desktop">
2247  <label aria-label="toggle for search" for="toggle-search-desktop">
2248    
2249
2250<span class="" >
2251  
2252      <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewB
2252ox="0 0 16 16" fill="none">
2253        <circle cx="7" cy="7" r="6.5" stroke="black"/>
2254        <path d="M11.5 12L15 15.5" stroke="black"/>
2255      </svg>
2256
2257    
2258</span>
2259 
2260  </label>
2261
2262<div class="hidden group-has-[input:checked]:block absolute w-full left-0 top-full bg-blush-light-pink z-50">
2263    <div class="flex items-center gap-3 lg:gap-4 px-4 lg:px-10 py-4">
2264      <form action="/search"
2265        method="get"
2266        role="search"
2267        data-search-form
2268        class="border border-black rounded-[100px] w-full flex px-5.5 h-[50px] items-center bg-[#F8F8F8]"
2269        >
2270        <input type="search"
2271        name="query"
2272        id="search"
2273        placeholder="Search"
2274        aria-label="Search"
2275        class="w-full"
2276        onkeydown="if(event.key === 'Enter') event.preventDefault()"
2277        >
2278        
2279
2280<span class="" >
2281  
2282        <svg xmlns="http://www.w3.org/2000/svg" width="12" height="14" viewBox="0 0 12 14" fill="none">
2283          <path d="M7.36246 11.48L6.28996 10.401L8.65596 8.0415L0.667461 8.0285V6.4295L8.65596 6.4425L6.28996 4.0765L7.36246 3.004L11.6005 7.242L7.36246 11.48Z" fill="black"/>
2284        </svg>
2285
2286    
2287</span>
2288
2289      </form>
2290        <label aria-label="toggle for search" for="toggle-search-desktop" class="cursor-pointer shrink-0">
2291          X
2292        </label>
2293    </div>
2294    <div data-results-container class="border-t border-black z-50"></div>
2295    <label class="hidden group-has-[input:checked]:block absolute w-full h-screen z-40" aria-label="toggle for search" for="toggle-search-desktop"></label>
2296  </div>
2297</div>
2298
2299    </div>
2300    <div>
2301    <div class="relative">
2302  <input
2303    id="cart-drawer-toggle"
2304    type="checkbox"
2305    class="peer hidden"
2306    aria-label="Cart &times;"
2307    data-scroll-lock
2308    onload="this.checked=false"
2309  />
2310
2311  <label
2312    aria-label="Open cart"
2313    for="cart-drawer-toggle"
2314    class="relative block cursor-pointer"
2315  >
2316    
2317
2318<span class="" >
2319  
2320      <svg xmlns="http://www.w3.org/2000/svg" width="20" height="23" viewBox="0 0 20 23" fill="none">
2321        <path d="M5 12H6V8H14V12H15V8H17L20 22.5H0L3 8H5V12Z" fill="black"/>
2322        <path d="M6 8V5C6 2.79086 7.79086 1 10 1V1C12.2091 1 14 2.79086 14 5V8" stroke="black"/>
2323      </svg> 
2324    
2325    
2326</span>
2327
2328    <span class="hidden">Cart</span>
2329  </label>
2330
2331  <label aria-label="cart drawer toggle" for="cart-drawer-toggle" class="overlay bg-[rgba(0,0,0,0.3)] fixed inset-0 z-10 w-screen h-screen pointer-events-none peer-checked:pointer-events-auto opacity-0 peer-checked:opacity-100 transition-all"></label>
2332
2333  <div
2334    data-ajaxcart
2335    class="fixed h-dvh top-0 bottom-0 z-20 w-[400px] lg:w-[450px] max-w-full grid grid-rows-[auto_1fr_auto] bg-blush-light-pink text-[black] right-[-100%] peer-checked:right-0 transition-all"
2336  >
2337    <div>
2338      <div class="w-full flex flex-row-reverse justify-between items-center px-7 py-4">
2339        <label
2340          for="cart-drawer-toggle"
2341          aria-label="Close cart"
2342          class="cursor-pointer text-[24px]"
2343        >
2344          &times;
2345        </label>
2346          <h2 class="w-full text-subheading-4 font-bold leading-[120%] tracking-[1.4px] uppercase">
2347            Your cart (<span data-item-count>0</span> items)
2348          </h2>
2349        <div></div>
2350      </div>
2351
2352      
2353
2354<div class="free-ship-bar mb-4 pb-6 mx-7" data-free-ship="12500" data-threshold-kind="free-shipping">
2355  <div style="display: block" data-freeship-content>
2356    <p class="mt-5 mb-3 text-center text-subheading-1-mob font-bold leading-[120%] tracking-[1.2px] uppercase px-4">
2357      You are 
2358  <span class="text-primary" data-remaining>
2359    $125.00
2360  </span>
2361 away from free shipping
2362    </p>
2363
2364    <div class="w-full h-2 border-black border rounded-[50px] relative overflow-hidden">
2365      <div style="width: 0%; transition: width 0.3s;" class="h-full bg-mint-green absolute top-0 left-0 rounded-xl" data-progress></div>
2366    </div>
2367  </div>
2368
2369  <div style="display: none" data-freeship-achieved>
2370    <p class="mt-5 text-center font-primary text-p-mob px-4">You Unlocked Free Shipping!</p>
2371  </div>
2372</div>
2373
2374    </div>
2375
2376    <div class="overflow-scroll no-scrollbar pb-4">
2377      <input data-subtotal-value type="hidden" value="$0.00
2378" />
2379
2380<div data-ajax-cart-content data-cart-change-url="/cart/change">
2381  <div data-empty-cart-content class="empty-cart h-full flex items-center" style="display: flex;">
2382    <h2 class="w-full text-subheading-4 font-bold leading-[120%] tracking-[1.4px] uppercase text-center">
2383      Your Cart is Empty
2384    </h2>
2385  </div>
2386  <ul data-cart-with-items-content style="display: none;"></ul>
2387</div>
2388
2389    </div>
2390
2391    <div data-cart-with-items-content class="hidden border-t border-t-blush-pink py-6 px-4">
2392      <div class="flex justify-between mb-3 text-subheading-4 font-bold leading-[120%] tracking-[1.4px] uppercase">
2393        <h4>Estimated Subtotal:</h4>
2394        <span data-subtotal class="flex items-baseline justify-end gap-2">$0.00
2395</span>
2396      </div>
2397
2398      <form
2399        method="POST"
2400        action="/checkout"
2401        class="w-full"
2402        
2403      >
2404        
2405        
2406
2407        <div class="flex flex-col gap-3">
2408          
2409
2410
2411
2412
2413<button class="w-full uppercase h-[43px] lg:min-w-[200px] min-h-[24px] lg:h-[45px] font-bold lg:text-subheading-2 text-subheading-2-mob tracking-[10%] leading-[110%] text-center border border-black flex justify-center items-center cursor-pointer px-auto group bg-mint-green hover:bg-white transition-all ease-in-out duration-500" type="submit" >
2414    
2415  <span class=" uppercase">
2416    Checkout
2417  </span>
2418  
2419
2420  </button>
2421          
2422
2423
2424
2425
2426<a class="uppercase h-[43px] lg:min-w-[200px] min-h-[24px] lg:h-[45px] font-bold lg:text-subheading-2 text-subheading-2-mob tracking-[10%] leading-[110%] text-center border border-black flex justify-center items-center cursor-pointer px-auto group bg-white hover:bg-mint-green transition-all ease-in-out duration-500" href="/collections/all" >
2427    
2428  <span class=" uppercase">
2429    Continue Shopping
2430  </span>
2431  
2432
2433  </a>
2434          <span class="text-center text-body-copy-mob font-light leading-[120%]">Taxes and shipping calculated at checkout.</span>
2435        </div>
2436      </form>
2437    </div>
2438  </div>
2439</div>
2440
2441    </div>
2442  </div>
2443</div>
2444
2445
2446
2447</header>
2448    <header id="shopify-section-b2b-header" class="shopify-section header relative z-10">
2449
2450
2451  
2452
2453
2454
2455</header>
2456    <main id="MainContent" role="main" tabindex="-1" class="relative z-0">
2457      <div id="shopify-section-template--17672948514875__product_description_9h6PMa" class="shopify-section product-description">
2458
2459
2460
2461
2462
2463<script type="application/ld+json">
2464  {
2465    "@context": "https://schema.org",
2466    "@type": "Product",
2467    "name": "Skin Drink I.V.",
2468    "url": "https:\/\/www.reneerouleau.com\/products\/skin-drink-i-v","image": [
2469      "\/\/www.reneerouleau.com\/cdn\/shop\/files\/preview_images\/5f777c7351d04f9c8b5ebe90b2ceb713.thumbnail.0000000000.jpg?v=1786999924\u0026width=1080"
2470    ],"description": "\u003cp\u003eAn electrolyte-infused serum that floods thirsty skin cells with deep, lasting hydration.\u003c\/p\u003e","sku": "79494","brand": {
2471      "@type": "Brand",
2472      "name": "Renée Rouleau Professional Skin Care"
2473    },"aggregateRating": {
2474      "@type": "AggregateRating",
2475      "ratingValue": 4.8,
2476      "reviewCount": 9
2477    },"aggregateOffer": {
2478      "@type": "AggregateOffer",
2479      "lowPrice": 72.5,
2480      "highPrice": 72.5,
2481      "priceCurrency": "USD",
2482      "offerCount": 1
2483    },
2484    "offers": [{
2485        "@type": "Offer","sku": "79494","availability": "https://schema.org/InStock",
2486        "itemCondition": "https://schema.org/NewCondition","price": 72.5,
2487        "priceCurrency": "USD",
2488        "priceValidUntil": "2027-09-24",
2489        "url": "https:\/\/www.reneerouleau.com\/products\/skin-drink-i-v?variant=43374648328251",
2490        "seller": {
2491          "@type": "Organization",
2492          "name": "Renée Rouleau Professional Skin Care"
2493        },
2494        "shippingDetails": {
2495          "@type": "OfferShippingDetails",
2496          "shippingDestination": {
2497            "@type": "DefinedRegion",
2498            "addressCountry": "US"
2499          },
2500          "shippingRate": {
2501            "@type": "MonetaryAmount",
2502            "value": 8.95,
2503            "currency": "USD"
2504          },
2505          "deliveryTime": {
2506            "@type": "ShippingDeliveryTime",
2507            "handlingTime": {
2508              "@type": "QuantitativeValue",
2509              "minValue": 0,
2510              "maxValue": 1,
2511              "unitCode": "d"
2512            },
2513            "transitTime": {
2514              "@type": "QuantitativeValue",
2515              "minValue": 3,
2516              "maxValue": 6,
2517              "unitCode": "d"
2518            }
2519          }
2520        },
2521        "hasMerchantReturnPolicy": {
2522          "@type": "MerchantReturnPolicy",
2523          "returnPolicyCategory": "https://schema.org/MerchantReturnFiniteReturnWindow",
2524          "applicableCountry": "US",
2525          "merchantReturnDays": 45,
2526          "returnMethod": "https://schema.org/ReturnByMail",
2527          "returnFees": "https://schema.org/ReturnFeesCustomerResponsibility",
2528          "returnableItemConditions": "https://schema.org/NewCondition",
2529          "refundType": "https://schema.org/StoreCreditRefund",
2530          "merchantReturnLink": "https://www.reneerouleau.com/pages/shipping-delivery"
2531        }
2532      }]
2533  }
2534</script>
2534
2535
2536
2537<div class="my-8 min-[1075px]:mt-24 lg:px-9">
2538  
2539  <nav class="breadcrumbs mt-4 text-caption-small pb-2.5 pl-5 pr-5 lg:pl-0 lg:pr-0" role="navigation" aria-label="Breadcrumb">
2540    <ul class="flex flex-wrap items-center gap-x-1 gap-y-0.5" itemscope itemtype="https://schema.org/BreadcrumbList">
2541      
2542
2543      <!-- Home -->
2544      
2545        <li class="inline-flex items-center whitespace-nowrap" itemprop="itemListElement" itemscope itemtype="https://schema.org/ListItem">
2546          <a class="font-light text-subheading-4 leading-[120%] text-black/50" href="/" itemprop="item">
2547            <span class="font-light text-subheading-4 leading-[120%] text-black/50" itemprop="name">Home</span>
2548          </a>
2549          <meta itemprop="position" content="1">
2550        </li>
2551      
2552
2553      
2554
2555
2556          <li class="inline-flex items-center whitespace-nowrap" itemprop="itemListElement" itemscope itemtype="https://schema.org/ListItem">
2557            <span aria-hidden="true" class="mr-1 text-black/50">/</span>
2558            <a href="/collections/all" itemprop="item">
2559              <span class="font-light text-subheading-4 leading-[120%] text-black/50" itemprop="name">All Products</span>
2560            </a>
2561            <meta itemprop="position" content="2">
2562          </li>
2563          
2564        
2565
2566        <li class="min-w-0 max-w-full" aria-current="page" itemprop="itemListElement" itemscope itemtype="https://schema.org/ListItem">
2567          <span aria-hidden="true" class="mr-1 text-black/50">/</span>
2568          <span class="font-light text-subheading-4 leading-[120%] text-black/50 break-words" itemprop="name">Skin Drink I.V.</span>
2569          <meta itemprop="position" content="3">
2570        </li>
2571    </ul>
2572  </nav>
2573
2574
2575
2576  <div class="lg:grid lg:grid-cols-2 gap-9">
2577    <div class="featured-image lg:col-span-1 relative">
2578      <span
2579        data-product-availability-badge
2580        class="absolute top-2.5 left-1 lg:left-2.5 z-30 bg-black px-2 py-0.5 lg:py-1 text-[11px] lg:text-subheading-2 font-light leading-[130%] uppercase text-white"
2581        
2582        style="display:none"
2583      >SOLD OUT</span>
2584      <div class="slider splide" data-slider=
2585  '
2586    {
2587      "perPage": 1,
2588      "pagination": false,
2589      "arrows": false,
2590      "autoHeight": true,
2591      "adjustableHeight": {
2592        "whileSliding": true,
2593        "speed": "0.4s"
2594      }
2595    }
2596  '
2597>
2598        <div class="splide__track">
2599          <ul class="splide__list">
2600            
2601              <li class="splide__slide w-full aspect-[6/7] overflow-hidden">
2602                
2603                  <div
2604  class="hero-video relative w-full h-full"
2605  data-video='{
2606    "autoplay": true,
2607    "loop": false,
2608    "changeSlide": false,
2609    "inView": false
2610  }'
2611  data-video-id="27364451516475-video"
2612  style=""
2613>
2614  
2615
2616  
2617    <div class="hero-video_poster absolute inset-0 z-10 transition-opacity duration-500" data-video-poster>
2618      <img src="//www.reneerouleau.com/cdn/shop/files/preview_images/5f777c7351d04f9c8b5ebe90b2ceb713.thumbnail.0000000000.jpg?v=1786999924&amp;width=1000" alt="" srcset="//www.reneerouleau.com/cdn/shop/files/preview_images/5f777c7351d04f9c8b5ebe90b2ceb713.thumbnail.0000000000.jpg?v=1786999924&amp;width=352 352w, //www.reneerouleau.com/cdn/shop/files/preview_images/5f777c7351d04f9c8b5ebe90b2ceb713.thumbnail.0000000000.jpg?v=1786999924&amp;width=832 832w, //www.reneerouleau.com/cdn/shop/files/preview_images/5f777c7351d04f9c8b5ebe90b2ceb713.thumbnail.0000000000.jpg?v=1786999924&amp;width=1000 1000w" width="1000" height="1778" loading="lazy" class="w-full h-full object-cover">
2619    </div>
2620  
2621
2622  
2623<div class="absolute z-20 top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2 w-12 h-12">
2624      
2625
2626<span class="hidden" data-play>
2627  
2628        <svg xmlns="http://www.w3.org/2000/svg" width="68" height="68" viewBox="0 0 68 68" fill="none">
2629          <circle cx="34" cy="34" r="34" fill="black" fill-opacity="0.3"/>
2630          <path d="M52.5 31.4019C54.5 32.5566 54.5 35.4434 52.5 36.5981L27 51.3205C25 52.4752 22.5 51.0318 22.5 48.7224L22.5 19.2776C22.5 16.9682 25 15.5248 27 16.6795L52.5 31.4019Z" fill="white"/>
2631        </svg>
2632
2633      
2634</span>
2635
2636    </div>
2637
2638    
2639      <div class="absolute z-20 top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2 hidden w-12 h-12" data-unmute-center>
2640        
2641
2642<span class="" >
2643  
2644         <svg xmlns="http://www.w3.org/2000/svg" width="21" height="20" viewBox="0 0 21 20" fill="none">
2645          <circle cx="10.5" cy="10" r="10" fill="black" fill-opacity="0.3"/>
2646          <g filter="url(#filter0_d_897_5786)">
2647            <path d="M4.5 12V8.5H7L9.67196 6.27336C9.80223 6.16481 10 6.25744 10 6.42701V14.073C10 14.2426 9.80223 14.3352 9.67196 14.2266L7 12H4.5Z" stroke="white"/>
2648            <line x1="12.8536" y1="8.3536" x2="16.3891" y2="11.8891" stroke="white"/>
2649            <line x1="16.3892" y1="8.35355" x2="12.8537" y2="11.8891" stroke="white"/>
2650          </g>
2651          <defs>
2652            <filter id="filter0_d_897_5786" x="0" y="1.72565" width="20.7427" height="17.0487" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
2653              <feFlood flood-opacity="0" result="BackgroundImageFix"/>
2654              <feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"/>
2655              <feOffset/>
2656              <feGaussianBlur stdDeviation="2"/>
2657              <feComposite in2="hardAlpha" operator="out"/>
2658              <feColorMatrix type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.5 0"/>
2659              <feBlend mode="normal" in2="BackgroundImageFix" result="effect1_dropShadow_897_5786"/>
2660              <feBlend mode="normal" in="SourceGraphic" in2="effect1_dropShadow_897_5786" result="shape"/>
2661            </filter>
2662          </defs>
2663        </svg>     
2664      
2665</span>
2666
2667      </div>
2668    
2669
2670    
2671      <div class="absolute z-20 bottom-3 right-3 w-6 h-6">
2672        
2673
2674<span class="hidden" data-pause>
2675  
2676        <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20" fill="none">
2677          <circle cx="10" cy="10" r="10" fill="black" fill-opacity="0.3"/>
2678          <rect x="7" y="6" width="2" height="8" fill="white"/>
2679          <rect x="11" y="6" width="2" height="8" fill="white"/>
2680        </svg>
2681
2682      
2683</span>
2684
2685      </div>
2686    
2687
2688    
2689      
2690      <div class="absolute z-20 bottom-3 right-10 hidden w-6 h-6" data-audio>
2691        
2692
2693<span class="" >
2694  
2695        <svg xmlns="http://www.w3.org/2000/svg" width="21" height="20" viewBox="0 0 21 20" fill="none">
2696          <circle cx="10.5" cy="10" r="10" fill="black" fill-opacity="0.3"/>
2697          <g filter="url(#filter0_d_3908_410)">
2698            <path d="M4.5 12V8.5H7L9.67196 6.27336C9.80223 6.16481 10 6.25744 10 6.42701V14.073C10 14.2426 9.80223 14.3352 9.67196 14.2266L7 12H4.5Z" stroke="white"/>
2699            <path d="M13.5 6.53516C15.1962 6.77775 16.5 8.23675 16.5 10C16.5 11.7632 15.1961 13.2212 13.5 13.4639V12.4492C14.641 12.2175 15.5 11.2094 15.5 10C15.5 8.79051 14.6411 7.78142 13.5 7.5498V6.53516Z" fill="white"/>
2700            <path d="M12.5 8C13.6046 8 14.5 8.89543 14.5 10C14.5 11.1046 13.6046 12 12.5 12V11C13.0523 11 13.5 10.5523 13.5 10C13.5 9.44772 13.0523 9 12.5 9V8Z" fill="white"/>
2701          </g>
2702          <defs>
2703            <filter id="filter0_d_3908_410" x="0" y="1.72559" width="20.5" height="17.0488" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
2704              <feFlood flood-opacity="0" result="BackgroundImageFix"/>
2705              <feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"/>
2706              <feOffset/>
2707              <feGaussianBlur stdDeviation="2"/>
2708              <feComposite in2="hardAlpha" operator="out"/>
2709              <feColorMatrix type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.5 0"/>
2710              <feBlend mode="normal" in2="BackgroundImageFix" result="effect1_dropShadow_3908_410"/>
2711              <feBlend mode="normal" in="SourceGraphic" in2="effect1_dropShadow_3908_410" result="shape"/>
2712            </filter>
2713          </defs>
2714        </svg>
2715
2716      
2717</span>
2718
2719      </div>
2720
2721      <div class="absolute z-20 bottom-3 right-10 hidden w-6 h-6" data-mute>
2722        
2723
2724<span class="" >
2725  
2726         <svg xmlns="http://www.w3.org/2000/svg" width="21" height="20" viewBox="0 0 21 20" fill="none">
2727          <circle cx="10.5" cy="10" r="10" fill="black" fill-opacity="0.3"/>
2728          <g filter="url(#filter0_d_897_5786)">
2729            <path d="M4.5 12V8.5H7L9.67196 6.27336C9.80223 6.16481 10 6.25744 10 6.42701V14.073C10 14.2426 9.80223 14.3352 9.67196 14.2266L7 12H4.5Z" stroke="white"/>
2730            <line x1="12.8536" y1="8.3536" x2="16.3891" y2="11.8891" stroke="white"/>
2731            <line x1="16.3892" y1="8.35355" x2="12.8537" y2="11.8891" stroke="white"/>
2732          </g>
2733          <defs>
2734            <filter id="filter0_d_897_5786" x="0" y="1.72565" width="20.7427" height="17.0487" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
2735              <feFlood flood-opacity="0" result="BackgroundImageFix"/>
2736              <feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"/>
2737              <feOffset/>
2738              <feGaussianBlur stdDeviation="2"/>
2739              <feComposite in2="hardAlpha" operator="out"/>
2740              <feColorMatrix type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.5 0"/>
2741              <feBlend mode="normal" in2="BackgroundImageFix" result="effect1_dropShadow_897_5786"/>
2742              <feBlend mode="normal" in="SourceGraphic" in2="effect1_dropShadow_897_5786" result="shape"/>
2743            </filter>
2744          </defs>
2745        </svg>     
2746      
2747</span>
2748
2749      </div>
2750    
2751  
2752
2753  <div class="hero-video_element w-full h-full object-cover object-center" id="27364451516475-video-wrapper">
2754    <video
2755      playsinline
2756      preload="none"
2757      
2758      
2759      muted
2760      
2761      
2762        poster="//www.reneerouleau.com/cdn/shop/files/preview_images/5f777c7351d04f9c8b5ebe90b2ceb713.thumbnail.0000000000.jpg?v=1786999924&width=1000"
2763      
2764      data-defer-autoplay-load
2765    >
2766      
2767        <source data-src="//www.reneerouleau.com/cdn/shop/videos/c/vp/5f777c7351d04f9c8b5ebe90b2ceb713/5f777c7351d04f9c8b5ebe90b2ceb713.m3u8?v=0" type="application/vnd.apple.mpegurl">
2768      
2769      <source data-src="//www.reneerouleau.com/cdn/shop/videos/c/vp/5f777c7351d04f9c8b5ebe90b2ceb713/5f777c7351d04f9c8b5ebe90b2ceb713.HD-1080p-7.2Mbps-91873986.mp4?v=0" type="video/mp4">
2770    </video>
2771  </div>
2772
2773  
2774</div>
2775
2776<style>
2777  .hero-video_element {
2778    width: 100%;
2779    height: 100%;
2780  }
2781  .hero-video_element video {
2782    width: 100%;
2783    height: 100%;
2784    object-fit: cover;
2785  }
2786  .hero-video[data-playing="true"] .hero-video_poster {
2787    opacity: 0;
2788    pointer-events: none;
2789  }
2790  [data-unmute-center] span,
2791  [data-unmute-center] svg,
2792  [data-play],
2793  [data-play] svg,
2794  [data-pause],
2795  [data-pause] svg,
2796  [data-audio] span,
2797  [data-audio] svg,
2798  [data-mute] span,
2799  [data-mute] svg {
2800    width: 100%;
2801    height: 100%;
2802  }
2803</style>
2804
2805                
2806              </li> 
2807            
2808              <li class="splide__slide w-full aspect-[6/7] overflow-hidden">
2809                
2810                  
2811<div class="relative overflow-hidden w-full h-full" style="">
2812  <img src="//www.reneerouleau.com/cdn/shop/files/ReneeRouleau-SkinDrinkI.V.-1024x1024-Shadow.jpg?v=1777079077" alt="Skin Drink I.V." width="1024" height="1024" loading="false" sizes="(min-width: 1650px) 1520px, (min-width: 990px) calc((100vw - 130px) / 1), (min-width: 750px) calc((100vw - 120px) / 1), calc((100vw - 35px) / 1)" srcset="
2813//www.reneerouleau.com/cdn/shop/files/ReneeRouleau-SkinDrinkI.V.-1024x1024-Shadow.jpg?v=1777079077&amp;width=165 165w,//www.reneerouleau.com/cdn/shop/files/ReneeRouleau-SkinDrinkI.V.-1024x1024-Shadow.jpg?v=1777079077&amp;width=360 360w,//www.reneerouleau.com/cdn/shop/files/ReneeRouleau-SkinDrinkI.V.-1024x1024-Shadow.jpg?v=1777079077&amp;width=533 533w,//www.reneerouleau.com/cdn/shop/files/ReneeRouleau-SkinDrinkI.V.-1024x1024-Shadow.jpg?v=1777079077&amp;width=720 720w,//www.reneerouleau.com/cdn/shop/files/ReneeRouleau-SkinDrinkI.V.-1024x1024-Shadow.jpg?v=1777079077&amp;width=940 940w," style="object-fit:cover;
2814  width:100%;
2815  height: 100%;object-position: center;" fetchpriority="high">
2816</div>
2817
2818                
2819              </li> 
2820            
2821              <li class="splide__slide w-full aspect-[6/7] overflow-hidden">
2822                
2823                  
2824<div class="relative overflow-hidden w-full h-full" style="">
2825  <img src="//www.reneerouleau.com/cdn/shop/files/SkinDrinkI.V.Swatch.png?v=1775074566" alt="Skin Drink I.V." width="1360" height="1640" loading="false" sizes="(min-width: 1650px) 1520px, (min-width: 990px) calc((100vw - 130px) / 1), (min-width: 750px) calc((100vw - 120px) / 1), calc((100vw - 35px) / 1)" srcset="
2826//www.reneerouleau.com/cdn/shop/files/SkinDrinkI.V.Swatch.png?v=1775074566&amp;width=165 165w,//www.reneerouleau.com/cdn/shop/files/SkinDrinkI.V.Swatch.png?v=1775074566&amp;width=360 360w,//www.reneerouleau.com/cdn/shop/files/SkinDrinkI.V.Swatch.png?v=1775074566&amp;width=533 533w,//www.reneerouleau.com/cdn/shop/files/SkinDrinkI.V.Swatch.png?v=1775074566&amp;width=720 720w,//www.reneerouleau.com/cdn/shop/files/SkinDrinkI.V.Swatch.png?v=1775074566&amp;width=940 940w,//www.reneerouleau.com/cdn/shop/files/SkinDrinkI.V.Swatch.png?v=1775074566&amp;width=1066 1066w," style="object-fit:cover;
2827  width:100%;
2828  height: 100%;object-position: center;" fetchpriority="high">
2829</div>
2830
2831                
2832              </li> 
2833            
2834              <li class="splide__slide w-full aspect-[6/7] overflow-hidden">
2835                
2836                  
2837<div class="relative overflow-hidden w-full h-full" style="">
2838  <img src="//www.reneerouleau.com/cdn/shop/files/skin_drink_model_e2260879-a801-4663-a0e4-f754f6eea673.png?v=1778100625" alt="Skin Drink I.V." width="1360" height="1640" loading="false" sizes="(min-width: 1650px) 1520px, (min-width: 990px) calc((100vw - 130px) / 1), (min-width: 750px) calc((100vw - 120px) / 1), calc((100vw - 35px) / 1)" srcset="
2839//www.reneerouleau.com/cdn/shop/files/skin_drink_model_e2260879-a801-4663-a0e4-f754f6eea673.png?v=1778100625&amp;width=165 165w,//www.reneerouleau.com/cdn/shop/files/skin_drink_model_e2260879-a801-4663-a0e4-f754f6eea673.png?v=1778100625&amp;width=360 360w,//www.reneerouleau.com/cdn/shop/files/skin_drink_model_e2260879-a801-4663-a0e4-f754f6eea673.png?v=1778100625&amp;width=533 533w,//www.reneerouleau.com/cdn/shop/files/skin_drink_model_e2260879-a801-4663-a0e4-f754f6eea673.png?v=1778100625&amp;width=720 720w,//www.reneerouleau.com/cdn/shop/files/skin_drink_model_e2260879-a801-4663-a0e4-f754f6eea673.png?v=1778100625&amp;width=940 940w,//www.reneerouleau.com/cdn/shop/files/skin_drink_model_e2260879-a801-4663-a0e4-f754f6eea673.png?v=1778100625&amp;width=1066 1066w," style="object-fit:cover;
2840  width:100%;
2841  height: 100%;object-position: center;" fetchpriority="high">
2842</div>
2843
2844                
2845              </li> 
2846            
2847              <li class="splide__slide w-full aspect-[6/7] overflow-hidden">
2848                
2849                  
2850<div class="relative overflow-hidden w-full h-full" style="">
2851  <img src="//www.reneerouleau.com/cdn/shop/files/RR-BrightNow-Infographic-Benefits_1_3cb050b3-fad8-4852-82e9-2349823b03f1.png?v=1781281008" alt="Skin Drink I.V." width="1360" height="1640" loading="false" sizes="(min-width: 1650px) 1520px, (min-width: 990px) calc((100vw - 130px) / 1), (min-width: 750px) calc((100vw - 120px) / 1), calc((100vw - 35px) / 1)" srcset="
2852//www.reneerouleau.com/cdn/shop/files/RR-BrightNow-Infographic-Benefits_1_3cb050b3-fad8-4852-82e9-2349823b03f1.png?v=1781281008&amp;width=165 165w,//www.reneerouleau.com/cdn/shop/files/RR-BrightNow-Infographic-Benefits_1_3cb050b3-fad8-4852-82e9-2349823b03f1.png?v=1781281008&amp;width=360 360w,//www.reneerouleau.com/cdn/shop/files/RR-BrightNow-Infographic-Benefits_1_3cb050b3-fad8-4852-82e9-2349823b03f1.png?v=1781281008&amp;width=533 533w,//www.reneerouleau.com/cdn/shop/files/RR-BrightNow-Infographic-Benefits_1_3cb050b3-fad8-4852-82e9-2349823b03f1.png?v=1781281008&amp;width=720 720w,//www.reneerouleau.com/cdn/shop/files/RR-BrightNow-Infographic-Benefits_1_3cb050b3-fad8-4852-82e9-2349823b03f1.png?v=1781281008&amp;width=940 940w,//www.reneerouleau.com/cdn/shop/files/RR-BrightNow-Infographic-Benefits_1_3cb050b3-fad8-4852-82e9-2349823b03f1.png?v=1781281008&amp;width=1066 1066w," style="object-fit:cover;
2853  width:100%;
2854  height: 100%;object-position: center;" fetchpriority="high">
2855</div>
2856
2857                
2858              </li> 
2859            
2860              <li class="splide__slide w-full aspect-[6/7] overflow-hidden">
2861                
2862                  
2863<div class="relative overflow-hidden w-full h-full" style="">
2864  <img src="//www.reneerouleau.com/cdn/shop/files/RR_B_A_SDIV.png?v=1785346212" alt="Skin Drink I.V." width="1360" height="1480" loading="false" sizes="(min-width: 1650px) 1520px, (min-width: 990px) calc((100vw - 130px) / 1), (min-width: 750px) calc((100vw - 120px) / 1), calc((100vw - 35px) / 1)" srcset="
2865//www.reneerouleau.com/cdn/shop/files/RR_B_A_SDIV.png?v=1785346212&amp;width=165 165w,//www.reneerouleau.com/cdn/shop/files/RR_B_A_SDIV.png?v=1785346212&amp;width=360 360w,//www.reneerouleau.com/cdn/shop/files/RR_B_A_SDIV.png?v=1785346212&amp;width=533 533w,//www.reneerouleau.com/cdn/shop/files/RR_B_A_SDIV.png?v=1785346212&amp;width=720 720w,//www.reneerouleau.com/cdn/shop/files/RR_B_A_SDIV.png?v=1785346212&amp;width=940 940w,//www.reneerouleau.com/cdn/shop/files/RR_B_A_SDIV.png?v=1785346212&amp;width=1066 1066w," style="object-fit:cover;
2866  width:100%;
2867  height: 100%;object-position: center;" fetchpriority="high">
2868</div>
2869
2870                
2871              </li> 
2872            
2873          </ul>
2874        </div>
2875        <div class="lg:absolute lg:top-1/2 lg:-translate-y-1/2 lg:left-5 z-10 mt-3 lg:mt-0 mb-3 lg:mb-0">
2876          <div class="slider splide lg:w-16" data-connected-slider=
2877  '
2878    {
2879      "direction": "ltr",
2880      "isNavigation": true,
2881      "perPage": 5,
2882      "arrows": false,
2883      "gap": "7.6px",
2884      "padding": {"left": "20px", "right": "10%"},
2885      "pagination": false,
2886      "fixedHeight": "60px",
2887      "mediaQuery": "min",
2888      "breakpoints": {
2889        "1024": {
2890          "arrows": true,
2891          "type": "loop",
2892          "height": 388,
2893          "fixedHeight": "fit-content",
2894          "direction": "ttb"
2895        }
2896      }
2897    }
2898  '  
2899>
2900            <div class="splide__arrows">
2901              <button class="splide__arrow splide__arrow--prev [&_svg]:!fill-[none] !bg-transparent !-top-8" aria-label="Previous slide">
2902                
2903
2904<span class="rotate-90" >
2905  
2906        <svg xmlns="http://www.w3.org/2000/svg" width="16" height="9" viewBox="0 0 16 9" fill="none">
2907          <path d="M1 8L8 1L15 8" stroke="black"/>
2908        </svg>
2909
2910      
2911</span>
2912
2913              </button>
2914              <button class="splide__arrow splide__arrow--next [&_svg]:!fill-[none] !bg-transparent !-bottom-8" aria-label="Next slide">
2915                
2916
2917<span class="rotate-90" >
2918  
2919        <svg xmlns="http://www.w3.org/2000/svg" width="16" height="9" viewBox="0 0 16 9" fill="none">
2920          <path d="M1 8L8 1L15 8" stroke="black"/>
2921        </svg>
2922
2923      
2924</span>
2925
2926              </button>
2927            </div>
2928            <div class="splide__track">
2929              <ul class="splide__list">
2930                
2931                  <li class="splide__slide !border !border-black [&.is-active]:!border-2 overflow-hidden">
2932                    
2933                      
2934<div class="relative overflow-hidden w-full h-full" style="">
2935  <img src="//www.reneerouleau.com/cdn/shop/files/preview_images/5f777c7351d04f9c8b5ebe90b2ceb713.thumbnail.0000000000.jpg?v=1786999924" alt="" width="1080" height="1920" loading="false" sizes="(min-width: 1650px) 1520px, (min-width: 990px) calc((100vw - 130px) / 1), (min-width: 750px) calc((100vw - 120px) / 1), calc((100vw - 35px) / 1)" srcset="
2936//www.reneerouleau.com/cdn/shop/files/preview_images/5f777c7351d04f9c8b5ebe90b2ceb713.thumbnail.0000000000.jpg?v=1786999924&amp;width=165 165w,//www.reneerouleau.com/cdn/shop/files/preview_images/5f777c7351d04f9c8b5ebe90b2ceb713.thumbnail.0000000000.jpg?v=1786999924&amp;width=360 360w,//www.reneerouleau.com/cdn/shop/files/preview_images/5f777c7351d04f9c8b5ebe90b2ceb713.thumbnail.0000000000.jpg?v=1786999924&amp;width=533 533w,//www.reneerouleau.com/cdn/shop/files/preview_images/5f777c7351d04f9c8b5ebe90b2ceb713.thumbnail.0000000000.jpg?v=1786999924&amp;width=720 720w,//www.reneerouleau.com/cdn/shop/files/preview_images/5f777c7351d04f9c8b5ebe90b2ceb713.thumbnail.0000000000.jpg?v=1786999924&amp;width=940 940w,//www.reneerouleau.com/cdn/shop/files/preview_images/5f777c7351d04f9c8b5ebe90b2ceb713.thumbnail.0000000000.jpg?v=1786999924&amp;width=1066 1066w," style="object-fit:cover;
2937  width:100%;
2938  height: 100%;object-position: center;" fetchpriority="high">
2939</div>
2940
2941                    
2942                  </li> 
2943                
2944                  <li class="splide__slide !border !border-black [&.is-active]:!border-2 overflow-hidden">
2945                    
2946                      
2947<div class="relative overflow-hidden w-full h-full" style="">
2948  <img src="//www.reneerouleau.com/cdn/shop/files/ReneeRouleau-SkinDrinkI.V.-1024x1024-Shadow.jpg?v=1777079077" alt="Skin Drink I.V." width="1024" height="1024" loading="false" sizes="(min-width: 1650px) 1520px, (min-width: 990px) calc((100vw - 130px) / 1), (min-width: 750px) calc((100vw - 120px) / 1), calc((100vw - 35px) / 1)" srcset="
2949//www.reneerouleau.com/cdn/shop/files/ReneeRouleau-SkinDrinkI.V.-1024x1024-Shadow.jpg?v=1777079077&amp;width=165 165w,//www.reneerouleau.com/cdn/shop/files/ReneeRouleau-SkinDrinkI.V.-1024x1024-Shadow.jpg?v=1777079077&amp;width=360 360w,//www.reneerouleau.com/cdn/shop/files/ReneeRouleau-SkinDrinkI.V.-1024x1024-Shadow.jpg?v=1777079077&amp;width=533 533w,//www.reneerouleau.com/cdn/shop/files/ReneeRouleau-SkinDrinkI.V.-1024x1024-Shadow.jpg?v=1777079077&amp;width=720 720w,//www.reneerouleau.com/cdn/shop/files/ReneeRouleau-SkinDrinkI.V.-1024x1024-Shadow.jpg?v=1777079077&amp;width=940 940w," style="object-fit:cover;
2950  width:100%;
2951  height: 100%;object-position: center;" fetchpriority="high">
2952</div>
2953
2954                    
2955                  </li> 
2956                
2957                  <li class="splide__slide !border !border-black [&.is-active]:!border-2 overflow-hidden">
2958                    
2959                      
2960<div class="relative overflow-hidden w-full h-full" style="">
2961  <img src="//www.reneerouleau.com/cdn/shop/files/SkinDrinkI.V.Swatch.png?v=1775074566" alt="Skin Drink I.V." width="1360" height="1640" loading="false" sizes="(min-width: 1650px) 1520px, (min-width: 990px) calc((100vw - 130px) / 1), (min-width: 750px) calc((100vw - 120px) / 1), calc((100vw - 35px) / 1)" srcset="
2962//www.reneerouleau.com/cdn/shop/files/SkinDrinkI.V.Swatch.png?v=1775074566&amp;width=165 165w,//www.reneerouleau.com/cdn/shop/files/SkinDrinkI.V.Swatch.png?v=1775074566&amp;width=360 360w,//www.reneerouleau.com/cdn/shop/files/SkinDrinkI.V.Swatch.png?v=1775074566&amp;width=533 533w,//www.reneerouleau.com/cdn/shop/files/SkinDrinkI.V.Swatch.png?v=1775074566&amp;width=720 720w,//www.reneerouleau.com/cdn/shop/files/SkinDrinkI.V.Swatch.png?v=1775074566&amp;width=940 940w,//www.reneerouleau.com/cdn/shop/files/SkinDrinkI.V.Swatch.png?v=1775074566&amp;width=1066 1066w," style="object-fit:cover;
2963  width:100%;
2964  height: 100%;object-position: center;" fetchpriority="high">
2965</div>
2966
2967                    
2968                  </li> 
2969                
2970                  <li class="splide__slide !border !border-black [&.is-active]:!border-2 overflow-hidden">
2971                    
2972                      
2973<div class="relative overflow-hidden w-full h-full" style="">
2974  <img src="//www.reneerouleau.com/cdn/shop/files/skin_drink_model_e2260879-a801-4663-a0e4-f754f6eea673.png?v=1778100625" alt="Skin Drink I.V." width="1360" height="1640" loading="false" sizes="(min-width: 1650px) 1520px, (min-width: 990px) calc((100vw - 130px) / 1), (min-width: 750px) calc((100vw - 120px) / 1), calc((100vw - 35px) / 1)" srcset="
2975//www.reneerouleau.com/cdn/shop/files/skin_drink_model_e2260879-a801-4663-a0e4-f754f6eea673.png?v=1778100625&amp;width=165 165w,//www.reneerouleau.com/cdn/shop/files/skin_drink_model_e2260879-a801-4663-a0e4-f754f6eea673.png?v=1778100625&amp;width=360 360w,//www.reneerouleau.com/cdn/shop/files/skin_drink_model_e2260879-a801-4663-a0e4-f754f6eea673.png?v=1778100625&amp;width=533 533w,//www.reneerouleau.com/cdn/shop/files/skin_drink_model_e2260879-a801-4663-a0e4-f754f6eea673.png?v=1778100625&amp;width=720 720w,//www.reneerouleau.com/cdn/shop/files/skin_drink_model_e2260879-a801-4663-a0e4-f754f6eea673.png?v=1778100625&amp;width=940 940w,//www.reneerouleau.com/cdn/shop/files/skin_drink_model_e2260879-a801-4663-a0e4-f754f6eea673.png?v=1778100625&amp;width=1066 1066w," style="object-fit:cover;
2976  width:100%;
2977  height: 100%;object-position: center;" fetchpriority="high">
2978</div>
2979
2980                    
2981                  </li> 
2982                
2983                  <li class="splide__slide !border !border-black [&.is-active]:!border-2 overflow-hidden">
2984                    
2985                      
2986<div class="relative overflow-hidden w-full h-full" style="">
2987  <img src="//www.reneerouleau.com/cdn/shop/files/RR-BrightNow-Infographic-Benefits_1_3cb050b3-fad8-4852-82e9-2349823b03f1.png?v=1781281008" alt="Skin Drink I.V." width="1360" height="1640" loading="false" sizes="(min-width: 1650px) 1520px, (min-width: 990px) calc((100vw - 130px) / 1), (min-width: 750px) calc((100vw - 120px) / 1), calc((100vw - 35px) / 1)" srcset="
2988//www.reneerouleau.com/cdn/shop/files/RR-BrightNow-Infographic-Benefits_1_3cb050b3-fad8-4852-82e9-2349823b03f1.png?v=1781281008&amp;width=165 165w,//www.reneerouleau.com/cdn/shop/files/RR-BrightNow-Infographic-Benefits_1_3cb050b3-fad8-4852-82e9-2349823b03f1.png?v=1781281008&amp;width=360 360w,//www.reneerouleau.com/cdn/shop/files/RR-BrightNow-Infographic-Benefits_1_3cb050b3-fad8-4852-82e9-2349823b03f1.png?v=1781281008&amp;width=533 533w,//www.reneerouleau.com/cdn/shop/files/RR-BrightNow-Infographic-Benefits_1_3cb050b3-fad8-4852-82e9-2349823b03f1.png?v=1781281008&amp;width=720 720w,//www.reneerouleau.com/cdn/shop/files/RR-BrightNow-Infographic-Benefits_1_3cb050b3-fad8-4852-82e9-2349823b03f1.png?v=1781281008&amp;width=940 940w,//www.reneerouleau.com/cdn/shop/files/RR-BrightNow-Infographic-Benefits_1_3cb050b3-fad8-4852-82e9-2349823b03f1.png?v=1781281008&amp;width=1066 1066w," style="object-fit:cover;
2989  width:100%;
2990  height: 100%;object-position: center;" fetchpriority="high">
2991</div>
2992
2993                    
2994                  </li> 
2995                
2996                  <li class="splide__slide !border !border-black [&.is-active]:!border-2 overflow-hidden">
2997                    
2998                      
2999<div class="relative overflow-hidden w-full h-full" style="">
3000  <img src="//www.reneerouleau.com/cdn/shop/files/RR_B_A_SDIV.png?v=1785346212" alt="Skin Drink I.V." width="1360" height="1480" loading="false" sizes="(min-width: 1650px) 1520px, (min-width: 990px) calc((100vw - 130px) / 1), (min-width: 750px) calc((100vw - 120px) / 1), calc((100vw - 35px) / 1)" srcset="
3001//www.reneerouleau.com/cdn/shop/files/RR_B_A_SDIV.png?v=1785346212&amp;width=165 165w,//www.reneerouleau.com/cdn/shop/files/RR_B_A_SDIV.png?v=1785346212&amp;width=360 360w,//www.reneerouleau.com/cdn/shop/files/RR_B_A_SDIV.png?v=1785346212&amp;width=533 533w,//www.reneerouleau.com/cdn/shop/files/RR_B_A_SDIV.png?v=1785346212&amp;width=720 720w,//www.reneerouleau.com/cdn/shop/files/RR_B_A_SDIV.png?v=1785346212&amp;width=940 940w,//www.reneerouleau.com/cdn/shop/files/RR_B_A_SDIV.png?v=1785346212&amp;width=1066 1066w," style="object-fit:cover;
3002  width:100%;
3003  height: 100%;object-position: center;" fetchpriority="high">
3004</div>
3005
3006                    
3007                  </li> 
3008                
3009              </ul>
3010            </div>
3011          </div>
3012        </div>
3013      </div>
3014    </div>
3015    <div class="product-details col-span-1 px-5 lg:px-0">
3016      <div class="lg:mb-9.5">
3017        <h1 class="lg:text-h1 text-h1-mob font-medium leading-[100%] font-heading mb-[10px]">Skin Drink I.V.</h1>
3018        
3019           
3020<div class="mb-2" data-oke-star-rating data-oke-reviews-product-id="shopify-7574678405179"><div data-oke-reviews-version="0.104.2" data-oke-container="" class="okeReviews oke-sr"><div class=""><div class="oke-sr-rating"> 4.8 </div><div class="oke-sr-stars"><div class="oke-stars"><!----><div class="oke-stars-background"><svg height="12" viewBox="0 0 82.33333333333331 14" aria-hidden="true" role="none"><use x="0" href="#oke-star-empty"></use><use x="16.933333333333334" href="#oke-star-empty"></use><use x="33.86666666666667" href="#oke-star-empty"></use><use x="50.8" href="#oke-star-empty"></use><use x="67.73333333333333" href="#oke-star-empty"></use></svg></div><div class="oke-stars-foreground" style="width: 96.4534%;"><svg height="12" viewBox="0 0 82.33333333333331 14" aria-hidden="true" role="none"><use x="0" href="#oke-star-filled"></use><use x="16.933333333333334" href="#oke-star-filled"></use><use x="33.86666666666667" href="#oke-star-filled"></use><use x="50.8" href="#oke-star-filled"></use><use x="67.73333333333333" href="#oke-star-filled"></use></svg></div><span class="oke-a11yText">Rated 4.8 out of 5 stars</span></div></div><div class="oke-sr-count"><span class="oke-sr-count-number">4.8</span><span class="oke-sr-label-text"> / 5</span><!----></div><!----></div>
3020<script type="application/json" data-oke-metafield-data=""> {"averageRating":"4.8","reviewCount":9} </script>
3020</div></div>
3021
3022        
3023        <span class="lg:text-subheading-1 text-subheading-1-mob font-light leading-[130%] tracking-[-.24px] lg:tracking-normal"><p>An electrolyte-infused serum that floods thirsty skin cells with deep, lasting hydration.</p></span>
3024      </div>
3025      
3026        
3027
3028
3029
3030
3031
3032
3033
3034<form method="post" action="/cart/add" accept-charset="UTF-8" class="main-product-form" enctype="multipart/form-data" data-product-form="true" data-product-id="7574678405179" data-original-product-price="7250"><input type="hidden" name="form_type" value="product" /><input type="hidden" name="utf8" value="✓" />
3035  <input 
3036    type="hidden" 
3037    name="id" 
3038    value="43374648328251" 
3039  />
3040  <div class="flex flex-col" style="order: 1;">
3041    <div class="w-full flex flex-col justify-between mt-3.5 lg:my-0 gap-2 lg:gap-0">
3042      
3043        <span data-price class="flex items-baseline gap-2 text-subheading-4 font-bold leading-[130%] tracking-[1.4px] uppercase mb-2">
3044          
3045<span>$72.50</span> 
3046
3047          
3048        </span>
3049      
3050
3051       <!-- DEBUG: start combine listing -->
3052      
3053        <!-- DEBUG: combine_listing metafield does not exist -->
3054      
3055      
3056    </div>
3057    <div data-quantity-wrapper class="my-3.5" >
3058      
3059        <div data-quantity class="border border-black w-28 lg:w-1/6 lg:h-min flex justify-center items-stretch my-auto">
3060          <button type="button" data-minus aria-label="Decrease quantity" class="flex items-center justify-center px-4 py-3 cursor-pointer select-none leading-none">-</button>
3061          <input
3062          type="number"
3063          name="quantity"
3064          aria-label="Quantity"
3065          value="1"
3066          min="1"
3067          class="bg-light flex-1 min-w-0 text-center"
3068          >
3069          <button type="button" data-plus aria-label="Increase quantity" class="flex items-center justify-center px-4 py-3 cursor-pointer select-none leading-none">+</button>
3070        </div>
3071      
3072    </div>
3073  </div>
3074  
3075    
3076      
3077      
3078        <div class="rr-selling-plan" data-selling-plan-selector data-selling-plan-show-savings="false">
3079          <input
3080            type="hidden"
3081            name="selling_plan"
3082            value=""
3083            data-selling-plan-input
3084            disabled
3085          >
3086          <fieldset class="rr-selling-plan__fieldset">
3087            <legend class="sr-only">Purchase options</legend>
3088            <div class="rr-selling-plan__controls">
3089              <div class="rr-selling-plan__options">
3090                <label class="rr-selling-plan__option">
3091                  <input
3092                    type="radio"
3093                    name="purchase_option"
3094                    value="onetime"
3095                    class="rr-selling-plan__radio"
3096                    data-purchase-option
3097                    checked
3098                    
3099                  >
3100                  <span class="rr-selling-plan__label">
3101                    <span class="rr-selling-plan__copy">One-Time Purchase</span>
3102                    <span class="rr-selling-plan__price" data-selling-plan-price="onetime">
3103 <span>$72.50</span>
3104</span>
3105                  </span>
3106                </label>
3107                <label class="rr-selling-plan__option">
3108                  <input
3109                    type="radio"
3110                    name="purchase_option"
3111                    value="subscription"
3112                    class="rr-selling-plan__radio"
3113                    data-purchase-option
3114                    
3115                  >
3116                  <span class="rr-selling-plan__label">
3117                    <span class="rr-selling-plan__copy">
3118                      <span>
3119                        Subscribe &amp; Save 10%
3120                      </span>
3121                      <span class="rr-selling-plan__flag">FREE SHIPPING</span>
3122                    </span>
3123                    <span class="rr-selling-plan__meta">
3124                      <span class="rr-selling-plan__price" data-selling-plan-price="subscription">$65.25</span>
3125                    </span>
3126                  </span>
3127                </label>
3128              </div>
3129            </div>
3130            <div class="rr-selling-plan__aside">
3131              <button
3132                type="button"
3133                class="rr-selling-plan__tooltip-trigger"
3134                aria-label="Subscription details"
3135                aria-describedby="-selling-plan-tooltip"
3136                data-selling-plan-tooltip-trigger
3137              >
3138                <svg aria-hidden="true" viewBox="0 0 34 34" focusable="false">
3139                  <circle cx="17" cy="17" r="15.5" fill="none" stroke="currentColor" stroke-width="2"></circle>
3140                  <path d="M17 15.5v8M17 10.5h.01" fill="none" stroke="currentColor" stroke-linecap="round" stroke-width="2.4"></path>
3141                </svg>
3142              </button>
3143              <span
3144                id="-selling-plan-tooltip"
3145                class="rr-selling-plan__tooltip"
3146                role="tooltip"
3147                data-selling-plan-tooltip
3148              >
3149                Free shipping applies to subscription shipments. You can manage, skip, or cancel before your next delivery.
3150              </span>
3151            </div>
3152            <div class="rr-selling-plan__dropdown" data-selling-plan-dropdown hidden>
3153              <label class="rr-selling-plan__dropdown-label" for="-selling-plan">Deliver every</label>
3154              <span class="rr-selling-plan__select-wrap">
3155                <select id="-selling-plan" class="rr-selling-plan__select" data-selling-plan-select>
3156                  
3157                    
3158                    <option value="2628190267">30 days</option>
3159                  
3160                    
3161                    <option value="2628223035">60 days</option>
3162                  
3163                    
3164                    <option value="2628255803">90 days</option>
3165                  
3166                </select>
3167              </span>
3168            </div>
3169          </fieldset>
3170          
3170<script type="application/json" data-selling-plan-allocations>
3171            {"43374648328251": {"2628190267": {
3172                      "price":6525,
3173                      "compare_at_price":7250,
3174                      "per_delivery_price":6525
3175                    },"2628223035": {
3176                      "price":6525,
3177                      "compare_at_price":7250,
3178                      "per_delivery_price":6525
3179                    },"2628255803": {
3180                      "price":6525,
3181                      "compare_at_price":7250,
3182                      "per_delivery_price":6525
3183                    }}}
3184          </script>
3184
3185        </div>
3186      
3187    
3188  
3189  <div class="main-product-form-buttons" style="order: 3;">
3190    <div data-atc-button >
3191      
3192
3193
3194
3195
3196<button class=" main-atc w-full max-w-[100%] lg:min-w-[200px] min-h-[24px] lg:h-[45px] font-bold lg:text-subheading-2 text-subheading-2-mob tracking-[10%] leading-[110%] text-center border border-black flex justify-center items-center cursor-pointer px-auto group bg-mint-green hover:bg-white transition-all ease-in-out duration-500" type="submit" >
3197    
3198  <span class=" w-full px-4 py-3 flex justify-between items-center leading-[110%] uppercase">
3199    
3200  
3201    <span class="leading-[110%]">ADD TO BAG</span>
3202  
3203  <span data-price data-atc-price class="leading-[110%]">
3204<span>$72.50</span> 
3205</span>
3206
3207  </span>
3208  
3209
3210  </button>
3211    </div>
3212    
3213      <div data-bis-container style="display:none">
3214        <a href="#" class="klaviyo-bis-trigger" style="position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);pointer-events:none" aria-hidden="true" tabindex="-1">BIS</a>
3215        <button type="button" data-bis-open class="pf-bis_trigger main-atc w-full max-w-[350px] lg:min-w-[200px] min-h-[24px] lg:h-[45px] font-bold lg:text-subheading-2 text-subheading-2-mob tracking-[10%] leading-[110%] text-center border border-black flex justify-center items-center cursor-pointer px-auto bg-black text-white hover:bg-blush-pink hover:text-black transition-all ease-in-out duration-500">
3216          <span class="w-full px-4 py-3 flex justify-center items-center uppercase">Notify Me When Available</span>
3217        </button>
3218      </div>
3219    
3220  </div>
3221  
3222
3223  
3223<script type="application/json" data-variant-availability>{ "43374648328251":true }
3224  </script>
3224
3225<input type="hidden" name="product-id" value="7574678405179" /><input type="hidden" name="section-id" value="template--17672948514875__product_description_9h6PMa" /></form>
3226
3227        
3228          <div id='afterpay-message-container' style="margin-top:4px;"></div>
3229        
3230      
3231        <div id="shopify-block-ARC9vVGFUU2FEeDhpT__pdp_accordion_i9QYUW" class="shopify-block">
3232<div class="pt-12 pb-4">
3233  <ul data-hc-body-click-toggle="pdp-accordion" class="flex flex-col gap-4">
3234    
3235      
3236
3237
3238
3239  <li >
3240    <div class="group flex justify-between items-center cursor-pointer hover:bg-seafoam is-active" role="button" data-hc-control=get-a-feel-for-it aria-expanded="true">
3241        <span class="text-subheading-4 font-bold leading-[130%] tracking-[1.4px] uppercase">Get a Feel For It</span>
3242        <span class="group-[&.is-active]:hidden">+</span>
3243        <span class="hidden group-[&.is-active]:block">-</span>
3244    </div>
3245    <div data-hc-content=get-a-feel-for-it class="is-active">
3246      <span class="text-body-copy-mob lg:text-subheading-1 font-light leading-[130%] tracking-[-.24px] [&_strong]:font-bold [&_a]:underline"><div class="metafield-rich_text_field"><p>Skin cells are like fish and need water to live. This supercharged serum combines a proprietary blend of electrolytes with 4 molecular weights of hyaluronic acid, plus a multi-humectant complex for hydration that doesn’t just sit on the surface. It dives deeper to revive dehydrated skin at the source while calming visible redness for skin that looks healthy, refreshed, and plump.<br />
3247<br />
3248• Hydra5 Electrolyte Blend strengthens the skin barrier, improves hydration at the cellular level, and softens the look of fine lines.<br />
3249• 4D Hyaluronic Acid delivers four molecular weights to hydrate every layer, leaving thirsty skin visibly bouncy and dewy.<br />
3250• Humectant-rich formula binds water deep into skin to relieve tightness and restore a plump, comfortable feel.<br />
3251• Calms visible redness and sensitivity with continued use, including post-procedure, rosacea-prone, and reactive skin.<br />
3252• Multi-humectant complex (Panthenol, Propanediol, Sodium PCA + HA) locks moisture into thirsty skin cells.<br />
3253• Weightless, oil-free formula glides on without stickiness or tackiness, leaving skin feeling silky <br />
3254• Replenishes skin after airplane travel, sauna sessions, summer heat, dry climates, hot yoga, and long nights.<br />
3255<br />
3256<br />
3257Loved by Skin Types 2, 5, 6, 7, 8, 9 and esthetician-approved for all skin types in need of a hydration boost for a fresh, healthy look.</p></div></span>
3258    </div>
3259  </li>
3260
3261
3262
3263
3264
3265
3266
3267  <li >
3268    <div class="group flex justify-between items-center cursor-pointer hover:bg-seafoam " role="button" data-hc-control=how-to-the-renee-way >
3269        <span class="text-subheading-4 font-bold leading-[130%] tracking-[1.4px] uppercase">How To: The Renée Way</span>
3270        <span class="group-[&.is-active]:hidden">+</span>
3271        <span class="hidden group-[&.is-active]:block">-</span>
3272    </div>
3273    <div data-hc-content=how-to-the-renee-way class="">
3274      <span class="text-body-copy-mob lg:text-subheading-1 font-light leading-[130%] tracking-[-.24px] [&_strong]:font-bold [&_a]:underline"><div class="metafield-rich_text_field"><p>Apply 1–2 pumps to clean skin after cleansing and toning. Follow with moisturizer to lock in hydration. Use morning and night.</p></div></span>
3275    </div>
3276  </li>
3277
3278
3279
3280
3281
3282
3283
3284  <li >
3285    <div class="group flex justify-between items-center cursor-pointer hover:bg-seafoam " role="button" data-hc-control=ingredients >
3286        <span class="text-subheading-4 font-bold leading-[130%] tracking-[1.4px] uppercase">Ingredients</span>
3287        <span class="group-[&.is-active]:hidden">+</span>
3288        <span class="hidden group-[&.is-active]:block">-</span>
3289    </div>
3290    <div data-hc-content=ingredients class="">
3291      <span class="text-body-copy-mob lg:text-subheading-1 font-light leading-[130%] tracking-[-.24px] [&_strong]:font-bold [&_a]:underline"><div class="metafield-rich_text_field"><p>
3291Water, Propanediol, Niacinamide, Aloe Barbadensis Leaf Juice, Panthenol, Sodium Hyaluronate, Allantoin, Sodium PCA, Magnesium PCA, Manganese PCA, Copper PCA, Zinc PCA, Dipotassium Glycyrrhizate, Gardenia Florida Fruit Extract, Phenoxyethanol, Maltodextrin, Carbomer, Ethylhexylglycerin, Tocopherol</p></div></span>
3292    </div>
3293  </li>
3294
3295
3296
3297
3298    
3299  </ul>
3300</div>
3301
3302
3303</div>
3304<div id="shopify-block-AQmJGSzFTeE83SVZ2N__pdp_pair_it_with_TJtajE" class="shopify-block">
3305
3306
3307
3308<div>
3309  <div class="splide" data-slider=
3310  '
3311    {
3312      "pagination": false,
3313      "start": 0,
3314      "type": "loop",
3315      "arrows": true,
3316      "gap": "10px",
3317      "padding": {"left": "0px", "right": "10%"},
3318      "mediaQuery": "min",
3319      "breakpoints": {
3320        "1024": {
3321          "padding": {"left": "0px", "right": "40%"}
3322        }
3323      }
3324    }    
3325  '
3326>
3327    <div class="flex justify-between mb-4.5">
3328      <span class="text-subheading-4 font-bold tracking-[1.4px] uppercase flex items-center">Pair it with</span>
3329      <div class="splide__arrows flex">
3330        <button class="splide__arrow splide__arrow--prev !bg-transparent !relative !left-0" aria-label="Previous slide">
3331          
3332
3333<span class="[&_svg]:!w-[30px] [&_svg]:lg:!w-[42px] [&_svg]:!h-[30px] [&_svg]:lg:!h-[42px]" >
3334  
3335        <svg xmlns="http://www.w3.org/2000/svg" width="42" height="42" viewBox="0 0 42 42" fill="none">
3336          <path d="M24.5229 24C24.6943 23.6061 24.8829 23.2424 25.0886 22.9091C25.2943 22.5606 25.5257 22.2348 25.7829 21.9318H12V20.0682H25.7829C25.5429 19.7652 25.32 19.447 25.1143 19.1136C24.9086 18.7652 24.72 18.3939 24.5486 18H26.5029C27.5657 19.1061 28.7314 19.947 30 20.5227V21.5C28.7314 22.0455 27.5657 22.8788 26.5029 24H24.5229Z" fill="black"/>
3337        </svg> 
3338      
3339      
3340</span>
3341
3342        </button>
3343        <button class="splide__arrow splide__arrow--next !bg-transparent !relative !right-0" aria-label="Next slide">
3344          
3345
3346<span class="[&_svg]:!w-[30px] [&_svg]:lg:!w-[42px] [&_svg]:!h-[30px] [&_svg]:lg:!h-[42px]" >
3347  
3348        <svg xmlns="http://www.w3.org/2000/svg" width="42" height="42" viewBox="0 0 42 42" fill="none">
3349          <path d="M24.5229 24C24.6943 23.6061 24.8829 23.2424 25.0886 22.9091C25.2943 22.5606 25.5257 22.2348 25.7829 21.9318H12V20.0682H25.7829C25.5429 19.7652 25.32 19.447 25.1143 19.1136C24.9086 18.7652 24.72 18.3939 24.5486 18H26.5029C27.5657 19.1061 28.7314 19.947 30 20.5227V21.5C28.7314 22.0455 27.5657 22.8788 26.5029 24H24.5229Z" fill="black"/>
3350        </svg> 
3351      
3352      
3353</span>
3354
3355        </button>
3356      </div> 
3357    </div>
3358    <div class="splide__track -mr-5 lg:mr-0">
3359      <ul class="splide__list">
3360        
3361          <li class="splide__slide">
3362            
3363<div class="bg-seafoam p-5 flex gap-6 w-full h-36">
3364  
3365<div class="relative overflow-hidden aspect-[6/10] lg:aspect-[7/10] min-w-[63px] lg:min-w-[73px]" style="">
3366  <img src="//www.reneerouleau.com/cdn/shop/files/ReneeRouleau-SkinDrinkI.V.-30.jpg?v=1781471560" alt="Skin Drink I.V. + Pore+Wrinkle Perfecting Serum" width="4160" height="6240" loading="false" sizes="(min-width: 1650px) 190px, (min-width: 990px) calc((100vw - 130px) / 8), (min-width: 750px) calc((100vw - 120px) / 8), calc((100vw - 35px) / 4)" srcset="
3367//www.reneerouleau.com/cdn/shop/files/ReneeRouleau-SkinDrinkI.V.-30.jpg?v=1781471560&amp;width=165 165w,//www.reneerouleau.com/cdn/shop/files/ReneeRouleau-SkinDrinkI.V.-30.jpg?v=1781471560&amp;width=360 360w,//www.reneerouleau.com/cdn/shop/files/ReneeRouleau-SkinDrinkI.V.-30.jpg?v=1781471560&amp;width=533 533w,//www.reneerouleau.com/cdn/shop/files/ReneeRouleau-SkinDrinkI.V.-30.jpg?v=1781471560&amp;width=720 720w,//www.reneerouleau.com/cdn/shop/files/ReneeRouleau-SkinDrinkI.V.-30.jpg?v=1781471560&amp;width=940 940w,//www.reneerouleau.com/cdn/shop/files/ReneeRouleau-SkinDrinkI.V.-30.jpg?v=1781471560&amp;width=1066 1066w,//www.reneerouleau.com/cdn/shop/files/ReneeRouleau-SkinDrinkI.V.-30.jpg?v=1781471560&amp;width=1440 1440w,//www.reneerouleau.com/cdn/shop/files/ReneeRouleau-SkinDrinkI.V.-30.jpg?v=1781471560&amp;width=1920 1920w,//www.reneerouleau.com/cdn/shop/files/ReneeRouleau-SkinDrinkI.V.-30.jpg?v=1781471560&amp;width=2560 2560w,//www.reneerouleau.com/cdn/shop/files/ReneeRouleau-SkinDrinkI.V.-30.jpg?v=1781471560&amp;width=3200 3200w" style="object-fit:cover;
3368  width:100%;
3369  height: 100%;" fetchpriority="high">
3370</div>
3371
3372  <div class="flex flex-col w-full">
3373    <a href="/products/skin-drink-i-v-wrinkle-perfecting-serum" class="text-subheading-4 font-bold leading-[130%] tracking-[1.4px] uppercase">Skin Drink I.V. + Pore+Wrinkle Perfecting Serum</a>
3374      <form method="post" action="/cart/add" accept-charset="UTF-8" class="flex flex-col justify-between h-full" enctype="multipart/form-data" data-product-form="true"><input type="hidden" name="form_type" value="product" /><input type="hidden" name="utf8" value="✓" />
3375        <input 
3376          type="hidden" 
3377          name="id" 
3378          value="43581746085947" 
3379        />
3380        <div class="flex justify-between">
3381          <span data-mini-price class="flex flex-col gap-0.5">
3382            
3383<span class="line-through">
3384      <span class="sr-only">Regular price </span>$145
3385    </span> <span class="text-subheading-4 font-bold leading-[130%] tracking-[1.4px] uppercase"><span class="sr-only">Sale price </span>$130.50</span>
3386
3387            
3388          </span>
3389          
3390        </div>
3391        
3392
3393        
3394
3395
3396
3397
3398<button class="uppercase lg:min-w-[200px] min-h-[24px] lg:h-[45px] font-bold lg:text-subheading-2 text-subheading-2-mob tracking-[10%] leading-[110%] text-center border border-black flex justify-center items-center cursor-pointer px-auto group bg-white hover:bg-mint-green transition-all ease-in-out duration-500" type="submit" >
3399    
3400  <span class=" uppercase">
3401    Add to Bag
3402  </span>
3403  
3404
3405  </button>
3406      <input type="hidden" name="product-id" value="7622929514555" /><input type="hidden" name="section-id" value="template--17672948514875__product_description_9h6PMa" /></form>
3407  </div>
3408</div>
3409
3410          </li> 
3411        
3412          <li class="splide__slide">
3413            
3414<div class="bg-seafoam p-5 flex gap-6 w-full h-36">
3415  
3416<div class="relative overflow-hidden aspect-[6/10] lg:aspect-[7/10] min-w-[63px] lg:min-w-[73px]" style="">
3417  <img src="//www.reneerouleau.com/cdn/shop/files/ReneeRouleau-SkinDrinkI.V.29.jpg?v=1780607680" alt="Skin Drink I.V. + Rest Day Masque" width="4160" height="6240" loading="false" sizes="(min-width: 1650px) 190px, (min-width: 990px) calc((100vw - 130px) / 8), (min-width: 750px) calc((100vw - 120px) / 8), calc((100vw - 35px) / 4)" srcset="
3418//www.reneerouleau.com/cdn/shop/files/ReneeRouleau-SkinDrinkI.V.29.jpg?v=1780607680&amp;width=165 165w,//www.reneerouleau.com/cdn/shop/files/ReneeRouleau-SkinDrinkI.V.29.jpg?v=1780607680&amp;width=360 360w,//www.reneerouleau.com/cdn/shop/files/ReneeRouleau-SkinDrinkI.V.29.jpg?v=1780607680&amp;width=533 533w,//www.reneerouleau.com/cdn/shop/files/ReneeRouleau-SkinDrinkI.V.29.jpg?v=1780607680&amp;width=720 720w,//www.reneerouleau.com/cdn/shop/files/ReneeRouleau-SkinDrinkI.V.29.jpg?v=1780607680&amp;width=940 940w,//www.reneerouleau.com/cdn/shop/files/ReneeRouleau-SkinDrinkI.V.29.jpg?v=1780607680&amp;width=1066 1066w,//www.reneerouleau.com/cdn/shop/files/ReneeRouleau-SkinDrinkI.V.29.jpg?v=1780607680&amp;width=1440 1440w,//www.reneerouleau.com/cdn/shop/files/ReneeRouleau-SkinDrinkI.V.29.jpg?v=1780607680&amp;width=1920 1920w,//www.reneerouleau.com/cdn/shop/files/ReneeRouleau-SkinDrinkI.V.29.jpg?v=1780607680&amp;width=2560 2560w,//www.reneerouleau.com/cdn/shop/files/ReneeRouleau-SkinDrinkI.V.29.jpg?v=1780607680&amp;width=3200 3200w" style="object-fit:cover;
3419  width:100%;
3420  height: 100%;" fetchpriority="high">
3421</div>
3422
3423  <div class="flex flex-col w-full">
3424    <a href="/products/skin-drink-i-v-rest-day-masque" class="text-subheading-4 font-bold leading-[130%] tracking-[1.4px] uppercase">Skin Drink I.V. + Rest Day Masque</a>
3425      <form method="post" action="/cart/add" accept-charset="UTF-8" class="flex flex-col justify-between h-full" enctype="multipart/form-data" data-product-form="true"><input type="hidden" name="form_type" value="product" /><input type="hidden" name="utf8" value="✓" />
3426        <input 
3427          type="hidden" 
3428          name="id" 
3429          value="43572559544379" 
3430        />
3431        <div class="flex justify-between">
3432          <span data-mini-price class="flex flex-col gap-0.5">
3433            
3434<span class="line-through">
3435      <span class="sr-only">Regular price </span>$131
3436    </span> <span class="text-subheading-4 font-bold leading-[130%] tracking-[1.4px] uppercase"><span class="sr-only">Sale price </span>$117.90</span>
3437
3438            
3439          </span>
3440          
3441        </div>
3442        
3443
3444        
3445
3446
3447
3448
3449<button class="uppercase lg:min-w-[200px] min-h-[24px] lg:h-[45px] font-bold lg:text-subheading-2 text-subheading-2-mob tracking-[10%] leading-[110%] text-center border border-black flex justify-center items-center cursor-pointer px-auto group bg-white hover:bg-mint-green transition-all ease-in-out duration-500" type="submit" >
3450    
3451  <span class=" uppercase">
3452    Add to Bag
3453  </span>
3454  
3455
3456  </button>
3457      <input type="hidden" name="product-id" value="7618450260027" /><input type="hidden" name="section-id" value="template--17672948514875__product_description_9h6PMa" /></form>
3458  </div>
3459</div>
3460
3461          </li> 
3462        
3463          <li class="splide__slide">
3464            
3465<div class="bg-seafoam p-5 flex gap-6 w-full h-36">
3466  
3467<div class="relative overflow-hidden aspect-[6/10] lg:aspect-[7/10] min-w-[63px] lg:min-w-[73px]" style="">
3468  <img src="//www.reneerouleau.com/cdn/shop/files/ReneeRouleau-SkinDrinkI.V.403_1.jpg?v=1781619984" alt="Skin Drink I.V. + Skin Recovery Balm" width="4160" height="6240" loading="false" sizes="(min-width: 1650px) 190px, (min-width: 990px) calc((100vw - 130px) / 8), (min-width: 750px) calc((100vw - 120px) / 8), calc((100vw - 35px) / 4)" srcset="
3469//www.reneerouleau.com/cdn/shop/files/ReneeRouleau-SkinDrinkI.V.403_1.jpg?v=1781619984&amp;width=165 165w,//www.reneerouleau.com/cdn/shop/files/ReneeRouleau-SkinDrinkI.V.403_1.jpg?v=1781619984&amp;width=360 360w,//www.reneerouleau.com/cdn/shop/files/ReneeRouleau-SkinDrinkI.V.403_1.jpg?v=1781619984&amp;width=533 533w,//www.reneerouleau.com/cdn/shop/files/ReneeRouleau-SkinDrinkI.V.403_1.jpg?v=1781619984&amp;width=720 720w,//www.reneerouleau.com/cdn/shop/files/ReneeRouleau-SkinDrinkI.V.403_1.jpg?v=1781619984&amp;width=940 940w,//www.reneerouleau.com/cdn/shop/files/ReneeRouleau-SkinDrinkI.V.403_1.jpg?v=1781619984&amp;width=1066 1066w,//www.reneerouleau.com/cdn/shop/files/ReneeRouleau-SkinDrinkI.V.403_1.jpg?v=1781619984&amp;width=1440 1440w,//www.reneerouleau.com/cdn/shop/files/ReneeRouleau-SkinDrinkI.V.403_1.jpg?v=1781619984&amp;width=1920 1920w,//www.reneerouleau.com/cdn/shop/files/ReneeRouleau-SkinDrinkI.V.403_1.jpg?v=1781619984&amp;width=2560 2560w,//www.reneerouleau.com/cdn/shop/files/ReneeRouleau-SkinDrinkI.V.403_1.jpg?v=1781619984&amp;width=3200 3200w" style="object-fit:cover;
3470  width:100%;
3471  height: 100%;" fetchpriority="high">
3472</div>
3473
3474  <div class="flex flex-col w-full">
3475    <a href="/products/skin-drink-i-v-skin-recovery-balm" class="text-subheading-4 font-bold leading-[130%] tracking-[1.4px] uppercase">Skin Drink I.V. + Skin Recovery Balm</a>
3476      <form method="post" action="/cart/add" accept-charset="UTF-8" class="flex flex-col justify-between h-full" enctype="multipart/form-data" data-product-form="true"><input type="hidden" name="form_type" value="product" /><input type="hidden" name="utf8" value="✓" />
3477        <input 
3478          type="hidden" 
3479          name="id" 
3480          value="43659153702971" 
3481        />
3482        <div class="flex justify-between">
3483          <span data-mini-price class="flex flex-col gap-0.5">
3484            
3485<span class="line-through">
3486      <span class="sr-only">Regular price </span>$122
3487    </span> <span class="text-subheading-4 font-bold leading-[130%] tracking-[1.4px] uppercase"><span class="sr-only">Sale price </span>$109.80</span>
3488
3489            
3490          </span>
3491          
3492        </div>
3493        
3494
3495        
3496
3497
3498
3499
3500<button class="uppercase lg:min-w-[200px] min-h-[24px] lg:h-[45px] font-bold lg:text-subheading-2 text-subheading-2-mob tracking-[10%] leading-[110%] text-center border border-black flex justify-center items-center cursor-pointer px-auto group bg-white hover:bg-mint-green transition-all ease-in-out duration-500" type="submit" >
3501    
3502  <span class=" uppercase">
3503    Add to Bag
3504  </span>
3505  
3506
3507  </button>
3508      <input type="hidden" name="product-id" value="7659663392827" /><input type="hidden" name="section-id" value="template--17672948514875__product_description_9h6PMa" /></form>
3509  </div>
3510</div>
3511
3512          </li> 
3513        
3514          <li class="splide__slide">
3515            
3516<div class="bg-seafoam p-5 flex gap-6 w-full h-36">
3517  
3518<div class="relative overflow-hidden aspect-[6/10] lg:aspect-[7/10] min-w-[63px] lg:min-w-[73px]" style="">
3519  <img src="//www.reneerouleau.com/cdn/shop/files/ReneeRouleau-SkinDrinkI.V.-374.jpg?v=1781283752" alt="Skin Drink I.V. + Sheer Moisture Lotion" width="4160" height="6240" loading="false" sizes="(min-width: 1650px) 190px, (min-width: 990px) calc((100vw - 130px) / 8), (min-width: 750px) calc((100vw - 120px) / 8), calc((100vw - 35px) / 4)" srcset="
3520//www.reneerouleau.com/cdn/shop/files/ReneeRouleau-SkinDrinkI.V.-374.jpg?v=1781283752&amp;width=165 165w,//www.reneerouleau.com/cdn/shop/files/ReneeRouleau-SkinDrinkI.V.-374.jpg?v=1781283752&amp;width=360 360w,//www.reneerouleau.com/cdn/shop/files/ReneeRouleau-SkinDrinkI.V.-374.jpg?v=1781283752&amp;width=533 533w,//www.reneerouleau.com/cdn/shop/files/ReneeRouleau-SkinDrinkI.V.-374.jpg?v=1781283752&amp;width=720 720w,//www.reneerouleau.com/cdn/shop/files/ReneeRouleau-SkinDrinkI.V.-374.jpg?v=1781283752&amp;width=940 940w,//www.reneerouleau.com/cdn/shop/files/ReneeRouleau-SkinDrinkI.V.-374.jpg?v=1781283752&amp;width=1066 1066w,//www.reneerouleau.com/cdn/shop/files/ReneeRouleau-SkinDrinkI.V.-374.jpg?v=1781283752&amp;width=1440 1440w,//www.reneerouleau.com/cdn/shop/files/ReneeRouleau-SkinDrinkI.V.-374.jpg?v=1781283752&amp;width=1920 1920w,//www.reneerouleau.com/cdn/shop/files/ReneeRouleau-SkinDrinkI.V.-374.jpg?v=1781283752&amp;width=2560 2560w,//www.reneerouleau.com/cdn/shop/files/ReneeRouleau-SkinDrinkI.V.-374.jpg?v=1781283752&amp;width=3200 3200w" style="object-fit:cover;
3521  width:100%;
3522  height: 100%;" fetchpriority="high">
3523</div>
3524
3525  <div class="flex flex-col w-full">
3526    <a href="/products/skin-drink-i-v-sheer-moisture-lotion" class="text-subheading-4 font-bold leading-[130%] tracking-[1.4px] uppercase">Skin Drink I.V. + Sheer Moisture Lotion</a>
3527      <form method="post" action="/cart/add" accept-charset="UTF-8" class="flex flex-col justify-between h-full" enctype="multipart/form-data" data-product-form="true"><input type="hidden" name="form_type" value="product" /><input type="hidden" name="utf8" value="✓" />
3528        <input 
3529          type="hidden" 
3530          name="id" 
3531          value="43566510276667" 
3532        />
3533        <div class="flex justify-between">
3534          <span data-mini-price class="flex flex-col gap-0.5">
3535            
3536<span class="line-through">
3537      <span class="sr-only">Regular price </span>$117
3538    </span> <span class="text-subheading-4 font-bold leading-[130%] tracking-[1.4px] uppercase"><span class="sr-only">Sale price </span>$105.30</span>
3539
3540            
3541          </span>
3542          
3543        </div>
3544        
3545
3546        
3547
3548
3549
3550
3551<button class="uppercase lg:min-w-[200px] min-h-[24px] lg:h-[45px] font-bold lg:text-subheading-2 text-subheading-2-mob tracking-[10%] leading-[110%] text-center border border-black flex justify-center items-center cursor-pointer px-auto group bg-white hover:bg-mint-green transition-all ease-in-out duration-500" type="submit" >
3552    
3553  <span class=" uppercase">
3554    Add to Bag
3555  </span>
3556  
3557
3558  </button>
3559      <input type="hidden" name="product-id" value="7615652954171" /><input type="hidden" name="section-id" value="template--17672948514875__product_description_9h6PMa" /></form>
3560  </div>
3561</div>
3562
3563          </li> 
3564        
3565          <li class="splide__slide">
3566            
3567<div class="bg-seafoam p-5 flex gap-6 w-full h-36">
3568  
3569<div class="relative overflow-hidden aspect-[6/10] lg:aspect-[7/10] min-w-[63px] lg:min-w-[73px]" style="">
3570  <img src="//www.reneerouleau.com/cdn/shop/files/RR-Product-Hydraboost-Rescue-Creme-Soldier_5b45315a-3145-4dc4-92cc-3db8665b9f78.jpg?v=1781316922" alt="Hydraboost Rescue Creme" width="1314" height="1585" loading="false" sizes="(min-width: 1650px) 190px, (min-width: 990px) calc((100vw - 130px) / 8), (min-width: 750px) calc((100vw - 120px) / 8), calc((100vw - 35px) / 4)" srcset="
3571//www.reneerouleau.com/cdn/shop/files/RR-Product-Hydraboost-Rescue-Creme-Soldier_5b45315a-3145-4dc4-92cc-3db8665b9f78.jpg?v=1781316922&amp;width=165 165w,//www.reneerouleau.com/cdn/shop/files/RR-Product-Hydraboost-Rescue-Creme-Soldier_5b45315a-3145-4dc4-92cc-3db8665b9f78.jpg?v=1781316922&amp;width=360 360w,//www.reneerouleau.com/cdn/shop/files/RR-Product-Hydraboost-Rescue-Creme-Soldier_5b45315a-3145-4dc4-92cc-3db8665b9f78.jpg?v=1781316922&amp;width=533 533w,//www.reneerouleau.com/cdn/shop/files/RR-Product-Hydraboost-Rescue-Creme-Soldier_5b45315a-3145-4dc4-92cc-3db8665b9f78.jpg?v=1781316922&amp;width=720 720w,//www.reneerouleau.com/cdn/shop/files/RR-Product-Hydraboost-Rescue-Creme-Soldier_5b45315a-3145-4dc4-92cc-3db8665b9f78.jpg?v=1781316922&amp;width=940 940w,//www.reneerouleau.com/cdn/shop/files/RR-Product-Hydraboost-Rescue-Creme-Soldier_5b45315a-3145-4dc4-92cc-3db8665b9f78.jpg?v=1781316922&amp;width=1066 1066w," style="object-fit:cover;
3572  width:100%;
3573  height: 100%;" fetchpriority="high">
3574</div>
3575
3576  <div class="flex flex-col w-full">
3577    <a href="/products/hydraboost-rescue-creme" class="text-subheading-4 font-bold leading-[130%] tracking-[1.4px] uppercase">Hydraboost Rescue Creme</a>
3578      <form method="post" action="/cart/add" accept-charset="UTF-8" class="flex flex-col justify-between h-full" enctype="multipart/form-data" data-product-form="true"><input type="hidden" name="form_type" value="product" /><input type="hidden" name="utf8" value="✓" />
3579        <input 
3580          type="hidden" 
3581          name="id" 
3582          value="33887948998" 
3583        />
3584        <div class="flex justify-between">
3585          <span data-mini-price class="flex flex-col gap-0.5">
3586            
3587 <span class="text-subheading-4 font-bold leading-[130%] tracking-[1.4px] uppercase">$72.50</span>
3588
3589            
3590          </span>
3591          
3592        </div>
3593        
3594
3595        
3596
3597
3598
3599
3600<button class="uppercase lg:min-w-[200px] min-h-[24px] lg:h-[45px] font-bold lg:text-subheading-2 text-subheading-2-mob tracking-[10%] leading-[110%] text-center border border-black flex justify-center items-center cursor-pointer px-auto group bg-white hover:bg-mint-green transition-all ease-in-out duration-500" type="submit" >
3601    
3602  <span class=" uppercase">
3603    Add to Bag
3604  </span>
3605  
3606
3607  </button>
3608      <input type="hidden" name="product-id" value="9257895750" /><input type="hidden" name="section-id" value="template--17672948514875__product_description_9h6PMa" /></form>
3609  </div>
3610</div>
3611
3612          </li> 
3613        
3614          <li class="splide__slide">
3615            
3616<div class="bg-seafoam p-5 flex gap-6 w-full h-36">
3617  
3618<div class="relative overflow-hidden aspect-[6/10] lg:aspect-[7/10] min-w-[63px] lg:min-w-[73px]" style="">
3619  <img src="//www.reneerouleau.com/cdn/shop/files/RR-Product-Moisture-Infusion-Toner-Soldier_4b4baaa0-0e22-4a4e-8bfc-1ffd60a449b9.jpg?v=1776702589" alt="Moisture Infusion Toner" width="1360" height="1640" loading="false" sizes="(min-width: 1650px) 190px, (min-width: 990px) calc((100vw - 130px) / 8), (min-width: 750px) calc((100vw - 120px) / 8), calc((100vw - 35px) / 4)" srcset="
3620//www.reneerouleau.com/cdn/shop/files/RR-Product-Moisture-Infusion-Toner-Soldier_4b4baaa0-0e22-4a4e-8bfc-1ffd60a449b9.jpg?v=1776702589&amp;width=165 165w,//www.reneerouleau.com/cdn/shop/files/RR-Product-Moisture-Infusion-Toner-Soldier_4b4baaa0-0e22-4a4e-8bfc-1ffd60a449b9.jpg?v=1776702589&amp;width=360 360w,//www.reneerouleau.com/cdn/shop/files/RR-Product-Moisture-Infusion-Toner-Soldier_4b4baaa0-0e22-4a4e-8bfc-1ffd60a449b9.jpg?v=1776702589&amp;width=533 533w,//www.reneerouleau.com/cdn/shop/files/RR-Product-Moisture-Infusion-Toner-Soldier_4b4baaa0-0e22-4a4e-8bfc-1ffd60a449b9.jpg?v=1776702589&amp;width=720 720w,//www.reneerouleau.com/cdn/shop/files/RR-Product-Moisture-Infusion-Toner-Soldier_4b4baaa0-0e22-4a4e-8bfc-1ffd60a449b9.jpg?v=1776702589&amp;width=940 940w,//www.reneerouleau.com/cdn/shop/files/RR-Product-Moisture-Infusion-Toner-Soldier_4b4baaa0-0e22-4a4e-8bfc-1ffd60a449b9.jpg?v=1776702589&amp;width=1066 1066w," style="object-fit:cover;
3621  width:100%;
3622  height: 100%;" fetchpriority="high">
3623</div>
3624
3625  <div class="flex flex-col w-full">
3626    <a href="/products/moisture-infusion-toner" class="text-subheading-4 font-bold leading-[130%] tracking-[1.4px] uppercase">Moisture Infusion Toner</a>
3627      <form method="post" action="/cart/add" accept-charset="UTF-8" class="flex flex-col justify-between h-full" enctype="multipart/form-data" data-product-form="true"><input type="hidden" name="form_type" value="product" /><input type="hidden" name="utf8" value="✓" />
3628        <input 
3629          type="hidden" 
3630          name="id" 
3631          value="33887954438" 
3632        />
3633        <div class="flex justify-between">
3634          <span data-mini-price class="flex flex-col gap-0.5">
3635            
3636 <span class="text-subheading-4 font-bold leading-[130%] tracking-[1.4px] uppercase">$39.50</span>
3637
3638            
3639          </span>
3640          
3641        </div>
3642        
3643
3644        
3645
3646
3647
3648
3649<button class="uppercase lg:min-w-[200px] min-h-[24px] lg:h-[45px] font-bold lg:text-subheading-2 text-subheading-2-mob tracking-[10%] leading-[110%] text-center border border-black flex justify-center items-center cursor-pointer px-auto group bg-white hover:bg-mint-green transition-all ease-in-out duration-500" type="submit" >
3650    
3651  <span class=" uppercase">
3652    Add to Bag
3653  </span>
3654  
3655
3656  </button>
3657      <input type="hidden" name="product-id" value="9257896198" /><input type="hidden" name="section-id" value="template--17672948514875__product_description_9h6PMa" /></form>
3658  </div>
3659</div>
3660
3661          </li> 
3662        
3663      </ul>
3664    </div>
3665  </div>
3666</div>
3667
3668
3669
3670</div>
3671
3672    </div>
3673  </div>
3674</div>
3675
3676
3677
3678
3679
3680
3681</div><div id="shopify-section-template--17672948514875__pdp_ingredients_FBrxgM" class="shopify-section">
3682
3683
3684<div class="flex flex-col gap-10 px-5 lg:px-9 my-[70px]">
3685  <h1 class="text-h1-mob lg:text-h1 font-heading font-medium leading-[100%] text-center">Pro-Selected Ingredients</h1> 
3686  <div>
3687    
3688      
3689        <div class="flex flex-col lg:flex-row gap-3 lg:gap-5 py-3 border-b border-b-blush-pink lg:items-center">
3690          <h3 class="lg:col-span-2 text-h3-mob lg:text-h3 font-heading font-medium italic leading-[100%]">4D Hyaluronic Acid</h3>
3691          <span class="lg:col-span-6 text-subheading-3-mob font-light leading-[130%]">4 molecular weights of hyaluronic acid hydrate and restore elasticity</span>
3692        </div>
3693      
3694        <div class="flex flex-col lg:flex-row gap-3 lg:gap-5 py-3 border-b border-b-blush-pink lg:items-center">
3695          <h3 class="lg:col-span-2 text-h3-mob lg:text-h3 font-heading font-medium italic leading-[100%]">Hydra5 Electrolyte Cocktail</h3>
3696          <span class="lg:col-span-6 text-subheading-3-mob font-light leading-[130%]">Copper, magnesium, manganese, sodium and zinc PCA</span>
3697        </div>
3698      
3699        <div class="flex flex-col lg:flex-row gap-3 lg:gap-5 py-3 border-b border-b-blush-pink lg:items-center">
3700          <h3 class="lg:col-span-2 text-h3-mob lg:text-h3 font-heading font-medium italic leading-[100%]">2% Niacinamide</h3>
3701          <span class="lg:col-span-6 text-subheading-3-mob font-light leading-[130%]">Restores the skin’s barrier while balancing sebum production on skin</span>
3702        </div>
3703      
3704        <div class="flex flex-col lg:flex-row gap-3 lg:gap-5 py-3 border-b border-b-blush-pink lg:items-center">
3705          <h3 class="lg:col-span-2 text-h3-mob lg:text-h3 font-heading font-medium italic leading-[100%]">Dipotassium Glycyrrhizate (licorice root extract)</h3>
3706          <span class="lg:col-span-6 text-subheading-3-mob font-light leading-[130%]">Soothes sensitive skin to reduce signs of irritation</span>
3707        </div>
3708      
3709        <div class="flex flex-col lg:flex-row gap-3 lg:gap-5 py-3 border-b border-b-blush-pink lg:items-center">
3710          <h3 class="lg:col-span-2 text-h3-mob lg:text-h3 font-heading font-medium italic leading-[100%]">Allantoin</h3>
3711          <span class="lg:col-span-6 text-subheading-3-mob font-light leading-[130%]">Improves skin’s moisture retention while smoothing and soothing skin</span>
3712        </div>
3713      
3714    
3715  </div>
3716</div>
3717
3718
3719
3720
3721</div><div id="shopify-section-template--17672948514875__how_to_tq48fd" class="shopify-section">
3722
3723
3724
3725<div class="lg:grid lg:grid-cols-2">
3726  <div class="flex flex-col justify-center items-center col-span-1 gap-1 lg:px-8 lg:py-[72px] py-10 bg-blush-light-pink">
3727    <h1 class="w-full text-h1-mob lg:text-h1 font-heading font-medium leading-[100%] text-center pb-6 lg:border-b lg:border-b-blush-pink">In the Treatment Room</h1> 
3728    <div>
3729      
3730        
3731          
3732          <div class="flex py-2.5 lg:py-6 border-b border-b-blush-pink items-center last:border-b-0 lg:last:border-b">
3733            <span class="text-subheading-1-mob lg:text-subheading-3-mob font-light leading-[130%] text-center lg:text-start px-5 lg:px-0">
3734ALL skin types need water. Using this serum under your moisturizer hydrates, relieves tightness, and leaves skin dewy and plump.
3735</span>
3736          </div>
3737        
3738          
3739          <div class="flex py-2.5 lg:py-6 border-b border-b-blush-pink items-center last:border-b-0 lg:last:border-b">
3740            <span class="text-subheading-1-mob lg:text-subheading-3-mob font-light leading-[130%] text-center lg:text-start px-5 lg:px-0">
3741Drinking water is the least efficient way to hydrate the skin. Dewy, plump skin comes from the topical application of humectants. 
3742</span>
3743          </div>
3744        
3745          
3746          <div class="flex py-2.5 lg:py-6 border-b border-b-blush-pink items-center last:border-b-0 lg:last:border-b">
3747            <span class="text-subheading-1-mob lg:text-subheading-3-mob font-light leading-[130%] text-center lg:text-start px-5 lg:px-0">
3748Use after a long flight, a late night, a hot workout class, or a harsh climate. Anything that leaves skin feeling dehydrated or stressed, this is what brings it back
3749</span>
3750          </div>
3751        
3752      
3753    </div>
3754  </div>
3755  <div class="bg-blush-light-pink flex justify-center items-center">
3756      
3757        
3758          
3759<div class="relative overflow-hidden dynamic_media" style="">
3760  <img src="//www.reneerouleau.com/cdn/shop/files/Renee-Rouleau-In-the-Treatment-Room-Skin-Type-5.jpg?v=1766028486" alt="" width="1400" height="1400" loading="lazy" sizes="(min-width: 1650px) 1520px, (min-width: 990px) calc((100vw - 130px) / 1), (min-width: 750px) calc((100vw - 120px) / 1), calc((100vw - 35px) / 1)" srcset="
3761//www.reneerouleau.com/cdn/shop/files/Renee-Rouleau-In-the-Treatment-Room-Skin-Type-5.jpg?v=1766028486&amp;width=165 165w,//www.reneerouleau.com/cdn/shop/files/Renee-Rouleau-In-the-Treatment-Room-Skin-Type-5.jpg?v=1766028486&amp;width=360 360w,//www.reneerouleau.com/cdn/shop/files/Renee-Rouleau-In-the-Treatment-Room-Skin-Type-5.jpg?v=1766028486&amp;width=533 533w,//www.reneerouleau.com/cdn/shop/files/Renee-Rouleau-In-the-Treatment-Room-Skin-Type-5.jpg?v=1766028486&amp;width=720 720w,//www.reneerouleau.com/cdn/shop/files/Renee-Rouleau-In-the-Treatment-Room-Skin-Type-5.jpg?v=1766028486&amp;width=940 940w,//www.reneerouleau.com/cdn/shop/files/Renee-Rouleau-In-the-Treatment-Room-Skin-Type-5.jpg?v=1766028486&amp;width=1066 1066w," style="object-fit:contain;
3762  width:100%;
3763  height: 100%;" fetchpriority="high">
3764</div>
3765 
3766        
3767      
3768  </div>
3769</div>
3770
3771
3772
3773</div><div id="shopify-section-template--17672948514875__before_and_after_TLyVw7" class="shopify-section before-and-after">
3774
3775
3776
3777
3778  <div class="pt-[70px] lg:py-[70px] lg:px-9 lg:grid lg:grid-cols-2 lg:gap-5 flex flex-col flex-col-reverse">
3779    <div class="splide before-after-slider" data-slider=
3780  '
3781    {
3782      "pagination": true,
3783      "start": 0,
3784      "perPage": 1,
3785      
3786        "arrows": true,
3787      
3788      "drag": true,
3789      "noDrag": "[data-range-reveal-slide], [data-range-reveal-slide] *",
3790      "hideDisabledArrows": true
3791    }
3792  '
3793>
3794      <div class="splide__arrows">
3795        <button class="splide__arrow splide__arrow--prev !bg-transparent !left-1.5 lg:!left-4" aria-label="Previous slide">
3796          
3797
3798<span class="[&_svg]:!w-[30px] [&_svg]:lg:!w-[42px] [&_svg]:!h-[30px] [&_svg]:lg:!h-[42px]" >
3799  
3800        <svg xmlns="http://www.w3.org/2000/svg" width="42" height="42" viewBox="0 0 42 42" fill="none">
3801          <circle cx="21" cy="21" r="20.5" fill="#64FCC8" stroke="black"/>
3802          <path d="M24.5229 24C24.6943 23.6061 24.8829 23.2424 25.0886 22.9091C25.2943 22.5606 25.5257 22.2348 25.7829 21.9318H12V20.0682H25.7829C25.5429 19.7652 25.32 19.447 25.1143 19.1136C24.9086 18.7652 24.72 18.3939 24.5486 18H26.5029C27.5657 19.1061 28.7314 19.947 30 20.5227V21.5C28.7314 22.0455 27.5657 22.8788 26.5029 24H24.5229Z" fill="black"/>
3803        </svg> 
3804
3805      
3806</span>
3807
3808        </button>
3809        <button class="splide__arrow splide__arrow--next !bg-transparent !right-1.5 lg:!right-[1em]" aria-label="Next slide">
3810          
3811
3812<span class="[&_svg]:!w-[30px] [&_svg]:lg:!w-[42px] [&_svg]:!h-[30px] [&_svg]:lg:!h-[42px]" >
3813  
3814        <svg xmlns="http://www.w3.org/2000/svg" width="42" height="42" viewBox="0 0 42 42" fill="none">
3815          <circle cx="21" cy="21" r="20.5" fill="#64FCC8" stroke="black"/>
3816          <path d="M24.5229 24C24.6943 23.6061 24.8829 23.2424 25.0886 22.9091C25.2943 22.5606 25.5257 22.2348 25.7829 21.9318H12V20.0682H25.7829C25.5429 19.7652 25.32 19.447 25.1143 19.1136C24.9086 18.7652 24.72 18.3939 24.5486 18H26.5029C27.5657 19.1061 28.7314 19.947 30 20.5227V21.5C28.7314 22.0455 27.5657 22.8788 26.5029 24H24.5229Z" fill="black"/>
3817        </svg> 
3818
3819      
3820</span>
3821
3822        </button>
3823      </div>
3824      <div class="splide__track has-[input[type=range]:active]:pointer-events-none">
3825        <ul class="splide__list">
3826          
3827            
3828            
3829              <li class="splide__slide">
3830                <div class="relative select-none lg:touch-none" >
3831                  <div class="h-0 w-full pb-[100%] relative overflow-hidden">
3832                    
3833                      
3834<div class="relative overflow-hidden !absolute w-full h-full top-0 left-0" style="">
3835  <img src="//www.reneerouleau.com/cdn/shop/files/1_c6d84f6f-8c5c-40a8-a185-003eef649ed6.png?v=1781322836" alt="" width="1400" height="1400" loading="lazy" sizes="(min-width: 1650px) 1520px, (min-width: 990px) calc((100vw - 130px) / 1), (min-width: 750px) calc((100vw - 120px) / 1), calc((100vw - 35px) / 1)" srcset="
3836//www.reneerouleau.com/cdn/shop/files/1_c6d84f6f-8c5c-40a8-a185-003eef649ed6.png?v=1781322836&amp;width=165 165w,//www.reneerouleau.com/cdn/shop/files/1_c6d84f6f-8c5c-40a8-a185-003eef649ed6.png?v=1781322836&amp;width=360 360w,//www.reneerouleau.com/cdn/shop/files/1_c6d84f6f-8c5c-40a8-a185-003eef649ed6.png?v=1781322836&amp;width=533 533w,//www.reneerouleau.com/cdn/shop/files/1_c6d84f6f-8c5c-40a8-a185-003eef649ed6.png?v=1781322836&amp;width=720 720w,//www.reneerouleau.com/cdn/shop/files/1_c6d84f6f-8c5c-40a8-a185-003eef649ed6.png?v=1781322836&amp;width=940 940w,//www.reneerouleau.com/cdn/shop/files/1_c6d84f6f-8c5c-40a8-a185-003eef649ed6.png?v=1781322836&amp;width=1066 1066w," style="object-fit:cover;
3837  width:100%;
3838  height: 100%;" class="aspect-square" fetchpriority="auto">
3839</div>
3840
3841                    
3842                    
3843                  </div>
3844                  
3845                </div>
3846              </li>
3847            
3848          
3849            
3850            
3851              <li class="splide__slide">
3852                <div class="relative select-none lg:touch-none" >
3853                  <div class="h-0 w-full pb-[100%] relative overflow-hidden">
3854                    
3855                      
3856<div class="relative overflow-hidden !absolute w-full h-full top-0 left-0" style="">
3857  <img src="//www.reneerouleau.com/cdn/shop/files/2_a8c1f639-befb-425f-b1fc-6e94e2d7cbed.png?v=1781322847" alt="" width="1400" height="1400" loading="lazy" sizes="(min-width: 1650px) 1520px, (min-width: 990px) calc((100vw - 130px) / 1), (min-width: 750px) calc((100vw - 120px) / 1), calc((100vw - 35px) / 1)" srcset="
3858//www.reneerouleau.com/cdn/shop/files/2_a8c1f639-befb-425f-b1fc-6e94e2d7cbed.png?v=1781322847&amp;width=165 165w,//www.reneerouleau.com/cdn/shop/files/2_a8c1f639-befb-425f-b1fc-6e94e2d7cbed.png?v=1781322847&amp;width=360 360w,//www.reneerouleau.com/cdn/shop/files/2_a8c1f639-befb-425f-b1fc-6e94e2d7cbed.png?v=1781322847&amp;width=533 533w,//www.reneerouleau.com/cdn/shop/files/2_a8c1f639-befb-425f-b1fc-6e94e2d7cbed.png?v=1781322847&amp;width=720 720w,//www.reneerouleau.com/cdn/shop/files/2_a8c1f639-befb-425f-b1fc-6e94e2d7cbed.png?v=1781322847&amp;width=940 940w,//www.reneerouleau.com/cdn/shop/files/2_a8c1f639-befb-425f-b1fc-6e94e2d7cbed.png?v=1781322847&amp;width=1066 1066w," style="object-fit:cover;
3859  width:100%;
3860  height: 100%;" class="aspect-square" fetchpriority="auto">
3861</div>
3862
3863                    
3864                    
3865                  </div>
3866                  
3867                </div>
3868              </li>
3869            
3870          
3871            
3872            
3873              <li class="splide__slide">
3874                <div class="relative select-none lg:touch-none" >
3875                  <div class="h-0 w-full pb-[100%] relative overflow-hidden">
3876                    
3877                      
3878<div class="relative overflow-hidden !absolute w-full h-full top-0 left-0" style="">
3879  <img src="//www.reneerouleau.com/cdn/shop/files/RR_SKIV_B_A.png?v=1785346093" alt="" width="1400" height="1400" loading="lazy" sizes="(min-width: 1650px) 1520px, (min-width: 990px) calc((100vw - 130px) / 1), (min-width: 750px) calc((100vw - 120px) / 1), calc((100vw - 35px) / 1)" srcset="
3880//www.reneerouleau.com/cdn/shop/files/RR_SKIV_B_A.png?v=1785346093&amp;width=165 165w,//www.reneerouleau.com/cdn/shop/files/RR_SKIV_B_A.png?v=1785346093&amp;width=360 360w,//www.reneerouleau.com/cdn/shop/files/RR_SKIV_B_A.png?v=1785346093&amp;width=533 533w,//www.reneerouleau.com/cdn/shop/files/RR_SKIV_B_A.png?v=1785346093&amp;width=720 720w,//www.reneerouleau.com/cdn/shop/files/RR_SKIV_B_A.png?v=1785346093&amp;width=940 940w,//www.reneerouleau.com/cdn/shop/files/RR_SKIV_B_A.png?v=1785346093&amp;width=1066 1066w," style="object-fit:cover;
3881  width:100%;
3882  height: 100%;" class="aspect-square" fetchpriority="auto">
3883</div>
3884
3885                    
3886                    
3887                  </div>
3888                  
3889                </div>
3890              </li>
3891            
3892          
3893            
3894            
3895          
3896        </ul>
3897      </div>
3898    </div>
3899    <div class="bg-blush-light-pink flex flex-col justify-center items-center gap-5 text-center px-5 min-h-[302px] lg:min-h-[402px]">
3900      
3901        <span class="lg:text-subheading-1 text-subheading-1-mob font-bold lg:leading-[130%] leading-[120%] lg:tracking-[1.6px] tracking-[1.2px] uppercase">Hands Down, Real Results</span>
3902      
3903      
3904        <h2 class="lg:text-h1 text-h1-mob font-medium leading-[100%] font-heading">"My skin was feeling so tight. Then within two weeks I could feel the difference in my skin. It was plump and hydrated, even my lines were smaller!!"</h2>
3905      
3906      
3907        <span class="lg:text-subheading-4 text-[10px] font-light leading-[130%]">-Dede B.</span>
3908      
3909    </div>
3910  </div>
3911
3912
3913
3914</div><div id="shopify-section-template--17672948514875__product_slider_Qjy8qa" class="shopify-section product-slider overflow-hidden">
3915
3916
3917
3918<div class="py-[70px] bg-white">
3919  <div class="header-wrapper flex justify-between items-center px-5 lg:px-8.5 mb-5">
3920    <h1 class="text-h1-mob lg:text-h1 font-medium font-heading">Frequently Paired With</h1>
3921    
3922  </div>
3923  <div class="slider splide pl-5 lg:pl-[35px]" data-slider=
3924  '
3925    {
3926      "pagination": false,
3927      "start": 0,
3928      "type": "loop",
3929      "gap": "15px",
3930      "autoplay": false,
3931      "perPage": 1,
3932      "padding": {"left": "0px", "right": "54px"},
3933      "mediaQuery": "min",
3934      "breakpoints": {
3935        "1024": {
3936          
3937            "type": "loop",
3938          
3939          "perPage": 3,
3940          "padding": {"left": "0px", "right": "18.375rem"}
3941        }
3942      }
3943    }
3944  '
3945>
3946    <div class="splide__arrows">
3947      <button class="splide__arrow splide__arrow--prev !bg-transparent !left-1.5 lg:!left-4" aria-label="Previous slide">
3948        
3949
3950<span class="[&_svg]:!w-[30px] [&_svg]:lg:!w-[42px] [&_svg]:!h-[30px] [&_svg]:lg:!h-[42px]" >
3951  
3952        <svg xmlns="http://www.w3.org/2000/svg" width="42" height="42" viewBox="0 0 42 42" fill="none">
3953          <circle cx="21" cy="21" r="20.5" fill="#64FCC8" stroke="black"/>
3954          <path d="M24.5229 24C24.6943 23.6061 24.8829 23.2424 25.0886 22.9091C25.2943 22.5606 25.5257 22.2348 25.7829 21.9318H12V20.0682H25.7829C25.5429 19.7652 25.32 19.447 25.1143 19.1136C24.9086 18.7652 24.72 18.3939 24.5486 18H26.5029C27.5657 19.1061 28.7314 19.947 30 20.5227V21.5C28.7314 22.0455 27.5657 22.8788 26.5029 24H24.5229Z" fill="black"/>
3955        </svg> 
3956
3957      
3958</span>
3959
3960      </button>
3961      <button class="splide__arrow splide__arrow--next !bg-transparent !right-1.5 lg:!right-[1em]" aria-label="Next slide">
3962        
3963
3964<span class="[&_svg]:!w-[30px] [&_svg]:lg:!w-[42px] [&_svg]:!h-[30px] [&_svg]:lg:!h-[42px]" >
3965  
3966        <svg xmlns="http://www.w3.org/2000/svg" width="42" height="42" viewBox="0 0 42 42" fill="none">
3967          <circle cx="21" cy="21" r="20.5" fill="#64FCC8" stroke="black"/>
3968          <path d="M24.5229 24C24.6943 23.6061 24.8829 23.2424 25.0886 22.9091C25.2943 22.5606 25.5257 22.2348 25.7829 21.9318H12V20.0682H25.7829C25.5429 19.7652 25.32 19.447 25.1143 19.1136C24.9086 18.7652 24.72 18.3939 24.5486 18H26.5029C27.5657 19.1061 28.7314 19.947 30 20.5227V21.5C28.7314 22.0455 27.5657 22.8788 26.5029 24H24.5229Z" fill="black"/>
3969        </svg> 
3970
3971      
3972</span>
3973
3974      </button>
3975    </div>
3976    <div class="splide__track">
3977      <ul class="splide__list">
3978        
3979          <li class="splide__slide group/slide">
3980            
3981
3982
3983<div class="h-full justify-between flex flex-col gap-4 relative group/card" data-hover-play-parent><div class="relative w-full">
3984    <a href="/products/skin-drink-i-v-wrinkle-perfecting-serum" class="flex flex-col gap-1">
3985      
3986<div class="relative overflow-hidden  aspect-[.81/1]" style="">
3987  <img src="//www.reneerouleau.com/cdn/shop/files/ReneeRouleau-SkinDrinkI.V.-30.jpg?v=1781471560" alt="Skin Drink I.V. + Pore+Wrinkle Perfecting Serum" width="4160" height="6240" loading="lazy" sizes="(min-width: 1650px) 506px, (min-width: 990px) calc((100vw - 130px) / 3), (min-width: 750px) calc((100vw - 120px) / 3), calc((100vw - 35px) / 1)" srcset="
3988//www.reneerouleau.com/cdn/shop/files/ReneeRouleau-SkinDrinkI.V.-30.jpg?v=1781471560&amp;width=165 165w,//www.reneerouleau.com/cdn/shop/files/ReneeRouleau-SkinDrinkI.V.-30.jpg?v=1781471560&amp;width=360 360w,//www.reneerouleau.com/cdn/shop/files/ReneeRouleau-SkinDrinkI.V.-30.jpg?v=1781471560&amp;width=533 533w,//www.reneerouleau.com/cdn/shop/files/ReneeRouleau-SkinDrinkI.V.-30.jpg?v=1781471560&amp;width=720 720w,//www.reneerouleau.com/cdn/shop/files/ReneeRouleau-SkinDrinkI.V.-30.jpg?v=1781471560&amp;width=940 940w,//www.reneerouleau.com/cdn/shop/files/ReneeRouleau-SkinDrinkI.V.-30.jpg?v=1781471560&amp;width=1066 1066w,//www.reneerouleau.com/cdn/shop/files/ReneeRouleau-SkinDrinkI.V.-30.jpg?v=1781471560&amp;width=1440 1440w,//www.reneerouleau.com/cdn/shop/files/ReneeRouleau-SkinDrinkI.V.-30.jpg?v=1781471560&amp;width=1920 1920w,//www.reneerouleau.com/cdn/shop/files/ReneeRouleau-SkinDrinkI.V.-30.jpg?v=1781471560&amp;width=2560 2560w,//www.reneerouleau.com/cdn/shop/files/ReneeRouleau-SkinDrinkI.V.-30.jpg?v=1781471560&amp;width=3200 3200w" style="object-fit:cover;
3989  width:100%;
3990  height: 100%;" fetchpriority="auto">
3991</div>
3992
3993      
3994<div class=" aspect-[.81/1] h-full absolute inset-0 z-20 pointer-events-none overflow-hidden transition-opacity duration-[250ms] ease-in-out opacity-0 delay-[1500ms] lg:delay-0 max-lg:group-[&.is-active]/slide:opacity-100 lg:group-hover/card:opacity-100">
3995          
3996            
3997<div class="relative overflow-hidden h-full w-full scale-100 lg:group-hover/card:scale-105 transition-[scale] duration-[3000ms] ease-out" style="">
3998  <img src="//www.reneerouleau.com/cdn/shop/files/skin_drink_model_e2260879-a801-4663-a0e4-f754f6eea673.png?v=1778100625" alt="" width="1360" height="1640" loading="lazy" sizes="(min-width: 1650px) 506px, (min-width: 990px) calc((100vw - 130px) / 3), (min-width: 750px) calc((100vw - 120px) / 3), calc((100vw - 35px) / 1)" srcset="
3999//www.reneerouleau.com/cdn/shop/files/skin_drink_model_e2260879-a801-4663-a0e4-f754f6eea673.png?v=1778100625&amp;width=165 165w,//www.reneerouleau.com/cdn/shop/files/skin_drink_model_e2260879-a801-4663-a0e4-f754f6eea673.png?v=1778100625&amp;width=360 360w,//www.reneerouleau.com/cdn/shop/files/skin_drink_model_e2260879-a801-4663-a0e4-f754f6eea673.png?v=1778100625&amp;width=533 533w,//www.reneerouleau.com/cdn/shop/files/skin_drink_model_e2260879-a801-4663-a0e4-f754f6eea673.png?v=1778100625&amp;width=720 720w,//www.reneerouleau.com/cdn/shop/files/skin_drink_model_e2260879-a801-4663-a0e4-f754f6eea673.png?v=1778100625&amp;width=940 940w,//www.reneerouleau.com/cdn/shop/files/skin_drink_model_e2260879-a801-4663-a0e4-f754f6eea673.png?v=1778100625&amp;width=1066 1066w," style="object-fit:cover;
4000  width:100%;
4001  height: 100%;" fetchpriority="auto">
4002</div>
4003
4004          
4005        </div>
4006      
4007<span class="bg-blush-pink absolute top-2.5 left-1 lg:left-2.5 px-2 py-0.5 lg:py-1 text-[11px] lg:text-subheading-2 font-light leading-[130%] uppercase z-30">NEW</span>
4008    </a>
4009  </div>
4010  <a href="/products/skin-drink-i-v-wrinkle-perfecting-serum" class="flex flex-col gap-1">
4011    <h3 class="text-subheading-1-mob lg:text-subheading-1 font-bold leading-[120%] lg:leading-[130%] tracking-[1.2px] lg:tracking-[1.6px] uppercase">Skin Drink I.V. + Pore+Wrinkle Perfecting Serum</h3>
4012    <span class="hidden lg:block text-subheading-4 font-light leading-[130%]">The anti-aging duo that plumps skin cells with deep hydration, then refines texture and minimizes the look of pores.
4013
401410% ...</span>
4015    <span class="lg:hidden text-body-copy-mob font-light leading-[130%]">The anti-aging duo that plumps skin cells with deep hydration, then refines texture and minimizes the look of pores.
4016
401710% off bundled toolkits!</span>
4018  </a>
4019
4020  <form method="post" action="/cart/add" accept-charset="UTF-8" class=" mt-auto" enctype="multipart/form-data" data-product-form="true"><input type="hidden" name="form_type" value="product" /><input type="hidden" name="utf8" value="✓" />
4021    <input type="hidden" name="id" value="43581746085947" />
4022    <div class="flex justify-between items-baseline pb-3 lg:pb-4">
4023       
4024<div class="mb-2" data-oke-star-rating data-oke-reviews-product-id="shopify-7622929514555"><div data-oke-reviews-version="0.104.2" data-oke-container="" class="okeReviews oke-sr"><div class=""><div class="oke-sr-rating"> 5.0 </div><div class="oke-sr-stars"><div class="oke-stars"><!----><div class="oke-stars-background"><svg height="12" viewBox="0 0 82.33333333333331 14" aria-hidden="true" role="none"><use x="0" href="#oke-star-empty"></use><use x="16.933333333333334" href="#oke-star-empty"></use><use x="33.86666666666667" href="#oke-star-empty"></use><use x="50.8" href="#oke-star-empty"></use><use x="67.73333333333333" href="#oke-star-empty"></use></svg></div><div class="oke-stars-foreground" style="width: 100%;"><svg height="12" viewBox="0 0 82.33333333333331 14" aria-hidden="true" role="none"><use x="0" href="#oke-star-filled"></use><use x="16.933333333333334" href="#oke-star-filled"></use><use x="33.86666666666667" href="#oke-star-filled"></use><use x="50.8" href="#oke-star-filled"></use><use x="67.73333333333333" href="#oke-star-filled"></use></svg></div><span class="oke-a11yText">Rated 5.0 out of 5 stars</span></div></div><div class="oke-sr-count"><span class="oke-sr-count-number">5.0</span><span class="oke-sr-label-text"> / 5</span><!----></div><!----></div>
4024<script type="application/json" data-oke-metafield-data=""> {"averageRating":"5.0","reviewCount":1} </script>
4024</div></div>
4025
4026      
4027    </div>
4028    
4029
4030
4031        
4032
4033
4034
4035
4036<button class="h-10 w-full lg:min-w-[200px] min-h-[24px] lg:h-[45px] font-bold lg:text-subheading-2 text-subheading-2-mob tracking-[10%] leading-[110%] text-center border border-black flex justify-center items-center cursor-pointer px-auto group bg-mint-green hover:bg-white transition-all ease-in-out duration-500" type="submit" >
4037    
4038  <span class=" w-full flex justify-between items-center px-2 lg:px-4 uppercase leading-[110%] uppercase">
4039    
4040  
4041    <span class="leading-[110%]">
4042      <span class="lg:hidden">ADD</span>
4043      <span class="max-lg:hidden">Add to Bag</span>
4044    </span>
4045  
4046  <span data-mini-price class="flex flex-col items-end gap-0.5 leading-[110%]">
4047    <span>
4048      
4049<span class="line-through opacity-60">
4050      <span class="sr-only">Regular price </span>$145
4051    </span> <span><span class="sr-only">Sale price </span>$130.50</span>
4052
4053    </span>
4054    
4055  </span>
4056
4057  </span>
4058  
4059
4060  </button>
4061      
4062<input type="hidden" name="product-id" value="7622929514555" /><input type="hidden" name="section-id" value="template--17672948514875__product_slider_Qjy8qa" /></form>
4063</div>
4064
4065          </li>
4066        
4067          <li class="splide__slide group/slide">
4068            
4069
4070
4071<div class="h-full justify-between flex flex-col gap-4 relative group/card" data-hover-play-parent><div class="relative w-full">
4072    <a href="/products/skin-drink-i-v-rest-day-masque" class="flex flex-col gap-1">
4073      
4074<div class="relative overflow-hidden  aspect-[.81/1]" style="">
4075  <img src="//www.reneerouleau.com/cdn/shop/files/ReneeRouleau-SkinDrinkI.V.29.jpg?v=1780607680" alt="Skin Drink I.V. + Rest Day Masque" width="4160" height="6240" loading="lazy" sizes="(min-width: 1650px) 506px, (min-width: 990px) calc((100vw - 130px) / 3), (min-width: 750px) calc((100vw - 120px) / 3), calc((100vw - 35px) / 1)" srcset="
4076//www.reneerouleau.com/cdn/shop/files/ReneeRouleau-SkinDrinkI.V.29.jpg?v=1780607680&amp;width=165 165w,//www.reneerouleau.com/cdn/shop/files/ReneeRouleau-SkinDrinkI.V.29.jpg?v=1780607680&amp;width=360 360w,//www.reneerouleau.com/cdn/shop/files/ReneeRouleau-SkinDrinkI.V.29.jpg?v=1780607680&amp;width=533 533w,//www.reneerouleau.com/cdn/shop/files/ReneeRouleau-SkinDrinkI.V.29.jpg?v=1780607680&amp;width=720 720w,//www.reneerouleau.com/cdn/shop/files/ReneeRouleau-SkinDrinkI.V.29.jpg?v=1780607680&amp;width=940 940w,//www.reneerouleau.com/cdn/shop/files/ReneeRouleau-SkinDrinkI.V.29.jpg?v=1780607680&amp;width=1066 1066w,//www.reneerouleau.com/cdn/shop/files/ReneeRouleau-SkinDrinkI.V.29.jpg?v=1780607680&amp;width=1440 1440w,//www.reneerouleau.com/cdn/shop/files/ReneeRouleau-SkinDrinkI.V.29.jpg?v=1780607680&amp;width=1920 1920w,//www.reneerouleau.com/cdn/shop/files/ReneeRouleau-SkinDrinkI.V.29.jpg?v=1780607680&amp;width=2560 2560w,//www.reneerouleau.com/cdn/shop/files/ReneeRouleau-SkinDrinkI.V.29.jpg?v=1780607680&amp;width=3200 3200w" style="object-fit:cover;
4077  width:100%;
4078  height: 100%;" fetchpriority="auto">
4079</div>
4080
4081      
4082<div class=" aspect-[.81/1] h-full absolute inset-0 z-20 pointer-events-none overflow-hidden transition-opacity duration-[250ms] ease-in-out opacity-0 delay-[1500ms] lg:delay-0 max-lg:group-[&.is-active]/slide:opacity-100 lg:group-hover/card:opacity-100">
4083          
4084            
4085<div class="relative overflow-hidden h-full w-full scale-100 lg:group-hover/card:scale-105 transition-[scale] duration-[3000ms] ease-out" style="">
4086  <img src="//www.reneerouleau.com/cdn/shop/files/skin_drink_model_e2260879-a801-4663-a0e4-f754f6eea673.png?v=1778100625" alt="" width="1360" height="1640" loading="lazy" sizes="(min-width: 1650px) 506px, (min-width: 990px) calc((100vw - 130px) / 3), (min-width: 750px) calc((100vw - 120px) / 3), calc((100vw - 35px) / 1)" srcset="
4087//www.reneerouleau.com/cdn/shop/files/skin_drink_model_e2260879-a801-4663-a0e4-f754f6eea673.png?v=1778100625&amp;width=165 165w,//www.reneerouleau.com/cdn/shop/files/skin_drink_model_e2260879-a801-4663-a0e4-f754f6eea673.png?v=1778100625&amp;width=360 360w,//www.reneerouleau.com/cdn/shop/files/skin_drink_model_e2260879-a801-4663-a0e4-f754f6eea673.png?v=1778100625&amp;width=533 533w,//www.reneerouleau.com/cdn/shop/files/skin_drink_model_e2260879-a801-4663-a0e4-f754f6eea673.png?v=1778100625&amp;width=720 720w,//www.reneerouleau.com/cdn/shop/files/skin_drink_model_e2260879-a801-4663-a0e4-f754f6eea673.png?v=1778100625&amp;width=940 940w,//www.reneerouleau.com/cdn/shop/files/skin_drink_model_e2260879-a801-4663-a0e4-f754f6eea673.png?v=1778100625&amp;width=1066 1066w," style="object-fit:cover;
4088  width:100%;
4089  height: 100%;" fetchpriority="auto">
4090</div>
4091
4092          
4093        </div>
4094      
4095<span class="bg-blush-pink absolute top-2.5 left-1 lg:left-2.5 px-2 py-0.5 lg:py-1 text-[11px] lg:text-subheading-2 font-light leading-[130%] uppercase z-30">NEW</span>
4096    </a>
4097  </div>
4098  <a href="/products/skin-drink-i-v-rest-day-masque" class="flex flex-col gap-1">
4099    <h3 class="text-subheading-1-mob lg:text-subheading-1 font-bold leading-[120%] lg:leading-[130%] tracking-[1.2px] lg:tracking-[1.6px] uppercase">Skin Drink I.V. + Rest Day Masque</h3>
4100    <span class="hidden lg:block text-subheading-4 font-light leading-[130%]">A supercharged 2-step hydration ritual. Deep cellular-level hydration meets barrier repair. 
4101
410210% off bundled toolkits!</span>
4103    <span class="lg:hidden text-body-copy-mob font-light leading-[130%]">A supercharged 2-step hydration ritual. Deep cellular-level hydration meets barrier repair. 
4104
410510% off bundled toolkits!</span>
4106  </a>
4107
4108  <form method="post" action="/cart/add" accept-charset="UTF-8" class=" mt-auto" enctype="multipart/form-data" data-product-form="true"><input type="hidden" name="form_type" value="product" /><input type="hidden" name="utf8" value="✓" />
4109    <input type="hidden" name="id" value="43572559544379" />
4110    <div class="flex justify-between items-baseline pb-3 lg:pb-4">
4111       
4112<div class="mb-2" data-oke-star-rating data-oke-reviews-product-id="shopify-7618450260027"></div>
4113
4114      
4115    </div>
4116    
4117
4118
4119        
4120
4121
4122
4123
4124<button class="h-10 w-full lg:min-w-[200px] min-h-[24px] lg:h-[45px] font-bold lg:text-subheading-2 text-subheading-2-mob tracking-[10%] leading-[110%] text-center border border-black flex justify-center items-center cursor-pointer px-auto group bg-mint-green hover:bg-white transition-all ease-in-out duration-500" type="submit" >
4125    
4126  <span class=" w-full flex justify-between items-center px-2 lg:px-4 uppercase leading-[110%] uppercase">
4127    
4128  
4129    <span class="leading-[110%]">
4130      <span class="lg:hidden">ADD</span>
4131      <span class="max-lg:hidden">Add to Bag</span>
4132    </span>
4133  
4134  <span data-mini-price class="flex flex-col items-end gap-0.5 leading-[110%]">
4135    <span>
4136      
4137<span class="line-through opacity-60">
4138      <span class="sr-only">Regular price </span>$131
4139    </span> <span><span class="sr-only">Sale price </span>$117.90</span>
4140
4141    </span>
4142    
4143  </span>
4144
4145  </span>
4146  
4147
4148  </button>
4149      
4150<input type="hidden" name="product-id" value="7618450260027" /><input type="hidden" name="section-id" value="template--17672948514875__product_slider_Qjy8qa" /></form>
4151</div>
4152
4153          </li>
4154        
4155          <li class="splide__slide group/slide">
4156            
4157
4158
4159<div class="h-full justify-between flex flex-col gap-4 relative group/card" data-hover-play-parent><div class="relative w-full">
4160    <a href="/products/skin-drink-i-v-skin-recovery-balm" class="flex flex-col gap-1">
4161      
4162<div class="relative overflow-hidden  aspect-[.81/1]" style="">
4163  <img src="//www.reneerouleau.com/cdn/shop/files/ReneeRouleau-SkinDrinkI.V.403_1.jpg?v=1781619984" alt="Skin Drink I.V. + Skin Recovery Balm" width="4160" height="6240" loading="lazy" sizes="(min-width: 1650px) 506px, (min-width: 990px) calc((100vw - 130px) / 3), (min-width: 750px) calc((100vw - 120px) / 3), calc((100vw - 35px) / 1)" srcset="
4164//www.reneerouleau.com/cdn/shop/files/ReneeRouleau-SkinDrinkI.V.403_1.jpg?v=1781619984&amp;width=165 165w,//www.reneerouleau.com/cdn/shop/files/ReneeRouleau-SkinDrinkI.V.403_1.jpg?v=1781619984&amp;width=360 360w,//www.reneerouleau.com/cdn/shop/files/ReneeRouleau-SkinDrinkI.V.403_1.jpg?v=1781619984&amp;width=533 533w,//www.reneerouleau.com/cdn/shop/files/ReneeRouleau-SkinDrinkI.V.403_1.jpg?v=1781619984&amp;width=720 720w,//www.reneerouleau.com/cdn/shop/files/ReneeRouleau-SkinDrinkI.V.403_1.jpg?v=1781619984&amp;width=940 940w,//www.reneerouleau.com/cdn/shop/files/ReneeRouleau-SkinDrinkI.V.403_1.jpg?v=1781619984&amp;width=1066 1066w,//www.reneerouleau.com/cdn/shop/files/ReneeRouleau-SkinDrinkI.V.403_1.jpg?v=1781619984&amp;width=1440 1440w,//www.reneerouleau.com/cdn/shop/files/ReneeRouleau-SkinDrinkI.V.403_1.jpg?v=1781619984&amp;width=1920 1920w,//www.reneerouleau.com/cdn/shop/files/ReneeRouleau-SkinDrinkI.V.403_1.jpg?v=1781619984&amp;width=2560 2560w,//www.reneerouleau.com/cdn/shop/files/ReneeRouleau-SkinDrinkI.V.403_1.jpg?v=1781619984&amp;width=3200 3200w" style="object-fit:cover;
4165  width:100%;
4166  height: 100%;" fetchpriority="auto">
4167</div>
4168
4169      
4170<div class=" aspect-[.81/1] h-full absolute inset-0 z-20 pointer-events-none overflow-hidden transition-opacity duration-[250ms] ease-in-out opacity-0 delay-[1500ms] lg:delay-0 max-lg:group-[&.is-active]/slide:opacity-100 lg:group-hover/card:opacity-100">
4171          
4172            
4173<div class="relative overflow-hidden h-full w-full scale-100 lg:group-hover/card:scale-105 transition-[scale] duration-[3000ms] ease-out" style="">
4174  <img src="//www.reneerouleau.com/cdn/shop/files/skin_drink_model_e2260879-a801-4663-a0e4-f754f6eea673.png?v=1778100625" alt="" width="1360" height="1640" loading="lazy" sizes="(min-width: 1650px) 506px, (min-width: 990px) calc((100vw - 130px) / 3), (min-width: 750px) calc((100vw - 120px) / 3), calc((100vw - 35px) / 1)" srcset="
4175//www.reneerouleau.com/cdn/shop/files/skin_drink_model_e2260879-a801-4663-a0e4-f754f6eea673.png?v=1778100625&amp;width=165 165w,//www.reneerouleau.com/cdn/shop/files/skin_drink_model_e2260879-a801-4663-a0e4-f754f6eea673.png?v=1778100625&amp;width=360 360w,//www.reneerouleau.com/cdn/shop/files/skin_drink_model_e2260879-a801-4663-a0e4-f754f6eea673.png?v=1778100625&amp;width=533 533w,//www.reneerouleau.com/cdn/shop/files/skin_drink_model_e2260879-a801-4663-a0e4-f754f6eea673.png?v=1778100625&amp;width=720 720w,//www.reneerouleau.com/cdn/shop/files/skin_drink_model_e2260879-a801-4663-a0e4-f754f6eea673.png?v=1778100625&amp;width=940 940w,//www.reneerouleau.com/cdn/shop/files/skin_drink_model_e2260879-a801-4663-a0e4-f754f6eea673.png?v=1778100625&amp;width=1066 1066w," style="object-fit:cover;
4176  width:100%;
4177  height: 100%;" fetchpriority="auto">
4178</div>
4179
4180          
4181        </div>
4182      
4183<span class="bg-blush-pink absolute top-2.5 left-1 lg:left-2.5 px-2 py-0.5 lg:py-1 text-[11px] lg:text-subheading-2 font-light leading-[130%] uppercase z-30">NEW</span>
4184    </a>
4185  </div>
4186  <a href="/products/skin-drink-i-v-skin-recovery-balm" class="flex flex-col gap-1">
4187    <h3 class="text-subheading-1-mob lg:text-subheading-1 font-bold leading-[120%] lg:leading-[130%] tracking-[1.2px] lg:tracking-[1.6px] uppercase">Skin Drink I.V. + Skin Recovery Balm</h3>
4188    <span class="hidden lg:block text-subheading-4 font-light leading-[130%]">The post-procedure duo your skin needs most. Deep hydration first, barrier repair second.
4189
419010% off bundled toolkits!</span>
4191    <span class="lg:hidden text-body-copy-mob font-light leading-[130%]">The post-procedure duo your skin needs most. Deep hydration first, barrier repair second.
4192
419310% off bundled toolkits!</span>
4194  </a>
4195
4196  <form method="post" action="/cart/add" accept-charset="UTF-8" class=" mt-auto" enctype="multipart/form-data" data-product-form="true"><input type="hidden" name="form_type" value="product" /><input type="hidden" name="utf8" value="✓" />
4197    <input type="hidden" name="id" value="43659153702971" />
4198    <div class="flex justify-between items-baseline pb-3 lg:pb-4">
4199       
4200<div class="mb-2" data-oke-star-rating data-oke-reviews-product-id="shopify-7659663392827"></div>
4201
4202      
4203    </div>
4204    
4205
4206
4207        
4208
4209
4210
4211
4212<button class="h-10 w-full lg:min-w-[200px] min-h-[24px] lg:h-[45px] font-bold lg:text-subheading-2 text-subheading-2-mob tracking-[10%] leading-[110%] text-center border border-black flex justify-center items-center cursor-pointer px-auto group bg-mint-green hover:bg-white transition-all ease-in-out duration-500" type="submit" >
4213    
4214  <span class=" w-full flex justify-between items-center px-2 lg:px-4 uppercase leading-[110%] uppercase">
4215    
4216  
4217    <span class="leading-[110%]">
4218      <span class="lg:hidden">ADD</span>
4219      <span class="max-lg:hidden">Add to Bag</span>
4220    </span>
4221  
4222  <span data-mini-price class="flex flex-col items-end gap-0.5 leading-[110%]">
4223    <span>
4224      
4225<span class="line-through opacity-60">
4226      <span class="sr-only">Regular price </span>$122
4227    </span> <span><span class="sr-only">Sale price </span>$109.80</span>
4228
4229    </span>
4230    
4231  </span>
4232
4233  </span>
4234  
4235
4236  </button>
4237      
4238<input type="hidden" name="product-id" value="7659663392827" /><input type="hidden" name="section-id" value="template--17672948514875__product_slider_Qjy8qa" /></form>
4239</div>
4240
4241          </li>
4242        
4243          <li class="splide__slide group/slide">
4244            
4245
4246
4247<div class="h-full justify-between flex flex-col gap-4 relative group/card" data-hover-play-parent><div class="relative w-full">
4248    <a href="/products/skin-drink-i-v-sheer-moisture-lotion" class="flex flex-col gap-1">
4249      
4250<div class="relative overflow-hidden  aspect-[.81/1]" style="">
4251  <img src="//www.reneerouleau.com/cdn/shop/files/ReneeRouleau-SkinDrinkI.V.-374.jpg?v=1781283752" alt="Skin Drink I.V. + Sheer Moisture Lotion" width="4160" height="6240" loading="lazy" sizes="(min-width: 1650px) 506px, (min-width: 990px) calc((100vw - 130px) / 3), (min-width: 750px) calc((100vw - 120px) / 3), calc((100vw - 35px) / 1)" srcset="
4252//www.reneerouleau.com/cdn/shop/files/ReneeRouleau-SkinDrinkI.V.-374.jpg?v=1781283752&amp;width=165 165w,//www.reneerouleau.com/cdn/shop/files/ReneeRouleau-SkinDrinkI.V.-374.jpg?v=1781283752&amp;width=360 360w,//www.reneerouleau.com/cdn/shop/files/ReneeRouleau-SkinDrinkI.V.-374.jpg?v=1781283752&amp;width=533 533w,//www.reneerouleau.com/cdn/shop/files/ReneeRouleau-SkinDrinkI.V.-374.jpg?v=1781283752&amp;width=720 720w,//www.reneerouleau.com/cdn/shop/files/ReneeRouleau-SkinDrinkI.V.-374.jpg?v=1781283752&amp;width=940 940w,//www.reneerouleau.com/cdn/shop/files/ReneeRouleau-SkinDrinkI.V.-374.jpg?v=1781283752&amp;width=1066 1066w,//www.reneerouleau.com/cdn/shop/files/ReneeRouleau-SkinDrinkI.V.-374.jpg?v=1781283752&amp;width=1440 1440w,//www.reneerouleau.com/cdn/shop/files/ReneeRouleau-SkinDrinkI.V.-374.jpg?v=1781283752&amp;width=1920 1920w,//www.reneerouleau.com/cdn/shop/files/ReneeRouleau-SkinDrinkI.V.-374.jpg?v=1781283752&amp;width=2560 2560w,//www.reneerouleau.com/cdn/shop/files/ReneeRouleau-SkinDrinkI.V.-374.jpg?v=1781283752&amp;width=3200 3200w" style="object-fit:cover;
4253  width:100%;
4254  height: 100%;" fetchpriority="auto">
4255</div>
4256
4257      
4258<div class=" aspect-[.81/1] h-full absolute inset-0 z-20 pointer-events-none overflow-hidden transition-opacity duration-[250ms] ease-in-out opacity-0 delay-[1500ms] lg:delay-0 max-lg:group-[&.is-active]/slide:opacity-100 lg:group-hover/card:opacity-100">
4259          
4260            
4261<div class="relative overflow-hidden h-full w-full scale-100 lg:group-hover/card:scale-105 transition-[scale] duration-[3000ms] ease-out" style="">
4262  <img src="//www.reneerouleau.com/cdn/shop/files/skin_drink_model_e2260879-a801-4663-a0e4-f754f6eea673.png?v=1778100625" alt="" width="1360" height="1640" loading="lazy" sizes="(min-width: 1650px) 506px, (min-width: 990px) calc((100vw - 130px) / 3), (min-width: 750px) calc((100vw - 120px) / 3), calc((100vw - 35px) / 1)" srcset="
4263//www.reneerouleau.com/cdn/shop/files/skin_drink_model_e2260879-a801-4663-a0e4-f754f6eea673.png?v=1778100625&amp;width=165 165w,//www.reneerouleau.com/cdn/shop/files/skin_drink_model_e2260879-a801-4663-a0e4-f754f6eea673.png?v=1778100625&amp;width=360 360w,//www.reneerouleau.com/cdn/shop/files/skin_drink_model_e2260879-a801-4663-a0e4-f754f6eea673.png?v=1778100625&amp;width=533 533w,//www.reneerouleau.com/cdn/shop/files/skin_drink_model_e2260879-a801-4663-a0e4-f754f6eea673.png?v=1778100625&amp;width=720 720w,//www.reneerouleau.com/cdn/shop/files/skin_drink_model_e2260879-a801-4663-a0e4-f754f6eea673.png?v=1778100625&amp;width=940 940w,//www.reneerouleau.com/cdn/shop/files/skin_drink_model_e2260879-a801-4663-a0e4-f754f6eea673.png?v=1778100625&amp;width=1066 1066w," style="object-fit:cover;
4264  width:100%;
4265  height: 100%;" fetchpriority="auto">
4266</div>
4267
4268          
4269        </div>
4270      
4271<span class="bg-blush-pink absolute top-2.5 left-1 lg:left-2.5 px-2 py-0.5 lg:py-1 text-[11px] lg:text-subheading-2 font-light leading-[130%] uppercase z-30">NEW</span>
4272    </a>
4273  </div>
4274  <a href="/products/skin-drink-i-v-sheer-moisture-lotion" class="flex flex-col gap-1">
4275    <h3 class="text-subheading-1-mob lg:text-subheading-1 font-bold leading-[120%] lg:leading-[130%] tracking-[1.2px] lg:tracking-[1.6px] uppercase">Skin Drink I.V. + Sheer Moisture Lotion</h3>
4276    <span class="hidden lg:block text-subheading-4 font-light leading-[130%]">An everyday lightweight hydration stack that floods the skin cells with water and seals it in. 
4277 
427810% off bundled toolkits!</span>
4279    <span class="lg:hidden text-body-copy-mob font-light leading-[130%]">An everyday lightweight hydration stack that floods the skin cells with water and seals it in. 
4280 
428110% off bundled toolkits!</span>
4282  </a>
4283
4284  <form method="post" action="/cart/add" accept-charset="UTF-8" class=" mt-auto" enctype="multipart/form-data" data-product-form="true"><input type="hidden" name="form_type" value="product" /><input type="hidden" name="utf8" value="✓" />
4285    <input type="hidden" name="id" value="43566510276667" />
4286    <div class="flex justify-between items-baseline pb-3 lg:pb-4">
4287       
4288<div class="mb-2" data-oke-star-rating data-oke-reviews-product-id="shopify-7615652954171"></div>
4289
4290      
4291    </div>
4292    
4293
4294
4295        
4296
4297
4298
4299
4300<button class="h-10 w-full lg:min-w-[200px] min-h-[24px] lg:h-[45px] font-bold lg:text-subheading-2 text-subheading-2-mob tracking-[10%] leading-[110%] text-center border border-black flex justify-center items-center cursor-pointer px-auto group bg-mint-green hover:bg-white transition-all ease-in-out duration-500" type="submit" >
4301    
4302  <span class=" w-full flex justify-between items-center px-2 lg:px-4 uppercase leading-[110%] uppercase">
4303    
4304  
4305    <span class="leading-[110%]">
4306      <span class="lg:hidden">ADD</span>
4307      <span class="max-lg:hidden">Add to Bag</span>
4308    </span>
4309  
4310  <span data-mini-price class="flex flex-col items-end gap-0.5 leading-[110%]">
4311    <span>
4312      
4313<span class="line-through opacity-60">
4314      <span class="sr-only">Regular price </span>$117
4315    </span> <span><span class="sr-only">Sale price </span>$105.30</span>
4316
4317    </span>
4318    
4319  </span>
4320
4321  </span>
4322  
4323
4324  </button>
4325      
4326<input type="hidden" name="product-id" value="7615652954171" /><input type="hidden" name="section-id" value="template--17672948514875__product_slider_Qjy8qa" /></form>
4327</div>
4328
4329          </li>
4330        
4331          <li class="splide__slide group/slide">
4332            
4333
4334
4335<div class="h-full justify-between flex flex-col gap-4 relative group/card" data-hover-play-parent><div class="relative w-full">
4336    <a href="/products/hydraboost-rescue-creme" class="flex flex-col gap-1">
4337      
4338<div class="relative overflow-hidden  aspect-[.81/1]" style="">
4339  <img src="//www.reneerouleau.com/cdn/shop/files/RR-Product-Hydraboost-Rescue-Creme-Soldier_5b45315a-3145-4dc4-92cc-3db8665b9f78.jpg?v=1781316922" alt="Hydraboost Rescue Creme" width="1314" height="1585" loading="lazy" sizes="(min-width: 1650px) 506px, (min-width: 990px) calc((100vw - 130px) / 3), (min-width: 750px) calc((100vw - 120px) / 3), calc((100vw - 35px) / 1)" srcset="
4340//www.reneerouleau.com/cdn/shop/files/RR-Product-Hydraboost-Rescue-Creme-Soldier_5b45315a-3145-4dc4-92cc-3db8665b9f78.jpg?v=1781316922&amp;width=165 165w,//www.reneerouleau.com/cdn/shop/files/RR-Product-Hydraboost-Rescue-Creme-Soldier_5b45315a-3145-4dc4-92cc-3db8665b9f78.jpg?v=1781316922&amp;width=360 360w,//www.reneerouleau.com/cdn/shop/files/RR-Product-Hydraboost-Rescue-Creme-Soldier_5b45315a-3145-4dc4-92cc-3db8665b9f78.jpg?v=1781316922&amp;width=533 533w,//www.reneerouleau.com/cdn/shop/files/RR-Product-Hydraboost-Rescue-Creme-Soldier_5b45315a-3145-4dc4-92cc-3db8665b9f78.jpg?v=1781316922&amp;width=720 720w,//www.reneerouleau.com/cdn/shop/files/RR-Product-Hydraboost-Rescue-Creme-Soldier_5b45315a-3145-4dc4-92cc-3db8665b9f78.jpg?v=1781316922&amp;width=940 940w,//www.reneerouleau.com/cdn/shop/files/RR-Product-Hydraboost-Rescue-Creme-Soldier_5b45315a-3145-4dc4-92cc-3db8665b9f78.jpg?v=1781316922&amp;width=1066 1066w," style="object-fit:cover;
4341  width:100%;
4342  height: 100%;" fetchpriority="auto">
4343</div>
4344
4345      
4346<div class=" aspect-[.81/1] h-full absolute inset-0 z-20 pointer-events-none overflow-hidden transition-opacity duration-[250ms] ease-in-out opacity-0 delay-[1500ms] lg:delay-0 max-lg:group-[&.is-active]/slide:opacity-100 lg:group-hover/card:opacity-100">
4347          
4348            
4349<div class="relative overflow-hidden h-full w-full scale-100 lg:group-hover/card:scale-105 transition-[scale] duration-[3000ms] ease-out" style="">
4350  <img src="//www.reneerouleau.com/cdn/shop/files/RR-Product-Hydraboost-Rescue-Creme-Model_f9844b2f-c531-4542-9fca-3d97d68663d7.jpg?v=1767726036" alt="RR Product Hydraboost Rescue Creme Model" width="1360" height="1640" loading="lazy" sizes="(min-width: 1650px) 506px, (min-width: 990px) calc((100vw - 130px) / 3), (min-width: 750px) calc((100vw - 120px) / 3), calc((100vw - 35px) / 1)" srcset="
4351//www.reneerouleau.com/cdn/shop/files/RR-Product-Hydraboost-Rescue-Creme-Model_f9844b2f-c531-4542-9fca-3d97d68663d7.jpg?v=1767726036&amp;width=165 165w,//www.reneerouleau.com/cdn/shop/files/RR-Product-Hydraboost-Rescue-Creme-Model_f9844b2f-c531-4542-9fca-3d97d68663d7.jpg?v=1767726036&amp;width=360 360w,//www.reneerouleau.com/cdn/shop/files/RR-Product-Hydraboost-Rescue-Creme-Model_f9844b2f-c531-4542-9fca-3d97d68663d7.jpg?v=1767726036&amp;width=533 533w,//www.reneerouleau.com/cdn/shop/files/RR-Product-Hydraboost-Rescue-Creme-Model_f9844b2f-c531-4542-9fca-3d97d68663d7.jpg?v=1767726036&amp;width=720 720w,//www.reneerouleau.com/cdn/shop/files/RR-Product-Hydraboost-Rescue-Creme-Model_f9844b2f-c531-4542-9fca-3d97d68663d7.jpg?v=1767726036&amp;width=940 940w,//www.reneerouleau.com/cdn/shop/files/RR-Product-Hydraboost-Rescue-Creme-Model_f9844b2f-c531-4542-9fca-3d97d68663d7.jpg?v=1767726036&amp;width=1066 1066w," style="object-fit:cover;
4352  width:100%;
4353  height: 100%;" fetchpriority="auto">
4354</div>
4355
4356          
4357        </div>
4358      
4359<span class=" absolute top-2.5 left-1 lg:left-2.5 px-2 py-0.5 lg:py-1 text-[11px] lg:text-subheading-2 font-light leading-[130%] uppercase z-30"></span>
4360    </a>
4361  </div>
4362  <a href="/products/hydraboost-rescue-creme" class="flex flex-col gap-1">
4363    <h3 class="text-subheading-1-mob lg:text-subheading-1 font-bold leading-[120%] lg:leading-[130%] tracking-[1.2px] lg:tracking-[1.6px] uppercase">Hydraboost Rescue Creme</h3>
4364    <span class="hidden lg:block text-subheading-4 font-light leading-[130%]">A deeply hydrating, medium-weight moisturizer formulated to soothe visible redness and irritation without feeling greasy.<
4364/span>
4365    <span class="lg:hidden text-body-copy-mob font-light leading-[130%]">A deeply hydrating, medium-weight moisturizer formulated to soothe visible redness and irritation without feeling greasy.</span>
4366  </a>
4367
4368  <form method="post" action="/cart/add" accept-charset="UTF-8" class=" mt-auto" enctype="multipart/form-data" data-product-form="true"><input type="hidden" name="form_type" value="product" /><input type="hidden" name="utf8" value="✓" />
4369    <input type="hidden" name="id" value="33887948998" />
4370    <div class="flex justify-between items-baseline pb-3 lg:pb-4">
4371       
4372<div class="mb-2" data-oke-star-rating data-oke-reviews-product-id="shopify-9257895750"><div data-oke-reviews-version="0.104.2" data-oke-container="" class="okeReviews oke-sr"><div class=""><div class="oke-sr-rating"> 4.8 </div><div class="oke-sr-stars"><div class="oke-stars"><!----><div class="oke-stars-background"><svg height="12" viewBox="0 0 82.33333333333331 14" aria-hidden="true" role="none"><use x="0" href="#oke-star-empty"></use><use x="16.933333333333334" href="#oke-star-empty"></use><use x="33.86666666666667" href="#oke-star-empty"></use><use x="50.8" href="#oke-star-empty"></use><use x="67.73333333333333" href="#oke-star-empty"></use></svg></div><div class="oke-stars-foreground" style="width: 96.4534%;"><svg height="12" viewBox="0 0 82.33333333333331 14" aria-hidden="true" role="none"><use x="0" href="#oke-star-filled"></use><use x="16.933333333333334" href="#oke-star-filled"></use><use x="33.86666666666667" href="#oke-star-filled"></use><use x="50.8" href="#oke-star-filled"></use><use x="67.73333333333333" href="#oke-star-filled"></use></svg></div><span class="oke-a11yText">Rated 4.8 out of 5 stars</span></div></div><div class="oke-sr-count"><span class="oke-sr-count-number">4.8</span><span class="oke-sr-label-text"> / 5</span><!----></div><!----></div>
4372<script type="application/json" data-oke-metafield-data=""> {"averageRating":"4.8","reviewCount":40} </script>
4372</div></div>
4373
4374      
4375    </div>
4376    
4377
4378
4379        
4380
4381
4382
4383
4384<button class="h-10 w-full lg:min-w-[200px] min-h-[24px] lg:h-[45px] font-bold lg:text-subheading-2 text-subheading-2-mob tracking-[10%] leading-[110%] text-center border border-black flex justify-center items-center cursor-pointer px-auto group bg-mint-green hover:bg-white transition-all ease-in-out duration-500" type="submit" >
4385    
4386  <span class=" w-full flex justify-between items-center px-2 lg:px-4 uppercase leading-[110%] uppercase">
4387    
4388  
4389    <span class="leading-[110%]">
4390      <span class="lg:hidden">ADD</span>
4391      <span class="max-lg:hidden">Add to Bag</span>
4392    </span>
4393  
4394  <span data-mini-price class="flex flex-col items-end gap-0.5 leading-[110%]">
4395    <span>
4396      
4397 <span>$72.50</span>
4398
4399    </span>
4400    
4401  </span>
4402
4403  </span>
4404  
4405
4406  </button>
4407      
4408<input type="hidden" name="product-id" value="9257895750" /><input type="hidden" name="section-id" value="template--17672948514875__product_slider_Qjy8qa" /></form>
4409</div>
4410
4411          </li>
4412        
4413          <li class="splide__slide group/slide">
4414            
4415
4416
4417<div class="h-full justify-between flex flex-col gap-4 relative group/card" data-hover-play-parent><div class="relative w-full">
4418    <a href="/products/moisture-infusion-toner" class="flex flex-col gap-1">
4419      
4420<div class="relative overflow-hidden  aspect-[.81/1]" style="">
4421  <img src="//www.reneerouleau.com/cdn/shop/files/RR-Product-Moisture-Infusion-Toner-Soldier_4b4baaa0-0e22-4a4e-8bfc-1ffd60a449b9.jpg?v=1776702589" alt="Moisture Infusion Toner" width="1360" height="1640" loading="lazy" sizes="(min-width: 1650px) 506px, (min-width: 990px) calc((100vw - 130px) / 3), (min-width: 750px) calc((100vw - 120px) / 3), calc((100vw - 35px) / 1)" srcset="
4422//www.reneerouleau.com/cdn/shop/files/RR-Product-Moisture-Infusion-Toner-Soldier_4b4baaa0-0e22-4a4e-8bfc-1ffd60a449b9.jpg?v=1776702589&amp;width=165 165w,//www.reneerouleau.com/cdn/shop/files/RR-Product-Moisture-Infusion-Toner-Soldier_4b4baaa0-0e22-4a4e-8bfc-1ffd60a449b9.jpg?v=1776702589&amp;width=360 360w,//www.reneerouleau.com/cdn/shop/files/RR-Product-Moisture-Infusion-Toner-Soldier_4b4baaa0-0e22-4a4e-8bfc-1ffd60a449b9.jpg?v=1776702589&amp;width=533 533w,//www.reneerouleau.com/cdn/shop/files/RR-Product-Moisture-Infusion-Toner-Soldier_4b4baaa0-0e22-4a4e-8bfc-1ffd60a449b9.jpg?v=1776702589&amp;width=720 720w,//www.reneerouleau.com/cdn/shop/files/RR-Product-Moisture-Infusion-Toner-Soldier_4b4baaa0-0e22-4a4e-8bfc-1ffd60a449b9.jpg?v=1776702589&amp;width=940 940w,//www.reneerouleau.com/cdn/shop/files/RR-Product-Moisture-Infusion-Toner-Soldier_4b4baaa0-0e22-4a4e-8bfc-1ffd60a449b9.jpg?v=1776702589&amp;width=1066 1066w," style="object-fit:cover;
4423  width:100%;
4424  height: 100%;" fetchpriority="auto">
4425</div>
4426
4427      
4428<div class=" aspect-[.81/1] h-full absolute inset-0 z-20 pointer-events-none overflow-hidden transition-opacity duration-[250ms] ease-in-out opacity-0 delay-[1500ms] lg:delay-0 max-lg:group-[&.is-active]/slide:opacity-100 lg:group-hover/card:opacity-100">
4429          
4430            
4431<div class="relative overflow-hidden h-full w-full scale-100 lg:group-hover/card:scale-105 transition-[scale] duration-[3000ms] ease-out" style="">
4432  <img src="//www.reneerouleau.com/cdn/shop/files/RR-Product-Moisture-Infusion-Toner-Model_3ab29cbc-ef5b-4bc7-b77a-688cbbd9630a.jpg?v=1767726039" alt="RR Product Moisture Infusion Toner Model" width="1360" height="1640" loading="lazy" sizes="(min-width: 1650px) 506px, (min-width: 990px) calc((100vw - 130px) / 3), (min-width: 750px) calc((100vw - 120px) / 3), calc((100vw - 35px) / 1)" srcset="
4433//www.reneerouleau.com/cdn/shop/files/RR-Product-Moisture-Infusion-Toner-Model_3ab29cbc-ef5b-4bc7-b77a-688cbbd9630a.jpg?v=1767726039&amp;width=165 165w,//www.reneerouleau.com/cdn/shop/files/RR-Product-Moisture-Infusion-Toner-Model_3ab29cbc-ef5b-4bc7-b77a-688cbbd9630a.jpg?v=1767726039&amp;width=360 360w,//www.reneerouleau.com/cdn/shop/files/RR-Product-Moisture-Infusion-Toner-Model_3ab29cbc-ef5b-4bc7-b77a-688cbbd9630a.jpg?v=1767726039&amp;width=533 533w,//www.reneerouleau.com/cdn/shop/files/RR-Product-Moisture-Infusion-Toner-Model_3ab29cbc-ef5b-4bc7-b77a-688cbbd9630a.jpg?v=1767726039&amp;width=720 720w,//www.reneerouleau.com/cdn/shop/files/RR-Product-Moisture-Infusion-Toner-Model_3ab29cbc-ef5b-4bc7-b77a-688cbbd9630a.jpg?v=1767726039&amp;width=940 940w,//www.reneerouleau.com/cdn/shop/files/RR-Product-Moisture-Infusion-Toner-Model_3ab29cbc-ef5b-4bc7-b77a-688cbbd9630a.jpg?v=1767726039&amp;width=1066 1066w," style="object-fit:cover;
4434  width:100%;
4435  height: 100%;" fetchpriority="auto">
4436</div>
4437
4438          
4439        </div>
4440      
4441<span class=" absolute top-2.5 left-1 lg:left-2.5 px-2 py-0.5 lg:py-1 text-[11px] lg:text-subheading-2 font-light leading-[130%] uppercase z-30"></span>
4442    </a>
4443  </div>
4444  <a href="/products/moisture-infusion-toner" class="flex flex-col gap-1">
4445    <h3 class="text-subheading-1-mob lg:text-subheading-1 font-bold leading-[120%] lg:leading-[130%] tracking-[1.2px] lg:tracking-[1.6px] uppercase">Moisture Infusion Toner</h3>
4446    <span class="hidden lg:block text-subheading-4 font-light leading-[130%]">A serum-infused toner that delivers long-lasting hydration deep within the skin for a plump, dewy finish.</span>
4447    <span class="lg:hidden text-body-copy-mob font-light leading-[130%]">A serum-infused toner that delivers long-lasting hydration deep within the skin for a plump, dewy finish.</span>
4448  </a>
4449
4450  <form method="post" action="/cart/add" accept-charset="UTF-8" class=" mt-auto" enctype="multipart/form-data" data-product-form="true"><input type="hidden" name="form_type" value="product" /><input type="hidden" name="utf8" value="✓" />
4451    <input type="hidden" name="id" value="33887954438" />
4452    <div class="flex justify-between items-baseline pb-3 lg:pb-4">
4453       
4454<div class="mb-2" data-oke-star-rating data-oke-reviews-product-id="shopify-9257896198"><div data-oke-reviews-version="0.102.0" data-oke-container="" class="okeReviews oke-sr"><div class=""><div class="oke-sr-rating"> 5.0 </div><div class="oke-sr-stars"><div class="oke-stars"><!----><div class="oke-stars-background"><svg height="12" viewBox="0 0 82.33333333333331 14" aria-hidden="true" role="none"><use x="0" href="#oke-star-empty"></use><use x="16.933333333333334" href="#oke-star-empty"></use><use x="33.86666666666667" href="#oke-star-empty"></use><use x="50.8" href="#oke-star-empty"></use><use x="67.73333333333333" href="#oke-star-empty"></use></svg></div><div class="oke-stars-foreground" style="width: 100%;"><svg height="12" viewBox="0 0 82.33333333333331 14" aria-hidden="true" role="none"><use x="0" href="#oke-star-filled"></use><use x="16.933333333333334" href="#oke-star-filled"></use><use x="33.86666666666667" href="#oke-star-filled"></use><use x="50.8" href="#oke-star-filled"></use><use x="67.73333333333333" href="#oke-star-filled"></use></svg></div><span class="oke-a11yText">Rated 5.0 out of 5 stars</span></div></div><div class="oke-sr-count"><span class="oke-sr-count-number">5.0</span><span class="oke-sr-label-text"> / 5</span><!----></div><!----></div>
4454<script type="application/json" data-oke-metafield-data=""> {"averageRating":"5.0","reviewCount":51} </script>
4454</div></div>
4455
4456      
4457    </div>
4458    
4459
4460
4461        
4462
4463
4464
4465
4466<button class="h-10 w-full lg:min-w-[200px] min-h-[24px] lg:h-[45px] font-bold lg:text-subheading-2 text-subheading-2-mob tracking-[10%] leading-[110%] text-center border border-black flex justify-center items-center cursor-pointer px-auto group bg-mint-green hover:bg-white transition-all ease-in-out duration-500" type="submit" >
4467    
4468  <span class=" w-full flex justify-between items-center px-2 lg:px-4 uppercase leading-[110%] uppercase">
4469    
4470  
4471    <span class="leading-[110%]">
4472      <span class="lg:hidden">ADD</span>
4473      <span class="max-lg:hidden">Add to Bag</span>
4474    </span>
4475  
4476  <span data-mini-price class="flex flex-col items-end gap-0.5 leading-[110%]">
4477    <span>
4478      
4479 <span>$39.50</span>
4480
4481    </span>
4482    
4483  </span>
4484
4485  </span>
4486  
4487
4488  </button>
4489      
4490<input type="hidden" name="product-id" value="9257896198" /><input type="hidden" name="section-id" value="template--17672948514875__product_slider_Qjy8qa" /></form>
4491</div>
4492
4493          </li>
4494        
4495      </ul>
4496    </div>
4497  </div>
4498</div>
4499
4500
4501
4502</div><div id="shopify-section-template--17672948514875__faqs_WiyE7m" class="shopify-section">
4503
4504
4505<div class="py-10 px-8.5 bg-blush-light-pink">
4506  <h1 class="font-heading text-h1 font-medium leading-[100%] pb-8">FAQs</h1>
4507  <ul data-hc-body-click-toggle="faq" class="flex flex-col gap-4">
4508    
4509      
4510        
4511        <li class="border-b border-b-black pb-3">
4512          <div class="group flex justify-between items-center pr-2" data-hc-control="blue-color">
4513            <span class="lg:text-subheading-1 text-subheading-1-mob font-bold leading-[140%] lg:tracking-[1.6px] tracking-[1.2px] uppercase">Where does the blue color comes from?</span>
4514            <span class="group-[&.is-active]:hidden">+</span>
4515            <span class="hidden group-[&.is-active]:block">-</span>
4516          </div>
4517          <div data-hc-content="blue-color" class="">
4518            <span class="text-body-copy-mob lg:text-subheading-1 font-light leading-[140%] pb-2 [&_strong]:font-bold"><div class="metafield-rich_text_field"><p>The blue color comes from the gardenia extract.</p></div></span>
4519          </div>
4520        </li> 
4521      
4522        
4523        <li class="border-b border-b-black pb-3">
4524          <div class="group flex justify-between items-center pr-2" data-hc-control="can-i-use-this-product-if-i-m-pregnant-yes">
4525            <span class="lg:text-subheading-1 text-subheading-1-mob font-bold leading-[140%] lg:tracking-[1.6px] tracking-[1.2px] uppercase">Can I use this product if I’m pregnant?</span>
4526            <span class="group-[&.is-active]:hidden">+</span>
4527            <span class="hidden group-[&.is-active]:block">-</span>
4528          </div>
4529          <div data-hc-content="can-i-use-this-product-if-i-m-pregnant-yes" class="">
4530            <span class="text-body-copy-mob lg:text-subheading-1 font-light leading-[140%] pb-2 [&_strong]:font-bold"><div class="metafield-rich_text_field"><p>Yes. There are no ingredients in this product deemed unsafe to use during pregnancy.<br />
4531</p></div></span>
4532          </div>
4533        </li> 
4534      
4535        
4536        <li class="border-b border-b-black pb-3">
4537          <div class="group flex justify-between items-center pr-2" data-hc-control="acne">
4538            <span class="lg:text-subheading-1 text-subheading-1-mob font-bold leading-[140%] lg:tracking-[1.6px] tracking-[1.2px] uppercase">Can acne prone skin benefit from this?</span>
4539            <span class="group-[&.is-active]:hidden">+</span>
4540            <span class="hidden group-[&.is-active]:block">-</span>
4541          </div>
4542          <div data-hc-content="acne" class="">
4543            <span class="text-body-copy-mob lg:text-subheading-1 font-light leading-[140%] pb-2 [&_strong]:font-bold"><div class="metafield-rich_text_field"><p>Yes!</p></div></span>
4544          </div>
4545        </li> 
4546      
4547        
4548        <li class="border-b border-b-black pb-3">
4549          <div class="group flex justify-between items-center pr-2" data-hc-control="retinols">
4550            <span class="lg:text-subheading-1 text-subheading-1-mob font-bold leading-[140%] lg:tracking-[1.6px] tracking-[1.2px] uppercase">Can this be used with exfoliants/retinols?</span>
4551            <span class="group-[&.is-active]:hidden">+</span>
4552            <span class="hidden group-[&.is-active]:block">-</span>
4553          </div>
4554          <div data-hc-content="retinols" class="">
4555            <span class="text-body-copy-mob lg:text-subheading-1 font-light leading-[140%] pb-2 [&_strong]:font-bold"><div class="metafield-rich_text_field"><p>Yes, Skin Drink I.V. can be used with exfoliants and retinol. </p></div></span>
4556          </div>
4557        </li> 
4558       
4559    
4560  </ul>
4561  
4562</div>
4563
4564
4565
4566</div><div id="shopify-section-template--17672948514875__sticky_cta_nQP9Db" class="shopify-section">
4567
4568
4569
4570<div class="border-y border-y-black z-[90001] h-[60px] lg:h-[75px] justify-between px-2.5 lg:px-5 max-w-screen  fixed bottom-0 left-0 w-full bg-white hidden" data-sticky-cta=.main-atc>
4571  
4572  
4573    <div class="hidden lg:flex lg:w-full gap-3">
4574      
4575<div class="relative overflow-hidden aspect-[.83/1]" style="">
4576  <img src="//www.reneerouleau.com/cdn/shop/files/ReneeRouleau-SkinDrinkI.V.-1024x1024-Shadow.jpg?v=1777079077" alt="Skin Drink I.V." width="1024" height="1024" loading="lazy" sizes="(min-width: 1650px) 1520px, (min-width: 990px) calc((100vw - 130px) / 1), (min-width: 750px) calc((100vw - 120px) / 1), calc((100vw - 35px) / 1)" srcset="
4577//www.reneerouleau.com/cdn/shop/files/ReneeRouleau-SkinDrinkI.V.-1024x1024-Shadow.jpg?v=1777079077&amp;width=165 165w,//www.reneerouleau.com/cdn/shop/files/ReneeRouleau-SkinDrinkI.V.-1024x1024-Shadow.jpg?v=1777079077&amp;width=360 360w,//www.reneerouleau.com/cdn/shop/files/ReneeRouleau-SkinDrinkI.V.-1024x1024-Shadow.jpg?v=1777079077&amp;width=533 533w,//www.reneerouleau.com/cdn/shop/files/ReneeRouleau-SkinDrinkI.V.-1024x1024-Shadow.jpg?v=1777079077&amp;width=720 720w,//www.reneerouleau.com/cdn/shop/files/ReneeRouleau-SkinDrinkI.V.-1024x1024-Shadow.jpg?v=1777079077&amp;width=940 940w," style="object-fit:cover;
4578  width:100%;
4579  height: 100%;" fetchpriority="auto">
4580</div>
4581
4582      <h1 class="hidden lg:block font-heading text-h3-mob lg:text-h2 font-medium leading-[100%] py-3">Skin Drink I.V.</h1>
4583    </div>
4584     
4585
4586
4587<form method="post" action="/cart/add" accept-charset="UTF-8" class="sticky-product-form w-full flex items-center justify-between lg:justify-end" enctype="multipart/form-data" data-product-form="true" data-product-id="7574678405179" data-original-product-price="7250"><input type="hidden" name="form_type" value="product" /><input type="hidden" name="utf8" value="✓" />
4588  <input 
4589    type="hidden" 
4590    name="id" 
4591    value="43374648328251" 
4592  />
4593
4594  
4595    
4596      <input type="hidden" name="selling_plan" value="" data-selling-plan-input disabled>
4597    
4598  
4599    
4600  
4601  
4602    <div data-quantity-wrapper class="mr-3.5 lg:ml-9" >
4603      
4604        <div data-quantity class="border border-black flex justify-center items-stretch w-20 lg:w-[107px] h-[40px]">
4605          <button type="button" data-minus aria-label="Decrease quantity" class="flex items-center justify-center px-3 cursor-pointer select-none leading-none">-</button>
4606          <input
4607          type="number"
4608          name="quantity"
4609          value="1"
4610          min="1"
4611          class="bg-light flex-1 min-w-0 text-center"
4612          >
4613          <button type="button" data-plus aria-label="Increase quantity" class="flex items-center justify-center px-3 cursor-pointer select-none leading-none">+</button>
4614        </div>
4615      
4616    </div>
4617    
4618    <div data-atc-button >
4619      
4620
4621
4622
4623
4624<button class=" w-full lg:w-[274px] !h-[40px] lg:min-w-[200px] min-h-[24px] lg:h-[45px] font-bold lg:text-subheading-2 text-subheading-2-mob tracking-[10%] leading-[110%] text-center border border-black flex justify-center items-center cursor-pointer px-auto group bg-mint-green hover:bg-white transition-all ease-in-out duration-500" type="submit" >
4625    
4626  <span class=" w-full px-4 py-3 flex justify-between items-center leading-[110%] uppercase">
4627    
4628  
4629    <span class="leading-[110%]">ADD TO BAG</span>
4630  
4631  <span data-price data-atc-price class="leading-[110%]">
4632<span>$72.50</span> 
4633</span>
4634
4635  </span>
4636  
4637
4638  </button>
4639    </div>
4640    
4641    
4642      <div data-bis-container style="display:none">
4643        <button type="button" data-bis-open class="pf-bis_trigger w-full lg:w-[274px] !h-[40px] lg:min-w-[200px] min-h-[24px] font-bold lg:text-subheading-2 text-subheading-2-mob tracking-[10%] leading-[110%] text-center border border-black flex justify-center items-center cursor-pointer bg-black text-white hover:bg-blush-pink hover:text-black transition-all ease-in-out duration-500">
4644          <span class="w-full px-4 py-3 flex justify-center items-center uppercase">Notify Me</span>
4645        </button>
4646      </div>
4647    
4648    
4649
4650    
4650<script type="application/json" data-variant-availability>{ "43374648328251":true }
4651    </script>
4651
4652<input type="hidden" name="product-id" value="7574678405179" /><input type="hidden" name="section-id" value="template--17672948514875__sticky_cta_nQP9Db" /></form>
4653
4654  
4655
4656</div>
4657
4658
4659</div><div id="shopify-section-template--17672948514875__text_header_dfeU6V" class="shopify-section">
4660
4661<style>
4662  @media (min-width: 975px) and (max-width: 1074px) {
4663    .text-header { margin-top: 0 !important; }
4664  }
4665</style>
4666
4667<div class="bg-white py-7.5 lg:mt-[88px] text-header">
4668  <h1 class="text-h1-mob lg:text-h1 font-heading font-medium leading-[100%] text-center">Reviews</h1>
4669</div>
4670
4671
4672</div><div id="shopify-section-template--17672948514875__1760736964a4347936" class="shopify-section">
4673  
4674    <div id="shopify-block-AVTR4c3F2b0VRYW4yQ__okendo_reviews_widget_6DLGzA" class="shopify-block shopify-app-block">
4675
4676
4677
4678
4679<style data-oke-reviews-version="0.91.0" type="text/css" data-href="https://cdn-static.okendo.io/reviews-widget-plus/css/okendo-reviews-lib.65939eaa.css"></style><style data-oke-reviews-version="0.91.0" type="text/css" data-href="https://cdn-static.okendo.io/reviews-widget-plus/css/modules/okendo-widget.6aeb18ae.css"></style><style data-oke-reviews-version="0.91.0" type="text/css" data-href="https://cdn-static.okendo.io/reviews-widget-plus/css/modules/widget.386541eb.css"></style><style data-oke-reviews-version="0.91.0" type="text/css" data-href="https://cdn-static.okendo.io/reviews-widget-plus/css/modules/shared-components.c2ff03ce.css"></style><style data-oke-reviews-version="0.91.0" type="text/css" data-href="https://cdn-static.okendo.io/reviews-widget-plus/css/review-list/default.f346f6a0.css"></style><style data-oke-reviews-version="0.91.0" type="text/css" data-href="https://cdn-static.okendo.io/reviews-widget-plus/css/header-modules/rating-average.6f2ee529.css"></style><style data-oke-reviews-version="0.91.0" type="text/css" data-href="https://cdn-static.okendo.io/reviews-widget-plus/css/header-modules/rating-breakdown.a108ab46.css"></style><style data-oke-reviews-version="0.91.0" type="text/css" data-href="https://cdn-static.okendo.io/reviews-widget-plus/css/header-modules/recommends.826afd09.css"></style><style data-oke-reviews-version="0.91.0" type="text/css" data-href="https://cdn-static.okendo.io/reviews-widget-plus/css/review-templates/minimal.bd27b3ef.css"></style><style data-oke-reviews-version="0.91.0" type="text/css" data-href="https://cdn-static.okendo.io/reviews-widget-plus/css/modules/reviewer.05892934.css"></style><style data-oke-reviews-version="0.91.0" type="text/css" data-href="https://cdn-static.okendo.io/reviews-widget-plus/css/modules/attributes.b4237f39.css"></style><style data-oke-reviews-version="0.91.0" type="text/css" data-href="https://cdn-static.okendo.io/reviews-widget-plus/css/modules/review-basic-content.8974514e.css"></style><style data-oke-reviews-version="0.91.0" type="text/css" data-href="https://cdn-static.okendo.io/reviews-widget-plus/css/modules/helpful-voting.39996c12.css"></style><style data-oke-reviews-version="0.91.0" type="text/css" data-href="https://cdn-static.okendo.io/reviews-widget-plus/css/modules/avatar.89663c87.css"></style><style data-oke-reviews-version="0.91.0" type="text/css" data-href="https://cdn-static.okendo.io/reviews-widget-plus/css/modules/flag.143bbb7e.css"></style><link data-oke-reviews-version="0.91.0" rel="stylesheet" type="text/css" href="https://cdn-static.okendo.io/reviews-widget-plus-css-bundles/0-91-0/reviews-widget.6c158cd3fec0063e0cb0808e3ae87ee3.css">
4680<div
4681            data-oke-widget
4682            data-oke-reviews-product-id="shopify-7574678405179"
4683        >
4684            <div data-oke-reviews-version="0.104.2" aria-label="Rated 4.8 out of 5 stars Based on 9 reviews" data-oke-container="" tabindex="-1" role="region" class="okeReviews oke-w"><div class="js-oke-widgetSize oke-is-medium"><div class="oke-w-header"><div class="oke-w-header-content oke-w-header-content--verticalAlignTop oke-w-header-content--left"><div class="oke-w-header-content-block oke-w-header-content-block--oneThird oke-w-header-content-block--left"><div class="oke-w-header-content-module oke-w-header-content-module--left"><div class="oke-w-ratingAverageModule oke-w-ratingAverageModule--twoLine oke-w-ratingAverageModule--left"><div class="oke-w-ratingAverageModule-rating"><span class="oke-w-ratingAverageModule-rating-average"> 4.8 </span><span class="oke-w-ratingAverageModule-rating-stars"><div class="oke-stars"><!----><div class="oke-stars-background"><svg height="18" viewBox="0 0 79.22222222222221 14" aria-hidden="true" role="none"><use x="0" href="#oke-star-empty"></use><use x="16.155555555555555" href="#oke-star-empty"></use><use x="32.31111111111111" href="#oke-star-empty"></use><use x="48.46666666666667" href="#oke-star-empty"></use><use x="64.62222222222222" href="#oke-star-empty"></use></svg></div><div class="oke-stars-foreground" style="width: 96.3142%;"><svg height="18" viewBox="0 0 79.22222222222221 14" aria-hidden="true" role="none"><use x="0" href="#oke-star-filled"></use><use x="16.155555555555555" href="#oke-star-filled"></use><use x="32.31111111111111" href="#oke-star-filled"></use><use x="48.46666666666667" href="#oke-star-filled"></use><use x="64.62222222222222" href="#oke-star-filled"></use></svg></div><span class="oke-a11yText">Rated 4.8 out of 5 stars</span></div></span></div><div class="oke-w-ratingAverageModule-count"> Based on 9 reviews </div></div><!----><!----><!----><!----><!----><!----><!----><!----></div><div class="oke-w-header-content-module oke-w-header-content-module--left"><!----><div class="oke-w-breakdownModule oke-w-breakdownModule--contain"><div class="oke-w-breakdownModule-distribution"><div aria-hidden="true" class="oke-w-breakdownModule-distribution-label" style="grid-row: 1;"><span class="oke-w-breakdownModule-distribution-label-number"> 5 </span><span class="oke-w-breakdownModule-distribution-label-star"><div class="oke-stars">
4684<svg height="16" viewBox="0 0 14.599999999999998 14" aria-hidden="true" style="overflow: visible;"><use href="#oke-star-filled"></use></svg><!----><span class="oke-a11yText">Rated  out of 5 stars</span></div></span></div><div aria-hidden="true" class="oke-w-breakdownModule-distribution-bar" style="grid-row: 1; background-color: rgb(244, 244, 246);"><div class="oke-w-breakdownModule-distribution-bar-fill" style="width: 88.8889%; background-color: rgb(32, 217, 153);"></div></div><div aria-hidden="true" class="oke-w-breakdownModule-distribution-count" style="grid-row: 1;"> 8 </div><div tabindex="0" role="button" aria-label="Total 5 star reviews: 8. Filter by 5 star reviews" class="oke-w-breakdownModule-distribution-highlight oke-is-clickable" style="grid-row: 1;"></div><!----><div aria-hidden="true" class="oke-w-breakdownModule-distribution-label" style="grid-row: 2;"><span class="oke-w-breakdownModule-distribution-label-number"> 4 </span><span class="oke-w-breakdownModule-distribution-label-star"><div class="oke-stars"><svg height="16" viewBox="0 0 14.599999999999998 14" aria-hidden="true" style="overflow: visible;"><use href="#oke-star-filled"></use></svg><!----><span class="oke-a11yText">Rated  out of 5 stars</span></div></span></div><div aria-hidden="true" class="oke-w-breakdownModule-distribution-bar" style="grid-row: 2; background-color: rgb(244, 244, 246);"><div class="oke-w-breakdownModule-distribution-bar-fill" style="width: 0%; min-width: 0px; background-color: rgb(32, 217, 153);"></div></div><div aria-hidden="true" class="oke-w-breakdownModule-distribution-count" style="grid-row: 2;"> 0 </div><div tabindex="0" role="button" aria-label="Total 4 star reviews: 0. Filter by 4 star reviews" class="oke-w-breakdownModule-distribution-highlight oke-is-clickable" style="grid-row: 2;"></div><!----><div aria-hidden="true" class="oke-w-breakdownModule-distribution-label" style="grid-row: 3;"><span class="oke-w-breakdownModule-distribution-label-number"> 3 </span><span class="oke-w-breakdownModule-distribution-label-star"><div class="oke-stars"><svg height="16" viewBox="0 0 14.599999999999998 14" aria-hidden="true" style="overflow: visible;"><use href="#oke-star-filled"></use></svg><!----><span class="oke-a11yText">Rated  out of 5 stars</span></div></span></div><div aria-hidden="true" class="oke-w-breakdownModule-distribution-bar" style="grid-row: 3; background-color: rgb(244, 244, 246);"><div class="oke-w-breakdownModule-distribution-bar-fill" style="width: 11.1111%; background-color: rgb(32, 217, 153);"></div></div><div aria-hidden="true" class="oke-w-breakdownModule-distribution-count" style="grid-row: 3;"> 1 </div><div tabindex="0" role="button" aria-label="Total 3 star reviews: 1. Filter by 3 star reviews" class="oke-w-breakdownModule-distribution-highlight oke-is-clickable" style="grid-row: 3;"></div><!----><div aria-hidden="true" class="oke-w-breakdownModule-distribution-label" style="grid-row: 4;"><span class="oke-w-breakdownModule-distribution-label-number"> 2 </span><span class="oke-w-breakdownModule-distribution-label-star"><div class="oke-stars"><svg height="16" viewBox="0 0 14.599999999999998 14" aria-hidden="true" style="overflow: visible;"><use href="#oke-star-filled"></use></svg><!----><span class="oke-a11yText">Rated  out of 5 stars</span></div></span></div><div aria-hidden="true" class="oke-w-breakdownModule-distribution-bar" style="grid-row: 4; background-color: rgb(244, 244, 246);"><div class="oke-w-breakdownModule-distribution-bar-fill" style="width: 0%; min-width: 0px; background-color: rgb(32, 217, 153);"></div></div><div aria-hidden="true" class="oke-w-breakdownModule-distribution-count" style="grid-row: 4;"> 0 </div><div tabindex="0" role="button" aria-label="Total 2 star reviews: 0. Filter by 2 star reviews" class="oke-w-breakdownModule-distribution-highlight oke-is-clickable" style="grid-row: 4;"></div><!----><div aria-hidden="true" class="oke-w-breakdownModule-distribution-label" style="grid-row: 5;"><span class="oke-w-breakdownModule-distribution-label-number"> 1 </span><span class="oke-w-breakdownModule-distribution-label-star"><div class="oke-stars">
4684<svg height="16" viewBox="0 0 14.599999999999998 14" aria-hidden="true" style="overflow: visible;"><use href="#oke-star-filled"></use></svg><!----><span class="oke-a11yText">Rated  out of 5 stars</span></div></span></div><div aria-hidden="true" class="oke-w-breakdownModule-distribution-bar" style="grid-row: 5; background-color: rgb(244, 244, 246);"><div class="oke-w-breakdownModule-distribution-bar-fill" style="width: 0%; min-width: 0px; background-color: rgb(32, 217, 153);"></div></div><div aria-hidden="true" class="oke-w-breakdownModule-distribution-count" style="grid-row: 5;"> 0 </div><div tabindex="0" role="button" aria-label="Total 1 star reviews: 0. Filter by 1 star reviews" class="oke-w-breakdownModule-distribution-highlight oke-is-clickable" style="grid-row: 5;"></div><!----></div></div><!----><!----><!----><!----><!----><!----><!----></div></div><div class="oke-w-header-content-block oke-w-header-content-block--oneThird oke-w-header-content-block--left"><div class="oke-w-header-content-module oke-w-header-content-module--left"><!----><!----><div class="oke-w-recommendsModule"><strong class="oke-w-recommendsModule-value">89%</strong><span class="oke-w-recommendsModule-text">would recommend this product</span></div><!----><!----><!----><!----><!----><!----></div></div></div></div><!----><div class="oke-w-main"><div id="reviews-panel-3b9f7e7d-f48e-42e8-b205-7b3745d0ae9a" aria-label="Reviews" role="tabpanel" class="oke-w-panel"><div class="oke-w-reviewsTab"><div class="oke-w-reviews"><div class="oke-w-reviews-head"><button aria-expanded="false" aria-controls="filter-options" id="filter-toggle" type="button" class="oke-button oke-w-reviews-filterToggle"><span class="oke-icon"></span><span class="oke-button-text"> Filters <!----></span></button><div id="filter-options" aria-labelledby="filter-toggle" role="region" class="oke-w-reviews-filters"><!----></div><div class="oke-w-reviews-writeReview"><a href="https://okendo.reviews/?subscriberId=d5db87f4-eb03-4047-97d5-338e742a9473&amp;productId=shopify-7574678405179&amp;locale=en&amp;okeChannel=reviews-widget-write-review-button" target="_blank" rel="noopener" class="oke-w-writeReview oke-button"> Write a Review <span class="oke-a11yText">(Opens in a new window)</span></a></div></div><div class="oke-w-reviews-controls"><div class="oke-w-reviews-count"> 9 reviews </div><div class="oke-w-reviews-sort"><div class="oke-sortSelect" medialayout="hidden"><label for="oke-sortSelect--reviews" class="oke-sortSelect-label"> Sort </label><select id="oke-sortSelect--reviews" aria-label="Sort" class="oke-sortSelect-sort oke-select"><!----><option value="date desc">Most Recent</option><option value="date asc">Oldest</option><option value="helpful desc">Most Helpful</option><!----><option value="rating desc" selected="true">Highest Rating</option><option value="rating asc">Lowest Rating</option><option value="unhelpful desc">Least Helpful</option></select></div></div></div><div class="oke-w-reviews-main oke-w-reviews-main--nav-divider"><ul class="oke-w-reviews-list" widgetwidth="784" canloadmore="true"><li class="oke-w-reviews-list-item"><div class="oke-w-reviewMinimal"><div class="oke-w-reviewMinimal-head"><div class="oke-w-reviewMinimal-reviewer"><div class="oke-w-reviewer"><div class="oke-w-reviewer-avatar"><div class="oke-avatar"><strong class="oke-avatar-placeholder"> JF </strong><!----><!----></div></div><div><div class="oke-w-reviewer-identity"><strong class="oke-w-reviewer-name"> Jessica F. </strong><!----></div><div class="oke-w-reviewer-verified"> Verified Reviewer <span class="oke-w-reviewer-verified-icon"></span></div><!----></div></div></div><div class="oke-w-reviewMinimal-date"> 1 month ago </div></div><!----><!----><div class="oke-w-reviewMinimal-content"><div class="oke-reviewContainer"><div class="oke-reviewContent oke-reviewContent--left"><div class="oke-reviewContent-top"><div class="oke-reviewContent-stars"><div class="oke-stars"><!----><div class="oke-stars-background"><svg height="21" viewBox="0 0 78.33333333333333 14" aria-hidden="true" role="none"><use x="0" href="#oke-star-empty"></use><use x="15.933333333333334" href="#oke-star-empty"></use><use x="31.866666666666667" href="#oke-star-empty"></use><use x="47.8" href="#oke-star-empty"></use><use x="63.733333333333334" href="#oke-star-empty"></use></svg></div><div class="oke-stars-foreground" style="width: 100%;"><svg height="21" viewBox="0 0 78.33333333333333 14" aria-hidden="true" role="none"><use x="0" href="#oke-star-filled"></use><use x="15.933333333333334" href="#oke-star-filled"></use><use x="31.866666666666667" href="#oke-star-filled"></use><use x="47.8" href="#oke-star-filled"></use><use x="63.733333333333334" href="#oke-star-filled"></use></svg></div><span class="oke-a11yText">Rated 5 out of 5 stars</span></div></div><!----></div><div role="heading" aria-level="2" class="oke-reviewContent-title oke-title">Loving this addition to my routine</div><div class="oke-reviewContent-body oke-bodyText"><p>My skin is sensitive so I have to be careful about what I introduce to my routine. This really helps hydrate on days I'm not using actives, and doesn't make me break out like heavy moisturizers can. Now I just use this with Skin Recovery Lotion on top. I love it.</p></div><!----><button type="button" class="oke-reviewContent-readMore oke-readMore"><span class="oke-reviewContent-readMore-text oke-bodyText">Read More</span><span class="oke-a11yText">Read more about this review</span><!----></button></div><!----></div></div><!----><!----><div class="oke-w-reviewMinimal-footer"><div class="oke-footerBadges"><!----><!----><!----></div><div class="oke-w-review-helpful"><div class="oke-helpful"><span class="oke-helpful-label">Was this helpful?</span><div class="oke-helpful-vote"><button aria-pressed="false" type="button" tabindex="0" class="oke-helpful-vote-button oke-helpful-vote-button--positive"><span id="oke-helpful-vote-counter-positive-d5875135-7545-46d7-89b6-9b4933119fdf" class="oke-helpful-vote-counter"><span class="oke-a11yText">Yes, this review from Jessica F. was helpful.</span> 1 <span class="oke-a11yText">
4684person voted yes</span></span></button><button aria-pressed="false" type="button" tabindex="0" class="oke-helpful-vote-button oke-helpful-vote-button--negative"><span id="oke-helpful-vote-counter-negative-d5875135-7545-46d7-89b6-9b4933119fdf" class="oke-helpful-vote-counter"><span class="oke-a11yText">No, this review from Jessica F. was not helpful.</span> 0 <span class="oke-a11yText">people voted no</span></span></button></div></div></div></div><!----></div></li><li class="oke-w-reviews-list-item"><div class="oke-w-reviewMinimal"><div class="oke-w-reviewMinimal-head"><div class="oke-w-reviewMinimal-reviewer"><div class="oke-w-reviewer"><div class="oke-w-reviewer-avatar"><div class="oke-avatar"><strong class="oke-avatar-placeholder"> NR </strong><!----><!----></div></div><div><div class="oke-w-reviewer-identity"><strong class="oke-w-reviewer-name"> Natty R. </strong><!----></div><!----><!----></div></div></div><div class="oke-w-reviewMinimal-date"> 2 months ago </div></div><!----><!----><div class="oke-w-reviewMinimal-content"><div class="oke-reviewContainer"><div class="oke-reviewContent oke-reviewContent--left"><div class="oke-reviewContent-top"><div class="oke-reviewContent-stars"><div class="oke-stars"><!----><div class="oke-stars-background"><svg height="21" viewBox="0 0 78.33333333333333 14" aria-hidden="true" role="none"><use x="0" href="#oke-star-empty"></use><use x="15.933333333333334" href="#oke-star-empty"></use><use x="31.866666666666667" href="#oke-star-empty"></use><use x="47.8" href="#oke-star-empty"></use><use x="63.733333333333334" href="#oke-star-empty"></use></svg></div><div class="oke-stars-foreground" style="width: 100%;"><svg height="21" viewBox="0 0 78.33333333333333 14" aria-hidden="true" role="none"><use x="0" href="#oke-star-filled"></use><use x="15.933333333333334" href="#oke-star-filled"></use><use x="31.866666666666667" href="#oke-star-filled"></use><use x="47.8" href="#oke-star-filled"></use><use x="63.733333333333334" href="#oke-star-filled"></use></svg></div><span class="oke-a11yText">Rated 5 out of 5 stars</span></div></div><!----></div><div role="heading" aria-level="2" class="oke-reviewContent-title oke-title">Hello Hydration!</div><div class="oke-reviewContent-body oke-bodyText"><p>Skin Drink I.V. does exactly what it says it does! I have always struggled with static lines due to dehydration. I always blamed it on not getting enough water intake or too much wine lol but turns out my skin was just thirsty! My static lines are gone and my skin feels so hydrated all day!</p></div><!----><button type="button" class="oke-reviewContent-readMore oke-readMore"><span class="oke-reviewContent-readMore-text oke-bodyText">Read More</span><span class="oke-a11yText">Read more about this review</span><!----></button></div><!----></div></div><!----><!----><div class="oke-w-reviewMinimal-footer"><div class="oke-footerBadges"><!----><!----><!----></div><div class="oke-w-review-helpful"><div class="oke-helpful"><span class="oke-helpful-label">Was this helpful?</span><div class="oke-helpful-vote"><button aria-pressed="false" type="button" tabindex="0" class="oke-helpful-vote-button oke-helpful-vote-button--positive"><span id="oke-helpful-vote-counter-positive-0a2bb20b-5999-40d5-ac61-ff2406a9fc48" class="oke-helpful-vote-counter"><span class="oke-a11yText">Yes, this review from Natty R. was helpful.</span> 0 <span class="oke-a11yText">people voted yes</span></span></button><button aria-pressed="false" type="button" tabindex="0" class="oke-helpful-vote-button oke-helpful-vote-button--negative"><span id="oke-helpful-vote-counter-negative-0a2bb20b-5999-40d5-ac61-ff2406a9fc48" class="oke-helpful-vote-counter"><span class="oke-a11yText">No, this review from Natty R. was not helpful.</span> 0 <span class="oke-a11yText">people voted no</span></span></button></div></div></div></div><!----></div></li><li class="oke-w-reviews-list-item"><div class="oke-w-reviewMinimal"><div class="oke-w-reviewMinimal-head"><div class="oke-w-reviewMinimal-reviewer"><div class="oke-w-reviewer"><div class="oke-w-reviewer-avatar"><div class="oke-avatar"><strong class="oke-avatar-placeholder"> RS </strong><img alt="Profile picture for robert s." class="oke-avatar-image" style="opacity: 0;"><img alt="google logo" class="oke-avatar-icon" style="opacity: 0;"></div></div><div><div class="oke-w-reviewer-identity"><strong class="oke-w-reviewer-name"> robert s. </strong><!----></div><!----><!----></div></div></div><div class="oke-w-reviewMinimal-date"> 2 months ago </div></div><!----><!----><div class="oke-w-reviewMinimal-content"><div class="oke-reviewContainer"><div class="oke-reviewContent oke-is-truncated oke-reviewContent--left"><div class="oke-reviewContent-top"><div class="oke-reviewContent-stars"><div class="oke-stars"><!----><div class="oke-stars-background"><svg height="21" viewBox="0 0 78.33333333333333 14" aria-hidden="true" role="none"><use x="0" href="#oke-star-empty"></use><use x="15.933333333333334" href="#oke-star-empty"></use><use x="31.866666666666667" href="#oke-star-empty"></use><use x="47.8" href="#oke-star-empty"></use><use x="63.733333333333334" href="#oke-star-empty"></use></svg></div><div class="oke-stars-foreground" style="width: 100%;"><svg height="21" viewBox="0 0 78.33333333333333 14" aria-hidden="true" role="none"><use x="0" href="#oke-star-filled"></use><use x="15.933333333333334" href="#oke-star-filled"></use><use x="31.866666666666667" href="#oke-star-filled"></use><use x="47.8" href="#oke-star-filled"></use><use x="63.733333333333334" href="#oke-star-filled"></use></svg></div><span class="oke-a11yText">Rated 5 out of 5 stars</span></div></div><!----></div><div role="heading" aria-level="2" class="oke-reviewContent-title oke-title">Wow, this is awesome and just the improvement that needed to be made both for the skin drink concentrate and the hydration level to my face</div><div class="oke-reviewContent-body oke-bodyText" style="height: 130px;"><p>I'm skin type 2 combination sensitive and fair skinned, although very adept at what products I use when and why I didn't realize the hydration being the skin drink concentrate and my moisturizers after exfoliation was still lacking til I noticed and felt a difference immediately not only the hydration which will help my routine 4x a week nightly and even more on 3x pore serum when I go 2x exfoliation front and back with my routine and 2 hydrating moisturizers. Not only that but I noticed it is really n
4684on comedogenic and that is one of the things I look for in my t-zone and sensitive skin to avoid breakouts I rarely get (only usually for having either serum on too long and not showering it off and then cotton pads (this serves as a way of cleaning like foreo devices without the risky chance of damaging the device fibers for all the limited amount of things that are compatible with it, and saves money) you may look great for a couple weeks but then an incompatible cleanser and or serum ruins the device and  your skin barrier, only real use is using the back for turkey kneck  and under eye puffiness of crows feet btw.  We live in a visual 4d world where marketing is everywhere even in disguise I just like to look my best. </p><p>This is the pore and wrinkle version but for hydration which pairs perfectly as both are non tacky and non comedogenic. </p><p>I can't wait to see the results of consecutive days use and the long lasting amount in the bottle. Renee and the team should be extremely…</p></div><!----><button type="button" class="oke-reviewContent-readMore oke-readMore"><span class="oke-reviewContent-readMore-text oke-bodyText">Read More</span><span class="oke-a11yText">Read more about this review</span><!----></button></div><!----></div></div><!----><!----><div class="oke-w-reviewMinimal-footer"><div class="oke-footerBadges"><!----><!----><!----></div><div class="oke-w-review-helpful"><div class="oke-helpful"><span class="oke-helpful-label">Was this helpful?</span><div class="oke-helpful-vote"><button aria-pressed="false" type="button" tabindex="0" class="oke-helpful-vote-button oke-helpful-vote-button--positive"><span id="oke-helpful-vote-counter-positive-94feb416-e8b8-46b2-92ce-b17f010e2ff6" class="oke-helpful-vote-counter"><span class="oke-a11yText">Yes, this review from robert s. was helpful.</span> 0 <span class="oke-a11yText">people voted yes</span></span></button><button aria-pressed="false" type="button" tabindex="0" class="oke-helpful-vote-button oke-helpful-vote-button--negative"><span id="oke-helpful-vote-counter-negative-94feb416-e8b8-46b2-92ce-b17f010e2ff6" class="oke-helpful-vote-counter"><span class="oke-a11yText">No, this review from robert s. was not helpful.</span> 0 <span class="oke-a11yText">people voted no</span></span></button></div></div></div></div><!----></div></li><li class="oke-w-reviews-list-item"><div class="oke-w-reviewMinimal"><div class="oke-w-reviewMinimal-head"><div class="oke-w-reviewMinimal-reviewer"><div class="oke-w-reviewer"><div class="oke-w-reviewer-avatar"><div class="oke-avatar"><strong class="oke-avatar-placeholder"> EW </strong><!----><!----></div></div><div><div class="oke-w-reviewer-identity"><strong class="oke-w-reviewer-name"> Elyse W. </strong><!----></div><div class="oke-w-reviewer-verified"> Verified Buyer <span class="oke-w-reviewer-verified-icon"></span></div><!----></div></div></div><div class="oke-w-reviewMinimal-date"> 2 months ago </div></div><!----><!----><div class="oke-w-reviewMinimal-content"><div class="oke-reviewContainer"><div class="oke-reviewContent oke-reviewContent--left"><div class="oke-reviewContent-top"><div class="oke-reviewContent-stars"><div class="oke-stars"><!----><div class="oke-stars-background"><svg height="21" viewBox="0 0 78.33333333333333 14" aria-hidden="true" role="none"><use x="0" href="#oke-star-empty"></use><use x="15.933333333333334" href="#oke-star-empty"></use><use x="31.866666666666667" href="#oke-star-empty"></use><use x="47.8" href="#oke-star-empty"></use><use x="63.733333333333334" href="#oke-star-empty"></use></svg></div><div class="oke-stars-foreground" style="width: 100%;"><svg height="21" viewBox="0 0 78.33333333333333 14" aria-hidden="true" role="none"><use x="0" href="#oke-star-filled"></use><use x="15.933333333333334" href="#oke-star-filled"></use><use x="31.866666666666667" href="#oke-star-filled"></use><use x="47.8" href="#oke-star-filled"></use><use x="63.733333333333334" href="#oke-star-filled"></use></svg></div><span class="oke-a11yText">Rated 5 out of 5 stars</span></div></div><!----></div><div role="heading" aria-level="2" class="oke-reviewContent-title oke-title">Amazing!! I love it!</div><div class="oke-reviewContent-body oke-bodyText"><p>Umm can I just go ahead and take a bath in this?! I love it so much, I want to put it all over my body! LOL! I’ve noticed a difference in only two days. Can’t wait to see the long term results! </p></div><!----><button type="button" class="oke-reviewContent-readMore oke-readMore"><span class="oke-reviewContent-readMore-text oke-bodyText">Read More</span><span class="oke-a11yText">Read more about this review</span><!----></button></div><!----></div></div><!----><!----><div class="oke-w-reviewMinimal-footer"><div class="oke-footerBadges"><!----><!----><!----></div><div class="oke-w-review-helpful"><div class="oke-helpful"><span class="oke-helpful-label">Was this helpful?</span><div class="oke-helpful-vote"><button aria-pressed="false" type="button" tabindex="0" class="oke-helpful-vote-button oke-helpful-vote-button--positive"><span id="oke-helpful-vote-counter-positive-fba2f839-95eb-4486-8dcc-76aaebe5bca8" class="oke-helpful-vote-counter"><span class="oke-a11yText">Yes, this review from Elyse W. was helpful.</span> 0 <span class="oke-a11yText">people voted yes</span></span></button><button aria-pressed="false" type="button" tabindex="0" class="oke-helpful-vote-button oke-helpful-vote-button--negative"><span id="oke-helpful-vote-counter-negative-fba2f839-95eb-4486-8dcc-76aaebe5bca8" class="oke-helpful-vote-counter"><span class="oke-a11yText">No, this review from Elyse W. was not helpful.</span> 0 <span class="oke-a11yText">people voted no</span></span></button></div></div></div></div><!----></div></li><li class="oke-w-reviews-list-item"><div class="oke-w-reviewMinimal"><div class="oke-w-reviewMinimal-head"><div class="oke-w-reviewMinimal-reviewer"><div class="oke-w-reviewer"><div class="oke-w-reviewer-avatar"><div class="oke-avatar"><strong class="oke-avatar-placeholder"> CW </strong><!----><!----></div></div><div><div class="oke-w-reviewer-identity"><strong class="oke-w-reviewer-name"> Caroline W. </strong><!----></div><div class="oke-w-reviewer-verified"> Verified Reviewer <span class="oke-w-reviewer-verified-icon"></span></div><!----></div></div></div><div class="oke-w-reviewMinimal-date"> 2 months ago </div></div><!----><!----><div class="oke-w-reviewMinimal-content"><div class="oke-reviewContainer"><div class="oke-reviewContent oke-reviewContent--left"><div class="oke-reviewContent-top"><div class="oke-reviewContent-stars"><div class="oke-stars"><!----><div class="oke-stars-background"><svg height="21" viewBox="0 0 78.33333333333333 14" aria-hidden="true" role="none"><use x="0" href="#oke-star-empty"></use><use x="15.933333333333334" href="#oke-star-empty"></use><use x="31.866666666666667" href="#oke-star-empty"></use><use x="47.8" href="#oke-star-empty"></use><use x="63.733333333333334" href="#oke-star-empty"></use></svg></div><div class="oke-stars-foreground" style="width: 100%;"><svg height="21" viewBox="0 0 78.33333333333333 14" aria-hidden="true" role="none"><use x="0" href="#oke-star-filled"></use><use x="15.933333333333334" href="#oke-star-filled"></use><use x="31.866666666666667" href="#oke-star-filled"></use><use x="47.8" href="#oke-star-filled"></use><use x="63.733333333333334" href="#oke-star-filled"></use></svg></div><span class="oke-a11yText">Rated 5 out of 5 stars</span></div></div><!----></div><div role="heading" aria-level="2" class="oke-reviewContent-title oke-title">My thirsty skin LOVES this product!!</div><div class="oke-reviewContent-body oke-bodyText"><p>I am so dry and dehydrated, and also prone to redness. I instantly notice a plumping and calming effect after applying Skin Drink I.V. I have used so so many hydrating products on the market from many different price points and this is the first one where I actually have noticed a difference instantly and over time with fine lines and redness. A must have in my routine!!!</p></div><!----><button type="button" class="oke-reviewContent-readMore oke-readMore"><span class="oke-reviewContent-readMore-text oke-bodyText">Read More</span><span class="oke-a11yText">Read more about this review</span><!----></button></div><!----></div></div><!----><!----><div class="oke-w-reviewMinimal-footer"><div class="oke-footerBadges"><!----><!----><!----></div><div class="oke-w-review-helpful"><div class="oke-helpful"><span class="oke-helpful-label">Was this helpful?</span><div class="oke-helpful-vote"><button aria-pressed="false" type="button" tabindex="0" class="oke-helpful-vote-button oke-helpful-vote-button--positive"><span id="oke-helpful-vote-counter-positive-eb9f83ef-51e2-469f-a26e-c61d265bb4b8" class="oke-helpful-vote-counter"><span class="oke-a11yText">Yes, this review from Caroline W. was helpful.</span> 1 <span class="oke-a11yText">
4684person voted yes</span></span></button><button aria-pressed="false" type="button" tabindex="0" class="oke-helpful-vote-button oke-helpful-vote-button--negative"><span id="oke-helpful-vote-counter-negative-eb9f83ef-51e2-469f-a26e-c61d265bb4b8" class="oke-helpful-vote-counter"><span class="oke-a11yText">No, this review from Caroline W. was not helpful.</span> 0 <span class="oke-a11yText">people voted no</span></span></button></div></div></div></div><!----></div></li></ul><!----><div class="oke-w-reviews-alerts"><div aria-hidden="true" role="alert" aria-live="assertive" aria-atomic="true" class="oke-alert oke-alert--bottom"><div class="oke-alert-inner"> Loading... </div></div><div aria-hidden="true" role="alert" aria-live="assertive" aria-atomic="true" class="oke-alert oke-alert--top"><div class="oke-alert-inner"> Loading... </div></div></div></div><div class="oke-w-reviews-footer"><div class="oke-showMore"><button type="button" aria-label="Show more reviews" tabindex="0" class="oke-showMore-button oke-button"><span class="oke-showMore-button-text oke-button-text"> Show More </span></button></div></div><span role="status" aria-live="polite" class="oke-a11yText"></span></div></div><!----></div></div></div>
4684<script type="application/json" data-oke-metafield-data=""> {"areReviewsGrouped":false,"chatAssistant":{"reviewCount":9},"media":[],"productAttributes":[],"questionCount":0,"reviewAggregate":{"dateUpdated":"2026-09-14T13:24:43.013Z","mediaCount":0,"productId":"shopify-7574678405179","productName":"Skin Drink I.V.","ratingAndReviewCount":9,"ratingAndReviewCountByLevel":{"level3Count":1,"level5Count":8},"ratingAndReviewValuesTotal":43,"ratingCount":0,"ratingCountByLevel":{},"ratingValuesTotal":0,"recommendationCount":8,"replyCount":0,"replyWordsTotal":0,"reviewCount":9,"reviewCountByLevel":{"level3Count":1,"level5Count":8},"reviewRatingValuesTotal":43,"reviewWordsTotal":776,"subscriberId_productId":"d5db87f4-eb03-4047-97d5-338e742a9473:shopify-7574678405179","subscriberId":"d5db87f4-eb03-4047-97d5-338e742a9473"},"reviews":[{"subscriberId":"d5db87f4-eb03-4047-97d5-338e742a9473","reviewId":"d5875135-7545-46d7-89b6-9b4933119fdf","subscriberId_productId":"d5db87f4-eb03-4047-97d5-338e742a9473:shopify-7574678405179","productId":"shopify-7574678405179","body":"My skin is sensitive so I have to be careful about what I introduce to my routine. This really helps hydrate on days I'm not using actives, and doesn't make me break out like heavy moisturizers can. Now I just use this with Skin Recovery Lotion on top. I love it.","dateCreated":"2026-07-23T17:58:29.177Z","dateUpdated":"2026-07-23T17:58:29.177Z","helpfulCount":1,"isRecommended":true,"languageCode":"en","productHandle":"skin-drink-i-v","productImageUrl":"https://cdn.shopify.com/s/files/1/1594/4825/files/ReneeRouleau-SkinDrinkI.V.-1024x1024-Shadow_x280.jpg?v=1777079077","productName":"Skin Drink I.V.","productUrl":"//www.reneerouleau.com/products/skin-drink-i-v","rating":5,"reviewer":{"displayName":"Jessica F.","isVerified":true,"verifiedStatus":"Verified Reviewer"},"isIncentivized":false,"status":"approved","title":"Loving this addition to my routine","unhelpfulCount":0,"variantId":"43374648328251"},{"subscriberId":"d5db87f4-eb03-4047-97d5-338e742a9473","reviewId":"0a2bb20b-5999-40d5-ac61-ff2406a9fc48","subscriberId_productId":"d5db87f4-eb03-4047-97d5-338e742a9473:shopify-7574678405179","productId":"shopify-7574678405179","body":"Skin Drink I.V. does exactly what it says it does! I have always struggled with static lines due to dehydration. I always blamed it on not getting enough water intake or too much wine lol but turns out my skin was just thirsty! My static lines are gone and my skin feels so hydrated all day!","dateCreated":"2026-07-09T15:21:55.712Z","dateUpdated":"2026-07-09T15:21:55.712Z","helpfulCount":0,"isRecommended":true,"languageCode":"en","productHandle":"skin-drink-i-v","productImageUrl":"https://cdn.shopify.com/s/files/1/1594/4825/files/ReneeRouleau-SkinDrinkI.V.-1024x1024-Shadow_x280.jpg?v=1777079077","productName":"Skin Drink I.V.","productUrl":"//www.reneerouleau.com/products/skin-drink-i-v","rating":5,"reviewer":{"displayName":"Natty R.","isVerified":false},"isIncentivized":false,"status":"approved","title":"Hello Hydration!","unhelpfulCount":0,"variantId":"43374648328251"},{"subscriberId":"d5db87f4-eb03-4047-97d5-338e742a9473","reviewId":"94feb416-e8b8-46b2-92ce-b17f010e2ff6","subscriberId_productId":"d5db87f4-eb03-4047-97d5-338e742a9473:shopify-7574678405179","productId":"shopify-7574678405179","body":"I'm skin type 2 combination sensitive and fair skinned, although very adept at what products I use when and why I didn't realize the hydration being the skin drink concentrate and my moisturizers after exfoliation was still lacking til I noticed and felt a difference immediately not only the hydration which will help my routine 4x a week nightly and even more on 3x pore serum when I go 2x exfoliation front and back with my routine and 2 hydrating moisturizers. Not only that but I noticed it is really non comedogenic and that is one of the things I look for in my t-zone and sensitive skin to avoid breakouts I rarely get (only usually for having either serum on too long and not showering it off and then cotton pads (this serves as a way of cleaning like foreo devices without the risky chance of damaging the device fiber
4684s for all the limited amount of things that are compatible with it, and saves money) you may look great for a couple weeks but then an incompatible cleanser and or serum ruins the device and  your skin barrier, only real use is using the back for turkey kneck  and under eye puffiness of crows feet btw.  We live in a visual 4d world where marketing is everywhere even in disguise I just like to look my best. \nThis is the pore and wrinkle version but for hydration which pairs perfectly as both are non tacky and non comedogenic. \nI can't wait to see the results of consecutive days use and the long lasting amount in the bottle. Renee and the team should be extremely…","dateCreated":"2026-07-05T03:52:34.948Z","dateUpdated":"2026-07-05T03:53:02.094Z","helpfulCount":0,"isRecommended":true,"languageCode":"en","productHandle":"skin-drink-i-v","productImageUrl":"https://cdn.shopify.com/s/files/1/1594/4825/files/ReneeRouleau-SkinDrinkI.V.-1024x1024-Shadow_x280.jpg?v=1777079077","productName":"Skin Drink I.V.","productUrl":"//www.reneerouleau.com/products/skin-drink-i-v","rating":5,"reviewer":{"avatarUrl":"https://media-dynamic.okendo.io/images/d5db87f4-eb03-4047-97d5-338e742a9473/29b291aa-f997-4c30-9127-7addf179b204.jpg?d=160x160&crop=center","customAvatar":{"streamId":"29b291aa-f997-4c30-9127-7addf179b204","dynamicKey":"d5db87f4-eb03-4047-97d5-338e742a9473/29b291aa-f997-4c30-9127-7addf179b204"},"displayName":"robert s.","isVerified":false,"socialConnection":"google"},"isIncentivized":false,"status":"approved","title":"Wow, this is awesome and just the improvement that needed to be made both for the skin drink concentrate and the hydration level to my face","unhelpfulCount":0,"variantId":"43374648328251","isBodyTruncated":true},{"subscriberId":"d5db87f4-eb03-4047-97d5-338e742a9473","reviewId":"fba2f839-95eb-4486-8dcc-76aaebe5bca8","subscriberId_productId":"d5db87f4-eb03-4047-97d5-338e742a9473:shopify-7574678405179","productId":"shopify-7574678405179","body":"Umm can I just go ahead and take a bath in this?! I love it so much, I want to put it all over my body! LOL! I’ve noticed a difference in only two days. Can’t wait to see the long term results! ","dateCreated":"2026-06-28T20:50:18.003Z","dateUpdated":"2026-06-28T20:50:18.003Z","helpfulCount":0,"isRecommended":true,"languageCode":"en","productHandle":"skin-drink-i-v","productImageUrl":"https://cdn.shopify.com/s/files/1/1594/4825/files/ReneeRouleau-SkinDrinkI.V.-1024x1024-Shadow_x280.jpg?v=1777079077","productName":"Skin Drink I.V.","productUrl":"//www.reneerouleau.com/products/skin-drink-i-v","rating":5,"reviewer":{"displayName":"Elyse W.","isVerified":true},"isIncentivized":false,"status":"approved","title":"Amazing!! I love it!","unhelpfulCount":0,"variantId":"43374648328251"},{"subscriberId":"d5db87f4-eb03-4047-97d5-338e742a9473","reviewId":"eb9f83ef-51e2-469f-a26e-c61d265bb4b8","subscriberId_productId":"d5db87f4-eb03-4047-97d5-338e742a9473:shopify-7574678405179","productId":"shopify-7574678405179","body":"I am so dry and dehydrated, and also prone to redness. I instantly notice a plumping and calming effect after applying Skin Drink I.V. I have used so so many hydrating products on the market from many different price points and this is the first one where I actually have noticed a difference instantly and over time with fine lines and redness. A must have in my routine!!!","dateCreated":"2026-06-22T23:24:15.704Z","dateUpdated":"2026-06-22T23:24:15.704Z","helpfulCount":1,"isRecommended":true,"languageCode":"en","productHandle":"skin-drink-i-v","productImageUrl":"https://cdn.shopify.com/s/files/1/1594/4825/files/ReneeRouleau-SkinDrinkI.V.-1024x1024-Shadow_x280.jpg?v=1777079077","productName":"Skin Drink I.V.","productUrl":"//www.reneerouleau.com/products/skin-drink-i-v","rating":5,"reviewer":{"displayName":"Caroline W.","isVerified":true,"verifiedStatus":"Verified Reviewer"},"isIncentivized":false,"status":"approved","title":"My thirsty skin LOVES this product!!","unhelpfulCount":0,"variantId":"43374648328251"}],"reviewsKeywords":{"keywordTopics":[{"keywords":[{"name":"hydration","occurrences":5},{"name":"absorption","occurrences":1}],"topic":"Hydration"},{"keywords":[{"name":"texture","occurrences":3},{"name":"product texture","occurrences":1},{"name":"layering","occurrences":1}],"topic":"Texture"},{"keywords":[{"name":"fine lines","occurrences":2},{"name":"redness","occurrences":2},{"name":"static lines","occurrences":1}],"topic":"Skin Concerns"},{"keywords":[{"name":"effectiveness","occurrences":1},{"name":"quick results","occurrences":1},{"name":"results","occurrences":1}],"topic":"Performance"},{"keywords":[{"name":"non-comedogenic","occurrences":1}],"topic":"Skin Compatibility"},{"keywords":[{"name":"longevity","occurrences":1}],"topic":"Longevity"},{"keywords":[{"name":"value","occurrences":1}],"topic":"Value"}],"languageCode":"en"},"reviewsNextUrl":"https://api.okendo.io/v1/stores/d5db87f4-eb03-4047-97d5-338e742a9473/products/shopify-7574678405179/reviews?limit=5&orderBy=rating%20desc&lastEvaluated=%7B%22subscriberId%22%3A%22d5db87f4-eb03-4047-97d5-338e742a9473%22%2C%22subscriberId_productId%22%3A%22d5db87f4-eb03-4047-97d5-338e742a9473%3Ashopify-7574678405179%22%2C%22reviewId%22%3A%22eb9f83ef-51e2-469f-a26e-c61d265bb4b8%22%2C%22_rating_dateCreated%22%3A%225%3A2026-06-22T23%3A24%3A15.704Z%22%7D","sort":{"defaultSort":"rating desc"}} </script>
4684</div>
4684<script id="oke-widget-resize">!(function() { const widgets = document.querySelectorAll('.js-oke-widgetSize'); if (widgets && widgets.length) { if (!window.okeSetWidgetSizes) { window.okeSetWidgetSizes = (allWidgets) => { if (allWidgets) { allWidgets.forEach(widget => { const width = widget.getBoundingClientRect().width; widget.classList.remove('oke-is-small', 'oke-is-medium', 'oke-is-large'); widget.classList.add(width > 960 ? 'oke-is-large' : width > 640 ? 'oke-is-medium' : 'oke-is-small'); }); }  }; } if (!window.okeResizeObserver) { let okeMetafieldResizerTimer; window.okeResizeObserver = new ResizeObserver(entries => { if (entries && entries.length) { if (okeMetafieldResizerTimer) { clearTimeout(okeMetafieldResizerTimer); } okeMetafieldResizerTimer = window.setTimeout(() => { window.okeSetWidgetSizes(entries.map(e => e.target)); }, 100); } }); } window.okeSetWidgetSizes(document.querySelectorAll('.js-oke-widgetSize')); widgets.forEach((widget) => { window.okeResizeObserver.observe(widget); }); } })();</script>
4684
4685        </div>
4686
4687
4688</div>
4689  
4690
4691
4692
4693
4694</div>
4695    </main>
4696    <footer id="shopify-section-footer" class="shopify-section footer">
4697<div class="flex flex-col px-5 pt-20 pb-10 bg-sage-green h-full w-full gap-20">
4698  <div class="flex lg:flex-row flex-col gap-20">
4699    <div class="flex flex-col gap-6 lg:min-w-80 lg:justify-start justify-center lg:text-start text-center lg:items-start items-center">
4700      <div class="klaviyo-form-YqnRRP"></div>
4701    </div>
4702        <div class="flex lg:flex-row flex-col-reverse justify-center gap-[70px] text-center w-full uppercase">
4703          <ul class="lg:flex gap-[70px] lg:flex-row flex-col hidden">
4704            
4705              <li class="flex flex-col gap-4 text-start">
4706                
4707                  <span class="font-bold text-subheading-1-mob leading-[130%] tracking-[1.2px]">Company</span>
4708                  <ul>
4709                    
4710                      <li class="text-start">
4711                        <a class="font-light text-subheading-1-mob leading-[130%] tracking-[1.2px] uppercase" href="/pages/about">Our Story</a>
4712                      </li> 
4713                    
4714                      <li class="text-start">
4715                        <a class="font-light text-subheading-1-mob leading-[130%] tracking-[1.2px] uppercase" href="/pages/company-careers">Careers</a>
4716                      </li> 
4717                    
4718                      <li class="text-start">
4719                        <a class="font-light text-subheading-1-mob leading-[130%] tracking-[1.2px] uppercase" href="/pages/contact">Contact</a>
4720                      </li> 
4721                    
4722                  </ul>
4723                
4724              </li>
4725            
4726              <li class="flex flex-col gap-4 text-start">
4727                
4728                  <span class="font-bold text-subheading-1-mob leading-[130%] tracking-[1.2px]">Need A Hand?</span>
4729                  <ul>
4730                    
4731                      <li class="text-start">
4732                        <a class="font-light text-subheading-1-mob leading-[130%] tracking-[1.2px] uppercase" href="/pages/skin-type-quiz">Skin Type Quiz</a>
4733                      </li> 
4734                    
4735                      <li class="text-start">
4736                        <a class="font-light text-subheading-1-mob leading-[130%] tracking-[1.2px] uppercase" href="/pages/online-skincare-consultations">Ask an Esthetician </a>
4737                      </li> 
4738                    
4739                      <li class="text-start">
4740                        <a class="font-light text-subheading-1-mob leading-[130%] tracking-[1.2px] uppercase" href="/pages/skindex">Skindex</a>
4741                      </li> 
4742                    
4743                      <li class="text-start">
4744                        <a class="font-light text-subheading-1-mob leading-[130%] tracking-[1.2px] uppercase" href="/pages/pro">Become a pro partner</a>
4745                      </li> 
4746                    
4747                      <li class="text-start">
4748                        <a class="font-light text-subheading-1-mob leading-[130%] tracking-[1.2px] uppercase" href="/pages/customer-care-where-to-buy">Find a Pro Partner</a>
4749                      </li> 
4750                    
4751                  </ul>
4752                
4753              </li>
4754            
4755              <li class="flex flex-col gap-4 text-start">
4756                
4757                  <span class="font-bold text-subheading-1-mob leading-[130%] tracking-[1.2px]">Support</span>
4758                  <ul>
4759                    
4760                      <li class="text-start">
4761                        <a class="font-light text-subheading-1-mob leading-[130%] tracking-[1.2px] uppercase" href="/pages/shipping-delivery">Shipping & Delivery</a>
4762                      </li> 
4763                    
4764                      <li class="text-start">
4765                        <a class="font-light text-subheading-1-mob leading-[130%] tracking-[1.2px] uppercase" href="/policies/refund-policy">Return Policy</a>
4766                      </li> 
4767                    
4768                      <li class="text-start">
4769                        <a class="font-light text-subheading-1-mob leading-[130%] tracking-[1.2px] uppercase" href="/pages/customer-care-frequently-asked-questions">FAQs</a>
4770                      </li> 
4771                    
4772                  </ul>
4773                
4774              </li>
4775            
4776          </ul>
4777          <ul class="lg:hidden flex flex-col" data-hc-body-click-toggle="mob-footer-accordion">
4778            
4779              <li class="flex flex-col py-2 border-t border-t-black">
4780                
4781                  <div data-hc-control="company" class="group grid grid-cols-[1fr_auto] items-center">
4782                    <span class="font-bold text-subheading-1-mob leading-[130%] tracking-[1.2px]">Company</span>
4783                    <span class="group-[&.is-active]:rotate-180 transition-all justify-self-end">
4784
4785<span class="" >
4786  
4787        <svg xmlns="http://www.w3.org/2000/svg" width="11" height="6" viewBox="0 0 11 6" fill="none">
4788          <path d="M11 0H0L5.5 6L11 0Z" fill="black"/>
4789        </svg>
4790         
4791      
4792</span>
4793</span>
4794                  </div>
4795                  <div data-hc-content="company">
4796                    <ul>
4797                      
4798                        <li class="text-center">
4799                          <a class="font-light text-subheading-1-mob leading-[130%] tracking-[1.2px] uppercase" href="/pages/about">Our Story</a>
4800                        </li> 
4801                      
4802                        <li class="text-center">
4803                          <a class="font-light text-subheading-1-mob leading-[130%] tracking-[1.2px] uppercase" href="/pages/company-careers">Careers</a>
4804                        </li> 
4805                      
4806                        <li class="text-center">
4807                          <a class="font-light text-subheading-1-mob leading-[130%] tracking-[1.2px] uppercase" href="/pages/contact">Contact</a>
4808                        </li> 
4809                      
4810                    </ul>
4811                  </div>
4812                
4813              </li>
4814            
4815              <li class="flex flex-col py-2 border-t border-t-black">
4816                
4817                  <div data-hc-control="need-a-hand" class="group grid grid-cols-[1fr_auto] items-center">
4818                    <span class="font-bold text-subheading-1-mob leading-[130%] tracking-[1.2px]">Need A Hand?</span>
4819                    <span class="group-[&.is-active]:rotate-180 transition-all justify-self-end">
4820
4821<span class="" >
4822  
4823        <svg xmlns="http://www.w3.org/2000/svg" width="11" height="6" viewBox="0 0 11 6" fill="none">
4824          <path d="M11 0H0L5.5 6L11 0Z" fill="black"/>
4825        </svg>
4826         
4827      
4828</span>
4829</span>
4830                  </div>
4831                  <div data-hc-content="need-a-hand">
4832                    <ul>
4833                      
4834                        <li class="text-center">
4835                          <a class="font-light text-subheading-1-mob leading-[130%] tracking-[1.2px] uppercase" href="/pages/skin-type-quiz">Skin Type Quiz</a>
4836                        </li> 
4837                      
4838                        <li class="text-center">
4839                          <a class="font-light text-subheading-1-mob leading-[130%] tracking-[1.2px] uppercase" href="/pages/online-skincare-consultations">Ask an Esthetician </a>
4840                        </li> 
4841                      
4842                        <li class="text-center">
4843                          <a class="font-light text-subheading-1-mob leading-[130%] tracking-[1.2px] uppercase" href="/pages/skindex">Skindex</a>
4844                        </li> 
4845                      
4846                        <li class="text-center">
4847                          <a class="font-light text-subheading-1-mob leading-[130%] tracking-[1.2px] uppercase" href="/pages/pro">Become a pro partner</a>
4848                        </li> 
4849                      
4850                        <li class="text-center">
4851                          <a class="font-light text-subheading-1-mob leading-[130%] tracking-[1.2px] uppercase" href="/pages/customer-care-where-to-buy">Find a Pro Partner</a>
4852                        </li> 
4853                      
4854                    </ul>
4855                  </div>
4856                
4857              </li>
4858            
4859              <li class="flex flex-col py-2 border-t border-t-black">
4860                
4861                  <div data-hc-control="support" class="group grid grid-cols-[1fr_auto] items-center">
4862                    <span class="font-bold text-subheading-1-mob leading-[130%] tracking-[1.2px]">Support</span>
4863                    <span class="group-[&.is-active]:rotate-180 transition-all justify-self-end">
4864
4865<span class="" >
4866  
4867        <svg xmlns="http://www.w3.org/2000/svg" width="11" height="6" viewBox="0 0 11 6" fill="none">
4868          <path d="M11 0H0L5.5 6L11 0Z" fill="black"/>
4869        </svg>
4870         
4871      
4872</span>
4873</span>
4874                  </div>
4875                  <div data-hc-content="support">
4876                    <ul>
4877                      
4878                        <li class="text-center">
4879                          <a class="font-light text-subheading-1-mob leading-[130%] tracking-[1.2px] uppercase" href="/pages/shipping-delivery">Shipping & Delivery</a>
4880                        </li> 
4881                      
4882                        <li class="text-center">
4883                          <a class="font-light text-subheading-1-mob leading-[130%] tracking-[1.2px] uppercase" href="/policies/refund-policy">Return Policy</a>
4884                        </li> 
4885                      
4886                        <li class="text-center">
4887                          <a class="font-light text-subheading-1-mob leading-[130%] tracking-[1.2px] uppercase" href="/pages/customer-care-frequently-asked-questions">FAQs</a>
4888                        </li> 
4889                      
4890                    </ul>
4891                  </div>
4892                
4893              </li>
4894            
4895          </ul>
4896
4897          <div class="flex flex-col justify-center lg:justify-start gap-4">
4898            <span class="font-bold text-subheading-1-mob leading-[130%] tracking-[1.2px] lg:text-start">Follow Along</span>
4899            <ul class="flex justify-center"><li class=" mr-3">
4900      <a href="https://www.instagram.com/reneerouleauskincare/" class="">
4901
4902<span class="" >
4903  
4904        <svg xmlns="http://www.w3.org/2000/svg" width="15" height="15" viewBox="0 0 15 15" fill="none">
4905          <g clip-path="url(#clip0_1529_2775)">
4906            <path d="M11.4735 2.67627C10.9884 2.67627 10.5959 3.06871 10.5959 3.55381C10.5959 4.03891 10.9884 4.43136 11.4735 4.43136C11.9586 4.43136 12.351 4.03891 12.351 3.55381C12.351 3.06871 11.9586 2.67627 11.4735 2.67627Z" fill="black"/>
4907            <path d="M7.55995 3.80469C5.52143 3.80469 3.86446 5.46166 3.86446 7.50018C3.86446 9.5387 5.52143 11.1957 7.55995 11.1957C9.59847 11.1957 11.2554 9.5387 11.2554 7.50018C11.2554 5.46166 9.59847 3.80469 7.55995 3.80469ZM7.55995 9.86573C6.25726 9.86573 5.1944 8.80287 5.1944 7.50018C5.1944 6.19749 6.25726 5.13463 7.55995 5.13463C8.86264 5.13463 9.9255 6.19749 9.9255 7.50018C9.9255 8.80287 8.86264 9.86573 7.55995 9.86573Z" fill="black"/>
4908            <path d="M10.4924 15H4.50218C2.01672 15 -0.00544739 12.9778 -0.00544739 10.4924V4.50218C3.19351e-06 2.02217 2.02217 0 4.50763 0H10.4978C12.9833 0 15.0055 2.02217 15.0055 4.50763V10.4978C15.0055 12.9833 12.9833 15.0055 10.4978 15.0055L10.4924 15ZM4.50763 1.4117C2.8016 1.4117 1.4117 2.8016 1.4117 4.50763V10.4978C1.4117 12.2039 2.8016 13.5938 4.50763 13.5938H10.4978C12.2039 13.5938 13.5938 12.2039 13.5938 10.4978V4.50763C13.5938 2.8016 12.2039 1.4117 10.4978 1.4117H4.50763Z" fill="black"/>
4909          </g>
4910          <defs>
4911            <clipPath id="clip0_1529_2775">
4912              <rect width="15" height="15" fill="white"/>
4913            </clipPath>
4914          </defs>
4915        </svg>
4916      
4917      
4918</span>
4919<span class="hidden">Translation missing: en.general.social.instagram</span>
4920      </a>
4921    </li><li class=" mr-3">
4922      <a href="https://www.tiktok.com/@reneerouleauskincare" class="">
4923
4924<span class="" >
4925  
4926        <svg xmlns="http://www.w3.org/2000/svg" width="13" height="15" viewBox="0 0 13 15" fill="none">
4927          <g clip-path="url(#clip0_1529_2773)">
4928            <path d="M12.9951 6.06894C12.8689 6.07853 12.7476 6.08812 12.6214 6.08812C11.2524 6.08812 9.97573 5.40739 9.22816 4.27604V10.4409C9.22816 12.9577 7.16019 14.9999 4.61165 14.9999C2.06311 14.9999 0 12.9577 0 10.4409C0 7.92417 2.06796 5.88198 4.6165 5.88198C4.71359 5.88198 4.80583 5.89157 4.90291 5.89636V8.13989C4.81068 8.1303 4.71359 8.11113 4.6165 8.11113C3.31553 8.11113 2.26214 9.1514 2.26214 10.4362C2.26214 11.7209 3.31553 12.7612 4.6165 12.7612C5.91748 12.7612 7.06796 11.7497 7.06796 10.4649L7.09223 -0.00488281H9.26699C9.47087 1.92225 11.0437 3.42752 13 3.56655V6.06415" fill="black"/>
4929          </g>
4930          <defs>
4931            <clipPath id="clip0_1529_2773">
4932              <rect width="13" height="15" fill="white"/>
4933            </clipPath>
4934          </defs>
4935        </svg> 
4936
4937      
4938</span>
4939<span class="hidden">Translation missing: en.general.social.tiktok</span>
4940      </a>
4941    </li><li class=" mr-3">
4942      <a href="https://x.com/ReneeRouleau" class="">
4943
4944<span class="" >
4945  
4946</span>
4947<span class="hidden">Translation missing: en.general.social.twitter</span>
4948      </a>
4949    </li><li class=" mr-3">
4950      <a href="https://www.facebook.com/ReneeRouleauSkinCare" class="">
4951
4952<span class="" >
4953  
4954        <svg xmlns="http://www.w3.org/2000/svg" width="8" height="15" viewBox="0 0 8 15" fill="none">
4955          <g clip-path="url(#clip0_1529_2771)">
4956            <path d="M5.29456 15V8.4394H7.47408L7.88875 5.72275H5.29456V3.96073C5.29456 3.21936 5.65866 2.49323 6.81669 2.49323H7.99494V0.182803C7.99494 0.182803 6.92288 0 5.90139 0C3.76738 0 2.37168 1.29993 2.37168 3.65098V5.71767H0V8.43433H2.37674V14.9949H5.29962L5.29456 15Z" fill="black"/>
4957          </g>
4958          <defs>
4959            <clipPath id="clip0_1529_2771">
4960              <rect width="8" height="15" fill="white"/>
4961            </clipPath>
4962          </defs>
4963        </svg>
4964
4965      
4966</span>
4967<span class="hidden">Translation missing: en.general.social.facebook</span>
4968      </a>
4969    </li><li class=" mr-3">
4970      <a href="https://www.youtube.com/user/reneerouleau" class="">
4971
4972<span class="" >
4973  
4974        <svg xmlns="http://www.w3.org/2000/svg" width="22" height="15" viewBox="0 0 22 15" fill="none">
4975          <g clip-path="url(#clip0_1529_2769)">
4976            <path d="M22 4.70423C22 2.10563 19.8376 0 17.169 0H4.83103C2.16239 0 0 2.10563 0 4.70423V10.2958C0 12.8944 2.16239 15 4.83103 15H17.1762C19.8448 15 22.0072 12.8944 22.0072 10.2958V4.70423H22ZM14.739 7.91549L9.20644 10.5845C8.98948 10.6972 8.25181 10.5423 8.25181 10.3028V4.83099C8.25181 4.58451 8.99671 4.43662 9.21368 4.55634L14.5148 7.3662C14.739 7.48592 14.9704 7.80282 
497614.7462 7.92254L14.739 7.91549Z" fill="black"/>
4977          </g>
4978          <defs>
4979            <clipPath id="clip0_1529_2769">
4980              <rect width="22" height="15" fill="white"/>
4981            </clipPath>
4982          </defs>
4983        </svg>
4984      
4985      
4986</span>
4987<span class="hidden">Translation missing: en.general.social.youtube</span>
4988      </a>
4989    </li><li class="">
4990      <a href="https://www.pinterest.com/reneerouleauskincare/" class="">
4991
4992<span class="" >
4993  
4994        <svg xmlns="http://www.w3.org/2000/svg" width="12" height="15" viewBox="0 0 12 15" fill="none">
4995          <g clip-path="url(#clip0_1529_2767)">
4996            <path fill-rule="evenodd" clip-rule="evenodd" d="M5.01818 9.78412C5.00296 9.82833 4.99281 9.86271 4.98266 9.902C4.41438 12.0631 4.34841 12.5395 3.7649 13.5415C3.48584 14.0179 3.17125 14.4698 2.82622 14.902C2.78562 14.9511 2.75011 15.015 2.674 15.0002C2.58774 14.9806 2.58266 14.9069 2.57252 14.8431C2.48118 14.1849 2.42537 13.5317 2.45074 12.8686C2.48118 12.0042 2.59281 11.7095 3.73953 7.03363C3.75476 6.95996 3.73954 6.90102 3.71417 6.83717C3.44017 6.12007 3.38436 5.38825 3.62283 4.65151C4.14038 3.05524 6.01268 2.93245 6.33742 4.24876C6.54038 5.06408 6.00761 6.1299 5.59662 7.70161C5.25666 9.00318 6.83975 9.92656 8.18943 8.97371C9.43256 8.09945 9.91966 6.0022 9.82833 4.5189C9.64567 1.55721 6.29175 0.918699 4.16068 1.87155C1.72008 2.96192 1.16702 5.89414 2.26808 7.23009C2.41015 7.402 2.5167 7.50514 2.47104 7.67705C2.4 7.94719 2.33911 8.21732 2.263 8.48255C2.20719 8.67901 2.03467 8.75269 1.82664 8.66919C1.42072 8.51202 1.08076 8.26153 0.806766 7.93245C-0.12685 6.81261 -0.395771 4.59257 0.842283 2.71143C2.20719 0.628915 4.75433 -0.210967 7.0833 0.044436C9.86385 0.348955 11.6194 2.1908 11.9493 4.27332C12.1015 5.22616 11.9899 7.56899 10.6148 9.2242C9.03171 11.1299 6.4592 11.2527 5.27188 10.0837C5.18055 9.99532 5.10951 9.88726 5.01818 9.78412Z" fill="black"/>
4997          </g>
4998          <defs>
4999            <clipPath id="clip0_1529_2767">
5000              <rect width="12" height="15" fill="white"/>
5001            </clipPath>
5002          </defs>
5003        </svg>
5004      
5005      
5006</span>
5007<span class="hidden">Translation missing: en.general.social.pinterest</span>
5008      </a>
5009    </li></ul>
5010
5011          </div>
5012        </div>
5013  </div>
5014  <div>
5015    <div class="copyright flex flex-col lg:flex-row uppercase text-black font-light text-subheading-1-mob leading-[130%] tracking-[1.2px] w-full text-center justify-center">
5016      <span class="lg:mr-8">Copyright 2025 Renee Rouleau Inc. • 2120 West Braker Lane, Ste. F, Austin, TX 78758  •<tel> +1 (888) 211-7560</tel></span>
5017      <div class="flex gap-8 justify-center items-center">
5018        <a href="/policies/privacy-policy">Privacy Policy</a>
5019        <a href="/policies/terms-of-service">Terms of Use</a>
5020      </div>
5021    </div>
5022    <div class="disclaimer font-normal text-subheading-4 leading-[130%] text-black/50 w-full text-center mt-2.5">
5023      <span>Disclaimer: Content found on www.ReneeRouleau.com and Blog.ReneeRouleau.com, including text, images, audio, or other formats were created for informational purposes only. The Content is not intended to be a substitute for professional medical advice, diagnosis, or treatment. Always seek the advice of your physician or another qualified health provider with any questions you may have regarding a medical condition. Never disregard professional medical advice or delay in seeking it because of something you have read on this website or blog.</span>
5024    </div>
5025    <div class="mt-7 lg:mt-3 w-full">
5026      
5027        <ul class="flex gap-2 justify-center flex-wrap">
5028          
5029            <li>
5030              <svg xmlns="http://www.w3.org/2000/svg" role="img" viewBox="0 0 38 24" width="38" height="24" fill="none" aria-labelledby="pi-american_express"><title id="pi-american_express">American Express</title><rect x=".5" y=".5" width="37" height="23" rx="2.5" stroke="#000" stroke-opacity=".07" fill="none"/><path d="M35 0H3C1.3 0 0 1.3 0 3V21C0 22.7 1.4 24 3 24H35C36.7 24 38 22.7 38 21V3C38 1.3 36.6 0 35 0Z" fill="#0071CE" style="fill:#0071CE;fill:color(display-p3 0.0000 0.4431 0.8078);fill-opacity:1;"/>
5030<path d="M3 0.5H35C36.3348 0.5 37.5 1.58692 37.5 3V21C37.5 22.4239 36.4239 23.5 35 23.5H3C1.66524 23.5 0.5 22.4131 0.5 21V3C0.5 1.57614 1.57614 0.5 3 0.5Z" stroke="black" stroke-opacity="0.07" style="stroke:black;stroke-opacity:0.07;"/><path d="M25.8662 6.33203V3H31L31.8662 5.5332L32.7334 3H37V14.2002H36.7998L34.8672 16.2656L36.7998 18.3594H37V21.2666H33.5996L31.9336 19.3994L30.2002 21.2666H19.4668V12.666H16L20.2666 3H24.4004L25.8662 6.33203ZM20.5996 20.2656H27V18.5322H22.666V17.3994H26.8662V15.666H22.666V14.5322H27V12.7988H20.5996V20.2656ZM30.5332 16.5322L27 20.2656H29.5996L31.8662 17.8662L34.0664 20.2656H36.7324L33.1992 16.4658L36.7324 12.7988H34.1328L31.8662 15.1992L29.7324 12.7988H27L30.5332 16.5322ZM17.666 11.7324H19.9326L20.5332 10.1992H23.999L24.666 11.7324H26.999L23.666 4.19922H20.999L17.666 11.7324ZM33.5996 4.19922L31.9326 8.86621L30.1992 4.19922H27V11.666H29.0664V6.39941L31 11.666H32.7998L34.7324 6.39941V11.666H36.7324V4.13281L33.5996 4.19922ZM23.2656 8.46582H21.2656L22.2656 5.99902L23.2656 8.46582Z" fill="white" style="fill:white;fill-opacity:1;"/></svg>
5031
5032            </li>
5033          
5034            <li>
5035              <svg version="1.1" xmlns="http://www.w3.org/2000/svg" role="img" x="0" y="0" width="38" height="24" viewBox="0 0 165.521 105.965" xml:space="preserve" aria-labelledby="pi-apple_pay"><title id="pi-apple_pay">Apple Pay</title><path fill="#000" d="M150.698 0H14.823c-.566 0-1.133 0-1.698.003-.477.004-.953.009-1.43.022-1.039.028-2.087.09-3.113.274a10.51 10.51 0 0 0-2.958.975 9.932 9.932 0 0 0-4.35 4.35 10.463 10.463 0 0 0-.975 2.96C.113 9.611.052 10.658.024 11.696a70.22 70.22 0 0 0-.022 1.43C0 13.69 0 14.256 0 14.823v76.318c0 .567 0 1.132.002 1.699.003.476.009.953.022 1.43.028 1.036.09 2.084.275 3.11a10.46 10.46 0 0 0 .974 2.96 9.897 9.897 0 0 0 1.83 2.52 9.874 9.874 0 0 0 2.52 1.83c.947.483 1.917.79 2.96.977 1.025.183 2.073.245 3.112.273.477.011.953.017 1.43.02.565.004 1.132.004 1.698.004h135.875c.565 0 1.132 0 1.697-.004.476-.002.952-.009 1.431-.02 1.037-.028 2.085-.09 3.113-.273a10.478 10.478 0 0 0 2.958-.977 9.955 9.955 0 0 0 4.35-4.35c.483-.947.789-1.917.974-2.96.186-1.026.246-2.074.274-3.11.013-.477.02-.954.022-1.43.004-.567.004-1.132.004-1.699V14.824c0-.567 0-1.133-.004-1.699a63.067 63.067 0 0 0-.022-1.429c-.028-1.038-.088-2.085-.274-3.112a10.4 10.4 0 0 0-.974-2.96 9.94 9.94 0 0 0-4.35-4.35A10.52 10.52 0 0 0 156.939.3c-1.028-.185-2.076-.246-3.113-.274a71.417 71.417 0 0 0-1.431-.022C151.83 0 151.263 0 150.698 0z" /><path fill="#FFF" d="M150.698 3.532l1.672.003c.452.003.905.008 1.36.02.793.022 1.719.065 2.583.22.75.135 1.38.34 1.984.648a6.392 6.392 0 0 1 2.804 2.807c.306.6.51 1.226.645 1.983.154.854.197 1.783.218 2.58.013.45.019.9.02 1.36.005.557.005 1.113.005 1.671v76.318c0 .558 0 1.114-.004 1.682-.002.45-.008.9-.02 1.35-.022.796-.065 1.725-.221 2.589a6.855 6.855 0 0 1-.645 1.975 6.397 6.397 0 0 1-2.808 2.807c-.6.306-1.228.511-1.971.645-.881.157-1.847.2-2.574.22-.457.01-.912.017-1.379.019-.555.004-1.113.004-1.669.004H14.801c-.55 0-1.1 0-1.66-.004a74.993 74.993 0 0 1-1.35-.018c-.744-.02-1.71-.064-2.584-.22a6.938 6.938 0 0 1-1.986-.65 6.337 6.337 0 0 1-1.622-1.18 6.355 6.355 0 0 1-1.178-1.623 6.935 6.935 0 0 1-.646-1.985c-.156-.863-.2-1.788-.22-2.578a66.088 66.088 0 0 1-.02-1.355l-.003-1.327V14.474l.002-1.325a66.7 66.7 0 0 1 .02-1.357c.022-.792.065-1.717.222-2.587a6.924 6.924 0 0 1 .646-1.981c.304-.598.7-1.144 1.18-1.623a6.386 6.386 0 0 1 1.624-1.18 6.96 6.96 0 0 1 1.98-.646c.865-.155 1.792-.198 2.586-.22.452-.012.905-.017 1.354-.02l1.677-.003h135.875" /><g><g><path fill="#000" d="M43.508 35.77c1.404-1.755 2.356-4.112 2.105-6.52-2.054.102-4.56 1.355-6.012 3.112-1.303 1.504-2.456 3.959-2.156 6.266 2.306.2 4.61-1.152 6.063-2.858" /><path fill="#000" d="M45.587 39.079c-3.35-.2-6.196 1.9-7.795 1.9-1.6 0-4.049-1.8-6.698-1.751-3.447.05-6.645 2-8.395 5.1-3.598 6.2-.95 15.4 2.55 20.45 1.699 2.5 3.747 5.25 6.445 5.151 2.55-.1 3.549-1.65 6.647-1.65 3.097 0 3.997 1.65 6.696 1.6 2.798-.05 4.548-2.5 6.247-5 1.95-2.85 2.747-5.6 2.797-5.75-.05-.05-5.396-2.101-5.446-8.251-.05-5.15 4.198-7.6 4.398-7.751-2.399-3.548-6.147-3.948-7.447-4.048" /></g><g><path fill="#000" d="M78.973 32.11c7.278 0 12.347 5.017 12.347 12.321 0 7.33-5.173 12.373-12.529 12.373h-8.058V69.62h-5.822V32.11h14.062zm-8.24 19.807h6.68c5.07 0 7.954-2.729 7.954-7.46 0-4.73-2.885-7.434-7.928-7.434h-6.706v14.894z" />
5035<path fill="#000" d="M92.764 61.847c0-4.809 3.665-7.564 10.423-7.98l7.252-.442v-2.08c0-3.04-2.001-4.704-5.562-4.704-2.938 0-5.07 1.507-5.51 3.82h-5.252c.157-4.86 4.731-8.395 10.918-8.395 6.654 0 10.995 3.483 10.995 8.89v18.663h-5.38v-4.497h-.13c-1.534 2.937-4.914 4.782-8.579 4.782-5.406 0-9.175-3.222-9.175-8.057zm17.675-2.417v-2.106l-6.472.416c-3.64.234-5.536 1.585-5.536 3.95 0 2.288 1.975 3.77 5.068 3.77 3.95 0 6.94-2.522 6.94-6.03z" /><path fill="#000" d="M120.975 79.652v-4.496c.364.051 1.247.103 1.715.103 2.573 0 4.029-1.09 4.913-3.899l.52-1.663-9.852-27.293h6.082l6.863 22.146h.13l6.862-22.146h5.927l-10.216 28.67c-2.34 6.577-5.017 8.735-10.683 8.735-.442 0-1.872-.052-2.261-.157z" /></g></g></svg>
5036
5037            </li>
5038          
5039            <li>
5040              <svg viewBox="0 0 38 24" xmlns="http://www.w3.org/2000/svg" role="img" width="38" height="24" aria-labelledby="pi-diners_club"><title id="pi-diners_club">Diners Club</title><path opacity=".07" d="M35 0H3C1.3 0 0 1.3 0 3v18c0 1.7 1.4 3 3 3h32c1.7 0 3-1.3 3-3V3c0-1.7-1.4-3-3-3z"/><path fill="#fff" d="M35 1c1.1 0 2 .9 2 2v18c0 1.1-.9 2-2 2H3c-1.1 0-2-.9-2-2V3c0-1.1.9-2 2-2h32"/><path d="M12 12v3.7c0 .3-.2.3-.5.2-1.9-.8-3-3.3-2.3-5.4.4-1.1 1.2-2 2.3-2.4.4-.2.5-.1.5.2V12zm2 0V8.3c0-.3 0-.3.3-.2 2.1.8 3.2 3.3 2.4 5.4-.4 1.1-1.2 2-2.3 2.4-.4.2-.4.1-.4-.2V12zm7.2-7H13c3.8 0 6.8 3.1 6.8 7s-3 7-6.8 7h8.2c3.8 0 6.8-3.1 6.8-7s-3-7-6.8-7z" fill="#3086C8"/></svg>
5041            </li>
5042          
5043            <li>
5044              <svg viewBox="0 0 38 24" width="38" height="24" role="img" aria-labelledby="pi-discover" fill="none" xmlns="http://www.w3.org/2000/svg"><title id="pi-discover">Discover</title><path fill="#000" opacity=".07" d="M35 0H3C1.3 0 0 1.3 0 3v18c0 1.7 1.4 3 3 3h32c1.7 0 3-1.3 3-3V3c0-1.7-1.4-3-3-3z"/><path d="M35 1c1.1 0 2 .9 2 2v18c0 1.1-.9 2-2 2H3c-1.1 0-2-.9-2-2V3c0-1.1.9-2 2-2h32z" fill="#fff"/><path d="M3.57 7.16H2v5.5h1.57c.83 0 1.43-.2 1.96-.63.63-.52 1-1.3 1-2.11-.01-1.63-1.22-2.76-2.96-2.76zm1.26 4.14c-.34.3-.77.44-1.47.44h-.29V8.1h.29c.69 0 1.11.12 1.47.44.37.33.59.84.59 1.37 0 .53-.22 1.06-.59 1.39zm2.19-4.14h1.07v5.5H7.02v-5.5zm3.69 2.11c-.64-.24-.83-.4-.83-.69 0-.35.34-.61.8-.61.32 0 .59.13.86.45l.56-.73c-.46-.4-1.01-.61-1.62-.61-.97 0-1.72.68-1.72 1.58 0 .76.35 1.15 1.35 1.51.42.15.63.25.74.31.21.14.32.34.32.57 0 .45-.35.78-.83.78-.51 0-.92-.26-1.17-.73l-.69.67c.49.73 1.09 1.05 1.9 1.05 1.11 0 1.9-.74 1.9-1.81.02-.89-.35-1.29-1.57-1.74zm1.92.65c0 1.62 1.27 2.87 2.9 2.87.46 0 .86-.09 1.34-.32v-1.26c-.43.43-.81.6-1.29.6-1.08 0-1.85-.78-1.85-1.9 0-1.06.79-1.89 1.8-1.89.51 0 .9.18 1.34.62V7.38c-.47-.24-.86-.34-1.32-.34-1.61 0-2.92 1.28-2.92 2.88zm12.76.94l-1.47-3.7h-1.17l2.33 5.64h.58l2.37-5.64h-1.16l-1.48 3.7zm3.13 1.8h3.04v-.93h-1.97v-1.48h1.9v-.93h-1.9V8.1h1.97v-.94h-3.04v5.5zm7.29-3.87c0-1.03-.71-1.62-1.95-1.62h-1.59v5.5h1.07v-2.21h.14l1.48 2.21h1.32l-1.73-2.32c.81-.17 1.26-.72 1.26-1.56zm-2.16.91h-.31V8.03h.33c.67 0 1.03.28 1.03.82 0 .55-.36.85-1.05.85z" fill="#231F20"/><path d="M20.16 12.86a2.931 2.931 0 100-5.862 2.931 2.931 0 000 5.862z" fill="url(#pi-paint0_linear)"/><path opacity=".65" d="M20.16 12.86a2.931 2.931 0 100-5.862 2.931 2.931 0 000 5.862z" fill="url(#pi-paint1_linear)"/><path d="M36.57 7.506c0-.1-.07-.15-.18-.15h-.16v.48h.12v-.19l.14.19h.14l-.16-.2c.06-.01.1-.06.1-.13zm-.2.07h-.02v-.13h.02c.06 0 .09.02.09.06 0 .05-.03.07-.09.07z" fill="#231F20"/><path d="M36.41 7.176c-.23 0-.42.19-.42.42 0 .23.19.42.42.42.23 0 .42-.19.42-.42 0-.23-.19-.42-.42-.42zm0 .77c-.18 0-.34-.15-.34-.35 0-.19.15-.35.34-.35.18 0 .33.16.33.35 0 .19-.15.35-.33.35z" fill="#231F20"/><path d="M37 12.984S27.09 19.873 8.976 23h26.023a2 2 0 002-1.984l.024-3.02L37 12.985z" fill="#F48120"/><defs><linearGradient id="pi-paint0_linear" x1="21.657" y1="12.275" x2="19.632" y2="9.104" gradientUnits="userSpaceOnUse"><stop stop-color="#F89F20"/><stop offset=".25" stop-color="#F79A20"/><stop offset=".533" stop-color="#F68D20"/><stop offset=".62" stop-color="#F58720"/><stop offset=".723" stop-color="#F48120"/><stop offset="1" stop-color="#F37521"/></linearGradient><linearGradient id="pi-paint1_linear" x1="21.338" y1="12.232" x2="18.378" y2="6.446" gradientUnits="userSpaceOnUse"><stop stop-color="#F58720"/><stop offset=".359" stop-color="#E16F27"/><stop offset=".703" stop-color="#D4602C"/><stop offset=".982" stop-color="#D05B2E"/></linearGradient></defs></svg>
5045            </li>
5046          
5047            <li>
5048              <svg xmlns="http://www.w3.org/2000/svg" role="img" viewBox="0 0 38 24" width="38" height="24" aria-labelledby="pi-google_pay"><title id="pi-google_pay">Google Pay</title><path d="M35 0H3C1.3 0 0 1.3 0 3v18c0 1.7 1.4 3 3 3h32c1.7 0 3-1.3 3-3V3c0-1.7-1.4-3-3-3z" fill="#000" opacity=".07"/><path d="M35 1c1.1 0 2 .9 2 2v18c0 1.1-.9 2-2 2H3c-1.1 0-2-.9-2-2V3c0-1.1.9-2 2-2h32" fill="#FFF"/><path d="M18.093 11.976v3.2h-1.018v-7.9h2.691a2.447 2.447 0 0 1 1.747.692 2.28 2.28 0 0 1 .11 3.224l-.11.116c-.47.447-1.098.69-1.747.674l-1.673-.006zm0-3.732v2.788h1.698c.377.012.741-.135 1.005-.404a1.391 1.391 0 0 0-1.005-2.354l-1.698-.03zm6.484 1.348c.65-.03 1.286.188 1.778.613.445.43.682 1.03.65 1.649v3.334h-.969v-.766h-.049a1.93 1.93 0 0 1-1.673.931 2.17 2.17 0 0 1-1.496-.533 1.667 1.667 0 0 1-.613-1.324 1.606 1.606 0 0 1 .613-1.336 2.746 2.746 0 0 1 1.698-.515c.517-.02 1.03.093 1.49.331v-.208a1.134 1.134 0 0 0-.417-.901 1.416 1.416 0 0 0-.98-.368 1.545 1.545 0 0 0-1.319.717l-.895-.564a2.488 2.488 0 0 1 2.182-1.
504806zM23.29 13.52a.79.79 0 0 0 .337.662c.223.176.5.269.785.263.429-.001.84-.17 1.146-.472.305-.286.478-.685.478-1.103a2.047 2.047 0 0 0-1.324-.374 1.716 1.716 0 0 0-1.03.294.883.883 0 0 0-.392.73zm9.286-3.75l-3.39 7.79h-1.048l1.281-2.728-2.224-5.062h1.103l1.612 3.885 1.569-3.885h1.097z" fill="#5F6368"/><path d="M13.986 11.284c0-.308-.024-.616-.073-.92h-4.29v1.747h2.451a2.096 2.096 0 0 1-.9 1.373v1.134h1.464a4.433 4.433 0 0 0 1.348-3.334z" fill="#4285F4"/><path d="M9.629 15.721a4.352 4.352 0 0 0 3.01-1.097l-1.466-1.14a2.752 2.752 0 0 1-4.094-1.44H5.577v1.17a4.53 4.53 0 0 0 4.052 2.507z" fill="#34A853"/><path d="M7.079 12.05a2.709 2.709 0 0 1 0-1.735v-1.17H5.577a4.505 4.505 0 0 0 0 4.075l1.502-1.17z" fill="#FBBC04"/><path d="M9.629 8.44a2.452 2.452 0 0 1 1.74.68l1.3-1.293a4.37 4.37 0 0 0-3.065-1.183 4.53 4.53 0 0 0-4.027 2.5l1.502 1.171a2.715 2.715 0 0 1 2.55-1.875z" fill="#EA4335"/></svg>
5049
5050            </li>
5051          
5052            <li>
5053              <svg xmlns="http://www.w3.org/2000/svg" role="img" viewBox="0 0 38 24" width="38" height="24" fill="none" aria-labelledby="pi-master"><title id="pi-master">Mastercard</title><rect x=".5" y=".5" width="37" height="23" rx="2.5" stroke="#000" stroke-opacity=".07" fill="none"/><path d="M35 0H3C1.3 0 0 1.3 0 3V21C0 22.7 1.4 24 3 24H35C36.7 24 38 22.7 38 21V3C38 1.3 36.6 0 35 0Z" fill="#1C1C1C" style="fill:#1C1C1C;fill:color(display-p3 0.1098 0.1098 0.1098);fill-opacity:1;"/><path d="M35 1C36.1 1 37 1.9 37 3V21C37 22.1 36.1 23 35 23H3C1.9 23 1 22.1 1 21V3C1 1.9 1.9 1 3 1H35Z" fill="#232323" style="fill:#232323;fill:color(display-p3 0.1373 0.1373 0.1373);fill-opacity:1;"/><path d="M14.6364 19.2727C18.8538 19.2727 22.2727 15.8538 22.2727 11.6364C22.2727 7.41892 18.8538 4 14.6364 4C10.4189 4 7 7.41892 7 11.6364C7 15.8538 10.4189 19.2727 14.6364 19.2727Z" fill="#EB001B" style="fill:#EB001B;fill:color(display-p3 0.9216 0.0000 0.1059);fill-opacity:1;"/><path d="M23.3637 19.2727C27.5811 19.2727 31 15.8538 31 11.6364C31 7.41892 27.5811 4 23.3637 4C19.1462 4 15.7273 7.41892 15.7273 11.6364C15.7273 15.8538 19.1462 19.2727 23.3637 19.2727Z" fill="#F79E1B" style="fill:#F79E1B;fill:color(display-p3 0.9686 0.6196 0.1059);fill-opacity:1;"/><path d="M22.2727 11.6362C22.2727 9.01797 20.9637 6.72706 19 5.41797C17.0364 6.83615 15.7273 9.12706 15.7273 11.6362C15.7273 14.1452 17.0364 16.5452 19 17.8543C20.9637 16.5452 22.2727 14.2543 22.2727 11.6362Z" fill="#FF5F00" style="fill:#FF5F00;fill:color(display-p3 1.0000 0.3725 0.0000);fill-opacity:1;"/></svg>
5054
5055            </li>
5056          
5057            <li>
5058              <svg viewBox="0 0 38 24" xmlns="http://www.w3.org/2000/svg" width="38" height="24" role="img" aria-labelledby="pi-paypal"><title id="pi-paypal">PayPal</title><path opacity=".07" d="M35 0H3C1.3 0 0 1.3 0 3v18c0 1.7 1.4 3 3 3h32c1.7 0 3-1.3 3-3V3c0-1.7-1.4-3-3-3z"/><path fill="#fff" d="M35 1c1.1 0 2 .9 2 2v18c0 1.1-.9 2-2 2H3c-1.1 0-2-.9-2-2V3c0-1.1.9-2 2-2h32"/><path fill="#003087" d="M23.9 8.3c.2-1 0-1.7-.6-2.3-.6-.7-1.7-1-3.1-1h-4.1c-.3 0-.5.2-.6.5L14 15.6c0 .2.1.4.3.4H17l.4-3.4 1.8-2.2 4.7-2.1z"/><path fill="#3086C8" d="M23.9 8.3l-.2.2c-.5 2.8-2.2 3.8-4.6 3.8H18c-.3 0-.5.2-.6.5l-.6 3.9-.2 1c0 .2.1.4.3.4H19c.3 0 .5-.2.5-.4v-.1l.4-2.4v-.1c0-.2.3-.4.5-.4h.3c2.1 0 3.7-.8 4.1-3.2.2-1 .1-1.8-.4-2.4-.1-.5-.3-.7-.5-.8z"/><path fill="#012169" d="M23.3 8.1c-.1-.1-.2-.1-.3-.1-.1 0-.2 0-.3-.1-.3-.1-.7-.1-1.1-.1h-3c-.1 0-.2 
50580-.2.1-.2.1-.3.2-.3.4l-.7 4.4v.1c0-.3.3-.5.6-.5h1.3c2.5 0 4.1-1 4.6-3.8v-.2c-.1-.1-.3-.2-.5-.2h-.1z"/></svg>
5059            </li>
5060          
5061            <li>
5062              <svg xmlns="http://www.w3.org/2000/svg" role="img" viewBox="0 0 38 24" width="38" height="24" aria-labelledby="pi-shopify_pay"><title id="pi-shopify_pay">Shop Pay</title><path opacity=".07" d="M35 0H3C1.3 0 0 1.3 0 3v18c0 1.7 1.4 3 3 3h32c1.7 0 3-1.3 3-3V3c0-1.7-1.4-3-3-3z" fill="#000"/><path d="M35.889 0C37.05 0 38 .982 38 2.182v19.636c0 1.2-.95 2.182-2.111 2.182H2.11C.95 24 0 23.018 0 21.818V2.182C0 .982.95 0 2.111 0H35.89z" fill="#5A31F4"/><path d="M9.35 11.368c-1.017-.223-1.47-.31-1.47-.705 0-.372.306-.558.92-.558.54 0 .934.238 1.225.704a.079.079 0 00.104.03l1.146-.584a.082.082 0 00.032-.114c-.475-.831-1.353-1.286-2.51-1.286-1.52 0-2.464.755-2.464 1.956 0 1.275 1.15 1.597 2.17 1.82 1.02.222 1.474.31 1.474.705 0 .396-.332.582-.993.582-.612 0-1.065-.282-1.34-.83a.08.08 0 00-.107-.035l-1.143.57a.083.083 0 00-.036.111c.454.92 1.384 1.437 2.627 1.437 1.583 0 2.539-.742 2.539-1.98s-1.155-1.598-2.173-1.82v-.003zM15.49 8.855c-.65 0-1.224.232-1.636.646a.04.04 0 01-.069-.03v-2.64a.08.08 0 00-.08-.081H12.27a.08.08 0 00-.08.082v8.194a.08.08 0 00.08.082h1.433a.08.08 0 00.081-.082v-3.594c0-.695.528-1.227 1.239-1.227.71 0 1.226.521 1.226 1.227v3.594a.08.08 0 00.081.082h1.433a.08.08 0 00.081-.082v-3.594c0-1.51-.981-2.577-2.355-2.577zM20.753 8.62c-.778 0-1.507.24-2.03.588a.082.082 0 00-.027.109l.632 1.088a.08.08 0 00.11.03 2.5 2.5 0 011.318-.366c1.25 0 2.17.891 2.17 2.068 0 1.003-.736 1.745-1.669 1.745-.76 0-1.288-.446-1.288-1.077 0-.361.152-.657.548-.866a.08.08 0 00.032-.113l-.596-1.018a.08.08 0 00-.098-.035c-.799.299-1.359 1.018-1.359 1.984 0 1.46 1.152 2.55 2.76 2.55 1.877 0 3.227-1.313 3.227-3.195 0-2.018-1.57-3.492-3.73-3.492zM28.675 8.843c-.724 0-1.373.27-1.845.746-.026.027-.069.007-.069-.029v-.572a.08.08 0 00-.08-.082h-1.397a.08.08 0 00-.08.082v8.182a.08.08 0 00.08.081h1.433a.08.08 0 00.081-.081v-2.683c0-.036.043-.054.069-.03a2.6 2.6 0 001.808.7c1.682 0 2.993-1.373 2.993-3.157s-1.313-3.157-2.993-3.157zm-.271 4.929c-.956 0-1.681-.768-1.681-1.783s.723-1.783 1.681-1.783c.958 0 1.68.755 1.68 1.783 0 1.027-.713 1.783-1.681 1.783h.001z" fill="#fff"/></svg>
5063
5064            </li>
5065          
5066            <li>
5067              <svg viewBox="0 0 38 24" width="38" height="24" xmlns="http://www.w3.org/2000/svg" role="img" aria-labelledby="pi-venmo"><title id="pi-venmo">Venmo</title><g fill="none" fill-rule="evenodd"><rect fill-opacity=".07" fill="#000" width="38" height="24" rx="3"/><path fill="#3D95CE" d="M35 1c1.1 0 2 .9 2 2v18c0 1.1-.9 2-2 2H3c-1.1 0-2-.9-2-2V3c0-1.1.9-2 2-2h32"/><path d="M24.675 8.36c0 3.064-2.557 7.045-4.633 9.84h-4.74L13.4 6.57l4.151-.402 1.005 8.275c.94-1.566 2.099-4.025 2.099-5.702 0-.918-.154-1.543-.394-2.058l3.78-.783c.437.738.634 1.499.634 2.46z" fill="#FFF" fill-rule="nonzero"/></g></svg>
5068
5069            </li>
5070          
5071            <li>
5072              <svg xmlns="http://www.w3.org/2000/svg" role="img" viewBox="0 0 38 24" width="38" height="24" fill="none" aria-labelledby="pi-visa"><title id="pi-visa">Visa</title><rect x=".5" y=".5" width="37" height="23" rx="2.5" stroke="#000" stroke-opacity=".07" fill="none"/><path d="M35 0H3C1.3 0 0 1.3 0 3V21C0 22.7 1.4 24 3 24H35C36.7 24 38 22.7 38 21V3C38 1.3 36.6 0 35 0Z" fill="#142FBD" style="fill:#142FBD;fill:color(display-p3 0.0784 0.1843 0.7412);fill-opacity:1;"/><path d="M35 1C36.1 1 37 1.9 37 3V21C37 22.1 36.1 23 35 23H3C1.9 23 1 22.1 1 21V3C1 1.9 1.9 1 3 1H35Z" fill="#1532CB" style="fill:#1532CB;fill:color(display-p3 0.0824 0.1961 0.7961);fill-opacity:1;"/><path d="M29.5944 10.2167H29.2778C28.8556 11.2722 28.5389 11.8 28.2222 13.3833H30.2278C29.9111 11.8 29.9111 11.0611 29.5944 10.2167V10.2167ZM32.6556 16.4444H30.8611C30.7556 16.4444 30.7556 16.4444 30.65 16.3389L30.4389 15.3889L30.3333 15.1778H27.8C27.6944 15.1778 27.5889 15.1778 27.5889 15.3889L27.2722 16.3389C27.2722 16.4444 27.1667 16.4444 27.1667 16.4444H24.95L25.1611 15.9167L28.2222 8.73889C28.2222 8.21111 28.5389 8 29.0667 8H30.65C30.7556 8 30.8611 8 30.8611 8.21111L32.3389 15.0722C32.4444 15.4944 32.55 15.8111 32.55 16.2333C32.6556 16.3389 32.6556 16.3389 32.6556 16.4444V16.4444ZM18.5111 16.1278L18.9333 14.2278C19.0389 14.2278 19.1444 14.3333 19.1444 14.3333C19.8833 14.65 20.6222 14.8611 21.3611 14.7556C21.5722 14.7556 21.8889 14.65 22.1 14.5444C22.6278 14.3333 22.6278 13.8056 22.2056 13.3833C21.9944 13.1722 21.6778 13.0667 21.3611 12.8556C20.9389 12.6444 20.5167 12.4333 20.2 12.1167C18.9333 11.0611 19.3556 9.58333 20.0944 8.84444C20.7278 8.42222 21.0444 8 21.8889 8C23.1556 8 24.5278 8 25.1611 8.21111H25.2667C25.1611 8.84444 25.0556 9.37222 24.8444 10.0056C24.3167 9.79444 23.7889 9.58333 23.2611 9.58333C22.9444 9.58333 22.6278 9.58333 22.3111 9.68889C22.1 9.68889 21.9944 9.79444 21.8889 9.9C21.6778 10.1111 21.6778 10.4278 21.8889 10.6389L22.4167 11.0611C22.8389 11.2722 23.2611 11.4833 23.5778 11.6944C24.1056 12.0111 24.6333 12.5389 24.7389 13.1722C24.95 14.1222 24.6333 14.9667 23.7889 15.6C23.2611 16.0222 23.05 16.2333 22.3111 16.2333C20.8333 16.2333 19.6722 16.3389 18.7222 16.0222C18.6167 16.2333 18.6167 16.2333 18.5111 16.1278V16.1278ZM14.8167 16.4444C14.9222 15.7056 14.9222 15.7056 15.0278 15.3889C15.5556 13.0667 16.0833 10.6389 16.5056 8.31667C16.6111 8.10556 16.6111 8 16.8222 8H18.7222C18.5111 9.26667 18.3 10.2167 17.9833 11.3778C17.6667 12.9611 17.35 14.5444 16.9278 16.1278C16.9278 16.3389 16.8222 16.3389 16.6111 16.3389L14.8167 16.4444ZM5 8.21111C5 8.10556 5.21111 8 5.31667 8H8.90556C9.43333 8 9.85556 8.31667 9.96111 8.84444L10.9111 13.4889C10.9111 13.5944 10.9111 13.5944 11.0167 13.7C11.0167 13.5944 11.1222 13.5944 11.1222 13.5944L13.3389 8.21111C13.2333 8.10556 13.3389 8 13.4444 8H15.6611C15.6611 8.10556 15.6611 8.10556 15.5556 8.21111L12.2833 15.9167C12.1778 16.1278 12.1778 
507216.2333 12.0722 16.3389C11.9667 16.4444 11.7556 16.3389 11.5444 16.3389H9.96111C9.85556 16.3389 9.75 16.3389 9.75 16.1278L8.06111 9.58333C7.85 9.37222 7.53333 9.05556 7.11111 8.95C6.47778 8.63333 5.31667 8.42222 5.10556 8.42222L5 8.21111Z" fill="white" style="fill:white;fill-opacity:1;"/></svg>
5073
5074            </li>
5075          
5076        </ul> 
5077      
5078    </div>
5079  </div>
5080</div>
5081
5082
5083</footer>
5084
5085    
5086
5087
5088<script>
5089  window.addEventListener('load', function() {
5090    setTimeout(function() {
5091      (function(c,l,a,r,i,t,y){
5092        c[a]=c[a]||function(){(c[a].q=c[a].q||[]).push(arguments)};
5093        t=l.createElement(r);t.async=1;t.src="https://www.clarity.ms/tag/"+i;
5094        y=l.getElementsByTagName(r)[0];y.parentNode.insertBefore(t,y);
5095      })(window, document, "clarity", "script", "u511ok3ort");
5096    }, 2000);
5097  });
5098</script>
5098
5099
5100
5101<script>
5102  (function() {
5103    var gorgiasLoaded = false;
5104    function loadGorgias() {
5105      if (gorgiasLoaded) return;
5106      gorgiasLoaded = true;
5107      var container = document.getElementById('gorgias-chat-container');
5108      if (container) container.style.display = '';
5109
5110      var scripts = document.querySelectorAll('script[type="javascript/blocked"]');
5111      scripts.forEach(function(script) {
5112        if (script.src && script.src.indexOf('gorgias') !== -1) {
5113          var newScript = document.createElement('script');
5114          newScript.src = script.src;
5115          newScript.async = true;
5116          document.body.appendChild(newScript);
5117        }
5118      });
5119    }
5120
5121    var events = ['scroll', 'mousemove', 'touchstart', 'keydown'];
5122    var opts = { once: true, passive: true };
5123    events.forEach(function(evt) {
5124      window.addEventListener(evt, loadGorgias, opts);
5125    });
5126
5127    setTimeout(loadGorgias, 5000);
5128  })();
5129</script>
5129
5130
5131
5132
5133<script>
5134  var afterpay_product_selector = '#afterpay-message-container';
5135  var afterpay_js_language = "en";
5136  var afterpay_js_country = "US";
5137  var afterpay_shop_currency = "USD";
5138  var afterpay_cart_currency = "USD";
5139  var afterpay_shop_money_format = "${{amount}}";
5140  var afterpay_shop_permanent_domain = "renee-rouleau-quiz.myshopify.com";
5141  var afterpay_theme_name = "Live Theme (Do Not Unpublish)";
5142  var afterpay_product = {"id":7574678405179,"title":"Skin Drink I.V.","handle":"skin-drink-i-v","description":"\u003cp\u003eAn electrolyte-infused serum that floods thirsty skin cells with deep, lasting hydration.\u003c\/p\u003e","published_at":"2026-06-22T07:37:01-05:00","created_at":"2026-04-01T15:27:08-05:00","vendor":"Renée Rouleau Professional Skin Care","type":"","tags":[],"price":7250,"price_min":7250,"price_max":7250,"available":true,"price_varies":false,"compare_at_price":null,"compare_at_price_min":0,"compare_at_price_max":0,"compare_at_price_varies":false,"variants":[{"id":43374648328251,"title":"Default Title","option1":"Default Title","option2":null,"option3":null,"sku":"79494","requires_shipping":true,"taxable":true,"featured_image":null,"available":true,"name":"Skin Drink I.V.","public_title":null,"options":["Default Title"],"price":7250,"weight":71,"compare_at_price":null,"inventory_quantity":42,"inventory_management":"shopify","inventory_policy":"continue","barcode":"648260795115","requires_selling_plan":false,"selling_plan_allocations":[{"price_adjustments":[{"position":1,"price":6525}],"price":6525,"compare_at_price":7250,"per_delivery_price":6525,"selling_plan_id":2628190267,"selling_plan_group_id":"12efe7fc01cca5eef15a6aecfa2dfce15e950de2"},{"price_adjustments":[{"position":1,"price":6525}],"price":6525,"compare_at_price":7250,"per_delivery_price":6525,"selling_plan_id":2628223035,"selling_plan_group_id":"12efe7fc01cca5eef15a6aecfa2dfce15e950de2"},{"price_adjustments":[{"position":1,"price":6525}],"price":6525,"compare_at_price":7250,"per_delivery_price":6525,"selling_plan_id":2628255803,"selling_plan_group_id":"12efe7fc01cca5eef15a6aecfa2dfce15e950de2"}],"quantity_rule":{"min":1,"max":null,"increment":1}}],"images":["\/\/www.reneerouleau.com\/cdn\/shop\/files\/ReneeRouleau-SkinDrinkI.V.-1024x1024-Shadow.jpg?v=1777079077","\/\/www.reneerouleau.com\/cdn\/shop\/files\/SkinDrinkI.V.Swatch.png?v=1775074566","\/\/www.reneerouleau.com\/cdn\/shop\/files\/skin_drink_model_e2260879-a801-4663-a0e4-f754f6eea673.png?v=1778100625","\/\/www.reneerouleau.com\/cdn\/shop\/files\/RR-BrightNow-Infographic-Benefits_1_3cb050b3-fad8-4852-82e9-2349823b03f1.png?v=1781281008","\/\/www.reneerouleau.com\/cdn\/shop\/files\/RR_B_A_SDIV.png?v=1785346212"],"featured_image":"\/\/www.reneerouleau.com\/cdn\/shop\/files\/ReneeRouleau-SkinDrinkI.V.-1024x1024-Shadow.jpg?v=1777079077","options":["Title"],"media":[{"alt":null,"id":27364451516475,"position":1,"preview_image":{"aspect_ratio":0.563,"height":1920,"width":1080,"src":"\/\/www.reneerouleau.com\/cdn\/shop\/files\/preview_images\/5f777c7351d04f9c8b5ebe90b2ceb713.thumbnail.0000000000.jpg?v=1786999924"},"aspect_ratio":0.563,"duration":81000,"media_type":"video","sources":[{"format":"mp4","height":480,"mime_type":"video\/mp4","url":"\/\/www.reneerouleau.com\/cdn\/shop\/videos\/c\/vp\/5f777c7351d04f9c8b5ebe90b2ceb713\/5f777c7351d04f9c8b5ebe90b2ceb713.SD-480p-1.5Mbps-91873986.mp4?v=0","width":270},{"format":"mp4","height":1080,"mime_type":"video\/mp4","url":"\/\/www.reneerouleau.com\/cdn\/shop\/videos\/c\/vp\/5f777c7351d04f9c8b5ebe90b2ceb713\/5f777c7351d04f9c8b5ebe90b2ceb713.HD-1080p-7.2Mbps-91873986.mp4?v=0","width":606},{"format":"mp4","height":720,"mime_type":"video\/mp4","url":"\/\/www.reneerouleau.com\/cdn\/shop\/videos\/c\/vp\/5f777c7351d04f9c8b5ebe90b2ceb713\/5f777c7351d04f9c8b5ebe90b2ceb713.HD-720p-4.5Mbps-91873986.mp4?v=0","width":404},{"format":"m3u8","height":1080,"mime_type":"application\/x-mpegURL","url":"\/\/www.reneerouleau.com\/cdn\/shop\/videos\/c\/vp\/5f777c7351d04f9c8b5ebe90b2ceb713\/5f777c7351d04f9c8b5ebe90b2ceb713.m3u8?v=0","width":606}]},{"alt":null,"id":26688046530619,"position":2,"preview_image":{"aspect_ratio":1.0,"height":1024,"width":1024,"src":"\/\/www.reneerouleau.com\/cdn\/shop\/files\/ReneeRouleau-SkinDrinkI.V.-1024x1024-Shadow.jpg?v=1777079077"},"aspect_ratio":1.0,"height":1024,"media_type":"image","src":"\/\/www.reneerouleau.com\/cdn\/shop\/files\/ReneeRouleau-SkinDrinkI.V.-1024x1024-Shadow.jpg?v=1777079077","width":1024},{"alt":null,"id":26596526981179,"position":3,"preview_image":{"aspect_ratio":0.829,"height":1640,"width":1360,"src":"\/\/www.reneerouleau.com\/cdn\/shop\/files\/SkinDrinkI.V.Swatch.png?v=1775074566"},"aspect_ratio":0.829,"height":1640,"media_type":"image","src":"\/\/www.reneerouleau.com\/cdn\/shop\/files\/SkinDrinkI.V.Swatch.png?v=1775074566","width":1360},{"alt":null,"id":26734009319483,"position":4,"preview_image":{"aspect_ratio":0.829,"height":1640,"width":1360,"src":"\/\/www.reneerouleau.com\/cdn\/shop\/files\/skin_drink_model_e2260879-a801-4663-a0e4-f754f6eea673.png?v=1778100625"},"aspect_ratio":0.829,"height":1640,"media_type":"image","src":"\/\/www.reneerouleau.com\/cdn\/shop\/files\/skin_drink_model_e2260879-a801-4663-a0e4-f754f6eea673.png?v=1778100625","width":1360},{"alt":null,"id":26903019061307,"position":5,"preview_image":{"aspect_ratio":0.829,"height":1640,"width":1360,"src":"\/\/www.reneerouleau.com\/cdn\/shop\/files\/RR-BrightNow-Infographic-Benefits_1_3cb050b3-fad8-4852-82e9-2349823b03f1.png?v=1781281008"},"aspect_ratio":0.829,"height":1640,"media_type":"image","src":"\/\/www.reneerouleau.com\/cdn\/shop\/files\/RR-BrightNow-Infographic-Benefits_1_3cb050b3-fad8-4852-82e9-2349823b03f1.png?v=1781281008","width":1360},{"alt":null,"id":27196724641851,"position":6,"preview_image":{"aspect_ratio":0.919,"height":1480,"width":1360,"src":"\/\/www.reneerouleau.com\/cdn\/shop\/files\/RR_B_A_SDIV.png?v=1785346212"},"aspect_ratio":0.919,"height":1480,"media_type":"image","src":"\/\/www.reneerouleau.com\/cdn\/shop\/files\/RR_B_A_SDIV.png?v=1785346212","width":1360}
5142],"requires_selling_plan":false,"selling_plan_groups":[{"id":"12efe7fc01cca5eef15a6aecfa2dfce15e950de2","name":"Skin Drink I.V.","options":[{"name":"30 Day(s), 60 Day(s), 90 Day(s)","position":1,"values":["30 Day(s)","60 Day(s)","90 Day(s)"]}],"selling_plans":[{"id":2628190267,"name":"Delivery Every  30 Days","description":null,"options":[{"name":"30 Day(s), 60 Day(s), 90 Day(s)","position":1,"value":"30 Day(s)"}],"recurring_deliveries":true,"price_adjustments":[{"order_count":null,"position":1,"value_type":"percentage","value":10}],"checkout_charge":{"value_type":"percentage","value":100}},{"id":2628223035,"name":"Delivery Every  60 Days","description":null,"options":[{"name":"30 Day(s), 60 Day(s), 90 Day(s)","position":1,"value":"60 Day(s)"}],"recurring_deliveries":true,"price_adjustments":[{"order_count":null,"position":1,"value_type":"percentage","value":10}],"checkout_charge":{"value_type":"percentage","value":100}},{"id":2628255803,"name":"Delivery Every  90 Days","description":null,"options":[{"name":"30 Day(s), 60 Day(s), 90 Day(s)","position":1,"value":"90 Day(s)"}],"recurring_deliveries":true,"price_adjustments":[{"order_count":null,"position":1,"value_type":"percentage","value":10}],"checkout_charge":{"value_type":"percentage","value":100}}],"app_id":"294517"}],"content":"\u003cp\u003eAn electrolyte-infused serum that floods thirsty skin cells with deep, lasting hydration.\u003c\/p\u003e"};
5143  var afterpay_product_collections = "Dry Skin,Serums,Shop All,Skin Type 2,Skin Type 5,Skin Type 6,Skin Type 7,Skin Type 8,Skin Type 9,What's New";
5144  var afterpay_current_variant = {"id":43374648328251,"title":"Default Title","option1":"Default Title","option2":null,"option3":null,"sku":"79494","requires_shipping":true,"taxable":true,"featured_image":null,"available":true,"name":"Skin Drink I.V.","public_title":null,"options":["Default Title"],"price":7250,"weight":71,"compare_at_price":null,"inventory_quantity":42,"inventory_management":"shopify","inventory_policy":"continue","barcode":"648260795115","requires_selling_plan":false,"selling_plan_allocations":[{"price_adjustments":[{"position":1,"price":6525}],"price":6525,"compare_at_price":7250,"per_delivery_price":6525,"selling_plan_id":2628190267,"selling_plan_group_id":"12efe7fc01cca5eef15a6aecfa2dfce15e950de2"},{"price_adjustments":[{"position":1,"price":6525}],"price":6525,"compare_at_price":7250,"per_delivery_price":6525,"selling_plan_id":2628223035,"selling_plan_group_id":"12efe7fc01cca5eef15a6aecfa2dfce15e950de2"},{"price_adjustments":[{"position":1,"price":6525}],"price":6525,"compare_at_price":7250,"per_delivery_price":6525,"selling_plan_id":2628255803,"selling_plan_group_id":"12efe7fc01cca5eef15a6aecfa2dfce15e950de2"}],"quantity_rule":{"min":1,"max":null,"increment":1}};
5145  var afterpay_cart_total_price = 0;
5146  var afterpay_cart_skus = "";
5147  var afterpay_cart_collections = "";
5148  var afterpay_js_snippet_version = '1.2.1';
5149</script>
vendor: 1 bytes, line 5149
5149
5150<script defer src="https://static.afterpay.com/shopify-afterpay-javascript.js"></script>
5150
5151
5152
5153<script>
5154  (function(e,t,o,n,p,r,i){e.visitorGlobalObjectAlias=n;e[e.visitorGlobalObjectAlias]=e[e.visitorGlobalObjectAlias]||function(){(e[e.visitorGlobalObjectAlias].q=e[e.visitorGlobalObjectAlias].q||[]).push(arguments)};e[e.visitorGlobalObjectAlias].l=(new Date).getTime();r=t.createElement("script");r.src=o;r.async=true;i=t.getElementsByTagName("script")[0];i.parentNode.insertBefore(r,i)})(window,document,"https://diffuser-cdn.app-us1.com/diffuser/diffuser.js","vgo");
5155  vgo('setAccount', '255531089');
5156  vgo('setTrackByDefault', true);
5157
5158  vgo('process');
5159</script>
5159
5160  <div id="shopify-block-ATGNBSUJ0ZDc3NXErZ__17629645562581408504" class="shopify-block shopify-app-block">
5161
5162
5163<!-- BEGIN app snippet: swymVersion -->
5163<script>var __SWYM__VERSION__ = '7.0.7';</script>
5163<!-- END app snippet -->
5164<!-- BEGIN app snippet: swymCustomCss -->
5165
5166
5167
5168
5169<style id="swym-custom-css">
5170
5171</style>
5172
5173<!-- END app snippet -->
5174
5175
5176
5177
5178
5179
5180
5181
5182
5183
5184
5185
5186<script>
5187  (function () {
5188    // Get CompanyLocation Metadata for B2B customer scenerios (SFS)
5189    
5190
5191    // Put metafields in window variable
5192    const commonCustomizationSettings = '{"global-settings":{"icon":"heart","primaryColor":"#03000C","secondaryColor":"#FFFFFF","storefrontLayoutType":"as-section","buttonType":{"displayIcon":true,"displayText":false,"style":"text"},"collectionsButtonPosition":{"position":"top-right","verticalOffset":0,"horizontalOffset":0},"pdpButtonPosition":{"position":"add_to_cart_button_right","verticalOffset":0,"horizontalOffset":0},"enableStorefrontLayoutNotification":true,"storefrontLayoutDrawerWidth":400}}';
5193    try {
5194      const parsedSettings = JSON.parse(commonCustomizationSettings);
5195      if (parsedSettings) {
5196        window.SwymWishlistCommonCustomizationSettings = parsedSettings[window.Shopify.theme.schema_name] || parsedSettings['global-settings'];
5197      } else {
5198        window.SwymWishlistCommonCustomizationSettings = {};
5199      }
5200    } catch (e) {
5201      window.SwymWishlistCommonCustomizationSettings = {};
5202    }
5203
5204    let enabledCommonFeatures = '{"add-to-wishlist-collections-button":false,"add-to-wishlist-pdp-button":true,"auto-add-to-wishlist-from-pdp":{"pdpViewCount":"3","notificationTimeoutDuration":"5","selectedPosition":"TopLeft","enabled":false},"sfl-popup-v2":true,"control-centre":true,"multiple-wishlist":false,"social-count":{"enabledOnCollections":false}}';
5205    try {
5206      enabledCommonFeatures = JSON.parse(enabledCommonFeatures) || {};
5207    } catch (e) {
5208      enabledCommonFeatures = {};
5209    }
5210    // Storing COMMON FEATURES data in the window object for potential use in the storefront JS code.
5211    window.SwymEnabledCommonFeatures = enabledCommonFeatures;
5212
5213    // Ghost-Intent Configuration
5214    // Defaults to disabled (false). Only enabled when metafields explicitly set to "true".
5215    try {
5216      let ghostIntentConfig = {
5217        isExplicitConsentNeeded: false,
5218        isExplicitConsentNeededEvenForLocalStorage: false,
5219        askForPermissionOnFirstClick: true
5220      };
5221      
5222      
5223      
5224      window.SwymGhostIntentConfig = ghostIntentConfig;
5225    } catch(e) {
5226      window.SwymGhostIntentConfig = {
5227        isExplicitConsentNeeded: false,
5228        isExplicitConsentNeededEvenForLocalStorage: false,
5229        askForPermissionOnFirstClick: true
5230      };
5231    }
5232
5233    // Education Layer Configuration
5234    // Reads from common enabled-features metafield first. Falls back to old standalone metafield for backward compatibility.
5235    
5236    
5237    window.SwymEducationLayerEnabled = enabledCommonFeatures?.["education-layer"] ?? true;
5238
5239    // Login Nudge Configuration
5240    // Reads from common enabled-features metafield first. Falls back to old standalone metafield for backward compatibility.
5241    
5242    
5243    window.SwymLoginNudgeEnabled = enabledCommonFeatures?.["login-nudge"] ?? true;
5244
5245    // Initialize or ensure SwymViewProducts exists
5246    if (!window.SwymViewProducts) {
5247      window.SwymViewProducts = {};
5248    }
5249    
5250      try {
5251        const socialCountMap = { "https://www.reneerouleau.com/products/skin-drink-i-v": { "socialCount": 40, "empi": 7574678405179 } };
5252        // Integrate social count data into existing SwymViewProducts structure
5253        Object.keys(socialCountMap).forEach(function(key) {
5254          if (!window.SwymViewProducts[key]) {
5255            window.SwymViewProducts[key] = {};
5256          }
5257
5258          window.SwymViewProducts[key] = socialCountMap[key];
5259        });
5260      } catch (e) {
5261        // Silent error handling
5262      }
5263    
5264  })();
5265</script>
5265
5266
5267<!-- BEGIN app snippet: swymLoadConsentManager -->
5268<script>
5269  (function () {
5270    if (document.querySelector("script[data-swym-consent-manager]")) return;
5271    var swymConsentManagerScript = document.createElement("script");
5272    swymConsentManagerScript.src = "https:\/\/cdn.shopify.com\/extensions\/01a0d2a3-23d4-7eab-8707-4bef87dc5dd8\/swym-relay-839\/assets\/swym-consent-manager.js";
5273    swymConsentManagerScript.async = false; // run in insertion order once fetched, instead of whenever fetch resolves
5274    swymConsentManagerScript.setAttribute("data-swym-consent-manager", "true");
5275    document.head.appendChild(swymConsentManagerScript);
5276  })();
5277</script>
5277
5278<!-- END app snippet -->
5279
5280<script
5281  
5282  id="wishlist-embed-init"
5283  defer
5284  async
5285>
5286  (function () {
5287    window.swymWishlistEmbedLoaded = true;
5288    var fullAssetUrl = "https://cdn.shopify.com/extensions/01a0d2a3-23d4-7eab-8707-4bef87dc5dd8/swym-relay-839/assets/apps.bundle.js"; 
5289    var assetBaseUrl = fullAssetUrl?.substring(0, fullAssetUrl.lastIndexOf('/') + 1);
5290    var swymJsPath = '//procdn.swymrelay.com/code/swym-shopify.js';
5291    var baseJsPath = swymJsPath?.substring(0, swymJsPath.lastIndexOf('/') + 1);
5292    window.SwymCurrentJSPath = baseJsPath;
5293    window.SwymAssetBaseUrl = assetBaseUrl;
5294    
5295      window.SwymCurrentStorePath = "//swymstore-v3pro-01.swymrelay.com";
5296    
5297    function loadSwymShopifyScript() {
5298      var element = "";
5299      var scriptSrc = "";
5300
5301      
5302        element = "swym-ext-shopify-script";
5303        window.SwymShopifyCdnInUse = true;
5304        scriptSrc = "https://cdn.shopify.com/extensions/01a0d2a3-23d4-7eab-8707-4bef87dc5dd8/swym-relay-839/assets/swym-ext-shopify.js";
5305      
5306
5307      if (document.getElementById(element)) {
5308        return;
5309      }
5310
5311      var s = document.createElement("script");
5312      s.id = element;
5313      s.type = "text/javascript";
5314      s.async = true;
5315      s.defer = true;
5316      s.src = scriptSrc;
5317
5318      s.onerror = function() {
5319        console.warn("Failed to load Swym Shopify script: ", scriptSrc, " Continuing with default");
5320        // Fallback logic here
5321        element = `swym-ext-shopify-script-${__SWYM__VERSION__}`;
5322        var fallbackJsPathVal = "\/\/procdn.swymrelay.com\/code\/swym-shopify.js";
5323        var fallbackJsPathWithExt = fallbackJsPathVal.replace("swym-shopify", "swym-ext-shopify");
5324        scriptSrc = fallbackJsPathWithExt + '?shop=' + encodeURIComponent(window.Shopify.shop) + '&v=' + __SWYM__VERSION__;
5325
5326        var fallbackScript = document.createElement("script");
5327        fallbackScript.id = element;
5328        fallbackScript.type = "text/javascript";
5329        fallbackScript.async = true;
5330        fallbackScript.defer = true;
5331        fallbackScript.src = scriptSrc;
5332        var y = document.getElementsByTagName("script")[0];
5333        y.parentNode.insertBefore(fallbackScript, y);
5334      };
5335
5336      var x = document.getElementsByTagName("script")[0];
5337      x.parentNode.insertBefore(s, x);
5338    }
5339    
5340      var consentAPICallbackInvoked = false;
5341      function checkConsentAndLoad() {
5342        // Allow app to load in design mode (theme editor) regardless of consent
5343        if (window.Shopify?.designMode) {
5344          loadSwymShopifyScript();
5345          return;
5346        }
5347
5348        // Ghost-Intent: If merchant enabled explicit consent, block SDK until
5349        // consent is given through our Ghost-Intent flow (sync nudge accept).
5350        // This works on any store regardless of region (EU or non-EU).
5351        var ghostConfig = window.SwymGhostIntentConfig || {};
5352        if (ghostConfig.isExplicitConsentNeeded || ghostConfig.isExplicitConsentNeededEvenForLocalStorage) {
5353          try {
5354            var consentKey = 'swym-ghost-consent-' + (window.Shopify && window.Shopify.shop || '');
5355            if (localStorage.getItem(consentKey) === 'true') {
5356              // Consent was given through our flow — load SDK
5357              loadSwymShopifyScript();
5358              return;
5359            }
5360          } catch(e) {}
5361
5362          // Check if Shopify native cookie consent was given via the cookie banner.
5363          // If user accepted cookies through Shopify's banner, load SDK normally
5364          // (Ghost-Intent is only needed when NO consent mechanism has been used).
5365          var shopifyConsentGiven = window.Shopify?.customerPrivacy?.preferencesProcessingAllowed?.();
5366          if (shopifyConsentGiven) {
5367            loadSwymShopifyScript();
5368            return;
5369          }
5370
5371          console.warn("[Swym Ghost-Intent] SDK blocked until explicit consent is given");
5372          return;
5373        }
5374
5375        var isCookieBannerVisible = window.Shopify?.customerPrivacy?.shouldShowBanner?.();
5376        if(!isCookieBannerVisible) {
5377          loadSwymShopifyScript();
5378          return;
5379        }
5380        var shouldLoadSwymScript = window.Shopify?.customerPrivacy?.preferencesProcessingAllowed?.();
5381        if (shouldLoadSwymScript) {
5382          loadSwymShopifyScript();
5383        } else {
5384          console.warn("No customer consent to load Swym Wishlist Plus");
5385        }
5386      }
5387      function initialiseConsentCheck() {
5388        document.addEventListener("visitorConsentCollected", (event) => { checkConsentAndLoad(); });
5389        window.Shopify?.loadFeatures?.(
5390          [{name: 'consent-tracking-api', version: '0.1'}],
5391          error => { 
5392            consentAPICallbackInvoked = true;
5393            if (error) {
5394              if(!window.Shopify?.customerPrivacy) {
5395                loadSwymShopifyScript();
5396                return;
5397              }
5398            }
5399            checkConsentAndLoad();
5400          }
5401        );
5402      }
5403      function consentCheckFallback(retryCount) {
5404        if(!consentAPICallbackInvoked) {
5405          if (window.Shopify?.customerPrivacy) {
5406            checkConsentAndLoad();
5407          } else if (retryCount >= 1) {
5408            console.warn("Shopify.loadFeatures unsuccessful on site, refer - https://shopify.dev/docs/api/customer-privacy#loading-the-customer-privacy-api. Proceeding with normal Swym Wishlist Plus load");
5409            // Ghost-Intent: route through checkConsentAndLoad so SDK block is respected
5410            checkConsentAndLoad();
5411          } else {
5412            setTimeout(() => consentCheckFallback(retryCount + 1), 1000);
5413          }
5414        }
5415      }
5416      if (document.readyState === "loading") {
5417        document.addEventListener("DOMContentLoaded", initialiseConsentCheck);
5418        window.addEventListener("load", () => consentCheckFallback(0));
5419      } else {
5420        initialiseConsentCheck();
5421      }
5422    
5423  })();
5424</script>
5424
5425
5426<!-- BEGIN app snippet: swymSnippet -->
5426<script defer>
5427  (function () {
5428    const currentSwymJSPath = '//procdn.swymrelay.com/code/swym-shopify.js';
5429    const currentSwymStorePath = 'https://swymstore-v3pro-01.swymrelay.com';
5430    const dnsPrefetchLink = `<link rel="dns-prefetch" href="${currentSwymStorePath}" crossorigin>`;
5431    const dnsPrefetchLink2 = `<link rel="dns-prefetch" href="${currentSwymJSPath}">`;
5432    const preConnectLink = `<link rel="preconnect" href="${currentSwymJSPath}">`;
5433    const swymSnippet = document.getElementById('wishlist-embed-init');        
5434    if(dnsPrefetchLink) {swymSnippet.insertAdjacentHTML('afterend', dnsPrefetchLink);}
5435    if(dnsPrefetchLink2) {swymSnippet.insertAdjacentHTML('afterend', dnsPrefetchLink2);}
5436    if(preConnectLink) {swymSnippet.insertAdjacentHTML('afterend', preConnectLink);}
5437  })()
5438</script>
vendor: 1 bytes, line 5438
5438
5439<script id="swym-snippet" type="text">
5440  window.swymLandingURL = document.URL;
5441  window.swymCart = {"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};
5442  window.swymPageLoad = function() {
5443    window.SwymProductVariants = window.SwymProductVariants || {};
5444    window.SwymHasCartItems = 0 > 0;
5445    window.SwymPageData = {}, window.SwymProductInfo = {};var variants = [];
5446      window.SwymProductInfo.product = {"id":7574678405179,"title":"Skin Drink I.V.","handle":"skin-drink-i-v","description":"\u003cp\u003eAn electrolyte-infused serum that floods thirsty skin cells with deep, lasting hydration.\u003c\/p\u003e","published_at":"2026-06-22T07:37:01-05:00","created_at":"2026-04-01T15:27:08-05:00","vendor":"Renée Rouleau Professional Skin Care","type":"","tags":[],"price":7250,"price_min":7250,"price_max":7250,"available":true,"price_varies":false,"compare_at_price":null,"compare_at_price_min":0,"compare_at_price_max":0,"compare_at_price_varies":false,"variants":[{"id":43374648328251,"title":"Default Title","option1":"Default Title","option2":null,"option3":null,"sku":"79494","requires_shipping":true,"taxable":true,"featured_image":null,"available":true,"name":"Skin Drink I.V.","public_title":null,"options":["Default Title"],"price":7250,"weight":71,"compare_at_price":null,"inventory_quantity":42,"inventory_management":"shopify","inventory_policy":"continue","barcode":"648260795115","requires_selling_plan":false,"selling_plan_allocations":[{"price_adjustments":[{"position":1,"price":6525}],"price":6525,"compare_at_price":7250,"per_delivery_price":6525,"selling_plan_id":2628190267,"selling_plan_group_id":"12efe7fc01cca5eef15a6aecfa2dfce15e950de2"},{"price_adjustments":[{"position":1,"price":6525}],"price":6525,"compare_at_price":7250,"per_delivery_price":6525,"selling_plan_id":2628223035,"selling_plan_group_id":"12efe7fc01cca5eef15a6aecfa2dfce15e950de2"},{"price_adjustments":[{"position":1,"price":6525}],"price":6525,"compare_at_price":7250,"per_delivery_price":6525,"selling_plan_id":2628255803,"selling_plan_group_id":"12efe7fc01cca5eef15a6aecfa2dfce15e950de2"}],"quantity_rule":{"min":1,"max":null,"increment":1}}],"images":["\/\/www.reneerouleau.com\/cdn\/shop\/files\/ReneeRouleau-SkinDrinkI.V.-1024x1024-Shadow.jpg?v=1777079077","\/\/www.reneerouleau.com\/cdn\/shop\/files\/SkinDrinkI.V.Swatch.png?v=1775074566","\/\/www.reneerouleau.com\/cdn\/shop\/files\/skin_drink_model_e2260879-a801-4663-a0e4-f754f6eea673.png?v=1778100625","\/\/www.reneerouleau.com\/cdn\/shop\/files\/RR-BrightNow-Infographic-Benefits_1_3cb050b3-fad8-4852-82e9-2349823b03f1.png?v=1781281008","\/\/www.reneerouleau.com\/cdn\/shop\/files\/RR_B_A_SDIV.png?v=1785346212"],"featured_image":"\/\/www.reneerouleau.com\/cdn\/shop\/files\/ReneeRouleau-SkinDrinkI.V.-1024x1024-Shadow.jpg?v=1777079077","options":["Title"],"media":[{"alt":null,"id":27364451516475,"position":1,"preview_image":{"aspect_ratio":0.563,"height":1920,"width":1080,"src":"\/\/www.reneerouleau.com\/cdn\/shop\/files\/preview_images\/5f777c7351d04f9c8b5ebe90b2ceb713.thumbnail.0000000000.jpg?v=1786999924"},"aspect_ratio":0.563,"duration":81000,"media_type":"video","sources":[{"format":"mp4","height":480,"mime_type":"video\/mp4","url":"\/\/www.reneerouleau.com\/cdn\/shop\/videos\/c\/vp\/5f777c7351d04f9c8b5ebe90b2ceb713\/5f777c7351d04f9c8b5ebe90b2ceb713.SD-480p-1.5Mbps-91873986.mp4?v=0","width":270},{"format":"mp4","height":1080,"mime_type":"video\/mp4","url":"\/\/www.reneerouleau.com\/cdn\/shop\/videos\/c\/vp\/5f777c7351d04f9c8b5ebe90b2ceb713\/5f777c7351d04f9c8b5ebe90b2ceb713.HD-1080p-7.2Mbps-91873986.mp4?v=0","width":606},{"format":"mp4","height":720,"mime_type":"video\/mp4","url":"\/\/www.reneerouleau.com\/cdn\/shop\/videos\/c\/vp\/5f777c7351d04f9c8b5ebe90b2ceb713\/5f777c7351d04f9c8b5ebe90b2ceb713.HD-720p-4.5Mbps-91873986.mp4?v=0","width":404},{"format":"m3u8","height":1080,"mime_type":"application\/x-mpegURL","url":"\/\/www.reneerouleau.com\/cdn\/shop\/videos\/c\/vp\/5f777c7351d04f9c8b5ebe90b2ceb713\/5f777c7351d04f9c8b5ebe90b2ceb713.m3u8?v=0","width":606}]},{"alt":null,"id":26688046530619,"position":2,"preview_image":{"aspect_ratio":1.0,"height":1024,"width":1024,"src":"\/\/www.reneerouleau.com\/cdn\/shop\/files\/ReneeRouleau-SkinDrinkI.V.-1024x1024-Shadow.jpg?v=1777079077"},"aspect_ratio":1.0,"height":1024,"media_type":"image","src":"\/\/www.reneerouleau.com\/cdn\/shop\/files\/ReneeRouleau-SkinDrinkI.V.-1024x1024-Shadow.jpg?v=1777079077","width":1024},{"alt":null,"id":26596526981179,"position":3,"preview_image":{"aspect_ratio":0.829,"height":1640,"width":1360,"src":"\/\/www.reneerouleau.com\/cdn\/shop\/files\/SkinDrinkI.V.Swatch.png?v=1775074566"},"aspect_ratio":0.829,"height":1640,"media_type":"image","src":"\/\/www.reneerouleau.com\/cdn\/shop\/files\/SkinDrinkI.V.Swatch.png?v=1775074566","width":1360},{"alt":null,"id":26734009319483,"position":4,"preview_image":{"aspect_ratio":0.829,"height":1640,"width":1360,"src":"\/\/www.reneerouleau.com\/cdn\/shop\/files\/skin_drink_model_e2260879-a801-4663-a0e4-f754f6eea673.png?v=1778100625"},"aspect_ratio":0.829,"height":1640,"media_type":"image","src":"\/\/www.reneerouleau.com\/cdn\/shop\/files\/skin_drink_model_e2260879-a801-4663-a0e4-f754f6eea673.png?v=1778100625","width":1360},{"alt":null,"id":26903019061307,"position":5,"preview_image":{"aspect_ratio":0.829,"height":1640,"width":1360,"src":"\/\/www.reneerouleau.com\/cdn\/shop\/files\/RR-BrightNow-Infographic-Benefits_1_3cb050b3-fad8-4852-82e9-2349823b03f1.png?v=1781281008"},"aspect_ratio":0.829,"height":1640,"media_type":"image","src":"\/\/www.reneerouleau.com\/cdn\/shop\/files\/RR-BrightNow-Infographic-Benefits_1_3cb050b3-fad8-4852-82e9-2349823b03f1.png?v=1781281008","width":1360},{"alt":null,"id":27196724641851,"position":6,"preview_image":{"aspect_ratio":0.919,"height":1480,"width":1360,"src":"\/\/www.reneerouleau.com\/cdn\/shop\/files\/RR_B_A_SDIV.png?v=1785346212"},"aspect_ratio":0.919,"height":1480,"media_type":"image","src":"\/\/www.reneerouleau.com\/cdn\/shop\/files\/RR_B_A_SDIV.png?v=1785346212","width":1360}
5446],"requires_selling_plan":false,"selling_plan_groups":[{"id":"12efe7fc01cca5eef15a6aecfa2dfce15e950de2","name":"Skin Drink I.V.","options":[{"name":"30 Day(s), 60 Day(s), 90 Day(s)","position":1,"values":["30 Day(s)","60 Day(s)","90 Day(s)"]}],"selling_plans":[{"id":2628190267,"name":"Delivery Every  30 Days","description":null,"options":[{"name":"30 Day(s), 60 Day(s), 90 Day(s)","position":1,"value":"30 Day(s)"}],"recurring_deliveries":true,"price_adjustments":[{"order_count":null,"position":1,"value_type":"percentage","value":10}],"checkout_charge":{"value_type":"percentage","value":100}},{"id":2628223035,"name":"Delivery Every  60 Days","description":null,"options":[{"name":"30 Day(s), 60 Day(s), 90 Day(s)","position":1,"value":"60 Day(s)"}],"recurring_deliveries":true,"price_adjustments":[{"order_count":null,"position":1,"value_type":"percentage","value":10}],"checkout_charge":{"value_type":"percentage","value":100}},{"id":2628255803,"name":"Delivery Every  90 Days","description":null,"options":[{"name":"30 Day(s), 60 Day(s), 90 Day(s)","position":1,"value":"90 Day(s)"}],"recurring_deliveries":true,"price_adjustments":[{"order_count":null,"position":1,"value_type":"percentage","value":10}],"checkout_charge":{"value_type":"percentage","value":100}}],"app_id":"294517"}],"content":"\u003cp\u003eAn electrolyte-infused serum that floods thirsty skin cells with deep, lasting hydration.\u003c\/p\u003e"};
5447      window.SwymProductInfo.variants = window.SwymProductInfo.product.variants;
5448      var piu = "\/\/www.reneerouleau.com\/cdn\/shop\/files\/ReneeRouleau-SkinDrinkI.V.-1024x1024-Shadow.jpg?crop=center\u0026height=620\u0026v=1
5448777079077\u0026width=620";
5449      
5450
5451        SwymProductVariants[43374648328251] = {
5452          empi: window.SwymProductInfo.product.id,epi:43374648328251,
5453          dt: "Skin Drink I.V.",
5454          du: "https://www.reneerouleau.com/products/skin-drink-i-v",
5455          iu:  piu ,
5456          stk:  1 ,
5457          pr: 7250/100,
5458          ct: window.SwymProductInfo.product.type,
5459          
5460          variants: [{ "Default Title" : 43374648328251}]
5461        };window.SwymProductInfo.currentVariant = 43374648328251;
5462      var product_data = {
5463        et: 1, empi: window.SwymProductInfo.product.id, epi: window.SwymProductInfo.currentVariant,
5464        dt: "Skin Drink I.V.", du: "https://www.reneerouleau.com/products/skin-drink-i-v",
5465        ct: window.SwymProductInfo.product.type, pr: 7250/100,
5466        iu:  piu , 
5467        variants: [{ "Default Title" : 43374648328251 }],
5468        stk:  1 
5469        
5470      };
5471      window.SwymPageData = product_data;
5472    
5473    window.SwymPageData.uri = window.swymLandingURL;
5474  };
5475  if(window.selectCallback){
5476    (function(){
5477      var originalSelectCallback = window.selectCallback;
5478      window.selectCallback = function(variant){
5479        originalSelectCallback.apply(this, arguments);
5480        try{
5481          if(window.triggerSwymVariantEvent){
5482            window.triggerSwymVariantEvent(variant.id);
5483          }
5484        }catch(err){
5485          console.warn("Swym selectCallback", err);
5486        }
5487      };})();}
5488  window.swymCustomerId =null;
5489  window.swymCustomerExtraCheck =
5490    null;
5491  var swappName = ("Wishlist" || "Wishlist");
5492  var swymJSObject = {
5493    pid: "jlI+Wy8G6uxPaWRI9pGoYFuqnee2dvUdvxFKxdjXTZY=",
5494    interface: "/apps/swym" + swappName + "/interfaces/interfaceStore.php?appname=" + swappName
5495  };
5496  window.swymJSShopifyLoad = function(){
5497    if(window.swymPageLoad) swymPageLoad();
5498    if(!window._swat) {
5499      (function (s, w, r, e, l, a, y) {
5500        r['SwymRetailerConfig'] = s;
5501        r[s] = r[s] || function (k, v) {
5502          r[s][k] = v;
5503        };
5504      })('_swrc', '', window);
5505      _swrc('RetailerId', swymJSObject.pid);
5506      _swrc('Callback', function(){initSwymShopify();});
5507    }else if(window._swat.postLoader){
5508      _swrc = window._swat.postLoader;
5509      _swrc('RetailerId', swymJSObject.pid);
5510      _swrc('Callback', function(){initSwymShopify();});
5511    }else{
5512      initSwymShopify();}
5513  }
5514  if(!window._SwymPreventAutoLoad) {
5515    swymJSShopifyLoad();
5516  }
5517</script>
5517
5518
5519<style id="safari-flasher-pre"></style>
5520<script>
5521  if (navigator.userAgent.indexOf('Safari') != -1 && navigator.userAgent.indexOf('Chrome') == -1) {
5522    document.getElementById("safari-flasher-pre").innerHTML = '' + '#swym-plugin,#swym-hosted-plugin{display: none;}' + '.swym-button.swym-add-to-wishlist{display: none;}' + '.swym-button.swym-add-to-watchlist{display: none;}' + '#swym-plugin  #swym-notepad, #swym-hosted-plugin  #swym-notepad{opacity: 0; visibility: hidden;}' + '#swym-plugin  #swym-notepad, #swym-plugin  #swym-overlay, #swym-plugin  #swym-notification,' + '#swym-hosted-plugin  #swym-notepad, #swym-hosted-plugin  #swym-overlay, #swym-hosted-plugin  #swym-notification' + '{-webkit-transition: none; transition: none;}' + '';
5523    window.SwymCallbacks = window.SwymCallbacks || [];
5524    window.SwymCallbacks.push(function(tracker) {
5525      tracker.evtLayer.addEventListener(tracker.JSEvents.configLoaded, function() {
5526        var x = function() {
5527          SwymUtils.onDOMReady(function() {
5528            var d = document.createElement("div");
5529            d.innerHTML = "<style id='safari-flasher-post'>" + "#swym-plugin:not(.swym-ready),#swym-hosted-plugin:not(.swym-ready){display: none;}" + ".swym-button.swym-add-to-wishlist:not(.swym-loaded){display: none;}" + ".swym-button.swym-add-to-watchlist:not(.swym-loaded){display: none;}" + "#swym-plugin.swym-ready  #swym-notepad, #swym-plugin.swym-ready  #swym-overlay, #swym-plugin.swym-ready  #swym-notification," + "#swym-hosted-plugin.swym-ready  #swym-notepad, #swym-hosted-plugin.swym-ready  #swym-overlay, #swym-hosted-plugin.swym-ready  #swym-notification" + "{-webkit-transition: opacity 0.3s, visibility 0.3ms, -webkit-transform 0.3ms !important;-moz-transition: opacity 0.3s, visibility 0.3ms, -moz-transform 0.3ms !important;-ms-transition: opacity 0.3s, visibility 0.3ms, -ms-transform 0.3ms !important;-o-transition: opacity 0.3s, visibility 0.3ms, -o-transform 0.3ms !important;transition: opacity 0.3s, visibility 0.3ms, transform 0.3ms !important;}" + "</style>";
5530            document.head.appendChild(d);
5531          });};
5532        setTimeout(x, 10);
5533      });});}
5534  window.SwymOverrideMoneyFormat = "${{amount}}";
5535</script>
5535
5536<style id="swym-product-view-defaults"> .swym-button.swym-add-to-wishlist-view-product:not(.swym-loaded) { display: none; } </style><!-- END app snippet -->
5537
5538<script
5539  
5540  id="swymSnippetCheckAndActivate"
5541>
5542  (function () {
5543    var duplicateProneIds = ['safari-flasher-pre', 'swym-product-view-defaults', 'swym-wrap-login-handler'];
5544
5545    function removeDuplicateIdNodes(id) {
5546      var nodes = document.querySelectorAll('#' + id);
5547      nodes.forEach(function (node, index) {
5548        if (index > 0) {
5549          node.remove();
5550        }
5551      });
5552    }
5553
5554    function cleanupDuplicateSnippetNodes(activeScript) {
5555      if (!activeScript) {
5556        return;
5557      }
5558      var allSwymSnippets = document.querySelectorAll('script#swym-snippet');
5559      allSwymSnippets.forEach(function (scriptNode) {
5560        if (scriptNode !== activeScript) {
5561          scriptNode.remove();
5562        }
5563      });
5564    }
5565
5566    function cleanupDuplicateActivationGuards() {
5567      var guardScripts = document.querySelectorAll('script#swymSnippetCheckAndActivate');
5568      guardScripts.forEach(function (scriptNode, index) {
5569        if (index > 0) {
5570          scriptNode.removeAttribute('id');
5571        }
5572      });
5573    }
5574
5575    function postDomLoad() {
5576      var activeScript = document.querySelector('script#swym-snippet:not([type="text"])');
5577      if (!activeScript) {
5578        var inactiveScript = document.querySelector('script#swym-snippet[type="text"]');
5579        if (inactiveScript) {
5580          inactiveScript.type = 'text/javascript';
5581          new Function(inactiveScript.textContent)();
5582          activeScript = inactiveScript;
5583        }
5584      }
5585
5586      cleanupDuplicateSnippetNodes(activeScript);
5587      cleanupDuplicateActivationGuards();
5588      duplicateProneIds.forEach(removeDuplicateIdNodes);
5589    }
5590
5591    if (document.readyState === 'loading') {
5592      document.addEventListener('DOMContentLoaded', postDomLoad);
5593    } else {
5594      postDomLoad();
5595    }
5596  })();
5597</script>
5597
5598
5599
5600
5601<script>
5602  (function () {
5603    const themeSchemaName = window.Shopify.theme.schema_name;
5604
5605    if (!window.SwymCallbacks) {
5606      window.SwymCallbacks = [];
5607    }
5608    window.SwymCallbacks.push(swat => {
5609      if (!swat) {
5610        return;
5611      }
5612
5613      // Ghost-Intent: Sync local wishlist items to cloud when SDK loads after consent
5614      if (window.SwymLocalWishlist && window.SwymLocalWishlist.getSyncableItems().length > 0) {
5615        window.SwymLocalWishlist.syncToCloud(swat);
5616      }
5617
5618      if (window._SwymSDKOnlyMode) {
5619        return;
5620      }
5621
5622      // ENABLE COMMON FEATURES
5623      let swymEnabledCommonFeatures = window.SwymEnabledCommonFeatures;
5624      Object.keys(swymEnabledCommonFeatures).forEach(key => {
5625        if (!swymEnabledCommonFeatures[key]) return;
5626
5627        switch (key) {
5628          case 'add-to-wishlist-collections-button':
5629            // Check if app block is already handling the collections button
5630            if (window.SwymCollectionsConfig) {
5631              return;
5632            }
5633
5634            // Check if v2 default collections is handling it
5635            if (window.SwymAdvancedCollectionsWishlistConfig) {
5636              return;
5637            }
5638
5639            // Fallback to old v1 behavior if v2 config is not present
5640            swat?.collectionsApi?.setDefaultCustomizationOptions();
5641            swat?.collectionsApi?.initializeCollections(swat, false, themeSchemaName);
5642
5643            break;
5644          case 'add-to-wishlist-pdp-button':
5645            // Check if app block is already handling the PDP button
5646            if (window.swymATWButtonConfig?.shopifyExtensionType === 'appblock') {
5647              return;
5648            }
5649
5650            if (!(window.SwymPageData && window.SwymPageData.et === 1)) {
5651              // Not initiating pdp button as it is not a product page
5652              return;
5653            }
5654
5655            // Inject addtowishlist.css into the document's <head>
5656            var head = document.head;
5657            var pdpButtonStylesheet = "https://cdn.shopify.com/extensions/01a0d2a3-23d4-7eab-8707-4bef87dc5dd8/swym-relay-839/assets/addtowishlistbutton.css";
5658            var pdpButtonStylesheetTag = document.createElement('link');
5659            pdpButtonStylesheetTag.id = `swym-pdp-button-stylesheet`;
5660            pdpButtonStylesheetTag.rel = 'stylesheet';
5661            pdpButtonStylesheetTag.href = pdpButtonStylesheet;
5662
5663            if (!document.getElementById('swym-pdp-button-stylesheet')) {
5664              head.appendChild(pdpButtonStylesheetTag);
5665            }
5666
5667            var x = document.getElementsByTagName('script')[0];
5668            function createAndInsertScript(id, src, onLoadCallback) {
5669              var scriptTag = document.createElement('script');
5670              scriptTag.id = id;
5671              scriptTag.type = 'text/javascript';
5672              scriptTag.src = src;
5673              scriptTag.onload = onLoadCallback;
5674              x.parentNode.insertBefore(scriptTag, x);
5675            }
5676
5677            var pdpButtonScript = "https://cdn.shopify.com/extensions/01a0d2a3-23d4-7eab-8707-4bef87dc5dd8/swym-relay-839/assets/addtowishlistbutton.js";
5678            createAndInsertScript(`swym-pdp-button-script`, pdpButtonScript, function () {
5679              const pdpBtnApi = window.WishlistPlusPDPButtonAPI;
5680              if (pdpBtnApi) {
5681                pdpBtnApi.setDefaultCustomizationOptions(swat);
5682                pdpBtnApi.initializePDPButton(swat, true);
5683              }
5684            });
5685            break;
5686          default:
5687            return;
5688        }
5689      });
5690    });
5691  })(); // IIFE to prevent polluting global scope
5692</script>
5692
5693
5694
5695
5696<script> 
5697  (function () {
5698    // Get the settings from Shopify's Liquid variables and create the styles
5699    const isControlCentreEnabledFromMetafield = window?.SwymEnabledCommonFeatures?.["control-centre"];
5700    const isCommonCustomizationEnabledFromMetafield = window?.SwymWishlistCommonCustomizationSettings && 
5701      Object.keys(window.SwymWishlistCommonCustomizationSettings).length > 0;
5702    const isControlCentreEnabledFromBlockSettings = false;
5703    
5704    if (!(isControlCentreEnabledFromMetafield && isCommonCustomizationEnabledFromMetafield) && !isControlCentreEnabledFromBlockSettings) {
5705      // Don't enable control centre if this is disabled and block settings are not enabled
5706      return;
5707    }
5708    
5709    let borderRadius = 6;
5710    let drawerWidth = window?.SwymWishlistCommonCustomizationSettings?.storefrontLayoutDrawerWidth || 400;
5711    
5712    // Check if block settings exist, use them, otherwise fall back to common settings
5713    let primaryBgColor = isControlCentreEnabledFromBlockSettings ? 
5714      "#000000" : 
5715      window.SwymWishlistCommonCustomizationSettings.primaryColor;
5716    
5717    let primaryTextColor = isControlCentreEnabledFromBlockSettings ? 
5718      "#ffffff" : 
5719      window.SwymWishlistCommonCustomizationSettings.secondaryColor;
5720    
5721    let secondaryBgColor = isControlCentreEnabledFromBlockSettings ? 
5722      "#F4F8FE" : null;
5723    let secondaryTextColor = isControlCentreEnabledFromBlockSettings ? 
5724      "#333333" : null;
5725
5726    // Only use color adjustment functions if we're using common settings
5727    if (!secondaryBgColor || !secondaryTextColor) {
5728      function adjustOpacity(color, opacity) {
5729        if (color[0] === '#') {
5730          color = color.slice(1);
5731        }
5732
5733        if (color.length === 3) {
5734          color = color.split('').map(char => char + char).join('');
5735        }
5736
5737        const r = parseInt(color.slice(0, 2), 16);
5738        const g = parseInt(color.slice(2, 4), 16);
5739        const b = parseInt(color.slice(4, 6), 16);
5740
5741        return `rgba(${r}, ${g}, ${b}, ${opacity})`;
5742      }
5743
5744      function hexToRgb(color) {
5745        if (color[0] === '#') {
5746          color = color.slice(1);
5747        }
5748        if (color.length === 3) {
5749          color = color.split('').map(c => c + c).join('');
5750        }
5751
5752        return {
5753          r: parseInt(color.slice(0, 2), 16),
5754          g: parseInt(color.slice(2, 4), 16),
5755          b: parseInt(color.slice(4, 6), 16)
5756        };
5757      }
5758
5759      function getLuminance({ r, g, b }) {
5760        return 0.299 * r + 0.587 * g + 0.114 * b;
5761      }
5762
5763      function generateSecondaryColors(primaryBgColor, primaryTextColor) {
5764        const secondaryBgOpacity = 0.2;
5765        const secondaryTextOpacity = 0.8;
5766
5767        const secondaryBgColor = adjustOpacity(primaryBgColor, secondaryBgOpacity);
5768
5769        const bgRgb = hexToRgb(primaryBgColor);
5770        const bgLuminance = getLuminance(bgRgb);
5771
5772        // Determine whether to use dark or light text for contrast
5773        const lightText = adjustOpacity(primaryTextColor, secondaryTextOpacity);
5774        const darkText = adjustOpacity(primaryBgColor, secondaryTextOpacity);
5775
5776        const secondaryTextColor = bgLuminance > 186 ? darkText : lightText;
5777
5778        return {
5779          secondaryBgColor,
5780          secondaryTextColor
5781        };
5782      }
5783
5784      const generatedColors = generateSecondaryColors(primaryBgColor, primaryTextColor);
5785      secondaryBgColor = secondaryBgColor || generatedColors.secondaryBgColor;
5786      secondaryTextColor = secondaryTextColor || generatedColors.secondaryTextColor;
5787    }
5788
5789    // Create the CSS rule
5790    let styles = `
5791      .swym-storefront-layout-root-component {
5792        --swym-storefront-layout-ui-border-radius: ${borderRadius}px;
5793        --swym-storefront-layout-button-border-radius: ${borderRadius}px;
5794        --swym-storefront-layout-side-drawer-width: ${drawerWidth}px;
5795        --swym-storefront-layout-button-color-bg-primary: ${primaryBgColor};
5796        --swym-storefront-layout-button-color-text-primary: ${primaryTextColor};
5797        --swym-storefront-layout-button-color-bg-secondary: ${secondaryBgColor};
5798        --swym-storefront-layout-button-color-text-secondary: ${secondaryTextColor};
5799      }
5800    `;
5801
5802    // Create a <style> element and append the styles
5803    let styleSheet = document.createElement("style");
5804    styleSheet.type = "text/css";
5805    styleSheet.innerText = styles;
5806    document.head.appendChild(styleSheet);
5807
5808    if (typeof window.SwymStorefrontLayoutContext === 'undefined') {
5809        window.SwymStorefrontLayoutContext = {};
5810    }
5811    if (typeof window.SwymStorefrontLayoutExtensions === 'undefined'){
5812        window.SwymStorefrontLayoutExtensions = {};
5813    }
5814
5815    // Expose block settings toggle state so ThemeCSSMapping can respect it.
5816    // When true, theme editor color pickers take priority over inherited theme CSS variables.
5817    SwymStorefrontLayoutContext.BlockSettingsEnabled = isControlCentreEnabledFromBlockSettings;
5818
5819    if (isControlCentreEnabledFromBlockSettings) {
5820      // If block settings are enabled, use them
5821      SwymStorefrontLayoutContext.Settings = {
5822        EnableStorefrontLayoutOnLauncher: true,
5823        EnableStorefrontLayoutNotification: window?.SwymWishlistCommonCustomizationSettings?.enableStorefrontLayoutNotification ?? true,
5824        StorefrontLayoutType: window?.SwymWishlistCommonCustomizationSettings?.storefrontLayoutType || "as-drawer",
5825        StorefrontLayoutDrawerPosition: "left",
5826        StorefrontLayoutAsSectionContainerId: "swym-wishlist-render-container",
5827        StorefrontLayoutAsSectionPageURL: "/pages/swym-wishlist",
5828        EnableStorefrontLayoutVariantSelector: true,
5829        StorefrontLayoutNotificationPosition: "left",
5830        StorefrontLayoutActionPopupPosition: "left",
5831        StorefrontLayoutNotificationDuration: 5000
5832      };
5833    } else {
5834      // If only metafield is enabled but no block settings, use common settings
5835      SwymStorefrontLayoutContext.Settings = {
5836        EnableStorefrontLayoutOnLauncher: true,
5837        EnableStorefrontLayoutNotification: window?.SwymWishlistCommonCustomizationSettings?.enableStorefrontLayoutNotification ?? true,
5838        StorefrontLayoutType: window?.SwymWishlistCommonCustomizationSettings?.storefrontLayoutType || "as-drawer",
5839        StorefrontLayoutDrawerPosition: "left",
5840        StorefrontLayoutAsSectionContainerId: "swym-wishlist-render-container",
5841        StorefrontLayoutAsSectionPageURL: "/pages/swym-wishlist",
5842        EnableStorefrontLayoutVariantSelector: true,
5843        StorefrontLayoutNotificationPosition: "left",
5844        StorefrontLayoutActionPopupPosition: "left",
5845        StorefrontLayoutNotificationDuration: 5000
5846      };
5847    }
5848    const storefrontLayoutCallback = (swat) =>{
5849      SwymStorefrontLayoutContext.swat = swat;
5850      let isStoreOnPaidPlan = swat.getApp('Wishlist')?.['is-paid'];
5851      let isWishlistEnabled = swat.getApp('Wishlist')?.['enabled'];
5852      SwymStorefrontLayoutContext.Settings = {
5853        ...SwymStorefrontLayoutContext?.Settings,
5854        EnableStorefrontLayoutCollection: window?.SwymEnabledCommonFeatures?.["multiple-wishlist"] ?? false,
5855        EnableStorefrontLayout: isWishlistEnabled && (isControlCentreEnabledFromBlockSettings || isControlCentreEnabledFromMetafield),
5856      }
5857
5858      if(SwymStorefrontLayoutContext?.Settings?.EnableStorefrontLayout){
5859        if(SwymStorefrontLayoutContext?.CustomEvents?.LayoutInitialized){
5860          var event = new CustomEvent(SwymStorefrontLayoutContext.CustomEvents.LayoutInitialized, { 
5861            detail: { settings: SwymStorefrontLayoutContext?.Settings }
5862          });
5863          document.dispatchEvent(event);
5864        }else{
5865          swat.utils.warn(`LayoutInitialized event is not defined.`);
5866        }
5867      }else{
5868        swat.utils.warn(`Storefront Layout is disabled.`);
5869        document.getElementById("swym-storefront-layout-container")?.remove();
5870        document.getElementById("swym-storefront-extention-render-container")?.remove();
5871      }
5872    }
5873  
5874    if (!window.SwymCallbacks) {
5875      window.SwymCallbacks = [];
5876    }
5877    window.SwymCallbacks.push(storefrontLayoutCallback);
5878  
5879    SwymStorefrontLayoutContext.SwymCustomerData = {
5880      
5881        name: null,
5882        email: null
5883      
5884    };
5885    SwymStorefrontLayoutContext.isShopperLoggedIn = !!SwymStorefrontLayoutContext?.SwymCustomerData?.email;
5886  })();
5887</script>
5887
5888
5889
5890
5891
5892  
5893    <div id="swym-storefront-extention-render-container">
5894      <!-- BEGIN app snippet: swymStorefrontLayout -->
5894<script>
5895    (function () {
5896        const isControlCentreEnabledFromMetafield = window?.SwymEnabledCommonFeatures?.["control-centre"];
5897        const isControlCentreEnabledFromBlockSettings = false;
5898        const isCommonCustomizationEnabledFromMetafield = window?.SwymWishlistCommonCustomizationSettings && 
5899            Object.keys(window.SwymWishlistCommonCustomizationSettings).length > 0;
5900        
5901        if (!(isControlCentreEnabledFromMetafield && isCommonCustomizationEnabledFromMetafield) && !isControlCentreEnabledFromBlockSettings) {
5902            return;
5903        }
5904        if (typeof window.SwymStorefrontLayoutContext === 'undefined') {
5905            window.SwymStorefrontLayoutContext = {};
5906        }
5907        
5908        // Initialize strings with empty values first to prevent string changes after loadStrings()
5909        SwymStorefrontLayoutContext.Strings = {
5910            title: "",
5911            addToCart: "",
5912            addedToCart: "",
5913            addAllToCartCta: "",
5914            addAllToCartSuccessText: "",
5915            addAllToCartEmptyText: "",
5916            addAllToCartErrorText: "",
5917            soldOut: "",
5918            addingToCart: "",
5919            viewCartCta: "",
5920            moveToCartCta: "",
5921            movingToCartCta: "",
5922            removeSflItemCta: "",
5923
5924            loginHeading: "",
5925            loginText: "",
5926            loginButtonText: "",
5927            loggedUserWelcomeMessage: "",
5928            VariantSelectorBtnText: "",
5929            wishlistTitle: "",
5930            wishlistInfo: "",
5931            emptyWishlistTitle: "",
5932            emptyWishlistDescription: "",
5933            
5934            collectionTitle: "",
5935            emptyCarouselCollectionText: "",
5936            emptyCollectionText: "",
5937            emptyCollectionDescription: "",
5938            
5939            addToCollectionTitle: "",
5940            removeItemCta: "",
5941            addToCollectionCta: "",
5942            createCollectionCta: "",
5943            saveNewCollectionCta: "",
5944            renameCollectionCta: "",
5945            deleteCollectionCta: "",
5946            shareCollectionCta: "",
5947            saveCollectionCta: "",
5948            editCollectionCta: "",
5949            shareCollectionTitle: "",
5950            shareCollectionMessage: "",
5951            sharedCollectionMessage: "",
5952            updateCollectionTitle: "",
5953
5954            errorMessageListNameRequired: "",
5955            errorMessageListNameRequire3Char: "",
5956            errorMessageListNameAlreadyExist: "",
5957
5958            notificationMessageItemSaved: "",
5959            notificationMessageItemRemoved: "",
5960            notificationMessageAddedToCart: "",
5961            notificationMessageAddedToCollection: "",
5962            notificationMessageCollectionSaved: "",
5963            notificationMessageCollectionDeleted: "",
5964            notificationMessageCollectionUpdated: "",
5965            notificationMessageCollectionUnavailable: "",
5966            notificationMessageSFLItemSaved: "",
5967            notificationMessageSFLItemRemoved: "",
5968            notificationMessageMovedToCart: "",
5969
5970            notificationActionAddToCollection: "",
5971            notificationActionView: "",
5972            notificationActionViewCollection: "",
5973            notificationActionGoToCart: "",
5974
5975            item: "",
5976            items: "",
5977
5978            tabWishlist: "",
5979            tabSavedForLater: "",
5980            tabSavedForYou: "",
5981            
5982            savedForLaterTitle: "",
5983            emptySavedForLaterTitle: "",
5984            emptySavedForLaterDescription: "",
5985
5986            awNudgeMessage: "",
5987            awNudgeMessageSub: "",
5988            awNudgeLoginCTA: "",
5989            awNudgeDismiss: "",
5990
5991            emptySingleLoggedInTitle: "",
5992            emptySingleLoggedInDescription: "",
5993            emptySingleLoggedInBullet1: "",
5994            emptySingleLoggedInBullet2: "",
5995            emptySingleLoggedInBullet3: "",
5996            emptySingleLoggedInCTA: "",
5997
5998            emptyMultiLoggedInTitle: "",
5999            emptyMultiLoggedInDescription: "",
6000            emptyMultiLoggedInCreateTitle: "",
6001            emptyMultiLoggedInCreateDescription: "",
6002            emptyMultiLoggedInBrowseLabel: "",
6003            emptyMultiLoggedInCTA: "",
6004            emptyMultiLoggedInTag1: "",
6005            emptyMultiLoggedInTag2: "",
6006            emptyMultiLoggedInTag3: "",
6007            emptyMultiLoggedInTag4: "",
6008            emptyMultiLoggedInTag5: "",
6009
6010            emptyGuestTitle: "",
6011            emptyGuestDescription: "",
6012            emptyGuestSingleNotice: "",
6013            emptyGuestMultiNotice: "",
6014            emptyGuestLoginCTA: "",
6015            emptyGuestBrowseCTA: "",
6016            emptyGuestSignupText: "",
6017            emptyGuestSignupCTA: "",
6018
6019            emptySflTitle: "",
6020            emptySflDescription: "",
6021            emptySflStep1Title: "",
6022            emptySflStep1Description: "",
6023            emptySflStep2Title: "",
6024            emptySflStep2Description: "",
6025            emptySflLoggedInNotice: "",
6026            emptySflGuestNotice: "",
6027            emptySflGoToCartCTA: "",
6028            emptySflLoginCTA: "",
6029            emptySflSignupText: "",
6030            emptySflSignupCTA: ""
6031        };
6032
6033        SwymStorefrontLayoutContext.stringsLoaded = false;
6034        SwymStorefrontLayoutContext.StorefrontLayoutUrls = SwymStorefrontLayoutContext.StorefrontLayoutUrls || {};
6035        SwymStorefrontLayoutContext.StorefrontLayoutUrls.Login = "\/customer_authentication\/login?return_to=%2Fproducts%2Fskin-drink-i-v\u0026locale=en\u0026ui_hint=full\u0026region_country=US";
6036
6037        /** 
6038        * Function to override Swym's default UI behavior.
6039        **/
6040        const overrideSwymDefaultUI = (swat) => {
6041            try{
6042                swat.ui.open = function(){
6043                    window.location.hash = SwymStorefrontLayoutContext?.StorefrontLayoutUrls?.List;
6044                }
6045
6046                if (swat.ui?.uiRef?.settings?.UI) {
6047                    swat.ui.uiRef.settings.UI.NotificationDisabled = true;
6048                }
6049            }catch(e){
6050                swat.utils?.warn('Error overriding Swym default UI:', e);
6051            }
6052        }
6053
6054        /**
6055        * Callback function to override Swym's default UI behavior based on Storefront Layout settings.
6056        * 
6057        * - Overrides `swat.ui.open` to redirect to a custom Storefront Layout URL if enabled.
6058        * - Overrides Swym's default notifications to log notifications instead of displaying them.
6059        * - Ensures the callback is pushed to `window.SwymCallbacks` for execution when Swym is initialized.
6060        * 
6061        * @param {Object} swat - Swym's UI object used for overriding UI behaviors.
6062        */
6063        const swymStorefrontLayoutCallback = (swat) =>{
6064            SwymStorefrontLayoutContext.swat = swat;
6065            
6066            overrideSwymDefaultUI(swat);
6067
6068
6069            let triggerHeartbeat = swat?.ExtensionHealth?.triggerExtensionHeartbeat;
6070            if (typeof triggerHeartbeat !== "function") return;
6071
6072            let wishlistNewUiHeartbeatData = '';
6073            try {
6074                wishlistNewUiHeartbeatData = JSON.parse(wishlistNewUiHeartbeatData) || {};
6075            } catch (e) {
6076                wishlistNewUiHeartbeatData = {};
6077            }
6078
6079            let themeId = window.Shopify.theme.id;
6080            let isDesignMode = !!window.swymDesignMode;
6081            let lastHeartbeat = isDesignMode ? wishlistNewUiHeartbeatData?.editor : wishlistNewUiHeartbeatData?.[themeId];
6082            let themeContext = isDesignMode ? 'editor' : themeId;
6083            let extensionData = {
6084                extensionName: "wishlist-new-ui", 
6085                extensionType: "app-embed", 
6086                metadata: {}, 
6087                themeId: themeContext, 
6088                extensionSource: "default"
6089            };
6090            /** Stop heartbeat
6091            triggerHeartbeat(extensionData, lastHeartbeat);
6092            */
6093        }
6094        
6095        if (!window.SwymCallbacks) {
6096            window.SwymCallbacks = [];
6097        }
6098        window.SwymCallbacks.push(swymStorefrontLayoutCallback);
6099    })();
6100</script>
6100
6101<link rel="stylesheet" href="https://cdn.shopify.com/extensions/01a0d2a3-23d4-7eab-8707-4bef87dc5dd8/swym-relay-839/assets/storefront-layout.css">
6102<script src="https://cdn.shopify.com/extensions/01a0d2a3-23d4-7eab-8707-4bef87dc5dd8/swym-relay-839/assets/async-wishlist-apis.js" defer="defer"></script>
vendor: 1 bytes, line 6102
6102
6103<script src="https://cdn.shopify.com/extensions/01a0d2a3-23d4-7eab-8707-4bef87dc5dd8/swym-relay-839/assets/storefront-layout.js" defer="defer"></script>
vendor: 1 bytes, line 6103
6103
6104<script src="https://cdn.shopify.com/extensions/01a0d2a3-23d4-7eab-8707-4bef87dc5dd8/swym-relay-839/assets/storefront-layout-components.js" defer="defer"></script>
6104
6105
6106<swym-storefront-layout class="swym-storefront-layout-root-component"></swym-storefront-layout>
6107<!-- END app snippet -->
6108    </div>
6109    <!-- BEGIN app snippet: swymEducationTooltip -->
6110
6111
6112  
6113
6114  <div id="swym-education-tooltip" aria-hidden="true"
6115    data-toast-desktop-message="Interesting? Click &#39;{{wishlistIcon}}&#39; to save it to your {{wishlistName}}."
6116    data-toast-mobile-message="Interesting? Tap &#39;{{wishlistIcon}}&#39; to add to your {{wishlistName}}."
6117    data-toast-cta="Wishlist Now"
6118    data-tooltip-desktop-message="Interesting? Click &#39;{{wishlistIcon}}&#39; to save it to your {{wishlistName}}."
6119    data-tooltip-mobile-message="Interesting? Tap &#39;{{wishlistIcon}}&#39; to add to your {{wishlistName}}."
6120    data-button-transition-text-1="Price drops? Know first."
6121    data-button-transition-text-2="Almost gone. Just saying."
6122    data-button-transition-text-3="Yours when ready.">
6123  </div>
6124
6125  <div id="swym-education-tooltip-bubble" class="swym-education-tooltip swym-education-tooltip-above" aria-hidden="true" role="tooltip">
6126    <div class="swym-education-tooltip-content">
6127      <span class="swym-education-tooltip-message"></span>
6128      <button class="swym-education-tooltip-close" data-swym-education-tooltip-close aria-label="Close consent dialog">
6129        <svg width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2">
6130          <path d="M18 6L6 18M6 6l12 12"></path>
6131        </svg>
6132      </button>
6133    </div>
6134    <div class="swym-education-tooltip-arrow"></div>
6135  </div>
6136
6137  <style>
6138    /* Education tooltip — positioned fixed, managed by JS */
6139    .swym-education-tooltip {
6140      position: fixed;
6141      z-index: 500;
6142      visibility: hidden;
6143      opacity: 0;
6144      transition: opacity 0.2s ease, visibility 0.2s ease;
6145      pointer-events: none;
6146    }
6147    .swym-education-tooltip.swym-education-tooltip-visible {
6148      visibility: visible;
6149      opacity: 1;
6150      pointer-events: auto;
6151    }
6152    .swym-education-tooltip-content {
6153      background: var(--swym-storefront-layout-notification-neutral-bg-color, #FFFFFF);
6154      color: var(--swym-storefront-layout-notification-neutral-text-color, #383d41);
6155      border: 1px solid var(--swym-storefront-layout-notification-neutral-border-color, #d6d8db);
6156      padding: 10px 14px;
6157      border-radius: var(--swym-storefront-layout-ui-border-radius, 10px);
6158      font-size: 13px;
6159      line-height: 1.4;
6160      display: flex;
6161      align-items: center;
6162      gap: 8px;
6163      max-width: 320px;
6164      box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
6165    }
6166    .swym-education-tooltip-message {
6167      flex: 1;
6168    }
6169    .swym-education-tooltip-close {
6170      background: none;
6171      border: none;
6172      color: inherit;
6173      cursor: pointer;
6174      padding: 2px;
6175      line-height: 1;
6176      flex-shrink: 0;
6177      opacity: 0.7;
6178    }
6179    .swym-education-tooltip-close:hover {
6180      opacity: 1;
6181    }
6182
6183    /* Button text fade transition for education nudge */
6184    .swym-btn-text-fade-out {
6185      opacity: 0;
6186      transition: opacity 0.2s ease;
6187    }
6188    .swym-btn-text-fade-in {
6189      opacity: 1;
6190      transition: opacity 0.3s ease;
6191    }
6192
6193    /* Arrow — points down when tooltip is above, up when below */
6194    .swym-education-tooltip-arrow {
6195      width: 0;
6196      height: 0;
6197      position: absolute;
6198      left: 50%;
6199      transform: translateX(-50%);
6200    }
6201    .swym-education-tooltip-above .swym-education-tooltip-arrow {
6202      bottom: -6px;
6203      border-left: 6px solid transparent;
6204      border-right: 6px solid transparent;
6205      border-top: 6px solid var(--swym-storefront-layout-notification-neutral-bg-color, #FFFFFF);
6206    }
6207    .swym-education-tooltip-below .swym-education-tooltip-arrow {
6208      top: -6px;
6209      border-left: 6px solid transparent;
6210      border-right: 6px solid transparent;
6211      border-bottom: 6px solid var(--swym-storefront-layout-notification-neutral-bg-color, #FFFFFF);
6212    }
6213
6214    /* Hidden data element */
6215    #swym-education-tooltip {
6216      display: none;
6217    }
6218
6219    @media (max-width: 480px) {
6220      .swym-education-tooltip-content {
6221        max-width: 90vw;
6222        font-size: 12px;
6223      }
6224    }
6225  </style>
6226
6227  
6227<script src="https://cdn.shopify.com/extensions/01a0d2a3-23d4-7eab-8707-4bef87dc5dd8/swym-relay-839/assets/swym-education-tooltip.js" defer="defer"></script>
6227
6228  
6228<script src="https://cdn.shopify.com/extensions/01a0d2a3-23d4-7eab-8707-4bef87dc5dd8/swym-relay-839/assets/swym-education.js" defer="defer"></script>
6228
6229
6230<!-- END app snippet -->
6231  
6232
6233</div>
6233<script src="https://cdn.shopify.com/storefront/standard-actions.js" type="module" data-source-attribution="shopify.standard_actions"></script>
6233
6234</body>
6235
6236  <div id="shopify-section-app-optimization" class="shopify-section">
6237
6238</div>
6239</html>

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.