HTML Report for http://www.veerandwander.com/collection/less20
This tool is an ongoing experiment in better HTML checking, and its behavior remains subject to changeShowing results for http://www.veerandwander.com/collection/less20
You can view the notes...
view-source:http://www.veerandwander.com/collection/less20
| # | results |
|---|---|
| 1 |
Error
On line 9229, column 141 <!DOCTYPE html> <html lang="en"> <head> <script type="text/javascript" src="https://app.termly.io/resource-blocker/c9060009-82c9-4891-8d67-8c904d5617e9?autoBlock=on"></script> <!-- Global site tag (gtag.js) - Google Analytics --> <script async src="https://www.googletagmanager.com/gtag/js?id=G-44B2L8E7TD"></script> <script> window.dataLayer = window.dataLayer || []; function gtag(){dataLayer.push(arguments);} gtag('js', new Date()); gtag('config', 'G-44B2L8E7TD'); </script> <!-- Global site tag (gtag.js) - Google Ads: 858635327 --> <script async src="https://www.googletagmanager.com/gtag/js?id=AW-858635327"></script> <script> window.dataLayer = window.dataLayer || []; function gtag(){dataLayer.push(arguments);} gtag('js', new Date()); gtag('config', 'AW-858635327'); </script> <meta charset="utf-8" /> <meta name="viewport" content="width=device-width, height=device-height, initial-scale=1.0, minimum-scale=1.0" /> <meta name="mobile-web-app-capable" content="yes" /> <meta name="apple-mobile-web-app-capable" content="yes" /> <meta name="apple-mobile-web-app-status-bar-style" content="black" /> <meta name="msapplication-tap-highlight" content="no" /> <meta name="description" content="We are an innovative salon &amp; apothecary focused on a simple approach to beauty through exceptional craftsmanship."> <meta name="robots" content="noindex, nofollow"> <meta name="view-transition" content="same-origin" /> <meta property="og:image" content="https://veerandwander.com/_images/exterior_home.jpg"> <meta property="og:image:secure_url" content="https://veerandwander.com/_images/exterior_home.jpg"> <meta property="og:image:type" content="image/jpeg" /> <meta property="og:title" content="$20 &amp; Below"> <meta property="og:description" content="We are an innovative salon &amp; apothecary focused on a simple approach to beauty through exceptional craftsmanship."> <meta property="og:url" content="https://veerandwander.com/collection/less20"> <meta property="og:locale" content="en_US"> <meta property="og:site_name" content="Veer & Wander"> <meta property="og:type" content="article"> <meta property="fb:app_id" content="461681578015051"> <meta name="twitter:site" content="@veerandwander"> <meta name="twitter:card" content="summary_large_image"> <link rel="icon" sizes="192x192" href="/_images/icon.png"> <link rel="apple-touch-icon" href="/_images/icon.png"> <link rel='mask-icon' href='/_images/icon.svg' color='#000000'> <title>$20 &amp; Below - Veer & Wander</title> <script src="https://cdn.usefathom.com/script.js" site="LQYLKIAS" defer></script> <style> /* http://meyerweb.com/eric/tools/css/reset/ v2.0 | 20110126 License: none (public domain) */ html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video { margin: 0; padding: 0; border: 0; font-size: 100%; font: inherit; vertical-align: baseline; } /* HTML5 display-role reset for older browsers */ article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section { display: block; } html { height: calc(100% - 70px); padding: 70px 0px 0px 0px; } body { /* font-family: Tahoma, Geneva, sans-serif; */ /* font-family: "Trebuchet MS", Helvetica, sans-serif; */ /* font-family: Georgia, Times, "Times New Roman", serif; */ /* font-family: "Courier New", Courier, monospace; */ /* font-family: Verdana, Geneva, sans-serif; */ font-family: "Avenir Next", "Avenir", -apple-system, BlinkMacSystemFont, "Roboto", "Droid Sans", "Helvetica Neue", Helvetica, Arial, sans-serif; /* font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; */ /* font-family: "SF Pro Text", "Helvetica Neue", Helvetica, Arial, sans-serif; */ /* font-family: -apple-system, BlinkMacSystemFont, "Roboto", "Droid Sans", "Helvetica Neue", Helvetica, Arial, sans-serif; */ -webkit-font-smoothing: antialiased; font-size: 18px; line-height: 30px; /* font-weight: 500; */ /* background-color: #f6f6f6; */ /* background-color: #fef5ea; */ /* background-color: #faf7f5; */ /* background-color: #fcfbf9; */ /* background-color: #fbfbfb; */ /* background-color: #fafafa; */ background-color: #ffffff; display: flex; flex-direction: column; height: 100%; } ul,ol { margin: 0px 0px 0px 0px; } ul { list-style-type: circle; padding: 15px 0px 15px 20px; } li { margin: 0px 0px 0px 0px; padding: 0px 0px 10px 0px; } p { margin: 0px 0px 0px 0px; padding: 10px 0px 20px 0px; } /* p { margin: 0px 0px 0px 0px; padding: 10px 0px 10px 0px; } p:last-of-type { padding: 0px 0px 30px 0px; } */ blockquote, q { quotes: none; } blockquote:before, blockquote:after, q:before, q:after { content: ''; content: none; } table { border-collapse: collapse; border-spacing: 0; width: 100%; } tr { border-bottom: 0.5px solid #cccccc; /* border-bottom: 0.5px solid #e7e7e7; */ } td { vertical-align: top; } /* ------------------- */ * { /* font-family: Tahoma, Geneva, sans-serif; */ /* font-family: "Trebuchet MS", Helvetica, sans-serif; */ /* font-family: Georgia, Times, "Times New Roman", serif; */ /* font-family: "Courier New", Courier, monospace; */ /* font-family: Verdana, Geneva, sans-serif; */ font-family: "Avenir Next", "Avenir", -apple-system, BlinkMacSystemFont, "Roboto", "Droid Sans", "Helvetica Neue", Helvetica, Arial, sans-serif; /* font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; */ /* font-family: "SF Pro Text", "Helvetica Neue", Helvetica, Arial, sans-serif; */ /* font-family: -apple-system, BlinkMacSystemFont, "Roboto", "Droid Sans", "Helvetica Neue", Helvetica, Arial, sans-serif; */ -webkit-font-smoothing: antialiased; font-size: 18px; line-height: 30px; /* font-weight: 500; */ } a { /* color: inherit; */ color: #000000; text-decoration: none; } a:hover { /* color: inherit; */ color: #000000; } a:visited { /* color: inherit; */ color: #000000; } label { display: block; margin: 0px 0px 0px 0px; padding: 15px 10px 5px 10px; color: #888888; font-size: 13px; line-height: 18px; } input[type="radio"], input[type="checkbox"] { margin: 0px 0px 0px 20px; } input[type="radio"] + label, input[type="checkbox"] + label { display: inline-block; /* font-size: 15px; line-height: 24px; */ color: #000000; padding: 25px 0px 5px 0px; } textarea, input[type="text"], input[type="tel"], input[type="email"] { -webkit-appearance: none; border: none; outline: none; border-radius: 0px; padding: 0px 10px 0px 10px; margin: 0px 0px 0px 0px; height: 50px; /*max-height: 40px;*/ /* background-color: #ffffff;*/ background-color: #f3f3f3; /* border-bottom: 0.5px solid #dedede; */ display: block; width: 100%; /* font-size: 15px !important; */ line-height: inherit; } textarea { padding: 10px 10px 10px 10px; height: 90px; resize: none; } input[type="text"]:focus, input[type="tel"]:focus, input[type="email"]:focus { /* border-top: 0.5px solid #999999; */ } input:-webkit-autofill { -webkit-box-shadow: inset 0 0 0px 9999px #f3f3f3; } ::placeholder { color: #999999; opacity: 1; } select { -moz-appearance: none; -webkit-appearance: none; appearance: none; border: none; height: 50px; border-radius: 0px; background-color: transparent; text-shadow: 0 0 0 #000; margin: 0px 0px 0px 0px; padding: 0px 10px 0px 10px; text-align: left; width: 100%; position: relative; color: #000000; /* #f3f3f3 */ } input:focus, textarea:focus, select:focus { outline: none; } input:focus, textarea:focus { background-color: #e7e7e7; } button { border: none; outline: none; /* background-color: #f5f2f0; */ /* background-color: #f0ece9; */ /* background-color: #f7f5f2; */ /* background-color: #faf7f5; */ /* background-color: #faf7f5; */ /* background-color: #ffffff; */ /* background-color: #222222; color: #ffffff; */ color: #000000; background-color: transparent; margin: 0px 0px 0px 0px; padding: 10px 10px 10px 10px; text-align: left; width: 100%; } .Twilio button { width: auto; } /* button span { float: left; } */ button:active { color: inherit; } button .price { display: inline-block; float: right; } button:not(:disabled) { cursor: pointer; } button:disabled { } </style> <style> .text { /* font-family: Georgia, Times, "Times New Roman", serif; font-weight: 500; -webkit-font-smoothing: antialiased; */ } .dd_red_fore { color: rgb(235, 23, 0); } .dd_red_back { background-color: rgb(235, 23, 0); color: #ffffff !important; } .large { font-size: 27px; line-height: 40px; /* font-size: 35px; line-height: 45px; */ /* font-weight: 500; */ } .emphasis { font-weight: 600; /* color: #fa7f7e; */ /* color: #41d0e0; */ } .light { font-weight: 300; /* color: #fa7f7e; */ /* color: #41d0e0; */ } .demphasis { color: #555555; /* 86bece 93c6d5 */ } .normal { font-weight: normal; } .extra-demphasis { color: #999999; } .error { color: #d94646; } .original { color: #999999; } .sale { color: #d94646 !important; } .pop { color: #5087f5; } .dark { color: #000000; } a.disabled { pointer-events:none; } /* .discount { */ /* color: #c06f6f; ec3223 */ /* color: #000000; } */ .noscroll { overflow: hidden; } .nowrap { white-space: nowrap; } .preline { white-space: pre-line; } .spacer { height: 10px; } .clear { clear: both; } select.right { direction: rtl; } .loader { display: none; position: fixed; top: 0px; left: 0px; right: 0px; bottom: auto; width: auto; height: 0px; background-color: rgba(0, 0, 0, 0.15); z-index: 2000; } .loader.show { display: block; bottom: 0px; height: auto; } .loader .spinner { position: absolute; left: 50%; top: 50%; width: 100px; height: 100px; margin: -50px 0 0 -50px; border: 3px solid #ffffff; border-top: 3px solid #34c759; border-radius: 50%; animation: spin 0.75s linear infinite; } .loader .message { position: absolute; top: calc(50% + 90px); left: 50%; transform: translate(-50%, -50%); margin-top: 0px; padding: 5px 20px 5px 20px; background-color: #ffffff; color: #000000; border-radius: 20px; } @-webkit-keyframes spin { 0% { -webkit-transform: rotate(0deg); } 100% { -webkit-transform: rotate(360deg); } } @keyframes spin { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } } .livechat_button { position: fixed; top: auto; left: auto; right: 10px; bottom: 10px; width: 50px; height: 50px; z-index: 1000; } .livechat_button a { width: 30px; height: 30px; padding: 0px 0px 0px 0px; margin: 10px 10px 10px 10px; display: block; } .livechat_button img { width: 30px; height: 30px; object-fit: cover; object-position: center; } /* .trustpilot { margin: 20px 0px 40px 0px; } */ .instore { padding: 20px 20px 20px 20px; margin: -15px 0px 10px 0px; color: #ffffff; background-color: #d94646; } @media all and (max-width: 480px) { .instore { margin: -15px 0px 20px 0px; } } /* +++++++++++++++++++++++++++++++++++++++++++++++++ */ /* GIFT */ /* +++++++++++++++++++++++++++++++++++++++++++++++++ */ .gift { margin: 10px 10px 10px 10px; padding: 10px 10px 10px 10px; background-color: #f1fbfb; text-align: left; display: block; width: 100%; } .gift.variant { margin-bottom: 0px; width: calc(100% - 40px); } /* +++++++++++++++++++++++++++++++++++++++++++++++++ */ /* PROMO */ /* +++++++++++++++++++++++++++++++++++++++++++++++++ */ .promo { margin: 10px 10px 10px 10px; padding: 10px 10px 10px 10px; background-color: #f1fbfb; text-align: left; display: block; } .promo.variant { margin-bottom: 0px; } /* +++++++++++++++++++++++++++++++++++++++++++++++++ */ /* NAV */ /* +++++++++++++++++++++++++++++++++++++++++++++++++ */ nav { /* display: flex; flex-wrap: wrap; margin: 0px 10px 0px 10px; */ position: fixed; top: 0px; left: 0px; right: 0px; bottom: auto; height: 70px; background-color: #ffffff; z-index: 150; } nav .links { position: relative; margin: 0px 10px 0px 10px; padding: 0px 0px 0px 0px; height: 70px; } nav .links .label { position: relative; padding: 10px 10px 10px 10px; display: inline-block; vertical-align: top; width: auto; /* color: #6faec0; */ } nav .links .icon { position: absolute; top: 10px; width: 50px; height: 50px; background-size: 24px 24px; background-repeat: no-repeat; background-position: center; } nav .links .icon.menu { background-image: url("/_images/menu-black-48dp.svg"); left: 0px; background-color: transparent; } nav .links .icon.flag { left: 50px; background-color: transparent; } .flag.US { background-image: url("/_images/flags/us.svg"); } .flag.PR { background-image: url("/_images/flags/pr.svg"); } .flag.VI { background-image: url("/_images/flags/vi.svg"); } .flag.CA { background-image: url("/_images/flags/ca.svg"); } .flag.GB { background-image: url("/_images/flags/gb.svg"); } .flag.EU { background-image: url("/_images/flags/eu.svg"); } .flag.NZ { background-image: url("/_images/flags/nz.svg"); } .flag.AU { background-image: url("/_images/flags/au.svg"); } .flag.MX { background-image: url("/_images/flags/mx.svg"); } .flag.JP { background-image: url("/_images/flags/jp.svg"); } .flag.KR { background-image: url("/_images/flags/kr.svg"); } .flag.IS { background-image: url("/_images/flags/is.svg"); } .flag.NO { background-image: url("/_images/flags/no.svg"); } .flag.CH { background-image: url("/_images/flags/ch.svg"); } .flag.NL { background-image: url("/_images/flags/nl.svg"); } .flag.DE { background-image: url("/_images/flags/de.svg"); } .flag.IT { background-image: url("/_images/flags/it.svg"); } .flag.FR { background-image: url("/_images/flags/fr.svg"); } .flag.IE { background-image: url("/_images/flags/ie.svg"); } nav .links .icon.menu.close { background-image: url("/_images/close-black-48dp.svg"); } nav .links .icon.menu.back { background-image: url("/_images/arrow_back-black-48dp.svg"); } nav .links .icon.search { background-image: url("/_images/search-black-48dp.svg"); right: 50px } nav .links .icon.basket { display: block; /* background-image: url("/_images/shopping_cart-black-48dp.svg"); */ background-image: url("/_images/local_mall-black-48dp.svg"); right: 0px; } nav .links .icon.basket.full { /* background-image: url("/_images/shopping_cart-black-48dp.svg"); */ background-image: url("/_images/local_mall-black-48dp-full.svg"); right: 0px; } nav .links .icon .count { position: absolute; top: -3px; left: 34px; width: auto; height: 20px; /* color: #d6ab4d; */ font-size: 13px; line-height: 20px; /* border-radius: 12px; */ text-align: left; /* color: #999999; */ /* color: #ffffff; background-color: #000000; */ /* background-color: #fff300; */ color: #999999; } nav a.logo { position: absolute; top: 0px; left: calc(50% - 100px); right: calc(50% - 100px); bottom: 0px; width: 200px; height: 70px; background-image: url("/_images/logo_line.svg"); background-size: auto 30px; background-repeat: no-repeat; background-position: center center; } /* +++++++++++++++++++++++++++++++++++++++++++++++++ */ /* CONTENT */ /* +++++++++++++++++++++++++++++++++++++++++++++++++ */ main { flex: 1 0 auto; padding: 0px 0px 0px 0px; min-height: 320px; } /* +++++++++++++++++++++++++++++++++++++++++++++++++ */ /* PATH */ /* +++++++++++++++++++++++++++++++++++++++++++++++++ */ .path { padding: 10px 0px 0px 0px; /* font-size: 25px; line-height: 40px; */ /* position: -webkit-sticky; position: sticky; top: 65px; */ /* background-color: #ffffff; */ } .path.filter { padding-top: 0px; position: fixed; top: 70px; z-index: 10; width: 100%; background-color: #ffffff; } .path .item { display: flex; vertical-align: top; padding: 0px 10px 0px 10px; } .path .item.extraLeftMargin { margin-left: 10px; } .path.filter .item { justify-content: space-between; padding: 0px 10px 0px 10px; width: calc(100% - 20px); max-width: calc(100% - 20px); } .path .item .action { display: inline-block; vertical-align: top; padding: 10px 10px 10px 10px; /* font-weight: bold; font-size: 21px; font-family: "Caslon LT Graphique"; */ /* font-size: 36px; */ } .path .item select { display: inline-block; vertical-align: top; background-color: #ffffff; /* color: #d6ab4d; */ height: 50px; width: calc(25% - 20px); /* border-top: 0.5px solid #999999; */ white-space: nowrap; text-overflow: ellipsis; overflow: hidden; margin: 0px 10px 0px 10px; } .path .item .child { /* display: inline-block; */ vertical-align: top; padding: 10px 10px 10px 10px; width: auto; position: relative; } .path.filter .item .child { /* font-weight: 600; */ } .path.filter .item .child:nth-child(2) { text-align: right; /* margin-left: 10px; */ /* float: right; */ } /* .path.filter .item .child:nth-child(2):before { content: ''; position: absolute; top: 0px; left: -30px; right: auto; bottom: auto; display: inline-block; vertical-align: top; width: 50px; height: 50px; margin-left: 0px; background-size: 24px 24px; background-repeat: no-repeat; background-position: center center; background-image: url("/_images/navigate_next-black-48dp.svg"); opacity: 0.25; } */ /* .path.filter .item .child { display: block; } */ /* .path.filter .item .child:nth-child(2) { float: right; } */ .path .item button.child { /* border-top: 0.5px solid #999999; */ /* margin-right: 20px; */ } .path.filter .item button.child:before { content: attr(data-label); color: #000000; font-size: 13px; line-height: 20px; display: block; font-weight: normal; } .path.filter .item button.child:nth-child(2):before { text-align: right; } .path .item .child.selected { /* background-color: #000000; color: #ffffff; */ } .path .item .child:after { content: ''; position: absolute; top: auto; left: 0px; right: 0px; bottom: 0px; /* width: auto; height: 7px; background-image: url("/_images/keyboard_arrow_down-black-48dp.svg"); background-size: 24px 24px; background-repeat: no-repeat; background-position: center; */ /* margin: auto; width: 0; height: 0; border-left: 6px solid transparent; border-right: 6px solid transparent; border-top: 6px solid #000000; background-image: none; */ } .path .item .child.selected:after { content: ''; position: absolute; top: auto; left: 0; right: 0; bottom: 0; margin: auto; width: 0; height: 0; border-left: 8px solid transparent; border-right: 8px solid transparent; border-bottom: 8px solid #000000; border-top: none; background-image: none; } .path .item.search { margin: 0px 10px 10px 10px; width: calc(100% - 40px); } .path .item.search .child { padding: 0px 0px 0px 0px; width: calc(100% - 20px); } .path .item.search .child input { height: 49px; border-bottom: 0.5px solid #999999; background-color: #ffffff; margin-left: -10px; margin-right: -10px; width: calc(100% + 20px); } .path .item.search .child input:focus { border-bottom: 0.5px solid #000000; } .path .shell { position: fixed; top: 0px; left: 0px; right: 0px; bottom: auto; width: auto; height: auto; z-index: 200; display: none; } .path .shell.show { display: block; height: auto; bottom: 0px; } .path .menu { position: absolute; top: 110px; left: 10px; right: auto; bottom: auto; padding: 5px 0px 5px 0px; /* width: calc(50% - 20px); */ /* margin: 0px 15px 0px 15px; */ overflow-y: scroll; /* max-width: 320px; */ /* width: calc(100% - 30px); */ /* z-index: 10; */ /* box-shadow: 0px 0px 48px rgba(0, 0, 0, 0.05); */ /* background-color: #edece8; */ background-color: #000000; /* column-fill: auto; DYNAMICALLY RESIZED SO SWITCHING BETWEEN COL COUNT DOES NOT WORK column-gap: 20px; column-count: 2; */ } .path .menu a, .path .menu button { /* display: inline-block; vertical-align: top; */ display: block; padding: 5px 10px 5px 10px; text-align: left; /* width: calc(50% - 20px); */ /* color: white; */ color: #ffffff; background-color: transparent; white-space: nowrap; } .path .menu a.teen, .path .menu button.teen { color: #aaaaaa; /* padding-left: 20px; */ } .path .menu a .discounted { display: inline-block; color: #d94646; } /* .path .menu .sub { max-width: 576px; -webkit-column-break-inside: avoid; page-break-inside: avoid; break-inside: avoid; } */ .path .menu .divide { padding: 5px 10px 5px 10px; color: #999999; /* 86bece 93c6d5 */ } #checkout { padding: 0 0 20px 0; } /* +++++++++++++++++++++++++++++++++++++++++++++++++ */ /* CART */ /* +++++++++++++++++++++++++++++++++++++++++++++++++ */ /* TODO IS THIS USED */ .cart { } .cart .group { display: inline-block; vertical-align: top; width: 50%; /* min-width: 688px; */ margin: 0px 0px 20px 0px; } /* .cart .group:last-of-type { width: 67%; } */ .cart .subgroup { display: inline-block; vertical-align: top; width: 100%; margin: 0px 0px 20px 0px; } .cart .subgroup.quick { margin-bottom: 0px; } .cart .hide { display: none; } .grid .title, .cart .title { padding: 9px 10px 0px 10px; margin: 0px 10px 10px 10px; } .grid .title { border-top: 0.5px solid #cccccc } .cart .title { border-top: 0.5px solid #000000; } .cart .title { font-weight: 600; } .cart .dynamic { display: none; padding-top: 30px; } .cart .dynamic.show { display: block; } /* .cart .dynamic.show + div { padding-top: 30px; } */ .cart .title .edit { float: right; } .cart .title .date { float: right; font-weight: normal; color: #555555; } .cart .value { padding: 0px 20px 0px 20px; } .cart .info .value { padding: 0px 10px 0px 10px; } .cart .info .value.small { font-size: 13px; line-height: 20px; } .cart .group25 { display: inline-block; vertical-align: top; width: 25%; } .cart .group33 { display: inline-block; vertical-align: top; width: 33.33%; } .cart .group50 { display: inline-block; vertical-align: top; width: 50%; } .cart .group75 { display: inline-block; vertical-align: top; width: 75%; } .cart .group100 { display: inline-block; vertical-align: top; width: 100%; } .cart .group100.bottom-padding { padding-bottom: 20px; } .cart .info { margin: 0px 10px 20px 10px; /* border-top: 0.5px solid #999999; */ border-top: 0.5px solid #999999; } .cart .info.instruction { padding: 10px 10px 10px 10px; } .cart .caption { margin: 20px 10px 10px 10px; padding: 10px 10px 10px 10px; /* border-top: 0.5px solid #999999; */ border-top: 0.5px solid #999999; color: #555555; } .cart label { margin: 0px 10px 0px 10px; } .cart select { /* margin: 0px 10px 0px 10px; */ width: calc(100%); } .cart textarea, .cart input[type="text"], .cart input[type="tel"], .cart input[type="email"] { margin: 0px 10px 0px 10px; width: calc(100% - 40px); } .cart button.remove { /* color: #d6ab4d; d94646 RED */ margin: 10px 0px 0px 0px; padding: 9px 0px 10px 0px; width: auto; } .cart .continue { display: block; font-weight: 600; background-color: #34c759; color: #ffffff; padding: 10px 10px 10px 10px; width: calc(100% - 20px); border-radius: 4px; text-align: center; } .cart .pay { display: block; font-weight: 600; background-color: #635bff; color: #ffffff; padding: 10px 10px 10px 10px; width: 100%; border-radius: 4px; text-align: center; } .cart .stripe { margin: 0; padding: 0; } .cart .stripe .button { display: block; font-weight: 600; background-color: #635bff; color: #ffffff; padding: 10px 0px 10px 0px; width: 100%; border-radius: 4px; text-align: center; } .cart .stripe .more { color: #635bff; text-align: center; padding: 10px 0px 0px 0px; } .cart .stripe-logo { display: block; color: #ffffff; width: 100%; height: 50px; margin: 0px 0px 5px 0px; background-image: url("/_images/blurple.svg"); background-size: auto 25px; background-repeat: no-repeat; background-position: center; } .cart .pay.amazon { background-color: #f0c14b; color: #000000; margin-bottom: 20px; margin-top: 10px; } .cart .pay.amazon.logo { height: 50px; background-image: url("/_images/amazon_logo.svg"); background-size: auto 23px; background-repeat: no-repeat; background-position: center; margin-bottom: 0px; } .cart .use { display: block; color: #ffffff; width: 100%; height: 50px; margin: 0px 0px 10px 0px; background-image: url("/_images/amazon_use.svg"); background-size: auto 11px; background-repeat: no-repeat; background-position: center; } .cart .buttons { padding-top: 10px; } .cart .table .buttons { padding-top: 20px; } .cart .quickpay { padding: 0px 10px 0px 10px; } .cart .questions { padding: 0px 10px 0px 10px; margin: 0px 10px 0px 10px; border-top: 0.5px solid #999999; color: #555555; } .cart .quickpay .paypal { padding: 20px 0px 10px 0px; display: none; } /* .cart .quickpay .stripe { padding: 10px 0px 10px 0px; display: none; } */ .cart .quickpay .show { display: block; } .cart .back { display: block; color: #000000; padding: 8px 9px 9px 9px; margin: 10px 10px 0px 10px; width: calc(100% - 40px); border: 0.5px solid #999999; border-radius: 4px; text-align: center; } .cart button.back { margin: 0px 0px 0.px 0px; width: 100%; border-radius: 4px; } .cart .submit { /* background-color: #d6ab4d; d6ab4d 6cf0f8 f9e951 fef151 e9e9e9 c4b27b d1a054 b68a3a d99938 ffd662 ffd551 f7c46c */ background-color: #34c759; font-weight: 600; color: #ffffff; margin: 10px 10px 0px 10px; width: calc(100% - 20px); border-radius: 4px; text-align: center; } .cart .table { margin: 10px 10px 0px 10px; /* border-top: 0.5px solid #999999; */ border-top: 0.5px solid #999999; } /* .cart .table tr:last-of-type { border-bottom: 0.5px solid #cccccc } */ .cart .table .image { padding: 10px 10px 10px 0px; max-width: 50px; width: 50px; } .cart .table .image a { width: 50px; height: 50px; } .cart .table img { width: 50px; height: 50px; } /* .cart .table .select { padding: 0px 0px 10px 0px; text-align: right; } */ /* .cart .table .select select { width: 60px; } */ .cart .table .shipping { padding: 0px 0px 0px 0px; } /* .cart .table .shipping select { margin-left: 0px; width: 100%; } */ .cart .table .shipping .details { padding: 0px 10px 0px 10px; } .cart .table .shipping .details ul { padding-bottom: 5px; } .cart .table .text { padding: 10px 10px 10px 10px; } .cart .table .empty { padding: 10px 10px 10px 10px; } .cart .table .sum { padding: 10px 10px 10px 10px; text-align: right; } .cart .table .sample { text-align: left; padding: 9px 0px 9px 0px; } .cart .table .sample button { background-color: #f3f3f3; /* 97e5bd */ border-radius: 4px; text-align: center; /* font-weight: 500; */ } .cart .table .checkbox { padding: 10px 0px 10px 0px; } .cart .table .checkbox input { margin-left: 10px; } .cart .table .checkbox div { padding: 5px 0px 5px 0px; } .cart .table .checkbox label { font-size: 18px; padding: 0px 0px 0px 0px; margin-right: 5px; } .cart .table .checkbox button { display: inline; width: auto; padding: 0px; margin: 0px; } .cart .table .checkbox textarea { margin: 0px; width: calc(100% - 20px); } .cart .table .callout { color: #555555; padding: 10px 10px 10px 10px; } .cart .table .callout span { color: #000000; } .cart .table .highlight { color: #d94646; padding: 10px 10px 10px 10px; } /* .cart .table td:first-of-type:not(.image) { padding-left: 10px; } */ .cart .table .number { padding: 10px 10px 10px 0px; text-align: right; } .cart .table .number.inventory { padding-right: 20px; } /* +++++++++++++++++++++++++++++++++++++++++++++++++ */ /* SELECT */ /* +++++++++++++++++++++++++++++++++++++++++++++++++ */ .select { background-color: #f3f3f3; padding: 0px 0px 0px 0px; margin-right: 10px; display: block; position: relative; width: auto; height: auto; } .select.variant { padding: 0px 0px 0px 0px; margin: 0px -10px 5px -10px; border-radius: 4px; } .select > select { width: 100%; min-width: 60px; padding-right: 30px; } .select:before { /* &#x25BC \f0d7 */ content: '\25BC'; line-height: 50px; text-align: center; display: block; position: absolute; top: 0; bottom: auto; left: auto; right: 0; width: auto; height: 50px; background-color: transparent; color: #333333; padding: 0px 10px 0px 10px; font-size: 14px; } /* +++++++++++++++++++++++++++++++++++++++++++++++++ */ /* MENU */ /* +++++++++++++++++++++++++++++++++++++++++++++++++ */ menu { background-color: white; padding: 10px 0px 10px 0px; position: fixed; top: 70px; left: 0px; right: 0px; bottom: auto; /* width: calc(50% - 20px); */ width: auto; height: 0px; overflow-y: scroll; z-index: 850; display: none; /* background-color: #f6f5f2; */ background-color: #ffffff; } menu.show { display: block; height: auto; bottom: 0px; } menu.display { display: block; position: relative; height: auto; width: auto; top: auto; left: auto; right: auto; bottom: auto; } menu .group { display: inline-block; vertical-align: top; margin: 0px 10px 0px 10px; padding: 0px 0px 20px 0px; column-fill: auto; column-gap: 20px; } menu .group.main { width: calc(33.33% - 20px); column-count: 1; } menu .group.flags { width: calc(100% - 20px); column-count: 4; } menu .group.brand { width: calc(100% - 20px); column-count: 4; } menu .group.category { width: calc(100% - 20px); column-count: 4; } menu .group.clearance { width: calc(100% - 20px); column-count: 4; } menu .group.collection { width: calc(100% - 20px); column-count: 4; } /* menu .group.split { display: inline-block; vertical-align: top; width: calc(50% - 20px); } */ /* menu .group.columns { width: calc(25% - 20px); column-count: 1; } */ /* menu .group:first-of-type { border-top: none; } */ menu a, menu button { /* display: inline-block; vertical-align: top; */ display: block; padding: 5px 10px 5px 10px; text-align: left; /* -webkit-column-break-inside: avoid; -moz-column-break-inside: avoid; column-break-inside: avoid; */ /* width: calc(50% - 20px); */ /* color: white; */ } menu .divide { padding: 5px 10px 5px 10px; color: #999999; /* 86bece 93c6d5 */ /* border-top: 0.5px solid #999999; */ } menu .sub { -webkit-column-break-inside: avoid; /* Chrome, Safari, Opera */ page-break-inside: avoid; /* Firefox */ break-inside: avoid; /* IE 10+ */ padding-bottom: 40px; } menu .sub .flag { background-size: 24px 24px; background-repeat: no-repeat; background-position: 10px 7px; padding-left: 42px; margin-bottom: 10px; } menu .sub .flag div { font-size: 13px; line-height: 20px; color: #888888; text-transform: uppercase; } menu .sub.noDivide { /* padding-bottom: 40px; */ } menu .sub a .discounted { display: inline-block; color: #d94646; } menu .sub a:last-of-type { /* padding-bottom: 40px; */ } menu .sub a .usonly { font-size: 13px; line-height: 20px; color: #888888; text-transform: uppercase; } .US menu .sub a .usonly { display: none; } /* menu .columns a, menu .columns button { width: calc(100% - 20px); } */ menu button.close { position: absolute; top: 0px; left: auto; right: 0px; bottom: auto; width: 70px; height: 70px; padding: 10px 10px 10px 10px; text-align: right; /* color: #d6ab4d; */ background-color: transparent; background-image: url("/_images/close-black-48dp.svg"); background-size: 24px 24px; background-repeat: no-repeat; background-position: center; } menu .title { padding: 0px 20px 15px 20px; } menu .subtitle { /* position: -webkit-sticky; position: sticky; top: 0px; */ column-span: all; padding: 10px 10px 10px 10px; margin-bottom: 10px; /* border-bottom: 0.5px solid #999999; */ color: #999999; /* background-color: #ffffff; */ /* font-weight: 600; */ /* background-color: #f6f5f2; */ } menu .teen { color: #999999; } /* +++++++++++++++++++++++++++++++++++++++++++++++++ */ /* FOOTER */ /* +++++++++++++++++++++++++++++++++++++++++++++++++ */ footer { flex-shrink: 0; padding: 0px 0px 30px 0px; margin: 0px 0px 0px 0px; /* font-size: 15px; line-height: 25px; */ /* background-color: #f6f5f2; */ background-color: #f3f3f3; } footer .section { margin: 0px 0px 10px 0px; display: inline-block; vertical-align: top; width: calc(50% - 0px); /* background: red; */ } footer label { font-size: 18px; line-height: 30px; /* font-weight: 500; */ padding: 5px 10px 10px 10px; color: #000000; } footer input[type="tel"] { display: inline-block; vertical-align: top; height: 49px; border-bottom: 0.5px solid #999999; background-color: #ffffff; background-color: transparent; width: calc(100% - 80px); /* margin: 0px 10px 0px 10px; */ /* margin-left: -10px; margin-right: -10px; */ /* width: calc(100% + 20px); */ } footer input[type="tel"]:focus { border-bottom: 0.5px solid #000000; } footer .submit { display: inline-block; vertical-align: top; width: 50px; height: 50px; margin-left: 0px; background-size: 24px 24px; background-repeat: no-repeat; background-position: center center; background-image: url("/_images/arrow_forward-black-48dp.svg"); border-bottom: 0.5px solid #999999; } footer .submit:disabled { opacity: 0.25; } footer input[type="tel"]:disabled { opacity: 0.25; } footer input[type="tel"]:focus + .submit { border-bottom: 0.5px solid #000000; } footer button { /* font-size: 15px; line-height: 25px; */ } footer .group { display: inline-block; vertical-align: top; margin: 0px 10px 0px 10px; padding: 0px 0px 20px 0px; } footer .connectGroup { display: none; padding: 0px 0px 30px 0px; } .US footer .connectGroup { display: inline-block; } footer .main a, footer .main button { display: block; padding: 5px 10px 5px 10px; text-align: left; background-color: transparent; } footer .subtitle { column-span: all; padding: 10px 10px 15px 10px; color: #999999; } footer .shipping { padding: 20px 20px 10px 20px; margin: 0px 0px 10px 0px; } footer .message { padding: 10px 10px 0px 10px; } footer .copyright { /* font-size: 13px; line-height: 20px; font-weight: 500; */ padding: 10px 10px 0px 10px; color: #555555; } menu a.restricted, menu button.restricted, footer a.restricted, footer button.restricted { display: none; } .US menu a.restricted, .US menu button.restricted, .US footer a.restricted, .US footer button.restricted { display: none; } /* +++++++++++++++++++++++++++++++++++++++++++++++++ */ /* SOURCE */ /* +++++++++++++++++++++++++++++++++++++++++++++++++ */ .source { /* display: flex; flex-wrap: wrap; */ padding: 0px 0px 0px 0px; width: 100%; } .source > div { position: relative; display: inline-block; vertical-align: top; width: calc(50% - 20px); margin: 10px 10px 0px 10px; } .source .image { position: relative; padding-bottom: 56.25%; margin-bottom: 10px; } .source .image img { position: absolute; top: 0; bottom: 0; left: 0; right: 0; width: 100%; height: 100%; object-fit: cover; object-position: center; } .source .notes { padding: 0px 0px 0px 0px; } .source .notes .note { margin: 0px 0px 0px 0px; padding: 0px 10px 30px 10px; } /* .source .notes .note > div { overflow: hidden; display: -webkit-box; -webkit-line-clamp: 9; -webkit-box-orient: vertical; } */ .source .notes .note.notitle { padding-top: 10px; border-top: 0.5px solid #999999; } .source .notes .note .title { color: #999999; padding: 10px 10px 10px 10px; margin: 0px -10px 0px -10px; border-top: 0.5px solid #999999; } /* +++++++++++++++++++++++++++++++++++++++++++++++++ */ /* PRODUCT */ /* +++++++++++++++++++++++++++++++++++++++++++++++++ */ .product { /* display: flex; flex-wrap: wrap; */ padding: 0px 0px 0px 0px; width: 100%; } .product tr td.days { border: 0px; } .product td.days button { display: inline-block; vertical-align: top; width: 50px; height: 50px; border-radius: 4px; background-size: 24px 24px; background-repeat: no-repeat; background-position: center; background-image: url("/_images/arrow_downward-black-48dp.svg"); background-color: #ffffff; border: 0.5px solid #34c759; } .product td.days { padding-left: 0px; padding-right: 0px; } .product td.days .select { margin-left: 10px; margin-right: 10px; } .product td.days input { width: 80px; } .product .instruction { padding: 5px 10px 5px 10px; margin: 0px 10px 10px 10px; color: #555555; } .product .instruction .buttons { padding: 5px 0px 5px 0px; } .product .instruction .buttons button { padding: 5px 0px 5px 0px; } .product > div { position: relative; display: inline-block; vertical-align: top; width: calc(50% - 20px); margin: 10px 10px 0px 10px; } .product .location { padding: 20px 100px 10px 10px; /* font-size: 27px; line-height: 35px; */ display: none; } .product table { margin: 5px 0px 0px 0px; } .product tr:first-child { border-top: 0.5px solid #999999; } .product tr.noBottom { border-bottom: none; } /* .product tr td.demphasis { padding-top: 0px; } */ .product th { padding: 10px 10px 10px 10px; text-align: left; } .product td { padding: 10px 10px 10px 10px; } /* .product .location > a { padding-left: 40px; } .product .location > a:before { content: ''; position: absolute; top: 10px; left: 0px; width: 50px; height: 50px; background-size: 24px 24px; background-repeat: no-repeat; background-position: center center; background-image: url("/_images/navigate_before-black-48dp.svg"); } */ .product .exclusion { padding: 10px 10px 10px 10px; border-top: 0.5px solid #999999; } .product .promos { padding: 5px 0px 10px 0px; border-top: 0.5px solid #999999; } .product .promos .promo { /* border-radius: 4px; */ /* background-color: #f6f6f6; #f3f3f3 #edf9f0 */ padding: 10px 10px 10px 10px; margin: 5px 0px 0px 0px; width: calc(50% - 25px); display: inline-block; vertical-align: top; font-size: 14px; line-height: 20px; /* font-weight: 500; */ } .product .promos .promo.within { /* background-color: #ffed00; padding: 9px 9px 9px 9px; border: 0.5px solid #999999; background-color: #ffffff; */ } .product .promos .promo:nth-of-type(odd) { margin-right: 5px; } .product .promos .promo:nth-of-type(even) { margin-left: 5px; } .product .promos .promo.sample { margin-top: 10px; width: calc(100% - 20px); } .product .promos .title { color: #888888; } .product .promos .promo.within .title { color: #888888; } .product .wrap { border-top: 0.5px solid #999999; padding-top: 10px; } .product .image { position: relative; padding-bottom: 100%; margin-bottom: 10px; } .product .image.brand { padding-bottom: 56.25%; margin-left: -10px; margin-right: -10px; background-color: red; margin-bottom: 15px; width: calc(100% + 20px); } .product .image img { position: absolute; top: 0; bottom: 0; left: 0; right: 0; width: 100%; height: 100%; object-fit: cover; object-position: center; } .product .sisters { padding: 0px 10px 10px 10px; } .product .sisters .sister { display: inline-block; /* vertical-align: top; PREVENTS BORDER FROM SHOWING */ /* width: 12.5%; padding-bottom: 12.5%; */ width: 16.66%; padding-bottom: 16.66%; position: relative; border-bottom: 0.5px solid #ffffff; } .product .sisters .sister.selected { border-bottom: 0.5px solid #000000; } .product .sisters .sister img { position: absolute; top: 0; bottom: 0; left: 0; right: 0; width: 100%; /* height: calc(100% - 1px); */ object-fit: cover; object-position: center; } .product .page { position: absolute; top: 0px; right: 0px; width: 100px; } .product .page .control { display: inline-block; vertical-align: top; width: 50px; height: 50px; margin-left: 0px; background-size: 24px 24px; background-repeat: no-repeat; background-position: center center; /* border-radius: 20px; */ /* background-color: #f3f3f3; */ } .product .page .control.previous { background-image: url("/_images/navigate_before-black-48dp.svg"); /* background-image: url("/_images/arrow_back-black-48dp.svg"); */ } .product .page .control.next { background-image: url("/_images/navigate_next-black-48dp.svg"); /* background-image: url("/_images/arrow_forward-black-48dp.svg"); */ } .product .page .control.previous.disabled, .product .page .control.next.disabled { opacity: 0.25; /* border: 0.5px solid #000000; */ } .product .details { border-top: 0.5px solid #999999; padding: 10px 10px 10px 10px; /* margin-right: 50px; */ /* border-top: 0.5px solid #000000; */ /* font-size: 27px; line-height: 35px; */ } .product .details .brand { padding-right: 80px; } .product .details h2 { font-weight: 600; } .product .details .total { /* font-weight: 400; */ } .product .outofstock { /* padding: 10px 10px 10px 10px; margin: 0px -10px 0px -10px; */ /* border-top: 0.5px solid #cccccc */ } .product .actions { padding: 0px 0px 0px 10px; margin: 0px 0px 10px -10px; /* position: sticky; top: auto; left: 0px; right: 0px; bottom: 0px; */ /* width: calc(100%); */ } .product a.dd { display: block; vertical-align: top; margin: 5px 0px 10px 0px; width: calc(100% - 60px); line-height: 30px; padding: 10px 0px 10px 0px; font-weight: 600; border-radius: 4px; text-align: center; } .product .actions button { position: relative; /* display: inline-block; */ display: block; vertical-align: top; /* background-color: #34c759; 34c759 cbe1e8 d6ab4d 6cf0f8 f9e951 fef151 e9e9e9 c4b27b d1a054 b68a3a d99938 ffd662 ffd551 f7c46c */ margin: 0px 0px 0px 0px; /* width: calc(100% - 60px); */ width: 100%; /* width: calc(100% - 80px); */ /* color: #000000; */ /* color: #ffffff; */ /* border-top: 0.5px solid #d6ab4d !important; */ /* border-top: 0.5px solid #999999; */ /* font-size: 27px; line-height: 35px; */ /* font-weight: 600; text-transform: uppercase; */ /* background-color: #e6f5f4; */ /* border-top: 0.5px solid #999999; padding-bottom: 9px; */ /* font-size: 27px; line-height: 35px; */ /* font-weight: 500; */ /* color: #34c759; */ font-weight: 600; /* background-color: #f6f5f2; */ border-radius: 4px; background-color: #34c759; color: #ffffff; text-align: center; } .product .actions button.buy { background-color: #635bff; margin: 10px 0px 0px 0px; } .product .actions button:first-child { /* background-color: #f6f5f2; */ } .product .actions button.add { /* background-color: #34c759; color: #ffffff; */ } /* .grid .actions button span, .product .details a span, .product .details button span, .product .actions button span { border-bottom: 0.5px solid GAINSBORO; } */ /* .product .actions button:not(.favorite) { background-color: #000000; color: #ffffff; text-align: center !important; } */ /* .product .actions button:not(.favorite) { padding-left: 50px; } .product .actions button:not(.favorite):before { content: ''; position: absolute; top: 10px; left: 10px; right: auto; bottom: auto; vertical-align: bottom; display: inline-block; width: 30px; height: 30px; background-size: 24px 24px; background-repeat: no-repeat; background-position: center; background-image: url("/_images/add-black-48dp.svg"); background-color: #fff300; border-radius: 15px; } */ .product .actions button.favorite { display: inline-block; vertical-align: top; width: 50px; height: 50px; margin-left: 10px; background-size: 24px 24px; background-repeat: no-repeat; background-position: center; background-image: url("/_images/favorite_border-black-48dp.svg"); background-color: #ffffff; border: 0.5px solid #34c759; } .product .actions button.favorite.true { background-image: url("/_images/favorite-black-48dp.svg"); } .product .actions button.hide { display: none; } .product .actions button:disabled { opacity: 50%; } .product .category { padding: 10px 10px 0px 10px; border-top: 0.5px solid #999999; } .product .restricted { margin-top: 5px; padding: 10px 10px 10px 10px; border-top: 0.5px solid #999999; } .product .gallery { margin-top: 10px; padding: 10px 10px 0px 10px; border-top: 0.5px solid #999999; } .product .avaliable { margin: 0px 0px 10px 0px; padding: 10px 10px 10px 10px; font-size: 14px; line-height: 20px; background-color: #f1fbfb; } .product .collection { margin: 10px 0px 0px 0px; padding: 10px 10px 0px 10px; border-top: 0.5px solid #999999; } .product .classification { margin: 10px 0px 0px 0px; padding: 10px 10px 0px 10px; border-top: 0.5px solid #999999; } .product .later { text-align: center; text-transform: uppercase; font-size: 14px; padding-right: 60px; padding-bottom: 10px; } .product .remaining { color: #d94646; text-align: center; padding-bottom: 5px; } .product .description { margin: 10px 0px 0px 0px; padding: 10px 10px 30px 10px; border-top: 0.5px solid #999999; } .product .notes { /* border-top: 0.5px solid #999999; */ padding: 0px 0px 25px 0px; /* 12PX IS AN OPTICAL ADJUSTMENT */ /* font-size: 16px; line-height: 25px; */ } .product .notes .note { margin: 0px 0px 0px 0px; padding: 0px 10px 0px 10px; /* border-top: 0.5px solid #999999; */ /* color: #555555; */ } .product .notes .extra-bottom { margin-bottom: 15px; } .product .notes .note.notitle { padding-top: 10px; border-top: 0.5px solid #999999; } /* .product .notes .note:first-of-type { padding-top: 10px; } */ .product .notes .note .title { /* color: #999999; */ padding: 10px 10px 10px 10px; margin: 0px -10px 0px -10px; width: calc(100% + 20px); /* font-weight: 600; */ border-top: 0.5px solid #999999; } .product .notes .note .title:before { content: '\2b'; /* color: #34c759; color: #c7c1af; */ text-align: center; padding: 0px 10px 0px 0px; } /* .product .notes .note .title:after { content: '\2b'; color: #34c759; #c7c1af; width: 30px; text-align: center; float: right; } */ .product .notes .note .title + div { display: none; color: #555555; } .product .notes .note .title.show { padding-bottom: 30px; } .product .notes .note .title.show:before { content: '\2212'; } /* .product .notes .note .title.show:after { content: '\2212'; } */ .product .notes .note .title.show + div { display: block; padding-bottom: 20px; } .product .notes .note .ingredients { column-count: 1; column-gap: 20px; margin-bottom: 20px; margin-top: -5px; } .product .notes .note .ingredients .link span { color: #555555; } .product .notes .note .disclaimer { column-span: all; padding-top: 20px; /* font-size: 13px; line-height: 20px; */ color: #555555; } .product .notes .note .more { display: block; margin-top: 20px; margin-bottom: 10px; padding-top: 10px; padding-bottom: 10px; } .product .notes .note .ingredients button { padding-bottom: 0px; -webkit-column-break-inside: avoid; page-break-inside: avoid; break-inside: avoid; padding: 0 0 10px 0; margin: 0 0 0 0; text-transform: capitalize; } /* .product .options { } .product .options .option { vertical-align: top; display: inline-block; width: 50%; } .product .options .option:nth-child(odd) { margin: 10px 0px 10px 0px; } .product .options .option:nth-child(even) { margin: 10px 0px 10px 0px; } */ .banner { display: none; padding: 10px 10px 10px 10px; /* margin: 0px -10px 0px -10px; */ background-color: transparent; } .product .banner { padding: 0px 10px 10px 10px; } .cart .banner { margin: 0px 10px 0px 10px; } .grid .banner { /* margin: 0px 10px 0px 10px; */ width: 100%; padding: 0px 10px 0px 10px; } .grid .actions .banner { padding: 0px 0px 0px 0px; } .popover .form .banner { padding: 0px 10px 10px 10px; } .banner.show { display: block; } .banner.error { /* background-color: #f7e6e6; color: #000000; */ /* color: #cb0000; */ color: #ff3b30; } /* .product .banner.error { color: #000000; } */ .cart .banner.error { /* background-color: #ffffff; */ } .banner.issue { /* background-color: #f7f4e6; */ /* color: #cb0000; */ color: #ff3b30; } .banner.success { /* background-color: #e6f5f4; e4f3f5 #e6f7e0; */ color: #34c759; } /* +++++++++++++++++++++++++++++++++++++++++++++++++ */ /* HOME */ /* +++++++++++++++++++++++++++++++++++++++++++++++++ */ .home { /* NADA */ } .home .top { text-align: center; height: 60px; padding: 10px 0px 10px 0px; } .home .top button { display: inline-block; vertical-align: top; width: auto; } .home .top a { display: inline-block; vertical-align: top; width: auto; padding: 10px 10px 10px 10px; } .home .top div { text-align: center; color: #777; font-size: 13px; line-height: 13px; } .home .item { display: block; height: calc(100vh - 150px); } .home .item img { display: block; vertical-align: top; height: 100%; width: 100%; object-fit: cover; object-position: center; } .home .bottom { text-align: center; height: 50px; padding: 10px 0px 0px 0px; } .home .bottom a { display: inline-block; vertical-align: top; width: auto; padding: 10px 0px 10px 0px; } /* +++++++++++++++++++++++++++++++++++++++++++++++++ */ /* GRID */ /* +++++++++++++++++++++++++++++++++++++++++++++++++ */ .arcade { display: flex; flex-wrap: wrap; overflow: visible; padding: 0px 0px 10px 0px; } .arcade .photo { width: calc(33% - 20px); margin: 0px 10px 20px 10px; cursor: pointer; position: relative; display: flex; flex-direction: column; text-align: center; /* -webkit-box-shadow: 0px 0px 40px 0px rgba(0,0,0,0.04); -moz-box-shadow: 0px 0px 40px 0px rgba(0,0,0,0.04); box-shadow: 0px 0px 40px 0px rgba(0,0,0,0.04); */ } .arcade .photo .title { /* border-top: 0.5px solid #999999; */ text-align: left; padding: 10px 10px 10px 10px; } .arcade .photo .image { position: relative; width: calc(100%); padding-bottom: calc(150%); background-color: #f6f5f2; } .arcade .photo .image img { position: absolute; top: 0; bottom: 0; left: 0; right: 0; width: 100%; height: 100%; object-fit: cover; object-position: center; mix-blend-mode: multiply; } @media all and (max-width: 768px) { .arcade .photo { width: calc(50% - 20px); } } /* +++++++++++++++++++++++++++++++++++++++++++++++++ */ /* GRID */ /* +++++++++++++++++++++++++++++++++++++++++++++++++ */ .grid { display: flex; flex-wrap: wrap; overflow: visible; padding: 0px 0px 20px 0px; } .grid.samples { padding-bottom: 10px; } .grid .instruction { padding: 5px 10px 5px 10px; margin: 0px 10px 10px 10px; color: #555555; max-width: 576px; } .grid .instruction .buttons { padding: 5px 0px 5px 0px; } .grid .instruction .buttons button { padding: 5px 0px 5px 0px; } .grid .instruction.search { /* padding-top: 10px; */ } .grid .title { display: block; width: calc(100% - 20px); border-top: 0.5px solid #999999; } .grid .item { width: calc(33.33% - 20px); margin: 10px 10px 10px 10px; /* padding: 10px 0px 0px 0px; */ cursor: pointer; background-color: #ffffff; position: relative; /* border-top: 0.5px solid #999999; */ display: flex; flex-direction: column; text-align: center; /* -webkit-box-shadow: 0px 0px 40px 0px rgba(0,0,0,0.04); -moz-box-shadow: 0px 0px 40px 0px rgba(0,0,0,0.04); box-shadow: 0px 0px 40px 0px rgba(0,0,0,0.04); */ } .grid.samples .item { width: calc(50% - 20px); font-size: 15px; line-height: 25px; outline: 0.5px solid #999999; } /* .grid.home { margin: 0px 40px 0px 40px; } */ /* .grid.home .item { width: calc(100% - 80px); padding: 20px 20px 20px 20px; margin: 0px 20px 40px 20px; border-top: none; } */ .grid .item a { flex-grow: 1; display: flex; flex-direction: column; } .grid .regimen { width: 100%; border-top: 0.5px solid #999999; margin: 10px 10px 0px 10px; padding: 10px 10px 10px 10px; /* text-transform: uppercase; */ } .grid.samples .regimen { margin: 20px 10px 0px 10px; padding: 10px 0px 10px 0px; } .grid.samples .regimen:first-of-type { margin-top: 0px; } /* .grid .item:hover { -webkit-box-shadow: 0px 0px 24px 0px rgba(0,0,0,0.1); -moz-box-shadow: 0px 0px 24px 0px rgba(0,0,0,0.1); box-shadow: 0px 0px 24px 0px rgba(0,0,0,0.1); } */ /* .grid .item .image { display: block; padding-bottom: calc(100%); background-repeat: no-repeat; background-size: cover; background-position: center; margin-bottom: 0px; } */ .grid .item .image { position: relative; width: calc(100%); padding-bottom: calc(100%); /* background-color: #f7f7f7; */ } /* .grid.home .item .image { padding-bottom: calc(66.67%); } */ .grid .item .image img { position: absolute; top: 0; bottom: 0; left: 0; right: 0; width: 100%; height: 100%; object-fit: cover; object-position: center; } .grid .item .image .overlay { position: absolute; bottom: 20px; left: 0px; width: auto; min-width: calc(50% - 20px); height: auto; padding: 10px 10px 10px 10px; color: #000000; background-color: #ffffff; } .grid .item .details { padding: 10px 10px 10px 10px; /* text-align: center; */ /* border-top: 0.5px solid #999999; */ position: relative; /* display: flex; flex-direction: column; */ /* flex-grow: 1; */ } .grid .item .details .label { flex-grow: 1; /* padding-bottom: 10px; */ /* border-bottom: 0.5px solid #999999; */ /* font-weight: 300; */ } .grid .item .details .label span { /* display: block; */ } .grid .item .details .description { margin: 10px 0px 0px 0px; padding: 10px 0px 0px 0px; border-top: 0.5px solid #999999; text-align: left; } /* .grid .item .details .description { padding: 10px 0px 10px 0px; color: #555555; display: none; } .grid .item .details.open .description { display: block; } */ /* .grid .item .brand { position: absolute; top: 0px; left: 0px; right: 0px; bottom: 0px; z-index: 10; overflow-x: hidden; overflow-y: scroll; border-top: 10px solid #9c9b98; padding: 9px 10px 10px 10px; } */ /* .grid .item .brand .name { font-weight: bold; } */ /* .grid .item .brand .description { padding: 10px 0px 0px 0px; color: #555555; } */ /* .grid .item .price { padding: 10px 10px 10px 10px; text-align: right; } .grid .item.product .price { padding: 0px 0px 0px 0px; text-align: left; font-size: 21px; line-height: 27px; } */ /* .grid .item.product .description { padding: 10px 0px 0px 0px; font-size: 21px; line-height: 27px; } */ /* .grid .item .action { position: absolute; bottom: 45px; padding: 10px 10px 10px 10px; } .grid .item .action.selected { background-color: #ffffff; } .grid .item .action span { } */ /* .grid .item .banner { margin-left: 0px; margin-right: 0px; width: calc(100% - 20px); } */ .grid .item .actions { position: relative; padding: 0px 0px 0px 0px; } .grid .item .restricted { display: inline-block; vertical-align: top; text-align: center; padding: 10px 10px 10px 10px; } .grid .item button.add { /* border-top: 0.5px solid #999999; */ display: inline-block; vertical-align: top; text-align: center; /* width: calc(100% - 50px); */ /* font-weight: 600; */ /* padding-top: 9px; padding-bottom: 9px; margin-right: 20px; border: 0.5px solid #999999; */ /* font-weight: 600; */ /* background-color: #e6f5f4; */ /* background-color: rgba(255,255,51,1); */ /* border-top: 0.5px solid #999999; */ /* background-color: #000000; 00e4c8 */ /* color: #ffffff; */ /* border-top: 0.5px solid #999999; padding-bottom: 9px; */ /* border-radius: 25px; */ /* text-align: center; */ /* background-color: #000000; color: #ffffff; */ /* width: auto; margin: 10px auto 10px auto; padding-left: 25px; padding-right: 25px; border-radius: 25px; border: 0.5px solid #999999; */ /* color: #b19671; */ /* color: #34c759; */ /* border-bottom: 0.5px solid #34c759; */ width: auto; /* margin: 0px auto 10px auto; padding-left: 15px; padding-right: 15px; */ /* border-top: 0.5px solid #999999; */ /* font-weight: 500; */ } .grid .item button { font-weight: 600; } .grid .item button.hide { display: none; } .grid .item button.favorite { /* border-top: 0.5px solid #999999; */ position: absolute; top: auto; left: auto; right: 0px; bottom: 10px; /* margin-top: calc(100% - 50px); */ display: inline-block; vertical-align: bottom; width: 50px; height: 50px; background-size: 24px 24px; background-repeat: no-repeat; background-position: center; background-image: url("/_images/favorite_border-black-48dp.svg"); background-color: transparent; /* border: 0.5px solid #999999; */ display: none; } .grid .item button.favorite.true { background-image: url("/_images/favorite-black-48dp.svg"); } /* +++++++++++++++++++++++++++++++++++++++++++++++++ */ /* ships */ /* +++++++++++++++++++++++++++++++++++++++++++++++++ */ .ships { width: calc(100% - 40px); border-top: 0.5px solid #999999; margin: 20px 10px 0px 10px; padding: 0px 10px 0px 10px; /* display: flex; justify-content: center; */ /* over-flow: hidden; white-space: nowrap; overflow-y: scroll; */ } .ships .ship { border-radius: 4px; padding: 9px 15px 0px 0px; margin: 0px 0px 0px 0px; display: inline-block; /* width: calc(50% - 25px); vertical-align: top; */ /* font-size: 14px; line-height: 20px; font-weight: 500; */ } .ships .ship:last-of-type { padding-right: 0px; } .ships .ship div { color: #555555; } /* +++++++++++++++++++++++++++++++++++++++++++++++++ */ /* APPROVAL */ /* +++++++++++++++++++++++++++++++++++++++++++++++++ */ .approval { display: none; position: fixed; top: auto; left: 0; right: 0; bottom: 0; width: auto; min-height: 40px; height: auto; z-index: 900; background-color: #ebe8e1; padding: 15px 90px 15px 20px; font-size: 13px; line-height: 20px; } .approval.show { display: block; } .approval button { position: absolute; top: 10px; left: auto; right: 10px; bottom: auto; min-width: 70px; width: auto; height: auto; z-index: 900; background-color: #000000; color: #ffffff; padding: 10px 10px 10px 10px; text-align: center; font-size: 13px; font-weight: 600; } /* +++++++++++++++++++++++++++++++++++++++++++++++++ */ /* POPOVER */ /* +++++++++++++++++++++++++++++++++++++++++++++++++ */ .popover { display: none; position: fixed; top: 0; left: 0; right: 0; bottom: auto; width: auto; height: 0px; z-index: 1000; background-color: rgba(0,0,0,0.2); justify-content: center; } .popover.show { display: flex; bottom: 0px; height: auto; overflow: hidden; } .popover .shell { overflow-y: scroll; -webkit-overflow-scrolling: touch; width: 100%; max-width: 414px; max-height: 100%; height: auto; align-self: flex-start; /* PREVENTS FROM FILLING VERTICALLY */ background-color: #ffffff; } .popover .wrap { padding: 0px 10px 0px 10px; /* background-color: #fff300; */ } .popover .wrap .title { padding: 20px 10px 10px 10px; font-weight: 600; background-color: #ffffff; position: -webkit-sticky; position: sticky; top: 0px; } .popover .wrap .instruction { padding: 10px 10px 10px 10px; /* color: #555555; */ } .popover .wrap .info { padding: 10px 10px 25px 10px; } .popover .wrap .info.small { font-size: 13px; line-height: 20px; padding-bottom: 25px; } .popover .wrap .info.tight { padding-bottom: 5px; } .popover .wrap .source { display: block; padding-top: 10px; } .popover .wrap .info.error { padding: 10px 10px 0px 10px; } .popover .wrap .form { padding: 10px 0px 20px 0px; width: calc(100% - 20px); } /* .popover .wrap .error { padding: 0px 10px 10px 10px; } */ .popover .wrap .actions { padding: 0px 0px 0px 0px; margin: 0px 0px 0px 0px; position: -webkit-sticky; position: sticky; bottom: 0px; background-color: #ffffff; } .popover .wrap .actions.multi { margin: 0px -5px 0px -5px; } .popover .wrap .actions button { border-top: 0.5px solid #999999; padding: 10px 0px 10px 0px; margin: 0px 10px 0px 10px; width: calc(100% - 20px); } .popover .wrap .actions.multi button { margin: 0px 5px 0px 5px; width: calc(50% - 20px); display: inline-block; vertical-align: top; } .popover .wrap .actions button.primary { margin-bottom: 10px; font-weight: 600; } .popover .wrap .actions.multi button.primary { margin-bottom: 0px; } .popover .wrap .actions button.secondary { font-weight: 600; } /* +++++++++++++++++++++++++++++++++++++++++++++++++ */ /* LOCATIONS */ /* +++++++++++++++++++++++++++++++++++++++++++++++++ */ .locations { padding: 0px 0px 0px 0px; } .locations .location { /* display: inline-block; */ vertical-align: top; /* width: calc(50% - 20px); */ padding: 0px 10px 0px 10px; } .locations .location .image { width: 100%; padding-bottom: 66.67%; background-size: cover; background-repeat: no-repeat; background-position: center; } .locations .location .image.sf { background-image: url("/_images/location-sf-bw.jpg"); } .locations .location .image.dc { background-image: url("/_images/location-dc-bw.jpg"); } .locations .location .head { font-weight: 600; border-top: 0.5px solid #000000; padding: 10px 0px 5px 0px; margin-top: 10px; } .locations .location .details { padding: 0px 0px 30px 0px; } .locations .location .details a { display: block; } .locations .location .title { padding: 15px 10px 0px 10px; color: #000000; } .locations .location .subtitle { padding: 0px 10px 15px 10px; margin: 0px 0px 15px 0px; /* font-size: 12px; line-height: 20px; text-transform: uppercase; */ color: #999999; border-bottom: 0.5px solid #999999; } .locations .location .details .status { padding: 0px 10px 15px 10px; margin: 0px 0px 15px 0px; /* font-size: 13px; line-height: 25px; */ border-bottom: 0.5px solid #999999; } .locations .location .details .status .link { display: inline-block; /* font-size: 13px; line-height: 25px; */ padding: 0px 0px 0px 0px; margin: 0px 0px 0px 0px; width: auto; } .locations .location .details .address { display: inline-block; vertical-align: top; width: calc(50% - 20px); min-width: 210px; padding: 0px 10px 0px 10px; /* color: #555555; */ /* font-size: 13px; line-height: 25px; */ } .locations .location .details .address .group { padding: 0px 0px 30px 0px; } .locations .location .details .hours { display: inline-block; vertical-align: top; width: calc(50% - 20px); padding: 0px 10px 0px 10px; /* font-size: 13px; line-height: 25px; */ } .locations .location .details .hours .day { } .locations .location .details .hours .day div { float: left; width: 70px; color: #999999; } @media all and (max-width: 480px) { .locations .location .details .address, .locations .location .details .hours { display: block; width: calc(100% - 20px); } .ships { } .ships .ship { font-size: 14px; line-height: 20px; } .ships .ship.nomobile { /* display: none; */ } .ships .ship:first-of-type { /* display: none; */ } .promo { font-size: 14px; line-height: 20px; } } /* +++++++++++++++++++++++++++++++++++++++++++++++++ */ /* IG */ /* +++++++++++++++++++++++++++++++++++++++++++++++++ */ .ig { display: flex; flex-wrap: wrap; margin: 0px 10px 10px 10px; } .ig a { width: calc(25% - 20px); margin: 0 0; padding: 0 0; margin: 10px 10px 10px 10px; } .ig a img { display: block; width: 100%; height: 100%; max-width: 100%; object-fit: cover; object-position: center; margin: 0 0; padding: 0 0; vertical-align: top; } @media all and (max-width: 480px) { .ig a { width: calc(50% - 20px); } } /* +++++++++++++++++++++++++++++++++++++++++++++++++ */ /* PHOTOS */ /* +++++++++++++++++++++++++++++++++++++++++++++++++ */ .photos { padding: 0px 10px 10px 10px; } .photos img { outline: 0.5px solid #ffffff; cursor: zoom-in; } .photos img.half { width: 50%; float: left; } .photos img.full { width: 100%; float: left; } .photos img.third { width: 33.33%; float: left; } .photos img.portrait { width: 30.77%; float: left; } .photos img.landscape { width: 69.23%; float: left; } @media all and (max-width : 767px) { .photos img.half, .photos img.third, .photos img.landscape, .photos img.portrait { width: 100%; } } /* +++++++++++++++++++++++++++++++++++++++++++++++++ */ /* ZOOM - UNUSED */ /* +++++++++++++++++++++++++++++++++++++++++++++++++ */ .zoom { position: fixed; left: 0px; top: 0px; right: 0px; bottom: 0px; width: auto; height: auto; /*background-color: rgba(0,0,0,0.75);*/ background-color: #ffffff; z-index: 99999; display: flex; flex-direction: column; align-items: center; justify-content: center; cursor: zoom-out; } .zoom .close { position: absolute; left: auto; top: 0px; right: 0px; bottom: auto; width: 48px; height: 48px; font-size: 24px; line-height: 48px; text-align: center; color: #ffffff; background-color: rgba(0,0,0,0.2); } .zoom img { height: auto; width: auto; /*max-width: calc(100% - 64px); max-height: calc(100% - 64px);*/ max-width: 100%; max-height: 100%; } /* +++++++++++++++++++++++++++++++++++++++++++++++++ */ /* ABOUT */ /* +++++++++++++++++++++++++++++++++++++++++++++++++ */ .about { margin: 0px 0px 0px 0px; padding: 0px 0px 0px 0px; overflow: visible; } .about .cover { /* margin-top: -30px; */ margin-bottom: 20px; position: relative; width: 100%; } .about .cover .image { text-align: center; } .about .cover .image img { display: block; width: 540px; height: 100%; max-width: 100%; object-fit: cover; object-position: center; margin: 0 auto; } .about .copy { margin: 0px auto; padding: 20px 20px 0px 20px; max-width: 540px; color: #000000; } .about .copy h1 { padding: 0px 0px 20px 0px; font-weight: 600; } .about .copy p { -webkit-column-break-inside: avoid; page-break-inside: avoid; break-inside: avoid; } .about .book { display: block; font-weight: 600; background-color: #34c759; color: #ffffff; padding: 10px 10px 10px 10px; width: calc(100% - 20px); border-radius: 4px; text-align: center; } /* +++++++++++++++++++++++++++++++++++++++++++++++++ */ /* CONTENT - COPY */ /* +++++++++++++++++++++++++++++++++++++++++++++++++ */ .content-copy { padding: 20px 20px 0px 20px; margin: 0px 0px 0px 0px; column-count: 4; column-gap: 40px; } .content-copy .sub { max-width: 576px; -webkit-column-break-inside: avoid; /* Chrome, Safari, Opera */ page-break-inside: avoid; /* Firefox */ break-inside: avoid; /* IE 10+ */ } .content-copy h6 { padding-top: 5px; padding-bottom: 5px; color: #999999; } .content-copy p, .content-copy ul { /* color: #555555; */ } .content-copy a { /* color: #d6ab4d; */ color: #555555; } @media all and (max-width : 1600px) { .content-copy { column-count: 3; } } @media all and (max-width : 1200px) { .content-copy { column-count: 2; } } @media all and (max-width : 979px) { .content-copy { column-count: 2; } } @media all and (max-width : 767px) { .content-copy { column-count: 1; } } @media all and (max-width : 480px) { .content-copy { column-count: 1; column-gap: 12px; } } @media all and (max-width : 320px) { .content-copy { column-count: 1; column-gap: 12px; } } /* +++++++++++++++++++++++++++++++++++++++++++++++++ */ /* CONTENT - SERVICES */ /* +++++++++++++++++++++++++++++++++++++++++++++++++ */ .content-services { padding: 20px 10px 0px 10px; margin: 10px 0px 0px 0px; column-count: 3; column-gap: 20px; /* overflow: visible; clear: both; border-top: 0.5px solid #999999; */ } .content-services .sub { break-inside: avoid; padding: 0px 0px 20px 0px; } .content-services .title { padding: 0px 10px 0px 10px; font-weight: 600; } .content-services .more { padding: 0px 10px 0px 10px; font-size: 13px; line-height: 20px; } .content-services table { table-layout: fixed; } .content-services thead tr { border-bottom: 0.5px solid #999999; } .content-services th { padding: 10px 10px 10px 10px; font-size: 13px; line-height: 20px; text-align: center; color: #555555; } .content-services td { padding: 10px 10px 10px 10px; } .content-services th.label, .content-services td.label { font-size: 13px; line-height: 20px; width: 180px; } .content-services td span { font-size: 13px; line-height: 20px; } .content-services .number { text-align: center; } @media all and (max-width : 1600px) { .content-services { column-count: 3; } } @media all and (max-width : 1200px) { .content-services { column-count: 2; } } @media all and (max-width : 979px) { .content-services { column-count: 2; } } @media all and (max-width : 767px) { .content-services { column-count: 1; } } /* +++++++++++++++++++++++++++++++++++++++++++++++++ */ /* CONTENT - PRESS */ /* +++++++++++++++++++++++++++++++++++++++++++++++++ */ .content-press { padding: 20px 10px 0px 10px; margin: 10px 10px 0px 10px; overflow: visible; clear: both; border-top: 0.5px solid #999999; } .content-press .head { padding: 5px 0px 5px 0px; /* font-weight: 600;*/ width: 100px; display: inline-block; vertical-align: top; margin-right: -100px; } .content-press .articles { display: inline-block; vertical-align: top; margin-left: 100px; width: calc(100% - 100px); } .content-press .articles .article { position: relative; display: inline-block; vertical-align: top; padding: 0px 0px 30px 0px; width: 25%; vertical-align: top; } .content-press .articles .article .brand { margin: 0px 0px 0px 0px; padding: 5px 10px 5px 10px; color: #000000; } .content-press .articles .article .description { margin: 0px 0px 0px 0px; padding: 5px 10px 5px 10px; } .content-press .articles .article .description .title { color: #555555; } @media all and (max-width: 1600px) { .content-press .articles .article { /* width: 20%; */ /* width: 25%; */ } } @media all and (max-width: 1338px) { .content-press .articles .article { width: 33%; } } @media all and (max-width: 1080px) { /* .content-press .articles .article { width: 33%; } */ } @media all and (max-width: 800px) { .content-press .articles .article { width: 50%; } } @media all and (max-width: 480px) { .content-press .articles .article { width: 100%; } } /* +++++++++++++++++++++++++++++++++++++++++++++++++ */ /* SIGNATURE */ /* +++++++++++++++++++++++++++++++++++++++++++++++++ */ .signature { display: none; margin: 10px 10px 10px 10px; } .signature .title { border-top: 0.5px solid #000000; padding: 10px 10px 20px 10px; font-weight: 600; } .signature .content { padding: 10px 10px 10px 10px; border-top: 0.5px solid #999999; } /* +++++++++++++++++++++++++++++++++++++++++++++++++ */ /* MEDIA - NON-CONTENT */ /* +++++++++++++++++++++++++++++++++++++++++++++++++ */ @media all and (min-width: 1260px) { .path .item select { width: calc(20% - 20px); } .grid:not(.samples) .item { width: calc(25% - 20px); } } @media all and (max-width: 1024px) { /* .grid.home .item { width: calc(50% - 20px); } */ } @media all and (max-width: 1023px) { menu .group.flags { column-count: 3; } menu .group.brand { column-count: 3; } menu .group.category { column-count: 3; } menu .group.clearance { column-count: 3; } menu .group.collection { column-count: 3; } } @media all and (max-width: 768px) { .path .item select { width: calc(33.33% - 20px); } .grid:not(.samples) .item { width: calc(50% - 20px); } .cart .group { width: 100%; } } @media all and (max-width: 767px) { menu .group.main { width: calc(50% - 20px); column-count: 1; } } @media all and (max-width: 414px) { /* body { margin: 10px 0px 10px 0px; } */ footer .section { width: calc(100% - 0px); } .locations .location { width: calc(100% - 20px); } .path .item select { width: calc(50% - 20px); } .product .details { /* padding-top: 20px; text-align: center; */ } .large { /* font-size: 18px; line-height: 30px; */ } .grid .item { /* width: calc(100% - 20px); */ font-size: 13px; line-height: 20px; } .grid .item button { font-size: 13px; line-height: 20px; } /* .grid .item .image { position: relative; width: calc(75%); padding-bottom: calc(75%); margin: 0 auto; } .grid .item .details { text-align: center; padding-left: 0px; padding-right: 0px; } */ /* .grid .item button { font-size: 15px; line-height: 20px; } .grid .item .details { padding: 10px 10px 0px 10px; } */ .grid .item .actions { /* padding: 5px 0px 0px 0px; */ /* display: none; */ } /* .grid .item .details .label { white-space: nowrap; text-overflow: ellipsis; overflow: hidden; } */ .grid .item button.favorite { width: 40px; height: 40px; right: 5px; bottom: 0px; display: none; } /* .grid.home .item { width: calc(100% - 20px); } */ .grid .item .image .overlay { font-size: 12px; padding-top: 6px; padding-bottom: 6px; } .source > div { width: calc(100% - 20px); } .product > div { /* display: inline-block; vertical-align: top; */ width: calc(100% - 20px); /* margin-bottom: 0px; padding-bottom: 0px; */ } .product .location { position: -webkit-sticky; position: sticky; top: 70px; background-color: #ffffff; z-index: 10; } .product .empty { display: none; } .cart .group { width: 100%; } nav a.logo { left: calc(50% - 90px); right: calc(50% - 90px); width: 180px; background-size: auto 22px; } /* nav .links .icon.search { display: none; } */ menu .group.flags { column-count: 2; } menu .group.brand { column-count: 2; } menu .group.category { column-count: 2; } menu .group.clearance { column-count: 2; } menu .group.collection { column-count: 2; } /* menu { top: 0px; } */ /* body { margin: 10px 5px 5px 5px; } * { } .nav { } nav .item { margin-left: 5px; margin-right: 5px; } .nav .item { margin-left: 5px; margin-right: 5px; } .grid .item { margin-left: 5px; margin-right: 5px; margin-bottom: 10px; } */ } @media all and (max-width: 375px) { /* .grid.home .item { width: calc(100% - 20px); } */ nav .links .icon.search { display: none; } } @media all and (max-width: 320px) { .grid:not(.samples) .item { width: calc(100% - 20px); } /* .grid.home .item { width: calc(100% - 20px); } */ menu .group.main { width: calc(100% - 20px); column-count: 1; } menu .group.flags { column-count: 1; } menu .group.brand { column-count: 1; } menu .group.category { column-count: 1; } menu .group.clearance { column-count: 1; } menu .group.collection { column-count: 1; } } @media all and (max-width: 666px) { /* body { font-size: 15px; line-height: 20px; } * { font-size: 15px; line-height: 20px; } .grid .item { padding-bottom: 40px; } .grid .item .details.open { bottom: 40px; } nav .item .logo { height: 20px; background-size: auto 20px; } .grid .item.tint { width: calc(100% - 20px); } .grid .item.tint .brand { position: relative; } .grid .item.tint .brand .description { display: none; } .nav .item .hide { display: none; } */ } @media all and (max-width: 567px) { /* .nav .item { width: calc(50% - 20px); } .nav .item .hide { display: inline; } */ } @media all and (max-width: 375px) { /* .grid:not(.samples) .item { width: calc(100% - 20px); } */ } @media all and (max-width: 320px) { /* .nav .item .hide { display: none; } */ } @media screen and (orientation: portrait) { /* .home .item .image { width: calc(100% - 40px); height: 100%; margin: 0px 20px 0px 20px; } */ /* .home .item img { object-fit: cover; } */ /* .home .item .image { width: 100%; margin: 0px 0px 0px 0px; } */ } /* +++++++++++++++++++++++++++++++++++++++++++++++++ */ /* SIGNATURE */ /* +++++++++++++++++++++++++++++++++++++++++++++++++ */ @media print { nav .links .icon { display: none; } footer { display: none; } /* .trustpilot { display: none; } */ .approval.show { display: none; } .livechat_button { display: none; } .signature { display: block; } .noprint { display: none; } } .link { /* color: #6abcd7 !important; */ /* color: #46cdd97 !important; */ /* color: #eb5528 !important; */ /* color: #d24319 !important; */ /* color: #3b5655 !important; */ /* color: #d6ab4d !important; LIGHT VERSION OF SALAMANDAR */ /* TODO MOVE TO END TO DEAL WITH IMPORTANT */ /* color: #d6ab4d !important; */ cursor: pointer; } .link span { color: inherit; border-bottom: 0.5px solid #cccccc; /* dotted #34c759 #3b9f53 #999999; */ /* white-space: normal; word-wrap: break-word; */ height: auto; position: relative; } a.link span { border-bottom: 0.5px solid #cccccc; /* SAFARI REQUIRED THIS } @media (hover: hover) { .link span:hover { border-bottom: 0.5px solid #333333; /* dotted #41a55a #333333; */ } } </style> <script> // localStorage.clear(); var statusError = { status: 'error', type: 'status', title: 'Error', message: 'An unknown error has occured. We have been notified of the issue. Reload the page and try again (S1).', secondary: 'Ok', primary: null, primaryAction: null, } var catchError = { status: 'error', type: 'catch', title: 'Error', message: 'An unknown error has occured. We have been notified of the issue. Reload the page and try again (C1).', secondary: 'Ok', primary: null, primaryAction: null, } var formError = { status: 'error', type: null, title: 'Error', message: 'See errors below.' } var addCartError = { status: 'error', type: null, title: 'Error', message: 'Product was not added, cart contains max available products.' } var addCartIssue = { status: 'issue', type: null, title: 'Error', message: '' // DYNAMIC } var addCartSuccess = { status: 'success', type: null, title: 'Success', message: '' // DYNAMIC } var connectJoinSuccess = { status: 'success', type: null, title: 'Success', message: 'A confirmation text message has been sent.' } var connectJoinError = { status: 'error', type: null, title: 'Error', message: '' // DYNAMIC } var notifyAddSuccess = { status: 'success', type: null, title: 'Success', message: 'Notification was saved.' } var notifyAddError = { status: 'error', type: null, title: 'Error', message: '' // DYNAMIC } var notifyRemoveSuccess = { status: 'success', type: null, title: 'Success', message: 'Notification was removed.' } function getCookie(cname) { let name = cname + "="; let decodedCookie = decodeURIComponent(document.cookie); let ca = decodedCookie.split(';'); let length = ca.length; for (let i = 0; i < length; i++) { let c = ca[i]; while (c.charAt(0) == ' ') { c = c.substring(1); } if (c.indexOf(name) == 0) { return c.substring(name.length, c.length); } } return ""; } function setCookie(cname, cvalue, exdays) { const d = new Date(); d.setTime(d.getTime() + (exdays * 24 * 60 * 60 * 1000)); let expires = "expires="+d.toUTCString(); document.cookie = cname + "=" + cvalue + ";" + expires + ";secure;path=/"; } function checkCookie(cname, cvalue) { let value = getCookie(cname); if (value != "") { // alert(cname); } else { setCookie(cname, cvalue, 365); } } function copyToClipboard(obj,event) { var range = document.createRange(); range.selectNode(obj); window.getSelection().removeAllRanges(); // CLEAR CURRENT SELECTION window.getSelection().addRange(range); // SELECT TEXT document.execCommand("copy"); window.getSelection().removeAllRanges(); // DESELECT } var capturedIngredients = []; function switchVariant(obj,event) { location.href = obj.value; } function toggleNote(obj,event) { if (obj.classList.contains('show')) { obj.classList.remove('show'); } else { obj.classList.add('show'); } } function toggleInfo(obj,event) { var info = obj.parentNode.querySelector('.details.open'); if (info) { info.classList.remove('open'); if (info.parentNode.id == obj.id) { return; } } info = obj.querySelector('.details'); if (info) { info.classList.add('open'); } } function toggleAddToCartState(enable,add,quantity) { if (enable) { if (quantity) { quantity.disabled = false; } if (add) { add.disabled = false; add.innerHTML = 'Add to Cart'; } } else { if (quantity) { if (typeof(cartQuantity) != 'undefined') { cartQuantity.disabled = true; } } if (add) { add.disabled = true; add.innerHTML = 'Adding ...'; } if (typeof(statusBanner) != 'undefined') { statusBanner.classList.remove('show'); statusBanner.classList.remove('success'); statusBanner.classList.remove('issue'); statusBanner.classList.remove('error'); statusBanner.textContent = ''; } else { var banner = add.parentNode.querySelector('.banner'); if (banner) { banner.classList.remove('show'); banner.classList.remove('success'); banner.classList.remove('issue'); banner.classList.remove('error'); banner.textContent = ''; } } } } function updateCartTotals(cells) { if (!cells[0]) { return; } var quantity = 0; var total = 0; var amount = 0; var subtotal = 0; cells.forEach(function(cell,i) { quantity = parseInt(cell.dataset.quantity); total = parseFloat(cell.dataset.total); amount = quantity * total; subtotal += amount; cell.innerHTML = '$' + amount.toFixed(2); }); cartSubtotal.innerHTML = '$' + subtotal.toFixed(2); } function changeShipMethod(obj,event) { if (obj.value == 'ship') { addressGroup.classList.add('show'); } else { addressGroup.classList.remove('show'); } } function continueToPayment() { var shipErrors = false; var token = getToken(); var method = 'ship'; // document.getElementById("method"); var fname = document.getElementById("fname"); var lname = document.getElementById("lname"); var email = document.getElementById("email"); var phone = document.getElementById("phone"); var recipient = document.getElementById("recipient"); var address = document.getElementById("address"); var unit = document.getElementById("unit"); var locality = document.getElementById("locality"); var province = document.getElementById("province"); var postalCode = document.getElementById("postalCode"); var note = document.getElementById("note"); var signup = document.getElementById("signup"); var fnameError = document.getElementById("fnameError"); var lnameError = document.getElementById("lnameError"); var emailError = document.getElementById("emailError"); var phoneError = document.getElementById("phoneError"); var addressError = document.getElementById("addressError"); var localityError = document.getElementById("localityError"); var provinceError = document.getElementById("provinceError"); var postalCodeError = document.getElementById("postalCodeError"); if (isEmpty(fname.value)) { fnameError.textContent = "Required"; shipErrors = true; } else { fnameError.textContent = ""; fname.value = trimString(fname.value); } if (isEmpty(lname.value)) { lnameError.textContent = "Required"; shipErrors = true; } else { lnameError.textContent = ""; lname.value = trimString(lname.value); } if (isEmpty(email.value)) { emailError.textContent = "Required"; shipErrors = true; } else { email.value = trimString(email.value); if (isEmail(email.value)) { email.value = email.value.toLowerCase(); emailError.textContent = ""; } else { emailError.textContent = "Check format"; shipErrors = true; } } if (isEmpty(phone.value)) { phoneError.textContent = "Required"; shipErrors = true; } else { phone.value = trimString(phone.value); phone.value = scrubPhoneNumber(phone.value); if (isPhoneNumber(phone.value)) { phone.value = formatPhoneNumber(phone.value); phoneError.textContent = ""; } else { phoneError.textContent = "Must contain 10 numbers"; shipErrors = true; } } if (isEmpty(recipient.value)) { recipient.textContent = ""; } else { recipient.value = trimString(recipient.value); } if (isEmpty(address.value)) { addressError.textContent = "Required"; shipErrors = true; } else { addressError.textContent = ""; } if (isEmpty(unit.value)) { unit.textContent = ""; } else { unit.value = trimString(unit.value); } if (isEmpty(locality.value)) { localityError.textContent = "Required"; shipErrors = true; } else { localityError.textContent = ""; locality.value = trimString(locality.value); } if (isEmpty(province.value)) { provinceError.textContent = "Required"; shipErrors = true; } else { provinceError.textContent = ""; province.value = trimString(province.value); } if (isEmpty(postalCode.value)) { postalCodeError.textContent = "Required"; shipErrors = true; } else { postalCode.value = trimString(postalCode.value); if (isValidPostalCode(postalCode.value)) { postalCodeError.textContent = ""; postalCodeError.textContent = ""; } else { postalCodeError.textContent = "Must be 5 or 9 numbers"; shipErrors = true; } } if (shipErrors) { showBannerMessage(formError,null,null,null); return false; } hideBannerMessage(null); var data = { token: token, method: 'ship', // method.value, fname: fname.value, lname: lname.value, email: email.value, phone: scrubPhoneNumber(phone.value), recipient: recipient.value, address: address.value, unit: unit.value, locality: locality.value, province: province.value, postalCode: postalCode.value, note: note.value, // signup: signup.checked, country: country.value, } fetch('/updateShipTo/', { method: 'POST', // or 'PUT' headers: { 'Content-Type': 'application/json', }, body: JSON.stringify(data), }).then((response) => response.json()).then((result) => { if (result.hasOwnProperty('status')) { if (result.status == 'error' || result.status == 'issue') { showBannerMessage(result,null,null,null); return; } } else { statusError.subject = '/updateShipTo/'; toggleInfoPopover(null,null,statusError,null); return; } hideBannerMessage(null); window.location.href = '/payment/' + token; }).catch((error) => { catchError.error = error; catchError.subject = '/updateShipTo catch/'; toggleInfoPopover(null,null,catchError,null); }); return false; } function removeCartProducts() { toggleProcessing(); var token = getToken(); var data = { token: token }; fetch('/removeCartProducts/', { method: 'POST', // or 'PUT' headers: { 'Content-Type': 'application/json', }, body: JSON.stringify(data), }).then((response) => response.json()).then((result) => { if (result.hasOwnProperty('status')) { if (result.status == 'error' || result.status == 'issue') { showBannerMessage(result,null,null,null); return; } } else { statusError.subject = '/removeCartProducts/'; toggleInfoPopover(null,null,statusError,null); return; } // location.reload(); // TODO LAZY BUT EASY window.location.replace(basketLink.href); // TODO LAZY BUT EASY }).catch((error) => { catchError.error = error; catchError.subject = '/removeCartProducts catch/'; toggleInfoPopover(null,null,catchError,null); }); } function showGridFilter(obj) { var filter = obj.dataset.filter; var shell = document.querySelector('[data-shell="' + filter + '"]'); obj.classList.add('selected'); if (shell) { shell.classList.add('show'); var menu = shell.querySelector('.menu'); if (menu) { var rect = obj.getBoundingClientRect(); menu.style.top = rect.y + rect.height + 'px'; menu.style.left = rect.x + 'px'; menu.style.minWidth = rect.width + 'px'; rect = menu.getBoundingClientRect(); var style = window.getComputedStyle(obj.parentNode); if (rect.top + rect.height > window.innerHeight) { var offset = 15; // parseInt(style.marginBottom); REMOPVED BOTTOM MARGIN menu.style.bottom = offset + 'px'; // window.innerHeight - rect.top - offset + 'px'; } rect = menu.getBoundingClientRect(); if (rect.x + rect.width > window.innerWidth) { menu.style.left = window.innerWidth - rect.width - parseInt(style.paddingRight) + 'px'; // } // SCROLL WILL NOT WORK WHEN RESIZED DYNAMICALLY // if (rect.left + (rect.width * 2) < window.innerWidth - parseInt(style.marginLeft) - parseInt(style.marginRight)) { // // menu.style.width = (rect.width * 2) + 'px'; // window.innerHeight - rect.top - offset + 'px'; // // } // console.log(rect.left + (rect.width * 2), window.innerWidth - parseInt(style.marginLeft) - parseInt(style.marginRight)); } document.body.classList.add('noscroll'); } } function hideGridFilter(obj,event) { event.stopPropagation(); var shells = document.querySelectorAll('[data-shell]'); if (shells) { shells.forEach(function(shell,i) { shell.classList.remove('show'); }); } var filters = document.querySelectorAll('[data-filter]'); if (filters) { filters.forEach(function(filter,i) { filter.classList.remove('selected'); }); } document.body.classList.remove('noscroll'); } function filterRegimen(obj,id) { var grid = document.querySelector('.grid'); var value = id; if (grid) { var items = grid.querySelectorAll('[data-regimen]'); var button = document.querySelector('[data-filter="regimen"]'); if (button) { var htmlString = '<span>'; if (obj.dataset.parent) { htmlString += obj.dataset.parent + ' / '; } htmlString += obj.textContent; htmlString += '</span>'; button.innerHTML = htmlString; } if (items) { items.forEach(function(item,i) { if (value == 'all') { if (item.classList.contains('regimen')) { item.style.display = 'flex'; } else { item.parentNode.style.display = 'flex'; } } else { if (value == item.dataset.regimen) { if (item.classList.contains('regimen')) { item.style.display = 'flex'; } else { item.parentNode.style.display = 'flex'; } } else { if (item.classList.contains('regimen')) { item.style.display = 'none'; } else { item.parentNode.style.display = 'none'; } } } }); } window.scrollTo(0, 0); } } function filterGrid(obj,id,type,source) { if (type == 'filter') { var grid = document.querySelector('.grid'); if (grid) { var items = grid.querySelectorAll('[data-filter]'); var value = id; var button = document.querySelector('[data-filter="' + source + '"]'); if (source == 'subcategory') { button = document.querySelector('[data-filter="category"]'); } if (button) { var htmlString = '<span>'; if (obj.dataset.parent) { htmlString += obj.dataset.parent + ' / '; } htmlString += obj.textContent; htmlString += '</span>'; button.innerHTML = htmlString; } if (items) { items.forEach(function(item,i) { if (value == 'all') { if (item.classList.contains('regimen')) { item.style.display = 'flex'; } else { item.parentNode.style.display = 'flex'; } } else { if (source == 'subcategory' && value == item.dataset.subcategory) { if (item.classList.contains('regimen')) { item.style.display = 'flex'; } else { item.parentNode.style.display = 'flex'; } } else if (value == item.dataset.filter) { if (item.classList.contains('regimen')) { item.style.display = 'flex'; } else { item.parentNode.style.display = 'flex'; } } else { if (item.classList.contains('regimen')) { item.style.display = 'none'; } else { item.parentNode.style.display = 'none'; } } } }); } } window.scrollTo(0, 0); } else { // TYPE == MASTER // if (type == 'Brand') { // // window.location.href = '/brand/' + obj.value; // // } else if (type == 'Category') { // // window.location.href = '/category/' + obj.value; // // } } } function showExceptions() { var error = { status: 'error', type: 'payment', title: 'Discount Exceptions', message: 'Does not apply to items on sale and the brand Vintner\'s Daughter.', secondary: 'Ok', primary: null, primaryAction: null, } error.subject = '/showExceptions/'; toggleInfoPopover(null,null,error,null); } function updateCartShipping(obj,replace) { var value = obj.options[obj.selectedIndex].value; localStorage.setItem('shippingService',value); setCartLink(); if (replace) { localStorage.setItem('shippingUpdate','true'); window.location.replace(basketLink.href); localStorage.setItem('shippingDays',0); // FORCES UPDATE WHEN RETURN TO PROODUCT PAGE } } function updateCartSig(obj,replace) { var value = obj.options[obj.selectedIndex].value; localStorage.setItem('shippingSig',value); setCartLink(); if (replace) { localStorage.setItem('shippingUpdate','true'); window.location.replace(basketLink.href); localStorage.setItem('shippingDays',0); // FORCES UPDATE WHEN RETURN TO PROODUCT PAGE // NOT SURE IF NEEDED } } function updateCartTax(obj,replace) { var value = obj.options[obj.selectedIndex].value; localStorage.setItem('taxLocation',value); localStorage.setItem('taxLocationAuto','false'); setCartLink(); if (replace) { localStorage.setItem('shippingUpdate','true'); window.location.replace(basketLink.href); } } // function updateCartTrustpilot(obj,replace) { // // var value = obj.checked; // localStorage.setItem('trustpilot',value); // // } function updateCartNoinvoice(obj,replace) { var value = obj.checked; localStorage.setItem('noinvoice',value); } function updateCartNote(obj,replace) { var value = obj.value; localStorage.setItem('note',value); } function sendNexmo(data) { fetch('/sendNexmo/', { method: 'POST', // or 'PUT' headers: { 'Content-Type': 'application/json', }, body: JSON.stringify(data), }).then((response) => response.json()).then((result) => { // NADA }).catch((error) => { // NADA }); } function updateCartProduct(obj) { toggleProcessing('Updating Your Cart'); var id = obj.dataset.id; var inventory = +obj.dataset.inventory; var value = +obj.value var quantity = inventory < value ? inventory : value; var exceeded = inventory < value ? true : false; var data = { // TOKEN NOT NEEDED id: id, quantity: quantity, }; fetch('/updateCartProduct/', { method: 'POST', // or 'PUT' headers: { 'Content-Type': 'application/json', }, body: JSON.stringify(data), }) .then((response) => response.json()).then((result) => { if (result.hasOwnProperty('status')) { if (result.status == 'error' || result.status == 'issue') { showBannerMessage(result,null,null,null); return; } } else { statusError.subject = '/updateCartProduct/'; toggleInfoPopover(null,null,statusError,null); return; } var element = document.getElementById('total_' + id); if (element) { element.dataset.quantity = obj.value; } var cells = document.querySelectorAll('[data-total]'); // hideBannerMessage(null); // updateCartTotals(cells); // getCartCount(); // location.reload(); // TODO LAZY BUT EASY window.location.replace(basketLink.href + '?exceeded=' + exceeded + '&quantity=' + quantity); // TODO LAZY BUT EASY if (exceeded) { var product = 'Unkown'; if (obj) { if (obj.parentNode) { if (obj.parentNode.parentNode) { if (obj.parentNode.parentNode.dataset) { if (obj.parentNode.parentNode.dataset.item) { product = obj.parentNode.parentNode.dataset.item; } } } } } var data = { text: product + ' Exceeded ' + value + ' / ' + quantity } sendNexmo(data); } }).catch((error) => { catchError.error = error; catchError.subject = '/updateCartProduct catch/'; toggleInfoPopover(null,null,catchError,null); }); } function hideBannerMessage(obj) { if (typeof(statusBanner) != 'undefined') { statusBanner.classList.remove('show'); statusBanner.classList.remove('success'); statusBanner.classList.remove('issue'); statusBanner.classList.remove('error'); statusBanner.textContent = ''; } else if (obj) { obj.classList.remove('show'); obj.classList.remove('success'); obj.classList.remove('issue'); obj.classList.remove('error'); obj.textContent = ''; } else { var banner = add.parentNode.querySelector('.banner'); if (banner) { banner.classList.remove('show'); banner.classList.remove('success'); banner.classList.remove('issue'); banner.classList.remove('error'); banner.textContent = ''; } } } function showBannerMessage(result,error,style,obj) { // SOURCE ERROR MESSAGE IF IT EXISTS var banner = null; if (result) { if (typeof(statusBanner) != 'undefined' && !obj) { // PAGE MAY HAVE STATUS BANNER WHICH WILL OVERRIDE BASED OBJ banner = statusBanner; } else { if (style) { var grid = document.querySelector('.' + style); if (grid) { banner = document.createElement("div"); grid.textContent = ''; grid.appendChild(banner); banner.classList.add('banner'); banner.classList.add('error'); } } else if (obj) { if (obj.parentNode) { var inserted = obj.parentNode.querySelector('.banner'); if (inserted) { banner = inserted; } else { banner = document.createElement("div"); } obj.parentNode.insertBefore(banner, obj); banner.classList.add('banner'); } } } if (!banner) { return; } if (result.status == 'error') { banner.classList.add('error'); banner.classList.remove('issue'); banner.classList.remove('success'); if (!obj) { window.scrollTo(0, 0); } } else if (result.status == 'issue') { banner.classList.remove('error'); banner.classList.add('issue'); banner.classList.remove('success'); if (!obj) { window.scrollTo(0, 0); } } else if (result.status == 'success') { banner.classList.remove('error'); banner.classList.remove('issue'); banner.classList.add('success'); } banner.textContent = result.message; banner.classList.add('show'); } if (error) { // TODO LOG/SEND ERROR } } function removeFromCart(id) { toggleProcessing('Updating Your Cart'); var data = { // TODO ADD TOKEN id: id, }; fetch('/removeFromCart/', { method: 'POST', // or 'PUT' headers: { 'Content-Type': 'application/json', }, body: JSON.stringify(data), }).then((response) => response.json()).then((result) => { if (result.hasOwnProperty('status')) { if (result.status == 'error' || result.status == 'issue') { showBannerMessage(result,null,null,null); return; } } else { statusError.subject = '/removeFromCart/'; toggleInfoPopover(null,null,statusError,null); return; } hideBannerMessage(null); var element = document.getElementById('row_' + id); if (element) { element.parentNode.removeChild(element); } var cells = document.querySelectorAll('[data-total]'); if (!cells[0] && typeof(cartTableBody) != 'undefined') { cartTableBody.innerHTML = '<tr><td class="empty demphasis">Cart is empty</td></tr>'; if (typeof(cartActions) != 'undefined') { cartActions.parentNode.removeChild(cartActions); } } else { updateCartTotals(cells); } // getCartCount(); // location.reload(); // TODO LAZY BUT EASY window.location.replace(basketLink.href); // TODO LAZY BUT EASY }).catch((error) => { catchError.error = error; catchError.subject = '/removeFromCart catch/'; toggleInfoPopover(null,null,catchError,null); }); } function addToCart(obj,event,id,type) { if (event) { event.stopPropagation(); } if (type == 'Buy') { try { if (obj) { fathom.trackEvent('Buy - Product'); } else { fathom.trackEvent('Buy - Google'); } } catch(error) { // NADA } } var token = getToken(); var quantity = 1; var max = 1; if (type == 'Sample') { toggleProcessing('Updating Your Cart'); max = 2; } else if (type == 'DavinesGift') { toggleProcessing('Updating Your Cart'); max = 1; } else if (type == 'Wrap') { toggleProcessing('Updating Your Cart'); max = 1; } else if (type == 'Card') { toggleProcessing('Updating Your Cart'); max = 1; } else if (type == 'Buy') { if (typeof(varQty) != 'undefined') { // BUY PAGE toggleProcessing('Updating Your Cart'); max = varQty; } else { // PRODUCT PAGE if (obj.dataset.hasOwnProperty('inventory')) { max = parseInt(obj.dataset.inventory); } } } else { if (typeof(cartQuantity) != 'undefined') { quantity = parseInt(cartQuantity.value); max = parseInt(cartQuantity.dataset.max); toggleAddToCartState(false,obj,cartQuantity); } else { if (obj.dataset.hasOwnProperty('inventory')) { max = parseInt(obj.dataset.inventory); } toggleAddToCartState(false,obj,null); } } var data = { token: token, quantity: quantity, max: max, id: id, }; try { var params = { 'cascadeCreate': true, } const queryString = window.location.search; const urlParams = new URLSearchParams(queryString); if (urlParams.has('recommId')) { params.recommId = urlParams.get('recommId'); } var recombeeClient = new recombee.ApiClient('veer-wander-prod', '2XQwP5AWJVVkkM3CTkr4mchtH1Zh37x2z5AMRX4zFJcPbzLDNNP5kIlmIHQ0FB5n', {region: 'us-west'}); recombeeClient.send(new recombee.AddCartAddition( token, // USER id, // ITEM params )).then(function(response) { // NADA }).catch(function(error) { // NADA }); } catch (error) { // NADA } fetch('/addToCart/', { method: 'POST', // or 'PUT' headers: { 'Content-Type': 'application/json', }, body: JSON.stringify(data), }).then((response) => response.json()).then((result) => { var enabled = true; if (result.hasOwnProperty('status')) { if (result.status == 'error' || result.status == 'issue') { enabled = false; if (obj) { showBannerMessage(result,null,null,obj); } result.subject = '/addToCart status error/issue/'; sendError(result); } } else { catchError.subject = '/addToCart no status/'; toggleInfoPopover(null,null,catchError,null); if (type == 'Sample') { toggleSamplesPopover(obj,event); toggleProcessing(); } else if (type == 'DavinesGift') { toggleDavinesGiftsPopover(obj,event); toggleProcessing(); } else if (type == 'Wrap') { toggleWrapPopover(obj,event); toggleProcessing(); } else if (type == 'Card') { toggleCardPopover(obj,event); toggleProcessing(); } } if (type == 'Sample' || type == 'DavinesGift' || type == 'Wrap' || type == 'Card') { // NADA } else if (type == 'Buy') { location.href = '/checkout/' + token; } else { if (typeof(cartQuantity) != 'undefined') { toggleAddToCartState(enabled,obj,cartQuantity); } else { toggleAddToCartState(enabled,obj,null); } } if (!enabled) { return; } if (type == 'Sample') { toggleSamplesPopover(obj,event); window.location.replace(basketLink.href); // TODO LAZY BUT EASY } else if (type == 'DavinesGift') { toggleDavinesGiftsPopover(obj,event); window.location.replace(basketLink.href); // TODO LAZY BUT EASY } else if (type == 'Wrap') { toggleWrapPopover(obj,event); window.location.replace(basketLink.href); // TODO LAZY BUT EASY } else if (type == 'Card') { toggleCardPopover(obj,event); window.location.replace(basketLink.href); // TODO LAZY BUT EASY } else if (type == 'Buy') { // NADA } else { var count = result.count; if (result.exceed) { var dict = {}; if (count == max) { dict = addCartError; } else if (count + quantity > max) { // dict = addCartIssue; // dict.message = 'Cart was updated but only ' + (max - count) + ' product' + ((max - count) > 1 ? 's were' : ' was') + ' added, exceeded available inventory.'; dict = addCartError; } showBannerMessage(dict,null,null,obj); obj.disabled = true; if (typeof(cartBuyButton) != 'undefined') { cartBuyButton.disabled = true; } } else { // dict = addCartSuccess; // // dict.message = quantity + ' product' + (quantity > 1 ? 's were' : ' was') + ' added to your cart.'; // dict.message = 'Successfully added.'; obj.textContent = 'Add Another'; } try { pintrk('track', 'addtocart', { order_quantity: quantity, }); } catch(error) { // NADA } } if (type != 'Buy') { getCartCount(); } }).catch((error) => { catchError.error = error; catchError.subject = '/addToCart catch/'; toggleInfoPopover(null,null,catchError,null); if (type == 'Sample') { toggleSamplesPopover(obj,event); toggleProcessing(); } else if (type == 'DavinesGift') { toggleDavinesGiftsPopover(obj,event); toggleProcessing(); } else if (type == 'Wrap') { toggleWrapPopover(obj,event); toggleProcessing(); } else if (type == 'Card') { toggleCardPopover(obj,event); toggleProcessing(); } }); } function sendError(error) { if (!error.hasOwnProperty('nosend')) { error.nosend = false; } if (error.nosend) { return; } var data = { error: error, }; fetch('/sendError/', { method: 'POST', // or 'PUT' headers: { 'Content-Type': 'application/json', }, body: JSON.stringify(data), }).then((response) => response.json()).then((result) => { // NADA }).catch((error) => { console.log(error); }); } function setCartLink() { var token = getToken(); if (!token) { statusError.subject = '/setCartLinks no token/'; sendError(statusError); return; } var shippingService = getShippingService(); var taxLocation = getTaxLocation(); var shippingSig = getShippingSig(); basketLink.href = '/cart/' + token + '/' + shippingService + '/' + taxLocation + '/' + shippingSig; basketLink.classList.remove('disabled'); } function getCartCount() { var token = getToken(); if (!token) { statusError.subject = '/getCartCount no token/'; sendError(statusError); return; } var data = { token: token, }; try { fetch('/getCartCount/', { method: 'POST', // or 'PUT' headers: { 'Content-Type': 'application/json', }, body: JSON.stringify(data), }).then((response) => response.json()).then((result) => { if (result.hasOwnProperty('status')) { if (result.status == 'error' || result.status == 'issue') { // DO NOT SHOW ERROR return; } } else { // DO NOT SHOW ERROR return; } if (!result.hasOwnProperty('count')) { // DO NOT SHOW ERROR return; } var basketCount = document.getElementById('basketCount'); if (!basketCount) { // TODO NEED ERROR return; } if (result.count > 0) { basketCount.innerHTML = result.count; basketLink.classList.add('full'); } else { basketCount.innerHTML = ""; basketLink.classList.remove('full'); } }).catch((error) => { // DO NOT SHOW ERROR // BOTS FIRE THIS ALOT // catchError.message = JSON.stringify(error); // catchError.token = token; // catchError.subject = '/getCartCount fetch catch/'; // sendError(catchError); }); } catch(error) { // DO NOT SHOW ERROR catchError.message = JSON.stringify(error); catchError.token = token; catchError.subject = '/getCartCount try catch/'; sendError(catchError); } } function connectKeyUp(obj,e) { if (!e) { e = window.event; } var code = (typeof e.which == "number") ? e.which : e.keyCode if (code == 13) { joinConnect(obj,event); } } function joinConnect(obj,event) { var phone = ''; if (isEmpty(connectTel.value)) { connectJoinError.message = "A mobile number is required."; showBannerMessage(connectJoinError,null,null,connectBanner); return; } else { phone = trimString(connectTel.value); phone = scrubPhoneNumber(connectTel.value); if (isPhoneNumber(phone)) { connectTel.value = formatPhoneNumber(phone); } else { connectJoinError.message = "Must contain 10 numbers."; showBannerMessage(connectJoinError,null,null,connectBanner); return; } } var token = getToken(); var data = { token: token, phone: phone, }; connectBanner.textContent = "Joining ..."; connectBanner.classList.add('show'); connectBanner.classList.remove('error'); connectBanner.classList.remove('issue'); connectBanner.classList.remove('success'); connectTel.disabled = true; connectSubmit.disabled = true; connectTel.blur(); fetch('/joinConnect/', { method: 'POST', // or 'PUT' headers: { 'Content-Type': 'application/json', }, body: JSON.stringify(data), }).then((response) => response.json()).then((result) => { if (result.hasOwnProperty('status')) { if (result.status == 'error' || result.status == 'issue') { showBannerMessage(result,null,null,connectBanner); return; } } else { statusError.subject = '/joinConnect/'; toggleInfoPopover(null,null,statusError,null); return; } connectTel.disabled = false; connectSubmit.disabled = false; showBannerMessage(connectJoinSuccess,null,null,connectBanner); }).catch((error) => { catchError.error = error; catchError.subject = '/joinConnect catch/'; toggleInfoPopover(null,null,catchError,null); }); } function notifyPopoverKeyUp(obj,e) { if (!e) { e = window.event; } var code = (typeof e.which == "number") ? e.which : e.keyCode if (code == 13) { notifyWhenAvailable(obj,event); } } function toggleNotifyPopover(obj,event) { event.stopPropagation(); if (notifyPopover.classList.contains('show')) { notifyPopover.classList.remove('show'); document.body.classList.remove('noscroll'); notifyPopoverTel.value = ''; notifyPopoverTel.removeAttribute('data-variant'); } else { notifyPopoverTel.value = formatPhoneNumber(getPhone()); notifyPopoverTel.focus(); notifyPopoverTel.dataset.variant = obj.dataset.variant; notifyPopoverInfo.innerHTML = ''; notifyPopoverInfo.innerHTML += '<div>' + obj.dataset.brand + '</div>'; notifyPopoverInfo.innerHTML += '<div>' + obj.dataset.product + '</div>'; notifyPopover.classList.add('show'); document.body.classList.add('noscroll'); } } function toggleDavinesGiftsPopover(obj,event) { if (event) { event.stopPropagation(); } if (davinesGiftsPopover.classList.contains('show')) { davinesGiftsPopover.classList.remove('show'); document.body.classList.remove('noscroll'); } else { davinesGiftsPopover.classList.add('show'); document.body.classList.add('noscroll'); } } function toggleSamplesPopover(obj,event) { if (event) { event.stopPropagation(); } if (samplesPopover.classList.contains('show')) { samplesPopover.classList.remove('show'); document.body.classList.remove('noscroll'); } else { samplesPopover.classList.add('show'); document.body.classList.add('noscroll'); } } function toggleWrapPopover(obj,event) { if (event) { event.stopPropagation(); } if (wrapPopover.classList.contains('show')) { wrapPopover.classList.remove('show'); document.body.classList.remove('noscroll'); } else { wrapPopover.classList.add('show'); document.body.classList.add('noscroll'); } } function toggleCardPopover(obj,event) { if (event) { event.stopPropagation(); } if (cardPopover.classList.contains('show')) { cardPopover.classList.remove('show'); document.body.classList.remove('noscroll'); } else { cardPopover.classList.add('show'); document.body.classList.add('noscroll'); } } function toggleInfoPopover(obj,event,data,small) { if (event) { event.stopPropagation(); } if (infoPopover.classList.contains('show')) { infoPopover.classList.remove('show'); document.body.classList.remove('noscroll'); infoPopoverTitle.innerHTML = ''; infoPopoverMessage.innerHTML = ''; infoPopoverMessage.classList.remove('small'); infoPopoverSecondary.innerHTML = ''; infoPopoverSecondary.setAttribute('onclick','toggleInfoPopover(this,event)'); infoPopoverPrimary.innerHTML = ''; infoPopoverPrimary.removeAttribute('onclick'); infoPopoverPrimary.style.display = 'none'; infoPopoverActions.classList.remove('multi'); } else { infoPopoverTitle.innerHTML = data.title; infoPopoverMessage.innerHTML = data.message; if (small) { infoPopoverMessage.classList.add('small'); } if (data.error && window.location.port != '') { var additional = ''; if (typeof data.error === 'object') { if (data.error.message) { additional = data.error.message; } } else { additional = data.error; } if (additional != '') { infoPopoverMessage.innerHTML += '<br>'; infoPopoverMessage.innerHTML += '<br>'; infoPopoverMessage.innerHTML += additional; } } infoPopoverSecondary.innerHTML = data.secondary; if (data.secondaryAction) { infoPopoverSecondary.setAttribute('onclick',data.secondaryAction); } if (data.primary) { infoPopoverPrimary.innerHTML = data.primary; infoPopoverPrimary.setAttribute('onclick',data.primaryAction); infoPopoverPrimary.style.display = 'inline-block'; infoPopoverActions.classList.add('multi'); } // '<a href="https://localhost:1338/search?' + data.title + '">Search Products</a>' infoPopover.classList.add('show'); document.body.classList.add('noscroll'); sendError(data); } } function removeWhenAvailable(obj,event) { var id = obj.dataset.id; var data = { id: id, }; obj.textContent = "Removing ..."; obj.disabled = true; fetch('/removeWhenAvailable/', { method: 'POST', // or 'PUT' headers: { 'Content-Type': 'application/json', }, body: JSON.stringify(data), }).then((response) => response.json()).then((result) => { // FORCE REMOVAL REGARDLESS OF SUCCESS // JUST INCASE WAS DELETED FROM DB var notifications = localStorage.getItem("notifications"); if (notifications) { notifications = JSON.parse(notifications); var index = notifications.map(function(e) { return e.id; }).indexOf(id); if (index != -1) { notifications.splice(index, 1); notifications = JSON.stringify(notifications); localStorage.setItem("notifications",notifications); } } else { // TODO ERROR } if (result.hasOwnProperty('status')) { if (result.status == 'error' || result.status == 'issue') { showBannerMessage(result,null,null,null); return; } } else { statusError.subject = '/removeWhenAvailable/'; toggleInfoPopover(null,null,statusError,null); return; } if (typeof(notifyWhenButton) != 'undefined' && typeof(notifyRemoveButton) != 'undefined') { // showBannerMessage(notifyRemoveSuccess,null,null,null); // REDUNDANT // BUTTON UPDATES setNotifyProductButton(notifyWhenButton); } else { var notify = document.querySelector('[data-notify="' + obj.dataset.variant + '"]'); var remove = document.querySelector('[data-remove="' + obj.dataset.variant + '"]'); if (notify && remove) { notify.classList.remove('hide'); remove.classList.add('hide'); remove.removeAttribute('data-id'); remove.disabled = false; remove.textContent = 'Remove Notify'; } } }).catch((error) => { catchError.error = error; catchError.subject = '/removeWhenAvailable catch/'; toggleInfoPopover(null,null,catchError,null); }); } function notifyWhenAvailable(obj,event) { var variant = notifyPopoverTel.dataset.variant; var phone = ''; if (isEmpty(notifyPopoverTel.value)) { notifyAddError.message = "A mobile number is required."; showBannerMessage(notifyAddError,null,null,notifyPopoverError); return; } else { phone = trimString(notifyPopoverTel.value); phone = scrubPhoneNumber(notifyPopoverTel.value); if (isPhoneNumber(phone)) { notifyPopoverTel.value = formatPhoneNumber(phone); } else { notifyAddError.message = "Must contain 10 numbers."; showBannerMessage(notifyAddError,null,null,notifyPopoverError); return; } } var token = getToken(); var data = { token: token, phone: phone, variant: variant }; if (typeof(notifyWhenButton) != 'undefined') { notifyWhenButton.textContent = "Saving ..."; notifyWhenButton.disabled = true; } else { var element = document.querySelector('[data-notify="' + variant + '"]'); if (element) { element.textContent = "Saving ..."; element.disabled = true; } } toggleNotifyPopover(obj,event); fetch('/notifyWhenAvailable/', { method: 'POST', // or 'PUT' headers: { 'Content-Type': 'application/json', }, body: JSON.stringify(data), }).then((response) => response.json()).then((result) => { if (result.hasOwnProperty('status')) { if (result.status == 'error' || result.status == 'issue') { showBannerMessage(result,null,'grid',null); return; } } else { statusError.subject = '/notifyWhenAvailable/'; toggleInfoPopover(null,null,statusError,null); return; } var notifications = localStorage.getItem("notifications"); if (notifications) { notifications = JSON.parse(notifications); } else { notifications = []; } notifications.push({id:result.id,variant:variant,token:token}); notifications = JSON.stringify(notifications); localStorage.setItem("notifications",notifications); localStorage.setItem("phone",phone); // showBannerMessage(notifyAddSuccess,null,null,null); // REDUNDANT // BUTTON UPDATES if (typeof(notifyWhenButton) != 'undefined' && typeof(notifyRemoveButton) != 'undefined') { setNotifyProductButton(notifyWhenButton); } else { var notify = document.querySelector('[data-notify="' + variant + '"]'); var remove = document.querySelector('[data-remove="' + variant + '"]'); if (notify && remove) { notify.classList.add('hide'); notify.disabled = false; notify.textContent = 'Notify When Available'; remove.classList.remove('hide'); remove.dataset.id = result.id; } } }).catch((error) => { catchError.error = error; catchError.subject = '/notifyWhenAvailable catch/'; toggleInfoPopover(null,null,catchError,null); }); } function queryRecombee(query) { var recombeeClient = new recombee.ApiClient('veer-wander-prod', '2XQwP5AWJVVkkM3CTkr4mchtH1Zh37x2z5AMRX4zFJcPbzLDNNP5kIlmIHQ0FB5n', {region: 'us-west'}); var token = getToken(); var string = ''; var values = {}; var grid = document.querySelector('.grid'); recombeeClient.send(new recombee.SearchItems( token, query, 30, { 'returnProperties': true, // 'includedProperties': ['itemId','link','image_link','title','price','sale_price'], } )).then(function(response) { if (!response.recomms) { return; } if (!response.recomms[0]) { return; } var recommId = response.recommId; response.recomms.forEach(function(variant,i) { if (!variant.values) { return; } values = variant.values; string += '<div class="item">' string += '<a href="' + values.link + '?recommId=' + recommId + '" id="recomm_' + values.id + '" title="View ' + values.title + '">'; string += '<div class="image">'; string += '<img class="" src="' + values.image_link + '" data-src="' + values.image_link + '" alt="' + values.link + ' Image"></div>'; string += '<div class="details">'; string += '<h3 class="label">' + values.title + '</h3>'; if (values.sale_price) { string += '<h5>'; string += '<span class="sale">$' + values.sale_price.toFixed(2) + ' </span>'; string += '<span class="original">Was $' + values.price.toFixed(2) + '</span></h5>'; string += '</h5>'; } else { string += '<h5>$' + values.price.toFixed(2) + '</h5>'; } if (values.custom_label_2) { string += '<div class="description demphasis">' + values.custom_label_2 + '</div>'; } string += '</div>'; string += '</a>'; // string += '<div class="actions"><button class="add" data-add="xuMfmpyqxY" data-inventory="13" type="button" onclick="addToCart(this,event,\'xuMfmpyqxY\',\'Brand\')">Add to Cart</button></div>'; if ('US' != 'US' && values.custom_label_3 == 'true') { string += '<div class="restricted demphasis">US Only</div>'; } string += '</div>'; }); grid.innerHTML = string; window.scrollTo(0, 0); }).catch(function(error) { // NADA }); } function queryProducts(string) { var data = { string: encodeURIComponent(string), }; fetch('/queryProducts/', { method: 'POST', // or 'PUT' headers: { 'Content-Type': 'application/json', }, body: JSON.stringify(data), }).then((response) => response.json()).then((result) => { if (result.hasOwnProperty('status')) { if (result.status == 'error' || result.status == 'issue') { // toggleInfoPopover(null,null,result,null); arriveByCell.innerHTML = result.message; result.subject = '/queryProducts status error/issue/'; sendError(result); return; } } else { statusError.subject = '/queryProducts/'; toggleInfoPopover(null,null,statusError,null); return; } if (string == lastQuery) { var grid = document.querySelector('.grid',null); if (grid) { if (result.found != '') { grid.innerHTML = result.found; collections.style.display = 'none'; // classifications.style.display = 'none'; } else { grid.innerHTML = '<div class="instruction search">Try something else.</div>'; } window.scrollTo(0, 0); } lazyLoadImages(); var port = (window.location.port == '') ? '' : ':' + window.location.port; window.history.replaceState({}, 'Search', 'https://' +window.location.hostname + port + '/search?query=' + string); } }).catch((error) => { catchError.error = error; catchError.subject = '/queryProducts catch/'; toggleInfoPopover(null,null,catchError,null); }); } var lastQuery = ''; function queryPaste(obj,e) { setTimeout(function() { // NEED DELAY OTHERWISE VALUE IS EMPTY if (e.target) { if (trimString(e.target.value).length >= 3) { lastQuery = trimString(e.target.value).toLowerCase(); queryRecombee(lastQuery); } } }, 1, e); } function queryKeyUp(obj,e) { if (!e) { e = window.event; } var code = (typeof e.which == "number") ? e.which : e.keyCode var value = ''; if (obj instanceof HTMLInputElement) { value = obj.value; } else { value = obj; } if ((code >= 48 && code <= 90 || code == 8 || code == 13) && trimString(value).length >= 3) { lastQuery = trimString(value).toLowerCase(); queryRecombee(lastQuery); } if (trimString(value).length == 0 && code != 91) { var grid = document.querySelector('.grid'); if (grid) { collections.style.display = 'block'; // classifications.style.display = 'block'; grid.innerHTML = '<div class="instruction search"><ul><li>Type at least 3 letters or numbers.</li><li>Results may not display on some Android phones.</li><li>You may need to press return for results to show.</li></ul></div>'; window.scrollTo(0, 0); } } } // ------------------------------------------ var token = ''; // localStorage.getItem("token"); document.addEventListener("DOMContentLoaded", function() { // console.log("Script JS - DOMContentLoaded - start"); try { setCartLink(); } catch(error) { // console.log(error); } try { getCartCount(); } catch(error) { // console.log(error); } try { if (document.getElementById('searchInput')) { if (searchInput.dataset.auto == 'true') { searchInput.dataset.auto = 'false'; queryKeyUp(searchInput,{keyCode: 13}); } } } catch(error) { // console.log(error); } // console.log("Script JS - DOMContentLoaded - end"); }); // function confirmCookies(obj,event) { // // localStorage.setItem("cookies","true"); // approvalCookies.classList.remove('show'); // // } function toggleProcessing(message) { if (processing.classList.contains('show')) { processing.classList.remove('show'); processingSpinner.classList.remove('spinner'); document.body.classList.remove('noscroll'); processingMessage.textContent = ''; } else { processing.classList.add('show'); processingSpinner.classList.add('spinner'); document.body.classList.add('noscroll'); if (message) { processingMessage.textContent = message; } } } // ------------------------------------------ // MENU function clickBasketLink() { if (typeof(basketLink) != 'undefined') { if (!basketLink.classList.contains('disabled')) { basketLink.click(); } } } function viewPageWithToken(obj,event,page) { var token = getToken(); window.location.href = '/' + page + '/' + token; } function switchFlag(obj, e, ctry) { e.stopPropagation(); try { fathom.trackEvent(ctry); } catch(error) { // NADA } setCookie('ctry', ctry, 365); location.reload(); // navFlag.className = ""; // navFlag.classList.add('icon'); // navFlag.classList.add('flag'); // navFlag.classList.add(ctry); } function setFlag() { var cvalue = getCookie('ctry'); if (cvalue == "") { cvalue = 'US'; setCookie('ctry', cvalue, 365); } navFlag.classList.add(cvalue); } function toggleFlags(obj,e) { var url = window.location.toString(); if (url.indexOf('/checkout/') != -1) { var message = { status: 'success', title: 'Sorry', message: 'The Shipping Destination cannot be changed during Checkout.', secondary: 'Ok', subject: 'function toggleFlags', } toggleInfoPopover(null,null,message,null); return; } if (menuFlags.classList.contains('show')) { menuFlags.classList.remove('show'); document.body.classList.remove('noscroll'); // navMenu.classList.remove('close'); } else { menuFlags.classList.add('show'); document.body.classList.add('noscroll'); // navMenu.classList.add('close'); navMenu.classList.remove('close'); navMenu.classList.remove('back'); menuMore.classList.remove('show'); menuShop.classList.remove('show'); menuShopBrand.style.display = 'none'; menuShopCategory.style.display = 'none'; menuShopClearance.style.display = 'none'; menuShopCollection.style.display = 'none'; menuShopClassification.style.display = 'none'; } } function toggleMenu(el,e,type,version) { e.stopPropagation(); menuFlags.classList.remove('show'); if (type == 'more') { toggleMore(el,e); } else if (type == 'shop') { toggleShop(el,e,version); } else if (type == 'collection') { toggleShop(el,e,version); } else if (type == 'classification') { toggleShop(el,e,version); } else if (type == 'body') { if (!menuMore.classList.contains('show') && !menuShop.classList.contains('show')) { return; } // toggleBodyScroll(); navMenu.classList.remove('close'); menuMore.classList.remove('show'); menuShop.classList.remove('show'); } } function toggleMore(el,e) { e.stopPropagation(); if (menuMore.classList.contains('show')) { menuMore.classList.remove('show'); navMenu.classList.remove('close'); document.body.classList.remove('noscroll'); } else { menuMore.classList.add('show'); navMenu.classList.add('close'); document.body.classList.add('noscroll'); } menuShop.classList.remove('show'); navMenu.classList.remove('back'); // toggleBodyScroll(); // if (el) { // // if (el.id == 'navMenu') { // // if (document.body.classList.contains('noscroll')) { // // document.body.classList.remove('noscroll'); // // } else { // // document.body.classList.add('noscroll'); // // } // } // } } function toggleShop(el,e,version) { e.stopPropagation(); if (menuShop.classList.contains('show')) { menuShop.classList.remove('show'); // DO NOT REMOVE NO SCROLL menuShopBrand.style.display = 'none'; menuShopCategory.style.display = 'none'; menuShopClearance.style.display = 'none'; menuShopCollection.style.display = 'none'; menuShopClassification.style.display = 'none'; navMenu.classList.add('close'); navMenu.classList.remove('back'); } else { menuShop.classList.add('show'); document.body.classList.add('noscroll'); navMenu.classList.add('back'); navMenu.classList.remove('close'); if (version == 'brand') { menuShopBrand.style.display = 'inline-block'; menuShopCategory.style.display = 'none'; menuShopClearance.style.display = 'none'; menuShopCollection.style.display = 'none'; menuShopClassification.style.display = 'none'; } else if (version == 'category') { menuShopBrand.style.display = 'none'; menuShopCategory.style.display = 'inline-block'; menuShopClearance.style.display = 'none'; menuShopCollection.style.display = 'none'; menuShopClassification.style.display = 'none'; } else if (version == 'clearance') { menuShopBrand.style.display = 'none'; menuShopCategory.style.display = 'none'; menuShopClearance.style.display = 'inline-block'; menuShopCollection.style.display = 'none'; menuShopClassification.style.display = 'none'; } else if (version == 'collection') { menuShopBrand.style.display = 'none'; menuShopCategory.style.display = 'none'; menuShopClearance.style.display = 'none'; menuShopCollection.style.display = 'inline-block'; menuShopClassification.style.display = 'none'; } else if (version == 'classification') { menuShopBrand.style.display = 'none'; menuShopCategory.style.display = 'none'; menuShopClearance.style.display = 'none'; menuShopCollection.style.display = 'none'; menuShopClassification.style.display = 'inline-block'; } } menuMore.classList.remove('show'); // toggleBodyScroll(); } function menuClick(el,e) { e.stopPropagation(); } // ------------------------------------------ // FULL function showFull(obj) { // var cln = obj.cloneNode(true); // cln.className = "zoom"; var zoom = document.createElement('div'); zoom.id = "zoom"; zoom.classList.add('zoom'); zoom.setAttribute('onclick','closeFull()'); // var close = document.createElement('close'); // close.innerHTML = "&#x2715"; // close.classList.add('close'); // zoom.appendChild(close); var image = document.createElement('img'); if (obj.nodeName.toLowerCase() == "img") { if (obj.src.indexOf("/250x250/") != -1) { image.src = obj.src.split("/250x250/")[0] + "/800x800/" + obj.src.split("/250x250/")[1]; // DIRECT ACCESS GET 403 ERROR // BUT LINK WORKS // PROBABLY HEADER CSP ISSUE // MIGHT BE SITE HTACCESS CORS ISSUE // MIGHT BE CLOUDFLARE // MIGHT BE URL FORMATING // MIGHT BE S3 PERMISSIONS // REALLY NOT SURE } else { image.src = obj.src; } } zoom.appendChild(image); document.body.appendChild(zoom); } function closeFull() { var zoom = document.getElementById("zoom"); if (zoom) { zoom.parentNode.removeChild(zoom); } } // ------------------------------------------ // UTILITIES function trimString(string) { return (string || '').replace( /^\s+|\s+$/g, '' ); } function isEmpty(str) { if (str) { return str.replace(/^\s+|\s+$/g, '').length == 0; } return true; } function isEmail(str) { if (isEmpty(str)) { return false; } var email = /^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/; return email.test(str); } function isPhoneNumber(number) { // return /^1?([2-9]\d\d){2}\d{4}$/.test(number.replace(/\D/g, "")); // HAD ISSUES // number = number.replace(/\D/g, ''); // REPLACES NON NUMERIC if (number.length == 11 && number.charAt(0) == 1) { number = number.replace("1",''); } if (number.length == 10) { return true; } return false; } function scrubPhoneNumber(number) { if (isEmpty(number)) { return number; } number = number.replace(/[^0-9]+/gi,'') if (number.charAt(0) == 1) { number = number.replace("1",''); } return number; } function formatPhoneNumber(number) { if (isEmpty(number)) { return ""; } if (number.charAt(0) == 1) { number = number.replace("1",''); } number = number.replace(/[^0-9]/g, ''); number = number.replace(/(\d{3})(\d{3})(\d{4})/, "($1) $2-$3"); return number; } function isZipCode(str) { if (isEmpty(str)) { return false; } var zipcode = /(^\d{5}$)|(^\d{5}-\d{4}$)/; return zipcode.test(str); } function isValidPostalCode(postal) { return /(^\d{5}$)|(^\d{5}-\d{4}$)/.test(postal); } var newToken = { // CONFIRMED - USED - NOT SURE PASSWORD SPECIAL CHARS WOULD BE AN ISSUE _pattern : /[a-zA-Z0-9]/, _getRandomByte : function() { return Math.floor(Math.random() * 256); }, generate : function(length) { return Array.apply(null, {'length': length}) .map(function() { var result; while(true) { result = String.fromCharCode(this._getRandomByte()); if (this._pattern.test(result)) { return result; } } }, this).join(''); } }; function removeFormError(obj) { var error = document.getElementById(obj.name + "Error"); if (error) { error.textContent = ""; } if (obj.id == "phone") { if (isPhoneNumber(obj.value)) { obj.value = formatPhoneNumber(obj.value); } } } function isJSON(text) { try { JSON.parse(text); return true; } catch(error) { return false; } } function getLocationData(json) { if (!json.hasOwnProperty('ip')) { return; } var zipcode = localStorage.getItem('zipcode'); var taxLocation = localStorage.getItem('taxLocation'); var taxLocationAuto = localStorage.getItem('taxLocationAuto'); if (zipcode && taxLocation && taxLocationAuto == 'false') { return; } var data = { ip:json.ip } fetch('/getLocationData/', { method: 'POST', // or 'PUT' headers: { 'Content-Type': 'application/json', }, body: JSON.stringify(data), }).then((response) => response.json()).then((result) => { if (result.hasOwnProperty('status')) { if (result.status == 'error' || result.status == 'issue') { // NADA return; } } else { // NADA return; } if (!result.hasOwnProperty('postalCode')) { // DO NOT SHOW ERROR return; } if (!result.hasOwnProperty('region')) { // DO NOT SHOW ERROR return; } var postalCode = result.postalCode var region = result.region if (postalCode == '') { // DO NOT SHOW ERROR return; } if (!zipcode) { localStorage.setItem('zipcode',postalCode); var shipZip = document.getElementById('shipZip'); var transitTime = document.getElementById('transitTime'); if (shipZip && transitTime) { shipZip.value = postalCode; transitTime.click(); } } if (taxLocationAuto == 'true' || !taxLocationAuto) { if (region.toLowerCase() == 'california') { localStorage.setItem('taxLocation','taxCA'); } else { localStorage.setItem('taxLocation','taxNo'); } localStorage.setItem('taxLocationAuto','false'); setCartLink(); } }).catch((error) => { // NADA }); } function getShippingService() { var shippingService = localStorage.getItem('shippingService'); if (!shippingService) { shippingService = 'fedex0'; localStorage.setItem('shippingService',shippingService); } else if (shippingService == 'ups0' || shippingService == 'ups1' || shippingService == 'ups2' || shippingService == 'ups3' ) { shippingService = 'fedex0'; localStorage.setItem('shippingService',shippingService); } return shippingService; } function getShippingSig() { var shippingSig = localStorage.getItem('shippingSig'); if (!shippingSig) { shippingSig = 'sig0'; localStorage.setItem('shippingSig',shippingSig); } return shippingSig; } function getTaxLocation() { var taxLocation = localStorage.getItem('taxLocation'); if (!taxLocation) { taxLocation = 'taxNo'; localStorage.setItem('taxLocation',taxLocation); localStorage.setItem('taxLocationAuto','true'); } return taxLocation; } function getToken() { var token = localStorage.getItem("token"); if (!token) { token = newToken.generate(32); localStorage.setItem("token",token); } return token; } function getPhone() { var phone = localStorage.getItem("phone"); if (!phone) { phone = ''; } return phone; } function getEmail() { var email = localStorage.getItem("email"); if (!email) { email = ''; } return email; } </script> <meta name="facebook-domain-verification" content="4w9zrobytefvkjbtf9hytsyo3e0nxy" /> <meta name="p:domain_verify" content="28afb879fd311b3cdc22133659bc4daa" /> <!-- <script type='text/javascript'> window.smartlook||(function(d) { var o=smartlook=function(){ o.api.push(arguments)},h=d.getElementsByTagName('head')[0]; var c=d.createElement('script');o.api=new Array();c.async=true;c.type='text/javascript'; c.charset='utf-8';c.src='https://rec.smartlook.com/recorder.js';h.appendChild(c); })(document); smartlook('init', 'a6ac5a43f352f9f4cc042ea32846e1a41b31de7f'); </script> --> <script type="application/javascript" src="//api64.ipify.org?format=jsonp&amp;callback=getLocationData"></script> <script src="https://cdn.jsdelivr.net/gh/recombee/js-api-client/dist/recombee-api-client.min.js"></script> <!-- Meta Pixel Code --> <!-- <script> !function(f,b,e,v,n,t,s) {if(f.fbq)return;n=f.fbq=function(){n.callMethod? n.callMethod.apply(n,arguments):n.queue.push(arguments)}; if(!f._fbq)f._fbq=n;n.push=n;n.loaded=!0;n.version='2.0'; n.queue=[];t=b.createElement(e);t.async=!0; t.src=v;s=b.getElementsByTagName(e)[0]; s.parentNode.insertBefore(t,s)}(window, document,'script', 'https://connect.facebook.net/en_US/fbevents.js'); fbq('init', '590464405222762'); fbq('track', 'PageView'); </script> --> <script>(function(w,d,t,r,u){var f,n,i;w[u]=w[u]||[],f=function(){var o={ti:"52004435"};o.q=w[u],w[u]=new UET(o),w[u].push("pageLoad")},n=d.createElement(t),n.src=r,n.async=1,n.onload=n.onreadystatechange=function(){var s=this.readyState;s&&s!=="loaded"&&s!=="complete"||(f(),n.onload=n.onreadystatechange=null)},i=d.getElementsByTagName(t)[0],i.parentNode.insertBefore(n,i)})(window,document,"script","//bat.bing.com/bat.js","uetq");</script> <!-- PayPal BEGIN --> <script>;(function(a,t,o,m,s){a[m]=a[m]||[];a[m].push({t:new Date().getTime(),event:'snippetRun'});var f=t.getElementsByTagName(o)[0],e=t.createElement(o),d=m!=='paypalDDL'?'&m='+m:'';e.async=!0;e.src='https://www.paypal.com/tagmanager/pptm.js?id='+s+d;f.parentNode.insertBefore(e,f);})(window,document,'script','paypalDDL','06576f9d-a816-48e7-b551-60dc8b94d089');</script> <!-- PayPal END --> <!-- script type="text/javascript"> (function(c,l,a,r,i,t,y){ c[a]=c[a]||function(){(c[a].q=c[a].q||[]).push(arguments)}; t=l.createElement(r);t.async=1;t.src="https://www.clarity.ms/tag/"+i; y=l.getElementsByTagName(r)[0];y.parentNode.insertBefore(t,y); })(window, document, "clarity", "script", "c7tom1xlwa"); </script --> <!-- script> (function(w,d,s,r,n){w.TrustpilotObject=n;w[n]=w[n]||function(){(w[n].q=w[n].q||[]).push(arguments)}; a=d.createElement(s);a.async=1;a.src=r;a.type='text/java'+s;f=d.getElementsByTagName(s)[0]; f.parentNode.insertBefore(a,f)})(window,document,'script', 'https://invitejs.trustpilot.com/tp.min.js', 'tp'); tp('register', 'kdMevgEdMenLFFi2'); </script --> <script> </script> <!-- script type="text/javascript" src="//widget.trustpilot.com/bootstrap/v5/tp.widget.bootstrap.min.js" async></script --> <noscript><img height="1" width="1" style="display:none" src="https://www.facebook.com/tr?id=590464405222762&ev=PageView&noscript=1" /></noscri |
| 2 |
Error
On line 9229, column 152 <!DOCTYPE html> <html lang="en"> <head> <script type="text/javascript" src="https://app.termly.io/resource-blocker/c9060009-82c9-4891-8d67-8c904d5617e9?autoBlock=on"></script> <!-- Global site tag (gtag.js) - Google Analytics --> <script async src="https://www.googletagmanager.com/gtag/js?id=G-44B2L8E7TD"></script> <script> window.dataLayer = window.dataLayer || []; function gtag(){dataLayer.push(arguments);} gtag('js', new Date()); gtag('config', 'G-44B2L8E7TD'); </script> <!-- Global site tag (gtag.js) - Google Ads: 858635327 --> <script async src="https://www.googletagmanager.com/gtag/js?id=AW-858635327"></script> <script> window.dataLayer = window.dataLayer || []; function gtag(){dataLayer.push(arguments);} gtag('js', new Date()); gtag('config', 'AW-858635327'); </script> <meta charset="utf-8" /> <meta name="viewport" content="width=device-width, height=device-height, initial-scale=1.0, minimum-scale=1.0" /> <meta name="mobile-web-app-capable" content="yes" /> <meta name="apple-mobile-web-app-capable" content="yes" /> <meta name="apple-mobile-web-app-status-bar-style" content="black" /> <meta name="msapplication-tap-highlight" content="no" /> <meta name="description" content="We are an innovative salon &amp; apothecary focused on a simple approach to beauty through exceptional craftsmanship."> <meta name="robots" content="noindex, nofollow"> <meta name="view-transition" content="same-origin" /> <meta property="og:image" content="https://veerandwander.com/_images/exterior_home.jpg"> <meta property="og:image:secure_url" content="https://veerandwander.com/_images/exterior_home.jpg"> <meta property="og:image:type" content="image/jpeg" /> <meta property="og:title" content="$20 &amp; Below"> <meta property="og:description" content="We are an innovative salon &amp; apothecary focused on a simple approach to beauty through exceptional craftsmanship."> <meta property="og:url" content="https://veerandwander.com/collection/less20"> <meta property="og:locale" content="en_US"> <meta property="og:site_name" content="Veer & Wander"> <meta property="og:type" content="article"> <meta property="fb:app_id" content="461681578015051"> <meta name="twitter:site" content="@veerandwander"> <meta name="twitter:card" content="summary_large_image"> <link rel="icon" sizes="192x192" href="/_images/icon.png"> <link rel="apple-touch-icon" href="/_images/icon.png"> <link rel='mask-icon' href='/_images/icon.svg' color='#000000'> <title>$20 &amp; Below - Veer & Wander</title> <script src="https://cdn.usefathom.com/script.js" site="LQYLKIAS" defer></script> <style> /* http://meyerweb.com/eric/tools/css/reset/ v2.0 | 20110126 License: none (public domain) */ html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video { margin: 0; padding: 0; border: 0; font-size: 100%; font: inherit; vertical-align: baseline; } /* HTML5 display-role reset for older browsers */ article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section { display: block; } html { height: calc(100% - 70px); padding: 70px 0px 0px 0px; } body { /* font-family: Tahoma, Geneva, sans-serif; */ /* font-family: "Trebuchet MS", Helvetica, sans-serif; */ /* font-family: Georgia, Times, "Times New Roman", serif; */ /* font-family: "Courier New", Courier, monospace; */ /* font-family: Verdana, Geneva, sans-serif; */ font-family: "Avenir Next", "Avenir", -apple-system, BlinkMacSystemFont, "Roboto", "Droid Sans", "Helvetica Neue", Helvetica, Arial, sans-serif; /* font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; */ /* font-family: "SF Pro Text", "Helvetica Neue", Helvetica, Arial, sans-serif; */ /* font-family: -apple-system, BlinkMacSystemFont, "Roboto", "Droid Sans", "Helvetica Neue", Helvetica, Arial, sans-serif; */ -webkit-font-smoothing: antialiased; font-size: 18px; line-height: 30px; /* font-weight: 500; */ /* background-color: #f6f6f6; */ /* background-color: #fef5ea; */ /* background-color: #faf7f5; */ /* background-color: #fcfbf9; */ /* background-color: #fbfbfb; */ /* background-color: #fafafa; */ background-color: #ffffff; display: flex; flex-direction: column; height: 100%; } ul,ol { margin: 0px 0px 0px 0px; } ul { list-style-type: circle; padding: 15px 0px 15px 20px; } li { margin: 0px 0px 0px 0px; padding: 0px 0px 10px 0px; } p { margin: 0px 0px 0px 0px; padding: 10px 0px 20px 0px; } /* p { margin: 0px 0px 0px 0px; padding: 10px 0px 10px 0px; } p:last-of-type { padding: 0px 0px 30px 0px; } */ blockquote, q { quotes: none; } blockquote:before, blockquote:after, q:before, q:after { content: ''; content: none; } table { border-collapse: collapse; border-spacing: 0; width: 100%; } tr { border-bottom: 0.5px solid #cccccc; /* border-bottom: 0.5px solid #e7e7e7; */ } td { vertical-align: top; } /* ------------------- */ * { /* font-family: Tahoma, Geneva, sans-serif; */ /* font-family: "Trebuchet MS", Helvetica, sans-serif; */ /* font-family: Georgia, Times, "Times New Roman", serif; */ /* font-family: "Courier New", Courier, monospace; */ /* font-family: Verdana, Geneva, sans-serif; */ font-family: "Avenir Next", "Avenir", -apple-system, BlinkMacSystemFont, "Roboto", "Droid Sans", "Helvetica Neue", Helvetica, Arial, sans-serif; /* font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; */ /* font-family: "SF Pro Text", "Helvetica Neue", Helvetica, Arial, sans-serif; */ /* font-family: -apple-system, BlinkMacSystemFont, "Roboto", "Droid Sans", "Helvetica Neue", Helvetica, Arial, sans-serif; */ -webkit-font-smoothing: antialiased; font-size: 18px; line-height: 30px; /* font-weight: 500; */ } a { /* color: inherit; */ color: #000000; text-decoration: none; } a:hover { /* color: inherit; */ color: #000000; } a:visited { /* color: inherit; */ color: #000000; } label { display: block; margin: 0px 0px 0px 0px; padding: 15px 10px 5px 10px; color: #888888; font-size: 13px; line-height: 18px; } input[type="radio"], input[type="checkbox"] { margin: 0px 0px 0px 20px; } input[type="radio"] + label, input[type="checkbox"] + label { display: inline-block; /* font-size: 15px; line-height: 24px; */ color: #000000; padding: 25px 0px 5px 0px; } textarea, input[type="text"], input[type="tel"], input[type="email"] { -webkit-appearance: none; border: none; outline: none; border-radius: 0px; padding: 0px 10px 0px 10px; margin: 0px 0px 0px 0px; height: 50px; /*max-height: 40px;*/ /* background-color: #ffffff;*/ background-color: #f3f3f3; /* border-bottom: 0.5px solid #dedede; */ display: block; width: 100%; /* font-size: 15px !important; */ line-height: inherit; } textarea { padding: 10px 10px 10px 10px; height: 90px; resize: none; } input[type="text"]:focus, input[type="tel"]:focus, input[type="email"]:focus { /* border-top: 0.5px solid #999999; */ } input:-webkit-autofill { -webkit-box-shadow: inset 0 0 0px 9999px #f3f3f3; } ::placeholder { color: #999999; opacity: 1; } select { -moz-appearance: none; -webkit-appearance: none; appearance: none; border: none; height: 50px; border-radius: 0px; background-color: transparent; text-shadow: 0 0 0 #000; margin: 0px 0px 0px 0px; padding: 0px 10px 0px 10px; text-align: left; width: 100%; position: relative; color: #000000; /* #f3f3f3 */ } input:focus, textarea:focus, select:focus { outline: none; } input:focus, textarea:focus { background-color: #e7e7e7; } button { border: none; outline: none; /* background-color: #f5f2f0; */ /* background-color: #f0ece9; */ /* background-color: #f7f5f2; */ /* background-color: #faf7f5; */ /* background-color: #faf7f5; */ /* background-color: #ffffff; */ /* background-color: #222222; color: #ffffff; */ color: #000000; background-color: transparent; margin: 0px 0px 0px 0px; padding: 10px 10px 10px 10px; text-align: left; width: 100%; } .Twilio button { width: auto; } /* button span { float: left; } */ button:active { color: inherit; } button .price { display: inline-block; float: right; } button:not(:disabled) { cursor: pointer; } button:disabled { } </style> <style> .text { /* font-family: Georgia, Times, "Times New Roman", serif; font-weight: 500; -webkit-font-smoothing: antialiased; */ } .dd_red_fore { color: rgb(235, 23, 0); } .dd_red_back { background-color: rgb(235, 23, 0); color: #ffffff !important; } .large { font-size: 27px; line-height: 40px; /* font-size: 35px; line-height: 45px; */ /* font-weight: 500; */ } .emphasis { font-weight: 600; /* color: #fa7f7e; */ /* color: #41d0e0; */ } .light { font-weight: 300; /* color: #fa7f7e; */ /* color: #41d0e0; */ } .demphasis { color: #555555; /* 86bece 93c6d5 */ } .normal { font-weight: normal; } .extra-demphasis { color: #999999; } .error { color: #d94646; } .original { color: #999999; } .sale { color: #d94646 !important; } .pop { color: #5087f5; } .dark { color: #000000; } a.disabled { pointer-events:none; } /* .discount { */ /* color: #c06f6f; ec3223 */ /* color: #000000; } */ .noscroll { overflow: hidden; } .nowrap { white-space: nowrap; } .preline { white-space: pre-line; } .spacer { height: 10px; } .clear { clear: both; } select.right { direction: rtl; } .loader { display: none; position: fixed; top: 0px; left: 0px; right: 0px; bottom: auto; width: auto; height: 0px; background-color: rgba(0, 0, 0, 0.15); z-index: 2000; } .loader.show { display: block; bottom: 0px; height: auto; } .loader .spinner { position: absolute; left: 50%; top: 50%; width: 100px; height: 100px; margin: -50px 0 0 -50px; border: 3px solid #ffffff; border-top: 3px solid #34c759; border-radius: 50%; animation: spin 0.75s linear infinite; } .loader .message { position: absolute; top: calc(50% + 90px); left: 50%; transform: translate(-50%, -50%); margin-top: 0px; padding: 5px 20px 5px 20px; background-color: #ffffff; color: #000000; border-radius: 20px; } @-webkit-keyframes spin { 0% { -webkit-transform: rotate(0deg); } 100% { -webkit-transform: rotate(360deg); } } @keyframes spin { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } } .livechat_button { position: fixed; top: auto; left: auto; right: 10px; bottom: 10px; width: 50px; height: 50px; z-index: 1000; } .livechat_button a { width: 30px; height: 30px; padding: 0px 0px 0px 0px; margin: 10px 10px 10px 10px; display: block; } .livechat_button img { width: 30px; height: 30px; object-fit: cover; object-position: center; } /* .trustpilot { margin: 20px 0px 40px 0px; } */ .instore { padding: 20px 20px 20px 20px; margin: -15px 0px 10px 0px; color: #ffffff; background-color: #d94646; } @media all and (max-width: 480px) { .instore { margin: -15px 0px 20px 0px; } } /* +++++++++++++++++++++++++++++++++++++++++++++++++ */ /* GIFT */ /* +++++++++++++++++++++++++++++++++++++++++++++++++ */ .gift { margin: 10px 10px 10px 10px; padding: 10px 10px 10px 10px; background-color: #f1fbfb; text-align: left; display: block; width: 100%; } .gift.variant { margin-bottom: 0px; width: calc(100% - 40px); } /* +++++++++++++++++++++++++++++++++++++++++++++++++ */ /* PROMO */ /* +++++++++++++++++++++++++++++++++++++++++++++++++ */ .promo { margin: 10px 10px 10px 10px; padding: 10px 10px 10px 10px; background-color: #f1fbfb; text-align: left; display: block; } .promo.variant { margin-bottom: 0px; } /* +++++++++++++++++++++++++++++++++++++++++++++++++ */ /* NAV */ /* +++++++++++++++++++++++++++++++++++++++++++++++++ */ nav { /* display: flex; flex-wrap: wrap; margin: 0px 10px 0px 10px; */ position: fixed; top: 0px; left: 0px; right: 0px; bottom: auto; height: 70px; background-color: #ffffff; z-index: 150; } nav .links { position: relative; margin: 0px 10px 0px 10px; padding: 0px 0px 0px 0px; height: 70px; } nav .links .label { position: relative; padding: 10px 10px 10px 10px; display: inline-block; vertical-align: top; width: auto; /* color: #6faec0; */ } nav .links .icon { position: absolute; top: 10px; width: 50px; height: 50px; background-size: 24px 24px; background-repeat: no-repeat; background-position: center; } nav .links .icon.menu { background-image: url("/_images/menu-black-48dp.svg"); left: 0px; background-color: transparent; } nav .links .icon.flag { left: 50px; background-color: transparent; } .flag.US { background-image: url("/_images/flags/us.svg"); } .flag.PR { background-image: url("/_images/flags/pr.svg"); } .flag.VI { background-image: url("/_images/flags/vi.svg"); } .flag.CA { background-image: url("/_images/flags/ca.svg"); } .flag.GB { background-image: url("/_images/flags/gb.svg"); } .flag.EU { background-image: url("/_images/flags/eu.svg"); } .flag.NZ { background-image: url("/_images/flags/nz.svg"); } .flag.AU { background-image: url("/_images/flags/au.svg"); } .flag.MX { background-image: url("/_images/flags/mx.svg"); } .flag.JP { background-image: url("/_images/flags/jp.svg"); } .flag.KR { background-image: url("/_images/flags/kr.svg"); } .flag.IS { background-image: url("/_images/flags/is.svg"); } .flag.NO { background-image: url("/_images/flags/no.svg"); } .flag.CH { background-image: url("/_images/flags/ch.svg"); } .flag.NL { background-image: url("/_images/flags/nl.svg"); } .flag.DE { background-image: url("/_images/flags/de.svg"); } .flag.IT { background-image: url("/_images/flags/it.svg"); } .flag.FR { background-image: url("/_images/flags/fr.svg"); } .flag.IE { background-image: url("/_images/flags/ie.svg"); } nav .links .icon.menu.close { background-image: url("/_images/close-black-48dp.svg"); } nav .links .icon.menu.back { background-image: url("/_images/arrow_back-black-48dp.svg"); } nav .links .icon.search { background-image: url("/_images/search-black-48dp.svg"); right: 50px } nav .links .icon.basket { display: block; /* background-image: url("/_images/shopping_cart-black-48dp.svg"); */ background-image: url("/_images/local_mall-black-48dp.svg"); right: 0px; } nav .links .icon.basket.full { /* background-image: url("/_images/shopping_cart-black-48dp.svg"); */ background-image: url("/_images/local_mall-black-48dp-full.svg"); right: 0px; } nav .links .icon .count { position: absolute; top: -3px; left: 34px; width: auto; height: 20px; /* color: #d6ab4d; */ font-size: 13px; line-height: 20px; /* border-radius: 12px; */ text-align: left; /* color: #999999; */ /* color: #ffffff; background-color: #000000; */ /* background-color: #fff300; */ color: #999999; } nav a.logo { position: absolute; top: 0px; left: calc(50% - 100px); right: calc(50% - 100px); bottom: 0px; width: 200px; height: 70px; background-image: url("/_images/logo_line.svg"); background-size: auto 30px; background-repeat: no-repeat; background-position: center center; } /* +++++++++++++++++++++++++++++++++++++++++++++++++ */ /* CONTENT */ /* +++++++++++++++++++++++++++++++++++++++++++++++++ */ main { flex: 1 0 auto; padding: 0px 0px 0px 0px; min-height: 320px; } /* +++++++++++++++++++++++++++++++++++++++++++++++++ */ /* PATH */ /* +++++++++++++++++++++++++++++++++++++++++++++++++ */ .path { padding: 10px 0px 0px 0px; /* font-size: 25px; line-height: 40px; */ /* position: -webkit-sticky; position: sticky; top: 65px; */ /* background-color: #ffffff; */ } .path.filter { padding-top: 0px; position: fixed; top: 70px; z-index: 10; width: 100%; background-color: #ffffff; } .path .item { display: flex; vertical-align: top; padding: 0px 10px 0px 10px; } .path .item.extraLeftMargin { margin-left: 10px; } .path.filter .item { justify-content: space-between; padding: 0px 10px 0px 10px; width: calc(100% - 20px); max-width: calc(100% - 20px); } .path .item .action { display: inline-block; vertical-align: top; padding: 10px 10px 10px 10px; /* font-weight: bold; font-size: 21px; font-family: "Caslon LT Graphique"; */ /* font-size: 36px; */ } .path .item select { display: inline-block; vertical-align: top; background-color: #ffffff; /* color: #d6ab4d; */ height: 50px; width: calc(25% - 20px); /* border-top: 0.5px solid #999999; */ white-space: nowrap; text-overflow: ellipsis; overflow: hidden; margin: 0px 10px 0px 10px; } .path .item .child { /* display: inline-block; */ vertical-align: top; padding: 10px 10px 10px 10px; width: auto; position: relative; } .path.filter .item .child { /* font-weight: 600; */ } .path.filter .item .child:nth-child(2) { text-align: right; /* margin-left: 10px; */ /* float: right; */ } /* .path.filter .item .child:nth-child(2):before { content: ''; position: absolute; top: 0px; left: -30px; right: auto; bottom: auto; display: inline-block; vertical-align: top; width: 50px; height: 50px; margin-left: 0px; background-size: 24px 24px; background-repeat: no-repeat; background-position: center center; background-image: url("/_images/navigate_next-black-48dp.svg"); opacity: 0.25; } */ /* .path.filter .item .child { display: block; } */ /* .path.filter .item .child:nth-child(2) { float: right; } */ .path .item button.child { /* border-top: 0.5px solid #999999; */ /* margin-right: 20px; */ } .path.filter .item button.child:before { content: attr(data-label); color: #000000; font-size: 13px; line-height: 20px; display: block; font-weight: normal; } .path.filter .item button.child:nth-child(2):before { text-align: right; } .path .item .child.selected { /* background-color: #000000; color: #ffffff; */ } .path .item .child:after { content: ''; position: absolute; top: auto; left: 0px; right: 0px; bottom: 0px; /* width: auto; height: 7px; background-image: url("/_images/keyboard_arrow_down-black-48dp.svg"); background-size: 24px 24px; background-repeat: no-repeat; background-position: center; */ /* margin: auto; width: 0; height: 0; border-left: 6px solid transparent; border-right: 6px solid transparent; border-top: 6px solid #000000; background-image: none; */ } .path .item .child.selected:after { content: ''; position: absolute; top: auto; left: 0; right: 0; bottom: 0; margin: auto; width: 0; height: 0; border-left: 8px solid transparent; border-right: 8px solid transparent; border-bottom: 8px solid #000000; border-top: none; background-image: none; } .path .item.search { margin: 0px 10px 10px 10px; width: calc(100% - 40px); } .path .item.search .child { padding: 0px 0px 0px 0px; width: calc(100% - 20px); } .path .item.search .child input { height: 49px; border-bottom: 0.5px solid #999999; background-color: #ffffff; margin-left: -10px; margin-right: -10px; width: calc(100% + 20px); } .path .item.search .child input:focus { border-bottom: 0.5px solid #000000; } .path .shell { position: fixed; top: 0px; left: 0px; right: 0px; bottom: auto; width: auto; height: auto; z-index: 200; display: none; } .path .shell.show { display: block; height: auto; bottom: 0px; } .path .menu { position: absolute; top: 110px; left: 10px; right: auto; bottom: auto; padding: 5px 0px 5px 0px; /* width: calc(50% - 20px); */ /* margin: 0px 15px 0px 15px; */ overflow-y: scroll; /* max-width: 320px; */ /* width: calc(100% - 30px); */ /* z-index: 10; */ /* box-shadow: 0px 0px 48px rgba(0, 0, 0, 0.05); */ /* background-color: #edece8; */ background-color: #000000; /* column-fill: auto; DYNAMICALLY RESIZED SO SWITCHING BETWEEN COL COUNT DOES NOT WORK column-gap: 20px; column-count: 2; */ } .path .menu a, .path .menu button { /* display: inline-block; vertical-align: top; */ display: block; padding: 5px 10px 5px 10px; text-align: left; /* width: calc(50% - 20px); */ /* color: white; */ color: #ffffff; background-color: transparent; white-space: nowrap; } .path .menu a.teen, .path .menu button.teen { color: #aaaaaa; /* padding-left: 20px; */ } .path .menu a .discounted { display: inline-block; color: #d94646; } /* .path .menu .sub { max-width: 576px; -webkit-column-break-inside: avoid; page-break-inside: avoid; break-inside: avoid; } */ .path .menu .divide { padding: 5px 10px 5px 10px; color: #999999; /* 86bece 93c6d5 */ } #checkout { padding: 0 0 20px 0; } /* +++++++++++++++++++++++++++++++++++++++++++++++++ */ /* CART */ /* +++++++++++++++++++++++++++++++++++++++++++++++++ */ /* TODO IS THIS USED */ .cart { } .cart .group { display: inline-block; vertical-align: top; width: 50%; /* min-width: 688px; */ margin: 0px 0px 20px 0px; } /* .cart .group:last-of-type { width: 67%; } */ .cart .subgroup { display: inline-block; vertical-align: top; width: 100%; margin: 0px 0px 20px 0px; } .cart .subgroup.quick { margin-bottom: 0px; } .cart .hide { display: none; } .grid .title, .cart .title { padding: 9px 10px 0px 10px; margin: 0px 10px 10px 10px; } .grid .title { border-top: 0.5px solid #cccccc } .cart .title { border-top: 0.5px solid #000000; } .cart .title { font-weight: 600; } .cart .dynamic { display: none; padding-top: 30px; } .cart .dynamic.show { display: block; } /* .cart .dynamic.show + div { padding-top: 30px; } */ .cart .title .edit { float: right; } .cart .title .date { float: right; font-weight: normal; color: #555555; } .cart .value { padding: 0px 20px 0px 20px; } .cart .info .value { padding: 0px 10px 0px 10px; } .cart .info .value.small { font-size: 13px; line-height: 20px; } .cart .group25 { display: inline-block; vertical-align: top; width: 25%; } .cart .group33 { display: inline-block; vertical-align: top; width: 33.33%; } .cart .group50 { display: inline-block; vertical-align: top; width: 50%; } .cart .group75 { display: inline-block; vertical-align: top; width: 75%; } .cart .group100 { display: inline-block; vertical-align: top; width: 100%; } .cart .group100.bottom-padding { padding-bottom: 20px; } .cart .info { margin: 0px 10px 20px 10px; /* border-top: 0.5px solid #999999; */ border-top: 0.5px solid #999999; } .cart .info.instruction { padding: 10px 10px 10px 10px; } .cart .caption { margin: 20px 10px 10px 10px; padding: 10px 10px 10px 10px; /* border-top: 0.5px solid #999999; */ border-top: 0.5px solid #999999; color: #555555; } .cart label { margin: 0px 10px 0px 10px; } .cart select { /* margin: 0px 10px 0px 10px; */ width: calc(100%); } .cart textarea, .cart input[type="text"], .cart input[type="tel"], .cart input[type="email"] { margin: 0px 10px 0px 10px; width: calc(100% - 40px); } .cart button.remove { /* color: #d6ab4d; d94646 RED */ margin: 10px 0px 0px 0px; padding: 9px 0px 10px 0px; width: auto; } .cart .continue { display: block; font-weight: 600; background-color: #34c759; color: #ffffff; padding: 10px 10px 10px 10px; width: calc(100% - 20px); border-radius: 4px; text-align: center; } .cart .pay { display: block; font-weight: 600; background-color: #635bff; color: #ffffff; padding: 10px 10px 10px 10px; width: 100%; border-radius: 4px; text-align: center; } .cart .stripe { margin: 0; padding: 0; } .cart .stripe .button { display: block; font-weight: 600; background-color: #635bff; color: #ffffff; padding: 10px 0px 10px 0px; width: 100%; border-radius: 4px; text-align: center; } .cart .stripe .more { color: #635bff; text-align: center; padding: 10px 0px 0px 0px; } .cart .stripe-logo { display: block; color: #ffffff; width: 100%; height: 50px; margin: 0px 0px 5px 0px; background-image: url("/_images/blurple.svg"); background-size: auto 25px; background-repeat: no-repeat; background-position: center; } .cart .pay.amazon { background-color: #f0c14b; color: #000000; margin-bottom: 20px; margin-top: 10px; } .cart .pay.amazon.logo { height: 50px; background-image: url("/_images/amazon_logo.svg"); background-size: auto 23px; background-repeat: no-repeat; background-position: center; margin-bottom: 0px; } .cart .use { display: block; color: #ffffff; width: 100%; height: 50px; margin: 0px 0px 10px 0px; background-image: url("/_images/amazon_use.svg"); background-size: auto 11px; background-repeat: no-repeat; background-position: center; } .cart .buttons { padding-top: 10px; } .cart .table .buttons { padding-top: 20px; } .cart .quickpay { padding: 0px 10px 0px 10px; } .cart .questions { padding: 0px 10px 0px 10px; margin: 0px 10px 0px 10px; border-top: 0.5px solid #999999; color: #555555; } .cart .quickpay .paypal { padding: 20px 0px 10px 0px; display: none; } /* .cart .quickpay .stripe { padding: 10px 0px 10px 0px; display: none; } */ .cart .quickpay .show { display: block; } .cart .back { display: block; color: #000000; padding: 8px 9px 9px 9px; margin: 10px 10px 0px 10px; width: calc(100% - 40px); border: 0.5px solid #999999; border-radius: 4px; text-align: center; } .cart button.back { margin: 0px 0px 0.px 0px; width: 100%; border-radius: 4px; } .cart .submit { /* background-color: #d6ab4d; d6ab4d 6cf0f8 f9e951 fef151 e9e9e9 c4b27b d1a054 b68a3a d99938 ffd662 ffd551 f7c46c */ background-color: #34c759; font-weight: 600; color: #ffffff; margin: 10px 10px 0px 10px; width: calc(100% - 20px); border-radius: 4px; text-align: center; } .cart .table { margin: 10px 10px 0px 10px; /* border-top: 0.5px solid #999999; */ border-top: 0.5px solid #999999; } /* .cart .table tr:last-of-type { border-bottom: 0.5px solid #cccccc } */ .cart .table .image { padding: 10px 10px 10px 0px; max-width: 50px; width: 50px; } .cart .table .image a { width: 50px; height: 50px; } .cart .table img { width: 50px; height: 50px; } /* .cart .table .select { padding: 0px 0px 10px 0px; text-align: right; } */ /* .cart .table .select select { width: 60px; } */ .cart .table .shipping { padding: 0px 0px 0px 0px; } /* .cart .table .shipping select { margin-left: 0px; width: 100%; } */ .cart .table .shipping .details { padding: 0px 10px 0px 10px; } .cart .table .shipping .details ul { padding-bottom: 5px; } .cart .table .text { padding: 10px 10px 10px 10px; } .cart .table .empty { padding: 10px 10px 10px 10px; } .cart .table .sum { padding: 10px 10px 10px 10px; text-align: right; } .cart .table .sample { text-align: left; padding: 9px 0px 9px 0px; } .cart .table .sample button { background-color: #f3f3f3; /* 97e5bd */ border-radius: 4px; text-align: center; /* font-weight: 500; */ } .cart .table .checkbox { padding: 10px 0px 10px 0px; } .cart .table .checkbox input { margin-left: 10px; } .cart .table .checkbox div { padding: 5px 0px 5px 0px; } .cart .table .checkbox label { font-size: 18px; padding: 0px 0px 0px 0px; margin-right: 5px; } .cart .table .checkbox button { display: inline; width: auto; padding: 0px; margin: 0px; } .cart .table .checkbox textarea { margin: 0px; width: calc(100% - 20px); } .cart .table .callout { color: #555555; padding: 10px 10px 10px 10px; } .cart .table .callout span { color: #000000; } .cart .table .highlight { color: #d94646; padding: 10px 10px 10px 10px; } /* .cart .table td:first-of-type:not(.image) { padding-left: 10px; } */ .cart .table .number { padding: 10px 10px 10px 0px; text-align: right; } .cart .table .number.inventory { padding-right: 20px; } /* +++++++++++++++++++++++++++++++++++++++++++++++++ */ /* SELECT */ /* +++++++++++++++++++++++++++++++++++++++++++++++++ */ .select { background-color: #f3f3f3; padding: 0px 0px 0px 0px; margin-right: 10px; display: block; position: relative; width: auto; height: auto; } .select.variant { padding: 0px 0px 0px 0px; margin: 0px -10px 5px -10px; border-radius: 4px; } .select > select { width: 100%; min-width: 60px; padding-right: 30px; } .select:before { /* &#x25BC \f0d7 */ content: '\25BC'; line-height: 50px; text-align: center; display: block; position: absolute; top: 0; bottom: auto; left: auto; right: 0; width: auto; height: 50px; background-color: transparent; color: #333333; padding: 0px 10px 0px 10px; font-size: 14px; } /* +++++++++++++++++++++++++++++++++++++++++++++++++ */ /* MENU */ /* +++++++++++++++++++++++++++++++++++++++++++++++++ */ menu { background-color: white; padding: 10px 0px 10px 0px; position: fixed; top: 70px; left: 0px; right: 0px; bottom: auto; /* width: calc(50% - 20px); */ width: auto; height: 0px; overflow-y: scroll; z-index: 850; display: none; /* background-color: #f6f5f2; */ background-color: #ffffff; } menu.show { display: block; height: auto; bottom: 0px; } menu.display { display: block; position: relative; height: auto; width: auto; top: auto; left: auto; right: auto; bottom: auto; } menu .group { display: inline-block; vertical-align: top; margin: 0px 10px 0px 10px; padding: 0px 0px 20px 0px; column-fill: auto; column-gap: 20px; } menu .group.main { width: calc(33.33% - 20px); column-count: 1; } menu .group.flags { width: calc(100% - 20px); column-count: 4; } menu .group.brand { width: calc(100% - 20px); column-count: 4; } menu .group.category { width: calc(100% - 20px); column-count: 4; } menu .group.clearance { width: calc(100% - 20px); column-count: 4; } menu .group.collection { width: calc(100% - 20px); column-count: 4; } /* menu .group.split { display: inline-block; vertical-align: top; width: calc(50% - 20px); } */ /* menu .group.columns { width: calc(25% - 20px); column-count: 1; } */ /* menu .group:first-of-type { border-top: none; } */ menu a, menu button { /* display: inline-block; vertical-align: top; */ display: block; padding: 5px 10px 5px 10px; text-align: left; /* -webkit-column-break-inside: avoid; -moz-column-break-inside: avoid; column-break-inside: avoid; */ /* width: calc(50% - 20px); */ /* color: white; */ } menu .divide { padding: 5px 10px 5px 10px; color: #999999; /* 86bece 93c6d5 */ /* border-top: 0.5px solid #999999; */ } menu .sub { -webkit-column-break-inside: avoid; /* Chrome, Safari, Opera */ page-break-inside: avoid; /* Firefox */ break-inside: avoid; /* IE 10+ */ padding-bottom: 40px; } menu .sub .flag { background-size: 24px 24px; background-repeat: no-repeat; background-position: 10px 7px; padding-left: 42px; margin-bottom: 10px; } menu .sub .flag div { font-size: 13px; line-height: 20px; color: #888888; text-transform: uppercase; } menu .sub.noDivide { /* padding-bottom: 40px; */ } menu .sub a .discounted { display: inline-block; color: #d94646; } menu .sub a:last-of-type { /* padding-bottom: 40px; */ } menu .sub a .usonly { font-size: 13px; line-height: 20px; color: #888888; text-transform: uppercase; } .US menu .sub a .usonly { display: none; } /* menu .columns a, menu .columns button { width: calc(100% - 20px); } */ menu button.close { position: absolute; top: 0px; left: auto; right: 0px; bottom: auto; width: 70px; height: 70px; padding: 10px 10px 10px 10px; text-align: right; /* color: #d6ab4d; */ background-color: transparent; background-image: url("/_images/close-black-48dp.svg"); background-size: 24px 24px; background-repeat: no-repeat; background-position: center; } menu .title { padding: 0px 20px 15px 20px; } menu .subtitle { /* position: -webkit-sticky; position: sticky; top: 0px; */ column-span: all; padding: 10px 10px 10px 10px; margin-bottom: 10px; /* border-bottom: 0.5px solid #999999; */ color: #999999; /* background-color: #ffffff; */ /* font-weight: 600; */ /* background-color: #f6f5f2; */ } menu .teen { color: #999999; } /* +++++++++++++++++++++++++++++++++++++++++++++++++ */ /* FOOTER */ /* +++++++++++++++++++++++++++++++++++++++++++++++++ */ footer { flex-shrink: 0; padding: 0px 0px 30px 0px; margin: 0px 0px 0px 0px; /* font-size: 15px; line-height: 25px; */ /* background-color: #f6f5f2; */ background-color: #f3f3f3; } footer .section { margin: 0px 0px 10px 0px; display: inline-block; vertical-align: top; width: calc(50% - 0px); /* background: red; */ } footer label { font-size: 18px; line-height: 30px; /* font-weight: 500; */ padding: 5px 10px 10px 10px; color: #000000; } footer input[type="tel"] { display: inline-block; vertical-align: top; height: 49px; border-bottom: 0.5px solid #999999; background-color: #ffffff; background-color: transparent; width: calc(100% - 80px); /* margin: 0px 10px 0px 10px; */ /* margin-left: -10px; margin-right: -10px; */ /* width: calc(100% + 20px); */ } footer input[type="tel"]:focus { border-bottom: 0.5px solid #000000; } footer .submit { display: inline-block; vertical-align: top; width: 50px; height: 50px; margin-left: 0px; background-size: 24px 24px; background-repeat: no-repeat; background-position: center center; background-image: url("/_images/arrow_forward-black-48dp.svg"); border-bottom: 0.5px solid #999999; } footer .submit:disabled { opacity: 0.25; } footer input[type="tel"]:disabled { opacity: 0.25; } footer input[type="tel"]:focus + .submit { border-bottom: 0.5px solid #000000; } footer button { /* font-size: 15px; line-height: 25px; */ } footer .group { display: inline-block; vertical-align: top; margin: 0px 10px 0px 10px; padding: 0px 0px 20px 0px; } footer .connectGroup { display: none; padding: 0px 0px 30px 0px; } .US footer .connectGroup { display: inline-block; } footer .main a, footer .main button { display: block; padding: 5px 10px 5px 10px; text-align: left; background-color: transparent; } footer .subtitle { column-span: all; padding: 10px 10px 15px 10px; color: #999999; } footer .shipping { padding: 20px 20px 10px 20px; margin: 0px 0px 10px 0px; } footer .message { padding: 10px 10px 0px 10px; } footer .copyright { /* font-size: 13px; line-height: 20px; font-weight: 500; */ padding: 10px 10px 0px 10px; color: #555555; } menu a.restricted, menu button.restricted, footer a.restricted, footer button.restricted { display: none; } .US menu a.restricted, .US menu button.restricted, .US footer a.restricted, .US footer button.restricted { display: none; } /* +++++++++++++++++++++++++++++++++++++++++++++++++ */ /* SOURCE */ /* +++++++++++++++++++++++++++++++++++++++++++++++++ */ .source { /* display: flex; flex-wrap: wrap; */ padding: 0px 0px 0px 0px; width: 100%; } .source > div { position: relative; display: inline-block; vertical-align: top; width: calc(50% - 20px); margin: 10px 10px 0px 10px; } .source .image { position: relative; padding-bottom: 56.25%; margin-bottom: 10px; } .source .image img { position: absolute; top: 0; bottom: 0; left: 0; right: 0; width: 100%; height: 100%; object-fit: cover; object-position: center; } .source .notes { padding: 0px 0px 0px 0px; } .source .notes .note { margin: 0px 0px 0px 0px; padding: 0px 10px 30px 10px; } /* .source .notes .note > div { overflow: hidden; display: -webkit-box; -webkit-line-clamp: 9; -webkit-box-orient: vertical; } */ .source .notes .note.notitle { padding-top: 10px; border-top: 0.5px solid #999999; } .source .notes .note .title { color: #999999; padding: 10px 10px 10px 10px; margin: 0px -10px 0px -10px; border-top: 0.5px solid #999999; } /* +++++++++++++++++++++++++++++++++++++++++++++++++ */ /* PRODUCT */ /* +++++++++++++++++++++++++++++++++++++++++++++++++ */ .product { /* display: flex; flex-wrap: wrap; */ padding: 0px 0px 0px 0px; width: 100%; } .product tr td.days { border: 0px; } .product td.days button { display: inline-block; vertical-align: top; width: 50px; height: 50px; border-radius: 4px; background-size: 24px 24px; background-repeat: no-repeat; background-position: center; background-image: url("/_images/arrow_downward-black-48dp.svg"); background-color: #ffffff; border: 0.5px solid #34c759; } .product td.days { padding-left: 0px; padding-right: 0px; } .product td.days .select { margin-left: 10px; margin-right: 10px; } .product td.days input { width: 80px; } .product .instruction { padding: 5px 10px 5px 10px; margin: 0px 10px 10px 10px; color: #555555; } .product .instruction .buttons { padding: 5px 0px 5px 0px; } .product .instruction .buttons button { padding: 5px 0px 5px 0px; } .product > div { position: relative; display: inline-block; vertical-align: top; width: calc(50% - 20px); margin: 10px 10px 0px 10px; } .product .location { padding: 20px 100px 10px 10px; /* font-size: 27px; line-height: 35px; */ display: none; } .product table { margin: 5px 0px 0px 0px; } .product tr:first-child { border-top: 0.5px solid #999999; } .product tr.noBottom { border-bottom: none; } /* .product tr td.demphasis { padding-top: 0px; } */ .product th { padding: 10px 10px 10px 10px; text-align: left; } .product td { padding: 10px 10px 10px 10px; } /* .product .location > a { padding-left: 40px; } .product .location > a:before { content: ''; position: absolute; top: 10px; left: 0px; width: 50px; height: 50px; background-size: 24px 24px; background-repeat: no-repeat; background-position: center center; background-image: url("/_images/navigate_before-black-48dp.svg"); } */ .product .exclusion { padding: 10px 10px 10px 10px; border-top: 0.5px solid #999999; } .product .promos { padding: 5px 0px 10px 0px; border-top: 0.5px solid #999999; } .product .promos .promo { /* border-radius: 4px; */ /* background-color: #f6f6f6; #f3f3f3 #edf9f0 */ padding: 10px 10px 10px 10px; margin: 5px 0px 0px 0px; width: calc(50% - 25px); display: inline-block; vertical-align: top; font-size: 14px; line-height: 20px; /* font-weight: 500; */ } .product .promos .promo.within { /* background-color: #ffed00; padding: 9px 9px 9px 9px; border: 0.5px solid #999999; background-color: #ffffff; */ } .product .promos .promo:nth-of-type(odd) { margin-right: 5px; } .product .promos .promo:nth-of-type(even) { margin-left: 5px; } .product .promos .promo.sample { margin-top: 10px; width: calc(100% - 20px); } .product .promos .title { color: #888888; } .product .promos .promo.within .title { color: #888888; } .product .wrap { border-top: 0.5px solid #999999; padding-top: 10px; } .product .image { position: relative; padding-bottom: 100%; margin-bottom: 10px; } .product .image.brand { padding-bottom: 56.25%; margin-left: -10px; margin-right: -10px; background-color: red; margin-bottom: 15px; width: calc(100% + 20px); } .product .image img { position: absolute; top: 0; bottom: 0; left: 0; right: 0; width: 100%; height: 100%; object-fit: cover; object-position: center; } .product .sisters { padding: 0px 10px 10px 10px; } .product .sisters .sister { display: inline-block; /* vertical-align: top; PREVENTS BORDER FROM SHOWING */ /* width: 12.5%; padding-bottom: 12.5%; */ width: 16.66%; padding-bottom: 16.66%; position: relative; border-bottom: 0.5px solid #ffffff; } .product .sisters .sister.selected { border-bottom: 0.5px solid #000000; } .product .sisters .sister img { position: absolute; top: 0; bottom: 0; left: 0; right: 0; width: 100%; /* height: calc(100% - 1px); */ object-fit: cover; object-position: center; } .product .page { position: absolute; top: 0px; right: 0px; width: 100px; } .product .page .control { display: inline-block; vertical-align: top; width: 50px; height: 50px; margin-left: 0px; background-size: 24px 24px; background-repeat: no-repeat; background-position: center center; /* border-radius: 20px; */ /* background-color: #f3f3f3; */ } .product .page .control.previous { background-image: url("/_images/navigate_before-black-48dp.svg"); /* background-image: url("/_images/arrow_back-black-48dp.svg"); */ } .product .page .control.next { background-image: url("/_images/navigate_next-black-48dp.svg"); /* background-image: url("/_images/arrow_forward-black-48dp.svg"); */ } .product .page .control.previous.disabled, .product .page .control.next.disabled { opacity: 0.25; /* border: 0.5px solid #000000; */ } .product .details { border-top: 0.5px solid #999999; padding: 10px 10px 10px 10px; /* margin-right: 50px; */ /* border-top: 0.5px solid #000000; */ /* font-size: 27px; line-height: 35px; */ } .product .details .brand { padding-right: 80px; } .product .details h2 { font-weight: 600; } .product .details .total { /* font-weight: 400; */ } .product .outofstock { /* padding: 10px 10px 10px 10px; margin: 0px -10px 0px -10px; */ /* border-top: 0.5px solid #cccccc */ } .product .actions { padding: 0px 0px 0px 10px; margin: 0px 0px 10px -10px; /* position: sticky; top: auto; left: 0px; right: 0px; bottom: 0px; */ /* width: calc(100%); */ } .product a.dd { display: block; vertical-align: top; margin: 5px 0px 10px 0px; width: calc(100% - 60px); line-height: 30px; padding: 10px 0px 10px 0px; font-weight: 600; border-radius: 4px; text-align: center; } .product .actions button { position: relative; /* display: inline-block; */ display: block; vertical-align: top; /* background-color: #34c759; 34c759 cbe1e8 d6ab4d 6cf0f8 f9e951 fef151 e9e9e9 c4b27b d1a054 b68a3a d99938 ffd662 ffd551 f7c46c */ margin: 0px 0px 0px 0px; /* width: calc(100% - 60px); */ width: 100%; /* width: calc(100% - 80px); */ /* color: #000000; */ /* color: #ffffff; */ /* border-top: 0.5px solid #d6ab4d !important; */ /* border-top: 0.5px solid #999999; */ /* font-size: 27px; line-height: 35px; */ /* font-weight: 600; text-transform: uppercase; */ /* background-color: #e6f5f4; */ /* border-top: 0.5px solid #999999; padding-bottom: 9px; */ /* font-size: 27px; line-height: 35px; */ /* font-weight: 500; */ /* color: #34c759; */ font-weight: 600; /* background-color: #f6f5f2; */ border-radius: 4px; background-color: #34c759; color: #ffffff; text-align: center; } .product .actions button.buy { background-color: #635bff; margin: 10px 0px 0px 0px; } .product .actions button:first-child { /* background-color: #f6f5f2; */ } .product .actions button.add { /* background-color: #34c759; color: #ffffff; */ } /* .grid .actions button span, .product .details a span, .product .details button span, .product .actions button span { border-bottom: 0.5px solid GAINSBORO; } */ /* .product .actions button:not(.favorite) { background-color: #000000; color: #ffffff; text-align: center !important; } */ /* .product .actions button:not(.favorite) { padding-left: 50px; } .product .actions button:not(.favorite):before { content: ''; position: absolute; top: 10px; left: 10px; right: auto; bottom: auto; vertical-align: bottom; display: inline-block; width: 30px; height: 30px; background-size: 24px 24px; background-repeat: no-repeat; background-position: center; background-image: url("/_images/add-black-48dp.svg"); background-color: #fff300; border-radius: 15px; } */ .product .actions button.favorite { display: inline-block; vertical-align: top; width: 50px; height: 50px; margin-left: 10px; background-size: 24px 24px; background-repeat: no-repeat; background-position: center; background-image: url("/_images/favorite_border-black-48dp.svg"); background-color: #ffffff; border: 0.5px solid #34c759; } .product .actions button.favorite.true { background-image: url("/_images/favorite-black-48dp.svg"); } .product .actions button.hide { display: none; } .product .actions button:disabled { opacity: 50%; } .product .category { padding: 10px 10px 0px 10px; border-top: 0.5px solid #999999; } .product .restricted { margin-top: 5px; padding: 10px 10px 10px 10px; border-top: 0.5px solid #999999; } .product .gallery { margin-top: 10px; padding: 10px 10px 0px 10px; border-top: 0.5px solid #999999; } .product .avaliable { margin: 0px 0px 10px 0px; padding: 10px 10px 10px 10px; font-size: 14px; line-height: 20px; background-color: #f1fbfb; } .product .collection { margin: 10px 0px 0px 0px; padding: 10px 10px 0px 10px; border-top: 0.5px solid #999999; } .product .classification { margin: 10px 0px 0px 0px; padding: 10px 10px 0px 10px; border-top: 0.5px solid #999999; } .product .later { text-align: center; text-transform: uppercase; font-size: 14px; padding-right: 60px; padding-bottom: 10px; } .product .remaining { color: #d94646; text-align: center; padding-bottom: 5px; } .product .description { margin: 10px 0px 0px 0px; padding: 10px 10px 30px 10px; border-top: 0.5px solid #999999; } .product .notes { /* border-top: 0.5px solid #999999; */ padding: 0px 0px 25px 0px; /* 12PX IS AN OPTICAL ADJUSTMENT */ /* font-size: 16px; line-height: 25px; */ } .product .notes .note { margin: 0px 0px 0px 0px; padding: 0px 10px 0px 10px; /* border-top: 0.5px solid #999999; */ /* color: #555555; */ } .product .notes .extra-bottom { margin-bottom: 15px; } .product .notes .note.notitle { padding-top: 10px; border-top: 0.5px solid #999999; } /* .product .notes .note:first-of-type { padding-top: 10px; } */ .product .notes .note .title { /* color: #999999; */ padding: 10px 10px 10px 10px; margin: 0px -10px 0px -10px; width: calc(100% + 20px); /* font-weight: 600; */ border-top: 0.5px solid #999999; } .product .notes .note .title:before { content: '\2b'; /* color: #34c759; color: #c7c1af; */ text-align: center; padding: 0px 10px 0px 0px; } /* .product .notes .note .title:after { content: '\2b'; color: #34c759; #c7c1af; width: 30px; text-align: center; float: right; } */ .product .notes .note .title + div { display: none; color: #555555; } .product .notes .note .title.show { padding-bottom: 30px; } .product .notes .note .title.show:before { content: '\2212'; } /* .product .notes .note .title.show:after { content: '\2212'; } */ .product .notes .note .title.show + div { display: block; padding-bottom: 20px; } .product .notes .note .ingredients { column-count: 1; column-gap: 20px; margin-bottom: 20px; margin-top: -5px; } .product .notes .note .ingredients .link span { color: #555555; } .product .notes .note .disclaimer { column-span: all; padding-top: 20px; /* font-size: 13px; line-height: 20px; */ color: #555555; } .product .notes .note .more { display: block; margin-top: 20px; margin-bottom: 10px; padding-top: 10px; padding-bottom: 10px; } .product .notes .note .ingredients button { padding-bottom: 0px; -webkit-column-break-inside: avoid; page-break-inside: avoid; break-inside: avoid; padding: 0 0 10px 0; margin: 0 0 0 0; text-transform: capitalize; } /* .product .options { } .product .options .option { vertical-align: top; display: inline-block; width: 50%; } .product .options .option:nth-child(odd) { margin: 10px 0px 10px 0px; } .product .options .option:nth-child(even) { margin: 10px 0px 10px 0px; } */ .banner { display: none; padding: 10px 10px 10px 10px; /* margin: 0px -10px 0px -10px; */ background-color: transparent; } .product .banner { padding: 0px 10px 10px 10px; } .cart .banner { margin: 0px 10px 0px 10px; } .grid .banner { /* margin: 0px 10px 0px 10px; */ width: 100%; padding: 0px 10px 0px 10px; } .grid .actions .banner { padding: 0px 0px 0px 0px; } .popover .form .banner { padding: 0px 10px 10px 10px; } .banner.show { display: block; } .banner.error { /* background-color: #f7e6e6; color: #000000; */ /* color: #cb0000; */ color: #ff3b30; } /* .product .banner.error { color: #000000; } */ .cart .banner.error { /* background-color: #ffffff; */ } .banner.issue { /* background-color: #f7f4e6; */ /* color: #cb0000; */ color: #ff3b30; } .banner.success { /* background-color: #e6f5f4; e4f3f5 #e6f7e0; */ color: #34c759; } /* +++++++++++++++++++++++++++++++++++++++++++++++++ */ /* HOME */ /* +++++++++++++++++++++++++++++++++++++++++++++++++ */ .home { /* NADA */ } .home .top { text-align: center; height: 60px; padding: 10px 0px 10px 0px; } .home .top button { display: inline-block; vertical-align: top; width: auto; } .home .top a { display: inline-block; vertical-align: top; width: auto; padding: 10px 10px 10px 10px; } .home .top div { text-align: center; color: #777; font-size: 13px; line-height: 13px; } .home .item { display: block; height: calc(100vh - 150px); } .home .item img { display: block; vertical-align: top; height: 100%; width: 100%; object-fit: cover; object-position: center; } .home .bottom { text-align: center; height: 50px; padding: 10px 0px 0px 0px; } .home .bottom a { display: inline-block; vertical-align: top; width: auto; padding: 10px 0px 10px 0px; } /* +++++++++++++++++++++++++++++++++++++++++++++++++ */ /* GRID */ /* +++++++++++++++++++++++++++++++++++++++++++++++++ */ .arcade { display: flex; flex-wrap: wrap; overflow: visible; padding: 0px 0px 10px 0px; } .arcade .photo { width: calc(33% - 20px); margin: 0px 10px 20px 10px; cursor: pointer; position: relative; display: flex; flex-direction: column; text-align: center; /* -webkit-box-shadow: 0px 0px 40px 0px rgba(0,0,0,0.04); -moz-box-shadow: 0px 0px 40px 0px rgba(0,0,0,0.04); box-shadow: 0px 0px 40px 0px rgba(0,0,0,0.04); */ } .arcade .photo .title { /* border-top: 0.5px solid #999999; */ text-align: left; padding: 10px 10px 10px 10px; } .arcade .photo .image { position: relative; width: calc(100%); padding-bottom: calc(150%); background-color: #f6f5f2; } .arcade .photo .image img { position: absolute; top: 0; bottom: 0; left: 0; right: 0; width: 100%; height: 100%; object-fit: cover; object-position: center; mix-blend-mode: multiply; } @media all and (max-width: 768px) { .arcade .photo { width: calc(50% - 20px); } } /* +++++++++++++++++++++++++++++++++++++++++++++++++ */ /* GRID */ /* +++++++++++++++++++++++++++++++++++++++++++++++++ */ .grid { display: flex; flex-wrap: wrap; overflow: visible; padding: 0px 0px 20px 0px; } .grid.samples { padding-bottom: 10px; } .grid .instruction { padding: 5px 10px 5px 10px; margin: 0px 10px 10px 10px; color: #555555; max-width: 576px; } .grid .instruction .buttons { padding: 5px 0px 5px 0px; } .grid .instruction .buttons button { padding: 5px 0px 5px 0px; } .grid .instruction.search { /* padding-top: 10px; */ } .grid .title { display: block; width: calc(100% - 20px); border-top: 0.5px solid #999999; } .grid .item { width: calc(33.33% - 20px); margin: 10px 10px 10px 10px; /* padding: 10px 0px 0px 0px; */ cursor: pointer; background-color: #ffffff; position: relative; /* border-top: 0.5px solid #999999; */ display: flex; flex-direction: column; text-align: center; /* -webkit-box-shadow: 0px 0px 40px 0px rgba(0,0,0,0.04); -moz-box-shadow: 0px 0px 40px 0px rgba(0,0,0,0.04); box-shadow: 0px 0px 40px 0px rgba(0,0,0,0.04); */ } .grid.samples .item { width: calc(50% - 20px); font-size: 15px; line-height: 25px; outline: 0.5px solid #999999; } /* .grid.home { margin: 0px 40px 0px 40px; } */ /* .grid.home .item { width: calc(100% - 80px); padding: 20px 20px 20px 20px; margin: 0px 20px 40px 20px; border-top: none; } */ .grid .item a { flex-grow: 1; display: flex; flex-direction: column; } .grid .regimen { width: 100%; border-top: 0.5px solid #999999; margin: 10px 10px 0px 10px; padding: 10px 10px 10px 10px; /* text-transform: uppercase; */ } .grid.samples .regimen { margin: 20px 10px 0px 10px; padding: 10px 0px 10px 0px; } .grid.samples .regimen:first-of-type { margin-top: 0px; } /* .grid .item:hover { -webkit-box-shadow: 0px 0px 24px 0px rgba(0,0,0,0.1); -moz-box-shadow: 0px 0px 24px 0px rgba(0,0,0,0.1); box-shadow: 0px 0px 24px 0px rgba(0,0,0,0.1); } */ /* .grid .item .image { display: block; padding-bottom: calc(100%); background-repeat: no-repeat; background-size: cover; background-position: center; margin-bottom: 0px; } */ .grid .item .image { position: relative; width: calc(100%); padding-bottom: calc(100%); /* background-color: #f7f7f7; */ } /* .grid.home .item .image { padding-bottom: calc(66.67%); } */ .grid .item .image img { position: absolute; top: 0; bottom: 0; left: 0; right: 0; width: 100%; height: 100%; object-fit: cover; object-position: center; } .grid .item .image .overlay { position: absolute; bottom: 20px; left: 0px; width: auto; min-width: calc(50% - 20px); height: auto; padding: 10px 10px 10px 10px; color: #000000; background-color: #ffffff; } .grid .item .details { padding: 10px 10px 10px 10px; /* text-align: center; */ /* border-top: 0.5px solid #999999; */ position: relative; /* display: flex; flex-direction: column; */ /* flex-grow: 1; */ } .grid .item .details .label { flex-grow: 1; /* padding-bottom: 10px; */ /* border-bottom: 0.5px solid #999999; */ /* font-weight: 300; */ } .grid .item .details .label span { /* display: block; */ } .grid .item .details .description { margin: 10px 0px 0px 0px; padding: 10px 0px 0px 0px; border-top: 0.5px solid #999999; text-align: left; } /* .grid .item .details .description { padding: 10px 0px 10px 0px; color: #555555; display: none; } .grid .item .details.open .description { display: block; } */ /* .grid .item .brand { position: absolute; top: 0px; left: 0px; right: 0px; bottom: 0px; z-index: 10; overflow-x: hidden; overflow-y: scroll; border-top: 10px solid #9c9b98; padding: 9px 10px 10px 10px; } */ /* .grid .item .brand .name { font-weight: bold; } */ /* .grid .item .brand .description { padding: 10px 0px 0px 0px; color: #555555; } */ /* .grid .item .price { padding: 10px 10px 10px 10px; text-align: right; } .grid .item.product .price { padding: 0px 0px 0px 0px; text-align: left; font-size: 21px; line-height: 27px; } */ /* .grid .item.product .description { padding: 10px 0px 0px 0px; font-size: 21px; line-height: 27px; } */ /* .grid .item .action { position: absolute; bottom: 45px; padding: 10px 10px 10px 10px; } .grid .item .action.selected { background-color: #ffffff; } .grid .item .action span { } */ /* .grid .item .banner { margin-left: 0px; margin-right: 0px; width: calc(100% - 20px); } */ .grid .item .actions { position: relative; padding: 0px 0px 0px 0px; } .grid .item .restricted { display: inline-block; vertical-align: top; text-align: center; padding: 10px 10px 10px 10px; } .grid .item button.add { /* border-top: 0.5px solid #999999; */ display: inline-block; vertical-align: top; text-align: center; /* width: calc(100% - 50px); */ /* font-weight: 600; */ /* padding-top: 9px; padding-bottom: 9px; margin-right: 20px; border: 0.5px solid #999999; */ /* font-weight: 600; */ /* background-color: #e6f5f4; */ /* background-color: rgba(255,255,51,1); */ /* border-top: 0.5px solid #999999; */ /* background-color: #000000; 00e4c8 */ /* color: #ffffff; */ /* border-top: 0.5px solid #999999; padding-bottom: 9px; */ /* border-radius: 25px; */ /* text-align: center; */ /* background-color: #000000; color: #ffffff; */ /* width: auto; margin: 10px auto 10px auto; padding-left: 25px; padding-right: 25px; border-radius: 25px; border: 0.5px solid #999999; */ /* color: #b19671; */ /* color: #34c759; */ /* border-bottom: 0.5px solid #34c759; */ width: auto; /* margin: 0px auto 10px auto; padding-left: 15px; padding-right: 15px; */ /* border-top: 0.5px solid #999999; */ /* font-weight: 500; */ } .grid .item button { font-weight: 600; } .grid .item button.hide { display: none; } .grid .item button.favorite { /* border-top: 0.5px solid #999999; */ position: absolute; top: auto; left: auto; right: 0px; bottom: 10px; /* margin-top: calc(100% - 50px); */ display: inline-block; vertical-align: bottom; width: 50px; height: 50px; background-size: 24px 24px; background-repeat: no-repeat; background-position: center; background-image: url("/_images/favorite_border-black-48dp.svg"); background-color: transparent; /* border: 0.5px solid #999999; */ display: none; } .grid .item button.favorite.true { background-image: url("/_images/favorite-black-48dp.svg"); } /* +++++++++++++++++++++++++++++++++++++++++++++++++ */ /* ships */ /* +++++++++++++++++++++++++++++++++++++++++++++++++ */ .ships { width: calc(100% - 40px); border-top: 0.5px solid #999999; margin: 20px 10px 0px 10px; padding: 0px 10px 0px 10px; /* display: flex; justify-content: center; */ /* over-flow: hidden; white-space: nowrap; overflow-y: scroll; */ } .ships .ship { border-radius: 4px; padding: 9px 15px 0px 0px; margin: 0px 0px 0px 0px; display: inline-block; /* width: calc(50% - 25px); vertical-align: top; */ /* font-size: 14px; line-height: 20px; font-weight: 500; */ } .ships .ship:last-of-type { padding-right: 0px; } .ships .ship div { color: #555555; } /* +++++++++++++++++++++++++++++++++++++++++++++++++ */ /* APPROVAL */ /* +++++++++++++++++++++++++++++++++++++++++++++++++ */ .approval { display: none; position: fixed; top: auto; left: 0; right: 0; bottom: 0; width: auto; min-height: 40px; height: auto; z-index: 900; background-color: #ebe8e1; padding: 15px 90px 15px 20px; font-size: 13px; line-height: 20px; } .approval.show { display: block; } .approval button { position: absolute; top: 10px; left: auto; right: 10px; bottom: auto; min-width: 70px; width: auto; height: auto; z-index: 900; background-color: #000000; color: #ffffff; padding: 10px 10px 10px 10px; text-align: center; font-size: 13px; font-weight: 600; } /* +++++++++++++++++++++++++++++++++++++++++++++++++ */ /* POPOVER */ /* +++++++++++++++++++++++++++++++++++++++++++++++++ */ .popover { display: none; position: fixed; top: 0; left: 0; right: 0; bottom: auto; width: auto; height: 0px; z-index: 1000; background-color: rgba(0,0,0,0.2); justify-content: center; } .popover.show { display: flex; bottom: 0px; height: auto; overflow: hidden; } .popover .shell { overflow-y: scroll; -webkit-overflow-scrolling: touch; width: 100%; max-width: 414px; max-height: 100%; height: auto; align-self: flex-start; /* PREVENTS FROM FILLING VERTICALLY */ background-color: #ffffff; } .popover .wrap { padding: 0px 10px 0px 10px; /* background-color: #fff300; */ } .popover .wrap .title { padding: 20px 10px 10px 10px; font-weight: 600; background-color: #ffffff; position: -webkit-sticky; position: sticky; top: 0px; } .popover .wrap .instruction { padding: 10px 10px 10px 10px; /* color: #555555; */ } .popover .wrap .info { padding: 10px 10px 25px 10px; } .popover .wrap .info.small { font-size: 13px; line-height: 20px; padding-bottom: 25px; } .popover .wrap .info.tight { padding-bottom: 5px; } .popover .wrap .source { display: block; padding-top: 10px; } .popover .wrap .info.error { padding: 10px 10px 0px 10px; } .popover .wrap .form { padding: 10px 0px 20px 0px; width: calc(100% - 20px); } /* .popover .wrap .error { padding: 0px 10px 10px 10px; } */ .popover .wrap .actions { padding: 0px 0px 0px 0px; margin: 0px 0px 0px 0px; position: -webkit-sticky; position: sticky; bottom: 0px; background-color: #ffffff; } .popover .wrap .actions.multi { margin: 0px -5px 0px -5px; } .popover .wrap .actions button { border-top: 0.5px solid #999999; padding: 10px 0px 10px 0px; margin: 0px 10px 0px 10px; width: calc(100% - 20px); } .popover .wrap .actions.multi button { margin: 0px 5px 0px 5px; width: calc(50% - 20px); display: inline-block; vertical-align: top; } .popover .wrap .actions button.primary { margin-bottom: 10px; font-weight: 600; } .popover .wrap .actions.multi button.primary { margin-bottom: 0px; } .popover .wrap .actions button.secondary { font-weight: 600; } /* +++++++++++++++++++++++++++++++++++++++++++++++++ */ /* LOCATIONS */ /* +++++++++++++++++++++++++++++++++++++++++++++++++ */ .locations { padding: 0px 0px 0px 0px; } .locations .location { /* display: inline-block; */ vertical-align: top; /* width: calc(50% - 20px); */ padding: 0px 10px 0px 10px; } .locations .location .image { width: 100%; padding-bottom: 66.67%; background-size: cover; background-repeat: no-repeat; background-position: center; } .locations .location .image.sf { background-image: url("/_images/location-sf-bw.jpg"); } .locations .location .image.dc { background-image: url("/_images/location-dc-bw.jpg"); } .locations .location .head { font-weight: 600; border-top: 0.5px solid #000000; padding: 10px 0px 5px 0px; margin-top: 10px; } .locations .location .details { padding: 0px 0px 30px 0px; } .locations .location .details a { display: block; } .locations .location .title { padding: 15px 10px 0px 10px; color: #000000; } .locations .location .subtitle { padding: 0px 10px 15px 10px; margin: 0px 0px 15px 0px; /* font-size: 12px; line-height: 20px; text-transform: uppercase; */ color: #999999; border-bottom: 0.5px solid #999999; } .locations .location .details .status { padding: 0px 10px 15px 10px; margin: 0px 0px 15px 0px; /* font-size: 13px; line-height: 25px; */ border-bottom: 0.5px solid #999999; } .locations .location .details .status .link { display: inline-block; /* font-size: 13px; line-height: 25px; */ padding: 0px 0px 0px 0px; margin: 0px 0px 0px 0px; width: auto; } .locations .location .details .address { display: inline-block; vertical-align: top; width: calc(50% - 20px); min-width: 210px; padding: 0px 10px 0px 10px; /* color: #555555; */ /* font-size: 13px; line-height: 25px; */ } .locations .location .details .address .group { padding: 0px 0px 30px 0px; } .locations .location .details .hours { display: inline-block; vertical-align: top; width: calc(50% - 20px); padding: 0px 10px 0px 10px; /* font-size: 13px; line-height: 25px; */ } .locations .location .details .hours .day { } .locations .location .details .hours .day div { float: left; width: 70px; color: #999999; } @media all and (max-width: 480px) { .locations .location .details .address, .locations .location .details .hours { display: block; width: calc(100% - 20px); } .ships { } .ships .ship { font-size: 14px; line-height: 20px; } .ships .ship.nomobile { /* display: none; */ } .ships .ship:first-of-type { /* display: none; */ } .promo { font-size: 14px; line-height: 20px; } } /* +++++++++++++++++++++++++++++++++++++++++++++++++ */ /* IG */ /* +++++++++++++++++++++++++++++++++++++++++++++++++ */ .ig { display: flex; flex-wrap: wrap; margin: 0px 10px 10px 10px; } .ig a { width: calc(25% - 20px); margin: 0 0; padding: 0 0; margin: 10px 10px 10px 10px; } .ig a img { display: block; width: 100%; height: 100%; max-width: 100%; object-fit: cover; object-position: center; margin: 0 0; padding: 0 0; vertical-align: top; } @media all and (max-width: 480px) { .ig a { width: calc(50% - 20px); } } /* +++++++++++++++++++++++++++++++++++++++++++++++++ */ /* PHOTOS */ /* +++++++++++++++++++++++++++++++++++++++++++++++++ */ .photos { padding: 0px 10px 10px 10px; } .photos img { outline: 0.5px solid #ffffff; cursor: zoom-in; } .photos img.half { width: 50%; float: left; } .photos img.full { width: 100%; float: left; } .photos img.third { width: 33.33%; float: left; } .photos img.portrait { width: 30.77%; float: left; } .photos img.landscape { width: 69.23%; float: left; } @media all and (max-width : 767px) { .photos img.half, .photos img.third, .photos img.landscape, .photos img.portrait { width: 100%; } } /* +++++++++++++++++++++++++++++++++++++++++++++++++ */ /* ZOOM - UNUSED */ /* +++++++++++++++++++++++++++++++++++++++++++++++++ */ .zoom { position: fixed; left: 0px; top: 0px; right: 0px; bottom: 0px; width: auto; height: auto; /*background-color: rgba(0,0,0,0.75);*/ background-color: #ffffff; z-index: 99999; display: flex; flex-direction: column; align-items: center; justify-content: center; cursor: zoom-out; } .zoom .close { position: absolute; left: auto; top: 0px; right: 0px; bottom: auto; width: 48px; height: 48px; font-size: 24px; line-height: 48px; text-align: center; color: #ffffff; background-color: rgba(0,0,0,0.2); } .zoom img { height: auto; width: auto; /*max-width: calc(100% - 64px); max-height: calc(100% - 64px);*/ max-width: 100%; max-height: 100%; } /* +++++++++++++++++++++++++++++++++++++++++++++++++ */ /* ABOUT */ /* +++++++++++++++++++++++++++++++++++++++++++++++++ */ .about { margin: 0px 0px 0px 0px; padding: 0px 0px 0px 0px; overflow: visible; } .about .cover { /* margin-top: -30px; */ margin-bottom: 20px; position: relative; width: 100%; } .about .cover .image { text-align: center; } .about .cover .image img { display: block; width: 540px; height: 100%; max-width: 100%; object-fit: cover; object-position: center; margin: 0 auto; } .about .copy { margin: 0px auto; padding: 20px 20px 0px 20px; max-width: 540px; color: #000000; } .about .copy h1 { padding: 0px 0px 20px 0px; font-weight: 600; } .about .copy p { -webkit-column-break-inside: avoid; page-break-inside: avoid; break-inside: avoid; } .about .book { display: block; font-weight: 600; background-color: #34c759; color: #ffffff; padding: 10px 10px 10px 10px; width: calc(100% - 20px); border-radius: 4px; text-align: center; } /* +++++++++++++++++++++++++++++++++++++++++++++++++ */ /* CONTENT - COPY */ /* +++++++++++++++++++++++++++++++++++++++++++++++++ */ .content-copy { padding: 20px 20px 0px 20px; margin: 0px 0px 0px 0px; column-count: 4; column-gap: 40px; } .content-copy .sub { max-width: 576px; -webkit-column-break-inside: avoid; /* Chrome, Safari, Opera */ page-break-inside: avoid; /* Firefox */ break-inside: avoid; /* IE 10+ */ } .content-copy h6 { padding-top: 5px; padding-bottom: 5px; color: #999999; } .content-copy p, .content-copy ul { /* color: #555555; */ } .content-copy a { /* color: #d6ab4d; */ color: #555555; } @media all and (max-width : 1600px) { .content-copy { column-count: 3; } } @media all and (max-width : 1200px) { .content-copy { column-count: 2; } } @media all and (max-width : 979px) { .content-copy { column-count: 2; } } @media all and (max-width : 767px) { .content-copy { column-count: 1; } } @media all and (max-width : 480px) { .content-copy { column-count: 1; column-gap: 12px; } } @media all and (max-width : 320px) { .content-copy { column-count: 1; column-gap: 12px; } } /* +++++++++++++++++++++++++++++++++++++++++++++++++ */ /* CONTENT - SERVICES */ /* +++++++++++++++++++++++++++++++++++++++++++++++++ */ .content-services { padding: 20px 10px 0px 10px; margin: 10px 0px 0px 0px; column-count: 3; column-gap: 20px; /* overflow: visible; clear: both; border-top: 0.5px solid #999999; */ } .content-services .sub { break-inside: avoid; padding: 0px 0px 20px 0px; } .content-services .title { padding: 0px 10px 0px 10px; font-weight: 600; } .content-services .more { padding: 0px 10px 0px 10px; font-size: 13px; line-height: 20px; } .content-services table { table-layout: fixed; } .content-services thead tr { border-bottom: 0.5px solid #999999; } .content-services th { padding: 10px 10px 10px 10px; font-size: 13px; line-height: 20px; text-align: center; color: #555555; } .content-services td { padding: 10px 10px 10px 10px; } .content-services th.label, .content-services td.label { font-size: 13px; line-height: 20px; width: 180px; } .content-services td span { font-size: 13px; line-height: 20px; } .content-services .number { text-align: center; } @media all and (max-width : 1600px) { .content-services { column-count: 3; } } @media all and (max-width : 1200px) { .content-services { column-count: 2; } } @media all and (max-width : 979px) { .content-services { column-count: 2; } } @media all and (max-width : 767px) { .content-services { column-count: 1; } } /* +++++++++++++++++++++++++++++++++++++++++++++++++ */ /* CONTENT - PRESS */ /* +++++++++++++++++++++++++++++++++++++++++++++++++ */ .content-press { padding: 20px 10px 0px 10px; margin: 10px 10px 0px 10px; overflow: visible; clear: both; border-top: 0.5px solid #999999; } .content-press .head { padding: 5px 0px 5px 0px; /* font-weight: 600;*/ width: 100px; display: inline-block; vertical-align: top; margin-right: -100px; } .content-press .articles { display: inline-block; vertical-align: top; margin-left: 100px; width: calc(100% - 100px); } .content-press .articles .article { position: relative; display: inline-block; vertical-align: top; padding: 0px 0px 30px 0px; width: 25%; vertical-align: top; } .content-press .articles .article .brand { margin: 0px 0px 0px 0px; padding: 5px 10px 5px 10px; color: #000000; } .content-press .articles .article .description { margin: 0px 0px 0px 0px; padding: 5px 10px 5px 10px; } .content-press .articles .article .description .title { color: #555555; } @media all and (max-width: 1600px) { .content-press .articles .article { /* width: 20%; */ /* width: 25%; */ } } @media all and (max-width: 1338px) { .content-press .articles .article { width: 33%; } } @media all and (max-width: 1080px) { /* .content-press .articles .article { width: 33%; } */ } @media all and (max-width: 800px) { .content-press .articles .article { width: 50%; } } @media all and (max-width: 480px) { .content-press .articles .article { width: 100%; } } /* +++++++++++++++++++++++++++++++++++++++++++++++++ */ /* SIGNATURE */ /* +++++++++++++++++++++++++++++++++++++++++++++++++ */ .signature { display: none; margin: 10px 10px 10px 10px; } .signature .title { border-top: 0.5px solid #000000; padding: 10px 10px 20px 10px; font-weight: 600; } .signature .content { padding: 10px 10px 10px 10px; border-top: 0.5px solid #999999; } /* +++++++++++++++++++++++++++++++++++++++++++++++++ */ /* MEDIA - NON-CONTENT */ /* +++++++++++++++++++++++++++++++++++++++++++++++++ */ @media all and (min-width: 1260px) { .path .item select { width: calc(20% - 20px); } .grid:not(.samples) .item { width: calc(25% - 20px); } } @media all and (max-width: 1024px) { /* .grid.home .item { width: calc(50% - 20px); } */ } @media all and (max-width: 1023px) { menu .group.flags { column-count: 3; } menu .group.brand { column-count: 3; } menu .group.category { column-count: 3; } menu .group.clearance { column-count: 3; } menu .group.collection { column-count: 3; } } @media all and (max-width: 768px) { .path .item select { width: calc(33.33% - 20px); } .grid:not(.samples) .item { width: calc(50% - 20px); } .cart .group { width: 100%; } } @media all and (max-width: 767px) { menu .group.main { width: calc(50% - 20px); column-count: 1; } } @media all and (max-width: 414px) { /* body { margin: 10px 0px 10px 0px; } */ footer .section { width: calc(100% - 0px); } .locations .location { width: calc(100% - 20px); } .path .item select { width: calc(50% - 20px); } .product .details { /* padding-top: 20px; text-align: center; */ } .large { /* font-size: 18px; line-height: 30px; */ } .grid .item { /* width: calc(100% - 20px); */ font-size: 13px; line-height: 20px; } .grid .item button { font-size: 13px; line-height: 20px; } /* .grid .item .image { position: relative; width: calc(75%); padding-bottom: calc(75%); margin: 0 auto; } .grid .item .details { text-align: center; padding-left: 0px; padding-right: 0px; } */ /* .grid .item button { font-size: 15px; line-height: 20px; } .grid .item .details { padding: 10px 10px 0px 10px; } */ .grid .item .actions { /* padding: 5px 0px 0px 0px; */ /* display: none; */ } /* .grid .item .details .label { white-space: nowrap; text-overflow: ellipsis; overflow: hidden; } */ .grid .item button.favorite { width: 40px; height: 40px; right: 5px; bottom: 0px; display: none; } /* .grid.home .item { width: calc(100% - 20px); } */ .grid .item .image .overlay { font-size: 12px; padding-top: 6px; padding-bottom: 6px; } .source > div { width: calc(100% - 20px); } .product > div { /* display: inline-block; vertical-align: top; */ width: calc(100% - 20px); /* margin-bottom: 0px; padding-bottom: 0px; */ } .product .location { position: -webkit-sticky; position: sticky; top: 70px; background-color: #ffffff; z-index: 10; } .product .empty { display: none; } .cart .group { width: 100%; } nav a.logo { left: calc(50% - 90px); right: calc(50% - 90px); width: 180px; background-size: auto 22px; } /* nav .links .icon.search { display: none; } */ menu .group.flags { column-count: 2; } menu .group.brand { column-count: 2; } menu .group.category { column-count: 2; } menu .group.clearance { column-count: 2; } menu .group.collection { column-count: 2; } /* menu { top: 0px; } */ /* body { margin: 10px 5px 5px 5px; } * { } .nav { } nav .item { margin-left: 5px; margin-right: 5px; } .nav .item { margin-left: 5px; margin-right: 5px; } .grid .item { margin-left: 5px; margin-right: 5px; margin-bottom: 10px; } */ } @media all and (max-width: 375px) { /* .grid.home .item { width: calc(100% - 20px); } */ nav .links .icon.search { display: none; } } @media all and (max-width: 320px) { .grid:not(.samples) .item { width: calc(100% - 20px); } /* .grid.home .item { width: calc(100% - 20px); } */ menu .group.main { width: calc(100% - 20px); column-count: 1; } menu .group.flags { column-count: 1; } menu .group.brand { column-count: 1; } menu .group.category { column-count: 1; } menu .group.clearance { column-count: 1; } menu .group.collection { column-count: 1; } } @media all and (max-width: 666px) { /* body { font-size: 15px; line-height: 20px; } * { font-size: 15px; line-height: 20px; } .grid .item { padding-bottom: 40px; } .grid .item .details.open { bottom: 40px; } nav .item .logo { height: 20px; background-size: auto 20px; } .grid .item.tint { width: calc(100% - 20px); } .grid .item.tint .brand { position: relative; } .grid .item.tint .brand .description { display: none; } .nav .item .hide { display: none; } */ } @media all and (max-width: 567px) { /* .nav .item { width: calc(50% - 20px); } .nav .item .hide { display: inline; } */ } @media all and (max-width: 375px) { /* .grid:not(.samples) .item { width: calc(100% - 20px); } */ } @media all and (max-width: 320px) { /* .nav .item .hide { display: none; } */ } @media screen and (orientation: portrait) { /* .home .item .image { width: calc(100% - 40px); height: 100%; margin: 0px 20px 0px 20px; } */ /* .home .item img { object-fit: cover; } */ /* .home .item .image { width: 100%; margin: 0px 0px 0px 0px; } */ } /* +++++++++++++++++++++++++++++++++++++++++++++++++ */ /* SIGNATURE */ /* +++++++++++++++++++++++++++++++++++++++++++++++++ */ @media print { nav .links .icon { display: none; } footer { display: none; } /* .trustpilot { display: none; } */ .approval.show { display: none; } .livechat_button { display: none; } .signature { display: block; } .noprint { display: none; } } .link { /* color: #6abcd7 !important; */ /* color: #46cdd97 !important; */ /* color: #eb5528 !important; */ /* color: #d24319 !important; */ /* color: #3b5655 !important; */ /* color: #d6ab4d !important; LIGHT VERSION OF SALAMANDAR */ /* TODO MOVE TO END TO DEAL WITH IMPORTANT */ /* color: #d6ab4d !important; */ cursor: pointer; } .link span { color: inherit; border-bottom: 0.5px solid #cccccc; /* dotted #34c759 #3b9f53 #999999; */ /* white-space: normal; word-wrap: break-word; */ height: auto; position: relative; } a.link span { border-bottom: 0.5px solid #cccccc; /* SAFARI REQUIRED THIS } @media (hover: hover) { .link span:hover { border-bottom: 0.5px solid #333333; /* dotted #41a55a #333333; */ } } </style> <script> // localStorage.clear(); var statusError = { status: 'error', type: 'status', title: 'Error', message: 'An unknown error has occured. We have been notified of the issue. Reload the page and try again (S1).', secondary: 'Ok', primary: null, primaryAction: null, } var catchError = { status: 'error', type: 'catch', title: 'Error', message: 'An unknown error has occured. We have been notified of the issue. Reload the page and try again (C1).', secondary: 'Ok', primary: null, primaryAction: null, } var formError = { status: 'error', type: null, title: 'Error', message: 'See errors below.' } var addCartError = { status: 'error', type: null, title: 'Error', message: 'Product was not added, cart contains max available products.' } var addCartIssue = { status: 'issue', type: null, title: 'Error', message: '' // DYNAMIC } var addCartSuccess = { status: 'success', type: null, title: 'Success', message: '' // DYNAMIC } var connectJoinSuccess = { status: 'success', type: null, title: 'Success', message: 'A confirmation text message has been sent.' } var connectJoinError = { status: 'error', type: null, title: 'Error', message: '' // DYNAMIC } var notifyAddSuccess = { status: 'success', type: null, title: 'Success', message: 'Notification was saved.' } var notifyAddError = { status: 'error', type: null, title: 'Error', message: '' // DYNAMIC } var notifyRemoveSuccess = { status: 'success', type: null, title: 'Success', message: 'Notification was removed.' } function getCookie(cname) { let name = cname + "="; let decodedCookie = decodeURIComponent(document.cookie); let ca = decodedCookie.split(';'); let length = ca.length; for (let i = 0; i < length; i++) { let c = ca[i]; while (c.charAt(0) == ' ') { c = c.substring(1); } if (c.indexOf(name) == 0) { return c.substring(name.length, c.length); } } return ""; } function setCookie(cname, cvalue, exdays) { const d = new Date(); d.setTime(d.getTime() + (exdays * 24 * 60 * 60 * 1000)); let expires = "expires="+d.toUTCString(); document.cookie = cname + "=" + cvalue + ";" + expires + ";secure;path=/"; } function checkCookie(cname, cvalue) { let value = getCookie(cname); if (value != "") { // alert(cname); } else { setCookie(cname, cvalue, 365); } } function copyToClipboard(obj,event) { var range = document.createRange(); range.selectNode(obj); window.getSelection().removeAllRanges(); // CLEAR CURRENT SELECTION window.getSelection().addRange(range); // SELECT TEXT document.execCommand("copy"); window.getSelection().removeAllRanges(); // DESELECT } var capturedIngredients = []; function switchVariant(obj,event) { location.href = obj.value; } function toggleNote(obj,event) { if (obj.classList.contains('show')) { obj.classList.remove('show'); } else { obj.classList.add('show'); } } function toggleInfo(obj,event) { var info = obj.parentNode.querySelector('.details.open'); if (info) { info.classList.remove('open'); if (info.parentNode.id == obj.id) { return; } } info = obj.querySelector('.details'); if (info) { info.classList.add('open'); } } function toggleAddToCartState(enable,add,quantity) { if (enable) { if (quantity) { quantity.disabled = false; } if (add) { add.disabled = false; add.innerHTML = 'Add to Cart'; } } else { if (quantity) { if (typeof(cartQuantity) != 'undefined') { cartQuantity.disabled = true; } } if (add) { add.disabled = true; add.innerHTML = 'Adding ...'; } if (typeof(statusBanner) != 'undefined') { statusBanner.classList.remove('show'); statusBanner.classList.remove('success'); statusBanner.classList.remove('issue'); statusBanner.classList.remove('error'); statusBanner.textContent = ''; } else { var banner = add.parentNode.querySelector('.banner'); if (banner) { banner.classList.remove('show'); banner.classList.remove('success'); banner.classList.remove('issue'); banner.classList.remove('error'); banner.textContent = ''; } } } } function updateCartTotals(cells) { if (!cells[0]) { return; } var quantity = 0; var total = 0; var amount = 0; var subtotal = 0; cells.forEach(function(cell,i) { quantity = parseInt(cell.dataset.quantity); total = parseFloat(cell.dataset.total); amount = quantity * total; subtotal += amount; cell.innerHTML = '$' + amount.toFixed(2); }); cartSubtotal.innerHTML = '$' + subtotal.toFixed(2); } function changeShipMethod(obj,event) { if (obj.value == 'ship') { addressGroup.classList.add('show'); } else { addressGroup.classList.remove('show'); } } function continueToPayment() { var shipErrors = false; var token = getToken(); var method = 'ship'; // document.getElementById("method"); var fname = document.getElementById("fname"); var lname = document.getElementById("lname"); var email = document.getElementById("email"); var phone = document.getElementById("phone"); var recipient = document.getElementById("recipient"); var address = document.getElementById("address"); var unit = document.getElementById("unit"); var locality = document.getElementById("locality"); var province = document.getElementById("province"); var postalCode = document.getElementById("postalCode"); var note = document.getElementById("note"); var signup = document.getElementById("signup"); var fnameError = document.getElementById("fnameError"); var lnameError = document.getElementById("lnameError"); var emailError = document.getElementById("emailError"); var phoneError = document.getElementById("phoneError"); var addressError = document.getElementById("addressError"); var localityError = document.getElementById("localityError"); var provinceError = document.getElementById("provinceError"); var postalCodeError = document.getElementById("postalCodeError"); if (isEmpty(fname.value)) { fnameError.textContent = "Required"; shipErrors = true; } else { fnameError.textContent = ""; fname.value = trimString(fname.value); } if (isEmpty(lname.value)) { lnameError.textContent = "Required"; shipErrors = true; } else { lnameError.textContent = ""; lname.value = trimString(lname.value); } if (isEmpty(email.value)) { emailError.textContent = "Required"; shipErrors = true; } else { email.value = trimString(email.value); if (isEmail(email.value)) { email.value = email.value.toLowerCase(); emailError.textContent = ""; } else { emailError.textContent = "Check format"; shipErrors = true; } } if (isEmpty(phone.value)) { phoneError.textContent = "Required"; shipErrors = true; } else { phone.value = trimString(phone.value); phone.value = scrubPhoneNumber(phone.value); if (isPhoneNumber(phone.value)) { phone.value = formatPhoneNumber(phone.value); phoneError.textContent = ""; } else { phoneError.textContent = "Must contain 10 numbers"; shipErrors = true; } } if (isEmpty(recipient.value)) { recipient.textContent = ""; } else { recipient.value = trimString(recipient.value); } if (isEmpty(address.value)) { addressError.textContent = "Required"; shipErrors = true; } else { addressError.textContent = ""; } if (isEmpty(unit.value)) { unit.textContent = ""; } else { unit.value = trimString(unit.value); } if (isEmpty(locality.value)) { localityError.textContent = "Required"; shipErrors = true; } else { localityError.textContent = ""; locality.value = trimString(locality.value); } if (isEmpty(province.value)) { provinceError.textContent = "Required"; shipErrors = true; } else { provinceError.textContent = ""; province.value = trimString(province.value); } if (isEmpty(postalCode.value)) { postalCodeError.textContent = "Required"; shipErrors = true; } else { postalCode.value = trimString(postalCode.value); if (isValidPostalCode(postalCode.value)) { postalCodeError.textContent = ""; postalCodeError.textContent = ""; } else { postalCodeError.textContent = "Must be 5 or 9 numbers"; shipErrors = true; } } if (shipErrors) { showBannerMessage(formError,null,null,null); return false; } hideBannerMessage(null); var data = { token: token, method: 'ship', // method.value, fname: fname.value, lname: lname.value, email: email.value, phone: scrubPhoneNumber(phone.value), recipient: recipient.value, address: address.value, unit: unit.value, locality: locality.value, province: province.value, postalCode: postalCode.value, note: note.value, // signup: signup.checked, country: country.value, } fetch('/updateShipTo/', { method: 'POST', // or 'PUT' headers: { 'Content-Type': 'application/json', }, body: JSON.stringify(data), }).then((response) => response.json()).then((result) => { if (result.hasOwnProperty('status')) { if (result.status == 'error' || result.status == 'issue') { showBannerMessage(result,null,null,null); return; } } else { statusError.subject = '/updateShipTo/'; toggleInfoPopover(null,null,statusError,null); return; } hideBannerMessage(null); window.location.href = '/payment/' + token; }).catch((error) => { catchError.error = error; catchError.subject = '/updateShipTo catch/'; toggleInfoPopover(null,null,catchError,null); }); return false; } function removeCartProducts() { toggleProcessing(); var token = getToken(); var data = { token: token }; fetch('/removeCartProducts/', { method: 'POST', // or 'PUT' headers: { 'Content-Type': 'application/json', }, body: JSON.stringify(data), }).then((response) => response.json()).then((result) => { if (result.hasOwnProperty('status')) { if (result.status == 'error' || result.status == 'issue') { showBannerMessage(result,null,null,null); return; } } else { statusError.subject = '/removeCartProducts/'; toggleInfoPopover(null,null,statusError,null); return; } // location.reload(); // TODO LAZY BUT EASY window.location.replace(basketLink.href); // TODO LAZY BUT EASY }).catch((error) => { catchError.error = error; catchError.subject = '/removeCartProducts catch/'; toggleInfoPopover(null,null,catchError,null); }); } function showGridFilter(obj) { var filter = obj.dataset.filter; var shell = document.querySelector('[data-shell="' + filter + '"]'); obj.classList.add('selected'); if (shell) { shell.classList.add('show'); var menu = shell.querySelector('.menu'); if (menu) { var rect = obj.getBoundingClientRect(); menu.style.top = rect.y + rect.height + 'px'; menu.style.left = rect.x + 'px'; menu.style.minWidth = rect.width + 'px'; rect = menu.getBoundingClientRect(); var style = window.getComputedStyle(obj.parentNode); if (rect.top + rect.height > window.innerHeight) { var offset = 15; // parseInt(style.marginBottom); REMOPVED BOTTOM MARGIN menu.style.bottom = offset + 'px'; // window.innerHeight - rect.top - offset + 'px'; } rect = menu.getBoundingClientRect(); if (rect.x + rect.width > window.innerWidth) { menu.style.left = window.innerWidth - rect.width - parseInt(style.paddingRight) + 'px'; // } // SCROLL WILL NOT WORK WHEN RESIZED DYNAMICALLY // if (rect.left + (rect.width * 2) < window.innerWidth - parseInt(style.marginLeft) - parseInt(style.marginRight)) { // // menu.style.width = (rect.width * 2) + 'px'; // window.innerHeight - rect.top - offset + 'px'; // // } // console.log(rect.left + (rect.width * 2), window.innerWidth - parseInt(style.marginLeft) - parseInt(style.marginRight)); } document.body.classList.add('noscroll'); } } function hideGridFilter(obj,event) { event.stopPropagation(); var shells = document.querySelectorAll('[data-shell]'); if (shells) { shells.forEach(function(shell,i) { shell.classList.remove('show'); }); } var filters = document.querySelectorAll('[data-filter]'); if (filters) { filters.forEach(function(filter,i) { filter.classList.remove('selected'); }); } document.body.classList.remove('noscroll'); } function filterRegimen(obj,id) { var grid = document.querySelector('.grid'); var value = id; if (grid) { var items = grid.querySelectorAll('[data-regimen]'); var button = document.querySelector('[data-filter="regimen"]'); if (button) { var htmlString = '<span>'; if (obj.dataset.parent) { htmlString += obj.dataset.parent + ' / '; } htmlString += obj.textContent; htmlString += '</span>'; button.innerHTML = htmlString; } if (items) { items.forEach(function(item,i) { if (value == 'all') { if (item.classList.contains('regimen')) { item.style.display = 'flex'; } else { item.parentNode.style.display = 'flex'; } } else { if (value == item.dataset.regimen) { if (item.classList.contains('regimen')) { item.style.display = 'flex'; } else { item.parentNode.style.display = 'flex'; } } else { if (item.classList.contains('regimen')) { item.style.display = 'none'; } else { item.parentNode.style.display = 'none'; } } } }); } window.scrollTo(0, 0); } } function filterGrid(obj,id,type,source) { if (type == 'filter') { var grid = document.querySelector('.grid'); if (grid) { var items = grid.querySelectorAll('[data-filter]'); var value = id; var button = document.querySelector('[data-filter="' + source + '"]'); if (source == 'subcategory') { button = document.querySelector('[data-filter="category"]'); } if (button) { var htmlString = '<span>'; if (obj.dataset.parent) { htmlString += obj.dataset.parent + ' / '; } htmlString += obj.textContent; htmlString += '</span>'; button.innerHTML = htmlString; } if (items) { items.forEach(function(item,i) { if (value == 'all') { if (item.classList.contains('regimen')) { item.style.display = 'flex'; } else { item.parentNode.style.display = 'flex'; } } else { if (source == 'subcategory' && value == item.dataset.subcategory) { if (item.classList.contains('regimen')) { item.style.display = 'flex'; } else { item.parentNode.style.display = 'flex'; } } else if (value == item.dataset.filter) { if (item.classList.contains('regimen')) { item.style.display = 'flex'; } else { item.parentNode.style.display = 'flex'; } } else { if (item.classList.contains('regimen')) { item.style.display = 'none'; } else { item.parentNode.style.display = 'none'; } } } }); } } window.scrollTo(0, 0); } else { // TYPE == MASTER // if (type == 'Brand') { // // window.location.href = '/brand/' + obj.value; // // } else if (type == 'Category') { // // window.location.href = '/category/' + obj.value; // // } } } function showExceptions() { var error = { status: 'error', type: 'payment', title: 'Discount Exceptions', message: 'Does not apply to items on sale and the brand Vintner\'s Daughter.', secondary: 'Ok', primary: null, primaryAction: null, } error.subject = '/showExceptions/'; toggleInfoPopover(null,null,error,null); } function updateCartShipping(obj,replace) { var value = obj.options[obj.selectedIndex].value; localStorage.setItem('shippingService',value); setCartLink(); if (replace) { localStorage.setItem('shippingUpdate','true'); window.location.replace(basketLink.href); localStorage.setItem('shippingDays',0); // FORCES UPDATE WHEN RETURN TO PROODUCT PAGE } } function updateCartSig(obj,replace) { var value = obj.options[obj.selectedIndex].value; localStorage.setItem('shippingSig',value); setCartLink(); if (replace) { localStorage.setItem('shippingUpdate','true'); window.location.replace(basketLink.href); localStorage.setItem('shippingDays',0); // FORCES UPDATE WHEN RETURN TO PROODUCT PAGE // NOT SURE IF NEEDED } } function updateCartTax(obj,replace) { var value = obj.options[obj.selectedIndex].value; localStorage.setItem('taxLocation',value); localStorage.setItem('taxLocationAuto','false'); setCartLink(); if (replace) { localStorage.setItem('shippingUpdate','true'); window.location.replace(basketLink.href); } } // function updateCartTrustpilot(obj,replace) { // // var value = obj.checked; // localStorage.setItem('trustpilot',value); // // } function updateCartNoinvoice(obj,replace) { var value = obj.checked; localStorage.setItem('noinvoice',value); } function updateCartNote(obj,replace) { var value = obj.value; localStorage.setItem('note',value); } function sendNexmo(data) { fetch('/sendNexmo/', { method: 'POST', // or 'PUT' headers: { 'Content-Type': 'application/json', }, body: JSON.stringify(data), }).then((response) => response.json()).then((result) => { // NADA }).catch((error) => { // NADA }); } function updateCartProduct(obj) { toggleProcessing('Updating Your Cart'); var id = obj.dataset.id; var inventory = +obj.dataset.inventory; var value = +obj.value var quantity = inventory < value ? inventory : value; var exceeded = inventory < value ? true : false; var data = { // TOKEN NOT NEEDED id: id, quantity: quantity, }; fetch('/updateCartProduct/', { method: 'POST', // or 'PUT' headers: { 'Content-Type': 'application/json', }, body: JSON.stringify(data), }) .then((response) => response.json()).then((result) => { if (result.hasOwnProperty('status')) { if (result.status == 'error' || result.status == 'issue') { showBannerMessage(result,null,null,null); return; } } else { statusError.subject = '/updateCartProduct/'; toggleInfoPopover(null,null,statusError,null); return; } var element = document.getElementById('total_' + id); if (element) { element.dataset.quantity = obj.value; } var cells = document.querySelectorAll('[data-total]'); // hideBannerMessage(null); // updateCartTotals(cells); // getCartCount(); // location.reload(); // TODO LAZY BUT EASY window.location.replace(basketLink.href + '?exceeded=' + exceeded + '&quantity=' + quantity); // TODO LAZY BUT EASY if (exceeded) { var product = 'Unkown'; if (obj) { if (obj.parentNode) { if (obj.parentNode.parentNode) { if (obj.parentNode.parentNode.dataset) { if (obj.parentNode.parentNode.dataset.item) { product = obj.parentNode.parentNode.dataset.item; } } } } } var data = { text: product + ' Exceeded ' + value + ' / ' + quantity } sendNexmo(data); } }).catch((error) => { catchError.error = error; catchError.subject = '/updateCartProduct catch/'; toggleInfoPopover(null,null,catchError,null); }); } function hideBannerMessage(obj) { if (typeof(statusBanner) != 'undefined') { statusBanner.classList.remove('show'); statusBanner.classList.remove('success'); statusBanner.classList.remove('issue'); statusBanner.classList.remove('error'); statusBanner.textContent = ''; } else if (obj) { obj.classList.remove('show'); obj.classList.remove('success'); obj.classList.remove('issue'); obj.classList.remove('error'); obj.textContent = ''; } else { var banner = add.parentNode.querySelector('.banner'); if (banner) { banner.classList.remove('show'); banner.classList.remove('success'); banner.classList.remove('issue'); banner.classList.remove('error'); banner.textContent = ''; } } } function showBannerMessage(result,error,style,obj) { // SOURCE ERROR MESSAGE IF IT EXISTS var banner = null; if (result) { if (typeof(statusBanner) != 'undefined' && !obj) { // PAGE MAY HAVE STATUS BANNER WHICH WILL OVERRIDE BASED OBJ banner = statusBanner; } else { if (style) { var grid = document.querySelector('.' + style); if (grid) { banner = document.createElement("div"); grid.textContent = ''; grid.appendChild(banner); banner.classList.add('banner'); banner.classList.add('error'); } } else if (obj) { if (obj.parentNode) { var inserted = obj.parentNode.querySelector('.banner'); if (inserted) { banner = inserted; } else { banner = document.createElement("div"); } obj.parentNode.insertBefore(banner, obj); banner.classList.add('banner'); } } } if (!banner) { return; } if (result.status == 'error') { banner.classList.add('error'); banner.classList.remove('issue'); banner.classList.remove('success'); if (!obj) { window.scrollTo(0, 0); } } else if (result.status == 'issue') { banner.classList.remove('error'); banner.classList.add('issue'); banner.classList.remove('success'); if (!obj) { window.scrollTo(0, 0); } } else if (result.status == 'success') { banner.classList.remove('error'); banner.classList.remove('issue'); banner.classList.add('success'); } banner.textContent = result.message; banner.classList.add('show'); } if (error) { // TODO LOG/SEND ERROR } } function removeFromCart(id) { toggleProcessing('Updating Your Cart'); var data = { // TODO ADD TOKEN id: id, }; fetch('/removeFromCart/', { method: 'POST', // or 'PUT' headers: { 'Content-Type': 'application/json', }, body: JSON.stringify(data), }).then((response) => response.json()).then((result) => { if (result.hasOwnProperty('status')) { if (result.status == 'error' || result.status == 'issue') { showBannerMessage(result,null,null,null); return; } } else { statusError.subject = '/removeFromCart/'; toggleInfoPopover(null,null,statusError,null); return; } hideBannerMessage(null); var element = document.getElementById('row_' + id); if (element) { element.parentNode.removeChild(element); } var cells = document.querySelectorAll('[data-total]'); if (!cells[0] && typeof(cartTableBody) != 'undefined') { cartTableBody.innerHTML = '<tr><td class="empty demphasis">Cart is empty</td></tr>'; if (typeof(cartActions) != 'undefined') { cartActions.parentNode.removeChild(cartActions); } } else { updateCartTotals(cells); } // getCartCount(); // location.reload(); // TODO LAZY BUT EASY window.location.replace(basketLink.href); // TODO LAZY BUT EASY }).catch((error) => { catchError.error = error; catchError.subject = '/removeFromCart catch/'; toggleInfoPopover(null,null,catchError,null); }); } function addToCart(obj,event,id,type) { if (event) { event.stopPropagation(); } if (type == 'Buy') { try { if (obj) { fathom.trackEvent('Buy - Product'); } else { fathom.trackEvent('Buy - Google'); } } catch(error) { // NADA } } var token = getToken(); var quantity = 1; var max = 1; if (type == 'Sample') { toggleProcessing('Updating Your Cart'); max = 2; } else if (type == 'DavinesGift') { toggleProcessing('Updating Your Cart'); max = 1; } else if (type == 'Wrap') { toggleProcessing('Updating Your Cart'); max = 1; } else if (type == 'Card') { toggleProcessing('Updating Your Cart'); max = 1; } else if (type == 'Buy') { if (typeof(varQty) != 'undefined') { // BUY PAGE toggleProcessing('Updating Your Cart'); max = varQty; } else { // PRODUCT PAGE if (obj.dataset.hasOwnProperty('inventory')) { max = parseInt(obj.dataset.inventory); } } } else { if (typeof(cartQuantity) != 'undefined') { quantity = parseInt(cartQuantity.value); max = parseInt(cartQuantity.dataset.max); toggleAddToCartState(false,obj,cartQuantity); } else { if (obj.dataset.hasOwnProperty('inventory')) { max = parseInt(obj.dataset.inventory); } toggleAddToCartState(false,obj,null); } } var data = { token: token, quantity: quantity, max: max, id: id, }; try { var params = { 'cascadeCreate': true, } const queryString = window.location.search; const urlParams = new URLSearchParams(queryString); if (urlParams.has('recommId')) { params.recommId = urlParams.get('recommId'); } var recombeeClient = new recombee.ApiClient('veer-wander-prod', '2XQwP5AWJVVkkM3CTkr4mchtH1Zh37x2z5AMRX4zFJcPbzLDNNP5kIlmIHQ0FB5n', {region: 'us-west'}); recombeeClient.send(new recombee.AddCartAddition( token, // USER id, // ITEM params )).then(function(response) { // NADA }).catch(function(error) { // NADA }); } catch (error) { // NADA } fetch('/addToCart/', { method: 'POST', // or 'PUT' headers: { 'Content-Type': 'application/json', }, body: JSON.stringify(data), }).then((response) => response.json()).then((result) => { var enabled = true; if (result.hasOwnProperty('status')) { if (result.status == 'error' || result.status == 'issue') { enabled = false; if (obj) { showBannerMessage(result,null,null,obj); } result.subject = '/addToCart status error/issue/'; sendError(result); } } else { catchError.subject = '/addToCart no status/'; toggleInfoPopover(null,null,catchError,null); if (type == 'Sample') { toggleSamplesPopover(obj,event); toggleProcessing(); } else if (type == 'DavinesGift') { toggleDavinesGiftsPopover(obj,event); toggleProcessing(); } else if (type == 'Wrap') { toggleWrapPopover(obj,event); toggleProcessing(); } else if (type == 'Card') { toggleCardPopover(obj,event); toggleProcessing(); } } if (type == 'Sample' || type == 'DavinesGift' || type == 'Wrap' || type == 'Card') { // NADA } else if (type == 'Buy') { location.href = '/checkout/' + token; } else { if (typeof(cartQuantity) != 'undefined') { toggleAddToCartState(enabled,obj,cartQuantity); } else { toggleAddToCartState(enabled,obj,null); } } if (!enabled) { return; } if (type == 'Sample') { toggleSamplesPopover(obj,event); window.location.replace(basketLink.href); // TODO LAZY BUT EASY } else if (type == 'DavinesGift') { toggleDavinesGiftsPopover(obj,event); window.location.replace(basketLink.href); // TODO LAZY BUT EASY } else if (type == 'Wrap') { toggleWrapPopover(obj,event); window.location.replace(basketLink.href); // TODO LAZY BUT EASY } else if (type == 'Card') { toggleCardPopover(obj,event); window.location.replace(basketLink.href); // TODO LAZY BUT EASY } else if (type == 'Buy') { // NADA } else { var count = result.count; if (result.exceed) { var dict = {}; if (count == max) { dict = addCartError; } else if (count + quantity > max) { // dict = addCartIssue; // dict.message = 'Cart was updated but only ' + (max - count) + ' product' + ((max - count) > 1 ? 's were' : ' was') + ' added, exceeded available inventory.'; dict = addCartError; } showBannerMessage(dict,null,null,obj); obj.disabled = true; if (typeof(cartBuyButton) != 'undefined') { cartBuyButton.disabled = true; } } else { // dict = addCartSuccess; // // dict.message = quantity + ' product' + (quantity > 1 ? 's were' : ' was') + ' added to your cart.'; // dict.message = 'Successfully added.'; obj.textContent = 'Add Another'; } try { pintrk('track', 'addtocart', { order_quantity: quantity, }); } catch(error) { // NADA } } if (type != 'Buy') { getCartCount(); } }).catch((error) => { catchError.error = error; catchError.subject = '/addToCart catch/'; toggleInfoPopover(null,null,catchError,null); if (type == 'Sample') { toggleSamplesPopover(obj,event); toggleProcessing(); } else if (type == 'DavinesGift') { toggleDavinesGiftsPopover(obj,event); toggleProcessing(); } else if (type == 'Wrap') { toggleWrapPopover(obj,event); toggleProcessing(); } else if (type == 'Card') { toggleCardPopover(obj,event); toggleProcessing(); } }); } function sendError(error) { if (!error.hasOwnProperty('nosend')) { error.nosend = false; } if (error.nosend) { return; } var data = { error: error, }; fetch('/sendError/', { method: 'POST', // or 'PUT' headers: { 'Content-Type': 'application/json', }, body: JSON.stringify(data), }).then((response) => response.json()).then((result) => { // NADA }).catch((error) => { console.log(error); }); } function setCartLink() { var token = getToken(); if (!token) { statusError.subject = '/setCartLinks no token/'; sendError(statusError); return; } var shippingService = getShippingService(); var taxLocation = getTaxLocation(); var shippingSig = getShippingSig(); basketLink.href = '/cart/' + token + '/' + shippingService + '/' + taxLocation + '/' + shippingSig; basketLink.classList.remove('disabled'); } function getCartCount() { var token = getToken(); if (!token) { statusError.subject = '/getCartCount no token/'; sendError(statusError); return; } var data = { token: token, }; try { fetch('/getCartCount/', { method: 'POST', // or 'PUT' headers: { 'Content-Type': 'application/json', }, body: JSON.stringify(data), }).then((response) => response.json()).then((result) => { if (result.hasOwnProperty('status')) { if (result.status == 'error' || result.status == 'issue') { // DO NOT SHOW ERROR return; } } else { // DO NOT SHOW ERROR return; } if (!result.hasOwnProperty('count')) { // DO NOT SHOW ERROR return; } var basketCount = document.getElementById('basketCount'); if (!basketCount) { // TODO NEED ERROR return; } if (result.count > 0) { basketCount.innerHTML = result.count; basketLink.classList.add('full'); } else { basketCount.innerHTML = ""; basketLink.classList.remove('full'); } }).catch((error) => { // DO NOT SHOW ERROR // BOTS FIRE THIS ALOT // catchError.message = JSON.stringify(error); // catchError.token = token; // catchError.subject = '/getCartCount fetch catch/'; // sendError(catchError); }); } catch(error) { // DO NOT SHOW ERROR catchError.message = JSON.stringify(error); catchError.token = token; catchError.subject = '/getCartCount try catch/'; sendError(catchError); } } function connectKeyUp(obj,e) { if (!e) { e = window.event; } var code = (typeof e.which == "number") ? e.which : e.keyCode if (code == 13) { joinConnect(obj,event); } } function joinConnect(obj,event) { var phone = ''; if (isEmpty(connectTel.value)) { connectJoinError.message = "A mobile number is required."; showBannerMessage(connectJoinError,null,null,connectBanner); return; } else { phone = trimString(connectTel.value); phone = scrubPhoneNumber(connectTel.value); if (isPhoneNumber(phone)) { connectTel.value = formatPhoneNumber(phone); } else { connectJoinError.message = "Must contain 10 numbers."; showBannerMessage(connectJoinError,null,null,connectBanner); return; } } var token = getToken(); var data = { token: token, phone: phone, }; connectBanner.textContent = "Joining ..."; connectBanner.classList.add('show'); connectBanner.classList.remove('error'); connectBanner.classList.remove('issue'); connectBanner.classList.remove('success'); connectTel.disabled = true; connectSubmit.disabled = true; connectTel.blur(); fetch('/joinConnect/', { method: 'POST', // or 'PUT' headers: { 'Content-Type': 'application/json', }, body: JSON.stringify(data), }).then((response) => response.json()).then((result) => { if (result.hasOwnProperty('status')) { if (result.status == 'error' || result.status == 'issue') { showBannerMessage(result,null,null,connectBanner); return; } } else { statusError.subject = '/joinConnect/'; toggleInfoPopover(null,null,statusError,null); return; } connectTel.disabled = false; connectSubmit.disabled = false; showBannerMessage(connectJoinSuccess,null,null,connectBanner); }).catch((error) => { catchError.error = error; catchError.subject = '/joinConnect catch/'; toggleInfoPopover(null,null,catchError,null); }); } function notifyPopoverKeyUp(obj,e) { if (!e) { e = window.event; } var code = (typeof e.which == "number") ? e.which : e.keyCode if (code == 13) { notifyWhenAvailable(obj,event); } } function toggleNotifyPopover(obj,event) { event.stopPropagation(); if (notifyPopover.classList.contains('show')) { notifyPopover.classList.remove('show'); document.body.classList.remove('noscroll'); notifyPopoverTel.value = ''; notifyPopoverTel.removeAttribute('data-variant'); } else { notifyPopoverTel.value = formatPhoneNumber(getPhone()); notifyPopoverTel.focus(); notifyPopoverTel.dataset.variant = obj.dataset.variant; notifyPopoverInfo.innerHTML = ''; notifyPopoverInfo.innerHTML += '<div>' + obj.dataset.brand + '</div>'; notifyPopoverInfo.innerHTML += '<div>' + obj.dataset.product + '</div>'; notifyPopover.classList.add('show'); document.body.classList.add('noscroll'); } } function toggleDavinesGiftsPopover(obj,event) { if (event) { event.stopPropagation(); } if (davinesGiftsPopover.classList.contains('show')) { davinesGiftsPopover.classList.remove('show'); document.body.classList.remove('noscroll'); } else { davinesGiftsPopover.classList.add('show'); document.body.classList.add('noscroll'); } } function toggleSamplesPopover(obj,event) { if (event) { event.stopPropagation(); } if (samplesPopover.classList.contains('show')) { samplesPopover.classList.remove('show'); document.body.classList.remove('noscroll'); } else { samplesPopover.classList.add('show'); document.body.classList.add('noscroll'); } } function toggleWrapPopover(obj,event) { if (event) { event.stopPropagation(); } if (wrapPopover.classList.contains('show')) { wrapPopover.classList.remove('show'); document.body.classList.remove('noscroll'); } else { wrapPopover.classList.add('show'); document.body.classList.add('noscroll'); } } function toggleCardPopover(obj,event) { if (event) { event.stopPropagation(); } if (cardPopover.classList.contains('show')) { cardPopover.classList.remove('show'); document.body.classList.remove('noscroll'); } else { cardPopover.classList.add('show'); document.body.classList.add('noscroll'); } } function toggleInfoPopover(obj,event,data,small) { if (event) { event.stopPropagation(); } if (infoPopover.classList.contains('show')) { infoPopover.classList.remove('show'); document.body.classList.remove('noscroll'); infoPopoverTitle.innerHTML = ''; infoPopoverMessage.innerHTML = ''; infoPopoverMessage.classList.remove('small'); infoPopoverSecondary.innerHTML = ''; infoPopoverSecondary.setAttribute('onclick','toggleInfoPopover(this,event)'); infoPopoverPrimary.innerHTML = ''; infoPopoverPrimary.removeAttribute('onclick'); infoPopoverPrimary.style.display = 'none'; infoPopoverActions.classList.remove('multi'); } else { infoPopoverTitle.innerHTML = data.title; infoPopoverMessage.innerHTML = data.message; if (small) { infoPopoverMessage.classList.add('small'); } if (data.error && window.location.port != '') { var additional = ''; if (typeof data.error === 'object') { if (data.error.message) { additional = data.error.message; } } else { additional = data.error; } if (additional != '') { infoPopoverMessage.innerHTML += '<br>'; infoPopoverMessage.innerHTML += '<br>'; infoPopoverMessage.innerHTML += additional; } } infoPopoverSecondary.innerHTML = data.secondary; if (data.secondaryAction) { infoPopoverSecondary.setAttribute('onclick',data.secondaryAction); } if (data.primary) { infoPopoverPrimary.innerHTML = data.primary; infoPopoverPrimary.setAttribute('onclick',data.primaryAction); infoPopoverPrimary.style.display = 'inline-block'; infoPopoverActions.classList.add('multi'); } // '<a href="https://localhost:1338/search?' + data.title + '">Search Products</a>' infoPopover.classList.add('show'); document.body.classList.add('noscroll'); sendError(data); } } function removeWhenAvailable(obj,event) { var id = obj.dataset.id; var data = { id: id, }; obj.textContent = "Removing ..."; obj.disabled = true; fetch('/removeWhenAvailable/', { method: 'POST', // or 'PUT' headers: { 'Content-Type': 'application/json', }, body: JSON.stringify(data), }).then((response) => response.json()).then((result) => { // FORCE REMOVAL REGARDLESS OF SUCCESS // JUST INCASE WAS DELETED FROM DB var notifications = localStorage.getItem("notifications"); if (notifications) { notifications = JSON.parse(notifications); var index = notifications.map(function(e) { return e.id; }).indexOf(id); if (index != -1) { notifications.splice(index, 1); notifications = JSON.stringify(notifications); localStorage.setItem("notifications",notifications); } } else { // TODO ERROR } if (result.hasOwnProperty('status')) { if (result.status == 'error' || result.status == 'issue') { showBannerMessage(result,null,null,null); return; } } else { statusError.subject = '/removeWhenAvailable/'; toggleInfoPopover(null,null,statusError,null); return; } if (typeof(notifyWhenButton) != 'undefined' && typeof(notifyRemoveButton) != 'undefined') { // showBannerMessage(notifyRemoveSuccess,null,null,null); // REDUNDANT // BUTTON UPDATES setNotifyProductButton(notifyWhenButton); } else { var notify = document.querySelector('[data-notify="' + obj.dataset.variant + '"]'); var remove = document.querySelector('[data-remove="' + obj.dataset.variant + '"]'); if (notify && remove) { notify.classList.remove('hide'); remove.classList.add('hide'); remove.removeAttribute('data-id'); remove.disabled = false; remove.textContent = 'Remove Notify'; } } }).catch((error) => { catchError.error = error; catchError.subject = '/removeWhenAvailable catch/'; toggleInfoPopover(null,null,catchError,null); }); } function notifyWhenAvailable(obj,event) { var variant = notifyPopoverTel.dataset.variant; var phone = ''; if (isEmpty(notifyPopoverTel.value)) { notifyAddError.message = "A mobile number is required."; showBannerMessage(notifyAddError,null,null,notifyPopoverError); return; } else { phone = trimString(notifyPopoverTel.value); phone = scrubPhoneNumber(notifyPopoverTel.value); if (isPhoneNumber(phone)) { notifyPopoverTel.value = formatPhoneNumber(phone); } else { notifyAddError.message = "Must contain 10 numbers."; showBannerMessage(notifyAddError,null,null,notifyPopoverError); return; } } var token = getToken(); var data = { token: token, phone: phone, variant: variant }; if (typeof(notifyWhenButton) != 'undefined') { notifyWhenButton.textContent = "Saving ..."; notifyWhenButton.disabled = true; } else { var element = document.querySelector('[data-notify="' + variant + '"]'); if (element) { element.textContent = "Saving ..."; element.disabled = true; } } toggleNotifyPopover(obj,event); fetch('/notifyWhenAvailable/', { method: 'POST', // or 'PUT' headers: { 'Content-Type': 'application/json', }, body: JSON.stringify(data), }).then((response) => response.json()).then((result) => { if (result.hasOwnProperty('status')) { if (result.status == 'error' || result.status == 'issue') { showBannerMessage(result,null,'grid',null); return; } } else { statusError.subject = '/notifyWhenAvailable/'; toggleInfoPopover(null,null,statusError,null); return; } var notifications = localStorage.getItem("notifications"); if (notifications) { notifications = JSON.parse(notifications); } else { notifications = []; } notifications.push({id:result.id,variant:variant,token:token}); notifications = JSON.stringify(notifications); localStorage.setItem("notifications",notifications); localStorage.setItem("phone",phone); // showBannerMessage(notifyAddSuccess,null,null,null); // REDUNDANT // BUTTON UPDATES if (typeof(notifyWhenButton) != 'undefined' && typeof(notifyRemoveButton) != 'undefined') { setNotifyProductButton(notifyWhenButton); } else { var notify = document.querySelector('[data-notify="' + variant + '"]'); var remove = document.querySelector('[data-remove="' + variant + '"]'); if (notify && remove) { notify.classList.add('hide'); notify.disabled = false; notify.textContent = 'Notify When Available'; remove.classList.remove('hide'); remove.dataset.id = result.id; } } }).catch((error) => { catchError.error = error; catchError.subject = '/notifyWhenAvailable catch/'; toggleInfoPopover(null,null,catchError,null); }); } function queryRecombee(query) { var recombeeClient = new recombee.ApiClient('veer-wander-prod', '2XQwP5AWJVVkkM3CTkr4mchtH1Zh37x2z5AMRX4zFJcPbzLDNNP5kIlmIHQ0FB5n', {region: 'us-west'}); var token = getToken(); var string = ''; var values = {}; var grid = document.querySelector('.grid'); recombeeClient.send(new recombee.SearchItems( token, query, 30, { 'returnProperties': true, // 'includedProperties': ['itemId','link','image_link','title','price','sale_price'], } )).then(function(response) { if (!response.recomms) { return; } if (!response.recomms[0]) { return; } var recommId = response.recommId; response.recomms.forEach(function(variant,i) { if (!variant.values) { return; } values = variant.values; string += '<div class="item">' string += '<a href="' + values.link + '?recommId=' + recommId + '" id="recomm_' + values.id + '" title="View ' + values.title + '">'; string += '<div class="image">'; string += '<img class="" src="' + values.image_link + '" data-src="' + values.image_link + '" alt="' + values.link + ' Image"></div>'; string += '<div class="details">'; string += '<h3 class="label">' + values.title + '</h3>'; if (values.sale_price) { string += '<h5>'; string += '<span class="sale">$' + values.sale_price.toFixed(2) + ' </span>'; string += '<span class="original">Was $' + values.price.toFixed(2) + '</span></h5>'; string += '</h5>'; } else { string += '<h5>$' + values.price.toFixed(2) + '</h5>'; } if (values.custom_label_2) { string += '<div class="description demphasis">' + values.custom_label_2 + '</div>'; } string += '</div>'; string += '</a>'; // string += '<div class="actions"><button class="add" data-add="xuMfmpyqxY" data-inventory="13" type="button" onclick="addToCart(this,event,\'xuMfmpyqxY\',\'Brand\')">Add to Cart</button></div>'; if ('US' != 'US' && values.custom_label_3 == 'true') { string += '<div class="restricted demphasis">US Only</div>'; } string += '</div>'; }); grid.innerHTML = string; window.scrollTo(0, 0); }).catch(function(error) { // NADA }); } function queryProducts(string) { var data = { string: encodeURIComponent(string), }; fetch('/queryProducts/', { method: 'POST', // or 'PUT' headers: { 'Content-Type': 'application/json', }, body: JSON.stringify(data), }).then((response) => response.json()).then((result) => { if (result.hasOwnProperty('status')) { if (result.status == 'error' || result.status == 'issue') { // toggleInfoPopover(null,null,result,null); arriveByCell.innerHTML = result.message; result.subject = '/queryProducts status error/issue/'; sendError(result); return; } } else { statusError.subject = '/queryProducts/'; toggleInfoPopover(null,null,statusError,null); return; } if (string == lastQuery) { var grid = document.querySelector('.grid',null); if (grid) { if (result.found != '') { grid.innerHTML = result.found; collections.style.display = 'none'; // classifications.style.display = 'none'; } else { grid.innerHTML = '<div class="instruction search">Try something else.</div>'; } window.scrollTo(0, 0); } lazyLoadImages(); var port = (window.location.port == '') ? '' : ':' + window.location.port; window.history.replaceState({}, 'Search', 'https://' +window.location.hostname + port + '/search?query=' + string); } }).catch((error) => { catchError.error = error; catchError.subject = '/queryProducts catch/'; toggleInfoPopover(null,null,catchError,null); }); } var lastQuery = ''; function queryPaste(obj,e) { setTimeout(function() { // NEED DELAY OTHERWISE VALUE IS EMPTY if (e.target) { if (trimString(e.target.value).length >= 3) { lastQuery = trimString(e.target.value).toLowerCase(); queryRecombee(lastQuery); } } }, 1, e); } function queryKeyUp(obj,e) { if (!e) { e = window.event; } var code = (typeof e.which == "number") ? e.which : e.keyCode var value = ''; if (obj instanceof HTMLInputElement) { value = obj.value; } else { value = obj; } if ((code >= 48 && code <= 90 || code == 8 || code == 13) && trimString(value).length >= 3) { lastQuery = trimString(value).toLowerCase(); queryRecombee(lastQuery); } if (trimString(value).length == 0 && code != 91) { var grid = document.querySelector('.grid'); if (grid) { collections.style.display = 'block'; // classifications.style.display = 'block'; grid.innerHTML = '<div class="instruction search"><ul><li>Type at least 3 letters or numbers.</li><li>Results may not display on some Android phones.</li><li>You may need to press return for results to show.</li></ul></div>'; window.scrollTo(0, 0); } } } // ------------------------------------------ var token = ''; // localStorage.getItem("token"); document.addEventListener("DOMContentLoaded", function() { // console.log("Script JS - DOMContentLoaded - start"); try { setCartLink(); } catch(error) { // console.log(error); } try { getCartCount(); } catch(error) { // console.log(error); } try { if (document.getElementById('searchInput')) { if (searchInput.dataset.auto == 'true') { searchInput.dataset.auto = 'false'; queryKeyUp(searchInput,{keyCode: 13}); } } } catch(error) { // console.log(error); } // console.log("Script JS - DOMContentLoaded - end"); }); // function confirmCookies(obj,event) { // // localStorage.setItem("cookies","true"); // approvalCookies.classList.remove('show'); // // } function toggleProcessing(message) { if (processing.classList.contains('show')) { processing.classList.remove('show'); processingSpinner.classList.remove('spinner'); document.body.classList.remove('noscroll'); processingMessage.textContent = ''; } else { processing.classList.add('show'); processingSpinner.classList.add('spinner'); document.body.classList.add('noscroll'); if (message) { processingMessage.textContent = message; } } } // ------------------------------------------ // MENU function clickBasketLink() { if (typeof(basketLink) != 'undefined') { if (!basketLink.classList.contains('disabled')) { basketLink.click(); } } } function viewPageWithToken(obj,event,page) { var token = getToken(); window.location.href = '/' + page + '/' + token; } function switchFlag(obj, e, ctry) { e.stopPropagation(); try { fathom.trackEvent(ctry); } catch(error) { // NADA } setCookie('ctry', ctry, 365); location.reload(); // navFlag.className = ""; // navFlag.classList.add('icon'); // navFlag.classList.add('flag'); // navFlag.classList.add(ctry); } function setFlag() { var cvalue = getCookie('ctry'); if (cvalue == "") { cvalue = 'US'; setCookie('ctry', cvalue, 365); } navFlag.classList.add(cvalue); } function toggleFlags(obj,e) { var url = window.location.toString(); if (url.indexOf('/checkout/') != -1) { var message = { status: 'success', title: 'Sorry', message: 'The Shipping Destination cannot be changed during Checkout.', secondary: 'Ok', subject: 'function toggleFlags', } toggleInfoPopover(null,null,message,null); return; } if (menuFlags.classList.contains('show')) { menuFlags.classList.remove('show'); document.body.classList.remove('noscroll'); // navMenu.classList.remove('close'); } else { menuFlags.classList.add('show'); document.body.classList.add('noscroll'); // navMenu.classList.add('close'); navMenu.classList.remove('close'); navMenu.classList.remove('back'); menuMore.classList.remove('show'); menuShop.classList.remove('show'); menuShopBrand.style.display = 'none'; menuShopCategory.style.display = 'none'; menuShopClearance.style.display = 'none'; menuShopCollection.style.display = 'none'; menuShopClassification.style.display = 'none'; } } function toggleMenu(el,e,type,version) { e.stopPropagation(); menuFlags.classList.remove('show'); if (type == 'more') { toggleMore(el,e); } else if (type == 'shop') { toggleShop(el,e,version); } else if (type == 'collection') { toggleShop(el,e,version); } else if (type == 'classification') { toggleShop(el,e,version); } else if (type == 'body') { if (!menuMore.classList.contains('show') && !menuShop.classList.contains('show')) { return; } // toggleBodyScroll(); navMenu.classList.remove('close'); menuMore.classList.remove('show'); menuShop.classList.remove('show'); } } function toggleMore(el,e) { e.stopPropagation(); if (menuMore.classList.contains('show')) { menuMore.classList.remove('show'); navMenu.classList.remove('close'); document.body.classList.remove('noscroll'); } else { menuMore.classList.add('show'); navMenu.classList.add('close'); document.body.classList.add('noscroll'); } menuShop.classList.remove('show'); navMenu.classList.remove('back'); // toggleBodyScroll(); // if (el) { // // if (el.id == 'navMenu') { // // if (document.body.classList.contains('noscroll')) { // // document.body.classList.remove('noscroll'); // // } else { // // document.body.classList.add('noscroll'); // // } // } // } } function toggleShop(el,e,version) { e.stopPropagation(); if (menuShop.classList.contains('show')) { menuShop.classList.remove('show'); // DO NOT REMOVE NO SCROLL menuShopBrand.style.display = 'none'; menuShopCategory.style.display = 'none'; menuShopClearance.style.display = 'none'; menuShopCollection.style.display = 'none'; menuShopClassification.style.display = 'none'; navMenu.classList.add('close'); navMenu.classList.remove('back'); } else { menuShop.classList.add('show'); document.body.classList.add('noscroll'); navMenu.classList.add('back'); navMenu.classList.remove('close'); if (version == 'brand') { menuShopBrand.style.display = 'inline-block'; menuShopCategory.style.display = 'none'; menuShopClearance.style.display = 'none'; menuShopCollection.style.display = 'none'; menuShopClassification.style.display = 'none'; } else if (version == 'category') { menuShopBrand.style.display = 'none'; menuShopCategory.style.display = 'inline-block'; menuShopClearance.style.display = 'none'; menuShopCollection.style.display = 'none'; menuShopClassification.style.display = 'none'; } else if (version == 'clearance') { menuShopBrand.style.display = 'none'; menuShopCategory.style.display = 'none'; menuShopClearance.style.display = 'inline-block'; menuShopCollection.style.display = 'none'; menuShopClassification.style.display = 'none'; } else if (version == 'collection') { menuShopBrand.style.display = 'none'; menuShopCategory.style.display = 'none'; menuShopClearance.style.display = 'none'; menuShopCollection.style.display = 'inline-block'; menuShopClassification.style.display = 'none'; } else if (version == 'classification') { menuShopBrand.style.display = 'none'; menuShopCategory.style.display = 'none'; menuShopClearance.style.display = 'none'; menuShopCollection.style.display = 'none'; menuShopClassification.style.display = 'inline-block'; } } menuMore.classList.remove('show'); // toggleBodyScroll(); } function menuClick(el,e) { e.stopPropagation(); } // ------------------------------------------ // FULL function showFull(obj) { // var cln = obj.cloneNode(true); // cln.className = "zoom"; var zoom = document.createElement('div'); zoom.id = "zoom"; zoom.classList.add('zoom'); zoom.setAttribute('onclick','closeFull()'); // var close = document.createElement('close'); // close.innerHTML = "&#x2715"; // close.classList.add('close'); // zoom.appendChild(close); var image = document.createElement('img'); if (obj.nodeName.toLowerCase() == "img") { if (obj.src.indexOf("/250x250/") != -1) { image.src = obj.src.split("/250x250/")[0] + "/800x800/" + obj.src.split("/250x250/")[1]; // DIRECT ACCESS GET 403 ERROR // BUT LINK WORKS // PROBABLY HEADER CSP ISSUE // MIGHT BE SITE HTACCESS CORS ISSUE // MIGHT BE CLOUDFLARE // MIGHT BE URL FORMATING // MIGHT BE S3 PERMISSIONS // REALLY NOT SURE } else { image.src = obj.src; } } zoom.appendChild(image); document.body.appendChild(zoom); } function closeFull() { var zoom = document.getElementById("zoom"); if (zoom) { zoom.parentNode.removeChild(zoom); } } // ------------------------------------------ // UTILITIES function trimString(string) { return (string || '').replace( /^\s+|\s+$/g, '' ); } function isEmpty(str) { if (str) { return str.replace(/^\s+|\s+$/g, '').length == 0; } return true; } function isEmail(str) { if (isEmpty(str)) { return false; } var email = /^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/; return email.test(str); } function isPhoneNumber(number) { // return /^1?([2-9]\d\d){2}\d{4}$/.test(number.replace(/\D/g, "")); // HAD ISSUES // number = number.replace(/\D/g, ''); // REPLACES NON NUMERIC if (number.length == 11 && number.charAt(0) == 1) { number = number.replace("1",''); } if (number.length == 10) { return true; } return false; } function scrubPhoneNumber(number) { if (isEmpty(number)) { return number; } number = number.replace(/[^0-9]+/gi,'') if (number.charAt(0) == 1) { number = number.replace("1",''); } return number; } function formatPhoneNumber(number) { if (isEmpty(number)) { return ""; } if (number.charAt(0) == 1) { number = number.replace("1",''); } number = number.replace(/[^0-9]/g, ''); number = number.replace(/(\d{3})(\d{3})(\d{4})/, "($1) $2-$3"); return number; } function isZipCode(str) { if (isEmpty(str)) { return false; } var zipcode = /(^\d{5}$)|(^\d{5}-\d{4}$)/; return zipcode.test(str); } function isValidPostalCode(postal) { return /(^\d{5}$)|(^\d{5}-\d{4}$)/.test(postal); } var newToken = { // CONFIRMED - USED - NOT SURE PASSWORD SPECIAL CHARS WOULD BE AN ISSUE _pattern : /[a-zA-Z0-9]/, _getRandomByte : function() { return Math.floor(Math.random() * 256); }, generate : function(length) { return Array.apply(null, {'length': length}) .map(function() { var result; while(true) { result = String.fromCharCode(this._getRandomByte()); if (this._pattern.test(result)) { return result; } } }, this).join(''); } }; function removeFormError(obj) { var error = document.getElementById(obj.name + "Error"); if (error) { error.textContent = ""; } if (obj.id == "phone") { if (isPhoneNumber(obj.value)) { obj.value = formatPhoneNumber(obj.value); } } } function isJSON(text) { try { JSON.parse(text); return true; } catch(error) { return false; } } function getLocationData(json) { if (!json.hasOwnProperty('ip')) { return; } var zipcode = localStorage.getItem('zipcode'); var taxLocation = localStorage.getItem('taxLocation'); var taxLocationAuto = localStorage.getItem('taxLocationAuto'); if (zipcode && taxLocation && taxLocationAuto == 'false') { return; } var data = { ip:json.ip } fetch('/getLocationData/', { method: 'POST', // or 'PUT' headers: { 'Content-Type': 'application/json', }, body: JSON.stringify(data), }).then((response) => response.json()).then((result) => { if (result.hasOwnProperty('status')) { if (result.status == 'error' || result.status == 'issue') { // NADA return; } } else { // NADA return; } if (!result.hasOwnProperty('postalCode')) { // DO NOT SHOW ERROR return; } if (!result.hasOwnProperty('region')) { // DO NOT SHOW ERROR return; } var postalCode = result.postalCode var region = result.region if (postalCode == '') { // DO NOT SHOW ERROR return; } if (!zipcode) { localStorage.setItem('zipcode',postalCode); var shipZip = document.getElementById('shipZip'); var transitTime = document.getElementById('transitTime'); if (shipZip && transitTime) { shipZip.value = postalCode; transitTime.click(); } } if (taxLocationAuto == 'true' || !taxLocationAuto) { if (region.toLowerCase() == 'california') { localStorage.setItem('taxLocation','taxCA'); } else { localStorage.setItem('taxLocation','taxNo'); } localStorage.setItem('taxLocationAuto','false'); setCartLink(); } }).catch((error) => { // NADA }); } function getShippingService() { var shippingService = localStorage.getItem('shippingService'); if (!shippingService) { shippingService = 'fedex0'; localStorage.setItem('shippingService',shippingService); } else if (shippingService == 'ups0' || shippingService == 'ups1' || shippingService == 'ups2' || shippingService == 'ups3' ) { shippingService = 'fedex0'; localStorage.setItem('shippingService',shippingService); } return shippingService; } function getShippingSig() { var shippingSig = localStorage.getItem('shippingSig'); if (!shippingSig) { shippingSig = 'sig0'; localStorage.setItem('shippingSig',shippingSig); } return shippingSig; } function getTaxLocation() { var taxLocation = localStorage.getItem('taxLocation'); if (!taxLocation) { taxLocation = 'taxNo'; localStorage.setItem('taxLocation',taxLocation); localStorage.setItem('taxLocationAuto','true'); } return taxLocation; } function getToken() { var token = localStorage.getItem("token"); if (!token) { token = newToken.generate(32); localStorage.setItem("token",token); } return token; } function getPhone() { var phone = localStorage.getItem("phone"); if (!phone) { phone = ''; } return phone; } function getEmail() { var email = localStorage.getItem("email"); if (!email) { email = ''; } return email; } </script> <meta name="facebook-domain-verification" content="4w9zrobytefvkjbtf9hytsyo3e0nxy" /> <meta name="p:domain_verify" content="28afb879fd311b3cdc22133659bc4daa" /> <!-- <script type='text/javascript'> window.smartlook||(function(d) { var o=smartlook=function(){ o.api.push(arguments)},h=d.getElementsByTagName('head')[0]; var c=d.createElement('script');o.api=new Array();c.async=true;c.type='text/javascript'; c.charset='utf-8';c.src='https://rec.smartlook.com/recorder.js';h.appendChild(c); })(document); smartlook('init', 'a6ac5a43f352f9f4cc042ea32846e1a41b31de7f'); </script> --> <script type="application/javascript" src="//api64.ipify.org?format=jsonp&amp;callback=getLocationData"></script> <script src="https://cdn.jsdelivr.net/gh/recombee/js-api-client/dist/recombee-api-client.min.js"></script> <!-- Meta Pixel Code --> <!-- <script> !function(f,b,e,v,n,t,s) {if(f.fbq)return;n=f.fbq=function(){n.callMethod? n.callMethod.apply(n,arguments):n.queue.push(arguments)}; if(!f._fbq)f._fbq=n;n.push=n;n.loaded=!0;n.version='2.0'; n.queue=[];t=b.createElement(e);t.async=!0; t.src=v;s=b.getElementsByTagName(e)[0]; s.parentNode.insertBefore(t,s)}(window, document,'script', 'https://connect.facebook.net/en_US/fbevents.js'); fbq('init', '590464405222762'); fbq('track', 'PageView'); </script> --> <script>(function(w,d,t,r,u){var f,n,i;w[u]=w[u]||[],f=function(){var o={ti:"52004435"};o.q=w[u],w[u]=new UET(o),w[u].push("pageLoad")},n=d.createElement(t),n.src=r,n.async=1,n.onload=n.onreadystatechange=function(){var s=this.readyState;s&&s!=="loaded"&&s!=="complete"||(f(),n.onload=n.onreadystatechange=null)},i=d.getElementsByTagName(t)[0],i.parentNode.insertBefore(n,i)})(window,document,"script","//bat.bing.com/bat.js","uetq");</script> <!-- PayPal BEGIN --> <script>;(function(a,t,o,m,s){a[m]=a[m]||[];a[m].push({t:new Date().getTime(),event:'snippetRun'});var f=t.getElementsByTagName(o)[0],e=t.createElement(o),d=m!=='paypalDDL'?'&m='+m:'';e.async=!0;e.src='https://www.paypal.com/tagmanager/pptm.js?id='+s+d;f.parentNode.insertBefore(e,f);})(window,document,'script','paypalDDL','06576f9d-a816-48e7-b551-60dc8b94d089');</script> <!-- PayPal END --> <!-- script type="text/javascript"> (function(c,l,a,r,i,t,y){ c[a]=c[a]||function(){(c[a].q=c[a].q||[]).push(arguments)}; t=l.createElement(r);t.async=1;t.src="https://www.clarity.ms/tag/"+i; y=l.getElementsByTagName(r)[0];y.parentNode.insertBefore(t,y); })(window, document, "clarity", "script", "c7tom1xlwa"); </script --> <!-- script> (function(w,d,s,r,n){w.TrustpilotObject=n;w[n]=w[n]||function(){(w[n].q=w[n].q||[]).push(arguments)}; a=d.createElement(s);a.async=1;a.src=r;a.type='text/java'+s;f=d.getElementsByTagName(s)[0]; f.parentNode.insertBefore(a,f)})(window,document,'script', 'https://invitejs.trustpilot.com/tp.min.js', 'tp'); tp('register', 'kdMevgEdMenLFFi2'); </script --> <script> </script> <!-- script type="text/javascript" src="//widget.trustpilot.com/bootstrap/v5/tp.widget.bootstrap.min.js" async></script --> <noscript><img height="1" width="1" style="display:none" src="https://www.facebook.com/tr?id=590464405222762&ev=PageView&noscript=1" /></noscri |
| 3 |
Error
On line 9247, column 7 pt=1" /></noscript> <!-- End Meta Pixel Code --> <!-- Pinterest Tag --> <script> !function(e){if(!window.pintrk){window.pintrk = function () { window.pintrk.queue.push(Array.prototype.slice.call(arguments))};var n=window.pintrk;n.queue=[],n.version="3.0";var t=document.createElement("script");t.async=!0,t.src=e;var r=document.getElementsByTagName("script")[0]; r.parentNode.insertBefore(t,r)}}("https://s.pinimg.com/ct/core.js"); pintrk('load', '2613730667351', {em: '<user_email_address>'}); pintrk('page'); </script> <noscript> <img height="1" width="1" style="display:none;" alt="" src="https://ct.pinterest.com/v3/?event=init&tid=2613730667351&pd[em]=<hashed_email_address>&noscript=1" /> </noscript> <!-- end Pinterest Tag --> </head> <bod |
| 4 |
Error
On line 9249, column 17 -> </head> <body class="US"> < |
| 5 |
Error
On line 9536, column 8 lass="US"> <nav class=""> <div class="links"> <a href="/" class="logo" title="View Home Page"></a> <button id="navMenu" onclick="toggleMenu(this,event,'more',null)" class="icon menu" title="View Main Menu"></button> <button id="navFlag" onclick="toggleFlags(this,event)" class="icon flag US" title="Select Shipping Destinations"></button> <a href="/search" class="icon search" title="Search Products"></a> <a href="/cart/none" id="basketLink" class="icon basket disabled" title="View Shopping Bag"><span class="count" id="basketCount"></span></a> </div> </nav> <main> <div class="path filter"> <div class="item"><button class="child link emphasis" data-filter="collections" onclick="showGridFilter(this)" data-label="Product Collections"><h1><span>$20 & Below</span></h1></button><button class="child link emphasis" data-filter="brand" onclick="showGridFilter(this)" data-label="Filter"><span>All Brands</span></button></div><div class="shell" data-shell="collections" onclick="hideGridFilter(this,event)"><div class="menu"><a href="/collection/KFprsblcKQ">Aches & Pain</a><a href="/collection/6QfcD63qJZ">Anti-Frizz</a><a href="/collection/CIHS2s7vvi">Better Blowouts</a><a href="/collection/8QPiLWEPIj">Blonde / Bleached / Grey</a><a href="/collection/B5Hz90TeMq">Breakage & Damage</a><a href="/collection/baZt3oWVrJ">Clarifying</a><a href="/collection/DwhOYeZ1Uw">Color Protection</a><a href="/collection/3GEsTW2emu">Curl Love</a><a href="/collection/9AbdK6WCrG">Detangle</a><a href="/collection/UnSC0hQWLA">Face / Hair / Body</a><a href="/collection/AyoCWbIFRC">Fine / Thin / Limp</a><a href="/collection/GEm6D3TWV4">GOAT</a><a href="/collection/V5m7bOJbi9">Heat Protection</a><a href="/collection/Mozl9p1wgb">Moisture & Nourishment</a><a href="/collection/LAj3fkRODN">Mosquitoes</a><a href="/collection/gzCmGC39tJ">Only One</a><a href="/collection/4BX8TpDncl">Scalp Help</a><a href="/collection/P2PRWcAB4U">Sensitive Skin</a><a href="/collection/vREjyM079A">Shine</a><a href="/collection/jeZ7cd8g89">Sleep Assist</a><a href="/collection/Zbo81rWovG">Soft & Silky</a><a href="/collection/qUBnSOPrsL">Stress & Anxiety</a><a href="/collection/SHpWnQNH8S">Sun/UV Protection</a><a href="/collection/HA5v6i5wpn">Volume</a><a href="/collection/travel">Mini/Travel Size</a><a href="/collection/liter">Family Size</a><a href="/collection/kit">Kits & Sets</a><a href="/collection/less10">$10 & Below</a><a href="/collection/less20">$20 & Below</a><a href="/collection/less30">$30 & Below</a><a href="/collection/less40">$40 & Below</a><a href="/collection/less50">$50 & Below</a><a href="/collection/less60">$60 & Below</a><a href="/collection/less70">$70 & Below</a><a href="/collection/less80">$80 & Below</a><a href="/collection/less90">$90 & Below</a><a href="/collection/less100">$100 & Below</a><a href="/collection/less150">$150 & Below</a><a href="/collection/less200">$200 & Below</a><a href="/collection/less250">$250 & Below</a><a href="/collection/newest">New Arrivals</a></div></div><div class="shell" data-shell="brand" onclick="hideGridFilter(this,event)"><div class="menu"><button onclick="filterGrid(this,'all','filter','brand')">All Brands</button><button onclick="filterGrid(this,'Eaoyog7HmQ','filter','brand')">Antidote</button><button onclick="filterGrid(this,'sPk3HG4ivy','filter','brand')">Battington Lashes</button><button onclick="filterGrid(this,'PdF4W8Dvmu','filter','brand')">Broccoli</button><button onclick="filterGrid(this,'culG4uiNUx','filter','brand')">Brosh</button><button onclick="filterGrid(this,'n6taA819RY','filter','brand')">Cult + King</button><button onclick="filterGrid(this,'66IjlarIaA','filter','brand')">Davids Natural Toothpaste</button><button onclick="filterGrid(this,'k5jEOn8A4Z','filter','brand')">Davines Authentic Formulas</button><button onclick="filterGrid(this,'mi3D810Grh','filter','brand')">Davines Essential Haircare</button><button onclick="filterGrid(this,'PBW48DknYq','filter','brand')">Davines More Inside</button><button onclick="filterGrid(this,'WJ9K0UtsiH','filter','brand')">Davines Naturaltech</button><button onclick="filterGrid(this,'qzwmx2espS','filter','brand')">Davines OI</button><button onclick="filterGrid(this,'RNqXcbwKSG','filter','brand')">Davines SU</button><button onclick="filterGrid(this,'nfMXfLr1Uv','filter','brand')">Davines The Circle Chronicles</button><button onclick="filterGrid(this,'RbLLeAC7Pc','filter','brand')">Ellis Faas</button><button onclick="filterGrid(this,'XU0JHtABsN','filter','brand')">Gossamer</button><button onclick="filterGrid(this,'B4Eg6TvgtF','filter','brand')">House of Gro</button><button onclick="filterGrid(this,'VqZ9fElxtt','filter','brand')">Jao Brand</button><button onclick="filterGrid(this,'Zfzh9Kj2L9','filter','brand')">Leef Organics</button><button onclick="filterGrid(this,'pYBVbgcyhQ','filter','brand')">Men & Sons</button><button onclick="filterGrid(this,'uKskTSmrU7','filter','brand')">Moon Juice</button><button onclick="filterGrid(this,'bPFAxJlYMe','filter','brand')">Mr. Smith</button><button onclick="filterGrid(this,'4TtkrtEijk','filter','brand')">Penrose Candles</button><button onclick="filterGrid(this,'ZTDQTCeXLC','filter','brand')">Salt & Stone</button><button onclick="filterGrid(this,'BYJcOfFdm6','filter','brand')">So-Phi</button><button onclick="filterGrid(this,'lFlYYwdEjf','filter','brand')">Veer & Wander</button></div></div> </div> <div class="grid"> <div class="ships"><div class="ship"><div>Ships</div> Today</div><div class="ship"><div>Arrives</div> Friday</div><div class="ship nomobile"><div>Order Within</div>6 hrs 55 mins</div><div class="ship"><div>Orders $70+</div><a class="link" href="/policy-shipping"><span>Free FedEx 2Day</span></a></div><div class="ship"><div>Orders $140+</div><a class="link" href="/promos"><span>10% Off</span></a></div></div><a href="/brand/Eaoyog7HmQ" class="regimen emphasis link" data-idtype="brandId" data-filter="Eaoyog7HmQ"><span>Antidote</span></a><div class="item"><a href="/search/product/GrQtmTxbbN/none" id="GrQtmTxbbN" data-filter="Eaoyog7HmQ" data-subcategory="8Mu37DYwB2" data-regimen="" title="View Antidote Supreme Bake + Snack 6 oz"><div class="image"><img src="https://vw-861.nodechef.com/parse/files/8F0n3JDzgQ3o3cQhSWcAv6bZKeoiWtE13GVTyLiC/7141f2499964179830d9b2c0c9a26d7b_cropped768x768.jpg" alt="Antidote Supreme Bake + Snack 6 oz Product Image"></div><div class="details"><h2>Antidote</h2><h3 class="label">Supreme Bake + Snack</h3><h4 class="label">6 oz</h4><h5>$15.00</h5></div></a><div class="actions"><button class="add" data-notify="GrQtmTxbbN" type="button" data-brand="Antidote" data-product="Supreme Bake + Snack 6 oz" data-variant="GrQtmTxbbN" onclick="toggleNotifyPopover(this,event)">Notify When Available</button><button class="add hide" data-remove="GrQtmTxbbN" type="button" data-brand="Antidote" data-product="Supreme Bake + Snack 6 oz" data-variant="GrQtmTxbbN" onclick="removeWhenAvailable(this,event)">Remove Notify</button><button class="favorite" undefined data-favorite="GrQtmTxbbN" type="button" onclick="toggleFavoriteProductButton(this,event)"></button></div></div><a href="/brand/sPk3HG4ivy" class="regimen emphasis link" data-idtype="brandId" data-filter="sPk3HG4ivy"><span>Battington Lashes</span></a><div class="item"><a href="/search/product/EgvpM3nbIq/none" id="EgvpM3nbIq" data-filter="sPk3HG4ivy" data-subcategory="undefined" data-regimen="" title="View Battington Lashes Silk Lashes Earheart"><div class="image"><img src="https://vw-861.nodechef.com/parse/files/8F0n3JDzgQ3o3cQhSWcAv6bZKeoiWtE13GVTyLiC/a87af51b276904327e3ef33481386357_cropped768x768.jpg" alt="Battington Lashes Silk Lashes Earheart Product Image"></div><div class="details"><h2>Battington Lashes</h2><h3 class="label">Silk Lashes</h3><h4 class="label">Earheart</h4><h5><span class="sale">$15.60 </span><span class="original">Was $26.00</span></h5><h6><span class="original">40% Off</span></h6></div></a><div class="actions"><button class="add" data-add="EgvpM3nbIq" data-total="15.60" data-inventory="1" type="button" onclick="addToCart(this,event,'EgvpM3nbIq','Search')">Add to Cart</button><button class="favorite" undefined data-favorite="EgvpM3nbIq" type="button" onclick="toggleFavoriteProductButton(this,event)"></button></div></div><div class="item"><a href="/search/product/KKbehyv8YT/none" id="KKbehyv8YT" data-filter="sPk3HG4ivy" data-subcategory="undefined" data-regimen="" title="View Battington Lashes Silk Lashes Kennedy"><div class="image"><img src="https://vw-861.nodechef.com/parse/files/8F0n3JDzgQ3o3cQhSWcAv6bZKeoiWtE13GVTyLiC/e32e9509331de1f476ae3d412e422182_cropped768x768.jpg" alt="Battington Lashes Silk Lashes Kennedy Product Image"></div><div class="details"><h2>Battington Lashes</h2><h3 class="label">Silk Lashes</h3><h4 class="label">Kennedy</h4><h5><span class="sale">$15.60 </span><span class="original">Was $26.00</span></h5><h6><span class="original">40% Off</span></h6></div></a><div class="actions"><div class="restricted demphasis">Out of Stock</div><button class="favorite" undefined data-favorite="KKbehyv8YT" type="button" onclick="toggleFavoriteProductButton(this,event)"></button></div></div><a href="/brand/PdF4W8Dvmu" class="regimen emphasis link" data-idtype="brandId" data-filter="PdF4W8Dvmu"><span>Broccoli</span></a><div class="item"><a href="/search/product/ltClwWcrLt/none" id="ltClwWcrLt" data-filter="PdF4W8Dvmu" data-subcategory="zM5Plpa5DI" data-regimen="" title="View Broccoli Magazine Issue 08"><div class="image"><img src="https://vw-861.nodechef.com/parse/files/8F0n3JDzgQ3o3cQhSWcAv6bZKeoiWtE13GVTyLiC/f5723ea86d2d4a7a5c6a38e466f7c553_cropped768x768.jpg" alt="Broccoli Magazine Issue 08 Product Image"></div><div class="details"><h2>Broccoli</h2><h3 class="label">Magazine</h3><h4 class="label">Issue 08</h4><h5>$15.00</h5></div></a><div class="actions"><button class="add" data-add="ltClwWcrLt" data-total="15.00" data-inventory="2" type="button" onclick="addToCart(this,event,'ltClwWcrLt','Search')">Add to Cart</button><button class="favorite" undefined data-favorite="ltClwWcrLt" type="button" onclick="toggleFavoriteProductButton(this,event)"></button></div></div><div class="item"><a href="/search/product/W8DP2pFtKT/none" id="W8DP2pFtKT" data-filter="PdF4W8Dvmu" data-subcategory="zM5Plpa5DI" data-regimen="" title="View Broccoli Magazine Issue 12"><div class="image"><img src="https://vw-861.nodechef.com/parse/files/8F0n3JDzgQ3o3cQhSWcAv6bZKeoiWtE13GVTyLiC/580287ccbe187766b3eccb0d8056f39c_cropped768x768.jpg" alt="Broccoli Magazine Issue 12 Product Image"></div><div class="details"><h2>Broccoli</h2><h3 class="label">Magazine</h3><h4 class="label">Issue 12</h4><h5>$15.00</h5></div></a><div class="actions"><button class="add" data-add="W8DP2pFtKT" data-total="15.00" data-inventory="3" type="button" onclick="addToCart(this,event,'W8DP2pFtKT','Search')">Add to Cart</button><button class="favorite" undefined data-favorite="W8DP2pFtKT" type="button" onclick="toggleFavoriteProductButton(this,event)"></button></div></div><div class="item"><a href="/search/product/nwOpFrtfgo/none" id="nwOpFrtfgo" data-filter="PdF4W8Dvmu" data-subcategory="27fytqvb9B" data-regimen="" title="View Broccoli Silk Weed Scrunchie Cool"><div class="image"><img src="https://vw-861.nodechef.com/parse/files/8F0n3JDzgQ3o3cQhSWcAv6bZKeoiWtE13GVTyLiC/e1a680978f6f78e1393ce4d7a0e6a008_cropped768x768.jpg" alt="Broccoli Silk Weed Scrunchie Cool Product Image"></div><div class="details"><h2>Broccoli</h2><h3 class="label">Silk Weed Scrunchie</h3><h4 class="label">Cool</h4><h5>$15.00</h5></div></a><div class="actions"><button class="add" data-notify="nwOpFrtfgo" type="button" data-brand="Broccoli" data-product="Silk Weed Scrunchie Cool" data-variant="nwOpFrtfgo" onclick="toggleNotifyPopover(this,event)">Notify When Available</button><button class="add hide" data-remove="nwOpFrtfgo" type="button" data-brand="Broccoli" data-product="Silk Weed Scrunchie Cool" data-variant="nwOpFrtfgo" onclick="removeWhenAvailable(this,event)">Remove Notify</button><button class="favorite" undefined data-favorite="nwOpFrtfgo" type="button" onclick="toggleFavoriteProductButton(this,event)"></button></div></div><div class="item"><a href="/search/product/GVrxU3kyaI/none" id="GVrxU3kyaI" data-filter="PdF4W8Dvmu" data-subcategory="27fytqvb9B" data-regimen="" title="View Broccoli Silk Weed Scrunchie Hot"><div class="image"><img src="https://vw-861.nodechef.com/parse/files/8F0n3JDzgQ3o3cQhSWcAv6bZKeoiWtE13GVTyLiC/5e6ea0f11c80f4a56db3393a21784588_cropped768x768.jpg" alt="Broccoli Silk Weed Scrunchie Hot Product Image"></div><div class="details"><h2>Broccoli</h2><h3 class="label">Silk Weed Scrunchie</h3><h4 class="label">Hot</h4><h5>$15.00</h5></div></a><div class="actions"><button class="add" data-notify="GVrxU3kyaI" type="button" data-brand="Broccoli" data-product="Silk Weed Scrunchie Hot" data-variant="GVrxU3kyaI" onclick="toggleNotifyPopover(this,event)">Notify When Available</button><button class="add hide" data-remove="GVrxU3kyaI" type="button" data-brand="Broccoli" data-product="Silk Weed Scrunchie Hot" data-variant="GVrxU3kyaI" onclick="removeWhenAvailable(this,event)">Remove Notify</button><button class="favorite" undefined data-favorite="GVrxU3kyaI" type="button" onclick="toggleFavoriteProductButton(this,event)"></button></div></div><a href="/brand/culG4uiNUx" class="regimen emphasis link" data-idtype="brandId" data-filter="culG4uiNUx"><span>Brosh</span></a><div class="item"><a href="/search/product/ZyoYkGrdKh/none" id="ZyoYkGrdKh" data-filter="culG4uiNUx" data-subcategory="JTnfFj8M99" data-regimen="" title="View Brosh Featherweight Fiber Pomade Mini"><div class="image"><img src="https://vw-861.nodechef.com/parse/files/8F0n3JDzgQ3o3cQhSWcAv6bZKeoiWtE13GVTyLiC/aae8916d3e0890577e060859aae1729d_cropped768x768.jpg" alt="Brosh Featherweight Fiber Pomade Mini Product Image"></div><div class="details"><h2>Brosh</h2><h3 class="label">Featherweight Fiber Pomade</h3><h4 class="label">Mini</h4><h5>$16.00</h5></div></a><div class="actions"><button class="add" data-add="ZyoYkGrdKh" data-total="16.00" data-inventory="3" type="button" onclick="addToCart(this,event,'ZyoYkGrdKh','Search')">Add to Cart</button><button class="favorite" undefined data-favorite="ZyoYkGrdKh" type="button" onclick="toggleFavoriteProductButton(this,event)"></button></div></div><div class="item"><a href="/search/product/iVcSAZHcJq/none" id="iVcSAZHcJq" data-filter="culG4uiNUx" data-subcategory="JTnfFj8M99" data-regimen="" title="View Brosh Original Hold Pomade Mini"><div class="image"><img src="https://vw-861.nodechef.com/parse/files/8F0n3JDzgQ3o3cQhSWcAv6bZKeoiWtE13GVTyLiC/80db94b52ce8b9966aa8caffabb8bbe0_cropped768x768.jpg" alt="Brosh Original Hold Pomade Mini Product Image"></div><div class="details"><h2>Brosh</h2><h3 class="label">Original Hold Pomade</h3><h4 class="label">Mini</h4><h5>$16.00</h5></div></a><div class="actions"><button class="add" data-add="iVcSAZHcJq" data-total="16.00" data-inventory="5" type="button" onclick="addToCart(this,event,'iVcSAZHcJq','Search')">Add to Cart</button><button class="favorite" undefined data-favorite="iVcSAZHcJq" type="button" onclick="toggleFavoriteProductButton(this,event)"></button></div></div><a href="/brand/n6taA819RY" class="regimen emphasis link" data-idtype="brandId" data-filter="n6taA819RY"><span>Cult + King</span></a><div class="item"><a href="/search/product/Q2HSpYRBE0/none" id="Q2HSpYRBE0" data-filter="n6taA819RY" data-subcategory="qzrs1GMM6p" data-regimen="" title="View Cult + King Balm Mini"><div class="image"><img src="https://vw-861.nodechef.com/parse/files/8F0n3JDzgQ3o3cQhSWcAv6bZKeoiWtE13GVTyLiC/8bf6cdb57f56672de560715693442706_cropped768x768.jpg" alt="Cult + King Balm Mini Product Image"></div><div class="details"><h2>Cult + King</h2><h3 class="label">Balm</h3><h4 class="label">Mini</h4><h5>$18.00</h5></div></a><div class="actions"><button class="add" data-add="Q2HSpYRBE0" data-total="18.00" data-inventory="2" type="button" onclick="addToCart(this,event,'Q2HSpYRBE0','Search')">Add to Cart</button><button class="favorite" undefined data-favorite="Q2HSpYRBE0" type="button" onclick="toggleFavoriteProductButton(this,event)"></button></div></div><div class="item"><a href="/search/product/pbp94AiqBg/none" id="pbp94AiqBg" data-filter="n6taA819RY" data-subcategory="JTnfFj8M99" data-regimen="" title="View Cult + King Jelly Mini"><div class="image"><img class="lazy" src="/_images/placeholder.jpg" data-src="https://vw-861.nodechef.com/parse/files/8F0n3JDzgQ3o3cQhSWcAv6bZKeoiWtE13GVTyLiC/e6bbf143b41f11b74dceeea0b6e82ed7_cropped768x768.jpg" alt="Cult + King Jelly Mini Product Image"></div><div class="details"><h2>Cult + King</h2><h3 class="label">Jelly</h3><h4 class="label">Mini</h4><h5>$17.00</h5></div></a><div class="actions"><button class="add" data-add="pbp94AiqBg" data-total="17.00" data-inventory="2" type="button" onclick="addToCart(this,event,'pbp94AiqBg','Search')">Add to Cart</button><button class="favorite" undefined data-favorite="pbp94AiqBg" type="button" onclick="toggleFavoriteProductButton(this,event)"></button></div></div><div class="item"><a href="/search/product/myqGwQoqCA/none" id="myqGwQoqCA" data-filter="n6taA819RY" data-subcategory="null" data-regimen="" title="View Cult + King Replacement Parts Funnel Black"><div class="image"><img class="lazy" src="/_images/placeholder.jpg" data-src="https://vw-861.nodechef.com/parse/files/8F0n3JDzgQ3o3cQhSWcAv6bZKeoiWtE13GVTyLiC/2fc424a8861a31e59297f3d886d57d0b_cropped768x768.jpg" alt="Cult + King Replacement Parts Funnel Black Product Image"></div><div class="details"><h2>Cult + King</h2><h3 class="label">Replacement Parts</h3><h4 class="label">Funnel Black</h4><h5>$0.00</h5></div></a><div class="actions"><button class="add" data-add="myqGwQoqCA" data-total="0.00" data-inventory="2" type="button" onclick="addToCart(this,event,'myqGwQoqCA','Search')">Add to Cart</button><button class="favorite" undefined data-favorite="myqGwQoqCA" type="button" onclick="toggleFavoriteProductButton(this,event)"></button></div></div><div class="item"><a href="/search/product/it9X1kkFP1/none" id="it9X1kkFP1" data-filter="n6taA819RY" data-subcategory="null" data-regimen="" title="View Cult + King Replacement Parts Funnel Silver"><div class="image"><img class="lazy" src="/_images/placeholder.jpg" data-src="https://vw-861.nodechef.com/parse/files/8F0n3JDzgQ3o3cQhSWcAv6bZKeoiWtE13GVTyLiC/2a06dc8fcb0d4dc1b90af748782e5e96_cropped768x768.jpg" alt="Cult + King Replacement Parts Funnel Silver Product Image"></div><div class="details"><h2>Cult + King</h2><h3 class="label">Replacement Parts</h3><h4 class="label">Funnel Silver</h4><h5>$0.00</h5></div></a><div class="actions"><button class="add" data-add="it9X1kkFP1" data-total="0.00" data-inventory="8" type="button" onclick="addToCart(this,event,'it9X1kkFP1','Search')">Add to Cart</button><button class="favorite" undefined data-favorite="it9X1kkFP1" type="button" onclick="toggleFavoriteProductButton(this,event)"></button></div></div><div class="item"><a href="/search/product/ZaXeI6cCDb/none" id="ZaXeI6cCDb" data-filter="n6taA819RY" data-subcategory="null" data-regimen="" title="View Cult + King Replacement Parts Jelly Glass Dropper"><div class="image"><img class="lazy" src="/_images/placeholder.jpg" data-src="https://vw-861.nodechef.com/parse/files/8F0n3JDzgQ3o3cQhSWcAv6bZKeoiWtE13GVTyLiC/01e04f532977ca06f33c52ae7254e6ce_cropped768x768.jpg" alt="Cult + King Replacement Parts Jelly Glass Dropper Product Image"></div><div class="details"><h2>Cult + King</h2><h3 class="label">Replacement Parts</h3><h4 class="label">Jelly Glass Dropper</h4><h5>$0.00</h5></div></a><div class="actions"><button class="add" data-add="ZaXeI6cCDb" data-total="0.00" data-inventory="5" type="button" onclick="addToCart(this,event,'ZaXeI6cCDb','Search')">Add to Cart</button><button class="favorite" undefined data-favorite="ZaXeI6cCDb" type="button" onclick="toggleFavoriteProductButton(this,event)"></button></div></div><div class="item"><a href="/search/product/IiAqGGopR1/none" id="IiAqGGopR1" data-filter="n6taA819RY" data-subcategory="null" data-regimen="" title="View Cult + King Replacement Parts Jelly Glass Dropper Mini"><div class="image"><img class="lazy" src="/_images/placeholder.jpg" data-src="https://vw-861.nodechef.com/parse/files/8F0n3JDzgQ3o3cQhSWcAv6bZKeoiWtE13GVTyLiC/e440a5d257cd9ffb9bb118576ec0910a_cropped768x768.jpg" alt="Cult + King Replacement Parts Jelly Glass Dropper Mini Product Image"></div><div class="details"><h2>Cult + King</h2><h3 class="label">Replacement Parts</h3><h4 class="label">Jelly Glass Dropper Mini</h4><h5>$0.00</h5></div></a><div class="actions"><button class="add" data-add="IiAqGGopR1" data-total="0.00" data-inventory="8" type="button" onclick="addToCart(this,event,'IiAqGGopR1','Search')">Add to Cart</button><button class="favorite" undefined data-favorite="IiAqGGopR1" type="button" onclick="toggleFavoriteProductButton(this,event)"></button></div></div><div class="item"><a href="/search/product/ld7fmfovum/none" id="ld7fmfovum" data-filter="n6taA819RY" data-subcategory="null" data-regimen="" title="View Cult + King Replacement Parts Setspray Spray Pump"><div class="image"><img class="lazy" src="/_images/placeholder.jpg" data-src="https://vw-861.nodechef.com/parse/files/8F0n3JDzgQ3o3cQhSWcAv6bZKeoiWtE13GVTyLiC/64d051fcc7855dfbbc4edb18dd3fa4f5_cropped768x768.jpg" alt="Cult + King Replacement Parts Setspray Spray Pump Product Image"></div><div class="details"><h2>Cult + King</h2><h3 class="label">Replacement Parts</h3><h4 class="label">Setspray Spray Pump</h4><h5>$0.00</h5></div></a><div class="actions"><button class="add" data-add="ld7fmfovum" data-total="0.00" data-inventory="6" type="button" onclick="addToCart(this,event,'ld7fmfovum','Search')">Add to Cart</button><button class="favorite" undefined data-favorite="ld7fmfovum" type="button" onclick="toggleFavoriteProductButton(this,event)"></button></div></div><div class="item"><a href="/search/product/63lXBxvym4/none" id="63lXBxvym4" data-filter="n6taA819RY" data-subcategory="null" data-regimen="" title="View Cult + King Replacement Parts Setspray Spray Pump Mini"><div class="image"><img class="lazy" src="/_images/placeholder.jpg" data-src="https://vw-861.nodechef.com/parse/files/8F0n3JDzgQ3o3cQhSWcAv6bZKeoiWtE13GVTyLiC/24f17de3093e2373db8eef8747b0ce97_cropped768x768.jpg" alt="Cult + King Replacement Parts Setspray Spray Pump Mini Product Image"></div><div class="details"><h2>Cult + King</h2><h3 class="label">Replacement Parts</h3><h4 class="label">Setspray Spray Pump Mini</h4><h5>$0.00</h5></div></a><div class="actions"><button class="add" data-add="63lXBxvym4" data-total="0.00" data-inventory="9" type="button" onclick="addToCart(this,event,'63lXBxvym4','Search')">Add to Cart</button><button class="favorite" undefined data-favorite="63lXBxvym4" type="button" onclick="toggleFavoriteProductButton(this,event)"></button></div></div><div class="item"><a href="/search/product/fdHKHvQSzB/none" id="fdHKHvQSzB" data-filter="n6taA819RY" data-subcategory="null" data-regimen="" title="View Cult + King Replacement Parts Style Cream Pump"><div class="image"><img class="lazy" src="/_images/placeholder.jpg" data-src="https://vw-861.nodechef.com/parse/files/8F0n3JDzgQ3o3cQhSWcAv6bZKeoiWtE13GVTyLiC/4cc3fe62c220e7c82f2f877c132cd55f_cropped768x768.jpg" alt="Cult + King Replacement Parts Style Cream Pump Product Image"></div><div class="details"><h2>Cult + King</h2><h3 class="label">Replacement Parts</h3><h4 class="label">Style Cream Pump</h4><h5>$0.00</h5></div></a><div class="actions"><button class="add" data-add="fdHKHvQSzB" data-total="0.00" data-inventory="2" type="button" onclick="addToCart(this,event,'fdHKHvQSzB','Search')">Add to Cart</button><button class="favorite" undefined data-favorite="fdHKHvQSzB" type="button" onclick="toggleFavoriteProductButton(this,event)"></button></div></div><div class="item"><a href="/search/product/z5YYVXCbvm/none" id="z5YYVXCbvm" data-filter="n6taA819RY" data-subcategory="null" data-regimen="" title="View Cult + King Replacement Parts Style Cream Pump Mini"><div class="image"><img class="lazy" src="/_images/placeholder.jpg" data-src="https://vw-861.nodechef.com/parse/files/8F0n3JDzgQ3o3cQhSWcAv6bZKeoiWtE13GVTyLiC/3729bc9ffa3c49349997f118d850cf1d_cropped768x768.jpg" alt="Cult + King Replacement Parts Style Cream Pump Mini Product Image"></div><div class="details"><h2>Cult + King</h2><h3 class="label">Replacement Parts</h3><h4 class="label">Style Cream Pump Mini</h4><h5>$0.00</h5></div></a><div class="actions"><button class="add" data-add="z5YYVXCbvm" data-total="0.00" data-inventory="1" type="button" onclick="addToCart(this,event,'z5YYVXCbvm','Search')">Add to Cart</button><button class="favorite" undefined data-favorite="z5YYVXCbvm" type="button" onclick="toggleFavoriteProductButton(this,event)"></button></div></div><div class="item"><a href="/search/product/Ff3E7GkKl1/none" id="Ff3E7GkKl1" data-filter="n6taA819RY" data-subcategory="null" data-regimen="" title="View Cult + King Replacement Parts Tonik & Superwater Spray Pump"><div class="image"><img class="lazy" src="/_images/placeholder.jpg" data-src="https://vw-861.nodechef.com/parse/files/8F0n3JDzgQ3o3cQhSWcAv6bZKeoiWtE13GVTyLiC/257b0ff10f8b567a23220ea6d94cce90_cropped768x768.jpg" alt="Cult + King Replacement Parts Tonik & Superwater Spray Pump Product Image"></div><div class="details"><h2>Cult + King</h2><h3 class="label">Replacement Parts</h3><h4 class="label">Tonik & Superwater Spray Pump</h4><h5>$0.00</h5></div></a><div class="actions"><button class="add" data-add="Ff3E7GkKl1" data-total="0.00" data-inventory="4" type="button" onclick="addToCart(this,event,'Ff3E7GkKl1','Search')">Add to Cart</button><button class="favorite" undefined data-favorite="Ff3E7GkKl1" type="button" onclick="toggleFavoriteProductButton(this,event)"></button></div></div><div class="item"><a href="/search/product/OxbBrjp6re/none" id="OxbBrjp6re" data-filter="n6taA819RY" data-subcategory="null" data-regimen="" title="View Cult + King Replacement Parts Tonik & Superwater Spray Pump Mini"><div class="image"><img class="lazy" src="/_images/placeholder.jpg" data-src="https://vw-861.nodechef.com/parse/files/8F0n3JDzgQ3o3cQhSWcAv6bZKeoiWtE13GVTyLiC/009fb508770a6b174d5fd51c2ea238b2_cropped768x768.jpg" alt="Cult + King Replacement Parts Tonik & Superwater Spray Pump Mini Product Image"></div><div class="details"><h2>Cult + King</h2><h3 class="label">Replacement Parts</h3><h4 class="label">Tonik & Superwater Spray Pump Mini</h4><h5>$0.00</h5></div></a><div class="actions"><button class="add" data-add="OxbBrjp6re" data-total="0.00" data-inventory="3" type="button" onclick="addToCart(this,event,'OxbBrjp6re','Search')">Add to Cart</button><button class="favorite" undefined data-favorite="OxbBrjp6re" type="button" onclick="toggleFavoriteProductButton(this,event)"></button></div></div><div class="item"><a href="/search/product/pBObEuXE9c/none" id="pBObEuXE9c" data-filter="n6taA819RY" data-subcategory="JTnfFj8M99" data-regimen="" title="View Cult + King Setspray Mini"><div class="image"><img class="lazy" src="/_images/placeholder.jpg" data-src="https://vw-861.nodechef.com/parse/files/8F0n3JDzgQ3o3cQhSWcAv6bZKeoiWtE13GVTyLiC/80b537dd3e8d513fd4c91d31e303d8d5_cropped768x768.jpg" alt="Cult + King Setspray Mini Product Image"></div><div class="details"><h2>Cult + King</h2><h3 class="label">Setspray</h3><h4 class="label">Mini</h4><h5>$17.00</h5></div></a><div class="actions"><button class="add" data-notify="pBObEuXE9c" type="button" data-brand="Cult + King" data-product="Setspray Mini" data-variant="pBObEuXE9c" onclick="toggleNotifyPopover(this,event)">Notify When Available</button><button class="add hide" data-remove="pBObEuXE9c" type="button" data-brand="Cult + King" data-product="Setspray Mini" data-variant="pBObEuXE9c" onclick="removeWhenAvailable(this,event)">Remove Notify</button><button class="favorite" undefined data-favorite="pBObEuXE9c" type="button" onclick="toggleFavoriteProductButton(this,event)"></button></div></div><div class="item"><a href="/search/product/YPjlIU20Ou/none" id="YPjlIU20Ou" data-filter="n6taA819RY" data-subcategory="JTnfFj8M99" data-regimen="" title="View Cult + King Style Mini"><div class="image"><img class="lazy" src="/_images/placeholder.jpg" data-src="https://vw-861.nodechef.com/parse/files/8F0n3JDzgQ3o3cQhSWcAv6bZKeoiWtE13GVTyLiC/7cf87d903518d14cd32dcc12c86d4de1_cropped768x768.jpg" alt="Cult + King Style Mini Product Image"></div><div class="details"><h2>Cult + King</h2><h3 class="label">Style</h3><h4 class="label">Mini</h4><h5>$18.00</h5></div></a><div class="actions"><button class="add" data-add="YPjlIU20Ou" data-total="18.00" data-inventory="3" type="button" onclick="addToCart(this,event,'YPjlIU20Ou','Search')">Add to Cart</button><button class="favorite" undefined data-favorite="YPjlIU20Ou" type="button" onclick="toggleFavoriteProductButton(this,event)"></button></div></div><div class="item"><a href="/search/product/Nhkdk1Vykb/none" id="Nhkdk1Vykb" data-filter="n6taA819RY" data-subcategory="8ZYDPOskUK" data-regimen="" title="View Cult + King Superwater Mini"><div class="image"><img class="lazy" src="/_images/placeholder.jpg" data-src="https://vw-861.nodechef.com/parse/files/8F0n3JDzgQ3o3cQhSWcAv6bZKeoiWtE13GVTyLiC/d4798c4d556eaddcecb42ab102bdf1a7_cropped768x768.jpg" alt="Cult + King Superwater Mini Product Image"></div><div class="details"><h2>Cult + King</h2><h3 class="label">Superwater</h3><h4 class="label">Mini</h4><h5>$17.00</h5></div></a><div class="actions"><button class="add" data-add="Nhkdk1Vykb" data-total="17.00" data-inventory="5" type="button" onclick="addToCart(this,event,'Nhkdk1Vykb','Search')">Add to Cart</button><button class="favorite" undefined data-favorite="Nhkdk1Vykb" type="button" onclick="toggleFavoriteProductButton(this,event)"></button></div></div><div class="item"><a href="/search/product/0oTmipfy0B/none" id="0oTmipfy0B" data-filter="n6taA819RY" data-subcategory="8ZYDPOskUK" data-regimen="" title="View Cult + King Tonik Mini"><div class="image"><img class="lazy" src="/_images/placeholder.jpg" data-src="https://vw-861.nodechef.com/parse/files/8F0n3JDzgQ3o3cQhSWcAv6bZKeoiWtE13GVTyLiC/ad6c6a672595579e1954408350cb8611_cropped768x768.jpg" alt="Cult + King Tonik Mini Product Image"></div><div class="details"><h2>Cult + King</h2><h3 class="label">Tonik</h3><h4 class="label">Mini</h4><h5>$17.00</h5></div></a><div class="actions"><button class="add" data-add="0oTmipfy0B" data-total="17.00" data-inventory="4" type="button" onclick="addToCart(this,event,'0oTmipfy0B','Search')">Add to Cart</button><button class="favorite" undefined data-favorite="0oTmipfy0B" type="button" onclick="toggleFavoriteProductButton(this,event)"></button></div></div><div class="item"><a href="/search/product/DwYwzb5eED/none" id="DwYwzb5eED" data-filter="n6taA819RY" data-subcategory="qzrs1GMM6p" data-regimen="" title="View Cult + King Vegan Balm Mini"><div class="image"><img class="lazy" src="/_images/placeholder.jpg" data-src="https://vw-861.nodechef.com/parse/files/8F0n3JDzgQ3o3cQhSWcAv6bZKeoiWtE13GVTyLiC/892b92352adc83a452a471cae26db3f8_cropped768x768.jpg" alt="Cult + King Vegan Balm Mini Product Image"></div><div class="details"><h2>Cult + King</h2><h3 class="label">Vegan Balm</h3><h4 class="label">Mini</h4><h5>$20.00</h5></div></a><div class="actions"><button class="add" data-add="DwYwzb5eED" data-total="20.00" data-inventory="1" type="button" onclick="addToCart(this,event,'DwYwzb5eED','Search')">Add to Cart</button><button class="favorite" undefined data-favorite="DwYwzb5eED" type="button" onclick="toggleFavoriteProductButton(this,event)"></button></div></div><div class="item"><a href="/search/product/sHY4DdLyhF/none" id="sHY4DdLyhF" data-filter="n6taA819RY" data-subcategory="5cFxEHD4hD" data-regimen="" title="View Cult + King Wash Bar in Case"><div class="image"><img class="lazy" src="/_images/placeholder.jpg" data-src="https://vw-861.nodechef.com/parse/files/8F0n3JDzgQ3o3cQhSWcAv6bZKeoiWtE13GVTyLiC/16e1a20b58fa6b592e405debe8efbda8_cropped768x768.jpg" alt="Cult + King Wash Bar in Case Product Image"></div><div class="details"><h2>Cult + King</h2><h3 class="label">Wash</h3><h4 class="label">Bar in Case</h4><h5>$18.00</h5></div></a><div class="actions"><button class="add" data-notify="sHY4DdLyhF" type="button" data-brand="Cult + King" data-product="Wash Bar in Case" data-variant="sHY4DdLyhF" onclick="toggleNotifyPopover(this,event)">Notify When Available</button><button class="add hide" data-remove="sHY4DdLyhF" type="button" data-brand="Cult + King" data-product="Wash Bar in Case" data-variant="sHY4DdLyhF" onclick="removeWhenAvailable(this,event)">Remove Notify</button><button class="favorite" undefined data-favorite="sHY4DdLyhF" type="button" onclick="toggleFavoriteProductButton(this,event)"></button></div></div><a href="/brand/66IjlarIaA" class="regimen emphasis link" data-idtype="brandId" data-filter="66IjlarIaA"><span>Davids Natural Toothpaste</span></a><div class="item"><a href="/search/product/Q5qq4wHtkg/none" id="Q5qq4wHtkg" data-filter="66IjlarIaA" data-subcategory="J7YIxnDHPs" data-regimen="" title="View Davids Natural Toothpaste Premium Natural Toothpaste Sensitive + Whitening nano-Hydroxyapatite"><div class="image"><img class="lazy" src="/_images/placeholder.jpg" data-src="https://vw-861.nodechef.com/parse/files/8F0n3JDzgQ3o3cQhSWcAv6bZKeoiWtE13GVTyLiC/20866ccb412090747eebebf76166390f_cropped768x768.jpg" alt="Davids Natural Toothpaste Premium Natural Toothpaste Sensitive + Whitening nano-Hydroxyapatite Product Image"></div><div class="details"><h2>Davids Natural Toothpaste</h2><h3 class="label">Premium Natural Toothpaste</h3><h4 class="label">Sensitive + Whitening nano-Hydroxyapatite</h4><h5>$11.95</h5></div></a><div class="actions"><button class="add" data-add="Q5qq4wHtkg" data-total="11.95" data-inventory="11" type="button" onclick="addToCart(this,event,'Q5qq4wHtkg','Search')">Add to Cart</button><button class="favorite" undefined data-favorite="Q5qq4wHtkg" type="button" onclick="toggleFavoriteProductButton(this,event)"></button></div></div><div class="item"><a href="/search/product/bhEsHFOkgb/none" id="bhEsHFOkgb" data-filter="66IjlarIaA" data-subcategory="J7YIxnDHPs" data-regimen="" title="View Davids Natural Toothpaste Professional Tongue Scraper "><div class="image"><img class="lazy" src="/_images/placeholder.jpg" data-src="https://vw-861.nodechef.com/parse/files/8F0n3JDzgQ3o3cQhSWcAv6bZKeoiWtE13GVTyLiC/853425aab98c96778e89cffc78ff9a12_cropped768x768.jpg" alt="Davids Natural Toothpaste Professional Tongue Scraper Product Image"></div><div class="details"><h2>Davids Natural Toothpaste</h2><h3 class="label">Professional Tongue Scraper</h3><h4 class="label"></h4><h5>$14.95</h5></div></a><div class="actions"><button class="add" data-add="bhEsHFOkgb" data-total="14.95" data-inventory="10" type="button" onclick="addToCart(this,event,'bhEsHFOkgb','Search')">Add to Cart</button><button class="favorite" undefined data-favorite="bhEsHFOkgb" type="button" onclick="toggleFavoriteProductButton(this,event)"></button></div></div><a href="/brand/k5jEOn8A4Z" class="regimen emphasis link" data-idtype="brandId" data-filter="k5jEOn8A4Z"><span>Davines Authentic Formulas</span></a><a href="/brand/mi3D810Grh" class="regimen emphasis link" data-idtype="brandId" data-filter="mi3D810Grh"><span>Davines Essential Haircare</span></a><div class="item"><a href="/search/product/grzV9zs65n/none" id="grzV9zs65n" data-filter="mi3D810Grh" data-subcategory="ZbNClxwPvx" data-regimen="HY0umUGNyV" title="View Davines Essential Haircare DEDE Conditioner 75 ml"><div class="image"><img class="lazy" src="/_images/placeholder.jpg" data-src="https://vw-861.nodechef.com/parse/files/8F0n3JDzgQ3o3cQhSWcAv6bZKeoiWtE13GVTyLiC/8415ebf5576fda766fb039fc8c70cb83_cropped768x768.jpg" alt="Davines Essential Haircare DEDE Conditioner 75 ml Product Image"></div><div class="details"><h2>Davines Essential Haircare</h2><h3 class="label">DEDE Conditioner</h3><h4 class="label">75 ml</h4><h5>$16.00</h5></div></a><div class="actions"><button class="add" data-add="grzV9zs65n" data-total="16.00" data-inventory="3" type="button" onclick="addToCart(this,event,'grzV9zs65n','Search')">Add to Cart</button><button class="favorite" undefined data-favorite="grzV9zs65n" type="button" onclick="toggleFavoriteProductButton(this,event)"></button></div></div><div class="item"><a href="/search/product/FQab77AKuJ/none" id="FQab77AKuJ" data-filter="mi3D810Grh" data-subcategory="OJV2jZqUml" data-regimen="HY0umUGNyV" title="View Davines Essential Haircare DEDE Shampoo 75 ml"><div class="image"><img class="lazy" src="/_images/placeholder.jpg" data-src="https://vw-861.nodechef.com/parse/files/8F0n3JDzgQ3o3cQhSWcAv6bZKeoiWtE13GVTyLiC/34cd6d3c32bfbfae9de64afc54766ece_cropped768x768.jpg" alt="Davines Essential Haircare DEDE Shampoo 75 ml Product Image"></div><div class="details"><h2>Davines Essential Haircare</h2><h3 class="label">DEDE Shampoo</h3><h4 class="label">75 ml</h4><h5>$15.00</h5></div></a><div class="actions"><button class="add" data-add="FQab77AKuJ" data-total="15.00" data-inventory="3" type="button" onclick="addToCart(this,event,'FQab77AKuJ','Search')">Add to Cart</button><button class="favorite" undefined data-favorite="FQab77AKuJ" type="button" onclick="toggleFavoriteProductButton(this,event)"></button></div></div><div class="item"><a href="/search/product/DrX7YbHG5E/none" id="DrX7YbHG5E" data-filter="mi3D810Grh" data-subcategory="N6wseGatr5" data-regimen="HY0umUGNyV" title="View Davines Essential Haircare LOVE Curl Conditioner 75 ml"><div class="image"><img class="lazy" src="/_images/placeholder.jpg" data-src="https://vw-861.nodechef.com/parse/files/8F0n3JDzgQ3o3cQhSWcAv6bZKeoiWtE13GVTyLiC/1208be11bddda4fdcd62ff2707053032_cropped768x768.jpg" alt="Davines Essential Haircare LOVE Curl Conditioner 75 ml Product Image"></div><div class="details"><h2>Davines Essential Haircare</h2><h3 class="label">LOVE Curl Conditioner</h3><h4 class="label">75 ml</h4><h5>$16.00</h5></div></a><div class="actions"><button class="add" data-add="DrX7YbHG5E" data-total="16.00" data-inventory="2" type="button" onclick="addToCart(this,event,'DrX7YbHG5E','Search')">Add to Cart</button><button class="favorite" undefined data-favorite="DrX7YbHG5E" type="button" onclick="toggleFavoriteProductButton(this,event)"></button></div></div><div class="item"><a href="/search/product/9Ff5ic9MmW/none" id="9Ff5ic9MmW" data-filter="mi3D810Grh" data-subcategory="N6wseGatr5" data-regimen="HY0umUGNyV" title="View Davines Essential Haircare LOVE Curl Hair Mask 75 ml"><div class="image"><img class="lazy" src="/_images/placeholder.jpg" data-src="https://vw-861.nodechef.com/parse/files/8F0n3JDzgQ3o3cQhSWcAv6bZKeoiWtE13GVTyLiC/b3383867460ce2bb0cdeba7039100439_cropped768x768.jpg" alt="Davines Essential Haircare LOVE Curl Hair Mask 75 ml Product Image"></div><div class="details"><h2>Davines Essential Haircare</h2><h3 class="label">LOVE Curl Hair Mask</h3><h4 class="label">75 ml</h4><h5>$16.00</h5></div></a><div class="actions"><button class="add" data-add="9Ff5ic9MmW" data-total="16.00" data-inventory="3" type="button" onclick="addToCart(this,event,'9Ff5ic9MmW','Search')">Add to Cart</button><button class="favorite" undefined data-favorite="9Ff5ic9MmW" type="button" onclick="toggleFavoriteProductButton(this,event)"></button></div></div><div class="item"><a href="/search/product/6DAmqR80rY/none" id="6DAmqR80rY" data-filter="mi3D810Grh" data-subcategory="N6wseGatr5" data-regimen="HY0umUGNyV" title="View Davines Essential Haircare LOVE Curl Shampoo 75 ml"><div class="image"><img class="lazy" src="/_images/placeholder.jpg" data-src="https://vw-861.nodechef.com/parse/files/8F0n3JDzgQ3o3cQhSWcAv6bZKeoiWtE13GVTyLiC/97a06052e587ed7b7498a13eeec282a2_cropped768x768.jpg" alt="Davines Essential Haircare LOVE Curl Shampoo 75 ml Product Image"></div><div class="details"><h2>Davines Essential Haircare</h2><h3 class="label">LOVE Curl Shampoo</h3><h4 class="label">75 ml</h4><h5>$15.00</h5></div></a><div class="actions"><button class="add" data-add="6DAmqR80rY" data-total="15.00" data-inventory="3" type="button" onclick="addToCart(this,event,'6DAmqR80rY','Search')">Add to Cart</button><button class="favorite" undefined data-favorite="6DAmqR80rY" type="button" onclick="toggleFavoriteProductButton(this,event)"></button></div></div><div class="item"><a href="/search/product/tozkAzNpQ3/none" id="tozkAzNpQ3" data-filter="mi3D810Grh" data-subcategory="ZbNClxwPvx" data-regimen="HY0umUGNyV" title="View Davines Essential Haircare LOVE Smoothing Conditioner 75 ml"><div class="image"><img class="lazy" src="/_images/placeholder.jpg" data-src="https://vw-861.nodechef.com/parse/files/8F0n3JDzgQ3o3cQhSWcAv6bZKeoiWtE13GVTyLiC/8617363d0ccf8c7340d9d1ad9f225ba5_cropped768x768.jpg" alt="Davines Essential Haircare LOVE Smoothing Conditioner 75 ml Product Image"></div><div class="details"><h2>Davines Essential Haircare</h2><h3 class="label">LOVE Smoothing Conditioner</h3><h4 class="label">75 ml</h4><h5>$16.00</h5></div></a><div class="actions"><button class="add" data-add="tozkAzNpQ3" data-total="16.00" data-inventory="2" type="button" onclick="addToCart(this,event,'tozkAzNpQ3','Search')">Add to Cart</button><button class="favorite" undefined data-favorite="tozkAzNpQ3" type="button" onclick="toggleFavoriteProductButton(this,event)"></button></div></div><div class="item"><a href="/search/product/4LPhZFvyKr/none" id="4LPhZFvyKr" data-filter="mi3D810Grh" data-subcategory="OJV2jZqUml" data-regimen="HY0umUGNyV" title="View Davines Essential Haircare LOVE Smoothing Shampoo 75 ml"><div class="image"><img class="lazy" src="/_images/placeholder.jpg" data-src="https://vw-861.nodechef.com/parse/files/8F0n3JDzgQ3o3cQhSWcAv6bZKeoiWtE13GVTyLiC/2bdd6c50569aa20542fec9f162baaad3_cropped768x768.jpg" alt="Davines Essential Haircare LOVE Smoothing Shampoo 75 ml Product Image"></div><div class="details"><h2>Davines Essential Haircare</h2><h3 class="label">LOVE Smoothing Shampoo</h3><h4 class="label">75 ml</h4><h5>$15.00</h5></div></a><div class="actions"><button class="add" data-add="4LPhZFvyKr" data-total="15.00" data-inventory="2" type="button" onclick="addToCart(this,event,'4LPhZFvyKr','Search')">Add to Cart</button><button class="favorite" undefined data-favorite="4LPhZFvyKr" type="button" onclick="toggleFavoriteProductButton(this,event)"></button></div></div><div class="item"><a href="/search/product/d67XmTGEJo/none" id="d67XmTGEJo" data-filter="mi3D810Grh" data-subcategory="ZbNClxwPvx" data-regimen="HY0umUGNyV" title="View Davines Essential Haircare MELU Conditioner 75 ml"><div class="image"><img class="lazy" src="/_images/placeholder.jpg" data-src="https://vw-861.nodechef.com/parse/files/8F0n3JDzgQ3o3cQhSWcAv6bZKeoiWtE13GVTyLiC/317e74391dafc2c4fd5569fe865f37ed_cropped768x768.jpg" alt="Davines Essential Haircare MELU Conditioner 75 ml Product Image"></div><div class="details"><h2>Davines Essential Haircare</h2><h3 class="label">MELU Conditioner</h3><h4 class="label">75 ml</h4><h5>$16.00</h5></div></a><div class="actions"><button class="add" data-add="d67XmTGEJo" data-total="16.00" data-inventory="3" type="button" onclick="addToCart(this,event,'d67XmTGEJo','Search')">Add to Cart</button><button class="favorite" undefined data-favorite="d67XmTGEJo" type="button" onclick="toggleFavoriteProductButton(this,event)"></button></div></div><div class="item"><a href="/search/product/63XsbZmRvy/none" id="63XsbZmRvy" data-filter="mi3D810Grh" data-subcategory="OJV2jZqUml" data-regimen="HY0umUGNyV" title="View Davines Essential Haircare MELU Shampoo 75 ml"><div class="image"><img class="lazy" src="/_images/placeholder.jpg" data-src="https://vw-861.nodechef.com/parse/files/8F0n3JDzgQ3o3cQhSWcAv6bZKeoiWtE13GVTyLiC/42efdc3f066e707eabd51ef36a194782_cropped768x768.jpg" alt="Davines Essential Haircare MELU Shampoo 75 ml Product Image"></div><div class="details"><h2>Davines Essential Haircare</h2><h3 class="label">MELU Shampoo</h3><h4 class="label">75 ml</h4><h5>$15.00</h5></div></a><div class="actions"><button class="add" data-add="63XsbZmRvy" data-total="15.00" data-inventory="3" type="button" onclick="addToCart(this,event,'63XsbZmRvy','Search')">Add to Cart</button><button class="favorite" undefined data-favorite="63XsbZmRvy" type="button" onclick="toggleFavoriteProductButton(this,event)"></button></div></div><div class="item"><a href="/search/product/DmgHD3JDQT/none" id="DmgHD3JDQT" data-filter="mi3D810Grh" data-subcategory="ZbNClxwPvx" data-regimen="HY0umUGNyV" title="View Davines Essential Haircare MINU Conditioner 75 ml"><div class="image"><img class="lazy" src="/_images/placeholder.jpg" data-src="https://vw-861.nodechef.com/parse/files/8F0n3JDzgQ3o3cQhSWcAv6bZKeoiWtE13GVTyLiC/d322c480180619a8c8224a99be3cb17f_cropped768x768.jpg" alt="Davines Essential Haircare MINU Conditioner 75 ml Product Image"></div><div class="details"><h2>Davines Essential Haircare</h2><h3 class="label">MINU Conditioner</h3><h4 class="label">75 ml</h4><h5>$16.00</h5></div></a><div class="actions"><button class="add" data-add="DmgHD3JDQT" data-total="16.00" data-inventory="3" type="button" onclick="addToCart(this,event,'DmgHD3JDQT','Search')">Add to Cart</button><button class="favorite" undefined data-favorite="DmgHD3JDQT" type="button" onclick="toggleFavoriteProductButton(this,event)"></button></div></div><div class="item"><a href="/search/product/iDG5wCyv0s/none" id="iDG5wCyv0s" data-filter="mi3D810Grh" data-subcategory="8ZYDPOskUK" data-regimen="HY0umUGNyV" title="View Davines Essential Haircare MINU Hair Mask 75 ml"><div class="image"><img class="lazy" src="/_images/placeholder.jpg" data-src="https://vw-861.nodechef.com/parse/files/8F0n3JDzgQ3o3cQhSWcAv6bZKeoiWtE13GVTyLiC/d1562705f3fe2a2808c04becf04d35d8_cropped768x768.jpg" alt="Davines Essential Haircare MINU Hair Mask 75 ml Product Image"></div><div class="details"><h2>Davines Essential Haircare</h2><h3 class="label">MINU Hair Mask</h3><h4 class="label">75 ml</h4><h5>$17.00</h5></div></a><div class="actions"><button class="add" data-add="iDG5wCyv0s" data-total="17.00" data-inventory="3" type="button" onclick="addToCart(this,event,'iDG5wCyv0s','Search')">Add to Cart</button><button class="favorite" undefined data-favorite="iDG5wCyv0s" type="button" onclick="toggleFavoriteProductButton(this,event)"></button></div></div><div class="item"><a href="/search/product/6zMQOzcHdd/none" id="6zMQOzcHdd" data-filter="mi3D810Grh" data-subcategory="OJV2jZqUml" data-regimen="HY0umUGNyV" title="View Davines Essential Haircare MINU Shampoo 75 ml"><div class="image"><img class="lazy" src="/_images/placeholder.jpg" data-src="https://vw-861.nodechef.com/parse/files/8F0n3JDzgQ3o3cQhSWcAv6bZKeoiWtE13GVTyLiC/56526fd211839f3e52acfb8c2e48ff7a_cropped768x768.jpg" alt="Davines Essential Haircare MINU Shampoo 75 ml Product Image"></div><div class="details"><h2>Davines Essential Haircare</h2><h3 class="label">MINU Shampoo</h3><h4 class="label">75 ml</h4><h5>$15.00</h5></div></a><div class="actions"><button class="add" data-add="6zMQOzcHdd" data-total="15.00" data-inventory="3" type="button" onclick="addToCart(this,event,'6zMQOzcHdd','Search')">Add to Cart</button><button class="favorite" undefined data-favorite="6zMQOzcHdd" type="button" onclick="toggleFavoriteProductButton(this,event)"></button></div></div><div class="item"><a href="/search/product/t6eWzTIcvZ/none" id="t6eWzTIcvZ" data-filter="mi3D810Grh" data-subcategory="ZbNClxwPvx" data-regimen="HY0umUGNyV" title="View Davines Essential Haircare MOMO Conditioner 75 ml"><div class="image"><img class="lazy" src="/_images/placeholder.jpg" data-src="https://vw-861.nodechef.com/parse/files/8F0n3JDzgQ3o3cQhSWcAv6bZKeoiWtE13GVTyLiC/01de5d256afad42ef0fbf9b96cb9555e_cropped768x768.jpg" alt="Davines Essential Haircare MOMO Conditioner 75 ml Product Image"></div><div class="details"><h2>Davines Essential Haircare</h2><h3 class="label">MOMO Conditioner</h3><h4 class="label">75 ml</h4><h5>$16.00</h5></div></a><div class="actions"><button class="add" data-add="t6eWzTIcvZ" data-total="16.00" data-inventory="2" type="button" onclick="addToCart(this,event,'t6eWzTIcvZ','Search')">Add to Cart</button><button class="favorite" undefined data-favorite="t6eWzTIcvZ" type="button" onclick="toggleFavoriteProductButton(this,event)"></button></div></div><div class="item"><a href="/search/product/5i9Sc2rElO/none" id="5i9Sc2rElO" data-filter="mi3D810Grh" data-subcategory="OJV2jZqUml" data-regimen="HY0umUGNyV" title="View Davines Essential Haircare MOMO Shampoo 75 ml"><div class="image"><img class="lazy" src="/_images/placeholder.jpg" data-src="https://vw-861.nodechef.com/parse/files/8F0n3JDzgQ3o3cQhSWcAv6bZKeoiWtE13GVTyLiC/5d79a124bf66527eda07096f38ba5f2e_cropped768x768.jpg" alt="Davines Essential Haircare MOMO Shampoo 75 ml Product Image"></div><div class="details"><h2>Davines Essential Haircare</h2><h3 class="label">MOMO Shampoo</h3><h4 class="label">75 ml</h4><h5>$15.00</h5></div></a><div class="actions"><button class="add" data-add="5i9Sc2rElO" data-total="15.00" data-inventory="2" type="button" onclick="addToCart(this,event,'5i9Sc2rElO','Search')">Add to Cart</button><button class="favorite" undefined data-favorite="5i9Sc2rElO" type="button" onclick="toggleFavoriteProductButton(this,event)"></button></div></div><div class="item"><a href="/search/product/RPSy3c6zvI/none" id="RPSy3c6zvI" data-filter="mi3D810Grh" data-subcategory="ZbNClxwPvx" data-regimen="HY0umUGNyV" title="View Davines Essential Haircare NOUNOU Conditioner 75 ml"><div class="image"><img class="lazy" src="/_images/placeholder.jpg" data-src="https://vw-861.nodechef.com/parse/files/8F0n3JDzgQ3o3cQhSWcAv6bZKeoiWtE13GVTyLiC/0c5f4d09f08bdf6fa7a35c247f5e5046_cropped768x768.jpg" alt="Davines Essential Haircare NOUNOU Conditioner 75 ml Product Image"></div><div class="details"><h2>Davines Essential Haircare</h2><h3 class="label">NOUNOU Conditioner</h3><h4 class="label">75 ml</h4><h5>$16.00</h5></div></a><div class="actions"><button class="add" data-add="RPSy3c6zvI" data-total="16.00" data-inventory="3" type="button" onclick="addToCart(this,event,'RPSy3c6zvI','Search')">Add to Cart</button><button class="favorite" undefined data-favorite="RPSy3c6zvI" type="button" onclick="toggleFavoriteProductButton(this,event)"></button></div></div><div class="item"><a href="/search/product/jKXIfqgc7M/none" id="jKXIfqgc7M" data-filter="mi3D810Grh" data-subcategory="8ZYDPOskUK" data-regimen="HY0umUGNyV" title="View Davines Essential Haircare NOUNOU Hair Mask 75 ml"><div class="image"><img class="lazy" src="/_images/placeholder.jpg" data-src="https://vw-861.nodechef.com/parse/files/8F0n3JDzgQ3o3cQhSWcAv6bZKeoiWtE13GVTyLiC/bb1172fdc38be4090475948624a99f00_cropped768x768.jpg" alt="Davines Essential Haircare NOUNOU Hair Mask 75 ml Product Image"></div><div class="details"><h2>Davines Essential Haircare</h2><h3 class="label">NOUNOU Hair Mask</h3><h4 class="label">75 ml</h4><h5>$17.00</h5></div></a><div class="actions"><button class="add" data-add="jKXIfqgc7M" data-total="17.00" data-inventory="3" type="button" onclick="addToCart(this,event,'jKXIfqgc7M','Search')">Add to Cart</button><button class="favorite" undefined data-favorite="jKXIfqgc7M" type="button" onclick="toggleFavoriteProductButton(this,event)"></button></div></div><div class="item"><a href="/search/product/lA9M5yVZM8/none" id="lA9M5yVZM8" data-filter="mi3D810Grh" data-subcategory="OJV2jZqUml" data-regimen="HY0umUGNyV" title="View Davines Essential Haircare NOUNOU Shampoo 75 ml"><div class="image"><img class="lazy" src="/_images/placeholder.jpg" data-src="https://vw-861.nodechef.com/parse/files/8F0n3JDzgQ3o3cQhSWcAv6bZKeoiWtE13GVTyLiC/0c1148e73db843ddf792a2cdabfd9252_cropped768x768.jpg" alt="Davines Essential Haircare NOUNOU Shampoo 75 ml Product Image"></div><div class="details"><h2>Davines Essential Haircare</h2><h3 class="label">NOUNOU Shampoo</h3><h4 class="label">75 ml</h4><h5>$15.00</h5></div></a><div class="actions"><button class="add" data-add="lA9M5yVZM8" data-total="15.00" data-inventory="2" type="button" onclick="addToCart(this,event,'lA9M5yVZM8','Search')">Add to Cart</button><button class="favorite" undefined data-favorite="lA9M5yVZM8" type="button" onclick="toggleFavoriteProductButton(this,event)"></button></div></div><div class="item"><a href="/search/product/DH7BuRSbQf/none" id="DH7BuRSbQf" data-filter="mi3D810Grh" data-subcategory="8ZYDPOskUK" data-regimen="HY0umUGNyV" title="View Davines Essential Haircare SOLU Sea Salt Scrub Cleanser 75 ml"><div class="image"><img class="lazy" src="/_images/placeholder.jpg" data-src="https://vw-861.nodechef.com/parse/files/8F0n3JDzgQ3o3cQhSWcAv6bZKeoiWtE13GVTyLiC/3f0949e44fc611b1014a537126dc83d5_cropped768x768.jpg" alt="Davines Essential Haircare SOLU Sea Salt Scrub Cleanser 75 ml Product Image"></div><div class="details"><h2>Davines Essential Haircare</h2><h3 class="label">SOLU Sea Salt Scrub Cleanser</h3><h4 class="label">75 ml</h4><h5>$17.00</h5></div></a><div class="actions"><button class="add" data-add="DH7BuRSbQf" data-total="17.00" data-inventory="3" type="button" onclick="addToCart(this,event,'DH7BuRSbQf','Search')">Add to Cart</button><button class="favorite" undefined data-favorite="DH7BuRSbQf" type="button" onclick="toggleFavoriteProductButton(this,event)"></button></div></div><div class="item"><a href="/search/product/U0rIsu6UCT/none" id="U0rIsu6UCT" data-filter="mi3D810Grh" data-subcategory="OJV2jZqUml" data-regimen="HY0umUGNyV" title="View Davines Essential Haircare SOLU Shampoo 75 ml"><div class="image"><img class="lazy" src="/_images/placeholder.jpg" data-src="https://vw-861.nodechef.com/parse/files/8F0n3JDzgQ3o3cQhSWcAv6bZKeoiWtE13GVTyLiC/f6f2dc679f18e7da7cc66ead8e1b876b_cropped768x768.jpg" alt="Davines Essential Haircare SOLU Shampoo 75 ml Product Image"></div><div class="details"><h2>Davines Essential Haircare</h2><h3 class="label">SOLU Shampoo</h3><h4 class="label">75 ml</h4><h5>$15.00</h5></div></a><div class="actions"><button class="add" data-add="U0rIsu6UCT" data-total="15.00" data-inventory="3" type="button" onclick="addToCart(this,event,'U0rIsu6UCT','Search')">Add to Cart</button><button class="favorite" undefined data-favorite="U0rIsu6UCT" type="button" onclick="toggleFavoriteProductButton(this,event)"></button></div></div><div class="item"><a href="/search/product/3FQ4gaBiIv/none" id="3FQ4gaBiIv" data-filter="mi3D810Grh" data-subcategory="OJV2jZqUml" data-regimen="HY0umUGNyV" title="View Davines Essential Haircare VOLU Shampoo 75 ml"><div class="image"><img class="lazy" src="/_images/placeholder.jpg" data-src="https://vw-861.nodechef.com/parse/files/8F0n3JDzgQ3o3cQhSWcAv6bZKeoiWtE13GVTyLiC/c14219c958e32a8ccc972f6a60defb93_cropped768x768.jpg" alt="Davines Essential Haircare VOLU Shampoo 75 ml Product Image"></div><div class="details"><h2>Davines Essential Haircare</h2><h3 class="label">VOLU Shampoo</h3><h4 class="label">75 ml</h4><h5>$15.00</h5></div></a><div class="actions"><button class="add" data-add="3FQ4gaBiIv" data-total="15.00" data-inventory="3" type="button" onclick="addToCart(this,event,'3FQ4gaBiIv','Search')">Add to Cart</button><button class="favorite" undefined data-favorite="3FQ4gaBiIv" type="button" onclick="toggleFavoriteProductButton(this,event)"></button></div></div><a href="/brand/PBW48DknYq" class="regimen emphasis link" data-idtype="brandId" data-filter="PBW48DknYq"><span>Davines More Inside</span></a><div class="item"><a href="/search/product/e0ZCcCCOXM/none" id="e0ZCcCCOXM" data-filter="PBW48DknYq" data-subcategory="OJV2jZqUml" data-regimen="" title="View Davines More Inside This is an Invisible Dry Shampoo 3.38 oz"><div class="image"><img class="lazy" src="/_images/placeholder.jpg" data-src="https://vw-861.nodechef.com/parse/files/8F0n3JDzgQ3o3cQhSWcAv6bZKeoiWtE13GVTyLiC/a19e42fff908c290cd80cfa07d83ccf8_cropped768x768.jpg" alt="Davines More Inside This is an Invisible Dry Shampoo 3.38 oz Product Image"></div><div class="details"><h2>Davines More Inside</h2><h3 class="label">This is an Invisible Dry Shampoo</h3><h4 class="label">3.38 oz</h4><h5>$18.00</h5></div></a><div class="actions"><button class="add" data-add="e0ZCcCCOXM" data-total="18.00" data-inventory="6" type="button" onclick="addToCart(this,event,'e0ZCcCCOXM','Search')">Add to Cart</button><button class="favorite" undefined data-favorite="e0ZCcCCOXM" type="button" onclick="toggleFavoriteProductButton(this,event)"></button></div></div><a href="/brand/WJ9K0UtsiH" class="regimen emphasis link" data-idtype="brandId" data-filter="WJ9K0UtsiH"><span>Davines Naturaltech</span></a><div class="item"><a href="/search/product/xjT4QtDhai/none" id="xjT4QtDhai" data-filter="WJ9K0UtsiH" data-subcategory="OJV2jZqUml" data-regimen="OdnYAaEJiQ" title="View Davines Naturaltech Energizing Shampoo 100 ml"><div class="image"><img class="lazy" src="/_images/placeholder.jpg" data-src="https://vw-861.nodechef.com/parse/files/8F0n3JDzgQ3o3cQhSWcAv6bZKeoiWtE13GVTyLiC/6253c6341c7e7c0284ef99f2453b52ca_cropped768x768.jpg" alt="Davines Naturaltech Energizing Shampoo 100 ml Product Image"></div><div class="details"><h2>Davines Naturaltech</h2><h3 class="label">Energizing Shampoo</h3><h4 class="label">100 ml</h4><h5>$16.50</h5></div></a><div class="actions"><button class="add" data-add="xjT4QtDhai" data-total="16.50" data-inventory="2" type="button" onclick="addToCart(this,event,'xjT4QtDhai','Search')">Add to Cart</button><button class="favorite" undefined data-favorite="xjT4QtDhai" type="button" onclick="toggleFavoriteProductButton(this,event)"></button></div></div><div class="item"><a href="/search/product/hDehyNTvyM/none" id="hDehyNTvyM" data-filter="WJ9K0UtsiH" data-subcategory="ZbNClxwPvx" data-regimen="OdnYAaEJiQ" title="View Davines Naturaltech Renewing Conditioning Treatment 60 ml"><div class="image"><img class="lazy" src="/_images/placeholder.jpg" data-src="https://vw-861.nodechef.com/parse/files/8F0n3JDzgQ3o3cQhSWcAv6bZKeoiWtE13GVTyLiC/78d82130baae594b090e9345bf6ba1dd_cropped768x768.jpg" alt="Davines Naturaltech Renewing Conditioning Treatment 60 ml Product Image"></div><div class="details"><h2>Davines Naturaltech</h2><h3 class="label">Renewing Conditioning Treatment</h3><h4 class="label">60 ml</h4><h5>$20.00</h5></div></a><div class="actions"><button class="add" data-notify="hDehyNTvyM" type="button" data-brand="Davines Naturaltech" data-product="Renewing Conditioning Treatment 60 ml" data-variant="hDehyNTvyM" onclick="toggleNotifyPopover(this,event)">Notify When Available</button><button class="add hide" data-remove="hDehyNTvyM" type="button" data-brand="Davines Naturaltech" data-product="Renewing Conditioning Treatment 60 ml" data-variant="hDehyNTvyM" onclick="removeWhenAvailable(this,event)">Remove Notify</button><button class="favorite" undefined data-favorite="hDehyNTvyM" type="button" onclick="toggleFavoriteProductButton(this,event)"></button></div></div><div class="item"><a href="/search/product/Xk0IQ9AP9p/none" id="Xk0IQ9AP9p" data-filter="WJ9K0UtsiH" data-subcategory="ZbNClxwPvx" data-regimen="OdnYAaEJiQ" title="View Davines Naturaltech Replumping Conditioner 60 ml"><div class="image"><img class="lazy" src="/_images/placeholder.jpg" data-src="https://vw-861.nodechef.com/parse/files/8F0n3JDzgQ3o3cQhSWcAv6bZKeoiWtE13GVTyLiC/c935feaae740c650b9c571339de6561a_cropped768x768.jpg" alt="Davines Naturaltech Replumping Conditioner 60 ml Product Image"></div><div class="details"><h2>Davines Naturaltech</h2><h3 class="label">Replumping Conditioner</h3><h4 class="label">60 ml</h4><h5>$16.00</h5></div></a><div class="actions"><button class="add" data-notify="Xk0IQ9AP9p" type="button" data-brand="Davines Naturaltech" data-product="Replumping Conditioner 60 ml" data-variant="Xk0IQ9AP9p" onclick="toggleNotifyPopover(this,event)">Notify When Available</button><button class="add hide" data-remove="Xk0IQ9AP9p" type="button" data-brand="Davines Naturaltech" data-product="Replumping Conditioner 60 ml" data-variant="Xk0IQ9AP9p" onclick="removeWhenAvailable(this,event)">Remove Notify</button><button class="favorite" undefined data-favorite="Xk0IQ9AP9p" type="button" onclick="toggleFavoriteProductButton(this,event)"></button></div></div><div class="item"><a href="/search/product/xCm5FrsZRy/none" id="xCm5FrsZRy" data-filter="WJ9K0UtsiH" data-subcategory="OJV2jZqUml" data-regimen="OdnYAaEJiQ" title="View Davines Naturaltech Replumping Shampoo 100 ml"><div class="image"><img class="lazy" src="/_images/placeholder.jpg" data-src="https://vw-861.nodechef.com/parse/files/8F0n3JDzgQ3o3cQhSWcAv6bZKeoiWtE13GVTyLiC/4a560efdcbff5b5837ff46fa0ac92409_cropped768x768.jpg" alt="Davines Naturaltech Replumping Shampoo 100 ml Product Image"></div><div class="details"><h2>Davines Naturaltech</h2><h3 class="label">Replumping Shampoo</h3><h4 class="label">100 ml</h4><h5>$16.00</h5></div></a><div class="actions"><button class="add" data-add="xCm5FrsZRy" data-total="16.00" data-inventory="2" type="button" onclick="addToCart(this,event,'xCm5FrsZRy','Search')">Add to Cart</button><button class="favorite" undefined data-favorite="xCm5FrsZRy" type="button" onclick="toggleFavoriteProductButton(this,event)"></button></div></div><a href="/brand/qzwmx2espS" class="regimen emphasis link" data-idtype="brandId" data-filter="qzwmx2espS"><span>Davines OI</span></a><div class="item"><a href="/search/product/VdiHDQAlue/none" id="VdiHDQAlue" data-filter="qzwmx2espS" data-subcategory="ZbNClxwPvx" data-regimen="WdtblKVhq4" title="View Davines OI Conditioner 75 ml"><div class="image"><img class="lazy" src="/_images/placeholder.jpg" data-src="https://vw-861.nodechef.com/parse/files/8F0n3JDzgQ3o3cQhSWcAv6bZKeoiWtE13GVTyLiC/2404d4e4a728b3d377d6f8d75bf4c7fc_cropped768x768.jpg" alt="Davines OI Conditioner 75 ml Product Image"></div><div class="details"><h2>Davines OI</h2><h3 class="label">Conditioner</h3><h4 class="label">75 ml</h4><h5>$18.00</h5></div></a><div class="actions"><button class="add" data-add="VdiHDQAlue" data-total="18.00" data-inventory="1" type="button" onclick="addToCart(this,event,'VdiHDQAlue','Search')">Add to Cart</button><button class="favorite" undefined data-favorite="VdiHDQAlue" type="button" onclick="toggleFavoriteProductButton(this,event)"></button></div></div><div class="item"><a href="/search/product/3gg5mwqqZ7/none" id="3gg5mwqqZ7" data-filter="qzwmx2espS" data-subcategory="8ZYDPOskUK" data-regimen="WdtblKVhq4" title="View Davines OI Hair Butter 75 ml"><div class="image"><img class="lazy" src="/_images/placeholder.jpg" data-src="https://vw-861.nodechef.com/parse/files/8F0n3JDzgQ3o3cQhSWcAv6bZKeoiWtE13GVTyLiC/3eb41e54caf7ba9aba07acaa1400298c_cropped768x768.jpg" alt="Davines OI Hair Butter 75 ml Product Image"></div><div class="details"><h2>Davines OI</h2><h3 class="label">Hair Butter</h3><h4 class="label">75 ml</h4><h5>$19.00</h5></div></a><div class="actions"><button class="add" data-add="3gg5mwqqZ7" data-total="19.00" data-inventory="3" type="button" onclick="addToCart(this,event,'3gg5mwqqZ7','Search')">Add to Cart</button><button class="favorite" undefined data-favorite="3gg5mwqqZ7" type="button" onclick="toggleFavoriteProductButton(this,event)"></button></div></div><div class="item"><a href="/search/product/Q5rJwhcywW/none" id="Q5rJwhcywW" data-filter="qzwmx2espS" data-subcategory="OJV2jZqUml" data-regimen="WdtblKVhq4" title="View Davines OI Shampoo 90 ml"><div class="image"><img class="lazy" src="/_images/placeholder.jpg" data-src="https://vw-861.nodechef.com/parse/files/8F0n3JDzgQ3o3cQhSWcAv6bZKeoiWtE13GVTyLiC/61eeb845ff06c635a7e147c1e8915b74_cropped768x768.jpg" alt="Davines OI Shampoo 90 ml Product Image"></div><div class="details"><h2>Davines OI</h2><h3 class="label">Shampoo</h3><h4 class="label">90 ml</h4><h5>$17.00</h5></div></a><div class="actions"><button class="add" data-add="Q5rJwhcywW" data-total="17.00" data-inventory="2" type="button" onclick="addToCart(this,event,'Q5rJwhcywW','Search')">Add to Cart</button><button class="favorite" undefined data-favorite="Q5rJwhcywW" type="button" onclick="toggleFavoriteProductButton(this,event)"></button></div></div><a href="/brand/RNqXcbwKSG" class="regimen emphasis link" data-idtype="brandId" data-filter="RNqXcbwKSG"><span>Davines SU</span></a><div class="item"><a href="/search/product/yvNNA0s1ZE/none" id="yvNNA0s1ZE" data-filter="RNqXcbwKSG" data-subcategory="TiuXVEq6bm" data-regimen="xTj96W3X9k" title="View Davines SU Hair & Body Wash 75 ml"><div class="image"><img class="lazy" src="/_images/placeholder.jpg" data-src="https://vw-861.nodechef.com/parse/files/8F0n3JDzgQ3o3cQhSWcAv6bZKeoiWtE13GVTyLiC/1ecb04bbc02aebde33ef2029257ffb9f_cropped768x768.jpg" alt="Davines SU Hair & Body Wash 75 ml Product Image"></div><div class="details"><h2>Davines SU</h2><h3 class="label">Hair & Body Wash</h3><h4 class="label">75 ml</h4><h5>$14.00</h5></div></a><div class="actions"><button class="add" data-add="yvNNA0s1ZE" data-total="14.00" data-inventory="3" type="button" onclick="addToCart(this,event,'yvNNA0s1ZE','Search')">Add to Cart</button><button class="favorite" undefined data-favorite="yvNNA0s1ZE" type="button" onclick="toggleFavoriteProductButton(this,event)"></button></div></div><div class="item"><a href="/search/product/xd7H9KZ8SC/none" id="xd7H9KZ8SC" data-filter="RNqXcbwKSG" data-subcategory="8ZYDPOskUK" data-regimen="xTj96W3X9k" title="View Davines SU Hair Milk 50 ml"><div class="image"><img class="lazy" src="/_images/placeholder.jpg" data-src="https://vw-861.nodechef.com/parse/files/8F0n3JDzgQ3o3cQhSWcAv6bZKeoiWtE13GVTyLiC/c6ce6ab33250cfcc2097e94caed150a9_cropped768x768.jpg" alt="Davines SU Hair Milk 50 ml Product Image"></div><div class="details"><h2>Davines SU</h2><h3 class="label">Hair Milk</h3><h4 class="label">50 ml</h4><h5>$19.00</h5></div></a><div class="actions"><button class="add" data-add="xd7H9KZ8SC" data-total="19.00" data-inventory="2" type="button" onclick="addToCart(this,event,'xd7H9KZ8SC','Search')">Add to Cart</button><button class="favorite" undefined data-favorite="xd7H9KZ8SC" type="button" onclick="toggleFavoriteProductButton(this,event)"></button></div></div><a href="/brand/nfMXfLr1Uv" class="regimen emphasis link" data-idtype="brandId" data-filter="nfMXfLr1Uv"><span>Davines The Circle Chronicles</span></a><div class="item"><a href="/search/product/szhEmnd0Iy/none" id="szhEmnd0Iy" data-filter="nfMXfLr1Uv" data-subcategory="8ZYDPOskUK" data-regimen="EOgHHvy1zI" title="View Davines The Circle Chronicles Hair Mask The Let It Go Circle"><div class="image"><img class="lazy" src="/_images/placeholder.jpg" data-src="https://vw-861.nodechef.com/parse/files/8F0n3JDzgQ3o3cQhSWcAv6bZKeoiWtE13GVTyLiC/6776a96e8a52dcf1b3f863ead4bb54dc_cropped768x768.jpg" alt="Davines The Circle Chronicles Hair Mask The Let It Go Circle Product Image"></div><div class="details"><h2>Davines The Circle Chronicles</h2><h3 class="label">Hair Mask</h3><h4 class="label">The Let It Go Circle</h4><h5>$12.00</h5></div></a><div class="actions"><button class="add" data-add="szhEmnd0Iy" data-total="12.00" data-inventory="7" type="button" onclick="addToCart(this,event,'szhEmnd0Iy','Search')">Add to Cart</button><button class="favorite" undefined data-favorite="szhEmnd0Iy" type="button" onclick="toggleFavoriteProductButton(this,event)"></button></div></div><div class="item"><a href="/search/product/uY2gTzzFTF/none" id="uY2gTzzFTF" data-filter="nfMXfLr1Uv" data-subcategory="8ZYDPOskUK" data-regimen="EOgHHvy1zI" title="View Davines The Circle Chronicles Hair Mask The Purity Circle"><div class="image"><img class="lazy" src="/_images/placeholder.jpg" data-src="https://vw-861.nodechef.com/parse/files/8F0n3JDzgQ3o3cQhSWcAv6bZKeoiWtE13GVTyLiC/60ef6e16ecad61503431727fcd53fac1_cropped768x768.jpg" alt="Davines The Circle Chronicles Hair Mask The Purity Circle Product Image"></div><div class="details"><h2>Davines The Circle Chronicles</h2><h3 class="label">Hair Mask</h3><h4 class="label">The Purity Circle</h4><h5>$12.00</h5></div></a><div class="actions"><button class="add" data-add="uY2gTzzFTF" data-total="12.00" data-inventory="5" type="button" onclick="addToCart(this,event,'uY2gTzzFTF','Search')">Add to Cart</button><button class="favorite" undefined data-favorite="uY2gTzzFTF" type="button" onclick="toggleFavoriteProductButton(this,event)"></button></div></div><div class="item"><a href="/search/product/9h3bsiDmo9/none" id="9h3bsiDmo9" data-filter="nfMXfLr1Uv" data-subcategory="8ZYDPOskUK" data-regimen="EOgHHvy1zI" title="View Davines The Circle Chronicles Hair Mask The Quick Fix Circle"><div class="image"><img class="lazy" src="/_images/placeholder.jpg" data-src="https://vw-861.nodechef.com/parse/files/8F0n3JDzgQ3o3cQhSWcAv6bZKeoiWtE13GVTyLiC/54217fe26d796996dfb44e6cdf76cb80_cropped768x768.jpg" alt="Davines The Circle Chronicles Hair Mask The Quick Fix Circle Product Image"></div><div class="details"><h2>Davines The Circle Chronicles</h2><h3 class="label">Hair Mask</h3><h4 class="label">The Quick Fix Circle</h4><h5>$12.00</h5></div></a><div class="actions"><button class="add" data-add="9h3bsiDmo9" data-total="12.00" data-inventory="6" type="button" onclick="addToCart(this,event,'9h3bsiDmo9','Search')">Add to Cart</button><button class="favorite" undefined data-favorite="9h3bsiDmo9" type="button" onclick="toggleFavoriteProductButton(this,event)"></button></div></div><div class="item"><a href="/search/product/FFtJ1cvkM7/none" id="FFtJ1cvkM7" data-filter="nfMXfLr1Uv" data-subcategory="8ZYDPOskUK" data-regimen="EOgHHvy1zI" title="View Davines The Circle Chronicles Hair Mask The Renaisssance Circle"><div class="image"><img class="lazy" src="/_images/placeholder.jpg" data-src="https://vw-861.nodechef.com/parse/files/8F0n3JDzgQ3o3cQhSWcAv6bZKeoiWtE13GVTyLiC/ddb0cb7ed9da823f2193b797fc545686_cropped768x768.jpg" alt="Davines The Circle Chronicles Hair Mask The Renaisssance Circle Product Image"></div><div class="details"><h2>Davines The Circle Chronicles</h2><h3 class="label">Hair Mask</h3><h4 class="label">The Renaisssance Circle</h4><h5>$12.00</h5></div></a><div class="actions"><button class="add" data-add="FFtJ1cvkM7" data-total="12.00" data-inventory="2" type="button" onclick="addToCart(this,event,'FFtJ1cvkM7','Search')">Add to Cart</button><button class="favorite" undefined data-favorite="FFtJ1cvkM7" type="button" onclick="toggleFavoriteProductButton(this,event)"></button></div></div><div class="item"><a href="/search/product/3HDgJVSoGa/none" id="3HDgJVSoGa" data-filter="nfMXfLr1Uv" data-subcategory="8ZYDPOskUK" data-regimen="EOgHHvy1zI" title="View Davines The Circle Chronicles Hair Mask The Restless Circle"><div class="image"><img class="lazy" src="/_images/placeholder.jpg" data-src="https://vw-861.nodechef.com/parse/files/8F0n3JDzgQ3o3cQhSWcAv6bZKeoiWtE13GVTyLiC/2987dc8a36b1114338f833f9f4406ccb_cropped768x768.jpg" alt="Davines The Circle Chronicles Hair Mask The Restless Circle Product Image"></div><div class="details"><h2>Davines The Circle Chronicles</h2><h3 class="label">Hair Mask</h3><h4 class="label">The Restless Circle</h4><h5>$12.00</h5></div></a><div class="actions"><button class="add" data-add="3HDgJVSoGa" data-total="12.00" data-inventory="6" type="button" onclick="addToCart(this,event,'3HDgJVSoGa','Search')">Add to Cart</button><button class="favorite" undefined data-favorite="3HDgJVSoGa" type="button" onclick="toggleFavoriteProductButton(this,event)"></button></div></div><div class="item"><a href="/search/product/3tTAfvXfQD/none" id="3tTAfvXfQD" data-filter="nfMXfLr1Uv" data-subcategory="8ZYDPOskUK" data-regimen="EOgHHvy1zI" title="View Davines The Circle Chronicles Hair Mask The Spotlight Circle"><div class="image"><img class="lazy" src="/_images/placeholder.jpg" data-src="https://vw-861.nodechef.com/parse/files/8F0n3JDzgQ3o3cQhSWcAv6bZKeoiWtE13GVTyLiC/f432243b15c714be4a7aa5a8f1167af2_cropped768x768.jpg" alt="Davines The Circle Chronicles Hair Mask The Spotlight Circle Product Image"></div><div class="details"><h2>Davines The Circle Chronicles</h2><h3 class="label">Hair Mask</h3><h4 class="label">The Spotlight Circle</h4><h5>$12.00</h5></div></a><div class="actions"><button class="add" data-add="3tTAfvXfQD" data-total="12.00" data-inventory="7" type="button" onclick="addToCart(this,event,'3tTAfvXfQD','Search')">Add to Cart</button><button class="favorite" undefined data-favorite="3tTAfvXfQD" type="button" onclick="toggleFavoriteProductButton(this,event)"></button></div></div><div class="item"><a href="/search/product/H6kiwHRXeV/none" id="H6kiwHRXeV" data-filter="nfMXfLr1Uv" data-subcategory="8ZYDPOskUK" data-regimen="EOgHHvy1zI" title="View Davines The Circle Chronicles Hair Mask The Wake-Up Circle"><div class="image"><img class="lazy" src="/_images/placeholder.jpg" data-src="https://vw-861.nodechef.com/parse/files/8F0n3JDzgQ3o3cQhSWcAv6bZKeoiWtE13GVTyLiC/36ed760e4f0b3a2883efc7e2ec8535c7_cropped768x768.jpg" alt="Davines The Circle Chronicles Hair Mask The Wake-Up Circle Product Image"></div><div class="details"><h2>Davines The Circle Chronicles</h2><h3 class="label">Hair Mask</h3><h4 class="label">The Wake-Up Circle</h4><h5>$12.00</h5></div></a><div class="actions"><button class="add" data-add="H6kiwHRXeV" data-total="12.00" data-inventory="7" type="button" onclick="addToCart(this,event,'H6kiwHRXeV','Search')">Add to Cart</button><button class="favorite" undefined data-favorite="H6kiwHRXeV" type="button" onclick="toggleFavoriteProductButton(this,event)"></button></div></div><a href="/brand/RbLLeAC7Pc" class="regimen emphasis link" data-idtype="brandId" data-filter="RbLLeAC7Pc"><span>Ellis Faas</span></a><div class="item"><a href="/search/product/3VE4kAcuE3/none" id="3VE4kAcuE3" data-filter="RbLLeAC7Pc" data-subcategory="nBmutdgx4h" data-regimen="" title="View Ellis Faas Tools H900 - Compact Case"><div class="image"><img class="lazy" src="/_images/placeholder.jpg" data-src="https://vw-861.nodechef.com/parse/files/8F0n3JDzgQ3o3cQhSWcAv6bZKeoiWtE13GVTyLiC/9bc976678bbc429c2c288f0c5420f355_cropped768x768.jpg" alt="Ellis Faas Tools H900 - Compact Case Product Image"></div><div class="details"><h2>Ellis Faas</h2><h3 class="label">Tools</h3><h4 class="label">H900 - Compact Case</h4><h5>$12.00</h5></div></a><div class="actions"><button class="add" data-add="3VE4kAcuE3" data-total="12.00" data-inventory="1" type="button" onclick="addToCart(this,event,'3VE4kAcuE3','Search')">Add to Cart</button><button class="favorite" undefined data-favorite="3VE4kAcuE3" type="button" onclick="toggleFavoriteProductButton(this,event)"></button></div></div><a href="/brand/XU0JHtABsN" class="regimen emphasis link" data-idtype="brandId" data-filter="XU0JHtABsN"><span>Gossamer</span></a><div class="item"><a href="/search/product/OneI2bmB3L/none" id="OneI2bmB3L" data-filter="XU0JHtABsN" data-subcategory="zM5Plpa5DI" data-regimen="" title="View Gossamer Magazine Volume 2 - Paradise"><div class="image"><img class="lazy" src="/_images/placeholder.jpg" data-src="https://vw-861.nodechef.com/parse/files/8F0n3JDzgQ3o3cQhSWcAv6bZKeoiWtE13GVTyLiC/1a03b4db373547ebcbeed21388c7d33f_cropped768x768.jpg" alt="Gossamer Magazine Volume 2 - Paradise Product Image"></div><div class="details"><h2>Gossamer</h2><h3 class="label">Magazine</h3><h4 class="label">Volume 2 - Paradise</h4><h5>$20.00</h5></div></a><div class="actions"><button class="add" data-add="OneI2bmB3L" data-total="20.00" data-inventory="2" type="button" onclick="addToCart(this,event,'OneI2bmB3L','Search')">Add to Cart</button><button class="favorite" undefined data-favorite="OneI2bmB3L" type="button" onclick="toggleFavoriteProductButton(this,event)"></button></div></div><div class="item"><a href="/search/product/ojTH5iMckA/none" id="ojTH5iMckA" data-filter="XU0JHtABsN" data-subcategory="zM5Plpa5DI" data-regimen="" title="View Gossamer Magazine Volume 5 - Flower"><div class="image"><img class="lazy" src="/_images/placeholder.jpg" data-src="https://vw-861.nodechef.com/parse/files/8F0n3JDzgQ3o3cQhSWcAv6bZKeoiWtE13GVTyLiC/faa47df4c5cdc3124d81bed1ea21e8d2_cropped768x768.jpg" alt="Gossamer Magazine Volume 5 - Flower Product Image"></div><div class="details"><h2>Gossamer</h2><h3 class="label">Magazine</h3><h4 class="label">Volume 5 - Flower</h4><h5>$20.00</h5></div></a><div class="actions"><button class="add" data-add="ojTH5iMckA" data-total="20.00" data-inventory="3" type="button" onclick="addToCart(this,event,'ojTH5iMckA','Search')">Add to Cart</button><button class="favorite" undefined data-favorite="ojTH5iMckA" type="button" onclick="toggleFavoriteProductButton(this,event)"></button></div></div><div class="item"><a href="/search/product/yZtNj41e1l/none" id="yZtNj41e1l" data-filter="XU0JHtABsN" data-subcategory="zM5Plpa5DI" data-regimen="" title="View Gossamer Magazine Volume 7 - Touch Green"><div class="image"><img class="lazy" src="/_images/placeholder.jpg" data-src="https://vw-861.nodechef.com/parse/files/8F0n3JDzgQ3o3cQhSWcAv6bZKeoiWtE13GVTyLiC/2304bf1aa731818e717fe1e9f1d32b16_cropped768x768.jpg" alt="Gossamer Magazine Volume 7 - Touch Green Product Image"></div><div class="details"><h2>Gossamer</h2><h3 class="label">Magazine</h3><h4 class="label">Volume 7 - Touch Green</h4><h5>$20.00</h5></div></a><div class="actions"><button class="add" data-add="yZtNj41e1l" data-total="20.00" data-inventory="2" type="button" onclick="addToCart(this,event,'yZtNj41e1l','Search')">Add to Cart</button><button class="favorite" undefined data-favorite="yZtNj41e1l" type="button" onclick="toggleFavoriteProductButton(this,event)"></button></div></div><div class="item"><a href="/search/product/jOn4ZvktxK/none" id="jOn4ZvktxK" data-filter="XU0JHtABsN" data-subcategory="zM5Plpa5DI" data-regimen="" title="View Gossamer Magazine Volume 7 - Touch Pink"><div class="image"><img class="lazy" src="/_images/placeholder.jpg" data-src="https://vw-861.nodechef.com/parse/files/8F0n3JDzgQ3o3cQhSWcAv6bZKeoiWtE13GVTyLiC/3bf3471c309538bddb2d640a8091d772_cropped768x768.jpg" alt="Gossamer Magazine Volume 7 - Touch Pink Product Image"></div><div class="details"><h2>Gossamer</h2><h3 class="label">Magazine</h3><h4 class="label">Volume 7 - Touch Pink</h4><h5>$20.00</h5></div></a><div class="actions"><button class="add" data-add="jOn4ZvktxK" data-total="20.00" data-inventory="2" type="button" onclick="addToCart(this,event,'jOn4ZvktxK','Search')">Add to Cart</button><button class="favorite" undefined data-favorite="jOn4ZvktxK" type="button" onclick="toggleFavoriteProductButton(this,event)"></button></div></div><a href="/brand/B4Eg6TvgtF" class="regimen emphasis link" data-idtype="brandId" data-filter="B4Eg6TvgtF"><span>House of Gro</span></a><a href="/brand/VqZ9fElxtt" class="regimen emphasis link" data-idtype="brandId" data-filter="VqZ9fElxtt"><span>Jao Brand</span></a><div class="item"><a href="/search/product/KKabEzZQBv/none" id="KKabEzZQBv" data-filter="VqZ9fElxtt" data-subcategory="A4DFbkND3S" data-regimen="" title="View Jao Brand Hand Refresher 16oz Decanter (Sold Empty) "><div class="image"><img class="lazy" src="/_images/placeholder.jpg" data-src="https://vw-861.nodechef.com/parse/files/8F0n3JDzgQ3o3cQhSWcAv6bZKeoiWtE13GVTyLiC/47e8ca3e5c8c72059882bb171ab647da_cropped768x768.jpg" alt="Jao Brand Hand Refresher 16oz Decanter (Sold Empty) Product Image"></div><div class="details"><h2>Jao Brand</h2><h3 class="label">Hand Refresher 16oz Decanter (Sold Empty)</h3><h4 class="label"></h4><h5>$20.00</h5></div></a><div class="actions"><button class="add" data-add="KKabEzZQBv" data-total="20.00" data-inventory="1" type="button" onclick="addToCart(this,event,'KKabEzZQBv','Search')">Add to Cart</button><button class="favorite" undefined data-favorite="KKabEzZQBv" type="button" onclick="toggleFavoriteProductButton(this,event)"></button></div></div><div class="item"><a href="/search/product/DwOmwCQmen/none" id="DwOmwCQmen" data-filter="VqZ9fElxtt" data-subcategory="A4DFbkND3S" data-regimen="" title="View Jao Brand Hand Refresher 4 oz"><div class="image"><img class="lazy" src="/_images/placeholder.jpg" data-src="https://vw-861.nodechef.com/parse/files/8F0n3JDzgQ3o3cQhSWcAv6bZKeoiWtE13GVTyLiC/726868ffeb7abe881abc52edc6182b32_cropped768x768.jpg" alt="Jao Brand Hand Refresher 4 oz Product Image"></div><div class="details"><h2>Jao Brand</h2><h3 class="label">Hand Refresher</h3><h4 class="label">4 oz</h4><h5>$14.00</h5></div></a><div class="actions"><button class="add" data-notify="DwOmwCQmen" type="button" data-brand="Jao Brand" data-product="Hand Refresher 4 oz" data-variant="DwOmwCQmen" onclick="toggleNotifyPopover(this,event)">Notify When Available</button><button class="add hide" data-remove="DwOmwCQmen" type="button" data-brand="Jao Brand" data-product="Hand Refresher 4 oz" data-variant="DwOmwCQmen" onclick="removeWhenAvailable(this,event)">Remove Notify</button><button class="favorite" undefined data-favorite="DwOmwCQmen" type="button" onclick="toggleFavoriteProductButton(this,event)"></button></div></div><div class="item"><a href="/search/product/tAZXU496ae/none" id="tAZXU496ae" data-filter="VqZ9fElxtt" data-subcategory="A4DFbkND3S" data-regimen="" title="View Jao Brand Hand Refresher 8 oz"><div class="image"><img class="lazy" src="/_images/placeholder.jpg" data-src="https://vw-861.nodechef.com/parse/files/8F0n3JDzgQ3o3cQhSWcAv6bZKeoiWtE13GVTyLiC/2524e1ca67ebfbde4074651ef01a5f91_cropped768x768.jpg" alt="Jao Brand Hand Refresher 8 oz Product Image"></div><div class="details"><h2>Jao Brand</h2><h3 class="label">Hand Refresher</h3><h4 class="label">8 oz</h4><h5>$18.00</h5></div></a><div class="actions"><button class="add" data-notify="tAZXU496ae" type="button" data-brand="Jao Brand" data-product="Hand Refresher 8 oz" data-variant="tAZXU496ae" onclick="toggleNotifyPopover(this,event)">Notify When Available</button><button class="add hide" data-remove="tAZXU496ae" type="button" data-brand="Jao Brand" data-product="Hand Refresher 8 oz" data-variant="tAZXU496ae" onclick="removeWhenAvailable(this,event)">Remove Notify</button><button class="favorite" undefined data-favorite="tAZXU496ae" type="button" onclick="toggleFavoriteProductButton(this,event)"></button></div></div><div class="item"><a href="/search/product/PxMTzk0LeH/none" id="PxMTzk0LeH" data-filter="VqZ9fElxtt" data-subcategory="3HyPyyKBo7" data-regimen="" title="View Jao Brand Hand Salve "><div class="image"><img class="lazy" src="/_images/placeholder.jpg" data-src="https://vw-861.nodechef.com/parse/files/8F0n3JDzgQ3o3cQhSWcAv6bZKeoiWtE13GVTyLiC/835d85ce3e220a5f0e07357882ce851f_cropped768x768.jpg" alt="Jao Brand Hand Salve Product Image"></div><div class="details"><h2>Jao Brand</h2><h3 class="label">Hand Salve</h3><h4 class="label"></h4><h5>$16.00</h5></div></a><div class="actions"><button class="add" data-add="PxMTzk0LeH" data-total="16.00" data-inventory="7" type="button" onclick="addToCart(this,event,'PxMTzk0LeH','Search')">Add to Cart</button><button class="favorite" undefined data-favorite="PxMTzk0LeH" type="button" onclick="toggleFavoriteProductButton(this,event)"></button></div></div><div class="item"><a href="/search/product/pb751zFD1t/none" id="pb751zFD1t" data-filter="VqZ9fElxtt" data-subcategory="pYMIDs0Rkf" data-regimen="" title="View Jao Brand Lip Jao "><div class="image"><img class="lazy" src="/_images/placeholder.jpg" data-src="https://vw-861.nodechef.com/parse/files/8F0n3JDzgQ3o3cQhSWcAv6bZKeoiWtE13GVTyLiC/235fbd34f97141a87b606a2f05a7d68a_cropped768x768.jpg" alt="Jao Brand Lip Jao Product Image"></div><div class="details"><h2>Jao Brand</h2><h3 class="label">Lip Jao</h3><h4 class="label"></h4><h5>$11.00</h5></div></a><div class="actions"><button class="add" data-notify="pb751zFD1t" type="button" data-brand="Jao Brand" data-product="Lip Jao " data-variant="pb751zFD1t" onclick="toggleNotifyPopover(this,event)">Notify When Available</button><button class="add hide" data-remove="pb751zFD1t" type="button" data-brand="Jao Brand" data-product="Lip Jao " data-variant="pb751zFD1t" onclick="removeWhenAvailable(this,event)">Remove Notify</button><button class="favorite" undefined data-favorite="pb751zFD1t" type="button" onclick="toggleFavoriteProductButton(this,event)"></button></div></div><a href="/brand/Zfzh9Kj2L9" class="regimen emphasis link" data-idtype="brandId" data-filter="Zfzh9Kj2L9"><span>Leef Organics</span></a><div class="item"><a href="/search/product/qpOIelZWNq/none" id="qpOIelZWNq" data-filter="Zfzh9Kj2L9" data-subcategory="Hn6R2YOMQj" data-regimen="" title="View Leef Organics Blue Dream Candle "><div class="image"><img class="lazy" src="/_images/placeholder.jpg" data-src="https://vw-861.nodechef.com/parse/files/8F0n3JDzgQ3o3cQhSWcAv6bZKeoiWtE13GVTyLiC/e5203282ed7fb15f524d95ae21a6c5d2_cropped768x768.jpg" alt="Leef Organics Blue Dream Candle Product Image"></div><div class="details"><h2>Leef Organics</h2><h3 class="label">Blue Dream Candle</h3><h4 class="label"></h4><h5>$14.00</h5></div></a><div class="actions"><button class="add" data-add="qpOIelZWNq" data-total="14.00" data-inventory="3" type="button" onclick="addToCart(this,event,'qpOIelZWNq','Search')">Add to Cart</button><button class="favorite" undefined data-favorite="qpOIelZWNq" type="button" onclick="toggleFavoriteProductButton(this,event)"></button></div></div><div class="item"><a href="/search/product/nhAXes0o3h/none" id="nhAXes0o3h" data-filter="Zfzh9Kj2L9" data-subcategory="Hn6R2YOMQj" data-regimen="" title="View Leef Organics Blue Dream Room Spray "><div class="image"><img class="lazy" src="/_images/placeholder.jpg" data-src="https://vw-861.nodechef.com/parse/files/8F0n3JDzgQ3o3cQhSWcAv6bZKeoiWtE13GVTyLiC/ad66c88bebc243ce4203ff9680df9eb6_cropped768x768.jpg" alt="Leef Organics Blue Dream Room Spray Product Image"></div><div class="details"><h2>Leef Organics</h2><h3 class="label">Blue Dream Room Spray</h3><h4 class="label"></h4><h5>$14.00</h5></div></a><div class="actions"><button class="add" data-add="nhAXes0o3h" data-total="14.00" data-inventory="4" type="button" onclick="addToCart(this,event,'nhAXes0o3h','Search')">Add to Cart</button><button class="favorite" undefined data-favorite="nhAXes0o3h" type="button" onclick="toggleFavoriteProductButton(this,event)"></button></div></div><div class="item"><a href="/search/product/JvTOnkNYa6/none" id="JvTOnkNYa6" data-filter="Zfzh9Kj2L9" data-subcategory="Hn6R2YOMQj" data-regimen="" title="View Leef Organics Citrus + Tropical Room Spray "><div class="image"><img class="lazy" src="/_images/placeholder.jpg" data-src="https://vw-861.nodechef.com/parse/files/8F0n3JDzgQ3o3cQhSWcAv6bZKeoiWtE13GVTyLiC/0bb59b069317001203f03bbfee472589_cropped768x768.jpg" alt="Leef Organics Citrus + Tropical Room Spray Product Image"></div><div class="details"><h2>Leef Organics</h2><h3 class="label">Citrus + Tropical Room Spray</h3><h4 class="label"></h4><h5>$16.00</h5></div></a><div class="actions"><button class="add" data-add="JvTOnkNYa6" data-total="16.00" data-inventory="4" type="button" onclick="addToCart(this,event,'JvTOnkNYa6','Search')">Add to Cart</button><button class="favorite" undefined data-favorite="JvTOnkNYa6" type="button" onclick="toggleFavoriteProductButton(this,event)"></button></div></div><div class="item"><a href="/search/product/GzD2YsbE0S/none" id="GzD2YsbE0S" data-filter="Zfzh9Kj2L9" data-subcategory="qzrs1GMM6p" data-regimen="" title="View Leef Organics Revive Balm 0.87 oz"><div class="image"><img class="lazy" src="/_images/placeholder.jpg" data-src="https://vw-861.nodechef.com/parse/files/8F0n3JDzgQ3o3cQhSWcAv6bZKeoiWtE13GVTyLiC/7c2e7dfd9501ba245b2416ebb30ac28e_cropped768x768.jpg" alt="Leef Organics Revive Balm 0.87 oz Product Image"></div><div class="details"><h2>Leef Organics</h2><h3 class="label">Revive Balm</h3><h4 class="label">0.87 oz</h4><h5>$15.00</h5></div></a><div class="actions"><button class="add" data-add="GzD2YsbE0S" data-total="15.00" data-inventory="16" type="button" onclick="addToCart(this,event,'GzD2YsbE0S','Search')">Add to Cart</button><button class="favorite" undefined data-favorite="GzD2YsbE0S" type="button" onclick="toggleFavoriteProductButton(this,event)"></button></div></div><div class="item"><a href="/search/product/YEuXlEqZrm/none" id="YEuXlEqZrm" data-filter="Zfzh9Kj2L9" data-subcategory="JffuZ2GQzb" data-regimen="" title="View Leef Organics Steep Bath Tea "><div class="image"><img class="lazy" src="/_images/placeholder.jpg" data-src="https://vw-861.nodechef.com/parse/files/8F0n3JDzgQ3o3cQhSWcAv6bZKeoiWtE13GVTyLiC/64854de051099e3a75951ea80370db4f_cropped768x768.jpg" alt="Leef Organics Steep Bath Tea Product Image"></div><div class="details"><h2>Leef Organics</h2><h3 class="label">Steep Bath Tea</h3><h4 class="label"></h4><h5>$14.00</h5></div></a><div class="actions"><button class="add" data-notify="YEuXlEqZrm" type="button" data-brand="Leef Organics" data-product="Steep Bath Tea " data-variant="YEuXlEqZrm" onclick="toggleNotifyPopover(this,event)">Notify When Available</button><button class="add hide" data-remove="YEuXlEqZrm" type="button" data-brand="Leef Organics" data-product="Steep Bath Tea " data-variant="YEuXlEqZrm" onclick="removeWhenAvailable(this,event)">Remove Notify</button><button class="favorite" undefined data-favorite="YEuXlEqZrm" type="button" onclick="toggleFavoriteProductButton(this,event)"></button></div></div><div class="item"><a href="/search/product/7cmDGFfxJm/none" id="7cmDGFfxJm" data-filter="Zfzh9Kj2L9" data-subcategory="JffuZ2GQzb" data-regimen="" title="View Leef Organics Steep Citrus Bath Tea "><div class="image"><img class="lazy" src="/_images/placeholder.jpg" data-src="https://vw-861.nodechef.com/parse/files/8F0n3JDzgQ3o3cQhSWcAv6bZKeoiWtE13GVTyLiC/6e5f781ac80802f81efdb9487d4d4cdf_cropped768x768.jpg" alt="Leef Organics Steep Citrus Bath Tea Product Image"></div><div class="details"><h2>Leef Organics</h2><h3 class="label">Steep Citrus Bath Tea</h3><h4 class="label"></h4><h5>$15.00</h5></div></a><div class="actions"><button class="add" data-add="7cmDGFfxJm" data-total="15.00" data-inventory="5" type="button" onclick="addToCart(this,event,'7cmDGFfxJm','Search')">Add to Cart</button><button class="favorite" undefined data-favorite="7cmDGFfxJm" type="button" onclick="toggleFavoriteProductButton(this,event)"></button></div></div><div class="item"><a href="/search/product/sjZh1EEc7p/none" id="sjZh1EEc7p" data-filter="Zfzh9Kj2L9" data-subcategory="JffuZ2GQzb" data-regimen="" title="View Leef Organics Steep Sleep Bath Tea "><div class="image"><img class="lazy" src="/_images/placeholder.jpg" data-src="https://vw-861.nodechef.com/parse/files/8F0n3JDzgQ3o3cQhSWcAv6bZKeoiWtE13GVTyLiC/c610b7f06b22a07ce44108ab6cb2a703_cropped768x768.jpg" alt="Leef Organics Steep Sleep Bath Tea Product Image"></div><div class="details"><h2>Leef Organics</h2><h3 class="label">Steep Sleep Bath Tea</h3><h4 class="label"></h4><h5>$16.00</h5></div></a><div class="actions"><button class="add" data-add="sjZh1EEc7p" data-total="16.00" data-inventory="8" type="button" onclick="addToCart(this,event,'sjZh1EEc7p','Search')">Add to Cart</button><button class="favorite" undefined data-favorite="sjZh1EEc7p" type="button" onclick="toggleFavoriteProductButton(this,event)"></button></div></div><a href="/brand/pYBVbgcyhQ" class="regimen emphasis link" data-idtype="brandId" data-filter="pYBVbgcyhQ"><span>Men & Sons</span></a><div class="item"><a href="/search/product/IYkPGLxCsr/none" id="IYkPGLxCsr" data-filter="pYBVbgcyhQ" data-subcategory="08d2A2kEes" data-regimen="" title="View Men & Sons Wick Trimmer "><div class="image"><img class="lazy" src="/_images/placeholder.jpg" data-src="https://vw-861.nodechef.com/parse/files/8F0n3JDzgQ3o3cQhSWcAv6bZKeoiWtE13GVTyLiC/7275988fdc1021f9470f20e3791b3b2a_cropped768x768.jpg" alt="Men & Sons Wick Trimmer Product Image"></div><div class="details"><h2>Men & Sons</h2><h3 class="label">Wick Trimmer</h3><h4 class="label"></h4><h5>$12.00</h5></div></a><div class="actions"><button class="add" data-add="IYkPGLxCsr" data-total="12.00" data-inventory="5" type="button" onclick="addToCart(this,event,'IYkPGLxCsr','Search')">Add to Cart</button><button class="favorite" undefined data-favorite="IYkPGLxCsr" type="button" onclick="toggleFavoriteProductButton(this,event)"></button></div></div><a href="/brand/uKskTSmrU7" class="regimen emphasis link" data-idtype="brandId" data-filter="uKskTSmrU7"><span>Moon Juice</span></a><div class="item"><a href="/search/product/oav5vSWdbA/none" id="oav5vSWdbA" data-filter="uKskTSmrU7" data-subcategory="undefined" data-regimen="" title="View Moon Juice Manual "><div class="image"><img class="lazy" src="/_images/placeholder.jpg" data-src="https://vw-861.nodechef.com/parse/files/8F0n3JDzgQ3o3cQhSWcAv6bZKeoiWtE13GVTyLiC/176bbc8eb6b36d859a195b70f0b34376_cropped768x768.jpg" alt="Moon Juice Manual Product Image"></div><div class="details"><h2>Moon Juice</h2><h3 class="label">Manual</h3><h4 class="label"></h4><h5><span class="sale">$15.00 </span><span class="original">Was $25.00</span></h5><h6><span class="original">40% Off</span></h6></div></a><div class="actions"><button class="add" data-add="oav5vSWdbA" data-total="15.00" data-inventory="2" type="button" onclick="addToCart(this,event,'oav5vSWdbA','Search')">Add to Cart</button><button class="favorite" undefined data-favorite="oav5vSWdbA" type="button" onclick="toggleFavoriteProductButton(this,event)"></button></div></div><a href="/brand/bPFAxJlYMe" class="regimen emphasis link" data-idtype="brandId" data-filter="bPFAxJlYMe"><span>Mr. Smith</span></a><div class="item"><a href="/search/product/rl2SGTcJ8L/none" id="rl2SGTcJ8L" data-filter="bPFAxJlYMe" data-subcategory="ZbNClxwPvx" data-regimen="" title="View Mr. Smith Balancing Conditioner Mini"><div class="image"><img class="lazy" src="/_images/placeholder.jpg" data-src="https://vw-861.nodechef.com/parse/files/8F0n3JDzgQ3o3cQhSWcAv6bZKeoiWtE13GVTyLiC/43e16a66d341de2aae8f8c6dfffc9112_cropped768x768.jpg" alt="Mr. Smith Balancing Conditioner Mini Product Image"></div><div class="details"><h2>Mr. Smith</h2><h3 class="label">Balancing Conditioner</h3><h4 class="label">Mini</h4><h5>$15.00</h5></div></a><div class="restricted emphasis">In Stock</div></div><div class="item"><a href="/search/product/PxCvO9M8ey/none" id="PxCvO9M8ey" data-filter="bPFAxJlYMe" data-subcategory="OJV2jZqUml" data-regimen="" title="View Mr. Smith Balancing Shampoo Mini"><div class="image"><img class="lazy" src="/_images/placeholder.jpg" data-src="https://vw-861.nodechef.com/parse/files/8F0n3JDzgQ3o3cQhSWcAv6bZKeoiWtE13GVTyLiC/0376ced3c0ba2d26974582ca28418067_cropped768x768.jpg" alt="Mr. Smith Balancing Shampoo Mini Product Image"></div><div class="details"><h2>Mr. Smith</h2><h3 class="label">Balancing Shampoo</h3><h4 class="label">Mini</h4><h5>$15.00</h5></div></a><div class="restricted emphasis">In Stock</div></div><div class="item"><a href="/search/product/EvKeXvMYDF/none" id="EvKeXvMYDF" data-filter="bPFAxJlYMe" data-subcategory="OJV2jZqUml" data-regimen="" title="View Mr. Smith Blond Shampoo Mini"><div class="image"><img class="lazy" src="/_images/placeholder.jpg" data-src="https://vw-861.nodechef.com/parse/files/8F0n3JDzgQ3o3cQhSWcAv6bZKeoiWtE13GVTyLiC/3d15dd38b42b2798c08b7ae17e97395d_cropped768x768.jpg" alt="Mr. Smith Blond Shampoo Mini Product Image"></div><div class="details"><h2>Mr. Smith</h2><h3 class="label">Blond Shampoo</h3><h4 class="label">Mini</h4><h5>$15.00</h5></div></a><div class="restricted emphasis">In Stock</div></div><div class="item"><a href="/search/product/SKzXw2mXVQ/none" id="SKzXw2mXVQ" data-filter="bPFAxJlYMe" data-subcategory="OJV2jZqUml" data-regimen="" title="View Mr. Smith Dry Shampoo Mini"><div class="image"><img class="lazy" src="/_images/placeholder.jpg" data-src="https://vw-861.nodechef.com/parse/files/8F0n3JDzgQ3o3cQhSWcAv6bZKeoiWtE13GVTyLiC/b94e7448e5ce0fd9e69cada17e31f6e5_cropped768x768.jpg" alt="Mr. Smith Dry Shampoo Mini Product Image"></div><div class="details"><h2>Mr. Smith</h2><h3 class="label">Dry Shampoo</h3><h4 class="label">Mini</h4><h5>$18.00</h5></div></a><div class="restricted emphasis">In Stock</div></div><div class="item"><a href="/search/product/mj6PYt740v/none" id="mj6PYt740v" data-filter="bPFAxJlYMe" data-subcategory="JTnfFj8M99" data-regimen="" title="View Mr. Smith Dry Texture Spray Mini"><div class="image"><img class="lazy" src="/_images/placeholder.jpg" data-src="https://vw-861.nodechef.com/parse/files/8F0n3JDzgQ3o3cQhSWcAv6bZKeoiWtE13GVTyLiC/71a55d7bb94cb947ee13a857fd5a8210_cropped768x768.jpg" alt="Mr. Smith Dry Texture Spray Mini Product Image"></div><div class="details"><h2>Mr. Smith</h2><h3 class="label">Dry Texture Spray</h3><h4 class="label">Mini</h4><h5>$18.00</h5></div></a><div class="restricted emphasis">In Stock</div></div><div class="item"><a href="/search/product/fywPnsXobY/none" id="fywPnsXobY" data-filter="bPFAxJlYMe" data-subcategory="JTnfFj8M99" data-regimen="" title="View Mr. Smith Hairspray Mini"><div class="image"><img class="lazy" src="/_images/placeholder.jpg" data-src="https://vw-861.nodechef.com/parse/files/8F0n3JDzgQ3o3cQhSWcAv6bZKeoiWtE13GVTyLiC/b522f9a9c84c2e9f16f7c3ae4b7792aa_cropped768x768.jpg" alt="Mr. Smith Hairspray Mini Product Image"></div><div class="details"><h2>Mr. Smith</h2><h3 class="label">Hairspray</h3><h4 class="label">Mini</h4><h5>$18.00</h5></div></a><div class="restricted emphasis">In Stock</div></div><div class="item"><a href="/search/product/AFr1auIA8z/none" id="AFr1auIA8z" data-filter="bPFAxJlYMe" data-subcategory="ZbNClxwPvx" data-regimen="" title="View Mr. Smith Hydrating Conditioner Mini"><div class="image"><img class="lazy" src="/_images/placeholder.jpg" data-src="https://vw-861.nodechef.com/parse/files/8F0n3JDzgQ3o3cQhSWcAv6bZKeoiWtE13GVTyLiC/64e474a6d2d810600ad3477377fcd56d_cropped768x768.jpg" alt="Mr. Smith Hydrating Conditioner Mini Product Image"></div><div class="details"><h2>Mr. Smith</h2><h3 class="label">Hydrating Conditioner </h3><h4 class="label">Mini</h4><h5>$15.00</h5></div></a><div class="restricted emphasis">In Stock</div></div><div class="item"><a href="/search/product/v8sLIZSVQ3/none" id="v8sLIZSVQ3" data-filter="bPFAxJlYMe" data-subcategory="OJV2jZqUml" data-regimen="" title="View Mr. Smith Hydrating Shampoo Mini"><div class="image"><img class="lazy" src="/_images/placeholder.jpg" data-src="https://vw-861.nodechef.com/parse/files/8F0n3JDzgQ3o3cQhSWcAv6bZKeoiWtE13GVTyLiC/7c6ba2159d32dfabe987dc45ef343a5d_cropped768x768.jpg" alt="Mr. Smith Hydrating Shampoo Mini Product Image"></div><div class="details"><h2>Mr. Smith</h2><h3 class="label">Hydrating Shampoo</h3><h4 class="label">Mini</h4><h5>$15.00</h5></div></a><div class="restricted emphasis">In Stock</div></div><div class="item"><a href="/search/product/UUpqTb5lNN/none" id="UUpqTb5lNN" data-filter="bPFAxJlYMe" data-subcategory="OJV2jZqUml" data-regimen="" title="View Mr. Smith Stimulating Shampoo Mini"><div class="image"><img class="lazy" src="/_images/placeholder.jpg" data-src="https://vw-861.nodechef.com/parse/files/8F0n3JDzgQ3o3cQhSWcAv6bZKeoiWtE13GVTyLiC/641571736d019b879deee548c8916ff0_cropped768x768.jpg" alt="Mr. Smith Stimulating Shampoo Mini Product Image"></div><div class="details"><h2>Mr. Smith</h2><h3 class="label">Stimulating Shampoo</h3><h4 class="label">Mini</h4><h5>$15.00</h5></div></a><div class="restricted emphasis">In Stock</div></div><div class="item"><a href="/search/product/3LQOJ3mgnJ/none" id="3LQOJ3mgnJ" data-filter="bPFAxJlYMe" data-subcategory="JTnfFj8M99" data-regimen="" title="View Mr. Smith The Foundation Mini"><div class="image"><img class="lazy" src="/_images/placeholder.jpg" data-src="https://vw-861.nodechef.com/parse/files/8F0n3JDzgQ3o3cQhSWcAv6bZKeoiWtE13GVTyLiC/92a87a8c43b78953c6f43e706b60c680_cropped768x768.jpg" alt="Mr. Smith The Foundation Mini Product Image"></div><div class="details"><h2>Mr. Smith</h2><h3 class="label">The Foundation</h3><h4 class="label">Mini</h4><h5>$18.00</h5></div></a><div class="restricted emphasis">In Stock</div></div><a href="/brand/4TtkrtEijk" class="regimen emphasis link" data-idtype="brandId" data-filter="4TtkrtEijk"><span>Penrose Candles</span></a><div class="item"><a href="/search/product/JWhNrJRlec/none" id="JWhNrJRlec" data-filter="4TtkrtEijk" data-subcategory="Hn6R2YOMQj" data-regimen="" title="View Penrose Candles Tealights Auburn Dusk"><div class="image"><img class="lazy" src="/_images/placeholder.jpg" data-src="https://vw-861.nodechef.com/parse/files/8F0n3JDzgQ3o3cQhSWcAv6bZKeoiWtE13GVTyLiC/214cf2953b1e86a78d4d8c18c721c9e2_cropped768x768.jpg" alt="Penrose Candles Tealights Auburn Dusk Product Image"></div><div class="details"><h2>Penrose Candles</h2><h3 class="label">Tealights</h3><h4 class="label">Auburn Dusk</h4><h5>$14.00</h5></div></a><div class="actions"><button class="add" data-add="JWhNrJRlec" data-total="14.00" data-inventory="4" type="button" onclick="addToCart(this,event,'JWhNrJRlec','Search')">Add to Cart</button><button class="favorite" undefined data-favorite="JWhNrJRlec" type="button" onclick="toggleFavoriteProductButton(this,event)"></button></div></div><div class="item"><a href="/search/product/KpjvmaIvdw/none" id="KpjvmaIvdw" data-filter="4TtkrtEijk" data-subcategory="Hn6R2YOMQj" data-regimen="" title="View Penrose Candles Tealights Blanc"><div class="image"><img class="lazy" src="/_images/placeholder.jpg" data-src="https://vw-861.nodechef.com/parse/files/8F0n3JDzgQ3o3cQhSWcAv6bZKeoiWtE13GVTyLiC/1ae20ace90b16dc3cb6b638e286bfd8d_cropped768x768.jpg" alt="Penrose Candles Tealights Blanc Product Image"></div><div class="details"><h2>Penrose Candles</h2><h3 class="label">Tealights</h3><h4 class="label">Blanc</h4><h5>$14.00</h5></div></a><div class="actions"><button class="add" data-add="KpjvmaIvdw" data-total="14.00" data-inventory="5" type="button" onclick="addToCart(this,event,'KpjvmaIvdw','Search')">Add to Cart</button><button class="favorite" undefined data-favorite="KpjvmaIvdw" type="button" onclick="toggleFavoriteProductButton(this,event)"></button></div></div><div class="item"><a href="/search/product/zlCiieZ2wb/none" id="zlCiieZ2wb" data-filter="4TtkrtEijk" data-subcategory="Hn6R2YOMQj" data-regimen="" title="View Penrose Candles Tealights Highgarden"><div class="image"><img class="lazy" src="/_images/placeholder.jpg" data-src="https://vw-861.nodechef.com/parse/files/8F0n3JDzgQ3o3cQhSWcAv6bZKeoiWtE13GVTyLiC/001d8a0a5259cd2754341b7819c8b583_cropped768x768.jpg" alt="Penrose Candles Tealights Highgarden Product Image"></div><div class="details"><h2>Penrose Candles</h2><h3 class="label">Tealights</h3><h4 class="label">Highgarden</h4><h5>$14.00</h5></div></a><div class="actions"><button class="add" data-notify="zlCiieZ2wb" type="button" data-brand="Penrose Candles" data-product="Tealights Highgarden" data-variant="zlCiieZ2wb" onclick="toggleNotifyPopover(this,event)">Notify When Available</button><button class="add hide" data-remove="zlCiieZ2wb" type="button" data-brand="Penrose Candles" data-product="Tealights Highgarden" data-variant="zlCiieZ2wb" onclick="removeWhenAvailable(this,event)">Remove Notify</button><button class="favorite" undefined data-favorite="zlCiieZ2wb" type="button" onclick="toggleFavoriteProductButton(this,event)"></button></div></div><div class="item"><a href="/search/product/ULnQlB0HvR/none" id="ULnQlB0HvR" data-filter="4TtkrtEijk" data-subcategory="Hn6R2YOMQj" data-regimen="" title="View Penrose Candles Tealights Midnight Amber"><div class="image"><img class="lazy" src="/_images/placeholder.jpg" data-src="https://vw-861.nodechef.com/parse/files/8F0n3JDzgQ3o3cQhSWcAv6bZKeoiWtE13GVTyLiC/9335e0842354bbb4150f2e0c450377b8_cropped768x768.jpg" alt="Penrose Candles Tealights Midnight Amber Product Image"></div><div class="details"><h2>Penrose Candles</h2><h3 class="label">Tealights</h3><h4 class="label">Midnight Amber</h4><h5>$14.00</h5></div></a><div class="actions"><button class="add" data-notify="ULnQlB0HvR" type="button" data-brand="Penrose Candles" data-product="Tealights Midnight Amber" data-variant="ULnQlB0HvR" onclick="toggleNotifyPopover(this,event)">Notify When Available</button><button class="add hide" data-remove="ULnQlB0HvR" type="button" data-brand="Penrose Candles" data-product="Tealights Midnight Amber" data-variant="ULnQlB0HvR" onclick="removeWhenAvailable(this,event)">Remove Notify</button><button class="favorite" undefined data-favorite="ULnQlB0HvR" type="button" onclick="toggleFavoriteProductButton(this,event)"></button></div></div><div class="item"><a href="/search/product/nidLuamyMF/none" id="nidLuamyMF" data-filter="4TtkrtEijk" data-subcategory="Hn6R2YOMQj" data-regimen="" title="View Penrose Candles Tealights Night Tide"><div class="image"><img class="lazy" src="/_images/placeholder.jpg" data-src="https://vw-861.nodechef.com/parse/files/8F0n3JDzgQ3o3cQhSWcAv6bZKeoiWtE13GVTyLiC/cce217bb4b851c3c88b68edf54456046_cropped768x768.jpg" alt="Penrose Candles Tealights Night Tide Product Image"></div><div class="details"><h2>Penrose Candles</h2><h3 class="label">Tealights</h3><h4 class="label">Night Tide</h4><h5>$14.00</h5></div></a><div class="actions"><button class="add" data-notify="nidLuamyMF" type="button" data-brand="Penrose Candles" data-product="Tealights Night Tide" data-variant="nidLuamyMF" onclick="toggleNotifyPopover(this,event)">Notify When Available</button><button class="add hide" data-remove="nidLuamyMF" type="button" data-brand="Penrose Candles" data-product="Tealights Night Tide" data-variant="nidLuamyMF" onclick="removeWhenAvailable(this,event)">Remove Notify</button><button class="favorite" undefined data-favorite="nidLuamyMF" type="button" onclick="toggleFavoriteProductButton(this,event)"></button></div></div><div class="item"><a href="/search/product/JlFWFFQHF7/none" id="JlFWFFQHF7" data-filter="4TtkrtEijk" data-subcategory="Hn6R2YOMQj" data-regimen="" title="View Penrose Candles Tealights Norwegian Woods"><div class="image"><img class="lazy" src="/_images/placeholder.jpg" data-src="https://vw-861.nodechef.com/parse/files/8F0n3JDzgQ3o3cQhSWcAv6bZKeoiWtE13GVTyLiC/d60ae609b46709e2973c91b937ee9f02_cropped768x768.jpg" alt="Penrose Candles Tealights Norwegian Woods Product Image"></div><div class="details"><h2>Penrose Candles</h2><h3 class="label">Tealights</h3><h4 class="label">Norwegian Woods</h4><h5>$14.00</h5></div></a><div class="actions"><button class="add" data-add="JlFWFFQHF7" data-total="14.00" data-inventory="1" type="button" onclick="addToCart(this,event,'JlFWFFQHF7','Search')">Add to Cart</button><button class="favorite" undefined data-favorite="JlFWFFQHF7" type="button" onclick="toggleFavoriteProductButton(this,event)"></button></div></div><div class="item"><a href="/search/product/PRIVobSpdm/none" id="PRIVobSpdm" data-filter="4TtkrtEijk" data-subcategory="Hn6R2YOMQj" data-regimen="" title="View Penrose Candles Tealights Reveries"><div class="image"><img class="lazy" src="/_images/placeholder.jpg" data-src="https://vw-861.nodechef.com/parse/files/8F0n3JDzgQ3o3cQhSWcAv6bZKeoiWtE13GVTyLiC/6a7b5427e1ee43f696fb25cc3bac18d9_cropped768x768.jpg" alt="Penrose Candles Tealights Reveries Product Image"></div><div class="details"><h2>Penrose Candles</h2><h3 class="label">Tealights</h3><h4 class="label">Reveries</h4><h5>$14.00</h5></div></a><div class="actions"><button class="add" data-add="PRIVobSpdm" data-total="14.00" data-inventory="2" type="button" onclick="addToCart(this,event,'PRIVobSpdm','Search')">Add to Cart</button><button class="favorite" undefined data-favorite="PRIVobSpdm" type="button" onclick="toggleFavoriteProductButton(this,event)"></button></div></div><div class="item"><a href="/search/product/Yv7Lpyb8hZ/none" id="Yv7Lpyb8hZ" data-filter="4TtkrtEijk" data-subcategory="Hn6R2YOMQj" data-regimen="" title="View Penrose Candles Tealights Wild Spruce"><div class="image"><img class="lazy" src="/_images/placeholder.jpg" data-src="https://vw-861.nodechef.com/parse/files/8F0n3JDzgQ3o3cQhSWcAv6bZKeoiWtE13GVTyLiC/0b6096f780132838457cf5ec85c3d05d_cropped768x768.jpg" alt="Penrose Candles Tealights Wild Spruce Product Image"></div><div class="details"><h2>Penrose Candles</h2><h3 class="label">Tealights</h3><h4 class="label">Wild Spruce</h4><h5>$14.00</h5></div></a><div class="actions"><button class="add" data-add="Yv7Lpyb8hZ" data-total="14.00" data-inventory="1" type="button" onclick="addToCart(this,event,'Yv7Lpyb8hZ','Search')">Add to Cart</button><button class="favorite" undefined data-favorite="Yv7Lpyb8hZ" type="button" onclick="toggleFavoriteProductButton(this,event)"></button></div></div><div class="item"><a href="/search/product/ydJRLZYbko/none" id="ydJRLZYbko" data-filter="4TtkrtEijk" data-subcategory="Hn6R2YOMQj" data-regimen="" title="View Penrose Candles Tealights Wildling"><div class="image"><img class="lazy" src="/_images/placeholder.jpg" data-src="https://vw-861.nodechef.com/parse/files/8F0n3JDzgQ3o3cQhSWcAv6bZKeoiWtE13GVTyLiC/beda150bad1419d2a2105fec4b555afb_cropped768x768.jpg" alt="Penrose Candles Tealights Wildling Product Image"></div><div class="details"><h2>Penrose Candles</h2><h3 class="label">Tealights</h3><h4 class="label">Wildling</h4><h5>$14.00</h5></div></a><div class="actions"><button class="add" data-add="ydJRLZYbko" data-total="14.00" data-inventory="3" type="button" onclick="addToCart(this,event,'ydJRLZYbko','Search')">Add to Cart</button><button class="favorite" undefined data-favorite="ydJRLZYbko" type="button" onclick="toggleFavoriteProductButton(this,event)"></button></div></div><div class="item"><a href="/search/product/54RD9d95c7/none" id="54RD9d95c7" data-filter="4TtkrtEijk" data-subcategory="Hn6R2YOMQj" data-regimen="" title="View Penrose Candles Travel Candle Auburn Dusk"><div class="image"><img class="lazy" src="/_images/placeholder.jpg" data-src="https://vw-861.nodechef.com/parse/files/8F0n3JDzgQ3o3cQhSWcAv6bZKeoiWtE13GVTyLiC/991130366e428b0af94cb2db39654aa2_cropped768x768.jpg" alt="Penrose Candles Travel Candle Auburn Dusk Product Image"></div><div class="details"><h2>Penrose Candles</h2><h3 class="label">Travel Candle</h3><h4 class="label">Auburn Dusk</h4><h5>$13.00</h5></div></a><div class="actions"><button class="add" data-add="54RD9d95c7" data-total="13.00" data-inventory="2" type="button" onclick="addToCart(this,event,'54RD9d95c7','Search')">Add to Cart</button><button class="favorite" undefined data-favorite="54RD9d95c7" type="button" onclick="toggleFavoriteProductButton(this,event)"></button></div></div><div class="item"><a href="/search/product/CLny6ZlYsV/none" id="CLny6ZlYsV" data-filter="4TtkrtEijk" data-subcategory="Hn6R2YOMQj" data-regimen="" title="View Penrose Candles Travel Candle Highgarden"><div class="image"><img class="lazy" src="/_images/placeholder.jpg" data-src="https://vw-861.nodechef.com/parse/files/8F0n3JDzgQ3o3cQhSWcAv6bZKeoiWtE13GVTyLiC/6f13665d5251c66542ec623871ca5e04_cropped768x768.jpg" alt="Penrose Candles Travel Candle Highgarden Product Image"></div><div class="details"><h2>Penrose Candles</h2><h3 class="label">Travel Candle</h3><h4 class="label">Highgarden</h4><h5>$13.00</h5></div></a><div class="actions"><button class="add" data-notify="CLny6ZlYsV" type="button" data-brand="Penrose Candles" data-product="Travel Candle Highgarden" data-variant="CLny6ZlYsV" onclick="toggleNotifyPopover(this,event)">Notify When Available</button><button class="add hide" data-remove="CLny6ZlYsV" type="button" data-brand="Penrose Candles" data-product="Travel Candle Highgarden" data-variant="CLny6ZlYsV" onclick="removeWhenAvailable(this,event)">Remove Notify</button><button class="favorite" undefined data-favorite="CLny6ZlYsV" type="button" onclick="toggleFavoriteProductButton(this,event)"></button></div></div><div class="item"><a href="/search/product/oGZyCM8BTC/none" id="oGZyCM8BTC" data-filter="4TtkrtEijk" data-subcategory="Hn6R2YOMQj" data-regimen="" title="View Penrose Candles Travel Candle Midnight Amber"><div class="image"><img class="lazy" src="/_images/placeholder.jpg" data-src="https://vw-861.nodechef.com/parse/files/8F0n3JDzgQ3o3cQhSWcAv6bZKeoiWtE13GVTyLiC/43014bf99c24f6af14c5509305aef0ff_cropped768x768.jpg" alt="Penrose Candles Travel Candle Midnight Amber Product Image"></div><div class="details"><h2>Penrose Candles</h2><h3 class="label">Travel Candle</h3><h4 class="label">Midnight Amber</h4><h5>$13.00</h5></div></a><div class="actions"><button class="add" data-add="oGZyCM8BTC" data-total="13.00" data-inventory="1" type="button" onclick="addToCart(this,event,'oGZyCM8BTC','Search')">Add to Cart</button><button class="favorite" undefined data-favorite="oGZyCM8BTC" type="button" onclick="toggleFavoriteProductButton(this,event)"></button></div></div><div class="item"><a href="/search/product/FW5CmAqxqK/none" id="FW5CmAqxqK" data-filter="4TtkrtEijk" data-subcategory="Hn6R2YOMQj" data-regimen="" title="View Penrose Candles Travel Candle Night Tide"><div class="image"><img class="lazy" src="/_images/placeholder.jpg" data-src="https://vw-861.nodechef.com/parse/files/8F0n3JDzgQ3o3cQhSWcAv6bZKeoiWtE13GVTyLiC/ce8ea8ddecc5c5b6f8a103852c66ddb1_cropped768x768.jpg" alt="Penrose Candles Travel Candle Night Tide Product Image"></div><div class="details"><h2>Penrose Candles</h2><h3 class="label">Travel Candle</h3><h4 class="label">Night Tide</h4><h5>$13.00</h5></div></a><div class="actions"><button class="add" data-notify="FW5CmAqxqK" type="button" data-brand="Penrose Candles" data-product="Travel Candle Night Tide" data-variant="FW5CmAqxqK" onclick="toggleNotifyPopover(this,event)">Notify When Available</button><button class="add hide" data-remove="FW5CmAqxqK" type="button" data-brand="Penrose Candles" data-product="Travel Candle Night Tide" data-variant="FW5CmAqxqK" onclick="removeWhenAvailable(this,event)">Remove Notify</button><button class="favorite" undefined data-favorite="FW5CmAqxqK" type="button" onclick="toggleFavoriteProductButton(this,event)"></button></div></div><div class="item"><a href="/search/product/7XCfrcnZEr/none" id="7XCfrcnZEr" data-filter="4TtkrtEijk" data-subcategory="Hn6R2YOMQj" data-regimen="" title="View Penrose Candles Travel Candle Norwegian Woods"><div class="image"><img class="lazy" src="/_images/placeholder.jpg" data-src="https://vw-861.nodechef.com/parse/files/8F0n3JDzgQ3o3cQhSWcAv6bZKeoiWtE13GVTyLiC/dd9ff42a88b457013ff618a614e931fc_cropped768x768.jpg" alt="Penrose Candles Travel Candle Norwegian Woods Product Image"></div><div class="details"><h2>Penrose Candles</h2><h3 class="label">Travel Candle</h3><h4 class="label">Norwegian Woods</h4><h5>$13.00</h5></div></a><div class="actions"><button class="add" data-add="7XCfrcnZEr" data-total="13.00" data-inventory="3" type="button" onclick="addToCart(this,event,'7XCfrcnZEr','Search')">Add to Cart</button><button class="favorite" undefined data-favorite="7XCfrcnZEr" type="button" onclick="toggleFavoriteProductButton(this,event)"></button></div></div><div class="item"><a href="/search/product/xSNqI9DTby/none" id="xSNqI9DTby" data-filter="4TtkrtEijk" data-subcategory="Hn6R2YOMQj" data-regimen="" title="View Penrose Candles Travel Candle Reveries"><div class="image"><img class="lazy" src="/_images/placeholder.jpg" data-src="https://vw-861.nodechef.com/parse/files/8F0n3JDzgQ3o3cQhSWcAv6bZKeoiWtE13GVTyLiC/28da9510ba1ddd5dfb83c572029404ef_cropped768x768.jpg" alt="Penrose Candles Travel Candle Reveries Product Image"></div><div class="details"><h2>Penrose Candles</h2><h3 class="label">Travel Candle</h3><h4 class="label">Reveries</h4><h5>$13.00</h5></div></a><div class="actions"><button class="add" data-add="xSNqI9DTby" data-total="13.00" data-inventory="4" type="button" onclick="addToCart(this,event,'xSNqI9DTby','Search')">Add to Cart</button><button class="favorite" undefined data-favorite="xSNqI9DTby" type="button" onclick="toggleFavoriteProductButton(this,event)"></button></div></div><div class="item"><a href="/search/product/7ddClyUKSH/none" id="7ddClyUKSH" data-filter="4TtkrtEijk" data-subcategory="Hn6R2YOMQj" data-regimen="" title="View Penrose Candles Travel Candle Wild Spruce"><div class="image"><img class="lazy" src="/_images/placeholder.jpg" data-src="https://vw-861.nodechef.com/parse/files/8F0n3JDzgQ3o3cQhSWcAv6bZKeoiWtE13GVTyLiC/c905b6af1ff1a4f31ce02787ba6d8c79_cropped768x768.jpg" alt="Penrose Candles Travel Candle Wild Spruce Product Image"></div><div class="details"><h2>Penrose Candles</h2><h3 class="label">Travel Candle</h3><h4 class="label">Wild Spruce</h4><h5>$13.00</h5></div></a><div class="actions"><button class="add" data-notify="7ddClyUKSH" type="button" data-brand="Penrose Candles" data-product="Travel Candle Wild Spruce" data-variant="7ddClyUKSH" onclick="toggleNotifyPopover(this,event)">Notify When Available</button><button class="add hide" data-remove="7ddClyUKSH" type="button" data-brand="Penrose Candles" data-product="Travel Candle Wild Spruce" data-variant="7ddClyUKSH" onclick="removeWhenAvailable(this,event)">Remove Notify</button><button class="favorite" undefined data-favorite="7ddClyUKSH" type="button" onclick="toggleFavoriteProductButton(this,event)"></button></div></div><div class="item"><a href="/search/product/PktDLUE8Ya/none" id="PktDLUE8Ya" data-filter="4TtkrtEijk" data-subcategory="Hn6R2YOMQj" data-regimen="" title="View Penrose Candles Travel Candle Wildling"><div class="image"><img class="lazy" src="/_images/placeholder.jpg" data-src="https://vw-861.nodechef.com/parse/files/8F0n3JDzgQ3o3cQhSWcAv6bZKeoiWtE13GVTyLiC/e81338de94d55bdd3de8bc712d031fbd_cropped768x768.jpg" alt="Penrose Candles Travel Candle Wildling Product Image"></div><div class="details"><h2>Penrose Candles</h2><h3 class="label">Travel Candle</h3><h4 class="label">Wildling</h4><h5>$13.00</h5></div></a><div class="actions"><button class="add" data-add="PktDLUE8Ya" data-total="13.00" data-inventory="3" type="button" onclick="addToCart(this,event,'PktDLUE8Ya','Search')">Add to Cart</button><button class="favorite" undefined data-favorite="PktDLUE8Ya" type="button" onclick="toggleFavoriteProductButton(this,event)"></button></div></div><a href="/brand/ZTDQTCeXLC" class="regimen emphasis link" data-idtype="brandId" data-filter="ZTDQTCeXLC"><span>Salt & Stone</span></a><div class="item"><a href="/search/product/WL28rBlkx0/none" id="WL28rBlkx0" data-filter="ZTDQTCeXLC" data-subcategory="eXQgmBzU0R" data-regimen="" title="View Salt & Stone Deodorant Extra Strength Bergamot & Hinoki"><div class="image"><img class="lazy" src="/_images/placeholder.jpg" data-src="https://vw-861.nodechef.com/parse/files/8F0n3JDzgQ3o3cQhSWcAv6bZKeoiWtE13GVTyLiC/8f547ca0065921642a693fa023331db1_cropped768x768.jpg" alt="Salt & Stone Deodorant Extra Strength Bergamot & Hinoki Product Image"></div><div class="details"><h2>Salt & Stone</h2><h3 class="label">Deodorant</h3><h4 class="label"> Extra Strength Bergamot & Hinoki</h4><h5>$20.00</h5></div></a><div class="actions"><button class="add" data-add="WL28rBlkx0" data-total="20.00" data-inventory="7" type="button" onclick="addToCart(this,event,'WL28rBlkx0','Search')">Add to Cart</button><button class="favorite" undefined data-favorite="WL28rBlkx0" type="button" onclick="toggleFavoriteProductButton(this,event)"></button></div></div><div class="item"><a href="/search/product/Cz478vZSTx/none" id="Cz478vZSTx" data-filter="ZTDQTCeXLC" data-subcategory="eXQgmBzU0R" data-regimen="" title="View Salt & Stone Deodorant Extra Strength Black Rose & Oud"><div class="image"><img class="lazy" src="/_images/placeholder.jpg" data-src="https://vw-861.nodechef.com/parse/files/8F0n3JDzgQ3o3cQhSWcAv6bZKeoiWtE13GVTyLiC/4572c47347e37e0009901029c00f2cd2_cropped768x768.jpg" alt="Salt & Stone Deodorant Extra Strength Black Rose & Oud Product Image"></div><div class="details"><h2>Salt & Stone</h2><h3 class="label">Deodorant</h3><h4 class="label"> Extra Strength Black Rose & Oud</h4><h5>$20.00</h5></div></a><div class="actions"><button class="add" data-add="Cz478vZSTx" data-total="20.00" data-inventory="6" type="button" onclick="addToCart(this,event,'Cz478vZSTx','Search')">Add to Cart</button><button class="favorite" undefined data-favorite="Cz478vZSTx" type="button" onclick="toggleFavoriteProductButton(this,event)"></button></div></div><div class="item"><a href="/search/product/tALjTXPhP5/none" id="tALjTXPhP5" data-filter="ZTDQTCeXLC" data-subcategory="eXQgmBzU0R" data-regimen="" title="View Salt & Stone Deodorant Extra Strength Neroli & Basil"><div class="image"><img class="lazy" src="/_images/placeholder.jpg" data-src="https://vw-861.nodechef.com/parse/files/8F0n3JDzgQ3o3cQhSWcAv6bZKeoiWtE13GVTyLiC/c8e84d75f0eac0490fb8b453bb29190b_cropped768x768.jpg" alt="Salt & Stone Deodorant Extra Strength Neroli & Basil Product Image"></div><div class="details"><h2>Salt & Stone</h2><h3 class="label">Deodorant</h3><h4 class="label"> Extra Strength Neroli & Basil</h4><h5>$20.00</h5></div></a><div class="actions"><button class="add" data-add="tALjTXPhP5" data-total="20.00" data-inventory="8" type="button" onclick="addToCart(this,event,'tALjTXPhP5','Search')">Add to Cart</button><button class="favorite" undefined data-favorite="tALjTXPhP5" type="button" onclick="toggleFavoriteProductButton(this,event)"></button></div></div><div class="item"><a href="/search/product/VSZpxnwwQx/none" id="VSZpxnwwQx" data-filter="ZTDQTCeXLC" data-subcategory="eXQgmBzU0R" data-regimen="" title="View Salt & Stone Deodorant Extra Strength Santal & Vetiver"><div class="image"><img class="lazy" src="/_images/placeholder.jpg" data-src="https://vw-861.nodechef.com/parse/files/8F0n3JDzgQ3o3cQhSWcAv6bZKeoiWtE13GVTyLiC/be9955d25f219b01173be27c0a197b35_cropped768x768.jpg" alt="Salt & Stone Deodorant Extra Strength Santal & Vetiver Product Image"></div><div class="details"><h2>Salt & Stone</h2><h3 class="label">Deodorant</h3><h4 class="label"> Extra Strength Santal & Vetiver</h4><h5>$20.00</h5></div></a><div class="actions"><button class="add" data-add="VSZpxnwwQx" data-total="20.00" data-inventory="8" type="button" onclick="addToCart(this,event,'VSZpxnwwQx','Search')">Add to Cart</button><button class="favorite" undefined data-favorite="VSZpxnwwQx" type="button" onclick="toggleFavoriteProductButton(this,event)"></button></div></div><div class="item"><a href="/search/product/RdxekagsxW/none" id="RdxekagsxW" data-filter="ZTDQTCeXLC" data-subcategory="eXQgmBzU0R" data-regimen="" title="View Salt & Stone Deodorant Sensitive Skin Gel Bergamot & Hinoki"><div class="image"><img class="lazy" src="/_images/placeholder.jpg" data-src="https://vw-861.nodechef.com/parse/files/8F0n3JDzgQ3o3cQhSWcAv6bZKeoiWtE13GVTyLiC/829a99f342d55087f8b6311f2b546d4b_cropped768x768.jpg" alt="Salt & Stone Deodorant Sensitive Skin Gel Bergamot & Hinoki Product Image"></div><div class="details"><h2>Salt & Stone</h2><h3 class="label">Deodorant</h3><h4 class="label">Sensitive Skin Gel Bergamot & Hinoki</h4><h5>$20.00</h5></div></a><div class="actions"><button class="add" data-add="RdxekagsxW" data-total="20.00" data-inventory="4" type="button" onclick="addToCart(this,event,'RdxekagsxW','Search')">Add to Cart</button><button class="favorite" undefined data-favorite="RdxekagsxW" type="button" onclick="toggleFavoriteProductButton(this,event)"></button></div></div><div class="item"><a href="/search/product/XORqWjRUIR/none" id="XORqWjRUIR" data-filter="ZTDQTCeXLC" data-subcategory="eXQgmBzU0R" data-regimen="" title="View Salt & Stone Deodorant Sensitive Skin Gel Santal & Vetiver"><div class="image"><img class="lazy" src="/_images/placeholder.jpg" data-src="https://vw-861.nodechef.com/parse/files/8F0n3JDzgQ3o3cQhSWcAv6bZKeoiWtE13GVTyLiC/957df7a7b9df753c5e6f4128d4cac997_cropped768x768.jpg" alt="Salt & Stone Deodorant Sensitive Skin Gel Santal & Vetiver Product Image"></div><div class="details"><h2>Salt & Stone</h2><h3 class="label">Deodorant</h3><h4 class="label">Sensitive Skin Gel Santal & Vetiver</h4><h5>$20.00</h5></div></a><div class="actions"><button class="add" data-add="XORqWjRUIR" data-total="20.00" data-inventory="4" type="button" onclick="addToCart(this,event,'XORqWjRUIR','Search')">Add to Cart</button><button class="favorite" undefined data-favorite="XORqWjRUIR" type="button" onclick="toggleFavoriteProductButton(this,event)"></button></div></div><div class="item"><a href="/search/product/A8jNs36J56/none" id="A8jNs36J56" data-filter="ZTDQTCeXLC" data-subcategory="3HyPyyKBo7" data-regimen="" title="View Salt & Stone Hand Cream Bergamot & Eucalyptus"><div class="image"><img class="lazy" src="/_images/placeholder.jpg" data-src="https://vw-861.nodechef.com/parse/files/8F0n3JDzgQ3o3cQhSWcAv6bZKeoiWtE13GVTyLiC/75bce2a60b59ea9d297ad91f04271b3d_cropped768x768.jpg" alt="Salt & Stone Hand Cream Bergamot & Eucalyptus Product Image"></div><div class="details"><h2>Salt & Stone</h2><h3 class="label">Hand Cream</h3><h4 class="label">Bergamot & Eucalyptus</h4><h5>$20.00</h5></div></a><div class="actions"><button class="add" data-add="A8jNs36J56" data-total="20.00" data-inventory="3" type="button" onclick="addToCart(this,event,'A8jNs36J56','Search')">Add to Cart</button><button class="favorite" undefined data-favorite="A8jNs36J56" type="button" onclick="toggleFavoriteProductButton(this,event)"></button></div></div><div class="item"><a href="/search/product/8yYLRBTOYX/none" id="8yYLRBTOYX" data-filter="ZTDQTCeXLC" data-subcategory="3HyPyyKBo7" data-regimen="" title="View Salt & Stone Hand Cream Black Rose & Oud"><div class="image"><img class="lazy" src="/_images/placeholder.jpg" data-src="https://vw-861.nodechef.com/parse/files/8F0n3JDzgQ3o3cQhSWcAv6bZKeoiWtE13GVTyLiC/80676d96520bbef72c4e27ea1e12bba9_cropped768x768.jpg" alt="Salt & Stone Hand Cream Black Rose & Oud Product Image"></div><div class="details"><h2>Salt & Stone</h2><h3 class="label">Hand Cream</h3><h4 class="label">Black Rose & Oud</h4><h5>$20.00</h5></div></a><div class="actions"><button class="add" data-add="8yYLRBTOYX" data-total="20.00" data-inventory="5" type="button" onclick="addToCart(this,event,'8yYLRBTOYX','Search')">Add to Cart</button><button class="favorite" undefined data-favorite="8yYLRBTOYX" type="button" onclick="toggleFavoriteProductButton(this,event)"></button></div></div><div class="item"><a href="/search/product/wgN9B91iOL/none" id="wgN9B91iOL" data-filter="ZTDQTCeXLC" data-subcategory="3HyPyyKBo7" data-regimen="" title="View Salt & Stone Hand Cream Santal"><div class="image"><img class="lazy" src="/_images/placeholder.jpg" data-src="https://vw-861.nodechef.com/parse/files/8F0n3JDzgQ3o3cQhSWcAv6bZKeoiWtE13GVTyLiC/6113b0f02f165966bd4531df6305e780_cropped768x768.jpg" alt="Salt & Stone Hand Cream Santal Product Image"></div><div class="details"><h2>Salt & Stone</h2><h3 class="label">Hand Cream</h3><h4 class="label">Santal</h4><h5>$20.00</h5></div></a><div class="actions"><button class="add" data-add="wgN9B91iOL" data-total="20.00" data-inventory="9" type="button" onclick="addToCart(this,event,'wgN9B91iOL','Search')">Add to Cart</button><button class="favorite" undefined data-favorite="wgN9B91iOL" type="button" onclick="toggleFavoriteProductButton(this,event)"></button></div></div><a href="/brand/BYJcOfFdm6" class="regimen emphasis link" data-idtype="brandId" data-filter="BYJcOfFdm6"><span>So-Phi</span></a><div class="item"><a href="/search/product/P5FyS2IoDW/none" id="P5FyS2IoDW" data-filter="BYJcOfFdm6" data-subcategory="lrNESm0lJP" data-regimen="" title="View So-Phi Hair Stick Army Green"><div class="image"><img class="lazy" src="/_images/placeholder.jpg" data-src="https://vw-861.nodechef.com/parse/files/8F0n3JDzgQ3o3cQhSWcAv6bZKeoiWtE13GVTyLiC/98c0ad9a021e0a07b0a089fe83262707_cropped768x768.jpg" alt="So-Phi Hair Stick Army Green Product Image"></div><div class="details"><h2>So-Phi</h2><h3 class="label">Hair Stick</h3><h4 class="label">Army Green</h4><h5>$20.00</h5></div></a><div class="actions"><button class="add" data-add="P5FyS2IoDW" data-total="20.00" data-inventory="3" type="button" onclick="addToCart(this,event,'P5FyS2IoDW','Search')">Add to Cart</button><button class="favorite" undefined data-favorite="P5FyS2IoDW" type="button" onclick="toggleFavoriteProductButton(this,event)"></button></div></div><div class="item"><a href="/search/product/SjMNlQw8gu/none" id="SjMNlQw8gu" data-filter="BYJcOfFdm6" data-subcategory="lrNESm0lJP" data-regimen="" title="View So-Phi Hair Stick Baby Pink"><div class="image"><img class="lazy" src="/_images/placeholder.jpg" data-src="https://vw-861.nodechef.com/parse/files/8F0n3JDzgQ3o3cQhSWcAv6bZKeoiWtE13GVTyLiC/09aa375d981232d24b068a8cfa4cd4c3_cropped768x768.jpg" alt="So-Phi Hair Stick Baby Pink Product Image"></div><div class="details"><h2>So-Phi</h2><h3 class="label">Hair Stick</h3><h4 class="label">Baby Pink</h4><h5>$20.00</h5></div></a><div class="actions"><button class="add" data-add="SjMNlQw8gu" data-total="20.00" data-inventory="3" type="button" onclick="addToCart(this,event,'SjMNlQw8gu','Search')">Add to Cart</button><button class="favorite" undefined data-favorite="SjMNlQw8gu" type="button" onclick="toggleFavoriteProductButton(this,event)"></button></div></div><div class="item"><a href="/search/product/kKeFj6Y8CG/none" id="kKeFj6Y8CG" data-filter="BYJcOfFdm6" data-subcategory="lrNESm0lJP" data-regimen="" title="View So-Phi Hair Stick Barbie Pink"><div class="image"><img class="lazy" src="/_images/placeholder.jpg" data-src="https://vw-861.nodechef.com/parse/files/8F0n3JDzgQ3o3cQhSWcAv6bZKeoiWtE13GVTyLiC/3f7df0a6c129038ebf50f8a50c4b3d45_cropped768x768.jpg" alt="So-Phi Hair Stick Barbie Pink Product Image"></div><div class="details"><h2>So-Phi</h2><h3 class="label">Hair Stick</h3><h4 class="label">Barbie Pink</h4><h5>$20.00</h5></div></a><div class="actions"><button class="add" data-add="kKeFj6Y8CG" data-total="20.00" data-inventory="2" type="button" onclick="addToCart(this,event,'kKeFj6Y8CG','Search')">Add to Cart</button><button class="favorite" undefined data-favorite="kKeFj6Y8CG" type="button" onclick="toggleFavoriteProductButton(this,event)"></button></div></div><div class="item"><a href="/search/product/eUyA4qkQnX/none" id="eUyA4qkQnX" data-filter="BYJcOfFdm6" data-subcategory="lrNESm0lJP" data-regimen="" title="View So-Phi Hair Stick Black"><div class="image"><img class="lazy" src="/_images/placeholder.jpg" data-src="https://vw-861.nodechef.com/parse/files/8F0n3JDzgQ3o3cQhSWcAv6bZKeoiWtE13GVTyLiC/61d1645479f029a8036e4a1104258afb_cropped768x768.jpg" alt="So-Phi Hair Stick Black Product Image"></div><div class="details"><h2>So-Phi</h2><h3 class="label">Hair Stick</h3><h4 class="label">Black</h4><h5>$20.00</h5></div></a><div class="actions"><button class="add" data-add="eUyA4qkQnX" data-total="20.00" data-inventory="5" type="button" onclick="addToCart(this,event,'eUyA4qkQnX','Search')">Add to Cart</button><button class="favorite" undefined data-favorite="eUyA4qkQnX" type="button" onclick="toggleFavoriteProductButton(this,event)"></button></div></div><div class="item"><a href="/search/product/nLkqzGnowL/none" id="nLkqzGnowL" data-filter="BYJcOfFdm6" data-subcategory="lrNESm0lJP" data-regimen="" title="View So-Phi Hair Stick Chartreuse"><div class="image"><img class="lazy" src="/_images/placeholder.jpg" data-src="https://vw-861.nodechef.com/parse/files/8F0n3JDzgQ3o3cQhSWcAv6bZKeoiWtE13GVTyLiC/4ece97f9428dee7137a9daa5345b7b5a_cropped768x768.jpg" alt="So-Phi Hair Stick Chartreuse Product Image"></div><div class="details"><h2>So-Phi</h2><h3 class="label">Hair Stick</h3><h4 class="label">Chartreuse</h4><h5>$20.00</h5></div></a><div class="actions"><button class="add" data-notify="nLkqzGnowL" type="button" data-brand="So-Phi" data-product="Hair Stick Chartreuse" data-variant="nLkqzGnowL" onclick="toggleNotifyPopover(this,event)">Notify When Available</button><button class="add hide" data-remove="nLkqzGnowL" type="button" data-brand="So-Phi" data-product="Hair Stick Chartreuse" data-variant="nLkqzGnowL" onclick="removeWhenAvailable(this,event)">Remove Notify</button><button class="favorite" undefined data-favorite="nLkqzGnowL" type="button" onclick="toggleFavoriteProductButton(this,event)"></button></div></div><div class="item"><a href="/search/product/jwOV0hvaxr/none" id="jwOV0hvaxr" data-filter="BYJcOfFdm6" data-subcategory="lrNESm0lJP" data-regimen="" title="View So-Phi Hair Stick Gold"><div class="image"><img class="lazy" src="/_images/placeholder.jpg" data-src="https://vw-861.nodechef.com/parse/files/8F0n3JDzgQ3o3cQhSWcAv6bZKeoiWtE13GVTyLiC/2f781659d9658782d51ca2845a38b85a_cropped768x768.jpg" alt="So-Phi Hair Stick Gold Product Image"></div><div class="details"><h2>So-Phi</h2><h3 class="label">Hair Stick</h3><h4 class="label">Gold</h4><h5>$20.00</h5></div></a><div class="actions"><button class="add" data-add="jwOV0hvaxr" data-total="20.00" data-inventory="11" type="button" onclick="addToCart(this,event,'jwOV0hvaxr','Search')">Add to Cart</button><button class="favorite" undefined data-favorite="jwOV0hvaxr" type="button" onclick="toggleFavoriteProductButton(this,event)"></button></div></div><div class="item"><a href="/search/product/rSQSmZXciC/none" id="rSQSmZXciC" data-filter="BYJcOfFdm6" data-subcategory="lrNESm0lJP" data-regimen="" title="View So-Phi Hair Stick Light Gray"><div class="image"><img class="lazy" src="/_images/placeholder.jpg" data-src="https://vw-861.nodechef.com/parse/files/8F0n3JDzgQ3o3cQhSWcAv6bZKeoiWtE13GVTyLiC/75de42b1b6f9be0e7ee1fc42ee89fbf3_cropped768x768.jpg" alt="So-Phi Hair Stick Light Gray Product Image"></div><div class="details"><h2>So-Phi</h2><h3 class="label">Hair Stick</h3><h4 class="label">Light Gray</h4><h5>$20.00</h5></div></a><div class="actions"><button class="add" data-add="rSQSmZXciC" data-total="20.00" data-inventory="3" type="button" onclick="addToCart(this,event,'rSQSmZXciC','Search')">Add to Cart</button><button class="favorite" undefined data-favorite="rSQSmZXciC" type="button" onclick="toggleFavoriteProductButton(this,event)"></button></div></div><div class="item"><a href="/search/product/GJ0oB5uC8r/none" id="GJ0oB5uC8r" data-filter="BYJcOfFdm6" data-subcategory="lrNESm0lJP" data-regimen="" title="View So-Phi Hair Stick Orange"><div class="image"><img class="lazy" src="/_images/placeholder.jpg" data-src="https://vw-861.nodechef.com/parse/files/8F0n3JDzgQ3o3cQhSWcAv6bZKeoiWtE13GVTyLiC/68e0cefe96e5db520cceac70b265e933_cropped768x768.jpg" alt="So-Phi Hair Stick Orange Product Image"></div><div class="details"><h2>So-Phi</h2><h3 class="label">Hair Stick</h3><h4 class="label">Orange</h4><h5>$20.00</h5></div></a><div class="actions"><button class="add" data-add="GJ0oB5uC8r" data-total="20.00" data-inventory="1" type="button" onclick="addToCart(this,event,'GJ0oB5uC8r','Search')">Add to Cart</button><button class="favorite" undefined data-favorite="GJ0oB5uC8r" type="button" onclick="toggleFavoriteProductButton(this,event)"></button></div></div><div class="item"><a href="/search/product/9pJq8oBmXs/none" id="9pJq8oBmXs" data-filter="BYJcOfFdm6" data-subcategory="lrNESm0lJP" data-regimen="" title="View So-Phi Hair Stick Royal Blue"><div class="image"><img class="lazy" src="/_images/placeholder.jpg" data-src="https://vw-861.nodechef.com/parse/files/8F0n3JDzgQ3o3cQhSWcAv6bZKeoiWtE13GVTyLiC/a519093765918b5c083c2cbf66aab264_cropped768x768.jpg" alt="So-Phi Hair Stick Royal Blue Product Image"></div><div class="details"><h2>So-Phi</h2><h3 class="label">Hair Stick</h3><h4 class="label">Royal Blue</h4><h5>$20.00</h5></div></a><div class="actions"><button class="add" data-notify="9pJq8oBmXs" type="button" data-brand="So-Phi" data-product="Hair Stick Royal Blue" data-variant="9pJq8oBmXs" onclick="toggleNotifyPopover(this,event)">Notify When Available</button><button class="add hide" data-remove="9pJq8oBmXs" type="button" data-brand="So-Phi" data-product="Hair Stick Royal Blue" data-variant="9pJq8oBmXs" onclick="removeWhenAvailable(this,event)">Remove Notify</button><button class="favorite" undefined data-favorite="9pJq8oBmXs" type="button" onclick="toggleFavoriteProductButton(this,event)"></button></div></div><div class="item"><a href="/search/product/dhgNdf5gxk/none" id="dhgNdf5gxk" data-filter="BYJcOfFdm6" data-subcategory="lrNESm0lJP" data-regimen="" title="View So-Phi Hair Stick Silver"><div class="image"><img class="lazy" src="/_images/placeholder.jpg" data-src="https://vw-861.nodechef.com/parse/files/8F0n3JDzgQ3o3cQhSWcAv6bZKeoiWtE13GVTyLiC/0ba25863fc47887d3aff42b23c021c1e_cropped768x768.jpg" alt="So-Phi Hair Stick Silver Product Image"></div><div class="details"><h2>So-Phi</h2><h3 class="label">Hair Stick</h3><h4 class="label">Silver</h4><h5>$20.00</h5></div></a><div class="actions"><button class="add" data-add="dhgNdf5gxk" data-total="20.00" data-inventory="10" type="button" onclick="addToCart(this,event,'dhgNdf5gxk','Search')">Add to Cart</button><button class="favorite" undefined data-favorite="dhgNdf5gxk" type="button" onclick="toggleFavoriteProductButton(this,event)"></button></div></div><div class="item"><a href="/search/product/xMRMSDob2C/none" id="xMRMSDob2C" data-filter="BYJcOfFdm6" data-subcategory="lrNESm0lJP" data-regimen="" title="View So-Phi Hair Stick Teal"><div class="image"><img class="lazy" src="/_images/placeholder.jpg" data-src="https://vw-861.nodechef.com/parse/files/8F0n3JDzgQ3o3cQhSWcAv6bZKeoiWtE13GVTyLiC/ac8c41ec3a16b29f1d9537fdcc03d625_cropped768x768.jpg" alt="So-Phi Hair Stick Teal Product Image"></div><div class="details"><h2>So-Phi</h2><h3 class="label">Hair Stick</h3><h4 class="label">Teal</h4><h5>$20.00</h5></div></a><div class="actions"><button class="add" data-add="xMRMSDob2C" data-total="20.00" data-inventory="2" type="button" onclick="addToCart(this,event,'xMRMSDob2C','Search')">Add to Cart</button><button class="favorite" undefined data-favorite="xMRMSDob2C" type="button" onclick="toggleFavoriteProductButton(this,event)"></button></div></div><a href="/brand/lFlYYwdEjf" class="regimen emphasis link" data-idtype="brandId" data-filter="lFlYYwdEjf"><span>Veer & Wander</span></a> </div> <menu id="collections" class="display"> <div class="group collection"> </div> </menu> </main> <footer> <div class="shipping"> Free <a class="link" href="/policy-shipping"><span>FedEx 2Day</span></a> shipping or USPS Priority Mail on orders $70+, otherwise $6. </div> <div class="section"> <div class="group main"> <div class="subtitle">Shop</div> <!-- a href="/policy-holiday" class="sale">Holiday Shipping</a --> <button onclick="toggleMenu(this,event,'shop','brand')">Brands</button> <button onclick="toggleMenu(this,event,'shop','classification')">Gifts for ...</button> <button onclick="toggleMenu(this,event,'shop','collection')">Product Collections</button> <button onclick="toggleMenu(this,event,'shop','category')">Categories</button> <a href="/collection/newest">New Arrivals</a> <!-- <button onclick="toggleMenu(this,event,'shop','clearance')" class="sale">Clearance Sale Brands - 40% Off</button> --> <!-- <a href="/travel-size">Mini/Travel Size</a> <a href="/family-size">Family Size</a> <a href="/kit">Kits & Sets</a> <a href="/less10">$10 & Below</a> <a href="/less20">$20 & Below</a> <a href="/less30">$30 & Below</a> <a href="/less40">$40 & Below</a> <a href="/featured">Summer Essentials</a> --> <!-- <button onclick="viewPageWithToken(this,event,'favorites')">Your Favorites</button> --> <button onclick="toggleFlags(this,event)">Shipping Destinations</button> <button onclick="viewPageWithToken(this,event,'notifications')" class="restricted">Notify When Available</button> <a href="/search">Search</a> <button onclick="clickBasketLink(this,event)">Cart</button> <!-- COMMENT TO DISABLE ORDERING --> </div><div class="group main"> <div class="subtitle">Explore</div> <a href="/book">Book Appointment</a> <a href="/services">Service / Pricing</a> <a href="/services-treatments">Service / Cezannes</a> <a href="/services-extensions">Service / Extensions</a> <a href="/connect">Stay Connected</a> <a href="/location">Location &amp; Hours</a> <a href="/promos" class="sale">Promotions</a> <a href="/press">Press</a> <a href="/about">About</a> <a href="/sylvainlehen">Sylvain le Hen Gallery</a> <a href="/gallery">Store & Salon Gallery</a> <a href="https://www.instagram.com/veerandwander/" target="_blank" rel="noopener">Instagram &hellip;</a> </div><div class="group main"> <div class="subtitle">Policies</div> <a href="/policy-shipping">Shipping & Returns</a> <a href="https://app.termly.io/document/privacy-policy/d228fc04-e7d5-4c7a-80cd-c6fecda5d2d6" target="_blank" rel="noopener">Privacy Policy &hellip;</a> <a href="https://app.termly.io/document/cookie-policy/e20f6cea-1b96-47aa-a1ba-0148168126d5" target="_blank" rel="noopener">Cookie Policy &hellip;</a> <a href="#" class="termly-display-preferences">Cookie Preferences</a> <a href="https://app.termly.io/document/terms-of-service/20a84de1-e226-457e-9f88-738a32908c5d" target="_blank" rel="noopener">Terms & Conditions &hellip;</a> <a href="https://app.termly.io/document/disclaimer/d2bc61d0-34af-414a-a0dc-71275d6f33b0" target="_blank" rel="noopener">Disclaimer &hellip;</a> <a href="https://app.termly.io/document/acceptable-use/01de5bc1-2625-4490-bf33-15459d1d0af1" target="_blank" rel="noopener">Acceptable Use Policy &hellip;</a> </div> </div><div class="section"> <div class="group"> <div class="connectGroup"> <a name="stay-connected"></a> <a class="link" href="/connect"><div class="subtitle"><span>Stay Connected</span></div></a> <label for="connectTel">Be the first to know about new products, specials, events and more.</label> <div> <input value="" id="connectTel" type="tel" placeholder="Mobile Number" onkeyup="connectKeyUp(this,event)" required autocomplete="tel" autocorrect="off" autocapitalize="off" spellcheck="false"><button id="connectSubmit" class="submit" onclick="joinConnect(this,event)" title="Submit Mobile Number"></button> <div id="connectBanner" class="banner"></div> </div> </div> <div class="message"> <a class="link" href="https://g.page/veer-wander-sf" target="_blank" rel="noopener"><span>6 Brady Street</span></a> <div>San Francisco CA 94103</div> <a class="link" href="mailto:[email protected]"><span>[email protected]</span></a><br> <a class="link" href="tel:14158643012"><span>(415) 864-3012</span></a> </div> </div> </div><div class="section"> <div class="group"> <div class="copyright"> Statements made on this site have not been evaluated by the Food and Drug Administration. The products are not intended to diagnose, treat, cure, or prevent any disease. </div> </div> </div><div class="section"> <div class="group"> <div class="copyright"> &#169; 2013-2024 Veer &amp; Wander Inc. All Rights Reserved. </div> </div> </div><div class="section"> <div class="group"> <div class="copyright"> <a class="link" href="https://app.termly.io/notify/d228fc04-e7d5-4c7a-80cd-c6fecda5d2d6" target="_blank" rel="noopener"><span>Do Not Sell or Share My Personal information</span></a> </div> </div> </div><div class="section"> <div class="group"> <div class="copyright"> <a class="link" href="https://app.termly.io/notify/d228fc04-e7d5-4c7a-80cd-c6fecda5d2d6" target="_blank" rel="noopener"><span>Limit the Use Of My Sensitive Personal Information</span></a> </div> </div> </div> </footer> <!-- <div class="approval" id="approvalCookies"> This website requires cookies to function. By continuing to use the site you are agreeing to our use of cookies. <a class="link" href="/policy-privacy"> <span>View our Privacy Policy to learn more.</span> </a> <button type="button" onclick="confirmCookies(this,event)">OK</button> </div> --> <div class="signature"> <div class="title">Veer & Wander</div> <div class="content"> <div>6 Brady St</div> <div>San Francisco CA 94103</div> <div>(415) 864-3012</div> <div>[email protected]</div> </div> </div> <script> try { pintrk('track', 'pagevisit'); } catch(error) { // NADA } </script> <!-- <div data-id="VPiC4A53Sz" class="livechat_button"> <a href="https://www.livechatinc.com/utm-builder/?utm_source=chat_button&utm_medium=referral&utm_campaign=lc_11923632"></a> </div> --> <!-- Start of LiveChat (www.livechatinc.com) code --> <!-- <script type="text/javascript"> window.__lc = window.__lc || {}; window.__lc.license = 11923632; (function() { var lc = document.createElement('script'); lc.type = 'text/javascript'; lc.async = true; lc.src = ('https:' == document.location.protocol ? 'https://' : 'http://') + 'cdn.livechatinc.com/tracking.js'; var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(lc, s); })(); </script> <noscript> <a href="https://www.livechatinc.com/chat-with/11923632/" rel="nofollow">Chat with us</a>, powered by <a href="https://www.livechatinc.com/?welcome" rel="noopener nofollow" target="_blank">LiveChat</a> </noscript> --> <!-- End of LiveChat code --> <menu id="menuMore" onclick="menuClick(this,event)"> <div class="group main"> <div class="subtitle">Shop</div> <!-- a href="/policy-holiday" class="sale">Holiday Shipping</a --> <button onclick="toggleMenu(this,event,'shop','brand')">Brands</button> <button onclick="toggleMenu(this,event,'shop','classification')">Gifts for ...</button> <button onclick="toggleMenu(this,event,'shop','collection')">Product Collections</button> <button onclick="toggleMenu(this,event,'shop','category')">Categories</button> <a href="/collection/newest">New Arrivals</a> <!-- <button onclick="toggleMenu(this,event,'shop','clearance')" class="sale">Clearance Sale Brands - 40% Off</button> --> <!-- <a href="/travel-size">Mini/Travel Size</a> <a href="/family-size">Family Size</a> <a href="/kit">Kits & Sets</a> <a href="/less10">$10 & Below</a> <a href="/less20">$20 & Below</a> <a href="/less30">$30 & Below</a> <a href="/less40">$40 & Below</a> <a href="/featured">Summer Essentials</a> --> <!-- <button onclick="viewPageWithToken(this,event,'favorites')">Your Favorites</button> --> <button onclick="toggleFlags(this,event)">Shipping Destinations</button> <button onclick="viewPageWithToken(this,event,'notifications')" class="restricted">Notify When Available</button> <a href="/search">Search</a> <button onclick="clickBasketLink(this,event)">Cart</button> <!-- COMMENT TO DISABLE ORDERING --> </div><div class="group main"> <div class="subtitle">Explore</div> <a href="/book">Book Appointment</a> <a href="/services">Service / Pricing</a> <a href="/services-treatments">Service / Cezannes</a> <a href="/services-extensions">Service / Extensions</a> <a href="/connect">Stay Connected</a> <a href="/location">Location &amp; Hours</a> <a href="/promos" class="sale">Promotions</a> <a href="/press">Press</a> <a href="/about">About</a> <a href="/sylvainlehen">Sylvain le Hen Gallery</a> <a href="/gallery">Store & Salon Gallery</a> <a href="https://www.instagram.com/veerandwander/" target="_blank" rel="noopener">Instagram &hellip;</a> </div><div class="group main"> <div class="subtitle">Policies</div> <a href="/policy-shipping">Shipping & Returns</a> <a href="https://app.termly.io/document/privacy-policy/d228fc04-e7d5-4c7a-80cd-c6fecda5d2d6" target="_blank" rel="noopener">Privacy Policy &hellip;</a> <a href="https://app.termly.io/document/cookie-policy/e20f6cea-1b96-47aa-a1ba-0148168126d5" target="_blank" rel="noopener">Cookie Policy &hellip;</a> <a href="#" class="termly-display-preferences">Cookie Preferences</a> <a href="https://app.termly.io/document/terms-of-service/20a84de1-e226-457e-9f88-738a32908c5d" target="_blank" rel="noopener">Terms & Conditions &hellip;</a> <a href="https://app.termly.io/document/disclaimer/d2bc61d0-34af-414a-a0dc-71275d6f33b0" target="_blank" rel="noopener">Disclaimer &hellip;</a> <a href="https://app.termly.io/document/acceptable-use/01de5bc1-2625-4490-bf33-15459d1d0af1" target="_blank" rel="noopener">Acceptable Use Policy &hellip;</a> </div> </menu> <menu id="menuShop" onclick="menuClick(this,event)"> <!-- <div class="title">Shop</div> --> <div class="group brand" id="menuShopBrand"> <div class="subtitle">Shop Brands</div> <div class="sub"><div class="divide">A</div><a href="/brand/y0aWiDwFzP">A. N Other</a><a href="/brand/Eaoyog7HmQ">Antidote</a></div><div class="sub"><div class="divide">B</div><a href="/brand/qTBHDRfyeT">Bluh Alchemy&nbsp;<div class="discounted">Sale</div><div class="usonly">US Only</div></a><a href="/brand/JiBEsX3ecK">Boheme<div class="usonly">US Only</div></a><a href="/brand/PdF4W8Dvmu">Broccoli<div class="usonly">US Only</div></a><a href="/brand/culG4uiNUx">Brosh</a></div><div class="sub"><div class="divide">C</div><a href="/brand/3Y0Gr0m3JE">CA Makes</a><a href="/brand/GoH1zLzx2t">Claflin, Thayer & Co</a><a href="/brand/SVz5E2f8sO">Conscia</a><a href="/brand/CBzocjh1G1">Copina Co.<div class="usonly">US Only</div></a><a href="/brand/n6taA819RY">Cult + King<div class="usonly">Restrictions</div></a></div><div class="sub"><div class="divide">D</div><a href="/brand/66IjlarIaA">Davids Natural Toothpaste</a><a href="/brand/k5jEOn8A4Z">Davines Authentic Formulas</a><a href="/brand/mi3D810Grh">Davines Essential Haircare</a><a href="/brand/7oGPr2x3xR">Davines Hair Refresher</a><a href="/brand/51PJD8bi2A">Davines Liquid Spell</a><a href="/brand/PBW48DknYq">Davines More Inside</a><a href="/brand/WJ9K0UtsiH">Davines Naturaltech</a><a href="/brand/qzwmx2espS">Davines OI</a><a href="/brand/RNqXcbwKSG">Davines SU<div class="usonly">US Only</div></a><a href="/brand/nfMXfLr1Uv">Davines The Circle Chronicles</a><a href="/brand/TQjpyCntMo">Depths Tarot</a></div><div class="sub"><div class="divide">E</div><a href="/brand/RbLLeAC7Pc">Ellis Faas</a><a href="/brand/72BK8XDhZ1">Epres</a><a href="/brand/LMnRG5TrL7">Ergo</a><a href="/brand/6sOmh2d5jW">Eucalypso Home</a><a href="/brand/34Jt9cuBIE">Everyday Oil</a></div><div class="sub"><div class="divide">F</div><a href="/brand/tNsz0wRCYA">Fischersund</a></div><div class="sub"><div class="divide">G</div><a href="/brand/XU0JHtABsN">Gossamer<div class="usonly">US Only</div></a></div><div class="sub"><div class="divide">H</div><a href="/brand/B4Eg6TvgtF">House of Gro&nbsp;<div class="discounted">Sale</div><div class="usonly">US Only</div></a></div><div class="sub"><div class="divide">J</div><a href="/brand/VqZ9fElxtt">Jao Brand<div class="usonly">Restrictions</div></a></div><div class="sub"><div class="divide">L</div><a href="/brand/JxOYzsoMUb">La Peau</a><a href="/brand/Zfzh9Kj2L9">Leef Organics<div class="usonly">US Only</div></a></div><div class="sub"><div class="divide">M</div><a href="/brand/pYBVbgcyhQ">Men & Sons</a><a href="/brand/kTt4J9ALMW">Minori</a><a href="/brand/bPFAxJlYMe">Mr. Smith<div class="usonly">US Only</div></a></div><div class="sub"><div class="divide">N</div><a href="/brand/uUznn6MOWr">NAP</a></div><div class="sub"><div class="divide">P</div><a href="/brand/4TtkrtEijk">Penrose Candles<div class="usonly">US Only</div></a></div><div class="sub"><div class="divide">R</div><a href="/brand/v91RBwZsuA">Reflekt</a><a href="/brand/kq3lrTdQ5W">Roxie Jane Hunt</a></div><div class="sub"><div class="divide">S</div><a href="/brand/ST4wSRbBf6">S-Heart-S</a><a href="/brand/ZTDQTCeXLC">Salt & Stone<div class="usonly">Restrictions</div></a><a href="/brand/QtJq79C3Bd">Sandoval</a><a href="/brand/BYJcOfFdm6">So-Phi</a><a href="/brand/FSSOEQxnGj">Sparrow For Everyone (s4e)</a><a href="/brand/cnT4h8VlnV">Studio Stockhome</a><a href="/brand/0gZyg3yeEc">Sylvain le Hen</a></div><div class="sub"><div class="divide">U</div><a href="/brand/yMVF4E2Avz">Undo</a></div><div class="sub"><div class="divide">V</div><a href="/brand/wchqwHDmCy">Vintner's Daughter<div class="usonly">US Only</div></a></div><div class="sub"><div class="divide">W</div><a href="/brand/9HQAFtr28z">Wild Yonder Botanicals<div class="usonly">Restrictions</div></a></div> </div> <div class="group category" id="menuShopCategory"> <div class="subtitle">Shop Categories</div> <div class="sub noDivide"><a href="/category/5nwbxj4twO">Accessories</a><a class="teen" href="/subcategory/IEHrXkVL8Y">Bag</a><a class="teen" href="/subcategory/RN7fGOh1px">Barrettes</a><a class="teen" href="/subcategory/q30O6bvawI">Claw Clip</a><a class="teen" href="/subcategory/yAIXzjBBLp">Clutch</a><a class="teen" href="/subcategory/lrNESm0lJP">Hair Pin</a><a class="teen" href="/subcategory/rP893kuvfW">Headband</a><a class="teen" href="/subcategory/27fytqvb9B">Scrunchy</a></div><div class="sub noDivide"><a href="/category/0yBAev1cG8">Bath & Body</a><a class="teen" href="/subcategory/5cFxEHD4hD">Bar Soap</a><a class="teen" href="/subcategory/TiuXVEq6bm">Bath</a><a class="teen" href="/subcategory/JffuZ2GQzb">Bath Salts</a><a class="teen" href="/subcategory/qzrs1GMM6p">Body</a><a class="teen" href="/subcategory/eXQgmBzU0R">Deodorant</a><a class="teen" href="/subcategory/A4DFbkND3S">Hand Sanitizer</a><a class="teen" href="/subcategory/3HyPyyKBo7">Hands</a><a class="teen" href="/subcategory/TQfH8zkdfJ">Insect Repellent</a><a class="teen" href="/subcategory/J7YIxnDHPs">Oral Care</a><a class="teen" href="/subcategory/BQImleBaz3">Treatments</a></div><div class="sub noDivide"><a href="/category/PRGj5CVR5e">Ceremonial</a><a class="teen" href="/subcategory/HOuyYhVXrv">Tarot Cards</a></div><div class="sub noDivide"><a href="/category/CpnTldLPQN">Fragrance</a><a class="teen" href="/subcategory/Hn6R2YOMQj">Candles & Sprays</a><a class="teen" href="/subcategory/mx4LZ95xB3">Incense</a><a class="teen" href="/subcategory/omqcdGoLEX">Matches</a><a class="teen" href="/subcategory/dFS8dLJqEo">Perfume</a><a class="teen" href="/subcategory/08d2A2kEes">Wick Trimmer</a></div><div class="sub noDivide"><a href="/category/qd51bFv4Mf">Hair</a><a class="teen" href="/subcategory/ZbNClxwPvx">Conditioner</a><a class="teen" href="/subcategory/N6wseGatr5">Curl</a><a class="teen" href="/subcategory/OJV2jZqUml">Shampoo</a><a class="teen" href="/subcategory/JTnfFj8M99">Styling</a><a class="teen" href="/subcategory/LNAp9K3V2m">Tools</a><a class="teen" href="/subcategory/8ZYDPOskUK">Treatments</a></div><div class="sub noDivide"><a href="/category/Tamcyteg6D">Makeup</a><a class="teen" href="/subcategory/8mK6nNKnuO">Cheeks</a><a class="teen" href="/subcategory/n4kFjGYPoe">Concealer</a><a class="teen" href="/subcategory/cXRKdAHyCw">Eyes</a><a class="teen" href="/subcategory/yYABrKagVp">Foundation</a><a class="teen" href="/subcategory/yEaNYdpZRX">Lips</a><a class="teen" href="/subcategory/nBmutdgx4h">Tools</a></div><div class="sub noDivide"><a href="/category/33is3Ca5IX">Pantry</a><a class="teen" href="/subcategory/8Mu37DYwB2">Sweets</a><a class="teen" href="/subcategory/WS1mEOTqyr">Teas</a></div><div class="sub noDivide"><a href="/category/C5qSBNlcEN">Paper Goods</a><a class="teen" href="/subcategory/YtXQJNNDjk">Greeting Cards</a><a class="teen" href="/subcategory/zM5Plpa5DI">Magazines</a></div><div class="sub noDivide"><a href="/category/9mH1uSDWW0">Skincare</a><a class="teen" href="/subcategory/dbmMf8LmUw">Cleansers</a><a class="teen" href="/subcategory/S9d8FRd6N6">Eye</a><a class="teen" href="/subcategory/pYMIDs0Rkf">Lips</a><a class="teen" href="/subcategory/887UG02pIf">Moisturizers</a><a class="teen" href="/subcategory/Yr3U0r787H">Serums</a><a class="teen" href="/subcategory/Yx5Qej4tMG">Sun Care</a><a class="teen" href="/subcategory/o9UTP52xSh">Toners & Mists</a></div><div class="sub noDivide"><a href="/category/W9nLkjGmhH">Wellness</a><a class="teen" href="/subcategory/T3OcmDNuqh">Drops</a><a class="teen" href="/subcategory/8SICvm2raS">Mixes</a><a class="teen" href="/subcategory/RFIA2r26HB">Supplements</a></div> </div> <div class="group clearance" id="menuShopClearance"> <div class="subtitle">Clearance Sale Brands - 40% Off</div> <div class="sub"><div class="divide">B</div><a href="/brand/sPk3HG4ivy">Battington Lashes&nbsp;<div class="discounted">Sale</div><div class="usonly">US Only</div></a></div><div class="sub"><div class="divide">M</div><a href="/brand/uKskTSmrU7">Moon Juice&nbsp;<div class="discounted">Sale</div><div class="usonly">US Only</div></a></div> </div> <div class="group collection" id="menuShopCollection"> <div class="subtitle">Product Collections</div> <div class="sub"><a href="/collection/KFprsblcKQ">Aches & Pain</a><a href="/collection/6QfcD63qJZ">Anti-Frizz</a><a href="/collection/CIHS2s7vvi">Better Blowouts</a><a href="/collection/8QPiLWEPIj">Blonde / Bleached / Grey</a><a href="/collection/B5Hz90TeMq">Breakage & Damage</a><a href="/collection/baZt3oWVrJ">Clarifying</a><a href="/collection/DwhOYeZ1Uw">Color Protection</a><a href="/collection/3GEsTW2emu">Curl Love</a><a href="/collection/9AbdK6WCrG">Detangle</a><a href="/collection/UnSC0hQWLA">Face / Hair / Body</a><a href="/collection/AyoCWbIFRC">Fine / Thin / Limp</a><a href="/collection/GEm6D3TWV4">GOAT</a><a href="/collection/V5m7bOJbi9">Heat Protection</a><a href="/collection/Mozl9p1wgb">Moisture & Nourishment</a><a href="/collection/LAj3fkRODN">Mosquitoes</a><a href="/collection/gzCmGC39tJ">Only One</a><a href="/collection/4BX8TpDncl">Scalp Help</a><a href="/collection/P2PRWcAB4U">Sensitive Skin</a><a href="/collection/vREjyM079A">Shine</a><a href="/collection/jeZ7cd8g89">Sleep Assist</a><a href="/collection/Zbo81rWovG">Soft & Silky</a><a href="/collection/qUBnSOPrsL">Stress & Anxiety</a><a href="/collection/SHpWnQNH8S">Sun/UV Protection</a><a href="/collection/HA5v6i5wpn">Volume</a></div><div class="sub"><a href="/collection/less10">$10 & Below</a><a href="/collection/less20">$20 & Below</a><a href="/collection/less30">$30 & Below</a><a href="/collection/less40">$40 & Below</a><a href="/collection/less50">$50 & Below</a><a href="/collection/less60">$60 & Below</a><a href="/collection/less70">$70 & Below</a><a href="/collection/less80">$80 & Below</a><a href="/collection/less90">$90 & Below</a><a href="/collection/less100">$100 & Below</a><a href="/collection/less150">$150 & Below</a><a href="/collection/less200">$200 & Below</a><a href="/collection/less250">$250 & Below</a></div><div class="sub"><a href="/collection/travel">Mini/Travel Size</a><a href="/collection/liter">Family Size</a><a href="/collection/kit">Kits & Sets</a></div><div class="sub"><a href="/collection/newest">New Arrivals</a></div> </div> <div class="group collection" id="menuShopClassification"> <div class="subtitle">Gifts for ...</div> <div class="sub"><a href="/classification/wn4Mov898g">Everyday Use</a><a href="/classification/FZMDCzU81E">Party Hair</a><a href="/classification/GQNqnckyoZ">Skin Aficionados</a><a href="/classification/13CMyv5qZr">Stocking Stuffers</a><a href="/classification/7btHhf2oGL">The Hostess</a><a href="/classification/jaGt3ZYbbO">The Outdoor Enthusiast</a><a href="/classification/tIFte0Ibzb">The Soul</a><a href="/classification/liLyaIOlCo">Their Self-Care</a></div> </div> <!-- <button class="close" onclick="toggleMenu(this,event,'shop')"></button> --> </menu> <menu id="menuFlags" onclick="menuClick(this,event)"> <div class="group flags"> <div class="subtitle">Shipping Destination</div> <div class="sub"><div class="divide">North America</div><button class="flag US" onclick="switchFlag(this,event,'US')">United States<div>$6 Shipping</div></button><button class="flag PR" onclick="switchFlag(this,event,'PR')">Puerto Rico<div>$12 Shipping</div></button><button class="flag CA" onclick="switchFlag(this,event,'CA')">Canada<div>$15 Shipping</div></button></div><div class="sub"><div class="divide">Oceania</div><button class="flag AU" onclick="switchFlag(this,event,'AU')">Australia<div>$25 Shipping</div></button><button class="flag NZ" onclick="switchFlag(this,event,'NZ')">New Zealand<div>$25 Shipping</div></button></div><div class="sub"><div class="divide">Europe</div><button class="flag FR" onclick="switchFlag(this,event,'FR')">France<div>$20 Shipping</div></button><button class="flag DE" onclick="switchFlag(this,event,'DE')">Germany<div>$20 Shipping</div></button><button class="flag IE" onclick="switchFlag(this,event,'IE')">Ireland<div>$20 Shipping</div></button><button class="flag IT" onclick="switchFlag(this,event,'IT')">Italy<div>$20 Shipping</div></button><button class="flag NL" onclick="switchFlag(this,event,'NL')">Netherlands<div>$20 Shipping</div></button><button class="flag GB" onclick="switchFlag(this,event,'GB')">United Kingdom<div>$20 Shipping</div></button></div> </div> </menu> <div id="notifyPopover" class="popover" onclick="toggleNotifyPopover(this,event)"> <div class="shell" onclick="event.stopPropagation()"> <div class="wrap"> <div class="title"> Notify When Available </div> <div class="info tight" id="notifyPopoverInfo"> </div> <div class="form"> <div class="banner" id="notifyPopoverError"></div> <input value="" id="notifyPopoverTel" type="tel" placeholder="Mobile Number" onkeyup="notifyPopoverKeyUp(this,event)" required autocomplete="tel" autocorrect="off" autocapitalize="off" spellcheck="false"> </div> <div class="actions multi"> <button class="secondary" data-variant="" onclick="toggleNotifyPopover(this,event)"> Cancel </button><button class="primary" data-variant="" onclick="notifyWhenAvailable(this,event)"> Notify </button> </div> </div> </div> </div> <div id="infoPopover" class="popover" onclick="toggleInfoPopover(this,event)"> <div class="shell" onclick="event.stopPropagation()"> <div class="wrap"> <div class="title" id="infoPopoverTitle"></div> <div class="info" id="infoPopoverMessage"></div> <div class="actions" id="infoPopoverActions"> <button id="infoPopoverSecondary" class="secondary" onclick="toggleInfoPopover(this,event)"> </button><button id="infoPopoverPrimary" class="primary" style="display:none"> </button> </div> </div> </div> </div> </body> <script> docu |
| 6 |
Info
On line 4, column 130 head> <script type="text/javascript" src="https://app.termly.io/resource-blocker/c9060009-82c9-4891-8d67-8c904d5617e9?autoBlock=on"></scri |
| 7 |
Error
On line 68, column 76 itle> <script src="https://cdn.usefathom.com/script.js" site="LQYLKIAS" defer></scri |
| 8 |
Error
On line 1799, column 1 0.px 0px; width: |
| 9 |
Error
On line 1804, column 13 } .cart .submit { / |
| 10 |
Error
On line 5864, column 1 ; */ } } </styl |
| 11 |
Info
On line 9193, column 108 > --> <script type="application/javascript" src="//api64.ipify.org?format=jsonp&amp;callback=getLocationData"></scri |
| 12 |
Error
On line 9229, column 141 <noscript><img height="1" width="1" style="display:none" src="https://www.facebook.com/tr?id=590464405222762&ev=PageView&noscript=1" /></noscri |
| 13 |
Error
On line 9243, column 169 <noscript><img height="1" width="1" style="display:none" src="https://www.facebook.com/tr?id=590464405222762&ev=PageView&noscript=1" /></noscri |
| 14 |
Error
On line 9262, column 160 lections"><h1><span> |
| 15 |
Error
On line 9265, column 1690 ove Notify</button><button class="favorite" undefined data-favorite="GrQtmTxbbN" type="button" onclick="toggleFavoriteProductButton(this,event)"></butt |
| 16 |
Error
On line 9265, column 2843 dd to Cart</button><button class="favorite" undefined data-favorite="EgvpM3nbIq" type="button" onclick="toggleFavoriteProductButton(this,event)"></butt |
| 17 |
Error
On line 9265, column 3737 t of Stock</div><button class="favorite" undefined data-favorite="KKbehyv8YT" type="button" onclick="toggleFavoriteProductButton(this,event)"></butt |
| 18 |
Error
On line 9265, column 4733 dd to Cart</button><button class="favorite" undefined data-favorite="ltClwWcrLt" type="button" onclick="toggleFavoriteProductButton(this,event)"></butt |
| 19 |
Error
On line 9265, column 5598 dd to Cart</button><button class="favorite" undefined data-favorite="W8DP2pFtKT" type="button" onclick="toggleFavoriteProductButton(this,event)"></butt |
| 20 |
Error
On line 9265, column 6753 ove Notify</button><button class="favorite" undefined data-favorite="nwOpFrtfgo" type="button" onclick="toggleFavoriteProductButton(this,event)"></butt |
| 21 |
Error
On line 9265, column 7903 ove Notify</button><button class="favorite" undefined data-favorite="GVrxU3kyaI" type="button" onclick="toggleFavoriteProductButton(this,event)"></butt |
| 22 |
Error
On line 9265, column 8929 dd to Cart</button><button class="favorite" undefined data-favorite="ZyoYkGrdKh" type="button" onclick="toggleFavoriteProductButton(this,event)"></butt |
| 23 |
Error
On line 9265, column 9809 dd to Cart</button><button class="favorite" undefined data-favorite="iVcSAZHcJq" type="button" onclick="toggleFavoriteProductButton(this,event)"></butt |
| 24 |
Error
On line 9265, column 10793 dd to Cart</button><button class="favorite" undefined data-favorite="Q2HSpYRBE0" type="button" onclick="toggleFavoriteProductButton(this,event)"></butt |
| 25 |
Error
On line 9265, column 11695 dd to Cart</button><button class="favorite" undefined data-favorite="pbp94AiqBg" type="button" onclick="toggleFavoriteProductButton(this,event)"></butt |
| 26 |
Error
On line 9265, column 12649 dd to Cart</button><button class="favorite" undefined data-favorite="myqGwQoqCA" type="button" onclick="toggleFavoriteProductButton(this,event)"></butt |
| 27 |
Error
On line 9265, column 13606 dd to Cart</button><button class="favorite" undefined data-favorite="it9X1kkFP1" type="button" onclick="toggleFavoriteProductButton(this,event)"></butt |
| 28 |
Error
On line 9265, column 14581 dd to Cart</button><button class="favorite" undefined data-favorite="ZaXeI6cCDb" type="button" onclick="toggleFavoriteProductButton(this,event)"></butt |
| 29 |
Error
On line 9265, column 15571 dd to Cart</button><button class="favorite" undefined data-favorite="IiAqGGopR1" type="button" onclick="toggleFavoriteProductButton(this,event)"></butt |
| 30 |
Error
On line 9265, column 16546 dd to Cart</button><button class="favorite" undefined data-favorite="ld7fmfovum" type="button" onclick="toggleFavoriteProductButton(this,event)"></butt |
| 31 |
Error
On line 9265, column 17536 dd to Cart</button><button class="favorite" undefined data-favorite="63lXBxvym4" type="button" onclick="toggleFavoriteProductButton(this,event)"></butt |
| 32 |
Error
On line 9265, column 18502 dd to Cart</button><button class="favorite" undefined data-favorite="fdHKHvQSzB" type="button" onclick="toggleFavoriteProductButton(this,event)"></butt |
| 33 |
Error
On line 9265, column 19483 dd to Cart</button><button class="favorite" undefined data-favorite="z5YYVXCbvm" type="button" onclick="toggleFavoriteProductButton(this,event)"></butt |
| 34 |
Error
On line 9265, column 20488 dd to Cart</button><button class="favorite" undefined data-favorite="Ff3E7GkKl1" type="button" onclick="toggleFavoriteProductButton(this,event)"></butt |
| 35 |
Error
On line 9265, column 21508 dd to Cart</button><button class="favorite" undefined data-favorite="OxbBrjp6re" type="button" onclick="toggleFavoriteProductButton(this,event)"></butt |
| 36 |
Error
On line 9265, column 22672 ove Notify</button><button class="favorite" undefined data-favorite="pBObEuXE9c" type="button" onclick="toggleFavoriteProductButton(this,event)"></butt |
| 37 |
Error
On line 9265, column 23574 dd to Cart</button><button class="favorite" undefined data-favorite="YPjlIU20Ou" type="button" onclick="toggleFavoriteProductButton(this,event)"></butt |
| 38 |
Error
On line 9265, column 24491 dd to Cart</button><button class="favorite" undefined data-favorite="Nhkdk1Vykb" type="button" onclick="toggleFavoriteProductButton(this,event)"></butt |
| 39 |
Error
On line 9265, column 25393 dd to Cart</button><button class="favorite" undefined data-favorite="0oTmipfy0B" type="button" onclick="toggleFavoriteProductButton(this,event)"></butt |
| 40 |
Error
On line 9265, column 26310 dd to Cart</button><button class="favorite" undefined data-favorite="DwYwzb5eED" type="button" onclick="toggleFavoriteProductButton(this,event)"></butt |
| 41 |
Error
On line 9265, column 27489 ove Notify</button><button class="favorite" undefined data-favorite="sHY4DdLyhF" type="button" onclick="toggleFavoriteProductButton(this,event)"></butt |
| 42 |
Error
On line 9265, column 28756 dd to Cart</button><button class="favorite" undefined data-favorite="Q5qq4wHtkg" type="button" onclick="toggleFavoriteProductButton(this,event)"></butt |
| 43 |
Info
On line 9265, column 29409 ue Scraper</h3><h4 class="label"></h4>< |
| 44 |
Error
On line 9265, column 29755 dd to Cart</button><button class="favorite" undefined data-favorite="bhEsHFOkgb" type="button" onclick="toggleFavoriteProductButton(this,event)"></butt |
| 45 |
Error
On line 9265, column 31046 dd to Cart</button><button class="favorite" undefined data-favorite="grzV9zs65n" type="button" onclick="toggleFavoriteProductButton(this,event)"></butt |
| 46 |
Error
On line 9265, column 32027 dd to Cart</button><button class="favorite" undefined data-favorite="FQab77AKuJ" type="button" onclick="toggleFavoriteProductButton(this,event)"></butt |
| 47 |
Error
On line 9265, column 33035 dd to Cart</button><button class="favorite" undefined data-favorite="DrX7YbHG5E" type="button" onclick="toggleFavoriteProductButton(this,event)"></butt |
| 48 |
Error
On line 9265, column 34037 dd to Cart</button><button class="favorite" undefined data-favorite="9Ff5ic9MmW" type="button" onclick="toggleFavoriteProductButton(this,event)"></butt |
| 49 |
Error
On line 9265, column 35033 dd to Cart</button><button class="favorite" undefined data-favorite="6DAmqR80rY" type="button" onclick="toggleFavoriteProductButton(this,event)"></butt |
| 50 |
Error
On line 9265, column 36056 dd to Cart</button><button class="favorite" undefined data-favorite="tozkAzNpQ3" type="button" onclick="toggleFavoriteProductButton(this,event)"></butt |
| 51 |
Error
On line 9265, column 37067 dd to Cart</button><button class="favorite" undefined data-favorite="4LPhZFvyKr" type="button" onclick="toggleFavoriteProductButton(this,event)"></butt |
| 52 |
Error
On line 9265, column 38060 dd to Cart</button><button class="favorite" undefined data-favorite="d67XmTGEJo" type="button" onclick="toggleFavoriteProductButton(this,event)"></butt |
| 53 |
Error
On line 9265, column 39041 dd to Cart</button><button class="favorite" undefined data-favorite="63XsbZmRvy" type="button" onclick="toggleFavoriteProductButton(this,event)"></butt |
| 54 |
Error
On line 9265, column 40034 dd to Cart</button><button class="favorite" undefined data-favorite="DmgHD3JDQT" type="button" onclick="toggleFavoriteProductButton(this,event)"></butt |
| 55 |
Error
On line 9265, column 41021 dd to Cart</button><button class="favorite" undefined data-favorite="iDG5wCyv0s" type="button" onclick="toggleFavoriteProductButton(this,event)"></butt |
| 56 |
Error
On line 9265, column 42002 dd to Cart</button><button class="favorite" undefined data-favorite="6zMQOzcHdd" type="button" onclick="toggleFavoriteProductButton(this,event)"></butt |
| 57 |
Error
On line 9265, column 42995 dd to Cart</button><button class="favorite" undefined data-favorite="t6eWzTIcvZ" type="button" onclick="toggleFavoriteProductButton(this,event)"></butt |
| 58 |
Error
On line 9265, column 43976 dd to Cart</button><button class="favorite" undefined data-favorite="5i9Sc2rElO" type="button" onclick="toggleFavoriteProductButton(this,event)"></butt |
| 59 |
Error
On line 9265, column 44975 dd to Cart</button><button class="favorite" undefined data-favorite="RPSy3c6zvI" type="button" onclick="toggleFavoriteProductButton(this,event)"></butt |
| 60 |
Error
On line 9265, column 45968 dd to Cart</button><button class="favorite" undefined data-favorite="jKXIfqgc7M" type="button" onclick="toggleFavoriteProductButton(this,event)"></butt |
| 61 |
Error
On line 9265, column 46955 dd to Cart</button><button class="favorite" undefined data-favorite="lA9M5yVZM8" type="button" onclick="toggleFavoriteProductButton(this,event)"></butt |
| 62 |
Error
On line 9265, column 47984 dd to Cart</button><button class="favorite" undefined data-favorite="DH7BuRSbQf" type="button" onclick="toggleFavoriteProductButton(this,event)"></butt |
| 63 |
Error
On line 9265, column 48965 dd to Cart</button><button class="favorite" undefined data-favorite="U0rIsu6UCT" type="button" onclick="toggleFavoriteProductButton(this,event)"></butt |
| 64 |
Error
On line 9265, column 49946 dd to Cart</button><button class="favorite" undefined data-favorite="3FQ4gaBiIv" type="button" onclick="toggleFavoriteProductButton(this,event)"></butt |
| 65 |
Error
On line 9265, column 51104 dd to Cart</button><button class="favorite" undefined data-favorite="e0ZCcCCOXM" type="button" onclick="toggleFavoriteProductButton(this,event)"></butt |
| 66 |
Error
On line 9265, column 52227 dd to Cart</button><button class="favorite" undefined data-favorite="xjT4QtDhai" type="button" onclick="toggleFavoriteProductButton(this,event)"></butt |
| 67 |
Error
On line 9265, column 53561 ove Notify</button><button class="favorite" undefined data-favorite="hDehyNTvyM" type="button" onclick="toggleFavoriteProductButton(this,event)"></butt |
| 68 |
Error
On line 9265, column 54850 ove Notify</button><button class="favorite" undefined data-favorite="Xk0IQ9AP9p" type="button" onclick="toggleFavoriteProductButton(this,event)"></butt |
| 69 |
Error
On line 9265, column 55831 dd to Cart</button><button class="favorite" undefined data-favorite="xCm5FrsZRy" type="button" onclick="toggleFavoriteProductButton(this,event)"></butt |
| 70 |
Error
On line 9265, column 56894 dd to Cart</button><button class="favorite" undefined data-favorite="VdiHDQAlue" type="button" onclick="toggleFavoriteProductButton(this,event)"></butt |
| 71 |
Error
On line 9265, column 57824 dd to Cart</button><button class="favorite" undefined data-favorite="3gg5mwqqZ7" type="button" onclick="toggleFavoriteProductButton(this,event)"></butt |
| 72 |
Error
On line 9265, column 58742 dd to Cart</button><button class="favorite" undefined data-favorite="Q5rJwhcywW" type="button" onclick="toggleFavoriteProductButton(this,event)"></butt |
| 73 |
Error
On line 9265, column 59820 dd to Cart</button><button class="favorite" undefined data-favorite="yvNNA0s1ZE" type="button" onclick="toggleFavoriteProductButton(this,event)"></butt |
| 74 |
Error
On line 9265, column 60744 dd to Cart</button><button class="favorite" undefined data-favorite="xd7H9KZ8SC" type="button" onclick="toggleFavoriteProductButton(this,event)"></butt |
| 75 |
Error
On line 9265, column 61922 dd to Cart</button><button class="favorite" undefined data-favorite="szhEmnd0Iy" type="button" onclick="toggleFavoriteProductButton(this,event)"></butt |
| 76 |
Error
On line 9265, column 62939 dd to Cart</button><button class="favorite" undefined data-favorite="uY2gTzzFTF" type="button" onclick="toggleFavoriteProductButton(this,event)"></butt |
| 77 |
Error
On line 9265, column 63965 dd to Cart</button><button class="favorite" undefined data-favorite="9h3bsiDmo9" type="button" onclick="toggleFavoriteProductButton(this,event)"></butt |
| 78 |
Error
On line 9265, column 65000 dd to Cart</button><button class="favorite" undefined data-favorite="FFtJ1cvkM7" type="button" onclick="toggleFavoriteProductButton(this,event)"></butt |
| 79 |
Error
On line 9265, column 66023 dd to Cart</button><button class="favorite" undefined data-favorite="3HDgJVSoGa" type="button" onclick="toggleFavoriteProductButton(this,event)"></butt |
| 80 |
Error
On line 9265, column 67049 dd to Cart</button><button class="favorite" undefined data-favorite="3tTAfvXfQD" type="button" onclick="toggleFavoriteProductButton(this,event)"></butt |
| 81 |
Error
On line 9265, column 68069 dd to Cart</button><button class="favorite" undefined data-favorite="H6kiwHRXeV" type="button" onclick="toggleFavoriteProductButton(this,event)"></butt |
| 82 |
Error
On line 9265, column 69146 dd to Cart</button><button class="favorite" undefined data-favorite="3VE4kAcuE3" type="button" onclick="toggleFavoriteProductButton(this,event)"></butt |
| 83 |
Error
On line 9265, column 70224 dd to Cart</button><button class="favorite" undefined data-favorite="OneI2bmB3L" type="button" onclick="toggleFavoriteProductButton(this,event)"></butt |
| 84 |
Error
On line 9265, column 71165 dd to Cart</button><button class="favorite" undefined data-favorite="ojTH5iMckA" type="button" onclick="toggleFavoriteProductButton(this,event)"></butt |
| 85 |
Error
On line 9265, column 72121 dd to Cart</button><button class="favorite" undefined data-favorite="yZtNj41e1l" type="button" onclick="toggleFavoriteProductButton(this,event)"></butt |
| 86 |
Error
On line 9265, column 73074 dd to Cart</button><button class="favorite" undefined data-favorite="jOn4ZvktxK" type="button" onclick="toggleFavoriteProductButton(this,event)"></butt |
| 87 |
Info
On line 9265, column 73988 old Empty)</h3><h4 class="label"></h4>< |
| 88 |
Error
On line 9265, column 74333 dd to Cart</button><button class="favorite" undefined data-favorite="KKabEzZQBv" type="button" onclick="toggleFavoriteProductButton(this,event)"></butt |
| 89 |
Error
On line 9265, column 75517 ove Notify</button><button class="favorite" undefined data-favorite="DwOmwCQmen" type="button" onclick="toggleFavoriteProductButton(this,event)"></butt |
| 90 |
Error
On line 9265, column 76701 ove Notify</button><button class="favorite" undefined data-favorite="tAZXU496ae" type="button" onclick="toggleFavoriteProductButton(this,event)"></butt |
| 91 |
Info
On line 9265, column 77255 Hand Salve</h3><h4 class="label"></h4>< |
| 92 |
Error
On line 9265, column 77600 dd to Cart</button><button class="favorite" undefined data-favorite="PxMTzk0LeH" type="button" onclick="toggleFavoriteProductButton(this,event)"></butt |
| 93 |
Info
On line 9265, column 78145 l">Lip Jao</h3><h4 class="label"></h4>< |
| 94 |
Error
On line 9265, column 78729 ove Notify</button><button class="favorite" undefined data-favorite="pb751zFD1t" type="button" onclick="toggleFavoriteProductButton(this,event)"></butt |
| 95 |
Info
On line 9265, column 79452 eam Candle</h3><h4 class="label"></h4>< |
| 96 |
Error
On line 9265, column 79797 dd to Cart</button><button class="favorite" undefined data-favorite="qpOIelZWNq" type="button" onclick="toggleFavoriteProductButton(this,event)"></butt |
| 97 |
Info
On line 9265, column 80396 Room Spray</h3><h4 class="label"></h4>< |
| 98 |
Error
On line 9265, column 80741 dd to Cart</button><button class="favorite" undefined data-favorite="nhAXes0o3h" type="button" onclick="toggleFavoriteProductButton(this,event)"></butt |
| 99 |
Info
On line 9265, column 81361 Room Spray</h3><h4 class="label"></h4>< |
| 100 |
Error
On line 9265, column 81706 dd to Cart</button><button class="favorite" undefined data-favorite="JvTOnkNYa6" type="button" onclick="toggleFavoriteProductButton(this,event)"></butt |
β