HTML Report for http://www.veerandwander.com/brand/n6taA819RY
This tool is an ongoing experiment in better HTML checking, and its behavior remains subject to changeShowing results for http://www.veerandwander.com/brand/n6taA819RY
You can view the notes...
view-source:http://www.veerandwander.com/brand/n6taA819RY
| # | 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> <link rel="canonical" href="https://veerandwander.com/brand/n6taA819RY"> <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="Cult + King is obsessed with ingredients on their fantastical quest to make the finest natural, botanical, sustainable haircare, skincare &amp; shave p..."> <meta name="robots" content="all"> <meta name="view-transition" content="same-origin" /> <meta property="og:image" content="https://vw-861.nodechef.com/parse/files/8F0n3JDzgQ3o3cQhSWcAv6bZKeoiWtE13GVTyLiC/9322996077c290f239cafb31b0eb78f3_brand_cult-king_1_square.jpg"> <meta property="og:image:secure_url" content="https://vw-861.nodechef.com/parse/files/8F0n3JDzgQ3o3cQhSWcAv6bZKeoiWtE13GVTyLiC/9322996077c290f239cafb31b0eb78f3_brand_cult-king_1_square.jpg"> <meta property="og:image:type" content="image/jpeg" /> <meta property="og:title" content="Cult + King"> <meta property="og:description" content="Cult + King is obsessed with ingredients on their fantastical quest to make the finest natural, botanical, sustainable haircare, skincare &amp; shave p..."> <meta property="og:url" content="https://veerandwander.com/brand/n6taA819RY"> <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>Cult + King - 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> <link rel="canonical" href="https://veerandwander.com/brand/n6taA819RY"> <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="Cult + King is obsessed with ingredients on their fantastical quest to make the finest natural, botanical, sustainable haircare, skincare &amp; shave p..."> <meta name="robots" content="all"> <meta name="view-transition" content="same-origin" /> <meta property="og:image" content="https://vw-861.nodechef.com/parse/files/8F0n3JDzgQ3o3cQhSWcAv6bZKeoiWtE13GVTyLiC/9322996077c290f239cafb31b0eb78f3_brand_cult-king_1_square.jpg"> <meta property="og:image:secure_url" content="https://vw-861.nodechef.com/parse/files/8F0n3JDzgQ3o3cQhSWcAv6bZKeoiWtE13GVTyLiC/9322996077c290f239cafb31b0eb78f3_brand_cult-king_1_square.jpg"> <meta property="og:image:type" content="image/jpeg" /> <meta property="og:title" content="Cult + King"> <meta property="og:description" content="Cult + King is obsessed with ingredients on their fantastical quest to make the finest natural, botanical, sustainable haircare, skincare &amp; shave p..."> <meta property="og:url" content="https://veerandwander.com/brand/n6taA819RY"> <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>Cult + King - 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 9539, 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="brand" onclick="showGridFilter(this)" data-label="Brands"><h1><span>Cult + King</span></h1></button><button class="child link emphasis" data-filter="category" onclick="showGridFilter(this)" data-label="Filter"><span>All Categories</span></button><div class="shell" data-shell="brand" onclick="hideGridFilter(this,event)"><div class="menu"><div class="divide">A</div><a href="/brand/y0aWiDwFzP">A. N Other</a><a href="/brand/Eaoyog7HmQ">Antidote</a><div class="divide">B</div><a href="/brand/qTBHDRfyeT">Bluh Alchemy&nbsp;<div class="discounted">Sale</div></a><a href="/brand/JiBEsX3ecK">Boheme</a><a href="/brand/PdF4W8Dvmu">Broccoli</a><a href="/brand/culG4uiNUx">Brosh</a><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.</a><a href="/brand/n6taA819RY">Cult + King</a><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</a><a href="/brand/nfMXfLr1Uv">Davines The Circle Chronicles</a><a href="/brand/TQjpyCntMo">Depths Tarot</a><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 class="divide">F</div><a href="/brand/tNsz0wRCYA">Fischersund</a><div class="divide">G</div><a href="/brand/XU0JHtABsN">Gossamer</a><div class="divide">H</div><a href="/brand/B4Eg6TvgtF">House of Gro&nbsp;<div class="discounted">Sale</div></a><div class="divide">J</div><a href="/brand/VqZ9fElxtt">Jao Brand</a><div class="divide">L</div><a href="/brand/JxOYzsoMUb">La Peau</a><a href="/brand/Zfzh9Kj2L9">Leef Organics</a><div class="divide">M</div><a href="/brand/pYBVbgcyhQ">Men & Sons</a><a href="/brand/kTt4J9ALMW">Minori</a><a href="/brand/bPFAxJlYMe">Mr. Smith</a><div class="divide">N</div><a href="/brand/uUznn6MOWr">NAP</a><div class="divide">P</div><a href="/brand/4TtkrtEijk">Penrose Candles</a><div class="divide">R</div><a href="/brand/v91RBwZsuA">Reflekt</a><a href="/brand/kq3lrTdQ5W">Roxie Jane Hunt</a><div class="divide">S</div><a href="/brand/ST4wSRbBf6">S-Heart-S</a><a href="/brand/ZTDQTCeXLC">Salt & Stone</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 class="divide">U</div><a href="/brand/yMVF4E2Avz">Undo</a><div class="divide">V</div><a href="/brand/wchqwHDmCy">Vintner's Daughter</a><div class="divide">W</div><a href="/brand/9HQAFtr28z">Wild Yonder Botanicals</a></div></div><div class="shell" data-shell="category" onclick="hideGridFilter(this,event)"><div class="menu"><button onclick="filterGrid(this,'all','filter','category')">All Categories</button><button onclick="filterGrid(this,'0yBAev1cG8','filter','category')">Bath & Body</button><button class="teen" data-parent="Bath & Body" onclick="filterGrid(this,'5cFxEHD4hD','filter','subcategory')">Bar Soap</button><button class="teen" data-parent="Bath & Body" onclick="filterGrid(this,'qzrs1GMM6p','filter','subcategory')">Body</button><button onclick="filterGrid(this,'qd51bFv4Mf','filter','category')">Hair</button><button class="teen" data-parent="Hair" onclick="filterGrid(this,'OJV2jZqUml','filter','subcategory')">Shampoo</button><button class="teen" data-parent="Hair" onclick="filterGrid(this,'JTnfFj8M99','filter','subcategory')">Styling</button><button class="teen" data-parent="Hair" onclick="filterGrid(this,'8ZYDPOskUK','filter','subcategory')">Treatments</button></div></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>8 hrs 22 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><div class="regimen emphasis" data-filter="0yBAev1cG8" data-subcategory="qzrs1GMM6p">Balm</div><div class="item"><a href="/brand/product/QtXeDI9RCH/none" id="QtXeDI9RCH" data-filter="0yBAev1cG8" data-subcategory="qzrs1GMM6p" data-regimen="" title="View Cult + King Balm 3.4 oz"><div class="image"><img class="lazy" src="/_images/placeholder.jpg" data-src="https://vw-861.nodechef.com/parse/files/8F0n3JDzgQ3o3cQhSWcAv6bZKeoiWtE13GVTyLiC/1c490b889a910dfc657a697200b8c22d_cropped768x768.jpg" alt="Cult + King Balm 3.4 oz Product Image"></div><div class="details"><h3 class="label">Balm</h3><h4 class="label">3.4 oz</h4><h5>$40.00</h5></div></a><div class="actions"><button class="add" data-add="QtXeDI9RCH" data-total="40.00" data-inventory="3" type="button" onclick="addToCart(this,event,'QtXeDI9RCH','Brand')">Add to Cart</button><button class="favorite" undefined data-favorite="QtXeDI9RCH" type="button" onclick="toggleFavoriteProductButton(this,event)"></button></div></div><div class="item"><a href="/brand/product/Q2HSpYRBE0/none" id="Q2HSpYRBE0" data-filter="0yBAev1cG8" data-subcategory="qzrs1GMM6p" data-regimen="" title="View Cult + King Balm Mini"><div class="image"><img class="lazy" src="/_images/placeholder.jpg" data-src="https://vw-861.nodechef.com/parse/files/8F0n3JDzgQ3o3cQhSWcAv6bZKeoiWtE13GVTyLiC/8bf6cdb57f56672de560715693442706_cropped768x768.jpg" alt="Cult + King Balm Mini Product Image"></div><div class="details"><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','Brand')">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="/brand/product/WVBMagtobR/none" id="WVBMagtobR" data-filter="0yBAev1cG8" data-subcategory="qzrs1GMM6p" data-regimen="" title="View Cult + King Balm Refill 3.4 oz"><div class="image"><img class="lazy" src="/_images/placeholder.jpg" data-src="https://vw-861.nodechef.com/parse/files/8F0n3JDzgQ3o3cQhSWcAv6bZKeoiWtE13GVTyLiC/6bfac5a8dd79f565225e7ed0251cea0c_cropped768x768.jpg" alt="Cult + King Balm Refill 3.4 oz Product Image"></div><div class="details"><h3 class="label">Balm</h3><h4 class="label">Refill 3.4 oz</h4><h5>$32.00</h5></div></a><div class="actions"><button class="add" data-add="WVBMagtobR" data-total="32.00" data-inventory="5" type="button" onclick="addToCart(this,event,'WVBMagtobR','Brand')">Add to Cart</button><button class="favorite" undefined data-favorite="WVBMagtobR" type="button" onclick="toggleFavoriteProductButton(this,event)"></button></div></div><div class="item"><a href="/brand/product/YxELVr7j2b/none" id="YxELVr7j2b" data-filter="0yBAev1cG8" data-subcategory="qzrs1GMM6p" data-regimen="" title="View Cult + King Balm Refill 6.8 oz"><div class="image"><img class="lazy" src="/_images/placeholder.jpg" data-src="https://vw-861.nodechef.com/parse/files/8F0n3JDzgQ3o3cQhSWcAv6bZKeoiWtE13GVTyLiC/c3286e218b113de60a272ce7c4831ca4_cropped768x768.jpg" alt="Cult + King Balm Refill 6.8 oz Product Image"></div><div class="details"><h3 class="label">Balm</h3><h4 class="label">Refill 6.8 oz</h4><h5>$60.00</h5></div></a><div class="actions"><button class="add" data-notify="YxELVr7j2b" type="button" data-brand="Cult + King" data-product="Balm Refill 6.8 oz" data-variant="YxELVr7j2b" onclick="toggleNotifyPopover(this,event)">Notify When Available</button><button class="add hide" data-remove="YxELVr7j2b" type="button" data-brand="Cult + King" data-product="Balm Refill 6.8 oz" data-variant="YxELVr7j2b" onclick="removeWhenAvailable(this,event)">Remove Notify</button><button class="favorite" undefined data-favorite="YxELVr7j2b" type="button" onclick="toggleFavoriteProductButton(this,event)"></button></div></div><div class="regimen emphasis" data-filter="qd51bFv4Mf" data-subcategory="OJV2jZqUml">Hair Powder</div><div class="item"><a href="/brand/product/gHVYswKTW9/none" id="gHVYswKTW9" data-filter="qd51bFv4Mf" data-subcategory="OJV2jZqUml" data-regimen="" title="View Cult + King Hair Powder Dark"><div class="image"><img class="lazy" src="/_images/placeholder.jpg" data-src="https://vw-861.nodechef.com/parse/files/8F0n3JDzgQ3o3cQhSWcAv6bZKeoiWtE13GVTyLiC/c021e61e32e92da79fbbea33af7d907a_cropped768x768.jpg" alt="Cult + King Hair Powder Dark Product Image"></div><div class="details"><h3 class="label">Hair Powder</h3><h4 class="label">Dark</h4><h5>$35.00</h5></div></a><div class="actions"><button class="add" data-notify="gHVYswKTW9" type="button" data-brand="Cult + King" data-product="Hair Powder Dark" data-variant="gHVYswKTW9" onclick="toggleNotifyPopover(this,event)">Notify When Available</button><button class="add hide" data-remove="gHVYswKTW9" type="button" data-brand="Cult + King" data-product="Hair Powder Dark" data-variant="gHVYswKTW9" onclick="removeWhenAvailable(this,event)">Remove Notify</button><button class="favorite" undefined data-favorite="gHVYswKTW9" type="button" onclick="toggleFavoriteProductButton(this,event)"></button></div></div><div class="item"><a href="/brand/product/GF58oirXxe/none" id="GF58oirXxe" data-filter="qd51bFv4Mf" data-subcategory="OJV2jZqUml" data-regimen="" title="View Cult + King Hair Powder Dark Mini"><div class="image"><img class="lazy" src="/_images/placeholder.jpg" data-src="https://vw-861.nodechef.com/parse/files/8F0n3JDzgQ3o3cQhSWcAv6bZKeoiWtE13GVTyLiC/e9496247df9411b2576c4333f55f050c_cropped768x768.jpg" alt="Cult + King Hair Powder Dark Mini Product Image"></div><div class="details"><h3 class="label">Hair Powder</h3><h4 class="label">Dark Mini</h4><h5>$10.00</h5></div></a><div class="actions"><button class="add" data-add="GF58oirXxe" data-total="10.00" data-inventory="4" type="button" onclick="addToCart(this,event,'GF58oirXxe','Brand')">Add to Cart</button><button class="favorite" undefined data-favorite="GF58oirXxe" type="button" onclick="toggleFavoriteProductButton(this,event)"></button></div></div><div class="item"><a href="/brand/product/MAuY7vj4Rk/none" id="MAuY7vj4Rk" data-filter="qd51bFv4Mf" data-subcategory="OJV2jZqUml" data-regimen="" title="View Cult + King Hair Powder Light"><div class="image"><img class="lazy" src="/_images/placeholder.jpg" data-src="https://vw-861.nodechef.com/parse/files/8F0n3JDzgQ3o3cQhSWcAv6bZKeoiWtE13GVTyLiC/7301b379ab90490061bc43125c96b802_cropped768x768.jpg" alt="Cult + King Hair Powder Light Product Image"></div><div class="details"><h3 class="label">Hair Powder</h3><h4 class="label">Light</h4><h5>$35.00</h5></div></a><div class="actions"><button class="add" data-add="MAuY7vj4Rk" data-total="35.00" data-inventory="4" type="button" onclick="addToCart(this,event,'MAuY7vj4Rk','Brand')">Add to Cart</button><button class="favorite" undefined data-favorite="MAuY7vj4Rk" type="button" onclick="toggleFavoriteProductButton(this,event)"></button></div></div><div class="item"><a href="/brand/product/TJxgW5hf5t/none" id="TJxgW5hf5t" data-filter="qd51bFv4Mf" data-subcategory="OJV2jZqUml" data-regimen="" title="View Cult + King Hair Powder Light Mini"><div class="image"><img class="lazy" src="/_images/placeholder.jpg" data-src="https://vw-861.nodechef.com/parse/files/8F0n3JDzgQ3o3cQhSWcAv6bZKeoiWtE13GVTyLiC/678cd5e2f3fe4ed27537f11097162493_cropped768x768.jpg" alt="Cult + King Hair Powder Light Mini Product Image"></div><div class="details"><h3 class="label">Hair Powder</h3><h4 class="label">Light Mini</h4><h5>$10.00</h5></div></a><div class="actions"><button class="add" data-add="TJxgW5hf5t" data-total="10.00" data-inventory="3" type="button" onclick="addToCart(this,event,'TJxgW5hf5t','Brand')">Add to Cart</button><button class="favorite" undefined data-favorite="TJxgW5hf5t" type="button" onclick="toggleFavoriteProductButton(this,event)"></button></div></div><div class="regimen emphasis" data-filter="qd51bFv4Mf" data-subcategory="JTnfFj8M99">Jelly</div><div class="item"><a href="/brand/product/uOlS1NC1qk/none" id="uOlS1NC1qk" data-filter="qd51bFv4Mf" data-subcategory="JTnfFj8M99" data-regimen="" title="View Cult + King Jelly 4 oz"><div class="image"><img class="lazy" src="/_images/placeholder.jpg" data-src="https://vw-861.nodechef.com/parse/files/8F0n3JDzgQ3o3cQhSWcAv6bZKeoiWtE13GVTyLiC/af87ab6ea97e05794404b391699269a6_cropped768x768.jpg" alt="Cult + King Jelly 4 oz Product Image"></div><div class="details"><h3 class="label">Jelly</h3><h4 class="label">4 oz</h4><h5>$35.00</h5></div></a><div class="actions"><button class="add" data-add="uOlS1NC1qk" data-total="35.00" data-inventory="1" type="button" onclick="addToCart(this,event,'uOlS1NC1qk','Brand')">Add to Cart</button><button class="favorite" undefined data-favorite="uOlS1NC1qk" type="button" onclick="toggleFavoriteProductButton(this,event)"></button></div></div><div class="item"><a href="/brand/product/pbp94AiqBg/none" id="pbp94AiqBg" data-filter="qd51bFv4Mf" 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"><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','Brand')">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="/brand/product/mjJDgLdeCZ/none" id="mjJDgLdeCZ" data-filter="qd51bFv4Mf" data-subcategory="JTnfFj8M99" data-regimen="" title="View Cult + King Jelly Refill 4 oz"><div class="image"><img class="lazy" src="/_images/placeholder.jpg" data-src="https://vw-861.nodechef.com/parse/files/8F0n3JDzgQ3o3cQhSWcAv6bZKeoiWtE13GVTyLiC/5555ef3cfac66ea792260dc986578b77_cropped768x768.jpg" alt="Cult + King Jelly Refill 4 oz Product Image"></div><div class="details"><h3 class="label">Jelly</h3><h4 class="label">Refill 4 oz</h4><h5>$32.00</h5></div></a><div class="actions"><button class="add" data-add="mjJDgLdeCZ" data-total="32.00" data-inventory="1" type="button" onclick="addToCart(this,event,'mjJDgLdeCZ','Brand')">Add to Cart</button><button class="favorite" undefined data-favorite="mjJDgLdeCZ" type="button" onclick="toggleFavoriteProductButton(this,event)"></button></div></div><div class="item"><a href="/brand/product/RH98s9NC31/none" id="RH98s9NC31" data-filter="qd51bFv4Mf" data-subcategory="JTnfFj8M99" data-regimen="" title="View Cult + King Jelly Refill 8 oz"><div class="image"><img class="lazy" src="/_images/placeholder.jpg" data-src="https://vw-861.nodechef.com/parse/files/8F0n3JDzgQ3o3cQhSWcAv6bZKeoiWtE13GVTyLiC/852368e8ac23d83f94ddd8e04ced80e0_cropped768x768.jpg" alt="Cult + King Jelly Refill 8 oz Product Image"></div><div class="details"><h3 class="label">Jelly</h3><h4 class="label">Refill 8 oz</h4><h5>$52.00</h5></div></a><div class="actions"><button class="add" data-notify="RH98s9NC31" type="button" data-brand="Cult + King" data-product="Jelly Refill 8 oz" data-variant="RH98s9NC31" onclick="toggleNotifyPopover(this,event)">Notify When Available</button><button class="add hide" data-remove="RH98s9NC31" type="button" data-brand="Cult + King" data-product="Jelly Refill 8 oz" data-variant="RH98s9NC31" onclick="removeWhenAvailable(this,event)">Remove Notify</button><button class="favorite" undefined data-favorite="RH98s9NC31" type="button" onclick="toggleFavoriteProductButton(this,event)"></button></div></div><div class="regimen emphasis" data-filter="qd51bFv4Mf" data-subcategory="JTnfFj8M99">Pomade</div><div class="item"><a href="/brand/product/9pKlGuUpDc/none" id="9pKlGuUpDc" data-filter="qd51bFv4Mf" data-subcategory="JTnfFj8M99" data-regimen="" title="View Cult + King Pomade 3 oz"><div class="image"><img class="lazy" src="/_images/placeholder.jpg" data-src="https://vw-861.nodechef.com/parse/files/8F0n3JDzgQ3o3cQhSWcAv6bZKeoiWtE13GVTyLiC/4a5e2f95dd9e6674b510be8ec883b59a_cropped768x768.jpg" alt="Cult + King Pomade 3 oz Product Image"></div><div class="details"><h3 class="label">Pomade</h3><h4 class="label">3 oz</h4><h5>$40.00</h5></div></a><div class="actions"><button class="add" data-add="9pKlGuUpDc" data-total="40.00" data-inventory="3" type="button" onclick="addToCart(this,event,'9pKlGuUpDc','Brand')">Add to Cart</button><button class="favorite" undefined data-favorite="9pKlGuUpDc" type="button" onclick="toggleFavoriteProductButton(this,event)"></button></div></div><div class="item"><a href="/brand/product/jKEbixOfip/none" id="jKEbixOfip" data-filter="qd51bFv4Mf" data-subcategory="JTnfFj8M99" data-regimen="" title="View Cult + King Pomade Mini"><div class="image"><img class="lazy" src="/_images/placeholder.jpg" data-src="https://vw-861.nodechef.com/parse/files/8F0n3JDzgQ3o3cQhSWcAv6bZKeoiWtE13GVTyLiC/5881eb873a81b4fc256780d643839860_cropped768x768.jpg" alt="Cult + King Pomade Mini Product Image"></div><div class="details"><h3 class="label">Pomade</h3><h4 class="label">Mini</h4><h5>$10.00</h5></div></a><div class="actions"><button class="add" data-notify="jKEbixOfip" type="button" data-brand="Cult + King" data-product="Pomade Mini" data-variant="jKEbixOfip" onclick="toggleNotifyPopover(this,event)">Notify When Available</button><button class="add hide" data-remove="jKEbixOfip" type="button" data-brand="Cult + King" data-product="Pomade Mini" data-variant="jKEbixOfip" onclick="removeWhenAvailable(this,event)">Remove Notify</button><button class="favorite" undefined data-favorite="jKEbixOfip" type="button" onclick="toggleFavoriteProductButton(this,event)"></button></div></div><div class="regimen emphasis" data-filter="null" data-subcategory="null">Replacement Parts</div><div class="item"><a href="/brand/product/myqGwQoqCA/none" id="myqGwQoqCA" data-filter="" 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"><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','Brand')">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="/brand/product/it9X1kkFP1/none" id="it9X1kkFP1" data-filter="" 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"><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','Brand')">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="/brand/product/ZaXeI6cCDb/none" id="ZaXeI6cCDb" data-filter="" 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"><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','Brand')">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="/brand/product/IiAqGGopR1/none" id="IiAqGGopR1" data-filter="" 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"><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','Brand')">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="/brand/product/ld7fmfovum/none" id="ld7fmfovum" data-filter="" 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"><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','Brand')">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="/brand/product/63lXBxvym4/none" id="63lXBxvym4" data-filter="" 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"><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','Brand')">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="/brand/product/fdHKHvQSzB/none" id="fdHKHvQSzB" data-filter="" 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"><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','Brand')">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="/brand/product/z5YYVXCbvm/none" id="z5YYVXCbvm" data-filter="" 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"><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','Brand')">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="/brand/product/Ff3E7GkKl1/none" id="Ff3E7GkKl1" data-filter="" 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"><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','Brand')">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="/brand/product/OxbBrjp6re/none" id="OxbBrjp6re" data-filter="" 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"><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','Brand')">Add to Cart</button><button class="favorite" undefined data-favorite="OxbBrjp6re" type="button" onclick="toggleFavoriteProductButton(this,event)"></button></div></div><div class="regimen emphasis" data-filter="qd51bFv4Mf" data-subcategory="JTnfFj8M99">Setspray</div><div class="item"><a href="/brand/product/wGkyaFd8Ox/none" id="wGkyaFd8Ox" data-filter="qd51bFv4Mf" data-subcategory="JTnfFj8M99" data-regimen="" title="View Cult + King Setspray 4 oz"><div class="image"><img class="lazy" src="/_images/placeholder.jpg" data-src="https://vw-861.nodechef.com/parse/files/8F0n3JDzgQ3o3cQhSWcAv6bZKeoiWtE13GVTyLiC/be5d8b47483e50c84e36d2d307e7bc6f_cropped768x768.jpg" alt="Cult + King Setspray 4 oz Product Image"></div><div class="details"><h3 class="label">Setspray</h3><h4 class="label">4 oz</h4><h5>$35.00</h5></div></a><div class="actions"><button class="add" data-add="wGkyaFd8Ox" data-total="35.00" data-inventory="4" type="button" onclick="addToCart(this,event,'wGkyaFd8Ox','Brand')">Add to Cart</button><button class="favorite" undefined data-favorite="wGkyaFd8Ox" type="button" onclick="toggleFavoriteProductButton(this,event)"></button></div></div><div class="item"><a href="/brand/product/pBObEuXE9c/none" id="pBObEuXE9c" data-filter="qd51bFv4Mf" 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"><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="/brand/product/a7RXyd7J7u/none" id="a7RXyd7J7u" data-filter="qd51bFv4Mf" data-subcategory="JTnfFj8M99" data-regimen="" title="View Cult + King Setspray Refill 4 oz"><div class="image"><img class="lazy" src="/_images/placeholder.jpg" data-src="https://vw-861.nodechef.com/parse/files/8F0n3JDzgQ3o3cQhSWcAv6bZKeoiWtE13GVTyLiC/d8afa800b2ca3706cdee0b3c08dedacf_cropped768x768.jpg" alt="Cult + King Setspray Refill 4 oz Product Image"></div><div class="details"><h3 class="label">Setspray</h3><h4 class="label">Refill 4 oz</h4><h5>$28.00</h5></div></a><div class="actions"><button class="add" data-notify="a7RXyd7J7u" type="button" data-brand="Cult + King" data-product="Setspray Refill 4 oz" data-variant="a7RXyd7J7u" onclick="toggleNotifyPopover(this,event)">Notify When Available</button><button class="add hide" data-remove="a7RXyd7J7u" type="button" data-brand="Cult + King" data-product="Setspray Refill 4 oz" data-variant="a7RXyd7J7u" onclick="removeWhenAvailable(this,event)">Remove Notify</button><button class="favorite" undefined data-favorite="a7RXyd7J7u" type="button" onclick="toggleFavoriteProductButton(this,event)"></button></div></div><div class="item"><a href="/brand/product/ewBV2YGcl3/none" id="ewBV2YGcl3" data-filter="qd51bFv4Mf" data-subcategory="JTnfFj8M99" data-regimen="" title="View Cult + King Setspray Refill 8 oz"><div class="image"><img class="lazy" src="/_images/placeholder.jpg" data-src="https://vw-861.nodechef.com/parse/files/8F0n3JDzgQ3o3cQhSWcAv6bZKeoiWtE13GVTyLiC/2d6c4fc4d2df852f2aafc888a9fbc6db_cropped768x768.jpg" alt="Cult + King Setspray Refill 8 oz Product Image"></div><div class="details"><h3 class="label">Setspray</h3><h4 class="label">Refill 8 oz</h4><h5>$56.00</h5></div></a><div class="actions"><button class="add" data-notify="ewBV2YGcl3" type="button" data-brand="Cult + King" data-product="Setspray Refill 8 oz" data-variant="ewBV2YGcl3" onclick="toggleNotifyPopover(this,event)">Notify When Available</button><button class="add hide" data-remove="ewBV2YGcl3" type="button" data-brand="Cult + King" data-product="Setspray Refill 8 oz" data-variant="ewBV2YGcl3" onclick="removeWhenAvailable(this,event)">Remove Notify</button><button class="favorite" undefined data-favorite="ewBV2YGcl3" type="button" onclick="toggleFavoriteProductButton(this,event)"></button></div></div><div class="regimen emphasis" data-filter="qd51bFv4Mf" data-subcategory="JTnfFj8M99">Style</div><div class="item"><a href="/brand/product/QOL4N3k45B/none" id="QOL4N3k45B" data-filter="qd51bFv4Mf" data-subcategory="JTnfFj8M99" data-regimen="" title="View Cult + King Style 3 oz"><div class="image"><img class="lazy" src="/_images/placeholder.jpg" data-src="https://vw-861.nodechef.com/parse/files/8F0n3JDzgQ3o3cQhSWcAv6bZKeoiWtE13GVTyLiC/f3a1e5a0f1e918f7fa390ae9f9b0cf73_cropped768x768.jpg" alt="Cult + King Style 3 oz Product Image"></div><div class="details"><h3 class="label">Style</h3><h4 class="label">3 oz</h4><h5>$40.00</h5></div></a><div class="actions"><button class="add" data-add="QOL4N3k45B" data-total="40.00" data-inventory="2" type="button" onclick="addToCart(this,event,'QOL4N3k45B','Brand')">Add to Cart</button><button class="favorite" undefined data-favorite="QOL4N3k45B" type="button" onclick="toggleFavoriteProductButton(this,event)"></button></div></div><div class="item"><a href="/brand/product/YPjlIU20Ou/none" id="YPjlIU20Ou" data-filter="qd51bFv4Mf" 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"><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','Brand')">Add to Cart</button><button class="favorite" undefined data-favorite="YPjlIU20Ou" type="button" onclick="toggleFavoriteProductButton(this,event)"></button></div></div><div class="regimen emphasis" data-filter="qd51bFv4Mf" data-subcategory="8ZYDPOskUK">Superwater</div><div class="item"><a href="/brand/product/ts6jBrrsJ9/none" id="ts6jBrrsJ9" data-filter="qd51bFv4Mf" data-subcategory="8ZYDPOskUK" data-regimen="" title="View Cult + King Superwater 6 oz"><div class="image"><img class="lazy" src="/_images/placeholder.jpg" data-src="https://vw-861.nodechef.com/parse/files/8F0n3JDzgQ3o3cQhSWcAv6bZKeoiWtE13GVTyLiC/2848c6909983c97ea9fc60bf4aebb709_cropped768x768.jpg" alt="Cult + King Superwater 6 oz Product Image"></div><div class="details"><h3 class="label">Superwater</h3><h4 class="label">6 oz</h4><h5>$35.00</h5></div></a><div class="actions"><button class="add" data-add="ts6jBrrsJ9" data-total="35.00" data-inventory="4" type="button" onclick="addToCart(this,event,'ts6jBrrsJ9','Brand')">Add to Cart</button><button class="favorite" undefined data-favorite="ts6jBrrsJ9" type="button" onclick="toggleFavoriteProductButton(this,event)"></button></div></div><div class="item"><a href="/brand/product/Nhkdk1Vykb/none" id="Nhkdk1Vykb" data-filter="qd51bFv4Mf" 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"><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','Brand')">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="/brand/product/sn89jGwM3o/none" id="sn89jGwM3o" data-filter="qd51bFv4Mf" data-subcategory="8ZYDPOskUK" data-regimen="" title="View Cult + King Superwater Refill"><div class="image"><img class="lazy" src="/_images/placeholder.jpg" data-src="https://vw-861.nodechef.com/parse/files/8F0n3JDzgQ3o3cQhSWcAv6bZKeoiWtE13GVTyLiC/4a6cdce2007971687fed39ee1deebe1a_cropped768x768.jpg" alt="Cult + King Superwater Refill Product Image"></div><div class="details"><h3 class="label">Superwater</h3><h4 class="label">Refill</h4><h5>$28.00</h5></div></a><div class="actions"><button class="add" data-add="sn89jGwM3o" data-total="28.00" data-inventory="3" type="button" onclick="addToCart(this,event,'sn89jGwM3o','Brand')">Add to Cart</button><button class="favorite" undefined data-favorite="sn89jGwM3o" type="button" onclick="toggleFavoriteProductButton(this,event)"></button></div></div><div class="regimen emphasis" data-filter="qd51bFv4Mf" data-subcategory="8ZYDPOskUK">Tonik</div><div class="item"><a href="/brand/product/DiBzxJ0Fjn/none" id="DiBzxJ0Fjn" data-filter="qd51bFv4Mf" data-subcategory="8ZYDPOskUK" data-regimen="" title="View Cult + King Tonik 6 oz"><div class="image"><img class="lazy" src="/_images/placeholder.jpg" data-src="https://vw-861.nodechef.com/parse/files/8F0n3JDzgQ3o3cQhSWcAv6bZKeoiWtE13GVTyLiC/f4b7b79886a3fa8d27cbc79538dc9dd8_cropped768x768.jpg" alt="Cult + King Tonik 6 oz Product Image"></div><div class="details"><h3 class="label">Tonik</h3><h4 class="label">6 oz</h4><h5>$35.00</h5></div></a><div class="actions"><button class="add" data-add="DiBzxJ0Fjn" data-total="35.00" data-inventory="3" type="button" onclick="addToCart(this,event,'DiBzxJ0Fjn','Brand')">Add to Cart</button><button class="favorite" undefined data-favorite="DiBzxJ0Fjn" type="button" onclick="toggleFavoriteProductButton(this,event)"></button></div></div><div class="item"><a href="/brand/product/0oTmipfy0B/none" id="0oTmipfy0B" data-filter="qd51bFv4Mf" 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"><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','Brand')">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="/brand/product/EAb99RN23X/none" id="EAb99RN23X" data-filter="qd51bFv4Mf" data-subcategory="8ZYDPOskUK" data-regimen="" title="View Cult + King Tonik Refill 12 oz"><div class="image"><img class="lazy" src="/_images/placeholder.jpg" data-src="https://vw-861.nodechef.com/parse/files/8F0n3JDzgQ3o3cQhSWcAv6bZKeoiWtE13GVTyLiC/8a7d8424132c33f41b76039c3312d71a_cropped768x768.jpg" alt="Cult + King Tonik Refill 12 oz Product Image"></div><div class="details"><h3 class="label">Tonik</h3><h4 class="label">Refill 12 oz</h4><h5>$52.00</h5></div></a><div class="actions"><button class="add" data-notify="EAb99RN23X" type="button" data-brand="Cult + King" data-product="Tonik Refill 12 oz" data-variant="EAb99RN23X" onclick="toggleNotifyPopover(this,event)">Notify When Available</button><button class="add hide" data-remove="EAb99RN23X" type="button" data-brand="Cult + King" data-product="Tonik Refill 12 oz" data-variant="EAb99RN23X" onclick="removeWhenAvailable(this,event)">Remove Notify</button><button class="favorite" undefined data-favorite="EAb99RN23X" type="button" onclick="toggleFavoriteProductButton(this,event)"></button></div></div><div class="item"><a href="/brand/product/tSnRDo3ocl/none" id="tSnRDo3ocl" data-filter="qd51bFv4Mf" data-subcategory="8ZYDPOskUK" data-regimen="" title="View Cult + King Tonik Refill 6 oz"><div class="image"><img class="lazy" src="/_images/placeholder.jpg" data-src="https://vw-861.nodechef.com/parse/files/8F0n3JDzgQ3o3cQhSWcAv6bZKeoiWtE13GVTyLiC/1f10cb03abd63d43e5b60c1ab0c0d18b_cropped768x768.jpg" alt="Cult + King Tonik Refill 6 oz Product Image"></div><div class="details"><h3 class="label">Tonik</h3><h4 class="label">Refill 6 oz</h4><h5>$28.00</h5></div></a><div class="actions"><button class="add" data-notify="tSnRDo3ocl" type="button" data-brand="Cult + King" data-product="Tonik Refill 6 oz" data-variant="tSnRDo3ocl" onclick="toggleNotifyPopover(this,event)">Notify When Available</button><button class="add hide" data-remove="tSnRDo3ocl" type="button" data-brand="Cult + King" data-product="Tonik Refill 6 oz" data-variant="tSnRDo3ocl" onclick="removeWhenAvailable(this,event)">Remove Notify</button><button class="favorite" undefined data-favorite="tSnRDo3ocl" type="button" onclick="toggleFavoriteProductButton(this,event)"></button></div></div><div class="regimen emphasis" data-filter="0yBAev1cG8" data-subcategory="qzrs1GMM6p">Vegan Balm</div><div class="item"><a href="/brand/product/VIb0RqvBl8/none" id="VIb0RqvBl8" data-filter="0yBAev1cG8" data-subcategory="qzrs1GMM6p" data-regimen="" title="View Cult + King Vegan Balm 3.0 oz"><div class="image"><img class="lazy" src="/_images/placeholder.jpg" data-src="https://vw-861.nodechef.com/parse/files/8F0n3JDzgQ3o3cQhSWcAv6bZKeoiWtE13GVTyLiC/769ee43bc9a1bc4b55d771be3a67f2f8_cropped768x768.jpg" alt="Cult + King Vegan Balm 3.0 oz Product Image"></div><div class="details"><h3 class="label">Vegan Balm</h3><h4 class="label">3.0 oz</h4><h5>$45.00</h5></div></a><div class="actions"><button class="add" data-add="VIb0RqvBl8" data-total="45.00" data-inventory="2" type="button" onclick="addToCart(this,event,'VIb0RqvBl8','Brand')">Add to Cart</button><button class="favorite" undefined data-favorite="VIb0RqvBl8" type="button" onclick="toggleFavoriteProductButton(this,event)"></button></div></div><div class="item"><a href="/brand/product/DwYwzb5eED/none" id="DwYwzb5eED" data-filter="0yBAev1cG8" 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"><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','Brand')">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="/brand/product/Y5WIvG2sbG/none" id="Y5WIvG2sbG" data-filter="0yBAev1cG8" data-subcategory="qzrs1GMM6p" data-regimen="" title="View Cult + King Vegan Balm Refill"><div class="image"><img class="lazy" src="/_images/placeholder.jpg" data-src="https://vw-861.nodechef.com/parse/files/8F0n3JDzgQ3o3cQhSWcAv6bZKeoiWtE13GVTyLiC/b4e70ac6420d22e31b158a4993e5eaaf_cropped768x768.jpg" alt="Cult + King Vegan Balm Refill Product Image"></div><div class="details"><h3 class="label">Vegan Balm</h3><h4 class="label">Refill</h4><h5>$36.00</h5></div></a><div class="actions"><button class="add" data-add="Y5WIvG2sbG" data-total="36.00" data-inventory="3" type="button" onclick="addToCart(this,event,'Y5WIvG2sbG','Brand')">Add to Cart</button><button class="favorite" undefined data-favorite="Y5WIvG2sbG" type="button" onclick="toggleFavoriteProductButton(this,event)"></button></div></div><div class="regimen emphasis" data-filter="0yBAev1cG8" data-subcategory="5cFxEHD4hD">Wash</div><div class="item"><a href="/brand/product/i8rNI0Lucm/none" id="i8rNI0Lucm" data-filter="0yBAev1cG8" data-subcategory="5cFxEHD4hD" data-regimen="" title="View Cult + King Wash Bar in Bamboo Soap Dish"><div class="image"><img class="lazy" src="/_images/placeholder.jpg" data-src="https://vw-861.nodechef.com/parse/files/8F0n3JDzgQ3o3cQhSWcAv6bZKeoiWtE13GVTyLiC/c86f5c1768a26d15ca1dbc7d53fdee3c_cropped768x768.jpg" alt="Cult + King Wash Bar in Bamboo Soap Dish Product Image"></div><div class="details"><h3 class="label">Wash</h3><h4 class="label">Bar in Bamboo Soap Dish</h4><h5>$28.00</h5></div></a><div class="actions"><button class="add" data-add="i8rNI0Lucm" data-total="28.00" data-inventory="2" type="button" onclick="addToCart(this,event,'i8rNI0Lucm','Brand')">Add to Cart</button><button class="favorite" undefined data-favorite="i8rNI0Lucm" type="button" onclick="toggleFavoriteProductButton(this,event)"></button></div></div><div class="item"><a href="/brand/product/sHY4DdLyhF/none" id="sHY4DdLyhF" data-filter="0yBAev1cG8" 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"><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><div class="item"><a href="/brand/product/WC5474n9mh/none" id="WC5474n9mh" data-filter="0yBAev1cG8" data-subcategory="5cFxEHD4hD" data-regimen="" title="View Cult + King Wash Mini"><div class="image"><img class="lazy" src="/_images/placeholder.jpg" data-src="https://vw-861.nodechef.com/parse/files/8F0n3JDzgQ3o3cQhSWcAv6bZKeoiWtE13GVTyLiC/cd9729050c1d6f979ebc98448e7e6544_cropped768x768.jpg" alt="Cult + King Wash Mini Product Image"></div><div class="details"><h3 class="label">Wash</h3><h4 class="label">Mini</h4><h5>$8.00</h5></div></a><div class="actions"><button class="add" data-add="WC5474n9mh" data-total="8.00" data-inventory="4" type="button" onclick="addToCart(this,event,'WC5474n9mh','Brand')">Add to Cart</button><button class="favorite" undefined data-favorite="WC5474n9mh" type="button" onclick="toggleFavoriteProductButton(this,event)"></button></div></div><div class="item"><a href="/brand/product/mS5DRpyMgQ/none" id="mS5DRpyMgQ" data-filter="0yBAev1cG8" data-subcategory="5cFxEHD4hD" data-regimen="" title="View Cult + King Wash Refill"><div class="image"><img class="lazy" src="/_images/placeholder.jpg" data-src="https://vw-861.nodechef.com/parse/files/8F0n3JDzgQ3o3cQhSWcAv6bZKeoiWtE13GVTyLiC/ceced76017e550d81e2c777094ad1814_cropped768x768.jpg" alt="Cult + King Wash Refill Product Image"></div><div class="details"><h3 class="label">Wash</h3><h4 class="label">Refill</h4><h5>$40.00</h5></div></a><div class="actions"><button class="add" data-add="mS5DRpyMgQ" data-total="40.00" data-inventory="1" type="button" onclick="addToCart(this,event,'mS5DRpyMgQ','Brand')">Add to Cart</button><button class="favorite" undefined data-favorite="mS5DRpyMgQ" type="button" onclick="toggleFavoriteProductButton(this,event)"></button></div></div> </div> <div class="source"> <div><div class="image brand"><img src="https://vw-861.nodechef.com/parse/files/8F0n3JDzgQ3o3cQhSWcAv6bZKeoiWtE13GVTyLiC/1c6159ac0f61e4d22ccbbe80d036877d_brand_cult-king_1_landscape.jpg" alt="Cult + King Brand Image"></div></div><div><div class="notes"><div class="note"><div class="title">About Cult + King</div><div class="preline">Cult + King is obsessed with ingredients on their fantastical quest to make the finest natural, botanical, sustainable haircare, skincare & shave products in the world, because they believe that natural, botanical ingredients inherently lead to real beauty. That means sweating the details of every single ingredient in their products: Purest essential oils. Ethically-harvested natural botanicals. Chock full of organic ingredients. More concentrated formulas because water is not used as a cheap filler, like so many other products do. pH balanced for skin and hair. All vegan with the exception of organic beeswax in one formulation. All Cult + King products are formaldehyde-free. Paraben-free. Gluten-free. Propylene glycol-free. Synthetic fragrance-free. Phythalate-free. TEA-, DEA and MEA-free. Mineral oil-free. Synthetic dye-free. Coal tar-free. Synthetic detergent-free. Animal testing-free. The cleanest products on the market. The less chemicals you put in and on your body, the better for you. All of their formulations are proudly and enthusiastically Made in the USA (using highest quality and sustainably sourced US and imported ingredients) in small batches for absolute quality control and good karma. </div></div></div></div> </div> </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 141 ="Brands"><h1><span> |
| 15 |
Error
On line 9265, column 1378 dd to Cart</button><button class="favorite" undefined data-favorite="QtXeDI9RCH" type="button" onclick="toggleFavoriteProductButton(this,event)"></butt |
| 16 |
Error
On line 9265, column 2255 dd to Cart</button><button class="favorite" undefined data-favorite="Q2HSpYRBE0" type="button" onclick="toggleFavoriteProductButton(this,event)"></butt |
| 17 |
Error
On line 9265, column 3159 dd to Cart</button><button class="favorite" undefined data-favorite="WVBMagtobR" type="button" onclick="toggleFavoriteProductButton(this,event)"></butt |
| 18 |
Error
On line 9265, column 4327 ove Notify</button><button class="favorite" undefined data-favorite="YxELVr7j2b" type="button" onclick="toggleFavoriteProductButton(this,event)"></butt |
| 19 |
Error
On line 9265, column 5587 ove Notify</button><button class="favorite" undefined data-favorite="gHVYswKTW9" type="button" onclick="toggleFavoriteProductButton(this,event)"></butt |
| 20 |
Error
On line 9265, column 6500 dd to Cart</button><button class="favorite" undefined data-favorite="GF58oirXxe" type="button" onclick="toggleFavoriteProductButton(this,event)"></butt |
| 21 |
Error
On line 9265, column 7401 dd to Cart</button><button class="favorite" undefined data-favorite="MAuY7vj4Rk" type="button" onclick="toggleFavoriteProductButton(this,event)"></butt |
| 22 |
Error
On line 9265, column 8317 dd to Cart</button><button class="favorite" undefined data-favorite="TJxgW5hf5t" type="button" onclick="toggleFavoriteProductButton(this,event)"></butt |
| 23 |
Error
On line 9265, column 9293 dd to Cart</button><button class="favorite" undefined data-favorite="uOlS1NC1qk" type="button" onclick="toggleFavoriteProductButton(this,event)"></butt |
| 24 |
Error
On line 9265, column 10173 dd to Cart</button><button class="favorite" undefined data-favorite="pbp94AiqBg" type="button" onclick="toggleFavoriteProductButton(this,event)"></butt |
| 25 |
Error
On line 9265, column 11074 dd to Cart</button><button class="favorite" undefined data-favorite="mjJDgLdeCZ" type="button" onclick="toggleFavoriteProductButton(this,event)"></butt |
| 26 |
Error
On line 9265, column 12237 ove Notify</button><button class="favorite" undefined data-favorite="RH98s9NC31" type="button" onclick="toggleFavoriteProductButton(this,event)"></butt |
| 27 |
Error
On line 9265, column 13217 dd to Cart</button><button class="favorite" undefined data-favorite="9pKlGuUpDc" type="button" onclick="toggleFavoriteProductButton(this,event)"></butt |
| 28 |
Error
On line 9265, column 14350 ove Notify</button><button class="favorite" undefined data-favorite="jKEbixOfip" type="button" onclick="toggleFavoriteProductButton(this,event)"></butt |
| 29 |
Error
On line 9265, column 15368 dd to Cart</button><button class="favorite" undefined data-favorite="myqGwQoqCA" type="button" onclick="toggleFavoriteProductButton(this,event)"></butt |
| 30 |
Error
On line 9265, column 16293 dd to Cart</button><button class="favorite" undefined data-favorite="it9X1kkFP1" type="button" onclick="toggleFavoriteProductButton(this,event)"></butt |
| 31 |
Error
On line 9265, column 17236 dd to Cart</button><button class="favorite" undefined data-favorite="ZaXeI6cCDb" type="button" onclick="toggleFavoriteProductButton(this,event)"></butt |
| 32 |
Error
On line 9265, column 18194 dd to Cart</button><button class="favorite" undefined data-favorite="IiAqGGopR1" type="button" onclick="toggleFavoriteProductButton(this,event)"></butt |
| 33 |
Error
On line 9265, column 19137 dd to Cart</button><button class="favorite" undefined data-favorite="ld7fmfovum" type="button" onclick="toggleFavoriteProductButton(this,event)"></butt |
| 34 |
Error
On line 9265, column 20095 dd to Cart</button><button class="favorite" undefined data-favorite="63lXBxvym4" type="button" onclick="toggleFavoriteProductButton(this,event)"></butt |
| 35 |
Error
On line 9265, column 21029 dd to Cart</button><button class="favorite" undefined data-favorite="fdHKHvQSzB" type="button" onclick="toggleFavoriteProductButton(this,event)"></butt |
| 36 |
Error
On line 9265, column 21978 dd to Cart</button><button class="favorite" undefined data-favorite="z5YYVXCbvm" type="button" onclick="toggleFavoriteProductButton(this,event)"></butt |
| 37 |
Error
On line 9265, column 22951 dd to Cart</button><button class="favorite" undefined data-favorite="Ff3E7GkKl1" type="button" onclick="toggleFavoriteProductButton(this,event)"></butt |
| 38 |
Error
On line 9265, column 23939 dd to Cart</button><button class="favorite" undefined data-favorite="OxbBrjp6re" type="button" onclick="toggleFavoriteProductButton(this,event)"></butt |
| 39 |
Error
On line 9265, column 24927 dd to Cart</button><button class="favorite" undefined data-favorite="wGkyaFd8Ox" type="button" onclick="toggleFavoriteProductButton(this,event)"></butt |
| 40 |
Error
On line 9265, column 26070 ove Notify</button><button class="favorite" undefined data-favorite="pBObEuXE9c" type="button" onclick="toggleFavoriteProductButton(this,event)"></butt |
| 41 |
Error
On line 9265, column 27248 ove Notify</button><button class="favorite" undefined data-favorite="a7RXyd7J7u" type="button" onclick="toggleFavoriteProductButton(this,event)"></butt |
| 42 |
Error
On line 9265, column 28426 ove Notify</button><button class="favorite" undefined data-favorite="ewBV2YGcl3" type="button" onclick="toggleFavoriteProductButton(this,event)"></butt |
| 43 |
Error
On line 9265, column 29402 dd to Cart</button><button class="favorite" undefined data-favorite="QOL4N3k45B" type="button" onclick="toggleFavoriteProductButton(this,event)"></butt |
| 44 |
Error
On line 9265, column 30282 dd to Cart</button><button class="favorite" undefined data-favorite="YPjlIU20Ou" type="button" onclick="toggleFavoriteProductButton(this,event)"></butt |
| 45 |
Error
On line 9265, column 31278 dd to Cart</button><button class="favorite" undefined data-favorite="ts6jBrrsJ9" type="button" onclick="toggleFavoriteProductButton(this,event)"></butt |
| 46 |
Error
On line 9265, column 32173 dd to Cart</button><button class="favorite" undefined data-favorite="Nhkdk1Vykb" type="button" onclick="toggleFavoriteProductButton(this,event)"></butt |
| 47 |
Error
On line 9265, column 33074 dd to Cart</button><button class="favorite" undefined data-favorite="sn89jGwM3o" type="button" onclick="toggleFavoriteProductButton(this,event)"></butt |
| 48 |
Error
On line 9265, column 34050 dd to Cart</button><button class="favorite" undefined data-favorite="DiBzxJ0Fjn" type="button" onclick="toggleFavoriteProductButton(this,event)"></butt |
| 49 |
Error
On line 9265, column 34930 dd to Cart</button><button class="favorite" undefined data-favorite="0oTmipfy0B" type="button" onclick="toggleFavoriteProductButton(this,event)"></butt |
| 50 |
Error
On line 9265, column 36098 ove Notify</button><button class="favorite" undefined data-favorite="EAb99RN23X" type="button" onclick="toggleFavoriteProductButton(this,event)"></butt |
| 51 |
Error
On line 9265, column 37261 ove Notify</button><button class="favorite" undefined data-favorite="tSnRDo3ocl" type="button" onclick="toggleFavoriteProductButton(this,event)"></butt |
| 52 |
Error
On line 9265, column 38263 dd to Cart</button><button class="favorite" undefined data-favorite="VIb0RqvBl8" type="button" onclick="toggleFavoriteProductButton(this,event)"></butt |
| 53 |
Error
On line 9265, column 39158 dd to Cart</button><button class="favorite" undefined data-favorite="DwYwzb5eED" type="button" onclick="toggleFavoriteProductButton(this,event)"></butt |
| 54 |
Error
On line 9265, column 40059 dd to Cart</button><button class="favorite" undefined data-favorite="Y5WIvG2sbG" type="button" onclick="toggleFavoriteProductButton(this,event)"></butt |
| 55 |
Error
On line 9265, column 41088 dd to Cart</button><button class="favorite" undefined data-favorite="i8rNI0Lucm" type="button" onclick="toggleFavoriteProductButton(this,event)"></butt |
| 56 |
Error
On line 9265, column 42246 ove Notify</button><button class="favorite" undefined data-favorite="sHY4DdLyhF" type="button" onclick="toggleFavoriteProductButton(this,event)"></butt |
| 57 |
Error
On line 9265, column 43121 dd to Cart</button><button class="favorite" undefined data-favorite="WC5474n9mh" type="button" onclick="toggleFavoriteProductButton(this,event)"></butt |
| 58 |
Error
On line 9265, column 44004 dd to Cart</button><button class="favorite" undefined data-favorite="mS5DRpyMgQ" type="button" onclick="toggleFavoriteProductButton(this,event)"></butt |
| 59 |
Info
On line 9331, column 41 <a name="stay-connected"></a> |
| 60 |
Error
On line 9335, column 212 <input value="" id="connectTel" type="tel" placeholder="Mobile Number" onkeyup="connectKeyUp(this,event)" required autocomplete="tel" autocorrect="off" autocapitalize="off" spellcheck="false"><butto |
| 61 |
Error
On line 9419, column 28 nt)"> <div class="group main"> < |
| 62 |
Error
On line 9441, column 30 ERING --> </div><div class="group main"> < |
| 63 |
Error
On line 9455, column 30 llip;</a> </div><div class="group main"> < |
| 64 |
Error
On line 9470, column 45 div> --> <div class="group brand" id="menuShopBrand"> <di |
| 65 |
Error
On line 9474, column 51 </div> <div class="group category" id="menuShopCategory"> <di |
| 66 |
Error
On line 9478, column 53 </div> <div class="group clearance" id="menuShopClearance"> <di |
| 67 |
Error
On line 9482, column 55 </div> <div class="group collection" id="menuShopCollection"> <di |
| 68 |
Error
On line 9486, column 59 </div> <div class="group collection" id="menuShopClassification"> <di |
| 69 |
Error
On line 9494, column 29 nt)"> <div class="group flags"> < |
| 70 |
Error
On line 9511, column 220 <input value="" id="notifyPopoverTel" type="tel" placeholder="Mobile Number" onkeyup="notifyPopoverKeyUp(this,event)" required autocomplete="tel" autocorrect="off" autocapitalize="off" spellcheck="false"> |
β