1<!doctype html> 2 3<html class="no-js" lang="en" dir="ltr"> 4 <head> 5 <!-- END app snippet --> 6 7 <!-- Google Tag Manager -->
8<script>
vendor: 327 bytes, lines 8-12
8(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start': 9new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0], 10j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src= 11'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f); 12})(window,document,'script','dataLayer','
12GTM-WDT83FFB
vendor: 3 bytes, line 12
12');
12</script>
12 13<!-- End Google Tag Manager --> 14
14<script> 15 function sendToHeap(name,action,category ) { Shopify.analytics.publish("YR-event", { event_name: name, event_action:action, event_cateogry:category }); } 16 function sendToMeta(name,action,category ) { Shopify.analytics.publish("Meta-event", { event_name: name, event_action:action, event_cateogry:category }); } 17 </script>
17 18 19 20 <!-- Google Fonts --> 21 <link rel="preconnect" href="https://fonts.googleapis.com"> 22 <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin> 23 <link href="https://fonts.googleapis.com/css2?family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&display=swap" rel="stylesheet"> 24 <!-- End Google Fonts --> 25 26
26<script> 27(function () { 28 var bucketSize = 200; 29 var firedGroups = new Set(); 30 var productTitle = ''; 31 32 function getScrollY() { 33 return window.pageYOffset || document.documentElement.scrollTop || 0; 34 } 35 36 function handleScrollDepth() { 37 var scrollY = getScrollY(); 38 39 if (scrollY < bucketSize) return; 40 41 var currentGroup = Math.floor(scrollY / bucketSize); 42 43 for (var group = 1; group <= currentGroup; group++) { 44 if (!firedGroups.has(group)) { 45 firedGroups.add(group); 46 47 var eventCategory = group === 1 48 ? '200+' 49 : (group * bucketSize) + '+'; 50 51 sendToHeap( 52 'Scroll depth', 53 eventCategory, 54 productTitle 55 ); 56 console.log(eventCategory) 57 } 58 } 59 } 60 61 window.addEventListener('scroll', handleScrollDepth, { passive: true }); 62 window.addEventListener('load', handleScrollDepth); 63})(); 64</script>
64 65 66
66<script>var _learnq = window._learnq || [];</script>
66 67 <meta charset="utf-8"> 68 <meta name="viewport" content="width=device-width, initial-scale=1.0, height=device-height, minimum-scale=1.0, maximum-scale=5.0"> 69 70 71 72 73 74 75 76 77 78 79 <title>Your Shopping Cart</title> 80 81 82 83 84 85 <link rel="canonical" href="https://yvesrocherusa.com/cart"> 86 87<link rel="shortcut icon" href="//yvesrocherusa.com/cdn/shop/files/favicon-32x32.png?v=1719168886&width=96"> 88 <link rel="apple-touch-icon" href="//yvesrocherusa.com/cdn/shop/files/favicon-32x32.png?v=1719168886&width=180"><link rel="preconnect" href="https://fonts.shopifycdn.com" crossorigin><link rel="preload" href="//yvesrocherusa.com/cdn/fonts/instrument_sans/instrumentsans_n4.db86542ae5e1596dbdb28c279ae6c2086c4c5bfa.woff2" as="font" type="font/woff2" crossorigin><link rel="preload" href="//yvesrocherusa.com/cdn/fonts/instrument_sans/instrumentsans_n4.db86542ae5e1596dbdb28c279ae6c2086c4c5bfa.woff2" as="font" type="font/woff2" crossorigin><meta property="og:type" content="website"> 89 <meta property="og:title" content="Your Shopping Cart"><meta property="og:url" content="https://yvesrocherusa.com/cart"> 90<meta property="og:site_name" content="Yves Rocher USA"><meta name="twitter:card" content="summary"><meta name="twitter:title" content="Your Shopping Cart"> 91 <meta name="twitter:description" content="Your Shopping Cart"> 92 93 94
94<script type="application/ld+json"> 95 { 96 "@context": "https://schema.org", 97 "@type": "BreadcrumbList", 98 "itemListElement": [{ 99 "@type": "ListItem", 100 "position": 1, 101 "name": "Home", 102 "item": "https://yvesrocherusa.com" 103 }] 104 } 105 </script>
105 106 107<style>/* Typography (heading) */ 108 @font-face { 109 font-family: "Instrument Sans"; 110 font-weight: 400; 111 font-style: normal; 112 font-display: fallback; 113 src: url("//yvesrocherusa.com/cdn/fonts/instrument_sans/instrumentsans_n4.db86542ae5e1596dbdb28c279ae6c2086c4c5bfa.woff2") format("woff2"), 114 url("//yvesrocherusa.com/cdn/fonts/instrument_sans/instrumentsans_n4.510f1b081e58d08c30978f465518799851ef6d8b.woff") format("woff"); 115} 116 117@font-face { 118 font-family: "Instrument Sans"; 119 font-weight: 400; 120 font-style: italic; 121 font-display: fallback; 122 src: url("//yvesrocherusa.com/cdn/fonts/instrument_sans/instrumentsans_i4.028d3c3cd8d085648c808ceb20cd2fd1eb3560e5.woff2") format("woff2"), 123 url("//yvesrocherusa.com/cdn/fonts/instrument_sans/instrumentsans_i4.7e90d82df8dee29a99237cd19cc529d2206706a2.woff") format("woff"); 124} 125 126/* Typography (body) */ 127 @font-face { 128 font-family: "Instrument Sans"; 129 font-weight: 400; 130 font-style: normal; 131 font-display: fallback; 132 src: url("//yvesrocherusa.com/cdn/fonts/instrument_sans/instrumentsans_n4.db86542ae5e1596dbdb28c279ae6c2086c4c5bfa.woff2") format("woff2"), 133 url("//yvesrocherusa.com/cdn/fonts/instrument_sans/instrumentsans_n4.510f1b081e58d08c30978f465518799851ef6d8b.woff") format("woff"); 134} 135 136@font-face { 137 font-family: "Instrument Sans"; 138 font-weight: 400; 139 font-style: italic; 140 font-display: fallback; 141 src: url("//yvesrocherusa.com/cdn/fonts/instrument_sans/instrumentsans_i4.028d3c3cd8d085648c808ceb20cd2fd1eb3560e5.woff2") format("woff2"), 142 url("//yvesrocherusa.com/cdn/fonts/instrument_sans/instrumentsans_i4.7e90d82df8dee29a99237cd19cc529d2206706a2.woff") format("woff"); 143} 144 145@font-face { 146 font-family: "Instrument Sans"; 147 font-weight: 700; 148 font-style: normal; 149 font-display: fallback; 150 src: url("//yvesrocherusa.com/cdn/fonts/instrument_sans/instrumentsans_n7.e4ad9032e203f9a0977786c356573ced65a7419a.woff2") format("woff2"), 151 url("//yvesrocherusa.com/cdn/fonts/instrument_sans/instrumentsans_n7.b9e40f166fb7639074ba34738101a9d2990bb41a.woff") format("woff"); 152} 153 154@font-face { 155 font-family: "Instrument Sans"; 156 font-weight: 700; 157 font-style: italic; 158 font-display: fallback; 159 src: url("//yvesrocherusa.com/cdn/fonts/instrument_sans/instrumentsans_i7.d6063bb5d8f9cbf96eace9e8801697c54f363c6a.woff2") format("woff2"), 160 url("//yvesrocherusa.com/cdn/fonts/instrument_sans/instrumentsans_i7.ce33afe63f8198a3ac4261b826b560103542cd36.woff") format("woff"); 161} 162 163:root { 164 /* Container */ 165 --container-max-width: 100%; 166 --container-xxs-max-width: 27.5rem; /* 440px */ 167 --container-xs-max-width: 42.5rem; /* 680px */ 168 --container-sm-max-width: 61.25rem; /* 980px */ 169 --container-md-max-width: 71.875rem; /* 1150px */ 170 --container-lg-max-width: 78.75rem; /* 1260px */ 171 --container-xl-max-width: 85rem; /* 1360px */ 172 --container-gutter: 1.25rem; 173 174 --section-vertical-spacing: 2.5rem; 175 --section-vertical-spacing-tight:2.5rem; 176 177 --section-stack-gap:2.25rem; 178 --section-stack-gap-tight:2.25rem; 179 180 /* Form settings */ 181 --form-gap: 1.25rem; /* Gap between fieldset and submit button */ 182 --fieldset-gap: 1rem; /* Gap between each form input within a fieldset */ 183 --form-control-gap: 0.625rem; /* Gap between input and label (ignored for floating label) */ 184 --checkbox-control-gap: 0.75rem; /* Horizontal gap between checkbox and its associated label */ 185 --input-padding-block: 0.65rem; /* Vertical padding for input, textarea and native select */ 186 --input-padding-inline: 0.8rem; /* Horizontal padding for input, textarea and native select */ 187 --checkbox-size: 0.875rem; /* Size (width and height) for checkbox */ 188 189 /* Other sizes */ 190 --sticky-area-height: calc(var(--announcement-bar-is-sticky, 0) * var(--announcement-bar-height, 0px) + var(--header-is-sticky, 0) * var(--header-is-visible, 1) * var(--header-height, 0px)); 191 192 /* RTL support */ 193 --transform-logical-flip: 1; 194 --transform-origin-start: left; 195 --transform-origin-end: right; 196 197 /** 198 * --------------------------------------------------------------------- 199 * TYPOGRAPHY 200 * --------------------------------------------------------------------- 201 */ 202 203 /* Font properties */ 204 --heading-font-family: "Instrument Sans", sans-serif;
205 --heading-font-weight: 400; 206 --heading-font-style: normal; 207 --heading-text-transform: uppercase; 208 --heading-letter-spacing: 0.18em; 209 --text-font-family: "Instrument Sans", sans-serif; 210 --text-font-weight: 400; 211 --text-font-style: normal; 212 --text-letter-spacing: 0.0em; 213 --button-font: var(--text-font-style) var(--text-font-weight) var(--text-sm) / 1.65 var(--text-font-family); 214 --button-text-transform: uppercase; 215 --button-letter-spacing: 0.18em; 216 217 /* Font sizes */--text-heading-size-factor: 1; 218 --text-h1: max(0.6875rem, clamp(1.375rem, 1.146341463414634rem + 0.975609756097561vw, 2rem) * var(--text-heading-size-factor)); 219 --text-h2: max(0.6875rem, clamp(1.25rem, 1.0670731707317074rem + 0.7804878048780488vw, 1.75rem) * var(--text-heading-size-factor)); 220 --text-h3: max(0.6875rem, clamp(1.125rem, 1.0335365853658536rem + 0.3902439024390244vw, 1.375rem) * var(--text-heading-size-factor)); 221 --text-h4: max(0.6875rem, clamp(1rem, 0.9542682926829268rem + 0.1951219512195122vw, 1.125rem) * var(--text-heading-size-factor)); 222 --text-h5: calc(0.875rem * var(--text-heading-size-factor)); 223 --text-h6: calc(0.75rem * var(--text-heading-size-factor)); 224 225 --text-xs: 0.75rem; 226 --text-sm: 0.8125rem; 227 --text-base: 0.875rem; 228 --text-lg: 1.0rem; 229 --text-xl: 1.125rem; 230 231 /* Rounded variables (used for border radius) */ 232 --rounded-full: 9999px; 233 --button-border-radius: 0.0rem; 234 --input-border-radius: 0.0rem; 235 236 /* Box shadow */ 237 --shadow-sm: 0 2px 8px rgb(0 0 0 / 0.05); 238 --shadow: 0 5px 15px rgb(0 0 0 / 0.05); 239 --shadow-md: 0 5px 30px rgb(0 0 0 / 0.05); 240 --shadow-block: px px px rgb(var(--text-primary) / 0.0); 241 242 /** 243 * --------------------------------------------------------------------- 244 * OTHER 245 * --------------------------------------------------------------------- 246 */ 247 248 --checkmark-svg-url: url(//yvesrocherusa.com/cdn/shop/t/15/assets/checkmark.svg?v=77552481021870063511774949817); 249 --cursor-zoom-in-svg-url: url(//yvesrocherusa.com/cdn/shop/t/15/assets/cursor-zoom-in.svg?v=112480252220988712521774958867); 250 } 251 252 [dir="rtl"]:root { 253 /* RTL support */ 254 --transform-logical-flip: -1; 255 --transform-origin-start: right; 256 --transform-origin-end: left; 257 } 258 259 @media screen and (min-width: 700px) { 260 :root { 261 /* Typography (font size) */ 262 --text-xs: 0.75rem; 263 --text-sm: 0.8125rem; 264 --text-base: 0.875rem; 265 --text-lg: 1.0rem; 266 --text-xl: 1.25rem; 267 268 /* Spacing settings */ 269 --container-gutter: 2rem; 270 } 271 } 272 273 @media screen and (min-width: 1000px) { 274 :root { 275 /* Spacing settings */ 276 --container-gutter: 3rem; 277 278 --section-vertical-spacing: 4rem; 279 --section-vertical-spacing-tight: 4rem; 280 281 --section-stack-gap:3rem; 282 --section-stack-gap-tight:3rem; 283 } 284 }:root {/* Overlay used for modal */ 285 --page-overlay: 0 0 0 / 0.4; 286 287 /* We use the first scheme background as default */ 288 --page-background: ; 289 290 /* Product colors */ 291 --on-sale-text: 203 0 80; 292 --on-sale-badge-background: 203 0 80; 293 --on-sale-badge-text: 255 255 255; 294 --sold-out-badge-background: 239 239 239; 295 --sold-out-badge-text: 0 0 0 / 0.65; 296 --custom-badge-background: 28 28 28; 297 --custom-badge-text: 255 255 255; 298 --star-color: 28 28 28; 299 300 /* Status colors */ 301 --success-background: 212 227 203; 302 --success-text: 48 122 7; 303 --warning-background: 253 241 224; 304 --warning-text: 237 138 0; 305 --error-background: 243 204 204; 306 --error-text: 203 43 43; 307 }.color-scheme--scheme-1 { 308 /* Color settings */--accent: 28 28 28; 309 --text-color: 28 28 28; 310 --background: 255 255 255 / 1.0; 311 --background-without-opacity: 255 255 255; 312 --background-gradient: ;--border-color: 221 221 221;/* Button colors */ 313 --button-background: 28 28 28; 314 --button-text-color: 255 255 255; 315 316 /* Circled buttons */ 317 --circle-button-background: 255 255 255; 318 --circle-button-text-color: 28 28 28; 319 }.shopify-section:has(.section-spacing.color-scheme--bg-54922f2e920ba8346f6dc0fba343d673) + .shopify-section:has(.section-spacing.color-scheme--bg-54922f2e920ba8346f6dc0fba343d673:not(.bordered-section)) .section-spacing { 320 padding-block-start: 0; 321 }.color-scheme--scheme-2 {
322 /* Color settings */--accent: 28 28 28; 323 --text-color: 28 28 28; 324 --background: 255 255 255 / 1.0; 325 --background-without-opacity: 255 255 255; 326 --background-gradient: ;--border-color: 221 221 221;/* Button colors */ 327 --button-background: 28 28 28; 328 --button-text-color: 255 255 255; 329 330 /* Circled buttons */ 331 --circle-button-background: 255 255 255; 332 --circle-button-text-color: 28 28 28; 333 }.shopify-section:has(.section-spacing.color-scheme--bg-54922f2e920ba8346f6dc0fba343d673) + .shopify-section:has(.section-spacing.color-scheme--bg-54922f2e920ba8346f6dc0fba343d673:not(.bordered-section)) .section-spacing { 334 padding-block-start: 0; 335 }.color-scheme--scheme-3 { 336 /* Color settings */--accent: 255 255 255; 337 --text-color: 255 255 255; 338 --background: 28 28 28 / 1.0; 339 --background-without-opacity: 28 28 28; 340 --background-gradient: ;--border-color: 62 62 62;/* Button colors */ 341 --button-background: 255 255 255; 342 --button-text-color: 28 28 28; 343 344 /* Circled buttons */ 345 --circle-button-background: 255 255 255; 346 --circle-button-text-color: 28 28 28; 347 }.shopify-section:has(.section-spacing.color-scheme--bg-c1f8cb21047e4797e94d0969dc5d1e44) + .shopify-section:has(.section-spacing.color-scheme--bg-c1f8cb21047e4797e94d0969dc5d1e44:not(.bordered-section)) .section-spacing { 348 padding-block-start: 0; 349 }.color-scheme--scheme-4 { 350 /* Color settings */--accent: 255 255 255; 351 --text-color: 255 255 255; 352 --background: 30 53 26 / 1.0; 353 --background-without-opacity: 30 53 26; 354 --background-gradient: ;--border-color: 64 83 60;/* Button colors */ 355 --button-background: 255 255 255; 356 --button-text-color: 255 255 255; 357 358 /* Circled buttons */ 359 --circle-button-background: 255 255 255; 360 --circle-button-text-color: 28 28 28; 361 }.shopify-section:has(.section-spacing.color-scheme--bg-bf74fb6501222fb269abc09cce903774) + .shopify-section:has(.section-spacing.color-scheme--bg-bf74fb6501222fb269abc09cce903774:not(.bordered-section)) .section-spacing { 362 padding-block-start: 0; 363 }.color-scheme--scheme-2bb46239-6d0b-420c-a8e9-5822e6ba489d { 364 /* Color settings */--accent: 125 143 62; 365 --text-color: 28 28 28; 366 --background: 249 250 247 / 1.0; 367 --background-without-opacity: 249 250 247; 368 --background-gradient: ;--border-color: 216 217 214;/* Button colors */ 369 --button-background: 125 143 62; 370 --button-text-color: 255 255 255; 371 372 /* Circled buttons */ 373 --circle-button-background: 255 255 255; 374 --circle-button-text-color: 28 28 28; 375 }.shopify-section:has(.section-spacing.color-scheme--bg-bdf8b556af86beb139297b1fd60c6dcd) + .shopify-section:has(.section-spacing.color-scheme--bg-bdf8b556af86beb139297b1fd60c6dcd:not(.bordered-section)) .section-spacing { 376 padding-block-start: 0; 377 }.color-scheme--scheme-5c48d877-fe9f-452a-9770-fbb408796abe { 378 /* Color settings */--accent: 255 255 255; 379 --text-color: 255 255 255; 380 --background: 39 46 15 / 1.0; 381 --background-without-opacity: 39 46 15; 382 --background-gradient: ;--border-color: 71 77 51;/* Button colors */ 383 --button-background: 255 255 255; 384 --button-text-color: 28 28 28; 385 386 /* Circled buttons */ 387 --circle-button-background: 255 255 255; 388 --circle-button-text-color: 28 28 28; 389 }.shopify-section:has(.section-spacing.color-scheme--bg-6813153c06199005503279fbcc717673) + .shopify-section:has(.section-spacing.color-scheme--bg-6813153c06199005503279fbcc717673:not(.bordered-section)) .section-spacing { 390 padding-block-start: 0; 391 }.color-scheme--scheme-c2ae2845-00eb-49be-85f4-bbd1aaf2cb74 { 392 /* Color settings */--accent: 28 28 28; 393 --text-color: 255 255 255; 394 --background: 203 0 80 / 1.0; 395 --background-without-opacity: 203 0 80; 396 --background-gradient: ;--border-color: 211 38 106;/* Button colors */ 397 --button-background: 28 28 28; 398 --button-text-color: 255 255 255; 399 400 /* Circled buttons */ 401 --circle-button-background: 255 255 255; 402 --circle-button-text-color: 28 28 28; 403 }.shopify-section:has(.section-spacing.color-scheme--bg-88465f8891a570fb6f5052bb52b9680d) + .shopify-section:has(.section-spacing.color-scheme--bg-88465f8891a570fb6f5052bb52b9680d:not(.bordered-section)) .section-spacing { 404 padding-block-start: 0; 405 }.color-scheme--scheme-4afabc12-6230-4535-ba37-948d1bdd04a8 { 406 /* Color settings */--accent: 28 28 28; 407 --text-color: 28 28 28; 408 --background: 0 0 0 / 0.0; 409 --background-without-opacity: 0 0 0; 410 --background-gradient: linear-gradient(180deg, rgba(247, 225, 213, 1), rgba(249, 233, 225, 1) 100%);--border-color: 28 28 28 / 0.15;/* Button colors */ 411 --button-background: 28 28 28; 412 --button-text-color: 255 255 255; 413 414 /* Circled buttons */ 415 --circle-button-background: 255 255 255; 416 --circle-button-text-color: 28 28 28; 417 }.shopify-section:has(.section-spacing.color-scheme--bg-0cf6a66dd6e5f02b413c645148c546c9) + .shopify-section:has(.section-spacing.color-scheme--bg-0cf6a66dd6e5f02b413c645148c546c9:not(.bordered-section)) .section-spacing { 418 padding-block-start: 0; 419 }.color-scheme--scheme-ba27e9f1-ca7d-463c-a4df-68c5ad9d1044 { 420 /* Color settings */--accent: 28 28 28; 421 --text-color: 255 255 255; 422 --background: 251 0 179 / 1.0; 423 --background-without-opacity: 251 0 179; 424 --background-gradient: ;--border-color: 252 38 190;/* Button colors */ 425 --button-background: 28 28 28; 426 --button-text-color: 255 255 255; 427 428 /* Circled buttons */ 429 --circle-button-background: 255 255 255; 430 --circle-button-text-color: 28 28 28; 431 }.shopify-section:has(.section-spacing.color-scheme--bg-333be350bff0a454005fa2f9919c55d4) + .shopify-section:has(.section-spacing.color-scheme--bg-333be350bff0a454005fa2f9919c55d4:not(.bordered-section)) .section-spacing { 432 padding-block-start: 0; 433 }.color-scheme--scheme-03c2ab75-755f-4ba2-ba9a-70ee4407a07f { 434 /* Color settings */--accent: 2 1 0; 435 --text-color: 231 244 189; 436 --background: 2 1 0 / 1.0; 437 --background-without-opacity: 2 1 0; 438 --background-gradient: ;--border-color: 36 37 28;/* Button colors */ 439 --button-background: 2 1 0; 440 --button-text-color: 231 244 189; 441 442 /* Circled buttons */ 443 --circle-button-background: 255 255 255; 444 --circle-button-text-color: 28 28 28; 445 }.shopify-section:has(.section-spacing.color-scheme--bg-48740ae445204b16776df5d87ab065e6) + .shopify-section:has(.section-spacing.color-scheme--bg-48740ae445204b16776df5d87ab065e6:not(.bordered-section)) .section-spacing { 446 padding-block-start: 0; 447 }.color-scheme--scheme-79471f4e-942a-4938-a174-82fe6956c465 { 448 /* Color settings */--accent: 255 141 175; 449 --text-color: 255 255 255; 450 --background: 255 141 175 / 1.0; 451 --background-without-opacity: 255 141 175; 452 --background-gradient: ;--border-color: 255 158 187;/* Button colors */ 453 --button-background: 255 141 175; 454 --button-text-color: 255 255 255; 455 456 /* Circled buttons */ 457 --circle-button-background: 255 255 255; 458 --circle-button-text-color: 28 28 28; 459 }.shopify-section:has(.section-spacing.color-scheme--bg-6d1ec68470ba3dc7ad7871c167696aa4) + .shopify-section:has(.section-spacing.color-scheme--bg-6d1ec68470ba3dc7ad7871c167696aa4:not(.bordered-section)) .section-spacing { 460 padding-block-start: 0; 461 }.color-scheme--dialog { 462 /* Color settings */--accent: 125 143 62; 463 --text-color: 28 28 28; 464 --background: 249 250 247 / 1.0; 465 --background-without-opacity: 249 250 247; 466 --background-gradient: ;--border-color: 216 217 214;/* Button colors */ 467 --button-background: 125 143 62; 468 --button-text-color: 255 255 255; 469 470 /* Circled buttons */ 471 --circle-button-background: 255 255 255; 472 --circle-button-text-color: 28 28 28; 473 } 474</style>
474<script> 475 document.documentElement.classList.replace('no-js', 'js'); 476 477 // This allows to expose several variables to the global scope, to be used in scripts 478 window.themeVariables = { 479 settings: { 480 showPageTransition: false, 481 pageType: "cart", 482 moneyFormat: "${{amount}}", 483 moneyWithCurrencyFormat: "${{amount}} USD", 484 currencyCodeEnabled: false, 485 cartType: "drawer", 486 staggerMenuApparition: true 487 }, 488 489 strings: { 490 addToCartButton: "Add to cart", 491 soldOutButton: "Sold out", 492 preOrderButton: "Pre-order", 493 unavailableButton: "Unavailable", 494 addedToCart: "Added to your cart!", 495 closeGallery: "Close gallery", 496 zoomGallery: "Zoom picture", 497 errorGallery: "Image cannot be loaded", 498 soldOutBadge: "Sold out", 499 discountBadge: "@@ off", 500 sku: "SKU:", 501 shippingEstimatorNoResults: "Sorry, we do not ship to your address.", 502 shippingEstimatorOneResult: "There is one shipping rate for your address:", 503 shippingEstimatorMultipleResults: "There are several shipping rates for your address:", 504 shippingEstimatorError: "One or more error occurred while retrieving shipping rates:", 505 next: "Next", 506 previous: "Previous" 507 }, 508 509 mediaQueries: { 510 'sm': 'screen and (min-width: 700px)', 511 'md': 'screen and (min-width: 1000px)', 512 'lg': 'screen and (min-width: 1150px)', 513 'xl': 'screen and (min-width: 1400px)', 514 '2xl': 'screen and (min-width: 1600px)', 515 'sm-max': 'screen and (max-width: 699px)', 516 'md-max': 'screen and (max-width: 999px)', 517 'lg-max': 'screen and (max-width: 1149px)', 518 'xl-max': 'screen and (max-width: 1399px)', 519 '2xl-max': 'screen and (max-width: 1599px)', 520 'motion-safe': '(prefers-reduced-motion: no-preference)', 521 'motion-reduce': '(prefers-reduced-motion: reduce)', 522 'supports-hover': 'screen and (pointer: fine)', 523 'supports-touch': 'screen and (hover: none)' 524 } 525 };</script>
525<!-- swiper --> 526 <link 527 rel="stylesheet" 528 href="https://cdn.jsdelivr.net/npm/swiper@11/swiper-bundle.min.css" 529 /> 530 531
531<script src="https://cdn.jsdelivr.net/npm/swiper@11/swiper-bundle.min.js"></script>
531 532 533 <!-- end swiper --> 534 535
535<script> 536 if (!(HTMLScriptElement.supports && HTMLScriptElement.supports('importmap'))) { 537 const importMapPolyfill = document.createElement('script'); 538 importMapPolyfill.async = true; 539 importMapPolyfill.src = "//yvesrocherusa.com/cdn/shop/t/15/assets/es-module-shims.min.js?v=46445230004644522171774949817"; 540 541 document.head.appendChild(importMapPolyfill); 542 } 543 </script>
543 544 545
545<script async crossorigin fetchpriority="high" src="/cdn/shopifycloud/importmap-polyfill/es-modules-shim.2.4.0.js"></script>
vendor: 1 bytes, line 545
545
546<script type="importmap">{ 547 "imports": { 548 "vendor": "//yvesrocherusa.com/cdn/shop/t/15/assets/vendor.min.js?v=180270185114800816751774949817", 549 "theme": "//yvesrocherusa.com/cdn/shop/t/15/assets/theme.js?v=106709545920299781191774949817", 550 "photoswipe": "//yvesrocherusa.com/cdn/shop/t/15/assets/photoswipe.min.js?v=20290624223189769891774949817" 551 } 552 } 553 </script>
553 554 555
555<script type="module" src="//yvesrocherusa.com/cdn/shop/t/15/assets/vendor.min.js?v=180270185114800816751774949817"></script>
555 556
556<script type="module" src="//yvesrocherusa.com/cdn/shop/t/15/assets/theme.js?v=106709545920299781191774949817"></script>
556 557 558
558<script>window.performance && window.performance.mark && window.performance.mark('shopify.content_for_header.start');</script>
558<meta name="google-site-verification" content="xazVYNPY8zJmP3EuVR-L8-W2uMiWJzRSsqxxACJnKN0"> 559<meta name="facebook-domain-verification" content="ozvb0nswp3hokrbsz7yris0e380bkv"> 560<meta id="shopify-digital-wallet" name="shopify-digital-wallet" content="/86467412261/digital_wallets/dialog"> 561<meta id="in-context-paypal-metadata" data-shop-id="86467412261" data-venmo-supported="false" data-environment="production" data-locale="en_US" data-paypal-v4="true" data-currency="USD"> 562<link rel="ucp" href="/.well-known/ucp" version="2026-08-25">
562<script async="async" src="/checkouts/internal/preloads.js?locale=en-US&default_configuration_id=59048229"></script>
562 563<link rel="preconnect" href="https://shop.app" crossorigin="anonymous">
564<script async="async" src="https://shop.app/checkouts/internal/preloads.js?locale=en-US&default_configuration_id=59048229&shop_id=86467412261" crossorigin="anonymous"></script>
vendor: 1 bytes, line 564
564
565<script id="apple-pay-shop-capabilities" type="application/json">{"shopId":86467412261,"countryCode":"US","currencyCode":"USD","merchantCapabilities":["supports3DS"],"merchantId":"gid:\/\/shopify\/Shop\/86467412261","merchantName":"Yves Rocher USA","requiredBillingContactFields":["postalAddress","email","phone"],"requiredShippingContactFields":["postalAddress","email","phone"],"shippingType":"shipping","supportedNetworks":["visa","masterCard","amex","discover","elo","jcb"],"total":{"type":"pending","label":"Yves Rocher USA","amount":"1.00"},"shopifyPaymentsEnabled":true,"supportsSubscriptions":true}</script>
vendor: 1 bytes, line 565
565
566<script id="shopify-features" type="application/json">{"accessToken":"54902ca8a3e10fd1ebf5b8b924a06cf7","betas":["rich-media-storefront-analytics"],"domain":"yvesrocherusa.com","predictiveSearch":true,"shopId":86467412261,"locale":"en"}</script>
vendor: 1 bytes, line 566
566
567<script>var Shopify = Shopify || {}; 568Shopify.shop = "yvesrocherus.myshopify.com"; 569Shopify.locale = "en"; 570Shopify.currency = {"active":"USD","rate":"1.0"}; 571Shopify.country = "US"; 572Shopify.theme = {"name":"Yves Rocher New Design","id":186840842533,"schema_name":"Prestige","schema_version":"9.2.1","theme_store_id":null,"role":"main"}; 573Shopify.theme.handle = "null"; 574Shopify.theme.style = {"id":null,"handle":null}; 575Shopify.cdnHost = "yvesrocherusa.com/cdn"; 576Shopify.routes = Shopify.routes || {}; 577Shopify.routes.root = "/"; 578Shopify.shopJsCdnBaseUrl = "https://cdn.shopify.com/shopifycloud/shop-js"; 579Shopify.SignInWithShop = Shopify.SignInWithShop || {}; 580Shopify.SignInWithShop.User = Shopify.SignInWithShop.User || {}; 581Shopify.SignInWithShop.User.recognized = false;</script>
vendor: 1 bytes, line 581
581
582<script type="module">!function(o){(o.Shopify=o.Shopify||{}).modules=!0}(window);</script>
vendor: 1 bytes, line 582
582
583<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 583
583
584<script> 585 window.ShopifyPay = window.ShopifyPay || {}; 586 window.ShopifyPay.apiHost = "shop.app\/pay"; 587 window.ShopifyPay.redirectState = null; 588</script>
vendor: 1 bytes, line 588
588
589<script> 590 window.Shopify = window.Shopify || {}; 591 window.Shopify.SignInWithShop = window.Shopify.SignInWithShop || {}; 592 window.Shopify.SignInWithShop.assetMetrics = { sampleRate: 0.25 }; 593 window.Shopify.SignInWithShop.eligible = true; 594</script>
vendor: 1 bytes, line 594
594
595<script id="shop-js-analytics" type="application/json">{"pageType":"cart"}</script>
vendor: 1 bytes, line 595
595
596<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 596
596
597<script type="module"> 598 await import("https://cdn.shopify.com/shopifycloud/shop-js/modules/v2/loader.init-shop-cart-sync.en.esm.js"); 599 600 window.Shopify.SignInWithShop?.initShopCartSync?.({"fedCMEnabled":true,"windoidEnabled":true}); 601 602</script>
vendor: 1 bytes, line 602
602
603<script> 604 window.Shopify = window.Shopify || {}; 605 if (!window.Shopify.featureAssets) window.Shopify.featureAssets = {}; 606 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"]}; 607</script>
vendor: 1 bytes, line 607
607
608<script>(function() { 609 var isLoaded = false; 610 function asyncLoad() { 611 if (isLoaded) return; 612 isLoaded = true; 613 var urls = ["https:\/\/cdn-loyalty.yotpo.com\/loader\/SPKchnzwE1MiBaB89L4Oug.js?shop=yvesrocherus.myshopify.com","https:\/\/config.gorgias.chat\/bundle-loader\/01J08PAXBJE8X4AXGT6FQ9J2M3?source=shopify1click\u0026shop=yvesrocherus.myshopify.com","https:\/\/d22lwxpnhu2n4a.cloudfront.net\/grommet\/shopify.js?shop=yvesrocherus.myshopify.com","https:\/\/d38xvr37kwwhcm.cloudfront.net\/js\/grin-sdk.js?shop=yvesrocherus.myshopify.com","https:\/\/media.9gtb.com\/loader.js?g_cvt_id=b6f2b784-7a48-4349-b5ff-9dd55d7d4534\u0026shop=yvesrocherus.myshopify.com"]; 614 for (var i = 0; i < urls.length; i++) { 615 var s = document.createElement('script'); 616 s.type = 'text/javascript'; 617 s.async = true; 618 s.src = urls[i]; 619 var x = document.getElementsByTagName('script')[0]; 620 x.parentNode.insertBefore(s, x); 621 } 622 }; 623 if(window.attachEvent) { 624 window.attachEvent('onload', asyncLoad); 625 } else { 626 window.addEventListener('load', asyncLoad, false); 627 } 628})();</script>
vendor: 1 bytes, line 628
628
629<script id="__st">var __st={"a":86467412261,"offset":-14400,"reqid":"75afdf79-3f4e-4d9a-92c1-a459138daaa4-1790349240","pageurl":"yvesrocherusa.com\/cart","u":"f7b106a731da","p":"cart"};</script>
vendor: 1 bytes, line 629
629
630<script>window.ShopifyPaypalV4VisibilityTracking = true;</script>
vendor: 1 bytes, line 630
630
631<script id="form-persister">!function(){'use strict';const t='contact',e='new_comment',n=[[t,t],['blogs',e],['comments',e],[t,'customer']],o='password',r='form_key',c=['recaptcha-v3-token','g-recaptcha-response','h-captcha-response',o],s=()=>{try{return window.sessionStorage}catch{return}},i='__shopify_v',u=t=>t.elements[r],a=function(){const t=[...n].map((([t,e])=>`form[action*='/${t}']:not([data-nocaptcha='true']) input[name='form_type'][value='${e}']`)).join(',');var e;return e=t,()=>e?[...document.querySelectorAll(e)].map((t=>t.form)):[]}();function m(t){const e=u(t);a().includes(t)&&(!e||!e.value)&&function(t){try{if(!s())return;!function(t){const e=s();if(!e)return;const n=u(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){u(t)||t.append(Object.assign(document.createElement('input'),{type:'hidden',name:r})),t.elements[r].value=e}(t,e),function(t,e){const n=s();if(!n)return;const r=[...t.querySelectorAll(`input[type='${o}']`)].map((({name:t})=>t)),u=[...c,...r],a={};for(const[o,c]of new FormData(t).entries())u.includes(o)||(a[o]=c);n.setItem(e,JSON.stringify({[i]:1,action:t.action,data:a}))}(t,e)}catch(e){console.error('failed to persist form',e)}}(t)}const f=t=>{if('true'===t.dataset.persistBound)return;const e=function(t,e){const n=function(t){return'function'==typeof t.submit?t.submit:HTMLFormElement.prototype.submit}(t).bind(t);return function(){let t;return()=>{t||(t=!0,(()=>{try{e(),n()}catch(t){(t=>{console.error('form submit failed',t)})(t)}})(),setTimeout((()=>t=!1),250))}}()}(t,(()=>{m(t)}));!function(t,e){if('function'==typeof t.submit&&'function'==typeof e)try{t.submit=e}catch{}}(t,e),t.addEventListener('submit',(t=>{t.preventDefault(),e()})),t.dataset.persistBound='true'};!function(){function t(t){const e=(t=>{const e=t.target;return e instanceof HTMLFormElement?e:e&&e.form})(t);e&&m(e)}document.addEventListener('submit',t),document.addEventListener('DOMContentLoaded',(()=>{const e=a();for(const t of e)f(t);var n;n=document.body,new window.MutationObserver((t=>{for(const e of t)if('childList'===e.type&&e.addedNodes.length)for(const t of e.addedNodes)1===t.nodeType&&'FORM'===t.tagName&&a().includes(t)&&f(t)})).observe(n,{childList:!0,subtree:!0,attributes:!1}),document.removeEventListener('submit',t)}))}()}();</script>
vendor: 1 bytes, line 631
631
632<script integrity="sha256-JjoPp5ZfB1sSAs5SQaol1x1GgvveM+BgmRzyDexInEQ=" data-source-attribution="shopify.loadfeatures" defer="defer" src="//yvesrocherusa.com/cdn/shopifycloud/storefront/assets/storefront/load_feature-1bd60354.js" crossorigin="anonymous"></script>
vendor: 1 bytes, line 632
632
633<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 = "//yvesrocherusa.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>
633<script crossorigin="anonymous" defer="defer" src="//yvesrocherusa.com/cdn/shopifycloud/storefront/assets/shopify_pay/storefront-616277c7.js?v=20250812"></script>
vendor: 1 bytes, line 633
633
634<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 634
634
635<script> 636 window.Shopify = window.Shopify || {}; 637 window.Shopify.MCP = window.Shopify.MCP || {}; 638 window.Shopify.MCP.enabled = true; 639 window.Shopify.MCP.shop = "yvesrocherus.myshopify.com"; 640 window.Shopify.MCP.mcpEndpoint = "https:\/\/yvesrocherusa.com\/api\/mcp"; 641 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"]}}]; 642</script>
vendor: 1 bytes, line 642
642
643<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("\/\/yvesrocherusa.com\/cdn\/shopifycloud\/storefront\/assets\/storefront\/webmcp-c6b62ece.js","sha256-ke4DDuBjdvea3vxLWxHc9E9nq8zihuG4IfYEGbb77ys=");})(); 644</script>
vendor: 1 bytes, line 644
644
645<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://yvesrocherusa.com/cdn/shopifycloud/portable-wallets/latest/portable-wallets.en.js",t.type="module",document.head.appendChild(t)}}; 646</script>
vendor: 1 bytes, line 646
646
647<script data-source-attribution="shopify.dynamic_checkout.buyer_consent"> 648 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); 649</script>
vendor: 1 bytes, line 649
649
650<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})}})); 651</script>
651 652<link id="shopify-accelerated-checkout-styles" rel="stylesheet" media="screen" href="https://yvesrocherusa.com/cdn/shopifycloud/portable-wallets/latest/accelerated-checkout-backwards-compat.css" crossorigin="anonymous"> 653<style id="shopify-accelerated-checkout-cart"> 654 #shopify-buyer-consent { 655 margin-top: 1em; 656 display: inline-block; 657 width: 100%; 658} 659 660#shopify-buyer-consent.hidden { 661 display: none; 662} 663 664#shopify-subscription-policy-button { 665 background: none; 666 border: none; 667 padding: 0; 668 text-decoration: underline; 669 font-size: inherit; 670 cursor: pointer; 671} 672 673#shopify-subscription-policy-button::before { 674 box-shadow: none; 675} 676 677 </style> 678
679<script id="shopify-cfh-end">window.performance && window.performance.mark && window.performance.mark('shopify.content_for_header.end');</script>
679 680<link href="//yvesrocherusa.com/cdn/shop/t/15/assets/theme.css?v=18289621388259488371776883783" rel="stylesheet" type="text/css" media="all" /><!-- Swiper JS CDN --> 681 <link rel="stylesheet" href="https://unpkg.com/swiper/swiper-bundle.min.css"> 682
682<script src="https://unpkg.com/swiper/swiper-bundle.min.js" defer></script>
682 683 684 <style> 685 686 687 @font-face { 688 font-family: 'Montserrat'; 689 src: url('//yvesrocherusa.com/cdn/shop/t/15/assets/Montserrat-Black.ttf?v=12046096568855288131774949817') format('truetype'); 690 font-weight: 900; 691 font-style: normal; 692 } 693 694 @font-face { 695 font-family: 'PlayfairDisplay'; 696 src: url('//yvesrocherusa.com/cdn/shop/t/15/assets/PlayfairDisplay-SemiBold.ttf?v=105823504009168429021775979603') format('truetype'); 697 font-weight: 700; 698 font-style: normal; 699 } 700 701 @font-face { 702 font-family: 'PlayfairDisplay_bold'; 703 src: url('//yvesrocherusa.com/cdn/shop/t/15/assets/PlayfairDisplay-Bold.ttf?v=173945897057017466371776236119') format('truetype'); 704 font-weight: 700; 705 font-style: normal; 706 } 707 708 @font-face { 709 font-family: 'Montserrat'; 710 src: url('//yvesrocherusa.com/cdn/shop/t/15/assets/Montserrat-BlackItalic.ttf?v=2396348940342006581774949817') format('truetype'); 711 font-weight: 900; 712 font-style: italic; 713 } 714 715 @font-face { 716 font-family: 'Montserrat'; 717 src: url('//yvesrocherusa.com/cdn/shop/t/15/assets/Montserrat-Bold.ttf?v=150559539035700290551774949817') format('truetype'); 718 font-weight: bold; 719 font-style: normal; 720 } 721 722 @font-face { 723 font-family: 'Montserrat'; 724 src: url('//yvesrocherusa.com/cdn/shop/t/15/assets/Montserrat-BoldItalic.ttf?v=17367943030321732051774949817') format('truetype'); 725 font-weight: bold; 726 font-style: italic; 727 } 728 729 @font-face { 730 font-family: 'Montserrat'; 731 src: url('//yvesrocherusa.com/cdn/shop/t/15/assets/Montserrat-ExtraBold.ttf?v=75433638725155998341774949817') format('truetype'); 732 font-weight: 800; 733 font-style: normal; 734 } 735 736 @font-face { 737 font-family: 'Montserrat'; 738 src: url('//yvesrocherusa.com/cdn/shop/t/15/assets/Montserrat-ExtraBoldItalic.ttf?v=109196538960211430441774949817') format('truetype'); 739 font-weight: 800; 740 font-style: italic; 741 } 742 743 @font-face { 744 font-family: 'Montserrat'; 745 src: url('//yvesrocherusa.com/cdn/shop/t/15/assets/Montserrat-ExtraLight.ttf?v=49875959948698571621774949817') format('truetype'); 746 font-weight: 200; 747 font-style: normal; 748 } 749 750 @font-face { 751 font-family: 'Montserrat'; 752 src: url('//yvesrocherusa.com/cdn/shop/t/15/assets/Montserrat-ExtraLightItalic.ttf?v=27778396228995697461774949817') format('truetype'); 753 font-weight: 200; 754 font-style: italic; 755 } 756 757 @font-face { 758 font-family: 'Montserrat'; 759 src: url('//yvesrocherusa.com/cdn/shop/t/15/assets/Montserrat-Italic.ttf?v=88587733272515124521774949817') format('truetype'); 760 font-weight: normal; 761 font-style: italic; 762 } 763 764 @font-face { 765 font-family: 'Montserrat'; 766 src: url('//yvesrocherusa.com/cdn/shop/t/15/assets/Montserrat-Light.ttf?v=14088547923296991181774949817') format('truetype'); 767 font-weight: 300; 768 font-style: normal; 769 } 770 771 @font-face { 772 font-family: 'Montserrat'; 773 src: url('//yvesrocherusa.com/cdn/shop/t/15/assets/Montserrat-LightItalic.ttf?v=84638131238593304681774949817') format('truetype'); 774 font-weight: 300; 775 font-style: italic; 776 } 777 778 @font-face { 779 font-family: 'Montserrat'; 780 src: url('//yvesrocherusa.com/cdn/shop/t/15/assets/Montserrat-Medium.ttf?v=120889324015852621071774949817') format('truetype'); 781 font-weight: 500; 782 font-style: normal; 783 } 784 785 @font-face { 786 font-family: 'Montserrat'; 787 src: url('//yvesrocherusa.com/cdn/shop/t/15/assets/Montserrat-MediumItalic.ttf?v=54094554650437338991774949817') format('truetype'); 788 font-weight: 500; 789 font-style: italic; 790 } 791 792 @font-face { 793 font-family: 'Montserrat'; 794 src: url('//yvesrocherusa.com/cdn/shop/t/15/assets/Montserrat-Regular.ttf?v=41055220998291202911774949817') format('truetype'); 795 font-weight: normal; 796 font-style: normal; 797 } 798 799 @font-face { 800 font-family: 'Montserrat';
801 src: url('//yvesrocherusa.com/cdn/shop/t/15/assets/Montserrat-SemiBold.ttf?v=122820963203821542241774949817') format('truetype'); 802 font-weight: 600; 803 font-style: normal; 804 } 805 806 @font-face { 807 font-family: 'Montserrat'; 808 src: url('//yvesrocherusa.com/cdn/shop/t/15/assets/Montserrat-SemiBoldItalic.ttf?v=181467573502200673961774949817') format('truetype'); 809 font-weight: 600; 810 font-style: italic; 811 } 812 813 @font-face { 814 font-family: 'Montserrat'; 815 src: url('//yvesrocherusa.com/cdn/shop/t/15/assets/Montserrat-Thin.ttf?v=165234051529644573491774949817') format('truetype'); 816 font-weight: 100; 817 font-style: normal; 818 } 819 820 @font-face { 821 font-family: 'Montserrat'; 822 src: url('//yvesrocherusa.com/cdn/shop/t/15/assets/Montserrat-ThinItalic.ttf?v=72935342450562955811774949817') format('truetype'); 823 font-weight: 100; 824 font-style: italic; 825 } 826 827 @font-face { 828 font-family: 'Open Sans'; 829 src: url('//yvesrocherusa.com/cdn/shop/t/15/assets/OpenSans-ExtraBold.ttf?v=75172015866163974981774949817') format('truetype'); 830 font-weight: 800; 831 font-style: normal; 832 } 833 834 @font-face { 835 font-family: 'Open Sans'; 836 src: url('//yvesrocherusa.com/cdn/shop/t/15/assets/OpenSans-Italic.ttf?v=10584334995702807471774949817') format('truetype'); 837 font-weight: normal; 838 font-style: italic; 839 } 840 841 @font-face { 842 font-family: 'Open Sans'; 843 src: url('//yvesrocherusa.com/cdn/shop/t/15/assets/OpenSans-Light.ttf?v=9646682900063732891774949817') format('truetype'); 844 font-weight: 300; 845 font-style: normal; 846 } 847 848 @font-face { 849 font-family: 'Open Sans'; 850 src: url('//yvesrocherusa.com/cdn/shop/t/15/assets/OpenSans-LightItalic.ttf?v=71628103295756544361774949817') format('truetype'); 851 font-weight: 300; 852 font-style: italic; 853 } 854 855 @font-face { 856 font-family: 'Open Sans'; 857 src: url('//yvesrocherusa.com/cdn/shop/t/15/assets/OpenSans-Semibold.ttf?v=2613140919693458321774949817') format('truetype'); 858 font-weight: 600; 859 font-style: normal; 860 } 861 @font-face { 862 font-family: 'Figtree'; 863 src: url('//yvesrocherusa.com/cdn/shop/t/15/assets/Figtree-VariableFont_wght.ttf?v=178658635402283893291774949817') format('truetype'); 864 font-weight: 600; 865 font-style: normal; 866 } 867 868 869 </style> 870 871 872<style> 873 .wd-hide-all { 874 display: none !important; 875 } 876 #wd-hide-all { 877 display: none !important; 878 } 879 @media screen and (max-width: 768px) { 880 html, body { 881 /* overflow-x: hidden;*/ 882 } 883 } 884 .breadcrumb { 885 display: block; 886 } 887 888 .breadcrumb__list { 889 flex-wrap: wrap; 890 } 891 892 .wedev-text-footer { 893 font-size: 9px; 894 } 895 896 /* .product-card__figure .badge--sold-out { 897 position: absolute; 898 left: 0; 899 top: 0; 900 z-index: 1; 901 } */ 902 903 .text-regular { 904 color: #111; 905 font-family: "Montserrat"; 906 font-size: 14px; 907 font-style: normal; 908 font-weight: 500; 909 line-height: normal; 910 } 911 912 .text-light { 913 color: #878787; 914 font-family: "Montserrat"; 915 font-size: 13px; 916 font-style: normal; 917 font-weight: 300; 918 } 919 920 @media (max-width: 769px) { 921 .wedev-text-footer { 922 text-align: center; 923 } 924 } 925</style> 926 927<style> 928 .wd-timer { 929 display: flex; 930 justify-content: center; 931 align-items: center; 932 gap: 6px; 933 } 934 935 .wd-timer .wd-timer-box { 936 border-radius: 8px; 937 background: rgba(255, 255, 255, 0.16); 938 box-shadow: 0px 1px 0px 0px rgba(0, 0, 0, 0.00), 0px 1px 0px 0px rgba(0, 0, 0, 0.01); 939 display: flex; 940 padding: 6px 10px; 941 justify-content: center; 942 align-items: center; 943 gap: 3px; 944 } 945 946 .wd-timer .wd-timer-box span:not(.timer-box-des) { 947 color: #F9FAF7; 948 text-align: center; 949 font-size: 16px; 950 font-style: normal; 951 font-weight: 700; 952 line-height: 20px; /* 125% */ 953 letter-spacing: 0.2px; 954 } 955 956 .wd-timer .wd-timer-box .timer-box-des { 957 color: #F9FAF7; 958 font-size: 11px; 959 font-style: normal; 960 font-weight: 275; 961 line-height: normal; 962 } 963 964 .timer-container.is-selected { 965 display: flex; 966 justify-content: center; 967 align-items: center; 968 gap: 16px; 969 height: min-content; 970 margin: 0; 971 } 972 973 .announcement-bar { 974 padding: 10px 48px; 975 } 976 977 .announcement-bar button.tap-area, 978 .announcement-bar__carousel>:not(.is-selected) { 979 display: none !important; 980 } 981 982
983 announcement-bar-carousel > div { 984 min-height: 15px; 985 display: flex; 986 margin: 2.5px 0px; 987 color: #FFF; 988 font-family: Helvetica; 989 font-style: normal; 990 font-weight: 400; 991 line-height: normal; 992 text-transform: uppercase; 993 } 994 .timer-message{ 995 color: #FFF; 996 font-family: Helvetica; 997 font-style: normal; 998 font-weight: 400; 999 line-height: normal; 1000 text-transform: uppercase; 1001 } 1002 1003 1004 1005 @media screen and (min-width: 769px) { 1006 .announcement-bar__carousel { 1007 max-width: 95%; 1008 width: 95%; 1009 } 1010 } 1011 1012 @media screen and (max-width: 768px) { 1013 .hidden-mobile{ 1014 display:none !important; 1015 } 1016 .timer-container.is-selected { 1017 flex-direction: column-reverse; 1018 gap:10px; 1019 } 1020 1021 1022 .wd-timer .wd-timer-box { 1023 flex-direction: column; 1024 gap: 0px; 1025 width: 42px; 1026 height: 33px; 1027 padding: 3px 10px; 1028 } 1029 1030 .wd-timer .wd-timer-box span:not(.timer-box-des) { 1031 color: #F9FAF7; 1032 text-align: center; 1033 font-family: Montserrat; 1034 font-size: 14px; 1035 font-style: normal; 1036 font-weight: 600; 1037 line-height: normal; 1038 } 1039 1040 .wd-timer .wd-timer-box .timer-box-des { 1041 color: rgba(249, 250, 247, 0.60); 1042 text-align: center; 1043 font-size: 8px; 1044 font-style: normal; 1045 font-weight: 300; 1046 line-height: normal; 1047 letter-spacing: -0.08px; 1048 text-transform: uppercase; 1049 } 1050 1051 announcement-bar-carousel > div, 1052 .timer-message{ 1053 color: #FFF; 1054 font-style: normal; 1055 font-weight: 400; 1056 line-height: normal; 1057 text-transform: capitalize; 1058 margin: 0; 1059 } 1060 .wd-timer{ 1061 gap:5px; 1062 } 1063 .announcement-bar { 1064 padding: 10px 89px; 1065 } 1066 } 1067</style> 1068 1069 1070<style> 1071 .wd-shopify-section--featured-collections .product-list{ 1072 --product-list-card-width: 428px; 1073 } 1074 .wd-shopify-section--featured-collections .yotpo-sr-bottom-line-right-panel, 1075 .wd-shopify-section--featured-collections .yotpo-sr-bottom-line-left-panel.yotpo-sr-bottom-line-score { 1076 display: none !important; 1077 } 1078 .wd-shopify-section--featured-collections{ 1079 background: linear-gradient(180deg, #FFF 0%, #F9FAF7 100%); 1080 } 1081 .wd-shopify-section--featured-collections p.h6.text-center{ 1082 color: #272E0F; 1083 text-align: center; 1084 font-family: Montserrat; 1085 font-size: 24px; 1086 font-style: normal; 1087 font-weight: 700; 1088 line-height: 130%; /* 31.2px */ 1089 letter-spacing: 0.24px; 1090 text-transform: uppercase; 1091 } 1092 .wd-shopify-section--featured-collections button.h2[aria-current="true"] { 1093 color: #111; 1094 font-family: Montserrat; 1095 font-size: 16px; 1096 font-style: normal; 1097 font-weight: 600; 1098 line-height: normal; 1099 letter-spacing: 0.25px; 1100 } 1101 .wd-shopify-section--featured-collections button.h2[aria-current="false"] { 1102 color: #595C51; 1103 font-family: Montserrat; 1104 font-size: 16px; 1105 font-style: normal; 1106 font-weight: 600; 1107 line-height: normal; 1108 letter-spacing: 0.25px; 1109 } 1110 .wd-shopify-section--featured-collections .wd-section-subheading-and-collections{ 1111 gap:29px; 1112 } 1113 .wd-shopify-section--featured-collections .section-stack{ 1114 gap:68px 1115 } 1116 1117 .wd-shopify-section--featured-collections product-card.product-card{ 1118 padding:8px 8px 13px; 1119 border-radius: 16px; 1120 border: 0.5px solid #EBEBEB; 1121 background: rgba(255, 255, 255, 0.90); 1122 box-shadow: 0px 1px 1px 0px rgba(0, 0, 0, 0.02), 0px 4px 4px -1px rgba(0, 0, 0, 0.02); 1123 max-height:unset; 1124 min-height:504px; 1125 gap:10px; 1126 } 1127 .wd-shopify-section--featured-collections .wd-product-card-main-info{ 1128 gap:0px 1129 } 1130 .wd-shopify-section--featured-collections .wd-product-card-title-price{ 1131 gap:8px; 1132 } 1133 .star-container:not(:last-child){ 1134 margin-right:3px !important; 1135 } 1136 .yotpo-sr-bottom-line-summary .star-container svg{ 1137 width:12px; 1138 height:12px; 1139 } 1140 1141 .wd-shopify-section--featured-collections .star-container.yotpo-sr-star-empty svg { 1142 height: 12px !important; 1143 } 1144 .wd-shopify-section--featured-collections product-card.product-card .product-title{ 1145 color: #272E0F; 1146 text-align: center; 1147 font-family: Montserrat; 1148 font-size: 14px; 1149 font-style: normal; 1150 font-weight: 400; 1151 line-height: normal; 1152 letter-spacing: normal; 1153 text-transform: none; 1154 width: unset; 1155 white-space: nowrap; 1156 overflow: hidden; 1157 text-overflow: ellipsis; 1158 } 1159 .wd-shopify-section--featured-collections product-card.product-card .price-list{ 1160 flex-direction:row-reverse; 1161 } 1162 .wd-shopify-section--featured-collections product-card.product-card sale-price.h6.text-on-sale { 1163 color: #CB0050; 1164 font-family: Montserrat; 1165 font-size: 13px; 1166 font-style: normal; 1167 font-weight: 500; 1168 line-height: normal; 1169 letter-spacing: normal; 1170 text-transform: none; 1171 } 1172 .wd-shopify-section--featured-collections product-card.product-card compare-at-price.h6.text-subdued.line-through{ 1173 text-decoration-line: line-through; 1174 } 1175 .wd-shopify-section--featured-collections product-card.product-card compare-at-price.h6.text-subdued.line-through, 1176 .wd-shopify-section--featured-collections product-card.product-card sale-price.h6.text-subdued{ 1177 color: #545454; 1178 font-family: Montserrat; 1179 font-size: 13px; 1180 font-style: normal; 1181 font-weight: 500; 1182 line-height: normal; 1183 letter-spacing: normal; 1184 text-transform: none; 1185 } 1186 .wd-shopify-section--featured-collections product-card.product-card button.product-card__quick-add-button { 1187 border-radius: 8px; 1188 border: 1px solid rgba(255, 255, 255, 0.12); 1189 background: var(--control-background, #FFF); 1190 box-shadow: 0px 1px 1px 0px rgba(255, 255, 255, 0.02) inset, 0px 6px 12px 0px rgba(255, 255, 255, 0.12) inset, 0px 4px 8px 3px rgba(0, 0, 0, 0.15), 0px 1px 3px 0px rgba(0, 0, 0, 0.30); 1191 display: flex; 1192 width: 65px; 1193 1194 height: 24px; 1195 padding: 12px 25px; 1196 justify-content: center; 1197 align-items: center; 1198 flex-shrink: 0; 1199 color: #545454; 1200 font-family: Montserrat; 1201 font-size: 13px; 1202 font-style: normal; 1203 font-weight: 500; 1204 line-height: normal; 1205 text-transform: uppercase; 1206 min-width: 65px; 1207 max-width: 65px; 1208 max-height: 24px; 1209 bottom:14px; 1210 right:16px; 1211 } 1212 .wd-shopify-section--featured-collections .wd-collectionBtn{ 1213 display: flex; 1214 width: 123px; 1215 min-height: 36px; 1216 padding: 9px 25px; 1217 justify-content: center; 1218 align-items: center;
1219 border-radius: 36px; 1220 border: 1px solid #272E0F; 1221 } 1222 .wd-shopify-section--featured-collections .wd-collectionBtn a.button{ 1223 color: #272E0F; 1224 font-family: Figtree; 1225 font-size: 13px; 1226 font-style: normal; 1227 font-weight: 600; 1228 line-height: normal; 1229 text-transform: uppercase; 1230 background:transparent; 1231 padding: 0; 1232 border: none; 1233 letter-spacing:unset !important; 1234 min-width:81px; 1235 } 1236 .wd-shopify-section--featured-collections product-card.product-card .product-card__image{ 1237 width:410px; 1238 height:410px; 1239 object-fit:cover; 1240 border-radius: 12px 12px 0px 0px; 1241 background: #f4f1e9; 1242 mix-blend-mode: multiply; 1243 } 1244 .wd-shopify-section--featured-collections .featured-collections-navigation{ 1245 column-gap:23px; 1246 } 1247 .wd-shopify-section--featured-collections .featured-collections-carousel__item{ 1248 gap:72px; 1249 } 1250 .wd-shopify-section--featured-collections .section-spacing{ 1251 padding-top:96px; 1252 padding-bottom:68px; 1253 } 1254 1255 .wd-shopify-section--featured-collections .circle-button{ 1256 background: #272E0F; 1257 color: #FFFFFF; 1258 width:41px; 1259 height:41px; 1260 right:-1%; 1261 } 1262 1263 .wd-shopify-section--featured-collections .container{ 1264 margin-left:74px 1265 } 1266 .wd-shopify-section--featured-collections { 1267 overflow: hidden; 1268 } 1269 1270 @media screen and (min-width: 769px) { 1271 .wd-shopify-section--featured-collections .container { 1272 margin-inline-end: 0; 1273 } 1274 .product-card__quick-add-button { 1275 opacity:1 !important; 1276 transform: unset !important; 1277 1278 } 1279 .floating-controls-container--on-hover > .prev-next-button{ 1280 opacity:1 !important; 1281 transform: unset !important; 1282 right: 1%; 1283 } 1284 1285 } 1286 @media screen and (max-width: 768px) { 1287 .wd-shopify-section--featured-collections .product-list{ 1288 --product-list-card-width: 206px; 1289 padding-left: 16px; 1290 margin-inline-end: 0 !important; 1291 } 1292 .wd-shopify-section--featured-collections .featured-collections-carousel__item{ 1293 gap:25px !important; 1294 } 1295 .wd-shopify-section--featured-collections product-card.product-card .product-card__image{ 1296 width:188px; 1297 height:188px; 1298 } 1299 .wd-shopify-section--featured-collections product-card.product-card button.product-card__quick-add-button { 1300 display: inline-flex; 1301 padding: 4px; 1302 height:26px !important; 1303 min-width: 24px; 1304 max-width: 26px; 1305 width:26px !important; 1306 align-items: flex-start; 1307 gap: 4px;border-radius: 18px; 1308 border: 1px solid rgba(176, 189, 197, 0.50); 1309 background: var(--control-background, #FFF); 1310 box-shadow: 0px 0px 2px 0px rgba(58, 72, 80, 0.10), 0px 6px 12px 0px rgba(176, 189, 197, 0.14); 1311 } 1312 .wd-shopify-section--featured-collections .container { 1313 margin: 0 0 0 16px; 1314 } 1315 .wd-shopify-section--featured-collections product-card.product-card button.product-card__quick-add-button .icon{ 1316 width:16px; 1317 height:16px; 1318 } 1319 .wd-shopify-section--featured-collections p.h6.text-center{ 1320 color: #272E0F; 1321 text-align: center; 1322 font-family: Montserrat; 1323 font-size: 20px; 1324 font-style: normal; 1325 font-weight: 700; 1326 line-height: 130%; /* 26px */ 1327 letter-spacing: 0.2px; 1328 text-transform: uppercase; 1329 max-width:232px; 1330 margin:auto; 1331 } 1332 .wd-shopify-section--featured-collections button.h2[aria-current="true"] { 1333 color: #272E0F; 1334 font-family: Montserrat; 1335 font-size: 15px; 1336 font-style: normal; 1337 font-weight: 600; 1338 line-height: normal; 1339 letter-spacing: 0.25px; 1340 } 1341 .wd-shopify-section--featured-collections button.h2[aria-current="false"] { 1342 color: #595C51; 1343 font-family: Montserrat; 1344 font-size: 15px; 1345 font-style: normal; 1346 font-weight: 600; 1347 line-height: normal; 1348 letter-spacing: 0.25px; 1349 } 1350 .wd-shopify-section--featured-collections product-card.product-card{ 1351 padding:8px 8px 9px; 1352 max-height:unset; 1353 min-height:289px; 1354 gap:8px; 1355 } 1356 1357 wd-shopify-section--featured-collections .star-container.yotpo-sr-star-empty svg { 1358 height: 12px !important; 1359 } 1360 .wd-shopify-section--featured-collections product-card.product-card .product-title{ 1361 color: #272E0F; 1362 text-align: center; 1363 font-family: 'Montserrat', sans-serif; 1364 font-size: 13px; 1365 font-style: normal; 1366 font-weight: 400; 1367 line-height: 1.2; /* Adjust as needed */ 1368 display: -webkit-box; 1369 -webkit-line-clamp: 2; /* Number of lines to display */ 1370 -webkit-box-orient: vertical; 1371 overflow: hidden; 1372 text-overflow: ellipsis; 1373 white-space: normal; /* Ensure wrapping */ 1374 } 1375 1376 .wd-shopify-section--featured-collections product-card.product-card div#yotpo-reviews-star-ratings-widget span { 1377 height: 12px !important; 1378 } 1379 1380 .wd-shopify-section--featured-collections product-card.product-card div#yotpo-reviews-star-ratings-widget svg { 1381 height: 12px ; 1382 width:12px 1383 } 1384 1385 .wd-shopify-section--featured-collections product-card.product-card sale-price.h6.text-on-sale { 1386 color: #F9004F; 1387 font-family: Montserrat; 1388 font-size: 13px; 1389 font-style: normal; 1390 font-weight: 500; 1391 line-height: normal; 1392 } 1393 .wd-shopify-section--featured-collections product-card.product-card compare-at-price.h6.text-subdued.line-through { 1394 color: #545454; 1395 font-family: Montserrat; 1396 font-size: 13px; 1397 font-style: normal; 1398 font-weight: 500; 1399 line-height: normal; 1400 text-decoration-line: line-through; 1401 } 1402 .wd-shopify-section--featured-collections .wd-collectionBtn{ 1403 1404 } 1405 1406 .wd-shopify-section--featured-collections .wd-collectionBtn a.button{ 1407 color: #272E0F; 1408 font-family: Figtree; 1409 font-size: 13px; 1410 font-style: normal; 1411 font-weight: 600; 1412 line-height: normal; 1413 text-transform: uppercase; 1414 } 1415 .wd-shopify-section--featured-collections .wd-section-subheading-and-collections{ 1416 gap:16px; 1417 } 1418 .wd-shopify-section--featured-collections .section-stack{ 1419 gap:24px; 1420 } 1421 wd-shopify-section--featured-collections .featured-collections-carousel__item{ 1422 gap:25px; 1423 } 1424 .wd-shopify-section--featured-collections .section-spacing{ 1425 padding-top:36px; 1426 padding-bottom:36px; 1427 } 1428 1429 } 1430</style> 1431 1432<style> 1433 1434</style> 1435 1436<style> 1437 .wd-products-list .product-list{ 1438 --product-list-card-width: 426px; 1439 --product-list-calculated-column-gap: 16px; 1440 } 1441 .wd-products-list h2.h2 { 1442 font-size: 24px; 1443 font-weight: 700; 1444 line-height: 130%; 1445 letter-spacing: 0.24px; 1446 text-transform: uppercase; 1447 color: #272E0F; 1448 font-family: Montserrat; 1449 } 1450 .wd-products-list .yotpo-sr-bottom-line-right-panel, 1451 .wd-products-list .yotpo-sr-bottom-line-left-panel.yotpo-sr-bottom-line-score { 1452 display: none !important; 1453 } 1454 .wd-products-list{ 1455 background: linear-gradient(180deg, #FFF 0%, #F9FAF7 100%); 1456 } 1457 .wd-products-list p.h6.text-center{ 1458 color: #272E0F; 1459 text-align: center; 1460 font-family: Montserrat; 1461 font-size: 24px; 1462 font-style: normal; 1463 font-weight: 700; 1464 line-height: 130%; /* 31.2px */ 1465 letter-spacing: 0.24px; 1466 text-transform: uppercase; 1467 } 1468 .wd-products-list button.h2[aria-current="true"] { 1469 color: #111; 1470 font-family: Montserrat; 1471 font-size: 16px; 1472 font-style: normal; 1473 font-weight: 600; 1474 line-height: normal; 1475 letter-spacing: 0.25px; 1476 } 1477 .wd-products-list button.h2[aria-current="false"] { 1478 color: #595C51; 1479 font-family: Montserrat; 1480 font-size: 16px; 1481 font-style: normal; 1482 font-weight: 600; 1483 line-height: normal; 1484 letter-spacing: 0.25px; 1485 }
1486 .wd-products-list .wd-section-subheading-and-collections{ 1487 gap:29px; 1488 } 1489 .wd-products-list .section-stack{ 1490 gap: 52px; 1491 } 1492 1493 .wd-products-list product-card.product-card{ 1494 padding:0; 1495 border-radius: 8px; 1496 border: 0px solid #EBEBEB; 1497 background: rgba(255, 255, 255, 0.90); 1498 box-shadow: unset; 1499 /* max-height:502px; 1500 min-height:502px; */ 1501 gap:10px; 1502 } 1503 .wd-products-list .wd-product-card-main-info{ 1504 gap:0px 1505 } 1506 .wd-products-list .wd-product-card-title-price{ 1507 gap:8px; 1508 } 1509 .wd-products-list .star-container.yotpo-sr-star-empty svg { 1510 height: 12px !important; 1511 } 1512 .wd-products-list product-card.product-card .product-title{ 1513 color: #272E0F; 1514 text-align: left; 1515 font-family: Montserrat; 1516 font-size: 14px; 1517 font-style: normal; 1518 font-weight: 400; 1519 line-height: normal; 1520 letter-spacing: normal; 1521 text-transform: none; 1522 width: 100%; 1523 height: unset; 1524 } 1525 1526 .wd-products-list product-card.product-card .reviews-container .avg-review { 1527 display:none 1528 } 1529 1530 .wd-products-list product-card.product-card .reviews-container { 1531 display: grid; 1532 grid-template-columns: max-content max-content; 1533 gap: 3px; 1534 align-items: center; 1535 font-family: 'Montserrat'; 1536 font-size: 12px; 1537 } 1538 1539 .wd-products-list product-card.product-card sale-price.h6.text-on-sale { 1540 color: #CB0050; 1541 font-family: Montserrat; 1542 font-size: 13px; 1543 font-style: normal; 1544 font-weight: 500; 1545 line-height: normal; 1546 letter-spacing: normal; 1547 text-transform: none; 1548 } 1549 .wd-products-list product-card.product-card compare-at-price.h6.text-subdued.line-through { 1550 color: #545454; 1551 font-family: Montserrat; 1552 font-size: 13px; 1553 font-style: normal; 1554 font-weight: 500; 1555 line-height: normal; 1556 text-decoration-line: line-through; 1557 letter-spacing: normal; 1558 text-transform: none; 1559 } 1560 .wd-products-list product-card.product-card button.product-card__quick-add-button { 1561 border-radius: 8px; 1562 border: 1px solid rgba(255, 255, 255, 0.12); 1563 background: var(--control-background, #FFF); 1564 box-shadow: 0px 1px 1px 0px rgba(255, 255, 255, 0.02) inset, 0px 6px 12px 0px rgba(255, 255, 255, 0.12) inset, 0px 4px 8px 3px rgba(0, 0, 0, 0.15), 0px 1px 3px 0px rgba(0, 0, 0, 0.30); 1565 display: flex; 1566 width: 65px; 1567 height: 24px; 1568 padding: 12px 25px; 1569 justify-content: center; 1570 align-items: center; 1571 flex-shrink: 0; 1572 color: #545454; 1573 font-family: Montserrat; 1574 font-size: 13px; 1575 font-style: normal; 1576 font-weight: 500; 1577 line-height: normal; 1578 text-transform: uppercase; 1579 max-width: 24px; 1580 max-height: 24px; 1581 border-radius: 8px; 1582 border: 1px solid #C2BDB6; 1583 background: linear-gradient(180deg, #FFF 0%, #F1ECE5 100%); 1584 1585/* 1 */ 1586box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.06); 1587 } 1588 .wd-products-list .wd-collectionBtn{ 1589 display: flex; 1590 1591 padding: 9px 25px; 1592 justify-content: center; 1593 align-items: center; 1594 border-radius: 36px; 1595 border: 1px solid #272E0F; 1596 } 1597 .wd-products-list .wd-collectionBtn a.button{ 1598 color: #272E0F; 1599 font-family: Figtree; 1600 font-size: 13px; 1601 font-style: normal; 1602 font-weight: 600; 1603 line-height: normal; 1604 text-transform: uppercase; 1605 background:transparent; 1606 padding: 0; 1607 border: none; 1608 width:81px; 1609 } 1610 .wd-products-list .yotpo-sr-vertical-border{ 1611 display: none !important; 1612 } 1613 .wd-products-list product-card.product-card .product-card__image{ 1614 width:410px; 1615 height:410px; 1616 object-fit:cover; 1617 border-radius: 8px; 1618 background: url(<path-to-image>) lightgray 50% / cover no-repeat; 1619 mix-blend-mode: multiply; 1620 } 1621 .wd-products-list .featured-collections-navigation{ 1622 column-gap:23px; 1623 } 1624 .wd-products-list .featured-collections-carousel__item{ 1625 gap:72px; 1626 } 1627 .wd-products-list .section-spacing{ 1628 padding-top:96px; 1629 padding-bottom:68px; 1630 } 1631 1632 .wd-products-list .circle-button{ 1633 background: #272E0F; 1634 color: #FFFFFF; 1635 width:41px; 1636 height:41px; 1637 right:-1%; 1638 } 1639 1640 .yotpo-sr-bottom-line-summary > div:first-child { 1641 margin-right: unset !important; 1642 } 1643 1644 .wd-products-list .price-list sale-price { 1645 font-family: 'Montserrat';
1646 font-size: 13px; 1647 font-weight: 500; 1648 line-height: normal; 1649 letter-spacing: normal; 1650 text-transform: none; 1651 font-style: normal; 1652 color: #545454; 1653 } 1654 1655 product-card .product-card__info .justify-items-center { 1656 justify-items: left; 1657 width: 100%; 1658 } 1659 1660 @media screen and (min-width: 769px) { 1661 .wd-products-list .container { 1662 margin-inline-end: 0; 1663 } 1664 .wd-products-list .product-list{ 1665 margin-inline-end: 0; 1666 } 1667 .floating-controls-container--on-hover > .prev-next-button{ 1668 right: 1%; 1669 } 1670 1671 } 1672 @media screen and (max-width: 768px) { 1673 .wd-products-list .product-list{ 1674 --product-list-card-width: 204px; 1675 --product-list-calculated-column-gap: 12px; 1676 margin-inline-end: 0 !important; 1677 } 1678 .wd-products-list product-card.product-card .product-card__image{ 1679 width:188px; 1680 height:188px; 1681 border-radius: 0; 1682 } 1683 1684 product-card .product-card__info { 1685 text-align: center; 1686 align-content: start; 1687 justify-items: baseline; 1688 gap: .75rem; 1689 display: grid; 1690 } 1691 1692 product-card .product-card__info .justify-items-center { 1693 justify-items: baseline; 1694 padding:0 5px 1695 } 1696 1697 .collection product-list product-card .yotpo-widget-instance .star-container { 1698 width:12px; 1699 height:12px 1700 } 1701 1702 .wd-products-list product-card.product-card{ 1703 padding:8px 8px 13px; 1704 border-radius: 16px; 1705 border: 0; 1706 background: transparent; 1707 box-shadow: none; 1708 gap:10px; 1709 border-radius: 0; 1710 } 1711 1712 .wd-products-list h2.h2 { 1713 font-size: 18px; 1714 } 1715 .wd-products-list product-card.product-card button.product-card__quick-add-button { 1716 display: inline-flex; 1717 padding: 4px; 1718 align-items: flex-start; 1719 gap: 4px;border-radius: 18px; 1720 border: 1px solid rgba(176, 189, 197, 0.50); 1721 background: var(--control-background, #FFF); 1722 box-shadow: 0px 0px 2px 0px rgba(58, 72, 80, 0.10), 0px 6px 12px 0px rgba(176, 189, 197, 0.14); 1723 } 1724 .wd-products-list .container { 1725 margin: 0 0 0 16px; 1726 } 1727 .wd-products-list product-card.product-card button.product-card__quick-add-button .icon{ 1728 width:16px; 1729 height:16px; 1730 } 1731 .wd-products-list p.h6.text-center{ 1732 color: #272E0F; 1733 text-align: center; 1734 font-family: Montserrat; 1735 font-size: 20px; 1736 font-style: normal; 1737 font-weight: 700; 1738 line-height: 130%; /* 26px */ 1739 letter-spacing: 0.2px; 1740 text-transform: uppercase; 1741 } 1742 1743 .wd-mobile-sort .wd-mobile-sort-items { 1744 margin-left: 10px; 1745 } 1746 1747 .wd-products-list button.h2[aria-current="true"] { 1748 color: #272E0F; 1749 font-family: Montserrat; 1750 font-size: 15px; 1751 font-style: normal; 1752 font-weight: 600; 1753 line-height: normal; 1754 letter-spacing: 0.25px; 1755 } 1756 .wd-products-list button.h2[aria-current="false"] { 1757 color: #595C51; 1758 font-family: Montserrat; 1759 font-size: 15px; 1760 font-style: normal; 1761 font-weight: 600; 1762 line-height: normal; 1763 letter-spacing: 0.25px; 1764 } 1765 .wd-products-list product-card.product-card{ 1766 padding:8px 8px 9px; 1767 /* max-height:287px; 1768 min-height:287px; */ 1769 gap:8px; 1770 } 1771 1772 .wd-products-list .star-container.yotpo-sr-star-empty svg { 1773 height: 12px !important; 1774 } 1775 .wd-products-list product-card.product-card .product-title{ 1776 color: #272E0F; 1777 text-align: left; 1778 font-family: Montserrat; 1779 font-size: 13px; 1780 font-style: normal; 1781 font-weight: 400; 1782 line-height: normal; 1783 width: 100%; 1784 } 1785 1786 .wd-products-list product-card.product-card div#yotpo-reviews-star-ratings-widget span { 1787 height: 12px !important; 1788 } 1789
1790 .wd-shopify-section--featured-collections scroll-carousel product-card.product-card .product-title { 1791 text-align: left; 1792 } 1793 1794 .wd-products-list product-card.product-card sale-price.h6.text-on-sale { 1795 color: #F9004F; 1796 font-family: Montserrat; 1797 font-size: 13px; 1798 font-style: normal; 1799 font-weight: 500; 1800 line-height: normal; 1801 } 1802 .wd-products-list product-card.product-card compare-at-price.h6.text-subdued.line-through { 1803 color: #545454; 1804 font-family: Montserrat; 1805 font-size: 13px; 1806 font-style: normal; 1807 font-weight: 500; 1808 line-height: normal; 1809 text-decoration-line: line-through; 1810 } 1811 1812 .wd-products-list .wd-collectionBtn a.button{ 1813 color: #272E0F; 1814 font-family: Figtree; 1815 font-size: 13px; 1816 font-style: normal; 1817 font-weight: 600; 1818 line-height: normal; 1819 text-transform: uppercase; 1820 } 1821 .wd-products-list .wd-section-subheading-and-collections{ 1822 gap:16px; 1823 } 1824 .wd-products-list .section-stack{ 1825 gap: 28px; 1826 } 1827 wd-products-list .featured-collections-carousel__item{ 1828 gap:25px; 1829 } 1830 .wd-products-list .section-spacing{ 1831 padding-top:36px; 1832 padding-bottom:36px; 1833 } 1834 1835 } 1836</style> 1837 1838<style> 1839 .product-sticky-bar { 1840 background-color: #F9FAF7; 1841 filter: drop-shadow(0px -9px 19px rgba(70, 93, 56, 0.12)); 1842 border-top-right-radius: 25px; 1843 border-top-left-radius: 25px; 1844 display: flex; 1845 align-items: center; 1846 justify-content: space-between; 1847 gap: 14px; 1848 padding: 16px !important; 1849 } 1850 1851 .product-sticky-bar quantity-selector{ 1852 border-radius: 24px; 1853 border: 1px solid #E8E9E2; 1854 background: #F9FAF7; 1855 box-shadow: 0px 2px 1px 0px rgba(0, 0, 0, 0.00), 0px 1px 0px 0px rgba(0, 0, 0, 0.01), 0px 1px 0px 0px rgba(0, 0, 0, 0.05); 1856 display: inline-flex; 1857 padding: 5px 8px; 1858 align-items: center; 1859 gap: 4px; 1860 } 1861 1862 .product-sticky-bar quantity-selector input{ 1863 width: 34px; 1864 color: #272E0F; 1865 text-align: center; 1866 font-family: 'Montserrat'; 1867 font-size: 16px; 1868 font-style: normal; 1869 font-weight: 500; 1870 line-height: 19px; /* 118.75% */ 1871 } 1872 .product-sticky-bar quantity-selector button{ 1873 display: flex; 1874 width: 24px; 1875 height: 24px; 1876 justify-content: center; 1877 align-items: center; 1878 } 1879 1880 .product-sticky-bar .wd-buy-btn{ 1881 display: flex; 1882 height: 34px; 1883 padding: 9px 25px; 1884 justify-content: center; 1885 align-items: center; 1886 gap: 4px; 1887 border-radius: 36px; 1888 box-shadow: 0px 1px 1px 0px rgba(255, 255, 255, 0.02) inset, 0px 6px 12px 0px rgba(255, 255, 255, 0.12) inset, 0px 4px 8px 3px rgba(0, 0, 0, 0.12), 0px 1px 3px 0px rgba(0, 0, 0, 0.20); 1889 color: #FFFFFF; 1890 font-family: 'Montserrat'; 1891 font-size: 13px; 1892 font-style: normal; 1893 font-weight: 600; 1894 line-height: normal; 1895 text-transform: uppercase; 1896 letter-spacing: unset; 1897 } 1898 1899 .product-sticky-bar .buy-buttons { 1900 --button-background: 39 46 15; 1901 --button-outline-color: 39 46 15; 1902 --button-text-color: 255 255 255; 1903 flex: 1 1 auto; 1904 } 1905 1906 .product-sticky-bar .price-list sale-price, .product-sticky-bar .price-list compare-at-price { 1907 font-family: 'Montserrat' !important; 1908 font-size: 14px !important; 1909 font-weight: 500 !important; 1910 } 1911 1912 .product-sticky-bar .price-list sale-price { 1913 color: #fff !important; 1914 } 1915 1916 .product-sticky-bar .price-list compare-at-price { 1917 color: rgba(249, 250, 247, 0.50) !important; 1918 } 1919 1920 .product-sticky-bar .buy-buttons .banner--error { 1921 position: fixed; 1922 z-index: 4; 1923 left: 3%; 1924 right: 3%; 1925 height: 80px; 1926 bottom: 10px; 1927 border-radius: 4px; 1928 display: flex; 1929 align-items: center; 1930 justify-content: center; 1931 text-align: center; 1932 } 1933</style> 1934 1935<style> 1936 @media (min-width: 769px){ 1937 .content-over-media.content-over-media--wd-adapt-to-figma{ 1938 max-height:800px; 1939 } 1940 } 1941 1942</style> 1943 1944<style> 1945 .wd-header-icon-couple { 1946 display: flex; 1947 justify-content: center;
1948 align-items: center; 1949 } 1950 .wd-x-header { 1951 padding: 21px 72px 13px 72px; 1952 } 1953 .wd-x-header.wd-scrolled-header { 1954 padding: 14px 68px 14px 72px; 1955 display: flex; 1956 justify-content: space-between; 1957 align-items: center; 1958 } 1959 .wd-scrolled-header .header__logo { 1960 display: none; 1961 } 1962 .wd-header-search-icon { 1963 display: flex; 1964 flex-direction: row-reverse; 1965 justify-content: flex-end; 1966 align-items: center; 1967 gap: 8px; 1968 } 1969 1970 .wd-header-search-icon span { 1971 font-weight: 600; 1972 font-size: 13px; 1973 line-height: 150%; 1974 letter-spacing: 0.13px; 1975 color: #151515; 1976 font-family: 'Montserrat'; 1977 } 1978 .wd-cart-items-number { 1979 display: none !important; 1980 } 1981 li.header__primary-nav-item .h6 { 1982 color: #000; 1983 font-family: 'Montserrat'; 1984 font-size: 13px; 1985 font-style: normal; 1986 font-weight: 500; 1987 line-height: normal; 1988 } 1989 .wd-header-icon-couple, 1990 .header__primary-nav { 1991 gap: 30px !important; 1992 } 1993 .wd-desktop-customer-in-header { 1994 position: relative; 1995 } 1996 .wd-not-signed-in-wrapper { 1997 display: flex; 1998 align-items: center; 1999 gap: 8px; 2000 cursor: pointer; 2001 } 2002 2003 .wd-name-wrapper { 2004 padding: 8px; 2005 border-radius: 49px; 2006 cursor: pointer; 2007 transition: all 0.3s ease-in; 2008 } 2009 .wd-name-wrapper:hover { 2010 background: #e8e9e2; 2011 transition: all 0.3s ease-in; 2012 } 2013 .header__secondary-nav:has(.wd-not-signed-in-wrapper) { 2014 align-items: center; 2015 } 2016 2017 .wd-customer-popover { 2018 display: none; 2019 position: fixed; 2020 right: 100px; 2021 top: 86px; 2022 width: 260px; 2023 border-radius: 12px; 2024 border: 0px solid #a1a1a1; 2025 background: var(--control-background, #fff); 2026 box-shadow: 0px 1px 0px 0px #e1e1e1, 0px 3px 24px -2px rgba(58, 72, 80, 0.34); 2027 padding: 18px 16px 24px 16px; 2028 flex-direction: column; 2029 justify-content: center; 2030 align-items: flex-start; 2031 gap: 4px; 2032 align-self: stretch; 2033 z-index: 101; 2034 opacity: 0; 2035 transform: translateY(-20px); 2036 animation: fadeInDown 0.5s forwards; 2037 } 2038 2039 .wd-desktop-customer-in-header:has(.wd-logged-in-name-wrapper) .wd-customer-popover { 2040 top: 52px !important; 2041 right: -28px !important; 2042 position: absolute; 2043 } 2044 2045 .wd-customer-popover-show { 2046 display: flex; 2047 animation: fadeInDown 0.5s forwards; 2048 } 2049 2050 .wd-customer-popover-hide { 2051 animation: fadeOutUp 0.5s forwards; 2052 } 2053 2054 @keyframes fadeInDown { 2055 from { 2056 opacity: 0; 2057 transform: translateY(-20px); 2058 } 2059 to { 2060 opacity: 1; 2061 transform: translateY(0); 2062 } 2063 } 2064 2065 @keyframes fadeOutUp { 2066 from { 2067 opacity: 1; 2068 transform: translateY(0); 2069 } 2070 to { 2071 opacity: 0; 2072 transform: translateY(-20px); 2073 } 2074 } 2075 2076 .wd-scrolled-header .wd-customer-popover { 2077 top: 76px !important; 2078 } 2079 .wd-scrolled-header:has(.wd-logged-in-name-wrapper) .wd-customer-popover { 2080 top: 55px !important; 2081 } 2082 .wd-popover-arrow { 2083 position: absolute; 2084 top: -10px; 2085 right: 20%; 2086 } 2087 2088 .wd-popover-title { 2089 font-size: 20px; 2090 margin-bottom: 12px; 2091 } 2092
2093 .wd-header-popover-divider { 2094 height: 1px; 2095 background-color: #f1f1f1; 2096 width: 100%; 2097 margin-bottom: 16px; 2098 } 2099 2100 .wd-header-popover-login-button { 2101 border-radius: 36px; 2102 height: 48px; 2103 box-shadow: 0px 1px 1px 0px rgba(255, 255, 255, 0.02) inset, 0px 6px 12px 0px rgba(255, 255, 255, 0.12) inset, 2104 0px 4px 8px 3px rgba(0, 0, 0, 0.12), 0px 1px 3px 0px rgba(0, 0, 0, 0.2); 2105 margin-bottom: 8px; 2106 } 2107 2108 .wd-header-popover-register-button { 2109 border-radius: 36px; 2110 height: 48px; 2111 margin-bottom: 24px; 2112 border: 1px solid #272e0f; 2113 color: #272e0f; 2114 font-weight: 600; 2115 } 2116 2117 .transperent-background { 2118 background:transparent; 2119 color:#272e0f; 2120 } 2121 2122 .wd-header-popover-links-wrapper { 2123 display: flex; 2124 align-items: center; 2125 gap: 12px; 2126 cursor: pointer; 2127 } 2128 2129 .wd-header-popover-links-wrapper:not(:last-child) { 2130 margin-bottom: 16px; 2131 } 2132 .wd-header-popover-links-text { 2133 color: #111; 2134 font-family: 'Montserrat'; 2135 font-size: 16px; 2136 font-style: normal; 2137 font-weight: 400; 2138 line-height: normal; 2139 } 2140 2141 #social_login_frame { 2142 height: 110px !important; 2143 margin-bottom: 24px !important; 2144 } 2145 2146 .wd-logged-in-customer-wrapper { 2147 display: flex; 2148 justify-content: space-between; 2149 align-items: baseline; 2150 width: 100%; 2151 margin-bottom: 16px; 2152 } 2153
2154 .wd-logged-in-customer-welcome-text { 2155 color: #878787; 2156 font-family: 'Montserrat'; 2157 font-size: 16px; 2158 font-style: normal; 2159 font-weight: 300; 2160 line-height: 26px; /* 162.5% */ 2161 } 2162 2163 .wd-logged-in-customer-customer-name-text { 2164 font-size: 20px; 2165 font-weight: 400; 2166 } 2167 2168 .wd-logged-in-customer-log-out-text { 2169 color: #878787; 2170 font-family: 'Montserrat'; 2171 font-size: 14px; 2172 font-style: normal; 2173 font-weight: 300; 2174 line-height: normal; 2175 cursor: pointer; 2176 text-decoration-line: underline; 2177 } 2178 @media screen and (min-width: 999px) { 2179 .wd-header-search-icon.wd-search-desktop{ 2180 display: flex !important; 2181 } 2182 .wd-search-mobile { 2183 display: none !important; 2184 } 2185 } 2186 @media screen and (max-width: 999px) { 2187 .wd-search-mobile { 2188 display: flex !important; 2189 } 2190 .wd-header-search-icon.wd-search-desktop{ 2191 display: none !important; 2192 } 2193 } 2194 2195 @media screen and (max-width: 698px) { 2196 .wd-x-header { 2197 padding: 15px 11px 15px 16px; 2198 } 2199 2200 .wd-search-desktop { 2201 display: none !important; 2202 } 2203 .wd-header-icon-couple, 2204 .header__primary-nav { 2205 gap: 16px !important; 2206 } 2207 x-header:not(.is-solid) { 2208 /* Your CSS rules here */ 2209 background-color: transparent !important; /* Example style */ 2210 box-shadow: none; 2211 } 2212 } 2213 @media screen and (min-width: 699px) { 2214 /* .wd-search-mobile { 2215 display: none !important; 2216 } */ 2217 .wd-header-icon-couple { 2218 gap: 28px !important; 2219 /*margin-top: -3px;*/ 2220 } 2221 .wd-x-header { 2222 row-gap: 33px; 2223 } 2224 .header__logo-image { 2225 height: 24px; 2226 } 2227 li.header__primary-nav-item .h6 { 2228 line-height: 14px; 2229 } 2230 } 2231 @media screen and (min-width: 577px) { 2232 .wd-x-header.wd-scrolled-header .header__logo, 2233 .wd-x-header.wd-scrolled-header #to-start-text { 2234 display: none; 2235 } 2236 .wd-x-header.wd-scrolled-header .header__logo, 2237 .wd-x-header.wd-scrolled-header #to-start-text { 2238 display: none; 2239 } 2240 .wd-x-header.wd-scrolled-header { 2241 row-gap: 0 !important; 2242 column-gap: 0 !important; 2243 display: flex !important; 2244 align-items: center !important; 2245 justify-content: space-between !important; 2246 padding-top: 14px !important ; 2247 } 2248 } 2249 @media screen and (max-width: 1439px) { 2250 .wd-x-header.wd-scrolled-header .wd-header-search-icon span { 2251 display: none !important; 2252 } 2253 2254 .wd-x-header.wd-scrolled-header #sign-in-text { 2255 display: none !important; 2256 } 2257 } 2258 @media screen and (max-width: 1440px) { 2259 .wd-x-header.wd-scrolled-header { 2260 padding: 14px 48px !important; 2261 } 2262 .wd-x-header .header__primary-nav { 2263 gap: 28px !important; 2264 } 2265 } 2266 2267 @media screen and (max-width: 1280px) { 2268 .wd-x-header.wd-scrolled-header { 2269 padding: 14px 40px !important; 2270 } 2271 } 2272 @media screen and (max-width: 1100px) { 2273 .wd-x-header.wd-scrolled-header { 2274 padding: 14px 32px !important; 2275 } 2276 .wd-x-header.wd-scrolled-header .header__primary-nav { 2277 gap: 20px !important; 2278 } 2279 2280 .wd-x-header.wd-scrolled-header .header__primary-nav .header__primary-nav-item:last-child { 2281 display: none; 2282 } 2283 } 2284 .link-text { 2285 letter-spacing: 0 !important; 2286 } 2287 2288 .name-non-sticky { 2289 display: flex; 2290 } 2291 .name-sticky { 2292 display: none; 2293 } 2294 .wd-scrolled-header .name-non-sticky { 2295 display: none !important; 2296 } 2297 .wd-scrolled-header .name-sticky { 2298 display: flex !important; 2299 justify-content: center; 2300 align-items: center; 2301 gap: 4px; 2302 } 2303 .user-name-sticky { 2304 display: flex; 2305 width: 24px; 2306 height: 24px; 2307 padding: 4px; 2308 flex-direction: column; 2309 justify-content: center; 2310 align-items: center; 2311 gap: 4px; 2312 border-radius: 20px; 2313 border: 2px solid #000; 2314 background: #e8e9e2; 2315 } 2316 .first-name { 2317 color: #111; 2318 font-size: 13px; 2319 font-style: normal; 2320 font-weight: 700; 2321 line-height: normal; 2322 text-transform: capitalize; 2323 } 2324 .login-icon{ 2325 height: 12px; 2326 width: 12px; 2327 } 2328</style> 2329 2330 2331<style> 2332 .wd-collection-list .section-spacing{ 2333 padding:93px 0 92px; 2334 } 2335 .wd-collection-list .section-spacing .container{ 2336 margin:0 71px; 2337 } 2338 .wd-collection-list .section-spacing .container .section-header h2.h2{ 2339 color: #272E0F; 2340 text-align: center; 2341 font-family: Montserrat; 2342 font-size: 24px; 2343 font-style: normal; 2344 font-weight: 700; 2345 line-height: 130%; /* 31.2px */ 2346 letter-spacing: 0.24px; 2347 text-transform: uppercase; 2348 } 2349 .wd-collection-list .section-spacing .container .section-stack{ 2350 gap: 77px; 2351 } 2352 .wd-collection-list .section-spacing .container .collection-card p.h3{ 2353 color: var(--control-background, #FFF); 2354 text-align: center; 2355 text-shadow: 0px 5.195px 2.598px rgba(0, 0, 0, 0.04), 0px 10.39px 31.171px rgba(0, 0, 0, 0.25); 2356 font-family: Montserrat; 2357 font-size: 28px; 2358 font-style: normal; 2359 font-weight: 800; 2360 line-height: normal; 2361 text-transform: uppercase; 2362 background-color: rgba(0, 0, 0, 0.6); 2363 } 2364 @media screen and (max-width:768px){ 2365 .wd-collection-list .section-spacing{ 2366 padding:41px 0 33px; 2367 } 2368 .wd-collection-list .section-spacing .container{ 2369 margin:0 16px; 2370 } 2371 .wd-collection-list .section-spacing .container .section-header h2.h2{ 2372 color: #272E0F; 2373 text-align: center; 2374 font-family: Montserrat; 2375 font-size: 20px; 2376 font-style: normal; 2377 font-weight: 700; 2378 line-height: 130%; /* 26px */ 2379 letter-spacing: 0.2px; 2380 text-transform: uppercase; 2381 } 2382 .wd-collection-list .section-spacing .container .section-stack{ 2383 gap: 28px; 2384 } 2385 .wd-collection-list .section-spacing .container .collection-card p.h3{ 2386 color: var(--control-background, #FFF); 2387 text-align: center; 2388 text-shadow: 0px 2px 1px rgba(0, 0, 0, 0.04), 0px 4px 12px rgba(0, 0, 0, 0.25); 2389 font-family: Montserrat; 2390 font-size: 18px; 2391 font-style: normal; 2392 font-weight: 800; 2393 line-height: normal; 2394 text-transform: uppercase; 2395 letter-spacing: unset; 2396 word-spacing: unset; 2397 width: 134px; 2398 } 2399 } 2400</style> 2401 2402<style> 2403 .wd-desktop-sort{ 2404 display: flex; 2405 } 2406 2407 .shopify-section--collection-banner{ 2408 min-height:183px; 2409 } 2410 .wd-collection-banner-content-wrapper{ 2411 padding: 60px 0 82px 0; 2412 } 2413 .shopify-section--collection-banner .wd-collection-banner-header{ 2414 color: #272E0F; 2415 text-align: center; 2416 font-family: Montserrat; 2417 font-size: 34px; 2418 font-style: normal; 2419 font-weight: 700; 2420 line-height: normal; 2421 letter-spacing: normal; 2422 } 2423 .shopify-section--collection-banner .collection-description{ 2424 color: #595C51; 2425 text-align: center; 2426 font-family: Montserrat; 2427 font-size: 13px; 2428 font-style: normal; 2429 font-weight: 400; 2430 line-height: 21px; /* 161.538% */ 2431 letter-spacing: 0.4px; 2432 } 2433 .wd-collection-grid.wd-products-list product-card.product-card{ 2434 min-height:unset !important; 2435 max-height:unset !important; 2436 aspect-ratio: 426 / 502; 2437 }
2438 .wd-collection-page-grid.container{ 2439 margin: 0 72px; 2440 } 2441 .wd-products-list.wd-collection-grid{ 2442 column-gap:16px; 2443 row-gap:16px; 2444 --product-list-default-row-gap: 16px; 2445 --product-list-default-column-gap: 16px; 2446 } 2447 .wd-products-list.wd-collection-grid product-card.product-card .product-card__image{ 2448 width:unset !important; 2449 height:unset !important; 2450 aspect-ratio:410/410; 2451 } 2452 .wd-products-list.wd-collection-grid product-card.product-card button.product-card__quick-add-button{ 2453 min-width:65px; 2454 inset-block-end: unset; 2455 inset-inline-end: unset; 2456 right:16px; 2457 bottom:14px; 2458 } 2459 wd-products-list.wd-collection-grid .yotpo-sr-bottom-line-summary>div:nth-child(5){ 2460 margin-right:0; 2461 2462 } 2463 2464 .shopify-section--collection-banner h1 { 2465 text-transform: capitalize; 2466 } 2467 .wd-filter-drawer.drawer::part(content){ 2468 width:375px 2469 } 2470 .wd-filter-drawer.drawer::part(close-button tap-area){ 2471 opacity: 1; 2472 } 2473 2474 .wd-filter-drawer .accordion__toggle .icon{ 2475 width:10px; 2476 height:6px; 2477 opacity: 1; 2478 } 2479 .wd-filter-drawer.drawer::part(header){ 2480 padding: 30px 0 0px 18px; 2481 margin-right: 40%; 2482 border: none; 2483 } 2484 .wd-filter-drawer .h4[slot="header"]{ 2485 color: #272E0F; 2486 text-align: center; 2487 font-family: Montserrat; 2488 font-size: 24px; 2489 font-style: normal; 2490 font-weight: 700; 2491 line-height: normal; 2492 text-transform:capitalize; 2493 letter-spacing:normal; 2494 } 2495 2496 .wd-collection-toolbar { 2497 box-shadow: none; 2498 width:100%; 2499 margin:0; 2500 align-items:center; 2501 min-height:unset; 2502 padding:16px 0; 2503 border-top: 1px solid rgba(0, 0, 0, 0.08); 2504 } 2505 .wd-filters-and-products{ 2506 gap:21px; 2507 } 2508 .wd-items-count.collection-toolbar__products-count { 2509 margin: 0; 2510 transform: unset !important; 2511 position: unset !important; 2512 color: #595C51; 2513 text-align: center; 2514 font-family: Montserrat; 2515 font-size: 13px; 2516 font-style: normal; 2517 font-weight: 400; 2518 line-height: normal; 2519 letter-spacing: 0.4px; 2520 text-transform: capitalize; 2521 min-width: max-content; 2522 } 2523 .wd-items-countand-quick-filters { 2524 display: flex; 2525 gap: 16px; 2526 justify-content: start; 2527 align-items: center; 2528 } 2529 .wd-quick-filters::-webkit-scrollbar {
2530 2531 display: none; 2532 } 2533 2534 .wd-quick-filters { 2535 display: flex; 2536 justify-content: flex-start; 2537 align-items: center; 2538 gap:8px; 2539 overflow-x: hidden; 2540 cursor: grab; 2541 max-width: 100%; 2542 } 2543 .wd-quickFilter { 2544 display: flex; 2545 padding: 6px 13px; 2546 align-items: center; 2547 border-radius: 36px; 2548 background: #fff; 2549 color: #282F10; 2550 text-align: center; 2551 font-family: Montserrat; 2552 font-size: 14px; 2553 font-style: normal; 2554 font-weight: 400; 2555 line-height: normal; 2556 width:max-content !important; 2557 min-width: max-content; 2558 border-radius: 8px; 2559 border: 1px solid #E8DFD4; 2560 } 2561 .wd-filter-button{ 2562 background: #fff; 2563 display: flex; 2564 padding: 6px 13px !important; 2565 align-items: center; 2566 gap: 16px; 2567 color: #282F10; 2568 text-align: center; 2569 font-family: Montserrat; 2570 font-size: 14px; 2571 font-style: normal; 2572 font-weight: 400; 2573 line-height: normal; 2574 text-transform: capitalize; 2575 opacity: 1; 2576 letter-spacing: normal; 2577 border-radius: 8px; 2578 border: 1px solid #C2BDB6; 2579 box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.06); 2580 } 2581 .collection-toolbar__button-container{ 2582 border:0; 2583 } 2584 2585 .wd-filter-button-count{ 2586 display: grid; 2587 width: 17px; 2588 height: 17px; 2589 padding: 4px; 2590 flex-direction: column; 2591 justify-content: center; 2592 align-items: end; 2593 gap: 4px;border-radius: 60px; 2594 background: #272E0F; 2595 color: #F9FAF7; 2596 text-align: center; 2597 font-family: Montserrat; 2598 font-size: 10px; 2599 font-style: normal; 2600 font-weight: 600; 2601 line-height: normal; 2602 letter-spacing: 0px; 2603 place-content: center; 2604 } 2605 .wd-sort-button{ 2606 display: flex; 2607 padding: 6px 13px; 2608 align-items: center; 2609 gap: 16px; 2610 border-radius: 36px; 2611 background: #fff; 2612 color: #282F10; 2613 text-align: center; 2614 font-family: Montserrat; 2615 font-size: 14px; 2616 font-style: normal; 2617 font-weight: 400; 2618 line-height: normal; 2619 text-transform: unset; 2620 opacity: 1; 2621 padding-inline: 13px !important; 2622 margin-right: 8px; 2623 letter-spacing: normal; 2624 border-radius: 8px; 2625 border: 1px solid #C2BDB6; 2626 box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.06); 2627 } 2628 .wd-active-sort{ 2629 color: #282F10; 2630 font-family: Montserrat; 2631 font-size: 14px; 2632 font-style: normal; 2633 font-weight: 400; 2634 line-height: normal; 2635 text-transform: capitalize; 2636 letter-spacing: normal; 2637 margin-left: 5px; 2638 } 2639 .wd-sort-button-elements-wrapper{ 2640 gap:16px; 2641 } 2642 .wd-sort-options-menu.popover:has(.popover__value-list)::part(body){ 2643 padding:24px; 2644 } 2645 .wd-sort-options-menu .popover__value-list{ 2646 gap:24px; 2647 } 2648 .wd-sort-option-input{ 2649 accent-color:#7D8F3E; 2650 width:24px; 2651 height:24px; 2652 } 2653 .wd-sort-option-button { 2654 display: flex; 2655 justify-content: flex-start; 2656 align-items: center; 2657 gap: 25px; 2658 } 2659 .wd-sort-option-button:not([aria-selected="true"]){ 2660 color: #333; 2661 font-family: Montserrat; 2662 font-size: 16px; 2663 font-style: normal; 2664 font-weight: 400; 2665 line-height: normal; 2666 letter-spacing: 0.2px; 2667 } 2668 .wd-sort-option-button[aria-selected="true"]{ 2669 color: #000; 2670 font-family: Montserrat; 2671 font-size: 16px; 2672 font-style: normal; 2673 font-weight: 700; 2674 line-height: normal; 2675 letter-spacing: 0.2px; 2676 } 2677 .wd-filter-drawer.drawer::part(body){ 2678 padding:51px 25px 0px 28px; 2679 } 2680 .wd-filter-drawer .wd-svg-number-wrapper{ 2681 display: flex; 2682 justify-content: end; 2683 align-items: center; 2684 flex-direction: row-reverse; 2685 gap: 8px; 2686 2687 } 2688 .wd-filter-drawer .wd-svg-number-wrapper .wd-active-filter-count{ 2689 color: #333; 2690 font-family: Montserrat; 2691 font-size: 15px; 2692 font-style: normal; 2693 font-weight: 700; 2694 line-height: normal; 2695 letter-spacing: 0.188px; 2696 display: flex; 2697 padding: 2px 8px; 2698 flex-direction: column; 2699 justify-content: center; 2700 align-items: center; 2701 gap: 4px; 2702 border-radius: 24px; 2703 background: #E8E9E2; 2704 } 2705 .wd-filter-drawer .facets .accordion-list .accordion:first-child .accordion__toggle{ 2706 padding-bottom:24px 2707 } 2708 .wd-filter-drawer .accordion__toggle{ 2709 padding:24px 0 2710 } 2711 2712 .wd-filter-drawer .accordion__toggle .text-with-icon { 2713 color: #272E0F; 2714 font-family: Montserrat; 2715 font-size: 16px; 2716 font-style: normal; 2717 font-weight: 400; 2718 line-height: normal; 2719 letter-spacing: normal; 2720 text-transform: capitalize; 2721 } 2722 .wd-filter-drawer .accordion.group[aria-expanded="true"] .accordion__toggle .text-with-icon{ 2723 font-weight: 700; 2724 2725 2726 }
2727 .wd-filter-drawer.drawer::part(footer){ 2728 box-sizing:border-box; 2729 } 2730 2731 .wd-filter-drawer div[slot="footer"] .facets-clear-all, 2732 .collection__main .facets-clear-all, 2733 .collection__main .removable-facet{ 2734 display:none 2735 } 2736 .collection__main{ 2737 row-gap: unset; 2738 } 2739 .wd-filter-drawer div[slot="footer"] .removable-facet{ 2740 2741 display: flex; 2742 flex-direction:row-reverse; 2743 padding: 6px var(--spacing-small-400, 5px); 2744 align-items: center; 2745 gap: 16px; 2746 border-radius: var(--size-100, 4px); 2747 background: #E8E9E2; 2748 color: #282F10; 2749 text-align: center; 2750 font-family: Montserrat; 2751 font-size: 13px; 2752 font-style: normal; 2753 font-weight: 500; 2754 line-height: normal; 2755 } 2756 2757 2758 .wd-filter-drawer .button[is="dialog-close-button"], 2759 .wd-filter-drawer .button[is="dialog-close-button"]:hover{ 2760 display: inline-flex; 2761 padding: 9px 25px; 2762 justify-content: center; 2763 align-items: center; 2764 gap: 4px; 2765 border-radius: 36px; 2766 border: 1px solid rgba(255, 255, 255, 0.12); 2767 background: #245732; 2768 box-shadow: 0px 1px 1px 0px rgba(255, 255, 255, 0.02) inset, 0px 6px 12px 0px rgba(255, 255, 255, 0.12) inset, 0px 4px 8px 3px rgba(0, 0, 0, 0.12), 0px 1px 3px 0px rgba(0, 0, 0, 0.20); 2769 color: var(--control-background, #FFF); 2770 font-family: Figtree; 2771 font-size: 13px; 2772 font-style: normal; 2773 font-weight: 600; 2774 line-height: normal; 2775 text-transform: uppercase; 2776 opacity: 1; 2777 } 2778 .wd-filter-drawer .accordion__content .checkbox-control label{ 2779 color: #272E0F; 2780 font-family: Montserrat; 2781 font-size: 16px; 2782 font-style: normal; 2783 font-weight: 400; 2784 line-height: normal; 2785 opacity:1; 2786 } 2787 .wd-filters-wrapper{ 2788 display:flex; 2789 justify-content:start; 2790 align-items:center; 2791 gap:22px; 2792 } 2793 .wd-filters-wrapper label span.wd-filter-amount{ 2794 display:none; 2795 } 2796 .wd-filters-wrapper input{ 2797 width:24px; 2798 height:24px; 2799 position:unset; 2800 border-radius:4px; 2801 } 2802 .wd-filters-wrapper input:checked{ 2803 background-size:16px 14px; 2804 } 2805 .wd-filter-drawer div[slot="footer"] { 2806 display: flex; 2807 gap: 19px; 2808 flex-direction: column-reverse; 2809 } 2810 .badge--custom{ 2811 color: #DBE3BF; 2812 text-align: center; 2813 font-family: Montserrat; 2814 font-size: 12px; 2815 font-style: normal; 2816 font-weight: 600; 2817 line-height: normal; 2818 display: inline-flex; 2819 padding: 4px; 2820 justify-content: center; 2821 align-items: center; 2822 gap: 4px; 2823 background: #272E0F; 2824 } 2825 .badge--on-sale{ 2826 display: inline-flex; 2827 padding: 4px; 2828 justify-content: center; 2829 align-items: center; 2830 gap: 4px; 2831 background: var(--control-background, #FFF); 2832 color: #F9AFC5; 2833 text-align: center; 2834 font-family: Montserrat; 2835 font-size: 12px; 2836 font-style: normal; 2837 font-weight: 600; 2838 line-height: normal; 2839 } 2840 .wd-default-price-filter{ 2841 --range-min:0% !important; 2842 --range-max:100% !important; 2843 } 2844 2845 2846 @media screen and (min-width:768px){ 2847 .wd-mobile, 2848 .wd-mobile-divider, 2849 .wd-mobile-sort, 2850 .wd-mobile-sort-popup{ 2851 display: none; 2852 } 2853 2854 } 2855 @media screen and (max-width:768px){ 2856 .wd-collection-banner-content-wrapper{ 2857 padding: 20px 0 32px 0; 2858 } 2859 .wd-collection-grid.wd-products-list product-card.product-card{ 2860 min-height:unset !important; 2861 max-height:unset !important; 2862 aspect-ratio: 163 / 252; 2863 } 2864 .wd-products-list.wd-collection-grid{ 2865 column-gap:5px; 2866 row-gap:5px; 2867 --product-list-default-row-gap: 5px; 2868 --product-list-default-column-gap: 5px; 2869 } 2870 2871 2872 .wd-products-list.wd-collection-grid product-card.product-card .product-card__image{ 2873 width:unset !important; 2874 height:unset !important; 2875 aspect-ratio:155/155; 2876 } 2877 2878 .wd-products-list.wd-collection-grid product-card.product-card button.product-card__quick-add-button{ 2879 min-width:24px; 2880 inset-block-end: unset; 2881 inset-inline-end: unset; 2882 right:4px; 2883 bottom:4px; 2884 } 2885 .wd-products-list.wd-collection-grid product-card.product-card{ 2886 padding:0; 2887 } 2888 .wd-products-list.wd-collection-grid product-card.product-card .product-title{ 2889 white-space: normal; 2890 } 2891 .wd-products-list.wd-collection-grid.product-list:not(.product-list--carousel){ 2892 margin-inline:0; 2893 } 2894 .shopify-section--collection-banner{ 2895 min-height: 30px; 2896 } 2897 .wd-filters-and-products{ 2898 gap: 23px; 2899 } 2900 .wd-collection-toolbar{ 2901 padding-bottom:0; 2902 position: unset; 2903 gap:16px; 2904 align-items: baseline; 2905 } 2906 2907 .shopify-section--collection-banner .wd-collection-banner-header{ 2908 color: #272E0F; 2909 text-align: center; 2910 font-family: Montserrat; 2911 font-size: 24px; 2912 font-style: normal; 2913 font-weight: 700; 2914 line-height: normal; 2915 }
2916 .wd-filter-drawer.drawer::part(content){ 2917 max-width:unset !important; 2918 width:100% !important; 2919 } 2920 .wd-filter-button{ 2921 background: transparent; 2922 color: #595C51; 2923 font-family: Montserrat; 2924 font-size: 15px; 2925 font-style: normal; 2926 font-weight: 700; 2927 line-height: normal; 2928 text-transform: uppercase; 2929 gap: 9px; 2930 width: max-content; 2931 padding: 0 0 0 8px !important; 2932 border: 0px solid #C2BDB6; 2933 box-shadow: unset; 2934 margin-top: 20px; 2935 } 2936 .wd-filter-button svg{ 2937 2938 width: 15px; 2939 height: 10px; 2940 } 2941 .wd-sort-option-button{ 2942 letter-spacing: normal !important; 2943 color: #272E0F !important; 2944 font-family: Montserrat !important; 2945 font-size: 16px !important; 2946 font-style: normal !important; 2947 font-weight: 400 !important; 2948 line-height: normal !important; 2949 } 2950 .wd-filter-drawer .accordion__toggle .text-with-icon { 2951 color: #272E0F; 2952 font-family: Montserrat; 2953 font-size: 16px; 2954 font-style: normal; 2955 font-weight: 400; 2956 line-height: normal; 2957 } 2958 .wd-filter-drawer.drawer::part(header){ 2959 padding-top: 33px ; 2960 } 2961 .wd-filter-button-count{ 2962 display: none; 2963 } 2964 .active-facets{ 2965 max-width: 100vw; 2966 padding-left: 16px; 2967 gap: 6px; 2968 flex-wrap: unset; 2969 overflow-x: scroll; 2970 } 2971 .active-facets::-webkit-scrollbar {
2972 2973 display: none; 2974 } 2975 .wd-filter-drawer.drawer::part(footer){ 2976 2977 padding: 15px 0 28px 0; 2978 } 2979 .wd-filter-drawer .button[is="dialog-close-button"], .wd-filter-drawer .button[is="dialog-close-button"]:hover{ 2980 width: max-content; 2981 margin: auto; 2982 } 2983 .wd-collection-page-grid.container{ 2984 margin: 0px; 2985 } 2986 .wd-sort-button-elements-wrapper{ 2987 gap: unset; 2988 width: 100%; 2989 justify-content: space-between; 2990 2991 } 2992 .wd-sort-button{ 2993 margin-right: unset; 2994 margin-top: 20px; 2995 padding: 0px; 2996 border: 0px solid #C2BDB6; 2997 box-shadow: unset; 2998 } 2999 .wd-quick-filters{ 3000 gap:4px; 3001 padding-right: 17px; 3002 } 3003 .wd-items-countand-quick-filters{ 3004 max-width:calc(100% - 136px) 3005 } 3006 .wd-desktop, 3007 .wd-desktop-sort, 3008 .wd-desktop-sort-popup{ 3009 display: none !important; 3010 } 3011 .wd-mobile-sort{ 3012 display: flex; 3013 align-items: baseline; 3014 width: 100%; 3015 justify-content: space-between; 3016 } 3017 .collection-toolbar__button-container.wd-mobile-sort .wd-sort-button { 3018 width: max-content; 3019 background-color: unset; 3020 } 3021 .collection-toolbar__button-container.wd-mobile-sort .wd-sort-button span { 3022 gap: 6px; 3023 color: #595C51; 3024 font-family: Montserrat; 3025 font-size: 15px; 3026 font-style: normal; 3027 font-weight: 700; 3028 line-height: normal; 3029 text-transform: capitalize; 3030 align-items: center; 3031 } 3032 .collection-toolbar__button-container.wd-mobile-sort .wd-sort-button span svg { 3033 margin-top: 0.5px; 3034 } 3035 .wd-mobile-divider { 3036 min-width: 2px; 3037 height: 10px; 3038 border-radius: 1px; 3039 display: block; 3040 background: #E8E9E2; 3041 color: transparent; 3042 } 3043 .wd-quickFilter{ 3044 color: #272E0F; 3045 font-family: Montserrat; 3046 font-size: 12px; 3047 font-style: normal; 3048 font-weight: 400; 3049 line-height: normal; 3050 letter-spacing: 0.12px; 3051 text-transform: capitalize; 3052 border-radius: 32px; 3053 background: #fff; 3054 box-shadow: 0px 0px 1px 0px rgba(0, 0, 0, 0.00), 0px 0px 1px 0px rgba(0, 0, 0, 0.01), 0px 0px 1px 0px rgba(0, 0, 0, 0.05), 0px 0px 1px 0px rgba(0, 0, 0, 0.09); 3055 display: flex; 3056 padding: var(--spacing-small-400, 5px) 8px; 3057 justify-content: center; 3058 align-items: center; 3059 gap: 4px; 3060 border-radius: 8px; 3061 border: 1px solid var(--warm-gray, #E8DFD4); 3062 } 3063 .removable-facet a{ 3064 width: 8px; 3065 height: 8px; 3066 } 3067 .removable-facet span{ 3068 width: max-content; 3069 3070 } 3071 .collection-toolbar__button-list{ 3072 flex-grow: 0; 3073 } 3074 3075 3076 3077 } 3078 3079</style> 3080 3081<style data-shopify> 3082 .sub-checkbox { 3083 background: url(https://cdn.shopify.com/s/files/1/0864/6741/2261/files/radio_btn.svg?v=1738072943); 3084 background-size: contain; 3085 border: 0 !important; 3086 } 3087 3088 span.badge-when-no-cart-discount { 3089 font-family: Montserrat; 3090 font-size: 11px; 3091 font-style: normal; 3092 font-weight: 600; 3093 line-height: normal; 3094 letter-spacing: normal; 3095 background: #cb0050; 3096 padding: 2px 4px; 3097 color: #fff; 3098 border-radius: 5px; 3099} 3100 3101 .line_item_subscribe p { 3102 color: #A1A1A1; 3103 text-align: left; 3104 font-family: Montserrat; 3105 font-size: 13px; 3106 font-style: normal; 3107 font-weight: 500; 3108 line-height: normal; 3109 letter-spacing: 0.13px; 3110 } 3111 3112 .line_item_subscribe { 3113 display: grid; 3114 grid-template-columns: 23px auto; 3115 align-items: start; 3116 gap: 5px; 3117 margin-top: 8px; 3118 border-radius: 0px ; 3119 3120 background: linear-gradient(0deg, var(--cream, #FFF8F1) 0%, rgba(249, 250, 247, 0.00) 100%); 3121 padding: 0 8px 8px; 3122 cursor: pointer; 3123 } 3124 3125 .line_item_subscribe div { 3126 width: 19px; 3127 height: 19px; 3128 border: 1px solid #878787; 3129 border-radius: 15px; 3130 margin-left: 3px; 3131 } 3132 3133 .line-item-wrapper { 3134 border-radius: 16px; 3135 border: 1px solid #D4D4D4; 3136 background: #FFF; 3137 max-width: 100%; 3138 overflow: hidden; 3139 } 3140
3141 #cart-drawer .selling-plan-name { 3142 font-family: 'Montserrat'; 3143 font-size: 11px; 3144 padding-bottom: 10px; 3145 margin-top: -5px; 3146 } 3147 3148 #cart-drawer .selling-plan-name.tbyb { 3149 background: #F9004F; 3150 color: #fff; 3151 font-weight: 600; 3152 padding: 2px 3px; 3153 border-radius: 5px; 3154 font-size: 10px; 3155 margin-bottom: 10px; 3156 padding-bottom: 2px; 3157 } 3158 3159 .cart-drawer__items .line-item-info .discount-badge { 3160 border-radius: 4px; 3161 font-family: 'Montserrat'; 3162 font-weight: 600; 3163 font-size: 10px !important; 3164 } 3165 3166 .cart-drawer__items .line-item-info .discount-badge.hide { 3167 display:none 3168 } 3169 .try-cart-note { 3170 font-size: 11px; 3171 font-family: Montserrat; 3172 } 3173 3174 #cart-drawer .line-item-info .price-list { 3175 display:block 3176 } 3177 3178 .tbyb-line-item-price { 3179 border-radius: 4px; 3180 background: #CB0050; 3181 display: flex; 3182 padding: 4px 8px; 3183 justify-content: center; 3184 align-items: center; 3185 gap: 4px; 3186 color: #fff; 3187 } 3188 3189 .try-cart-note.hide { 3190 display:none 3191 } 3192 3193 .try-cart-note-icon , .line-item-price-icon{ 3194 display: inline; 3195 width: 13px; 3196 margin-top: -3px; 3197 } 3198 3199 .line-item-price-icon { 3200 margin-top: -3px; 3201 } 3202 3203 .wd-cart-line_item-title{ 3204 color: #272E0F; 3205 font-family: Montserrat; 3206 font-size: 14px; 3207 font-style: normal; 3208 font-weight: 600; 3209 line-height: normal; 3210 letter-spacing: 0.14px; 3211 width:162px; 3212 text-transform: capitalize; 3213 } 3214 3215 .wd-real-remove-from-cart{ 3216 display:none; 3217 } 3218 #cart-drawer.cart-drawer::part(body) { 3219 padding-right: 16px; 3220 padding-left: 16px; 3221 box-sizing: border-box; 3222 } 3223 3224 #cart-drawer.drawer::part(header){ 3225 padding:16px 0 16px 16px; 3226 margin-right: 37%; 3227 border:none; 3228 } 3229 #cart-drawer .h4[slot="header"]{ 3230 color: #272E0F; 3231 text-align: center; 3232 font-family: Montserrat !important; 3233 font-size: 18px !important; 3234 font-style: normal !important; 3235 font-weight: 700 !important; 3236 line-height: normal !important; 3237 letter-spacing: 0.327px !important; 3238 text-transform: capitalize; 3239 } 3240 #cart-drawer line-item.line-item{ 3241 justify-content: flex-start; 3242 column-gap: 12px; 3243 position: relative; 3244 align-items: start; 3245 padding: 8px; 3246 } 3247 #cart-drawer line-item.line-item .line-item__media{ 3248 border-radius: 8px; 3249 background: url(<path-to-image>) lightgray 50% / cover no-repeat; 3250 mix-blend-mode: multiply; 3251 } 3252 #cart-drawer line-item.line-item .line-item-info{ 3253 width:100%; 3254 height:100%; 3255 padding: 0px; 3256 } 3257 #cart-drawer line-item.line-item .line-item-info .wd-cart-line-item-header{ 3258 margin-bottom:10px !important; 3259 } 3260 #cart-drawer line-item.line-item quantity-selector{ 3261 width:106px; 3262 height:24px; 3263 border-radius: 24px; 3264 border: 1px solid #E8E9E2; 3265 background: #F9FAF7; 3266 display: flex; 3267 align-items: center; 3268 justify-content:center; 3269 gap: 4px; 3270 padding:5px 8px; 3271 margin-bottom:10px; 3272 3273 } 3274 #cart-drawer line-item.line-item quantity-selector input.quantity-selector__input.text-sm{ 3275 color: #272E0F; 3276 text-align: center; 3277 font-family: Montserrat; 3278 font-size: 13px; 3279 font-style: normal; 3280 font-weight: 500; 3281 line-height: 19px; /* 118.75% */ 3282 } 3283 #cart-drawer .price-list{ 3284 gap:5px !important; 3285 flex-direction:row-reverse; 3286 align-items: center; 3287 } 3288 #cart-drawer .price-list .text-subdued{ 3289 color: #A1A1A1 !important; 3290 font-family: Montserrat !important; 3291 font-size: 13px !important; 3292 font-style: normal !important; 3293 font-weight: 500 !important; 3294 line-height: normal !important; 3295 letter-spacing: normal; 3296 } 3297 #cart-drawer sale-price.h6.text-on-sale { 3298 color: #F9004F; 3299 font-family: Montserrat; 3300 font-size: 13px; 3301 font-style: normal; 3302 font-weight: 500; 3303 line-height: normal; 3304 letter-spacing: normal; 3305 } 3306 #cart-drawer button.button[type="submit"] { 3307 box-shadow: 0px 1px 1px 0px rgba(255, 255, 255, 0.02) inset, 0px 6px 12px 0px rgba(255, 255, 255, 0.12) inset, 0px 4px 8px 3px rgba(0, 0, 0, 0.12), 0px 1px 3px 0px rgba(0, 0, 0, 0.20); 3308 display: flex; 3309 width: 100%; 3310 height: 48px; 3311 padding: 9px 25px; 3312 justify-content: center;
3313 align-items: center; 3314 gap: 4px; 3315 font-weight: 600; 3316 font-family: Montserrat; 3317 border-radius: 8px; 3318 border: 1px solid rgba(255, 255, 255, 0.22); 3319 background: #245732; 3320 } 3321 #cart-drawer button.button[type="submit"]:hover{ 3322 color:#FFFFFF !important; 3323 } 3324 #cart-drawer.drawer::part(footer){ 3325 padding: 16px 17px 20px 16px; 3326 border-top: 2px solid #E9EAE3; 3327 border: 2px solid #F5F5F5; 3328 background: #FAFAFA; 3329 } 3330 #cart-drawer .wd_drawer_cart_txt_below { 3331 display: flex; 3332 justify-content: center; 3333 width: 100%; 3334 gap:4px 3335 } 3336 #cart-drawer .cart-drawer__footer{ 3337 3338 gap:16px; 3339 } 3340 span.wd_drawer_cart_bold_txt { 3341 color: #A1A1A1; 3342 text-align: center; 3343 font-family: Montserrat; 3344 font-size: 12px; 3345 font-style: normal; 3346 font-weight: 700; 3347 line-height: 130%; 3348 letter-spacing: 0.12px; 3349 text-transform: capitalize; 3350 } 3351 span.wd_drawer_cart_normal_txt { 3352 color: #A1A1A1; 3353 font-family: Montserrat; 3354 font-size: 12px; 3355 font-style: normal; 3356 font-weight: 500; 3357 line-height: 130%; 3358 letter-spacing: 0.12px; 3359 text-transform: capitalize; 3360 } 3361 .wd_drawer_cart_subtotal_wrapper { 3362 width: 100%; 3363 display: flex; 3364 justify-content: space-between; 3365 align-items: center; 3366 gap: 8px; 3367 margin-bottom:13px; 3368 } 3369 span.wd_drawer_cart_subtotal_txt { 3370 color: #272E0F; 3371 font-family: Montserrat; 3372 font-size: 14px; 3373 font-style: normal; 3374 font-weight: 600; 3375 line-height: normal; 3376 letter-spacing: 0; 3377 text-transform: uppercase; 3378 } 3379 .wd_drawer_cart_subtotal_prices_wrapper { 3380 display: flex; 3381 justify-content: center; 3382 align-items: center; 3383 gap: 5px; 3384 } 3385 span.wd_drawer_cart_subtotal_compareAtPrice { 3386 color: #A1A1A1; 3387 font-family: Montserrat; 3388 font-size: 14px; 3389 font-style: normal; 3390 font-weight: 600; 3391 line-height: normal; 3392 text-decoration-line: line-through; 3393 } 3394 span.wd_drawer_cart_subtotal_finalPrice { 3395 color: #F9004F; 3396 font-family: Montserrat; 3397 font-size: 14px; 3398 font-style: normal; 3399 font-weight: 600; 3400 line-height: normal; 3401 } 3402 #cart-drawer line-item.line-item .line-item__media{ 3403 width:41% 3404 } 3405 #cart-drawer line-item.line-item .line-item-info{ 3406 width:47.5%; 3407 } 3408 #cart-drawer .button-group{ 3409 3410 gap:13px; 3411 } 3412 #cart-drawer .cart-drawer__items{ 3413 gap:20px; 3414 } 3415 #cart-drawer .wd-fake-remove-btn { 3416 cursor: pointer; 3417 } 3418 3419 /******** CSS for cart page only *******/ 3420 3421 tbody.order-summary__body .line-item__media { 3422 width: 21%; 3423 } 3424 3425 .order-summary__body .line-item-wrapper { 3426 border-radius: 0px; 3427 border: 0px solid #D4D4D4; 3428 background: #FFF; 3429 max-width: 100%; 3430 overflow: hidden; 3431 } 3432 3433 .order-summary__body .line_item_subscribe { 3434 background: transparent; 3435 } 3436 3437 3438 /******** end of CSS for cart page only *******/ 3439 @media screen and (max-width: 768px) { 3440 #cart-drawer.drawer::part(content){ 3441 max-width:unset !important; 3442 } 3443 #cart-drawer line-item.line-item .line-item__media{ 3444 3445 width:41% 3446 } 3447 #cart-drawer line-item.line-item .line-item-info{ 3448 3449 width:47%; 3450 } 3451 #cart-drawer line-item.line-item .line-item-info .wd-cart-line-item-header{ 3452 margin-bottom:10px !important; 3453 } 3454 3455 /******** end of CSS for cart page only *******/ 3456 3457 3458 tbody.order-summary__body .line-item__media { 3459 width: 41%; 3460 } 3461 3462 3463 /******** end of CSS for cart page only *******/ 3464 3465 } 3466 @media screen and (min-width: 768px) { 3467 :where(#cart-drawer.drawer)::part(close-button){ 3468 transform: rotate(180deg); 3469 } 3470 #cart-drawer.drawer::part(content){ 3471 max-width:375px !important; 3472 } 3473 } 3474 @media screen and (pointer: fine) and (prefers-reduced-motion: no-preference){ 3475 3476 3477 } 3478</style> 3479 3480<style> 3481 .header-sidebar__main-panel { 3482 flex-shrink: 0; 3483 background: transparent; 3484 } 3485 3486 :where(.modal, .drawer, .popover, .header-search)::part(overlay) { 3487 background: linear-gradient(0deg, rgba(0, 0, 0, 0.07) 0%, rgba(0, 0, 0, 0.07) 100%), rgba(255, 255, 255, 0.05); 3488 backdrop-filter: blur(20.387113571166992px); 3489 -webkit-backdrop-filter: blur(20.387113571166992px); 3490 } 3491 3492 .header-sidebar-search__form-control { 3493 display: flex; 3494 width: 211px; 3495 padding: 7px 8px; 3496 align-items: center; 3497 gap: 12px; 3498 border-radius: 8px; 3499 border: 0.5px solid var(--Color-Gray-7, #EBEBEB); 3500 background: var(--control-background, #FFF); 3501 box-shadow: 0px 1px 1px 0px rgba(0, 0, 0, 0.06), 0px 4px 4px -1px rgba(0, 0, 0, 0.02); 3502 } 3503 3504 .header-sidebar__my-account .transperent-background { 3505 background:transparent!important; 3506 color:#272e0f!important; 3507 margin-bottom:10px; 3508 border:1px solid #272e0f 3509 } 3510 3511 .header-sidebar__my-account .transperent-background .my-account-button-text { 3512 color:#272e0f 3513 } 3514 3515 .header-sidebar-search__form-control .header-search__input::placeholder { 3516 color: #151515; 3517 font-size: 13px; 3518 font-style: normal; 3519 font-weight: 600; 3520 line-height: 150%; 3521 letter-spacing: 0.13px; 3522 } 3523 3524 .header-sidebar__icons { 3525 display: flex; 3526 justify-content: space-between; 3527 padding: 12px 16px; 3528 align-items: center; 3529 align-self: stretch; 3530 border-radius: 20px 20px var(--size-0, 0px) var(--size-0, 0px); 3531 background: #F9FAF7; 3532 position: sticky; 3533 position: -webkit-sticky; 3534 top:0; 3535 z-index: 100; 3536 } 3537 3538 .header-sidebar__linklist-item { 3539 display: flex; 3540 justify-content: space-between; 3541 align-items: center;
3542 align-self: stretch; 3543 } 3544 3545 .menu-icon-arrow { 3546 display: flex; 3547 width: 16px; 3548 height: 16px; 3549 justify-content: center; 3550 align-items: center; 3551 } 3552 3553 .menu-image { 3554 width: 60px; 3555 height: 60px; 3556 border-radius: 8px; 3557 object-fit: cover; 3558 background: url(<path-to-image>) lightgray 50% / cover no-repeat; 3559 } 3560 3561 .menu-text { 3562 color: #595C51; 3563 font-family: Montserrat; 3564 font-size: 14px; 3565 font-style: normal; 3566 font-weight: 500; 3567 line-height: 150%; /* 21px */ 3568 letter-spacing: 0.14px; 3569 text-transform: uppercase; 3570 flex-grow: 1; 3571 } 3572 3573 .header-search__form-sidebar { 3574 display: flex; 3575 width: 195px; 3576 padding: 7px 8px; 3577 align-items: center; 3578 gap: 12px; 3579 border-radius: 8px; 3580 border: 0.5px solid var(--Color-Gray-7, #EBEBEB); 3581 background: var(--control-background, #FFF); 3582 box-shadow: 0px 1px 1px 0px rgba(0, 0, 0, 0.06), 0px 4px 4px -1px rgba(0, 0, 0, 0.02); 3583 } 3584 3585 .header-sidebar__my-account { 3586 display: flex; 3587 padding: 20px; 3588 flex-direction: column; 3589 align-items: flex-start; 3590 border-radius: 20px; 3591 border: 1px solid rgba(0, 0, 0, 0.02); 3592 background: #F9FAF7; 3593 box-shadow: 0px 0px 4px 0px rgba(0, 0, 0, 0.47); 3594 margin-bottom: 12px; 3595 } 3596 3597 .my-account-title { 3598 align-self: stretch; 3599 color: #272E0F; 3600 font-family: Montserrat; 3601 font-size: 18px; 3602 font-style: normal; 3603 font-weight: 700; 3604 line-height: 130%; /* 23.4px */ 3605 letter-spacing: 0.18px; 3606 text-transform: uppercase; 3607 padding-bottom: 10px; 3608 } 3609 3610 .my-account-text-above-button { 3611 width: 297px; 3612 color: #272E0F; 3613 font-family: Montserrat; 3614 font-size: 14px; 3615 font-style: normal; 3616 font-weight: 400; 3617 line-height: 150%; /* 21px */ 3618 letter-spacing: 0.25px; 3619 padding-bottom: 20px; 3620 } 3621 3622 .my-account-text-below-wrapper { 3623 padding-top: 20px; 3624 } 3625 3626 .my-account-button { 3627 display: flex; 3628 width: 100%; 3629 height: 48px; 3630 padding: 9px 25px; 3631 justify-content: center; 3632 align-items: center; 3633 gap: 4px; 3634 border-radius: 36px; 3635 border: 1px solid rgba(255, 255, 255, 0.12); 3636 background: #272E0F; 3637 box-shadow: 0px 1px 1px 0px rgba(255, 255, 255, 0.02) inset, 0px 6px 12px 0px rgba(255, 255, 255, 0.12) inset, 0px 4px 8px 3px rgba(0, 0, 0, 0.12), 0px 1px 3px 0px rgba(0, 0, 0, 0.20); 3638 } 3639 3640 .my-account-button-text { 3641 color: var(--control-background, #FFF); 3642 font-family: Helvetica; 3643 font-size: 14px; 3644 font-style: normal; 3645 font-weight: 400; 3646 line-height: normal; 3647 text-transform: uppercase; 3648 } 3649 3650 .my-account-text-below-button { 3651 color: #878787; 3652 text-align: right; 3653 font-family: Montserrat; 3654 font-size: 14px; 3655 font-style: normal; 3656 font-weight: 500; 3657 line-height: normal; 3658 } 3659 3660 .my-account-link-below-button { 3661 color: #272E0F; 3662 font-family: Montserrat; 3663 font-size: 14px; 3664 font-style: normal; 3665 font-weight: 700; 3666 line-height: normal; 3667 text-decoration-line: underline; 3668 } 3669 3670 .header-sidebar__customer-info-section { 3671 display: flex; 3672 flex-shrink: 0; 3673 flex-direction: column; 3674 border-radius: 20px; 3675 border: 1px solid rgba(0, 0, 0, 0.02); 3676 background: #F9FAF7; 3677 box-shadow: 0px 0px 4px 0px rgba(0, 0, 0, 0.47); 3678 } 3679 3680 .header-sidebar__customer-info-section-content { 3681 display: flex; 3682 width: 100%; 3683 flex-direction: column; 3684 align-items: flex-start; 3685 gap: 22px; 3686 padding-left: 32px; 3687 padding-top: 32px; 3688 padding-bottom: 32px; 3689 } 3690 3691 .customer-info-item { 3692 display: flex; 3693 width: 100%; 3694 flex-direction: row; 3695 align-items: center; 3696 gap: 22px; 3697 } 3698 3699 .customer-info-item-icon { 3700 flex-shrink: 0; 3701 display: flex; 3702 justify-content: center; 3703 align-items: center; 3704 } 3705 3706 .customer-info-item-link { 3707 color: #878787; 3708 font-family: Montserrat; 3709 font-size: 13px; 3710 font-style: normal; 3711 font-weight: 600; 3712 line-height: 150%; /* 19.5px */ 3713 letter-spacing: 0.13px; 3714 text-transform: uppercase; 3715 } 3716 3717 .header-sidebar__scroller { 3718 flex-shrink: 0; 3719 background: transparent; 3720 padding-right: 7px; 3721 padding-left: 1px; 3722 height: 1675px; 3723 overflow-y: unset; 3724 } 3725 3726 .header-sidebar__nested-linklist { 3727 display: flex; 3728 padding: 16px; 3729 flex-direction: column; 3730 align-items: flex-start; 3731 gap: 24px; 3732 align-self: stretch; 3733 border-radius: var(--size-0, 0px) var(--size-0, 0px) 8px 8px; 3734 background: #EEEFE8; 3735 border-inline-start-width:0; 3736 margin-inline-start: 0; 3737 margin-block: 8px; 3738 } 3739 3740 .header-sidebar__linklist.divide-y .header-sidebar__nested-linklist { 3741 margin-block-end:0; 3742 } 3743 3744 .link-faded-reverse { 3745 color: #272E0F; 3746 font-family: Montserrat; 3747 font-size: 14px; 3748 font-style: normal; 3749 font-weight: 500; 3750 line-height: 150%; /* 21px */ 3751 letter-spacing: 0.14px; 3752 text-transform: uppercase; 3753 } 3754 3755 .header-sidebar__back-button.link-faded { 3756 display: flex; 3757 justify-content: center;
3758 align-items: center; 3759 gap: 4px; 3760 align-self: stretch; 3761 border-radius: 20px 20px var(--size-0, 0px) var(--size-0, 0px); 3762 border: 1px solid rgba(0, 0, 0, 0.02); 3763 background: #F9FAF7; 3764 margin-bottom: 0; 3765 padding: 12.82px 20px 12.81px 20px; 3766 position: sticky; 3767 top: 0; 3768 z-index: 100; 3769 } 3770 3771 .header-sidebar__linklist.divide-y.unstyled-list { 3772 padding: 16px; 3773 flex-direction: column; 3774 align-items: flex-start; 3775 gap: 8px; 3776 align-self: stretch; 3777 border-radius: var(--size-0, 0px) var(--size-0, 0px) 20px 20px; 3778 border: 1px solid rgba(0, 0, 0, 0.02); 3779 background: #F9FAF7; 3780 box-shadow: none; 3781 margin-bottom: 12px; 3782 box-shadow: 0px 0px 4px 0px rgba(0, 0, 0, 0.47); 3783 } 3784 3785 .header-sidebar__linklist.divide-y.unstyled-list li { 3786 border-bottom: none; 3787 } 3788 3789 .divide-y > * + * { 3790 border-top: none !important; 3791 } 3792 3793 .header-sidebar::part(content) { 3794 background-color:transparent; 3795 width: 90vw; 3796 max-width:90vw; 3797 margin-inline-start: 0; 3798 transform: translateX(5vw); 3799 margin-top: 65px; 3800 overflow-y: scroll; 3801 -ms-overflow-style: none; 3802 scrollbar-width: none; 3803 height: 100vh; 3804 } 3805 3806 .header-sidebar__collapsible-panel { 3807 background-color:transparent; 3808 width: 91.47vw; 3809 max-width: 91.47vw; 3810 height: 1687px; 3811 margin-inline-start: 0; 3812 transform: translateX(4.265vw); 3813 } 3814
3815 .wd-arrow-icon{ 3816 position: absolute; 3817 left: 16px; 3818 top: 10px; 3819 } 3820 3821 .wd-cart-with-dot { 3822 margin-top: 3px; 3823 } 3824 3825 .header-sidebar__linklist.divide-y .header-sidebar__linklist-button { 3826 padding-block-start: 8px; 3827 padding-block-end: 0; 3828 display: flex; 3829 justify-content: space-between; 3830 align-items: center; 3831 } 3832 3833 .header-sidebar__linklist-button { 3834 display: flex; 3835 justify-content: space-between; 3836 align-items: center; 3837 gap: 8px; 3838 } 3839 3840 .header-sidebar__main-panel, 3841 .header-sidebar::part(content) { 3842 -ms-overflow-style: none; 3843 scrollbar-width: none; 3844 } 3845 3846 .header-sidebar__main-panel::-webkit-scrollbar, 3847 .header-sidebar::part(content)::-webkit-scrollbar { 3848 display: none; 3849 } 3850 3851 3852</style> 3853 3854<style> 3855 .product-info__block-item[data-block-type="@app"]:not(:has(.qbk-product-offer)):has(og-offer) { 3856 height: auto; 3857 opacity: 1; 3858 } 3859 3860 .product-info__block-item[data-block-type="@app"]:not(:has(.qbk-product-offer)):has(og-offer) .shopify-block { 3861 display: none; 3862 } 3863 3864 .wd-custom-subscription { 3865 display: flex; 3866 flex-direction: column; 3867 gap: 0px; 3868 margin-top:30px 3869 } 3870 3871 .purchase-option.subscription .custom-radio-button { 3872 border-radius: 8px 8px var(--size-0, 0px) var(--size-0, 0px); 3873 } 3874 3875 .custom-radio-button { 3876 display: flex; 3877 align-items: center; 3878 gap: 12px; 3879 position: relative; 3880 font-family: Montserrat; 3881 font-size: 13px; 3882 font-style: normal; 3883 font-weight: 500; 3884 line-height: 130%; 3885 padding: 12px; 3886 } 3887 3888 .purchase-option.subscription .custom-radio-button { 3889 border-radius: 6px 6px var(--size-0, 0px) var(--size-0, 0px); 3890 background: transparent; 3891 /*box-shadow: 0px 2px 10px 0px rgba(0, 0, 0, 0.05);*/ 3892 color: #000; 3893 } 3894 3895 .purchase-option.subscription { 3896 3897 border-radius:0 0 12px 12px; 3898 border-bottom: 1px solid #A3A3A3; 3899 border-right: 1px solid #A3A3A3; 3900 border-left: 1px solid #A3A3A3; 3901 } 3902 3903 .purchase-option.one-time { 3904 3905 border-radius: 12px 12px 0 0 ; 3906 border-top: 1px solid #A3A3A3; 3907 border-right: 1px solid #A3A3A3; 3908 border-left: 1px solid #A3A3A3; 3909 border-bottom: 0px solid #00772F; 3910 } 3911 3912 .purchase-option.one-time:has(input[type="radio"]:checked) { 3913 3914 border-radius: 12px 12px 0 0 ; 3915 border-top: 1.3px solid #00772F; 3916 border-right: 1.3px solid #00772F; 3917 border-left: 1.3px solid #00772F; 3918 border-bottom: 1.3px solid #00772F; 3919 background: rgba(0, 119, 47, 0.05); 3920 } 3921 3922 .purchase-option.subscription:has(input[type="radio"]:checked) { 3923 border-radius: 0 0 12px 12px; 3924 border-bottom: 1.3px solid #00772F; 3925 border-right: 1.3px solid #00772F; 3926 border-left: 1.3px solid #00772F; 3927 border-top: 1.3px solid #00772F; 3928 background: linear-gradient(180deg, rgba(0, 119, 47, 0.05) 0%, rgba(255, 255, 255, 0.05) 55.77%, rgba(255, 255, 255, 0.05) 100%); 3929 3930 3931 } 3932 3933 .purchase-option.subscription .custom-radio-button:has(input[type="radio"]:checked) { 3934 /* border-bottom: 1px solid #00772F; 3935 border-right: 1px solid #00772F; 3936 border-left: 1px solid #00772F;*/ 3937 /*background: linear-gradient(90deg, #272E0F 0%, #606060 100%);*/ 3938 color: #1E351A; 3939 } 3940 3941 .purchase-option.subscription .custom-radio-button:has(input[type="radio"]:checked) .custom-radio { 3942 border: none; 3943 } 3944 3945 .purchase-option.one-time .custom-radio-button { 3946 color: #000000; 3947 border-radius: 12px 12px 0 0 ; 3948 border: 0px solid #A3A3A3; 3949 background: transparent; 3950 box-shadow: 0px 2px 10px 0px rgba(0, 0, 0, 0.05); 3951 } 3952 3953 .custom-radio-button input[type="radio"] { 3954 display: none; 3955 } 3956 3957 .custom-radio-button label { 3958 cursor: pointer; 3959 } 3960 3961 .custom-radio { 3962 display: inline-block; 3963 width: 24px; 3964 height: 24px; 3965 border: 1px solid #878787; 3966 border-radius: 50%; 3967 position: relative; 3968 transition: background-color 0.3s ease; 3969 } 3970 3971 .custom-radio::after { 3972 content: ""; 3973 position: absolute; 3974 top: 50%; 3975 left: 50%; 3976 width: 24px; 3977 height: 24px; 3978 background-image: url('https://cdn.shopify.com/s/files/1/0864/6741/2261/files/radio_btn_2.svg?v=1775993296'); 3979 background-size: contain; 3980 background-repeat: no-repeat; 3981 background-position: center; 3982 border-radius: 50%; 3983 transform: translate(-50%, -50%); 3984 opacity: 0; 3985 transition: opacity 0.3s ease; 3986 border: 1px solid #00772F; 3987 } 3988 3989 .purchase-option.one-time .custom-radio::after { 3990 background-image: url('https://cdn.shopify.com/s/files/1/0864/6741/2261/files/radio_btn_2.svg?v=1775993296'); 3991 } 3992 3993 .purchase-option .custom-radio-button input[type="radio"]:checked + .custom-radio::after { 3994 opacity: 1; 3995 } 3996 3997 .purchase-option .price { 3998 margin-left: auto; 3999 font-size: 14px; 4000 line-height: normal; 4001 text-align: right; 4002 } 4003 4004 .purchase-option .price__compare-at-price { 4005 text-decoration: line-through; 4006 color: #545454; 4007 margin-right: 5px; 4008 } 4009 4010 .purchase-option .price__plan-price { 4011 color: #cc0000; 4012 } 4013 4014 .purchase-option.subscription .custom-radio-button:has(input[type="radio"]:checked) .price__compare-at-price { 4015 color:#545454; 4016 } 4017 4018 .purchase-option.subscription .custom-radio-button:has(input[type="radio"]:checked) .price__plan-price { 4019 color: #cc0000; 4020 } 4021 4022 .purchase-option.one-time .custom-radio-button:has(input[type="radio"]:checked) { 4023 color: #000; 4024 } 4025 4026 .purchase-option.one-time .custom-radio-button:has(input[type="radio"]:checked) .price { 4027 color: #878787; 4028 } 4029
4030 .option-details { 4031 display: flex !important; 4032 padding: 0 16px; 4033 flex-direction: column; 4034 align-items: flex-start; 4035 gap: 20px; 4036 /*border-radius: var(--size-0, 0px) var(--size-0, 0px) 8px 8px; 4037 border-right: 0px solid #272E0F; 4038 border-bottom: 0px solid #272E0F; 4039 border-left: 0px solid #272E0F; 4040 background: linear-gradient(180deg, #F4F0E9 0%, #F9FAF7 100%); 4041 box-shadow: 0px 2px 10px 0px rgba(0, 0, 0, 0.05);*/ 4042 font-family: Montserrat; 4043 /*display:none*/ 4044 } 4045 4046 .plan-select { 4047 width: 100%; 4048 display: flex; 4049 justify-content: space-between; 4050 align-items: flex-start; 4051 position: relative; 4052 padding: 10px 15px 0px 0; 4053 } 4054 4055 .selected-plan { 4056 color: #878787; 4057 font-size: 12px; 4058 font-style: normal; 4059 font-weight: 600; 4060 line-height: normal; 4061 } 4062 4063 .edit-selected-plan { 4064 color: #878787; 4065 font-size: 12px; 4066 font-style: normal; 4067 font-weight: 500; 4068 line-height: normal; 4069 text-decoration-line: underline; 4070 } 4071 4072 .subscription-options-wrapper { 4073 width: 100%; 4074 display: flex; 4075 flex-direction: column; 4076 gap: 4px; 4077 padding: 6px 4px; 4078 position: absolute; 4079 bottom: 40px; 4080 left: 0; 4081 z-index: 1; 4082 border-radius: 12px; 4083 background: #F9FAF7; 4084 box-shadow: 1px 0px 0px 0px rgba(0, 0, 0, 0.13) inset, -1px 0px 0px 0px rgba(0, 0, 0, 0.13) inset, 0px -1px 0px 0px rgba(0, 0, 0, 0.17) inset, 0px 1px 0px 0px rgba(204, 204, 204, 0.50) inset, 0px 4px 6px -2px rgba(26, 26, 26, 0.20); 4085 } 4086 4087 .subscription-option { 4088 display: flex; 4089 justify-content: space-between; 4090 align-items: center; 4091 gap: 4px; 4092 padding: 6px 8px; 4093 border-radius: 8px; 4094 } 4095 4096 .subscription-option:hover { 4097 background: #F1F1F1; 4098 } 4099 4100 .subscription-option.selected { 4101 background: #EBEBEB; 4102 } 4103 4104 .option-percentage { 4105 text-align: center; 4106 color: var(--control-background, #FFF); 4107 font-size: 12px; 4108 font-style: normal; 4109 font-weight: 500; 4110 line-height: 20px; /* 166.667% */ 4111 padding: 0px 4.5px; 4112 border-radius: 20px; 4113 border-top: 1px solid #272E0F; 4114 border-right: 1px solid #272E0F; 4115 border-left: 1px solid #272E0F; 4116 background: linear-gradient(90deg, #272E0F 0%, #606060 100%); 4117 } 4118 4119 .option-name { 4120 color: #000; 4121 font-size: 13px; 4122 font-style: normal; 4123 font-weight: 500; 4124 line-height: 20px; /* 153.846% */ 4125 } 4126 4127 .subscription-option .price { 4128 font-size: 13px; 4129 } 4130 4131 .subscription-options-background { 4132 position: fixed; 4133 height: 100vh; 4134 width: 100vw; 4135 top: 0; 4136 left: 0; 4137 } 4138 4139 .subscription-text { 4140 color: #7D8F3E; 4141 font-size: 13px; 4142 font-style: normal; 4143 font-weight: 500; 4144 line-height: normal; 4145 letter-spacing: 0.26px; 4146 } 4147 4148 .subscription-text ul { 4149 list-style: none; 4150 margin-left: 0; 4151 } 4152 4153 .subscription-text ul li { 4154 position: relative; 4155 padding-left: 20px !important; 4156 } 4157 4158 .subscription-text ul li:not(:last-child) { 4159 margin-bottom: 10px; 4160 } 4161 4162 .subscription-text ul li::before { 4163 content: ''; 4164 position: absolute; 4165 left: 0; 4166 top: 50%; 4167 transform: translateY(-50%); 4168 width: 12px; 4169 height: 9px; 4170 background: url('https://cdn.shopify.com/s/files/1/0864/6741/2261/files/Path_Copy_7.svg?v=1776000540') no-repeat center center; 4171 background-size: contain; 4172 } 4173 4174 @media screen and (max-width: 768px) { 4175 .wd-custom-subscription { 4176 gap: 0px; 4177 } 4178 4179 .subscription-options-wrapper { 4180 width: calc(100% + 51px); 4181 /*top: 23px;*/ 4182 left: -25.5px; 4183 } 4184 } 4185</style> 4186 4187<style> 4188 .shopify-section--main-customers-account .section-spacing { 4189 padding-top: 0; 4190 } 4191 4192 .shopify-section--main-customers-account .tab-buttons { 4193 display: flex; 4194 justify-content: center; 4195 gap: 60px; 4196 border-bottom: 1px solid #E1D0D0; 4197 } 4198 4199 .shopify-section--main-customers-account .tab-button { 4200 color: #000; 4201 font-family: "Inter"; 4202 font-size: 24px; 4203 font-style: normal; 4204 font-weight: 400; 4205 line-height: normal; 4206 padding: 24px 0; 4207 cursor: pointer; 4208 } 4209 4210 .shopify-section--main-customers-account .tab-button.active { 4211 border-bottom: 3px solid #807F7F; 4212 } 4213 4214 .shopify-section--main-customers-account .tab-content { 4215 display: none; 4216 padding: 50px 0 0; 4217 } 4218 4219 .shopify-section--main-customers-account .tab-content.active { 4220 display: block; 4221 } 4222 4223 @media screen and (max-width: 768px) { 4224 .shopify-section--main-customers-account .tab-buttons { 4225 gap: 30px; 4226 } 4227 4228 .shopify-section--main-customers-account .tab-button { 4229 font-size: 18px; 4230 } 4231 } 4232</style> 4233 4234<style> 4235 @media screen and (max-width: 768px) { 4236 4237 .wd-hidden-mobile{ 4238 display:none !important; 4239 } 4240 } 4241 @media screen and (min-width: 769px) { 4242 4243 .wd-hidden-desktop{ 4244 display:none !important; 4245 4246 } 4247 4248 } 4249</style> 4250 4251
4251<script type="text/javascript"> 4252 (function(c,l,a,r,i,t,y){ 4253 c[a]=c[a]||function(){(c[a].q=c[a].q||[]).push(arguments)}; 4254 t=l.createElement(r);t.async=1;t.src="https://www.clarity.ms/tag/"+i; 4255 y=l.getElementsByTagName(r)[0];y.parentNode.insertBefore(t,y); 4256 })(window, document, "clarity", "script", "ngw1c90coq"); 4257 4258</script>
4258 4259<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no">
4260<script> 4261 4262async function add_TBYB_regular(variant_id , element, sellingplan){ 4263 if(sellingplan) { 4264 element.innerText = "Adding For Free" 4265 } 4266 else { 4267 element.innerText = "Adding to Cart" 4268 } 4269 var addData = { 4270 id: variant_id, 4271 quantity: document.querySelector('#wd-quantity-selector').value , 4272 selling_plan:sellingplan 4273 }; 4274 fetch('/cart/add.js', { 4275 body: JSON.stringify(addData), 4276 credentials: 'same-origin', 4277 headers: { 4278 'Content-Type': 'application/json', 4279 'X-Requested-With': 'xmlhttprequest', 4280 }, 4281 method: 'POST', 4282 }) 4283 .then(function (response) { 4284 document.documentElement.dispatchEvent(new CustomEvent("theme:loading:start", { bubbles: true })); 4285 return response.json(); 4286 }) 4287 .then(function (json) { 4288 document.documentElement.dispatchEvent(new CustomEvent('cart:refresh', { bubbles: true})); 4289 document.documentElement.dispatchEvent(new CustomEvent("theme:loading:end", { bubbles: true })); 4290 document.querySelector('.wd-cart-with-dot').click() ; 4291 if(sellingplan) { 4292 element.innerText = "Try Before You Buy" 4293 } 4294 else { 4295 element.innerText = "Add to Cart" 4296 } 4297 }) 4298 .catch(function (err) { 4299 console.error(err); 4300 4301 Shopify.analytics.publish("cart_carousel_failed_to_add", { 4302 product_id: variant_id 4303 }); 4304 }); 4305 } 4306</script>
4306 4307 <!-- BEGIN app block: shopify://apps/helium-customer-fields/blocks/app-embed/bab58598-3e6a-4377-aaaa-97189b15f131 --> 4308 4309 4310 4311 4312 4313 4314 4315 4316 4317 4318 4319 4320 4321 4322 4323 4324 4325 4326 4327 4328 4329 4330 4331 4332 4333 4334 4335 4336 4337 4338 4339 4340 4341 4342 4343 4344 4345 4346
4347<script> 4348 if ('CF' in window) { 4349 window.CF.appEmbedEnabled = true; 4350 } else { 4351 window.CF = { 4352 appEmbedEnabled: true, 4353 }; 4354 } 4355 4356 window.CF.editAccountFormId = "54tmLy"; 4357 window.CF.registrationFormId = "54tmLy"; 4358</script>
4358 4359 4360<!-- BEGIN app snippet: patch-registration-links --> 4361 4362 4363 4364 4365 4366 4367 4368 4369 4370 4371 4372 4373 4374 4375 4376 4377 4378 4379 4380 4381 4382 4383 4384 4385 4386 4387 4388 4389 4390 4391 4392 4393 4394 4395 4396 4397 4398 4399
4400<script> 4401 function patchRegistrationLinks() { 4402 const PATCHABLE_LINKS_SELECTOR = 'a[href*="/account/register"]'; 4403 4404 const search = new URLSearchParams(window.location.search); 4405 const checkoutUrl = search.get('checkout_url'); 4406 const returnUrl = search.get('return_url'); 4407 4408 const redirectUrl = checkoutUrl || returnUrl; 4409 if (!redirectUrl) return; 4410 4411 const registrationLinks = Array.from(document.querySelectorAll(PATCHABLE_LINKS_SELECTOR)); 4412 registrationLinks.forEach(link => { 4413 const url = new URL(link.href); 4414 4415 url.searchParams.set('return_url', redirectUrl); 4416 4417 link.href = url.href; 4418 }); 4419 } 4420 4421 if (['complete', 'interactive', 'loaded'].includes(document.readyState)) { 4422 patchRegistrationLinks(); 4423 } else { 4424 document.addEventListener('DOMContentLoaded', () => patchRegistrationLinks()); 4425 } 4426</script>
4426<!-- END app snippet --> 4427<!-- BEGIN app snippet: patch-login-grecaptcha-conflict --> 4428 4429 4430 4431 4432 4433 4434 4435 4436 4437 4438 4439 4440 4441 4442 4443 4444 4445 4446 4447 4448 4449 4450 4451 4452 4453 4454 4455 4456 4457 4458 4459 4460 4461 4462 4463 4464 4465 4466
4467<script> 4468 // Fixes a problem where both grecaptcha and hcaptcha response fields are included in the /account/login form submission 4469 // resulting in a 404 on the /challenge page. 4470 // This is caused by our triggerShopifyRecaptchaLoad function in initialize-forms.liquid.ejs 4471 // The fix itself just removes the unnecessary g-recaptcha-response input 4472 4473 function patchLoginGrecaptchaConflict() { 4474 Array.from(document.querySelectorAll('form')).forEach(form => { 4475 form.addEventListener('submit', e => { 4476 const grecaptchaResponse = form.querySelector('[name="g-recaptcha-response"]'); 4477 const hcaptchaResponse = form.querySelector('[name="h-captcha-response"]'); 4478 4479 if (grecaptchaResponse && hcaptchaResponse) { 4480 // Can't use both. Only keep hcaptcha response field. 4481 grecaptchaResponse.parentElement.removeChild(grecaptchaResponse); 4482 } 4483 }) 4484 }) 4485 } 4486 4487 if (['complete', 'interactive', 'loaded'].includes(document.readyState)) { 4488 patchLoginGrecaptchaConflict(); 4489 } else { 4490 document.addEventListener('DOMContentLoaded', () => patchLoginGrecaptchaConflict()); 4491 } 4492</script>
4492<!-- END app snippet --> 4493<!-- BEGIN app snippet: embed-data --> 4494 4495 4496 4497 4498 4499 4500 4501 4502 4503 4504 4505 4506 4507 4508 4509 4510 4511 4512 4513 4514 4515 4516 4517 4518 4519 4520 4521 4522 4523 4524 4525 4526 4527 4528 4529 4530 4531 4532 4533 4534 4535 4536 4537 4538 4539 4540 4541 4542 4543 4544 4545 4546
4547<script> 4548 window.CF.version = "5.3.0"; 4549 window.CF.environment = 4550 { 4551 4552 "domain": "yvesrocherus.myshopify.com", 4553 "baseApiUrl": "https:\/\/app.customerfields.com", 4554 "captchaSiteKey": "6LcHYdYpAAAAAANQz7Br-VDYGN3yn7l440aIHUhN", 4555 "captchaEnabled": true, 4556 "proxyPath": "\/tools\/customr", 4557 "countries": [{"name":"Afghanistan","code":"AF"},{"name":"à land Islands","code":"AX"},{"name":"Albania","code":"AL"},{"name":"Algeria","code":"DZ"},{"name":"Andorra","code":"AD"},{"name":"Angola","code":"AO"},{"name":"Anguilla","code":"AI"},{"name":"Antigua \u0026 Barbuda","code":"AG"},{"name":"Argentina","code":"AR","provinces":[{"name":"Buenos Aires Province","code":"B"},{"name":"Catamarca","code":"K"},{"name":"Chaco","code":"H"},{"name":"Chubut","code":"U"},{"name":"Buenos Aires (Autonomous City)","code":"C"},{"name":"Córdoba","code":"X"},{"name":"Corrientes","code":"W"},{"name":"Entre RÃos","code":"E"},{"name":"Formosa","code":"P"},{"name":"Jujuy","code":"Y"},{"name":"La Pampa","code":"L"},{"name":"La Rioja","code":"F"},{"name":"Mendoza","code":"M"},{"name":"Misiones","code":"N"},{"name":"Neuquén","code":"Q"},{"name":"RÃo Negro","code":"R"},{"name":"Salta","code":"A"},{"name":"San Juan","code":"J"},{"name":"San Luis","code":"D"},{"name":"Santa Cruz","code":"Z"},{"name":"Santa Fe","code":"S"},{"name":"Santiago del Estero","code":"G"},{"name":"Tierra del Fuego","code":"V"},{"name":"Tucumán","code":"T"}]},{"name":"Armenia","code":"AM"},{"name":"Aruba","code":"AW"},{"name":"Ascension Island","code":"AC"},{"name":"Australia","code":"AU","provinces":[{"name":"Australian Capital Territory","code":"ACT"},{"name":"New South Wales","code":"NSW"},{"name":"Northern Territory","code":"NT"},{"name":"Queensland","code":"QLD"},{"name":"South Australia","code":"SA"},{"name":"Tasmania","code":"TAS"},{"name":"Victoria","code":"VIC"},{"name":"Western Australia","code":"WA"}]},{"name":"Austria","code":"AT"},{"name":"Azerbaijan","code":"AZ"},{"name":"Bahamas","code":"BS"},{"name":"Bahrain","code":"BH"},{"name":"Bangladesh","code":"BD"},{"name":"Barbados","code":"BB"},{"name":"Belarus","code":"BY"},{"name":"Belgium","code":"BE"},{"name":"Belize","code":"BZ"},{"name":"Benin","code":"BJ"},{"name":"Bermuda","code":"BM"},{"name":"Bhutan","code":"BT"},{"name":"Bolivia","code":"BO"},{"name":"Bosnia \u0026 Herzegovina","code":"BA"},{"name":"Botswana","code":"BW"},{"name":"Brazil","code":"BR","provinces":[{"name":"Acre","code":"AC"},{"name":"Alagoas","code":"AL"},{"name":"Amapá","code":"AP"},{"name":"Amazonas","code":"AM"},{"name":"Bahia","code":"BA"},{"name":"Ceará","code":"CE"},{"name":"Federal District","code":"DF"},{"name":"EspÃrito Santo","code":"ES"},{"name":"Goiás","code":"GO"},{"name":"Maranhão","code":"MA"},{"name":"Mato Grosso","code":"MT"},{"name":"Mato Grosso do Sul","code":"MS"},{"name":"Minas Gerais","code":"MG"},{"name":"Pará","code":"PA"},{"name":"ParaÃba","code":"PB"},{"name":"Paraná","code":"PR"},{"name":"Pernambuco","code":"PE"},{"name":"PiauÃ","code":"PI"},{"name":"Rio Grande do Norte","code":"RN"},{"name":"Rio Grande do Sul","code":"RS"},{"name":"Rio de Janeiro","code":"RJ"},{"name":"Rondônia","code":"RO"},{"name":"Roraima","code":"RR"},{"name":"Santa Catarina","code":"SC"},{"name":"São Paulo","code":"SP"},{"name":"Sergipe","code":"SE"},{"name":"Tocantins","code":"TO"}]},{"name":"British Indian Ocean Territory","code":"IO"},{"name":"British Virgin Islands","code":"VG"},{"name":"Brunei","code":"BN"},{"name":"Bulgaria","code":"BG"},{"name":"Burkina Faso","code":"BF"},{"name":"Burundi","code":"BI"},{"name":"Cambodia","code":"KH"},{"name":"Cameroon","code":"CM"},{"name":"Canada","code":"CA","provinces":[{"name":"Alberta","code":"AB"},{"name":"British Columbia","code":"BC"},{"name":"Manitoba","code":"MB"},{"name":"New Brunswick","code":"NB"},{"name":"Newfoundland and Labrador","code":"NL"},{"name":"Northwest Territories","code":"NT"},{"name":"Nova Scotia","code":"NS"},{"name":"Nunavut","code":"NU"},{"name":"Ontario","code":"ON"},{"name":"Prince Edward Island","code":"PE"},{"name":"Quebec","code":"QC"},{"name":"Saskatchewan","code":"SK"},{"name":"Yukon","code":"YT"}]}
4557,{"name":"Cape Verde","code":"CV"},{"name":"Caribbean Netherlands","code":"BQ"},{"name":"Cayman Islands","code":"KY"},{"name":"Central African Republic","code":"CF"},{"name":"Chad","code":"TD"},{"name":"Chile","code":"CL","provinces":[{"name":"Arica y Parinacota","code":"AP"},{"name":"Tarapacá","code":"TA"},{"name":"Antofagasta","code":"AN"},{"name":"Atacama","code":"AT"},{"name":"Coquimbo","code":"CO"},{"name":"ValparaÃso","code":"VS"},{"name":"Santiago Metropolitan","code":"RM"},{"name":"Libertador General Bernardo OâHiggins","code":"LI"},{"name":"Maule","code":"ML"},{"name":"Ãuble","code":"NB"},{"name":"BÃo BÃo","code":"BI"},{"name":"AraucanÃa","code":"AR"},{"name":"Los RÃos","code":"LR"},{"name":"Los Lagos","code":"LL"},{"name":"Aysén","code":"AI"},{"name":"Magallanes Region","code":"MA"}]},{"name":"China","code":"CN","provinces":[{"name":"Anhui","code":"AH"},{"name":"Beijing","code":"BJ"},{"name":"Chongqing","code":"CQ"},{"name":"Fujian","code":"FJ"},{"name":"Gansu","code":"GS"},{"name":"Guangdong","code":"GD"},{"name":"Guangxi","code":"GX"},{"name":"Guizhou","code":"GZ"},{"name":"Hainan","code":"HI"},{"name":"Hebei","code":"HE"},{"name":"Heilongjiang","code":"HL"},{"name":"Henan","code":"HA"},{"name":"Hubei","code":"HB"},{"name":"Hunan","code":"HN"},{"name":"Inner Mongolia","code":"NM"},{"name":"Jiangsu","code":"JS"},{"name":"Jiangxi","code":"JX"},{"name":"Jilin","code":"JL"},{"name":"Liaoning","code":"LN"},{"name":"Ningxia","code":"NX"},{"name":"Qinghai","code":"QH"},{"name":"Shaanxi","code":"SN"},{"name":"Shandong","code":"SD"},{"name":"Shanghai","code":"SH"},{"name":"Shanxi","code":"SX"},{"name":"Sichuan","code":"SC"},{"name":"Tianjin","code":"TJ"},{"name":"Xinjiang","code":"XJ"},{"name":"Tibet","code":"YZ"},{"name":"Yunnan","code":"YN"},{"name":"Zhejiang","code":"ZJ"}]},{"name":"Christmas Island","code":"CX"},{"name":"Cocos (Keeling) Islands","code":"CC"},{"name":"Colombia","code":"CO","provinces":[{"name":"Capital District","code":"DC"},{"name":"Amazonas","code":"AMA"},{"name":"Antioquia","code":"ANT"},{"name":"Arauca","code":"ARA"},{"name":"Atlántico","code":"ATL"},{"name":"BolÃvar","code":"BOL"},{"name":"Boyacá","code":"BOY"},{"name":"Caldas","code":"CAL"},{"name":"Caquetá","code":"CAQ"},{"name":"Casanare","code":"CAS"},{"name":"Cauca","code":"CAU"},{"name":"Cesar","code":"CES"},{"name":"Chocó","code":"CHO"},{"name":"Córdoba","code":"COR"},{"name":"Cundinamarca","code":"CUN"},{"name":"GuainÃa","code":"GUA"},{"name":"Guaviare","code":"GUV"},{"name":"Huila","code":"HUI"},{"name":"La Guajira","code":"LAG"},{"name":"Magdalena","code":"MAG"},{"name":"Meta","code":"MET"},{"name":"Nariño","code":"NAR"},{"name":"Norte de Santander","code":"NSA"},{"name":"Putumayo","code":"PUT"},{"name":"QuindÃo","code":"QUI"},{"name":"Risaralda","code":"RIS"},{"name":"San Andrés \u0026 Providencia","code":"SAP"},{"name":"Santander","code":"SAN"},{"name":"Sucre","code":"SUC"},{"name":"Tolima","code":"TOL"},{"name":"Valle del Cauca","code":"VAC"},{"name":"Vaupés","code":"VAU"},{"name":"Vichada","code":"VID"}]},{"name":"Comoros","code":"KM"},{"name":"Congo - Brazzaville","code":"CG"},{"name":"Congo - Kinshasa","code":"CD"},{"name":"Cook Islands","code":"CK"},{"name":"Costa Rica","code":"CR","provinces":[{"name":"Alajuela","code":"CR-A"},{"name":"Cartago","code":"CR-C"},{"name":"Guanacaste","code":"CR-G"},{"name":"Heredia","code":"CR-H"},{"name":"Limón","code":"CR-L"},{"name":"Puntarenas","code":"CR-P"},{"name":"San José","code":"CR-SJ"}]},{"name":"Croatia","code":"HR"},{"name":"Curaçao","code":"CW"},{"name":"Cyprus","code":"CY"},{"name":"Czechia","code":"CZ"},{"name":"Côte dâIvoire","code":"CI"},{"name":"Denmark","code":"DK"},{"name":"Djibouti","code":"DJ"},{"name":"Dominica","code":"DM"},{"name":"Dominican Republic","code":"DO"},{"name":"Ecuador","code":"EC"},{"name":"Egypt","code":"EG","provinces":[{"name":"6th of October","code":"SU"},{"name":"Al Sharqia","code":"SHR"},{"name":"Alexandria","code":"ALX"},{"name":"Aswan","code":"ASN"},{"name":"Asyut","code":"AST"},{"name":"Beheira","code":"BH"},{"name":"Beni Suef","code":"BNS"},{"name":"Cairo","code":"C"},{"name":"Dakahlia","code":"DK"},{"name":"Damietta","code":"DT"},{"name":"Faiyum","code":"FYM"},{"name":"Gharbia","code":"GH"},{"name":"Giza","code":"GZ"},{"name":"Helwan","code":"HU"},{"name":"Ismailia","code":"IS"},{"name":"Kafr el-Sheikh","code":"KFS"},{"name":"Luxor","code":"LX"},{"name":"Matrouh","code":"MT"},{"name":"Minya","code":"MN"},{"name":"Monufia","code":"MNF"},{"name":"New Valley","code":"WAD"},{"name":"North Sinai","code":"SIN"},{"name":"Port Said","code":"PTS"},{"name":"Qalyubia","code":"KB"},{"name":"Qena","code":"KN"},{"name":"Red Sea","code":"BA"},{"name":"Sohag","code":"SHG"},{"name":"South Sinai","code":"JS"},{"name":"Suez","code":"SUZ"}]},{"name":"El Salvador","code":"SV","provinces":[{"name":"Ahuachapán","code":"SV-AH"},{"name":"Cabañas","code":"SV-CA"},{"name":"Chalatenango","code":"SV-CH"},{"name":"Cuscatlán","code":"SV-CU"},{"name":"La Libertad","code":"SV-LI"},{"name":"La Paz","code":"SV-PA"},{"name":"La Unión","code":"SV-UN"},{"name":"Morazán","code":"SV-MO"},{"name":"San Miguel","code":"SV-SM"},{"name":"San Salvador","code":"SV-SS"},{"name":"San Vicente","code":"SV-SV"},{"name":"Santa Ana","code":"SV-SA"},{"name":"Sonsonate","code":"SV-SO"},{"name":"Usulután","code":"SV-US"}]},{"name":"Equatorial Guinea","code":"GQ"},{"name":"Eritrea","code":"ER"},{"name":"Estonia","code":"EE"},{"name":"Eswatini","code":"SZ"},{"name":"Ethiopia","code":"ET"},{"name":"Falkland Islands","code":"FK"},{"name":"Faroe Islands","code":"FO"},{"name":"Fiji","code":"FJ"},{"name":"Finland","code":"FI"},{"name":"France","code":"FR"},{"name":"French Guiana","code":"GF"},{"name":"French Polynesia","code":"PF"},{"name":"French Southern Territories","code":"TF"},{"name":"Gabon","code":"GA"},{"name":"Gambia","code":"GM"},{"name":"Georgia","code":"GE"},{"name":"Germany","code":"DE"},{"name":"Ghana","code":"GH"},{"name":"Gibraltar","code":"GI"},{"name":"Greece","code":"GR"},{"name":"Greenland","code":"GL"},{"name":"Grenada","code":"GD"},{"name":"Guadeloupe","code":"GP"},{"name":"Guatemala","code":"GT","provinces":[{"name":"Alta Verapaz","code":"AVE"},{"name":"Baja Verapaz","code":"BVE"},{"name":"Chimaltenango","code":"CMT"},{"name":"Chiquimula","code":"CQM"},{"name":"El Progreso","code":"EPR"},{"name":"Escuintla","code":"ESC"},{"name":"Guatemala","code":"GUA"},{"name":"Huehuetenango","code":"HUE"},{"name":"Izabal","code":"IZA"},{"name":"Jalapa","code":"JAL"},{"name":"Jutiapa","code":"JUT"},{"name":"Petén","code":"PET"},{"name":"Quetzaltenango","code":"QUE"},{"name":"Quiché","code":"QUI"},{"name":"Retalhuleu","code":"RET"},{"name":"Sacatepéquez","code":"SAC"},{"name":"San Marcos","code":"SMA"},{"name":"Santa Rosa","code":"SRO"},{"name":"Sololá","code":"SOL"},{"name":"Suchitepéquez","code":"SUC"},{"name":"Totonicapán","code":"TOT"},{"name":"Zacapa","code":"ZAC"}]},{"name":"Guernsey","code":"GG"},{"name":"Guinea","code":"GN"},{"name":"Guinea-Bissau","code":"GW"},{"name":"Guyana","code":"GY"},{"name":"Haiti","code":"HT"},{"name":"Honduras","code":"HN"},{"name":"Hong Kong SAR","code":"HK","provinces":[{"name":"Hong Kong Island","code":"HK"},{"name":"Kowloon","code":"KL"},{"name":"New Territories","code":"NT"}]}
4557,{"name":"Hungary","code":"HU"},{"name":"Iceland","code":"IS"},{"name":"India","code":"IN","provinces":[{"name":"Andaman and Nicobar Islands","code":"AN"},{"name":"Andhra Pradesh","code":"AP"},{"name":"Arunachal Pradesh","code":"AR"},{"name":"Assam","code":"AS"},{"name":"Bihar","code":"BR"},{"name":"Chandigarh","code":"CH"},{"name":"Chhattisgarh","code":"CG"},{"name":"Dadra and Nagar Haveli","code":"DN"},{"name":"Daman and Diu","code":"DD"},{"name":"Delhi","code":"DL"},{"name":"Goa","code":"GA"},{"name":"Gujarat","code":"GJ"},{"name":"Haryana","code":"HR"},{"name":"Himachal Pradesh","code":"HP"},{"name":"Jammu and Kashmir","code":"JK"},{"name":"Jharkhand","code":"JH"},{"name":"Karnataka","code":"KA"},{"name":"Kerala","code":"KL"},{"name":"Ladakh","code":"LA"},{"name":"Lakshadweep","code":"LD"},{"name":"Madhya Pradesh","code":"MP"},{"name":"Maharashtra","code":"MH"},{"name":"Manipur","code":"MN"},{"name":"Meghalaya","code":"ML"},{"name":"Mizoram","code":"MZ"},{"name":"Nagaland","code":"NL"},{"name":"Odisha","code":"OR"},{"name":"Puducherry","code":"PY"},{"name":"Punjab","code":"PB"},{"name":"Rajasthan","code":"RJ"},{"name":"Sikkim","code":"SK"},{"name":"Tamil Nadu","code":"TN"},{"name":"Telangana","code":"TS"},{"name":"Tripura","code":"TR"},{"name":"Uttar Pradesh","code":"UP"},{"name":"Uttarakhand","code":"UK"},{"name":"West Bengal","code":"WB"}]},{"name":"Indonesia","code":"ID","provinces":[{"name":"Aceh","code":"AC"},{"name":"Bali","code":"BA"},{"name":"BangkaâBelitung Islands","code":"BB"},{"name":"Banten","code":"BT"},{"name":"Bengkulu","code":"BE"},{"name":"Gorontalo","code":"GO"},{"name":"Jakarta","code":"JK"},{"name":"Jambi","code":"JA"},{"name":"West Java","code":"JB"},{"name":"Central Java","code":"JT"},{"name":"East Java","code":"JI"},{"name":"West Kalimantan","code":"KB"},{"name":"South Kalimantan","code":"KS"},{"name":"Central Kalimantan","code":"KT"},{"name":"East Kalimantan","code":"KI"},{"name":"North Kalimantan","code":"KU"},{"name":"Riau Islands","code":"KR"},{"name":"Lampung","code":"LA"},{"name":"Maluku","code":"MA"},{"name":"North Maluku","code":"MU"},{"name":"North Sumatra","code":"SU"},{"name":"West Nusa Tenggara","code":"NB"},{"name":"East Nusa Tenggara","code":"NT"},{"name":"Papua","code":"PA"},{"name":"West Papua","code":"PB"},{"name":"Riau","code":"RI"},{"name":"South Sumatra","code":"SS"},{"name":"West Sulawesi","code":"SR"},{"name":"South Sulawesi","code":"SN"},{"name":"Central Sulawesi","code":"ST"},{"name":"Southeast Sulawesi","code":"SG"},{"name":"North Sulawesi","code":"SA"},{"name":"West Sumatra","code":"SB"},{"name":"Yogyakarta","code":"YO"}]},{"name":"Iraq","code":"IQ"},{"name":"Ireland","code":"IE","provinces":[{"name":"Carlow","code":"CW"},{"name":"Cavan","code":"CN"},{"name":"Clare","code":"CE"},{"name":"Cork","code":"CO"},{"name":"Donegal","code":"DL"},{"name":"Dublin","code":"D"},{"name":"Galway","code":"G"},{"name":"Kerry","code":"KY"},{"name":"Kildare","code":"KE"},{"name":"Kilkenny","code":"KK"},{"name":"Laois","code":"LS"},{"name":"Leitrim","code":"LM"},{"name":"Limerick","code":"LK"},{"name":"Longford","code":"LD"},{"name":"Louth","code":"LH"},{"name":"Mayo","code":"MO"},{"name":"Meath","code":"MH"},{"name":"Monaghan","code":"MN"},{"name":"Offaly","code":"OY"},{"name":"Roscommon","code":"RN"},{"name":"Sligo","code":"SO"},{"name":"Tipperary","code":"TA"},{"name":"Waterford","code":"WD"},{"name":"Westmeath","code":"WH"},{"name":"Wexford","code":"WX"},{"name":"Wicklow","code":"WW"}]},{"name":"Isle of Man","code":"IM"},{"name":"Israel","code":"IL"},{"name":"Italy","code":"IT","provinces":[{"name":"Agrigento","code":"AG"},{"name":"Alessandria","code":"AL"},{"name":"Ancona","code":"AN"},{"name":"Aosta Valley","code":"AO"},{"name":"Arezzo","code":"AR"},{"name":"Ascoli Piceno","code":"AP"},{"name":"Asti","code":"AT"},{"name":"Avellino","code":"AV"},{"name":"Bari","code":"BA"},{"name":"Barletta-Andria-Trani","code":"BT"},{"name":"Belluno","code":"BL"},{"name":"Benevento","code":"BN"},{"name":"Bergamo","code":"BG"},{"name":"Biella","code":"BI"},{"name":"Bologna","code":"BO"},{"name":"South Tyrol","code":"BZ"},{"name":"Brescia","code":"BS"},{"name":"Brindisi","code":"BR"},{"name":"Cagliari","code":"CA"},{"name":"Caltanissetta","code":"CL"},{"name":"Campobasso","code":"CB"},{"name":"Carbonia-Iglesias","code":"CI"},{"name":"Caserta","code":"CE"},{"name":"Catania","code":"CT"},{"name":"Catanzaro","code":"CZ"},{"name":"Chieti","code":"CH"},{"name":"Como","code":"CO"},{"name":"Cosenza","code":"CS"},{"name":"Cremona","code":"CR"},{"name":"Crotone","code":"KR"},{"name":"Cuneo","code":"CN"},{"name":"Enna","code":"EN"},{"name":"Fermo","code":"FM"},{"name":"Ferrara","code":"FE"},{"name":"Florence","code":"FI"},{"name":"Foggia","code":"FG"},{"name":"Forlì-Cesena","code":"FC"},{"name":"Frosinone","code":"FR"},{"name":"Genoa","code":"GE"},{"name":"Gorizia","code":"GO"},{"name":"Grosseto","code":"GR"},{"name":"Imperia","code":"IM"},{"name":"Isernia","code":"IS"},{"name":"LâAquila","code":"AQ"},{"name":"La Spezia","code":"SP"},{"name":"Latina","code":"LT"},{"name":"Lecce","code":"LE"},{"name":"Lecco","code":"LC"},{"name":"Livorno","code":"LI"},{"name":"Lodi","code":"LO"},{"name":"Lucca","code":"LU"},{"name":"Macerata","code":"MC"},{"name":"Mantua","code":"MN"},{"name":"Massa and Carrara","code":"MS"},{"name":"Matera","code":"MT"},{"name":"Medio Campidano","code":"VS"},{"name":"Messina","code":"ME"},{"name":"Milan","code":"MI"},{"name":"Modena","code":"MO"},{"name":"Monza and Brianza","code":"MB"},{"name":"Naples","code":"NA"},{"name":"Novara","code":"NO"},{"name":"Nuoro","code":"NU"},{"name":"Ogliastra","code":"OG"},{"name":"Olbia-Tempio","code":"OT"},{"name":"Oristano","code":"OR"},{"name":"Padua","code":"PD"},{"name":"Palermo","code":"PA"},{"name":"Parma","code":"PR"},{"name":"Pavia","code":"PV"},{"name":"Perugia","code":"PG"},{"name":"Pesaro and Urbino","code":"PU"},{"name":"Pescara","code":"PE"},{"name":"Piacenza","code":"PC"},{"name":"Pisa","code":"PI"},{"name":"Pistoia","code":"PT"},{"name":"Pordenone","code":"PN"},{"name":"Potenza","code":"PZ"},{"name":"Prato","code":"PO"},{"name":"Ragusa","code":"RG"},{"name":"Ravenna","code":"RA"},{"name":"Reggio Calabria","code":"RC"},{"name":"Reggio Emilia","code":"RE"},{"name":"Rieti","code":"RI"},{"name":"Rimini","code":"RN"},{"name":"Rome","code":"RM"},{"name":"Rovigo","code":"RO"},{"name":"Salerno","code":"SA"},{"name":"Sassari","code":"SS"},{"name":"Savona","code":"SV"},{"name":"Siena","code":"SI"},{"name":"Syracuse","code":"SR"},{"name":"Sondrio","code":"SO"},{"name":"Taranto","code":"TA"},{"name":"Teramo","code":"TE"},{"name":"Terni","code":"TR"},{"name":"Turin","code":"TO"},{"name":"Trapani","code":"TP"},{"name":"Trentino","code":"TN"},{"name":"Treviso","code":"TV"},{"name":"Trieste","code":"TS"},{"name":"Udine","code":"UD"},{"name":"Varese","code":"VA"},{"name":"Venice","code":"VE"},{"name":"Verbano-Cusio-Ossola","code":"VB"},{"name":"Vercelli","code":"VC"},{"name":"Verona","code":"VR"},{"name":"Vibo Valentia","code":"VV"},{"name":"Vicenza","code":"VI"},{"name":"Viterbo","code":"VT"}]}
4557,{"name":"Jamaica","code":"JM"},{"name":"Japan","code":"JP","provinces":[{"name":"Hokkaido","code":"JP-01"},{"name":"Aomori","code":"JP-02"},{"name":"Iwate","code":"JP-03"},{"name":"Miyagi","code":"JP-04"},{"name":"Akita","code":"JP-05"},{"name":"Yamagata","code":"JP-06"},{"name":"Fukushima","code":"JP-07"},{"name":"Ibaraki","code":"JP-08"},{"name":"Tochigi","code":"JP-09"},{"name":"Gunma","code":"JP-10"},{"name":"Saitama","code":"JP-11"},{"name":"Chiba","code":"JP-12"},{"name":"Tokyo","code":"JP-13"},{"name":"Kanagawa","code":"JP-14"},{"name":"Niigata","code":"JP-15"},{"name":"Toyama","code":"JP-16"},{"name":"Ishikawa","code":"JP-17"},{"name":"Fukui","code":"JP-18"},{"name":"Yamanashi","code":"JP-19"},{"name":"Nagano","code":"JP-20"},{"name":"Gifu","code":"JP-21"},{"name":"Shizuoka","code":"JP-22"},{"name":"Aichi","code":"JP-23"},{"name":"Mie","code":"JP-24"},{"name":"Shiga","code":"JP-25"},{"name":"Kyoto","code":"JP-26"},{"name":"Osaka","code":"JP-27"},{"name":"Hyogo","code":"JP-28"},{"name":"Nara","code":"JP-29"},{"name":"Wakayama","code":"JP-30"},{"name":"Tottori","code":"JP-31"},{"name":"Shimane","code":"JP-32"},{"name":"Okayama","code":"JP-33"},{"name":"Hiroshima","code":"JP-34"},{"name":"Yamaguchi","code":"JP-35"},{"name":"Tokushima","code":"JP-36"},{"name":"Kagawa","code":"JP-37"},{"name":"Ehime","code":"JP-38"},{"name":"Kochi","code":"JP-39"},{"name":"Fukuoka","code":"JP-40"},{"name":"Saga","code":"JP-41"},{"name":"Nagasaki","code":"JP-42"},{"name":"Kumamoto","code":"JP-43"},{"name":"Oita","code":"JP-44"},{"name":"Miyazaki","code":"JP-45"},{"name":"Kagoshima","code":"JP-46"},{"name":"Okinawa","code":"JP-47"}]},{"name":"Jersey","code":"JE"},{"name":"Jordan","code":"JO"},{"name":"Kazakhstan","code":"KZ"},{"name":"Kenya","code":"KE"},{"name":"Kiribati","code":"KI"},{"name":"Kosovo","code":"XK"},{"name":"Kuwait","code":"KW","provinces":[{"name":"Al Ahmadi","code":"KW-AH"},{"name":"Al Asimah","code":"KW-KU"},{"name":"Al Farwaniyah","code":"KW-FA"},{"name":"Al Jahra","code":"KW-JA"},{"name":"Hawalli","code":"KW-HA"},{"name":"Mubarak Al-Kabeer","code":"KW-MU"}]},{"name":"Kyrgyzstan","code":"KG"},{"name":"Laos","code":"LA"},{"name":"Latvia","code":"LV"},{"name":"Lebanon","code":"LB"},{"name":"Lesotho","code":"LS"},{"name":"Liberia","code":"LR"},{"name":"Libya","code":"LY"},{"name":"Liechtenstein","code":"LI"},{"name":"Lithuania","code":"LT"},{"name":"Luxembourg","code":"LU"},{"name":"Macao SAR","code":"MO"},{"name":"Madagascar","code":"MG"},{"name":"Malawi","code":"MW"},{"name":"Malaysia","code":"MY","provinces":[{"name":"Johor","code":"JHR"},{"name":"Kedah","code":"KDH"},{"name":"Kelantan","code":"KTN"},{"name":"Kuala Lumpur","code":"KUL"},{"name":"Labuan","code":"LBN"},{"name":"Malacca","code":"MLK"},{"name":"Negeri Sembilan","code":"NSN"},{"name":"Pahang","code":"PHG"},{"name":"Penang","code":"PNG"},{"name":"Perak","code":"PRK"},{"name":"Perlis","code":"PLS"},{"name":"Putrajaya","code":"PJY"},{"name":"Sabah","code":"SBH"},{"name":"Sarawak","code":"SWK"},{"name":"Selangor","code":"SGR"},{"name":"Terengganu","code":"TRG"}]},{"name":"Maldives","code":"MV"},{"name":"Mali","code":"ML"},{"name":"Malta","code":"MT"},{"name":"Martinique","code":"MQ"},{"name":"Mauritania","code":"MR"},{"name":"Mauritius","code":"MU"},{"name":"Mayotte","code":"YT"},{"name":"Mexico","code":"MX","provinces":[{"name":"Aguascalientes","code":"AGS"},{"name":"Baja California","code":"BC"},{"name":"Baja California Sur","code":"BCS"},{"name":"Campeche","code":"CAMP"},{"name":"Chiapas","code":"CHIS"},{"name":"Chihuahua","code":"CHIH"},{"name":"Ciudad de Mexico","code":"DF"},{"name":"Coahuila","code":"COAH"},{"name":"Colima","code":"COL"},{"name":"Durango","code":"DGO"},{"name":"Guanajuato","code":"GTO"},{"name":"Guerrero","code":"GRO"},{"name":"Hidalgo","code":"HGO"},{"name":"Jalisco","code":"JAL"},{"name":"Mexico State","code":"MEX"},{"name":"Michoacán","code":"MICH"},{"name":"Morelos","code":"MOR"},{"name":"Nayarit","code":"NAY"},{"name":"Nuevo León","code":"NL"},{"name":"Oaxaca","code":"OAX"},{"name":"Puebla","code":"PUE"},{"name":"Querétaro","code":"QRO"},{"name":"Quintana Roo","code":"Q ROO"},{"name":"San Luis PotosÃ","code":"SLP"},{"name":"Sinaloa","code":"SIN"},{"name":"Sonora","code":"SON"},{"name":"Tabasco","code":"TAB"},{"name":"Tamaulipas","code":"TAMPS"},{"name":"Tlaxcala","code":"TLAX"},{"name":"Veracruz","code":"VER"},{"name":"Yucatán","code":"YUC"},{"name":"Zacatecas","code":"ZAC"}]},{"name":"Moldova","code":"MD"},{"name":"Monaco","code":"MC"},{"name":"Mongolia","code":"MN"},{"name":"Montenegro","code":"ME"},{"name":"Montserrat","code":"MS"},{"name":"Morocco","code":"MA"},{"name":"Mozambique","code":"MZ"},{"name":"Myanmar (Burma)","code":"MM"},{"name":"Namibia","code":"NA"},{"name":"Nauru","code":"NR"},{"name":"Nepal","code":"NP"},{"name":"Netherlands","code":"NL"},{"name":"New Caledonia","code":"NC"},{"name":"New Zealand","code":"NZ","provinces":[{"name":"Auckland","code":"AUK"},{"name":"Bay of Plenty","code":"BOP"},{"name":"Canterbury","code":"CAN"},{"name":"Chatham Islands","code":"CIT"},{"name":"Gisborne","code":"GIS"},{"name":"Hawkeâs Bay","code":"HKB"},{"name":"ManawatÅ«-Whanganui","code":"MWT"},{"name":"Marlborough","code":"MBH"},{"name":"Nelson","code":"NSN"},{"name":"Northland","code":"NTL"},{"name":"Otago","code":"OTA"},{"name":"Southland","code":"STL"},{"name":"Taranaki","code":"TKI"},{"name":"Tasman","code":"TAS"},{"name":"Waikato","code":"WKO"},{"name":"Wellington","code":"WGN"},{"name":"West Coast","code":"WTC"}]},{"name":"Nicaragua","code":"NI"},{"name":"Niger","code":"NE"},{"name":"Nigeria","code":"NG","provinces":[{"name":"Abia","code":"AB"},{"name":"Federal Capital Territory","code":"FC"},{"name":"Adamawa","code":"AD"},{"name":"Akwa Ibom","code":"AK"},{"name":"Anambra","code":"AN"},{"name":"Bauchi","code":"BA"},{"name":"Bayelsa","code":"BY"},{"name":"Benue","code":"BE"},{"name":"Borno","code":"BO"},{"name":"Cross River","code":"CR"},{"name":"Delta","code":"DE"},{"name":"Ebonyi","code":"EB"},{"name":"Edo","code":"ED"},{"name":"Ekiti","code":"EK"},{"name":"Enugu","code":"EN"},{"name":"Gombe","code":"GO"},{"name":"Imo","code":"IM"},{"name":"Jigawa","code":"JI"},{"name":"Kaduna","code":"KD"},{"name":"Kano","code":"KN"},{"name":"Katsina","code":"KT"},{"name":"Kebbi","code":"KE"},{"name":"Kogi","code":"KO"},{"name":"Kwara","code":"KW"},{"name":"Lagos","code":"LA"},{"name":"Nasarawa","code":"NA"},{"name":"Niger","code":"NI"},{"name":"Ogun","code":"OG"},{"name":"Ondo","code":"ON"},{"name":"Osun","code":"OS"},{"name":"Oyo","code":"OY"},{"name":"Plateau","code":"PL"},{"name":"Rivers","code":"RI"},{"name":"Sokoto","code":"SO"},{"name":"Taraba","code":"TA"},{"name":"Yobe","code":"YO"},{"name":"Zamfara","code":"ZA"}]}
4557,{"name":"Niue","code":"NU"},{"name":"Norfolk Island","code":"NF"},{"name":"North Macedonia","code":"MK"},{"name":"Norway","code":"NO"},{"name":"Oman","code":"OM"},{"name":"Pakistan","code":"PK"},{"name":"Palestinian Territories","code":"PS"},{"name":"Panama","code":"PA","provinces":[{"name":"Bocas del Toro","code":"PA-1"},{"name":"ChiriquÃ","code":"PA-4"},{"name":"Coclé","code":"PA-2"},{"name":"Colón","code":"PA-3"},{"name":"Darién","code":"PA-5"},{"name":"Emberá","code":"PA-EM"},{"name":"Herrera","code":"PA-6"},{"name":"Guna Yala","code":"PA-KY"},{"name":"Los Santos","code":"PA-7"},{"name":"Ngöbe-Buglé","code":"PA-NB"},{"name":"Panamá","code":"PA-8"},{"name":"West Panamá","code":"PA-10"},{"name":"Veraguas","code":"PA-9"}]},{"name":"Papua New Guinea","code":"PG"},{"name":"Paraguay","code":"PY"},{"name":"Peru","code":"PE","provinces":[{"name":"Amazonas","code":"PE-AMA"},{"name":"Ancash","code":"PE-ANC"},{"name":"ApurÃmac","code":"PE-APU"},{"name":"Arequipa","code":"PE-ARE"},{"name":"Ayacucho","code":"PE-AYA"},{"name":"Cajamarca","code":"PE-CAJ"},{"name":"El Callao","code":"PE-CAL"},{"name":"Cusco","code":"PE-CUS"},{"name":"Huancavelica","code":"PE-HUV"},{"name":"Huánuco","code":"PE-HUC"},{"name":"Ica","code":"PE-ICA"},{"name":"JunÃn","code":"PE-JUN"},{"name":"La Libertad","code":"PE-LAL"},{"name":"Lambayeque","code":"PE-LAM"},{"name":"Lima (Department)","code":"PE-LIM"},{"name":"Lima (Metropolitan)","code":"PE-LMA"},{"name":"Loreto","code":"PE-LOR"},{"name":"Madre de Dios","code":"PE-MDD"},{"name":"Moquegua","code":"PE-MOQ"},{"name":"Pasco","code":"PE-PAS"},{"name":"Piura","code":"PE-PIU"},{"name":"Puno","code":"PE-PUN"},{"name":"San MartÃn","code":"PE-SAM"},{"name":"Tacna","code":"PE-TAC"},{"name":"Tumbes","code":"PE-TUM"},{"name":"Ucayali","code":"PE-UCA"}]},{"name":"Philippines","code":"PH","provinces":[{"name":"Abra","code":"PH-ABR"},{"name":"Agusan del Norte","code":"PH-AGN"},{"name":"Agusan del Sur","code":"PH-AGS"},{"name":"Aklan","code":"PH-AKL"},{"name":"Albay","code":"PH-ALB"},{"name":"Antique","code":"PH-ANT"},{"name":"Apayao","code":"PH-APA"},{"name":"Aurora","code":"PH-AUR"},{"name":"Basilan","code":"PH-BAS"},{"name":"Bataan","code":"PH-BAN"},{"name":"Batanes","code":"PH-BTN"},{"name":"Batangas","code":"PH-BTG"},{"name":"Benguet","code":"PH-BEN"},{"name":"Biliran","code":"PH-BIL"},{"name":"Bohol","code":"PH-BOH"},{"name":"Bukidnon","code":"PH-BUK"},{"name":"Bulacan","code":"PH-BUL"},{"name":"Cagayan","code":"PH-CAG"},{"name":"Camarines Norte","code":"PH-CAN"},{"name":"Camarines Sur","code":"PH-CAS"},{"name":"Camiguin","code":"PH-CAM"},{"name":"Capiz","code":"PH-CAP"},{"name":"Catanduanes","code":"PH-CAT"},{"name":"Cavite","code":"PH-CAV"},{"name":"Cebu","code":"PH-CEB"},{"name":"Cotabato","code":"PH-NCO"},{"name":"Davao Occidental","code":"PH-DVO"},{"name":"Davao Oriental","code":"PH-DAO"},{"name":"Compostela Valley","code":"PH-COM"},{"name":"Davao del Norte","code":"PH-DAV"},{"name":"Davao del Sur","code":"PH-DAS"},{"name":"Dinagat Islands","code":"PH-DIN"},{"name":"Eastern Samar","code":"PH-EAS"},{"name":"Guimaras","code":"PH-GUI"},{"name":"Ifugao","code":"PH-IFU"},{"name":"Ilocos Norte","code":"PH-ILN"},{"name":"Ilocos Sur","code":"PH-ILS"},{"name":"Iloilo","code":"PH-ILI"},{"name":"Isabela","code":"PH-ISA"},{"name":"Kalinga","code":"PH-KAL"},{"name":"La Union","code":"PH-LUN"},{"name":"Laguna","code":"PH-LAG"},{"name":"Lanao del Norte","code":"PH-LAN"},{"name":"Lanao del Sur","code":"PH-LAS"},{"name":"Leyte","code":"PH-LEY"},{"name":"Maguindanao","code":"PH-MAG"},{"name":"Marinduque","code":"PH-MAD"},{"name":"Masbate","code":"PH-MAS"},{"name":"Metro Manila","code":"PH-00"},{"name":"Misamis Occidental","code":"PH-MSC"},{"name":"Misamis Oriental","code":"PH-MSR"},{"name":"Mountain","code":"PH-MOU"},{"name":"Negros Occidental","code":"PH-NEC"},{"name":"Negros Oriental","code":"PH-NER"},{"name":"Northern Samar","code":"PH-NSA"},{"name":"Nueva Ecija","code":"PH-NUE"},{"name":"Nueva Vizcaya","code":"PH-NUV"},{"name":"Occidental Mindoro","code":"PH-MDC"},{"name":"Oriental Mindoro","code":"PH-MDR"},{"name":"Palawan","code":"PH-PLW"},{"name":"Pampanga","code":"PH-PAM"},{"name":"Pangasinan","code":"PH-PAN"},{"name":"Quezon","code":"PH-QUE"},{"name":"Quirino","code":"PH-QUI"},{"name":"Rizal","code":"PH-RIZ"},{"name":"Romblon","code":"PH-ROM"},{"name":"Samar","code":"PH-WSA"},{"name":"Sarangani","code":"PH-SAR"},{"name":"Siquijor","code":"PH-SIG"},{"name":"Sorsogon","code":"PH-SOR"},{"name":"South Cotabato","code":"PH-SCO"},{"name":"Southern Leyte","code":"PH-SLE"},{"name":"Sultan Kudarat","code":"PH-SUK"},{"name":"Sulu","code":"PH-SLU"},{"name":"Surigao del Norte","code":"PH-SUN"},{"name":"Surigao del Sur","code":"PH-SUR"},{"name":"Tarlac","code":"PH-TAR"},{"name":"Tawi-Tawi","code":"PH-TAW"},{"name":"Zambales","code":"PH-ZMB"},{"name":"Zamboanga Sibugay","code":"PH-ZSI"},{"name":"Zamboanga del Norte","code":"PH-ZAN"},{"name":"Zamboanga del Sur","code":"PH-ZAS"}]},{"name":"Pitcairn Islands","code":"PN"},{"name":"Poland","code":"PL"},{"name":"Portugal","code":"PT","provinces":[{"name":"Azores","code":"PT-20"},{"name":"Aveiro","code":"PT-01"},{"name":"Beja","code":"PT-02"},{"name":"Braga","code":"PT-03"},{"name":"Bragança","code":"PT-04"},{"name":"Castelo Branco","code":"PT-05"},{"name":"Coimbra","code":"PT-06"},{"name":"Ãvora","code":"PT-07"},{"name":"Faro","code":"PT-08"},{"name":"Guarda","code":"PT-09"},{"name":"Leiria","code":"PT-10"},{"name":"Lisbon","code":"PT-11"},{"name":"Madeira","code":"PT-30"},{"name":"Portalegre","code":"PT-12"},{"name":"Porto","code":"PT-13"},{"name":"Santarém","code":"PT-14"},{"name":"Setúbal","code":"PT-15"},{"name":"Viana do Castelo","code":"PT-16"},{"name":"Vila Real","code":"PT-17"},{"name":"Viseu","code":"PT-18"}]}
4557,{"name":"Qatar","code":"QA"},{"name":"Réunion","code":"RE"},{"name":"Romania","code":"RO","provinces":[{"name":"Alba","code":"AB"},{"name":"Arad","code":"AR"},{"name":"ArgeÈ","code":"AG"},{"name":"BacÄu","code":"BC"},{"name":"Bihor","code":"BH"},{"name":"BistriÅ£a-NÄsÄud","code":"BN"},{"name":"BotoÅani","code":"BT"},{"name":"BrÄila","code":"BR"},{"name":"BraÅov","code":"BV"},{"name":"Bucharest","code":"B"},{"name":"BuzÄu","code":"BZ"},{"name":"CaraÈ-Severin","code":"CS"},{"name":"Cluj","code":"CJ"},{"name":"ConstanÈa","code":"CT"},{"name":"Covasna","code":"CV"},{"name":"CÄlÄraÈi","code":"CL"},{"name":"Dolj","code":"DJ"},{"name":"DâmboviÈa","code":"DB"},{"name":"GalaÈi","code":"GL"},{"name":"Giurgiu","code":"GR"},{"name":"Gorj","code":"GJ"},{"name":"Harghita","code":"HR"},{"name":"Hunedoara","code":"HD"},{"name":"IalomiÈa","code":"IL"},{"name":"IaÈi","code":"IS"},{"name":"Ilfov","code":"IF"},{"name":"MaramureÅ","code":"MM"},{"name":"MehedinÈi","code":"MH"},{"name":"MureÅ","code":"MS"},{"name":"NeamÅ£","code":"NT"},{"name":"Olt","code":"OT"},{"name":"Prahova","code":"PH"},{"name":"SÄlaj","code":"SJ"},{"name":"Satu Mare","code":"SM"},{"name":"Sibiu","code":"SB"},{"name":"Suceava","code":"SV"},{"name":"Teleorman","code":"TR"},{"name":"TimiÈ","code":"TM"},{"name":"Tulcea","code":"TL"},{"name":"Vâlcea","code":"VL"},{"name":"Vaslui","code":"VS"},{"name":"Vrancea","code":"VN"}]},{"name":"Russia","code":"RU","provinces":[{"name":"Altai Krai","code":"ALT"},{"name":"Altai","code":"AL"},{"name":"Amur","code":"AMU"},{"name":"Arkhangelsk","code":"ARK"},{"name":"Astrakhan","code":"AST"},{"name":"Belgorod","code":"BEL"},{"name":"Bryansk","code":"BRY"},{"name":"Chechen","code":"CE"},{"name":"Chelyabinsk","code":"CHE"},{"name":"Chukotka Okrug","code":"CHU"},{"name":"Chuvash","code":"CU"},{"name":"Irkutsk","code":"IRK"},{"name":"Ivanovo","code":"IVA"},{"name":"Jewish","code":"YEV"},{"name":"Kabardino-Balkar","code":"KB"},{"name":"Kaliningrad","code":"KGD"},{"name":"Kaluga","code":"KLU"},{"name":"Kamchatka Krai","code":"KAM"},{"name":"Karachay-Cherkess","code":"KC"},{"name":"Kemerovo","code":"KEM"},{"name":"Khabarovsk Krai","code":"KHA"},{"name":"Khanty-Mansi","code":"KHM"},{"name":"Kirov","code":"KIR"},{"name":"Komi","code":"KO"},{"name":"Kostroma","code":"KOS"},{"name":"Krasnodar Krai","code":"KDA"},{"name":"Krasnoyarsk Krai","code":"KYA"},{"name":"Kurgan","code":"KGN"},{"name":"Kursk","code":"KRS"},{"name":"Leningrad","code":"LEN"},{"name":"Lipetsk","code":"LIP"},{"name":"Magadan","code":"MAG"},{"name":"Mari El","code":"ME"},{"name":"Moscow","code":"MOW"},{"name":"Moscow Province","code":"MOS"},{"name":"Murmansk","code":"MUR"},{"name":"Nizhny Novgorod","code":"NIZ"},{"name":"Novgorod","code":"NGR"},{"name":"Novosibirsk","code":"NVS"},{"name":"Omsk","code":"OMS"},{"name":"Orenburg","code":"ORE"},{"name":"Oryol","code":"ORL"},{"name":"Penza","code":"PNZ"},{"name":"Perm Krai","code":"PER"},{"name":"Primorsky Krai","code":"PRI"},{"name":"Pskov","code":"PSK"},{"name":"Adygea","code":"AD"},{"name":"Bashkortostan","code":"BA"},{"name":"Buryat","code":"BU"},{"name":"Dagestan","code":"DA"},{"name":"Ingushetia","code":"IN"},{"name":"Kalmykia","code":"KL"},{"name":"Karelia","code":"KR"},{"name":"Khakassia","code":"KK"},{"name":"Mordovia","code":"MO"},{"name":"North Ossetia-Alania","code":"SE"},{"name":"Tatarstan","code":"TA"},{"name":"Rostov","code":"ROS"},{"name":"Ryazan","code":"RYA"},{"name":"Saint Petersburg","code":"SPE"},{"name":"Sakha","code":"SA"},{"name":"Sakhalin","code":"SAK"},{"name":"Samara","code":"SAM"},{"name":"Saratov","code":"SAR"},{"name":"Smolensk","code":"SMO"},{"name":"Stavropol Krai","code":"STA"},{"name":"Sverdlovsk","code":"SVE"},{"name":"Tambov","code":"TAM"},{"name":"Tomsk","code":"TOM"},{"name":"Tula","code":"TUL"},{"name":"Tver","code":"TVE"},{"name":"Tyumen","code":"TYU"},{"name":"Tuva","code":"TY"},{"name":"Udmurt","code":"UD"},{"name":"Ulyanovsk","code":"ULY"},{"name":"Vladimir","code":"VLA"},{"name":"Volgograd","code":"VGG"},{"name":"Vologda","code":"VLG"},{"name":"Voronezh","code":"VOR"},{"name":"Yamalo-Nenets Okrug","code":"YAN"},{"name":"Yaroslavl","code":"YAR"},{"name":"Zabaykalsky Krai","code":"ZAB"}]},{"name":"Rwanda","code":"RW"},{"name":"Samoa","code":"WS"},{"name":"San Marino","code":"SM"},{"name":"São Tomé \u0026 PrÃncipe","code":"ST"},{"name":"Saudi Arabia","code":"SA"},{"name":"Senegal","code":"SN"},{"name":"Serbia","code":"RS"},{"name":"Seychelles","code":"SC"},{"name":"Sierra Leone","code":"SL"},{"name":"Singapore","code":"SG"},{"name":"Sint Maarten","code":"SX"},{"name":"Slovakia","code":"SK"},{"name":"Slovenia","code":"SI"},{"name":"Solomon Islands","code":"SB"},{"name":"Somalia","code":"SO"},{"name":"South Africa","code":"ZA","provinces":[{"name":"Eastern Cape","code":"EC"},{"name":"Free State","code":"FS"},{"name":"Gauteng","code":"GP"},{"name":"KwaZulu-Natal","code":"NL"},{"name":"Limpopo","code":"LP"},{"name":"Mpumalanga","code":"MP"},{"name":"North West","code":"NW"},{"name":"Northern Cape","code":"NC"},{"name":"Western Cape","code":"WC"}]},{"name":"South Georgia \u0026 South Sandwich Islands","code":"GS"},{"name":"South Korea","code":"KR","provinces":[{"name":"Busan","code":"KR-26"},{"name":"North Chungcheong","code":"KR-43"},{"name":"South Chungcheong","code":"KR-44"},{"name":"Daegu","code":"KR-27"},{"name":"Daejeon","code":"KR-30"},{"name":"Gangwon","code":"KR-42"}
4557,{"name":"Gwangju City","code":"KR-29"},{"name":"North Gyeongsang","code":"KR-47"},{"name":"Gyeonggi","code":"KR-41"},{"name":"South Gyeongsang","code":"KR-48"},{"name":"Incheon","code":"KR-28"},{"name":"Jeju","code":"KR-49"},{"name":"North Jeolla","code":"KR-45"},{"name":"South Jeolla","code":"KR-46"},{"name":"Sejong","code":"KR-50"},{"name":"Seoul","code":"KR-11"},{"name":"Ulsan","code":"KR-31"}]},{"name":"South Sudan","code":"SS"},{"name":"Spain","code":"ES","provinces":[{"name":"A Coruña","code":"C"},{"name":"Ãlava","code":"VI"},{"name":"Albacete","code":"AB"},{"name":"Alicante","code":"A"},{"name":"AlmerÃa","code":"AL"},{"name":"Asturias Province","code":"O"},{"name":"Ãvila","code":"AV"},{"name":"Badajoz","code":"BA"},{"name":"Balears Province","code":"PM"},{"name":"Barcelona","code":"B"},{"name":"Burgos","code":"BU"},{"name":"Cáceres","code":"CC"},{"name":"Cádiz","code":"CA"},{"name":"Cantabria Province","code":"S"},{"name":"Castellón","code":"CS"},{"name":"Ceuta","code":"CE"},{"name":"Ciudad Real","code":"CR"},{"name":"Córdoba","code":"CO"},{"name":"Cuenca","code":"CU"},{"name":"Girona","code":"GI"},{"name":"Granada","code":"GR"},{"name":"Guadalajara","code":"GU"},{"name":"Gipuzkoa","code":"SS"},{"name":"Huelva","code":"H"},{"name":"Huesca","code":"HU"},{"name":"Jaén","code":"J"},{"name":"La Rioja Province","code":"LO"},{"name":"Las Palmas","code":"GC"},{"name":"León","code":"LE"},{"name":"Lleida","code":"L"},{"name":"Lugo","code":"LU"},{"name":"Madrid Province","code":"M"},{"name":"Málaga","code":"MA"},{"name":"Melilla","code":"ML"},{"name":"Murcia","code":"MU"},{"name":"Navarra","code":"NA"},{"name":"Ourense","code":"OR"},{"name":"Palencia","code":"P"},{"name":"Pontevedra","code":"PO"},{"name":"Salamanca","code":"SA"},{"name":"Santa Cruz de Tenerife","code":"TF"},{"name":"Segovia","code":"SG"},{"name":"Seville","code":"SE"},{"name":"Soria","code":"SO"},{"name":"Tarragona","code":"T"},{"name":"Teruel","code":"TE"},{"name":"Toledo","code":"TO"},{"name":"Valencia","code":"V"},{"name":"Valladolid","code":"VA"},{"name":"Biscay","code":"BI"},{"name":"Zamora","code":"ZA"},{"name":"Zaragoza","code":"Z"}]},{"name":"Sri Lanka","code":"LK"},{"name":"St. Barthélemy","code":"BL"},{"name":"St. Helena","code":"SH"},{"name":"St. Kitts \u0026 Nevis","code":"KN"},{"name":"St. Lucia","code":"LC"},{"name":"St. Martin","code":"MF"},{"name":"St. Pierre \u0026 Miquelon","code":"PM"},{"name":"St. Vincent \u0026 Grenadines","code":"VC"},{"name":"Sudan","code":"SD"},{"name":"Suriname","code":"SR"},{"name":"Svalbard \u0026 Jan Mayen","code":"SJ"},{"name":"Sweden","code":"SE"},{"name":"Switzerland","code":"CH"},{"name":"Taiwan","code":"TW"},{"name":"Tajikistan","code":"TJ"},{"name":"Tanzania","code":"TZ"},{"name":"Thailand","code":"TH","provinces":[{"name":"Amnat Charoen","code":"TH-37"},{"name":"Ang Thong","code":"TH-15"},{"name":"Bangkok","code":"TH-10"},{"name":"Bueng Kan","code":"TH-38"},{"name":"Buri Ram","code":"TH-31"},{"name":"Chachoengsao","code":"TH-24"},{"name":"Chai Nat","code":"TH-18"},{"name":"Chaiyaphum","code":"TH-36"},{"name":"Chanthaburi","code":"TH-22"},{"name":"Chiang Mai","code":"TH-50"},{"name":"Chiang Rai","code":"TH-57"},{"name":"Chon Buri","code":"TH-20"},{"name":"Chumphon","code":"TH-86"},{"name":"Kalasin","code":"TH-46"},{"name":"Kamphaeng Phet","code":"TH-62"},{"name":"Kanchanaburi","code":"TH-71"},{"name":"Khon Kaen","code":"TH-40"},{"name":"Krabi","code":"TH-81"},{"name":"Lampang","code":"TH-52"},{"name":"Lamphun","code":"TH-51"},{"name":"Loei","code":"TH-42"},{"name":"Lopburi","code":"TH-16"},{"name":"Mae Hong Son","code":"TH-58"},{"name":"Maha Sarakham","code":"TH-44"},{"name":"Mukdahan","code":"TH-49"},{"name":"Nakhon Nayok","code":"TH-26"},{"name":"Nakhon Pathom","code":"TH-73"},{"name":"Nakhon Phanom","code":"TH-48"},{"name":"Nakhon Ratchasima","code":"TH-30"},{"name":"Nakhon Sawan","code":"TH-60"},{"name":"Nakhon Si Thammarat","code":"TH-80"},{"name":"Nan","code":"TH-55"},{"name":"Narathiwat","code":"TH-96"},{"name":"Nong Bua Lam Phu","code":"TH-39"},{"name":"Nong Khai","code":"TH-43"},{"name":"Nonthaburi","code":"TH-12"},{"name":"Pathum Thani","code":"TH-13"},{"name":"Pattani","code":"TH-94"},{"name":"Pattaya","code":"TH-S"},{"name":"Phang Nga","code":"TH-82"},{"name":"Phatthalung","code":"TH-93"},{"name":"Phayao","code":"TH-56"},{"name":"Phetchabun","code":"TH-67"},{"name":"Phetchaburi","code":"TH-76"},{"name":"Phichit","code":"TH-66"},{"name":"Phitsanulok","code":"TH-65"},{"name":"Phra Nakhon Si Ayutthaya","code":"TH-14"},{"name":"Phrae","code":"TH-54"},{"name":"Phuket","code":"TH-83"},{"name":"Prachin Buri","code":"TH-25"},{"name":"Prachuap Khiri Khan","code":"TH-77"},{"name":"Ranong","code":"TH-85"},{"name":"Ratchaburi","code":"TH-70"},{"name":"Rayong","code":"TH-21"},{"name":"Roi Et","code":"TH-45"},{"name":"Sa Kaeo","code":"TH-27"},{"name":"Sakon Nakhon","code":"TH-47"},{"name":"Samut Prakan","code":"TH-11"},{"name":"Samut Sakhon","code":"TH-74"},{"name":"Samut Songkhram","code":"TH-75"},{"name":"Saraburi","code":"TH-19"},{"name":"Satun","code":"TH-91"},{"name":"Sing Buri","code":"TH-17"},{"name":"Si Sa Ket","code":"TH-33"},{"name":"Songkhla","code":"TH-90"},{"name":"Sukhothai","code":"TH-64"},{"name":"Suphanburi","code":"TH-72"},{"name":"Surat Thani","code":"TH-84"},{"name":"Surin","code":"TH-32"},{"name":"Tak","code":"TH-63"},{"name":"Trang","code":"TH-92"},{"name":"Trat","code":"TH-23"},{"name":"Ubon Ratchathani","code":"TH-34"},{"name":"Udon Thani","code":"TH-41"},{"name":"Uthai Thani","code":"TH-61"},{"name":"Uttaradit","code":"TH-53"},{"name":"Yala","code":"TH-95"},{"name":"Yasothon","code":"TH-35"}]},{"name":"Timor-Leste","code":"TL"},{"name":"Togo","code":"TG"},{"name":"Tokelau","code":"TK"},{"name":"Tonga","code":"TO"},{"name":"Trinidad \u0026 Tobago","code":"TT"},{"name":"Tristan da Cunha","code":"TA"},{"name":"Tunisia","code":"TN"},{"name":"Turkey","code":"TR"},{"name":"Turkmenistan","code":"TM"},{"name":"Turks \u0026 Caicos Islands","code":"TC"},{"name":"Tuvalu","code":"TV"},{"name":"U.S. Outlying Islands","code":"UM"},{"name":"Uganda","code":"UG"},{"name":"Ukraine","code":"UA"},{"name":"United Arab Emirates","code":"AE","provinces":[{"name":"Abu Dhabi","code":"AZ"},{"name":"Ajman","code":"AJ"},{"name":"Dubai","code":"DU"},{"name":"Fujairah","code":"FU"},{"name":"Ras al-Khaimah","code":"RK"},{"name":"Sharjah","code":"SH"},{"name":"Umm al-Quwain","code":"UQ"}]},{"name":"United Kingdom","code":"GB","provinces":[{"name":"British Forces","code":"BFP"},{"name":"England","code":"ENG"},{"name":"Northern Ireland","code":"NIR"},{"name":"Scotland","code":"SCT"},{"name":"Wales","code":"WLS"}]},{"name":"United States","code":"US","provinces":[{"name":"Alabama","code":"AL"},{"name":"Alaska","code":"AK"},{"name":"American Samoa","code":"AS"},{"name":"Arizona","code":"AZ"},{"name":"Arkansas","code":"AR"},{"name":"California","code":"CA"},{"name":"Colorado","code":"CO"},{"name":"Connecticut","code":"CT"},{"name":"Delaware","code":"DE"},{"name":"Washington DC","code":"DC"},{"name":"Micronesia","code":"FM"},{"name":"Florida","code":"FL"},{"name":"Georgia","code":"GA"},{"name":"Guam","code":"GU"},{"name":"Hawaii","code":"HI"},{"name":"Idaho","code":"ID"},{"name":"Illinois","code":"IL"},{"name":"Indiana","code":"IN"},{"name":"Iowa","code":"IA"},{"name":"Kansas","code":"KS"},{"name":"Kentucky","code":"KY"},{"name":"Louisiana","code":"LA"},{"name":"Maine","code":"ME"},{"name":"Marshall Islands","code":"MH"},{"name":"Maryland","code":"MD"},{"name":"Massachusetts","code":"MA"},{"name":"Michigan","code":"MI"},{"name":"Minnesota","code":"MN"},{"name":"Mississippi","code":"MS"},{"name":"Missouri","code":"MO"},{"name":"Montana","code":"MT"},{"name":"Nebraska","code":"NE"},{"name":"Nevada","code":"NV"},{"name":"New Hampshire","code":"NH"},{"name":"New Jersey","code":"NJ"},{"name":"New Mexico","code":"NM"},{"name":"New York","code":"NY"},{"name":"North Carolina","code":"NC"},{"name":"North Dakota","code":"ND"},{"name":"Northern Mariana Islands","code":"MP"},{"name":"Ohio","code":"OH"},{"name":"Oklahoma","code":"OK"},{"name":"Oregon","code":"OR"},{"name":"Palau","code":"PW"},{"name":"Pennsylvania","code":"PA"},{"name":"Puerto Rico","code":"PR"},{"name":"Rhode Island","code":"RI"},{"name":"South Carolina","code":"SC"},{"name":"South Dakota","code":"SD"},{"name":"Tennessee","code":"TN"},{"name":"Texas","code":"TX"},{"name":"Utah","code":"UT"},{"name":"Vermont","code":"VT"},{"name":"U.S. Virgin Islands","code":"VI"},{"name":"Virginia","code":"VA"},{"name":"Washington","code":"WA"},{"name":"West Virginia","code":"WV"},{"name":"Wisconsin","code":"WI"},{"name":"Wyoming","code":"WY"},{"name":"Armed Forces Americas","code":"AA"},{"name":"Armed Forces Europe","code":"AE"},{"name":"Armed Forces Pacific","code":"AP"}]}
4557,{"name":"Uruguay","code":"UY","provinces":[{"name":"Artigas","code":"UY-AR"},{"name":"Canelones","code":"UY-CA"},{"name":"Cerro Largo","code":"UY-CL"},{"name":"Colonia","code":"UY-CO"},{"name":"Durazno","code":"UY-DU"},{"name":"Flores","code":"UY-FS"},{"name":"Florida","code":"UY-FD"},{"name":"Lavalleja","code":"UY-LA"},{"name":"Maldonado","code":"UY-MA"},{"name":"Montevideo","code":"UY-MO"},{"name":"Paysandú","code":"UY-PA"},{"name":"RÃo Negro","code":"UY-RN"},{"name":"Rivera","code":"UY-RV"},{"name":"Rocha","code":"UY-RO"},{"name":"Salto","code":"UY-SA"},{"name":"San José","code":"UY-SJ"},{"name":"Soriano","code":"UY-SO"},{"name":"Tacuarembó","code":"UY-TA"},{"name":"Treinta y Tres","code":"UY-TT"}]},{"name":"Uzbekistan","code":"UZ"},{"name":"Vanuatu","code":"VU"},{"name":"Vatican City","code":"VA"},{"name":"Venezuela","code":"VE","provinces":[{"name":"Amazonas","code":"VE-Z"},{"name":"Anzoátegui","code":"VE-B"},{"name":"Apure","code":"VE-C"},{"name":"Aragua","code":"VE-D"},{"name":"Barinas","code":"VE-E"},{"name":"BolÃvar","code":"VE-F"},{"name":"Carabobo","code":"VE-G"},{"name":"Cojedes","code":"VE-H"},{"name":"Delta Amacuro","code":"VE-Y"},{"name":"Federal Dependencies","code":"VE-W"},{"name":"Capital","code":"VE-A"},{"name":"Falcón","code":"VE-I"},{"name":"Guárico","code":"VE-J"},{"name":"Vargas","code":"VE-X"},{"name":"Lara","code":"VE-K"},{"name":"Mérida","code":"VE-L"},{"name":"Miranda","code":"VE-M"},{"name":"Monagas","code":"VE-N"},{"name":"Nueva Esparta","code":"VE-O"},{"name":"Portuguesa","code":"VE-P"},{"name":"Sucre","code":"VE-R"},{"name":"Táchira","code":"VE-S"},{"name":"Trujillo","code":"VE-T"},{"name":"Yaracuy","code":"VE-U"},{"name":"Zulia","code":"VE-V"}]},{"name":"Vietnam","code":"VN"},{"name":"Wallis \u0026 Futuna","code":"WF"},{"name":"Western Sahara","code":"EH"},{"name":"Yemen","code":"YE"},{"name":"Zambia","code":"ZM"},{"name":"Zimbabwe","code":"ZW"}], 4558 "locale": "en", 4559 4560 "localeRootPath": "\/", 4561 4562 4563 "adminIsLoggedIn": false 4564 4565 } 4566; 4567 window.CF.allCountryOptionTags = `<option value="---" data-provinces="[]">---</option> 4568<option value="Afghanistan" data-provinces="[]">Afghanistan</option> 4569<option value="Aland Islands" data-provinces="[]">à land Islands</option> 4570<option value="Albania" data-provinces="[]">Albania</option> 4571<option value="Algeria" data-provinces="[]">Algeria</option> 4572<option value="Andorra" data-provinces="[]">Andorra</option> 4573<option value="Angola" data-provinces="[]">Angola</option> 4574<option value="Anguilla" data-provinces="[]">Anguilla</option> 4575<option value="Antigua And Barbuda" data-provinces="[]">Antigua & Barbuda</option> 4576<option value="Argentina" data-provinces="[["Buenos Aires","Buenos Aires Province"],["Catamarca","Catamarca"],["Chaco","Chaco"],["Chubut","Chubut"],["Ciudad Autónoma de Buenos Aires","Buenos Aires (Autonomous City)"],["Corrientes","Corrientes"],["Córdoba","Córdoba"],["Entre RÃos","Entre RÃos"],["Formosa","Formosa"],["Jujuy","Jujuy"],["La Pampa","La Pampa"],["La Rioja","La Rioja"],["Mendoza","Mendoza"],["Misiones","Misiones"],["Neuquén","Neuquén"],["RÃo Negro","RÃo Negro"],["Salta","Salta"],["San Juan","San Juan"],["San Luis","San Luis"],["Santa Cruz","Santa Cruz"],["Santa Fe","Santa Fe"],["Santiago Del Estero","Santiago del Estero"],["Tierra Del Fuego","Tierra del Fuego"],["Tucumán","Tucumán"]]">Argentina</option> 4577<option value="Armenia" data-provinces="[]">Armenia</option> 4578<option value="Aruba" data-provinces="[]">Aruba</option> 4579<option value="Ascension Island" data-provinces="[]">Ascension Island</option> 4580<option value="Australia" data-provinces="[["Australian Capital Territory","Australian Capital Territory"],["New South Wales","New South Wales"],["Northern Territory","Northern Territory"],["Queensland","Queensland"],["South Australia","South Australia"],["Tasmania","Tasmania"],["Victoria","Victoria"],["Western Australia","Western Australia"]]">Australia</option> 4581<option value="Austria" data-provinces="[]">Austria</option> 4582<option value="Azerbaijan" data-provinces="[]">Azerbaijan</option> 4583<option value="Bahamas" data-provinces="[]">Bahamas</option> 4584<option value="Bahrain" data-provinces="[]">Bahrain</option> 4585<option value="Bangladesh" data-provinces="[]">Bangladesh</option> 4586<option value="Barbados" data-provinces="[]">Barbados</option> 4587<option value="Belarus" data-provinces="[]">Belarus</option> 4588<option value="Belgium" data-provinces="[]">Belgium</option> 4589<option value="Belize" data-provinces="[]">Belize</option> 4590<option value="Benin" data-provinces="[]">Benin</option> 4591<option value="Bermuda" data-provinces="[]">Bermuda</option> 4592<option value="Bhutan" data-provinces="[]">Bhutan</option> 4593<option value="Bolivia" data-provinces="[]">Bolivia</option> 4594<option value="Bosnia And Herzegovina" data-provinces="[]">Bosnia & Herzegovina</option> 4595<option value="Botswana" data-provinces="[]">Botswana</option> 4596<option value="Brazil" data-provinces="[["Acre","Acre"],["Alagoas","Alagoas"],["Amapá","Amapá"],["Amazonas","Amazonas"],["Bahia","Bahia"],["Ceará","Ceará"],["Distrito Federal","Federal District"],["EspÃrito Santo","EspÃrito Santo"],["Goiás","Goiás"],["Maranhão","Maranhão"],["Mato Grosso","Mato Grosso"],["Mato Grosso do Sul","Mato Grosso do Sul"],["Minas Gerais","Minas Gerais"],["Paraná","Paraná"],["ParaÃba","ParaÃba"],["Pará","Pará"],["Pernambuco","Pernambuco"],["PiauÃ","PiauÃ"],["Rio Grande do Norte","Rio Grande do Norte"],["Rio Grande do Sul","Rio Grande do Sul"],["Rio de Janeiro","Rio de Janeiro"],["Rondônia","Rondônia"],["Roraima","Roraima"],["Santa Catarina","Santa Catarina"],["Sergipe","Sergipe"],["São Paulo","São Paulo"],["Tocantins","Tocantins"]]">Brazil</option> 4597<option value="British Indian Ocean Territory" data-provinces="[]">British Indian Ocean Territory</option> 4598<option value="Virgin Islands, British" data-provinces="[]">British Virgin Islands</option> 4599<option value="Brunei" data-provinces="[]">Brunei</option> 4600<option value="Bulgaria" data-provinces="[]">Bulgaria</option> 4601<option value="Burkina Faso" data-provinces="[]">Burkina Faso</option> 4602<option value="Burundi" data-provinces="[]">Burundi</option> 4603<option value="Cambodia" data-provinces="[]">Cambodia</option> 4604<option value="Republic of Cameroon" data-provinces="[]">Cameroon</option> 4605<option value="Canada" data-provinces="[["Alberta","Alberta"],["British Columbia","British Columbia"],["Manitoba","Manitoba"],["New Brunswick","New Brunswick"],["Newfoundland and Labrador","Newfoundland and Labrador"],["Northwest Territories","Northwest Territories"],["Nova Scotia","Nova Scotia"],["Nunavut","Nunavut"],["Ontario","Ontario"],["Prince Edward Island","Prince Edward Island"],["Quebec","Quebec"],["Saskatchewan","Saskatchewan"],["Yukon","Yukon"]]">Canada</option> 4606<option value="Cape Verde" data-provinces="[]">Cape Verde</option> 4607<option value="Caribbean Netherlands" data-provinces="[]">Caribbean Netherlands</option> 4608<option value="Cayman Islands" data-provinces="[]">Cayman Islands</option> 4609<option value="Central African Republic" data-provinces="[]">Central African Republic</option> 4610<option value="Chad" data-provinces="[]">Chad</option> 4611<option value="Chile" data-provinces="[["Antofagasta","Antofagasta"],["AraucanÃa","AraucanÃa"],["Arica and Parinacota","
4611Arica y Parinacota"],["Atacama","Atacama"],["Aysén","Aysén"],["BiobÃo","BÃo BÃo"],["Coquimbo","Coquimbo"],["Los Lagos","Los Lagos"],["Los RÃos","Los RÃos"],["Magallanes","Magallanes Region"],["Maule","Maule"],["O'Higgins","Libertador General Bernardo OâHiggins"],["Santiago","Santiago Metropolitan"],["Tarapacá","Tarapacá"],["ValparaÃso","ValparaÃso"],["Ãuble","Ãuble"]]">Chile</option> 4612<option value="China" data-provinces="[["Anhui","Anhui"],["Beijing","Beijing"],["Chongqing","Chongqing"],["Fujian","Fujian"],["Gansu","Gansu"],["Guangdong","Guangdong"],["Guangxi","Guangxi"],["Guizhou","Guizhou"],["Hainan","Hainan"],["Hebei","Hebei"],["Heilongjiang","Heilongjiang"],["Henan","Henan"],["Hubei","Hubei"],["Hunan","Hunan"],["Inner Mongolia","Inner Mongolia"],["Jiangsu","Jiangsu"],["Jiangxi","Jiangxi"],["Jilin","Jilin"],["Liaoning","Liaoning"],["Ningxia","Ningxia"],["Qinghai","Qinghai"],["Shaanxi","Shaanxi"],["Shandong","Shandong"],["Shanghai","Shanghai"],["Shanxi","Shanxi"],["Sichuan","Sichuan"],["Tianjin","Tianjin"],["Xinjiang","Xinjiang"],["Xizang","Tibet"],["Yunnan","Yunnan"],["Zhejiang","Zhejiang"]]">China</option> 4613<option value="Christmas Island" data-provinces="[]">Christmas Island</option> 4614<option value="Cocos (Keeling) Islands" data-provinces="[]">Cocos (Keeling) Islands</option> 4615<option value="Colombia" data-provinces="[["Amazonas","Amazonas"],["Antioquia","Antioquia"],["Arauca","Arauca"],["Atlántico","Atlántico"],["Bogotá, D.C.","Capital District"],["BolÃvar","BolÃvar"],["Boyacá","Boyacá"],["Caldas","Caldas"],["Caquetá","Caquetá"],["Casanare","Casanare"],["Cauca","Cauca"],["Cesar","Cesar"],["Chocó","Chocó"],["Cundinamarca","Cundinamarca"],["Córdoba","Córdoba"],["GuainÃa","GuainÃa"],["Guaviare","Guaviare"],["Huila","Huila"],["La Guajira","La Guajira"],["Magdalena","Magdalena"],["Meta","Meta"],["Nariño","Nariño"],["Norte de Santander","Norte de Santander"],["Putumayo","Putumayo"],["QuindÃo","QuindÃo"],["Risaralda","Risaralda"],["San Andrés, Providencia y Santa Catalina","San Andrés \u0026 Providencia"],["Santander","Santander"],["Sucre","Sucre"],["Tolima","Tolima"],["Valle del Cauca","Valle del Cauca"],["Vaupés","Vaupés"],["Vichada","Vichada"]]">Colombia</option> 4616<option value="Comoros" data-provinces="[]">Comoros</option> 4617<option value="Congo" data-provinces="[]">Congo - Brazzaville</option> 4618<option value="Congo, The Democratic Republic Of The" data-provinces="[]">Congo - Kinshasa</option> 4619<option value="Cook Islands" data-provinces="[]">Cook Islands</option> 4620<option value="Costa Rica" data-provinces="[["Alajuela","Alajuela"],["Cartago","Cartago"],["Guanacaste","Guanacaste"],["Heredia","Heredia"],["Limón","Limón"],["Puntarenas","Puntarenas"],["San José","San José"]]">Costa Rica</option> 4621<option value="Croatia" data-provinces="[]">Croatia</option> 4622<option value="Curaçao" data-provinces="[]">Curaçao</option> 4623<option value="Cyprus" data-provinces="[]">Cyprus</option> 4624<option value="Czech Republic" data-provinces="[]">Czechia</option> 4625<option value="Côte d'Ivoire" data-provinces="[]">Côte dâIvoire</option> 4626<option value="Denmark" data-provinces="[]">Denmark</option> 4627<option value="Djibouti" data-provinces="[]">Djibouti</option> 4628<option value="Dominica" data-provinces="[]">Dominica</option> 4629<option value="Dominican Republic" data-provinces="[]">Dominican Republic</option> 4630<option value="Ecuador" data-provinces="[]">Ecuador</option> 4631<option value="Egypt" data-provinces="[["6th of October","6th of October"],["Al Sharqia","Al Sharqia"],["Alexandria","Alexandria"],["Aswan","Aswan"],["Asyut","Asyut"],["Beheira","Beheira"],["Beni Suef","Beni Suef"],["Cairo","Cairo"],["Dakahlia","Dakahlia"],["Damietta","Damietta"],["Faiyum","Faiyum"],["Gharbia","Gharbia"],["Giza","Giza"],["Helwan","Helwan"],["Ismailia","Ismailia"],["Kafr el-Sheikh","Kafr el-Sheikh"],["Luxor","Luxor"],["Matrouh","Matrouh"],["Minya","Minya"],["Monufia","Monufia"],["New Valley","New Valley"],["North Sinai","North Sinai"],["Port Said","Port Said"],["Qalyubia","Qalyubia"],["Qena","Qena"],["Red Sea","Red Sea"],["Sohag","Sohag"],["South Sinai","South Sinai"],["Suez","Suez"]]">Egypt</option> 4632<option value="El Salvador" data-provinces="[["Ahuachapán","Ahuachapán"],["Cabañas","Cabañas"],["Chalatenango","Chalatenango"],["Cuscatlán","Cuscatlán"],["La Libertad","La Libertad"],["La Paz","La Paz"],["La Unión","La Unión"],["Morazán","Morazán"],["San Miguel","San Miguel"],["San Salvador","San Salvador"],["San Vicente","San Vicente"],["Santa Ana","Santa Ana"],["Sonsonate","Sonsonate"],["Usulután","Usulután"]]">El Salvador</option> 4633<option value="Equatorial Guinea" data-provinces="[]">Equatorial Guinea</option> 4634<option value="Eritrea" data-provinces="[]">Eritrea</option> 4635<option value="Estonia" data-provinces="[]">Estonia</option> 4636<option value="Eswatini" data-provinces="[]">Eswatini</option> 4637<option value="Ethiopia" data-provinces="[]">Ethiopia</option> 4638<option value="Falkland Islands (Malvinas)" data-provinces="[]">Falkland Islands</option> 4639<option value="Faroe Islands" data-provinces="[]">Faroe Islands</option> 4640<option value="Fiji" data-provinces="[]">Fiji</option> 4641<option value="Finland" data-provinces="[]">Finland</option> 4642<option value="France" data-provinces="[]">France</option> 4643<option value="French Guiana" data-provinces="[]">French Guiana</option> 4644<option value="French Polynesia" data-provinces="[]">French Polynesia</option> 4645<option value="French Southern Territories" data-provinces="[]">French Southern Territories</option> 4646<option value="Gabon" data-provinces="[]">Gabon</option> 4647<option value="Gambia" data-provinces="[]">Gambia</option> 4648<option value="Georgia" data-provinces="[]">Georgia</option> 4649<option value="Germany" data-provinces="[]">Germany</option> 4650<option value="Ghana" data-provinces="[]">Ghana</option> 4651<option value="Gibraltar" data-provinces="[]">Gibraltar</option> 4652<option value="Greece" data-provinces="[]">Greece</option> 4653<option value="Greenland" data-provinces="[]">Greenland</option> 4654<option value="Grenada" data-provinces="[]">Grenada</option> 4655<option value="Guadeloupe" data-provinces="[]">Guadeloupe</option> 4656<option value="Guatemala" data-provinces="[["Alta Verapaz","Alta Verapaz"],["Baja Verapaz","Baja Verapaz"],["Chimaltenango","Chimaltenango"],["Chiquimula","Chiquimula"],["El Progreso","El Progreso"],["Escuintla","Escuintla"],["Guatemala","Guatemala"],["Huehuetenango","Huehuetenango"],["Izabal","Izabal"],["Jalapa","Jalapa"],["Jutiapa","Jutiapa"],["Petén","Petén"],["Quetzaltenango","Quetzaltenango"],["Quiché","Quiché"],["Retalhuleu","Retalhuleu"],["Sacatepéquez","Sacatepéquez"],["San Marcos","San Marcos"],["Santa Rosa","Santa Rosa"],["Sololá","Sololá"],["Suchitepéquez","Suchitepéquez"],["Totonicapán","Totonicapán"],["Zacapa","Zacapa"]]">Guatemala</option> 4657<option value="Guernsey" data-provinces="[]">Guernsey</option> 4658<option value="Guinea" data-provinces="[]">Guinea</option> 4659<option value="Guinea Bissau" data-provinces="[]">Guinea-Bissau</option> 4660<option value="Guyana" data-provinces="[]">Guyana</option> 4661<option value="Haiti" data-provinces="[]">Haiti</option> 4662<option value="Honduras" data-provinces="[]">Honduras</option> 4663<option value="Hong Kong" data-provinces="[["Hong Kong Island","Hong Kong Island"],["Kowloon","Kowloon"],["New Territories","New Territories"]]">Hong Kong SAR</option> 4664<option value="Hungary" data-provinces="[]">Hungary</option> 4665<option value="Iceland" data-provinces="[]">Iceland</option> 4666<option value="India" data-provinces="[["Andaman and Nicobar Islands","Andaman and Nicobar Islands"],["Andhra Pradesh","Andhra Pradesh"],["Arunachal Pradesh","Arunachal Pradesh"],["Assam","Assam"],["Bihar","Bihar"],["Chandigarh","Chandigarh"],["Chhattisgarh","Chhattisgarh"],["Dadra and Nagar Haveli","Dadra and Nagar Haveli"],["Daman and Diu","Daman and Diu"],["Delhi","Delhi"],["Goa","Goa"],["Gujarat","Gujarat"],["Haryana","Haryana"],["Himachal Pradesh","Himachal Pradesh"],["Jammu and Kashmir","Jammu and Kashmir"],["Jharkhand","Jharkhand"],["Karnataka","Karnataka"],["Kerala","Kerala"],["Ladakh","Ladakh"],["Lakshadweep","Lakshadweep"],["Madhya Pradesh","Madhya Pradesh"],["Maharashtra","Maharashtra"],["Manipur","Manipur"],["Meghalaya","Meghalaya"],["Mizoram","Mizoram"],["Nagaland","Nagaland"],["Odisha","Odisha"],["Puducherry","Puducherry"],["Punjab","Punjab"],["Rajasthan","Rajasthan"],["Sikkim","Sikkim"],["Tamil Nadu","Tamil Nadu"],["Telangana","Telangana"],["Tripura","Tripura"],["Uttar Pradesh","Uttar Pradesh"],["Uttarakhand","Uttarakhand"],["West Bengal","West Bengal"]]">India</option> 4667<option value="Indonesia" data-provinces="[["Aceh","Aceh"],["Bali","Bali"],["Bangka Belitung","BangkaâBelitung Islands"],["Banten","Banten"],["Bengkulu","Bengkulu"],["Gorontalo","Gorontalo"],["Jakarta","Jakarta"],["Jambi","Jambi"],["Jawa Barat","West Java"],["Jawa Tengah","Central Java"],["Jawa Timur","East Java"],["Kalimantan Barat","West Kalimantan"],["Kalimantan Selatan","South Kalimantan"],["Kalimantan Tengah","Central Kalimantan"],["Kalimantan Timur","East Kalimantan"],["Kalimantan Utara","North Kalimantan"],["Kepulauan Riau","Riau Islands"],["
4667Lampung","Lampung"],["Maluku","Maluku"],["Maluku Utara","North Maluku"],["North Sumatra","North Sumatra"],["Nusa Tenggara Barat","West Nusa Tenggara"],["Nusa Tenggara Timur","East Nusa Tenggara"],["Papua","Papua"],["Papua Barat","West Papua"],["Riau","Riau"],["South Sumatra","South Sumatra"],["Sulawesi Barat","West Sulawesi"],["Sulawesi Selatan","South Sulawesi"],["Sulawesi Tengah","Central Sulawesi"],["Sulawesi Tenggara","Southeast Sulawesi"],["Sulawesi Utara","North Sulawesi"],["West Sumatra","West Sumatra"],["Yogyakarta","Yogyakarta"]]">Indonesia</option> 4668<option value="Iraq" data-provinces="[]">Iraq</option> 4669<option value="Ireland" data-provinces="[["Carlow","Carlow"],["Cavan","Cavan"],["Clare","Clare"],["Cork","Cork"],["Donegal","Donegal"],["Dublin","Dublin"],["Galway","Galway"],["Kerry","Kerry"],["Kildare","Kildare"],["Kilkenny","Kilkenny"],["Laois","Laois"],["Leitrim","Leitrim"],["Limerick","Limerick"],["Longford","Longford"],["Louth","Louth"],["Mayo","Mayo"],["Meath","Meath"],["Monaghan","Monaghan"],["Offaly","Offaly"],["Roscommon","Roscommon"],["Sligo","Sligo"],["Tipperary","Tipperary"],["Waterford","Waterford"],["Westmeath","Westmeath"],["Wexford","Wexford"],["Wicklow","Wicklow"]]">Ireland</option> 4670<option value="Isle Of Man" data-provinces="[]">Isle of Man</option> 4671<option value="Israel" data-provinces="[]">Israel</option> 4672<option value="Italy" data-provinces="[["Agrigento","Agrigento"],["Alessandria","Alessandria"],["Ancona","Ancona"],["Aosta","Aosta Valley"],["Arezzo","Arezzo"],["Ascoli Piceno","Ascoli Piceno"],["Asti","Asti"],["Avellino","Avellino"],["Bari","Bari"],["Barletta-Andria-Trani","Barletta-Andria-Trani"],["Belluno","Belluno"],["Benevento","Benevento"],["Bergamo","Bergamo"],["Biella","Biella"],["Bologna","Bologna"],["Bolzano","South Tyrol"],["Brescia","Brescia"],["Brindisi","Brindisi"],["Cagliari","Cagliari"],["Caltanissetta","Caltanissetta"],["Campobasso","Campobasso"],["Caserta","Caserta"],["Catania","Catania"],["Catanzaro","Catanzaro"],["Chieti","Chieti"],["Como","Como"],["Cosenza","Cosenza"],["Cremona","Cremona"],["Crotone","Crotone"],["Cuneo","Cuneo"],["Enna","Enna"],["Fermo","Fermo"],["Ferrara","Ferrara"],["Firenze","Florence"],["Foggia","Foggia"],["Forlì-Cesena","Forlì-Cesena"],["Frosinone","Frosinone"],["Gallura Nord-Est Sardegna","Gallura Nord-Est Sardegna"],["Genova","Genoa"],["Gorizia","Gorizia"],["Grosseto","Grosseto"],["Imperia","Imperia"],["Isernia","Isernia"],["L'Aquila","LâAquila"],["La Spezia","La Spezia"],["Latina","Latina"],["Lecce","Lecce"],["Lecco","Lecco"],["Livorno","Livorno"],["Lodi","Lodi"],["Lucca","Lucca"],["Macerata","Macerata"],["Mantova","Mantua"],["Massa-Carrara","Massa and Carrara"],["Matera","Matera"],["Medio Campidano","Medio Campidano"],["Messina","Messina"],["Milano","Milan"],["Modena","Modena"],["Monza e Brianza","Monza and Brianza"],["Napoli","Naples"],["Novara","Novara"],["Nuoro","Nuoro"],["Ogliastra","Ogliastra"],["Oristano","Oristano"],["Padova","Padua"],["Palermo","Palermo"],["Parma","Parma"],["Pavia","Pavia"],["Perugia","Perugia"],["Pesaro e Urbino","Pesaro and Urbino"],["Pescara","Pescara"],["Piacenza","Piacenza"],["Pisa","Pisa"],["Pistoia","Pistoia"],["Pordenone","Pordenone"],["Potenza","Potenza"],["Prato","Prato"],["Ragusa","Ragusa"],["Ravenna","Ravenna"],["Reggio Calabria","Reggio Calabria"],["Reggio Emilia","Reggio Emilia"],["Rieti","Rieti"],["Rimini","Rimini"],["Roma","Rome"],["Rovigo","Rovigo"],["Salerno","Salerno"],["Sassari","Sassari"],["Savona","Savona"],["Siena","Siena"],["Siracusa","Syracuse"],["Sondrio","Sondrio"],["Sulcis Iglesiente","Sulcis Iglesiente"],["Taranto","Taranto"],["Teramo","Teramo"],["Terni","Terni"],["Torino","Turin"],["Trapani","Trapani"],["Trento","Trentino"],["Treviso","Treviso"],["Trieste","Trieste"],["Udine","Udine"],["Varese","Varese"],["Venezia","Venice"],["Verbano-Cusio-Ossola","Verbano-Cusio-Ossola"],["Vercelli","Vercelli"],["Verona","Verona"],["Vibo Valentia","Vibo Valentia"],["Vicenza","Vicenza"],["Viterbo","Viterbo"]]">Italy</option> 4673<option value="Jamaica" data-provinces="[]">Jamaica</option> 4674<option value="Japan" data-provinces="[["Aichi","Aichi"],["Akita","Akita"],["Aomori","Aomori"],["Chiba","Chiba"],["Ehime","Ehime"],["Fukui","Fukui"],["Fukuoka","Fukuoka"],["Fukushima","Fukushima"],["Gifu","Gifu"],["Gunma","Gunma"],["Hiroshima","Hiroshima"],["HokkaidÅ","Hokkaido"],["HyÅgo","Hyogo"],["Ibaraki","Ibaraki"],["Ishikawa","Ishikawa"],["Iwate","Iwate"],["Kagawa","Kagawa"],["Kagoshima","Kagoshima"],["Kanagawa","Kanagawa"],["Kumamoto","Kumamoto"],["KyÅto","Kyoto"],["KÅchi","Kochi"],["Mie","Mie"],["Miyagi","Miyagi"],["Miyazaki","Miyazaki"],["Nagano","Nagano"],["Nagasaki","Nagasaki"],["Nara","Nara"],["Niigata","Niigata"],["Okayama","Okayama"],["Okinawa","Okinawa"],["Saga","Saga"],["Saitama","Saitama"],["Shiga","Shiga"],["Shimane","Shimane"],["Shizuoka","Shizuoka"],["Tochigi","Tochigi"],["Tokushima","Tokushima"],["Tottori","Tottori"],["Toyama","Toyama"],["TÅkyÅ","Tokyo"],["Wakayama","Wakayama"],["Yamagata","Yamagata"],["Yamaguchi","Yamaguchi"],["Yamanashi","Yamanashi"],["Åita","Oita"],["Åsaka","Osaka"]]">Japan</option> 4675<option value="Jersey" data-provinces="[]">Jersey</option> 4676<option value="Jordan" data-provinces="[]">Jordan</option> 4677<option value="Kazakhstan" data-provinces="[]">Kazakhstan</option> 4678<option value="Kenya" data-provinces="[]">Kenya</option> 4679<option value="Kiribati" data-provinces="[]">Kiribati</option> 4680<option value="Kosovo" data-provinces="[]">Kosovo</option> 4681<option value="Kuwait" data-provinces="[["Al Ahmadi","Al Ahmadi"],["Al Asimah","Al Asimah"],["Al Farwaniyah","Al Farwaniyah"],["Al Jahra","Al Jahra"],["Hawalli","Hawalli"],["Mubarak Al-Kabeer","Mubarak Al-Kabeer"]]">Kuwait</option> 4682<option value="Kyrgyzstan" data-provinces="[]">Kyrgyzstan</option> 4683<option value="Lao People's Democratic Republic" data-provinces="[]">Laos</option> 4684<option value="Latvia" data-provinces="[]">Latvia</option> 4685<option value="Lebanon" data-provinces="[]">Lebanon</option> 4686<option value="Lesotho" data-provinces="[]">Lesotho</option> 4687<option value="Liberia" data-provinces="[]">Liberia</option> 4688<option value="Libyan Arab Jamahiriya" data-provinces="[]">Libya</option> 4689<option value="Liechtenstein" data-provinces="[]">Liechtenstein</option> 4690<option value="Lithuania" data-provinces="[]">Lithuania</option> 4691<option value="Luxembourg" data-provinces="[]">Luxembourg</option> 4692<option value="Macao" data-provinces="[]">Macao SAR</option>
4693<option value="Madagascar" data-provinces="[]">Madagascar</option> 4694<option value="Malawi" data-provinces="[]">Malawi</option> 4695<option value="Malaysia" data-provinces="[["Johor","Johor"],["Kedah","Kedah"],["Kelantan","Kelantan"],["Kuala Lumpur","Kuala Lumpur"],["Labuan","Labuan"],["Melaka","Malacca"],["Negeri Sembilan","Negeri Sembilan"],["Pahang","Pahang"],["Penang","Penang"],["Perak","Perak"],["Perlis","Perlis"],["Putrajaya","Putrajaya"],["Sabah","Sabah"],["Sarawak","Sarawak"],["Selangor","Selangor"],["Terengganu","Terengganu"]]">Malaysia</option> 4696<option value="Maldives" data-provinces="[]">Maldives</option> 4697<option value="Mali" data-provinces="[]">Mali</option> 4698<option value="Malta" data-provinces="[]">Malta</option> 4699<option value="Martinique" data-provinces="[]">Martinique</option> 4700<option value="Mauritania" data-provinces="[]">Mauritania</option> 4701<option value="Mauritius" data-provinces="[]">Mauritius</option> 4702<option value="Mayotte" data-provinces="[]">Mayotte</option> 4703<option value="Mexico" data-provinces="[["Aguascalientes","Aguascalientes"],["Baja California","Baja California"],["Baja California Sur","Baja California Sur"],["Campeche","Campeche"],["Chiapas","Chiapas"],["Chihuahua","Chihuahua"],["Ciudad de México","Ciudad de Mexico"],["Coahuila","Coahuila"],["Colima","Colima"],["Durango","Durango"],["Guanajuato","Guanajuato"],["Guerrero","Guerrero"],["Hidalgo","Hidalgo"],["Jalisco","Jalisco"],["Michoacán","Michoacán"],["Morelos","Morelos"],["México","Mexico State"],["Nayarit","Nayarit"],["Nuevo León","Nuevo León"],["Oaxaca","Oaxaca"],["Puebla","Puebla"],["Querétaro","Querétaro"],["Quintana Roo","Quintana Roo"],["San Luis PotosÃ","San Luis PotosÃ"],["Sinaloa","Sinaloa"],["Sonora","Sonora"],["Tabasco","Tabasco"],["Tamaulipas","Tamaulipas"],["Tlaxcala","Tlaxcala"],["Veracruz","Veracruz"],["Yucatán","Yucatán"],["Zacatecas","Zacatecas"]]">Mexico</option> 4704<option value="Moldova, Republic of" data-provinces="[]">Moldova</option> 4705<option value="Monaco" data-provinces="[]">Monaco</option> 4706<option value="Mongolia" data-provinces="[]">Mongolia</option> 4707<option value="Montenegro" data-provinces="[]">Montenegro</option> 4708<option value="Montserrat" data-provinces="[]">Montserrat</option> 4709<option value="Morocco" data-provinces="[]">Morocco</option> 4710<option value="Mozambique" data-provinces="[]">Mozambique</option> 4711<option value="Myanmar" data-provinces="[]">Myanmar (Burma)</option> 4712<option value="Namibia" data-provinces="[]">Namibia</option> 4713<option value="Nauru" data-provinces="[]">Nauru</option> 4714<option value="Nepal" data-provinces="[]">Nepal</option> 4715<option value="Netherlands" data-provinces="[]">Netherlands</option> 4716<option value="New Caledonia" data-provinces="[]">New Caledonia</option> 4717<option value="New Zealand" data-provinces="[["Auckland","Auckland"],["Bay of Plenty","Bay of Plenty"],["Canterbury","Canterbury"],["Chatham Islands","Chatham Islands"],["Gisborne","Gisborne"],["Hawke's Bay","Hawkeâs Bay"],["Manawatu-Wanganui","ManawatÅ«-Whanganui"],["Marlborough","Marlborough"],["Nelson","Nelson"],["Northland","Northland"],["Otago","Otago"],["Southland","Southland"],["Taranaki","Taranaki"],["Tasman","Tasman"],["Waikato","Waikato"],["Wellington","Wellington"],["West Coast","West Coast"]]">New Zealand</option> 4718<option value="Nicaragua" data-provinces="[]">Nicaragua</option> 4719<option value="Niger" data-provinces="[]">Niger</option> 4720<option value="Nigeria" data-provinces="[["Abia","Abia"],["Abuja Federal Capital Territory","Federal Capital Territory"],["Adamawa","Adamawa"],["Akwa Ibom","Akwa Ibom"],["Anambra","Anambra"],["Bauchi","Bauchi"],["Bayelsa","Bayelsa"],["Benue","Benue"],["Borno","Borno"],["Cross River","Cross River"],["Delta","Delta"],["Ebonyi","Ebonyi"],["Edo","Edo"],["Ekiti","Ekiti"],["Enugu","Enugu"],["Gombe","Gombe"],["Imo","Imo"],["Jigawa","Jigawa"],["Kaduna","Kaduna"],["Kano","Kano"],["Katsina","Katsina"],["Kebbi","Kebbi"],["Kogi","Kogi"],["Kwara","Kwara"],["Lagos","Lagos"],["Nasarawa","Nasarawa"],["Niger","Niger"],["Ogun","Ogun"],["Ondo","Ondo"],["Osun","Osun"],["Oyo","Oyo"],["Plateau","Plateau"],["Rivers","Rivers"],["Sokoto","Sokoto"],["Taraba","Taraba"],["Yobe","Yobe"],["Zamfara","Zamfara"]]">Nigeria</option> 4721<option value="Niue" data-provinces="[]">Niue</option> 4722<option value="Norfolk Island" data-provinces="[]">Norfolk Island</option> 4723<option value="North Macedonia" data-provinces="[]">North Macedonia</option> 4724<option value="Norway" data-provinces="[]">Norway</option> 4725<option value="Oman" data-provinces="[]">Oman</option> 4726<option value="Pakistan" data-provinces="[]">Pakistan</option> 4727<option value="Palestinian Territory, Occupied" data-provinces="[]">Palestinian Territories</option> 4728<option value="Panama" data-provinces="[["Bocas del Toro","Bocas del Toro"],["ChiriquÃ","ChiriquÃ"],["Coclé","Coclé"],["Colón","Colón"],["Darién","Darién"],["Emberá","Emberá"],["Herrera","Herrera"],["Kuna Yala","Guna Yala"],["Los Santos","Los Santos"],["Ngöbe-Buglé","Ngöbe-Buglé"],["Panamá","Panamá"],["Panamá Oeste","West Panamá"],["Veraguas","Veraguas"]]">Panama</option> 4729<option value="Papua New Guinea" data-provinces="[]">Papua New Guinea</option> 4730<option value="Paraguay" data-provinces="[]">Paraguay</option> 4731<option value="Peru" data-provinces="[["Amazonas","Amazonas"],["ApurÃmac","ApurÃmac"],["Arequipa","Arequipa"],["Ayacucho","Ayacucho"],["Cajamarca","Cajamarca"],["Callao","El Callao"],["Cuzco","Cusco"],["Huancavelica","Huancavelica"],["Huánuco","Huánuco"],["Ica","Ica"],["JunÃn","JunÃn"],["La Libertad","La Libertad"],["Lambayeque","Lambayeque"],["Lima (departamento)","Lima (Department)"],["Lima (provincia)","Lima (Metropolitan)"],["Loreto","Loreto"],["Madre de Dios","Madre de Dios"],["Moquegua","Moquegua"],["Pasco","Pasco"],["Piura","Piura"],["Puno","Puno"],["San MartÃn","San MartÃn"],["Tacna","Tacna"],["Tumbes","Tumbes"],["Ucayali","Ucayali"],["Ãncash","Ancash"]]">
4731Peru</option> 4732<option value="Philippines" data-provinces="[["Abra","Abra"],["Agusan del Norte","Agusan del Norte"],["Agusan del Sur","Agusan del Sur"],["Aklan","Aklan"],["Albay","Albay"],["Antique","Antique"],["Apayao","Apayao"],["Aurora","Aurora"],["Basilan","Basilan"],["Bataan","Bataan"],["Batanes","Batanes"],["Batangas","Batangas"],["Benguet","Benguet"],["Biliran","Biliran"],["Bohol","Bohol"],["Bukidnon","Bukidnon"],["Bulacan","Bulacan"],["Cagayan","Cagayan"],["Camarines Norte","Camarines Norte"],["Camarines Sur","Camarines Sur"],["Camiguin","Camiguin"],["Capiz","Capiz"],["Catanduanes","Catanduanes"],["Cavite","Cavite"],["Cebu","Cebu"],["Cotabato","Cotabato"],["Davao Occidental","Davao Occidental"],["Davao Oriental","Davao Oriental"],["Davao de Oro","Compostela Valley"],["Davao del Norte","Davao del Norte"],["Davao del Sur","Davao del Sur"],["Dinagat Islands","Dinagat Islands"],["Eastern Samar","Eastern Samar"],["Guimaras","Guimaras"],["Ifugao","Ifugao"],["Ilocos Norte","Ilocos Norte"],["Ilocos Sur","Ilocos Sur"],["Iloilo","Iloilo"],["Isabela","Isabela"],["Kalinga","Kalinga"],["La Union","La Union"],["Laguna","Laguna"],["Lanao del Norte","Lanao del Norte"],["Lanao del Sur","Lanao del Sur"],["Leyte","Leyte"],["Maguindanao","Maguindanao"],["Marinduque","Marinduque"],["Masbate","Masbate"],["Metro Manila","Metro Manila"],["Misamis Occidental","Misamis Occidental"],["Misamis Oriental","Misamis Oriental"],["Mountain Province","Mountain"],["Negros Occidental","Negros Occidental"],["Negros Oriental","Negros Oriental"],["Northern Samar","Northern Samar"],["Nueva Ecija","Nueva Ecija"],["Nueva Vizcaya","Nueva Vizcaya"],["Occidental Mindoro","Occidental Mindoro"],["Oriental Mindoro","Oriental Mindoro"],["Palawan","Palawan"],["Pampanga","Pampanga"],["Pangasinan","Pangasinan"],["Quezon","Quezon"],["Quirino","Quirino"],["Rizal","Rizal"],["Romblon","Romblon"],["Samar","Samar"],["Sarangani","Sarangani"],["Siquijor","Siquijor"],["Sorsogon","Sorsogon"],["South Cotabato","South Cotabato"],["Southern Leyte","Southern Leyte"],["Sultan Kudarat","Sultan Kudarat"],["Sulu","Sulu"],["Surigao del Norte","Surigao del Norte"],["Surigao del Sur","Surigao del Sur"],["Tarlac","Tarlac"],["Tawi-Tawi","Tawi-Tawi"],["Zambales","Zambales"],["Zamboanga Sibugay","Zamboanga Sibugay"],["Zamboanga del Norte","Zamboanga del Norte"],["Zamboanga del Sur","Zamboanga del Sur"]]">Philippines</option> 4733<option value="Pitcairn" data-provinces="[]">Pitcairn Islands</option> 4734<option value="Poland" data-provinces="[]">Poland</option> 4735<option value="Portugal" data-provinces="[["Aveiro","Aveiro"],["Açores","Azores"],["Beja","Beja"],["Braga","Braga"],["Bragança","Bragança"],["Castelo Branco","Castelo Branco"],["Coimbra","Coimbra"],["Faro","Faro"],["Guarda","Guarda"],["Leiria","Leiria"],["Lisboa","Lisbon"],["Madeira","Madeira"],["Portalegre","Portalegre"],["Porto","Porto"],["Santarém","Santarém"],["Setúbal","Setúbal"],["Viana do Castelo","Viana do Castelo"],["Vila Real","Vila Real"],["Viseu","Viseu"],["Ãvora","Ãvora"]]">Portugal</option> 4736<option value="Qatar" data-provinces="[]">Qatar</option> 4737<option value="Reunion" data-provinces="[]">Réunion</option> 4738<option value="Romania" data-provinces="[["Alba","Alba"],["Arad","Arad"],["ArgeÈ","ArgeÈ"],["BacÄu","BacÄu"],["Bihor","Bihor"],["BistriÈa-NÄsÄud","BistriÅ£a-NÄsÄud"],["BotoÈani","BotoÅani"],["BraÈov","BraÅov"],["BrÄila","BrÄila"],["BucureÈti","Bucharest"],["BuzÄu","BuzÄu"],["CaraÈ-Severin","CaraÈ-Severin"],["Cluj","Cluj"],["ConstanÈa","ConstanÈa"],["Covasna","Covasna"],["CÄlÄraÈi","CÄlÄraÈi"],["Dolj","Dolj"],["DâmboviÈa","DâmboviÈa"],["GalaÈi","GalaÈi"],["Giurgiu","Giurgiu"],["Gorj","Gorj"],["Harghita","Harghita"],["Hunedoara","Hunedoara"],["IalomiÈa","IalomiÈa"],["IaÈi","IaÈi"],["Ilfov","Ilfov"],["MaramureÈ","MaramureÅ"],["MehedinÈi","MehedinÈi"],["MureÈ","MureÅ"],["NeamÈ","NeamÅ£"],["Olt","Olt"],["Prahova","Prahova"],["Satu Mare","Satu Mare"],["Sibiu","Sibiu"],["Suceava","Suceava"],["SÄlaj","SÄlaj"],["Teleorman","Teleorman"],["TimiÈ","TimiÈ"],["Tulcea","Tulcea"],["Vaslui","Vaslui"],["Vrancea","Vrancea"],["Vâlcea","Vâlcea"]]">Romania</option> 4739<option value="Russia" data-provinces="[["Altai Krai","Altai Krai"],["Altai Republic","Altai"],["Amur Oblast","Amur"],["Arkhangelsk Oblast","Arkhangelsk"],["Astrakhan Oblast","Astrakhan"],["Belgorod Oblast","Belgorod"],["Bryansk Oblast","Bryansk"],["Chechen Republic","Chechen"],["Chelyabinsk Oblast","Chelyabinsk"],["Chukotka Autonomous Okrug","Chukotka Okrug"],["Chuvash Republic","Chuvash"],["Irkutsk Oblast","Irkutsk"],["Ivanovo Oblast","Ivanovo"],["Jewish Autonomous Oblast","Jewish"],["Kabardino-Balkarian Republic","Kabardino-Balkar"],["Kaliningrad Oblast","Kaliningrad"],["Kaluga Oblast","Kaluga"],["Kamchatka Krai","Kamchatka Krai"],["KarachayâCherkess Republic","Karachay-Cherkess"],["Kemerovo Oblast","Kemerovo"],["Khabarovsk Krai","Khabarovsk Krai"],["Khanty-Mansi Autonomous Okrug","Khanty-Mansi"],["Kirov Oblast","Kirov"],["Komi Republic","Komi"],["Kostroma Oblast","Kostroma"],["Krasnodar Krai","Krasnodar Krai"],["Krasnoyarsk Krai","Krasnoyarsk Krai"],["Kurgan Oblast","Kurgan"],["Kursk Oblast","Kursk"],["Leningrad Oblast","Leningrad"],["Lipetsk Oblast","Lipetsk"],["Magadan Oblast","Magadan"],["Mari El Republic","Mari El"],["Moscow","Moscow"],["Moscow Oblast","Moscow Province"],["Murmansk Oblast","Murmansk"],["Nizhny Novgorod Oblast","Nizhny Novgorod"],["Novgorod Oblast","Novgorod"],["Novosibirsk Oblast","Novosibirsk"],["Omsk Oblast","Omsk"],["Orenburg Oblast","Orenburg"],["Oryol Oblast","Oryol"],["Penza Oblast","Penza"],["Perm Krai","Perm Krai"],["Primorsky Krai","Primorsky Krai"],["Pskov Oblast","Pskov"],["Republic of Adygeya","Adygea"],["Republic of Bashkortostan","Bashkortostan"],["Republic of Buryatia","Buryat"],["Republic of Dagestan","Dagestan"],["Republic of Ingushetia","Ingushetia"],["Republic of Kalmykia","Kalmykia"],["Republic of Karelia","Karelia"],["Republic of Khakassia","Khakassia"],["Republic of Mordovia","Mordovia"],["Republic of North OssetiaâAlania","North Ossetia-Alania"],["Republic of Tatarstan","Tatarstan"],["Rostov Oblast","Rostov"],["Ryazan Oblast","Ryazan"],["Saint Petersburg","Saint Petersburg"],["Sakha Republic (Yakutia)","Sakha"],["Sakhalin Oblast","Sakhalin"],["Samara Oblast","Samara"],["Saratov Oblast","Saratov"],["Smolensk Oblast","Smolensk"],["Stavropol Krai","Stavropol Krai"],["Sverdlovsk Oblast","Sverdlovsk"],["Tambov Oblast","Tambov"],["Tomsk Oblast","Tomsk"],["Tula Oblast","Tula"],["Tver Oblast","Tver"],["Tyumen Oblast","Tyumen"],["Tyva Republic","Tuva"],["Udmurtia","Udmurt"],["Ulyanovsk Oblast","Ulyanovsk"],["Vladimir Oblast","Vladimir"],["Volgograd Oblast","Volgograd"],["Vologda Oblast","Vologda"],["Voronezh Oblast","Voronezh"],["Yamalo-Nenets Autonomous Okrug","Yamalo-Nenets Okrug"],["Yaroslavl Oblast","Yaroslavl"],["Zabaykalsky Krai","Zabaykalsky Krai"]]">Russia</option> 4740<option value="Rwanda" data-provinces="[]">Rwanda</option> 4741<option value="Samoa" data-provinces="[]">Samoa</option> 4742<option value="San Marino" data-provinces="[]">San Marino</option> 4743<option value="Sao Tome And Principe" data-provinces="[]">São Tomé & PrÃncipe</option> 4744<option value="Saudi Arabia" data-provinces="[]">Saudi Arabia</option> 4745<option value="Senegal" data-provinces="[]">Senegal</option> 4746<option value="Serbia" data-provinces="[]">Serbia</option> 4747<option value="Seychelles" data-provinces="[]">Seychelles</option> 4748<option value="Sierra Leone" data-provinces="[]">Sierra Leone</option> 4749<option value="Singapore" data-provinces="[]">Singapore</option> 4750<option value="Sint Maarten" data-provinces="[]">Sint Maarten</option> 4751<option value="Slovakia" data-provinces="[]">Slovakia</option> 4752<option value="Slovenia" data-provinces="[]">Slovenia</option> 4753<option value="Solomon Islands" data-provinces="[]">Solomon Islands</option> 4754<option value="Somalia" data-provinces="[]">Somalia</option> 4755<option value="South Africa" data-provinces="[["Eastern Cape","Eastern Cape"],["Free State","Free State"],["Gauteng","Gauteng"],["KwaZulu-Natal","KwaZulu-Natal"],["Limpopo","Limpopo"],["Mpumalanga","Mpumalanga"],["North West","North West"],["Northern Cape","Northern Cape"],["Western Cape","Western Cape"]]">South Africa</option> 4756<option value="South Georgia And The South Sandwich Islands" data-provinces="[]">South Georgia & South Sandwich Islands</option> 4757<option value="South Korea" data-provinces="[["Busan","Busan"],["Chungbuk","North Chungcheong"],["Chungnam","South Chungcheong"],["Daegu","Daegu"],["Daejeon","Daejeon"],["Gangwon","Gangwon"],["Gwangju","Gwangju City"],["Gyeongbuk","North Gyeongsang"],["Gyeonggi","Gyeonggi"],["Gyeongnam","South Gyeongsang"],["Incheon","Incheon"],["Jeju","Jeju"],["Jeonbuk","North Jeolla"],["Jeonnam","South Jeolla"],["Sejong","Sejong"],["Seoul","Seoul"],["Ulsan","Ulsan"]]">South Korea</option> 4758<option value="South Sudan" data-provinces="[]">South Sudan</option> 4759<option value="Spain" data-provinces="[["A Coruña","A Coruña"],["Albacete","Albacete"],["Alicante","Alicante"],["AlmerÃa","AlmerÃa"],["Asturias","Asturias Province"],["Badajoz","Badajoz"],["Balears","Balears Province"],["Barcelona","Barcelona"],["Burgos","Burgos"],["Cantabria","Cantabria Province"],["Castellón","Castellón"],["Ceuta","Ceuta"],["Ciudad Real","Ciudad Real"],["Cuenca","Cuenca"],["Cáceres","Cáceres"],["Cádiz","Cádiz"],["Córdoba","Córdoba"],["Girona","Girona"],["Granada","Granada"],["Guadalajara","Guadalajara"],["
4759Guipúzcoa","Gipuzkoa"],["Huelva","Huelva"],["Huesca","Huesca"],["Jaén","Jaén"],["La Rioja","La Rioja Province"],["Las Palmas","Las Palmas"],["León","León"],["Lleida","Lleida"],["Lugo","Lugo"],["Madrid","Madrid Province"],["Melilla","Melilla"],["Murcia","Murcia"],["Málaga","Málaga"],["Navarra","Navarra"],["Ourense","Ourense"],["Palencia","Palencia"],["Pontevedra","Pontevedra"],["Salamanca","Salamanca"],["Santa Cruz de Tenerife","Santa Cruz de Tenerife"],["Segovia","Segovia"],["Sevilla","Seville"],["Soria","Soria"],["Tarragona","Tarragona"],["Teruel","Teruel"],["Toledo","Toledo"],["Valencia","Valencia"],["Valladolid","Valladolid"],["Vizcaya","Biscay"],["Zamora","Zamora"],["Zaragoza","Zaragoza"],["Ãlava","Ãlava"],["Ãvila","Ãvila"]]">Spain</option> 4760<option value="Sri Lanka" data-provinces="[]">Sri Lanka</option> 4761<option value="Saint Barthélemy" data-provinces="[]">St. Barthélemy</option> 4762<option value="Saint Helena" data-provinces="[]">St. Helena</option> 4763<option value="Saint Kitts And Nevis" data-provinces="[]">St. Kitts & Nevis</option> 4764<option value="Saint Lucia" data-provinces="[]">St. Lucia</option> 4765<option value="Saint Martin" data-provinces="[]">St. Martin</option> 4766<option value="Saint Pierre And Miquelon" data-provinces="[]">St. Pierre & Miquelon</option> 4767<option value="St. Vincent" data-provinces="[]">St. Vincent & Grenadines</option> 4768<option value="Sudan" data-provinces="[]">Sudan</option> 4769<option value="Suriname" data-provinces="[]">Suriname</option> 4770<option value="Svalbard And Jan Mayen" data-provinces="[]">Svalbard & Jan Mayen</option> 4771<option value="Sweden" data-provinces="[]">Sweden</option> 4772<option value="Switzerland" data-provinces="[]">Switzerland</option> 4773<option value="Taiwan" data-provinces="[]">Taiwan</option> 4774<option value="Tajikistan" data-provinces="[]">Tajikistan</option> 4775<option value="Tanzania, United Republic Of" data-provinces="[]">Tanzania</option> 4776<option value="Thailand" data-provinces="[["Amnat Charoen","Amnat Charoen"],["Ang Thong","Ang Thong"],["Bangkok","Bangkok"],["Bueng Kan","Bueng Kan"],["Buriram","Buri Ram"],["Chachoengsao","Chachoengsao"],["Chai Nat","Chai Nat"],["Chaiyaphum","Chaiyaphum"],["Chanthaburi","Chanthaburi"],["Chiang Mai","Chiang Mai"],["Chiang Rai","Chiang Rai"],["Chon Buri","Chon Buri"],["Chumphon","Chumphon"],["Kalasin","Kalasin"],["Kamphaeng Phet","Kamphaeng Phet"],["Kanchanaburi","Kanchanaburi"],["Khon Kaen","Khon Kaen"],["Krabi","Krabi"],["Lampang","Lampang"],["Lamphun","Lamphun"],["Loei","Loei"],["Lopburi","Lopburi"],["Mae Hong Son","Mae Hong Son"],["Maha Sarakham","Maha Sarakham"],["Mukdahan","Mukdahan"],["Nakhon Nayok","Nakhon Nayok"],["Nakhon Pathom","Nakhon Pathom"],["Nakhon Phanom","Nakhon Phanom"],["Nakhon Ratchasima","Nakhon Ratchasima"],["Nakhon Sawan","Nakhon Sawan"],["Nakhon Si Thammarat","Nakhon Si Thammarat"],["Nan","Nan"],["Narathiwat","Narathiwat"],["Nong Bua Lam Phu","Nong Bua Lam Phu"],["Nong Khai","Nong Khai"],["Nonthaburi","Nonthaburi"],["Pathum Thani","Pathum Thani"],["Pattani","Pattani"],["Pattaya","Pattaya"],["Phangnga","Phang Nga"],["Phatthalung","Phatthalung"],["Phayao","Phayao"],["Phetchabun","Phetchabun"],["Phetchaburi","Phetchaburi"],["Phichit","Phichit"],["Phitsanulok","Phitsanulok"],["
4776Phra Nakhon Si Ayutthaya","Phra Nakhon Si Ayutthaya"],["Phrae","Phrae"],["Phuket","Phuket"],["Prachin Buri","Prachin Buri"],["Prachuap Khiri Khan","Prachuap Khiri Khan"],["Ranong","Ranong"],["Ratchaburi","Ratchaburi"],["Rayong","Rayong"],["Roi Et","Roi Et"],["Sa Kaeo","Sa Kaeo"],["Sakon Nakhon","Sakon Nakhon"],["Samut Prakan","Samut Prakan"],["Samut Sakhon","Samut Sakhon"],["Samut Songkhram","Samut Songkhram"],["Saraburi","Saraburi"],["Satun","Satun"],["Sing Buri","Sing Buri"],["Sisaket","Si Sa Ket"],["Songkhla","Songkhla"],["Sukhothai","Sukhothai"],["Suphan Buri","Suphanburi"],["Surat Thani","Surat Thani"],["Surin","Surin"],["Tak","Tak"],["Trang","Trang"],["Trat","Trat"],["Ubon Ratchathani","Ubon Ratchathani"],["Udon Thani","Udon Thani"],["Uthai Thani","Uthai Thani"],["Uttaradit","Uttaradit"],["Yala","Yala"],["Yasothon","Yasothon"]]">Thailand</option> 4777<option value="Timor Leste" data-provinces="[]">Timor-Leste</option> 4778<option value="Togo" data-provinces="[]">Togo</option> 4779<option value="Tokelau" data-provinces="[]">Tokelau</option> 4780<option value="Tonga" data-provinces="[]">Tonga</option> 4781<option value="Trinidad and Tobago" data-provinces="[]">Trinidad & Tobago</option> 4782<option value="Tristan da Cunha" data-provinces="[]">Tristan da Cunha</option> 4783<option value="Tunisia" data-provinces="[]">Tunisia</option> 4784<option value="Turkey" data-provinces="[]">Türkiye</option> 4785<option value="Turkmenistan" data-provinces="[]">Turkmenistan</option> 4786<option value="Turks and Caicos Islands" data-provinces="[]">Turks & Caicos Islands</option> 4787<option value="Tuvalu" data-provinces="[]">Tuvalu</option> 4788<option value="United States Minor Outlying Islands" data-provinces="[]">U.S. Outlying Islands</option> 4789<option value="Uganda" data-provinces="[]">Uganda</option> 4790<option value="Ukraine" data-provinces="[]">Ukraine</option> 4791<option value="United Arab Emirates" data-provinces="[["Abu Dhabi","Abu Dhabi"],["Ajman","Ajman"],["Dubai","Dubai"],["Fujairah","Fujairah"],["Ras al-Khaimah","Ras al-Khaimah"],["Sharjah","Sharjah"],["Umm al-Quwain","Umm al-Quwain"]]">United Arab Emirates</option> 4792<option value="United Kingdom" data-provinces="[["British Forces","British Forces"],["England","England"],["Northern Ireland","Northern Ireland"],["Scotland","Scotland"],["Wales","Wales"]]">United Kingdom</option> 4793<option value="United States" data-provinces="[["Alabama","Alabama"],["Alaska","Alaska"],["American Samoa","American Samoa"],["Arizona","Arizona"],["Arkansas","Arkansas"],["Armed Forces Americas","Armed Forces Americas"],["Armed Forces Europe","Armed Forces Europe"],["Armed Forces Pacific","Armed Forces Pacific"],["California","California"],["Colorado","Colorado"],["Connecticut","Connecticut"],["Delaware","Delaware"],["District of Columbia","Washington DC"],["Federated States of Micronesia","Micronesia"],["Florida","Florida"],["Georgia","Georgia"],["Guam","Guam"],["Hawaii","Hawaii"],["Idaho","Idaho"],["Illinois","Illinois"],["Indiana","Indiana"],["Iowa","Iowa"],["Kansas","Kansas"],["Kentucky","Kentucky"],["Louisiana","Louisiana"],["Maine","Maine"],["Marshall Islands","Marshall Islands"],["Maryland","Maryland"],["Massachusetts","Massachusetts"],["Michigan","Michigan"],["Minnesota","Minnesota"],["Mississippi","Mississippi"],["Missouri","Missouri"],["Montana","Montana"],["Nebraska","Nebraska"],["Nevada","Nevada"],["New Hampshire","New Hampshire"],["New Jersey","New Jersey"],["New Mexico","New Mexico"],["New York","New York"],["North Carolina","North Carolina"],["North Dakota","North Dakota"],["Northern Mariana Islands","Northern Mariana Islands"],["Ohio","Ohio"],["Oklahoma","Oklahoma"],["Oregon","Oregon"],["Palau","Palau"],["Pennsylvania","Pennsylvania"],["Puerto Rico","Puerto Rico"],["Rhode Island","Rhode Island"],["South Carolina","South Carolina"],["South Dakota","South Dakota"],["Tennessee","Tennessee"],["Texas","Texas"],["Utah","Utah"],["Vermont","Vermont"],["Virgin Islands","U.S. Virgin Islands"],["Virginia","Virginia"],["Washington","Washington"],["West Virginia","West Virginia"],["Wisconsin","Wisconsin"],["Wyoming","Wyoming"]]">United States</option> 4794<option value="Uruguay" data-provinces="[["Artigas","Artigas"],["Canelones","Canelones"],["Cerro Largo","Cerro Largo"],["Colonia","Colonia"],["Durazno","Durazno"],["Flores","Flores"],["Florida","Florida"],["Lavalleja","Lavalleja"],["Maldonado","Maldonado"],["Montevideo","Montevideo"],["Paysandú","Paysandú"],["Rivera","Rivera"],["Rocha","Rocha"],["RÃo Negro","RÃo Negro"],["Salto","Salto"],["San José","San José"],["Soriano","Soriano"],["Tacuarembó","Tacuarembó"],["Treinta y Tres","Treinta y Tres"]]">Uruguay</option> 4795<option value="Uzbekistan" data-provinces="[]">Uzbekistan</option> 4796<option value="Vanuatu" data-provinces="[]">Vanuatu</option> 4797<option value="Holy See (Vatican City State)" data-provinces="[]">Vatican City</option> 4798<option value="Venezuela" data-provinces="[["Amazonas","Amazonas"],["Anzoátegui","Anzoátegui"],["Apure","Apure"],["Aragua","Aragua"],["Barinas","Barinas"],["BolÃvar","BolÃvar"],["Carabobo","Carabobo"],["Cojedes","Cojedes"],["Delta Amacuro","Delta Amacuro"],["Dependencias Federales","Federal Dependencies"],["Distrito Capital","Capital"],["Falcón","Falcón"],["Guárico","Guárico"],["La Guaira","Vargas"],["Lara","Lara"],["Miranda","Miranda"],["Monagas","Monagas"],["Mérida","Mérida"],["Nueva Esparta","Nueva Esparta"],["Portuguesa","Portuguesa"],["Sucre","Sucre"],["Trujillo","Trujillo"],["Táchira","Táchira"],["Yaracuy","Yaracuy"],["Zulia","Zulia"]]">Venezuela</option> 4799<option value="Vietnam" data-provinces="[]">Vietnam</option> 4800<option value="Wallis And Futuna" data-provinces="[]">Wallis & Futuna</option> 4801<option value="Western Sahara" data-provinces="[]">Western Sahara</option> 4802<option value="Yemen" data-provinces="[]">Yemen</option> 4803<option value="Zambia" data-provinces="[]">Zambia</option> 4804<option value="Zimbabwe" data-provinces="[]">Zimbabwe</option>`; 4805 window.CF.shippingZoneCountryOptionTags = `<option value="United States" data-provinces="[["Alabama","Alabama"],["Alaska","Alaska"],["American Samoa","American Samoa"],["Arizona","Arizona"],["Arkansas","Arkansas"],["Armed Forces Americas","Armed Forces Americas"],["Armed Forces Europe","Armed Forces Europe"],["Armed Forces Pacific","Armed Forces Pacific"],["California","California"],["Colorado","Colorado"],["Connecticut","Connecticut"],["Delaware","Delaware"],["District of Columbia","Washington DC"],["Federated States of Micronesia","Micronesia"],["Florida","Florida"],["Georgia","Georgia"],["Guam","Guam"],["Hawaii","Hawaii"],["Idaho","Idaho"],["Illinois","Illinois"],["Indiana","Indiana"],["Iowa","Iowa"],["Kansas","Kansas"],["Kentucky","Kentucky"],["Louisiana","Louisiana"],["Maine","Maine"],["Marshall Islands","Marshall Islands"],["Maryland","Maryland"],["Massachusetts","Massachusetts"],["Michigan","Michigan"],["Minnesota","Minnesota"],["Mississippi","Mississippi"],["Missouri","Missouri"],["Montana","Montana"],["Nebraska","Nebraska"],["Nevada","Nevada"],["New Hampshire","New Hampshire"],["New Jersey","New Jersey"],["New Mexico","New Mexico"],["New York","New York"],["North Carolina","North Carolina"],["North Dakota","North Dakota"],["Northern Mariana Islands","Northern Mariana Islands"],["Ohio","Ohio"],["Oklahoma","Oklahoma"],["Oregon","Oregon"],["Palau","Palau"],["Pennsylvania","Pennsylvania"],["Puerto Rico","Puerto Rico"],["Rhode Island","Rhode Island"],["South Carolina","South Carolina"],["South Dakota","South Dakota"],["Tennessee","Tennessee"],["Texas","Texas"],["Utah","Utah"],["Vermont","Vermont"],["Virgin Islands","U.S. Virgin Islands"],["Virginia","Virginia"],["Washington","Washington"],["West Virginia","West Virginia"],["Wisconsin","Wisconsin"],["Wyoming","Wyoming"]]">United States</option>`; 4806</script>
4806 4807<!-- END app snippet --> 4808<!-- BEGIN app snippet: initialize-forms --> 4809 4810 4811 4812 4813 4814 4815 4816 4817 4818 4819 4820 4821 4822 4823 4824 4825 4826 4827 4828 4829 4830 4831 4832 4833 4834 4835 4836 4837 4838 4839 4840 4841 4842 4843 4844 4845 4846 4847 4848 4849 4850 4851 4852 4853 4854 4855 4856 4857 4858 4859 4860 4861 4862 4863 4864<style id="cf-pre-init-styles"> 4865 form[action="/account"][method="post"] { 4866 opacity: 0; 4867 } 4868</style> 4869
4870<script async> 4871 (() => { 4872 const FORM_DATA_TIMEOUT = 10000; 4873 4874 const devToolsEnabled = false; 4875 const latestEmbedVersion = "5.3.0"; 4876 const isPreviewApp = ""; 4877 4878 const nativeFormContainsErrors = false; 4879 const $preInitStyles = document.querySelector('#cf-pre-init-styles'); 4880 4881 let mountedTextEntrypoints = false; 4882 4883 // i.e. ?view=orig, or "email taken" following a form crash 4884 if (onFallbackTemplate() || nativeFormContainsErrors) { 4885 // Reveal the original form 4886 $preInitStyles.parentElement.removeChild($preInitStyles); 4887 return; 4888 } 4889 4890 function start() { 4891 initializeForms(); 4892 injectHiddenForms(); 4893 4894 // Try for the next 5s to mount any dynamically injected forms. 4895 const intervalId = setInterval(() => { 4896 initializeForms(); 4897 }, 100); 4898 4899 setTimeout(() => { 4900 clearInterval(intervalId); 4901 }, 5000); 4902 } 4903 4904 // This fires when a CF form has mounted on the page. 4905 // More reliable than putting this in start(), since developers can manually call 4906 // CF.initializeForms(). 4907 window.addEventListener('cf:ready', () => { 4908 injectHiddenForms(); 4909 }); 4910 4911 if (['interactive', 'complete', 'loaded'].includes(document.readyState)) { 4912 start(); 4913 } else { 4914 document.addEventListener('DOMContentLoaded', () => start()); 4915 } 4916 4917 window.CF.initializeForms = initializeForms; 4918 const forms = [{"id":"Antdnj","name":"date of birth","target":"storefront","version":"4.15.19","updated_at":1726481814},{"id":"54tmLy","name":"Registration","target":"storefront","version":"4.15.13","updated_at":1723541690}]; 4919 4920 async function initializeForms() { 4921 // Semi-hack: Prevents older embed scripts from doing anything. 4922 // Any embed script before 4.12.0 checks only for the presence of this attribute, 4923 // not if it strictly equals "true". 4924 document.documentElement.setAttribute('data-cf-initialized', 'loading'); 4925 4926 // Only mount text entrypoints once. This is expensive and causes render blocking time on mobile. 4927 if (!mountedTextEntrypoints) { 4928 mountedTextEntrypoints = true; 4929 mountTextEntrypoints(); 4930 } 4931 4932 const reactTarget = `<!-- BEGIN app snippet: react-target-markup --> 4933 4934 4935 4936 4937 4938 4939 4940 4941 4942 4943 4944 4945 4946 4947 4948 4949 4950 4951 4952 4953 4954 4955 4956 4957 4958 4959 4960 4961 4962 4963 4964 4965 4966 4967 4968 4969 4970 4971 4972<div class="cf-react-target"> 4973 <div class="cf-preload"> 4974 4975 <div class="cf-preload-label cf-preload-item"></div> 4976 <div class="cf-preload-field cf-preload-item"></div> 4977 4978 <div class="cf-preload-label cf-preload-item"></div> 4979 <div class="cf-preload-field cf-preload-item"></div> 4980 4981 <div class="cf-preload-label cf-preload-item"></div> 4982 <div class="cf-preload-field cf-preload-item"></div> 4983 4984 <div class="cf-preload-label cf-preload-item"></div> 4985 <div class="cf-preload-field cf-preload-item"></div> 4986 4987 4988 <span class="cf-preload-button cf-preload-item"></span> 4989 4990 <span class="cf-preload-button cf-preload-item"></span> 4991 4992 </div> 4993</div><!-- END app snippet -->`; 4994 const $forms = Array.from(document.querySelectorAll('form:not([data-cf-state])')); 4995 const entrypoints = []; 4996 4997 for (let $form of $forms) { 4998 if (isIgnored($form)) continue; 4999 5000 const id = getFormId($form); 5001 if (!id) continue; 5002 5003 const formData = forms.find(form => form.id === id); 5004 if (!formData) { 5005 console.error(`[Customer Fields] Unable to find form data with id ${id}`); 5006 setFormState($form, 'failed'); 5007 continue; 5008 } 5009 5010 // Do not try to mount the same form element more than once, 5011 // otherwise failures are much harder to handle. 5012 if (isDetected($form)) continue; 5013 markAsDetected($form); 5014 5015 const $originalForm = $form.cloneNode(true); 5016 5017 // Shopify's captcha script can bind to the form that CF mounted to. 5018 // Their submit handler eventually calls the submit method after generating 5019 // the captcha response token, causing native submission behavior to occur. 5020 // We do not want this, so we override it to a no-op. See #2092 5021 $form.submit = () => {}; 5022 5023 injectReactTarget($form); 5024 setFormState($form, 'loading'); 5025 5026 const entrypoint = { 5027 $form, 5028 registration: isRegistrationForm($form), 5029 formId: formData.id, 5030 updatedAt: formData.updated_at, 5031 target: formData.target, 5032 originalForm: $originalForm, 5033 version: formData.version, 5034 restore: () => restoreEntrypoint(entrypoint), 5035 }; 5036 5037 entrypoints.push(entrypoint); 5038 5039 // Required to be backwards compatible with older versions of the JS Form API, and prevent Shopify captcha 5040 $form.setAttribute('data-cf-form', formData.id); 5041 $form.setAttribute('action', ''); 5042 } 5043 5044 if ($preInitStyles && $preInitStyles.parentElement) { 5045 $preInitStyles.parentElement.removeChild($preInitStyles); 5046 } 5047 5048 if (!entrypoints.length) return; 5049 5050 5051 initializeEmbedScript(); 5052 5053 function initializeEmbedScript() { 5054 if (!window.CF.requestedEmbedJS) { 5055 const $script = document.createElement('script'); 5056 $script.src = getAssetUrl('customer-fields.js'); 5057 5058 document.head.appendChild($script); 5059 window.CF.requestedEmbedJS = true; 5060 } 5061 5062 if (!window.CF.requestedEmbedCSS) { 5063 const $link = document.createElement('link'); 5064 $link.href = getAssetUrl('customer-fields.css'); 5065 $link.rel = 'stylesheet'; 5066 $link.type = 'text/css'; 5067 5068 document.head.appendChild($link); 5069 window.CF.requestedEmbedCSS = true; 5070 } 5071 } 5072 5073 5074 const uniqueEntrypoints = entrypoints.reduce((acc, entrypoint) => { 5075 if (acc.some(e => e.formId === entrypoint.formId)) return acc; 5076 acc.push(entrypoint); 5077 5078 return acc; 5079 }, []); 5080 5081 const fullForms = await Promise.all(uniqueEntrypoints.map(e => getFormData(e.formId, e.updatedAt))); 5082
5083 fullForms.forEach((fullForm, index) => { 5084 // Could be a failed request. 5085 if (!fullForm) return; 5086 5087 const invalidFormTargets = ['customer-account']; 5088 if (invalidFormTargets.includes(fullForm.form.target)) { 5089 console.error('[Customer Fields] Invalid form target', fullForm); 5090 return; 5091 } 5092 5093 entrypoints 5094 .filter(e => e.formId === fullForm.form.id) 5095 .forEach(entrypoint => { 5096 entrypoint.form = { 5097 ...fullForm.form, 5098 currentRevision: fullForm.revision, 5099 }; 5100 }) 5101 }); 5102 5103 entrypoints.forEach(e => { 5104 if (!e.form) { 5105 // Form can be null if the request failed one way or another. 5106 restoreEntrypoint(e); 5107 return; 5108 } 5109 }); 5110 5111 if (window.CF.entrypoints) { 5112 window.CF.entrypoints.push(...entrypoints); 5113 5114 if (window.CF.mountForm) { 5115 entrypoints.forEach(entrypoint => { 5116 if (!entrypoint.form) return; 5117 5118 window.CF.mountForm(entrypoint.form); 5119 }); 5120 } 5121 } else { 5122 window.CF.entrypoints = entrypoints; 5123 5124 // The Core class has some logic that gets invoked as a result of this event 5125 // that we only want to fire once, so let's not emit this event multiple times. 5126 document.dispatchEvent(new CustomEvent('cf:entrypoints_ready')); 5127 } 5128 5129 function getFormData(formId, updatedAt) { 5130 return new Promise(resolve => { 5131 const controller = new AbortController(); 5132 const timeoutId = setTimeout(() => controller.abort(), FORM_DATA_TIMEOUT); 5133 const maxAttempts = 3; 5134 let attempts = 0; 5135 5136 const attemptFetch = () => { 5137 if (controller.signal.aborted) { 5138 resolve(null); 5139 return; 5140 } 5141 5142 attempts++; 5143 5144 fetch(`https://app.customerfields.com/embed_api/v4/forms/${formId}.json?v=${updatedAt}`, { 5145 headers: { 5146 'X-Shopify-Shop-Domain': "yvesrocherus.myshopify.com" 5147 }, 5148 signal: controller.signal 5149 }).then(response => { 5150 if (controller.signal.aborted) { 5151 resolve(null); 5152 return; 5153 } 5154 5155 if (response.ok) { 5156 response.json().then(resolve); 5157 return; 5158 } 5159 5160 if (attempts < maxAttempts) { 5161 pause(2000).then(() => attemptFetch()); 5162 return; 5163 } 5164 5165 console.error(`[Customer Fields] Received non-OK response from the back-end when fetching form ${formId}`) 5166 resolve(null); 5167 }).catch((err) => { 5168 if (controller.signal.aborted) { 5169 resolve(null); 5170 return; 5171 } 5172 5173 if (attempts < maxAttempts) { 5174 pause(2000).then(() => attemptFetch()); 5175 return; 5176 } 5177 5178 console.error(`[Customer Fields] Encountered unknown error while fetching form ${formId}`, err); 5179 resolve(null); 5180 }); 5181 }; 5182 5183 attemptFetch(); 5184 }); 5185 } 5186 5187 function restoreEntrypoint(entrypoint) { 5188 // This has a side effect of removing the Form class' submit handlers. 5189 // Previously this only replaced the original children within the form, but the submit event 5190 // was still being handled by our script. 5191 entrypoint.$form.replaceWith(entrypoint.originalForm); 5192 5193 // After a form has been restored, make sure we don't touch it again. 5194 // Otherwise we might treat it as an "async mounted" entrypoint and try to mount it again 5195 entrypoint.originalForm.setAttribute('data-cf-ignore', 'true'); 5196 5197 // Opacity was set to 0 with the #cf-pre-init-styles element 5198 entrypoint.$form.style.opacity = 1; 5199 5200 console.error(`[Customer Fields] Encountered an issue while mounting form, reverting to original form contents.`, entrypoint); 5201 } 5202 5203 function getAssetUrl(filename) { 5204 // We changed this to always get the latest embed assets 5205 // 4.15.7 included a crucial hotfix for recaptcha, see #2028 5206 5207 return `https://static.customerfields.com/releases/${isPreviewApp ? '' : `${latestEmbedVersion}/`}${filename}`; 5208 } 5209 5210 function injectReactTarget($form) { 5211 const containsReactTarget = !!$form.querySelector('.cf-react-target'); 5212 if (containsReactTarget) return; 5213 5214 $form.innerHTML = reactTarget; 5215 } 5216 5217 function isIgnored($form) { 5218 return $form.getAttribute('data-cf-ignore') === 'true'; 5219 } 5220 5221 function isDetected($form) { 5222 return $form.__cfDetected === true; 5223 } 5224 5225 function markAsDetected($form) { 5226 $form.__cfDetected = true; 5227 } 5228 5229 function isEditAccountForm($form) { 5230 return $form.getAttribute('data-cf-edit-account') === 'true'; 5231 } 5232 5233 function isVintageRegistrationForm($form) { 5234 return ( 5235 window.location.pathname.includes('/account/register') 5236 && $form.id === 'create_customer' 5237 && !!$form.getAttribute('data-cf-form') 5238 ); 5239 } 5240 5241 function isRegistrationForm($form) { 5242 try { 5243 const isWithinAppBlock = !!$form.closest('.cf-form-block'); 5244 if (isWithinAppBlock) return false;
5245 5246 const action = $form.getAttribute('action'); 5247 if (!action) return false; 5248 5249 const formActionUrl = new URL(action, window.location.origin); 5250 const hasAccountPath = formActionUrl.pathname.endsWith('/account'); 5251 const matchesShopDomain = formActionUrl.host === window.location.host; 5252 5253 const hasPostMethod = $form.method.toLowerCase() === 'post'; 5254 const $formTypeInput = $form.querySelector('[name="form_type"]') 5255 5256 const hasCreateCustomerFormType = $formTypeInput && $formTypeInput.value === 'create_customer'; 5257 return (matchesShopDomain && hasAccountPath && hasPostMethod) || hasCreateCustomerFormType 5258 } catch (err) { 5259 return false; 5260 } 5261 } 5262 5263 function mountTextEntrypoints() { 5264 const tree = document.createTreeWalker(document.body, NodeFilter.SHOW_TEXT, (node) => { 5265 if (typeof node.data !== 'string' || !node.data) return NodeFilter.FILTER_REJECT; 5266 5267 return node.data.includes('data-cf-form="') ? NodeFilter.FILTER_ACCEPT : NodeFilter.FILTER_REJECT; 5268 }); 5269 5270 /** 5271 * Walks through every text node on the document that contains 'data-cf-form="' and attempts to 5272 * splice a form element in place of every shortcode. 5273 * 5274 * @type Node[] 5275 */ 5276 while (tree.nextNode()) { 5277 let node = tree.currentNode; 5278 const parser = new DOMParser(); 5279 5280 while (entrypointContent = node.data.match(/<form.*data-cf-form="[a-zA-Z0-9]+".*>.*<\/form>/)) { 5281 const [match] = entrypointContent; 5282 5283 const doc = parser.parseFromString(match, 'text/html'); 5284 const $form = doc.body.firstElementChild; 5285 5286 // Substring is better than split here in case the text node contains multiple forms. 5287 const beforeText = node.data.substring(0, node.data.indexOf(match)); 5288 const afterText = node.data.substring(node.data.indexOf(match) + match.length); 5289 5290 node.replaceWith($form); 5291 node.data = node.data.replace(match, ''); 5292 5293 if (beforeText) $form.insertAdjacentText('beforebegin', beforeText); 5294 if (afterText) { 5295 $form.insertAdjacentText('afterend', afterText); 5296 5297 // Continue scanning the rest of the node text in case there are more forms 5298 node = $form.nextSibling; 5299 } 5300 } 5301 } 5302 } 5303 5304 function getFormId($form) { 5305 const currentFormId = $form.getAttribute('data-cf-form'); 5306 5307 let id; 5308 5309 if (isEditAccountForm($form)) { 5310 id = "54tmLy"; 5311 } else if (isVintageRegistrationForm($form) || isRegistrationForm($form)) { 5312 id = "54tmLy"; 5313 } 5314 5315 return id || currentFormId; 5316 } 5317 5318 function setFormState($form, state) { 5319 $form.setAttribute('data-cf-state', state); 5320 } 5321 } 5322 5323 function onFallbackTemplate() { 5324 const params = new URLSearchParams(window.location.search); 5325 5326 return location.pathname.includes('/account/register') && params.get('view') === 'orig'; 5327 } 5328 5329 function injectHiddenForms() { 5330 if (!devToolsEnabled && !CF.entrypoints?.length) return; 5331 if (document.querySelector('#cf_hidden_forms')) return; 5332 5333 const container = document.createElement('div'); 5334 5335 container.id = "cf_hidden_forms"; 5336 container.style.display = 'none'; 5337 container.setAttribute('aria-hidden', 'true'); 5338 5339 document.body.appendChild(container); 5340 5341 const loginForm = createLoginForm(); 5342 const recoverForm = createRecoverPasswordForm(); 5343 5344 container.appendChild(loginForm); 5345 container.appendChild(recoverForm); 5346 5347 if (window.Shopify.captcha) { 5348 // Only applicable for grecaptcha shops, but also safe for hcaptcha 5349 triggerShopifyRecaptchaLoad(container); 5350 5351 window.Shopify.captcha.protect(loginForm); 5352 window.Shopify.captcha.protect(recoverForm); 5353 } 5354 } 5355 5356 function triggerShopifyRecaptchaLoad(container) { 5357 if (document.getElementById('cf-hidden-recaptcha-trigger__create_customer')) return; 5358 if (document.getElementById('cf-hidden-recaptcha-trigger__contact')) return; 5359 5360 // Triggering a focus event on a form causes Shopify to load their recaptcha script. 5361 // This allows our Customer class to handle the copying/injecting of `grecaptcha` so we can 5362 // handle multiple `grecaptcha` instances. See methods `injectRecaptchaScript` 5363 // and `captureShopifyGrecaptcha` in `Customer.ts`. 5364 // Note: We have to try both types, in case the merchant has only one of the two recaptcha 5365 // options checked 5366 const $customerRecaptchaForm = createDummyRecaptchaForm('/account', 'create_customer'); 5367 container.appendChild($customerRecaptchaForm); 5368 5369 const $contactRecaptchaForm = createDummyRecaptchaForm('/contact', 'contact'); 5370 container.appendChild($contactRecaptchaForm); 5371 5372 triggerFocusEvent($customerRecaptchaForm); 5373 triggerFocusEvent($contactRecaptchaForm); 5374 } 5375 5376 function createDummyRecaptchaForm(action, type) { 5377 const dummyRecaptchaForm = document.createElement('form'); 5378 5379 dummyRecaptchaForm.action = action; 5380 dummyRecaptchaForm.method = "post"; 5381 dummyRecaptchaForm.id = `cf-hidden-recaptcha-trigger__${type}`; 5382 dummyRecaptchaForm.setAttribute('data-cf-ignore', 'true'); 5383 dummyRecaptchaForm.setAttribute('aria-hidden', 'true'); 5384 dummyRecaptchaForm.style.display = 'none'; 5385 5386 const formTypeInput = document.createElement('input'); 5387 5388 formTypeInput.name = "form_type"
5389 formTypeInput.setAttribute('value', type); 5390 5391 dummyRecaptchaForm.appendChild(formTypeInput); 5392 5393 return dummyRecaptchaForm; 5394 } 5395 5396 function triggerFocusEvent(element) { 5397 const event = new Event('focusin', { bubbles: true, cancelable: false }); 5398 element.dispatchEvent(event); 5399 } 5400 5401 function createLoginForm() { 5402 const form = createDummyRecaptchaForm('/account/login', 'customer_login'); 5403 const email = document.createElement('input'); 5404 email.name = 'customer[email]'; 5405 5406 const password = document.createElement('input'); 5407 password.name = 'customer[password]'; 5408 5409 const redirect = document.createElement('input'); 5410 redirect.name = 'return_to'; 5411 5412 form.appendChild(email); 5413 form.appendChild(password); 5414 form.appendChild(redirect); 5415 form.setAttribute('aria-hidden', 'true'); 5416 5417 return form; 5418 } 5419 5420 function createRecoverPasswordForm() { 5421 const parser = new DOMParser(); 5422 const result = parser.parseFromString(`<form method="post" action="/account/recover" accept-charset="UTF-8"><input type="hidden" name="form_type" value="recover_customer_password" /><input type="hidden" name="utf8" value="â" /><input name="email" value="" /><input name="return_to" value="" /></form>`, 'text/html'); 5423 const form = result.querySelector('form'); 5424 5425 form.setAttribute('aria-hidden', 'true'); 5426 form.id = "cf_recover_password_form"; 5427 5428 return form; 5429 } 5430 5431 function pause(ms) { 5432 return new Promise(resolve => setTimeout(resolve, ms)); 5433 } 5434 })(); 5435</script>
5435 5436 5437<!-- END app snippet --> 5438<!-- BEGIN app snippet: theme-data --> 5439 5440 5441 5442 5443 5444 5445 5446 5447 5448 5449 5450 5451 5452 5453 5454 5455 5456 5457 5458 5459 5460 5461 5462 5463 5464 5465 5466 5467 5468 5469 5470 5471 5472 5473 5474 5475 5476 5477
5478<script> 5479 document.addEventListener('DOMContentLoaded', async () => { 5480 let theme; 5481 5482 if (window.Shopify) { 5483 theme = { 5484 name: window.Shopify.theme.schema_name, 5485 version: window.Shopify.theme.schema_version, 5486 } 5487 } 5488 5489 if (theme) { 5490 document.documentElement.setAttribute('data-theme-name', theme.name); 5491 document.documentElement.setAttribute('data-theme-version', theme.version); 5492 } 5493 }); 5494</script>
5494<!-- END app snippet --> 5495<!-- BEGIN app snippet: form-preload-style --> 5496 5497 5498 5499 5500 5501 5502 5503 5504 5505 5506 5507 5508 5509 5510 5511 5512 5513 5514 5515 5516 5517 5518 5519 5520 5521 5522 5523 5524 5525 5526 5527 5528 5529 5530 5531 5532 5533 5534 5535<style> 5536.cf-preload { 5537 margin-top: 50px; 5538 opacity: 0.5; 5539 text-align: left; 5540} 5541 5542.cf-preload-item { 5543 position: relative; 5544 overflow: hidden; 5545 background: #e2e2e2; 5546 border-radius: 4px; 5547 display: block !important; 5548} 5549 5550.cf-preload-item:before { 5551 content: ''; 5552 position: absolute; 5553 top: 0; 5554 left: 0; 5555 height: 100%; 5556 width: 100%; 5557 background: linear-gradient(to right, rgba(255,255,255,0), rgba(255,255,255,0.5), rgba(255,255,255,0.5), rgba(255,255,255,0)); 5558 animation: cf-preload 1s cubic-bezier(0.33, 0.8, 0.85, 0.77) infinite; 5559 z-index: 1; 5560} 5561 5562.cf-preload-label { 5563 display: inline-block !important; 5564 width: 50%; 5565 height: 20px; 5566 background: #eee; 5567 margin-bottom: 5px; 5568} 5569 5570.cf-preload-field { 5571 margin-bottom: 25px; 5572 height: 40px; 5573} 5574 5575.cf-preload-button { 5576 display: inline-block !important; 5577 width: 120px; 5578 margin-right: 15px; 5579 height: 40px; 5580} 5581 5582.cf-form-inner { 5583 animation: cf-fadein 500ms cubic-bezier(0.11, 0.33, 0.24, 1); 5584} 5585 5586@keyframes cf-preload { 5587 from { 5588 transform: translateX(-100%); 5589 opacity: 0; 5590 } 5591 to { 5592 transform: translateX(100%); 5593 opacity: 1; 5594 } 5595} 5596 5597@keyframes cf-fadein { 5598 from { 5599 opacity: 0; 5600 transform: translateY(30px); 5601 } 5602 to { 5603 opacity: 1; 5604 transform: translateY(0); 5605 } 5606} 5607</style><!-- END app snippet --> 5608<!-- BEGIN app snippet: inject-edit-link --> 5609 5610 5611 5612 5613 5614 5615 5616 5617 5618 5619 5620 5621 5622 5623 5624 5625 5626 5627 5628 5629 5630 5631 5632 5633 5634 5635 5636 5637 5638 5639 5640 5641 5642 5643 5644 5645 5646 5647 5648 5649 5650 5651 5652 5653 5654 5655 5656 5657
5657<script> 5658 document.addEventListener('DOMContentLoaded', () => { 5659 const target = getTargetLink(); 5660 if (!target) return; 5661 const editAccountLink = document.createElement('a'); 5662 5663 editAccountLink.href = `/tools/customr/edit-account`; 5664 editAccountLink.className = `${target.className} cf-edit-account-link`; 5665 editAccountLink.innerText = "Edit account"; 5666 5667 target.insertAdjacentElement('afterend', editAccountLink); 5668 5669 // Works reliably in both vertical and horizontal alignments. 5670 // Vertically, height will be the natural line-height based off the current font-size. 5671 // Horizontally, this will act as five space characters in between the links. 5672 // This is better than a static margin on the editAccountLink, as you don't really know what to apply. 5673 // You don't know what alignment you're in, so you'd have to apply either margin-top or margin-left. 5674 // This works as you don't have to check since it works in either situation. 5675 const spacer = document.createElement('div'); 5676 spacer.className = "cf-edit-account-link-spacer"; 5677 spacer.innerHTML = " "; 5678 5679 target.insertAdjacentElement('afterend', spacer); 5680 5681 removeVintageCFEditLink(); 5682 5683 function getTargetLink() { 5684 const main = document.querySelector('main') || document; 5685 // :not([href*="?page="]) in the querySelector below prevents the "edit account" link from being enjected on the /account/addresses page with pagination. 5686 const addressesLink = main.querySelector('[href*="/account/addresses"]:not([href*="?page="]):not([data-cf-ignore])'); 5687 const logoutLink = main.querySelector('[href*="/account/logout"]:not([data-cf-ignore])'); 5688 5689 return addressesLink || logoutLink; 5690 } 5691 5692 function removeVintageCFEditLink() { 5693 // CustomerHub requires the edit link to be present. 5694 if (window.customerHub) return; 5695 5696 // Remove it instead of changing its href attribute. 5697 // We want merchants to ultimately remove all vintage CF code, in the event they do, 5698 // this edit link will be gone. 5699 const editLink = document.querySelector('a[href*="/account?view=edit"]:not([data-cf-ignore])') 5700 if (!editLink) return; 5701 5702 editLink.parentElement.removeChild(editLink); 5703 } 5704 }); 5705 </script>
5705 5706 5707 <style> 5708 .cf-edit-account-link { 5709 display: block; 5710 } 5711 5712 /* Theme fixes */ 5713 [data-theme-name="Warehouse"] .cf-edit-account-link-spacer { 5714 display: none; 5715 } 5716 </style> 5717 5718<!-- END app snippet --> 5719<!-- BEGIN app snippet: language --> 5720 5721 5722 5723 5724 5725 5726 5727 5728 5729 5730 5731 5732 5733 5734 5735 5736 5737 5738 5739 5740 5741 5742 5743 5744 5745 5746 5747 5748 5749 5750 5751 5752 5753 5754 5755 5756 5757 5758
5759<script> 5760 window.CF.language = window.CF.language || {}; 5761 window.CF.language.editAccountHeading = "Edit account"; 5762 window.CF.language.editAccountBackLinkText = "Back to account"; 5763</script>
5763<!-- END app snippet --> 5764 5765<!-- BEGIN app snippet: developer-tools --> 5766 5767 5768 5769 5770 5771 5772 5773 5774 5775 5776 5777 5778 5779 5780 5781 5782 5783 5784 5785 5786 5787 5788 5789 5790 5791 5792 5793 5794 5795 5796 5797 5798 5799 5800 5801 5802 5803 5804 5805 5806 5807
5808<script> 5809 (function() { 5810 const callbacksHandled = []; 5811 5812 function handleCallback(callback) { 5813 if (callbacksHandled.indexOf(callback) > -1) return; 5814 5815 callback(); 5816 callbacksHandled.push(callback); 5817 }; 5818 5819 function domIsReady() { 5820 return /complete|interactive|loaded/.test(document.readyState); 5821 }; 5822 5823 function customerExistsInWindow() { 5824 const customerPresent = ('customer' in window.CF); 5825 if (!customerPresent) return false; 5826 5827 const hasCaptchaEnabled = document.body.getAttribute('data-cf-captcha-enabled') === 'true'; 5828 if (hasCaptchaEnabled) { 5829 const captchaReady = document.body.getAttribute('data-cf-captcha-ready') === 'true'; 5830 if (!captchaReady) return false; 5831 } 5832 5833 return true; 5834 }; 5835 5836 function embedFormHasMounted() { 5837 return !!document.querySelector('.cf-form-inner'); 5838 }; 5839 5840 function customerReady(callback) { 5841 if (customerExistsInWindow()) { 5842 handleCallback(callback); 5843 } else { 5844 function createListener() { 5845 document.addEventListener("cf:customer_ready", function() { 5846 handleCallback(callback); 5847 }); 5848 }; 5849 5850 if (domIsReady()) { 5851 createListener(); 5852 } else { 5853 document.addEventListener("DOMContentLoaded", function() { 5854 if (customerExistsInWindow()) { 5855 handleCallback(callback); 5856 } else { 5857 createListener(); 5858 } 5859 }); 5860 } 5861 } 5862 } 5863 5864 function formsReady(callback) { 5865 if (embedFormHasMounted()) { 5866 handleCallback(callback); 5867 } else { 5868 function createListener() { 5869 document.addEventListener("cf:ready", function() { 5870 handleCallback(callback); 5871 }); 5872 }; 5873 5874 if (domIsReady()) { 5875 createListener(); 5876 } else { 5877 document.addEventListener("DOMContentLoaded", function() { 5878 if (embedFormHasMounted()) { 5879 handleCallback(callback); 5880 } else { 5881 createListener(); 5882 } 5883 }); 5884 } 5885 } 5886 }; 5887 5888 window.CF.customerReady = customerReady; 5889 window.CF.ready = formsReady; 5890 5891 5892 window.CF.customerReady = () => { 5893 console.warn('[Customer Fields] In order to access CF.customerReady, you need to enable developer tools in the Customer Fields app embed.'); 5894 } 5895 5896 5897 function initializeApiScript() { 5898 if (window.CF.requestedAPI) return; 5899 window.CF.requestedAPI = true; 5900 5901 const $script = document.createElement('script'); 5902 $script.src = getAssetUrl('cf-api.js'); 5903 5904 document.head.appendChild($script); 5905 } 5906 5907 function getAssetUrl(filename) { 5908 return `https://static.customerfields.com/releases/5.3.0/${filename}`; 5909 } 5910 })(); 5911</script>
5911 5912 5913 5914<!-- END app snippet --> 5915 5916<!-- END app block --><!-- BEGIN app block: shopify://apps/triplewhale/blocks/triple_pixel_snippet/483d496b-3f1a-4609-aea7-8eee3b6b7a2a --><link rel='preconnect dns-prefetch' href='https://api.config-security.com/' crossorigin /> 5917<link rel='preconnect dns-prefetch' href='https://conf.config-security.com/' crossorigin />
5918<script> 5919/* >> TriplePixel :: start*/ 5920window.TriplePixelData={TripleName:"yvesrocherus.myshopify.com",ver:"2.16",plat:"SHOPIFY",isHeadless:false,src:'SHOPIFY_EXT',product:{id:"",name:``,price:"",variant:"",av:{ }},search:"",collection:"",cart:"drawer",template:"cart",curr:"USD" || "USD", market:"78359593253"},function(W,H,A,L,E,_,B,N){function O(U,T,P,H,R){void 0===R&&(R=!1),H=new XMLHttpRequest,P?(H.open("POST",U,!0),H.setRequestHeader("Content-Type","text/plain")):H.open("GET",U,!0),H.send(JSON.stringify(P||{})),H.onreadystatechange=function(){4===H.readyState&&200===H.status?(R=H.responseText,U.includes("/first")?eval(R):P||(N[B]=R)):(299<H.status||H.status<200)&&T&&!R&&(R=!0,O(U,T-1,P))}}if(N=window,!N[H+"sn"]){N[H+"sn"]=1,L=function(){return Date.now().toString(36)+"_"+Math.random().toString(36)};try{A.setItem(H,1+(0|A.getItem(H)||0)),(E=JSON.parse(A.getItem(H+"U")||"[]")).push({u:location.href,r:document.referrer,t:Date.now(),id:L()}),A.setItem(H+"U",JSON.stringify(E))}catch(e){}var i,m,p;A.getItem('"!nC`')||(_=A,A=N,A[H]||(E=A[H]=function(t,e,i){return void 0===i&&(i=[]),"State"==t?E.s:(W=L(),(E._q=E._q||[]).push([W,t,e].concat(i)),W)},E.s="Installed",E._q=[],E.ch=W,B="configSecurityConfModel",N[B]=1,O("https://conf.config-security.com/model",5),i=L(),m=A[atob("c2NyZWVu")],_.setItem("di_pmt_wt",i),p={id:i,action:"profile",avatar:_.getItem("auth-security_rand_salt_"),time:m[atob("d2lkdGg=")]+":"+m[atob("aGVpZ2h0")],host:A.TriplePixelData.TripleName,plat:A.TriplePixelData.plat,url:window.location.href.slice(0,500),ref:document.referrer,ver:A.TriplePixelData.ver},O("https://api.config-security.com/event",5,p),O("https://api.config-security.com/first?host=".concat(p.host,"&plat=").concat(p.plat),5)))}}("","TriplePixel",localStorage); 5921/* << TriplePixel :: end*/ 5922</script>
5922 5923 5924 5925 5926<!-- END app block --><!-- BEGIN app block: shopify://apps/oxi-login-cartsync-wishlist/blocks/social-login-embed/24ad60bc-8f09-42fa-807e-e5eda0fdae17 --> 5927 5928 5929
5930<script> 5931 (function () { 5932 try { 5933 var oslShopReturn = new URL(window.location.href); 5934 if (oslShopReturn.searchParams.has('shop_sign_in') || oslShopReturn.searchParams.has('shop_consented_scopes')) { 5935 oslShopReturn.searchParams.delete('shop_sign_in'); 5936 oslShopReturn.searchParams.delete('shop_consented_scopes'); 5937 history.replaceState(null, '', oslShopReturn.pathname + oslShopReturn.search + oslShopReturn.hash); 5938 } 5939 } catch (e) {} 5940 window.OSL_WIDGET_VERSION_CLASS = 'oslv2'; 5941 })(); 5942</script>
5942<script> 5943 window.OSL_POPUP_LOGIN_CONFIG = window.OSL_POPUP_LOGIN_CONFIG || {}; 5944 window.OSL_POPUP_LOGIN_CONFIG.isNewCustomerAccounts = true; 5945 window.OSL_POPUP_LOGIN_CONFIG.isShopifyPlus = false; 5946 window.OSL_POPUP_LOGIN_CONFIG.loginRequiredAtCheckout = false; 5947 window.OSL_POPUP_LOGIN_CONFIG.nativeOtp = true; 5948 window.OSL_POPUP_LOGIN_CONFIG.hasRegistrationFields = false; 5949 window.OSL_POPUP_LOGIN_CONFIG.appUrl = 'https://osl-api.oxiapps.com'; 5950 window.OSL_POPUP_LOGIN_CONFIG.regionCountry = "US"; 5951 window.OSL_WIDGET_HOST = 'https://social-login.oxiapps.com'; 5952 window.OSL_EMBED_CONFIG = { 5953 vt: 1721722352, 5954 shop: "yvesrocherus.myshopify.com", 5955 customerLoggedIn: !!0,oslMinJsUrl: "https:\/\/cdn.shopify.com\/extensions\/01a0b604-4814-7a0a-87b3-4dfc3c0ce8cb\/oxi-social-login-156\/assets\/osl.min.js",remodalCssUrl: "https:\/\/cdn.shopify.com\/extensions\/01a0b604-4814-7a0a-87b3-4dfc3c0ce8cb\/oxi-social-login-156\/assets\/remodal.css" 5956 }; 5957 </script>
5957<script> 5958 (function () { 5959 if (window.__OSL_ACCOUNT_GUARD__) return; 5960 window.__OSL_ACCOUNT_GUARD__ = true; 5961 var released = false; 5962 var style = document.createElement('style'); 5963 style.textContent = 5964 'html.osl-account-guard shopify-account,' + 5965 'html.osl-account-guard a[href*="/account"]:not([href*="logout"]),' + 5966 'html.osl-account-guard a[href*="customer_authentication"],' + 5967 'html.osl-account-guard a[href*="region_country"]' + 5968 '{pointer-events:none!important}'; 5969 document.head.appendChild(style); 5970 document.documentElement.classList.add('osl-account-guard'); 5971 5972 window._osl_releaseAccountLinkGuard = function () { 5973 if (released) return; 5974 released = true; 5975 document.documentElement.classList.remove('osl-account-guard'); 5976 }; 5977 5978 setTimeout(function () { 5979 if (typeof window._osl_releaseAccountLinkGuard === 'function') { 5980 window._osl_releaseAccountLinkGuard(); 5981 } 5982 }, 3000); 5983 })(); 5984 </script>
5984<script src="https://cdn.shopify.com/extensions/01a0b604-4814-7a0a-87b3-4dfc3c0ce8cb/oxi-social-login-156/assets/init.js" defer></script>
5984 5985 5986<!-- END app block --><!-- BEGIN app block: shopify://apps/attributepro/blocks/cart_attributes/e1a73f15-800a-4f25-9c6e-952ac434f07b -->
5986<script> 5987var xhook=function(){"use strict";const e=(e,t)=>Array.prototype.slice.call(e,t);let t=null;"undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope?t=self:"undefined"!=typeof global?t=global:window&&(t=window);const n=t,o=t.document,r=["load","loadend","loadstart"],s=["progress","abort","error","timeout"],a=e=>["returnValue","totalSize","position"].includes(e),i=function(e,t){for(let n in e){if(a(n))continue;const o=e[n];try{t[n]=o}catch(e){}}return t},c=function(e,t,n){const o=e=>function(o){const r={};for(let e in o){if(a(e))continue;const s=o[e];r[e]=s===t?n:s}return n.dispatchEvent(e,r)};for(let r of Array.from(e))n._has(r)&&(t[`on${r}`]=o(r))},u=function(e){if(o&&null!=o.createEventObject){const t=o.createEventObject();return t.type=e,t}try{return new Event(e)}catch(t){return{type:e}}},l=function(t){let n={};const o=e=>n[e]||[],r={addEventListener:function(e,t,r){n[e]=o(e),n[e].indexOf(t)>=0||(r=void 0===r?n[e].length:r,n[e].splice(r,0,t))},removeEventListener:function(e,t){if(void 0===e)return void(n={});void 0===t&&(n[e]=[]);const r=o(e).indexOf(t);-1!==r&&o(e).splice(r,1)},dispatchEvent:function(){const n=e(arguments),s=n.shift();t||(n[0]=i(n[0],u(s)),Object.defineProperty(n[0],"target",{writable:!1,value:this}));const a=r[`on${s}`];a&&a.apply(r,n);const c=o(s).concat(o("*"));for(let e=0;e<c.length;e++){c[e].apply(r,n)}},_has:e=>!(!n[e]&&!r[`on${e}`])};return t&&(r.listeners=t=>e(o(t)),r.on=r.addEventListener,r.off=r.removeEventListener,r.fire=r.dispatchEvent,r.once=function(e,t){var n=function(){return r.off(e,n),t.apply(null,arguments)};return r.on(e,n)},r.destroy=()=>n={}),r};var f=function(e,t){switch(typeof e){case"object":return n=e,Object.entries(n).map((([e,t])=>`${e.toLowerCase()}: ${t}`)).join("\r\n");case"string":return function(e,t){const n=e.split("\r\n");null==t&&(t={});for(let e of n)if(/([^:]+):\s*(.+)/.test(e)){const e=null!=RegExp.$1?RegExp.$1.toLowerCase():void 0,n=RegExp.$2;null==t[e]&&(t[e]=n)}return t}(e,t)}var n;return[]};const d=l(!0),p=e=>void 0===e?null:e,h=n.XMLHttpRequest,y=function(){const e=new h,t={};let n,o,a,u=null;var y=0;const v=function(){if(a.status=u||e.status,-1!==u&&(a.statusText=e.statusText),-1===u);else{const t=f(e.getAllResponseHeaders());for(let e in t){const n=t[e];if(!a.headers[e]){const t=e.toLowerCase();a.headers[t]=n}}}},b=function(){x.status=a.status,x.statusText=a.statusText},g=function(){n||x.dispatchEvent("load",{}),x.dispatchEvent("loadend",{}),n&&(x.readyState=0)},E=function(e){for(;e>y&&y<4;)x.readyState=++y,1===y&&x.dispatchEvent("loadstart",{}),2===y&&b(),4===y&&(b(),"text"in a&&(x.responseText=a.text),"xml"in a&&(x.responseXML=a.xml),"data"in a&&(x.response=a.data),"finalUrl"in a&&(x.responseURL=a.finalUrl)),x.dispatchEvent("readystatechange",{}),4===y&&(!1===t.async?g():setTimeout(g,0))},m=function(e){if(4!==e)return void E(e);const n=d.listeners("after");var o=function(){if(n.length>0){const e=n.shift();2===e.length?(e(t,a),o()):3===e.length&&t.async?e(t,a,o):o()}else E(4)};o()};var x=l();t.xhr=x,e.onreadystatechange=function(t){try{2===e.readyState&&v()}catch(e){}4===e.readyState&&(o=!1,v(),function(){if(e.responseType&&"text"!==e.responseType)"document"===e.responseType?(a.xml=e.responseXML,a.data=e.responseXML):a.data=e.response;else{a.text=e.responseText,a.data=e.responseText;try{a.xml=e.responseXML}catch(e){}}"responseURL"in e&&(a.finalUrl=e.responseURL)}()),m(e.readyState)};const w=function(){n=!0};x.addEventListener("error",w),x.addEventListener("timeout",w),x.addEventListener("abort",w),x.addEventListener("progress",(function(t){y<3?m(3):e.readyState<=3&&x.dispatchEvent("readystatechange",{})})),"withCredentials"in e&&(x.withCredentials=!1),x.status=0;for(let e of Array.from(s.concat(r)))x[`on${e}`]=null;if(x.open=function(e,r,s,i,c){y=0,n=!1,o=!1,t.headers={},t.headerNames={},t.status=0,t.method=e,t.url=r,t.async=!1!==s,t.user=i,t.pass=c,a={},a.headers={},m(1)},x.send=function(n){let u,l;for(u of["type","timeout","withCredentials"])l="type"===u?"responseType":u,l in x&&(t[u]=x[l]);t.body=n;const f=d.listeners("before");var p=function(){if(!f.length)return function(){for(u of(c(s,e,x),x.upload&&c(s.concat(r),e.upload,x.upload),o=!0,e.open(t.method,t.url,t.async,t.user,t.pass),["type","timeout","withCredentials"]))l="type"===u?"responseType":u,u in t&&(e[l]=t[u]);for(let n in t.headers){const o=t.headers[n];n&&e.setRequestHeader(n,o)}e.send(t.body)}();const n=function(e){if("object"==typeof e&&("number"==typeof e.status||"number"==typeof a.status))return i(e,a),"data"in e||(e.data=e.response||e.text),void m(4);p()};n.head=function(e){i(e,a),m(2)},n.progress=function(e){i(e,a),m(3)};const d=f.shift();1===d.length?n(d(t)):2===d.length&&t.async?d(t,n):n()};p()},x.abort=function(){u=-1,o?e.abort():x.dispatchEvent("abort",{})},x.setRequestHeader=function(e,n){const o=null!=e?e.toLowerCase():void 0,r=t.headerNames[o]=t.headerNames[o]||e;t.headers[r]&&(n=t.headers[r]+", "+n),t.headers[r]=n},x.getResponseHeader=e=>p(a.headers[e?e.toLowerCase():void 0]),x.getAllResponseHeaders=()=>p(f(a.headers)),e.overrideMimeType&&(x.overrideMimeType=function(){e.overrideMimeType.apply(e,arguments)}),e.upload){let e=l();x.upload=e,t.upload=e}return x.UNSENT=0,x.OPENED=1,x.HEADERS_RECEIVED=2,x.LOADING=3,x.DONE=4,x.response="",x.responseText="",x.responseXML=null,x.readyState=0,x.statusText="",x};y.UNSENT=0,y.OPENED=1,y.HEADERS_RECEIVED=2,y.LOADING=3,y.DONE=4;var v={patch(){h&&(n.XMLHttpRequest=y)},unpatch(){h&&(n.XMLHttpRequest=h)},Native:h,Xhook:y};
5987function b(e,t,n,o){return new(n||(n=Promise))((function(r,s){function a(e){try{c(o.next(e))}catch(e){s(e)}}function i(e){try{c(o.throw(e))}catch(e){s(e)}}function c(e){var t;e.done?r(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(a,i)}c((o=o.apply(e,t||[])).next())}))}const g=n.fetch;function E(e){return e instanceof Headers?m([...e.entries()]):Array.isArray(e)?m(e):e}function m(e){return e.reduce(((e,[t,n])=>(e[t]=n,e)),{})}const x=function(e,t={headers:{}}){let n=Object.assign(Object.assign({},t),{isFetch:!0});if(e instanceof Request){const o=function(e){let t={};return["method","headers","body","mode","credentials","cache","redirect","referrer","referrerPolicy","integrity","keepalive","signal","url"].forEach((n=>t[n]=e[n])),t}(e),r=Object.assign(Object.assign({},E(o.headers)),E(n.headers));n=Object.assign(Object.assign(Object.assign({},o),t),{headers:r,acceptedRequest:!0})}else n.url=e;const o=d.listeners("before"),r=d.listeners("after");return new Promise((function(t,s){let a=t;const i=function(e){if(!r.length)return a(e);const t=r.shift();return 2===t.length?(t(n,e),i(e)):3===t.length?t(n,e,i):i(e)},c=function(e){if(void 0!==e){const n=new Response(e.body||e.text,e);return t(n),void i(n)}u()},u=function(){if(!o.length)return void l();const e=o.shift();return 1===e.length?c(e(n)):2===e.length?e(n,c):void 0},l=()=>b(this,void 0,void 0,(function*(){const{url:t,isFetch:o,acceptedRequest:r}=n,c=function(e,t){var n={};for(var o in e)Object.prototype.hasOwnProperty.call(e,o)&&t.indexOf(o)<0&&(n[o]=e[o]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var r=0;for(o=Object.getOwnPropertySymbols(e);r<o.length;r++)t.indexOf(o[r])<0&&Object.prototype.propertyIsEnumerable.call(e,o[r])&&(n[o[r]]=e[o[r]])}return n}(n,["url","isFetch","acceptedRequest"]);return e instanceof Request&&c.body instanceof ReadableStream&&(c.body=yield new Response(c.body).text()),g(t,c).then((e=>i(e))).catch((function(e){return a=s,i(e),s(e)}))}));u()}))};var w={patch(){g&&(n.fetch=x)},unpatch(){g&&(n.fetch=g)},Native:g,Xhook:x};const O=d;return O.EventEmitter=l,O.before=function(e,t){if(e.length<1||e.length>2)throw"invalid hook";return O.on("before",e,t)},O.after=function(e,t){if(e.length<2||e.length>3)throw"invalid hook";return O.on("after",e,t)},O.enable=function(){v.patch(),w.patch()},O.disable=function(){v.unpatch(),w.unpatch()},O.XMLHttpRequest=v.Native,O.fetch=w.Native,O.headers=f,O.enable(),O}(); 5988</script>
vendor: 1 bytes, line 5988
5988
vendor: 5,375 bytes, lines 5989-6175
5989<script> 5990;(function(root, factory) { 5991 if (typeof define === "function" && define.amd) { 5992 define(factory); 5993 } else if (typeof exports === "object") { 5994 module.exports = factory(); 5995 } else { 5996 root.jsonLogic = factory(); 5997 } 5998}(this, function() { 5999 "use strict"; 6000 /* globals console:false */ 6001 6002 if ( ! Array.isArray) { 6003 Array.isArray = function(arg) { 6004 return Object.prototype.toString.call(arg) === "[object Array]"; 6005 }; 6006 } 6007 6008 /** 6009 * Return an array that contains no duplicates (original not modified) 6010 * @param {array} array Original reference array 6011 * @return {array} New array with no duplicates 6012 */ 6013 function arrayUnique(array) { 6014 var a = []; 6015 for (var i=0, l=array.length; i<l; i++) { 6016 if (a.indexOf(array[i]) === -1) { 6017 a.push(array[i]); 6018 } 6019 } 6020 return a; 6021 } 6022 6023 var jsonLogic = {}; 6024 var operations = { 6025 "==": function(a, b) { 6026 return a == b; 6027 }, 6028 "===": function(a, b) { 6029 return a === b; 6030 }, 6031 "!=": function(a, b) { 6032 return a != b; 6033 }, 6034 "!==": function(a, b) { 6035 return a !== b; 6036 }, 6037 ">": function(a, b) { 6038 return a > b; 6039 }, 6040 ">=": function(a, b) { 6041 return a >= b; 6042 }, 6043 "<": function(a, b, c) { 6044 return (c === undefined) ? a < b : (a < b) && (b < c); 6045 }, 6046 "<=": function(a, b, c) { 6047 return (c === undefined) ? a <= b : (a <= b) && (b <= c); 6048 }, 6049 "!!": function(a) { 6050 return jsonLogic.truthy(a); 6051 }, 6052 "!": function(a) { 6053 return !jsonLogic.truthy(a); 6054 }, 6055 "%": function(a, b) { 6056 return a % b; 6057 }, 6058 "log": function(a) { 6059 console.log(a); return a; 6060 }, 6061 "in": function(a, b) { 6062 if (!b || typeof b.indexOf === "undefined") return false; 6063 return (b.indexOf(a) !== -1); 6064 }, 6065 "cat": function() { 6066 return Array.prototype.join.call(arguments, ""); 6067 }, 6068 "substr": function(source, start, end) { 6069 if (end < 0) { 6070 // JavaScript doesn't support negative end, this emulates PHP behavior 6071 var temp = String(source).substr(start); 6072 return temp.substr(0, temp.length + end); 6073 } 6074 return String(source).substr(start, end); 6075 }, 6076 "+": function() { 6077 return Array.prototype.reduce.call(arguments, function(a, b) { 6078 return parseFloat(a, 10) + parseFloat(b, 10); 6079 }, 0); 6080 }, 6081 "*": function() { 6082 return Array.prototype.reduce.call(arguments, function(a, b) { 6083 return parseFloat(a, 10) * parseFloat(b, 10); 6084 }); 6085 }, 6086 "-": function(a, b) { 6087 if (b === undefined) { 6088 return -a; 6089 } else { 6090 return a - b; 6091 } 6092 }, 6093 "/": function(a, b) { 6094 return a / b; 6095 }, 6096 "min": function() { 6097 return Math.min.apply(this, arguments); 6098 }, 6099 "max": function() { 6100 return Math.max.apply(this, arguments); 6101 }, 6102 "merge": function() { 6103 return Array.prototype.reduce.call(arguments, function(a, b) { 6104 return a.concat(b); 6105 }, []); 6106 }, 6107 "var": function(a, b) { 6108 var not_found = (b === undefined) ? null : b; 6109 var data = this; 6110 if (typeof a === "undefined" || a==="" || a===null) { 6111 return data; 6112 } 6113 var sub_props = String(a).split("."); 6114 for (var i = 0; i < sub_props.length; i++) { 6115 if (data === null || data === undefined) { 6116 return not_found; 6117 } 6118 // Descending into data 6119 data = data[sub_props[i]]; 6120 if (data === undefined) { 6121 return not_found; 6122 } 6123 } 6124 return data; 6125 }, 6126 "missing": function() { 6127 /* 6128 Missing can receive many keys as many arguments, like {"missing:[1,2]} 6129 Missing can also receive *one* argument that is an array of keys, 6130 which typically happens if it's actually acting on the output of another command 6131 (like 'if' or 'merge') 6132 */ 6133 6134 var missing = []; 6135 var keys = Array.isArray(arguments[0]) ? arguments[0] : arguments; 6136 6137 for (var i = 0; i < keys.length; i++) { 6138 var key = keys[i]; 6139 var value = jsonLogic.apply({"var": key}, this); 6140 if (value === null || value === "") { 6141 missing.push(key); 6142 } 6143 } 6144 6145 return missing; 6146 }, 6147 "missing_some": function(need_count, options) { 6148 // missing_some takes two arguments, how many (minimum) items must be present, and an array of keys (just like 'missing') to check for presence. 6149 var are_missing = jsonLogic.apply({"missing": options}, this); 6150 6151 if (options.length - are_missing.length >= need_count) { 6152 return []; 6153 } else { 6154 return are_missing; 6155 } 6156 }, 6157 }; 6158 6159 jsonLogic.is_logic = function(logic) { 6160 return ( 6161 typeof logic === "object" && // An object 6162 logic !== null && // but not null 6163 ! Array.isArray(logic) && // and not an array 6164 Object.keys(logic).length === 1 // with exactly one key 6165 ); 6166 }; 6167 6168 /* 6169 This helper will defer to the JsonLogic spec as a tie-breaker when different language interpreters define different behavior for the truthiness of primitives. E.g., PHP considers empty arrays to be falsy, but Javascript considers them to be truthy. JsonLogic, as an ecosystem, needs one consistent answer. 6170 6171 Spec and rationale here: http://jsonlogic.com/truthy 6172 */ 6173 jsonLogic.truthy = function(value) { 6174 if (Array.isArray(value) && value.length === 0) { 6175 return false;
vendor: 8,637 bytes, lines 6176-6437
6176 } 6177 return !! value; 6178 }; 6179 6180 6181 jsonLogic.get_operator = function(logic) { 6182 return Object.keys(logic)[0]; 6183 }; 6184 6185 jsonLogic.get_values = function(logic) { 6186 return logic[jsonLogic.get_operator(logic)]; 6187 }; 6188 6189 jsonLogic.apply = function(logic, data) { 6190 // Does this array contain logic? Only one way to find out. 6191 if (Array.isArray(logic)) { 6192 return logic.map(function(l) { 6193 return jsonLogic.apply(l, data); 6194 }); 6195 } 6196 // You've recursed to a primitive, stop! 6197 if ( ! jsonLogic.is_logic(logic) ) { 6198 return logic; 6199 } 6200 6201 var op = jsonLogic.get_operator(logic); 6202 var values = logic[op]; 6203 var i; 6204 var current; 6205 var scopedLogic; 6206 var scopedData; 6207 var initial; 6208 6209 // easy syntax for unary operators, like {"var" : "x"} instead of strict {"var" : ["x"]} 6210 if ( ! Array.isArray(values)) { 6211 values = [values]; 6212 } 6213 6214 // 'if', 'and', and 'or' violate the normal rule of depth-first calculating consequents, let each manage recursion as needed. 6215 if (op === "if" || op == "?:") { 6216 /* 'if' should be called with a odd number of parameters, 3 or greater 6217 This works on the pattern: 6218 if( 0 ){ 1 }else{ 2 }; 6219 if( 0 ){ 1 }else if( 2 ){ 3 }else{ 4 }; 6220 if( 0 ){ 1 }else if( 2 ){ 3 }else if( 4 ){ 5 }else{ 6 }; 6221 6222 The implementation is: 6223 For pairs of values (0,1 then 2,3 then 4,5 etc) 6224 If the first evaluates truthy, evaluate and return the second 6225 If the first evaluates falsy, jump to the next pair (e.g, 0,1 to 2,3) 6226 given one parameter, evaluate and return it. (it's an Else and all the If/ElseIf were false) 6227 given 0 parameters, return NULL (not great practice, but there was no Else) 6228 */ 6229 for (i = 0; i < values.length - 1; i += 2) { 6230 if ( jsonLogic.truthy( jsonLogic.apply(values[i], data) ) ) { 6231 return jsonLogic.apply(values[i+1], data); 6232 } 6233 } 6234 if (values.length === i+1) { 6235 return jsonLogic.apply(values[i], data); 6236 } 6237 return null; 6238 } else if (op === "and") { // Return first falsy, or last 6239 for (i=0; i < values.length; i+=1) { 6240 current = jsonLogic.apply(values[i], data); 6241 if ( ! jsonLogic.truthy(current)) { 6242 return current; 6243 } 6244 } 6245 return current; // Last 6246 } else if (op === "or") {// Return first truthy, or last 6247 for (i=0; i < values.length; i+=1) { 6248 current = jsonLogic.apply(values[i], data); 6249 if ( jsonLogic.truthy(current) ) { 6250 return current; 6251 } 6252 } 6253 return current; // Last 6254 } else if (op === "filter") { 6255 scopedData = jsonLogic.apply(values[0], data); 6256 scopedLogic = values[1]; 6257 6258 if ( ! Array.isArray(scopedData)) { 6259 return []; 6260 } 6261 // Return only the elements from the array in the first argument, 6262 // that return truthy when passed to the logic in the second argument. 6263 // For parity with JavaScript, reindex the returned array 6264 return scopedData.filter(function(datum) { 6265 return jsonLogic.truthy( jsonLogic.apply(scopedLogic, datum)); 6266 }); 6267 } else if (op === "map") { 6268 scopedData = jsonLogic.apply(values[0], data); 6269 scopedLogic = values[1]; 6270 6271 if ( ! Array.isArray(scopedData)) { 6272 return []; 6273 } 6274 6275 return scopedData.map(function(datum) { 6276 return jsonLogic.apply(scopedLogic, datum); 6277 }); 6278 } else if (op === "reduce") { 6279 scopedData = jsonLogic.apply(values[0], data); 6280 scopedLogic = values[1]; 6281 initial = typeof values[2] !== "undefined" ? values[2] : null; 6282 6283 if ( ! Array.isArray(scopedData)) { 6284 return initial; 6285 } 6286 6287 return scopedData.reduce( 6288 function(accumulator, current) { 6289 return jsonLogic.apply( 6290 scopedLogic, 6291 {current: current, accumulator: accumulator} 6292 ); 6293 }, 6294 initial 6295 ); 6296 } else if (op === "all") { 6297 scopedData = jsonLogic.apply(values[0], data); 6298 scopedLogic = values[1]; 6299 // All of an empty set is false. Note, some and none have correct fallback after the for loop 6300 if ( ! Array.isArray(scopedData) || ! scopedData.length) { 6301 return false; 6302 } 6303 for (i=0; i < scopedData.length; i+=1) { 6304 if ( ! jsonLogic.truthy( jsonLogic.apply(scopedLogic, scopedData[i]) )) { 6305 return false; // First falsy, short circuit 6306 } 6307 } 6308 return true; // All were truthy 6309 } else if (op === "none") { 6310 scopedData = jsonLogic.apply(values[0], data); 6311 scopedLogic = values[1]; 6312 6313 if ( ! Array.isArray(scopedData) || ! scopedData.length) { 6314 return true; 6315 } 6316 for (i=0; i < scopedData.length; i+=1) { 6317 if ( jsonLogic.truthy( jsonLogic.apply(scopedLogic, scopedData[i]) )) { 6318 return false; // First truthy, short circuit 6319 } 6320 } 6321 return true; // None were truthy 6322 } else if (op === "some") { 6323 scopedData = jsonLogic.apply(values[0], data); 6324 scopedLogic = values[1]; 6325 6326 if ( ! Array.isArray(scopedData) || ! scopedData.length) { 6327 return false; 6328 } 6329 for (i=0; i < scopedData.length; i+=1) { 6330 if ( jsonLogic.truthy( jsonLogic.apply(scopedLogic, scopedData[i]) )) { 6331 return true; // First truthy, short circuit 6332 } 6333 } 6334 return false; // None were truthy 6335 } 6336 6337 // Everyone else gets immediate depth-first recursion 6338 values = values.map(function(val) { 6339 return jsonLogic.apply(val, data); 6340 }); 6341 6342 6343 // The operation is called with "data" bound to its "this" and "values" passed as arguments. 6344 // Structured commands like % or > can name formal arguments while flexible commands (like missing or merge) can operate on the pseudo-array arguments 6345 // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Functions/arguments 6346 if (operations.hasOwnProperty(op) && typeof operations[op] === "function") { 6347 return operations[op].apply(data, values); 6348 } else if (op.indexOf(".") > 0) { // Contains a dot, and not in the 0th position 6349 var sub_ops = String(op).split("."); 6350 var operation = operations; 6351 for (i = 0; i < sub_ops.length; i++) { 6352 if (!operation.hasOwnProperty(sub_ops[i])) { 6353 throw new Error("Unrecognized operation " + op + 6354 " (failed at " + sub_ops.slice(0, i+1).join(".") + ")"); 6355 } 6356 // Descending into operations 6357 operation = operation[sub_ops[i]]; 6358 } 6359 6360 return operation.apply(data, values); 6361 } 6362 6363 throw new Error("Unrecognized operation " + op ); 6364 }; 6365 6366 jsonLogic.uses_data = function(logic) { 6367 var collection = []; 6368 6369 if (jsonLogic.is_logic(logic)) { 6370 var op = jsonLogic.get_operator(logic); 6371 var values = logic[op]; 6372 6373 if ( ! Array.isArray(values)) { 6374 values = [values]; 6375 } 6376 6377 if (op === "var") { 6378 // This doesn't cover the case where the arg to var is itself a rule. 6379 collection.push(values[0]); 6380 } else { 6381 // Recursion! 6382 values.forEach(function(val) { 6383 collection.push.apply(collection, jsonLogic.uses_data(val) ); 6384 }); 6385 } 6386 } 6387 6388 return arrayUnique(collection); 6389 }; 6390 6391 jsonLogic.add_operation = function(name, code) { 6392 operations[name] = code; 6393 }; 6394 6395 jsonLogic.rm_operation = function(name) { 6396 delete operations[name]; 6397 }; 6398 6399 jsonLogic.rule_like = function(rule, pattern) { 6400 // console.log("Is ". JSON.stringify(rule) . " like " . JSON.stringify(pattern) . "?"); 6401 if (pattern === rule) { 6402 return true; 6403 } // TODO : Deep object equivalency? 6404 if (pattern === "@") { 6405 return true; 6406 } // Wildcard! 6407 if (pattern === "number") { 6408 return (typeof rule === "number"); 6409 } 6410 if (pattern === "string") { 6411 return (typeof rule === "string"); 6412 } 6413 if (pattern === "array") { 6414 // !logic test might be superfluous in JavaScript 6415 return Array.isArray(rule) && ! jsonLogic.is_logic(rule); 6416 } 6417 6418 if (jsonLogic.is_logic(pattern)) { 6419 if (jsonLogic.is_logic(rule)) { 6420 var pattern_op = jsonLogic.get_operator(pattern); 6421 var rule_op = jsonLogic.get_operator(rule); 6422 6423 if (pattern_op === "@" || pattern_op === rule_op) { 6424 // echo "\nOperators match, go deeper\n"; 6425 return jsonLogic.rule_like( 6426 jsonLogic.get_values(rule, false), 6427 jsonLogic.get_values(pattern, false) 6428 ); 6429 } 6430 } 6431 return false; // pattern is logic, rule isn't, can't be eq 6432 } 6433 6434 if (Array.isArray(pattern)) { 6435 if (Array.isArray(rule)) { 6436 if (pattern.length !== rule.length) { 6437 return false;
6438 } 6439 /* 6440 Note, array order MATTERS, because we're using this array test logic to consider arguments, where order can matter. (e.g., + is commutative, but '-' or 'if' or 'var' are NOT) 6441 */ 6442 for (var i = 0; i < pattern.length; i += 1) { 6443 // If any fail, we fail 6444 if ( ! jsonLogic.rule_like(rule[i], pattern[i])) { 6445 return false; 6446 } 6447 } 6448 return true; // If they *all* passed, we pass 6449 } else { 6450 return false; // Pattern is array, rule isn't 6451 } 6452 } 6453 6454 // Not logic, not array, not a === match for rule. 6455 return false; 6456 }; 6457 6458 return jsonLogic; 6459})); 6460</script>
6460<!-- BEGIN app snippet: properties_mapping -->
6460<script> 6461const ap_Config = { 6462 page_title: "Your Shopping Cart", 6463 cart: { 6464 checkout_charge_amount: 0, 6465 item_count: 0, 6466 note: null, 6467 total_discount: 0, 6468 total_price: 0, 6469 }, 6470 date: new Date().toISOString().split('T')[0], 6471 date_time: new Date().toISOString(), 6472 localization : { 6473 country: { 6474 iso_code: "US", 6475 currency: { 6476 symbol: "$" 6477 } 6478 }, 6479 market: { 6480 handle: 'us', 6481 id: 78359593253 6482 } 6483 }, 6484 customer: { 6485 b2b: null, 6486 current_company: { 6487 name: null 6488 }, 6489 email: null, 6490 last_order: { 6491 id: null 6492 } 6493 }, 6494 shop: { 6495 address:{ 6496 address1: "111 Town Square Pl ste 1238", 6497 address2: "", 6498 city: "Jersey City", 6499 country: "United States", 6500 province: "New Jersey", 6501 province_code: "NJ", 6502 } 6503 }, 6504} 6505</script>
6505<!-- END app snippet -->
6505<script type="module"> 6506 const ROOT_URL = typeof window.Shopify.routes.root == "undefined" ? "/" : window.Shopify.routes.root; 6507 const getInterpolatedValue = (value) => { 6508 if(!window.cartAttributesConfig.isUltimate) return value; 6509 const tagPattern = /\{\{([^\}]+)\}\}/g; 6510 let interpolatedValue = value; 6511 let match; 6512 while ((match = tagPattern.exec(value)) !== null) { 6513 const path = match[1].trim().split('.'); 6514 let context = ap_Config; 6515 for (const segment of path) { 6516 console.log("segment", segment); 6517 if (context.hasOwnProperty(segment)) { 6518 context = context[segment]; 6519 } else { 6520 console.error(`Path segment '${segment}' not found in context.`); 6521 context = undefined; 6522 break; 6523 } 6524 } 6525 if (context !== undefined) { 6526 interpolatedValue = interpolatedValue.replace(new RegExp(match[0].replace(/[.*+?^${}()|[\]\\]/g, '\\$&'), 'g'), context); 6527 } 6528 } 6529 return interpolatedValue; 6530 } 6531 6532 6533 6534 console.log("Not ultimate"); 6535 6536 window.cartAttributesConfig = { 6537 6538 6539 metaobjects: null, 6540 } 6541 let FLAG = false 6542 6543 let logCart = false 6544 6545 const customerCountry = "US" 6546 const market = 78359593253 6547 6548 6549 xhook.after(async function (request, response) { 6550 if (!request.url.toString().match(/cart\/add/) && !request.url.toString().match(/cart\/change/)) return 6551 if (FLAG === true) return 6552 if (!window.cartAttributesConfig.metaobjects?.length) return 6553 if (response.status === 200){ 6554 const ATTRIBUTES = {}; 6555 const MODIFIED_ITEMS = new Set(); // Track which items were actually modified by rules 6556 const PRODUCT_ATTRIBUTES = {}; 6557 let cart = await fetch(window.origin + "/cart.json").then(res => res.json()); 6558 for(const {id, properties} of cart.items) { 6559 PRODUCT_ATTRIBUTES[id] = properties; 6560 } 6561 const productsInCartReq = cart.items.map(async (item) => await fetch(window.origin + `/products/${item.handle}.json`).then(res => res.json()) ); 6562 const productsInCart = await Promise.all(productsInCartReq); 6563 const tagsInCart = productsInCart.map(product => product.product.tags.split(", ")).flat(); 6564 6565 const collectionsInCart = [] 6566 6567 window.cartAttributesConfig.metaobjects?.forEach((metaobject, i) => { 6568 6569 if (metaobject.debug) { 6570 console.log("TAGS in cart: ", tagsInCart); 6571 console.log("COLLECTIONS in cart: ", collectionsInCart); 6572 console.log("Cart pre_script") 6573 console.log(cart) 6574 6575 metaobject.debug && console.log(metaobject); 6576 logCart = true; 6577 } 6578 6579 if (metaobject.active == true) { 6580 metaobject.debug && console.log(metaobject.title + " is included in the textArea"); 6581 const cartWithAdditionalFields = { 6582 ...cart, 6583 tagsInCart: tagsInCart, 6584 collectionsInCart: collectionsInCart, 6585 customerCountry: customerCountry, 6586 market: `gid://shopify/Market/${market}` 6587 } 6588 // If rule truthy 6589 if (window.jsonLogic.apply(metaobject.rules, cartWithAdditionalFields)) { 6590 metaobject.debug && console.log("Rule is truthy. We're adding its attributes"); 6591 6592 if (metaobject.target !== "product") { // Add Cart attr 6593 metaobject.attributes.forEach(a => { 6594 let interpolatedValue = getInterpolatedValue(a.value) 6595 ATTRIBUTES[a.key] = interpolatedValue; 6596 }); 6597 } 6598 6599 if (metaobject.target !== "cart") { // Add Product attr 6600 console.log("This is our metaobject and its products: ", metaobject); 6601 6602 const project_attr = {}; 6603 metaobject.attributes.forEach(a => { 6604 let interpolatedValue = getInterpolatedValue(a.value) 6605 project_attr[a.key] = interpolatedValue; 6606 }); 6607 metaobject.products.forEach(product => { 6608 const id = product.id.split("/").at(-1); 6609 PRODUCT_ATTRIBUTES[id] = { ...PRODUCT_ATTRIBUTES[id], ...project_attr }; 6610 MODIFIED_ITEMS.add(id); 6611 }); 6612 } 6613 6614 // If rule not truthy 6615 } else { 6616 metaobject.debug && console.log("Rule is not truthy. We're invalidating its attributes"); 6617 6618 if (metaobject.target !== "product") { //Cleanup for Cart
6619 metaobject.attributes.forEach((a, i) => { 6620 if (cart.attributes[a.key] !== undefined && !metaobject.keep) { 6621 ATTRIBUTES[a.key] = null; 6622 } 6623 }); 6624 } 6625 6626 6627 else if (metaobject.target !== "cart" && !metaobject.keep) { //Cleanup for Products 6628 6629 metaobject.products.forEach(product => { 6630 const id = product.id.split("/").at(-1); 6631 metaobject.attributes.forEach(a => { 6632 if (PRODUCT_ATTRIBUTES[id]?.[a.key] !== undefined) { 6633 delete PRODUCT_ATTRIBUTES[id][a.key]; 6634 MODIFIED_ITEMS.add(id); 6635 } 6636 }); 6637 }); 6638 6639 } 6640 6641 } 6642 } 6643 metaobject.debug && console.log("Cart attributes to push: ", ATTRIBUTES); 6644 if(metaobject.debug){ 6645 console.log(i+1+"* METAOBJ ATTRIBUTES: ", JSON.parse(JSON.stringify(PRODUCT_ATTRIBUTES))); 6646 } 6647 }); 6648 6649 // Only send /cart/change.js for items that were actually modified by rules 6650 // AND whose desired properties differ from what's already on the cart line 6651 const itemsToUpdate = cart.items.filter(item => { 6652 if (!MODIFIED_ITEMS.has(String(item.id))) return false; 6653 const desired = PRODUCT_ATTRIBUTES[item.id] || {}; 6654 const current = item.properties || {}; 6655 // Check if every desired key/value already matches the current properties 6656 const desiredKeys = Object.keys(desired); 6657 const currentKeys = Object.keys(current); 6658 if (desiredKeys.length !== currentKeys.length) return true; 6659 for (const key of desiredKeys) { 6660 if (String(desired[key]) !== String(current[key])) return true; 6661 } 6662 return false; // All properties already match, no need to update 6663 }); 6664 if (itemsToUpdate.length > 0) { 6665 FLAG = true; 6666 await Promise.all(itemsToUpdate.map(item => { 6667 const attributes = PRODUCT_ATTRIBUTES[item.id]; 6668 return fetch(ROOT_URL + "cart/change.js", { 6669 method: 'POST', 6670 headers: { 6671 'Content-Type': 'application/json' 6672 }, 6673 body: JSON.stringify({ 6674 id: item.key, 6675 properties: attributes, 6676 quantity: item.quantity 6677 }) 6678 }).catch(err => console.error(err)); 6679 })); 6680 FLAG = false; 6681 } 6682 6683 // Only send /cart/update.js when we actually have attributes to set/clear 6684 const hasCartAttributes = Object.keys(ATTRIBUTES).length > 0; 6685 if (hasCartAttributes) { 6686 fetch(ROOT_URL + 'cart/update.js', { 6687 method: 'POST', 6688 headers: { 6689 'Content-Type': 'application/json' 6690 }, 6691 body: JSON.stringify({attributes: ATTRIBUTES}) 6692 }) 6693 .then((res) => res.json()) 6694 .then(data => { 6695 logCart && console.log("cartResult",data); 6696 return data 6697 }) 6698 .catch((error) => { 6699 console.error('Error:', error); 6700 }); 6701 } 6702 6703 } 6704 }); 6705</script>
6705 6706 6707 6708 6709<!-- END app block --><!-- BEGIN app block: shopify://apps/ordergroove-subscriptions/blocks/main-app-embed/cf69fc68-e893-4d33-87e3-4e71e2f5822f --> 6710 6711 6712 6713 6714 6715
6716<script 6717 type="text/javascript" 6718 src="https://static.ordergroove.com/bca7c772433c11ef883fca47d7dcee64/main.js" 6719 defer 6720 data-shopify-selling-plans 6721 ></script>
6721 6722 6723
6724<script> 6725 document.addEventListener("DOMContentLoaded", (event) => { 6726 const ordergrooveJsInstances = Array.from(document.querySelectorAll('script[src*="ordergroove.js"]')); 6727 if (ordergrooveJsInstances.length > 0) { 6728 console.warn("Multiple Ordergroove Theme Integrations appear to be in use. Subscriptions may not work as intended. Please check your theme setup."); 6729 } 6730 }); 6731</script>
6731 6732 6733 6734<!-- END app block --><!-- BEGIN app block: shopify://apps/klaviyo-email-marketing-sms/blocks/klaviyo-onsite-embed/2632fe16-c075-4321-a88b-50b567f42507 --> 6735 6736 6737 6738 6739 6740 6741 6742 6743 6744 6745 6746 6747
6747<script async src="https://static.klaviyo.com/onsite/js/WvqAB9/klaviyo.js?company_id=WvqAB9"></script>
6747 6748
6748<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>
6748 6749 6750 6751 6752 6753 6754 6755
6755<script> 6756 window.klaviyoReviewsProductDesignMode = false 6757 </script>
6757 6758 6759 6760 6761 <!-- BEGIN app snippet: customer-hub-data -->
6761<script> 6762 if (!window.customerHub) { 6763 window.customerHub = {}; 6764 } 6765 window.customerHub.storefrontRoutes = { 6766 login: "https://yvesrocherusa.com/customer_authentication/redirect?locale=en®ion_country=US?return_url=%2F%23k-hub", 6767 register: "https://account.yvesrocherusa.com?locale=en&buyer_flags=eyJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJ5dmVzcm9jaGVydXMubXlzaG9waWZ5LmNvbSIsImZsYWdzIjpbXSwiZXhwIjoxNzkwOTU0MDQwLCJuYmYiOjE3OTAzNDkyNDB9.UA4lZghKY6EUKlsd8djZVhn-d05mb11iQ0vxW5Wpij4?return_url=%2F%23k-hub", 6768 logout: "/account/logout", 6769 profile: "/account", 6770 addresses: "/account/addresses", 6771 }; 6772 6773 window.customerHub.userId = null; 6774 6775 window.customerHub.storeDomain = "yvesrocherus.myshopify.com"; 6776 6777 6778 6779 6780 window.customerHub.storeLocale = { 6781 currentLanguage: 'en', 6782 currentCountry: 'US', 6783 availableLanguages: [ 6784 6785 { 6786 iso_code: 'en', 6787 endonym_name: 'English' 6788 } 6789 6790 ], 6791 availableCountries: [ 6792 6793 { 6794 iso_code: 'US', 6795 name: 'United States', 6796 currency_code: 'USD' 6797 } 6798 6799 ] 6800 }; 6801 6802</script>
6802 6803<!-- END app snippet --> 6804 6805 6806 6807 6808 6809 6810 6811<!-- END app block --><!-- BEGIN app block: shopify://apps/yotpo-loyalty-rewards/blocks/loader-app-embed-block/2f9660df-5018-4e02-9868-ee1fb88d6ccd --> 6812
6812<script src="https://cdn-widgetsrepository.yotpo.com/v1/loader/SPKchnzwE1MiBaB89L4Oug" async></script>
6812 6813 6814 6815 6816 6817<!-- END app block --><!-- BEGIN app block: shopify://apps/yotpo-product-reviews/blocks/settings/eb7dfd7d-db44-4334-bc49-c893b51b36cf --> 6818 6819 6820
6820<script type="text/javascript" src="https://cdn-widgetsrepository.yotpo.com/v1/loader/R8tzVWnT1yZtFuAr78Hxyc2BUgqskNfUHpqJyQH1?languageCode=en" async></script>
6820 6821 6822 6823 6824 6825<!-- END app block --><!-- BEGIN app block: shopify://apps/checkmate/blocks/checked_network/697a3444-1374-4f13-ba8c-ec03db25ebf0 --> 6826
6826<script 6827 src='/apps/cm/v1/load?source=embed' 6828 async 6829 ></script>
6829 6830 6831 6832 6833<!-- END app block -->
6833<script src="https://cdn.shopify.com/extensions/01a0d8da-dbb6-759e-90f0-31975754fa90/forms-2597/assets/shopify-forms-loader.js" type="text/javascript" defer="defer"></script>
vendor: 1 bytes, line 6833
6833
6834<script src="https://cdn.shopify.com/extensions/01a0b7a6-6b2a-7126-be17-93581506982e/applovin-shop-integration-97/assets/app-embed.js" type="text/javascript" defer="defer"></script>
6834 6835<link href="https://monorail-edge.shopifysvc.com" rel="dns-prefetch">
6836<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: 86467412261,url: window.location.href,navigation_start,duration: currentMs - navigation_start,session_token,page_type: "cart"};window.navigator.sendBeacon("https://monorail-edge.shopifysvc.com/v1/produce", JSON.stringify({schema_id: "online_store_buyer_site_abandonment/1.1",payload: payload,metadata: {event_created_at_ms: currentMs,event_sent_at_ms: currentMs}}));}}window.addEventListener('pagehide', handle_abandonment_event);}}());</script>
vendor: 1 bytes, line 6836
6836
6837<script> 6838 window.__TREKKIE_SHIM_QUEUE = window.__TREKKIE_SHIM_QUEUE || []; 6839</script>
vendor: 1 bytes, line 6839
6839
6840<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}
6840).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: 86467412261,storefrontBaseUrl: "https://yvesrocherusa.com",extensionsBaseUrl: "https://extensions.shopifycdn.com/cdn/shopifycloud/web-pixels-manager",monorailEndpoint: "https://yvesrocherusa.com/.well-known/shopify/monorail/unstable/produce_batch",surface: "storefront-renderer",enabledBetaFlags: ["16072cab","8450a54b","7ee89bf1"],webPixelsConfigList: [{"id":"2977726757","configuration":"{\"accountID\":\"yvesrocherus.myshopify.com\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"6754ad72e0e28b16b01649eca2e02d50","type":"APP","apiClientId":124999335937,"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":"optimized"},{"id":"2403598629","configuration":"{\"shopId\":\"yvesrocherus.myshopify.com\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"7093dff47f098f6de2afb75b62011ebe","type":"APP","apiClientId":2753413,"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"}
6840,{"id":"2260566309","configuration":"{\"eventKey\":\"f3093615-e5dd-4ac2-b015-2b60d584813b\",\"name\":\"yvesrocherus - Axon Pixel\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"59063c86dca90ebaa562063a0c13be50","type":"APP","apiClientId":256560922625,"privacyPurposes":["ANALYTICS","MARKETING","SALE_OF_DATA"],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_address","read_customer_email","read_customer_personal_data","read_customer_phone"],"dataSharingControls":["share_all_events"]},"dataSharingState":"optimized"},{"id":"2259910949","configuration":"{\"pixel_id\":\"754550280173660\",\"pixel_type\":\"facebook_pixel\"}","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":"1914634533","configuration":"{\"accountID\":\"WvqAB9\",\"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":"1665925413","configuration":"{\"accountID\":\"a68d1a4a-fe7d-4836-984b-9de8acd67390\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"a28b838aed79eff02fcca912bdccb6f5","type":"APP","apiClientId":2376822,"privacyPurposes":["ANALYTICS","MARKETING","SALE_OF_DATA"],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_personal_data"],"dataSharingControls":["share_all_events"]},"dataSharingState":"optimized"},{"id":"857243941","configuration":"{\"config\":\"{\\\"google_tag_ids\\\":[\\\"G-ZK2P6EQ667\\\",\\\"AW-17704069105\\\",\\\"GT-NB39VLPH\\\"],\\\"target_country\\\":\\\"US\\\",\\\"gtag_events\\\":[{\\\"type\\\":\\\"search\\\",\\\"action_label\\\":[\\\"G-ZK2P6EQ667\\\",\\\"AW-17704069105\\\/H9pXCPD5hLobEPHP-vlB\\\"]},{\\\"type\\\":\\\"begin_checkout\\\",\\\"action_label\\\":[\\\"G-ZK2P6EQ667\\\",\\\"AW-17704069105\\\/IpPACPb5hLobEPHP-vlB\\\"]},{\\\"type\\\":\\\"remove_from_cart\\\",\\\"action_label\\\":\\\"G-ZK2P6EQ667\\\"},{\\\"type\\\":\\\"view_item\\\",\\\"action_label\\\":[\\\"G-ZK2P6EQ667\\\",\\\"AW-17704069105\\\/fldfCO35hLobEPHP-vlB\\\",\\\"MC-4T2C94KS2L\\\",\\\"MC-LPFLGBG9FC\\\"]},{\\\"type\\\":\\\"purchase\\\",\\\"action_label\\\":[\\\"G-ZK2P6EQ667\\\",\\\"AW-17704069105\\\/Dc3zCOf5hLobEPHP-vlB\\\",\\\"MC-4T2C94KS2L\\\",\\\"MC-LPFLGBG9FC\\\"]},{\\\"type\\\":\\\"add_shipping_info\\\",\\\"action_label\\\":\\\"G-ZK2P6EQ667\\\"},{\\\"type\\\":\\\"page_view\\\",\\\"action_label\\\":[\\\"G-ZK2P6EQ667\\\",\\\"AW-17704069105\\\/Oy-RCOr5hLobEPHP-vlB\\\",\\\"MC-4T2C94KS2L\\\",\\\"MC-LPFLGBG9FC\\\"]},{\\\"type\\\":\\\"view_item_list\\\",\\\"action_label\\\":\\\"G-ZK2P6EQ667\\\"},{\\\"type\\\":\\\"add_payment_info\\\",\\\"action_label\\\":[\\\"G-ZK2P6EQ667\\\",\\\"AW-17704069105\\\/gL_ACPn5hLobEPHP-vlB\\\"]},{\\\"type\\\":\\\"add_to_cart\\\",\\\"action_label\\\":[\\\"G-ZK2P6EQ667\\\",\\\"AW-17704069105\\\/s0jqCPP5hLobEPHP-vlB\\\"]},{\\\"type\\\":\\\"view_cart\\\",\\\"action_label\\\":\\\"G-ZK2P6EQ667\\\"}],\\\"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":"791806245","configuration":"{\"accountId\":\"yvesrocherus.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":"526254373","configuration":"{\"campaignID\":\"27010\",\"externalExecutionURL\":\"https:\/\/engine.saasler.com\/api\/v1\/webhook_executions\/f94c1f8a306a7b5bccb83e6bbfeffed6\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"7a47b06116c806e4367c27d301f4f458","type":"APP","apiClientId":3546795,"privacyPurposes":[],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_address","read_customer_email","read_customer_name","read_customer_personal_data","read_customer_phone"],"dataSharingControls":["share_all_events"]}
6840,"dataSharingState":"unrestricted"},{"id":"481755429","configuration":"{\"appId\":\"222200709\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"ee22bafa32b5f79f80623657caf9c28f","type":"APP","apiClientId":5324603,"privacyPurposes":["ANALYTICS","SALE_OF_DATA"],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_personal_data"],"dataSharingControls":["share_all_events"]},"dataSharingState":"optimized"},{"id":"459342117","configuration":"{\"ti\":\"97133543\",\"endpoint\":\"https:\/\/bat.bing.com\/action\/0\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"5ee93563fe31b11d2d65e2f09a5229dc","type":"APP","apiClientId":2997493,"privacyPurposes":["ANALYTICS","MARKETING","SALE_OF_DATA"],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_personal_data"],"dataSharingControls":["share_all_events"]},"dataSharingState":"optimized"},{"id":"457900325","configuration":"{\"tagID\":\"2612404452575\"}","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":"101843237","eventPayloadVersion":"1","runtimeContext":"LAX","scriptVersion":"110","type":"CUSTOM","privacyPurposes":["SALE_OF_DATA"],"name":"heap"},{"id":"113312037","eventPayloadVersion":"1","runtimeContext":"LAX","scriptVersion":"1","type":"CUSTOM","privacyPurposes":["ANALYTICS","MARKETING","SALE_OF_DATA"],"name":"addShoppers"},{"id":"123142437","eventPayloadVersion":"1","runtimeContext":"LAX","scriptVersion":"1","type":"CUSTOM","privacyPurposes":["ANALYTICS","MARKETING","SALE_OF_DATA"],"name":"Retention.com Script "},{"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":"Yves Rocher USA","paymentSettings":{"currencyCode":"USD"},"myshopifyDomain":"yvesrocherus.myshopify.com","countryCode":"US","storefrontUrl":"https:\/\/yvesrocherusa.com"},"customer":null,"cart":null,"checkout":null,"productVariants":[],"products":[{"id":"9765389893925","handle":"try-handle-fee","isCollective":null,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"50195860652325","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]}],"purchasingCompany":null},},"https://yvesrocherusa.com/cdn","c8540278we853e1abpb62b2c4amde256306",{"modern":"","legacy":""},{"trekkieShim":true,"agentContext":true,"apiClientId":"580111","facebookCapiEnabled":"true","themeId":"186840842533","themePublished":"true","eventMetadataId":"8fa9a301-7a59-4552-a19e-aaa7814bd202","pageType":"cart","shopId":"86467412261","storefrontBaseUrl":"https:\/\/yvesrocherusa.com","extensionBaseUrl":"https:\/\/extensions.shopifycdn.com\/cdn\/shopifycloud\/web-pixels-manager","surface":"storefront-renderer","enabledBetaFlags":"[\"16072cab\", \"8450a54b\", \"7ee89bf1\"]","isMerchantRequest":"false","hashVersion":"c8540278we853e1abpb62b2c4amde256306","publish":"custom","events":"[[\"page_viewed\",{}]]"});})();</script>
6840<script> 6841 window.ShopifyAnalytics = window.ShopifyAnalytics || {}; 6842 window.ShopifyAnalytics.meta = window.ShopifyAnalytics.meta || {}; 6843 window.ShopifyAnalytics.meta.currency = 'USD'; 6844 var meta = {"page":{"pageType":"cart","requestId":"75afdf79-3f4e-4d9a-92c1-a459138daaa4-1790349240"}}; 6845 for (var attr in meta) { 6846 window.ShopifyAnalytics.meta[attr] = meta[attr]; 6847 } 6848</script>
vendor: 1 bytes, line 6848
6848
6849<script class="analytics"> 6850 (function () { 6851 var customDocumentWrite = function(content) { 6852 var jquery = null; 6853 6854 if (window.jQuery) { 6855 jquery = window.jQuery; 6856 } else if (window.Checkout && window.Checkout.$) { 6857 jquery = window.Checkout.$; 6858 } 6859 6860 if (jquery) { 6861 jquery('body').append(content); 6862 } 6863 }; 6864 6865 var hasLoggedConversion = function(token) { 6866 if (token) { 6867 return document.cookie.indexOf('loggedConversion=' + token) !== -1; 6868 } 6869 return false; 6870 } 6871 6872 var setCookieIfConversion = function(token) { 6873 if (token) { 6874 var twoMonthsFromNow = new Date(Date.now()); 6875 twoMonthsFromNow.setMonth(twoMonthsFromNow.getMonth() + 2); 6876 6877 document.cookie = 'loggedConversion=' + token + '; expires=' + twoMonthsFromNow; 6878 } 6879 } 6880 6881 var trekkie = window.ShopifyAnalytics.lib = window.trekkie = window.trekkie || []; 6882 window.ShopifyAnalytics.lib.trekkie = window.trekkie; 6883 if (trekkie.integrations) { 6884 return; 6885 } 6886 trekkie.methods = [ 6887 'identify', 6888 'page', 6889 'ready', 6890 'track', 6891 'trackForm', 6892 'trackLink' 6893 ]; 6894 trekkie.factory = function(method) { 6895 return function() { 6896 var args = Array.prototype.slice.call(arguments); 6897 args.unshift(method); 6898 trekkie.push(args); 6899 if (method == 'track' || method == 'page') { 6900 var pageUrl; 6901 try { 6902 pageUrl = window.location.href; 6903 } catch (e) {} 6904 var pageReferrer; 6905 try { 6906 pageReferrer = document.referrer; 6907 } catch (e) {} 6908 try { 6909 if (window.__TREKKIE_SHIM_QUEUE == null) { 6910 window.__TREKKIE_SHIM_QUEUE = []; 6911 } 6912 window.__TREKKIE_SHIM_QUEUE.push({ 6913 from: 'trekkie-stub', 6914 method: method, 6915 args: args.slice(1), 6916 pageContext: { 6917 url: pageUrl, 6918 referrer: pageReferrer 6919 } 6920 }); 6921 } catch (e) { 6922 // no-op 6923 } 6924 } 6925 return trekkie; 6926 }; 6927 }; 6928 for (var i = 0; i < trekkie.methods.length; i++) { 6929 var key = trekkie.methods[i]; 6930 trekkie[key] = trekkie.factory(key); 6931 } 6932 trekkie.load = function(config) { 6933 trekkie.config = config || {}; 6934 trekkie.config.initialDocumentCookie = document.cookie; 6935 var first = document.getElementsByTagName('script')[0]; 6936var script = document.createElement('script'); 6937script.type = 'text/javascript'; 6938script.onerror = function(e) { 6939 var scriptFallback = document.createElement('script'); 6940 scriptFallback.type = 'text/javascript'; 6941 scriptFallback.onerror = function(error) { 6942 var Monorail = { 6943 produce: function produce(monorailDomain, schemaId, payload) { 6944 var currentMs = new Date().getTime(); 6945 var event = { 6946 schema_id: schemaId, 6947 payload: payload, 6948 metadata: { 6949 event_created_at_ms: currentMs, 6950 event_sent_at_ms: currentMs 6951 } 6952 }; 6953 return Monorail.sendRequest("https://" + monorailDomain + "/v1/produce", JSON.stringify(event)); 6954 }, 6955 sendRequest: function sendRequest(endpointUrl, payload) { 6956 // Try the sendBeacon API 6957 if (window && window.navigator && typeof window.navigator.sendBeacon === 'function' && typeof window.Blob === 'function' && !Monorail.isIos12()) { 6958 var blobData = new window.Blob([payload], { 6959 type: 'text/plain' 6960 }); 6961 6962 if (window.navigator.sendBeacon(endpointUrl, blobData)) { 6963 return true; 6964 } // sendBeacon was not successful 6965 6966 } // XHR beacon 6967 6968 var xhr = new XMLHttpRequest(); 6969 6970 try { 6971 xhr.open('POST', endpointUrl); 6972 xhr.setRequestHeader('Content-Type', 'text/plain'); 6973 xhr.send(payload); 6974 } catch (e) { 6975 console.log(e); 6976 } 6977 6978 return false; 6979 }, 6980 isIos12: function isIos12() { 6981 return window.navigator.userAgent.lastIndexOf('iPhone; CPU iPhone OS 12_') !== -1 || window.navigator.userAgent.lastIndexOf('iPad; CPU OS 12_') !== -1; 6982 } 6983 }; 6984 Monorail.produce('monorail-edge.shopifysvc.com', 6985 'trekkie_storefront_load_errors/1.1', 6986 {shop_id: 86467412261, 6987 theme_id: 186840842533, 6988 app_name: "storefront", 6989 context_url: window.location.href, 6990 source_url: "//yvesrocherusa.com/cdn/s/trekkie.storefront.f1ba865b3fecd812ad617f74ac079261075e9edb.min.js"}); 6991 6992 }; 6993 scriptFallback.async = true; 6994 scriptFallback.src = '//yvesrocherusa.com/cdn/s/trekkie.storefront.f1ba865b3fecd812ad617f74ac079261075e9edb.min.js'; 6995 first.parentNode.insertBefore(scriptFallback, first); 6996}; 6997script.async = true; 6998script.src = '//yvesrocherusa.com/cdn/s/trekkie.storefront.f1ba865b3fecd812ad617f74ac079261075e9edb.min.js'; 6999first.parentNode.insertBefore(script, first); 7000 7001 }; 7002 trekkie.load( 7003 {"Trekkie":{"appName":"storefront","development":false,"defaultAttributes":{"shopId":86467412261,"isMerchantRequest":null,"themeId":186840842533,"themeCityHash":"15897755425096411787","contentLanguage":"en","currency":"USD","eventMetadataId":"8fa9a301-7a59-4552-a19e-aaa7814bd202"},"isServerSideCookieWritingEnabled":true,"monorailRegion":"shop_domain","enabledBetaFlags":["764d78cb","8450a54b","7ee89bf1"]},"Session Attribution":{},"S2S":{"facebookCapiEnabled":true,"source":"trekkie-storefront-renderer","apiClientId":580111}} 7004 ); 7005 7006 var loaded = false;
7007 trekkie.ready(function() { 7008 if (loaded) return; 7009 loaded = true; 7010 7011 window.ShopifyAnalytics.lib = window.trekkie; 7012 7013 var originalDocumentWrite = document.write; 7014 document.write = customDocumentWrite; 7015 try { window.ShopifyAnalytics.merchantGoogleAnalytics.call(this); } catch(error) {}; 7016 document.write = originalDocumentWrite; 7017 7018 var match = window.location.pathname.match(/checkouts\/(.+)\/(thank_you|post_purchase)/) 7019 var token = match? match[1]: undefined; 7020 if (!hasLoggedConversion(token)) { 7021 setCookieIfConversion(token); 7022 7023 } 7024 }); 7025 7026 window.ShopifyAnalytics.lib.page(null,{"pageType":"cart","requestId":"75afdf79-3f4e-4d9a-92c1-a459138daaa4-1790349240","shopifyEmitted":true}); 7027 7028 var eventsListenerScript = document.createElement('script'); 7029 eventsListenerScript.async = true; 7030 eventsListenerScript.src = "//yvesrocherusa.com/cdn/shopifycloud/storefront/assets/shop_events_listener-4e26a9ce.js"; 7031 document.getElementsByTagName('head')[0].appendChild(eventsListenerScript); 7032})();</script>
vendor: 1 bytes, line 7032
7032
7033<script 7034 defer 7035 src="https://yvesrocherusa.com/cdn/shopifycloud/perf-kit/shopify-perf-kit-3.9.4.min.js" 7036 data-application="storefront-renderer" 7037 data-shop-id="86467412261" 7038 data-render-region="gcp-us-central1" 7039 data-page-type="cart" 7040 data-theme-instance-id="186840842533" 7041 data-theme-name="Prestige" 7042 data-theme-version="9.2.1" 7043 data-monorail-region="shop_domain" 7044 data-resource-timing-sampling-rate="10" 7045 data-shs="true" 7046 data-shs-beacon="true" 7047 data-shs-export-with-fetch="true" 7048 data-shs-logs-sample-rate="1" 7049 data-shs-beacon-endpoint="https://yvesrocherusa.com/api/collect" 7050></script>
7050 7051<meta name="shopify-y" content="a90d5955-4f53-417b-ba88-f2fd0e2572bf" data-expiration="1821906840000"><meta name="shopify-s" content="dcf68656-b6c6-430d-a554-6a5768586764" data-expiration="1790351040000"><meta name="new-cookie-storage-activated" content="t"> 7052</head> 7053 7054 7055 7056 <body class="features--button-transition features--zoom-image color-scheme color-scheme--scheme-2"> 7057 <!-- Google Tag Manager (noscript) -->
vendor: 68 bytes, lines 7057-7058
7057 7058<noscript><iframe src="https://www.googletagmanager.com/ns.html?id=
7058GTM-WDT83FFB
vendor: 83 bytes, lines 7058-7059
7058" 7059height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>
7060<!-- End Google Tag Manager (noscript) --><template id="drawer-default-template"> 7061 <div part="base"> 7062 <div part="overlay"></div> 7063 7064 <div part="content"> 7065 <header part="header"> 7066 <button type="button" is="dialog-close-button" part="close-button tap-area" aria-label="Close"> 7067 <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none"> 7068 <g id="fi:chevron-left"> 7069 <path id="Vector" d="M15 18L9 12L15 6" stroke="#272E0F" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/> 7070 </g> 7071 </svg> 7072 </button> 7073 <slot name="header"></slot> 7074 7075 </header> 7076 7077 <div part="body"> 7078 <slot></slot> 7079 </div> 7080 7081 <footer class="wd-cart-footer" part="footer"> 7082 <slot name="footer"></slot> 7083 </footer> 7084 </div> 7085 </div> 7086</template><template id="modal-default-template"> 7087 <div part="base"> 7088 <div part="overlay"></div> 7089 7090 <div part="content"> 7091 <header part="header"> 7092 <slot name="header"></slot> 7093 7094 <button type="button" is="dialog-close-button" part="close-button tap-area" aria-label="Close"><svg aria-hidden="true" focusable="false" fill="none" width="14" class="icon icon-close" viewBox="0 0 16 16"> 7095 <path d="m1 1 14 14M1 15 15 1" stroke="currentColor" stroke-width="1.5"/> 7096 </svg> 7097 7098 </button> 7099 </header> 7100 7101 <div class="wd-chec" part="body"> 7102 <slot></slot> 7103 </div> 7104 </div> 7105 </div> 7106</template><template id="popover-default-template"> 7107 <div part="base"> 7108 <div part="overlay"></div> 7109 7110 <div part="content"> 7111 <header part="header"> 7112 <slot name="header"></slot> 7113 7114 <button type="button" is="dialog-close-button" part="close-button tap-area" aria-label="Close"><svg aria-hidden="true" focusable="false" fill="none" width="14" class="icon icon-close" viewBox="0 0 16 16"> 7115 <path d="m1 1 14 14M1 15 15 1" stroke="currentColor" stroke-width="1.5"/> 7116 </svg> 7117 7118 </button> 7119 </header> 7120 7121 <div part="body"> 7122 <slot></slot> 7123 </div> 7124 </div> 7125 </div> 7126</template><template id="header-search-default-template"> 7127 <div part="base"> 7128 <div part="overlay"></div> 7129 7130 <div part="content"> 7131 <slot></slot> 7132 </div> 7133 </div> 7134</template><template id="video-media-default-template"> 7135 <slot></slot> 7136 7137 <svg part="play-button" fill="none" width="48" height="48" viewBox="0 0 48 48"> 7138 <path fill-rule="evenodd" clip-rule="evenodd" d="M48 24c0 13.255-10.745 24-24 24S0 37.255 0 24 10.745 0 24 0s24 10.745 24 24Zm-18 0-9-6.6v13.2l9-6.6Z" fill="var(--play-button-background, #ffffff)"/> 7139 </svg> 7140</template> 7141 7142 <loading-bar class="loading-bar" aria-hidden="true"></loading-bar> 7143 <a href="#main" allow-hash-change class="skip-to-content sr-only">Skip to content</a> 7144 7145 <span id="header-scroll-tracker" style="position: absolute; width: 1px; height: 1px; top: var(--header-scroll-tracker-offset, 10px); left: 0;"></span><!-- BEGIN sections: header-group --> 7146<aside id="shopify-section-sections--26889558229285__announcement-bar" class="shopify-section shopify-section-group-header-group shopify-section--announcement-bar"><style> 7147 :root { 7148 --announcement-bar-is-sticky: 0;--header-scroll-tracker-offset: var(--announcement-bar-height);}#shopify-section-sections--26889558229285__announcement-bar { 7149 --announcement-bar-font-size: 0.5625rem; 7150 } 7151 7152 @media screen and (min-width: 999px) { 7153 #shopify-section-sections--26889558229285__announcement-bar { 7154 --announcement-bar-font-size: 0.8125rem; 7155 } 7156 } 7157 </style> 7158 7159 <height-observer variable="announcement-bar"> 7160 <div class="announcement-bar color-scheme color-scheme--scheme-5c48d877-fe9f-452a-9770-fbb408796abe"><button type="button" is="carousel-prev-button" class="tap-area" aria-controls="carousel-sections--26889558229285__announcement-bar"> 7161 <span class="sr-only">Previous</span><svg aria-hidden="true" focusable="false" fill="none" width="12" class="icon icon-arrow-left icon--direction-aware" viewBox="0 0 16 18"> 7162 <path d="M11 1 3 9l8 8" stroke="currentColor" stroke-linecap="square"/> 7163 </svg></button>
7163<announcement-bar-carousel allow-swipe autoplay="3" id="carousel-sections--26889558229285__announcement-bar" class="announcement-bar__carousel"><p class="prose heading is-selected" >Shop Now, <strong>get 20% back </strong>in Credit</p><p class="prose heading " ><strong>FREE SHIPPING</strong> ON ORDERS OVER $89</p><p class="prose heading " ><strong>âï¸ S</strong>ubscribe & Save<strong> - 30% OFF âï¸</strong></p></announcement-bar-carousel><button type="button" is="carousel-next-button" class="tap-area" aria-controls="carousel-sections--26889558229285__announcement-bar"> 7164 <span class="sr-only">Next</span><svg aria-hidden="true" focusable="false" fill="none" width="12" class="icon icon-arrow-right icon--direction-aware" viewBox="0 0 16 18"> 7165 <path d="m5 17 8-8-8-8" stroke="currentColor" stroke-linecap="square"/> 7166 </svg></button></div> 7167 </height-observer> 7168 7169
7169<script> 7170 document.documentElement.style.setProperty('--announcement-bar-height', `${document.getElementById('shopify-section-sections--26889558229285__announcement-bar').clientHeight.toFixed(2)}px`); 7171 </script>
7171<style> #shopify-section-sections--26889558229285__announcement-bar .announcement-bar {letter-spacing: 3px; /* Adjust the value as needed */} @media screen and (max-width: 768px) {#shopify-section-sections--26889558229285__announcement-bar .announcement-bar {padding: 10px 26px; }} </style></aside><header id="shopify-section-sections--26889558229285__header" class="shopify-section shopify-section-group-header-group shopify-section--header"><style> 7172 :root { 7173 --header-is-sticky: 1; 7174 } 7175 7176 #shopify-section-sections--26889558229285__header { 7177 --header-grid: "primary-nav logo secondary-nav" / minmax(0, 1fr) auto minmax(0, 1fr); 7178 --header-padding-block: 1rem; 7179 --header-transparent-header-text-color: 255 255 255; 7180 --header-separation-border-color: 28 28 28 / 0.15; 7181 7182 position: relative; 7183 z-index: 4; 7184 } 7185 7186 @media screen and (min-width: 700px) { 7187 #shopify-section-sections--26889558229285__header { 7188 --header-padding-block: 1.2rem; 7189 } 7190 } 7191 7192 @media screen and (min-width: 1000px) { 7193 #shopify-section-sections--26889558229285__header {--header-grid: ". logo secondary-nav" "primary-nav primary-nav primary-nav" / minmax(0, 1fr) auto minmax(0, 1fr);} 7194 }#shopify-section-sections--26889558229285__header { 7195 position: sticky; 7196 top: 0; 7197 } 7198 7199 .shopify-section--announcement-bar ~ #shopify-section-sections--26889558229285__header { 7200 top: calc(var(--announcement-bar-is-sticky, 0) * var(--announcement-bar-height, 0px)); 7201 }#shopify-section-sections--26889558229285__header { 7202 --header-logo-width: 135px; 7203 } 7204 7205 @media screen and (min-width: 700px) { 7206 #shopify-section-sections--26889558229285__header { 7207 --header-logo-width: 160px; 7208 } 7209 }</style>
7210<script> 7211 function onScroll(){ 7212 if(window.scrollY >= 182){ 7213 document.querySelector('height-observer .header.wd-x-header').classList.add('wd-scrolled-header'); 7214 //console.log(`higher Current scroll position: ${window.scrollY}`); 7215 }else if(window.scrollY<100){ 7216 document.querySelector('height-observer .header.wd-x-header').classList.remove('wd-scrolled-header'); 7217 //console.log(`lower Current scroll position: ${window.scrollY}`); 7218 } 7219 } 7220 function isMobileDevice() { 7221 return /Mobi|Android|iPhone|iPad|iPod|Opera Mini|IEMobile|WPDesktop/i.test(navigator.userAgent); 7222 7223 } 7224 if(!isMobileDevice()){ 7225 window.addEventListener('scroll', onScroll); 7226 } 7227 7228</script>
7228 7229<height-observer variable="header"> 7230 <x-header class="header color-scheme color-scheme--scheme-1 wd-x-header"><a aria-label="Search for product" href="/search" aria-controls="header-search-sections--26889558229285__header" class="wd-header-search-icon wd-search-desktop"> 7231 <span class="">Search</span><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none"> 7232 <ellipse cx="10.98" cy="10.9802" rx="8.98017" ry="8.98017" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/> 7233 <path d="M21.6419 21.644L17.3202 17.3223" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/> 7234 </svg> 7235 </a> 7236 <a href="/" class="header__logo"><span class="sr-only">Yves Rocher USA</span><img src="//yvesrocherusa.com/cdn/shop/files/LOGO_YR_RESERVE_1_LIGNE_H_4_1.png?v=1719225603&width=3147" alt="" srcset="//yvesrocherusa.com/cdn/shop/files/LOGO_YR_RESERVE_1_LIGNE_H_4_1.png?v=1719225603&width=320 320w, //yvesrocherusa.com/cdn/shop/files/LOGO_YR_RESERVE_1_LIGNE_H_4_1.png?v=1719225603&width=480 480w" width="3147" height="625" sizes="160px" class="header__logo-image"></a> 7237 7238<nav class="header__primary-nav header__primary-nav--center" aria-label="Primary navigation"> 7239 <button type="button" aria-controls="sidebar-menu" class="md:hidden"> 7240 <span class="sr-only">Open navigation menu</span> 7241 <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none"> 7242 <path d="M1 12.0008H23" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/> 7243 <path d="M1 3.50079H23" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/> 7244 <path d="M1 20.5008H23" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/> 7245 </svg> 7246 </button><a aria-label="search for product" href="/search" aria-controls="header-search-sections--26889558229285__header" class="wd-header-search-icon wd-search-mobile"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none"> 7247 <ellipse cx="10.98" cy="10.9802" rx="8.98017" ry="8.98017" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/> 7248 <path d="M21.6419 21.644L17.3202 17.3223" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/> 7249 </svg> 7250 </a><ul class="contents unstyled-list md-max:hidden"> 7251 7252 <li class="header__primary-nav-item" data-title="All"><a href="/collections/all-products" class="block h6 link-text" >All</a></li> 7253 7254 <li class="header__primary-nav-item" data-title="Beauty Sets"><a href="/collections/beauty-routines" class="block h6 link-text" >Beauty Sets</a></li> 7255 7256 <li class="header__primary-nav-item" data-title="Skin Care"><details is="mega-menu-disclosure" class="header__menu-disclosure" follow-summary-link trigger="hover"> 7257 <summary data-follow-link="/collections/skin-care" class="h6 link-text">Skin Care</summary><div class="mega-menu " ><ul class="mega-menu__linklist unstyled-list"><li class="v-stack justify-items-start gap-5"> 7258 <a href="/collections/face-care" class="h6">Face Care</a><ul class="v-stack gap-2.5 unstyled-list"><li> 7259 <a href="/collections/skin-care/best-sellers" class="link-faded">Best Sellers</a> 7260 </li><li> 7261 <a href="/collections/skin-care/face-serum" class="link-faded">Face Serum</a> 7262 </li><li> 7263 <a href="/collections/face-care/moisturizer" class="link-faded">Moisturizer</a> 7264 </li><li> 7265 <a href="/collections/skin-care/eye-cream" class="link-faded">Eye Cream</a> 7266 </li><li> 7267 <a href="/collections/face-care/day-cream" class="link-faded">Day Cream</a> 7268 </li><li> 7269 <a href="/collections/face-care/night-cream" class="link-faded">Night Cream</a> 7270 </li><li> 7271 <a href="/collections/skin-care/face-mask" class="link-faded">Face Mask</a> 7272 </li><li> 7273 <a href="/collections/face-care/bb-cream" class="link-faded">BB Cream</a> 7274 </li><li> 7275 <a href="/collections/face-care/lip-care" class="link-faded">Lip Care</a> 7276 </li></ul></li><li class="v-stack justify-items-start gap-5"> 7277 <a href="#" class="h6">Cleansing & Exfoliation</a><ul class="v-stack gap-2.5 unstyled-list"><li> 7278 <a href="/collections/skin-care/face-scrub" class="link-faded">Face Scrub</a> 7279 </li><li> 7280 <a href="/collections/face-care/face-toner" class="link-faded">Face Toner</a> 7281 </li><li> 7282 <a href="/collections/face-care/cleanser" class="link-faded">Face Cleanser</a> 7283 </li><li> 7284 <a href="/collections/face-care/micellar-water" class="link-faded">Micellar Water</a> 7285 </li><li> 7286 <a href="/collections/face-care/makeup-remover" class="link-faded">Makeup Remover</a> 7287 </li></ul></li><li class="v-stack justify-items-start gap-5"> 7288 <a href="/collections/skin-care/anti-aging" class="h6">Anti Aging</a><ul class="v-stack gap-2.5 unstyled-list"><li> 7289 <a href="/collections/skin-care/anti-age-global" class="link-faded">Anti Age Global</a> 7290 </li><li> 7291 <a href="/collections/skin-care/riche-cream" class="link-faded">Riche Cream</a> 7292 </li><li> 7293 <a href="/collections/lift-pro-collagene" class="link-faded">Lift Pro Collagene</a> 7294 </li><li> 7295 <a href="/collections/face-care/detoxify" class="link-faded">Detoxify</a> 7296 </li><li> 7297 <a href="/collections/pre-anti-aging-treatments" class="link-faded">Pre Anti-aging</a> 7298 </li></ul></li><li class="v-stack justify-items-start gap-5"> 7299 <a href="#" class="h6">Ranges</a><ul class="v-stack gap-2.5 unstyled-list"><li> 7300 <a href="/collections/glow-collection" class="link-faded">Glow </a> 7301 </li><li> 7302 <a href="/collections/skin-care/sebo-pure-vegetal" class="link-faded">Sebo</a> 7303 </li><li> 7304 <a href="/collections/skin-care/hydra" class="link-faded">Hydra</a> 7305 </li><li> 7306 <a href="/collections/face-care/bright-botanical" class="link-faded">Bright Botanical</a> 7307 </li><li> 7308 <a href="/collections/skin-care/organic" class="link-faded">Organic Skin Care</a> 7309 </li><li> 7310 <a href="/collections/skin-care/chamomile" class="link-faded">
7310Chamomile</a> 7311 </li><li> 7312 <a href="/collections/skin-care/solids" class="link-faded">Solids</a> 7313 </li><li> 7314 <a href="/collections/skin-care/aftershave" class="link-faded">Aftershave</a> 7315 </li></ul></li><li class="v-stack justify-items-start gap-5"> 7316 <a href="#" class="h6">Skin Type & Concern</a><ul class="v-stack gap-2.5 unstyled-list"><li> 7317 <a href="/collections/face-care/dry-skin" class="link-faded">Dry Skin</a> 7318 </li><li> 7319 <a href="/collections/face-care/dark-spots" class="link-faded">Dark Spots</a> 7320 </li><li> 7321 <a href="/collections/skin-care/dehydrated-skin" class="link-faded">Dehydrated Skin</a> 7322 </li><li> 7323 <a href="/collections/face-care/mature-skin" class="link-faded">Mature Skin</a> 7324 </li><li> 7325 <a href="/collections/skin-care/oily-skin" class="link-faded">Oily Skin</a> 7326 </li><li> 7327 <a href="/collections/face-care/sensitive-skin" class="link-faded">Sensitive Skin</a> 7328 </li><li> 7329 <a href="/collections/skin-care/combination-skin" class="link-faded">Combination Skin</a> 7330 </li><li> 7331 <a href="/collections/face-care/acne-prone-skin" class="link-faded">Acne Prone Skin</a> 7332 </li><li> 7333 <a href="/collections/skin-care/normal-skin" class="link-faded">Normal Skin</a> 7334 </li></ul></li></ul></div></details></li> 7335 7336 <li class="header__primary-nav-item" data-title="Hair Care"><details is="mega-menu-disclosure" class="header__menu-disclosure" follow-summary-link trigger="hover"> 7337 <summary data-follow-link="/collections/hair-care" class="h6 link-text">Hair Care</summary><div class="mega-menu " ><ul class="mega-menu__linklist unstyled-list"><li class="v-stack justify-items-start gap-5"> 7338 <a href="/collections/hair-care/shampoo-and-conditioner" class="h6">Shampoo & Conditioner</a><ul class="v-stack gap-2.5 unstyled-list"><li> 7339 <a href="/collections/hair-care/shampoo" class="link-faded">Shampoo</a> 7340 </li><li> 7341 <a href="/collections/hair-care/shampoo-bar" class="link-faded">Shampoo Bar</a> 7342 </li><li> 7343 <a href="/collections/hair-care/conditioner" class="link-faded">Conditioner</a> 7344 </li></ul></li><li class="v-stack justify-items-start gap-5"> 7345 <a href="/collections/hair-care/hair-treatment" class="h6">Hair Treatment</a><ul class="v-stack gap-2.5 unstyled-list"><li> 7346 <a href="/collections/hair-care/best-sellers" class="link-faded">Best Sellers</a> 7347 </li><li> 7348 <a href="/collections/hair-care/hair-volume" class="link-faded">Hair Volume</a> 7349 </li><li> 7350 <a href="/collections/hair-care/Hair-Density" class="link-faded">Hair Density </a> 7351 </li><li> 7352 <a href="/collections/hair-care/hair-serum" class="link-faded">Hair Serum</a> 7353 </li><li> 7354 <a href="/collections/hair-care/hair-mask" class="link-faded">Hair Mask</a> 7355 </li><li> 7356 <a href="/collections/hair-care/hair-oil" class="link-faded">Hair Oil</a> 7357 </li><li> 7358 <a href="/collections/hair-care/protect-color" class="link-faded">Hair Color Protection</a> 7359 </li><li> 7360 <a href="/collections/hair-care/hair-detox" class="link-faded">Hair Detox</a> 7361 </li><li> 7362 <a href="/collections/hair-care/hair-mist" class="link-faded">Hair Mist</a> 7363 </li><li> 7364 <a href="/collections/hair-care/beard-grooming" class="link-faded">Beard Grooming</a> 7365 </li></ul></li><li class="v-stack justify-items-start gap-5"> 7366 <a href="#" class="h6">Hair Type</a><ul class="v-stack gap-2.5 unstyled-list"><li> 7367 <a href="/collections/hair-care/damaged-hair" class="link-faded">Damaged Hair</a> 7368 </li><li> 7369 <a href="/collections/hair-care/curly-hair" class="link-faded">Curly Hair</a> 7370 </li><li> 7371 <a href="/collections/hair-care/Hair-Density" class="link-faded">Thin Hair </a> 7372 </li><li> 7373 <a href="/collections/hair-care/fine-hair" class="link-faded">Fine Hair</a> 7374 </li><li> 7375 <a href="/collections/hair-care/dry-hair" class="link-faded">Dry Hair</a> 7376 </li><li> 7377 <a href="/collections/hair-care/oily-hair" class="link-faded">
7377Oily Hair</a> 7378 </li><li> 7379 <a href="/collections/hair-care/dull-hair" class="link-faded">Dull Hair</a> 7380 </li><li> 7381 <a href="/collections/hair-care/colored-hair" class="link-faded">Colored Hair</a> 7382 </li><li> 7383 <a href="/collections/hair-care/frizzy-hair" class="link-faded">Frizzy Hair</a> 7384 </li></ul></li></ul></div></details></li> 7385 7386 <li class="header__primary-nav-item" data-title="Body & Bath"><details is="mega-menu-disclosure" class="header__menu-disclosure" follow-summary-link trigger="hover"> 7387 <summary data-follow-link="/collections/body-care" class="h6 link-text">Body & Bath</summary><div class="mega-menu " ><ul class="mega-menu__linklist unstyled-list"><li class="v-stack justify-items-start gap-5"> 7388 <a href="/collections/body-care" class="h6">Body Care</a><ul class="v-stack gap-2.5 unstyled-list"><li> 7389 <a href="/collections/body-care/best-sellers" class="link-faded">Best Sellers</a> 7390 </li><li> 7391 <a href="/collections/body-care/body-oil" class="link-faded">Body Oil</a> 7392 </li><li> 7393 <a href="/collections/body-care/body-lotion" class="link-faded">Body Lotion</a> 7394 </li><li> 7395 <a href="/collections/body-care/body-scrub" class="link-faded">Body Scrub</a> 7396 </li><li> 7397 <a href="/collections/body-care/hand-cream" class="link-faded">Hand Cream</a> 7398 </li><li> 7399 <a href="/collections/body-care/foot-cream" class="link-faded">Foot Cream</a> 7400 </li></ul></li><li class="v-stack justify-items-start gap-5"> 7401 <a href="/collections/body-wash" class="h6">Body Wash</a><ul class="v-stack gap-2.5 unstyled-list"><li> 7402 <a href="/collections/body-wash/bar-soap" class="link-faded">Bar Soap</a> 7403 </li><li> 7404 <a href="/collections/body-wash/liquid-hand-soap" class="link-faded">Liquid Hand Soap</a> 7405 </li><li> 7406 <a href="/collections/body-wash/shower-gel" class="link-faded">Shower Gel</a> 7407 </li><li> 7408 <a href="/collections/body-wash/accessories" class="link-faded">Accessories</a> 7409 </li></ul></li><li class="v-stack justify-items-start gap-5"> 7410 <a href="#" class="h6">Ranges</a><ul class="v-stack gap-2.5 unstyled-list"><li> 7411 <a href="/collections/body-care/bain-de-nature" class="link-faded">Bain de Nature</a> 7412 </li><li> 7413 <a href="/collections/body-care/monoi" class="link-faded">Monoi</a> 7414 </li><li> 7415 <a href="/collections/body-care/shea-butter" class="link-faded">Shea Butter</a> 7416 </li><li> 7417 <a href="/collections/body-care/bio-organic" class="link-faded">Bio Organic</a> 7418 </li><li> 7419 <a href="/collections/body-care/skin-tightening" class="link-faded">Skin Tightening</a> 7420 </li><li> 7421 <a href="/collections/body-care/self-tanner" class="link-faded">Self Tanner</a> 7422 </li></ul></li></ul></div></details></li> 7423 7424 <li class="header__primary-nav-item" data-title="Fragrances"><details is="mega-menu-disclosure" class="header__menu-disclosure" follow-summary-link trigger="hover"> 7425 <summary data-follow-link="/collections/fragrance" class="h6 link-text">Fragrances</summary><div class="mega-menu " ><ul class="mega-menu__linklist unstyled-list"><li class="v-stack justify-items-start gap-5"> 7426 <a href="/collections/fragrance/perfume-for-women" class="h6">Women Fragrance</a><ul class="v-stack gap-2.5 unstyled-list"><li> 7427 <a href="/collections/fragrance/best-sellers" class="link-faded">Best Sellers</a> 7428 </li><li> 7429 <a href="/collections/fragrance/perfume-for-women" class="link-faded">Perfume for Women</a> 7430 </li><li> 7431 <a href="/collections/fragrance/eau-de-parfum" class="link-faded">Eau de Parfum</a> 7432 </li><li> 7433 <a href="/collections/fragrance/floral-perfume" class="link-faded">Floral Perfume</a> 7434 </li></ul></li><li class="v-stack justify-items-start gap-5"> 7435 <a href="/collections/fragrance/cologne-for-men" class="h6">Men Fragrance</a><ul class="v-stack gap-2.5 unstyled-list"><li> 7436 <a href="/collections/fragrance/cologne-for-men" class="link-faded">Cologne for Men</a> 7437 </li><li> 7438 <a href="/collections/fragrance/eau-de-toilette" class="link-faded">Eau de Toilette</a> 7439 </li></ul></li></ul></div></details></li> 7440 7441 <li class="header__primary-nav-item" data-title="Men"><a href="/collections/men" class="block h6 link-text" >Men</a></li> 7442 7443 <li class="header__primary-nav-item" data-title="Sale"><a href="/collections/sale" class="block h6 link-text" >Sale</a></li></ul></nav><nav class="header__secondary-nav wd-header-icon-couple" aria-label="Secondary navigation"><a aria-label="Login or register" href="https://yvesrocherusa.com/customer_authentication/redirect?locale=en®ion_country=US" class="wd-hidden-desktop">
7444 <span class="sr-only">Open account page</span><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none"> 7445 <path d="M20 21.1446C20 21.1446 17.4586 15.2539 12 15.2539C6.54144 15.2539 4 21.1446 4 21.1446" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/> 7446 <ellipse cx="11.8125" cy="7.45953" rx="4.6875" ry="4.60211" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/> 7447 </svg></a> 7448 <div class="wd-hidden-mobile wd-desktop-customer-in-header"> 7449 7450 <div class="wd-not-signed-in-wrapper wd-name-wrapper wd-logged-out-name-wrapper"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none"> 7451 <path d="M20 21.1446C20 21.1446 17.4586 15.2539 12 15.2539C6.54144 15.2539 4 21.1446 4 21.1446" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/> 7452 <ellipse cx="11.8125" cy="7.45953" rx="4.6875" ry="4.60211" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/> 7453 </svg><div> 7454 <div class="text-regular" id="sign-in-text">Sign In</div> 7455 <div style="color:#000000" class="text-light" id="to-start-text"></div> 7456 </div> 7457 </div> 7458 7459 7460 7461 <div class="wd-customer-popover"> 7462 <svg xmlns="http://www.w3.org/2000/svg" width="24" height="13" viewBox="0 0 24 13" fill="none" style="fill: var(--control-background, #FFF);" class="wd-popover-arrow"> 7463 <path fill-rule="evenodd" clip-rule="evenodd" d="M12 0L24 12.1176H0L12 0Z" fill="white"/> 7464 </svg> 7465 7466 7467 <div class="text-light wd-popover-title">Hey love</div> 7468 7469 <div class="wd-header-popover-divider"></div> 7470 7471 7472 <a href="#open-beauty-reward" class="w-full"> 7473 <button type="button" class="button w-full wd-header-popover-login-button" style="--button-background: 39 46 15;--button-outline-color: 39 46 15;--button-text-color: 255 255 255;letter-spacing: 0;">VIP Beauty Rewards ðº</button> 7474 </a> 7475 <a href="https://yvesrocherusa.com/customer_authentication/redirect?locale=en®ion_country=US?return_to=/cart" class="w-full"> 7476 <button type="button" class="button w-full wd-header-popover-login-button" style="--button-background: 39 46 15;--button-outline-color: 39 46 15;--button-text-color: 255 255 255;letter-spacing: 0;">SIGN IN</button> 7477 </a> 7478 <a href="https://yvesrocherusa.com/customer_authentication/redirect?locale=en®ion_country=US?return_to=/cart" class="w-full"> 7479 <button type="button" class="w-full wd-header-popover-register-button" style="--button-background: 255 255 255;--button-outline-color: 39 46 15;--button-text-color: 39 46 15;">CREATE ACCOUNT</button> 7480 </a> 7481 <div style="display:none!important" class='oxi-social-login'></div> 7482 7483 7484 <a href="/?gs_open_chat" class="wd-header-popover-links-wrapper"> 7485 <svg xmlns="http://www.w3.org/2000/svg" width="24" height="25" viewBox="0 0 24 25" fill="none"> 7486 <g clip-path="url(#clip0_13_1185)"> 7487 <path d="M21 10.1201C21 17.1201 12 23.1201 12 23.1201C12 23.1201 3 17.1201 3 10.1201C3 7.73317 3.94821 5.44398 5.63604 3.75616C7.32387 2.06833 9.61305 1.12012 12 1.12012C14.3869 1.12012 16.6761 2.06833 18.364 3.75616C20.0518 5.44398 21 7.73317 21 10.1201Z" stroke="#272E0F" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/> 7488 <path d="M12 13.1201C13.6569 13.1201 15 11.777 15 10.1201C15 8.46326 13.6569 7.12012 12 7.12012C10.3431 7.12012 9 8.46326 9 10.1201C9 11.777 10.3431 13.1201 12 13.1201Z" stroke="#272E0F" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/> 7489 </g> 7490 <defs> 7491 <clipPath id="clip0_13_1185"> 7492 <rect width="24" height="24" fill="white" transform="translate(0 0.120117)"/> 7493 </clipPath> 7494 </defs> 7495 </svg> 7496 7497 <div class="wd-header-popover-links-text">Order Tracking</div> 7498 </a> 7499 <a href="/pages/faq" class="wd-header-popover-links-wrapper"> 7500 <svg xmlns="http://www.w3.org/2000/svg" width="24" height="25" viewB
7500ox="0 0 24 25" fill="none"> 7501 <path d="M12 22.1201C17.5228 22.1201 22 17.643 22 12.1201C22 6.59727 17.5228 2.12012 12 2.12012C6.47715 2.12012 2 6.59727 2 12.1201C2 17.643 6.47715 22.1201 12 22.1201Z" stroke="#272E0F" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/> 7502 <path d="M12 17.1201H12.01" stroke="#272E0F" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/> 7503 <path d="M9.09003 9.12008C9.32513 8.45174 9.78918 7.88818 10.4 7.52921C11.0108 7.17024 11.7289 7.03901 12.4272 7.15879C13.1255 7.27856 13.7588 7.6416 14.2151 8.1836C14.6714 8.72561 14.9211 9.4116 14.92 10.1201C14.92 12.1201 11.92 13.1201 11.92 13.1201" stroke="#272E0F" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/> 7504 </svg> 7505 7506 <div class="wd-header-popover-links-text">FAQâS</div> 7507 </a> 7508 <a href="/pages/contact" class="wd-header-popover-links-wrapper"> 7509 <svg xmlns="http://www.w3.org/2000/svg" width="24" height="25" viewBox="0 0 24 25" fill="none"> 7510 <path d="M21 11.6201C21.0034 12.94 20.6951 14.242 20.1 15.4201C19.3944 16.8319 18.3098 18.0193 16.9674 18.8494C15.6251 19.6795 14.0782 20.1195 12.5 20.1201C11.1801 20.1236 9.87812 19.8152 8.7 19.2201L3 21.1201L4.9 15.4201C4.30493 14.242 3.99656 12.94 4 11.6201C4.00061 10.0419 4.44061 8.495 5.27072 7.1527C6.10083 5.81039 7.28825 4.72571 8.7 4.02015C9.87812 3.42508 11.1801 3.1167 12.5 3.12015H13C15.0843 3.23514 17.053 4.11491 18.5291 5.591C20.0052 7.0671 20.885 9.0358 21 11.1201V11.6201Z" stroke="#272E0F" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/> 7511 </svg> 7512 7513 <div class="wd-header-popover-links-text">Contact Us</div> 7514 </a> 7515 7516 7517 </div> 7518</div> 7519
7520<script> 7521 const nameWrappers = document.querySelectorAll(".wd-name-wrapper"); 7522 7523 nameWrappers && nameWrappers.forEach(element => { 7524 element.addEventListener("click", () => { 7525 const popoverElement = document.querySelector(".wd-customer-popover"); 7526 7527 if (popoverElement.classList.contains("wd-customer-popover-show")) { 7528 document.removeEventListener("click", closeEvent); 7529 popoverElement.classList.remove("wd-customer-popover-show"); 7530 } else { 7531 popoverElement.classList.add("wd-customer-popover-show"); 7532 7533 setTimeout(() => { 7534 document.addEventListener("click", closeEvent); 7535 }, 300); 7536 } 7537 }); 7538 }); 7539 7540 const closeEvent = (e) => { 7541 const popoverElement = document.querySelector(".wd-customer-popover"); 7542 7543 if (!popoverElement.contains(e.target)) { 7544 popoverElement.classList.remove("wd-customer-popover-show"); 7545 document.removeEventListener("click", closeEvent); 7546 } 7547 } 7548</script>
7548 7549<a href="/cart" class="relative" > 7550 <span class="sr-only">Open cart</span><div class="wd-cart-with-dot"> 7551 <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none"> 7552 <path d="M3 23.0002L2.00941 22.8633C1.96985 23.1497 2.05615 23.4392 2.24607 23.6571C2.43598 23.8751 2.71092 24.0002 3 24.0002V23.0002ZM22 23.0002V24.0002C22.2891 24.0002 22.564 23.8751 22.7539 23.6571C22.9438 23.4392 23.0301 23.1497 22.9906 22.8633L22 23.0002ZM20.0181 8.65234L21.0087 8.51551L20.8895 7.65234H20.0181V8.65234ZM4.98186 8.65234V7.65234H4.11049L3.99126 8.51551L4.98186 8.65234ZM3 24.0002H22V22.0002H3V24.0002ZM22.9906 22.8633L21.0087 8.51551L19.0275 8.78917L21.0094 23.137L22.9906 22.8633ZM20.0181 7.65234H4.98186V9.65234H20.0181V7.65234ZM3.99126 8.51551L2.00941 22.8633L3.99059 23.137L5.97245 8.78917L3.99126 8.51551Z" fill="black"/> 7553 <path d="M8.42969 8.24638V3.71739C8.42969 2.21679 10.2528 1 12.5011 1C14.7504 1 16.5725 2.21679 16.5725 3.71739V8.24638" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/> 7554 </svg> 7555 <div class="pulse-circle" style="display:none">0</div> 7556 </div> 7557 7558
7558<script> 7559 7560 7561 7562 function checkIfCartDot(){ 7563 7564 setTimeout(() => { 7565 const svgCart = document.querySelector('.wd-cart-with-dot'); 7566 const cartDotElement = document.querySelector('cart-dot.wd-cart-items-number.is-visible'); 7567 if(cartDotElement ) { 7568 let wdCartDots = svgCart.querySelectorAll('.pulse-circle') 7569 wdCartDots.forEach(dot => dot.style.display = 'block' ); 7570 } else if (!cartDotElement) { 7571 let wdCartDots = svgCart.querySelectorAll('.pulse-circle') 7572 wdCartDots.forEach(dot => dot.style.display = 'none' ); 7573 } 7574 }, 100); 7575 } 7576 7577 document.addEventListener("cart:change", checkIfCartDot); 7578 document.addEventListener("cart:refresh", checkIfCartDot); 7579 window.addEventListener("cart_refreshed", function (event) { 7580 checkIfCartDot(); 7581 const cartItems = event.detail.cart_items; 7582 document.querySelector('.pulse-circle').innerText = cartItems 7583 }); 7584 </script>
7584 7585 7586 <style> 7587 7588 .wd-cart-with-dot { 7589 position: relative; 7590 width: 24px; 7591 height: 24px; 7592 } 7593 7594 .pulse-circle { 7595 position: absolute; 7596 bottom: -7px; 7597 right: -7px; 7598 width: 15px; 7599 height: 15px; 7600 border-radius: 50%; 7601 background: #245732; 7602 box-shadow: 0 0 0 0 rgb(36,87,50); 7603 animation: pulse 1.5s infinite; 7604 color: #fff; 7605 font-weight: 500; 7606 font-size: 10px; 7607 font-family: 'Montserrat'; 7608 text-align:center 7609 } 7610 7611 @keyframes pulse { 7612 0% { 7613 box-shadow: 0 0 0 0 rgba(125, 143, 62, 0.7); 7614 } 7615 70% { 7616 box-shadow: 0 0 0 6px rgba(125, 143, 62, 0); 7617 } 7618 100% { 7619 box-shadow: 0 0 0 0 rgba(125, 143, 62, 0); 7620 } 7621 } 7622 7623 </style><cart-dot class="wd-cart-items-number header__cart-dot "></cart-dot> 7624 </a> 7625 </nav><header-search id="header-search-sections--26889558229285__header" class="header-search"> 7626 <div class="container"> 7627 <form id="predictive-search-form" action="/search" method="GET" aria-owns="header-predictive-search" class="header-search__form" role="search"> 7628 <div class="header-search__form-control"><svg aria-hidden="true" fill="none" focusable="false" width="20" class="icon icon-search" viewBox="0 0 24 24"> 7629 <path d="M10.364 3a7.364 7.364 0 1 0 0 14.727 7.364 7.364 0 0 0 0-14.727Z" stroke="currentColor" stroke-width="1.5" stroke-miterlimit="10"/> 7630 <path d="M15.857 15.858 21 21.001" stroke="currentColor" stroke-width="1.5" stroke-miterlimit="10" stroke-linecap="round"/> 7631 </svg><input type="search" name="q" spellcheck="false" class="header-search__input h5 sm:h4" aria-label="Search" placeholder="Search for..."> 7632 <button type="button" is="dialog-close-button"> 7633 <span class="sr-only">Close</span><svg aria-hidden="true" focusable="false" fill="none" width="16" class="icon icon-close" viewBox="0 0 16 16"> 7634 <path d="m1 1 14 14M1 15 15 1" stroke="currentColor" stroke-width="1.5"/> 7635 </svg> 7636 7637 </button> 7638 </div> 7639 </form> 7640 7641 <predictive-search id="header-predictive-search" class="predictive-search"> 7642 <div class="predictive-search__content" slot="results"></div> 7643 </predictive-search> 7644 </div> 7645</header-search><template id="header-sidebar-template"> 7646 <div part="base"> 7647 <div part="overlay"> 7648 7649 </div> 7650 7651 <div part="content" class="wd-header-content"> 7652 <div part="panel-list"> 7653 <slot name="main-panel"></slot><slot name="collapsible-panel"></slot></div> 7654 </div> 7655 </div> 7656</template> 7657 7658 7659 7660<header-sidebar id="sidebar-menu" class="header-sidebar drawer drawer--sm color-scheme color-scheme--scheme-2" template="header-sidebar-template" open-from="left"><div class="header-sidebar__main-panel" slot="main-panel"> 7661 <div class="header-sidebar__scroller"> 7662 <div class="header-sidebar__icons"> 7663 <button type="button" is="dialog-close-button" part="close-button tap-area" aria-label="Close"><svg aria-hidden="true" focusable="false" fill="none" width="16" class="icon icon-close" viewBox="0 0 16 16"> 7664 <path d="m1 1 14 14M1 15 15 1" stroke="currentColor" stroke-width="1.5"/> 7665 </svg> 7666 7667 </button><a aria-label="Search button" href="/search" aria-controls="header-search-sections--26889558229285__header" class="wd-header-search-icon wd-search-mobile" onclick=closeSidebar(event)> 7668 <div class="header-sidebar-search__form-control"> 7669 <span class="search-icon"> 7670 <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16" fill="none"> 7671 <ellipse cx="6.98678" cy="7.32027" rx="5.98678" ry="5.98678" stroke="#151515" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/> 7672 <path d="M14.096 14.4297L11.2148 11.5486" stroke="#151515" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/> 7673 </svg> 7674 </span> 7675 <input type="search" name="q" spellcheck="false" class="header-search__input" aria-label="Search" placeholder="Search"> 7676 </div> 7677 </a><a aria-label="Login or register" href="https://yvesrocherusa.com/customer_authentication/redirect?locale=en®ion_country=US" class="wd-hidden-desktop"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none"> 7678 <path d="M20 21.1446C20 21.1446 17.4586 15.2539 12 15.2539C6.54144 15.2539 4 21.1446 4 21.1446" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/> 7679 <ellipse cx="11.8125" cy="7.45953" rx="4.6875" ry="4.60211" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/> 7680 </svg></a> 7681 7682 <a href="/cart" class="relative" ><div class="wd-cart-with-dot"> 7683 <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none"> 7684 <path d="M3 23.0002L2.00941 22.8633C1.96985 23.1497 2.05615 23.4392 2.24607 23.6571C2.43598 23.8751 2.71092 24.0002 3 24.0002V23.0002ZM22 23.0002V24.0002C22.2891 24.0002 22.564 23.8751 22.7539 23.6571C22.9438 23.4392 23.0301 23.1497 22.9906 22.8633L22 23.0002ZM20.0181 8.65234L21.0087 8.51551L20.8895 7.65234H20.0181V8.65234ZM4.98186 8.65234V7.65234H4.11049L3.99126 8.51551L4.98186 8.65234ZM3 24.0002H22V22.0002H3V24.0002ZM22.9906 22.8633L21.0087 8.51551L19.0275 8.78917L21.0094 23.137L22.9906 22.8633ZM20.0181 7.65234H4.98186V9.65234H20.0181V7.65234ZM3.99126 8.51551L2.00941 22.8633L3.99059 23.137L5.97245 8.78917L3.99126 8.51551Z" fill="black"/> 7685 <path d="M8.42969 8.24638V3.71739C8.42969 2.21679 10.2528 1 12.5011 1C14.7504 1 16.5725 2.21679 16.5725 3.71739V8.24638" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/> 7686 </svg> 7687 <div class="pulse-circle" style="display:none">0</div> 7688 </div> 7689 7690
7690<script> 7691 7692 7693 7694 function checkIfCartDot(){ 7695 7696 setTimeout(() => { 7697 const svgCart = document.querySelector('.wd-cart-with-dot'); 7698 const cartDotElement = document.querySelector('cart-dot.wd-cart-items-number.is-visible'); 7699 if(cartDotElement ) { 7700 let wdCartDots = svgCart.querySelectorAll('.pulse-circle') 7701 wdCartDots.forEach(dot => dot.style.display = 'block' ); 7702 } else if (!cartDotElement) { 7703 let wdCartDots = svgCart.querySelectorAll('.pulse-circle') 7704 wdCartDots.forEach(dot => dot.style.display = 'none' ); 7705 } 7706 }, 100); 7707 } 7708 7709 document.addEventListener("cart:change", checkIfCartDot); 7710 document.addEventListener("cart:refresh", checkIfCartDot); 7711 window.addEventListener("cart_refreshed", function (event) { 7712 checkIfCartDot(); 7713 const cartItems = event.detail.cart_items; 7714 document.querySelector('.pulse-circle').innerText = cartItems 7715 }); 7716 </script>
7716 7717 7718 <style> 7719 7720 .wd-cart-with-dot { 7721 position: relative; 7722 width: 24px; 7723 height: 24px; 7724 } 7725 7726 .pulse-circle { 7727 position: absolute; 7728 bottom: -7px; 7729 right: -7px; 7730 width: 15px; 7731 height: 15px; 7732 border-radius: 50%; 7733 background: #245732; 7734 box-shadow: 0 0 0 0 rgb(36,87,50); 7735 animation: pulse 1.5s infinite; 7736 color: #fff; 7737 font-weight: 500; 7738 font-size: 10px; 7739 font-family: 'Montserrat'; 7740 text-align:center 7741 } 7742 7743 @keyframes pulse { 7744 0% { 7745 box-shadow: 0 0 0 0 rgba(125, 143, 62, 0.7); 7746 } 7747 70% { 7748 box-shadow: 0 0 0 6px rgba(125, 143, 62, 0); 7749 } 7750 100% { 7751 box-shadow: 0 0 0 0 rgba(125, 143, 62, 0); 7752 } 7753 } 7754 7755 </style><cart-dot class="wd-cart-items-number header__cart-dot "></cart-dot> 7756 </a> 7757 </div> 7758 7759 <ul class="header-sidebar__linklist divide-y unstyled-list" role="list"> 7760 <div class="header-sidebar-megamenu"><li class="header-sidebar__linklist-item"> 7761 7762 7763 7764<a href="/collections/all-products" class="header-sidebar__linklist-button h6"> 7765 7766 <img alt="All Products" src="//yvesrocherusa.com/cdn/shop/files/Screenshot_2024-09-09_at_16.35.01_small.png?v=1725888913" class="menu-image" width="30" height="30"> 7767 7768 <span class="menu-text">All Products</span> 7769 </a></li><li class="header-sidebar__linklist-item"> 7770 7771 7772 7773<a href="/collections/best-sellers" class="header-sidebar__linklist-button h6"> 7774 7775 <img alt="Best Sellers " src="//yvesrocherusa.com/cdn/shop/files/site_pics_mobile-20_small.png?v=1778144743" class="menu-image" width="30" height="30"> 7776 7777 <span class="menu-text">Best Sellers </span> 7778 </a></li><li class="header-sidebar__linklist-item"> 7779 7780 7781 7782<button type="button" class="header-sidebar__linklist-button h6" aria-controls="header-panel-3" aria-expanded="false"> 7783 7784 <img alt="Skin Care" src="//yvesrocherusa.com/cdn/shop/files/SITE-03_small.png?v=1777964723" class="menu-image" width="30" height="30"> 7785 7786 <span class="menu-text">Skin Care</span> 7787 <span class="menu-icon-arrow"><svg aria-hidden="true" focusable="false" fill="none" width="12" class="icon icon-chevron-right icon--direction-aware" viewBox="0 0 10 10"> 7788 <path d="m3 9 4-4-4-4" stroke="currentColor" stroke-linecap="square"/> 7789 </svg></span> 7790 </button></li><li class="header-sidebar__linklist-item"> 7791 7792 7793 7794<button type="button" class="header-sidebar__linklist-button h6" aria-controls="header-panel-4" aria-expanded="false"> 7795 7796 <img alt="Hair Care" src="//yvesrocherusa.com/cdn/shop/files/SITE-05_small.png?v=1777964789" class="menu-image" width="30" height="30"> 7797 7798 <span class="menu-text">Hair Care</span> 7799 <span class="menu-icon-arrow"><svg aria-hidden="true" focusable="false" fill="none" width="12" class="icon icon-chevron-right icon--direction-aware" viewBox="0 0 10 10"> 7800 <path d="m3 9 4-4-4-4" stroke="currentColor" stroke-linecap="square"/> 7801 </svg></span> 7802 </button></li><li class="header-sidebar__linklist-item"> 7803 7804 7805 7806<button type="button" class="header-sidebar__linklist-button h6" aria-controls="header-panel-5" aria-expanded="false"> 7807 7808 <img alt="Body & Bath" src="//yvesrocherusa.com/cdn/shop/files/SITE-08_small.png?v=1777964861" class="menu-image" width="30" height="30"> 7809 7810 <span class="menu-text">Body & Bath</span> 7811 <span class="menu-icon-arrow"><svg aria-hidden="true" focusable="false" fill="none" width="12" class="icon icon-chevron-right icon--direction-aware" viewBox="0 0 10 10"> 7812 <path d="m3 9 4-4-4-4" stroke="currentColor" stroke-linecap="square"/> 7813 </svg></span> 7814 </button></li><li class="header-sidebar__linklist-item"> 7815 7816 7817 7818<button type="button" class="header-sidebar__linklist-button h6" aria-controls="header-panel-6" aria-expanded="false"> 7819 7820 <img alt="Fragrances" src="//yvesrocherusa.com/cdn/shop/files/SITE-11_small.png?v=1777964955" class="menu-image" width="30" height="30"> 7821
7822 <span class="menu-text">Fragrances</span> 7823 <span class="menu-icon-arrow"><svg aria-hidden="true" focusable="false" fill="none" width="12" class="icon icon-chevron-right icon--direction-aware" viewBox="0 0 10 10"> 7824 <path d="m3 9 4-4-4-4" stroke="currentColor" stroke-linecap="square"/> 7825 </svg></span> 7826 </button></li><li class="header-sidebar__linklist-item"> 7827 7828 7829 7830<a href="/collections/beauty-routines" class="header-sidebar__linklist-button h6"> 7831 7832 <img alt="Beauty Sets" src="//yvesrocherusa.com/cdn/shop/files/SITE-15_small.png?v=1777965013" class="menu-image" width="30" height="30"> 7833 7834 <span class="menu-text">Beauty Sets</span> 7835 </a></li><li class="header-sidebar__linklist-item"> 7836 7837 7838 7839<a href="/collections/sale" class="header-sidebar__linklist-button h6"> 7840 7841 <img alt="Sale up to 70% off" src="//yvesrocherusa.com/cdn/shop/files/Screenshot_2024-08-20_at_12.34.36_small.png?v=1724146524" class="menu-image" width="30" height="30"> 7842 7843 <span class="menu-text">Sale up to 70% off</span> 7844 </a></li><li class="header-sidebar__linklist-item"> 7845 7846 7847 7848<a href="/collections/men" class="header-sidebar__linklist-button h6"> 7849 7850 <img alt="Men" src="//yvesrocherusa.com/cdn/shop/files/SITE-17_small.png?v=1777965216" class="menu-image" width="30" height="30"> 7851 7852 <span class="menu-text">Men</span> 7853 </a></li><li class="header-sidebar__linklist-item"> 7854 7855 7856 7857<a href="#open-sub-and-save" class="header-sidebar__linklist-button h6"> 7858 7859 <img alt="Subscribe & Save" src="//yvesrocherusa.com/cdn/shop/files/Frame_38568_small.png?v=1726727944" class="menu-image" width="30" height="30"> 7860 7861 <span class="menu-text">Subscribe & Save</span> 7862 </a></li></div> 7863 </ul> 7864 7865 7866 7867<div class="header-sidebar__my-account"> 7868 <h3 class="my-account-title">My Account</h3> 7869 <p class="my-account-text-above-button">Login to earn rewards, easily manage and track your orders, and enjoy a faster checkout process!</p> 7870 <a style="margin-bottom: 10px;" href="#open-beauty-reward" class="my-account-button"> 7871 <span class="my-account-button-text">VIP Beauty Rewards ðº</span> 7872 </a> 7873 <a href="/account/login" class="my-account-button"> 7874 <span class="my-account-button-text">Login</span> 7875 </a> 7876 <p class="my-account-text-below-wrapper"> 7877 <span class="my-account-text-below-button">Not a member?</span> 7878 <a href="/account/register" class="my-account-link-below-button">Join us</a> 7879 </p> 7880 </div> 7881 7882 7883 <div class="header-sidebar__customer-info-section"> 7884 <div class="header-sidebar__customer-info-section-content"> 7885 <div class="customer-info-item tracking-order"> 7886 <img alt="Order tracking" src="//yvesrocherusa.com/cdn/shop/files/fi_map-pin_7b6c718d-a237-45bc-855e-c16cd01761e3_24x.png?v=1725827933" width="24" height="24"> 7887 <a href="/?gs_open_chat" class="customer-info-item-link">Order tracking</a> 7888 </div> 7889 <div class="customer-info-item faqs"> 7890 <img alt="FAQ'S" src="//yvesrocherusa.com/cdn/shop/files/fi_help-circle_d3b0e105-af09-4916-a93a-2c75e0bc41d5_24x.png?v=1725827886" width="24" height="24"> 7891 <a href="/pages/faq" class="customer-info-item-link">FAQ'S</a> 7892 </div> 7893 <div class="customer-info-item contact-us"> 7894 <img alt="Contact us" src="//yvesrocherusa.com/cdn/shop/files/fi_message-circle_ff4cee4a-7883-494e-bbf9-c767f93aa982_24x.png?v=1725827906" width="24" height="24"> 7895 <a href="/pages/contact" class="customer-info-item-link">Contact us</a> 7896 </div> 7897 <div class="customer-info-item about-us"> 7898 <img alt="About Yves Rocher" src="//yvesrocherusa.com/cdn/shop/files/Vector_1_24x.png?v=1725827929" width="24" height="24"> 7899 <a href="/pages/about" class="customer-info-item-link">About Yves Rocher</a> 7900 </div> 7901 </div> 7902 </div> 7903 </div></div><header-sidebar-collapsible-panel class="header-sidebar__collapsible-panel" slot="collapsible-panel"> 7904 <div class="header-sidebar__scroller"><div id="header-panel-3" class="header-sidebar__sub-panel" hidden> 7905 <button type="button" class="header-sidebar__back-button link-faded is-divided text-with-icon h6 md:hidden" data-action="close-panel"> 7906 <svg xmlns="http://www.w3.org/2000/svg" class="wd-arrow-icon" width="24" height="24" viewBox="0 0 24 24" fill="none"> 7907 <path d="M15 18L9 12L15 6" stroke="#272E0F" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/> 7908 </svg>
7909 <span class="wd-link-title">Skin Care</span> 7910 </button> 7911 7912 <ul class="header-sidebar__linklist divide-y unstyled-list" role="list"><li> 7913 7914 7915 7916 7917<details is="accordion-disclosure" class="group"> 7918 <summary class="header-sidebar__linklist-button h6"> 7919 7920 <img alt="Face Care" src="//yvesrocherusa.com/cdn/shop/files/SITE-03_small.png?v=1777964723" class="menu-image" width="30" height="30"> 7921 7922 <span class="menu-text">Face Care</span> 7923 <span class="animated-plus group-expanded:rotate" aria-hidden="true"></span> 7924 </summary> 7925 7926 <div class="header-sidebar__nested-linklist"> 7927 7928 <a href="/collections/skin-care" class="link-faded-reverse">All Products </a> 7929 7930 <a href="/collections/best-sellers" class="link-faded-reverse">Best Sellers</a> 7931 7932 <a href="/collections/skin-care/face-serum" class="link-faded-reverse">Face Serum</a> 7933 7934 <a href="/collections/face-care/moisturizer" class="link-faded-reverse">Moisturizer</a> 7935 7936 <a href="/collections/skin-care/eye-cream" class="link-faded-reverse">Eye Cream</a> 7937 7938 <a href="/collections/face-care/day-cream" class="link-faded-reverse">Day Cream</a> 7939 7940 <a href="/collections/face-care/night-cream" class="link-faded-reverse">Night Cream</a> 7941 7942 <a href="/collections/skin-care/face-mask" class="link-faded-reverse">Face Mask</a> 7943 7944 <a href="/collections/face-care/bb-cream" class="link-faded-reverse">BB Cream</a> 7945 7946 <a href="/collections/face-care/lip-care" class="link-faded-reverse">Lip Care</a></div> 7947 </details></li><li> 7948 7949 7950 7951 7952<details is="accordion-disclosure" class="group"> 7953 <summary class="header-sidebar__linklist-button h6"> 7954 7955 <img alt="Cleansing & Exfoliation" src="//yvesrocherusa.com/cdn/shop/files/Screenshot_2024-09-09_at_9.48.55_small.png?v=1725864542" class="menu-image" width="30" height="30"> 7956 7957 <span class="menu-text">Cleansing & Exfoliation</span> 7958 <span class="animated-plus group-expanded:rotate" aria-hidden="true"></span> 7959 </summary> 7960 7961 <div class="header-sidebar__nested-linklist"> 7962 7963 <a href="/collections/skin-care/face-scrub" class="link-faded-reverse">Face Scrub</a> 7964 7965 <a href="/collections/face-care/face-toner" class="link-faded-reverse">Face Toner</a> 7966 7967 <a href="/collections/face-care/cleanser" class="link-faded-reverse">Face Cleanser</a> 7968 7969 <a href="/collections/face-care/micellar-water" class="link-faded-reverse">Micellar Water</a> 7970 7971 <a href="/collections/face-care/makeup-remover" class="link-faded-reverse">Makeup Remover</a></div> 7972 </details></li><li> 7973 7974 7975 7976 7977<details is="accordion-disclosure" class="group"> 7978 <summary class="header-sidebar__linklist-button h6"> 7979 7980 <img alt="Anti Aging" src="//yvesrocherusa.com/cdn/shop/files/Screenshot_2024-09-09_at_9.45.59_small.png?v=1725864366" class="menu-image" width="30" height="30"> 7981
7982 <span class="menu-text">Anti Aging</span> 7983 <span class="animated-plus group-expanded:rotate" aria-hidden="true"></span> 7984 </summary> 7985 7986 <div class="header-sidebar__nested-linklist"> 7987 7988 <a href="/collections/skin-care/anti-age-global" class="link-faded-reverse">All Products</a> 7989 7990 <a href="/collections/skin-care/anti-age-global" class="link-faded-reverse">Anti Age Global</a> 7991 7992 <a href="/collections/skin-care/riche-cream" class="link-faded-reverse">Riche Cream</a> 7993 7994 <a href="/collections/lift-pro-collagene" class="link-faded-reverse">Lift Pro Collagene</a> 7995 7996 <a href="/collections/face-care/detoxify" class="link-faded-reverse">Detoxify</a> 7997 7998 <a href="/collections/pre-anti-aging-treatments" class="link-faded-reverse">Pre Anti-aging</a></div> 7999 </details></li><li> 8000 8001 8002 8003 8004<details is="accordion-disclosure" class="group"> 8005 <summary class="header-sidebar__linklist-button h6"> 8006 8007 <img alt="Ranges" src="//yvesrocherusa.com/cdn/shop/files/Screenshot_2024-09-09_at_11.01.53_small.png?v=1725868943" class="menu-image" width="30" height="30"> 8008 8009 <span class="menu-text">Ranges</span> 8010 <span class="animated-plus group-expanded:rotate" aria-hidden="true"></span> 8011 </summary> 8012 8013 <div class="header-sidebar__nested-linklist"> 8014 8015 <a href="/collections/glow-collection" class="link-faded-reverse">Glow </a> 8016 8017 <a href="/collections/skin-care/sebo-pure-vegetal" class="link-faded-reverse">Sebo</a> 8018 8019 <a href="/collections/skin-care/hydra" class="link-faded-reverse">Hydra</a> 8020 8021 <a href="/collections/face-care/bright-botanical" class="link-faded-reverse">Bright Botanical</a> 8022 8023 <a href="/collections/skin-care/organic" class="link-faded-reverse">Organic Skin Care</a> 8024 8025 <a href="/collections/skin-care/chamomile" class="link-faded-reverse">Chamomile</a> 8026 8027 <a href="/collections/skin-care/solids" class="link-faded-reverse">Solids</a> 8028 8029 <a href="/collections/skin-care/aftershave" class="link-faded-reverse">Aftershave</a></div> 8030 </details></li><li> 8031 8032 8033 8034 8035<details is="accordion-disclosure" class="group"> 8036 <summary class="header-sidebar__linklist-button h6"> 8037 8038 <img alt="Skin Type & Concern" src="//yvesrocherusa.com/cdn/shop/files/Screenshot_2024-09-09_at_10.12.39_small.png?v=1725865967" class="menu-image" width="30" height="30"> 8039 8040 <span class="menu-text">Skin Type & Concern</span> 8041 <span class="animated-plus group-expanded:rotate" aria-hidden="true"></span> 8042 </summary> 8043 8044 <div class="header-sidebar__nested-linklist"> 8045 8046 <a href="/collections/face-care/dry-skin" class="link-faded-reverse">Dry Skin</a> 8047 8048 <a href="/collections/face-care/dark-spots" class="link-faded-reverse">Dark Spots</a> 8049 8050 <a href="/collections/skin-care/dehydrated-skin" class="link-faded-reverse">Dehydrated Skin</a> 8051 8052 <a href="/collections/face-care/mature-skin" class="link-faded-reverse">Mature Skin</a> 8053 8054 <a href="/collections/skin-care/oily-skin" class="link-faded-reverse">Oily Skin</a> 8055 8056 <a href="/collections/face-care/sensitive-skin" class="link-faded-reverse">Sensitive Skin</a> 8057 8058 <a href="/collections/skin-care/combination-skin" class="link-faded-reverse">Combination Skin</a> 8059 8060 <a href="/collections/face-care/acne-prone-skin" class="link-faded-reverse">Acne Prone Skin</a> 8061 8062 <a href="/collections/skin-care/normal-skin" class="link-faded-reverse">Normal Skin</a></div> 8063 </details></li></ul></div><div id="header-panel-4" class="header-sidebar__sub-panel" hidden> 8064 <button type="button" class="header-sidebar__back-button link-faded is-divided text-with-icon h6 md:hidden" data-action="close-panel"> 8065 <svg xmlns="http://www.w3.org/2000/svg" class="wd-arrow-icon" width="24" height="24" viewBox="0 0 24 24" fill="none"> 8066 <path d="M15 18L9 12L15 6" stroke="#272E0F" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/> 8067 </svg>
8068 <span class="wd-link-title">Hair Care</span> 8069 </button> 8070 8071 <ul class="header-sidebar__linklist divide-y unstyled-list" role="list"><li> 8072 8073 8074 8075 8076<details is="accordion-disclosure" class="group"> 8077 <summary class="header-sidebar__linklist-button h6"> 8078 8079 <img alt="Shampoo & Conditioner" src="//yvesrocherusa.com/cdn/shop/files/Packshot_VOLUME_1_small.png?v=1725865732" class="menu-image" width="30" height="30"> 8080 8081 <span class="menu-text">Shampoo & Conditioner</span> 8082 <span class="animated-plus group-expanded:rotate" aria-hidden="true"></span> 8083 </summary> 8084 8085 <div class="header-sidebar__nested-linklist"> 8086 8087 <a href="/collections/hair-care/shampoo-and-conditioner" class="link-faded-reverse">All Shampoos & Conditioners </a> 8088 8089 <a href="/collections/hair-care/shampoo" class="link-faded-reverse">Shampoo</a> 8090 8091 <a href="/collections/hair-care/shampoo-bar" class="link-faded-reverse">Shampoo Bar</a> 8092 8093 <a href="/collections/hair-care/conditioner" class="link-faded-reverse">Conditioner</a></div> 8094 </details></li><li> 8095 8096 8097 8098 8099<details is="accordion-disclosure" class="group"> 8100 <summary class="header-sidebar__linklist-button h6"> 8101 8102 <img alt="Hair Treatment" src="//yvesrocherusa.com/cdn/shop/files/SITE-05_small.png?v=1777964789" class="menu-image" width="30" height="30"> 8103 8104 <span class="menu-text">Hair Treatment</span> 8105 <span class="animated-plus group-expanded:rotate" aria-hidden="true"></span> 8106 </summary> 8107 8108 <div class="header-sidebar__nested-linklist"> 8109 8110 <a href="/collections/hair-care/hair-treatment" class="link-faded-reverse">All Hair Treatments </a> 8111 8112 <a href="/collections/hair-care/best-sellers" class="link-faded-reverse">Best Sellers</a> 8113 8114 <a href="/collections/hair-care/hair-volume" class="link-faded-reverse">Hair Volume</a> 8115 8116 <a href="/collections/hair-care/Hair-Density" class="link-faded-reverse">Hair Density </a> 8117 8118 <a href="/collections/hair-care/hair-serum" class="link-faded-reverse">Hair Serum</a> 8119 8120 <a href="/collections/hair-care/hair-mask" class="link-faded-reverse">Hair Mask</a> 8121 8122 <a href="/collections/hair-care/hair-oil" class="link-faded-reverse">Hair Oil</a> 8123 8124 <a href="/collections/hair-care/protect-color" class="link-faded-reverse">Hair Color Protection</a> 8125 8126 <a href="/collections/hair-care/hair-detox" class="link-faded-reverse">Hair Detox</a> 8127 8128 <a href="/collections/hair-care/hair-mist" class="link-faded-reverse">Hair Mist</a> 8129 8130 <a href="/collections/hair-care/beard-grooming" class="link-faded-reverse">Beard Grooming</a></div> 8131 </details></li><li> 8132 8133 8134 8135 8136<details is="accordion-disclosure" class="group"> 8137 <summary class="header-sidebar__linklist-button h6"> 8138 8139 <img alt="Hair Type" src="//yvesrocherusa.com/cdn/shop/files/Screenshot_2024-09-08_at_14.18.40_small.png?v=1725794328" class="menu-image" width="30" height="30"> 8140
8141 <span class="menu-text">Hair Type</span> 8142 <span class="animated-plus group-expanded:rotate" aria-hidden="true"></span> 8143 </summary> 8144 8145 <div class="header-sidebar__nested-linklist"> 8146 8147 <a href="/collections/hair-care/damaged-hair" class="link-faded-reverse">Damaged Hair</a> 8148 8149 <a href="/collections/hair-care/Hair-Density" class="link-faded-reverse">Thin Hair</a> 8150 8151 <a href="/collections/hair-care/curly-hair" class="link-faded-reverse">Curly Hair</a> 8152 8153 <a href="/collections/hair-care/fine-hair" class="link-faded-reverse">Fine Hair</a> 8154 8155 <a href="/collections/hair-care/dry-hair" class="link-faded-reverse">Dry Hair</a> 8156 8157 <a href="/collections/hair-care/oily-hair" class="link-faded-reverse">Oily Hair</a> 8158 8159 <a href="/collections/hair-care/dull-hair" class="link-faded-reverse">Dull Hair</a> 8160 8161 <a href="/collections/hair-care/colored-hair" class="link-faded-reverse">Colored Hair</a> 8162 8163 <a href="/collections/hair-care/frizzy-hair" class="link-faded-reverse">Frizzy Hair</a></div> 8164 </details></li></ul></div><div id="header-panel-5" class="header-sidebar__sub-panel" hidden> 8165 <button type="button" class="header-sidebar__back-button link-faded is-divided text-with-icon h6 md:hidden" data-action="close-panel"> 8166 <svg xmlns="http://www.w3.org/2000/svg" class="wd-arrow-icon" width="24" height="24" viewBox="0 0 24 24" fill="none"> 8167 <path d="M15 18L9 12L15 6" stroke="#272E0F" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/> 8168 </svg> 8169 <span class="wd-link-title">Body & Bath</span> 8170 </button> 8171 8172 <ul class="header-sidebar__linklist divide-y unstyled-list" role="list"><li> 8173 8174 8175 8176 8177<details is="accordion-disclosure" class="group"> 8178 <summary class="header-sidebar__linklist-button h6"> 8179 8180 <img alt="Body Care" src="//yvesrocherusa.com/cdn/shop/files/Screenshot_2024-09-09_at_9.50.01_small.png?v=1725864608" class="menu-image" width="30" height="30"> 8181 8182 <span class="menu-text">Body Care</span> 8183 <span class="animated-plus group-expanded:rotate" aria-hidden="true"></span> 8184 </summary> 8185 8186 <div class="header-sidebar__nested-linklist"> 8187 8188 <a href="/collections/body-care" class="link-faded-reverse">All products </a> 8189 8190 <a href="/collections/body-care/best-sellers" class="link-faded-reverse">Best Sellers</a> 8191 8192 <a href="/collections/body-care/body-oil" class="link-faded-reverse">Body Oil</a> 8193 8194 <a href="/collections/body-care/body-lotion" class="link-faded-reverse">Body Lotion</a> 8195 8196 <a href="/collections/body-care/body-scrub" class="link-faded-reverse">Body Scrub</a> 8197 8198 <a href="/collections/body-care/hand-cream" class="link-faded-reverse">Hand Cream</a> 8199 8200 <a href="/collections/body-care/foot-cream" class="link-faded-reverse">Foot Cream</a></div> 8201 </details></li><li> 8202 8203 8204 8205
8206<details is="accordion-disclosure" class="group"> 8207 <summary class="header-sidebar__linklist-button h6"> 8208 8209 <img alt="Body Wash" src="//yvesrocherusa.com/cdn/shop/files/Screenshot_2024-09-09_at_10.02.59_small.png?v=1725865391" class="menu-image" width="30" height="30"> 8210 8211 <span class="menu-text">Body Wash</span> 8212 <span class="animated-plus group-expanded:rotate" aria-hidden="true"></span> 8213 </summary> 8214 8215 <div class="header-sidebar__nested-linklist"> 8216 8217 <a href="/collections/body-wash" class="link-faded-reverse">All Products </a> 8218 8219 <a href="/collections/body-wash/bar-soap" class="link-faded-reverse">Bar Soap</a> 8220 8221 <a href="/collections/body-wash/liquid-hand-soap" class="link-faded-reverse">Liquid Hand Soap</a> 8222 8223 <a href="/collections/body-wash/shower-gel" class="link-faded-reverse">Shower Gel</a> 8224 8225 <a href="/collections/body-wash/accessories" class="link-faded-reverse">Accessories</a></div> 8226 </details></li><li> 8227 8228 8229 8230 8231<details is="accordion-disclosure" class="group"> 8232 <summary class="header-sidebar__linklist-button h6"> 8233 8234 <img alt="Ranges" src="//yvesrocherusa.com/cdn/shop/files/Screenshot_2024-09-09_at_11.01.53_small.png?v=1725868943" class="menu-image" width="30" height="30"> 8235 8236 <span class="menu-text">Ranges</span> 8237 <span class="animated-plus group-expanded:rotate" aria-hidden="true"></span> 8238 </summary> 8239 8240 <div class="header-sidebar__nested-linklist"> 8241 8242 <a href="/collections/body-care/bain-de-nature" class="link-faded-reverse">Bain de Nature</a> 8243 8244 <a href="/collections/body-care/monoi" class="link-faded-reverse">Monoi</a> 8245 8246 <a href="/collections/body-care/shea-butter" class="link-faded-reverse">Shea Butter</a> 8247 8248 <a href="/collections/body-care/bio-organic" class="link-faded-reverse">Bio Organic</a> 8249 8250 <a href="/collections/body-care/skin-tightening" class="link-faded-reverse">Skin Tightening</a> 8251 8252 <a href="/collections/body-care/self-tanner" class="link-faded-reverse">Self Tanner</a></div> 8253 </details></li></ul></div><div id="header-panel-6" class="header-sidebar__sub-panel" hidden> 8254 <button type="button" class="header-sidebar__back-button link-faded is-divided text-with-icon h6 md:hidden" data-action="close-panel"> 8255 <svg xmlns="http://www.w3.org/2000/svg" class="wd-arrow-icon" width="24" height="24" viewBox="0 0 24 24" fill="none"> 8256 <path d="M15 18L9 12L15 6" stroke="#272E0F" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/> 8257 </svg> 8258 <span class="wd-link-title">Fragrances</span> 8259 </button> 8260 8261 <ul class="header-sidebar__linklist divide-y unstyled-list" role="list"><li> 8262 8263 8264 8265 8266<details is="accordion-disclosure" class="group"> 8267 <summary class="header-sidebar__linklist-button h6"> 8268 8269 <img alt="Women Fragrance" src="//yvesrocherusa.com/cdn/shop/files/Screenshot_2024-09-09_at_11.48.34_94e087ee-2305-4696-b572-62d1e2b2074f_small.png?v=1725871859" class="menu-image" width="30" height="30"> 8270
8271 <span class="menu-text">Women Fragrance</span> 8272 <span class="animated-plus group-expanded:rotate" aria-hidden="true"></span> 8273 </summary> 8274 8275 <div class="header-sidebar__nested-linklist"> 8276 8277 <a href="/collections/fragrance/perfume-for-women" class="link-faded-reverse">All Women Fragrance</a> 8278 8279 <a href="/collections/fragrance/best-sellers" class="link-faded-reverse">Best Sellers</a> 8280 8281 <a href="/collections/fragrance/perfume-for-women" class="link-faded-reverse">Perfume for Women</a> 8282 8283 <a href="/collections/fragrance/eau-de-parfum" class="link-faded-reverse">Eau de Parfum</a> 8284 8285 <a href="/collections/fragrance/floral-perfume" class="link-faded-reverse">Floral Perfume</a></div> 8286 </details></li><li> 8287 8288 8289 8290 8291<details is="accordion-disclosure" class="group"> 8292 <summary class="header-sidebar__linklist-button h6"> 8293 8294 <img alt="Men Fragrance" src="//yvesrocherusa.com/cdn/shop/files/Screenshot_2024-09-09_at_11.42.33_small.png?v=1725871396" class="menu-image" width="30" height="30"> 8295 8296 <span class="menu-text">Men Fragrance</span> 8297 <span class="animated-plus group-expanded:rotate" aria-hidden="true"></span> 8298 </summary> 8299 8300 <div class="header-sidebar__nested-linklist"> 8301 8302 <a href="/collections/fragrance/cologne-for-men" class="link-faded-reverse">Cologne for Men</a> 8303 8304 <a href="/collections/fragrance/eau-de-toilette" class="link-faded-reverse">Eau de Toilette</a></div> 8305 </details></li></ul></div> 8306 8307<div class="header-sidebar__my-account"> 8308 <h3 class="my-account-title">My Account</h3> 8309 <p class="my-account-text-above-button">Login to earn rewards, easily manage and track your orders, and enjoy a faster checkout process!</p> 8310 <a style="margin-bottom: 10px;" href="#open-beauty-reward" class="my-account-button"> 8311 <span class="my-account-button-text">VIP Beauty Rewards ðº</span> 8312 </a> 8313 <a href="/account/login" class="my-account-button"> 8314 <span class="my-account-button-text">Login</span> 8315 </a> 8316 <p class="my-account-text-below-wrapper"> 8317 <span class="my-account-text-below-button">Not a member?</span> 8318 <a href="/account/register" class="my-account-link-below-button">Join us</a> 8319 </p> 8320 </div> 8321 8322 8323 <div class="header-sidebar__customer-info-section"> 8324 <div class="header-sidebar__customer-info-section-content"> 8325 <div class="customer-info-item tracking-order"> 8326 <img alt="Order tracking" src="//yvesrocherusa.com/cdn/shop/files/fi_map-pin_7b6c718d-a237-45bc-855e-c16cd01761e3_24x.png?v=1725827933" width="24" height="24"> 8327 <a href="/?gs_open_chat" class="customer-info-item-link">Order tracking</a> 8328 </div> 8329 <div class="customer-info-item faqs"> 8330 <img alt="FAQ'S" src="//yvesrocherusa.com/cdn/shop/files/fi_help-circle_d3b0e105-af09-4916-a93a-2c75e0bc41d5_24x.png?v=1725827886" width="24" height="24"> 8331 <a href="/pages/faq" class="customer-info-item-link">FAQ'S</a> 8332 </div> 8333 <div class="customer-info-item contact-us"> 8334 <img alt="Contact us" src="//yvesrocherusa.com/cdn/shop/files/fi_message-circle_ff4cee4a-7883-494e-bbf9-c767f93aa982_24x.png?v=1725827906" width="24" height="24"> 8335 <a href="/pages/contact" class="customer-info-item-link">Contact us</a> 8336 </div> 8337 <div class="customer-info-item about-us"> 8338 <img alt="About Yves Rocher" src="//yvesrocherusa.com/cdn/shop/files/Vector_1_24x.png?v=1725827929" width="24" height="24"> 8339 <a href="/pages/about" class="customer-info-item-link">About Yves Rocher</a> 8340 </div> 8341 </div> 8342 </div> 8343 </div> 8344 </header-sidebar-collapsible-panel></header-sidebar> 8345
8346<script> 8347 function closeSidebar(event) { 8348 event.preventDefault(); 8349 8350 var closeButton = document.querySelector('button[is="dialog-close-button"]'); 8351 if (closeButton) { 8352 closeButton.click(); 8353 } 8354 } 8355</script>
8355</x-header> 8356</height-observer> 8357
8358<script> 8359 document.documentElement.style.setProperty('--header-height', `${document.getElementById('shopify-section-sections--26889558229285__header').clientHeight.toFixed(2)}px`); 8360</script>
8360 8361 8362 <style> 8363 .header-sidebar__linklist li:nth-of-type(8) { 8364 color: #fe2c55; 8365 } 8366 8367 #shopify-section-sections--26889558229285__header {z-index:999} 8368 </style> 8369 8370 8371<style> @media screen and (min-width: 699px) {#shopify-section-sections--26889558229285__header .header__logo-image {height: 32px; }} #shopify-section-sections--26889558229285__header .header__primary-nav-item[data-title="Promotions "] a {color: #fe2c55;} #shopify-section-sections--26889558229285__header .header__primary-nav-item[data-title="Subscribe & save 15%"] a {border-radius: 30px; border: 1px solid #272e0f; background: linear-gradient(90deg, #272e0f 0%, #606060 100%); padding: 4px 8px; color: #fff;} #shopify-section-sections--26889558229285__header .header-sidebar__linklist li:nth-of-type(8) {color: #fe2c55;} </style></header><div id="shopify-section-sections--26889558229285__yr_promotion_model_tAKjXB" class="shopify-section shopify-section-group-header-group YR_promotion_model"> 8372 8373<style> 8374 8375.not-try-badge.top-page .offer-countdown .heading { 8376display:none 8377} 8378 8379.not-try-badge.top-page .time-value { 8380 letter-spacing: -0.025em; 8381 font-variant-numeric: tabular-nums; 8382 color: #F9FAF7; 8383 text-align: center; 8384 font-family: Montserrat; 8385 font-size: 14px; 8386 font-style: normal; 8387 font-weight: 600; 8388 line-height: normal; 8389} 8390 8391.not-try-badge.top-page .time-label { 8392 letter-spacing: -0.025em; 8393 color: rgba(249, 250, 247, 0.60); 8394 font-family: Montserrat; 8395 font-size: 8px; 8396 font-style: normal; 8397 font-weight: 300; 8398 line-height: normal; 8399 letter-spacing: -0.08px; 8400 text-transform: uppercase; 8401} 8402 8403.not-try-badge.top-page .time-block { 8404 border-radius: 8px; 8405 background: rgba(255, 255, 255, 0.30); 8406 box-shadow: 0 1px 0 0 rgba(0, 0, 0, 0.00), 0 1px 0 0 rgba(0, 0, 0, 0.01); 8407 color: #fff; 8408 min-width: unset; 8409 gap:0; 8410 padding: 4px 8px; 8411} 8412 8413 8414.not-try-badge.top-page .hero-primary-btn { 8415display:none 8416} 8417 8418.not-try-badge.top-page .time-row { 8419gap: 4px; 8420} 8421 8422.not-try-badge.top-page .dot { 8423 width: 3px; 8424 height: 3px; 8425 border-radius: 999px; 8426 background: #d9d9d9; 8427} 8428 .email-wraper { 8429 margin:0 10px 8430 } 8431 8432 .promotion-inline-msg { 8433 background: ; 8434 color: ; 8435 font-size: ; 8436 padding: 10px; 8437 text-align: center; 8438 text-transform: uppercase; 8439 font-weight: 600; 8440 display:none; 8441 8442} 8443 8444 .promotion-inline-msg span { 8445 font-weight: 400; 8446 font-style: italic; 8447 cursor: pointer; 8448} 8449 8450 .popup-product-link.second { 8451 background: transparent; 8452 border: 1px solid #000; 8453 color: #000; 8454 } 8455 8456 8457 .popup-product-link { 8458 background: #000; 8459 display: block; 8460 padding: 10px; 8461 color: #fff; 8462 text-align: center; 8463 border-radius: 28px; 8464 font-family: 'Montserrat'; 8465 font-weight: 500; 8466 margin: 10px 25px; 8467 cursor: pointer; 8468 } 8469 8470.promotion-popup_layout { 8471 background: rgba(255, 255, 255, 0.70); 8472 backdrop-filter: blur(10px); 8473 -webkit-backdrop-filter: blur(10px)!important; 8474 display:none; 8475 position: fixed; 8476 top: 0; 8477 right: 0; 8478 left: 0; 8479 bottom: 0; 8480 z-index: 99999; 8481} 8482 8483 .promotion-popup_background { 8484 background: #fff; 8485 width: 377px; 8486 flex-shrink: 0; 8487 border-radius: 16px; 8488 background: var(--control-background, #FFF); 8489 box-shadow: 0px 8px 32px 0px rgba(0, 0, 0, 0.25); 8490 margin:50px auto 0 auto ; 8491 padding: 0 0px 8px; 8492 overflow:scroll; 8493 8494} 8495 8496 .close-promotion-popup { 8497 text-align: right; 8498 padding: 11px 0px 11px 0px; 8499 border-bottom: 1px #E8EAE5 solid; 8500 position: relative; 8501 height: 56px; 8502 margin: 0 10px; 8503 8504} 8505 8506 .SMS-img { 8507 color: #0000; 8508 max-width: 100%; 8509 height: auto; 8510 width: 345px; 8511 /* height: 160px; */ 8512 flex-shrink: 0; 8513 margin: 0 auto; 8514 border-radius: 5px; 8515 padding-top: 15px; 8516} 8517 8518 .promotion-popup_layout p { 8519 color: #272E0F; 8520 text-align: center; 8521 font-family: Montserrat; 8522 font-size: 15px; 8523 font-style: normal; 8524 font-weight: 300; 8525 line-height: normal; 8526 letter-spacing: 0.15px; 8527 margin-top: 11px; 8528 margin-bottom: 22px; 8529 8530 } 8531 8532 .promotion-popup_layout h1 { 8533 color: #272E0F; 8534 text-align: center; 8535 font-family: Montserrat; 8536 font-size: 20px; 8537 font-style: normal; 8538 font-weight: 700; 8539 line-height: 130%; 8540 letter-spacing: 0.2px; 8541 text-transform: uppercase; 8542 margin-top: 20px; 8543 } 8544 8545 .promotion-scroll-area { 8546 max-height: 650px; 8547 overflow: scroll; 8548 PADDING: 0 10px; 8549 overflow: auto; 8550 scrollbar-width: none !important; 8551 -ms-overflow-style: none !important; 8552} 8553 8554 .x-image { 8555 background-image: url(https://cdn.shopify.com/s/files/1/0864/6741/2261/files/fi_x.png?v=1720125482); 8556 width: 24px !important; 8557 height: 24px; 8558 display: block; 8559 background-size: contain; 8560 position: absolute; 8561 right: 0; 8562 top: 16px; 8563 cursor: pointer; 8564 } 8565 8566 8567 .present-image { 8568 background-image: url(https://cdn.shopify.com/s/files/1/0864/6741/2261/files/fi_gift_1.png?v=1720133225); 8569 width: 21px !important; 8570 height: 21px; 8571 display: block; 8572 background-size: contain; 8573 position: absolute; 8574 left: 0; 8575 top: 19px; 8576 cursor: pointer; 8577 width: 217px !important; 8578 display: block; 8579 background-repeat: no-repeat; 8580 color: #272E0F; 8581 font-family: Montserrat; 8582 font-size: 14px; 8583 font-style: normal; 8584 font-weight: 600; 8585 line-height: normal; 8586 line-height: 22px; 8587 } 8588 8589</style> 8590 8591 8592 8593 8594 8595 8596 8597 8598 8599 8600 8601 <div id="promotion-inline-msg-campaign_popup_iE4fyc" class="promotion-inline-msg"> 8602 8603 <p>50% off on your first order! Use code:Â CART50OFF. <span onclick="clickedBadgecampaign_popup_iE4fyc()">Learn More</span></p> 8604 8605 </div> 8606 8607 <div id="popup-layout-campaign_popup_iE4fyc" style="display:none" class="promotion-popup_layout"> 8608 8609 <div class="promotion-popup_background"> 8610 <div class="close-promotion-popup"> <span onclick="PromoPopupcampaign_popup_iE4fyc()" class="x-image campaign_popup_iE4fyc"></span></div> 8611 8612 8613 <div id="without-email-campaign_popup_iE4fyc" class="promotion-scroll-area"> 8614 8615 <h1> You got 50% off!</h1> 8616 <p>We've applied 50% off discount on your first order.</p> 8617 8618 8619
8620 <span class="popup-product-link second" onclick="PromoPopupcampaign_popup_iE4fyc()">Awesome! Let me shop</span> 8621 8622 8623 </div> 8624 8625 8626 <div id="with-email-campaign_popup_iE4fyc" class="promotion-scroll-area"> 8627 8628 <!--<h1> </h1>--> 8629 <p></p> 8630 <div class="email-wraper"> 8631 <div class="close-after-subsmition-campaign_popup_iE4fyc" style="position:relative"> 8632 <label for="user-email-campaign_popup_iE4fyc" style="display:none" >Email</label> 8633 <input placeholder="" class="user-email-campaign_popup_iE4fyc" id="user-email-campaign_popup_iE4fyc"> 8634 <p class="error-msg-campaign_popup_iE4fyc"></p> 8635 </div> 8636 <button class="close-after-subsmition" id="submit-email-campaign_popup_iE4fyc">Submit</button> 8637 <!-- <a style="display:none" onclick="fireEventsToHeap('clicked_Hero_banner_video')" href="" class="scroll-to-campaign_popup_iE4fyc"></a>--> 8638 </div> 8639 </div> 8640 8641 </div> 8642 </div> 8643 8644 8645
8646<script> 8647<!-----------------------------------------------------------------------------------------------------------------> 8648 8649 function showPromoMSGcampaign_popup_iE4fyc() { 8650 const urlParams = getUrlParams(window.location.href); 8651 const showDuringSession = sessionStorage.getItem('show-promo-msg-pop_up-cart50off') 8652 8653 if(urlParams.pop_up != undefined || showDuringSession === "true" ) { 8654 if(urlParams.pop_up === 'cart50off' || showDuringSession === "true" ) { 8655 document.getElementById('promotion-inline-msg-campaign_popup_iE4fyc').style.display = "block"; 8656 showEmailInPopup_campaign_popup_iE4fyc() 8657 sessionStorage.setItem('show-promo-msg-pop_up-cart50off', 'true'); 8658 8659 if(urlParams.open_popup === "true"){ 8660 clickedBadgecampaign_popup_iE4fyc(); 8661 } 8662 8663 if(urlParams.show_btn === "false") { 8664 document.querySelector('.x-image.campaign_popup_iE4fyc').style.display = "none" 8665 } 8666 8667 8668 8669 8670 } 8671 } 8672 } 8673 8674 8675 8676 8677 8678<!-----------------------------------------------------------------------------------------------------------------> 8679 8680 8681 function showEmailInPopup_campaign_popup_iE4fyc() { 8682 const urlParams = getUrlParams(window.location.href); 8683 const showDuringSession = sessionStorage.getItem('is_email-cart50off'); 8684 if(urlParams.is_email === "true" || showDuringSession === "true" ){ 8685 document.getElementById('with-email-campaign_popup_iE4fyc').style.display = "block"; 8686 document.getElementById('without-email-campaign_popup_iE4fyc').style.display = "none"; 8687 localStorage.setItem("viewedPopup", "true"); 8688 sessionStorage.setItem('is_email-cart50off', 'true'); 8689 8690 } 8691 8692 8693 else { 8694 document.getElementById('with-email-campaign_popup_iE4fyc').style.display = "none"; 8695 document.getElementById('without-email-campaign_popup_iE4fyc').style.display = "block"; 8696 } 8697 } 8698 8699<!-----------------------------------------------------------------------------------------------------------------> 8700 8701 function showSMSpopup_after_applying_discount_campaign_popup_iE4fyc() { 8702 if (typeof window.showSMSpopup_ === 'function') { 8703 showSMSpopup_(); 8704 localStorage.setItem('viewedPopup-klaviyo-form-SgXDwS','true') // prevent from default popup to jump 8705 } 8706 else { 8707 setTimeout(showSMSpopup_after_applying_discount_campaign_popup_iE4fyc, 300); 8708 } 8709 } 8710<!-----------------------------------------------------------------------------------------------------------------> 8711 8712 function validateEmail(email) { 8713 const regex = /^[^\s@]+@[^\s@]+\.[^\s@]+$/; 8714 return regex.test(email); 8715 } 8716 8717 <!-----------------------------------------------------------------------------------------------------------------> 8718 8719 function kEventcampaign_popup_iE4fyc(email) { 8720 _learnq.push(["track", "", { 8721 "Recipients": [email], 8722 "page":window.location.pathname 8723 }]); 8724 console.log('Tbyb event sent') 8725 } 8726 8727 8728<!-----------------------------------------------------------------------------------------------------------------> 8729 8730 document.getElementById('submit-email-campaign_popup_iE4fyc').addEventListener('click', function() { 8731 const user_email = document.getElementsByClassName('user-email-campaign_popup_iE4fyc')[0].value 8732 const is_email = validateEmail(user_email); 8733 const coupon = 'cart50off' 8734 8735 if (user_email === "") { 8736 document.getElementsByClassName('error-msg-campaign_popup_iE4fyc')[0].style.display = "block"; 8737 document.getElementsByClassName('error-msg-campaign_popup_iE4fyc')[0].innerText = "Please add your email "; 8738 document.getElementsByClassName('user-email-campaign_popup_iE4fyc')[0].style.border = "1px solid red"; 8739 setTimeout(function() { 8740 document.getElementsByClassName('error-msg-campaign_popup_iE4fyc')[0].style.display = "none"; 8741 document.getElementsByClassName('user-email-campaign_popup_iE4fyc')[0].style.border = "1px solid #A1A1A1" 8742 8743 },3000 ) 8744 } 8745 8746 else if(!is_email) { 8747 document.getElementsByClassName('error-msg-campaign_popup_iE4fyc')[0].style.display = "block"; 8748 document.getElementsByClassName('error-msg-campaign_popup_iE4fyc')[0].innerText = "Please add a valid email "; 8749 document.getElementsByClassName('user-email-campaign_popup_iE4fyc')[0].style.border = "1px solid red" 8750 setTimeout(function() { 8751 document.getElementsByClassName('error-msg-campaign_popup_iE4fyc')[0].style.display = "none"; 8752 document.getElementsByClassName('user-email-campaign_popup_iE4fyc')[0].style.border = "1px solid #A1A1A1" 8753 8754 },3000 ) 8755 } 8756 8757 else { 8758 document.getElementById('submit-email-campaign_popup_iE4fyc').innerText = "Unlocking..."; 8759 sessionStorage.getItem('show-promo-msg-pop_up-cart50off') 8760 sendToHeap(''); 8761 _learnq.push(['identify', { 8762 '$email' : user_email 8763 8764 }]) 8765 if(coupon === ""){ 8766 setTimeout(function(){ 8767 kEventcampaign_popup_iE4fyc(user_email) ; 8768 document.getElementsByClassName('close-after-subsmition')[0].style.display = "none"; 8769 document.getElementsByClassName('close-after-subsmition')[1].style.display = "none"; 8770 document.getElementsByClassName('scroll-to')[0].style.display = "flex"; 8771 },1000) 8772 } 8773 8774 else { 8775 setTimeout(function(){ 8776 kEventcampaign_popup_iE4fyc(user_email) ; 8777 },1000) 8778 setTimeout(function(){ 8779 window.location.replace("https://yvesrocherusa.com/discount/"+coupon+"?redirect="+window.location.pathname+"&pop_up=cart50off&emailSubmitted=true"); 8780 8781 },1000) 8782 } 8783 8784 } 8785 }); 8786 8787 <!-----------------------------------------------------------------------------------------------------------------> 8788 8789 8790 function PromoPopupcampaign_popup_iE4fyc() { 8791 document.getElementById('popup-layout-campaign_popup_iE4fyc').style.display = "none"; 8792 // localStorage.removeItem("viewedPopup"); 8793 } 8794 8795<!-----------------------------------------------------------------------------------------------------------------> 8796 8797 function popupAddtocartcampaign_popup_iE4fyc(element) { 8798 var product_name = document.title 8799 document.getElementsByClassName('wd-buy_btn')[0].click() 8800 element.innerText = "Adding..." 8801 setTimeout(function() { 8802 document.getElementById('popup-layout-campaign_popup_iE4fyc').style.display = "none"; 8803 element.innerText = "Add to cart" 8804 }, 1500) 8805 8806 } 8807 8808 8809<!-----------------------------------------------------------------------------------------------------------------> 8810 8811 function clickedBadgecampaign_popup_iE4fyc() { 8812 document.getElementById('popup-layout-campaign_popup_iE4fyc').style.display = "block"; 8813 } 8814 8815<!-----------------------------------------------------------------------------------------------------------------> 8816 8817 function getUrlParams(url) { 8818 const params = {}; 8819 const urlObj = new URL(url); 8820 8821 for (const [key, value] of urlObj.searchParams) { 8822 // Add each parameter as a key-value pair to the params object 8823 params[key] = value; 8824 } 8825 8826 return params; 8827 } 8828<!--------------------------------------------------------------------------------------------------------------------------------------> 8829 8830 /* ------------------------------------------------------- 8831 MULTI-COLLECTION PROMOTION RULES 8832 8833 Each rule has: 8834 - collection 8835 - promotion discount (decimal: 0.5 = 50%) 8836 - optional subscription discount override (decimal) 8837 8838 If a product belongs to multiple configured collections, 8839 the rule with the HIGHEST promotion discount wins. 8840 8841 If no new multi-collection rule is configured, the old 8842 eligible_collection + code_discount_value settings are 8843 used as a backwards-compatible fallback. 8844 8845 Product cards still require: 8846 data-collections="collection-handle-1,collection-handle-2" 8847 ------------------------------------------------------- */ 8848 8849 var promoRules_campaign_popup_iE4fyc = [ 8850 { 8851 handle: null, 8852 discount: Number(0) || 0, 8853 subscriptionOverride: ("" === null || "" === "") 8854 ? null 8855 : (Number("") || 0) 8856 }, 8857 { 8858 handle: null, 8859 discount: Number(0) || 0, 8860 subscriptionOverride: ("" === null || "" === "") 8861 ? null 8862 : (Number("") || 0) 8863 }, 8864 { 8865 handle: null, 8866 discount: Number(0) || 0, 8867 subscriptionOverride: ("" === null || "" === "") 8868 ? null 8869 : (Number("") || 0) 8870 }, 8871 { 8872 handle: null, 8873 discount: Number(0) || 0, 8874 subscriptionOverride: ("" === null || "" === "") 8875 ? null 8876 : (Number("") || 0) 8877 }, 8878 { 8879 handle: null, 8880 discount: Number(0) || 0, 8881 subscriptionOverride: ("" === null || "" === "") 8882 ? null 8883 : (Number("") || 0) 8884 } 8885 ].filter(function(rule) { 8886 return rule.handle && rule.discount > 0; 8887 }); 8888 8889 // Backwards-compatible fallback for existing campaign blocks. 8890 if (promoRules_campaign_popup_iE4fyc.length === 0) { 8891 var legacyCollection_campaign_popup_iE4fyc = null; 8892 var legacyDiscount_campaign_popup_iE4fyc = Number("0.5") || 0; 8893 8894 if (legacyCollection_campaign_popup_iE4fyc && legacyDiscount_campaign_popup_iE4fyc > 0) { 8895 promoRules_campaign_popup_iE4fyc.push({ 8896 handle: legacyCollection_campaign_popup_iE4fyc, 8897 discount: legacyDiscount_campaign_popup_iE4fyc, 8898 subscriptionOverride: null 8899 }); 8900 } 8901 } 8902 8903 function getWinningPromoRule_campaign_popup_iE4fyc(collectionHandles) { 8904 // Preserve old site-wide behavior when no collection rule exists. 8905 if (promoRules_campaign_popup_iE4fyc.length === 0) { 8906 return { 8907 handle: null, 8908 discount: Number("0.5") || 0, 8909 multiplier: 1 - (Number("0.5") || 0), 8910 subscriptionOverride: null 8911 }; 8912 } 8913 8914 var handles = Array.isArray(collectionHandles) ? collectionHandles : []; 8915 var winner = null; 8916 8917 promoRules_campaign_popup_iE4fyc.forEach(function(rule) { 8918 if (!handles.includes(rule.handle)) return; 8919 8920 if ( 8921 !winner || 8922 rule.discount > winner.discount || 8923 ( 8924 rule.discount === winner.discount && 8925 rule.subscriptionOverride !== null && 8926 (winner.subscriptionOverride === null || rule.subscriptionOverride > winner.subscriptionOverride) 8927 ) 8928 ) { 8929 winner = rule; 8930 } 8931 }); 8932 8933 if (!winner) return null; 8934 8935 return { 8936 handle: winner.handle, 8937 discount: winner.discount, 8938 multiplier: 1 - winner.discount, 8939 subscriptionOverride: winner.subscriptionOverride 8940 }; 8941 } 8942 8943 function getPromoRuleForCard_campaign_popup_iE4fyc(productCard) { 8944 if (!productCard) return null; 8945 8946 var collectionsAttribute = productCard.getAttribute('data-collections') || '';
8947 var productCollections = collectionsAttribute 8948 .split(',') 8949 .map(function(collection) { return collection.trim(); }) 8950 .filter(Boolean); 8951 8952 return getWinningPromoRule_campaign_popup_iE4fyc(productCollections); 8953 } 8954 8955 function isPromoEligible_campaign_popup_iE4fyc(productCard) { 8956 return getPromoRuleForCard_campaign_popup_iE4fyc(productCard) !== null; 8957 } 8958 8959 // MAIN PDP collection handles. 8960 var collections_for_promo_campaign_popup_iE4fyc = [ 8961 8962 ]; 8963 8964 function getCurrentProductPromoRule_campaign_popup_iE4fyc() { 8965 return getWinningPromoRule_campaign_popup_iE4fyc(collections_for_promo_campaign_popup_iE4fyc); 8966 } 8967 8968 function isCurrentProductPromoEligible_campaign_popup_iE4fyc() { 8969 return getCurrentProductPromoRule_campaign_popup_iE4fyc() !== null; 8970 } 8971 8972 function formatPromoMoney_campaign_popup_iE4fyc(amount) { 8973 var value = Number(amount); 8974 if (!Number.isFinite(value)) value = 0; 8975 return '$' + (Math.round(value * 100) / 100).toFixed(2).replace(/\.00$/, ''); 8976 } 8977 8978 8979 8980 function applyDiscountCodeAjax(discountCode) { 8981 const discountUrl = `/discount/${discountCode}`; 8982 fetch(discountUrl, { 8983 method: 'GET', 8984 headers: { 8985 'Content-Type': 'application/json' 8986 } 8987 }).then(response => { 8988 if (response.ok) { 8989 console.log('applyied discount.'); 8990 document.documentElement.dispatchEvent(new CustomEvent('cart:refresh', { bubbles: true})); 8991 document.documentElement.dispatchEvent(new CustomEvent("theme:loading:end", { bubbles: true })); 8992 sessionStorage.setItem('discount-'+ discountCode, discountCode); 8993 8994 } else { 8995 console.error('Failed to apply discount.'); 8996 } 8997 }).catch(error => { 8998 console.error('Error applying discount:', error); 8999 }); 9000 } 9001 9002 <!---------------------------------------- code for price manipulation + coupon appliyment in regular pages --------------------------------------> 9003 9004 9005 9006 <!----------------------------------------code for price manipulation + coupon apliyment in HOMEPAGE ----------------------------------------------> 9007 9008 9009 <!----------------------------------------code for price manipulation on collection page ----------------------------------------------> 9010 9011 9012 9013 9014 <!----------------------------------------code for price manipulation on products page ----------------------------------------------> 9015 9016 9017 9018 9019 document.addEventListener('DOMContentLoaded',showPromoMSGcampaign_popup_iE4fyc()); 9020 9021<!---------------------------------------> 9022 9023</script>
9023 9024 9025 9026<style> 9027 #promotion-inline-msg-campaign_popup_iE4fyc { 9028 background: #FE2C55; 9029 color: #fff; 9030 font-size: 13px; 9031 padding: 10px; 9032 text-align: center; 9033 text-transform: uppercase; 9034 font-weight: 600; 9035 display:none; 9036 } 9037 9038 input.user-email-campaign_popup_iE4fyc { 9039 height: 52px; 9040 border-radius: 5px; 9041 border: #A1A1A1 1px solid; 9042 background: #fff; 9043 padding: 10px; 9044 font-family: Montserrat; 9045 font-size: 14px; 9046 width: 100%; 9047 } 9048 9049 9050 .error-msg-campaign_popup_iE4fyc { 9051 display: none; 9052 position: absolute; 9053 color: red !important; 9054 bottom: -47px; 9055 left: 0px; 9056 background: #fff; 9057 padding: 3px 9px; 9058 margin: 0; 9059 border-radius: 5px; 9060 border-left: 1px solid red; 9061 border-right: 1px solid red; 9062 border-bottom: 1px solid red; 9063 font-size: 14px !important; 9064 } 9065 9066 #submit-email-campaign_popup_iE4fyc { 9067 background: #000; 9068 display: block; 9069 padding: 15px 10px; 9070 color: #fff; 9071 text-align: center; 9072 border-radius: 28px; 9073 font-family: 'Montserrat'; 9074 font-weight: 500; 9075 margin: 15px 0px 25px; 9076 cursor: pointer; 9077 width: 100%; 9078 } 9079 9080 @media only screen and (max-width: 800px) { 9081 #promotion-inline-msg-campaign_popup_iE4fyc { 9082 9083 } 9084 } 9085 </style> 9086 9087 9088 9089 9090 9091 9092 9093 9094 9095 9096 9097 <div id="promotion-inline-msg-campaign_popup_3pEVFe" class="promotion-inline-msg"> 9098 9099 <p>30% off on your first order! Use code:Â CART30. <span onclick="clickedBadgecampaign_popup_3pEVFe()">Learn More</span></p> 9100 9101 </div> 9102 9103 <div id="popup-layout-campaign_popup_3pEVFe" style="display:none" class="promotion-popup_layout"> 9104 9105 <div class="promotion-popup_background"> 9106 <div class="close-promotion-popup"> <span onclick="PromoPopupcampaign_popup_3pEVFe()" class="x-image campaign_popup_3pEVFe"></span></div> 9107 9108 9109 <div id="without-email-campaign_popup_3pEVFe" class="promotion-scroll-area"> 9110 9111 <h1> You got 50% off!</h1> 9112 <p>We've applied 30% off discount on your first order.</p> 9113 9114 9115 9116 <span class="popup-product-link second" onclick="PromoPopupcampaign_popup_3pEVFe()">Awesome! Let me shop</span> 9117 9118 9119 </div> 9120 9121 9122 <div id="with-email-campaign_popup_3pEVFe" class="promotion-scroll-area"> 9123 9124 <!--<h1> </h1>--> 9125 <p></p> 9126 <div class="email-wraper"> 9127 <div class="close-after-subsmition-campaign_popup_3pEVFe" style="position:relative"> 9128 <label for="user-email-campaign_popup_3pEVFe" style="display:none" >Email</label> 9129 <input placeholder="" class="user-email-campaign_popup_3pEVFe" id="user-email-campaign_popup_3pEVFe"> 9130 <p class="error-msg-campaign_popup_3pEVFe"></p> 9131 </div> 9132 <button class="close-after-subsmition" id="submit-email-campaign_popup_3pEVFe">Submit</button> 9133 <!-- <a style="display:none" onclick="fireEventsToHeap('clicked_Hero_banner_video')" href="" class="scroll-to-campaign_popup_3pEVFe"></a>--> 9134 </div> 9135 </div> 9136 9137 </div> 9138 </div> 9139 9140 9141
9142<script> 9143<!-----------------------------------------------------------------------------------------------------------------> 9144 9145 function showPromoMSGcampaign_popup_3pEVFe() { 9146 const urlParams = getUrlParams(window.location.href); 9147 const showDuringSession = sessionStorage.getItem('show-promo-msg-pop_up-cart30') 9148 9149 if(urlParams.pop_up != undefined || showDuringSession === "true" ) { 9150 if(urlParams.pop_up === 'cart30' || showDuringSession === "true" ) { 9151 document.getElementById('promotion-inline-msg-campaign_popup_3pEVFe').style.display = "block"; 9152 showEmailInPopup_campaign_popup_3pEVFe() 9153 sessionStorage.setItem('show-promo-msg-pop_up-cart30', 'true'); 9154 9155 if(urlParams.open_popup === "true"){ 9156 clickedBadgecampaign_popup_3pEVFe(); 9157 } 9158 9159 if(urlParams.show_btn === "false") { 9160 document.querySelector('.x-image.campaign_popup_3pEVFe').style.display = "none" 9161 } 9162 9163 9164 9165 9166 } 9167 } 9168 } 9169 9170 9171 9172 9173 9174<!-----------------------------------------------------------------------------------------------------------------> 9175 9176 9177 function showEmailInPopup_campaign_popup_3pEVFe() { 9178 const urlParams = getUrlParams(window.location.href); 9179 const showDuringSession = sessionStorage.getItem('is_email-cart30'); 9180 if(urlParams.is_email === "true" || showDuringSession === "true" ){ 9181 document.getElementById('with-email-campaign_popup_3pEVFe').style.display = "block"; 9182 document.getElementById('without-email-campaign_popup_3pEVFe').style.display = "none"; 9183 localStorage.setItem("viewedPopup", "true"); 9184 sessionStorage.setItem('is_email-cart30', 'true'); 9185 9186 } 9187 9188 9189 else { 9190 document.getElementById('with-email-campaign_popup_3pEVFe').style.display = "none"; 9191 document.getElementById('without-email-campaign_popup_3pEVFe').style.display = "block"; 9192 } 9193 } 9194 9195<!-----------------------------------------------------------------------------------------------------------------> 9196 9197 function showSMSpopup_after_applying_discount_campaign_popup_3pEVFe() { 9198 if (typeof window.showSMSpopup_ === 'function') { 9199 showSMSpopup_(); 9200 localStorage.setItem('viewedPopup-klaviyo-form-SgXDwS','true') // prevent from default popup to jump 9201 } 9202 else { 9203 setTimeout(showSMSpopup_after_applying_discount_campaign_popup_3pEVFe, 300); 9204 } 9205 } 9206<!-----------------------------------------------------------------------------------------------------------------> 9207 9208 function validateEmail(email) { 9209 const regex = /^[^\s@]+@[^\s@]+\.[^\s@]+$/; 9210 return regex.test(email); 9211 } 9212 9213 <!-----------------------------------------------------------------------------------------------------------------> 9214 9215 function kEventcampaign_popup_3pEVFe(email) { 9216 _learnq.push(["track", "", { 9217 "Recipients": [email], 9218 "page":window.location.pathname 9219 }]); 9220 console.log('Tbyb event sent') 9221 } 9222 9223 9224<!-----------------------------------------------------------------------------------------------------------------> 9225 9226 document.getElementById('submit-email-campaign_popup_3pEVFe').addEventListener('click', function() { 9227 const user_email = document.getElementsByClassName('user-email-campaign_popup_3pEVFe')[0].value 9228 const is_email = validateEmail(user_email); 9229 const coupon = 'cart30' 9230 9231 if (user_email === "") { 9232 document.getElementsByClassName('error-msg-campaign_popup_3pEVFe')[0].style.display = "block"; 9233 document.getElementsByClassName('error-msg-campaign_popup_3pEVFe')[0].innerText = "Please add your email "; 9234 document.getElementsByClassName('user-email-campaign_popup_3pEVFe')[0].style.border = "1px solid red"; 9235 setTimeout(function() { 9236 document.getElementsByClassName('error-msg-campaign_popup_3pEVFe')[0].style.display = "none"; 9237 document.getElementsByClassName('user-email-campaign_popup_3pEVFe')[0].style.border = "1px solid #A1A1A1" 9238 9239 },3000 ) 9240 } 9241 9242 else if(!is_email) { 9243 document.getElementsByClassName('error-msg-campaign_popup_3pEVFe')[0].style.display = "block"; 9244 document.getElementsByClassName('error-msg-campaign_popup_3pEVFe')[0].innerText = "Please add a valid email "; 9245 document.getElementsByClassName('user-email-campaign_popup_3pEVFe')[0].style.border = "1px solid red" 9246 setTimeout(function() { 9247 document.getElementsByClassName('error-msg-campaign_popup_3pEVFe')[0].style.display = "none"; 9248 document.getElementsByClassName('user-email-campaign_popup_3pEVFe')[0].style.border = "1px solid #A1A1A1" 9249 9250 },3000 ) 9251 } 9252 9253 else { 9254 document.getElementById('submit-email-campaign_popup_3pEVFe').innerText = "Unlocking..."; 9255 sessionStorage.getItem('show-promo-msg-pop_up-cart30') 9256 sendToHeap(''); 9257 _learnq.push(['identify', { 9258 '$email' : user_email 9259 9260 }]) 9261 if(coupon === ""){ 9262 setTimeout(function(){ 9263 kEventcampaign_popup_3pEVFe(user_email) ; 9264 document.getElementsByClassName('close-after-subsmition')[0].style.display = "none"; 9265 document.getElementsByClassName('close-after-subsmition')[1].style.display = "none"; 9266 document.getElementsByClassName('scroll-to')[0].style.display = "flex"; 9267 },1000) 9268 } 9269 9270 else { 9271 setTimeout(function(){ 9272 kEventcampaign_popup_3pEVFe(user_email) ; 9273 },1000) 9274 setTimeout(function(){ 9275 window.location.replace("https://yvesrocherusa.com/discount/"+coupon+"?redirect="+window.location.pathname+"&pop_up=cart30&emailSubmitted=true"); 9276 9277 },1000) 9278 } 9279 9280 } 9281 }); 9282 9283 <!-----------------------------------------------------------------------------------------------------------------> 9284 9285 9286 function PromoPopupcampaign_popup_3pEVFe() { 9287 document.getElementById('popup-layout-campaign_popup_3pEVFe').style.display = "none"; 9288 // localStorage.removeItem("viewedPopup"); 9289 } 9290 9291<!-----------------------------------------------------------------------------------------------------------------> 9292 9293 function popupAddtocartcampaign_popup_3pEVFe(element) { 9294 var product_name = document.title 9295 document.getElementsByClassName('wd-buy_btn')[0].click() 9296 element.innerText = "Adding..." 9297 setTimeout(function() { 9298 document.getElementById('popup-layout-campaign_popup_3pEVFe').style.display = "none"; 9299 element.innerText = "Add to cart" 9300 }, 1500) 9301 9302 } 9303 9304 9305<!-----------------------------------------------------------------------------------------------------------------> 9306 9307 function clickedBadgecampaign_popup_3pEVFe() { 9308 document.getElementById('popup-layout-campaign_popup_3pEVFe').style.display = "block"; 9309 } 9310 9311<!-----------------------------------------------------------------------------------------------------------------> 9312 9313 function getUrlParams(url) { 9314 const params = {}; 9315 const urlObj = new URL(url); 9316 9317 for (const [key, value] of urlObj.searchParams) { 9318 // Add each parameter as a key-value pair to the params object 9319 params[key] = value; 9320 } 9321 9322 return params; 9323 } 9324<!--------------------------------------------------------------------------------------------------------------------------------------> 9325 9326 /* ------------------------------------------------------- 9327 MULTI-COLLECTION PROMOTION RULES 9328 9329 Each rule has: 9330 - collection 9331 - promotion discount (decimal: 0.5 = 50%) 9332 - optional subscription discount override (decimal) 9333 9334 If a product belongs to multiple configured collections, 9335 the rule with the HIGHEST promotion discount wins. 9336 9337 If no new multi-collection rule is configured, the old 9338 eligible_collection + code_discount_value settings are 9339 used as a backwards-compatible fallback. 9340 9341 Product cards still require: 9342 data-collections="collection-handle-1,collection-handle-2" 9343 ------------------------------------------------------- */ 9344 9345 var promoRules_campaign_popup_3pEVFe = [ 9346 { 9347 handle: null, 9348 discount: Number(0) || 0, 9349 subscriptionOverride: ("" === null || "" === "") 9350 ? null 9351 : (Number("") || 0) 9352 }, 9353 { 9354 handle: null, 9355 discount: Number(0) || 0, 9356 subscriptionOverride: ("" === null || "" === "") 9357 ? null 9358 : (Number("") || 0) 9359 }, 9360 { 9361 handle: null, 9362 discount: Number(0) || 0, 9363 subscriptionOverride: ("" === null || "" === "") 9364 ? null 9365 : (Number("") || 0) 9366 }, 9367 { 9368 handle: null, 9369 discount: Number(0) || 0, 9370 subscriptionOverride: ("" === null || "" === "") 9371 ? null 9372 : (Number("") || 0) 9373 }, 9374 { 9375 handle: null, 9376 discount: Number(0) || 0, 9377 subscriptionOverride: ("" === null || "" === "") 9378 ? null 9379 : (Number("") || 0) 9380 } 9381 ].filter(function(rule) { 9382 return rule.handle && rule.discount > 0; 9383 }); 9384 9385 // Backwards-compatible fallback for existing campaign blocks. 9386 if (promoRules_campaign_popup_3pEVFe.length === 0) { 9387 var legacyCollection_campaign_popup_3pEVFe = null; 9388 var legacyDiscount_campaign_popup_3pEVFe = Number("0.3") || 0; 9389 9390 if (legacyCollection_campaign_popup_3pEVFe && legacyDiscount_campaign_popup_3pEVFe > 0) { 9391 promoRules_campaign_popup_3pEVFe.push({ 9392 handle: legacyCollection_campaign_popup_3pEVFe, 9393 discount: legacyDiscount_campaign_popup_3pEVFe, 9394 subscriptionOverride: null 9395 }); 9396 } 9397 } 9398 9399 function getWinningPromoRule_campaign_popup_3pEVFe(collectionHandles) { 9400 // Preserve old site-wide behavior when no collection rule exists. 9401 if (promoRules_campaign_popup_3pEVFe.length === 0) { 9402 return { 9403 handle: null, 9404 discount: Number("0.3") || 0, 9405 multiplier: 1 - (Number("0.3") || 0), 9406 subscriptionOverride: null 9407 }; 9408 } 9409 9410 var handles = Array.isArray(collectionHandles) ? collectionHandles : []; 9411 var winner = null; 9412 9413 promoRules_campaign_popup_3pEVFe.forEach(function(rule) { 9414 if (!handles.includes(rule.handle)) return; 9415 9416 if ( 9417 !winner || 9418 rule.discount > winner.discount || 9419 ( 9420 rule.discount === winner.discount && 9421 rule.subscriptionOverride !== null && 9422 (winner.subscriptionOverride === null || rule.subscriptionOverride > winner.subscriptionOverride) 9423 ) 9424 ) { 9425 winner = rule; 9426 } 9427 }); 9428 9429 if (!winner) return null; 9430 9431 return { 9432 handle: winner.handle, 9433 discount: winner.discount, 9434 multiplier: 1 - winner.discount, 9435 subscriptionOverride: winner.subscriptionOverride 9436 }; 9437 } 9438 9439 function getPromoRuleForCard_campaign_popup_3pEVFe(productCard) { 9440 if (!productCard) return null; 9441 9442 var collectionsAttribute = productCard.getAttribute('data-collections') || '';
9443 var productCollections = collectionsAttribute 9444 .split(',') 9445 .map(function(collection) { return collection.trim(); }) 9446 .filter(Boolean); 9447 9448 return getWinningPromoRule_campaign_popup_3pEVFe(productCollections); 9449 } 9450 9451 function isPromoEligible_campaign_popup_3pEVFe(productCard) { 9452 return getPromoRuleForCard_campaign_popup_3pEVFe(productCard) !== null; 9453 } 9454 9455 // MAIN PDP collection handles. 9456 var collections_for_promo_campaign_popup_3pEVFe = [ 9457 9458 ]; 9459 9460 function getCurrentProductPromoRule_campaign_popup_3pEVFe() { 9461 return getWinningPromoRule_campaign_popup_3pEVFe(collections_for_promo_campaign_popup_3pEVFe); 9462 } 9463 9464 function isCurrentProductPromoEligible_campaign_popup_3pEVFe() { 9465 return getCurrentProductPromoRule_campaign_popup_3pEVFe() !== null; 9466 } 9467 9468 function formatPromoMoney_campaign_popup_3pEVFe(amount) { 9469 var value = Number(amount); 9470 if (!Number.isFinite(value)) value = 0; 9471 return '$' + (Math.round(value * 100) / 100).toFixed(2).replace(/\.00$/, ''); 9472 } 9473 9474 9475 9476 function applyDiscountCodeAjax(discountCode) { 9477 const discountUrl = `/discount/${discountCode}`; 9478 fetch(discountUrl, { 9479 method: 'GET', 9480 headers: { 9481 'Content-Type': 'application/json' 9482 } 9483 }).then(response => { 9484 if (response.ok) { 9485 console.log('applyied discount.'); 9486 document.documentElement.dispatchEvent(new CustomEvent('cart:refresh', { bubbles: true})); 9487 document.documentElement.dispatchEvent(new CustomEvent("theme:loading:end", { bubbles: true })); 9488 sessionStorage.setItem('discount-'+ discountCode, discountCode); 9489 9490 } else { 9491 console.error('Failed to apply discount.'); 9492 } 9493 }).catch(error => { 9494 console.error('Error applying discount:', error); 9495 }); 9496 } 9497 9498 <!---------------------------------------- code for price manipulation + coupon appliyment in regular pages --------------------------------------> 9499 9500 9501 9502 <!----------------------------------------code for price manipulation + coupon apliyment in HOMEPAGE ----------------------------------------------> 9503 9504 9505 <!----------------------------------------code for price manipulation on collection page ----------------------------------------------> 9506 9507 9508 9509 9510 <!----------------------------------------code for price manipulation on products page ----------------------------------------------> 9511 9512 9513 9514 9515 document.addEventListener('DOMContentLoaded',showPromoMSGcampaign_popup_3pEVFe()); 9516 9517<!---------------------------------------> 9518 9519</script>
9519 9520 9521 9522<style> 9523 #promotion-inline-msg-campaign_popup_3pEVFe { 9524 background: #FE2C55; 9525 color: #fff; 9526 font-size: 13px; 9527 padding: 10px; 9528 text-align: center; 9529 text-transform: uppercase; 9530 font-weight: 600; 9531 display:none; 9532 } 9533 9534 input.user-email-campaign_popup_3pEVFe { 9535 height: 52px; 9536 border-radius: 5px; 9537 border: #A1A1A1 1px solid; 9538 background: #fff; 9539 padding: 10px; 9540 font-family: Montserrat; 9541 font-size: 14px; 9542 width: 100%; 9543 } 9544 9545 9546 .error-msg-campaign_popup_3pEVFe { 9547 display: none; 9548 position: absolute; 9549 color: red !important; 9550 bottom: -47px; 9551 left: 0px; 9552 background: #fff; 9553 padding: 3px 9px; 9554 margin: 0; 9555 border-radius: 5px; 9556 border-left: 1px solid red; 9557 border-right: 1px solid red; 9558 border-bottom: 1px solid red; 9559 font-size: 14px !important; 9560 } 9561 9562 #submit-email-campaign_popup_3pEVFe { 9563 background: #000; 9564 display: block; 9565 padding: 15px 10px; 9566 color: #fff; 9567 text-align: center; 9568 border-radius: 28px; 9569 font-family: 'Montserrat'; 9570 font-weight: 500; 9571 margin: 15px 0px 25px; 9572 cursor: pointer; 9573 width: 100%; 9574 } 9575 9576 @media only screen and (max-width: 800px) { 9577 #promotion-inline-msg-campaign_popup_3pEVFe { 9578 9579 } 9580 } 9581 </style> 9582 9583 9584 9585 9586 9587 9588 9589 9590 9591 9592 9593 <div id="promotion-inline-msg-campaign_popup_DArpBV" class="promotion-inline-msg"> 9594 9595 <p>50% off on your first order! Use code:Â love50. <span onclick="clickedBadgecampaign_popup_DArpBV()">Learn More</span></p> 9596 9597 </div> 9598 9599 <div id="popup-layout-campaign_popup_DArpBV" style="display:none" class="promotion-popup_layout"> 9600 9601 <div class="promotion-popup_background"> 9602 <div class="close-promotion-popup"> <span onclick="PromoPopupcampaign_popup_DArpBV()" class="x-image campaign_popup_DArpBV"></span></div> 9603 9604 9605 <div id="without-email-campaign_popup_DArpBV" class="promotion-scroll-area"> 9606 9607 <h1> You got 50% off!</h1> 9608 <p>We've applied 50% off discount on your first order. Use code:Â love50.</p> 9609 9610 9611 9612 <span class="popup-product-link second" onclick="PromoPopupcampaign_popup_DArpBV()">Awesome! Let me shop</span> 9613 9614 9615 </div> 9616 9617 9618 <div id="with-email-campaign_popup_DArpBV" class="promotion-scroll-area"> 9619 9620 <!--<h1> </h1>--> 9621 <p></p> 9622 <div class="email-wraper"> 9623 <div class="close-after-subsmition-campaign_popup_DArpBV" style="position:relative"> 9624 <label for="user-email-campaign_popup_DArpBV" style="display:none" >Email</label> 9625 <input placeholder="" class="user-email-campaign_popup_DArpBV" id="user-email-campaign_popup_DArpBV"> 9626 <p class="error-msg-campaign_popup_DArpBV"></p> 9627 </div> 9628 <button class="close-after-subsmition" id="submit-email-campaign_popup_DArpBV">Submit</button> 9629 <!-- <a style="display:none" onclick="fireEventsToHeap('clicked_Hero_banner_video')" href="" class="scroll-to-campaign_popup_DArpBV"></a>--> 9630 </div> 9631 </div> 9632 9633 </div> 9634 </div> 9635 9636 9637
9638<script> 9639<!-----------------------------------------------------------------------------------------------------------------> 9640 9641 function showPromoMSGcampaign_popup_DArpBV() { 9642 const urlParams = getUrlParams(window.location.href); 9643 const showDuringSession = sessionStorage.getItem('show-promo-msg-pop_up-love50') 9644 9645 if(urlParams.pop_up != undefined || showDuringSession === "true" ) { 9646 if(urlParams.pop_up === 'love50' || showDuringSession === "true" ) { 9647 document.getElementById('promotion-inline-msg-campaign_popup_DArpBV').style.display = "block"; 9648 showEmailInPopup_campaign_popup_DArpBV() 9649 sessionStorage.setItem('show-promo-msg-pop_up-love50', 'true'); 9650 9651 if(urlParams.open_popup === "true"){ 9652 clickedBadgecampaign_popup_DArpBV(); 9653 } 9654 9655 if(urlParams.show_btn === "false") { 9656 document.querySelector('.x-image.campaign_popup_DArpBV').style.display = "none" 9657 } 9658 9659 9660 9661 9662 } 9663 } 9664 } 9665 9666 9667 9668 9669 9670<!-----------------------------------------------------------------------------------------------------------------> 9671 9672 9673 function showEmailInPopup_campaign_popup_DArpBV() { 9674 const urlParams = getUrlParams(window.location.href); 9675 const showDuringSession = sessionStorage.getItem('is_email-love50'); 9676 if(urlParams.is_email === "true" || showDuringSession === "true" ){ 9677 document.getElementById('with-email-campaign_popup_DArpBV').style.display = "block"; 9678 document.getElementById('without-email-campaign_popup_DArpBV').style.display = "none"; 9679 localStorage.setItem("viewedPopup", "true"); 9680 sessionStorage.setItem('is_email-love50', 'true'); 9681 9682 } 9683 9684 9685 else { 9686 document.getElementById('with-email-campaign_popup_DArpBV').style.display = "none"; 9687 document.getElementById('without-email-campaign_popup_DArpBV').style.display = "block"; 9688 } 9689 } 9690 9691<!-----------------------------------------------------------------------------------------------------------------> 9692 9693 function showSMSpopup_after_applying_discount_campaign_popup_DArpBV() { 9694 if (typeof window.showSMSpopup_ === 'function') { 9695 showSMSpopup_(); 9696 localStorage.setItem('viewedPopup-klaviyo-form-SgXDwS','true') // prevent from default popup to jump 9697 } 9698 else { 9699 setTimeout(showSMSpopup_after_applying_discount_campaign_popup_DArpBV, 300); 9700 } 9701 } 9702<!-----------------------------------------------------------------------------------------------------------------> 9703 9704 function validateEmail(email) { 9705 const regex = /^[^\s@]+@[^\s@]+\.[^\s@]+$/; 9706 return regex.test(email); 9707 } 9708 9709 <!-----------------------------------------------------------------------------------------------------------------> 9710 9711 function kEventcampaign_popup_DArpBV(email) { 9712 _learnq.push(["track", "", { 9713 "Recipients": [email], 9714 "page":window.location.pathname 9715 }]); 9716 console.log('Tbyb event sent') 9717 } 9718 9719 9720<!-----------------------------------------------------------------------------------------------------------------> 9721 9722 document.getElementById('submit-email-campaign_popup_DArpBV').addEventListener('click', function() { 9723 const user_email = document.getElementsByClassName('user-email-campaign_popup_DArpBV')[0].value 9724 const is_email = validateEmail(user_email); 9725 const coupon = 'love50' 9726 9727 if (user_email === "") { 9728 document.getElementsByClassName('error-msg-campaign_popup_DArpBV')[0].style.display = "block"; 9729 document.getElementsByClassName('error-msg-campaign_popup_DArpBV')[0].innerText = "Please add your email "; 9730 document.getElementsByClassName('user-email-campaign_popup_DArpBV')[0].style.border = "1px solid red"; 9731 setTimeout(function() { 9732 document.getElementsByClassName('error-msg-campaign_popup_DArpBV')[0].style.display = "none"; 9733 document.getElementsByClassName('user-email-campaign_popup_DArpBV')[0].style.border = "1px solid #A1A1A1" 9734 9735 },3000 ) 9736 } 9737 9738 else if(!is_email) { 9739 document.getElementsByClassName('error-msg-campaign_popup_DArpBV')[0].style.display = "block"; 9740 document.getElementsByClassName('error-msg-campaign_popup_DArpBV')[0].innerText = "Please add a valid email "; 9741 document.getElementsByClassName('user-email-campaign_popup_DArpBV')[0].style.border = "1px solid red" 9742 setTimeout(function() { 9743 document.getElementsByClassName('error-msg-campaign_popup_DArpBV')[0].style.display = "none"; 9744 document.getElementsByClassName('user-email-campaign_popup_DArpBV')[0].style.border = "1px solid #A1A1A1" 9745 9746 },3000 ) 9747 } 9748 9749 else { 9750 document.getElementById('submit-email-campaign_popup_DArpBV').innerText = "Unlocking..."; 9751 sessionStorage.getItem('show-promo-msg-pop_up-love50') 9752 sendToHeap(''); 9753 _learnq.push(['identify', { 9754 '$email' : user_email 9755 9756 }]) 9757 if(coupon === ""){ 9758 setTimeout(function(){ 9759 kEventcampaign_popup_DArpBV(u
9759ser_email) ; 9760 document.getElementsByClassName('close-after-subsmition')[0].style.display = "none"; 9761 document.getElementsByClassName('close-after-subsmition')[1].style.display = "none"; 9762 document.getElementsByClassName('scroll-to')[0].style.display = "flex"; 9763 },1000) 9764 } 9765 9766 else { 9767 setTimeout(function(){ 9768 kEventcampaign_popup_DArpBV(user_email) ; 9769 },1000) 9770 setTimeout(function(){ 9771 window.location.replace("https://yvesrocherusa.com/discount/"+coupon+"?redirect="+window.location.pathname+"&pop_up=love50&emailSubmitted=true"); 9772 9773 },1000) 9774 } 9775 9776 } 9777 }); 9778 9779 <!-----------------------------------------------------------------------------------------------------------------> 9780 9781 9782 function PromoPopupcampaign_popup_DArpBV() { 9783 document.getElementById('popup-layout-campaign_popup_DArpBV').style.display = "none"; 9784 // localStorage.removeItem("viewedPopup"); 9785 } 9786 9787<!-----------------------------------------------------------------------------------------------------------------> 9788 9789 function popupAddtocartcampaign_popup_DArpBV(element) { 9790 var product_name = document.title 9791 document.getElementsByClassName('wd-buy_btn')[0].click() 9792 element.innerText = "Adding..." 9793 setTimeout(function() { 9794 document.getElementById('popup-layout-campaign_popup_DArpBV').style.display = "none"; 9795 element.innerText = "Add to cart" 9796 }, 1500) 9797 9798 } 9799 9800 9801<!-----------------------------------------------------------------------------------------------------------------> 9802 9803 function clickedBadgecampaign_popup_DArpBV() { 9804 document.getElementById('popup-layout-campaign_popup_DArpBV').style.display = "block"; 9805 } 9806 9807<!-----------------------------------------------------------------------------------------------------------------> 9808 9809 function getUrlParams(url) { 9810 const params = {}; 9811 const urlObj = new URL(url); 9812 9813 for (const [key, value] of urlObj.searchParams) { 9814 // Add each parameter as a key-value pair to the params object 9815 params[key] = value; 9816 } 9817 9818 return params; 9819 } 9820<!--------------------------------------------------------------------------------------------------------------------------------------> 9821 9822 /* ------------------------------------------------------- 9823 MULTI-COLLECTION PROMOTION RULES 9824 9825 Each rule has: 9826 - collection 9827 - promotion discount (decimal: 0.5 = 50%) 9828 - optional subscription discount override (decimal) 9829 9830 If a product belongs to multiple configured collections, 9831 the rule with the HIGHEST promotion discount wins. 9832 9833 If no new multi-collection rule is configured, the old 9834 eligible_collection + code_discount_value settings are 9835 used as a backwards-compatible fallback. 9836 9837 Product cards still require: 9838 data-collections="collection-handle-1,collection-handle-2" 9839 ------------------------------------------------------- */ 9840 9841 var promoRules_campaign_popup_DArpBV = [ 9842 { 9843 handle: null, 9844 discount: Number(0) || 0, 9845 subscriptionOverride: ("" === null || "" === "") 9846 ? null 9847 : (Number("") || 0) 9848 }, 9849 { 9850 handle: null, 9851 discount: Number(0) || 0, 9852 subscriptionOverride: ("" === null || "" === "") 9853 ? null 9854 : (Number("") || 0) 9855 }, 9856 { 9857 handle: null, 9858 discount: Number(0) || 0, 9859 subscriptionOverride: ("" === null || "" === "") 9860 ? null 9861 : (Number("") || 0) 9862 }, 9863 { 9864 handle: null, 9865 discount: Number(0) || 0, 9866 subscriptionOverride: ("" === null || "" === "") 9867 ? null 9868 : (Number("") || 0) 9869 }, 9870 { 9871 handle: null, 9872 discount: Number(0) || 0, 9873 subscriptionOverride: ("" === null || "" === "") 9874 ? null 9875 : (Number("") || 0) 9876 } 9877 ].filter(function(rule) { 9878 return rule.handle && rule.discount > 0; 9879 }); 9880 9881 // Backwards-compatible fallback for existing campaign blocks. 9882 if (promoRules_campaign_popup_DArpBV.length === 0) { 9883 var legacyCollection_campaign_popup_DArpBV = null; 9884 var legacyDiscount_campaign_popup_DArpBV = Number("0.5") || 0; 9885 9886 if (legacyCollection_campaign_popup_DArpBV && legacyDiscount_campaign_popup_DArpBV > 0) { 9887 promoRules_campaign_popup_DArpBV.push({ 9888 handle: legacyCollection_campaign_popup_DArpBV, 9889 discount: legacyDiscount_campaign_popup_DArpBV, 9890 subscriptionOverride: null 9891 }); 9892 } 9893 } 9894 9895 function getWinningPromoRule_campaign_popup_DArpBV(collectionHandles) { 9896 // Preserve old site-wide behavior when no collection rule exists. 9897 if (promoRules_campaign_popup_DArpBV.length === 0) { 9898 return { 9899 handle: null, 9900 discount: Number("0.5") || 0, 9901 multiplier: 1 - (Number("0.5") || 0), 9902 subscriptionOverride: null 9903 }; 9904 } 9905 9906 var handles = Array.isArray(collectionHandles) ? collectionHandles : []; 9907 var winner = null; 9908 9909 promoRules_campaign_popup_DArpBV.forEach(function(rule) { 9910 if (!handles.includes(rule.handle)) return; 9911 9912 if ( 9913 !winner || 9914 rule.discount > winner.discount || 9915 ( 9916 rule.discount === winner.discount && 9917 rule.subscriptionOverride !== null && 9918 (winner.subscriptionOverride === null || rule.subscriptionOverride > winner.subscriptionOverride) 9919 ) 9920 ) { 9921 winner = rule; 9922 } 9923 }); 9924 9925 if (!winner) return null; 9926 9927 return { 9928 handle: winner.handle, 9929 discount: winner.discount, 9930 multiplier: 1 - winner.discount, 9931 subscriptionOverride: winner.subscriptionOverride 9932 }; 9933 } 9934 9935 function getPromoRuleForCard_campaign_popup_DArpBV(productCard) { 9936 if (!productCard) return null; 9937 9938 var collectionsAttribute = productCard.getAttribute('data-collections') || '';
9939 var productCollections = collectionsAttribute 9940 .split(',') 9941 .map(function(collection) { return collection.trim(); }) 9942 .filter(Boolean); 9943 9944 return getWinningPromoRule_campaign_popup_DArpBV(productCollections); 9945 } 9946 9947 function isPromoEligible_campaign_popup_DArpBV(productCard) { 9948 return getPromoRuleForCard_campaign_popup_DArpBV(productCard) !== null; 9949 } 9950 9951 // MAIN PDP collection handles. 9952 var collections_for_promo_campaign_popup_DArpBV = [ 9953 9954 ]; 9955 9956 function getCurrentProductPromoRule_campaign_popup_DArpBV() { 9957 return getWinningPromoRule_campaign_popup_DArpBV(collections_for_promo_campaign_popup_DArpBV); 9958 } 9959 9960 function isCurrentProductPromoEligible_campaign_popup_DArpBV() { 9961 return getCurrentProductPromoRule_campaign_popup_DArpBV() !== null; 9962 } 9963 9964 function formatPromoMoney_campaign_popup_DArpBV(amount) { 9965 var value = Number(amount); 9966 if (!Number.isFinite(value)) value = 0; 9967 return '$' + (Math.round(value * 100) / 100).toFixed(2).replace(/\.00$/, ''); 9968 } 9969 9970 9971 9972 function applyDiscountCodeAjax(discountCode) { 9973 const discountUrl = `/discount/${discountCode}`; 9974 fetch(discountUrl, { 9975 method: 'GET', 9976 headers: { 9977 'Content-Type': 'application/json' 9978 } 9979 }).then(response => { 9980 if (response.ok) { 9981 console.log('applyied discount.'); 9982 document.documentElement.dispatchEvent(new CustomEvent('cart:refresh', { bubbles: true})); 9983 document.documentElement.dispatchEvent(new CustomEvent("theme:loading:end", { bubbles: true })); 9984 sessionStorage.setItem('discount-'+ discountCode, discountCode); 9985 9986 } else { 9987 console.error('Failed to apply discount.'); 9988 } 9989 }).catch(error => { 9990 console.error('Error applying discount:', error); 9991 }); 9992 } 9993 9994 <!---------------------------------------- code for price manipulation + coupon appliyment in regular pages --------------------------------------> 9995 9996 9997 9998 <!----------------------------------------code for price manipulation + coupon apliyment in HOMEPAGE ----------------------------------------------> 9999 10000 10001 <!----------------------------------------code for price manipulation on collection page ----------------------------------------------> 10002 10003 10004 10005 10006 <!----------------------------------------code for price manipulation on products page ----------------------------------------------> 10007 10008 10009 10010 10011 document.addEventListener('DOMContentLoaded',showPromoMSGcampaign_popup_DArpBV()); 10012 10013<!---------------------------------------> 10014 10015</script>
10015 10016 10017 10018<style> 10019 #promotion-inline-msg-campaign_popup_DArpBV { 10020 background: #FE2C55; 10021 color: #fff; 10022 font-size: 13px; 10023 padding: 10px; 10024 text-align: center; 10025 text-transform: uppercase; 10026 font-weight: 600; 10027 display:none; 10028 } 10029 10030 input.user-email-campaign_popup_DArpBV { 10031 height: 52px; 10032 border-radius: 5px; 10033 border: #A1A1A1 1px solid; 10034 background: #fff; 10035 padding: 10px; 10036 font-family: Montserrat; 10037 font-size: 14px; 10038 width: 100%; 10039 } 10040 10041 10042 .error-msg-campaign_popup_DArpBV { 10043 display: none; 10044 position: absolute; 10045 color: red !important; 10046 bottom: -47px; 10047 left: 0px; 10048 background: #fff; 10049 padding: 3px 9px; 10050 margin: 0; 10051 border-radius: 5px; 10052 border-left: 1px solid red; 10053 border-right: 1px solid red; 10054 border-bottom: 1px solid red; 10055 font-size: 14px !important; 10056 } 10057 10058 #submit-email-campaign_popup_DArpBV { 10059 background: #000; 10060 display: block; 10061 padding: 15px 10px; 10062 color: #fff; 10063 text-align: center; 10064 border-radius: 28px; 10065 font-family: 'Montserrat'; 10066 font-weight: 500; 10067 margin: 15px 0px 25px; 10068 cursor: pointer; 10069 width: 100%; 10070 } 10071 10072 @media only screen and (max-width: 800px) { 10073 #promotion-inline-msg-campaign_popup_DArpBV { 10074 10075 } 10076 } 10077 </style> 10078 10079 10080 10081 10082 10083 10084 10085 10086 10087 10088 10089 <div id="promotion-inline-msg-campaign_popup_DQ9d3e" class="promotion-inline-msg"> 10090 10091 <p>40% off on your first order! Use code:Â love40. <span onclick="clickedBadgecampaign_popup_DQ9d3e()">Learn More</span></p> 10092 10093 </div> 10094 10095 <div id="popup-layout-campaign_popup_DQ9d3e" style="display:none" class="promotion-popup_layout"> 10096 10097 <div class="promotion-popup_background"> 10098 <div class="close-promotion-popup"> <span onclick="PromoPopupcampaign_popup_DQ9d3e()" class="x-image campaign_popup_DQ9d3e"></span></div> 10099 10100 10101 <div id="without-email-campaign_popup_DQ9d3e" class="promotion-scroll-area"> 10102 10103 <h1> You got 40% off!</h1> 10104 <p>We've applied 40% off discount on your first order. Use code:Â love40.</p> 10105 10106 10107 10108 <span class="popup-product-link second" onclick="PromoPopupcampaign_popup_DQ9d3e()">Awesome! Let me shop</span> 10109 10110 10111 </div> 10112 10113 10114 <div id="with-email-campaign_popup_DQ9d3e" class="promotion-scroll-area"> 10115 10116 <!--<h1> </h1>--> 10117 <p></p> 10118 <div class="email-wraper"> 10119 <div class="close-after-subsmition-campaign_popup_DQ9d3e" style="position:relative"> 10120 <label for="user-email-campaign_popup_DQ9d3e" style="display:none" >Email</label> 10121 <input placeholder="" class="user-email-campaign_popup_DQ9d3e" id="user-email-campaign_popup_DQ9d3e"> 10122 <p class="error-msg-campaign_popup_DQ9d3e"></p> 10123 </div> 10124 <button class="close-after-subsmition" id="submit-email-campaign_popup_DQ9d3e">Submit</button> 10125 <!-- <a style="display:none" onclick="fireEventsToHeap('clicked_Hero_banner_video')" href="" class="scroll-to-campaign_popup_DQ9d3e"></a>--> 10126 </div> 10127 </div> 10128 10129 </div> 10130 </div> 10131 10132 10133
10134<script> 10135<!-----------------------------------------------------------------------------------------------------------------> 10136 10137 function showPromoMSGcampaign_popup_DQ9d3e() { 10138 const urlParams = getUrlParams(window.location.href); 10139 const showDuringSession = sessionStorage.getItem('show-promo-msg-pop_up-love40') 10140 10141 if(urlParams.pop_up != undefined || showDuringSession === "true" ) { 10142 if(urlParams.pop_up === 'love40' || showDuringSession === "true" ) { 10143 document.getElementById('promotion-inline-msg-campaign_popup_DQ9d3e').style.display = "block"; 10144 showEmailInPopup_campaign_popup_DQ9d3e() 10145 sessionStorage.setItem('show-promo-msg-pop_up-love40', 'true'); 10146 10147 if(urlParams.open_popup === "true"){ 10148 clickedBadgecampaign_popup_DQ9d3e(); 10149 } 10150 10151 if(urlParams.show_btn === "false") { 10152 document.querySelector('.x-image.campaign_popup_DQ9d3e').style.display = "none" 10153 } 10154 10155 10156 10157 10158 } 10159 } 10160 } 10161 10162 10163 10164 10165 10166<!-----------------------------------------------------------------------------------------------------------------> 10167 10168 10169 function showEmailInPopup_campaign_popup_DQ9d3e() { 10170 const urlParams = getUrlParams(window.location.href); 10171 const showDuringSession = sessionStorage.getItem('is_email-love40'); 10172 if(urlParams.is_email === "true" || showDuringSession === "true" ){ 10173 document.getElementById('with-email-campaign_popup_DQ9d3e').style.display = "block"; 10174 document.getElementById('without-email-campaign_popup_DQ9d3e').style.display = "none"; 10175 localStorage.setItem("viewedPopup", "true"); 10176 sessionStorage.setItem('is_email-love40', 'true'); 10177 10178 } 10179 10180 10181 else { 10182 document.getElementById('with-email-campaign_popup_DQ9d3e').style.display = "none"; 10183 document.getElementById('without-email-campaign_popup_DQ9d3e').style.display = "block"; 10184 } 10185 } 10186 10187<!-----------------------------------------------------------------------------------------------------------------> 10188 10189 function showSMSpopup_after_applying_discount_campaign_popup_DQ9d3e() { 10190 if (typeof window.showSMSpopup_ === 'function') { 10191 showSMSpopup_(); 10192 localStorage.setItem('viewedPopup-klaviyo-form-SgXDwS','true') // prevent from default popup to jump 10193 } 10194 else { 10195 setTimeout(showSMSpopup_after_applying_discount_campaign_popup_DQ9d3e, 300); 10196 } 10197 } 10198<!-----------------------------------------------------------------------------------------------------------------> 10199 10200 function validateEmail(email) { 10201 const regex = /^[^\s@]+@[^\s@]+\.[^\s@]+$/; 10202 return regex.test(email); 10203 } 10204 10205 <!-----------------------------------------------------------------------------------------------------------------> 10206
10207 function kEventcampaign_popup_DQ9d3e(email) { 10208 _learnq.push(["track", "", { 10209 "Recipients": [email], 10210 "page":window.location.pathname 10211 }]); 10212 console.log('Tbyb event sent') 10213 } 10214 10215 10216<!-----------------------------------------------------------------------------------------------------------------> 10217 10218 document.getElementById('submit-email-campaign_popup_DQ9d3e').addEventListener('click', function() { 10219 const user_email = document.getElementsByClassName('user-email-campaign_popup_DQ9d3e')[0].value 10220 const is_email = validateEmail(user_email); 10221 const coupon = 'love40' 10222 10223 if (user_email === "") { 10224 document.getElementsByClassName('error-msg-campaign_popup_DQ9d3e')[0].style.display = "block"; 10225 document.getElementsByClassName('error-msg-campaign_popup_DQ9d3e')[0].innerText = "Please add your email "; 10226 document.getElementsByClassName('user-email-campaign_popup_DQ9d3e')[0].style.border = "1px solid red"; 10227 setTimeout(function() { 10228 document.getElementsByClassName('error-msg-campaign_popup_DQ9d3e')[0].style.display = "none"; 10229 document.getElementsByClassName('user-email-campaign_popup_DQ9d3e')[0].style.border = "1px solid #A1A1A1" 10230 10231 },3000 ) 10232 } 10233 10234 else if(!is_email) { 10235 document.getElementsByClassName('error-msg-campaign_popup_DQ9d3e')[0].style.display = "block"; 10236 document.getElementsByClassName('error-msg-campaign_popup_DQ9d3e')[0].innerText = "Please add a valid email "; 10237 document.getElementsByClassName('user-email-campaign_popup_DQ9d3e')[0].style.border = "1px solid red" 10238 setTimeout(function() { 10239 document.getElementsByClassName('error-msg-campaign_popup_DQ9d3e')[0].style.display = "none"; 10240 document.getElementsByClassName('user-email-campaign_popup_DQ9d3e')[0].style.border = "1px solid #A1A1A1" 10241 10242 },3000 ) 10243 } 10244 10245 else { 10246 document.getElementById('submit-email-campaign_popup_DQ9d3e').innerText = "Unlocking..."; 10247 sessionStorage.getItem('show-promo-msg-pop_up-love40') 10248 sendToHeap(''); 10249 _learnq.push(['identify', { 10250 '$email' : user_email 10251 10252 }]) 10253 if(coupon === ""){ 10254 setTimeout(function(){ 10255 kEventcampaign_popup_DQ9d3e(user_email) ; 10256 document.getElementsByClassName('close-after-subsmition')[0].style.display = "none"; 10257 document.getElementsByClassName('close-after-subsmition')[1].style.display = "none"; 10258 document.getElementsByClassName('scroll-to')[0].style.display = "flex"; 10259 },1000) 10260 } 10261 10262 else { 10263 setTimeout(function(){ 10264 kEventcampaign_popup_DQ9d3e
10264(user_email) ; 10265 },1000) 10266 setTimeout(function(){ 10267 window.location.replace("https://yvesrocherusa.com/discount/"+coupon+"?redirect="+window.location.pathname+"&pop_up=love40&emailSubmitted=true"); 10268 10269 },1000) 10270 } 10271 10272 } 10273 }); 10274 10275 <!-----------------------------------------------------------------------------------------------------------------> 10276 10277 10278 function PromoPopupcampaign_popup_DQ9d3e() { 10279 document.getElementById('popup-layout-campaign_popup_DQ9d3e').style.display = "none"; 10280 // localStorage.removeItem("viewedPopup"); 10281 } 10282 10283<!-----------------------------------------------------------------------------------------------------------------> 10284 10285 function popupAddtocartcampaign_popup_DQ9d3e(element) { 10286 var product_name = document.title 10287 document.getElementsByClassName('wd-buy_btn')[0].click() 10288 element.innerText = "Adding..." 10289 setTimeout(function() { 10290 document.getElementById('popup-layout-campaign_popup_DQ9d3e').style.display = "none"; 10291 element.innerText = "Add to cart" 10292 }, 1500) 10293 10294 } 10295 10296 10297<!-----------------------------------------------------------------------------------------------------------------> 10298 10299 function clickedBadgecampaign_popup_DQ9d3e() { 10300 document.getElementById('popup-layout-campaign_popup_DQ9d3e').style.display = "block"; 10301 } 10302 10303<!-----------------------------------------------------------------------------------------------------------------> 10304 10305 function getUrlParams(url) { 10306 const params = {}; 10307 const urlObj = new URL(url); 10308 10309 for (const [key, value] of urlObj.searchParams) { 10310 // Add each parameter as a key-value pair to the params object 10311 params[key] = value; 10312 } 10313 10314 return params; 10315 } 10316<!--------------------------------------------------------------------------------------------------------------------------------------> 10317 10318 /* ------------------------------------------------------- 10319 MULTI-COLLECTION PROMOTION RULES 10320 10321 Each rule has: 10322 - collection 10323 - promotion discount (decimal: 0.5 = 50%) 10324 - optional subscription discount override (decimal) 10325 10326 If a product belongs to multiple configured collections, 10327 the rule with the HIGHEST promotion discount wins. 10328 10329 If no new multi-collection rule is configured, the old 10330 eligible_collection + code_discount_value settings are 10331 used as a backwards-compatible fallback. 10332 10333 Product cards still require: 10334 data-collections="collection-handle-1,collection-handle-2" 10335 ------------------------------------------------------- */ 10336 10337 var promoRules_campaign_popup_DQ9d3e = [ 10338 { 10339 handle: null, 10340 discount: Number(0) || 0, 10341 subscriptionOverride: ("" === null || "" === "") 10342 ? null 10343 : (Number("") || 0) 10344 }, 10345 { 10346 handle: null, 10347 discount: Number(0) || 0, 10348 subscriptionOverride: ("" === null || "" === "") 10349 ? null 10350 : (Number("") || 0) 10351 }, 10352 { 10353 handle: null, 10354 discount: Number(0) || 0, 10355 subscriptionOverride: ("" === null || "" === "") 10356 ? null 10357 : (Number("") || 0) 10358 }, 10359 { 10360 handle: null, 10361 discount: Number(0) || 0, 10362 subscriptionOverride: ("" === null || "" === "") 10363 ? null 10364 : (Number("") || 0) 10365 }, 10366 { 10367 handle: null, 10368 discount: Number(0) || 0, 10369 subscriptionOverride: ("" === null || "" === "") 10370 ? null 10371 : (Number("") || 0) 10372 } 10373 ].filter(function(rule) { 10374 return rule.handle && rule.discount > 0; 10375 }); 10376 10377 // Backwards-compatible fallback for existing campaign blocks. 10378 if (promoRules_campaign_popup_DQ9d3e.length === 0) { 10379 var legacyCollection_campaign_popup_DQ9d3e = null; 10380 var legacyDiscount_campaign_popup_DQ9d3e = Number("0.4") || 0; 10381 10382 if (legacyCollection_campaign_popup_DQ9d3e && legacyDiscount_campaign_popup_DQ9d3e > 0) { 10383 promoRules_campaign_popup_DQ9d3e.push({ 10384 handle: legacyCollection_campaign_popup_DQ9d3e, 10385 discount: legacyDiscount_campaign_popup_DQ9d3e, 10386 subscriptionOverride: null 10387 }); 10388 } 10389 } 10390
10391 function getWinningPromoRule_campaign_popup_DQ9d3e(collectionHandles) { 10392 // Preserve old site-wide behavior when no collection rule exists. 10393 if (promoRules_campaign_popup_DQ9d3e.length === 0) { 10394 return { 10395 handle: null, 10396 discount: Number("0.4") || 0, 10397 multiplier: 1 - (Number("0.4") || 0), 10398 subscriptionOverride: null 10399 }; 10400 } 10401 10402 var handles = Array.isArray(collectionHandles) ? collectionHandles : []; 10403 var winner = null; 10404 10405 promoRules_campaign_popup_DQ9d3e.forEach(function(rule) { 10406 if (!handles.includes(rule.handle)) return; 10407 10408 if ( 10409 !winner || 10410 rule.discount > winner.discount || 10411 ( 10412 rule.discount === winner.discount && 10413 rule.subscriptionOverride !== null && 10414 (winner.subscriptionOverride === null || rule.subscriptionOverride > winner.subscriptionOverride) 10415 ) 10416 ) { 10417 winner = rule; 10418 } 10419 }); 10420 10421 if (!winner) return null; 10422 10423 return { 10424 handle: winner.handle, 10425 discount: winner.discount, 10426 multiplier: 1 - winner.discount, 10427 subscriptionOverride: winner.subscriptionOverride 10428 }; 10429 } 10430 10431 function getPromoRuleForCard_campaign_popup_DQ9d3e(productCard) { 10432 if (!productCard) return null; 10433 10434 var collectionsAttribute = productCard.getAttribute('data-collections') || ''; 10435 var productCollections = collectionsAttribute 10436 .split(',') 10437 .map(function(collection) { return collection.trim(); }) 10438 .filter(Boolean); 10439 10440 return getWinningPromoRule_campaign_popup_DQ9d3e(productCollections); 10441 } 10442 10443 function isPromoEligible_campaign_popup_DQ9d3e(productCard) { 10444 return getPromoRuleForCard_campaign_popup_DQ9d3e(productCard) !== null; 10445 } 10446 10447 // MAIN PDP collection handles. 10448 var collections_for_promo_campaign_popup_DQ9d3e = [ 10449 10450 ]; 10451 10452 function getCurrentProductPromoRule_campaign_popup_DQ9d3e() { 10453 return getWinningPromoRule_campaign_popup_DQ9d3e(collections_for_promo_campaign_popup_DQ9d3e); 10454 } 10455 10456 function isCurrentProductPromoEligible_campaign_popup_DQ9d3e() { 10457 return getCurrentProductPromoRule_campaign_popup_DQ9d3e() !== null; 10458 } 10459 10460 function formatPromoMoney_campaign_popup_DQ9d3e(amount) { 10461 var value = Number(amount); 10462 if (!Number.isFinite(value)) value = 0; 10463 return '$' + (Math.round(value * 100) / 100).toFixed(2).replace(/\.00$/, ''); 10464 } 10465 10466 10467 10468 function applyDiscountCodeAjax(discountCode) { 10469 const discountUrl = `/discount/${discountCode}`; 10470 fetch(discountUrl, { 10471 method: 'GET', 10472 headers: { 10473 'Content-Type': 'application/json' 10474 } 10475 }).then(response => { 10476 if (response.ok) { 10477 console.log('applyied discount.'); 10478 document.documentElement.dispatchEvent(new CustomEvent('cart:refresh', { bubbles: true})); 10479 document.documentElement.dispatchEvent(new CustomEvent("theme:loading:end", { bubbles: true })); 10480 sessionStorage.setItem('discount-'+ discountCode, discountCode); 10481 10482 } else { 10483 console.error('Failed to apply discount.'); 10484 } 10485 }).catch(error => { 10486 console.error('Error applying discount:', error); 10487 }); 10488 } 10489 10490 <!---------------------------------------- code for price manipulation + coupon appliyment in regular pages --------------------------------------> 10491 10492 10493 10494 <!----------------------------------------code for price manipulation + coupon apliyment in HOMEPAGE ----------------------------------------------> 10495 10496 10497 <!----------------------------------------code for price manipulation on collection page ----------------------------------------------> 10498 10499 10500 10501
10502 <!----------------------------------------code for price manipulation on products page ----------------------------------------------> 10503 10504 10505 10506 10507 document.addEventListener('DOMContentLoaded',showPromoMSGcampaign_popup_DQ9d3e()); 10508 10509<!---------------------------------------> 10510 10511</script>
10511 10512 10513 10514<style> 10515 #promotion-inline-msg-campaign_popup_DQ9d3e { 10516 background: #FE2C55; 10517 color: #fff; 10518 font-size: 13px; 10519 padding: 10px; 10520 text-align: center; 10521 text-transform: uppercase; 10522 font-weight: 600; 10523 display:none; 10524 } 10525 10526 input.user-email-campaign_popup_DQ9d3e { 10527 height: 52px; 10528 border-radius: 5px; 10529 border: #A1A1A1 1px solid; 10530 background: #fff; 10531 padding: 10px; 10532 font-family: Montserrat; 10533 font-size: 14px; 10534 width: 100%; 10535 } 10536 10537 10538 .error-msg-campaign_popup_DQ9d3e { 10539 display: none; 10540 position: absolute; 10541 color: red !important; 10542 bottom: -47px; 10543 left: 0px; 10544 background: #fff; 10545 padding: 3px 9px; 10546 margin: 0; 10547 border-radius: 5px; 10548 border-left: 1px solid red; 10549 border-right: 1px solid red; 10550 border-bottom: 1px solid red; 10551 font-size: 14px !important; 10552 } 10553 10554 #submit-email-campaign_popup_DQ9d3e { 10555 background: #000; 10556 display: block; 10557 padding: 15px 10px; 10558 color: #fff; 10559 text-align: center; 10560 border-radius: 28px; 10561 font-family: 'Montserrat'; 10562 font-weight: 500; 10563 margin: 15px 0px 25px; 10564 cursor: pointer; 10565 width: 100%; 10566 } 10567 10568 @media only screen and (max-width: 800px) { 10569 #promotion-inline-msg-campaign_popup_DQ9d3e { 10570 10571 } 10572 } 10573 </style> 10574 10575 10576 10577 10578 10579 10580 10581 10582 10583 10584 10585 <div id="promotion-inline-msg-campaign_popup_kJAVfh" class="promotion-inline-msg"> 10586 10587 <p>30% off on your first order! Use code:Â love30. <span onclick="clickedBadgecampaign_popup_kJAVfh()">Learn More</span></p> 10588 10589 </div> 10590 10591 <div id="popup-layout-campaign_popup_kJAVfh" style="display:none" class="promotion-popup_layout"> 10592 10593 <div class="promotion-popup_background"> 10594 <div class="close-promotion-popup"> <span onclick="PromoPopupcampaign_popup_kJAVfh()" class="x-image campaign_popup_kJAVfh"></span></div> 10595 10596 10597 <div id="without-email-campaign_popup_kJAVfh" class="promotion-scroll-area"> 10598 10599 <h1> You got 30% off!</h1> 10600 <p>We've applied 30% off discount on your first order. Use code:Â love30.</p> 10601 10602 10603 10604 <span class="popup-product-link second" onclick="PromoPopupcampaign_popup_kJAVfh()">Awesome! Let me shop</span> 10605 10606 10607 </div> 10608 10609 10610 <div id="with-email-campaign_popup_kJAVfh" class="promotion-scroll-area"> 10611 10612 <!--<h1> </h1>--> 10613 <p></p> 10614 <div class="email-wraper"> 10615 <div class="close-after-subsmition-campaign_popup_kJAVfh" style="position:relative"> 10616 <label for="user-email-campaign_popup_kJAVfh" style="display:none" >Email</label> 10617 <input placeholder="" class="user-email-campaign_popup_kJAVfh" id="user-email-campaign_popup_kJAVfh"> 10618 <p class="error-msg-campaign_popup_kJAVfh"></p> 10619 </div> 10620 <button class="close-after-subsmition" id="submit-email-campaign_popup_kJAVfh">Submit</button> 10621 <!-- <a style="display:none" onclick="fireEventsToHeap('clicked_Hero_banner_video')" href="" class="scroll-to-campaign_popup_kJAVfh"></a>--> 10622 </div> 10623 </div> 10624 10625 </div> 10626 </div> 10627 10628 10629
10630<script> 10631<!-----------------------------------------------------------------------------------------------------------------> 10632 10633 function showPromoMSGcampaign_popup_kJAVfh() { 10634 const urlParams = getUrlParams(window.location.href); 10635 const showDuringSession = sessionStorage.getItem('show-promo-msg-pop_up-love30') 10636 10637 if(urlParams.pop_up != undefined || showDuringSession === "true" ) { 10638 if(urlParams.pop_up === 'love30' || showDuringSession === "true" ) { 10639 document.getElementById('promotion-inline-msg-campaign_popup_kJAVfh').style.display = "block"; 10640 showEmailInPopup_campaign_popup_kJAVfh() 10641 sessionStorage.setItem('show-promo-msg-pop_up-love30', 'true'); 10642 10643 if(urlParams.open_popup === "true"){ 10644 clickedBadgecampaign_popup_kJAVfh(); 10645 } 10646 10647 if(urlParams.show_btn === "false") { 10648 document.querySelector('.x-image.campaign_popup_kJAVfh').style.display = "none" 10649 } 10650 10651 10652 10653 10654 } 10655 } 10656 } 10657 10658 10659 10660 10661 10662<!-----------------------------------------------------------------------------------------------------------------> 10663 10664 10665 function showEmailInPopup_campaign_popup_kJAVfh() { 10666 const urlParams = getUrlParams(window.location.href); 10667 const showDuringSession = sessionStorage.getItem('is_email-love30'); 10668 if(urlParams.is_email === "true" || showDuringSession === "true" ){ 10669 document.getElementById('with-email-campaign_popup_kJAVfh').style.display = "block"; 10670 document.getElementById('without-email-campaign_popup_kJAVfh').style.display = "none"; 10671 localStorage.setItem("viewedPopup", "true"); 10672 sessionStorage.setItem('is_email-love30', 'true'); 10673 10674 } 10675 10676 10677 else { 10678 document.getElementById('with-email-campaign_popup_kJAVfh').style.display = "none"; 10679 document.getElementById('without-email-campaign_popup_kJAVfh').style.display = "block"; 10680 } 10681 } 10682 10683<!-----------------------------------------------------------------------------------------------------------------> 10684 10685 function showSMSpopup_after_applying_discount_campaign_popup_kJAVfh() { 10686 if (typeof window.showSMSpopup_ === 'function') { 10687 showSMSpopup_(); 10688 localStorage.setItem('viewedPopup-klaviyo-form-SgXDwS','true') // prevent from default popup to jump 10689 } 10690 else { 10691 setTimeout(showSMSpopup_after_applying_discount_campaign_popup_kJAVfh, 300); 10692 } 10693 } 10694<!-----------------------------------------------------------------------------------------------------------------> 10695 10696 function validateEmail(email) { 10697 const regex = /^[^\s@]+@[^\s@]+\.[^\s@]+$/; 10698 return regex.test(email); 10699 } 10700 10701 <!-----------------------------------------------------------------------------------------------------------------> 10702 10703 function kEventcampaign_popup_kJAVfh(email) { 10704 _learnq.push(["track", "", { 10705 "Recipients": [email], 10706 "page":window.location.pathname 10707 }]); 10708 console.log('Tbyb event sent') 10709 } 10710 10711 10712<!-----------------------------------------------------------------------------------------------------------------> 10713 10714 document.getElementById('submit-email-campaign_popup_kJAVfh').addEventListener('click', function() { 10715 const user_email = document.getElementsByClassName('user-email-campaign_popup_kJAVfh')[0].value 10716 const is_email = validateEmail(user_email); 10717 const coupon = 'love30' 10718 10719 if (user_email === "") { 10720 document.getElementsByClassName('error-msg-campaign_popup_kJAVfh')[0].style.display = "block"; 10721 document.getElementsByClassName('error-msg-campaign_popup_kJAVfh')[0].innerText = "Please add your email "; 10722 document.getElementsByClassName('user-email-campaign_popup_kJAVfh')[0].style.border = "1px solid red"; 10723 setTimeout(function() { 10724 document.getElementsByClassName('error-msg-campaign_popup_kJAVfh')[0].style.display = "none"; 10725 document.getElementsByClassName('user-email-campaign_popup_kJAVfh')[0].style.border = "1px solid #A1A1A1" 10726 10727 },3000 ) 10728 } 10729 10730 else if(!is_email) { 10731 document.getElementsByClassName('error-msg-campaign_popup_kJAVfh')[0].style.display = "block"; 10732 document.getElementsByClassName('error-msg-campaign_popup_kJAVfh')[0].innerText = "Please add a valid email "; 10733 document.getElementsByClassName('user-email-campaign_popup_kJAVfh')[0].style.border = "1px solid red" 10734 setTimeout(function() { 10735 document.getElementsByClassName('error-msg-campaign_popup_kJAVfh')[0].style.display = "none"; 10736 document.getElementsByClassName('user-email-campaign_popup_kJAVfh')[0].style.border = "1px solid #A1A1A1" 10737 10738 },3000 ) 10739 } 10740 10741 else { 10742 document.getElementById('submit-email-campaign_popup_kJAVfh').innerText = "Unlocking..."; 10743 sessionStorage.getItem('show-promo-msg-pop_up-love30') 10744 sendToHeap(''); 10745 _learnq.push(['identify', { 10746 '$email' : user_email 10747 10748 }]) 10749 if(coupon === ""){ 10750 setTimeout(function(){ 10751 kEventcampaign_popup_kJAVfh(user_email) ; 10752 document.getElementsByClassName('close-after-subsmition')[0].style.display = "none"; 10753 document.getElementsByClassName('close-after-subsmition')[1].style.display = "none"; 10754 document.getElementsByClassName('scroll-to')[0].style.display = "flex"; 10755 },1000) 10756 } 10757 10758 else { 10759 setTimeout(function(){ 10760 kEventcampaign_popup_kJAVfh(user_email) ; 10761 },1000) 10762 setTimeout(function(){ 10763 window.location.replace("https://yvesrocherusa.com/discount/"+coupon+"?redirect="+window.location.pathname+"&pop_up=love30&emailSubmitted=true"); 10764 10765 },1000) 10766 } 10767 10768 } 10769 }); 10770 10771 <!-----------------------------------------------------------------------------------------------------------------> 10772 10773 10774 function PromoPopupcampaign_popup_kJAVfh() { 10775 document.getElementById('popup-layout-campaign_popup_kJAVfh').style.display = "none"; 10776 // localStorage.removeItem("viewedPopup"); 10777 } 10778 10779<!-----------------------------------------------------------------------------------------------------------------> 10780 10781 function popupAddtocartcampaign_popup_kJAVfh(element) { 10782 var product_name = document.title 10783 document.getElementsByClassName('wd-buy_btn')[0].click() 10784 element.innerText = "Adding..." 10785 setTimeout(function() { 10786 document.getElementById('popup-layout-campaign_popup_kJAVfh').style.display = "none"; 10787 element.innerText = "Add to cart" 10788 }, 1500) 10789 10790 } 10791 10792 10793<!-----------------------------------------------------------------------------------------------------------------> 10794 10795 function clickedBadgecampaign_popup_kJAVfh() { 10796 document.getElementById('popup-layout-campaign_popup_kJAVfh').style.display = "block"; 10797 } 10798 10799<!-----------------------------------------------------------------------------------------------------------------> 10800 10801 function getUrlParams(url) { 10802 const params = {}; 10803 const urlObj = new URL(url); 10804 10805 for (const [key, value] of urlObj.searchParams) { 10806 // Add each parameter as a key-value pair to the params object 10807 params[key] = value; 10808 } 10809 10810 return params; 10811 } 10812<!--------------------------------------------------------------------------------------------------------------------------------------> 10813 10814 /* ------------------------------------------------------- 10815 MULTI-COLLECTION PROMOTION RULES 10816 10817 Each rule has: 10818 - collection 10819 - promotion discount (decimal: 0.5 = 50%) 10820 - optional subscription discount override (decimal) 10821 10822 If a product belongs to multiple configured collections, 10823 the rule with the HIGHEST promotion discount wins. 10824 10825 If no new multi-collection rule is configured, the old 10826 eligible_collection + code_discount_value settings are 10827 used as a backwards-compatible fallback. 10828 10829 Product cards still require: 10830 data-collections="collection-handle-1,collection-handle-2" 10831 ------------------------------------------------------- */ 10832 10833 var promoRules_campaign_popup_kJAVfh = [ 10834 { 10835 handle: null, 10836 discount: Number(0) || 0, 10837 subscriptionOverride: ("" === null || "" === "") 10838 ? null 10839 : (Number("") || 0) 10840 }, 10841 { 10842 handle: null, 10843 discount: Number(0) || 0, 10844 subscriptionOverride: ("" === null || "" === "") 10845 ? null 10846 : (Number("") || 0) 10847 }, 10848 { 10849 handle: null, 10850 discount: Number(0) || 0, 10851 subscriptionOverride: ("" === null || "" === "") 10852 ? null 10853 : (Number("") || 0) 10854 }, 10855 { 10856 handle: null, 10857 discount: Number(0) || 0, 10858 subscriptionOverride: ("" === null || "" === "") 10859 ? null 10860 : (Number("") || 0) 10861 }, 10862 { 10863 handle: null, 10864 discount: Number(0) || 0, 10865 subscriptionOverride: ("" === null || "" === "") 10866 ? null 10867 : (Number("") || 0) 10868 } 10869 ].filter(function(rule) { 10870 return rule.handle && rule.discount > 0; 10871 }); 10872 10873 // Backwards-compatible fallback for existing campaign blocks. 10874 if (promoRules_campaign_popup_kJAVfh.length === 0) { 10875 var legacyCollection_campaign_popup_kJAVfh = null; 10876 var legacyDiscount_campaign_popup_kJAVfh = Number("0.3") || 0; 10877 10878 if (legacyCollection_campaign_popup_kJAVfh && legacyDiscount_campaign_popup_kJAVfh > 0) { 10879 promoRules_campaign_popup_kJAVfh.push({ 10880 handle: legacyCollection_campaign_popup_kJAVfh, 10881 discount: legacyDiscount_campaign_popup_kJAVfh, 10882 subscriptionOverride: null 10883 }); 10884 } 10885 } 10886 10887 function getWinningPromoRule_campaign_popup_kJAVfh(collectionHandles) { 10888 // Preserve old site-wide behavior when no collection rule exists. 10889 if (promoRules_campaign_popup_kJAVfh.length === 0) { 10890 return { 10891 handle: null, 10892 discount: Number("0.3") || 0, 10893 multiplier: 1 - (Number("0.3") || 0), 10894 subscriptionOverride: null 10895 }; 10896 } 10897 10898 var handles = Array.isArray(collectionHandles) ? collectionHandles : []; 10899 var winner = null; 10900 10901 promoRules_campaign_popup_kJAVfh.forEach(function(rule) { 10902 if (!handles.includes(rule.handle)) return; 10903 10904 if ( 10905 !winner || 10906 rule.discount > winner.discount || 10907 ( 10908 rule.discount === winner.discount && 10909 rule.subscriptionOverride !== null && 10910 (winner.subscriptionOverride === null || rule.subscriptionOverride > winner.subscriptionOverride) 10911 ) 10912 ) { 10913 winner = rule; 10914 } 10915 }); 10916 10917 if (!winner) return null; 10918 10919 return { 10920 handle: winner.handle, 10921 discount: winner.discount, 10922 multiplier: 1 - winner.discount, 10923 subscriptionOverride: winner.subscriptionOverride 10924 }; 10925 } 10926 10927 function getPromoRuleForCard_campaign_popup_kJAVfh(productCard) { 10928 if (!productCard) return null; 10929 10930 var collectionsAttribute = productCard.getAttribute('data-collections') || '';
10931 var productCollections = collectionsAttribute 10932 .split(',') 10933 .map(function(collection) { return collection.trim(); }) 10934 .filter(Boolean); 10935 10936 return getWinningPromoRule_campaign_popup_kJAVfh(productCollections); 10937 } 10938 10939 function isPromoEligible_campaign_popup_kJAVfh(productCard) { 10940 return getPromoRuleForCard_campaign_popup_kJAVfh(productCard) !== null; 10941 } 10942 10943 // MAIN PDP collection handles. 10944 var collections_for_promo_campaign_popup_kJAVfh = [ 10945 10946 ]; 10947 10948 function getCurrentProductPromoRule_campaign_popup_kJAVfh() { 10949 return getWinningPromoRule_campaign_popup_kJAVfh(collections_for_promo_campaign_popup_kJAVfh); 10950 } 10951 10952 function isCurrentProductPromoEligible_campaign_popup_kJAVfh() { 10953 return getCurrentProductPromoRule_campaign_popup_kJAVfh() !== null; 10954 } 10955 10956 function formatPromoMoney_campaign_popup_kJAVfh(amount) { 10957 var value = Number(amount); 10958 if (!Number.isFinite(value)) value = 0; 10959 return '$' + (Math.round(value * 100) / 100).toFixed(2).replace(/\.00$/, ''); 10960 } 10961 10962 10963 10964 function applyDiscountCodeAjax(discountCode) { 10965 const discountUrl = `/discount/${discountCode}`; 10966 fetch(discountUrl, { 10967 method: 'GET', 10968 headers: { 10969 'Content-Type': 'application/json' 10970 } 10971 }).then(response => { 10972 if (response.ok) { 10973 console.log('applyied discount.'); 10974 document.documentElement.dispatchEvent(new CustomEvent('cart:refresh', { bubbles: true})); 10975 document.documentElement.dispatchEvent(new CustomEvent("theme:loading:end", { bubbles: true })); 10976 sessionStorage.setItem('discount-'+ discountCode, discountCode); 10977 10978 } else { 10979 console.error('Failed to apply discount.'); 10980 } 10981 }).catch(error => { 10982 console.error('Error applying discount:', error); 10983 }); 10984 } 10985 10986 <!---------------------------------------- code for price manipulation + coupon appliyment in regular pages --------------------------------------> 10987 10988 10989 10990 <!----------------------------------------code for price manipulation + coupon apliyment in HOMEPAGE ----------------------------------------------> 10991 10992 10993 <!----------------------------------------code for price manipulation on collection page ----------------------------------------------> 10994 10995 10996 10997 10998 <!----------------------------------------code for price manipulation on products page ----------------------------------------------> 10999 11000 11001 11002 11003 document.addEventListener('DOMContentLoaded',showPromoMSGcampaign_popup_kJAVfh()); 11004 11005<!---------------------------------------> 11006 11007</script>
11007 11008 11009 11010<style> 11011 #promotion-inline-msg-campaign_popup_kJAVfh { 11012 background: #FE2C55; 11013 color: #fff; 11014 font-size: 13px; 11015 padding: 10px; 11016 text-align: center; 11017 text-transform: uppercase; 11018 font-weight: 600; 11019 display:none; 11020 } 11021 11022 input.user-email-campaign_popup_kJAVfh { 11023 height: 52px; 11024 border-radius: 5px; 11025 border: #A1A1A1 1px solid; 11026 background: #fff; 11027 padding: 10px; 11028 font-family: Montserrat; 11029 font-size: 14px; 11030 width: 100%; 11031 } 11032 11033 11034 .error-msg-campaign_popup_kJAVfh { 11035 display: none; 11036 position: absolute; 11037 color: red !important; 11038 bottom: -47px; 11039 left: 0px; 11040 background: #fff; 11041 padding: 3px 9px; 11042 margin: 0; 11043 border-radius: 5px; 11044 border-left: 1px solid red; 11045 border-right: 1px solid red; 11046 border-bottom: 1px solid red; 11047 font-size: 14px !important; 11048 } 11049 11050 #submit-email-campaign_popup_kJAVfh { 11051 background: #000; 11052 display: block; 11053 padding: 15px 10px; 11054 color: #fff; 11055 text-align: center; 11056 border-radius: 28px; 11057 font-family: 'Montserrat'; 11058 font-weight: 500; 11059 margin: 15px 0px 25px; 11060 cursor: pointer; 11061 width: 100%; 11062 } 11063 11064 @media only screen and (max-width: 800px) { 11065 #promotion-inline-msg-campaign_popup_kJAVfh { 11066 11067 } 11068 } 11069 </style> 11070 11071 11072 11073 11074 11075 11076 11077 11078 11079 11080 11081 <div id="promotion-inline-msg-campaign_popup_nedCUk" class="promotion-inline-msg"> 11082 11083 <div class="not-try-badge top-page"><p class="limited-time-p"><span class="discount_value"></span> 50% off on your first order! Use code:Â sale50. </p><style> 11084 :root{ 11085 --card-bg:#fff; 11086 --card-radius:14px; 11087 --shadow:0 6px 20px rgba(0,0,0,.08); 11088 --text:#111; 11089 --muted:#8f8f8f; 11090 } 11091 .offer-countdown{ 11092 display:grid; 11093 place-items:center; 11094 gap:16px; 11095 text-align:center; 11096 font-family: 'Montserrat' !important; 11097 color:var(--text); 11098 } 11099 .offer-countdown .heading span{ 11100 font-size:18px; 11101 font-weight:600; 11102 display:block 11103 } 11104 11105 .offer-countdown .heading { 11106 font-size: 24px; 11107 font-weight: 600; 11108 text-transform: none; 11109 letter-spacing: normal; 11110 11111 } 11112 11113 .time-row{ 11114 display:flex; 11115 align-items:center; 11116 gap:16px; 11117 } 11118 11119 .time-block{ 11120 background:var(--card-bg); 11121 border-radius:var(--card-radius); 11122 box-shadow:var(--shadow); 11123 padding:12px 16px; 11124 min-width:86px; 11125 display:grid; 11126 gap:6px; 11127 } 11128 11129 .time-value{ 11130 font-weight:800; 11131 font-size:32px; 11132 line-height:1; 11133 letter-spacing: -0.025em; 11134 font-variant-numeric: tabular-nums; 11135 } 11136 11137 .time-label{ 11138 font-size:10px; 11139 text-transform:uppercase; 11140 color:var(--muted); 11141 letter-spacing: -0.025em; 11142 } 11143 11144 /* the small grey dot separators */ 11145 .dot{ 11146 width:6px; height:6px; border-radius:999px; 11147 background:#d9d9d9; 11148 } 11149 11150 /* responsive tweaks */ 11151 @media (max-width:480px){ 11152 .time-block{ min-width:74px; padding:10px 12px; } 11153 .time-value{ font-size:28px; } 11154 } 11155 11156 .offer-countdown .hero-primary-btn { 11157 width:300px 11158 } 11159</style> 11160 11161 11162 11163<section class="offer-countdown" id="trial-timer"> 11164 <div class="heading">Claim Your Trial Now 11165<span>Trials Ends in:</span></div> 11166 <div class="time-row" role="timer" aria-live="polite" aria-atomic="true"> 11167 <div class="time-block">
11168 <div class="time-value" id="cd-hours-campaign_popup_nedCUk">00</div> 11169 <div class="time-label">Hours</div> 11170 </div> 11171 <div class="dot" aria-hidden="true"></div> 11172 <div class="time-block"> 11173 <div class="time-value" id="cd-minutes-campaign_popup_nedCUk">15</div> 11174 <div class="time-label">Minutes</div> 11175 </div> 11176 <div class="dot" aria-hidden="true"></div> 11177 <div class="time-block"> 11178 <div class="time-value" id="cd-seconds-campaign_popup_nedCUk">00</div> 11179 <div class="time-label">Seconds</div> 11180 </div> 11181 </div> 11182 <div onclick="add_bundle_with_tbyb(main_product , this , false )" class="hero-primary-btn"> 11183 Try Before You Buy | $0 11184 </div> 11185</section> 11186
11187<script> 11188 function runCountDown_campaign_popup_nedCUk() { 11189 // ===== Config ===== 11190 const DURATION_SECONDS = 15 * 60; // 15 minutes from page load 11191 11192 // ===== Elements ===== 11193 const elH = document.getElementById('cd-hours-campaign_popup_nedCUk'); 11194 const elM = document.getElementById('cd-minutes-campaign_popup_nedCUk'); 11195 const elS = document.getElementById('cd-seconds-campaign_popup_nedCUk'); 11196 11197 // ===== Timer logic (stable & accurate) ===== 11198 const start = Date.now(); 11199 const end = start + DURATION_SECONDS * 1000; 11200 11201 function pad(n){ return n.toString().padStart(2,'0'); } 11202 11203 function render(msLeft){ 11204 const total = Math.max(0, Math.ceil(msLeft/1000)); 11205 const h = Math.floor(total / 3600); 11206 const m = Math.floor((total % 3600) / 60); 11207 const s = total % 60; 11208 elH.textContent = pad(h); 11209 elM.textContent = pad(m); 11210 elS.textContent = pad(s); 11211 } 11212 11213 // first paint shows 15:00 11214 render(end - Date.now()); 11215 11216 const tick = setInterval(() => { 11217 const msLeft = end - Date.now(); 11218 render(msLeft); 11219 11220 if (msLeft <= 0){ 11221 clearInterval(tick); 11222 // Optional: add a class or callback here when finished 11223 // document.getElementById('trial-timer').classList.add('finished'); 11224 } 11225 }, 1000); 11226 11227} 11228 11229runCountDown_campaign_popup_nedCUk(); 11230</script>
11230</div> 11231 11232 </div> 11233 11234 <div id="popup-layout-campaign_popup_nedCUk" style="display:none" class="promotion-popup_layout"> 11235 11236 <div class="promotion-popup_background"> 11237 <div class="close-promotion-popup"> <span onclick="PromoPopupcampaign_popup_nedCUk()" class="x-image campaign_popup_nedCUk"></span></div> 11238 11239 11240 <div id="without-email-campaign_popup_nedCUk" class="promotion-scroll-area"> 11241 11242 <h1> You got 50% off!</h1> 11243 <p>We've applied 50% off discount on your first order. Use code:Â sale50.</p> 11244 11245 11246 11247 <span class="popup-product-link second" onclick="PromoPopupcampaign_popup_nedCUk()">Awesome! Let me shop</span> 11248 11249 11250 </div> 11251 11252 11253 <div id="with-email-campaign_popup_nedCUk" class="promotion-scroll-area"> 11254 11255 <!--<h1> </h1>--> 11256 <p></p> 11257 <div class="email-wraper"> 11258 <div class="close-after-subsmition-campaign_popup_nedCUk" style="position:relative"> 11259 <label for="user-email-campaign_popup_nedCUk" style="display:none" >Email</label> 11260 <input placeholder="" class="user-email-campaign_popup_nedCUk" id="user-email-campaign_popup_nedCUk"> 11261 <p class="error-msg-campaign_popup_nedCUk"></p> 11262 </div> 11263 <button class="close-after-subsmition" id="submit-email-campaign_popup_nedCUk">Submit</button> 11264 <!-- <a style="display:none" onclick="fireEventsToHeap('clicked_Hero_banner_video')" href="" class="scroll-to-campaign_popup_nedCUk"></a>--> 11265 </div> 11266 </div> 11267 11268 </div> 11269 </div> 11270 11271 11272
11273<script> 11274<!-----------------------------------------------------------------------------------------------------------------> 11275 11276 function showPromoMSGcampaign_popup_nedCUk() { 11277 const urlParams = getUrlParams(window.location.href); 11278 const showDuringSession = sessionStorage.getItem('show-promo-msg-pop_up-glow30') 11279 11280 if(urlParams.pop_up != undefined || showDuringSession === "true" ) { 11281 if(urlParams.pop_up === 'glow30' || showDuringSession === "true" ) { 11282 document.getElementById('promotion-inline-msg-campaign_popup_nedCUk').style.display = "block"; 11283 showEmailInPopup_campaign_popup_nedCUk() 11284 sessionStorage.setItem('show-promo-msg-pop_up-glow30', 'true'); 11285 11286 if(urlParams.open_popup === "true"){ 11287 clickedBadgecampaign_popup_nedCUk(); 11288 } 11289 11290 if(urlParams.show_btn === "false") { 11291 document.querySelector('.x-image.campaign_popup_nedCUk').style.display = "none" 11292 } 11293 11294 11295 11296 11297 } 11298 } 11299 } 11300 11301 11302 11303 11304 11305<!-----------------------------------------------------------------------------------------------------------------> 11306 11307 11308 function showEmailInPopup_campaign_popup_nedCUk() { 11309 const urlParams = getUrlParams(window.location.href); 11310 const showDuringSession = sessionStorage.getItem('is_email-glow30'); 11311 if(urlParams.is_email === "true" || showDuringSession === "true" ){ 11312 document.getElementById('with-email-campaign_popup_nedCUk').style.display = "block"; 11313 document.getElementById('without-email-campaign_popup_nedCUk').style.display = "none"; 11314 localStorage.setItem("viewedPopup", "true"); 11315 sessionStorage.setItem('is_email-glow30', 'true'); 11316 11317 } 11318 11319 11320 else { 11321 document.getElementById('with-email-campaign_popup_nedCUk').style.display = "none"; 11322 document.getElementById('without-email-campaign_popup_nedCUk').style.display = "block"; 11323 } 11324 } 11325 11326<!-----------------------------------------------------------------------------------------------------------------> 11327 11328 function showSMSpopup_after_applying_discount_campaign_popup_nedCUk() { 11329 if (typeof window.showSMSpopup_ === 'function') { 11330 showSMSpopup_(); 11331 localStorage.setItem('viewedPopup-klaviyo-form-SgXDwS','true') // prevent from default popup to jump 11332 } 11333 else { 11334 setTimeout(showSMSpopup_after_applying_discount_campaign_popup_nedCUk, 300); 11335 } 11336 } 11337<!-----------------------------------------------------------------------------------------------------------------> 11338 11339 function validateEmail(email) { 11340 const regex = /^[^\s@]+@[^\s@]+\.[^\s@]+$/; 11341 return regex.test(email); 11342 } 11343 11344 <!-----------------------------------------------------------------------------------------------------------------> 11345 11346 function kEventcampaign_popup_nedCUk(email) { 11347 _learnq.push(["track", "", { 11348 "Recipients": [email], 11349 "page":window.location.pathname 11350 }]); 11351 console.log('Tbyb event sent') 11352 } 11353 11354 11355<!-----------------------------------------------------------------------------------------------------------------> 11356 11357 document.getElementById('submit-email-campaign_popup_nedCUk').addEventListener('click', function() { 11358 const user_email = document.getElementsByClassName('user-email-campaign_popup_nedCUk')[0].value 11359 const is_email = validateEmail(user_email); 11360 const coupon = 'sale50' 11361 11362 if (user_email === "") { 11363 document.getElementsByClassName('error-msg-campaign_popup_nedCUk')[0].style.display = "block"; 11364 document.getElementsByClassName('error-msg-campaign_popup_nedCUk')[0].innerText = "Please add your email "; 11365 document.getElementsByClassName('user-email-campaign_popup_nedCUk')[0].style.border = "1px solid red"; 11366 setTimeout(function() { 11367 document.getElementsByClassName('error-msg-campaign_popup_nedCUk')[0].style.display = "none"; 11368 document.getElementsByClassName('user-email-campaign_popup_nedCUk')[0].style.border = "1px solid #A1A1A1" 11369 11370 },3000 ) 11371 } 11372 11373 else if(!is_email) { 11374 document.getElementsByClassName('error-msg-campaign_popup_nedCUk')[0].style.display = "block"; 11375 document.getElementsByClassName('error-msg-campaign_popup_nedCUk')[0].innerText = "Please add a valid email "; 11376 document.getElementsByClassName('user-email-campaign_popup_nedCUk')[0].style.border = "1px solid red" 11377 setTimeout(function() { 11378 document.getElementsByClassName('error-msg-campaign_popup_nedCUk')[0].style.display = "none"; 11379 document.getElementsByClassName('user-email-campaign_popup_nedCUk')[0].style.border = "1px solid #A1A1A1" 11380 11381 },3000 ) 11382 } 11383 11384 else { 11385 document.getElementById('submit-email-campaign_popup_nedCUk').innerText = "Unlocking..."; 11386 sessionStorage.getItem('show-promo-msg-pop_up-glow30') 11387 sendToHeap(''); 11388 _learnq.push(['identify', { 11389 '$email' : user_email 11390 11391 }]) 11392 if(coupon === ""){ 11393 setTimeout(function(){ 11394 kEventcampaign_popup_nedCUk(user_email) ; 11395 document.getElementsByClassName('close-after-subsmition')[0].style.display = "none"; 11396 document.getElementsByClassName('close-after-subsmition')[1].style.display = "none"; 11397 document.getElementsByClassName('scroll-to')[0].style.display = "flex"; 11398 },1000) 11399 } 11400 11401 else { 11402 setTimeout(function(){ 11403 kEventcampaign_popup_nedCUk(user_email) ; 11404 },1000) 11405 setTimeout(function(){ 11406 window.location.replace("https://yvesrocherusa.com/discount/"+coupon+"?redirect="+window.location.pathname+"&pop_up=glow30&emailSubmitted=true"); 11407 11408 },1000) 11409 } 11410 11411 } 11412 }); 11413 11414 <!-----------------------------------------------------------------------------------------------------------------> 11415 11416 11417 function PromoPopupcampaign_popup_nedCUk() { 11418 document.getElementById('popup-layout-campaign_popup_nedCUk').style.display = "none"; 11419 // localStorage.removeItem("viewedPopup"); 11420 } 11421 11422<!-----------------------------------------------------------------------------------------------------------------> 11423 11424 function popupAddtocartcampaign_popup_nedCUk(element) { 11425 var product_name = document.title 11426 document.getElementsByClassName('wd-buy_btn')[0].click() 11427 element.innerText = "Adding..." 11428 setTimeout(function() { 11429 document.getElementById('popup-layout-campaign_popup_nedCUk').style.display = "none"; 11430 element.innerText = "Add to cart" 11431 }, 1500) 11432 11433 } 11434 11435 11436<!-----------------------------------------------------------------------------------------------------------------> 11437 11438 function clickedBadgecampaign_popup_nedCUk() { 11439 document.getElementById('popup-layout-campaign_popup_nedCUk').style.display = "block"; 11440 } 11441 11442<!-----------------------------------------------------------------------------------------------------------------> 11443 11444 function getUrlParams(url) { 11445 const params = {}; 11446 const urlObj = new URL(url); 11447 11448 for (const [key, value] of urlObj.searchParams) { 11449 // Add each parameter as a key-value pair to the params object 11450 params[key] = value; 11451 } 11452 11453 return params; 11454 } 11455<!--------------------------------------------------------------------------------------------------------------------------------------> 11456 11457 /* ------------------------------------------------------- 11458 MULTI-COLLECTION PROMOTION RULES 11459 11460 Each rule has: 11461 - collection 11462 - promotion discount (decimal: 0.5 = 50%) 11463 - optional subscription discount override (decimal) 11464 11465 If a product belongs to multiple configured collections, 11466 the rule with the HIGHEST promotion discount wins. 11467 11468 If no new multi-collection rule is configured, the old 11469 eligible_collection + code_discount_value settings are 11470 used as a backwards-compatible fallback. 11471 11472 Product cards still require: 11473 data-collections="collection-handle-1,collection-handle-2" 11474 ------------------------------------------------------- */ 11475 11476 var promoRules_campaign_popup_nedCUk = [ 11477 { 11478 handle: null, 11479 discount: Number(0) || 0, 11480 subscriptionOverride: ("" === null || "" === "") 11481 ? null 11482 : (Number("") || 0) 11483 }, 11484 { 11485 handle: null, 11486 discount: Number(0) || 0, 11487 subscriptionOverride: ("" === null || "" === "") 11488 ? null 11489 : (Number("") || 0) 11490 }, 11491 { 11492 handle: null, 11493 discount: Number(0) || 0, 11494 subscriptionOverride: ("" === null || "" === "") 11495 ? null 11496 : (Number("") || 0) 11497 }, 11498 { 11499 handle: null, 11500 discount: Number(0) || 0, 11501 subscriptionOverride: ("" === null || "" === "") 11502 ? null 11503 : (Number("") || 0) 11504 }, 11505 { 11506 handle: null, 11507 discount: Number(0) || 0, 11508 subscriptionOverride: ("" === null || "" === "") 11509 ? null 11510 : (Number("") || 0) 11511 } 11512 ].filter(function(rule) { 11513 return rule.handle && rule.discount > 0; 11514 }); 11515 11516 // Backwards-compatible fallback for existing campaign blocks. 11517 if (promoRules_campaign_popup_nedCUk.length === 0) { 11518 var legacyCollection_campaign_popup_nedCUk = "sale-monoi-sale"; 11519 var legacyDiscount_campaign_popup_nedCUk = Number("0.5") || 0; 11520 11521 if (legacyCollection_campaign_popup_nedCUk && legacyDiscount_campaign_popup_nedCUk > 0) { 11522 promoRules_campaign_popup_nedCUk.push({ 11523 handle: legacyCollection_campaign_popup_nedCUk, 11524 discount: legacyDiscount_campaign_popup_nedCUk, 11525 subscriptionOverride: null 11526 }); 11527 } 11528 } 11529 11530 function getWinningPromoRule_campaign_popup_nedCUk(collectionHandles) { 11531 // Preserve old site-wide behavior when no collection rule exists. 11532 if (promoRules_campaign_popup_nedCUk.length === 0) { 11533 return { 11534 handle: null, 11535 discount: Number("0.5") || 0, 11536 multiplier: 1 - (Number("0.5") || 0), 11537 subscriptionOverride: null 11538 }; 11539 } 11540 11541 var handles = Array.isArray(collectionHandles) ? collectionHandles : []; 11542 var winner = null; 11543 11544 promoRules_campaign_popup_nedCUk.forEach(function(rule) { 11545 if (!handles.includes(rule.handle)) return; 11546 11547 if ( 11548 !winner || 11549 rule.discount > winner.discount || 11550 ( 11551 rule.discount === winner.discount && 11552 rule.subscriptionOverride !== null && 11553 (winner.subscriptionOverride === null || rule.subscriptionOverride > winner.subscriptionOverride) 11554 ) 11555 ) { 11556 winner = rule; 11557 } 11558 }); 11559 11560 if (!winner) return null; 11561 11562 return { 11563 handle: winner.handle, 11564 discount: winner.discount, 11565 multiplier: 1 - winner.discount, 11566 subscriptionOverride: winner.subscriptionOverride 11567 }; 11568 } 11569 11570 function getPromoRuleForCard_campaign_popup_nedCUk(productCard) { 11571 if (!productCard) return null; 11572 11573 var collectionsAttribute = productCard.getAttribute('data-collections') || '';
11574 var productCollections = collectionsAttribute 11575 .split(',') 11576 .map(function(collection) { return collection.trim(); }) 11577 .filter(Boolean); 11578 11579 return getWinningPromoRule_campaign_popup_nedCUk(productCollections); 11580 } 11581 11582 function isPromoEligible_campaign_popup_nedCUk(productCard) { 11583 return getPromoRuleForCard_campaign_popup_nedCUk(productCard) !== null; 11584 } 11585 11586 // MAIN PDP collection handles. 11587 var collections_for_promo_campaign_popup_nedCUk = [ 11588 11589 ]; 11590 11591 function getCurrentProductPromoRule_campaign_popup_nedCUk() { 11592 return getWinningPromoRule_campaign_popup_nedCUk(collections_for_promo_campaign_popup_nedCUk); 11593 } 11594 11595 function isCurrentProductPromoEligible_campaign_popup_nedCUk() { 11596 return getCurrentProductPromoRule_campaign_popup_nedCUk() !== null; 11597 } 11598 11599 function formatPromoMoney_campaign_popup_nedCUk(amount) { 11600 var value = Number(amount); 11601 if (!Number.isFinite(value)) value = 0; 11602 return '$' + (Math.round(value * 100) / 100).toFixed(2).replace(/\.00$/, ''); 11603 } 11604 11605 11606 11607 function applyDiscountCodeAjax(discountCode) { 11608 const discountUrl = `/discount/${discountCode}`; 11609 fetch(discountUrl, { 11610 method: 'GET', 11611 headers: { 11612 'Content-Type': 'application/json' 11613 } 11614 }).then(response => { 11615 if (response.ok) { 11616 console.log('applyied discount.'); 11617 document.documentElement.dispatchEvent(new CustomEvent('cart:refresh', { bubbles: true})); 11618 document.documentElement.dispatchEvent(new CustomEvent("theme:loading:end", { bubbles: true })); 11619 sessionStorage.setItem('discount-'+ discountCode, discountCode); 11620 11621 } else { 11622 console.error('Failed to apply discount.'); 11623 } 11624 }).catch(error => { 11625 console.error('Error applying discount:', error); 11626 }); 11627 } 11628 11629 <!---------------------------------------- code for price manipulation + coupon appliyment in regular pages --------------------------------------> 11630 11631 11632 11633 <!----------------------------------------code for price manipulation + coupon apliyment in HOMEPAGE ----------------------------------------------> 11634 11635 11636 <!----------------------------------------code for price manipulation on collection page ----------------------------------------------> 11637 11638 11639 11640 11641 <!----------------------------------------code for price manipulation on products page ----------------------------------------------> 11642 11643 11644 11645 11646 document.addEventListener('DOMContentLoaded',showPromoMSGcampaign_popup_nedCUk()); 11647 11648<!---------------------------------------> 11649 11650</script>
11650 11651 11652 11653<style> 11654 #promotion-inline-msg-campaign_popup_nedCUk { 11655 background: linear-gradient(90deg, #CB0050 0%, #C555A7 100%); 11656 color: #fff; 11657 font-size: 13px; 11658 padding: 10px; 11659 text-align: center; 11660 text-transform: uppercase; 11661 font-weight: 600; 11662 display:none; 11663 } 11664 11665 input.user-email-campaign_popup_nedCUk { 11666 height: 52px; 11667 border-radius: 5px; 11668 border: #A1A1A1 1px solid; 11669 background: #fff; 11670 padding: 10px; 11671 font-family: Montserrat; 11672 font-size: 14px; 11673 width: 100%; 11674 } 11675 11676 11677 .error-msg-campaign_popup_nedCUk { 11678 display: none; 11679 position: absolute; 11680 color: red !important; 11681 bottom: -47px; 11682 left: 0px; 11683 background: #fff; 11684 padding: 3px 9px; 11685 margin: 0; 11686 border-radius: 5px; 11687 border-left: 1px solid red; 11688 border-right: 1px solid red; 11689 border-bottom: 1px solid red; 11690 font-size: 14px !important; 11691 } 11692 11693 #submit-email-campaign_popup_nedCUk { 11694 background: #000; 11695 display: block; 11696 padding: 15px 10px; 11697 color: #fff; 11698 text-align: center; 11699 border-radius: 28px; 11700 font-family: 'Montserrat'; 11701 font-weight: 500; 11702 margin: 15px 0px 25px; 11703 cursor: pointer; 11704 width: 100%; 11705 } 11706 11707 @media only screen and (max-width: 800px) { 11708 #promotion-inline-msg-campaign_popup_nedCUk { 11709 11710 } 11711 } 11712 </style> 11713 11714 11715 11716 11717 11718 11719 11720 11721 11722 11723 11724 <div id="promotion-inline-msg-campaign_popup_iQfG4y" class="promotion-inline-msg"> 11725 11726 <div class="not-try-badge top-page"><p class="limited-time-p"><span class="discount_value"></span> 65% off on your first order! Use code:Â monoisale. </p><style> 11727 :root{ 11728 --card-bg:#fff; 11729 --card-radius:14px; 11730 --shadow:0 6px 20px rgba(0,0,0,.08); 11731 --text:#111; 11732 --muted:#8f8f8f; 11733 } 11734 .offer-countdown{ 11735 display:grid; 11736 place-items:center; 11737 gap:16px; 11738 text-align:center; 11739 font-family: 'Montserrat' !important; 11740 color:var(--text); 11741 } 11742 .offer-countdown .heading span{ 11743 font-size:18px; 11744 font-weight:600; 11745 display:block 11746 } 11747 11748 .offer-countdown .heading { 11749 font-size: 24px; 11750 font-weight: 600; 11751 text-transform: none; 11752 letter-spacing: normal; 11753 11754 } 11755 11756 .time-row{ 11757 display:flex; 11758 align-items:center; 11759 gap:16px; 11760 } 11761 11762 .time-block{ 11763 background:var(--card-bg); 11764 border-radius:var(--card-radius); 11765 box-shadow:var(--shadow); 11766 padding:12px 16px; 11767 min-width:86px; 11768 display:grid; 11769 gap:6px; 11770 } 11771 11772 .time-value{ 11773 font-weight:800; 11774 font-size:32px; 11775 line-height:1; 11776 letter-spacing: -0.025em; 11777 font-variant-numeric: tabular-nums; 11778 } 11779 11780 .time-label{ 11781 font-size:10px; 11782 text-transform:uppercase; 11783 color:var(--muted); 11784 letter-spacing: -0.025em; 11785 } 11786 11787 /* the small grey dot separators */ 11788 .dot{ 11789 width:6px; height:6px; border-radius:999px; 11790 background:#d9d9d9; 11791 } 11792 11793 /* responsive tweaks */ 11794 @media (max-width:480px){ 11795 .time-block{ min-width:74px; padding:10px 12px; } 11796 .time-value{ font-size:28px; } 11797 } 11798 11799 .offer-countdown .hero-primary-btn { 11800 width:300px 11801 } 11802</style> 11803 11804 11805 11806<section class="offer-countdown" id="trial-timer"> 11807 <div class="heading">Claim Your Trial Now 11808<span>Trials Ends in:</span></div> 11809 <div class="time-row" role="timer" aria-live="polite" aria-atomic="true"> 11810 <div class="time-block">
11811 <div class="time-value" id="cd-hours-campaign_popup_iQfG4y">00</div> 11812 <div class="time-label">Hours</div> 11813 </div> 11814 <div class="dot" aria-hidden="true"></div> 11815 <div class="time-block"> 11816 <div class="time-value" id="cd-minutes-campaign_popup_iQfG4y">15</div> 11817 <div class="time-label">Minutes</div> 11818 </div> 11819 <div class="dot" aria-hidden="true"></div> 11820 <div class="time-block"> 11821 <div class="time-value" id="cd-seconds-campaign_popup_iQfG4y">00</div> 11822 <div class="time-label">Seconds</div> 11823 </div> 11824 </div> 11825 <div onclick="add_bundle_with_tbyb(main_product , this , false )" class="hero-primary-btn"> 11826 Try Before You Buy | $0 11827 </div> 11828</section> 11829
11830<script> 11831 function runCountDown_campaign_popup_iQfG4y() { 11832 // ===== Config ===== 11833 const DURATION_SECONDS = 15 * 60; // 15 minutes from page load 11834 11835 // ===== Elements ===== 11836 const elH = document.getElementById('cd-hours-campaign_popup_iQfG4y'); 11837 const elM = document.getElementById('cd-minutes-campaign_popup_iQfG4y'); 11838 const elS = document.getElementById('cd-seconds-campaign_popup_iQfG4y'); 11839 11840 // ===== Timer logic (stable & accurate) ===== 11841 const start = Date.now(); 11842 const end = start + DURATION_SECONDS * 1000; 11843 11844 function pad(n){ return n.toString().padStart(2,'0'); } 11845 11846 function render(msLeft){ 11847 const total = Math.max(0, Math.ceil(msLeft/1000)); 11848 const h = Math.floor(total / 3600); 11849 const m = Math.floor((total % 3600) / 60); 11850 const s = total % 60; 11851 elH.textContent = pad(h); 11852 elM.textContent = pad(m); 11853 elS.textContent = pad(s); 11854 } 11855 11856 // first paint shows 15:00 11857 render(end - Date.now()); 11858 11859 const tick = setInterval(() => { 11860 const msLeft = end - Date.now(); 11861 render(msLeft); 11862 11863 if (msLeft <= 0){ 11864 clearInterval(tick); 11865 // Optional: add a class or callback here when finished 11866 // document.getElementById('trial-timer').classList.add('finished'); 11867 } 11868 }, 1000); 11869 11870} 11871 11872runCountDown_campaign_popup_iQfG4y(); 11873</script>
11873</div> 11874 11875 </div> 11876 11877 <div id="popup-layout-campaign_popup_iQfG4y" style="display:none" class="promotion-popup_layout"> 11878 11879 <div class="promotion-popup_background"> 11880 <div class="close-promotion-popup"> <span onclick="PromoPopupcampaign_popup_iQfG4y()" class="x-image campaign_popup_iQfG4y"></span></div> 11881 11882 11883 <div id="without-email-campaign_popup_iQfG4y" class="promotion-scroll-area"> 11884 11885 <h1> You got 65% off!</h1> 11886 <p>We've applied 65% off discount on your first order. Use code:Â monoisale.</p> 11887 11888 11889 11890 <span class="popup-product-link second" onclick="PromoPopupcampaign_popup_iQfG4y()">Awesome! Let me shop</span> 11891 11892 11893 </div> 11894 11895 11896 <div id="with-email-campaign_popup_iQfG4y" class="promotion-scroll-area"> 11897 11898 <!--<h1> </h1>--> 11899 <p></p> 11900 <div class="email-wraper"> 11901 <div class="close-after-subsmition-campaign_popup_iQfG4y" style="position:relative"> 11902 <label for="user-email-campaign_popup_iQfG4y" style="display:none" >Email</label> 11903 <input placeholder="" class="user-email-campaign_popup_iQfG4y" id="user-email-campaign_popup_iQfG4y"> 11904 <p class="error-msg-campaign_popup_iQfG4y"></p> 11905 </div> 11906 <button class="close-after-subsmition" id="submit-email-campaign_popup_iQfG4y">Submit</button> 11907 <!-- <a style="display:none" onclick="fireEventsToHeap('clicked_Hero_banner_video')" href="" class="scroll-to-campaign_popup_iQfG4y"></a>--> 11908 </div> 11909 </div> 11910 11911 </div> 11912 </div> 11913 11914 11915
11916<script> 11917<!-----------------------------------------------------------------------------------------------------------------> 11918 11919 function showPromoMSGcampaign_popup_iQfG4y() { 11920 const urlParams = getUrlParams(window.location.href); 11921 const showDuringSession = sessionStorage.getItem('show-promo-msg-pop_up-monoi') 11922 11923 if(urlParams.pop_up != undefined || showDuringSession === "true" ) { 11924 if(urlParams.pop_up === 'monoi' || showDuringSession === "true" ) { 11925 document.getElementById('promotion-inline-msg-campaign_popup_iQfG4y').style.display = "block"; 11926 showEmailInPopup_campaign_popup_iQfG4y() 11927 sessionStorage.setItem('show-promo-msg-pop_up-monoi', 'true'); 11928 11929 if(urlParams.open_popup === "true"){ 11930 clickedBadgecampaign_popup_iQfG4y(); 11931 } 11932 11933 if(urlParams.show_btn === "false") { 11934 document.querySelector('.x-image.campaign_popup_iQfG4y').style.display = "none" 11935 } 11936 11937 11938 11939 11940 } 11941 } 11942 } 11943 11944 11945 11946 11947 11948<!-----------------------------------------------------------------------------------------------------------------> 11949 11950 11951 function showEmailInPopup_campaign_popup_iQfG4y() { 11952 const urlParams = getUrlParams(window.location.href); 11953 const showDuringSession = sessionStorage.getItem('is_email-monoi'); 11954 if(urlParams.is_email === "true" || showDuringSession === "true" ){ 11955 document.getElementById('with-email-campaign_popup_iQfG4y').style.display = "block"; 11956 document.getElementById('without-email-campaign_popup_iQfG4y').style.display = "none"; 11957 localStorage.setItem("viewedPopup", "true"); 11958 sessionStorage.setItem('is_email-monoi', 'true'); 11959 11960 } 11961 11962 11963 else { 11964 document.getElementById('with-email-campaign_popup_iQfG4y').style.display = "none"; 11965 document.getElementById('without-email-campaign_popup_iQfG4y').style.display = "block"; 11966 } 11967 } 11968 11969<!-----------------------------------------------------------------------------------------------------------------> 11970 11971 function showSMSpopup_after_applying_discount_campaign_popup_iQfG4y() { 11972 if (typeof window.showSMSpopup_ === 'function') { 11973 showSMSpopup_(); 11974 localStorage.setItem('viewedPopup-klaviyo-form-SgXDwS','true') // prevent from default popup to jump 11975 } 11976 else { 11977 setTimeout(showSMSpopup_after_applying_discount_campaign_popup_iQfG4y, 300); 11978 } 11979 } 11980<!-----------------------------------------------------------------------------------------------------------------> 11981 11982 function validateEmail(email) { 11983 const regex = /^[^\s@]+@[^\s@]+\.[^\s@]+$/; 11984 return regex.test(email); 11985 } 11986 11987 <!-----------------------------------------------------------------------------------------------------------------> 11988 11989 function kEventcampaign_popup_iQfG4y(email) { 11990 _learnq.push(["track", "", { 11991 "Recipients": [email], 11992 "page":window.location.pathname 11993 }]); 11994 console.log('Tbyb event sent') 11995 } 11996 11997 11998<!-----------------------------------------------------------------------------------------------------------------> 11999 12000 document.getElementById('submit-email-campaign_popup_iQfG4y').addEventListener('click', function() { 12001 const user_email = document.getElementsByClassName('user-email-campaign_popup_iQfG4y')[0].value 12002 const is_email = validateEmail(user_email); 12003 const coupon = 'monoisale' 12004 12005 if (user_email === "") { 12006 document.getElementsByClassName('error-msg-campaign_popup_iQfG4y')[0].style.display = "block"; 12007 document.getElementsByClassName('error-msg-campaign_popup_iQfG4y')[0].innerText = "Please add your email "; 12008 document.getElementsByClassName('user-email-campaign_popup_iQfG4y')[0].style.border = "1px solid red"; 12009 setTimeout(function() { 12010 document.getElementsByClassName('error-msg-campaign_popup_iQfG4y')[0].style.display = "none"; 12011 document.getElementsByClassName('user-email-campaign_popup_iQfG4y')[0].style.border = "1px solid #A1A1A1" 12012 12013 },3000 ) 12014 } 12015 12016 else if(!is_email) { 12017 document.getElementsByClassName('error-msg-campaign_popup_iQfG4y')[0].style.display = "block"; 12018 document.getElementsByClassName('error-msg-campaign_popup_iQfG4y')[0].innerText = "Please add a valid email "; 12019 document.getElementsByClassName('user-email-campaign_popup_iQfG4y')[0].style.border = "1px solid red" 12020 setTimeout(function() { 12021 document.getElementsByClassName('error-msg-campaign_popup_iQfG4y')[0].style.display = "none"; 12022 document.getElementsByClassName('user-email-campaign_popup_iQfG4y')[0].style.border = "1px solid #A1A1A1" 12023 12024 },3000 ) 12025 } 12026 12027 else { 12028 document.getElementById('submit-email-campaign_popup_iQfG4y').innerText = "Unlocking..."; 12029 sessionStorage.getItem('show-promo-msg-pop_up-monoi') 12030 sendToHeap(''); 12031 _learnq.push(['identify', { 12032 '$email' : user_email 12033 12034 }]) 12035 if(coupon === ""){ 12036 setTimeout(function(){ 12037 kEventcampaign_popup_iQfG4y(user_email) ; 12038 document.getElementsByClassName('close-after-subsmition')[0].style.display = "none"; 12039 document.getElementsByClassName('close-after-subsmition')[1].style.display = "none"; 12040 document.getElementsByClassName('scroll-to')[0].style.display = "flex"; 12041 },1000) 12042 } 12043 12044 else { 12045 setTimeout(function(){ 12046 kEventcampaign_popup_iQfG4y(user_email) ; 12047 },1000) 12048 setTimeout(function(){ 12049 window.location.replace("https://yvesrocherusa.com/discount/"+coupon+"?redirect="+window.location.pathname+"&pop_up=monoi&emailSubmitted=true"); 12050 12051 },1000) 12052 } 12053 12054 } 12055 }); 12056 12057 <!-----------------------------------------------------------------------------------------------------------------> 12058 12059 12060 function PromoPopupcampaign_popup_iQfG4y() { 12061 document.getElementById('popup-layout-campaign_popup_iQfG4y').style.display = "none"; 12062 // localStorage.removeItem("viewedPopup"); 12063 } 12064 12065<!-----------------------------------------------------------------------------------------------------------------> 12066 12067 function popupAddtocartcampaign_popup_iQfG4y(element) { 12068 var product_name = document.title 12069 document.getElementsByClassName('wd-buy_btn')[0].click() 12070 element.innerText = "Adding..." 12071 setTimeout(function() { 12072 document.getElementById('popup-layout-campaign_popup_iQfG4y').style.display = "none"; 12073 element.innerText = "Add to cart" 12074 }, 1500) 12075 12076 } 12077 12078 12079<!-----------------------------------------------------------------------------------------------------------------> 12080 12081 function clickedBadgecampaign_popup_iQfG4y() { 12082 document.getElementById('popup-layout-campaign_popup_iQfG4y').style.display = "block"; 12083 } 12084 12085<!-----------------------------------------------------------------------------------------------------------------> 12086 12087 function getUrlParams(url) { 12088 const params = {}; 12089 const urlObj = new URL(url); 12090 12091 for (const [key, value] of urlObj.searchParams) { 12092 // Add each parameter as a key-value pair to the params object 12093 params[key] = value; 12094 } 12095 12096 return params; 12097 } 12098<!--------------------------------------------------------------------------------------------------------------------------------------> 12099 12100 /* ------------------------------------------------------- 12101 MULTI-COLLECTION PROMOTION RULES 12102 12103 Each rule has: 12104 - collection 12105 - promotion discount (decimal: 0.5 = 50%) 12106 - optional subscription discount override (decimal) 12107 12108 If a product belongs to multiple configured collections, 12109 the rule with the HIGHEST promotion discount wins. 12110 12111 If no new multi-collection rule is configured, the old 12112 eligible_collection + code_discount_value settings are 12113 used as a backwards-compatible fallback. 12114 12115 Product cards still require: 12116 data-collections="collection-handle-1,collection-handle-2" 12117 ------------------------------------------------------- */ 12118 12119 var promoRules_campaign_popup_iQfG4y = [ 12120 { 12121 handle: "monoi-collection-65-off", 12122 discount: Number("0.5") || 0, 12123 subscriptionOverride: ("" === null || "" === "") 12124 ? null 12125 : (Number("") || 0) 12126 }, 12127 { 12128 handle: "monoi-8-products", 12129 discount: Number("0.65") || 0, 12130 subscriptionOverride: ("" === null || "" === "") 12131 ? null 12132 : (Number("") || 0) 12133 }, 12134 { 12135 handle: null, 12136 discount: Number(0) || 0, 12137 subscriptionOverride: ("" === null || "" === "") 12138 ? null 12139 : (Number("") || 0) 12140 }, 12141 { 12142 handle: null, 12143 discount: Number(0) || 0, 12144 subscriptionOverride: ("" === null || "" === "") 12145 ? null 12146 : (Number("") || 0) 12147 }, 12148 { 12149 handle: null, 12150 discount: Number(0) || 0, 12151 subscriptionOverride: ("" === null || "" === "") 12152 ? null 12153 : (Number("") || 0) 12154 } 12155 ].filter(function(rule) { 12156 return rule.handle && rule.discount > 0; 12157 }); 12158 12159 // Backwards-compatible fallback for existing campaign blocks. 12160 if (promoRules_campaign_popup_iQfG4y.length === 0) { 12161 var legacyCollection_campaign_popup_iQfG4y = null; 12162 var legacyDiscount_campaign_popup_iQfG4y = Number(0) || 0; 12163 12164 if (legacyCollection_campaign_popup_iQfG4y && legacyDiscount_campaign_popup_iQfG4y > 0) { 12165 promoRules_campaign_popup_iQfG4y.push({ 12166 handle: legacyCollection_campaign_popup_iQfG4y, 12167 discount: legacyDiscount_campaign_popup_iQfG4y, 12168 subscriptionOverride: null 12169 }); 12170 } 12171 } 12172 12173 function getWinningPromoRule_campaign_popup_iQfG4y(collectionHandles) { 12174 // Preserve old site-wide behavior when no collection rule exists. 12175 if (promoRules_campaign_popup_iQfG4y.length === 0) { 12176 return { 12177 handle: null, 12178 discount: Number(0) || 0, 12179 multiplier: 1 - (Number(0) || 0), 12180 subscriptionOverride: null 12181 }; 12182 } 12183 12184 var handles = Array.isArray(collectionHandles) ? collectionHandles : []; 12185 var winner = null; 12186
12187 promoRules_campaign_popup_iQfG4y.forEach(function(rule) { 12188 if (!handles.includes(rule.handle)) return; 12189 12190 if ( 12191 !winner || 12192 rule.discount > winner.discount || 12193 ( 12194 rule.discount === winner.discount && 12195 rule.subscriptionOverride !== null && 12196 (winner.subscriptionOverride === null || rule.subscriptionOverride > winner.subscriptionOverride) 12197 ) 12198 ) { 12199 winner = rule; 12200 } 12201 }); 12202 12203 if (!winner) return null; 12204 12205 return { 12206 handle: winner.handle, 12207 discount: winner.discount, 12208 multiplier: 1 - winner.discount, 12209 subscriptionOverride: winner.subscriptionOverride 12210 }; 12211 } 12212 12213 function getPromoRuleForCard_campaign_popup_iQfG4y(productCard) { 12214 if (!productCard) return null; 12215 12216 var collectionsAttribute = productCard.getAttribute('data-collections') || ''; 12217 var productCollections = collectionsAttribute 12218 .split(',') 12219 .map(function(collection) { return collection.trim(); }) 12220 .filter(Boolean); 12221 12222 return getWinningPromoRule_campaign_popup_iQfG4y(productCollections); 12223 } 12224 12225 function isPromoEligible_campaign_popup_iQfG4y(productCard) { 12226 return getPromoRuleForCard_campaign_popup_iQfG4y(productCard) !== null; 12227 } 12228 12229 // MAIN PDP collection handles. 12230 var collections_for_promo_campaign_popup_iQfG4y = [ 12231 12232 ]; 12233 12234 function getCurrentProductPromoRule_campaign_popup_iQfG4y() { 12235 return getWinningPromoRule_campaign_popup_iQfG4y(collections_for_promo_campaign_popup_iQfG4y); 12236 } 12237 12238 function isCurrentProductPromoEligible_campaign_popup_iQfG4y() { 12239 return getCurrentProductPromoRule_campaign_popup_iQfG4y() !== null; 12240 } 12241 12242 function formatPromoMoney_campaign_popup_iQfG4y(amount) { 12243 var value = Number(amount); 12244 if (!Number.isFinite(value)) value = 0; 12245 return '$' + (Math.round(value * 100) / 100).toFixed(2).replace(/\.00$/, ''); 12246 } 12247 12248 12249 12250 function applyDiscountCodeAjax(discountCode) { 12251 const discountUrl = `/discount/${discountCode}`; 12252 fetch(discountUrl, { 12253 method: 'GET', 12254 headers: { 12255 'Content-Type': 'application/json' 12256 } 12257 }).then(response => { 12258 if (response.ok) { 12259 console.log('applyied discount.'); 12260 document.documentElement.dispatchEvent(new CustomEvent('cart:refresh', { bubbles: true})); 12261 document.documentElement.dispatchEvent(new CustomEvent("theme:loading:end", { bubbles: true })); 12262 sessionStorage.setItem('discount-'+ discountCode, discountCode); 12263 12264 } else { 12265 console.error('Failed to apply discount.'); 12266 } 12267 }).catch(error => { 12268 console.error('Error applying discount:', error); 12269 }); 12270 } 12271 12272 <!---------------------------------------- code for price manipulation + coupon appliyment in regular pages --------------------------------------> 12273 12274 12275 12276 <!----------------------------------------code for price manipulation + coupon apliyment in HOMEPAGE ----------------------------------------------> 12277 12278 12279 <!----------------------------------------code for price manipulation on collection page ----------------------------------------------> 12280 12281 12282 12283 12284 <!----------------------------------------code for price manipulation on products page ----------------------------------------------> 12285 12286 12287 12288 12289 document.addEventListener('DOMContentLoaded',showPromoMSGcampaign_popup_iQfG4y()); 12290 12291<!---------------------------------------> 12292 12293</script>
12293 12294 12295 12296<style> 12297 #promotion-inline-msg-campaign_popup_iQfG4y { 12298 background: linear-gradient(90deg, #CB0050 0%, #C555A7 100%); 12299 color: #fff; 12300 font-size: 13px; 12301 padding: 10px; 12302 text-align: center; 12303 text-transform: uppercase; 12304 font-weight: 600; 12305 display:none; 12306 } 12307 12308 input.user-email-campaign_popup_iQfG4y { 12309 height: 52px; 12310 border-radius: 5px; 12311 border: #A1A1A1 1px solid; 12312 background: #fff; 12313 padding: 10px; 12314 font-family: Montserrat; 12315 font-size: 14px; 12316 width: 100%; 12317 } 12318 12319 12320 .error-msg-campaign_popup_iQfG4y { 12321 display: none; 12322 position: absolute; 12323 color: red !important; 12324 bottom: -47px; 12325 left: 0px; 12326 background: #fff; 12327 padding: 3px 9px; 12328 margin: 0; 12329 border-radius: 5px; 12330 border-left: 1px solid red; 12331 border-right: 1px solid red; 12332 border-bottom: 1px solid red; 12333 font-size: 14px !important; 12334 } 12335 12336 #submit-email-campaign_popup_iQfG4y { 12337 background: #000; 12338 display: block; 12339 padding: 15px 10px; 12340 color: #fff; 12341 text-align: center; 12342 border-radius: 28px; 12343 font-family: 'Montserrat'; 12344 font-weight: 500; 12345 margin: 15px 0px 25px; 12346 cursor: pointer; 12347 width: 100%; 12348 } 12349 12350 @media only screen and (max-width: 800px) { 12351 #promotion-inline-msg-campaign_popup_iQfG4y { 12352 12353 } 12354 } 12355 </style> 12356 12357 12358 12359 12360 12361 12362 12363 12364 12365 12366 12367 <div id="promotion-inline-msg-campaign_popup_Mi
12367p3eV" class="promotion-inline-msg"> 12368 12369 <div class="not-try-badge top-page"><p class="limited-time-p"><span class="discount_value"></span> 50% off on your first order! Use code:Â sale50. </p><style> 12370 :root{ 12371 --card-bg:#fff; 12372 --card-radius:14px; 12373 --shadow:0 6px 20px rgba(0,0,0,.08); 12374 --text:#111; 12375 --muted:#8f8f8f; 12376 } 12377 .offer-countdown{ 12378 display:grid; 12379 place-items:center; 12380 gap:16px; 12381 text-align:center; 12382 font-family: 'Montserrat' !important; 12383 color:var(--text); 12384 } 12385 .offer-countdown .heading span{ 12386 font-size:18px; 12387 font-weight:600; 12388 display:block 12389 } 12390 12391 .offer-countdown .heading { 12392 font-size: 24px; 12393 font-weight: 600; 12394 text-transform: none; 12395 letter-spacing: normal; 12396 12397 } 12398 12399 .time-row{ 12400 display:flex; 12401 align-items:center; 12402 gap:16px; 12403 } 12404 12405 .time-block{ 12406 background:var(--card-bg); 12407 border-radius:var(--card-radius); 12408 box-shadow:var(--shadow); 12409 padding:12px 16px; 12410 min-width:86px; 12411 display:grid; 12412 gap:6px; 12413 } 12414 12415 .time-value{ 12416 font-weight:800; 12417 font-size:32px; 12418 line-height:1; 12419 letter-spacing: -0.025em; 12420 font-variant-numeric: tabular-nums; 12421 } 12422 12423 .time-label{ 12424 font-size:10px; 12425 text-transform:uppercase; 12426 color:var(--muted); 12427 letter-spacing: -0.025em; 12428 } 12429 12430 /* the small grey dot separators */ 12431 .dot{ 12432 width:6px; height:6px; border-radius:999px; 12433 background:#d9d9d9; 12434 } 12435 12436 /* responsive tweaks */ 12437 @media (max-width:480px){ 12438 .time-block{ min-width:74px; padding:10px 12px; } 12439 .time-value{ font-size:28px; } 12440 } 12441 12442 .offer-countdown .hero-primary-btn { 12443 width:300px 12444 } 12445</style> 12446 12447 12448 12449<section class="offer-countdown" id="trial-timer"> 12450 <div class="heading">Claim Your Trial Now 12451<span>Trials Ends in:</span></div> 12452 <div class="time-row" role="timer" aria-live="polite" aria-atomic="true"> 12453 <div class="time-block">
12454 <div class="time-value" id="cd-hours-campaign_popup_Mip3eV">00</div> 12455 <div class="time-label">Hours</div> 12456 </div> 12457 <div class="dot" aria-hidden="true"></div> 12458 <div class="time-block"> 12459 <div class="time-value" id="cd-minutes-campaign_popup_Mip3eV">15</div> 12460 <div class="time-label">Minutes</div> 12461 </div> 12462 <div class="dot" aria-hidden="true"></div> 12463 <div class="time-block"> 12464 <div class="time-value" id="cd-seconds-campaign_popup_Mip3eV">00</div> 12465 <div class="time-label">Seconds</div> 12466 </div> 12467 </div> 12468 <div onclick="add_bundle_with_tbyb(main_product , this , false )" class="hero-primary-btn"> 12469 Try Before You Buy | $0 12470 </div> 12471</section> 12472
12473<script> 12474 function runCountDown_campaign_popup_Mip3eV() { 12475 // ===== Config ===== 12476 const DURATION_SECONDS = 15 * 60; // 15 minutes from page load 12477 12478 // ===== Elements ===== 12479 const elH = document.getElementById('cd-hours-campaign_popup_Mip3eV'); 12480 const elM = document.getElementById('cd-minutes-campaign_popup_Mip3eV'); 12481 const elS = document.getElementById('cd-seconds-campaign_popup_Mip3eV'); 12482 12483 // ===== Timer logic (stable & accurate) ===== 12484 const start = Date.now(); 12485 const end = start + DURATION_SECONDS * 1000; 12486 12487 function pad(n){ return n.toString().padStart(2,'0'); } 12488 12489 function render(msLeft){ 12490 const total = Math.max(0, Math.ceil(msLeft/1000)); 12491 const h = Math.floor(total / 3600); 12492 const m = Math.floor((total % 3600) / 60); 12493 const s = total % 60; 12494 elH.textContent = pad(h); 12495 elM.textContent = pad(m); 12496 elS.textContent = pad(s); 12497 } 12498 12499 // first paint shows 15:00 12500 render(end - Date.now()); 12501 12502 const tick = setInterval(() => { 12503 const msLeft = end - Date.now(); 12504 render(msLeft); 12505 12506 if (msLeft <= 0){ 12507 clearInterval(tick); 12508 // Optional: add a class or callback here when finished 12509 // document.getElementById('trial-timer').classList.add('finished'); 12510 } 12511 }, 1000); 12512 12513} 12514
12515runCountDown_campaign_popup_Mip3eV(); 12516</script>
12516</div> 12517 12518 </div> 12519 12520 <div id="popup-layout-campaign_popup_Mip3eV" style="display:none" class="promotion-popup_layout"> 12521 12522 <div class="promotion-popup_background"> 12523 <div class="close-promotion-popup"> <span onclick="PromoPopupcampaign_popup_Mip3eV()" class="x-image campaign_popup_Mip3eV"></span></div> 12524 12525 12526 <div id="without-email-campaign_popup_Mip3eV" class="promotion-scroll-area"> 12527 12528 <h1> You got 50% off!</h1> 12529 <p>We've applied 50% off discount on your first order. Use code:Â sale50.</p> 12530 12531 12532 12533 <span class="popup-product-link second" onclick="PromoPopupcampaign_popup_Mi
12533p3eV()">Awesome! Let me shop</span> 12534 12535 12536 </div> 12537 12538 12539 <div id="with-email-campaign_popup_Mip3eV" class="promotion-scroll-area"> 12540 12541 <!--<h1> </h1>--> 12542 <p></p> 12543 <div class="email-wraper"> 12544 <div class="close-after-subsmition-campaign_popup_Mip3eV" style="position:relative"> 12545 <label for="user-email-campaign_popup_Mip3eV" style="display:none" >Email</label> 12546 <input placeholder="" class="user-email-campaign_popup_Mip3eV" id="user-email-campaign_popup_Mip3eV"> 12547 <p class="error-msg-campaign_popup_Mip3eV"></p> 12548 </div> 12549 <button class="close-after-subsmition" id="submit-email-campaign_popup_Mi
12549p3eV">Submit</button> 12550 <!-- <a style="display:none" onclick="fireEventsToHeap('clicked_Hero_banner_video')" href="" class="scroll-to-campaign_popup_Mip3eV"></a>--> 12551 </div> 12552 </div> 12553 12554 </div> 12555 </div> 12556 12557 12558
12559<script> 12560<!-----------------------------------------------------------------------------------------------------------------> 12561 12562 function showPromoMSGcampaign_popup_Mip3eV() { 12563 const urlParams = getUrlParams(window.location.href); 12564 const showDuringSession = sessionStorage.getItem('show-promo-msg-pop_up-sale') 12565 12566 if(urlParams.pop_up != undefined || showDuringSession === "true" ) { 12567 if(urlParams.pop_up === 'sale' || showDuringSession === "true" ) { 12568 document.getElementById('promotion-inline-msg-campaign_popup_Mip3eV').style.display = "block"; 12569 showEmailInPopup_campaign_popup_Mip3eV() 12570 sessionStorage.setItem('show-promo-msg-pop_up-sale', 'true'); 12571 12572 if(urlParams.open_popup === "true"){ 12573 clickedBadgecampaign_popup_Mi
12573p3eV(); 12574 } 12575 12576 if(urlParams.show_btn === "false") { 12577 document.querySelector('.x-image.campaign_popup_Mip3eV').style.display = "none" 12578 } 12579 12580 12581 12582 12583 } 12584 } 12585 } 12586 12587 12588 12589 12590 12591<!-----------------------------------------------------------------------------------------------------------------> 12592 12593 12594 function showEmailInPopup_campaign_popup_Mip3eV() { 12595 const urlParams = getUrlParams(window.location.href); 12596 const showDuringSession = sessionStorage.getItem('is_email-sale'); 12597 if(urlParams.is_email === "true" || showDuringSession === "true" ){ 12598 document.getElementById('with-email-campaign_popup_Mi
12598p3eV').style.display = "block"; 12599 document.getElementById('without-email-campaign_popup_Mip3eV').style.display = "none"; 12600 localStorage.setItem("viewedPopup", "true"); 12601 sessionStorage.setItem('is_email-sale', 'true'); 12602 12603 } 12604 12605 12606 else { 12607 document.getElementById('with-email-campaign_popup_Mip3eV').style.display = "none"; 12608 document.getElementById('without-email-campaign_popup_Mip3eV').style.display = "block"; 12609 } 12610 } 12611 12612<!-----------------------------------------------------------------------------------------------------------------> 12613 12614 function showSMSpopup_after_applying_discount_campaign_popup_Mip3eV() { 12615 if (typeof window.showSMSpopup_ === 'function') { 12616 showSMSpopup_(); 12617 localStorage.setItem('viewedPopup-klaviyo-form-SgXDwS','true') // prevent from default popup to jump 12618 } 12619 else { 12620 setTimeout(showSMSpopup_after_applying_discount_campaign_popup_Mi
12620p3eV, 300); 12621 } 12622 } 12623<!-----------------------------------------------------------------------------------------------------------------> 12624 12625 function validateEmail(email) { 12626 const regex = /^[^\s@]+@[^\s@]+\.[^\s@]+$/; 12627 return regex.test(email); 12628 } 12629 12630 <!-----------------------------------------------------------------------------------------------------------------> 12631 12632 function kEventcampaign_popup_Mip3eV(email) { 12633 _learnq.push(["track", "", { 12634 "Recipients": [email], 12635 "page":window.location.pathname 12636 }]); 12637 console.log('Tbyb event sent') 12638 } 12639 12640 12641<!-----------------------------------------------------------------------------------------------------------------> 12642 12643 document.getElementById('submit-email-campaign_popup_Mi
12643p3eV').addEventListener('click', function() { 12644 const user_email = document.getElementsByClassName('user-email-campaign_popup_Mip3eV')[0].value 12645 const is_email = validateEmail(user_email); 12646 const coupon = 'sale50' 12647 12648 if (user_email === "") { 12649 document.getElementsByClassName('error-msg-campaign_popup_Mip3eV')[0].style.display = "block"; 12650 document.getElementsByClassName('error-msg-campaign_popup_Mip3eV')[0].innerText = "Please add your email "; 12651 document.getElementsByClassName('user-email-campaign_popup_Mip3eV')[0].style.border = "1px solid red"; 12652 setTimeout(function() { 12653 document.getElementsByClassName('error-msg-campaign_popup_Mip3eV')[0].style.display = "none"; 12654 document.getElementsByClassName('user-email-campaign_popup_Mi
12654p3eV')[0].style.border = "1px solid #A1A1A1" 12655 12656 },3000 ) 12657 } 12658 12659 else if(!is_email) { 12660 document.getElementsByClassName('error-msg-campaign_popup_Mip3eV')[0].style.display = "block"; 12661 document.getElementsByClassName('error-msg-campaign_popup_Mip3eV')[0].innerText = "Please add a valid email "; 12662 document.getElementsByClassName('user-email-campaign_popup_Mip3eV')[0].style.border = "1px solid red" 12663 setTimeout(function() { 12664 document.getElementsByClassName('error-msg-campaign_popup_Mip3eV')[0].style.display = "none"; 12665 document.getElementsByClassName('user-email-campaign_popup_Mip3eV')[0].style.border = "1px solid #A1A1A1" 12666 12667 },3000 ) 12668 } 12669 12670 else { 12671 document.getElementById('submit-email-campaign_popup_Mi
12671p3eV').innerText = "Unlocking..."; 12672 sessionStorage.getItem('show-promo-msg-pop_up-sale') 12673 sendToHeap(''); 12674 _learnq.push(['identify', { 12675 '$email' : user_email 12676 12677 }]) 12678 if(coupon === ""){ 12679 setTimeout(function(){ 12680 kEventcampaign_popup_Mip3eV(user_email) ; 12681 document.getElementsByClassName('close-after-subsmition')[0].style.display = "none"; 12682 document.getElementsByClassName('close-after-subsmition')[1].style.display = "none"; 12683 document.getElementsByClassName('scroll-to')[0].style.display = "flex"; 12684 },1000) 12685 } 12686 12687 else { 12688 setTimeout(function(){ 12689 kEventcampaign_popup_Mi
12689p3eV(user_email) ; 12690 },1000) 12691 setTimeout(function(){ 12692 window.location.replace("https://yvesrocherusa.com/discount/"+coupon+"?redirect="+window.location.pathname+"&pop_up=sale&emailSubmitted=true"); 12693 12694 },1000) 12695 } 12696 12697 } 12698 }); 12699 12700 <!-----------------------------------------------------------------------------------------------------------------> 12701 12702 12703 function PromoPopupcampaign_popup_Mip3eV() { 12704 document.getElementById('popup-layout-campaign_popup_Mip3eV').style.display = "none"; 12705 // localStorage.removeItem("viewedPopup"); 12706 } 12707 12708<!-----------------------------------------------------------------------------------------------------------------> 12709 12710 function popupAddtocartcampaign_popup_Mi
12710p3eV(element) { 12711 var product_name = document.title 12712 document.getElementsByClassName('wd-buy_btn')[0].click() 12713 element.innerText = "Adding..." 12714 setTimeout(function() { 12715 document.getElementById('popup-layout-campaign_popup_Mip3eV').style.display = "none"; 12716 element.innerText = "Add to cart" 12717 }, 1500) 12718 12719 } 12720 12721 12722<!-----------------------------------------------------------------------------------------------------------------> 12723 12724 function clickedBadgecampaign_popup_Mip3eV() { 12725 document.getElementById('popup-layout-campaign_popup_Mip3eV').style.display = "block"; 12726 } 12727 12728<!-----------------------------------------------------------------------------------------------------------------> 12729 12730 function getUrlParams(url) { 12731 const params = {}; 12732 const urlObj = new URL(url); 12733 12734 for (const [key, value] of urlObj.searchParams) { 12735 // Add each parameter as a key-value pair to the params object 12736 params[key] = value; 12737 } 12738 12739 return params; 12740 } 12741<!--------------------------------------------------------------------------------------------------------------------------------------> 12742 12743 /* ------------------------------------------------------- 12744 MULTI-COLLECTION PROMOTION RULES 12745 12746 Each rule has: 12747 - collection 12748 - promotion discount (decimal: 0.5 = 50%) 12749 - optional subscription discount override (decimal) 12750 12751 If a product belongs to multiple configured collections, 12752 the rule with the HIGHEST promotion discount wins. 12753 12754 If no new multi-collection rule is configured, the old 12755 eligible_collection + code_discount_value settings are 12756 used as a backwards-compatible fallback. 12757 12758 Product cards still require: 12759 data-collections="collection-handle-1,collection-handle-2" 12760 ------------------------------------------------------- */ 12761
12762 var promoRules_campaign_popup_Mip3eV = [ 12763 { 12764 handle: null, 12765 discount: Number(0) || 0, 12766 subscriptionOverride: ("" === null || "" === "") 12767 ? null 12768 : (Number("") || 0) 12769 }, 12770 { 12771 handle: null, 12772 discount: Number(0) || 0, 12773 subscriptionOverride: ("" === null || "" === "") 12774 ? null 12775 : (Number("") || 0) 12776 }, 12777 { 12778 handle: null, 12779 discount: Number(0) || 0, 12780 subscriptionOverride: ("" === null || "" === "") 12781 ? null 12782 : (Number("") || 0) 12783 }, 12784 { 12785 handle: null, 12786 discount: Number(0) || 0, 12787 subscriptionOverride: ("" === null || "" === "") 12788 ? null 12789 : (Number("") || 0) 12790 }, 12791 { 12792 handle: null, 12793 discount: Number(0) || 0, 12794 subscriptionOverride: ("" === null || "" === "") 12795 ? null 12796 : (Number("") || 0) 12797 } 12798 ].filter(function(rule) { 12799 return rule.handle && rule.discount > 0; 12800 }); 12801 12802 // Backwards-compatible fallback for existing campaign blocks.
12803 if (promoRules_campaign_popup_Mip3eV.length === 0) { 12804 var legacyCollection_campaign_popup_Mip3eV = "sale-monoi-sale"; 12805 var legacyDiscount_campaign_popup_Mip3eV = Number("0.5") || 0; 12806 12807 if (legacyCollection_campaign_popup_Mip3eV && legacyDiscount_campaign_popup_Mip3eV > 0) { 12808 promoRules_campaign_popup_Mip3eV.push({ 12809 handle: legacyCollection_campaign_popup_Mip3eV, 12810 discount: legacyDiscount_campaign_popup_Mip3eV, 12811 subscriptionOverride: null 12812 }); 12813 } 12814 } 12815 12816 function getWinningPromoRule_campaign_popup_Mip3eV(collectionHandles) { 12817 // Preserve old site-wide behavior when no collection rule exists. 12818 if (promoRules_campaign_popup_Mip3eV.length === 0) { 12819 return { 12820 handle: null, 12821 discount: Number("0.5") || 0, 12822 multiplier: 1 - (Number("0.5") || 0), 12823 subscriptionOverride: null 12824 }; 12825 } 12826 12827 var handles = Array.isArray(collectionHandles) ? collectionHandles : []; 12828 var winner = null; 12829 12830 promoRules_campaign_popup_Mip3eV.forEach(function(rule) { 12831 if (!handles.includes(rule.handle)) return; 12832 12833 if ( 12834 !winner || 12835 rule.discount > winner.discount || 12836 ( 12837 rule.discount === winner.discount && 12838 rule.subscriptionOverride !== null && 12839 (winner.subscriptionOverride === null || rule.subscriptionOverride > winner.subscriptionOverride) 12840 ) 12841 ) { 12842 winner = rule; 12843 } 12844 }); 12845 12846 if (!winner) return null; 12847 12848 return { 12849 handle: winner.handle, 12850 discount: winner.discount, 12851 multiplier: 1 - winner.discount, 12852 subscriptionOverride: winner.subscriptionOverride 12853 }; 12854 } 12855
12856 function getPromoRuleForCard_campaign_popup_Mip3eV(productCard) { 12857 if (!productCard) return null; 12858 12859 var collectionsAttribute = productCard.getAttribute('data-collections') || ''; 12860 var productCollections = collectionsAttribute 12861 .split(',') 12862 .map(function(collection) { return collection.trim(); }) 12863 .filter(Boolean); 12864 12865 return getWinningPromoRule_campaign_popup_Mip3eV(productCollections); 12866 } 12867 12868 function isPromoEligible_campaign_popup_Mip3eV(productCard) { 12869 return getPromoRuleForCard_campaign_popup_Mip3eV(productCard) !== null; 12870 } 12871 12872 // MAIN PDP collection handles. 12873 var collections_for_promo_campaign_popup_Mip3eV = [ 12874 12875 ]; 12876 12877 function getCurrentProductPromoRule_campaign_popup_Mip3eV() { 12878 return getWinningPromoRule_campaign_popup_Mip3eV(collections_for_promo_campaign_popup_Mip3eV); 12879 } 12880 12881 function isCurrentProductPromoEligible_campaign_popup_Mip3eV() { 12882 return getCurrentProductPromoRule_campaign_popup_Mip3eV() !== null; 12883 } 12884 12885 function formatPromoMoney_campaign_popup_Mi
12885p3eV(amount) { 12886 var value = Number(amount); 12887 if (!Number.isFinite(value)) value = 0; 12888 return '$' + (Math.round(value * 100) / 100).toFixed(2).replace(/\.00$/, ''); 12889 } 12890 12891 12892 12893 function applyDiscountCodeAjax(discountCode) { 12894 const discountUrl = `/discount/${discountCode}`; 12895 fetch(discountUrl, { 12896 method: 'GET', 12897 headers: { 12898 'Content-Type': 'application/json' 12899 } 12900 }).then(response => { 12901 if (response.ok) { 12902 console.log('applyied discount.'); 12903 document.documentElement.dispatchEvent(new CustomEvent('cart:refresh', { bubbles: true})); 12904 document.documentElement.dispatchEvent(new CustomEvent("theme:loading:end", { bubbles: true })); 12905 sessionStorage.setItem('discount-'+ discountCode, discountCode); 12906 12907 } else { 12908 console.error('Failed to apply discount.'); 12909 } 12910 }).catch(error => { 12911 console.error('Error applying discount:', error); 12912 }); 12913 } 12914 12915 <!---------------------------------------- code for price manipulation + coupon appliyment in regular pages --------------------------------------> 12916 12917 12918 12919 <!----------------------------------------code for price manipulation + coupon apliyment in HOMEPAGE ----------------------------------------------> 12920 12921 12922 <!----------------------------------------code for price manipulation on collection page ----------------------------------------------> 12923 12924 12925 12926 12927 <!----------------------------------------code for price manipulation on products page ----------------------------------------------> 12928 12929 12930 12931 12932 document.addEventListener('DOMContentLoaded',showPromoMSGcampaign_popup_Mi
12932p3eV()); 12933 12934<!---------------------------------------> 12935 12936</script>
12936 12937 12938 12939<style> 12940 #promotion-inline-msg-campaign_popup_Mip3eV { 12941 background: linear-gradient(90deg, #CB0050 0%, #C555A7 100%); 12942 color: #fff; 12943 font-size: 13px; 12944 padding: 10px; 12945 text-align: center; 12946 text-transform: uppercase; 12947 font-weight: 600; 12948 display:none; 12949 } 12950 12951 input.user-email-campaign_popup_Mip3eV { 12952 height: 52px; 12953 border-radius: 5px; 12954 border: #A1A1A1 1px solid; 12955 background: #fff; 12956 padding: 10px; 12957 font-family: Montserrat; 12958 font-size: 14px; 12959 width: 100%; 12960 } 12961 12962 12963 .error-msg-campaign_popup_Mip3eV { 12964 display: none; 12965 position: absolute; 12966 color: red !important; 12967 bottom: -47px; 12968 left: 0px; 12969 background: #fff; 12970 padding: 3px 9px; 12971 margin: 0; 12972 border-radius: 5px; 12973 border-left: 1px solid red; 12974 border-right: 1px solid red; 12975 border-bottom: 1px solid red; 12976 font-size: 14px !important; 12977 } 12978
12979 #submit-email-campaign_popup_Mip3eV { 12980 background: #000; 12981 display: block; 12982 padding: 15px 10px; 12983 color: #fff; 12984 text-align: center; 12985 border-radius: 28px; 12986 font-family: 'Montserrat'; 12987 font-weight: 500; 12988 margin: 15px 0px 25px; 12989 cursor: pointer; 12990 width: 100%; 12991 } 12992 12993 @media only screen and (max-width: 800px) { 12994 #promotion-inline-msg-campaign_popup_Mip3eV { 12995 12996 } 12997 } 12998 </style> 12999 13000 13001 13002 13003 13004 13005 13006 13007 13008 13009 13010 <div id="promotion-inline-msg-campaign_popup_wHDrf6" class="promotion-inline-msg"> 13011 13012 <div class="not-try-badge top-page"><p class="limited-time-p"><span class="discount_value"></span> 50% off on your first order! Use code:Â WELCOME50. </p><style> 13013 :root{ 13014 --card-bg:#fff; 13015 --card-radius:14px; 13016 --shadow:0 6px 20px rgba(0,0,0,.08); 13017 --text:#111; 13018 --muted:#8f8f8f; 13019 } 13020 .offer-countdown{ 13021 display:grid; 13022 place-items:center; 13023 gap:16px; 13024 text-align:center; 13025 font-family: 'Montserrat' !important; 13026 color:var(--text); 13027 } 13028 .offer-countdown .heading span{ 13029 font-size:18px; 13030 font-weight:600; 13031 display:block 13032 } 13033 13034 .offer-countdown .heading { 13035 font-size: 24px; 13036 font-weight: 600; 13037 text-transform: none; 13038 letter-spacing: normal; 13039 13040 } 13041 13042 .time-row{ 13043 display:flex; 13044 align-items:center; 13045 gap:16px; 13046 } 13047 13048 .time-block{ 13049 background:var(--card-bg); 13050 border-radius:var(--card-radius); 13051 box-shadow:var(--shadow); 13052 padding:12px 16px; 13053 min-width:86px; 13054 display:grid; 13055 gap:6px; 13056 } 13057 13058 .time-value{ 13059 font-weight:800; 13060 font-size:32px; 13061 line-height:1; 13062 letter-spacing: -0.025em; 13063 font-variant-numeric: tabular-nums; 13064 } 13065 13066 .time-label{ 13067 font-size:10px; 13068 text-transform:uppercase; 13069 color:var(--muted); 13070 letter-spacing: -0.025em; 13071 } 13072 13073 /* the small grey dot separators */ 13074 .dot{ 13075 width:6px; height:6px; border-radius:999px; 13076 background:#d9d9d9; 13077 } 13078 13079 /* responsive tweaks */ 13080 @media (max-width:480px){ 13081 .time-block{ min-width:74px; padding:10px 12px; } 13082 .time-value{ font-size:28px; } 13083 } 13084 13085 .offer-countdown .hero-primary-btn { 13086 width:300px 13087 } 13088</style> 13089 13090 13091 13092<section class="offer-countdown" id="trial-timer"> 13093 <div class="heading">Claim Your Trial Now 13094<span>Trials Ends in:</span></div> 13095 <div class="time-row" role="timer" aria-live="polite" aria-atomic="true"> 13096 <div class="time-block"> 13097 <div class="time-value" id="cd-hours-campaign_popup_wHDrf6">00</div> 13098 <div class="time-label">Hours</div> 13099 </div> 13100 <div class="dot" aria-hidden="true"></div> 13101 <div class="time-block"> 13102 <div class="time-value" id="cd-minutes-campaign_popup_wHDrf6">15</div> 13103 <div class="time-label">Minutes</div> 13104 </div> 13105 <div class="dot" aria-hidden="true"></div> 13106 <div class="time-block"> 13107 <div class="time-value" id="cd-seconds-campaign_popup_wHDrf6">00</div> 13108 <div class="time-label">Seconds</div> 13109 </div> 13110 </div> 13111 <div onclick="add_bundle_with_tbyb(main_product , this , false )" class="hero-primary-btn"> 13112 Try Before You Buy | $0 13113 </div> 13114</section> 13115
13116<script> 13117 function runCountDown_campaign_popup_wHDrf6() { 13118 // ===== Config ===== 13119 const DURATION_SECONDS = 15 * 60; // 15 minutes from page load 13120 13121 // ===== Elements ===== 13122 const elH = document.getElementById('cd-hours-campaign_popup_wHDrf6'); 13123 const elM = document.getElementById('cd-minutes-campaign_popup_wHDrf6'); 13124 const elS = document.getElementById('cd-seconds-campaign_popup_wHDrf6'); 13125 13126 // ===== Timer logic (stable & accurate) ===== 13127 const start = Date.now(); 13128 const end = start + DURATION_SECONDS * 1000; 13129 13130 function pad(n){ return n.toString().padStart(2,'0'); } 13131 13132 function render(msLeft){ 13133 const total = Math.max(0, Math.ceil(msLeft/1000)); 13134 const h = Math.floor(total / 3600); 13135 const m = Math.floor((total % 3600) / 60); 13136 const s = total % 60; 13137 elH.textContent = pad(h); 13138 elM.textContent = pad(m); 13139 elS.textContent = pad(s); 13140 } 13141 13142 // first paint shows 15:00 13143 render(end - Date.now()); 13144 13145 const tick = setInterval(() => { 13146 const msLeft = end - Date.now(); 13147 render(msLeft); 13148 13149 if (msLeft <= 0){ 13150 clearInterval(tick); 13151 // Optional: add a class or callback here when finished 13152 // document.getElementById('trial-timer').classList.add('finished'); 13153 } 13154 }, 1000); 13155 13156} 13157 13158runCountDown_campaign_popup_wHDrf6(); 13159</script>
13159</div> 13160 13161 </div> 13162 13163 <div id="popup-layout-campaign_popup_wHDrf6" style="display:none" class="promotion-popup_layout"> 13164 13165 <div class="promotion-popup_background"> 13166 <div class="close-promotion-popup"> <span onclick="PromoPopupcampaign_popup_wHDrf6()" class="x-image campaign_popup_wHDrf6"></span></div> 13167 13168 13169 <div id="without-email-campaign_popup_wHDrf6" class="promotion-scroll-area"> 13170 13171 <h1> You got 30% off!</h1> 13172 <p>We've applied 50% off discount on your first order. Use code:Â WELCOME50.</p> 13173 13174 13175 13176 <span class="popup-product-link second" onclick="PromoPopupcampaign_popup_wHDrf6()">Awesome! Let me shop</span> 13177 13178 13179 </div> 13180 13181 13182 <div id="with-email-campaign_popup_wHDrf6" class="promotion-scroll-area"> 13183 13184 <!--<h1> </h1>--> 13185 <p></p> 13186 <div class="email-wraper"> 13187 <div class="close-after-subsmition-campaign_popup_wHDrf6" style="position:relative"> 13188 <label for="user-email-campaign_popup_wHDrf6" style="display:none" >Email</label> 13189 <input placeholder="" class="user-email-campaign_popup_wHDrf6" id="user-email-campaign_popup_wHDrf6"> 13190 <p class="error-msg-campaign_popup_wHDrf6"></p> 13191 </div> 13192 <button class="close-after-subsmition" id="submit-email-campaign_popup_wHDrf6">Submit</button> 13193 <!-- <a style="display:none" onclick="fireEventsToHeap('clicked_Hero_banner_video')" href="" class="scroll-to-campaign_popup_wHDrf6"></a>--> 13194 </div> 13195 </div> 13196 13197 </div> 13198 </div> 13199 13200 13201
13202<script> 13203<!-----------------------------------------------------------------------------------------------------------------> 13204 13205 function showPromoMSGcampaign_popup_wHDrf6() { 13206 const urlParams = getUrlParams(window.location.href); 13207 const showDuringSession = sessionStorage.getItem('show-promo-msg-pop_up-welcome50') 13208 13209 if(urlParams.pop_up != undefined || showDuringSession === "true" ) { 13210 if(urlParams.pop_up === 'welcome50' || showDuringSession === "true" ) { 13211 document.getElementById('promotion-inline-msg-campaign_popup_wHDrf6').style.display = "block"; 13212 showEmailInPopup_campaign_popup_wHDrf6() 13213 sessionStorage.setItem('show-promo-msg-pop_up-welcome50', 'true'); 13214 13215 if(urlParams.open_popup === "true"){ 13216 clickedBadgecampaign_popup_wHDrf6(); 13217 } 13218 13219 if(urlParams.show_btn === "false") { 13220 document.querySelector('.x-image.campaign_popup_wHDrf6').style.display = "none" 13221 } 13222 13223 13224 13225 13226 } 13227 } 13228 } 13229 13230 13231 13232 13233 13234<!-----------------------------------------------------------------------------------------------------------------> 13235 13236 13237 function showEmailInPopup_campaign_popup_wHDrf6() { 13238 const urlParams = getUrlParams(window.location.href); 13239 const showDuringSession = sessionStorage.getItem('is_email-welcome50'); 13240 if(urlParams.is_email === "true" || showDuringSession === "true" ){ 13241 document.getElementById('with-email-campaign_popup_wHDrf6').style.display = "block"; 13242 document.getElementById('without-email-campaign_popup_wHDrf6').style.display = "none"; 13243 localStorage.setItem("viewedPopup", "true"); 13244 sessionStorage.setItem('is_email-welcome50', 'true'); 13245 13246 } 13247 13248 13249 else { 13250 document.getElementById('with-email-campaign_popup_wHDrf6').style.display = "none"; 13251 document.getElementById('without-email-campaign_popup_wHDrf6').style.display = "block"; 13252 } 13253 } 13254 13255<!-----------------------------------------------------------------------------------------------------------------> 13256 13257 function showSMSpopup_after_applying_discount_campaign_popup_wHDrf6() { 13258 if (typeof window.showSMSpopup_ === 'function') { 13259 showSMSpopup_(); 13260 localStorage.setItem('viewedPopup-klaviyo-form-SgXDwS','true') // prevent from default popup to jump 13261 } 13262 else { 13263 setTimeout(showSMSpopup_after_applying_discount_campaign_popup_wHDrf6, 300); 13264 } 13265 } 13266<!-----------------------------------------------------------------------------------------------------------------> 13267 13268 function validateEmail(email) { 13269 const regex = /^[^\s@]+@[^\s@]+\.[^\s@]+$/; 13270 return regex.test(email); 13271 } 13272 13273 <!-----------------------------------------------------------------------------------------------------------------> 13274 13275 function kEventcampaign_popup_wHDrf6(email) { 13276 _learnq.push(["track", "", { 13277 "Recipients": [email], 13278 "page":window.location.pathname 13279 }]); 13280 console.log('Tbyb event sent') 13281 } 13282 13283 13284<!-----------------------------------------------------------------------------------------------------------------> 13285 13286 document.getElementById('submit-email-campaign_popup_wHDrf6').addEventListener('click', function() { 13287 const user_email = document.getElementsByClassName('user-email-campaign_popup_wHDrf6')[0].value 13288 const is_email = validateEmail(user_email); 13289 const coupon = 'welcome50' 13290 13291 if (user_email === "") { 13292 document.getElementsByClassName('error-msg-campaign_popup_wHDrf6')[0].style.display = "block"; 13293 document.getElementsByClassName('error-msg-campaign_popup_wHDrf6')[0].innerText = "Please add your email "; 13294 document.getElementsByClassName('user-email-campaign_popup_wHDrf6')[0].style.border = "1px solid red"; 13295 setTimeout(function() { 13296 document.getElementsByClassName('error-msg-campaign_popup_wHDrf6')[0].style.display = "none"; 13297 document.getElementsByClassName('user-email-campaign_popup_wHDrf6')[0].style.border = "1px solid #A1A1A1" 13298 13299 },3000 ) 13300 } 13301 13302 else if(!is_email) { 13303 document.getElementsByClassName('error-msg-campaign_popup_wHDrf6')[0].style.display = "block"; 13304 document.getElementsByClassName('error-msg-campaign_popup_wHDrf6')[0].innerText = "Please add a valid email "; 13305 document.getElementsByClassName('user-email-campaign_popup_wHDrf6')[0].style.border = "1px solid red" 13306 setTimeout(function() { 13307 document.getElementsByClassName('error-msg-campaign_popup_wHDrf6')[0].style.display = "none"; 13308 document.getElementsByClassName('user-email-campaign_popup_wHDrf6')[0].style.border = "1px solid #A1A1A1" 13309 13310 },3000 ) 13311 } 13312 13313 else { 13314 document.getElementById('submit-email-campaign_popup_wHDrf6').innerText = "Unlocking..."; 13315 sessionStorage.getItem('show-promo-msg-pop_up-welcome50') 13316 sendToHeap(''); 13317 _learnq.push(['identify', { 13318 '$email' : user_email 13319 13320 }]) 13321 if(coupon === ""){ 13322 setTimeout(function(){ 13323 kEventcampaign_popup_wHDrf6(user_email) ; 13324 document.getElementsByClassName('close-after-subsmition')[0].style.display = "none"; 13325 document.getElementsByClassName('close-after-subsmition')[1].style.display = "none"; 13326 document.getElementsByClassName('scroll-to')[0].style.display = "flex"; 13327 },1000) 13328 } 13329 13330 else { 13331 setTimeout(function(){ 13332 kEventcampaign_popup_wHDrf6(user_email) ; 13333 },1000) 13334 setTimeout(function(){ 13335 window.location.replace("https://yvesrocherusa.com/discount/"+coupon+"?redirect="+window.location.pathname+"&pop_up=welcome50&emailSubmitted=true"); 13336 13337 },1000) 13338 } 13339 13340 } 13341 }); 13342 13343 <!-----------------------------------------------------------------------------------------------------------------> 13344 13345 13346 function PromoPopupcampaign_popup_wHDrf6() { 13347 document.getElementById('popup-layout-campaign_popup_wHDrf6').style.display = "none"; 13348 // localStorage.removeItem("viewedPopup"); 13349 } 13350 13351<!-----------------------------------------------------------------------------------------------------------------> 13352 13353 function popupAddtocartcampaign_popup_wHDrf6(element) { 13354 var product_name = document.title 13355 document.getElementsByClassName('wd-buy_btn')[0].click() 13356 element.innerText = "Adding..." 13357 setTimeout(function() { 13358 document.getElementById('popup-layout-campaign_popup_wHDrf6').style.display = "none"; 13359 element.innerText = "Add to cart" 13360 }, 1500) 13361 13362 } 13363 13364 13365<!-----------------------------------------------------------------------------------------------------------------> 13366 13367 function clickedBadgecampaign_popup_wHDrf6() { 13368 document.getElementById('popup-layout-campaign_popup_wHDrf6').style.display = "block"; 13369 } 13370 13371<!-----------------------------------------------------------------------------------------------------------------> 13372 13373 function getUrlParams(url) { 13374 const params = {}; 13375 const urlObj = new URL(url); 13376 13377 for (const [key, value] of urlObj.searchParams) { 13378 // Add each parameter as a key-value pair to the params object 13379 params[key] = value; 13380 } 13381 13382 return params; 13383 } 13384<!--------------------------------------------------------------------------------------------------------------------------------------> 13385 13386 /* ------------------------------------------------------- 13387 MULTI-COLLECTION PROMOTION RULES 13388 13389 Each rule has: 13390 - collection 13391 - promotion discount (decimal: 0.5 = 50%) 13392 - optional subscription discount override (decimal) 13393 13394 If a product belongs to multiple configured collections, 13395 the rule with the HIGHEST promotion discount wins. 13396 13397 If no new multi-collection rule is configured, the old 13398 eligible_collection + code_discount_value settings are 13399 used as a backwards-compatible fallback. 13400 13401 Product cards still require: 13402 data-collections="collection-handle-1,collection-handle-2" 13403 ------------------------------------------------------- */ 13404 13405 var promoRules_campaign_popup_wHDrf6 = [ 13406 { 13407 handle: null, 13408 discount: Number(0) || 0, 13409 subscriptionOverride: ("" === null || "" === "") 13410 ? null 13411 : (Number("") || 0) 13412 }, 13413 { 13414 handle: null, 13415 discount: Number(0) || 0, 13416 subscriptionOverride: ("" === null || "" === "") 13417 ? null 13418 : (Number("") || 0) 13419 }, 13420 { 13421 handle: null, 13422 discount: Number(0) || 0, 13423 subscriptionOverride: ("" === null || "" === "") 13424 ? null 13425 : (Number("") || 0) 13426 }, 13427 { 13428 handle: null, 13429 discount: Number(0) || 0, 13430 subscriptionOverride: ("" === null || "" === "") 13431 ? null 13432 : (Number("") || 0) 13433 }, 13434 { 13435 handle: null, 13436 discount: Number(0) || 0, 13437 subscriptionOverride: ("" === null || "" === "") 13438 ? null 13439 : (Number("") || 0) 13440 } 13441 ].filter(function(rule) { 13442 return rule.handle && rule.discount > 0; 13443 }); 13444 13445 // Backwards-compatible fallback for existing campaign blocks. 13446 if (promoRules_campaign_popup_wHDrf6.length === 0) { 13447 var legacyCollection_campaign_popup_wHDrf6 = null; 13448 var legacyDiscount_campaign_popup_wHDrf6 = Number("0.30") || 0; 13449 13450 if (legacyCollection_campaign_popup_wHDrf6 && legacyDiscount_campaign_popup_wHDrf6 > 0) { 13451 promoRules_campaign_popup_wHDrf6.push({ 13452 handle: legacyCollection_campaign_popup_wHDrf6, 13453 discount: legacyDiscount_campaign_popup_wHDrf6, 13454 subscriptionOverride: null 13455 }); 13456 } 13457 } 13458 13459 function getWinningPromoRule_campaign_popup_wHDrf6(collectionHandles) { 13460 // Preserve old site-wide behavior when no collection rule exists. 13461 if (promoRules_campaign_popup_wHDrf6.length === 0) { 13462 return { 13463 handle: null, 13464 discount: Number("0.30") || 0, 13465 multiplier: 1 - (Number("0.30") || 0), 13466 subscriptionOverride: null 13467 }; 13468 } 13469 13470 var handles = Array.isArray(collectionHandles) ? collectionHandles : []; 13471 var winner = null; 13472
13473 promoRules_campaign_popup_wHDrf6.forEach(function(rule) { 13474 if (!handles.includes(rule.handle)) return; 13475 13476 if ( 13477 !winner || 13478 rule.discount > winner.discount || 13479 ( 13480 rule.discount === winner.discount && 13481 rule.subscriptionOverride !== null && 13482 (winner.subscriptionOverride === null || rule.subscriptionOverride > winner.subscriptionOverride) 13483 ) 13484 ) { 13485 winner = rule; 13486 } 13487 }); 13488 13489 if (!winner) return null; 13490 13491 return { 13492 handle: winner.handle, 13493 discount: winner.discount, 13494 multiplier: 1 - winner.discount, 13495 subscriptionOverride: winner.subscriptionOverride 13496 }; 13497 } 13498 13499 function getPromoRuleForCard_campaign_popup_wHDrf6(productCard) { 13500 if (!productCard) return null; 13501 13502 var collectionsAttribute = productCard.getAttribute('data-collections') || ''; 13503 var productCollections = collectionsAttribute 13504 .split(',') 13505 .map(function(collection) { return collection.trim(); }) 13506 .filter(Boolean); 13507 13508 return getWinningPromoRule_campaign_popup_wHDrf6(productCollections); 13509 } 13510 13511 function isPromoEligible_campaign_popup_wHDrf6(productCard) { 13512 return getPromoRuleForCard_campaign_popup_wHDrf6(productCard) !== null; 13513 } 13514 13515 // MAIN PDP collection handles. 13516 var collections_for_promo_campaign_popup_wHDrf6 = [ 13517 13518 ]; 13519 13520 function getCurrentProductPromoRule_campaign_popup_wHDrf6() { 13521 return getWinningPromoRule_campaign_popup_wHDrf6(collections_for_promo_campaign_popup_wHDrf6); 13522 } 13523 13524 function isCurrentProductPromoEligible_campaign_popup_wHDrf6() { 13525 return getCurrentProductPromoRule_campaign_popup_wHDrf6() !== null; 13526 } 13527 13528 function formatPromoMoney_campaign_popup_wHDrf6(amount) { 13529 var value = Number(amount); 13530 if (!Number.isFinite(value)) value = 0; 13531 return '$' + (Math.round(value * 100) / 100).toFixed(2).replace(/\.00$/, ''); 13532 } 13533 13534 13535 13536 function applyDiscountCodeAjax(discountCode) { 13537 const discountUrl = `/discount/${discountCode}`; 13538 fetch(discountUrl, { 13539 method: 'GET', 13540 headers: { 13541 'Content-Type': 'application/json' 13542 } 13543 }).then(response => { 13544 if (response.ok) { 13545 console.log('applyied discount.'); 13546 document.documentElement.dispatchEvent(new CustomEvent('cart:refresh', { bubbles: true})); 13547 document.documentElement.dispatchEvent(new CustomEvent("theme:loading:end", { bubbles: true })); 13548 sessionStorage.setItem('discount-'+ discountCode, discountCode); 13549 13550 } else { 13551 console.error('Failed to apply discount.'); 13552 } 13553 }).catch(error => { 13554 console.error('Error applying discount:', error); 13555 }); 13556 } 13557 13558 <!---------------------------------------- code for price manipulation + coupon appliyment in regular pages --------------------------------------> 13559 13560 13561 13562 <!----------------------------------------code for price manipulation + coupon apliyment in HOMEPAGE ----------------------------------------------> 13563 13564 13565 <!----------------------------------------code for price manipulation on collection page ----------------------------------------------> 13566 13567 13568 13569 13570 <!----------------------------------------code for price manipulation on products page ----------------------------------------------> 13571 13572 13573 13574 13575 document.addEventListener('DOMContentLoaded',showPromoMSGcampaign_popup_wHDrf6()); 13576 13577<!---------------------------------------> 13578 13579</script>
13579 13580 13581 13582<style> 13583 #promotion-inline-msg-campaign_popup_wHDrf6 { 13584 background: linear-gradient(90deg, #CB0050 0%, #C555A7 100%); 13585 color: #fff; 13586 font-size: 13px; 13587 padding: 10px; 13588 text-align: center; 13589 text-transform: uppercase; 13590 font-weight: 600; 13591 display:none; 13592 } 13593 13594 input.user-email-campaign_popup_wHDrf6 { 13595 height: 52px; 13596 border-radius: 5px; 13597 border: #A1A1A1 1px solid; 13598 background: #fff; 13599 padding: 10px; 13600 font-family: Montserrat; 13601 font-size: 14px; 13602 width: 100%; 13603 } 13604 13605 13606 .error-msg-campaign_popup_wHDrf6 { 13607 display: none; 13608 position: absolute; 13609 color: red !important; 13610 bottom: -47px; 13611 left: 0px; 13612 background: #fff; 13613 padding: 3px 9px; 13614 margin: 0; 13615 border-radius: 5px; 13616 border-left: 1px solid red; 13617 border-right: 1px solid red; 13618 border-bottom: 1px solid red; 13619 font-size: 14px !important; 13620 } 13621 13622 #submit-email-campaign_popup_wHDrf6 { 13623 background: #000; 13624 display: block; 13625 padding: 15px 10px; 13626 color: #fff; 13627 text-align: center; 13628 border-radius: 28px; 13629 font-family: 'Montserrat'; 13630 font-weight: 500; 13631 margin: 15px 0px 25px; 13632 cursor: pointer; 13633 width: 100%; 13634 } 13635 13636 @media only screen and (max-width: 800px) { 13637 #promotion-inline-msg-campaign_popup_wHDrf6 { 13638 13639 } 13640 } 13641 </style> 13642 13643 13644 13645 13646 13647 13648 13649 13650 13651 13652 13653 <div id="promotion-inline-msg-campaign_popup_6VazgK" class="promotion-inline-msg"> 13654 13655 <p>Enjoy 50% off on subscription orders! <span onclick="clickedBadgecampaign_popup_6VazgK()">Learn More</span></p> 13656 13657 </div> 13658 13659 <div id="popup-layout-campaign_popup_6VazgK" style="display:none" class="promotion-popup_layout"> 13660 13661 <div class="promotion-popup_background"> 13662 <div class="close-promotion-popup"> <span onclick="PromoPopupcampaign_popup_6VazgK()" class="x-image campaign_popup_6VazgK"></span></div> 13663 13664 13665 <div id="without-email-campaign_popup_6VazgK" class="promotion-scroll-area"> 13666 13667 <h1> Enjoy 50% off on subscription orders!</h1> 13668 <p>We've applied 50% off discount to your cart. Use code:Â gosub.</p> 13669 13670 13671 13672 <span class="popup-product-link second" onclick="PromoPopupcampaign_popup_6VazgK()">Awesome! Let me shop</span> 13673 13674 13675 </div> 13676 13677 13678 <div id="with-email-campaign_popup_6VazgK" class="promotion-scroll-area"> 13679 13680 <!--<h1> </h1>--> 13681 <p></p> 13682 <div class="email-wraper"> 13683 <div class="close-after-subsmition-campaign_popup_6VazgK" style="position:relative"> 13684 <label for="user-email-campaign_popup_6Vazg
13684K" style="display:none" >Email</label> 13685 <input placeholder="" class="user-email-campaign_popup_6VazgK" id="user-email-campaign_popup_6VazgK"> 13686 <p class="error-msg-campaign_popup_6VazgK"></p> 13687 </div> 13688 <button class="close-after-subsmition" id="submit-email-campaign_popup_6VazgK">Submit</button> 13689 <!-- <a style="display:none" onclick="fireEventsToHeap('clicked_Hero_banner_video')" href="" class="scroll-to-campaign_popup_6VazgK"></a>--> 13690 </div> 13691 </div> 13692 13693 </div> 13694 </div> 13695 13696 13697
13698<script> 13699<!-----------------------------------------------------------------------------------------------------------------> 13700 13701 function showPromoMSGcampaign_popup_6VazgK() { 13702 const urlParams = getUrlParams(window.location.href); 13703 const showDuringSession = sessionStorage.getItem('show-promo-msg-pop_up-gosub') 13704 13705 if(urlParams.pop_up != undefined || showDuringSession === "true" ) { 13706 if(urlParams.pop_up === 'gosub' || showDuringSession === "true" ) { 13707 document.getElementById('promotion-inline-msg-campaign_popup_6VazgK').style.display = "block"; 13708 showEmailInPopup_campaign_popup_6VazgK() 13709 sessionStorage.setItem('show-promo-msg-pop_up-gosub', 'true'); 13710 13711 if(urlParams.open_popup === "true"){ 13712 clickedBadgecampaign_popup_6VazgK(); 13713 } 13714 13715 if(urlParams.show_btn === "false") { 13716 document.querySelector('.x-image.campaign_popup_6VazgK').style.display = "none" 13717 } 13718 13719 13720 13721 13722 } 13723 } 13724 } 13725 13726 13727 13728 13729 13730<!-----------------------------------------------------------------------------------------------------------------> 13731 13732 13733 function showEmailInPopup_campaign_popup_6VazgK() { 13734 const urlParams = getUrlParams(window.location.href); 13735 const showDuringSession = sessionStorage.getItem('is_email-gosub'); 13736 if(urlParams.is_email === "true" || showDuringSession === "true" ){ 13737 document.getElementById('with-email-campaign_popup_6VazgK').style.display = "block"; 13738 document.getElementById('without-email-campaign_popup_6VazgK').style.display = "none"; 13739 localStorage.setItem("viewedPopup", "true"); 13740 sessionStorage.setItem('is_email-gosub', 'true'); 13741 13742 } 13743 13744 13745 else { 13746 document.getElementById('with-email-campaign_popup_6VazgK').style.display = "none"; 13747 document.getElementById('without-email-campaign_popup_6VazgK').style.display = "block"; 13748 } 13749 } 13750 13751<!-----------------------------------------------------------------------------------------------------------------> 13752 13753 function showSMSpopup_after_applying_discount_campaign_popup_6VazgK() { 13754 if (typeof window.showSMSpopup_ === 'function') { 13755 showSMSpopup_(); 13756 localStorage.setItem('viewedPopup-klaviyo-form-SgXDwS','true') // prevent from default popup to jump 13757 } 13758 else { 13759 setTimeout(showSMSpopup_after_applying_discount_campaign_popup_6VazgK, 300); 13760 } 13761 } 13762<!-----------------------------------------------------------------------------------------------------------------> 13763 13764 function validateEmail(email) { 13765 const regex = /^[^\s@]+@[^\s@]+\.[^\s@]+$/; 13766 return regex.test(email); 13767 } 13768 13769 <!-----------------------------------------------------------------------------------------------------------------> 13770
13771 function kEventcampaign_popup_6VazgK(email) { 13772 _learnq.push(["track", "", { 13773 "Recipients": [email], 13774 "page":window.location.pathname 13775 }]); 13776 console.log('Tbyb event sent') 13777 } 13778 13779 13780<!-----------------------------------------------------------------------------------------------------------------> 13781 13782 document.getElementById('submit-email-campaign_popup_6VazgK').addEventListener('click', function() { 13783 const user_email = document.getElementsByClassName('user-email-campaign_popup_6VazgK')[0].value 13784 const is_email = validateEmail(user_email); 13785 const coupon = 'gosub' 13786 13787 if (user_email === "") { 13788 document.getElementsByClassName('error-msg-campaign_popup_6VazgK')[0].style.display = "block"; 13789 document.getElementsByClassName('error-msg-campaign_popup_6VazgK')[0].innerText = "Please add your email "; 13790 document.getElementsByClassName('user-email-campaign_popup_6VazgK')[0].style.border = "1px solid red"; 13791 setTimeout(function() { 13792 document.getElementsByClassName('error-msg-campaign_popup_6VazgK')[0].style.display = "none"; 13793 document.getElementsByClassName('user-email-campaign_popup_6VazgK')[0].style.border = "1px solid #A1A1A1" 13794 13795 },3000 ) 13796 } 13797 13798 else if(!is_email) { 13799 document.getElementsByClassName('error-msg-campaign_popup_6VazgK')[0].style.display = "block"; 13800 document.getElementsByClassName('error-msg-campaign_popup_6VazgK')[0].innerText = "Please add a valid email "; 13801 document.getElementsByClassName('user-email-campaign_popup_6VazgK')[0].style.border = "1px solid red" 13802 setTimeout(function() { 13803 document.getElementsByClassName('error-msg-campaign_popup_6VazgK')[0].style.display = "none"; 13804 document.getElementsByClassName('user-email-campaign_popup_6VazgK')[0].style.border = "1px solid #A1A1A1" 13805 13806 },3000 ) 13807 } 13808 13809 else { 13810 document.getElementById('submit-email-campaign_popup_6VazgK').innerText = "Unlocking..."; 13811 sessionStorage.getItem('show-promo-msg-pop_up-gosub') 13812 sendToHeap(''); 13813 _learnq.push(['identify', { 13814 '$email' : user_email 13815 13816 }]) 13817 if(coupon === ""){ 13818 setTimeout(function(){ 13819 kEventcampaign_popup_6VazgK(user_email) ; 13820 document.getElementsByClassName('close-after-subsmition')[0].style.display = "none"; 13821 document.getElementsByClassName('close-after-subsmition')[1].style.display = "none"; 13822 document.getElementsByClassName('scroll-to')[0].style.display = "flex"; 13823 },1000) 13824 } 13825 13826 else { 13827 setTimeout(function(){ 13828 kEventcampaign_popup_6Vazg
13828K(user_email) ; 13829 },1000) 13830 setTimeout(function(){ 13831 window.location.replace("https://yvesrocherusa.com/discount/"+coupon+"?redirect="+window.location.pathname+"&pop_up=gosub&emailSubmitted=true"); 13832 13833 },1000) 13834 } 13835 13836 } 13837 }); 13838 13839 <!-----------------------------------------------------------------------------------------------------------------> 13840 13841 13842 function PromoPopupcampaign_popup_6VazgK() { 13843 document.getElementById('popup-layout-campaign_popup_6VazgK').style.display = "none"; 13844 // localStorage.removeItem("viewedPopup"); 13845 } 13846 13847<!-----------------------------------------------------------------------------------------------------------------> 13848 13849 function popupAddtocartcampaign_popup_6VazgK(element) { 13850 var product_name = document.title 13851 document.getElementsByClassName('wd-buy_btn')[0].click() 13852 element.innerText = "Adding..." 13853 setTimeout(function() { 13854 document.getElementById('popup-layout-campaign_popup_6VazgK').style.display = "none"; 13855 element.innerText = "Add to cart" 13856 }, 1500) 13857 13858 } 13859 13860 13861<!-----------------------------------------------------------------------------------------------------------------> 13862 13863 function clickedBadgecampaign_popup_6VazgK() { 13864 document.getElementById('popup-layout-campaign_popup_6VazgK').style.display = "block"; 13865 } 13866 13867<!-----------------------------------------------------------------------------------------------------------------> 13868 13869 function getUrlParams(url) { 13870 const params = {}; 13871 const urlObj = new URL(url); 13872 13873 for (const [key, value] of urlObj.searchParams) { 13874 // Add each parameter as a key-value pair to the params object 13875 params[key] = value; 13876 } 13877 13878 return params; 13879 } 13880<!--------------------------------------------------------------------------------------------------------------------------------------> 13881 13882 /* ------------------------------------------------------- 13883 MULTI-COLLECTION PROMOTION RULES 13884 13885 Each rule has: 13886 - collection 13887 - promotion discount (decimal: 0.5 = 50%) 13888 - optional subscription discount override (decimal) 13889 13890 If a product belongs to multiple configured collections, 13891 the rule with the HIGHEST promotion discount wins. 13892 13893 If no new multi-collection rule is configured, the old 13894 eligible_collection + code_discount_value settings are 13895 used as a backwards-compatible fallback. 13896 13897 Product cards still require: 13898 data-collections="collection-handle-1,collection-handle-2" 13899 ------------------------------------------------------- */ 13900 13901 var promoRules_campaign_popup_6VazgK = [ 13902 { 13903 handle: null, 13904 discount: Number(0) || 0, 13905 subscriptionOverride: ("" === null || "" === "") 13906 ? null 13907 : (Number("") || 0) 13908 }, 13909 { 13910 handle: null, 13911 discount: Number(0) || 0, 13912 subscriptionOverride: ("" === null || "" === "") 13913 ? null 13914 : (Number("") || 0) 13915 }, 13916 { 13917 handle: null, 13918 discount: Number(0) || 0, 13919 subscriptionOverride: ("" === null || "" === "") 13920 ? null 13921 : (Number("") || 0) 13922 }, 13923 { 13924 handle: null, 13925 discount: Number(0) || 0, 13926 subscriptionOverride: ("" === null || "" === "") 13927 ? null 13928 : (Number("") || 0) 13929 }, 13930 { 13931 handle: null, 13932 discount: Number(0) || 0, 13933 subscriptionOverride: ("" === null || "" === "") 13934 ? null 13935 : (Number("") || 0) 13936 } 13937 ].filter(function(rule) { 13938 return rule.handle && rule.discount > 0; 13939 }); 13940 13941 // Backwards-compatible fallback for existing campaign blocks.
13942 if (promoRules_campaign_popup_6VazgK.length === 0) { 13943 var legacyCollection_campaign_popup_6VazgK = null; 13944 var legacyDiscount_campaign_popup_6VazgK = Number("0.3") || 0; 13945 13946 if (legacyCollection_campaign_popup_6VazgK && legacyDiscount_campaign_popup_6VazgK > 0) { 13947 promoRules_campaign_popup_6VazgK.push({ 13948 handle: legacyCollection_campaign_popup_6VazgK, 13949 discount: legacyDiscount_campaign_popup_6VazgK, 13950 subscriptionOverride: null 13951 }); 13952 } 13953 } 13954 13955 function getWinningPromoRule_campaign_popup_6VazgK(collectionHandles) { 13956 // Preserve old site-wide behavior when no collection rule exists. 13957 if (promoRules_campaign_popup_6VazgK.length === 0) { 13958 return { 13959 handle: null, 13960 discount: Number("0.3") || 0, 13961 multiplier: 1 - (Number("0.3") || 0), 13962 subscriptionOverride: null 13963 }; 13964 } 13965 13966 var handles = Array.isArray(collectionHandles) ? collectionHandles : []; 13967 var winner = null; 13968 13969 promoRules_campaign_popup_6VazgK.forEach(function(rule) { 13970 if (!handles.includes(rule.handle)) return; 13971 13972 if ( 13973 !winner || 13974 rule.discount > winner.discount || 13975 ( 13976 rule.discount === winner.discount && 13977 rule.subscriptionOverride !== null && 13978 (winner.subscriptionOverride === null || rule.subscriptionOverride > winner.subscriptionOverride) 13979 ) 13980 ) { 13981 winner = rule; 13982 } 13983 }); 13984 13985 if (!winner) return null; 13986 13987 return { 13988 handle: winner.handle, 13989 discount: winner.discount, 13990 multiplier: 1 - winner.discount, 13991 subscriptionOverride: winner.subscriptionOverride 13992 }; 13993 } 13994 13995 function getPromoRuleForCard_campaign_popup_6VazgK(productCard) { 13996 if (!productCard) return null; 13997 13998 var collectionsAttribute = productCard.getAttribute('data-collections') || ''; 13999 var productCollections = collectionsAttribute 14000 .split(',') 14001 .map(function(collection) { return collection.trim(); }) 14002 .filter(Boolean); 14003 14004 return getWinningPromoRule_campaign_popup_6VazgK(productCollections); 14005 } 14006 14007 function isPromoEligible_campaign_popup_6VazgK(productCard) { 14008 return getPromoRuleForCard_campaign_popup_6VazgK(productCard) !== null; 14009 } 14010 14011 // MAIN PDP collection handles. 14012 var collections_for_promo_campaign_popup_6VazgK = [ 14013 14014 ]; 14015 14016 function getCurrentProductPromoRule_campaign_popup_6VazgK() { 14017 return getWinningPromoRule_campaign_popup_6VazgK(collections_for_promo_campaign_popup_6VazgK); 14018 } 14019 14020 function isCurrentProductPromoEligible_campaign_popup_6VazgK() { 14021 return getCurrentProductPromoRule_campaign_popup_6VazgK() !== null; 14022 } 14023 14024 function formatPromoMoney_campaign_popup_6VazgK(amount) { 14025 var value = Number(amount); 14026 if (!Number.isFinite(value)) value = 0; 14027 return '$' + (Math.round(value * 100) / 100).toFixed(2).replace(/\.00$/, ''); 14028 } 14029 14030 14031 14032 function applyDiscountCodeAjax(discountCode) { 14033 const discountUrl = `/discount/${discountCode}`; 14034 fetch(discountUrl, { 14035 method: 'GET', 14036 headers: { 14037 'Content-Type': 'application/json' 14038 } 14039 }).then(response => { 14040 if (response.ok) { 14041 console.log('applyied discount.'); 14042 document.documentElement.dispatchEvent(new CustomEvent('cart:refresh', { bubbles: true})); 14043 document.documentElement.dispatchEvent(new CustomEvent("theme:loading:end", { bubbles: true })); 14044 sessionStorage.setItem('discount-'+ discountCode, discountCode); 14045 14046 } else { 14047 console.error('Failed to apply discount.'); 14048 } 14049 }).catch(error => { 14050 console.error('Error applying discount:', error); 14051 }); 14052 } 14053 14054 <!---------------------------------------- code for price mani
14054pulation + coupon appliyment in regular pages --------------------------------------> 14055 14056 14057 14058 <!----------------------------------------code for price manipulation + coupon apliyment in HOMEPAGE ----------------------------------------------> 14059 14060 14061 <!----------------------------------------code for price manipulation on collection page ----------------------------------------------> 14062 14063 14064 14065 14066 <!----------------------------------------code for price manipulation on products page ----------------------------------------------> 14067 14068 14069 14070 14071 document.addEventListener('DOMContentLoaded',showPromoMSGcampaign_popup_6VazgK()); 14072 14073<!---------------------------------------> 14074 14075</script>
14075 14076 14077 14078<style> 14079 #promotion-inline-msg-campaign_popup_6VazgK { 14080 background: linear-gradient(90deg, #CB0050 0%, #C555A7 100%); 14081 color: #fff; 14082 font-size: 13px; 14083 padding: 10px; 14084 text-align: center; 14085 text-transform: uppercase; 14086 font-weight: 600; 14087 display:none; 14088 } 14089 14090 input.user-email-campaign_popup_6VazgK { 14091 height: 52px; 14092 border-radius: 5px; 14093 border: #A1A1A1 1px solid; 14094 background: #fff; 14095 padding: 10px; 14096 font-family: Montserrat; 14097 font-size: 14px; 14098 width: 100%; 14099 } 14100 14101 14102 .error-msg-campaign_popup_6VazgK { 14103 display: none; 14104 position: absolute; 14105 color: red !important; 14106 bottom: -47px; 14107 left: 0px; 14108 background: #fff; 14109 padding: 3px 9px; 14110 margin: 0; 14111 border-radius: 5px; 14112 border-left: 1px solid red; 14113 border-right: 1px solid red; 14114 border-bottom: 1px solid red; 14115 font-size: 14px !important; 14116 } 14117 14118 #submit-email-campaign_popup_6VazgK { 14119 background: #000; 14120 display: block; 14121 padding: 15px 10px; 14122 color: #fff; 14123 text-align: center; 14124 border-radius: 28px; 14125 font-family: 'Montserrat'; 14126 font-weight: 500; 14127 margin: 15px 0px 25px; 14128 cursor: pointer; 14129 width: 100%; 14130 } 14131 14132 @media only screen and (max-width: 800px) { 14133 #promotion-inline-msg-campaign_popup_6VazgK { 14134 14135 } 14136 } 14137 </style> 14138 14139 14140 14141 14142 14143 14144 14145 14146 14147 14148 14149 <div id="promotion-inline-msg-campaign_popup_RLThjm" class="promotion-inline-msg"> 14150 14151 <p>Enjoy 51% off on subscription orders! <span onclick="clickedBadgecampaign_popup_RLThjm()">Learn More</span></p> 14152 14153 </div> 14154 14155 <div id="popup-layout-campaign_popup_RLThjm" style="display:none" class="promotion-popup_layout"> 14156 14157 <div class="promotion-popup_background"> 14158 <div class="close-promotion-popup"> <span onclick="PromoPopupcampaign_popup_RLThjm()" class="x-image campaign_popup_RLThjm"></span></div> 14159 14160 14161 <div id="without-email-campaign_popup_RLThjm" class="promotion-scroll-area"> 14162 14163 <h1> Enjoy 51% off on subscription orders! Use code:Â subnow.</h1> 14164 <p>We've applied 51% off discount to your cart. Use code:Â subnow.</p> 14165 14166 14167 14168 <span class="popup-product-link second" onclick="PromoPopupcampaign_popup_RLThjm()">Awesome! Let me shop</span> 14169 14170 14171 </div> 14172 14173 14174 <div id="with-email-campaign_popup_RLThjm" class="promotion-scroll-area"> 14175 14176 <!--<h1> </h1>--> 14177 <p></p> 14178 <div class="email-wraper"> 14179 <div class="close-after-subsmition-campaign_popup_RLThjm" style="position:relative"> 14180 <label for="user-email-campaign_popup_RLThjm" style="display:none" >Email</label> 14181 <input placeholder="" class="user-email-campaign_popup_RLThjm" id="user-email-campaign_popup_RLThjm"> 14182 <p class="error-msg-campaign_popup_RLThjm"></p> 14183 </div> 14184 <button class="close-after-subsmition" id="submit-email-campaign_popup_RLThjm">Submit</button> 14185 <!-- <a style="display:none" onclick="fireEventsToHeap('clicked_Hero_banner_video')" href="" class="scroll-to-campaign_popup_RLThjm"></a>--> 14186 </div> 14187 </div> 14188 14189 </div> 14190 </div> 14191 14192 14193
14194<script> 14195<!-----------------------------------------------------------------------------------------------------------------> 14196 14197 function showPromoMSGcampaign_popup_RLThjm() { 14198 const urlParams = getUrlParams(window.location.href); 14199 const showDuringSession = sessionStorage.getItem('show-promo-msg-pop_up-subnow') 14200 14201 if(urlParams.pop_up != undefined || showDuringSession === "true" ) { 14202 if(urlParams.pop_up === 'subnow' || showDuringSession === "true" ) { 14203 document.getElementById('promotion-inline-msg-campaign_popup_RLThjm').style.display = "block"; 14204 showEmailInPopup_campaign_popup_RLThjm() 14205 sessionStorage.setItem('show-promo-msg-pop_up-subnow', 'true'); 14206 14207 if(urlParams.open_popup === "true"){ 14208 clickedBadgecampaign_popup_RLThjm(); 14209 } 14210 14211 if(urlParams.show_btn === "false") { 14212 document.querySelector('.x-image.campaign_popup_RLThjm').style.display = "none" 14213 } 14214 14215 14216 14217 14218 } 14219 } 14220 } 14221 14222 14223 14224 14225 14226<!-----------------------------------------------------------------------------------------------------------------> 14227 14228 14229 function showEmailInPopup_campaign_popup_RLThjm() { 14230 const urlParams = getUrlParams(window.location.href); 14231 const showDuringSession = sessionStorage.getItem('is_email-subnow'); 14232 if(urlParams.is_email === "true" || showDuringSession === "true" ){ 14233 document.getElementById('with-email-campaign_popup_RLThjm').style.display = "block"; 14234 document.getElementById('without-email-campaign_popup_RLThjm').style.display = "none"; 14235 localStorage.setItem("viewedPopup", "true"); 14236 sessionStorage.setItem('is_email-subnow', 'true'); 14237 14238 } 14239 14240 14241 else { 14242 document.getElementById('with-email-campaign_popup_RLThjm').style.display = "none"; 14243 document.getElementById('without-email-campaign_popup_RLThjm').style.display = "block"; 14244 } 14245 } 14246 14247<!-----------------------------------------------------------------------------------------------------------------> 14248 14249 function showSMSpopup_after_applying_discount_campaign_popup_RLThjm() { 14250 if (typeof window.showSMSpopup_ === 'function') { 14251 showSMSpopup_(); 14252 localStorage.setItem('viewedPopup-klaviyo-form-SgXDwS','true') // prevent from default popup to jump 14253 } 14254 else { 14255 setTimeout(showSMSpopup_after_applying_discount_campaign_popup_RLThjm, 300); 14256 } 14257 } 14258<!-----------------------------------------------------------------------------------------------------------------> 14259 14260 function validateEmail(email) { 14261 const regex = /^[^\s@]+@[^\s@]+\.[^\s@]+$/; 14262 return regex.test(email); 14263 } 14264 14265 <!-----------------------------------------------------------------------------------------------------------------> 14266 14267 function kEventcampaign_popup_RLThjm(email) { 14268 _learnq.push(["track", "", { 14269 "Recipients": [email], 14270 "page":window.location.pathname 14271 }]); 14272 console.log('Tbyb event sent') 14273 } 14274 14275 14276<!-----------------------------------------------------------------------------------------------------------------> 14277 14278 document.getElementById('submit-email-campaign_popup_RLThjm').addEventListener('click', function() { 14279 const user_email = document.getElementsByClassName('user-email-campaign_popup_RLThjm')[0].value 14280 const is_email = validateEmail(user_email); 14281 const coupon = 'subnow' 14282 14283 if (user_email === "") { 14284 document.getElementsByClassName('error-msg-campaign_popup_RLThjm')[0].style.display = "block"; 14285 document.getElementsByClassName('error-msg-campaign_popup_RLThjm')[0].innerText = "Please add your email "; 14286 document.getElementsByClassName('user-email-campaign_popup_RLThjm')[0].style.border = "1px solid red"; 14287 setTimeout(function() { 14288 document.getElementsByClassName('error-msg-campaign_popup_RLThjm')[0].style.display = "none"; 14289 document.getElementsByClassName('user-email-campaign_popup_RLThjm')[0].style.border = "1px solid #A1A1A1" 14290 14291 },3000 ) 14292 } 14293 14294 else if(!is_email) { 14295 document.getElementsByClassName('error-msg-campaign_popup_RLThjm')[0].style.display = "block"; 14296 document.getElementsByClassName('error-msg-campaign_popup_RLThjm')[0].innerText = "Please add a valid email "; 14297 document.getElementsByClassName('user-email-campaign_popup_RLThjm')[0].style.border = "1px solid red" 14298 setTimeout(function() { 14299 document.getElementsByClassName('error-msg-campaign_popup_RLThjm')[0].style.display = "none"; 14300 document.getElementsByClassName('user-email-campaign_popup_RLThjm')[0].style.border = "1px solid #A1A1A1" 14301 14302 },3000 ) 14303 } 14304 14305 else { 14306 document.getElementById('submit-email-campaign_popup_RLThjm').innerText = "Unlocking..."; 14307 sessionStorage.getItem('show-promo-msg-pop_up-subnow') 14308 sendToHeap(''); 14309 _learnq.push(['identify', { 14310 '$email' : user_email 14311 14312 }]) 14313 if(coupon === ""){ 14314 setTimeout(function(){ 14315 kEventcampaign_popup_RLThjm(user_email) ; 14316 document.getElementsByClassName('close-after-subsmition')[0].style.display = "none"; 14317 document.getElementsByClassName('close-after-subsmition')[1].style.display = "none"; 14318 document.getElementsByClassName('scroll-to')[0].style.display = "flex"; 14319 },1000) 14320 } 14321 14322 else { 14323 setTimeout(function(){ 14324 kEventcampaign_popup_RLThjm(user_email) ; 14325 },1000) 14326 setTimeout(function(){ 14327 window.location.replace("https://yvesrocherusa.com/discount/"+coupon+"?redirect="+window.location.pathname+"&pop_up=subnow&emailSubmitted=true"); 14328 14329 },1000) 14330 } 14331 14332 } 14333 }); 14334 14335 <!-----------------------------------------------------------------------------------------------------------------> 14336 14337 14338 function PromoPopupcampaign_popup_RLThjm() { 14339 document.getElementById('popup-layout-campaign_popup_RLThjm').style.display = "none"; 14340 // localStorage.removeItem("viewedPopup"); 14341 } 14342 14343<!-----------------------------------------------------------------------------------------------------------------> 14344 14345 function popupAddtocartcampaign_popup_RLThjm(element) { 14346 var product_name = document.title 14347 document.getElementsByClassName('wd-buy_btn')[0].click() 14348 element.innerText = "Adding..." 14349 setTimeout(function() { 14350 document.getElementById('popup-layout-campaign_popup_RLThjm').style.display = "none"; 14351 element.innerText = "Add to cart" 14352 }, 1500) 14353 14354 } 14355 14356 14357<!-----------------------------------------------------------------------------------------------------------------> 14358 14359 function clickedBadgecampaign_popup_RLThjm() { 14360 document.getElementById('popup-layout-campaign_popup_RLThjm').style.display = "block"; 14361 } 14362 14363<!-----------------------------------------------------------------------------------------------------------------> 14364 14365 function getUrlParams(url) { 14366 const params = {}; 14367 const urlObj = new URL(url); 14368 14369 for (const [key, value] of urlObj.searchParams) { 14370 // Add each parameter as a key-value pair to the params object 14371 params[key] = value; 14372 } 14373 14374 return params; 14375 } 14376<!--------------------------------------------------------------------------------------------------------------------------------------> 14377 14378 /* ------------------------------------------------------- 14379 MULTI-COLLECTION PROMOTION RULES 14380 14381 Each rule has: 14382 - collection 14383 - promotion discount (decimal: 0.5 = 50%) 14384 - optional subscription discount override (decimal) 14385 14386 If a product belongs to multiple configured collections, 14387 the rule with the HIGHEST promotion discount wins. 14388 14389 If no new multi-collection rule is configured, the old 14390 eligible_collection + code_discount_value settings are 14391 used as a backwards-compatible fallback. 14392 14393 Product cards still require: 14394 data-collections="collection-handle-1,collection-handle-2" 14395 ------------------------------------------------------- */ 14396 14397 var promoRules_campaign_popup_RLThjm = [ 14398 { 14399 handle: null, 14400 discount: Number(0) || 0, 14401 subscriptionOverride: ("" === null || "" === "") 14402 ? null 14403 : (Number("") || 0) 14404 }, 14405 { 14406 handle: null, 14407 discount: Number(0) || 0, 14408 subscriptionOverride: ("" === null || "" === "") 14409 ? null 14410 : (Number("") || 0) 14411 }, 14412 { 14413 handle: null, 14414 discount: Number(0) || 0, 14415 subscriptionOverride: ("" === null || "" === "") 14416 ? null 14417 : (Number("") || 0) 14418 }, 14419 { 14420 handle: null, 14421 discount: Number(0) || 0, 14422 subscriptionOverride: ("" === null || "" === "") 14423 ? null 14424 : (Number("") || 0) 14425 }, 14426 { 14427 handle: null, 14428 discount: Number(0) || 0, 14429 subscriptionOverride: ("" === null || "" === "") 14430 ? null 14431 : (Number("") || 0) 14432 } 14433 ].filter(function(rule) { 14434 return rule.handle && rule.discount > 0; 14435 }); 14436 14437 // Backwards-compatible fallback for existing campaign blocks. 14438 if (promoRules_campaign_popup_RLThjm.length === 0) { 14439 var legacyCollection_campaign_popup_RLThjm = null; 14440 var legacyDiscount_campaign_popup_RLThjm = Number("0.3") || 0; 14441 14442 if (legacyCollection_campaign_popup_RLThjm && legacyDiscount_campaign_popup_RLThjm > 0) { 14443 promoRules_campaign_popup_RLThjm.push({ 14444 handle: legacyCollection_campaign_popup_RLThjm, 14445 discount: legacyDiscount_campaign_popup_RLThjm, 14446 subscriptionOverride: null 14447 }); 14448 } 14449 } 14450 14451 function getWinningPromoRule_campaign_popup_RLThjm(collectionHandles) { 14452 // Preserve old site-wide behavior when no collection rule exists. 14453 if (promoRules_campaign_popup_RLThjm.length === 0) { 14454 return { 14455 handle: null, 14456 discount: Number("0.3") || 0, 14457 multiplier: 1 - (Number("0.3") || 0), 14458 subscriptionOverride: null 14459 }; 14460 } 14461 14462 var handles = Array.isArray(collectionHandles) ? collectionHandles : []; 14463 var winner = null; 14464 14465 promoRules_campaign_popup_RLThjm.forEach(function(rule) { 14466 if (!handles.includes(rule.handle)) return; 14467 14468 if ( 14469 !winner || 14470 rule.discount > winner.discount || 14471 ( 14472 rule.discount === winner.discount && 14473 rule.subscriptionOverride !== null && 14474 (winner.subscriptionOverride === null || rule.subscriptionOverride > winner.subscriptionOverride) 14475 ) 14476 ) { 14477 winner = rule; 14478 } 14479 }); 14480 14481 if (!winner) return null; 14482 14483 return { 14484 handle: winner.handle, 14485 discount: winner.discount, 14486 multiplier: 1 - winner.discount, 14487 subscriptionOverride: winner.subscriptionOverride 14488 }; 14489 } 14490 14491 function getPromoRuleForCard_campaign_popup_RLThjm(productCard) { 14492 if (!productCard) return null; 14493 14494 var collectionsAttribute = productCard.getAttribute('data-collections') || '';
14495 var productCollections = collectionsAttribute 14496 .split(',') 14497 .map(function(collection) { return collection.trim(); }) 14498 .filter(Boolean); 14499 14500 return getWinningPromoRule_campaign_popup_RLThjm(productCollections); 14501 } 14502 14503 function isPromoEligible_campaign_popup_RLThjm(productCard) { 14504 return getPromoRuleForCard_campaign_popup_RLThjm(productCard) !== null; 14505 } 14506 14507 // MAIN PDP collection handles. 14508 var collections_for_promo_campaign_popup_RLThjm = [ 14509 14510 ]; 14511 14512 function getCurrentProductPromoRule_campaign_popup_RLThjm() { 14513 return getWinningPromoRule_campaign_popup_RLThjm(collections_for_promo_campaign_popup_RLThjm); 14514 } 14515 14516 function isCurrentProductPromoEligible_campaign_popup_RLThjm() { 14517 return getCurrentProductPromoRule_campaign_popup_RLThjm() !== null; 14518 } 14519 14520 function formatPromoMoney_campaign_popup_RLThjm(amount) { 14521 var value = Number(amount); 14522 if (!Number.isFinite(value)) value = 0; 14523 return '$' + (Math.round(value * 100) / 100).toFixed(2).replace(/\.00$/, ''); 14524 } 14525 14526 14527 14528 function applyDiscountCodeAjax(discountCode) { 14529 const discountUrl = `/discount/${discountCode}`; 14530 fetch(discountUrl, { 14531 method: 'GET', 14532 headers: { 14533 'Content-Type': 'application/json' 14534 } 14535 }).then(response => { 14536 if (response.ok) { 14537 console.log('applyied discount.'); 14538 document.documentElement.dispatchEvent(new CustomEvent('cart:refresh', { bubbles: true})); 14539 document.documentElement.dispatchEvent(new CustomEvent("theme:loading:end", { bubbles: true })); 14540 sessionStorage.setItem('discount-'+ discountCode, discountCode); 14541 14542 } else { 14543 console.error('Failed to apply discount.'); 14544 } 14545 }).catch(error => { 14546 console.error('Error applying discount:', error); 14547 }); 14548 } 14549 14550 <!---------------------------------------- code for price manipulation + coupon appliyment in regular pages --------------------------------------> 14551 14552 14553 14554 <!----------------------------------------code for price manipulation + coupon apliyment in HOMEPAGE ----------------------------------------------> 14555 14556 14557 <!----------------------------------------code for price manipulation on collection page ----------------------------------------------> 14558 14559 14560 14561 14562 <!----------------------------------------code for price manipulation on products page ----------------------------------------------> 14563 14564 14565 14566 14567 document.addEventListener('DOMContentLoaded',showPromoMSGcampaign_popup_RLThjm()); 14568 14569<!---------------------------------------> 14570 14571</script>
14571 14572 14573 14574<style> 14575 #promotion-inline-msg-campaign_popup_RLThjm { 14576 background: linear-gradient(90deg, #CB0050 0%, #C555A7 100%); 14577 color: #fff; 14578 font-size: 13px; 14579 padding: 10px; 14580 text-align: center; 14581 text-transform: uppercase; 14582 font-weight: 600; 14583 display:none; 14584 } 14585 14586 input.user-email-campaign_popup_RLThjm { 14587 height: 52px; 14588 border-radius: 5px; 14589 border: #A1A1A1 1px solid; 14590 background: #fff; 14591 padding: 10px; 14592 font-family: Montserrat; 14593 font-size: 14px; 14594 width: 100%; 14595 } 14596 14597 14598 .error-msg-campaign_popup_RLThjm { 14599 display: none; 14600 position: absolute; 14601 color: red !important; 14602 bottom: -47px; 14603 left: 0px; 14604 background: #fff; 14605 padding: 3px 9px; 14606 margin: 0; 14607 border-radius: 5px; 14608 border-left: 1px solid red; 14609 border-right: 1px solid red; 14610 border-bottom: 1px solid red; 14611 font-size: 14px !important; 14612 } 14613 14614 #submit-email-campaign_popup_RLThjm { 14615 background: #000; 14616 display: block; 14617 padding: 15px 10px; 14618 color: #fff; 14619 text-align: center; 14620 border-radius: 28px; 14621 font-family: 'Montserrat'; 14622 font-weight: 500; 14623 margin: 15px 0px 25px; 14624 cursor: pointer; 14625 width: 100%; 14626 } 14627 14628 @media only screen and (max-width: 800px) { 14629 #promotion-inline-msg-campaign_popup_RLThjm { 14630 14631 } 14632 } 14633 </style> 14634 14635 14636 14637 14638 14639 14640 14641 14642 14643 14644 14645 <div id="promotion-inline-msg-campaign_popup_iptYpA" class="promotion-inline-msg"> 14646 14647 <p>Enjoy 40% off on subscription orders! <span onclick="clickedBadgecampaign_popup_iptYpA()">Learn More</span></p> 14648 14649 </div> 14650 14651 <div id="popup-layout-campaign_popup_iptYpA" style="display:none" class="promotion-popup_layout"> 14652 14653 <div class="promotion-popup_background"> 14654 <div class="close-promotion-popup"> <span onclick="PromoPopupcampaign_popup_iptYpA()" class="x-image campaign_popup_iptYpA"></span></div> 14655 14656 14657 <div id="without-email-campaign_popup_iptYpA" class="promotion-scroll-area"> 14658 14659 <h1> Enjoy 40% off on subscription orders!</h1> 14660 <p>We've applied 40% off discount to your cart. Use code:Â gosub.</p> 14661 14662 14663 14664 <span class="popup-product-link second" onclick="PromoPopupcampaign_popup_iptYpA()">Awesome! Let me shop</span> 14665 14666 14667 </div> 14668 14669 14670 <div id="with-email-campaign_popup_iptYpA" class="promotion-scroll-area"> 14671 14672 <!--<h1> </h1>--> 14673 <p></p> 14674 <div class="email-wraper"> 14675 <div class="close-after-subsmition-campaign_popup_iptYpA" style="position:relative"> 14676 <label for="user-email-campaign_popup_iptYpA" style="display:none" >Email</label> 14677 <input placeholder="" class="user-email-campaign_popup_iptYpA" id="user-email-campaign_popup_iptYpA"> 14678 <p class="error-msg-campaign_popup_iptYpA"></p> 14679 </div> 14680 <button class="close-after-subsmition" id="submit-email-campaign_popup_iptYpA">Submit</button> 14681 <!-- <a style="display:none" onclick="fireEventsToHeap('clicked_Hero_banner_video')" href="" class="scroll-to-campaign_popup_iptYpA"></a>--> 14682 </div> 14683 </div> 14684 14685 </div> 14686 </div> 14687 14688 14689
14690<script> 14691<!-----------------------------------------------------------------------------------------------------------------> 14692 14693 function showPromoMSGcampaign_popup_iptYpA() { 14694 const urlParams = getUrlParams(window.location.href); 14695 const showDuringSession = sessionStorage.getItem('show-promo-msg-pop_up-sub40') 14696 14697 if(urlParams.pop_up != undefined || showDuringSession === "true" ) { 14698 if(urlParams.pop_up === 'sub40' || showDuringSession === "true" ) { 14699 document.getElementById('promotion-inline-msg-campaign_popup_iptYpA').style.display = "block"; 14700 showEmailInPopup_campaign_popup_iptYpA() 14701 sessionStorage.setItem('show-promo-msg-pop_up-sub40', 'true'); 14702 14703 if(urlParams.open_popup === "true"){ 14704 clickedBadgecampaign_popup_iptYpA(); 14705 } 14706 14707 if(urlParams.show_btn === "false") { 14708 document.querySelector('.x-image.campaign_popup_iptYpA').style.display = "none" 14709 } 14710 14711 14712 14713 14714 } 14715 } 14716 } 14717 14718 14719 14720 14721 14722<!-----------------------------------------------------------------------------------------------------------------> 14723 14724 14725 function showEmailInPopup_campaign_popup_iptYpA() { 14726 const urlParams = getUrlParams(window.location.href); 14727 const showDuringSession = sessionStorage.getItem('is_email-sub40'); 14728 if(urlParams.is_email === "true" || showDuringSession === "true" ){ 14729 document.getElementById('with-email-campaign_popup_iptYpA').style.display = "block"; 14730 document.getElementById('without-email-campaign_popup_iptYpA').style.display = "none"; 14731 localStorage.setItem("viewedPopup", "true"); 14732 sessionStorage.setItem('is_email-sub40', 'true'); 14733 14734 } 14735 14736 14737 else { 14738 document.getElementById('with-email-campaign_popup_iptYpA').style.display = "none"; 14739 document.getElementById('without-email-campaign_popup_iptYpA').style.display = "block"; 14740 } 14741 } 14742 14743<!-----------------------------------------------------------------------------------------------------------------> 14744 14745 function showSMSpopup_after_applying_discount_campaign_popup_iptYpA() { 14746 if (typeof window.showSMSpopup_ === 'function') { 14747 showSMSpopup_(); 14748 localStorage.setItem('viewedPopup-klaviyo-form-SgXDwS','true') // prevent from default popup to jump 14749 } 14750 else { 14751 setTimeout(showSMSpopup_after_applying_discount_campaign_popup_iptYpA, 300); 14752 } 14753 } 14754<!-----------------------------------------------------------------------------------------------------------------> 14755 14756 function validateEmail(email) { 14757 const regex = /^[^\s@]+@[^\s@]+\.[^\s@]+$/; 14758 return regex.test(email); 14759 } 14760 14761 <!-----------------------------------------------------------------------------------------------------------------> 14762 14763 function kEventcampaign_popup_iptYpA(email) { 14764 _learnq.push(["track", "", { 14765 "Recipients": [email], 14766 "page":window.location.pathname 14767 }]); 14768 console.log('Tbyb event sent') 14769 } 14770 14771 14772<!-----------------------------------------------------------------------------------------------------------------> 14773 14774 document.getElementById('submit-email-campaign_popup_iptYpA').addEventListener('click', function() { 14775 const user_email = document.getElementsByClassName('user-email-campaign_popup_iptYpA')[0].value 14776 const is_email = validateEmail(user_email); 14777 const coupon = 'sub40' 14778 14779 if (user_email === "") { 14780 document.getElementsByClassName('error-msg-campaign_popup_iptYpA')[0].style.display = "block"; 14781 document.getElementsByClassName('error-msg-campaign_popup_iptYpA')[0].innerText = "Please add your email "; 14782 document.getElementsByClassName('user-email-campaign_popup_iptYpA')[0].style.border = "1px solid red"; 14783 setTimeout(function() { 14784 document.getElementsByClassName('error-msg-campaign_popup_iptYpA')[0].style.display = "none"; 14785 document.getElementsByClassName('user-email-campaign_popup_iptYpA')[0].style.border = "1px solid #A1A1A1" 14786 14787 },3000 ) 14788 } 14789 14790 else if(!is_email) { 14791 document.getElementsByClassName('error-msg-campaign_popup_iptYpA')[0].style.display = "block"; 14792 document.getElementsByClassName('error-msg-campaign_popup_iptYpA')[0].innerText = "Please add a valid email "; 14793 document.getElementsByClassName('user-email-campaign_popup_iptYpA')[0].style.border = "1px solid red" 14794 setTimeout(function() { 14795 document.getElementsByClassName('error-msg-campaign_popup_iptYpA')[0].style.display = "none"; 14796 document.getElementsByClassName('user-email-campaign_popup_iptYpA')[0].style.border = "1px solid #A1A1A1" 14797 14798 },3000 ) 14799 } 14800 14801 else { 14802 document.getElementById('submit-email-campaign_popup_iptYpA').innerText = "Unlocking..."; 14803 sessionStorage.getItem('show-promo-msg-pop_up-sub40') 14804 sendToHeap(''); 14805 _learnq.push(['identify', { 14806 '$email' : user_email 14807 14808 }]) 14809 if(coupon === ""){ 14810 setTimeout(function(){ 14811 kEventcampaign_popup_iptYpA(user_email) ; 14812 document.getElementsByClassName('close-after-subsmition')[0].style.display = "none"; 14813 document.getElementsByClassName('close-after-subsmition')[1].style.display = "none"; 14814 document.getElementsByClassName('scroll-to')[0].style.display = "flex"; 14815 },1000) 14816 } 14817 14818 else { 14819 setTimeout(function(){ 14820 kEventcampaign_popup_iptYpA(user_email) ; 14821 },1000) 14822 setTimeout(function(){ 14823 window.location.replace("https://yvesrocherusa.com/discount/"+coupon+"?redirect="+window.location.pathname+"&pop_up=sub40&emailSubmitted=true"); 14824 14825 },1000) 14826 } 14827 14828 } 14829 }); 14830 14831 <!-----------------------------------------------------------------------------------------------------------------> 14832 14833 14834 function PromoPopupcampaign_popup_iptYpA() { 14835 document.getElementById('popup-layout-campaign_popup_iptYpA').style.display = "none"; 14836 // localStorage.removeItem("viewedPopup"); 14837 } 14838 14839<!-----------------------------------------------------------------------------------------------------------------> 14840 14841 function popupAddtocartcampaign_popup_iptYpA(element) { 14842 var product_name = document.title 14843 document.getElementsByClassName('wd-buy_btn')[0].click() 14844 element.innerText = "Adding..." 14845 setTimeout(function() { 14846 document.getElementById('popup-layout-campaign_popup_iptYpA').style.display = "none"; 14847 element.innerText = "Add to cart" 14848 }, 1500) 14849 14850 } 14851 14852 14853<!-----------------------------------------------------------------------------------------------------------------> 14854 14855 function clickedBadgecampaign_popup_iptYpA() { 14856 document.getElementById('popup-layout-campaign_popup_iptYpA').style.display = "block"; 14857 } 14858 14859<!-----------------------------------------------------------------------------------------------------------------> 14860 14861 function getUrlParams(url) { 14862 const params = {}; 14863 const urlObj = new URL(url); 14864 14865 for (const [key, value] of urlObj.searchParams) { 14866 // Add each parameter as a key-value pair to the params object 14867 params[key] = value; 14868 } 14869 14870 return params; 14871 } 14872<!--------------------------------------------------------------------------------------------------------------------------------------> 14873 14874 /* ------------------------------------------------------- 14875 MULTI-COLLECTION PROMOTION RULES 14876 14877 Each rule has: 14878 - collection 14879 - promotion discount (decimal: 0.5 = 50%) 14880 - optional subscription discount override (decimal) 14881 14882 If a product belongs to multiple configured collections, 14883 the rule with the HIGHEST promotion discount wins. 14884 14885 If no new multi-collection rule is configured, the old 14886 eligible_collection + code_discount_value settings are 14887 used as a backwards-compatible fallback. 14888 14889 Product cards still require: 14890 data-collections="collection-handle-1,collection-handle-2" 14891 ------------------------------------------------------- */ 14892 14893 var promoRules_campaign_popup_iptYpA = [ 14894 { 14895 handle: null, 14896 discount: Number(0) || 0, 14897 subscriptionOverride: ("" === null || "" === "") 14898 ? null 14899 : (Number("") || 0) 14900 }, 14901 { 14902 handle: null, 14903 discount: Number(0) || 0, 14904 subscriptionOverride: ("" === null || "" === "") 14905 ? null 14906 : (Number("") || 0) 14907 }, 14908 { 14909 handle: null, 14910 discount: Number(0) || 0, 14911 subscriptionOverride: ("" === null || "" === "") 14912 ? null 14913 : (Number("") || 0) 14914 }, 14915 { 14916 handle: null, 14917 discount: Number(0) || 0, 14918 subscriptionOverride: ("" === null || "" === "") 14919 ? null 14920 : (Number("") || 0) 14921 }, 14922 { 14923 handle: null, 14924 discount: Number(0) || 0, 14925 subscriptionOverride: ("" === null || "" === "") 14926 ? null 14927 : (Number("") || 0) 14928 } 14929 ].filter(function(rule) { 14930 return rule.handle && rule.discount > 0; 14931 }); 14932 14933 // Backwards-compatible fallback for existing campaign blocks. 14934 if (promoRules_campaign_popup_iptYpA.length === 0) { 14935 var legacyCollection_campaign_popup_iptYpA = null; 14936 var legacyDiscount_campaign_popup_iptYpA = Number("0.143") || 0; 14937 14938 if (legacyCollection_campaign_popup_iptYpA && legacyDiscount_campaign_popup_iptYpA > 0) { 14939 promoRules_campaign_popup_iptYpA.push({ 14940 handle: legacyCollection_campaign_popup_iptYpA, 14941 discount: legacyDiscount_campaign_popup_iptYpA, 14942 subscriptionOverride: null 14943 }); 14944 } 14945 } 14946 14947 function getWinningPromoRule_campaign_popup_iptYpA(collectionHandles) { 14948 // Preserve old site-wide behavior when no collection rule exists. 14949 if (promoRules_campaign_popup_iptYpA.length === 0) { 14950 return { 14951 handle: null, 14952 discount: Number("0.143") || 0, 14953 multiplier: 1 - (Number("0.143") || 0), 14954 subscriptionOverride: null 14955 }; 14956 } 14957 14958 var handles = Array.isArray(collectionHandles) ? collectionHandles : []; 14959 var winner = null; 14960 14961 promoRules_campaign_popup_iptYpA.forEach(function(rule) { 14962 if (!handles.includes(rule.handle)) return; 14963 14964 if ( 14965 !winner || 14966 rule.discount > winner.discount || 14967 ( 14968 rule.discount === winner.discount && 14969 rule.subscriptionOverride !== null && 14970 (winner.subscriptionOverride === null || rule.subscriptionOverride > winner.subscriptionOverride) 14971 ) 14972 ) { 14973 winner = rule; 14974 } 14975 }); 14976 14977 if (!winner) return null; 14978 14979 return { 14980 handle: winner.handle, 14981 discount: winner.discount, 14982 multiplier: 1 - winner.discount, 14983 subscriptionOverride: winner.subscriptionOverride 14984 }; 14985 } 14986 14987 function getPromoRuleForCard_campaign_popup_iptYpA(productCard) { 14988 if (!productCard) return null; 14989 14990 var collectionsAttribute = productCard.getAttribute('data-collections') || '';
14991 var productCollections = collectionsAttribute 14992 .split(',') 14993 .map(function(collection) { return collection.trim(); }) 14994 .filter(Boolean); 14995 14996 return getWinningPromoRule_campaign_popup_iptYpA(productCollections); 14997 } 14998 14999 function isPromoEligible_campaign_popup_iptYpA(productCard) { 15000 return getPromoRuleForCard_campaign_popup_iptYpA(productCard) !== null; 15001 } 15002 15003 // MAIN PDP collection handles. 15004 var collections_for_promo_campaign_popup_iptYpA = [ 15005 15006 ]; 15007 15008 function getCurrentProductPromoRule_campaign_popup_iptYpA() { 15009 return getWinningPromoRule_campaign_popup_iptYpA(collections_for_promo_campaign_popup_iptYpA); 15010 } 15011 15012 function isCurrentProductPromoEligible_campaign_popup_iptYpA() { 15013 return getCurrentProductPromoRule_campaign_popup_iptYpA() !== null; 15014 } 15015 15016 function formatPromoMoney_campaign_popup_iptYpA(amount) { 15017 var value = Number(amount); 15018 if (!Number.isFinite(value)) value = 0; 15019 return '$' + (Math.round(value * 100) / 100).toFixed(2).replace(/\.00$/, ''); 15020 } 15021 15022 15023 15024 function applyDiscountCodeAjax(discountCode) { 15025 const discountUrl = `/discount/${discountCode}`; 15026 fetch(discountUrl, { 15027 method: 'GET', 15028 headers: { 15029 'Content-Type': 'application/json' 15030 } 15031 }).then(response => { 15032 if (response.ok) { 15033 console.log('applyied discount.'); 15034 document.documentElement.dispatchEvent(new CustomEvent('cart:refresh', { bubbles: true})); 15035 document.documentElement.dispatchEvent(new CustomEvent("theme:loading:end", { bubbles: true })); 15036 sessionStorage.setItem('discount-'+ discountCode, discountCode); 15037 15038 } else { 15039 console.error('Failed to apply discount.'); 15040 } 15041 }).catch(error => { 15042 console.error('Error applying discount:', error); 15043 }); 15044 } 15045 15046 <!---------------------------------------- code for price manipulation + coupon appliyment in regular pages --------------------------------------> 15047 15048 15049 15050 <!----------------------------------------code for price manipulation + coupon apliyment in HOMEPAGE ----------------------------------------------> 15051 15052 15053 <!----------------------------------------code for price manipulation on collection page ----------------------------------------------> 15054 15055 15056 15057 15058 <!----------------------------------------code for price manipulation on products page ----------------------------------------------> 15059 15060 15061 15062 15063 document.addEventListener('DOMContentLoaded',showPromoMSGcampaign_popup_iptYpA()); 15064 15065<!---------------------------------------> 15066 15067</script>
15067 15068 15069 15070<style> 15071 #promotion-inline-msg-campaign_popup_iptYpA { 15072 background: linear-gradient(90deg, #CB0050 0%, #C555A7 100%); 15073 color: #fff; 15074 font-size: 13px; 15075 padding: 10px; 15076 text-align: center; 15077 text-transform: uppercase; 15078 font-weight: 600; 15079 display:none; 15080 } 15081 15082 input.user-email-campaign_popup_iptYpA { 15083 height: 52px; 15084 border-radius: 5px; 15085 border: #A1A1A1 1px solid; 15086 background: #fff; 15087 padding: 10px; 15088 font-family: Montserrat; 15089 font-size: 14px; 15090 width: 100%; 15091 } 15092 15093 15094 .error-msg-campaign_popup_iptYpA { 15095 display: none; 15096 position: absolute; 15097 color: red !important; 15098 bottom: -47px; 15099 left: 0px; 15100 background: #fff; 15101 padding: 3px 9px; 15102 margin: 0; 15103 border-radius: 5px; 15104 border-left: 1px solid red; 15105 border-right: 1px solid red; 15106 border-bottom: 1px solid red; 15107 font-size: 14px !important; 15108 } 15109 15110 #submit-email-campaign_popup_iptYpA { 15111 background: #000; 15112 display: block; 15113 padding: 15px 10px; 15114 color: #fff; 15115 text-align: center; 15116 border-radius: 28px; 15117 font-family: 'Montserrat'; 15118 font-weight: 500; 15119 margin: 15px 0px 25px; 15120 cursor: pointer; 15121 width: 100%; 15122 } 15123 15124 @media only screen and (max-width: 800px) { 15125 #promotion-inline-msg-campaign_popup_iptYpA { 15126 15127 } 15128 } 15129 </style> 15130 15131 15132 15133 15134 15135 15136 15137 15138 15139 15140 15141 <div id="promotion-inline-msg-campaign_popup_cFpei3" class="promotion-inline-msg"> 15142 15143 <div class="not-try-badge top-page"><p class="limited-time-p"><span class="discount_value"></span> 50% off on your first order! Use code:Â sale50. </p><style> 15144 :root{ 15145 --card-bg:#fff; 15146 --card-radius:14px; 15147 --shadow:0 6px 20px rgba(0,0,0,.08); 15148 --text:#111; 15149 --muted:#8f8f8f; 15150 } 15151 .offer-countdown{ 15152 display:grid; 15153 place-items:center; 15154 gap:16px; 15155 text-align:center; 15156 font-family: 'Montserrat' !important; 15157 color:var(--text); 15158 } 15159 .offer-countdown .heading span{ 15160 font-size:18px; 15161 font-weight:600; 15162 display:block 15163 } 15164 15165 .offer-countdown .heading { 15166 font-size: 24px; 15167 font-weight: 600; 15168 text-transform: none; 15169 letter-spacing: normal; 15170 15171 } 15172 15173 .time-row{ 15174 display:flex; 15175 align-items:center; 15176 gap:16px; 15177 } 15178 15179 .time-block{ 15180 background:var(--card-bg); 15181 border-radius:var(--card-radius); 15182 box-shadow:var(--shadow); 15183 padding:12px 16px; 15184 min-width:86px; 15185 display:grid; 15186 gap:6px; 15187 } 15188 15189 .time-value{ 15190 font-weight:800; 15191 font-size:32px; 15192 line-height:1; 15193 letter-spacing: -0.025em; 15194 font-variant-numeric: tabular-nums; 15195 } 15196 15197 .time-label{ 15198 font-size:10px; 15199 text-transform:uppercase; 15200 color:var(--muted); 15201 letter-spacing: -0.025em; 15202 } 15203 15204 /* the small grey dot separators */ 15205 .dot{ 15206 width:6px; height:6px; border-radius:999px; 15207 background:#d9d9d9; 15208 } 15209 15210 /* responsive tweaks */ 15211 @media (max-width:480px){ 15212 .time-block{ min-width:74px; padding:10px 12px; } 15213 .time-value{ font-size:28px; } 15214 } 15215 15216 .offer-countdown .hero-primary-btn { 15217 width:300px 15218 } 15219</style> 15220 15221 15222 15223<section class="offer-countdown" id="trial-timer"> 15224 <div class="heading">Claim Your Trial Now 15225<span>Trials Ends in:</span></div> 15226 <div class="time-row" role="timer" aria-live="polite" aria-atomic="true"> 15227 <div class="time-block">
15228 <div class="time-value" id="cd-hours-campaign_popup_cFpei3">00</div> 15229 <div class="time-label">Hours</div> 15230 </div> 15231 <div class="dot" aria-hidden="true"></div> 15232 <div class="time-block"> 15233 <div class="time-value" id="cd-minutes-campaign_popup_cFpei3">15</div> 15234 <div class="time-label">Minutes</div> 15235 </div> 15236 <div class="dot" aria-hidden="true"></div> 15237 <div class="time-block"> 15238 <div class="time-value" id="cd-seconds-campaign_popup_cFpei3">00</div> 15239 <div class="time-label">Seconds</div> 15240 </div> 15241 </div> 15242 <div onclick="add_bundle_with_tbyb(main_product , this , false )" class="hero-primary-btn"> 15243 Try Before You Buy | $0 15244 </div> 15245</section> 15246
15247<script> 15248 function runCountDown_campaign_popup_cFpei3() { 15249 // ===== Config ===== 15250 const DURATION_SECONDS = 15 * 60; // 15 minutes from page load 15251 15252 // ===== Elements ===== 15253 const elH = document.getElementById('cd-hours-campaign_popup_cFpei3'); 15254 const elM = document.getElementById('cd-minutes-campaign_popup_cFpei3'); 15255 const elS = document.getElementById('cd-seconds-campaign_popup_cFpei3'); 15256 15257 // ===== Timer logic (stable & accurate) ===== 15258 const start = Date.now(); 15259 const end = start + DURATION_SECONDS * 1000; 15260 15261 function pad(n){ return n.toString().padStart(2,'0'); } 15262 15263 function render(msLeft){ 15264 const total = Math.max(0, Math.ceil(msLeft/1000)); 15265 const h = Math.floor(total / 3600); 15266 const m = Math.floor((total % 3600) / 60); 15267 const s = total % 60; 15268 elH.textContent = pad(h); 15269 elM.textContent = pad(m); 15270 elS.textContent = pad(s); 15271 } 15272 15273 // first paint shows 15:00 15274 render(end - Date.now()); 15275 15276 const tick = setInterval(() => { 15277 const msLeft = end - Date.now(); 15278 render(msLeft); 15279 15280 if (msLeft <= 0){ 15281 clearInterval(tick); 15282 // Optional: add a class or callback here when finished 15283 // document.getElementById('trial-timer').classList.add('finished'); 15284 } 15285 }, 1000); 15286 15287} 15288 15289runCountDown_campaign_popup_cFpei3(); 15290</script>
15290</div> 15291 15292 </div> 15293 15294 <div id="popup-layout-campaign_popup_cFpei3" style="display:none" class="promotion-popup_layout"> 15295 15296 <div class="promotion-popup_background"> 15297 <div class="close-promotion-popup"> <span onclick="PromoPopupcampaign_popup_cFpei3()" class="x-image campaign_popup_cFpei3"></span></div> 15298 15299 15300 <div id="without-email-campaign_popup_cFpei3" class="promotion-scroll-area"> 15301 15302 <h1> You got 50% off!</h1> 15303 <p>We've applied 50% off discount on your first order. Use code:Â sale50.</p> 15304 15305 15306 15307 <span class="popup-product-link second" onclick="PromoPopupcampaign_popup_cFpei3()">Awesome! Let me shop</span> 15308 15309 15310 </div> 15311 15312 15313 <div id="with-email-campaign_popup_cFpei3" class="promotion-scroll-area"> 15314 15315 <!--<h1> </h1>--> 15316 <p></p> 15317 <div class="email-wraper"> 15318 <div class="close-after-subsmition-campaign_popup_cFpei3" style="position:relative"> 15319 <label for="user-email-campaign_popup_cFpei3" style="display:none" >Email</label> 15320 <input placeholder="" class="user-email-campaign_popup_cFpei3" id="user-email-campaign_popup_cFpei3"> 15321 <p class="error-msg-campaign_popup_cFpei3"></p> 15322 </div> 15323 <button class="close-after-subsmition" id="submit-email-campaign_popup_cFpei3">Submit</button> 15324 <!-- <a style="display:none" onclick="fireEventsToHeap('clicked_Hero_banner_video')" href="" class="scroll-to-campaign_popup_cFpei3"></a>--> 15325 </div> 15326 </div> 15327 15328 </div> 15329 </div> 15330 15331 15332
15333<script> 15334<!-----------------------------------------------------------------------------------------------------------------> 15335 15336 function showPromoMSGcampaign_popup_cFpei3() { 15337 const urlParams = getUrlParams(window.location.href); 15338 const showDuringSession = sessionStorage.getItem('show-promo-msg-acq_off-true') 15339 15340 if(urlParams.acq_off != undefined || showDuringSession === "true" ) { 15341 if(urlParams.acq_off === 'true' || showDuringSession === "true" ) { 15342 document.getElementById('promotion-inline-msg-campaign_popup_cFpei3').style.display = "block"; 15343 showEmailInPopup_campaign_popup_cFpei3() 15344 sessionStorage.setItem('show-promo-msg-acq_off-true', 'true'); 15345 15346 if(urlParams.open_popup === "true"){ 15347 clickedBadgecampaign_popup_cFpei3(); 15348 } 15349 15350 if(urlParams.show_btn === "false") { 15351 document.querySelector('.x-image.campaign_popup_cFpei3').style.display = "none" 15352 } 15353 15354 15355 15356 15357 } 15358 } 15359 } 15360 15361 15362 15363 15364 15365<!-----------------------------------------------------------------------------------------------------------------> 15366 15367 15368 function showEmailInPopup_campaign_popup_cFpei3() { 15369 const urlParams = getUrlParams(window.location.href); 15370 const showDuringSession = sessionStorage.getItem('is_email-true'); 15371 if(urlParams.is_email === "true" || showDuringSession === "true" ){ 15372 document.getElementById('with-email-campaign_popup_cFpei3').style.display = "block"; 15373 document.getElementById('without-email-campaign_popup_cFpei3').style.display = "none"; 15374 localStorage.setItem("viewedPopup", "true"); 15375 sessionStorage.setItem('is_email-true', 'true'); 15376 15377 } 15378 15379 15380 else { 15381 document.getElementById('with-email-campaign_popup_cFpei3').style.display = "none"; 15382 document.getElementById('without-email-campaign_popup_cFpei3').style.display = "block"; 15383 } 15384 } 15385 15386<!-----------------------------------------------------------------------------------------------------------------> 15387 15388 function showSMSpopup_after_applying_discount_campaign_popup_cFpei3() { 15389 if (typeof window.showSMSpopup_ === 'function') { 15390 showSMSpopup_(); 15391 localStorage.setItem('viewedPopup-klaviyo-form-SgXDwS','true') // prevent from default popup to jump 15392 } 15393 else { 15394 setTimeout(showSMSpopup_after_applying_discount_campaign_popup_cFpei3, 300); 15395 } 15396 } 15397<!-----------------------------------------------------------------------------------------------------------------> 15398 15399 function validateEmail(email) { 15400 const regex = /^[^\s@]+@[^\s@]+\.[^\s@]+$/; 15401 return regex.test(email); 15402 } 15403 15404 <!-----------------------------------------------------------------------------------------------------------------> 15405 15406 function kEventcampaign_popup_cFpei3(email) { 15407 _learnq.push(["track", "", { 15408 "Recipients": [email], 15409 "page":window.location.pathname 15410 }]); 15411 console.log('Tbyb event sent') 15412 } 15413 15414 15415<!-----------------------------------------------------------------------------------------------------------------> 15416 15417 document.getElementById('submit-email-campaign_popup_cFpei3').addEventListener('click', function() { 15418 const user_email = document.getElementsByClassName('user-email-campaign_popup_cFpei3')[0].value 15419 const is_email = validateEmail(user_email); 15420 const coupon = 'sale50' 15421 15422 if (user_email === "") { 15423 document.getElementsByClassName('error-msg-campaign_popup_cFpei3')[0].style.display = "block"; 15424 document.getElementsByClassName('error-msg-campaign_popup_cFpei3')[0].innerText = "Please add your email "; 15425 document.getElementsByClassName('user-email-campaign_popup_cFpei3')[0].style.border = "1px solid red"; 15426 setTimeout(function() { 15427 document.getElementsByClassName('error-msg-campaign_popup_cFpei3')[0].style.display = "none"; 15428 document.getElementsByClassName('user-email-campaign_popup_cFpei3')[0].style.border = "1px solid #A1A1A1" 15429 15430 },3000 ) 15431 } 15432 15433 else if(!is_email) { 15434 document.getElementsByClassName('error-msg-campaign_popup_cFpei3')[0].style.display = "block"; 15435 document.getElementsByClassName('error-msg-campaign_popup_cFpei3')[0].innerText = "Please add a valid email "; 15436 document.getElementsByClassName('user-email-campaign_popup_cFpei3')[0].style.border = "1px solid red" 15437 setTimeout(function() { 15438 document.getElementsByClassName('error-msg-campaign_popup_cFpei3')[0].style.display = "none"; 15439 document.getElementsByClassName('user-email-campaign_popup_cFpei3')[0].style.border = "1px solid #A1A1A1" 15440 15441 },3000 ) 15442 } 15443 15444 else { 15445 document.getElementById('submit-email-campaign_popup_cFpei3').innerText = "Unlocking..."; 15446 sessionStorage.getItem('show-promo-msg-acq_off-true') 15447 sendToHeap(''); 15448 _learnq.push(['identify', { 15449 '$email' : user_email 15450 15451 }]) 15452 if(coupon === ""){ 15453 setTimeout(function(){ 15454 kEventcampaign_popup_cFpei3(user_email) ; 15455 document.getElementsByClassName('close-after-subsmition')[0].style.display = "none"; 15456 document.getElementsByClassName('close-after-subsmition')[1].style.display = "none"; 15457 document.getElementsByClassName('scroll-to')[0].style.display = "flex"; 15458 },1000) 15459 } 15460 15461 else { 15462 setTimeout(function(){ 15463 kEventcampaign_popup_cFpei3(user_email) ; 15464 },1000) 15465 setTimeout(function(){ 15466 window.location.replace("https://yvesrocherusa.com/discount/"+coupon+"?redirect="+window.location.pathname+"&acq_off=true&emailSubmitted=true"); 15467 15468 },1000) 15469 } 15470 15471 } 15472 }); 15473 15474 <!-----------------------------------------------------------------------------------------------------------------> 15475 15476 15477 function PromoPopupcampaign_popup_cFpei3() { 15478 document.getElementById('popup-layout-campaign_popup_cFpei3').style.display = "none"; 15479 // localStorage.removeItem("viewedPopup"); 15480 } 15481 15482<!-----------------------------------------------------------------------------------------------------------------> 15483 15484 function popupAddtocartcampaign_popup_cFpei3(element) { 15485 var product_name = document.title 15486 document.getElementsByClassName('wd-buy_btn')[0].click() 15487 element.innerText = "Adding..." 15488 setTimeout(function() { 15489 document.getElementById('popup-layout-campaign_popup_cFpei3').style.display = "none"; 15490 element.innerText = "Add to cart" 15491 }, 1500) 15492 15493 } 15494 15495 15496<!-----------------------------------------------------------------------------------------------------------------> 15497 15498 function clickedBadgecampaign_popup_cFpei3() { 15499 document.getElementById('popup-layout-campaign_popup_cFpei3').style.display = "block"; 15500 } 15501 15502<!-----------------------------------------------------------------------------------------------------------------> 15503 15504 function getUrlParams(url) { 15505 const params = {}; 15506 const urlObj = new URL(url); 15507 15508 for (const [key, value] of urlObj.searchParams) { 15509 // Add each parameter as a key-value pair to the params object 15510 params[key] = value; 15511 } 15512 15513 return params; 15514 } 15515<!--------------------------------------------------------------------------------------------------------------------------------------> 15516 15517 /* ------------------------------------------------------- 15518 MULTI-COLLECTION PROMOTION RULES 15519 15520 Each rule has: 15521 - collection 15522 - promotion discount (decimal: 0.5 = 50%) 15523 - optional subscription discount override (decimal) 15524 15525 If a product belongs to multiple configured collections, 15526 the rule with the HIGHEST promotion discount wins. 15527 15528 If no new multi-collection rule is configured, the old 15529 eligible_collection + code_discount_value settings are 15530 used as a backwards-compatible fallback. 15531 15532 Product cards still require: 15533 data-collections="collection-handle-1,collection-handle-2" 15534 ------------------------------------------------------- */ 15535 15536 var promoRules_campaign_popup_cFpei3 = [ 15537 { 15538 handle: null, 15539 discount: Number(0) || 0, 15540 subscriptionOverride: ("" === null || "" === "") 15541 ? null 15542 : (Number("") || 0) 15543 }, 15544 { 15545 handle: null, 15546 discount: Number(0) || 0, 15547 subscriptionOverride: ("" === null || "" === "") 15548 ? null 15549 : (Number("") || 0) 15550 }, 15551 { 15552 handle: null, 15553 discount: Number(0) || 0, 15554 subscriptionOverride: ("" === null || "" === "") 15555 ? null 15556 : (Number("") || 0) 15557 }, 15558 { 15559 handle: null, 15560 discount: Number(0) || 0, 15561 subscriptionOverride: ("" === null || "" === "") 15562 ? null 15563 : (Number("") || 0) 15564 }, 15565 { 15566 handle: null, 15567 discount: Number(0) || 0, 15568 subscriptionOverride: ("" === null || "" === "") 15569 ? null 15570 : (Number("") || 0) 15571 } 15572 ].filter(function(rule) { 15573 return rule.handle && rule.discount > 0; 15574 }); 15575 15576 // Backwards-compatible fallback for existing campaign blocks. 15577 if (promoRules_campaign_popup_cFpei3.length === 0) { 15578 var legacyCollection_campaign_popup_cFpei3 = "sale-monoi-sale"; 15579 var legacyDiscount_campaign_popup_cFpei3 = Number("0.5") || 0; 15580 15581 if (legacyCollection_campaign_popup_cFpei3 && legacyDiscount_campaign_popup_cFpei3 > 0) { 15582 promoRules_campaign_popup_cFpei3.push({ 15583 handle: legacyCollection_campaign_popup_cFpei3, 15584 discount: legacyDiscount_campaign_popup_cFpei3, 15585 subscriptionOverride: null 15586 }); 15587 } 15588 } 15589 15590 function getWinningPromoRule_campaign_popup_cFpei3(collectionHandles) { 15591 // Preserve old site-wide behavior when no collection rule exists. 15592 if (promoRules_campaign_popup_cFpei3.length === 0) { 15593 return { 15594 handle: null, 15595 discount: Number("0.5") || 0, 15596 multiplier: 1 - (Number("0.5") || 0), 15597 subscriptionOverride: null 15598 }; 15599 } 15600 15601 var handles = Array.isArray(collectionHandles) ? collectionHandles : []; 15602 var winner = null; 15603 15604 promoRules_campaign_popup_cFpei3.forEach(function(rule) { 15605 if (!handles.includes(rule.handle)) return; 15606 15607 if ( 15608 !winner || 15609 rule.discount > winner.discount || 15610 ( 15611 rule.discount === winner.discount && 15612 rule.subscriptionOverride !== null && 15613 (winner.subscriptionOverride === null || rule.subscriptionOverride > winner.subscriptionOverride) 15614 ) 15615 ) { 15616 winner = rule; 15617 } 15618 }); 15619 15620 if (!winner) return null; 15621 15622 return { 15623 handle: winner.handle, 15624 discount: winner.discount, 15625 multiplier: 1 - winner.discount, 15626 subscriptionOverride: winner.subscriptionOverride 15627 }; 15628 } 15629 15630 function getPromoRuleForCard_campaign_popup_cFpei3(productCard) { 15631 if (!productCard) return null; 15632 15633 var collectionsAttribute = productCard.getAttribute('data-collections') || '';
15634 var productCollections = collectionsAttribute 15635 .split(',') 15636 .map(function(collection) { return collection.trim(); }) 15637 .filter(Boolean); 15638 15639 return getWinningPromoRule_campaign_popup_cFpei3(productCollections); 15640 } 15641 15642 function isPromoEligible_campaign_popup_cFpei3(productCard) { 15643 return getPromoRuleForCard_campaign_popup_cFpei3(productCard) !== null; 15644 } 15645 15646 // MAIN PDP collection handles. 15647 var collections_for_promo_campaign_popup_cFpei3 = [ 15648 15649 ]; 15650 15651 function getCurrentProductPromoRule_campaign_popup_cFpei3() { 15652 return getWinningPromoRule_campaign_popup_cFpei3(collections_for_promo_campaign_popup_cFpei3); 15653 } 15654 15655 function isCurrentProductPromoEligible_campaign_popup_cFpei3() { 15656 return getCurrentProductPromoRule_campaign_popup_cFpei3() !== null; 15657 } 15658 15659 function formatPromoMoney_campaign_popup_cFpei3(amount) { 15660 var value = Number(amount); 15661 if (!Number.isFinite(value)) value = 0; 15662 return '$' + (Math.round(value * 100) / 100).toFixed(2).replace(/\.00$/, ''); 15663 } 15664 15665 15666 15667 function applyDiscountCodeAjax(discountCode) { 15668 const discountUrl = `/discount/${discountCode}`; 15669 fetch(discountUrl, { 15670 method: 'GET', 15671 headers: { 15672 'Content-Type': 'application/json' 15673 } 15674 }).then(response => { 15675 if (response.ok) { 15676 console.log('applyied discount.'); 15677 document.documentElement.dispatchEvent(new CustomEvent('cart:refresh', { bubbles: true})); 15678 document.documentElement.dispatchEvent(new CustomEvent("theme:loading:end", { bubbles: true })); 15679 sessionStorage.setItem('discount-'+ discountCode, discountCode); 15680 15681 } else { 15682 console.error('Failed to apply discount.'); 15683 } 15684 }).catch(error => { 15685 console.error('Error applying discount:', error); 15686 }); 15687 } 15688 15689 <!---------------------------------------- code for price manipulation + coupon appliyment in regular pages --------------------------------------> 15690 15691 15692 15693 <!----------------------------------------code for price manipulation + coupon apliyment in HOMEPAGE ----------------------------------------------> 15694 15695 15696 <!----------------------------------------code for price manipulation on collection page ----------------------------------------------> 15697 15698 15699 15700 15701 <!----------------------------------------code for price manipulation on products page ----------------------------------------------> 15702 15703 15704 15705 15706 document.addEventListener('DOMContentLoaded',showPromoMSGcampaign_popup_cFpei3()); 15707 15708<!---------------------------------------> 15709 15710</script>
15710 15711 15712 15713<style> 15714 #promotion-inline-msg-campaign_popup_cFpei3 { 15715 background: linear-gradient(90deg, #CB0050 0%, #C555A7 100%); 15716 color: #fff; 15717 font-size: 13px; 15718 padding: 10px; 15719 text-align: center; 15720 text-transform: uppercase; 15721 font-weight: 600; 15722 display:none; 15723 } 15724 15725 input.user-email-campaign_popup_cFpei3 { 15726 height: 52px; 15727 border-radius: 5px; 15728 border: #A1A1A1 1px solid; 15729 background: #fff; 15730 padding: 10px; 15731 font-family: Montserrat; 15732 font-size: 14px; 15733 width: 100%; 15734 } 15735 15736 15737 .error-msg-campaign_popup_cFpei3 { 15738 display: none; 15739 position: absolute; 15740 color: red !important; 15741 bottom: -47px; 15742 left: 0px; 15743 background: #fff; 15744 padding: 3px 9px; 15745 margin: 0; 15746 border-radius: 5px; 15747 border-left: 1px solid red; 15748 border-right: 1px solid red; 15749 border-bottom: 1px solid red; 15750 font-size: 14px !important; 15751 } 15752 15753 #submit-email-campaign_popup_cFpei3 { 15754 background: #000; 15755 display: block; 15756 padding: 15px 10px; 15757 color: #fff; 15758 text-align: center; 15759 border-radius: 28px; 15760 font-family: 'Montserrat'; 15761 font-weight: 500; 15762 margin: 15px 0px 25px; 15763 cursor: pointer; 15764 width: 100%; 15765 } 15766 15767 @media only screen and (max-width: 800px) { 15768 #promotion-inline-msg-campaign_popup_cFpei3 { 15769 15770 } 15771 } 15772 </style> 15773 15774 15775 15776 15777 15778 15779 15780 15781 15782 15783 15784 15785 15786 15787 15788 15789<style> #shopify-section-sections--26889558229285__yr_promotion_model_tAKjXB .discount_value {text-transform: none !important;} #shopify-section-sections--26889558229285__yr_promotion_model_tAKjXB #promotion-inline-msg-campaign_popup_CFmRke {display: none !important;} </style></div> 15790<!-- END sections: header-group --><!-- BEGIN sections: overlay-group --> 15791<section id="shopify-section-sections--26889559408933__cart-drawer" class="shopify-section shopify-section-group-overlay-group shopify-section--cart-drawer"> 15792 15793<cart-drawer id="cart-drawer" class="cart-drawer drawer drawer--center-body color-scheme color-scheme--scheme-2" initial-focus="false" handle-editor-events> 15794 <p class="h4" slot="header">My Cart</p> 15795 15796 15797 15798 15799 15800 15801 15802 15803 15804 15805 15806 15807
15808<script> 15809function check_cart_beauty_rewards() { 15810 fetch('/cart.js') 15811 .then(res => res.json()) 15812 .then(cart => { 15813 15814 const validCoupons = [ 15815 'beauty-reward', 15816 'weekend$20', 15817 'extra$10', 15818 'extra$20', 15819 'gosub', 15820 'sub50', 15821 'glows30', 15822 'glow50' 15823 ]; 15824 15825 const hasBeautyReward = cart.discount_codes.some(d => { 15826 const code = d.code.toLowerCase(); 15827 15828 return validCoupons.some(coupon => 15829 code.includes(coupon) 15830 ); 15831 }); 15832 15833 console.log('Beauty reward applied:', hasBeautyReward); 15834 15835 if (hasBeautyReward && cart.total_price >= 6000) { 15836 document.querySelector('.item.beauty_reward_gift_in_cart').style.display = 'block'; 15837 document.querySelector('#you-got-free-shipping-bar-in-cart .delta_from_gift').style.display = "none"; 15838 } 15839 else if( hasBeautyReward && cart.total_price <= 6000) { 15840 document.querySelector('.item.beauty_reward_gift_in_cart').style.display = 'none'; 15841 document.querySelector('#you-got-free-shipping-bar-in-cart .delta_from_gift').style.display = "flex"; 15842 } 15843 }); 15844} 15845//check_cart_beauty_rewards() 15846 15847</script>
15847 15848 15849 15850 15851<!-------------------> 15852 15853 15854 15855 15856 15857 15858<!----------------------------------- NOT Acq users section -------------------------------------------> 15859 15860 <div id="you-got-free-shipping-bar-in-cart"> 15861 15862 <div class="item"> 15863 <div class="fake-radio"><svg xmlns="http://www.w3.org/2000/svg" width="10" height="7" viewBox="0 0 10 7" fill="none"> <path d="M9 1L3.5 6L1 3.72727" stroke="white" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"></path> </svg></div> 15864 <p>Enjoy <span>$0 Coupon</span> (20%) for next purchase.</p> 15865 </div> 15866 15867 15868 15869 15870 15871 15872 <div class="item shipping shipping_delta"> 15873 <div style="background:#e8e9e2" class="fake-radio"><svg xmlns="http://www.w3.org/2000/svg" width="10" height="7" viewBox="0 0 10 7" fill="none"> <path d="M9 1L3.5 6L1 3.72727" stroke="white" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"></path> </svg></div> 15874 <p>Add <cite>$89</cite> to get <span>free shipping</span></p> 15875 </div> 15876 15877 15878 <div style="display:none" class="item delta_from_gift"> 15879 <div style="background:#e8e9e2" class="fake-radio"><svg xmlns="http://www.w3.org/2000/svg" width="10" height="7" viewBox="0 0 10 7" fill="none"> <path d="M9 1L3.5 6L1 3.72727" stroke="white" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"></path> </svg></div> 15880 <p>add $60 to get a <span>gift ($24 value)</span></p> 15881 </div> 15882 15883 </div> 15884 15885 <div style="display:none" class="item beauty_reward_gift_in_cart" > 15886 <div class="grid"> 15887 <img alt="Hair shine Vinegar" src="https://yvesrocherusa.com/cdn/shop/files/file_293afd4c-9462-48f8-9f7b-495506ecbc7e.jpg?v=1777452923&width=200"> 15888 <div> 15889 <span class="badge">Beauty Reward Gift</span> 15890 <p class="title">Hair Shine Vinegar (150ml)</p> 15891 </div> 15892 <p class="free">FREE <span class="old_price">$22</span></p> 15893 </div> 15894 </div>
15895<script> 15896function show_right_shiping_rate(){ 15897 var cart_total_price = 0.0; 15898 var delta_to_free_shipping = 89 - cart_total_price; 15899 if(localStorage.getItem('Tier shipping') === 'Free Above $89'){ 15900 if(delta_to_free_shipping >0){ 15901 document.querySelector('#you-got-free-shipping-bar-in-cart cite').innerText = '$'+delta_to_free_shipping.toFixed(2) 15902 } 15903 15904 } 15905 15906 else { 15907 document.querySelector('#you-got-free-shipping-bar-in-cart .item.shipping').style.display = 'none' 15908 } 15909} 15910//show_right_shiping_rate(); 15911 15912</script>
15912 15913 15914<style> 15915#you-got-free-shipping-bar-in-cart { 15916 position:relative; 15917 15918} 15919 15920.item.beauty_reward_gift_in_cart .free { 15921 font-family: 'Montserrat'; 15922 font-size: 13px; 15923 font-weight: 600; 15924 line-height: 1.2; 15925} 15926 15927.item.beauty_reward_gift_in_cart .free span.old_price { 15928 display: block; 15929 text-decoration: line-through; 15930 font-weight: 400; 15931} 15932 15933.item.beauty_reward_gift_in_cart .badge { 15934 color: #cb0050; 15935 text-align: left; 15936 padding: 0; 15937 font-family: 'Montserrat'; 15938 font-weight: 700; 15939} 15940 15941#you-got-free-shipping-bar-in-cart { 15942color: var(--charcoal, #2C2C2C); 15943 font-family: Montserrat; 15944 font-size: 12px; 15945 font-style: normal; 15946 font-weight: 500; 15947 line-height: normal; 15948 padding: 11px; 15949 align-items: center; 15950 gap: 10px; 15951 display: grid; 15952 border-radius: 10px !important; 15953 border: 1px solid var(--gray-400, #A3A3A3); 15954 background: var(--light-green, #F2F8F5); 15955 box-shadow: 0 2px 10px 0 rgba(0, 0, 0, 0.05); 15956 text-transform: capitalize; 15957} 15958 15959#you-got-free-shipping-bar-in-cart .item { 15960 display: flex; 15961 gap: 10px; 15962 align-items: center; 15963} 15964 15965#you-got-free-shipping-bar-in-cart .item .fake-radio { 15966 background: #245732; 15967 border-radius: 37px; 15968 height: 15px; 15969 width: 15px; 15970 display: flex; 15971 align-items: center; 15972 justify-content: center; 15973} 15974 15975 #you-got-free-shipping-bar-in-cart img { 15976 position:absolute; 15977 top:0; 15978 left:0; 15979 right:0; 15980 bottom:0; 15981 display:none; 15982 } 15983 15984 #you-got-free-shipping-bar-in-cart .item span { 15985 color: var(--Botanical, #00772F); 15986 font-family: Montserrat; 15987 font-size: 12px; 15988 font-style: normal; 15989 font-weight: 700; 15990 line-height: normal; 15991} 15992 15993 .item.beauty_reward_gift_in_cart .grid { 15994 display: grid; 15995 grid-template-columns: 65px auto 65px; 15996 align-items: center; 15997 border-radius: 8px; 15998 padding: 4px; 15999 border: 1px solid rgb(232, 233, 226); 16000 gap: 10px; 16001 font-family: Montserrat; 16002 font-size: 13px; 16003 margin-top: 10px; 16004 position: relative; 16005} 16006 16007</style> 16008 16009 16010 16011 16012 16013 16014 16015 16016 16017 16018 16019 16020 16021 16022 16023 16024 16025 16026<div class="refresh-cart"> 16027 <div class="refresh-cart-box"> 16028 <p>Your cart needs a tiny refresh. <br>Think of it as a power nap for better performance ð¤</p> 16029 <div onclick="remove_try_discounts(this)" class="refresh-cart-button">Refresh Now</div> 16030 </div> 16031</div> 16032 16033
16034<script> 16035function applyDiscount(registered, element){ 16036 // var registered = registered; 16037 element.innerText = "applying..." 16038 localStorage.setItem('clubsave120-applied','true'); 16039 if(registered === true){ 16040 //window.location.href = 'https://yvesrocherusa.com/discount/CLUBSAVE120?redirect='+ window.location.pathname; 16041 applyDiscountCodeTry('CLUBSAVE150') 16042 } 16043 16044 else { 16045 window.location.href = "https://yvesrocherusa.com/discount/CLUBSAVE120?redirect=/account/login" 16046 } 16047 } 16048 16049function remove_try_discounts(element){ 16050 removeItemToCart('50195860652325', 0, true); 16051 element.innerText = 'Refreshing Cart...' 16052 sessionStorage.setItem('try_discount_was_removed','true') 16053 sessionStorage.setItem('discount','') 16054} 16055 16056function applyDiscountCodeTry(discountCode) { 16057 const discountUrl = `/discount/${discountCode}?redirect=/cart`; 16058 fetch(discountUrl, { 16059 method: 'GET', 16060 headers: { 16061 'Content-Type': 'application/json' 16062 } 16063 }).then(response => { 16064 if (response.ok) { 16065 } else { 16066 console.error('Failed to apply discount.'); 16067 } 16068 }).catch(error => { 16069 console.error('Error applying discount:', error); 16070 }); 16071} 16072 16073 // applyDiscountCodeTry('86JTZ5FEYJDS'); 16074 16075 16076 16077async function addItemToCart(variant_id) { 16078 16079 var addData = { 16080 id: variant_id, 16081 quantity: 1, 16082 }; 16083 fetch('/cart/add.js', { 16084 body: JSON.stringify(addData), 16085 credentials: 'same-origin', 16086 headers: { 16087 'Content-Type': 'application/json', 16088 'X-Requested-With': 'xmlhttprequest', 16089 }, 16090 method: 'POST', 16091 }) 16092 .then(function (response) { 16093 document.documentElement.dispatchEvent(new CustomEvent("theme:loading:start", { bubbles: true })); 16094 return response.json(); 16095 }) 16096 .then(function (json) { 16097 //document.documentElement.dispatchEvent(new CustomEvent("theme:loading:start", { bubbles: true })); 16098 document.documentElement.dispatchEvent(new CustomEvent('cart:refresh', { bubbles: true})); 16099 document.documentElement.dispatchEvent(new CustomEvent("theme:loading:end", { bubbles: true })); 16100 16101 Shopify.analytics.publish("cart_carousel_added_to_cart", { 16102 product_id: variant_id 16103 }); 16104 16105 }) 16106 .catch(function (err) { 16107 console.error(err); 16108 16109 Shopify.analytics.publish("cart_carousel_failed_to_add", { 16110 product_id: variant_id 16111 }); 16112 }); 16113 } 16114 16115 16116 async function removeItemToCart(variant_id , qty, removeDiscount) { 16117 16118 var addData = { 16119 id: variant_id, 16120 quantity: qty, 16121 }; 16122 fetch('/cart/change.js', { 16123 body: JSON.stringify(addData), 16124 credentials: 'same-origin', 16125 headers: { 16126 'Content-Type': 'application/json', 16127 'X-Requested-With': 'xmlhttprequest', 16128 }, 16129 method: 'POST', 16130 }) 16131 .then(function (response) { 16132 document.documentElement.dispatchEvent(new CustomEvent("theme:loading:start", { bubbles: true })); 16133 return response.json(); 16134 }) 16135 .then(function (json) { 16136 //document.documentElement.dispatchEvent(new CustomEvent("theme:loading:start", { bubbles: true })); 16137 document.documentElement.dispatchEvent(new CustomEvent('cart:refresh', { bubbles: true})); 16138 document.documentElement.dispatchEvent(new CustomEvent("theme:loading:end", { bubbles: true })); 16139 if(removeDiscount === true){ 16140 window.location.href="/discount/clear?redirect="+ window.location.pathname 16141 } 16142 16143 16144 }) 16145 .catch(function (err) { 16146 console.error(err); 16147 16148 16149 }); 16150 } 16151 16152 16153 16154function update_cart_with_old_discounts(){ 16155 const original_order = sessionStorage.getItem('discount'); 16156 applyDiscountCodeTry(original_order); 16157 } 16158 16159 16160async function tbyb_remove_max_limit(variant_id , qty, element) { 16161 if(element != null){ 16162 element.innerText = 'Removing...'; 16163 } 16164 var addData = { 16165 id: variant_id, 16166 quantity: qty, 16167 }; 16168 fetch('/cart/change.js', { 16169 body: JSON.stringify(addData), 16170 credentials: 'same-origin', 16171 headers: { 16172 'Content-Type': 'application/json', 16173 'X-Requested-With': 'xmlhttprequest', 16174 }, 16175 method: 'POST', 16176 }) 16177 .then(function (response) { 16178 document.documentElement.dispatchEvent(new CustomEvent("theme:loading:start", { bubbles: true })); 16179 return response.json(); 16180 }) 16181 .then(function (json) { 16182 //document.documentElement.dispatchEvent(new CustomEvent("theme:loading:start", { bubbles: true })); 16183 16184 window.location.href="/cart" 16185 16186 16187 16188 16189 }) 16190 .catch(function (err) { 16191 console.error(err); 16192 16193 16194 }); 16195 } 16196 16197 16198</script>
16198 16199 16200 16201 16202 16203 16204 16205 16206
16206<script> 16207 16208 </script>
16208 16209 16210 16211 16212 16213 16214 16215 16216 16217 16218 16219 16220 16221 16222 16223 16224 16225 16226 16227 16228 16229 16230<style> 16231.tbyb-max-limit-box-action { 16232 display:block; 16233 font-weight: 600; 16234 padding-top:10px 16235} 16236.refresh-cart , .tbyb-max-limit-container { 16237 position: fixed; 16238 top: 0; 16239 right: 0; 16240 left: 0; 16241 bottom: 0; 16242 background: rgb(255, 255, 255, 0.7); 16243 z-index: 99999; 16244 font-size: 18px; 16245 align-items: center; 16246 display:none; 16247} 16248 16249span.product-removed-quantity { 16250 width: 14px; 16251 height: 14px; 16252 display: inline-grid; 16253 text-align: center; 16254 background: #F4F0E9; 16255 color: #000; 16256 font-weight: 500; 16257 font-family: 'Montserrat'; 16258 border-radius: 20px; 16259 /* padding: 2px; */ 16260 align-items: center; 16261} 16262 16263 16264.order-level-discount { display:none} 16265.free-shipping-upsell {display:none} 16266 16267 16268.refresh-cart-box , .tbyb-max-limit-box { 16269 width: 90%; 16270 margin: 0 auto; 16271 background: #fff; 16272 opacity: 1; 16273 border-radius: 12px; 16274 border: 1px solid #C7D8E8; 16275 background: #FFFFFE; 16276 box-shadow: 0px 2px 9px 0px rgba(101, 201, 64, 0.20), 0px -4px 16px 0px rgba(0, 0, 0, 0.06); 16277 padding: 20px; 16278 text-align: center; 16279 font-size: 16px; 16280 line-height: 1.3; 16281 max-width: 350px; 16282} 16283.refresh-cart-button { 16284 border-radius: 36px; 16285 border: 1px solid rgba(255, 255, 255, 0.12); 16286 background: #272E0F; 16287 box-shadow: 0px 1px 1px 0px rgba(255, 255, 255, 0.02) inset, 0px 6px 12px 0px rgba(255, 255, 255, 0.12) inset, 0px 4px 8px 3px rgba(0, 0, 0, 0.12), 0px 1px 3px 0px rgba(0, 0, 0, 0.20); 16288 color: #fff; 16289 display: flex; 16290 height: 40px; 16291 padding: 9px 25px; 16292 justify-content: center; 16293 align-items: center; 16294 gap: 4px; 16295 flex: 1 0 0; 16296 margin-top: 12px; 16297 cursor: pointer; 16298} 16299 16300.tbyb-max-limit-box p { 16301 font-family: Montserrat; 16302 font-size: 14px; 16303 margin-bottom: 15px; 16304} 16305.product-to-remove { 16306 display: grid; 16307 grid-template-columns: 20% 50% 26%; 16308 margin-bottom: 15px; 16309 align-items: center; 16310 gap: 2%; 16311 width: 100%; 16312} 16313 16314.product-to-remove img { 16315 border-radius: 4px; 16316} 16317.tbyb-max-limit-box .product-to-remove p { 16318 text-align: left; 16319 font-size: 12px; 16320 font-family: Montserrat; 16321 margin-bottom: 0; 16322} 16323 16324.remove-button { 16325 display: flex; 16326 height: 30px; 16327 padding: 9px 25px; 16328 justify-content: center; 16329 align-items: center; 16330 gap: 4px; 16331 border-radius: 36px; 16332 box-shadow: 0px 1px 1px 0px rgba(255, 255, 255, 0.02) inset, 0px 6px 12px 0px rgba(255, 255, 255, 0.12) inset, 0px 4px 8px 3px rgba(0, 0, 0, 0.12), 0px 1px 3px 0px rgba(0, 0, 0, 0.20); 16333 color: #FFFFFF; 16334 font-family: 'Montserrat'; 16335 font-size: 11px; 16336 font-style: normal; 16337 font-weight: 600; 16338 line-height: normal; 16339 text-transform: uppercase; 16340 letter-spacing: unset; 16341 background: rgb(39 46 15); 16342 margin-top: 0; 16343 width: 100%; 16344 cursor: pointer;
16345 align-items: center; 16346} 16347</style> 16348 16349 16350 16351 16352 16353 16354 16355 16356 16357<p class="h5 text-center">Your cart is empty</p></cart-drawer> 16358 16359 16360<style> 16361.gfgPageWrapper , .gfgCartPageWrapperV2 , .gfgUnifiedDiscountWrapper { display:none} 16362 .cart-drawer__footer .try-promo-in-cart {margin-bottom:0} 16363 16364#cart-drawer .order-level-discount { 16365 margin-bottom: 10px; 16366 justify-content: space-between; 16367} 16368</style> 16369
16370<script> 16371 16372 16373 16374 function show_discount_badge_cart(element) { 16375 var lineItemContainer = element.closest('.line-item-info'); 16376 lineItemContainer.querySelector('.discount-badge').classList.toggle('hide') 16377 } 16378 16379 function hideGorgiasButton() { 16380 const style = document.createElement('style'); 16381 style.innerHTML = "div#gorgias-chat-container { display: none; }"; 16382 document.body.appendChild(style); 16383 } 16384 //hideGorgiasButton(); 16385 16386 16387 16388 16389</script>
16389 16390 16391<style> #shopify-section-sections--26889559408933__cart-drawer #cart-drawer {z-index: 999999999999999;} </style></section><div id="shopify-section-sections--26889559408933__email_and_sms_subscribers_a8CJLG" class="shopify-section shopify-section-group-overlay-group Email_SMS_Subscribers"> 16392 16393 16394 16395 16396 16397<style> 16398#shopify-section-sections--26889559408933__email_and_sms_subscribers_a8CJLG .floating-tiser-button_klaviyo_form_V4czcq svg { 16399position:static; 16400width:16px 16401} 16402 16403 16404 16405 16406 16407#shopify-section-sections--26889559408933__email_and_sms_subscribers_a8CJLG .sms_popup_sucess_layout-klaviyo-form-V4czcq .sms-scroll-area p.tbyb-title , 16408#shopify-section-sections--26889559408933__email_and_sms_subscribers_a8CJLG .sms_popup_sucess_layout- .sms-scroll-area p.tbyb-title { 16409 margin: 0px auto 15px; 16410} 16411 16412#shopify-section-sections--26889559408933__email_and_sms_subscribers_a8CJLG .sms_popup_sucess_layout-klaviyo-form-V4czcq .sms_popup_background , 16413#shopify-section-sections--26889559408933__email_and_sms_subscribers_a8CJLG .sms_popup_sucess_layout- .sms_popup_background { 16414 background-image: url(https://cdn.shopify.com/s/files/1/0864/6741/2261/files/A_NEW_SHINY_ERA..gif?v=1719919613); 16415 background-size: cover; 16416 background-position: bottom; 16417 gap:10px 16418 } 16419 16420#shopify-section-sections--26889559408933__email_and_sms_subscribers_a8CJLG .floating-promo-button , .floating-tiser-button_klaviyo_form_V4czcq , 16421#shopify-section-sections--26889559408933__email_and_sms_subscribers_a8CJLG .floating-tiser-button_ { 16422 border-radius: 98px; 16423 background:#245732; 16424 box-shadow: 0px 1px 2px 0px rgba(0, 0, 0, 0.25), 0px 2px 2px 0px rgba(91, 199, 116, 0.50), 0px 6px 16px 0px rgba(0, 0, 0, 0.09); 16425 padding: 4px; 16426 width: max-content; 16427 cursor: pointer; 16428 position: fixed; 16429 bottom: 30px; 16430 right: 30px; 16431 z-index: 999; 16432 display:none 16433} 16434 16435#shopify-section-sections--26889559408933__email_and_sms_subscribers_a8CJLG .floating-promo-button p , .floating-tiser-button_klaviyo_form_V4czcq p , 16436#shopify-section-sections--26889559408933__email_and_sms_subscribers_a8CJLG .floating-tiser-button_ p { 16437 display: grid; 16438 grid-template-columns: auto; 16439 gap: 5px; 16440 color: #FFF; 16441 font-family: Montserrat; 16442 font-size: 14px; 16443 font-style: normal; 16444 font-weight: 700; 16445 line-height: normal; 16446 align-items: center; 16447 padding: 8px 15px 8px 10px; 16448 border-radius: 52px; 16449 border: 1px solid rgba(255, 255, 255, 0.40); 16450 text-transform: uppercase; 16451} 16452 16453#shopify-section-sections--26889559408933__email_and_sms_subscribers_a8CJLG .floating-tiser-button_klaviyo_form_V4czcq p , 16454#shopify-section-sections--26889559408933__email_and_sms_subscribers_a8CJLG .floating-tiser-button_ p 16455{ 16456 display: grid; 16457 grid-template-columns: auto auto; 16458 align-items: center; 16459} 16460 16461#shopify-section-sections--26889559408933__email_and_sms_subscribers_a8CJLG .sms_popup_layout-klaviyo-form-V4czcq p.tbyb-title , 16462#shopify-section-sections--26889559408933__email_and_sms_subscribers_a8CJLG .sms_popup_layout- p.tbyb-title , 16463#shopify-section-sections--26889559408933__email_and_sms_subscribers_a8CJLG .sms_popup_sucess_layout-klaviyo-form-V4czcq p.tbyb-title , 16464#shopify-section-sections--26889559408933__email_and_sms_subscribers_a8CJLG .sms_popup_sucess_layout- p.tbyb-title 16465{ 16466 border-radius: 8px; 16467 background: #FE2C55; 16468 width: max-content; 16469 color: #fff; 16470 text-align: center; 16471 font-family: Montserrat; 16472 font-size: 13px; 16473 font-style: normal; 16474 font-weight: 500; 16475 line-height: 130%; 16476 letter-spacing: 0.16px; 16477 text-transform: uppercase; 16478 margin: 19px auto 15px; 16479 padding: 3px 10px; 16480} 16481 16482#shopify-section-sections--26889559408933__email_and_sms_subscribers_a8CJLG .tiser { 16483 border-radius: 16px; 16484 background: linear-gradient(156deg, #C6D7E7 18.92%, #F2E3E1 54.22%, #F7E7C9 85.52%); 16485 padding: 12px; 16486 margin: 0; 16487} 16488 16489#shopify-section-sections--26889559408933__email_and_sms_subscribers_a8CJLG .tiser-iamages-container { 16490 border-radius: 13px; 16491 background: #FFF; 16492 padding: 13px; 16493 display: grid; 16494 grid-template-columns: auto auto auto; 16495 gap: 10px; 16496} 16497 16498#shopify-section-sections--26889559408933__email_and_sms_subscribers_a8CJLG .tiser-iamages-container img { 16499 width: 100%; 16500 border-radius: 8px; 16501 opacity: 0.6; 16502 background: url(<path-to-image>) lightgray 50% / cover no-repeat; 16503 filter: blur(1.5px); 16504 display: inline; 16505} 16506 16507#shopify-section-sections--26889559408933__email_and_sms_subscribers_a8CJLG .sms_popup_layout-klaviyo-form-V4czcq , 16508#shopify-section-sections--26889559408933__email_and_sms_subscribers_a8CJLG .sms_popup_layout- , 16509#shopify-section-sections--26889559408933__email_and_sms_subscribers_a8CJLG .sms_popup_sucess_layout-klaviyo-form-V4czcq , 16510#shopify-section-sections--26889559408933__email_and_sms_subscribers_a8CJLG .sms_popup_sucess_layout- 16511{ 16512 background: rgba(255, 255, 255, 0.70); 16513 backdrop-filter: blur(10px); 16514 -webkit-backdrop-filter: blur(10px)!important; 16515 display:none; 16516 position: fixed; 16517 top: 0; 16518 right: 0; 16519 left: 0; 16520 bottom: 0; 16521 z-index: 99999; 16522 overflow:scroll 16523} 16524 16525#shopify-section-sections--26889559408933__email_and_sms_subscribers_a8CJLG .sms_popup_background { 16526 background: #fff; 16527 width: 377px; 16528 flex-shrink: 0; 16529 border-radius: 16px; 16530 background: var(--control-background, #FFF); 16531 box-shadow: 0px 8px 32px 0px rgba(0, 0, 0, 0.25); 16532 margin:50px auto 0 auto ; 16533 padding: 0 0px 8px; 16534 overflow:scroll; 16535 position:relative; 16536 16537} 16538 16539#shopify-section-sections--26889559408933__email_and_sms_subscribers_a8CJLG .close-SMS-popup { 16540 text-align: right; 16541 padding: 11px 0px 11px 0px; 16542 border-bottom: 0px #E8EAE5 solid; 16543 position: relative; 16544 height: 56px; 16545 margin: 0 10px; 16546 16547} 16548 16549#shopify-section-sections--26889559408933__email_and_sms_subscribers_a8CJLG .SMS-img { 16550 color: #0000; 16551 max-width: 100%; 16552 height: auto; 16553 width: 345px; 16554 /* height: 160px; */ 16555 flex-shrink: 0; 16556 margin: 0 auto; 16557 border-radius: 5px; 16558 padding-top: 15px; 16559} 16560 16561#shopify-section-sections--26889559408933__email_and_sms_subscribers_a8CJLG .sms_popup_layout-klaviyo-form-V4czcq p , 16562 #shopify-section-sections--26889559408933__email_and_sms_subscribers_a8CJLG .sms_popup_layout- p , 16563#shopify-section-sections--26889559408933__email_and_sms_subscribers_a8CJLG .sms_popup_sucess_layout-klaviyo-form-V4czcq p , 16564#shopify-section-sections--26889559408933__email_and_sms_subscribers_a8CJLG .sms_popup_sucess_layout- p 16565 { 16566 color: #272E0F; 16567 text-align: center; 16568 font-family: Montserrat; 16569 font-size: 14px; 16570 font-style: normal; 16571 font-weight: 300; 16572 line-height: normal; 16573 letter-spacing: 0.15px; 16574 margin-top: 4px; 16575 16576 } 16577 16578#shopify-section-sections--26889559408933__email_and_sms_subscribers_a8CJLG .sms_popup_layout-klaviyo-form-V4czcq .klaviyo-form-V4czcq p { 16579font-size:12px 16580} 16581 16582#shopify-section-sections--26889559408933__email_and_sms_subscribers_a8CJLG .sms_popup_layout-klaviyo-form-V4czcq h1 , 16583#shopify-section-sections--26889559408933__email_and_sms_subscribers_a8CJLG .sms_popup_layout- h1 , 16584#shopify-section-sections--26889559408933__email_and_sms_subscribers_a8CJLG .sms_popup_sucess_layout-klaviyo-form-V4czcq h1 , 16585#shopify-section-sections--26889559408933__email_and_sms_subscribers_a8CJLG .sms_popup_sucess_layout- h1 16586 { 16587 color: #272E0F; 16588 text-align: center; 16589 font-family: Montserrat; 16590 font-size: 28px; 16591 font-style: normal; 16592 font-weight: 700; 16593 line-height: 130%; /* 26px */ 16594 letter-spacing: 0.2px; 16595 text-transform: uppercase; 16596 margin-top: 10px; 16597 } 16598 16599 .sms-scroll-area { 16600 max-height: 620px; 16601 overflow: scroll; 16602 PADDING: 0 10px; 16603 overflow: auto; 16604 scrollbar-width: none !important; 16605 -ms-overflow-style: none !important; 16606} 16607 16608#shopify-section-sections--26889559408933__email_and_sms_subscribers_a8CJLG .x-image { 16609 background-image: url(https://cdn.shopify.com/s/files/1/0864/6741/2261/files/fi_x.png?v=1720125482); 16610 width: 24px !important; 16611 height: 24px; 16612 display: block; 16613 background-size: contain; 16614 position: absolute; 16615 right: 0; 16616 top: 16px; 16617 cursor: pointer; 16618 } 16619 16620 16621 #shopify-section-sections--26889559408933__email_and_sms_subscribers_a8CJLG .present-image { 16622 background-image: url(https://cdn.shopify.com/s/files/1/0864/6741/2261/files/fi_gift_1.png?v=1720133225); 16623 width: 21px !important; 16624 height: 21px; 16625 display: block; 16626 background-size: contain; 16627 position: absolute; 16628 left: 0; 16629 top: 19px; 16630 cursor: pointer; 16631 width: 217px !important; 16632 display: block; 16633 background-repeat: no-repeat; 16634 color: #272E0F; 16635 font-family: Montserrat; 16636 font-size: 14px; 16637 font-style: normal; 16638 font-weight: 600; 16639 line-height: normal; 16640 line-height: 22px; 16641 } 16642 16643#shopify-section-sections--26889559408933__email_and_sms_subscribers_a8CJLG .visit-tbyb { 16644 display: flex; 16645 height: 48px; 16646 padding: 9px 25px; 16647 justify-content: center;
16648 align-items: center; 16649 gap: 4px; 16650 flex: 1 0 0; 16651 border-radius: 36px; 16652 border: 1px solid rgba(255, 255, 255, 0.12); 16653 background: #272E0F; 16654 box-shadow: 0px 1px 1px 0px rgba(255, 255, 255, 0.02) inset, 0px 6px 12px 0px rgba(255, 255, 255, 0.12) inset, 0px 4px 8px 3px rgba(0, 0, 0, 0.12), 0px 1px 3px 0px rgba(0, 0, 0, 0.20); 16655 color: #fff; 16656 font-family: Montserrat; 16657 font-weight: 500; 16658 margin: 20px; 16659} 16660 16661#shopify-section-sections--26889559408933__email_and_sms_subscribers_a8CJLG .sms_popup_layout-klaviyo-form-V4czcq .not-try-badge .offer-countdown .heading , 16662#shopify-section-sections--26889559408933__email_and_sms_subscribers_a8CJLG .sms_popup_layout- .not-try-badge .offer-countdown .heading 16663 { 16664display:none 16665} 16666 16667#shopify-section-sections--26889559408933__email_and_sms_subscribers_a8CJLG .sms_popup_layout-klaviyo-form-V4czcq .not-try-badge .offer-countdown { 16668justify-content: end; 16669} 16670 16671#shopify-section-sections--26889559408933__email_and_sms_subscribers_a8CJLG .sms_popup_layout-klaviyo-form-V4czcq .not-try-badge .time-value , 16672#shopify-section-sections--26889559408933__email_and_sms_subscribers_a8CJLG .sms_popup_layout- .not-try-badge .time-value 16673{ 16674 letter-spacing: -0.025em; 16675 font-variant-numeric: tabular-nums; 16676 color: #F9FAF7; 16677 text-align: center; 16678 font-family: Montserrat; 16679 font-size: 14px; 16680 font-style: normal; 16681 font-weight: 600; 16682 line-height: normal; 16683} 16684 16685#shopify-section-sections--26889559408933__email_and_sms_subscribers_a8CJLG .sms_popup_layout-klaviyo-form-V4czcq .not-try-badge .time-label , 16686#shopify-section-sections--26889559408933__email_and_sms_subscribers_a8CJLG .sms_popup_layout- .not-try-badge .time-label 16687{ 16688 letter-spacing: -0.025em; 16689 color: rgba(249, 250, 247, 0.60); 16690 font-family: Montserrat; 16691 font-size: 8px; 16692 font-style: normal; 16693 font-weight: 300; 16694 line-height: normal; 16695 letter-spacing: -0.08px; 16696 text-transform: uppercase; 16697} 16698 16699#shopify-section-sections--26889559408933__email_and_sms_subscribers_a8CJLG .sms_popup_layout-klaviyo-form-V4czcq .not-try-badge .time-block , 16700#shopify-section-sections--26889559408933__email_and_sms_subscribers_a8CJLG .sms_popup_layout- .not-try-badge .time-block 16701{ 16702 border-radius: 8px; 16703 background: transparent; 16704 box-shadow: 0 1px 0 0 rgba(0, 0, 0, 0.00), 0 1px 0 0 rgba(0, 0, 0, 0.01); 16705 color: #fff; 16706 min-width: unset; 16707 gap:0; 16708 padding: 4px 8px; 16709} 16710 16711#shopify-section-sections--26889559408933__email_and_sms_subscribers_a8CJLG .sms_popup_layout-klaviyo-form-V4czcq .not-try-badge .hero-primary-btn , 16712#shopify-section-sections--26889559408933__email_and_sms_subscribers_a8CJLG .sms_popup_layout- .not-try-badge .hero-primary-btn 16713{ 16714display:none 16715} 16716 16717 16718#shopify-section-sections--26889559408933__email_and_sms_subscribers_a8CJLG .sms_popup_layout-klaviyo-form-V4czcq .not-try-badge .time-row , 16719#shopify-section-sections--26889559408933__email_and_sms_subscribers_a8CJLG .sms_popup_layout- .not-try-badge .time-row 16720{ 16721gap: 1px; 16722border-radius: 8px; 16723background: #245732; 16724} 16725 16726#shopify-section-sections--26889559408933__email_and_sms_subscribers_a8CJLG .sms_popup_layout-klaviyo-form-V4czcq .not-try-badge .dot , 16727#shopify-section-sections--26889559408933__email_and_sms_subscribers_a8CJLG .sms_popup_layout- .not-try-badge .dot 16728{ 16729 width: 3px; 16730 height: 3px; 16731 border-radius: 999px; 16732 background: #d9d9d9; 16733} 16734 16735#shopify-section-sections--26889559408933__email_and_sms_subscribers_a8CJLG . p { 16736 font-size:12px !important 16737} 16738</style> 16739 16740 16741 16742<div class="sms_popup_layout-klaviyo-form-V4czcq"> 16743 16744 <div class="sms_popup_background"> 16745 <div class="image-banner-box"><img alt="subscribe to get promo" style="width:100%" src="https://cdn.shopify.com/s/files/1/0864/6741/2261/files/LSB_24008_1.png?v=1776836958" /></div> 16746 <div class="not-try-badge "> 16747 <span onclick="closeSMSpopup_with_tiserklaviyo_form_V4czcq_1() " 16748 class="x-image"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none"> <path d="M18 6L6 18" stroke="white" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/> <path d="M6 6L18 18" stroke="white" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/> </svg> 16749 </span> 16750 <p class="limited-time-p">Limited time Offer</p> 16751 <style> 16752 :root{ 16753 --card-bg:#fff; 16754 --card-radius:14px; 16755 --shadow:0 6px 20px rgba(0,0,0,.08); 16756 --text:#111; 16757 --muted:#8f8f8f; 16758 } 16759 .offer-countdown{ 16760 display:grid; 16761 place-items:center; 16762 gap:16px; 16763 text-align:center; 16764 font-family: 'Montserrat' !important; 16765 color:var(--text); 16766 } 16767 .offer-countdown .heading span{ 16768 font-size:18px; 16769 font-weight:600; 16770 display:block 16771 } 16772 16773 .offer-countdown .heading { 16774 font-size: 24px; 16775 font-weight: 600; 16776 text-transform: none; 16777 letter-spacing: normal; 16778 16779 } 16780 16781 .time-row{ 16782 display:flex; 16783 align-items:center; 16784 gap:16px; 16785 } 16786 16787 .time-block{ 16788 background:var(--card-bg); 16789 border-radius:var(--card-radius); 16790 box-shadow:var(--shadow); 16791 padding:12px 16px; 16792 min-width:86px; 16793 display:grid; 16794 gap:6px; 16795 } 16796 16797 .time-value{ 16798 font-weight:800; 16799 font-size:32px; 16800 line-height:1; 16801 letter-spacing: -0.025em; 16802 font-variant-numeric: tabular-nums; 16803 } 16804 16805 .time-label{ 16806 font-size:10px; 16807 text-transform:uppercase; 16808 color:var(--muted); 16809 letter-spacing: -0.025em; 16810 } 16811 16812 /* the small grey dot separators */ 16813 .dot{ 16814 width:6px; height:6px; border-radius:999px; 16815 background:#d9d9d9; 16816 } 16817 16818 /* responsive tweaks */ 16819 @media (max-width:480px){ 16820 .time-block{ min-width:74px; padding:10px 12px; } 16821 .time-value{ font-size:28px; } 16822 } 16823 16824 .offer-countdown .hero-primary-btn { 16825 width:300px 16826 } 16827</style> 16828 16829 16830 16831<section class="offer-countdown" id="trial-timer"> 16832 <div class="heading">Claim Your Trial Now 16833<span>
16833Trials Ends in:</span></div> 16834 <div class="time-row" role="timer" aria-live="polite" aria-atomic="true"> 16835 <div class="time-block"> 16836 <div class="time-value" id="cd-hours-klaviyo_form_V4czcq">00</div> 16837 <div class="time-label">Hours</div> 16838 </div> 16839 <div class="dot" aria-hidden="true"></div> 16840 <div class="time-block"> 16841 <div class="time-value" id="cd-minutes-klaviyo_form_V4czcq">15</div> 16842 <div class="time-label">Minutes</div> 16843 </div> 16844 <div class="dot" aria-hidden="true"></div> 16845 <div class="time-block"> 16846 <div class="time-value" id="cd-seconds-klaviyo_form_V4czcq">00</div> 16847 <div class="time-label">Seconds</div> 16848 </div> 16849 </div> 16850 <div onclick="add_bundle_with_tbyb(main_product , this , false )" class="hero-primary-btn"> 16851 Try Before You Buy | $0 16852 </div> 16853</section> 16854
16855<script> 16856 function runCountDown_klaviyo_form_V4czcq() { 16857 // ===== Config ===== 16858 const DURATION_SECONDS = 15 * 60; // 15 minutes from page load 16859 16860 // ===== Elements ===== 16861 const elH = document.getElementById('cd-hours-klaviyo_form_V4czcq'); 16862 const elM = document.getElementById('cd-minutes-klaviyo_form_V4czcq'); 16863 const elS = document.getElementById('cd-seconds-klaviyo_form_V4czcq'); 16864 16865 // ===== Timer logic (stable & accurate) ===== 16866 const start = Date.now(); 16867 const end = start + DURATION_SECONDS * 1000; 16868 16869 function pad(n){ return n.toString().padStart(2,'0'); } 16870 16871 function render(msLeft){ 16872 const total = Math.max(0, Math.ceil(msLeft/1000)); 16873 const h = Math.floor(total / 3600); 16874 const m = Math.floor((total % 3600) / 60); 16875 const s = total % 60; 16876 elH.textContent = pad(h); 16877 elM.textContent = pad(m); 16878 elS.textContent = pad(s); 16879 } 16880 16881 // first paint shows 15:00 16882 render(end - Date.now()); 16883 16884 const tick = setInterval(() => { 16885 const msLeft = end - Date.now(); 16886 render(msLeft); 16887 16888 if (msLeft <= 0){ 16889 clearInterval(tick); 16890 // Optional: add a class or callback here when finished 16891 // document.getElementById('trial-timer').classList.add('finished'); 16892 } 16893 }, 1000); 16894 16895} 16896 16897runCountDown_klaviyo_form_V4czcq(); 16898</script>
16898 16899 </div> 16900 <!-- <div class="close-SMS-popup"> <span class="present-image">Exclusive discounts ahead</span> </span></div>---> 16901 16902 <div class="sms-scroll-area"> 16903 <!--<div> <img class="SMS-img" src="https://cdn.shopify.com/s/files/1/0864/6741/2261/files/Group_38417_970910a8-e763-4bb5-b88e-4792a3b71edf.png?v=1720125975"/></div>--> 16904 16905 <h1>Get 50% OFF on your first order</h1> 16906 <p>Enter your email & phone number to receive your code instantly.</p> 16907 <div class="klaviyo-form-V4czcq"></div> 16908 </div> 16909 </div> 16910</div> 16911 16912 16913 16914<style> 16915#shopify-section-sections--26889559408933__email_and_sms_subscribers_a8CJLG .sms_popup_sucess_layout-klaviyo-form-V4czcq .sms_popup_background .not-try-badge , 16916#shopify-section-sections--26889559408933__email_and_sms_subscribers_a8CJLG .sms_popup_layout-klaviyo-form-V4czcq .sms_popup_background .not-try-badge , 16917#shopify-section-sections--26889559408933__email_and_sms_subscribers_a8CJLG .sms_popup_layout- .sms_popup_background .not-try-badge { 16918 padding: 20px 0; 16919 text-align: center; 16920 color: #fff; 16921 font-family: 'Montserrat'; 16922 /* width: 1024px; */ 16923 max-width: 100%; 16924 margin: 0 auto; 16925 display: grid; 16926 grid-template-columns: 30% 60%; 16927 align-items: center; 16928 margin: 0 auto; 16929 justify-content: center; 16930 gap: 2%; 16931 16932 border-radius: 8px; 16933 background: #F2F8F5; 16934 margin: 20px 20px; 16935} 16936 16937#shopify-section-sections--26889559408933__email_and_sms_subscribers_a8CJLG .sms_popup_layout- .limited-time-p.discount_code_title { 16938text-transform: none !important; 16939} 16940 16941#shopify-section-sections--26889559408933__email_and_sms_subscribers_a8CJLG .sms_popup_layout- .discount_code { 16942 background: #fff; 16943 width: max-content; 16944 margin: 0 auto; 16945 padding: 4px 6px; 16946 font-family: 'Montserrat'; 16947 font-weight: 700; 16948 border-radius: 5px; 16949 font-size: 17px; 16950} 16951 16952#shopify-section-sections--26889559408933__email_and_sms_subscribers_a8CJLG .sms_popup_sucess_layout-klaviyo-form-V4czcq .not-try-badge p.limited-time-p , 16953#shopify-section-sections--26889559408933__email_and_sms_subscribers_a8CJLG .sms_popup_layout-klaviyo-form-V4czcq .not-try-badge p.limited-time-p , 16954#shopify-section-sections--26889559408933__email_and_sms_subscribers_a8CJLG .sms_popup_layout- .not-try-badge p.limited-time-p { 16955 color: #272E0F; 16956 text-align: left; 16957 font-family: Montserrat; 16958 font-size: 14px; 16959 font-style: normal; 16960 font-weight: 800; 16961 line-height: 140%; 16962 text-transform: uppercase; 16963} 16964#shopify-section-sections--26889559408933__email_and_sms_subscribers_a8CJLG .sms_popup_sucess_layout-klaviyo-form-V4czcq .not-try-badge .x-image , 16965#shopify-section-sections--26889559408933__email_and_sms_subscribers_a8CJLG .sms_popup_layout-klaviyo-form-V4czcq .not-try-badge .x-image , 16966#shopify-section-sections--26889559408933__email_and_sms_subscribers_a8CJLG .sms_popup_layout- .not-try-badge .x-image { 16967 background-image: none !important; 16968 width: 24px !important; 16969 height: 24px; 16970 display: block; 16971 background-size: contain; 16972 position: absolute; 16973 right: 8px !important; 16974 top: 9px !important; 16975 cursor: pointer; 16976} 16977 16978#shopify-section-sections--26889559408933__email_and_sms_subscribers_a8CJLG .sms_popup_layout-klaviyo-form-V4czcq h1 , 16979#shopify-section-sections--26889559408933__email_and_sms_subscribers_a8CJLG .sms_popup_layout- h1 , 16980#shopify-section-sections--26889559408933__email_and_sms_subscribers_a8CJLG .sms_popup_sucess_layout-klaviyo-form-V4czcq h1 , 16981#shopify-section-sections--26889559408933__email_and_sms_subscribers_a8CJLG .sms_popup_sucess_layout- h1 { 16982 color: #272E0F; 16983 text-align: center; 16984 font-family: Montserrat; 16985 font-size: 28px; 16986 font-style: normal; 16987 font-weight: 700; 16988 line-height: 130%; /* 26px */ 16989 letter-spacing: 0.2px; 16990 text-transform: uppercase; 16991 margin-top: 10px !important; 16992 } 16993 16994#shopify-section-sections--26889559408933__email_and_sms_subscribers_a8CJLG .sms_popup_layout-klaviyo-form-V4czcq button , 16995#shopify-section-sections--26889559408933__email_and_sms_subscribers_a8CJLG .sms_popup_layout- button::nth-child(2) {
16996 border-radius: 36px; 16997 border: 1px solid rgba(255, 255, 255, 0.12); 16998 background: linear-gradient(90deg, #272E0F 0%, #CB0050 100%) !important; 16999 box-shadow: 0 1px 1px 0 rgba(255, 255, 255, 0.02) inset, 0 6px 12px 0 rgba(255, 255, 255, 0.12) inset, 0 4px 8px 3px rgba(0, 0, 0, 0.12), 0 1px 3px 0 rgba(0, 0, 0, 0.20); 17000} 17001 17002#shopify-section-sections--26889559408933__email_and_sms_subscribers_a8CJLG .sms_popup_layout-klaviyo-form-V4czcq .tiser , 17003#shopify-section-sections--26889559408933__email_and_sms_subscribers_a8CJLG .sms_popup_layout- .tiser { 17004 display: none; 17005} 17006 17007#shopify-section-sections--26889559408933__email_and_sms_subscribers_a8CJLG .sms_popup_layout-klaviyo-form-V4czcq .sms-scroll-area , 17008#shopify-section-sections--26889559408933__email_and_sms_subscribers_a8CJLG .sms_popup_layout- .sms-scroll-area { 17009 padding: 0 20px; 17010} 17011 17012/*.sms_popup_layout-klaviyo-form-Uwyptd {display:block!important}*/ 17013</style> 17014 17015 17016 17017 17018<div class="sms_popup_sucess_layout-klaviyo-form-V4czcq"> 17019 <div class="sms_popup_background"> 17020 <div class="close-SMS-popup"> <!--<span class="present-image">Exclusive discounts ahead</span>--> <span onclick="document.querySelector('#shopify-section-sections--26889559408933__email_and_sms_subscribers_a8CJLG .sms_popup_sucess_layout-klaviyo-form-V4czcq').style.display = 'none'" class="x-image"> 17021 <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none"> <path d="M18 6L6 18" stroke="#245732" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"></path> <path d="M6 6L18 18" stroke="#245732" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"></path> </svg> 17022 </span></div> 17023 <div class="sms-scroll-area"> 17024 <h1 style=" margin-top: 0px !important;">ENJOY YOUR $50% OFF ð 17025 </h1> 17026<p style="line-height: 1.4;font-weight:500" class="limited-time-p discount_code_title editor">Use this code at checkout</p> 17027 <div style="grid-template-columns: max-content; gap: 10px; justify-content: center; background: #245732; color: #fff; width: max-content; padding: 10px 10px; display: flex; align-items: center; margin: 10px auto 30px;"> <p style="color:#fff; margin-top: 0;" class="discount_code editor">SALE65</p> 17028 17029</div> 17030 17031 17032<style> 17033#shopify-section-sections--26889559408933__email_and_sms_subscribers_a8CJLG .limited-time-p.discount_code_title.editor { 17034text-transform:none !important 17035} 17036 17037#shopify-section-sections--26889559408933__email_and_sms_subscribers_a8CJLG .sms_popup_sucess_layout-klaviyo-form-V4czcq h1 { 17038 font-size: 20px; 17039 color: #245732 !important; 17040} 17041 17042 17043 17044#shopify-section-sections--26889559408933__email_and_sms_subscribers_a8CJLG .sms_popup_sucess_layout-klaviyo-form-V4czcq .sms_popup_background { 17045 border-radius: 10px !important; 17046 border: 0px solid var(--gray-400, #A3A3A3); 17047 background: var(--light-green, #F2F8F5); 17048 border: 1px solid #A3A3A3; 17049} 17050 17051.klaviyo-form-V4czcq p em , 17052.klaviyo-form-V4czcq p u { 17053font-size:12px !important 17054} 17055 17056#shopify-section-sections--26889559408933__email_and_sms_subscribers_a8CJLG .sms_popup_sucess_layout-klaviyo-form-V4czcq .x-image { 17057 background-image: none !important; 17058} 17059 17060#shopify-section-sections--26889559408933__email_and_sms_subscribers_a8CJLG .discount_code.editor { 17061 background: #245732; 17062 width: max-content; 17063 margin: 0 auto; 17064 padding: 0px 6px; 17065 font-family: 'Montserrat'; 17066 font-weight: 500; 17067 border-radius: 5px; 17068 font-size: 15px; 17069} 17070#shopify-section-sections--26889559408933__email_and_sms_subscribers_a8CJLG .limited-time-p.discount_code_title.editor { 17071 color: #245732; 17072 text-align: center; 17073 font-family: Montserrat; 17074 font-size: 14px; 17075 font-style: normal; 17076 font-weight: 600; 17077 line-height: normal; 17078 text-transform: uppercase; 17079} 17080 17081#shopify-section-sections--26889559408933__email_and_sms_subscribers_a8CJLG .sms_popup_sucess_layout-klaviyo-form-V4czcq .sms_popup_background { 17082 background: F2F8F5; 17083} 17084#shopify-section-sections--26889559408933__email_and_sms_subscribers_a8CJLG .sms_popup_sucess_layout-klaviyo-form-V4czcq { 17085 /* display: block !important;*/ 17086} 17087</style> 17088 </div> 17089 </div> 17090</div> 17091 17092 17093 17094<div onclick="" class="floating-tiser-button_klaviyo_form_V4czcq"> 17095 <p> 17096 <svg onclick="close_tiser_klaviyo_form_V4czcq_1()" xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none"> <path d="M18 6L6 18" stroke="white" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"></path> <path d="M6 6L18 18" stroke="white" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"></path> </svg> 17097 <span onclick="open_popup_through_tiser_klaviyo_form_V4czcq_1()">
17097GET 50% OFF</span> 17098</p> 17099</div> 17100 17101 17102 17103
17104<script> 17105 17106function lostFocus_klaviyo_form_V4czcq_1(element_class) { 17107 var element = document.querySelector(element_class); 17108 17109 if (element) { 17110 var input = element.querySelector('input'); 17111 if (input) { 17112 input.addEventListener('focusout', function() { 17113 localStorage.setItem('user_email', input.value); 17114 }); 17115 } else { 17116 17117 setTimeout(function() { lostFocus_klaviyo_form_V4czcq_1(element_class); }, 300); 17118 } 17119 } else { 17120 17121 setTimeout(function() { lostFocus_klaviyo_form_V4czcq_1(element_class); }, 300); 17122 } 17123} 17124 lostFocus_klaviyo_form_V4czcq_1('#shopify-section-sections--26889559408933__email_and_sms_subscribers_a8CJLG .sms_popup_layout-klaviyo-form-V4czcq .klaviyo-form-V4czcq'); 17125 17126 17127 17128 17129 17130 17131function detect_close_Form_klaviyo_form_V4czcq_1(form_class) { 17132 var form = document.querySelector(form_class); 17133 17134 var button = form.querySelectorAll('button')[1]; 17135 17136 if(form && button) { 17137 button.addEventListener('click' , function() { 17138 close_popup_with_form_klaviyo_form_V4czcq_1(form) 17139 }); 17140 } 17141 else { 17142 setTimeout(() => detect_close_Form_klaviyo_form_V4czcq_1(form_class) , 100) 17143 } 17144} 17145 17146 17147 17148 17149function close_popup_with_form_klaviyo_form_V4czcq_1(element) { 17150 const event = new CustomEvent('added_email', {}); 17151 if(element.innerHTML === "" ){ 17152 17153 17154 closeSMSpopup_klaviyo_form_V4czcq_1(); 17155 document.querySelector('#shopify-section-sections--26889559408933__email_and_sms_subscribers_a8CJLG .sms_popup_sucess_layout-klaviyo-form-V4czcq').style.display = "block"; 17156 17157 17158 localStorage.setItem('provided_email-klaviyo-form-V4czcq', 'yes'); 17159 sendToHeap("subscribed klavyio popup", 'klaviyo-form-V4czcq' , 'email'); 17160 17161 klavyio_cart_line_items = [] ; 17162 klavio_cart_url = "https://yvesrocherusa.com/?update_cart=true&" 17163 getCartData(); 17164 window.dispatchEvent(event); 17165 17166 document.querySelector('#shopify-section-sections--26889559408933__email_and_sms_subscribers_a8CJLG .floating-tiser-button_klaviyo_form_V4czcq').style.display = 'none' 17167 17168 } 17169 else { 17170 setTimeout(() => close_popup_with_form_klaviyo_form_V4czcq_1(element), 100); 17171 } 17172} 17173 17174detect_close_Form_klaviyo_form_V4czcq_1('#shopify-section-sections--26889559408933__email_and_sms_subscribers_a8CJLG .sms_popup_layout-klaviyo-form-V4czcq .klaviyo-form-V4czcq') 17175 17176 17177 17178 17179 17180/////// detect closing of the form for the second step 17181 17182 17183 17184 17185 17186function closeSMSpopup_klaviyo_form_V4czcq_1() { 17187 document.querySelector('#shopify-section-sections--26889559408933__email_and_sms_subscribers_a8CJLG .sms_popup_layout-klaviyo-form-V4czcq').style.display = "none"; 17188 document.getElementsByTagName('body')[0].style.overflow = "scroll" ; 17189} 17190 17191function closeSMSpopup_with_tiserklaviyo_form_V4czcq_1() { 17192 document.querySelector('#shopify-section-sections--26889559408933__email_and_sms_subscribers_a8CJLG .sms_popup_layout-klaviyo-form-V4czcq').style.display = "none"; 17193 document.getElementsByTagName('body')[0].style.overflow = "scroll" ; 17194 document.querySelector('#shopify-section-sections--26889559408933__email_and_sms_subscribers_a8CJLG .floating-tiser-button_klaviyo_form_V4czcq').style.display = 'block' 17195} 17196 17197function close_tiser_klaviyo_form_V4czcq_1(){ 17198document.querySelector('#shopify-section-sections--26889559408933__email_and_sms_subscribers_a8CJLG .floating-tiser-button_klaviyo_form_V4czcq').style.display = 'none'; 17199localStorage.setItem('provided_email-klaviyo-form-V4czcq', 'yes') 17200} 17201 17202function open_popup_through_tiser_klaviyo_form_V4czcq_1() { 17203 document.querySelector('#shopify-section-sections--26889559408933__email_and_sms_subscribers_a8CJLG .sms_popup_layout-klaviyo-form-V4czcq').style.display = "block"; 17204 17205} 17206 17207 17208function show_tiser_on_loading_klaviyo_form_V4czcq_1() { 17209var view_popup = localStorage.getItem("viewedPopup-klaviyo-form-V4czcq"); 17210var added_email = localStorage.getItem('provided_email-klaviyo-form-V4czcq'); 17211console.log(view_popup + " " +added_email ) 17212if (view_popup === 'true' && added_email != 'yes' ) { 17213 document.querySelector('#shopify-section-sections--26889559408933__email_and_sms_subscribers_a8CJLG .floating-tiser-button_klaviyo_form_V4czcq').style.display = 'block' 17214} 17215} 17216show_tiser_on_loading_klaviyo_form_V4czcq_1(); 17217 17218 17219 17220 17221document.addEventListener("DOMContentLoaded", function() { 17222//trackSMS() 17223}); 17224 17225 17226 17227 17228function showSMSpopup_klaviyo_form_V4czcq_1() { 17229var viewedPopup = localStorage.getItem("viewedPopup-klaviyo-form-V4czcq"); 17230var agreedtoSMS = localStorage.getItem("agreedtoSMS"); 17231var element = document.querySelector('#shopify-section-sections--26889559408933__email_and_sms_subscribers_a8CJLG .sms_popup_layout-klaviyo-form-V4czcq'); 17232if(element) { 17233if(viewedPopup != "true" && agreedtoSMS !="true" ) { 17234 document.querySelector('#shopify-section-sections--26889559408933__email_and_sms_subscribers_a8CJLG .sms_popup_layout-klaviyo-form-V4czcq').style.display = "block"; 17235 localStorage.setItem("viewedPopup-klaviyo-form-V4czcq", "true"); 17236 sendToHeap("viewed klavyio popup", 'klaviyo-form-V4czcq'); 17237 document.getElementsByTagName('body')[0].style.overflow = "hidden" ; 17238 lostFocus_klaviyo_form_V4czcq_1('#shopify-section-sections--26889559408933__email_and_sms_subscribers_a8CJLG .sms_popup_layout-klaviyo-form-V4czcq .klaviyo-form-V4czcq'); 17239 } 17240} 17241 else { 17242 setTimeout(showSMSpopup_klaviyo_form_V4czcq_1, 300) 17243 } 17244} 17245 17246setTimeout(showSMSpopup_klaviyo_form_V4czcq_1, 10000) 17247 17248 17249 17250 17251 17252function showFloatingTBYBbutton_1() { 17253if(sessionStorage.getItem("showTBYB") === 'yes') { 17254 document.querySelector('#shopify-section-sections--26889559408933__email_and_sms_subscribers_a8CJLG .floating-promo-button').style.display = "block" 17255} 17256} 17257//showFloatingTBYBbutton_1(); 17258 17259 17260 17261</script>
17261 17262 17263 17264 17265 17266<style> #shopify-section-sections--26889559408933__email_and_sms_subscribers_a8CJLG .tiser {display: none;} #shopify-section-sections--26889559408933__email_and_sms_subscribers_a8CJLG .sms-scroll-area {padding: 0 20px;} </style></div><aside id="shopify-section-sections--26889559408933__privacy-banner" class="shopify-section shopify-section-group-overlay-group shopify-section--privacy-banner"><privacy-banner class="pop-in privacy-banner color-scheme color-scheme--scheme-3" handle-editor-events> 17267 <button class="pop-in__close-button tap-area" is="dialog-close-button"> 17268 <span class="sr-only">Close</span><svg aria-hidden="true" focusable="false" fill="none" width="16" class="icon icon-close" viewBox="0 0 16 16"> 17269 <path d="m1 1 14 14M1 15 15 1" stroke="currentColor" stroke-width="1.5"/> 17270 </svg> 17271 17272 </button> 17273 17274 <div class="v-stack gap-4"><p class="h6">ðª Cookie policy</p><div class="prose text-xs"><p>We use cookies and similar technologies to provide the best experience on our website. Refer to our Privacy Policy for more information.</p></div><div class="h-stack gap-4"> 17275 <button type="button" class="link text-xs" data-action="accept">Accept</button> 17276 <button type="button" class="link text-xs text-subdued" data-action="decline">Decline</button> 17277 </div> 17278 </div> 17279</privacy-banner> 17280 17281</aside><div id="shopify-section-sections--26889559408933__heap_HTtfQM" class="shopify-section shopify-section-group-overlay-group heap_data"> 17282 17283 17284 17285 17286 17287 17288
17288<script> 17289 if(localStorage.getItem('user_email') != null){ 17290 Shopify.analytics.publish("heap_dentity", { 17291 email: localStorage.getItem('user_email') 17292 }); 17293 } 17294 </script>
17294 17295 17296 17297 17298 17299 17300 17301 17302</div><div id="shopify-section-sections--26889559408933__ab_tests_YinCCB" class="shopify-section shopify-section-group-overlay-group ab tests"> 17303 17304 17305 17306 17307 17308
17308<script> 17309function show_relevant_welcome_popup(){ 17310 const has_acquisition_offer = getUrlParams(window.location.href); 17311 const acquisition_offer = sessionStorage.getItem('acquisition_offer'); 17312 const acquisition_offer_local_storage = localStorage.getItem('acquisition_offer'); 17313 const acqoffer_storage = sessionStorage.getItem('show-promo-msg-acq_off-true'); 17314 const glow30_storage = sessionStorage.getItem('show-promo-msg-pop_up-glow30'); 17315 if (has_acquisition_offer.acq_off === 'true' || acquisition_offer === "yes" || acqoffer_storage === 'true' || acquisition_offer_local_storage === 'yes' || has_acquisition_offer.pop_up === 'glow30' || glow30_storage === 'true') { 17316 showSMSpopup_klaviyo_form_XnH677_1() 17317 } 17318 17319 else { 17320 showSMSpopup_klaviyo_form_V4czcq_1() 17321 } 17322} 17323//setTimeout(show_relevant_welcome_popup,10000) 17324</script>
17324 17325 17326 17327 17328 17329 17330 17331 17332 17333 17334 17335 17336 17337 17338 17339 17340 17341</div><div id="shopify-section-sections--26889559408933__yr_date_of_birth_collector_8PjYHx" class="shopify-section shopify-section-group-overlay-group"> 17342 17343 17344 17345 17346 17347 17348 17349 17350 17351 17352 17353 17354 17355</div><div id="shopify-section-sections--26889559408933__promo_side_section_QYtPkC" class="shopify-section shopify-section-group-overlay-group promo-side-section"> 17356<style> 17357 17358 .addtional_text-second-p a { 17359 text-decoration: underline; 17360 } 17361 17362 .addtional_text-second-p span { 17363 color: #2A3113; 17364 font-family: Montserrat; 17365 font-size: 13px; 17366 font-style: normal; 17367 font-weight: 600; 17368 line-height: 148%; 17369 } 17370 17371 17372 .checklist-subtitle img { 17373 width: 131px; 17374 padding-bottom: 5px; 17375 } 17376 17377 .addtional_text-second-p { 17378 color: #000000; 17379 font-family: Montserrat; 17380 font-size: 13px; 17381 font-style: normal; 17382 font-weight: 600; 17383 line-height: 148%; 17384 margin-bottom:20px 17385 } 17386 17387 .promo-scrollable-area.checklist { 17388 padding:16px 17389 } 17390 17391 .addtional_text-p { 17392 color: #272E0F; 17393 font-family: Montserrat; 17394 font-size: 16px; 17395 font-style: normal; 17396 font-weight: 800; 17397 line-height: 130%; 17398 letter-spacing: 0.16px; 17399 text-transform: uppercase; 17400 padding: 24px 0px 20px; 17401 17402 } 17403 .promo-side-component-subscribtion.checklist { 17404 border-radius: 24px 0 0 24px; 17405 background: #F4F1EA; 17406 } 17407 17408 .promo-side-title.checklist { 17409 border-radius: 24px 0 0 0; 17410 background: linear-gradient(90deg, #272E0F 0%, #606060 100%); 17411 display: grid; 17412 grid-template-columns: 86px auto auto; 17413 align-items: center; 17414 padding-top: 29px; 17415 padding-bottom: 29px; 17416 } 17417 17418 .today-offe.checklistr span { 17419 font-weight: 400; 17420 } 17421 17422 .promo-side-title.checklist img { 17423 width: 40px; 17424 margin: 0 auto; 17425 } 17426 17427 .close-promo-side.checklist { 17428 position: static; 17429 background: url(https://cdn.shopify.com/s/files/1/0864/6741/2261/files/fi_x_2.png?v=1726640316); 17430 background-size: contain; 17431 } 17432 17433 17434 span.today-offe.checklistr { 17435 color: #F9FAF7; 17436 font-family: Montserrat; 17437 font-size: 16px; 17438 font-style: normal; 17439 font-weight: 700; 17440 line-height: 131%; 17441 letter-spacing: 0.16px; 17442 text-transform: uppercase; 17443 text-align:left 17444 } 17445 17446 .promo.checklist { 17447 display: grid; 17448 grid-template-columns: 48px auto; 17449 align-items: center; 17450 border-radius: var(--size-100, 4px); 17451 border: 1px solid rgba(125, 143, 62, 0.10); 17452 background: linear-gradient(90deg, #FFF 0%, rgba(255, 255, 255, 0.00) 100%); 17453 box-shadow: 0px 1px 2px 0px rgba(0, 0, 0, 0.05); 17454 margin: 0px auto 4px; 17455 padding: 20px 20px 20px 0; 17456 } 17457 17458 .promo.checklist img { 17459 width:24px; 17460 margin:0 auto 17461 } 17462 17463 .promo.checklist h2 { 17464 color: #000; 17465 text-align: left; 17466 font-family: "Montserrat"; 17467 font-size: 14px; 17468 font-style: normal; 17469 font-weight: 700; 17470 line-height: 130%; 17471 letter-spacing: 0.14px; 17472 text-transform: capitalize; 17473 } 17474 17475 .promo.checklist h6 { 17476 color: #000; 17477 text-align: left; 17478 font-family: "Montserrat"; 17479 font-size: 14px; 17480 font-style: normal; 17481 font-weight: 400; 17482 line-height: 130%; 17483 letter-spacing: 0.14px; 17484 text-transform: inherit; 17485 } 17486 17487 17488 17489.promo-side-component-subscribtion { 17490 position: fixed; 17491 top: 0; 17492 right: -375px; 17493 bottom: 0; 17494 width: 375px; 17495 background: #fff; 17496 z-index: 999999999999; 17497 transition: right 0.5s ease-in-out; 17498 padding-bottom:75px 17499} 17500 17501 .promo-side-component-overlay-subscribtion , .promo-side-component-overlay-subscribtion a { 17502 position: fixed; 17503 top: 0; 17504 right: 0px; 17505 bottom: 0; 17506 left:0; 17507 display:none; 17508 background: #000; 17509 z-index: 9999; 17510 opacity:0.7; 17511 17512 } 17513 17514 .promo-side-component-overlay-subscribtion a {display:block} 17515 17516 .promo-side-component-subscribtion.slide-left { 17517 right: 0px; 17518} 17519 17520 .promo-side-component-overlay-subscribtion.slide-left { 17521 display:block 17522 } 17523 17524 .close-promo-side { 17525 background-image: url('https://cdn.shopify.com/s/files/1/0864/6741/2261/files/fi_chevron-left.png?v=1725191701'); 17526 width:24px; 17527 height:24px; 17528 position: absolute ;
17529 left:20px; 17530 top:20px; 17531 } 17532 17533 .promo-side-title { 17534 position:relative; 17535 text-align: center; 17536 padding-top: 20px; 17537 padding-bottom: 20px; 17538 } 17539 17540 .today-offer { 17541 color: #272E0F; 17542 text-align: center; 17543 font-family: Montserrat; 17544 font-size: 18px; 17545 font-style: normal; 17546 font-weight: 700; 17547 line-height: normal; 17548 letter-spacing: 0.327px; 17549 } 17550 17551 .promo-side-title img { 17552 width:24px; 17553 display:inline; 17554 margin-right:8px 17555 } 17556 17557 .promo { 17558 border-radius: 16px; 17559 border: 1px solid rgba(161, 161, 161, 0.50); 17560 box-shadow: 0px 1px 1px 0px rgba(0, 0, 0, 0.02), 0px 4px 4px -1px rgba(0, 0, 0, 0.02); 17561 width: 343px; 17562 padding-top: 20px; 17563 margin: 10px auto 30px; 17564 padding: 20px; 17565 text-align: center; 17566 position:relative; 17567 background-repeat: no-repeat !important ; 17568 background-size: contain !important ;; 17569} 17570 17571 .promo.promo2 { 17572 display: grid; 17573 grid-template-columns: 48% 48%; 17574 gap: 4%; 17575 align-items: center; 17576} 17577 17578 .promo.promo2 { 17579 padding:16px 17580 } 17581 17582 .promo.promo2 h2 , .promo.promo2 h6{ 17583 color:#fff; 17584 text-align:left; 17585 17586 } 17587 17588 .promo.promo2 a { 17589 margin: 16px 0 ; 17590 font-size:13px; 17591 padding: 5px 25px; 17592 } 17593 17594 .promo h2 { 17595 color: #595C51; 17596 font-family: Montserrat; 17597 font-size: 18px; 17598 font-style: normal; 17599 font-weight: 400; 17600 line-height: normal; 17601 text-transform: capitalize; 17602 text-align: center; 17603 17604} 17605 17606 .promo h6 { 17607 color: #595C51; 17608 font-family: Montserrat; 17609 font-size: 14px; 17610 font-style: normal; 17611 font-weight: 500; 17612 line-height: normal; 17613 text-transform: capitalize; 17614 text-align: center; 17615 padding-top: 4px; 17616 17617} 17618 17619 .promo a { 17620 display: block; 17621 padding: 9px 25px; 17622 justify-content: center; 17623 align-items: center; 17624 /* gap: 4px; */ 17625 border-radius: 36px; 17626 border: 1px solid rgba(255, 255, 255, 0.12); 17627 background: #272E0F; 17628 box-shadow: 0px 1px 1px 0px rgba(255, 255, 255, 0.02) inset, 0px 6px 12px 0px rgba(255, 255, 255, 0.12) inset, 0px 4px 8px 3px rgba(0, 0, 0, 0.12), 0px 1px 3px 0px rgba(0, 0, 0, 0.20); 17629 color: #fff; 17630 margin: 16px auto; 17631 max-width: fit-content; 17632 position: relative; 17633 z-index: 66; 17634} 17635 17636 .shape { 17637 height:145px; 17638 /*background: linear-gradient(180deg, #FBE2D2 0%, #E4CFD3 100%);*/ 17639 position:absolute; 17640 bottom:0; 17641 right:0; 17642 left:0; 17643 border-radius:0 0 15px 15px 17644 17645 } 17646 17647 .promo img { 17648 display:inline-block; 17649 text-align:center; 17650 z-index: 777; 17651 position: relative; 17652 } 17653 17654 .promo-scrollable-area { 17655 height: 100%; 17656 overflow: scroll; 17657 17658} 17659 17660 .overflowY { 17661 overflow:hidden 17662 } 17663 17664 @keyframes moveText { 17665 0% { transform: translateY(100%); opacity: 0; } 17666 20% { transform: translateY(0); opacity: 1; } 17667 80% { transform: translateY(0); opacity: 1; } 17668 100% { transform: translateY(-100%); opacity: 0; } 17669 } 17670 17671 } 17672 17673 17674 17675.image-wrapper { 17676 width: 100%; 17677 height: 300px; 17678 display: grid; 17679 align-items: center; 17680 background: #fff; 17681} 17682 17683 17684 17685 17686 17687 17688 17689 17690</style> 17691<div class="promo-side-component-overlay-subscribtion 17692 checklist"> 17693 <a aria-label="Close popup" href="#close-sub-and-save"></a> 17694</div> 17695 17696 <div class="promo-side-component-subscribtion checklist "> 17697 17698 17699 17700 17701 17702 <div class="promo-side-title checklist"> 17703 <img alt="today-offer" src="https://cdn.shopify.com/s/files/1/0864/6741/2261/files/Frame_38434_2.png?v=1726585323"/> 17704 <span class="today-offe checklistr">Join our Subscribe & Save plan </span> 17705 <a aria-label="Close popup" href="#close-sub-and-save" class="close-promo-side checklist"></a> 17706 </div> 17707 17708 17709 17710 17711 <div class="promo-scrollable-area checklist"> 17712 17713 17714 <div class="checklist-subtitle"> 17715 <p class="addtional_text-p">the products you love, the deals you want with full flexibility</p> 17716 <img alt="today-offer" src="https://cdn.shopify.com/s/files/1/0864/6741/2261/files/Frame_38427.png?v=1726655963"/> 17717 <p class="addtional_text-second-p">Unlock exclusive savings with our Subscribe & Save option! Enjoy flexible delivery, hassle-free management, and the freedom to cancel anytime. Curious about how
17717it works? Head over to our FAQ for more details!</p> 17718 </div> 17719 17720 17721 17722 17723 17724 17725 17726 17727 17728 17729 17730 17731 <div class="promo checklist"> 17732 <img alt="<p>extra 10% off on your purchase today! </p>"src="//yvesrocherusa.com/cdn/shop/files/Frame_38394_420x.png?v=1726581230"/> 17733 <div> 17734 17735 <h2><p>extra 10% off on your purchase today! </p></h2> 17736 <h6>This discount stacks with all other offers on our website.</h6> 17737 </div> 17738 17739 </div> 17740 17741 17742 17743 17744 17745 17746 17747 17748 17749 17750 17751 17752 17753 <div class="promo checklist"> 17754 <img alt="<p>Enjoy 30% off all future shipments</p>"src="//yvesrocherusa.com/cdn/shop/files/Frame_38394_420x.png?v=1726581230"/> 17755 <div> 17756 17757 <h2><p>Enjoy 30% off all future shipments</p></h2> 17758 <h6>Achieving the best routine for less.</h6> 17759 </div> 17760 17761 </div> 17762 17763 17764 17765 17766 17767 17768 17769 17770 17771 17772 17773 17774 17775 <div class="promo checklist"> 17776 <img alt="<p>Take Full Control</p>"src="//yvesrocherusa.com/cdn/shop/files/Frame_38394_420x.png?v=1726581230"/> 17777 <div> 17778 17779 <h2><p>Take Full Control</p></h2> 17780 <h6>Easily update your order, pause, or cancel anytime with no hassle.</h6> 17781 </div> 17782 17783 </div> 17784 17785 17786 17787 17788 17789 17790 17791 17792 17793 17794 17795 17796 17797 <div class="promo checklist"> 17798 <img alt="<p>Get Early access to the best promotions</p>"src="//yvesrocherusa.com/cdn/shop/files/Frame_38394_420x.png?v=1726581230"/> 17799 <div> 17800 17801 <h2><p>Get Early access to the best promotions</p></h2> 17802 <h6>Treat yourself with early access to our special offers</h6> 17803 </div> 17804 17805 </div> 17806 17807 17808 17809 17810 17811 17812 17813 17814 <p></p> 17815 17816 17817 17818 </div> 17819 17820 </div> 17821 17822 17823
17824<script> 17825 /* document.getElementsByClassName('header__primary-nav-item')[0].addEventListener("click", function(event) { 17826 openClosePromoSidesubscribtion(); 17827 }); 17828 17829 document.getElementsByClassName('header-sidebar__linklist')[0].addEventListener("click", function(event) { 17830 openClosePromoSidesubscribtion(); 17831 document.getElementById('sidebar-menu').style.display = "none" 17832 17833 });*/ 17834 17835 function openClosePromoSidesubscribtion() { 17836 //event.preventDefault(); 17837 document.getElementsByClassName('promo-side-component-overlay-subscribtion')[0].classList.toggle("slide-left"); 17838 document.getElementsByClassName('promo-side-component-subscribtion')[0].classList.toggle("slide-left"); 17839 document.getElementsByTagName('body')[0].classList.toggle("overflowY"); 17840 17841 17842 } 17843 17844 window.addEventListener('hashchange', function() { 17845 if( window.location.hash.search("open-sub-and-save")>0){ 17846 openClosePromoSidesubscribtion(); 17847 sendToHeap('open-side-popup','subscribtion') 17848 } 17849 17850 else if (window.location.hash.search("close-sub-and-save")>0) { 17851 openClosePromoSidesubscribtion(); 17852 sendToHeap('close-side-popup','subscribtion') 17853 } 17854 }); 17855 17856 17857 17858</script>
17858 17859 17860</div><div id="shopify-section-sections--26889559408933__yr_birthday_popup_6xjpQT" class="shopify-section shopify-section-group-overlay-group birthday_popup"> 17861 17862 17863 17864 17865 17866</div><div id="shopify-section-sections--26889559408933__promo_side_section_6gtQgT" class="shopify-section shopify-section-group-overlay-group promo-side-section"> 17867<style> 17868 17869 .addtional_text-second-p a { 17870 text-decoration: underline; 17871 } 17872 17873 .addtional_text-second-p span { 17874 color: #2A3113; 17875 font-family: Montserrat; 17876 font-size: 13px; 17877 font-style: normal; 17878 font-weight: 600; 17879 line-height: 148%; 17880 } 17881 17882 17883 .checklist-subtitle img { 17884 width: 131px; 17885 padding-bottom: 5px; 17886 } 17887 17888 .addtional_text-second-p { 17889 color: #000000; 17890 font-family: Montserrat; 17891 font-size: 13px; 17892 font-style: normal; 17893 font-weight: 600; 17894 line-height: 148%; 17895 margin-bottom:20px 17896 } 17897 17898 .promo-scrollable-area.checklist { 17899 padding:16px 17900 } 17901 17902 .addtional_text-p { 17903 color: #272E0F; 17904 font-family: Montserrat; 17905 font-size: 16px; 17906 font-style: normal; 17907 font-weight: 800; 17908 line-height: 130%; 17909 letter-spacing: 0.16px; 17910 text-transform: uppercase; 17911 padding: 24px 0px 20px; 17912 17913 } 17914 .promo-side-component-tbyb.checklist { 17915 border-radius: 24px 0 0 24px; 17916 background: #F4F1EA; 17917 } 17918 17919 .promo-side-title.checklist { 17920 border-radius: 24px 0 0 0; 17921 background: linear-gradient(90deg, #272E0F 0%, #606060 100%); 17922 display: grid; 17923 grid-template-columns: 86px auto auto; 17924 align-items: center; 17925 padding-top: 29px; 17926 padding-bottom: 29px; 17927 } 17928 17929 .today-offe.checklistr span { 17930 font-weight: 400; 17931 } 17932 17933 .promo-side-title.checklist img { 17934 width: 40px; 17935 margin: 0 auto; 17936 } 17937 17938 .close-promo-side.checklist { 17939 position: static; 17940 background: url(https://cdn.shopify.com/s/files/1/0864/6741/2261/files/fi_x_2.png?v=1726640316); 17941 background-size: contain; 17942 } 17943 17944 17945 span.today-offe.checklistr { 17946 color: #F9FAF7; 17947 font-family: Montserrat; 17948 font-size: 16px; 17949 font-style: normal; 17950 font-weight: 700; 17951 line-height: 131%; 17952 letter-spacing: 0.16px; 17953 text-transform: uppercase; 17954 text-align:left 17955 } 17956 17957 .promo.checklist { 17958 display: grid; 17959 grid-template-columns: 48px auto; 17960 align-items: center; 17961 border-radius: var(--size-100, 4px); 17962 border: 1px solid rgba(125, 143, 62, 0.10); 17963 background: linear-gradient(90deg, #FFF 0%, rgba(255, 255, 255, 0.00) 100%); 17964 box-shadow: 0px 1px 2px 0px rgba(0, 0, 0, 0.05); 17965 margin: 0px auto 4px; 17966 padding: 20px 20px 20px 0; 17967 } 17968 17969 .promo.checklist img { 17970 width:24px; 17971 margin:0 auto 17972 } 17973 17974 .promo.checklist h2 { 17975 color: #000; 17976 text-align: left; 17977 font-family: "Montserrat"; 17978 font-size: 14px; 17979 font-style: normal; 17980 font-weight: 700; 17981 line-height: 130%; 17982 letter-spacing: 0.14px; 17983 text-transform: capitalize; 17984 } 17985 17986 .promo.checklist h6 { 17987 color: #000; 17988 text-align: left; 17989 font-family: "Montserrat"; 17990 font-size: 14px; 17991 font-style: normal; 17992 font-weight: 400; 17993 line-height: 130%; 17994 letter-spacing: 0.14px; 17995 text-transform: inherit; 17996 } 17997 17998 17999 18000.promo-side-component-tbyb { 18001 position: fixed; 18002 top: 0; 18003 right: -375px; 18004 bottom: 0; 18005 width: 375px; 18006 background: #fff; 18007 z-index: 999999999999; 18008 transition: right 0.5s ease-in-out; 18009 padding-bottom:75px 18010} 18011 18012 .promo-side-component-overlay-tbyb , .promo-side-component-overlay-tbyb a { 18013 position: fixed; 18014 top: 0; 18015 right: 0px; 18016 bottom: 0; 18017 left:0; 18018 display:none; 18019 background: #000; 18020 z-index: 9999; 18021 opacity:0.7; 18022 18023 } 18024 18025 .promo-side-component-overlay-tbyb a {display:block} 18026 18027 .promo-side-component-tbyb.slide-left { 18028 right: 0px; 18029} 18030 18031 .promo-side-component-overlay-tbyb.slide-left { 18032 display:block 18033 } 18034 18035 .close-promo-side { 18036 background-image: url('https://cdn.shopify.com/s/files/1/0864/6741/2261/files/fi_chevron-left.png?v=1725191701'); 18037 width:24px; 18038 height:24px; 18039 position: absolute ;
18040 left:20px; 18041 top:20px; 18042 } 18043 18044 .promo-side-title { 18045 position:relative; 18046 text-align: center; 18047 padding-top: 20px; 18048 padding-bottom: 20px; 18049 } 18050 18051 .today-offer { 18052 color: #272E0F; 18053 text-align: center; 18054 font-family: Montserrat; 18055 font-size: 18px; 18056 font-style: normal; 18057 font-weight: 700; 18058 line-height: normal; 18059 letter-spacing: 0.327px; 18060 } 18061 18062 .promo-side-title img { 18063 width:24px; 18064 display:inline; 18065 margin-right:8px 18066 } 18067 18068 .promo { 18069 border-radius: 16px; 18070 border: 1px solid rgba(161, 161, 161, 0.50); 18071 box-shadow: 0px 1px 1px 0px rgba(0, 0, 0, 0.02), 0px 4px 4px -1px rgba(0, 0, 0, 0.02); 18072 width: 343px; 18073 padding-top: 20px; 18074 margin: 10px auto 30px; 18075 padding: 20px; 18076 text-align: center; 18077 position:relative; 18078 background-repeat: no-repeat !important ; 18079 background-size: contain !important ;; 18080} 18081 18082 .promo.promo2 { 18083 display: grid; 18084 grid-template-columns: 48% 48%; 18085 gap: 4%; 18086 align-items: center; 18087} 18088 18089 .promo.promo2 { 18090 padding:16px 18091 } 18092 18093 .promo.promo2 h2 , .promo.promo2 h6{ 18094 color:#fff; 18095 text-align:left; 18096 18097 } 18098 18099 .promo.promo2 a { 18100 margin: 16px 0 ; 18101 font-size:13px; 18102 padding: 5px 25px; 18103 } 18104 18105 .promo h2 { 18106 color: #595C51; 18107 font-family: Montserrat; 18108 font-size: 18px; 18109 font-style: normal; 18110 font-weight: 400; 18111 line-height: normal; 18112 text-transform: capitalize; 18113 text-align: center; 18114 18115} 18116 18117 .promo h6 { 18118 color: #595C51; 18119 font-family: Montserrat; 18120 font-size: 14px; 18121 font-style: normal; 18122 font-weight: 500; 18123 line-height: normal; 18124 text-transform: capitalize; 18125 text-align: center; 18126 padding-top: 4px; 18127 18128} 18129 18130 .promo a { 18131 display: block; 18132 padding: 9px 25px; 18133 justify-content: center; 18134 align-items: center; 18135 /* gap: 4px; */ 18136 border-radius: 36px; 18137 border: 1px solid rgba(255, 255, 255, 0.12); 18138 background: #272E0F; 18139 box-shadow: 0px 1px 1px 0px rgba(255, 255, 255, 0.02) inset, 0px 6px 12px 0px rgba(255, 255, 255, 0.12) inset, 0px 4px 8px 3px rgba(0, 0, 0, 0.12), 0px 1px 3px 0px rgba(0, 0, 0, 0.20); 18140 color: #fff; 18141 margin: 16px auto; 18142 max-width: fit-content; 18143 position: relative; 18144 z-index: 66; 18145} 18146 18147 .shape { 18148 height:145px; 18149 /*background: linear-gradient(180deg, #FBE2D2 0%, #E4CFD3 100%);*/ 18150 position:absolute; 18151 bottom:0; 18152 right:0; 18153 left:0; 18154 border-radius:0 0 15px 15px 18155 18156 } 18157 18158 .promo img { 18159 display:inline-block; 18160 text-align:center; 18161 z-index: 777; 18162 position: relative; 18163 } 18164 18165 .promo-scrollable-area { 18166 height: 100%; 18167 overflow: scroll; 18168 18169} 18170 18171 .overflowY { 18172 overflow:hidden 18173 } 18174 18175 @keyframes moveText { 18176 0% { transform: translateY(100%); opacity: 0; } 18177 20% { transform: translateY(0); opacity: 1; } 18178 80% { transform: translateY(0); opacity: 1; } 18179 100% { transform: translateY(-100%); opacity: 0; } 18180 } 18181 18182 } 18183 18184 18185 18186.image-wrapper { 18187 width: 100%; 18188 height: 300px; 18189 display: grid; 18190 align-items: center; 18191 background: #fff; 18192} 18193 18194 18195 18196 18197 18198 18199 18200 18201</style> 18202<div class="promo-side-component-overlay-tbyb 18203 checklist"> 18204 <a aria-label="Close popup" href="#close-tbyb"></a> 18205</div> 18206 18207 <div class="promo-side-component-tbyb checklist "> 18208 18209 18210 18211 18212 18213 <div class="promo-side-title checklist"> 18214 <img alt="today-offer" src="https://cdn.shopify.com/s/files/1/0864/6741/2261/files/Frame_38434_2.png?v=1726585323"/> 18215 <span class="today-offe checklistr">Try Before your Buy </span> 18216 <a aria-label="Close popup" href="#close-tbyb" class="close-promo-side checklist"></a> 18217 </div> 18218 18219 18220 18221 18222 <div class="promo-scrollable-area checklist"> 18223 18224 18225 <div class="checklist-subtitle"> 18226 <p class="addtional_text-p">About the program</p> 18227 <img alt="today-offer" src="https://cdn.shopify.com/s/files/1/0864/6741/2261/files/Frame_38427.png?v=1726655963"/> 18228 <p class="addtional_text-second-p">Enjoy a 21-day at-home trial for free. Love it? Keep it. Not a match? Return it in any condition - absolutely free.</p> 18229 </div> 18230 18231 18232 18233 18234 18235 18236 18237 18238 18239 18240 18241 18242 <div class="promo checklist"> 18243 <img alt="<p>Try It at home for free ð¡</p>"src="//yvesrocherusa.com/cdn/shop/files/Frame_38394_8a8cb11d-9ed3-470d-93e4-4f762dcbb7d1_420x.png?v=1728384973"/> 18244 <div> 18245 18246 <h2><p>Try It at home for free ð¡</p></h2> 18247 <h6>Experience the power of our premium products (full-size, not a sample) for 21 days at home, pay only for the shipping - $5.90. We may pre-authorize your card for the full purchase price for the duration of the trial for fraud protection.</h6> 18248 </div> 18249 18250 </div> 18251 18252 18253 18254 18255 18256 18257 18258 18259 18260 18261 18262 18263 18264 <div class="promo checklist"> 18265 <img alt="<p>Enjoy it your way âï¸</p>
18265"src="//yvesrocherusa.com/cdn/shop/files/Frame_38569_420x.png?v=1728384973"/> 18266 <div> 18267 18268 <h2><p>Enjoy it your way âï¸</p></h2> 18269 <h6>Use the product freely and make sure you love it. We want you to keep it only if you're 100% satisfied.</h6> 18270 </div> 18271 18272 </div> 18273 18274 18275 18276 18277 18278 18279 18280 18281 18282 18283 18284 18285 18286 <div class="promo checklist"> 18287 <img alt="<p>Time to decide ð¤</p>"src="//yvesrocherusa.com/cdn/shop/files/Frame_38570_420x.png?v=1728384973"/> 18288 <div> 18289 18290 <h2><p>Time to decide ð¤</p></h2> 18291 <h6>If you love it, simply keep it and weâll charge your card. Not quite right? No worries - return it for free, and you wonât be charged for the product.</h6> 18292 </div> 18293 18294 </div> 18295 18296 18297 18298 18299 18300 18301 18302 18303 <p></p> 18304 18305 18306 18307 </div> 18308 18309 </div> 18310 18311 18312
18313<script> 18314 /* document.getElementsByClassName('header__primary-nav-item')[0].addEventListener("click", function(event) { 18315 openClosePromoSidetbyb(); 18316 }); 18317 18318 document.getElementsByClassName('header-sidebar__linklist')[0].addEventListener("click", function(event) { 18319 openClosePromoSidetbyb(); 18320 document.getElementById('sidebar-menu').style.display = "none" 18321 18322 });*/ 18323 18324 function openClosePromoSidetbyb() { 18325 //event.preventDefault(); 18326 document.getElementsByClassName('promo-side-component-overlay-tbyb')[0].classList.toggle("slide-left"); 18327 document.getElementsByClassName('promo-side-component-tbyb')[0].classList.toggle("slide-left"); 18328 document.getElementsByTagName('body')[0].classList.toggle("overflowY"); 18329 18330 18331 } 18332 18333 window.addEventListener('hashchange', function() { 18334 if( window.location.hash.search("open-tbyb")>0){ 18335 openClosePromoSidetbyb(); 18336 sendToHeap('open-side-popup','tbyb') 18337 } 18338 18339 else if (window.location.hash.search("close-tbyb")>0) { 18340 openClosePromoSidetbyb(); 18341 sendToHeap('close-side-popup','tbyb') 18342 } 18343 }); 18344 18345 18346 18347</script>
18347 18348 18349<style> #shopify-section-sections--26889559408933__promo_side_section_6gtQgT .checklist-subtitle img {display: none;} #shopify-section-sections--26889559408933__promo_side_section_6gtQgT .addtional_text-p {padding: 24px 0px 5px;} </style></div><div id="shopify-section-sections--26889559408933__yr_klavyio_GDQG4D" class="shopify-section shopify-section-group-overlay-group klavyio">
18349<script> 18350 18351let klavyio_cart_line_items = []; 18352let klavio_cart_url = "https://yvesrocherusa.com/?update_cart=true&"; 18353let clean_klavio_cart_url = "https://yvesrocherusa.com/?update_cart=true&"; 18354 18355function getCartData() { 18356 fetch('/cart.js') 18357 .then(response => response.json()) 18358 .then(cart => { 18359 var items = cart.items; 18360 18361 for (var i = 0; i < items.length; i++) { 18362 var item = items[i]; 18363 18364 // Selling plan ID (if exists) 18365 var sellingPlanId = item.selling_plan_allocation 18366 ? item.selling_plan_allocation.selling_plan.id 18367 : ''; 18368 18369 // Extended Klaviyo object with product data 18370 var kl_items_object = { 18371 id: item.id, 18372 quantity: item.quantity, 18373 selling_plan: sellingPlanId, 18374 title: item.product_title, // product name 18375 url: item.url, // product URL 18376 image: item.image, // main image 18377 price: (item.price / 100).toFixed(2), // price (in dollars) 18378 compare_at_price: item.compare_at_price 18379 ? (item.compare_at_price / 100).toFixed(2) 18380 : null // compare at price 18381 }; 18382 18383 // Keep your tracking URLs 18384 var kl_items = 'product_'+ i + '=' + item.id + '_' + item.quantity + '_' + sellingPlanId ; 18385 var kl_items_no_selling_plan = 'product_'+ i + '=' + item.id + '_' + item.quantity + '_' ; 18386 18387 // Push to arrays / URLs 18388 klavyio_cart_line_items.push(kl_items_object); 18389 klavio_cart_url = klavio_cart_url + kl_items + "&"; 18390 clean_klavio_cart_url = clean_klavio_cart_url + kl_items_no_selling_plan + "&"; 18391 } 18392 18393 if (items.length === 0) { 18394 fire_klavyio_identity('no'); 18395 } else { 18396 fire_klavyio_identity('yes'); 18397 } 18398 }); 18399} 18400 18401 18402document.addEventListener("cart:refresh", function() { 18403klavyio_cart_line_items = [] ; 18404klavio_cart_url = "https://yvesrocherusa.com/?update_cart=true&" 18405getCartData() 18406}); 18407 18408document.addEventListener("theme:loading:end", function() { 18409klavyio_cart_line_items = [] ; 18410klavio_cart_url = "https://yvesrocherusa.com/?update_cart=true&" 18411getCartData() 18412}); 18413 18414 18415document.addEventListener("DOMContentLoaded", function() { 18416klavyio_cart_line_items = [] ; 18417klavio_cart_url = "https://yvesrocherusa.com/?update_cart=true&" 18418getCartData() 18419}); 18420 18421 18422 18423function getUrlParams(url) { 18424 const params = {}; 18425 const urlObj = new URL(url); 18426 18427 for (const [key, value] of urlObj.searchParams) { 18428 // Add each parameter as a key-value pair to the params object 18429 params[key] = value; 18430 } 18431 18432 return params; 18433 } 18434 18435 18436function show_gift_applied_messege(param){ 18437 if( param != 'null'){ 18438 document.querySelector('.gift-applied-container').style.display = "block"; 18439 setTimeout(function(){ 18440 document.querySelector('.gift-applied-container').style.display = "none" ; 18441 }, 4000) 18442 } 18443} 18444 18445 18446function parseCartUrl(url) { 18447let urlParams = new URL(url).searchParams; 18448let cartItems = []; 18449 urlParams.forEach((value, key) => { 18450 if (key.startsWith("product_")) { 18451 let [id, quantity, selling_plan] = value.split("_"); 18452 cartItems.push({ 18453 id, 18454 quantity, 18455 selling_plan 18456 }); 18457 } 18458 }); 18459return cartItems; 18460} 18461 18462 18463document.addEventListener("DOMContentLoaded", function() { 18464 18465document.querySelector('.gift-applied-box span').addEventListener("click", function() { 18466document.querySelector('.wd-cart-with-dot').click(); 18467document.querySelector('.gift-applied-container').style.display = "none" ; 18468}); 18469 18470async function klavioRepaceCart(array){ 18471 fetch('/cart/add.js', { 18472 method: 'POST', 18473 headers: { 18474 'Content-Type': 'application/json' 18475 }, 18476 body: JSON.stringify({ items: array }) 18477 }) 18478 .then(response => response.json()) 18479 .then(data => { 18480 document.documentElement.dispatchEvent(new CustomEvent('cart:refresh', { bubbles: true})); 18481 document.documentElement.dispatchEvent(new CustomEvent("theme:loading:end", { bubbles: true })); 18482 //document.querySelector('.loader-continer').style.display = "none" 18483 }) 18484 .catch(error => { 18485 18486 }); 18487} 18488 18489 18490let url = window.location.href; 18491let klavio_cartItems = parseCartUrl(url); 18492 18493function updateCartFromKlavyio() { 18494 var url_param = getUrlParams(window.location.href); 18495 if(url_param.update_cart === 'true' && '0' === "0") { 18496 klavioRepaceCart(klavio_cartItems); 18497 //show_gift_applied_messege(url_param.product_gift) 18498 } 18499 if(url_param.update_cart === 'true' && '0' != '0' && url_param.product_gift != 'null'){ 18500 var sliceGift = url_param.product_gift.split('_') 18501 var gift = [{id:sliceGift[0] , quantity:sliceGift[1]}]; 18502 klavioRepaceCart(gift); 18503 //show_gift_applied_messege(url_param.product_gift) 18504 } 18505 18506 18507} 18508updateCartFromKlavyio() 18509 18510 18511 18512}); 18513 18514function fire_klavyio_identity(has_products_param) { 18515 18516 if(localStorage.getItem('user_email') != null) { 18517 _learnq.push(['identify', { 18518 '$email' : localStorage.getItem('user_email') 18519 }]); 18520 18521 _learnq.push(['track', 'cart_url', { 18522 'url' : klavio_cart_url, 18523 'url_without_try': clean_klavio_cart_url, 18524 'product_array':klavyio_cart_line_items, 18525 'is_tbyb' : sessionStorage.getItem('showTBYB'), 18526 'has_products': has_products_param 18527 }]); 18528 } 18529 18530} 18531 18532 18533</script>
18533 18534 18535<div style="display:none" class="gift-applied-container"> 18536 <div class="gift-applied-box"> 18537 <img alt="Your gift image" src="https://yvesrocherusa.com/cdn/shop/files/SerumfortifiantthermoprotecteurREPARATION.png?v=1717761398&width=200"/> 18538 <p>We added a gift to your cart! 18539 <span>View Cart</span></p> 18540 </div> 18541</div> 18542 18543 18544<style> 18545.gift-applied-container { 18546 position: fixed; 18547 border-radius: 13px; 18548 background: linear-gradient(156deg, #D3959B 18.92%, #BFE6BA 85.52%); 18549 top: 34px; 18550 right: 10px; 18551 left: 10px; 18552 /* border: 3px solid #fff; */ 18553 box-shadow: 0px 8px 32px 0px rgba(0, 0, 0, 0.25); 18554 font-family: 'Montserrat'; 18555 font-size: 14px; 18556 font-weight: 500; 18557 text-align: left; 18558 z-index: 9999; 18559} 18560 18561.gift-applied-box { 18562 background: #fff; 18563 margin: 10px; 18564 border-radius: 10px; 18565 padding: 10px; 18566 display: grid; 18567 grid-template-columns: 60px auto; 18568 align-items: center; 18569 gap: 10px; 18570 background-image: url(https://cdn.shopify.com/s/files/1/0864/6741/2261/files/A_NEW_SHINY_ERA..gif?v=1719919613); 18571 background-size: cover; 18572 background-position: center; 18573} 18574 18575.gift-applied-box img { 18576 width: 74px; 18577 border-radius: 50px; 18578} 18579 18580.gift-applied-box span { 18581 display: block; 18582 text-decoration: underline; 18583} 18584 18585 18586@media only screen and (min-width: 801px) { 18587.gift-applied-container { 18588 bottom:34px; 18589 top:unset 18590} 18591 18592} 18593</style> 18594 18595</div><div id="shopify-section-sections--26889559408933__yr_b2b_tiser_popup_Gh7eer" class="shopify-section shopify-section-group-overlay-group b2b-tiser-popup"> 18596<div class="b2b-overlay-popup-tiser"> 18597<div class="b2b-popup-tiser-box"> 18598 <div class="close-area"><svg onclick="document.querySelector('.b2b-overlay-popup-tiser').style.display = 'none'" xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none"> <path d="M18 6L6 18" stroke="#111111" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/> <path d="M6 6L18 18" stroke="#111111" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/> </svg></div> 18599 <p class="are-you">Are You a Store Owner?</p> 18600 <p class="join-text">JOIN AS A VENDOR</p> 18601 <p class="full-join-text">Weâve noticed your cart value is much higher than average. If youâre a business owner, join our Wholesale Partnership to unlock exclusive rates and additional benefits.</p> 18602 <a href="/pages/join-as-vendor">JOIN NOW</a> 18603</div> 18604</div> 18605
18606<script> 18607function show_b2b_tiser_popup() { 18608var element = document.querySelector('.b2b-overlay-popup-tiser'); 18609if(element) { 18610var cart_total_price = 0; 18611var viewed_popup = localStorage.getItem('show_b2b_tiser_popup') 18612if(viewed_popup != 'true' && cart_total_price > 50000){ 18613document.querySelector('.b2b-overlay-popup-tiser').style.display = 'block'; 18614localStorage.setItem('show_b2b_tiser_popup', 'true') 18615} 18616} 18617else { 18618setTimeout(show_b2b_tiser_popup,300) 18619} 18620} 18621 18622show_b2b_tiser_popup() 18623</script>
18623 18624 18625<style> 18626.b2b-overlay-popup-tiser { 18627 position: fixed; 18628 top: 0; 18629 right: 0; 18630 left: 0; 18631 bottom: 0; 18632 z-index: 9999; 18633 background: rgba(255, 255, 255, 0.20); 18634 backdrop-filter: blur(10px); 18635 display:none 18636 18637} 18638 18639.b2b-overlay-popup-tiser .b2b-popup-tiser-box { 18640 max-width: 370px; 18641 border-radius: 16px; 18642 background: #FFF; 18643 box-shadow: 0 8px 32px 0 rgba(0, 0, 0, 0.25); 18644 margin: 30px auto; 18645 position: relative; 18646 padding-bottom: 20px; 18647} 18648 18649.b2b-overlay-popup-tiser .close-area { 18650 /* text-align: right; */ 18651 padding: 15px; 18652 border-bottom: 1px solid #E8EAE5; 18653 position: relative; 18654 height: 56px; 18655} 18656 18657.close-area svg { 18658 position: absolute; 18659 right: 15px; 18660} 18661 18662.b2b-overlay-popup-tiser p.are-you { 18663 color: #000; 18664 font-family: Montserrat; 18665 font-size: 16px; 18666 font-style: normal; 18667 font-weight: 500; 18668 line-height: normal; 18669 text-align: center; 18670 padding-top: 30px; 18671 padding-bottom: 5px; 18672} 18673 18674.b2b-overlay-popup-tiser p.join-text { 18675 color: #272E0F; 18676 text-align: center; 18677 font-family: Montserrat; 18678 font-size: 24px; 18679 font-style: normal; 18680 font-weight: 700; 18681 line-height: normal; 18682 letter-spacing: 0.24px; 18683 text-transform: uppercase; 18684 18685} 18686 18687.b2b-overlay-popup-tiser p.full-join-text { 18688 color: #272E0F; 18689 text-align: center; 18690 font-family: Montserrat; 18691 font-size: 14px; 18692 font-style: normal; 18693 font-weight: 400; 18694 line-height: 150%; 18695 letter-spacing: 0.28px; 18696 padding: 10px 20px 20px; 18697} 18698 18699.b2b-overlay-popup-tiser a { 18700 border-radius: 36px; 18701 border: 1px solid rgba(255, 255, 255, 0.12); 18702 background: #272E0F; 18703 box-shadow: 0 1px 1px 0 rgba(255, 255, 255, 0.02) inset, 0 6px 12px 0 rgba(255, 255, 255, 0.12) inset, 0 4px 8px 3px rgba(0, 0, 0, 0.12), 0 1px 3px 0 rgba(0, 0, 0, 0.20); 18704 display: flex; 18705 width: 237px; 18706 height: 48px; 18707 padding: 9px 25px; 18708 justify-content: center; 18709 align-items: center; 18710 gap: 4px; 18711 flex-shrink: 0; 18712 color: #fff; 18713 margin: 0 auto 25px; 18714} 18715</style> 18716 18717</div><div id="shopify-section-sections--26889559408933__yr_user_cashback_Fmrnk6" class="shopify-section shopify-section-group-overlay-group YR-user-cashback"> 18718<style> 18719 18720.user-cashback-component-sections__26889559408933__yr_user_cashback_Fmrnk6 .addtional_text-second-p a { 18721 text-decoration: underline; 18722 } 18723 18724.user-cashback-component-sections__26889559408933__yr_user_cashback_Fmrnk6 .addtional_text-second-p span { 18725 color: #2A3113; 18726 font-family: Montserrat; 18727 font-size: 13px; 18728 font-style: normal; 18729 font-weight: 600; 18730 line-height: 148%; 18731 } 18732 18733.user-cashback-component-sections__26889559408933__yr_user_cashback_Fmrnk6 .cashback-signed-out-state { 18734 height: 100%; 18735 display: grid; 18736 align-items: center; 18737 text-align: center; 18738 padding: 20px; 18739} 18740 18741 18742.user-cashback-component-sections__26889559408933__yr_user_cashback_Fmrnk6 .checklist-subtitle img { 18743 width: 131px; 18744 padding-bottom: 5px; 18745 } 18746 18747.user-cashback-component-sections__26889559408933__yr_user_cashback_Fmrnk6 .addtional_text-second-p { 18748 color: #000000; 18749 font-family: Montserrat; 18750 font-size: 13px; 18751 font-style: normal; 18752 font-weight: 600; 18753 line-height: 148%; 18754 margin-bottom:20px 18755 } 18756 18757.user-cashback-component-sections__26889559408933__yr_user_cashback_Fmrnk6 .promo-scrollable-area.checklist { 18758 padding:16px 24px 80px; 18759 } 18760 18761.user-cashback-component-sections__26889559408933__yr_user_cashback_Fmrnk6 .addtional_text-p { 18762 color: #272E0F; 18763 font-family: Montserrat; 18764 font-size: 16px; 18765 font-style: normal; 18766 font-weight: 800; 18767 line-height: 130%; 18768 letter-spacing: 0.16px; 18769 text-transform: uppercase; 18770 padding: 24px 0px 20px; 18771 18772 } 18773 .user-cashback-component-sections__26889559408933__yr_user_cashback_Fmrnk6.checklist { 18774 border-radius: 24px 0 0 24px; 18775 background: #F4F1EA; 18776 } 18777 18778 .user-cashback-component-sections__26889559408933__yr_user_cashback_Fmrnk6 .copy-code { 18779 background: #f9faf7; 18780 border-radius: 10px; 18781 /* display: grid; */ 18782 align-items: center; 18783 grid-template-columns: 200px max-content; 18784 padding: 14px 10px; 18785 border: 1px solid rgba(125, 143, 62, 0.10); 18786 justify-content: space-around; 18787 margin-top: 10px; 18788} 18789 18790 .user-cashback-component-sections__26889559408933__yr_user_cashback_Fmrnk6 .user-cashback-title.checklist { 18791 border-radius: 24px 0 0 0; 18792 background: linear-gradient(90deg, #272E0F 0%, #606060 100%); 18793 display: grid; 18794 grid-template-columns: 90% 10%; 18795 align-items: baseline; 18796 padding-top: 29px; 18797 padding-bottom: 29px; 18798 text-align: center; 18799 justify-content: space-around; 18800 padding: 29px 20px 29px 20px; 18801 } 18802 18803 .user-cashback-component-sections__26889559408933__yr_user_cashback_Fmrnk6 .today-offe.checklistr span { 18804 font-weight: 500; 18805 } 18806 18807 .user-cashback-component-sections__26889559408933__yr_user_cashback_Fmrnk6 .user-cashback-title.checklist img { 18808 width: 40px; 18809 margin: 0 auto; 18810 } 18811 18812 .user-cashback-component-sections__26889559408933__yr_user_cashback_Fmrnk6 .close-user-cashback.checklist { 18813 position: static; 18814 background: url(https://cdn.shopify.com/s/files/1/0864/6741/2261/files/fi_x_2.png?v=1726640316); 18815 background-size: contain; 18816 } 18817 18818 18819.user-cashback-component-sections__26889559408933__yr_user_cashback_Fmrnk6 span.today-offe.checklistr { 18820 color: #F9FAF7; 18821 font-family: Montserrat; 18822 font-size: 14px; 18823 font-style: normal; 18824 font-weight: 700; 18825 line-height: 131%; 18826 letter-spacing: 0.16px; 18827 text-transform: uppercase; 18828 text-align:left 18829 } 18830 18831 .user-cashback-component-sections__26889559408933__yr_user_cashback_Fmrnk6 .promo.checklist { 18832 display: grid; 18833 grid-template-columns: auto !important; 18834 align-items: center; 18835 border-radius: 14px; 18836 border: 1px solid rgba(125, 143, 62, 0.10); 18837 background: #fff; 18838 box-shadow: 0px 1px 2px 0px rgba(0, 0, 0, 0.05); 18839 margin: 0px auto 20px; 18840 padding: 16px; 18841 } 18842 18843.user-cashback-component-sections__26889559408933__yr_user_cashback_Fmrnk6 .promo.checklist img { 18844 width:24px; 18845 margin:0 auto 18846 } 18847 18848.user-cashback-component-sections__26889559408933__yr_user_cashback_Fmrnk6 .promo.checklist h2 { 18849 color: #000; 18850 text-align: left; 18851 font-family: "Montserrat"; 18852 font-size: 14px; 18853 font-style: normal; 18854 font-weight: 700; 18855 line-height: 130%; 18856 letter-spacing: 0.14px; 18857 text-transform: capitalize; 18858 } 18859 18860.user-cashback-component-sections__26889559408933__yr_user_cashback_Fmrnk6 .promo.checklist h6 { 18861 color: #000; 18862 text-align: left; 18863 font-family: "Montserrat"; 18864 font-size: 14px; 18865 font-style: normal; 18866 font-weight: 400; 18867 line-height: 130%; 18868 letter-spacing: 0.14px; 18869 text-transform: inherit; 18870 } 18871 18872 18873 18874.user-cashback-component-sections__26889559408933__yr_user_cashback_Fmrnk6 { 18875 position: fixed; 18876 top: 0; 18877 right: -480px; 18878 bottom: 0; 18879 width: 480px; 18880 background: #fff; 18881 z-index: 999999999999; 18882 transition: right 0.5s ease-in-out; 18883 padding-bottom:75px 18884} 18885 18886.user-cashback-component-sections__26889559408933__yr_user_cashback_Fmrnk6 .promo.checklist .buttons span { 18887 background: #f9faf7; 18888 padding: 10px; 18889 border-radius: 10px; 18890 border: 1px solid; 18891 cursor: pointer; 18892} 18893 18894.user-cashback-component-sections__26889559408933__yr_user_cashback_Fmrnk6 .promo.checklist .buttons .apply svg { 18895display:none 18896} 18897 18898.user-cashback-component-sections__26889559408933__yr_user_cashback_Fmrnk6 .promo.checklist .buttons .apply.active svg { 18899display:inline 18900} 18901 18902 18903.user-cashback-component-sections__26889559408933__yr_user_cashback_Fmrnk6 .promo.checklist .buttons { 18904 display: grid; 18905 grid-template-columns: 48% 48%; 18906 gap: 4%; 18907} 18908 18909.user-cashback-component-sections__26889559408933__yr_user_cashback_Fmrnk6 .buttons { 18910 margin-top: 12px; 18911} 18912 18913.user-cashback-component-sections__26889559408933__yr_user_cashback_Fmrnk6 .buttons span { 18914 font-weight: 600; 18915} 18916 18917 .user-cashback-component-overlay-sections__26889559408933__yr_user_cashback_Fmrnk6 , .user-cashback-component-overlay-sections__26889559408933__yr_user_cashback_Fmrnk6 a { 18918 position: fixed; 18919 top: 0; 18920 right: 0px; 18921 bottom: 0; 18922 left:0; 18923 display:none; 18924 background: #000; 18925 z-index: 9999; 18926 opacity:0.7; 18927 18928 } 18929 18930 .user-cashback-component-overlay-sections__26889559408933__yr_user_cashback_Fmrnk6 a {display:block} 18931 18932 .user-cashback-component-sections__26889559408933__yr_user_cashback_Fmrnk6.slide-left { 18933 right: 0px; 18934} 18935 18936 .user-cashback-component-overlay-sections__26889559408933__yr_user_cashback_Fmrnk6.slide-left { 18937 display:block 18938 } 18939 18940 .user-cashback-component-sections__26889559408933__yr_user_cashback_Fmrnk6 .close-user-cashback { 18941 background-image: url('https://cdn.shopify.com/s/files/1/0864/6741/2261/files/fi_chevron-left.png?v=1725191701'); 18942 width:24px; 18943 height:24px; 18944 position: absolute ;
18945 left:20px; 18946 top:20px; 18947 } 18948 18949 .user-cashback-component-sections__26889559408933__yr_user_cashback_Fmrnk6 .user-cashback-title { 18950 position:relative; 18951 text-align: center; 18952 padding-top: 20px; 18953 padding-bottom: 20px; 18954 } 18955 18956.user-cashback-component-sections__26889559408933__yr_user_cashback_Fmrnk6 .today-offer { 18957 color: #272E0F; 18958 text-align: center; 18959 font-family: Montserrat; 18960 font-size: 18px; 18961 font-style: normal; 18962 font-weight: 700; 18963 line-height: normal; 18964 letter-spacing: 0.327px; 18965 } 18966 18967.user-cashback-component-sections__26889559408933__yr_user_cashback_Fmrnk6 .user-cashback-title img { 18968 width:24px; 18969 display:inline; 18970 margin-right:8px 18971 } 18972 18973.user-cashback-component-sections__26889559408933__yr_user_cashback_Fmrnk6 .promo { 18974 border-radius: 16px; 18975 border: 1px solid rgba(161, 161, 161, 0.50); 18976 box-shadow: 0px 1px 1px 0px rgba(0, 0, 0, 0.02), 0px 4px 4px -1px rgba(0, 0, 0, 0.02); 18977 width: 100%; 18978 padding-top: 20px; 18979 margin: 10px auto 30px; 18980 padding: 20px; 18981 text-align: center; 18982 position:relative; 18983 background-repeat: no-repeat !important ; 18984 background-size: contain !important ;; 18985} 18986 18987.user-cashback-component-sections__26889559408933__yr_user_cashback_Fmrnk6 .promo.promo2 { 18988 display: grid; 18989 grid-template-columns: 48% 48%; 18990 gap: 4%; 18991 align-items: center; 18992} 18993 18994.user-cashback-component-sections__26889559408933__yr_user_cashback_Fmrnk6 .promo.promo2 { 18995 padding:16px 18996 } 18997 18998.user-cashback-component-sections__26889559408933__yr_user_cashback_Fmrnk6 .promo.promo2 h2 , .promo.promo2 h6{ 18999 color:#fff; 19000 text-align:left; 19001 19002 } 19003 19004.user-cashback-component-sections__26889559408933__yr_user_cashback_Fmrnk6 .promo.promo2 a { 19005 margin: 16px 0 ; 19006 font-size:13px; 19007 padding: 5px 25px; 19008 } 19009 19010.user-cashback-component-sections__26889559408933__yr_user_cashback_Fmrnk6 .promo h2 { 19011 color: #595C51; 19012 font-family: Montserrat; 19013 font-size: 18px; 19014 font-style: normal; 19015 font-weight: 400; 19016 line-height: normal; 19017 text-transform: capitalize; 19018 text-align: center; 19019 19020} 19021 19022.user-cashback-component-sections__26889559408933__yr_user_cashback_Fmrnk6 .promo h6 { 19023 color: #595C51; 19024 font-family: Montserrat; 19025 font-size: 14px; 19026 font-style: normal; 19027 font-weight: 500; 19028 line-height: normal; 19029 text-transform: capitalize; 19030 text-align: center; 19031 padding-top: 4px; 19032 19033} 19034 19035.user-cashback-component-sections__26889559408933__yr_user_cashback_Fmrnk6 .promo a { 19036 display: block; 19037 padding: 9px 25px; 19038 justify-content: center; 19039 align-items: center; 19040 /* gap: 4px; */ 19041 border-radius: 36px; 19042 border: 1px solid rgba(255, 255, 255, 0.12); 19043 background: #272E0F; 19044 box-shadow: 0px 1px 1px 0px rgba(255, 255, 255, 0.02) inset, 0px 6px 12px 0px rgba(255, 255, 255, 0.12) inset, 0px 4px 8px 3px rgba(0, 0, 0, 0.12), 0px 1px 3px 0px rgba(0, 0, 0, 0.20); 19045 color: #fff; 19046 margin: 16px auto; 19047 max-width: fit-content; 19048 position: relative; 19049 z-index: 66; 19050} 19051 19052 .user-cashback-component-sections__26889559408933__yr_user_cashback_Fmrnk6 .shape { 19053 height:145px; 19054 /*background: linear-gradient(180deg, #FBE2D2 0%, #E4CFD3 100%);*/ 19055 position:absolute; 19056 bottom:0; 19057 right:0; 19058 left:0; 19059 border-radius:0 0 15px 15px 19060 19061 } 19062 19063.user-cashback-component-sections__26889559408933__yr_user_cashback_Fmrnk6 .promo img { 19064 display:inline-block; 19065 text-align:center; 19066 z-index: 777; 19067 position: relative; 19068 } 19069 19070 .user-cashback-component-sections__26889559408933__yr_user_cashback_Fmrnk6 .promo-scrollable-area { 19071 height: 100%; 19072 overflow: scroll; 19073 19074} 19075 19076 19077 19078 .user-cashback-component-sections__26889559408933__yr_user_cashback_Fmrnk6 .cashback-signed-out-state a { 19079 display: flex; 19080 width: max-content; 19081 height: 48px; 19082 padding: 9px 35px; 19083 justify-content: center; 19084 align-items: center; 19085 gap: 4px; 19086 flex-shrink: 0; 19087 border-radius: 36px; 19088 border: 1px solid rgba(255, 255, 255, 0.12); 19089 background: #272E0F; 19090 box-shadow: 0px 1px 1px 0px rgba(255, 255, 255, 0.02) inset, 0px 6px 12px 0px rgba(255, 255, 255, 0.12) inset, 0px 4px 8px 3px rgba(0, 0, 0, 0.12), 0px 1px 3px 0px rgba(0, 0, 0, 0.20); 19091 color: #fff; 19092 margin: 11px auto 8px; 19093 font-family: Montserrat; 19094 font-weight: 500; 19095} 19096 19097.user-cashback-component-sections__26889559408933__yr_user_cashback_Fmrnk6 .cashback-signed-out-state p { 19098 color: #272E0F; 19099 font-family: Montserrat; 19100 font-size: 14px; 19101 margin-top: 3px; 19102} 19103 19104.user-cashback-component-sections__26889559408933__yr_user_cashback_Fmrnk6 .cashback-signed-out-state h3 { 19105 color: #272E0F; 19106 font-family: Montserrat; 19107 font-size: 20px; 19108 font-style: normal; 19109 font-weight: 700; 19110 line-height: 131%; 19111 letter-spacing: 0.16px; 19112 text-transform: uppercase; 19113 text-align: center; 19114} 19115 19116.user-cashback-component-sections__26889559408933__yr_user_cashback_Fmrnk6 .promo.checklist h6 svg { 19117 width: 14px; 19118 opacity: 0.9; 19119} 19120 19121.user-cashback-component-sections__26889559408933__yr_user_cashback_Fmrnk6 span.total_cashback { 19122 color: #F9FAF7; 19123 text-align: left; 19124 font-family: Montserrat; 19125 font-size: 48px; 19126 font-style: normal; 19127 font-weight: 700; 19128 line-height: 131%; 19129 letter-spacing: 0; 19130 text-transform: uppercase; 19131 display: block; 19132 font-weight: 700 !important; 19133} 19134 19135.user-cashback-component-sections__26889559408933__yr_user_cashback_Fmrnk6 span.today-offe.checklistr svg { 19136 display: inline; 19137 width: 17px; 19138} 19139 19140.user-cashback-component-sections__26889559408933__yr_user_cashback_Fmrnk6 .terms { 19141 background: transparent !important; 19142 box-shadow: none !important; 19143 color: #272E0F !important; 19144 font-size: 11px !important; 19145 padding: 0 !important; 19146 margin: 0 auto !important; 19147 display: block !important; 19148 font-weight: 400 !important; 19149 text-decoration: underline; 19150} 19151 19152.user-cashback-component-sections__26889559408933__yr_user_cashback_Fmrnk6 h6.expires { 19153 opacity: 0.7; 19154 font-size: 12px !important; 19155 display: flex; 19156 align-items: center; 19157 gap: 6px; 19158 padding-top: 0; 19159} 19160 19161.user-cashback-component-sections__26889559408933__yr_user_cashback_Fmrnk6 .promo.checklist .value-of-coupon h6 { 19162 color: #fff; 19163 font-size: 12px; 19164 font-weight: 700; 19165} 19166 19167.user-cashback-component-sections__26889559408933__yr_user_cashback_Fmrnk6 .value-of-coupon { 19168 position: absolute; 19169 top: -11px; 19170 right: -7px; 19171 background: linear-gradient(90deg, #272E0F 0%, #606060 100%); 19172 display: flex; 19173 gap: 7px; 19174 padding: 1px 9px; 19175 border-radius: 22px; 19176 color: #fff; 19177} 19178 19179.user-cashback-component-sections__26889559408933__yr_user_cashback_Fmrnk6 .value-of-coupon svg { 19180 width: 12px; 19181} 19182 19183.user-cashback-component-sections__26889559408933__yr_user_cashback_Fmrnk6 h3.your-total { 19184 text-transform: uppercase; 19185 font-size: 14px; 19186 margin-bottom: 15px; 19187 margin-top: 5px; 19188} 19189 19190 @keyframes moveText { 19191 0% { transform: translateY(100%); opacity: 0; } 19192 20% { transform: translateY(0); opacity: 1; } 19193 80% { transform: translateY(0); opacity: 1; } 19194 100% { transform: translateY(-100%); opacity: 0; } 19195 } 19196 19197 } 19198 19199 19200 19201.user-cashback-component-sections__26889559408933__yr_user_cashback_Fmrnk6 .image-wrapper { 19202 width: 100%; 19203 height: 300px; 19204 display: grid; 19205 align-items: center; 19206 background: #fff; 19207} 19208 19209 19210 19211 @media only screen and (max-width: 800px) { 19212 .user-cashback-component-sections__26889559408933__yr_user_cashback_Fmrnk6 { 19213 max-width:98%; 19214 } 19215 19216 } 19217 19218 19219 19220 19221</style> 19222<div class="user-cashback-component-overlay-sections__26889559408933__yr_user_cashback_Fmrnk6 19223 checklist"> 19224 <a aria-label="Close popup" href="#close-beauty-reward"></a> 19225</div> 19226 19227<div class="user-cashback-component-sections__26889559408933__yr_user_cashback_Fmrnk6 checklist "> 19228 19229 19230 19231 19232 19233 <div class="user-cashback-title checklist">
19234 <span class="today-offe checklistr"> 19235 <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-sparkles w-5 h-5 text-emerald-200" data-fg-cieg12="1.15:1.7694:/src/app/components/CashbackModal.tsx:91:17:2553:49:e:Sparkles::::::DD2N"><path d="M9.937 15.5A2 2 0 0 0 8.5 14.063l-6.135-1.582a.5.5 0 0 1 0-.962L8.5 9.936A2 2 0 0 0 9.937 8.5l1.582-6.135a.5.5 0 0 1 .963 0L14.063 8.5A2 2 0 0 0 15.5 9.937l6.135 1.581a.5.5 0 0 1 0 .964L15.5 14.063a2 2 0 0 0-1.437 1.437l-1.582 6.135a.5.5 0 0 1-.963 0z"></path><path d="M20 3v4"></path><path d="M22 5h-4"></path><path d="M4 17v2"></path><path d="M5 18H3"></path></svg> 19236 <span>Your Beauty Rewards</span> 19237 19238 </span> 19239 <a aria-label="Close popup" href="#close-beauty-reward" class="close-user-cashback checklist"></a> 19240 </div> 19241 19242 19243 19244 19245 19246 <div class="cashback-signed-out-state"> 19247 <div> 19248 <h3>EARN YOUR BEAUTY REWARDS</h3> 19249 <p>Earn 20% back on every purchase to use on your next order.</p> 19250 <a href="https://account.yvesrocherusa.com/">View My Beauty Rewards</a> 19251 <p style="font-size: 12px;">No password needed, <br> weâll email you a secure login code. 19252 </p> 19253 <a class="terms" href="/policies/terms-of-service#p-26">Terms of service</a> 19254 </div> 19255 </div> 19256 19257 19258 19259</div> 19260 19261 19262
19263<script> 19264 /* document.getElementsByClassName('header__primary-nav-item')[0].addEventListener("click", function(event) { 19265 openClosePromoSidesections__26889559408933__yr_user_cashback_Fmrnk6(); 19266 }); 19267 19268 document.getElementsByClassName('header-sidebar__linklist')[0].addEventListener("click", function(event) { 19269 openClosePromoSidesections__26889559408933__yr_user_cashback_Fmrnk6(); 19270 document.getElementById('sidebar-menu').style.display = "none" 19271 19272 });*/ 19273 19274 function openClosePromoSidesections__26889559408933__yr_user_cashback_Fmrnk6() { 19275 //event.preventDefault(); 19276 document.getElementsByClassName('user-cashback-component-overlay-sections__26889559408933__yr_user_cashback_Fmrnk6')[0].classList.toggle("slide-left"); 19277 document.getElementsByClassName('user-cashback-component-sections__26889559408933__yr_user_cashback_Fmrnk6')[0].classList.toggle("slide-left"); 19278 document.getElementsByTagName('body')[0].classList.toggle("overflowY"); 19279 19280 19281 } 19282 19283 window.addEventListener('hashchange', function() { 19284 if( window.location.hash.search("open-beauty-reward")>0){ 19285 openClosePromoSidesections__26889559408933__yr_user_cashback_Fmrnk6(); 19286 sendToHeap('Beauty Reward modal','open modal') 19287 document.body.style.position = 'fixed'; 19288 //document.body.style.top = `-${scrollY}px`; 19289 document.body.style.left = '0'; 19290 document.body.style.right = '0'; 19291 document.body.style.width = '100%'; 19292 } 19293 19294 else if (window.location.hash.search("close-beauty-reward")>0) { 19295 openClosePromoSidesections__26889559408933__yr_user_cashback_Fmrnk6(); 19296 sendToHeap('close-side-popup','sections__26889559408933__yr_user_cashback_Fmrnk6') 19297 document.body.style.position = ''; 19298 document.body.style.top = ''; 19299 document.body.style.left = ''; 19300 document.body.style.right = ''; 19301 document.body.style.width = ''; 19302 } 19303 }); 19304 19305function applyCashbackCodeAjax(discountCode , ele) { 19306 sendToHeap('Beauty Reward modal','click applyed discount',discountCode ) 19307 ele.querySelector('span').innerText = 'Applying'; 19308 const discountUrl = `/discount/${discountCode}`; 19309 fetch(discountUrl, { 19310 method: 'GET', 19311 headers: { 19312 'Content-Type': 'application/json' 19313 } 19314 }).then(response => { 19315 if (response.ok) { 19316 console.log('applyied discount.'); 19317 //ele.innerText = 'Coupon Applied' 19318 document.documentElement.dispatchEvent(new CustomEvent('cart:refresh', { bubbles: true})); 19319 document.documentElement.dispatchEvent(new CustomEvent("theme:loading:end", { bubbles: true })); 19320 check_which_coupon_applied(discountCode , ele) ; 19321 19322 } else { 19323 console.error('Failed to apply discount.'); 19324 // ele.innerText = 'Failed to apply discount' 19325 } 19326 }).catch(error => { 19327 console.error('Error applying discount:', error); 19328 //ele.innerText = 'Failed to apply discount' 19329 }); 19330} 19331 19332function check_which_coupon_applied(dscountCode , ele) { 19333var discount_code = dscountCode 19334fetch('/cart.js') 19335 .then(response => response.json()) 19336 .then(cart => { 19337 const discounts = cart.cart_level_discount_applications; 19338 19339 if (discounts && discounts.length > 0) { 19340 console.log(`${discounts.length} discount(s) applied:`); 19341 ele.querySelector('span').innerText = 'Apply Discount';
19342 discounts.forEach((discount, index) => { 19343 if(discount.title === discount_code) { 19344 ele.querySelector('span').innerText = 'Coupon Applied'; 19345 ele.classList.add('active'); 19346 sendToHeap('Beauty Reward modal','applyed discount approved',discount_code ) 19347 } 19348 }); 19349 19350 // Get all discount codes as an array 19351 const allCodes = discounts.map(d => d.title); 19352 console.log('All applied codes:', allCodes); 19353 19354 } else { 19355 console.log('No discounts applied'); 19356 } 19357 }); 19358} 19359 19360async function copyToClipboard(text,ele) { 19361 try { 19362 await navigator.clipboard.writeText(text); 19363 ele.innerText = 'Copeid' 19364 setTimeout(function() { 19365 ele.innerText = 'Copy' 19366 },2000); 19367 sendToHeap('Beauty Reward modal','copy discount',discount_code ) 19368 return true; // success 19369 } catch (err) { 19370 19371 return false; 19372 } 19373} 19374 19375 19376</script>
19376 19377 19378</div><div id="shopify-section-sections--26889559408933__yr_one_question_poll_FUpTfp" class="shopify-section shopify-section-group-overlay-group"><div class="yrq-root" data-yrq-root data-position="bottom_right" data-delay="600"></div> 19379 19380<style> 19381 .yrq-root { position: fixed; z-index: 999; inset: auto; pointer-events: none; } 19382 .yrq-root[data-position="bottom_right"] { right: 24px; bottom: 24px; } 19383 .yrq-root[data-position="bottom_left"] { left: 24px; bottom: 24px; } 19384 19385 .yrq-card { 19386 pointer-events: auto; 19387 width: 320px; 19388 max-width: calc(100vw - 32px); 19389 background: #FFF8F1; /* cream */ 19390 border: 1px solid #EBE7DF; 19391 border-radius: 12px; 19392 box-shadow: 0 12px 32px rgba(30,53,26,.14), 0 2px 8px rgba(30,53,26,.06); 19393 padding: 24px 20px 20px; 19394 font-family: 'Montserrat', -apple-system, BlinkMacSystemFont, sans-serif; 19395 color: #1E351A; 19396 opacity: 0; 19397 transform: translateY(16px); 19398 transition: opacity .3s cubic-bezier(.4,0,.2,1), transform .3s cubic-bezier(.4,0,.2,1); 19399 } 19400 .yrq-card[data-visible] { opacity: 1; transform: translateY(0); } 19401 .yrq-card[hidden] { display: none; } 19402 19403 .yrq-close { 19404 position: absolute; 19405 top: 12px; 19406 right: 12px; 19407 background: none; 19408 border: none; 19409 color: #1E351A; 19410 opacity: .55; 19411 cursor: pointer; 19412 padding: 4px; 19413 line-height: 0; 19414 transition: opacity .15s ease; 19415 } 19416 .yrq-close:hover { opacity: 1; } 19417 19418 .yrq-eyebrow { 19419 margin: 0 0 6px; 19420 font-size: 10px; 19421 font-weight: 700; 19422 letter-spacing: 3px; 19423 text-transform: uppercase; 19424 color: #00772F; 19425 } 19426 19427 .yrq-question { 19428 margin: 0 0 16px; 19429 padding-right: 16px; 19430 font-family: 'Playfair Display', Georgia, serif; 19431 font-weight: 500; 19432 font-size: 19px; 19433 line-height: 1.3; 19434 color: #1E351A; 19435 } 19436 19437 .yrq-answers { display: flex; flex-wrap: wrap; gap: 8px; } 19438 19439 .yrq-answer { 19440 font-family: 'Montserrat', sans-serif; 19441 font-size: 13px; 19442 font-weight: 500; 19443 color: #1E351A; 19444 background: transparent; 19445 border: 1px solid #1E351A; 19446 border-radius: 999px; 19447 padding: 9px 16px; 19448 cursor: pointer; 19449 transition: background .15s ease, color .15s ease, opacity .15s ease; 19450 } 19451 .yrq-answer:hover { background: #1E351A; color: #FFF8F1; } 19452 .yrq-answer:active { transform: scale(.98); } 19453 .yrq-answer[data-selected] { background: #00772F; border-color: #00772F; color: #FFF8F1; } 19454 19455 .yrq-submit { 19456 display: block; 19457 margin-top: 14px; 19458 width: 100%; 19459 font-family: 'Montserrat', sans-serif; 19460 font-size: 13px; 19461 font-weight: 600; 19462 letter-spacing: .4px; 19463 color: #FFF8F1; 19464 background: #1E351A; 19465 border: 1px solid #1E351A; 19466 border-radius: 999px; 19467 padding: 11px 16px; 19468 cursor: pointer; 19469 transition: opacity .15s ease, transform .15s ease; 19470 } 19471 .yrq-submit:hover { opacity: .85; } 19472 .yrq-submit:active { transform: scale(.98); } 19473 .yrq-submit:disabled { opacity: .4; cursor: not-allowed; } 19474 19475 .yrq-thanks { 19476 margin: 4px 0 0; 19477 font-size: 13px; 19478 font-style: italic; 19479 font-family: 'Playfair Display', Georgia, serif; 19480 color: #00772F; 19481 } 19482 19483 @media (max-width: 480px) { 19484 .yrq-root[data-position="bottom_right"], 19485 .yrq-root[data-position="bottom_left"] { left: 16px; right: 16px; bottom: 16px; } 19486 .yrq-card { width: 100%; } 19487 } 19488</style> 19489
19490<script> 19491(function () { 19492 var root = document.currentScript.previousElementSibling; 19493 if (!root || !root.hasAttribute('data-yrq-root')) { 19494 root = document.querySelector('[data-yrq-root]'); 19495 } 19496 if (!root) return; 19497 19498 var SESSION_KEY = 'yrq_session_shown'; 19499 var dismissedKey = function (id) { return 'yrq_dismissed_' + id; }; 19500 var answeredKey = function (id) { return 'yrq_answered_' + id; }; 19501 19502 // Requirement 4: never more than one question per session. 19503 if (sessionStorage.getItem(SESSION_KEY)) return; 19504 19505 var path = window.location.pathname; 19506 var cards = Array.prototype.slice.call(root.querySelectorAll('[data-yrq-card]')); 19507 19508 var match = cards.find(function (card) { 19509 var id = card.getAttribute('data-id'); 19510 if (localStorage.getItem(dismissedKey(id)) || localStorage.getItem(answeredKey(id))) return false; 19511 var needle = (card.getAttribute('data-url-contains') || '').trim(); 19512 return needle === '' || path.indexOf(needle) !== -1; 19513 }); 19514 19515 if (!match) return; 19516 19517 var delay = parseInt(root.getAttribute('data-delay'), 10) || 0; 19518 19519 var reveal = function () { 19520 match.hidden = false; 19521 sessionStorage.setItem(SESSION_KEY, '1'); 19522 requestAnimationFrame(function () { match.setAttribute('data-visible', ''); }); 19523 window.sendToHeap('yr-polll', 'view'); 19524 }; 19525 19526 var hide = function () { 19527 match.removeAttribute('data-visible'); 19528 setTimeout(function () { match.hidden = true; }, 300); 19529 }; 19530 19531 setTimeout(reveal, delay); 19532 19533 var closeBtn = match.querySelector('[data-yrq-close]'); 19534 closeBtn.addEventListener('click', function () { 19535 localStorage.setItem(dismissedKey(match.getAttribute('data-id')), '1'); 19536 hide(); 19537 }); 19538 19539 var answersWrap = match.querySelector('[data-yrq-answers]'); 19540 var submitBtn = match.querySelector('[data-yrq-submit]'); 19541 var thanks = match.querySelector('[data-yrq-thanks]'); 19542 var isMulti = match.getAttribute('data-selection') === 'multi'; 19543 var questionText = match.querySelector('.yrq-question').textContent; 19544 19545 var complete = function (answers) { 19546 answers.forEach(function (answer) { 19547 if (typeof window.sendToHeap === 'function') { 19548 window.sendToHeap('yr-polll', questionText, answer); 19549 } 19550 }); 19551 localStorage.setItem(answeredKey(match.getAttribute('data-id')), answers.join(', ')); 19552 answersWrap.hidden = true; 19553 submitBtn.hidden = true; 19554 closeBtn.hidden = true; 19555 thanks.hidden = false; 19556 setTimeout(hide, 1800); 19557 }; 19558 19559 if (isMulti) { 19560 submitBtn.hidden = false; 19561 submitBtn.disabled = true; 19562 answersWrap.addEventListener('click', function (e) { 19563 var btn = e.target.closest('[data-yrq-answer]'); 19564 if (!btn) return; 19565 if (btn.hasAttribute('data-selected')) { 19566 btn.removeAttribute('data-selected'); 19567 } else { 19568 btn.setAttribute('data-selected', ''); 19569 } 19570 var anySelected = !!answersWrap.querySelector('[data-selected]'); 19571 submitBtn.disabled = !anySelected; 19572 }); 19573 submitBtn.addEventListener('click', function () { 19574 var selected = Array.prototype.slice.call(answersWrap.querySelectorAll('[data-selected]')) 19575 .map(function (btn) { return btn.getAttribute('data-value'); }); 19576 if (!selected.length) return; 19577 complete(selected); 19578 }); 19579 } else { 19580 answersWrap.addEventListener('click', function (e) { 19581 var btn = e.target.closest('[data-yrq-answer]'); 19582 if (!btn) return; 19583 complete([btn.getAttribute('data-value')]); 19584 }); 19585 } 19586})(); 19587</script>
19587 19588 19589 19590</div><div id="shopify-section-sections--26889559408933__yr_all_reviews_popup_bHXTpg" class="shopify-section shopify-section-group-overlay-group YR-yr-all-review-popup-yotpo"> 19591<style> 19592 19593.yr-all-review-popup-yotpo-component-sections__26889559408933__yr_all_reviews_popup_bHXTpg .addtional_text-second-p a { 19594 text-decoration: underline; 19595 } 19596 19597.yr-all-review-popup-yotpo-component-sections__26889559408933__yr_all_reviews_popup_bHXTpg .addtional_text-second-p span { 19598 color: #2A3113; 19599 font-family: Montserrat; 19600 font-size: 13px; 19601 font-style: normal; 19602 font-weight: 600; 19603 line-height: 148%; 19604 } 19605 19606.yr-all-review-popup-yotpo-component-sections__26889559408933__yr_all_reviews_popup_bHXTpg .cashback-signed-out-state { 19607 height: 100%; 19608 display: grid; 19609 align-items: center; 19610 text-align: center; 19611 padding: 20px; 19612} 19613 19614 19615.yr-all-review-popup-yotpo-component-sections__26889559408933__yr_all_reviews_popup_bHXTpg .checklist-subtitle img { 19616 width: 131px; 19617 padding-bottom: 5px; 19618 } 19619 19620.yr-all-review-popup-yotpo-component-sections__26889559408933__yr_all_reviews_popup_bHXTpg .addtional_text-second-p { 19621 color: #000000; 19622 font-family: Montserrat; 19623 font-size: 13px; 19624 font-style: normal; 19625 font-weight: 600; 19626 line-height: 148%; 19627 margin-bottom:20px 19628 } 19629 19630.yr-all-review-popup-yotpo-component-sections__26889559408933__yr_all_reviews_popup_bHXTpg .promo-scrollable-area.checklist { 19631 padding:16px 24px 80px; 19632 } 19633 19634.yr-all-review-popup-yotpo-component-sections__26889559408933__yr_all_reviews_popup_bHXTpg .addtional_text-p { 19635 color: #272E0F; 19636 font-family: Montserrat; 19637 font-size: 16px; 19638 font-style: normal; 19639 font-weight: 800; 19640 line-height: 130%; 19641 letter-spacing: 0.16px; 19642 text-transform: uppercase; 19643 padding: 24px 0px 20px; 19644 19645 } 19646 .yr-all-review-popup-yotpo-component-sections__26889559408933__yr_all_reviews_popup_bHXTpg .checklist { 19647 border-radius: 24px 0 0 24px; 19648 background: #FFF8F1; 19649 } 19650 19651 .yr-all-review-popup-yotpo-component-sections__26889559408933__yr_all_reviews_popup_bHXTpg .yotpo-seo-page-layout { 19652 display: flex; 19653 margin: auto 5px !important; 19654 } 19655 19656 .yr-all-review-popup-yotpo-component-sections__26889559408933__yr_all_reviews_popup_bHXTpg .copy-code { 19657 background: #f9faf7; 19658 border-radius: 10px; 19659 /* display: grid; */ 19660 align-items: center; 19661 grid-template-columns: 200px max-content; 19662 padding: 14px 10px; 19663 border: 1px solid rgba(125, 143, 62, 0.10); 19664 justify-content: space-around; 19665 margin-top: 10px; 19666} 19667 19668 .yr-all-review-popup-yotpo-component-sections__26889559408933__yr_all_reviews_popup_bHXTpg .yr-all-review-popup-yotpo-title.checklist { 19669 border-radius: 24px 0 0 0; 19670 background: linear-gradient(90deg, #272E0F 0%, #606060 100%); 19671 display: grid; 19672 grid-template-columns: 90% 10%; 19673 align-items: baseline; 19674 padding-top: 29px; 19675 padding-bottom: 29px; 19676 text-align: center; 19677 justify-content: space-around; 19678 padding: 29px 20px 29px 20px; 19679 } 19680 19681 .yr-all-review-popup-yotpo-component-sections__26889559408933__yr_all_reviews_popup_bHXTpg .today-offe.checklistr span { 19682 font-weight: 500; 19683 } 19684 19685 .yr-all-review-popup-yotpo-component-sections__26889559408933__yr_all_reviews_popup_bHXTpg .yr-all-review-popup-yotpo-title.checklist img { 19686 width: 40px; 19687 margin: 0 auto; 19688 } 19689 19690 .yr-all-review-popup-yotpo-component-sections__26889559408933__yr_all_reviews_popup_bHXTpg .close-yr-all-review-popup-yotpo.checklist { 19691 position: static; 19692 background: url(https://cdn.shopify.com/s/files/1/0864/6741/2261/files/fi_x_2.png?v=1726640316); 19693 background-size: contain; 19694 } 19695 19696 19697.yr-all-review-popup-yotpo-component-sections__26889559408933__yr_all_reviews_popup_bHXTpg span.today-offe.checklistr { 19698 color: #F9FAF7; 19699 font-family: Montserrat; 19700 font-size: 14px; 19701 font-style: normal; 19702 font-weight: 700; 19703 line-height: 131%; 19704 letter-spacing: 0.16px; 19705 text-transform: uppercase; 19706 text-align:left 19707 } 19708 19709 .yr-all-review-popup-yotpo-component-sections__26889559408933__yr_all_reviews_popup_bHXTpg .promo.checklist { 19710 display: grid; 19711 grid-template-columns: auto !important; 19712 align-items: center; 19713 border-radius: 14px; 19714 border: 1px solid rgba(125, 143, 62, 0.10); 19715 background: #fff; 19716 box-shadow: 0px 1px 2px 0px rgba(0, 0, 0, 0.05); 19717 margin: 0px auto 20px; 19718 padding: 16px; 19719 } 19720 19721.yr-all-review-popup-yotpo-component-sections__26889559408933__yr_all_reviews_popup_bHXTpg .promo.checklist img { 19722 width:24px; 19723 margin:0 auto 19724 } 19725 19726.yr-all-review-popup-yotpo-component-sections__26889559408933__yr_all_reviews_popup_bHXTpg .promo.checklist h2 { 19727 color: #000; 19728 text-align: left; 19729 font-family: "Montserrat"; 19730 font-size: 14px; 19731 font-style: normal; 19732 font-weight: 700; 19733 line-height: 130%; 19734 letter-spacing: 0.14px; 19735 text-transform: capitalize; 19736 } 19737 19738.yr-all-review-popup-yotpo-component-sections__26889559408933__yr_all_reviews_popup_bHXTpg .promo.checklist h6 { 19739 color: #000; 19740 text-align: left; 19741 font-family: "Montserrat"; 19742 font-size: 14px; 19743 font-style: normal; 19744 font-weight: 400; 19745 line-height: 130%; 19746 letter-spacing: 0.14px; 19747 text-transform: inherit; 19748 } 19749 19750 19751 19752.yr-all-review-popup-yotpo-component-sections__26889559408933__yr_all_reviews_popup_bHXTpg { 19753 position: fixed; 19754 top: 0; 19755 right: -480px; 19756 bottom: 0; 19757 width: 480px; 19758 background: #FFF8F1; 19759 z-index: 999999999999; 19760 transition: right 0.5s ease-in-out; 19761 padding: 15px; 19762 padding-bottom:75px; 19763 overflow:scroll 19764} 19765 19766.yr-all-review-popup-yotpo-component-sections__26889559408933__yr_all_reviews_popup_bHXTpg .promo.checklist .buttons span { 19767 background: #f9faf7; 19768 padding: 10px; 19769 border-radius: 10px; 19770 border: 1px solid; 19771 cursor: pointer; 19772} 19773 19774.yr-all-review-popup-yotpo-component-sections__26889559408933__yr_all_reviews_popup_bHXTpg .promo.checklist .buttons .apply svg { 19775display:none 19776} 19777 19778.yr-all-review-popup-yotpo-component-sections__26889559408933__yr_all_reviews_popup_bHXTpg .promo.checklist .buttons .apply.active svg { 19779display:inline 19780} 19781 19782 19783.yr-all-review-popup-yotpo-component-sections__26889559408933__yr_all_reviews_popup_bHXTpg .promo.checklist .buttons { 19784 display: grid; 19785 grid-template-columns: 48% 48%; 19786 gap: 4%; 19787} 19788 19789.yr-all-review-popup-yotpo-component-sections__26889559408933__yr_all_reviews_popup_bHXTpg .buttons { 19790 margin-top: 12px; 19791} 19792 19793.yr-all-review-popup-yotpo-component-sections__26889559408933__yr_all_reviews_popup_bHXTpg .buttons span { 19794 font-weight: 600; 19795} 19796 19797 .yr-all-review-popup-yotpo-component-overlay-sections__26889559408933__yr_all_reviews_popup_bHXTpg , .yr-all-review-popup-yotpo-component-overlay-sections__26889559408933__yr_all_reviews_popup_bHXTpg a { 19798 position: fixed; 19799 top: 0; 19800 right: 0px; 19801 bottom: 0; 19802 left:0; 19803 display:none; 19804 background: #000; 19805 z-index: 9999; 19806 opacity:0.7; 19807 19808 } 19809 19810 .yr-all-review-popup-yotpo-component-overlay-sections__26889559408933__yr_all_reviews_popup_bHXTpg a {display:block} 19811 19812 .yr-all-review-popup-yotpo-component-sections__26889559408933__yr_all_reviews_popup_bHXTpg.slide-left { 19813 right: 0px; 19814} 19815 19816 .yr-all-review-popup-yotpo-component-overlay-sections__26889559408933__yr_all_reviews_popup_bHXTpg.slide-left { 19817 display:block 19818 } 19819 19820 .yr-all-review-popup-yotpo-component-sections__26889559408933__yr_all_reviews_popup_bHXTpg .close-yr-all-review-popup-yotpo { 19821 background-image: url('https://cdn.shopify.com/s/files/1/0864/6741/2261/files/fi_chevron-left.png?v=1725191701'); 19822 width:24px; 19823 height:24px; 19824 position: absolute ;
19825 left:20px; 19826 top:20px; 19827 } 19828 19829 .yr-all-review-popup-yotpo-component-sections__26889559408933__yr_all_reviews_popup_bHXTpg .yr-all-review-popup-yotpo-title { 19830 position:relative; 19831 text-align: center; 19832 padding-top: 20px; 19833 padding-bottom: 20px; 19834 } 19835 19836.yr-all-review-popup-yotpo-component-sections__26889559408933__yr_all_reviews_popup_bHXTpg .today-offer { 19837 color: #272E0F; 19838 text-align: center; 19839 font-family: Montserrat; 19840 font-size: 18px; 19841 font-style: normal; 19842 font-weight: 700; 19843 line-height: normal; 19844 letter-spacing: 0.327px; 19845 } 19846 19847.yr-all-review-popup-yotpo-component-sections__26889559408933__yr_all_reviews_popup_bHXTpg .yr-all-review-popup-yotpo-title img { 19848 width:24px; 19849 display:inline; 19850 margin-right:8px 19851 } 19852 19853.yr-all-review-popup-yotpo-component-sections__26889559408933__yr_all_reviews_popup_bHXTpg .promo { 19854 border-radius: 16px; 19855 border: 1px solid rgba(161, 161, 161, 0.50); 19856 box-shadow: 0px 1px 1px 0px rgba(0, 0, 0, 0.02), 0px 4px 4px -1px rgba(0, 0, 0, 0.02); 19857 width: 100%; 19858 padding-top: 20px; 19859 margin: 10px auto 30px; 19860 padding: 20px; 19861 text-align: center; 19862 position:relative; 19863 background-repeat: no-repeat !important ; 19864 background-size: contain !important ;; 19865} 19866 19867.yr-all-review-popup-yotpo-component-sections__26889559408933__yr_all_reviews_popup_bHXTpg .promo.promo2 { 19868 display: grid; 19869 grid-template-columns: 48% 48%; 19870 gap: 4%; 19871 align-items: center; 19872} 19873 19874.yr-all-review-popup-yotpo-component-sections__26889559408933__yr_all_reviews_popup_bHXTpg .promo.promo2 { 19875 padding:16px 19876 } 19877 19878.yr-all-review-popup-yotpo-component-sections__26889559408933__yr_all_reviews_popup_bHXTpg .promo.promo2 h2 , .promo.promo2 h6{ 19879 color:#fff; 19880 text-align:left; 19881 19882 } 19883 19884.yr-all-review-popup-yotpo-component-sections__26889559408933__yr_all_reviews_popup_bHXTpg .promo.promo2 a { 19885 margin: 16px 0 ; 19886 font-size:13px; 19887 padding: 5px 25px; 19888 } 19889 19890.yr-all-review-popup-yotpo-component-sections__26889559408933__yr_all_reviews_popup_bHXTpg .promo h2 { 19891 color: #595C51; 19892 font-family: Montserrat; 19893 font-size: 18px; 19894 font-style: normal; 19895 font-weight: 400; 19896 line-height: normal; 19897 text-transform: capitalize; 19898 text-align: center; 19899 19900} 19901 19902.yr-all-review-popup-yotpo-component-sections__26889559408933__yr_all_reviews_popup_bHXTpg .promo h6 { 19903 color: #595C51; 19904 font-family: Montserrat; 19905 font-size: 14px; 19906 font-style: normal; 19907 font-weight: 500; 19908 line-height: normal; 19909 text-transform: capitalize; 19910 text-align: center; 19911 padding-top: 4px; 19912 19913} 19914 19915.yr-all-review-popup-yotpo-component-sections__26889559408933__yr_all_reviews_popup_bHXTpg .promo a { 19916 display: block; 19917 padding: 9px 25px; 19918 justify-content: center; 19919 align-items: center; 19920 /* gap: 4px; */ 19921 border-radius: 36px; 19922 border: 1px solid rgba(255, 255, 255, 0.12); 19923 background: #272E0F; 19924 box-shadow: 0px 1px 1px 0px rgba(255, 255, 255, 0.02) inset, 0px 6px 12px 0px rgba(255, 255, 255, 0.12) inset, 0px 4px 8px 3px rgba(0, 0, 0, 0.12), 0px 1px 3px 0px rgba(0, 0, 0, 0.20); 19925 color: #fff; 19926 margin: 16px auto; 19927 max-width: fit-content; 19928 position: relative; 19929 z-index: 66; 19930} 19931 19932 .yr-all-review-popup-yotpo-component-sections__26889559408933__yr_all_reviews_popup_bHXTpg .shape { 19933 height:145px; 19934 /*background: linear-gradient(180deg, #FBE2D2 0%, #E4CFD3 100%);*/ 19935 position:absolute; 19936 bottom:0; 19937 right:0; 19938 left:0; 19939 border-radius:0 0 15px 15px 19940 19941 } 19942 19943.yr-all-review-popup-yotpo-component-sections__26889559408933__yr_all_reviews_popup_bHXTpg .promo img { 19944 display:inline-block; 19945 text-align:center; 19946 z-index: 777; 19947 position: relative; 19948 } 19949 19950 .yr-all-review-popup-yotpo-component-sections__26889559408933__yr_all_reviews_popup_bHXTpg .promo-scrollable-area { 19951 height: 100%; 19952 overflow: scroll; 19953 19954} 19955 19956 19957 19958 .yr-all-review-popup-yotpo-component-sections__26889559408933__yr_all_reviews_popup_bHXTpg .cashback-signed-out-state a { 19959 display: flex; 19960 width: max-content; 19961 height: 48px; 19962 padding: 9px 35px; 19963 justify-content: center;
19964 align-items: center; 19965 gap: 4px; 19966 flex-shrink: 0; 19967 border-radius: 36px; 19968 border: 1px solid rgba(255, 255, 255, 0.12); 19969 background: #272E0F; 19970 box-shadow: 0px 1px 1px 0px rgba(255, 255, 255, 0.02) inset, 0px 6px 12px 0px rgba(255, 255, 255, 0.12) inset, 0px 4px 8px 3px rgba(0, 0, 0, 0.12), 0px 1px 3px 0px rgba(0, 0, 0, 0.20); 19971 color: #fff; 19972 margin: 11px auto 8px; 19973 font-family: Montserrat; 19974 font-weight: 500; 19975} 19976 19977.yr-all-review-popup-yotpo-component-sections__26889559408933__yr_all_reviews_popup_bHXTpg .cashback-signed-out-state p { 19978 color: #272E0F; 19979 font-family: Montserrat; 19980 font-size: 14px; 19981 margin-top: 3px; 19982} 19983 19984.yr-all-review-popup-yotpo-component-sections__26889559408933__yr_all_reviews_popup_bHXTpg .cashback-signed-out-state h3 { 19985 color: #272E0F; 19986 font-family: Montserrat; 19987 font-size: 20px; 19988 font-style: normal; 19989 font-weight: 700; 19990 line-height: 131%; 19991 letter-spacing: 0.16px; 19992 text-transform: uppercase; 19993 text-align: center; 19994} 19995 19996.yr-all-review-popup-yotpo-component-sections__26889559408933__yr_all_reviews_popup_bHXTpg .promo.checklist h6 svg { 19997 width: 14px; 19998 opacity: 0.9; 19999} 20000 20001.yr-all-review-popup-yotpo-component-sections__26889559408933__yr_all_reviews_popup_bHXTpg span.total_cashback { 20002 color: #F9FAF7; 20003 text-align: left; 20004 font-family: Montserrat; 20005 font-size: 48px; 20006 font-style: normal; 20007 font-weight: 700; 20008 line-height: 131%; 20009 letter-spacing: 0; 20010 text-transform: uppercase; 20011 display: block; 20012 font-weight: 700 !important; 20013} 20014 20015.yr-all-review-popup-yotpo-component-sections__26889559408933__yr_all_reviews_popup_bHXTpg span.today-offe.checklistr svg { 20016 display: inline; 20017 width: 17px; 20018} 20019 20020.yr-all-review-popup-yotpo-component-sections__26889559408933__yr_all_reviews_popup_bHXTpg p.trusted-yotpo { 20021 display: flex; 20022 align-items: center; 20023 gap: 3px; 20024 font-family: Montserrat; 20025 font-size: 12px; 20026} 20027 20028.yr-all-review-popup-yotpo-component-sections__26889559408933__yr_all_reviews_popup_bHXTpg .yotpo-bottom-line-summary { 20029 display: grid !important; 20030 gap: 0; 20031 margin-top: 36px; 20032} 20033 20034.yr-all-review-popup-yotpo-component-sections__26889559408933__yr_all_reviews_popup_bHXTpg .yotpo-bottom-line-right-panel .yotpo-star-rating { 20035 display: flex; 20036 align-items: center; 20037 justify-content: center; 20038} 20039 20040.yr-all-review-popup-yotpo-component-sections__26889559408933__yr_all_reviews_popup_bHXTpg .star-container svg { 20041 width: 12px; 20042} 20043 20044.yr-all-review-popup-yotpo-component-sections__26889559408933__yr_all_reviews_popup_bHXTpg .star-container svg path { 20045 fill: #00772F; 20046 stroke: #00772F; 20047} 20048 20049.yr-all-review-popup-yotpo-component-sections__26889559408933__yr_all_reviews_popup_bHXTpg .yotpo-bottom-line-right-panel { 20050 padding-top: 2px !important; 20051} 20052 20053.yr-all-review-popup-yotpo-component-sections__26889559408933__yr_all_reviews_popup_bHXTpg .yotpo-seo-page-tabs { 20054 20055 margin-bottom: -1px !important; 20056 justify-content: start; 20057} 20058 20059.yr-all-review-popup-yotpo-component-sections__26889559408933__yr_all_reviews_popup_bHXTpg .ugc-storefront-widgets-tabs-container .ugc-storefront-widgets-tabs-container__tab.selected { 20060 cursor: pointer; 20061 border-bottom: 1px solid rgba(39,46,15,1); 20062 margin-inline-end: 28px; 20063 padding: 12px 0; 20064} 20065 20066.yr-all-review-popup-yotpo-component-sections__26889559408933__yr_all_reviews_popup_bHXTpg .yotpo-bottom-line-right-panel .yotpo-bottom-line-basic-text { 20067 padding: 0; 20068 margin: 0; 20069 color: #151515; 20070 font-feature-settings: 'clig' off, 'liga' off; 20071 font-family: math; 20072 font-size: 14px; 20073 font-style: normal; 20074 font-weight: 300; 20075 line-height: normal; 20076 text-decoration-line: none !important; 20077 text-transform: capitalize; 20078 font-family: Montserrat !important; 20079} 20080 20081.yr-all-review-popup-yotpo-component-sections__26889559408933__yr_all_reviews_popup_bHXTpg #yotpo-app .yotpo-review { 20082 flex-wrap: wrap; 20083 gap: 10px; 20084 border-top: 0px solid #E7E6E4 !important; 20085 padding-block: 32px; 20086 margin: 0; 20087 display:grid 20088} 20089 20090.yr-all-review-popup-yotpo-component-sections__26889559408933__yr_all_reviews_popup_bHXTpg h3.yotpo-review-title { 20091margin-bottom:0 !important 20092} 20093 20094.yr-all-review-popup-yotpo-component-sections__26889559408933__yr_all_reviews_popup_bHXTpg .yotpo-star-rating.yotpo-review-star-rating { 20095margin-bottom:0 !important 20096} 20097 20098.yr-all-review-popup-yotpo-component-sections__26889559408933__yr_all_reviews_popup_bHXTpg .yotpo-review-right-panel { 20099order:1 !important 20100} 20101 20102.yr-all-review-popup-yotpo-component-sections__26889559408933__yr_all_reviews_popup_bHXTpg .yotpo-review-rating-title { 20103 display: grid !important; 20104} 20105 20106 20107.yr-all-review-popup-yotpo-component-sections__26889559408933__yr_all_reviews_popup_bHXTpg span.yotpo-reviewer-name 20108 20109 { 20110 font-family: Montserrat !important; 20111 font-size: 14px !important; 20112 font-weight: 600 !important; 20113 text-transform: capitalize !important; 20114} 20115 20116.yr-all-review-popup-yotpo-component-sections__26889559408933__yr_all_reviews_popup_bHXTpg .h4 { 20117 font-family: PlayfairDisplay; 20118 font-weight: 700; 20119 font-size: 24px; 20120 line-height: 1.12; 20121 letter-spacing: .01em; 20122 color: var(--forest); 20123 margin: 12px 0 6px; 20124 text-transform: none !important; 20125} 20126 20127.yr-all-review-popup-yotpo-component-sections__26889559408933__yr_all_reviews_popup_bHXTpg .yotpo-bottom-line-left-panel.yotpo-bottom-line-score { 20128 font-family: PlayfairDisplay!important; 20129 font-weight: 700 !important; 20130} 20131 20132.yr-all-review-popup-yotpo-component-sections__26889559408933__yr_all_reviews_popup_bHXTpg .terms { 20133 background: transparent !important; 20134 box-shadow: none !important; 20135 color: #272E0F !important; 20136 font-size: 11px !important; 20137 padding: 0 !important; 20138 margin: 0 auto !important; 20139 display: block !important; 20140 font-weight: 400 !important; 20141 text-decoration: underline; 20142} 20143 20144 20145 20146#shopify-section-sections--26889559408933__yr_all_reviews_popup_bHXTpg { 20147 width: 95%; 20148 margin: 0 auto; 20149 max-width: 1323px; 20150} 20151 20152#shopify-section-sections--26889559408933__yr_all_reviews_popup_bHXTpg .yotpo-head { 20153 display: none; 20154} 20155 20156@media only screen and (max-width: 600px) { 20157/*.container { 20158 --distance-to-bleed: 0; 20159 margin-inline-start: 0; 20160 margin-inline-end: 0; 20161}*/ 20162 20163.yotpo-seo-page-layout { 20164 display: flex; 20165 margin: auto 6px; 20166} 20167.yotpo-display-s .yotpo-seo-page-tabs { 20168 margin-top: 0px; 20169} 20170.yotpo-display-s .yotpo-bottomline-container[data-v-7eee2298] { 20171 flex-direction: column; 20172 margin-bottom: 0; 20173} 20174} 20175 20176 20177.yr-all-review-popup-yotpo-component-sections__26889559408933__yr_all_reviews_popup_bHXTpg h6.expires { 20178 opacity: 0.7; 20179 font-size: 12px !important; 20180 display: flex; 20181 align-items: center; 20182 gap: 6px; 20183 padding-top: 0; 20184} 20185 20186.yr-all-review-popup-yotpo-component-sections__26889559408933__yr_all_reviews_popup_bHXTpg .promo.checklist .value-of-coupon h6 { 20187 color: #fff; 20188 font-size: 12px; 20189 font-weight: 700; 20190} 20191 20192.yr-all-review-popup-yotpo-component-sections__26889559408933__yr_all_reviews_popup_bHXTpg .value-of-coupon { 20193 position: absolute; 20194 top: -11px; 20195 right: -7px; 20196 background: linear-gradient(90deg, #272E0F 0%, #606060 100%); 20197 display: flex; 20198 gap: 7px; 20199 padding: 1px 9px; 20200 border-radius: 22px; 20201 color: #fff; 20202} 20203 20204.yr-all-review-popup-yotpo-component-sections__26889559408933__yr_all_reviews_popup_bHXTpg .value-of-coupon svg { 20205 width: 12px; 20206} 20207 20208.yr-all-review-popup-yotpo-component-sections__26889559408933__yr_all_reviews_popup_bHXTpg .close-reviews-pannel { 20209position:sticky; 20210top:10px; 20211right:10px; 20212padding:3px; 20213display: flex; 20214justify-content: end; 20215} 20216 20217.yr-all-review-popup-yotpo-component-sections__26889559408933__yr_all_reviews_popup_bHXTpg a.close-reviews-pannel svg { 20218 background: #FFF8F1; 20219} 20220 20221.yr-all-review-popup-yotpo-component-sections__26889559408933__yr_all_reviews_popup_bHXTpg .yotpo-review-content { 20222width:100% !important 20223} 20224 20225.yr-all-review-popup-yotpo-component-sections__26889559408933__yr_all_reviews_popup_bHXTpg h3.your-total { 20226 text-transform: uppercase; 20227 font-size: 14px; 20228 margin-bottom: 15px; 20229 margin-top: 5px; 20230} 20231 20232 @keyframes moveText { 20233 0% { transform: translateY(100%); opacity: 0; } 20234 20% { transform: translateY(0); opacity: 1; } 20235 80% { transform: translateY(0); opacity: 1; } 20236 100% { transform: translateY(-100%); opacity: 0; } 20237 } 20238 20239 } 20240 20241 20242 20243.yr-all-review-popup-yotpo-component-sections__26889559408933__yr_all_reviews_popup_bHXTpg .image-wrapper { 20244 width: 100%; 20245 height: 300px; 20246 display: grid; 20247 align-items: center; 20248 background: #fff; 20249} 20250 20251 20252 20253 @media only screen and (max-width: 800px) { 20254 .yr-all-review-popup-yotpo-component-sections__26889559408933__yr_all_reviews_popup_bHXTpg { 20255 max-width:98%; 20256 } 20257 20258 } 20259 20260 20261 20262 20263</style> 20264 20265<div class="yr-all-review-popup-yotpo-component-overlay-sections__26889559408933__yr_all_reviews_popup_bHXTpg 20266 checklist"> 20267 <a aria-label="Close popup" href="#close-review"></a> 20268</div> 20269 20270<div class="yr-all-review-popup-yotpo-component-sections__26889559408933__yr_all_reviews_popup_bHXTpg checklist "> 20271 <a class="close-reviews-pannel" href="#close-review"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none"> <path d="M18 6L6 18" stroke="#111111" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"></path> <path d="M6 6L18 18" stroke="#111111" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"></path> </svg></a> 20272 <p class="h4">Our customers can't get enough!</p> 20273 <p class="trusted-yotpo">Trusted reviews by
20274 <svg width="58" height="16" viewBox="0 0 58 16" fill="none" xmlns="http://www.w3.org/2000/svg" class="yotpo-reviews-seo-icon"><path fill-rule="evenodd" clip-rule="evenodd" d="M3.26899 2.26024L5.39873 8.19371L7.62984 2.26024H10.7975L5.381 16H2.24828L3.85034 11.7427L0 2.26024H3.26899ZM36.7241 2.05019C39.5842 2.05019 41.6695 4.29282 41.6695 7.36276C41.6695 10.4327 39.5842 12.6753 36.7241 12.6753C35.6687 12.6753 34.7798 12.393 34.1015 11.8487L34.0576 11.8128L34.0201 11.7812L34.0201 15.9967H30.9679L30.968 2.26024H33.6668L33.6668 3.28745L33.682 3.26977C34.3471 2.50311 35.3532 2.07883 36.5957 2.05159L36.6613 2.05052L36.7241 2.05019ZM16.3566 2.05019C19.506 2.05019 21.7385 4.24902 21.7385 7.36276C21.7385 10.4628 19.4986 12.6753 16.3566 12.6753C13.1969 12.6753 10.9538 10.4659 10.9538 7.36276C10.9538 4.24592 13.1895 2.05019 16.3566 2.05019ZM26.823 0L26.823 2.26024H29.3346V4.9245L26.823 4.92442L26.823 8.60205C26.823 9.42471 27.2187 9.87723 27.9388 9.90471L27.9739 9.9057L28.0095 9.90604C28.4979 9.90604 28.8678 9.77639 29.1987 9.45498L29.2296 9.42429L29.3119 9.3389H29.3346V12.2777L29.241 12.323C28.7388 12.5657 28.429 12.6753 27.573 12.6753C25.1528 12.6753 23.8239 11.3439 23.7723 8.85824L23.7712 8.78256L23.7708 8.70708L23.7707 4.92442L22.6662 4.9245V2.26024H23.8539L23.8539 0H26.823ZM48.3392 2.05019C51.4887 2.05019 53.7212 4.24902 53.7212 7.36276C53.7212 10.4628 51.4813 12.6753 48.3392 12.6753C45.1796 12.6753 42.9365 10.4659 42.9365 7.36276C42.9365 4.24592 45.1722 2.05019 48.3392 2.05019ZM56.209 9.29517C57.1327 9.29517 57.8815 10.0518 57.8815 10.9852C57.8815 11.9187 57.1327 12.6753 56.209 12.6753C55.2853 12.6753 54.5365 11.9187 54.5365 10.9852C54.5365 10.0518 55.2853 9.29517 56.209 9.29517ZM36.2668 4.81948C34.8918 4.81948 33.9579 5.84799 33.9579 7.36276C33.9579 8.87753 34.8918 9.90604 36.2668 9.90604C37.6598 9.90604 38.5965 8.8806 38.5965 7.36276C38.5965 5.84492 37.6598 4.81948 36.2668 4.81948ZM16.3566 4.81948C14.9767 4.81948 14.0269 5.8532 14.0269 7.36276C14.0269 8.87232 14.9767 9.90604 16.3566 9.90604C17.7184 9.90604 18.6655 8.86922 18.6655 7.36276C18.6655 5.85629 17.7184 4.81948 16.3566 4.81948ZM48.3392 4.81948C46.9594 4.81948 46.0095 5.8532 46.0095 7.36276C46.0095 8.87232 46.9594 9.90604 48.3392 9.90604C49.7011 9.90604 50.6482 8.86922 50.6482 7.36276C50.6482 5.85629 49.7011 4.81948 48.3392 4.81948Z" fill="#0042E4"></path></svg></p> 20275 <div class="yotpo-widget-instance" data-yotpo-instance-id="855000"></div> 20276</div> 20277 20278 20279
20280<script> 20281 function openClosePromoSidesections__26889559408933__yr_all_reviews_popup_bHXTpg() { 20282 //event.preventDefault(); 20283 document.getElementsByClassName('yr-all-review-popup-yotpo-component-overlay-sections__26889559408933__yr_all_reviews_popup_bHXTpg')[0].classList.toggle("slide-left"); 20284 document.getElementsByClassName('yr-all-review-popup-yotpo-component-sections__26889559408933__yr_all_reviews_popup_bHXTpg')[0].classList.toggle("slide-left"); 20285 document.getElementsByTagName('body')[0].classList.toggle("overflowY"); 20286 } 20287 20288 window.addEventListener('hashchange', function() { 20289 if( window.location.hash.search("open-review")>0){ 20290 openClosePromoSidesections__26889559408933__yr_all_reviews_popup_bHXTpg(); 20291 sendToHeap('all reviews popup','open modal') 20292 document.body.style.position = 'fixed'; 20293 //document.body.style.top = `-${scrollY}px`; 20294 document.body.style.left = '0'; 20295 document.body.style.right = '0'; 20296 document.body.style.width = '100%'; 20297 } 20298 20299 else if (window.location.hash.search("close-review")>0) { 20300 openClosePromoSidesections__26889559408933__yr_all_reviews_popup_bHXTpg(); 20301 sendToHeap('all reviews popup','close modal') 20302 document.body.style.position = ''; 20303 document.body.style.top = ''; 20304 document.body.style.left = ''; 20305 document.body.style.right = ''; 20306 document.body.style.width = ''; 20307 } 20308 }); 20309 20310 20311 20312 20313 20314</script>
20314 20315 20316</div> 20317<!-- END sections: overlay-group --><main id="main" class="anchor"> 20318 <div id="shopify-section-template--26889568846117__yr_promotion_popup_kXXwn9" class="shopify-section promotion_popup"> 20319 20320 20321 20322 20323 20324 20325 <div id="promotion-inline-msg-campaign_popup_kpVtLC" class="promotion-inline-msg"> 20326 <p>You are entitled to a limited 50% discount on your first purchase! Use code: Cart50OFF <span onclick="clickedBadgecampaign_popup_kpVtLC()">Learn More</span></p> 20327 20328 </div> 20329 20330 <div id="popup-layout-campaign_popup_kpVtLC" style="display:none" class="promotion-popup_layout"> 20331 20332 <div class="promotion-popup_background"> 20333 <div class="close-promotion-popup"> <span class="present-image">Exclusive discounts ahead</span> <span onclick="PromoPopupcampaign_popup_kpVtLC()" class="x-image campaign_popup_kpVtLC"></span></div> 20334 20335 20336 <div id="without-email-campaign_popup_kpVtLC" class="promotion-scroll-area"> 20337 <div> <img alt="popup-image" src="//yvesrocherusa.com/cdn/shop/files/50_OFFER_4_400x.gif?v=1724150889"> </div> 20338 <h1> Limited time offer</h1> 20339 <p>You are entitled to a limited 50% discount on your first purchase! Use code: Cart50OFF</p> 20340 20341 <span onclick="popupAddtocartcampaign_popup_kpVtLC(this)" class="popup-product-link" >Shop Top-Selling Beauty Sets</span> 20342 20343 20344 </div> 20345 20346 20347 <div id="with-email-campaign_popup_kpVtLC" class="promotion-scroll-area"> 20348 <div> <img alt="popup-image" src="//yvesrocherusa.com/cdn/shopifycloud/storefront/assets/no-image-2048-a2addb12_400x.gif"> </div> 20349 <h1> </h1> 20350 <p></p> 20351 <div class="email-wraper"> 20352 <div class="close-after-subsmition-campaign_popup_kpVtLC" style="position:relative"> 20353 <label for="user-email-campaign_popup_kpVtLC" style="display:none" >Email</label> 20354 <input placeholder="" class="user-email-campaign_popup_kpVtLC" id="user-email-campaign_popup_kpVtLC"> 20355 <p class="error-msg-campaign_popup_kpVtLC"></p> 20356 </div> 20357 <button class="close-after-subsmition" id="submit-email-campaign_popup_kpVtLC"></button> 20358 <!-- <a style="display:none" onclick="fireEventsToHeap('clicked_Hero_banner_video')" href="" class="scroll-to-campaign_popup_kpVtLC"></a>--> 20359 </div> 20360 </div> 20361 20362 </div> 20363 </div> 20364 20365 20366
20367<script> 20368<!-----------------------------------------------------------------------------------------------------------------> 20369 20370 function showPromoMSGcampaign_popup_kpVtLC() { 20371 const urlParams = getUrlParams(window.location.href); 20372 const showDuringSession = sessionStorage.getItem('show-promo-msg-pop_up-'cart50off'') 20373 20374 if(urlParams.pop_up != undefined || showDuringSession === "true" ) { 20375 if(urlParams.pop_up === ''cart50off'' || showDuringSession === "true" ) { 20376 document.getElementById('promotion-inline-msg-campaign_popup_kpVtLC').style.display = "block"; 20377 showEmailInPopup_campaign_popup_kpVtLC() 20378 sessionStorage.setItem('show-promo-msg-pop_up-'cart50off'', 'true'); 20379 20380 if(urlParams.open_popup === "true"){ 20381 clickedBadgecampaign_popup_kpVtLC(); 20382 } 20383 20384 if(urlParams.show_btn === "false") { 20385 document.querySelector('.x-image.campaign_popup_kpVtLC').style.display = "none" 20386 } 20387 20388 20389 20390 20391 } 20392 } 20393 } 20394 20395 20396 20397 20398 20399<!-----------------------------------------------------------------------------------------------------------------> 20400 20401 20402 function showEmailInPopup_campaign_popup_kpVtLC() { 20403 const urlParams = getUrlParams(window.location.href); 20404 const showDuringSession = sessionStorage.getItem('is_email-'cart50off''); 20405 if(urlParams.is_email === "true" || showDuringSession === "true" ){ 20406 document.getElementById('with-email-campaign_popup_kpVtLC').style.display = "block"; 20407 document.getElementById('without-email-campaign_popup_kpVtLC').style.display = "none"; 20408 localStorage.setItem("viewedPopup", "true"); 20409 sessionStorage.setItem('is_email-'cart50off'', 'true'); 20410 20411 } 20412 20413 20414 else { 20415 document.getElementById('with-email-campaign_popup_kpVtLC').style.display = "none"; 20416 document.getElementById('without-email-campaign_popup_kpVtLC').style.display = "block"; 20417 } 20418 } 20419 20420 20421<!-----------------------------------------------------------------------------------------------------------------> 20422 20423 function validateEmail(email) { 20424 const regex = /^[^\s@]+@[^\s@]+\.[^\s@]+$/; 20425 return regex.test(email); 20426 } 20427 20428 <!-----------------------------------------------------------------------------------------------------------------> 20429 20430 function kEventcampaign_popup_kpVtLC(email) { 20431 _learnq.push(["track", "", { 20432 "Recipients": [email], 20433 "page":window.location.pathname 20434 }]); 20435 console.log('Tbyb event sent') 20436 } 20437 20438 20439<!-----------------------------------------------------------------------------------------------------------------> 20440 20441 document.getElementById('submit-email-campaign_popup_kpVtLC').addEventListener('click', function() { 20442 const user_email = document.getElementsByClassName('user-email-campaign_popup_kpVtLC')[0].value 20443 const is_email = validateEmail(user_email); 20444 const coupon = '' 20445 20446 if (user_email === "") { 20447 document.getElementsByClassName('error-msg-campaign_popup_kpVtLC')[0].style.display = "block"; 20448 document.getElementsByClassName('error-msg-campaign_popup_kpVtLC')[0].innerText = "Please add your email "; 20449 document.getElementsByClassName('user-email-campaign_popup_kpVtLC')[0].style.border = "1px solid red"; 20450 setTimeout(function() { 20451 document.getElementsByClassName('error-msg-campaign_popup_kpVtLC')[0].style.display = "none"; 20452 document.getElementsByClassName('user-email-campaign_popup_kpVtLC')[0].style.border = "1px solid #A1A1A1" 20453 20454 },3000 ) 20455 } 20456 20457 else if(!is_email) { 20458 document.getElementsByClassName('error-msg-campaign_popup_kpVtLC')[0].style.display = "block"; 20459 document.getElementsByClassName('error-msg-campaign_popup_kpVtLC')[0].innerText = "Please add a valid email "; 20460 document.getElementsByClassName('user-email-campaign_popup_kpVtLC')[0].style.border = "1px solid red" 20461 setTimeout(function() { 20462 document.getElementsByClassName('error-msg-campaign_popup_kpVtLC')[0].style.display = "none"; 20463 document.getElementsByClassName('user-email-campaign_popup_kpVtLC')[0].style.border = "1px solid #A1A1A1" 20464 20465 },3000 ) 20466 } 20467 20468 else { 20469 document.getElementById('submit-email-campaign_popup_kpVtLC').innerText = "Unlocking..."; 20470 sessionStorage.getItem('show-promo-msg-pop_up-'cart50off'') 20471 sendToHeap(''); 20472 _learnq.push(['identify', { 20473 '$email' : user_email 20474 20475 }]) 20476 if(coupon === ""){ 20477 setTimeout(function(){ 20478 kEventcampaign_popup_kpVtLC(user_email) ; 20479 document.getElementsByClassName('close-after-subsmition')[0].style.display = "none"; 20480 document.getElementsByClassName('close-after-subsmition')[1].style.display = "none"; 20481 document.getElementsByClassName('scroll-to')[0].style.display = "flex"; 20482 },1000) 20483 } 20484 20485 else { 20486 setTimeout(function(){ 20487 kEventcampaign_popup_kpVtLC(user_email) ; 20488 },1000) 20489 setTimeout(function(){ 20490 window.location.replace("https://yvesrocherusa.com/discount/"+coupon+"?redirect="+window.location.pathname+"&pop_up='cart50off'&emailSubmitted=true"); 20491 20492 },1000) 20493 } 20494 20495 } 20496 }); 20497 20498 <!-----------------------------------------------------------------------------------------------------------------> 20499 20500 20501 function PromoPopupcampaign_popup_kpVtLC() { 20502 document.getElementById('popup-layout-campaign_popup_kpVtLC').style.display = "none"; 20503 // localStorage.removeItem("viewedPopup"); 20504 } 20505 20506<!-----------------------------------------------------------------------------------------------------------------> 20507 20508 function popupAddtocartcampaign_popup_kpVtLC(element) { 20509 var product_name = document.title 20510 document.getElementsByClassName('wd-buy_btn')[0].click() 20511 element.innerText = "Adding..." 20512 setTimeout(function() { 20513 document.getElementById('popup-layout-campaign_popup_kpVtLC').style.display = "none"; 20514 element.innerText = "Add to cart" 20515 }, 1500) 20516 20517 } 20518 20519 20520<!-----------------------------------------------------------------------------------------------------------------> 20521 20522 function clickedBadgecampaign_popup_kpVtLC() { 20523 document.getElementById('popup-layout-campaign_popup_kpVtLC').style.display = "block"; 20524 } 20525 20526<!-----------------------------------------------------------------------------------------------------------------> 20527 20528 function getUrlParams(url) { 20529 const params = {}; 20530 const urlObj = new URL(url); 20531 20532 for (const [key, value] of urlObj.searchParams) { 20533 // Add each parameter as a key-value pair to the params object 20534 params[key] = value; 20535 } 20536 20537 return params; 20538 } 20539<!--------------------------------------------------------------------------------------------------------------------------------------> 20540 20541 20542 function applyDiscountCodeAjax(discountCode) { 20543 const discountUrl = `/discount/${discountCode}`; 20544 fetch(discountUrl, { 20545 method: 'GET', 20546 headers: { 20547 'Content-Type': 'application/json' 20548 } 20549 }).then(response => { 20550 if (response.ok) { 20551 console.log('applyied discount.'); 20552 document.documentElement.dispatchEvent(new CustomEvent('cart:refresh', { bubbles: true})); 20553 document.documentElement.dispatchEvent(new CustomEvent("theme:loading:end", { bubbles: true })); 20554 20555 } else { 20556 console.error('Failed to apply discount.'); 20557 } 20558 }).catch(error => { 20559 console.error('Error applying discount:', error); 20560 }); 20561 } 20562 20563
20564 <!----------------------------------------code for price manipulation on collection page ----------------------------------------------> 20565 20566 20567 20568 20569 <!----------------------------------------code for price manipulation on products page ----------------------------------------------> 20570 20571 20572 20573 20574 document.addEventListener('DOMContentLoaded',showPromoMSGcampaign_popup_kpVtLC()); 20575 20576<!---------------------------------------> 20577 20578</script>
20578 20579 20580 20581<style> 20582 #promotion-inline-msg-campaign_popup_kpVtLC { 20583 background: #FE2C55; 20584 color: #fff; 20585 font-size: 13px; 20586 padding: 10px; 20587 text-align: center; 20588 text-transform: uppercase; 20589 font-weight: 600; 20590 display:none; 20591 } 20592 20593 input.user-email-campaign_popup_kpVtLC { 20594 height: 52px; 20595 border-radius: 5px; 20596 border: #A1A1A1 1px solid; 20597 background: #fff; 20598 padding: 10px; 20599 font-family: Montserrat; 20600 font-size: 14px; 20601 width: 100%; 20602 } 20603 20604 20605 .error-msg-campaign_popup_kpVtLC { 20606 display: none; 20607 position: absolute; 20608 color: red !important; 20609 bottom: -47px; 20610 left: 0px; 20611 background: #fff; 20612 padding: 3px 9px; 20613 margin: 0; 20614 border-radius: 5px; 20615 border-left: 1px solid red; 20616 border-right: 1px solid red; 20617 border-bottom: 1px solid red; 20618 font-size: 14px !important; 20619 } 20620 20621 #submit-email-campaign_popup_kpVtLC { 20622 background: #000; 20623 display: block; 20624 padding: 15px 10px; 20625 color: #fff; 20626 text-align: center; 20627 border-radius: 28px; 20628 font-family: 'Montserrat'; 20629 font-weight: 500; 20630 margin: 15px 0px 25px; 20631 cursor: pointer; 20632 width: 100%; 20633 } 20634 </style> 20635 20636 20637 20638 20639 20640 20641 20642 20643 20644<style> 20645 .email-wraper { 20646 margin:0 10px 20647 } 20648 20649 .promotion-inline-msg { 20650 background: ; 20651 color: ; 20652 font-size: ; 20653 padding: 10px; 20654 text-align: center; 20655 text-transform: uppercase; 20656 font-weight: 600; 20657 display:none; 20658 20659} 20660 20661 .promotion-inline-msg span { 20662 font-weight: 400; 20663 font-style: italic; 20664 cursor: pointer; 20665} 20666 20667 .popup-product-link.second { 20668 background: transparent; 20669 border: 1px solid #000; 20670 color: #000; 20671 } 20672 20673 20674 .popup-product-link { 20675 background: #000; 20676 display: block; 20677 padding: 10px; 20678 color: #fff; 20679 text-align: center; 20680 border-radius: 28px; 20681 font-family: 'Montserrat'; 20682 font-weight: 500; 20683 margin: 10px 25px; 20684 cursor: pointer; 20685 } 20686 20687.promotion-popup_layout { 20688 background: rgba(255, 255, 255, 0.70); 20689 backdrop-filter: blur(10px); 20690 -webkit-backdrop-filter: blur(10px)!important; 20691 display:none; 20692 position: fixed; 20693 top: 0; 20694 right: 0; 20695 left: 0; 20696 bottom: 0; 20697 z-index: 99999; 20698} 20699 20700 .promotion-popup_background { 20701 background: #fff; 20702 width: 377px; 20703 flex-shrink: 0; 20704 border-radius: 16px; 20705 background: var(--control-background, #FFF); 20706 box-shadow: 0px 8px 32px 0px rgba(0, 0, 0, 0.25); 20707 margin:50px auto 0 auto ; 20708 padding: 0 0px 8px; 20709 overflow:scroll; 20710 20711} 20712 20713 .close-promotion-popup { 20714 text-align: right; 20715 padding: 11px 0px 11px 0px; 20716 border-bottom: 1px #E8EAE5 solid; 20717 position: relative; 20718 height: 56px; 20719 margin: 0 10px; 20720 20721} 20722 20723 .SMS-img { 20724 color: #0000; 20725 max-width: 100%; 20726 height: auto; 20727 width: 345px; 20728 /* height: 160px; */ 20729 flex-shrink: 0; 20730 margin: 0 auto; 20731 border-radius: 5px; 20732 padding-top: 15px; 20733} 20734 20735 .promotion-popup_layout p { 20736 color: #272E0F; 20737 text-align: center; 20738 font-family: Montserrat; 20739 font-size: 15px; 20740 font-style: normal; 20741 font-weight: 300; 20742 line-height: normal; 20743 letter-spacing: 0.15px; 20744 margin-top: 11px; 20745 margin-bottom: 22px; 20746 20747 } 20748 20749 .promotion-popup_layout h1 { 20750 color: #272E0F; 20751 text-align: center; 20752 font-family: Montserrat; 20753 font-size: 20px; 20754 font-style: normal; 20755 font-weight: 700; 20756 line-height: 130%; 20757 letter-spacing: 0.2px; 20758 text-transform: uppercase; 20759 margin-top: 20px; 20760 } 20761 20762 .promotion-scroll-area { 20763 max-height: 650px; 20764 overflow: scroll; 20765 PADDING: 0 10px; 20766 overflow: auto; 20767 scrollbar-width: none !important; 20768 -ms-overflow-style: none !important; 20769} 20770 20771 .x-image { 20772 background-image: url(https://cdn.shopify.com/s/files/1/0864/6741/2261/files/fi_x.png?v=1720125482); 20773 width: 24px !important; 20774 height: 24px; 20775 display: block; 20776 background-size: contain; 20777 position: absolute; 20778 right: 0; 20779 top: 16px; 20780 cursor: pointer; 20781 } 20782 20783 20784 .present-image { 20785 background-image: url(https://cdn.shopify.com/s/files/1/0864/6741/2261/files/fi_gift_1.png?v=1720133225); 20786 width: 21px !important; 20787 height: 21px; 20788 display: block; 20789 background-size: contain; 20790 position: absolute; 20791 left: 0; 20792 top: 19px; 20793 cursor: pointer; 20794 width: 217px !important; 20795 display: block; 20796 background-repeat: no-repeat; 20797 color: #272E0F; 20798 font-family: Montserrat; 20799 font-size: 14px; 20800 font-style: normal; 20801 font-weight: 600; 20802 line-height: normal; 20803 line-height: 22px; 20804 } 20805 20806</style> 20807 20808 20809 20810 20811 20812 20813 20814 20815 20816 20817 20818</div><section id="shopify-section-template--26889568846117__main" class="shopify-section shopify-section--main-cart"><div class="section-spacing section-spacing--tight color-scheme color-scheme--scheme-1 color-scheme--bg-54922f2e920ba8346f6dc0fba343d673"><div class="container container--xs"> 20819 <div class="empty-state"> 20820 <div class="prose"> 20821 <h1 class="h4">My Cart</h1> 20822 <p>Your cart is empty</p> 20823<a class="button"href="/collections/all" >Continue shopping</a><style> 20824 button[type="submit"].wd-buy_btn{ 20825 display: flex; 20826 height: 60px; 20827 padding: 9px 25px; 20828 justify-content: center;
20829 align-items: center; 20830 gap: 4px; 20831 border-radius: 36px; 20832 box-shadow: 0px 1px 1px 0px rgba(255, 255, 255, 0.02) inset, 0px 6px 12px 0px rgba(255, 255, 255, 0.12) inset, 0px 4px 8px 3px rgba(0, 0, 0, 0.12), 0px 1px 3px 0px rgba(0, 0, 0, 0.20); 20833 color: #FFFFFF; 20834 font-family: 'Montserrat'; 20835 font-size: 14px; 20836 font-style: normal; 20837 font-weight: 600; 20838 line-height: normal; 20839 text-transform: uppercase; 20840 letter-spacing: unset; 20841 border: 1px solid rgba(255, 255, 255, 0.22); 20842 background: #245732; 20843 border-radius: 8px !important; 20844 margin: 10px 0 0px 0; 20845 } 20846 @media (max-width: 768px){ 20847 button[type="submit"].wd-buy_btn { 20848 width: 100%; 20849 height: 48px; 20850 margin-inline: auto; 20851 } 20852 } 20853</style></div> 20854 </div> 20855 </div></div> 20856 20857 20858 20859 20860 20861 20862 20863 20864 20865</section><section id="shopify-section-template--26889568846117__custom_liquid_FUkjM3" class="shopify-section shopify-section--custom-liquid"><div class="section-spacing color-scheme color-scheme--scheme-1 color-scheme--bg-54922f2e920ba8346f6dc0fba343d673 "> 20866 <div class="container"> 20867 <div class="text-center"> 20868 20869 20870 20871 20872 20873 20874 20875 20876 20877 20878 20879<div class="refresh-cart"> 20880 <div class="refresh-cart-box"> 20881 <p>Your cart needs a tiny refresh. <br>Think of it as a power nap for better performance ð¤</p> 20882 <div onclick="remove_try_discounts(this)" class="refresh-cart-button">Refresh Now</div> 20883 </div> 20884</div> 20885 20886
20887<script> 20888function applyDiscount(registered, element){ 20889 // var registered = registered; 20890 element.innerText = "applying..." 20891 localStorage.setItem('clubsave120-applied','true'); 20892 if(registered === true){ 20893 //window.location.href = 'https://yvesrocherusa.com/discount/CLUBSAVE120?redirect='+ window.location.pathname; 20894 applyDiscountCodeTry('CLUBSAVE150') 20895 } 20896 20897 else { 20898 window.location.href = "https://yvesrocherusa.com/discount/CLUBSAVE120?redirect=/account/login" 20899 } 20900 } 20901 20902function remove_try_discounts(element){ 20903 removeItemToCart('50195860652325', 0, true); 20904 element.innerText = 'Refreshing Cart...' 20905 sessionStorage.setItem('try_discount_was_removed','true') 20906 sessionStorage.setItem('discount','') 20907} 20908 20909function applyDiscountCodeTry(discountCode) { 20910 const discountUrl = `/discount/${discountCode}?redirect=/cart`; 20911 fetch(discountUrl, { 20912 method: 'GET', 20913 headers: { 20914 'Content-Type': 'application/json' 20915 } 20916 }).then(response => { 20917 if (response.ok) { 20918 } else { 20919 console.error('Failed to apply discount.'); 20920 } 20921 }).catch(error => { 20922 console.error('Error applying discount:', error); 20923 }); 20924} 20925 20926 // applyDiscountCodeTry('86JTZ5FEYJDS'); 20927 20928 20929 20930async function addItemToCart(variant_id) { 20931 20932 var addData = { 20933 id: variant_id, 20934 quantity: 1, 20935 }; 20936 fetch('/cart/add.js', { 20937 body: JSON.stringify(addData), 20938 credentials: 'same-origin', 20939 headers: { 20940 'Content-Type': 'application/json', 20941 'X-Requested-With': 'xmlhttprequest', 20942 }, 20943 method: 'POST', 20944 }) 20945 .then(function (response) { 20946 document.documentElement.dispatchEvent(new CustomEvent("theme:loading:start", { bubbles: true })); 20947 return response.json(); 20948 }) 20949 .then(function (json) { 20950 //document.documentElement.dispatchEvent(new CustomEvent("theme:loading:start", { bubbles: true })); 20951 document.documentElement.dispatchEvent(new CustomEvent('cart:refresh', { bubbles: true})); 20952 document.documentElement.dispatchEvent(new CustomEvent("theme:loading:end", { bubbles: true })); 20953 20954 Shopify.analytics.publish("cart_carousel_added_to_cart", { 20955 product_id: variant_id 20956 }); 20957 20958 }) 20959 .catch(function (err) { 20960 console.error(err); 20961 20962 Shopify.analytics.publish("cart_carousel_failed_to_add", { 20963 product_id: variant_id 20964 }); 20965 }); 20966 } 20967 20968 20969 async function removeItemToCart(variant_id , qty, removeDiscount) { 20970 20971 var addData = { 20972 id: variant_id, 20973 quantity: qty, 20974 }; 20975 fetch('/cart/change.js', { 20976 body: JSON.stringify(addData), 20977 credentials: 'same-origin', 20978 headers: { 20979 'Content-Type': 'application/json', 20980 'X-Requested-With': 'xmlhttprequest', 20981 }, 20982 method: 'POST', 20983 }) 20984 .then(function (response) { 20985 document.documentElement.dispatchEvent(new CustomEvent("theme:loading:start", { bubbles: true })); 20986 return response.json(); 20987 }) 20988 .then(function (json) { 20989 //document.documentElement.dispatchEvent(new CustomEvent("theme:loading:start", { bubbles: true })); 20990 document.documentElement.dispatchEvent(new CustomEvent('cart:refresh', { bubbles: true})); 20991 document.documentElement.dispatchEvent(new CustomEvent("theme:loading:end", { bubbles: true })); 20992 if(removeDiscount === true){ 20993 window.location.href="/discount/clear?redirect="+ window.location.pathname 20994 } 20995 20996 20997 }) 20998 .catch(function (err) { 20999 console.error(err); 21000 21001 21002 }); 21003 } 21004 21005 21006 21007function update_cart_with_old_discounts(){ 21008 const original_order = sessionStorage.getItem('discount'); 21009 applyDiscountCodeTry(original_order); 21010 } 21011 21012 21013async function tbyb_remove_max_limit(variant_id , qty, element) { 21014 if(element != null){ 21015 element.innerText = 'Removing...'; 21016 } 21017 var addData = { 21018 id: variant_id, 21019 quantity: qty, 21020 }; 21021 fetch('/cart/change.js', { 21022 body: JSON.stringify(addData), 21023 credentials: 'same-origin', 21024 headers: { 21025 'Content-Type': 'application/json', 21026 'X-Requested-With': 'xmlhttprequest', 21027 }, 21028 method: 'POST', 21029 }) 21030 .then(function (response) { 21031 document.documentElement.dispatchEvent(new CustomEvent("theme:loading:start", { bubbles: true })); 21032 return response.json(); 21033 }) 21034 .then(function (json) { 21035 //document.documentElement.dispatchEvent(new CustomEvent("theme:loading:start", { bubbles: true })); 21036 21037 window.location.href="/cart" 21038 21039 21040 21041 21042 }) 21043 .catch(function (err) { 21044 console.error(err); 21045 21046 21047 }); 21048 } 21049 21050 21051</script>
21051 21052 21053 21054 21055 21056 21057 21058 21059
21059<script> 21060 21061 </script>
21061 21062 21063 21064 21065 21066 21067 21068 21069 21070 21071 21072 21073 21074 21075 21076 21077 21078 21079 21080 21081 21082 21083<style> 21084.tbyb-max-limit-box-action { 21085 display:block; 21086 font-weight: 600; 21087 padding-top:10px 21088} 21089.refresh-cart , .tbyb-max-limit-container { 21090 position: fixed; 21091 top: 0; 21092 right: 0; 21093 left: 0; 21094 bottom: 0; 21095 background: rgb(255, 255, 255, 0.7); 21096 z-index: 99999; 21097 font-size: 18px; 21098 align-items: center; 21099 display:none; 21100} 21101 21102span.product-removed-quantity { 21103 width: 14px; 21104 height: 14px; 21105 display: inline-grid; 21106 text-align: center; 21107 background: #F4F0E9; 21108 color: #000; 21109 font-weight: 500; 21110 font-family: 'Montserrat'; 21111 border-radius: 20px; 21112 /* padding: 2px; */ 21113 align-items: center; 21114} 21115 21116 21117.order-level-discount { display:none} 21118.free-shipping-upsell {display:none} 21119 21120 21121.refresh-cart-box , .tbyb-max-limit-box { 21122 width: 90%; 21123 margin: 0 auto; 21124 background: #fff; 21125 opacity: 1; 21126 border-radius: 12px; 21127 border: 1px solid #C7D8E8; 21128 background: #FFFFFE; 21129 box-shadow: 0px 2px 9px 0px rgba(101, 201, 64, 0.20), 0px -4px 16px 0px rgba(0, 0, 0, 0.06); 21130 padding: 20px; 21131 text-align: center; 21132 font-size: 16px; 21133 line-height: 1.3; 21134 max-width: 350px; 21135} 21136.refresh-cart-button { 21137 border-radius: 36px; 21138 border: 1px solid rgba(255, 255, 255, 0.12); 21139 background: #272E0F; 21140 box-shadow: 0px 1px 1px 0px rgba(255, 255, 255, 0.02) inset, 0px 6px 12px 0px rgba(255, 255, 255, 0.12) inset, 0px 4px 8px 3px rgba(0, 0, 0, 0.12), 0px 1px 3px 0px rgba(0, 0, 0, 0.20); 21141 color: #fff; 21142 display: flex; 21143 height: 40px; 21144 padding: 9px 25px; 21145 justify-content: center; 21146 align-items: center; 21147 gap: 4px; 21148 flex: 1 0 0; 21149 margin-top: 12px; 21150 cursor: pointer; 21151} 21152 21153.tbyb-max-limit-box p { 21154 font-family: Montserrat; 21155 font-size: 14px; 21156 margin-bottom: 15px; 21157} 21158.product-to-remove { 21159 display: grid; 21160 grid-template-columns: 20% 50% 26%; 21161 margin-bottom: 15px; 21162 align-items: center; 21163 gap: 2%; 21164 width: 100%; 21165} 21166 21167.product-to-remove img { 21168 border-radius: 4px; 21169} 21170.tbyb-max-limit-box .product-to-remove p { 21171 text-align: left; 21172 font-size: 12px; 21173 font-family: Montserrat; 21174 margin-bottom: 0; 21175} 21176 21177.remove-button { 21178 display: flex; 21179 height: 30px; 21180 padding: 9px 25px; 21181 justify-content: center; 21182 align-items: center; 21183 gap: 4px; 21184 border-radius: 36px; 21185 box-shadow: 0px 1px 1px 0px rgba(255, 255, 255, 0.02) inset, 0px 6px 12px 0px rgba(255, 255, 255, 0.12) inset, 0px 4px 8px 3px rgba(0, 0, 0, 0.12), 0px 1px 3px 0px rgba(0, 0, 0, 0.20); 21186 color: #FFFFFF; 21187 font-family: 'Montserrat'; 21188 font-size: 11px; 21189 font-style: normal; 21190 font-weight: 600; 21191 line-height: normal; 21192 text-transform: uppercase; 21193 letter-spacing: unset; 21194 background: rgb(39 46 15); 21195 margin-top: 0; 21196 width: 100%; 21197 cursor: pointer;
21198 align-items: center; 21199} 21200</style> 21201 21202 21203 21204 21205 21206 21207 21208 21209</div> 21210 </div> 21211 </div> 21212</section> 21213<!-- BEGIN sections: footer-group --> 21214<footer id="shopify-section-sections--26889558163749__footer" class="shopify-section shopify-section-group-footer-group shopify-section--footer"><style> 21215 #shopify-section-sections--26889558163749__footer { 21216 --footer-content-justify-items: space-between; 21217 } 21218 21219 #shopify-section-sections--26889558163749__footer .h6 { 21220 color: #fff !important; 21221 } 21222 21223 #shopify-section-sections--26889558163749__footer .footer-text-below-image { 21224 color: rgba(255, 255, 255, 0.38); 21225 font-family: Montserrat; 21226 font-size: 12px; 21227 font-style: normal; 21228 font-weight: 400; 21229 line-height: 21.6px; 21230 padding-top: 19px; 21231 } 21232 21233 #shopify-section-sections--26889558163749__footer .fotter-trust-pilot { 21234 border-radius: 8px; 21235 background: rgba(255, 255, 255, 0.10); 21236 display: flex; 21237 align-items: center; 21238 gap: 9px; 21239 padding: 4px 8px; 21240 margin-top: 15px; 21241 width: max-content; 21242} 21243 21244 #shopify-section-sections--26889558163749__footer .fotter-trust-pilot span { 21245 color: var(--light-cold-gray, #FAFAFA); 21246 font-family: Montserrat; 21247 font-size: 12px; 21248 font-style: normal; 21249 font-weight: 400; 21250 line-height: 26px; 21251 display:flex; 21252 gap:5px 21253 } 21254</style><div class="footer color-scheme color-scheme--scheme-4 color-scheme--bg-bf74fb6501222fb269abc09cce903774 "> 21255 <div class="container"> 21256 <div class="footer__inner"><div class="footer__block-list"><div class="footer__block footer__block--image" ><img src="//yvesrocherusa.com/cdn/shop/files/Vector_34c84043-5251-40b6-88da-930527e7216e.svg?v=1777322312&width=233" alt="" srcset="//yvesrocherusa.com/cdn/shop/files/Vector_34c84043-5251-40b6-88da-930527e7216e.svg?v=1777322312&width=150 150w, //yvesrocherusa.com/cdn/shop/files/Vector_34c84043-5251-40b6-88da-930527e7216e.svg?v=1777322312&width=233 233w" width="233" height="22" sizes="150px" style="--image-max-width: 150px" class="constrained-image"><p class="footer-text-below-image">Botanical beauty, rooted in nature. Formulated and produced in Bretagne, France since 1959.</p> 21257 </div><div class="footer__block footer__block--links" ><div class="v-stack gap-4 sm:gap-5"><p class="h6">Customer Service</p><ul class="v-stack gap-2.5 unstyled-list" role="list"><li> 21258 <a href="/pages/faq" class="link-faded">FAQ </a> 21259 </li><li> 21260 <a href="/pages/contact" class="link-faded">Contact Us</a> 21261 </li><li> 21262 <a href="/?gs_open_chat" class="link-faded">Track my order </a> 21263 </li><li> 21264 <a href="/account/login" class="link-faded">Manage order </a> 21265 </li><li> 21266 <a href="/policies/shipping-policy" class="link-faded">Shipping Policy</a> 21267 </li><li> 21268 <a href="/policies/refund-policy" class="link-faded">Return & Refund Policy</a> 21269 </li><li> 21270 <a href="https://yvesrocherusa.com/pages/loyalty-club-policy" class="link-faded">Loyalty Club Policy </a> 21271 </li><li> 21272 <a href="https://account.yvesrocherusa.com/" class="link-faded">Vendors login</a> 21273 </li><li> 21274 <a href="/pages/join-as-vendor" class="link-faded">Join As Vendor </a> 21275 </li></ul> 21276 </div></div><div class="footer__block footer__block--links" ><div class="v-stack gap-4 sm:gap-5"><p class="h6">About</p><ul class="v-stack gap-2.5 unstyled-list" role="list"><li> 21277 <a href="/pages/about" class="link-faded">About Yves Rocher </a> 21278 </li><li> 21279 <a href="https://yvesrocher.grin.live/" class="link-faded">Collab Program</a> 21280 </li><li> 21281 <a href="/pages/yves-rocher-story-timeline" class="link-faded">Our Story </a> 21282 </li><li> 21283 <a href="/policies/privacy-policy" class="link-faded">Privacy Policy</a> 21284 </li><li> 21285 <a href="/policies/terms-of-service" class="link-faded">Terms of Service</a> 21286 </li><li> 21287 <a href="/pages/accessibility" class="link-faded">Accessibility</a> 21288 </li></ul> 21289 </div></div><div class="footer__block footer__block--text" ><div class="v-stack gap-4 sm:gap-5"><p class="h6">©Yves Rocher USA</p><div class="prose text-subdued"><p>Contact our customer service at<br/><a href="mailto:[email protected]" title="mailto:[email protected]">[email protected]</a><br/>
21289Expect to be amazed! ð¤</p></div></div></div><div class="footer__block footer__block--text" ><div class="v-stack gap-4 sm:gap-5"><div class="prose text-subdued"><p>* Source: Kantar Worldpanel Beauty 2023. Brand: N°1 volume and value. Personal care: shower, deodorant, hair care, face, body, makeup, solvent, perfume, soap, sunscreen, baby products</p></div></div></div></div><ul class="social-media social-media--list unstyled-list" role="list"><li class="social-media__item branding-colors--facebook"> 21290 <a href="https://www.facebook.com/YvesRocherUSA?mibextid=LQQJ4d" class="tap-area" target="_blank" rel="noopener" aria-label="Follow on Facebook"><svg aria-hidden="true" focusable="false" width="24" class="icon icon-facebook" viewBox="0 0 24 24"> 21291 <path fill-rule="evenodd" clip-rule="evenodd" d="M10.183 21.85v-8.868H7.2V9.526h2.983V6.982a4.17 4.17 0 0 1 4.44-4.572 22.33 22.33 0 0 1 2.667.144v3.084h-1.83a1.44 1.44 0 0 0-1.713 1.68v2.208h3.423l-.447 3.456h-2.97v8.868h-3.57Z" fill="currentColor"/> 21292 </svg></a> 21293 </li><li class="social-media__item branding-colors--instagram"> 21294 <a href="https://www.instagram.com/yvesrocherusa/" class="tap-area" target="_blank" rel="noopener" aria-label="Follow on Instagram"><svg aria-hidden="true" focusable="false" width="24" class="icon icon-instagram" viewBox="0 0 24 24"> 21295 <path fill-rule="evenodd" clip-rule="evenodd" d="M12 2.4c-2.607 0-2.934.011-3.958.058-1.022.046-1.72.209-2.33.446a4.705 4.705 0 0 0-1.7 1.107 4.706 4.706 0 0 0-1.108 1.7c-.237.611-.4 1.31-.446 2.331C2.41 9.066 2.4 9.392 2.4 12c0 2.607.011 2.934.058 3.958.046 1.022.209 1.72.446 2.33a4.706 4.706 0 0 0 1.107 1.7c.534.535 1.07.863 1.7 1.108.611.237 1.309.4 2.33.446 1.025.047 1.352.058 3.959.058s2.934-.011 3.958-.058c1.022-.046 1.72-.209 2.33-.446a4.706 4.706 0 0 0 1.7-1.107 4.706 4.706 0 0 0 1.108-1.7c.237-.611.4-1.31.446-2.33.047-1.025.058-1.352.058-3.959s-.011-2.934-.058-3.958c-.047-1.022-.209-1.72-.446-2.33a4.706 4.706 0 0 0-1.107-1.7 4.705 4.705 0 0 0-1.7-1.108c-.611-.237-1.31-.4-2.331-.446C14.934 2.41 14.608 2.4 12 2.4Zm0 1.73c2.563 0 2.867.01 3.88.056.935.042 1.443.199 1.782.33.448.174.768.382 1.104.718.336.336.544.656.718 1.104.131.338.287.847.33 1.783.046 1.012.056 1.316.056 3.879 0 2.563-.01 2.867-.056 3.88-.043.935-.199 1.444-.33 1.782a2.974 2.974 0 0 1-.719 1.104 2.974 2.974 0 0 1-1.103.718c-.339.131-.847.288-1.783.33-1.012.046-1.316.056-3.88.056-2.563 0-2.866-.01-3.878-.056-.936-.042-1.445-.199-1.783-.33a2.974 2.974 0 0 1-1.104-.718 2.974 2.974 0 0 1-.718-1.104c-.131-.338-.288-.847-.33-1.783-.047-1.012-.056-1.316-.056-3.879 0-2.563.01-2.867.056-3.88.042-.935.199-1.443.33-1.782.174-.448.382-.768.718-1.104a2.974 2.974 0 0 1 1.104-.718c.338-.131.847-.288 1.783-.33C9.133 4.14 9.437 4.13 12 4.13Zm0 11.07a3.2 3.2 0 1 1 0-6.4 3.2 3.2 0 0 1 0 6.4Zm0-8.13a4.93 4.93 0 1 0 0 9.86 4.93 4.93 0 0 0 0-9.86Zm6.276-.194a1.152 1.152 0 1 1-2.304 0 1.152 1.152 0 0 1 2.304 0Z" fill="currentColor"/> 21296 </svg></a> 21297 </li><li class="social-media__item branding-colors--tiktok"> 21298 <a href="https://www.tiktok.com/@yvesrocherusa" class="tap-area" target="_blank" rel="noopener" aria-label="Follow on TikTok"><svg aria-hidden="true" focusable="false" width="24" class="icon icon-tiktok" viewBox="0 0 24 24"> 21299 <path d="M20.027 10.168a5.125 5.125 0 0 1-4.76-2.294v7.893a5.833 5.833 0 1 1-5.834-5.834c.122 0 .241.011.361.019v2.874c-.12-.014-.237-.036-.36-.036a2.977 2.977 0 0 0 0 5.954c1.644 0 3.096-1.295 3.096-2.94L12.56 2.4h2.75a5.122 5.122 0 0 0 4.72 4.573v3.195" fill="currentColor"/> 21300 </svg></a> 21301 </li></ul><div class="footer__aside"><p class="heading text-subdued text-xxs">© 2026 - Yves Rocher USA <a target="_blank" rel="nofollow" href="https://www.shopify.com?utm_campaign=poweredby&utm_medium=shopify&utm_source=onlinestore">Powered by Shopify</a></p><div class="payment-methods"><svg width="38" height="24" viewBox="0 0 38 24" fill="none" xmlns="http://www.w3.org/2000/svg" role="img" aria-labelledby="pi-achdirectdebit"><title id="pi-achdirectdebit">Ach Direct Debit</title><g clip-path="url(#pi-clip0_4778_42)"><path d="M35.038 0h-32a3 3 0 00-3 3v18a3 3 0 003 3h32a3 3 0 003-3V3a3 3 0 00-3-3z" fill="#000" fill-opacity=".07"/><path d="M35.038 1h-32a2 2 0 00-2 2v18a2 2 0 002 2h32a2 2 0 002-2V3a2 2 0 00-2-2z" fill="#fff"/><path d="M7.916 16l2.264-6.984h2.587L15.116 16h-2.147l-.811-2.71a36.86 36.86 0 01-.492-1.827 95.798 95.798 0 01-.436-1.89h.43c-.13.625-.263 1.255-.398 1.89a26.93 26.93 0 01-.454 1.828L10.034
2130116H7.916zm1.678-1.34v-1.416h3.844v1.415H9.594zm8.962 1.434a3.563 3.563 0 01-1.72-.413 3.011 3.011 0 01-1.205-1.21c-.293-.534-.44-1.187-.44-1.959 0-.778.15-1.434.45-1.968a2.99 2.99 0 011.214-1.21 3.524 3.524 0 011.701-.412c.435 0 .835.06 1.2.178.369.116.692.286.97.51.279.226.504.503.676.83a3.1 3.1 0 01.323 1.126h-1.922a1.216 1.216 0 00-.122-.408.987.987 0 00-.6-.516 1.449 1.449 0 00-.468-.07c-.316 0-.585.078-.807.234a1.403 1.403 0 00-.497.666c-.112.287-.168.634-.168 1.04 0 .425.057.782.173 1.07.116.287.281.502.497.646.219.144.483.216.792.216.175 0 .331-.024.469-.07.137-.047.258-.115.36-.202.104-.088.187-.192.25-.314.065-.122.109-.258.13-.408h1.922a2.61 2.61 0 01-.248.91 3 3 0 01-1.584 1.495c-.385.16-.833.239-1.346.239zM22.494 16V9.016h1.893v2.653H26.9V9.016h1.894V16H26.9v-2.803h-2.512V16h-1.894z" fill="#000"/></g><defs><clipPath id="pi-clip0_4778_42"><path fill="#fff" d="M0 0h38v24H0z"/></clipPath></defs></svg><svg xmlns="http://www.w3.org/2000/svg" role="img" viewBox="0 0 38 24" width="38" height="24" aria-labelledby="pi-amazon"><title id="pi-amazon">Amazon</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" fill-rule="nonzero" 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" fill-rule="nonzero"/><path d="M25.26 16.23c-1.697 1.48-4.157 2.27-6.275 2.27-2.97 0-5.644-1.3-7.666-3.463-.16-.17-.018-.402.173-.27 2.183 1.504 4.882 2.408 7.67 2.408 1.88 0 3.95-.46 5.85-1.416.288-.145.53.222.248.47v.001zm.706-.957c-.216-.328-1.434-.155-1.98-.078-.167.024-.193-.148-.043-.27.97-.81 2.562-.576 2.748-.305.187.272-.047 2.16-.96 3.063-.14.138-.272.064-.21-.12.205-.604.664-1.96.446-2.29h-.001z" fill="#F90" fill-rule="nonzero"/><path d="M21.814 15.291c-.574-.498-.676-.73-.993-1.205-.947 1.012-1.618 1.315-2.85 1.315-1.453 0-2.587-.938-2.587-2.818 0-1.467.762-2.467 1.844-2.955.94-.433 2.25-.51 3.25-.628v-.235c0-.43.033-.94-.208-1.31-.212-.333-.616-.47-.97-.47-.66 0-1.25.353-1.392 1.085-.03.163-.144.323-.3.33l-1.677-.187c-.14-.033-.296-.153-.257-.38.386-2.125 2.223-2.766 3.867-2.766.84 0 1.94.234 2.604.9.842.82.762 1.918.762 3.11v2.818c0 .847.335 1.22.65 1.676.113.164.138.36-.003.482-.353.308-.98.88-1.326 1.2a.367.367 0 0 1-.414.038zm-1.659-2.533c.34-.626.323-1.214.323-1.918v-.392c-1.25 0-2.57.28-2.57 1.82 0 .782.386 1.31 1.05 1.31.487 0 .922-.312 1.197-.82z" fill="#221F1F"/></svg> 21302<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;"/><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> 21303<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
213030 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" /><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> 21304<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><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><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.
2130406zM23.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> 21305<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> 21306<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
213060-.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><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> 21307<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
2130716.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> 21308</div></div> 21309 <p class="heading text-subdued text-xxs wedev-text-footer">Dev by <a href="https://wedev.co.il/en/" target="_blank">WeDev</a></p> 21310 21311 </div> 21312 </div> 21313</div> 21314 21315 21316<style> 21317 .footer__block.footer__block--newsletter label { 21318 color: #000 21319 } 21320</style> 21321 21322 21323<style> #shopify-section-sections--26889558163749__footer button {border-radius: 30px;} #shopify-section-sections--26889558163749__footer .h6 {color: #272e0f; font-family: Montserrat; font-size: 14px; font-style: normal; font-weight: 600; line-height: 150%; /* 22.5px */ letter-spacing: 0.15px; text-transform: capitalize;} #shopify-section-sections--26889558163749__footer .footer__aside p.heading.text-subdued.text-xxs, #shopify-section-sections--26889558163749__footer .wedev-text-footer {display: none;} </style></footer> 21324<!-- END sections: footer-group --></main> 21325 21326 21327 <div class="product-info-popup" id="product-info-popup"></div> 21328 21329
21329<script> 21330 (function() { 21331 if (window.location.pathname === '/order') { 21332
vendor: 145 bytes, lines 21332-21335
21332window.dataLayer = window.dataLayer || []; 21333 function gtag(){dataLayer.push(arguments);} 21334 gtag('js', new Date()); 21335 gtag('config', '
21335G-ZK2P6EQ667
vendor: 18 bytes, lines 21335-21338
21335'); 21336 21337 21338
21338gtag('event', 'redirect', { 21339 'event_category': 'URL Redirect', 21340 'event_label': 'Order Page' 21341 }); 21342 21343 21344 setTimeout(function() { 21345 window.location.href = "http://usaorder.yves-rocher.com/"; 21346 }, 2000); 21347 } 21348 })(); 21349 21350 21351</script>
21351 21352 <style> </style> 21353<div id="shopify-block-AZFd6aGFnS21FS1hVa__13768625480086291342" class="shopify-block shopify-app-block">
21353<script> 21354 window['ShopifyForms'] = { 21355 ...window['ShopifyForms'], 21356 currentPageType: "cart" 21357 }; 21358</script>
21358 21359 21360 21361</div><div id="shopify-block-AbmR4ZVhWZXJvS2NJQ__2786716548061469553" class="shopify-block shopify-app-block"> 21362
21363<script> 21364</script>
21364 21365 21366 </div><div id="shopify-block-AeWtjZE1LT2Irb3pva__7079518687644006178" class="shopify-block shopify-app-block">
21366<script> 21367 (function () { 21368 const cartAttributes = {}; 21369 21370 // Helper function to retrieve the UTM from Url 21371 function getUTMFromUrl() { 21372 const url_string = window.location.href; 21373 const url = new URL(url_string); 21374 21375 const utm_id = url.searchParams.get("utm_id"); 21376 const utm_source = url.searchParams.get("utm_source"); 21377 const utm_medium = url.searchParams.get("utm_medium"); 21378 const utm_campaign = url.searchParams.get("utm_campaign"); 21379 const utm_term = url.searchParams.get("utm_term"); 21380 const ref = url.searchParams.get("ref"); 21381 21382 if (!utm_id && !utm_source && !utm_medium && !utm_campaign && !ref) { 21383 return null; 21384 } 21385 21386 let utmParameters = {}; 21387 21388 if (utm_id) { 21389 utmParameters.utm_id = utm_id; 21390 } 21391 if (utm_source) { 21392 utmParameters.utm_source = utm_source; 21393 } 21394 if (utm_medium) { 21395 utmParameters.utm_medium = utm_medium; 21396 } 21397 if (utm_campaign) { 21398 utmParameters.utm_campaign = utm_campaign; 21399 } 21400 if (utm_term) { 21401 utmParameters.utm_term = utm_term; 21402 } 21403 if (ref) { 21404 utmParameters.ref = ref; 21405 } 21406 21407 21408 return Object.keys(utmParameters).length === 0 21409 ? null 21410 : utmParameters; 21411 } 21412 21413 // Helper function to retrieve the UTM from Cookie 21414 function getUTMAttributes() { 21415 const urlUtmParams = getUTMFromUrl(); 21416 21417 if (urlUtmParams) { 21418 return urlUtmParams; 21419 } 21420 21421 // No longer reading from deprecated Shopify cookies 21422 return undefined; 21423 } 21424 21425 function saveUtmParameters() { 21426 const utmParams = getUTMAttributes(); 21427 if (utmParams) { 21428 const cartHasUtmAttributes = Object.keys(cartAttributes).find(attributeKey => attributeKey.startsWith("utm_") || attributeKey === "ref"); 21429 if (cartHasUtmAttributes) { 21430 // Don't call API if it already contains our UTM parameters 21431 return; 21432 } 21433 21434 // Handle both Shopify.routes.root and routes.root_url for better compatibility 21435 var rootUrl = (window.Shopify && window.Shopify.routes && window.Shopify.routes.root) 21436 || (window.routes && window.routes.root_url) 21437 || '/'; 21438 21439 var updateCart = fetch(rootUrl + 'cart/update.js', 21440 { 21441 headers: { 21442 'Content-Type': 'application/json', 21443 }, 21444 method: "POST", 21445 body: JSON.stringify({ 21446 attributes: { 21447 ...utmParams 21448 }, 21449 }) 21450 }) 21451 .then(response => response.json()) 21452 .then(data => { 21453 return data 21454 }); 21455 } 21456 } 21457 21458 saveUtmParameters(); 21459 })(); 21460</script>
21460 21461 21462 21463 21464 21465</div>
21465<script src="https://cdn.shopify.com/storefront/standard-actions.js" type="module" data-source-attribution="shopify.standard_actions"></script>
21465 21466</body> 21467</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.