File: //www/备份的/jitan.asia/index.html
<!doctype html>
<html class="no-js" lang="en-US">
<head>
<!-- Begin SeaHorse start -->
<style spz-runtime>
/* runtime-start */[hidden]{display:none!important}.i-spzhtml-element{display:inline-block}[layout=nodisplay]:not(.i-spzhtml-element){display:none!important}.i-spzhtml-layout-fixed,[layout=fixed][width][height]:not(.i-spzhtml-layout-fixed){display:inline-block;position:relative}.i-spzhtml-layout-responsive,[layout=responsive][width][height]:not(.i-spzhtml-layout-responsive),[width][height][heights]:not([layout]):not(.i-spzhtml-layout-responsive),[width][height][sizes]:not(img):not([layout]):not(.i-spzhtml-layout-responsive){display:block;position:relative}.i-spzhtml-layout-intrinsic,[layout=intrinsic][width][height]:not(.i-spzhtml-layout-intrinsic){display:inline-block;max-width:100%;position:relative}[layout=intrinsic][width][height].i-spzhtml-layout-intrinsic .i-spzhtml-fill-content{min-width:auto;width:auto}.i-spzhtml-layout-intrinsic .i-spzhtml-sizer{max-width:100%}.i-spzhtml-intrinsic-sizer{display:block!important;max-width:100%}.i-spzhtml-layout-container,.i-spzhtml-layout-fixed-height,.i-spzhtml-layout-logic,[layout=container],[layout=fixed-height][height]:not(.i-spzhtml-layout-fixed-height){display:block;position:relative}.i-spzhtml-layout-fill,.i-spzhtml-layout-fill.i-spzhtml-notbuilt,[layout=fill]:not(.i-spzhtml-layout-fill){bottom:0;display:block;left:0;overflow:hidden!important;position:absolute;right:0;top:0}.i-spzhtml-layout-flex-item,[layout=flex-item]:not(.i-spzhtml-layout-flex-item){display:block;flex:1 1 auto;position:relative}.i-spzhtml-layout-size-defined{overflow:hidden!important}.i-spzhtml-layout-awaiting-size{bottom:auto!important;position:absolute!important;top:auto!important}i-spzhtml-sizer{display:block!important}@supports (aspect-ratio:1/1){i-spzhtml-sizer.i-spzhtml-disable-ar{display:none!important}}.i-spzhtml-fill-content{display:block;height:0;margin:auto;max-height:100%;max-width:100%;min-height:100%;min-width:100%;width:0}.i-spzhtml-layout-size-defined .i-spzhtml-fill-content{bottom:0;left:0;position:absolute;right:0;top:0}.i-spzhtml-replaced-content{border:none!important;padding:0!important}.i-spzhtml-unresolved{overflow:hidden!important;position:relative}.i-spzhtml-notbuilt,[layout]:not(.i-spzhtml-element):not([i-spzhtml-ssr]),[width][height][heights]:not([layout]):not(.i-spzhtml-element):not([i-spzhtml-ssr]),[width][height][sizes]:not(img):not([layout]):not(.i-spzhtml-element):not([i-spzhtml-ssr]){color:transparent!important;overflow:hidden!important;position:relative}.i-spzhtml-notbuilt:not(.i-spzhtml-layout-container):not([i-spzhtml-ssr])>*,[layout]:not([layout=container]):not(.i-spzhtml-element):not([i-spzhtml-ssr])>*,[width][height][heights]:not([layout]):not(.i-spzhtml-element):not([i-spzhtml-ssr])>*,[width][height][sizes]:not([layout]):not(.i-spzhtml-element):not([i-spzhtml-ssr])>*{display:none}[layout]:not([layout=container]):not(.i-spzhtml-element):not([i-spzhtml-ssr]),[layout]:not([layout=container]):not([manual]):not([i-spzhtml-ssr]).i-spzhtml-notbuilt,[width][height][heights]:not([layout]):not(.i-spzhtml-element):not([i-spzhtml-ssr]),[width][height][sizes]:not(img):not([layout]):not(.i-spzhtml-element):not([i-spzhtml-ssr]){color:transparent!important;line-height:0!important}spz-img:not(.i-spzhtml-element)[i-spzhtml-ssr]>img.i-spzhtml-fill-content{display:block}.i-spzhtml-ghost{visibility:hidden!important}.i-spzhtml-element>[placeholder],[layout]:not(.i-spzhtml-element)>[placeholder],[width][height][heights]:not([layout]):not(.i-spzhtml-element)>[placeholder],[width][height][sizes]:not([layout]):not(.i-spzhtml-element)>[placeholder]{display:block;line-height:normal}.i-spzhtml-element>[placeholder].hidden,.i-spzhtml-element>[placeholder].spz-hidden{visibility:hidden}.i-spzhtml-layout-container>[placeholder].hidden,.i-spzhtml-layout-container>[placeholder].spz-hidden{display:none}.i-spzhtml-layout-size-defined>[placeholder]{bottom:0!important;left:0!important;position:absolute!important;right:0!important;top:0!important;z-index:1}spz-img.i-spzhtml-ssr:not(.i-spzhtml-element)>[placeholder]{z-index:auto}.i-spzhtml-notbuilt>[placeholder]{display:block!important}template{display:none!important}[visible-when-invalid]:not(.visible),form [submit-error],form [submit-success],form [submitting]{display:none}[layout=intrinsic][i-spzhtml-unheight-layout] img{height:auto!important;position:relative!important;width:100%!important}html{overflow-x:hidden!important}html,html body{height:auto!important}html body{margin:0!important}body{text-size-adjust:100%}html.i-spzhtml-doc{touch-action:pan-y pinch-zoom}html.i-spzhtml-doc>body{overflow:visible!important;position:relative!important}.i-spzhtml-scroll-disabled{overflow-x:hidden!important;overflow-y:hidden!important}.i-spzhtml-carousel-scroll-disabled{touch-action:none;touch-action:pan-y}spz-list [role=loading]:not([pagination]),spz-list [role=loading]:not([scroll]),spz-pagination>[role=arrow]{display:none}spz-carousel{display:flex!important}spz-img[layout=responsive][auto-fit]{width:100%}spz-accordion>section>:last-child{display:none!important}spz-accordion>section[expanded]>:last-child{display:block!important}spz-menu [spz-menu-root]{display:flex;flex-wrap:nowrap}spz-carousel:not([dom-mounted]) .i-spzhtml-slides-container>:not(.i-spzhtml-slide-item-show),spz-carousel:not([dom-mounted]) [next],spz-carousel:not([dom-mounted]) [pre],spz-carousel:not([dom-mounted]):not([i-spzhtml-ssr])>*{display:none}spz-carousel .i-spzhtml-slides-container{box-sizing:content-box;transform:translate(0);z-index:1}spz-carousel .i-spzhtml-slide-item,spz-carousel .i-spzhtml-slides-container{display:flex;height:100%;position:relative;transition-property:transform;width:100%}spz-carousel .i-spzhtml-slide-item{flex-shrink:0}spz-carousel .i-spzhtml-slide-item>*{overflow:hidden!important;width:100%}spz-carousel[effect=fade] .i-spzhtml-slides-container .i-spzhtml-slide-item{display:none;opacity:0}spz-carousel[effect=fade] .i-spzhtml-slides-container .i-spzhtml-slide-item-show{display:flex;opacity:1!important}.i-spzhtml-tab-panel:not([active]),spz-menu [spz-menu-submenu]{display:none}spz-menu>*{opacity:0;pointer-events:none}spz-menu[finish]>*{opacity:1!important;pointer-events:auto!important}spz-list[display-in-order] [role=listitem] spz-img img{opacity:0;transition:opacity .5s linear}spz-dropdown{display:none}spz-script{font-size:0}ljs-list [role=loading]:not([pagination]),ljs-list [role=loading]:not([scroll]),ljs-pagination>[role=arrow]{display:none}ljs-carousel{display:flex!important}ljs-img[layout=responsive][auto-fit]{width:100%}ljs-accordion>section>:last-child{display:none!important}ljs-accordion>section[expanded]>:last-child{display:block!important}[layout=container]:not(.i-spzhtml-built){color:inherit!important}ljs-menu [spz-menu-root]{display:flex;flex-wrap:nowrap}ljs-menu>*{opacity:0;pointer-events:none}ljs-menu[finish]>*{opacity:1!important;pointer-events:auto!important}ljs-list[display-in-order] [role=listitem] ljs-img img{opacity:0;transition:opacity .5s linear}ljs-script{font-size:0}ljs-img:not(.i-spzhtml-element)[i-spzhtml-ssr]>img.i-spzhtml-fill-content{display:block}ljs-img.i-spzhtml-ssr:not(.i-spzhtml-element)>[placeholder]{z-index:auto}ljs-carousel:not([dom-mounted]) .i-spzhtml-slides-container>:not(.i-spzhtml-slide-item-show),ljs-carousel:not([dom-mounted]) [next],ljs-carousel:not([dom-mounted]) [pre],ljs-carousel:not([dom-mounted]):not([i-spzhtml-ssr])>*{display:none}ljs-carousel .i-spzhtml-slides-container{box-sizing:content-box;transform:translate(0);z-index:1}ljs-carousel .i-spzhtml-slide-item,ljs-carousel .i-spzhtml-slides-container{display:flex;height:100%;position:relative;transition-property:transform;width:100%}ljs-carousel .i-spzhtml-slide-item{flex-shrink:0}ljs-carousel .i-spzhtml-slide-item>*{overflow:hidden!important;width:100%}ljs-carousel[effect=fade] .i-spzhtml-slides-container .i-spzhtml-slide-item{display:none;opacity:0}ljs-carousel[effect=fade] .i-spzhtml-slides-container .i-spzhtml-slide-item-show{display:flex;opacity:1!important}ljs-menu [spz-menu-submenu],ljs-tabs:not([finish]) [role=tabpanel],spz-tabs:not([finish]) [role=tabpanel]{display:none}/* runtime-end */
</style>
<script type="text/javascript">
/* env-start */!function(e){var t={};function n(r){if(t[r])return t[r].exports;var o=t[r]={i:r,l:!1,exports:{}};return e[r].call(o.exports,o,o.exports,n),o.l=!0,o.exports}n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)n.d(r,o,function(t){return e[t]}.bind(null,o));return r},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="/",n(n.s=6)}({6:function(e,t){window.seahorse_env={"flag_plugin_loader":"","v1_spz_version":"v1.0.43"}}});/* env-end */
</script>
<!-- End SeaHorse start -->
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no,viewport-fit=cover">
<title>100% Pure Himalayan Shilajit Resin High Potency for Men & Women 75 Servings for Energy Boost & Immune Support - XDX</title><link rel="preload" href="//cdn.shoplazza.com/818563371d68645565970df0b5cea2f5_720x.png" as="image" media="(max-width: 750px)">
<link rel="preload" href="//cdn.shoplazza.com/818563371d68645565970df0b5cea2f5_900x.png" as="image" media="(min-width: 750.01px) and (max-width: 960px)">
<link rel="preload" href="//cdn.shoplazza.com/818563371d68645565970df0b5cea2f5_1024x.png" as="image" media="(min-width: 960.01px) and (max-width: 1420px)">
<link rel="preload" href="//cdn.shoplazza.com/818563371d68645565970df0b5cea2f5_2056x.png" as="image" media="(min-width: 1420.01px) and (max-width: 2560px)">
<link rel="preload" href="//cdn.shoplazza.com/818563371d68645565970df0b5cea2f5.png" as="image" media="(min-width: 2560.01px)">
<meta name="keywords" content="AngleFaceUS">
<meta name="description" content="About this item
PURE HIMALAYAN SHILAJIT RESIN: shilajit resin sourced from the untouched heights of the Himalayan mountains. It naturally exudes from ancient rocks, guaranteeing unparalleled quality and authenticity. Experience the potency and purity of this ancient Ayurvedic treasure, straight from the Himalayas, for ">
<meta http-equiv="x-dns-prefetch-control" content="on">
<link rel="dns-prefetch" href="//static.shoplazza.com/">
<link rel="preconnect" href="//static.shoplazza.com/">
<link rel="dns-prefetch" href="//cdn.shoplazza.com/">
<link rel="preconnect" href="//cdn.shoplazza.com/">
<link rel="canonical" href="https://anglefaceus.myshoplaza.com/products/100-pure-himalayan-shilajit-resin-high-potency-for-men-women-75-servings-for-energy-boost-immune-support-xdx">
<link rel="shortcut icon" href="">
<meta name="theme-color" content="">
<meta name="format-detection" content="telephone=no, email=no">
<link href="https://tk.lazbbq.asia/ym/002/static/font/S6uyw4BMUTPHjxAwXiWtFCfQ7A.woff2" as="font" type="font/woff2" crossorigin="anonymous" rel="preload">
<link href="https://tk.lazbbq.asia/ym/002/static/font/S6uyw4BMUTPHjxAwXiWtFCfQ7A.woff2" as="font" type="font/woff2" crossorigin="anonymous" rel="preload">
<meta property="og:site_name" content="AngleFaceUS">
<meta property="og:url" content="https://anglefaceus.myshoplaza.com/products/100-pure-himalayan-shilajit-resin-high-potency-for-men-women-75-servings-for-energy-boost-immune-support-xdx">
<meta property="og:title" content="100% Pure Himalayan Shilajit Resin High Potency for Men & Women 75 Servings for Energy Boost & Immune Support - XDX">
<meta property="og:type" content="product">
<meta property="og:description" content=" About this item PURE HIMALAYAN SHILAJIT RESIN: shilajit resin sourced from the untouched heights of the Himalayan mountains. It naturally exudes from ancient rocks, guaranteeing unparalleled quality and authenticity. Experience the potency and purity of this ancient Ayurvedic treasure, straight from the Himalayas, for a truly exceptional wellness journey with each drop. REVITALISED ENERGY AND VITALITY: Harness the power of our Pure Himalayan shilajit resin for a renewed sense of energy and vitality. Ayurvedic medicine has used its strong powers for ages to boost stamina, promote robust health, and restore your general well-being. Discover the ageless knowledge of this natural energizer with our himalayan shilajit resin. NUTRIENT ABSORPTION BOOST: Our Shilajit Pure Himalayan Organic resin is rich in fulvic acid, a natural compound that enhances your body's ability to absorb vital nutrients. It's an ideal addition to your daily health routine for improved nutrient uptake. COMPLETE WELLNESS ENHANCEMENT: Better Alt Pure Himalayan Shilajit resin authentically elevates your overall well-being by rejuvenating physical vitality, sharpening mental clarity, and fortifying your immune system. It's an authentic addition to your daily health routine. PREMIUM QUALITY EASY PREPARATION: Our Pure Himalayan shilajit supplement is presented in its pure, minimally processed form, free from heavy metals, fillers, additives, and suitable for vegans. Using the included copper spoon, simply scoop a pea-sized amount and stir it into water or milk until fully dissolved, making it a hassle-free addition to your daily routine. Use it daily for 2-3 months for better results 365-day money-back guaranteeWe offer a 365-day money-back guarantee, allowing you to try our product with complete peace of mind. If, for any reason, you are not satisfied with your purchase within 365 days, simply contact us and we'll issue a full refund, no questions asked. WHY US? We workdirectly with manufacturersall over the world to ensurethe best qualityof our products. We haveQuality Control departmentwhich help us to keep our promise! Priceis alwayscompetitive. Awesome Customer Service Amazing productsalong withHigh Quality Readreviewsfrom our lovely customers CLICK ADD TO CART TO ENJOY THE COMFY! *Limited Items Available In Stock! Not Sold In Stores* The Checkout Process is Guaranteed to be 100% Safe and Secure with Visa, Mastercard, AMex, Discover, Apple Pay or PayPal. 100% Satisfaction Guaranteed With Every Order MONEY BACK GUARANTEE We want you to be 100% satisfied with the products you buy from us. If for ANY reason you are not satisfied with your purchase, we offer iron-clad money back guarantee. ⭐I Wish You A Happy Shopping, THANK YOU⭐ Click the 'Add to Cart' and 'Buy Now' button to GET YOURS! ">
<!-- snippets/setSelectedVariant not found or render error -->
<meta property="product:price:amount" content="29.9">
<meta property="product:price:currency" content="USD">
<meta property="product:condition" content="new">
<meta property="product:availability" content="in stock">
<meta property="product:retailer_item_id" content="7f589715-109e-400b-9283-af937fcbb0af">
<meta property="og:image" content="http://cdn.shoplazza.com/818563371d68645565970df0b5cea2f5.png">
<meta property="og:image:secure_url" content="https://cdn.shoplazza.com/818563371d68645565970df0b5cea2f5.png">
<meta property="og:image:width" content="1004">
<meta property="og:image:height" content="915">
<meta property="og:image:alt" content="">
<meta name="twitter:site" content="@">
<meta name="twitter:card" content="summary_large_image">
<meta name="twitter:title" content="100% Pure Himalayan Shilajit Resin High Potency for Men & Women 75 Servings for Energy Boost & Immune Support - XDX">
<meta name="twitter:description" content=" About this item PURE HIMALAYAN SHILAJIT RESIN: shilajit resin sourced from the untouched heights of the Himalayan mountains. It naturally exudes from ancient rocks, guaranteeing unparalleled quality and authenticity. Experience the potency and purity of this ancient Ayurvedic treasure, straight from the Himalayas, for a truly exceptional wellness journey with each drop. REVITALISED ENERGY AND VITALITY: Harness the power of our Pure Himalayan shilajit resin for a renewed sense of energy and vitality. Ayurvedic medicine has used its strong powers for ages to boost stamina, promote robust health, and restore your general well-being. Discover the ageless knowledge of this natural energizer with our himalayan shilajit resin. NUTRIENT ABSORPTION BOOST: Our Shilajit Pure Himalayan Organic resin is rich in fulvic acid, a natural compound that enhances your body's ability to absorb vital nutrients. It's an ideal addition to your daily health routine for improved nutrient uptake. COMPLETE WELLNESS ENHANCEMENT: Better Alt Pure Himalayan Shilajit resin authentically elevates your overall well-being by rejuvenating physical vitality, sharpening mental clarity, and fortifying your immune system. It's an authentic addition to your daily health routine. PREMIUM QUALITY EASY PREPARATION: Our Pure Himalayan shilajit supplement is presented in its pure, minimally processed form, free from heavy metals, fillers, additives, and suitable for vegans. Using the included copper spoon, simply scoop a pea-sized amount and stir it into water or milk until fully dissolved, making it a hassle-free addition to your daily routine. Use it daily for 2-3 months for better results 365-day money-back guaranteeWe offer a 365-day money-back guarantee, allowing you to try our product with complete peace of mind. If, for any reason, you are not satisfied with your purchase within 365 days, simply contact us and we'll issue a full refund, no questions asked. WHY US? We workdirectly with manufacturersall over the world to ensurethe best qualityof our products. We haveQuality Control departmentwhich help us to keep our promise! Priceis alwayscompetitive. Awesome Customer Service Amazing productsalong withHigh Quality Readreviewsfrom our lovely customers CLICK ADD TO CART TO ENJOY THE COMFY! *Limited Items Available In Stock! Not Sold In Stores* The Checkout Process is Guaranteed to be 100% Safe and Secure with Visa, Mastercard, AMex, Discover, Apple Pay or PayPal. 100% Satisfaction Guaranteed With Every Order MONEY BACK GUARANTEE We want you to be 100% satisfied with the products you buy from us. If for ANY reason you are not satisfied with your purchase, we offer iron-clad money back guarantee. ⭐I Wish You A Happy Shopping, THANK YOU⭐ Click the 'Add to Cart' and 'Buy Now' button to GET YOURS! ">
<link href="//static.shoplazza.com/cuttlefish/v1/spz.min.js" as="script" type="text/javascript" crossorigin="anonymous" rel="preload">
<style>
:root {
--page-width-base: 1440px;
--page-width: var(--page-width-base);
--page-spacing: 16px;
--type-text-font-size: 14px;
--type-heading-font-size: 30px;
--type-nav-font-size: 16px;
--color-general-bg: #FFFFFF;
--color-general-heading-text: #202020;
--color-product-title-text: #202020;
--color-general-text: #202020;
--color-price-text: #EB391B;
--color-compare-at-price-text: rgba(32,32,32,.6);
--color-save-price-text: #EB391B;
--color-custom-label-text: #E75D32;
--color-custom-label-bg: #FFF9F1;
--color-btn-bg: #202020;
--color-btn-text: #FFFFFF;
--color-label-bg: rgba(198, 156, 109, 1);
--color-sold-label-bg: #FFFFFF;
--color-sold-label-text: #202020;
--color-announcement-bg: #FFFFFF;
--color-announcement-text: #000000;
--color-cart-dot-bg: rgba(198, 156, 109, 1);
--color-header-bg: #FFFFFF;
--color-header-text: #202020;
--color-header-search-bg: rgba(230, 230, 230, 0.4);
--color-header-search-text: #202020;
--color-header-search-btn-bg: #202020;
--color-menu-bg: #F8F8F8;
--color-menu-item-bg: #FFFFFF;
--color-menu-item-text: #202020;
--color-actived-menu-item-bg: rgba(198, 156, 109, 1);
--color-footer-bg: rgba(40, 40, 40, 1);
--color-footer-border: rgba(230, 230, 230, 0.1);
--color-footer-text: rgba(255, 255, 255, 1);
--color-newsletter-border: #E6E6E6;
--color-newsletter-bg: #FFFFFF;
--color-newsletter-text: #202020;
--color-newsletter-btn-bg: #202020;
--color-label-text: #FFFFFF;
--color-cart-dot-text: #FFFFFF;
--color-header-search-btn-text: #FFFFFF;
--color-actived-menu-item-text: #FFFFFF;
--color-newsletter-btn-text: #FFFFFF;
--color-countdown-bg: rgba(248, 248, 248, 0.8);
--color-countdown-time-text: #EA3F36;
/* 颜色相关 */
--color-body-bg: #FFFFFF;
--color-body-bg-80: rgba(255, 255, 255, 0.8);
--color-product-title-text: #202020;
--color-primary-btn-bg: #202020;
--color-primary-btn-bg-10: rgba(32, 32, 32, 0.1);
--color-primary-btn-text: #FFFFFF;
--color-body-text: #202020;
--color-body-text-50: rgba(32, 32, 32, 0.5);
--color-body-text-60: rgba(32, 32, 32, 0.6);
--color-body-text-70: rgba(32, 32, 32, 0.7);
--color-body-text-75: rgba(32, 32, 32, 0.75);
--color-body-text-80: rgba(32, 32, 32, 0.8);
--color-body-text-85: rgba(32, 32, 32, 0.85);
--color-body-text-90: rgba(32, 32, 32, 0.9);
--color-menu-item-text-70: rgba(32, 32, 32, 0.7);
--color-menu-item-text-80: rgba(32, 32, 32, 0.8);
--color-menu-item-text-90: rgba(32, 32, 32, 0.9);
--color-actived-menu-item-bg: rgba(198, 156, 109, 1);
--color-actived-menu-item-text: #FFFFFF;
--color-header-search-text-50: rgba(32, 32, 32, 0.5);
--color-header-text-70: rgba(32, 32, 32, 0.7);
/* 边框颜色 */
--color-border: #E6E6E6;
--color-border-35: rgba(230, 230, 230, 0.35);
--color-border-60: rgba(230, 230, 230, 0.6);
/* 圆角 */
--global-border-radius: 2px;
--global-small-border-radius: 2px;
--global-fixed-border-radius: 2px;
--btn-border-radius: 2px;
--btn-fixed-border-radius: 2px;
/* 字体相关 */
--font-body-family: Lato, sans-serif;
--font-body-style: normal;
--font-body-weight: 400;
--font-heading-family: Lato, sans-serif;
--font-heading-style: normal;
--font-heading-weight: 400;
/* 倒计时 */
--color-countdown-bg: rgba(248, 248, 248, 0.8);
--color-countdown-time-text: #EA3F36;
/* mask */
--color-mask-bg: rgba(0, 0, 0, 0.3);
/* 提供给插件 */
--breakpoint: 960;
/* z-index */
--z-index-dropdown: 1000;
--z-index-sticky: 1020;
--z-index-fixed: 1030;
--z-index-modal-backdrop: 1040;
--z-index-modal: 1050;
--z-index-popover: 1060;
--z-index-tooltip: 1070;
}
@media (min-width: 960px) {
:root {
--page-spacing: 100px;
/* 圆角 */
--global-border-radius: 2px;
--global-small-border-radius: 2px;
}
}
.type-text-font-family {
font-family: var(--font-body-family);
font-style: var(--font-body-style);
font-weight: var(--font-body-weight);
}
.type-heading-font-family {
font-family: var(--font-heading-family);
font-style: var(--font-heading-style);
font-weight: var(--font-heading-weight);
}
/* latin-ext */@font-face { font-family: 'Lato'; font-style: normal; font-weight: 400; font-display: swap; src: url(https://tk.lazbbq.asia/ym/002/static/font/S6uyw4BMUTPHjxAwXiWtFCfQ7A.woff2) format('woff2'); unicode-range: U+0100-02AF, U+0304, U+0308, U+0329, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;}/* latin */@font-face { font-family: 'Lato'; font-style: normal; font-weight: 400; font-display: swap; src: url(https://tk.lazbbq.asia/ym/002/static/font/S6uyw4BMUTPHjx4wXiWtFCc.woff2) format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
/* latin-ext */@font-face { font-family: 'Lato'; font-style: normal; font-weight: 400; font-display: swap; src: url(https://tk.lazbbq.asia/ym/002/static/font/S6uyw4BMUTPHjxAwXiWtFCfQ7A.woff2) format('woff2'); unicode-range: U+0100-02AF, U+0304, U+0308, U+0329, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;}/* latin */@font-face { font-family: 'Lato'; font-style: normal; font-weight: 400; font-display: swap; src: url(https://tk.lazbbq.asia/ym/002/static/font/S6uyw4BMUTPHjx4wXiWtFCc.woff2) format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
</style>
<style>
html {
-ms-text-size-adjust: 100%;
-webkit-text-size-adjust: 100%;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
-webkit-tap-highlight-color: transparent;
}
body {
padding-bottom: constant(safe-area-inset-bottom);
padding-bottom: env(safe-area-inset-bottom);
-webkit-tap-highlight-color: transparent;
}
*,
:after,
:before {
box-sizing: border-box;
}
*:focus {
outline: none;
}
/* Chrome, Safari, Edge, Opera */
input::-webkit-outer-spin-button,
input::-webkit-inner-spin-button {
-webkit-appearance: none;
margin: 0;
}
/* Firefox */
input[type='number'] {
-moz-appearance: textfield;
}
input[type='text'],
input[type='email'],
input[type='password'],
input:not([type]),
textarea {
appearance: none;
-webkit-appearance: none;
}
input,
textarea,
button,
select {
font-family: inherit;
font-style: inherit;
font-weight: inherit;
font-size: inherit;
color: var(--color-body-text);
}
input[type='button'],
button,
select,
label {
cursor: pointer;
}
/* theme base class */
html body.nova {
color: var(--color-body-text);
font-size: var(--type-text-font-size);
background-color: var(--color-body-bg);
}
body > .page_container{
min-height: 100vh;
display: flex;
flex-direction: column;
}
body > .page_container > .main-content{
margin-bottom: auto;
}
.page-container {
max-width: var(--page-width);
padding: 0 var(--page-spacing);
margin: 0 auto;
}
@media (max-width: 959.98px) {
.md\:page-container {
max-width: var(--page-width);
padding: 0 var(--page-spacing);
margin: 0 auto;
}
}
@media (min-width: 960px) {
.lg\:page-container {
max-width: var(--page-width);
padding: 0 var(--page-spacing);
margin: 0 auto;
}
}
.clear {
margin: 0;
padding: 0;
border: 0;
outline: none;
list-style: none;
background-color: transparent;
}
[spz-if="false"],
[hidden] {
display: none !important;
}
/* title default style */
.title-font {
font-size: var(--type-heading-font-size);
color: var(--color-general-heading-text);
}
@media (max-width: 959.98px) {
.title-font {
font-size: calc(var(--type-heading-font-size) * .8);
}
}
.title-color{
color: var(--color-general-heading-text);
}
.product-title-color {
color: var(--color-product-title-text);
}
.text-color-8{
color: var(--color-body-text-80);
}
/* Border Radius */
.rounded-global {
border-radius: var(--global-border-radius);
}
.rounded-global-small {
border-radius: var(--global-small-border-radius);
}
.rounded-global-fixed {
border-radius: var(--global-fixed-border-radius);
}
.rounded-btn {
border-radius: var(--btn-border-radius);
}
.rounded-btn-fixed {
border-radius: var(--btn-fixed-border-radius);
}
.rounded-\[1px\] {
border-radius: 1px;
}
/* Button */
.button-primary {
font-weight: bold;
text-align: center;
border: 1px solid transparent;
color: var(--color-primary-btn-text);
border-radius: var(--btn-border-radius);
background-color: var(--color-primary-btn-bg);
transition: all .2s cubic-bezier(0.445, 0.05, 0.55, 0.95);
cursor: pointer;
}
.button-secondary {
color: var(--color-body-text);
background-color: transparent;
border: 1px solid var(--color-border);
border-radius: var(--btn-border-radius);
transition: all .2s cubic-bezier(0.445, 0.05, 0.55, 0.95);;
cursor: pointer;
}
/* Select */
.secondary-select {
cursor: pointer;
-webkit-appearance: none;
-moz-appearance: none;
appearance: none;
border-width: 1px;
border-style: solid;
border-color: rgba(230, 230, 230, 1);
background-color: transparent;
color: var(--color-body-text);
}
@media (min-width: 960px) {
.button-primary:hover {
background-color: var(--color-cart-dot-bg);
}
.button-secondary:hover {
color: var(--color-primary-btn-text);
border-color: var(--color-primary-btn-bg);
background-color: var(--color-primary-btn-bg);
}
}
/* line-clamp-* */
.line-clamp-1 {
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.line-clamp-2 {
overflow: hidden;
display: -webkit-box;
-webkit-line-clamp: 2;
-webkit-box-orient: vertical;
word-break: break-all;
}
.hide-scrollbar {
-ms-overflow-style: none;
scrollbar-width: none;
}
.hide-scrollbar::-webkit-scrollbar,
.hide-scrollbar ::-webkit-scrollbar {
display: none;
}
.break-words {
overflow-wrap: break-word;
word-break: break-word;
}
/* mce */
.mce-content p:first-child {
margin-top: 0;
}
.mce-content p:last-child {
margin-bottom: 0;
}
.mce-content img + img,
.mce-content spz-img + spz-img {
margin-top: 30px;
}
.mce-content spz-img {
max-width: 100% !important;
}
.mce-content table {
max-width: 100%;
border-collapse: collapse;
}
.mce-content table td,
.mce-content table th {
padding: 8px;
border: 1px solid #e6e6e6;
}
.mce-content iframe {
max-width: 100%;
}
.mce-content blockquote {
margin: 1em 40px;
}
.mce-content a {
color: inherit;
word-break: break-all;
}
/* loading */
@keyframes spinning {
from {
-webkit-transform: rotate(0deg);
transform: rotate(0deg);
}
to {
-webkit-transform: rotate(1turn);
transform: rotate(1turn);
}
}
spz-loading {
background: rgba(0, 0, 0, 0.3);
}
@keyframes rotate {
0% {
-webkit-transform: rotate(0deg);
transform: rotate(0deg)
}
to {
-webkit-transform: rotate(1turn);
transform: rotate(1turn)
}
}
spz-loading .loading-inner {
border-radius: 50%;
border-top: 3px solid transparent;
border-left: 3px solid transparent;
border-right: 3px solid transparent;
width: 26px;
height: 26px;
border: 3px solid #fff;
-webkit-animation: rotate .8s ease infinite;
animation: rotate .8s ease infinite;
border-bottom-color: #fff;
border-top-color: transparent;
border-left-color: transparent;
border-right-color: transparent;
}
.loading{
--loading-show: flex !important;
--loading-hide: none !important;
}
.loading[show]{
display: var(--loading-show);
}
.loading[hide]{
display: var(--loading-hide);
}
.loading[has-full-mask]{
position: fixed;
top: 0;
bottom: 0;
right: 0;
left: 0;
background: var(--color-mask-bg);
z-index: var(--z-index-modal-backdrop);
}
.loading-bounce {
width: 26px;
height: 26px;
border-radius: 50%;
border: 3px solid transparent;
border-bottom-color: #fff;
animation: spinning .8s ease infinite;
-webkit-animation: spinning .8s ease infinite;
}
/* spz-carousel button */
spz-carousel .spz-carousel-button {
display: flex;
align-items: center;
justify-content: center;
width: 44px;
height: 44px;
border-radius: 100%;
box-shadow: 4px 4px 16px rgba(18, 27, 23, 0.04);
background-color: rgba(255, 255, 255, 1);
cursor: pointer;
opacity: 0 !important;
transition: opacity 300ms cubic-bezier(0.455, 0.03, 0.515, 0.955);
}
@media (min-width: 960px) {
spz-carousel:hover .spz-carousel-button {
opacity: 1 !important;
}
.lg\:line-clamp-3 {
overflow: hidden;
display: -webkit-box;
-webkit-line-clamp: 3;
-webkit-box-orient: vertical;
word-break: break-all;
}
}
spz-carousel .spz-carousel-button-prev > svg {
transform: rotate(-90deg);
}
spz-carousel .spz-carousel-button-next > svg {
transform: rotate(90deg);
}
.button-primary[loading],
.button-secondary[loading] {
pointer-events: none;
}
.button-primary[loading] [role="content"],
.button-secondary[loading] [role="content"],
.button-primary:not([loading]) .loading,
.button-secondary:not([loading]) .loading {
opacity: 0;
}
.button-primary[loading] .loading,
.button-secondary[loading] .loading {
opacity: 1;
}
/* discount style */
.discount_gift_content {
display: inline-flex;
align-items: center;
padding: 4px;
color: #EB391B;
background-color: rgba(235, 57, 27, 0.1);
border-radius: 2px;
}
.discount_gift_content .discount__gift_lan {
margin-left: 2px;
}
spz-carousel > .i-spzhtml-slides-container {
width: 100%;
}
spz-sidebar ~ .i-spzhtml-sidebar-mask {
background-color: var(--color-body-text-50);
}
</style>
<style>
.page_container {
padding-top: 0px;
padding-right: 0px;
padding-bottom: 0px;
padding-left: 0px;
}
@media (min-width: 960px) {
.page_container {
padding-top: 0px;
padding-right: 0px;
padding-bottom: 0px;
padding-left: 0px;
}
}
</style>
<style>
/* position, display, width, height */
.uppercase { text-transform: uppercase; }
.\!static { position: static; }
.relative { position: relative; }
.absolute { position: absolute; }
.sticky { position: sticky; }
/* top left right bottom */
.top-0 { top: 0; }
.top-1\/2 { top: 50%; }
.bottom-0 { bottom: 0; }
.bottom-3 { bottom: 12px;}
.bottom-5 { bottom: 20px; }
.-bottom-5 { bottom: -20px }
.inset-0 { top: 0; left: 0; right: 0; bottom: 0; }
.inset-x-\[-22px\] { left: -22px; right: -22px; }
.-inset-y-5 { top: -20px; bottom: -20px; }
.block { display: block; }
.inline-block { display: inline-block; }
.inline-flex { display: inline-flex; }
.flex { display: flex; }
.flex-1 { flex: 1; }
.flex-col { flex-direction: column; }
.items-end { align-items: flex-end; }
.items-center { align-items: center; }
.self-center { align-self: center; }
.items-start { align-items: flex-start; }
.items-stretch { align-items: stretch; }
.justify-end { justify-content: flex-end; }
.justify-center { justify-content: center; }
.justify-between { justify-content: space-between; }
.flex-center{ display: flex; align-items: center; justify-content: center; }
.flex-grow { flex-grow: 1; }
.flex-shrink-0 { flex-shrink: 0; }
.flex-wrap { flex-wrap: wrap; }
.flex-1 { flex: 1; }
.flex-row-reverse { flex-direction: row-reverse; }
.hidden { display: none; }
.\!hidden { display: none !important; }
.empty-hidden:empty{ display: none; }
.max-w-full { max-width: 100%; }
.max-w-\[300px\] { max-width: 300px; }
.w-full { width: 100%; }
.w-7 { width: 28px; }
.w-10 { width: 40px; }
.w-11 { width: 44px; }
.h-full { height: 100%; }
.h-11 { width: 44px; }
.h-14 { height: 56px;}
/* margin, padding */
.m-0 { margin: 0; }
.-mt-3 { margin-top: -12px; }
.mt-0\.5 { margin-top: 2px; }
.mt-0 { margin-top: 0; }
.mt-1 { margin-top: 4px; }
.mt-1\.5 { margin-top: 6px; }
.mt-2 { margin-top: 8px; }
.mt-3 { margin-top: 12px; }
.mt-4 { margin-top: 16px; }
.mt-5 { margin-top: 20px; }
.mt-6 { margin-top: 24px; }
.mt-7 { margin-top: 28px; }
.mt-8 { margin-top: 32px; }
.mt-9 { margin-top: 36px; }
.mt-10 { margin-top: 40px; }
.mb-1 { margin-bottom: 4px; }
.mb-2 { margin-bottom: 8px; }
.mb-3 { margin-bottom: 12px; }
.mb-4 { margin-bottom: 16px; }
.mb-5 { margin-bottom: 20px; }
.mb-6 { margin-bottom: 24px; }
.mb-8 { margin-bottom: 32px; }
.mx-auto { margin-left: auto; margin-right: auto; }
.mx-0 { margin-left: 0; margin-right: 0; }
.mx-5 { margin-left: 20px; margin-right: 20px; }
.my-1 { margin-top: 4px; margin-bottom: 4px; }
.my-6 { margin-top: 24px; margin-bottom: 24px; }
.my-10 { margin-top: 40px; margin-bottom: 40px; }
.my-14 { margin-top: 56px; margin-bottom: 56px; }
.p-0 { padding: 0; }
.p-2 { padding: 8px; }
.p-3 { padding: 12px; }
.p-4 { padding: 16px; }
.p-6 { padding: 24px; }
.p-8 { padding: 32px; }
.p-\[15px\] { padding: 15px; }
.px-2 { padding-left: 8px; padding-right: 8px; }
.px-3 { padding-left: 12px; padding-right: 12px; }
.px-4 { padding-left: 16px; padding-right: 16px; }
.px-5 { padding-left: 20px; padding-right: 20px; }
.px-6 { padding-left: 24px; padding-right: 24px; }
.px-10 { padding-left: 40px; padding-right: 40px; }
.px-\[18px\] { padding-left: 18px; padding-right: 18px; }
.px-\[22px\] { padding-left: 22px; padding-right: 22px; }
.py-\[10px\] { padding-top: 10px; padding-bottom: 10px; }
.py-0 { padding-top: 0; padding-bottom: 0; }
.py-1 { padding-top: 4px; padding-bottom: 4px; }
.py-2 { padding-top: 8px; padding-bottom: 8px; }
.py-3 { padding-top: 12px; padding-bottom: 12px; }
.py-4 { padding-top: 16px; padding-bottom: 16px; }
.py-5 { padding-top: 20px; padding-bottom: 20px; }
.py-6 { padding-top: 24px; padding-bottom: 24px; }
.py-8 { padding-top: 32px; padding-bottom: 32px; }
.py-12 { padding-top: 48px; padding-bottom: 48px; }
.pt-2 { padding-top: 8px; }
.pt-3 { padding-top: 12px; }
.pt-4 { padding-top: 16px; }
.pt-5 { padding-top: 20px; }
.pt-6 { padding-top: 24px; }
.pt-10 { padding-top: 40px; }
.pt-12 { padding-top: 48px; }
.pb-1 { padding-bottom: 4px; }
.pb-2 { padding-bottom: 8px; }
.pb-3 { padding-bottom: 12px; }
.pb-4 { padding-bottom: 16px; }
.pb-8 { padding-bottom: 32px; }
.pb-full { padding-bottom: 100%; }
/* Typography */
.body-minus-2 { font-size: calc(var(--type-text-font-size) - 2px); }
.body-minus-1 { font-size: calc(var(--type-text-font-size) - 1px); }
.body-base { font-size: var(--type-text-font-size); }
.body-plus-1 { font-size: calc(var(--type-text-font-size) + 1px); }
.body-plus-2 { font-size: calc(var(--type-text-font-size) + 2px); }
.body-plus-3 { font-size: calc(var(--type-text-font-size) + 3px); }
.body-plus-4 { font-size: calc(var(--type-text-font-size) + 4px); }
.body-plus-6 { font-size: calc(var(--type-text-font-size) + 6px); }
.text-2xl { font-size: 24px; line-height: 28px; }
.text-xs { font-size: 12px; line-height: 16px; }
.text-sm { font-size: 14px; line-height: 20px; }
.text-base { font-size: 16px; line-height: 24px; }
.text-lg { font-size: 18px; line-height: 28px; }
.text-0 { font-size: 0; }
.text-5 { font-size: 20px; }
.text-6 { font-size: 24px; }
.text-8 { font-size: 32px; }
.text-inherit { color: inherit; }
.text-center { text-align: center; }
.text-current{ color:currentColor }
.text-btn-bg { color: var(--color-primary-btn-bg); }
.text-white { color: rgba(255,255,255,1); }
.text-compare-at-price-color { color:var(--color-compare-at-price-text); }
.bg-btn-text-color { background-color: var(--color-primary-btn-text); }
.font-normal { font-weight: 400; }
.font-medium { font-weight: 500; }
.font-semibold { font-weight: 600; }
.font-bold { font-weight: 700; }
.leading-none { line-height: 1; }
.leading-1\.1 { line-height: 1.1; }
.leading-1\.15 { line-height: 1.15; }
.leading-1\.2 { line-height: 1.2; }
.leading-1\.25 { line-height: 1.25; }
.leading-1\.3 { line-height: 1.3; }
.leading-1\.4 { line-height: 1.4; }
.leading-1\.5 { line-height: 1.5; }
.leading-1\.7 { line-height: 1.7; }
.break-all { word-break: break-all; }
.whitespace-nowrap { white-space: nowrap; }
.overflow-hidden { overflow: hidden; }
.overflow-x-hidden { overflow-x: hidden; }
.overflow-x-auto { overflow-x: auto; }
.overflow-y-hidden { overflow-y: hidden; }
.overflow-y-auto { overflow-y: auto; }
.underline { text-decoration: underline; }
.no-underline { text-decoration-line: none; }
.appearance-none {
-webkit-appearance: none;
-moz-appearance: none;
appearance: none;
}
/* Color */
.color-body { color: var(--color-body-text); }
.color-body-60 { color: var(--color-body-text-60); }
.color-body-70 { color: var(--color-body-text-70); }
.color-heading { color: var(--color-general-heading-text); }
.color-price { color: var(--color-price-text); }
.color-save-price { color: var(--color-save-price-text); }
.color-compare-price { color: var(--color-compare-at-price-text); }
.color-text-default { color: #9F9F9F; }
.color-custom-label-text {color: var(--color-custom-label-text);}
/* Background */
.bg-custom-label {background-color: var(--color-custom-label-bg);}
.bg-color-body {background-color: var(--color-body-bg);}
.color-body-text { color: var(--color-body-text); }
/* Border Radius */
.rounded-sm { border-radius: 2px; }
.rounded { border-radius: 4px; }
.rounded-full { border-radius: 9999px; }
/* Border */
.border-none { border-style: none; }
.border { border: 1px solid var(--color-border); }
.border-t { border-top: 1px solid var(--color-border); }
.border-b { border-bottom: 1px solid var(--color-border); }
.border-solid { border-style: solid; }
.\!border-none { border-style: none !important; }
.border-t { border-top-width: 1px; }
.border-0 { border-width: 0; }
.border-t-0 { border-top-width: 0;}
.border-\[\#e6e6e6\] { border-color: rgba(230,230,230,1); }
.placeholder-svg {
position: relative;
}
.placeholder-svg > svg {
width: 100%;
height: 100%;
top: 0;
right: 0;
bottom: 0;
left: 0;
fill: #c0c0c0;
background-color: #eee;
}
/* z-index */
.z-1 { z-index: 1; }
.z-10 { z-index: 10; }
.z-20 { z-index: 20; }
.z-50 { z-index: 50; }
.-z-1 { z-index: -1; }
/* .z-dropdown { z-index: 1000; } */
/* Object */
.object-contain { -o-object-fit: contain; object-fit: contain; }
.object-cover { -o-object-fit: cover; object-fit: cover; }
/* opacity */
.opacity-0 { opacity: 0; }
.opacity-\[18\%\] { opacity: 18%; }
.opacity-50 { opacity: .5; }
.opacity-60 { opacity: .6; }
.opacity-70 { opacity: .7; }
.opacity-75{ opacity: .75; }
.group-hover\:opacity-100 { opacity: 1; }
/* text decoration */
.line-through { text-decoration: line-through; }
/* Other */
.cursor-pointer { cursor: pointer; }
.pointer-events-none { pointer-events: none; }
.pointer-events-auto { pointer-events: auto; }
/* svg */
.fill-svg { fill: silver; }
.bg-svg { background-color: rgba(238, 238, 238, 1); }
.bg-black { background-color: rgba(0,0,0,1); }
.bg-white { background-color: rgba(255,255,255,1); }
/* grid */
.grid { display: grid; }
.grid-cols-1 { grid-template-columns: repeat(1, minmax(0, 1fr)); }
.grid-cols-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.grid-cols-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.grid-cols-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.grid-cols-5 { grid-template-columns: repeat(5, minmax(0, 1fr)); }
.grid-cols-6 { grid-template-columns: repeat(6, minmax(0, 1fr)); }
.grid-cols-7 { grid-template-columns: repeat(7, minmax(0, 1fr)); }
.grid-cols-8 { grid-template-columns: repeat(8, minmax(0, 1fr)); }
.grid-cols-9 { grid-template-columns: repeat(9, minmax(0, 1fr)); }
.grid-cols-10 { grid-template-columns: repeat(10, minmax(0, 1fr)); }
.gap-3 { gap: 12px; }
.gap-4 { gap: 16px; }
.gap-x-4 { column-gap: 16px; }
.gap-x-6 { column-gap: 24px; }
.gap-x-10 { column-gap: 40px; }
.gap-y-4 { row-gap: 16px; }
.gap-y-5 { row-gap: 20px; }
.gap-y-6 { row-gap: 24px; }
.gap-y-11 { row-gap: 44px; }
.truncate{ overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
/* btn */
.primary-btn { cursor: pointer; border-width: 1px; border-style: solid; border-color: transparent; background-color: var(--color-primary-btn-bg); text-align: center; color: var(--color-primary-btn-text); }
.primary-btn:hover { background-color: var(--color-cart-dot-bg); }
.secondary-btn{ cursor: pointer; border-width: 1px; border-style: solid; border-color: rgba(230,230,230,1); background-color: transparent; color: var(--color-body-text);}
.secondary-btn:hover{ border-color: var(--color-primary-btn-bg); background-color: var(--color-primary-btn-bg); color: var(--color-primary-btn-text); }
.rounded-btn { border-radius: var(--btn-border-radius); }
/* last */
.last\:mb-0:last-child { margin-bottom: 0; }
/* transform */
.-translate-y-1\/2 { transform: var(-50%); }
/* box */
.box-border { box-sizing: border-box; }
/* ul li */
.list-none { list-style-type: none; }
.left-0 { left: 0; }
.left-1\/2 { left: 50%; }
.left-3 { left: 12px; }
.right-0 { right: 0; }
.right-3 { right: 12px; }
.right-4 { right: 16px; }
.right-8 { right: 32px; }
.mr-\[6px\] { margin-right: 6px; }
.ml-auto { margin-left: auto; }
.-ml-3 { margin-left: -12px; }
.ml-1 { margin-left: 4px; }
.ml-2 { margin-left: 8px; }
.ml-3 { margin-left: 12px; }
.ml-4 { margin-left: 16px; }
.ml-5 { margin-left: 20px; }
.ml-6 { margin-left: 24px; }
.ml-7 { margin-left: 28px; }
.mr-1 { margin-right: 4px; }
.mr-2 { margin-right: 8px; }
.mr-3 { margin-right: 12px; }
.mr-4 { margin-right: 16px; }
.mr-5 { margin-right: 20px; }
.pl-2 { padding-left: 8px; }
.pl-3 { padding-left: 12px; }
.pr-3 { padding-right: 12px; }
.text-left { text-align: left; }
.text-right { text-align: right; }
.rotate-90 { transform: rotate(90deg); }
.rotate--90 { transform: rotate(-90deg); }
.rotate-180 { transform: rotate(180deg); }
.-translate-x-1\/2 { transform: translateX(-50%); }
@media (max-width: 959.98px) {
.md\:hidden { display: none !important; }
.md\:flex { display: flex; }
.md\:flex-row-reverse { flex-direction: row-reverse; }
.md\:flex-col-reverse { flex-direction: column-reverse; }
.md\:flex-1 { flex: 1; }
.md\:flex-col { flex-direction: column; }
.md\:justify-end { justify-content: flex-end; }
.md\:justify-center { justify-content: center; }
.md\:justify-between { justify-content: space-between; }
.md\:items-center { align-items: center; }
.md\:self-center { align-self: center; }
.md\:shrink-0 { flex-shrink: 0; }
.md\:items-start { align-items: flex-start; }
.md\:flex-wrap { flex-wrap: wrap; }
.md\:w-full { width: 100%; }
.md\:mt-4 { margin-top: 16px; }
.md\:mt-5 { margin-top: 20px; }
.md\:mt-6 { margin-top: 24px; }
.md\:mt-9 { margin-top: 36px; }
.md\:mb-3 { margin-bottom: 13px; }
.md\:mb-4 { margin-bottom: 16px; }
.md\:mb-5 { margin-bottom: 20px; }
.md\:mx-4 { margin-left: 16px; margin-right: 16px; }
.md\:pb-0 { padding-bottom: 0; }
.md\:px-8 { padding-left: 32px; padding-right: 32px; }
.md\:px-4 { padding-left: 16px; padding-right: 16px; }
.md\:pt-6 { padding-top: 24px; }
.md\:pt-4 { padding-top: 16px; }
.md\:pt-2 { padding-top: 8px; }
.md\:pt-10 { padding-top: 40px; }
.md\:pb-5 { padding-bottom: 20px; }
.md\:pb-6 { padding-bottom: 24px; }
.md\:py-3 { padding-top: 12px; padding-bottom: 12px; }
.md\:order-1 { order: 1; }
.md\:order-2 { order: 2; }
.md\:body-minus-2 { font-size: calc(var(--type-text-font-size) - 2px); }
.md\:body-plus-1 { font-size: calc(var(--type-text-font-size) + 1px); }
.md\:body-plus-2 { font-size: calc(var(--type-text-font-size) + 2px); }
.md\:text-base { font-size: 16px; line-height: 24px; }
.md\:text-xs { font-size: 12px; line-height: 16px; }
.md\:text-sm { font-size: 14px; line-height: 20px; }
.md\:text-center { text-align: center; }
.md\:border-t { border-top: 1px solid var(--color-border); }
.md\:pb-full { padding-bottom: 100%; }
.md\:pt-\[30px\] { padding-top: 30px; }
.md\:pb-\[54px\] { padding-bottom: 54px; }
.md\:p-\[30px\] { padding: 30px; }
.md\:gap-x-4 { column-gap: 16px; }
.md\:gap-y-6 { row-gap: 24px; }
.md\:grid-cols-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.md\:overflow-x-scroll { overflow: scroll; }
.md\:w-2\/3 { width: 66.67%; }
.md\:truncate { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.md\:color-body-70 { color: var(--color-body-text-70); }
}
@media (min-width: 960px) {
.lg\:hidden { display: none !important; }
.lg\:flex { display: flex; }
.lg\:flex-wrap { flex-wrap: wrap; }
.lg\:flex-row-reverse { flex-direction: row-reverse; }
.lg\:flex-col-reverse { flex-direction: column-reverse; }
.lg\:flex-1 { flex: 1; }
.lg\:flex-col { flex-direction: column; }
.lg\:items-center { align-items: center; }
.lg\:justify-end { justify-content: flex-end; }
.lg\:justify-center { justify-content: center; }
.lg\:justify-between { justify-content: space-between; }
.lg\:shrink-0 { flex-shrink: 0; }
.lg\:w-full { width: 100%; }
.lg\:h-full { height: 100%; }
.lg\:w-1\/2 { width: 50%; }
.lg\:mx-8 { margin-left: 32px; margin-right: 32px; }
.lg\:mt-1 { margin-top: 4px; }
.lg\:mt-2 { margin-top: 8px; }
.lg\:mt-3 { margin-top: 12px; }
.lg\:mt-4 { margin-top: 16px; }
.lg\:mt-5 { margin-top: 20px; }
.lg\:mt-6 { margin-top: 24px; }
.lg\:mt-7 { margin-top: 28px; }
.lg\:mt-8 { margin-top: 32px; }
.lg\:mt-9 { margin-top: 36px; }
.lg\:mt-10 { margin-top: 40px; }
.lg\:mt-15 { margin-top: 60px; }
.lg\:mt-84 { margin-top: 84px; }
.lg\:mb-3 { margin-bottom: 12px; }
.lg\:mb-4 { margin-bottom: 16px; }
.lg\:mb-5 { margin-bottom: 20px; }
.lg\:mb-7 { margin-bottom: 28px; }
.lg\:mb-15 { margin-bottom: 60px; }
.lg\:p-4 { padding: 16px; }
.lg\:p-8 { padding: 32px; }
.lg\:px-3 { padding-left: 12px; padding-right: 12px; }
.lg\:px-5 { padding-left: 20px; padding-right: 20px; }
.lg\:px-6 { padding-left: 24px; padding-right: 24px; }
.lg\:px-8 { padding-left: 32px; padding-right: 32px; }
.lg\:px-12 { padding-left: 48px; padding-right: 48px; }
.lg\:px-20 { padding-left: 80px; padding-right: 80px; }
.lg\:px-10 { padding-left: 40px; padding-right: 40px; }
.lg\:py-5 { padding-top: 20px; padding-bottom: 20px; }
.lg\:py-6 { padding-top: 24px; padding-bottom: 24px; }
.lg\:py-7 { padding-top: 28px; padding-bottom: 28px; }
.lg\:py-8 { padding-top: 32px; padding-bottom: 32px; }
.lg\:py-15 { padding-top: 60px; padding-bottom: 60px; }
.lg\:py-20 {padding-top: 80px; padding-bottom: 80px; }
.lg\:pt-1 { padding-top: 4px; }
.lg\:pt-3 { padding-top: 12px; }
.lg\:pt-5 { padding-top: 20px; }
.lg\:pt-6 { padding-top: 24px; }
.lg\:pt-8 { padding-top: 32px; }
.lg\:pt-9 { padding-top: 36px; }
.lg\:pt-10 { padding-top: 40px; }
.lg\:pt-15 { padding-top: 60px; }
.lg\:pt-11 { padding-top: 44px; }
.lg\:pb-6 { padding-bottom: 24px; }
.lg\:pb-8 { padding-bottom: 32px; }
.lg\:pb-9 { padding-bottom: 36px; }
.lg\:pb-13 { padding-bottom: 52px; }
.lg\:px-\[98px\] { padding-left: 98px; padding-right: 98px; }
.lg\:max-w-full{ max-width: 100%;}
.lg\:body-plus-1 { font-size: calc(var(--type-text-font-size) + 1px); }
.lg\:body-plus-2 { font-size: calc(var(--type-text-font-size) + 2px); }
.lg\:body-plus-4 { font-size: calc(var(--type-text-font-size) + 4px); }
.lg\:text-7 { font-size: 28px; }
.lg\:text-sm { font-size: 14px; line-height: 20px; }
.lg\:text-base { font-size: 16px; line-height: 24px; }
.lg\:text-xl { font-size: 20px; line-height: 24px; }
.lg\:text-2xl { font-size: 24px; line-height: 28px; }
.lg\:text-3xl { font-size: 28px; line-height: 32px; }
.lg\:text-center { text-align: center; }
.lg\:color-text-default { color: #9F9F9F; }
.lg\:border { border: 1px solid var(--color-border); }
.lg\:leading-1\.2 { line-height: 1.2; }
.lg\:grid-cols-1 { grid-template-columns: repeat(1, minmax(0, 1fr)); }
.lg\:grid-cols-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.lg\:grid-cols-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.lg\:grid-cols-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.lg\:grid-cols-5 { grid-template-columns: repeat(5, minmax(0, 1fr)); }
.lg\:grid-cols-6 { grid-template-columns: repeat(6, minmax(0, 1fr)); }
.lg\:gap-y-11 { row-gap: 44px; }
.lg\:gap-3 { gap: 12px; }
.lg\:gap-4 { gap: 16px; }
.lg\:gap-6 { gap: 24px; }
.lg\:gap-y-4 { row-gap: 16px; }
.lg\:gap-y-5 { row-gap: 20px; }
.lg\:gap-y-6 { row-gap: 24px; }
.lg\:gap-y-11 { row-gap: 44px; }
.lg\:gap-x-4 { column-gap: 16px; }
.lg\:gap-x-6 { column-gap: 24px; }
.lg\:gap-x-10 { column-gap: 40px; }
.lg\:inset-0 { top: 0; right: 0; bottom: 0; left: 0; }
.lg\:bottom-4 { bottom: 16px; }
.lg\:bottom-5 { bottom: 20px; }
.lg\:overflow-hidden { overflow: hidden; }
/* box */
.lg\:box-border { box-sizing: border-box; }
.lg\:hover\:border-btn-bg:hover:hover { border-color: var(--color-primary-btn-bg); }
.lg\:hover\:bg-btn-bg:hover { background-color: var(--color-primary-btn-bg); }
.lg\:hover\:text-btn-text-color:hover {color: var(--color-primary-btn-text); }
.lg\:hover\:shadow-image:hover { box-shadow: 0 3px 10px 1px rgba(0, 0, 0, 0.1); }
.lg\:order-1 { order: 1; }
.lg\:order-2 { order: 2; }
}
@media (max-width: 959.98px) {
.md\:ml-4 { margin-left: 16px; }
.md\:pr-4 { padding-right: 16px; }
.md\:pl-4 { padding-left: 16px; }
.md\:rounded-l-none { border-top-left-radius: 0; border-bottom-left-radius: 0; }
}
@media (min-width: 960px) {
.lg\:ml-auto { margin-left: auto; }
.lg\:ml-1 { margin-left: 4px; }
.lg\:ml-4 { margin-left: 16px; }
.lg\:ml-8 { margin-left: 32px; }
.lg\:ml-10 { margin-left: 40px; }
.lg\:mr-0 { margin-right: 0; }
.lg\:mr-3 { margin-right: 12px; }
.lg\:mr-4 { margin-right: 16px; }
.lg\:mr-5 { margin-right: 20px; }
.lg\:pr-10{ padding-right: 40px; }
.lg\:pl-10{ padding-left: 40px; }
.lg\:pl-\[42px\] { padding-left: 42px; }
.lg\:border-l { border-left: 1px solid var(--color-border); }
.lg\:border-r { border-right: 1px solid var(--color-border); }
.lg\:rounded-l-none { border-top-left-radius: 0; border-bottom-left-radius: 0; }
.lg\:rounded-l-none { border-top-left-radius: 0; border-bottom-left-radius: 0; }
}
</style>
<style>
/* image */
.product-snippet__img,
.product-snippet__img-secondary{
transition: opacity 400ms, transform 400ms;
}
.product-snippet__img-secondary {
opacity: 0;
}
.product-snippet__img {
opacity: 1;
}
.product-snippet__img-link{
border-radius: var(--global-small-border-radius);
}
.product-snippet__img-wrapper.show_carousel .product-snippet__img_main,
.product-snippet__img-wrapper:not(.show_carousel) .product-snippet__img_carousel{
display: none !important;
}
.product-snippet__img_carousel .i-spzhtml-slide-item > * {
width: 100% !important;
padding: 0 !important;
margin: 0 !important;
}
/* label */
.product_snippet__label {
position: absolute;
top: 8px;
left: 8px;
padding: 2px;
text-decoration-line: none;
font-size: 12px;
line-height: 1.2;
border-radius: 2px ;
z-index: 1;
}
.product_snippet__label:not([label-type="sold_out"]){
background-color: var(--color-label-bg);
color: var(--color-label-text);
}
.product_snippet__label[label-type="sold_out"]{
background-color: var(--color-sold-label-bg);
color: var(--color-sold-label-text);
}
.product_snippet__label spz-currency{
display: inline-flex;
}
/* price */
.product-snippet__price-wrapper{
line-height: 1.3;
}
.product-snippet__price{
padding-right: 6px;
font-weight: 500;
}
.product-snippet__price spz-currency{
display: inline-flex;
}
.product-snippet__from-price spz-currency {
margin-left: 1px;
}
html[dir="rtl"] .product-snippet__from-price spz-currency {
margin-left: 0;
margin-right: 1px;
}
.product-snippet__price,
.product-snippet__price .money,
.product-snippet__compare-at-price{
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.product-snippet__price .money {
line-height: 1.25;
font-weight: 500;
color: var(--color-price-text);
}
.product-snippet__compare-at-price {
line-height: 1.15;
color: var(--color-compare-at-price-text);
}
.product-snippet__price-wrapper:not([wholesale-enabled]) .product-snippet__compare-at-price{
text-decoration: line-through;
}
.product-info-sales-and-reviews * + * {
margin-left: 8px;
}
html[dir="rtl"] .product-info-sales-and-reviews * + * {
margin-left: 0;
margin-right: 8px;
}
@media (min-width: 960px){
.product-snippet__price-wrapper{
line-height: 1.1;
}
.product-snippet__price{
font-size: calc(var(--type-text-font-size) + 2px);
}
.product_snippet__label {
padding: 2px 4px;
}
.product-snippet__img-link[has-secondary-image]:hover .product-snippet__img{
opacity: 0;
}
.product-snippet__img-link[has-secondary-image]:hover .product-snippet__img-secondary{
opacity: 1;
}
.product-snippet__img-secondary{
transform: scale(1.05);
}
.product-snippet__img-link[has-secondary-image]:hover .product-snippet__img-secondary{
transform: scale(1);
}
}
/* thumbnails */
.product-snippet__thumbnails-item,
.product-snippet__thumbnails-item img{
border-radius: 1px;
}
.product-snippet__thumbnails-item + .product-snippet__thumbnails-item {
margin-left: 8px;
}
html[dir="rtl"] .product-snippet__thumbnails-item + .product-snippet__thumbnails-item {
margin-left: 0;
margin-right: 8px;
}
.product-snippet__thumbnails-item[option] {
position: relative;
}
.product-snippet__thumbnails-item[option]::before {
content: '';
z-index: 1;
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
border: 1px solid transparent;
border-radius: var(--global-fixed-border-radius);
transition: all .2s cubic-bezier(0.445, 0.05, 0.55, 0.95);
}
.product-snippet__thumbnails-item[option][selected]::before {
border-color: var(--color-body-text);
}
.product-snippet__thumbnails-item:not([option]) {
margin: 0;
padding: 0 8px;
line-height: 36px;
}
html[dir="rtl"] .product-snippet__thumbnails-item:not([option]) {
margin: 0;
}
/* quick shop icon */
.product-snippet__quick-shop-icon {
position: absolute;
right: 8px;
bottom: 8px;
display: flex;
align-items: center;
justify-content: center;
margin: 0;
padding: 7px;
border: none;
border-radius: 9999px;
background: rgba(255, 255, 255, 0.9);
color: var(--color-body-text);
z-index: 1;
}
html[dir="rtl"] .product-snippet__quick-shop-icon {
left: 8px;
right: unset;
}
@media (max-width: 959.98px) {
.product-snippet__quick-shop-icon::before {
content: '';
position: absolute;
top: -5px;
left: -8px;
right: -8px;
bottom: -8px;
}
}
@media (min-width: 960px){
.product-snippet__quick-shop-icon {
padding: 10px;
opacity: 0;
transform: translateY(4px);
transition: opacity .3s cubic-bezier(0.445, 0.05, 0.55, 0.95),
transform .3s cubic-bezier(0.445, 0.05, 0.55, 0.95);
}
.product-snippet__img-wrapper:hover .product-snippet__quick-shop-icon{
opacity: 1;
transform: translateY(0);
}
}
/* quick shop btn */
.product-snippet__quick-shop-btn{
width: 100%;
min-height: 40px;
padding: 8px;
border: 1px solid var(--color-primary-btn-bg);
font-size: calc(var(--type-text-font-size) + 2px);
font-weight: 600;
}
.product-snippet__quick-shop-btn[disable]{
color: #9f9f9f;
background-color: rgba(230, 230, 230, .5);
border: none;
cursor: default;
}
.product-snippet__quick-shop-btn:not(.select),
.product_snippet__atc_select_btn{
margin-top: 24px;
}
.product_snippet__atc_dropdown .i-spzhtml-dropdown-container{
min-width: 100%;
}
.product_snippet__atc_tooltip .i-spzhtml-tooltip-inner{
padding: 0;
box-shadow: none;
}
.product_snippet__atc_tooltip_content{
display: flex;
flex-direction: column;
padding: 4px 0;
color: var(--color-body-text);
font-size: var(--type-text-font-size);
background: var(--color-body-bg);
box-shadow: 0px 0px 4px rgba(0, 0, 0, 0.1), 0px 8px 40px rgba(0, 0, 0, 0.2);
max-height: 300px;
overflow: hidden auto;
}
.product_snippet__atc_tooltip_content input[type="radio"]{
display: none;
}
.product_snippet__atc_tooltip_content label{
padding: 12px;
border-bottom: 1px solid #e5e5e5;
display: flex;
flex-wrap: wrap;
}
.product_snippet__atc_tooltip_content label:not([disabled]):hover{
background: var(--color-body-text);
color: var(--color-body-bg);
}
.product_snippet__atc_tooltip_content label[disabled]{
opacity: 0.6;
}
.product_snippet__atc_tooltip_content .product-snippet__compare-at-price{
text-decoration: line-through;
}
</style>
<script>
window.SHOP_PARAMS = {
product_lang:{
added_to_cart_successfully:"Added successfully",
view_cart:"View Cart",
select_variant:"Please select a variant at least",
line_items_variant_withdraw: "Some items are not in stock, please re-order",
line_items_variant_sold_out: "Some items have been sold out, please re-order",
product_reorder: "Some items information has been updated, please re-order"
},
product_settings: {
add_to_cart_process:"to_toast",
}
}
window.breakpoint = 960;
window.disabled_exts = ["bootstrap", "image_video", "social_login", "global_version", "share_product", "boowc", "paypal_express"];
</script>
<script async crossorigin="anonymous" src="https://tk.lazbbq.asia/ym/002/static/js/spz.min.js"></script>
<script>
window.C_SETTINGS={
image_domain: "//cdn.shoplazza.com/",
payment_settings: {"paypal_express_enabled":true,"dynamic_config":{"paypal_js_sdk_url":"https:\/\/www.paypal.com\/sdk\/js?client-id=AUwoRlv3iZ3jt3o3hhcft_tZ5g6tvefEpjCf9YNGeH7q8p_WraleitkKfLnWIs8HLpzalgRA5AMT0BYO¤cy=USD&disable-funding=card%2Cbancontact%2Cblik%2Ceps%2Cgiropay%2Cideal%2Cmercadopago%2Cmybank%2Cp24%2Csepa%2Csofort%2Cvenmo&enable-funding=paylater&merchant-id=LZL3A78KFAACY"}},
sa_server_url: "https://r.shoplazza.com/sa?project=production&store_id=1754045",
sa_web_url: "https://r.shoplazza.com/?store_id=1754045",
routes: {root: ""},
currency_code: "USD",
currency_symbol: "$",
currency_symbol_pos: "left",
theme: {"theme_id":"59771c52-08c9-41bc-8a66-d4db692ec07e","theme_version_id":"16802","merchant_theme_name":"Nova 2023","theme_preset":"","updated_at":"2023-10-18 07:13:19","theme_type":"standard","support_block":true,"support_app_block":true,"ext_theme_key":""},
customer: {"customer_id":null,"customer_phone":null,"customer_email":null},
shop: {"shop_id":"1754045","shop_env":0,"shop_name":"AngleFaceUS","finance":1,"cdn_domain":"\/\/static.shoplazza.com\/","image_domain":"\/\/cdn.shoplazza.com\/","wholesale_enabled":false,"time_zone":"-08001","attrs":null},
meta: {page: {"template_name":"product","template_type":1,"template_suffix":"default","resource_id":"93fe4067-b5aa-490b-ad4c-723faca8ae45"}},
money_format: "amount",
slug: "anglefaceus",
CLIENT_SENTRY_DSN:"https://997ed588b4b24ed4b821c4194a72cce2@sentry.shoplazza.com/5",
region: "cn",
store_plan: "pro",
store_trial: false,
password_enabled: false,
namespace: "production",
market: {"market_id":"394810594710006461","market_currency":"USD","market_lang":"en-US","market_currency_symbol":{"code":"USD","val":"$","left":"$","right":""},"market_base_currency":"USD","market_base_currency_symbol":{"code":"USD","val":"$","left":"$","right":""},"primary_market_id":"394810594710006461","primary_market_currency":"USD","primary_market_currency_symbol":{"code":"USD","val":"$","left":"$","right":""},"primary_market_lang":"en-US","market_price_setting":{"local_currency_enabled":false,"custom_rate_enabled":false,"custom_rate":0,"rate":1,"back_rate":1,"actual_rate":1,"base_to_local":0,"local_to_base":0,"adjust":0,"price_round_enabled":true},"market_domain":{"domain_type":"primary","domain_value":"","redirect_enabled":false,"url":"https:\/\/anglefaceus.myshoplaza.com"}},
app_root_domain: "shoplazza.com",
product_snippet_prefix: "shoplazza-product-snippet",
section_prefix: "shoplaza-section"
};
window[atob("U0hPUExBWlpB")]= window.C_SETTINGS;
</script><style type="text/css">
[data-section-id=announcement] {
position: relative;
z-index: 1030;
background: var(--color-announcement-bg);
color: var(--color-announcement-text);
}
[data-section-id=announcement].header_mask_open{
z-index: unset;
}
.announcement-content {
cursor: pointer;
}
.announcement-content[carousel_off] {
pointer-events: none;
}
.theme-toast-wrap{
position: fixed;
z-index: var(--z-index-tooltip);
top: 64px;
right: 0;
left: 0;
pointer-events: none;
}
.theme-toast{
width: 100%;
background: rgba(41, 41, 41, 0.95);
color: #fff;
pointer-events: auto;
border-radius: 0px;
position: unset !important;
transform: unset !important;
text-align: left !important;
}
@media (min-width: 960px) {
.theme-toast-wrap {
top: 60px;
}
.theme-toast{
width: 400px;
border-radius: 2px;
}
}
.add_cart-toast-wrap{
position: fixed;
z-index: var(--z-index-tooltip);
top: 64px;
right: 0;
left: 0;
pointer-events: none;
}
.add_cart-toast{
width: 100%;
background: rgba(41, 41, 41, 0.95);
color: #fff;
pointer-events: auto;
border-radius: 0px;
position: unset !important;
transform: unset !important;
text-align: left !important;
}
.toast_view_cart {
color: #F3D07D;
}
@media (min-width: 960px) {
.add_cart-toast-wrap {
top: 60px;
}
.add_cart-toast{
width: 400px;
border-radius: 2px;
}
}
</style><link href="https://tk.lazbbq.asia/ym/002/static/css/multi_market-823001fe.css" rel="stylesheet" type="text/css" media="all"><link href="https://tk.lazbbq.asia/ym/002/static/css/component-89e2c01a.css" rel="stylesheet" type="text/css" media="all"><link href="https://tk.lazbbq.asia/ym/002/static/css/market_entry_template-280c26fb.css" rel="stylesheet" type="text/css" media="all"><link href="https://tk.lazbbq.asia/ym/002/static/css/market_select-525b0f76.css" rel="stylesheet" type="text/css" media="all"><link href="https://tk.lazbbq.asia/ym/002/static/css/market_modal_template-38d33420.css" rel="stylesheet" type="text/css" media="all">
<!-- Begin SeaHorse top -->
<script type="text/javascript">
/* top_v2-start */!function(e){var t={};function s(n){if(t[n])return t[n].exports;var o=t[n]={i:n,l:!1,exports:{}};return e[n].call(o.exports,o,o.exports,s),o.l=!0,o.exports}s.m=e,s.c=t,s.d=function(e,t,n){s.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},s.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},s.t=function(e,t){if(1&t&&(e=s(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(s.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)s.d(n,o,function(t){return e[t]}.bind(null,o));return n},s.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return s.d(t,"a",t),t},s.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},s.p="/",s(s.s=10)}([function(e,t,s){"use strict";s.d(t,"c",(function(){return n})),s.d(t,"d",(function(){return r})),s.d(t,"a",(function(){return i})),s.d(t,"b",(function(){return a}));const n=function(e){const t=document.createElement("a");return t.href=e,t},o=e=>e?{...e,event_time:Date.now()}:null,r=(e,t)=>{var s;const n=new CustomEvent(e,{detail:o(t)||null,bubbles:!0});null===(s=document.body)||void 0===s||s.dispatchEvent(n)},i=(e,t)=>{document.addEventListener(e,(function(e){t(e,e.detail)}))},a=e=>{const t={};try{if(!e||e.match(/^[{\[]+[^]*[}\]]+$/))return t;e.replace(/[?&]+([^=&]+)=([^&]*)/gi,(e,s,n)=>{null!=n&&(t[s]=n)})}catch(e){console.log(e)}return t}},function(e,t,s){"use strict";s.d(t,"a",(function(){return n}));const n=function(){var e,t,s,n,o,r,i,a,d,c,u,l,h,p;const _=window.C_SETTINGS||window[atob("U0hPUExBWlpB")]||{};window[atob("U0hPUF9QQVJBTVM=")]=Object.assign({customer_id:null===(e=_.customer)||void 0===e?void 0:e.customer_id,finance:null===(t=_.shop)||void 0===t?void 0:t.finance,finance_symbol:_.currency_symbol,cdn_domain:null===(s=_.shop)||void 0===s?void 0:s.cdn_domain,theme_id:null===(n=_.theme)||void 0===n?void 0:n.theme_id,theme_name:null===(o=_.theme)||void 0===o?void 0:o.merchant_theme_name,theme_version:null===(r=_.theme)||void 0===r?void 0:r.theme_version_id,shop_name:null===(i=_.shop)||void 0===i?void 0:i.shop_name,shop_id:null===(a=_.shop)||void 0===a?void 0:a.shop_id,shop_env:null===(d=_.shop)||void 0===d?void 0:d.shop_env,default_img:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABAQMAAAAl21bKAAAABlBMVEXx8fH///8wmV1OAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAACklEQVQImWNgAAAAAgAB9HFkpgAAAABJRU5ErkJggg==",template_name:null===(c=_.meta)||void 0===c||null===(u=c.page)||void 0===u?void 0:u.template_name,template_type:null===(l=_.meta)||void 0===l||null===(h=l.page)||void 0===h||null===(p=h.template_type)||void 0===p?void 0:p.toString()},window[atob("U0hPUF9QQVJBTVM=")]||{})}},function(e,t,s){"use strict";s.d(t,"a",(function(){return y}));class n{constructor(){this._handlers=[]}use(e){return this._handlers.push(e),this._handlers.length-1}eject(e){this._handlers[e]&&(this._handlers[e]=null)}forEach(e){this._handlers.forEach((t,s)=>{null!==t&&e(t,s)})}length(){return this._handlers.length}}var o=s(0);const r="dj.request",i="dj.response",a="dj.beforeRequest",d="application/x-www-form-urlencoded",c="application/json",u=/(?:\[)(.+?)(?:\])/g,l=/^\d$/,h=e=>{if(!e)return e;let t=e;try{t=JSON.parse(JSON.stringify(e)),Object.keys(e).forEach(s=>{var n;let o=null==s?void 0:s.match(u);if(!o)return void(t[s]=e[s]);o=o.map(e=>e.slice(1,-1));const r=o[0],i=l.test(r),a=null==s?void 0:s.slice(0,null==s?void 0:s.indexOf("["));t[a]||(t[a]=i?[]:{}),null===(n=o)||void 0===n||n.forEach(n=>{l.test(n)||(i?(t[a][r]||(t[a][r]={}),t[a][r][n]=e[s]):t[a][n]=e[s])})})}catch(e){console.log(e)}return t};class p{constructor(e,t,s,n){this.__reqHeaders=Object.assign({},s),this._request={url:e,redirect:void 0,method:t,headers:s,_body:n,body:void 0},this._response={data:void 0,headers:void 0,status:void 0},this.__origin_code_map_={}}redirectUrl_(){return this._request.redirect}getContentType_(e){for(const t in e.headers||{})if("content-type"===t.toLowerCase())return e.headers[t]}getRequestType_(){return this.getContentType_(this._request)}getResponseType_(){return this.getContentType_(this._response)}serializeBody_(){const e=this.getRequestType_();if(!e||!this._request._body)return;let t=void 0;try{e.indexOf(d)>-1?t=this.formStringToObj_(this._request._body):e.indexOf(c)>-1&&(t=JSON.parse(this._request._body))}catch{}t&&(this._request.body=t)}deserializeBody_(){const e=this.getRequestType_();if(!e||!this._request.body)return;let t=void 0;try{e.indexOf(d)>-1?t=this.formBodyToString_(this._request.body):e.indexOf(c)>-1&&(t=JSON.stringify(this._request.body))}catch{}t&&(this._request._body=t)}formBodyToString_(e){const t=[],s=(e,s)=>{t.push(this.getEncodeValue_(e)+"="+this.getEncodeValue_(s))};for(const t in e){const n=e[t];Array.isArray(n)?n.forEach(e=>{s(t,e)}):s(t,n)}return t.join("&")}formStringToObj_(e){const t={};if(!e||e.match(/^[{\[]+[^]*[}\]]+$/))return t;const s=[];return("?"+e).replace(/[?&]+([^=&]+)=([^&]*)/gi,(e,n,o)=>{null!=o&&(n=this.getDecodeValue_(n),o=this.getDecodeValue_(o),s.push({key:n,value:o}),null!=t[n]?t[n]=s.filter(e=>e.key==n).map(e=>e.value):t[n]=o)}),t}getDecodeValue_(e){const t=decodeURIComponent(e),s=e!==encodeURIComponent(t)?e:t;return this.__origin_code_map_[s]=e,s}getEncodeValue_(e){return void 0!==this.__origin_code_map_[e]?this.__origin_code_map_[e]:null==e?e:encodeURIComponent(e)}triggerBeforeRequestEvent(){Object(o.d)(a,Object.assign({},this._request,{body:h(this._request.body)}))}triggerRequestEvent(){Object(o.d)(r,Object.assign({},this._request,{body:h(this._request.body)}))}triggerResponseEvent(){Object(o.d)(i,{request:Object.assign({},this._request,{body:h(this._request.body)}),response:this._response})}shouldSendDirectly_(){var e,t;if(null===(e=window.djInterceptors)||void 0===e||null===(t=e.request)||void 0===t||!t.length())return!0;const s=this.getRequestType_();return!(!s||-1!==s.indexOf(d)||-1!==s.indexOf(c))}shouldReturnDirectly_(){var e,t;if(null===(e=window.djInterceptors)||void 0===e||null===(t=e.response)||void 0===t||!t.length())return!0;const s=this.getResponseType_();return!(!s||-1!==s.indexOf(c))}headersModified_(){const e={};let t=!1;const s=this._request.headers;return Object.getOwnPropertyNames(s||{}).forEach(n=>{s[n]!==this.__reqHeaders[n]&&(e[n]=s[n],t=!0)}),t?e:void 0}requestHooks_(){var e,t;let s=[],n=Promise.resolve(this._request);for(null===(e=window.djInterceptors)||void 0===e||null===(t=e.request)||void 0===t||t.forEach(e=>{s.push(e)});s.length;)n=n.then(s.shift());return n}responseHooks_(){var e,t;const s=Object.assign(this._response,{config:this._request});let n=Promise.resolve(s);if(this.shouldReturnDirectly_())return n;let o=[];for(null===(e=window.djInterceptors)||void 0===e||null===(t=e.response)||void 0===t||t.forEach(e=>{o.push(e)});o.length;)n=n.then(o.shift());return n}send(e){const t=()=>{if(e)return this.triggerRequestEvent(),e(this._request._body,this.redirectUrl_(),this.headersModified_())};return this.shouldSendDirectly_()?t():this.requestHooks_().then(e=>{e&&e.body&&this.deserializeBody_()}).catch(e=>{console.log(e)}).then(()=>t())}mock(e){return e?this.parseResponse_(e).then(()=>{this.triggerResponseEvent()}).then(()=>this.responseHooks_()).then(t=>{let{data:s,status:n}=t;if(!s)return e;if(s instanceof Response)return s;if(e.hasOwnProperty("data")){const t=this.canParseToJson_(e.data);return{status:n,data:this.isObject_(t)?JSON.stringify(s):s}}return e instanceof Response?new Response(JSON.stringify(s),{status:n,headers:e.headers,statusText:e.statusText}):void 0}).catch(()=>(this.triggerResponseEvent(),e)):Promise.resolve(e)}parseResponse_(e){if(this._response.status=e.status||200,e.hasOwnProperty("data")){this._response.headers=e.headers;const t=this.canParseToJson_(e.data);return this._response.data=this.isObject_(t)?t:e.data,Promise.resolve()}return e instanceof Response?(this._response.headers=this.parseHeaders_(e.headers),e.clone().json().then(e=>{this._response.data=e}).catch(()=>this._response.data=e)):Promise.resolve()}parseHeaders_(e){const t={};if("function"==typeof e.entries)for(const s of e.entries())t[s[0]]=s[1];return t}canParseToJson_(e){try{return JSON.parse(e)}catch{}return!1}isObject_(e){return"object"==typeof e}handleBeforeRequest_(){this.serializeBody_(),this.triggerBeforeRequestEvent()}intercept(e){this.handleBeforeRequest_();const t=this.send(e);if(t instanceof Promise)return t.then(e=>this.mock(e))}}function _(){const e=function(e){if(this.readyState===window.XMLHttpRequest.DONE&&(e.requestProxy_||e.responseMock_))return e.responseMock_||(e.responseMock_=t=>e.requestProxy_.mock.apply(e.requestProxy_,[t])),e.responseMock_({status:this.status,data:this.responseType_&&"text"!=this.responseType_?this.response:this.responseText,headers:f(e)}).then(e=>{let{data:t,status:s}=e;return this.response=this.responseText=t,this.status=s,t})};!function(e){const t=window;t.__xhr=t.__xhr||t.XMLHttpRequest;const s=t.__xhr.prototype.setRequestHeader,n=t.__xhr.prototype.open,o=t.__xhr.prototype.send,r=function(e,t){e&&Object.getOwnPropertyNames(e).filter(e=>!t||!t.hasOwnProperty(e)).forEach(t=>{s.apply(this,[t,e[t]])})};function i(t){return function(){const s=this.hasOwnProperty(t+"_")?this[t+"_"]:this.xhr[t],n=(e[t]||{}).getter;return n&&n(s,this)||s}}function a(t){return function(s){const n=this.xhr,o=this,r=e[t];if("on"===t.substring(0,2))o[t+"_"]=s,n[t]=function(r){const i=e[t]&&e[t].call(o,n,r);i?i.then(()=>s.call(o,r)):s.call(o,r)};else{const e=(r||{}).setter;s=e&&e(s,o)||s,this[t+"_"]=s;try{n[t]=s}catch(e){}}}}function d(t){return function(){const s=[].slice.call(arguments);if(e[t]){const n=e[t].call(this,s,this.xhr);if(n&&n.then)return n.then(()=>this.xhr[t].apply(this.xhr,[].slice.call(arguments)))}return this.xhr[t].apply(this.xhr,s)}}t.XMLHttpRequest.prototype.setRequestHeader=function(e,t){return this._headers=Object.assign({},this._headers||{},{[e]:t}),s.apply(this,arguments)},t.XMLHttpRequest.prototype.open=function(e,t){return this._method=e||"GET",this._url=t,n.apply(this,arguments)},t.XMLHttpRequest.prototype.send=function(e){return this.requestProxy_=new p(this._url,this._method,this._headers,e),this.requestProxy_.intercept((e,t,s)=>{t&&(n.apply(this,[this._method,t]),r.apply(this,[this._headers,s])),r.apply(this,[s]),o.call(this,e)})},t.XMLHttpRequest=function(){const e=new t.__xhr;for(let t in e){"function"===typeof e[t]?this[t]=d(t):Object.defineProperty(this,t,{get:i(t),set:a(t),enumerable:!0})}this.xhr=e},t.XMLHttpRequest.prototype=t.__xhr.prototype,Object.assign(t.XMLHttpRequest,{UNSENT:0,OPENED:1,HEADERS_RECEIVED:2,LOADING:3,DONE:4}),t.__xhr}({onreadystatechange:e,onload:e,onloadend:e,addEventListener:function(t,s){const n=this;if(["load","loadend","timeout","error","readystatechange","abort"].includes(t[0]))return e.call(n,s)}})}function f(e){const t=e.getAllResponseHeaders().trim().split(/[\r\n]+/);var s={};return t.forEach(e=>{const t=e.split(": "),n=t.shift(),o=t.shift();s[n]=o}),s}const v=["checkout","thank_you"],y=()=>{var e,t,s;v.includes(null===(e=window.C_SETTINGS)||void 0===e||null===(t=e.meta)||void 0===t||null===(s=t.page)||void 0===s?void 0:s.template_name)||(window.djInterceptors={request:new n,response:new n,track:new n},_(),function(){const e=window.fetch;"function"==typeof e&&(window.fetch=function(t){let s=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const n=(null==s?void 0:s.method)||"GET",o=new p(t,n,null==s?void 0:s.headers,null==s?void 0:s.body);return o.intercept((n,o,r)=>(s.body=n,r&&(s.headers&&"function"==typeof s.headers.set?Object.getOwnPropertyNames(r).forEach(e=>s.headers.set(e,r[e])):(s.headers||(s.headers={}),Object.assign(s.headers,r))),t=o||t,e.call(this,t,s)))})}())}},function(e,t,s){"use strict";s.d(t,"a",(function(){return y}));var n=s(0);const o=(e,t)=>{e>=200&&e<300&&t()},r=e=>{var t;if(!e)return{};const s=e.quantity||1,n=e.add_quantity||e.quantity||1;let o={option1:"",option2:"",option3:""};return null===(t=e.options)||void 0===t||t.forEach((e,t)=>{o["option"+(t+1)]=e.value}),{product_id:e.product_id,variant_id:e.variant_id,variant:o,name:e.product_title,item_price:e.price,quantity:s,number:n,properties:e.properties,type:""}},i=[{path:/\/api\/customers\/sign_up$/,method:"post",events:{"dj.registration":(e,t)=>{let{body:s}=e;t({accout:s.email,sign_up_method:s.email.indexOf("@")<0?"手机号":"邮箱"})}}}],a=[{path:/\/api\/search$/,method:"get",events:{"dj.productSearch":(e,t)=>{let{response:s,url:r}=e;o(s.status,()=>{const e=s.data.data||{},{total:o}=e;let i=e.keyword;i||(i=Object(n.b)(r).keyword),t({keyWord:i,total:o,hasResult:o>0,source:"api"})})}}},{path:new RegExp("/api/products/[0-9a-fA-F]{4}(?:[0-9a-fA-F]{4}-){4}[0-9a-fA-F]{12}$"),method:"get",events:{"dj.viewContent":(e,t)=>{let{response:s}=e;o(s.status,()=>{var e,n;t({product:null===(e=s.data)||void 0===e||null===(n=e.data)||void 0===n?void 0:n.product,selected:{},qty:1,source:"api"})})}}},{path:/\/api\/cart$/,method:"post",events:{"dj.addToCart":(e,t)=>{let{response:s}=e;o(s.status,()=>{var e,n;const o=null===(e=s.data.data)||void 0===e||null===(n=e.items)||void 0===n?void 0:n[0];t(r(o))})},"dj.cartChange":(e,t)=>{let{response:s}=e;o(s.status,()=>{t()})}}},{path:/\/api\/cart\/batch$/,method:"post",events:{"dj.addToCart":(e,t)=>{let{response:s}=e;o(s.status,()=>{var e;null===(e=s.data.items)||void 0===e||e.map(e=>{t(r(e))})})},"dj.cartChange":(e,t)=>{let{response:s}=e;o(s.status,()=>{t()})}}},{path:/\/api\/checkout\/order$/,method:"post",events:{"dj.addToCart":(e,t)=>{let{body:s,response:n}=e;o(n.status,()=>{var e;const o=null===(e=s.refer_info)||void 0===e?void 0:e.source;if("buy_now"==o){var i,a,d,c;const e=null===(i=n.data.data)||void 0===i||null===(a=i.items)||void 0===a?void 0:a[0],u=null===(d=s.refer_info)||void 0===d?void 0:d.pay_method,l=null===(c=n.data.data)||void 0===c?void 0:c.trade_id,h=Object.assign({},r(e),{source:o,pay_method:u,trade_id:l});t(h)}})},"dj.checkoutSubmit":(e,t)=>{let{body:s,response:n}=e;o(n.status,()=>{t({line_items:s&&s.line_items||[],refer_info:s&&s.refer_info||{}})})}}},{path:/\/api\/customers\/password_reset$/,method:"patch",events:{"dj.passwordReset":(e,t)=>{let{response:s}=e;200===s.status?t({forget:!0}):422===s.status&&t({forget:!1})}}},{path:/\/api\/customers\/sign_up$/,method:"post",events:{"dj.completeRegistration":(e,t)=>{let{response:s}=e;o(s.status,()=>{t("register")})}}},{path:/\/api\/customers\/sign_in$/,method:"post",events:{"dj.login":(e,t)=>{let{body:s,response:n}=e;const o=function(e,n){var o;t({login_method:s.email.indexOf("@")<0?"手机号":"邮箱",shop_name:null===(o=window.C_SETTINGS.shop)||void 0===o?void 0:o.shop_name,login_result:e,fail_reason:n||""})};if(200===n.status)o(!0);else if(422===n.status){const e=n.data.errors;o(!1,null!=e&&e.join?e.join(","):e)}}}},{path:/\/api\/customers\/sign_out$/,method:"post",events:{"dj.logout":(e,t)=>{let{response:s}=e;o(s.status,()=>{t()})}}},{path:/\/api\/customers\/newsletters$/,method:"post",events:{"dj.emailSubscription":(e,t)=>{let{response:s}=e;o(s.status,()=>{t()})}}},{path:/\/api\/cart\/[\w\-]+$/,method:"patch",events:{"dj.cartChange":(e,t)=>{let{response:s}=e;o(s.status,()=>{t(s.data.cart)})},"dj.cartItemChange":(e,t)=>{let{body:s,response:n}=e;o(n.status,()=>{t({cart:n.data.cart,item:s})})}}},{path:/\/api\/cart\/[\w\-]+$/,method:"delete",events:{"dj.cartChange":(e,t)=>{let{response:s}=e;o(s.status,()=>{t(s.data.cart)})},"dj.cartItemDelete":(e,t)=>{let{body:s,response:n}=e;o(n.status,()=>{t({cart:n.data.cart,item:s})})}}}],d=(e,t,s)=>{const o=Object(n.c)(t).pathname;return e.find(e=>{const t=e.path;if(e.method!==s.toLowerCase())return!1;if(t instanceof RegExp){if(t.test(o))return!0}else if(t===o)return!0})},c=(e,t)=>{if(!e)return;const s=(e=>{var t,s;const n={};return null===(t=window.djInterceptors)||void 0===t||null===(s=t.track)||void 0===s||s.forEach((t,s)=>{var o;null!=e&&null!==(o=e.events)&&void 0!==o&&o[t.event]&&(n[t.event]=Object.assign({},n[t.event],t.params),(null==t.once||t.once)&&window.djInterceptors.track.eject(s))}),n})(e);Object.keys((null==e?void 0:e.events)||{}).forEach(o=>{e.events[o](t,e=>{["undefined","object"].includes(typeof e)&&(e=Object.assign({},e,{_extra:s[o]})),Object(n.d)(o,e)})})},u=e=>{let{product:t,selected:s,qty:o}=e;Object(n.d)("dj.viewContent",{product:t||{},selected:s||{},qty:o||1,source:"pageview"})},l=(e,t,s)=>{if(C_SETTINGS.meta.page.template_name===t)try{window.addEventListener(e,s)}catch{}},h=(e,t)=>{l("load",e,t)};function p(){let e=document.querySelector("#product-json");return e?JSON.parse(e.innerHTML):"function"==typeof $?$(document).data("djproduct"):void 0}const _=()=>{h("product",()=>{let e={product:{},selected:{},qty:1},t=p();t&&Object.assign(e,t),requestAnimationFrame(()=>u(e))}),Object(n.a)("dj.variantChange",(e,t)=>{"complete"===document.readyState&&u(t)})},f=()=>{h("thank_you",()=>{var e;const t=null===(e=window.ORDER)||void 0===e?void 0:e.id,s=(e=>{try{const t=window.localStorage.getItem(e);return t&&JSON.parse(t)}catch(e){console.error(e)}})("__thank_you_already_event_map__")||{};null!=s&&s[t]||(s[t]=!0,((e,t)=>{try{window.localStorage.setItem(e,JSON.stringify(t))}catch(e){console.error(e)}})("__thank_you_already_event_map__",s),Object(n.d)("dj.purchase",Object.assign({},window.ORDER||{},{order_count:window.ORDER.customer&&window.ORDER.customer.order_count})))})};function v(){_(),h("search",()=>{const e=Object(n.b)(location.search).q,t=parseInt("");Object(n.d)("dj.productSearch",{keyword:e,total:t,hasResult:t>0,keyWord:e,source:"pageview"})}),f(),h("thank_you",()=>{Object(n.d)("dj.pageLoad",Object.assign({},window.ORDER||{}))}),h("product",()=>{Object(n.d)("dj.pageLoad",Object.assign({},p()||{}))})}function y(){Object(n.a)("dj.request",(e,t)=>{let{url:s,method:n,body:o}=t;const r=d(i,s,n);c(r,{url:s,body:o})}),Object(n.a)("dj.response",(e,t)=>{let{request:s,response:n}=t;const{url:o,method:r,body:i}=s,u=d(a,o,r);c(u,{url:o,method:r,body:i,response:n})}),v()}},function(e,t){try{(()=>{const e=e=>{const t=e.split("&&")[0];if(!t)return[];const s=t.indexOf("=");let n="";return-1!==s&&(n=t.slice(s+1)),n?n.split(";").filter(e=>e):[]},t=(e,t)=>{if(!t)return;if(/\/cuttlefish\//.test(t))return;return e.some(e=>{let s=t;return t.replace&&(s=t.replace("https:","")),s==e.replace("https:","")})},s=["application/javascript","text/javascript"],n=(e,t)=>{self.MainThread.upgradeScript(e,t)},o=o=>{const r=e(o);new MutationObserver(e=>{e.forEach(({addedNodes:e})=>{e.forEach(e=>{(e=>1===e.nodeType&&"SCRIPT"===e.tagName&&(!e.type||s.includes(e.type)))(e)&&(t(r,e.src)||"worker"==e.getAttribute("scope"))&&(e.type="text/spz-script",n(e.src,e))})})}).observe(document.documentElement,{childList:!0,subtree:!0})},r=o=>{const r=e(o),i=document.createElement,a=(e,n)=>e&&t(r,e)&&s.includes(n);document.createElement=function(e){const t=i.call(document,e);return"script"===e.toLowerCase()&&function(e){let t="",s="text/javascript";Object.defineProperty(e,"src",{get:function(){return t},set:function(o){t=o,e.setAttribute("src",o),a(t,s)&&(e.type="text/spz-script",n(t))}}),Object.defineProperty(e,"type",{get:function(){return s},set:function(n){s=n,a(t,s)&&(s="text/spz-script"),e.setAttribute("type",s)}});const o=e.setAttribute;e.setAttribute=function(){const t=Array.prototype.slice.call(arguments);"src"===t[0]?a(t[1],e.type)&&(e.type="text/spz-script",n(t[1])):"type"===t[0]&&a(e.src,t[1])&&(t[1]="text/spz-script"),o.apply(e,t)}}(t),t}};(()=>{const e="";e.includes("script_url")&&!e.includes("is_switch=0")&&(self.MainThread||(()=>{const e=window.C_SETTINGS.shop.cdn_domain+"cuttlefish/plugin",t=document.createElement("script");t.src=e+"/main.js",t.crossOrigin="anonymous",t.setAttribute("async",""),document.head.appendChild(t)})(),o(e),r(e))})()})()}catch(e){console.log(e)}},,,,,,function(e,t,s){s(11),s(4)},function(e,t,s){"use strict";s.r(t);var n=s(1),o=s(2),r=s(3);Object(n.a)(),Object(o.a)(),Object(r.a)()}]);/* top_v2-end */
</script>
<!-- End SeaHorse top -->
<!-- Begin Stork id:6d466354-a3ae-4633-9766-ed65d376ef4a appid: -->
<script type="application/javascript">/* tiktok_sdk {start} */!function(){"use strict";function t(t,e){const n=e.function_name,o=e.module;n&&o&&window.sa&&window.sa.registerExtraInfo&&window.sa.registerExtraInfo(t,e)}try{i=function(){["$pageview","product_view","product_search","add_to_cart","begin_checkout","set_shipping_address","add_shipping_method","add_payment_info","purchase","sign_up","login"].forEach((function(e){return function(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};t(e,Object.assign(n,{function_name:"tiktok_pixel",module:"apps"}))}(e,{ttp:("_ttp",n=new RegExp("(^| )_ttp=([^;]*)(;|$)"),o=document.cookie.match(n),o?decodeURIComponent(o[2]):"")});var n,o}))},"loading"!==document.readyState?setTimeout(i):document.addEventListener("DOMContentLoaded",(function t(){document.removeEventListener("DOMContentLoaded",t),i()}));var e=window,n=document;e.TiktokAnalyticsObject="ttq";var o=e.ttq=e.ttq||[];o.methods=["page","track","identify","instances","debug","on","off","once","ready","alias","group","enableCookie","disableCookie"],o.setAndDefer=function(t,e){t[e]=function(){for(var n=arguments.length,o=new Array(n),a=0;a<n;a++)o[a]=arguments[a];t.push([e].concat(Array.prototype.slice.call(o,0)))}};for(var a=0;a<o.methods.length;a++)o.setAndDefer(o,o.methods[a]);o.instance=function(t){for(var e=o._i[t]||[],n=0;n<o.methods.length;n++)o.setAndDefer(e,o.methods[n]);return e},o.load=function(t,e){var a="https://analytics.tiktok.com/i18n/pixel/events.js";o._i=o._i||{},o._i[t]=[],o._i[t]._u=a,o._t=o._t||{},o._t[t]=Date.now(),o._o=o._o||{},o._o[t]=e||{};var i=n.createElement("script");i.type="text/javascript",i.async=!0,i.src="".concat(a,"?sdkid=").concat(t,"&lib=").concat("ttq"),function(t){const e=document.getElementsByTagName("script")[0];e?e.parentNode.insertBefore(t,e):document.head.appendChild(t)}(i)}}catch(t){}var i}();/* tiktok_sdk {end} */</script><!-- pinterest_sdk start --->
<script>
try{!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")}catch(e){}
</script>
<!-- pinterest_sdk end --->
<!-- track_config start -->
<script>
try{(function(){var a="AD_TRACK_ASSETS";var c="track_config";var r={"pinterest":{"pixels":[{"pixel":"1763307","delay_second":0,"purchase_total_price":true,"exclude_freight_insurance":false}]},"tiktok":{"pixels":[{"pixel":"CQIFLLRC77U9D840IT30","advance":true,"delay_second":0,"purchase_total_price":false,"exclude_freight_insurance":false},{"pixel":"CQTGUL3C77UCKDVGHBD0","advance":true,"delay_second":0,"purchase_total_price":false,"exclude_freight_insurance":false},{"pixel":"CRG3O5RC77U0T68R14RG","advance":true,"delay_second":0,"purchase_total_price":false,"exclude_freight_insurance":false},{"pixel":"CRHAO1BC77UD12CU9E8G","advance":true,"delay_second":0,"purchase_total_price":false,"exclude_freight_insurance":false},{"pixel":"CRIL3K3C77U855HR9LM0","advance":true,"delay_second":0,"purchase_total_price":false,"exclude_freight_insurance":false},{"pixel":"CRILFD3C77U855HR9MS0","advance":true,"delay_second":0,"purchase_total_price":false,"exclude_freight_insurance":false},{"pixel":"CS7P4EBC77U9PD1VFOC0","advance":true,"delay_second":0,"purchase_total_price":false,"exclude_freight_insurance":false},{"pixel":"CSBM77BC77U5L30P01JG","advance":true,"delay_second":0,"purchase_total_price":false,"exclude_freight_insurance":false},{"pixel":"CSGA8RJC77U91IC6K8N0","advance":true,"delay_second":0,"purchase_total_price":false,"exclude_freight_insurance":false},{"pixel":"CT3BNKJC77U74JDQRFTG","advance":true,"delay_second":0,"purchase_total_price":false,"exclude_freight_insurance":false},{"pixel":"CTA14E3C77UANHJ2U0A0","advance":true,"delay_second":0,"purchase_total_price":false,"exclude_freight_insurance":false},{"pixel":"CTIIKAJC77UBFGGRHT2G","advance":true,"delay_second":0,"purchase_total_price":false,"exclude_freight_insurance":false},{"pixel":"CTIJQ7BC77U1GH2B52G0","advance":true,"delay_second":0,"purchase_total_price":false,"exclude_freight_insurance":false},{"pixel":"CTJ9TFRC77UDE4D3RR4G","advance":true,"delay_second":0,"purchase_total_price":false,"exclude_freight_insurance":false},{"pixel":"CTKJC0RC77UDUQAQJHO0","advance":true,"delay_second":0,"purchase_total_price":false,"exclude_freight_insurance":false},{"pixel":"CSQCPOJC77UEQKFPHUPG","advance":true,"delay_second":0,"purchase_total_price":false,"exclude_freight_insurance":false},{"pixel":"CSQC4NRC77U7NCGBV6T0","advance":true,"delay_second":0,"purchase_total_price":false,"exclude_freight_insurance":false},{"pixel":"CTQVIDBC77UDE4D47B1G","advance":true,"delay_second":0,"purchase_total_price":false,"exclude_freight_insurance":false},{"pixel":"CTR4R7RC77UDUQAQTIEG","advance":true,"delay_second":0,"purchase_total_price":false,"exclude_freight_insurance":false},{"pixel":"CTQVS9BC77U1GH2BHLUG","advance":true,"delay_second":0,"purchase_total_price":false,"exclude_freight_insurance":false},{"pixel":"CTSGP73C77U8UG3MJ2C0","advance":true,"delay_second":0,"purchase_total_price":false,"exclude_freight_insurance":false},{"pixel":"CTT2OD3C77UDUQAR0UB0","advance":true,"delay_second":0,"purchase_total_price":false,"exclude_freight_insurance":false},{"pixel":"CT3FOVJC77UF2P2A0B7G","advance":true,"delay_second":0,"purchase_total_price":false,"exclude_freight_insurance":false},{"pixel":"CT25JIBC77UANHJ2KVO0","advance":true,"delay_second":0,"purchase_total_price":false,"exclude_freight_insurance":false},{"pixel":"CU3I9SRC77U28FQ291K0","advance":true,"delay_second":0,"purchase_total_price":false,"exclude_freight_insurance":false},{"pixel":"CU4D4R3C77UF7FM1ICEG","advance":true,"delay_second":0,"purchase_total_price":false,"exclude_freight_insurance":false},{"pixel":"CU3O7JJC77U8JGP1SBF0","advance":true,"delay_second":0,"purchase_total_price":false,"exclude_freight_insurance":false},{"pixel":"CRL82DJC77U2RADG5RR0","advance":true,"delay_second":0,"purchase_total_price":false,"exclude_freight_insurance":false},{"pixel":"CTMJ06RC77U8UG3MA0E0","advance":true,"delay_second":0,"purchase_total_price":false,"exclude_freight_insurance":false},{"pixel":"CTTOU9JC77U1LI1DQBR0","advance":true,"delay_second":0,"purchase_total_price":false,"exclude_freight_insurance":false},{"pixel":"CTSF8V3C77U1LI1DO3T0","advance":true,"delay_second":0,"purchase_total_price":false,"exclude_freight_insurance":false},{"pixel":"CUIMLO3C77U74NKADVK0","advance":true,"delay_second":0,"purchase_total_price":false,"exclude_freight_insurance":false},{"pixel":"CUJGMERC77UAVCG2RHD0","advance":true,"delay_second":0,"purchase_total_price":false,"exclude_freight_insurance":false},{"pixel":"CUQ331RC77U4QKJNFM8G","advance":true,"delay_second":0,"purchase_total_price":false,"exclude_freight_insurance":false},{"pixel":"CUQ69I3C77U9GRQFS12G","advance":true,"delay_second":0,"purchase_total_price":false,"exclude_freight_insurance":false},{"pixel":"CUQ5U8JC77UAVCG30DLG","advance":true,"delay_second":0,"purchase_total_price":false,"exclude_freight_insurance":false},{"pixel":"CUSR7H3C77U47BI99S00","advance":true,"delay_second":0,"purchase_total_price":false,"exclude_freight_insurance":false},{"pixel":"CV0M98RC77UEG8VIPCDG","advance":true,"delay_second":0,"purchase_total_price":false,"exclude_freight_insurance":false},{"pixel":"CV397CBC77UD2954B7B0","advance":true,"delay_second":0,"purchase_total_price":false,"exclude_freight_insurance":false}]}};var n=window;var t;Object.assign(n[a]||(n[a]={}),(t={},t[c]=n[a][c]?Object.assign(n[a][c],r):r,t))})()}catch(a){}
</script>
<!-- track_config end -->
<!-- End Stork id:6d466354-a3ae-4633-9766-ed65d376ef4a appid: -->
<!-- Begin Stork id:42764966-11ac-4299-ba36-41bf52137204 appid: -->
<script type="text/javascript">Object.assign(window.AD_TRACK_ASSETS || (window.AD_TRACK_ASSETS={}),{"golden_world":"golden_world.OFVBVLXT.js"});</script>
<!-- End Stork id:42764966-11ac-4299-ba36-41bf52137204 appid: -->
</head>
<body class="nova template-product m-0 type-text-font-family leading-1.3" id="nova-theme">
<script id="product-json" data-id="93fe4067-b5aa-490b-ad4c-723faca8ae45" type="application/json">
{
"product": {"id":"93fe4067-b5aa-490b-ad4c-723faca8ae45","title":"100% Pure Himalayan Shilajit Resin High Potency for Men & Women 75 Servings for Energy Boost & Immune Support - XDX","vendor":"","vendor_url":"","has_only_default_variant":false,"requires_shipping":true,"taxable":false,"inventory_policy":"continue","inventory_quantity":319789,"inventory_tracking":true,"published":true,"handle":"100-pure-himalayan-shilajit-resin-high-potency-for-men-women-75-servings-for-energy-boost-immune-support-xdx","spu":"","note":"","need_variant_image":false,"fake_sales":956,"display_fake_sales":true,"independent_seo":false,"updated_at":"2024-11-06T07:29:00Z","created_at":"2024-09-01T08:00:59Z","mixed_wholesale":false,"product_type":"default","tags":"","available":true,"price_min":"29.9","price":"29.9","price_max":"85.9","compare_at_price_min":"59.8","compare_at_price":"59.8","compare_at_price_max":"179.4","retail_price_min":"59.8","retail_price_max":"179.4","url":"\/products\/100-pure-himalayan-shilajit-resin-high-potency-for-men-women-75-servings-for-energy-boost-immune-support-xdx","published_at":"2024-09-01T08:00:59Z","sales":963,"image":{"src":"\/\/cdn.shoplazza.com\/818563371d68645565970df0b5cea2f5.png","path":"818563371d68645565970df0b5cea2f5.png","width":1004,"height":915,"alt":"","aspect_ratio":1.0972677595628415},"options":[{"id":"65699392-6c71-4198-ac45-025a82779897","name":"BUY MORE SAVE MORE","position":1,"values":["1 Bottles","2 Bottles","3 Bottles+1 Free"]}],"variants":[{"id":"7f589715-109e-400b-9283-af937fcbb0af","product_id":"93fe4067-b5aa-490b-ad4c-723faca8ae45","title":"1 Bottles","weight_unit":"kg","inventory_quantity":9841,"sku":"080909-ShilaiResin-1Bottles","barcode":"","position":1,"option1":"1 Bottles","option2":"","option3":"","note":"","image":null,"wholesale_price":[{"price":29.9,"min_quantity":1}],"weight":"0","compare_at_price":"59.8","price":"29.9","retail_price":"59.8","available":true,"url":"\/products\/100-pure-himalayan-shilajit-resin-high-potency-for-men-women-75-servings-for-energy-boost-immune-support-xdx?variant=7f589715-109e-400b-9283-af937fcbb0af","available_quantity":999999999,"options":[{"name":"BUY MORE SAVE MORE","value":"1 Bottles"}],"off_ratio":50,"flashsale_info":[],"sales":963},{"id":"13cc6f51-4ec6-49a6-9a62-d71e5a2bd497","product_id":"93fe4067-b5aa-490b-ad4c-723faca8ae45","title":"2 Bottles","weight_unit":"kg","inventory_quantity":9982,"sku":"080909-ShilaiResin-2Bottles","barcode":"","position":2,"option1":"2 Bottles","option2":"","option3":"","note":"","image":null,"wholesale_price":[{"price":45.9,"min_quantity":1}],"weight":"0","compare_at_price":"119.6","price":"45.9","retail_price":"119.6","available":true,"url":"\/products\/100-pure-himalayan-shilajit-resin-high-potency-for-men-women-75-servings-for-energy-boost-immune-support-xdx?variant=13cc6f51-4ec6-49a6-9a62-d71e5a2bd497","available_quantity":999999999,"options":[{"name":"BUY MORE SAVE MORE","value":"2 Bottles"}],"off_ratio":62,"flashsale_info":[],"sales":963},{"id":"9d7cc015-9cae-4c9d-b2e8-fbe4e63be428","product_id":"93fe4067-b5aa-490b-ad4c-723faca8ae45","title":"3 Bottles+1 Free","weight_unit":"kg","inventory_quantity":299966,"sku":"080909-ShilaiResin-4Bottles","barcode":"","position":3,"option1":"3 Bottles+1 Free","option2":"","option3":"","note":"","image":null,"wholesale_price":[{"price":85.9,"min_quantity":1}],"weight":"0","compare_at_price":"179.4","price":"85.9","retail_price":"179.4","available":true,"url":"\/products\/100-pure-himalayan-shilajit-resin-high-potency-for-men-women-75-servings-for-energy-boost-immune-support-xdx?variant=9d7cc015-9cae-4c9d-b2e8-fbe4e63be428","available_quantity":999999999,"options":[{"name":"BUY MORE SAVE MORE","value":"3 Bottles+1 Free"}],"off_ratio":52,"flashsale_info":[],"sales":963}],"images":[{"src":"\/\/cdn.shoplazza.com\/818563371d68645565970df0b5cea2f5.png","path":"818563371d68645565970df0b5cea2f5.png","width":1004,"height":915,"alt":"","aspect_ratio":1.0972677595628415},{"src":"\/\/cdn.shoplazza.com\/9af8367ccaa47739e63868584e9afa09.png","path":"9af8367ccaa47739e63868584e9afa09.png","width":1000,"height":1000,"alt":"","aspect_ratio":1},{"src":"\/\/cdn.shoplazza.com\/dc0e04f8135ae41ca2bf8e11f861d6a6.png","path":"dc0e04f8135ae41ca2bf8e11f861d6a6.png","width":1080,"height":1080,"alt":"","aspect_ratio":1},{"src":"\/\/cdn.shoplazza.com\/6a33ab6a160cb99fba37092631010cdf.png","path":"6a33ab6a160cb99fba37092631010cdf.png","width":1000,"height":1000,"alt":"","aspect_ratio":1},{"src":"\/\/cdn.shoplazza.com\/20cce32f0e586288daf13e2071c751e8.png","path":"20cce32f0e586288daf13e2071c751e8.png","width":1080,"height":1080,"alt":"","aspect_ratio":1},{"src":"\/\/cdn.shoplazza.com\/b59d6b96cb1cc7279ba2940fff53e544.jpg","path":"b59d6b96cb1cc7279ba2940fff53e544.jpg","width":1080,"height":1080,"alt":"","aspect_ratio":1},{"src":"\/\/cdn.shoplazza.com\/58bf1675eed04751c9989653359fbfa5.png","path":"58bf1675eed04751c9989653359fbfa5.png","width":1080,"height":1080,"alt":"","aspect_ratio":1}],"redirect":false,"redirect_url":"","retail_price":"59.8","price_varies":false,"off_ratio":50,"flashsale_info":[]},
"selected":
{"id":"7f589715-109e-400b-9283-af937fcbb0af","product_id":"93fe4067-b5aa-490b-ad4c-723faca8ae45","title":"1 Bottles","weight_unit":"kg","inventory_quantity":9841,"sku":"080909-ShilaiResin-1Bottles","barcode":"","position":1,"option1":"1 Bottles","option2":"","option3":"","note":"","image":null,"wholesale_price":[{"price":29.9,"min_quantity":1}],"weight":"0","compare_at_price":"59.8","price":"29.9","retail_price":"59.8","available":true,"url":"\/products\/100-pure-himalayan-shilajit-resin-high-potency-for-men-women-75-servings-for-energy-boost-immune-support-xdx?variant=7f589715-109e-400b-9283-af937fcbb0af","available_quantity":999999999,"options":[{"name":"BUY MORE SAVE MORE","value":"1 Bottles"}],"off_ratio":50,"flashsale_info":[],"sales":963}
}
</script>
<style>
.back-to-top {
position: fixed;
right: 16px;
bottom: 34px;
width: 50px;
height: 50px;
background-color: rgba(41,41,41,.4);;
transition: transform 300ms cubic-bezier(0.455, 0.03, 0.515, 0.955);
z-index: calc(var(--z-index-fixed) + 5);
}
.back-to-top[show] { transform: translateY(0); }
@media (min-width: 960px) {
.back-to-top {
right: 32px;
bottom: 24px;
}
}
</style>
<div class="hidden back-to-top flex items-center justify-center rounded-full cursor-pointer shadow" id="top-button" @tap="nova-theme.scrollTo(position='top');">
<svg class="" width="16" height="18" fill="#FFF" xmlns="http://www.w3.org/2000/svg"><g><path d="M7.58 4.333a.6.6 0 0 1 .848 0l7.283 7.283a.3.3 0 0 1 0 .425l-.764.763a.3.3 0 0 1-.424 0L8.85 7.131V17.7a.3.3 0 0 1-.3.3H7.47a.3.3 0 0 1-.3-.3V7.118l-5.686 5.686a.3.3 0 0 1-.424 0l-.764-.764a.3.3 0 0 1 0-.424l7.283-7.283ZM0 .3A.3.3 0 0 1 .3 0h15.4a.3.3 0 0 1 .3.3v1.06a.3.3 0 0 1-.3.3H.3a.3.3 0 0 1-.3-.3V.3Z"></path></g></svg>
</div>
<spz-observer layout="logic" value="500" @scrollexceedboundary="top-button.toggleClass(class='hidden', force=false);" @scrollnotexceedboundary="top-button.toggleClass(class='hidden', force=true);" class="i-spzhtml-layout-logic" i-spzhtml-layout="logic"></spz-observer>
<template id="product-snippet-template">
<div>
${(function(){
const get_random_six_digits = () => {
return Math.random().toString().slice(-6)
};
const wholesale_enabled = false;
const setting_product_image_display = "100%";
const product_image = data.image;
const secondary_image = data.secondImage;
const image_width = product_image.width;
let image_height = product_image.height;
if(setting_product_image_display == '100%'){
image_height = image_width
}else if(setting_product_image_display == '133.33%'){
image_height = image_width * 1.3333;
};
const product_image_hover_on = true && !!secondary_image.src;
const has_save_label = true && ((+data.compare_at_price) > (+data.price));
const is_single_variant = data.variants.length == 1;
const min_price_variant_href = (data.min_price_variant && data.min_price_variant.available) ? data.min_price_variant.withinUrl : data.withinUrl;
const retail_price_max = data.retail_price_max || data.compare_at_price_max;
const THUMBNAILS_MAX_SIZE = 3;
const thumbnails = data.thumbVariants.slice(0, THUMBNAILS_MAX_SIZE);
const image_wrap_id = 'image_wrap_' + get_random_six_digits();
const image_carousel_id = 'image_carousel_' + get_random_six_digits();
const thumbnails_selector_id = 'thumbnails_selector_' + get_random_six_digits();
const form_id = 'form_' + get_random_six_digits();
const mixed_wholesale = data.mixed_wholesale;
return `
<div class="product-snippet__img-wrapper relative" id="${image_wrap_id}">
<a class="product-snippet__img-link relative block overflow-hidden" spz-href="${data.withinUrl}" ${product_image_hover_on?"has-secondary-image":""}>
<spz-img class="product-snippet__img product-snippet__img_main" layout="responsive" width="${image_width}" height="${image_height}" src="${product_image.src}" alt="${product_image.alt}" object-fit="cover" auto-fit></spz-img>
<spz-carousel class="product-snippet__img product-snippet__img_carousel" id="${image_carousel_id}" layout="responsive" width="${image_width}" height="${image_height}" initial-slide="0" slide effect="fade" spz-if="${thumbnails.length>0}">
<spz-img spz-if="!!item.image" layout="responsive" width="${image_width}" height="${image_height}" src="${item.image && item.image.src || ''}" alt="${item.image && item.image.alt || ''}" object-fit="cover" auto-fit spz-for="(item, index) in thumbnails" key="index"></spz-img>
</spz-carousel>
<spz-img class="product-snippet__img-secondary absolute top-0" layout="responsive" width="${image_width}" height="${image_height}" src="${secondary_image.src || ''}" alt="${secondary_image.alt}" object-fit="cover" auto-fit></spz-img>
</a>
<button type="button" class="product-snippet__quick-shop-icon" data-track-product-id="${data.id}" data-track-position="" data-track="quick_shop" @tap="quick-shop.open;quick-shop-render.render(src='/api/products/${data.id}');" spz-if="${data.available && !(!wholesale_enabled && is_single_variant)}">
<svg class="" width="16" height="16" xmlns="http://www.w3.org/2000/svg"><path d="M8.6 1.9a.3.3 0 0 0-.3-.3h-.6a.3.3 0 0 0-.3.3v5.5H1.9a.3.3 0 0 0-.3.3v.6a.3.3 0 0 0 .3.3h5.5v5.5a.3.3 0 0 0 .3.3h.6a.3.3 0 0 0 .3-.3V8.6h5.5a.3.3 0 0 0 .3-.3v-.6a.3.3 0 0 0-.3-.3H8.6V1.9z" fill="currentColor"></path></svg>
</button>
<spz-product-form product-id="${data.id}" layout="container" @atcsuccess="add-card-toast-success.showToast(content='Added successfully');" @atcerror="theme-toast.showToast(content=event.message);" spz-if="${data.available && !wholesale_enabled && is_single_variant}">
<form>
<input name="variant_id" type="hidden" value="${data.variants[0].id}">
<button type="button" class="product-snippet__quick-shop-icon" role="addToCart" data-quick-shop="${data.handle}" data-track-product-id="${data.id}" data-track="click" data-track-content="add_to_cart" data-track-source="quick_shop">
<svg class="" width="16" height="16" xmlns="http://www.w3.org/2000/svg"><path d="M8.6 1.9a.3.3 0 0 0-.3-.3h-.6a.3.3 0 0 0-.3.3v5.5H1.9a.3.3 0 0 0-.3.3v.6a.3.3 0 0 0 .3.3h5.5v5.5a.3.3 0 0 0 .3.3h.6a.3.3 0 0 0 .3-.3V8.6h5.5a.3.3 0 0 0 .3-.3v-.6a.3.3 0 0 0-.3-.3H8.6V1.9z" fill="currentColor"></path></svg>
</button>
</form>
</spz-product-form>
<a class="product_snippet__label" label-type="${data.available?'save':'sold_out'}" spz-href="${min_price_variant_href}" spz-if="${!data.available||has_save_label}">
${
data.available
?
`${
(+data.compare_at_price > +data.price)
? `Save
${ data.off_ratio }%
`
: ''
}`
: "Sold out"
}
</a>
</div>
<div spz-if="${mixed_wholesale}">
<style>
.mixed_wholesale_label {
padding: 2px 4px;
}
.mixed_wholesale_tooltip .i-spzhtml-tooltip-arrow:before,
.mixed_wholesale_tooltip .i-spzhtml-tooltip-inner {
background: var(--color-body-bg);
color: var(--color-body-text);
}
.mixed_wholesale_tooltip {
max-width: 100%;
border-radius: 4px;
box-shadow: 0px 0px 2px rgba(0, 0, 0, 0.1), 0px 2px 10px rgba(0, 0, 0, 0.1);
}
@media (min-width: 960px) {
.mixed_wholesale_tooltip {
max-width: 450px;
}
}
</style>
<div class="mt-2 lg:mt-3 mixed_wholesale_label inline-flex color-custom-label-text bg-custom-label text-xs rounded" id="mixed-${image_wrap_id}">
Mixed Lot
</div>
<spz-tooltip layout="logic" content="You can enjoy the wholesale price when you add up to {{count}} pieces of current goods and any goods that support "Mixed Lot" in the store." interact="hover" for="mixed-${image_wrap_id}" placement="bottom" overlay-class="mixed_wholesale_tooltip">
</spz-tooltip>
</div>
<h3 class="product-snippet__title dj_skin_product_list_title m-0 mt-2 p-0 body-base leading-1.25 type-heading-font-family product-title-color line-clamp-1 ">
<a class="text-inherit no-underline" spz-href="${data.withinUrl}">
${data.title}
</a>
</h3>
<a class="product-snippet__price-wrapper flex items-center flex-wrap mt-2 text-inherit no-underline" spz-href="${min_price_variant_href}">
<span class="product-snippet__price ${data.price_min != data.price_max ? 'product-snippet__from-price' : ''}">
${
data.price_min != data.price_max
? `from
<spz-currency value="${data.price}" layout="container"></spz-currency>
`
: `
<spz-currency value="${data.price}" layout="container"></spz-currency>
`
}
</span>
<spz-currency class="product-snippet__compare-at-price" value="${data.compare_at_price}" layout="container" spz-if="${+data.compare_at_price>+data.price}"></spz-currency>
</a>
<spz-selector id="${thumbnails_selector_id}" layout="container" class="product-snippet__thumbnails flex items-center flex-wrap mt-2" @mouseover="${thumbnails_selector_id}.toggle(option=event.targetOption,value=true);${image_carousel_id}.goToSlide(index=event.targetOption);${image_wrap_id}.toggleClass(class='show_carousel',force=true)" spz-if="${thumbnails.length>0}">
<a spz-if="!!item.image" class="product-snippet__thumbnails-item flex cursor-pointer" spz-href="${item.withinUrl}" spz-for="(item, index) in thumbnails" key="index" option="${index}">
<spz-img layout="fixed" width="28" height="28" src="${item.image && item.image.src || ''}" alt="${item.image && item.image.alt || ''}" object-fit="cover" auto-fit></spz-img>
</a>
<a spz-href="${data.withinUrl}" class="product-snippet__thumbnails-item text-xs text-inherit no-underline" spz-if="${data.remainInvisibleThumbCount>0}">
+${data.remainInvisibleThumbCount}
</a>
</spz-selector>
`
})()}
</div>
</template>
<div class="page_container">
<div id="shoplaza-section-announcement" class="shoplaza-section" data-section-id="announcement" data-section-type="announcement" data-section-style="">
<div class="page-container relative">
<spz-carousel ssr class="announcement-content md:hidden mx-auto text-center i-spzhtml-layout-container" layout="container" loop autoplay delay="5000" i-spzhtml-layout="container">
<div class="break-all py-2 mce-content"><p>✈PayPal certified 5-star rated merchant & FREE SHIPPING ON ORDERS OVER $100</p></div>
<div class="break-all py-2 mce-content"><p>Packages are shipped with email notifcation and orders can be tracked through the bottom of the store</p></div>
<div class="break-all py-2 mce-content"><p><strong>2025 New Year's Offer, up to 60% off</strong></p></div>
</spz-carousel>
<spz-carousel ssr class="announcement-content lg:hidden mx-auto text-center i-spzhtml-layout-container" layout="container" loop autoplay delay="5000" i-spzhtml-layout="container">
<div class="break-all w-full py-2 flex-shrink-0 mce-content"><p>✈ FREE SHIPPING ON ORDERS OVER $100</p></div>
<div class="break-all w-full py-2 flex-shrink-0 mce-content"><p>Packages are shipped with email notifcation and orders can be tracked through the bottom of the store</p></div>
<div class="break-all w-full py-2 flex-shrink-0 mce-content"><p><strong>2025 New Year's Offer, up to 60% off</strong></p></div>
</spz-carousel>
</div>
</div>
<div id="shoplaza-section-header" class="shoplaza-section" data-section-id="header" data-section-type="header" data-section-style="">
<style>
.header__desktop,
.header__mobile {
color: var(--color-header-text);
position: relative;
z-index: 20;
}
.header__layout {
background: var(--color-header-bg);
}
.header-shadow{
box-shadow: 0 6px 10px -3px rgba(41, 41, 41, 0.08);
}
.header-bg {
background: var(--color-header-bg);
}
.header__menu-item-tag{
margin-top: -6px;
margin-left: 2px;
padding: 2px 4px;
font-size: 12px;
line-height: 1;
border-radius: 2px;
}
[data-section-id="header"]{
pointer-events: none;
}
</style>
<style>
@media (min-width: 960px) {
[data-section-id="header"]{
position: sticky;
top: 0;
z-index: 1021;
}
}
@media (max-width: 959.98px) {
[data-section-id="header"]{
position: sticky;
top: 0;
z-index: 1021;
}
}
</style>
<style>
/* layout left */
.header__desktop[data-layout="left"] .header__logo {
flex: 1;
order: 1;
}
.header__desktop[data-layout="left"] .header__icons {
order: 4;
}
.header__desktop[data-layout="left"] .header__menu-sticky,
.header__desktop[data-layout="center"] .header__menu-sticky {
display: none;
order: 2;
}
/* layout center */
.header__desktop[data-layout="center"] .header__logo {
order: 2;
display: flex;
justify-content: center;
}
.header__desktop[data-layout="center"] .header__search {
flex: 1;
order: 1;
}
/* layout menu_left_logo_center */
.header__desktop[data-layout="menu_left_logo_center"] .header__logo {
order: 2;
display: flex;
justify-content: center;
width: 200px;
margin-left: 50px;
margin-right: 50px;
}
/* layout logo_left_menu_left */
.header__desktop[data-layout="logo_left_menu_left"] .header__logo {
order: 0;
display: flex;
margin-right: 24px;
}
.header__desktop[data-layout="logo_left_menu_left"] .header__icons {
order: 4;
justify-content: end;
}
.header__desktop[data-layout="center"] .header__icons,
.header__desktop[data-layout="menu_left_logo_center"] .header__icons {
flex: 1;
order: 4;
justify-content: end;
}
.header__desktop[data-layout="left"] .header__menu-sticky,
.header__desktop[data-layout="center"] .header__menu-sticky,
.header__desktop[data-layout="logo_left_menu_left"] .header__menu-sticky {
padding-left: 28px;
padding-right: 28px;
}
.header__desktop[data-layout="logo_left_menu_left"] .header__menu-sticky .header__menu-item-sub,
.header__desktop[data-layout="menu_left_logo_center"] .header__menu-sticky .header__menu-item-sub {
max-width: 425px;
}
.header__desktop[data-layout="left"] .header__menu-wrapper .header__menu,
.header__desktop[data-layout="center"] .header__menu-wrapper .header__menu{
padding: 6px 0 0 0;
}
.header__desktop[data-layout="left"] .header__menu-wrapper .header__menu-item-sub,
.header__desktop[data-layout="center"] .header__menu-wrapper .header__menu-item-sub{
padding-bottom: 17px;
}
</style>
<style>
@media (min-width: 960px) {
.header__scroll_hide,
.header__scroll_hide ~ *{
transition: transform 0.3s;
}
#shoplaza-section-header.show_shadow .header__desktop .header__menu-wrapper{
box-shadow: 0 6px 10px -3px rgba(41, 41, 41, 0.08);
}
body.header_scroll #shoplaza-section-header{
box-shadow: none;
}
.header_scroll .header__desktop[data-layout="center"] .header__search,
.header_scroll .header__desktop[data-layout="center"] .header__icons,
.header_scroll .header__desktop[data-layout="left"] .header__search,
.header_scroll .header__desktop[data-layout="left"] .header__icons
{
flex-grow: unset;
}
.header_scroll .header__desktop[data-layout="center"] .header__logo,
.header_scroll .header__desktop[data-layout="left"] .header__logo{
flex-grow: unset;
order: 1;
margin-right: 20px;
}
.header_scroll .header__desktop[data-layout="center"] .header__scroll_hide,
.header_scroll .header__desktop[data-layout="left"] .header__scroll_hide{
transform: translateY(-100%);
}
.header_scroll .header__desktop[data-layout="center"] .header__scroll_hide ~ *,
.header_scroll .header__desktop[data-layout="left"] .header__scroll_hide ~ *{
transform: translateY(calc(-1 * var(--header-scroll-hide-height-pc)));
}
.header_scroll .header__desktop[data-layout="center"] .header__menu-sticky,
.header_scroll .header__desktop[data-layout="left"] .header__menu-sticky{
display: block;
flex: 1;
}
}
@media (max-width: 959.98px) {
.header__scroll_hide {
transition: transform .5s;
}
#shoplaza-section-header.show_shadow .header__mobile .header__fixed-top {
box-shadow: 0 6px 10px -3px rgba(41, 41, 41, 0.08);
}
.header_scroll .header__scroll_hide.non-sticky {
transform: translateY(-100%);
}
.header__icons.show-menu-icon .header__account,
.header__icons:not(.show-menu-icon) .header__icon-menu--force,
#header-search-container-mobile:not(.show) {
display: none;
}
}
</style>
<style>
.header__logo{
margin: 0;
font-size: 0;
}
.header__logo-title{
max-width: 185px;
overflow-wrap: break-word;
font-size: 24px;
line-height: 38px;
font-weight: 600;
color: inherit;
overflow: hidden;
text-decoration-line: none;
}
[data-section-id="header"] .image_width {
width: 70px;
}
@media (min-width: 960px) {
.header__logo{
padding: 18px 0;
}
.header__logo-title{
max-width: 380px;
font-size: 30px;
line-height: 36px;
font-weight: 500;
}
[data-section-id="header"] .image_width {
width: 80px;
}
}
@media (max-width: 959.98px) {
.header__logo{
flex: 1;
}
}
</style>
<style>
.header__account,
.header__cart,
.header__drawer_icon{
margin-left: 22px;
}
.header__account_dropdown {
margin: 6px;
}
.header__account_dropdown .i-spzhtml-dropdown-container {
background-color: transparent;
}
.header__account_dropdown_content{
width: 146px;
padding: 15px;
font-size: 14px;
line-height: 18px;
color: var(--color-menu-item-text);
background-color: var(--color-header-bg);
z-index: var(--z-index-dropdown);
transition: all 200ms;
border-radius: 4px;
}
.header__account_dropdown_content > li{
cursor: pointer;
}
.header__account_dropdown_content > li:hover{
color: var(--color-menu-item-text-70);
}
.header__account_dropdown_content > li + li{
margin-top: 18px;
}
.header__account_dropdown_content a{
color: inherit;
text-decoration: none;
}
.header__cart-count{
min-height: 18px;
min-width: 18px;
padding: 3px 4px;
top: -18px;
right: -4px;
font-size: 12px;
color: var(--color-cart-dot-text);
background-color: var(--color-cart-dot-bg);
}
.header-cart-back-btn {
margin-right: 2px;
}
html[dir="rtl"] .header-cart-back-btn {
margin-left: 2px;
margin-right: 0;
transform: rotate(180deg);
}
@media (min-width: 960px) {
.header__account,
.header__cart,
.header__plugin-container > *{
margin-left: 30px;
margin-right: unset;
}
.header__account_dropdown_content{
visibility: hidden;
position: absolute;
margin-top: 10px;
margin-left: -50px;
width: 160px;
}
.header__account:hover .header__account_dropdown_content{
visibility: visible;
}
}
</style>
<spz-observer layout="logic" value="1" @scrollexceedboundary="shoplaza-section-header.toggleClass(class='show_shadow', force=true);" @scrollnotexceedboundary="shoplaza-section-header.toggleClass(class='show_shadow', force=false);" class="i-spzhtml-layout-logic" i-spzhtml-layout="logic"></spz-observer>
<spz-observer layout="logic" @scrolldown="nova-theme.toggleClass(class='header_scroll', force=true);header-menu-top.updateMoreLink" @scrollup="nova-theme.toggleClass(class='header_scroll', force=false);" class="i-spzhtml-layout-logic" i-spzhtml-layout="logic"></spz-observer>
<div class="header_container relative">
<style>
.header__menu-sticky{
padding-top: 28px;
}
.header__menu-sticky .header__menu-item-sub{
padding-bottom: 28px;
}
</style>
<div class="header__desktop md:hidden" data-layout="center">
<div class="header__layout relative z-50 pointer-events-auto">
<div class="header__layout-content page-container flex items-center direction_ltr_self">
<h2 class="header__logo flex-shrink-0 type-heading-font-family">
<a class="header__logo-title md:hidden" href="#">
AngleFaceUS
</a>
<a class="header__logo-title lg:hidden" href="#">
AngleFaceUS
</a>
</h2>
<style>
.header__search button,
.header__search input{
border: none;
outline: none;
}
.header__search-btn,
.header__search-icon{
background: transparent;
}
.header__search-form{
min-height: 40px;
}
.header__search-input{
font-size: 13px;
line-height: 16px;
color: var(--color-header-search-text);
background-color: var(--color-header-search-bg);
padding: 12px 16px 12px 36px;
border-radius: 2px 0 0 2px;
}
.header__search-input:not(:placeholder-shown) ~ .header__search-icon-close{
display: flex;
}
.header__search-icon{
left: 10px;
top: 50%;
transform: translateY(-50%);
color: var(--color-header-search-text-50);
}
.header__search-icon-close{
top: 50%;
transform: translateY(-50%);
height: 18px;
width: 18px;
color: #fff;
background: #C0C0C0;
right: 10px;
}
.header__search-icon:hover,
.header__search-icon-close:hover{
color: var(--color-header-search-text);
}
.header__search-submit-btn{
padding: 11px 16px;
font-size: 14px;
line-height: 18px;
color: var(--color-header-search-btn-text);
background-color: var(--color-header-search-btn-bg);
border-radius: 0 2px 2px 0;
}
@media (max-width: 959.98px) {
.header__search-form{
width: 100%
}
}
@media (min-width: 960px) {
.header__search-form{
margin: 18px 0;
}
.header__search-input{
width: 232px;
border-radius: 2px;
}
.header__desktop[data-layout="left"] .header__search-input{
width: 278px;
}
}
</style>
<div class="header__search flex-shrink-0 flex items-center" id="">
<button type="button" class="header__search-btn p-0 m-0 text-0 text-inherit cursor-pointer" @tap="shoplaza-section-announcement.toggleClass(class='header_mask_open', force=true);header_search_sidebar.open()">
<svg class="" width="26" height="26" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M17.925 20.057A9.955 9.955 0 0 1 12 22C6.477 22 2 17.523 2 12S6.477 2 12 2s10 4.477 10 10a9.968 9.968 0 0 1-2.864 7.006l4.929 4.928a.8.8 0 0 1-1.132 1.132l-5-5-.008-.01zM20.4 12a8.4 8.4 0 1 1-16.8 0 8.4 8.4 0 0 1 16.8 0z" fill="currentColor"></path></svg>
</button>
</div>
<spz-observer layout="logic" target="header__plugin-container" @childupdated="header-menu-top.updateMoreLink" class="i-spzhtml-layout-logic" i-spzhtml-layout="logic"></spz-observer>
<div class="header__icons flex-shrink-0 flex items-center">
<div class="header__plugin-container md:hidden flex items-center" id="header__plugin-container">
<div>
<div id="plugin-c-market-block">
<script async crossorigin="anonymous" src="https://tk.lazbbq.asia/ym/002/static/js/spz.min.js"></script>
<ljs-script layout="logic" type="application/javascript" style="display:none" class="i-spzhtml-layout-logic" i-spzhtml-layout="logic">
const marketSlot = document.querySelector(".plugin_c_market");
if(marketSlot) {
marketSlot.remove();
}
</ljs-script>
<ljs-script layout="logic" type="application/javascript" style="display:none" class="i-spzhtml-layout-logic" i-spzhtml-layout="logic">
const SITE = (window.C_SETTINGS || window[atob('U0hPUExBWlpB')])?.routes?.root || '';
const MARKET_THEME_SETTINGS = `${SITE}/api/markets/theme_setting`;
const MARKET_COUNTRIES = `${SITE}/api/markets/countries`;
const IP_MATCHING_MARKET = `${SITE}/api/front/station`;
const MARKET_LANGUAGES = `${SITE}/api/markets/:id/active_languages`;
const URL_REDIRECT = '_market_redirected';
const COOKIE_TIPS_NAME = 'market_no_tips';
const COOKIE_TIPS_EXPIRES = 1000 * 60 * 60 * 24 * 14;
const MARKET_COUNTRY_COOKIE = '_shoplazza_market_country';
const MARKET_MODAL_LOADED = '__market_modal_loaded__';
const PROPERTY_SELECTED = 'selected';
const MARKET_PC_HEADER_TRIGGER = 'market-pc-header-trigger';
const MARKET_PC_HEADER_COUNTRY_SELECT_TITLE =
'market-pc-header-country-select-title';
const MARKET_PC_HEADER_LANGUAGE_SELECT_TITLE =
'market-pc-header-language-select-title';
const MARKET_PC_HEADER_LANGUAGE_SELECT_SUB_TITLE =
'market-pc-header-language-select-sub-title';
const MARKET_PC_HEADER_COUNTRY_SELECT_SUB_TITLE =
'market-pc-header-country-select-sub-title';
const MARKET_FLAG = 'market-flag';
const MARKET_SELECT_VALUE = 'market-select-value';
const MARKET_CURRENCY = 'market-currency';
const MARKET_CURRENCY_SYMBOL = 'market-currency-symbol';
const MARKET_SELECT_ITEM = 'market-select-item';
const MARKET_SELECT_ITEM_ID = 'market-select-item-id';
const MARKET_SELECT_LIST = 'market-select-list';
const MARKET_LANGUAGE_SELECT = 'market-language-select';
const MARKET_COUNTRY_SELECT = 'market-country-select';
const MARKET_MODAL = 'market-modal';
const MARKET_GATEWAY_REDIRECT_MODAL = 'market-gateway-redirect-modal';
const MARKET_RESELECT_MODAL = 'market-reselect-modal';
const MARKET_MODAL_FLAG = 'market-modal-flag';
const MARKET_MODAL_COUNTRY_CODE = 'market-modal-country-code';
const MARKET_MODAL_CURRENCY_SYMBOL = 'market-modal-currency-symbol';
const MARKET_MODAL_CLOSE = 'market-modal-close';
const MARKET_MODAL_CONFIRM = 'market-modal-confirm';
const MARKET_MODAL_RESELECT = 'market-modal-reselect';
const MARKET_MODAL_RESELECT_COUNTRY_SELECT =
'market-modal-reselect-country-select';
const DATA_SECTION_TYPE = 'data-section-type';
const SECTION_TYPE_HEADER = 'header';
const SECTION_TYPE_FOOTER = 'footer';
class SpzCustomMarket extends SPZ.BaseElement {
constructor(element) {
super(element);
this.global = null;
this.useCountrySelect_ = false;
this.useLanguageSelect_ = false;
this.useModal_ = false;
this.isSingleSelectMode_ = false;
this.blockSectionPosition_ = '';
this.isEditMode = false;
this.ipMatchingMarket = null;
this.marketCountryList = [];
this.marketLanguages = [];
this.toast = null;
}
static deferredMount() {
return false;
}
isLayoutSupported(layout) {
return layout == SPZCore.Layout.LOGIC;
}
buildCallback() {
console.debug('Geolocation');
this.xhr_ = SPZServices.xhrFor(this.win);
const platform = SPZServices.platformFor(this.win);
this.isIOS_ = platform.isIos();
this.action_ = SPZServices.actionServiceForDoc(this.element);
this.global = this.win.C_SETTINGS || this.win[atob('U0hPUExBWlpB')];
this.isEditMode =
new URLSearchParams(this.win.location.search).get('preview_theme_id') &&
new URLSearchParams(this.win.location.search).get('oseid');
this.init_();
}
showToast_(content) {
if (!this.toast) {
this.toast = self.document.createElement('ljs-toast');
this.toast.setAttribute('layout', 'nodisplay');
this.toast.setAttribute('hidden', '');
this.toast.setAttribute('duration', '2000');
this.element.appendChild(this.toast);
}
SPZ.whenApiDefined(this.toast).then((apis) => {
apis.showToast(content);
});
}
triggerEvent_(name, data) {
const event = SPZUtils.Event.create(this.win, `${TAG}.${name}`, data);
this.action_.trigger(this.element, name, event);
}
findBlockSectionPosition() {
let current = this.element;
while (current) {
const dataSectionType = current.getAttribute(DATA_SECTION_TYPE);
if (
dataSectionType === SECTION_TYPE_HEADER ||
dataSectionType === SECTION_TYPE_FOOTER
) {
return dataSectionType;
}
current = current.parentElement;
}
return '';
}
async initSettings_() {
await this.getMarketThemeSettings_();
if (this.useCountrySelect_) {
this.element.setAttribute('use-country-select', true);
}
if (this.useLanguageSelect_) {
this.element.setAttribute('use-language-select', true);
}
if (this.useModal_) {
this.element.setAttribute('use-modal', true);
}
if (
(this.useCountrySelect_ && !this.useLanguageSelect_) ||
(!this.useCountrySelect_ && this.useLanguageSelect_)
) {
this.isSingleSelectMode_ = true;
}
this.blockSectionPosition_ = this.findBlockSectionPosition();
this.isPCLayout_ = this.win.matchMedia('(min-width: 960px)').matches;
}
renderMarketSelectTemplateNode_(clonedTemplate, data) {
this.renderTemplateImg_(clonedTemplate, MARKET_FLAG, {
src: data?.flag,
width: '24',
height: '24',
});
this.renderTemplateElement_(
clonedTemplate,
MARKET_SELECT_VALUE,
data.value
);
this.renderTemplateElement_(
clonedTemplate,
MARKET_CURRENCY,
data?.currency
);
this.renderTemplateElement_(
clonedTemplate,
MARKET_CURRENCY_SYMBOL,
data?.currencySymbol
);
}
bindDropdownOpenClickEvent_(triggerElement, dropdown) {
if (!triggerElement) return;
const triggerOpen = () => {
SPZ.whenApiDefined(dropdown).then((apis) => {
if (!dropdown.hasAttribute('open')) {
apis.open(triggerElement);
}
});
};
if (this.isIOS_) {
triggerElement.addEventListener('touchstart', triggerOpen);
} else {
triggerElement.addEventListener('click', triggerOpen);
}
}
createDropdown_() {
const dropdown = self.document.createElement('ljs-dropdown');
dropdown.setAttribute('layout', 'nodisplay');
if (this.blockSectionPosition_ === 'header') {
dropdown.setAttribute('overlay-style', 'top: 4px;');
dropdown.setAttribute('placement', 'bottomRight');
} else if (this.blockSectionPosition_ === 'footer') {
dropdown.setAttribute('overlay-style', 'top: -4px;');
dropdown.setAttribute('placement', 'top');
}
return dropdown;
}
createDropdownIcon_() {
const svgElement = document.createElementNS("http://www.w3.org/2000/svg", "svg");
svgElement.setAttribute("class", "market-rotate-180");
svgElement.setAttribute("width", "16");
svgElement.setAttribute("height", "16");
const path1 = document.createElementNS("http://www.w3.org/2000/svg", "path");
path1.setAttribute("d", "M7.47 5.172a.75.75 0 0 1 1.06 0l4.596 4.596a.75.75 0 1 1-1.06 1.06L7.468 6.232a.75.75 0 0 1 0-1.06Z");
path1.setAttribute("fill", "currentColor");
const path2 = document.createElementNS("http://www.w3.org/2000/svg", "path");
path2.setAttribute("d", "M8.533 5.172a.75.75 0 0 1 0 1.06l-4.596 4.596a.75.75 0 1 1-1.061-1.06l4.596-4.596a.75.75 0 0 1 1.06 0Z");
path2.setAttribute("fill", "currentColor");
svgElement.appendChild(path1);
svgElement.appendChild(path2);
return svgElement;
}
renderDropdownListWithClickEvent_({
triggerElement,
dataList,
subTitleRole,
listElementWithTemplate,
defaultValue,
itemHandler,
shouldUpdateSelectedItem = false,
}) {
const dropdown = this.createDropdown_();
const itemTemplate = SPZCore.Dom.scopedQuerySelector(
listElementWithTemplate,
'template'
);
const clonedItemTemplate = itemTemplate.cloneNode(true);
const fragment = self.document.createDocumentFragment();
dataList.forEach((data) => {
const tempParentNode = self.document.createElement('div');
const clonedTemplate = self.document.importNode(
clonedItemTemplate.content,
true
);
tempParentNode.appendChild(clonedTemplate);
tempParentNode.firstElementChild.classList.add(
'market-select-item'
);
this.renderMarketSelectTemplateNode_(tempParentNode, data);
const selectItemElement = SPZCore.Dom.scopedQuerySelector(
tempParentNode,
`[role="${MARKET_SELECT_ITEM}"]`
);
if (!selectItemElement) {
return;
}
if (defaultValue === data.value) {
if (shouldUpdateSelectedItem) {
const clonedSelectItemElement = selectItemElement.cloneNode(true);
triggerElement.replaceChild(
clonedSelectItemElement,
triggerElement.firstElementChild
);
}
selectItemElement.setAttribute(PROPERTY_SELECTED, '');
}
selectItemElement.setAttribute(MARKET_SELECT_ITEM_ID, data.value);
fragment.appendChild(tempParentNode.firstElementChild);
});
let value = defaultValue;
listElementWithTemplate.addEventListener(
'click',
(e) => {
if (this.isEditMode) {
this.showToast_('编辑器下不支持切换国家');
SPZ.whenApiDefined(dropdown).then((apis) => {
apis.close();
});
return;
}
let targetElement = e.target;
while (targetElement) {
if (
!targetElement ||
targetElement.getAttribute(MARKET_SELECT_ITEM_ID)
) {
break;
}
targetElement = targetElement.parentNode;
}
if (
!targetElement ||
!targetElement.hasAttribute(MARKET_SELECT_ITEM_ID)
) {
return;
}
const selectValue = targetElement.getAttribute(MARKET_SELECT_ITEM_ID);
if (value === selectValue) {
SPZ.whenApiDefined(dropdown).then((apis) => {
apis.close();
});
return;
}
const selectedData = dataList.find((c) => c.value === selectValue);
if (shouldUpdateSelectedItem) {
const tempParentNode = self.document.createElement('div');
const clonedTemplate = self.document.importNode(
clonedItemTemplate.content,
true
);
tempParentNode.appendChild(clonedTemplate);
this.renderMarketSelectTemplateNode_(tempParentNode, selectedData);
tempParentNode.firstElementChild.classList.add(
'market-select-item'
);
triggerElement.replaceChild(
tempParentNode.firstElementChild,
triggerElement.firstElementChild
);
}
value = selectValue;
itemHandler?.(selectedData);
SPZ.whenApiDefined(dropdown).then((apis) => {
apis.close();
});
},
false
);
listElementWithTemplate.removeChild(itemTemplate);
listElementWithTemplate.appendChild(fragment);
listElementWithTemplate.classList.add('market-select-list');
dropdown.appendChild(listElementWithTemplate);
if (subTitleRole) {
this.renderSelectTitle_(dropdown, subTitleRole);
}
return dropdown;
}
createSelect_({
parent,
defaultValue,
dataList,
listElementWithTemplate,
itemHandler,
titleRole,
}) {
const triggerElement = self.document.createElement('div');
triggerElement.classList.add('market-select');
const displayElement = self.document.createElement('div');
triggerElement.appendChild(displayElement);
triggerElement.appendChild(this.createDropdownIcon_());
const dropdown = this.renderDropdownListWithClickEvent_({
triggerElement,
dataList,
listElementWithTemplate,
defaultValue,
itemHandler,
shouldUpdateSelectedItem: true,
});
this.bindDropdownOpenClickEvent_(triggerElement, dropdown);
const dropdownContainer = self.document.createElement('div');
dropdownContainer.appendChild(triggerElement);
dropdownContainer.appendChild(dropdown);
dropdownContainer.classList.add('market-select-container');
this.renderSelectTitle_(dropdownContainer, titleRole);
parent.appendChild(dropdownContainer);
}
getListElementWithTemplate_(role) {
const template = SPZCore.Dom.scopedQuerySelector(
this.element,
`[role="${role}"]`
);
if (template) {
const clonedTemplate = template.cloneNode(true);
const tempParent = self.document.createElement("div");
tempParent.appendChild(clonedTemplate.content);
const listElementWithTemplate = SPZCore.Dom.scopedQuerySelector(
tempParent,
`[role="${MARKET_SELECT_LIST}"]`
);
return listElementWithTemplate;
}
return null;
}
renderSelectTitle_(parent, role) {
if (!parent || !role) {
return;
}
const template = SPZCore.Dom.scopedQuerySelector(
this.element,
`[role="${role}"]`
);
const content = self.document.importNode(template.content, true);
parent.insertBefore(content, parent.firstElementChild);
parent.firstElementChild.classList.add(
role.includes('sub')
? 'market-pc-header-select-sub-title'
: 'market-pc-header-select-title'
);
}
initSelect_(rootNode, options) {
const parent = rootNode || this.element;
if (this.useCountrySelect_) {
this.createSelect_({
parent,
titleRole: options?.shouldRenderSelectTitle
? MARKET_PC_HEADER_COUNTRY_SELECT_TITLE
: undefined,
defaultValue: this.getDefaultCountryValue_(),
dataList: this.marketCountryList.map(this.mapCountryRenderData_),
listElementWithTemplate: this.getListElementWithTemplate_(
MARKET_COUNTRY_SELECT
),
itemHandler: this.handleCountrySelectChange_.bind(this),
});
}
if (this.useLanguageSelect_) {
this.createSelect_({
parent,
titleRole: options?.shouldRenderSelectTitle
? MARKET_PC_HEADER_LANGUAGE_SELECT_TITLE
: undefined,
defaultValue: this.getDefaultLanguageValue_(),
dataList: this.marketLanguages.map(this.mapLanguageRenderData_),
listElementWithTemplate: this.getListElementWithTemplate_(
MARKET_LANGUAGE_SELECT
),
itemHandler: this.handleLanguageSelectChange_.bind(this),
});
}
}
initPcHeaderTriggerElement() {
const headerTriggerElementTemplate = SPZCore.Dom.scopedQuerySelector(
this.element,
`[role="${MARKET_PC_HEADER_TRIGGER}"]`
);
const headerTriggerElement = self.document.importNode(
headerTriggerElementTemplate.content,
true
);
const parentDivElement = self.document.createElement('div');
parentDivElement.setAttribute('role', MARKET_PC_HEADER_TRIGGER);
parentDivElement.appendChild(headerTriggerElement);
this.element.removeChild(headerTriggerElementTemplate);
return parentDivElement;
}
initPanelWithSelect_() {
const triggerElement = this.initPcHeaderTriggerElement();
const dropdown = this.createDropdown_();
const panelElement = self.document.createElement('div');
panelElement.classList.add('market-panel');
this.initSelect_(panelElement, {shouldRenderSelectTitle: true});
dropdown.appendChild(panelElement);
this.bindDropdownOpenClickEvent_(triggerElement, dropdown);
this.element.appendChild(triggerElement);
this.element.insertBefore(dropdown, triggerElement);
}
initSingleSelectDropdown_() {
const triggerElement = this.initPcHeaderTriggerElement();
let dropdown;
if (this.useCountrySelect_) {
dropdown = this.renderDropdownListWithClickEvent_({
triggerElement,
subTitleRole: MARKET_PC_HEADER_COUNTRY_SELECT_SUB_TITLE,
dataList: this.marketCountryList.map(this.mapCountryRenderData_),
listElementWithTemplate: this.getListElementWithTemplate_(
MARKET_COUNTRY_SELECT
),
defaultValue: this.getDefaultCountryValue_(),
itemHandler: this.handleCountrySelectChange_.bind(this),
});
} else if (this.useLanguageSelect_) {
dropdown = this.renderDropdownListWithClickEvent_({
triggerElement,
subTitleRole: MARKET_PC_HEADER_LANGUAGE_SELECT_SUB_TITLE,
dataList: this.marketLanguages.map(this.mapLanguageRenderData_),
listElementWithTemplate: this.getListElementWithTemplate_(
MARKET_LANGUAGE_SELECT
),
defaultValue: this.getDefaultLanguageValue_(),
itemHandler: this.handleLanguageSelectChange_.bind(this),
});
}
if (dropdown) {
this.bindDropdownOpenClickEvent_(triggerElement, dropdown);
this.element.appendChild(triggerElement);
this.element.appendChild(dropdown);
}
}
initEntry_() {
if (this.blockSectionPosition_ === SECTION_TYPE_HEADER) {
if (this.isSingleSelectMode_) {
this.initSingleSelectDropdown_();
} else if (this.useCountrySelect_ && this.useLanguageSelect_) {
this.initPanelWithSelect_();
}
}
this.initSelect_(this.element);
}
async initData_() {
const promises = [];
if (this.useCountrySelect_ || this.useModal_) {
promises.push(this.getCountryList_(), this.getIpMatchingMarket_());
}
if (this.useLanguageSelect_) {
promises.push(this.getMarketLanguages_(this.global.market.market_id));
}
return Promise.all(promises).then((results) => {
const ipMatchingMarket = results.find((result) =>
result.hasOwnProperty('matching_station')
);
const marketCountryList = results.find((result) =>
result.hasOwnProperty('data')
);
if (ipMatchingMarket && marketCountryList) {
this.ipMatchingMarket = ipMatchingMarket?.matching_station?.find?.(
(item) => item.type === 'multiple_market'
) || {
img: marketCountryList.length
? marketCountryList?.[0]?.detail &&
marketCountryList[0].detail?.flag
: '',
};
}
});
}
initModal_() {
if (
this.isEditMode ||
!this.ipMatchingMarket?.market_id ||
!this.useModal_ ||
this.hasCookie_(COOKIE_TIPS_NAME) ||
this.win[MARKET_MODAL_LOADED]
) {
return;
}
this.win[MARKET_MODAL_LOADED] = true;
const redirectParam = new URLSearchParams(this.win.location.search).get(
URL_REDIRECT
);
if (redirectParam) {
this.initModalEntry_(MARKET_GATEWAY_REDIRECT_MODAL);
} else if (
this.ipMatchingMarket.market_id !== this.global?.market?.market_id
) {
this.initModalEntry_(MARKET_MODAL);
}
}
async init_() {
await this.initSettings_();
await this.initData_();
this.initEntry_();
this.initModal_();
}
getDefaultCountryValue_() {
return this.getCookie_(MARKET_COUNTRY_COOKIE) || this.marketCountryList[0]?.country_code;
}
mapCountryRenderData_(country) {
return {
flag: country?.detail?.flag || '',
value: country?.country_code,
currency: country?.currency,
currencySymbol: country?.symbol?.val || '',
url: country?.url,
};
}
handleCountrySelectChange_(selectedData) {
this.setCookie_(MARKET_COUNTRY_COOKIE, selectedData.value);
this.handleChangeURL_(selectedData.url);
}
getDefaultLanguageValue_() {
return this.marketLanguages?.find?.(
(lang) => lang.code === this.global?.market?.market_lang
)?.name;
}
mapLanguageRenderData_(language) {
return {
value: language.name,
url: language.url,
};
}
handleLanguageSelectChange_(selectedData) {
this.handleChangeURL_(selectedData.url);
}
renderTemplateElement_(parent, role, value) {
const elements = SPZCore.Dom.scopedQuerySelectorAll(
parent,
`[role="${role}"]`
);
elements.forEach((element) => {
if (element && value) {
element.innerHTML = value;
}
});
}
renderTemplateImg_(parent, role, options) {
const flagElement = SPZCore.Dom.scopedQuerySelector(
parent,
`[role="${role}"]`
);
if (flagElement && options?.src && options?.height && options?.width) {
const spzImg = self.document.createElement('ljs-img');
spzImg.setAttribute('src', options.src);
spzImg.setAttribute('layout', 'responsive');
spzImg.setAttribute('width', options.width);
spzImg.setAttribute('height', options.height);
spzImg.setAttribute(
'style',
`width: ${options.width}px; height: ${options.height}px;`
);
flagElement.appendChild(spzImg);
}
}
handleChangeURL_(url) {
if (!!url) {
let {origin, pathname, search} = this.win.location;
pathname = pathname.replace(SITE, url != '/' ? url : '');
this.win.location.href = `${origin}${pathname}${search}`;
} else {
this.win.location.reload(true);
}
}
initModalEntry_(role) {
const marketModalTemplate = SPZCore.Dom.scopedQuerySelector(
this.element,
`[role="${role}"]`
);
if (marketModalTemplate) {
const tempParentNode = self.document.createElement('div');
const clonedTemplate = self.document.importNode(
marketModalTemplate.content,
true
);
tempParentNode.appendChild(clonedTemplate);
this.renderTemplateImg_(tempParentNode, MARKET_MODAL_FLAG, {
src: this.ipMatchingMarket?.img,
width: '80',
height: '80',
});
this.renderTemplateElement_(
tempParentNode,
MARKET_MODAL_COUNTRY_CODE,
this.ipMatchingMarket?.name
);
this.renderTemplateElement_(
tempParentNode,
MARKET_MODAL_CURRENCY_SYMBOL,
this.ipMatchingMarket?.currency_with_symbol
);
const lightbox = self.document.createElement('ljs-lightbox');
lightbox.setAttribute('layout', 'nodisplay');
lightbox.appendChild(tempParentNode.firstElementChild);
self.document.body.appendChild(lightbox);
SPZ.whenApiDefined(lightbox).then((apis) => {
SPZCore.Dom.scopedQuerySelectorAll(
lightbox,
`[role="${MARKET_MODAL_CLOSE}"]`
).forEach((ele) => {
ele.addEventListener('click', () => {
this.setCookie_(COOKIE_TIPS_NAME, 1, COOKIE_TIPS_EXPIRES);
apis.close();
});
});
const marketModalConfirmElement = SPZCore.Dom.scopedQuerySelector(
lightbox,
`[role="${MARKET_MODAL_CONFIRM}"]`
);
if (marketModalConfirmElement && this.ipMatchingMarket?.url) {
marketModalConfirmElement.addEventListener('click', () => {
this.setCookie_(COOKIE_TIPS_NAME, 1, COOKIE_TIPS_EXPIRES);
this.setCookie_(MARKET_COUNTRY_COOKIE, this.ipMatchingMarket?.name);
this.handleChangeURL_(this.ipMatchingMarket?.url);
});
}
const marketModalReselectElement = SPZCore.Dom.scopedQuerySelector(
lightbox,
`[role="${MARKET_MODAL_RESELECT}"]`
);
if (marketModalReselectElement) {
marketModalReselectElement.addEventListener('click', () => {
this.setCookie_(COOKIE_TIPS_NAME, 1, COOKIE_TIPS_EXPIRES);
const marketReselectTemplate = SPZCore.Dom.scopedQuerySelector(
this.element,
`[role="${MARKET_RESELECT_MODAL}"]`
);
if (marketReselectTemplate && lightbox.firstElementChild) {
const clonedTemplate = self.document.importNode(
marketReselectTemplate.content,
true
);
const selectParent = SPZCore.Dom.scopedQuerySelector(
clonedTemplate,
`[role="${MARKET_MODAL_RESELECT_COUNTRY_SELECT}"]`
);
if (selectParent) {
this.createSelect_({
parent: selectParent,
defaultValue: this.getDefaultCountryValue_(),
dataList: this.marketCountryList.map(
this.mapCountryRenderData_
),
listElementWithTemplate: this.getListElementWithTemplate_(
MARKET_COUNTRY_SELECT
),
itemHandler: this.handleCountrySelectChange_.bind(this),
});
}
lightbox.replaceChild(clonedTemplate, lightbox.firstElementChild);
SPZCore.Dom.scopedQuerySelectorAll(
lightbox,
`[role="${MARKET_MODAL_CLOSE}"]`
).forEach((ele) => {
ele.addEventListener('click', () => {
this.setCookie_(COOKIE_TIPS_NAME, 1, COOKIE_TIPS_EXPIRES);
apis.close();
});
});
}
});
}
apis.open();
});
}
}
async getMarketThemeSettings_() {
return this.xhr_.fetchJson(MARKET_THEME_SETTINGS).then((res) => {
this.useCountrySelect_ = !!res.country_selector_enabled;
this.useLanguageSelect_ =
!!res.language_selector_enabled && this.global?.market?.market_id;
this.useModal_ = !!res.redirect_pop_enabled;
return res;
});
}
async getCountryList_() {
return this.xhr_.fetchJson(MARKET_COUNTRIES).then((res) => {
this.marketCountryList = res.data.length ? res.data : [];
return res;
});
}
async getIpMatchingMarket_() {
return this.xhr_.fetchJson(IP_MATCHING_MARKET, {
method: 'POST',
body: {
stations: [],
},
});
}
async getMarketLanguages_(marketId) {
return this.xhr_
.fetchJson(MARKET_LANGUAGES.replace(/:id/gim, marketId))
.then((res) => {
this.marketLanguages = res?.languages?.length ? res.languages : [];
return res;
});
}
hasCookie_(name) {
const m = self.document.cookie
.split(';')
.filter((pair) => pair.trim().startsWith(name + '='));
return !!(m && m[0]);
}
getCookie_(name) {
const m = self.document.cookie
.split(';')
.filter((pair) => pair.trim().startsWith(name + '='));
return m && m[0] ? m[0].split('=')[1] : null;
}
setCookie_(name, value, expires) {
const expiresDate = new Date(Date.now() + expires).toGMTString();
self.document.cookie = `${name}=${encodeURIComponent(
value
)};expires=${expiresDate};path=/`;
}
}
SPZ.defineElement('spz-custom-market', SpzCustomMarket);
</ljs-script>
<spz-custom-market layout="logic" class="i-spzhtml-layout-logic" i-spzhtml-layout="logic">
<template role="market-pc-header-trigger">
<div class="market-icon" role="market-dropdown-open-target">
<svg width="20" height="20" viewbox="0 0 22 22" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M11 0.5C5.20156 0.5 0.5 5.20156 0.5 11C0.5 16.7984 5.20156 21.5 11 21.5C16.7984 21.5 21.5 16.7984 21.5 11C21.5 5.20156 16.7984 0.5 11 0.5ZM11 5.75C10.3086 5.75 9.63359 5.68906 8.97969 5.57422C9.59375 3.10859 10.5172 1.8125 11 1.8125C11.4828 1.8125 12.4062 3.10859 13.0203 5.57422C12.3664 5.68672 11.6914 5.75 11 5.75ZM14.2977 5.27188C13.9789 3.96641 13.5523 2.86719 13.0531 2.05156C14.5437 2.39375 15.8961 3.09922 17.0141 4.06953C16.1867 4.58047 15.2727 4.98594 14.2977 5.27188ZM7.70234 5.27188C6.72734 4.98594 5.81563 4.57812 4.98828 4.06953C6.10625 3.09922 7.45625 2.39609 8.94687 2.05391C8.44766 2.86719 8.02344 3.96641 7.70234 5.27188ZM14.9258 10.3438C14.8953 8.99609 14.7687 7.72109 14.5648 6.56094C15.7953 6.20938 16.9391 5.68672 17.9586 5.01875C19.2102 6.47187 20.0094 8.31641 20.1547 10.3438H14.9258ZM1.84531 10.3438C1.99063 8.31875 2.7875 6.47422 4.03672 5.02109C5.05625 5.68906 6.20234 6.20703 7.43516 6.55859C7.23125 7.72109 7.10469 8.99609 7.07422 10.3438H1.84531ZM8.38672 10.3438C8.41719 9.03828 8.53672 7.87344 8.7125 6.85859C9.45312 6.98984 10.2148 7.0625 11 7.0625C11.7828 7.0625 12.5469 6.99219 13.2875 6.86094C13.4633 7.87578 13.5805 9.04062 13.6133 10.3438H8.38672ZM17.9586 16.9813C16.9391 16.3133 15.7953 15.7906 14.5648 15.4391C14.7687 14.2766 14.8953 13.0016 14.9258 11.6562H20.1547C20.0094 13.6836 19.2102 15.5281 17.9586 16.9813ZM8.7125 15.1414C8.53672 14.1266 8.41953 12.9617 8.38672 11.6562H13.6109C13.5805 12.9594 13.4633 14.1242 13.2852 15.1391C12.5469 15.0078 11.7828 14.9375 11 14.9375C10.2172 14.9375 9.45312 15.0102 8.7125 15.1414ZM4.03906 16.9789C2.78984 15.5258 1.99063 13.6812 1.84766 11.6562H7.07656C7.10703 13.0039 7.23359 14.2789 7.4375 15.4414C6.20469 15.793 5.05859 16.3109 4.03906 16.9789ZM11 20.1875C10.5172 20.1875 9.59375 18.8914 8.97969 16.4258C9.63359 16.3133 10.3086 16.25 11 16.25C11.6914 16.25 12.3664 16.3133 13.0203 16.4258C12.4062 18.8914 11.4828 20.1875 11 20.1875ZM13.0531 19.9484C13.5523 19.1328 13.9789 18.0336 14.2977 16.7281C15.275 17.0141 16.1867 17.4195 17.0141 17.9281C15.8961 18.9008 14.5437 19.6062 13.0531 19.9484ZM8.94687 19.9484C7.45625 19.6062 6.10625 18.9031 4.98828 17.9328C5.81328 17.4219 6.725 17.0164 7.70234 16.7305C8.02344 18.0336 8.44766 19.1328 8.94687 19.9484Z" fill="currentColor"></path>
</svg>
<svg class="market-rotate-180" width="16" height="16" xmlns="http://www.w3.org/2000/svg">
<path d="M7.47 5.172a.75.75 0 0 1 1.06 0l4.596 4.596a.75.75 0 1 1-1.06 1.06L7.468 6.232a.75.75 0 0 1 0-1.06Z" fill="currentColor"></path>
<path d="M8.533 5.172a.75.75 0 0 1 0 1.06l-4.596 4.596a.75.75 0 1 1-1.061-1.06l4.596-4.596a.75.75 0 0 1 1.06 0Z" fill="currentColor"></path>
</svg>
</div>
</template>
<template role="market-pc-header-country-select-title">
<div class="market-select-title">Region/Country</div>
</template>
<template role="market-pc-header-country-select-sub-title">
<div class="market-select-sub-title">Region/Country</div>
</template>
<template role="market-country-select">
<div role="market-select-list">
<template>
<div role="market-select-item">
<div role="market-flag"></div>
<div style="margin-right: 4px;" role="market-select-value"></div>
(<div style="margin-right: 4px;" role="market-currency"></div>
<div role="market-currency-symbol"></div>)
</div>
</template>
</div>
</template>
<template role="market-pc-header-language-select-title">
<div class="market-select-title">Language</div>
</template>
<template role="market-pc-header-language-select-sub-title">
<div class="market-select-sub-title">Language</div>
</template>
<template role="market-language-select">
<div role="market-select-list">
<template>
<div role="market-select-item">
<div role="market-select-value"></div>
</div>
</template>
</div>
</template>
<template role="market-modal">
<div class="market-modal-container">
<div class="market-modal-close" role="market-modal-close">
<svg width="18" height="18" xmlns="http://www.w3.org/2000/svg">
<path d="M4.12 2.988a.3.3 0 0 0-.425 0l-.707.707a.3.3 0 0 0 0 .424L7.867 9l-4.88 4.878a.3.3 0 0 0 0 .425l.708.707a.3.3 0 0 0 .424 0L9 10.129l4.878 4.88a.3.3 0 0 0 .424 0l.707-.707a.3.3 0 0 0 0-.425L10.13 8.998l4.878-4.879a.3.3 0 0 0 0-.424l-.706-.707a.3.3 0 0 0-.425 0L8.998 7.867 4.12 2.987z" fill-opacity=".7" fill="#292929"></path>
</svg>
</div>
<div class="market-modal-content">
<div class="market-modal-flag" role="market-modal-flag"></div>
<div class="market-modal-title">Switch to <span role='market-modal-country-code'></span> based on your location</div>
<ul>
<li>Purchase with <span role='market-modal-currency-symbol'></span></li>
<li>Get shipping options for <span role='market-modal-country-code'></span></li>
</ul>
</div>
<div class="market-modal-footer">
<div class="market-modal-cancel market-modal-footer-button" role="market-modal-close">Cancel</div>
<div class="market-modal-confirm market-modal-footer-button" role="market-modal-confirm">Switch</div>
</div>
</div>
</template>
<template role="market-gateway-redirect-modal">
<div class="market-modal-container">
<div class="market-modal-close" role="market-modal-close">
<svg width="18" height="18" xmlns="http://www.w3.org/2000/svg">
<path d="M4.12 2.988a.3.3 0 0 0-.425 0l-.707.707a.3.3 0 0 0 0 .424L7.867 9l-4.88 4.878a.3.3 0 0 0 0 .425l.708.707a.3.3 0 0 0 .424 0L9 10.129l4.878 4.88a.3.3 0 0 0 .424 0l.707-.707a.3.3 0 0 0 0-.425L10.13 8.998l4.878-4.879a.3.3 0 0 0 0-.424l-.706-.707a.3.3 0 0 0-.425 0L8.998 7.867 4.12 2.987z" fill-opacity=".7" fill="#292929"></path>
</svg>
</div>
<div class="market-modal-content">
<div class="market-modal-flag" role="market-modal-flag"></div>
<div class="market-modal-title">Set to <span role='market-modal-country-code'></span> based on your location</div>
<ul>
<li>Purchase with <span role='market-modal-currency-symbol'></span></li>
<li>Get shipping options for <span role='market-modal-country-code'></span></li>
</ul>
</div>
<div class="market-gateway-redirect-modal-footer">
<div class="market-modal-continue market-modal-footer-button" role="market-modal-close">Continue Shopping</div>
<div class="market-modal-reselect" role="market-modal-reselect">Modify Country/Region</div>
</div>
</div>
</template>
<template role="market-reselect-modal">
<div class="market-modal-container">
<div class="market-modal-close" role="market-modal-close">
<svg width="18" height="18" xmlns="http://www.w3.org/2000/svg">
<path d="M4.12 2.988a.3.3 0 0 0-.425 0l-.707.707a.3.3 0 0 0 0 .424L7.867 9l-4.88 4.878a.3.3 0 0 0 0 .425l.708.707a.3.3 0 0 0 .424 0L9 10.129l4.878 4.88a.3.3 0 0 0 .424 0l.707-.707a.3.3 0 0 0 0-.425L10.13 8.998l4.878-4.879a.3.3 0 0 0 0-.424l-.706-.707a.3.3 0 0 0-.425 0L8.998 7.867 4.12 2.987z" fill-opacity=".7" fill="#292929"></path>
</svg>
</div>
<div class="market-reselect-modal-content">
<div style="margin-top: 12px; margin-bottom: 32px;">Modify Country/Region</div>
<div style="margin: 0 24px;" role="market-modal-reselect-country-select"></div>
</div>
<div class="market-gateway-redirect-modal-footer" style="padding: 0 48px;">
<div class="market-modal-continue market-modal-footer-button" role="market-modal-close" style="width: 100%;">Continue Shopping</div>
<div class="market-modal-reselect" role="market-modal-close">Cancel</div>
</div>
</div>
</template>
</spz-custom-market>
</div>
</div>
<div class="empty-hidden plugin__translate-header"></div>
<div class="empty-hidden plugin__currency"></div>
</div>
<div class="header__account relative text-0 md:hidden ">
<i class="cursor-pointer"><svg class=" " width="26" height="26" fill="none" xmlns="http://www.w3.org/2000/svg"><path opacity=".01" fill="currentColor" d="M0 0h26v26H0z"></path><g fill-rule="evenodd" clip-rule="evenodd" fill="currentColor"><path d="M13.11 1a6.11 6.11 0 1 1 0 12.22 6.11 6.11 0 0 1 0-12.22Zm0 1.6a4.51 4.51 0 1 0 0 9.02 4.51 4.51 0 0 0 0-9.02ZM17.333 15A6.667 6.667 0 0 1 24 21.667V24a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1v-2.333A6.667 6.667 0 0 1 8.667 15h8.666Zm0 1.6H8.667a5.067 5.067 0 0 0-5.062 4.847l-.005.22V23.4h18.8v-1.733a5.067 5.067 0 0 0-4.847-5.062l-.22-.005Z"></path></g></svg></i>
<ul class="header__account_dropdown_content list-none header-shadow">
<li><a href="#">Log in</a></li>
<li><a href="#">Create an account</a></li>
</ul>
</div>
<a class="header__cart relative flex justify-end items-center text-0 text-inherit cursor-pointer no-underline" href="#">
<i>
<svg class="" width="28" height="28" fill="currentColor" xmlns="http://www.w3.org/2000/svg"><path opacity=".01" fill="currentColor" d="M0 0h28v28H0z"></path><g fill="currentColor"><path fill-rule="evenodd" clip-rule="evenodd" d="M1.8 2.2a.8.8 0 1 0 0 1.6h2.803l1.542 14.541a1 1 0 0 0 .995.895h15.055a1 1 0 0 0 .982-.811l2.105-10.91a1 1 0 0 0-.982-1.189H6.48l-.432-4.081a.05.05 0 0 0-.05-.045H1.8Zm4.849 5.726h16.923l-1.873 9.709H7.679l-1.03-9.709Z"></path><path d="M10.917 23.62a1.909 1.909 0 1 1-3.818 0 1.909 1.909 0 0 1 3.818 0ZM22.372 23.62a1.91 1.91 0 1 1-3.819 0 1.91 1.91 0 0 1 3.819 0Z"></path></g></svg>
</i>
<!-- 购物车数量 -->
<spz-event target-id="header_cart_count_render_pc" target-api="render" event-name="dj.addToCart;dj.cartChange;" layout="logic" class="i-spzhtml-layout-logic" i-spzhtml-layout="logic"></spz-event>
<spz-render id="header_cart_count_render_pc" layout="container" src="/api/cart/count" class="i-spzhtml-layout-container" i-spzhtml-layout="container">
<template>
<div>
<span class="header__cart-count absolute rounded-full leading-none text-center" spz-if="${data.data && data.data.count > 0}">${data.data && data.data.count}</span>
</div>
</template>
</spz-render>
</a>
<i class="header__drawer_icon flex lg:hidden cursor-pointer" @tap="shoplaza-section-announcement.toggleClass(class='header_mask_open', force=true);header_drawer.open()">
<svg class="" width="28" height="28" fill="none" xmlns="http://www.w3.org/2000/svg"><g opacity=".01"><path opacity=".696" fill="currentColor" d="M0 0h28v28H0z"></path></g><g fill="currentColor"><path d="M24.17 6.17a.83.83 0 1 1 0 1.66H3.83a.83.83 0 0 1 0-1.66h20.34ZM24.17 13.17a.83.83 0 1 1 0 1.66H3.83a.83.83 0 1 1 0-1.66h20.34ZM24.17 20.17a.83.83 0 1 1 0 1.66H3.83a.83.83 0 1 1 0-1.66h20.34Z"></path></g></svg>
</i>
</div>
<div class="header__menu-sticky flex-1 overflow-hidden">
<style>
.header__desktop .header__menu{
background: inherit !important;
}
.header__desktop .header__menu-item{
padding: 0 18px;
font-size: var(--type-nav-font-size);
}
.header__desktop .header__menu-item:first-child {
margin-left: 0;
}
.header__second_menu-wrapper,
.header__more_menu-wrapper{
z-index: var(--z-index-sticky);
visibility: hidden;
}
.header__menu-item-first:hover .header__second_menu-wrapper,
.header__menu-item-first:hover .header__more_menu-wrapper{
visibility: visible;
}
.header__second_menu-wrapper,
.header__three_menu-wrapper,
.header__more_menu_three{
overflow: hidden auto;
max-height: calc(var(--window-height) - var(--header-height));
}
.header__second_menu-wrapper{
min-width: 180px;
max-width: 400px;
margin: 0 0 -18px 0;
padding: 25px 18px;
}
.header__second_menu-wrapper li + li{
margin-top: 18px;
}
.header__three_menu-content{
display: grid;
grid-template-columns: repeat(4, minmax(0, 1fr));
margin: 0 -30px;
}
.header__desktop .header__menu-item[data-levels="2"] .header__three_menu-wrapper ul{
flex-wrap: wrap;
margin-top: -50px;
}
.header__desktop .header__menu-item:not([data-levels="2"]) .header__three_menu-wrapper ul{
flex-direction: column;
margin-top: -12px;
}
.header__desktop .header__menu-item[data-levels="2"][data-has-product] .header__three_menu-wrapper ul li{
width: 33.33%;
}
.header__desktop .header__menu-item[data-levels="2"]:not([data-has-product]) .header__three_menu-wrapper ul li{
width: 25%;
}
.header__desktop .header__menu-item[data-has-product] .header__three_menu-wrapper ul{
grid-column: span 3 / span 3;
}
.header__desktop .header__menu-item:not([data-has-product]) .header__three_menu-wrapper ul{
grid-column: span 4 / span 4;
}
.header__desktop .header__menu-item[data-levels="2"] .header__menu-item-second{
padding: 50px 30px 8px;
font-size: var(--type-nav-font-size);
color: var(--color-header-text);
}
.header__three_menu-wrapper .header__menu-item-last{
padding: 12px 30px 0;
}
.header__desktop .header__menu-item .header__menu-item-last{
color: var(--color-header-text-70);
font-size: calc(var(--type-nav-font-size) - 2px);
line-height: 1.4;
}
.header__desktop .header__menu-item .header__menu-item-last:hover {
color: var(--color-header-text);
}
.header__menu_product{
grid-column: span 1 / span 1;
padding-left: 30px;
padding-right: 30px;
}
.header_menu_hover_animation{
opacity: 0;
transform: translateY(-12px);
transition: all 200ms;
}
.header__menu-item-first:hover .header_menu_hover_animation{
opacity: 1;
transform: translateY(0);
}
.header__desktop .header__menu-item-first .header__menu-item-sub::after{
content: "";
position: absolute;
left: 0;
bottom: 0;
display: block;
width: 0;
height: 3px;
background-color: var(--color-header-text);
transition: width .2s;
}
.header__desktop .header__menu-item-first:hover .header__menu-item-sub::after{
width: 100%;
}
</style>
<style>
.header-menu-container[finish] .header__more_menu-wrapper{
display: block !important;
position: static !important;
}
.header__more_menu,
.header__more_menu_right{
display: grid;
}
.header__more_menu{
grid-template-columns: repeat(4,minmax(0,1fr));
}
.header__more_menu_right{
grid-template-columns: repeat(3,minmax(0,1fr));
}
.header__more_menu [role="tabs"],
.header__more_menu_right .header__menu_product{
grid-column: span 1/span 1;
}
.header__more_menu_right > ul[data-has-product]{
grid-column: span 2/span 2;
}
.header__more_menu [role="tabpanel"],
.header__more_menu_right > ul:not([data-has-product]){
grid-column: span 3/span 3;
}
.header__more_menu{
line-height: 1.25;
padding-top: 32px;
padding-bottom: 36px;
}
.header__more_menu [role="tab"] + [role="tab"]{
padding-top: 20px;
}
.header__more_menu_icon{
transform: rotate(180deg);
transition: all 200ms;
}
.header__more_menu [role="tab"][active] .header__more_menu_icon{
transform: rotate(0);
}
.header__more_menu_right li {
padding-bottom: 20px;
}
.header__more_menu_right_item{
padding: 0 30px 8px;
}
.header__more_menu_right_item + .header__more_menu_right_item{
padding: 12px 30px 0;
}
.header__more_menu_right .header__menu_product{
padding: 0 30px;
}
</style>
<spz-menu id="header-menu-top" layout="container" class="header-menu-container type-heading-font-family i-spzhtml-layout-container" i-spzhtml-layout="container">
<ul class="header__menu flex m-0 p-0 list-none">
<li class="header__menu-item header__menu-item-first cursor-pointer header__menu-item-first-1" data-id="73587291" data-levels="0">
<div class="flex items-start">
<a class="header__menu-item-sub relative block text-inherit no-underline whitespace-nowrap" href="#">Home</a>
</div>
</li>
<li class="header__menu-item header__menu-item-first cursor-pointer header__menu-item-first-2" data-id="73587293" data-levels="0">
<div class="flex items-start">
<a class="header__menu-item-sub relative block text-inherit no-underline whitespace-nowrap" href="#">New Arrivals</a>
</div>
</li>
<li class="header__menu-item header__menu-item-first cursor-pointer header__menu-item-first-3" data-id="73587295" data-levels="0">
<div class="flex items-start">
<a class="header__menu-item-sub relative block text-inherit no-underline whitespace-nowrap" href="#">Hot Sellers</a>
</div>
</li>
<li class="header__menu-item header__menu-item-first cursor-pointer header__menu-item-first-4" data-id="73587297" data-levels="0">
<div class="flex items-start">
<a class="header__menu-item-sub relative block text-inherit no-underline whitespace-nowrap" href="#">Daily Nutrition</a>
</div>
</li>
<li class="header__menu-item header__menu-item-first cursor-pointer header__menu-item-first-5" data-id="73587299" data-levels="0">
<div class="flex items-start">
<a class="header__menu-item-sub relative block text-inherit no-underline whitespace-nowrap" href="#">Bone & Joint</a>
</div>
</li>
<li class="header__menu-item header__menu-item-first cursor-pointer header__menu-item-first-6" data-id="73587301" data-levels="0">
<div class="flex items-start">
<a class="header__menu-item-sub relative block text-inherit no-underline whitespace-nowrap" href="#">Basic Nutrition</a>
</div>
</li>
<li class="header__menu-item header__menu-item-first cursor-pointer header__menu-item-first-7" data-id="73587303" data-levels="0">
<div class="flex items-start">
<a class="header__menu-item-sub relative block text-inherit no-underline whitespace-nowrap" href="#">Email:support@AngleFaceUS.com</a>
</div>
</li>
<li spz-menu-more-link class="header__menu-item header__menu-item-first">
<a class="header__menu-item-sub relative block text-inherit no-underline whitespace-nowrap cursor-pointer" href="#">More links</a>
<div class="header__more_menu-wrapper" spz-menu-submenu>
<template>
${(function(){
const formatLinks = (links) => {
return links.map(link => {
link.tag = tags[link.title.toUpperCase()] || {};
link.target_attr = link.target == '_blank' ? 'target="_blank"' : '';
link.href_attr = link.url ? `href="${link.url}"` : '';
if(link.children && link.children.length){
link.children = formatLinks(link.children);
}
return link;
})
};
const tags = "{}";
let linkList = [
{
id: 73587291,
title: "Home",
url: "\/",
target: "",
levels: 0,
product0: { id: (null) },
children: [
]
},
{
id: 73587293,
title: "New Arrivals",
url: "\/collections\/new-arrivals",
target: "",
levels: 0,
product0: { id: (null) },
children: [
]
},
{
id: 73587295,
title: "Hot Sellers",
url: "\/collections\/best-sellers",
target: "",
levels: 0,
product0: { id: (null) },
children: [
]
},
{
id: 73587297,
title: "Daily Nutrition",
url: "\/collections\/daily-nutrition",
target: "",
levels: 0,
product0: { id: (null) },
children: [
]
},
{
id: 73587299,
title: "Bone & Joint",
url: "\/collections\/bone-joint",
target: "",
levels: 0,
product0: { id: (null) },
children: [
]
},
{
id: 73587301,
title: "Basic Nutrition",
url: "\/collections\/basic-nutrition",
target: "",
levels: 0,
product0: { id: (null) },
children: [
]
},
{
id: 73587303,
title: "Email:support@AngleFaceUS.com",
url: "\/pages\/email",
target: "",
levels: 0,
product0: { id: (null) },
children: [
]
},
].slice(offset);
linkList = formatLinks(linkList);
const hasChild = linkList.some(link => !!(link.children && link.children.length || link.product0.id));
return `
<div>
<div spz-if="${hasChild}" class="header__more_menu_three header-shadow absolute left-0 right-0 header-bg overflow-x-hidden overflow-y-auto">
<spz-tabs class="header__more_menu page-container" layout="container" interact="hover">
<ul class="header__more_menu_left header_menu_hover_animation list-none" role="tabs">
<li role="tab" data-panel="tab-${link.id}" spz-for="link in linkList" key="link.id">
<a class="flex items-start text-inherit no-underline" ${link.href_attr} ${link.target_attr}>
<span class="flex-1 mr-4">${link.title}</span>
<span spz-if="${!!(link.tag.label)}" class="header__menu-item-tag" style="color:${link.tag.color}; background:${link.tag.bg};">${link.tag.label}</span>
<i spz-if="${!!(link.children && link.children.length)}" class="flex">
<svg class="header__more_menu_icon" width="18" height="18" xmlns="http://www.w3.org/2000/svg"><path d="M4.698 8.574a.6.6 0 0 0 0 .848l6.718 6.718a.3.3 0 0 0 .424 0l.679-.679a.3.3 0 0 0 0-.424L6.48 8.998 12.52 2.96a.3.3 0 0 0 0-.425l-.679-.679a.3.3 0 0 0-.424 0L4.698 8.574z" fill="currentColor"></path></svg>
</i>
</a>
</li>
</ul>
<div class="header__more_menu_right header_menu_hover_animation flex" role="tabpanel" data-id="tab-${link.id}" spz-for="link in linkList" key="link.id">
<ul class="flex flex-wrap list-none" ${(!!link.product0.id)?"data-has-product":''} spz-if="${!!(link.children && link.children.length)}">
<li class="flex-1" spz-for="second_link in link.children">
<a class="header__more_menu_right_item flex items-start text-inherit no-underline" ${second_link.href_attr} ${second_link.target_attr}>
<span>${second_link.title}</span>
<span spz-if="${!!(second_link.tag.label)}" class="header__menu-item-tag" style="color:${second_link.tag.color}; background:${second_link.tag.bg};">${second_link.tag.label}</span>
</a>
<a class="header__more_menu_right_item header__menu-item-last flex items-start text-inherit no-underline" spz-for="third_links in second_link.children" ${third_links.href_attr} ${third_links.target_attr}>
<span>${third_links.title}</span>
<span spz-if="${!!(third_links.tag.label)}" class="header__menu-item-tag" style="color:${third_links.tag.color}; background:${third_links.tag.bg};">${third_links.tag.label}</span>
</a>
</li>
</ul>
<div class="header__menu_product" spz-if="${!!link.product0.id}">
<spz-product-snippet product-id="${link.product0.id}" layout="container" template="product-snippet-template" variant-thumb-names="color" thumb-max-num="3"></spz-product-snippet>
</div>
</div>
</spz-tabs>
</div>
<ul spz-else class="header__more_menu_second header__second_menu-wrapper header-shadow absolute header-bg list-none overflow-x-hidden overflow-y-auto">
<li class="header_menu_hover_animation" spz-for="link in linkList" key="link.id">
<a class="header__menu-item-last flex items-start text-inherit no-underline" ${link.href_attr} ${link.target_attr}>
<span>${link.title}</span>
<span spz-if="${!!(link.tag.label)}" class="header__menu-item-tag" style="color:${link.tag.color}; background:${link.tag.bg};">${link.tag.label}</span>
</a>
</li>
</ul>
</div>
`
})()}
</template>
</div>
</li>
</ul>
</spz-menu>
</div>
</div>
</div>
<div class="header__menu-wrapper header__scroll_hide header-bg overflow-hidden pointer-events-auto">
<div class="header__menu-content page-container">
<style>
.header__desktop .header__menu{
background: inherit !important;
}
.header__desktop .header__menu-item{
padding: 0 18px;
font-size: var(--type-nav-font-size);
}
.header__desktop .header__menu-item:first-child {
margin-left: 0;
}
.header__second_menu-wrapper,
.header__more_menu-wrapper{
z-index: var(--z-index-sticky);
visibility: hidden;
}
.header__menu-item-first:hover .header__second_menu-wrapper,
.header__menu-item-first:hover .header__more_menu-wrapper{
visibility: visible;
}
.header__second_menu-wrapper,
.header__three_menu-wrapper,
.header__more_menu_three{
overflow: hidden auto;
max-height: calc(var(--window-height) - var(--header-height));
}
.header__second_menu-wrapper{
min-width: 180px;
max-width: 400px;
margin: 0 0 -18px 0;
padding: 25px 18px;
}
.header__second_menu-wrapper li + li{
margin-top: 18px;
}
.header__three_menu-content{
display: grid;
grid-template-columns: repeat(4, minmax(0, 1fr));
margin: 0 -30px;
}
.header__desktop .header__menu-item[data-levels="2"] .header__three_menu-wrapper ul{
flex-wrap: wrap;
margin-top: -50px;
}
.header__desktop .header__menu-item:not([data-levels="2"]) .header__three_menu-wrapper ul{
flex-direction: column;
margin-top: -12px;
}
.header__desktop .header__menu-item[data-levels="2"][data-has-product] .header__three_menu-wrapper ul li{
width: 33.33%;
}
.header__desktop .header__menu-item[data-levels="2"]:not([data-has-product]) .header__three_menu-wrapper ul li{
width: 25%;
}
.header__desktop .header__menu-item[data-has-product] .header__three_menu-wrapper ul{
grid-column: span 3 / span 3;
}
.header__desktop .header__menu-item:not([data-has-product]) .header__three_menu-wrapper ul{
grid-column: span 4 / span 4;
}
.header__desktop .header__menu-item[data-levels="2"] .header__menu-item-second{
padding: 50px 30px 8px;
font-size: var(--type-nav-font-size);
color: var(--color-header-text);
}
.header__three_menu-wrapper .header__menu-item-last{
padding: 12px 30px 0;
}
.header__desktop .header__menu-item .header__menu-item-last{
color: var(--color-header-text-70);
font-size: calc(var(--type-nav-font-size) - 2px);
line-height: 1.4;
}
.header__desktop .header__menu-item .header__menu-item-last:hover {
color: var(--color-header-text);
}
.header__menu_product{
grid-column: span 1 / span 1;
padding-left: 30px;
padding-right: 30px;
}
.header_menu_hover_animation{
opacity: 0;
transform: translateY(-12px);
transition: all 200ms;
}
.header__menu-item-first:hover .header_menu_hover_animation{
opacity: 1;
transform: translateY(0);
}
.header__desktop .header__menu-item-first .header__menu-item-sub::after{
content: "";
position: absolute;
left: 0;
bottom: 0;
display: block;
width: 0;
height: 3px;
background-color: var(--color-header-text);
transition: width .2s;
}
.header__desktop .header__menu-item-first:hover .header__menu-item-sub::after{
width: 100%;
}
</style>
<style>
.header-menu-container[finish] .header__more_menu-wrapper{
display: block !important;
position: static !important;
}
.header__more_menu,
.header__more_menu_right{
display: grid;
}
.header__more_menu{
grid-template-columns: repeat(4,minmax(0,1fr));
}
.header__more_menu_right{
grid-template-columns: repeat(3,minmax(0,1fr));
}
.header__more_menu [role="tabs"],
.header__more_menu_right .header__menu_product{
grid-column: span 1/span 1;
}
.header__more_menu_right > ul[data-has-product]{
grid-column: span 2/span 2;
}
.header__more_menu [role="tabpanel"],
.header__more_menu_right > ul:not([data-has-product]){
grid-column: span 3/span 3;
}
.header__more_menu{
line-height: 1.25;
padding-top: 32px;
padding-bottom: 36px;
}
.header__more_menu [role="tab"] + [role="tab"]{
padding-top: 20px;
}
.header__more_menu_icon{
transform: rotate(180deg);
transition: all 200ms;
}
.header__more_menu [role="tab"][active] .header__more_menu_icon{
transform: rotate(0);
}
.header__more_menu_right li {
padding-bottom: 20px;
}
.header__more_menu_right_item{
padding: 0 30px 8px;
}
.header__more_menu_right_item + .header__more_menu_right_item{
padding: 12px 30px 0;
}
.header__more_menu_right .header__menu_product{
padding: 0 30px;
}
</style>
<spz-menu id="header-menu-bottom" layout="container" class="header-menu-container type-heading-font-family i-spzhtml-layout-container" i-spzhtml-layout="container">
<ul class="header__menu flex m-0 p-0 list-none">
<li class="header__menu-item header__menu-item-first cursor-pointer header__menu-item-first-1" data-id="73587291" data-levels="0">
<div class="flex items-start">
<a class="header__menu-item-sub relative block text-inherit no-underline whitespace-nowrap" href="#">Home</a>
</div>
</li>
<li class="header__menu-item header__menu-item-first cursor-pointer header__menu-item-first-2" data-id="73587293" data-levels="0">
<div class="flex items-start">
<a class="header__menu-item-sub relative block text-inherit no-underline whitespace-nowrap" href="#">New Arrivals</a>
</div>
</li>
<li class="header__menu-item header__menu-item-first cursor-pointer header__menu-item-first-3" data-id="73587295" data-levels="0">
<div class="flex items-start">
<a class="header__menu-item-sub relative block text-inherit no-underline whitespace-nowrap" href="#">Hot Sellers</a>
</div>
</li>
<li class="header__menu-item header__menu-item-first cursor-pointer header__menu-item-first-4" data-id="73587297" data-levels="0">
<div class="flex items-start">
<a class="header__menu-item-sub relative block text-inherit no-underline whitespace-nowrap" href="#">Daily Nutrition</a>
</div>
</li>
<li class="header__menu-item header__menu-item-first cursor-pointer header__menu-item-first-5" data-id="73587299" data-levels="0">
<div class="flex items-start">
<a class="header__menu-item-sub relative block text-inherit no-underline whitespace-nowrap" href="#">Bone & Joint</a>
</div>
</li>
<li class="header__menu-item header__menu-item-first cursor-pointer header__menu-item-first-6" data-id="73587301" data-levels="0">
<div class="flex items-start">
<a class="header__menu-item-sub relative block text-inherit no-underline whitespace-nowrap" href="#">Basic Nutrition</a>
</div>
</li>
<li class="header__menu-item header__menu-item-first cursor-pointer header__menu-item-first-7" data-id="73587303" data-levels="0">
<div class="flex items-start">
<a class="header__menu-item-sub relative block text-inherit no-underline whitespace-nowrap" href="#">Email:support@AngleFaceUS.com</a>
</div>
</li>
<li spz-menu-more-link class="header__menu-item header__menu-item-first">
<a class="header__menu-item-sub relative block text-inherit no-underline whitespace-nowrap cursor-pointer" href="#">More links</a>
<div class="header__more_menu-wrapper" spz-menu-submenu>
<template>
${(function(){
const formatLinks = (links) => {
return links.map(link => {
link.tag = tags[link.title.toUpperCase()] || {};
link.target_attr = link.target == '_blank' ? 'target="_blank"' : '';
link.href_attr = link.url ? `href="${link.url}"` : '';
if(link.children && link.children.length){
link.children = formatLinks(link.children);
}
return link;
})
};
const tags = "{}";
let linkList = [
{
id: 73587291,
title: "Home",
url: "\/",
target: "",
levels: 0,
product0: { id: (null) },
children: [
]
},
{
id: 73587293,
title: "New Arrivals",
url: "\/collections\/new-arrivals",
target: "",
levels: 0,
product0: { id: (null) },
children: [
]
},
{
id: 73587295,
title: "Hot Sellers",
url: "\/collections\/best-sellers",
target: "",
levels: 0,
product0: { id: (null) },
children: [
]
},
{
id: 73587297,
title: "Daily Nutrition",
url: "\/collections\/daily-nutrition",
target: "",
levels: 0,
product0: { id: (null) },
children: [
]
},
{
id: 73587299,
title: "Bone & Joint",
url: "\/collections\/bone-joint",
target: "",
levels: 0,
product0: { id: (null) },
children: [
]
},
{
id: 73587301,
title: "Basic Nutrition",
url: "\/collections\/basic-nutrition",
target: "",
levels: 0,
product0: { id: (null) },
children: [
]
},
{
id: 73587303,
title: "Email:support@AngleFaceUS.com",
url: "\/pages\/email",
target: "",
levels: 0,
product0: { id: (null) },
children: [
]
},
].slice(offset);
linkList = formatLinks(linkList);
const hasChild = linkList.some(link => !!(link.children && link.children.length || link.product0.id));
return `
<div>
<div spz-if="${hasChild}" class="header__more_menu_three header-shadow absolute left-0 right-0 header-bg overflow-x-hidden overflow-y-auto">
<spz-tabs class="header__more_menu page-container" layout="container" interact="hover">
<ul class="header__more_menu_left header_menu_hover_animation list-none" role="tabs">
<li role="tab" data-panel="tab-${link.id}" spz-for="link in linkList" key="link.id">
<a class="flex items-start text-inherit no-underline" ${link.href_attr} ${link.target_attr}>
<span class="flex-1 mr-4">${link.title}</span>
<span spz-if="${!!(link.tag.label)}" class="header__menu-item-tag" style="color:${link.tag.color}; background:${link.tag.bg};">${link.tag.label}</span>
<i spz-if="${!!(link.children && link.children.length)}" class="flex">
<svg class="header__more_menu_icon" width="18" height="18" xmlns="http://www.w3.org/2000/svg"><path d="M4.698 8.574a.6.6 0 0 0 0 .848l6.718 6.718a.3.3 0 0 0 .424 0l.679-.679a.3.3 0 0 0 0-.424L6.48 8.998 12.52 2.96a.3.3 0 0 0 0-.425l-.679-.679a.3.3 0 0 0-.424 0L4.698 8.574z" fill="currentColor"></path></svg>
</i>
</a>
</li>
</ul>
<div class="header__more_menu_right header_menu_hover_animation flex" role="tabpanel" data-id="tab-${link.id}" spz-for="link in linkList" key="link.id">
<ul class="flex flex-wrap list-none" ${(!!link.product0.id)?"data-has-product":''} spz-if="${!!(link.children && link.children.length)}">
<li class="flex-1" spz-for="second_link in link.children">
<a class="header__more_menu_right_item flex items-start text-inherit no-underline" ${second_link.href_attr} ${second_link.target_attr}>
<span>${second_link.title}</span>
<span spz-if="${!!(second_link.tag.label)}" class="header__menu-item-tag" style="color:${second_link.tag.color}; background:${second_link.tag.bg};">${second_link.tag.label}</span>
</a>
<a class="header__more_menu_right_item header__menu-item-last flex items-start text-inherit no-underline" spz-for="third_links in second_link.children" ${third_links.href_attr} ${third_links.target_attr}>
<span>${third_links.title}</span>
<span spz-if="${!!(third_links.tag.label)}" class="header__menu-item-tag" style="color:${third_links.tag.color}; background:${third_links.tag.bg};">${third_links.tag.label}</span>
</a>
</li>
</ul>
<div class="header__menu_product" spz-if="${!!link.product0.id}">
<spz-product-snippet product-id="${link.product0.id}" layout="container" template="product-snippet-template" variant-thumb-names="color" thumb-max-num="3"></spz-product-snippet>
</div>
</div>
</spz-tabs>
</div>
<ul spz-else class="header__more_menu_second header__second_menu-wrapper header-shadow absolute header-bg list-none overflow-x-hidden overflow-y-auto">
<li class="header_menu_hover_animation" spz-for="link in linkList" key="link.id">
<a class="header__menu-item-last flex items-start text-inherit no-underline" ${link.href_attr} ${link.target_attr}>
<span>${link.title}</span>
<span spz-if="${!!(link.tag.label)}" class="header__menu-item-tag" style="color:${link.tag.color}; background:${link.tag.bg};">${link.tag.label}</span>
</a>
</li>
</ul>
</div>
`
})()}
</template>
</div>
</li>
</ul>
</spz-menu>
</div>
</div>
<div class="plugin__fixed-div pointer-events-auto md:hidden"></div>
</div>
<style>
.header__mobile .header{
padding-top: 18px;
padding-bottom: 18px;
}
.header__mobile .header_apps_wrap > * {
margin-bottom: 18px;
flex: 1;
}
.header__mobile .header__search-wrapper{
padding-top: 4px;
padding-bottom: 10px;
}
.header__mobile .header__menu-wrapper{
padding: 8px 0 8px 16px;
background: var(--color-menu-bg);
}
.header__mobile__menu-item-first{
padding-right: 10px;
}
.header__mobile__menu-item-first a{
padding: 9px 12px;
font-size: 12px;
line-height: 1.3;
color: var(--color-menu-item-text-90);
background: var(--color-menu-item-bg);
border-radius: 4px;
}
.header_menu_tooltip,
.header_menu_tooltip .i-spzhtml-tooltip-inner{
padding: 0;
background: transparent !important;
}
.header_menu_tooltip .header__menu_second {
width: 150px;
max-height: 236px;
border-radius: 4px ;
}
.header_menu_tooltip .header__menu_second-item{
background: #fff;
color: var(--color-menu-item-text-80);
padding: 0 0 0 14px;
font-size: 12px;
line-height: 1.3
}
.header_menu_tooltip .header__menu_second-item a{
padding: 15px 14px 15px 0;
}
.header_menu_tooltip .header__menu_second-item a + a{
border: 1px solid #E6E6E6;
}
.header__mobile__menu-item-first a.header_menu_active {
background-color: var(--color-actived-menu-item-bg) ;
color: var(--color-actived-menu-item-text) ;
}
</style>
<header class="header__mobile tw-text-header-text-color lg:hidden">
<div class="header page-container z-20 relative header-bg pointer-events-auto">
<div class="flex items-center">
<h2 class="header__logo flex-shrink-0 type-heading-font-family">
<a class="header__logo-title md:hidden" href="#">
AngleFaceUS
</a>
<a class="header__logo-title lg:hidden" href="#">
AngleFaceUS
</a>
</h2>
<style>
.header__search button,
.header__search input{
border: none;
outline: none;
}
.header__search-btn,
.header__search-icon{
background: transparent;
}
.header__search-form{
min-height: 40px;
}
.header__search-input{
font-size: 13px;
line-height: 16px;
color: var(--color-header-search-text);
background-color: var(--color-header-search-bg);
padding: 12px 16px 12px 36px;
border-radius: 2px 0 0 2px;
}
.header__search-input:not(:placeholder-shown) ~ .header__search-icon-close{
display: flex;
}
.header__search-icon{
left: 10px;
top: 50%;
transform: translateY(-50%);
color: var(--color-header-search-text-50);
}
.header__search-icon-close{
top: 50%;
transform: translateY(-50%);
height: 18px;
width: 18px;
color: #fff;
background: #C0C0C0;
right: 10px;
}
.header__search-icon:hover,
.header__search-icon-close:hover{
color: var(--color-header-search-text);
}
.header__search-submit-btn{
padding: 11px 16px;
font-size: 14px;
line-height: 18px;
color: var(--color-header-search-btn-text);
background-color: var(--color-header-search-btn-bg);
border-radius: 0 2px 2px 0;
}
@media (max-width: 959.98px) {
.header__search-form{
width: 100%
}
}
@media (min-width: 960px) {
.header__search-form{
margin: 18px 0;
}
.header__search-input{
width: 232px;
border-radius: 2px;
}
.header__desktop[data-layout="left"] .header__search-input{
width: 278px;
}
}
</style>
<div class="header__search flex-shrink-0 flex items-center" id="">
<button type="button" class="header__search-btn p-0 m-0 text-0 text-inherit cursor-pointer" @tap="shoplaza-section-announcement.toggleClass(class='header_mask_open', force=true);header_search_sidebar.open()">
<svg class="" width="26" height="26" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M17.925 20.057A9.955 9.955 0 0 1 12 22C6.477 22 2 17.523 2 12S6.477 2 12 2s10 4.477 10 10a9.968 9.968 0 0 1-2.864 7.006l4.929 4.928a.8.8 0 0 1-1.132 1.132l-5-5-.008-.01zM20.4 12a8.4 8.4 0 1 1-16.8 0 8.4 8.4 0 0 1 16.8 0z" fill="currentColor"></path></svg>
</button>
</div>
<spz-observer layout="logic" target="header__plugin-container" @childupdated="header-menu-top.updateMoreLink" class="i-spzhtml-layout-logic" i-spzhtml-layout="logic"></spz-observer>
<div class="header__icons flex-shrink-0 flex items-center" id="header-icons">
<div class="header__plugin-container md:hidden flex items-center" id="header__plugin-container">
<div>
<div id="plugin-c-market-block">
<script async crossorigin="anonymous" src="https://tk.lazbbq.asia/ym/002/static/js/spz.min.js"></script>
<ljs-script layout="logic" type="application/javascript" style="display:none" class="i-spzhtml-layout-logic" i-spzhtml-layout="logic">
const marketSlot = document.querySelector(".plugin_c_market");
if(marketSlot) {
marketSlot.remove();
}
</ljs-script>
<ljs-script layout="logic" type="application/javascript" style="display:none" class="i-spzhtml-layout-logic" i-spzhtml-layout="logic">
const SITE = (window.C_SETTINGS || window[atob('U0hPUExBWlpB')])?.routes?.root || '';
const MARKET_THEME_SETTINGS = `${SITE}/api/markets/theme_setting`;
const MARKET_COUNTRIES = `${SITE}/api/markets/countries`;
const IP_MATCHING_MARKET = `${SITE}/api/front/station`;
const MARKET_LANGUAGES = `${SITE}/api/markets/:id/active_languages`;
const URL_REDIRECT = '_market_redirected';
const COOKIE_TIPS_NAME = 'market_no_tips';
const COOKIE_TIPS_EXPIRES = 1000 * 60 * 60 * 24 * 14;
const MARKET_COUNTRY_COOKIE = '_shoplazza_market_country';
const MARKET_MODAL_LOADED = '__market_modal_loaded__';
const PROPERTY_SELECTED = 'selected';
const MARKET_PC_HEADER_TRIGGER = 'market-pc-header-trigger';
const MARKET_PC_HEADER_COUNTRY_SELECT_TITLE =
'market-pc-header-country-select-title';
const MARKET_PC_HEADER_LANGUAGE_SELECT_TITLE =
'market-pc-header-language-select-title';
const MARKET_PC_HEADER_LANGUAGE_SELECT_SUB_TITLE =
'market-pc-header-language-select-sub-title';
const MARKET_PC_HEADER_COUNTRY_SELECT_SUB_TITLE =
'market-pc-header-country-select-sub-title';
const MARKET_FLAG = 'market-flag';
const MARKET_SELECT_VALUE = 'market-select-value';
const MARKET_CURRENCY = 'market-currency';
const MARKET_CURRENCY_SYMBOL = 'market-currency-symbol';
const MARKET_SELECT_ITEM = 'market-select-item';
const MARKET_SELECT_ITEM_ID = 'market-select-item-id';
const MARKET_SELECT_LIST = 'market-select-list';
const MARKET_LANGUAGE_SELECT = 'market-language-select';
const MARKET_COUNTRY_SELECT = 'market-country-select';
const MARKET_MODAL = 'market-modal';
const MARKET_GATEWAY_REDIRECT_MODAL = 'market-gateway-redirect-modal';
const MARKET_RESELECT_MODAL = 'market-reselect-modal';
const MARKET_MODAL_FLAG = 'market-modal-flag';
const MARKET_MODAL_COUNTRY_CODE = 'market-modal-country-code';
const MARKET_MODAL_CURRENCY_SYMBOL = 'market-modal-currency-symbol';
const MARKET_MODAL_CLOSE = 'market-modal-close';
const MARKET_MODAL_CONFIRM = 'market-modal-confirm';
const MARKET_MODAL_RESELECT = 'market-modal-reselect';
const MARKET_MODAL_RESELECT_COUNTRY_SELECT =
'market-modal-reselect-country-select';
const DATA_SECTION_TYPE = 'data-section-type';
const SECTION_TYPE_HEADER = 'header';
const SECTION_TYPE_FOOTER = 'footer';
class SpzCustomMarket extends SPZ.BaseElement {
constructor(element) {
super(element);
this.global = null;
this.useCountrySelect_ = false;
this.useLanguageSelect_ = false;
this.useModal_ = false;
this.isSingleSelectMode_ = false;
this.blockSectionPosition_ = '';
this.isEditMode = false;
this.ipMatchingMarket = null;
this.marketCountryList = [];
this.marketLanguages = [];
this.toast = null;
}
static deferredMount() {
return false;
}
isLayoutSupported(layout) {
return layout == SPZCore.Layout.LOGIC;
}
buildCallback() {
console.debug('Geolocation');
this.xhr_ = SPZServices.xhrFor(this.win);
const platform = SPZServices.platformFor(this.win);
this.isIOS_ = platform.isIos();
this.action_ = SPZServices.actionServiceForDoc(this.element);
this.global = this.win.C_SETTINGS || this.win[atob('U0hPUExBWlpB')];
this.isEditMode =
new URLSearchParams(this.win.location.search).get('preview_theme_id') &&
new URLSearchParams(this.win.location.search).get('oseid');
this.init_();
}
showToast_(content) {
if (!this.toast) {
this.toast = self.document.createElement('ljs-toast');
this.toast.setAttribute('layout', 'nodisplay');
this.toast.setAttribute('hidden', '');
this.toast.setAttribute('duration', '2000');
this.element.appendChild(this.toast);
}
SPZ.whenApiDefined(this.toast).then((apis) => {
apis.showToast(content);
});
}
triggerEvent_(name, data) {
const event = SPZUtils.Event.create(this.win, `${TAG}.${name}`, data);
this.action_.trigger(this.element, name, event);
}
findBlockSectionPosition() {
let current = this.element;
while (current) {
const dataSectionType = current.getAttribute(DATA_SECTION_TYPE);
if (
dataSectionType === SECTION_TYPE_HEADER ||
dataSectionType === SECTION_TYPE_FOOTER
) {
return dataSectionType;
}
current = current.parentElement;
}
return '';
}
async initSettings_() {
await this.getMarketThemeSettings_();
if (this.useCountrySelect_) {
this.element.setAttribute('use-country-select', true);
}
if (this.useLanguageSelect_) {
this.element.setAttribute('use-language-select', true);
}
if (this.useModal_) {
this.element.setAttribute('use-modal', true);
}
if (
(this.useCountrySelect_ && !this.useLanguageSelect_) ||
(!this.useCountrySelect_ && this.useLanguageSelect_)
) {
this.isSingleSelectMode_ = true;
}
this.blockSectionPosition_ = this.findBlockSectionPosition();
this.isPCLayout_ = this.win.matchMedia('(min-width: 960px)').matches;
}
renderMarketSelectTemplateNode_(clonedTemplate, data) {
this.renderTemplateImg_(clonedTemplate, MARKET_FLAG, {
src: data?.flag,
width: '24',
height: '24',
});
this.renderTemplateElement_(
clonedTemplate,
MARKET_SELECT_VALUE,
data.value
);
this.renderTemplateElement_(
clonedTemplate,
MARKET_CURRENCY,
data?.currency
);
this.renderTemplateElement_(
clonedTemplate,
MARKET_CURRENCY_SYMBOL,
data?.currencySymbol
);
}
bindDropdownOpenClickEvent_(triggerElement, dropdown) {
if (!triggerElement) return;
const triggerOpen = () => {
SPZ.whenApiDefined(dropdown).then((apis) => {
if (!dropdown.hasAttribute('open')) {
apis.open(triggerElement);
}
});
};
if (this.isIOS_) {
triggerElement.addEventListener('touchstart', triggerOpen);
} else {
triggerElement.addEventListener('click', triggerOpen);
}
}
createDropdown_() {
const dropdown = self.document.createElement('ljs-dropdown');
dropdown.setAttribute('layout', 'nodisplay');
if (this.blockSectionPosition_ === 'header') {
dropdown.setAttribute('overlay-style', 'top: 4px;');
dropdown.setAttribute('placement', 'bottomRight');
} else if (this.blockSectionPosition_ === 'footer') {
dropdown.setAttribute('overlay-style', 'top: -4px;');
dropdown.setAttribute('placement', 'top');
}
return dropdown;
}
createDropdownIcon_() {
const svgElement = document.createElementNS("http://www.w3.org/2000/svg", "svg");
svgElement.setAttribute("class", "market-rotate-180");
svgElement.setAttribute("width", "16");
svgElement.setAttribute("height", "16");
const path1 = document.createElementNS("http://www.w3.org/2000/svg", "path");
path1.setAttribute("d", "M7.47 5.172a.75.75 0 0 1 1.06 0l4.596 4.596a.75.75 0 1 1-1.06 1.06L7.468 6.232a.75.75 0 0 1 0-1.06Z");
path1.setAttribute("fill", "currentColor");
const path2 = document.createElementNS("http://www.w3.org/2000/svg", "path");
path2.setAttribute("d", "M8.533 5.172a.75.75 0 0 1 0 1.06l-4.596 4.596a.75.75 0 1 1-1.061-1.06l4.596-4.596a.75.75 0 0 1 1.06 0Z");
path2.setAttribute("fill", "currentColor");
svgElement.appendChild(path1);
svgElement.appendChild(path2);
return svgElement;
}
renderDropdownListWithClickEvent_({
triggerElement,
dataList,
subTitleRole,
listElementWithTemplate,
defaultValue,
itemHandler,
shouldUpdateSelectedItem = false,
}) {
const dropdown = this.createDropdown_();
const itemTemplate = SPZCore.Dom.scopedQuerySelector(
listElementWithTemplate,
'template'
);
const clonedItemTemplate = itemTemplate.cloneNode(true);
const fragment = self.document.createDocumentFragment();
dataList.forEach((data) => {
const tempParentNode = self.document.createElement('div');
const clonedTemplate = self.document.importNode(
clonedItemTemplate.content,
true
);
tempParentNode.appendChild(clonedTemplate);
tempParentNode.firstElementChild.classList.add(
'market-select-item'
);
this.renderMarketSelectTemplateNode_(tempParentNode, data);
const selectItemElement = SPZCore.Dom.scopedQuerySelector(
tempParentNode,
`[role="${MARKET_SELECT_ITEM}"]`
);
if (!selectItemElement) {
return;
}
if (defaultValue === data.value) {
if (shouldUpdateSelectedItem) {
const clonedSelectItemElement = selectItemElement.cloneNode(true);
triggerElement.replaceChild(
clonedSelectItemElement,
triggerElement.firstElementChild
);
}
selectItemElement.setAttribute(PROPERTY_SELECTED, '');
}
selectItemElement.setAttribute(MARKET_SELECT_ITEM_ID, data.value);
fragment.appendChild(tempParentNode.firstElementChild);
});
let value = defaultValue;
listElementWithTemplate.addEventListener(
'click',
(e) => {
if (this.isEditMode) {
this.showToast_('编辑器下不支持切换国家');
SPZ.whenApiDefined(dropdown).then((apis) => {
apis.close();
});
return;
}
let targetElement = e.target;
while (targetElement) {
if (
!targetElement ||
targetElement.getAttribute(MARKET_SELECT_ITEM_ID)
) {
break;
}
targetElement = targetElement.parentNode;
}
if (
!targetElement ||
!targetElement.hasAttribute(MARKET_SELECT_ITEM_ID)
) {
return;
}
const selectValue = targetElement.getAttribute(MARKET_SELECT_ITEM_ID);
if (value === selectValue) {
SPZ.whenApiDefined(dropdown).then((apis) => {
apis.close();
});
return;
}
const selectedData = dataList.find((c) => c.value === selectValue);
if (shouldUpdateSelectedItem) {
const tempParentNode = self.document.createElement('div');
const clonedTemplate = self.document.importNode(
clonedItemTemplate.content,
true
);
tempParentNode.appendChild(clonedTemplate);
this.renderMarketSelectTemplateNode_(tempParentNode, selectedData);
tempParentNode.firstElementChild.classList.add(
'market-select-item'
);
triggerElement.replaceChild(
tempParentNode.firstElementChild,
triggerElement.firstElementChild
);
}
value = selectValue;
itemHandler?.(selectedData);
SPZ.whenApiDefined(dropdown).then((apis) => {
apis.close();
});
},
false
);
listElementWithTemplate.removeChild(itemTemplate);
listElementWithTemplate.appendChild(fragment);
listElementWithTemplate.classList.add('market-select-list');
dropdown.appendChild(listElementWithTemplate);
if (subTitleRole) {
this.renderSelectTitle_(dropdown, subTitleRole);
}
return dropdown;
}
createSelect_({
parent,
defaultValue,
dataList,
listElementWithTemplate,
itemHandler,
titleRole,
}) {
const triggerElement = self.document.createElement('div');
triggerElement.classList.add('market-select');
const displayElement = self.document.createElement('div');
triggerElement.appendChild(displayElement);
triggerElement.appendChild(this.createDropdownIcon_());
const dropdown = this.renderDropdownListWithClickEvent_({
triggerElement,
dataList,
listElementWithTemplate,
defaultValue,
itemHandler,
shouldUpdateSelectedItem: true,
});
this.bindDropdownOpenClickEvent_(triggerElement, dropdown);
const dropdownContainer = self.document.createElement('div');
dropdownContainer.appendChild(triggerElement);
dropdownContainer.appendChild(dropdown);
dropdownContainer.classList.add('market-select-container');
this.renderSelectTitle_(dropdownContainer, titleRole);
parent.appendChild(dropdownContainer);
}
getListElementWithTemplate_(role) {
const template = SPZCore.Dom.scopedQuerySelector(
this.element,
`[role="${role}"]`
);
if (template) {
const clonedTemplate = template.cloneNode(true);
const tempParent = self.document.createElement("div");
tempParent.appendChild(clonedTemplate.content);
const listElementWithTemplate = SPZCore.Dom.scopedQuerySelector(
tempParent,
`[role="${MARKET_SELECT_LIST}"]`
);
return listElementWithTemplate;
}
return null;
}
renderSelectTitle_(parent, role) {
if (!parent || !role) {
return;
}
const template = SPZCore.Dom.scopedQuerySelector(
this.element,
`[role="${role}"]`
);
const content = self.document.importNode(template.content, true);
parent.insertBefore(content, parent.firstElementChild);
parent.firstElementChild.classList.add(
role.includes('sub')
? 'market-pc-header-select-sub-title'
: 'market-pc-header-select-title'
);
}
initSelect_(rootNode, options) {
const parent = rootNode || this.element;
if (this.useCountrySelect_) {
this.createSelect_({
parent,
titleRole: options?.shouldRenderSelectTitle
? MARKET_PC_HEADER_COUNTRY_SELECT_TITLE
: undefined,
defaultValue: this.getDefaultCountryValue_(),
dataList: this.marketCountryList.map(this.mapCountryRenderData_),
listElementWithTemplate: this.getListElementWithTemplate_(
MARKET_COUNTRY_SELECT
),
itemHandler: this.handleCountrySelectChange_.bind(this),
});
}
if (this.useLanguageSelect_) {
this.createSelect_({
parent,
titleRole: options?.shouldRenderSelectTitle
? MARKET_PC_HEADER_LANGUAGE_SELECT_TITLE
: undefined,
defaultValue: this.getDefaultLanguageValue_(),
dataList: this.marketLanguages.map(this.mapLanguageRenderData_),
listElementWithTemplate: this.getListElementWithTemplate_(
MARKET_LANGUAGE_SELECT
),
itemHandler: this.handleLanguageSelectChange_.bind(this),
});
}
}
initPcHeaderTriggerElement() {
const headerTriggerElementTemplate = SPZCore.Dom.scopedQuerySelector(
this.element,
`[role="${MARKET_PC_HEADER_TRIGGER}"]`
);
const headerTriggerElement = self.document.importNode(
headerTriggerElementTemplate.content,
true
);
const parentDivElement = self.document.createElement('div');
parentDivElement.setAttribute('role', MARKET_PC_HEADER_TRIGGER);
parentDivElement.appendChild(headerTriggerElement);
this.element.removeChild(headerTriggerElementTemplate);
return parentDivElement;
}
initPanelWithSelect_() {
const triggerElement = this.initPcHeaderTriggerElement();
const dropdown = this.createDropdown_();
const panelElement = self.document.createElement('div');
panelElement.classList.add('market-panel');
this.initSelect_(panelElement, {shouldRenderSelectTitle: true});
dropdown.appendChild(panelElement);
this.bindDropdownOpenClickEvent_(triggerElement, dropdown);
this.element.appendChild(triggerElement);
this.element.insertBefore(dropdown, triggerElement);
}
initSingleSelectDropdown_() {
const triggerElement = this.initPcHeaderTriggerElement();
let dropdown;
if (this.useCountrySelect_) {
dropdown = this.renderDropdownListWithClickEvent_({
triggerElement,
subTitleRole: MARKET_PC_HEADER_COUNTRY_SELECT_SUB_TITLE,
dataList: this.marketCountryList.map(this.mapCountryRenderData_),
listElementWithTemplate: this.getListElementWithTemplate_(
MARKET_COUNTRY_SELECT
),
defaultValue: this.getDefaultCountryValue_(),
itemHandler: this.handleCountrySelectChange_.bind(this),
});
} else if (this.useLanguageSelect_) {
dropdown = this.renderDropdownListWithClickEvent_({
triggerElement,
subTitleRole: MARKET_PC_HEADER_LANGUAGE_SELECT_SUB_TITLE,
dataList: this.marketLanguages.map(this.mapLanguageRenderData_),
listElementWithTemplate: this.getListElementWithTemplate_(
MARKET_LANGUAGE_SELECT
),
defaultValue: this.getDefaultLanguageValue_(),
itemHandler: this.handleLanguageSelectChange_.bind(this),
});
}
if (dropdown) {
this.bindDropdownOpenClickEvent_(triggerElement, dropdown);
this.element.appendChild(triggerElement);
this.element.appendChild(dropdown);
}
}
initEntry_() {
if (this.blockSectionPosition_ === SECTION_TYPE_HEADER) {
if (this.isSingleSelectMode_) {
this.initSingleSelectDropdown_();
} else if (this.useCountrySelect_ && this.useLanguageSelect_) {
this.initPanelWithSelect_();
}
}
this.initSelect_(this.element);
}
async initData_() {
const promises = [];
if (this.useCountrySelect_ || this.useModal_) {
promises.push(this.getCountryList_(), this.getIpMatchingMarket_());
}
if (this.useLanguageSelect_) {
promises.push(this.getMarketLanguages_(this.global.market.market_id));
}
return Promise.all(promises).then((results) => {
const ipMatchingMarket = results.find((result) =>
result.hasOwnProperty('matching_station')
);
const marketCountryList = results.find((result) =>
result.hasOwnProperty('data')
);
if (ipMatchingMarket && marketCountryList) {
this.ipMatchingMarket = ipMatchingMarket?.matching_station?.find?.(
(item) => item.type === 'multiple_market'
) || {
img: marketCountryList.length
? marketCountryList?.[0]?.detail &&
marketCountryList[0].detail?.flag
: '',
};
}
});
}
initModal_() {
if (
this.isEditMode ||
!this.ipMatchingMarket?.market_id ||
!this.useModal_ ||
this.hasCookie_(COOKIE_TIPS_NAME) ||
this.win[MARKET_MODAL_LOADED]
) {
return;
}
this.win[MARKET_MODAL_LOADED] = true;
const redirectParam = new URLSearchParams(this.win.location.search).get(
URL_REDIRECT
);
if (redirectParam) {
this.initModalEntry_(MARKET_GATEWAY_REDIRECT_MODAL);
} else if (
this.ipMatchingMarket.market_id !== this.global?.market?.market_id
) {
this.initModalEntry_(MARKET_MODAL);
}
}
async init_() {
await this.initSettings_();
await this.initData_();
this.initEntry_();
this.initModal_();
}
getDefaultCountryValue_() {
return this.getCookie_(MARKET_COUNTRY_COOKIE) || this.marketCountryList[0]?.country_code;
}
mapCountryRenderData_(country) {
return {
flag: country?.detail?.flag || '',
value: country?.country_code,
currency: country?.currency,
currencySymbol: country?.symbol?.val || '',
url: country?.url,
};
}
handleCountrySelectChange_(selectedData) {
this.setCookie_(MARKET_COUNTRY_COOKIE, selectedData.value);
this.handleChangeURL_(selectedData.url);
}
getDefaultLanguageValue_() {
return this.marketLanguages?.find?.(
(lang) => lang.code === this.global?.market?.market_lang
)?.name;
}
mapLanguageRenderData_(language) {
return {
value: language.name,
url: language.url,
};
}
handleLanguageSelectChange_(selectedData) {
this.handleChangeURL_(selectedData.url);
}
renderTemplateElement_(parent, role, value) {
const elements = SPZCore.Dom.scopedQuerySelectorAll(
parent,
`[role="${role}"]`
);
elements.forEach((element) => {
if (element && value) {
element.innerHTML = value;
}
});
}
renderTemplateImg_(parent, role, options) {
const flagElement = SPZCore.Dom.scopedQuerySelector(
parent,
`[role="${role}"]`
);
if (flagElement && options?.src && options?.height && options?.width) {
const spzImg = self.document.createElement('ljs-img');
spzImg.setAttribute('src', options.src);
spzImg.setAttribute('layout', 'responsive');
spzImg.setAttribute('width', options.width);
spzImg.setAttribute('height', options.height);
spzImg.setAttribute(
'style',
`width: ${options.width}px; height: ${options.height}px;`
);
flagElement.appendChild(spzImg);
}
}
handleChangeURL_(url) {
if (!!url) {
let {origin, pathname, search} = this.win.location;
pathname = pathname.replace(SITE, url != '/' ? url : '');
this.win.location.href = `${origin}${pathname}${search}`;
} else {
this.win.location.reload(true);
}
}
initModalEntry_(role) {
const marketModalTemplate = SPZCore.Dom.scopedQuerySelector(
this.element,
`[role="${role}"]`
);
if (marketModalTemplate) {
const tempParentNode = self.document.createElement('div');
const clonedTemplate = self.document.importNode(
marketModalTemplate.content,
true
);
tempParentNode.appendChild(clonedTemplate);
this.renderTemplateImg_(tempParentNode, MARKET_MODAL_FLAG, {
src: this.ipMatchingMarket?.img,
width: '80',
height: '80',
});
this.renderTemplateElement_(
tempParentNode,
MARKET_MODAL_COUNTRY_CODE,
this.ipMatchingMarket?.name
);
this.renderTemplateElement_(
tempParentNode,
MARKET_MODAL_CURRENCY_SYMBOL,
this.ipMatchingMarket?.currency_with_symbol
);
const lightbox = self.document.createElement('ljs-lightbox');
lightbox.setAttribute('layout', 'nodisplay');
lightbox.appendChild(tempParentNode.firstElementChild);
self.document.body.appendChild(lightbox);
SPZ.whenApiDefined(lightbox).then((apis) => {
SPZCore.Dom.scopedQuerySelectorAll(
lightbox,
`[role="${MARKET_MODAL_CLOSE}"]`
).forEach((ele) => {
ele.addEventListener('click', () => {
this.setCookie_(COOKIE_TIPS_NAME, 1, COOKIE_TIPS_EXPIRES);
apis.close();
});
});
const marketModalConfirmElement = SPZCore.Dom.scopedQuerySelector(
lightbox,
`[role="${MARKET_MODAL_CONFIRM}"]`
);
if (marketModalConfirmElement && this.ipMatchingMarket?.url) {
marketModalConfirmElement.addEventListener('click', () => {
this.setCookie_(COOKIE_TIPS_NAME, 1, COOKIE_TIPS_EXPIRES);
this.setCookie_(MARKET_COUNTRY_COOKIE, this.ipMatchingMarket?.name);
this.handleChangeURL_(this.ipMatchingMarket?.url);
});
}
const marketModalReselectElement = SPZCore.Dom.scopedQuerySelector(
lightbox,
`[role="${MARKET_MODAL_RESELECT}"]`
);
if (marketModalReselectElement) {
marketModalReselectElement.addEventListener('click', () => {
this.setCookie_(COOKIE_TIPS_NAME, 1, COOKIE_TIPS_EXPIRES);
const marketReselectTemplate = SPZCore.Dom.scopedQuerySelector(
this.element,
`[role="${MARKET_RESELECT_MODAL}"]`
);
if (marketReselectTemplate && lightbox.firstElementChild) {
const clonedTemplate = self.document.importNode(
marketReselectTemplate.content,
true
);
const selectParent = SPZCore.Dom.scopedQuerySelector(
clonedTemplate,
`[role="${MARKET_MODAL_RESELECT_COUNTRY_SELECT}"]`
);
if (selectParent) {
this.createSelect_({
parent: selectParent,
defaultValue: this.getDefaultCountryValue_(),
dataList: this.marketCountryList.map(
this.mapCountryRenderData_
),
listElementWithTemplate: this.getListElementWithTemplate_(
MARKET_COUNTRY_SELECT
),
itemHandler: this.handleCountrySelectChange_.bind(this),
});
}
lightbox.replaceChild(clonedTemplate, lightbox.firstElementChild);
SPZCore.Dom.scopedQuerySelectorAll(
lightbox,
`[role="${MARKET_MODAL_CLOSE}"]`
).forEach((ele) => {
ele.addEventListener('click', () => {
this.setCookie_(COOKIE_TIPS_NAME, 1, COOKIE_TIPS_EXPIRES);
apis.close();
});
});
}
});
}
apis.open();
});
}
}
async getMarketThemeSettings_() {
return this.xhr_.fetchJson(MARKET_THEME_SETTINGS).then((res) => {
this.useCountrySelect_ = !!res.country_selector_enabled;
this.useLanguageSelect_ =
!!res.language_selector_enabled && this.global?.market?.market_id;
this.useModal_ = !!res.redirect_pop_enabled;
return res;
});
}
async getCountryList_() {
return this.xhr_.fetchJson(MARKET_COUNTRIES).then((res) => {
this.marketCountryList = res.data.length ? res.data : [];
return res;
});
}
async getIpMatchingMarket_() {
return this.xhr_.fetchJson(IP_MATCHING_MARKET, {
method: 'POST',
body: {
stations: [],
},
});
}
async getMarketLanguages_(marketId) {
return this.xhr_
.fetchJson(MARKET_LANGUAGES.replace(/:id/gim, marketId))
.then((res) => {
this.marketLanguages = res?.languages?.length ? res.languages : [];
return res;
});
}
hasCookie_(name) {
const m = self.document.cookie
.split(';')
.filter((pair) => pair.trim().startsWith(name + '='));
return !!(m && m[0]);
}
getCookie_(name) {
const m = self.document.cookie
.split(';')
.filter((pair) => pair.trim().startsWith(name + '='));
return m && m[0] ? m[0].split('=')[1] : null;
}
setCookie_(name, value, expires) {
const expiresDate = new Date(Date.now() + expires).toGMTString();
self.document.cookie = `${name}=${encodeURIComponent(
value
)};expires=${expiresDate};path=/`;
}
}
SPZ.defineElement('spz-custom-market', SpzCustomMarket);
</ljs-script>
<spz-custom-market layout="logic" class="i-spzhtml-layout-logic" i-spzhtml-layout="logic">
<template role="market-pc-header-trigger">
<div class="market-icon" role="market-dropdown-open-target">
<svg width="20" height="20" viewbox="0 0 22 22" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M11 0.5C5.20156 0.5 0.5 5.20156 0.5 11C0.5 16.7984 5.20156 21.5 11 21.5C16.7984 21.5 21.5 16.7984 21.5 11C21.5 5.20156 16.7984 0.5 11 0.5ZM11 5.75C10.3086 5.75 9.63359 5.68906 8.97969 5.57422C9.59375 3.10859 10.5172 1.8125 11 1.8125C11.4828 1.8125 12.4062 3.10859 13.0203 5.57422C12.3664 5.68672 11.6914 5.75 11 5.75ZM14.2977 5.27188C13.9789 3.96641 13.5523 2.86719 13.0531 2.05156C14.5437 2.39375 15.8961 3.09922 17.0141 4.06953C16.1867 4.58047 15.2727 4.98594 14.2977 5.27188ZM7.70234 5.27188C6.72734 4.98594 5.81563 4.57812 4.98828 4.06953C6.10625 3.09922 7.45625 2.39609 8.94687 2.05391C8.44766 2.86719 8.02344 3.96641 7.70234 5.27188ZM14.9258 10.3438C14.8953 8.99609 14.7687 7.72109 14.5648 6.56094C15.7953 6.20938 16.9391 5.68672 17.9586 5.01875C19.2102 6.47187 20.0094 8.31641 20.1547 10.3438H14.9258ZM1.84531 10.3438C1.99063 8.31875 2.7875 6.47422 4.03672 5.02109C5.05625 5.68906 6.20234 6.20703 7.43516 6.55859C7.23125 7.72109 7.10469 8.99609 7.07422 10.3438H1.84531ZM8.38672 10.3438C8.41719 9.03828 8.53672 7.87344 8.7125 6.85859C9.45312 6.98984 10.2148 7.0625 11 7.0625C11.7828 7.0625 12.5469 6.99219 13.2875 6.86094C13.4633 7.87578 13.5805 9.04062 13.6133 10.3438H8.38672ZM17.9586 16.9813C16.9391 16.3133 15.7953 15.7906 14.5648 15.4391C14.7687 14.2766 14.8953 13.0016 14.9258 11.6562H20.1547C20.0094 13.6836 19.2102 15.5281 17.9586 16.9813ZM8.7125 15.1414C8.53672 14.1266 8.41953 12.9617 8.38672 11.6562H13.6109C13.5805 12.9594 13.4633 14.1242 13.2852 15.1391C12.5469 15.0078 11.7828 14.9375 11 14.9375C10.2172 14.9375 9.45312 15.0102 8.7125 15.1414ZM4.03906 16.9789C2.78984 15.5258 1.99063 13.6812 1.84766 11.6562H7.07656C7.10703 13.0039 7.23359 14.2789 7.4375 15.4414C6.20469 15.793 5.05859 16.3109 4.03906 16.9789ZM11 20.1875C10.5172 20.1875 9.59375 18.8914 8.97969 16.4258C9.63359 16.3133 10.3086 16.25 11 16.25C11.6914 16.25 12.3664 16.3133 13.0203 16.4258C12.4062 18.8914 11.4828 20.1875 11 20.1875ZM13.0531 19.9484C13.5523 19.1328 13.9789 18.0336 14.2977 16.7281C15.275 17.0141 16.1867 17.4195 17.0141 17.9281C15.8961 18.9008 14.5437 19.6062 13.0531 19.9484ZM8.94687 19.9484C7.45625 19.6062 6.10625 18.9031 4.98828 17.9328C5.81328 17.4219 6.725 17.0164 7.70234 16.7305C8.02344 18.0336 8.44766 19.1328 8.94687 19.9484Z" fill="currentColor"></path>
</svg>
<svg class="market-rotate-180" width="16" height="16" xmlns="http://www.w3.org/2000/svg">
<path d="M7.47 5.172a.75.75 0 0 1 1.06 0l4.596 4.596a.75.75 0 1 1-1.06 1.06L7.468 6.232a.75.75 0 0 1 0-1.06Z" fill="currentColor"></path>
<path d="M8.533 5.172a.75.75 0 0 1 0 1.06l-4.596 4.596a.75.75 0 1 1-1.061-1.06l4.596-4.596a.75.75 0 0 1 1.06 0Z" fill="currentColor"></path>
</svg>
</div>
</template>
<template role="market-pc-header-country-select-title">
<div class="market-select-title">Region/Country</div>
</template>
<template role="market-pc-header-country-select-sub-title">
<div class="market-select-sub-title">Region/Country</div>
</template>
<template role="market-country-select">
<div role="market-select-list">
<template>
<div role="market-select-item">
<div role="market-flag"></div>
<div style="margin-right: 4px;" role="market-select-value"></div>
(<div style="margin-right: 4px;" role="market-currency"></div>
<div role="market-currency-symbol"></div>)
</div>
</template>
</div>
</template>
<template role="market-pc-header-language-select-title">
<div class="market-select-title">Language</div>
</template>
<template role="market-pc-header-language-select-sub-title">
<div class="market-select-sub-title">Language</div>
</template>
<template role="market-language-select">
<div role="market-select-list">
<template>
<div role="market-select-item">
<div role="market-select-value"></div>
</div>
</template>
</div>
</template>
<template role="market-modal">
<div class="market-modal-container">
<div class="market-modal-close" role="market-modal-close">
<svg width="18" height="18" xmlns="http://www.w3.org/2000/svg">
<path d="M4.12 2.988a.3.3 0 0 0-.425 0l-.707.707a.3.3 0 0 0 0 .424L7.867 9l-4.88 4.878a.3.3 0 0 0 0 .425l.708.707a.3.3 0 0 0 .424 0L9 10.129l4.878 4.88a.3.3 0 0 0 .424 0l.707-.707a.3.3 0 0 0 0-.425L10.13 8.998l4.878-4.879a.3.3 0 0 0 0-.424l-.706-.707a.3.3 0 0 0-.425 0L8.998 7.867 4.12 2.987z" fill-opacity=".7" fill="#292929"></path>
</svg>
</div>
<div class="market-modal-content">
<div class="market-modal-flag" role="market-modal-flag"></div>
<div class="market-modal-title">Switch to <span role='market-modal-country-code'></span> based on your location</div>
<ul>
<li>Purchase with <span role='market-modal-currency-symbol'></span></li>
<li>Get shipping options for <span role='market-modal-country-code'></span></li>
</ul>
</div>
<div class="market-modal-footer">
<div class="market-modal-cancel market-modal-footer-button" role="market-modal-close">Cancel</div>
<div class="market-modal-confirm market-modal-footer-button" role="market-modal-confirm">Switch</div>
</div>
</div>
</template>
<template role="market-gateway-redirect-modal">
<div class="market-modal-container">
<div class="market-modal-close" role="market-modal-close">
<svg width="18" height="18" xmlns="http://www.w3.org/2000/svg">
<path d="M4.12 2.988a.3.3 0 0 0-.425 0l-.707.707a.3.3 0 0 0 0 .424L7.867 9l-4.88 4.878a.3.3 0 0 0 0 .425l.708.707a.3.3 0 0 0 .424 0L9 10.129l4.878 4.88a.3.3 0 0 0 .424 0l.707-.707a.3.3 0 0 0 0-.425L10.13 8.998l4.878-4.879a.3.3 0 0 0 0-.424l-.706-.707a.3.3 0 0 0-.425 0L8.998 7.867 4.12 2.987z" fill-opacity=".7" fill="#292929"></path>
</svg>
</div>
<div class="market-modal-content">
<div class="market-modal-flag" role="market-modal-flag"></div>
<div class="market-modal-title">Set to <span role='market-modal-country-code'></span> based on your location</div>
<ul>
<li>Purchase with <span role='market-modal-currency-symbol'></span></li>
<li>Get shipping options for <span role='market-modal-country-code'></span></li>
</ul>
</div>
<div class="market-gateway-redirect-modal-footer">
<div class="market-modal-continue market-modal-footer-button" role="market-modal-close">Continue Shopping</div>
<div class="market-modal-reselect" role="market-modal-reselect">Modify Country/Region</div>
</div>
</div>
</template>
<template role="market-reselect-modal">
<div class="market-modal-container">
<div class="market-modal-close" role="market-modal-close">
<svg width="18" height="18" xmlns="http://www.w3.org/2000/svg">
<path d="M4.12 2.988a.3.3 0 0 0-.425 0l-.707.707a.3.3 0 0 0 0 .424L7.867 9l-4.88 4.878a.3.3 0 0 0 0 .425l.708.707a.3.3 0 0 0 .424 0L9 10.129l4.878 4.88a.3.3 0 0 0 .424 0l.707-.707a.3.3 0 0 0 0-.425L10.13 8.998l4.878-4.879a.3.3 0 0 0 0-.424l-.706-.707a.3.3 0 0 0-.425 0L8.998 7.867 4.12 2.987z" fill-opacity=".7" fill="#292929"></path>
</svg>
</div>
<div class="market-reselect-modal-content">
<div style="margin-top: 12px; margin-bottom: 32px;">Modify Country/Region</div>
<div style="margin: 0 24px;" role="market-modal-reselect-country-select"></div>
</div>
<div class="market-gateway-redirect-modal-footer" style="padding: 0 48px;">
<div class="market-modal-continue market-modal-footer-button" role="market-modal-close" style="width: 100%;">Continue Shopping</div>
<div class="market-modal-reselect" role="market-modal-close">Cancel</div>
</div>
</div>
</template>
</spz-custom-market>
</div>
</div>
<div class="empty-hidden plugin__translate-header"></div>
<div class="empty-hidden plugin__currency"></div>
</div>
<div class="header__account relative text-0 md:hidden ">
<i class="cursor-pointer" @tap="header_account_dropdown_md.open"><svg class=" " width="26" height="26" fill="none" xmlns="http://www.w3.org/2000/svg"><path opacity=".01" fill="currentColor" d="M0 0h26v26H0z"></path><g fill-rule="evenodd" clip-rule="evenodd" fill="currentColor"><path d="M13.11 1a6.11 6.11 0 1 1 0 12.22 6.11 6.11 0 0 1 0-12.22Zm0 1.6a4.51 4.51 0 1 0 0 9.02 4.51 4.51 0 0 0 0-9.02ZM17.333 15A6.667 6.667 0 0 1 24 21.667V24a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1v-2.333A6.667 6.667 0 0 1 8.667 15h8.666Zm0 1.6H8.667a5.067 5.067 0 0 0-5.062 4.847l-.005.22V23.4h18.8v-1.733a5.067 5.067 0 0 0-4.847-5.062l-.22-.005Z"></path></g></svg></i>
<spz-dropdown class="header__account_dropdown i-spzhtml-layout-nodisplay" id="header_account_dropdown_md" layout="nodisplay" placement="bottom" hidden="" style="display: none" i-spzhtml-layout="nodisplay">
<ul class="header__account_dropdown_content list-none header-shadow">
<li><a href="#">Log in</a></li>
<li><a href="#">Create an account</a></li>
</ul>
</spz-dropdown>
</div>
<a class="header__cart relative flex justify-end items-center text-0 text-inherit cursor-pointer no-underline" href="#">
<i>
<svg class="" width="28" height="28" fill="currentColor" xmlns="http://www.w3.org/2000/svg"><path opacity=".01" fill="currentColor" d="M0 0h28v28H0z"></path><g fill="currentColor"><path fill-rule="evenodd" clip-rule="evenodd" d="M1.8 2.2a.8.8 0 1 0 0 1.6h2.803l1.542 14.541a1 1 0 0 0 .995.895h15.055a1 1 0 0 0 .982-.811l2.105-10.91a1 1 0 0 0-.982-1.189H6.48l-.432-4.081a.05.05 0 0 0-.05-.045H1.8Zm4.849 5.726h16.923l-1.873 9.709H7.679l-1.03-9.709Z"></path><path d="M10.917 23.62a1.909 1.909 0 1 1-3.818 0 1.909 1.909 0 0 1 3.818 0ZM22.372 23.62a1.91 1.91 0 1 1-3.819 0 1.91 1.91 0 0 1 3.819 0Z"></path></g></svg>
</i>
<!-- 购物车数量 -->
<spz-event target-id="header_cart_count_render_md" target-api="render" event-name="dj.addToCart;dj.cartChange;" layout="logic" class="i-spzhtml-layout-logic" i-spzhtml-layout="logic"></spz-event>
<spz-render id="header_cart_count_render_md" layout="container" src="/api/cart/count" class="i-spzhtml-layout-container" i-spzhtml-layout="container">
<template>
<div>
<span class="header__cart-count absolute rounded-full leading-none text-center" spz-if="${data.data && data.data.count > 0}">${data.data && data.data.count}</span>
</div>
</template>
</spz-render>
</a>
<i class="header__drawer_icon flex lg:hidden cursor-pointer" @tap="shoplaza-section-announcement.toggleClass(class='header_mask_open', force=true);header_drawer.open()">
<svg class="" width="28" height="28" fill="none" xmlns="http://www.w3.org/2000/svg"><g opacity=".01"><path opacity=".696" fill="currentColor" d="M0 0h28v28H0z"></path></g><g fill="currentColor"><path d="M24.17 6.17a.83.83 0 1 1 0 1.66H3.83a.83.83 0 0 1 0-1.66h20.34ZM24.17 13.17a.83.83 0 1 1 0 1.66H3.83a.83.83 0 1 1 0-1.66h20.34ZM24.17 20.17a.83.83 0 1 1 0 1.66H3.83a.83.83 0 1 1 0-1.66h20.34Z"></path></g></svg>
</i>
</div>
</div>
</div>
<div class="header__fixed-top header__scroll_hide pointer-events-auto" id="header-scrollable-container-mobile">
</div>
<div class="plugin__fixed-div pointer-events-auto"></div>
</header>
<style>
.header__search_sidebar{
height: 100vh;
width: 100%;
pointer-events: none;
}
.header__search_sidebar_content{
pointer-events: auto;
overflow: hidden auto;
max-height: 100%;
background-color: var(--color-header-bg);
}
.header__search-modal-form{
position: sticky;
top: 0;
z-index: 10;
background-color: var(--color-header-bg);
}
.header__search_sidebar-input{
padding: 46px 16px;
color: var(--color-header-search-text);
}
.header__search_sidebar + .i-spzhtml-sidebar-mask{
pointer-events: auto;
}
</style>
<spz-sidebar class="header__search_sidebar i-spzhtml-layout-nodisplay" id="header_search_sidebar" layout="nodisplay" side="top" @close="shoplaza-section-announcement.toggleClass(class='header_mask_open', force=false);" hidden="" style="display: none" i-spzhtml-layout="nodisplay">
<div class="header__search_sidebar_content">
<div class="page-container header__search-modal-form">
<form class="flex items-center" action="/search" method="get">
<button type="submit" class="clear text-0 text-inherit cursor-pointer">
<svg class="" width="26" height="26" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M17.925 20.057A9.955 9.955 0 0 1 12 22C6.477 22 2 17.523 2 12S6.477 2 12 2s10 4.477 10 10a9.968 9.968 0 0 1-2.864 7.006l4.929 4.928a.8.8 0 0 1-1.132 1.132l-5-5-.008-.01zM20.4 12a8.4 8.4 0 1 1-16.8 0 8.4 8.4 0 0 1 16.8 0z" fill="currentColor"></path></svg>
</button>
<input @input-debounced="header_search_predictive_render-sidebar.rerender(data=event.value, redo=true);" class="header__search_sidebar-input flex-1 text-base leading-none type-text-font-family clear" type="text" autocomplete="off" name="q" placeholder="Search products">
<button type="reset" class="header__search-modal-close text-0 text-inherit clear cursor-pointer" @tap="header_search_sidebar.close()">
<svg class="" width="26" height="26" xmlns="http://www.w3.org/2000/svg"><path d="M21.502 5.732A.85.85 0 0 0 20.3 4.53l-7.32 7.32L5.734 4.6a.85.85 0 0 0-1.202 1.203l7.248 7.247L4.53 20.3A.85.85 0 0 0 5.733 21.5l7.248-7.248 7.319 7.319a.85.85 0 0 0 1.202-1.202l-7.319-7.319 7.319-7.319z" fill="currentColor"></path></svg>
</button>
</form>
</div>
<style>
.header__search_predictive_render{
background-color: var(--color-header-bg);
}
.header__search_product_list_wrap{
padding: 24px 0 70px;
}
.header__search_product_list{
display: grid;
grid-template-columns: repeat(2, minmax(0, 1fr));
column-gap: 16px;
row-gap: 24px;
}
.header__search_product_list[data-empty],
.header__search_product__empty,
.header__search_product__view_more_wrap{
display: none;
}
.header__search_product_list[hasmore] + .header__search_product__view_more_wrap,
.header__search_product_list[data-empty] ~ .header__search_product__empty{
display: flex;
justify-content: center;
align-items: center;
}
.header__search_product_list[loading] ~ .loading{
display: var(--loading-show);
}
.header__search_product_list ~ .loading .loading-bounce{
border-bottom-color: var(--color-body-text);
}
.header__search_product__view_more{
margin: 24px auto 0;
padding: 8px 24px;
font-weight: 600;
font-size: 16px;
line-height: 24px;
}
@media (min-width: 960px) {
.header__search_product_list{
grid-template-columns: repeat(4, minmax(0, 1fr));
column-gap: 24px;
}
.header__search_product_list_wrap{
padding: 24px 0 40px;
}
}
</style>
<template id="header_search_product_list_template-sidebar">
<spz-product-snippet data-source-id="header_search_product_list-sidebar" product-id="${data.id}" layout="container" template="product-snippet-template" variant-thumb-names="color" thumb-max-num="3"></spz-product-snippet>
</template>
<spz-render id="header_search_predictive_render-sidebar" class="header__search_predictive_render i-spzhtml-layout-container" layout="container" manual i-spzhtml-layout="container">
<template>
<div class="page-container">
${(function(){
if (data === undefined || typeof data !== 'string' || data == '') return '<spz-render @finish="header_search_lightbox.close();header_search_sidebar.close();" layout="container"></spz-render>';
const keyword = encodeURIComponent(data);
return `
<div class="header__search_product_list_wrap">
<spz-list class="header__search_product_list" id="header_search_product_list-sidebar" layout="container" initial-page="0" size="limit" page-size="4" src="/api/search?keyword=${keyword}" list="data.products" total="data.total" template="header_search_product_list_template-sidebar"></spz-list>
<div class="header__search_product__view_more_wrap">
<a href="#" class="header__search_product__view_more button-primary rounded-btn no-underline">
View more
</a>
</div>
<div class="header__search_product__empty">
Your search for '${data}' did not yield any results.
</div>
<div class="loading items-center justify-center " role="loading" hide>
<div class="loading-bounce"></div>
</div>
</div>
`
})()}
</div>
</template>
</spz-render>
</div>
</spz-sidebar>
<style>
.header__drawer{
width: 330px;
top: 0;
bottom: 0;
max-width: 100vw !important;
line-height: 1.4;
}
.header__drawer,
.header__drawer + .i-spzhtml-sidebar-mask{
pointer-events: auto;
}
.header__drawer a{
color: inherit;
text-decoration: none;
}
.header__drawer_header{
position: sticky;
top: 0;
z-index: 10;
height: 62px;
border-bottom: 1px solid rgba(230,230,230,0.6);
}
.header__drawer_close{
width: 62px;
position: absolute;
top: 0;
right: 0;
bottom: 0;
opacity: 0.7;
}
.header__drawer_footer{
position: sticky;
bottom: 0;
z-index: 10;
border-top: 1px solid rgba(230,230,230,0.6);
padding: 16px 20px;
}
.header__drawer_prev{
position: sticky;
top: 0;
z-index: 10;
display: flex;
align-items: center;
border-bottom: 1px solid rgba(230,230,230,0.6);
padding: 16px 20px;
background-color: var(--color-body-bg);
}
.header__drawer [spz-nested-submenu]:not([child-open]){
overflow: hidden auto;
max-height: 100%;
}
.header__drawer_menu_item{
display: flex;
align-items: center;
justify-content: space-between;
min-height: 22px;
margin-left: 20px;
padding: 16px 20px 16px 0;
border-bottom: 1px solid rgba(230,230,230,0.6);
cursor: pointer;
}
.header__drawer_menu_item a:not([spz-nested-submenu-open]){
flex: 1
}
.header_drawer_menu .header_drawer_menu_first{
overflow: hidden auto;
}
.header_drawer_menu[child-open] .header_drawer_menu_first{
overflow: unset !important;
}
</style>
<spz-sidebar id="header_drawer" class="header__drawer flex flex-col bg-color-body i-spzhtml-layout-nodisplay" side="right" layout="nodisplay" @close="shoplaza-section-announcement.toggleClass(class='header_mask_open', force=false);" hidden="" style="display: none" i-spzhtml-layout="nodisplay">
<div class="header__drawer_header flex-shrink-0 relative flex bg-color-body">
<i class="header__drawer_close flex-center cursor-pointer" @tap="header_drawer.close()">
<svg class="" width="22" height="22" xmlns="http://www.w3.org/2000/svg"><path d="M5.034 3.652a.367.367 0 0 0-.518 0l-.864.864a.367.367 0 0 0 0 .519l5.963 5.963-5.963 5.963a.367.367 0 0 0 0 .519l.864.864a.367.367 0 0 0 .518 0l5.964-5.963 5.963 5.963a.367.367 0 0 0 .519 0l.864-.864a.367.367 0 0 0 0-.519l-5.964-5.963 5.964-5.963a.367.367 0 0 0 0-.519l-.864-.864a.367.367 0 0 0-.519 0l-5.963 5.963-5.964-5.963z" fill="currentColor"></path></svg>
</i>
</div>
<div class="flex-1 relative overflow-hidden">
<spz-nested-menu class="header_drawer_menu flex flex-col i-spzhtml-layout-fill i-spzhtml-layout-size-defined" layout="fill" side="right" id="menu-drawer" i-spzhtml-layout="fill">
<ul class="header_drawer_menu_first flex-1 hide-scrollbar">
<li>
<div class="header__drawer_menu_item">
<a class="flex items-start " href="#">
<span>Home</span>
</a>
</div>
</li>
<li>
<div class="header__drawer_menu_item">
<a class="flex items-start " href="#">
<span>New Arrivals</span>
</a>
</div>
</li>
<li>
<div class="header__drawer_menu_item">
<a class="flex items-start " href="#">
<span>Hot Sellers</span>
</a>
</div>
</li>
<li>
<div class="header__drawer_menu_item">
<a class="flex items-start " href="#">
<span>Daily Nutrition</span>
</a>
</div>
</li>
<li>
<div class="header__drawer_menu_item">
<a class="flex items-start " href="#">
<span>Bone & Joint</span>
</a>
</div>
</li>
<li>
<div class="header__drawer_menu_item">
<a class="flex items-start " href="#">
<span>Basic Nutrition</span>
</a>
</div>
</li>
<li>
<div class="header__drawer_menu_item">
<a class="flex items-start " href="#">
<span>Email:support@AngleFaceUS.com</span>
</a>
</div>
</li>
<div class="header__drawer_plugins">
<div class=" px-5 my-10">
<div id="plugin-c-market-block">
<script async crossorigin="anonymous" src="https://tk.lazbbq.asia/ym/002/static/js/spz.min.js"></script>
<ljs-script layout="logic" type="application/javascript" style="display:none" class="i-spzhtml-layout-logic" i-spzhtml-layout="logic">
const marketSlot = document.querySelector(".plugin_c_market");
if(marketSlot) {
marketSlot.remove();
}
</ljs-script>
<ljs-script layout="logic" type="application/javascript" style="display:none" class="i-spzhtml-layout-logic" i-spzhtml-layout="logic">
const SITE = (window.C_SETTINGS || window[atob('U0hPUExBWlpB')])?.routes?.root || '';
const MARKET_THEME_SETTINGS = `${SITE}/api/markets/theme_setting`;
const MARKET_COUNTRIES = `${SITE}/api/markets/countries`;
const IP_MATCHING_MARKET = `${SITE}/api/front/station`;
const MARKET_LANGUAGES = `${SITE}/api/markets/:id/active_languages`;
const URL_REDIRECT = '_market_redirected';
const COOKIE_TIPS_NAME = 'market_no_tips';
const COOKIE_TIPS_EXPIRES = 1000 * 60 * 60 * 24 * 14;
const MARKET_COUNTRY_COOKIE = '_shoplazza_market_country';
const MARKET_MODAL_LOADED = '__market_modal_loaded__';
const PROPERTY_SELECTED = 'selected';
const MARKET_PC_HEADER_TRIGGER = 'market-pc-header-trigger';
const MARKET_PC_HEADER_COUNTRY_SELECT_TITLE =
'market-pc-header-country-select-title';
const MARKET_PC_HEADER_LANGUAGE_SELECT_TITLE =
'market-pc-header-language-select-title';
const MARKET_PC_HEADER_LANGUAGE_SELECT_SUB_TITLE =
'market-pc-header-language-select-sub-title';
const MARKET_PC_HEADER_COUNTRY_SELECT_SUB_TITLE =
'market-pc-header-country-select-sub-title';
const MARKET_FLAG = 'market-flag';
const MARKET_SELECT_VALUE = 'market-select-value';
const MARKET_CURRENCY = 'market-currency';
const MARKET_CURRENCY_SYMBOL = 'market-currency-symbol';
const MARKET_SELECT_ITEM = 'market-select-item';
const MARKET_SELECT_ITEM_ID = 'market-select-item-id';
const MARKET_SELECT_LIST = 'market-select-list';
const MARKET_LANGUAGE_SELECT = 'market-language-select';
const MARKET_COUNTRY_SELECT = 'market-country-select';
const MARKET_MODAL = 'market-modal';
const MARKET_GATEWAY_REDIRECT_MODAL = 'market-gateway-redirect-modal';
const MARKET_RESELECT_MODAL = 'market-reselect-modal';
const MARKET_MODAL_FLAG = 'market-modal-flag';
const MARKET_MODAL_COUNTRY_CODE = 'market-modal-country-code';
const MARKET_MODAL_CURRENCY_SYMBOL = 'market-modal-currency-symbol';
const MARKET_MODAL_CLOSE = 'market-modal-close';
const MARKET_MODAL_CONFIRM = 'market-modal-confirm';
const MARKET_MODAL_RESELECT = 'market-modal-reselect';
const MARKET_MODAL_RESELECT_COUNTRY_SELECT =
'market-modal-reselect-country-select';
const DATA_SECTION_TYPE = 'data-section-type';
const SECTION_TYPE_HEADER = 'header';
const SECTION_TYPE_FOOTER = 'footer';
class SpzCustomMarket extends SPZ.BaseElement {
constructor(element) {
super(element);
this.global = null;
this.useCountrySelect_ = false;
this.useLanguageSelect_ = false;
this.useModal_ = false;
this.isSingleSelectMode_ = false;
this.blockSectionPosition_ = '';
this.isEditMode = false;
this.ipMatchingMarket = null;
this.marketCountryList = [];
this.marketLanguages = [];
this.toast = null;
}
static deferredMount() {
return false;
}
isLayoutSupported(layout) {
return layout == SPZCore.Layout.LOGIC;
}
buildCallback() {
console.debug('Geolocation');
this.xhr_ = SPZServices.xhrFor(this.win);
const platform = SPZServices.platformFor(this.win);
this.isIOS_ = platform.isIos();
this.action_ = SPZServices.actionServiceForDoc(this.element);
this.global = this.win.C_SETTINGS || this.win[atob('U0hPUExBWlpB')];
this.isEditMode =
new URLSearchParams(this.win.location.search).get('preview_theme_id') &&
new URLSearchParams(this.win.location.search).get('oseid');
this.init_();
}
showToast_(content) {
if (!this.toast) {
this.toast = self.document.createElement('ljs-toast');
this.toast.setAttribute('layout', 'nodisplay');
this.toast.setAttribute('hidden', '');
this.toast.setAttribute('duration', '2000');
this.element.appendChild(this.toast);
}
SPZ.whenApiDefined(this.toast).then((apis) => {
apis.showToast(content);
});
}
triggerEvent_(name, data) {
const event = SPZUtils.Event.create(this.win, `${TAG}.${name}`, data);
this.action_.trigger(this.element, name, event);
}
findBlockSectionPosition() {
let current = this.element;
while (current) {
const dataSectionType = current.getAttribute(DATA_SECTION_TYPE);
if (
dataSectionType === SECTION_TYPE_HEADER ||
dataSectionType === SECTION_TYPE_FOOTER
) {
return dataSectionType;
}
current = current.parentElement;
}
return '';
}
async initSettings_() {
await this.getMarketThemeSettings_();
if (this.useCountrySelect_) {
this.element.setAttribute('use-country-select', true);
}
if (this.useLanguageSelect_) {
this.element.setAttribute('use-language-select', true);
}
if (this.useModal_) {
this.element.setAttribute('use-modal', true);
}
if (
(this.useCountrySelect_ && !this.useLanguageSelect_) ||
(!this.useCountrySelect_ && this.useLanguageSelect_)
) {
this.isSingleSelectMode_ = true;
}
this.blockSectionPosition_ = this.findBlockSectionPosition();
this.isPCLayout_ = this.win.matchMedia('(min-width: 960px)').matches;
}
renderMarketSelectTemplateNode_(clonedTemplate, data) {
this.renderTemplateImg_(clonedTemplate, MARKET_FLAG, {
src: data?.flag,
width: '24',
height: '24',
});
this.renderTemplateElement_(
clonedTemplate,
MARKET_SELECT_VALUE,
data.value
);
this.renderTemplateElement_(
clonedTemplate,
MARKET_CURRENCY,
data?.currency
);
this.renderTemplateElement_(
clonedTemplate,
MARKET_CURRENCY_SYMBOL,
data?.currencySymbol
);
}
bindDropdownOpenClickEvent_(triggerElement, dropdown) {
if (!triggerElement) return;
const triggerOpen = () => {
SPZ.whenApiDefined(dropdown).then((apis) => {
if (!dropdown.hasAttribute('open')) {
apis.open(triggerElement);
}
});
};
if (this.isIOS_) {
triggerElement.addEventListener('touchstart', triggerOpen);
} else {
triggerElement.addEventListener('click', triggerOpen);
}
}
createDropdown_() {
const dropdown = self.document.createElement('ljs-dropdown');
dropdown.setAttribute('layout', 'nodisplay');
if (this.blockSectionPosition_ === 'header') {
dropdown.setAttribute('overlay-style', 'top: 4px;');
dropdown.setAttribute('placement', 'bottomRight');
} else if (this.blockSectionPosition_ === 'footer') {
dropdown.setAttribute('overlay-style', 'top: -4px;');
dropdown.setAttribute('placement', 'top');
}
return dropdown;
}
createDropdownIcon_() {
const svgElement = document.createElementNS("http://www.w3.org/2000/svg", "svg");
svgElement.setAttribute("class", "market-rotate-180");
svgElement.setAttribute("width", "16");
svgElement.setAttribute("height", "16");
const path1 = document.createElementNS("http://www.w3.org/2000/svg", "path");
path1.setAttribute("d", "M7.47 5.172a.75.75 0 0 1 1.06 0l4.596 4.596a.75.75 0 1 1-1.06 1.06L7.468 6.232a.75.75 0 0 1 0-1.06Z");
path1.setAttribute("fill", "currentColor");
const path2 = document.createElementNS("http://www.w3.org/2000/svg", "path");
path2.setAttribute("d", "M8.533 5.172a.75.75 0 0 1 0 1.06l-4.596 4.596a.75.75 0 1 1-1.061-1.06l4.596-4.596a.75.75 0 0 1 1.06 0Z");
path2.setAttribute("fill", "currentColor");
svgElement.appendChild(path1);
svgElement.appendChild(path2);
return svgElement;
}
renderDropdownListWithClickEvent_({
triggerElement,
dataList,
subTitleRole,
listElementWithTemplate,
defaultValue,
itemHandler,
shouldUpdateSelectedItem = false,
}) {
const dropdown = this.createDropdown_();
const itemTemplate = SPZCore.Dom.scopedQuerySelector(
listElementWithTemplate,
'template'
);
const clonedItemTemplate = itemTemplate.cloneNode(true);
const fragment = self.document.createDocumentFragment();
dataList.forEach((data) => {
const tempParentNode = self.document.createElement('div');
const clonedTemplate = self.document.importNode(
clonedItemTemplate.content,
true
);
tempParentNode.appendChild(clonedTemplate);
tempParentNode.firstElementChild.classList.add(
'market-select-item'
);
this.renderMarketSelectTemplateNode_(tempParentNode, data);
const selectItemElement = SPZCore.Dom.scopedQuerySelector(
tempParentNode,
`[role="${MARKET_SELECT_ITEM}"]`
);
if (!selectItemElement) {
return;
}
if (defaultValue === data.value) {
if (shouldUpdateSelectedItem) {
const clonedSelectItemElement = selectItemElement.cloneNode(true);
triggerElement.replaceChild(
clonedSelectItemElement,
triggerElement.firstElementChild
);
}
selectItemElement.setAttribute(PROPERTY_SELECTED, '');
}
selectItemElement.setAttribute(MARKET_SELECT_ITEM_ID, data.value);
fragment.appendChild(tempParentNode.firstElementChild);
});
let value = defaultValue;
listElementWithTemplate.addEventListener(
'click',
(e) => {
if (this.isEditMode) {
this.showToast_('编辑器下不支持切换国家');
SPZ.whenApiDefined(dropdown).then((apis) => {
apis.close();
});
return;
}
let targetElement = e.target;
while (targetElement) {
if (
!targetElement ||
targetElement.getAttribute(MARKET_SELECT_ITEM_ID)
) {
break;
}
targetElement = targetElement.parentNode;
}
if (
!targetElement ||
!targetElement.hasAttribute(MARKET_SELECT_ITEM_ID)
) {
return;
}
const selectValue = targetElement.getAttribute(MARKET_SELECT_ITEM_ID);
if (value === selectValue) {
SPZ.whenApiDefined(dropdown).then((apis) => {
apis.close();
});
return;
}
const selectedData = dataList.find((c) => c.value === selectValue);
if (shouldUpdateSelectedItem) {
const tempParentNode = self.document.createElement('div');
const clonedTemplate = self.document.importNode(
clonedItemTemplate.content,
true
);
tempParentNode.appendChild(clonedTemplate);
this.renderMarketSelectTemplateNode_(tempParentNode, selectedData);
tempParentNode.firstElementChild.classList.add(
'market-select-item'
);
triggerElement.replaceChild(
tempParentNode.firstElementChild,
triggerElement.firstElementChild
);
}
value = selectValue;
itemHandler?.(selectedData);
SPZ.whenApiDefined(dropdown).then((apis) => {
apis.close();
});
},
false
);
listElementWithTemplate.removeChild(itemTemplate);
listElementWithTemplate.appendChild(fragment);
listElementWithTemplate.classList.add('market-select-list');
dropdown.appendChild(listElementWithTemplate);
if (subTitleRole) {
this.renderSelectTitle_(dropdown, subTitleRole);
}
return dropdown;
}
createSelect_({
parent,
defaultValue,
dataList,
listElementWithTemplate,
itemHandler,
titleRole,
}) {
const triggerElement = self.document.createElement('div');
triggerElement.classList.add('market-select');
const displayElement = self.document.createElement('div');
triggerElement.appendChild(displayElement);
triggerElement.appendChild(this.createDropdownIcon_());
const dropdown = this.renderDropdownListWithClickEvent_({
triggerElement,
dataList,
listElementWithTemplate,
defaultValue,
itemHandler,
shouldUpdateSelectedItem: true,
});
this.bindDropdownOpenClickEvent_(triggerElement, dropdown);
const dropdownContainer = self.document.createElement('div');
dropdownContainer.appendChild(triggerElement);
dropdownContainer.appendChild(dropdown);
dropdownContainer.classList.add('market-select-container');
this.renderSelectTitle_(dropdownContainer, titleRole);
parent.appendChild(dropdownContainer);
}
getListElementWithTemplate_(role) {
const template = SPZCore.Dom.scopedQuerySelector(
this.element,
`[role="${role}"]`
);
if (template) {
const clonedTemplate = template.cloneNode(true);
const tempParent = self.document.createElement("div");
tempParent.appendChild(clonedTemplate.content);
const listElementWithTemplate = SPZCore.Dom.scopedQuerySelector(
tempParent,
`[role="${MARKET_SELECT_LIST}"]`
);
return listElementWithTemplate;
}
return null;
}
renderSelectTitle_(parent, role) {
if (!parent || !role) {
return;
}
const template = SPZCore.Dom.scopedQuerySelector(
this.element,
`[role="${role}"]`
);
const content = self.document.importNode(template.content, true);
parent.insertBefore(content, parent.firstElementChild);
parent.firstElementChild.classList.add(
role.includes('sub')
? 'market-pc-header-select-sub-title'
: 'market-pc-header-select-title'
);
}
initSelect_(rootNode, options) {
const parent = rootNode || this.element;
if (this.useCountrySelect_) {
this.createSelect_({
parent,
titleRole: options?.shouldRenderSelectTitle
? MARKET_PC_HEADER_COUNTRY_SELECT_TITLE
: undefined,
defaultValue: this.getDefaultCountryValue_(),
dataList: this.marketCountryList.map(this.mapCountryRenderData_),
listElementWithTemplate: this.getListElementWithTemplate_(
MARKET_COUNTRY_SELECT
),
itemHandler: this.handleCountrySelectChange_.bind(this),
});
}
if (this.useLanguageSelect_) {
this.createSelect_({
parent,
titleRole: options?.shouldRenderSelectTitle
? MARKET_PC_HEADER_LANGUAGE_SELECT_TITLE
: undefined,
defaultValue: this.getDefaultLanguageValue_(),
dataList: this.marketLanguages.map(this.mapLanguageRenderData_),
listElementWithTemplate: this.getListElementWithTemplate_(
MARKET_LANGUAGE_SELECT
),
itemHandler: this.handleLanguageSelectChange_.bind(this),
});
}
}
initPcHeaderTriggerElement() {
const headerTriggerElementTemplate = SPZCore.Dom.scopedQuerySelector(
this.element,
`[role="${MARKET_PC_HEADER_TRIGGER}"]`
);
const headerTriggerElement = self.document.importNode(
headerTriggerElementTemplate.content,
true
);
const parentDivElement = self.document.createElement('div');
parentDivElement.setAttribute('role', MARKET_PC_HEADER_TRIGGER);
parentDivElement.appendChild(headerTriggerElement);
this.element.removeChild(headerTriggerElementTemplate);
return parentDivElement;
}
initPanelWithSelect_() {
const triggerElement = this.initPcHeaderTriggerElement();
const dropdown = this.createDropdown_();
const panelElement = self.document.createElement('div');
panelElement.classList.add('market-panel');
this.initSelect_(panelElement, {shouldRenderSelectTitle: true});
dropdown.appendChild(panelElement);
this.bindDropdownOpenClickEvent_(triggerElement, dropdown);
this.element.appendChild(triggerElement);
this.element.insertBefore(dropdown, triggerElement);
}
initSingleSelectDropdown_() {
const triggerElement = this.initPcHeaderTriggerElement();
let dropdown;
if (this.useCountrySelect_) {
dropdown = this.renderDropdownListWithClickEvent_({
triggerElement,
subTitleRole: MARKET_PC_HEADER_COUNTRY_SELECT_SUB_TITLE,
dataList: this.marketCountryList.map(this.mapCountryRenderData_),
listElementWithTemplate: this.getListElementWithTemplate_(
MARKET_COUNTRY_SELECT
),
defaultValue: this.getDefaultCountryValue_(),
itemHandler: this.handleCountrySelectChange_.bind(this),
});
} else if (this.useLanguageSelect_) {
dropdown = this.renderDropdownListWithClickEvent_({
triggerElement,
subTitleRole: MARKET_PC_HEADER_LANGUAGE_SELECT_SUB_TITLE,
dataList: this.marketLanguages.map(this.mapLanguageRenderData_),
listElementWithTemplate: this.getListElementWithTemplate_(
MARKET_LANGUAGE_SELECT
),
defaultValue: this.getDefaultLanguageValue_(),
itemHandler: this.handleLanguageSelectChange_.bind(this),
});
}
if (dropdown) {
this.bindDropdownOpenClickEvent_(triggerElement, dropdown);
this.element.appendChild(triggerElement);
this.element.appendChild(dropdown);
}
}
initEntry_() {
if (this.blockSectionPosition_ === SECTION_TYPE_HEADER) {
if (this.isSingleSelectMode_) {
this.initSingleSelectDropdown_();
} else if (this.useCountrySelect_ && this.useLanguageSelect_) {
this.initPanelWithSelect_();
}
}
this.initSelect_(this.element);
}
async initData_() {
const promises = [];
if (this.useCountrySelect_ || this.useModal_) {
promises.push(this.getCountryList_(), this.getIpMatchingMarket_());
}
if (this.useLanguageSelect_) {
promises.push(this.getMarketLanguages_(this.global.market.market_id));
}
return Promise.all(promises).then((results) => {
const ipMatchingMarket = results.find((result) =>
result.hasOwnProperty('matching_station')
);
const marketCountryList = results.find((result) =>
result.hasOwnProperty('data')
);
if (ipMatchingMarket && marketCountryList) {
this.ipMatchingMarket = ipMatchingMarket?.matching_station?.find?.(
(item) => item.type === 'multiple_market'
) || {
img: marketCountryList.length
? marketCountryList?.[0]?.detail &&
marketCountryList[0].detail?.flag
: '',
};
}
});
}
initModal_() {
if (
this.isEditMode ||
!this.ipMatchingMarket?.market_id ||
!this.useModal_ ||
this.hasCookie_(COOKIE_TIPS_NAME) ||
this.win[MARKET_MODAL_LOADED]
) {
return;
}
this.win[MARKET_MODAL_LOADED] = true;
const redirectParam = new URLSearchParams(this.win.location.search).get(
URL_REDIRECT
);
if (redirectParam) {
this.initModalEntry_(MARKET_GATEWAY_REDIRECT_MODAL);
} else if (
this.ipMatchingMarket.market_id !== this.global?.market?.market_id
) {
this.initModalEntry_(MARKET_MODAL);
}
}
async init_() {
await this.initSettings_();
await this.initData_();
this.initEntry_();
this.initModal_();
}
getDefaultCountryValue_() {
return this.getCookie_(MARKET_COUNTRY_COOKIE) || this.marketCountryList[0]?.country_code;
}
mapCountryRenderData_(country) {
return {
flag: country?.detail?.flag || '',
value: country?.country_code,
currency: country?.currency,
currencySymbol: country?.symbol?.val || '',
url: country?.url,
};
}
handleCountrySelectChange_(selectedData) {
this.setCookie_(MARKET_COUNTRY_COOKIE, selectedData.value);
this.handleChangeURL_(selectedData.url);
}
getDefaultLanguageValue_() {
return this.marketLanguages?.find?.(
(lang) => lang.code === this.global?.market?.market_lang
)?.name;
}
mapLanguageRenderData_(language) {
return {
value: language.name,
url: language.url,
};
}
handleLanguageSelectChange_(selectedData) {
this.handleChangeURL_(selectedData.url);
}
renderTemplateElement_(parent, role, value) {
const elements = SPZCore.Dom.scopedQuerySelectorAll(
parent,
`[role="${role}"]`
);
elements.forEach((element) => {
if (element && value) {
element.innerHTML = value;
}
});
}
renderTemplateImg_(parent, role, options) {
const flagElement = SPZCore.Dom.scopedQuerySelector(
parent,
`[role="${role}"]`
);
if (flagElement && options?.src && options?.height && options?.width) {
const spzImg = self.document.createElement('ljs-img');
spzImg.setAttribute('src', options.src);
spzImg.setAttribute('layout', 'responsive');
spzImg.setAttribute('width', options.width);
spzImg.setAttribute('height', options.height);
spzImg.setAttribute(
'style',
`width: ${options.width}px; height: ${options.height}px;`
);
flagElement.appendChild(spzImg);
}
}
handleChangeURL_(url) {
if (!!url) {
let {origin, pathname, search} = this.win.location;
pathname = pathname.replace(SITE, url != '/' ? url : '');
this.win.location.href = `${origin}${pathname}${search}`;
} else {
this.win.location.reload(true);
}
}
initModalEntry_(role) {
const marketModalTemplate = SPZCore.Dom.scopedQuerySelector(
this.element,
`[role="${role}"]`
);
if (marketModalTemplate) {
const tempParentNode = self.document.createElement('div');
const clonedTemplate = self.document.importNode(
marketModalTemplate.content,
true
);
tempParentNode.appendChild(clonedTemplate);
this.renderTemplateImg_(tempParentNode, MARKET_MODAL_FLAG, {
src: this.ipMatchingMarket?.img,
width: '80',
height: '80',
});
this.renderTemplateElement_(
tempParentNode,
MARKET_MODAL_COUNTRY_CODE,
this.ipMatchingMarket?.name
);
this.renderTemplateElement_(
tempParentNode,
MARKET_MODAL_CURRENCY_SYMBOL,
this.ipMatchingMarket?.currency_with_symbol
);
const lightbox = self.document.createElement('ljs-lightbox');
lightbox.setAttribute('layout', 'nodisplay');
lightbox.appendChild(tempParentNode.firstElementChild);
self.document.body.appendChild(lightbox);
SPZ.whenApiDefined(lightbox).then((apis) => {
SPZCore.Dom.scopedQuerySelectorAll(
lightbox,
`[role="${MARKET_MODAL_CLOSE}"]`
).forEach((ele) => {
ele.addEventListener('click', () => {
this.setCookie_(COOKIE_TIPS_NAME, 1, COOKIE_TIPS_EXPIRES);
apis.close();
});
});
const marketModalConfirmElement = SPZCore.Dom.scopedQuerySelector(
lightbox,
`[role="${MARKET_MODAL_CONFIRM}"]`
);
if (marketModalConfirmElement && this.ipMatchingMarket?.url) {
marketModalConfirmElement.addEventListener('click', () => {
this.setCookie_(COOKIE_TIPS_NAME, 1, COOKIE_TIPS_EXPIRES);
this.setCookie_(MARKET_COUNTRY_COOKIE, this.ipMatchingMarket?.name);
this.handleChangeURL_(this.ipMatchingMarket?.url);
});
}
const marketModalReselectElement = SPZCore.Dom.scopedQuerySelector(
lightbox,
`[role="${MARKET_MODAL_RESELECT}"]`
);
if (marketModalReselectElement) {
marketModalReselectElement.addEventListener('click', () => {
this.setCookie_(COOKIE_TIPS_NAME, 1, COOKIE_TIPS_EXPIRES);
const marketReselectTemplate = SPZCore.Dom.scopedQuerySelector(
this.element,
`[role="${MARKET_RESELECT_MODAL}"]`
);
if (marketReselectTemplate && lightbox.firstElementChild) {
const clonedTemplate = self.document.importNode(
marketReselectTemplate.content,
true
);
const selectParent = SPZCore.Dom.scopedQuerySelector(
clonedTemplate,
`[role="${MARKET_MODAL_RESELECT_COUNTRY_SELECT}"]`
);
if (selectParent) {
this.createSelect_({
parent: selectParent,
defaultValue: this.getDefaultCountryValue_(),
dataList: this.marketCountryList.map(
this.mapCountryRenderData_
),
listElementWithTemplate: this.getListElementWithTemplate_(
MARKET_COUNTRY_SELECT
),
itemHandler: this.handleCountrySelectChange_.bind(this),
});
}
lightbox.replaceChild(clonedTemplate, lightbox.firstElementChild);
SPZCore.Dom.scopedQuerySelectorAll(
lightbox,
`[role="${MARKET_MODAL_CLOSE}"]`
).forEach((ele) => {
ele.addEventListener('click', () => {
this.setCookie_(COOKIE_TIPS_NAME, 1, COOKIE_TIPS_EXPIRES);
apis.close();
});
});
}
});
}
apis.open();
});
}
}
async getMarketThemeSettings_() {
return this.xhr_.fetchJson(MARKET_THEME_SETTINGS).then((res) => {
this.useCountrySelect_ = !!res.country_selector_enabled;
this.useLanguageSelect_ =
!!res.language_selector_enabled && this.global?.market?.market_id;
this.useModal_ = !!res.redirect_pop_enabled;
return res;
});
}
async getCountryList_() {
return this.xhr_.fetchJson(MARKET_COUNTRIES).then((res) => {
this.marketCountryList = res.data.length ? res.data : [];
return res;
});
}
async getIpMatchingMarket_() {
return this.xhr_.fetchJson(IP_MATCHING_MARKET, {
method: 'POST',
body: {
stations: [],
},
});
}
async getMarketLanguages_(marketId) {
return this.xhr_
.fetchJson(MARKET_LANGUAGES.replace(/:id/gim, marketId))
.then((res) => {
this.marketLanguages = res?.languages?.length ? res.languages : [];
return res;
});
}
hasCookie_(name) {
const m = self.document.cookie
.split(';')
.filter((pair) => pair.trim().startsWith(name + '='));
return !!(m && m[0]);
}
getCookie_(name) {
const m = self.document.cookie
.split(';')
.filter((pair) => pair.trim().startsWith(name + '='));
return m && m[0] ? m[0].split('=')[1] : null;
}
setCookie_(name, value, expires) {
const expiresDate = new Date(Date.now() + expires).toGMTString();
self.document.cookie = `${name}=${encodeURIComponent(
value
)};expires=${expiresDate};path=/`;
}
}
SPZ.defineElement('spz-custom-market', SpzCustomMarket);
</ljs-script>
<spz-custom-market layout="logic" class="i-spzhtml-layout-logic" i-spzhtml-layout="logic">
<template role="market-pc-header-trigger">
<div class="market-icon" role="market-dropdown-open-target">
<svg width="20" height="20" viewbox="0 0 22 22" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M11 0.5C5.20156 0.5 0.5 5.20156 0.5 11C0.5 16.7984 5.20156 21.5 11 21.5C16.7984 21.5 21.5 16.7984 21.5 11C21.5 5.20156 16.7984 0.5 11 0.5ZM11 5.75C10.3086 5.75 9.63359 5.68906 8.97969 5.57422C9.59375 3.10859 10.5172 1.8125 11 1.8125C11.4828 1.8125 12.4062 3.10859 13.0203 5.57422C12.3664 5.68672 11.6914 5.75 11 5.75ZM14.2977 5.27188C13.9789 3.96641 13.5523 2.86719 13.0531 2.05156C14.5437 2.39375 15.8961 3.09922 17.0141 4.06953C16.1867 4.58047 15.2727 4.98594 14.2977 5.27188ZM7.70234 5.27188C6.72734 4.98594 5.81563 4.57812 4.98828 4.06953C6.10625 3.09922 7.45625 2.39609 8.94687 2.05391C8.44766 2.86719 8.02344 3.96641 7.70234 5.27188ZM14.9258 10.3438C14.8953 8.99609 14.7687 7.72109 14.5648 6.56094C15.7953 6.20938 16.9391 5.68672 17.9586 5.01875C19.2102 6.47187 20.0094 8.31641 20.1547 10.3438H14.9258ZM1.84531 10.3438C1.99063 8.31875 2.7875 6.47422 4.03672 5.02109C5.05625 5.68906 6.20234 6.20703 7.43516 6.55859C7.23125 7.72109 7.10469 8.99609 7.07422 10.3438H1.84531ZM8.38672 10.3438C8.41719 9.03828 8.53672 7.87344 8.7125 6.85859C9.45312 6.98984 10.2148 7.0625 11 7.0625C11.7828 7.0625 12.5469 6.99219 13.2875 6.86094C13.4633 7.87578 13.5805 9.04062 13.6133 10.3438H8.38672ZM17.9586 16.9813C16.9391 16.3133 15.7953 15.7906 14.5648 15.4391C14.7687 14.2766 14.8953 13.0016 14.9258 11.6562H20.1547C20.0094 13.6836 19.2102 15.5281 17.9586 16.9813ZM8.7125 15.1414C8.53672 14.1266 8.41953 12.9617 8.38672 11.6562H13.6109C13.5805 12.9594 13.4633 14.1242 13.2852 15.1391C12.5469 15.0078 11.7828 14.9375 11 14.9375C10.2172 14.9375 9.45312 15.0102 8.7125 15.1414ZM4.03906 16.9789C2.78984 15.5258 1.99063 13.6812 1.84766 11.6562H7.07656C7.10703 13.0039 7.23359 14.2789 7.4375 15.4414C6.20469 15.793 5.05859 16.3109 4.03906 16.9789ZM11 20.1875C10.5172 20.1875 9.59375 18.8914 8.97969 16.4258C9.63359 16.3133 10.3086 16.25 11 16.25C11.6914 16.25 12.3664 16.3133 13.0203 16.4258C12.4062 18.8914 11.4828 20.1875 11 20.1875ZM13.0531 19.9484C13.5523 19.1328 13.9789 18.0336 14.2977 16.7281C15.275 17.0141 16.1867 17.4195 17.0141 17.9281C15.8961 18.9008 14.5437 19.6062 13.0531 19.9484ZM8.94687 19.9484C7.45625 19.6062 6.10625 18.9031 4.98828 17.9328C5.81328 17.4219 6.725 17.0164 7.70234 16.7305C8.02344 18.0336 8.44766 19.1328 8.94687 19.9484Z" fill="currentColor"></path>
</svg>
<svg class="market-rotate-180" width="16" height="16" xmlns="http://www.w3.org/2000/svg">
<path d="M7.47 5.172a.75.75 0 0 1 1.06 0l4.596 4.596a.75.75 0 1 1-1.06 1.06L7.468 6.232a.75.75 0 0 1 0-1.06Z" fill="currentColor"></path>
<path d="M8.533 5.172a.75.75 0 0 1 0 1.06l-4.596 4.596a.75.75 0 1 1-1.061-1.06l4.596-4.596a.75.75 0 0 1 1.06 0Z" fill="currentColor"></path>
</svg>
</div>
</template>
<template role="market-pc-header-country-select-title">
<div class="market-select-title">Region/Country</div>
</template>
<template role="market-pc-header-country-select-sub-title">
<div class="market-select-sub-title">Region/Country</div>
</template>
<template role="market-country-select">
<div role="market-select-list">
<template>
<div role="market-select-item">
<div role="market-flag"></div>
<div style="margin-right: 4px;" role="market-select-value"></div>
(<div style="margin-right: 4px;" role="market-currency"></div>
<div role="market-currency-symbol"></div>)
</div>
</template>
</div>
</template>
<template role="market-pc-header-language-select-title">
<div class="market-select-title">Language</div>
</template>
<template role="market-pc-header-language-select-sub-title">
<div class="market-select-sub-title">Language</div>
</template>
<template role="market-language-select">
<div role="market-select-list">
<template>
<div role="market-select-item">
<div role="market-select-value"></div>
</div>
</template>
</div>
</template>
<template role="market-modal">
<div class="market-modal-container">
<div class="market-modal-close" role="market-modal-close">
<svg width="18" height="18" xmlns="http://www.w3.org/2000/svg">
<path d="M4.12 2.988a.3.3 0 0 0-.425 0l-.707.707a.3.3 0 0 0 0 .424L7.867 9l-4.88 4.878a.3.3 0 0 0 0 .425l.708.707a.3.3 0 0 0 .424 0L9 10.129l4.878 4.88a.3.3 0 0 0 .424 0l.707-.707a.3.3 0 0 0 0-.425L10.13 8.998l4.878-4.879a.3.3 0 0 0 0-.424l-.706-.707a.3.3 0 0 0-.425 0L8.998 7.867 4.12 2.987z" fill-opacity=".7" fill="#292929"></path>
</svg>
</div>
<div class="market-modal-content">
<div class="market-modal-flag" role="market-modal-flag"></div>
<div class="market-modal-title">Switch to <span role='market-modal-country-code'></span> based on your location</div>
<ul>
<li>Purchase with <span role='market-modal-currency-symbol'></span></li>
<li>Get shipping options for <span role='market-modal-country-code'></span></li>
</ul>
</div>
<div class="market-modal-footer">
<div class="market-modal-cancel market-modal-footer-button" role="market-modal-close">Cancel</div>
<div class="market-modal-confirm market-modal-footer-button" role="market-modal-confirm">Switch</div>
</div>
</div>
</template>
<template role="market-gateway-redirect-modal">
<div class="market-modal-container">
<div class="market-modal-close" role="market-modal-close">
<svg width="18" height="18" xmlns="http://www.w3.org/2000/svg">
<path d="M4.12 2.988a.3.3 0 0 0-.425 0l-.707.707a.3.3 0 0 0 0 .424L7.867 9l-4.88 4.878a.3.3 0 0 0 0 .425l.708.707a.3.3 0 0 0 .424 0L9 10.129l4.878 4.88a.3.3 0 0 0 .424 0l.707-.707a.3.3 0 0 0 0-.425L10.13 8.998l4.878-4.879a.3.3 0 0 0 0-.424l-.706-.707a.3.3 0 0 0-.425 0L8.998 7.867 4.12 2.987z" fill-opacity=".7" fill="#292929"></path>
</svg>
</div>
<div class="market-modal-content">
<div class="market-modal-flag" role="market-modal-flag"></div>
<div class="market-modal-title">Set to <span role='market-modal-country-code'></span> based on your location</div>
<ul>
<li>Purchase with <span role='market-modal-currency-symbol'></span></li>
<li>Get shipping options for <span role='market-modal-country-code'></span></li>
</ul>
</div>
<div class="market-gateway-redirect-modal-footer">
<div class="market-modal-continue market-modal-footer-button" role="market-modal-close">Continue Shopping</div>
<div class="market-modal-reselect" role="market-modal-reselect">Modify Country/Region</div>
</div>
</div>
</template>
<template role="market-reselect-modal">
<div class="market-modal-container">
<div class="market-modal-close" role="market-modal-close">
<svg width="18" height="18" xmlns="http://www.w3.org/2000/svg">
<path d="M4.12 2.988a.3.3 0 0 0-.425 0l-.707.707a.3.3 0 0 0 0 .424L7.867 9l-4.88 4.878a.3.3 0 0 0 0 .425l.708.707a.3.3 0 0 0 .424 0L9 10.129l4.878 4.88a.3.3 0 0 0 .424 0l.707-.707a.3.3 0 0 0 0-.425L10.13 8.998l4.878-4.879a.3.3 0 0 0 0-.424l-.706-.707a.3.3 0 0 0-.425 0L8.998 7.867 4.12 2.987z" fill-opacity=".7" fill="#292929"></path>
</svg>
</div>
<div class="market-reselect-modal-content">
<div style="margin-top: 12px; margin-bottom: 32px;">Modify Country/Region</div>
<div style="margin: 0 24px;" role="market-modal-reselect-country-select"></div>
</div>
<div class="market-gateway-redirect-modal-footer" style="padding: 0 48px;">
<div class="market-modal-continue market-modal-footer-button" role="market-modal-close" style="width: 100%;">Continue Shopping</div>
<div class="market-modal-reselect" role="market-modal-close">Cancel</div>
</div>
</div>
</template>
</spz-custom-market>
</div>
</div>
<div class="empty-hidden plugin__translate-header px-5 my-10"></div>
<div class="empty-hidden plugin__currency px-5 my-10"></div>
</div>
</ul>
<a class="header__drawer_footer flex flex-shrink-0 bg-color-body cursor-pointer" href="#">
Log in
</a>
</spz-nested-menu>
</div>
</spz-sidebar>
</div>
<spz-script layout="logic" type="application/javascript">
(function(){
let w = window.innerWidth;
function setHeaderCssVar() {
const headerEle = document.getElementById('shoplaza-section-header');
if(!headerEle){ return };
document.body.style.setProperty('--window-height', `${window.innerHeight}px`);
document.body.style.setProperty('--header-height', `${headerEle.clientHeight}px`);
const mdScorllHideEle = headerEle.querySelector('.header__mobile .header__scroll_hide');
if (mdScorllHideEle) {
document.body.style.setProperty('--header-scroll-hide-height-md', `${mdScorllHideEle.clientHeight}px`);
}
const pcScorllHideEle = headerEle.querySelector('.header__desktop .header__scroll_hide');
if (pcScorllHideEle) {
document.body.style.setProperty('--header-scroll-hide-height-pc', `${pcScorllHideEle.clientHeight}px`);
}
}
function handlResize() {
if(w == window.innerWidth){return};
w = window.innerWidth;
setHeaderCssVar();
};
function init(){
setHeaderCssVar();
window.removeEventListener('resize', window._theme_header_listener)
window._theme_header_listener = handlResize;
window.addEventListener('resize', window._theme_header_listener);
}
init();
})();
</spz-script>
</div>
<div class="plugin__static-div"></div>
<div class="main-content" id="main-content">
<div id="shoplaza-section-1539149753700" class="shoplaza-section mt-2 lg:mt-10" data-section-id="1539149753700" data-section-type="product_detail" data-section-style=""><style>
.product-info-title {
font-size: calc(var(--type-heading-font-size) * .46667);
}
.product-info__header_price {
font-weight: 600;
color: var(--color-price-text);
font-size: calc(var(--type-heading-font-size) * .6667);
}
.product-info-saved-label {
padding: 0 4px;
line-height: 1.2;
font-size: calc(var(--type-text-font-size) - 2px);
border: 1px solid var(--color-save-price-text);
border-radius: 2px;
}
/* wholesale price */
.product-info-wholesale {
overflow-y: hidden;
overflow-x: auto;
background: #F9F9FA;
}
.product-info-wholesale-item:nth-child(n + 2) {
margin-left: 8px;
}
.product-info-wholesale-item .money {
color: var(--color-price-text);
}
.product-info-wholesale-item.highlight .money {
color: var(--color-save-price-text)
}
.product-info-custom-label {
padding: 4px;
line-height: 1.2;
font-size: calc(var(--type-text-font-size) - 2px);
border-radius: 2px;
}
.product-info-custom-label:nth-child(n + 2) {
margin-left: 8px;
}
.product-info-qty {
width: 116px;
}
.product-info-qty > .i-spzhtml-fill-content {
display: flex;
align-items: center;
}
.product-info-qty-btn {
width: 40px;
height: 40px;
border-radius: 2px;
border: 1px solid #E6E6E6;
transition: all .15s cubic-bezier(0.445, 0.05, 0.55, 0.95);
}
.product-info-qty-btn[disabled] {
background-color: #F6F6F6;
border-color: #F6F6F6;
}
.product-info-qty-btn:not([disabled]):active {
color: var(--color-body-bg);
border-color: var(--color-body-text);
background-color: var(--color-body-text);
}
.product-info-qty-input {
width: 36px;
font-size: var(--type-text-font-size);
line-height: 1.15;
}
/* product variant */
.product-info__variants_content {
padding: 0;
border: none;
}
.product-info__variants_content input[type=radio] {
position: absolute;
left: 0;
right: 0;
opacity: 0;
width: 100%;
height: 100%;
z-index: 10;
border: 0;
margin: 0;
cursor: pointer;
}
.product-info__variants-tips {
margin-top: 10px;
font-size: 15px;
line-height: 1;
color: #F0672C;
}
.product-info-variant-option {
position: relative;
line-height: 1.15;
color: var(--color-body-text-75);
}
.product-info-variant-option::after {
content: '';
position: absolute;
z-index: 2;
top: 0;
left: 0;
right: 0;
bottom: 0;
width: 100%;
height: 100%;
border: 1.5px solid #E6E6E6;
border-radius: var(--btn-fixed-border-radius);
}
.product-info-variant-option[data-type="image"]::after {
border-color: transparent;
}
.product-info-variant-option[data-type="text"] {
display: flex;
align-items: center;
justify-content: center;
min-width: 40px;
min-height: 40px;
}
.product-info-variant-option[data-type="text"] > span {
padding: 12px;
}
.product-info-variant-option[data-type="image-with-text"] {
padding: 4px 8px 4px 4px;
}
html[dir="rtl"] .product-info-variant-option[data-type="image-with-text"] {
padding-left: 8px;
padding-right: 4px;
}
.product-info-variant-option[data-type="image-with-text"] > span {
padding: 4px 0 4px 4px;
}
html[dir="rtl"] .product-info-variant-option[data-type="image-with-text"] > span {
padding-left: 0;
padding-right: 4px;
}
.product-info-variant-option[data-type="image-with-text"] > spz-img {
width: 42px;
height: 42px;
border-radius: 1px;
}
.product-info-variant-option[data-type="image"] > spz-img {
width: 44px;
height: 44px;
border-radius: 2px;
}
.product-info__variants_content input[type="radio"]:checked + .product-info-variant-option {
color: var(--color-body-text);
outline: none !important;
}
.product-info__variants_content input[type="radio"]:checked + .product-info-variant-option::after {
border-color: var(--color-body-text);
}
input[type="radio"][soldout] + .product-info-variant-option::before {
content: '';
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
z-index: 1;
display: block;
background-color: rgba(255, 255, 255, .8);
}
.product-variant-select-container,
.product-variant__select {
min-height: 52px;
}
.product-variant__select {
cursor: pointer;
-webkit-appearance: none;
-moz-appearance: none;
appearance: none;
border: 0;
background-color: transparent;
color: var(--color-body-text);
}
.product-variant__select-icon {
position: absolute;
top: 50%;
right: 16px;
transform: translateY(-50%);
display: flex;
pointer-events: none;
}
html[dir="rtl"] .product-variant__select-icon {
left: 16px;
right: unset;
}
@media (max-width: 959.98px) {
.product-variant-select-container {
display: flex;
align-items: center;
border-bottom: 1px solid #E6E6E6;
}
.product-variant__select {
flex: 1;
margin-left: 16px;
padding-right: 32px;
text-align: right;
border: 0;
}
.product-variant__select-icon {
right: 0;
}
html[dir="rtl"] .product-variant__select-icon {
left: 0;
}
html[dir="rtl"] .product-variant__select {
margin-left: 0;
margin-right: 16px;
padding-left: 32px;
padding-right: 0;
text-align: left;
}
.product-info-variant-option[data-type="image-with-text"] > spz-img {
width: 36px;
height: 36px;
}
.product-info-qty {
width: 93px;
height: 28px !important;
}
.product-info-qty span[role=button] {
width: 28px;
height: 28px;
padding: 4px;
}
.product-info-variant-option::after {
border-width: 1px;
}
}
@media (min-width: 960px) {
.product-variant-select-container {
border: 1px solid #E6E6E6;
}
.product-variant__select {
padding: 10px 48px 10px 16px;
}
html[dir="rtl"] .product-variant__select {
padding-left: 48px;
padding-right: 16px;
}
.product-info__header_price {
font-size: calc(var(--type-heading-font-size) * .8);
}
}
.product-info_atc_btn {
min-height: 42px;
padding: 10px 4px;
font-weight: 500;
outline: 2px solid transparent;
outline-offset: 2px;
overflow: hidden;
}
.product-info_atc_btn.button-primary[loading] {
background-color: var(--color-cart-dot-bg);
}
.product-info_atc_btn.button-secondary[loading] {
border-color: var(--color-primary-btn-bg);
background-color: var(--color-primary-btn-bg);
}
#product-info-body[status="product_unavailable"] [role="addToCart"],
#product-info-body[status="soldout"] [role="addToCart"] {
cursor: default;
pointer-events: none;
background-color: rgb(230, 230, 230, 0.5);
color: #9F9F9F;
}
#product-info-body[status="soldout"] button[role="addToCart"] {
border: 0;
}
#product-info-body[status="product_unavailable"] .product-info__unavailable,
#product-info-body[status="soldout"] .product-info__out_stock {
display: block !important;
}
#product-info-body[status="product_unavailable"] [role="buyNow"],
#product-info-body[status="product_unavailable"] [role="paypal"],
#product-info-body[status="product_unavailable"] #product-info-btn-price,
#product-info-body[status="soldout"] [role="buyNow"],
#product-info-body[status="soldout"] [role="paypal"],
#product-info-body[status="soldout"] #product-info-btn-price,
.product-info_atc_btn[loading] [role="content"],
.product-info_atc_btn:not([loading]) .loading,
.product-info_atc_btn[role="addToCart"][loading] #product-info-btn-price,
#product-info-body[status="unselect"] [role="paypal"] {
display: none;
}
.product-info_buy_now_btn .loading-bounce {
border-bottom-color: #000000;
}
.paypal-loading {
position: relative;
background: rgba(255, 196, 57, 0.5);
border-radius: 4px;
}
.product_price_before::before {
content: ' - ';
display: block;
width: 20px;
}
.product-detail-featured-item {
color: var(--color-body-text-85);
}
.product-detail-featured-item:nth-child(n + 2) {
margin-top: 8px;
}
.product-info__social-sharing-wrapper {
padding-top: 6px;
}
.product-info__social-sharing-wrapper > a:nth-child(n + 2) {
margin-left: 20px;
}
/* sale */
.product-info__sale-item:nth-child(n + 2) {
margin-top: 10px;
}
/* product info description */
.product-info-desc-item {
border-bottom: 1px solid rgba(230, 230, 230, 0.6);
}
.product-info-desc-item-header {
padding: 17px 0px;
font-weight: 600;
}
.product-info-desc-item-header > svg {
transition: transform .2s cubic-bezier(0.39, 0.575, 0.565, 1);
}
.product-info-desc-item[expanded] .product-info-desc-item-header > svg {
transform: rotate(-180deg);
}
.product-info-desc + .product-info-desc {
margin-top: 0 !important;
}
.product-info-desc-item-content {
padding: 12px 0 40px;
color: var(--color-body-text-60);
}
.product-info-desc ~ .product-info-desc {
margin-top: 0 !important;
margin-bottom: 0 !important;
}
/* free shipping */
@keyframes free__shipping-progress-bar-stripes {
0% {
background-position-x: -16px;
}
}
@keyframes free__shipping-progress-bar-stripes-rtl {
0% {
background-position-x: 16px;
}
}
.product-info-free__shipping-progress-bar::before {
content: "";
display: block;
width: 100%;
height: 100%;
background-image: linear-gradient(135deg, rgba(255, 255, 255, 0.1) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.1) 50%, rgba(255, 255, 255, 0.1) 75%, transparent 75%, transparent);
background-size: 16px 16px;
animation: 1s linear infinite free__shipping-progress-bar-stripes;
}
.product-info-free__shipping {
min-height: 26px;
background-color: #FFF4E8;
}
/* rtl style*/
html[dir="rtl"] .free__shipping-progress-bar {
left: initial;
right: 0;
background: linear-gradient(to left, , );
}
html[dir="rtl"] .product-info-free__shipping-progress-bar::before {
background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.1) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.1) 50%, rgba(255, 255, 255, 0.1) 75%, transparent 75%, transparent);
animation-name: free__shipping-progress-bar-stripes-rtl;
}
/* inventory */
@keyframes product-info-inventory-progress-bar-stripes {
from {
background-position: -40px 0;
}
to {
background-position: 0 0;
}
}
@keyframes product-info-inventory-progress-bar-stripes-rtl {
from {
background-position: 40px 0;
}
to {
background-position: 0 0;
}
}
.product-info-inventory-progress {
height: 3px;
margin-top: 4px;
background-color: rgba(230, 230, 230, 0.5);
}
.product-info-inventory-progress-bar {
background: linear-gradient(to right, #FEED8A, #FF4B89);
transition: width 1.2s ease;
}
.product-info-inventory-progress-bar:before {
content: "";
display: block;
width: 100%;
height: 100%;
background-image: linear-gradient(135deg, rgba(255, 255, 255, 0.1) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.1) 50%, rgba(255, 255, 255, 0.1) 75%, transparent 75%, transparent);
background-size: 40px 40px;
animation: 2s linear infinite product-info-inventory-progress-bar-stripes;
}
html[dir="rtl"] .product-info-inventory-progress-bar {
left: initial;
right: 0;
background: linear-gradient(to right, #FB427C, #FA858A, #F5C447, #FBF092);
}
html[dir="rtl"] .product-info-inventory-progress-bar:before {
background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.1) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.1) 50%, rgba(255, 255, 255, 0.1) 75%, transparent 75%, transparent);
animation-name: product-info-inventory-progress-bar-stripes-rtl;
}
.product-info-selected-variant-option-text {
vertical-align: baseline;
}
.product-info-shipping-container {
padding: 8px;
border-radius: 2px;
background-color: #F6F6F6;
}
.product-detail-love-cart .wishlist-add-to-cart-love-icon {
border-radius: var(--btn-border-radius);
}
@media(max-width: 959.98px) {
.product-info-wholesale-item:nth-child(n + 2) {
margin-left: 32px;
}
.product-info-body {
padding-top: 16px;
}
.product-info-desc-item-header:active {
background: rgba(230,230,230,0.35);
margin: 0 -16px;
padding-right: 16px;
padding-left: 16px;
}
.product-info__variants_content > legend {
margin-bottom: -4px;
}
.product-info-atc-buttons-sticky {
z-index: var(--z-index-fixed);
position: fixed;
left: 0;
right: 0;
bottom: 0;
width: 100%;
padding: 8px 16px;
background-color: #fff;
box-shadow: 0 -8px 20px 0 rgba(0, 0, 0, .08);
}
.product-info-atc-buttons-sticky .ios_safari_bottom_bar {
display: none;
}
.product-info-share-btn-mobile {
margin: 0;
padding: 0;
border: 0;
outline: none;
z-index: 10;
position: absolute;
top: 12px;
right: 12px;
display: flex;
align-items: center;
justify-content: center;
width: 32px;
height: 32px;
border-radius: 100%;
color: #fff;
background-color: rgba(32, 32, 32, 0.50);
}
.product-info-share-btn-mobile::before {
content: '';
position: absolute;
top: -8px;
left: -8px;
right: -8px;
bottom: -8px;
}
html[dir="rtl"] .product-info-share-btn-mobile {
left: 12px;
right: unset;
}
.product-info-share-inner.i-spzhtml-tooltip {
z-index: 50;
min-width: 38%;
max-width: unset;
}
.product-info-share-inner .i-spzhtml-tooltip-inner,
.product-info-share-inner .i-spzhtml-tooltip-arrow:before {
background-color: var(--color-body-bg);
box-shadow: 0 8px 25px 0 rgba(0, 0, 0, .25);
}
.product-info-share-inner .i-spzhtml-tooltip-inner {
padding: 16px;
border-radius: 8px;
}
.product-info-share-list li > a {
display: flex;
align-items: center;
padding: 10px 0;
line-height: 1.4;
color: var(--color-body-text);
font-size: calc(var(--type-text-font-size) + 2px);
text-decoration: none;
}
.product-info-share-list svg {
flex-shrink: 0;
margin-right: 8px;
color: #8B9195;
}
html[dir="rtl"] .product-info-share-list svg {
margin-left: 8px;
margin-right: 0;
}
.product-detail-love-cart .wishlist-add-to-cart-love-icon {
width: 42px;
height: 42px;
min-width: 42px;
min-height: 42px;
margin-left: 8px;
}
html[dir="rtl"] .product-detail-love-cart .wishlist-add-to-cart-love-icon {
margin-left: 0;
margin-right: 8px;
}
.product-detail-love-cart .wishlist-add-to-cart-love-icon svg {
width: 16px;
height: 16px;
}
}
@media(min-width: 960px) {
.product-info-wholesale-item {
min-width: 25%;
}
.product-info-body {
padding-left: 5.1613%;
}
.product-info-title {
font-weight: 500;
font-size: calc(var(--type-heading-font-size) * 0.8);
}
.product-info-desc-item-header:hover {
background-color: rgba(230, 230, 230, 0.35);
}
.product-info-variant-option[data-type="text"] {
min-width: 44px;
min-height: 44px;
}
.product-info-variant-option[data-type="text"] > span {
padding: 6px 16px;
}
.product-info_atc_btn {
min-height: 52px;
}
.product-info-desc-item-content {
padding: 12px 12px 40px 16px;
}
html[dir="rtl"] .product-detail-love-cart .wishlist-add-to-cart-love-icon {
margin-left: 0;
margin-right: 12px;
}
}
</style>
<style>
.main-content {
padding-bottom: 30px;
}
.product-details {
--product-detail-fixed-border-radius: 2px;
}
.product-details spz-video .video-control {
align-items: center;
}
.product-details spz-video .spz-video-playbtn {
user-select: none;
}
.product-detail-images:not([zoom-in]) > .i-spzhtml-slides-container > .i-spzhtml-slide-item {
cursor: pointer;
}
.product-detail-images:not([zoom-in]) spz-img[data-size="75%"] i-spzhtml-sizer,
.product-detail-images:not([zoom-in]) spz-video[data-size="75%"] i-spzhtml-sizer,
.product-detail-images:not([zoom-in]) .product-model-viewer-poster[data-size="75%"] spz-img i-spzhtml-sizer {
padding-top: 75% !important;
}
.product-detail-images:not([zoom-in]) spz-img[data-size="100%"] i-spzhtml-sizer,
.product-detail-images:not([zoom-in]) spz-video[data-size="100%"] i-spzhtml-sizer,
.product-detail-images:not([zoom-in]) .product-model-viewer-poster[data-size="100%"] spz-img i-spzhtml-sizer {
padding-top: 100% !important;
}
.product-detail-images:not([zoom-in]) spz-img[data-size="150%"] i-spzhtml-sizer,
.product-detail-images:not([zoom-in]) spz-video[data-size="150%"] i-spzhtml-sizer,
.product-detail-images:not([zoom-in]) .product-model-viewer-poster[data-size="150%"] spz-img i-spzhtml-sizer {
padding-top: 150% !important;
}
.product-detail-images:not([zoom-in]) spz-model-viewer,
.product-detail-images[zoom-in] spz-model-viewer[prevent],
.product-detail-images[zoom-in] .product-model-viewer-poster {
display: none;
}
.product-detail-images[zoom-in] spz-model-viewer[prevent] ~ .product-model-viewer-poster,
.product-detail-images[zoom-in] spz-model-viewer[hidden] ~ .product-model-viewer-poster {
display: block !important;
}
.product-model-viewer-enter-icon {
position: absolute;
left: 50%;
top: 50%;
transform: translateX(-50%) translateY(-50%);
transition: transform .2s cubic-bezier(0.445, 0.05, 0.55, 0.95);
}
.product-model-viewer-enter-icon svg path {
transition: all .2s cubic-bezier(0.445, 0.05, 0.55, 0.95);
}
.product-model-viewer-enter-icon:hover {
transform: translateX(-50%) translateY(-50%) scale(1.1);
}
.product-model-viewer-enter-icon:hover svg path {
fill: #737373;
}
.product-detail-images spz-zoom[zoom-in] {
cursor: zoom-out;
}
.product-detail-images[zoom-in] {
height: auto !important;
}
.product-detail-images[zoom-in] .non-zoom-image,
.product-detail-images[zoom-in] .product-model-viewer-poster spz-img {
height: 100%;
}
.product-detail-images[zoom-in] .product-images-item-img spz-img img,
.product-detail-images[zoom-in] .product-model-viewer-poster spz-img img {
object-fit: contain !important;
}
.product-detail-images-numbers {
pointer-events: none;
}
.product-detail-images-numbers-text {
display: inline-block;
padding: 6px 10px;
line-height: 1;
font-size: 0.8571rem;
color: #fff;
background-color: rgba(0, 0, 0, .50);
border-radius: 100px;
}
.product-detail-images[zoom-in] ~ .product-detail-images-numbers {
z-index: 1031;
position: fixed;
top: 32px;
left: 50%;
transform: translateX(-50%);
}
.product-detail-thumbs-item-icon {
position: absolute;
top: 50%;
left: 50%;
transform: translateX(-50%) translateY(-50%);
display: flex;
align-items: center;
justify-content: center;
width: 20px;
height: 20px;
pointer-events: none;
}
.product-detail-thumbs-container .product-detail-thumbs-item {
flex-shrink: 0;
position: relative;
display: flex !important;
border-radius: var(--product-detail-fixed-border-radius);
}
.product-detail-thumbs-container .product-detail-thumbs-item::before {
content: '';
z-index: 1;
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
border: 1.5px solid transparent;
border-radius: var(--product-detail-fixed-border-radius);
transition: all .2s cubic-bezier(0.445, 0.05, 0.55, 0.95);
}
.product-detail-thumbs-container .product-detail-thumbs-item[selected]::before {
border-color: var(--color-body-text);
}
@media (max-width: 959.98px) {
.product-detail-images[zoom-in] {
z-index: 1031;
}
.product-detail-images:not([zoom-in])[data-mobile-full-width="false"] > .i-spzhtml-slides-container > .i-spzhtml-slide-item {
width: 75.8974%;
padding-right: 1.0256%;
}
.product-detail-images[data-mobile-full-width="false"]:not([zoom-in]) spz-img,
.product-detail-images[data-mobile-full-width="false"]:not([zoom-in]) spz-video {
overflow: hidden;
border-radius: var(--global-border-radius);
}
.product-detail-images[zoom-in] spz-video video {
width: 100%;
object-fit: contain !important;
}
.product-detail-images .spz-carousel-button,
.product-detail-images:not([zoom-in]) ~ .product-show-bar-mobile,
.product-detail-images[zoom-in] .video-control .play-control {
display: none;
}
.product-model-viewer-enter-icon {
transform: translateX(-50%) translateY(-50%) scale(.7);
}
.product-detail-images:not([zoom-in]) ~ .product-detail-images-numbers {
z-index: 10;
position: absolute;
right: 12px;
bottom: 12px;
}
.product-detail-images-bar-inner {
z-index: 10;
position: absolute;
left: 0;
bottom: 8px;
display: flex;
width: 100%;
margin: 0;
padding: 0 var(--page-spacing);
list-style: none;
}
.product-detail-images-bar-inner > li {
flex: 1;
position: relative;
margin: 0 4px;
height: 2px;
border-radius: 100px;
background-color: rgba(255, 255, 255, .5);
transition: background-color .2s cubic-bezier(0.445, 0.05, 0.55, 0.95);
}
.product-detail-images-bar-inner > li:first-child {
margin-left: 0;
margin-right: 4px;
}
.product-detail-images-bar-inner > li:last-child {
margin-left: 4px;
margin-right: 0;
}
html[dir="rtl"] .product-detail-images-bar-inner > li:first-child {
margin-left: 4px;
margin-right: 0;
}
html[dir="rtl"] .product-detail-images-bar-inner > li:last-child {
margin-left: 0;
margin-right: 4px;
}
.product-detail-images-bar-inner > li::before {
content: '';
position: absolute;
top: -12px;
left: 0;
right: 0;
bottom: -8px;
}
.product-detail-images-bar-inner > li[data-selected="true"] {
background-color: #fff;
}
.product-detail-thumbs-container {
margin-top: 12px;
}
.product-detail-thumb-images {
padding-left: var(--page-spacing);
}
.product-detail-thumbs-item {
margin-right: 12px;
}
.product-detail-thumbs-item spz-img {
width: 50px !important;
height: 50px !important;
}
}
@media (min-width: 960px) {
.main-content {
padding-bottom: 80px;
}
.product-detail-gallery {
flex-shrink: 0;
width: 50%;
}
.product-detail-gallery[data-size="large"] {
width: 60%;
}
.product-detail-gallery-inner {
position: sticky;
top: 40px;
}
.product-detail-gallery-inner.zoom-in {
z-index: 1030;
}
.product-detail-images:not([zoom-in]) .spz-carousel-button,
body[enter-full] .product-detail-images[zoom-in] .spz-carousel-button {
display: none;
}
.product-detail-images[zoom-in] .spz-carousel-button {
width: 46px;
height: 46px;
color: #fff;
background-color: rgba(111, 111, 111, .3);
opacity: 1 !important;
}
.product-detail-images[zoom-in] .spz-carousel-button-prev svg {
transform: rotate(-180deg);
}
.product-detail-images[zoom-in] .spz-carousel-button-next svg {
transform: rotate(0deg);
}
.product-detail-images:not([zoom-in]) spz-img,
.product-detail-images:not([zoom-in]) spz-video {
overflow: hidden;
border-radius: var(--global-border-radius);
}
.product-detail-images[zoom-in] spz-video {
max-width: 80%;
height: 100%;
margin: 0 auto;
}
body[enter-full] .product-detail-images[zoom-in] spz-video {
max-width: 100%;
}
.product-detail-images[zoom-in] .video-control .play-control {
margin: 0 30px 0 28px;
}
.product-detail-images[zoom-in] .video-control .play-control[play] {
background-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjgiIGhlaWdodD0iMjgiIHZpZXdCb3g9IjAgMCAyOCAyOCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48ZyBpZD0iR3JvdXAgNjQxIj48cGF0aCBpZD0iUG9seWdvbiAzIiBkPSJNMjMuNiAxMy40ODA0QzI0IDEzLjcxMTMgMjQgMTQuMjg4NyAyMy42IDE0LjUxOTZMOS42NSAyMi41NzM2QzkuMjUgMjIuODA0NiA4Ljc1IDIyLjUxNTkgOC43NSAyMi4wNTRMOC43NSA1Ljk0NTk0QzguNzUgNS40ODQwNiA5LjI1IDUuMTk1MzggOS42NSA1LjQyNjMyTDIzLjYgMTMuNDgwNFoiIGZpbGw9IndoaXRlIi8+PC9nPjwvc3ZnPg==)
}
.product-detail-images[zoom-in] .zoom-out-image > spz-img:first-child,
.product-detail-images[zoom-in] .non-zoom-image {
opacity: 0;
position: absolute;
pointer-events: none;
}
.product-detail-images:not([zoom-in]) .zoom-in-image {
display: none;
}
.product-detail-images[zoom-in] .product-detail-images-numbers {
top: 32px;
}
.product-detail-images:not([zoom-in]) ~ .product-detail-images-numbers,
body[enter-full] .product-detail-images[zoom-in] ~ .product-detail-images-numbers {
display: none;
}
.product-detail-images[zoom-in] > .close {
cursor: pointer;
}
.product-detail-thumbs-container[data-position="left"] {
width: 94px;
order: -1;
}
.product-detail-thumbs-container[data-position="left"] .product-detail-thumb-images {
overflow-y: auto;
}
.product-detail-thumbs-container .product-detail-thumb-images {
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
}
.product-detail-thumbs-container[data-position="below"] {
width: 100%;
height: 94px;
margin-top: 16px;
}
.product-detail-thumbs-container[data-position="left"] {
margin-right: 16px;
}
.product-detail-thumbs-container[data-position="left"] .product-detail-thumbs-item + .product-detail-thumbs-item {
margin-top: 16px;
}
.product-detail-thumbs-container[data-position="below"] .product-detail-thumbs-item + .product-detail-thumbs-item {
margin-left: 16px;
}
.product-detail-thumbs-item-icon {
width: 32px;
height: 32px;
}
.product-detail-thumb-buttons {
z-index: 10;
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
pointer-events: none;
user-select: none;
}
.product-detail-thumb-button {
position: absolute;
display: flex;
align-items: center;
justify-content: center;
margin: 0;
padding: 0;
outline: none;
border: 0;
pointer-events: auto;
background-color: var(--color-body-bg-80);
transition: color .3s cubic-bezier(0.445, 0.05, 0.55, 0.95),
background-color .3s cubic-bezier(0.445, 0.05, 0.55, 0.95);
cursor: pointer;
}
.product-detail-thumb-button:hover {
color: var(--color-cart-dot-text);
background-color: var(--color-cart-dot-bg);
}
.product-detail-thumb-button[data-position="left"] {
left: 0;
width: 100%;
height: 32px;
}
.product-detail-thumb-button-prev[data-position="left"] {
top: 0;
border-radius: var(--product-detail-fixed-border-radius) var(--product-detail-fixed-border-radius) 0 0;
}
.product-detail-thumb-button-prev[data-position="left"] svg {
transform: rotate(180deg);
}
.product-detail-thumb-button-next[data-position="left"] {
bottom: 0;
border-radius: 0 0 var(--product-detail-fixed-border-radius) var(--product-detail-fixed-border-radius);
}
.product-detail-thumb-button[data-position="below"] {
top: 0;
width: 32px;
height: 100%;
}
.product-detail-thumb-button-prev[data-position="below"] {
left: 0;
border-radius: var(--product-detail-fixed-border-radius) 0 0 var(--product-detail-fixed-border-radius);
}
.product-detail-thumb-button-prev[data-position="below"] svg {
transform: rotate(90deg);
}
.product-detail-thumb-button-next[data-position="below"] {
right: 0;
border-radius: 0 var(--product-detail-fixed-border-radius) var(--product-detail-fixed-border-radius) 0;
}
.product-detail-thumb-button-next[data-position="below"] svg {
transform: rotate(-90deg);
}
}
</style>
<spz-sticky class="md:hidden i-spzhtml-layout-logic" layout="logic" position="top" target="product-detail-gallery-inner" i-spzhtml-layout="logic"></spz-sticky>
<div class="product-details lg:page-container lg:flex lg:justify-between">
<div class="product-detail-gallery" data-size="medium">
<div class="product-detail-gallery-inner flex md:flex-col " id="product-detail-gallery-inner">
<div class="product-images-container relative lg:flex-1">
<spz-carousel class="product-detail-images i-spzhtml-slidescroll i-spzhtml-layout-container" id="product-detail-images" layout="container" auto-height ssr zoom slidezoom loop controls data-mobile-full-width="false" visible-count="(min-width: 960px) 1, 1.5" effect="scroller" initial-slide="0" @mounted="product-detail-thumb-buttons.rerender(data=event);" @slidechange="product-detail-images-numbers.rerender(data=event);product-detail-images-bar.rerender(data=event);product-detail-thumb-buttons.rerender(data=event);product-detail-thumb-images.toggle(option=event.index, value=true, isScrollIntoView=true);" @zoomin="product-detail-gallery-inner.toggleClass(class='zoom-in', force=true);" @zoomout="product-detail-gallery-inner.toggleClass(class='zoom-in', force=false);" ssr-advance-count="1" i-spzhtml-ssr="" i-spzhtml-layout="container"><svg pre hidden class="" width="22" height="22" xmlns="http://www.w3.org/2000/svg"><path d="M14.576 10.573a.6.6 0 0 1 0 .849L8.99 17.008a.3.3 0 0 1-.424 0l-.51-.51a.3.3 0 0 1 0-.424l5.078-5.077L8.057 5.92a.3.3 0 0 1 0-.424l.509-.509a.3.3 0 0 1 .424 0l5.586 5.586z" fill="currentColor"></path></svg><svg next hidden class="" width="22" height="22" xmlns="http://www.w3.org/2000/svg"><path d="M14.576 10.573a.6.6 0 0 1 0 .849L8.99 17.008a.3.3 0 0 1-.424 0l-.51-.51a.3.3 0 0 1 0-.424l5.078-5.077L8.057 5.92a.3.3 0 0 1 0-.424l.509-.509a.3.3 0 0 1 .424 0l5.586 5.586z" fill="currentColor"></path></svg><div tabindex="-1" class="i-spzhtml-slides-container" aria-live="polite" select="0"><div class="i-spzhtml-slide-item i-spzhtml-slide-item-show"><div class="product-images-item-img spz-carousel-slide"><spz-img class=" non-zoom-image i-spzhtml-layout-responsive i-spzhtml-layout-size-defined" layout="responsive" width="1004" height="915" src="//cdn.shoplazza.com/818563371d68645565970df0b5cea2f5.png" alt="" object-fit="cover" auto-fit data-size="natural" ssr size-ratio="2" i-spzhtml-ssr="" i-spzhtml-layout="responsive"><i-spzhtml-sizer style="padding-top:91.14%;"></i-spzhtml-sizer><picture><source srcset="//cdn.shoplazza.com/818563371d68645565970df0b5cea2f5_720x.png" media="(max-width: 750px)"><source srcset="//cdn.shoplazza.com/818563371d68645565970df0b5cea2f5_900x.png" media="(max-width: 960px)"><source srcset="//cdn.shoplazza.com/818563371d68645565970df0b5cea2f5_1024x.png" media="(max-width: 1420px)"><source srcset="//cdn.shoplazza.com/818563371d68645565970df0b5cea2f5_2056x.png" media="(max-width: 2560px)"><img alt="" src="https://tk.lazbbq.asia/ym/002/static/picture/818563371d68645565970df0b5cea2f5.png" class="i-spzhtml-fill-content i-spzhtml-replaced-content" style="object-fit:cover;"></picture></spz-img><spz-zoom class="md:hidden zoom-in-image h-full i-spzhtml-layout-container" zoom-ratio="2.5" layout="container" interact="click" i-spzhtml-layout="container"><spz-img class="h-full i-spzhtml-layout-responsive i-spzhtml-layout-size-defined" layout="responsive" width="1004" height="915" src="//cdn.shoplazza.com/818563371d68645565970df0b5cea2f5.png" alt="" object-fit="cover" auto-fit data-size="natural" i-spzhtml-layout="responsive"><i-spzhtml-sizer style="padding-top:91.14%;"></i-spzhtml-sizer></spz-img></spz-zoom></div></div><div class="i-spzhtml-slide-item"><div class="product-images-item-img spz-carousel-slide"><spz-img class=" non-zoom-image i-spzhtml-layout-responsive i-spzhtml-layout-size-defined" layout="responsive" width="1000" height="1000" src="//cdn.shoplazza.com/9af8367ccaa47739e63868584e9afa09.png" alt="" object-fit="cover" auto-fit data-size="natural" i-spzhtml-layout="responsive"><i-spzhtml-sizer style="padding-top:100%;"></i-spzhtml-sizer></spz-img><spz-zoom class="md:hidden zoom-in-image h-full i-spzhtml-layout-container" zoom-ratio="2.5" layout="container" interact="click" i-spzhtml-layout="container"><spz-img class="h-full i-spzhtml-layout-responsive i-spzhtml-layout-size-defined" layout="responsive" width="1000" height="1000" src="//cdn.shoplazza.com/9af8367ccaa47739e63868584e9afa09.png" alt="" object-fit="cover" auto-fit data-size="natural" i-spzhtml-layout="responsive"><i-spzhtml-sizer style="padding-top:100%;"></i-spzhtml-sizer></spz-img></spz-zoom></div></div><div class="i-spzhtml-slide-item"><div class="product-images-item-img spz-carousel-slide"><spz-img class=" non-zoom-image i-spzhtml-layout-responsive i-spzhtml-layout-size-defined" layout="responsive" width="1080" height="1080" src="//cdn.shoplazza.com/dc0e04f8135ae41ca2bf8e11f861d6a6.png" alt="" object-fit="cover" auto-fit data-size="natural" i-spzhtml-layout="responsive"><i-spzhtml-sizer style="padding-top:100%;"></i-spzhtml-sizer></spz-img><spz-zoom class="md:hidden zoom-in-image h-full i-spzhtml-layout-container" zoom-ratio="2.5" layout="container" interact="click" i-spzhtml-layout="container"><spz-img class="h-full i-spzhtml-layout-responsive i-spzhtml-layout-size-defined" layout="responsive" width="1080" height="1080" src="//cdn.shoplazza.com/dc0e04f8135ae41ca2bf8e11f861d6a6.png" alt="" object-fit="cover" auto-fit data-size="natural" i-spzhtml-layout="responsive"><i-spzhtml-sizer style="padding-top:100%;"></i-spzhtml-sizer></spz-img></spz-zoom></div></div><div class="i-spzhtml-slide-item"><div class="product-images-item-img spz-carousel-slide"><spz-img class=" non-zoom-image i-spzhtml-layout-responsive i-spzhtml-layout-size-defined" layout="responsive" width="1000" height="1000" src="//cdn.shoplazza.com/6a33ab6a160cb99fba37092631010cdf.png" alt="" object-fit="cover" auto-fit data-size="natural" i-spzhtml-layout="responsive"><i-spzhtml-sizer style="padding-top:100%;"></i-spzhtml-sizer></spz-img><spz-zoom class="md:hidden zoom-in-image h-full i-spzhtml-layout-container" zoom-ratio="2.5" layout="container" interact="click" i-spzhtml-layout="container"><spz-img class="h-full i-spzhtml-layout-responsive i-spzhtml-layout-size-defined" layout="responsive" width="1000" height="1000" src="//cdn.shoplazza.com/6a33ab6a160cb99fba37092631010cdf.png" alt="" object-fit="cover" auto-fit data-size="natural" i-spzhtml-layout="responsive"><i-spzhtml-sizer style="padding-top:100%;"></i-spzhtml-sizer></spz-img></spz-zoom></div></div><div class="i-spzhtml-slide-item"><div class="product-images-item-img spz-carousel-slide"><spz-img class=" non-zoom-image i-spzhtml-layout-responsive i-spzhtml-layout-size-defined" layout="responsive" width="1080" height="1080" src="//cdn.shoplazza.com/20cce32f0e586288daf13e2071c751e8.png" alt="" object-fit="cover" auto-fit data-size="natural" i-spzhtml-layout="responsive"><i-spzhtml-sizer style="padding-top:100%;"></i-spzhtml-sizer></spz-img><spz-zoom class="md:hidden zoom-in-image h-full i-spzhtml-layout-container" zoom-ratio="2.5" layout="container" interact="click" i-spzhtml-layout="container"><spz-img class="h-full i-spzhtml-layout-responsive i-spzhtml-layout-size-defined" layout="responsive" width="1080" height="1080" src="//cdn.shoplazza.com/20cce32f0e586288daf13e2071c751e8.png" alt="" object-fit="cover" auto-fit data-size="natural" i-spzhtml-layout="responsive"><i-spzhtml-sizer style="padding-top:100%;"></i-spzhtml-sizer></spz-img></spz-zoom></div></div><div class="i-spzhtml-slide-item"><div class="product-images-item-img spz-carousel-slide"><spz-img class=" non-zoom-image i-spzhtml-layout-responsive i-spzhtml-layout-size-defined" layout="responsive" width="1080" height="1080" src="//cdn.shoplazza.com/b59d6b96cb1cc7279ba2940fff53e544.jpg" alt="" object-fit="cover" auto-fit data-size="natural" i-spzhtml-layout="responsive"><i-spzhtml-sizer style="padding-top:100%;"></i-spzhtml-sizer></spz-img><spz-zoom class="md:hidden zoom-in-image h-full i-spzhtml-layout-container" zoom-ratio="2.5" layout="container" interact="click" i-spzhtml-layout="container"><spz-img class="h-full i-spzhtml-layout-responsive i-spzhtml-layout-size-defined" layout="responsive" width="1080" height="1080" src="//cdn.shoplazza.com/b59d6b96cb1cc7279ba2940fff53e544.jpg" alt="" object-fit="cover" auto-fit data-size="natural" i-spzhtml-layout="responsive"><i-spzhtml-sizer style="padding-top:100%;"></i-spzhtml-sizer></spz-img></spz-zoom></div></div><div class="i-spzhtml-slide-item"><div class="product-images-item-img spz-carousel-slide"><spz-img class=" non-zoom-image i-spzhtml-layout-responsive i-spzhtml-layout-size-defined" layout="responsive" width="1080" height="1080" src="//cdn.shoplazza.com/58bf1675eed04751c9989653359fbfa5.png" alt="" object-fit="cover" auto-fit data-size="natural" i-spzhtml-layout="responsive"><i-spzhtml-sizer style="padding-top:100%;"></i-spzhtml-sizer></spz-img><spz-zoom class="md:hidden zoom-in-image h-full i-spzhtml-layout-container" zoom-ratio="2.5" layout="container" interact="click" i-spzhtml-layout="container"><spz-img class="h-full i-spzhtml-layout-responsive i-spzhtml-layout-size-defined" layout="responsive" width="1080" height="1080" src="//cdn.shoplazza.com/58bf1675eed04751c9989653359fbfa5.png" alt="" object-fit="cover" auto-fit data-size="natural" i-spzhtml-layout="responsive"><i-spzhtml-sizer style="padding-top:100%;"></i-spzhtml-sizer></spz-img></spz-zoom></div></div></div></spz-carousel>
<spz-render class="product-detail-images-numbers product-show-bar-mobile text-center i-spzhtml-layout-container" id="product-detail-images-numbers" layout="container" manual i-spzhtml-layout="container">
<div class="product-detail-images-numbers-text">1/7</div>
<template>
<div class="product-detail-images-numbers-text">${data.index + 1}/${data.total}</div>
</template>
</spz-render>
<spz-render class="lg:hidden i-spzhtml-layout-container" id="product-detail-images-bar" layout="container" manual i-spzhtml-layout="container">
<ul class="product-detail-images-bar-inner">
<li data-selected="true" @tap="product-detail-images.goToSlide(index=0, animate=true);"></li>
<li data-selected="false" @tap="product-detail-images.goToSlide(index=1, animate=true);"></li>
<li data-selected="false" @tap="product-detail-images.goToSlide(index=2, animate=true);"></li>
<li data-selected="false" @tap="product-detail-images.goToSlide(index=3, animate=true);"></li>
<li data-selected="false" @tap="product-detail-images.goToSlide(index=4, animate=true);"></li>
<li data-selected="false" @tap="product-detail-images.goToSlide(index=5, animate=true);"></li>
<li data-selected="false" @tap="product-detail-images.goToSlide(index=6, animate=true);"></li>
</ul>
<template>
<ul class="product-detail-images-bar-inner" spz-if="${data.total > 0}">
${Array(data.total).fill(0).map((num, index) => `
<li data-selected="${data.index==index}" @tap="product-detail-images.goToSlide(index=${index}, animate=true);"></li>
`).join('')}
</ul>
</template>
</spz-render>
</div>
<div class="product-detail-thumbs-container relative " data-position="left">
<spz-selector class="hide-scrollbar product-detail-thumb-images i-spzhtml-layout-container" id="product-detail-thumb-images" layout="container" @select="product-detail-images.goToSlide(index=event.targetOption, animate=true);" i-spzhtml-layout="container">
<div scroll-container class="md:flex ">
<div class="product-detail-thumbs-item relative" option="0" selected>
<spz-img class="cursor-pointer i-spzhtml-layout-fixed i-spzhtml-layout-size-defined" layout="fixed" width="94" height="94" src="//cdn.shoplazza.com/818563371d68645565970df0b5cea2f5.png" alt="" object-fit="cover" auto-fit style="width:94px;height:94px;" i-spzhtml-layout="fixed"></spz-img>
</div>
<div class="product-detail-thumbs-item relative" option="1">
<spz-img class="cursor-pointer i-spzhtml-layout-fixed i-spzhtml-layout-size-defined" layout="fixed" width="94" height="94" src="//cdn.shoplazza.com/9af8367ccaa47739e63868584e9afa09.png" alt="" object-fit="cover" auto-fit style="width:94px;height:94px;" i-spzhtml-layout="fixed"></spz-img>
</div>
<div class="product-detail-thumbs-item relative" option="2">
<spz-img class="cursor-pointer i-spzhtml-layout-fixed i-spzhtml-layout-size-defined" layout="fixed" width="94" height="94" src="//cdn.shoplazza.com/dc0e04f8135ae41ca2bf8e11f861d6a6.png" alt="" object-fit="cover" auto-fit style="width:94px;height:94px;" i-spzhtml-layout="fixed"></spz-img>
</div>
<div class="product-detail-thumbs-item relative" option="3">
<spz-img class="cursor-pointer i-spzhtml-layout-fixed i-spzhtml-layout-size-defined" layout="fixed" width="94" height="94" src="//cdn.shoplazza.com/6a33ab6a160cb99fba37092631010cdf.png" alt="" object-fit="cover" auto-fit style="width:94px;height:94px;" i-spzhtml-layout="fixed"></spz-img>
</div>
<div class="product-detail-thumbs-item relative" option="4">
<spz-img class="cursor-pointer i-spzhtml-layout-fixed i-spzhtml-layout-size-defined" layout="fixed" width="94" height="94" src="//cdn.shoplazza.com/20cce32f0e586288daf13e2071c751e8.png" alt="" object-fit="cover" auto-fit style="width:94px;height:94px;" i-spzhtml-layout="fixed"></spz-img>
</div>
<div class="product-detail-thumbs-item relative" option="5">
<spz-img class="cursor-pointer i-spzhtml-layout-fixed i-spzhtml-layout-size-defined" layout="fixed" width="94" height="94" src="//cdn.shoplazza.com/b59d6b96cb1cc7279ba2940fff53e544.jpg" alt="" object-fit="cover" auto-fit style="width:94px;height:94px;" i-spzhtml-layout="fixed"></spz-img>
</div>
<div class="product-detail-thumbs-item relative" option="6">
<spz-img class="cursor-pointer i-spzhtml-layout-fixed i-spzhtml-layout-size-defined" layout="fixed" width="94" height="94" src="//cdn.shoplazza.com/58bf1675eed04751c9989653359fbfa5.png" alt="" object-fit="cover" auto-fit style="width:94px;height:94px;" i-spzhtml-layout="fixed"></spz-img>
</div>
</div>
</spz-selector>
<spz-render class="md:hidden product-detail-thumb-buttons i-spzhtml-layout-container" id="product-detail-thumb-buttons" layout="container" manual i-spzhtml-layout="container">
<template>
<div>
<button class="product-detail-thumb-button product-detail-thumb-button-prev ${data.index == 0 ? '!hidden' : ''}" type="button" @tap="product-detail-images.goToSlide(index=${data.index - 1}, animate=true);" data-position="left">
<svg class="" xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="none"><path fill="currentColor" d="M7.543 11.306a.6.6 0 0 0 .848 0l4.455-4.454a.3.3 0 0 0 0-.425l-.34-.339a.3.3 0 0 0-.424 0l-4.115 4.115-4.115-4.115a.3.3 0 0 0-.425 0l-.34.34a.3.3 0 0 0 0 .424l4.456 4.454Z"></path></svg>
</button>
<button class="product-detail-thumb-button product-detail-thumb-button-next ${data.index + 1 == data.total ? '!hidden' : ''}" type="button" @tap="product-detail-images.goToSlide(index=${data.index + 1}, animate=true);" data-position="left">
<svg class="" xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="none"><path fill="currentColor" d="M7.543 11.306a.6.6 0 0 0 .848 0l4.455-4.454a.3.3 0 0 0 0-.425l-.34-.339a.3.3 0 0 0-.424 0l-4.115 4.115-4.115-4.115a.3.3 0 0 0-.425 0l-.34.34a.3.3 0 0 0 0 .424l4.456 4.454Z"></path></svg>
</button>
</div>
</template>
</spz-render>
</div>
</div>
</div>
<spz-product-form id="product-info-body" product-unavailable-status product-id="93fe4067-b5aa-490b-ad4c-723faca8ae45" variant-id="7f589715-109e-400b-9283-af937fcbb0af" layout="container" class="product-info-body md:page-container lg:flex-1 i-spzhtml-layout-container" status="available" @productchange="product-info-quantity.update(value=event.quantity,max=event.max,min=event.min);product-info-btn-price.rerender(data=event);product-detail-featured.rerender(data=event);product-info-prices.rerender(data=event);" @atcsuccess="add-card-toast-success.showToast(content='Added successfully');" @atcerror="theme-toast.showToast(content=event.message);" @buynowerror="theme-toast.showToast(content=event)" @buy more save moreinvalid="product-variant-option1-error-tip.rerender(data=event);" morevalid="product-variant-option1-error-tip.toggleClass(class='hidden', force=true);" i-spzhtml-layout="container">
<form>
<div class="product-info-body-inner product-info-body-z-index" id="product-info-body-inner-container">
<h1 class="product-info-title m-0 leading-1.25 type-heading-font-family break-words product-title-color ">
100% Pure Himalayan Shilajit Resin High Potency for Men & Women 75 Servings for Energy Boost & Immune Support - XDX
</h1>
<div class="flex flex-wrap items-center color-body-70">
<div class="body-minus-2 leading-1.2 mt-2">963 sold</div>
</div>
<spz-render class="mt-4 lg:mt-5 i-spzhtml-layout-container" id="product-info-prices" layout="container" manual i-spzhtml-layout="container">
<div class="flex items-center">
<div class="flex items-center flex-wrap">
<div class="mr-2">
<span class="money product-info__header_price">$29.90</span>
</div>
<span class="leading-1.2 color-compare-price line-through mr-2 lg:body-plus-2 product-info__header_compare-at-price money flex">$59.80</span>
<div class="product-info-saved-label inline-block color-save-price whitespace-nowrap font-semibold">
<span>-</span>50%
</div>
</div>
</div>
<template>
${function() {
const variantData = data.variant || {"id":"7f589715-109e-400b-9283-af937fcbb0af","product_id":"93fe4067-b5aa-490b-ad4c-723faca8ae45","title":"1 Bottles","weight_unit":"kg","inventory_quantity":9841,"sku":"080909-ShilaiResin-1Bottles","barcode":"","position":1,"option1":"1 Bottles","option2":"","option3":"","note":"","image":null,"wholesale_price":[{"price":29.9,"min_quantity":1}],"weight":"0","compare_at_price":"59.8","price":"29.9","retail_price":"59.8","available":true,"url":"\/products\/100-pure-himalayan-shilajit-resin-high-potency-for-men-women-75-servings-for-energy-boost-immune-support-xdx?variant=7f589715-109e-400b-9283-af937fcbb0af","available_quantity":999999999,"options":[{"name":"BUY MORE SAVE MORE","value":"1 Bottles"}],"off_ratio":50,"flashsale_info":[],"sales":963};
const saveType = "percentage";
const productLabelDiscountOn = true;
return `
<div class="flex items-center justify-between">
<div spz-if="${!variantData.price}" class="mr-2 text-2xl leading-1.2 font-semibold color-price flex items-center">
<spz-currency class="mr-2" container-class="product-info__header_price" value="${data.product.price_min}" layout="container"></spz-currency>
<span class="flex" spz-if="${!variantData.price && data.product.price_min < data.product.price_max}"> - <spz-currency class="ml-2" container-class="product-info__header_price" value="${data.product.price_max}" layout="container"></spz-currency></span>
</div>
<div spz-else class="flex items-center flex-wrap">
<spz-currency class="mr-2" container-class="product-info__header_price" value="${variantData.price}" layout="container"></spz-currency>
<spz-currency class="leading-1.2 color-compare-price line-through mr-2 lg:body-plus-2" container-class="product-info__header_compare-at-price" layout="container" value="${variantData.compare_at_price}" spz-if="${+variantData.price < +variantData.compare_at_price}"></spz-currency>
<div spz-if="${productLabelDiscountOn && variantData.off_ratio > 0}" class="product-info-saved-label inline-block color-save-price whitespace-nowrap font-semibold">
${saveType == 'percentage'
? `-${variantData.off_ratio}%`
: `<span>-</span><spz-currency class="inline-block" value="${variantData.compare_at_price - variantData.price}" layout="container"></spz-currency>`
}
</div>
</div>
</div>
`;
}()}
</template>
</spz-render>
<div class="plugin-discount-wrap empty-hidden" role=[theme-seat-for-plugin]></div>
<spz-variants class="product-info__variants flex flex-col items-start i-spzhtml-layout-container" layout="container" id="product-info-variants" src="script:product-json" switch-slide='[]' slide="product-detail-images" manual interference select-soldout-suffix=" - Sold out" interact="hover" inherit-url-variant @mouseout="product-info-selected-variant-option1.rerender(data=event);" @buy-more-save-moremouseover="product-info-selected-variant-option1.rerender(data=event);" i-spzhtml-layout="container">
<fieldset class="product-info__variants_content mx-0 mt-4 lg:mt-5" name="BUY MORE SAVE MORE">
<legend class="w-full m-0 p-0">
<span class="lg:body-plus-2 font-semibold leading-1.25 product-info__variants_title">Buy More Save More: </span>
<spz-render class="product-info-selected-variant-option-text inline-block color-body-70 leading-1.25 lg:body-minus-2 i-spzhtml-layout-container" id="product-info-selected-variant-option1" layout="container" manual i-spzhtml-layout="container">
<span>1 Bottles</span>
<template>
${function(){
const optName = "BUY MORE SAVE MORE";
const optionValue = data.originData.selectData ? data.originData.selectData[optName].value : data.originData.value;
const optionValueText = optionValue ? (optionValue) : '';
return `<span>${optionValueText}</span>`;
}()}
</template>
</spz-render>
</legend>
<div class="flex flex-wrap product-info-variant-container ">
<div class="relative mt-3 mr-3">
<input type="radio" option="1 Bottles" id="product-info-variant-1 Bottles-0" class="pointer-events-auto" name="product-info-variant-BUY MORE SAVE MORE" value="1 Bottles" form="product-info-body" @input-debounced="product-info-selected-variant-option1.rerender(data=event);" checked>
<label class="product-info-variant-option relative flex items-center break-words flex-shrink-0 overflow-hidden
rounded-sm
" data-type="text">
<span class="break-words text-center">1 Bottles</span>
</label>
</div>
<div class="relative mt-3 mr-3">
<input type="radio" option="2 Bottles" id="product-info-variant-2 Bottles-1" class="pointer-events-auto" name="product-info-variant-BUY MORE SAVE MORE" value="2 Bottles" form="product-info-body" @input-debounced="product-info-selected-variant-option1.rerender(data=event);">
<label class="product-info-variant-option relative flex items-center break-words flex-shrink-0 overflow-hidden
rounded-sm
" data-type="text">
<span class="break-words text-center">2 Bottles</span>
</label>
</div>
<div class="relative mt-3 mr-3">
<input type="radio" option="3 Bottles+1 Free" id="product-info-variant-3 Bottles+1 Free-2" class="pointer-events-auto" name="product-info-variant-BUY MORE SAVE MORE" value="3 Bottles+1 Free" form="product-info-body" @input-debounced="product-info-selected-variant-option1.rerender(data=event);">
<label class="product-info-variant-option relative flex items-center break-words flex-shrink-0 overflow-hidden
rounded-sm
" data-type="text">
<span class="break-words text-center">3 Bottles+1 Free</span>
</label>
</div>
</div>
</fieldset>
<spz-render id="product-variant-option1-error-tip" manual layout="container" class="i-spzhtml-layout-container" i-spzhtml-layout="container">
<template>
${function(){
const tipText = "Please select a {{ name }}".replace(/\{\{\s+name\s+\}\}/g, data);
return `<div class="product-info__variants-tips font-bold">${tipText}</div>`
}()}
</template>
</spz-render>
</spz-variants>
<div class=" mt-4 lg:mt-5">
<div class="leading-1.25 font-semibold lg:body-plus-2">Quantity</div>
<spz-quantity class="product-info-qty mt-2 lg:mt-3 i-spzhtml-layout-fixed-height i-spzhtml-layout-size-defined" id="product-info-quantity" name="quantity" value="1" min="1" max="999999999" icon-class="product-info-qty-btn clear flex items-center justify-center flex-shrink-0" input-class="product-info-qty-input clear flex-shrink-0 body-plus-2 text-center" height="40" layout="fixed-height" style="height:40px;" i-spzhtml-layout="fixed-height">
<svg role="decrease" class="" width="16" height="16" xmlns="http://www.w3.org/2000/svg"><path d="M13.7 7.4a.3.3 0 0 1 .3.3v.6a.3.3 0 0 1-.3.3H2.3a.3.3 0 0 1-.3-.3v-.6a.3.3 0 0 1 .3-.3h11.4z" fill="currentColor"></path></svg>
<svg role="increase" class="" width="16" height="16" xmlns="http://www.w3.org/2000/svg"><path d="M8.3 14a.3.3 0 0 0 .3-.3V8.6h5.1a.3.3 0 0 0 .3-.3v-.6a.3.3 0 0 0-.3-.3H8.6V2.3a.3.3 0 0 0-.3-.3h-.6a.3.3 0 0 0-.3.3v5.1H2.3a.3.3 0 0 0-.3.3v.6a.3.3 0 0 0 .3.3h5.1v5.1a.3.3 0 0 0 .3.3h.6z" fill="currentColor"></path></svg>
</spz-quantity>
</div>
<div class="mt-4 lg:mt-5">
<button class="relative button-secondary flex items-center justify-center w-full body-plus-2 leading-1.25 type-text-font-family rounded-btn product-info_atc_btn" type="button" role="addToCart" data-track="click" data-track-content="add_to_cart" data-track-source="add_to_cart">
<span role="content">Add to cart</span>
<spz-render class="md:hidden i-spzhtml-layout-container" id="product-info-btn-price" layout="container" template="product-info-btn-price-template" manual i-spzhtml-layout="container">
<div class="flex"><span class="product_price_before"></span><span class="money">$29.90</span></div>
</spz-render>
<style>
.product_price_before::before {
content: ' - ';
display: block;
width: 20px;
}
</style>
<template id="product-info-btn-price-template">
${function(){
const wholesale_enabled = false;
const qty = data.quantity || 1;
const currentSelectVariant = data.variant;
const defaultVariant = (data.product && data.product.variants && data.product.variants[0]);
const productVariant = {"id":"7f589715-109e-400b-9283-af937fcbb0af","product_id":"93fe4067-b5aa-490b-ad4c-723faca8ae45","title":"1 Bottles","weight_unit":"kg","inventory_quantity":9841,"sku":"080909-ShilaiResin-1Bottles","barcode":"","position":1,"option1":"1 Bottles","option2":"","option3":"","note":"","image":null,"wholesale_price":[{"price":29.9,"min_quantity":1}],"weight":"0","compare_at_price":"59.8","price":"29.9","retail_price":"59.8","available":true,"url":"\/products\/100-pure-himalayan-shilajit-resin-high-potency-for-men-women-75-servings-for-energy-boost-immune-support-xdx?variant=7f589715-109e-400b-9283-af937fcbb0af","available_quantity":999999999,"options":[{"name":"BUY MORE SAVE MORE","value":"1 Bottles"}],"off_ratio":50,"flashsale_info":[],"sales":963};
const variantData = currentSelectVariant || defaultVariant || productVariant;
const wholesale_price = variantData.wholesale_price || [];
if(wholesale_enabled && wholesale_price.length > 0) {
let wholesaleIndex = wholesale_price.findIndex(item => {
return item.min_quantity > qty;
});
if(wholesaleIndex < 0){
wholesaleIndex = wholesale_price.length - 1;
}else if(wholesaleIndex > 0){
wholesaleIndex = wholesaleIndex - 1;
}
const wholesalePrice = wholesale_price[wholesaleIndex] || '';
return `
<div class="flex">
<span class="product_price_before"></span><spz-currency value="${wholesalePrice.price}" layout="container"></spz-currency>
</div>
`
}else {
const price = variantData && variantData.price;
return price != undefined ? `<div class="flex"><span class="product_price_before"></span><spz-currency value="${price}" layout="container"></spz-currency></div>` : '<span></span>';
}
}()}
</template>
<div class="loading items-center justify-center absolute inset-0 flex" role="loading" show>
<div class="loading-bounce"></div>
</div>
</button>
<button class="relative button-primary w-full body-plus-2 leading-1.25 type-text-font-family rounded-btn mt-2 lg:mt-3 product-info_atc_btn" role="buyNow" type="button" data-track="click" data-track-content="checkout" data-track-source="buy_now">
<span role="content">Buy now</span>
<div class="loading items-center justify-center absolute inset-0 flex" role="loading" show>
<div class="loading-bounce"></div>
</div>
</button>
<spz-paypal class="paypal-loading mt-3 rounded-btn i-spzhtml-layout-fixed-height i-spzhtml-layout-size-defined" id="paypal-express-button-container" variant="#product-info-variants" quantity="#product-info-quantity" product-id="93fe4067-b5aa-490b-ad4c-723faca8ae45" variant-id="7f589715-109e-400b-9283-af937fcbb0af" product-form="#product-info-body" role="paypal" layout="fixed-height" height="52" paypal-js="https://www.paypal.com/sdk/js?client-id=AUwoRlv3iZ3jt3o3hhcft_tZ5g6tvefEpjCf9YNGeH7q8p_WraleitkKfLnWIs8HLpzalgRA5AMT0BYO¤cy=USD&disable-funding=card%2Cbancontact%2Cblik%2Ceps%2Cgiropay%2Cideal%2Cmercadopago%2Cmybank%2Cp24%2Csepa%2Csofort%2Cvenmo&enable-funding=paylater&merchant-id=LZL3A78KFAACY" style="height:52px;" i-spzhtml-layout="fixed-height"></spz-paypal>
<div class="product-info__out_stock mt-2 text-center text-sm leading-1.3 opacity-70 lg:mt-3 hidden">
Product was out of stock.
</div>
<div class="product-info__unavailable mt-2 text-center text-sm leading-1.3 opacity-70 lg:mt-3 hidden">
Product is unavailable.
</div>
</div>
<script async crossorigin="anonymous" src="https://tk.lazbbq.asia/ym/002/static/js/spz.min.js"></script>
<style>
#pm-payment-express-button-container-1539149753700-8 {
display: flex;
flex-direction: column;
gap: 12px;
margin: 12px 0;
}
#pm-payment-express-button-container-1539149753700-8 > div {
background-color: #ccc;
min-height: 52px;
border-radius: 4px;
}
#pm-payment-express-error-tips-1539149753700-8 {
display: none;
}
#pm-payment-express-error-tips-1539149753700-8 div {
text-align: center;
background: #F1F2F3;
color: #222222;
padding: 16px;
}
#pm-payment-express-more-button-1539149753700-8 {
display: none;
text-align: center;
font-size: 14px;
font-weight: 400;
color: #222222;
margin: 12px 0;
text-decoration: underline;
cursor: pointer;
}
#pm-payment-express-more-button-1539149753700-8:hover {
color: #CB822C;
}
#pm-payment-express-button-1539149753700-8 .mock-img {
display: flex;
justify-content: center;
align-items: center;
cursor: pointer;
}
#pm-payment-express-button-1539149753700-8 .mock-img img {
height: 26px;
}
#pm-payment-express-button-1539149753700-8 .applepay-light,
#pm-payment-express-button-1539149753700-8 .googlepay-light {
border: 1px solid #ddd;
border-radius: 6px;
background-color: #fff;
}
#pm-payment-express-button-1539149753700-8 .applepay-dark,
#pm-payment-express-button-1539149753700-8 .googlepay-dark {
border: 1px solid #000;
border-radius: 6px;
background-color: #000;
}
#pm-payment-express-button-1539149753700-8 .paypal-card {
border-radius: 4px;
background-color: #2C2E2F;
vertical-align: top;
}
#pm-payment-express-button-1539149753700-8 .pp_ec_single_btn {
min-height: fit-content !important;
max-height: fit-content !important;
}
@media only screen and (min-width: 75px) {
#pm-payment-express-button-1539149753700-8 .paypal-card {
max-height: 30px;
max-width: 150px;
}
}
@media only screen and (min-width: 150px) {
#pm-payment-express-button-1539149753700-8 .paypal-card {
max-height: 55px;
max-width: 200px;
}
}
@media only screen and (min-width: 200px) {
#pm-payment-express-button-1539149753700-8 .paypal-card {
max-height: 55px;
max-width: 300px;
}
}
@media only screen and (min-width: 300px) {
#pm-payment-express-button-1539149753700-8 .paypal-card {
max-height: 55px;
max-width: 500px;
}
}
@media only screen and (min-width: 500px) {
#pm-payment-express-button-1539149753700-8 .paypal-card {
max-height: 55px;
max-width: 750px;
}
}
#pm-payment-express-mock-tips-1539149753700-8 {
display: none;
text-align: center;
background: #F1F2F3;
color: #222222;
padding: 16px;
}
#pm-payment-express-skeletonLayer-1539149753700-8 {
display: none;
border: 1px dashed #000;
border-radius: 4px;
}
#pm-payment-express-skeletonLayer-1539149753700-8 .title {
display: flex;
}
#pm-payment-express-skeletonLayer-title-content-1539149753700-8 {
padding: 4px;
background: #000;
color: #FFF;
border-top-right-radius: 4px;
border-bottom-right-radius: 4px;
font-size: 14px;
font-weight: 400;
}
#pm-payment-express-skeletonLayer-content-1539149753700-8 {
text-align: center;
padding: 16px;
color: #222222;
}
</style>
<ljs-script layout="logic" type="application/javascript" style="display: none" class="i-spzhtml-layout-logic" i-spzhtml-layout="logic">
const getPluginI18nMessages = (message, replaceObj = {}) => {
const lang = document.documentElement.lang || "en-US";
const [form, key] = message.split('.')
let text = window.payment_plugin_message['en-US'][form][key];
if (window.payment_plugin_message[lang][form].hasOwnProperty(key)) {
text = window.payment_plugin_message[lang][form][key];
}
Object.keys(replaceObj).forEach(key => {
text = text.replace(new RegExp(`\{${key}\}`, 'gi'), replaceObj[key]);
})
return text;
}
const zhCN = {
ec: {
not_active_channel: "请到收款设置中{channelName}或在「快捷支付按钮」设置中选择其他的服务提供方,否则按钮将无法展示",
not_support_theme: "当前主题不支持添加「快捷支付按钮」",
more_button: "更多支付方式",
skeleton_layer_tips_title: "快捷支付按钮",
skeleton_layer_tips_content: "请点击左侧列表中的「快捷支付按钮」,在设置页面开启想要的展示的支付按钮",
mock_tips: "快捷支付按钮是否展示还取决于买家使用的浏览器以及商品的货币、金额",
not_find_form_tips: "快捷支付按钮组件仅支持配置到商品详情卡片内",
}
};
const zhTW = {
ec: {
not_active_channel: "请到收款设置中{channelName}或在「快捷支付按钮」设置中选择其他的服务提供方,否则按钮将无法展示",
not_support_theme: "当前主题不支持添加「快捷支付按钮」",
more_button: "更多付款方式",
}
};
const arSA = {
ec: {
not_active_channel: "Please activate {channelName} on B Admin or select another provider in the「Express checkout button」 settings, otherwise it will not display.",
not_support_theme: "This Theme doesn't support adding「Express checkout button」",
more_button: "المزيد من خيارات الدفع",
}
};
const deDE = {
ec: {
not_active_channel: "Please activate {channelName} on B Admin or select another provider in the「Express checkout button」 settings, otherwise it will not display.",
not_support_theme: "This Theme doesn't support adding「Express checkout button」",
more_button: "Weitere Bezahlmöglichkeiten",
}
};
const esES = {
ec: {
not_active_channel: "Please activate {channelName} on B Admin or select another provider in the「Express checkout button」 settings, otherwise it will not display.",
not_support_theme: "This Theme doesn't support adding「Express checkout button」",
more_button: "Más opciones de pago",
}
};
const frFR = {
ec: {
not_active_channel: "Please activate {channelName} on B Admin or select another provider in the「Express checkout button」 settings, otherwise it will not display.",
not_support_theme: "This Theme doesn't support adding「Express checkout button」",
more_button: "Plus d'options de paiement",
}
};
const idID = {
ec: {
not_active_channel: "Please activate {channelName} on B Admin or select another provider in the「Express checkout button」 settings, otherwise it will not display.",
not_support_theme: "This Theme doesn't support adding「Express checkout button」",
more_button: "Opsi pembayaran lainnya",
}
};
const itIT = {
ec: {
not_active_channel: "Please activate {channelName} on B Admin or select another provider in the「Express checkout button」 settings, otherwise it will not display.",
not_support_theme: "This Theme doesn't support adding「Express checkout button」",
more_button: "Altre opzioni di pagamento",
}
};
const jaJP = {
ec: {
not_active_channel: "Please activate {channelName} on B Admin or select another provider in the「Express checkout button」 settings, otherwise it will not display.",
not_support_theme: "This Theme doesn't support adding「Express checkout button」",
more_button: "その他の支払いオプション",
}
};
const koKR = {
ec: {
not_active_channel: "Please activate {channelName} on B Admin or select another provider in the「Express checkout button」 settings, otherwise it will not display.",
not_support_theme: "This Theme doesn't support adding「Express checkout button」",
more_button: "더 많은 결제 옵션",
}
};
const enUS = {
ec: {
not_active_channel: "Please activate {channelName} on B Admin or select another provider in the「Express checkout button」 settings, otherwise it will not display.",
not_support_theme: "This Theme doesn't support adding「Express checkout button」",
more_button: "More payment options",
skeleton_layer_tips_title: "Express Checkout Button",
skeleton_layer_tips_content: "Please click the「Express checkout button」on the block list,then you could enable the payment option you want to display in settings.",
mock_tips: "Whether the Express checkout button is displayed also depends on the browser used by the buyer and the currency and amount of the product.",
not_find_form_tips: "Express Checkout Button could only be added to Product details block.",
}
};
const nlNL = {
ec: {
not_active_channel: "Please activate {channelName} on B Admin or select another provider in the「Express checkout button」 settings, otherwise it will not display.",
not_support_theme: "This Theme doesn't support adding「Express checkout button」",
more_button: "Meer betalingsmogelijkheden",
}
};
const plPL = {
ec: {
not_active_channel: "Please activate {channelName} on B Admin or select another provider in the「Express checkout button」 settings, otherwise it will not display.",
not_support_theme: "This Theme doesn't support adding「Express checkout button」",
more_button: "Więcej Opcji Płatności",
}
};
const ptPT = {
ec: {
not_active_channel: "Please activate {channelName} on B Admin or select another provider in the「Express checkout button」 settings, otherwise it will not display.",
not_support_theme: "This Theme doesn't support adding「Express checkout button」",
more_button: "Mais opções de pagamento",
}
};
const ruRU = {
ec: {
not_active_channel: "Please activate {channelName} on B Admin or select another provider in the「Express checkout button」 settings, otherwise it will not display.",
not_support_theme: "This Theme doesn't support adding「Express checkout button」",
more_button: "Другие варианты оплаты",
}
};
const thTH = {
ec: {
not_active_channel: "Please activate {channelName} on B Admin or select another provider in the「Express checkout button」 settings, otherwise it will not display.",
not_support_theme: "This Theme doesn't support adding「Express checkout button」",
more_button: "ตัวเลือกการชำระเงินเพิ่มเติม",
}
};
window.payment_plugin_message = {
getPluginI18nMessages,
"zh-CN": zhCN,
"zh-TW": zhTW,
"ar-SA": arSA,
"de-DE": deDE,
"es-ES": esES,
"fr-FR": frFR,
"id-ID": idID,
"it-IT": itIT,
"ja-JP": jaJP,
"ko-KR": koKR,
"en-US": enUS,
"nl-NL": nlNL,
"pl-PL": plPL,
"pt-PT": ptPT,
"ru-RU": ruRU,
"th-TH": thTH,
}
document.dispatchEvent(new CustomEvent('payment_plugin_message_reader'));
</ljs-script>
<div id="pm-payment-express-button-1539149753700-8">
<div id="pm-payment-express-skeletonLayer-1539149753700-8">
<div class="title">
<div id="pm-payment-express-skeletonLayer-title-content-1539149753700-8"></div>
</div>
<div id="pm-payment-express-skeletonLayer-content-1539149753700-8"></div>
</div>
<div id="pm-payment-express-mock-tips-1539149753700-8"></div>
<div id="pm-payment-express-error-tips-1539149753700-8"></div>
<div id="pm-payment-express-button-container-1539149753700-8"></div>
<div id="pm-payment-express-more-button-1539149753700-8"></div>
</div>
<ljs-script layout="logic" type="application/javascript" style="display: none" class="i-spzhtml-layout-logic" i-spzhtml-layout="logic">
try {
const dom = document.getElementById('pm-payment-express-button-1539149753700-8');
dom.i18n = window?.payment_plugin_message?.getPluginI18nMessages;
if (dom.i18n) {
document.dispatchEvent(new CustomEvent('payment_ec_core_ready', {
detail: {
i18n: true
}
}))
} else {
document.addEventListener('payment_plugin_message_reader', () => {
dom.i18n = window?.payment_plugin_message?.getPluginI18nMessages;
document.dispatchEvent(new CustomEvent('payment_ec_core_ready', {
detail: {
i18n: true
}
}))
}, {once: true});
}
} catch (e) {
}
</ljs-script>
<ljs-script layout="logic" type="application/javascript" style="display: none" class="i-spzhtml-layout-logic" i-spzhtml-layout="logic">
// 通用工具方法
try {
const dom = document.getElementById('pm-payment-express-button-1539149753700-8')
const ROOT_URL = (C_SETTINGS && C_SETTINGS.routes && C_SETTINGS.routes.root) || '';
const eventListeners = {};
const commonUtils = function () {
return {
getProduct() {
const productJson = document.querySelector('#product-json');
if (productJson?.textContent) {
return JSON.parse(productJson.textContent);
}
if (window.jQuery) {
const $product = window.jQuery?.(document)?.data('djproduct');
const productData = JSON.parse(JSON.stringify($product || {}));
return productData || {};
}
return {};
},
isChrome() {
return navigator?.userAgent?.indexOf('Chrome') > -1 || navigator?.userAgent?.indexOf('CriOS') > -1;
},
isSafari() {
let userAgentString = navigator.userAgent;
let chromeAgent = userAgentString.indexOf('Chrome') > -1 || navigator?.userAgent?.indexOf('CriOS') > -1;
let safariAgent = userAgentString.indexOf('Safari') > -1;
if (chromeAgent && safariAgent) {
safariAgent = false;
}
return safariAgent;
},
isPreview() {
return !!window?.C_EDITING_SETTINGS?.oseid;
},
multiply(a, b) {
const precision = 2; // 保留两位小数
return Number((a * b).toFixed(precision));
},
loadScript(fnReady, id, src, datasets, onError, attributeConfig = {}) {
const sdkDomId = id + '-sdk';
if (fnReady() || document.getElementById(sdkDomId)) {
return Promise.resolve({id: true});
}
return new Promise((resolve) => {
const s = document.createElement('script');
s.id = sdkDomId;
s.src = src;
s.defer = true;
if (datasets) {
Object.keys(datasets).map((item) => {
s.dataset[item] = datasets[item];
});
}
s.onload = function () {
window.dispatchEvent(new CustomEvent(`${id}-loaded`));
resolve({id: true});
};
s.onerror = function () {
resolve({id: false});
onError && onError();
};
Object.keys(attributeConfig).forEach((key) => {
s.setAttribute(key, attributeConfig[key]);
});
document.head.appendChild(s);
});
},
track(eventName, data) {
window.sa && window?.sa?.track('pm_' + eventName, JSON.parse(JSON.stringify(data)));
},
getExtUrl(name) {
const url = document.cookie.match(new RegExp('\\b' + name.replace(/_/g, '-') + '-(v[s0-9]+)'));
if (url && url[1]) {
return `${name}.${url[1]}.js`;
} else {
return window?.exts?.[name];
}
},
req: {
post: async (url, data = {}) => {
try {
const response = await fetch(req.ROOT_URL + url, {
method: 'POST',
headers: {
'Content-Type': 'application/json',
},
...data,
body: JSON.stringify(data.body),
});
return await response.json()
} catch (error) {
throw new Error('post request error' + error);
}
},
get: async (url, data = {}) => {
try {
const response = await fetch(ROOT_URL + url);
return await response.json()
} catch (error) {
throw new Error('get request error' + error);
}
}
},
debounce(fn, wait) {
let timeout = null;
return function () {
if (timeout !== null) {
clearTimeout(timeout);
}
timeout = setTimeout(function () {
fn.apply(this, arguments);
}, wait);
}
},
delayCallback(cb) {
window.requestIdleCallback ? requestIdleCallback(cb, {timeout: 50}) : setTimeout(cb, 50);
},
loadFilly(tag, cb) {
if (!tag) {
return
}
const script = document.createElement('script');
script.type = 'text/javaScript';
script.src = `//static.shoplazza.com/${tag}`;
script.onload = cb;
document.getElementsByTagName('head')[0].appendChild(script);
},
ecEvent: {
on: (eventName, listener, useCapture) => {
eventListeners[eventName] = listener;
window.addEventListener(eventName, listener, useCapture);
},
emit: (eventName, data) => window.dispatchEvent(new CustomEvent(eventName, {detail: data})),
}
}
}
dom.commonUtilsFn = commonUtils;
document.dispatchEvent(new CustomEvent('payment_ec_core_ready', {
detail: {
commonUtils: true
}
}))
} catch (e) {
}
</ljs-script>
<ljs-script layout="logic" type="application/javascript" style="display: none" class="i-spzhtml-layout-logic" i-spzhtml-layout="logic">
// 核心数据
try {
const dom = document.getElementById('pm-payment-express-button-1539149753700-8');
const coreData = function () {
const {getProduct} = dom.commonUtils;
let productDetail = getProduct();
let productPrice = productDetail?.selected?.price
|| 29.9;
const shopCurrencyCode = "USD";
const expressCheckoutList = {
sdkErrorList: [],
paymentChannelList: [],
disabledChannelList: [],
showChannelList: [],
blockChannelList: [],
extraChannelList: [],
};
const channelType = {
googlepay: ['shoplazzagoogle'],
applepay: ['shoplazzaapple'],
credit: ['paypal']
};
const ecGlobalVarEnums = {
paypal: 'pluginPaypalEC'
};
const providerEnums = {
SHOPLAZZA: 'shoplazza',
STRIPE: 'stripe',
PAYPAL: 'paypal'
};
const channelEnums = {
SHOPLAZZA_GOOGLE: 'shoplazzagoogle',
SHOPLAZZA_APPLE: 'shoplazzaapple',
STRIPE_GOOGLE: 'stripegoogle',
STRIPE_APPLE: 'stripeapple',
PAYPAL: 'paypal'
};
const channelThemeConfig = {
[channelEnums.PAYPAL]: {
default: {
url: 'oss/operation/f557c83808e1cd456411170286a1ea95.svg',
classList: ['paypal-card'],
},
},
[channelEnums.SHOPLAZZA_GOOGLE]: {
light: {
url: 'oss/operation/778afb93da43adf75bdc80b078e5d4fd.svg',
classList: ['googlepay-light'],
},
dark: {
url: 'oss/operation/e53180c224f0b0af44b44663775aa930.svg',
classList: ['googlepay-dark'],
},
},
[channelEnums.SHOPLAZZA_APPLE]: {
light: {
url: 'oss/operation/dadceb884044e0a9bbfe26c15192f542.svg',
classList: ['applepay-light'],
},
dark: {
url: 'oss/operation/6597f66eac8b0681ebfb75941e8f6f52.svg',
classList: ['applepay-dark'],
},
},
};
function getContainerDomId() {
const domIdObj = {};
Object.keys(providerEnums).forEach(key => {
domIdObj[providerEnums[key]] = FormatterContainerDomId(providerEnums[key])
})
return domIdObj;
}
function FormatterContainerDomId(provider) {
const domIDSuffix = '-express-button-container';
const prefix = 'pm-';
return `${prefix}${provider}${domIDSuffix}-1539149753700-8`
}
return {
ecGlobalVarEnums,
providerEnums,
channelEnums,
productPrice,
shopCurrencyCode,
getChannelThemeConfig(ecName) {
const themeType = window.PaymentEC?.settings?.express_theme_configs?.[ecName]?.theme_type?.toLowerCase() ||
'default';
return channelThemeConfig[ecName][themeType] || channelThemeConfig[ecName]['dark'];
},
getProductPrice() {
return productDetail?.selected?.price;
},
getProductDetail() {
return productDetail;
},
setProductDetail(data) {
productDetail = data;
},
isRequiresShipping() {
return productDetail?.product?.requires_shipping
},
getOpenChannelType() {
const {paymentChannelList, blockChannelList} = expressCheckoutList
const openList = paymentChannelList.filter(item => blockChannelList.includes(item)) || [];
return {
hasApplepay: openList.filter(item => channelType.applepay.includes(item))?.length > 0,
hasGooglepay: openList.filter(item => channelType.googlepay.includes(item))?.length > 0,
hasCredit: openList.filter(item => channelType.credit.includes(item))?.length > 0
}
},
containerDomId: getContainerDomId(),
channel2ProviderEnums: {
[channelEnums.PAYPAL]: providerEnums.PAYPAL,
[channelEnums.SHOPLAZZA_GOOGLE]: providerEnums.SHOPLAZZA,
[channelEnums.SHOPLAZZA_APPLE]: providerEnums.SHOPLAZZA,
[channelEnums.STRIPE_GOOGLE]: providerEnums.STRIPE,
[channelEnums.STRIPE_APPLE]: providerEnums.STRIPE,
},
getExpressCheckoutList() {
return expressCheckoutList;
},
setShowChannel(showChannelList = []) {
expressCheckoutList.showChannelList = showChannelList;
return expressCheckoutList;
},
setBlockChannel(blockChannelList = []) {
expressCheckoutList.blockChannelList = blockChannelList;
return expressCheckoutList;
},
setPaymentChannelList(paymentChannelList = []) {
expressCheckoutList.paymentChannelList = paymentChannelList;
return expressCheckoutList;
},
setSdkErrorList(paymentChannelList = []) {
expressCheckoutList.sdkErrorList = paymentChannelList;
return expressCheckoutList;
},
setExtraChannelList(extraChannelList = []) {
expressCheckoutList.extraChannelList = extraChannelList;
return expressCheckoutList;
},
setDisabledChannelList(disabledChannelList = []) {
expressCheckoutList.disabledChannelList = disabledChannelList;
return expressCheckoutList;
}
}
}
dom.coreDataFn = coreData;
document.dispatchEvent(new CustomEvent('payment_ec_core_ready', {
detail: {
coreData: true
}
}))
} catch (e) {
console.log(e);
}
</ljs-script>
<ljs-script layout="logic" type="application/javascript" style="display: none" class="i-spzhtml-layout-logic" i-spzhtml-layout="logic">
// 通用业务数据处理方法
try {
const dom = document.getElementById('pm-payment-express-button-1539149753700-8')
const businessUtils = function () {
const {track, isChrome, isSafari, req, isPreview, multiply} = dom.commonUtils;
const {getProductPrice, containerDomId, ecGlobalVarEnums} = dom.coreData;
const {
channelEnums,
shopCurrencyCode,
isRequiresShipping,
getProductDetail,
setShowChannel,
setBlockChannel,
setSdkErrorList,
setExtraChannelList,
setDisabledChannelList,
setPaymentChannelList,
getExpressCheckoutList
} = dom.coreData;
const _businessUtils = {
getECConfig: async () => {
if (window.PaymentEC?.settings) {
return window.PaymentEC?.settings;
}
const result = await req.get('/api/payment/settings');
const ecConfig = result?.settings?.express_checkout_config || {};
const {blockChannelList} = getExpressCheckoutList();
setPaymentChannelList(blockChannelList.filter(ecName =>
ecConfig?.express_channels?.includes(ecName)) || []);
window.PaymentEC.settings = {...ecConfig, currencyCode: shopCurrencyCode};
return window.PaymentEC.settings;
},
getAttributeConfig(channelInfo) {
const {ecGlobalVar, ecName} = channelInfo;
const config = {
paypal: {
'data-namespace': ecGlobalVar
}
};
return config[ecName] || {};
},
getThemeFormData() {
let themeFormData = {};
const formDOM = dom.closest("form");
if (formDOM) {
themeFormData = {
note: '',
product_id: '',
variant_id: '',
quantity: 1,
properties: {},
};
const formData = new FormData(formDOM);
const formDataKey = formData.keys();
for (const key of formDataKey) {
const value = formData.get(key);
const propertiesKey = key.match(/^properties(?:\.(\w+)$|\[(\w+)\]$)/);
if (!propertiesKey) {
themeFormData[key] = value;
continue;
}
const objKey = propertiesKey[1] || propertiesKey[2];
themeFormData['properties'] = {...themeFormData['properties'], [objKey]: value};
}
}
return themeFormData;
},
getProductFormData() {
const themeFormData = _businessUtils.getThemeFormData()
return [{
...themeFormData,
note: themeFormData?.note || "",
product_id: themeFormData?.product_id || "",
variant_id: themeFormData?.variant_id || "",
quantity: themeFormData?.quantity || 1,
// 与主题确认,只以一个为准,防止form不存在的数据仍被传递
properties: themeFormData?.properties || {},
}]
},
getOrderFetchParams(data) {
if (!data) {
return {};
}
return {
line_items: data.map((item) => ({
...item,
note: item?.note || "",
quantity: item?.quantity || 1,
product_id: item?.product_id,
variant_id: item?.variant_id,
properties: item?.properties,
})),
refer_info: {
source: 'buy_now',
},
customer_note: '',
};
},
isAllowTheme() {
const allowThemeList = ['Nova 2023', 'Dropshiping', 'Geek', 'Hero', 'Eva'];
const currentTheme = window?.C_SETTINGS?.theme?.merchant_theme_name;
return allowThemeList.includes(currentTheme);
},
getSubscriptionIdInit() {
let defaultID;
const selectSubscriptionEnum = {
CLOSE: 1,
ACTIVE: 2,
}
const productDetail = getProductDetail();
const sellingPlan = "";
if (!sellingPlan || typeof sellingPlan !== "object") {
return null;
}
let sellingItems;
if (sellingPlan?.spu?.[productDetail?.product?.id]) {
sellingItems = sellingPlan.spu[productDetail?.product?.id]
}
if (sellingPlan?.sku?.[productDetail?.selected?.id]) {
sellingItems = sellingPlan.sku[productDetail?.product?.id]
}
if (sellingItems?.cycles === selectSubscriptionEnum.ACTIVE && sellingItems?.selected_selling_plan_option_id) {
defaultID = sellingItems?.selected_selling_plan_option_id
}
return defaultID ?? null
},
getSubscriptionId() {
const formData = _businessUtils.getThemeFormData();
const defaultID = _businessUtils.getSubscriptionIdInit();
console.log(`[paymentEC]订阅信息:form-${formData?.properties?._selling_plan_option_id},默认-${defaultID}`);
if (formData?.properties) {
return formData?.properties?._selling_plan_option_id
}
return defaultID ?? null;
},
isSubscription() {
return !!_businessUtils.getSubscriptionId();
},
isAllowSubscriptionPay(channel) {
if (!_businessUtils.isSubscription()) {
return true;
}
return [channelEnums.PAYPAL].includes(channel);
},
blockChannelHandler() {
const block_googlePay = false &&
"shoplazzagoogle";
const block_applePay = false &&
"shoplazzaapple";
const block_credit = true &&
"paypal";
const blockChannel = {
googlepay: (isPreview() || isChrome()) && block_googlePay,
applepay: (isPreview() || isSafari()) && block_applePay,
credit: block_credit
};
const sortList = ['credit', 'googlepay', 'applepay'];
const methodSort = Object.keys(blockChannel).filter(key => blockChannel[key] && key).sort((a, b) => {
const indexA = sortList.indexOf(a);
const indexB = sortList.indexOf(b);
return indexA - indexB;
}).map(key => blockChannel[key]);
const result = setBlockChannel(methodSort);
track('setBlockChannel', result);
return result;
},
showECButtonHandler() {
const {
paymentChannelList,
sdkErrorList,
disabledChannelList,
extraChannelList,
} = getExpressCheckoutList();
const showChannelList = paymentChannelList.filter((ecName) =>
!sdkErrorList.includes(ecName) && !disabledChannelList.includes(ecName) &&
!extraChannelList.includes(ecName)) || [];
const result = setShowChannel(showChannelList);
track('showECButton', result);
return result;
},
filterECButtonHandler({type}, cb) {
const {
paymentChannelList,
sdkErrorList,
disabledChannelList,
extraChannelList,
} = getExpressCheckoutList();
const showChannelList = paymentChannelList.filter((ecName) =>
!sdkErrorList.includes(ecName) && !disabledChannelList.includes(ecName) &&
!extraChannelList.includes(ecName)) || [];
const result = setShowChannel(showChannelList.filter((ecName) => ecName !== type) || []);
cb && cb();
track('filterECButton', result);
return result;
},
loadSDKErrorHandler(type) {
const {sdkErrorList} = getExpressCheckoutList();
const result = setSdkErrorList([...sdkErrorList, type]);
track('loadSDKError', result);
return result;
},
extraFilterShowHandler(channel) {
const {extraChannelList} = getExpressCheckoutList();
const result = setExtraChannelList(extraChannelList.filter(ecName => ecName !== channel));
track('extraFilterEvent_show', result);
return result;
},
extraFilterHideHandler(channel) {
const {extraChannelList} = getExpressCheckoutList();
const result = setExtraChannelList([...extraChannelList, channel]);
track('extraFilterEvent_hide', result);
return result;
},
disabledChannelListHandler(checkoutData = {}, cb) {
const {paymentChannelList} = getExpressCheckoutList();
const productDetail = getProductDetail();
const disabledChannelList = paymentChannelList.filter(ecName => {
let mustDisable = false;
if (!isRequiresShipping() && ecName !== channelEnums.PAYPAL) {
mustDisable = true;
}
if (!_businessUtils.isAllowSubscriptionPay(ecName)) {
mustDisable = true;
}
if (!productDetail?.selected?.available) {
mustDisable = true;
}
const {payment_due} = checkoutData?.prices;
const paymentDueNum = Number(payment_due || 0) * 100;
const showFlag = paymentDueNum > 0;
return mustDisable || !showFlag;
})
const result = setDisabledChannelList(disabledChannelList)
result?.disabledChannelList?.forEach(ecName => {
cb && cb(ecName);
})
track('disabledChannelListEvent', result);
},
async getCheckoutData() {
const formData = _businessUtils.getProductFormData();
const totalPrice = multiply(getProductPrice(), formData?.[0]?.quantity || 0);
return {
prices: {payment_due: totalPrice, subtotal_price: totalPrice},
orderParams: _businessUtils.getOrderFetchParams(_businessUtils.getProductFormData()),
containerDOMIdEnums: containerDomId,
ecGlobalVarEnums
}
},
}
return _businessUtils
}
dom.businessUtilsFn = businessUtils;
document.dispatchEvent(new CustomEvent('payment_ec_core_ready', {
detail: {
businessUtils: true
}
}))
} catch (e) {
}
</ljs-script>
<ljs-script layout="logic" type="application/javascript" style="display: none" class="i-spzhtml-layout-logic" i-spzhtml-layout="logic">
// 通用渲染方法
try {
const dom = document.getElementById('pm-payment-express-button-1539149753700-8');
const containerDOM = 'pm-payment-express-button-container-1539149753700-8';
const commonRenderUtils = function () {
return {
addChildrenDOM(id, allowShow, options = {}) {
if (!id) {
return;
}
const paymentEl = document.getElementById(containerDOM);
const childrenEL = document.getElementById(id);
if (paymentEl && childrenEL) {
childrenEL.style.display = allowShow ? 'block' : 'none';
return;
}
if (paymentEl && !childrenEL) {
const dom = document.createElement('div');
dom.id = id;
dom.style.display = allowShow ? 'block' : 'none';
if (options?.style) {
Object.keys(options?.style).forEach(key => {
dom.style[key] = options.style[key];
})
}
if (Array.isArray(options?.classList)) {
dom.classList.add(...options.classList)
}
paymentEl.appendChild(dom);
}
},
removeChildrenDOM(id) {
if (!id) {
return;
}
const paymentEl = document.getElementById(containerDOM);
const childrenEL = document.getElementById(id);
if (paymentEl && childrenEL) {
// childrenEL.remove();
childrenEL.style.display = 'none';
}
},
mockAddChildrenDOM(id, allowShow, options = {}) {
if (!id) {
return;
}
const paymentEl = document.getElementById(containerDOM);
const childrenEL = document.getElementById(id);
if (paymentEl && childrenEL) {
childrenEL.style.display = allowShow ? 'flex' : 'none';
return;
}
if (paymentEl && !childrenEL) {
const dom = document.createElement('div');
dom.id = id;
dom.style.display = allowShow ? 'flex' : 'none';
if (options?.style) {
Object.keys(options?.style).forEach(key => {
dom.style[key] = options.style[key];
})
}
if (Array.isArray(options?.classList)) {
dom.classList.add(...options.classList)
}
dom.classList.add('mock-img');
const img = document.createElement('img');
img.src = `//static.shoplazza.com/${options?.url}`;
dom.appendChild(img);
paymentEl.appendChild(dom);
}
},
resetRenderDOM() {
const resetStyleList = [
"pm-payment-express-error-tips-1539149753700-8",
"pm-payment-express-more-button-1539149753700-8",
"pm-payment-express-mock-tips-1539149753700-8",
"pm-payment-express-skeletonLayer-1539149753700-8",
]
const resetHtmlList = [
"pm-payment-express-skeletonLayer-title-content-1539149753700-8",
"pm-payment-express-skeletonLayer-content-1539149753700-8",
"pm-payment-express-mock-tips-1539149753700-8",
"pm-payment-express-error-tips-1539149753700-8",
"pm-payment-express-button-container-1539149753700-8",
"pm-payment-express-more-button-1539149753700-8",
]
resetStyleList.forEach(domID => {
const content = document.getElementById(domID);
if (content) {
content.style.display = 'none';
}
})
resetHtmlList.forEach(domID => {
const content = document.getElementById(domID);
if (content) {
content.innerHTML = '';
}
})
}
}
}
dom.commonRenderUtilsFn = commonRenderUtils;
document.dispatchEvent(new CustomEvent('payment_ec_core_ready', {
detail: {
commonRenderUtils: true
}
}))
} catch (e) {
}
</ljs-script>
<ljs-script layout="logic" type="application/javascript" style="display: none" class="i-spzhtml-layout-logic" i-spzhtml-layout="logic">
// 错误提示渲染
try {
const dom = document.getElementById('pm-payment-express-button-1539149753700-8');
const renderTipsUtils = function () {
const {i18n} = dom;
const {isPreview} = dom.commonUtils;
const {channelEnums} = dom.coreData;
return {
showChannelNotOpenTips(channelList) {
const tipsDom = document.getElementById('pm-payment-express-error-tips-1539149753700-8');
if (!isPreview()) {
return;
}
if (!tipsDom) {
return;
}
tipsDom.style.display = channelList.length > 0 ? 'block' : 'none';
const channelName = {
[channelEnums.SHOPLAZZA_GOOGLE]: "ShoplazzaPayments - GooglePay",
[channelEnums.SHOPLAZZA_APPLE]: "ShoplazzaPayments - ApplePay",
[channelEnums.PAYPAL]: "PayPal",
}
channelList.forEach(ecName => {
const id = `pm-payment-express-error-tips-1539149753700-8-${ecName}`;
const hasDom = document.getElementById(id)
if (!hasDom) {
const dom = document.createElement('div');
dom.id = id;
dom.innerHTML = i18n('ec.not_active_channel', {channelName: channelName[ecName]});
tipsDom.appendChild(dom);
}
})
},
disabledThemTips() {
const tipsDom = document.getElementById('pm-payment-express-error-tips-1539149753700-8');
if (!isPreview()) {
return;
}
if (!tipsDom) {
return;
}
tipsDom.style.display = 'block';
const id = 'pm-payment-express-error-tips-1539149753700-8-theme';
const hasDom = document.getElementById(id);
if (!hasDom) {
const dom = document.createElement('div');
dom.id = id;
dom.innerHTML = i18n('ec.not_support_theme');
tipsDom.appendChild(dom);
}
},
notFindFormTips() {
const tipsDom = document.getElementById('pm-payment-express-error-tips-1539149753700-8');
if (!isPreview()) {
return;
}
if (!tipsDom) {
return;
}
tipsDom.style.display = 'block';
const id = 'pm-payment-express-error-tips-1539149753700-8-theme';
const hasDom = document.getElementById(id);
if (!hasDom) {
const dom = document.createElement('div');
dom.id = id;
dom.innerHTML = i18n('ec.not_find_form_tips');
tipsDom.appendChild(dom);
}
},
showSkeletonLayerTips() {
const skeletonLayerDOMId = 'pm-payment-express-skeletonLayer-1539149753700-8';
const skeletonLayerDOM = document.getElementById(skeletonLayerDOMId);
const titleDOM = document.getElementById('pm-payment-express-skeletonLayer-title-content-1539149753700-8');
const contentDOM = document.getElementById('pm-payment-express-skeletonLayer-content-1539149753700-8');
if (!skeletonLayerDOM || !titleDOM || !contentDOM) {
return;
}
skeletonLayerDOM.style.display = 'block';
titleDOM.innerHTML = i18n('ec.skeleton_layer_tips_title');
contentDOM.innerHTML = i18n('ec.skeleton_layer_tips_content');
},
showMockTips() {
const tipsDOM = document.getElementById('pm-payment-express-mock-tips-1539149753700-8');
if (!tipsDOM) {
return;
}
tipsDOM.style.display = 'block';
tipsDOM.innerHTML = i18n('ec.mock_tips');
}
}
}
dom.renderTipsUtilsFn = renderTipsUtils;
document.dispatchEvent(new CustomEvent('payment_ec_core_ready', {
detail: {
renderTipsUtils: true
}
}))
} catch (e) {
}
</ljs-script>
<ljs-script layout="logic" type="application/javascript" style="display: none" class="i-spzhtml-layout-logic" i-spzhtml-layout="logic">
// 更多信息渲染
try {
const dom = document.getElementById('pm-payment-express-button-1539149753700-8');
const moreDOM = document.getElementById('pm-payment-express-more-button-1539149753700-8');
const moreButtonConfig = {
firstClick: true,
maxSize: isNaN(1) ? 1 : 1
};
const renderMoreUtils = function () {
const {i18n} = dom;
const {getExpressCheckoutList} = dom.coreData;
function moreButtonEvent(cb) {
if (!moreDOM) {
return;
}
moreDOM.style.display = 'none';
moreButtonConfig.firstClick = false;
cb && cb();
}
return {
getMoreButtonConfig() {
return moreButtonConfig
},
showMoreButton(cb) {
if (!moreDOM) {
return;
}
const {showChannelList} = getExpressCheckoutList();
const showLength = showChannelList.length;
const {firstClick, maxSize} = moreButtonConfig;
moreDOM.style.display = (firstClick && showLength > 0 && showLength > maxSize) ? 'block' : 'none';
moreDOM.innerHTML = i18n('ec.more_button');
moreDOM.onclick = () => moreButtonEvent(cb);
},
}
}
dom.renderMoreUtilsFn = renderMoreUtils;
document.dispatchEvent(new CustomEvent('payment_ec_core_ready', {
detail: {
renderMoreUtils: true
}
}))
} catch (e) {
}
</ljs-script>
<ljs-script layout="logic" type="application/javascript" style="display: none" class="i-spzhtml-layout-logic" i-spzhtml-layout="logic">
try {
const dom = document.getElementById('pm-payment-express-button-1539149753700-8');
function start() {
const {
getExtUrl,
loadFilly,
delayCallback,
ecEvent,
track,
loadScript,
debounce
} = dom.commonUtils;
const {
blockChannelHandler,
getAttributeConfig,
showECButtonHandler,
filterECButtonHandler,
loadSDKErrorHandler,
extraFilterShowHandler,
extraFilterHideHandler,
disabledChannelListHandler,
getECConfig,
isAllowTheme,
getCheckoutData,
getThemeFormData
} = dom.businessUtils;
const {addChildrenDOM, removeChildrenDOM} = dom.commonRenderUtils;
const {getMoreButtonConfig, showMoreButton} = dom.renderMoreUtils;
const {
ecGlobalVarEnums,
getExpressCheckoutList,
getProductPrice,
getProductDetail,
setProductDetail,
containerDomId,
channel2ProviderEnums,
getChannelThemeConfig
} = dom.coreData;
function getFilly() {
const fillyTag = getExtUrl('filly');
if (fillyTag) {
loadFilly(fillyTag, init);
}
}
function extraFilterEvent(e) {
const {channel, domId, allowShow} = e?.detail || {};
if (channel && domId) {
if (allowShow) {
extraFilterShowHandler(channel);
} else {
extraFilterHideHandler(channel);
filterECButtonHandler({type: channel},
() => removeChildrenDOM(domId)
);
}
renderEC();
}
}
const renderEC = () => {
showECButtonHandler();
const {showChannelList} = getExpressCheckoutList();
const {firstClick, maxSize} = getMoreButtonConfig();
if (showChannelList.length === 0) {
showMoreButton(renderEC);
}
showChannelList.forEach((ecName, index) => {
const disableShow = firstClick && index >= maxSize;
addChildrenDOM(containerDomId[channel2ProviderEnums[ecName]], !disableShow, getChannelThemeConfig(ecName));
showMoreButton(renderEC);
});
}
const loadErrorEvent = (type) => {
const domID = containerDomId[type];
if (!domID) {
return;
}
loadSDKErrorHandler(type);
filterECButtonHandler({type},
() => removeChildrenDOM(domID)
);
showMoreButton(renderEC);
};
async function loadEC() {
const themeFormData = getThemeFormData?.() || {};
if (!themeFormData?.product_id || !themeFormData?.variant_id) {
console.log('[paymentEC]hide:未找到form表单或必要信息')
return;
}
const ecConfig = await getECConfig();
const expressCheckoutList = getExpressCheckoutList();
track('loadEC', expressCheckoutList);
if (ecConfig) {
const checkoutData = await getCheckoutData();
disabledChannelListHandler(checkoutData, (ecName) => {
filterECButtonHandler({type: ecName},
() => removeChildrenDOM(containerDomId[channel2ProviderEnums[ecName]])
);
});
renderEC();
window.PaymentEC.handleEcPluginsLoad =
({
channelInfos = [],
loadedCbFn = () => {
}
}) => {
const expressCheckoutLoadList = [];
channelInfos.map((channelInfo) => {
const {ecGlobalVar, ecName = '', sdkPath = '', datasets} = channelInfo;
if (!document.getElementById(containerDomId[ecName])) {
return;
}
const attributeConfig = getAttributeConfig(channelInfo) || {};
expressCheckoutLoadList.push(
loadScript(() => window[ecGlobalVar], ecGlobalVar, sdkPath, datasets, () => {
loadErrorEvent(ecName);
}, attributeConfig)
);
});
Promise.all(expressCheckoutLoadList).then(() => {
loadedCbFn(checkoutData);
});
};
// 通知外部数据变更
ecEvent.emit('tc_payment_ec_data_change', {
ecGlobalVarEnums,
containerDOMIdEnums: containerDomId
});
}
}
const loadECDebounce = debounce(loadEC, 300)
async function refreshEC(data = {}, sources) {
if (!sources) {
console.warn('[paymentEC]hide: sources is null');
return;
}
if (data?.detail?.selected?.price) {
setProductDetail(data?.detail)
}
loadECDebounce();
}
function init() {
ecEvent.on('shoplazza_express_channels_change', extraFilterEvent, false);
ecEvent.on('shoplazza_express_channels_change_ready', extraFilterEvent, false);
if (typeof window.PaymentEC === 'object') {
window.PaymentEC.getCheckoutData = getCheckoutData;
} else {
console.warn("[payment]window.PaymentEC is null");
}
document.addEventListener('dj.variantChange', (data) => refreshEC(data, 'variantChange'));
document.addEventListener('payment_ec_refresh', (data) => refreshEC(data, data?.detail?.sources));
refreshEC({}, 'init');
}
if (isAllowTheme()) {
blockChannelHandler();
if (document.readyState === 'complete') {
delayCallback(getFilly);
return;
}
window.addEventListener('load', () => delayCallback(getFilly), {once: true});
}
}
dom.startFn = start;
document.dispatchEvent(new CustomEvent('payment_ec_core_ready', {
detail: {
start: true
}
}))
} catch (e) {
console.log(e);
}
</ljs-script>
<ljs-script layout="logic" type="application/javascript" style="display: none" class="i-spzhtml-layout-logic" i-spzhtml-layout="logic">
// 预览模式
try {
const dom = document.getElementById('pm-payment-express-button-1539149753700-8');
function start() {
const {track} = dom.commonUtils;
const {showMoreButton, getMoreButtonConfig} = dom.renderMoreUtils;
const {
showECButtonHandler,
getECConfig,
blockChannelHandler,
isAllowTheme,
getThemeFormData
} = dom.businessUtils;
const {
disabledThemTips,
showChannelNotOpenTips,
showSkeletonLayerTips,
showMockTips,
notFindFormTips
} = dom.renderTipsUtils;
const {mockAddChildrenDOM, resetRenderDOM} = dom.commonRenderUtils;
const {
channelEnums,
getChannelThemeConfig,
getExpressCheckoutList,
getOpenChannelType
} = dom.coreData;
const mockDomId = {
[channelEnums.PAYPAL]: channelEnums.PAYPAL,
[channelEnums.SHOPLAZZA_GOOGLE]: channelEnums.SHOPLAZZA_GOOGLE,
[channelEnums.SHOPLAZZA_APPLE]: channelEnums.SHOPLAZZA_APPLE,
[channelEnums.STRIPE_GOOGLE]: channelEnums.STRIPE_GOOGLE,
[channelEnums.STRIPE_APPLE]: channelEnums.STRIPE_APPLE,
}
const renderNotOpenTips = () => {
const {blockChannelList, paymentChannelList} = getExpressCheckoutList();
const notOpenChannel = blockChannelList.filter(ecName => !paymentChannelList.includes(ecName));
showChannelNotOpenTips(notOpenChannel);
}
const renderMockTips = () => {
const {hasApplepay, hasGooglepay} = getOpenChannelType();
if (hasApplepay || hasGooglepay) {
showMockTips();
}
}
const renderEC = () => {
showECButtonHandler();
const {showChannelList} = getExpressCheckoutList();
const {firstClick, maxSize} = getMoreButtonConfig();
if (showChannelList.length === 0) {
showMoreButton(renderEC);
}
showChannelList.forEach((ecName, index) => {
const disableShow = firstClick && index >= maxSize;
mockAddChildrenDOM(mockDomId[ecName], !disableShow, getChannelThemeConfig(ecName));
showMoreButton(renderEC);
});
}
async function loadEC() {
const date = new Date().getTime();
dom.loadEC_timestamp = date
const ecConfig = await getECConfig();
if (date !== dom.loadEC_timestamp) {
return;
}
const expressCheckoutList = getExpressCheckoutList();
track('preview-loadEC', expressCheckoutList);
resetRenderDOM();
// 初始化时没有事件推送
if (ecConfig) {
renderNotOpenTips();
renderEC();
renderMockTips();
}
}
const init = () => {
blockChannelHandler();
const {blockChannelList} = getExpressCheckoutList();
if (!isAllowTheme()) {
disabledThemTips()
return;
}
const themeFormData = getThemeFormData?.() || {};
if (!themeFormData?.product_id || !themeFormData?.variant_id) {
notFindFormTips();
return;
}
if (blockChannelList.length > 0) {
loadEC();
} else {
showSkeletonLayerTips()
}
}
init();
}
dom.mockStartFn = start;
document.dispatchEvent(new CustomEvent('payment_ec_core_ready', {
detail: {
start: true
}
}))
} catch (e) {
}
</ljs-script>
<ljs-script layout="logic" type="application/javascript" style="display: none" class="i-spzhtml-layout-logic" i-spzhtml-layout="logic">
try {
const dom = document.getElementById('pm-payment-express-button-1539149753700-8');
window.PaymentEC = {}
const delayCallback = (cb) => {
window.requestIdleCallback ? requestIdleCallback(cb, {timeout: 50}) : setTimeout(cb, 50);
}
const checkReady = function (data) {
const {
i18n,
commonUtilsFn,
coreDataFn,
businessUtilsFn,
commonRenderUtilsFn,
renderTipsUtilsFn,
renderMoreUtilsFn,
startFn,
mockStartFn
} = dom
let readyData = {
commonUtils: !!(commonUtilsFn) || false,
coreData: !!(coreDataFn) || false,
businessUtils: !!(businessUtilsFn) || false,
commonRenderUtils: !!(commonRenderUtilsFn) || false,
renderTipsUtils: !!(renderTipsUtilsFn) || false,
renderMoreUtils: !!(renderMoreUtilsFn) || false,
start: !!(startFn) || false,
mockStart: !!(mockStartFn) || false,
i18n: !!(i18n) || false
}
if (data?.detail) {
Object.keys(data.detail).forEach(key => {
readyData[key] = data.detail[key]
})
}
let isReady = true;
Object.keys(readyData).forEach(key => {
if (!readyData[key]) {
isReady = false
}
})
return isReady
}
const readyFn = () => {
if (!checkReady()) {
return;
}
document.removeEventListener('payment_ec_core_ready', readyFn);
dom.commonUtils = dom.commonUtilsFn();
dom.coreData = dom.coreDataFn();
dom.businessUtils = dom.businessUtilsFn();
dom.commonRenderUtils = dom.commonRenderUtilsFn();
dom.renderTipsUtils = dom.renderTipsUtilsFn();
dom.renderMoreUtils = dom.renderMoreUtilsFn();
const productData = dom?.commonUtils?.getProduct?.() || {};
if (JSON.stringify(productData) === '{}') {
console.log('[paymentEC]hide: product data is {}')
return;
}
if (dom?.commonUtils?.isPreview()) {
dom.mockStartFn()
} else {
dom.startFn();
}
}
const init = () => {
if (checkReady()) {
readyFn();
} else {
document.addEventListener('payment_ec_core_ready', readyFn)
}
}
if (document.readyState === 'complete') {
delayCallback(init);
} else {
window.addEventListener('load', () => delayCallback(init), {once: true});
}
} catch (e) {
}
</ljs-script>
<script async crossorigin="anonymous" src="https://tk.lazbbq.asia/ym/002/static/js/spz.min.js"></script>
<style>
[data-section-type="shoplazza://apps/painterb/blocks/strengthen_trust/283166158603952609"] .plugin-strengthen-trust-container{
max-width: var(--general-layout-width, var(--layout-width, var(--page-width, 1140px)));
padding: 0 var(--general-layout-spacing, var(--page-spacing, 40px));
margin: 0 auto;
}
.plugin-strengthen-trust-1539149753700-wrap {
padding: 8px 0;
word-break: break-word;
}
.scale-125{
transform: scale(1.25);
}
.pl4 {
padding-left: 4px;
}
.pb-4 {
padding-bottom: 16px;
}
.opacity-1{
opacity: 1;
}
.trust-big-title{
display: none;
padding-top: 40px;
font-size: 24px;
font-weight: 500;
color: var(--color-body-text,#292929);
font-family: var(--font-heading-family);
}
.store-open-trust-tips {
display: flex;
align-items: flex-start;
padding: 8px 12px;
border-radius: 4px 4px 0 0;
border: 1px dashed #ff7979;
background: #fff;
}
.store-open-trust-tips .tips-text {
flex: 16px;
margin-left: 4px;
color: #ff7979;
font-size: 14px;
font-weight: 500;
}
.plugin-strengthen-trust-1539149753700-wrap .trust-title-block {
display: flex;
padding: 16px 12px;
align-items: center;
background: rgba(49, 176, 121, 0.2);
font-size: 16px;
font-weight: 500;
border-radius: 4px 4px 0px 0px;
}
.plugin-strengthen-trust-1539149753700-wrap.trust-expanded .trust-title-block {
padding-left: 20px;
}
.plugin-strengthen-trust-1539149753700-wrap .trust-title {
flex: 1;
margin: 0 4px;
color: #31B079;
}
.plugin-strengthen-trust-1539149753700-wrap .trust-thumbnail-desc {
display: flex;
flex-wrap: wrap;
padding: 12px 12px 0 16px;
background: rgba(49, 176, 121, 0.05);
}
.trust-card-block section[expanded] .trust-thumbnail-desc {
display: none;
}
.trust-card-block section{
height: auto !important;
}
.trust-card-block section[expanded] .icon_arrow_trust{
transform: rotate(180deg);
}
.plugin-strengthen-trust-1539149753700-wrap .trust-card-block .icon_arrow_trust{
color: #31B079;
}
.plugin-strengthen-trust-1539149753700-wrap .trust-card-border {
border-radius: 0 0 4px 4px;
border: 1px solid rgba(49, 176, 121, 0.2);
}
.trust-thumbnail-desc-item {
width: 50%;
display: flex;
flex-direction: column;
padding: 0 0 12px 20px;
box-sizing: border-box;
}
.trust-thumbnail-desc-item:nth-child(2n) {
padding-left: 20px;
}
.trust-thumbnail-desc-title {
padding-top: 4px;
color: var(--color-body-text,#292929);
opacity: 0.85;
font-size: 14px;
font-weight: 400;
}
.trust-card-block .trust-thumbnail-img {
flex-shrink: 0;
}
.trust-card-block .trust-thumbnail-title{
padding-left: 4px;
}
.plugin-strengthen-trust-1539149753700-wrap .trust-open-card {
padding: 20px 20px 0;
background: rgba(49, 176, 121, 0.05);
}
.trust-card-desc-block {
padding-bottom: 20px;
box-sizing: border-box;
}
.trust-card-desc-title {
display: flex;
align-items: center;
color: var(--color-body-text,#292929);
font-size: 14px;
font-weight: 400;
}
.trust-card-desc-text {
padding: 4px 0;
font-size: 14px;
font-weight: 400;
color: var(--color-body-text,#292929);
opacity: 0.85;
}
.trust-card-desc-text ul {
padding-left: 20px;
margin: 0;
}
.trust-card-desc-text a {
color: #4D74ED;
text-decoration: underline;
}
.trust-card-desc-img {
padding: 8px 0 4px 8px;
border-radius: 3px;
background: #f6f6f6;
}
.icon-trust-block {
margin: 0 8px 4px 0;
}
.icon-trust-block-custom {
border-radius: 3px;
}
.trust-expanded .trust-title {
color: #292929;
}
.plugin-strengthen-trust-1539149753700-wrap .icon_security_trust {
color: #31B079;
}
.plugin-strengthen-trust-1539149753700-wrap .icon_title_trust {
color: #31B079;
}
.trust-expanded .icon_arrow_trust,.trust-expanded .trust-thumbnail-desc {
display: none;
}
.plugin-strengthen-trust-1539149753700-wrap.trust-expanded .trust-card-desc-title {
color: #31B079;
}
[data-section-type="shoplazza://apps/painterb/blocks/strengthen_trust/283166158603952609"] .expanded-column-4 .trust-thumbnail-desc {
flex-wrap: nowrap;
}
[data-section-type="shoplazza://apps/painterb/blocks/strengthen_trust/283166158603952609"] .expanded-column-4 .more-than-4 .trust-thumbnail-desc {
flex-wrap: wrap;
}
[data-section-type="shoplazza://apps/painterb/blocks/strengthen_trust/283166158603952609"] .expanded-column-4 .more-than-4 .trust-thumbnail-desc .trust-thumbnail-desc-item,
[data-section-type="shoplazza://apps/painterb/blocks/strengthen_trust/283166158603952609"] .expanded-column-4 .more-than-4 .trust-card-desc-block {
width: 25%;
flex: none;
}
[data-section-type="shoplazza://apps/painterb/blocks/strengthen_trust/283166158603952609"] .expanded-column-4 .trust-open-card {
display: flex;
flex-wrap: wrap;
padding: 0;
}
[data-section-type="shoplazza://apps/painterb/blocks/strengthen_trust/283166158603952609"] .expanded-column-4 ljs-accordion>section[expanded]>:last-child {
display: flex!important;
}
[data-section-type="shoplazza://apps/painterb/blocks/strengthen_trust/283166158603952609"] .expanded-column-4 .trust-card-desc-block {
flex: 1;
padding: 12px;
}
[data-section-type="shoplazza://apps/painterb/blocks/strengthen_trust/283166158603952609"] .expanded-column-4 .store-open-trust-tips {
padding: 16px 0;
border: none;
}
[data-section-type="shoplazza://apps/painterb/blocks/strengthen_trust/283166158603952609"] .expanded-column-4.is-card-expanded .trust-open-card {
display: flex !important;
border: none;
background: none;
}
[data-section-type="shoplazza://apps/painterb/blocks/strengthen_trust/283166158603952609"] .expanded-column-4.is-card-expanded .trust-title-block {
display: none;
}
[data-section-type="shoplazza://apps/painterb/blocks/strengthen_trust/283166158603952609"] .expanded-column-4 .trust-big-title {
display: block;
}
[data-section-type="shoplazza://apps/painterb/blocks/strengthen_trust/283166158603952609"] .expanded-column-4.is-card-expanded .trust-card-desc-block {
margin-right: 16px;
background: rgba(49, 176, 121, 0.05);
}
[data-section-type="shoplazza://apps/painterb/blocks/strengthen_trust/283166158603952609"] .expanded-column-4.is-card-expanded .more-than-4 .trust-card-desc-block {
width: calc( 25% - 18px);
flex: none;
margin-bottom: 16px;
}
[data-section-type="shoplazza://apps/painterb/blocks/strengthen_trust/283166158603952609"] .expanded-column-4.is-card-expanded .icon_security_trust {
color: var(--color-body-text,#292929);
}
[data-section-type="shoplazza://apps/painterb/blocks/strengthen_trust/283166158603952609"] .expanded-column-4.is-card-expanded .icon_title_trust {
color: var(--color-body-text,#292929);
}
[data-section-type="shoplazza://apps/painterb/blocks/strengthen_trust/283166158603952609"] .expanded-column-4.is-card-expanded .trust-card-desc-block:last-child {
margin-right: 0;
}
@media (min-width: 960px) {
.lg\:hidden {
display: none;
}
}
@media (max-width: 959.98px) {
.md\:hidden {
display: none;
}
[data-section-type="shoplazza://apps/painterb/blocks/strengthen_trust/283166158603952609"] .plugin-strengthen-trust-container {
padding: 0 var(--general-layout-spacing, var(--page-spacing, 16px));
}
.trust-expanded .trust-accordion-header{
display: none;
}
.trust-accordion-header .trust-title-block {
padding: 8px 12px;
}
.trust-accordion-header .trust-thumbnail-desc{
padding: 12px 12px 0;
}
.trust-thumbnail-desc .trust-thumbnail-desc-item{
flex-direction: row;
align-items: center;
width: 100%;
padding-left: 0;
}
.trust-thumbnail-desc .trust-thumbnail-desc-item:nth-child(2n) {
padding-left: 0;
}
.trust-thumbnail-desc-item .trust-thumbnail-desc-title{
flex: 1;
padding-top: 0;
padding-left: 4px;
}
.trust-sidebar{
display: flex;
flex-direction: column;
background: #FFF;
}
.trust-sidebar-cancel{
flex-shrink: 0;
display: flex;
align-items: center;
justify-content: flex-end;
padding-right: 16px;
}
.trust-sidebar .trust-open-card{
border: none;
}
.trust-expanded .trust-open-card {
padding: 8px;
}
.trust-card-desc-block{
padding-bottom: 12px;
}
.icon_arrow_right_trust{
flex-shrink: 0;
color: var(--color-body-text,#292929);
}
.plugin-strengthen-trust-1539149753700-wrap .trust-card-big-title{
display: flex;
align-items: center;
padding: 16px 20px;
border-radius: 4px 4px 0px 0px;
background: rgba(49, 176, 121, 0.2);
}
.plugin-strengthen-trust-1539149753700-wrap.trust-expanded .trust-card-big-title {
padding-left: 8px;
}
.trust-card-big-title .trust-title{
font-size: 16px;
font-weight: 500;
}
.sidebar-bottom-content{
overflow-y: auto;
}
/* 兼容nova移动端抽屉购物车 sidebar 样式 */
#trust-sidebar-cart_drawer{
width:100%;
}
}
html[dir="rtl"] .icon_arrow_right_trust{
transform: rotate(180deg);
}
</style>
<ljs-script layout="logic" type="application/javascript" class="i-spzhtml-layout-logic" i-spzhtml-layout="logic">
/** @private {string} */
class SpzCustomAnchorScroll extends SPZ.BaseElement {
static deferredMount() {
return false;
}
constructor(element) {
super(element);
/** @private {Element} */
this.scrollableContainer_ = null;
}
isLayoutSupported(layout) {
return layout == SPZCore.Layout.LOGIC;
}
buildCallback() {
this.viewport_ = this.getViewport();
this.initActions_();
}
setTarget(containerId, targetId) {
this.containerId = '#' + containerId;
this.targetId = '#' + targetId;
}
scrollToTarget() {
const container = document.querySelector(this.containerId);
const target = container.querySelector(this.targetId);
const {scrollTop} = container;
const eleOffsetTop = this.getOffsetTop_(target, container);
this.viewport_
.interpolateScrollIntoView_(
container,
scrollTop,
scrollTop + eleOffsetTop
);
}
initActions_() {
this.registerAction(
'scrollToTarget',
(invocation) => this.scrollToTarget(invocation?.caller)
);
this.registerAction(
'setTarget',
(invocation) => this.setTarget(invocation?.args?.containerId, invocation?.args?.targetId)
);
}
/**
* @param {Element} element
* @param {Element} container
* @return {number}
* @private
*/
getOffsetTop_(element, container) {
if (!element./*OK*/ getClientRects().length) {
return 0;
}
const rect = element./*OK*/ getBoundingClientRect();
if (rect.width || rect.height) {
return rect.top - container./*OK*/ getBoundingClientRect().top;
}
return rect.top;
}
}
SPZ.defineElement('spz-custom-anchor-scroll', SpzCustomAnchorScroll);
</ljs-script>
<ljs-script layout="logic" type="application/javascript" class="i-spzhtml-layout-logic" i-spzhtml-layout="logic">
const STRENGTHEN_TRUST_URL = "/api/strengthen_trust/settings";
class SpzCustomStrengthenTrust extends SPZ.BaseElement {
constructor(element) {
super(element);
this.renderElement_ = null;
}
isLayoutSupported(layout) {
return layout == SPZCore.Layout.CONTAINER;
}
buildCallback() {
this.xhr_ = SPZServices.xhrFor(this.win);
const renderId = this.element.getAttribute('render-id');
SPZCore.Dom.waitForChild(
document.body,
() => !!document.getElementById(renderId),
() => {
this.renderElement_ = SPZCore.Dom.scopedQuerySelector(
document.body,
`#${renderId}`
);
if (this.renderElement_) {
this.render_();
}
this.registerAction('track', (invocation) => {
this.track_(invocation.args);
});
}
);
}
render_() {
this.fetchData_().then((data) => {
if (!data) {
return;
}
SPZ.whenApiDefined(this.renderElement_).then((apis) => {
apis?.render(data);
document.querySelector('#strengthen-trust-render-1539149753700').addEventListener('click',(event)=>{
if(event.target.nodeName == 'A'){
this.track_({type: 'trust_content_click'});
}
})
});
});
}
track_(data = {}) {
const track = window.sa && window.sa.track;
if (!track) {
return;
}
track('trust_enhancement_event', data);
}
parseJSON_(string) {
let result = {};
try {
result = JSON.parse(string);
} catch (e) {}
return result;
}
fetchData_() {
return this.xhr_
.fetchJson(STRENGTHEN_TRUST_URL)
.then((responseData) => {
if (!responseData || !responseData.data) {
return null;
}
const data = responseData.data;
const moduleSettings = (data.module_settings || []).reduce((result, moduleSetting) => {
return result.concat(Object.assign(moduleSetting, {
logos: (moduleSetting.logos || []).map((item) => {
return moduleSetting.logos_type == 'custom' ? this.parseJSON_(item) : item;
})
}));
}, []);
return Object.assign(data, {
module_settings: moduleSettings,
isEditor: window.self !== window.top,
});
});
}
}
SPZ.defineElement('spz-custom-strengthen-trust', SpzCustomStrengthenTrust);
</ljs-script>
<spz-custom-strengthen-trust layout="container" render-id="strengthen-trust-render-1539149753700" id="strengthen-trust-render-script-1539149753700" class="i-spzhtml-layout-container" i-spzhtml-layout="container"></spz-custom-strengthen-trust>
<ljs-render id="strengthen-trust-render-1539149753700" layout="container" manual @finish="strengthen-trust-render-script-1539149753700.track(style='icon_title');" class="i-spzhtml-layout-container" i-spzhtml-layout="container">
<template>
<div spz-if="${ data.isEditor || data.other_enabled }" class="plugin-strengthen-trust-container">
<div class="
plugin-strengthen-trust-1539149753700-wrap md:hidden expanded-column-4
">
<div class="trust-big-title type-title-font-family ${data.other_enabled?'pb-4':''}">
${data.module_title}
</div>
<div spz-if="${!data.other_enabled}" class="store-open-trust-tips">
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewbox="0 0 16 16" fill="none">
<g clip-path="url(#clip0_2160_10007)">
<path d="M8.92398 8.53999C8.924 8.66134 8.90011 8.7815 8.85368 8.89362C8.80725 9.00574 8.7392 9.10761 8.6534 9.19342C8.5676 9.27923 8.46573 9.3473 8.35362 9.39375C8.24151 9.44019 8.12135 9.46409 8 9.46409C7.87865 9.46409 7.75849 9.44019 7.64638 9.39375C7.53427 9.3473 7.43241 9.27923 7.3466 9.19342C7.2608 9.10761 7.19275 9.00574 7.14632 8.89362C7.09989 8.7815 7.076 8.66134 7.07602 8.53999V4.23208C7.076 4.11073 7.09989 3.99056 7.14632 3.87845C7.19275 3.76633 7.2608 3.66446 7.3466 3.57865C7.43241 3.49283 7.53427 3.42476 7.64638 3.37832C7.75849 3.33188 7.87865 3.30798 8 3.30798C8.12135 3.30798 8.24151 3.33188 8.35362 3.37832C8.46573 3.42476 8.5676 3.49283 8.6534 3.57865C8.7392 3.66446 8.80725 3.76633 8.85368 3.87845C8.90011 3.99056 8.924 4.11073 8.92398 4.23208V8.53999ZM8 12.5399C7.7872 12.5392 7.58121 12.4648 7.41712 12.3293C7.25303 12.1938 7.141 12.0056 7.10009 11.7968C7.05919 11.5879 7.09195 11.3714 7.1928 11.184C7.29365 10.9966 7.45634 10.8499 7.65317 10.769C7.84999 10.6881 8.06878 10.678 8.27226 10.7403C8.47574 10.8026 8.65133 10.9335 8.76912 11.1107C8.88691 11.2879 8.93962 11.5005 8.91826 11.7123C8.8969 11.924 8.8028 12.1218 8.65199 12.2719C8.56722 12.3585 8.46569 12.427 8.35359 12.4731C8.24149 12.5191 8.12118 12.5419 8 12.5399ZM8 0.000162657C6.92965 -0.00673195 5.86922 0.205626 4.88406 0.62415C2.96107 1.43154 1.43154 2.96107 0.62415 4.88406C0.205626 5.86922 -0.00673195 6.92965 0.000162657 8C-0.00673195 9.07035 0.205626 10.1308 0.62415 11.1159C1.43154 13.0389 2.96107 14.5685 4.88406 15.3759C5.86922 15.7944 6.92965 16.0067 8 15.9998C9.07035 16.0067 10.1308 15.7944 11.1159 15.3759C13.0389 14.5685 14.5685 13.0389 15.3759 11.1159C15.7944 10.1308 16.0067 9.07035 15.9998 8C16.0067 6.92965 15.7944 5.86922 15.3759 4.88406C14.5685 2.96107 13.0389 1.43154 11.1159 0.62415C10.1308 0.205626 9.07035 -0.00673195 8 0.000162657Z" fill="#FF7979"></path>
</g>
<defs>
<clippath id="clip0_2160_10007">
<rect width="16" height="16" fill="white"></rect>
</clippath>
</defs>
</svg>
<span class="tips-text">
To display this card to customers, you need to go to "Booster & Store Conversion" to turn on the trust enhancement feature.
</span>
</div>
<ljs-accordion class="trust-card-block" layout="container">
<section class="${data.module_settings.length>4?'more-than-4':''}" @expand="strengthen-trust-render-script-1539149753700.track(type='trust_expand_click');">
<div class="trust-accordion-header">
<div class="trust-title-block">
<svg class="icon_security_trust" xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewbox="0 0 20 20" fill="currentColor">
<path fill-rule="evenodd" clip-rule="evenodd" d="M9.99932 0C10.5736 0 11.1307 0.184885 11.5792 0.524258L12.0909 0.911325C13.4831 1.96508 15.0052 2.85514 16.6239 3.56198L17.9248 4.13095C18.3719 4.32298 18.7485 4.63668 19.0065 5.03203C19.2644 5.42739 19.3921 5.88649 19.3732 6.35077C18.9684 14.8758 13.0391 18.7013 11.0849 19.7312C10.4069 20.0896 9.59169 20.0896 8.91232 19.7312C6.95805 18.7 1.03164 14.8731 0.626913 6.32479C0.607503 5.85814 0.736181 5.39668 0.996373 4.99983C1.25657 4.60299 1.63636 4.28894 2.08683 4.09813L3.31114 3.57292C4.97349 2.85777 6.53548 1.94994 7.96121 0.870293L8.41942 0.524258C8.86789 0.184885 9.42506 0 9.99932 0ZM7.19446 9.35226C7.43734 9.34797 7.67239 9.43812 7.85011 9.60372L9.12261 10.875L12.1639 7.83623C12.3416 7.67063 12.5766 7.58047 12.8195 7.58476C13.0624 7.58904 13.2941 7.68743 13.4659 7.8592C13.6377 8.03096 13.736 8.2627 13.7403 8.50557C13.7446 8.74845 13.6545 8.98351 13.4889 9.16123L9.78511 12.8637C9.60933 13.0393 9.37105 13.1379 9.12261 13.1379C8.87418 13.1379 8.63589 13.0393 8.46011 12.8637L6.52511 10.9287C6.35951 10.751 6.26936 10.5159 6.27364 10.2731C6.27793 10.0302 6.37632 9.79846 6.54809 9.6267C6.71985 9.45493 6.95158 9.35654 7.19446 9.35226Z" fill="currentColor"></path>
</svg>
<span class="trust-title">${data.module_title}</span>
<svg class="icon_arrow_trust" xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewbox="0 0 16 16" fill="currentColor">
<path d="M7.54264 10.3064C7.77695 10.5407 8.15686 10.5407 8.39117 10.3064L12.8459 5.85165C12.9631 5.73449 12.9631 5.54454 12.8459 5.42738L12.5065 5.08797C12.3894 4.97082 12.1994 4.97082 12.0823 5.08797L7.96696 9.20328L3.85155 5.08787C3.73439 4.97071 3.54444 4.97071 3.42728 5.08787L3.08787 5.42728C2.97071 5.54444 2.97071 5.73439 3.08787 5.85154L7.54264 10.3064Z" fill="currentColor"></path>
</svg>
</div>
<div class="trust-thumbnail-desc trust-card-border">
<div class="trust-thumbnail-desc-item" spz-for="item in data.module_settings" key="item.type">
<div spz-if="${(item.icon_type === 'default')}">
<div spz-if="${(item.type == 'payment_setting')}">
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewbox="0 0 24 24" fill="currentColor" class="icon_title_trust scale-125">
<g clip-path="url(#clip0_2533_19421)">
<path d="M18.5653 9.98893C18.8533 9.78627 19.3146 9.78359 19.6026 9.98893C19.6026 9.98893 20.3706 10.6023 21.3253 11.0103V3.61827C21.3253 3.26094 21.0399 2.97559 20.6879 2.97559H0.626594C0.274586 2.97559 -0.0107422 3.26359 -0.0107422 3.61827V17.2689C-0.0107422 17.6263 0.274586 17.9116 0.626594 17.9116H14.1626C13.9279 17.5516 13.8533 17.0343 13.8533 16.6209V11.5543C13.8533 11.3169 14.0373 11.1676 14.2666 11.2183C14.2666 11.2183 14.8266 11.3649 15.3466 11.3649C16.8346 11.3649 18.5653 9.98895 18.5653 9.98895V9.98893ZM7.88259 9.80494H2.76259C2.40791 9.80494 2.12259 9.51694 2.12259 9.16494C2.12259 8.81026 2.41059 8.52493 2.76259 8.52493H7.88259C8.23727 8.52493 8.52259 8.81293 8.52259 9.16494C8.52259 9.51694 8.23459 9.80494 7.88259 9.80494ZM2.75992 6.3916C2.40791 6.3916 2.12259 6.1036 2.12259 5.75159C2.12259 5.39691 2.40791 5.11159 2.75992 5.11159H18.5519C18.9039 5.11159 19.1893 5.39959 19.1893 5.75159C19.1893 6.10627 18.9039 6.3916 18.5519 6.3916H2.75992Z" fill="currentColor"></path>
<path d="M23.4559 12.0668H22.5412C21.2052 12.0668 19.7092 10.8668 19.7092 10.8668C19.4212 10.6615 18.9572 10.6669 18.6692 10.8668C18.6692 10.8668 17.1732 12.0668 15.8372 12.0668H14.9225C14.6879 12.0668 14.4985 12.2588 14.4985 12.4935V16.7842C14.4985 17.2535 14.7972 17.8722 15.1652 18.1655L18.5225 20.8242C18.8905 21.1149 19.4879 21.1149 19.8586 20.8242L23.2159 18.1655C23.5839 17.8749 23.8826 17.2562 23.8826 16.7842V12.4935C23.8826 12.2588 23.6906 12.0668 23.4559 12.0668ZM21.3386 14.7922L19.3866 17.2748C19.0026 17.7655 18.3199 17.7788 17.9172 17.3068L17.0532 16.2988C16.8986 16.1202 16.9199 15.8508 17.0986 15.6961C17.2772 15.5415 17.5466 15.5628 17.7012 15.7415L18.5652 16.7495C18.6186 16.8135 18.6639 16.8135 18.7172 16.7442L20.6692 14.2615C20.8159 14.0775 21.0826 14.0428 21.2692 14.1895C21.4506 14.3388 21.4826 14.6082 21.3386 14.7922Z" fill="currentColor"></path>
</g>
<defs>
<clippath id="clip0_2533_19421">
<rect width="24" height="24" fill="currentColor"></rect>
</clippath>
</defs>
</svg>
</div>
<div spz-if="${(item.type == 'privacy_setting')}">
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" fill="currentColor" class="icon_title_trust scale-125"><path fill="currentColor" d="M19.505 15.49h-3.174a.712.712 0 0 1-.082-.338v-.675c0-.322.199-.584.444-.584h1.05c.243 0 .441.26.441.582 0 .254.157.46.352.46.194 0 .351-.206.351-.46 0-.83-.512-1.504-1.143-1.504h-1.051c-.632 0-1.145.675-1.145 1.506v.675c0 .114.01.227.032.338h-1.138a.674.674 0 0 0-.66.685v4.614c0 .378.295.685.66.685h5.063c.364 0 .66-.307.66-.685v-4.614a.672.672 0 0 0-.66-.685m-2.193 2.994v1.864a.272.272 0 1 1-.543 0v-1.864a.9.9 0 0 1-.6-.86c0-.499.39-.903.872-.903.481 0 .872.404.872.904 0 .4-.252.74-.601.859m3.6-1.075v3.663a.794.794 0 0 1-.329.643h1.097c0-1.546-.127-3.008-.769-4.306"></path><path fill="currentColor" d="M16.905 7.214a4.863 4.863 0 0 0-5.79-4.773A4.81 4.81 0 0 0 7.26 6.366a4.863 4.863 0 0 0 3.817 5.61.03.03 0 0 1 .016.05.03.03 0 0 1-.02.008c-4.915.477-8.76 4.613-8.775 9.65a.03.03 0 0 0 .03.03h10.978c.027 0-.124-.033-.144-.051-.162-.146-.334-.356-.334-.591l.07-5.33a.825.825 0 0 1 .826-.825h1.203a.03.03 0 0 0 .03-.034c-.047-.281-.07-1.728.574-2.141a.03.03 0 0 0 .014-.029.03.03 0 0 0-.02-.025c-.782-.287-1.645-.534-2.568-.641a.03.03 0 0 1-.002-.06 4.861 4.861 0 0 0 3.95-4.773"></path></svg>
</div>
<div spz-if="${(item.type == 'logitics_setting')}">
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" fill="currentColor" class="icon_title_trust scale-125"><path fill="currentColor" d="M10.469 5.344c.094.375.187.75.187 1.125 0 .656-.094 1.218-.375 1.687-.281.563-.562 1.031-.937 1.406-.375.376-.844.75-1.406.938-.563.188-1.125.375-1.688.375-.656 0-1.219-.094-1.687-.375-.563-.187-1.032-.562-1.407-.937-.375-.376-.75-.844-.937-1.407-.281-.562-.375-1.125-.375-1.687V6.28c-.375.282-.469.563-.657.844A3.37 3.37 0 0 0 1 8.156V19.22c0 .281.094.468.188.656.187.188.375.188.562.188h.469c0-.938.187-1.594.656-2.063.469-.469 1.125-.656 1.969-.656.937 0 1.593.281 1.968.75.47.468.657 1.125.657 1.968h5.812c.188 0 .375-.093.563-.187.187-.187.281-.375.281-.562V5.53h-3.656z"></path><path fill="currentColor" d="M5.031 18.656c-.375 0-.75.094-.937.375-.282.282-.375.563-.375.938s.094.656.375.937c.281.282.562.375.937.375s.75-.093.938-.375c.281-.281.375-.562.375-.937s-.094-.75-.375-.938c-.282-.187-.563-.375-.938-.375m14.532.094c.375 0 .656.094.937.375s.375.563.375.938-.094.75-.375.937c-.281.281-.562.375-.937.375s-.75-.094-.938-.375c-.281-.281-.375-.562-.375-.937s.094-.657.375-.938c.281-.281.563-.375.938-.375"></path><path fill="currentColor" d="M23.406 15c-.093-.844-.281-1.594-.562-2.437a8 8 0 0 0-1.219-2.344A3.994 3.994 0 0 0 20.5 9.188c-.469-.282-.937-.563-1.406-.75-.469-.188-1.032-.282-1.5-.376-.469-.093-1.032-.093-1.5-.093-.188 0-.282.093-.375.375-.094.187-.188.375-.188.562v10.219c0 .281.094.469.281.656a.851.851 0 0 0 .657.282h.375c0-.375.093-.657.187-1.032.094-.281.282-.562.563-.843.187-.282.468-.47.843-.563.282-.187.657-.187 1.032-.187s.75.093 1.031.187c.375.094.656.281.844.469.281.187.468.468.562.843.188.375.188.75.188 1.22h.843c.094 0 .188 0 .188-.095.094-.093.094-.187.094-.28 0-.095.093-.282.093-.376v-1.968c.282-.844.188-1.594.094-2.438m-1.687-.281h-4.407c-.093 0-.187-.094-.28-.188-.095-.094-.188-.187-.188-.281v-3.844c0-.187.093-.281.187-.469a.716.716 0 0 1 .469-.187h1.031c.282 0 .563.094.938.188.281.093.656.28.937.562.469.469.75 1.031.938 1.688.187.656.375 1.312.468 1.968v.188c.094.281 0 .375-.093.375M6.156 3C4.188 3 2.594 4.594 2.594 6.469c0 1.968 1.594 3.468 3.562 3.468A3.46 3.46 0 0 0 9.625 6.47 3.46 3.46 0 0 0 6.156 3m1.688 3.188-2.25 1.968-1.219-1.125V5.72l1.219 1.125 2.25-2.063z"></path></svg>
</div>
<div spz-if="${(item.type == 'customer_setting')}">
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" fill="currentColor" class="icon_title_trust scale-125"><path fill="currentColor" d="M11.966 4.548c-3.109 0-5.628 2.467-5.628 5.51 0 3.044 2.52 5.51 5.628 5.51 3.109 0 5.628-2.466 5.628-5.51 0-3.043-2.52-5.51-5.628-5.51m-6.5 7.626V7.087a2.69 2.69 0 0 0-.21.008c1.153-2.504 3.721-4.247 6.71-4.247 2.99 0 5.559 1.743 6.712 4.247a2.677 2.677 0 0 0-.212-.008v5.087c1.436 0 2.6-1.14 2.6-2.544 0-.954-.537-1.785-1.33-2.22C18.616 4.26 15.565 2 11.965 2c-3.599 0-6.65 2.261-7.768 5.41a2.534 2.534 0 0 0-1.331 2.22c0 1.405 1.163 2.544 2.6 2.544m12.116 2.916a8.3 8.3 0 0 1-5.616 2.167 8.3 8.3 0 0 1-5.608-2.16C3.728 16.424 2 18.783 2 21.987h20c0-3.21-1.76-5.572-4.418-6.896"></path></svg>
</div>
</div>
<div spz-else>
<ljs-img class="trust-thumbnail-img" width="30" height="30" layout="fixed" src="//cdn.shoplazza.com/${item.icon}" object-fit="contain" alt="trust-img"></ljs-img>
</div>
<div class="trust-thumbnail-desc-title">${item.title}</div>
</div>
</div>
</div>
<div id="trust-open-card" class="trust-open-card trust-card-border">
<div id="trust-card-desc-block-1539149753700-${index}" class="trust-card-desc-block" spz-for="(item,index) in data.originData.module_settings" key="item.type">
<div class="trust-card-desc-title">
<div spz-if="${item.icon_type === 'default'&&item.type == 'payment_setting'}">
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewbox="0 0 24 24" fill="currentColor" class="icon_title_trust">
<g clip-path="url(#clip0_2533_19421)">
<path d="M18.5653 9.98893C18.8533 9.78627 19.3146 9.78359 19.6026 9.98893C19.6026 9.98893 20.3706 10.6023 21.3253 11.0103V3.61827C21.3253 3.26094 21.0399 2.97559 20.6879 2.97559H0.626594C0.274586 2.97559 -0.0107422 3.26359 -0.0107422 3.61827V17.2689C-0.0107422 17.6263 0.274586 17.9116 0.626594 17.9116H14.1626C13.9279 17.5516 13.8533 17.0343 13.8533 16.6209V11.5543C13.8533 11.3169 14.0373 11.1676 14.2666 11.2183C14.2666 11.2183 14.8266 11.3649 15.3466 11.3649C16.8346 11.3649 18.5653 9.98895 18.5653 9.98895V9.98893ZM7.88259 9.80494H2.76259C2.40791 9.80494 2.12259 9.51694 2.12259 9.16494C2.12259 8.81026 2.41059 8.52493 2.76259 8.52493H7.88259C8.23727 8.52493 8.52259 8.81293 8.52259 9.16494C8.52259 9.51694 8.23459 9.80494 7.88259 9.80494ZM2.75992 6.3916C2.40791 6.3916 2.12259 6.1036 2.12259 5.75159C2.12259 5.39691 2.40791 5.11159 2.75992 5.11159H18.5519C18.9039 5.11159 19.1893 5.39959 19.1893 5.75159C19.1893 6.10627 18.9039 6.3916 18.5519 6.3916H2.75992Z" fill="currentColor"></path>
<path d="M23.4559 12.0668H22.5412C21.2052 12.0668 19.7092 10.8668 19.7092 10.8668C19.4212 10.6615 18.9572 10.6669 18.6692 10.8668C18.6692 10.8668 17.1732 12.0668 15.8372 12.0668H14.9225C14.6879 12.0668 14.4985 12.2588 14.4985 12.4935V16.7842C14.4985 17.2535 14.7972 17.8722 15.1652 18.1655L18.5225 20.8242C18.8905 21.1149 19.4879 21.1149 19.8586 20.8242L23.2159 18.1655C23.5839 17.8749 23.8826 17.2562 23.8826 16.7842V12.4935C23.8826 12.2588 23.6906 12.0668 23.4559 12.0668ZM21.3386 14.7922L19.3866 17.2748C19.0026 17.7655 18.3199 17.7788 17.9172 17.3068L17.0532 16.2988C16.8986 16.1202 16.9199 15.8508 17.0986 15.6961C17.2772 15.5415 17.5466 15.5628 17.7012 15.7415L18.5652 16.7495C18.6186 16.8135 18.6639 16.8135 18.7172 16.7442L20.6692 14.2615C20.8159 14.0775 21.0826 14.0428 21.2692 14.1895C21.4506 14.3388 21.4826 14.6082 21.3386 14.7922Z" fill="currentColor"></path>
</g>
<defs>
<clippath id="clip0_2533_19421">
<rect width="24" height="24" fill="currentColor"></rect>
</clippath>
</defs>
</svg>
</div>
<div spz-if="${item.icon_type === 'default'&&item.type == 'privacy_setting'}">
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" fill="currentColor" class="icon_title_trust"><path fill="currentColor" d="M19.505 15.49h-3.174a.712.712 0 0 1-.082-.338v-.675c0-.322.199-.584.444-.584h1.05c.243 0 .441.26.441.582 0 .254.157.46.352.46.194 0 .351-.206.351-.46 0-.83-.512-1.504-1.143-1.504h-1.051c-.632 0-1.145.675-1.145 1.506v.675c0 .114.01.227.032.338h-1.138a.674.674 0 0 0-.66.685v4.614c0 .378.295.685.66.685h5.063c.364 0 .66-.307.66-.685v-4.614a.672.672 0 0 0-.66-.685m-2.193 2.994v1.864a.272.272 0 1 1-.543 0v-1.864a.9.9 0 0 1-.6-.86c0-.499.39-.903.872-.903.481 0 .872.404.872.904 0 .4-.252.74-.601.859m3.6-1.075v3.663a.794.794 0 0 1-.329.643h1.097c0-1.546-.127-3.008-.769-4.306"></path><path fill="currentColor" d="M16.905 7.214a4.863 4.863 0 0 0-5.79-4.773A4.81 4.81 0 0 0 7.26 6.366a4.863 4.863 0 0 0 3.817 5.61.03.03 0 0 1 .016.05.03.03 0 0 1-.02.008c-4.915.477-8.76 4.613-8.775 9.65a.03.03 0 0 0 .03.03h10.978c.027 0-.124-.033-.144-.051-.162-.146-.334-.356-.334-.591l.07-5.33a.825.825 0 0 1 .826-.825h1.203a.03.03 0 0 0 .03-.034c-.047-.281-.07-1.728.574-2.141a.03.03 0 0 0 .014-.029.03.03 0 0 0-.02-.025c-.782-.287-1.645-.534-2.568-.641a.03.03 0 0 1-.002-.06 4.861 4.861 0 0 0 3.95-4.773"></path></svg>
</div>
<div spz-if="${item.icon_type === 'default'&&item.type == 'logitics_setting'}">
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" fill="currentColor" class="icon_title_trust"><path fill="currentColor" d="M10.469 5.344c.094.375.187.75.187 1.125 0 .656-.094 1.218-.375 1.687-.281.563-.562 1.031-.937 1.406-.375.376-.844.75-1.406.938-.563.188-1.125.375-1.688.375-.656 0-1.219-.094-1.687-.375-.563-.187-1.032-.562-1.407-.937-.375-.376-.75-.844-.937-1.407-.281-.562-.375-1.125-.375-1.687V6.28c-.375.282-.469.563-.657.844A3.37 3.37 0 0 0 1 8.156V19.22c0 .281.094.468.188.656.187.188.375.188.562.188h.469c0-.938.187-1.594.656-2.063.469-.469 1.125-.656 1.969-.656.937 0 1.593.281 1.968.75.47.468.657 1.125.657 1.968h5.812c.188 0 .375-.093.563-.187.187-.187.281-.375.281-.562V5.53h-3.656z"></path><path fill="currentColor" d="M5.031 18.656c-.375 0-.75.094-.937.375-.282.282-.375.563-.375.938s.094.656.375.937c.281.282.562.375.937.375s.75-.093.938-.375c.281-.281.375-.562.375-.937s-.094-.75-.375-.938c-.282-.187-.563-.375-.938-.375m14.532.094c.375 0 .656.094.937.375s.375.563.375.938-.094.75-.375.937c-.281.281-.562.375-.937.375s-.75-.094-.938-.375c-.281-.281-.375-.562-.375-.937s.094-.657.375-.938c.281-.281.563-.375.938-.375"></path><path fill="currentColor" d="M23.406 15c-.093-.844-.281-1.594-.562-2.437a8 8 0 0 0-1.219-2.344A3.994 3.994 0 0 0 20.5 9.188c-.469-.282-.937-.563-1.406-.75-.469-.188-1.032-.282-1.5-.376-.469-.093-1.032-.093-1.5-.093-.188 0-.282.093-.375.375-.094.187-.188.375-.188.562v10.219c0 .281.094.469.281.656a.851.851 0 0 0 .657.282h.375c0-.375.093-.657.187-1.032.094-.281.282-.562.563-.843.187-.282.468-.47.843-.563.282-.187.657-.187 1.032-.187s.75.093 1.031.187c.375.094.656.281.844.469.281.187.468.468.562.843.188.375.188.75.188 1.22h.843c.094 0 .188 0 .188-.095.094-.093.094-.187.094-.28 0-.095.093-.282.093-.376v-1.968c.282-.844.188-1.594.094-2.438m-1.687-.281h-4.407c-.093 0-.187-.094-.28-.188-.095-.094-.188-.187-.188-.281v-3.844c0-.187.093-.281.187-.469a.716.716 0 0 1 .469-.187h1.031c.282 0 .563.094.938.188.281.093.656.28.937.562.469.469.75 1.031.938 1.688.187.656.375 1.312.468 1.968v.188c.094.281 0 .375-.093.375M6.156 3C4.188 3 2.594 4.594 2.594 6.469c0 1.968 1.594 3.468 3.562 3.468A3.46 3.46 0 0 0 9.625 6.47 3.46 3.46 0 0 0 6.156 3m1.688 3.188-2.25 1.968-1.219-1.125V5.72l1.219 1.125 2.25-2.063z"></path></svg>
</div>
<div spz-if="${item.icon_type === 'default'&&item.type == 'customer_setting'}">
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" fill="currentColor" class="icon_title_trust"><path fill="currentColor" d="M11.966 4.548c-3.109 0-5.628 2.467-5.628 5.51 0 3.044 2.52 5.51 5.628 5.51 3.109 0 5.628-2.466 5.628-5.51 0-3.043-2.52-5.51-5.628-5.51m-6.5 7.626V7.087a2.69 2.69 0 0 0-.21.008c1.153-2.504 3.721-4.247 6.71-4.247 2.99 0 5.559 1.743 6.712 4.247a2.677 2.677 0 0 0-.212-.008v5.087c1.436 0 2.6-1.14 2.6-2.544 0-.954-.537-1.785-1.33-2.22C18.616 4.26 15.565 2 11.965 2c-3.599 0-6.65 2.261-7.768 5.41a2.534 2.534 0 0 0-1.331 2.22c0 1.405 1.163 2.544 2.6 2.544m12.116 2.916a8.3 8.3 0 0 1-5.616 2.167 8.3 8.3 0 0 1-5.608-2.16C3.728 16.424 2 18.783 2 21.987h20c0-3.21-1.76-5.572-4.418-6.896"></path></svg>
</div>
<div spz-if="${item.icon_type === 'custom'}">
<ljs-img class="trust-thumbnail-img" width="24" height="24" layout="fixed" src="//cdn.shoplazza.com/${item.icon}" object-fit="contain" alt="trust-img"></ljs-img>
</div>
<span class="trust-thumbnail-title">${item.title}</span>
</div>
<div class="trust-card-desc-text">
${item.content.replaceAll("{store_name}","AngleFaceUS")}
</div>
<div spz-if="${item.logos.length > 0&&item.logos_type=='default' }" class="trust-card-desc-img">
<ljs-img spz-for="(logo,index) in item.logos" key="index" width="55" height="35" class="icon-trust-block" layout="fixed" src="//cdn.shoplazza.com/${logo}" object-fit="contain" alt="trust-img"></ljs-img>
</div>
<div spz-if="${item.logos.length > 0&&item.logos_type=='custom' }" class="trust-card-desc-img-custom">
<ljs-img spz-for="(logo,index) in item.logos" key="index" width="${logo.width}" height="${logo.height}" class="icon-trust-block-custom" layout="responsive" src="//cdn.shoplazza.com/${logo.path}" object-fit="contain" auto-fit alt="image"></ljs-img>
</div>
</div>
</div>
</section>
</ljs-accordion>
</div>
<div class="plugin-strengthen-trust-1539149753700-wrap lg:hidden
">
<div spz-if="${!data.other_enabled}" class="store-open-trust-tips">
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewbox="0 0 16 16" fill="none">
<g clip-path="url(#clip0_2160_10007)">
<path d="M8.92398 8.53999C8.924 8.66134 8.90011 8.7815 8.85368 8.89362C8.80725 9.00574 8.7392 9.10761 8.6534 9.19342C8.5676 9.27923 8.46573 9.3473 8.35362 9.39375C8.24151 9.44019 8.12135 9.46409 8 9.46409C7.87865 9.46409 7.75849 9.44019 7.64638 9.39375C7.53427 9.3473 7.43241 9.27923 7.3466 9.19342C7.2608 9.10761 7.19275 9.00574 7.14632 8.89362C7.09989 8.7815 7.076 8.66134 7.07602 8.53999V4.23208C7.076 4.11073 7.09989 3.99056 7.14632 3.87845C7.19275 3.76633 7.2608 3.66446 7.3466 3.57865C7.43241 3.49283 7.53427 3.42476 7.64638 3.37832C7.75849 3.33188 7.87865 3.30798 8 3.30798C8.12135 3.30798 8.24151 3.33188 8.35362 3.37832C8.46573 3.42476 8.5676 3.49283 8.6534 3.57865C8.7392 3.66446 8.80725 3.76633 8.85368 3.87845C8.90011 3.99056 8.924 4.11073 8.92398 4.23208V8.53999ZM8 12.5399C7.7872 12.5392 7.58121 12.4648 7.41712 12.3293C7.25303 12.1938 7.141 12.0056 7.10009 11.7968C7.05919 11.5879 7.09195 11.3714 7.1928 11.184C7.29365 10.9966 7.45634 10.8499 7.65317 10.769C7.84999 10.6881 8.06878 10.678 8.27226 10.7403C8.47574 10.8026 8.65133 10.9335 8.76912 11.1107C8.88691 11.2879 8.93962 11.5005 8.91826 11.7123C8.8969 11.924 8.8028 12.1218 8.65199 12.2719C8.56722 12.3585 8.46569 12.427 8.35359 12.4731C8.24149 12.5191 8.12118 12.5419 8 12.5399ZM8 0.000162657C6.92965 -0.00673195 5.86922 0.205626 4.88406 0.62415C2.96107 1.43154 1.43154 2.96107 0.62415 4.88406C0.205626 5.86922 -0.00673195 6.92965 0.000162657 8C-0.00673195 9.07035 0.205626 10.1308 0.62415 11.1159C1.43154 13.0389 2.96107 14.5685 4.88406 15.3759C5.86922 15.7944 6.92965 16.0067 8 15.9998C9.07035 16.0067 10.1308 15.7944 11.1159 15.3759C13.0389 14.5685 14.5685 13.0389 15.3759 11.1159C15.7944 10.1308 16.0067 9.07035 15.9998 8C16.0067 6.92965 15.7944 5.86922 15.3759 4.88406C14.5685 2.96107 13.0389 1.43154 11.1159 0.62415C10.1308 0.205626 9.07035 -0.00673195 8 0.000162657Z" fill="#FF7979"></path>
</g>
<defs>
<clippath id="clip0_2160_10007">
<rect width="16" height="16" fill="white"></rect>
</clippath>
</defs>
</svg>
<span class="tips-text">
To display this card to customers, you need to go to "Booster & Store Conversion" to turn on the trust enhancement feature.
</span>
</div>
<div class="trust-card-block" layout="container">
<div class="trust-accordion-header">
<div class="trust-title-block">
<svg class="icon_security_trust" xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewbox="0 0 20 20" fill="currentColor">
<path fill-rule="evenodd" clip-rule="evenodd" d="M9.99932 0C10.5736 0 11.1307 0.184885 11.5792 0.524258L12.0909 0.911325C13.4831 1.96508 15.0052 2.85514 16.6239 3.56198L17.9248 4.13095C18.3719 4.32298 18.7485 4.63668 19.0065 5.03203C19.2644 5.42739 19.3921 5.88649 19.3732 6.35077C18.9684 14.8758 13.0391 18.7013 11.0849 19.7312C10.4069 20.0896 9.59169 20.0896 8.91232 19.7312C6.95805 18.7 1.03164 14.8731 0.626913 6.32479C0.607503 5.85814 0.736181 5.39668 0.996373 4.99983C1.25657 4.60299 1.63636 4.28894 2.08683 4.09813L3.31114 3.57292C4.97349 2.85777 6.53548 1.94994 7.96121 0.870293L8.41942 0.524258C8.86789 0.184885 9.42506 0 9.99932 0ZM7.19446 9.35226C7.43734 9.34797 7.67239 9.43812 7.85011 9.60372L9.12261 10.875L12.1639 7.83623C12.3416 7.67063 12.5766 7.58047 12.8195 7.58476C13.0624 7.58904 13.2941 7.68743 13.4659 7.8592C13.6377 8.03096 13.736 8.2627 13.7403 8.50557C13.7446 8.74845 13.6545 8.98351 13.4889 9.16123L9.78511 12.8637C9.60933 13.0393 9.37105 13.1379 9.12261 13.1379C8.87418 13.1379 8.63589 13.0393 8.46011 12.8637L6.52511 10.9287C6.35951 10.751 6.26936 10.5159 6.27364 10.2731C6.27793 10.0302 6.37632 9.79846 6.54809 9.6267C6.71985 9.45493 6.95158 9.35654 7.19446 9.35226Z" fill="currentColor"></path>
</svg>
<span class="trust-title">${data.module_title}</span>
</div>
<div class="trust-thumbnail-desc trust-card-border">
<div class="trust-thumbnail-desc-item" spz-for="(item,index) in data.module_settings" key="item.type" @tap="trust-sidebar-1539149753700.open;sidebar-scroll-1539149753700.setTarget(containerId='sidebar-bottom-content-1539149753700', targetId='trust-card-desc-block-1539149753700-${index}');strengthen-trust-render-script-1539149753700.track(type='trust_expand_click');">
<div spz-if="${(item.icon_type === 'default')}">
<div spz-if="${(item.type == 'payment_setting')}">
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewbox="0 0 24 24" fill="currentColor" class="icon_title_trust">
<g clip-path="url(#clip0_2533_19421)">
<path d="M18.5653 9.98893C18.8533 9.78627 19.3146 9.78359 19.6026 9.98893C19.6026 9.98893 20.3706 10.6023 21.3253 11.0103V3.61827C21.3253 3.26094 21.0399 2.97559 20.6879 2.97559H0.626594C0.274586 2.97559 -0.0107422 3.26359 -0.0107422 3.61827V17.2689C-0.0107422 17.6263 0.274586 17.9116 0.626594 17.9116H14.1626C13.9279 17.5516 13.8533 17.0343 13.8533 16.6209V11.5543C13.8533 11.3169 14.0373 11.1676 14.2666 11.2183C14.2666 11.2183 14.8266 11.3649 15.3466 11.3649C16.8346 11.3649 18.5653 9.98895 18.5653 9.98895V9.98893ZM7.88259 9.80494H2.76259C2.40791 9.80494 2.12259 9.51694 2.12259 9.16494C2.12259 8.81026 2.41059 8.52493 2.76259 8.52493H7.88259C8.23727 8.52493 8.52259 8.81293 8.52259 9.16494C8.52259 9.51694 8.23459 9.80494 7.88259 9.80494ZM2.75992 6.3916C2.40791 6.3916 2.12259 6.1036 2.12259 5.75159C2.12259 5.39691 2.40791 5.11159 2.75992 5.11159H18.5519C18.9039 5.11159 19.1893 5.39959 19.1893 5.75159C19.1893 6.10627 18.9039 6.3916 18.5519 6.3916H2.75992Z" fill="currentColor"></path>
<path d="M23.4559 12.0668H22.5412C21.2052 12.0668 19.7092 10.8668 19.7092 10.8668C19.4212 10.6615 18.9572 10.6669 18.6692 10.8668C18.6692 10.8668 17.1732 12.0668 15.8372 12.0668H14.9225C14.6879 12.0668 14.4985 12.2588 14.4985 12.4935V16.7842C14.4985 17.2535 14.7972 17.8722 15.1652 18.1655L18.5225 20.8242C18.8905 21.1149 19.4879 21.1149 19.8586 20.8242L23.2159 18.1655C23.5839 17.8749 23.8826 17.2562 23.8826 16.7842V12.4935C23.8826 12.2588 23.6906 12.0668 23.4559 12.0668ZM21.3386 14.7922L19.3866 17.2748C19.0026 17.7655 18.3199 17.7788 17.9172 17.3068L17.0532 16.2988C16.8986 16.1202 16.9199 15.8508 17.0986 15.6961C17.2772 15.5415 17.5466 15.5628 17.7012 15.7415L18.5652 16.7495C18.6186 16.8135 18.6639 16.8135 18.7172 16.7442L20.6692 14.2615C20.8159 14.0775 21.0826 14.0428 21.2692 14.1895C21.4506 14.3388 21.4826 14.6082 21.3386 14.7922Z" fill="currentColor"></path>
</g>
<defs>
<clippath id="clip0_2533_19421">
<rect width="24" height="24" fill="currentColor"></rect>
</clippath>
</defs>
</svg>
</div>
<div spz-if="${(item.type == 'privacy_setting')}">
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" fill="currentColor" class="icon_title_trust"><path fill="currentColor" d="M19.505 15.49h-3.174a.712.712 0 0 1-.082-.338v-.675c0-.322.199-.584.444-.584h1.05c.243 0 .441.26.441.582 0 .254.157.46.352.46.194 0 .351-.206.351-.46 0-.83-.512-1.504-1.143-1.504h-1.051c-.632 0-1.145.675-1.145 1.506v.675c0 .114.01.227.032.338h-1.138a.674.674 0 0 0-.66.685v4.614c0 .378.295.685.66.685h5.063c.364 0 .66-.307.66-.685v-4.614a.672.672 0 0 0-.66-.685m-2.193 2.994v1.864a.272.272 0 1 1-.543 0v-1.864a.9.9 0 0 1-.6-.86c0-.499.39-.903.872-.903.481 0 .872.404.872.904 0 .4-.252.74-.601.859m3.6-1.075v3.663a.794.794 0 0 1-.329.643h1.097c0-1.546-.127-3.008-.769-4.306"></path><path fill="currentColor" d="M16.905 7.214a4.863 4.863 0 0 0-5.79-4.773A4.81 4.81 0 0 0 7.26 6.366a4.863 4.863 0 0 0 3.817 5.61.03.03 0 0 1 .016.05.03.03 0 0 1-.02.008c-4.915.477-8.76 4.613-8.775 9.65a.03.03 0 0 0 .03.03h10.978c.027 0-.124-.033-.144-.051-.162-.146-.334-.356-.334-.591l.07-5.33a.825.825 0 0 1 .826-.825h1.203a.03.03 0 0 0 .03-.034c-.047-.281-.07-1.728.574-2.141a.03.03 0 0 0 .014-.029.03.03 0 0 0-.02-.025c-.782-.287-1.645-.534-2.568-.641a.03.03 0 0 1-.002-.06 4.861 4.861 0 0 0 3.95-4.773"></path></svg>
</div>
<div spz-if="${(item.type == 'logitics_setting')}">
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" fill="currentColor" class="icon_title_trust"><path fill="currentColor" d="M10.469 5.344c.094.375.187.75.187 1.125 0 .656-.094 1.218-.375 1.687-.281.563-.562 1.031-.937 1.406-.375.376-.844.75-1.406.938-.563.188-1.125.375-1.688.375-.656 0-1.219-.094-1.687-.375-.563-.187-1.032-.562-1.407-.937-.375-.376-.75-.844-.937-1.407-.281-.562-.375-1.125-.375-1.687V6.28c-.375.282-.469.563-.657.844A3.37 3.37 0 0 0 1 8.156V19.22c0 .281.094.468.188.656.187.188.375.188.562.188h.469c0-.938.187-1.594.656-2.063.469-.469 1.125-.656 1.969-.656.937 0 1.593.281 1.968.75.47.468.657 1.125.657 1.968h5.812c.188 0 .375-.093.563-.187.187-.187.281-.375.281-.562V5.53h-3.656z"></path><path fill="currentColor" d="M5.031 18.656c-.375 0-.75.094-.937.375-.282.282-.375.563-.375.938s.094.656.375.937c.281.282.562.375.937.375s.75-.093.938-.375c.281-.281.375-.562.375-.937s-.094-.75-.375-.938c-.282-.187-.563-.375-.938-.375m14.532.094c.375 0 .656.094.937.375s.375.563.375.938-.094.75-.375.937c-.281.281-.562.375-.937.375s-.75-.094-.938-.375c-.281-.281-.375-.562-.375-.937s.094-.657.375-.938c.281-.281.563-.375.938-.375"></path><path fill="currentColor" d="M23.406 15c-.093-.844-.281-1.594-.562-2.437a8 8 0 0 0-1.219-2.344A3.994 3.994 0 0 0 20.5 9.188c-.469-.282-.937-.563-1.406-.75-.469-.188-1.032-.282-1.5-.376-.469-.093-1.032-.093-1.5-.093-.188 0-.282.093-.375.375-.094.187-.188.375-.188.562v10.219c0 .281.094.469.281.656a.851.851 0 0 0 .657.282h.375c0-.375.093-.657.187-1.032.094-.281.282-.562.563-.843.187-.282.468-.47.843-.563.282-.187.657-.187 1.032-.187s.75.093 1.031.187c.375.094.656.281.844.469.281.187.468.468.562.843.188.375.188.75.188 1.22h.843c.094 0 .188 0 .188-.095.094-.093.094-.187.094-.28 0-.095.093-.282.093-.376v-1.968c.282-.844.188-1.594.094-2.438m-1.687-.281h-4.407c-.093 0-.187-.094-.28-.188-.095-.094-.188-.187-.188-.281v-3.844c0-.187.093-.281.187-.469a.716.716 0 0 1 .469-.187h1.031c.282 0 .563.094.938.188.281.093.656.28.937.562.469.469.75 1.031.938 1.688.187.656.375 1.312.468 1.968v.188c.094.281 0 .375-.093.375M6.156 3C4.188 3 2.594 4.594 2.594 6.469c0 1.968 1.594 3.468 3.562 3.468A3.46 3.46 0 0 0 9.625 6.47 3.46 3.46 0 0 0 6.156 3m1.688 3.188-2.25 1.968-1.219-1.125V5.72l1.219 1.125 2.25-2.063z"></path></svg>
</div>
<div spz-if="${(item.type == 'customer_setting')}">
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" fill="currentColor" class="icon_title_trust"><path fill="currentColor" d="M11.966 4.548c-3.109 0-5.628 2.467-5.628 5.51 0 3.044 2.52 5.51 5.628 5.51 3.109 0 5.628-2.466 5.628-5.51 0-3.043-2.52-5.51-5.628-5.51m-6.5 7.626V7.087a2.69 2.69 0 0 0-.21.008c1.153-2.504 3.721-4.247 6.71-4.247 2.99 0 5.559 1.743 6.712 4.247a2.677 2.677 0 0 0-.212-.008v5.087c1.436 0 2.6-1.14 2.6-2.544 0-.954-.537-1.785-1.33-2.22C18.616 4.26 15.565 2 11.965 2c-3.599 0-6.65 2.261-7.768 5.41a2.534 2.534 0 0 0-1.331 2.22c0 1.405 1.163 2.544 2.6 2.544m12.116 2.916a8.3 8.3 0 0 1-5.616 2.167 8.3 8.3 0 0 1-5.608-2.16C3.728 16.424 2 18.783 2 21.987h20c0-3.21-1.76-5.572-4.418-6.896"></path></svg>
</div>
</div>
<div spz-else>
<ljs-img class="trust-thumbnail-img" width="24" height="24" layout="fixed" src="//cdn.shoplazza.com/${item.icon}" object-fit="contain" alt="trust-img"></ljs-img>
</div>
<div class="trust-thumbnail-desc-title">${item.title}</div>
<svg xmlns="http://www.w3.org/2000/svg" class="icon_arrow_right_trust" width="12" height="12" viewbox="0 0 12 12" fill="none">
<path d="M7.62392 6.4489C7.85824 6.21459 7.85824 5.83468 7.62393 5.60037L4.44195 2.41839C4.3248 2.30124 4.13485 2.30124 4.01769 2.41839L3.8692 2.56689C3.75204 2.68404 3.75204 2.87399 3.8692 2.99115L6.90264 6.0246L3.86912 9.05812C3.75196 9.17528 3.75196 9.36523 3.86912 9.48239L4.01761 9.63088C4.13477 9.74804 4.32472 9.74804 4.44187 9.63088L7.62392 6.4489Z" fill="#292929"></path>
</svg>
</div>
</div>
</div>
<spz-custom-anchor-scroll id="sidebar-scroll-1539149753700" layout="logic"></spz-custom-anchor-scroll>
<ljs-sidebar id="trust-sidebar-1539149753700" class="trust-sidebar" layout="nodisplay" side="bottom" disable-unmount @open="sidebar-scroll-1539149753700.scrollToTarget">
<div class="trust-sidebar-cancel trust-card-big-title" @tap="trust-sidebar-1539149753700.close">
<svg class="icon_security_trust" xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewbox="0 0 20 20" fill="currentColor">
<path fill-rule="evenodd" clip-rule="evenodd" d="M9.99932 0C10.5736 0 11.1307 0.184885 11.5792 0.524258L12.0909 0.911325C13.4831 1.96508 15.0052 2.85514 16.6239 3.56198L17.9248 4.13095C18.3719 4.32298 18.7485 4.63668 19.0065 5.03203C19.2644 5.42739 19.3921 5.88649 19.3732 6.35077C18.9684 14.8758 13.0391 18.7013 11.0849 19.7312C10.4069 20.0896 9.59169 20.0896 8.91232 19.7312C6.95805 18.7 1.03164 14.8731 0.626913 6.32479C0.607503 5.85814 0.736181 5.39668 0.996373 4.99983C1.25657 4.60299 1.63636 4.28894 2.08683 4.09813L3.31114 3.57292C4.97349 2.85777 6.53548 1.94994 7.96121 0.870293L8.41942 0.524258C8.86789 0.184885 9.42506 0 9.99932 0ZM7.19446 9.35226C7.43734 9.34797 7.67239 9.43812 7.85011 9.60372L9.12261 10.875L12.1639 7.83623C12.3416 7.67063 12.5766 7.58047 12.8195 7.58476C13.0624 7.58904 13.2941 7.68743 13.4659 7.8592C13.6377 8.03096 13.736 8.2627 13.7403 8.50557C13.7446 8.74845 13.6545 8.98351 13.4889 9.16123L9.78511 12.8637C9.60933 13.0393 9.37105 13.1379 9.12261 13.1379C8.87418 13.1379 8.63589 13.0393 8.46011 12.8637L6.52511 10.9287C6.35951 10.751 6.26936 10.5159 6.27364 10.2731C6.27793 10.0302 6.37632 9.79846 6.54809 9.6267C6.71985 9.45493 6.95158 9.35654 7.19446 9.35226Z" fill="currentColor"></path>
</svg>
<span class="trust-title">${data.module_title}</span>
<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewbox="0 0 20 20" fill="none">
<path fill-rule="evenodd" clip-rule="evenodd" d="M1.93064 17.1473C1.81348 17.2644 1.81348 17.4544 1.93064 17.5715L2.83502 18.4759C2.95217 18.5931 3.14212 18.5931 3.25928 18.4759L9.91177 11.8234L16.6153 18.527C16.7325 18.6442 16.9225 18.6442 17.0396 18.527L17.944 17.6226C18.0611 17.5055 18.0611 17.3155 17.944 17.1984L11.2404 10.4948L17.8929 3.84229C18.0101 3.72513 18.0101 3.53518 17.8929 3.41802L16.9885 2.51365C16.8714 2.39649 16.6814 2.39649 16.5643 2.51365L9.91177 9.16616L3.31035 2.56474C3.19319 2.44758 3.00325 2.44758 2.88609 2.56474L1.98171 3.46911C1.86456 3.58627 1.86456 3.77622 1.98171 3.89337L8.58313 10.4948L1.93064 17.1473Z" fill="#707070"></path>
</svg>
</div>
<div id="sidebar-bottom-content-1539149753700" class="sidebar-bottom-content">
<div id="trust-open-card" class="trust-open-card trust-card-border">
<div id="trust-card-desc-block-1539149753700-${index}" class="trust-card-desc-block" spz-for="(item,index) in data.originData.module_settings" key="item.type">
<div class="trust-card-desc-title">
<div spz-if="${item.icon_type === 'default'&&item.type == 'payment_setting'}">
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewbox="0 0 24 24" fill="currentColor" class="icon_title_trust">
<g clip-path="url(#clip0_2533_19421)">
<path d="M18.5653 9.98893C18.8533 9.78627 19.3146 9.78359 19.6026 9.98893C19.6026 9.98893 20.3706 10.6023 21.3253 11.0103V3.61827C21.3253 3.26094 21.0399 2.97559 20.6879 2.97559H0.626594C0.274586 2.97559 -0.0107422 3.26359 -0.0107422 3.61827V17.2689C-0.0107422 17.6263 0.274586 17.9116 0.626594 17.9116H14.1626C13.9279 17.5516 13.8533 17.0343 13.8533 16.6209V11.5543C13.8533 11.3169 14.0373 11.1676 14.2666 11.2183C14.2666 11.2183 14.8266 11.3649 15.3466 11.3649C16.8346 11.3649 18.5653 9.98895 18.5653 9.98895V9.98893ZM7.88259 9.80494H2.76259C2.40791 9.80494 2.12259 9.51694 2.12259 9.16494C2.12259 8.81026 2.41059 8.52493 2.76259 8.52493H7.88259C8.23727 8.52493 8.52259 8.81293 8.52259 9.16494C8.52259 9.51694 8.23459 9.80494 7.88259 9.80494ZM2.75992 6.3916C2.40791 6.3916 2.12259 6.1036 2.12259 5.75159C2.12259 5.39691 2.40791 5.11159 2.75992 5.11159H18.5519C18.9039 5.11159 19.1893 5.39959 19.1893 5.75159C19.1893 6.10627 18.9039 6.3916 18.5519 6.3916H2.75992Z" fill="currentColor"></path>
<path d="M23.4559 12.0668H22.5412C21.2052 12.0668 19.7092 10.8668 19.7092 10.8668C19.4212 10.6615 18.9572 10.6669 18.6692 10.8668C18.6692 10.8668 17.1732 12.0668 15.8372 12.0668H14.9225C14.6879 12.0668 14.4985 12.2588 14.4985 12.4935V16.7842C14.4985 17.2535 14.7972 17.8722 15.1652 18.1655L18.5225 20.8242C18.8905 21.1149 19.4879 21.1149 19.8586 20.8242L23.2159 18.1655C23.5839 17.8749 23.8826 17.2562 23.8826 16.7842V12.4935C23.8826 12.2588 23.6906 12.0668 23.4559 12.0668ZM21.3386 14.7922L19.3866 17.2748C19.0026 17.7655 18.3199 17.7788 17.9172 17.3068L17.0532 16.2988C16.8986 16.1202 16.9199 15.8508 17.0986 15.6961C17.2772 15.5415 17.5466 15.5628 17.7012 15.7415L18.5652 16.7495C18.6186 16.8135 18.6639 16.8135 18.7172 16.7442L20.6692 14.2615C20.8159 14.0775 21.0826 14.0428 21.2692 14.1895C21.4506 14.3388 21.4826 14.6082 21.3386 14.7922Z" fill="currentColor"></path>
</g>
<defs>
<clippath id="clip0_2533_19421">
<rect width="24" height="24" fill="currentColor"></rect>
</clippath>
</defs>
</svg>
</div>
<div spz-if="${item.icon_type === 'default'&&item.type == 'privacy_setting'}">
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" fill="currentColor" class="icon_title_trust"><path fill="currentColor" d="M19.505 15.49h-3.174a.712.712 0 0 1-.082-.338v-.675c0-.322.199-.584.444-.584h1.05c.243 0 .441.26.441.582 0 .254.157.46.352.46.194 0 .351-.206.351-.46 0-.83-.512-1.504-1.143-1.504h-1.051c-.632 0-1.145.675-1.145 1.506v.675c0 .114.01.227.032.338h-1.138a.674.674 0 0 0-.66.685v4.614c0 .378.295.685.66.685h5.063c.364 0 .66-.307.66-.685v-4.614a.672.672 0 0 0-.66-.685m-2.193 2.994v1.864a.272.272 0 1 1-.543 0v-1.864a.9.9 0 0 1-.6-.86c0-.499.39-.903.872-.903.481 0 .872.404.872.904 0 .4-.252.74-.601.859m3.6-1.075v3.663a.794.794 0 0 1-.329.643h1.097c0-1.546-.127-3.008-.769-4.306"></path><path fill="currentColor" d="M16.905 7.214a4.863 4.863 0 0 0-5.79-4.773A4.81 4.81 0 0 0 7.26 6.366a4.863 4.863 0 0 0 3.817 5.61.03.03 0 0 1 .016.05.03.03 0 0 1-.02.008c-4.915.477-8.76 4.613-8.775 9.65a.03.03 0 0 0 .03.03h10.978c.027 0-.124-.033-.144-.051-.162-.146-.334-.356-.334-.591l.07-5.33a.825.825 0 0 1 .826-.825h1.203a.03.03 0 0 0 .03-.034c-.047-.281-.07-1.728.574-2.141a.03.03 0 0 0 .014-.029.03.03 0 0 0-.02-.025c-.782-.287-1.645-.534-2.568-.641a.03.03 0 0 1-.002-.06 4.861 4.861 0 0 0 3.95-4.773"></path></svg>
</div>
<div spz-if="${item.icon_type === 'default'&&item.type == 'logitics_setting'}">
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" fill="currentColor" class="icon_title_trust"><path fill="currentColor" d="M10.469 5.344c.094.375.187.75.187 1.125 0 .656-.094 1.218-.375 1.687-.281.563-.562 1.031-.937 1.406-.375.376-.844.75-1.406.938-.563.188-1.125.375-1.688.375-.656 0-1.219-.094-1.687-.375-.563-.187-1.032-.562-1.407-.937-.375-.376-.75-.844-.937-1.407-.281-.562-.375-1.125-.375-1.687V6.28c-.375.282-.469.563-.657.844A3.37 3.37 0 0 0 1 8.156V19.22c0 .281.094.468.188.656.187.188.375.188.562.188h.469c0-.938.187-1.594.656-2.063.469-.469 1.125-.656 1.969-.656.937 0 1.593.281 1.968.75.47.468.657 1.125.657 1.968h5.812c.188 0 .375-.093.563-.187.187-.187.281-.375.281-.562V5.53h-3.656z"></path><path fill="currentColor" d="M5.031 18.656c-.375 0-.75.094-.937.375-.282.282-.375.563-.375.938s.094.656.375.937c.281.282.562.375.937.375s.75-.093.938-.375c.281-.281.375-.562.375-.937s-.094-.75-.375-.938c-.282-.187-.563-.375-.938-.375m14.532.094c.375 0 .656.094.937.375s.375.563.375.938-.094.75-.375.937c-.281.281-.562.375-.937.375s-.75-.094-.938-.375c-.281-.281-.375-.562-.375-.937s.094-.657.375-.938c.281-.281.563-.375.938-.375"></path><path fill="currentColor" d="M23.406 15c-.093-.844-.281-1.594-.562-2.437a8 8 0 0 0-1.219-2.344A3.994 3.994 0 0 0 20.5 9.188c-.469-.282-.937-.563-1.406-.75-.469-.188-1.032-.282-1.5-.376-.469-.093-1.032-.093-1.5-.093-.188 0-.282.093-.375.375-.094.187-.188.375-.188.562v10.219c0 .281.094.469.281.656a.851.851 0 0 0 .657.282h.375c0-.375.093-.657.187-1.032.094-.281.282-.562.563-.843.187-.282.468-.47.843-.563.282-.187.657-.187 1.032-.187s.75.093 1.031.187c.375.094.656.281.844.469.281.187.468.468.562.843.188.375.188.75.188 1.22h.843c.094 0 .188 0 .188-.095.094-.093.094-.187.094-.28 0-.095.093-.282.093-.376v-1.968c.282-.844.188-1.594.094-2.438m-1.687-.281h-4.407c-.093 0-.187-.094-.28-.188-.095-.094-.188-.187-.188-.281v-3.844c0-.187.093-.281.187-.469a.716.716 0 0 1 .469-.187h1.031c.282 0 .563.094.938.188.281.093.656.28.937.562.469.469.75 1.031.938 1.688.187.656.375 1.312.468 1.968v.188c.094.281 0 .375-.093.375M6.156 3C4.188 3 2.594 4.594 2.594 6.469c0 1.968 1.594 3.468 3.562 3.468A3.46 3.46 0 0 0 9.625 6.47 3.46 3.46 0 0 0 6.156 3m1.688 3.188-2.25 1.968-1.219-1.125V5.72l1.219 1.125 2.25-2.063z"></path></svg>
</div>
<div spz-if="${item.icon_type === 'default'&&item.type == 'customer_setting'}">
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" fill="currentColor" class="icon_title_trust"><path fill="currentColor" d="M11.966 4.548c-3.109 0-5.628 2.467-5.628 5.51 0 3.044 2.52 5.51 5.628 5.51 3.109 0 5.628-2.466 5.628-5.51 0-3.043-2.52-5.51-5.628-5.51m-6.5 7.626V7.087a2.69 2.69 0 0 0-.21.008c1.153-2.504 3.721-4.247 6.71-4.247 2.99 0 5.559 1.743 6.712 4.247a2.677 2.677 0 0 0-.212-.008v5.087c1.436 0 2.6-1.14 2.6-2.544 0-.954-.537-1.785-1.33-2.22C18.616 4.26 15.565 2 11.965 2c-3.599 0-6.65 2.261-7.768 5.41a2.534 2.534 0 0 0-1.331 2.22c0 1.405 1.163 2.544 2.6 2.544m12.116 2.916a8.3 8.3 0 0 1-5.616 2.167 8.3 8.3 0 0 1-5.608-2.16C3.728 16.424 2 18.783 2 21.987h20c0-3.21-1.76-5.572-4.418-6.896"></path></svg>
</div>
<div spz-if="${item.icon_type === 'custom'}">
<ljs-img class="trust-thumbnail-img" width="24" height="24" layout="fixed" src="//cdn.shoplazza.com/${item.icon}" object-fit="contain" alt="trust-img"></ljs-img>
</div>
<span class="trust-thumbnail-title">${item.title}</span>
</div>
<div class="trust-card-desc-text">
${item.content.replaceAll("{store_name}","AngleFaceUS")}
</div>
<div spz-if="${item.logos.length > 0&&item.logos_type=='default' }" class="trust-card-desc-img">
<ljs-img spz-for="(logo,index) in item.logos" key="index" width="55" height="35" class="icon-trust-block" layout="fixed" src="//cdn.shoplazza.com/${logo}" object-fit="contain" alt="trust-img"></ljs-img>
</div>
<div spz-if="${item.logos.length > 0&&item.logos_type=='custom' }" class="trust-card-desc-img-custom">
<ljs-img spz-for="(logo,index) in item.logos" key="index" width="${logo.width}" height="${logo.height}" class="icon-trust-block-custom" layout="responsive" src="//cdn.shoplazza.com/${logo.path}" object-fit="contain" auto-fit alt="image"></ljs-img>
</div>
</div>
</div>
</div>
</ljs-sidebar>
</div>
</div>
</div>
</template>
</ljs-render>
</div>
<div class="plugin__buy_on_others empty-hidden"></div>
</form>
</spz-product-form>
</div>
<div class="page-container pt-6 lg:pt-8 empty-hidden plugin__bundle-combination" data-type="normal"></div>
</div><script>try { if (window.performance || window.webkitPerformance) { var perf = window.performance || window.webkitPerformance;var timing = perf.timing;window.firstTiming = Date.now() - timing.navigationStart;}}catch(e){}</script><div id="shoplaza-section-1634491726560" class="shoplaza-section mt-6 lg:mt-15" data-section-id="1634491726560" data-section-type="product_description" data-section-style="">
<style>
.product-desc-container > section::before {
content: '';
position: absolute;
left: 0;
right: 0;
bottom: 0;
width: 100%;
height: 1px;
background-color: #E6E6E6;
}
.product-desc-item-header {
padding: 16px;
user-select: none;
transition: background-color .2s cubic-bezier(0.445, 0.05, 0.55, 0.95);
}
.product-desc-item-header:hover,
.product-desc-item-header:active {
background-color: #F6F6F6;
}
.product-desc-item-header svg {
transition: transform .2s cubic-bezier(0.39, 0.575, 0.565, 1);
}
.product-desc-container > section[expanded] .product-desc-item-header svg {
transform: rotate(-180deg);
}
.product-desc-item-content {
padding: 8px var(--page-spacing) 16px;
color: var(--color-body-text-60);
}
@media (max-width: 959.98px) {
.product-desc-container > section::before {
transform: scaleY(.5);
}
}
@media (min-width: 960px) {
.product-desc-container[data-full-width="false"] {
max-width: calc(50% + var(--page-spacing) * 2);
}
.product-desc-item-header {
padding: 20px 12px;
}
.product-desc-item-content {
padding: 8px 12px 20px;
}
}
</style>
<spz-accordion class="product-desc-container lg:page-container i-spzhtml-layout-container" data-full-width="true" layout="container" animate i-spzhtml-layout="container">
<section class="relative" expanded>
<div class="product-desc-item-header flex items-center justify-between">
<h3 class="m-0 mr-4 font-semibold leading-1.25 body-base lg:body-plus-2">Description</h3>
<svg class="flex-shrink-0" xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="none"><path fill="currentColor" d="M7.543 11.306a.6.6 0 0 0 .848 0l4.455-4.454a.3.3 0 0 0 0-.425l-.34-.339a.3.3 0 0 0-.424 0l-4.115 4.115-4.115-4.115a.3.3 0 0 0-.425 0l-.34.34a.3.3 0 0 0 0 .424l4.456 4.454Z"></path></svg>
</div>
<div class="product-desc-item-content mce-content">
<h1 class="a-size-base-plus a-text-bold"><spz-img layout="intrinsic" auto-fit src="https://cdn.shoplazza.com/ddcff105387eed1b49d6974ac5c4a506.jpg" alt="" height="842" width="1176" class="i-spzhtml-layout-intrinsic i-spzhtml-layout-size-defined" i-spzhtml-layout="intrinsic"><i-spzhtml-sizer class="i-spzhtml-sizer" slot="i-spzhtml-svc"><img alt="" role="presentation" aria-hidden="true" class="i-spzhtml-intrinsic-sizer" src="data:image/svg+xml;charset=utf-8,<svg height="842px" width="1176px" xmlns="http://www.w3.org/2000/svg" version="1.1"/>"></i-spzhtml-sizer></spz-img></h1>
<h1 class="a-size-base-plus a-text-bold">About this item</h1>
<ul class="a-unordered-list a-vertical a-spacing-mini">
<li class="a-spacing-mini"><span class="a-list-item">PURE HIMALAYAN SHILAJIT RESIN: shilajit resin sourced from the untouched heights of the Himalayan mountains. It naturally exudes from ancient rocks, guaranteeing unparalleled quality and authenticity. Experience the potency and purity of this ancient Ayurvedic treasure, straight from the Himalayas, for a truly exceptional wellness journey with each drop.</span></li>
<li class="a-spacing-mini"><span class="a-list-item">REVITALISED ENERGY AND VITALITY: Harness the power of our Pure Himalayan shilajit resin for a renewed sense of energy and vitality. Ayurvedic medicine has used its strong powers for ages to boost stamina, promote robust health, and restore your general well-being. Discover the ageless knowledge of this natural energizer with our himalayan shilajit resin.</span></li>
<li class="a-spacing-mini"><span class="a-list-item">NUTRIENT ABSORPTION BOOST: Our Shilajit Pure Himalayan Organic resin is rich in fulvic acid, a natural compound that enhances your body's ability to absorb vital nutrients. It's an ideal addition to your daily health routine for improved nutrient uptake.</span></li>
<li class="a-spacing-mini"><span class="a-list-item">COMPLETE WELLNESS ENHANCEMENT: Better Alt Pure Himalayan Shilajit resin authentically elevates your overall well-being by rejuvenating physical vitality, sharpening mental clarity, and fortifying your immune system. It's an authentic addition to your daily health routine.</span></li>
<li class="a-spacing-mini"><span class="a-list-item">PREMIUM QUALITY & EASY PREPARATION: Our Pure Himalayan shilajit supplement is presented in its pure, minimally processed form, free from heavy metals, fillers, additives, and suitable for vegans. Using the included copper spoon, simply scoop a pea-sized amount and stir it into water or milk until fully dissolved, making it a hassle-free addition to your daily routine. Use it daily for 2-3 months for better results</span></li>
</ul>
<p><spz-img layout="intrinsic" auto-fit src="https://cdn.shoplazza.com/d34d0f21eeb595a30ff54bf757990867.jpeg" alt="" height="2049" width="1000" class="i-spzhtml-layout-intrinsic i-spzhtml-layout-size-defined"></spz-img></p>
<p><span class="a-list-item" style="color: rgb(0, 0, 0);"><strong style="font-family: var(--font-heading-family); font-size: calc(var(--font-heading-scale) * 2.4rem); letter-spacing: calc(var(--font-heading-scale) * var(--font-heading-letter-spacing));"><span style="font-size: 14pt;">365-day money-back guarantee</span><br></strong><span style="background-color: rgb(255, 255, 255); font-family: 'Harmonia Sans', sans-serif; font-size: 16px; letter-spacing: 0.96px;"><span style="background-color: rgb(255, 255, 255); font-family: 'Harmonia Sans', sans-serif; font-size: 16px; letter-spacing: 0.96px;">We offer a 365-day money-back guarantee, allowing you to try our product with complete peace of mind. If, for any reason, you are not satisfied with your purchase within 365 days, simply contact us and we'll issue a full refund, no questions asked.</span></span></span></p>
<p><span class="a-list-item" style="color: rgb(0, 0, 0);"> <spz-img layout="intrinsic" auto-fit src="https://cdn.shoplazza.com/041626cde18ed4440676251851f7e363.jpg" alt="" height="285" width="285" class="i-spzhtml-layout-intrinsic i-spzhtml-layout-size-defined"></spz-img></span></p>
<h3 style="box-sizing: inherit; font-family: var(--font-heading-family); font-weight: var(--font-heading-weight); letter-spacing: calc(var(--font-heading-scale) * var(--font-heading-letter-spacing)); color: rgb(var(--color-foreground)); line-height: calc(1 + var(--font-heading-line-height) / max(1,var(--font-heading-scale))); word-break: break-word; font-size: calc(var(--font-heading-scale) * 1.8rem); background-color: #ffffff;"><span style="box-sizing: inherit; color: rgb(0, 0, 0);"><strong>WHY US?</strong></span></h3>
<p><span style="box-sizing: inherit; color: rgb(0, 0, 0);"><spz-img layout="intrinsic" auto-fit src="https://cdn.shoplazza.com/ba3eb61842f1e8b61c94876dd36d65d8.png" alt="" height="110" width="700" class="i-spzhtml-layout-intrinsic i-spzhtml-layout-size-defined"></spz-img></span></p>
<ul style="box-sizing: inherit; list-style-position: inside; padding-left: 2rem; color: rgba(18, 18, 18, 0.9); font-family: 'Harmonia Sans', sans-serif; font-size: 16px; letter-spacing: 0.96px;">
<li style="box-sizing: inherit; list-style: inherit; color: rgb(0, 0, 0);"><span style="color: rgb(0, 0, 0);">We work directly with manufacturers all over the world to ensure the best quality of our products. We have Quality Control department which help us to keep our promise!</span></li>
<li style="box-sizing: inherit; list-style: inherit; color: rgb(0, 0, 0);"><span style="color: rgb(0, 0, 0);">Price is always competitive.</span></li>
<li style="box-sizing: inherit; list-style: inherit; color: rgb(0, 0, 0);"><span style="color: rgb(0, 0, 0);">Awesome Customer Service</span></li>
<li style="box-sizing: inherit; list-style: inherit; color: rgb(0, 0, 0);"><span style="color: rgb(0, 0, 0);">Amazing products along with High Quality</span></li>
<li style="box-sizing: inherit; list-style: inherit; margin-bottom: 0px; color: rgb(0, 0, 0);"><span style="color: rgb(0, 0, 0);">Read reviews from our lovely customers</span></li>
</ul>
<h3 style="box-sizing: inherit; font-family: var(--font-heading-family); font-style: var(--font-heading-style); font-weight: var(--font-heading-weight); letter-spacing: calc(var(--font-heading-scale) * var(--font-heading-letter-spacing)); color: rgb(var(--color-foreground)); line-height: calc(1 + var(--font-heading-line-height) / max(1,var(--font-heading-scale))); word-break: break-word; font-size: calc(var(--font-heading-scale) * 1.8rem);"><span style="box-sizing: inherit; color: rgb(0, 0, 0);">CLICK ADD TO CART TO ENJOY THE COMFY! </span></h3>
<div style="box-sizing: inherit; color: rgba(18, 18, 18, 0.9); font-family: 'Harmonia Sans', sans-serif; font-size: 16px; letter-spacing: 0.96px;">
<p style="box-sizing: inherit;"><span style="color: rgb(0, 0, 0);">*Limited Items Available In Stock! Not Sold In Stores*</span></p>
<p style="box-sizing: inherit;"><span style="color: rgb(0, 0, 0);">The Checkout Process is Guaranteed to be 100% Safe and Secure with Visa, Mastercard, AMex, Discover, Apple Pay or PayPal.</span></p>
<p style="box-sizing: inherit;"><span style="color: rgb(0, 0, 0);">100% Satisfaction Guaranteed With Every Order</span></p>
<p style="box-sizing: inherit;"><span style="color: rgb(0, 0, 0);"><spz-img layout="intrinsic" auto-fit src="https://cdn.shoplazza.com/3461ebda0f896d6cc195e505e5e57404.jpeg" alt="" height="139" width="480" class="i-spzhtml-layout-intrinsic i-spzhtml-layout-size-defined"></spz-img></span></p>
<p style="box-sizing: inherit;"><span style="color: rgb(0, 0, 0);"><spz-img layout="intrinsic" auto-fit src="https://cdn.shoplazza.com/dff695370a0835249d156b24da971987.jpeg" alt="" height="343" width="480" class="i-spzhtml-layout-intrinsic i-spzhtml-layout-size-defined"></spz-img></span></p>
<h3 style="box-sizing: inherit; font-family: var(--font-heading-family); font-weight: var(--font-heading-weight); letter-spacing: calc(var(--font-heading-scale) * var(--font-heading-letter-spacing)); color: rgb(var(--color-foreground)); line-height: calc(1 + var(--font-heading-line-height) / max(1,var(--font-heading-scale))); word-break: break-word; font-size: calc(var(--font-heading-scale) * 1.8rem); background-color: #ffffff;"><span style="color: rgb(0, 0, 0);"><strong><span style="box-sizing: inherit;">MONEY BACK GUARANTEE</span></strong></span></h3>
<div style="box-sizing: inherit; color: rgba(18, 18, 18, 0.9); font-family: 'Harmonia Sans', sans-serif; font-size: 16px; letter-spacing: 0.96px;">
<div style="box-sizing: inherit; color: rgba(18, 18, 18, 0.9); font-family: 'Harmonia Sans', sans-serif; font-size: 16px; letter-spacing: 0.96px;">
<p style="box-sizing: inherit; letter-spacing: 0.96px;"><span style="color: rgb(0, 0, 0);">We want you to be 100% satisfied with the products you buy from us. If for ANY reason you are not satisfied with your purchase, we offer iron-clad money back guarantee.</span></p>
<p style="box-sizing: inherit; letter-spacing: 0.96px;"><span style="color: rgb(0, 0, 0);"><spz-img layout="intrinsic" auto-fit src="https://cdn.shoplazza.com/7d99cfc7bfb9953c23d3cfbd5b26fab6.png" alt="" height="165" width="1000" style="letter-spacing: 0.96px;" class="i-spzhtml-layout-intrinsic i-spzhtml-layout-size-defined"></spz-img><spz-img layout="intrinsic" auto-fit src="https://cdn.shoplazza.com/061a96433704295ad77eabda64a82d09.png" alt="" height="223" width="1280" class="i-spzhtml-layout-intrinsic i-spzhtml-layout-size-defined"></spz-img></span></p>
<p style="box-sizing: inherit;"><span style="box-sizing: inherit; color: rgb(0, 0, 0);"><strong style="box-sizing: inherit;">⭐I Wish You A Happy Shopping, THANK YOU⭐</strong></span></p>
<p style="box-sizing: inherit;"><span style="box-sizing: inherit;"><span style="color: rgb(0, 0, 0);">Click the 'Add to Cart' and 'Buy Now' button to GET YOURS!</span></span></p>
<p style="box-sizing: inherit;"><span style="box-sizing: inherit;"><spz-img layout="intrinsic" auto-fit src="https://cdn.shoplazza.com/10cddbc98ec73b45b425f77acbacba9e.jpeg" alt="" height="1098" width="750" class="i-spzhtml-layout-intrinsic i-spzhtml-layout-size-defined"></spz-img></span></p>
<p style="box-sizing: inherit;"></p>
</div>
</div>
</div>
</div>
</section>
</spz-accordion>
</div><div id="shoplaza-section-1703249626851" class="shoplaza-section" data-section-id="1703249626851" data-section-type="shoplazza://apps/internal-product-reviews-masonry/blocks/apps_reviews/48597947633379239" data-section-style=""><div class="reviews_wrapper reviews_mobile">
<style>
[data-section-id="1703249626851"] {
--reviews-breakpoint: 960;
--reviews-title-color: rgba(51, 51, 51, 1);
--reviews-sub-title-color: rgba(48, 53, 77, 0.5);
--reviews-text-color: rgba(48, 53, 77, 1);
--reviews-btn-color: rgba(0, 0, 0, 1);
--reviews-reply-color: rgba(126, 132, 156, 1);
--reviews-reply-bg: rgba(248, 248, 247, 1.0);
--reviews-pagination-bg-color: rgba(219, 219, 219, 1);
--reviews-pagination-bg-color-30: rgba(219, 219, 219, 0.3);
--reviews-background-color: rgba(255, 255, 255, 1.0);
--reviews-like-color: rgba(242, 120, 79, 1);
--reviews-like-bg-color: rgba(229, 229, 229, 1);
--reviews-pc-title-size: var(--type-heading-font-size, var(--type_header_base_size, var(--type-card-heading-font-size, var(--font-section-heading-size, var(--font-heading-size, var(--type-title-font-size, 24px))))));
--reviews-mobile-title-size: calc(var(--type-heading-font-size, var(--type_header_base_size, var(--type-card-heading-font-size, var(--font-section-heading-size, var(--font-heading-size, var(--type-title-font-size, 21px)))))) * 0.85);
--reviews-body-font-size: var(--font-body-size, var(--type-text-font-size, var(--type-body-font-size, 20px)));
--reviews-font-weight: var(--font-heading-weight, 600);
--reviews-title-transform: var(--type-title-capitalize, var(--global-title-transform));
--reviews-border-radius: var(--global-border-radius, var(--global-fixed-border-radius, var(--global-border-radius-fixed, var(--global-border-radius-divided-5, var(--global-border-radius-btn, 4px)))));
--reviews-border-radius-btn: var(--btn-border-radius, var(--global-border-radius-btn, 0px));
}
.apps_hidden_scroll_bar {
scrollbar-width: none;
-ms-overflow-style: none;
}
.apps_hidden_scroll_bar::-webkit-scrollbar {
display: none;
}
[data-section-id="1703249626851"] .flex {
display: flex;
}
[data-section-id="1703249626851"] .flex-col {
flex-direction: column;
}
[data-section-id="1703249626851"] .items-center {
align-items: center;
}
[data-section-id="1703249626851"] .items-start {
align-items: flex-start;
}
[data-section-id="1703249626851"] .justify-between {
justify-content: space-between;
}
[data-section-id="1703249626851"] .justify-center {
justify-content: center;
}
[data-section-id="1703249626851"] .relative {
position: relative;
}
[data-section-id="1703249626851"] .absolute {
position: absolute;
}
[data-section-id="1703249626851"] .reviews_mobile .apps_reviews_product_detail_container {
padding: 20px 0;
}
[data-section-type*="shoplazza://apps"] .apps_reviews_product_detail_container{
padding: var(--general-layout-spacing, var(--page-spacing, 40px)) !important;
}
[data-section-id="1703249626851"] .apps_reviews_product_detail_container {
padding: var(--general-layout-spacing, var(--page-spacing, 40px));
max-width: var(--general-layout-width, var(--layout-width, var(--page-width, 1000px)));
margin-left: auto;
margin-right: auto;
background: var(--reviews-background-color);
}
[data-section-id="1703249626851"] .apps_reviews_product_detail_header {
margin-bottom: 16px;
color: var(--reviews-title-color, #333333);
font-size: var(--reviews-pc-title-size) !important;
font-weight: var(--reviews-font-weight) !important;
font-style: var(--font-heading-style) !important;
font-family: var(--font-heading-family) !important;
text-transform: var(--review-title-transform) !important;
}
[data-section-id="1703249626851"] .apps_reviews_detail_mobile_write_review {
display: none;
}
[data-section-id="1703249626851"] .apps_reviews_product_detail_desc {
font-size: calc(var(--reviews-body-font-size) * 0.8);
color: var(--reviews-sub-title-color, rgba(48, 53, 77, 0.5));
margin-bottom: 8px;
text-decoration: none;
}
[data-section-id="1703249626851"] .apps_reviews_container {
max-width: var(--general-layout-width, var(--layout-width, var(--page-width, 1000px)));
margin-left: auto;
margin-right: auto;
display: flex;
}
body.flash [data-section-id="1703249626851"] .apps_reviews_product_detail_container {
max-width: calc(var(--layout-width, var(--page-width, 1000px)) - var(--page-spacing) * 2 - 24px);
}
[data-section-id="1703249626851"] .reviews_mobile .apps_reviews_container {
max-width: var(--layout-width, var(--page-width, 100%));
flex-direction: column;
}
[data-section-id="1703249626851"] .reviews_mobile .apps_reviews_product_detail_desc {
font-size: calc(var(--reviews-body-font-size) * 0.8);
}
html[dir="rtl"] [data-section-id="1703249626851"] .reviews_mobile .apps_reviews_product_detail_desc {
display: inline-block;
padding-left: 90px;
}
html[dir="rtl"] [data-section-id="1703249626851"] .reviews_mobile .apps_reviews_product_detail_header {
position: relative;
}
[data-section-id="1703249626851"] .reviews_mobile .apps_reviews_product_detail_header {
margin-bottom: 8px;
font-size: var(--reviews-mobile-title-size) !important;
text-transform: var(--review-title-transform) !important;
font-family: var(--font-heading-family) !important;
font-weight: var(--reviews-font-weight);
}
[data-section-id="1703249626851"] .reviews_mobile .apps_reviews_detail_mobile_write_review {
display: inline-block;
font-size: 14px;
text-decoration: underline !important;
cursor: pointer;
color: var(--reviews-btn-color);
}
[data-section-id="1703249626851"] .apps_reviews_filter {
margin-top: 0;
}
[data-section-id="1703249626851"] .reviews_mobile .apps_reviews_filter {
margin-top: 0;
}
[data-section-id="1703249626851"] .apps_reviews_header .apps_reviews_header_title {
color: var(--reviews-title-color);
font-size: 30px;
line-height: 36px;
font-weight: 500;
}
[data-section-id="1703249626851"] .reviews_mobile .apps_reviews_header .apps_reviews_header_title {
font-size: 22px;
font-weight: 600;
}
[data-section-id="1703249626851"] .apps_reviews_header .apps_reviews_header_sub_title {
color: var(--reviews-sub-title-color);
font-size: 18px;
line-height: 26px;
margin-top: 16px;
text-align: center;
}
[data-section-id="1703249626851"] .reviews_mobile .apps_reviews_header .apps_reviews_header_sub_title {
font-size: 16px;
}
[data-section-id="1703249626851"] p {
margin: 0;
}
[data-section-id="1703249626851"] .apps_reviews_rating {
display: flex;
align-items: center;
line-height: 1.2;
}
[data-section-id="1703249626851"] .apps_reviews_star_icon {
margin-right: 24px;
}
[data-section-id="1703249626851"] .apps_reviews_star_icon_mobile {
display: none;
}
[data-section-id="1703249626851"] .reviews_desktop .apps_reviews_select {
display: block;
}
[data-section-id="1703249626851"] .reviews_desktop .apps_reviews_mobile_select {
display: none;
}
[data-section-id="1703249626851"] .reviews_mobile .apps_reviews_select {
display: none;
}
[data-section-id="1703249626851"] .reviews_mobile .apps_reviews_mobile_select {
display: block;
padding: 0 0 0 10px;
align-self: center;
cursor: pointer;
}
[data-section-id="1703249626851"] .reviews_mobile .apps_reviews_mobile_select svg {
width: 1.1rem;
height: 1.1rem;
}
[data-section-id="1703249626851"] .reviews_mobile .apps_reviews_star_icon {
display: none;
}
[data-section-id="1703249626851"] .reviews_mobile .apps_reviews_star_icon_mobile {
display: flex;
margin-right: 16px;
}
[data-section-id="1703249626851"] .apps_reviews_star_num {
color: #212B36;
font-size: 16px;
}
[data-section-id="1703249626851"] .apps_reviews_select_sort {
cursor: pointer;
color: var(--reviews-title-color, #30354D);
}
[data-section-id="1703249626851"] .apps_reviews_star_avg {
font-weight: 600;
margin-right: 8px;
font-size: 16px;
}
[data-section-id="1703249626851"] .apps_reviews_select_label {
width: 150px;
padding: 6px 26px 6px 12px;
border-radius: var(--reviews-border-radius-btn);
border: 1px solid #E0E3E8;
font-size: 14px;
margin-bottom: 14px;
text-overflow: ellipsis;
overflow: hidden;
white-space: nowrap;
box-sizing: border-box;
}
[data-section-id="1703249626851"] .apps_reviews_mobile_item {
font-size: 16px;
line-height: 26px;
}
[data-section-id="1703249626851"] .apps_reviews_select_list {
top: 44px;
z-index: 2;
width: 100%;
display: none;
opacity: 0.7;
transition: max-height 0.3s, opacity 0.3s;
overflow: hidden;
box-shadow: 0 2px 10px 0 rgba(0, 0, 0, 0.1);
border-radius: 4px;
background: var(--reviews-background-color);
}
[data-section-id="1703249626851"] .apps_reviews_select_list_active {
max-height: 240px;
display: block;
opacity: 1;
}
[data-section-id="1703249626851"] .apps_reviews_select_item {
position: relative;
padding: 8px 28px 8px 10px;
border-bottom: 1px solid #E0E3E8;
display: flex;
justify-content: space-between;
font-size: 14px;
}
[data-section-id="1703249626851"] .apps_reviews_select_item:last-child {
border: none;
}
[data-section-id="1703249626851"] .apps_select_icon {
pointer-events: none;
top: 50%;
transform: translateY(-50%);
right: 8px;
}
[data-section-id="1703249626851"] .apps_reviews_hidden {
display: none;
}
[data-section-id="1703249626851"] .reviews_mobile .apps_reviews_md_hidden {
display: none;
}
[data-section-id="1703249626851"] .apps_reviews_list {
background: var(--reviews-background-color);
width: 100%;
}
[data-section-id="1703249626851"] .reviews_mobile .apps_reviews_list_3,
[data-section-id="1703249626851"] .reviews_mobile .apps_reviews_list_4 {
display: none;
}
[data-section-id="1703249626851"] .apps_reviews_show_more {
display: none;
align-items: center;
justify-content: center;
min-width: 126px;
min-height: 40px;
font-size: 14px;
font-family: PingFangSC-Medium, PingFang SC;
margin-top: 16px;
font-weight: 500;
border-radius: 4px;
border: 1px solid var(--reviews-btn-color);
cursor: pointer;
color: var(--reviews-btn-color);
}
[data-section-id="1703249626851"] .reviews_mobile .apps_reviews_show_more,
[data-section-id="1703249626851"] .reviews_mobile .apps_reviews_empty_tip {
margin-top: 32px;
margin-bottom: 32px;
}
[data-section-id="1703249626851"] .apps_reviews_empty_tip {
display: none;
margin-top: 8px;
margin-bottom: 24px;
color: rgba(182, 186, 199, 1);
}
[data-section-id="1703249626851"] .apps_reviews_mobile_modal {
display: none;
position: fixed;
bottom: 0;
z-index: 1060;
}
[data-section-id="1703249626851"] .apps_reviews_mobile_wrap {
position: fixed;
bottom: 0;
left: 0;
width: 100vw;
z-index: 1101;
}
[data-section-id="1703249626851"] .apps_reviews_mobile_mask {
position: fixed;
top: 0;
right: 0;
bottom: 0;
left: 0;
z-index: 1100;
background: rgba(0, 0, 0, 0.5);
}
[data-section-id="1703249626851"] .apps_reviews_mobile_header {
bottom: 0;
left: 0;
width: 100%;
height: 55px;
padding: 18px 20px;
box-sizing: border-box;
border-bottom: solid 1px #ddd;
background: var(--reviews-background-color);
}
[data-section-id="1703249626851"] .apps_reviews_mobile_header span {
float: right;
width: 20px;
height: 20px;
position: relative;
cursor: pointer;
color: inherit;
}
[data-section-id="1703249626851"] .apps_reviews_mobile_header span svg {
position: absolute;
top: 50%;
left: 50%;
margin-top: -6px;
margin-left: -6px;
}
[data-section-id="1703249626851"] .apps_reviews_mobile_content {
bottom: 0;
left: 0;
width: 100%;
padding-bottom: constant(safe-area-inset-bottom);
padding-bottom: env(safe-area-inset-bottom);
max-height: 454px;
overflow: hidden;
overflow-y: auto;
-webkit-overflow-scrolling: touch;
background-color: var(--reviews-background-color);
}
[data-section-id="1703249626851"] .apps_reviews_checked {
display: flex;
align-items: center;
position: absolute;
right: 8px;
top: 50%;
transform: translateY(-50%);
pointer-events: none;
}
[data-section-id="1703249626851"] .reviews_mobile .apps_reviews_checked {
padding-right: 10px;
}
[data-section-id="1703249626851"] .reviews_mobile .apps_reviews_checked svg {
width: 1.1rem;
height: 1.1rem;
}
[data-section-id="1703249626851"] .apps_reviews_detail_summary {
display: none;
flex-direction: column;
margin-right: 68px;
}
html[dir="rtl"] .apps_reviews_detail_summary {
margin-left: 68px;
margin-right: 0;
}
[data-section-id="1703249626851"] .apps_reviews_detail_wrap {
display: none;
flex-grow: 1;
margin-top: -16px;
}
[data-section-id="1703249626851"] .apps_reviews_detail_total {
display: flex;
margin-bottom: 32px;
gap: 16px;
color: var(--reviews-title-color);
}
[data-section-id="1703249626851"] .apps_reviews_detail_count {
height: 48px;
font-size: 40px;
font-weight: 500;
line-height: 48px;
font-family: FuturaBT-Book, FuturaBT;
}
[data-section-id="1703249626851"] .apps_reviews_detail_line {
display: none;
}
[data-section-id="1703249626851"] .apps_reviews_detail_underline {
height: 1px;
background: var(--reviews-text-color);
margin: 10px 0 38px;
display: block;
align-self: stretch;
opacity: 0.2;
}
[data-section-id="1703249626851"] .apps_reviews_detail_based {
display: flex;
flex-direction: column;
align-items: start;
}
.apps_reviews_detail_based > .apps_reviews_detail_star {
margin-bottom: 8px;
}
[data-section-id="1703249626851"] .reviews_mobile .apps_reviews_detail_summary {
margin-bottom: 20px;
flex-direction: row;
justify-content: space-around;
align-items: center;
margin-right: 0;
flex: 1;
}
[data-section-id="1703249626851"] .reviews_mobile .apps_reviews_detail_wrap {
margin-top: 0;
width: 100%;
}
[data-section-id="1703249626851"] .reviews_mobile .apps_reviews_detail_total {
flex-direction: column;
align-items: center;
margin-bottom: 0;
}
[data-section-id="1703249626851"] .reviews_mobile .apps_reviews_detail_count {
margin-bottom: 12px;
margin-right: 0;
height: 36px;
line-height: 36px;
font-size: 32px;
}
[data-section-id="1703249626851"] .reviews_mobile .apps_reviews_detail_based {
align-items: center;
justify-content: center;
}
[data-section-id="1703249626851"] .reviews_mobile .apps_reviews_detail_line {
width: 0;
display: block;
border-right: solid 1px #E2E3E4;
align-self: stretch;
}
[data-section-id="1703249626851"] .reviews_mobile .apps_reviews_detail_underline {
display: none;
}
[data-section-id="1703249626851"] .apps_reviews_detail_text {
font-size: 14px;
font-weight: 500;
}
[data-section-id="1703249626851"] .reviews_mobile .apps_reviews_detail_text {
font-weight: 500;
}
[data-section-id="1703249626851"] .apps_reviews_detail_list {
display: flex;
flex-direction: column;
margin-bottom: 16px;
color: var(--reviews-title-color);
}
[data-section-id="1703249626851"] .apps_reviews_detail_star_text {
font-size: 12px;
margin-right: 8px;
}
[data-section-id="1703249626851"] .apps_reviews_detail_single_star {
margin-right: 8px;
}
[data-section-id="1703249626851"] .apps_reviews_detail_multi_star {
display: none;
}
[data-section-id="1703249626851"] .apps_reviews_detail_star_item {
display: flex;
justify-content: space-evenly;
margin-bottom: 8px;
align-items: center;
}
[data-section-id="1703249626851"] .reviews_mobile .apps_reviews_detail_tab {
display: none;
}
[data-section-id="1703249626851"] .reviews_mobile .apps_reviews_detail_list {
margin-bottom: 0;
}
[data-section-id="1703249626851"] .reviews_mobile .apps_reviews_detail_star_text {
display: none;
}
[data-section-id="1703249626851"] .reviews_mobile .apps_reviews_detail_single_star {
display: none;
}
[data-section-id="1703249626851"] .reviews_mobile .apps_reviews_detail_multi_star {
display: block;
margin-right: 6px;
}
[data-section-id="1703249626851"] .apps_reviews_tab_and_filter {
display: none;
justify-content: space-between;
align-items: flex-end;
}
[data-section-id="1703249626851"] .apps_reviews_tab_line {
display: none;
border-top: 1px solid var(--reviews-text-color, #E5E5E5);
opacity: 0.2;
}
[data-section-id="1703249626851"] .reviews_mobile .apps_reviews_tab_and_filter {
display: none;
border-bottom: none;
}
[data-section-id="1703249626851"] .apps_reviews_mobile_tab_and_filter {
display: flex;
align-items: center;
align-items: flex-end;
justify-content: space-between;
border-bottom: solid 1px #E5E5E5;
position: sticky;
top: 50px;
width: 100%;
z-index: 1;
padding: 0 16px;
box-sizing: border-box;
background: var(--reviews-background-color);
}
[data-section-id="1703249626851"] .apps_reviews_detail_tab button {
line-height: 20px;
border: none;
outline: none;
cursor: pointer;
padding: 14px 0;
margin-right: 16px;
transition: 0.3s;
background: var(--reviews-background-color);
color: var(--reviews-text-color);
}
[data-section-id="1703249626851"] .apps_reviews_detail_tab button.active {
font-weight: 700;
box-shadow: 0 2px 0 0 var(--reviews-text-color, #E5E5E5);
}
[data-section-id="1703249626851"] .apps_reviews_detail_tabline {
height: 1px;
background: #E5E5E5;
display: none;
}
[data-section-id="1703249626851"] .apps_reviews_view_all {
text-decoration: underline;
padding: 32px 0 40px;
border-bottom: solid 1px var(--reviews-btn-color, #E8E8E1);
text-align: center;
color: var(--reviews-btn-color, #212121);
cursor: pointer;
background: var(--reviews-background-color);
}
[data-section-id="1703249626851"] .apps_reviews_no_data {
padding: 32px 0 40px;
text-align: center;
color: var(--reviews-text-color, #6d6d6d);
}
[data-section-id="1703249626851"] .apps_reviews_view_all_modal {
display: none;
position: fixed;
top: 0;
left: 0;
overflow: auto;
overflow-y: scroll;
height: 100%;
width: 100vw;
z-index: 1060;
background: var(--reviews-background-color);
}
body.flash [data-section-id="1703249626851"] .reviews_desktop .apps_reviews_view_all_modal {
width: var(--page-width, 100vw);
left: 50%;
transform: translateX(-50%);
}
[data-section-id="1703249626851"] .apps_reviews_view_all_modal_content {
padding: 0 16px;
}
[data-section-id="1703249626851"] .apps_reviews_view_all_header {
display: flex;
align-items: center;
height: 50px;
justify-content: space-around;
border-bottom: solid 1px #E5E5E5;
position: sticky;
top: 0;
width: 100%;
color: #000;
background: var(--reviews-background-color);
z-index: 2;
}
[data-section-id="1703249626851"] .apps_reviews_view_all_header svg {
position: absolute;
right: 16px
}
[data-section-id="1703249626851"] .apps_reviews_detail_view_all_tab button {
background: transparent;
appearance: none;
height: 50px;
line-height: 20px;
color: #000;
border: none;
outline: none;
cursor: pointer;
margin-right: 16px;
transition: 0.3s;
}
[data-section-id="1703249626851"] .apps_reviews_detail_view_all_tab button.active {
font-weight: 700;
border-bottom: solid 1px #000;
}
[data-section-id="1703249626851"] .apps_reviews_detail_view_all_tabline {
height: 1px;
background: #E5E5E5;
}
[data-section-id="1703249626851"] .apps_reviews_detail_view_all_tablinks::after {
display: block;
content: attr(title);
font-weight: bold;
visibility: hidden;
height: 1px;
color: transparent;
margin-bottom: -1px;
overflow: hidden;
}
[data-section-id="1703249626851"] .apps_reviews_detail_write_review {
height: 24px;
box-sizing: content-box;
padding: 10px auto;
border-radius: var(--reviews-border-radius-btn);
border: 1px solid var(--reviews-btn-color);
color: var(--reviews-btn-color);
font-weight: 600;
display: flex;
align-items: center;
justify-content: center;
cursor: pointer;
}
[data-section-id="1703249626851"] .apps_reviews_detail_write_review:hover {
opacity: 0.7;
}
[data-section-id="1703249626851"] .reviews_mobile .apps_reviews_view_all_modal_content {
padding: 0;
}
[data-section-id="1703249626851"] .reviews_mobile .apps_reviews_detail_write_review {
display: none;
}
[data-section-id="1703249626851"] .apps_reviews_write_modal {
display: none;
--review-bg-color: var(--reviews-background-color);
position: relative;
z-index: 1050;
}
[data-section-id="1703249626851"] input, [data-section-id="1703249626851"] textarea {
border-radius: var(--reviews-border-radius);
}
.apps_reviews_show_more_icon {
display: none;
margin: 16px 0;
}
.apps_reviews_detail_no_content {
padding-top: 8px;
font-size: var(--reviews-body-font-size) !important;
color: var(--reviews-text-color);
}
.reviews_mobile .apps_reviews_detail_no_content {
font-size: var(--reviews-body-font-size);
color: var(--reviews-text-color);
}
.apps_reviews_detail_tablinks {
font-size: var(--reviews-body-font-size) !important;
font-family: var(--font-body-family) !important;
}
.preview-modal {
display: none;
position: fixed;
z-index: 2000;
padding-top: 50px;
left: 0;
top: 0;
width: 100%;
height: 100%;
overflow: auto;
background-color: rgba(0,0,0,0.9);
}
.file-preview-content {
margin: auto;
display: none;
width: 70%;
max-height: 80%;
}
.preview-modal-close {
position: absolute;
top: 15px;
right: 35px;
font-size: 40px;
font-weight: bold;
color: #fff;
cursor: pointer;
}
.preview-loading {
display: none;
justify-content: center;
align-items: center;
}
</style>
<script>
( () => {
class ProductDetailSkeleton extends HTMLElement {
constructor() {
super();
const shadow = this.attachShadow({ mode: 'open' });
let template = document.getElementById('product_detail_skeleton');
if (window.innerWidth < (window.breakpoint || 960)) {
template = document.getElementById('mobile_product_detail_skeleton')
}
const content = template.content.cloneNode(true);
shadow.appendChild(content);
}
}
window.customElements.get('apps-product-detail-skeleton') || window.customElements.define('apps-product-detail-skeleton', ProductDetailSkeleton)
})()
</script>
<template id="mobile_product_detail_skeleton">
<style>
:host {
margin-right: 100px;
}
.main_wrap {
display: flex;
flex-direction: column;
}
.upper {
display: flex;
justify-content: space-around;
padding: 8px 0;
}
.left {
display: flex;
flex-direction: column;
align-items: center;
}
.image {
width: 50px;
height: 26px;
background: rgba(242, 242, 242, 1);
margin-right: 8px;
margin-bottom: 16px;
}
.text {
display: flex;
flex-direction: column;
align-items: center;
}
.text_1 {
width: 80px;
background: #F2F2F2;
border-radius: 1px;
margin-bottom: 8px;
}
.text_2 {
width: 140px;
background: #F2F2F2;
border-radius: 1px;
}
.center {
width: 2px;
box-shadow: 1px 0px 0px 0px #E5E5E5;
}
.right {
display: flex;
flex-direction: column;
}
.right_1 {
width: 40px;
background: #F2F2F2;
border-radius: 1px;
margin-bottom: 8px;
margin-right: 8px;
}
.right_2 {
width: 80px;
background: #F2F2F2;
border-radius: 1px;
margin-bottom: 8px;
}
.main {
display: flex;
flex-direction: column;
margin-top: 40px;
}
.review {
height: auto;
margin: 0 1px 0px 1px;
border-radius: 8px;
}
.content {
display: flex;
flex-direction: column;
margin-bottom: 8px;
justify-content: space-between;
}
.seg_height {
height: 10px;
}
.seg_1_2 {
display: flex;
margin-bottom: 8px;
justify-content: space-between;
}
.seg_1 {
width: 15%;
background: #F2F2F2;
border-radius: 1px;
margin: 10px 8px 8px 0px;
}
.seg_2 {
width: 20%;
background: #F2F2F2;
border-radius: 1px;
margin: 8px 0;
}
.seg_3 {
width: 100%;
background: #F2F2F2;
border-radius: 1px;
margin: 0 0px 8px 0px;
}
.seg_4 {
width: 50%;
background: #F2F2F2;
border-radius: 1px;
margin: 8px 8px 0px 0px;
}
.seg_5 {
width: 100%;
height: 16px;
box-shadow: 0px 1px 0px 0px #E5E5E5;
}
@media (min-width: 960px) {
.content {
margin-bottom: 24px;
}
.seg_height {
height: 20px;
}
}
</style>
<div class="main_wrap">
<div class="upper">
<div class="left">
<div class="image"></div>
<div class="text">
<div class="text_1 seg_height"></div>
<div class="text_2 seg_height"></div>
</div>
</div>
<div class="center"></div>
<div class="right">
<div style="display: flex;">
<div class="right_1 seg_height"></div>
<div class="right_2 seg_height"></div>
</div>
<div style="display: flex;">
<div class="right_1 seg_height"></div>
<div class="right_2 seg_height"></div>
</div>
<div style="display: flex;">
<div class="right_1 seg_height"></div>
<div class="right_2 seg_height"></div>
</div>
<div style="display: flex;">
<div class="right_1 seg_height"></div>
<div class="right_2 seg_height"></div>
</div>
</div>
</div>
<div class="main">
<div class="review">
<div class="content">
<div class="seg_1_2">
<div class="seg_1 seg_height"></div>
<div class="seg_2 seg_height"></div>
</div>
<div class="seg_3 seg_height"></div>
<div class="seg_4 seg_height"></div>
<div class="seg_5 seg_height"></div>
</div>
<div class="content">
<div class="seg_1 seg_height"></div>
<div class="seg_2 seg_height"></div>
<div class="seg_3 seg_height"></div>
<div class="seg_4 seg_height"></div>
<div class="seg_5 seg_height"></div>
</div>
</div>
</div>
</div>
</template>
<template id="product_detail_skeleton">
<style>
:host {
margin-right: 100px;
}
.main_wrap {
display: flex;
}
.left {
width: 30%;
display: flex;
}
.image {
width: 64px;
height: 48px;
background: rgba(242, 242, 242, 1);
margin-right: 8px;
}
.text {
display: flex;
flex-direction: column;
}
.text_1 {
width: 80px;
background: #F2F2F2;
border-radius: 1px;
margin-bottom: 10px;
}
.text_2 {
width: 140px;
background: #F2F2F2;
border-radius: 1px;
}
.main {
display: flex;
flex-direction: column;
width: 70%;
}
.upper {
display: flex;
box-shadow: 0px 1px 0px 0px #E5E5E5;
margin-bottom: 40px;
}
.upper_1 {
width: 60px;
background: #F2F2F2;
border-radius: 1px;
margin: 10px 8px 8px 0px;
}
.upper_2 {
width: 60px;
background: #F2F2F2;
border-radius: 1px;
margin: 10px 8px 8px 0px;
}
.review {
height: auto;
margin: 0 1px 0px 1px;
border-radius: 8px;
}
.content {
display: flex;
flex-direction: column;
margin-bottom: 8px;
justify-content: space-between;
}
.seg_height {
height: 20px;
}
.seg_1 {
width: 15%;
background: #F2F2F2;
border-radius: 1px;
margin: 10px 8px 8px 0px;
}
.seg_2 {
width: 20%;
background: #F2F2F2;
border-radius: 1px;
margin: 8px 0;
}
.seg_3 {
width: 50%;
background: #F2F2F2;
border-radius: 1px;
margin: 0 0px 8px 0px;
}
.seg_4 {
width: 70%;
background: #F2F2F2;
border-radius: 1px;
margin: 8px 8px 0px 0px;
}
.seg_5 {
width: 100%;
height: 40px;
box-shadow: 0px 1px 0px 0px #E5E5E5;
}
</style>
<div class="main_wrap">
<div class="left">
<div class="image"></div>
<div class="text">
<div class="text_1 seg_height"></div>
<div class="text_2 seg_height"></div>
</div>
</div>
<div class="main">
<div class="upper">
<div class="upper_1 seg_height"></div>
<div class="upper_2 seg_height"></div>
</div>
<div class="review">
<div class="content">
<div class="seg_1 seg_height"></div>
<div class="seg_2 seg_height"></div>
<div class="seg_3 seg_height"></div>
<div class="seg_4 seg_height"></div>
<div class="seg_5 seg_height"></div>
</div>
<div class="content">
<div class="seg_1 seg_height"></div>
<div class="seg_2 seg_height"></div>
<div class="seg_3 seg_height"></div>
<div class="seg_4 seg_height"></div>
<div class="seg_5 seg_height"></div>
</div>
<div class="content">
<div class="seg_1 seg_height"></div>
<div class="seg_2 seg_height"></div>
<div class="seg_3 seg_height"></div>
<div class="seg_4 seg_height"></div>
<div class="seg_5 seg_height"></div>
</div>
</div>
</div>
</div>
</template>
<template id="reviews_stars">
<style>
:host {
display: flex;
align-items: center;
justify-content: center;
}
.stars-wrap {
display: inline-flex;
align-items: center;
}
.stars {
position: relative;
display: flex;
align-items: center;
justify-content: center;
}
.stars:last-child {
margin-right: 0!important;
}
.stars svg:nth-child(2) {
position: absolute;
top: 0;
left: 50%;
transform: translate(-50%);
/* z-index: 1; */
}
</style>
<div class="stars-wrap">
<div class="stars stars-1" data-star="1">
<svg xmlns="http://www.w3.org/2000/svg" width="14" height="13" viewbox="0 0 14 13" fill="none">
<path fill-rule="evenodd" clip-rule="evenodd" d="M7 10.024L3.63553 12.182C3.36886 12.3531 3.031 12.1076 3.11127 11.8011L4.12399 7.93447L1.03191 5.40154C0.78683 5.20078 0.915883 4.80359 1.23217 4.78523L5.22253 4.55352L6.67599 0.830062C6.79119 0.534933 7.20881 0.534934 7.32402 0.830063L8.77747 4.55352L12.7678 4.78523C13.0841 4.80359 13.2132 5.20078 12.9681 5.40154L9.87601 7.93447L10.8887 11.8011C10.969 12.1076 10.6311 12.3531 10.3645 12.182L7 10.024Z" stroke="#CEB06A" stroke-width="0.5"></path>
</svg>
<svg xmlns="http://www.w3.org/2000/svg" width="14" height="13" viewbox="0 0 14 13" fill="#CEB06A">
<path fill-rule="evenodd" clip-rule="evenodd" d="M7 10.024L3.63554 12.182C3.36886 12.3531 3.031 12.1076 3.11127 11.8011L4.12399 7.93447L1.03191 5.40154C0.78683 5.20078 0.915883 4.80359 1.23217 4.78523L5.22253 4.55352L6.67599 0.830062C6.79119 0.534933 7.20881 0.534934 7.32402 0.830063L8.77747 4.55352L12.7678 4.78523C13.0841 4.80359 13.2132 5.20078 12.9681 5.40154L9.87601 7.93447L10.8887 11.8011C10.969 12.1076 10.6311 12.3531 10.3645 12.182L7 10.024Z"></path>
</svg>
</div>
<div class="stars stars-2" data-star="2">
<svg xmlns="http://www.w3.org/2000/svg" width="14" height="13" viewbox="0 0 14 13" fill="none">
<path fill-rule="evenodd" clip-rule="evenodd" d="M7 10.024L3.63553 12.182C3.36886 12.3531 3.031 12.1076 3.11127 11.8011L4.12399 7.93447L1.03191 5.40154C0.78683 5.20078 0.915883 4.80359 1.23217 4.78523L5.22253 4.55352L6.67599 0.830062C6.79119 0.534933 7.20881 0.534934 7.32402 0.830063L8.77747 4.55352L12.7678 4.78523C13.0841 4.80359 13.2132 5.20078 12.9681 5.40154L9.87601 7.93447L10.8887 11.8011C10.969 12.1076 10.6311 12.3531 10.3645 12.182L7 10.024Z" stroke="#CEB06A" stroke-width="0.5"></path>
</svg>
<svg xmlns="http://www.w3.org/2000/svg" width="14" height="13" viewbox="0 0 14 13" fill="#CEB06A">
<path fill-rule="evenodd" clip-rule="evenodd" d="M7 10.024L3.63554 12.182C3.36886 12.3531 3.031 12.1076 3.11127 11.8011L4.12399 7.93447L1.03191 5.40154C0.78683 5.20078 0.915883 4.80359 1.23217 4.78523L5.22253 4.55352L6.67599 0.830062C6.79119 0.534933 7.20881 0.534934 7.32402 0.830063L8.77747 4.55352L12.7678 4.78523C13.0841 4.80359 13.2132 5.20078 12.9681 5.40154L9.87601 7.93447L10.8887 11.8011C10.969 12.1076 10.6311 12.3531 10.3645 12.182L7 10.024Z"></path>
</svg>
</div>
<div class="stars stars-3" data-star="3">
<svg xmlns="http://www.w3.org/2000/svg" width="14" height="13" viewbox="0 0 14 13" fill="none">
<path fill-rule="evenodd" clip-rule="evenodd" d="M7 10.024L3.63553 12.182C3.36886 12.3531 3.031 12.1076 3.11127 11.8011L4.12399 7.93447L1.03191 5.40154C0.78683 5.20078 0.915883 4.80359 1.23217 4.78523L5.22253 4.55352L6.67599 0.830062C6.79119 0.534933 7.20881 0.534934 7.32402 0.830063L8.77747 4.55352L12.7678 4.78523C13.0841 4.80359 13.2132 5.20078 12.9681 5.40154L9.87601 7.93447L10.8887 11.8011C10.969 12.1076 10.6311 12.3531 10.3645 12.182L7 10.024Z" stroke="#CEB06A" stroke-width="0.5"></path>
</svg>
<svg xmlns="http://www.w3.org/2000/svg" width="14" height="13" viewbox="0 0 14 13" fill="#CEB06A">
<path fill-rule="evenodd" clip-rule="evenodd" d="M7 10.024L3.63554 12.182C3.36886 12.3531 3.031 12.1076 3.11127 11.8011L4.12399 7.93447L1.03191 5.40154C0.78683 5.20078 0.915883 4.80359 1.23217 4.78523L5.22253 4.55352L6.67599 0.830062C6.79119 0.534933 7.20881 0.534934 7.32402 0.830063L8.77747 4.55352L12.7678 4.78523C13.0841 4.80359 13.2132 5.20078 12.9681 5.40154L9.87601 7.93447L10.8887 11.8011C10.969 12.1076 10.6311 12.3531 10.3645 12.182L7 10.024Z"></path>
</svg>
</div>
<div class="stars stars-4" data-star="4">
<svg xmlns="http://www.w3.org/2000/svg" width="14" height="13" viewbox="0 0 14 13" fill="none">
<path fill-rule="evenodd" clip-rule="evenodd" d="M7 10.024L3.63553 12.182C3.36886 12.3531 3.031 12.1076 3.11127 11.8011L4.12399 7.93447L1.03191 5.40154C0.78683 5.20078 0.915883 4.80359 1.23217 4.78523L5.22253 4.55352L6.67599 0.830062C6.79119 0.534933 7.20881 0.534934 7.32402 0.830063L8.77747 4.55352L12.7678 4.78523C13.0841 4.80359 13.2132 5.20078 12.9681 5.40154L9.87601 7.93447L10.8887 11.8011C10.969 12.1076 10.6311 12.3531 10.3645 12.182L7 10.024Z" stroke="#CEB06A" stroke-width="0.5"></path>
</svg>
<svg xmlns="http://www.w3.org/2000/svg" width="14" height="13" viewbox="0 0 14 13" fill="#CEB06A">
<path fill-rule="evenodd" clip-rule="evenodd" d="M7 10.024L3.63554 12.182C3.36886 12.3531 3.031 12.1076 3.11127 11.8011L4.12399 7.93447L1.03191 5.40154C0.78683 5.20078 0.915883 4.80359 1.23217 4.78523L5.22253 4.55352L6.67599 0.830062C6.79119 0.534933 7.20881 0.534934 7.32402 0.830063L8.77747 4.55352L12.7678 4.78523C13.0841 4.80359 13.2132 5.20078 12.9681 5.40154L9.87601 7.93447L10.8887 11.8011C10.969 12.1076 10.6311 12.3531 10.3645 12.182L7 10.024Z"></path>
</svg>
</div>
<div class="stars stars-5" data-star="5">
<svg xmlns="http://www.w3.org/2000/svg" width="14" height="13" viewbox="0 0 14 13" fill="none">
<path fill-rule="evenodd" clip-rule="evenodd" d="M7 10.024L3.63553 12.182C3.36886 12.3531 3.031 12.1076 3.11127 11.8011L4.12399 7.93447L1.03191 5.40154C0.78683 5.20078 0.915883 4.80359 1.23217 4.78523L5.22253 4.55352L6.67599 0.830062C6.79119 0.534933 7.20881 0.534934 7.32402 0.830063L8.77747 4.55352L12.7678 4.78523C13.0841 4.80359 13.2132 5.20078 12.9681 5.40154L9.87601 7.93447L10.8887 11.8011C10.969 12.1076 10.6311 12.3531 10.3645 12.182L7 10.024Z" stroke="#CEB06A" stroke-width="0.5"></path>
</svg>
<svg xmlns="http://www.w3.org/2000/svg" width="14" height="13" viewbox="0 0 14 13" fill="#CEB06A">
<path fill-rule="evenodd" clip-rule="evenodd" d="M7 10.024L3.63554 12.182C3.36886 12.3531 3.031 12.1076 3.11127 11.8011L4.12399 7.93447L1.03191 5.40154C0.78683 5.20078 0.915883 4.80359 1.23217 4.78523L5.22253 4.55352L6.67599 0.830062C6.79119 0.534933 7.20881 0.534934 7.32402 0.830063L8.77747 4.55352L12.7678 4.78523C13.0841 4.80359 13.2132 5.20078 12.9681 5.40154L9.87601 7.93447L10.8887 11.8011C10.969 12.1076 10.6311 12.3531 10.3645 12.182L7 10.024Z"></path>
</svg>
</div>
<slot></slot>
</div>
</template>
<template id="reviewsModalBody">
<style>
.apps_hidden_scroll_bar {
scrollbar-width: none;
-ms-overflow-style: none;
}
.apps_hidden_scroll_bar::-webkit-scrollbar {
display: none;
}
.reviews_modal_body {
display: flex;
flex-direction: column;
justify-content: space-between;
padding-top: 28px;
height: 100%;
box-sizing: border-box;
}
@media (max-width: 960px) {
.reviews_modal_body {
padding: 16px;
}
}
.reviews_modal_body_header {
display: flex;
flex-direction: column;
overflow: hidden;
color: var(--reviews-text-color);
}
@media (max-width: 960px) {
.reviews_modal_body_header {
overflow: unset;
}
}
.reviews_modal_body_header_title {
display: flex;
justify-content: space-between;
align-items: center;
}
.reviews_modal_body_header_name {
font-size: 18px;
font-weight: 500;
font-family: var(--font-body-family);
text-overflow: ellipsis;
white-space: nowrap;
flex-grow: 0;
overflow: hidden;
}
.reviews_modal_body_header_star {
display: flex;
margin-top: 16px;
}
.reviews_modal_body_footer_detail {
display: flex;
justify-content: space-between;
margin-top: 12px;
padding-bottom: 16px;
align-items: center;
font-size: 12px;
font-family: FuturaBT-Book, FuturaBT;
}
.reviews_modal_body_header_country {
display: flex;
align-items: center;
}
.reviews_modal_body_header_country_flag {
height: 24px;
margin-right: 8px;
}
.reviews_modal_body_header_content {
padding-right: 16px;
margin-top: 8px;
height: 100%;
overflow-y: scroll;
font-family: FuturaBT-Book, FuturaBT;
line-height: 24px;
}
@media (max-width: 960px) {
.reviews_modal_body_header_content {
padding-right: 0;
overflow-y: unset;
font-size: 14px;
}
}
.reviews_modal_body_header_country_name {
font-size: 12px;
}
.reviews_modal_body_footer_product {
display: flex;
padding-top: 12px;
color: #626571;
text-decoration:none;
}
.reviews_modal_body_footer_product_content {
flex: 1;
display: flex;
overflow: hidden;
text-overflow: ellipsis;
}
.reviews_modal_body_footer_product_jump_icon {
display: flex;
align-items: center;
margin-right: -5px;
color: var(--reviews-product-title-color);
}
.reviews_modal_body_footer_product_detail {
width: calc(100% - 74px);
}
.reviews_modal_body_footer_product_title {
font-size: 12px;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
color: var(--reviews-product-title-color);
}
.reviews_modal_body_footer_product_img {
flex-shrink: 0;
width: 50px;
height: 50px;
background-size: cover;
background-repeat: no-repeat;
margin-right: 16px;
border-radius: 2px;
}
.reviews_modal_body_footer_detail_like {
display: flex;
align-items: center;
color: var(--reviews-text-color, rgba(126, 132, 156, 1));
}
.reviews_modal_body_footer_product_price {
font-size: 14px;
font-weight: 500;
margin-top: 4px;
}
.reviews_modal_body_footer_detail_time {
color: var(--reviews-text-color, rgba(126, 132, 156, 1));
opacity: 0.65;
}
.reviews_modal_body_header_text_line_3 {
font-size: 14px;
overflow: hidden;
display: -webkit-box;
-webkit-line-clamp: 3;
-webkit-box-orient: vertical;
word-break: break-word;
}
.reviews_modal_body_header_reply {
margin-top: 8px;
background: var(--reviews-reply-bg, rgba(248, 248, 247, 1));
padding: 8px 12px;
color: var(--reviews-reply-color, rgba(126, 132, 156, 1));
}
.reviews_modal_body_header_reply_title {
font-size: 12px;
font-weight: 600;
margin-bottom: 4px;
overflow: hidden;
display: -webkit-box;
-webkit-line-clamp: 1;
-webkit-box-orient: vertical;
word-break: break-word;
}
.reviews_modal_body_header_text_line_2 {
-webkit-line-clamp: 2;
}
.reviews_modal_body_line {
border-top: 1px solid var(--reviews-text-color, #F0F0F0);
opacity: 0.2;
}
</style>
<div class="reviews_modal_body">
<div class="reviews_modal_body_header">
<div class="reviews_modal_body_header_title">
<div class="reviews_modal_body_header_name"></div>
<div class="reviews_modal_body_header_country">
<!-- <img class="reviews_modal_body_header_country_flag"/> -->
<div class="reviews_modal_body_header_country_name notranslate"></div>
</div>
</div>
<div class="reviews_modal_body_header_star"></div>
<div class="apps_hidden_scroll_bar reviews_modal_body_header_content">
<div class="apps_hidden_scroll_bar reviews_modal_body_header_reply"></div>
</div>
</div>
<div class="reviews_modal_body_footer">
<div class="reviews_modal_body_footer_detail">
<div class="reviews_modal_body_footer_detail_time"></div>
<div class="reviews_modal_body_footer_detail_like"></div>
</div>
<div class="reviews_modal_body_line"></div>
<a class="reviews_modal_body_footer_product">
<div class="reviews_modal_body_footer_product_content">
<div class="reviews_modal_body_footer_product_img"></div>
<div class="reviews_modal_body_footer_product_detail">
<div class="reviews_modal_body_footer_product_title"></div>
<div class="notranslate reviews_modal_body_footer_product_price">
<span class="price money"></span>
<span class="price money" style="color: #CD201A;margin-right: 8px;"></span>
<span class="price money" style="text-decoration: line-through;"></span>
</div>
</div>
</div>
<div class="reviews_modal_body_footer_product_jump_icon">
<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewbox="0 0 16 16"><path d="M10.476 7.573l-4.101-4.1a.6.6 0 0 0-.849.848l3.678 3.678-3.678 3.68a.6.6 0 0 0-.07.766l.07.083a.6.6 0 0 0 .849 0l4.101-4.101a.598.598 0 0 0 .174-.373v-.108a.598.598 0 0 0-.174-.373z" fill="currentColor" fill-rule="evenodd"></path></svg>
</div>
</a>
</div>
</div>
</template>
<template id="reviews_pagination">
<style>
:host {}
#wrapper {
display: flex;
color: var(--reviews-text-color);
}
.apps_reviews_pagination_left_arrow svg {
transform: rotate(-180deg);
}
.apps_reviews_pagination_circle {
width: 24px;
height: 24px;
border-radius: 100%;
background: var(--reviews-pagination-bg-color, #f6f6f6);
display: flex;
align-items: center;
justify-content: center;
font-size: 12px;
margin-right: 5px;
cursor: pointer;
}
@media (min-width: 960px) {
.apps_reviews_pagination_content {
margin-bottom: 24px;
}
.apps_reviews_pagination_seg_height {
height: 20px;
}
}
</style>
<div id="wrapper">
<slot name="page-list"></slot>
</div>
</template>
<style>
.apps_reviews_pagination_left_arrow svg {
transform: rotate(-180deg);
}
.apps_reviews_pagination_circle {
width: 24px;
height: 24px;
border-radius: 100%;
background: var(--reviews-pagination-bg-color-30, #f6f6f6);
display: flex;
align-items: center;
justify-content: center;
font-size: 12px;
margin-right: 5px;
cursor: pointer;
}
html[dir="rtl"] .apps_reviews_pagination_left_arrow,
html[dir="rtl"] .apps_reviews_pagination_right_arrow {
transform: rotate(180deg);
}
.apps_reviews_pagination_circle:hover {
background: var(--reviews-pagination-bg-color, #dbdbdb);
opacity: 1;
}
.apps_reviews_pagination_selected {
background: var(--reviews-pagination-bg-color, #dbdbdb);
cursor: text;
opacity: 1;
}
</style>
<script type="text/javascript">
var script = document.createElement('script');
script.src = "https://static.shoplazza.com/cuttlefish/v1/spz.min.js";
script.async = true;
script.crossOrigin = "anonymous";
document.head.appendChild(script);
</script>
<script crossorigin="anonymous" src="https://tk.lazbbq.asia/ym/002/static/js/spz-upload-0.1.js"></script>
<style>
.upload_icon {
position: relative;
order: 1;
display: flex;
align-items: center;
justify-content: center;
width: 110px;
height: 110px;
border: 2px dashed #2E60F8;
background-color: #F6F6F7;
box-sizing: border-box;
cursor: pointer;
border-radius: var(--reviews-border-radius);
}
.upload_icon::after {
content: '';
position: absolute;
width: 26px;
height: 2px;
background-color: #2E60F8;
}
.upload_icon::before {
content: '';
position: absolute;
height: 26px;
width: 2px;
background-color: #2E60F8;
}
.review_file_box {
position: relative;
margin-top: 10px;
}
.review_file_list {
/* display: grid;
grid-template-columns: repeat(auto-fill, 110px); */
display: flex;
flex-wrap: wrap;
grid-column-gap: 10px;
grid-row-gap: 10px;
}
input[type='file'] {
position: absolute;
top: 0;
bottom: 0;
left: 0;
right: 0;
opacity: 0;
}
input:hover {
cursor: pointer;
}
.file-item-close {
position: absolute;
top: 4px;
right: 4px;
width: 24px;
height: 24px;
cursor: pointer;
}
.file-item-close>svg {
pointer-events: none;
}
#upload_loading {
position: absolute !important;
width: 110px;
height: 110px;
}
#upload_loading .loading {
position: absolute;
top: 42px;
left: 42px;
}
#review_upload[loading] #upload_loading {
display: block !important;
opacity: 1 !important;
}
/* #review_upload_percent {
position: absolute;
top: 60px;
left: 42px;
} */
#review_upload {
position: absolute;
z-index: 2;
height: 110px;
width: 110px;
}
.review_file_item {
background-color: #F6F6F7;
}
.review_file_item svg {
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
z-index: 99;
}
.preview-item-box {
min-width: 320px;
padding: 30px 20px 20px;
border-radius: 0.5rem;
background-color: #FFF;
position: relative;
}
.preview-item-close {
position: absolute;
right: 4px;
top: 4px;
cursor: pointer;
}
video::-webkit-media-controls {
display: flex !important;
}
.apps-reviews-write-anonymous-box {
margin-top: 132px;
margin-left: -4px;
color: var(--reviews-text-color);
display: none;
align-items: center;
}
</style>
<reviews-write-modal pid="93fe4067-b5aa-490b-ad4c-723faca8ae45" product_title="100% Pure Himalayan Shilajit Resin High Potency for Men & Women 75 Servings for Energy Boost & Immune Support - XDX" img="//cdn.shoplazza.com/818563371d68645565970df0b5cea2f5.png" class="apps_reviews_write_modal">
<div slot="modal_tips" class="apps_reviews_write_tips"></div>
<write-modal-edit-star class="apps-reviews-write-star" isshowcount='true'></write-modal-edit-star>
<write-modal-item class="apps-reviews-write-username" required label="Your name" limit="20"></write-modal-item>
<write-modal-item class="apps-reviews-write-email" required label="Contact Email"></write-modal-item>
<write-modal-item class="apps-reviews-write-content" required label="Body of Review" multi limit="3000"></write-modal-item>
<ljs-render layout="container" id="review_file_limit" class="i-spzhtml-layout-container" i-spzhtml-layout="container">
<template>
<div>
${function(){
const limit = typeof data === 'number' ? data : 0;
return `<div class="label">Pictures/Videos (<span class="limit">${limit || 0}/5</span>)</div>
` }()}
</div>
</template>
</ljs-render>
<div class="review_file_box">
<ljs-upload id="review_upload" multiple layout="container" name="file" limit="5" size-limit="10485760" accept="image/*,video/mp4,video/3gpp,video/mov,video/quicktime,video/x-ms-wmv" @loaded="upload_loading.showLoading" @error="upload_loading.close" @exceedlimit="custom_file_upload_handler.limit" @sizeerror="custom_file_upload_handler.sizeLimit" @success="custom_file_upload_handler.upload(data=event);upload_loading.close" class="i-spzhtml-layout-container" i-spzhtml-layout="container">
<div class="upload_icon"></div>
<ljs-loading layout="container" id="upload_loading" hidden class="i-spzhtml-layout-container" i-spzhtml-layout="container"></ljs-loading>
</ljs-upload>
<ljs-render layout="container" manual id="review_file_list" class="i-spzhtml-layout-container" i-spzhtml-layout="container">
<template>
<div class="review_file_list" spz-if="${data.length>0}">
<div spz-for="(item, index) in data" key="index" @tap="custom_file_upload_handler.preview(data=${index})" style="position: relative;cursor: pointer;margin-left: ${index === 0 && data?.length < 5 ? '120px' : '0px'}">
${(function(){
const closeIcon =
'<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewbox="0 0 24 24">
<g fill="none" fill-rule="evenodd">
<rect fill-opacity=".3" fill="#000" width="24" height="24" rx="4"></rect>
<path d="M19.25 6.5a.75.75 0 1 1 0 1.5H18v11a1 1 0 0 1-1 1H7a1 1 0 0 1-1-1V8H4.75a.75.75 0 0 1 0-1.5H8V5a1 1 0 0 1 1-1h6a1 1 0 0 1 1 1v1.5h3.25zM16.5 8h-9v10.5h9V8zm-6.25 1.25A.75.75 0 0 1 11 10v6.5a.75.75 0 1 1-1.5 0V10a.75.75 0 0 1 .75-.75zm3.5 0a.75.75 0 0 1 .75.75v6.5a.75.75 0 1 1-1.5 0V10a.75.75 0 0 1 .75-.75zm.75-3.75h-5v1h5v-1z" fill="#FFF"></path>
</g>
</svg>';
if (item.type === 'image') {
return `<ljs-img layout="fixed" class="review_file_item" width="110" height="110" object-fit="fill" src="${item.url}"></ljs-img>
<div class="file-item-close" @tap="custom_file_upload_handler.delete(data=${index})">
${closeIcon}</div>`
}
return `<ljs-video id="preview-video-${index}" class="review_file_item" poster="${item.poster}" layout="fixed" width="110" height="110" src="${item.url}">
<svg xmlns="http://www.w3.org/2000/svg" width="48" height="48" viewbox="0 0 24 24"><path d="M19.376 12.4158L8.77735 19.4816C8.54759 19.6348 8.23715 19.5727 8.08397 19.3429C8.02922 19.2608 8 19.1643 8 19.0656V4.93408C8 4.65794 8.22386 4.43408 8.5 4.43408C8.59871 4.43408 8.69522 4.4633 8.77735 4.51806L19.376 11.5838C19.6057 11.737 19.6678 12.0474 19.5146 12.2772C19.478 12.3321 19.4309 12.3792 19.376 12.4158Z" fill="#FFF"></path></svg></ljs-video>
<div class="file-item-close" @tap="custom_file_upload_handler.delete(data=${index})">
${closeIcon}</div>`
})()}
</div>
</div>
</template>
</ljs-render>
</div>
<ljs-event event-name="clear_file_upload" target-id="custom_file_upload_handler" target-api="clear" layout="logic" class="i-spzhtml-layout-logic" i-spzhtml-layout="logic"></ljs-event>
<div class="apps-reviews-write-anonymous-box">
<input name="write-review-anonymous" type="checkbox" class="apps-reviews-write-anonymous" style="margin: 3px 3px 3px 4px;">
<label style="margin-bottom: 0px;">Submit Comments Anonymously</label>
</div>
</reviews-write-modal>
<spz-custom-file-upload id="custom_file_upload_handler" layout="logic" @handlefilelimit="review_upload.continueUpload" @handlefileupload="upload_loading.close;review_file_limit.rerender(data=event.count, redo=true);review_file_list.rerender(data=event.files, redo=true);" @handlefiledelete="review_file_limit.rerender(data=event.count, redo=true);review_file_list.rerender(data=event.files, redo=true);review_upload.deleteUploadFile;" @handleclear="review_file_limit.rerender(data=event.count, redo=true);review_file_list.rerender(data=event.files, redo=true);review_upload.unmount" class="i-spzhtml-layout-logic" i-spzhtml-layout="logic">
</spz-custom-file-upload>
<ljs-script layout="logic" type="application/javascript" class="i-spzhtml-layout-logic" i-spzhtml-layout="logic">
class SpzCustomFileUpload extends SPZ.BaseElement {
constructor(element) {
super(element);
this.uploadCount_ = 0;
this.fileList_ = [];
}
buildCallback() {
this.action = SPZServices.actionServiceForDoc(this.element);
this.registerAction('upload', (data) => {
this.handleFileUpload_(data.event?.detail?.data || []);
});
this.registerAction('delete', (data) => {
this.handleFileDelete_(data?.args?.data);
});
this.registerAction('preview', (data) => {
this.handleFilePreview_(data?.args?.data);
});
this.registerAction('limit', (data) => {
this.handleFileLimit_();
});
this.registerAction('sizeLimit', (data) => {
this.handleFileSizeLimit_();
});
}
isLayoutSupported(layout) {
return layout == SPZCore.Layout.LOGIC;
}
setData_(count, file) {
this.uploadCount_ = count;
this.fileList_ = file;
}
handleFileUpload_(data) {
data.forEach(i => {
if(this.fileList_.some(j => j.url === i.url)) return;
this.fileList_.push(i);
})
this.uploadCount_++;
sessionStorage.setItem('fileList', JSON.stringify(this.fileList_));
this.triggerEvent_("handleFileUpload", { count: this.uploadCount_, files: this.fileList_});
if(this.fileList_.length >= 5){
document.querySelector('#review_upload').style.display = 'none';
}
if(this.fileList_.length > 0){
document.querySelector('.apps-reviews-write-anonymous-box').style.marginTop = '8px';
}
}
handleFileDelete_(index) {
this.fileList_.splice(index, 1);
this.uploadCount_--;
sessionStorage.setItem('fileList', JSON.stringify(this.fileList_));
this.triggerEvent_("handleFileDelete", { count: this.uploadCount_, files: this.fileList_});
document.querySelector('#review_upload').style.display = 'block';
if(this.fileList_?.length === 0){
document.querySelector('.apps-reviews-write-anonymous-box').style.marginTop = '132px';
}
}
handleFilePreview_(index) {
const finalPreviewData = this.fileList_[index];
const filePreviewModal = document.getElementById('filePreviewModal');
const fullScreenVideo = document.getElementById('fullScreenVideo');
const fullScreenImage = document.getElementById('fullScreenImage');
const previewModalClose = document.getElementById('previewModalClose');
const previewLoading = document.getElementById('previewLoading');
filePreviewModal.style.display = 'block';
previewLoading.style.display = 'flex';
if(finalPreviewData?.type === 'video'){
const media = this.mediaParse_(this.fileList_[index]?.url);
fullScreenVideo.addEventListener('canplaythrough', function() {
previewLoading.style.display = 'none';
});
fullScreenImage.src = '';
fullScreenImage.style.display = 'none';
fullScreenVideo.style.display = 'block';
fullScreenVideo.src = media.mp4 || '';
} else {
fullScreenImage.onload = function() {
previewLoading.style.display = 'none';
};
fullScreenVideo.src = '';
fullScreenVideo.style.display = 'none';
fullScreenImage.style.display = 'block';
fullScreenImage.src = finalPreviewData.url;
}
previewModalClose.addEventListener('click', function() {
filePreviewModal.style.display = 'none';
});
}
handleFileLimit_() {
alert(window.AppReviewsLocale.comment_file_limit || 'please do not upload files more than 5');
this.triggerEvent_("handleFileLimit");
}
handleFileSizeLimit_() {
alert(window.AppReviewsLocale.comment_file_size_limit || 'File size does not exceed 10M');
}
clear(){
this.fileList_ = [];
this.uploadCount_ = 0;
sessionStorage.setItem('fileList', JSON.stringify(this.fileList_));
this.triggerEvent_("handleClear", { count: this.uploadCount_, files: this.fileList_});
document.querySelector('#review_upload').style.display = 'block';
}
mediaParse_(url) {
var result = {};
try {
url.replace(/[?&]+([^=&]+)=([^&]*)/gi, function (str, key, value) {
try {
result[key] = decodeURIComponent(value);
} catch (e) {
result[key] = value;
}
});
result.preview_image = url.split('?')[0];
} catch (e) {};
return result;
}
triggerEvent_(name, data) {
const event = SPZUtils.Event.create(this.win, name, data);
this.action.trigger(this.element, name, event);
}
}
SPZ.defineElement('spz-custom-file-upload', SpzCustomFileUpload);
</ljs-script>
<script type="text/html" id="apps_reviews_loading_icon_tpl">
<svg version="1.1" id="loader-1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="16px" height="16px" viewBox="0 0 50 50" style="enable-background:new 0 0 50 50;" xml:space="preserve">
<path fill="#CCCED9" fill-opacity="0.6" d="M43.935,25.145c0-10.318-8.364-18.683-18.683-18.683c-10.318,0-18.683,8.365-18.683,18.683h4.068c0-8.071,6.543-14.615,14.615-14.615c8.072,0,14.615,6.543,14.615,14.615H43.935z">
<animateTransform attributeType="xml"
attributeName="transform"
type="rotate"
from="0 25 25"
to="360 25 25"
dur="0.6s"
repeatCount="indefinite"/>
</path>
</svg>
</script>
<style>
.notSupportTip {
display: none;
border: 1px dashed;
width: 100%;
background: rgba(230, 92, 92, 0.10000000149011612);
border-radius: 4px;
opacity: 1;
font-size: 14px;
font-family: Futura-Heavy, Futura;
font-weight: 400;
color: #E62E2E;
line-height: 24px;
text-align: center;
padding: 20px;
box-sizing: border-box;
}
</style>
<div class='notSupportTip'>
The review would not show in product details on storefront since it does not support to.
</div>
<script>
(() => {
window.AppReviewsLocale = {
comment_do_like: `How do you like this product?`,
comment_submit: `Submit`,
comment_total: `Total reviews`,
comment_content_tips: `This field is required.`,
comment_email_tips: `Please enter valid email.`,
comment_publish_success: `Publish successful`,
comment_publish_fail: `Publish fail`,
comment_no_reviews_tips: `No reviews yet, why don't you leave the first review?`,
comment_reach_bottom: `Wow you reached the bottom`,
comment_score: `Score`,
comment_view: `View`,
comment_view_all: `View all`,
comment_condition_tip: `Only customers who confirm received this item are allowed to leave a review.`,
comment_condition_tips: `Only customers who purchased this item are allowed to leave a review.`,
comment_photo: `Photos`,
comment_placeholder: `Please Enter`,
comment_file_limit: `Up to 5 pictures or videos can be uploaded`,
comment_file_size_limit: `File size does not exceed 10M`,
comment_write: `Write a Review`,
comment_with_photo_no_tips: `There is no reviews with photo yet.`,
comment_show_more: `Show more`,
comment_show_less: `Show less`
}
const getProductData = ()=>{
let pJson = document.querySelector('#product-json');
if (pJson) {
return JSON.parse(pJson.innerHTML);
}
// for ancient themes
if (typeof $ === 'function') {
return $(document).data('djproduct');
}
return undefined;
}
window.breakpoint = 960;
const url = new URL(window.location.href);
const preview_theme_id = url.searchParams.get('preview_theme_id');
const $productInfo = document.querySelector('[data-section-id="1703249626851"] .product-info, .product-info-body-inner, .product-info-body');
const resize = () => {
const section = document.querySelector('.reviews_wrapper');
const clientWidth = window.innerWidth;
if (clientWidth > 768) { // pc
section.classList.replace('reviews_mobile', 'reviews_desktop');
} else {
section.classList.replace('reviews_desktop', 'reviews_mobile');
}
};
try {
const section = document.querySelector('.reviews_wrapper');
const { product } = getProductData();
if(product.product_type === "gift_card" && section) {
section.style.display = 'none';
}
} catch(e) {
window.addEventListener('load', () => {
try {
const section = document.querySelector('.reviews_wrapper');
const { product } = getProductData();
if(product.product_type === "gift_card" && section) {
section.style.display = 'none';
}
} catch(e) {
console.log(e)
}
})
}
window.addEventListener('resize', function(event) {
resize()
}, true);
resize();
})()
</script>
<script defer src="https://tk.lazbbq.asia/ym/002/static/js/apps_detail-b0668326.js">
</script>
</div>
</div><div id="shoplaza-section-1634491726561" class="shoplaza-section mt-6 lg:mt-15" data-section-id="1634491726561" data-section-type="relative_product" data-section-style="">
<style>
[data-section-id="1634491726561"] .recommendations-title {
font-size: calc(var(--type-heading-font-size) * 0.5333);
}
@media (max-width: 959.98px) {
[data-section-id="1634491726561"] .recommendations-container {
padding-left: var(--page-spacing);
}
[data-section-id="1634491726561"] .recommendations-title {
padding-right: var(--page-spacing);
}
[data-section-id="1634491726561"] .recommendations_carousel > .i-spzhtml-slides-container > .i-spzhtml-slide-item {
flex: unset !important;
flex-shrink: 0 !important;
width: 40% !important;
padding-right: 16px;
}
}
@media (min-width: 960px) {
[data-section-id="1634491726561"] .recommendations-title {
font-weight: 500;
font-size: calc(var(--type-heading-font-size) * 0.8);
}
[data-section-id="1634491726561"] .recommendations_carousel > .spz-carousel-button.spz-disabled {
display: none;
}
[data-section-id="1634491726561"] .recommendations_carousel > .i-spzhtml-slides-container > .i-spzhtml-slide-item {
width: 25.645%;
padding-right: 2.58%;
}
}
</style>
<spz-render id="relative-product-render" src="/api/product/similar-products?product_id=93fe4067-b5aa-490b-ad4c-723faca8ae45&page=1&per_page=8" layout="container" items="data.products" class="i-spzhtml-layout-container" i-spzhtml-layout="container">
<template>
<div class="recommendations-container lg:page-container" spz-if="${data && data.length > 0}">
<h3 class="recommendations-title m-0 leading-1.25 font-semibold color-heading type-heading-font-family">You may also like</h3>
<spz-carousel class="recommendations_carousel mt-4 lg:mt-5" id="recommendations_carousel" controls effect="scroller" layout="container" initial-slide="0" visible-count="(min-width:960px) 4, 2.4" advance-count="(min-width:960px) 1, 1">
<div spz-for="(item, index) in data" key="item.id">
<spz-product-snippet data-source-id="relative-product-render" product-id="${item.id}" layout="container" template="product-snippet-template" variant-thumb-names="color" thumb-max-num="3" @finish="${index == 0 ? 'recommendations_carousel.calcPosition;' : ''}"></spz-product-snippet>
</div>
<svg class="md:hidden" pre width="16" height="16" xmlns="http://www.w3.org/2000/svg"><path d="M7.47 5.172a.75.75 0 0 1 1.06 0l4.596 4.596a.75.75 0 1 1-1.06 1.06L7.468 6.232a.75.75 0 0 1 0-1.06Z" fill="currentColor"></path><path d="M8.533 5.172a.75.75 0 0 1 0 1.06l-4.596 4.596a.75.75 0 1 1-1.061-1.06l4.596-4.596a.75.75 0 0 1 1.06 0Z" fill="currentColor"></path></svg>
<svg class="md:hidden" next width="16" height="16" xmlns="http://www.w3.org/2000/svg"><path d="M7.47 5.172a.75.75 0 0 1 1.06 0l4.596 4.596a.75.75 0 1 1-1.06 1.06L7.468 6.232a.75.75 0 0 1 0-1.06Z" fill="currentColor"></path><path d="M8.533 5.172a.75.75 0 0 1 0 1.06l-4.596 4.596a.75.75 0 1 1-1.061-1.06l4.596-4.596a.75.75 0 0 1 1.06 0Z" fill="currentColor"></path></svg>
</spz-carousel>
</div>
</template>
</spz-render>
</div><div id="shoplaza-section-1634493037562" class="shoplaza-section mt-6 lg:mt-15" data-section-id="1634493037562" data-section-type="recently_view" data-section-style=""><style>
[data-section-id="1634493037562"] .recently-view-title {
font-size: calc(var(--type-heading-font-size) * 0.5333);
}
[data-section-id="1634493037562"] .recently_view_carousel > .spz-disabled {
display: none;
}
@media (max-width: 959.98px) {
[data-section-id="1634493037562"] .recently_view-container {
padding-left: var(--page-spacing);
}
[data-section-id="1634493037562"] .recently_view-title {
padding-right: var(--page-spacing);
}
[data-section-id="1634493037562"] .recently_view_carousel > .i-spzhtml-slides-container > .i-spzhtml-slide-item {
flex: unset !important;
flex-shrink: 0 !important;
width: 40% !important;
padding-right: 16px;
}
}
@media (min-width: 960px) {
[data-section-id="1634493037562"] .recently-view-title {
font-weight: 500;
font-size: calc(var(--type-heading-font-size) * 0.8);
}
[data-section-id="1634493037562"] .recently_view_carousel > .i-spzhtml-slides-container > .i-spzhtml-slide-item {
width: 25.645%;
padding-right: 2.58%;
}
}
</style>
<div>
<spz-recently-viewed layout="container" count="8" list-id="recently-view-render" product-id="93fe4067-b5aa-490b-ad4c-723faca8ae45" class="i-spzhtml-layout-container" i-spzhtml-layout="container"></spz-recently-viewed>
<spz-render id="recently-view-render" src="/api/product/list?page=1&limit=8" layout="container" items="data.list" manual class="i-spzhtml-layout-container" i-spzhtml-layout="container">
<template>
<div class="recently_view-container lg:page-container" spz-if="${data && data.length > 0}">
<h3 class="recently-view-title m-0 leading-1.25 font-semibold color-heading type-heading-font-family">
Recently Viewed
</h3>
<spz-carousel class="recently_view_carousel mt-4 lg:mt-5" id="recently_view_carousel" controls effect="scroller" layout="container" initial-slide="0" visible-count="(min-width:960px) 4, 2.4" advance-count="(min-width:960px) 1, 1">
<div spz-for="(item, index) in data" key="item.id">
<spz-product-snippet data-source-id="recently-view-render" product-id="${item.id}" layout="container" template="product-snippet-template" variant-thumb-names="color" thumb-max-num="3" @finish="${index == 0 ? 'recently_view_carousel.calcPosition;' : ''}"></spz-product-snippet>
</div>
<svg class="md:hidden" pre width="16" height="16" xmlns="http://www.w3.org/2000/svg"><path d="M7.47 5.172a.75.75 0 0 1 1.06 0l4.596 4.596a.75.75 0 1 1-1.06 1.06L7.468 6.232a.75.75 0 0 1 0-1.06Z" fill="currentColor"></path><path d="M8.533 5.172a.75.75 0 0 1 0 1.06l-4.596 4.596a.75.75 0 1 1-1.061-1.06l4.596-4.596a.75.75 0 0 1 1.06 0Z" fill="currentColor"></path></svg>
<svg class="md:hidden" next width="16" height="16" xmlns="http://www.w3.org/2000/svg"><path d="M7.47 5.172a.75.75 0 0 1 1.06 0l4.596 4.596a.75.75 0 1 1-1.06 1.06L7.468 6.232a.75.75 0 0 1 0-1.06Z" fill="currentColor"></path><path d="M8.533 5.172a.75.75 0 0 1 0 1.06l-4.596 4.596a.75.75 0 1 1-1.061-1.06l4.596-4.596a.75.75 0 0 1 1.06 0Z" fill="currentColor"></path></svg>
</spz-carousel>
</div>
</template>
</spz-render>
</div>
</div>
</div>
<div id="shoplaza-section-footer" class="shoplaza-section" data-section-id="footer" data-section-type="footer" data-section-style="expand"><style>
[data-section-id="footer"] {
color: var(--color-footer-text);
background-color: var(--color-footer-bg);
}
.footer__newsletter,
.footer_blocks,
.footer__additional {
border-top: 1px solid var(--color-footer-border);
}
</style>
<style>
.footer__newsletter{
color: var(--color-newsletter-text);
background-color: var(--color-body-bg);
}
.footer__newsletter__desc{
margin: 0 0 20px 0;
}
.footer__newsletter__input{
width: 100%;
height: 42px;
background-color: var(--color-newsletter-bg);
border: 1px solid var(--color-newsletter-border);
border-right-width: 0px;
border-radius: 0 ;
}
.footer__newsletter__input:focus{
border-color: var(--color-newsletter-text);
}
.footer__newsletter__input::-webkit-input-placeholder {
color: var(--color-newsletter-text);
}
.footer__newsletter__btn{
height: 42px;
padding: 0 18px;
color: var(--color-newsletter-btn-text);
background-color: var(--color-newsletter-btn-bg);
border-radius: 0 ;
}
@keyframes footer_newsletter_tip_hide {
from {
visibility: visible;
}
to {
visibility: hidden;
}
}
.footer__newsletter__error-tip{
height: auto !important;
width: 100%;
position: absolute;
bottom: calc(100% + 6px);
left: 0;
padding: 16px 20px;
background-color: white;
border-radius: 4px;
box-shadow: 0 0 8px rgba(195,195,195,0.50);
font-size: var(--type-text-font-size);
line-height: 1.3;
color: var(--color-newsletter-text);
}
.footer__newsletter__error-tip:after{
content: '';
position: absolute;
left: 20px;
bottom: -12px;
width: 0;
height: 0;
border: 6px solid transparent;
border-top-color: white;
}
.footer__newsletter__error-tip:not(.hidden), .footer__newsletter__error-tip:not([hidden]){
visibility: hidden;
animation: footer_newsletter_tip_hide 5000ms;
}
.footer__newsletter__success-tip{
display: none;
align-items: center;
min-height: 50px;
padding: 6px 12px;
color: #56AD6A;
background: #ECFEF0;
border: 1px solid #56AD6A;
}
.footer__newsletter__form.spz-form-submit-success .footer__newsletter__success-tip{
display: flex;
}
.footer__newsletter__form.spz-form-submit-success .footer__newsletter__input,
.footer__newsletter__form.spz-form-submit-success .footer__newsletter__btn{
display: none;
}
@media (min-width: 960px) {
.footer__newsletter__desc{
margin: 0 40px 0 0;
}
.footer__newsletter__input{
width: 200px;
height: 50px;
}
.footer__newsletter__btn{
height: 50px;
}
.footer__newsletter__success-tip{
max-width: 568px;
}
}
</style>
<div class="footer__newsletter">
<div class="page-container lg:flex lg:items-center lg:justify-center py-8 md:px-8">
<p class="footer__newsletter__desc text-center body-plus-2 lg:body-plus-4">Hey, let's keep in touch!</p>
<form id="footer__newsletter__form" class="footer__newsletter__form type-text-font-family relative flex items-center md:w-full text-base" action-xhr="/api/customers/newsletters" method="POST" custom-validation="show-first-on-submit" @submiterror="footer__newsletter__error-ajax.rerender(data=event);footer__newsletter__error-ajax.toggleClass(class='hidden', force=false);">
<input class="footer__newsletter__input clear flex-1 block lg:w-full px-4 lg:px-3" id="footer__newsletter__input" type="text" name="email" placeholder="Enter your email" required pattern="([A-Za-z0-9_\-.])+@([A-Za-z0-9_\-.])+\.([A-Za-z]{2,4})" @input-debounced="footer__newsletter__error-ajax.toggleClass(class='hidden', force=true);">
<button class="footer__newsletter__btn type-text-font-family m-0 flex items-center border-none leading-none" type="submit">
<span class="md:hidden">Subscribe</span>
<svg class="lg:hidden" width="20" height="6" fill="currentColor" xmlns="http://www.w3.org/2000/svg"><path opacity=".01" fill="currentColor" d="M0 0h20v6H0z"></path><path fill="currentColor" d="M0 2h14v2H0z"></path><path fill-rule="evenodd" clip-rule="evenodd" d="m20 3-6 3V0l6 3Z" fill="currentColor"></path></svg>
</button>
<div class="footer__newsletter__error-tip" validation-for="footer__newsletter__input" visible-when-invalid="patternMismatch" hidden>
Please enter a valid email address.
</div>
<div class="footer__newsletter__error-tip" validation-for="footer__newsletter__input" visible-when-invalid="valueMissing" hidden>
Please enter your email address.
</div>
<spz-render id="footer__newsletter__error-ajax" class="footer__newsletter__error-tip hidden i-spzhtml-layout-container" layout="container" manual i-spzhtml-layout="container">
<template>
<div spz-if="${data.errors && data.errors.length > 0}">
${data.errors && data.errors[0]}
</div>
</template>
</spz-render>
<div class="footer__newsletter__success-tip flex-shrink-0 body-plus-2">
Thanks for subscribing
</div>
</form>
</div>
</div>
<style>
.footer__block{
flex-shrink: 0;
}
.footer__block.accordion .i-spzhtml-accordion-content{
overflow: hidden !important;
}
.footer__block a{
color: inherit;
}
.footer__block__header{
position: relative;
margin: 0;
font-weight: 700;
overflow-wrap: break-word;
}
.footer__block__header__icon{
position: absolute;
right: 0;
top: 20px;
transition: all 300ms;
transform: rotate(180deg);
}
.footer__block > [expanded] .footer__block__header__icon{
transform: rotate(0deg);
}
.footer__block__content{
margin: 0;
padding: 0 0 20px 0;
list-style-type: none;
}
.footer__block.not-accordion .footer__block__content{
padding: 20px 0;
}
@media (max-width: 959.98px) {
.footer__block{
line-height: 1.4;
text-align: center;
}
.footer__block-wrap + .footer__block-wrap{
border-top: 1px solid var(--color-footer-border);
}
.footer__block__header{
padding: 20px 30px;
}
.footer__block__content{
justify-content: center;
}
}
@media (min-width: 960px) {
.footer__blocks{
padding-top: 30px;
padding-bottom: 48px
}
.footer__block{
max-width: 258px;
padding: 24px 72px 0 0;
}
.footer__block__header{
font-size: calc(var(--type-text-font-size) + 2px);
}
.footer__block__content{
padding: 16px 0 0 0;
}
}
.footer__navigation__item + .footer__navigation__item{
padding-top: 18px;
}
@media (min-width: 960px) {
.footer__navigation__item + .footer__navigation__item{
padding-top: 10px;
}
}
.footer__contact__item{
display: flex;
align-items: flex-start;
}
.footer__contact__item + .footer__contact__item,
.footer__block__content div + .footer__contact__item-custom{
padding-top: 18px;
}
.footer__contact__item svg{
flex-shrink: 0;
}
.footer__contact__item a{
margin-left: 8px;
}
.footer__block-social .footer__block__content{
display: flex;
flex-wrap: wrap;
margin: -18px -10px 0;
}
.footer__social__item{
display: flex;
padding: 18px 10px 0;
}
@media (min-width: 960px) {
.footer__block-social .footer__block__content{
margin: -12px -6px 0;
}
.footer__social__item{
padding: 12px 6px 0;
}
}
.footer__block-payment .footer__block__content{
display: flex;
flex-wrap: wrap;
margin: -18px -4px 0;
}
.footer__payment__item{
padding: 18px 4px 0;
}
.footer__payment__item svg{
display: flex;
width: 38px;
height: 24px;
}
@media (min-width: 960px) {
.footer__block-payment .footer__block__content{
margin: -8px -4px 0;
}
.footer__payment__item{
padding: 8px 4px 0;
}
}
</style>
<div class="footer__blocks">
<div class="page-container lg:flex lg:justify-center lg:flex-wrap">
<div class="footer__block-wrap">
<div class="footer__block md:hidden footer__block-payment">
<p class="footer__block__header">
We accept
</p>
<ul class="footer__block__content">
<li class="footer__payment__item">
<svg class="" xmlns="http://www.w3.org/2000/svg" viewbox="0 0 38 24"><title id="pi-american_express">American Express</title>
<g fill="none">
<path fill="#000" d="M35,0 L3,0 C1.3,0 0,1.3 0,3 L0,21 C0,22.7 1.4,24 3,24 L35,24 C36.7,24 38,22.7 38,21 L38,3 C38,1.3 36.6,0 35,0 Z" opacity=".07"></path>
<path fill="#006FCF" d="M35,1 C36.1,1 37,1.9 37,3 L37,21 C37,22.1 36.1,23 35,23 L3,23 C1.9,23 1,22.1 1,21 L1,3 C1,1.9 1.9,1 3,1 L35,1">
</path>
<path fill="#FFF" d="M8.971,10.268 L9.745,12.144 L8.203,12.144 L8.971,10.268 Z M25.046,10.346 L22.069,10.346 L22.069,11.173 L24.998,11.173 L24.998,12.412 L22.075,12.412 L22.075,13.334 L25.052,13.334 L25.052,14.073 L27.129,11.828 L25.052,9.488 L25.046,10.346 L25.046,10.346 Z M10.983,8.006 L14.978,8.006 L15.865,9.941 L16.687,8 L27.057,8 L28.135,9.19 L29.25,8 L34.013,8 L30.494,11.852 L33.977,15.68 L29.143,15.68 L28.065,14.49 L26.94,15.68 L10.03,15.68 L9.536,14.49 L8.406,14.49 L7.911,15.68 L4,15.68 L7.286,8 L10.716,8 L10.983,8.006 Z M19.646,9.084 L17.407,9.084 L15.907,12.62 L14.282,9.084 L12.06,9.084 L12.06,13.894 L10,9.084 L8.007,9.084 L5.625,14.596 L7.18,14.596 L7.674,13.406 L10.27,13.406 L10.764,14.596 L13.484,14.596 L13.484,10.661 L15.235,14.602 L16.425,14.602 L18.165,10.673 L18.165,14.603 L19.623,14.603 L19.647,9.083 L19.646,9.084 Z M28.986,11.852 L31.517,9.084 L29.695,9.084 L28.094,10.81 L26.546,9.084 L20.652,9.084 L20.652,14.602 L26.462,14.602 L28.076,12.864 L29.624,14.602 L31.499,14.602 L28.987,11.852 L28.986,11.852 Z">
</path>
</g></svg>
</li>
<li class="footer__payment__item">
<svg class="" xmlns="http://www.w3.org/2000/svg" viewbox="0 0 165.521 105.965"><title id="pi-apple_pay">Apple Pay</title>
<path fill="#000" d="M150.698 0H14.823c-.566 0-1.133 0-1.698.003-.477.004-.953.009-1.43.022-1.039.028-2.087.09-3.113.274a10.51 10.51 0 0 0-2.958.975 9.932 9.932 0 0 0-4.35 4.35 10.463 10.463 0 0 0-.975 2.96C.113 9.611.052 10.658.024 11.696a70.22 70.22 0 0 0-.022 1.43C0 13.69 0 14.256 0 14.823v76.318c0 .567 0 1.132.002 1.699.003.476.009.953.022 1.43.028 1.036.09 2.084.275 3.11a10.46 10.46 0 0 0 .974 2.96 9.897 9.897 0 0 0 1.83 2.52 9.874 9.874 0 0 0 2.52 1.83c.947.483 1.917.79 2.96.977 1.025.183 2.073.245 3.112.273.477.011.953.017 1.43.02.565.004 1.132.004 1.698.004h135.875c.565 0 1.132 0 1.697-.004.476-.002.952-.009 1.431-.02 1.037-.028 2.085-.09 3.113-.273a10.478 10.478 0 0 0 2.958-.977 9.955 9.955 0 0 0 4.35-4.35c.483-.947.789-1.917.974-2.96.186-1.026.246-2.074.274-3.11.013-.477.02-.954.022-1.43.004-.567.004-1.132.004-1.699V14.824c0-.567 0-1.133-.004-1.699a63.067 63.067 0 0 0-.022-1.429c-.028-1.038-.088-2.085-.274-3.112a10.4 10.4 0 0 0-.974-2.96 9.94 9.94 0 0 0-4.35-4.35A10.52 10.52 0 0 0 156.939.3c-1.028-.185-2.076-.246-3.113-.274a71.417 71.417 0 0 0-1.431-.022C151.83 0 151.263 0 150.698 0z">
</path>
<path fill="#FFF" d="M150.698 3.532l1.672.003c.452.003.905.008 1.36.02.793.022 1.719.065 2.583.22.75.135 1.38.34 1.984.648a6.392 6.392 0 0 1 2.804 2.807c.306.6.51 1.226.645 1.983.154.854.197 1.783.218 2.58.013.45.019.9.02 1.36.005.557.005 1.113.005 1.671v76.318c0 .558 0 1.114-.004 1.682-.002.45-.008.9-.02 1.35-.022.796-.065 1.725-.221 2.589a6.855 6.855 0 0 1-.645 1.975 6.397 6.397 0 0 1-2.808 2.807c-.6.306-1.228.511-1.971.645-.881.157-1.847.2-2.574.22-.457.01-.912.017-1.379.019-.555.004-1.113.004-1.669.004H14.801c-.55 0-1.1 0-1.66-.004a74.993 74.993 0 0 1-1.35-.018c-.744-.02-1.71-.064-2.584-.22a6.938 6.938 0 0 1-1.986-.65 6.337 6.337 0 0 1-1.622-1.18 6.355 6.355 0 0 1-1.178-1.623 6.935 6.935 0 0 1-.646-1.985c-.156-.863-.2-1.788-.22-2.578a66.088 66.088 0 0 1-.02-1.355l-.003-1.327V14.474l.002-1.325a66.7 66.7 0 0 1 .02-1.357c.022-.792.065-1.717.222-2.587a6.924 6.924 0 0 1 .646-1.981c.304-.598.7-1.144 1.18-1.623a6.386 6.386 0 0 1 1.624-1.18 6.96 6.96 0 0 1 1.98-.646c.865-.155 1.792-.198 2.586-.22.452-.012.905-.017 1.354-.02l1.677-.003h135.875">
</path>
<g>
<g>
<path fill="#000" d="M43.508 35.77c1.404-1.755 2.356-4.112 2.105-6.52-2.054.102-4.56 1.355-6.012 3.112-1.303 1.504-2.456 3.959-2.156 6.266 2.306.2 4.61-1.152 6.063-2.858">
</path>
<path fill="#000" d="M45.587 39.079c-3.35-.2-6.196 1.9-7.795 1.9-1.6 0-4.049-1.8-6.698-1.751-3.447.05-6.645 2-8.395 5.1-3.598 6.2-.95 15.4 2.55 20.45 1.699 2.5 3.747 5.25 6.445 5.151 2.55-.1 3.549-1.65 6.647-1.65 3.097 0 3.997 1.65 6.696 1.6 2.798-.05 4.548-2.5 6.247-5 1.95-2.85 2.747-5.6 2.797-5.75-.05-.05-5.396-2.101-5.446-8.251-.05-5.15 4.198-7.6 4.398-7.751-2.399-3.548-6.147-3.948-7.447-4.048">
</path>
</g>
<g>
<path fill="#000" d="M78.973 32.11c7.278 0 12.347 5.017 12.347 12.321 0 7.33-5.173 12.373-12.529 12.373h-8.058V69.62h-5.822V32.11h14.062zm-8.24 19.807h6.68c5.07 0 7.954-2.729 7.954-7.46 0-4.73-2.885-7.434-7.928-7.434h-6.706v14.894z">
</path>
<path fill="#000" d="M92.764 61.847c0-4.809 3.665-7.564 10.423-7.98l7.252-.442v-2.08c0-3.04-2.001-4.704-5.562-4.704-2.938 0-5.07 1.507-5.51 3.82h-5.252c.157-4.86 4.731-8.395 10.918-8.395 6.654 0 10.995 3.483 10.995 8.89v18.663h-5.38v-4.497h-.13c-1.534 2.937-4.914 4.782-8.579 4.782-5.406 0-9.175-3.222-9.175-8.057zm17.675-2.417v-2.106l-6.472.416c-3.64.234-5.536 1.585-5.536 3.95 0 2.288 1.975 3.77 5.068 3.77 3.95 0 6.94-2.522 6.94-6.03z">
</path>
<path fill="#000" d="M120.975 79.652v-4.496c.364.051 1.247.103 1.715.103 2.573 0 4.029-1.09 4.913-3.899l.52-1.663-9.852-27.293h6.082l6.863 22.146h.13l6.862-22.146h5.927l-10.216 28.67c-2.34 6.577-5.017 8.735-10.683 8.735-.442 0-1.872-.052-2.261-.157z">
</path>
</g>
</g></svg>
</li>
<li class="footer__payment__item">
<svg class="" xmlns="http://www.w3.org/2000/svg" viewbox="0 0 38 24"><title id="pi-master">Mastercard</title>
<path opacity=".07" d="M35 0H3C1.3 0 0 1.3 0 3v18c0 1.7 1.4 3 3 3h32c1.7 0 3-1.3 3-3V3c0-1.7-1.4-3-3-3z"></path>
<path fill="#fff" d="M35 1c1.1 0 2 .9 2 2v18c0 1.1-.9 2-2 2H3c-1.1 0-2-.9-2-2V3c0-1.1.9-2 2-2h32"></path>
<circle fill="#EB001B" cx="15" cy="12" r="7"></circle>
<circle fill="#F79E1B" cx="23" cy="12" r="7"></circle>
<path fill="#FF5F00" d="M22 12c0-2.4-1.2-4.5-3-5.7-1.8 1.3-3 3.4-3 5.7s1.2 4.5 3 5.7c1.8-1.2 3-3.3 3-5.7z"></path></svg>
</li>
<li class="footer__payment__item">
<svg class="" xmlns="http://www.w3.org/2000/svg" viewbox="0 0 38 24"><title id="pi-paypal">PayPal</title>
<path opacity=".07" d="M35 0H3C1.3 0 0 1.3 0 3v18c0 1.7 1.4 3 3 3h32c1.7 0 3-1.3 3-3V3c0-1.7-1.4-3-3-3z"></path>
<path fill="#fff" d="M35 1c1.1 0 2 .9 2 2v18c0 1.1-.9 2-2 2H3c-1.1 0-2-.9-2-2V3c0-1.1.9-2 2-2h32"></path>
<path fill="#003087" d="M23.9 8.3c.2-1 0-1.7-.6-2.3-.6-.7-1.7-1-3.1-1h-4.1c-.3 0-.5.2-.6.5L14 15.6c0 .2.1.4.3.4H17l.4-3.4 1.8-2.2 4.7-2.1z">
</path>
<path fill="#3086C8" d="M23.9 8.3l-.2.2c-.5 2.8-2.2 3.8-4.6 3.8H18c-.3 0-.5.2-.6.5l-.6 3.9-.2 1c0 .2.1.4.3.4H19c.3 0 .5-.2.5-.4v-.1l.4-2.4v-.1c0-.2.3-.4.5-.4h.3c2.1 0 3.7-.8 4.1-3.2.2-1 .1-1.8-.4-2.4-.1-.5-.3-.7-.5-.8z">
</path>
<path fill="#012169" d="M23.3 8.1c-.1-.1-.2-.1-.3-.1-.1 0-.2 0-.3-.1-.3-.1-.7-.1-1.1-.1h-3c-.1 0-.2 0-.2.1-.2.1-.3.2-.3.4l-.7 4.4v.1c0-.3.3-.5.6-.5h1.3c2.5 0 4.1-1 4.6-3.8v-.2c-.1-.1-.3-.2-.5-.2h-.1z">
</path></svg>
</li>
<li class="footer__payment__item">
<svg class="" xmlns="http://www.w3.org/2000/svg" viewbox="0 0 38 24"><title id="pi-visa">Visa</title>
<path opacity=".07" d="M35 0H3C1.3 0 0 1.3 0 3v18c0 1.7 1.4 3 3 3h32c1.7 0 3-1.3 3-3V3c0-1.7-1.4-3-3-3z"></path>
<path fill="#fff" d="M35 1c1.1 0 2 .9 2 2v18c0 1.1-.9 2-2 2H3c-1.1 0-2-.9-2-2V3c0-1.1.9-2 2-2h32"></path>
<path d="M28.3 10.1H28c-.4 1-.7 1.5-1 3h1.9c-.3-1.5-.3-2.2-.6-3zm2.9 5.9h-1.7c-.1 0-.1 0-.2-.1l-.2-.9-.1-.2h-2.4c-.1 0-.2 0-.2.2l-.3.9c0 .1-.1.1-.1.1h-2.1l.2-.5L27 8.7c0-.5.3-.7.8-.7h1.5c.1 0 .2 0 .2.2l1.4 6.5c.1.4.2.7.2 1.1.1.1.1.1.1.2zm-13.4-.3l.4-1.8c.1 0 .2.1.2.1.7.3 1.4.5 2.1.4.2 0 .5-.1.7-.2.5-.2.5-.7.1-1.1-.2-.2-.5-.3-.8-.5-.4-.2-.8-.4-1.1-.7-1.2-1-.8-2.4-.1-3.1.6-.4.9-.8 1.7-.8 1.2 0 2.5 0 3.1.2h.1c-.1.6-.2 1.1-.4 1.7-.5-.2-1-.4-1.5-.4-.3 0-.6 0-.9.1-.2 0-.3.1-.4.2-.2.2-.2.5 0 .7l.5.4c.4.2.8.4 1.1.6.5.3 1 .8 1.1 1.4.2.9-.1 1.7-.9 2.3-.5.4-.7.6-1.4.6-1.4 0-2.5.1-3.4-.2-.1.2-.1.2-.2.1zm-3.5.3c.1-.7.1-.7.2-1 .5-2.2 1-4.5 1.4-6.7.1-.2.1-.3.3-.3H18c-.2 1.2-.4 2.1-.7 3.2-.3 1.5-.6 3-1 4.5 0 .2-.1.2-.3.2M5 8.2c0-.1.2-.2.3-.2h3.4c.5 0 .9.3 1 .8l.9 4.4c0 .1 0 .1.1.2 0-.1.1-.1.1-.1l2.1-5.1c-.1-.1 0-.2.1-.2h2.1c0 .1 0 .1-.1.2l-3.1 7.3c-.1.2-.1.3-.2.4-.1.1-.3 0-.5 0H9.7c-.1 0-.2 0-.2-.2L7.9 9.5c-.2-.2-.5-.5-.9-.6-.6-.3-1.7-.5-1.9-.5L5 8.2z" fill="#142688"></path></svg>
</li>
<li class="footer__payment__item">
<svg class="" xmlns="http://www.w3.org/2000/svg" viewbox="0 0 38 24"><title id="pi-google_pay">Google Pay</title>
<path d="M35 0H3C1.3 0 0 1.3 0 3v18c0 1.7 1.4 3 3 3h32c1.7 0 3-1.3 3-3V3c0-1.7-1.4-3-3-3z" fill="#000" opacity=".07"></path>
<path d="M35 1c1.1 0 2 .9 2 2v18c0 1.1-.9 2-2 2H3c-1.1 0-2-.9-2-2V3c0-1.1.9-2 2-2h32" fill="#FFF"></path>
<path d="M18.093 11.976v3.2h-1.018v-7.9h2.691a2.447 2.447 0 0 1 1.747.692 2.28 2.28 0 0 1 .11 3.224l-.11.116c-.47.447-1.098.69-1.747.674l-1.673-.006zm0-3.732v2.788h1.698c.377.012.741-.135 1.005-.404a1.391 1.391 0 0 0-1.005-2.354l-1.698-.03zm6.484 1.348c.65-.03 1.286.188 1.778.613.445.43.682 1.03.65 1.649v3.334h-.969v-.766h-.049a1.93 1.93 0 0 1-1.673.931 2.17 2.17 0 0 1-1.496-.533 1.667 1.667 0 0 1-.613-1.324 1.606 1.606 0 0 1 .613-1.336 2.746 2.746 0 0 1 1.698-.515c.517-.02 1.03.093 1.49.331v-.208a1.134 1.134 0 0 0-.417-.901 1.416 1.416 0 0 0-.98-.368 1.545 1.545 0 0 0-1.319.717l-.895-.564a2.488 2.488 0 0 1 2.182-1.06zM23.29 13.52a.79.79 0 0 0 .337.662c.223.176.5.269.785.263.429-.001.84-.17 1.146-.472.305-.286.478-.685.478-1.103a2.047 2.047 0 0 0-1.324-.374 1.716 1.716 0 0 0-1.03.294.883.883 0 0 0-.392.73zm9.286-3.75l-3.39 7.79h-1.048l1.281-2.728-2.224-5.062h1.103l1.612 3.885 1.569-3.885h1.097z" fill="#5F6368"></path>
<path d="M13.986 11.284c0-.308-.024-.616-.073-.92h-4.29v1.747h2.451a2.096 2.096 0 0 1-.9 1.373v1.134h1.464a4.433 4.433 0 0 0 1.348-3.334z" fill="#4285F4"></path>
<path d="M9.629 15.721a4.352 4.352 0 0 0 3.01-1.097l-1.466-1.14a2.752 2.752 0 0 1-4.094-1.44H5.577v1.17a4.53 4.53 0 0 0 4.052 2.507z" fill="#34A853"></path>
<path d="M7.079 12.05a2.709 2.709 0 0 1 0-1.735v-1.17H5.577a4.505 4.505 0 0 0 0 4.075l1.502-1.17z" fill="#FBBC04">
</path>
<path d="M9.629 8.44a2.452 2.452 0 0 1 1.74.68l1.3-1.293a4.37 4.37 0 0 0-3.065-1.183 4.53 4.53 0 0 0-4.027 2.5l1.502 1.171a2.715 2.715 0 0 1 2.55-1.875z" fill="#EA4335"></path></svg>
</li>
<li class="footer__payment__item">
<svg class="" xmlns="http://www.w3.org/2000/svg" viewbox="0 0 38 24"><title id="pi-jcb">JCB</title>
<g fill="none" fill-rule="evenodd">
<g fill-rule="nonzero">
<path d="M35 0H3C1.3 0 0 1.3 0 3v18c0 1.7 1.4 3 3 3h32c1.7 0 3-1.3 3-3V3c0-1.7-1.4-3-3-3z" fill="#000" opacity=".07"></path>
<path d="M35 1c1.1 0 2 .9 2 2v18c0 1.1-.9 2-2 2H3c-1.1 0-2-.9-2-2V3c0-1.1.9-2 2-2h32" fill="#FFF"></path>
</g>
<path d="M11.5 5H15v11.5a2.5 2.5 0 0 1-2.5 2.5H9V7.5A2.5 2.5 0 0 1 11.5 5z" fill="#006EBC"></path>
<path d="M18.5 5H22v11.5a2.5 2.5 0 0 1-2.5 2.5H16V7.5A2.5 2.5 0 0 1 18.5 5z" fill="#F00036"></path>
<path d="M25.5 5H29v11.5a2.5 2.5 0 0 1-2.5 2.5H23V7.5A2.5 2.5 0 0 1 25.5 5z" fill="#2AB419"></path>
<path d="M10.755 14.5c-1.06 0-2.122-.304-2.656-.987l.78-.676c.068 1.133 3.545 1.24 3.545-.19V9.5h1.802v3.147c0 .728-.574 1.322-1.573 1.632-.466.144-1.365.221-1.898.221zm8.116 0c-.674 0-1.388-.107-1.965-.366-.948-.425-1.312-1.206-1.3-2.199.012-1.014.436-1.782 1.468-2.165 1.319-.49 3.343-.261 3.926.27v.972c-.572-.521-1.958-.898-2.919-.46-.494.226-.737.917-.744 1.448-.006.56.245 1.252.744 1.497.953.467 2.39.04 2.919-.441v1.01c-.358.255-1.253.434-2.129.434zm8.679-2.587c.37-.235.582-.567.582-1.005 0-.438-.116-.687-.348-.939-.206-.207-.58-.469-1.238-.469H23v5h3.546c.696 0 1.097-.23 1.315-.415.283-.25.426-.53.426-.96 0-.431-.155-.908-.737-1.212zm-1.906-.281h-1.428v-1.444h1.495c.956 0 .944 1.444-.067 1.444zm.288 2.157h-1.716v-1.513h1.716c.986 0 1.083 1.513 0 1.513z" fill="#FFF" fill-rule="nonzero"></path>
</g></svg>
</li>
<li class="footer__payment__item">
<svg class="" xmlns="http://www.w3.org/2000/svg" viewbox="0 0 38 24"><title id="pi-klarna">Klarna</title>
<g stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<path d="M35 0H3C1.3 0 0 1.3 0 3v18c0 1.7 1.4 3 3 3h32c1.7 0 3-1.3 3-3V3c0-1.7-1.4-3-3-3z" fill="#FFB3C7">
</path>
<path d="M35 1c1.1 0 2 .9 2 2v18c0 1.1-.9 2-2 2H3c-1.1 0-2-.9-2-2V3c0-1.1.9-2 2-2h32" fill="#FFB3C7"></path>
<path d="M34.117 13.184c-.487 0-.882.4-.882.892 0 .493.395.893.882.893.488 0 .883-.4.883-.893a.888.888 0 00-.883-.892zm-2.903-.69c0-.676-.57-1.223-1.274-1.223-.704 0-1.274.547-1.274 1.222 0 .675.57 1.223 1.274 1.223.704 0 1.274-.548 1.274-1.223zm.005-2.376h1.406v4.75h-1.406v-.303a2.446 2.446 0 01-1.394.435c-1.369 0-2.478-1.122-2.478-2.507 0-1.384 1.11-2.506 2.478-2.506.517 0 .996.16 1.394.435v-.304zm-11.253.619v-.619h-1.44v4.75h1.443v-2.217c0-.749.802-1.15 1.359-1.15h.016v-1.382c-.57 0-1.096.247-1.378.618zm-3.586 1.756c0-.675-.57-1.222-1.274-1.222-.703 0-1.274.547-1.274 1.222 0 .675.57 1.223 1.274 1.223.704 0 1.274-.548 1.274-1.223zm.005-2.375h1.406v4.75h-1.406v-.303A2.446 2.446 0 0114.99 15c-1.368 0-2.478-1.122-2.478-2.507 0-1.384 1.11-2.506 2.478-2.506.517 0 .997.16 1.394.435v-.304zm8.463-.128c-.561 0-1.093.177-1.448.663v-.535H22v4.75h1.417v-2.496c0-.722.479-1.076 1.055-1.076.618 0 .973.374.973 1.066v2.507h1.405v-3.021c0-1.106-.87-1.858-2.002-1.858zM10.465 14.87h1.472V8h-1.472v6.868zM4 14.87h1.558V8H4v6.87zM9.45 8a5.497 5.497 0 01-1.593 3.9l2.154 2.97H8.086l-2.341-3.228.604-.458A3.96 3.96 0 007.926 8H9.45z" fill="#0A0B09" fill-rule="nonzero"></path>
</g></svg>
</li>
<li class="footer__payment__item">
<svg class="" xmlns="http://www.w3.org/2000/svg" viewbox="0 0 38 24"><title id="pi-discover">Discover</title>
<path fill="#000" opacity=".07" d="M35 0H3C1.3 0 0 1.3 0 3v18c0 1.7 1.4 3 3 3h32c1.7 0 3-1.3 3-3V3c0-1.7-1.4-3-3-3z"></path>
<path d="M35 1c1.1 0 2 .9 2 2v18c0 1.1-.9 2-2 2H3c-1.1 0-2-.9-2-2V3c0-1.1.9-2 2-2h32z" fill="#fff"></path>
<path d="M3.57 7.16H2v5.5h1.57c.83 0 1.43-.2 1.96-.63.63-.52 1-1.3 1-2.11-.01-1.63-1.22-2.76-2.96-2.76zm1.26 4.14c-.34.3-.77.44-1.47.44h-.29V8.1h.29c.69 0 1.11.12 1.47.44.37.33.59.84.59 1.37 0 .53-.22 1.06-.59 1.39zm2.19-4.14h1.07v5.5H7.02v-5.5zm3.69 2.11c-.64-.24-.83-.4-.83-.69 0-.35.34-.61.8-.61.32 0 .59.13.86.45l.56-.73c-.46-.4-1.01-.61-1.62-.61-.97 0-1.72.68-1.72 1.58 0 .76.35 1.15 1.35 1.51.42.15.63.25.74.31.21.14.32.34.32.57 0 .45-.35.78-.83.78-.51 0-.92-.26-1.17-.73l-.69.67c.49.73 1.09 1.05 1.9 1.05 1.11 0 1.9-.74 1.9-1.81.02-.89-.35-1.29-1.57-1.74zm1.92.65c0 1.62 1.27 2.87 2.9 2.87.46 0 .86-.09 1.34-.32v-1.26c-.43.43-.81.6-1.29.6-1.08 0-1.85-.78-1.85-1.9 0-1.06.79-1.89 1.8-1.89.51 0 .9.18 1.34.62V7.38c-.47-.24-.86-.34-1.32-.34-1.61 0-2.92 1.28-2.92 2.88zm12.76.94l-1.47-3.7h-1.17l2.33 5.64h.58l2.37-5.64h-1.16l-1.48 3.7zm3.13 1.8h3.04v-.93h-1.97v-1.48h1.9v-.93h-1.9V8.1h1.97v-.94h-3.04v5.5zm7.29-3.87c0-1.03-.71-1.62-1.95-1.62h-1.59v5.5h1.07v-2.21h.14l1.48 2.21h1.32l-1.73-2.32c.81-.17 1.26-.72 1.26-1.56zm-2.16.91h-.31V8.03h.33c.67 0 1.03.28 1.03.82 0 .55-.36.85-1.05.85z" fill="#231F20"></path>
<path d="M20.16 12.86a2.931 2.931 0 100-5.862 2.931 2.931 0 000 5.862z" fill="url(#pi-paint0_linear)"></path>
<path opacity=".65" d="M20.16 12.86a2.931 2.931 0 100-5.862 2.931 2.931 0 000 5.862z" fill="url(#pi-paint1_linear)"></path>
<path d="M36.57 7.506c0-.1-.07-.15-.18-.15h-.16v.48h.12v-.19l.14.19h.14l-.16-.2c.06-.01.1-.06.1-.13zm-.2.07h-.02v-.13h.02c.06 0 .09.02.09.06 0 .05-.03.07-.09.07z" fill="#231F20"></path>
<path d="M36.41 7.176c-.23 0-.42.19-.42.42 0 .23.19.42.42.42.23 0 .42-.19.42-.42 0-.23-.19-.42-.42-.42zm0 .77c-.18 0-.34-.15-.34-.35 0-.19.15-.35.34-.35.18 0 .33.16.33.35 0 .19-.15.35-.33.35z" fill="#231F20"></path>
<path d="M37 12.984S27.09 19.873 8.976 23h26.023a2 2 0 002-1.984l.024-3.02L37 12.985z" fill="#F48120"></path>
<defs>
<lineargradient id="pi-paint0_linear" x1="21.657" y1="12.275" x2="19.632" y2="9.104" gradientunits="userSpaceOnUse">
<stop stop-color="#F89F20"></stop>
<stop offset=".25" stop-color="#F79A20"></stop>
<stop offset=".533" stop-color="#F68D20"></stop>
<stop offset=".62" stop-color="#F58720"></stop>
<stop offset=".723" stop-color="#F48120"></stop>
<stop offset="1" stop-color="#F37521"></stop>
</lineargradient>
<lineargradient id="pi-paint1_linear" x1="21.338" y1="12.232" x2="18.378" y2="6.446" gradientunits="userSpaceOnUse">
<stop stop-color="#F58720"></stop>
<stop offset=".359" stop-color="#E16F27"></stop>
<stop offset=".703" stop-color="#D4602C"></stop>
<stop offset=".982" stop-color="#D05B2E"></stop>
</lineargradient>
</defs></svg>
</li>
<li class="footer__payment__item">
<svg class="" xmlns="http://www.w3.org/2000/svg" viewbox="0 0 38 24"><title id="pi-dwolla">Dwolla</title>
<path fill="#F37421" d="M38 22.5a1.5 1.5 0 0 1-1.5 1.5h-35A1.5 1.5 0 0 1 0 22.5v-21A1.5 1.5 0 0 1 1.5 0h35A1.5 1.5 0 0 1 38 1.5v21z">
</path>
<path d="M13.06 10.72c-.34-.37-.85-.56-1.53-.57H9.98v4.47h1.55c.68-.02 1.19-.21 1.53-.58.35-.36.52-.92.52-1.66s-.17-1.29-.52-1.66zm-.14 2.47c-.06.22-.16.39-.29.53s-.3.23-.51.3c-.2.06-.44.09-.73.09h-.8v-3.39h.8c.29 0 .53.03.73.09.21.07.38.16.51.3s.23.31.29.53c.06.21.1.47.1.78 0 .3-.03.56-.1.77zm-4.79-.92c-.26-.38-.58-.72-.87-1.09-.29-.38-.6-.75-.81-1.18-.3-.61-.36-1.46.44-2.03L4.51 9.05c-.54.25-.8.69-.79 1.29.01.57.25 1.06.6 1.49.33.41.67.8 1.02 1.2l.07.09.01.01-.57.26-.4.18c-.72.32-.97.94-.67 1.71.18.46.59.75 1.07.75l.31-.04.01-.01c.12-.04.21-.09.3-.15.79-.35 1.57-.71 2.34-1.08.51-.25.71-.71.72-1.26.01-.46-.14-.84-.4-1.22zm-3.04 3.46l-.24.03c-.37 0-.68-.22-.82-.58-.25-.63-.06-1.1.53-1.37l.4-.18c.2-.09.4-.19.61-.27l.04-.02.21.33c.11.21.19.46.17.74-.03.48-.29 1.07-.9 1.32zm18.45-4.23c-.09-.28-.22-.53-.39-.74-.18-.22-.4-.39-.66-.52-.26-.12-.57-.19-.92-.19-.35 0-.66.07-.93.19-.26.13-.48.3-.66.52-.17.21-.3.46-.39.74-.09.28-.13.57-.13.88s.04.61.13.88c.09.28.22.53.39.74.18.22.4.39.66.51.27.13.58.19.93.19.35 0 .66-.06.92-.19.26-.12.48-.29.66-.51.17-.21.3-.45.39-.74.09-.27.13-.57.13-.88s-.04-.6-.13-.88zm-.71 1.44c-.06.19-.14.36-.25.52-.11.15-.25.28-.42.37-.17.09-.38.14-.62.14s-.45-.05-.62-.14c-.17-.09-.32-.22-.43-.37-.11-.16-.19-.33-.24-.52-.05-.2-.08-.4-.08-.6 0-.2.03-.4.08-.59s.14-.37.24-.52c.11-.15.26-.28.43-.37.17-.09.38-.14.62-.14s.45.05.62.14c.17.09.31.22.42.37.11.15.19.33.25.52.05.19.08.39.08.59 0 .2-.03.4-.08.6zm9.76-2.79h-.76l-1.64 3.93h-2.03v-3.93h-.59v4.47h3.2l.54-1.39h1.81l.46 1.39h.77l-1.76-4.47zm-1.15 2.71l.83-2.12.65 2.12h-1.48zm-11.92-2.7l-1.23 4.47h-.46v-.01h-.16l-1.06-3.71-1.05 3.72h-.46v-.01h-.17l-1.24-4.47h.46v.01h.17l.94 3.63 1.01-3.64h.53v.01h.16l1.02 3.63.95-3.64h.42v.01zm7.62 3.92v.54h-2.93v-4.47h.66v3.93z" fill="#fff"></path></svg>
</li>
<li class="footer__payment__item">
<svg class="" xmlns="http://www.w3.org/2000/svg" viewbox="0 0 38 24"><title id="pi-sofort">SOFORT</title>
<g fill="none" fill-rule="evenodd">
<rect width="38" height="24" fill="#EB6F93" fill-rule="nonzero" rx="3"></rect>
<path fill="#FFF" d="M11.804 21.453c-.57 0-1.062-.264-1.362-.672l.564-.57c.168.216.444.45.81.45.342 0 .576-.204.576-.528 0-.348-.276-.432-.714-.558-.804-.234-1.128-.654-1.128-1.194 0-.678.516-1.266 1.332-1.266.516 0 .99.24 1.2.708l-.678.426c-.126-.21-.306-.348-.546-.348-.282 0-.462.192-.462.438 0 .294.258.384.672.504.648.192 1.176.516 1.176 1.26 0 .804-.624 1.35-1.44 1.35zm3.298 0c-.864 0-1.566-.69-1.566-1.53 0-.84.702-1.53 1.566-1.53.864 0 1.566.69 1.566 1.53 0 .84-.702 1.53-1.566 1.53zm0-.768c.42 0 .75-.33.75-.762a.745.745 0 0 0-.75-.762c-.42 0-.75.33-.75.762s.33.762.75.762zm3.586-2.742c-.456-.018-.786.21-.786.714v.312c.18-.192.438-.288.762-.288v.78c-.45.012-.762.3-.762.702v1.212h-.816v-2.76c0-.78.486-1.44 1.482-1.44h.12v.768zm1.78 3.51c-.864 0-1.566-.69-1.566-1.53 0-.84.702-1.53 1.566-1.53.864 0 1.566.69 1.566 1.53 0 .84-.702 1.53-1.566 1.53zm0-.768c.42 0 .75-.33.75-.762a.745.745 0 0 0-.75-.762c-.42 0-.75.33-.75.762s.33.762.75.762zm2.8-1.884c.162-.264.426-.39.798-.378v.876c-.492 0-.774.27-.774.75v1.326h-.816v-2.904h.792v.33zm2.08 1.092c0 .504.33.732.786.714v.768h-.12c-.996 0-1.482-.66-1.482-1.44v-2.4h.816v.456c0 .396.318.69.762.702v.78c-.324 0-.582-.096-.762-.288v.708zm1.762 1.53a.548.548 0 0 1-.546-.546c0-.3.246-.546.546-.546.3 0 .546.246.546.546 0 .3-.246.546-.546.546zm-7.772-6.71c2.55-.004 3.628-1.459 3.824-3.789.056-.67-.056-1.079-.258-1.295a.486.486 0 0 0-.153-.114.23.23 0 0 0-.06-.018l-3.023-.706a1.276 1.276 0 0 0-.581-.02.57.57 0 0 0-.46.431c-.101.34-.094.6.121.807.056.02.101.057.132.104.15.1.362.186.648.264l1.993.445c.33.074.23.57-.104.507a1.76 1.76 0 0 0-.86.083c-.487.183-.789.601-.826 1.377a.259.259 0 0 1-.518-.026c.042-.855.376-1.421.915-1.722l-.724-.161a3.181 3.181 0 0 1-.635-.24c-.083.128-.192.24-.321.33l-.057.037c-.035.024-.071.045-.107.065.23.434.167.983-.191 1.355l-.05.054a1.17 1.17 0 0 1-1.65.022l-.388-.384c.318 1.553 1.702 2.593 3.32 2.593h.013zm-.09.516c-2.05-.037-3.773-1.547-3.828-3.69l-.471-.466c-.582-.584-.676-1.393-.208-1.873l.05-.053c.2-.207.464-.32.733-.334-.325-.641-.224-1.343.282-1.69l.072-.047c.55-.319 1.028-.196 1.437.21l-.47-3.865c-.158-.672.254-1.408.882-1.542a1.233 1.233 0 0 1 1.464.958l.801 3.42 1.015-3.476a1.285 1.285 0 0 1 1.565-.911c.617.183.989.811.854 1.436l-1.118 5.57.48.112c.14.02.322.103.494.287.313.334.464.886.396 1.692-.217 2.59-1.493 4.288-4.413 4.263l-.017-.001zm2.556-6.47L22.918 3.2a.711.711 0 0 0-.484-.832.767.767 0 0 0-.928.55l-1.292 4.427a.26.26 0 0 1-.433.108.258.258 0 0 1-.07-.124l-1.026-4.384a.713.713 0 0 0-.85-.56c-.334.07-.584.523-.483.926l.005.031.583 4.79.37.552c.16-.22.39-.358.664-.419a1.773 1.773 0 0 1 .824.024l2.006.468zm-3.726.51l-.572-.852a.258.258 0 0 1-.053-.079l-.262-.39c-.334-.486-.658-.654-1.04-.433l-.055.037c-.297.204-.338.698-.028 1.167l1.132 1.685a.651.651 0 0 0 .902.173l.056-.037a.64.64 0 0 0 .19-.205c-.282-.293-.35-.655-.27-1.067zm-.324 1.937a1.17 1.17 0 0 1-.983-.512l-.842-1.253a.587.587 0 0 0-.765.065l-.05.053c-.252.259-.196.75.2 1.147l1.44 1.427a.65.65 0 0 0 .915-.012l.05-.052a.65.65 0 0 0 .035-.863z">
</path>
</g></svg>
</li>
</ul>
</div>
<spz-accordion layout="container" animate class="footer__block accordion lg:hidden footer__block-payment i-spzhtml-layout-container" i-spzhtml-layout="container">
<section>
<p class="footer__block__header">
We accept
<svg class="footer__block__header__icon" width="20" height="20" xmlns="http://www.w3.org/2000/svg"><path d="M9.573 6.787a.6.6 0 0 1 .849 0l5.02 5.02a.3.3 0 0 1 0 .425l-.424.425a.3.3 0 0 1-.424 0L9.998 8.06 5.4 12.657a.3.3 0 0 1-.424 0l-.424-.425a.3.3 0 0 1 0-.424l5.02-5.02z" fill="currentColor"></path></svg>
</p>
<div>
<ul class="footer__block__content">
<li class="footer__payment__item">
<svg class="" xmlns="http://www.w3.org/2000/svg" viewbox="0 0 38 24"><title id="pi-american_express">American Express</title>
<g fill="none">
<path fill="#000" d="M35,0 L3,0 C1.3,0 0,1.3 0,3 L0,21 C0,22.7 1.4,24 3,24 L35,24 C36.7,24 38,22.7 38,21 L38,3 C38,1.3 36.6,0 35,0 Z" opacity=".07"></path>
<path fill="#006FCF" d="M35,1 C36.1,1 37,1.9 37,3 L37,21 C37,22.1 36.1,23 35,23 L3,23 C1.9,23 1,22.1 1,21 L1,3 C1,1.9 1.9,1 3,1 L35,1">
</path>
<path fill="#FFF" d="M8.971,10.268 L9.745,12.144 L8.203,12.144 L8.971,10.268 Z M25.046,10.346 L22.069,10.346 L22.069,11.173 L24.998,11.173 L24.998,12.412 L22.075,12.412 L22.075,13.334 L25.052,13.334 L25.052,14.073 L27.129,11.828 L25.052,9.488 L25.046,10.346 L25.046,10.346 Z M10.983,8.006 L14.978,8.006 L15.865,9.941 L16.687,8 L27.057,8 L28.135,9.19 L29.25,8 L34.013,8 L30.494,11.852 L33.977,15.68 L29.143,15.68 L28.065,14.49 L26.94,15.68 L10.03,15.68 L9.536,14.49 L8.406,14.49 L7.911,15.68 L4,15.68 L7.286,8 L10.716,8 L10.983,8.006 Z M19.646,9.084 L17.407,9.084 L15.907,12.62 L14.282,9.084 L12.06,9.084 L12.06,13.894 L10,9.084 L8.007,9.084 L5.625,14.596 L7.18,14.596 L7.674,13.406 L10.27,13.406 L10.764,14.596 L13.484,14.596 L13.484,10.661 L15.235,14.602 L16.425,14.602 L18.165,10.673 L18.165,14.603 L19.623,14.603 L19.647,9.083 L19.646,9.084 Z M28.986,11.852 L31.517,9.084 L29.695,9.084 L28.094,10.81 L26.546,9.084 L20.652,9.084 L20.652,14.602 L26.462,14.602 L28.076,12.864 L29.624,14.602 L31.499,14.602 L28.987,11.852 L28.986,11.852 Z">
</path>
</g></svg>
</li>
<li class="footer__payment__item">
<svg class="" xmlns="http://www.w3.org/2000/svg" viewbox="0 0 165.521 105.965"><title id="pi-apple_pay">Apple Pay</title>
<path fill="#000" d="M150.698 0H14.823c-.566 0-1.133 0-1.698.003-.477.004-.953.009-1.43.022-1.039.028-2.087.09-3.113.274a10.51 10.51 0 0 0-2.958.975 9.932 9.932 0 0 0-4.35 4.35 10.463 10.463 0 0 0-.975 2.96C.113 9.611.052 10.658.024 11.696a70.22 70.22 0 0 0-.022 1.43C0 13.69 0 14.256 0 14.823v76.318c0 .567 0 1.132.002 1.699.003.476.009.953.022 1.43.028 1.036.09 2.084.275 3.11a10.46 10.46 0 0 0 .974 2.96 9.897 9.897 0 0 0 1.83 2.52 9.874 9.874 0 0 0 2.52 1.83c.947.483 1.917.79 2.96.977 1.025.183 2.073.245 3.112.273.477.011.953.017 1.43.02.565.004 1.132.004 1.698.004h135.875c.565 0 1.132 0 1.697-.004.476-.002.952-.009 1.431-.02 1.037-.028 2.085-.09 3.113-.273a10.478 10.478 0 0 0 2.958-.977 9.955 9.955 0 0 0 4.35-4.35c.483-.947.789-1.917.974-2.96.186-1.026.246-2.074.274-3.11.013-.477.02-.954.022-1.43.004-.567.004-1.132.004-1.699V14.824c0-.567 0-1.133-.004-1.699a63.067 63.067 0 0 0-.022-1.429c-.028-1.038-.088-2.085-.274-3.112a10.4 10.4 0 0 0-.974-2.96 9.94 9.94 0 0 0-4.35-4.35A10.52 10.52 0 0 0 156.939.3c-1.028-.185-2.076-.246-3.113-.274a71.417 71.417 0 0 0-1.431-.022C151.83 0 151.263 0 150.698 0z">
</path>
<path fill="#FFF" d="M150.698 3.532l1.672.003c.452.003.905.008 1.36.02.793.022 1.719.065 2.583.22.75.135 1.38.34 1.984.648a6.392 6.392 0 0 1 2.804 2.807c.306.6.51 1.226.645 1.983.154.854.197 1.783.218 2.58.013.45.019.9.02 1.36.005.557.005 1.113.005 1.671v76.318c0 .558 0 1.114-.004 1.682-.002.45-.008.9-.02 1.35-.022.796-.065 1.725-.221 2.589a6.855 6.855 0 0 1-.645 1.975 6.397 6.397 0 0 1-2.808 2.807c-.6.306-1.228.511-1.971.645-.881.157-1.847.2-2.574.22-.457.01-.912.017-1.379.019-.555.004-1.113.004-1.669.004H14.801c-.55 0-1.1 0-1.66-.004a74.993 74.993 0 0 1-1.35-.018c-.744-.02-1.71-.064-2.584-.22a6.938 6.938 0 0 1-1.986-.65 6.337 6.337 0 0 1-1.622-1.18 6.355 6.355 0 0 1-1.178-1.623 6.935 6.935 0 0 1-.646-1.985c-.156-.863-.2-1.788-.22-2.578a66.088 66.088 0 0 1-.02-1.355l-.003-1.327V14.474l.002-1.325a66.7 66.7 0 0 1 .02-1.357c.022-.792.065-1.717.222-2.587a6.924 6.924 0 0 1 .646-1.981c.304-.598.7-1.144 1.18-1.623a6.386 6.386 0 0 1 1.624-1.18 6.96 6.96 0 0 1 1.98-.646c.865-.155 1.792-.198 2.586-.22.452-.012.905-.017 1.354-.02l1.677-.003h135.875">
</path>
<g>
<g>
<path fill="#000" d="M43.508 35.77c1.404-1.755 2.356-4.112 2.105-6.52-2.054.102-4.56 1.355-6.012 3.112-1.303 1.504-2.456 3.959-2.156 6.266 2.306.2 4.61-1.152 6.063-2.858">
</path>
<path fill="#000" d="M45.587 39.079c-3.35-.2-6.196 1.9-7.795 1.9-1.6 0-4.049-1.8-6.698-1.751-3.447.05-6.645 2-8.395 5.1-3.598 6.2-.95 15.4 2.55 20.45 1.699 2.5 3.747 5.25 6.445 5.151 2.55-.1 3.549-1.65 6.647-1.65 3.097 0 3.997 1.65 6.696 1.6 2.798-.05 4.548-2.5 6.247-5 1.95-2.85 2.747-5.6 2.797-5.75-.05-.05-5.396-2.101-5.446-8.251-.05-5.15 4.198-7.6 4.398-7.751-2.399-3.548-6.147-3.948-7.447-4.048">
</path>
</g>
<g>
<path fill="#000" d="M78.973 32.11c7.278 0 12.347 5.017 12.347 12.321 0 7.33-5.173 12.373-12.529 12.373h-8.058V69.62h-5.822V32.11h14.062zm-8.24 19.807h6.68c5.07 0 7.954-2.729 7.954-7.46 0-4.73-2.885-7.434-7.928-7.434h-6.706v14.894z">
</path>
<path fill="#000" d="M92.764 61.847c0-4.809 3.665-7.564 10.423-7.98l7.252-.442v-2.08c0-3.04-2.001-4.704-5.562-4.704-2.938 0-5.07 1.507-5.51 3.82h-5.252c.157-4.86 4.731-8.395 10.918-8.395 6.654 0 10.995 3.483 10.995 8.89v18.663h-5.38v-4.497h-.13c-1.534 2.937-4.914 4.782-8.579 4.782-5.406 0-9.175-3.222-9.175-8.057zm17.675-2.417v-2.106l-6.472.416c-3.64.234-5.536 1.585-5.536 3.95 0 2.288 1.975 3.77 5.068 3.77 3.95 0 6.94-2.522 6.94-6.03z">
</path>
<path fill="#000" d="M120.975 79.652v-4.496c.364.051 1.247.103 1.715.103 2.573 0 4.029-1.09 4.913-3.899l.52-1.663-9.852-27.293h6.082l6.863 22.146h.13l6.862-22.146h5.927l-10.216 28.67c-2.34 6.577-5.017 8.735-10.683 8.735-.442 0-1.872-.052-2.261-.157z">
</path>
</g>
</g></svg>
</li>
<li class="footer__payment__item">
<svg class="" xmlns="http://www.w3.org/2000/svg" viewbox="0 0 38 24"><title id="pi-master">Mastercard</title>
<path opacity=".07" d="M35 0H3C1.3 0 0 1.3 0 3v18c0 1.7 1.4 3 3 3h32c1.7 0 3-1.3 3-3V3c0-1.7-1.4-3-3-3z"></path>
<path fill="#fff" d="M35 1c1.1 0 2 .9 2 2v18c0 1.1-.9 2-2 2H3c-1.1 0-2-.9-2-2V3c0-1.1.9-2 2-2h32"></path>
<circle fill="#EB001B" cx="15" cy="12" r="7"></circle>
<circle fill="#F79E1B" cx="23" cy="12" r="7"></circle>
<path fill="#FF5F00" d="M22 12c0-2.4-1.2-4.5-3-5.7-1.8 1.3-3 3.4-3 5.7s1.2 4.5 3 5.7c1.8-1.2 3-3.3 3-5.7z"></path></svg>
</li>
<li class="footer__payment__item">
<svg class="" xmlns="http://www.w3.org/2000/svg" viewbox="0 0 38 24"><title id="pi-paypal">PayPal</title>
<path opacity=".07" d="M35 0H3C1.3 0 0 1.3 0 3v18c0 1.7 1.4 3 3 3h32c1.7 0 3-1.3 3-3V3c0-1.7-1.4-3-3-3z"></path>
<path fill="#fff" d="M35 1c1.1 0 2 .9 2 2v18c0 1.1-.9 2-2 2H3c-1.1 0-2-.9-2-2V3c0-1.1.9-2 2-2h32"></path>
<path fill="#003087" d="M23.9 8.3c.2-1 0-1.7-.6-2.3-.6-.7-1.7-1-3.1-1h-4.1c-.3 0-.5.2-.6.5L14 15.6c0 .2.1.4.3.4H17l.4-3.4 1.8-2.2 4.7-2.1z">
</path>
<path fill="#3086C8" d="M23.9 8.3l-.2.2c-.5 2.8-2.2 3.8-4.6 3.8H18c-.3 0-.5.2-.6.5l-.6 3.9-.2 1c0 .2.1.4.3.4H19c.3 0 .5-.2.5-.4v-.1l.4-2.4v-.1c0-.2.3-.4.5-.4h.3c2.1 0 3.7-.8 4.1-3.2.2-1 .1-1.8-.4-2.4-.1-.5-.3-.7-.5-.8z">
</path>
<path fill="#012169" d="M23.3 8.1c-.1-.1-.2-.1-.3-.1-.1 0-.2 0-.3-.1-.3-.1-.7-.1-1.1-.1h-3c-.1 0-.2 0-.2.1-.2.1-.3.2-.3.4l-.7 4.4v.1c0-.3.3-.5.6-.5h1.3c2.5 0 4.1-1 4.6-3.8v-.2c-.1-.1-.3-.2-.5-.2h-.1z">
</path></svg>
</li>
<li class="footer__payment__item">
<svg class="" xmlns="http://www.w3.org/2000/svg" viewbox="0 0 38 24"><title id="pi-visa">Visa</title>
<path opacity=".07" d="M35 0H3C1.3 0 0 1.3 0 3v18c0 1.7 1.4 3 3 3h32c1.7 0 3-1.3 3-3V3c0-1.7-1.4-3-3-3z"></path>
<path fill="#fff" d="M35 1c1.1 0 2 .9 2 2v18c0 1.1-.9 2-2 2H3c-1.1 0-2-.9-2-2V3c0-1.1.9-2 2-2h32"></path>
<path d="M28.3 10.1H28c-.4 1-.7 1.5-1 3h1.9c-.3-1.5-.3-2.2-.6-3zm2.9 5.9h-1.7c-.1 0-.1 0-.2-.1l-.2-.9-.1-.2h-2.4c-.1 0-.2 0-.2.2l-.3.9c0 .1-.1.1-.1.1h-2.1l.2-.5L27 8.7c0-.5.3-.7.8-.7h1.5c.1 0 .2 0 .2.2l1.4 6.5c.1.4.2.7.2 1.1.1.1.1.1.1.2zm-13.4-.3l.4-1.8c.1 0 .2.1.2.1.7.3 1.4.5 2.1.4.2 0 .5-.1.7-.2.5-.2.5-.7.1-1.1-.2-.2-.5-.3-.8-.5-.4-.2-.8-.4-1.1-.7-1.2-1-.8-2.4-.1-3.1.6-.4.9-.8 1.7-.8 1.2 0 2.5 0 3.1.2h.1c-.1.6-.2 1.1-.4 1.7-.5-.2-1-.4-1.5-.4-.3 0-.6 0-.9.1-.2 0-.3.1-.4.2-.2.2-.2.5 0 .7l.5.4c.4.2.8.4 1.1.6.5.3 1 .8 1.1 1.4.2.9-.1 1.7-.9 2.3-.5.4-.7.6-1.4.6-1.4 0-2.5.1-3.4-.2-.1.2-.1.2-.2.1zm-3.5.3c.1-.7.1-.7.2-1 .5-2.2 1-4.5 1.4-6.7.1-.2.1-.3.3-.3H18c-.2 1.2-.4 2.1-.7 3.2-.3 1.5-.6 3-1 4.5 0 .2-.1.2-.3.2M5 8.2c0-.1.2-.2.3-.2h3.4c.5 0 .9.3 1 .8l.9 4.4c0 .1 0 .1.1.2 0-.1.1-.1.1-.1l2.1-5.1c-.1-.1 0-.2.1-.2h2.1c0 .1 0 .1-.1.2l-3.1 7.3c-.1.2-.1.3-.2.4-.1.1-.3 0-.5 0H9.7c-.1 0-.2 0-.2-.2L7.9 9.5c-.2-.2-.5-.5-.9-.6-.6-.3-1.7-.5-1.9-.5L5 8.2z" fill="#142688"></path></svg>
</li>
<li class="footer__payment__item">
<svg class="" xmlns="http://www.w3.org/2000/svg" viewbox="0 0 38 24"><title id="pi-google_pay">Google Pay</title>
<path d="M35 0H3C1.3 0 0 1.3 0 3v18c0 1.7 1.4 3 3 3h32c1.7 0 3-1.3 3-3V3c0-1.7-1.4-3-3-3z" fill="#000" opacity=".07"></path>
<path d="M35 1c1.1 0 2 .9 2 2v18c0 1.1-.9 2-2 2H3c-1.1 0-2-.9-2-2V3c0-1.1.9-2 2-2h32" fill="#FFF"></path>
<path d="M18.093 11.976v3.2h-1.018v-7.9h2.691a2.447 2.447 0 0 1 1.747.692 2.28 2.28 0 0 1 .11 3.224l-.11.116c-.47.447-1.098.69-1.747.674l-1.673-.006zm0-3.732v2.788h1.698c.377.012.741-.135 1.005-.404a1.391 1.391 0 0 0-1.005-2.354l-1.698-.03zm6.484 1.348c.65-.03 1.286.188 1.778.613.445.43.682 1.03.65 1.649v3.334h-.969v-.766h-.049a1.93 1.93 0 0 1-1.673.931 2.17 2.17 0 0 1-1.496-.533 1.667 1.667 0 0 1-.613-1.324 1.606 1.606 0 0 1 .613-1.336 2.746 2.746 0 0 1 1.698-.515c.517-.02 1.03.093 1.49.331v-.208a1.134 1.134 0 0 0-.417-.901 1.416 1.416 0 0 0-.98-.368 1.545 1.545 0 0 0-1.319.717l-.895-.564a2.488 2.488 0 0 1 2.182-1.06zM23.29 13.52a.79.79 0 0 0 .337.662c.223.176.5.269.785.263.429-.001.84-.17 1.146-.472.305-.286.478-.685.478-1.103a2.047 2.047 0 0 0-1.324-.374 1.716 1.716 0 0 0-1.03.294.883.883 0 0 0-.392.73zm9.286-3.75l-3.39 7.79h-1.048l1.281-2.728-2.224-5.062h1.103l1.612 3.885 1.569-3.885h1.097z" fill="#5F6368"></path>
<path d="M13.986 11.284c0-.308-.024-.616-.073-.92h-4.29v1.747h2.451a2.096 2.096 0 0 1-.9 1.373v1.134h1.464a4.433 4.433 0 0 0 1.348-3.334z" fill="#4285F4"></path>
<path d="M9.629 15.721a4.352 4.352 0 0 0 3.01-1.097l-1.466-1.14a2.752 2.752 0 0 1-4.094-1.44H5.577v1.17a4.53 4.53 0 0 0 4.052 2.507z" fill="#34A853"></path>
<path d="M7.079 12.05a2.709 2.709 0 0 1 0-1.735v-1.17H5.577a4.505 4.505 0 0 0 0 4.075l1.502-1.17z" fill="#FBBC04">
</path>
<path d="M9.629 8.44a2.452 2.452 0 0 1 1.74.68l1.3-1.293a4.37 4.37 0 0 0-3.065-1.183 4.53 4.53 0 0 0-4.027 2.5l1.502 1.171a2.715 2.715 0 0 1 2.55-1.875z" fill="#EA4335"></path></svg>
</li>
<li class="footer__payment__item">
<svg class="" xmlns="http://www.w3.org/2000/svg" viewbox="0 0 38 24"><title id="pi-jcb">JCB</title>
<g fill="none" fill-rule="evenodd">
<g fill-rule="nonzero">
<path d="M35 0H3C1.3 0 0 1.3 0 3v18c0 1.7 1.4 3 3 3h32c1.7 0 3-1.3 3-3V3c0-1.7-1.4-3-3-3z" fill="#000" opacity=".07"></path>
<path d="M35 1c1.1 0 2 .9 2 2v18c0 1.1-.9 2-2 2H3c-1.1 0-2-.9-2-2V3c0-1.1.9-2 2-2h32" fill="#FFF"></path>
</g>
<path d="M11.5 5H15v11.5a2.5 2.5 0 0 1-2.5 2.5H9V7.5A2.5 2.5 0 0 1 11.5 5z" fill="#006EBC"></path>
<path d="M18.5 5H22v11.5a2.5 2.5 0 0 1-2.5 2.5H16V7.5A2.5 2.5 0 0 1 18.5 5z" fill="#F00036"></path>
<path d="M25.5 5H29v11.5a2.5 2.5 0 0 1-2.5 2.5H23V7.5A2.5 2.5 0 0 1 25.5 5z" fill="#2AB419"></path>
<path d="M10.755 14.5c-1.06 0-2.122-.304-2.656-.987l.78-.676c.068 1.133 3.545 1.24 3.545-.19V9.5h1.802v3.147c0 .728-.574 1.322-1.573 1.632-.466.144-1.365.221-1.898.221zm8.116 0c-.674 0-1.388-.107-1.965-.366-.948-.425-1.312-1.206-1.3-2.199.012-1.014.436-1.782 1.468-2.165 1.319-.49 3.343-.261 3.926.27v.972c-.572-.521-1.958-.898-2.919-.46-.494.226-.737.917-.744 1.448-.006.56.245 1.252.744 1.497.953.467 2.39.04 2.919-.441v1.01c-.358.255-1.253.434-2.129.434zm8.679-2.587c.37-.235.582-.567.582-1.005 0-.438-.116-.687-.348-.939-.206-.207-.58-.469-1.238-.469H23v5h3.546c.696 0 1.097-.23 1.315-.415.283-.25.426-.53.426-.96 0-.431-.155-.908-.737-1.212zm-1.906-.281h-1.428v-1.444h1.495c.956 0 .944 1.444-.067 1.444zm.288 2.157h-1.716v-1.513h1.716c.986 0 1.083 1.513 0 1.513z" fill="#FFF" fill-rule="nonzero"></path>
</g></svg>
</li>
<li class="footer__payment__item">
<svg class="" xmlns="http://www.w3.org/2000/svg" viewbox="0 0 38 24"><title id="pi-klarna">Klarna</title>
<g stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<path d="M35 0H3C1.3 0 0 1.3 0 3v18c0 1.7 1.4 3 3 3h32c1.7 0 3-1.3 3-3V3c0-1.7-1.4-3-3-3z" fill="#FFB3C7">
</path>
<path d="M35 1c1.1 0 2 .9 2 2v18c0 1.1-.9 2-2 2H3c-1.1 0-2-.9-2-2V3c0-1.1.9-2 2-2h32" fill="#FFB3C7"></path>
<path d="M34.117 13.184c-.487 0-.882.4-.882.892 0 .493.395.893.882.893.488 0 .883-.4.883-.893a.888.888 0 00-.883-.892zm-2.903-.69c0-.676-.57-1.223-1.274-1.223-.704 0-1.274.547-1.274 1.222 0 .675.57 1.223 1.274 1.223.704 0 1.274-.548 1.274-1.223zm.005-2.376h1.406v4.75h-1.406v-.303a2.446 2.446 0 01-1.394.435c-1.369 0-2.478-1.122-2.478-2.507 0-1.384 1.11-2.506 2.478-2.506.517 0 .996.16 1.394.435v-.304zm-11.253.619v-.619h-1.44v4.75h1.443v-2.217c0-.749.802-1.15 1.359-1.15h.016v-1.382c-.57 0-1.096.247-1.378.618zm-3.586 1.756c0-.675-.57-1.222-1.274-1.222-.703 0-1.274.547-1.274 1.222 0 .675.57 1.223 1.274 1.223.704 0 1.274-.548 1.274-1.223zm.005-2.375h1.406v4.75h-1.406v-.303A2.446 2.446 0 0114.99 15c-1.368 0-2.478-1.122-2.478-2.507 0-1.384 1.11-2.506 2.478-2.506.517 0 .997.16 1.394.435v-.304zm8.463-.128c-.561 0-1.093.177-1.448.663v-.535H22v4.75h1.417v-2.496c0-.722.479-1.076 1.055-1.076.618 0 .973.374.973 1.066v2.507h1.405v-3.021c0-1.106-.87-1.858-2.002-1.858zM10.465 14.87h1.472V8h-1.472v6.868zM4 14.87h1.558V8H4v6.87zM9.45 8a5.497 5.497 0 01-1.593 3.9l2.154 2.97H8.086l-2.341-3.228.604-.458A3.96 3.96 0 007.926 8H9.45z" fill="#0A0B09" fill-rule="nonzero"></path>
</g></svg>
</li>
<li class="footer__payment__item">
<svg class="" xmlns="http://www.w3.org/2000/svg" viewbox="0 0 38 24"><title id="pi-discover">Discover</title>
<path fill="#000" opacity=".07" d="M35 0H3C1.3 0 0 1.3 0 3v18c0 1.7 1.4 3 3 3h32c1.7 0 3-1.3 3-3V3c0-1.7-1.4-3-3-3z"></path>
<path d="M35 1c1.1 0 2 .9 2 2v18c0 1.1-.9 2-2 2H3c-1.1 0-2-.9-2-2V3c0-1.1.9-2 2-2h32z" fill="#fff"></path>
<path d="M3.57 7.16H2v5.5h1.57c.83 0 1.43-.2 1.96-.63.63-.52 1-1.3 1-2.11-.01-1.63-1.22-2.76-2.96-2.76zm1.26 4.14c-.34.3-.77.44-1.47.44h-.29V8.1h.29c.69 0 1.11.12 1.47.44.37.33.59.84.59 1.37 0 .53-.22 1.06-.59 1.39zm2.19-4.14h1.07v5.5H7.02v-5.5zm3.69 2.11c-.64-.24-.83-.4-.83-.69 0-.35.34-.61.8-.61.32 0 .59.13.86.45l.56-.73c-.46-.4-1.01-.61-1.62-.61-.97 0-1.72.68-1.72 1.58 0 .76.35 1.15 1.35 1.51.42.15.63.25.74.31.21.14.32.34.32.57 0 .45-.35.78-.83.78-.51 0-.92-.26-1.17-.73l-.69.67c.49.73 1.09 1.05 1.9 1.05 1.11 0 1.9-.74 1.9-1.81.02-.89-.35-1.29-1.57-1.74zm1.92.65c0 1.62 1.27 2.87 2.9 2.87.46 0 .86-.09 1.34-.32v-1.26c-.43.43-.81.6-1.29.6-1.08 0-1.85-.78-1.85-1.9 0-1.06.79-1.89 1.8-1.89.51 0 .9.18 1.34.62V7.38c-.47-.24-.86-.34-1.32-.34-1.61 0-2.92 1.28-2.92 2.88zm12.76.94l-1.47-3.7h-1.17l2.33 5.64h.58l2.37-5.64h-1.16l-1.48 3.7zm3.13 1.8h3.04v-.93h-1.97v-1.48h1.9v-.93h-1.9V8.1h1.97v-.94h-3.04v5.5zm7.29-3.87c0-1.03-.71-1.62-1.95-1.62h-1.59v5.5h1.07v-2.21h.14l1.48 2.21h1.32l-1.73-2.32c.81-.17 1.26-.72 1.26-1.56zm-2.16.91h-.31V8.03h.33c.67 0 1.03.28 1.03.82 0 .55-.36.85-1.05.85z" fill="#231F20"></path>
<path d="M20.16 12.86a2.931 2.931 0 100-5.862 2.931 2.931 0 000 5.862z" fill="url(#pi-paint0_linear)"></path>
<path opacity=".65" d="M20.16 12.86a2.931 2.931 0 100-5.862 2.931 2.931 0 000 5.862z" fill="url(#pi-paint1_linear)"></path>
<path d="M36.57 7.506c0-.1-.07-.15-.18-.15h-.16v.48h.12v-.19l.14.19h.14l-.16-.2c.06-.01.1-.06.1-.13zm-.2.07h-.02v-.13h.02c.06 0 .09.02.09.06 0 .05-.03.07-.09.07z" fill="#231F20"></path>
<path d="M36.41 7.176c-.23 0-.42.19-.42.42 0 .23.19.42.42.42.23 0 .42-.19.42-.42 0-.23-.19-.42-.42-.42zm0 .77c-.18 0-.34-.15-.34-.35 0-.19.15-.35.34-.35.18 0 .33.16.33.35 0 .19-.15.35-.33.35z" fill="#231F20"></path>
<path d="M37 12.984S27.09 19.873 8.976 23h26.023a2 2 0 002-1.984l.024-3.02L37 12.985z" fill="#F48120"></path>
<defs>
<lineargradient id="pi-paint0_linear" x1="21.657" y1="12.275" x2="19.632" y2="9.104" gradientunits="userSpaceOnUse">
<stop stop-color="#F89F20"></stop>
<stop offset=".25" stop-color="#F79A20"></stop>
<stop offset=".533" stop-color="#F68D20"></stop>
<stop offset=".62" stop-color="#F58720"></stop>
<stop offset=".723" stop-color="#F48120"></stop>
<stop offset="1" stop-color="#F37521"></stop>
</lineargradient>
<lineargradient id="pi-paint1_linear" x1="21.338" y1="12.232" x2="18.378" y2="6.446" gradientunits="userSpaceOnUse">
<stop stop-color="#F58720"></stop>
<stop offset=".359" stop-color="#E16F27"></stop>
<stop offset=".703" stop-color="#D4602C"></stop>
<stop offset=".982" stop-color="#D05B2E"></stop>
</lineargradient>
</defs></svg>
</li>
<li class="footer__payment__item">
<svg class="" xmlns="http://www.w3.org/2000/svg" viewbox="0 0 38 24"><title id="pi-dwolla">Dwolla</title>
<path fill="#F37421" d="M38 22.5a1.5 1.5 0 0 1-1.5 1.5h-35A1.5 1.5 0 0 1 0 22.5v-21A1.5 1.5 0 0 1 1.5 0h35A1.5 1.5 0 0 1 38 1.5v21z">
</path>
<path d="M13.06 10.72c-.34-.37-.85-.56-1.53-.57H9.98v4.47h1.55c.68-.02 1.19-.21 1.53-.58.35-.36.52-.92.52-1.66s-.17-1.29-.52-1.66zm-.14 2.47c-.06.22-.16.39-.29.53s-.3.23-.51.3c-.2.06-.44.09-.73.09h-.8v-3.39h.8c.29 0 .53.03.73.09.21.07.38.16.51.3s.23.31.29.53c.06.21.1.47.1.78 0 .3-.03.56-.1.77zm-4.79-.92c-.26-.38-.58-.72-.87-1.09-.29-.38-.6-.75-.81-1.18-.3-.61-.36-1.46.44-2.03L4.51 9.05c-.54.25-.8.69-.79 1.29.01.57.25 1.06.6 1.49.33.41.67.8 1.02 1.2l.07.09.01.01-.57.26-.4.18c-.72.32-.97.94-.67 1.71.18.46.59.75 1.07.75l.31-.04.01-.01c.12-.04.21-.09.3-.15.79-.35 1.57-.71 2.34-1.08.51-.25.71-.71.72-1.26.01-.46-.14-.84-.4-1.22zm-3.04 3.46l-.24.03c-.37 0-.68-.22-.82-.58-.25-.63-.06-1.1.53-1.37l.4-.18c.2-.09.4-.19.61-.27l.04-.02.21.33c.11.21.19.46.17.74-.03.48-.29 1.07-.9 1.32zm18.45-4.23c-.09-.28-.22-.53-.39-.74-.18-.22-.4-.39-.66-.52-.26-.12-.57-.19-.92-.19-.35 0-.66.07-.93.19-.26.13-.48.3-.66.52-.17.21-.3.46-.39.74-.09.28-.13.57-.13.88s.04.61.13.88c.09.28.22.53.39.74.18.22.4.39.66.51.27.13.58.19.93.19.35 0 .66-.06.92-.19.26-.12.48-.29.66-.51.17-.21.3-.45.39-.74.09-.27.13-.57.13-.88s-.04-.6-.13-.88zm-.71 1.44c-.06.19-.14.36-.25.52-.11.15-.25.28-.42.37-.17.09-.38.14-.62.14s-.45-.05-.62-.14c-.17-.09-.32-.22-.43-.37-.11-.16-.19-.33-.24-.52-.05-.2-.08-.4-.08-.6 0-.2.03-.4.08-.59s.14-.37.24-.52c.11-.15.26-.28.43-.37.17-.09.38-.14.62-.14s.45.05.62.14c.17.09.31.22.42.37.11.15.19.33.25.52.05.19.08.39.08.59 0 .2-.03.4-.08.6zm9.76-2.79h-.76l-1.64 3.93h-2.03v-3.93h-.59v4.47h3.2l.54-1.39h1.81l.46 1.39h.77l-1.76-4.47zm-1.15 2.71l.83-2.12.65 2.12h-1.48zm-11.92-2.7l-1.23 4.47h-.46v-.01h-.16l-1.06-3.71-1.05 3.72h-.46v-.01h-.17l-1.24-4.47h.46v.01h.17l.94 3.63 1.01-3.64h.53v.01h.16l1.02 3.63.95-3.64h.42v.01zm7.62 3.92v.54h-2.93v-4.47h.66v3.93z" fill="#fff"></path></svg>
</li>
<li class="footer__payment__item">
<svg class="" xmlns="http://www.w3.org/2000/svg" viewbox="0 0 38 24"><title id="pi-sofort">SOFORT</title>
<g fill="none" fill-rule="evenodd">
<rect width="38" height="24" fill="#EB6F93" fill-rule="nonzero" rx="3"></rect>
<path fill="#FFF" d="M11.804 21.453c-.57 0-1.062-.264-1.362-.672l.564-.57c.168.216.444.45.81.45.342 0 .576-.204.576-.528 0-.348-.276-.432-.714-.558-.804-.234-1.128-.654-1.128-1.194 0-.678.516-1.266 1.332-1.266.516 0 .99.24 1.2.708l-.678.426c-.126-.21-.306-.348-.546-.348-.282 0-.462.192-.462.438 0 .294.258.384.672.504.648.192 1.176.516 1.176 1.26 0 .804-.624 1.35-1.44 1.35zm3.298 0c-.864 0-1.566-.69-1.566-1.53 0-.84.702-1.53 1.566-1.53.864 0 1.566.69 1.566 1.53 0 .84-.702 1.53-1.566 1.53zm0-.768c.42 0 .75-.33.75-.762a.745.745 0 0 0-.75-.762c-.42 0-.75.33-.75.762s.33.762.75.762zm3.586-2.742c-.456-.018-.786.21-.786.714v.312c.18-.192.438-.288.762-.288v.78c-.45.012-.762.3-.762.702v1.212h-.816v-2.76c0-.78.486-1.44 1.482-1.44h.12v.768zm1.78 3.51c-.864 0-1.566-.69-1.566-1.53 0-.84.702-1.53 1.566-1.53.864 0 1.566.69 1.566 1.53 0 .84-.702 1.53-1.566 1.53zm0-.768c.42 0 .75-.33.75-.762a.745.745 0 0 0-.75-.762c-.42 0-.75.33-.75.762s.33.762.75.762zm2.8-1.884c.162-.264.426-.39.798-.378v.876c-.492 0-.774.27-.774.75v1.326h-.816v-2.904h.792v.33zm2.08 1.092c0 .504.33.732.786.714v.768h-.12c-.996 0-1.482-.66-1.482-1.44v-2.4h.816v.456c0 .396.318.69.762.702v.78c-.324 0-.582-.096-.762-.288v.708zm1.762 1.53a.548.548 0 0 1-.546-.546c0-.3.246-.546.546-.546.3 0 .546.246.546.546 0 .3-.246.546-.546.546zm-7.772-6.71c2.55-.004 3.628-1.459 3.824-3.789.056-.67-.056-1.079-.258-1.295a.486.486 0 0 0-.153-.114.23.23 0 0 0-.06-.018l-3.023-.706a1.276 1.276 0 0 0-.581-.02.57.57 0 0 0-.46.431c-.101.34-.094.6.121.807.056.02.101.057.132.104.15.1.362.186.648.264l1.993.445c.33.074.23.57-.104.507a1.76 1.76 0 0 0-.86.083c-.487.183-.789.601-.826 1.377a.259.259 0 0 1-.518-.026c.042-.855.376-1.421.915-1.722l-.724-.161a3.181 3.181 0 0 1-.635-.24c-.083.128-.192.24-.321.33l-.057.037c-.035.024-.071.045-.107.065.23.434.167.983-.191 1.355l-.05.054a1.17 1.17 0 0 1-1.65.022l-.388-.384c.318 1.553 1.702 2.593 3.32 2.593h.013zm-.09.516c-2.05-.037-3.773-1.547-3.828-3.69l-.471-.466c-.582-.584-.676-1.393-.208-1.873l.05-.053c.2-.207.464-.32.733-.334-.325-.641-.224-1.343.282-1.69l.072-.047c.55-.319 1.028-.196 1.437.21l-.47-3.865c-.158-.672.254-1.408.882-1.542a1.233 1.233 0 0 1 1.464.958l.801 3.42 1.015-3.476a1.285 1.285 0 0 1 1.565-.911c.617.183.989.811.854 1.436l-1.118 5.57.48.112c.14.02.322.103.494.287.313.334.464.886.396 1.692-.217 2.59-1.493 4.288-4.413 4.263l-.017-.001zm2.556-6.47L22.918 3.2a.711.711 0 0 0-.484-.832.767.767 0 0 0-.928.55l-1.292 4.427a.26.26 0 0 1-.433.108.258.258 0 0 1-.07-.124l-1.026-4.384a.713.713 0 0 0-.85-.56c-.334.07-.584.523-.483.926l.005.031.583 4.79.37.552c.16-.22.39-.358.664-.419a1.773 1.773 0 0 1 .824.024l2.006.468zm-3.726.51l-.572-.852a.258.258 0 0 1-.053-.079l-.262-.39c-.334-.486-.658-.654-1.04-.433l-.055.037c-.297.204-.338.698-.028 1.167l1.132 1.685a.651.651 0 0 0 .902.173l.056-.037a.64.64 0 0 0 .19-.205c-.282-.293-.35-.655-.27-1.067zm-.324 1.937a1.17 1.17 0 0 1-.983-.512l-.842-1.253a.587.587 0 0 0-.765.065l-.05.053c-.252.259-.196.75.2 1.147l1.44 1.427a.65.65 0 0 0 .915-.012l.05-.052a.65.65 0 0 0 .035-.863z">
</path>
</g></svg>
</li>
</ul>
</div>
</section>
</spz-accordion>
</div>
</div>
</div>
<style>
.footer__additional__item{
padding-top: 12px
}
.footer__additional__item + .footer__additional__item{
padding-left: 20px;
}
.footer__copyright a[href] {
color: inherit;
text-decoration: none;
}
</style>
<div class="footer__additional pt-5 pb-8 lg:pt-6 lg:pb-8">
<div class="page-container body-minus-1 flex flex-wrap justify-center">
<span class="footer__additional__item">© <time datetime="2025">2025</time> AngleFaceUS</span>
<a class="footer__additional__item text-inherit" href="#">About US</a>
<a class="footer__additional__item text-inherit" href="#">Terms of Service</a>
<a class="footer__additional__item text-inherit" href="#">Shipping Policy</a>
<a class="footer__additional__item text-inherit" href="#">Returns & Refund Policy</a>
<a class="footer__additional__item text-inherit" href="#">Privacy Statement</a>
<a class="footer__additional__item text-inherit" href="#">Track your order</a>
<a class="footer__additional__item text-inherit" href="#">Email:support@AngleFaceUS.com</a>
</div>
</div>
</div>
<div id="shoplaza-section-cart_drawer" class="shoplaza-section" data-section-id="cart_drawer" data-section-type="cart_drawer" data-section-style="">
</div>
</div>
<script type="application/ld+json">
{
"@context": "http://schema.org/",
"@type": "Product",
"name": "100% Pure Himalayan Shilajit Resin High Potency for Men & Women 75 Servings for Energy Boost & Immune Support - XDX",
"image": "https:\/\/cdn.shoplazza.com\/818563371d68645565970df0b5cea2f5.png",
"description": "\nAbout this item\n\nPURE HIMALAYAN SHILAJIT RESIN: shilajit resin sourced from the untouched heights of the Himalayan mountains. It naturally exudes from ancient rocks, guaranteeing unparalleled quality and authenticity. Experience the potency and purity of this ancient Ayurvedic treasure, straight from the Himalayas, for a truly exceptional wellness journey with each drop.\nREVITALISED ENERGY AND VITALITY: Harness the power of our Pure Himalayan shilajit resin for a renewed sense of energy and vitality. Ayurvedic medicine has used its strong powers for ages to boost stamina, promote robust health, and restore your general well-being. Discover the ageless knowledge of this natural energizer with our himalayan shilajit resin.\nNUTRIENT ABSORPTION BOOST: Our Shilajit Pure Himalayan Organic resin is rich in fulvic acid, a natural compound that enhances your body's ability to absorb vital nutrients. It's an ideal addition to your daily health routine for improved nutrient uptake.\nCOMPLETE WELLNESS ENHANCEMENT: Better Alt Pure Himalayan Shilajit resin authentically elevates your overall well-being by rejuvenating physical vitality, sharpening mental clarity, and fortifying your immune system. It's an authentic addition to your daily health routine.\nPREMIUM QUALITY & EASY PREPARATION: Our Pure Himalayan shilajit supplement is presented in its pure, minimally processed form, free from heavy metals, fillers, additives, and suitable for vegans. Using the included copper spoon, simply scoop a pea-sized amount and stir it into water or milk until fully dissolved, making it a hassle-free addition to your daily routine. Use it daily for 2-3 months for better results\n\n\n365-day money-back guaranteeWe offer a 365-day money-back guarantee, allowing you to try our product with complete peace of mind. If, for any reason, you are not satisfied with your purchase within 365 days, simply contact us and we'll issue a full refund, no questions asked.\n \nWHY US?\n\n\nWe work directly with manufacturers all over the world to ensure the best quality of our products. We have Quality Control department which help us to keep our promise!\nPrice is always competitive.\nAwesome Customer Service\nAmazing products along with High Quality\nRead reviews from our lovely customers\n\nCLICK ADD TO CART TO ENJOY THE COMFY! \n\n*Limited Items Available In Stock! Not Sold In Stores*\nThe Checkout Process is Guaranteed to be 100% Safe and Secure with Visa, Mastercard, AMex, Discover, Apple Pay or PayPal.\n100% Satisfaction Guaranteed With Every Order\n\n\nMONEY BACK GUARANTEE\n\n\nWe want you to be 100% satisfied with the products you buy from us. If for ANY reason you are not satisfied with your purchase, we offer iron-clad money back guarantee.\n\n\u2b50I Wish You A Happy Shopping, THANK YOU\u2b50\nClick the 'Add to Cart' and 'Buy Now' button to GET YOURS!\n\n\n\n\n",
"offers": {
"@type": "Offer",
"priceCurrency": "USD",
"price": 29.9,
"availability": "http://schema.org/InStock",
"seller": {
"@type": "Organization",
"name": "AngleFaceUS"
}
}
}
</script>
<script type="application/ld+json">
{
"@context": "http://schema.org",
"@type": "WebSite",
"name": "AngleFaceUS",
"url": "https://anglefaceus.myshoplaza.com"
}
</script>
<div class="theme-toast-wrap lg:page-container flex justify-end">
<spz-toast class="theme-toast p-4 lg:py-8 lg:px-5 leading-1.2 i-spzhtml-layout-nodisplay" id="theme-toast" layout="nodisplay" hidden="" style="display: none" i-spzhtml-layout="nodisplay"></spz-toast>
<spz-toast class="theme-toast p-4 lg:py-8 lg:px-5 leading-1.2 flex items-center i-spzhtml-layout-nodisplay" id="theme-toast-success" layout="nodisplay" hidden="" style="display: none" i-spzhtml-layout="nodisplay">
<svg class="flex-shrink-0 mr-3" width="18" height="18" xmlns="http://www.w3.org/2000/svg"><path d="M3.088 8.895a.3.3 0 0 0 0 .424l3.608 3.608a.6.6 0 0 0 .848 0l7.85-7.85a.3.3 0 0 0 0-.423l-.567-.566a.3.3 0 0 0-.424 0L7.12 11.37 4.078 8.33a.3.3 0 0 0-.424 0l-.566.566z" fill="currentColor"></path></svg>
<span role="content"></span>
</spz-toast>
</div>
<div class="add_cart-toast-wrap lg:page-container flex justify-end">
<spz-toast class="add_cart-toast p-4 lg:py-8 lg:px-5 leading-1.2 flex items-center i-spzhtml-layout-nodisplay" id="add-card-toast-success" layout="nodisplay" hidden="" style="display: none" i-spzhtml-layout="nodisplay">
<span class="flex justify-between items-center w-full">
<span role="content"></span>
<a class="toast_view_cart inline-block font-bold text-base leading-1.1 cursor-pointer no-underline" href="#">View Cart</a>
</span>
</spz-toast>
</div>
<style>
.quick-shop .i-spzhtml-fill-content {
display: flex;
align-items: center;
justify-content: center;
}
.quick-shop-render {
height: auto !important;
width: 100%;
}
.quick-shop-render[loading],
.quick-shop-render[loading] ~ .quick-shop-close-btn {
display: none;
}
.quick-shop-content {
position: relative;
max-height: 86vh;
overflow-y: auto;
box-sizing: border-box;
padding: 28px 24px 36px;
max-width: 86vh;
width: 100%;
background-color: var(--color-body-bg);
overflow-y: auto;
transition: all .2s ease-in-out
}
/* variants */
.quick-shop__variants_content {
padding: 0;
border: none;
}
.quick-shop__variants_content input[type=radio] {
position: absolute;
left: 0;
right: 0;
opacity: 0;
width: 100%;
height: 100%;
z-index: 10;
border: 0;
margin: 0;
cursor: pointer;
}
.quick-shop-variant-option {
position: relative;
border: 2px solid #E6E6E6;
color: var(--color-body-text-75);
}
.quick-shop-variant-option[data-type="text"] {
display: flex;
align-items: center;
justify-content: center;
min-width: 44px;
}
.quick-shop-variant-option[data-type="image-with-text"] {
min-height: 52px;
}
.quick-shop-variant-option:not([data-type="image"]) {
border: 2px solid #E6E6E6;
}
.quick-shop-variant-option[data-type="image-with-text"] > spz-img {
width: 42px;
height: 42px;
border-radius: 1px;
}
.quick-shop-variant-option[data-type="image"] > spz-img {
width: 52px;
height: 52px;
border-radius: 1px;
}
.quick-shop__variants_content input[type=radio]:checked + .quick-shop-variant-option {
color: var(--color-body-text);
outline: none;
border-color: var(--color-body-text);
}
.quick-shop__variant__select {
min-height: 46px;
line-height: 46px;
padding-right: 46px;
padding-left: 12px;
}
.quick-shop__variant__select-icon {
position: absolute;
display: flex;
top: 50%;
right: 12px;
transform: translateY(-50%) rotate(90deg);
pointer-events: none;
}
.quick-shop-close-btn {
height: 66px;
width: 66px;
cursor: pointer;
opacity: .7;
z-index: 10;
}
#quick-shop-render[loading] ~ .quick-shop-loading {
display: block !important;
}
/* qty */
.quick-shop-qty {
width: 116px;
}
.quick-shop-qty > .i-spzhtml-fill-content {
display: flex;
align-items: center;
}
.quick-shop-qty-btn {
width: 40px;
height: 100%;
border: 1px solid rgba(230, 230, 230, 1);
}
.quick-shop-qty-btn[disabled] {
background-color: rgba(230, 230, 230, 1);
}
.quick-shop-qty-input {
width: 36px;
}
/* buy button */
.quick-shop_atc_btn {
height: 52px;
width: 100%;
padding: 0;
font-weight: 600;
outline: 2px solid transparent;
outline-offset: 2px;
}
#quick-shop-body[status="product_unavailable"] [role="addToCart"],
#quick-shop-body[status="soldout"] [role="addToCart"] {
cursor: default;
pointer-events: none;
background-color: rgb(230, 230, 230, 0.5);
color: #9F9F9F;
}
#quick-shop-body[status="product_unavailable"] #quick-shop-btn-price,
#quick-shop-body[status="soldout"] #quick-shop-btn-price,
.quick-shop_atc_btn[loading] [role="content"],
.quick-shop_atc_btn:not([loading]) .loading,
.quick-shop_atc_btn[role="addToCart"][loading] #quick-shop-btn-price {
display: none;
}
.quick-shop_buy_now_btn {
border: 1px solid var(--color-primary-btn-bg);
}
/* wholesale */
.quick-shop-wholesale {
overflow-y: hidden;
overflow-x: auto;
background: #F9F9FA;
}
.quick-shop-wholesale-item:nth-child(n + 2) {
margin-left: 8px;
}
.quick-shop-wholesale-item .money {
color: var(--color-price-text);
}
.quick-shop-wholesale-item.highlight .money {
color: var(--color-save-price-text)
}
@media (max-width: 959.98px) {
#quick-shop {
padding: 0 18px;
}
#quick-shop > .quick-shop-container{
width: 100%;
}
}
@media (min-width: 960px) {
.quick-shop-render {
width: 495px;
}
.quick-shop-content {
padding: 32px 24px;
}
}
</style>
<spz-lightbox class="quick-shop i-spzhtml-layout-nodisplay" id="quick-shop" layout="nodisplay" hidden="" unclose-in-focus style="display: none" i-spzhtml-layout="nodisplay">
<div class="quick-shop-container">
<div class="relative">
<spz-render class="quick-shop-render pointer-events-auto w-full i-spzhtml-layout-container" id="quick-shop-render" items="data" layout="container" @finish="quick-shop-variants.variantsRender(product=event.data.product);quick-shop-body.setProduct(data=event.data.product);quick-shop-btn-price.rerender(data=event.data);" manual i-spzhtml-layout="container">
<template>
${function(){
const productData = data.product;
let product_change_event = '',
mouse_over_event = ' ';
mouse_out_event = '';
const product_options = productData.options.filter(Boolean) || [];
for (let opt of product_options) {
product_change_event = product_change_event + `quick-shop-selected-variant-${opt.name}.rerender(data=event.selectedValues.${opt.name});`;
mouse_out_event = mouse_out_event + `quick-shop-selected-variant-${opt.name}.rerender(data=event.selectData.${opt.name});`;
mouse_over_event = mouse_over_event + `@${opt.name}Mouseover="quick-shop-selected-variant-${opt.name}.rerender(data=event);"`;
}
const selectedVariant = productData.variants.find(v => v.available) || productData.variants[0];
const statusLan = ((selectedVariant && !selectedVariant.available) || (!selectedVariant && !productData.available)) ?
"Sold out" :
"Add to cart";
return `
<div>
<spz-product-form id="quick-shop-body" product-unavailable-status product-id="${productData.id}" variant-id="${selectedVariant.id}" layout="container" @atcsuccess="quick-shop.close;add-card-toast-success.showToast(content='Added successfully');" @atcerror="theme-toast.showToast(content=event.message);" @productchange="quick-shop-btn-price.rerender(data=event);${product_change_event}">
<form>
<div class="quick-shop-content rounded-global-small">
<div class="quick-shop-inner-content">
<spz-variants name="quick-shop-variant" id="quick-shop-variants" class="pointer-events-none" layout="container" template="quick-shop-variant-template" spz-if="${product_options && product_options.length > 0}" @mouseout="${mouse_out_event}" interact="hover" interference ${mouse_over_event}></spz-variants>
<button class="relative mt-5 lg:mt-6 button-primary flex items-center justify-center body-plus-2 type-text-font-family rounded-btn quick-shop_atc_btn" type="button" role="addToCart" data-track="click" data-track-content="add_to_cart" data-track-source="add_to_cart">
<span role="content">${statusLan}</span>
<spz-render id="quick-shop-btn-price" layout="container" template="quick-shop-button-price-template" manual></spz-render>
<div class="loading items-center justify-center absolute inset-0" role="loading" show>
<div class="loading-bounce"></div>
</div>
</button>
</div>
</div>
</form>
</spz-product-form>
</div>
`
}()}
</template>
</spz-render>
<spz-loading class="quick-shop-loading i-spzhtml-layout-container" layout="container" role="mask" hidden i-spzhtml-layout="container"></spz-loading>
<div class="quick-shop-close-btn absolute right-0 top-0 text-current flex items-center justify-center no-underline text-2xl" @tap="quick-shop.close;"><svg class="" width="22" height="22" xmlns="http://www.w3.org/2000/svg"><path d="M5.034 3.652a.367.367 0 0 0-.518 0l-.864.864a.367.367 0 0 0 0 .519l5.963 5.963-5.963 5.963a.367.367 0 0 0 0 .519l.864.864a.367.367 0 0 0 .518 0l5.964-5.963 5.963 5.963a.367.367 0 0 0 .519 0l.864-.864a.367.367 0 0 0 0-.519l-5.964-5.963 5.964-5.963a.367.367 0 0 0 0-.519l-.864-.864a.367.367 0 0 0-.519 0l-5.963 5.963-5.964-5.963z" fill="currentColor"></path></svg></div>
</div>
<template id="quick-shop-retail-price-template">
${function(){
const currentSelectVariant = data.variant;
const defaultVariant = (data.product && data.product.variants && data.product.variants[0]);
const variantData = currentSelectVariant || defaultVariant || data;
const retail_price = variantData.retail_price || 0;
return `
<div>
<div class="flex color-compare-price mt-3" spz-if="${retail_price>0}">
<span class="mr-1">Retail</span> <spz-currency value="${retail_price}" layout="container"></spz-currency>
</div>
</div>
`
}()}
</template>
<style>
.product_price_before::before {
content: ' - ';
display: block;
width: 20px;
}
</style>
<template id="quick-shop-button-price-template">
${function(){
const wholesale_enabled = false;
const qty = data.quantity || 1;
const currentSelectVariant = data.variant;
const defaultVariant = (data.product && data.product.variants && data.product.variants[0]);
const productVariant = {"id":"7f589715-109e-400b-9283-af937fcbb0af","product_id":"93fe4067-b5aa-490b-ad4c-723faca8ae45","title":"1 Bottles","weight_unit":"kg","inventory_quantity":9841,"sku":"080909-ShilaiResin-1Bottles","barcode":"","position":1,"option1":"1 Bottles","option2":"","option3":"","note":"","image":null,"wholesale_price":[{"price":29.9,"min_quantity":1}],"weight":"0","compare_at_price":"59.8","price":"29.9","retail_price":"59.8","available":true,"url":"\/products\/100-pure-himalayan-shilajit-resin-high-potency-for-men-women-75-servings-for-energy-boost-immune-support-xdx?variant=7f589715-109e-400b-9283-af937fcbb0af","available_quantity":999999999,"options":[{"name":"BUY MORE SAVE MORE","value":"1 Bottles"}],"off_ratio":50,"flashsale_info":[],"sales":963};
const variantData = currentSelectVariant || defaultVariant || productVariant;
const wholesale_price = variantData.wholesale_price || [];
if(wholesale_enabled && wholesale_price.length > 0) {
let wholesaleIndex = wholesale_price.findIndex(item => {
return item.min_quantity > qty;
});
if(wholesaleIndex < 0){
wholesaleIndex = wholesale_price.length - 1;
}else if(wholesaleIndex > 0){
wholesaleIndex = wholesaleIndex - 1;
}
const wholesalePrice = wholesale_price[wholesaleIndex] || '';
return `
<div class="flex">
<span class="product_price_before"></span><spz-currency value="${wholesalePrice.price}" layout="container"></spz-currency>
</div>
`
}else {
const price = variantData && variantData.price;
return price != undefined ? `<div class="flex"><span class="product_price_before"></span><spz-currency value="${price}" layout="container"></spz-currency></div>` : '<span></span>';
}
}()}
</template>
</div>
</spz-lightbox>
<template id="quick-shop-variant-template">
<div class="quick-shop-variants-container">
${function() {
let variantImageShowed = false;
const currentProduct = data.product;
return (currentProduct.options || []).map((option, index) => {
const optionName = option.name || '';
const position = `option${index + 1}`;
let isThumbImage = false;
if (currentProduct.need_variant_image && !variantImageShowed) {
const variantNames = ["color"] || [];
for (let i = 0, len = variantNames.length; i < len; i++) {
const name = variantNames[i].toLowerCase();
if (name === optionName.toLowerCase()) {
isThumbImage = true;
variantImageShowed = true;
}
}
}
const variantType = "button";
const thumbStyle = "image_with_text";
return `
<fieldset spz-if="${variantType=='button' || isThumbImage}" class="quick-shop__variants_content mt-6 mx-0" name="${optionName}">
<legend class="quick-shop__variants_title flex">
<span class="lg:body-plus-2 leading-1.3">${optionName}: </span>
<spz-render spz-if="${isThumbImage}" class="flex items-center opacity-60" id="quick-shop-selected-variant-${optionName}" layout="container" template="quick-shop-selected-variant-template" manual></spz-render>
</legend>
<div class="flex flex-wrap ${isThumbImage ? 'mt-1' : 'quick-shop-variant-container'}">
${option.values.map((value, idx) => {
const selected = data.selectedValues[optionName] == value ? 'checked' : '';
let thumbImage = null;
if (isThumbImage) {
const variants = currentProduct.variants;
for (let i = 0, len = variants.length; i < len; i++) {
const variant = variants[i];
if (variant[position] == value && thumbImage == null) {
thumbImage = variant.image;
break;
}
}
}
return `
<div class="relative mt-3 mr-3" option="${value}">
<input type="radio" class="pointer-events-auto" option="${value}" id="quick-shop-variant-${value}-${idx}" name="quick-shop-variant-${optionName}" value="${value}" form="quick-shop-body" @input-debounced="quick-shop-selected-variant-${optionName}.rerender(data=event);" ${selected}>
<label class="quick-shop-variant-option relative flex items-center break-words flex-shrink-0
rounded-[1px]
" data-type="${isThumbImage ? (thumbStyle == 'image_with_text' ? 'image-with-text' : 'image') : 'text'}" for="quick-shop-variant-${value}-${idx}">
<spz-img spz-if="${isThumbImage}" class="${thumbStyle == 'image_with_text' ? 'ml-1' : ''}" src="${thumbImage && thumbImage.src}" layout="responsive" width="42" height="42" alt="${thumbImage && thumbImage.alt}" object-fit="cover" auto-fit></spz-img>
<span spz-if="${thumbStyle == 'image_with_text' || !isThumbImage}" class="break-words py-2 px-3">${value}</span>
</label>
</div>
`
}).join('')}
</div>
</fieldset>
<div spz-else class="mt-6">
<div class="lg:body-plus-2 leading-1.3">${optionName}</div>
<div class="relative mt-3">
<select class="quick-shop__variant__select pointer-events-auto w-full text-text-font-size type-text-font-family
rounded-[1px]
secondary-select" role="variant" name="${optionName}">
${option.values.map(value => {
const selected = data.selectedValues[optionName] == value ? 'selected' : '';
return `<option class="quick-shop__variants_value" value="${value}" option="${value}" ${selected}>${value}</option>`
}).join('')}
</select>
<svg class="quick-shop__variant__select-icon" width="22" height="22" xmlns="http://www.w3.org/2000/svg"><path d="M14.576 10.573a.6.6 0 0 1 0 .849L8.99 17.008a.3.3 0 0 1-.424 0l-.51-.51a.3.3 0 0 1 0-.424l5.078-5.077L8.057 5.92a.3.3 0 0 1 0-.424l.509-.509a.3.3 0 0 1 .424 0l5.586 5.586z" fill="currentColor"></path></svg>
</div>
</div>
`
}).join('');
}()}
</div>
</template>
<template id="quick-shop-selected-variant-template">
<span>
${data.originData && data.originData.value || data.value}
</span>
</template>
<!-- Begin SeaHorse bottom -->
<script type="text/javascript">
/* bottom_v2-start */!function(e){var t={};function n(o){if(t[o])return t[o].exports;var r=t[o]={i:o,l:!1,exports:{}};return e[o].call(r.exports,r,r.exports,n),r.l=!0,r.exports}n.m=e,n.c=t,n.d=function(e,t,o){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:o})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var o=Object.create(null);if(n.r(o),Object.defineProperty(o,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var r in e)n.d(o,r,function(t){return e[t]}.bind(null,r));return o},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="/",n(n.s=12)}({12:function(e,t,n){n(13)},13:function(e,t){try{window.exts=Object.assign(window.exts||(window.exts={}),window.mapped_exts||{});const e=["google_form","recommended_product","bear","quokka"];var n=window.exts;!function(){try{new window.CustomEvent("T")}catch(t){var e=function(e,t){t=t||{bubbles:!1,cancelable:!1,detail:void 0};var n=document.createEvent("CustomEvent");return n.initCustomEvent(e,t.bubbles,t.cancelable,t.detail),n};e.prototype=window.Event.prototype,window.CustomEvent=e}}(),(()=>{const t=()=>{if(document.getElementById("exts")||(window.disabled_exts||[]).includes("*"))return;const t=e=>{let t=document.createElement("script");return t.crossOrigin="anonymous",t.src=e,t.async=!0,t},o=(()=>{const e=(Object.keys(n).forEach(e=>{const t=document.cookie.match(new RegExp("\\b"+e.replace(/_/g,"-")+"-(v[s0-9]+)"));t&&t[1]&&(n[e]=`${e}.${t[1]}.js`)}),n);return window.C_SETTINGS.shop.cdn_domain+["common"].concat(window.C_SETTINGS.password_enabled?["jellyfish"]:[]).concat(window._ext||[]).filter((e,t,n)=>n.indexOf(e)==t).filter(e=>-1==(window.disabled_exts||[]).indexOf(e)).map(t=>e[t]||"").filter(Boolean)})();if(!self.MainThread){const e=t(o);return void document.body.appendChild(e)}const r=o.split(","),i=r.filter(t=>e.some(e=>t.includes(e))),d=r.filter(t=>!e.some(e=>t.includes(e))),c=r[0],u=t(c);d.length&&d.forEach(e=>{e.includes(window.C_SETTINGS.shop.cdn_domain)||((e,t)=>{t.type="text/spz-script",self.MainThread.upgradeScript(e,t)})(e=`${window.C_SETTINGS.shop.cdn_domain}${e}`,t(e))}),(()=>{if(!i.length)return void document.body.appendChild(u);i.unshift(c);const e=t(i.join(","));document.body.appendChild(e)})()},o=()=>{window.requestIdleCallback?requestIdleCallback(t,{timeout:50}):setTimeout(t,50)};"complete"!=document.readyState?window.addEventListener("load",o,!1):o()})()}catch(e){}}});/* bottom_v2-end */
</script>
<!-- End SeaHorse bottom -->
<!-- Begin Golden bottom -->
<script type="text/javascript">
/* golden-bottom_v2-start */!function(e){var t={};function n(i){if(t[i])return t[i].exports;var r=t[i]={i:i,l:!1,exports:{}};return e[i].call(r.exports,r,r.exports,n),r.l=!0,r.exports}n.m=e,n.c=t,n.d=function(e,t,i){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:i})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var i=Object.create(null);if(n.r(i),Object.defineProperty(i,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var r in e)n.d(i,r,function(t){return e[t]}.bind(null,r));return i},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="https://static.staticdj.com/",n(n.s=13)}([function(e,t,n){"use strict";n.d(t,"h",(function(){return o})),n.d(t,"r",(function(){return u})),n.d(t,"p",(function(){return d})),n.d(t,"q",(function(){return l})),n.d(t,"g",(function(){return p})),n.d(t,"n",(function(){return f})),n.d(t,"k",(function(){return v})),n.d(t,"m",(function(){return m})),n.d(t,"o",(function(){return _})),n.d(t,"e",(function(){return h})),n.d(t,"c",(function(){return g})),n.d(t,"d",(function(){return b})),n.d(t,"f",(function(){return w})),n.d(t,"j",(function(){return y})),n.d(t,"b",(function(){return S})),n.d(t,"a",(function(){return T})),n.d(t,"i",(function(){return E})),n.d(t,"l",(function(){return O}));var i=n(1),r=n(2);const o=()=>{var e=/iPad|iPhone|iPod/.test(navigator.userAgent)&&!window.MSStream,t=/(android)/i.test(navigator.userAgent);return e?1:t?2:3},a=()=>{String.prototype.startsWith||Object.defineProperty(String.prototype,"startsWith",{value:function(e,t){return t=!t||t<0?0:+t,this.substring(t,t+e.length)===e}});var e=window.location.pathname||"";return"/"==e||e.startsWith("/home")||e.startsWith("/index")?"index":e.startsWith("/products/")?"product":e.startsWith("/collections/")||e.startsWith("/products")?"product_group":e.startsWith("/promotions/")?"activity":e.startsWith("/search")?"search":e.startsWith("/checkout/")?"checkout":"other"},c=function(e){let t=e&&e.discount_applications;if("string"==typeof t)try{t=JSON.parse(t)}catch(e){return}if(Array.isArray(t))return t.map((function(e){return e&&e.discount_id})).join(",")},s=function(e){return(e&&e.line_items||[]).reduce((function(e,t){return e+(t.quantity||0)}),0)},u=(e,t)=>{var n;const i=new CustomEvent(e,{detail:t||null,bubbles:!0});null===(n=document.body)||void 0===n||n.dispatchEvent(i)},d=(e,t)=>{document.addEventListener(e,(function(e){t(e,e.detail)}))},l=function(e,t,n){let i=arguments.length>3&&void 0!==arguments[3]&&arguments[3];var r=365,o=new Date;return o.setTime(o.getTime()+24*r*60*60*1e3),document.cookie=e+"="+encodeURIComponent(t)+";expires="+(n||o).toGMTString()+";domain="+location.host.split(".").map((function(e,t,n){return 0==t&&n.length>2?"":e})).join(".")+";path=/"+(i?";SameSite=None;Secure":""),!0},p=e=>{var t=new RegExp("(^| )"+e+"=([^;]*)(;|$)"),n=document.cookie.match(t);return n?decodeURIComponent(n[2]):""},f=()=>window&&window.sessionStorage&&"function"==typeof window.sessionStorage.setItem&&"function"==typeof window.sessionStorage.getItem,v=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";return e.split("/")[2]||""},m=()=>C_SETTINGS.meta&&C_SETTINGS.meta.page&&14===C_SETTINGS.meta.page.template_type,_=()=>C_SETTINGS.meta&&C_SETTINGS.meta.page&&42===C_SETTINGS.meta.page.template_type,h=function(e,t){return null!=t&&t.item&&null!=t&&t.cart?Object.assign({product_id:t.item.product_id,quantity:t.item.quantity,variant_id:t.item.variant_id,total_discount:t.cart.total_discount,total_price:t.cart.total_price,line_items:JSON.stringify((t.cart.line_items||[]).map((function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return{product_id:e.product_id,variant_id:e.variant_id,price:e.price,quantity:e.quantity}})))},t[i.b]||{}):{}},g=(e,t)=>{var n;const o="addToCart"+(new Date).getTime(),{pay_method:c,trade_id:s}=t,u=c||s?{event_info:JSON.stringify({base_property:{pay_method:c,trade_id:s}})}:{};return{product_id:t.product_id,product_title:t.name,price:t.item_price,variant_id:t.variant_id,quantity:t.number||1,sku_quantity:t.number||1,entrance:a(),is_app_btn:!!t.is_app_btn,source:t.source||"",currency:C_SETTINGS.currency_code,event_id:o,AD_fbc:p("_fbc")||Object(r.c)(),AD_fbp:p("_fbp"),AD_variant_ids:[t.variant_id],AD_event_id:o,aid:()=>{var e;return null===(e=window.sa)||void 0===e?void 0:e.getAID()},wholesale_price:JSON.stringify(t.variant&&t.variant.wholesale_price||[]),wholesale_enabled:(null===(n=C_SETTINGS.shop)||void 0===n?void 0:n.wholesale_enabled)||!1,...u,...t[i.b]||{}}},b=(e,t)=>{var n,i,o,a,u,d;return{checkout_page_type:null===(n=t.config)||void 0===n?void 0:n.page_type,order_id:t.id,referrer:document.referrer,currency:t.currency_code,quantity:(null===(i=t.line_items)||void 0===i?void 0:i.length)||0,sku_quantity:s(t),source:null===(o=t.refer_info)||void 0===o?void 0:o.source,total:null===(a=t.prices)||void 0===a?void 0:a.total_price,content_ids:null===(u=t.line_items)||void 0===u?void 0:u.map((function(e){return e.product_id})),event_id:e.namespace+e.timeStamp,AD_fbc:p("_fbc")||Object(r.c)(),AD_fbp:p("_fbp"),AD_event_id:e.namespace+e.timeStamp,AD_variant_ids:null===(d=t.line_items)||void 0===d?void 0:d.map((function(e){return e.variant_id})),discount_ids:c(t)}},w=(e,t)=>{var n;return{order_id:t.id,checkout_page_type:null===(n=t.config)||void 0===n?void 0:n.page_type}},y=(e,t)=>{var n,i,o,a,c;return{order_id:t.id,checkout_page_type:null===(n=t.config)||void 0===n?void 0:n.page_type,AD_fbc:p("_fbc")||Object(r.c)(),AD_fbp:p("_fbp"),total:null===(i=t.prices)||void 0===i?void 0:i.total_price,discount_total:null===(o=t.prices)||void 0===o?void 0:o.discount_price,shipping_total:null===(a=t.prices)||void 0===a?void 0:a.shipping_price,tax_total:null===(c=t.prices)||void 0===c?void 0:c.tax_price}},S=(e,t)=>{var n,i,o,a,c;return{order_id:t.id,checkout_page_type:null===(n=t.config)||void 0===n?void 0:n.page_type,AD_fbc:p("_fbc")||Object(r.c)(),AD_fbp:p("_fbp"),total:null===(i=t.prices)||void 0===i?void 0:i.total_price,discount_total:null===(o=t.prices)||void 0===o?void 0:o.discount_price,shipping_total:null===(a=t.prices)||void 0===a?void 0:a.shipping_price,tax_total:null===(c=t.prices)||void 0===c?void 0:c.tax_price}},T=(e,t)=>{var n,i,o,a,c;return{checkout_page_type:null===(n=t.config)||void 0===n?void 0:n.page_type,order_id:t.id,target_url:location.host+t.target_url,payment_method:t.payment_line&&t.payment_line.payment_method,payment_channel:t.payment_line&&t.payment_line.payment_channel,djUrl:location.href,djTitle:document.title,djUrlPath:location.pathname,currency:t.currency_code,event_id:e.namespace+e.timeStamp,AD_fbc:p("_fbc")||Object(r.c)(),AD_fbp:p("_fbp"),AD_event_id:e.namespace+e.timeStamp,total:null===(i=t.prices)||void 0===i?void 0:i.total_price,discount_total:null===(o=t.prices)||void 0===o?void 0:o.discount_price,shipping_total:null===(a=t.prices)||void 0===a?void 0:a.shipping_price,tax_total:null===(c=t.prices)||void 0===c?void 0:c.tax_price}},E=(e,t)=>({order_id:t.id,checkout_page_type:t.config.page_type,currency:t.currency_code,quantity:t.line_items.length,sku_quantity:s(t),content_ids:t.line_items.map((function(e){return e.product_id})),event_id:e.namespace+e.timeStamp,total:t.prices.total_price,AD_em:t.shipping_address.email||"",AD_fn:t.shipping_address.first_name||"",AD_ln:t.shipping_address.last_name||"",AD_ph:t.shipping_address.phone||"",AD_ct:t.shipping_address.city||"",AD_st:t.shipping_address.province_code||"",AD_zp:t.shipping_address.zip||"",AD_cc:t.shipping_address.country_code||"",AD_fbc:p("_fbc")||Object(r.c)(),AD_fbp:p("_fbp"),AD_variant_ids:t.line_items.map((function(e){return e.variant_id})),AD_event_id:t.id+"_"+new Date(t.placed_at).getTime(),discount_ids:c(t)}),O=(e,t)=>{var n,o,a;const c="viewContent"+(new Date).getTime();return Object.assign({product_id:t.product.id,variant_id:t&&t.selected&&t.selected.id,price:t.product.price,title:t.product.title,currency:C_SETTINGS.currency_code,content_category:"",content_ids:[t.product.id],event_id:c,AD_fbc:p("_fbc")||Object(r.c)(),AD_fbp:p("_fbp"),AD_variant_ids:[t.selected&&t.selected.id||(null===(n=t.product)||void 0===n||null===(o=n.variants)||void 0===o||null===(a=o[0])||void 0===a?void 0:a.id)],AD_event_id:c,source:t.source},t[i.b]||{})}},function(e,t,n){"use strict";n.d(t,"c",(function(){return o})),n.d(t,"b",(function(){return i})),n.d(t,"a",(function(){return r}));const i="_extra",r={UTM:atob("c2hvcGxhenphX2FfcA=="),UTM_PARAMS:"utm_a_p",SESSION_ID_OLD:"session_id",SESSION_ID_NEW:"ss_id_a_p"},o="data-track"},function(e,t,n){"use strict";n.d(t,"g",(function(){return l})),n.d(t,"d",(function(){return p})),n.d(t,"c",(function(){return f})),n.d(t,"f",(function(){return v})),n.d(t,"e",(function(){return m})),n.d(t,"a",(function(){return _}));var i=n(0);n.d(t,"b",(function(){return i.g}));var r=n(1);let o=0;const a={name:"fbclid",get:()=>Object(i.g)(a.name),set:()=>{var e=new RegExp(`(^|&)${a.name}=([^&]*)(&|$)`),t=window.location.search.substring(1).match(e);if(null!=t&&t[2]){var n="fb.1."+(new Date).getTime()+"."+t[2];Object(i.q)(a.name,n)}}},c={name:"ttclid",get:()=>Object(i.g)(c.name),set:()=>{var e=new RegExp(`(^|&)${c.name}=([^&]*)(&|$)`),t=window.location.search.substring(1).match(e);null!=t&&t[2]&&Object(i.q)(c.name,t[2])}},s={name:r.a.SESSION_ID_NEW,get:()=>Object(i.g)(s.name),set:()=>{let e=s.get()||Object(i.g)(r.a.SESSION_ID_OLD);const t=!e;e||(e=(new Date).getTime().toString()+(400*Math.random().toFixed(2)+100).toString());const n=new Date((new Date).getTime()+18e5);return Object(i.q)(s.name,e,n),Object(i.q)(r.a.SESSION_ID_OLD,e,n),{isNew:t}}},u={name:atob("c2hvcGxhenphX3NvdXJjZQ=="),get:()=>{try{return Object(i.g)(u.name)||localStorage[u.name]}catch(e){}return""},set:()=>{var e=document.referrer,t=location.href,n=navigator.userAgent,r=([["Facebook",/(facebook)|(fbclid=.+)/i,/fbclid=.+/,/FBAV|FBAN|FBIOS/i],["GoogleAds",/gclid=.+/i,/gclid=.+/i,0],["Google",/google/i,0,0],["Instagram",/instagram/i,0,/instagram/i],["Pinterest",/(pinterest)|(epik=.+)/i,/epik=.+/i,/pinterest/i],["Snapchat",/snapchat/i,0,/snapchat/i],["TikTok",/ads.tiktok/i,0,/tiktok/i],["Mailchimp",/mc_cid=.+/i,0,0],["Baidu",/baidu/i,0,0],["YouTube",/youtube/i,0,/youtube/i],["Twitter",/(twitter)|(t.co)/i,0,/twitter/i],["LinkedIn",/linkedin/i,0,/linkedin/i],["WhatsApp",/whatsapp/i,0,/whatsapp/i],["Reddit",/reddit/i,0,0],["Yahoo",/yahoo/i,0,0],["Bing",/bing/i,0,0],["Yandex",/yandex/i,0,0]].find((function(i){return i[1]&&i[1].test(e)||i[2]&&i[2].test(t)||i[3]&&i[3].test(n)}))||[""])[0],o=u.name,a=new Date((new Date).getTime()+6048e5);u.get()||Object(i.q)(o,JSON.stringify({$first_visit_url:t,$latest_referrer_host:r,expire:a.getTime()}),a)&&function(){try{localStorage[o]=u.get()}catch(e){}}(),!u.get()&&localStorage[o]&&((JSON.parse(localStorage[o])&&JSON.parse(localStorage[o]).expire||0)<(new Date).getTime()||Object(i.q)(o,localStorage[o])),u.get()&&!localStorage[o]&&function(){try{localStorage[o]=u.get()}catch(e){}}()}},d={name:"client_id",get:()=>Object(i.g)(d.name)},l=()=>{(()=>{const e=d.get();u.get()||(o=1),e&&"null"!=e||(o=1)})(),a.set(),c.set();const e=s.set();return u.set(),{sessionId:e}},p=()=>o,f=()=>a.get(),v=()=>c.get(),m=()=>s.get(),_=()=>d.get()},function(e,t,n){"use strict";n.d(t,"a",(function(){return u})),n.d(t,"b",(function(){return d}));var i=n(2),r=n(4),o=n(0),a=n(1);const c=function(){var e;const t=((null===(e=C_SETTINGS.theme)||void 0===e?void 0:e.merchant_theme_name)||"").replace(/\s/g,"");return{Blackwind:"BlackWind",SnowinSummer:"SnowInSummer","Amazing-BuyonAmazon":"Amazing"}[t]||t},s=function(){let e="";try{e=window.ORDER&&window.ORDER.checkout_page_type||("string"==typeof(window.ORDER&&window.ORDER.config)?JSON.parse(window.ORDER.config).page_type:"")}catch(e){}return e},u=e=>{var t,n,u,d,l,p,f,v,m,_,h,g,b;let{initCookieResult:w}=e;return{platform:"shop",client:3==Object(o.h)()?"pc":"mobile",client_id:function(){return Object(i.a)()},session_id:Object(i.e)(),new_session:w.sessionId.isNew?1:0,store_id:(null===(t=C_SETTINGS.shop)||void 0===t?void 0:t.shop_id)||"",store_tz:(null===(n=C_SETTINGS.shop)||void 0===n?void 0:n.time_zone)||"",theme_name:c(),theme_version:(null===(u=C_SETTINGS.theme)||void 0===u?void 0:u.theme_version_id)||"",template_name:(null===(d=C_SETTINGS.meta)||void 0===d||null===(l=d.page)||void 0===l?void 0:l.template_name)||"",template_type:(null===(p=C_SETTINGS.meta)||void 0===p||null===(f=p.page)||void 0===f?void 0:f.template_type)||"",root_url:(null===(v=C_SETTINGS.routes)||void 0===v?void 0:v.root)||"",user_agent:navigator.userAgent,env_tag:[Object(i.b)("awesomeab")].filter(Boolean).join(","),c_id:Object(i.b)("_c_id"),is_new_client:Object(i.d)(),event_id:Object(r.a)(),connection_type:navigator.connection&&navigator.connection.effectiveType,rtt:navigator.connection&&navigator.connection.rtt,downlink:navigator.connection&&navigator.connection.downlink,checkout_step:-1!=location.href.indexOf("/thank_you")?"checkout_result":window.ORDER&&window.ORDER.step,checkout_page_type:s(),AD_ttc:Object(i.f)(),login_customer_id:(null===(m=C_SETTINGS.customer)||void 0===m?void 0:m.customer_id)||"",customer_email:(null===(_=C_SETTINGS.customer)||void 0===_?void 0:_.customer_email)||"",resource_id:(null===(h=C_SETTINGS.meta)||void 0===h||null===(g=h.page)||void 0===g?void 0:g.resource_id)||"",[atob("c2hvcGxhenphX2FfcA==")]:Object(i.b)(a.a.UTM_PARAMS)||Object(i.b)(a.a.UTM)||"",market_id:(null===(b=C_SETTINGS.market)||void 0===b?void 0:b.market_id)||"",last_land_url:Object(r.b)(),last_template_name:Object(r.c)(),$latest_referrer:Object(r.d)()}},d=function(e,t,n){for(var i=arguments.length,r=new Array(i>3?i-3:0),o=3;o<i;o++)r[o-3]=arguments[o];return Object.assign({},{event_time:null==t?void 0:t.event_time},(null==n?void 0:n(e,t,...r))||{})}},function(e,t,n){"use strict";n.d(t,"e",(function(){return c})),n.d(t,"b",(function(){return s})),n.d(t,"c",(function(){return u})),n.d(t,"d",(function(){return d})),n.d(t,"a",(function(){return l}));var i=n(0);n(1);const r={name:"last_template_name",get:()=>Object(i.g)(r.name),set:e=>{Object(i.q)(r.name,e,new Date((new Date).getTime()+18e5))}},o={name:"latest_referrer",get:()=>Object(i.g)(o.name),set:e=>{Object(i.q)(o.name,e,new Date((new Date).getTime()+18e5))}},a={name:"last_land_url",get:()=>Object(i.g)(a.name),set:(e,t)=>{if(Object(i.o)())return;const n=e.sessionId.isNew;if(Object(i.m)()&&!n)return;let c=a.get(),s=r.get(),u=o.get();const d=Object(i.k)(document.referrer),l=location.host,p=d&&l&&d!==l,f=d===l&&"admin"===(document.referrer||"").split("/")[3],v=!document.referrer;var m,_;(p||f||v||n&&d===l)&&(c=location.href,s=(null===(m=C_SETTINGS.meta)||void 0===m||null===(_=m.page)||void 0===_?void 0:_.template_name)||"",u=document.referrer);c&&Object(i.q)(a.name,c,new Date((new Date).getTime()+18e5)),s&&r.set(s),u&&o.set(u)}},c=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"v2";return a.set(e,t)},s=()=>a.get(),u=()=>r.get(),d=()=>o.get(),l=()=>{let e=SHOP_PARAMS.fbq_pv_event_id;return e||(e=(new Date).getTime().toString()+(400*Math.random().toFixed(2)+100).toString(),Object.defineProperty(SHOP_PARAMS,"fbq_pv_event_id",{configurable:!1,get:()=>e,set:()=>{console.log("[golden] SHOP_PARAMS.fbq_pv_event_id 生成后不允许修改")}})),e}},function(e,t,n){"use strict";n.d(t,"a",(function(){return r}));var i=n(0);const r=function(){let e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];if(e)return window.djTracker=window.djTracker||[],void(window.djTrack=window.djTrack||function(e,t){window.djTracker.push({eventName:e,params:t})});window.djTrack=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};e&&Object(i.r)("dj.track",{eventName:e,params:t})},(window.djTracker||[]).map(e=>{let{eventName:t,params:n}=e;window.djTrack(t,n)})}},function(e,t,n){"use strict";function i(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,r(i.key),i)}}function r(e){var t=function(e,t){if("object"!=typeof e||!e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var i=n.call(e,t||"default");if("object"!=typeof i)return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==typeof t?t:t+""}n.d(t,"a",(function(){return a})),n.d(t,"c",(function(){return c})),n.d(t,"b",(function(){return s}));const o=new(function(){return e=function e(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.aidMap_=void 0,this.init_()},(t=[{key:"set",value:function(e){let t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if("string"!=typeof e)return;const n=e.split(".")[0];this.aidMap_[n]={path:[window.location.pathname],value:e},t&&this.setCache_()}},{key:"get",value:function(){return Object.values(this.aidMap_).map(e=>null==e?void 0:e.value.replaceAll(",",";")).join(",")}},{key:"init_",value:function(){this.aidMap_||(this.aidMap_=this.getCache_(),this.setUrlParamsAid_(),this.delFilter_())}},{key:"setUrlParamsAid_",value:function(){const e=new URL(window.location.href).searchParams.get("aid");this.set(e,!1)}},{key:"delFilter_",value:function(){let e=!1;Object.keys(this.aidMap_).forEach(t=>{if(!t||!this.aidMap_.hasOwnProperty(t))return;if("/"===window.location.pathname)return e=!0,void(this.aidMap_={});const n=this.aidMap_[t].path;n[n.length-1]!==window.location.pathname&&(n.length>=3?delete this.aidMap_[t]:n.push(window.location.pathname),e=!0)}),e&&this.setCache_()}},{key:"setCache_",value:function(){(sessionStorage||localStorage).setItem("__aid_cache_",JSON.stringify(this.aidMap_))}},{key:"getCache_",value:function(){const e=sessionStorage||localStorage;return JSON.parse(e.getItem("__aid_cache_"))||{}}}])&&i(e.prototype,t),n&&i(e,n),Object.defineProperty(e,"prototype",{writable:!1}),e;var e,t,n}()),a=()=>o.get(),c=e=>{e&&o.set(e)},s=(e,t)=>{var n,i;"click"!==(null==t?void 0:t.eventName)?(c(null==t?void 0:t.aid),["dj.productSearch","dj.addToCart","dj.viewContent"].includes(e)&&(null===(n=window.sa)||void 0===n||n.registerPageOnce({aid:a()}))):c(null==t||null===(i=t.params)||void 0===i?void 0:i.aid)}},function(e,t,n){"use strict";n.d(t,"a",(function(){return i}));const i=e=>{const t=()=>{document.removeEventListener("DOMContentLoaded",t),e()};"loading"!==document.readyState?setTimeout(e):document.addEventListener("DOMContentLoaded",t)}},function(e,t,n){"use strict";n.d(t,"b",(function(){return O})),n.d(t,"c",(function(){return j})),n.d(t,"a",(function(){return A}));var i=n(1),r=n(0),o=n(5),a=n(6);const c=(e,t)=>{Object(r.p)(e,(n,i)=>{try{(e=>{var t;const n={};if("object"==typeof(null==e?void 0:e.product)){const t=e.product;["cfb","ifb","scm","ssp"].forEach(e=>{e in t&&Object.assign(n,{[e]:t[e]})})}null===(t=window.sa)||void 0===t||t.registerPageOnce(n)})(i),Object(a.b)(e,i),t(n,i)}catch(n){console.error("[golden] listenEvent error :",n)}})},s=(e,t)=>{var n,i;const r="productSearch"+(new Date).getTime();null===(n=window.sa)||void 0===n||n.track("product_search",{key_word:t.keyWord,has_result:t.hasResult,event_id:r,AD_event_id:r,source:t.source,aid:null===(i=window.sa)||void 0===i?void 0:i.getAID()})};var u=n(3);const d=(e,t)=>{requestAnimationFrame(()=>{var n;null===(n=window.sa)||void 0===n||n.track("product_view",Object(u.b)(e,t,r.l))})},l=(e,t)=>{var n;null===(n=window.sa)||void 0===n||n.track("checkout_loaded",Object(u.b)(e,t,r.f))},p=(e,t)=>{var n;null===(n=window.sa)||void 0===n||n.track("add_to_cart",Object(u.b)(e,t,r.c))},f=(e,t)=>{var n;null===(n=window.sa)||void 0===n||n.track("checkout-submit",Object(u.b)(e,t))},v=(e,t)=>{var n;null===(n=window.sa)||void 0===n||n.track("begin_checkout",Object(u.b)(e,t,r.d))},m=(e,t)=>{var n;null===(n=window.sa)||void 0===n||n.track("set_shipping_address",Object(u.b)(e,t,r.j))},_=(e,t)=>{var n;null===(n=window.sa)||void 0===n||n.track("add_shipping_method",Object(u.b)(e,t,r.b))},h=(e,t)=>{var n;null===(n=window.sa)||void 0===n||n.track("add_payment_info",Object(u.b)(e,t,r.a))},g=(e,t)=>{window.sa.track("purchase",Object(u.b)(e,t,r.i))},b=e=>{const t=e.target;if(t.matches("input, select, textarea, button")){let n="";t.value&&(n=(t.value||"").replace(/./g,"*")),window.sa.track("checkout_input_"+e.type,{name:t.name||"",input_id:t.id||"",className:t.className||"",value:n})}};function w(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,y(i.key),i)}}function y(e){var t=function(e,t){if("object"!=typeof e||!e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var i=n.call(e,t||"default");if("object"!=typeof i)return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==typeof t?t:t+""}const S={BEFORE_REQUEST:"dj.beforeRequest",REQUEST:"dj.request",RESPONSE:"dj.response"},T=[{key:"buynow_pre_api",source:"buy_now",start:e=>e[S.BEFORE_REQUEST],end:e=>e[S.REQUEST]},{key:"buynow_api",source:"buy_now",start:e=>e[S.REQUEST],end:e=>e[S.RESPONSE]},{key:"buynow_all",source:"buy_now",start:e=>e[S.BEFORE_REQUEST],end:e=>e[S.RESPONSE]},{key:"cart_pre_api",source:"cart",start:e=>e[S.BEFORE_REQUEST],end:e=>e[S.REQUEST]},{key:"cart_api",source:"cart",start:e=>e[S.REQUEST],end:e=>e[S.RESPONSE]},{key:"cart_all",source:"cart",start:e=>e[S.BEFORE_REQUEST],end:e=>e[S.RESPONSE]}];let E=function(){return e=function e(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.cache_={},this.initListeners()},(t=[{key:"initListeners",value:function(){[].forEach.call(Object.values(S),e=>{document.addEventListener(e,t=>{var n;const{url:i,method:r,body:o}=(null===(n=t.detail)||void 0===n?void 0:n.request)||t.detail||{};var a;((e,t)=>"/api/checkout/order"===e&&"POST"===t)(i,r)&&(this.cache_[e]={timeStamp:t.timeStamp,source:(null==o||null===(a=o.refer_info)||void 0===a?void 0:a.source)||(null==o?void 0:o["refer_info[source]"])},this.checkCache())})})}},{key:"checkCache",value:function(){T.forEach(e=>{const t=e.start(this.cache_),n=e.end(this.cache_);t&&n&&!e.reported&&t.source===e.source&&(this.report(e.key,n.timeStamp-t.timeStamp),e.reported=!0)})}},{key:"report",value:function(e,t){var n;null===(n=window.sa)||void 0===n||n.track("web_duration",{duration:t,process_name:e})}}])&&w(e.prototype,t),n&&w(e,n),Object.defineProperty(e,"prototype",{writable:!1}),e;var e,t,n}();const O=()=>{c("dj.viewContent",d),c("dj.addToCart",p),c("dj.checkoutSubmit",f),c("dj.initiateCheckout",v),c("dj.checkoutLoaded",l),c("dj.checkoutStepAddress",m),c("dj.addShippingMethod",_),c("dj.checkoutStepPayment",h),c("dj.purchase",g),C()},j=()=>{var e,t;"function"==typeof $&&"function"==typeof(null===(e=$(document.body))||void 0===e?void 0:e.trigger)&&"function"==typeof(null===(t=$(document.body))||void 0===t?void 0:t.on)&&$((function(){window.jQuery.fn?k():window.sa.track("trackError",{readyState:document.readyState,jqVersion:"null"})})),c("dj.track",(function(e,t){var n;null===(n=window.sa)||void 0===n||n.track(t.eventName,t.params||{})})),c("dj.productSearch",s),c("dj.login",(function(e,t){var n;null===(n=window.sa)||void 0===n||n.track("login",Object(u.b)(e,t))})),c("dj.registration",(function(e,t){var n;null===(n=window.sa)||void 0===n||n.track("sign_up",Object(u.b)(e,t))})),c("dj.passwordReset",(function(e,t){var n;null===(n=window.sa)||void 0===n||n.track("forget",Object(u.b)(e,t))})),c("dj.completeRegistration",(function(e,t){var n;const i="completeRegistration"+(new Date).getTime();null===(n=window.sa)||void 0===n||n.track("complete_registration",{currency:C_SETTINGS.currency_code,event_id:i,AD_event_id:i,...Object(u.b)(e,t)})})),c("dj.cartItemChange",(function(e,t){var n;null===(n=window.sa)||void 0===n||n.track("cart_item_change",Object(u.b)(e,t,r.e))})),c("dj.cartItemDelete",(function(e,t){var n;null===(n=window.sa)||void 0===n||n.track("cart_item_delete",Object(u.b)(e,t,r.e))})),O(),new E,Object(o.a)(!1)},k=()=>{$(document.body).on("track",(function(e,t){const n=t.eventName,i=Object.assign({},t);n&&(window.sa&&window.sa.track(n,i),i.client_id=null)}))},A=()=>{Object(r.p)("click",(function(e){const t=e.target.closest("["+i.c+"]");if(!t)return;const n=t.getAttribute(i.c)||"";if(!n)return;const r={};[].slice.call(t.attributes).forEach((function(e){new RegExp(i.c+"-").test(e.nodeName)&&(r[e.nodeName.replace(i.c+"-","")]=e.nodeValue)})),n.split(",").map((function(e){(e=e.trim())&&window.djTrack(e,r)}))}))},C=()=>{/\/checkout\//.test(location.href)&&(document.body.addEventListener("focus",b,!0),document.body.addEventListener("blur",b,!0),document.body.addEventListener("click",b,!0))}},function(e,t,n){"use strict";n.d(t,"a",(function(){return Ie}));var i,r,o,a,c,s=-1,u=function(e){addEventListener("pageshow",(function(t){t.persisted&&(s=t.timeStamp,e(t))}),!0)},d=function(){return window.performance&&performance.getEntriesByType&&performance.getEntriesByType("navigation")[0]},l=function(){var e=d();return e&&e.activationStart||0},p=function(e,t){var n=d(),i="navigate";return s>=0?i="back-forward-cache":n&&(document.prerendering||l()>0?i="prerender":document.wasDiscarded?i="restore":n.type&&(i=n.type.replace(/_/g,"-"))),{name:e,value:void 0===t?-1:t,rating:"good",delta:0,entries:[],id:"v3-".concat(Date.now(),"-").concat(Math.floor(8999999999999*Math.random())+1e12),navigationType:i}},f=function(e,t,n){try{if(PerformanceObserver.supportedEntryTypes.includes(e)){var i=new PerformanceObserver((function(e){Promise.resolve().then((function(){t(e.getEntries())}))}));return i.observe(Object.assign({type:e,buffered:!0},n||{})),i}}catch(e){}},v=function(e,t,n,i){var r,o;return function(a){t.value>=0&&(a||i)&&((o=t.value-(r||0))||void 0===r)&&(r=t.value,t.delta=o,t.rating=function(e,t){return e>t[1]?"poor":e>t[0]?"needs-improvement":"good"}(t.value,n),e(t))}},m=function(e){requestAnimationFrame((function(){return requestAnimationFrame((function(){return e()}))}))},_=function(e){var t=function(t){"pagehide"!==t.type&&"hidden"!==document.visibilityState||e(t)};addEventListener("visibilitychange",t,!0),addEventListener("pagehide",t,!0)},h=function(e){var t=!1;return function(n){t||(e(n),t=!0)}},g=-1,b=function(){return"hidden"!==document.visibilityState||document.prerendering?1/0:0},w=function(e){"hidden"===document.visibilityState&&g>-1&&(g="visibilitychange"===e.type?e.timeStamp:0,S())},y=function(){addEventListener("visibilitychange",w,!0),addEventListener("prerenderingchange",w,!0)},S=function(){removeEventListener("visibilitychange",w,!0),removeEventListener("prerenderingchange",w,!0)},T=function(){return g<0&&(g=b(),y(),u((function(){setTimeout((function(){g=b(),y()}),0)}))),{get firstHiddenTime(){return g}}},E=function(e){document.prerendering?addEventListener("prerenderingchange",(function(){return e()}),!0):e()},O=[1800,3e3],j=function(e,t){t=t||{},E((function(){var n,i=T(),r=p("FCP"),o=f("paint",(function(e){e.forEach((function(e){"first-contentful-paint"===e.name&&(o.disconnect(),e.startTime<i.firstHiddenTime&&(r.value=Math.max(e.startTime-l(),0),r.entries.push(e),n(!0)))}))}));o&&(n=v(e,r,O,t.reportAllChanges),u((function(i){r=p("FCP"),n=v(e,r,O,t.reportAllChanges),m((function(){r.value=performance.now()-i.timeStamp,n(!0)}))})))}))},k=[.1,.25],A={passive:!0,capture:!0},C=new Date,D=function(e,t){i||(i=t,r=e,o=new Date,P(removeEventListener),I())},I=function(){if(r>=0&&r<o-C){var e={entryType:"first-input",name:i.type,target:i.target,cancelable:i.cancelable,startTime:i.timeStamp,processingStart:i.timeStamp+r};a.forEach((function(t){t(e)})),a=[]}},N=function(e){if(e.cancelable){var t=(e.timeStamp>1e12?new Date:performance.now())-e.timeStamp;"pointerdown"==e.type?function(e,t){var n=function(){D(e,t),r()},i=function(){r()},r=function(){removeEventListener("pointerup",n,A),removeEventListener("pointercancel",i,A)};addEventListener("pointerup",n,A),addEventListener("pointercancel",i,A)}(t,e):D(t,e)}},P=function(e){["mousedown","keydown","touchstart","pointerdown"].forEach((function(t){return e(t,N,A)}))},R=[100,300],M=0,L=1/0,q=0,x=function(e){e.forEach((function(e){e.interactionId&&(L=Math.min(L,e.interactionId),q=Math.max(q,e.interactionId),M=q?(q-L)/7+1:0)}))},G=function(){return c?M:performance.interactionCount||0},U=function(){"interactionCount"in performance||c||(c=f("event",x,{type:"event",buffered:!0,durationThreshold:0}))},B=[200,500],$=0,W=function(){return G()-$},F=[],J={},H=function(e){var t=F[F.length-1],n=J[e.interactionId];if(n||F.length<10||e.duration>t.latency){if(n)n.entries.push(e),n.latency=Math.max(n.latency,e.duration);else{var i={id:e.interactionId,latency:e.duration,entries:[e]};J[i.id]=i,F.push(i)}F.sort((function(e,t){return t.latency-e.latency})),F.splice(10).forEach((function(e){delete J[e.id]}))}},K=[2500,4e3],Q={},V=[800,1800],z=function(e,t){t=t||{};var n=p("TTFB"),i=v(e,n,V,t.reportAllChanges);!function e(t){document.prerendering?E((function(){return e(t)})):"complete"!==document.readyState?addEventListener("load",(function(){return e(t)}),!0):setTimeout(t,0)}((function(){var r=d();if(r){var o=r.responseStart;if(o<=0||o>performance.now())return;n.value=Math.max(o-l(),0),n.entries=[r],i(!0),u((function(){n=p("TTFB",0),(i=v(e,n,V,t.reportAllChanges))(!0)}))}}))};const Y=(e,t,n)=>e[n]-e[t],X=(e,t)=>e.serverTiming&&e.serverTiming.find(e=>e.name===t)&&e.serverTiming.find(e=>e.name===t).duration,Z=[{name:"dns",calculate:e=>Y(e,"domainLookupStart","domainLookupEnd")},{name:"tcp",calculate:e=>Y(e,"connectStart","connectEnd")},{name:"ssl",calculate:e=>e.secureConnectionStart?Y(e,"secureConnectionStart","connectEnd"):0},{name:"wait_for_server_response",calculate:e=>Y(e,"requestStart","responseStart")},{name:"cf_request_duration",calculate:e=>X(e,"cfRequestDuration")},{name:"page_duration",calculate:e=>X(e,"page")},{name:"gate_duration",calculate:e=>X(e,"gate")},{name:"earlyhints",calculate:e=>X(e,"earlyhints")}],ee=performance.getEntriesByType&&performance.getEntriesByType("navigation"),te=e=>{const t=(()=>{if(ee){return performance.getEntriesByType("navigation")[0]}return performance.timing})();Z.forEach(n=>{e({name:n.name,value:n.calculate(t)})}),e({name:"performance_api_type",value:ee?"NavigationTiming":"timing"})};var ne=n(0);const ie={__values:{},__registered:!1,__reported:!1,setMetric:function(e){var t,n;this.__values[e.name.toLowerCase()]=(t=e.name,n=e.value,"CLS"===t?Math.floor(1e3*n)/1e3:"performance_api_type"===t?n:Math.floor(n))},collectWVMetrics:function(){const e=this.setMetric.bind(this);z(e),j(e),function(e,t){t=t||{},E((function(){var n,i=T(),r=p("LCP"),o=function(e){var t=e[e.length-1];t&&t.startTime<i.firstHiddenTime&&(r.value=Math.max(t.startTime-l(),0),r.entries=[t],n())},a=f("largest-contentful-paint",o);if(a){n=v(e,r,K,t.reportAllChanges);var c=h((function(){Q[r.id]||(o(a.takeRecords()),a.disconnect(),Q[r.id]=!0,n(!0))}));["keydown","click"].forEach((function(e){addEventListener(e,(function(){return setTimeout(c,0)}),!0)})),_(c),u((function(i){r=p("LCP"),n=v(e,r,K,t.reportAllChanges),m((function(){r.value=performance.now()-i.timeStamp,Q[r.id]=!0,n(!0)}))}))}}))}(e),function(e,t){t=t||{},E((function(){var n,o=T(),c=p("FID"),s=function(e){e.startTime<o.firstHiddenTime&&(c.value=e.processingStart-e.startTime,c.entries.push(e),n(!0))},d=function(e){e.forEach(s)},l=f("first-input",d);n=v(e,c,R,t.reportAllChanges),l&&_(h((function(){d(l.takeRecords()),l.disconnect()}))),l&&u((function(){var o;c=p("FID"),n=v(e,c,R,t.reportAllChanges),a=[],r=-1,i=null,P(addEventListener),o=s,a.push(o),I()}))}))}(e),function(e,t){t=t||{},E((function(){var n;U();var i,r=p("INP"),o=function(e){e.forEach((function(e){e.interactionId&&H(e),"first-input"===e.entryType&&!F.some((function(t){return t.entries.some((function(t){return e.duration===t.duration&&e.startTime===t.startTime}))}))&&H(e)}));var t,n=(t=Math.min(F.length-1,Math.floor(W()/50)),F[t]);n&&n.latency!==r.value&&(r.value=n.latency,r.entries=n.entries,i())},a=f("event",o,{durationThreshold:null!==(n=t.durationThreshold)&&void 0!==n?n:40});i=v(e,r,B,t.reportAllChanges),a&&("PerformanceEventTiming"in window&&"interactionId"in PerformanceEventTiming.prototype&&a.observe({type:"first-input",buffered:!0}),_((function(){o(a.takeRecords()),r.value<0&&W()>0&&(r.value=0,r.entries=[]),i(!0)})),u((function(){F=[],$=G(),r=p("INP"),i=v(e,r,B,t.reportAllChanges)})))}))}(e,{reportAllChanges:!0}),function(e,t){t=t||{},j(h((function(){var n,i=p("CLS",0),r=0,o=[],a=function(e){e.forEach((function(e){if(!e.hadRecentInput){var t=o[0],n=o[o.length-1];r&&e.startTime-n.startTime<1e3&&e.startTime-t.startTime<5e3?(r+=e.value,o.push(e)):(r=e.value,o=[e])}})),r>i.value&&(i.value=r,i.entries=o,n())},c=f("layout-shift",a);c&&(n=v(e,i,k,t.reportAllChanges),_((function(){a(c.takeRecords()),n(!0)})),u((function(){r=0,i=p("CLS",0),n=v(e,i,k,t.reportAllChanges),m((function(){return n()}))})),setTimeout(n,0))})))}(e,{reportAllChanges:!0}),te(e)},collectServerMetrics:function(){"checkout"!==window.C_SETTINGS.shop.template_name&&(this.setMetric({name:"page_render_time",value:Number(Object(ne.g)("page_render_time"))}),this.setMetric({name:"page_time",value:Number(Object(ne.g)("page_time"))}))},collectMetrics:function(){this.collectWVMetrics(),this.collectServerMetrics()},getMetrics:function(){return this.__values},onReady:function(e){addEventListener("visibilitychange",()=>{"hidden"===document.visibilityState&&e()}),addEventListener("pagehide",e)},report:function(){!0!==this.__reported&&(window.sa.track("web_vitals",this.getMetrics()),this.__reported=!0)},trackWebVitals:function(){!0!==this.__registered&&(this.__registered=!0,this.collectMetrics(),this.onReady(()=>{this.report()}))}},re=()=>{try{ie.trackWebVitals()}catch(e){setTimeout((function(){throw e}),0)}};var oe=n(5),ae=n(4),ce=n(6);function se(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,ue(i.key),i)}}function ue(e){var t=function(e,t){if("object"!=typeof e||!e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var i=n.call(e,t||"default");if("object"!=typeof i)return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==typeof t?t:t+""}const de="image",le="beacon",pe="event_info",fe="base_property",ve="extra_properties";let me=function(e,t){return function(e,t,n){return t&&se(e.prototype,t),n&&se(e,n),Object.defineProperty(e,"prototype",{writable:!1}),e}((function e(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.distinct_id="",this.trackParams={$screen_height:Number(screen.height)||0,$screen_width:Number(screen.width)||0,$referrer:document.referrer,$referrer_host:document.referrer?document.referrer.split("/")[2]:"",$title:document.title,$url:()=>location.href,$url_path:location.pathname},this.eventInfo={},this.tempTrackParams={}}),[{key:e,value:function(e){navigator.sendBeacon(this.getServerUrl_(),this.getSendData_(e))}},{key:t,value:function(e){const t=document.createElement("img");t.width=1,t.height=1,t.src=this.getSendUrl_(this.getServerUrl_(),e)}},{key:"getSendUrl_",value:function(e,t){const n=this.base64Encode_(t),i="crc="+this.hashCode_(n);return-1!==e.indexOf("?")?e+"&data="+encodeURIComponent(n)+"&ext="+encodeURIComponent(i):e+"?data="+encodeURIComponent(n)+"&ext="+encodeURIComponent(i)}},{key:"getSendData_",value:function(e){const t=this.base64Encode_(e),n="crc="+this.hashCode_(t);return"data="+encodeURIComponent(t)+"&ext="+encodeURIComponent(n)}},{key:"base64Encode_",value:function(e){return btoa(encodeURIComponent(e).replace(/%([0-9A-F]{2})/g,(function(e,t){return String.fromCharCode("0x"+t)})))}},{key:"hashCode_",value:function(e){if("string"!=typeof e)return 0;var t=0;if(0==e.length)return t;for(var n=0;n<e.length;n++)t=(t<<5)-t+e.charCodeAt(n),t&=t;return t}},{key:"getProperties_",value:function(e,t){let n=Object.assign({},this.trackParams,this.getEventInfo(e),this.tempTrackParams,t);for(const e in n){let t=n[e];t instanceof Function&&(t=t()),n[e]=t}return n}},{key:"getDistinctId_",value:function(){return this.distinct_id||(new Date).getTime().toString()+(400*Math.random().toFixed(2)+100).toString()}},{key:"getTrackId_",value:function(){return Number(String(Math.random()).slice(2,5)+String(Math.random()).slice(2,4)+String((new Date).getTime()).slice(-4))}},{key:"clearTemp_",value:function(){this.tempTrackParams={}}},{key:"track",value:function(e,t){const n={distinct_id:this.getDistinctId_(),_track_id:this.getTrackId_(),type:"track",event:e,properties:this.getProperties_(e,t)};this[this.getSendType_()](JSON.stringify(n)),this.clearTemp_()}},{key:"getSendType_",value:function(){return this.sendType_||("object"==typeof navigator&&"function"==typeof navigator.sendBeacon?this.sendType_=le:this.sendType_=de),this.sendType_}},{key:"getServerUrl_",value:function(){if(!this.serverUrl_){let e=window.C_SETTINGS.sa_server_url;this.getSendType_()===le&&(e=e.replace("/sa?","/beacon/sa?")+"&gzip=0"),this.serverUrl_=e.replace(/\/sa$/,"/sa.gif").replace(/(\/sa)(\?[^\/]+)$/,"/sa.gif$2")}return this.serverUrl_}},{key:"getEventInfo",value:function(e){const t=this.eventInfo[e];return t?0===Object.keys(t).length?{}:{[pe]:JSON.stringify(t)}:{}}},{key:"registerPage",value:function(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];t?this.tempTrackParams=e:this.trackParams=Object.assign({},this.trackParams,e||{})}},{key:"registerPageOnce",value:function(e){this.tempTrackParams={...this.tempTrackParams,...e}}},{key:"registerBaseInfo",value:function(e,t){if(!e||!t)return;let n=(this.eventInfo[e]||{})[fe];this.eventInfo[e]={...this.eventInfo,[fe]:Object.assign({},n||{},t||{})}}},{key:"registerExtraInfo",value:function(e,t,n){if(!e||null==t||!t.function_name)return;let i=(this.eventInfo[e]||{})[ve]||[];i=i.filter(e=>e.function_name!==t.function_name),n||i.push({...t}),this.eventInfo[e]={...this.eventInfo[e]||{},[ve]:i}}},{key:"identify",value:function(e){this.distinct_id=e}}])}(le,de);var _e=n(2),he=n(3);const ge=()=>{const e=Object(_e.g)();Object(ae.e)(e),(e=>{var t;window.sa=new me,window.sa.registerAID=e=>Object(ce.c)(e),window.sa.getAID=()=>Object(ce.a)(),window.sa.registerPage(Object(he.a)({initCookieResult:e})),window.sa.identify((null===(t=C_SETTINGS.customer)||void 0===t?void 0:t.customer_id)||Object(_e.a)())})(e),Object(oe.a)()};function be(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,Te(i.key),i)}}function we(e,t,n){return t&&be(e.prototype,t),n&&be(e,n),Object.defineProperty(e,"prototype",{writable:!1}),e}function ye(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function Se(e,t,n){return(t=Te(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Te(e){var t=function(e,t){if("object"!=typeof e||!e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var i=n.call(e,t||"default");if("object"!=typeof i)return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==typeof t?t:t+""}let Ee,Oe=we((function e(t){ye(this,e),Se(this,"visits",[]),Se(this,"leaves",[]),Se(this,"visit",e=>{this.visits.unshift(null!=e?e:Date.now())}),Se(this,"leave",()=>{this.leaves.unshift(Date.now())}),this.visit(null==t?void 0:t.firstVisit)}));Oe.instance=()=>{var e,t;Ee||(Ee=new Oe({firstVisit:null===(e=window.performance)||void 0===e||null===(t=e.timing)||void 0===t?void 0:t.navigationStart}));return Ee},Oe.resetInstance=()=>{Ee=void 0};const je=["pageshow","pagehide","visibilitychange"];let ke,Ae=we((function e(){ye(this,e),Se(this,"_state","active"),Se(this,"_onChange",void 0),Se(this,"_cycleChangeHandler",e=>{switch(e.type){case"pageshow":this._dispatchChangeIfNeeded("active");break;case"pagehide":this._dispatchChangeIfNeeded("hidden");break;case"visibilitychange":this._dispatchChangeIfNeeded("hidden"===document.visibilityState?"hidden":"active")}}),Se(this,"_dispatchChangeIfNeeded",e=>{"function"==typeof this._onChange&&this._state!==e&&(this._state=e,this._onChange(e))}),Se(this,"onChange",e=>{this._onChange=e}),je.forEach(e=>addEventListener(e,this._cycleChangeHandler,!0))}));Ae.instance=()=>(ke||(ke=new Ae),ke),Ae.resetInstance=()=>{ke=void 0};const Ce=e=>{var t;const n=Oe.instance();switch(e){case"hidden":n.leave(),null===(t=window.sa)||void 0===t||t.track("page_leave",(e=>{const{visits:t,leaves:n}=e;return{visits:JSON.stringify(t),leaves:JSON.stringify(n)}})(n));break;case"active":n.visit()}};var De=n(8);const Ie=e=>{ge(),window.addEventListener("DOMContentLoaded",(function(){var t;null===(t=window.sa)||void 0===t||t.track("$pageview"),re(),"function"==typeof(null==e?void 0:e.DOMContentLoadedCb)&&e.DOMContentLoadedCb()})),window.addEventListener("load",(function(){(()=>{try{Ae.instance().onChange(Ce)}catch(e){window.sa&&window.sa.track("page_leave_init_err",{message:e&&e.message})}})(),Object(De.a)(),Object(oe.a)(!1)}),!1)}},function(e,t,n){"use strict";function i(e){return null!=e&&""!==e}function r(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];for(let t=0;t<e.length;t++){const r=(0,e[t])(...n);if(i(r))return r}}let o;const a=e=>(o||(o=new URL(window.location.href)),o.searchParams.get(e));let c={};const s=(e,t)=>function(){if(e in c)return c[e];let n=c[e]=t(...arguments);return n},u={STANDARD:{A:()=>{var e;return null===(e=document.querySelector("head meta[name=spma]"))||void 0===e?void 0:e.getAttribute("content")},B:()=>{var e;return null===(e=document.querySelector("head meta[name=spmb]"))||void 0===e?void 0:e.getAttribute("content")},C:()=>{var e;return null===(e=document.querySelector("head meta[name=spmc]"))||void 0===e?void 0:e.getAttribute("content")},D:e=>e.dataset.spm,D_ALL:e=>{let t=e.dataset.spm;if(t)return document.querySelectorAll(`${e.tagName}[data-spm=${t}]`)},E:e=>e.dataset.spm},BACKWARD_COMP:{A:()=>{var e;return null===(e=window.C_SETTINGS.shop)||void 0===e?void 0:e.shop_id},B:()=>{var e;return null===(e=window.C_SETTINGS.theme)||void 0===e?void 0:e.merchant_theme_name},C:()=>{var e,t;const n=null===(i=window.C_SETTINGS.meta)||void 0===i||null===(r=i.page)||void 0===r?void 0:r.resource_id;var i,r,o,a;return n?`${null===(o=window.C_SETTINGS.meta)||void 0===o||null===(a=o.page)||void 0===a?void 0:a.template_name}_${n}`:null===(e=window.C_SETTINGS.meta)||void 0===e||null===(t=e.page)||void 0===t?void 0:t.template_name},D:e=>e.dataset.sectionType,D_ALL:e=>{let t=e.dataset.sectionType;if(t)return document.querySelectorAll(`${e.tagName}[data-section-type='${t}']`)},E:(e,t)=>{let n=1;if(t){let i=t.querySelectorAll(`[data-track-id],.${window.C_SETTINGS.product_snippet_prefix},spz-product-snippet,[data-prdct]`);i=Array.prototype.filter.call(i,e=>!Array.prototype.includes.call(e.classList,"product-detail")&&!Array.prototype.includes.call(e.classList,"cart__item")),navigator.userAgent.includes("jsdom/")||(i=Array.prototype.filter.call(i,e=>(e=>!!(e.offsetWidth||e.offsetHeight||e.getClientRects().length))(e))),n=Array.prototype.findIndex.call(i,t=>t.contains(e))+1}return n}},CUSTOMIZED:{}},d=(s("a",()=>{var e;return null!==(e=r([u.STANDARD.A,u.BACKWARD_COMP.A]))&&void 0!==e?e:0}),s("b",()=>{var e;return null!==(e=r([u.STANDARD.B,u.BACKWARD_COMP.B]))&&void 0!==e?e:0}),s("c",()=>{var e;return null!==(e=r([u.STANDARD.C,u.BACKWARD_COMP.C]))&&void 0!==e?e:0})),l=e=>{let t=(e=>{let t,n=e.parentElement;for(;n&&"BODY"!==n.tagName.toUpperCase();){if(r([u.STANDARD.D,u.BACKWARD_COMP.D],n)){t=n;break}n=n.parentElement}return t})(e);return`..${d()}.${(e=>{let t;if(e){let n=r([u.STANDARD.D_ALL,u.BACKWARD_COMP.D_ALL],e);if((null==n?void 0:n.length)>0){let i=Array.prototype.indexOf.call(n,e);t=`${r([u.STANDARD.D,u.BACKWARD_COMP.D],e)}_${i+1}`}}return t||0})(t)}.${((e,t)=>r([u.STANDARD.E,u.BACKWARD_COMP.E],e,t)||1)(e,t)}`},p=s("spms",()=>({spm:a("spm"),spm_prev:a("spm_prev")})),f=s("cnt",()=>["","",d()].join(".")),v=/^https?:/;const m=e=>{const t=function(e){if(e.href)return e;let t=e.parentElement;for(;t&&"BODY"!==t.tagName.toUpperCase();){if(t.href)return t;t=t.parentElement}}(e.target);t&&(e=>{if(null!=e&&e.href)try{if(e.getAttribute("href").startsWith("#"))return;let t=new URL(e.href);if(!v.test(t.protocol))return;null==t.searchParams.get("spm")&&t.searchParams.set("spm",l(e));let{spm:n}=p();n&&t.searchParams.set("spm_prev",n),e.href=t.toString()}catch(e){console.error(e)}})(t)};let _;const h=()=>{const{disableSPM:e}=(()=>{if(!_){const e=document.documentElement;_={disableSPM:e.hasAttribute("disable-spm")}}return _})();e||document.addEventListener("click",m)};function g(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,y(i.key),i)}}function b(e,t,n){return t&&g(e.prototype,t),n&&g(e,n),Object.defineProperty(e,"prototype",{writable:!1}),e}function w(e,t,n){return(t=y(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function y(e){var t=function(e,t){if("object"!=typeof e||!e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var i=n.call(e,t||"default");if("object"!=typeof i)return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==typeof t?t:t+""}const S=new(b((function e(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),w(this,"params",{}),w(this,"get",e=>this.params[e]),w(this,"set",(e,t)=>{if((e=>"[object Object]"!==Object.prototype.toString.call(e)||null===e)(t))return;const n=this.params[e];this.params[e]=n?{...n,...t}:t}),w(this,"remove",e=>{delete this.params[e]}),w(this,"reset",()=>{this.params={}})}))),T=()=>{if("object"!=typeof window.sa)return setTimeout(T,200);((e,t,n)=>{if(!e||!e[t]||!n)return;let i=e[t].bind(e);const r=function(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];n(i,...t)};Object.defineProperty(e,t,{configurable:!0,get:()=>r,set:e=>{i=e}})})(window.sa,"track",(e,t,n)=>{let i=n;const r=S.get(t);r&&(i={...r,...null!=n?n:{}}),e(t,i)})};var E=n(1);const O=function(e,t){return e.getAttribute(`${E.c}-${t}`)};function j(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,C(i.key),i)}}function k(e,t,n){return t&&j(e.prototype,t),n&&j(e,n),Object.defineProperty(e,"prototype",{writable:!1}),e}function A(e,t,n){return(t=C(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function C(e){var t=function(e,t){if("object"!=typeof e||!e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var i=n.call(e,t||"default");if("object"!=typeof i)return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==typeof t?t:t+""}const D=e=>{"1"===e.getAttribute("imprevt")&&e.dispatchEvent(new CustomEvent("impress"))},I={root:null,ratio:.6},N=(e,t)=>{const n=function(){let e=arguments.length>1?arguments[1]:void 0;return t=>{t.forEach(t=>{t.target.getAttribute("imprsd")||(t.isIntersecting?t.target._timeoutId=setTimeout(()=>{t.target._timeoutId=void 0,t.target.setAttribute("imprsd","true"),e(t.target),D(t.target)},150):clearTimeout(t.target._timeoutId))})}}(e,t);return{intersectionHandler:n,observer:new IntersectionObserver(n,I)}},P={childList:!0,subtree:!0},R=(e,t)=>{const n=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1?arguments[1]:void 0;const n=e.selector;return e=>{const i=[];e.forEach(e=>{e.addedNodes.forEach(e=>{if(1===e.nodeType){if(e.matches(n))return void i.push(e);const t=e.querySelectorAll(n);(null==t?void 0:t.length)>0&&i.push(...t)}})}),i.length>0&&t(i)}}(e,t),i=new MutationObserver(n);return i.observe(document.documentElement,P),{mutationHandler:n,observer:i}},M=new(k((function e(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),A(this,"queue",[]),A(this,"sendTimer",null),A(this,"options",{}),A(this,"add",e=>{clearTimeout(this.sendTimer),this.queue.push(e),this.queue.length>=6&&this.send(),this.sendTimer=setTimeout(()=>{this.send()},2e3)}),A(this,"send",()=>{var e;this.queue.length>0&&(null===(e=window.sa)||void 0===e||e.track("impressions",{impressions:JSON.stringify(this.queue)}),this.queue=[])})}))),L=(e,t)=>Object.fromEntries(Object.entries(e).map(e=>{let n=e[1];return"string"==typeof n?[e[0],t.getAttribute(n)]:"function"==typeof n?[e[0],n(t)]:[e[0],void 0]}).filter(e=>i(e[1]))),q={STANDARD:(e,t)=>{if(t.matches(G.selector))return L(e.paramsMap,t)},BACKWARD_COMP:(e,t)=>{var n,i,r,o;const a=t.querySelector("a[href]"),c=!!a&&new URL(a.href),s=c&&null!==(n=c.searchParams.get("scm"))&&void 0!==n?n:void 0,u=c&&null!==(i=c.searchParams.get("cfb"))&&void 0!==i?i:void 0;return{spm:l(t),scm:s,ifb:u,product_id:t.dataset.trackId||(null===(r=L(e.paramsMap,t))||void 0===r?void 0:r.product_id),aid:null===(o=L(e.paramsMap,t))||void 0===o?void 0:o.aid}}},x=(e,t)=>r([q.STANDARD,q.BACKWARD_COMP],e,t),G={selector:"[impr]",paramsMap:{spm:e=>l(e),scm:"data-scm",ifb:"data-ifb",product_id:"data-prdct",aid:e=>{var t,n;return void 0!==e.dataset.aid?"true"===e.dataset.aid?(null===(t=window.sa)||void 0===t?void 0:t.getAID)&&(null===(n=window.sa)||void 0===n?void 0:n.getAID()):e.dataset.aid:void 0},source:e=>O(e,"source"),content:e=>O(e,"content")}},U=G,B=e=>{var t;return e===U?e:{selector:null!==(t=null==e?void 0:e.selector)&&void 0!==t?t:U.selector,paramsMap:null!=e&&e.paramsMap?{...U.paramsMap,...e.paramsMap}:U.paramsMap}},$=()=>["IntersectionObserver","MutationObserver"].map(e=>{return[e,(t=e,!!window[t])];var t}).filter(e=>!e[1]).map(e=>e[0]),W=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:U;const t=$();if(t.length>0)return void setTimeout(()=>{throw new Error("[Labrador] browser does not support "+t)});const n=e=>{const t=e.getAttribute("data-aid");var n,i;t&&((null===(n=window.sa)||void 0===n?void 0:n.registerAID)&&(null===(i=window.sa)||void 0===i||i.registerAID(t)))},i=B(e),{intersectionHandler:r,observer:o}=N(i,e=>{const t=x(i,e);t&&(t.aid&&n(e),M.add(t))}),a=e=>{e.forEach(e=>o.observe(e))},{mutationHandler:c,observer:s}=R(i,a);return a(document.querySelectorAll(i.selector)),{intersectionHandler:r,intersectionObserver:o,mutationHandler:c,mutationObserver:s}},F={getSPMCnt:f,getSPMs:p,registerParams:(e,t)=>{S.set(e,t)}};var J,H,K,Q=n(7);const V="1"===(null===(J=window.C_SETTINGS||window[atob("U0hPUExBWlpB")])||void 0===J||null===(H=J.shop)||void 0===H||null===(K=H.attrs)||void 0===K?void 0:K.algorithm_tracking_disabled);window.spzutm=F,(()=>{const e={...p(),spm_cnt:f(),scm:a("scm"),ssp:a("ssp"),cfb:a("cfb")};if(window.sa){var t,n;null===(t=(n=window.sa).registerPage)||void 0===t||t.call(n,e)}else{const t=window,n="sa";t[n]=e=>function(){for(var i=arguments.length,r=new Array(i),o=0;o<i;o++)r[o]=arguments[o];return(t[n]._q=t[n]._q||[]).push([e,r])},t[n]("registerPage")(e)}})(),Object(Q.a)(()=>{var e,t;V||h(),T();["product","search","cart","collection","flashsaleCollection","couponCollection","rebateCollection","automaticCollection","checkout","thank_you","index","page","theme_page","article","blog","order"].includes(null===(e=C_SETTINGS.meta)||void 0===e||null===(t=e.page)||void 0===t?void 0:t.template_name)&&(W(),W({selector:"[data-track-id]"}),W({selector:`.${window.C_SETTINGS.product_snippet_prefix},spz-product-snippet`,paramsMap:{product_id:"product-id"}}),W({selector:'[data-section-type="search"]',paramsMap:{aid:()=>{var e,t;return(null===(e=window.sa)||void 0===e?void 0:e.getAID)&&(null===(t=window.sa)||void 0===t?void 0:t.getAID())}}}))})},function(e,t,n){"use strict";var i,r,o,a=n(0);const c=location.protocol+((null===(i=window.C_SETTINGS)||void 0===i||null===(r=i.shop)||void 0===r?void 0:r.cdn_domain)||(null===(o=window.C_SETTINGS)||void 0===o?void 0:o.cdn_domain)),s=c,u=e=>{const t=window.AD_TRACK_ASSETS||(window.AD_TRACK_ASSETS={});Object.defineProperty(t,"golden_world",{configurable:!0,get:()=>null,set:n=>{Object.defineProperty(t,"golden_world",{configurable:!0,writable:!0,enumerable:!0}),t.golden_world=n,e(n)}})},d=e=>{let t=new URL(c);t.pathname=e||window.AD_TRACK_ASSETS.golden_world;const n=t.toString(),i=(()=>{if("develop"!==window.C_SETTINGS.namespace)return;const e=window.location.host.split(/-{3,5}/).slice(0,-1).reverse().toString();return e?`golden_world.${e}.js`:null})(),r=(()=>{const e=Object(a.g)("awesomeab").match(new RegExp("\\bgolden-world-(v[s0-9]+)"));if(e)return`golden_world.${e[1]}.js`})();return i&&(t=new URL(s),t.pathname=i),r&&(t.pathname=r),{src:t.toString(),isNotTrunk:i||r,trunkSrc:n}},l=e=>{var t,n;if(!(e||null!==(t=window)&&void 0!==t&&null!==(n=t.AD_TRACK_ASSETS)&&void 0!==n&&n.golden_world))return void u(l);const i=document.createElement("script"),{src:r,isNotTrunk:o,trunkSrc:a}=d(e);i.src=r,i.async=!0,i.onerror=()=>{if(o){i.remove();const e=document.createElement("script");e.src=a,document.head.appendChild(e)}},document.head.appendChild(i)};var p=n(7);const f=e=>localStorage.setItem("GOLDEN_WORLD_DATA_LAYER_EVENTS",JSON.stringify(e)),v=()=>JSON.parse(localStorage.getItem("GOLDEN_WORLD_DATA_LAYER_EVENTS"))||[],m=()=>{const e=window.GOLDEN_WORLD_DATA_LAYER||(window.GOLDEN_WORLD_DATA_LAYER=[{type:"golden_world.pageView"}]);e.inited=!1;const t=(t,n)=>{e.push({type:t.type,detail:n,event:t}),e.inited||(e=>{try{const t=v();t.push(e),f(t)}catch(e){}})(t.type)};["dj.pageLoad","dj.viewContent","dj.addToCart","dj.cartItemChange","dj.cartItemDelete","dj.productSearch","dj.completeRegistration","dj.emailSubscription","dj.initiateCheckout","dj.checkoutStepPayment","dj.checkoutStepAddress","dj.addShippingMethod","dj.purchase","dj.response","dj.track","click"].forEach(e=>{Object(a.p)(e,t)})};try{(()=>{try{const e=v();Object(p.a)(()=>{var t,n;null===(t=window)||void 0===t||null===(n=t.sa)||void 0===n||n.track("golden_world_missing_events",{missing_events:e.toString(),missing_events_count:e.length})}),f([])}catch(e){}})(),l(),m()}catch{}},,function(e,t,n){"use strict";n.r(t);var i=n(9),r=n(8);Object(i.a)({DOMContentLoadedCb:()=>{Object(r.c)()}});n(10),n(11)}]);/* golden-bottom_v2-end */
</script>
<!-- End Golden bottom -->
<!-- Begin Stork id:f6a207dd-e7ca-4b39-8255-f3961b26da93 appid:MI3CzsGag1D8R8hEUkcqHHvkbZ6vlRf9mhJysL6lXkE -->
<script type='text/javascript'>(window._ext || (window._ext =[])).push('translate');</script>
<!-- End Stork id:f6a207dd-e7ca-4b39-8255-f3961b26da93 appid:MI3CzsGag1D8R8hEUkcqHHvkbZ6vlRf9mhJysL6lXkE -->
<!-- Begin Stork id:fb22bc86-8aa8-4c2d-8100-eed0dea8c6bb appid:review-7f1944fc-2778-4c4d-b8fc-c306b54892e9-1622668888 -->
<script type='text/javascript'>(window._ext || (window._ext =[])).push('reviews');</script>
<!-- End Stork id:fb22bc86-8aa8-4c2d-8100-eed0dea8c6bb appid:review-7f1944fc-2778-4c4d-b8fc-c306b54892e9-1622668888 -->
<!-- Begin Stork id:cb60d736-0b7c-4d1c-ab71-be9ecf6ce287 appid:WyPFUis_B-b4Db8NinzlZeqK6CGRbnLcd-xayN9wj7I -->
<script type='text/javascript'>(window._ext || (window._ext =[])).push('add_to_cart');</script>
<!-- End Stork id:cb60d736-0b7c-4d1c-ab71-be9ecf6ce287 appid:WyPFUis_B-b4Db8NinzlZeqK6CGRbnLcd-xayN9wj7I -->
<!-- Begin Stork id:75e91a73-ec9d-4674-a2f1-0a5bc4933ff8 appid:kO-DpXKSAhhPBYnKOMbux7obUhH0XSkyj20TnpX0748 -->
<script type='text/javascript'>(window._ext || (window._ext =[])).push('currency');</script>
<!-- End Stork id:75e91a73-ec9d-4674-a2f1-0a5bc4933ff8 appid:kO-DpXKSAhhPBYnKOMbux7obUhH0XSkyj20TnpX0748 -->
<!-- Begin Stork id:411aca2d-0f8e-4dca-929b-f1600fcc6575 appid:EwrhQvHAw9jFkaYUQKZXWpsTheOFTAAVcQr1TzpHJCs -->
<script src="https://tk.lazbbq.asia/ym/002/static/js/project_126051_131018_1726333892.js"></script>
<!-- End Stork id:411aca2d-0f8e-4dca-929b-f1600fcc6575 appid:EwrhQvHAw9jFkaYUQKZXWpsTheOFTAAVcQr1TzpHJCs -->
<!-- Begin Stork id:c3cb8cc4-0f3c-402a-a4df-21a3911ae62c appid: -->
<script type="text/javascript">Object.assign(window.exts || (window.exts={}),{"variants_combination":"variants_combination.f5de4c76.js"});</script>
<!-- End Stork id:c3cb8cc4-0f3c-402a-a4df-21a3911ae62c appid: -->
<!-- Begin Stork id:fcd2341f-6c9a-4626-b00a-21f35a0f807d appid: -->
<script type="text/javascript">Object.assign(window.exts || (window.exts={}),{"stamped_frontend":"stamped_frontend.f67dcbe7.js"});</script>
<!-- End Stork id:fcd2341f-6c9a-4626-b00a-21f35a0f807d appid: -->
<!-- Begin Stork id:67473170-1d26-4434-b477-003042954049 appid:discount-rebate-694cd15c-887b-44a7-9d51-986d72b3594b -->
<script type='text/javascript'>(window._ext || (window._ext =[])).push('product_detail_rebate');</script>
<!-- End Stork id:67473170-1d26-4434-b477-003042954049 appid:discount-rebate-694cd15c-887b-44a7-9d51-986d72b3594b -->
<!-- Begin Stork id:9e78c422-b811-49cb-b766-c7d66f322449 appid: -->
<script type="text/javascript">Object.assign(window.exts || (window.exts={}),{"google_form":"google_form.833ccdcb.js"});</script>
<!-- End Stork id:9e78c422-b811-49cb-b766-c7d66f322449 appid: -->
<!-- Begin Stork id:a094261d-88fd-400e-9fc2-6c78902a143e appid: -->
<script type="text/javascript">Object.assign(window.exts || (window.exts={}),{"blog_products":"blog_products.f2c30654.js"});</script>
<!-- End Stork id:a094261d-88fd-400e-9fc2-6c78902a143e appid: -->
<!-- Begin Stork id:f9fda96c-1c51-47b2-bbc5-40f1451c153b appid:sales-pop-cb4f78b6-dbb6-46c6-ab9b-95f9165af78b -->
<script type='text/javascript'>(window._ext || (window._ext =[])).push('sales_pop');</script>
<!-- End Stork id:f9fda96c-1c51-47b2-bbc5-40f1451c153b appid:sales-pop-cb4f78b6-dbb6-46c6-ab9b-95f9165af78b -->
<!-- Begin Stork id:a5bb1753-d720-435d-a5e2-fb9bea1572dd appid: -->
<script type="text/javascript">Object.assign(window.exts || (window.exts={}),{"discount_gifts":"discount_gifts.163994e7.js"});</script>
<!-- End Stork id:a5bb1753-d720-435d-a5e2-fb9bea1572dd appid: -->
<!-- Begin Stork id:b0df6718-785c-4953-b30e-e2b3dcbb1847 appid: -->
<script type="text/javascript">Object.assign(window.exts || (window.exts={}),{"basic":"basic.c50df513.js"});</script>
<!-- End Stork id:b0df6718-785c-4953-b30e-e2b3dcbb1847 appid: -->
<!-- Begin Stork id:b2a81c73-f955-48d9-9807-b5472e16609a appid: -->
<script type="text/javascript">Object.assign(window.exts || (window.exts={}),{"bundle":"bundle.4fb36060.js"});</script>
<!-- End Stork id:b2a81c73-f955-48d9-9807-b5472e16609a appid: -->
<!-- Begin Stork id:b6742f8c-7453-46b3-bacf-91f45eaafa93 appid: -->
<script type="text/javascript">Object.assign(window.exts || (window.exts={}),{"bear":"bear.ef4bcb34.js"});</script>
<!-- End Stork id:b6742f8c-7453-46b3-bacf-91f45eaafa93 appid: -->
<!-- Begin Stork id:bbc4b3c0-f17c-4875-b233-28a326089248 appid: -->
<script type="text/javascript">Object.assign(window.exts || (window.exts={}),{"couponcode":"couponcode.eca340e3.js"});</script>
<!-- End Stork id:bbc4b3c0-f17c-4875-b233-28a326089248 appid: -->
<!-- Begin Stork id:c3b7c00c-47ef-4404-957e-d92c1a287004 appid: -->
<script type="text/javascript">Object.assign(window.exts || (window.exts={}),{"cart_pop":"cart_pop.60b5ca74.js"});</script>
<!-- End Stork id:c3b7c00c-47ef-4404-957e-d92c1a287004 appid: -->
<!-- Begin Stork id:c3b97f48-2311-442a-a405-b76aaac00fe7 appid: -->
<script type="text/javascript">Object.assign(window.exts || (window.exts={}),{"buy_on_others":"buy_on_others.2fff82c8.js"});</script>
<!-- End Stork id:c3b97f48-2311-442a-a405-b76aaac00fe7 appid: -->
<!-- Begin Stork id:f676a614-eb9d-462f-bfbd-3e56e12d7494 appid: -->
<script type="text/javascript">Object.assign(window.exts || (window.exts={}),{"common":"common.eb39bebc.js"});</script>
<!-- End Stork id:f676a614-eb9d-462f-bfbd-3e56e12d7494 appid: -->
<!-- Begin Stork id:c71e2fa4-12de-4a60-b7c4-79b16f7cf2ac appid: -->
<script type="text/javascript">Object.assign(window.exts || (window.exts={}),{"translate":"translate.223b9392.js"});</script>
<!-- End Stork id:c71e2fa4-12de-4a60-b7c4-79b16f7cf2ac appid: -->
<!-- Begin Stork id:c72be649-c673-4ddb-b35d-1d21cf378edb appid: -->
<script type="text/javascript">Object.assign(window.exts || (window.exts={}),{"filly":"filly.9ef3691e.js"});</script>
<!-- End Stork id:c72be649-c673-4ddb-b35d-1d21cf378edb appid: -->
<!-- Begin Stork id:c7b13e81-6f93-4302-be58-8703b0d4f4d2 appid: -->
<script type="text/javascript">Object.assign(window.exts || (window.exts={}),{"sloth":"sloth.b4785635.js"});</script>
<!-- End Stork id:c7b13e81-6f93-4302-be58-8703b0d4f4d2 appid: -->
<!-- Begin Stork id:c9fa8291-6cae-4976-9381-e009706a88ea appid: -->
<script type="text/javascript">Object.assign(window.exts || (window.exts={}),{"image_video":"image_video.b713d119.js"});</script>
<!-- End Stork id:c9fa8291-6cae-4976-9381-e009706a88ea appid: -->
<!-- Begin Stork id:cfa27d92-3d41-43c0-af7c-13eedd1320b8 appid: -->
<script type="text/javascript">Object.assign(window.exts || (window.exts={}),{"size_guide":"size_guide.e8afc889.js"});</script>
<!-- End Stork id:cfa27d92-3d41-43c0-af7c-13eedd1320b8 appid: -->
<!-- Begin Stork id:f910cf64-aa08-43ab-9978-56df486b27ed appid: -->
<script type="text/javascript">Object.assign(window.exts || (window.exts={}),{"installment":"installment.99b17d22.js"});</script>
<!-- End Stork id:f910cf64-aa08-43ab-9978-56df486b27ed appid: -->
<!-- Begin Stork id:d25fdaea-4e9d-4375-99fe-63ad37622ad3 appid: -->
<script type="text/javascript">Object.assign(window.exts || (window.exts={}),{"reviews":"reviews.9f79b507.js"});</script>
<!-- End Stork id:d25fdaea-4e9d-4375-99fe-63ad37622ad3 appid: -->
<!-- Begin Stork id:d477a5b6-6e81-47df-a41b-ad379b711444 appid: -->
<script type="text/javascript">Object.assign(window.exts || (window.exts={}),{"flashsale":"flashsale.01bf3574.js"});</script>
<!-- End Stork id:d477a5b6-6e81-47df-a41b-ad379b711444 appid: -->
<!-- Begin Stork id:e1c276f6-bd76-4dad-bfbe-37ab6c4fba7a appid: -->
<script type="text/javascript">Object.assign(window.exts || (window.exts={}),{"privacy_app":"privacy_app.ade927e4.js"});</script>
<!-- End Stork id:e1c276f6-bd76-4dad-bfbe-37ab6c4fba7a appid: -->
<!-- Begin Stork id:ec541cb5-28a2-46f8-9977-815cdafd3154 appid: -->
<script type="text/javascript">
(function () {
if (!SHOPLAZZA.payment_settings.paypal_express_enabled) return;
if ((window.disabled_exts || []).indexOf("*") != -1 || (window.disabled_exts || []).indexOf("paypal_express") != -1) return;
function getCookie(name) {
var match = document.cookie.match(new RegExp(name + '=([^;]+)'));
return (match && match[1]) || '';
}
var ppStamp = (getCookie('awesomeab').match(/paypal-express-([vs0-9]+)/) || ['', ''])[1];
var entry = ppStamp ? 'paypal_express.' + ppStamp + '.js' : 'paypal_express.c3177eb4.js';
var s = document.createElement('script');
s.crossOrigin = "anonymous";
s.async = !0;
s.src = SHOP_PARAMS.cdn_domain + entry;
document.body.appendChild(s);
})();
</script>
<!-- End Stork id:ec541cb5-28a2-46f8-9977-815cdafd3154 appid: -->
<!-- Begin Stork id:f05e1442-8744-4c98-8a9c-2ad11d27ed7c appid: -->
<script type="text/javascript">Object.assign(window.exts || (window.exts={}),{"fb_messenger":"fb_messenger.1de139d2.js"});</script>
<!-- End Stork id:f05e1442-8744-4c98-8a9c-2ad11d27ed7c appid: -->
<!-- Begin Stork id:3f6b6a38-14f8-4308-a931-c67125634b17 appid: -->
<script type="text/javascript">Object.assign(window.exts || (window.exts={}),{"multi_market":"multi_market.85145627.js"});</script>
<!-- End Stork id:3f6b6a38-14f8-4308-a931-c67125634b17 appid: -->
<!-- Begin Stork id:0a9c4060-6960-4e8f-b567-9ab476ad0f0b appid: -->
<script type="text/javascript">Object.assign(window.exts || (window.exts={}),{"jellyfish":"jellyfish.f9cc89bb.js"});</script>
<!-- End Stork id:0a9c4060-6960-4e8f-b567-9ab476ad0f0b appid: -->
<!-- Begin Stork id:0d0d303b-12ec-494b-b512-78de4d9e6ec3 appid: -->
<script type="text/javascript">Object.assign(window.exts || (window.exts={}),{"product_detail_rebate":"product_detail_rebate.c4f2c170.js"});</script>
<!-- End Stork id:0d0d303b-12ec-494b-b512-78de4d9e6ec3 appid: -->
<!-- Begin Stork id:0e08311f-80d3-4281-9d8f-d73de9989946 appid: -->
<script type="text/javascript">Object.assign(window.exts || (window.exts={}),{"buffalo":"buffalo.e0f4e5cf.js"});</script>
<!-- End Stork id:0e08311f-80d3-4281-9d8f-d73de9989946 appid: -->
<!-- Begin Stork id:0fec2f84-1c4a-487d-82cf-24c72833341b appid: -->
<script type="text/javascript">Object.assign(window.exts || (window.exts={}),{"coupon":"coupon.f6c62ee6.js"});</script>
<!-- End Stork id:0fec2f84-1c4a-487d-82cf-24c72833341b appid: -->
<!-- Begin Stork id:12d0fa68-883f-4b56-a7f8-739057dfb6f6 appid: -->
<script type="text/javascript">Object.assign(window.exts || (window.exts={}),{"currency":"currency.5a04dd81.js"});</script>
<!-- End Stork id:12d0fa68-883f-4b56-a7f8-739057dfb6f6 appid: -->
<!-- Begin Stork id:1d4aec3e-1284-4f43-83fb-8652d6a0b5d9 appid: -->
<script type="text/javascript">Object.assign(window.exts || (window.exts={}),{"vole":"vole.de34b0f2.js"});</script>
<!-- End Stork id:1d4aec3e-1284-4f43-83fb-8652d6a0b5d9 appid: -->
<!-- Begin Stork id:1e93d8b3-aea8-4869-9848-ea3ab7f975c1 appid: -->
<script type="text/javascript">Object.assign(window.exts || (window.exts={}),{"wishlist":"wishlist.b45a3e5f.js"});</script>
<!-- End Stork id:1e93d8b3-aea8-4869-9848-ea3ab7f975c1 appid: -->
<!-- Begin Stork id:28407d1c-1fe8-47c1-8a2f-e908f03737e2 appid: -->
<script type="text/javascript">Object.assign(window.exts || (window.exts={}),{"social_login":"social_login.9cbfc23f.js"});</script>
<!-- End Stork id:28407d1c-1fe8-47c1-8a2f-e908f03737e2 appid: -->
<!-- Begin Stork id:30d59abc-f7fb-4a98-bc41-23741b9c526c appid: -->
<script type="text/javascript">Object.assign(window.exts || (window.exts={}),{"numbat":"numbat.14e8199b.js"});</script>
<!-- End Stork id:30d59abc-f7fb-4a98-bc41-23741b9c526c appid: -->
<!-- Begin Stork id:b2481656-b753-400e-a673-2c53f9cc1f3f appid:invite_comment_e98be9f7-7aee-4c94-b7d8-63b66fed493a -->
<script type="text/javascript">Object.assign(window.exts || (window.exts={}),{"review_award":"review_award.0498f933.js"});</script>
<script type='text/javascript'>(window._ext || (window._ext =[])).push('review_award');</script>
<!-- End Stork id:b2481656-b753-400e-a673-2c53f9cc1f3f appid:invite_comment_e98be9f7-7aee-4c94-b7d8-63b66fed493a -->
<!-- Begin Stork id:334a0d6c-cb1e-4584-82da-c55e0a1569bd appid: -->
<script>
~(function() {
// checkout page
if (window.SHOP_PARAMS.template_type === '14') {
return;
}
function track(event, params) {
if (window.sa && window.sa.track && typeof window.sa.track === 'function') {
window.sa.track(event, params);
};
}
function preload() {
var script = document.createElement('script');
script.async = true;
script.src = '/api/preload-checkout?t=' + Date.now();
var loadStart = Date.now();
track('preload_checkout_start');
script.addEventListener('load', function() {
track('preload_checkout_loaded', { load_duration: Date.now() - loadStart });
});
script.addEventListener('error', function(e) {
track('preload_checkout_error', { load_duration: Date.now() - loadStart });
});
document.body.appendChild(script);
}
try {
var ab = document.cookie.split(';').find(function (i) { return /awesomeab=/.test(i); });
var version = 'default';
if (ab) {
var chickNext = decodeURIComponent(ab).split('=')[1].split(',').find(function (i) { return /chick-next/.test(i); });
if (chickNext) version = chickNext;
}
var loadedObj = JSON.parse(sessionStorage.getItem('preload_checkout_loaded_v1') || '{}');
if (loadedObj[version] && loadedObj[version]['allLoaded']) return;
} catch (e) {}
window.addEventListener('load', preload);
})();
</script>
<!-- End Stork id:334a0d6c-cb1e-4584-82da-c55e0a1569bd appid: -->
<!-- Begin Stork id:35683675-fc17-4f73-81fe-462954594000 appid: -->
<script type="text/javascript">Object.assign(window.exts || (window.exts={}),{"top_products":"top_products.4da4f6f3.js"});</script>
<!-- End Stork id:35683675-fc17-4f73-81fe-462954594000 appid: -->
<!-- Begin Stork id:3b200429-b2f0-4f53-9e1c-0553626ddc53 appid: -->
<script type="text/javascript">Object.assign(window.exts || (window.exts={}),{"appparakeet":"appparakeet.537f9b5b.js"});</script>
<!-- End Stork id:3b200429-b2f0-4f53-9e1c-0553626ddc53 appid: -->
<!-- Begin Stork id:8804bc66-128e-489e-8792-215018bda55d appid: -->
<script type="text/javascript">Object.assign(window.exts || (window.exts={}),{"zebu":"zebu.9cb981b7.js"});</script>
<!-- End Stork id:8804bc66-128e-489e-8792-215018bda55d appid: -->
<!-- Begin Stork id:455c44a7-c013-4f78-ae29-a5c92e9e64e8 appid: -->
<script type="text/javascript">Object.assign(window.exts || (window.exts={}),{"recommended_product":"recommended_product.b4592e0a.js"});</script>
<!-- End Stork id:455c44a7-c013-4f78-ae29-a5c92e9e64e8 appid: -->
<!-- Begin Stork id:4cde43d6-a9d8-4a64-b1d6-c24b6bc8c46a appid: -->
<script type="text/javascript">Object.assign(window.exts || (window.exts={}),{"boowc":"boowc.15caf0e7.js"});</script>
<!-- End Stork id:4cde43d6-a9d8-4a64-b1d6-c24b6bc8c46a appid: -->
<!-- Begin Stork id:5378feed-88dd-4949-8596-714aef0dc08c appid: -->
<script type="text/javascript">Object.assign(window.exts || (window.exts={}),{"add_to_cart":"add_to_cart.6cde2531.js"});</script>
<!-- End Stork id:5378feed-88dd-4949-8596-714aef0dc08c appid: -->
<!-- Begin Stork id:547cc341-48ce-4143-bf63-3878319e59d1 appid: -->
<script type="text/javascript">Object.assign(window.exts || (window.exts={}),{"apptrustpilot-plugin":"apptrustpilot-plugin.7edc2607.js"});</script>
<!-- End Stork id:547cc341-48ce-4143-bf63-3878319e59d1 appid: -->
<!-- Begin Stork id:6748fa57-2a5c-4968-8a9d-72e522a8baf2 appid: -->
<script type="text/javascript">Object.assign(window.exts || (window.exts={}),{"sales_pop":"sales_pop.007bbd65.js"});</script>
<!-- End Stork id:6748fa57-2a5c-4968-8a9d-72e522a8baf2 appid: -->
<!-- Begin Stork id:88019001-3044-4b31-9a9c-17aa098fbd11 appid:multi_market-fc9c5cb6-77a4-429b-a613-18fe7c1248ad -->
<script type='text/javascript'>(window._ext || (window._ext =[])).push('multi_market');</script>
<!-- End Stork id:88019001-3044-4b31-9a9c-17aa098fbd11 appid:multi_market-fc9c5cb6-77a4-429b-a613-18fe7c1248ad -->
<!-- Begin Stork id:727ab9e0-b66a-4fe1-9877-dbf60217786a appid: -->
<script type="text/javascript">Object.assign(window.exts || (window.exts={}),{"subscription_popups":"subscription_popups.bb56f61f.js"});</script>
<!-- End Stork id:727ab9e0-b66a-4fe1-9877-dbf60217786a appid: -->
<!-- Begin Stork id:78459784-ed62-4a39-a5aa-1c3399b92ade appid:discount-code-60d45221-a520-4bac-86cd-cac307777777 -->
<script type='text/javascript'>(window._ext || (window._ext =[])).push('coupon');</script>
<!-- End Stork id:78459784-ed62-4a39-a5aa-1c3399b92ade appid:discount-code-60d45221-a520-4bac-86cd-cac307777777 -->
<!-- Begin Stork id:7d022250-86ff-4efe-bd08-21393803315b appid: -->
<script type="text/javascript">Object.assign(window.exts || (window.exts={}),{"plugin_parakeet":"plugin_parakeet.6893a874.js"});</script>
<!-- End Stork id:7d022250-86ff-4efe-bd08-21393803315b appid: -->
<!-- Begin Stork id:810bddf4-d385-4108-a560-5fd840bb9fde appid: -->
<script type="text/javascript">Object.assign(window.exts || (window.exts={}),{"trout":"trout.47f21cf1.js"});</script>
<!-- End Stork id:810bddf4-d385-4108-a560-5fd840bb9fde appid: -->
<!-- Begin Stork id:849ccf26-d020-42fa-beb8-ce06530097f9 appid: -->
<script type="text/javascript">Object.assign(window.exts || (window.exts={}),{"discount_gifts_v2":"discount_gifts_v2.a34137af.js"});</script>
<!-- End Stork id:849ccf26-d020-42fa-beb8-ce06530097f9 appid: -->
</body>
</html>