<!doctype html>
<!--[if lt IE 7]><html class="no-js lt-ie9 lt-ie8 lt-ie7" lang="en"> <![endif]-->
<!--[if IE 7]><html class="no-js lt-ie9 lt-ie8" lang="en"> <![endif]-->
<!--[if IE 8]><html class="no-js lt-ie9" lang="en"> <![endif]-->
<!--[if IE 9 ]><html class="ie9 no-js"> <![endif]-->
<!--[if (gt IE 9)|!(IE)]><!--> <html class="no-js"> <!--<![endif]-->
<head>
<!-- Basic page needs ================================================== -->
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<link rel="icon" href="https://cdn.store-assets.com/s/922320/f/8463850.png" />
<!-- Title and description ================================================== -->
<title>
Malik
</title>
<!-- Social meta ================================================== -->
<meta property="og:type" content="website">
<meta property="og:title" content="Malik">
<meta property="og:url" content="https://monopolo.easy.co">
<meta property="og:image" content="">
<meta property="og:image:secure_url" content="">
<meta property="og:description" content="Malik">
<meta property="og:site_name" content="Malik">
<meta name="twitter:card" content="summary">
<meta name="twitter:site" content="@">
<meta name="twitter:title" content="Malik">
<meta name="twitter:description" content="">
<meta property="twitter:image" content="">
<meta property="twitter:image:secure_url" content="">
<!-- Helpers ================================================== -->
<link rel="canonical" href="https://monopolo.easy.co">
<meta name="viewport" content="width=device-width,initial-scale=1,maximum-scale=1">
<meta name="theme-color" content="#121212">
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js" type="text/javascript" ></script>
<!-- Header hook for plugins ================================================== -->
<!-- ScriptTags -->
<script>window.__st={'p': 'index', 'cid': ''};</script><script src='/assets/events.js'></script><script>const __es_ads = {'country_code':'PK' ,'title': 'Online store by <img src="https://s3.ap-southeast-1.amazonaws.com/easystore.website/images/logo/svg/easystore-logo-horizontal.svg" alt="EasyStore" style="display: block !important;width:8em;margin:-2px 0 0 8px;"> <i style="width: 1px;height: 25px;margin: 0 10px;background: #E3E7EB;"></i> Create yours for free today.','title_mb': 'Create online store with <img src="https://s3.ap-southeast-1.amazonaws.com/easystore.website/images/logo/svg/easystore-logo-horizontal.svg" alt="EasyStore" style="display: block !important;width:8em;margin:-2px 8px 0;">','cta': 'Get started'}</script><script src='/assets/js/ads/storefront-ads.js'></script><script>(function(){function asyncLoad(){var urls=['/assets/traffic.js?v=1'];for(var i=0;i<urls.length;i++){var s=document.createElement('script');s.type='text/javascript';s.async=true;s.src=urls[i];var x=document.getElementsByTagName('script')[0];x.parentNode.insertBefore(s, x);}}window.attachEvent ? window.attachEvent('onload', asyncLoad) : window.addEventListener('load', asyncLoad, false);})();</script>
<!-- /ScriptTags -->
<script src="https://store-themes.easystore.co/1354253/themes/63057/assets/global.js?t=1716420988" defer="defer"></script>
<script>
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','https://www.google-analytics.com/analytics.js','ga');
ga('create', '', 'auto','myTracker');
ga('myTracker.send', 'pageview');
</script>
<script src="/assets/storefront.js?id=5b96e48c778f63472284" type="text/javascript" ></script>
<!-- CSS ================================================== -->
<style>
@font-face {
font-family: 'Rubik';
font-style: normal;
font-weight: regular;
src: local('Rubik regular'), local('Rubik-regular'), url(https://fonts.gstatic.com/s/rubik/v14/iJWZBXyIfDnIV5PNhY1KTN7Z-Yh-B4i1UE80V4bVkA.ttf) format('truetype');
}
@font-face {
font-family: 'Archivo Black';
font-style: normal;
font-weight: regular;
src: local('Archivo Black regular'), local('Archivo Black-regular'), url(https://fonts.gstatic.com/s/archivoblack/v10/HTxqL289NzCGg4MzN6KJ7eW6OYuP_x7yx3A.ttf) format('truetype');
}
:root {
--font-body-family: 'Rubik', sans-serif;
--font-body-style: normal;
--font-body-weight: 300;
--font-heading-family: 'Archivo Black', sans-serif;
--font-heading-style: normal;
--font-heading-weight: 700;
--color-heading-text: 18,18,18;
--color-base-text: 18,18,18;
--color-base-background-1: 255,255,255;
--color-base-background-2: 255,255,255;
--color-base-solid-button-labels: 255,255,255;
--color-base-outline-button-labels: 18,18,18;
--color-base-accent-1: 18,18,18;
--color-base-accent-2: 18,18,18;
--payment-terms-background-color: 255,255,255;
--gradient-base-background-1: 255,255,255;
--gradient-base-background-2: 255,255,255;
--gradient-base-accent-1: 18,18,18;
--gradient-base-accent-2: 18,18,18;
--page-width: 145rem;
}
*,
*::before,
*::after {
box-sizing: inherit;
}
html {
box-sizing: border-box;
font-size: 62.5%;
height: 100%;
}
body {
display: grid;
grid-template-rows: auto auto 1fr auto;
grid-template-columns: 100%;
min-height: 100%;
margin: 0;
font-size: 1.5rem;
letter-spacing: 0.06rem;
line-height: 1.8;
font-family: var(--font-body-family);
font-style: var(--font-body-style);
font-weight: var(--font-body-weight);
}
@media screen and (min-width: 750px) {
body {
font-size: 1.6rem;
}
}
</style>
<link href="https://store-themes.easystore.co/1354253/themes/63057/assets/base.css?t=1716420988" rel="stylesheet" type="text/css" media="screen" />
<script>document.documentElement.className = document.documentElement.className.replace('no-js', 'js');</script>
</head>
<body id="malik" class="template-index" >
<!-- Snippet:global/body_start: Console Extension -->
<div id='es_console' style='display: none;'>1354253</div>
<!-- /Snippet -->
<style>
header {
--logo-width: 120px;
}
.header-wrapper,
.header-wrapper .list-menu--disclosure,
.header-wrapper .search-modal{
background-color: #F1F1F1;
}
.header-wrapper .search-modal .field__input{
background-color: rgb(var(--color-background));
}
.header-wrapper summary .icon-caret,
.header-wrapper .header__menu-item a,
.header-wrapper .list-menu__item,
.header-wrapper .link--text{
color: #000000;
}
.search-modal__form{
position: relative;
}
.dropdown {
display: none;
position: absolute;
top: 100%;
left: 0;
width: 100%;
padding: 5px 0;
background-color: #fff;
color:#000;
z-index: 1000;
border-bottom-left-radius: 15px;
border-bottom-right-radius: 15px;
border: 1px solid rgba(var(--color-foreground), 1);
border-top: none;
overflow-x: hidden;
overflow-y: auto;
max-height: 350px;
}
.dropdown-item {
padding: 0.4rem 2rem;
cursor: pointer;
line-height: 1.4;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.dropdown-item:hover{
background-color: #f3f3f3;
}
.search__input.is-focus{
border-radius: 15px;
border-bottom-left-radius: 0;
border-bottom-right-radius: 0;
border: 1px solid rgba(var(--color-foreground), 1);
border-bottom: none;
box-shadow: none;
}
.clear-all {
text-align: right;
padding: 0 2rem 0.2rem;
line-height: 1;
font-size: 70%;
margin-bottom: -2px;
}
.clear-all:hover{
background-color: #fff;
}
.search-input-focus .easystore-section-header-hidden{
transform: none;
}
</style>
<link rel="preload" href="https://store-themes.easystore.co/1354253/themes/63057/assets/section-header.css?t=1716420988" as="style" onload="this.onload=null;this.rel='stylesheet'">
<link rel="preload" href="https://store-themes.easystore.co/1354253/themes/63057/assets/component-list-menu.css?t=1716420988" as="style" onload="this.onload=null;this.rel='stylesheet'">
<link rel="preload" href="https://store-themes.easystore.co/1354253/themes/63057/assets/component-menu-drawer.css?t=1716420988" as="style" onload="this.onload=null;this.rel='stylesheet'">
<link rel="preload" href="https://store-themes.easystore.co/1354253/themes/63057/assets/component-cart-notification.css?v1.1?t=1716420988" as="style" onload="this.onload=null;this.rel='stylesheet'">
<script src="https://store-themes.easystore.co/1354253/themes/63057/assets/cart-notification.js?t=1716420988" defer="defer"></script>
<script src="https://store-themes.easystore.co/1354253/themes/63057/assets/details-modal.js?t=1716420988" defer="defer"></script>
<svg xmlns="http://www.w3.org/2000/svg" class="hidden">
<symbol id="icon-search" viewbox="0 0 18 19" fill="none">
<path fill-rule="evenodd" clip-rule="evenodd" d="M11.03 11.68A5.784 5.784 0 112.85 3.5a5.784 5.784 0 018.18 8.18zm.26 1.12a6.78 6.78 0 11.72-.7l5.4 5.4a.5.5 0 11-.71.7l-5.41-5.4z" fill="currentColor"/>
</symbol>
<symbol id="icon-close" class="icon icon-close" fill="none" viewBox="0 0 18 17">
<path d="M.865 15.978a.5.5 0 00.707.707l7.433-7.431 7.579 7.282a.501.501 0 00.846-.37.5.5 0 00-.153-.351L9.712 8.546l7.417-7.416a.5.5 0 10-.707-.708L8.991 7.853 1.413.573a.5.5 0 10-.693.72l7.563 7.268-7.418 7.417z" fill="currentColor">
</symbol>
</svg>
<div id="easystore-section-header">
<sticky-header class="header-wrapper header-wrapper--border-bottom">
<header class="header header--middle-left page-width header--has-menu">
<header-drawer data-breakpoint="tablet">
<details class="menu-drawer-container menu-opening">
<summary class="header__icon header__icon--menu header__icon--summary link link--text focus-inset" aria-label="Menu" role="button" aria-expanded="true" aria-controls="menu-drawer">
<span>
<svg class="icon icon-hamburger " data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 600 600"><path d="M32.5,65h535a25,25,0,0,0,0-50H32.5a25,25,0,0,0,0,50Z" fill="currentColor"/><path d="M567.5,275H32.5a25,25,0,0,0,0,50h535a25,25,0,0,0,0-50Z" fill="currentColor"/><path d="M567.5,535H32.5a25,25,0,0,0,0,50h535a25,25,0,0,0,0-50Z" fill="currentColor"/></svg>
<svg class="icon icon-close " data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 600 600"><path d="M335.36,300,581.87,53.48a25,25,0,0,0-35.35-35.35L300,264.64,53.48,18.13A25,25,0,0,0,18.13,53.48L264.64,300,18.13,546.52a25,25,0,0,0,35.35,35.35L300,335.36,546.52,581.87a25,25,0,0,0,35.35-35.35Z" fill="currentColor"/></svg>
</span>
</summary>
<div id="menu-drawer" class="menu-drawer motion-reduce" tabindex="-1">
<div class="menu-drawer__inner-container">
<div class="menu-drawer__navigation-container">
<nav class="menu-drawer__navigation">
<ul class="menu-drawer__menu list-menu" role="list">
<li>
<a href="/" class="menu-drawer__menu-item list-menu__item link link--text focus-inset">
Home
</a>
</li>
<li>
<details>
<summary class="menu-drawer__menu-item list-menu__item link link--text focus-inset" role="button" aria-expanded="false" aria-controls="link-Bags">
<a href="/collections/all" class="link--text list-menu__item menu-drawer__menu-item">
Catalog
</a>
<svg class="icon icon-arrow " data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 600 339.56"><path d="M31.06,196.67H504l-88.56,88.56a26.89,26.89,0,1,0,38,38L588,188.79a26.89,26.89,0,0,0,0-38L453.49,16.29a26.89,26.89,0,0,0-38,38L504,142.88H31.06a26.9,26.9,0,0,0,0,53.79Z" fill="currentColor"/></svg>
<svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-caret " viewBox="0 0 10 6">
<path fill-rule="evenodd" clip-rule="evenodd" d="M9.354.646a.5.5 0 00-.708 0L5 4.293 1.354.646a.5.5 0 00-.708.708l4 4a.5.5 0 00.708 0l4-4a.5.5 0 000-.708z" fill="currentColor"></path>
</svg>
</summary>
<div class="menu-drawer__submenu motion-reduce" tabindex="-1">
<div class="menu-drawer__inner-submenu">
<button class="menu-drawer__close-button link link--text focus-inset" aria-expanded="true">
<svg class="icon icon-arrow " data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 600 339.56"><path d="M31.06,196.67H504l-88.56,88.56a26.89,26.89,0,1,0,38,38L588,188.79a26.89,26.89,0,0,0,0-38L453.49,16.29a26.89,26.89,0,0,0-38,38L504,142.88H31.06a26.9,26.9,0,0,0,0,53.79Z" fill="currentColor"/></svg>
Catalog
</button>
<ul class="menu-drawer__menu list-menu" role="list" tabindex="-1">
<li>
<a href="/collections/new-arrival" class="menu-drawer__menu-item link link--text list-menu__item focus-inset">
New arrival
</a>
</li>
<li>
<a href="/collections/hot-selling" class="menu-drawer__menu-item link link--text list-menu__item focus-inset">
Hot selling
</a>
</li>
</ul>
</div>
</div>
</details>
</li>
<li>
<a href="/blogs/news" class="menu-drawer__menu-item list-menu__item link link--text focus-inset">
News
</a>
</li>
<li>
<a href="/store-locator" class="menu-drawer__menu-item list-menu__item link link--text focus-inset">
Location
</a>
</li>
</ul>
</nav>
<div class="menu-drawer__utility-links">
<a href="/account/login" class="menu-drawer__account link link--text focus-inset h5">
<svg class="icon icon-account " data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 600 600"><path d="M300,296.19c-70.7,0-137.11,28.74-187,80.93-49.59,51.87-76.9,120.77-76.9,194v25H563.89v-25c0-73.22-27.31-142.12-76.9-194C437.11,324.93,370.7,296.19,300,296.19ZM87.42,546.11C99.29,433.81,190.1,346.19,300,346.19s200.71,87.62,212.58,199.92Z" fill="currentColor"/><path d="M300,285.34c77.6,0,140.73-63.13,140.73-140.73S377.6,3.89,300,3.89,159.27,67,159.27,144.61,222.4,285.34,300,285.34Zm0-231.45a90.73,90.73,0,1,1-90.73,90.72A90.82,90.82,0,0,1,300,53.89Z" fill="currentColor"/></svg>
Log in
</a>
<a href="/account/register" class="menu-drawer__account link link--text focus-inset h5">
<svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" role="presentation" class="icon icon-plus " fill="none" viewBox="0 0 10 10">
<path fill-rule="evenodd" clip-rule="evenodd" d="M1 4.51a.5.5 0 000 1h3.5l.01 3.5a.5.5 0 001-.01V5.5l3.5-.01a.5.5 0 00-.01-1H5.5L5.49.99a.5.5 0 00-1 .01v3.5l-3.5.01H1z" fill="currentColor"></path>
</svg>
Create account
</a>
</div>
</div>
</div>
</div>
</details>
</header-drawer>
<h1 class="header__heading">
Malik
</h1>
<div class="header__search-input" tabindex="-1">
<form action="/search" method="get" role="search" class="search search-modal__form">
<div class="field">
<input class="search__input field__input"
id="Search-In-Modal"
type="search"
name="q"
value=""
placeholder="Search"
autocomplete="off"
>
<label class="field__label" for="Search-In-Modal">Search</label>
<div class="dropdown" id="searchDropdown"></div>
<input type="hidden" name="search_history" class="hidden_search_history">
<input type="hidden" name="options[prefix]" value="last">
<button class="search__button field__button" aria-label="Search">
<svg class="icon icon-search" aria-hidden="true" focusable="false" role="presentation">
<use href="#icon-search">
</svg>
</button>
</div>
</form>
</div>
<nav class="header__inline-menu">
<ul class="list-menu list-menu--inline" role="list">
<li>
<a href="/" class="header__menu-item header__menu-item list-menu__item link link--text focus-inset">
Home
</a>
</li>
<li>
<details-disclosure>
<details>
<summary class="header__menu-item list-menu__item link focus-inset">
<a href="/collections/all" >Catalog</a>
<svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-caret " viewBox="0 0 10 6">
<path fill-rule="evenodd" clip-rule="evenodd" d="M9.354.646a.5.5 0 00-.708 0L5 4.293 1.354.646a.5.5 0 00-.708.708l4 4a.5.5 0 00.708 0l4-4a.5.5 0 000-.708z" fill="currentColor"></path>
</svg>
</summary>
<ul class="header__submenu list-menu list-menu--disclosure caption-large motion-reduce" role="list" tabindex="-1">
<li>
<a href="/collections/new-arrival" class="header__menu-item list-menu__item link link--text focus-inset caption-large">
New arrival
</a>
</li>
<li>
<a href="/collections/hot-selling" class="header__menu-item list-menu__item link link--text focus-inset caption-large">
Hot selling
</a>
</li>
</ul>
</details>
</details-disclosure>
</li>
<li>
<a href="/blogs/news" class="header__menu-item header__menu-item list-menu__item link link--text focus-inset">
News
</a>
</li>
<li>
<a href="/store-locator" class="header__menu-item header__menu-item list-menu__item link link--text focus-inset">
Location
</a>
</li>
</ul>
</nav>
<div class="header__icons">
<div class="header__icon header__icon--account link link--text focus-inset small-hide medium-hide">
<a href="/account/login" class="header__icon link link--text focus-inset p-2">
<svg class="icon icon-account " data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 600 600"><path d="M300,296.19c-70.7,0-137.11,28.74-187,80.93-49.59,51.87-76.9,120.77-76.9,194v25H563.89v-25c0-73.22-27.31-142.12-76.9-194C437.11,324.93,370.7,296.19,300,296.19ZM87.42,546.11C99.29,433.81,190.1,346.19,300,346.19s200.71,87.62,212.58,199.92Z" fill="currentColor"/><path d="M300,285.34c77.6,0,140.73-63.13,140.73-140.73S377.6,3.89,300,3.89,159.27,67,159.27,144.61,222.4,285.34,300,285.34Zm0-231.45a90.73,90.73,0,1,1-90.73,90.72A90.82,90.82,0,0,1,300,53.89Z" fill="currentColor"/></svg>
<span id="my-account" class="header__link-label">Login</span>
</a>
</div>
<a href="/cart" class="header__icon link link--text focus-inset" id="cart-icon-bubble">
<span class="header__icon--cart">
<svg class="icon icon-cart-empty " data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 496.56 600"><path d="M453.52,128.63a25,25,0,0,0-24.91-22.8H364.72a117.48,117.48,0,0,0-232.89,0H67.94A25,25,0,0,0,43,128.63L8.8,515.21a72.11,72.11,0,0,0,19.05,55.6,79,79,0,0,0,58.22,25.3H410.49a79,79,0,0,0,58.22-25.3,72.11,72.11,0,0,0,19.05-55.6ZM248.28,53.89a67.58,67.58,0,0,1,65.65,51.94H182.63A67.57,67.57,0,0,1,248.28,53.89ZM431.83,537.05a28.85,28.85,0,0,1-21.34,9.06H86.07a28.85,28.85,0,0,1-21.34-9.06,22.69,22.69,0,0,1-6.13-17.43L90.82,155.83h40v51.23a25,25,0,0,0,50,0V155.83h135v51.23a25,25,0,0,0,50,0V155.83h40L438,519.62A22.68,22.68,0,0,1,431.83,537.05Z" fill="currentColor"/></svg>
<div class="cart-count-bubble hidden">
<span aria-hidden="true" class="js-content-cart-count">0</span>
</div>
</span>
<span class="header__link-label medium-hide small-hide">
Cart
</span>
</a>
</div>
</header>
</sticky-header>
<cart-notification>
<div class="cart-notification-wrapper page-width color-background-1">
<div id="cart-notification" class="cart-notification focus-inset" aria-modal="true" aria-label="Added to cart" role="dialog" tabindex="-1">
<div class="cart-notification__header">
<h2 class="cart-notification__heading caption-large">
<svg class="icon icon-checkmark color-foreground-text " aria-hidden="true" focusable="false" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 12 9" fill="none">
<path fill-rule="evenodd" clip-rule="evenodd" d="M11.35.643a.5.5 0 01.006.707l-6.77 6.886a.5.5 0 01-.719-.006L.638 4.845a.5.5 0 11.724-.69l2.872 3.011 6.41-6.517a.5.5 0 01.707-.006h-.001z" fill="currentColor"></path>
</svg>
Added to cart</h2>
<button type="button" class="cart-notification__close modal__close-button link link--text focus-inset" aria-label="accessibility.close">
<svg class="icon icon-close " data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 600 600"><path d="M335.36,300,581.87,53.48a25,25,0,0,0-35.35-35.35L300,264.64,53.48,18.13A25,25,0,0,0,18.13,53.48L264.64,300,18.13,546.52a25,25,0,0,0,35.35,35.35L300,335.36,546.52,581.87a25,25,0,0,0,35.35-35.35Z" fill="currentColor"/></svg>
</button>
</div>
<div id="cart-notification-product" class="cart-notification-product"></div>
<div class="cart-notification__links">
<a href="/cart" id="cart-notification-button" class="button button--secondary button--full-width">View cart (<span class="js-content-cart-count">0</span>)</a>
<form action="/cart" method="post" id="cart-notification-form">
<input type="hidden" name="_token" value="HX0nlVYDe3KVErWmflXIGFxQo4X2FtorGpNhBSoL">
<input type="hidden" name="current_currency" value="USD">
<button class="button button--primary button--full-width" name="checkout" value="true">Checkout</button>
</form>
<button type="button" class="link button-label">Continue shopping</button>
</div>
</div>
</div>
</cart-notification>
<style>
.cart-notification {
display: none;
}
</style>
<script>
document.getElementById('cart-notification-form').addEventListener('submit',(event)=>{
if(event.submitter) event.submitter.classList.add('loading');
})
</script>
</div>
<script>
class StickyHeader extends HTMLElement {
constructor() {
super();
}
connectedCallback() {
this.header = document.getElementById('easystore-section-header');
this.headerBounds = {};
this.currentScrollTop = 0;
this.preventReveal = false;
this.onScrollHandler = this.onScroll.bind(this);
this.hideHeaderOnScrollUp = () => this.preventReveal = true;
this.addEventListener('preventHeaderReveal', this.hideHeaderOnScrollUp);
window.addEventListener('scroll', this.onScrollHandler, false);
this.createObserver();
}
disconnectedCallback() {
this.removeEventListener('preventHeaderReveal', this.hideHeaderOnScrollUp);
window.removeEventListener('scroll', this.onScrollHandler);
}
createObserver() {
let observer = new IntersectionObserver((entries, observer) => {
this.headerBounds = entries[0].intersectionRect;
observer.disconnect();
});
observer.observe(this.header);
}
onScroll() {
const scrollTop = window.pageYOffset || document.documentElement.scrollTop;
if (scrollTop > this.currentScrollTop && scrollTop > this.headerBounds.bottom) {
requestAnimationFrame(this.hide.bind(this));
} else if (scrollTop < this.currentScrollTop && scrollTop > this.headerBounds.bottom) {
if (!this.preventReveal) {
requestAnimationFrame(this.reveal.bind(this));
} else {
window.clearTimeout(this.isScrolling);
this.isScrolling = setTimeout(() => {
this.preventReveal = false;
}, 66);
requestAnimationFrame(this.hide.bind(this));
}
} else if (scrollTop <= this.headerBounds.top) {
requestAnimationFrame(this.reset.bind(this));
}
this.currentScrollTop = scrollTop;
}
hide() {
this.header.classList.add('easystore-section-header-hidden', 'easystore-section-header-sticky');
this.closeMenuDisclosure();
// this.closeSearchModal();
}
reveal() {
this.header.classList.add('easystore-section-header-sticky', 'animate');
this.header.classList.remove('easystore-section-header-hidden');
}
reset() {
this.header.classList.remove('easystore-section-header-hidden', 'easystore-section-header-sticky', 'animate');
}
closeMenuDisclosure() {
this.disclosures = this.disclosures || this.header.querySelectorAll('details-disclosure');
this.disclosures.forEach(disclosure => disclosure.close());
}
// closeSearchModal() {
// this.searchModal = this.searchModal || this.header.querySelector('details-modal');
// this.searchModal.close(false);
// }
}
customElements.define('sticky-header', StickyHeader);
class DetailsDisclosure extends HTMLElement{
constructor() {
super();
this.mainDetailsToggle = this.querySelector('details');
// this.mainDetailsToggle.addEventListener('focusout', this.onFocusOut.bind(this));
this.mainDetailsToggle.addEventListener('mouseover', this.open.bind(this));
this.mainDetailsToggle.addEventListener('mouseleave', this.close.bind(this));
}
onFocusOut() {
setTimeout(() => {
if (!this.contains(document.activeElement)) this.close();
})
}
open() {
this.mainDetailsToggle.setAttribute('open',1)
}
close() {
this.mainDetailsToggle.removeAttribute('open')
}
}
customElements.define('details-disclosure', DetailsDisclosure);
function clearAll() {
localStorage.removeItem('searchHistory');
var customer = "";
if(customer) {
// Your logic to clear all data or call an endpoint
fetch('/account/search_histories', {
method: 'DELETE',
headers: {
"Content-Type": "application/json",
"X-Requested-With": "XMLHttpRequest"
},
body: JSON.stringify({
_token: "HX0nlVYDe3KVErWmflXIGFxQo4X2FtorGpNhBSoL"
}),
})
.then(response => response.json())
}
}
// End - delete search history from local storage
// search history dropdown
var searchInputs = document.querySelectorAll('.search__input');
if(searchInputs.length > 0) {
searchInputs.forEach((searchInput)=> {
searchInput.addEventListener('focus', function() {
var searchDropdown = searchInput.closest('form').querySelector('#searchDropdown');
searchDropdown.innerHTML = ''; // Clear existing items
// retrieve data from local storage
var searchHistoryData = JSON.parse(localStorage.getItem('searchHistory')) || [];
// Convert JSON to string
var search_history_json = JSON.stringify(searchHistoryData);
// Set the value of the hidden input
searchInput.closest('form').querySelector(".hidden_search_history").value = search_history_json;
// create dropdown items
var clearAllItem = document.createElement('div');
clearAllItem.className = 'dropdown-item clear-all';
clearAllItem.textContent = 'Clear';
clearAllItem.addEventListener('click', function() {
clearAll();
searchDropdown.style.display = 'none';
searchInput.classList.remove('is-focus');
});
searchDropdown.appendChild(clearAllItem);
// create dropdown items
searchHistoryData.forEach(function(item) {
var dropdownItem = document.createElement('div');
dropdownItem.className = 'dropdown-item';
dropdownItem.textContent = item.term;
dropdownItem.addEventListener('click', function() {
searchInput.value = item.term;
searchInput.closest('form').submit();
searchDropdown.style.display = 'none';
});
searchDropdown.appendChild(dropdownItem);
});
if(searchHistoryData.length > 0){
// display the dropdown
searchInput.classList.add('is-focus');
document.body.classList.add('search-input-focus');
searchDropdown.style.display = 'block';
}
});
searchInput.addEventListener("focusout", (event) => {
var searchDropdown = searchInput.closest('form').querySelector('#searchDropdown');
searchInput.classList.remove('is-focus');
searchDropdown.classList.add('transparent');
setTimeout(()=>{
searchDropdown.style.display = 'none';
searchDropdown.classList.remove('transparent');
document.body.classList.remove('search-input-focus');
}, 400);
});
})
}
// End - search history dropdown
</script>
<main id="MainContent" class="content-for-layout focus-none" role="main" tabindex="-1">
<div id='content_for_index'><div id='easystore-section-1653394784706'> <link
rel="preload"
href="https://store-themes.easystore.co/1354253/themes/63057/assets/section-promotion.css?t=1716420988"
as="style"
onload="this.onload=null;this.rel='stylesheet'">
<style>
[id="promotion-section-1653394784706-1"].promotion-banner {
background-color: #DADADA
;
color: #000000
;
}
[id="promotion-section-1653394784706-1"].promotion-banner .btn {
background-color: #000000
;
border-color: #000000
;
color: #DADADA
;
}
[id="promotion-section-1653394784706-1"].promotion-wrapper .promotion-block {
background-color: #DADADA
;
color: #000000
;
}
[id="promotion-section-1653394784706-2"].promotion-banner {
background-color: #E1E1E1
;
color: #000000
;
}
[id="promotion-section-1653394784706-2"].promotion-banner .btn {
background-color: #000000
;
border-color: #000000
;
color: #E1E1E1
;
}
[id="promotion-section-1653394784706-2"].promotion-wrapper .promotion-block {
background-color: #E1E1E1
;
color: #000000
;
}
[id="promotion-section-1653394784706-3"].promotion-banner {
background-color: #E1E1E1
;
color: #000000
;
}
[id="promotion-section-1653394784706-3"].promotion-banner .btn {
background-color: #000000
;
border-color: #000000
;
color: #E1E1E1
;
}
[id="promotion-section-1653394784706-3"].promotion-wrapper .promotion-block {
background-color: #E1E1E1
;
color: #000000
;
}
[id="promotion-section-1653394784706-4"].promotion-banner {
background-color: #282828
;
color: #FFF
;
}
[id="promotion-section-1653394784706-4"].promotion-banner .btn {
background-color: #FFF
;
border-color: #FFF
;
color: #282828
;
}
[id="promotion-section-1653394784706-4"].promotion-wrapper .promotion-block {
background-color: #282828
;
color: #FFF
;
}
</style>
<link
rel="preload"
href="https://store-themes.easystore.co/1354253/themes/63057/assets/component-slider.css?t=1716420988"
as="style"
onload="this.onload=null;this.rel='stylesheet'">
<div class="section-collection-list spaced-section page-width page-width-desktop">
<div class="promotion-section-container">
<div id="promotion-section-1653394784706-1" class="promotion-banner">
<div class="promotion-banner-title">HUGE DISCOUNT</div>
<div class="promotion-banner-description">
<p style="margin: 7.5px 10px;">20% off for selected products</p>
</div>
<a href="https://wonapeee12311.weebly.com/" class="btn">Shop Now</a>
</div>
<a
id="promotion-section-1653394784706-2"
href=""
class="promotion-wrapper">
<div class="promotion-block">
<div class="promotion-block-text">
<p class="top-text">Discount</p>
<span class="center-text">10% OFF</span>
<p class="bottom-text">New collection</p>
</div>
<div class="promotion-block-img">
<div class="img-wrapper">
<img src="https://cdn.store-assets.com/s/1040002/f/9153192.png?width=550" alt="Malik" />
</div>
<div class="img-wrapper">
<img src="https://cdn.store-assets.com/s/1040002/f/9153194.png?width=550" alt="Malik" />
</div>
</div>
</div>
</a>
<a
id="promotion-section-1653394784706-3"
href=""
class="promotion-wrapper">
<div class="promotion-block">
<div class="promotion-block-text">
<p class="top-text">Collection</p>
<span class="center-text">New</span>
<p class="bottom-text">Monday Blue</p>
</div>
<div class="promotion-block-img">
<div class="img-wrapper">
<img src="https://cdn.store-assets.com/s/1040002/f/9153196.png?width=550" alt="Malik" />
</div>
<div class="img-wrapper">
<img src="https://cdn.store-assets.com/s/1040002/f/9153197.png?width=550" alt="Malik" />
</div>
</div>
</div>
</a>
<a
id="promotion-section-1653394784706-4"
href=""
class="promotion-wrapper">
<div class="promotion-block">
<div class="promotion-block-text">
<p class="top-text">Top Text</p>
<span class="center-text">Center Text</span>
<p class="bottom-text">Bottom Text</p>
</div>
<div class="promotion-block-img">
<div class="img-wrapper">
<img src="https://themes.easystore.co/onboarding/placeholder/placeholder-square-1.png?width=550" alt="Malik" />
</div>
<div class="img-wrapper">
<img src="https://themes.easystore.co/onboarding/placeholder/placeholder-square-2.png?width=550" alt="Malik" />
</div>
</div>
</div>
</a>
</div>
</div>
</div><div id='easystore-section-1716420837166'>
<div class="page-width page-margin home-content-wrapper wrapper">
<div class="rte">
<link href='/assets/css/froala_style.min.css' rel='stylesheet' type='text/css'/><div class='fr-view'><p>Write a few sentences to tell people about your store (the kind of products you sell, your mission, etc). You can also add images and videos to help tell your story and generate more interest in your shop.</p><p>To edit the content on this page, go to the section of <a href="{{ admin_url }}">admin panel</a>.</p>
<script type="text/javascript">
$("img[data-type=youtube]").click(function(){
var this_parent = $(this).closest("div.Grid-cell--wrapper");
var height = $(this_parent).height();
var youtube_player = document.createElement("iframe");
youtube_player.setAttribute("style", "width:100%; height:"+height+"px;");
youtube_player.setAttribute("allowfullscreen","");
youtube_player.setAttribute("src","https://www.youtube.com/embed/"+$(this).data("youtube-id")+"?autoplay=1&fs=1");
this_parent.html(youtube_player);
});
</script></div>
</div>
<link rel="preload" href="https://store-themes.easystore.co/1354253/themes/63057/assets/component-card.css?t=1716420988" as="style" onload="this.onload=null;this.rel='stylesheet'">
<link rel="preload" href="https://store-themes.easystore.co/1354253/themes/63057/assets/component-price.css?t=1716420988" as="style" onload="this.onload=null;this.rel='stylesheet'">
<link rel="preload" href="https://store-themes.easystore.co/1354253/themes/63057/assets/component-product-grid.css?t=1716420988" as="style" onload="this.onload=null;this.rel='stylesheet'">
</div>
</div></div>
</main>
<style>
.footer{
background-color: #010517;
color: #FEFEFE;
--color-foreground: 254,254,254;
}
.footer .link--text,
.footer .list-menu__item--link,
.footer .footer-block__details-content .list-menu__item--link{
color: #FEFEFE;
}
.footer-block__heading{
color: #FFFFFF;
}
</style>
<link rel="preload" href="https://store-themes.easystore.co/1354253/themes/63057/assets/section-footer.css?t=1716420988" as="style" onload="this.onload=null;this.rel='stylesheet'">
<footer class="footer color-background-1">
<div class="footer__content-top page-width">
<div class="grid grid--1-col grid--4-col-tablet ">
<div class="grid__item">
<h2 class="footer-block__heading">Follow us</h2>
<ul class="footer__list-social list-unstyled list-social footer-block__details-content" role="list">
<li class="list-social__item">
<a href="https://twitter.com/" class="link link--text list-social__link">
<svg class="icon icon-twitter " viewBox="0 0 22 22" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
<path stroke="none" d="M0 0h24v24H0z" fill="none"/>
<path d="M3 3l11.733 16h4.267l-11.733 -16z" />
<path d="M3 19l6.768 -6.768m2.46 -2.46l6.772 -6.772" />
</svg>
</a>
</li>
<li class="list-social__item">
<a href="https://facebook.com/" class="link link--text list-social__link">
<svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-facebook "
viewBox="0 0 18 18">
<path fill="currentColor"
d="M16.42.61c.27 0 .5.1.69.28.19.2.28.42.28.7v15.44c0 .27-.1.5-.28.69a.94.94 0 01-.7.28h-4.39v-6.7h2.25l.31-2.65h-2.56v-1.7c0-.4.1-.72.28-.93.18-.2.5-.32 1-.32h1.37V3.35c-.6-.06-1.27-.1-2.01-.1-1.01 0-1.83.3-2.45.9-.62.6-.93 1.44-.93 2.53v1.97H7.04v2.65h2.24V18H.98c-.28 0-.5-.1-.7-.28a.94.94 0 01-.28-.7V1.59c0-.27.1-.5.28-.69a.94.94 0 01.7-.28h15.44z">
</path>
</svg>
</a>
</li>
<li class="list-social__item">
<a href="https://instagram.com/" class="link link--text list-social__link">
<svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-instagram "
viewBox="0 0 18 18">
<path fill="currentColor"
d="M8.77 1.58c2.34 0 2.62.01 3.54.05.86.04 1.32.18 1.63.3.41.17.7.35 1.01.66.3.3.5.6.65 1 .12.32.27.78.3 1.64.05.92.06 1.2.06 3.54s-.01 2.62-.05 3.54a4.79 4.79 0 01-.3 1.63c-.17.41-.35.7-.66 1.01-.3.3-.6.5-1.01.66-.31.12-.77.26-1.63.3-.92.04-1.2.05-3.54.05s-2.62 0-3.55-.05a4.79 4.79 0 01-1.62-.3c-.42-.16-.7-.35-1.01-.66-.31-.3-.5-.6-.66-1a4.87 4.87 0 01-.3-1.64c-.04-.92-.05-1.2-.05-3.54s0-2.62.05-3.54c.04-.86.18-1.32.3-1.63.16-.41.35-.7.66-1.01.3-.3.6-.5 1-.65.32-.12.78-.27 1.63-.3.93-.05 1.2-.06 3.55-.06zm0-1.58C6.39 0 6.09.01 5.15.05c-.93.04-1.57.2-2.13.4-.57.23-1.06.54-1.55 1.02C1 1.96.7 2.45.46 3.02c-.22.56-.37 1.2-.4 2.13C0 6.1 0 6.4 0 8.77s.01 2.68.05 3.61c.04.94.2 1.57.4 2.13.23.58.54 1.07 1.02 1.56.49.48.98.78 1.55 1.01.56.22 1.2.37 2.13.4.94.05 1.24.06 3.62.06 2.39 0 2.68-.01 3.62-.05.93-.04 1.57-.2 2.13-.41a4.27 4.27 0 001.55-1.01c.49-.49.79-.98 1.01-1.56.22-.55.37-1.19.41-2.13.04-.93.05-1.23.05-3.61 0-2.39 0-2.68-.05-3.62a6.47 6.47 0 00-.4-2.13 4.27 4.27 0 00-1.02-1.55A4.35 4.35 0 0014.52.46a6.43 6.43 0 00-2.13-.41A69 69 0 008.77 0z">
</path>
<path fill="currentColor"
d="M8.8 4a4.5 4.5 0 100 9 4.5 4.5 0 000-9zm0 7.43a2.92 2.92 0 110-5.85 2.92 2.92 0 010 5.85zM13.43 5a1.05 1.05 0 100-2.1 1.05 1.05 0 000 2.1z">
</path>
</svg>
</a>
</li>
<li class="list-social__item">
<a href="https://tiktok.com/" class="link link--text list-social__link">
<svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-tiktok " width="16"
height="18" fill="none" xmlns="http://www.w3.org/2000/svg">
<path
d="M8.02 0H11s-.17 3.82 4.13 4.1v2.95s-2.3.14-4.13-1.26l.03 6.1a5.52 5.52 0 11-5.51-5.52h.77V9.4a2.5 2.5 0 101.76 2.4L8.02 0z"
fill="currentColor">
</path>
</svg>
</a>
</li>
<li class="list-social__item">
<a href="https://wa.me/" class="link link--text list-social__link">
<svg class="icon icon-whatsapp " fill="currentColor" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 750 750"><path d="M703.5,195.64A371,371,0,0,0,572,56C523.89,26,471.51,8.4,415.21,2.51A370.48,370.48,0,0,0,316.5,5.42,364,364,0,0,0,215.23,37.47a369,369,0,0,0-132.68,108Q17.36,230.17,7,336.63A370.11,370.11,0,0,0,53.42,554.94a7.23,7.23,0,0,1,.61,4.9Q36.48,624.6,18.7,689.27C13.24,709.19,7.75,729.1,2.14,749.5c1.23-.26,1.93-.36,2.61-.55q95.75-25.11,191.54-50.2a8.43,8.43,0,0,1,5.19.61c12.79,5.8,25.28,12.34,38.29,17.59A370.28,370.28,0,0,0,666.09,604q69.06-86.36,80-196.47A370.36,370.36,0,0,0,743,311.86,361,361,0,0,0,703.5,195.64ZM684.64,388c-3.6,65.27-25.48,123.75-66.06,174.9-44.89,56.63-102.85,93.24-173.19,109.84a297.41,297.41,0,0,1-91.27,7A305.68,305.68,0,0,1,215.31,635a17.54,17.54,0,0,0-15.2-2.14c-35.5,9.58-71.1,18.74-106.66,28-.49.13-1,.21-2.14.45,1.72-6.37,3.29-12.22,4.89-18Q109,596.7,121.66,550.07a7.12,7.12,0,0,0-1-5.07c-12.37-19.32-23.31-39.25-31.6-60.64A309,309,0,0,1,70.4,410.63c-6.11-49.35-.93-97.44,16.1-144.15,57.86-160.1,234.55-243,394.65-185.11a308.31,308.31,0,0,1,120.2,79.18c34.9,37.19,59.32,80.31,72.81,129.53A304.75,304.75,0,0,1,684.64,388Z"/><path d="M556,454.42c-13.84-6.52-27.43-13.55-41.24-20.12-11.47-5.46-23-10.89-34.73-15.69-9.1-3.73-13.09-1.72-19.12,6.06-9.39,12.09-19.09,23.95-28.89,35.71-4.7,5.63-9.47,6.79-16.1,3.8-12.32-5.56-24.82-10.9-36.58-17.51-39.6-22.29-69.59-54.3-92.67-93.11-4.87-8.2-4.3-12.16,2.14-19.13,9.07-9.9,18.4-19.63,24.09-32.12a17.42,17.42,0,0,0,.47-14.67c-9.55-23-19-46-28.75-68.92a75.82,75.82,0,0,0-7-12.7c-2.56-3.82-6.6-5.49-11.28-5.36H255.78v-.56c-5.48.29-11,.11-16.39,1-8.66,1.37-15,6.75-20.95,12.94-25.46,26.48-34.58,57.89-28.66,93.83a145.64,145.64,0,0,0,20.75,53.75C220.48,377.5,231.32,393,242.65,408a435.09,435.09,0,0,0,70.53,73.19c31.48,26,67,44.54,105.56,57.58,16.1,5.44,32.08,11.08,49.36,11.42,11.52.22,23,.08,34.16-3.22a110.77,110.77,0,0,0,42.1-23.61c5.48-4.81,10.48-10.18,13.19-17a110.56,110.56,0,0,0,7.57-37.2C565.27,461.93,562.42,457.42,556,454.42Z"/></svg>
</a>
</li>
<li class="list-social__item">
<a href="https://line.com/" class="link link--text list-social__link">
<svg class="icon icon-line-footer " fill="currentColor" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 750 750"><path d="M375,.5C168.17.5.5,168.17.5,375S168.17,749.5,375,749.5,749.5,581.83,749.5,375,581.83.5,375,.5ZM570.75,476.91C518.48,537.06,401.6,610.33,375,621.53s-22.66-7.13-21.57-13.42c.63-3.76,3.55-21.33,3.55-21.33.83-6.36,1.66-16.23-.83-22.52-2.81-7-13.83-10.54-21.95-12.29C214.51,536.14,125.9,452.45,125.9,352.53,125.9,241,237.64,150.38,375,150.38s249.1,90.68,249.1,202.15h0C624.14,397.14,606.85,437.32,570.75,476.91Z"/><polygon points="324.38 298.65 324.38 298.65 324.38 298.65 324.38 298.65"/><path d="M324.38,298.65H306.91a4.86,4.86,0,0,0-4.86,4.85V412a4.86,4.86,0,0,0,4.86,4.85h17.47a4.86,4.86,0,0,0,4.85-4.85V303.5A4.86,4.86,0,0,0,324.38,298.65Z"/><path d="M444.67,298.65h-17.5a4.85,4.85,0,0,0-4.85,4.85V368l-49.73-67.17a4.57,4.57,0,0,0-.38-.49,2.76,2.76,0,0,0-.29-.3l-.09-.09a2.65,2.65,0,0,0-.26-.21l-.12-.1-.25-.18-.15-.08-.26-.14-.15-.08-.28-.12-.16,0-.28-.1-.18,0-.27-.06H351.08a4.85,4.85,0,0,0-4.85,4.84V412a4.85,4.85,0,0,0,4.85,4.85h17.48a4.85,4.85,0,0,0,4.85-4.85V347.54l49.81,67.26a5.15,5.15,0,0,0,1.22,1.2h.06l.29.18.14.07.24.12.23.1.15,0,.32.11H426a4.69,4.69,0,0,0,1.24.16h17.48a4.85,4.85,0,0,0,4.86-4.84h0V303.5A4.87,4.87,0,0,0,444.67,298.65Z"/><path d="M282.26,389.67h0l0,0H234.79V303.5a4.85,4.85,0,0,0-4.83-4.85H212.47a4.84,4.84,0,0,0-4.85,4.84h0V412a4.74,4.74,0,0,0,1.35,3.32.27.27,0,0,0,.07.08l.07.07a4.81,4.81,0,0,0,3.33,1.35h69.81a4.84,4.84,0,0,0,4.84-4.84h0V394.52A4.84,4.84,0,0,0,282.26,389.67Z"/><path d="M541.16,371.34a4.85,4.85,0,0,0,4.85-4.85h0V349a4.85,4.85,0,0,0-4.84-4.85H493.72V325.84l47.42,0A4.83,4.83,0,0,0,546,321V303.5a4.85,4.85,0,0,0-4.84-4.86H471.34A4.81,4.81,0,0,0,468,300l-.05.05-.08.09a4.82,4.82,0,0,0-1.34,3.33V412a4.77,4.77,0,0,0,1.35,3.33l.07.07.07.07a4.8,4.8,0,0,0,3.32,1.36h69.81A4.85,4.85,0,0,0,546,412h0V394.5a4.85,4.85,0,0,0-4.84-4.85H493.72V371.34Z"/></svg>
</a>
</li>
<li class="list-social__item">
<a href="https://wechat.com/" class="link link--text list-social__link">
<svg class="icon icon-wechat " fill="currentColor" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 750 750"><path d="M372.31,344.63c30-25,64.6-40.77,102.63-49.15a300.24,300.24,0,0,1,45.43-6.61c5.81-.38,11.6-.81,17.41-1.1,1.9-.1,2.82-.61,2.47-2.74s-.43-4.35-.63-6.54a225,225,0,0,0-7.31-40.71c-10.79-38.76-31.69-71.57-59.89-99.89C443.56,108.89,409.5,88,371.11,74.1a288,288,0,0,0-92.8-17.38,214.68,214.68,0,0,0-24.59.6c-13.23,1.22-26.59,2.34-39.62,4.87-27.42,5.32-53.55,14.74-78.56,27.19C81.1,116.52,40.88,157.11,17.8,213.92c-10,24.63-16.23,50.2-17.22,76.79a268,268,0,0,0,1.54,35.94c2,20.14,7.8,39.35,16.06,57.79,16.49,36.82,41.46,67,72.92,91.91,5.45,4.32,11.08,8.43,16.67,12.58,5,3.74,7.24,8.41,5.45,14.69-1.45,5-2.91,10.06-4.07,15.16-4.66,21.08-9.21,42.18-13.79,63.28-.68,3.14-1.33,6.31-2.17,10.23l4.22-2.53c25-15.68,50.07-31.42,75.19-47,5.66-3.53,11.39-7.13,17.5-9.66,8.26-3.45,17.1-2,25.72-1.11,10.89,1.14,21.75,2.45,32.56,3.79,11.34,1.4,22.65,2.92,34,4.38,4.22.54,8.47,1,13,1.58V538.6c-.54-9-1.36-18.05-1.62-27.1a207.12,207.12,0,0,1,5.51-54.13C310.33,411.15,336.31,374.6,372.31,344.63Zm5.22-135.5a40,40,0,1,1,.23,80.06c-23,0-40.94-17.52-40.93-39.93C336.85,227.31,355.16,209.25,377.53,209.13Zm-199.24,80c-22.67,0-40.12-17.42-40.18-40.2-.06-22.15,17.59-39.69,40-39.8s41,18.18,41,40.45C219.19,271.27,200.73,289.12,178.29,289.17Z"/><path d="M741.59,452.47c-17.42-53.21-52.3-91.29-102.2-115.63-37.18-18.16-76.75-25.44-118.12-23.14a233.78,233.78,0,0,0-42.61,6.1c-46.81,11.45-86.29,35.2-117,72.49-29.88,36.26-43.68,77.93-39.29,125a162.57,162.57,0,0,0,20.91,65.36c17.84,31.48,42.83,56.1,73.27,75.36a201,201,0,0,0,61.39,25.71,231.39,231.39,0,0,0,41.51,5.7c14.43.74,28.84.56,43-2.4,11.91-2.47,23.58-6,35.4-8.94,13.89-3.42,27.81-3.75,41.31,1.49,9.47,3.67,18.62,8.2,27.9,12.36,1,.45,2,1,3,1.43l.45-.57-1.22-3.17A46,46,0,0,1,666.47,666c1.52-9.87,6.35-18.15,13-25.33,5.49-6,11.45-11.48,17.3-17.11,30.78-29.85,48.84-65.91,52.23-108.8A158.69,158.69,0,0,0,741.59,452.47ZM435.15,478.14a34.86,34.86,0,1,1,.74-69.71h0c19.66.06,34.87,15.6,34.76,35.51C470.54,463,454.75,478.26,435.15,478.14ZM596.63,478c-19.58-.43-34.46-15.65-34.16-35.13a34.6,34.6,0,0,1,34.88-34.32h.12c19,0,34,15.64,34,35.3A34.23,34.23,0,0,1,597.17,478Z"/></svg>
</a>
</li>
<li class="list-social__item">
<a href="https://youtube.com/" class="link link--text list-social__link">
<svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-youtube "
viewBox="0 0 100 70">
<path
d="M98 11c2 7.7 2 24 2 24s0 16.3-2 24a12.5 12.5 0 01-9 9c-7.7 2-39 2-39 2s-31.3 0-39-2a12.5 12.5 0 01-9-9c-2-7.7-2-24-2-24s0-16.3 2-24c1.2-4.4 4.6-7.8 9-9 7.7-2 39-2 39-2s31.3 0 39 2c4.4 1.2 7.8 4.6 9 9zM40 50l26-15-26-15v30z"
fill="currentColor">
</path>
</svg>
</a>
</li>
</ul>
</div>
<div class="grid__item">
<h2 class="footer-block__heading">We accept</h2>
<div class="footer-block__details-content footer__payment">
<ul class="list list-payment" role="list">
<li class="list-payment__item">
<svg class="icon icon--full-color " viewBox="0 0 38 24" xmlns="http://www.w3.org/2000/svg" role="img"
width="38" height="24" aria-labelledby="pi-visa">
<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="list-payment__item">
<svg class="icon icon--full-color " viewBox="0 0 38 24" xmlns="http://www.w3.org/2000/svg" role="img"
width="38" height="24" aria-labelledby="pi-master">
<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="list-payment__item">
<svg class="icon icon--full-color " xmlns="http://www.w3.org/2000/svg" role="img" viewBox="0 0 38 24"
width="38" height="24" aria-labelledby="pi-american_express">
<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="list-payment__item">
<svg class="icon icon--full-color " viewBox="0 0 38 24" xmlns="http://www.w3.org/2000/svg" width="38"
height="24" role="img" aria-labelledby="pi-paypal">
<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="list-payment__item">
<svg class="icon icon--full-color " viewBox="0 0 38 24" xmlns="http://www.w3.org/2000/svg" role="img"
width="38" height="24" aria-labelledby="pi-diners_club">
<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="M12 12v3.7c0 .3-.2.3-.5.2-1.9-.8-3-3.3-2.3-5.4.4-1.1 1.2-2 2.3-2.4.4-.2.5-.1.5.2V12zm2 0V8.3c0-.3 0-.3.3-.2 2.1.8 3.2 3.3 2.4 5.4-.4 1.1-1.2 2-2.3 2.4-.4.2-.4.1-.4-.2V12zm7.2-7H13c3.8 0 6.8 3.1 6.8 7s-3 7-6.8 7h8.2c3.8 0 6.8-3.1 6.8-7s-3-7-6.8-7z"
fill="#3086C8"></path>
</svg>
</li>
<li class="list-payment__item">
<svg class="icon icon--full-color " viewBox="0 0 38 24" width="38" height="24" role="img"
aria-labelledby="pi-discover" fill="none" xmlns="http://www.w3.org/2000/svg">
<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>
</div>
</div>
<div class="grid__item">
<h2 class="footer-block__heading">
Quick links
</h2>
<ul class="footer-block__details-content list-unstyled">
<li>
<a href="/store-locator" class="link link--text list-menu__item list-menu__item--link">
Location
</a>
</li>
</ul>
</div>
<div class="grid__item">
<h2 class="footer-block__heading">Our mission</h2>
<div class="footer-block__details-content">
<p>Quality materials, good designs, craftsmanship and sustainability.</p>
</div>
</div>
</div>
</div>
<div class="footer__content-bottom">
<div class="footer__content-bottom-wrapper page-width">
<div class="footer__column footer__column--info">
<div class="footer__copyright caption">
<div class="copyright__content">© 2024 malik. Powered by <a href="http://www.easystore.co/?utm_source=storefront&utm_medium=sf_ref_footer&utm_campaign=sf_ref">EasyStore</a></div>
</div>
<div class="footer__copyright caption">
<div>
<a href="/legal/terms-of-service">Terms of Service</a>
| <a href="/legal/privacy-policy">Privacy Policy</a>
| <a href="/legal/refund-policy">Refund Policy</a>
</div>
</div>
</div>
</div>
</div>
</footer>
<script>
EasyStore.Currencies.init([{"name":"US Dollar","code":"USD","rate":"1.0","format_prefix":"$","format_suffix":null,"format_decimals":2,"thousand_separator":",","is_primary":true}])
</script>
<script>
let page_template = 'index';
if(document.querySelector('.currency-picker')) EasyStore.Currencies.change(document.querySelector('.currency-picker').value)
document.querySelectorAll('.currency-picker').forEach((el)=>{
el.addEventListener('change',(event)=>{
console.log(event.target.value);
EasyStore.Currencies.change(event.target.value)
document.querySelectorAll('[name=currencies],[name=current_currency]').forEach((el)=>{
el.value = event.target.value
})
if(page_template == 'cart') location.reload();
})
})
</script>
<script>
window.variantStrings = {
addToCart: `Add to Cart`,
soldOut: `Sold Out`,
unavailable: `Unavailable`,
}
window.accessibilityStrings = {
shareSuccess: `Link copied to clipboard`,
}
</script>
<script>
/*
------
Events
------
pages/viewed
customers/signup
customers/login
products/searched
collections/viewed
products/viewed
products/shared
wishlists/item_added
carts/items_added
carts/viewed
carts/item_removed
checkouts/initiated
checkouts/shipping_info_added
checkouts/payment_info_added
checkouts/completed
orders/placed
orders/purchased
payments/captured
payments/failed
*/
window.__latest_cart = window.__latest_cart || null;
const _selector = document.querySelector.bind(document),
_selectorAll = document.querySelectorAll.bind(document)
document.addEventListener('DOMContentLoaded', (event) => {
const default_currency = getCookie("currency")
const customer_id = window.__st.cid
const template = window.__st.p
onPageView()
//-----------------------//
// Configs //
//-----------------------//
window.dataLayer = window.dataLayer || []
Array.prototype.last = Array.prototype.last || function() {
return this[this.length - 1] || null
}
Array.prototype.first = Array.prototype.first || function() {
return this[0] || null
}
//----------------------//
// Triggers //
//----------------------//
const XHR = window.XMLHttpRequest
function xhr() {
const xhr = new XHR()
xhr.addEventListener("readystatechange", function() {
if(xhr.readyState != 4) return
try {
const response_url = xhr.responseURL
if (response_url.includes("cart/add")) {
window.__latest_cart = JSON.parse(xhr.response)
onCartItemsAdded() // ok
}
if (response_url.includes("cart/remove_item_quantity")) {
window.__latest_cart = JSON.parse(xhr.response)
onCartItemRemoved() // ok
}
if (response_url.includes("new_cart?retrieve=true")) {
result = JSON.parse(xhr.response)
if (result.cart) {
window.__latest_cart = result.cart
}
}
} catch(e) {
console.error(e)
}
}, false);
return xhr
}
window.XMLHttpRequest = xhr
switch(template) {
case 'cart': onCartView() // ok
break
case 'product': onProductView() // ok
break
case 'collection': onCollectionView() // ok
break
case 'blog': onBlogView()
break
case 'article': onArticleView()
break
case 'payment_completed': onOrderPlace()
break
case 'payment_fail': onPaymentFail()
break
}
// _selector('form[action="/checkout/payments"]').addEventListener("submit", onPaymentInfoAdded(_selector('form[action="/checkout/payments"]')))
if (_selector('form[action="/checkout/detail"]')) _selector('form[action="/checkout/detail"]').addEventListener("submit", ()=>{onShippingInfoAdded(_selector('form[action="/checkout/detail"]'))}) // ok
if (_selector('form[action="/checkout/shipping"]')) _selector('form[action="/checkout/shipping"]').addEventListener("submit", ()=>{onShippingInfoAdded(_selector('form[action="/checkout/shipping"]'))}) // ok
if (_selector('form[action="/account/register"]')) _selector('form[action="/account/register"]').addEventListener("submit", onSignUp) // ok
if (_selector('form[action="/account/login"]')) _selector('form[action="/account/login"]').addEventListener("submit", onLogin) // ok
if (_selector('form[action="/search"]')) _selector('form[action="/search"]').addEventListener("submit", onProductSearch()) // ok
if (_selector('#line-login-btn')) _selector('#line-login-btn').addEventListener('click', onLineLogin) // ok
if (_selector('#PlaceOrder')) _selector('#PlaceOrder').addEventListener("click", ()=>{onCheckoutComplete(_selector('form[action="/checkout/payments"]'))}); // ok
if (_selector('#add_wishlist')) _selector('#add_wishlist').addEventListener("click", onWishlistItemAdded) // ok
if (_selectorAll('a[href="/account/logout"]')) _selectorAll('a[href="/account/logout"]').forEach(logoutButton => logoutButton.addEventListener("click", onLogout)) // ok
if (_selector('.CartDrawerTrigger.cart-page-link')) _selector('.CartDrawerTrigger.cart-page-link').addEventListener("click", onCartView) // ok
if (_selector('.CartDrawerTrigger.cart-page-link.mobile-cart-page-link')) _selector('.CartDrawerTrigger.cart-page-link.mobile-cart-page-link').addEventListener("click", onCartView) // ok
if (_selectorAll('a[class^="share-"]')) _selectorAll('a[class^="share-"]').forEach(shareButton => shareButton.addEventListener("click", ()=>{onProductShare(shareButton)}) ) // ok
if (_selectorAll('[name$="checkout"]')) _selectorAll('[name$="checkout"]').forEach(checkoutButton => checkoutButton.addEventListener("click", onCheckoutInitiate))
// For append elements
const bodyMutationObserver = new MutationObserver(() => {
if (_selector('#form__spc #PlaceOrder')) _selector('#form__spc #PlaceOrder').addEventListener("click", onSinglePageCheckout) // ok
if (_selectorAll('[name$="checkout"]')) _selectorAll('[name$="checkout"]').forEach(checkoutButton => checkoutButton.addEventListener("click", onCheckoutInitiate))
});
bodyMutationObserver.observe(_selector("body"), {subtree: true, childList: true});
//------------------------------//
// Event handlers //
//------------------------------//
function onPageView() {
EasyStore.Event.dispatch('pages/viewed', {
page: {
type: template,
title: document.title,
description: _selector('meta[name=description]') ? _selector('meta[name=description]').getAttribute('content') : null,
url: location.href,
}
})
}
function onSignUp() {
const email_regex = new RegExp(/^[a-zA-Z0-9.!#$%&"*+/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\.[a-zA-Z0-9-]+)*$/)
const phone_regex = new RegExp(/^(\+?6?01)[0-46-9]-*[0-9]{7,8}$/)
const email_or_phone = _selector(`input[name="customer[email_or_phone]"]`).value.replace("+", "").replace(/\s+/, "")
let data = {}
if (email_regex.test(email_or_phone)) {
data.method = 'email'
data.email = email_or_phone
}
if (phone_regex.test(email_or_phone)) {
data.method = "phone"
data.phone = email_or_phone
}
if (!data.method) return
EasyStore.Event.dispatch('customers/signup', data)
}
function onLogin() {
const email_regex = new RegExp(/^[a-zA-Z0-9.!#$%&"*+/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\.[a-zA-Z0-9-]+)*$/)
const phone_regex = new RegExp(/^(\+?6?01)[0-46-9]-*[0-9]{7,8}$/)
const email_or_phone = _selector(`input[name="customer[email_or_phone]"]`).value.replace("+", "").replace(/\s+/, "")
let data = {}
if (email_regex.test(email_or_phone)) {
data.method = 'email'
data.email = email_or_phone
}
if (phone_regex.test(email_or_phone)) {
data.method = "phone"
data.phone = email_or_phone
}
if (!data.method) return
EasyStore.Event.dispatch('customers/login', data)
}
function onLineLogin() {
EasyStore.Event.dispatch('customers/login', { method: 'line' })
}
function onLogout() {
EasyStore.Event.dispatch('customers/logout', { customer_id })
}
function onBlogView() {
const blog = ""
EasyStore.Event.dispatch('blogs/viewed', { blog })
}
function onArticleView() {
const article = ""
EasyStore.Event.dispatch('articles/viewed', { article })
}
function onProductSearch() {
const query = _selector('input[name=q]').value
if (!query) return
EasyStore.Event.dispatch('products/searched', { query })
}
function onCollectionView() {
const collection = {"id":4236702,"handle":"feature-on-homepage","name":"Feature on homepage","title":"Feature on homepage","url":"\/collections\/feature-on-homepage","description":"","content":"","featured_image":{"src":null},"products":[],"sort_by":"featured"}
EasyStore.Event.dispatch('collections/viewed', { collection })
}
function onProductView() {
const product = ""
EasyStore.Event.dispatch("products/viewed", { product })
}
function onProductShare(el) {
const product = ""
const channel = el.getAttribute("class").split("-").last()
EasyStore.Event.dispatch('products/shared', { product, channel })
}
function onWishlistItemAdded() {
let product = ""
const quantity = _selector("#Quantity").value
EasyStore.Event.dispatch('wishlists/item_added', { product })
}
async function onCartItemsAdded() {
const cart = await getCart()
if(cart && cart.items != undefined && cart.items.length > 0) {
EasyStore.Event.dispatch('carts/item_added', { cart })
}
}
async function onCartView() {
const cart = await getCart()
EasyStore.Event.dispatch('carts/viewed', { cart })
}
async function onCartItemRemoved() {
const cart = await getCart()
cart.items = []
if(cart) {
EasyStore.Event.dispatch('carts/item_removed', { cart })
}
}
async function onCheckoutInitiate() {
const cart = await getCart()
EasyStore.Event.dispatch('checkouts/initiated', { cart })
}
async function onShippingInfoAdded(form) {
let checkout = getCheckout()
let form_data = {}
new FormData(form).forEach((value, key) => form_data[key] = value)
let shipping_tier = null
if (form_data.type && form_data.type.startsWith("r_pickup")) {
shipping_tier = `Pickup - ${form_data.pick_location}`
}
if (form_data.s_id) {
shipping_tier = _selector(`input[id='`+form_data.s_id+`']`).getAttribute("data-shipping-name")
}
if (!shipping_tier) return
EasyStore.Event.dispatch('checkouts/shipping_info_added', { checkout, shipping_tier })
}
async function onPaymentInfoAdded(form) {
let checkout = getCheckout()
let payment_type = new FormData(form).get('payment_method')
EasyStore.Event.dispatch("checkouts/payment_info_added", { checkout, payment_type })
}
async function onOrderPlace() {
let cart_token = getCookie("cart_js")
let previous_cart_token = getCookie("previous_cart_ga4_js")
if (previous_cart_token && previous_cart_token == cart_token) {
// Prevent duplicate purchase tracking
return
}
let order = getOrder()
EasyStore.Event.dispatch('orders/placed', { order })
if(order.is_manual_payment) {
EasyStore.Event.dispatch('orders/purchased', { order })
}
const last_transaction = order.transactions.last()
if (last_transaction.status) {
EasyStore.Event.dispatch('orders/purchased', { order })
EasyStore.Event.dispatch('payments/captured', { order })
}
}
async function onPaymentFail() {
const order = getOrder()
EasyStore.Event.dispatch('payments/failed', { order })
}
async function onCheckoutComplete(form) {
onPaymentInfoAdded(form)
const checkout = getCheckout()
EasyStore.Event.dispatch('checkouts/completed', { checkout })
}
async function onSinglePageCheckout() {
// let checkout = $("[data-app-checkout]").data("app-checkout")
let checkout = getCheckout()
// const payment_type = _selector("#app_spc_payment_method").find(`[class*="label-content"]`).first().find("b").first().text()
const payment_type = _selector("#app_spc_payment_method").getElementsByClassName('label-content')[0].getElementsByTagName('b')[0].innerHTML
const shipping_method = _selector("#delivery_method").value
let shipping_tier = null
let app_spc_customer_info_label = _selector("#app_spc_customer_info").getElementsByClassName('label-content')
if (shipping_method == "shipping") {
shipping_tier = app_spc_customer_info_label[app_spc_customer_info_label.length - 1].getElementsByTagName('b')[0].innerHTML
}
if (shipping_method == "pickup") {
shipping_tier = app_spc_customer_info_label[0].innerHTML
}
if (shipping_tier) {
EasyStore.Event.dispatch('checkouts/shipping_info_added', {
checkout,
shipping_tier,
})
}
if (payment_type) {
EasyStore.Event.dispatch('checkouts/payment_info_added', {
checkout,
payment_type,
})
}
EasyStore.Event.dispatch('checkouts/completed', { checkout })
}
})
//-----------------------//
// Functions //
//-----------------------//
function getCookie(name) {
name += "="
decodedCookie = decodeURIComponent(document.cookie)
ca = decodedCookie.split(";")
for(i = 0; i < ca.length; i++) {
c = ca[i]
while (c.charAt(0) == " ") {
c = c.substring(1)
}
if (c.indexOf(name) == 0) {
return c.substring(name.length, c.length)
}
}
return ""
}
const parsePrice = price => {
if(typeof price === 'string') {
return parseFloat(price.split(',').join(''))
}
return price
}
const requestCart = async (method, data) => {
let response = await fetch('/cart.json', {method: 'GET',headers: {'Content-Type': 'application/json'}})
result = await response.json()
return result.cart
}
const getCart = async (latest = false) => {
let cart = window.__latest_cart
const cart_invalid = !cart || !cart.items || (cart.total_price > 0 && !cart.items.length)
if(latest || cart_invalid) {
cart = await requestCart()
}
cart.items = cart.items || []
return mapCart(cart)
}
const getCheckout = async () => {
mapCheckout(window.__latest_cart || await requestCart())
}
const getOrder = async () => {
mapOrder(window.__latest_cart || await requestCart())
}
//-----------------------//
// Mappers //
//-----------------------//
const fallbackAttribute = (object, attribute) => {
if(!Array.isArray(attribute)) {
attribute = [attribute]
}
let final_value = null
do {
final_value = object[attribute.shift()]
} while(!final_value && attribute.length)
return final_value
}
const map = (object, mapper) => {
const newObject = {}
for(const key in mapper) {
// Handle different keys between new and old format
newObject[key] = fallbackAttribute(object, mapper[key])
// Cast price to float
if(newObject[key] && ['price', 'amount', 'discount', 'discounts'].some(x => key.endsWith(x))) {
newObject[key] = parsePrice(newObject[key])
}
if(newObject[key] === undefined) {
delete newObject[key]
}
}
return newObject
}
const mapCart = cart => {
const oldCart = cart
const mapper = {
id: 'id',
currency: 'currency',
item_count: 'item_count',
items: 'items',
total_price: 'total_price',
latest_items: 'latest_items'
}
cart = map(cart, mapper)
const discounts = (oldCart.storewide_discounts || []).concat((oldCart.voucher_discounts || []))
cart.discount_applications = discounts.map(discount => ({
title: discount.voucher_code || null,
value: parsePrice(discount.amount),
}))
cart.original_total_price = cart.items.length
? cart.items
.map(item => item.original_price)
.reduce((sum, price) => sum + price)
: 0
cart.total_discount = cart.discount_applications.length
? cart.discount_applications
.map(discount => parsePrice(discount.value))
.reduce((sum, value) => sum + value)
: 0
cart.items = cart.items.map(item => mapLineItem(item))
return cart
}
const mapCheckout = checkout => {
const mapper = {
note: 'note',
attributes: 'note_attributes',
billing_address: 'billing_address',
currency: 'currency',
customer_id: 'customer_id',
discounts_amount: 'total_discount',
id: 'id',
line_items: 'order_item',
order_number: 'order_number',
shipping_address: 'shipping_address',
shipping_price: 'shipping_tax',
shipping_method: 'shipping_method_name',
tax_price: 'total_tax',
}
checkout = map(checkout, mapper)
checkout.requires_shipping = checkout.line_items.some(item => item.shipping_required)
checkout.line_items = checkout.line_items.map(item => mapLineItem(item))
return checkout
}
const mapOrder = order => {
const mapper = {
attributes: 'note_attributes',
billing_address: 'billing_address',
cancelled: 'is_cancelled',
cancelled_at: 'cancelled_at',
created_at: 'created_at',
customer_id: 'customer_id',
// discount_applications: 'discount_applications',
email: 'email',
financial_status: 'financial_status',
fulfillment_status: 'fulfillment_status',
line_items: 'order_item',
note: 'note',
order_number: 'order_number',
phone: 'phone',
shipping_address: 'shipping_address',
shipping_methods: 'shipping_methods',
shipping_price: 'total_shipping',
subtotal_price: 'subtotal_price',
// tax_lines: 'tax_lines',
tax_price: 'total_tax',
total_discounts: 'total_discount',
total_net_amount: 'total_amount_include_transaction',
total_price: 'total_price',
transactions: 'transaction_records',
is_manual_payment: 'is_manual_payment',
}
order.email = order.billing_address.email
order.phone = order.billing_address.phone
order.shipping_method = order.shipping_method_name
order = map(order, mapper)
order.line_items = order.line_items.map(item => mapLineItem(item))
order.transactions = order.transactions.map(transaction => mapTransaction(transaction))
return order
}
const mapLineItem = line_item => {
const old_line_item = line_item
const mapper = {
final_price: 'price',
image: 'img_url',
message: 'message',
original_line_price: 'original_line_price',
original_price: 'original_price',
properties: 'properties',
quantity: 'quantity',
requires_shipping: 'shipping_required',
sku: 'sku',
taxable: 'taxable',
title: 'product_name',
product_name: 'product_name',
url: 'url',
product_id: 'product_id',
variant_id: 'variant_id',
id: ['id', 'i_id'],
}
line_item = map(line_item, mapper)
line_item.product_id = line_item.product_id || (old_line_item.product && old_line_item.product.id) || null
line_item.variant_id = line_item.variant_id || (old_line_item.variant && old_line_item.variant.id) || null
line_item.image = line_item.image || (old_line_item.image && old_line_item.image.url) || null
return line_item
}
const mapTransaction = transaction => {
const mapper = {
amount: 'amount',
created_at: 'created_at',
gateway: 'gateway_type',
id: 'id',
status: 'status',
}
transaction = map(transaction, mapper)
return transaction
}
</script>
</body>
</html>