{
  "version": 3,
  "sources": ["/cdn/shop/t/159/assets/halo.js?enable_js_minification=1"],
  "sourcesContent": ["(function ($) {\n  var body = $(\"body\"),\n    doc = $(document),\n    html = $(\"html\"),\n    win = $(window),\n    wrapperOverlaySlt = \".wrapper-overlay\",\n    iconNav,\n    dropdownCart,\n    miniProductList;\n\n  var sidebarCart = $(\"#dropdown-cart\"),\n    btnRemove = sidebarCart.find(\".btn-remove\"),\n    sidebarCartNoItems = sidebarCart.find(\".cart-empty\"),\n    sidebarCartHasItems = sidebarCart.find(\".mini-products-list\"),\n    sidebarCartFooter = sidebarCart.find(\".cart-footer\");\n\n  var wishListsArr = localStorage.getItem(\"items\")\n    ? JSON.parse(localStorage.getItem(\"items\"))\n    : [];\n  var compareArr = localStorage.getItem(\"compareArr\")\n    ? JSON.parse(localStorage.getItem(\"compareArr\"))\n    : [];\n\n  localStorage.setItem(\"items\", JSON.stringify(wishListsArr));\n  localStorage.setItem(\"compareArr\", JSON.stringify(compareArr));\n\n  if (wishListsArr.length) {\n    wishListsArr = JSON.parse(localStorage.getItem(\"items\"));\n  }\n\n  if (compareArr.length) {\n    compareArr = JSON.parse(localStorage.getItem(\"compareArr\"));\n  }\n\n  doc.ready(function () {\n    (iconNav = $(\"[data-menu-mb-toogle]\")),\n      (dropdownCart = $(\"#dropdown-cart\")),\n      (miniProductList = dropdownCart.find(\".mini-products-list\"));\n\n    doc.ajaxStart(function () {\n      ella.isAjaxLoading = true;\n    });\n\n    doc.ajaxStop(function () {\n      ella.isAjaxLoading = false;\n    });\n\n    ella.init();\n  });\n\n  var winWidth = win.innerWidth();\n\n  win.off(\"resize.initMenuMobile\").on(\"resize.initMenuMobile\", function () {\n    var resizeTimerId;\n\n    clearTimeout(resizeTimerId);\n\n    resizeTimerId = setTimeout(function () {\n      var curWinWidth = win.innerWidth();\n\n      if (\n        (curWinWidth < 1200 && winWidth >= 1200) ||\n        (curWinWidth >= 1200 && winWidth < 1200)\n      ) {\n        ella.showHideMenuMobile();\n        ella.initToggleMuiltiLangCurrency();\n        ella.addTextMuiltiOptionActive(\n          $(\"#lang-switcher\"),\n          $(\"#lang-switcher [data-value].active\"),\n          $(\"[data-language-label]\")\n        );\n        ella.addTextMuiltiOptionActive(\n          $(\"#currencies\"),\n          $(\"#currencies [data-currency].active\"),\n          $(\"[data-currency-label]\")\n        );\n        ella.initDropdownColFooter();\n        ella.dropdownCart();\n        ella.dropdownCustomer();\n\n        ella.stickyFixedTopMenu();\n      }\n      winWidth = curWinWidth;\n    }, 0);\n  });\n\n  if (!$(\"#shopify-section-collection-template-suppermarket\").length) {\n    win.on(\"resize\", function () {\n      ella.setActiveViewModeMediaQuery();\n    });\n  }\n\n  var ella = {\n    ellaTimeout: null,\n    isSidebarAjaxClick: false,\n    isAjaxLoading: false,\n    inputChangeTimeOut: null,\n    init: function () {\n      this.disableHashLinks();\n      this.closeHeaderTop();\n      this.closeAnnouncementBar();\n      this.showHideMenuMobile();\n      this.closeAllOnMobile();\n      this.initToggleGlobe();\n      this.initLiveChat();\n      this.initToggleMuiltiLangCurrency();\n      this.liveValidate()\n      this.addTextMuiltiOptionActive(\n        $(\"#lang-switcher\"),\n        $(\"#lang-switcher [data-value].active\"),\n        $(\"[data-language-label]\")\n      );\n      this.addTextMuiltiOptionActive(\n        $(\"#currencies\"),\n        $(\"#currencies [data-currency].active\"),\n        $(\"[data-currency-label]\")\n      );\n      this.initDropdownColFooter();\n      this.initScrollTop();\n      this.dropdownCart();\n      this.initCheckout();\n      this.initScrollAnchor();\n      this.initColorSwatchGrid();\n      this.initQuickshop();\n      this.dropdownCustomer();\n      this.initNewsLetterPopup();\n      this.initRemindLoginPop();\n      this.addEventShowOptions();\n      this.changeQuantityAddToCart();\n      this.initAddToCart();\n      this.editCart();\n      this.beforeYouLeave();\n      this.initFreeShippingMessage();\n      this._videoPopup();\n      // this._addonShareAPI();\n      this.initProductReview();\n      this.showPopupShare();\n      this.copyText();\n      this.showPopupStoreAvailability();\n      this.homeMoreLess();\n      this.ask_an_expert_scroll();\n      this.hideSizechart();\n      this.initMainPageProOption();\n      this.initDropdownCartForHeaderDefault();\n      this.initMouseOverCover();\n      this.initActiveCountdown();\n      this.initSearchRecord();\n      this.initTextareaCount()\n      this.initMainPageSlider();\n      if ($(\"[custom-link-btn]\").length > 0) {\n        this.initCustomLinkBtn();\n      }\n      if (body.hasClass(\"enable_hover_video_product_items\")) {\n        this.swapHoverVideo();\n      }\n      if (!body.hasClass(\"template-index\") && !body.hasClass(\"template-page\")) {\n        this.initGroupedAddToCart();\n        this.initSliderFeaturedProducts();\n      }\n      if ($(\"[data-lookbook-icon]\").length) {\n        this.addEventLookbookModal();\n      }\n      if ($(\"[data-countdown]\").length) {\n        this.initCountdown();\n      }\n\n      this.initCountdownNormal();\n      this.checkbox_checkout();\n      this.checkbox_submit();\n      if (body.hasClass(\"template-page\")) {\n        this.collectionProduct();\n        this.CollectionMenu();\n      }\n      if ($(\"[data-menu-tab]\").length) {\n        this._multiHomepage();\n      } else {\n        this.menu_ajax();\n      }\n      this.loaderScript();\n\n      this.initInfiniteScrollingHomepage();\n\n      if ($(\"[data-home-product-tabs]\").length) {\n        this.clickedActiveProductTabs();\n      }\n      if ($(\"[data-scroll-down]\").length) {\n        this.handleScrollDown();\n      }\n      this.loaderProductCard();\n      this.initCustomLoading();\n      this.initPlugIn();\n      if (\n        body.hasClass(\"template-collection\") ||\n        body.hasClass(\"template-search\")\n      ) {\n        this.historyAdapter();\n        this.initInfiniteScrolling();\n        // this.initPaginationPage();\n        this.initCompareIcons();\n        this.doAddOrRemoveCompare();\n        this.initCompareSelected();\n      }\n\n      if (\n        body.hasClass(\"template-collection\") ||\n        body.hasClass(\"template-product\")\n      ) {\n        this.loadJsonProductcard();\n      }\n\n      if (body.hasClass(\"template-collection\")) {\n        this.filterToolbar();\n        if ($(\"[data-filter-type-tag]\").length) {\n          this.filterSidebar();\n          this.hide_filter();\n        }\n        this.toggleVariantsForExpressOrder();\n        this.initExpressOrderAddToCart();\n        // this.stickySidebar();\n        this.initSidebar();\n        this.subCollectionSlider();\n        this._showmore_html();\n      }\n\n      if (body.hasClass(\"template-search\")) {\n        this.initSidebar();\n      }\n\n      this.initOpenSidebar();\n      this.closeSidebar();\n      this.initChangeQuantityButtonEvent();\n      this.initQuantityInputChangeEvent();\n      this.removeCartItem();\n\n      this.initQuickView();\n      this.stickyFixedTopMenu();\n      this.openSearchForm();\n\n      if (body.hasClass(\"template-product\")) {\n        this.initCustomerViewProductShop();\n        this.initProductMoreview(\n          $(\"[data-more-view-product] .product-img-box\")\n        );\n        this.initZoom();\n        this.initSoldOutProductShop();\n        this.productPageInitProductTabs();\n        this.changeSwatch(\"#add-to-cart-form .swatch :radio\");\n        this.initStickyForProductFullWidth();\n        this.initStickyAddToCart();\n        this.wrapTable();\n        this._addonCompareColorPopup();\n        if ($(\".frequently-bought-together-block\").length > 0) {\n          this.initBundleProducts();\n        }\n        this.productRecomendation();\n        this.appendProductRecomendation();\n        this.notifyinStock();\n        this.initDropdownSubCategoriesAtSidebar();\n        this.initProductVideo();\n        if ($(\".product-template-slider\").length) {\n          this._notifySoldoutSlider();\n        }\n        this.initSidebarProductSlider();\n        this.initCustomInfo();\n      }\n\n      if (body.hasClass(\"template-cart\")) {\n        this.checkBundleProducts();\n        this._cartCountDown();\n        this._giftCard();\n        this.initStickyCheckout();\n      }\n      this.initWishListIcons();\n      this.doAddOrRemoveWishlish();\n\n      if (body.hasClass(\"template-page\") && $(\".wishlist-page\").length) {\n        this.initWishLists();\n      }\n\n      if (win.innerWidth() < 1025) {\n        this.initToggleSubMenuMobile();\n      }\n\n      if (body.hasClass(\"template-blog\") || body.hasClass(\"template-article\")) {\n        this.initSidebarProductSlider();\n        this.initDropdownSubCategoriesAtSidebar();\n      }\n    },\n\n    showPopupStoreAvailability: function () {\n      body\n        .off(\"click.button_store\", \".store-availability-information__button\")\n        .on(\n          \"click.button_store\",\n          \".store-availability-information__button\",\n          function (e) {\n            body.addClass(\"show_store_availability\");\n          }\n        );\n\n      body\n        .off(\"click.close_store\", \".store-availabilities-modal__close\")\n        .on(\n          \"click.close_store\",\n          \".store-availabilities-modal__close\",\n          function (e) {\n            body.removeClass(\"show_store_availability\");\n          }\n        );\n\n      body.on(\"click\", function (event) {\n        if (\n          $(event.target).closest(\".store-availabilities-modal\").length === 0 &&\n          $(event.target).closest(\".store-availability-information__button\")\n            .length === 0\n        ) {\n          // e.preventDefault();\n          body.removeClass(\"show_store_availability\");\n        }\n      });\n    },\n\n    showPopupShare: function () {\n      $(\".icon-share\").click(function () {\n        $(\".wrapper-social-popup\").addClass(\"active\");\n      });\n\n      body.on(\"click\", function (event) {\n        if (\n          $(event.target).closest(\".wrapper-social-popup\").length === 0 &&\n          $(event.target).closest(\".icon-share\").length === 0\n        ) {\n          $(\".wrapper-social-popup\").removeClass(\"active\");\n        }\n      });\n\n      $(\".wrapper-social-popup .title-close svg\").on(\"click\", function (event) {\n        $(\".wrapper-social-popup\").removeClass(\"active\");\n      });\n    },\n\n    copyText: function () {\n      var check_copy = false;\n      body\n        .off(\"click.copyText\", \".social-garment-link\")\n        .on(\"click.copyText\", \".social-garment-link\", function (e) {\n          if (check_copy == false) {\n            var copyText = $(this).find(\".txt_copy\");\n            copyText.select();\n            document.execCommand(\"Copy\");\n            copyText.val(\"Link copied\");\n            check_copy = true;\n          }\n        });\n    },\n\n    notifyinStock: function () {\n      $(\"#soldOut-button\").click(function () {\n        if ($.cookie(\"soldOut\") != \"closed\") {\n          $.cookie(\"soldOut\", \"closed\", { expires: 1, path: \"/\" });\n        }\n      });\n\n      $(\"#ask_an_expert .actions .btn\").click(function () {\n        $.cookie(\"soldOut\", \"\", { expires: -1, path: \"/\" });\n      });\n    },\n\n    sliderMegaMenu: function () {\n      if ($(\".featuredProductCarousel\").length) {\n        $(\".featuredProductCarousel\").slick({\n          infinite: false,\n          slidesToShow: 4,\n          slidesToScroll: 4,\n          dots: false,\n          arrows: true,\n          autoplay: false,\n          get nextArrow() {\n            if (\n              window.layout_style == \"layout_style_1170\" ||\n              window.layout_style == \"layout_style_flower\"\n            ) {\n              return (this.nextArrow =\n                '<button type=\"button\" aria-label=\"Next Product\" class=\"slick-next\"><svg viewBox=\"0 0 50 50\"><path d=\"M 11.957031 13.988281 C 11.699219 14.003906 11.457031 14.117188 11.28125 14.308594 L 1.015625 25 L 11.28125 35.691406 C 11.527344 35.953125 11.894531 36.0625 12.242188 35.976563 C 12.589844 35.890625 12.867188 35.625 12.964844 35.28125 C 13.066406 34.933594 12.972656 34.5625 12.71875 34.308594 L 4.746094 26 L 48 26 C 48.359375 26.003906 48.695313 25.816406 48.878906 25.503906 C 49.058594 25.191406 49.058594 24.808594 48.878906 24.496094 C 48.695313 24.183594 48.359375 23.996094 48 24 L 4.746094 24 L 12.71875 15.691406 C 13.011719 15.398438 13.09375 14.957031 12.921875 14.582031 C 12.753906 14.203125 12.371094 13.96875 11.957031 13.988281 Z\"></path></svg></button>');\n            } else {\n              return (this.nextArrow =\n                '<button type=\"button\" aria-label=\"Next Product\" class=\"slick-next\"><svg viewBox=\"0 0 478.448 478.448\" class=\"icon icon-chevron-right\" id=\"icon-chevron-right\"><g><g><polygon points=\"131.659,0 100.494,32.035 313.804,239.232 100.494,446.373 131.65,478.448 377.954,239.232\"></polygon></g></g><g></g><g></g><g></g><g></g><g></g><g></g><g></g><g></g><g></g><g></g><g></g><g></g><g></g><g></g><g></g></svg></button>');\n            }\n          },\n          get prevArrow() {\n            if (\n              window.layout_style == \"layout_style_1170\" ||\n              window.layout_style == \"layout_style_flower\"\n            ) {\n              return (this.prevArrow =\n                '<button type=\"button\" aria-label=\"Previous Product\" class=\"slick-prev\"><svg viewBox=\"0 0 50 50\"><path d=\"M 11.957031 13.988281 C 11.699219 14.003906 11.457031 14.117188 11.28125 14.308594 L 1.015625 25 L 11.28125 35.691406 C 11.527344 35.953125 11.894531 36.0625 12.242188 35.976563 C 12.589844 35.890625 12.867188 35.625 12.964844 35.28125 C 13.066406 34.933594 12.972656 34.5625 12.71875 34.308594 L 4.746094 26 L 48 26 C 48.359375 26.003906 48.695313 25.816406 48.878906 25.503906 C 49.058594 25.191406 49.058594 24.808594 48.878906 24.496094 C 48.695313 24.183594 48.359375 23.996094 48 24 L 4.746094 24 L 12.71875 15.691406 C 13.011719 15.398438 13.09375 14.957031 12.921875 14.582031 C 12.753906 14.203125 12.371094 13.96875 11.957031 13.988281 Z\"></path></svg></button>');\n            } else {\n              return (this.prevArrow =\n                '<button type=\"button\" aria-label=\"Previous Product\" class=\"slick-prev\"><svg viewBox=\"0 0 370.814 370.814\" class=\"icon icon-chevron-left\" id=\"icon-chevron-left\"><g><g><polygon points=\"292.92,24.848 268.781,0 77.895,185.401 268.781,370.814 292.92,345.961 127.638,185.401\"></polygon></g></g><g></g><g></g><g></g><g></g><g></g><g></g><g></g><g></g><g></g><g></g><g></g><g></g><g></g><g></g><g></g></svg></button>');\n            }\n          },\n          speed: 1000,\n          responsive: [\n            {\n              breakpoint: 1450,\n              settings: {\n                slidesToShow: 4,\n                slidesToScroll: 4,\n                dots: false,\n                arrows: true,\n              },\n            },\n            {\n              breakpoint: 1281,\n              settings: {\n                slidesToShow: 4,\n                slidesToScroll: 4,\n                dots: false,\n                arrows: true,\n              },\n            },\n            {\n              breakpoint: 1025,\n              settings: {\n                slidesToShow: 2,\n                slidesToScroll: 2,\n                dots: true,\n                arrows: false,\n              },\n            },\n            {\n              breakpoint: 992,\n              settings: {\n                slidesToShow: 2,\n                slidesToScroll: 2,\n                dots: true,\n                arrows: false,\n              },\n            },\n            {\n              breakpoint: 768,\n              settings: {\n                slidesToShow: 2,\n                slidesToScroll: 2,\n                dots: true,\n                arrows: false,\n              },\n            },\n            {\n              breakpoint: 370,\n              settings: {\n                slidesToShow: 2,\n                slidesToScroll: 2,\n                dots: true,\n                arrows: false,\n              },\n            },\n          ],\n        });\n      }\n    },\n\n    subCollectionSlider: function () {\n      if ($(\"[data-slider-sub-collection]\").length) {\n        $(\"[data-slider-sub-collection]\").slick({\n          infinite: false,\n          slidesToShow: 8,\n          slidesToScroll: 8,\n          dots: false,\n          arrows: true,\n          autoplay: false,\n          get nextArrow() {\n            if (\n              window.layout_style == \"layout_style_1170\" ||\n              window.layout_style == \"layout_style_flower\"\n            ) {\n              return (this.nextArrow =\n                '<button type=\"button\" aria-label=\"Next\" class=\"slick-next\"><svg viewBox=\"0 0 50 50\"><path d=\"M 11.957031 13.988281 C 11.699219 14.003906 11.457031 14.117188 11.28125 14.308594 L 1.015625 25 L 11.28125 35.691406 C 11.527344 35.953125 11.894531 36.0625 12.242188 35.976563 C 12.589844 35.890625 12.867188 35.625 12.964844 35.28125 C 13.066406 34.933594 12.972656 34.5625 12.71875 34.308594 L 4.746094 26 L 48 26 C 48.359375 26.003906 48.695313 25.816406 48.878906 25.503906 C 49.058594 25.191406 49.058594 24.808594 48.878906 24.496094 C 48.695313 24.183594 48.359375 23.996094 48 24 L 4.746094 24 L 12.71875 15.691406 C 13.011719 15.398438 13.09375 14.957031 12.921875 14.582031 C 12.753906 14.203125 12.371094 13.96875 11.957031 13.988281 Z\"></path></svg></button>');\n            } else {\n              return (this.nextArrow =\n                '<button type=\"button\" aria-label=\"Next\" class=\"slick-next\"><svg viewBox=\"0 0 478.448 478.448\" class=\"icon icon-chevron-right\" id=\"icon-chevron-right\"><g><g><polygon points=\"131.659,0 100.494,32.035 313.804,239.232 100.494,446.373 131.65,478.448 377.954,239.232\"></polygon></g></g><g></g><g></g><g></g><g></g><g></g><g></g><g></g><g></g><g></g><g></g><g></g><g></g><g></g><g></g><g></g></svg></button>');\n            }\n          },\n          get prevArrow() {\n            if (\n              window.layout_style == \"layout_style_1170\" ||\n              window.layout_style == \"layout_style_flower\"\n            ) {\n              return (this.prevArrow =\n                '<button type=\"button\" aria-label=\"Previous\" class=\"slick-prev\"><svg viewBox=\"0 0 50 50\"><path d=\"M 11.957031 13.988281 C 11.699219 14.003906 11.457031 14.117188 11.28125 14.308594 L 1.015625 25 L 11.28125 35.691406 C 11.527344 35.953125 11.894531 36.0625 12.242188 35.976563 C 12.589844 35.890625 12.867188 35.625 12.964844 35.28125 C 13.066406 34.933594 12.972656 34.5625 12.71875 34.308594 L 4.746094 26 L 48 26 C 48.359375 26.003906 48.695313 25.816406 48.878906 25.503906 C 49.058594 25.191406 49.058594 24.808594 48.878906 24.496094 C 48.695313 24.183594 48.359375 23.996094 48 24 L 4.746094 24 L 12.71875 15.691406 C 13.011719 15.398438 13.09375 14.957031 12.921875 14.582031 C 12.753906 14.203125 12.371094 13.96875 11.957031 13.988281 Z\"></path></svg></button>');\n            } else {\n              return (this.prevArrow =\n                '<button type=\"button\" aria-label=\"Previous\" class=\"slick-prev\"><svg viewBox=\"0 0 370.814 370.814\" class=\"icon icon-chevron-left\" id=\"icon-chevron-left\"><g><g><polygon points=\"292.92,24.848 268.781,0 77.895,185.401 268.781,370.814 292.92,345.961 127.638,185.401\"></polygon></g></g><g></g><g></g><g></g><g></g><g></g><g></g><g></g><g></g><g></g><g></g><g></g><g></g><g></g><g></g><g></g></svg></button>');\n            }\n          },\n          speed: 1000,\n          responsive: [\n            {\n              breakpoint: 1450,\n              settings: {\n                slidesToShow: 6,\n                slidesToScroll: 6,\n              },\n            },\n            {\n              breakpoint: 1281,\n              settings: {\n                slidesToShow: 5,\n                slidesToScroll: 5,\n              },\n            },\n            {\n              breakpoint: 1025,\n              settings: {\n                slidesToShow: 4,\n                slidesToScroll: 4,\n                dots: true,\n                arrows: false,\n              },\n            },\n            {\n              breakpoint: 992,\n              settings: {\n                slidesToShow: 4,\n                slidesToScroll: 4,\n                dots: true,\n                arrows: false,\n              },\n            },\n            {\n              breakpoint: 768,\n              settings: {\n                slidesToShow: 3,\n                slidesToScroll: 3,\n                dots: true,\n                arrows: false,\n              },\n            },\n            {\n              breakpoint: 370,\n              settings: {\n                slidesToShow: 2,\n                slidesToScroll: 2,\n                dots: true,\n                arrows: false,\n              },\n            },\n          ],\n        });\n      }\n    },\n\n    productCartslider: function () {\n      if (\n        $(\"[data-product-cart-slider]\").length &&\n        !$(\"[data-product-cart-slider]\").hasClass(\"slick-slider\")\n      ) {\n        $(\"[data-product-cart-slider]\").slick({\n          infinite: false,\n          slidesToShow: 1,\n          slidesToScroll: 1,\n          get arrows() {\n            if (window.layout_style == \"layout_style_fullwidth\") {\n              return (this.arrows = true);\n            } else {\n              return (this.arrows = false);\n            }\n          },\n          get dots() {\n            if (window.layout_style == \"layout_style_fullwidth\") {\n              return (this.dots = false);\n            } else {\n              return (this.dots = true);\n            }\n          },\n          autoplay: false,\n          get nextArrow() {\n            if (\n              window.layout_style == \"layout_style_1170\" ||\n              window.layout_style == \"layout_style_flower\"\n            ) {\n              return (this.nextArrow =\n                '<button type=\"button\" aria-label=\"Next Product\" class=\"slick-next\"><svg viewBox=\"0 0 50 50\"><path d=\"M 11.957031 13.988281 C 11.699219 14.003906 11.457031 14.117188 11.28125 14.308594 L 1.015625 25 L 11.28125 35.691406 C 11.527344 35.953125 11.894531 36.0625 12.242188 35.976563 C 12.589844 35.890625 12.867188 35.625 12.964844 35.28125 C 13.066406 34.933594 12.972656 34.5625 12.71875 34.308594 L 4.746094 26 L 48 26 C 48.359375 26.003906 48.695313 25.816406 48.878906 25.503906 C 49.058594 25.191406 49.058594 24.808594 48.878906 24.496094 C 48.695313 24.183594 48.359375 23.996094 48 24 L 4.746094 24 L 12.71875 15.691406 C 13.011719 15.398438 13.09375 14.957031 12.921875 14.582031 C 12.753906 14.203125 12.371094 13.96875 11.957031 13.988281 Z\"></path></svg></button>');\n            } else if (\n              window.layout_style == \"layout_style_fullwidth\" ||\n              window.layout_style == \"layout_style_suppermarket\"\n            ) {\n              return (this.nextArrow =\n                '<button type=\"button\" aria-label=\"Next Product\" class=\"slick-next\"><svg viewBox=\"0 0 478.448 478.448\" class=\"icon icon-chevron-right\" id=\"icon-chevron-right\"><g><g><polygon points=\"131.659,0 100.494,32.035 313.804,239.232 100.494,446.373 131.65,478.448 377.954,239.232\"></polygon></g></g><g></g><g></g><g></g><g></g><g></g><g></g><g></g><g></g><g></g><g></g><g></g><g></g><g></g><g></g><g></g></svg></button>');\n            } else {\n              return (this.nextArrow =\n                '<button type=\"button\" aria-label=\"Next Product\" class=\"slick-next\"><i class=\"fa fa-angle-right\"></i></button>');\n            }\n          },\n          get prevArrow() {\n            if (\n              window.layout_style == \"layout_style_1170\" ||\n              window.layout_style == \"layout_style_flower\"\n            ) {\n              return (this.prevArrow =\n                '<button type=\"button\" aria-label=\"Previous Product\" class=\"slick-prev\"><svg viewBox=\"0 0 50 50\"><path d=\"M 11.957031 13.988281 C 11.699219 14.003906 11.457031 14.117188 11.28125 14.308594 L 1.015625 25 L 11.28125 35.691406 C 11.527344 35.953125 11.894531 36.0625 12.242188 35.976563 C 12.589844 35.890625 12.867188 35.625 12.964844 35.28125 C 13.066406 34.933594 12.972656 34.5625 12.71875 34.308594 L 4.746094 26 L 48 26 C 48.359375 26.003906 48.695313 25.816406 48.878906 25.503906 C 49.058594 25.191406 49.058594 24.808594 48.878906 24.496094 C 48.695313 24.183594 48.359375 23.996094 48 24 L 4.746094 24 L 12.71875 15.691406 C 13.011719 15.398438 13.09375 14.957031 12.921875 14.582031 C 12.753906 14.203125 12.371094 13.96875 11.957031 13.988281 Z\"></path></svg></button>');\n            } else if (\n              window.layout_style == \"layout_style_fullwidth\" ||\n              window.layout_style == \"layout_style_suppermarket\"\n            ) {\n              return (this.prevArrow =\n                '<button type=\"button\" aria-label=\"Previous Product\" class=\"slick-prev\"><svg viewBox=\"0 0 370.814 370.814\" class=\"icon icon-chevron-left\" id=\"icon-chevron-left\"><g><g><polygon points=\"292.92,24.848 268.781,0 77.895,185.401 268.781,370.814 292.92,345.961 127.638,185.401\"></polygon></g></g><g></g><g></g><g></g><g></g><g></g><g></g><g></g><g></g><g></g><g></g><g></g><g></g><g></g><g></g><g></g></svg></button>');\n            } else {\n              return (this.prevArrow =\n                '<button type=\"button\" aria-label=\"Previous Product\" class=\"slick-prev\"><i class=\"fa fa-angle-left\"></i></button>');\n            }\n          },\n          speed: 1000,\n        });\n      } else {\n        // $(body).removeClass('sidebar-show')\n      }\n    },\n\n    closeHeaderTop: function () {\n      var headerTopEml = $(\".header-top\"),\n        closeHeaderTopElm = headerTopEml.find(\"[data-close-header-top]\");\n\n      if ($.cookie(\"headerTop\") == \"closed\") {\n        headerTopEml.remove();\n      } else {\n        headerTopEml.css(\"opacity\", 1);\n      }\n\n      closeHeaderTopElm\n        .off(\"click.closeHeaderTop\")\n        .on(\"click.closeHeaderTop\", function (e) {\n          e.preventDefault();\n          e.stopPropagation();\n          headerTopEml.remove();\n          $.cookie(\"headerTop\", \"closed\", {\n            expires: 1,\n            path: \"/\",\n          });\n        });\n    },\n\n    closeAnnouncementBar: function () {\n      if ($(\".home-announcement-sections\").length) {\n        var announcementEml = $(\".home-announcement\"),\n          closeannouncementElm = announcementEml.find(\n            \"[data-close-header-top]\"\n          );\n\n        if ($.cookie(\"announcement\") == \"closed\") {\n          announcementEml.remove();\n        } else {\n          announcementEml.css(\"opacity\", 1);\n        }\n        closeannouncementElm\n          .off(\"click.closeAnnouncement\")\n          .on(\"click.closeAnnouncement\", function (e) {\n            e.preventDefault();\n            e.stopPropagation();\n            announcementEml.remove();\n            $.cookie(\"announcement\", \"closed\", {\n              expires: 1,\n              path: \"/\",\n            });\n          });\n      }\n    },\n\n    showHideMenuMobile: function () {\n      if (iconNav.length && iconNav.is(\":visible\")) {\n        iconNav\n          .off(\"click.showMenuMobile\")\n          .on(\"click.showMenuMobile\", function (e) {\n            e.preventDefault();\n            e.stopPropagation();\n            $(body).toggleClass(\"sidebar-show\");\n            html.toggleClass(\"translate-overlay\");\n            $(\".close-menu-mb\").toggleClass(\"menu-open\");\n\n            $(\".main-menu.jas-mb-style\").css({\n              overflow: \"\",\n            });\n            $(\".site-nav\")\n              .find(\"[data-toggle-menu-mb]\")\n              .parent()\n              .next(\".sub-menu-mobile\")\n              .removeClass(\"sub-menu-open\");\n          });\n      }\n    },\n\n    closeAllOnMobile: function () {\n      body\n        .off(\"click.close\", wrapperOverlaySlt)\n        .on(\"click.close\", wrapperOverlaySlt, function (e) {\n          e.preventDefault();\n          e.stopPropagation();\n          html.removeClass(\n            \"translate-overlay cart-show customer-show sidebar-open options-show\"\n          );\n          $(\".close-menu-mb\").removeClass(\"menu-open\");\n          body.removeClass(\"show_store_availability\");\n\n          $(\".main-menu.jas-mb-style\").css({\n            overflow: \"\",\n          });\n          $(\".site-nav\")\n            .find(\"[data-toggle-menu-mb]\")\n            .parent()\n            .next(\".sub-menu-mobile\")\n            .removeClass(\"sub-menu-open\");\n\n          if (\n            $(\"body\").hasClass(\"open_beforeYouLeave\") &&\n            $(e.target).closest(\"#before-you-leave\").length === 0 &&\n            $(e.target).closest(\".search-form-wrapper\").length === 0\n          ) {\n            $(\"body\").removeClass(\"open_beforeYouLeave\");\n          }\n\n          html.removeClass(\"search-open\");\n          html.removeClass(\"search-dropdown-open\");\n          $(\".close-search-style-3\").hide();\n        });\n    },\n\n    initToggleGlobe: function () {\n      var $item_globe = $(\".wrapper-icon\");\n      $item_globe.on(\"click\", function (e) {\n        $(this).parent().toggleClass(\"active\");\n\n        $(\".lang-currency-groups\").slideUp(400);\n\n        if ($(\".item-location\").hasClass(\"active\")) {\n          $(\".lang-currency-groups\").slideDown(400);\n        }\n        ella.initToggleMuiltiLangCurrency();\n      });\n\n      body.on(\"click\", function (e) {\n        if (\n          $(\".item-location\").hasClass(\"active\") &&\n          $(event.target).closest(\".item-location\").length === 0\n        ) {\n          e.preventDefault();\n          $(\".item-location\").removeClass(\"active\");\n          $(\".lang-currency-groups\").slideUp(400);\n        }\n      });\n    },\n    initLiveChat: function () {\n      var $item_globe = $(\".live-wrapper-icon\");\n      $item_globe.on(\"click\", function (e) {\n        $(this).parent().toggleClass(\"active\");\n      });\n\n      body.on(\"click\", function (e) {\n        if (\n          $(\".live_help\").hasClass(\"active\") &&\n          $(event.target).closest(\".live_help\").length === 0\n        ) {\n          e.preventDefault();\n          $(\".live_help\").removeClass(\"active\");\n        }\n      });\n    },\n\n    initToggleMuiltiLangCurrency: function () {\n      var langCurrencyGroups = $(\".lang-currency-groups\"),\n        dropdownGroup = langCurrencyGroups.find(\".btn-group\"),\n        dropdownLabel = dropdownGroup.find(\".dropdown-label\");\n\n      if ($(\".lang-currency-groups-8\").length) {\n        $(document).on(\"click\", \".lang-currency-groups-8\", function (e) {\n          $(\".lang-currency-groups-8\").toggleClass(\"show\");\n        });\n        // $(document).on('click', '.lang-currency-groups-8 .dropdown-menu .dropdown-item', function(e) {\n        //     $('.lang-currency-groups-8').removeClass('show');\n        // });\n        $(document).on(\"click\", function (e) {\n          var slideshow = $(\".home-slideshow .slide-action\");\n          if (\n            $(\".lang-currency-groups-8 \").hasClass(\"show\") &&\n            !slideshow.has(e.target).length &&\n            $(event.target).closest(\".lang-currency-groups-8 \").length === 0\n          ) {\n            $(\".lang-currency-groups-8 \").removeClass(\"show\");\n          }\n        });\n      } else {\n        if (dropdownLabel.length && dropdownLabel.is(\":visible\")) {\n          dropdownLabel\n            .off(\"click.toggleMuiltiOption\")\n            .on(\"click.toggleMuiltiOption\", function (e) {\n              e.preventDefault();\n              e.stopPropagation();\n\n              var selfNextDropdown = $(this).next();\n\n              if (!selfNextDropdown.is(\":visible\")) {\n                dropdownLabel.next(\".dropdown-menu\").hide();\n                selfNextDropdown.slideDown(300);\n              } else {\n                selfNextDropdown.slideUp(300);\n              }\n            });\n\n          ella.hideMuiltiLangCurrency();\n        } else {\n          dropdownLabel.next(\".dropdown-menu\").css({\n            display: \"\",\n          });\n        }\n      }\n    },\n\n    hideMuiltiLangCurrency: function () {\n      doc\n        .off(\"click.hideMuiltiLangCurrency\")\n        .on(\"click.hideMuiltiLangCurrency\", function (e) {\n          var muiltiDropdown = $(\".lang-currency-groups .dropdown-menu\");\n\n          if (\n            !muiltiDropdown.is(e.target) &&\n            !muiltiDropdown.has(e.target).length\n          ) {\n            muiltiDropdown.slideUp(300);\n          }\n        });\n    },\n\n    addTextMuiltiOptionActive: function (SltId, dataSlt, label) {\n      if (label.length) {\n        var item = dataSlt.html();\n\n        SltId.prev(label).html(item);\n      }\n    },\n\n    initInfiniteScrollingHomepage: function () {\n      var newArrivalsProduct = $(\"[data-new-arrivals-product]\");\n\n      newArrivalsProduct.each(function () {\n        var self = $(this);\n        var infiniteScrolling = self.find(\".infinite-scrolling-homepage\");\n        var infiniteScrollingLinkSlt = self.find(\n          \".infinite-scrolling-homepage a\"\n        );\n\n        if (infiniteScrolling.length) {\n          infiniteScrollingLinkSlt\n            .off(\"click.showMoreProduct\")\n            .on(\"click.showMoreProduct\", function (e) {\n              if (!$(this).hasClass(\"view-all-collection\")) {\n                e.preventDefault();\n                e.stopPropagation();\n                if ($(this).hasClass(\"ajax-loading\")) return false;\n                $(this).addClass(\"ajax-loading\");\n                var collection_handle = $(this).attr(\"data-collection\"),\n                  limit = $(this).attr(\"data-limit\"),\n                  totalProduct = $(this).attr(\"data-total-products\"),\n                  page = parseInt($(this).attr(\"data-page\"));\n                let next_page = page + 1;\n                $(this).attr(\"data-page\", next_page);\n                if (!$(this).hasClass(\"disabled\")) {\n                  console.log(\n                    869,\n                    collection_handle,\n                    limit,\n                    totalProduct,\n                    page\n                  );\n                  let url =\n                    window.router +\n                    \"/collections/\" +\n                    collection_handle +\n                    \"?page=\" +\n                    page;\n                  ella.doAjaxInfiniteScrollingGetContentForNewArrivals(url);\n                  return;\n                  ella.doAjaxInfiniteScrollingGetContentSection(\n                    totalProduct,\n                    url,\n                    limit,\n                    page,\n                    e,\n                    self\n                  );\n                }\n              }\n            });\n        }\n      });\n    },\n    doAjaxInfiniteScrollingGetContentForNewArrivals(url) {\n      if (ella.isAjaxLoading) return;\n\n      $.ajax({\n        type: \"GET\",\n        url: url,\n\n        beforeSend: function () {\n          ella.showLoading();\n        },\n\n        success: function (data) {\n          console.log(data);\n          ella.ajaxInfiniteScrollingMapDataForNewArrivals(data);\n          ella.initColorSwatchGrid();\n          if ($(\"[data-view-as]\").length) {\n            ella.viewModeLayout();\n          }\n          ella.initCountdownNormal();\n          ella.stickySidebar();\n          $('[data-toggle=\"tooltip\"]').tooltip();\n          ella.swapHoverVideo();\n        },\n\n        error: function (xhr, text) {\n          $(\".ajax-error-message\").text(\n            $.parseJSON(xhr.responseText).description\n          );\n          ella.showModal(\".ajax-error-modal\");\n        },\n\n        complete: function () {\n          ella.hideLoading();\n          var number_count = 0;\n          var number_label_new = $(\n            \".product-collection .grid-item .product-label\"\n          ).data(\"label-new-number\");\n          $(\".product-collection .grid-item\").each(function (index) {\n            if ($(this).find(\".new-label\").length) {\n              number_count++;\n            }\n            if (number_count > number_label_new) {\n              $(this).find(\".new-label\").hide();\n              $(this).find(\".new-label+br\").hide();\n            }\n          });\n        },\n      });\n    },\n    ajaxInfiniteScrollingMapDataForNewArrivals(data) {\n      var collectionTemplate = $(\".new-arrivals-product\"),\n        currentProductColl = collectionTemplate.find(\n          \".widget-product .products-grid\"\n        ),\n        currentProductCount = collectionTemplate.find(\n          \".infinite-scrolling-homepage a\"\n        ),\n        newCollectionTemplate = $(data).find(\".collection-template\"),\n        newProductColl = newCollectionTemplate.find(\".product-collection\"),\n        openProductViewCount = newCollectionTemplate.find(\n          \".btn-product-show-more\"\n        ),\n        changeProductViewCount = `<a class=\"btn btn--big btn-product-change-show-more show-more\">close</a>`;\n      newProductItem = newProductColl.children(\".grid-item\").not(\".banner-img\");\n      let addColl = newProductItem.filter((index) => index >= 10);\n      currentProductCount.replaceWith(changeProductViewCount);\n      let changeBtn = collectionTemplate.find(\".btn-product-change-show-more\");\n      changeBtn.on(\"click.changeShowMore\", function () {\n        let ProductColl = collectionTemplate.find(\n          \".widget-product .products-grid\"\n        );\n        const hideItem = ProductColl.children(\".grid-item\")\n          .not(\".banner-img\")\n          .slice(10);\n        if (changeBtn.hasClass(\"show-more\")) {\n          hideItem.hide();\n          changeBtn.text(\"SHOW MORE\");\n          changeBtn.removeClass(\"show-more\");\n        } else {\n          hideItem.show();\n          changeBtn.text(\"CLOSE\");\n          changeBtn.addClass(\"show-more\");\n        }\n      });\n      if (addColl.length > 0) {\n        currentProductColl.append(addColl);\n\n        if ($(\".collection-template .product-collection[data-layout]\").length) {\n          ella.ellaTimeout = setTimeout(function () {\n            currentProductColl.isotope(\"appended\", addColl).isotope(\"layout\");\n          }, 700);\n        }\n\n        ella.translateBlock(\".product-collection\");\n\n        if (ella.checkNeedToConvertCurrency()) {\n          Currency.convertAll(\n            window.shop_currency,\n            $(\"#currencies .active\").attr(\"data-currency\"),\n            \"span.money\",\n            \"money_format\"\n          );\n        }\n\n        if (\n          $(\".shopify-product-reviews-badge\").length &&\n          $(\".spr-badge\").length\n        ) {\n          return (\n            window.SPR.registerCallbacks(),\n            window.SPR.initRatingHandler(),\n            window.SPR.initDomEls(),\n            window.SPR.loadProducts(),\n            window.SPR.loadBadges()\n          );\n        }\n      }\n    },\n\n    doAjaxInfiniteScrollingGetContentSection(\n      totalProduct,\n      url,\n      limit,\n      page,\n      e,\n      self\n    ) {\n      $.ajax({\n        type: \"get\",\n        url: window.router + \"/collections/\" + url,\n        cache: false,\n        data: {\n          view: \"sorting\",\n          constraint: \"limit=\" + limit + \"+page=\" + page,\n        },\n\n        beforeSend: function () {\n          ella.showLoading();\n        },\n        success: function (data) {\n          console.log(905, data);\n          self.find(\".products-grid\").append(data);\n          var length = self.find(\".products-grid\").find(\".grid-item\").length;\n          if ($(data).length == limit && length < 50) {\n            $(e.currentTarget).attr(\"data-page\", page + 1);\n          } else {\n            if (totalProduct > 50) {\n              $(e.currentTarget)\n                .text(window.inventory_text.view_all_collection)\n                .attr(\"href\", window.router + \"/collections/\" + url)\n                .addClass(\"view-all-collection\");\n            } else {\n              $(e.currentTarget).remove();\n            }\n          }\n\n          if (ella.checkNeedToConvertCurrency()) {\n            Currency.convertAll(\n              window.shop_currency,\n              $(\"#currencies .active\").attr(\"data-currency\"),\n              \"span.money\",\n              \"money_format\"\n            );\n          }\n          if (\n            $(\".shopify-product-reviews-badge\").length &&\n            $(\".spr-badge\").length\n          ) {\n            return (\n              window.SPR.registerCallbacks(),\n              window.SPR.initRatingHandler(),\n              window.SPR.initDomEls(),\n              window.SPR.loadProducts(),\n              window.SPR.loadBadges()\n            );\n          }\n          $('[data-toggle=\"tooltip\"]').tooltip();\n          ella.swapHoverVideo();\n        },\n        complete: function () {\n          ella.hideLoading();\n          $(e.currentTarget).removeClass(\"ajax-loading\");\n          $('[data-toggle=\"tooltip\"]').tooltip();\n          ella.swapHoverVideo();\n        },\n      });\n    },\n\n    initSliderFeaturedProducts: function () {\n      var featuredProduct = $(\"[data-featured-products]\");\n\n      featuredProduct.each(function () {\n        var self = $(this),\n          productGrid = self.find(\".products-grid\"),\n          gridItemWidth = productGrid.data(\"row\"),\n          hasRightSidebar = $(\n            \".halo-product-content .pro-page [data-has-right-sidebar]\"\n          );\n\n        if (productGrid.not(\".slick-initialized\")) {\n          productGrid.slick({\n            get slidesToShow() {\n              if (hasRightSidebar.length) {\n                return (this.slidesToShow = 5);\n              } else {\n                return (this.slidesToShow = productGrid.data(\"row\"));\n              }\n            },\n\n            get vertical() {\n              if (\n                productGrid.hasClass(\"verticle\") &&\n                $(\".relate-verticle\").length\n              ) {\n                return (this.vertical = true);\n              } else {\n                return (this.vertical = false);\n              }\n            },\n\n            get slidesToScroll() {\n              if (productGrid.hasClass(\"verticle\")) {\n                return (this.slidesToScroll = 1);\n              } else {\n                return (this.slidesToScroll = productGrid.data(\"row\"));\n              }\n            },\n\n            speed: 1000,\n            infinite: false,\n\n            get dots() {\n              if (self.hasClass(\"has-banner\")) {\n                return (this.dots = true);\n              } else {\n                if (\n                  window.product_style == \"supermarket\" ||\n                  window.product_style == \"surfup\"\n                ) {\n                  return (this.dots = true);\n                } else {\n                  return (this.dots = false);\n                }\n              }\n            },\n            get nextArrow() {\n              if (\n                window.layout_style == \"layout_style_1170\" ||\n                window.layout_style == \"layout_style_flower\"\n              ) {\n                return (this.nextArrow =\n                  '<button type=\"button\" aria-label=\"Next Product\" class=\"slick-next\"><svg viewBox=\"0 0 50 50\"><path d=\"M 11.957031 13.988281 C 11.699219 14.003906 11.457031 14.117188 11.28125 14.308594 L 1.015625 25 L 11.28125 35.691406 C 11.527344 35.953125 11.894531 36.0625 12.242188 35.976563 C 12.589844 35.890625 12.867188 35.625 12.964844 35.28125 C 13.066406 34.933594 12.972656 34.5625 12.71875 34.308594 L 4.746094 26 L 48 26 C 48.359375 26.003906 48.695313 25.816406 48.878906 25.503906 C 49.058594 25.191406 49.058594 24.808594 48.878906 24.496094 C 48.695313 24.183594 48.359375 23.996094 48 24 L 4.746094 24 L 12.71875 15.691406 C 13.011719 15.398438 13.09375 14.957031 12.921875 14.582031 C 12.753906 14.203125 12.371094 13.96875 11.957031 13.988281 Z\"></path></svg></button>');\n              } else if (\n                window.layout_style == \"layout_style_fullwidth\" ||\n                window.layout_style == \"layout_style_suppermarket\" ||\n                window.layout_style == \"layout_style_surfup\"\n              ) {\n                return (this.nextArrow =\n                  '<button type=\"button\" aria-label=\"Next Product\" class=\"slick-next\"><svg viewBox=\"0 0 478.448 478.448\" class=\"icon icon-chevron-right\" id=\"icon-chevron-right\"><g><g><polygon points=\"131.659,0 100.494,32.035 313.804,239.232 100.494,446.373 131.65,478.448 377.954,239.232\"></polygon></g></g><g></g><g></g><g></g><g></g><g></g><g></g><g></g><g></g><g></g><g></g><g></g><g></g><g></g><g></g><g></g></svg></button>');\n              } else {\n                return (this.nextArrow =\n                  '<button type=\"button\" aria-label=\"Next Product\" class=\"slick-next\"><i class=\"fa fa-angle-right\"></i></button>');\n              }\n            },\n            get prevArrow() {\n              if (\n                window.layout_style == \"layout_style_1170\" ||\n                window.layout_style == \"layout_style_flower\"\n              ) {\n                return (this.prevArrow =\n                  '<button type=\"button\" aria-label=\"Previous Product\" class=\"slick-prev\"><svg viewBox=\"0 0 50 50\"><path d=\"M 11.957031 13.988281 C 11.699219 14.003906 11.457031 14.117188 11.28125 14.308594 L 1.015625 25 L 11.28125 35.691406 C 11.527344 35.953125 11.894531 36.0625 12.242188 35.976563 C 12.589844 35.890625 12.867188 35.625 12.964844 35.28125 C 13.066406 34.933594 12.972656 34.5625 12.71875 34.308594 L 4.746094 26 L 48 26 C 48.359375 26.003906 48.695313 25.816406 48.878906 25.503906 C 49.058594 25.191406 49.058594 24.808594 48.878906 24.496094 C 48.695313 24.183594 48.359375 23.996094 48 24 L 4.746094 24 L 12.71875 15.691406 C 13.011719 15.398438 13.09375 14.957031 12.921875 14.582031 C 12.753906 14.203125 12.371094 13.96875 11.957031 13.988281 Z\"></path></svg></button>');\n              } else if (\n                window.layout_style == \"layout_style_fullwidth\" ||\n                window.layout_style == \"layout_style_suppermarket\" ||\n                window.layout_style == \"layout_style_surfup\"\n              ) {\n                return (this.prevArrow =\n                  '<button type=\"button\" aria-label=\"Previous Product\" class=\"slick-prev\"><svg viewBox=\"0 0 370.814 370.814\" class=\"icon icon-chevron-left\" id=\"icon-chevron-left\"><g><g><polygon points=\"292.92,24.848 268.781,0 77.895,185.401 268.781,370.814 292.92,345.961 127.638,185.401\"></polygon></g></g><g></g><g></g><g></g><g></g><g></g><g></g><g></g><g></g><g></g><g></g><g></g><g></g><g></g><g></g><g></g></svg></button>');\n              } else {\n                return (this.prevArrow =\n                  '<button type=\"button\" aria-label=\"Previous Product\" class=\"slick-prev\"><i class=\"fa fa-angle-left\"></i></button>');\n              }\n            },\n            responsive: [\n              {\n                breakpoint: 1400,\n                settings: {\n                  get slidesToShow() {\n                    if (self.hasClass(\"has-banner\")) {\n                      return (this.slidesToShow = 3);\n                    } else {\n                      if (gridItemWidth > 5) {\n                        return (this.slidesToShow = 5);\n                      } else {\n                        if (\n                          window.product_style == \"supermarket\" ||\n                          window.product_style == \"surfup\"\n                        ) {\n                          return (this.slidesToShow = 4);\n                        } else {\n                          return (this.slidesToShow = 2);\n                        }\n                      }\n                    }\n                  },\n                  get slidesToScroll() {\n                    if (self.hasClass(\"has-banner\")) {\n                      return (this.slidesToScroll = 3);\n                    } else {\n                      if (productGrid.hasClass(\"verticle\")) {\n                        return (this.slidesToScroll = 1);\n                      } else {\n                        if (gridItemWidth >= 4) {\n                          return (this.slidesToScroll = 4);\n                        } else if ((gridItemWidth = 3)) {\n                          return (this.slidesToScroll = 3);\n                        } else {\n                          return (this.slidesToScroll = 2);\n                        }\n                      }\n                    }\n                  },\n                },\n              },\n              {\n                breakpoint: 1200,\n                settings: {\n                  dots: true,\n                  arrows: false,\n                  vertical: false,\n                  get slidesToShow() {\n                    if (self.hasClass(\"has-banner\")) {\n                      return (this.slidesToShow = 2);\n                    } else {\n                      if (gridItemWidth >= 4) {\n                        return (this.slidesToShow = 4);\n                      } else if ((gridItemWidth = 3)) {\n                        return (this.slidesToShow = 3);\n                      } else {\n                        return (this.slidesToShow = 2);\n                      }\n                    }\n                  },\n                  get slidesToScroll() {\n                    if (self.hasClass(\"has-banner\")) {\n                      return (this.slidesToScroll = 2);\n                    } else {\n                      if (gridItemWidth >= 4) {\n                        return (this.slidesToScroll = 4);\n                      } else if ((gridItemWidth = 3)) {\n                        return (this.slidesToScroll = 3);\n                      } else {\n                        return (this.slidesToScroll = 2);\n                      }\n                    }\n                  },\n                },\n              },\n              {\n                breakpoint: 992,\n                settings: {\n                  dots: true,\n                  arrows: false,\n                  vertical: false,\n                  get slidesToShow() {\n                    if (gridItemWidth >= 3) {\n                      return (this.slidesToShow = 3);\n                    } else {\n                      return (this.slidesToShow = 2);\n                    }\n                  },\n                  get slidesToScroll() {\n                    if (gridItemWidth >= 3) {\n                      return (this.slidesToScroll = 3);\n                    } else {\n                      return (this.slidesToScroll = 2);\n                    }\n                  },\n                },\n              },\n              {\n                breakpoint: 768,\n                settings: {\n                  slidesToShow: 2,\n                  slidesToScroll: 2,\n                  arrows: false,\n                  vertical: false,\n                  dots: true,\n                },\n              },\n            ],\n          });\n        }\n      });\n    },\n\n    initSliderRelatedProduct: function (row) {\n      var featuredProduct = $(\"[data-related-products-slider]\");\n\n      featuredProduct.each(function () {\n        var self = $(this),\n          productGrid = self.find(\".products-grid\"),\n          gridItemWidth = row,\n          hasRightSidebar = $(\n            \".halo-product-content .pro-page [data-has-right-sidebar]\"\n          );\n\n        if (productGrid.not(\".slick-initialized\")) {\n          productGrid.slick({\n            get slidesToShow() {\n              return (this.slidesToShow = row);\n            },\n\n            get vertical() {\n              if (\n                productGrid.hasClass(\"verticle\") &&\n                $(\".relate-verticle\").length\n              ) {\n                return (this.vertical = true);\n              } else {\n                return (this.vertical = false);\n              }\n            },\n\n            get slidesToScroll() {\n              if (productGrid.hasClass(\"verticle\")) {\n                return (this.slidesToScroll = 1);\n              } else {\n                return (this.slidesToScroll = row);\n              }\n            },\n\n            speed: 1000,\n            infinite: false,\n\n            get dots() {\n              if (self.hasClass(\"has-banner\")) {\n                return (this.dots = true);\n              } else {\n                if (\n                  window.product_style == \"supermarket\" ||\n                  window.product_style == \"surfup\"\n                ) {\n                  return (this.dots = true);\n                } else {\n                  return (this.dots = false);\n                }\n              }\n            },\n            get nextArrow() {\n              if (\n                window.layout_style == \"layout_style_1170\" ||\n                window.layout_style == \"layout_style_flower\"\n              ) {\n                return (this.nextArrow =\n                  '<button type=\"button\" aria-label=\"Next Product\" class=\"slick-next\"><svg viewBox=\"0 0 50 50\"><path d=\"M 11.957031 13.988281 C 11.699219 14.003906 11.457031 14.117188 11.28125 14.308594 L 1.015625 25 L 11.28125 35.691406 C 11.527344 35.953125 11.894531 36.0625 12.242188 35.976563 C 12.589844 35.890625 12.867188 35.625 12.964844 35.28125 C 13.066406 34.933594 12.972656 34.5625 12.71875 34.308594 L 4.746094 26 L 48 26 C 48.359375 26.003906 48.695313 25.816406 48.878906 25.503906 C 49.058594 25.191406 49.058594 24.808594 48.878906 24.496094 C 48.695313 24.183594 48.359375 23.996094 48 24 L 4.746094 24 L 12.71875 15.691406 C 13.011719 15.398438 13.09375 14.957031 12.921875 14.582031 C 12.753906 14.203125 12.371094 13.96875 11.957031 13.988281 Z\"></path></svg></button>');\n              } else if (\n                window.layout_style == \"layout_style_fullwidth\" ||\n                window.layout_style == \"layout_style_suppermarket\" ||\n                window.layout_style == \"layout_style_surfup\" ||\n                window.layout_home == \"layout_home_14\"\n              ) {\n                return (this.nextArrow =\n                  '<button type=\"button\" aria-label=\"Next Product\" class=\"slick-next\"><svg viewBox=\"0 0 478.448 478.448\" class=\"icon icon-chevron-right\" id=\"icon-chevron-right\"><g><g><polygon points=\"131.659,0 100.494,32.035 313.804,239.232 100.494,446.373 131.65,478.448 377.954,239.232\"></polygon></g></g><g></g><g></g><g></g><g></g><g></g><g></g><g></g><g></g><g></g><g></g><g></g><g></g><g></g><g></g><g></g></svg></button>');\n              } else {\n                return (this.nextArrow =\n                  '<button type=\"button\" aria-label=\"Next Product\" class=\"slick-next\"><i class=\"fa fa-angle-right\"></i></button>');\n              }\n            },\n            get prevArrow() {\n              if (\n                window.layout_style == \"layout_style_1170\" ||\n                window.layout_style == \"layout_style_flower\"\n              ) {\n                return (this.prevArrow =\n                  '<button type=\"button\" aria-label=\"Previous Product\" class=\"slick-prev\"><svg viewBox=\"0 0 50 50\"><path d=\"M 11.957031 13.988281 C 11.699219 14.003906 11.457031 14.117188 11.28125 14.308594 L 1.015625 25 L 11.28125 35.691406 C 11.527344 35.953125 11.894531 36.0625 12.242188 35.976563 C 12.589844 35.890625 12.867188 35.625 12.964844 35.28125 C 13.066406 34.933594 12.972656 34.5625 12.71875 34.308594 L 4.746094 26 L 48 26 C 48.359375 26.003906 48.695313 25.816406 48.878906 25.503906 C 49.058594 25.191406 49.058594 24.808594 48.878906 24.496094 C 48.695313 24.183594 48.359375 23.996094 48 24 L 4.746094 24 L 12.71875 15.691406 C 13.011719 15.398438 13.09375 14.957031 12.921875 14.582031 C 12.753906 14.203125 12.371094 13.96875 11.957031 13.988281 Z\"></path></svg></button>');\n              } else if (\n                window.layout_style == \"layout_style_fullwidth\" ||\n                window.layout_style == \"layout_style_suppermarket\" ||\n                window.layout_style == \"layout_style_surfup\" ||\n                window.layout_home == \"layout_home_14\"\n              ) {\n                return (this.prevArrow =\n                  '<button type=\"button\" aria-label=\"Previous Product\" class=\"slick-prev\"><svg viewBox=\"0 0 370.814 370.814\" class=\"icon icon-chevron-left\" id=\"icon-chevron-left\"><g><g><polygon points=\"292.92,24.848 268.781,0 77.895,185.401 268.781,370.814 292.92,345.961 127.638,185.401\"></polygon></g></g><g></g><g></g><g></g><g></g><g></g><g></g><g></g><g></g><g></g><g></g><g></g><g></g><g></g><g></g><g></g></svg></button>');\n              } else {\n                return (this.prevArrow =\n                  '<button type=\"button\" aria-label=\"Previous Product\" class=\"slick-prev\"><i class=\"fa fa-angle-left\"></i></button>');\n              }\n            },\n            responsive: [\n              {\n                breakpoint: 1450,\n                settings: {\n                  get slidesToShow() {\n                    if (window.layout_home == \"layout_home_7\") {\n                      return (this.slidesToShow = row - 1);\n                    } else {\n                      return (this.slidesToShow = row);\n                    }\n                  },\n                  get slidesToScroll() {\n                    if (window.layout_home == \"layout_home_7\") {\n                      return (this.slidesToScroll = row - 1);\n                    } else {\n                      return (this.slidesToScroll = row);\n                    }\n                  },\n                },\n              },\n              {\n                breakpoint: 1400,\n                settings: {\n                  get slidesToShow() {\n                    if (window.layout_home == \"layout_home_7\") {\n                      return (this.slidesToShow = row - 1);\n                    } else {\n                      return (this.slidesToShow = row);\n                    }\n                  },\n                  get slidesToScroll() {\n                    if (productGrid.hasClass(\"verticle\")) {\n                      return (this.slidesToScroll = 1);\n                    } else {\n                      if (window.layout_home == \"layout_home_7\") {\n                        return (this.slidesToScroll = row - 1);\n                      } else {\n                        return (this.slidesToScroll = row);\n                      }\n                    }\n                  },\n                },\n              },\n              {\n                breakpoint: 1200,\n                settings: {\n                  dots: true,\n                  arrows: false,\n                  vertical: false,\n                  get slidesToShow() {\n                    if (row > 4) {\n                      return (this.slidesToShow = row - 1);\n                    } else {\n                      return (this.slidesToShow = row);\n                    }\n                  },\n                  get slidesToScroll() {\n                    if (row > 4) {\n                      return (this.slidesToScroll = row - 1);\n                    } else {\n                      return (this.slidesToScroll = row);\n                    }\n                  },\n                },\n              },\n              {\n                breakpoint: 992,\n                settings: {\n                  dots: true,\n                  arrows: false,\n                  vertical: false,\n                  get slidesToShow() {\n                    if (row > 4) {\n                      return (this.slidesToShow = row - 2);\n                    } else {\n                      if (row > 3) {\n                        return (this.slidesToShow = row - 1);\n                      } else {\n                        return (this.slidesToShow = row);\n                      }\n                    }\n                  },\n                  get slidesToScroll() {\n                    if (row > 4) {\n                      return (this.slidesToScroll = row - 2);\n                    } else {\n                      if (row > 3) {\n                        return (this.slidesToScroll = row - 1);\n                      } else {\n                        return (this.slidesToScroll = row);\n                      }\n                    }\n                  },\n                },\n              },\n              {\n                breakpoint: 768,\n                settings: {\n                  get slidesToShow() {\n                    if (row > 4) {\n                      return (this.slidesToShow = row - 3);\n                    } else {\n                      if (row > 3) {\n                        return (this.slidesToShow = row - 2);\n                      } else {\n                        if (row > 2) {\n                          return (this.slidesToShow = row - 1);\n                        } else {\n                          return (this.slidesToShow = row);\n                        }\n                      }\n                    }\n                  },\n                  get slidesToScroll() {\n                    if (row > 4) {\n                      return (this.slidesToScroll = row - 3);\n                    } else {\n                      if (row > 3) {\n                        return (this.slidesToScroll = row - 2);\n                      } else {\n                        if (row > 2) {\n                          return (this.slidesToScroll = row - 1);\n                        } else {\n                          return (this.slidesToScroll = row);\n                        }\n                      }\n                    }\n                  },\n                  arrows: false,\n                  vertical: false,\n                  dots: true,\n                },\n              },\n            ],\n          });\n        }\n      });\n    },\n\n    loaderProductCard: function () {\n      var isAjaxLoading = false;\n      $(document).ajaxStart(function () {\n        isAjaxLoading = true;\n      });\n\n      $(document).ajaxStop(function () {\n        isAjaxLoading = false;\n      });\n      var element = $(\"[data-loader-product]\");\n      var load = function () {\n        element.each(function () {\n          var top = this.getBoundingClientRect().top;\n          var self = $(this);\n          if (!self.hasClass(\"ajax-loaded\")) {\n            var url = self.data(\"collection\"),\n              limit = self.data(\"limit\"),\n              grid = self.data(\"grid\"),\n              layout = self.data(\"layout\"),\n              sectionId = self.attr(\"sectionId\");\n\n            if (self.hasClass(\"suppermarket-featured-products\")) {\n              var view_json_product = \"json-feature-suppermarket\";\n            } else {\n              var view_json_product = \"list_product\";\n            }\n\n            if (top < window.innerHeight + 10) {\n              $.ajax({\n                type: \"get\",\n                url: window.router + \"/collections/\" + url,\n                cache: false,\n                data: {\n                  view: view_json_product,\n                  constraint:\n                    \"limit=\" +\n                    limit +\n                    \"+layout=\" +\n                    layout +\n                    \"+grid=\" +\n                    grid +\n                    \"+sectionId=\" +\n                    sectionId,\n                },\n                beforeSend: function () {\n                  self.addClass(\"ajax-loaded\");\n                },\n                success: function (data) {\n                  if (url != \"\") {\n                    self.find(\".products-grid\").html(data);\n                  }\n                  $('[data-toggle=\"tooltip\"]').tooltip();\n                  ella.swapHoverVideo();\n                  if (\n                    $(\".shopify-product-reviews-badge\").length &&\n                    $(\".spr-badge\").length\n                  ) {\n                    return (\n                      window.SPR.registerCallbacks(),\n                      window.SPR.initRatingHandler(),\n                      window.SPR.initDomEls(),\n                      window.SPR.loadProducts(),\n                      window.SPR.loadBadges()\n                    );\n                  }\n                },\n                complete: function () {\n                  if (\n                    self.attr(\"data-featured-products-section\") == undefined &&\n                    self.attr(\"data-featured-products-section-2\") == undefined\n                  ) {\n                    return;\n                  }\n                  if (layout == \"carousel\") {\n                    var productGrid = self.find(\".products-grid\"),\n                      gridItemWidth = productGrid.data(\"row\"),\n                      hasRightSidebar = $(\n                        \".halo-product-content .pro-page [data-has-right-sidebar]\"\n                      );\n                    if (window.innerWidth < 1200) {\n                      self.on(\"afterChange\", function (event, slick) {\n                        var isElementVisible = function ($el, threshold) {\n                          var rect = $el[0].getBoundingClientRect();\n                          var windowHeight =\n                            window.innerHeight ||\n                            document.documentElement.clientHeight;\n                          threshold = threshold ? threshold : 0;\n\n                          return (\n                            rect.bottom >= 0 - threshold / 1.5 &&\n                            rect.right >= 0 &&\n                            rect.top <= windowHeight + threshold &&\n                            rect.left <=\n                              (window.innerWidth ||\n                                document.documentElement.clientWidth)\n                          );\n                        };\n\n                        $(\".product-item[data-product-id]\").each(function (\n                          i,\n                          el\n                        ) {\n                          var self = $(this);\n                          if (isElementVisible($(el), -100)) {\n                            var $product = $(this);\n                            if (\n                              !$product[0].hasAttribute(\"data-json-product\")\n                            ) {\n                              if ($product.hasClass(\"json-loading\")) return;\n                              $product.addClass(\"json-loading\");\n                              var handle = $product\n                                .find(\".product-title\")\n                                .attr(\"href\");\n\n                              var xhr = $.ajax({\n                                type: \"GET\",\n                                url: handle,\n                                data: {\n                                  view: \"get_json\",\n                                },\n                                cache: false,\n                                dataType: \"html\",\n                                success: function (data) {\n                                  var json = JSON.parse(data);\n                                  $product.attr(\n                                    \"data-json-product\",\n                                    JSON.stringify(json)\n                                  );\n                                },\n                                complete: function () {\n                                  $product.removeClass(\"json-loading\");\n                                },\n                              });\n                            }\n                          }\n                        });\n                      });\n                    }\n                    if (productGrid.not(\".slick-initialized\")) {\n                      productGrid.slick({\n                        get slidesToShow() {\n                          if (hasRightSidebar.length) {\n                            return (this.slidesToShow = 5);\n                          } else {\n                            return (this.slidesToShow =\n                              productGrid.data(\"row\"));\n                          }\n                        },\n\n                        get vertical() {\n                          if (productGrid.hasClass(\"verticle\")) {\n                            return (this.vertical = true);\n                          } else {\n                            return (this.vertical = false);\n                          }\n                        },\n\n                        get slidesToScroll() {\n                          if (productGrid.hasClass(\"verticle\")) {\n                            return (this.slidesToScroll = 1);\n                          } else {\n                            return (this.slidesToScroll =\n                              productGrid.data(\"row\"));\n                          }\n                        },\n\n                        speed: 1000,\n                        infinite: false,\n\n                        get dots() {\n                          if (\n                            self.hasClass(\"has-banner\") ||\n                            window.layout_style ==\n                              \"layout_style_suppermarket\" ||\n                            window.layout_style == \"layout_style_surfup\" ||\n                            window.layout_home == \"layout_home_12\"\n                          ) {\n                            return (this.dots = true);\n                          } else {\n                            return (this.dots = false);\n                          }\n                        },\n                        get nextArrow() {\n                          if (\n                            window.layout_style == \"layout_style_1170\" ||\n                            window.layout_style == \"layout_style_flower\"\n                          ) {\n                            return (this.nextArrow =\n                              '<button type=\"button\" aria-label=\"Next Product\" class=\"slick-next\"><svg viewBox=\"0 0 50 50\"><path d=\"M 11.957031 13.988281 C 11.699219 14.003906 11.457031 14.117188 11.28125 14.308594 L 1.015625 25 L 11.28125 35.691406 C 11.527344 35.953125 11.894531 36.0625 12.242188 35.976563 C 12.589844 35.890625 12.867188 35.625 12.964844 35.28125 C 13.066406 34.933594 12.972656 34.5625 12.71875 34.308594 L 4.746094 26 L 48 26 C 48.359375 26.003906 48.695313 25.816406 48.878906 25.503906 C 49.058594 25.191406 49.058594 24.808594 48.878906 24.496094 C 48.695313 24.183594 48.359375 23.996094 48 24 L 4.746094 24 L 12.71875 15.691406 C 13.011719 15.398438 13.09375 14.957031 12.921875 14.582031 C 12.753906 14.203125 12.371094 13.96875 11.957031 13.988281 Z\"></path></svg></button>');\n                          } else if (\n                            window.layout_style == \"layout_style_fullwidth\" ||\n                            window.layout_style ==\n                              \"layout_style_suppermarket\" ||\n                            window.layout_style == \"layout_style_surfup\" ||\n                            window.layout_home == \"layout_home_14\"\n                          ) {\n                            return (this.nextArrow =\n                              '<button type=\"button\" aria-label=\"Next Product\" class=\"slick-next\"><svg viewBox=\"0 0 478.448 478.448\" class=\"icon icon-chevron-right\" id=\"icon-chevron-right\"><g><g><polygon points=\"131.659,0 100.494,32.035 313.804,239.232 100.494,446.373 131.65,478.448 377.954,239.232\"></polygon></g></g><g></g><g></g><g></g><g></g><g></g><g></g><g></g><g></g><g></g><g></g><g></g><g></g><g></g><g></g><g></g></svg></button>');\n                          } else {\n                            return (this.nextArrow =\n                              '<button type=\"button\" aria-label=\"Next Product\" class=\"slick-next\"><i class=\"fa fa-angle-right\"></i></button>');\n                          }\n                        },\n                        get prevArrow() {\n                          if (\n                            window.layout_style == \"layout_style_1170\" ||\n                            window.layout_style == \"layout_style_flower\"\n                          ) {\n                            return (this.prevArrow =\n                              '<button type=\"button\" aria-label=\"Previous Product\" class=\"slick-prev\"><svg viewBox=\"0 0 50 50\"><path d=\"M 11.957031 13.988281 C 11.699219 14.003906 11.457031 14.117188 11.28125 14.308594 L 1.015625 25 L 11.28125 35.691406 C 11.527344 35.953125 11.894531 36.0625 12.242188 35.976563 C 12.589844 35.890625 12.867188 35.625 12.964844 35.28125 C 13.066406 34.933594 12.972656 34.5625 12.71875 34.308594 L 4.746094 26 L 48 26 C 48.359375 26.003906 48.695313 25.816406 48.878906 25.503906 C 49.058594 25.191406 49.058594 24.808594 48.878906 24.496094 C 48.695313 24.183594 48.359375 23.996094 48 24 L 4.746094 24 L 12.71875 15.691406 C 13.011719 15.398438 13.09375 14.957031 12.921875 14.582031 C 12.753906 14.203125 12.371094 13.96875 11.957031 13.988281 Z\"></path></svg></button>');\n                          } else if (\n                            window.layout_style == \"layout_style_fullwidth\" ||\n                            window.layout_style ==\n                              \"layout_style_suppermarket\" ||\n                            window.layout_style == \"layout_style_surfup\" ||\n                            window.layout_home == \"layout_home_14\"\n                          ) {\n                            return (this.prevArrow =\n                              '<button type=\"button\" aria-label=\"Previous Product\" class=\"slick-prev\"><svg viewBox=\"0 0 370.814 370.814\" class=\"icon icon-chevron-left\" id=\"icon-chevron-left\"><g><g><polygon points=\"292.92,24.848 268.781,0 77.895,185.401 268.781,370.814 292.92,345.961 127.638,185.401\"></polygon></g></g><g></g><g></g><g></g><g></g><g></g><g></g><g></g><g></g><g></g><g></g><g></g><g></g><g></g><g></g><g></g></svg></button>');\n                          } else {\n                            return (this.prevArrow =\n                              '<button type=\"button\" aria-label=\"Previous Product\" class=\"slick-prev\"><i class=\"fa fa-angle-left\"></i></button>');\n                          }\n                        },\n                        responsive: [\n                          {\n                            breakpoint: 1450,\n                            settings: {\n                              get slidesToShow() {\n                                if (gridItemWidth > 5) {\n                                  if (window.layout_home == \"layout_home_7\") {\n                                    return (this.slidesToShow =\n                                      gridItemWidth - 2);\n                                  } else {\n                                    return (this.slidesToShow =\n                                      gridItemWidth - 1);\n                                  }\n                                } else {\n                                  if (window.layout_home == \"layout_home_7\") {\n                                    return (this.slidesToShow =\n                                      gridItemWidth - 1);\n                                  } else {\n                                    return (this.slidesToShow = gridItemWidth);\n                                  }\n                                }\n                              },\n                              get slidesToScroll() {\n                                if (gridItemWidth > 5) {\n                                  if (window.layout_home == \"layout_home_7\") {\n                                    return (this.slidesToScroll =\n                                      gridItemWidth - 2);\n                                  } else {\n                                    return (this.slidesToScroll =\n                                      gridItemWidth - 1);\n                                  }\n                                } else {\n                                  if (window.layout_home == \"layout_home_7\") {\n                                    return (this.slidesToScroll =\n                                      gridItemWidth - 1);\n                                  } else {\n                                    return (this.slidesToScroll =\n                                      gridItemWidth);\n                                  }\n                                }\n                              },\n                            },\n                          },\n                          {\n                            breakpoint: 1400,\n                            settings: {\n                              get slidesToShow() {\n                                if (self.hasClass(\"has-banner\")) {\n                                  if (self.hasClass(\"layout_style_4\")) {\n                                    return (this.slidesToShow = 2);\n                                  } else {\n                                    return (this.slidesToShow = 3);\n                                  }\n                                } else {\n                                  if (gridItemWidth > 5) {\n                                    if (window.layout_home == \"layout_home_7\") {\n                                      return (this.slidesToShow =\n                                        gridItemWidth - 2);\n                                    } else {\n                                      return (this.slidesToShow =\n                                        gridItemWidth - 1);\n                                    }\n                                  } else {\n                                    if (window.layout_home == \"layout_home_7\") {\n                                      return (this.slidesToShow =\n                                        gridItemWidth - 1);\n                                    } else {\n                                      return (this.slidesToShow =\n                                        gridItemWidth);\n                                    }\n                                  }\n                                }\n                              },\n                              get slidesToScroll() {\n                                if (self.hasClass(\"has-banner\")) {\n                                  return (this.slidesToScroll = 3);\n                                } else {\n                                  if (productGrid.hasClass(\"verticle\")) {\n                                    return (this.slidesToScroll = 1);\n                                  } else {\n                                    if (gridItemWidth >= 4) {\n                                      return (this.slidesToScroll = 4);\n                                    } else if ((gridItemWidth = 3)) {\n                                      return (this.slidesToScroll = 3);\n                                    } else {\n                                      return (this.slidesToScroll = 2);\n                                    }\n                                  }\n                                }\n                              },\n                            },\n                          },\n                          {\n                            breakpoint: 1281,\n                            dots: true,\n                            arrows: false,\n                            vertical: false,\n                            settings: {\n                              get slidesToShow() {\n                                if (\n                                  self\n                                    .parents(\".featured-products\")\n                                    .hasClass(\"layout_style_7\") &&\n                                  self.hasClass(\"col-md-12\")\n                                ) {\n                                  return (this.slidesToShow = 2);\n                                } else {\n                                  if (gridItemWidth >= 4) {\n                                    return (this.slidesToScroll = 4);\n                                  } else if ((gridItemWidth = 3)) {\n                                    return (this.slidesToScroll = 3);\n                                  } else {\n                                    return (this.slidesToScroll = 2);\n                                  }\n                                }\n                              },\n                              get slidesToScroll() {\n                                if (\n                                  self\n                                    .parents(\".featured-products\")\n                                    .hasClass(\"layout_style_7\") &&\n                                  self.hasClass(\"col-md-12\")\n                                ) {\n                                  return (this.slidesToScroll = 2);\n                                } else {\n                                  if (gridItemWidth >= 4) {\n                                    return (this.slidesToScroll = 4);\n                                  } else if ((gridItemWidth = 3)) {\n                                    return (this.slidesToScroll = 3);\n                                  } else {\n                                    return (this.slidesToScroll = 2);\n                                  }\n                                }\n                              },\n                            },\n                          },\n                          {\n                            breakpoint: 1200,\n                            settings: {\n                              dots: true,\n                              arrows: false,\n                              vertical: false,\n                              get slidesToShow() {\n                                if (self.hasClass(\"has-banner\")) {\n                                  return (this.slidesToShow = 2);\n                                } else {\n                                  if (gridItemWidth >= 4) {\n                                    return (this.slidesToShow = 4);\n                                  } else if ((gridItemWidth = 3)) {\n                                    return (this.slidesToShow = 3);\n                                  } else {\n                                    return (this.slidesToShow = 2);\n                                  }\n                                }\n                              },\n                              get slidesToScroll() {\n                                if (self.hasClass(\"has-banner\")) {\n                                  return (this.slidesToScroll = 2);\n                                } else {\n                                  if (gridItemWidth >= 4) {\n                                    return (this.slidesToScroll = 4);\n                                  } else if ((gridItemWidth = 3)) {\n                                    return (this.slidesToScroll = 3);\n                                  } else {\n                                    return (this.slidesToScroll = 2);\n                                  }\n                                }\n                              },\n                            },\n                          },\n                          {\n                            breakpoint: 1025,\n                            dots: true,\n                            arrows: false,\n                            vertical: false,\n                            settings: {\n                              get slidesToShow() {\n                                if (\n                                  self\n                                    .parents(\".featured-products\")\n                                    .hasClass(\"layout_style_7\") &&\n                                  self.hasClass(\"col-md-12\")\n                                ) {\n                                  return (this.slidesToShow = 2);\n                                } else {\n                                  if (gridItemWidth >= 4) {\n                                    return (this.slidesToScroll = 4);\n                                  } else if ((gridItemWidth = 3)) {\n                                    return (this.slidesToScroll = 3);\n                                  } else {\n                                    return (this.slidesToScroll = 2);\n                                  }\n                                }\n                              },\n                              get slidesToScroll() {\n                                if (\n                                  self\n                                    .parents(\".featured-products\")\n                                    .hasClass(\"layout_style_7\") &&\n                                  self.hasClass(\"col-md-12\")\n                                ) {\n                                  return (this.slidesToScroll = 2);\n                                } else {\n                                  if (gridItemWidth >= 4) {\n                                    return (this.slidesToScroll = 4);\n                                  } else if ((gridItemWidth = 3)) {\n                                    return (this.slidesToScroll = 3);\n                                  } else {\n                                    return (this.slidesToScroll = 2);\n                                  }\n                                }\n                              },\n                            },\n                          },\n                          {\n                            breakpoint: 992,\n                            settings: {\n                              dots: true,\n                              arrows: false,\n                              vertical: false,\n                              get slidesToShow() {\n                                if (gridItemWidth >= 3) {\n                                  if (\n                                    self.hasClass(\"layout_style_5\") ||\n                                    self.hasClass(\"layout_style_6\")\n                                  ) {\n                                    return (this.slidesToShow = 2);\n                                  } else {\n                                    return (this.slidesToShow = 3);\n                                  }\n                                } else {\n                                  return (this.slidesToShow = 2);\n                                }\n                              },\n                              get slidesToScroll() {\n                                if (gridItemWidth >= 3) {\n                                  if (\n                                    self.hasClass(\"layout_style_5\") ||\n                                    self.hasClass(\"layout_style_6\")\n                                  ) {\n                                    return (this.slidesToScroll = 2);\n                                  } else {\n                                    return (this.slidesToScroll = 3);\n                                  }\n                                } else {\n                                  return (this.slidesToScroll = 2);\n                                }\n                              },\n                            },\n                          },\n                          {\n                            breakpoint: 768,\n                            settings: {\n                              slidesToShow: 2,\n                              slidesToScroll: 2,\n                              arrows: false,\n                              vertical: false,\n                              dots: true,\n                            },\n                          },\n                        ],\n                      });\n                    }\n                  }\n\n                  if (ella.checkNeedToConvertCurrency()) {\n                    Currency.convertAll(\n                      window.shop_currency,\n                      $(\"#currencies .active\").attr(\"data-currency\"),\n                      \"span.money\",\n                      \"money_format\"\n                    );\n                  }\n                  if (\n                    $(\".shopify-product-reviews-badge\").length &&\n                    $(\".spr-badge\").length\n                  ) {\n                    return (\n                      window.SPR.registerCallbacks(),\n                      window.SPR.initRatingHandler(),\n                      window.SPR.initDomEls(),\n                      window.SPR.loadProducts(),\n                      window.SPR.loadBadges()\n                    );\n                  }\n                },\n              });\n            }\n          }\n        });\n      };\n      window.addEventListener(\"load\", function loaderPostload() {\n        load();\n        window.addEventListener(\"scroll\", load);\n      });\n    },\n\n    collectionProduct: function () {\n      var collectionSlider = $(\"[data-collection-product] .products-grid\");\n\n      collectionSlider.each(function () {\n        var self = $(this);\n\n        if (self.not(\".slick-initialized\")) {\n          self.slick({\n            rows: 2,\n            slidesToShow: 2,\n            infinite: false,\n            dots: true,\n            speed: 800,\n            arrows: false,\n            responsive: [\n              {\n                breakpoint: 1200,\n                settings: {\n                  slidesPerRow: 1,\n                  slidesToShow: 2,\n                  rows: 2,\n                },\n              },\n              {\n                breakpoint: 992,\n                settings: {\n                  slidesPerRow: 1,\n                  slidesToShow: 2,\n                  rows: 2,\n                },\n              },\n              {\n                breakpoint: 768,\n                settings: {\n                  slidesPerRow: 1,\n                  slidesToShow: 2,\n                  dots: true,\n                  rows: 2,\n                },\n              },\n            ],\n          });\n        }\n      });\n    },\n\n    CollectionMenu: function () {\n      var brandsSlider = $(\"[data-collection-menu-slider]\");\n\n      brandsSlider.each(function () {\n        var self = $(this);\n\n        if (self.not(\".slick-initialized\")) {\n          self.slick({\n            slidesToShow: self.data(\"rows\"),\n            slidesToScroll: 1,\n            dots: false,\n            infinite: false,\n            speed: 800,\n            get nextArrow() {\n              if (\n                window.layout_style == \"layout_style_1170\" ||\n                window.layout_style == \"layout_style_flower\"\n              ) {\n                return (this.nextArrow =\n                  '<button type=\"button\" aria-label=\"Next\" class=\"slick-next\"><svg viewBox=\"0 0 50 50\"><path d=\"M 11.957031 13.988281 C 11.699219 14.003906 11.457031 14.117188 11.28125 14.308594 L 1.015625 25 L 11.28125 35.691406 C 11.527344 35.953125 11.894531 36.0625 12.242188 35.976563 C 12.589844 35.890625 12.867188 35.625 12.964844 35.28125 C 13.066406 34.933594 12.972656 34.5625 12.71875 34.308594 L 4.746094 26 L 48 26 C 48.359375 26.003906 48.695313 25.816406 48.878906 25.503906 C 49.058594 25.191406 49.058594 24.808594 48.878906 24.496094 C 48.695313 24.183594 48.359375 23.996094 48 24 L 4.746094 24 L 12.71875 15.691406 C 13.011719 15.398438 13.09375 14.957031 12.921875 14.582031 C 12.753906 14.203125 12.371094 13.96875 11.957031 13.988281 Z\"></path></svg></button>');\n              } else if (\n                window.layout_style == \"layout_style_fullwidth\" ||\n                window.layout_style == \"layout_style_suppermarket\"\n              ) {\n                return (this.nextArrow =\n                  '<button type=\"button\" aria-label=\"Next\" class=\"slick-next\"><svg viewBox=\"0 0 478.448 478.448\" class=\"icon icon-chevron-right\" id=\"icon-chevron-right\"><g><g><polygon points=\"131.659,0 100.494,32.035 313.804,239.232 100.494,446.373 131.65,478.448 377.954,239.232\"></polygon></g></g><g></g><g></g><g></g><g></g><g></g><g></g><g></g><g></g><g></g><g></g><g></g><g></g><g></g><g></g><g></g></svg></button>');\n              } else {\n                return (this.nextArrow =\n                  '<button type=\"button\" aria-label=\"Next\" class=\"slick-next\"><i class=\"fa fa-angle-right\"></i></button>');\n              }\n            },\n            get prevArrow() {\n              if (\n                window.layout_style == \"layout_style_1170\" ||\n                window.layout_style == \"layout_style_flower\"\n              ) {\n                return (this.prevArrow =\n                  '<button type=\"button\" aria-label=\"Previous\" class=\"slick-prev\"><svg viewBox=\"0 0 50 50\"><path d=\"M 11.957031 13.988281 C 11.699219 14.003906 11.457031 14.117188 11.28125 14.308594 L 1.015625 25 L 11.28125 35.691406 C 11.527344 35.953125 11.894531 36.0625 12.242188 35.976563 C 12.589844 35.890625 12.867188 35.625 12.964844 35.28125 C 13.066406 34.933594 12.972656 34.5625 12.71875 34.308594 L 4.746094 26 L 48 26 C 48.359375 26.003906 48.695313 25.816406 48.878906 25.503906 C 49.058594 25.191406 49.058594 24.808594 48.878906 24.496094 C 48.695313 24.183594 48.359375 23.996094 48 24 L 4.746094 24 L 12.71875 15.691406 C 13.011719 15.398438 13.09375 14.957031 12.921875 14.582031 C 12.753906 14.203125 12.371094 13.96875 11.957031 13.988281 Z\"></path></svg></button>');\n              } else if (\n                window.layout_style == \"layout_style_fullwidth\" ||\n                window.layout_style == \"layout_style_suppermarket\"\n              ) {\n                return (this.prevArrow =\n                  '<button type=\"button\" aria-label=\"Previous\" class=\"slick-prev\"><svg viewBox=\"0 0 370.814 370.814\" class=\"icon icon-chevron-left\" id=\"icon-chevron-left\"><g><g><polygon points=\"292.92,24.848 268.781,0 77.895,185.401 268.781,370.814 292.92,345.961 127.638,185.401\"></polygon></g></g><g></g><g></g><g></g><g></g><g></g><g></g><g></g><g></g><g></g><g></g><g></g><g></g><g></g><g></g><g></g></svg></button>');\n              } else {\n                return (this.prevArrow =\n                  '<button type=\"button\" aria-label=\"Previous\" class=\"slick-prev\"><i class=\"fa fa-angle-left\"></i></button>');\n              }\n            },\n            responsive: [\n              {\n                breakpoint: 1200,\n                settings: {\n                  slidesToShow: 6,\n                  slidesToScroll: 6,\n                },\n              },\n              {\n                breakpoint: 992,\n                settings: {\n                  slidesToShow: 5,\n                  slidesToScroll: 5,\n                },\n              },\n              {\n                breakpoint: 768,\n                settings: {\n                  slidesToShow: 4,\n                  slidesToScroll: 4,\n                },\n              },\n              {\n                breakpoint: 480,\n                settings: {\n                  slidesToShow: 3,\n                  slidesToScroll: 3,\n                },\n              },\n            ],\n          });\n        }\n      });\n    },\n\n    initDropdownColFooter: function () {\n      var footerTitle = $(\".site-footer .dropdow-mb\");\n\n      if (window.innerWidth < 768) {\n        if (footerTitle.length) {\n          footerTitle\n            .off(\"click.slideToggle\")\n            .on(\"click.slideToggle\", function () {\n              $(this).next().slideToggle();\n              $(this).toggleClass(\"open\");\n            });\n        }\n      } else {\n        footerTitle.next().css({\n          display: \"\",\n        });\n      }\n    },\n\n    initScrollTop: function () {\n      var backToTop = $(\"#back-top\");\n\n      win.scroll(function () {\n        if ($(this).scrollTop() > 220) {\n          backToTop.fadeIn(400);\n        } else {\n          backToTop.fadeOut(400);\n        }\n        if ($(\"[data-masonry]\").length) {\n          $(\".site-nav-dropdown [data-masonry]\").masonry({\n            columnWidth: \".grid-sizer\",\n            itemSelector: \"[data-gridItem]\",\n          });\n        }\n      });\n\n      backToTop.off(\"click.scrollTop\").on(\"click.scrollTop\", function (e) {\n        e.preventDefault();\n        e.stopPropagation();\n\n        $(\"html, body\").animate(\n          {\n            scrollTop: 0,\n          },\n          400\n        );\n        return false;\n      });\n    },\n    // create by hcx \u6682\u672A\u4F7F\u7528\n    popSearchBox: function () {\n      this.initPopSearchBox($(\"[data-search-pop-toggle]\"), \"search-pop-show\");\n    },\n\n    initPopSearchBox: function (iconUser, sltShowUser) {\n      if (iconUser.length && iconUser.is(\":visible\")) {\n        iconUser.off(\"click\").on(\"click\", function (e) {\n          e.preventDefault();\n          e.stopPropagation();\n\n          html.toggleClass(sltShowUser);\n        });\n      }\n    },\n\n    dropdownCustomer: function () {\n      return;\n      /* this.initDropdownCustomerTranslate(\n        $(\"[data-user-mobile-toggle]\"),\n        \"customer-show\"\n      );\n      this.initDropdownCustomerTranslate(\n        $(\".header-05 .customer-links\"),\n        \"customer-show\"\n      );\n\n      if (window.innerWidth >= 1200) {\n        this.initDropdownCustomerTranslate(\n          $(\"[data-user-pc-translate]\"),\n          \"customer-show\"\n        );\n      } */\n\n      this.closeDropdownCustomerTranslate();\n      this.initDropdownCustomer();\n    },\n    initDropdownCustomerTranslate: function (iconUser, sltShowUser) {\n      if (iconUser.length && iconUser.is(\":visible\")) {\n        iconUser\n          .off(\"click.dropdownCustomerMobile\")\n          .on(\"click.dropdownCustomerMobile\", function (e) {\n            e.preventDefault();\n            e.stopPropagation();\n            $(body).addClass(\"sidebar-show\");\n            html.addClass(sltShowUser);\n            html.removeClass(\"cart-show\");\n            html.removeClass(\"translate-overlay\");\n          });\n      }\n    },\n\n    closeTranslate: function (closeElm, classRemove) {\n      if ($(closeElm).length) {\n        body\n          .off(\"click.closeCustomer\", closeElm)\n          .on(\"click.closeCustomer\", closeElm, function (e) {\n            e.preventDefault();\n            e.stopPropagation();\n            $(body).removeClass(\"sidebar-show\");\n            html.removeClass(classRemove);\n          });\n      }\n    },\n\n    closeDropdownCustomerTranslate: function () {\n      ella.closeTranslate(\n        \"#dropdown-customer .close-customer\",\n        \"customer-show\"\n      );\n    },\n\n    appendCustomerForPCHeaderDefault: function () {\n      var customerLink = $(\".header-default .header-panel-bt .customer-links\"),\n        dropdowCustomer = $(\"#dropdown-customer\");\n\n      if (window.innerWidth >= 1200) {\n        dropdowCustomer.appendTo(customerLink);\n      } else {\n        dropdowCustomer.appendTo(body);\n      }\n    },\n\n    appendCustomerForPCHeader05: function () {\n      var customerLink = $(\".header-05 .header-panel-bt .customer-links\"),\n        dropdowCustomer = $(\"#dropdown-customer\");\n      dropdowCustomer.appendTo(body);\n    },\n\n    appendCustomerForPCHeader07: function () {\n      var customerLink = $(\".header-07 .header-panel-bt .customer-links\"),\n        dropdowCustomer = $(\"#dropdown-customer\");\n      dropdowCustomer.appendTo(body);\n    },\n\n    doDropdownCustomerPCHeaderDefault: function () {\n      var customerLoginLink = $(\"[data-dropdown-user]\");\n\n      if (window.innerWidth >= 1200) {\n        customerLoginLink\n          .off(\"click.toogleCustomer\")\n          .on(\"click.toogleCustomer\", function (e) {\n            e.preventDefault();\n            e.stopPropagation();\n            $(this).siblings(\"#dropdown-customer\").slideToggle();\n          });\n      }\n    },\n\n    doDropdownCustomerPCHeader05: function () {\n      var customerLoginLink = $(\"[data-dropdown-user]\");\n\n      customerLoginLink\n        .off(\"click.toogleCustomer\")\n        .on(\"click.toogleCustomer\", function (e) {\n          e.preventDefault();\n          e.stopPropagation();\n\n          $(this).siblings(\"#dropdown-customer\").slideToggle();\n        });\n    },\n\n    doDropdownCustomerPCHeader07: function () {\n      var customerLoginLink = $(\"[data-dropdown-user]\");\n\n      customerLoginLink\n        .off(\"click.toogleCustomer\")\n        .on(\"click.toogleCustomer\", function (e) {\n          e.preventDefault();\n          e.stopPropagation();\n\n          $(this).siblings(\"#dropdown-customer\").slideToggle();\n        });\n    },\n\n    initDropdownCustomer: function () {\n      var siteHeader = $(\".site-header\");\n\n      if (siteHeader.hasClass(\"header-default\")) {\n        this.appendCustomerForPCHeaderDefault();\n        this.doDropdownCustomerPCHeaderDefault();\n      }\n      if (siteHeader.hasClass(\"header-05\")) {\n        this.appendCustomerForPCHeader05();\n        this.doDropdownCustomerPCHeader05();\n      }\n      if (siteHeader.hasClass(\"header-07\")) {\n        this.appendCustomerForPCHeader07();\n        this.doDropdownCustomerPCHeader07();\n      }\n    },\n\n    dropdownCart: function () {\n      this.closeDropdownCartTranslate();\n      this.initDropdownCartMobile();\n      this.initDropdownCartDesktop();\n      this.checkItemsInDropdownCart();\n      this.initRemoveItemDropdownCart();\n      this.initDiscountBox();\n      this.initNumberInput(dropdownCart, ella.dropdownCartQuantityChange);\n    },\n\n    appendDropdownCartForMobile: function () {\n      var wrapperTopCart = $(\".wrapper-top-cart\");\n\n      if (window.innerWidth < 1200) {\n        dropdownCart.appendTo(body);\n      } else {\n        dropdownCart.appendTo(wrapperTopCart);\n      }\n    },\n\n    closeDropdownCartTranslate: function () {\n      ella.closeTranslate(\n        \"#dropdown-cart .close-cart\",\n        \"cart-show\",\n        \"#reload_page\",\n        \".no-items .close-cart\"\n      );\n    },\n\n    initDropdownCartMobile: function () {\n      var headerMb = $(\n          \".header-mb, [data-cart-header-parallax], [data-cart-header-02], [data-cart-header-04], [data-cart-header-05], [data-cart-header-supermarket], [data-cart-sidebar], .halo-sticky-toolbar-mobile\"\n        ),\n        cartIcon = headerMb.find(\"[data-cart-toggle]\");\n      if ($(\"body.template-cart\").length) {\n        cartIcon\n          .off(\"click.toogleDropdownCart\")\n          .on(\"click.toogleDropdownCart\", function (e) {\n            e.preventDefault();\n            e.stopPropagation();\n\n            $([document.documentElement, document.body]).animate(\n              {\n                scrollTop:\n                  $(\".wrapper-cart-template\").offset().top -\n                  $(\".main-menu\").outerHeight(),\n              },\n              500\n            );\n          });\n      } else {\n        cartIcon\n          .off(\"click.initDropdownCartMobile\")\n          .on(\"click.initDropdownCartMobile\", function (e) {\n            e.preventDefault();\n            e.stopPropagation();\n            $(body).toggleClass(\"sidebar-show\");\n            html.toggleClass(\"cart-show\");\n            html.removeClass(\"customer-show\");\n            ella.productCartslider();\n          });\n      }\n    },\n\n    initDropdownCartDesktop: function () {\n      var siteHeader = $(\".site-header\");\n\n      if (siteHeader.hasClass(\"header-default-cart\")) {\n        ella.appendDropdownCartForMobile();\n        ella.initDropdownCartForHeaderDefault();\n      }\n    },\n\n    addEventShowOptions: function () {\n      var optionsIconSlt = \"[data-show-options]\";\n\n      doc\n        .off(\"click.showOptions\", optionsIconSlt)\n        .on(\"click.showOptions\", optionsIconSlt, function (e) {\n          e.preventDefault();\n          e.stopPropagation();\n\n          html.toggleClass(\"options-show\");\n        });\n\n      ella.closeTranslate(\n        \".lang-currency-groups .close-option\",\n        \"options-show\"\n      );\n    },\n\n    initDropdownCartForHeaderDefault: function () {\n      var wrapperTopCart = $(\".wrapper-top-cart\"),\n        cartIcon = wrapperTopCart.find(\"[data-cart-toggle]\");\n\n      if (cartIcon.length && cartIcon.is(\":visible\")) {\n        if ($(\"body.template-cart\").length) {\n          cartIcon\n            .off(\"click.toogleDropdownCart\")\n            .on(\"click.toogleDropdownCart\", function (e) {\n              e.preventDefault();\n              e.stopPropagation();\n              $([document.documentElement, document.body]).animate(\n                {\n                  scrollTop:\n                    $(\".wrapper-cart-template\").offset().top -\n                    $(\".main-menu\").outerHeight(),\n                },\n                1000\n              );\n            });\n        } else {\n          if (window.dropdowncart_type == \"click\") {\n            cartIcon\n              .off(\"click.toogleDropdownCart\")\n              .on(\"click.toogleDropdownCart\", function (e) {\n                e.preventDefault();\n                e.stopPropagation();\n\n                wrapperTopCart.toggleClass(\"is-open\");\n                dropdownCart.slideToggle();\n              });\n          } else {\n            cartIcon.hover(function () {\n              var customer = $(\"#dropdown-customer\");\n\n              if (customer.is(\":visible\")) {\n                customer.hide();\n              }\n\n              if (!wrapperTopCart.hasClass(\"is-open\")) {\n                wrapperTopCart.addClass(\"is-open\");\n                dropdownCart.slideDown();\n              }\n            });\n\n            wrapperTopCart.mouseleave(function () {\n              if (wrapperTopCart.hasClass(\"is-open\")) {\n                wrapperTopCart.removeClass(\"is-open\");\n                dropdownCart.slideUp();\n              }\n            });\n          }\n        }\n      } else {\n        dropdownCart.css(\"display\", \"\");\n      }\n    },\n\n    checkItemsInDropdownCart: function () {\n      var cartNoItems = dropdownCart.find(\".no-items\"),\n        cartHasItems = dropdownCart.find(\".has-items\");\n\n      if (miniProductList.children().length) {\n        cartHasItems.show();\n        cartNoItems.hide();\n\n        sidebarCartNoItems.hide();\n        sidebarCartHasItems.show();\n        sidebarCartFooter.show();\n      } else {\n        cartHasItems.hide();\n        cartNoItems.show();\n\n        sidebarCartNoItems.show();\n        sidebarCartHasItems.hide();\n        sidebarCartFooter.hide();\n      }\n    },\n\n    debounce: function (func, wait) {\n      let timeout = null;\n      return function () {\n        const context = this;\n        const args = arguments;\n        clearTimeout(timeout);\n        timeout = setTimeout(() => func.apply(context, args), wait);\n      };\n    },\n    throttle: function (func, wait) {\n      let timer;\n      return () => {\n        if (timer) {\n          return;\n        }\n        timer = setTimeout(() => {\n          func();\n          timer = null;\n        }, wait);\n      };\n    },\n    initRemoveItemDropdownCart: function () {\n      var btnRemove = dropdownCart.find(\".btn-remove\");\n      btnRemove\n        .off(\"click.removeCartItem\")\n        .on(\"click.removeCartItem\", function (e) {\n          e.preventDefault();\n          e.stopPropagation();\n          var productId = $(this).parents(\".item\").attr(\"id\");\n          productId = productId.match(/\\d+/g);\n\n          Shopify.removeItem(productId, function (cart) {\n            ella.showSideBarLoading();\n            ella.doUpdateDropdownCart(cart);\n            ella.checkBundleProducts();\n          });\n        });\n    },\n\n    updateDropdownCart: function () {\n      ella.showSideBarLoading();\n      Shopify.getCart(function (cart) {\n        ella.doUpdateDropdownCart(cart);\n      });\n    },\n\n    updateDropdownCartOnMainCartPage: function (cart, isFromDiscountApply, params) {\n      // console.log(cart);\n      // \u6298\u6263\u7801\u76F8\u5173\n      $(\".disct-code-box .no-match-disct\").hide();\n      if (\n        cart.cart_level_discount_applications.length > 0 &&\n        $(\"[data-cart-discount-wrapper]\").length\n      ) {\n        var cartDiscounts = cart.cart_level_discount_applications;\n        var title =\n          cartDiscounts[0].title || cartDiscounts[0].discount_application.title; // \u8FD4\u56DE\u7684cart\u7ED3\u6784\u5B58\u5728\u5DEE\u5F02\u4E0D\u4E00\u6837\n        var total_discount =\n          cartDiscounts[0].total_allocated_amount ||\n          cartDiscounts[0].discount_application.total_allocated_amount;\n        $(\"[data-cart-discount-wrapper]\").show();\n        $(\".groued-saves\").show();\n        $(\"[data-cart-discount-title]\").text(title);\n        $(\"[data-cart-discount-amount]\").html(\n          Shopify.formatMoney(total_discount, window.money_format)\n        );\n        \n        if(isFromDiscountApply && params && params !== 'NULL'){\n          let discountApplied = false;\n          let originalCode = params\n          if (originalCode && title.toUpperCase() === originalCode) {\n            discountApplied = true;\n          }\n          if(discountApplied){\n            $(\".disct-code-box .no-match-disct\").hide();\n          } else {\n            $(\".disct-code-box .no-match-disct\").show();\n          }\n        }\n\n      } else {\n        $(\"[data-cart-discount-wrapper]\").hide();\n        $(\".groued-saves\").hide();\n        if (isFromDiscountApply) {\n          $(\".disct-code-box .no-match-disct\").show();\n        }\n      }\n      //\u4EF7\u683C\u8BA1\u7B97\u76F8\u5173\n      $(\".total .original-total-price\").html(\n        Shopify.formatMoney(cart.original_total_price, window.money_format)\n      );\n      $(\".groued-info .total .total-price\").html(\n        Shopify.formatMoney(cart.items_subtotal_price, window.money_format)\n      );\n      $(\".grouped-bottom .total .total-price\").html(\n        Shopify.formatMoney(cart.total_price, window.money_format)\n      );\n      $(\"[data-cart-count]\").text(cart.item_count);\n      if (cart.original_total_price == cart.items_subtotal_price) {\n        $(\".total .original-total-price\").hide();\n      } else {\n        $(\".total .original-total-price\").show();\n      }\n      // \u6765\u81EA\u5220\u9664\u6309\u94AE\u7684\u4EE3\u7801\u8FC1\u79FB\n      $(\".total .price\").html(\n        Shopify.formatMoney(cart.total_price, window.money_format)\n      );\n\n      if (ella.checkNeedToConvertCurrency()) {\n        Currency.convertAll(\n          window.shop_currency,\n          $(\"#currencies .active\").attr(\"data-currency\"),\n          \"span.money\",\n          \"money_format\"\n        );\n      }\n\n      if (\n        $(\"#gift-wrapping\").length &&\n        productId == $(\"#gift-wrapping\").data(\"gift-id\")\n      ) {\n        $(\"#is-a-gift\").show();\n      }\n\n      if ($(\".cart_items ul li\").children().length > 0) {\n        $(\".no-item-cart\").hide();\n        $(\".wrapper-cart-template\").show();\n      } else {\n        $(\".wrapper-cart-template\").hide();\n        $(\".no-item-cart\").show();\n      }\n\n      // \u6E32\u67D3\u5217\u8868\n      let card_items = cart.items;\n      let card_lists = $(\".cart-list\").find(\".cart-product-item\");\n      card_lists.each(function (i, el) {\n        $(el)\n          .find(\".price-box .original-price\")\n          .html(\n            Shopify.formatMoney(\n              card_items[i].original_price,\n              window.money_format\n            )\n          );\n        $(el)\n          .find(\".price-box .discounted_price .disc-price\")\n          .html(\n            Shopify.formatMoney(card_items[i].final_price, window.money_format)\n          );\n        $(el)\n          .find(\".cart--total .line-price\")\n          .html(\n            Shopify.formatMoney(\n              card_items[i].final_line_price,\n              window.money_format\n            )\n          );\n\n        let item_disct_str = \"\";\n        cart.items[i].line_level_discount_allocations.map((item) => {\n          item_disct_str += `\n            <li class=\"pro-disct\">\n              <svg class=\"icon icon-saletag\" id=\"icon-saletag\">\n                  <path d=\"M10 3a1 1 0 1 1 0-2 1 1 0 0 1 0 2zm0-3H7a1 1 0 0 0-.71.29l-6 6a1 1 0 0 0 0 1.42l4 4a1 1 0 0 0 1.42 0c.19-.2 5.8-5.81 6-6A1 1 0 0 0 12 5V2a2 2 0 0 0-2-2z\" fill=\"#a1a1a1\"></path>\n              </svg>\n              <span>${item.discount_application.title}</span>\n            </li>`;\n        });\n        $(el).find(\".pro-disct-box\").html(item_disct_str);\n\n        if (card_items[i].final_price == card_items[i].original_price) {\n          $(el).find(\".price-box .discounted_price\").hide();\n          $(el).find(\".price-box .original_price\").addClass(\"last-show-price\");\n        } else {\n          $(el).find(\".price-box .discounted_price\").show();\n          $(el)\n            .find(\".price-box .original_price\")\n            .removeClass(\"last-show-price\");\n        }\n      });\n    },\n\n    doUpdateDropdownCart: function (cart) {\n      let dropdown_products_list = $(\"#dropdown-cart .mini-products-list\");\n      $(\"[data-cart-count]\").text(cart.item_count);\n      $(\".wrapper-cartCount\").show();\n      ella.renderSidebarCartCalcPrice(cart, false);\n\n      $.ajax({\n        url: window.router + \"/cart?view=ajax_side_cart\",\n        cache: false,\n        complete: function () {\n          ella.hideSideBarLoading();\n        },\n        success: function (data) {\n          dropdown_products_list.html($(data));\n          ella.initNumberInput(dropdownCart, ella.dropdownCartQuantityChange);\n          ella.checkItemsInDropdownCart();\n          ella.initRemoveItemDropdownCart();\n          ella.initFreeShippingMessage();\n          ella.editCart();\n        },\n        error: function (xhr, status, error) {\n          console.error(\"Ajax request failed: \" + status + \", \" + error);\n        },\n      });\n    },\n\n    translateText: function (str) {\n      if (!window.multi_lang || str.indexOf(\"|\") < 0) return str;\n\n      if (window.multi_lang) {\n        var textArr = str.split(\"|\");\n\n        if (translator.isLang2()) return textArr[1];\n        return textArr[0];\n      }\n    },\n\n    checkNeedToConvertCurrency: function () {\n      return (\n        (window.show_multiple_currencies &&\n          Currency.currentCurrency != shopCurrency) ||\n        window.show_auto_currency\n      );\n    },\n\n    loadJsonProductcard: function () {\n      if (window.innerWidth > 1024) {\n        $(document)\n          .off(\"mouseover\", \".product-item[data-product-id]\")\n          .on(\"mouseover\", \".product-item[data-product-id]\", function (e) {\n            e.preventDefault();\n            var $product = $(this);\n\n            if (!$product[0].hasAttribute(\"data-json-product\")) {\n              if ($product.hasClass(\"json-loading\")) return;\n              $product.addClass(\"json-loading\");\n              var handle = $product.find(\".product-title\").attr(\"href\");\n\n              var xhr = $.ajax({\n                type: \"GET\",\n                url: handle,\n                data: {\n                  view: \"get_json\",\n                },\n                cache: false,\n                dataType: \"html\",\n                success: function (data) {\n                  var json = JSON.parse(data);\n                  $product.attr(\"data-json-product\", JSON.stringify(json));\n                },\n                complete: function () {\n                  $product.removeClass(\"json-loading\");\n                },\n              });\n            }\n          });\n      } else {\n        var isElementVisible = function ($el, threshold) {\n          var rect = $el[0].getBoundingClientRect();\n          var windowHeight =\n            window.innerHeight || document.documentElement.clientHeight;\n          threshold = threshold ? threshold : 0;\n\n          return (\n            rect.bottom >= 0 - threshold / 1.5 &&\n            rect.right >= 0 &&\n            rect.top <= windowHeight + threshold &&\n            rect.left <=\n              (window.innerWidth || document.documentElement.clientWidth)\n          );\n        };\n\n        $(window).scroll(function () {\n          $(\".product-item[data-product-id]\").each(function (i, el) {\n            var self = $(this);\n            if (isElementVisible($(el), -100)) {\n              var $product = $(this);\n              if (!$product[0].hasAttribute(\"data-json-product\")) {\n                if ($product.hasClass(\"json-loading\")) return;\n                $product.addClass(\"json-loading\");\n                var handle = $product.find(\".product-title\").attr(\"href\");\n\n                var xhr = $.ajax({\n                  type: \"GET\",\n                  url: handle,\n                  data: {\n                    view: \"get_json\",\n                  },\n                  cache: false,\n                  dataType: \"html\",\n                  success: function (data) {\n                    var json = JSON.parse(data);\n                    $product.attr(\"data-json-product\", JSON.stringify(json));\n                  },\n                  complete: function () {\n                    $product.removeClass(\"json-loading\");\n                  },\n                });\n              }\n            }\n          });\n        });\n      }\n    },\n\n    changeSwatchQs: function () {\n      $(\".selector-wrapper :radio\").on(\"change\", function (e) {\n        var _self = $(this);\n        var productItem = $(this).parents(\".product-item\");\n        var productItemLayout = $(this).parents(\".action\");\n        var get_json = productItem.data(\"json-product\");\n        var variantList = get_json.variants;\n        var labelSave = productItem.find(\".sale-label\");\n        var option_color = productItem\n          .find(\".option-color\")\n          .data(\"option-position\");\n        var optionIdx = _self\n          .closest(\"[data-option-index]\")\n          .data(\"option-index\");\n        var swatches = productItemLayout.find(\".swatch-element\");\n        var thisVal = _self.val();\n        var selectedVariant;\n        var productInput = productItemLayout.find(\"[name=id]\");\n        var selectedSwatchOpt1 = productItemLayout\n          .find(\".selector-wrapper-1\")\n          .find(\"input:checked\")\n          .val();\n        var selectedSwatchOpt2 = productItemLayout\n          .find(\".selector-wrapper-2\")\n          .find(\"input:checked\")\n          .val();\n        var selectedSwatchOpt3 = productItemLayout\n          .find(\".selector-wrapper-3\")\n          .find(\"input:checked\")\n          .val();\n        swatches.removeClass(\"soldout\");\n        swatches.find(\":radio\").prop(\"disabled\", false);\n        switch (optionIdx) {\n          case 0:\n            var availableVariants = variantList.find(function (variant) {\n              if (option_color == 1) {\n                return (\n                  variant.option2 == thisVal &&\n                  variant.option1 == selectedSwatchOpt2\n                );\n              } else {\n                if (option_color == 2) {\n                  return (\n                    variant.option3 == thisVal &&\n                    variant.option1 == selectedSwatchOpt2\n                  );\n                } else {\n                  return (\n                    variant.option1 == thisVal &&\n                    variant.option2 == selectedSwatchOpt2\n                  );\n                }\n              }\n            });\n\n            if (availableVariants != undefined) {\n              selectedVariant = availableVariants;\n            } else {\n              // variant was sold out, so auto select other available variant\n              var altAvailableVariants = variantList.find(function (variant) {\n                if (option_color == 1) {\n                  return variant.option2 == thisVal;\n                } else {\n                  if (option_color == 2) {\n                    return variant.option3 == thisVal;\n                  } else {\n                    return variant.option1 == thisVal;\n                  }\n                }\n              });\n              selectedVariant = altAvailableVariants;\n            }\n            break;\n          case 1:\n            var availableVariants = variantList.find(function (variant) {\n              if (option_color == 1) {\n                return (\n                  variant.option2 == selectedSwatchOpt1 &&\n                  variant.option1 == thisVal &&\n                  variant.option3 == selectedSwatchOpt3\n                );\n              } else {\n                if (option_color == 2) {\n                  return (\n                    variant.option3 == selectedSwatchOpt1 &&\n                    variant.option1 == thisVal &&\n                    variant.option2 == selectedSwatchOpt3\n                  );\n                } else {\n                  return (\n                    variant.option1 == selectedSwatchOpt1 &&\n                    variant.option2 == thisVal &&\n                    variant.option3 == selectedSwatchOpt3\n                  );\n                }\n              }\n            });\n            if (availableVariants != undefined) {\n              selectedVariant = availableVariants;\n            } else {\n              var altAvailableVariants = variantList.find(function (variant) {\n                if (option_color == 1) {\n                  return (\n                    variant.option2 == selectedSwatchOpt1 &&\n                    variant.option1 == thisVal\n                  );\n                } else {\n                  if (option_color == 2) {\n                    return (\n                      variant.option3 == selectedSwatchOpt1 &&\n                      variant.option1 == thisVal\n                    );\n                  } else {\n                    return (\n                      variant.option1 == selectedSwatchOpt1 &&\n                      variant.option2 == thisVal\n                    );\n                  }\n                }\n              });\n              selectedVariant = altAvailableVariants;\n            }\n            break;\n          case 2:\n            var availableVariants = variantList.find(function (variant) {\n              if (option_color == 1) {\n                return (\n                  variant.option2 == selectedSwatchOpt1 &&\n                  variant.option1 == selectedSwatchOpt2 &&\n                  variant.option3 == thisVal\n                );\n              } else {\n                if (option_color == 2) {\n                  return (\n                    variant.option3 == selectedSwatchOpt1 &&\n                    variant.option1 == selectedSwatchOpt2 &&\n                    variant.option2 == thisVal\n                  );\n                } else {\n                  return (\n                    variant.option1 == selectedSwatchOpt1 &&\n                    variant.option2 == selectedSwatchOpt2 &&\n                    variant.option3 == thisVal\n                  );\n                }\n              }\n            });\n            if (availableVariants != undefined) {\n              selectedVariant = availableVariants;\n            }\n            break;\n        }\n        if (selectedVariant == undefined) return;\n        productInput.val(selectedVariant.id);\n        var value = $(this).val();\n        if (selectedVariant.compare_at_price > selectedVariant.price) {\n          productItem.addClass(\"on-sale\");\n          labelSave\n            .html(\n              \"-\" +\n                Math.round(\n                  ((selectedVariant.compare_at_price - selectedVariant.price) *\n                    100) /\n                    selectedVariant.compare_at_price\n                ) +\n                \"%\"\n            )\n            .show();\n          productItem\n            .find(\"[data-compare-price-grid]\")\n            .html(\n              Shopify.formatMoney(\n                selectedVariant.compare_at_price,\n                window.money_format\n              )\n            );\n          productItem;\n        } else {\n          productItem.removeClass(\"on-sale\");\n          labelSave.hide();\n          productItem.find(\"[data-compare-price-grid]\").html(\"\");\n        }\n        productItem\n          .find(\"[data-price-grid]\")\n          .html(\n            Shopify.formatMoney(selectedVariant.price, window.money_format)\n          );\n        $(this)\n          .parents(\".selector-wrapper\")\n          .find(\".form-label span\")\n          .text(value);\n        ella.checkStatusSwatchQs(productItem, productItemLayout);\n      });\n\n      $(\n        \".product-card__variant--popup--content select.single-option-selector\"\n      ).on(\"change\", function () {\n        var _self = $(this);\n        var productItem = $(this).parents(\".product-item\");\n        var productItemLayout = $(this).parents(\".action\");\n        var get_json = productItem.data(\"json-product\");\n        var variantList = get_json.variants;\n        var option_color = productItem\n          .find(\".option-color\")\n          .data(\"option-position\");\n        var optionIdx = _self.data(\"option\");\n        var swatches = productItem.find(\".swatch-element\");\n        var thisVal = _self.val();\n        var selectedVariant;\n        var productInput = productItemLayout.find(\"[name=id]\");\n        var selectedSwatchOpt1 = productItemLayout\n          .find('[data-option=\"option1\"]')\n          .val();\n        var selectedSwatchOpt2 = productItemLayout\n          .find('[data-option=\"option2\"]')\n          .val();\n        var selectedSwatchOpt3 = productItemLayout\n          .find('[data-option=\"option3\"]')\n          .val();\n        switch (optionIdx) {\n          case \"option1\":\n            var availableVariants = variantList.find(function (variant) {\n              return (\n                variant.option1 == thisVal &&\n                variant.option2 == selectedSwatchOpt2 &&\n                variant.available\n              );\n            });\n            if (availableVariants != undefined) {\n              selectedVariant = availableVariants;\n            } else {\n              // variant was sold out, so auto select other available variant\n              var altAvailableVariants = variantList.find(function (variant) {\n                return variant.option1 == thisVal && variant.available;\n              });\n              selectedVariant = altAvailableVariants;\n            }\n            break;\n          case \"option2\":\n            var availableVariants = variantList.find(function (variant) {\n              return (\n                variant.option1 == selectedSwatchOpt1 &&\n                variant.option2 == thisVal &&\n                variant.available\n              );\n            });\n            if (availableVariants != undefined) {\n              selectedVariant = availableVariants;\n            }\n            break;\n          case \"option3\":\n            var availableVariants = variantList.find(function (variant) {\n              return (\n                variant.option1 == selectedSwatchOpt1 &&\n                variant.option2 == selectedSwatchOpt2 &&\n                variant.option3 == thisVal &&\n                variant.available\n              );\n            });\n            if (availableVariants != undefined) {\n              selectedVariant = availableVariants;\n            }\n            break;\n        }\n        if (selectedVariant != undefined) {\n          productInput.val(selectedVariant.id);\n        }\n\n        var value = $(this).val();\n        $(this)\n          .parents(\".selector-wrapper\")\n          .find(\".form-label span\")\n          .text(value);\n\n        ella.checkStatusSwatchQs(productItem, productItemLayout);\n\n        // if (selectedVariant.featured_image) {\n        //     productItem.find('#product-featured-image').attr('src', selectedVariant.featured_image.src);\n        // }\n      });\n    },\n\n    checkStatusSwatchQs: function (productItem, productItemLayout) {\n      if (window.use_color_swatch) {\n        var get_json = productItem.data(\"json-product\");\n        var variantList = get_json.variants;\n        var options = productItem.find(\"[data-option-index]\");\n        var option_color = productItem\n          .find(\".option-color\")\n          .data(\"option-position\");\n        if (productItemLayout == undefined) {\n          productItemLayout = productItem;\n        }\n        var selectedSwatchOpt1 = productItemLayout\n          .find('[data-option-index=\"0\"]')\n          .find(\"input:checked\")\n          .val();\n        var selectedSwatchOpt2 = productItemLayout\n          .find('[data-option-index=\"1\"]')\n          .find(\"input:checked\")\n          .val();\n        var selectedSwatchOpt3 = productItemLayout\n          .find('[data-option-index=\"2\"]')\n          .find(\"input:checked\")\n          .val();\n        options.each(function () {\n          var optionIndex = $(this).data(\"option-index\");\n          var swatch = $(this).find(\".swatch-element\");\n          switch (optionIndex) {\n            case 0:\n              // loop through all swatchs in option 1 and filter sold out swatch\n              swatch.each(function () {\n                var swatchVal = $(this).data(\"value\");\n                var opt1Soldout = variantList.find(function (variant) {\n                  if (option_color == 1) {\n                    return variant.option2 == swatchVal && variant.available;\n                  } else {\n                    if (option_color == 2) {\n                      return variant.option3 == swatchVal && variant.available;\n                    } else {\n                      return variant.option1 == swatchVal && variant.available;\n                    }\n                  }\n                });\n                var optionUnavailable = variantList.find(function (variant) {\n                  if (option_color == 1) {\n                    return variant.option2 == swatchVal;\n                  } else {\n                    if (option_color == 2) {\n                      return variant.option3 == swatchVal;\n                    } else {\n                      return variant.option1 == swatchVal;\n                    }\n                  }\n                });\n                if (opt1Soldout == undefined) {\n                  if (optionUnavailable == undefined) {\n                    $(this).addClass(\"unavailable\");\n                    $(this).removeClass(\"soldout\");\n                    $(this).removeClass(\"available\");\n                    $(this).find(\":radio\").prop(\"checked\", false);\n                  } else {\n                    $(this).addClass(\"soldout\");\n                    $(this).removeClass(\"unavailable\");\n                    $(this).removeClass(\"available\");\n                    $(this).find(\":radio\").prop(\"disabled\", false);\n                    productItemLayout\n                      .find(\"[data-btn-addtocart]\")\n                      .addClass(\"unavailable\")\n                      .attr(\"disable\");\n                  }\n                } else {\n                  $(this).removeClass(\"soldout\");\n                  $(this).removeClass(\"unavailable\");\n                  $(this).addClass(\"available\");\n                  $(this).find(\":radio\").prop(\"disabled\", false);\n                  productItemLayout\n                    .find(\"[data-btn-addtocart]\")\n                    .removeClass(\"unavailable\")\n                    .removeAttr(\"disable\");\n                }\n              });\n              break;\n            case 1:\n              swatch.each(function () {\n                var swatchVal = $(this).data(\"value\");\n                var opt1Soldout = variantList.find(function (variant) {\n                  if (option_color == 1) {\n                    return (\n                      variant.option2 == selectedSwatchOpt1 &&\n                      variant.option1 == swatchVal &&\n                      variant.available\n                    );\n                  } else {\n                    if (option_color == 2) {\n                      return (\n                        variant.option3 == selectedSwatchOpt1 &&\n                        variant.option1 == swatchVal &&\n                        variant.available\n                      );\n                    } else {\n                      return (\n                        variant.option1 == selectedSwatchOpt1 &&\n                        variant.option2 == swatchVal &&\n                        variant.available\n                      );\n                    }\n                  }\n                });\n                var optionUnavailable = variantList.find(function (variant) {\n                  if (option_color == 1) {\n                    return (\n                      variant.option2 == selectedSwatchOpt1 &&\n                      variant.option1 == swatchVal\n                    );\n                  } else {\n                    if (option_color == 2) {\n                      return (\n                        variant.option3 == selectedSwatchOpt1 &&\n                        variant.option1 == swatchVal\n                      );\n                    } else {\n                      return (\n                        variant.option1 == selectedSwatchOpt1 &&\n                        variant.option2 == swatchVal\n                      );\n                    }\n                  }\n                });\n                if (opt1Soldout == undefined) {\n                  if (optionUnavailable == undefined) {\n                    $(this).addClass(\"unavailable\");\n                    $(this).removeClass(\"soldout\");\n                    $(this).removeClass(\"available\");\n                    $(this).find(\":radio\").prop(\"checked\", false);\n                  } else {\n                    $(this).addClass(\"soldout\");\n                    $(this).removeClass(\"unavailable\");\n                    $(this).removeClass(\"available\");\n                    $(this).find(\":radio\").prop(\"disabled\", false);\n                    // $(this).find(':radio').prop('checked',true);\n                    productItemLayout\n                      .find(\"[data-btn-addtocart]\")\n                      .addClass(\"unavailable\")\n                      .attr(\"disable\");\n                  }\n                } else {\n                  $(this).removeClass(\"soldout\");\n                  $(this).removeClass(\"unavailable\");\n                  $(this).addClass(\"available\");\n                  $(this).find(\":radio\").prop(\"disabled\", false);\n                  productItemLayout\n                    .find(\"[data-btn-addtocart]\")\n                    .removeClass(\"unavailable\")\n                    .removeAttr(\"disable\");\n                }\n              });\n              break;\n            case 2:\n              // loop through all swatchs in option 3 and filter sold out swatch\n              swatch.each(function () {\n                var swatchVal = $(this).data(\"value\");\n                var opt1Soldout = variantList.find(function (variant) {\n                  if (option_color == 1) {\n                    return (\n                      variant.option2 == selectedSwatchOpt1 &&\n                      variant.option1 == selectedSwatchOpt2 &&\n                      variant.option3 == swatchVal &&\n                      variant.available\n                    );\n                  } else {\n                    if (option_color == 2) {\n                      return (\n                        variant.option3 == selectedSwatchOpt1 &&\n                        variant.option1 == selectedSwatchOpt2 &&\n                        variant.option2 == swatchVal &&\n                        variant.available\n                      );\n                    } else {\n                      return (\n                        variant.option1 == selectedSwatchOpt1 &&\n                        variant.option2 == selectedSwatchOpt2 &&\n                        variant.option3 == swatchVal &&\n                        variant.available\n                      );\n                    }\n                  }\n                });\n                var optionUnavailable = variantList.find(function (variant) {\n                  if (option_color == 1) {\n                    return (\n                      variant.option2 == selectedSwatchOpt1 &&\n                      variant.option1 == selectedSwatchOpt2 &&\n                      variant.option3 == swatchVal\n                    );\n                  } else {\n                    if (option_color == 2) {\n                      return (\n                        variant.option3 == selectedSwatchOpt1 &&\n                        variant.option1 == selectedSwatchOpt2 &&\n                        variant.option2 == swatchVal\n                      );\n                    } else {\n                      return (\n                        variant.option1 == selectedSwatchOpt1 &&\n                        variant.option2 == selectedSwatchOpt2 &&\n                        variant.option3 == swatchVal\n                      );\n                    }\n                  }\n                });\n                if (opt1Soldout == undefined) {\n                  if (optionUnavailable == undefined) {\n                    $(this).addClass(\"unavailable\");\n                    $(this).removeClass(\"soldout\");\n                    $(this).removeClass(\"available\");\n                    $(this).find(\":radio\").prop(\"checked\", false);\n                  } else {\n                    $(this).addClass(\"soldout\");\n                    $(this).removeClass(\"unavailable\");\n                    $(this).removeClass(\"available\");\n                    $(this).find(\":radio\").prop(\"disabled\", false);\n                    // $(this).find(':radio').prop('checked',true);\n                    productItemLayout\n                      .find(\"[data-btn-addtocart]\")\n                      .addClass(\"unavailable\")\n                      .attr(\"disable\");\n                  }\n                } else {\n                  $(this).removeClass(\"soldout\");\n                  $(this).removeClass(\"unavailable\");\n                  $(this).addClass(\"available\");\n                  $(this).find(\":radio\").prop(\"disabled\", false);\n                  productItemLayout\n                    .find(\"[data-btn-addtocart]\")\n                    .removeClass(\"unavailable\")\n                    .removeAttr(\"disable\");\n                }\n              });\n              break;\n          }\n        });\n        if (\n          productItemLayout\n            .find(\".swatch-element.soldout\")\n            .find(\"input:checked\").length\n        ) {\n          productItemLayout\n            .find(\"[data-btn-addtocart]\")\n            .addClass(\"disabled\")\n            .attr(\"disabled\", true);\n        } else {\n          productItemLayout\n            .find(\"[data-btn-addtocart]\")\n            .removeClass(\"disabled\")\n            .removeAttr(\"disabled\");\n        }\n        productItemLayout\n          .find(\".selector-wrapper:not(.option-color)\")\n          .each(function () {\n            if (\n              $(this).find(\".swatch-element\").find(\"input:checked\").length < 1\n            ) {\n\n              if ($(this).find(\".swatch-element.available\").length) {\n                $(this)\n                  .find(\".swatch-element.available\")\n                  .eq(\"0\")\n                  .find(\"label\")\n                  .trigger(\"click\");\n              } else {\n                $(this)\n                  .find(\".swatch-element.soldout\")\n                  .eq(\"0\")\n                  .find(\"label\")\n                  .trigger(\"click\");\n              }\n            }\n          });\n      } else {\n        var get_json = productItem.data(\"json-product\");\n        var variantList = get_json.variants;\n        var options = productItem.find(\n          \".product-card__variant--popup--content [data-option]\"\n        );\n        var option_color = productItem\n          .find(\".option-color\")\n          .data(\"option-position\");\n        var selectedSwatchOpt1 = productItemLayout\n          .find(\n            '.product-card__variant--popup--content [data-option=\"option1\"]'\n          )\n          .val();\n        var selectedSwatchOpt2 = productItemLayout\n          .find(\n            '.product-card__variant--popup--content [data-option=\"option2\"]'\n          )\n          .val();\n        var selectedSwatchOpt3 = productItemLayout\n          .find(\n            '.product-card__variant--popup--content [data-option=\"option3\"]'\n          )\n          .val();\n\n        options.each(function () {\n          var optionIndex = $(this).data(\"option-index\");\n          var swatch = $(this).find(\"option\");\n          switch (optionIndex) {\n            case 0:\n              // loop through all swatchs in option 1 and filter sold out swatch\n              swatch.each(function () {\n                var swatchVal = $(this).val();\n                var opt1Soldout = variantList.find(function (variant) {\n                  // if (option_color == 1) {\n                  //     return variant.option2 == swatchVal && variant.available;\n                  // } else {\n                  return variant.option1 == swatchVal && variant.available;\n                  // }\n                });\n                if (opt1Soldout == undefined) {\n                  var optionUnavailable = variantList.find(function (variant) {\n                    return variant.option1 == swatchVal;\n                  });\n                  if (optionUnavailable == undefined) {\n                    $(this).addClass(\"unavailable\");\n                    $(this).removeClass(\"soldOut\");\n                    $(this).attr(\"disabled\", \"disabled\");\n                  } else {\n                    $(this).addClass(\"soldOut\");\n                    $(this).removeClass(\"unavailable\");\n                    $(this).removeAttr(\"disabled\", \"disabled\");\n                  }\n                } else {\n                  $(this).removeAttr(\"disabled\", \"disabled\");\n                  $(this).removeClass(\"soldOut\");\n                  $(this).removeClass(\"unavailable\");\n                }\n              });\n              break;\n            case 1:\n              // loop through all swatchs in option 2 and filter sold out swatch\n              swatch.each(function () {\n                var swatchVal = $(this).val();\n                var opt1Soldout = variantList.find(function (variant) {\n                  return (\n                    variant.option1 == selectedSwatchOpt1 &&\n                    variant.option2 == swatchVal &&\n                    variant.available\n                  );\n                });\n                if (opt1Soldout == undefined) {\n                  var optionUnavailable = variantList.find(function (variant) {\n                    return (\n                      variant.option1 == selectedSwatchOpt1 &&\n                      variant.option2 == swatchVal\n                    );\n                  });\n                  if (optionUnavailable == undefined) {\n                    $(this).addClass(\"unavailable\");\n                    $(this).removeClass(\"soldOut\");\n                    $(this).attr(\"disabled\", \"disabled\");\n                  } else {\n                    $(this).addClass(\"soldOut\");\n                    $(this).removeClass(\"unavailable\");\n                    $(this).removeAttr(\"disabled\", \"disabled\");\n                  }\n                } else {\n                  $(this).removeAttr(\"disabled\", \"disabled\");\n                  $(this).removeClass(\"soldOut\");\n                  $(this).removeClass(\"unavailable\");\n                }\n              });\n              break;\n            case 2:\n              // loop through all swatchs in option 3 and filter sold out swatch\n              swatch.each(function () {\n                var swatchVal = $(this).val();\n                var opt1Soldout = variantList.find(function (variant) {\n                  return (\n                    variant.option1 == selectedSwatchOpt1 &&\n                    variant.option2 == selectedSwatchOpt2 &&\n                    variant.option3 == swatchVal &&\n                    variant.available\n                  );\n                });\n                if (opt1Soldout == undefined) {\n                  var optionUnavailable = variantList.find(function (variant) {\n                    return (\n                      variant.option1 == selectedSwatchOpt1 &&\n                      variant.option2 == selectedSwatchOpt2 &&\n                      variant.option3 == swatchVal\n                    );\n                  });\n                  if (optionUnavailable == undefined) {\n                    $(this).addClass(\"unavailable\");\n                    $(this).removeClass(\"soldOut\");\n                    $(this).attr(\"disabled\", \"disabled\");\n                  } else {\n                    $(this).addClass(\"soldOut\");\n                    $(this).removeClass(\"unavailable\");\n                    $(this).removeAttr(\"disabled\", \"disabled\");\n                  }\n                } else {\n                  $(this).removeAttr(\"disabled\", \"disabled\");\n                  $(this).removeClass(\"soldOut\");\n                  $(this).removeClass(\"unavailable\");\n                }\n              });\n              break;\n          }\n        });\n        if (\n          productItemLayout\n            .find(\n              \".product-card__variant--popup--content .single-option-selector\"\n            )\n            .find(\"option.soldOut:selected\").length\n        ) {\n          productItemLayout\n            .find(\"[data-btn-addtocart]\")\n            .addClass(\"disabled\")\n            .attr(\"disabled\", true);\n        } else {\n          productItemLayout\n            .find(\"[data-btn-addtocart]\")\n            .removeClass(\"disabled\")\n            .removeAttr(\"disabled\");\n        }\n      }\n    },\n\n    initQuickshop: function () {\n      var btnQuickshop = \"[data-init-quickshop]\";\n      var cancelQuickshop = \"[data-cancel-swatch-qs]\";\n\n      body\n        .off(\"click.quickshop\")\n        .on(\"click.quickshop\", btnQuickshop, function (e) {\n          e.preventDefault();\n          e.stopPropagation();\n          var _self = $(this),\n            productItem = _self.parents(\".product-item\"),\n            productItemLayout = _self.parents(\".action\");\n          var option_color = productItem.find(\".option-color\");\n\n          _self.parents(\".action\").addClass(\"show-popup-qs\");\n\n          ella.changeSwatchQs();\n          var get_json = productItem.data(\"json-product\");\n\n          ella.checkStatusSwatchQs(productItem, productItemLayout);\n\n          _self\n            .parents(\".action\")\n            .find(\".selector-wrapper:not(.option-color)\")\n            .each(function () {\n              $(this)\n                .find(\".swatch-element:not(.soldout):not(.unavailable)\")\n                .eq(\"0\")\n                .find(\"label\")\n                .trigger(\"click\");\n            });\n\n          ella.stickySidebar();\n        });\n\n      body\n        .off(\"click.cancelquickshop\")\n        .on(\"click.cancelquickshop\", cancelQuickshop, function () {\n          $(this).parents(\".action\").removeClass(\"show-popup-qs\");\n        });\n    },\n\n    initColorSwatchGrid: function () {\n      var itemSwatchSlt = \".item-swatch li label\";\n\n      body\n        .off(\"click.toggleClass\")\n        .on(\"click.toggleClass\", itemSwatchSlt, function () {\n          $(this)\n            .parents(\".inner-top\")\n            .find(\".action\")\n            .removeClass(\"show-popup-qs\");\n          var self = $(this),\n            title = self.attr(\"data-title\").replace(/^\\s+|\\s+$/g, \"\"),\n            productItemElm = self.closest(\".grid-item\"),\n            sidebarWidgetProduct = productItemElm.closest(\n              \".sidebar-widget-product\"\n            );\n\n          self.parents(\".item-swatch\").find(\"li label\").removeClass(\"active\");\n          self.addClass(\"active\");\n          var get_json = $(this).parents(\".product-item\").data(\"json-product\");\n          var list_cur_media = [];\n\n          var product_id = $(this).data(\"id-product\");\n          var href = productItemElm.find(\"a\").attr(\"href\");\n          productItemElm\n            .find(\"a:not(.btn-cancel):not(.number-showmore)\")\n            .attr(\n              \"href\",\n              href.split(\"?variant=\")[0] + \"?variant=\" + product_id\n            );\n\n          if (window.product_variant_name == true) {\n            if (window.layout_style == \"layout_style_surfup\") {\n              productItemElm.find(\".product-title\").hasClass(\"change-text\")\n                ? productItemElm\n                    .find(\".product-title\")\n                    .find(\"[data-change-title]\")\n                    .text(title)\n                : productItemElm\n                    .find(\".product-title\")\n                    .addClass(\"change-text\")\n                    .append(\"<span data-change-title>\" + title + \"</span>\");\n            } else {\n              productItemElm.find(\".product-title\").hasClass(\"change-text\")\n                ? productItemElm\n                    .find(\".product-title\")\n                    .find(\"[data-change-title]\")\n                    .html('<span class=\"line\"> - </span>' + title)\n                : productItemElm\n                    .find(\".product-title\")\n                    .addClass(\"change-text\")\n                    .append(\n                      '<span data-change-title><span class=\"line\"> - </span></span>' +\n                        title +\n                        \"</span>\"\n                    );\n            }\n          }\n\n          if (self.data(\"with-one-option\") != undefined) {\n            var quantity = self.data(\"quantity\");\n            productItemElm\n              .find('[name=\"id\"]')\n              .val(self.data(\"with-one-option\"));\n            if (quantity > 0) {\n              productItemElm\n                .find(\"[data-btn-addtocart]\")\n                .removeClass(\"disabled\")\n                .removeAttr(\"disabled\");\n              productItemElm\n                .find(\"[data-btn-addtocart]\")\n                .text(window.inventory_text.add_to_cart);\n            } else {\n              productItemElm\n                .find(\"[data-btn-addtocart]\")\n                .addClass(\"disabled\")\n                .attr(\"disabled\", \"disabled\");\n              productItemElm\n                .find(\"[data-btn-addtocart]\")\n                .text(window.inventory_text.sold_out);\n            }\n            var price = self.data(\"price\"),\n              comparePrice = self.data(\"compare_at_price\");\n            if (comparePrice > price) {\n              productItemElm\n                .find(\"[data-compare-price-grid]\")\n                .html(Shopify.formatMoney(comparePrice, window.money_format));\n            } else {\n              productItemElm.find(\"[data-compare-price-grid]\").html(\"\");\n            }\n\n            productItemElm\n              .find(\"[data-price-grid]\")\n              .html(Shopify.formatMoney(price, window.money_format));\n          } else {\n            if (get_json != undefined) {\n              ella.checkStatusSwatchQs($(this).parents(\".product-item\"));\n            }\n            //                     productItemElm.find('[data-value=\"' + title + '\"]').find('label').trigger('click');\n            if ($(\".template-collection\").length) {\n              if (\n                $(this).parents(\".product-collection\").hasClass(\"products-list\")\n              ) {\n                productItemElm\n                  .find(\".product-details\")\n                  .find('[data-value=\"' + title + '\"]')\n                  .find(\"label\")\n                  .trigger(\"click\");\n              } else {\n                productItemElm\n                  .find(\".action:eq(0)\")\n                  .find('[data-value=\"' + title + '\"]')\n                  .find(\"label\")\n                  .trigger(\"click\");\n              }\n            } else {\n              productItemElm\n                .find('[data-value=\"' + title + '\"]')\n                .find(\"label\")\n                .trigger(\"click\");\n            }\n\n            var price = self.data(\"price\"),\n              comparePrice = self.data(\"compare_at_price\");\n            if (comparePrice > price) {\n              productItemElm\n                .find(\"[data-compare-price-grid]\")\n                .html(Shopify.formatMoney(comparePrice, window.money_format));\n            } else {\n              productItemElm.find(\"[data-compare-price-grid]\").html(\"\");\n            }\n\n            productItemElm\n              .find(\"[data-price-grid]\")\n              .html(Shopify.formatMoney(price, window.money_format));\n          }\n\n          if (get_json != undefined) {\n            var list_cur_media = get_json.media.filter(function (cur) {\n              return cur.alt === title;\n            });\n          }\n\n          if (\n            list_cur_media.length > 0 &&\n            window.color_swatch_style == \"variant_grouped\"\n          ) {\n            if (list_cur_media.length > 1) {\n              var length = 2;\n            } else {\n              var length = list_cur_media.length;\n            }\n            for (var i = 0; i < length; i++) {\n              productItemElm\n                .find('picture[data-index=\"' + i + '\"] > *')\n                .attr(\"srcset\", list_cur_media[i].src);\n            }\n          } else {\n            var newImage = self.data(\"img\");\n            if (sidebarWidgetProduct.length) {\n              newImage = newImage.replace(\"800x\", \"large\");\n            }\n            if (newImage) {\n              productItemElm\n                .find(\n                  \".product-grid-image > picture > *, .product-grid-image > img\"\n                )\n                .attr({\n                  srcset: newImage,\n                });\n              return false;\n            }\n          }\n        });\n      body\n        .off(\"click.showmore\")\n        .on(\"click.showmore\", \".item-swatch-more a\", function () {\n          $(this).parents(\".item-swatch\").toggleClass(\"show--more\");\n          $(this).parents(\".item-swatch\").hasClass(\"show--more\")\n            ? $(this).children().text(\"-\")\n            : $(this).children().text(\"+\");\n        });\n    },\n\n    showLoading: function () {\n      $(\".loading-modal\").show();\n    },\n\n    hideLoading: function () {\n      $(\".loading-modal\").hide();\n    },\n\n    showSideBarLoading: function () {\n      $(\".sidebar-loading-modal\").show();\n    },\n\n    hideSideBarLoading: function () {\n      $(\".sidebar-loading-modal\").hide();\n    },\n\n    showModal: function (selector) {\n      $(selector).fadeIn(500);\n\n      ella.ellaTimeout = setTimeout(function () {\n        $(selector).fadeOut(500);\n      }, 5000);\n    },\n\n    translateBlock: function (blockSelector) {\n      if (window.multi_lang && translator.isLang2()) {\n        translator.doTranslate(blockSelector);\n      }\n    },\n\n    closeLookbookModal: function () {\n      $(\".ajax-lookbook-modal\").fadeOut(500);\n    },\n\n    addEventLookbookModal: function () {\n      body\n        .off(\n          \"click.addEvenLookbookModal touchstart.addEvenLookbookModal\",\n          \"[data-lookbook-icon]\"\n        )\n        .on(\n          \"click.addEvenLookbookModal touchstart.addEvenLookbookModal\",\n          \"[data-lookbook-icon]\",\n          function (e) {\n            e.preventDefault();\n            e.stopPropagation();\n\n            var handle = $(this).data(\"handle\"),\n              position = $(this);\n            ella.doAjaxAddLookbookModal(handle, position);\n            let slideshow = $(this).closest(\".home-slideshow\");\n            let autoplaySpeed = slideshow.find('[data-init-slideshow]').data('autoplay-speed')\n            console.log(3828,slideshow,autoplaySpeed)\n            let autoPlay = window.autoPlaySlideShowHalo;\n            autoPlay.clearTimer(slideshow);\n\n            // autoPlay.stopAutoSlide()\n            // autoPlay.startAutoSlide($(\".slide-action\"), 10000000);\n            // console.log(3845,window.autoPlaySlideShowHalo)\n            // console.log(3827,slideshow)\n            doc\n              .off(\"click.closeLookbookModal\")\n              .on(\n                \"click.closeLookbookModal\",\n                \"[data-close-lookbook-modal], .ajax-lookbook-modal .overlay\",\n                function () {\n                  autoPlay.setTimer(slideshow, autoplaySpeed);\n                  ella.closeLookbookModal();\n                  return false;\n                }\n              );\n          }\n        );\n    },\n\n    doAjaxAddLookbookModal: function (handle, position) {\n      var offSet = $(position).offset(),\n        top = offSet.top,\n        left = offSet.left,\n        iconWidth = position.innerWidth(),\n        innerLookbookModal = $(\".ajax-lookbook-modal\").innerWidth(),\n        str3 = iconWidth + \"px\",\n        str4 = innerLookbookModal + \"px\",\n        newtop,\n        newleft;\n\n      if (window.innerWidth > 767) {\n        if (left > innerLookbookModal + 31) {\n          newleft = \"calc(\" + left + \"px\" + \" - \" + str4 + \" + \" + \"2px\" + \")\";\n        } else {\n          newleft = \"calc(\" + left + \"px\" + \" + \" + str3 + \" - \" + \"2px\" + \")\";\n        }\n\n        newtop = top - innerLookbookModal / 2 + \"px\";\n      } else {\n        newleft = 0;\n        newtop = top - 30 + \"px\";\n      }\n\n      if (ella.isAjaxLoading) return;\n\n      $.ajax({\n        type: \"get\",\n        url: window.router + \"/products/\" + handle + \"?view=json\",\n\n        success: function (data) {\n          $(\".ajax-lookbook-modal\").css({\n            left: newleft,\n            top: newtop,\n          });\n          $(\".ajax-lookbook-modal .lookbook-content\").html(data);\n\n          ella.translateBlock(\".lookbook-content\");\n          $(\".ajax-lookbook-modal\").fadeIn(500);\n        },\n\n        error: function (xhr, text) {\n          $(\".ajax-error-message\").text(\n            $.parseJSON(xhr.responseText).description\n          );\n\n          ella.showModal(\".ajax-error-modal\");\n        },\n      });\n    },\n\n    clickedActiveProductTabs: function () {\n      var productTabsSection = $(\"[data-home-product-tabs]\");\n\n      productTabsSection.each(function () {\n        var self = $(this),\n          listTabs = self.find(\".list-product-tabs\"),\n          tabLink = listTabs.find(\"[data-product-tabTop]\"),\n          tabContent = self.find(\"[data-product-TabContent]\");\n\n        var linkActive = self.find(\".list-product-tabs .tab-links.active\"),\n          activeTab = self.find(\".product-tabs-content .tab-content.active\");\n\n        ella.doAjaxProductTabs(\n          linkActive.data(\"href\"),\n          activeTab.find(\".loading\"),\n          activeTab.find(\".products-grid\"),\n          self.attr(\"sectionid\")\n        );\n\n        tabLink.off(\"click\").on(\"click\", function (e) {\n          e.preventDefault();\n          e.stopPropagation();\n\n          if ($(this).hasClass(\"active\")) {\n            return;\n          }\n\n          if (!$(this).hasClass(\"active\")) {\n            var curTab = $(this),\n              curTabContent = $(curTab.data(\"target\"));\n\n            tabLink.removeClass(\"active\");\n            tabContent.removeClass(\"active\");\n\n            if (\n              !curTabContent\n                .find(\".products-grid\")\n                .hasClass(\"slick-initialized\")\n            ) {\n              ella.doAjaxProductTabs(\n                curTab.data(\"href\"),\n                curTabContent.find(\".loading\"),\n                curTabContent.find(\".products-grid\"),\n                self.attr(\"sectionid\")\n              );\n            }\n\n            curTab.addClass(\"active\");\n            curTabContent.addClass(\"active\");\n          }\n        });\n      });\n    },\n\n    doAjaxProductTabs: function (handle, loadingElm, curTabContent, sectionId) {\n      // if (ella.isAjaxLoading) return;\n      var productTabsSection = $(\"[data-home-product-tabs]\");\n\n      $.ajax({\n        type: \"get\",\n        url: handle,\n        data: {\n          constraint: \"sectionId=\" + sectionId,\n        },\n\n        beforeSend: function () {\n          loadingElm.text(\"Loading ... please wait ...\");\n        },\n\n        success: function (data) {\n          loadingElm.hide();\n          if (handle == \"/collections/?view=json\") {\n            loadingElm.text(\"Please link to collections\").show();\n          } else {\n            curTabContent.html($(data).find(\".grid-items\").html());\n\n            if (!curTabContent.hasClass(\"slick-initialized\")) {\n              ella.initProductTabsSlider(curTabContent.parent());\n            }\n\n            if (ella.checkNeedToConvertCurrency()) {\n              Currency.convertAll(\n                window.shop_currency,\n                $(\"#currencies .active\").attr(\"data-currency\"),\n                \"span.money\",\n                \"money_format\"\n              );\n            }\n\n            ella.translateBlock(\"[data-home-product-tabs]\");\n            ella.initColorSwatchGrid();\n            ella.initWishListIcons();\n\n            ella.ellaTimeout = setTimeout(function () {\n              if (\n                $(\".shopify-product-reviews-badge\").length &&\n                $(\".spr-badge\").length\n              ) {\n                return (\n                  window.SPR.registerCallbacks(),\n                  window.SPR.initRatingHandler(),\n                  window.SPR.initDomEls(),\n                  window.SPR.loadProducts(),\n                  window.SPR.loadBadges()\n                );\n              }\n            }, 1000);\n          }\n          $('[data-toggle=\"tooltip\"]').tooltip();\n          ella.swapHoverVideo();\n        },\n\n        error: function (xhr, text) {\n          loadingElm\n            .text(\"Sorry, there are no products in this collection\")\n            .show();\n        },\n      });\n    },\n\n    initProductTabsSlider: function (slt) {\n      slt.each(function () {\n        var self = $(this),\n          productGrid = self.find(\".products-grid\"),\n          gridItemWidth = productGrid.data(\"row\");\n\n        if (\n          productGrid.not(\".slick-initialized\") &&\n          productGrid.find(\".grid-item\").length\n        ) {\n          productGrid.slick({\n            slidesToShow: productGrid.data(\"row\"),\n            slidesToScroll: productGrid.data(\"row\"),\n            dots: false,\n            infinite: false,\n            speed: 1000,\n            get nextArrow() {\n              if (\n                window.layout_style == \"layout_style_1170\" ||\n                window.layout_style == \"layout_style_flower\"\n              ) {\n                return (this.nextArrow =\n                  '<button type=\"button\" aria-label=\"Next Product\" class=\"slick-next\"><svg viewBox=\"0 0 50 50\"><path d=\"M 11.957031 13.988281 C 11.699219 14.003906 11.457031 14.117188 11.28125 14.308594 L 1.015625 25 L 11.28125 35.691406 C 11.527344 35.953125 11.894531 36.0625 12.242188 35.976563 C 12.589844 35.890625 12.867188 35.625 12.964844 35.28125 C 13.066406 34.933594 12.972656 34.5625 12.71875 34.308594 L 4.746094 26 L 48 26 C 48.359375 26.003906 48.695313 25.816406 48.878906 25.503906 C 49.058594 25.191406 49.058594 24.808594 48.878906 24.496094 C 48.695313 24.183594 48.359375 23.996094 48 24 L 4.746094 24 L 12.71875 15.691406 C 13.011719 15.398438 13.09375 14.957031 12.921875 14.582031 C 12.753906 14.203125 12.371094 13.96875 11.957031 13.988281 Z\"></path></svg></button>');\n              } else if (\n                window.layout_style == \"layout_style_fullwidth\" ||\n                window.layout_style == \"layout_style_suppermarket\"\n              ) {\n                return (this.nextArrow =\n                  '<button type=\"button\" aria-label=\"Next Product\" class=\"slick-next\"><svg viewBox=\"0 0 478.448 478.448\" class=\"icon icon-chevron-right\" id=\"icon-chevron-right\"><g><g><polygon points=\"131.659,0 100.494,32.035 313.804,239.232 100.494,446.373 131.65,478.448 377.954,239.232\"></polygon></g></g><g></g><g></g><g></g><g></g><g></g><g></g><g></g><g></g><g></g><g></g><g></g><g></g><g></g><g></g><g></g></svg></button>');\n              } else {\n                return (this.nextArrow =\n                  '<button type=\"button\" aria-label=\"Next Product\" class=\"slick-next\"><i class=\"fa fa-angle-right\"></i></button>');\n              }\n            },\n            get prevArrow() {\n              if (\n                window.layout_style == \"layout_style_1170\" ||\n                window.layout_style == \"layout_style_flower\"\n              ) {\n                return (this.prevArrow =\n                  '<button type=\"button\" aria-label=\"Previous Product\" class=\"slick-prev\"><svg viewBox=\"0 0 50 50\"><path d=\"M 11.957031 13.988281 C 11.699219 14.003906 11.457031 14.117188 11.28125 14.308594 L 1.015625 25 L 11.28125 35.691406 C 11.527344 35.953125 11.894531 36.0625 12.242188 35.976563 C 12.589844 35.890625 12.867188 35.625 12.964844 35.28125 C 13.066406 34.933594 12.972656 34.5625 12.71875 34.308594 L 4.746094 26 L 48 26 C 48.359375 26.003906 48.695313 25.816406 48.878906 25.503906 C 49.058594 25.191406 49.058594 24.808594 48.878906 24.496094 C 48.695313 24.183594 48.359375 23.996094 48 24 L 4.746094 24 L 12.71875 15.691406 C 13.011719 15.398438 13.09375 14.957031 12.921875 14.582031 C 12.753906 14.203125 12.371094 13.96875 11.957031 13.988281 Z\"></path></svg></button>');\n              } else if (\n                window.layout_style == \"layout_style_fullwidth\" ||\n                window.layout_style == \"layout_style_suppermarket\"\n              ) {\n                return (this.prevArrow =\n                  '<button type=\"button\" aria-label=\"Previous Product\" class=\"slick-prev\"><svg viewBox=\"0 0 370.814 370.814\" class=\"icon icon-chevron-left\" id=\"icon-chevron-left\"><g><g><polygon points=\"292.92,24.848 268.781,0 77.895,185.401 268.781,370.814 292.92,345.961 127.638,185.401\"></polygon></g></g><g></g><g></g><g></g><g></g><g></g><g></g><g></g><g></g><g></g><g></g><g></g><g></g><g></g><g></g><g></g></svg></button>');\n              } else {\n                return (this.prevArrow =\n                  '<button type=\"button\" aria-label=\"Previous Product\" class=\"slick-prev\"><i class=\"fa fa-angle-left\"></i></button>');\n              }\n            },\n            responsive: [\n              {\n                breakpoint: 1200,\n                settings: {\n                  dots: true,\n                  arrows: false,\n                  get slidesToShow() {\n                    if (self.hasClass(\"sections-has-banner\")) {\n                      return (this.slidesToShow = 2);\n                    } else {\n                      if (gridItemWidth >= 4) {\n                        return (this.slidesToShow = 4);\n                      } else if ((gridItemWidth = 3)) {\n                        return (this.slidesToShow = 3);\n                      } else {\n                        return (this.slidesToShow = 2);\n                      }\n                    }\n                  },\n                  get slidesToScroll() {\n                    if (self.hasClass(\"sections-has-banner\")) {\n                      return (this.slidesToScroll = 2);\n                    } else {\n                      if (gridItemWidth >= 4) {\n                        return (this.slidesToScroll = 4);\n                      } else if ((gridItemWidth = 3)) {\n                        return (this.slidesToScroll = 3);\n                      } else {\n                        return (this.slidesToScroll = 2);\n                      }\n                    }\n                  },\n                },\n              },\n              {\n                breakpoint: 992,\n                settings: {\n                  dots: true,\n                  arrows: false,\n                  get slidesToShow() {\n                    if (self.hasClass(\"sections-has-banner\")) {\n                      return (this.slidesToShow = 2);\n                    } else {\n                      if (gridItemWidth >= 3) {\n                        return (this.slidesToShow = 3);\n                      } else {\n                        this.slidesToShow = 2;\n                      }\n                    }\n                  },\n                  get slidesToScroll() {\n                    if (self.hasClass(\"sections-has-banner\")) {\n                      return (this.slidesToScroll = 2);\n                    } else {\n                      if (gridItemWidth >= 3) {\n                        return (this.slidesToScroll = 3);\n                      } else {\n                        return (this.slidesToScroll = 2);\n                      }\n                    }\n                  },\n                },\n              },\n              {\n                breakpoint: 768,\n                settings: {\n                  slidesToShow: 2,\n                  slidesToScroll: 2,\n                  arrows: false,\n                  dots: true,\n                },\n              },\n            ],\n          });\n        }\n      });\n    },\n    initMainPageProOption: function () {\n      $(\".index-normal-product-card .add-to-cart\").click(function (e) {\n        e.stopPropagation();\n        e.preventDefault();\n        let get_id = $(this).data(\"id\");\n        let params = {\n          id: get_id,\n          quantity: 1,\n        };\n        var productItem = $(this).closest(\".product-item\");\n        var title = productItem.find(\".pro-title\").html();\n        var image = productItem.find(\".img-box img\").attr(\"src\");\n        var size = productItem.find(\".pro-size\").find(\"span\").html();\n        var weight = productItem.find(\".pro-weight\").find(\"span\").html();\n        ella.doAjaxAddToCartNormal(params, true, title, image, size, weight);\n      });\n    },\n\n    initProductReview: function () {\n      var cookie = setInterval(function () {\n        if (\n          !$(\".spr-reviews\").hasClass(\"slick-initialized\") &&\n          $(\".product-template-skin-1\").length\n        ) {\n          if (!$(\".spr-reviews\").find(\".spr-review\").length) {\n            return;\n          }\n          var self = $(\".spr-reviews\");\n          self.slick({\n            slidesToShow: 2,\n            slidesToScroll: 1,\n            get arrows() {\n              if (window.layout_style == \"layout_style_fullwidth\") {\n                return (this.arrows = true);\n              } else {\n                return (this.arrows = false);\n              }\n            },\n            get dots() {\n              if (window.layout_style == \"layout_style_fullwidth\") {\n                return (this.dots = false);\n              } else {\n                return (this.dots = true);\n              }\n            },\n            infinite: true,\n            speed: 1000,\n            get centerMode() {\n              if (window.layout_style == \"layout_style_flower\") {\n                return (this.centerMode = false);\n              } else {\n                return (this.centerMode = true);\n              }\n            },\n            centerPadding: \"20%\",\n            get nextArrow() {\n              if (\n                window.layout_style == \"layout_style_1170\" ||\n                window.layout_style == \"layout_style_flower\"\n              ) {\n                return (this.nextArrow =\n                  '<button type=\"button\" aria-label=\"Next\" class=\"slick-next\"><svg viewBox=\"0 0 50 50\"><path d=\"M 11.957031 13.988281 C 11.699219 14.003906 11.457031 14.117188 11.28125 14.308594 L 1.015625 25 L 11.28125 35.691406 C 11.527344 35.953125 11.894531 36.0625 12.242188 35.976563 C 12.589844 35.890625 12.867188 35.625 12.964844 35.28125 C 13.066406 34.933594 12.972656 34.5625 12.71875 34.308594 L 4.746094 26 L 48 26 C 48.359375 26.003906 48.695313 25.816406 48.878906 25.503906 C 49.058594 25.191406 49.058594 24.808594 48.878906 24.496094 C 48.695313 24.183594 48.359375 23.996094 48 24 L 4.746094 24 L 12.71875 15.691406 C 13.011719 15.398438 13.09375 14.957031 12.921875 14.582031 C 12.753906 14.203125 12.371094 13.96875 11.957031 13.988281 Z\"></path></svg></button>');\n              } else if (\n                window.layout_style == \"layout_style_fullwidth\" ||\n                window.layout_style == \"layout_style_suppermarket\"\n              ) {\n                return (this.nextArrow =\n                  '<button type=\"button\" aria-label=\"Next\" class=\"slick-next\"><svg viewBox=\"0 0 478.448 478.448\" class=\"icon icon-chevron-right\" id=\"icon-chevron-right\"><g><g><polygon points=\"131.659,0 100.494,32.035 313.804,239.232 100.494,446.373 131.65,478.448 377.954,239.232\"></polygon></g></g><g></g><g></g><g></g><g></g><g></g><g></g><g></g><g></g><g></g><g></g><g></g><g></g><g></g><g></g><g></g></svg></button>');\n              } else {\n                return (this.nextArrow =\n                  '<button type=\"button\" aria-label=\"Next\" class=\"slick-next\"><i class=\"fa fa-angle-right\"></i></button>');\n              }\n            },\n            get prevArrow() {\n              if (\n                window.layout_style == \"layout_style_1170\" ||\n                window.layout_style == \"layout_style_flower\"\n              ) {\n                return (this.prevArrow =\n                  '<button type=\"button\" aria-label=\"Previous\" class=\"slick-prev\"><svg viewBox=\"0 0 50 50\"><path d=\"M 11.957031 13.988281 C 11.699219 14.003906 11.457031 14.117188 11.28125 14.308594 L 1.015625 25 L 11.28125 35.691406 C 11.527344 35.953125 11.894531 36.0625 12.242188 35.976563 C 12.589844 35.890625 12.867188 35.625 12.964844 35.28125 C 13.066406 34.933594 12.972656 34.5625 12.71875 34.308594 L 4.746094 26 L 48 26 C 48.359375 26.003906 48.695313 25.816406 48.878906 25.503906 C 49.058594 25.191406 49.058594 24.808594 48.878906 24.496094 C 48.695313 24.183594 48.359375 23.996094 48 24 L 4.746094 24 L 12.71875 15.691406 C 13.011719 15.398438 13.09375 14.957031 12.921875 14.582031 C 12.753906 14.203125 12.371094 13.96875 11.957031 13.988281 Z\"></path></svg></button>');\n              } else if (\n                window.layout_style == \"layout_style_fullwidth\" ||\n                window.layout_style == \"layout_style_suppermarket\"\n              ) {\n                return (this.prevArrow =\n                  '<button type=\"button\" aria-label=\"Previous\" class=\"slick-prev\"><svg viewBox=\"0 0 370.814 370.814\" class=\"icon icon-chevron-left\" id=\"icon-chevron-left\"><g><g><polygon points=\"292.92,24.848 268.781,0 77.895,185.401 268.781,370.814 292.92,345.961 127.638,185.401\"></polygon></g></g><g></g><g></g><g></g><g></g><g></g><g></g><g></g><g></g><g></g><g></g><g></g><g></g><g></g><g></g><g></g></svg></button>');\n              } else {\n                return (this.prevArrow =\n                  '<button type=\"button\" aria-label=\"Previous\" class=\"slick-prev\"><i class=\"fa fa-angle-left\"></i></button>');\n              }\n            },\n            responsive: [\n              {\n                breakpoint: 1200,\n                settings: {\n                  slidesToShow: 2,\n                },\n              },\n              {\n                breakpoint: 992,\n                settings: {\n                  slidesToShow: 1,\n                },\n              },\n              {\n                breakpoint: 480,\n                settings: {\n                  slidesToShow: 1,\n                  centerMode: false,\n                },\n              },\n            ],\n          });\n          self.find(\".spr-review\").each(function () {\n            $(this)\n              .find(\".spr-review-header-byline\")\n              .appendTo($(this).find(\".spr-review-footer\"));\n            self.find(\".spr-pagination\").remove();\n          });\n        } else {\n          if (\n            $(\".product-template-surfup\").length &&\n            $(\".spr-review-header .spr-review-footer\").length == 0\n          ) {\n            var self = $(\".spr-reviews\");\n            // console.log($('.spr-review-header .spr-review-footer').length);\n            self.find(\".spr-review\").each(function () {\n              $(this)\n                .find(\".spr-review-footer\")\n                .appendTo($(this).find(\".spr-review-header\"));\n            });\n          }\n        }\n      }, 1000);\n    },\n\n    initProductVideo: function () {\n      if ($(\"[data-load-video]\").length) {\n        $(\"[data-load-video]\").on(\"click\", function (e) {\n          e.preventDefault();\n          e.stopPropagation();\n          $(this).hide();\n          $(this).next(\".fluid-width-video-wrapper\").show();\n          if ($(this).next(\".fluid-width-video-wrapper\").find(\"video\").length) {\n            $(this)\n              .next(\".fluid-width-video-wrapper\")\n              .find(\"video\")\n              .get(0)\n              .play();\n          } else {\n            function postMessageToPlayer(player, command) {\n              if (player == null || command == null) return;\n              player.contentWindow.postMessage(JSON.stringify(command), \"*\");\n            }\n            var player = $(this)\n              .next(\".fluid-width-video-wrapper\")\n              .find(\"iframe\")\n              .get(0);\n            postMessageToPlayer(player, {\n              event: \"command\",\n              func: \"playVideo\",\n            });\n          }\n        });\n        // if (window.innerWidth > 1200) {\n        $(\".custom-block-banner .fluid-width-video-wrapper\").on(\n          \"click\",\n          function (e) {\n            if (!$(this).hasClass(\"autoplay\")) {\n              $(this).find(\"video\").get(0).pause();\n              $(this).addClass(\"autoplay\");\n            } else {\n              $(this).find(\"video\").get(0).play();\n              $(this).removeClass(\"autoplay\");\n            }\n          }\n        );\n        // }\n      }\n    },\n\n    initCountdown: function () {\n      var countdownElm = $(\"[data-countdown]\");\n\n      countdownElm.each(function () {\n        var self = $(this),\n          countdownValue = self.data(\"countdown-value\");\n\n        self.countdown(countdownValue, function (event) {\n          $(this).html(\n            event.strftime(\n              \"\" +\n                '<div class=\"clock-item\"><span class=\"num\">%D</span><span>' +\n                window.inventory_text.days +\n                \"</span></div>\" +\n                '<div class=\"clock-item\"><span class=\"num\">%H</span><span>' +\n                window.inventory_text.hours +\n                \"</span></div>\" +\n                '<div class=\"clock-item\"><span class=\"num\">%M</span><span>' +\n                window.inventory_text.mins +\n                \"</span></div>\" +\n                '<div class=\"clock-item\"><span class=\"num\">%S</span><span>' +\n                window.inventory_text.secs +\n                \"</span></div>\"\n            )\n          );\n        });\n      });\n    },\n\n    initCountdownNormal: function () {\n      var countdownElm = $(\"[data-countdown-normal]\");\n\n      countdownElm.each(function () {\n        var self = $(this),\n          countdownValue = self.data(\"countdown-value\");\n\n        if (self.hasClass(\"countdown-suppermarket\")) {\n          if (window.product_style == \"supermarket\") {\n            self.countdown(countdownValue, function (event) {\n              $(this).html(\n                event.strftime(\n                  \"\" +\n                    '<div class=\"clock-item\"><span class=\"num\">%D</span><span>:</span></div>' +\n                    '<div class=\"clock-item\"><span class=\"num\">%H</span><span>:</span></div>' +\n                    '<div class=\"clock-item\"><span class=\"num\">%M</span><span>:</span></div>' +\n                    '<div class=\"clock-item\"><span class=\"num\">%S</span></div>'\n                )\n              );\n            });\n          } else {\n            self.countdown(countdownValue, function (event) {\n              $(this).html(\n                event.strftime(\n                  \"\" +\n                    '<div class=\"clock-item day\"><span class=\"num\">%D<span>d</span></span></div>' +\n                    '<div class=\"clock-item\"><span class=\"num\">%H</span>:</div>' +\n                    '<div class=\"clock-item\"><span class=\"num\">%M</span>:</div>' +\n                    '<div class=\"clock-item\"><span class=\"num\">%S</span></div>'\n                )\n              );\n            });\n          }\n        } else if (window.product_style == \"supermarket\") {\n          self.countdown(countdownValue, function (event) {\n            $(this).html(\n              event.strftime(\n                \"\" +\n                  '<div class=\"clock-item\"><span class=\"num\">%D</span><span> days</span></div>' +\n                  '<div class=\"clock-item\"><span class=\"num\">%H</span>&nbsp;:</div>' +\n                  '<div class=\"clock-item\"><span class=\"num\">%M</span>&nbsp;:</div>' +\n                  '<div class=\"clock-item\"><span class=\"num\">%S</span></div>'\n              )\n            );\n          });\n        } else {\n          self.countdown(countdownValue, function (event) {\n            $(this).html(\n              event.strftime(\n                \"\" +\n                  '<div class=\"clock-item\"><span class=\"num\">%D</span><span>D</span>:</div>' +\n                  '<div class=\"clock-item\"><span class=\"num\">%H</span><span>H</span>:</div>' +\n                  '<div class=\"clock-item\"><span class=\"num\">%M</span><span>M</span>:</div>' +\n                  '<div class=\"clock-item\"><span class=\"num\">%S</span><span>S</span></div>'\n              )\n            );\n          });\n        }\n      });\n    },\n\n    initToggleSubMenuMobile: function () {\n      var mainMenu = $(\".main-menu.jas-mb-style\"),\n        siteNav = $(\".site-nav\"),\n        iconDropdown = siteNav.find(\"[data-toggle-menu-mb]\");\n\n      iconDropdown\n        .off(\"click.dropdownMenu\")\n        .on(\"click.dropdownMenu\", function (e) {\n          e.preventDefault();\n          e.stopPropagation();\n\n          var curParent = $(this).parent(),\n            curMenu = curParent.next(\".sub-menu-mobile\");\n\n          if ($(\".header-bottom .header-mb\").is(\":visible\")) {\n            if (curMenu.hasClass(\"sub-menu-open\")) {\n              curMenu.removeClass(\"sub-menu-open\");\n            } else {\n              curMenu.addClass(\"sub-menu-open\").css({\n                overflow: \"\",\n              });\n              mainMenu.animate(\n                {\n                  scrollTop: 0,\n                },\n                0\n              );\n              mainMenu.css({\n                overflow: \"hidden\",\n              });\n            }\n          }\n        });\n\n      ella.linkClickToggleSubMenuMobile(mainMenu);\n    },\n\n    linkClickToggleSubMenuMobile: function (mainMenu) {\n      var menuMobile = $(\".site-nav .dropdown\"),\n        iconDropdown = menuMobile.find(\"[data-toggle-menu-mb]\"),\n        menuMobileLabel = $(\".sub-menu-mobile .menu-mb-title\");\n\n      if (iconDropdown.length) {\n        body\n          .off(\"click.current\")\n          .on(\"click.current\", \".site-nav .dropdown\", function (e) {\n            e.stopPropagation();\n\n            if ($(\".header-bottom .header-mb\").is(\":visible\")) {\n              $(this)\n                .children(\".sub-menu-mobile\")\n                .addClass(\"sub-menu-open\")\n                .css({\n                  overflow: \"\",\n                });\n              mainMenu.animate(\n                {\n                  scrollTop: 0,\n                },\n                0\n              );\n              if (window.innerWidth < 1200) {\n                mainMenu.css({\n                  overflow: \"hidden\",\n                });\n              }\n            }\n          });\n\n        menuMobile.find(\".menu__moblie\").on(\"click\", function (e) {\n          e.stopPropagation();\n        });\n\n        menuMobileLabel\n          .off(\"click.closeMenu\")\n          .on(\"click.closeMenu\", function (e) {\n            e.preventDefault();\n            e.stopPropagation();\n\n            if ($(this).parent().hasClass(\"bg\")) {\n              $(this).parent().parent().removeClass(\"sub-menu-open\");\n            } else {\n              $(this).parent().removeClass(\"sub-menu-open\");\n            }\n            if (!$(this).closest(\".menu-lv-2\").length) {\n              mainMenu.css({\n                overflow: \"\",\n              });\n            }\n          });\n      }\n    },\n\n    openEmailModalWindow: function (newsletterWrapper) {\n      newsletterWrapper.fadeIn(1000);\n    },\n\n    closeEmailModalWindow: function (newsletterWrapper, expire) {\n      newsletterWrapper.fadeOut(1000);\n      var inputChecked = newsletterWrapper\n        .find('input[name=\"dismiss\"]')\n        .prop(\"checked\");\n      if (\n        inputChecked ||\n        !newsletterWrapper.find('input[name=\"dismiss\"]').length\n      )\n        $.cookie(\"emailSubcribeModal\", \"closed\", {\n          expires: expire,\n          path: \"/\",\n        });\n    },\n\n    initNewsLetterPopup: function () {\n      if (window.newsletter_popup) {\n        let in_showpage = false;\n        window.onload = function () {\n          const currentUrl = window.location.pathname;\n          // \u53EA\u5728\u9996\u9875\u81EA\u52A8\u5F39\u51FA\n          if (currentUrl === \"/\") {\n            in_showpage = true;\n          }\n        };\n        var newsletterWrapper = $(\"[data-newsletter]\"),\n          closeWindow = newsletterWrapper.find(\".close-window\"),\n          delay = newsletterWrapper.data(\"delay\"),\n          expire = newsletterWrapper.data(\"expire\"),\n          modalContent = newsletterWrapper.find(\".halo-modal-content\");\n\n        if (\n          $.cookie(\"emailSubcribeModal\") != \"closed\" &&\n          window.hidden_newsletter == false &&\n          in_showpage\n        ) {\n          ella.ellaTimeout = setTimeout(function () {\n            ella.openEmailModalWindow(newsletterWrapper);\n          }, delay);\n        }\n\n        if ($(\"[data-toolbar-newsletter]\").length) {\n          $(\"[data-modal-newsletter]\").on(\"click\", function () {\n            ella.openEmailModalWindow(newsletterWrapper);\n          });\n        }\n\n        closeWindow.click(function (e) {\n          e.preventDefault();\n\n          ella.closeEmailModalWindow(newsletterWrapper, expire);\n        });\n\n        newsletterWrapper.on(\"click\", function (e) {\n          if (\n            !modalContent.is(e.target) &&\n            !modalContent.has(e.target).length\n          ) {\n            ella.closeEmailModalWindow(newsletterWrapper, expire);\n          }\n        });\n\n        $(\"#mc_embed_signup form\").submit(function () {\n          if ($(\"#mc_embed_signup .email\").val() != \"\") {\n            ella.closeEmailModalWindow(newsletterWrapper, expire);\n          }\n        });\n      }\n    },\n\n    initSidebarProductSlider: function () {\n      var sidebarWidgetProduct = $(\"[data-sidebar-product]\");\n\n      sidebarWidgetProduct.each(function () {\n        var self = $(this),\n          productGrid = self.find(\".products-grid\");\n\n        if (productGrid.not(\".slick-initialized\")) {\n          productGrid.slick({\n            slidesToShow: 1,\n            slidesToScroll: 1,\n            infinite: false,\n            speed: 800,\n            get dots() {\n              if (\n                window.layout_style == \"layout_style_1170\" ||\n                window.layout_style == \"layout_style_flower\" ||\n                window.layout_style == \"layout_style_suppermarket\"\n              ) {\n                return (this.dots = true);\n              } else {\n                return (this.dots = false);\n              }\n            },\n            get arrows() {\n              if (window.layout_style == \"layout_style_suppermarket\") {\n                return (this.arrows = false);\n              } else {\n                return (this.arrows = true);\n              }\n            },\n            get nextArrow() {\n              if (\n                window.layout_style == \"layout_style_1170\" ||\n                window.layout_style == \"layout_style_flower\"\n              ) {\n                return (this.nextArrow =\n                  '<button type=\"button\" aria-label=\"Next Product\" class=\"slick-next\"><svg viewBox=\"0 0 50 50\"><path d=\"M 11.957031 13.988281 C 11.699219 14.003906 11.457031 14.117188 11.28125 14.308594 L 1.015625 25 L 11.28125 35.691406 C 11.527344 35.953125 11.894531 36.0625 12.242188 35.976563 C 12.589844 35.890625 12.867188 35.625 12.964844 35.28125 C 13.066406 34.933594 12.972656 34.5625 12.71875 34.308594 L 4.746094 26 L 48 26 C 48.359375 26.003906 48.695313 25.816406 48.878906 25.503906 C 49.058594 25.191406 49.058594 24.808594 48.878906 24.496094 C 48.695313 24.183594 48.359375 23.996094 48 24 L 4.746094 24 L 12.71875 15.691406 C 13.011719 15.398438 13.09375 14.957031 12.921875 14.582031 C 12.753906 14.203125 12.371094 13.96875 11.957031 13.988281 Z\"></path></svg></button>');\n              } else if (\n                window.layout_style == \"layout_style_fullwidth\" ||\n                window.layout_style == \"layout_style_suppermarket\"\n              ) {\n                return (this.nextArrow =\n                  '<button type=\"button\" aria-label=\"Next Product\" class=\"slick-next\"><svg viewBox=\"0 0 478.448 478.448\" class=\"icon icon-chevron-right\" id=\"icon-chevron-right\"><g><g><polygon points=\"131.659,0 100.494,32.035 313.804,239.232 100.494,446.373 131.65,478.448 377.954,239.232\"></polygon></g></g><g></g><g></g><g></g><g></g><g></g><g></g><g></g><g></g><g></g><g></g><g></g><g></g><g></g><g></g><g></g></svg></button>');\n              } else {\n                return (this.nextArrow =\n                  '<button type=\"button\" aria-label=\"Next Product\" class=\"slick-next\"><i class=\"fa fa-angle-right\"></i></button>');\n              }\n            },\n            get prevArrow() {\n              if (\n                window.layout_style == \"layout_style_1170\" ||\n                window.layout_style == \"layout_style_flower\"\n              ) {\n                return (this.prevArrow =\n                  '<button type=\"button\" aria-label=\"Previous Product\" class=\"slick-prev\"><svg viewBox=\"0 0 50 50\"><path d=\"M 11.957031 13.988281 C 11.699219 14.003906 11.457031 14.117188 11.28125 14.308594 L 1.015625 25 L 11.28125 35.691406 C 11.527344 35.953125 11.894531 36.0625 12.242188 35.976563 C 12.589844 35.890625 12.867188 35.625 12.964844 35.28125 C 13.066406 34.933594 12.972656 34.5625 12.71875 34.308594 L 4.746094 26 L 48 26 C 48.359375 26.003906 48.695313 25.816406 48.878906 25.503906 C 49.058594 25.191406 49.058594 24.808594 48.878906 24.496094 C 48.695313 24.183594 48.359375 23.996094 48 24 L 4.746094 24 L 12.71875 15.691406 C 13.011719 15.398438 13.09375 14.957031 12.921875 14.582031 C 12.753906 14.203125 12.371094 13.96875 11.957031 13.988281 Z\"></path></svg></button>');\n              } else if (\n                window.layout_style == \"layout_style_fullwidth\" ||\n                window.layout_style == \"layout_style_suppermarket\"\n              ) {\n                return (this.prevArrow =\n                  '<button type=\"button\" aria-label=\"Previous Product\" class=\"slick-prev\"><svg viewBox=\"0 0 370.814 370.814\" class=\"icon icon-chevron-left\" id=\"icon-chevron-left\"><g><g><polygon points=\"292.92,24.848 268.781,0 77.895,185.401 268.781,370.814 292.92,345.961 127.638,185.401\"></polygon></g></g><g></g><g></g><g></g><g></g><g></g><g></g><g></g><g></g><g></g><g></g><g></g><g></g><g></g><g></g><g></g></svg></button>');\n              } else {\n                return (this.prevArrow =\n                  '<button type=\"button\" aria-label=\"Previous Product\" class=\"slick-prev\"><i class=\"fa fa-angle-left\"></i></button>');\n              }\n            },\n          });\n        }\n      });\n    },\n\n    initOpenSidebar: function () {\n      var sidebarLabelSlt = \".sidebar-label\",\n        sidebarLabelElm = $(sidebarLabelSlt);\n\n      if (sidebarLabelElm.length) {\n        body\n          .off(\"click.openSidebar\")\n          .on(\"click.openSidebar\", sidebarLabelSlt, function () {\n            html.addClass(\"sidebar-open\");\n            $(body).toggleClass(\"sidebar-show\");\n          });\n      }\n    },\n\n    closeSidebar: function () {\n      ella.closeTranslate(\".sidebar .close-sidebar\", \"sidebar-open\");\n    },\n\n    initSidebar: function () {\n      this.initSidebarProductSlider();\n      this.initOpenSidebar();\n      this.closeSidebar();\n      this.initDropdownSubCategoriesAtSidebar();\n      this.initToggleWidgetTitleSidebarFilter();\n    },\n\n    initDropdownSubCategoriesAtSidebar: function () {\n      var iconDropdownSlt = \".sidebar-links li.dropdown\";\n      var linkDropdownSlt = \".sidebar-links li.dropdown a\";\n\n      body\n        .off(\"click.toggleSubCategories\")\n        .on(\"click.toggleSubCategories\", iconDropdownSlt, function (e) {\n          e.stopPropagation();\n\n          var self = $(this),\n            dropdown = self.find(\"> .dropdown-cat\");\n\n          if (self.hasClass(\"open\")) {\n            self.removeClass(\"open\");\n            dropdown.slideUp();\n          } else {\n            self.addClass(\"open\");\n            dropdown.slideDown();\n          }\n        });\n\n      body\n        .off(\"click.linktoCollection\")\n        .on(\"click.linktoCollection\", linkDropdownSlt, function (e) {\n          e.stopPropagation();\n        });\n    },\n\n    historyAdapter: function () {\n      var collTpl = $('[data-section-type=\"collection-template\"]');\n\n      if (collTpl.length) {\n        History.Adapter.bind(window, \"statechange\", function () {\n          var State = History.getState();\n\n          if (!ella.isSidebarAjaxClick) {\n            ella.queryParams();\n\n            var newurl = ella.ajaxCreateUrl();\n\n            ella.doAjaxToolbarGetContent(newurl);\n            ella.doAjaxSidebarGetContent(newurl);\n          }\n\n          ella.isSidebarAjaxClick = false;\n        });\n      }\n    },\n\n    queryParams: function () {\n      Shopify.queryParams = {};\n\n      if (location.search.length) {\n        for (\n          var aKeyValue, i = 0, aCouples = location.search.substr(1).split(\"&\");\n          i < aCouples.length;\n          i++\n        ) {\n          aKeyValue = aCouples[i].split(\"=\");\n\n          if (aKeyValue.length > 1) {\n            Shopify.queryParams[decodeURIComponent(aKeyValue[0])] =\n              decodeURIComponent(aKeyValue[1]);\n          }\n        }\n      }\n    },\n\n    filterAjaxClick: function (baseLink) {\n      delete Shopify.queryParams.page;\n\n      var newurl = ella.ajaxCreateUrl(baseLink);\n\n      ella.isSidebarAjaxClick = true;\n\n      History.pushState(\n        {\n          param: Shopify.queryParams,\n        },\n        newurl,\n        newurl\n      );\n    },\n\n    ajaxCreateUrl: function (baseLink) {\n      delete Shopify.queryParams.constraint;\n      var newQuery = $.param(Shopify.queryParams).replace(/%2B/g, \"+\");\n\n      if (baseLink) {\n        if (newQuery != \"\") return baseLink + \"?\" + newQuery;\n        else return baseLink;\n      }\n      return location.pathname + \"?\" + newQuery;\n    },\n\n    filterToolbar: function () {\n      this.queryParams();\n      // this.setTextForSortbyFilter();\n      this.setTextForLimitedFilter();\n      this.ajaxFilterSortby();\n      this.ajaxFilterLimit();\n      this.addEventViewModeLayout();\n    },\n\n    setTextForSortbyFilter: function () {\n      var filterSortby = $(\"[data-sortby]\"),\n        labelTab = filterSortby.find(\".label-tab\"),\n        labelText = labelTab.find(\".label-text\"),\n        sortbyLinkActive = labelTab.next().find(\"li.active\"),\n        text = sortbyLinkActive.text();\n\n      labelText.text(text);\n\n      if (Shopify.queryParams.sort_by) {\n        var sortBy = Shopify.queryParams.sort_by,\n          sortByLinkActive = filterSortby.find(\n            'span[data-href=\"' + sortBy + '\"]'\n          ),\n          sortByText = sortByLinkActive.text();\n\n        labelText.text(sortByText);\n        labelTab.next().find(\"li\").removeClass(\"active\");\n        sortByLinkActive.parent().addClass(\"active\");\n      }\n    },\n\n    setTextForLimitedFilter: function () {\n      var filterLimited = $(\"[data-limited-view]\"),\n        labelTab = filterLimited.find(\".label-tab\"),\n        labelText = labelTab.find(\".label-text\"),\n        limitedLinkActive = labelTab.next().find(\"li.active\"),\n        text = limitedLinkActive.text();\n\n      labelText.text(text);\n\n      if (filterLimited.length) {\n        var limited = filterLimited.find(\"li.active span\").data(\"value\"),\n          limitedActive = filterLimited.find(\n            'span[data-value=\"' + limited + '\"]'\n          ),\n          limitedText = limitedActive.text();\n\n        labelText.text(limitedText);\n        labelTab.next().find(\"li\").removeClass(\"active\");\n        limitedActive.parent().addClass(\"active\");\n      }\n    },\n\n    ajaxFilterSortby: function () {\n      var sortbyFilterSlt = \"[data-sortby] li span\",\n        sortbyFilter = $(sortbyFilterSlt);\n\n      body\n        .off(\"click.sortBy\", sortbyFilterSlt)\n        .on(\"click.sortBy\", sortbyFilterSlt, function (e) {\n          e.preventDefault();\n          e.stopPropagation();\n\n          var self = $(this),\n            parent = self.parent();\n\n          if (!parent.hasClass(\"active\")) {\n            Shopify.queryParams.sort_by = $(this).attr(\"data-href\");\n\n            ella.filterAjaxClick();\n\n            var newurl = ella.ajaxCreateUrl();\n\n            ella.doAjaxToolbarGetContent(newurl);\n          }\n\n          sortbyFilter.closest(\".dropdown-menu\").prev().trigger(\"click\");\n        });\n    },\n\n    ajaxFilterLimit: function () {\n      var limitFilterSlt = \"[data-limited-view] li span\",\n        limitFilter = $(limitFilterSlt);\n\n      body\n        .off(\"click.sortBy\", limitFilterSlt)\n        .on(\"click.sortBy\", limitFilterSlt, function (e) {\n          e.preventDefault();\n          e.stopPropagation();\n\n          var self = $(this),\n            parent = self.parent();\n\n          if (!parent.hasClass(\"active\")) {\n            var dataValue = self.data(\"value\"),\n              value = \"\" + dataValue + \"\";\n\n            $(\"[data-limited-view] .label-tab .label-text\").text(value);\n\n            ella.doAjaxLimitGetContent(value);\n          }\n\n          limitFilter.closest(\".dropdown-menu\").prev().trigger(\"click\");\n        });\n    },\n\n    doAjaxLimitGetContent: function (value) {\n      if (ella.isAjaxLoading) return;\n\n      $.ajax({\n        type: \"Post\",\n        url: \"/cart.js\",\n        data: {\n          \"attributes[pagination]\": value,\n        },\n\n        success: function (data) {\n          window.location.reload();\n        },\n\n        error: function (xhr, text) {\n          $(\".ajax-error-message\").text(\n            $.parseJSON(xhr.responseText).description\n          );\n          ella.showModal(\".ajax-error-modal\");\n        },\n        dataType: \"json\",\n      });\n    },\n\n    doAjaxToolbarGetContent: function (newurl) {\n      if (ella.isAjaxLoading) return;\n      $.ajax({\n        type: \"get\",\n        url: newurl,\n\n        beforeSend: function () {\n          ella.showLoading();\n        },\n\n        success: function (data) {\n          ella.ajaxMapData(data);\n          ella.initColorSwatchGrid();\n          ella.setTextForSortbyFilter();\n\n          ella.initSidebarProductSlider();\n          ella.initCountdownNormal();\n          $('[data-toggle=\"tooltip\"]').tooltip();\n          ella.swapHoverVideo();\n        },\n\n        error: function (xhr, text) {\n          $(\".ajax-error-message\").text(\n            $.parseJSON(xhr.responseText).description\n          );\n          ella.showModal(\".ajax-error-modal\");\n        },\n\n        complete: function () {\n          ella.hideLoading();\n        },\n      });\n    },\n\n    filterSidebar: function () {\n      this.queryParams();\n      this.ajaxFilterTags();\n      this.ajaxFilterClearTags();\n      this.ajaxFilterClearAll();\n    },\n\n    ajaxFilterTags: function () {\n      body\n        .off(\"click.filterTags\")\n        .on(\n          \"click.filterTags\",\n          \".sidebar-tags .list-tags a, .refined .selected-tag\",\n          function (e) {\n            e.preventDefault();\n            e.stopPropagation();\n\n            var newTags = [];\n\n            if (Shopify.queryParams.constraint) {\n              newTags = Shopify.queryParams.constraint.split(\"+\");\n            }\n\n            //one selection or multi selection\n            if (\n              !window.enable_sidebar_multiple_choice &&\n              !$(this).prev().is(\":checked\")\n            ) {\n              //remove other selection first\n              var otherTag = $(this)\n                .closest(\".sidebar-tags, .refined-widgets\")\n                .find(\"input:checked\");\n\n              if (otherTag.length) {\n                var tagName = otherTag.val();\n\n                if (tagName) {\n                  var tagPos = newTags.indexOf(tagName);\n\n                  if (tagPos >= 0) {\n                    //remove tag\n                    newTags.splice(tagPos, 1);\n                  }\n                }\n              }\n            }\n\n            var tagName = $(this).prev().val();\n\n            if (tagName) {\n              var tagPos = newTags.indexOf(tagName);\n\n              if (tagPos >= 0) {\n                newTags.splice(tagPos, 1);\n              } else {\n                newTags.push(tagName);\n              }\n            }\n\n            if (newTags.length) {\n              Shopify.queryParams.constraint = newTags.join(\"+\");\n            } else {\n              delete Shopify.queryParams.constraint;\n            }\n\n            var newurl = $(this).data(\"href\");\n\n            ella.filterAjaxClick(newurl);\n\n            ella.doAjaxSidebarGetContent(newurl);\n          }\n        );\n    },\n\n    ajaxFilterClearTags: function () {\n      var sidebarTag = $(\".sidebar-tags\");\n\n      sidebarTag.each(function () {\n        var sidebarTag = $(this);\n\n        if (sidebarTag.find(\"input:checked\").length) {\n          //has active tag\n          sidebarTag\n            .find(\".clear\")\n            .show()\n            .click(function (e) {\n              e.preventDefault();\n              e.stopPropagation();\n\n              var currentTags = [];\n\n              if (Shopify.queryParams.constraint) {\n                currentTags = Shopify.queryParams.constraint.split(\"+\");\n              }\n\n              sidebarTag.find(\"input:checked\").each(function () {\n                var selectedTag = $(this);\n                var tagName = selectedTag.val();\n\n                if (tagName) {\n                  var tagPos = currentTags.indexOf(tagName);\n                  if (tagPos >= 0) {\n                    //remove tag\n                    currentTags.splice(tagPos, 1);\n                  }\n                }\n              });\n\n              if (currentTags.length) {\n                Shopify.queryParams.constraint = currentTags.join(\"+\");\n              } else {\n                delete Shopify.queryParams.constraint;\n              }\n\n              var newurl = $(this).data(\"href\");\n\n              ella.filterAjaxClick(newurl);\n\n              ella.doAjaxSidebarGetContent(newurl);\n            });\n        }\n      });\n    },\n\n    ajaxFilterClearAll: function () {\n      var clearAllSlt = \".refined-widgets a.clear-all\";\n      var clearAllElm = $(clearAllSlt);\n\n      body\n        .off(\"click.clearAllTags\", clearAllSlt)\n        .on(\"click.clearAllTags\", clearAllSlt, function (e) {\n          e.preventDefault();\n          e.stopPropagation();\n\n          delete Shopify.queryParams.constraint;\n\n          var newurl = $(this).data(\"href\");\n\n          ella.filterAjaxClick(newurl);\n\n          ella.doAjaxSidebarGetContent(newurl);\n        });\n    },\n\n    doAjaxSidebarGetContent: function (newurl) {\n      if (ella.isAjaxLoading) return;\n\n      $.ajax({\n        type: \"get\",\n        url: newurl,\n\n        beforeSend: function () {\n          ella.showLoading();\n          $(\"#CollectionProductGrid\")\n            .find(\".product-collection\")\n            .addClass(\"loading\");\n        },\n\n        success: function (data) {\n          ella.ajaxMapData(data);\n          ella.initColorSwatchGrid();\n          ella.ajaxFilterClearTags();\n          ella.initMasonry();\n\n          ella.initSidebarProductSlider();\n          ella.initCountdownNormal();\n          $('[data-toggle=\"tooltip\"]').tooltip();\n          ella.swapHoverVideo();\n        },\n\n        error: function (xhr, text) {\n          $(\".ajax-error-message\").text(\n            $.parseJSON(xhr.responseText).description\n          );\n          ella.showModal(\".ajax-error-modal\");\n        },\n\n        complete: function () {\n          ella.hideLoading();\n        },\n      });\n    },\n\n    ajaxMapData: function (data) {\n      var curCollTemplate = $(\".collection-template\"),\n        curBreadcrumb = curCollTemplate.find(\".breadcrumb\"),\n        curBreadcrumb2 = curCollTemplate.find(\".column-left .breadcrumb\"),\n        curSidebar = curCollTemplate.find(\".sidebar\"),\n        curCollHeader = curCollTemplate.find(\".collection-header\"),\n        curProColl = curCollTemplate.find(\".product-collection\"),\n        curPadding = curCollTemplate.find(\".padding\"),\n        curToolbar = curCollTemplate.find(\".append--toolbar\"),\n        curRefined = curCollTemplate.find(\".refined-widgets--surfup\"),\n        newCollTemplate = $(data).find(\".collection-template\"),\n        newBreadcrumb = newCollTemplate.find(\".breadcrumb\"),\n        newBreadcrumb2 = newCollTemplate.find(\".column-left .breadcrumb\"),\n        newSidebar = newCollTemplate.find(\".sidebar\"),\n        newCollHeader = newCollTemplate.find(\".collection-header\"),\n        newProColl = newCollTemplate.find(\".product-collection\"),\n        newPadding = newCollTemplate.find(\".padding\"),\n        newRefined = newCollTemplate.find(\".refined-widgets--surfup\");\n\n      if (window.category_style == \"supermarket\") {\n        curBreadcrumb2.replaceWith(newBreadcrumb2);\n      } else {\n        curBreadcrumb.replaceWith(newBreadcrumb);\n      }\n\n      curSidebar.replaceWith(newSidebar);\n      curCollHeader.replaceWith(newCollHeader);\n      curProColl.replaceWith(newProColl);\n      curRefined.replaceWith(newRefined);\n\n      if (curPadding.length > 0) {\n        curPadding.replaceWith(newPadding);\n      } else {\n        if (curCollTemplate.find(\".col-main\").length) {\n          curCollTemplate.find(\".col-main\").append(newPadding);\n        } else {\n          curCollTemplate.find(\".col-no-sidebar\").append(newPadding);\n        }\n      }\n\n      if (curToolbar.length > 0 && curToolbar.html() != \"\") {\n        $(\".sidebar .append--toolbar\").replaceWith(curToolbar);\n      }\n\n      ella.translateBlock(\".collection-template\");\n\n      ella.hide_filter();\n\n      ella.initWishListIcons();\n\n      ella.subCollectionSlider();\n\n      if ($(\"[data-view-as]\").length) {\n        ella.viewModeLayout();\n      }\n\n      if (ella.checkNeedToConvertCurrency()) {\n        Currency.convertAll(\n          window.shop_currency,\n          $(\"#currencies .active\").attr(\"data-currency\"),\n          \"span.money\",\n          \"money_format\"\n        );\n      }\n\n      if (\n        $(\".shopify-product-reviews-badge\").length &&\n        $(\".spr-badge\").length\n      ) {\n        return (\n          window.SPR.registerCallbacks(),\n          window.SPR.initRatingHandler(),\n          window.SPR.initDomEls(),\n          window.SPR.loadProducts(),\n          window.SPR.loadBadges()\n        );\n      }\n    },\n\n    initToggleWidgetTitleSidebarFilter: function () {\n      var widgetTitleSlt = \"[data-has-collapse] .widget-title\";\n      var sidebarLabelDesktop = \".sidebar-label-desktop\";\n      var viewMore = \"[data-list-filter]\";\n\n      body\n        .off(\"click.toggleWidgetContent\")\n        .on(\"click.toggleWidgetContent\", widgetTitleSlt, function () {\n          $(this).toggleClass(\"open\");\n          $(this).next().slideToggle();\n        });\n\n      var widgetTitleSltCollNoSidebar =\n        \"[data-has-collapse-no-sidebar] .widget-title\";\n      var wrapper = $(\".toolbar\");\n      var else_wrapper = $(\".countdown-box\");\n\n      if (win.innerWidth() < 1200) {\n        body\n          .off(\"click.toggleWidgetContent2\")\n          .on(\n            \"click.toggleWidgetContent2\",\n            widgetTitleSltCollNoSidebar,\n            function () {\n              $(this).toggleClass(\"open\");\n              $(this).next().slideToggle();\n            }\n          );\n        if (win.innerWidth() < 992) {\n          $(\".filters-toolbar__sortby\").insertAfter(\n            \".column-left .sidebar-label\"\n          );\n        } else {\n          $(\".filters-toolbar__sortby\").appendTo(\".toolbar .column-right\");\n        }\n\n        if (wrapper.length > 0 && else_wrapper.length < 0) {\n          var h_wrapper = wrapper.outerHeight() + 30;\n          var top = wrapper.offset().top;\n          $(window).scroll(function () {\n            var h = $(\".sticky-wrapper.is-sticky\").outerHeight();\n            if ($(this).scrollTop() > top) {\n              $('[data-section-type=\"collection-template\"]').css(\n                \"padding-top\",\n                h_wrapper\n              );\n              wrapper.addClass(\"toolbar-fix\");\n              wrapper.css(\"top\", h);\n            } else {\n              $('[data-section-type=\"collection-template\"]').css(\n                \"padding-top\",\n                0\n              );\n              wrapper.removeClass(\"toolbar-fix\");\n              wrapper.css(\"top\", 0);\n            }\n          });\n        }\n      } else {\n        $(\".filters-toolbar__sortby\").appendTo(\".toolbar .column-right\");\n        $('[data-section-type=\"collection-template\"]').css(\"padding-top\", 0);\n        wrapper.removeClass(\"toolbar-fix\");\n        wrapper.css(\"top\", 0);\n        if ($(\".collection-template-skin-1\").length) {\n          $(\".toolbar\").appendTo(\".appendTo-toolbar .container\");\n          body\n            .off(\"click.toggleSidebar\")\n            .on(\"click.toggleSidebar\", sidebarLabelDesktop, function () {\n              $(this)\n                .parents(\".halo-collection-content\")\n                .toggleClass(\"remove-sidebar\");\n            });\n        }\n        if (\n          $(\".toolbar\").length &&\n          !$(\".toolbar\").hasClass(\"different-toolbar\")\n        ) {\n          $(\".toolbar\").appendTo(\".append--toolbar\");\n        }\n      }\n\n      win.resize(function () {\n        if (win.innerWidth() < 1200) {\n          body\n            .off(\"click.toggleWidgetContent2\")\n            .on(\n              \"click.toggleWidgetContent2\",\n              widgetTitleSltCollNoSidebar,\n              function () {\n                $(this).toggleClass(\"open\");\n                $(this).next().slideToggle();\n              }\n            );\n          if (win.innerWidth() < 992) {\n            $(\".filters-toolbar__sortby\").insertAfter(\n              \".column-left .sidebar-label\"\n            );\n          } else {\n            $(\".filters-toolbar__sortby\").appendTo(\".toolbar .column-right\");\n          }\n        } else {\n          $(\".filters-toolbar__sortby\").appendTo(\".toolbar .column-right\");\n          $('[data-section-type=\"collection-template\"]').css(\"padding-top\", 0);\n          wrapper.removeClass(\"toolbar-fix\");\n          wrapper.css(\"top\", 0);\n          $(window).scroll(function () {\n            wrapper.removeClass(\"toolbar-fix\");\n          });\n          if ($(\".collection-template-skin-1\").length) {\n            $(\".toolbar\").appendTo(\".appendTo-toolbar .container\");\n            body\n              .off(\"click.toggleSidebar\")\n              .on(\"click.toggleSidebar\", sidebarLabelDesktop, function () {\n                $(this)\n                  .parents(\".halo-collection-content\")\n                  .toggleClass(\"remove-sidebar\");\n              });\n          }\n          if (\n            $(\".toolbar\").length &&\n            !$(\".toolbar\").hasClass(\"different-toolbar\")\n          ) {\n            $(\".toolbar\").appendTo(\".append--toolbar\");\n          }\n        }\n      });\n\n      body\n        .off(\"click.viewMoreFilter\")\n        .on(\"click.viewMoreFilter\", viewMore, function () {\n          var last = $(this).parents(\".list-tags\").find(\".last\");\n          if ($(this).parents(\".list-tags\").hasClass(\"show-all\")) {\n            last.hide();\n            $(this).text(window.inventory_text.view_more);\n          } else {\n            last.show();\n            $(this).text(window.inventory_text.view_less);\n          }\n          $(this).parents(\".list-tags\").toggleClass(\"show-all\");\n        });\n    },\n\n    initInfiniteScrolling: function () {\n      var infiniteScrolling = $(\".infinite-scrolling\");\n      var infiniteScrollingLinkSlt = \".infinite-scrolling a\";\n\n      if (infiniteScrolling.length) {\n        body\n          .off(\"click.initInfiniteScrolling\", infiniteScrollingLinkSlt)\n          .on(\n            \"click.initInfiniteScrolling\",\n            infiniteScrollingLinkSlt,\n            function (e) {\n              e.preventDefault();\n              e.stopPropagation();\n\n              if (!$(this).hasClass(\"disabled\")) {\n                var url = $(this).data(\"href\");\n\n                ella.doAjaxInfiniteScrollingGetContent(url);\n              }\n            }\n          );\n      }\n\n      if (window.collection_pagination_type == \"scroll\") {\n        $(window).scroll(function () {\n          if (ella.isAjaxLoading) return;\n\n          var collectionTplElm = $('[data-section-type=\"collection-template\"]');\n\n          if (!collectionTplElm.length) {\n            collectionTplElm = $(\"[data-search-page]\");\n          }\n\n          var collectionTop = collectionTplElm.offset().top;\n          var collectionHeight = collectionTplElm.outerHeight();\n          var posTop = collectionTop + collectionHeight - $(window).height();\n\n          if (\n            $(this).scrollTop() > posTop &&\n            $(this).scrollTop() < posTop + 200\n          ) {\n            var button = $(infiniteScrollingLinkSlt);\n\n            if (button.length && !button.hasClass(\"disabled\")) {\n              var url = button.data(\"href\");\n              ella.doAjaxInfiniteScrollingGetContent(url);\n            }\n          }\n        });\n      }\n    },\n\n    doAjaxInfiniteScrollingGetContent: function (url) {\n      if (ella.isAjaxLoading) return; \n      console.log(5404,url)\n      $.ajax({\n        type: \"GET\",\n        url: url,\n\n        beforeSend: function () {\n          ella.isAjaxLoading = true;\n          ella.showLoading();\n        },\n\n        success: function (data) {\n          ella.ajaxInfiniteScrollingMapData(data);\n          ella.initColorSwatchGrid();\n          if ($(\"[data-view-as]\").length) {\n            ella.viewModeLayout();\n          }\n          ella.initCountdownNormal();\n          ella.stickySidebar();\n          $('[data-toggle=\"tooltip\"]').tooltip();\n          ella.swapHoverVideo();\n        },\n\n        error: function (xhr, text) {\n          $(\".ajax-error-message\").text(\n            $.parseJSON(xhr.responseText).description\n          );\n          ella.showModal(\".ajax-error-modal\");\n        },\n\n        complete: function () {\n          ella.isAjaxLoading = false;\n          ella.hideLoading();\n          var number_count = 0;\n          var number_label_new = $(\n            \".product-collection .grid-item .product-label\"\n          ).data(\"label-new-number\");\n          $(\".product-collection .grid-item\").each(function (index) {\n            if ($(this).find(\".new-label\").length) {\n              number_count++;\n            }\n            if (number_count > number_label_new) {\n              $(this).find(\".new-label\").hide();\n              $(this).find(\".new-label+br\").hide();\n            }\n          });\n        },\n      });\n    },\n\n    ajaxInfiniteScrollingMapData: function (data) {\n      var collectionTemplate = $(\".collection-template\"),\n        currentProductColl = collectionTemplate.find(\".product-collection\"),\n        currentProductCount = collectionTemplate.find(\".padding\"),\n        newCollectionTemplate = $(data).find(\".collection-template\"),\n        newProductColl = newCollectionTemplate.find(\".product-collection\"),\n        newProductCount = newCollectionTemplate.find(\".padding\"),\n        newProductItem = newProductColl\n          .children(\".grid-item\")\n          .not(\".banner-img\");\n\n      var showMoreButton = $(\".infinite-scrolling a\");\n      currentProductCount.replaceWith(newProductCount);\n\n      if (newProductColl.length) {\n        currentProductColl.append(newProductItem);\n\n        if ($(\".collection-template .product-collection[data-layout]\").length) {\n          ella.ellaTimeout = setTimeout(function () {\n            currentProductColl\n              .isotope(\"appended\", newProductItem)\n              .isotope(\"layout\");\n          }, 700);\n        }\n\n        ella.translateBlock(\".product-collection\");\n\n        if (ella.checkNeedToConvertCurrency()) {\n          Currency.convertAll(\n            window.shop_currency,\n            $(\"#currencies .active\").attr(\"data-currency\"),\n            \"span.money\",\n            \"money_format\"\n          );\n        }\n\n        if (\n          $(\".shopify-product-reviews-badge\").length &&\n          $(\".spr-badge\").length\n        ) {\n          return (\n            window.SPR.registerCallbacks(),\n            window.SPR.initRatingHandler(),\n            window.SPR.initDomEls(),\n            window.SPR.loadProducts(),\n            window.SPR.loadBadges()\n          );\n        }\n      }\n    },\n\n    addEventViewModeLayout: function () {\n      if (!$(\"#shopify-section-collection-template-suppermarket\").length) {\n        ella.setActiveViewModeMediaQuery();\n      }\n\n      body.on(\"click\", \".view-mode .icon-mode\", function (e) {\n        e.preventDefault();\n        var self = $(this),\n          col = self.data(\"col\"),\n          parents = self.closest(\"[data-view-as]\");\n\n        if (!self.hasClass(\"active\")) {\n          parents.find(\".icon-mode\").removeClass(\"active\");\n          self.addClass(\"active\");\n\n          ella.viewModeLayout();\n          ella.initMasonry();\n\n          if (window.innerWidth > 767) {\n            $(\".product-collection\")\n              .find(\"img\")\n              .removeClass(\"lazyautosizes ls-is-cached lazyloaded\")\n              .addClass(\"lazyload\");\n          }\n        }\n      });\n    },\n\n    viewModeLayout: function () {\n      var viewMode = $(\"[data-view-as]\"),\n        viewModeActive = viewMode.find(\".icon-mode.active\"),\n        col = viewModeActive.data(\"col\"),\n        products = $(\".collection-template .product-collection\"),\n        gridItem = products.find(\".grid-item\"),\n        strClass = \"col-12 col-6 col-md-4 col-lg-3 col4 col5\",\n        gridClass = \"grid-2 grid-3 grid-4 grid-5 products-grid products-list\";\n\n      switch (col) {\n        case 1:\n          if (gridItem.hasClass(\"grid-item-mansory\")) {\n            products.removeClass(gridClass).addClass(\"products-list\");\n          } else {\n            products.removeClass(\"products-grid\").addClass(\"products-list\");\n          }\n\n          gridItem.removeClass(strClass).addClass(\"col-12\");\n          break;\n\n        default:\n          switch (col) {\n            case 2:\n              if (gridItem.hasClass(\"grid-item-mansory\")) {\n                products.removeClass(gridClass).addClass(\"products-grid\");\n              } else {\n                products.removeClass(\"products-list\").addClass(\"products-grid\");\n              }\n              gridItem.removeClass(strClass).addClass(\"col-6\");\n              break;\n\n            case 3:\n              if (gridItem.hasClass(\"grid-item-mansory\")) {\n                products.removeClass(gridClass).addClass(\"products-grid\");\n              } else {\n                products.removeClass(\"products-list\").addClass(\"products-grid\");\n              }\n              gridItem.removeClass(strClass).addClass(\"col-6 col-md-4\");\n              break;\n\n            case 4:\n              if (gridItem.hasClass(\"grid-item-mansory\")) {\n                products.removeClass(gridClass).addClass(\"products-grid\");\n              } else {\n                products.removeClass(\"products-list\").addClass(\"products-grid\");\n              }\n              gridItem\n                .removeClass(strClass)\n                .addClass(\"col-6 col-md-4 col-lg-3 col4\");\n              break;\n\n            case 5:\n              if (gridItem.hasClass(\"grid-item-mansory\")) {\n                products.removeClass(gridClass).addClass(\"products-grid\");\n              } else {\n                products.removeClass(\"products-list\").addClass(\"products-grid\");\n              }\n              gridItem\n                .removeClass(strClass)\n                .addClass(\"col-6 col-md-4 col-lg-3 col5\");\n              break;\n          }\n      }\n\n      ella.initMasonry();\n    },\n\n    setActiveViewModeMediaQuery: function () {\n      var viewMode = $(\"[data-view-as]\"),\n        viewModeActive = viewMode.find(\".icon-mode.active\"),\n        col = viewModeActive.data(\"col\"),\n        windowWidth = window.innerWidth;\n\n      if (windowWidth < 768) {\n        if (col === 3 || col == 4 || col == 5) {\n          viewModeActive.removeClass(\"active\");\n          $('[data-col=\"2\"]').addClass(\"active\");\n        }\n      } else if (windowWidth < 992 && windowWidth >= 768) {\n        if (col == 4 || col == 5) {\n          viewModeActive.removeClass(\"active\");\n          $('[data-col=\"3\"]').addClass(\"active\");\n        }\n      } else if (windowWidth < 1200 && windowWidth >= 992) {\n        if (col == 5) {\n          viewModeActive.removeClass(\"active\");\n          $('[data-col=\"4\"]').addClass(\"active\");\n        }\n      }\n\n      if (viewMode.length) {\n        ella.viewModeLayout();\n      }\n    },\n\n    initPaginationPage: function () {\n      var paginationSlt = \".pagination-page a\";\n\n      body.off(\"click\", paginationSlt).on(\"click\", paginationSlt, function (e) {\n        if (Shopify.queryParams) {\n          e.preventDefault();\n\n          var page = $(this)\n            .attr(\"href\")\n            .match(/page=\\d+/g);\n\n          if (page) {\n            Shopify.queryParams.page = parseInt(page[0].match(/\\d+/g));\n\n            if (Shopify.queryParams.page) {\n              var newurl = ella.ajaxCreateUrl();\n\n              ella.isSidebarAjaxClick = true;\n\n              History.pushState(\n                {\n                  param: Shopify.queryParams,\n                },\n                newurl,\n                newurl\n              );\n\n              ella.doAjaxToolbarGetContent(newurl);\n\n              var elm = $('[data-section-type=\"collection-template\"]');\n\n              if (!elm.length) {\n                elm = $(\"[data-search-page]\");\n              }\n\n              var top = elm.offset().top;\n\n              $(\"body,html\").animate(\n                {\n                  scrollTop: top,\n                },\n                600\n              );\n            }\n          }\n        }\n      });\n    },\n\n    changeSwatchEditCart: function () {\n      $(\"[data-template-cart-edit] .swatch :radio\").on(\"change\", function (e) {\n        var _self = $(this);\n        var productItem = $(this).parents(\".product-edit\");\n        var handle = productItem.data(\"product-handle\");\n        var src_img = $(this).data(\"image\");\n        var productId = productItem.data(\"cart-edit-id\");\n        var variantList = window.productVariants[productId];\n        var optionIdx = _self\n          .closest(\"[data-option-index]\")\n          .data(\"option-index\");\n        var swatches = productItem.find(\".swatch-element\");\n        var thisVal = _self.val();\n        var selectedVariant;\n        var productInput = productItem.find(\"[name=id]\");\n        var selectedSwatchOpt1 = productItem\n          .find('[data-option-index=\"0\"]')\n          .find(\"input:checked\")\n          .val();\n        var selectedSwatchOpt2 = productItem\n          .find('[data-option-index=\"1\"]')\n          .find(\"input:checked\")\n          .val();\n        var selectedSwatchOpt3 = productItem\n          .find('[data-option-index=\"2\"]')\n          .find(\"input:checked\")\n          .val();\n        swatches.removeClass(\"soldout\");\n        swatches.find(\":radio\").prop(\"disabled\", false);\n        switch (optionIdx) {\n          case 0:\n            var availableVariants = variantList.find(function (variant) {\n              return (\n                variant.option1 == thisVal &&\n                variant.option2 == selectedSwatchOpt2 &&\n                variant.available\n              );\n            });\n            // console.log(selectedSwatchOpt2);\n\n            if (availableVariants != undefined) {\n              selectedVariant = availableVariants;\n            } else {\n              // variant was sold out, so auto select other available variant\n              var altAvailableVariants = variantList.find(function (variant) {\n                return variant.option1 == thisVal && variant.available;\n              });\n              selectedVariant = altAvailableVariants;\n            }\n            break;\n          case 1:\n            var availableVariants = variantList.find(function (variant) {\n              return (\n                variant.option1 == selectedSwatchOpt1 &&\n                variant.option2 == thisVal &&\n                variant.available\n              );\n            });\n            if (availableVariants != undefined) {\n              selectedVariant = availableVariants;\n            }\n            break;\n          case 2:\n            var availableVariants = variantList.find(function (variant) {\n              return (\n                variant.option1 == selectedSwatchOpt1 &&\n                variant.option2 == selectedSwatchOpt2 &&\n                variant.option3 == thisVal &&\n                variant.available\n              );\n            });\n            if (availableVariants != undefined) {\n              selectedVariant = availableVariants;\n            } else {\n              // Something went wrong, if correct, never meet this\n              console.log(\n                \"Bundle Error: variant was soldout, on option selection #3\"\n              );\n            }\n            break;\n        }\n        productInput.val(selectedVariant.id);\n\n        productItem.find(\".option\").text(selectedVariant.public_title);\n\n        productItem\n          .find(\".price\")\n          .html(\n            Shopify.formatMoney(selectedVariant.price, window.money_format)\n          );\n\n        if (selectedVariant.compare_at_price > selectedVariant.price) {\n          productItem.find(\".prices\").addClass(\"special-price\");\n          productItem\n            .find(\".compare-price\")\n            .html(\n              Shopify.formatMoney(\n                selectedVariant.compare_at_price,\n                window.money_format\n              )\n            )\n            .show();\n        } else {\n          productItem.find(\".compare-price\").hide();\n          productItem.find(\".prices\").removeClass(\"special-price\");\n        }\n\n        if (ella.checkNeedToConvertCurrency()) {\n          Currency.convertAll(\n            window.shop_currency,\n            $(\"#currencies .active\").attr(\"data-currency\"),\n            \"span.money\",\n            \"money_format\"\n          );\n        }\n\n        ella.disableSoldoutSwatchEdit(productItem);\n\n        if (selectedVariant.featured_image) {\n          productItem\n            .find(\"#product-featured-image\")\n            .attr(\"src\", selectedVariant.featured_image.src);\n        }\n        var value = $(this).val();\n        $(this).parents(\".swatch\").find(\"[data-header-option]\").text(value);\n\n        $.ajax({\n          url: \"/products/\" + handle + \"?view=cart_edit\",\n          success: function (data) {\n            var json = $(data).find(\".get_script_content\").data(\"array_json\");\n            var arr = json.filter(function (cur) {\n              return parseInt(cur.id) === selectedVariant.id;\n            });\n            productItem\n              .find('[name=\"quantity\"]')\n              .attr(\"data-line\", arr[0].value);\n          },\n        });\n        $(\".error-message-input\").text(\"\");\n      });\n\n      $(\"[data-template-cart-edit] .single-option-selector\").on(\n        \"change\",\n        function () {\n          var _self = $(this);\n          var productItem = $(this).parents(\".product-edit\");\n          var handle = productItem.data(\"product-handle\");\n          var productId = productItem.data(\"cart-edit-id\");\n          var variantList = window.productVariants[productId];\n          var optionIdx = _self.data(\"option\");\n          var thisVal = _self.val();\n          var selectedVariant;\n          var productInput = productItem.find(\"[name=id]\");\n          var selectedSwatchOpt1 = productItem\n            .find('[data-option=\"option1\"]')\n            .val();\n          var selectedSwatchOpt2 = productItem\n            .find('[data-option=\"option2\"]')\n            .val();\n          var selectedSwatchOpt3 = productItem\n            .find('[data-option=\"option3\"]')\n            .val();\n          switch (optionIdx) {\n            case \"option1\":\n              var availableVariants = variantList.find(function (variant) {\n                return (\n                  variant.option1 == thisVal &&\n                  variant.option2 == selectedSwatchOpt2 &&\n                  variant.available\n                );\n              });\n              if (availableVariants != undefined) {\n                selectedVariant = availableVariants;\n              } else {\n                // variant was sold out, so auto select other available variant\n                var altAvailableVariants = variantList.find(function (variant) {\n                  return variant.option1 == thisVal && variant.available;\n                });\n                selectedVariant = altAvailableVariants;\n              }\n              break;\n            case \"option2\":\n              var availableVariants = variantList.find(function (variant) {\n                return (\n                  variant.option1 == selectedSwatchOpt1 &&\n                  variant.option2 == thisVal &&\n                  variant.available\n                );\n              });\n              if (availableVariants != undefined) {\n                selectedVariant = availableVariants;\n              }\n              break;\n            case \"option3\":\n              var availableVariants = variantList.find(function (variant) {\n                return (\n                  variant.option1 == selectedSwatchOpt1 &&\n                  variant.option2 == selectedSwatchOpt2 &&\n                  variant.option3 == thisVal &&\n                  variant.available\n                );\n              });\n              if (availableVariants != undefined) {\n                selectedVariant = availableVariants;\n              }\n              break;\n          }\n          productInput.val(selectedVariant.id);\n\n          productItem\n            .find(\".price\")\n            .html(\n              Shopify.formatMoney(selectedVariant.price, window.money_format)\n            );\n\n          if (selectedVariant.compare_at_price > selectedVariant.price) {\n            productItem.find(\".prices\").addClass(\"special-price\");\n            productItem\n              .find(\".compare-price\")\n              .html(\n                Shopify.formatMoney(\n                  selectedVariant.compare_at_price,\n                  window.money_format\n                )\n              )\n              .show();\n          } else {\n            productItem.find(\".compare-price\").hide();\n            productItem.find(\".prices\").removeClass(\"special-price\");\n          }\n\n          if (ella.checkNeedToConvertCurrency()) {\n            Currency.convertAll(\n              window.shop_currency,\n              $(\"#currencies .active\").attr(\"data-currency\"),\n              \"span.money\",\n              \"money_format\"\n            );\n          }\n\n          productItem.find(\".option\").text(selectedVariant.public_title);\n\n          if (selectedVariant.featured_image) {\n            productItem\n              .find(\"#product-featured-image\")\n              .attr(\"src\", selectedVariant.featured_image.src);\n          }\n\n          $.ajax({\n            url: \"/products/\" + handle + \"?view=cart_edit\",\n            success: function (data) {\n              var json = $(data).find(\".get_script_content\").data(\"array_json\");\n              var arr = json.filter(function (cur) {\n                return parseInt(cur.id) === selectedVariant.id;\n              });\n              productItem\n                .find('[name=\"quantity\"]')\n                .attr(\"data-line\", arr[0].value);\n            },\n          });\n          $(\".error-message-input\").text(\"\");\n        }\n      );\n    },\n\n    editCart: function () {\n      if (ella.isAjaxLoading) return;\n      body\n        .off(\"click.editcart\")\n        .on(\"click.editcart\", \"[data-cart-edit]\", function (e) {\n          var url = $(this).data(\"url\"),\n            idVariant = $(this).data(\"id\"),\n            quantity = $(this).data(\"quantity\");\n          $.ajax({\n            type: \"get\",\n            url: url,\n            cache: false,\n            dataType: \"html\",\n            beforeSend: function () {\n              ella.showLoading();\n              html.css({\n                overflow: \"hidden\",\n              });\n            },\n            success: function (data) {\n              var cartEditTemplate = $(\"[data-cart-edit-modal]\"),\n                modalContent = cartEditTemplate.find(\".halo-modal-body\");\n              modalContent.html(data);\n              $(\"#product-edit\").find('input[name=\"quantity\"]').val(quantity);\n              setTimeout(function () {\n                ella.translateBlock(\"[data-template-cart-edit]\");\n                ella.updateCartEdit(idVariant);\n                ella.addMoreCart();\n                ella.closeSuccessModal();\n                ella.changeSwatchEditCart();\n                ella.disableSoldoutSwatchEdit($(\"#product-edit\"));\n                let edit_card_list = $(\".product-edit\");\n                ella.initNumberInput(edit_card_list);\n              }, 500);\n              $(\".product-edit .swatch\").each(function () {\n                var value = $(this).find(\"input:checked\").val();\n                $(this).find(\"[data-header-option]\").text(value);\n              });\n              ella.hideLoading();\n              cartEditTemplate.fadeIn(600);\n            },\n            error: function (xhr, text) {\n              ella.hideLoading();\n            },\n          });\n        });\n    },\n\n    addMoreCart: function () {\n      var addMore = $(\"[data-addmore]\");\n      var removeItem = \"[data-remove-cart]\";\n      $(addMore)\n        .off(\"click\")\n        .on(\"click\", function (e) {\n          e.preventDefault();\n          e.stopPropagation();\n          $(\".error-message-input\").text(\"\");\n          var first = $(\".product-edit:eq(1)\").clone();\n          var length = $(\".product-edit\").length;\n\n          first[0].id = \"product-edit-\" + length;\n\n          $(first)\n            .find(\".swatch-element\")\n            .each(function () {\n              var option_1 = $(this).find('[name=\"option-0\"]').attr(\"id\"),\n                option_2 = $(this).find('[name=\"option-1\"]').attr(\"id\"),\n                option_3 = $(this).find('[name=\"option-2\"]').attr(\"id\");\n              $(this)\n                .find('[name=\"option-0\"]')\n                .attr(\"name\", \"list-\" + length + \"-option-0\")\n                .attr(\"id\", \"list-\" + length + \"-\" + option_1);\n              $(this)\n                .find('[name=\"option-1\"]')\n                .attr(\"name\", \"list-\" + length + \"-option-1\")\n                .attr(\"id\", \"list-\" + length + \"-\" + option_2);\n              $(this)\n                .find('[name=\"option-2\"]')\n                .attr(\"name\", \"list-\" + length + \"-option-2\")\n                .attr(\"id\", \"list-\" + length + \"-\" + option_3);\n\n              $(this)\n                .find('[data-label=\"swatch-edit-cart-0\"]')\n                .attr(\"for\", \"list-\" + length + \"-\" + option_1);\n              $(this)\n                .find('[data-label=\"swatch-edit-cart-1\"]')\n                .attr(\"for\", \"list-\" + length + \"-\" + option_2);\n              $(this)\n                .find('[data-label=\"swatch-edit-cart-2\"]')\n                .attr(\"for\", \"list-\" + length + \"-\" + option_3);\n            });\n\n          $(first).insertBefore(\n            \"[data-template-cart-edit] form .cart-meta--action\"\n          );\n\n          $(\"#product-edit-\" + length)\n            .find('input[name=\"quantity\"]')\n            .val(1);\n\n          $(\"#product-edit-\" + length + \" .swatch\").each(function () {\n            var value = $(this).find(\"input:checked\").val();\n            $(this).find(\"[data-header-option]\").text(value);\n          });\n\n          let edit_card_list = $(\".product-edit\");\n          ella.initNumberInput(edit_card_list);\n          ella.changeSwatchEditCart();\n          if (window.use_color_swatch == false) {\n            Shopify.linkOptionSelectors(\n              window._json,\n              \"#product-edit-\" + length,\n              true\n            );\n          }\n        });\n      body\n        .off(\"click.removeItemCart\", removeItem)\n        .on(\"click.removeItemCart\", removeItem, function (e) {\n          $(this).parents(\".product-edit\").remove();\n        });\n    },\n\n    updateCartEdit: function (idVariant) {\n      var btnAddToCartSlt = $(\"[data-update-cart-edit]\");\n      $(btnAddToCartSlt)\n        .off(\"click\")\n        .on(\"click\", function (e) {\n          e.preventDefault();\n          e.stopPropagation();\n\n          var self = $(this);\n          if (self.attr(\"disabled\") !== \"disabled\") {\n            var sectionsProduct = self.closest(\"[data-template-cart-edit]\");\n\n            var form = sectionsProduct.find(\"form\"),\n              groupedProduct = form.find(\".product-edit\");\n\n            var ajax_calls = [],\n              ajax_caller = function (data) {\n                return $.ajax(data);\n              };\n            var check = false;\n            groupedProduct.not(\".first\").each(function () {\n              var variantId = $(this).find('[name=\"id\"]').val(),\n                quantity = parseInt(\n                  $(this).find('input[name=\"quantity\"]').val()\n                ),\n                line = parseInt(\n                  $(this).find('input[name=\"quantity\"]').data(\"line\")\n                );\n\n              if (quantity > line && line > 0) {\n                check = true;\n                $(this)\n                  .find(\".error-message-input\")\n                  .html(\n                    '<i class=\"fa fa-exclamation-circle\"></i>' +\n                      window.inventory_text.warning_quantity +\n                      \": \" +\n                      line\n                  );\n              } else {\n                $(this).find(\".error-message-input\").text(\"\");\n              }\n            });\n\n            if (check == false) {\n              groupedProduct.each(function () {\n                var variantId = $(this).find('[name=\"id\"]').val(),\n                  quantity = parseInt(\n                    $(this).find('input[name=\"quantity\"]').val()\n                  ),\n                  line = parseInt(\n                    $(this).find('input[name=\"quantity\"]').data(\"line\")\n                  );\n\n                var url = \"\";\n                if (quantity < 1) {\n                  url = window.router + \"/cart/change.js\";\n                } else {\n                  url = window.router + \"/cart/add.js\";\n                }\n                if (line < quantity && line > 0) {\n                  quantity = line;\n                }\n                ajax_calls.push(\n                  ajax_caller({\n                    type: \"post\",\n                    url: url,\n                    data: \"quantity=\" + quantity + \"&id=\" + variantId,\n                    dataType: \"json\",\n                    async: false,\n                    error: function (xhr, text) {\n                      $(\".ajax-error-message\").text(\n                        $.parseJSON(xhr.responseText).description\n                      );\n                      ella.showModal(\".ajax-error-modal\");\n                    },\n                  })\n                );\n              });\n              if (ajax_calls.length) {\n                $.when.apply(this, ajax_calls).done(function (e) {\n                  ella.updateDropdownCart();\n                  if (body.hasClass(\"template-cart\")) {\n                    // window.location.reload();\n                    ella.loadAjaxCart();\n                    $(\"[data-cart-edit-modal] .close-modal\").trigger(\"click\");\n                  } else {\n                    $(\"[data-cart-edit-modal] .close-modal\").trigger(\"click\");\n                  }\n                });\n              }\n              ella.getPopupShoppingCart(false, undefined);\n            }\n          }\n        });\n    },\n\n    disableSoldoutSwatchEdit: function (productItem) {\n      var productId = productItem.data(\"cart-edit-id\");\n      var variantList = window.productVariants[productId];\n      var options = productItem.find(\"[data-option-index]\");\n      var selectedSwatchOpt1 = productItem\n        .find('[data-option-index=\"0\"]')\n        .find(\"input:checked\")\n        .val();\n      var selectedSwatchOpt2 = productItem\n        .find('[data-option-index=\"1\"]')\n        .find(\"input:checked\")\n        .val();\n      var selectedSwatchOpt3 = productItem\n        .find('[data-option-index=\"2\"]')\n        .find(\"input:checked\")\n        .val();\n\n      options.each(function () {\n        var optionIndex = $(this).data(\"option-index\");\n        var swatch = $(this).find(\".swatch-element\");\n\n        switch (optionIndex) {\n          case 0:\n            // loop through all swatchs in option 1 and filter sold out swatch\n            swatch.each(function () {\n              var swatchVal = $(this).data(\"value\");\n              var opt1Soldout = variantList.find(function (variant) {\n                return variant.option1 == swatchVal && variant.available;\n              });\n              if (opt1Soldout == undefined) {\n                $(this).addClass(\"soldout\");\n                $(this).find(\":radio\").prop(\"disabled\", true);\n              } else {\n                $(this).removeClass(\"soldout\");\n                $(this).find(\":radio\").prop(\"disabled\", false);\n              }\n            });\n            break;\n          case 1:\n            // loop through all swatchs in option 2 and filter sold out swatch\n            swatch.each(function () {\n              var swatchVal = $(this).data(\"value\");\n              var opt1Soldout = variantList.find(function (variant) {\n                return (\n                  variant.option1 == selectedSwatchOpt1 &&\n                  variant.option2 == swatchVal &&\n                  variant.available\n                );\n              });\n              if (opt1Soldout == undefined) {\n                $(this).addClass(\"soldout\");\n                $(this).find(\":radio\").prop(\"disabled\", true);\n              } else {\n                $(this).removeClass(\"soldout\");\n                $(this).find(\":radio\").prop(\"disabled\", false);\n              }\n            });\n            break;\n          case 2:\n            // loop through all swatchs in option 3 and filter sold out swatch\n            swatch.each(function () {\n              var swatchVal = $(this).data(\"value\");\n              var opt1Soldout = variantList.find(function (variant) {\n                return (\n                  variant.option1 == selectedSwatchOpt1 &&\n                  variant.option2 == selectedSwatchOpt2 &&\n                  variant.option3 == swatchVal &&\n                  variant.available\n                );\n              });\n              if (opt1Soldout == undefined) {\n                $(this).addClass(\"soldout\");\n                $(this).find(\":radio\").prop(\"disabled\", true);\n              } else {\n                $(this).removeClass(\"soldout\");\n                $(this).find(\":radio\").prop(\"disabled\", false);\n              }\n            });\n            break;\n        }\n      });\n\n      if (\n        productItem\n          .find('[data-option-index=\"1\"]')\n          .find(\"input:checked\")\n          .parents(\".swatch-element\")\n          .hasClass(\"soldout\")\n      ) {\n        productItem\n          .find('[data-option-index=\"1\"]')\n          .find(\".available:not(.soldout)\")\n          .eq(\"0\")\n          .find(\"label\")\n          .trigger(\"click\");\n        productItem\n          .find('[data-option-index=\"1\"]')\n          .find(\".available:not(.soldout)\")\n          .eq(\"0\")\n          .find(\"input\")\n          .prop(\"checked\", true);\n      }\n    },\n    cartPageQuantityChange(input) {\n      clearTimeout(ella.inputChangeTimeOut);\n      ella.inputChangeTimeOut = setTimeout(function () {\n        var self = input;\n        var productItem = self.parents(\".cart-product-item\"),\n          line = self.data(\"line\"),\n          val = self.val(),\n          productId = $(productItem).data(\"item-id\");\n        productItem.find('input[name=\"updates[]\"]').val(val);\n        if (line < val) {\n          self.css(\"border-color\", \"red\");\n          productItem\n            .find(\".error-message-input\")\n            .html(\n              '<i class=\"fa fa-exclamation-circle\"></i>' +\n                window.inventory_text.warning_quantity +\n                \": \" +\n                line\n            );\n          self.val(line);\n          $(\".ajax-error-message\").text(\n            \"You can't add more, there are \" + line + \" left in the product\"\n          );\n          ella.showModal(\".ajax-error-modal\");\n          ella.doAjaxUpdateCart(productId, line, productItem);\n        } else {\n          productItem.find(\".error-message-input\").text(\"\");\n          self.css(\"border-color\", \"unset\");\n          ella.doAjaxUpdateCart(productId, val, productItem);\n        }\n      }, 800);\n    },\n    changeQuantityAddToCart: function () {\n      let cartList = $(\".cart-list\");\n      ella.initNumberInput(cartList, ella.cartPageQuantityChange);\n\n      $(\".cart-form .remove \").on(\"click\", function (event) {\n        event.preventDefault();\n        var productItem = $(this).parents(\".cart-product-item\"),\n          productId = $(productItem).data(\"item-id\");\n\n        Shopify.removeItem(productId, function (cart) {\n          ella.initFreeShippingMessage();\n          $(productItem).remove();\n          ella.updateDropdownCartOnMainCartPage(cart);\n        });\n      });\n    },\n\n    initFreeShippingMessage: function () {\n      jQuery.getJSON(\"/cart.js\", function (cart) {\n        ella.FreeShippingMessage(cart);\n      });\n    },\n\n    FreeShippingMessage: function (cart) {\n      var freeshipEligible = 0;\n\n      var freeshipText = window.free_shipping_text.free_shipping_message_1;\n      var freeshipText2 = window.free_shipping_text.free_shipping_message_2;\n      var freeshipText3 = window.free_shipping_text.free_shipping_message_3;\n      var freeshipText4 = window.free_shipping_text.free_shipping_message_4;\n      var extraPrice = 0;\n      var shipVal = window.free_shipping_text.free_shipping_1;\n      //\n      var color1 = window.free_shipping_color1;\n      var color2 = window.free_shipping_color2;\n      var color3 = window.free_shipping_color3;\n\n      var freeshipPrice = parseInt(window.free_shipping_price);\n\n      if (window.multi_lang && translator.isLang2()) {\n        freeshipText = window.lang2.cart.general.free_shipping_message_1;\n        freeshipText2 = window.lang2.cart.general.free_shipping_message_2;\n        freeshipText3 = window.lang2.cart.general.free_shipping_message_3;\n        shipVal = window.lang2.cart.general.free_shipping_1;\n      }\n\n      var cartTotalPrice = parseInt(cart.total_price) / 100;\n      var freeshipBar = Math.round((cartTotalPrice * 100) / freeshipPrice);\n      if (cartTotalPrice >= freeshipPrice) {\n        freeshipEligible = 1;\n      } else {\n        extraPrice = parseInt(freeshipPrice - cartTotalPrice);\n        freeshipText =\n          freeshipText2 +\n          \" \" +\n          Shopify.formatMoney(extraPrice * 100, window.money_format) +\n          \" \" +\n          freeshipText3 +\n          \"<b>  \" +\n          freeshipText4 +\n          \" </b>\";\n        shipVal = window.free_shipping_text.free_shipping_2;\n      }\n\n      if (freeshipBar >= 100) {\n        freeshipBar = 100;\n      }\n\n      if (freeshipBar == 0) {\n        ella.checkItemsInDropdownCart();\n      }\n\n      var color = color3;\n      if (freeshipBar <= 30) {\n        color = color1;\n      } else if (freeshipBar <= 70) {\n        color = color2;\n      } else if (freeshipBar == 100) {\n      }\n\n      var progress =\n        '<div class=\"progress_shipping\" role=\"progressbar\" aria-label=\"progressbar\" style=\"height: 15px; margin-top: 10px; margin-bottom: 10px;background-color: #e1dfd6;-webkit-box-shadow: inset 0 1px 2px rgba(0,0,0,.1);box-shadow: inset 0 1px 2px rgba(0,0,0,.1);\">\\\n            <div class=\"progress-meter\" style=\"position: relative;display: block;height: 100%;background-color: ' +\n        color +\n        \";text-align: center; line-height: 15px;color: #ffffff;width: \" +\n        freeshipBar +\n        '%; -webkit-animation: 2s linear 0s normal none infinite running progress-bar-stripes;animation: 2s linear 0s normal none infinite running progress-bar-stripes;background-image: -webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image: linear-gradient(45deg,rgba(255,255,255,.15) 25%,rgba(0,0,0,0) 25%,rgba(0,0,0,0) 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,rgba(0,0,0,0) 75%,rgba(0,0,0,0)); background-size: 40px 40px; transition: 0.9s linear; transition-property: width, background-color;\">' +\n        freeshipBar +\n        \"%</div>\\\n            </div>\";\n\n      $(\".free_shipping_progress\").html(progress);\n\n      $(\".free_shipping_massage1\").html(freeshipText);\n      $(\"#dropdown-cart .summary .free_shipping .text\").html(shipVal);\n\n      if (ella.checkNeedToConvertCurrency()) {\n        Currency.convertAll(\n          window.shop_currency,\n          $(\"#currencies .active\").attr(\"data-currency\"),\n          \"span.money\",\n          \"money_format\"\n        );\n      }\n    },\n    // \u66F4\u65B0\u8D2D\u7269\u8F66\u4E3B\u9875\u8D2D\u7269\u8F66\u5185\u5BB9\n    doAjaxUpdateCart: function (productId, quantity, productItem) {\n      $.ajax({\n        type: \"post\",\n        url: \"/cart/change.js\",\n        data: \"quantity=\" + quantity + \"&id=\" + productId,\n        dataType: \"json\",\n        beforeSend: function () {\n          ella.showLoading();\n        },\n        success: function (cart) {\n          if (quantity == 0) {\n            productItem.remove();\n          }\n\n          if (cart.item_count < 1) {\n            $(\".wrapper-cart-template\").hide();\n            $(\".no-item-cart\").show();\n          }\n\n          ella.updateDropdownCartOnMainCartPage(cart);\n          ella.initFreeShippingMessage();\n          ella.hideLoading();\n        },\n        error: function (xhr) {\n          ella.hideLoading();\n        },\n      });\n    },\n\n    toggleVariantsForExpressOrder: function () {\n      var toggleVariant = \"[data-toggle-variant]\";\n\n      doc.on(\"click\", toggleVariant, function (e) {\n        e.preventDefault();\n        e.stopPropagation();\n\n        var self = $(this),\n          curVariants = self.data(\"target\");\n\n        if (self.hasClass(\"show-options-btn\")) {\n          self.text(window.inventory_text.hide_options);\n          $(curVariants).slideDown(700, function () {\n            self.addClass(\"hide-options-btn\").removeClass(\"show-options-btn\");\n          });\n        } else {\n          self.text(window.inventory_text.show_options);\n          $(curVariants).slideUp(700, function () {\n            self.addClass(\"show-options-btn\").removeClass(\"hide-options-btn\");\n          });\n        }\n      });\n    },\n\n    initExpressOrderAddToCart: function () {\n      var addToCartSlt = \"[data-express-addtocart]\";\n\n      doc\n        .off(\"click.addToCartExpress\", addToCartSlt)\n        .on(\"click.addToCartExpress\", addToCartSlt, function (e) {\n          e.preventDefault();\n\n          var self = $(this);\n\n          if (self.attr(\"disabled\") != \"disabled\") {\n            var productItem = self.closest(\".product-item\");\n\n            if (productItem.length == 0) {\n              productItem = self.closest(\".col-options\");\n            }\n\n            var form = productItem.find(\"form\");\n            var variant_id = form.find(\"select[name=id]\").val();\n\n            if (!variant_id) {\n              variant_id = form.find(\"input[name=id]\").val();\n            }\n\n            var quantityElm = productItem.find(\"input[name=quantity]\");\n\n            if (quantityElm.length == 0) {\n              quantityElm = productItem\n                .siblings(\".col-qtt\")\n                .find(\"input[name=quantity]\");\n            }\n\n            var quantity = quantityElm.val();\n            if (!quantity) {\n              quantity = 1;\n            }\n\n            if (parseInt(quantity) !== 0) {\n              if (window.ajax_cart == \"none\") {\n                form.submit();\n              } else {\n                ella.expressAjaxAddToCart(variant_id, quantity, self, form);\n                form.next(\".feedback-text\").show();\n              }\n            } else {\n              form\n                .next(\".feedback-text\")\n                .text(\"Quantity cannot be blank\")\n                .show();\n            }\n          }\n          return false;\n        });\n    },\n    // \u597D\u50CF\u6CA1\u7528\n    expressAjaxAddToCart: function (variant_id, quantity, cartBtn, form) {\n      $.ajax({\n        type: \"post\",\n        url: \"/cart/add.js\",\n        data: \"quantity=\" + quantity + \"&id=\" + variant_id,\n        dataType: \"json\",\n\n        beforeSend: function () {\n          window.setTimeout(function () {\n            cartBtn.text(window.inventory_text.adding + \"...\");\n          }, 100);\n        },\n\n        success: function (msg) {\n          window.setTimeout(function () {\n            cartBtn.text(window.inventory_text.thank_you);\n          }, 600);\n          window.setTimeout(function () {\n            cartBtn.text(window.inventory_text.add_more + \"...\");\n          }, 1000);\n\n          ella.updateDropdownCart();\n\n          cartBtn.addClass(\"add_more\");\n          form.next(\".feedback-text\").text(window.inventory_text.cart_feedback);\n        },\n\n        error: function (xhr, text) {\n          $(\".ajax-error-message\").text(\n            $.parseJSON(xhr.responseText).description\n          );\n          ella.showModal(\".ajax-error-modal\");\n          window.setTimeout(function () {\n            cartBtn.text(window.inventory_text.add_to_cart);\n          }, 400);\n        },\n      });\n    },\n\n    initAddToCart: function () {\n      var btnAddToCartSlt = \"[data-btn-addToCart]\";\n      doc\n        .off(\"click.addToCart\", btnAddToCartSlt)\n        .on(\"click.addToCart\", btnAddToCartSlt, function (e) {\n          e.preventDefault();\n          e.stopPropagation();\n          var self = $(this);\n          var thisForm = $(self.data(\"form-id\"));\n\n          var data = thisForm.serialize();\n          if (self.attr(\"disabled\") !== \"disabled\") {\n            var productItem = self.closest(\".product-item\");\n\n            if (productItem.length < 1) {\n              var sectionsProduct = self.closest(\n                '[data-section-type=\"product\"]'\n              );\n\n              if (!sectionsProduct.length) {\n                sectionsProduct = self.closest(\".quickview-tpl\");\n              }\n\n              productItem = sectionsProduct.find(\".product-shop\");\n            }\n\n            var form = self.closest(\"form\"),\n              handle =\n                productItem\n                  .find(\".product-grid-image\")\n                  .data(\"collections-related\") ||\n                sectionsProduct.data(\"collections-related\");\n            switch (window.ajax_cart) {\n              case \"none\":\n                form.submit();\n                break;\n\n              case \"normal\":\n                var title = productItem.find(\".product-title\").html();\n                var image =\n                  productItem.find(\".product-grid-image img\").data(\"srcset\") ||\n                  productItem.find(\".product-image img\").data(\"src\");\n                // var size = productItem.find(\".pro-size\")\n                // var weight = productItem.find(\".pro-weight\")\n                if (!image) {\n                  image =\n                    productItem\n                      .siblings(\".product-photos\")\n                      .find('.slick-current img[id|=\"product-featured-image\"]')\n                      .attr(\"src\") ||\n                    productItem\n                      .siblings(\".product-photos\")\n                      .find(\n                        '.slick-current img[id|=\"qv-product-featured-image\"]'\n                      )\n                      .attr(\"src\");\n                }\n                ella.doAjaxAddToCartNormal(data, true, title, image);\n                $(\"[data-compare-modal]\").hide();\n                break;\n\n              case \"upsell\":\n                ella.doAjaxAddToCart(data, handle);\n                $(\"[data-compare-modal]\").hide();\n                break;\n            }\n          }\n          return false;\n        });\n\n      ella.closeSuccessModal();\n    },\n    // \u6682\u65F6\u65E0\u7528\n    initGroupedAddToCart: function () {\n      var btnAddToCartSlt = \"[data-grouped-addToCart]\";\n\n      ella.changeVariantSelectOption();\n\n      doc\n        .off(\"click.GroupedAddToCart\", btnAddToCartSlt)\n        .on(\"click.GroupedAddToCart\", btnAddToCartSlt, function (e) {\n          e.preventDefault();\n          e.stopPropagation();\n          var self = $(this);\n          var formData = $(self.data(\"form-id\"));\n          var data = formData.serialize();\n\n          if (self.attr(\"disabled\") !== \"disabled\") {\n            var sectionsProduct = self.closest('[data-section-type=\"product\"]'),\n              productItem = sectionsProduct.find(\".product-shop\");\n\n            var form = productItem.find('form[action=\"/cart/add\"]'),\n              handle = sectionsProduct.data(\"collections-related\"),\n              groupedProduct = form.find(\".grouped-product\");\n\n            Shopify.queue = [];\n\n            groupedProduct.each(function () {\n              (variantId = $(this).find(\"input[type=hidden]\").attr(\"value\")),\n                (quantity = parseInt(\n                  $(this).find(\"input[name=group_quantity]\").val()\n                ));\n\n              if (quantity > 0 && variantId !== \"\") {\n                Shopify.queue.push({\n                  variantId: variantId,\n                  quantity: parseInt(quantity, 10) || 0,\n                });\n              }\n            });\n\n            Shopify.moveAlong = function () {\n              if (Shopify.queue.length) {\n                var request = Shopify.queue.shift();\n\n                Shopify.addItem(\n                  request.variantId,\n                  request.quantity,\n                  Shopify.moveAlong\n                );\n              } else {\n                switch (window.ajax_cart) {\n                  case \"none\":\n                    form.submit();\n                    break;\n\n                  case \"normal\":\n                    var title = productItem.find(\".product-title\").html();\n                    var image = productItem\n                      .find(\".product-grid-image img\")\n                      .attr(\"src\");\n                    // var size = productItem.find(\".pro-size\")\n                    // var weight = productItem.find(\".pro-weight\")\n                    if (!image) {\n                      image =\n                        productItem\n                          .siblings(\".product-photos\")\n                          .find(\n                            '.slick-current img[id|=\"product-featured-image\"]'\n                          )\n                          .attr(\"src\") ||\n                        productItem\n                          .siblings(\".product-photos\")\n                          .find(\n                            '.slick-current img[id|=\"qv-product-featured-image\"]'\n                          )\n                          .attr(\"src\");\n                    }\n                    ella.doAjaxAddToCartNormal(data, true, title, image);\n                    break;\n\n                  case \"upsell\":\n                    ella.doAjaxAddToCart(data, handle);\n                    break;\n                }\n                return false;\n              }\n            };\n\n            Shopify.moveAlong();\n          }\n        });\n\n      ella.closeSuccessModal();\n    },\n\n    changeVariantSelectOption: function () {\n      var selectSlt = \"[data-select-change-variant]\";\n\n      doc.on(\"change\", selectSlt, function () {\n        var value = $(this).val(),\n          dataImg = $(this).find(\"option:selected\").data(\"img\"),\n          dataPrice = $(this).find(\"option:selected\").data(\"price\"),\n          parent = $(this).closest(\".grouped-product\");\n\n        parent.find(\"input[type=hidden]\").val(value);\n        parent.find(\".product-img img\").attr({ src: dataImg });\n        parent\n          .find(\"[data-price-change]\")\n          .html(Shopify.formatMoney(dataPrice, window.money_format));\n\n        if (ella.checkNeedToConvertCurrency()) {\n          Currency.convertAll(\n            window.shop_currency,\n            $(\"#currencies .active\").attr(\"data-currency\"),\n            \".grouped-product span.money\",\n            \"money_format\"\n          );\n        }\n      });\n    },\n\n    closeSuccessModal: function () {\n      var ajaxCartModal = $(\n          \"[data-ajax-cart-success], [data-quickview-modal], [data-compare-modal], [data-compare-message-modal]\"\n        ),\n        editCart = $(\"[data-cart-edit-modal]\"),\n        closeWindow = ajaxCartModal.find(\".close-modal, .continue-shopping\"),\n        modalContent = ajaxCartModal.find(\".halo-modal-content\"),\n        closeEdit = editCart.find(\".close-modal\"),\n        modalContentEdit = editCart.find(\".halo-modal-content\");\n\n      closeWindow.click(function (e) {\n        e.preventDefault();\n        ajaxCartModal.fadeOut(500, function () {\n          html.removeClass(\"halo-modal-open\");\n          html.css({\n            overflow: \"\",\n          });\n\n          // if (body.hasClass('template-cart')) {\n          //     $([document.documentElement, document.body]).animate({\n          //         scrollTop: $(\".wrapper-cart-template\").offset().top - $('.main-menu').outerHeight()\n          //     }, 500);\n          // }\n        });\n\n        function postMessageToPlayer(player, command) {\n          if (player == null || command == null) return;\n          player.contentWindow.postMessage(JSON.stringify(command), \"*\");\n        }\n\n        if (\n          $(\"[data-more-view-product-qv] .product-img-box .slider-for\")\n            .find(\".slick-current\")\n            .find(\"iframe\").length\n        ) {\n          var player = $(\".slider-for\")\n            .find(\".slick-current\")\n            .find(\"iframe\")\n            .get(0);\n          postMessageToPlayer(player, {\n            event: \"command\",\n            func: \"pauseVideo\",\n          });\n\n          // player.pause();\n        }\n        if (\n          $(\"[data-more-view-product-qv] .product-img-box .slider-for\")\n            .find(\".slick-current\")\n            .find(\"video\").length\n        ) {\n          var video = $(\".slider-for\")\n            .find(\".slick-current\")\n            .find(\"video\")\n            .get(0);\n          video.pause();\n        }\n      });\n\n      ajaxCartModal.on(\"click\", function (e) {\n        if (!modalContent.is(e.target) && !modalContent.has(e.target).length) {\n          ajaxCartModal.fadeOut(500, function () {\n            html.removeClass(\"halo-modal-open\");\n            html.css({\n              overflow: \"\",\n            });\n\n            // if (body.hasClass('template-cart')) {\n            //     $([document.documentElement, document.body]).animate({\n            //         scrollTop: $(\".wrapper-cart-template\").offset().top - $('.main-menu').outerHeight()\n            //     }, 500);\n            // }\n          });\n\n          function postMessageToPlayer(player, command) {\n            if (player == null || command == null) return;\n            player.contentWindow.postMessage(JSON.stringify(command), \"*\");\n          }\n\n          if (\n            $(\"[data-more-view-product-qv] .product-img-box .slider-for\")\n              .find(\".slick-current\")\n              .find(\"iframe\").length\n          ) {\n            var player = $(\".slider-for\")\n              .find(\".slick-current\")\n              .find(\"iframe\")\n              .get(0);\n            postMessageToPlayer(player, {\n              event: \"command\",\n              func: \"pauseVideo\",\n            });\n\n            // player.pause();\n          }\n          if (\n            $(\"[data-more-view-product-qv] .product-img-box .slider-for\")\n              .find(\".slick-current\")\n              .find(\"video\").length\n          ) {\n            var video = $(\".slider-for\")\n              .find(\".slick-current\")\n              .find(\"video\")\n              .get(0);\n            video.pause();\n          }\n        }\n      });\n      closeEdit.on(\"click\", function (e) {\n        e.preventDefault();\n        editCart.fadeOut(500, function () {\n          html.removeClass(\"halo-modal-open\");\n          html.css({\n            overflow: \"\",\n          });\n        });\n      });\n\n      editCart.on(\"click\", function (e) {\n        if (\n          !modalContentEdit.is(e.target) &&\n          !modalContentEdit.has(e.target).length\n        ) {\n          editCart.fadeOut(500, function () {\n            html.removeClass(\"halo-modal-open\");\n            html.css({\n              overflow: \"\",\n            });\n          });\n        }\n      });\n    },\n\n    doAjaxAddToCartNormal: function (\n      data,\n      showPopModal,\n      title,\n      image,\n      size,\n      weight\n    ) {\n      $.ajax({\n        type: \"POST\",\n        url: \"/cart/add.js\",\n        data: data,\n        dataType: \"json\",\n\n        beforeSend: function () {\n          ella.showLoading();\n          ella.showSideBarLoading();\n        },\n\n        complete: function () {\n          ella.hideLoading();\n        },\n\n        success: function (res) {\n          // console.log(6715, res);\n          if (showPopModal) {\n            var ajaxCartModal = $(\"[data-ajax-cart-success]\"),\n              modalContent = ajaxCartModal.find(\".cart-modal-content\");\n            // modalContent\n            //   .find(\".ajax-product-title\")\n            //   .html(ella.translateText(title));\n            modalContent.find(\".ajax-product-image\").attr(\"src\", \"\");\n            modalContent.find(\".ajax-product-image\").attr(\"src\", image);\n            modalContent.find(\".message-added-cart\").show();\n            modalContent.find(\".pro-info-box\").show();\n            modalContent.find(\".actions\").show();\n            modalContent\n              .find(\".pro-info\")\n              .html('<div class=\"pro-title\"></div>');\n            modalContent.find(\".pro-title\").html(ella.translateText(title));\n            if (!!size) {\n              modalContent\n                .find(\".pro-info\")\n                .append(\n                  '<div class=\"pro-param pro-size\"><span>' +\n                    ella.translateText(size) +\n                    \"</span></div>\"\n                );\n            }\n            if (!!weight) {\n              modalContent\n                .find(\".pro-info\")\n                .append(\n                  '<div class=\"pro-param pro-weight\"><span>' +\n                    ella.translateText(weight) +\n                    \"</span></div>\"\n                );\n            }\n            ajaxCartModal.fadeIn(600, function () {\n              // html.addClass('halo-modal-open');\n\n              if ($(\"[data-quickview-modal]\").is(\":visible\")) {\n                $(\"[data-quickview-modal]\").hide();\n              }\n\n              ella.closeLookbookModal();\n            });\n          }\n          ella.updateDropdownCart();\n          if ($(\".template-cart\").length) {\n            ella.loadAjaxCart();\n          }\n        },\n\n        error: function (xhr) {\n          ella.hideLoading();\n          $(\".ajax-error-message\").text(\n            $.parseJSON(xhr.responseText).description\n          );\n          ella.showModal(\".ajax-error-modal\");\n        },\n\n        complete: function () {\n          ella.hideLoading();\n        },\n      });\n    },\n    // \u4F3C\u4E4E\u65E0\u75282024/12/13\n    doAjaxAddToCart: function (data, handle, nojax) {\n      $.ajax({\n        type: \"POST\",\n        url: \"/cart/add.js\",\n        data: data,\n        dataType: \"json\",\n        async: false,\n        beforeSend: function () {\n          ella.showLoading();\n        },\n\n        success: function (data) {\n          if (!nojax) {\n            ella.getPopupShoppingCart(true, handle);\n          } else {\n            var discount_code = \"FBT-BUNDLE-\" + meta.product.id;\n            ella.apply_discount(discount_code);\n            window.location.href = \"/cart\";\n            ella.showloading();\n          }\n          if ($(\".template-cart\").length) {\n            ella.loadAjaxCart();\n          }\n        },\n\n        error: function (xhr) {\n          $(\".ajax-error-message\").text(\n            $.parseJSON(xhr.responseText).description\n          );\n          ella.showModal(\".ajax-error-modal\");\n        },\n\n        complete: function () {\n          ella.hideLoading();\n        },\n      });\n    },\n\n    getPopupShoppingCart: function (shouldShowModel, handle) {\n      var ajaxCartModal = $(\"[data-ajax-cart-success]\"),\n        modalContent = ajaxCartModal.find(\".cart-popup-content\"), // \u5728setting\u4E2D\u7ED9ajax_popup_cart\u8BBE\u7F6Eupsell\u624D\u4F1A\u6709\u8FD9\u4E2A\u6807\u7B7E\uFF0C\u540E\u7EED\u6392\u67E5\u8BE5\u4F7F\u7528\n        collUpsell = ajaxCartModal.find(\".cart-popup-coll-related\");\n\n      $.get(window.router + \"/cart?view=json\", function (data) {\n        modalContent.html(data);\n        if (handle != undefined) {\n          var _handle = handle.split(\"/collections\")[0];\n          var _handle1 = _handle + \"/collections/?view=related\";\n          if (shouldShowModel) {\n            if (handle != _handle1) {\n              collUpsell.load(\"\" + handle + \"\");\n            } else {\n              collUpsell.load(_handle + \"/collections/all?view=related\");\n            }\n            $(document).ajaxComplete(function (event, xhr, settings) {\n              if (\n                settings.url === \"/collections/all?view=related\" ||\n                settings.url === \"\" + handle + \"\"\n              ) {\n                try {\n                  if (ella.checkNeedToConvertCurrency()) {\n                    Currency.convertAll(\n                      window.shop_currency,\n                      $(\"#currencies .active\").attr(\"data-currency\"),\n                      \"[data-ajax-cart-success] span.money\",\n                      \"money_format\"\n                    );\n                  }\n                } catch (e) {\n                  console.log(e);\n                }\n              }\n            });\n          }\n        }\n      }).always(function () {\n        ella.updateDropdownCart();\n\n        ella.ellaTimeout = setTimeout(function () {\n          ella.translateBlock(\"[data-ajax-cart-success]\");\n\n          if (\n            $(\".shopify-product-reviews-badge\").length &&\n            $(\".spr-badge\").length\n          ) {\n            return (\n              window.SPR.registerCallbacks(),\n              window.SPR.initRatingHandler(),\n              window.SPR.initDomEls(),\n              window.SPR.loadProducts(),\n              window.SPR.loadBadges()\n            );\n          }\n        }, 1000);\n\n        if (ella.checkNeedToConvertCurrency()) {\n          Currency.convertAll(\n            window.shop_currency,\n            $(\"#currencies .active\").attr(\"data-currency\"),\n            \"[data-ajax-cart-success] span.money\",\n            \"money_format\"\n          );\n        }\n\n        if (shouldShowModel) {\n          ajaxCartModal.fadeIn(600, function () {\n            // html.addClass('halo-modal-open');\n\n            if ($(\"[data-quickview-modal]\").is(\":visible\")) {\n              $(\"[data-quickview-modal]\").hide();\n            }\n\n            ella.closeLookbookModal();\n          });\n        }\n      });\n    },\n\n    loadAjaxCart: function () {\n      $.get(window.router + \"/cart\", function (data) {\n        var curCartTemplate = $(\".cart-template\"),\n          curCartlist = curCartTemplate.find(\".cart-list\"),\n          curDiscount = curCartTemplate.find(\"[data-cart-discount-wrapper]\"),\n          curTotalTop = curCartTemplate.find(\".groued-info .total\"),\n          curTotalBottom = curCartTemplate.find(\".grouped-bottom .total\"),\n          curGift = curCartTemplate.find(\"#is-a-gift\"),\n          newCartTemplate = $(data).find(\".cart-template\"),\n          newCartlist = newCartTemplate.find(\".cart-list\"),\n          newDiscount = newCartTemplate.find(\"[data-cart-discount-wrapper]\"),\n          newTotalTop = newCartTemplate.find(\".groued-info .total\"),\n          newTotalBottom = newCartTemplate.find(\".grouped-bottom .total\"),\n          newGift = newCartTemplate.find(\"#is-a-gift\");\n\n        curCartlist.replaceWith(newCartlist);\n        curDiscount.replaceWith(newDiscount);\n        curTotalTop.replaceWith(newTotalTop);\n        curTotalBottom.replaceWith(newTotalBottom);\n        curGift.replaceWith(newGift);\n      }).always(function () {\n        ella.changeQuantityAddToCart();\n        ella.initFreeShippingMessage();\n        ella._giftCard();\n        ella.ellaTimeout = setTimeout(function () {\n          if (\n            $(\".shopify-product-reviews-badge\").length &&\n            $(\".spr-badge\").length\n          ) {\n            return (\n              window.SPR.registerCallbacks(),\n              window.SPR.initRatingHandler(),\n              window.SPR.initDomEls(),\n              window.SPR.loadProducts(),\n              window.SPR.loadBadges()\n            );\n          }\n        }, 1000);\n\n        if (ella.checkNeedToConvertCurrency()) {\n          Currency.convertAll(\n            window.shop_currency,\n            $(\"#currencies .active\").attr(\"data-currency\"),\n            \"[data-ajax-cart-success] span.money\",\n            \"money_format\"\n          );\n        }\n      });\n    },\n    // \u66F4\u65B0\u4FA7\u8FB9\u680F\u8D2D\u7269\u8F66\n    doAjaxUpdatePopupCart: function (quantity, id) {\n      $.ajax({\n        type: \"POST\",\n        url: \"/cart/change.js\",\n        data: {\n          id: id,\n          quantity: quantity,\n        },\n        dataType: \"json\",\n\n        beforeSend: function () {\n          ella.showSideBarLoading();\n        },\n\n        // complete: function () {\n        //   ella.hideSideBarLoading();\n        // },\n\n        success: function (cart) {\n          // ella.doUpdateDropdownCart(cart);\n          ella.getPopupShoppingCart(false);\n          ella.checkBundleProducts();\n        },\n\n        error: function (xhr) {\n          ella.hideLoading();\n          $(\".ajax-error-message\").text(\n            $.parseJSON(xhr.responseText).description\n          );\n          ella.showModal(\".ajax-error-modal\");\n          ella.hideSideBarLoading();\n        },\n      });\n    },\n    // \u5E94\u8BE5\u6CA1\u7528\uFF0C\u6362\u6210\u5176\u4ED6\u7684\u52A0\u51CF\u6309\u94AE\u4E86 2024/12/13\n    initChangeQuantityButtonEvent: function () {\n      var buttonSlt = \"[data-minus-quantity-cart], [data-plus-quantity-cart]\",\n        buttonElm = $(buttonSlt);\n\n      doc\n        .off(\"click.updateCart\")\n        .on(\"click.updateCart\", buttonSlt, function (e) {\n          e.preventDefault();\n          e.stopPropagation();\n          var btn = $(this);\n          var id = btn.closest(\"[data-product-id]\").data(\"product-id\");\n          var quantity = parseInt(btn.siblings('input[name=\"quantity\"]').val());\n\n          if (btn.hasClass(\"plus\")) {\n            quantity += 1;\n          } else {\n            quantity -= 1;\n          }\n          ella.doAjaxUpdatePopupCart(quantity, id);\n        });\n    },\n    // \u5E94\u8BE5\u6CA1\u7528\uFF0C\u6362\u6210\u5176\u4ED6\u7684\u8F93\u5165\u6846\u4E86 2024/12/13\n    initQuantityInputChangeEvent: function () {\n      var quantityIptSlt = \"[data-quantity-input]\";\n\n      doc.on(\"change\", quantityIptSlt, function () {\n        var id = $(this).closest(\"[data-product-id]\").data(\"product-id\"),\n          quantity = parseInt($(this).val());\n\n        ella.doAjaxUpdatePopupCart(quantity, id);\n      });\n    },\n    // \u5E94\u8BE5\u6CA1\u7528\uFF0C\u6362\u6210\u5176\u4ED6\u7684\u5220\u9664\u6309\u94AE\u4E86 2024/12/13\n    removeCartItem: function () {\n      var removeSlt = \".cart-remove\";\n\n      doc.on(\"click\", removeSlt, function (e) {\n        e.preventDefault();\n        e.stopPropagation();\n\n        var id = $(this).closest(\"[data-product-id]\").data(\"product-id\");\n\n        ella.doAjaxUpdatePopupCart(0, id);\n      });\n    },\n\n    initSoldOutProductShop: function () {\n      var soldProduct = $(\".product-shop [data-soldOut-product]\");\n\n      if (soldProduct.length) {\n        soldProduct.each(function () {\n          var self = $(this);\n\n          var items = self.data(\"items\").toString().split(\",\"),\n            hours = self.data(\"hours\").toString().split(\",\"),\n            i = Math.floor(Math.random() * items.length),\n            j = Math.floor(Math.random() * hours.length);\n\n          self.find(\".items-count\").text(items[i]);\n          self.find(\".hours-num\").text(hours[j]);\n        });\n      }\n    },\n\n    initCustomerViewProductShop: function () {\n      var customerView = $(\".product-shop [data-customer-view]\");\n\n      if (customerView.length) {\n        customerView.each(function () {\n          var self = $(this);\n\n          // setInterval(function () {\n          var views = self.data(\"customer-view\").split(\",\"),\n            i = Math.floor(Math.random() * views.length);\n\n          self.find(\"label\").text(views[i]);\n          // }, 5000);\n        });\n      }\n    },\n\n    initProductMoreview: function (productMoreview) {\n      var sliderFor = productMoreview.find(\".slider-for\"),\n        sliderNav = productMoreview.find(\".slider-nav\"),\n        vertical = sliderNav.data(\"vertical\");\n\n      // POST commands to YouTube or Vimeo API\n      function postMessageToPlayer(player, command) {\n        if (player == null || command == null) return;\n        player.contentWindow.postMessage(JSON.stringify(command), \"*\");\n      }\n\n      sliderFor.on(\"afterChange\", function (event, slick) {\n        if (sliderFor.find(\".slick-current\").find(\"iframe\").length) {\n          var player = sliderFor.find(\"iframe\").get(0);\n\n          postMessageToPlayer(player, {\n            event: \"command\",\n            func: \"playVideo\",\n          });\n\n          // player.pause();\n        }\n        if (sliderFor.find(\".slick-current\").find(\"video\").length) {\n          var video = sliderFor.find(\".slick-current\").find(\"video\").get(0);\n          video.play();\n        }\n      });\n\n      sliderFor.on(\"beforeChange\", function (event, slick) {\n        if (sliderFor.find(\".slick-current\").find(\"iframe\").length) {\n          var player = sliderFor.find(\"iframe\").get(0);\n          postMessageToPlayer(player, {\n            event: \"command\",\n            func: \"pauseVideo\",\n          });\n\n          // player.pause();\n        }\n        if (sliderFor.find(\".slick-current\").find(\"video\").length) {\n          var video = sliderFor.find(\".slick-current\").find(\"video\").get(0);\n          video.pause();\n        }\n      });\n      if (\n        !sliderFor.hasClass(\"slick-initialized\") &&\n        !sliderNav.hasClass(\"slick-initialized\")\n      ) {\n        sliderFor.slick({\n          slidesToShow: 1,\n          slidesToScroll: 1,\n          fade: true,\n          asNavFor: sliderNav,\n          draggable: false,\n          adaptiveHeight: false,\n          get arrows() {\n            // if (window.product_style == \"skin_1\") {\n            return (this.arrows = true);\n            // } else {\n            // return (this.arrows = false);\n            // }\n          },\n          get nextArrow() {\n            if (\n              window.layout_style == \"layout_style_1170\" ||\n              window.layout_style == \"layout_style_flower\"\n            ) {\n              return (this.nextArrow =\n                '<button type=\"button\" aria-label=\"Next\" class=\"slick-next\"><svg viewBox=\"0 0 50 50\"><path d=\"M 11.957031 13.988281 C 11.699219 14.003906 11.457031 14.117188 11.28125 14.308594 L 1.015625 25 L 11.28125 35.691406 C 11.527344 35.953125 11.894531 36.0625 12.242188 35.976563 C 12.589844 35.890625 12.867188 35.625 12.964844 35.28125 C 13.066406 34.933594 12.972656 34.5625 12.71875 34.308594 L 4.746094 26 L 48 26 C 48.359375 26.003906 48.695313 25.816406 48.878906 25.503906 C 49.058594 25.191406 49.058594 24.808594 48.878906 24.496094 C 48.695313 24.183594 48.359375 23.996094 48 24 L 4.746094 24 L 12.71875 15.691406 C 13.011719 15.398438 13.09375 14.957031 12.921875 14.582031 C 12.753906 14.203125 12.371094 13.96875 11.957031 13.988281 Z\"></path></svg></button>');\n            } else if (\n              window.layout_style == \"layout_style_fullwidth\" ||\n              window.layout_style == \"layout_style_suppermarket\" ||\n              window.layout_style == \"layout_style_surfup\"\n            ) {\n              return (this.nextArrow =\n                '<button type=\"button\" aria-label=\"Next\" class=\"slick-next\"><svg viewBox=\"0 0 478.448 478.448\" class=\"icon icon-chevron-right\" id=\"icon-chevron-right\"><g><g><polygon points=\"131.659,0 100.494,32.035 313.804,239.232 100.494,446.373 131.65,478.448 377.954,239.232\"></polygon></g></g><g></g><g></g><g></g><g></g><g></g><g></g><g></g><g></g><g></g><g></g><g></g><g></g><g></g><g></g><g></g></svg></button>');\n            } else {\n              return (this.nextArrow =\n                '<button type=\"button\" aria-label=\"Next\" class=\"slick-next\"><i class=\"fa fa-angle-right\"></i></button>');\n            }\n          },\n          get prevArrow() {\n            if (\n              window.layout_style == \"layout_style_1170\" ||\n              window.layout_style == \"layout_style_flower\"\n            ) {\n              return (this.prevArrow =\n                '<button type=\"button\" aria-label=\"Previous\" class=\"slick-prev\"><svg viewBox=\"0 0 50 50\"><path d=\"M 11.957031 13.988281 C 11.699219 14.003906 11.457031 14.117188 11.28125 14.308594 L 1.015625 25 L 11.28125 35.691406 C 11.527344 35.953125 11.894531 36.0625 12.242188 35.976563 C 12.589844 35.890625 12.867188 35.625 12.964844 35.28125 C 13.066406 34.933594 12.972656 34.5625 12.71875 34.308594 L 4.746094 26 L 48 26 C 48.359375 26.003906 48.695313 25.816406 48.878906 25.503906 C 49.058594 25.191406 49.058594 24.808594 48.878906 24.496094 C 48.695313 24.183594 48.359375 23.996094 48 24 L 4.746094 24 L 12.71875 15.691406 C 13.011719 15.398438 13.09375 14.957031 12.921875 14.582031 C 12.753906 14.203125 12.371094 13.96875 11.957031 13.988281 Z\"></path></svg></button>');\n            } else if (\n              window.layout_style == \"layout_style_fullwidth\" ||\n              window.layout_style == \"layout_style_suppermarket\" ||\n              window.layout_style == \"layout_style_surfup\"\n            ) {\n              return (this.prevArrow =\n                '<button type=\"button\" aria-label=\"Previous\" class=\"slick-prev\"><svg viewBox=\"0 0 370.814 370.814\" class=\"icon icon-chevron-left\" id=\"icon-chevron-left\"><g><g><polygon points=\"292.92,24.848 268.781,0 77.895,185.401 268.781,370.814 292.92,345.961 127.638,185.401\"></polygon></g></g><g></g><g></g><g></g><g></g><g></g><g></g><g></g><g></g><g></g><g></g><g></g><g></g><g></g><g></g><g></g></svg></button>');\n            } else {\n              return (this.prevArrow =\n                '<button type=\"button\" aria-label=\"Previous\" class=\"slick-prev\"><i class=\"fa fa-angle-left\"></i></button>');\n            }\n          },\n          responsive: [\n            {\n              breakpoint: 1200,\n              settings: {\n                arrows: true,\n              },\n            },\n          ],\n        });\n\n        sliderNav.slick({\n          infinite: true,\n          slidesToShow: sliderNav.data(\"rows\"),\n          vertical: vertical,\n          slidesToScroll: 1,\n          asNavFor: sliderFor,\n          focusOnSelect: true,\n          get nextArrow() {\n            if (\n              window.layout_style == \"layout_style_1170\" ||\n              window.layout_style == \"layout_style_flower\"\n            ) {\n              return (this.nextArrow =\n                '<button type=\"button\" aria-label=\"Next\" class=\"slick-next\"><svg viewBox=\"0 0 50 50\"><path d=\"M 11.957031 13.988281 C 11.699219 14.003906 11.457031 14.117188 11.28125 14.308594 L 1.015625 25 L 11.28125 35.691406 C 11.527344 35.953125 11.894531 36.0625 12.242188 35.976563 C 12.589844 35.890625 12.867188 35.625 12.964844 35.28125 C 13.066406 34.933594 12.972656 34.5625 12.71875 34.308594 L 4.746094 26 L 48 26 C 48.359375 26.003906 48.695313 25.816406 48.878906 25.503906 C 49.058594 25.191406 49.058594 24.808594 48.878906 24.496094 C 48.695313 24.183594 48.359375 23.996094 48 24 L 4.746094 24 L 12.71875 15.691406 C 13.011719 15.398438 13.09375 14.957031 12.921875 14.582031 C 12.753906 14.203125 12.371094 13.96875 11.957031 13.988281 Z\"></path></svg></button>');\n            } else if (\n              window.layout_style == \"layout_style_fullwidth\" ||\n              window.layout_style == \"layout_style_suppermarket\" ||\n              window.layout_style == \"layout_style_surfup\"\n            ) {\n              return (this.nextArrow =\n                '<button type=\"button\" aria-label=\"Next\" class=\"slick-next\"><svg viewBox=\"0 0 478.448 478.448\" class=\"icon icon-chevron-right\" id=\"icon-chevron-right\"><g><g><polygon points=\"131.659,0 100.494,32.035 313.804,239.232 100.494,446.373 131.65,478.448 377.954,239.232\"></polygon></g></g><g></g><g></g><g></g><g></g><g></g><g></g><g></g><g></g><g></g><g></g><g></g><g></g><g></g><g></g><g></g></svg></button>');\n            } else {\n              return (this.nextArrow =\n                '<button type=\"button\" aria-label=\"Next\" class=\"slick-next\"><i class=\"fa fa-angle-right\"></i></button>');\n            }\n          },\n          get prevArrow() {\n            if (\n              window.layout_style == \"layout_style_1170\" ||\n              window.layout_style == \"layout_style_flower\"\n            ) {\n              return (this.prevArrow =\n                '<button type=\"button\" aria-label=\"Previous\" class=\"slick-prev\"><svg viewBox=\"0 0 50 50\"><path d=\"M 11.957031 13.988281 C 11.699219 14.003906 11.457031 14.117188 11.28125 14.308594 L 1.015625 25 L 11.28125 35.691406 C 11.527344 35.953125 11.894531 36.0625 12.242188 35.976563 C 12.589844 35.890625 12.867188 35.625 12.964844 35.28125 C 13.066406 34.933594 12.972656 34.5625 12.71875 34.308594 L 4.746094 26 L 48 26 C 48.359375 26.003906 48.695313 25.816406 48.878906 25.503906 C 49.058594 25.191406 49.058594 24.808594 48.878906 24.496094 C 48.695313 24.183594 48.359375 23.996094 48 24 L 4.746094 24 L 12.71875 15.691406 C 13.011719 15.398438 13.09375 14.957031 12.921875 14.582031 C 12.753906 14.203125 12.371094 13.96875 11.957031 13.988281 Z\"></path></svg></button>');\n            } else if (\n              window.layout_style == \"layout_style_fullwidth\" ||\n              window.layout_style == \"layout_style_suppermarket\" ||\n              window.layout_style == \"layout_style_surfup\"\n            ) {\n              return (this.prevArrow =\n                '<button type=\"button\" aria-label=\"Previous\" class=\"slick-prev\"><svg viewBox=\"0 0 370.814 370.814\" class=\"icon icon-chevron-left\" id=\"icon-chevron-left\"><g><g><polygon points=\"292.92,24.848 268.781,0 77.895,185.401 268.781,370.814 292.92,345.961 127.638,185.401\"></polygon></g></g><g></g><g></g><g></g><g></g><g></g><g></g><g></g><g></g><g></g><g></g><g></g><g></g><g></g><g></g><g></g></svg></button>');\n            } else {\n              return (this.prevArrow =\n                '<button type=\"button\" aria-label=\"Previous\" class=\"slick-prev\"><i class=\"fa fa-angle-left\"></i></button>');\n            }\n          },\n          responsive: [\n            {\n              breakpoint: 1200,\n              settings: {\n                vertical: false,\n                get dots() {\n                  if (vertical == true) {\n                    return (dots = false);\n                  }\n                },\n              },\n            },\n            {\n              breakpoint: 992,\n              settings: {\n                slidesToShow: 4,\n                slidesToScroll: 1,\n                vertical: false,\n                get dots() {\n                  if (vertical == true) {\n                    return (dots = false);\n                  }\n                },\n              },\n            },\n            {\n              breakpoint: 768,\n              settings: {\n                slidesToShow: 4,\n                slidesToScroll: 1,\n                vertical: false,\n                get dots() {\n                  if (vertical == true) {\n                    return (dots = false);\n                  }\n                },\n              },\n            },\n            {\n              breakpoint: 360,\n              settings: {\n                slidesToShow: 3,\n                slidesToScroll: 1,\n                vertical: false,\n                get dots() {\n                  if (vertical == true) {\n                    return (dots = false);\n                  }\n                },\n              },\n            },\n          ],\n        });\n\n      }\n\n      if (\n        window.color_swatch_style === \"variant_grouped\" &&\n        window.use_color_swatch\n      ) {\n        var swatch = productMoreview\n            .closest(\"[data-more-view-product]\")\n            .siblings(\".product-shop\")\n            .find(\".swatch\"),\n          swatchColor = swatch.find(\".swatch-element.color\"),\n          inputChecked = swatchColor.find(\":radio:checked\");\n\n        if (inputChecked.length) {\n          var className = inputChecked.data(\"filter\");\n\n          if (className !== undefined) {\n            sliderNav.slick(\"slickUnfilter\");\n            sliderFor.slick(\"slickUnfilter\");\n\n            if (\n              sliderNav.find(className).length &&\n              sliderFor.find(className).length\n            ) {\n              sliderNav.slick(\"slickFilter\", className).slick(\"refresh\");\n              sliderFor.slick(\"slickFilter\", className).slick(\"refresh\");\n            }\n          }\n        }\n      }\n    },\n\n    changeSwatch: function (swatchSlt) {\n      doc.on(\"change\", swatchSlt, function () {\n        var className = $(this).data(\"filter\");\n        var optionIndex = $(this).closest(\".swatch\").attr(\"data-option-index\");\n        var optionValue = $(this).val();\n\n        $(this)\n          .closest(\"form\")\n          .find(\".single-option-selector\")\n          .eq(optionIndex)\n          .val(optionValue)\n          .trigger(\"change\");\n        if (className == undefined) {\n          if ($(\"input[data-filter]\").is(\":checked\")) {\n            var checked = $(\"input[data-filter]:checked\").data(\"filter\");\n            className = checked;\n          }\n        }\n\n        if (\n          window.color_swatch_style === \"variant_grouped\" &&\n          window.use_color_swatch &&\n          className !== undefined\n        ) {\n          var productShop = $(swatchSlt).closest(\".product-shop\");\n\n          if (productShop.closest(\".product-slider\").length) {\n            var productImgs = productShop\n                .closest(\".product-slider\")\n                .find(\"[data-moreview-product-slider]\"),\n              sliderFor = productImgs.find(\".slider-for\");\n\n            sliderFor.slick(\"slickUnfilter\");\n\n            if (sliderFor.find(className).length) {\n              sliderFor.slick(\"slickFilter\", className).slick(\"refresh\");\n            }\n            ella.initZoom();\n          } else {\n            var productImgs = productShop.prev(\"[data-more-view-product]\");\n\n            if (productImgs.length) {\n              var sliderNav = productImgs.find(\".slider-nav\"),\n                sliderFor = productImgs.find(\".slider-for\");\n\n              sliderNav.slick(\"slickUnfilter\");\n              sliderFor.slick(\"slickUnfilter\");\n\n              if (\n                sliderNav.find(className).length &&\n                sliderFor.find(className).length\n              ) {\n                sliderNav.slick(\"slickFilter\", className).slick(\"refresh\");\n                sliderFor.slick(\"slickFilter\", className).slick(\"refresh\");\n              }\n            }\n            ella.initZoom();\n          }\n        }\n      });\n    },\n\n    productPageInitProductTabs: function () {\n      var listTabs = $(\".tabs__product-page\"),\n        tabLink = listTabs.find(\"[data-tapTop]\"),\n        tabContent = listTabs.find(\"[data-TabContent]\");\n\n      if (\n        $(\".product-template-skin-1\").length ||\n        $(\".product-template-supermarket\").length\n      ) {\n        listTabs = $(\".product-review\");\n      }\n\n      tabLink.off(\"click\").on(\"click\", function (e) {\n        e.preventDefault();\n        e.stopPropagation();\n\n        var curTab = $(this),\n          curTabContent = $(curTab.data(\"target\")),\n          ulElm = curTab.closest(\".list-tabs\");\n\n        if (ulElm.length) {\n          if (!$(this).hasClass(\"active\")) {\n            tabLink.removeClass(\"active\");\n            tabContent.removeClass(\"active\");\n\n            curTab.addClass(\"active\");\n            ulElm.next().find(curTab.data(\"target\")).addClass(\"active\");\n          }\n        } else {\n          if ($(\".product-template-full-width\").length) {\n            if (!$(this).hasClass(\"active\")) {\n              curTab.addClass(\"active\");\n\n              curTabContent.show(0, function () {\n                $(document.body).trigger(\"sticky_kit:recalc\");\n              });\n            } else {\n              curTab.removeClass(\"active\");\n\n              curTabContent.hide(0, function () {\n                $(document.body).trigger(\"sticky_kit:recalc\");\n              });\n            }\n          } else if ($(\".has-sticky-product-img\").length) {\n            if (!$(this).hasClass(\"active\")) {\n              curTab.addClass(\"active\");\n              curTabContent.show();\n            } else {\n              curTab.removeClass(\"active\");\n              curTabContent.hide();\n            }\n          } else {\n            if (!$(this).hasClass(\"active\")) {\n              curTab.addClass(\"active\");\n              curTabContent.slideDown();\n            } else {\n              curTab.removeClass(\"active\");\n              curTabContent.slideUp();\n            }\n          }\n        }\n      });\n\n      var sprBadge = \".product-shop .spr-badge\",\n        btnReviewSlt =\n          \".product-template-full-width .spr-summary-actions-newreview\";\n\n      doc.on(\"click.triggerTabsReviews\", sprBadge, function () {\n        if (listTabs.length) {\n          $(\"html,body\").animate(\n            {\n              scrollTop: listTabs.offset().top,\n            },\n            400\n          );\n\n          if (\n            !$(\".product-template-skin-1\").length ||\n            !$(\".product-template-supermarket\").length\n          ) {\n            var activeTab = listTabs.find('[data-target=\"#collapse-tab2\"]');\n            if (!activeTab.hasClass(\"active\")) {\n              activeTab.trigger(\"click\");\n            }\n          }\n        }\n      });\n\n      if ($(\".product-template-full-width\").length) {\n        doc.on(\"click\", btnReviewSlt, function () {\n          $(document.body).trigger(\"sticky_kit:recalc\");\n        });\n      }\n    },\n\n    initStickyForProductFullWidth: function () {\n      var productTplFullWidth = $(\".product-template-full-width\"),\n        winWidth = win.innerWidth(),\n        stickyElm1 = productTplFullWidth.find(\"[data-sticky-1]\"),\n        stickyElm2 = productTplFullWidth.find(\"[data-sticky-2]\"),\n        stickyElm3 = productTplFullWidth.find(\"[data-sticky-3]\"),\n        stickyResizeTimerId,\n        destroySticky = function () {\n          stickyElm1.trigger(\"sticky_kit:detach\");\n          stickyElm3.trigger(\"sticky_kit:detach\");\n          stickyElm2.trigger(\"sticky_kit:detach\");\n        },\n        initSticky = function () {\n          if (\n            stickyElm1.outerHeight() < stickyElm2.outerHeight() ||\n            stickyElm1.outerHeight() < stickyElm3.outerHeight()\n          ) {\n            stickyElm1.stick_in_parent({\n              offset_top: 70,\n              inner_scrolling: false,\n            });\n          }\n          stickyElm3.stick_in_parent({\n            offset_top: 68,\n          });\n          stickyElm2\n            .stick_in_parent({\n              offset_top: 50,\n            })\n            .on(\"sticky_kit:bottom\", function () {\n              stickyElm2.addClass(\"sticky-on-bottom\");\n            })\n            .on(\"sticky_kit:unbottom\", function () {\n              stickyElm2.removeClass(\"sticky-on-bottom\");\n            });\n        };\n\n      if (productTplFullWidth.length) {\n        if (winWidth >= 1200) {\n          initSticky();\n        }\n\n        win.off(\"resize.sticky\").on(\"resize.sticky\", function () {\n          clearTimeout(stickyResizeTimerId);\n\n          stickyResizeTimerId = setTimeout(function () {\n            var curWinWidth = win.innerWidth();\n\n            if (curWinWidth < 1200 && winWidth >= 1200) {\n              destroySticky();\n            } else if (curWinWidth >= 1200 && winWidth < 1200) {\n              initSticky();\n            }\n\n            winWidth = curWinWidth;\n          }, 0);\n        });\n      }\n    },\n\n    initQuickView: function () {\n      body\n        .off(\"click.initQuickView\", \".quickview-button\")\n        .on(\"click.initQuickView\", \".quickview-button\", function (e) {\n          e.preventDefault();\n          e.stopPropagation();\n\n          var href = $(this).attr(\"id\");\n          ella.doAjaxShowQuickView(href);\n\n          ella.closeSuccessModal();\n        });\n    },\n\n    doAjaxShowQuickView: function (href) {\n      if (ella.isAjaxLoading) return;\n\n      $.ajax({\n        type: \"get\",\n        url: window.router + \"/products/\" + href + \"?view=quickview\",\n\n        beforeSend: function () {\n          ella.showLoading();\n\n          html.css({\n            overflow: \"hidden\",\n          });\n        },\n\n        success: function (data) {\n          var quickviewModal = $(\"[data-quickview-modal]\"),\n            modalContent = quickviewModal.find(\".halo-modal-body\");\n          modalContent.html(data);\n          setTimeout(function () {\n            ella.translateBlock(\"[data-quickview-modal]\");\n            ella.initProductMoreview(\n              $(\"[data-more-view-product-qv] .product-img-box\")\n            );\n            ella.initSoldOutProductShop();\n            ella.initCustomerViewProductShop();\n            ella.changeSwatch(\".quickview-tpl .swatch :radio\");\n            ella.initCountdownNormal();\n            ella.initZoom();\n            ella.setAddedForWishlistIcon(href);\n\n            $.getScript(\n              \"https://s7.addthis.com/js/300/addthis_widget.js#pubid=ra-595b0ea2fb9c5869\"\n            ).done(function () {\n              if (typeof addthis !== \"undefined\") {\n                addthis.init();\n                addthis.layers.refresh();\n              }\n            });\n\n            if (\n              $(\".shopify-product-reviews-badge\").length &&\n              $(\".spr-badge\").length\n            ) {\n              return (\n                window.SPR.registerCallbacks(),\n                window.SPR.initRatingHandler(),\n                window.SPR.initDomEls(),\n                window.SPR.loadProducts(),\n                window.SPR.loadBadges()\n              );\n            }\n          }, 500);\n\n          ella.hideLoading();\n\n          quickviewModal.fadeIn(600, function () {\n            // html.addClass('halo-modal-open');\n\n            if ($(\"[data-ajax-cart-success]\").is(\":visible\")) {\n              $(\"[data-ajax-cart-success]\").hide();\n            }\n          });\n        },\n\n        error: function (xhr, text) {\n          $(\".ajax-error-message\").text(\n            $.parseJSON(xhr.responseText).description\n          );\n          ella.hideLoading();\n          ella.showModal(\".ajax-error-modal\");\n        },\n      });\n    },\n\n    initZoom: function () {\n      var zoomElm = $(\".product-img-box [data-zoom]\");\n\n      if (win.width() >= 1200) {\n        zoomElm.zoom();\n      } else {\n        zoomElm.trigger(\"zoom.destroy\");\n      }\n    },\n\n    openSearchForm: function () {\n      var iconSearchSlt = \"[data-search-mobile-toggle]\",\n        wrapperHeader = $(\".wrapper-header\"),\n        formSearch = wrapperHeader.find(\".search-form\"),\n        closeSearch = $(\".search-open .wrapper-header .close-search\");\n\n      doc\n        .off(\"click.toggleSearch\", iconSearchSlt)\n        .on(\"click.toggleSearch\", iconSearchSlt, function (e) {\n          e.preventDefault();\n          e.stopPropagation();\n\n          $(\".header-search\").find(\".quickSearchResultsWrap\").show();\n\n          html.addClass(\"search-open\");\n          html.removeClass(\"search-dropdown-open\");\n          $(body).addClass(\"sidebar-show\");\n          $(\".search-form .header-search\").show();\n          var self = $(this);\n          var url = self.data(\"url\");\n          var limit = self.data(\"limit\");\n          var grid = self.data(\"limit\");\n          if (\n            !self\n              .parents(\".header-search\")\n              .find(\n                \".quickSearchResultsWrap .header-search__product .products-grid .product-item\"\n              ).length\n          ) {\n            $.ajax({\n              type: \"get\",\n              url: window.router + \"/collections/\" + url,\n              cache: false,\n              data: {\n                view: \"list_product\",\n                constraint:\n                  \"limit=\" +\n                  limit +\n                  \"+grid=\" +\n                  grid +\n                  \"+sectionId=search-form-product\",\n              },\n              beforeSend: function () {\n                self.addClass(\"ajax-loaded\");\n              },\n              success: function (data) {\n                if (url != \"\") {\n                  $(\".search__products\").find(\".products-grid\").html(data);\n                }\n                $('[data-toggle=\"tooltip\"]').tooltip();\n                ella.swapHoverVideo();\n              },\n              complete: function () {\n                if (ella.checkNeedToConvertCurrency()) {\n                  Currency.convertAll(\n                    window.shop_currency,\n                    $(\"#currencies .active\").attr(\"data-currency\"),\n                    \"span.money\",\n                    \"money_format\"\n                  );\n                }\n                if (\n                  $(\".shopify-product-reviews-badge\").length &&\n                  $(\".spr-badge\").length\n                ) {\n                  return (\n                    window.SPR.registerCallbacks(),\n                    window.SPR.initRatingHandler(),\n                    window.SPR.initDomEls(),\n                    window.SPR.loadProducts(),\n                    window.SPR.loadBadges()\n                  );\n                }\n              },\n            });\n          }\n          if ($(window).width() < 1200) {\n            $(\".quickSearchResultsWrap\").show();\n          }\n\n          if ($(\".header_mobile_3\").length) {\n            $(\".close-search-style-3\").show();\n          }\n        });\n      // doc.off(\"click.offPopup\").on(\"click.offPopup\", function (e) {\n      //   var searchForm = $(\".wrapper-header .search-form .search-bar\");\n      //   var searchProduct = $(\".wrapper-header .header-search__product\");\n      //   var searchTrending = $(\".wrapper-header .header-search__trending\");\n      //   var overlay = $(\".wrapper-overlay\");\n      //   var iconSearchSlt = $(\"[data-search-mobile-toggle]\");\n      //   var slideshow = $(\".home-slideshow .slide-action\");\n      //   var searchBottom = $(\".halo-sticky-toolbar-mobile\");\n      //   var searchSidebar = $(\"#search-form-mobile\");\n\n      //   var customerSidebar = $(\"#dropdown-customer\");\n      //   var cartSidebar = $(\"#dropdown-cart\");\n      //   var mainMenu = $(\".wrapper-navigation .jas-mb-style\");\n      //   var menuCloseBtn = $(\".wrapper-navigation .close-menu-mb\");\n      //   if (\n      //     !searchForm.is(e.target) &&\n      //     !iconSearchSlt.is(e.target) &&\n      //     !slideshow.has(e.target).length &&\n      //     !searchForm.has(e.target).length &&\n      //     !searchProduct.has(e.target).length &&\n      //     !searchTrending.has(e.target).length &&\n      //     !overlay.has(e.target).length &&\n      //     !searchBottom.is(e.target) &&\n      //     !searchSidebar.is(e.target) &&\n      //     !searchSidebar.has(e.target).length &&\n\n      //     !customerSidebar.is(e.target) &&\n      //     !customerSidebar.has(e.target).length &&\n      //     !cartSidebar.is(e.target) &&\n      //     !cartSidebar.has(e.target).length &&\n      //     !mainMenu.is(e.target) &&\n      //     !mainMenu.has(e.target).length &&\n      //     !menuCloseBtn.is(e.target) &&\n      //     !menuCloseBtn.has(e.target).length\n      //   ) {\n      //     $(\".search-form .header-search\").hide();\n      //     html.removeClass(\"search-open\");\n      //     $(\".close-search-style-3\").hide();\n      //     html.removeClass(\"search-dropdown-open\");\n      //     $(\".quickSearchResultsWrap\").hide();\n\n      //     $(body).removeClass(\"sidebar-show\");\n      //     html.removeClass(\"customer-show\");\n      //     html.removeClass(\"cart-show\");\n      //     $(\".close-menu-mb\").removeClass(\"menu-open\");\n      //     html.removeClass(\"translate-overlay\");\n\n      //     $(\".site-nav\")\n      //       .find(\"[data-toggle-menu-mb]\")\n      //       .parent()\n      //       .next(\".sub-menu-mobile\")\n      //       .removeClass(\"sub-menu-open\");\n      //   }\n      // });\n      // background-sidebar-cover\n\n      $(\n        \".header_mobile_3 .header-mb-right .search-form .search-bar .header-search__input\"\n      )\n        .off(\"click.hideCloseSearch\")\n        .on(\"click.hideCloseSearch\", function (e) {\n          $(\".close-search-style-3\").show();\n        });\n\n      $(\".close-search-style-3, [data-search-close-sidebar]\")\n        .off(\"click.hideQuickSearchStyle3\")\n        .on(\"click.hideQuickSearchStyle3\", function (e) {\n          e.preventDefault();\n          e.stopPropagation();\n          $(\".search-form .header-search\").hide();\n          $(\".quickSearchResultsWrap\").hide();\n          $(\".close-search-style-3\").hide();\n          html.removeClass(\"search-open\");\n          $(body).removeClass(\"sidebar-show\");\n          html.removeClass(\"search-dropdown-open\");\n        });\n    },\n\n    /* stickyFixedTopMenu: function () {\n      if (window.fixtop_menu) {\n        if (window.innerWidth >= 1200) {\n          $(\"[data-sticky-mb]\").unstick();\n\n          setTimeout(function () {\n            $(\".site-header\").css(\"height\", \"\");\n            $(\"[data-sticky-pc]\").sticky({\n              zIndex: 99,\n            });\n\n            $(\"[data-sticky-pc]\").on(\"sticky-start\", function () {\n              body.addClass(\"has_sticky\");\n            });\n\n            $(\"[data-sticky-pc]\").on(\"sticky-end\", function () {\n              body.removeClass(\"has_sticky\");\n            });\n          }, 100);\n        } else {\n          $(\"[data-sticky-pc]\").unstick();\n\n          setTimeout(function () {\n            $(\".site-header\").css(\"height\", \"\");\n            $(\"[data-sticky-mb]\").sticky({\n              zIndex: 99,\n            });\n          }, 100);\n        }\n      }\n    }, */\n    stickyFixedTopMenu: function () {\n      if (window.fixtop_menu) {\n        // \u8BB0\u5F55\u4E0A\u4E00\u6B21\u6EDA\u52A8\u4F4D\u7F6E\n        let lastScrollTop = 0;\n        // \u83DC\u5355\u5143\u7D20\n        const $stickyPc = $(\"[data-sticky-pc]\");\n        const $stickyMb = $(\"[data-sticky-mb]\");\n        const $header = $(\".site-header\");\n        \n        // \u521D\u59CB\u5316\u7C98\u6027\u83DC\u5355\n        const initSticky = () => {\n          if (window.innerWidth >= 1200) {\n            setTimeout(() => {\n              $stickyMb.unstick();\n              $stickyPc.unstick();\n              $header.css(\"height\", \"\");\n              $stickyPc.sticky({ zIndex: 99 });\n              \n              $stickyPc.on(\"sticky-start\", () => {\n                body.addClass(\"has_sticky\");\n              });\n              \n              $stickyPc.on(\"sticky-end\", () => {\n                body.removeClass(\"has_sticky\");\n              });\n            }, 100);\n          } else {\n            $stickyPc.unstick();\n            $stickyMb.unstick();\n            \n            setTimeout(() => {\n              $header.css(\"height\", \"\");\n              $stickyMb.sticky({ zIndex: 99 });\n            }, 100);\n          }\n        };\n        \n        // \u521D\u59CB\u5316\n        initSticky();\n        \n        // \u5904\u7406\u6EDA\u52A8\u4E8B\u4EF6\n        const handleScroll = () => {\n          const scrollTop = $(window).scrollTop();\n          const currentSticky = window.innerWidth >= 1200 ? $stickyPc : $stickyMb;\n          \n          // \u53EA\u5728\u83DC\u5355\u5904\u4E8E\u7C98\u6027\u72B6\u6001\u65F6\u5E94\u7528\u6EDA\u52A8\u884C\u4E3A\n          if (currentSticky.parent('#sticky-wrapper').hasClass('is-sticky')) {\n            // \u4E0B\u6ED1\u4E14\u6EDA\u52A8\u8DDD\u79BB\u8D85\u8FC7100px\u65F6\u6536\u8D77\u83DC\u5355\n            if (scrollTop > lastScrollTop && scrollTop > 100) {\n              currentSticky.addClass('sticky-hidden');\n            } \n            // \u4E0A\u6ED1\u65F6\u5C55\u5F00\u83DC\u5355\n            else {\n              currentSticky.removeClass('sticky-hidden');\n            }\n          }\n          \n          // \u66F4\u65B0\u4E0A\u4E00\u6B21\u6EDA\u52A8\u4F4D\u7F6E\n          lastScrollTop = scrollTop <= 0 ? 0 : scrollTop;\n        };\n        \n        // \u76D1\u542C\u6EDA\u52A8\u4E8B\u4EF6\n        $(window).off('scroll.stickyMenu').on('scroll.stickyMenu', handleScroll);\n        \n        // \u7A97\u53E3\u5927\u5C0F\u6539\u53D8\u65F6\u91CD\u65B0\u521D\u59CB\u5316\n        $(window).off('resize.stickyMenu').on('resize.stickyMenu', () => {\n          initSticky();\n        });\n      }\n    },\n\n    handleScrollDown: function () {\n      var iconSrollDownSlt = \"[data-scroll-down]\",\n        iconSrollDown = $(iconSrollDownSlt);\n\n      iconSrollDown.each(function () {\n        var self = $(this);\n        var target = self\n          .closest(\".shopify-section\")\n          .next(\".shopify-section\")\n          .attr(\"id\");\n\n        self.attr(\"href\", \"#\" + target + \"\");\n\n        doc\n          .off(\"click.handleScrollDown\", iconSrollDownSlt)\n          .on(\"click.handleScrollDown\", iconSrollDownSlt, function (e) {\n            e.preventDefault();\n\n            var scroll = $(this.getAttribute(\"href\"));\n\n            if (scroll.length) {\n              $(\"html, body\").stop().animate(\n                {\n                  scrollTop: scroll.offset().top,\n                },\n                500\n              );\n            }\n          });\n      });\n    },\n\n    initStickyAddToCart: function () {\n      var blockSticky = $(\"[data-sticky-add-to-cart]\"),\n        sltVariantActive = blockSticky.find(\".pr-active\"),\n        variantElm = blockSticky.find(\".pr-swatch\");\n      var variant_id = \"\";\n      if (blockSticky.length) {\n        var showHideVariantsOptions = function () {\n          sltVariantActive\n            .off(\"click.showListVariant\")\n            .on(\"click.showListVariant\", function (e) {\n              e.preventDefault();\n              blockSticky.toggleClass(\"open-sticky\");\n            });\n\n          doc\n            .off(\"click.hideVariantsOption\")\n            .on(\"click.hideVariantsOption\", function (e) {\n              if (\n\n                !sltVariantActive.is(e.target) &&\n                sltVariantActive.has(e.target).length === 0\n              ) {\n                blockSticky.removeClass(\"open-sticky\");\n              }\n            });\n        };\n\n        var handleActiveVariant = function () {\n          variantElm.off(\"click.activeVar\").on(\"click.activeVar\", function (e) {\n            var self = $(this),\n              text = self.text(),\n              value = self.data(\"value\"),\n              newImage = self.data(\"img\");\n\n            variantElm.removeClass(\"active\");\n            self.addClass(\"active\");\n            blockSticky.toggleClass(\"open-sticky\");\n\n            blockSticky.find(\".action input[type=hidden]\").val(value);\n            sltVariantActive.attr(\"data-value\", value).text(text);\n\n            var swatchNameValue = $(\n              '#add-to-cart-form [data-value-sticky=\"' + value + '\"]'\n            );\n            swatchNameValue.each(function () {\n              var slt = $(this).data(\"value\");\n\n              $('[data-value=\"' + slt + '\"]')\n                .closest(\".swatch\")\n                .find(\"#\" + slt + \"\")\n                .click();\n            });\n\n            if (self.hasClass(\"sold-out\")) {\n              blockSticky\n                .find(\".sticky-add-to-cart\")\n                .val(window.inventory_text.sold_out)\n                .addClass(\"disabled\")\n                .attr(\"disabled\", \"disabled\");\n            } else {\n              blockSticky\n                .find(\".sticky-add-to-cart\")\n                .removeClass(\"disabled\")\n                .removeAttr(\"disabled\")\n                .val(window.inventory_text.add_to_cart);\n            }\n\n            $(\".pr-img img\").attr({ src: newImage });\n\n            return false;\n          });\n        };\n\n        var stickyAddToCart = function () {\n          doc.on(\"click\", \"[data-sticky-btn-addToCart]\", function (e) {\n            e.preventDefault();\n            if ($(\"#add-to-cart-form [data-btn-addToCart]\").length) {\n              $(\"#add-to-cart-form [data-btn-addToCart]\").click();\n            } else if ($(\"#add-to-cart-form [data-grouped-addToCart]\").length) {\n              $(\"#add-to-cart-form [data-grouped-addToCart]\").click();\n            }\n\n            return false;\n          });\n        };\n\n        var activeVariantSelected = function () {\n          var optionSelected = $(\"#product-selectors option:selected\"),\n            value = optionSelected.val(),\n            stickyActive = blockSticky.find(\n              '.pr-swatch[data-value=\"' + value + '\"]'\n            ),\n            stickyText = stickyActive.html();\n          sltVariantActive.html(stickyText);\n          stickyActive.addClass(\"active\");\n\n          var str = stickyActive.data(\"img\");\n\n          $(\".pr-img img\").attr({ src: str });\n\n          $(\".swatch .swatch-element\").each(function (e) {\n            var idVariant = $(this).find(\"input:radio\").attr(\"id\");\n\n            $('.swatch input.text[data-value=\"' + idVariant + '\"]').appendTo(\n              $(this)\n            );\n          });\n\n          $(\".selector-wrapper\").change(function () {\n            var n = $(\"#product-selectors\").val();\n            $(\".sticky_form .pr-selectors li\").each(function (e) {\n              var t = $(this).find(\"a\").data(\"value\");\n\n              if (t == n) {\n                $(this).find(\"a\").addClass(\"active\");\n              } else {\n                $(this).find(\"a\").removeClass(\"active\");\n              }\n            });\n\n            $(\"#product-selectors\")\n              .change(function () {\n                var str = \"\";\n                $(\"#product-selectors option:selected\").each(function () {\n                  str += $(this).data(\"imge\");\n                });\n\n                $(\".pr-img img\").attr({ src: str });\n              })\n              .trigger(\"change\");\n\n            if (variantElm.hasClass(\"active\")) {\n              var h = $(\".sticky_form .pr-swatch.active\").html();\n\n              $(\".sticky_form .action input[type=hidden]\").val(n);\n              sltVariantActive.html(h);\n              sltVariantActive.attr(\"data-value\", n);\n            }\n            ella.changeLevelDisct(n);\n          });\n        };\n\n        if ($(\"#product-add-to-cart\").val() == \"Sold Out\") {\n          $(\".level-discount-box\").hide();\n        } else {\n          $(\".level-discount-box\").show();\n        }\n\n        var offSetTop = $(\"#add-to-cart-form .groups-btn\").offset().top;\n\n        $(window).scroll(function () {\n          var scrollTop = $(this).scrollTop();\n          if (scrollTop + $(this).height() + 100 >= $(document).height()) {\n            body.removeClass(\"show_sticky\");\n          } else if (scrollTop > offSetTop) {\n            body.addClass(\"show_sticky\");\n          } else {\n            body.removeClass(\"show_sticky\");\n          }\n        });\n\n        var initGraThisDeal = function () {\n          $(\".bulk-add-btn\").click(function (e) {\n            e.preventDefault();\n            let choice_num = $(\".disct-radio-box\")\n              .find(\"input:checked\")\n              .prev()\n              .data(\"buy_num\");\n            var variantId = $(\".level-discount-box\")\n              .find(\"input[name=pro_id]\")\n              .val();\n            var image = $(\".pr-img.sticky-item\").find(\"img\").attr(\"src\");\n            let title = $(\".pr-img.sticky-item\")\n              .find(\".product-title span\")\n              .text();\n            let params = {\n              id: variantId,\n              quantity: choice_num,\n            };\n            ella.doAjaxAddToCartNormal(params, true, title, image);\n          });\n        };\n\n        showHideVariantsOptions();\n        handleActiveVariant();\n        stickyAddToCart();\n        activeVariantSelected();\n        initGraThisDeal();\n      }\n    },\n\n    createWishListTplItem: function (ProductHandle) {\n      var wishListCotainer = $(\"[data-wishlist-container]\");\n\n      jQuery.getJSON(\n        window.router + \"/products/\" + ProductHandle + \".js\",\n        function (product) {\n          var productHTML = \"\",\n            price_min = Shopify.formatMoney(\n              product.price_min,\n              window.money_format\n            );\n\n          productHTML +=\n            '<div class=\"grid-item\" data-wishlist-added=\"wishlist-' +\n            product.id +\n            '\">';\n          productHTML +=\n            '<div class=\"inner product-item\" data-product-id=\"product-' +\n            product.handle +\n            '\">';\n          productHTML +=\n            '<div class=\"column col-img\"><div class=\"product-image\">';\n          productHTML +=\n            '<a href=\"' +\n            product.url +\n            '\" class=\"product-grid-image\" data-collections-related=\"/collections/all?view=related\">';\n          if (product.featured_image) {\n            productHTML +=\n              '<img src=\"' +\n              product.featured_image +\n              '\" alt=\"' +\n              product.featured_image.alt +\n              '\">';\n          }\n          productHTML += \"</a></div></div>\";\n          productHTML += '<div class=\"column col-prod\">';\n          productHTML +=\n            '<a class=\"product-title\" href=\"' +\n            product.url +\n            '\" title=\"' +\n            product.title +\n            '\">' +\n            product.title +\n            \"</a>\";\n          productHTML += '<div class=\"product-vendor\">';\n          productHTML +=\n            '<a href=\"' +\n            window.router +\n            \"/collections/vendors?q=\" +\n            product.vendor +\n            '\" title=\"' +\n            product.vendor +\n            '\">' +\n            product.vendor +\n            \"</a></div></div>\";\n          productHTML +=\n            '<div class=\"column col-price text-center\"><div class=\"price-box\">' +\n            price_min +\n            \"</div></div>\";\n          productHTML += '<div class=\"column col-options text-center\">';\n          productHTML +=\n            '<form action=\"/cart/add\" method=\"post\" class=\"variants\" id=\"wishlist-product-form-' +\n            product.id +\n            '\" data-id=\"product-actions-' +\n            product.id +\n            '\" enctype=\"multipart/form-data\">';\n\n          if (product.available) {\n            if (product.variants.length == 1) {\n              productHTML +=\n                '<button data-btn-addToCart class=\"btn add-to-cart-btn\" data-form-id=\"#wishlist-product-form-' +\n                product.id +\n                '\" type=\"submit\">' +\n                window.inventory_text.add_to_cart +\n                '</button><input type=\"hidden\" name=\"id\" value=\"' +\n                product.variants[0].id +\n                '\" />';\n            }\n            if (product.variants.length > 1) {\n              productHTML +=\n                '<a class=\"btn\" title=\"' +\n                product.title +\n                '\" href=\"' +\n                product.url +\n                '\">' +\n                window.inventory_text.select_options +\n                \"</a>\";\n            }\n          } else {\n            productHTML +=\n              '<button class=\"btn add-to-cart-btn\" type=\"submit\" disabled=\"disabled\">' +\n              window.inventory_text.unavailable +\n              \"</button>\";\n          }\n\n          productHTML += \"</form></div>\";\n          productHTML +=\n            '<div class=\"column col-remove text-center\"><a class=\"whislist-added\" href=\"#\" data-product-handle=\"' +\n            product.handle +\n            '\" data-icon-wishlist data-id=\"' +\n            product.id +\n            '\"><svg class=\"closemnu\" version=\"1.1\" id=\"Capa_1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" x=\"0px\" y=\"0px\" viewBox=\"0 0 357 357\" xml:space=\"preserve\"><g><g><polygon points=\"357,35.7 321.3,0 178.5,142.8 35.7,0 0,35.7 142.8,178.5 0,321.3 35.7,357 178.5,214.2 321.3,357 357,321.3 214.2,178.5\"></polygon></g></g></svg></a></div>';\n          productHTML += \"</div></div>\";\n\n          wishListCotainer.append(productHTML);\n          var regex = /(<([^>]+)>)/gi;\n          var href = $(\".wrapper-wishlist a.share\").attr(\"href\");\n          href += encodeURIComponent(\n            product.title +\n              \"\\nPrice: \" +\n              price_min.replace(regex, \"\") +\n              \"\\nLink: \" +\n              window.location.protocol +\n              \"//\" +\n              window.location.hostname +\n              product.url +\n              \"\\n\\n\"\n          );\n          $(\".wrapper-wishlist a.share\").attr(\"href\", href);\n        }\n      );\n    },\n\n    initWishListPagging: function () {\n      var data = JSON.parse(localStorage.getItem(\"items\"));\n\n      var wlpaggingContainer = $(\"#wishlist-paginate\");\n      var paggingTpl =\n        '<li class=\"text disabled prev\"><a href=\"#\" title=\"' +\n        window.inventory_text.previous +\n        '\"><i class=\"fa fa-angle-left\" aria-hidden=\"true\"></i><span>' +\n        window.inventory_text.previous +\n        \"</span></a></li>\";\n      var wishListCotainer = $(\"[data-wishlist-container]\");\n\n      wlpaggingContainer.children().remove();\n\n      var totalPages = Math.ceil(data.length / 3);\n\n      if (totalPages <= 1) {\n        wishListCotainer.children().show();\n        return;\n      }\n\n      for (var i = 0; i < totalPages; i++) {\n        var pageNum = i + 1;\n        if (i === 0)\n          paggingTpl +=\n            '<li class=\"active\"><a data-page=\"' +\n            pageNum +\n            '\" href=\"' +\n            pageNum +\n            '\" title=\"' +\n            pageNum +\n            '\">' +\n            pageNum +\n            \"</a></li>\";\n        else\n          paggingTpl +=\n            '<li><a data-page=\"' +\n            pageNum +\n            '\" href=\"' +\n            pageNum +\n            '\" title=\"' +\n            pageNum +\n            '\">' +\n            pageNum +\n            \"</a></li>\";\n      }\n\n      paggingTpl +=\n        '<li class=\"text next\"><a href=\"#\" title=\"' +\n        window.inventory_text.next +\n        '\"><span>' +\n        window.inventory_text.next +\n        '</span><i class=\"fa fa-angle-right\" aria-hidden=\"true\"></i></a></li>';\n\n      wlpaggingContainer.append(paggingTpl);\n\n      wishListCotainer.children().each(function (idx, elm) {\n        if (idx >= 0 && idx < 3) {\n          $(elm).show();\n        } else {\n          $(elm).hide();\n        }\n      });\n\n      wlpaggingContainer\n        .off(\"click.wl-pagging\")\n        .on(\"click.wl-pagging\", \"li a\", function (e) {\n          e.preventDefault();\n\n          var isPrev = $(this).parent().hasClass(\"prev\");\n          var isNext = $(this).parent().hasClass(\"next\");\n          var pageNumber = $(this).data(\"page\");\n\n          if (isPrev) {\n            var curPage = parseInt(\n              $(this).parent().siblings(\".active\").children().data(\"page\")\n            );\n            pageNumber = curPage - 1;\n          }\n\n          if (isNext) {\n            var curPage = parseInt(\n              $(this).parent().siblings(\".active\").children().data(\"page\")\n            );\n            pageNumber = curPage + 1;\n          }\n\n          wishListCotainer.children().each(function (idx, elm) {\n            if (idx >= (pageNumber - 1) * 3 && idx < pageNumber * 3) {\n              $(elm).show();\n            } else {\n              $(elm).hide();\n            }\n          });\n\n          if (pageNumber === 1) {\n            wlpaggingContainer.find(\".prev\").addClass(\"disabled\");\n            wlpaggingContainer.find(\".next\").removeClass(\"disabled\");\n          } else if (pageNumber === totalPages) {\n            wlpaggingContainer.find(\".next\").addClass(\"disabled\");\n            wlpaggingContainer.find(\".prev\").removeClass(\"disabled\");\n          } else {\n            wlpaggingContainer.find(\".prev\").removeClass(\"disabled\");\n            wlpaggingContainer.find(\".next\").removeClass(\"disabled\");\n          }\n\n          $(this).parent().siblings(\".active\").removeClass(\"active\");\n          wlpaggingContainer\n            .find('[data-page=\"' + pageNumber + '\"]')\n            .parent()\n            .addClass(\"active\");\n        });\n    },\n\n    initWishLists: function () {\n      if (typeof Storage !== \"undefined\") {\n        var data = JSON.parse(localStorage.getItem(\"items\"));\n\n        if (data.length <= 0) {\n          return;\n        }\n\n        data.forEach(function (item) {\n          ella.createWishListTplItem(item);\n        });\n\n        this.initWishListPagging();\n        this.translateBlock(\".wishlist-page\");\n      } else {\n        alert(\"Sorry! No web storage support..\");\n      }\n    },\n\n    setAddedForWishlistIcon: function (ProductHandle) {\n      var wishlistElm = $('[data-product-handle=\"' + ProductHandle + '\"]'),\n        idxArr = wishListsArr.indexOf(ProductHandle);\n\n      var wishListCountNum = $(\"[data-wishlist-count]\");\n      var totalProductWs = Math.ceil(wishListsArr.length);\n      wishListCountNum.text(totalProductWs);\n\n      if (idxArr >= 0) {\n        wishlistElm.addClass(\"whislist-added\");\n        if ($(\".style_product_grid_3\").length) {\n          wishlistElm\n            .find(\".wishlist-text\")\n            .text(window.inventory_text.remove_wishlist_1);\n        } else {\n          wishlistElm\n            .find(\".wishlist-text\")\n            .text(window.inventory_text.remove_wishlist);\n        }\n      } else {\n        wishlistElm.removeClass(\"whislist-added\");\n        if ($(\".style_product_grid_3\").length) {\n          wishlistElm\n            .find(\".wishlist-text\")\n            .text(window.inventory_text.add_wishlist_1);\n        } else {\n          wishlistElm\n            .find(\".wishlist-text\")\n            .text(window.inventory_text.add_wishlist);\n        }\n      }\n    },\n\n    doAddOrRemoveWishlish: function () {\n      var iconWishListsSlt = \"[data-icon-wishlist]\";\n      var wishListCountNum = $(\"[data-wishlist-count]\");\n      var totalProductWs = Math.ceil(wishListsArr.length);\n      wishListCountNum.text(totalProductWs);\n\n      doc\n        .off(\"click.addOrRemoveWishlist\", iconWishListsSlt)\n        .on(\"click.addOrRemoveWishlist\", iconWishListsSlt, function (e) {\n          e.preventDefault();\n\n          var self = $(this),\n            productId = self.data(\"id\"),\n            ProductHandle = self.data(\"product-handle\"),\n            idxArr = wishListsArr.indexOf(ProductHandle);\n\n          if (!self.hasClass(\"whislist-added\")) {\n            self.addClass(\"whislist-added\");\n            if ($(\".style_product_grid_3\").length) {\n              self\n                .find(\".wishlist-text\")\n                .text(window.inventory_text.remove_wishlist_1);\n            } else {\n              self\n                .find(\".wishlist-text\")\n                .text(window.inventory_text.remove_wishlist);\n            }\n\n            if ($(\"[data-wishlist-container]\").length) {\n              ella.createWishListTplItem(ProductHandle);\n            }\n\n            wishListsArr.push(ProductHandle);\n            localStorage.setItem(\"items\", JSON.stringify(wishListsArr));\n          } else {\n            self.removeClass(\"whislist-added\");\n            if ($(\".style_product_grid_3\").length) {\n              self\n                .find(\".wishlist-text\")\n                .text(window.inventory_text.add_wishlist_1);\n            } else {\n              self\n                .find(\".wishlist-text\")\n                .text(window.inventory_text.add_wishlist);\n            }\n\n            if (\n              $('[data-wishlist-added=\"wishlist-' + productId + '\"]').length\n            ) {\n              $('[data-wishlist-added=\"wishlist-' + productId + '\"]').remove();\n            }\n\n            wishListsArr.splice(idxArr, 1);\n            localStorage.setItem(\"items\", JSON.stringify(wishListsArr));\n\n            if ($(\"[data-wishlist-container]\").length) {\n              ella.initWishListPagging();\n            }\n          }\n\n          ella.setAddedForWishlistIcon(ProductHandle);\n        });\n    },\n\n    initWishListIcons: function () {\n      var wishListItems = localStorage.getItem(\"items\")\n        ? JSON.parse(localStorage.getItem(\"items\"))\n        : [];\n      var wishListCountNum = $(\"[data-wishlist-count]\");\n      var totalProductWs = Math.ceil(wishListsArr.length);\n      wishListCountNum.text(totalProductWs);\n\n      if (!wishListItems.length) {\n        return;\n      }\n\n      for (var i = 0; i < wishListItems.length; i++) {\n        var icon = $('[data-product-handle=\"' + wishListItems[i] + '\"]');\n        icon.addClass(\"whislist-added\");\n\n        if ($(\".style_product_grid_3\").length) {\n          icon\n            .find(\".wishlist-text\")\n            .text(window.inventory_text.remove_wishlist_1);\n        } else {\n          icon\n            .find(\".wishlist-text\")\n            .text(window.inventory_text.remove_wishlist);\n        }\n      }\n    },\n\n    setAddedForCompareIcon: function (ProductHandle) {\n      var compareElm = $(\n          '[data-compare-product-handle=\"' + ProductHandle + '\"]'\n        ),\n        idxArr = compareArr.indexOf(ProductHandle),\n        compareCountNum = $(\"[data-compare-count]\");\n\n      compareItems = localStorage.getItem(\"compareArr\")\n        ? JSON.parse(localStorage.getItem(\"compareArr\"))\n        : [];\n      totalProduct = Math.ceil(compareItems.length);\n\n      if (idxArr >= 0) {\n        compareElm.addClass(\"compare-added\");\n        compareElm\n          .find(\"[data-change-text-compare]\")\n          .text(window.inventory_text.remove_compare);\n      } else {\n        compareElm.removeClass(\"compare-added\");\n        compareElm\n          .find(\"[data-change-text-compare]\")\n          .text(window.inventory_text.add_compare);\n      }\n\n      if ($(\".l\")) compareCountNum.text(totalProduct);\n\n      if (totalProduct >= 2) {\n        $(\".compare-link\").addClass(\"open\");\n      } else {\n        $(\".compare-link\").removeClass(\"open\");\n      }\n    },\n\n    doAddOrRemoveCompare: function () {\n      var iconCompare = \"[data-icon-compare]\";\n\n      doc\n        .off(\"click.doAddOrRemoveCompare\", iconCompare)\n        .on(\"click.doAddOrRemoveCompare\", iconCompare, function (e) {\n          e.preventDefault();\n\n          var self = $(this),\n            productId = self.data(\"id\"),\n            ProductHandle = self.data(\"compare-product-handle\"),\n            idxArr = compareArr.indexOf(ProductHandle);\n          if (!self.hasClass(\"compare-added\")) {\n            // self.find('.compare-text').text(window.inventory_text.remove_compare);\n\n            compareArr.push(ProductHandle);\n            localStorage.setItem(\"compareArr\", JSON.stringify(compareArr));\n\n            ella.createCompareItem(ProductHandle);\n            self.addClass(\"compare-added\");\n          } else {\n            self.removeClass(\"compare-added\");\n            // self.find('.compare-text').text(window.inventory_text.add_to_compare);\n            if ($('[data-compare-added=\"compare-' + productId + '\"]').length) {\n              $('[data-compare-added=\"compare-' + productId + '\"]').remove();\n            }\n\n            compareArr.splice(idxArr, 1);\n            localStorage.setItem(\"compareArr\", JSON.stringify(compareArr));\n          }\n\n          ella.setAddedForCompareIcon(ProductHandle);\n        });\n    },\n\n    initCompareIcons: function () {\n      var compareCountNum = $(\"[data-compare-count]\");\n\n      totalProduct = Math.ceil(compareArr.length);\n      compareCountNum.text(totalProduct);\n\n      if (!compareArr.length) {\n        return;\n      } else {\n        for (var i = 0; i < compareArr.length; i++) {\n          var icon = $('[data-compare-product-handle=\"' + compareArr[i] + '\"]');\n          icon.addClass(\"compare-added\");\n          // icon.find('.compare-text').text(window.inventory_text.remove_compare);\n        }\n\n        if (typeof Storage !== \"undefined\") {\n          if (compareArr.length <= 0) {\n            return;\n          }\n\n          setTimeout(function () {\n            compareArr.forEach(function (item) {\n              ella.createCompareItem(item);\n              ella.setAddedForCompareIcon(item);\n            });\n          }, 1500);\n        } else {\n          alert(\"Sorry! No web storage support..\");\n        }\n      }\n    },\n\n    initCompareSelected: function () {\n      var iconCompareSelected = \"[data-compare-selected]\";\n      compareModal = $(\"[data-compare-modal]\");\n      compareModalProduct = compareModal.find(\".product-grid\");\n      compareModalMessage = $(\"[data-compare-message-modal]\");\n\n      doc\n        .off(\"click.compareSelected\", iconCompareSelected)\n        .on(\"click.compareSelected\", iconCompareSelected, function (e) {\n          e.preventDefault();\n          e.stopPropagation();\n\n          if (typeof Storage !== \"undefined\") {\n            if (compareArr.length <= 1) {\n              compareModalMessage\n                .find(\".halo-modal-body\")\n                .text(window.inventory_text.message_compare);\n              compareModalMessage.fadeIn(500, function () {\n                html.addClass(\"halo-modal-open\");\n              });\n\n              body.addClass(\"has-popup\");\n            } else {\n              compareArr.forEach(function (item) {\n                ella.removeCompareItem(item);\n              });\n\n              compareModal.fadeIn(600, function () {\n                html.addClass(\"halo-modal-open\");\n              });\n\n              ella.removeAllCompareItem();\n            }\n          } else {\n            alert(\"Sorry! No web storage support..\");\n          }\n\n          ella.closeSuccessModal();\n          ella.translateBlock(\".ajax-compare\");\n          ella.translateBlock(\".compare-message-modal\");\n        });\n    },\n\n    createCompareItem: function (ProductHandle) {\n      var compareProduct = $(\"[data-compare-modal]\").find(\n          \".halo-modal-body .compare-content .product-grid\"\n        ),\n        compareRating = $(\"[data-compare-modal]\").find(\n          \".halo-modal-body .compare-content .rating\"\n        ),\n        compareDescription = $(\"[data-compare-modal]\").find(\n          \".halo-modal-body .compare-content .description\"\n        ),\n        compareCollection = $(\"[data-compare-modal]\").find(\n          \".halo-modal-body .compare-content .collection\"\n        ),\n        compareAvailability = $(\"[data-compare-modal]\").find(\n          \".halo-modal-body .compare-content .availability\"\n        ),\n        compareProductType = $(\"[data-compare-modal]\").find(\n          \".halo-modal-body .compare-content .product-type\"\n        ),\n        compareSKU = $(\"[data-compare-modal]\").find(\n          \".halo-modal-body .compare-content .product-sku\"\n        ),\n        compareOption1 = $(\"[data-compare-modal]\").find(\".option1\"),\n        compareOption2 = $(\"[data-compare-modal]\").find(\".option2\"),\n        compareOption3 = $(\"[data-compare-modal]\").find(\".option3\");\n      compareOption4 = $(\"[data-compare-modal]\").find(\".option4\");\n      compareOption5 = $(\"[data-compare-modal]\").find(\".option5\");\n\n      jQuery.getJSON(\"/products/\" + ProductHandle + \".js\", function (product) {\n        var productHTML = \"\",\n          priceHTML = \"\",\n          productLabelHTML = \"\",\n          ratingHTML = \"\",\n          descriptionHTML = \"\",\n          collectionHTML = \"\",\n          availabilityHTML = \"\",\n          productTypeHTML = \"\",\n          skuHTML = \"\",\n          optionValueHTML = \"\",\n          optionValueHTML2 = \"\",\n          price_min = Shopify.formatMoney(\n            product.price_min,\n            window.money_format\n          );\n\n        var productIDCompare = product.id;\n\n        // Rating\n        // var rating =\n        //   '<span class=\"shopify-product-reviews-badge\" data-id=\"' +\n        //   productIDCompare +\n        //   '\"></span>';\n        var rating = `<div class=\"stars-box\">\n                  <div\n                    class=\"loox-rating no-rating-label\"\n                    data-fetch\n                    data-id=\"${productIDCompare}\"\n                    data-pattern=\"\"\n                  ></div>\n                </div>`;\n        // Description\n        var desc = product.description.substring(0, 100) + \"...\",\n          domparser = new DOMParser(),\n          descriptionHTML = domparser.parseFromString(desc, \"text/html\");\n        // Label\n        var labelSale =\n            ((product.compare_at_price - product.price) /\n              product.compare_at_price) *\n            100,\n          arrayTags = product.tags,\n          percentDiscount = Math.floor(labelSale);\n\n        // Option\n        var productOptions = product.options;\n        $.each(productOptions, function (index, opt) {\n          var optPosition = opt.position,\n            optName = opt.name.toLowerCase(),\n            optValue = opt.values,\n            optValueText = \"\";\n\n          optValue.forEach(function (value, index) {\n            if (value) {\n              if (index > 0) {\n                optValueText += \", \";\n              }\n              optValueText += value;\n            }\n          });\n\n          optionValueHTML2 +=\n            '<div class=\"col-xl-3\" data-compare-added=\"compare-' +\n            product.id +\n            '\">-</div>';\n\n          if (optValueText == \"\" || optValueText == \"Default Title\") {\n            optionValueHTML +=\n              '<div class=\"col-xl-3\" data-compare-added=\"compare-' +\n              product.id +\n              '\">-</div>';\n          } else {\n            optionValueHTML +=\n              '<div class=\"col-xl-3\" data-compare-added=\"compare-' +\n              product.id +\n              '\">' +\n              optValueText +\n              \"</div>\";\n          }\n\n          var optionOneValue = window.option_ptoduct1,\n            optionTwoValue = window.option_ptoduct2;\n          optionThreeValue = window.option_ptoduct3;\n          if (optPosition == 1) {\n            if (optName == optionOneValue) {\n              compareOption1.append(optionValueHTML);\n              compareOption2.append(optionValueHTML2);\n              compareOption3.append(optionValueHTML2);\n            } else if (optName == optionTwoValue) {\n              compareOption1.append(optionValueHTML2);\n              compareOption2.append(optionValueHTML);\n              compareOption3.append(optionValueHTML2);\n            } else if (optName == \"title\") {\n              compareOption1.append(optionValueHTML2);\n              compareOption2.append(optionValueHTML2);\n              compareOption3.append(optionValueHTML2);\n            } else {\n              compareOption1.append(optionValueHTML2);\n              compareOption2.append(optionValueHTML2);\n              compareOption3.append(optionValueHTML);\n            }\n          }\n          if (optPosition == 2) {\n            if (optName == optionOneValue) {\n              compareOption1\n                .find('[data-compare-added=\"compare-' + product.id + '\"]')\n                .html(optValueText);\n            } else if (optName == optionTwoValue) {\n              compareOption2\n                .find('[data-compare-added=\"compare-' + product.id + '\"]')\n                .html(optValueText);\n            } else {\n              compareOption3\n                .find('[data-compare-added=\"compare-' + product.id + '\"]')\n                .html(optValueText);\n            }\n          }\n          if (optPosition == 3) {\n            if (optName == optionOneValue) {\n              compareOption1\n                .find('[data-compare-added=\"compare-' + product.id + '\"]')\n                .html(optValueText);\n            } else if (optName == optionTwoValue) {\n              compareOption2\n                .find('[data-compare-added=\"compare-' + product.id + '\"]')\n                .html(optValueText);\n            } else {\n              compareOption3\n                .find('[data-compare-added=\"compare-' + product.id + '\"]')\n                .html(optValueText);\n            }\n          }\n        });\n        if (rating == \"\" || rating == undefined) {\n          ratingHTML +=\n            '<div class=\"col-xl-3\" data-compare-added=\"compare-' +\n            product.id +\n            '\"></div>';\n        } else {\n          ratingHTML +=\n            '<div class=\"col-xl-3\" data-compare-added=\"compare-' +\n            product.id +\n            '\">' +\n            rating +\n            \"</div>\";\n        }\n        compareRating.append(ratingHTML);\n\n        if (desc == \"\" || desc == undefined) {\n          descriptionHTML +=\n            '<div class=\"col-xl-3\" data-compare-added=\"compare-' +\n            product.id +\n            '\">-</div>';\n        } else {\n          descriptionHTML +=\n            '<div class=\"col-xl-3\" data-compare-added=\"compare-' +\n            product.id +\n            '\">' +\n            desc +\n            \"</div>\";\n        }\n        compareDescription.append(descriptionHTML);\n\n        var sku = product.variants;\n        if (sku.length > 0) {\n          $.each(sku, function (key, value) {\n            if (key == 0) {\n              skuValue = value.sku;\n              if (skuValue == \"\") {\n                skuValueHTML =\n                  '<div class=\"col-xl-3\" data-compare-added=\"compare-' +\n                  product.id +\n                  '\">-</div>';\n                skuHTML += skuValueHTML;\n              } else {\n                skuValueHTML =\n                  '<div class=\"col-xl-3\" data-compare-added=\"compare-' +\n                  product.id +\n                  '\">' +\n                  skuValue +\n                  \"</div>\";\n                skuHTML += skuValueHTML;\n              }\n            }\n          });\n        } else {\n          skuHTML +=\n            '<div class=\"col-xl-3\" data-compare-added=\"compare-' +\n            product.id +\n            '\">-</div>';\n        }\n\n        compareSKU.append(skuHTML);\n\n        productHTML +=\n          '<div class=\"grid-item col-xl-3 product-item\" data-compare-added=\"compare-' +\n          product.id +\n          '\">';\n        productHTML +=\n          '<div class=\"inner\" data-product-id=\"product-' +\n          product.handle +\n          '\"><div class=\"inner-top\"';\n        productHTML += '<div class=\"product-top\"><div class=\"product-image\">';\n        productHTML +=\n          '<a href=\"' +\n          product.url +\n          '\" class=\"product-grid-image\" data-collections-related=\"/collections/all?view=related\">';\n        if (product.featured_image) {\n          productHTML +=\n            '<img src=\"' +\n            product.featured_image +\n            '\" alt=\"' +\n            product.featured_image.alt +\n            '\">';\n        }\n        productHTML += \"</a></div>\";\n        productHTML += '<div class=\"product-label\">';\n        if (product.compare_at_price > product.price) {\n          if (window.label_sale == \"label_sale\") {\n            productHTML +=\n              '<strong class=\"label sale-label\">' +\n              window.inventory_text.salelabel +\n              \" </strong>\";\n            productHTML += \"<br>\";\n          } else {\n            productHTML +=\n              '<strong class=\"label sale-label\">- ' +\n              percentDiscount +\n              \"% </strong>\";\n            productHTML += \"<br>\";\n          }\n        }\n        if (product.available == false) {\n          productHTML +=\n            '<strong class=\"label sold-out-label\">' +\n            window.inventory_text.soldoutlabel +\n            \" </strong>\";\n          productHTML += \"<br>\";\n        }\n\n        arrayTags.forEach(function (element) {\n          if (element == \"new\") {\n            productHTML +=\n              '<strong class=\"label new-label\">' +\n              window.inventory_text.newlabel +\n              \" </strong>\";\n            productHTML += \"<br>\";\n          }\n          if (element == \"Custom Label\") {\n            productHTML +=\n              '<strong class=\"label custom-label\">' +\n              window.inventory_text.customlabel +\n              \" </strong>\";\n            productHTML += \"<br>\";\n          }\n          if (element == \"bundle\") {\n            productHTML +=\n              '<strong class=\"label bundle-label\">' +\n              window.inventory_text.bundlelabel +\n              \" </strong>\";\n            productHTML += \"<br>\";\n          }\n        });\n\n        productHTML += \"</div></div></div>\";\n        productHTML += '<div class=\"product-bottom\">';\n        // productHTML += '<div class=\"product-vendor\">';\n        // productHTML +=\n        //   '<a href=\"/collections/vendors?q=' +\n        //   product.vendor +\n        //   '\" title=\"' +\n        //   product.vendor +\n        //   '\">' +\n        //   product.vendor +\n        //   \"</a></div>\";\n        productHTML +=\n          '<a class=\"product-title\" href=\"' +\n          product.url +\n          '\" title=\"' +\n          product.title +\n          '\">' +\n          product.title +\n          \"</a>\";\n        productHTML +=\n          '<div class=\"column col-price text-center\"><div class=\"price-box\">';\n        if (product.compare_at_price > product.price) {\n          productHTML += '<span class=\"price-sale\">';\n          productHTML +=\n            '<span class=\"old-price\">' +\n            Shopify.formatMoney(\n              product.variants[0].compare_at_price,\n              window.money_format\n            ) +\n            \"</span>\";\n          productHTML +=\n            '<span class=\"price special-price\" itemprop=\"price\"> ' +\n            Shopify.formatMoney(product.price, window.money_format) +\n            \"</span>\";\n          productHTML += \"</span>\";\n        } else {\n          productHTML +=\n            \"<span> \" +\n            Shopify.formatMoney(product.price, window.money_format) +\n            \"</span>\";\n        }\n        productHTML += \"</div></div>\";\n\n        productHTML += '<div class=\"column col-options text-center\">';\n        productHTML +=\n          '<form action=\"/cart/add\" method=\"post\" class=\"variants\" id=\"-' +\n          product.id +\n          '\" data-id=\"product-actions-' +\n          product.id +\n          '\" enctype=\"multipart/form-data\">';\n\n        if (product.available) {\n          if (product.variants.length == 1) {\n            productHTML +=\n              '<button data-btn-addToCart class=\"btn add-to-cart-btn\" type=\"submit\" data-form-id=\"#-' +\n              product.id +\n              '\" >' +\n              window.inventory_text.add_to_cart +\n              '</button><input type=\"hidden\" name=\"id\" value=\"' +\n              product.variants[0].id +\n              '\" />';\n          }\n          if (product.variants.length > 1) {\n            productHTML +=\n              '<a class=\"btn\" title=\"' +\n              product.title +\n              '\" href=\"' +\n              product.url +\n              '\">' +\n              window.inventory_text.select_options +\n              \"</a>\";\n          }\n          availabilityHTML +=\n            '<div class=\"col-xl-3 in-stock\" data-compare-added=\"compare-' +\n            product.id +\n            '\">' +\n            window.inventory_text.in_stock +\n            \"</div>\";\n        } else {\n          productHTML +=\n            '<button data-btn-addToCart class=\"btn add-to-cart-btn\" type=\"submit\" disabled=\"disabled\">' +\n            window.inventory_text.unavailable +\n            \"</button>\";\n          availabilityHTML +=\n            '<div class=\"col-xl-3 unavailable\" data-compare-added=\"compare-' +\n            product.id +\n            '\">' +\n            window.inventory_text.unavailable +\n            \"</div>\";\n        }\n\n        productHTML += \"</form></div>\";\n        productHTML +=\n          '<div class=\"column col-remove text-center\"><a class=\"compare-added\" href=\"#\" data-icon-compare-added data-compare-product-handle=\"' +\n          product.handle +\n          '\" data-id=\"' +\n          product.id +\n          '\">' +\n          window.inventory_text.remove +\n          \"</a></div></div>\";\n\n        productHTML += \"</div></div></div>\";\n\n        compareProduct.append(productHTML);\n\n        productTypeHTML +=\n          '<div class=\"col-xl-3\" data-compare-added=\"compare-' +\n          product.id +\n          '\">' +\n          product.type +\n          \"</div>\";\n\n        compareAvailability.append(availabilityHTML);\n        compareProductType.append(productTypeHTML);\n        if ($(\".spr-badge\").length > 0) {\n          return (\n            window.SPR.registerCallbacks(),\n            window.SPR.initRatingHandler(),\n            window.SPR.initDomEls(),\n            window.SPR.loadProducts(),\n            window.SPR.loadBadges()\n          );\n        }\n      });\n      $.ajax({\n        url: \"/products/\" + ProductHandle + \"?view=get_product_metafield_ajax\",\n        success: function (data) {\n          let dimension_str = $(data).find(\".dimension-info\");\n          let load_capacity_str = $(data).find(\".load_capacity-info\");\n          compareOption4.append(dimension_str);\n          compareOption5.append(load_capacity_str);\n        },\n      });\n    },\n\n    removeCompareItem: function (ProductHandle) {\n      var iconCompareRemove = \"[data-icon-compare-added]\";\n\n      doc\n        .off(\"click.removeCompareItem\", iconCompareRemove)\n        .on(\"click.removeCompareItem\", iconCompareRemove, function (e) {\n          e.preventDefault();\n          e.stopPropagation();\n\n          var self = $(this),\n            productId = self.data(\"id\"),\n            ProductHandle = self.data(\"compare-product-handle\"),\n            idxArr = compareArr.indexOf(ProductHandle);\n\n          if ($('[data-compare-added=\"compare-' + productId + '\"]').length) {\n            $('[data-compare-added=\"compare-' + productId + '\"]').remove();\n          }\n\n          compareArr.splice(idxArr, 1);\n          localStorage.setItem(\"compareArr\", JSON.stringify(compareArr));\n\n          ella.setAddedForCompareIcon(ProductHandle);\n        });\n    },\n\n    removeAllCompareItem: function (ProductHandle) {\n      var compareRemoveAll = \"[data-compare-remove-all]\";\n      compareCountNum = $(\"[data-compare-count]\");\n      compareElm = $(\"[data-icon-compare]\");\n\n      doc\n        .off(\"click.removeAllCompareItem\", compareRemoveAll)\n        .on(\"click.removeAllCompareItem\", compareRemoveAll, function (e) {\n          e.preventDefault();\n          e.stopPropagation();\n\n          $(\"[data-compare-added]\").remove();\n\n          compareArr.splice(0, compareArr.length);\n          localStorage.setItem(\"compareArr\", JSON.stringify(compareArr));\n\n          if (compareElm.hasClass(\"compare-added\")) {\n            compareElm.removeClass(\"compare-added\");\n            // compareElm.find('.compare-text').text(window.inventory_text.add_compare);\n          }\n\n          $(\".compare-link\").removeClass(\"open\");\n\n          totalProduct = Math.ceil(compareArr.length);\n          compareCountNum.text(totalProduct);\n        });\n    },\n\n    wrapTable: function () {\n      var table = $(\".tab-content\").find(\"table\");\n      if (table.length) {\n        table.each(function () {\n          $(this).wrap('<div class=\"table-wrapper\"></div>');\n        });\n      }\n    },\n\n    initBundleProducts: function () {\n      Shopify.addItem = function (e, i, a, o) {\n        let n = {\n          quantity: i,\n          id: e,\n        };\n        !1 != a && (n.properties = a),\n          $.ajax({\n            type: \"POST\",\n            url: \"/cart/add.js\",\n            dataType: \"json\",\n            data: n,\n            success: function () {\n              Shopify.successCount++, \"function\" == typeof o && o();\n            },\n            error: function (a) {\n              console.log(\"AJAX Error:\", a),\n                console.log(\"Error details:\", $.responseJSON),\n                $.responseJSON &&\n                  $.responseJSON.description &&\n                  Shopify.failedDescriptions.push($.responseJSON.description),\n                Shopify.failedIds.push(e),\n                Shopify.successCount++,\n                \"function\" == typeof o && o();\n            },\n          });\n      };\n      var btnAddToCartSlt = \"[data-bundle-addToCart]\",\n        bundleImagesSlide = $(\"[data-bundle-images-slider]\"),\n        btnToggleOptionsSlt = \".fbt-toogle-options\",\n        bundlePrice = $(\".products-grouped-action .bundle-price\"),\n        bundleCheckbox = \".bundle-checkbox\";\n      var replaceDiscountRate = function () {\n        if (bundlePrice.length > 0) {\n          var discountRate = bundlePrice.data(\"discount-rate\") * 100;\n          var discountText = $(\".products-grouped-action .discount-text span\");\n          if (discountText.length > 0) {\n            discountText.each(function () {\n              $(this)\n                .text($(this).text().replace(\"[discount]\", discountRate))\n                .parent()\n                .show();\n            });\n          }\n        }\n      };\n\n      var bundleSlider = function () {\n        if (\n          bundleImagesSlide.length &&\n          bundleImagesSlide.not(\".slick-initialized\")\n        ) {\n          if (\n            window.layout_style == \"layout_style_1170\" ||\n            window.layout_style == \"layout_style_fullwidth\" ||\n            window.layout_style == \"layout_style_flower\" ||\n            window.layout_style == \"layout_style_suppermarket\" ||\n            window.product_style == \"supermarket\" ||\n            window.layout_style == \"layout_style_surfup\"\n          ) {\n            if (window.product_style == \"skin_1\") {\n              var images = 3;\n            } else if (window.product_style == \"supermarket\") {\n              var images = 4;\n            } else {\n              var images = bundleImagesSlide.data(\"rows\");\n            }\n          } else {\n            var images = bundleImagesSlide.data(\"rows\");\n          }\n\n          bundleImagesSlide.slick({\n            get slidesToShow() {\n              if (images >= 5) {\n                return (this.slidesToShow = 5);\n              } else {\n                return (this.slidesToShow = images);\n              }\n            },\n            slidesToScroll: 1,\n            dots: false,\n            infinite: false,\n            speed: 800,\n            get nextArrow() {\n              if (\n                window.layout_style == \"layout_style_1170\" ||\n                window.layout_style == \"layout_style_flower\"\n              ) {\n                return (this.nextArrow =\n                  '<button type=\"button\" aria-label=\"Next\" class=\"slick-next\"><svg viewBox=\"0 0 50 50\"><path d=\"M 11.957031 13.988281 C 11.699219 14.003906 11.457031 14.117188 11.28125 14.308594 L 1.015625 25 L 11.28125 35.691406 C 11.527344 35.953125 11.894531 36.0625 12.242188 35.976563 C 12.589844 35.890625 12.867188 35.625 12.964844 35.28125 C 13.066406 34.933594 12.972656 34.5625 12.71875 34.308594 L 4.746094 26 L 48 26 C 48.359375 26.003906 48.695313 25.816406 48.878906 25.503906 C 49.058594 25.191406 49.058594 24.808594 48.878906 24.496094 C 48.695313 24.183594 48.359375 23.996094 48 24 L 4.746094 24 L 12.71875 15.691406 C 13.011719 15.398438 13.09375 14.957031 12.921875 14.582031 C 12.753906 14.203125 12.371094 13.96875 11.957031 13.988281 Z\"></path></svg></button>');\n              } else if (\n                window.layout_style == \"layout_style_fullwidth\" ||\n                window.layout_style == \"layout_style_suppermarket\" ||\n                window.layout_style == \"layout_style_surfup\"\n              ) {\n                return (this.nextArrow =\n                  '<button type=\"button\" aria-label=\"Next\" class=\"slick-next\"><svg viewBox=\"0 0 478.448 478.448\" class=\"icon icon-chevron-right\" id=\"icon-chevron-right\"><g><g><polygon points=\"131.659,0 100.494,32.035 313.804,239.232 100.494,446.373 131.65,478.448 377.954,239.232\"></polygon></g></g><g></g><g></g><g></g><g></g><g></g><g></g><g></g><g></g><g></g><g></g><g></g><g></g><g></g><g></g><g></g></svg></button>');\n              } else {\n                return (this.nextArrow =\n                  '<button type=\"button\" aria-label=\"Next\" class=\"slick-next\"><i class=\"fa fa-angle-right\"></i></button>');\n              }\n            },\n            get prevArrow() {\n              if (\n                window.layout_style == \"layout_style_1170\" ||\n                window.layout_style == \"layout_style_flower\"\n              ) {\n                return (this.prevArrow =\n                  '<button type=\"button\" aria-label=\"Previous\" class=\"slick-prev\"><svg viewBox=\"0 0 50 50\"><path d=\"M 11.957031 13.988281 C 11.699219 14.003906 11.457031 14.117188 11.28125 14.308594 L 1.015625 25 L 11.28125 35.691406 C 11.527344 35.953125 11.894531 36.0625 12.242188 35.976563 C 12.589844 35.890625 12.867188 35.625 12.964844 35.28125 C 13.066406 34.933594 12.972656 34.5625 12.71875 34.308594 L 4.746094 26 L 48 26 C 48.359375 26.003906 48.695313 25.816406 48.878906 25.503906 C 49.058594 25.191406 49.058594 24.808594 48.878906 24.496094 C 48.695313 24.183594 48.359375 23.996094 48 24 L 4.746094 24 L 12.71875 15.691406 C 13.011719 15.398438 13.09375 14.957031 12.921875 14.582031 C 12.753906 14.203125 12.371094 13.96875 11.957031 13.988281 Z\"></path></svg></button>');\n              } else if (\n                window.layout_style == \"layout_style_fullwidth\" ||\n                window.layout_style == \"layout_style_suppermarket\" ||\n                window.layout_style == \"layout_style_surfup\"\n              ) {\n                return (this.prevArrow =\n                  '<button type=\"button\" aria-label=\"Previous\" class=\"slick-prev\"><svg viewBox=\"0 0 370.814 370.814\" class=\"icon icon-chevron-left\" id=\"icon-chevron-left\"><g><g><polygon points=\"292.92,24.848 268.781,0 77.895,185.401 268.781,370.814 292.92,345.961 127.638,185.401\"></polygon></g></g><g></g><g></g><g></g><g></g><g></g><g></g><g></g><g></g><g></g><g></g><g></g><g></g><g></g><g></g><g></g></svg></button>');\n              } else {\n                return (this.prevArrow =\n                  '<button type=\"button\" aria-label=\"Previous\" class=\"slick-prev\"><i class=\"fa fa-angle-left\"></i></button>');\n              }\n            },\n            responsive: [\n              {\n                breakpoint: 1025,\n                settings: {\n                  get slidesToShow() {\n                    if (\n                      window.layout_style == \"layout_style_suppermarket\" ||\n                      window.product_style == \"supermarket\" ||\n                      window.layout_style == \"layout_style_surfup\"\n                    ) {\n                      return (this.slidesToShow = 3);\n                    }\n                  },\n                },\n              },\n              {\n                breakpoint: 992,\n                settings: {\n                  get slidesToShow() {\n                    if (\n                      window.layout_style == \"layout_style_suppermarket\" ||\n                      window.product_style == \"supermarket\" ||\n                      window.layout_style == \"layout_style_surfup\"\n                    ) {\n                      return (this.slidesToShow = 2);\n                    } else {\n                      if (images >= 4) {\n                        return (this.slidesToShow = 4);\n                      } else {\n                        return (this.slidesToShow = images);\n                      }\n                    }\n                  },\n                },\n              },\n              {\n                breakpoint: 480,\n                settings: {\n                  get slidesToShow() {\n                    if (\n                      window.layout_style == \"layout_style_1170\" ||\n                      window.layout_style == \"layout_style_fullwidth\" ||\n                      window.layout_style == \"layout_style_suppermarket\" ||\n                      window.product_style == \"supermarket\" ||\n                      window.layout_style == \"layout_style_surfup\"\n                    ) {\n                      return (this.slidesToShow = 2);\n                    } else {\n                      if (images > 3) {\n                        return (this.slidesToShow = 3);\n                      } else {\n                        return (this.slidesToShow = images);\n                      }\n                    }\n                  },\n                },\n              },\n            ],\n          });\n        }\n      };\n\n      var toggleVariantOptions = function () {\n        body\n          .off(\"click.toggleVariantOptions\", btnToggleOptionsSlt)\n          .on(\"click.toggleVariantOptions\", btnToggleOptionsSlt, function (e) {\n            e.preventDefault();\n\n            $(this).next().slideToggle();\n          });\n      };\n\n      var toggleVariantOptions_layout_1170 = function () {\n        body\n          .off(\"click.toggleVariantOptions\", btnToggleOptionsSlt)\n          .on(\"click.toggleVariantOptions\", btnToggleOptionsSlt, function (e) {\n            e.preventDefault();\n            var id = $(this).data(\"product-id\");\n            $(\"body\").addClass(\"show_bundle_variant\");\n            $(this)\n              .parents(\".fbt-product-item\")\n              .find(\".product-options\")\n              .prependTo(\".product-review_variant\");\n            $(\".product-review_variant\")\n              .find(\"[data-fbt-pro-id=\" + id + \"]\")\n              .show();\n            disableSoldoutSwatchBundle($(\"[data-fbt-pro-id=\" + id + \"]\"));\n          });\n\n        $(document)\n          .off(\"click\", \".close-options, .overplay_bundle\")\n          .on(\"click\", \".close-options, .overplay_bundle\", function (e) {\n            e.preventDefault();\n            $(\"body\").removeClass(\"show_bundle_variant\");\n            $(\".product-review_variant .product-options\").hide();\n          });\n      };\n\n      var handleCheckedProduct = function () {\n        // check all checkbox on loadpage\n        // $(\".fbt-checkbox input\").prop(\"checked\", true);\n\n        body\n          .off(\"click.checkedProduct\", bundleCheckbox)\n          .on(\"click.checkedProduct\", bundleCheckbox, function (e) {\n            e.preventDefault();\n            var self = $(this),\n              ipt = self.prev(),\n              dataId = self\n                .closest(\".fbt-product-item\")\n                .data(\"bundle-product-id\");\n            if (!ipt.prop(\"checked\") && !ipt.prop(\"disabled\")) {\n              ipt.prop(\"checked\", true);\n              $('[data-bundle-product-id=\"' + dataId + '\"]').addClass(\n                \"isChecked\"\n              );\n            } else {\n              ipt.prop(\"checked\", false);\n\n              $('[data-bundle-product-id=\"' + dataId + '\"]').removeClass(\n                \"isChecked\"\n              );\n            }\n            updateTotalPrice();\n          });\n      };\n\n      var initSelectedSwatch = function () {\n        return;\n        $(\".fbt-product-item\").each(function () {\n          var self = $(this);\n          var productId = self.data(\"bundle-product-id\");\n          var selectedVariantId = $(this).find('[name=\"group_id\"]').val();\n          var productOpts = self.find(\".swatch\");\n          var variantArr = window.productVariants[productId];\n\n          if (!variantArr) {\n            return;\n          }\n          // Get selected variant\n          var selectedVariant = variantArr.find(function (variant) {\n            return variant.id == selectedVariantId;\n          });\n\n          // Check selected swatch\n          productOpts.each(function (index) {\n            var optionIndex = \"option\" + (index + 1);\n            var selectedSwatch = $(this).find(\n              '.swatch-element[data-value=\"' +\n                selectedVariant[optionIndex] +\n                '\"]'\n            );\n\n            selectedSwatch.find(\"input\").prop(\"checked\", true);\n          });\n        });\n      };\n\n      var updateTotalPrice = function () {\n        var bundleProItem = $(\".fbt-product-item.isChecked\");\n        var bundlePrice = $(\".products-grouped-action .bundle-price\");\n        var oldPrice = $(\".products-grouped-action .old-price\");\n        // var discountRate = bundlePrice.data(\"discount-rate\");\n        var totalPrice = 0;\n        var gropu_total_price = 0;\n        var checkedProductLength = $(\".fbt-product-item.isChecked\").length;\n        var maxProduct = $(\".fbt-product-item\").length;\n        bundleProItem.each(function () {\n          var selectElm = $(this).find(\"select[name=group_id]\"),\n            inputElm = $(this).find(\"input[name=group_id]\");\n          if (selectElm.length) {\n            var price = selectElm.find(\":selected\").data(\"price\");\n          } else if (inputElm.length) {\n            var price = $(this).find(\"input[name=group_id]\").data(\"price\");\n          } else {\n            var price = $(this).find(\"input[name=id]\").data(\"price\");\n          }\n          let rate =\n            $(this).find(\".sale-with-group\").data(\"group-discount-rate\") || 0;\n          let bundleProPrice = Math.ceil((price * (100 - rate)) / 100);\n          if (price) {\n            totalPrice += price;\n            gropu_total_price += bundleProPrice;\n          }\n        });\n        if (bundlePrice.length > 0 && oldPrice.length > 0) {\n          oldPrice.html(Shopify.formatMoney(totalPrice, window.money_format));\n          bundlePrice.html(\n            Shopify.formatMoney(gropu_total_price, window.money_format)\n          );\n          if (checkedProductLength == maxProduct) {\n            window.bundleMatch = true;\n            bundlePrice.show();\n            oldPrice.show();\n            $(\".products-grouped-action .total-price\").hide();\n          } else {\n            window.bundleMatch = false;\n            bundlePrice.hide();\n            oldPrice.hide();\n            $(\".products-grouped-action .total-price\").show();\n          }\n        }\n        if (totalPrice == 0) {\n          $(\"[data-bundle-addtocart]\").attr(\"disabled\", true);\n        } else {\n          $(\"[data-bundle-addtocart]\").attr(\"disabled\", false);\n        }\n        $(\".products-grouped-action .total .total-price\").html(\n          Shopify.formatMoney(totalPrice, window.money_format)\n        );\n        if (ella.checkNeedToConvertCurrency()) {\n          Currency.convertAll(\n            window.shop_currency,\n            $(\"#currencies .active\").attr(\"data-currency\"),\n            \"span.money\",\n            \"money_format\"\n          );\n        }\n      };\n\n      var disableSoldoutSwatchAllBundles = function () {\n        var productItem = $(\".fbt-product-item\");\n        productItem.each(function () {\n          var self = $(this);\n          disableSoldoutSwatchBundle(self);\n        });\n        // var productItem = $('.product-review_variant').find('[data-fbt-pro-id]');\n\n        // disableSoldoutSwatchBundle(productItem);\n      };\n\n      var disableSoldoutSwatchBundle = function (productItem) {\n        var productId = productItem.data(\"bundle-product-id\");\n        if (productId == undefined) {\n          productId = productItem.data(\"fbt-pro-id\");\n        }\n        // var productId = productItem.find('[data-popup-bundle-product-id]').data('popup-bundle-product-id');\n        var variantList = window.productVariants[productId];\n        var options = productItem.find(\"[data-option-idx]\");\n        var selectedSwatchOpt1 = productItem\n          .find('[data-option-idx=\"0\"]')\n          .find(\"input:checked\")\n          .val();\n        var selectedSwatchOpt2 = productItem\n          .find('[data-option-idx=\"1\"]')\n          .find(\"input:checked\")\n          .val();\n        var selectedSwatchOpt3 = productItem\n          .find('[data-option-idx=\"2\"]')\n          .find(\"input:checked\")\n          .val();\n\n        options.each(function () {\n          var optionIndex = $(this).data(\"option-idx\");\n          var swatch = $(this).find(\".swatch-element\");\n\n          switch (optionIndex) {\n            case 0:\n              // loop through all swatchs in option 1 and filter sold out swatch\n              swatch.each(function () {\n                var swatchVal = $(this).data(\"value\");\n                var opt1Soldout = variantList.find(function (variant) {\n                  return variant.option1 == swatchVal && variant.available;\n                });\n                if (opt1Soldout == undefined) {\n                  $(this).addClass(\"soldout\");\n                  $(this).find(\":radio\").prop(\"disabled\", true);\n                }\n              });\n              break;\n            case 1:\n              // loop through all swatchs in option 2 and filter sold out swatch\n              swatch.each(function () {\n                var swatchVal = $(this).data(\"value\");\n                var opt1Soldout = variantList.find(function (variant) {\n                  return (\n                    variant.option1 == selectedSwatchOpt1 &&\n                    variant.option2 == swatchVal &&\n                    variant.available\n                  );\n                });\n                if (opt1Soldout == undefined) {\n                  $(this).addClass(\"soldout\");\n                  $(this).find(\":radio\").prop(\"disabled\", true);\n                }\n              });\n              break;\n            case 2:\n              // loop through all swatchs in option 3 and filter sold out swatch\n              swatch.each(function () {\n                var swatchVal = $(this).data(\"value\");\n                var opt1Soldout = variantList.find(function (variant) {\n                  return (\n                    variant.option1 == selectedSwatchOpt1 &&\n                    variant.option2 == selectedSwatchOpt2 &&\n                    variant.option3 == swatchVal &&\n                    variant.available\n                  );\n                });\n                if (opt1Soldout == undefined) {\n                  $(this).addClass(\"soldout\");\n                  $(this).find(\":radio\").prop(\"disabled\", true);\n                }\n              });\n              break;\n          }\n        });\n      };\n\n      var changeSwatchProductBundle = function () {\n        $(\".fbt-products-list .product-title\").each(function (index, ele) {\n          var productId = $(ele)\n            .parents(\".fbt-product-item\")\n            .data(\"bundle-product-id\");\n          var variantList = window.productVariants[productId];\n          $(ele).text(variantList[0].name);\n        });\n\n        var swatchSlt =\n          \".fbt-product-item .swatch :radio, .product-review_variant .swatch :radio\";\n\n        doc\n          .off(\"change.changeBundleSwatch\", swatchSlt)\n          .on(\"change.changeBundleSwatch\", swatchSlt, function (e) {\n            var self = $(this);\n            if (self.prop(\"checked\")) {\n              var productItem = $(this).closest(\"[data-fbt-pro-id]\");\n              if (productItem.length == 0) {\n                productItem = $(this).closest(\".fbt-product-item\");\n              }\n              var productId = $(this).parent().data(\"popup-bundle-product-id\");\n              var variantList = window.productVariants[productId];\n              var optionIdx = self\n                .closest(\"[data-option-idx]\")\n                .data(\"option-idx\");\n              var swatches = productItem.find(\".swatch-element\");\n              var thisVal = self.val();\n              var selectedVariant;\n              var swatchBundleProduct = $(\n                '[data-bundle-product-id=\"' + productId + '\"]'\n              );\n              var fbtPrice = swatchBundleProduct.find(\".fbt-prices\"),\n                priceSale = fbtPrice.find(\".price-sale\"),\n                productPrice = fbtPrice.find(\"[data-fbt-price-change]\");\n              var productInput = swatchBundleProduct.find(\"[name=group_id]\");\n              var bundleProductTitle =\n                swatchBundleProduct.find(\".product-title\");\n              // Get selected swatches\n              var selectedSwatchOpt1 = productItem\n                .find('[data-option-idx=\"0\"]')\n                .find(\"input:checked\")\n                .val();\n              var selectedSwatchOpt2 = productItem\n                .find('[data-option-idx=\"1\"]')\n                .find(\"input:checked\")\n                .val();\n              var selectedSwatchOpt3 = productItem\n                .find('[data-option-idx=\"2\"]')\n                .find(\"input:checked\")\n                .val();\n              // Re-active all swatches\n              swatches.removeClass(\"soldout\");\n              swatches.find(\":radio\").prop(\"disabled\", false);\n              // Auto get first available variant\n              switch (optionIdx) {\n                case 0:\n                  var availableVariants = variantList.find(function (variant) {\n                    return (\n                      variant.option1 == thisVal &&\n                      variant.option2 == selectedSwatchOpt2 &&\n                      variant.available\n                    );\n                  });\n                  if (availableVariants != undefined) {\n                    selectedVariant = availableVariants;\n                  } else {\n                    // variant was sold out, so auto select other available variant\n                    var altAvailableVariants = variantList.find(function (\n                      variant\n                    ) {\n                      return variant.option1 == thisVal && variant.available;\n                    });\n                    selectedVariant = altAvailableVariants;\n                  }\n                  break;\n                case 1:\n                  var availableVariants = variantList.find(function (variant) {\n                    return (\n                      variant.option1 == selectedSwatchOpt1 &&\n                      variant.option2 == thisVal &&\n                      variant.available\n                    );\n                  });\n                  if (availableVariants != undefined) {\n                    selectedVariant = availableVariants;\n                  } else {\n                    // Something went wrong, if correct, never meet this\n                    console.log(\n                      \"Bundle Error: variant was soldout, on option selection #2\"\n                    );\n                  }\n                  break;\n                case 2:\n                  var availableVariants = variantList.find(function (variant) {\n                    return (\n                      variant.option1 == selectedSwatchOpt1 &&\n                      variant.option2 == selectedSwatchOpt2 &&\n                      variant.option3 == thisVal &&\n                      variant.available\n                    );\n                  });\n                  if (availableVariants != undefined) {\n                    selectedVariant = availableVariants;\n                  } else {\n                    // Something went wrong, if correct, never meet this\n                    console.log(\n                      \"Bundle Error: variant was soldout, on option selection #3\"\n                    );\n                  }\n                  break;\n              }\n              productInput.val(selectedVariant.id);\n              // Check new swatch input\n              initSelectedSwatch();\n              // Disable sold out swatches base on new checked inputs\n              disableSoldoutSwatchBundle(productItem);\n              // Do select callback function\n              productPrice.html(\n                Shopify.formatMoney(selectedVariant.price, window.money_format)\n              );\n              bundleProductTitle.text(selectedVariant.name);\n              var group_sale_price = swatchBundleProduct\n                .find(\".sale-with-group\")\n                .find(\"[sale-with-group-price]\");\n\n              var group_sale_off_rate = swatchBundleProduct\n                .find(\".sale-with-group\")\n                .attr(\"data-group-discount-rate\");\n\n              let group_price = Math.ceil(\n                (selectedVariant.price * (100 - group_sale_off_rate)) / 100\n              );\n\n              group_sale_price.html(\n                Shopify.formatMoney(group_price, window.money_format)\n              );\n\n              // change variant id of main product for adding to cart\n              productItem\n                .find(\"input[name=id][type=hidden]\")\n                .val(selectedVariant.id);\n              if (selectedVariant.compare_at_price > selectedVariant.price) {\n                priceSale\n                  .find(\"[data-fbt-price-change]\")\n                  .addClass(\"special-price\");\n                priceSale\n                  .find(\".old-price\")\n                  .html(\n                    Shopify.formatMoney(\n                      selectedVariant.compare_at_price,\n                      window.money_format\n                    )\n                  )\n                  .show();\n              } else {\n                priceSale.find(\".old-price\").hide();\n                priceSale\n                  .find(\"[data-fbt-price-change]\")\n                  .removeClass(\"special-price\");\n              }\n\n              productItem\n                .find(\"select\")\n                .val(selectedVariant.id)\n                .trigger(\"change\");\n\n              updateTotalPrice();\n\n              if (ella.checkNeedToConvertCurrency()) {\n                Currency.convertAll(\n                  window.shop_currency,\n                  $(\"#currencies .active\").attr(\"data-currency\"),\n                  \"span.money\",\n                  \"money_format\"\n                );\n              }\n\n              // Change product image\n              var newImage = productInput\n                .find(\"option:selected\", this)\n                .attr(\"data-image\");\n              if (newImage != undefined) {\n                var productImage = $(\n                  '.fbt-image-item[data-bundle-product-id=\"' + productId + '\"]'\n                ).find(\"img\");\n                productImage.attr(\"src\", newImage);\n              }\n\n              $(this)\n                .parents(\".product-options\")\n                .find(\".swatch\")\n                .each(function () {\n                  if (\n                    $(this)\n                      .find(\"input:checked\")\n                      .parents(\".swatch-element\")\n                      .hasClass(\"soldout\")\n                  ) {\n                    $(this)\n                      .find(\".swatch-element\")\n                      .not(\".soldout\")\n                      .find(\"input\")\n                      .prop(\"checked\", true);\n                  }\n                  $(this)\n                    .find(\"[data-option-select]\")\n                    .text($(this).find(\"input:checked\").val());\n                });\n            }\n          });\n      };\n\n      var addSuccessPop = function () {\n        var ajaxCartModal = $(\"[data-ajax-cart-success]\"),\n          modalContent = ajaxCartModal.find(\".cart-modal-content\");\n        modalContent.find(\".message-added-cart\").show();\n        modalContent.find(\".pro-info-box\").hide();\n        modalContent.find(\".actions\").hide();\n        ajaxCartModal.fadeIn(600, function () {\n          // html.addClass('halo-modal-open');\n          if ($(\"[data-quickview-modal]\").is(\":visible\")) {\n            $(\"[data-quickview-modal]\").hide();\n          }\n          ella.closeLookbookModal();\n        });\n      };\n\n      var initBundleAddToCart = function () {\n        doc\n          .off(\"click.bundleAddToCart\", btnAddToCartSlt)\n          .on(\"click.bundleAddToCart\", btnAddToCartSlt, function (e) {\n            e.preventDefault();\n            var self = $(this),\n              form = self.closest(\"form\"),\n              curPro = form.find(\"[data-collections-related]\"),\n              handle = curPro.data(\"collections-related\"),\n              // bundleProduct = form.find(\n              //   \"[data-grouped-product-item].isChecked\"\n              // ),\n              bundleProduct = form.find(\".fbt-product-item.isChecked\"),\n              title = $(\"h1.product-title\").text(),\n              image = $('[id^=\"product-featured-image\"]').first().attr(\"src\");\n\n            ella.showLoading();\n            Shopify.queue = [];\n            var i = 0;\n            bundleProduct.each(function () {\n              var variantId =\n                $(this).find(\"[name=group_id]\").val() ||\n                $(this).find(\"[name=id]\").val();\n              if (variantId) {\n                Shopify.queue.push({\n                  variantId: variantId,\n                  quantity: 1,\n                });\n              }\n            });\n            Shopify.moveAlong = function () {\n              if (Shopify.queue.length) {\n                var request = Shopify.queue.shift();\n                ella.showLoading();\n                Shopify.addItem(\n                  request.variantId,\n                  request.quantity,\n                  null,\n                  Shopify.moveAlong\n                );\n                ella.ellaTimeout = setTimeout(function () {\n                  ella.hideLoading();\n                }, 5000);\n              } else {\n                ella.hideLoading();\n                addSuccessPop();\n                ella.updateDropdownCart();\n\n                return;\n                // var variant_id = curPro.find(\"[name=id]\").val();\n                // var formData = $(self.data(\"form-id\"));\n                // var data = formData.serialize();\n                // var quantity = 1;\n                // console.log(111111111, data);\n                let arr_params = [];\n                // productInput.val(selectedVariant.id);\n                $(\".fbt-products-list\")\n                  .find(\".fbt-product-item\")\n                  .each((index, el) => {\n                    let productId = $(el).data(\"bundle-product-id\");\n                    var productInput = $(\n                      '[data-bundle-product-id=\"' + productId + '\"]'\n                    ).find(\"[name=group_id]\");\n                    console.log(22222222, productInput);\n\n                    if ($(el).hasClass(\"isChecked\")) {\n                      arr_params.push({\n                        id,\n                        quantity: 1,\n                      });\n                    }\n                  });\n                switch (window.ajax_cart) {\n                  case \"none\":\n                    form.submit();\n                    break;\n\n                  case \"normal\":\n                    // form.submit();\n                    break;\n\n                  case \"upsell\":\n                    form.submit();\n                    break;\n                }\n                // add discount code first\n                try {\n                  var discount_code = \"FBT-BUNDLE-\" + meta.product.id;\n                  ella.apply_discount(discount_code);\n                } catch (e) {\n                  console.log(e);\n                }\n                return false;\n              }\n            };\n\n            Shopify.moveAlong();\n          });\n      };\n      replaceDiscountRate();\n      bundleSlider();\n      if (\n        $(\".layout_style_1170 \").length ||\n        $(\".layout_style_fullwidth.product_layout_skin_1\").length ||\n        $(\".layout_style_flower.product_layout_skin_1\").length ||\n        $(\".layout_style_suppermarket.product_layout_supermarket\").length ||\n        $(\".product_layout_supermarket\").length ||\n        $(\".product-template-surfup\").length\n      ) {\n        toggleVariantOptions_layout_1170();\n      } else {\n        toggleVariantOptions();\n      }\n      handleCheckedProduct();\n      initSelectedSwatch();\n      if (!$(\".layout_style_1170 \").length) {\n        disableSoldoutSwatchAllBundles();\n      }\n      changeSwatchProductBundle();\n      updateTotalPrice();\n      initBundleAddToCart();\n    },\n    apply_discount: function (discount_code) {\n      if (window.bundleMatch) {\n        $.ajax({\n          url: \"/discount/\" + discount_code + \"?redirect=/cart\",\n          success: function (response) {\n            window.location.href =\n              \"/discount/\" + discount_code + \"?redirect=/cart\";\n            console.log(\"Discount code added\");\n          },\n        });\n      }\n    },\n    checkBundleProducts: function () {\n      var discount_code = $.cookie(\"discount_code\");\n      if (discount_code != \"\" && discount_code != null) {\n        var mainProduct = discount_code.replace(\"FBT-BUNDLE-\", \"\");\n        if (mainProduct != \"\") getShoppingCart();\n      }\n\n      function getShoppingCart() {\n        if ($(\"ul.cart-list li\").length > 0) {\n          var check = false;\n          var cart = [];\n          $(\"ul.cart-list li\").each(function (i, el) {\n            var product_id = $(el).data(\"product_id\");\n            if (product_id == mainProduct) {\n              check = true;\n            }\n            if (cart.indexOf(product_id) == -1) cart.push(product_id);\n          });\n\n          if (check == true) {\n            $.ajax({\n              url: \"/collections/bundle-\" + mainProduct + \"?view=bundle-json\",\n              success: function (response) {\n                var myBundle = JSON.parse(response);\n                if (cart.length >= myBundle.results.length) {\n                  checkProductInCart(cart, myBundle.results);\n                } else remove_discount();\n              },\n            });\n          } else remove_discount();\n        }\n      }\n\n      function checkProductInCart(cart, collection) {\n        var i = 0;\n        collection.forEach(function (el) {\n          if (cart.indexOf(el.id) != -1) {\n            i++;\n          }\n        });\n        if (i != collection.length) remove_discount();\n      }\n\n      function remove_discount() {\n        $.ajax({\n          url: \"/checkout?discount=%20\",\n          success: function (response) {\n            // $.cookie('discount_code', '');\n            console.log(\"Discount code removed\");\n          },\n        });\n      }\n    },\n\n    hide_filter: function () {\n      $(\".sidebar-tags .widget-content ul\").each(function () {\n        if ($(this).children(\"li\").length > 0) {\n          $(this).parents(\".sidebar-tags\").show();\n        } else {\n          $(this).parents(\".sidebar-tags\").hide();\n        }\n      });\n      $(\".show-more--list_tags\").click(function (e) {\n        $(this).closest(\".list-tags\").addClass(\"full\");\n      });\n      $(\".close--list_tags\").click(function (e) {\n        $(this).closest(\".list-tags\").removeClass(\"full\");\n      });\n    },\n\n    stickySidebar: function () {\n      // if ($('.collection-template-default').length || $('.collection-template-skin-1').length){\n      //     var h_main = $('[data-section-type=\"collection-template\"]').outerHeight() - 100,\n      //         h_sidedbar = $('.sidebar').outerHeight();\n      //     if (window.innerWidth > 1200 && h_sidedbar < h_main) {\n      //         var sidebar = new StickySidebar('.sidebar', {\n      //             bottomSpacing: 20,\n      //             topSpacing: 60,\n      //             containerSelector: false\n      //         });\n      //     }\n      // }\n    },\n\n    productRecomendation: function () {\n      var $container = $(\".js-product-recomendation\");\n      var productId = $container.data(\"productId\");\n      var template = $container.data(\"template\");\n      var sectionId = $container.data(\"sectionId\");\n      var limit = $container.data(\"limit\");\n      var row = $container.data(\"row\");\n\n      var productRecommendationsUrlAndContainerClass =\n        window.router +\n        \"/recommendations/products?&section_id=\" +\n        sectionId +\n        \"&limit=\" +\n        limit +\n        \"&product_id=\" +\n        productId +\n        \" .product-recommendations\";\n      $container\n        .parent()\n        .load(productRecommendationsUrlAndContainerClass, function () {\n          $('[data-toggle=\"tooltip\"]').tooltip();\n          ella.swapHoverVideo();\n          if (template != \"\") {\n            $(\".js-product-recomendation .products-grid\").addClass(\"verticle\");\n          }\n          ella.initSliderRelatedProduct(row);\n          ella.translateBlock(\"#product-recommendations\");\n          if (\n            $(\".shopify-product-reviews-badge\").length &&\n            $(\".spr-badge\").length\n          ) {\n            return (\n              window.SPR.registerCallbacks(),\n              window.SPR.initRatingHandler(),\n              window.SPR.initDomEls(),\n              window.SPR.loadProducts(),\n              window.SPR.loadBadges()\n            );\n          }\n        });\n    },\n\n    appendProductRecomendation: function () {\n      if (!$(\".product-template-surfup\").length) {\n        var ProductRecomendation = $(\"#product-recommendations\"),\n          appenRecomendation = $(\n            \".template-product .product .product_bottom .related-products\"\n          );\n        appenRecomendation1 = $(\n          \".template-product .product .product_bottom .relate-verticle .related-products\"\n        );\n        appenRecomendation2 = $(\n          \".template-product .product .relate-verticle\"\n        ).find(\"[data-sticky-3] .related-products\");\n        ProductRecomendation.appendTo(appenRecomendation);\n        ProductRecomendation.appendTo(appenRecomendation1);\n        ProductRecomendation.appendTo(appenRecomendation2);\n      }\n    },\n\n    checkbox_checkout: function () {\n      var inputWrapper = $(\".checkbox-group label\");\n\n      var checkBox = $('.checkbox-group input[type=\"checkbox\"]');\n\n      setTimeout(function () {\n        checkBox.each(function () {\n          if ($(this).is(\":checked\")) {\n            $(this).parent().parent().find(\".btn-checkout\").removeClass(\"show\");\n          } else {\n            $(this).parent().parent().find(\".btn-checkout\").addClass(\"show\");\n          }\n        });\n      }, 300);\n\n      inputWrapper.off(\"click\").on(\"click\", function (e) {\n        var inputTrigger = $(this).parent().find(\".conditions\"),\n          divAddClassbtn = $(this).parent().parent().find(\".btn-checkout\");\n\n        if (!inputTrigger.is(\":checked\")) {\n          divAddClassbtn.removeClass(\"show\");\n          inputTrigger.prop(\"checked\", true);\n        } else {\n          divAddClassbtn.addClass(\"show\");\n          inputTrigger.prop(\"checked\", false);\n        }\n      });\n    },\n\n    menu_ajax: function () {\n      if (!$(\".site-nav\").length) return;\n      if (win.innerWidth() < 1025) {\n        var chk = false;\n        window.addEventListener(\n          \"load\",\n          function () {\n            // on page load\n            document.body.addEventListener(\n              \"touchstart\",\n              function (e) {\n                if (chk == false) {\n                  chk = true;\n                  $.ajax({\n                    url: window.router + \"/search?view=mega\",\n                    beforeSend: function () {\n                      // theme.HaloAddOn.loadingPopup();\n                    },\n                    success: function (data) {\n                      var curMega = $(\".site-nav\"),\n                        newMega = $(data).find(\".site-nav\");\n                      if (\n                        $(\n                          \".wrapper_header_supermarket:not(.disable_vertical_menu)\"\n                        ).length &&\n                        $(\".vertical-menu\").length\n                      ) {\n                        curMega = $(\".horizontal-menu .nav-bar\");\n                        newMega = $(data).find(\".horizontal-menu .nav-bar\");\n                      }\n                      $(curMega).replaceWith(newMega);\n                      ella.initToggleSubMenuMobile();\n                      ella.sliderMegaMenu();\n                    },\n\n                    error: function (xhr, text) {\n                      alert($.parseJSON(xhr.responseText).description);\n                    },\n\n                    complete: function () {\n                      // theme.HaloAddOn.removeLoadingPopup();\n                    },\n                  });\n                }\n              },\n              false\n            );\n          },\n          false\n        );\n        $(\"[data-menu-mb-toogle]\").on(\"click\", function (event) {\n          if (chk == false) {\n            chk = true;\n            $.ajax({\n              url: window.router + \"/search?view=mega\",\n              beforeSend: function () {\n                // theme.HaloAddOn.loadingPopup();\n              },\n              success: function (data) {\n                var curMega = $(\".site-nav\"),\n                  newMega = $(data).find(\".site-nav\");\n                if (\n                  $(\".wrapper_header_supermarket:not(.disable_vertical_menu)\")\n                    .length &&\n                  $(\".vertical-menu\").length\n                ) {\n                  curMega = $(\".horizontal-menu .nav-bar\");\n                  newMega = $(data).find(\".horizontal-menu .nav-bar\");\n                }\n                $(curMega).replaceWith(newMega);\n\n                ella.initToggleSubMenuMobile();\n                ella.sliderMegaMenu();\n              },\n\n              error: function (xhr, text) {\n                alert($.parseJSON(xhr.responseText).description);\n              },\n\n              complete: function () {\n                // theme.HaloAddOn.removeLoadingPopup();\n              },\n            });\n          }\n        });\n      } else {\n        var chk = false;\n        // $('#site-nav, body').on('mouseleave').on('mouseenter', function(){\n        doc.mousemove(function () {\n          if (chk == false) {\n            chk = true;\n            $.ajax({\n              url: window.router + \"/search?view=mega\",\n              beforeSend: function () {\n                // theme.HaloAddOn.loadingPopup();\n              },\n              success: function (data) {\n                var curMega = $(\".site-nav\"),\n                  newMega = $(data).find(\".site-nav\");\n                if (\n                  $(\".wrapper_header_supermarket:not(.disable_vertical_menu)\")\n                    .length &&\n                  $(\".vertical-menu\").length\n                ) {\n                  curMega = $(\".mb-area\");\n                  newMega = $(data).find(\".mb-area\");\n                }\n                curMega.replaceWith(newMega);\n                setTimeout(function () {\n                  ella.sliderMegaMenu();\n                }, 1000);\n                ella.initToggleSubMenuMobile();\n              },\n\n              error: function (xhr, text) {\n                alert($.parseJSON(xhr.responseText).description);\n              },\n\n              complete: function () {\n                // theme.HaloAddOn.removeLoadingPopup();\n                if ($(\"[data-masonry]\").length) {\n                  $(\".site-nav-dropdown [data-masonry]\").masonry({\n                    columnWidth: \".grid-sizer\",\n                    itemSelector: \"[data-gridItem]\",\n                  });\n                }\n              },\n            });\n          }\n        });\n      }\n    },\n\n    loaderScript: function () {\n      var load = function () {\n        var script = $(\"[data-loader-script]\");\n        if (script.length) {\n          script.each(function () {\n            var _this = $(this),\n              link = _this.data(\"loader-script\"),\n              top = this.getBoundingClientRect().top;\n            if (!_this.hasClass(\"is-load\")) {\n              if (top < window.innerHeight + 100) {\n                ella.buildScript(link);\n                $('[data-loader-script=\"' + link + '\"]').addClass(\"is-load\");\n              }\n            }\n          });\n        }\n      };\n      window.addEventListener(\"load\", function loaderPostload() {\n        load();\n        window.addEventListener(\"scroll\", load);\n      });\n    },\n\n    buildScript: function (name) {\n      var loadScript = document.createElement(\"script\");\n      loadScript.src = name;\n      document.body.appendChild(loadScript);\n    },\n\n    beforeYouLeave: function () {\n      var $beforeYouLeave = \"#before-you-leave\",\n        $beforeYouLeave_close = $($beforeYouLeave).find(\".close\"),\n        $beforeYouLeave_close2 = $($beforeYouLeave).find(\n          \".before-you-leave__bg #reload_page\"\n        ),\n        $beforeYouLeave_search = $($beforeYouLeave).find(\".search\"),\n        $beforeYouLeave_time = $($beforeYouLeave)\n          .find(\".before-you-leave__wrapper\")\n          .data(\"time\");\n\n      if (!$($beforeYouLeave).length) {\n        return;\n      }\n      var idleTime = 0;\n\n      $(document).ready(function () {\n        var idleInterval = setInterval(timerIncrement, $beforeYouLeave_time);\n      });\n\n      $(document)\n        .on(\"mousemove\", resetTimer)\n        .on(\"keydown\", resetTimer)\n        .on(\"scroll\", resetTimer);\n\n      function timerIncrement() {\n        idleTime = idleTime + 1;\n        if (idleTime >= 1 && !$(\"body.open_beforeYouLeave\").length) {\n          $(\"body\").addClass(\"open_beforeYouLeave\");\n        }\n        $(window).unbind(\"click\");\n      }\n\n      function resetTimer() {\n        idleTime = 0;\n      }\n\n      $beforeYouLeave_close2.on(\"click\", function (event) {\n        event.preventDefault();\n        $(\"body\").removeClass(\"open_beforeYouLeave\");\n      });\n\n      $beforeYouLeave_close.on(\"click\", function (event) {\n        event.preventDefault();\n        $(\"body\").removeClass(\"open_beforeYouLeave\");\n      });\n    },\n\n    modal_open: function (modal, name) {\n      var classes = {\n        open: \"open_\" + name,\n        openClass: \"modal--is-active\",\n      };\n\n      $(modal).fadeIn(\"fast\");\n      $(modal).addClass(classes.openClass);\n      $(\"body\").addClass(classes.open);\n    },\n\n    modal_close: function (modal, name) {\n      var classes = {\n        open: \"open_\" + name,\n        openClass: \"modal--is-active\",\n      };\n      $(modal).fadeOut(\"fast\");\n      $(modal).removeClass(classes.openClass);\n      $(\"body\").removeClass(classes.open);\n    },\n\n    _addonShareAPI: function () {\n      // $('.share-button').click(function(){\n      const title = $(\".share_toolbox\").attr(\"title\");\n      const url = $(\".share_toolbox\").data(\"href\");\n      if (navigator.share) {\n        navigator\n          .share({\n            title: title,\n            url: url,\n          })\n          .then(() => {\n            console.log(\"Thank for sharing!\");\n          })\n          .cath(console.error);\n      } else {\n        $(\".share_toolbox .txt_copy\").val(url);\n        $(\".share_toolbox .button\")\n          .attr(\"data-url\", url)\n          .attr(\"data-title\", title);\n        $(\".share_toolbox .modal-title-text\").text(title);\n      }\n      // });\n      $(\".close-button\").click(function () {\n        $(\".share-modal\").removeClass(\"show-share\");\n        $(\".pen-url\").removeClass(\"share-success\");\n      });\n\n      $(\".copy-link\").click(function () {\n        var copyText = $(this).prev(\".txt_copy\");\n        $(\".pen-url\").addClass(\"share-success\");\n        copyText.select();\n        document.execCommand(\"copy\");\n      });\n    },\n\n    _addonCompareColorPopup: function () {\n      if (!$(\".compareColor-link\").length) {\n        return;\n      }\n\n      $(document).on(\"click\", \".compareColor-link\", function (event) {\n        event.preventDefault();\n        var $compareColorModal = \"#compareColor-modal\",\n          $Close = $($compareColorModal).find(\".close\"),\n          $compareColorModalContent =\n            $($compareColorModal).find(\".modal-content\");\n\n        if (!$($compareColorModal).length) {\n          return;\n        }\n\n        $($compareColorModal).addClass(\"modal--is-active\").fadeIn(\"fast\");\n\n        $Close.on(\"click\", function (event) {\n          event.preventDefault();\n          $($compareColorModal).removeClass(\"modal--is-active\").fadeOut(\"fast\");\n        });\n\n        $($compareColorModal).on(\"click\", function (event) {\n          if (\n            $($compareColorModal).hasClass(\"modal--is-active\") &&\n            $(event.target).closest($compareColorModalContent).length === 0\n          ) {\n            event.preventDefault();\n            $($compareColorModal)\n              .removeClass(\"modal--is-active\")\n              .fadeOut(\"fast\");\n          }\n        });\n      });\n\n      $(document).on(\"click\", \".compareColor-swatch label\", function (event) {\n        event.preventDefault();\n\n        $(\".compareColor-swatch label\").removeClass(\"disabled2\");\n\n        var self = $(this),\n          $ipt = self.prev(),\n          $image = self.data(\"image\");\n        $value = self.data(\"value\");\n        $value2 = self.html();\n        $limit = 0;\n\n        if (!$ipt.prop(\"checked\")) {\n          $ipt.prop(\"checked\", true);\n          self\n            .parents(\"#compareColor-modal\")\n            .find(\".show-img\")\n            .append(\n              '<div class=\"item text-center ' +\n                $value +\n                '\"><img srcset=\"' +\n                $image +\n                '\" alt=\"\" /><p>' +\n                $value2 +\n                \"</p></div>\"\n            );\n          $limit = $(\"#compareColor-modal .show-img .item\").length;\n        } else {\n          $ipt.prop(\"checked\", false);\n          self\n            .parents(\"#compareColor-modal\")\n            .find(\".show-img \" + \".\" + $value)\n            .remove();\n          $limit = $(\"#compareColor-modal .show-img .item\").length;\n        }\n\n        if ($limit < 5) {\n          $(\".compareColor-swatch label\").removeClass(\"disabled2\");\n        } else {\n          $(\".compareColor-swatch label\").addClass(\"disabled2\");\n        }\n      });\n    },\n\n    _cartCountDown: function () {\n      if (!$(\".cart__count_down\").length) return;\n\n      var timer,\n        elCountDown = $(\".cart__count_down .count_down\"),\n        minute = elCountDown.data(\"time\");\n\n      function startTimer(duration, display) {\n        timer = duration;\n        var minutes, seconds;\n        setInterval(function () {\n          minutes = parseInt(timer / 60, 10);\n          seconds = parseInt(timer % 60, 10);\n\n          minutes = minutes < 10 ? \"0\" + minutes : minutes;\n          seconds = seconds < 10 ? \"0\" + seconds : seconds;\n\n          display.textContent = minutes + \":\" + seconds;\n\n          if (--timer < 0) {\n            timer = duration;\n          }\n        }, 1000);\n      }\n\n      function resetTimer() {\n        timer = 60 * minute;\n      }\n\n      $(document).ready(function () {\n        (fiveMinutes = 60 * minute),\n          (display = document.querySelector(\"#time\"));\n        startTimer(fiveMinutes, display);\n      });\n    },\n\n    _videoPopup: function () {\n      if ($(\".video-open-popup \").length) {\n      } else {\n        return;\n      }\n      $(\".video-open-popup a\")\n        .off(\"click\")\n        .on(\"click\", function () {\n          var video_id = $(this).attr(\"data-id\"),\n            video_src = $(this).attr(\"data-src\"),\n            modal = $(\"[data-popup-video]\");\n\n          const $content =\n            '<div class=\"fluid-width-video-wrapper\"><iframe\\\n                                        id=\"player\"\\\n                                        type=\"text/html\"\\\n                                        width=\"100%\"\\\n                                        frameborder=\"0\"\\\n                                        webkitAllowFullScreen\\\n                                        mozallowfullscreen\\\n                                        allowFullScreen\\\n                                        src=\"https://www.youtube.com/embed/' +\n            video_src +\n            '?autoplay=1&mute=1\"\\\n                                        data-video-player>\\\n                                    </iframe></div>';\n          modal.find(\".halo-modal-body\").html($content);\n\n          modal.fadeIn(600, function () {\n            if ($(\"[data-ajax-cart-success]\").is(\":visible\")) {\n              $(\"[data-ajax-cart-success]\").hide();\n            }\n          });\n        });\n\n      $(\"[data-popup-video], [data-popup-video] .close-modal\").on(\n        \"click\",\n        function (e) {\n          var modalContent = $(\"[data-popup-video] .halo-modal-body\");\n          if (\n            !modalContent.is(e.target) &&\n            !modalContent.has(e.target).length\n          ) {\n            $(\"[data-popup-video]\").fadeOut(500, function () {\n              $(\"[data-popup-video] iframe\").remove();\n              html.removeClass(\"halo-modal-open\");\n              html.css({\n                overflow: \"\",\n              });\n            });\n          }\n        }\n      );\n    },\n\n    _multiHomepage: function () {\n      $(\"[data-menu-tab] li\").on(\"click\", function () {\n        var active = $(this).data(\"load-page\");\n        var href = $(this).attr(\"href\");\n\n        $.cookie(\"page-url\", active, {\n          expires: 1,\n          path: \"/\",\n        });\n      });\n\n      var canonical = $(\"[canonical-shop-url]\").attr(\"canonical-shop-url\");\n      if (document.URL != canonical) {\n        $(\"[data-load-page=\" + $.cookie(\"page-url\") + \"]\")\n          .addClass(\"active\")\n          .siblings()\n          .removeClass(\"active\");\n      }\n      var pageCurrent = $(\"body\").data(\"page-handle\");\n      var active = $(\"[data-menu-tab] li.active\").data(\"load-page\");\n\n      if (active == undefined) active = \"\";\n      $.ajax({\n        url: window.router + \"/search?type=product&q=\" + active + \"&view=mega\",\n        beforeSend: function () {\n          // theme.HaloAddOn.loadingPopup();\n        },\n        success: function (data) {\n          // console.log(data);\n          var curMega = $(\".site-nav\"),\n            newMega = $(data).find(\".site-nav\");\n          if ($(\".wrapper_header_supermarket:not(.wrapper_header_08)\").length) {\n            curMega = $(\".mb-area\");\n            newMega = $(data).find(\".mb-area\");\n          }\n          curMega.replaceWith(newMega);\n          ella.initToggleSubMenuMobile();\n        },\n\n        error: function (xhr, text) {\n          alert($.parseJSON(xhr.responseText).description);\n        },\n\n        complete: function () {\n          doc.mousemove(function () {\n            if (!$(\".featuredProductCarousel\").hasClass(\"slick-initialized\")) {\n              ella.sliderMegaMenu();\n            }\n          });\n          if ($(\"[data-masonry]\").length) {\n            $(\".site-nav-dropdown [data-masonry]\").masonry({\n              columnWidth: \".grid-sizer\",\n              itemSelector: \"[data-gridItem]\",\n            });\n          }\n        },\n      });\n    },\n\n    checkbox_submit: function () {\n      var check_submit = $(\".newsletter-des #check_newsletter\");\n      var check = false;\n      check_submit.off(\"click\").on(\"click\", function (e) {\n        if ($(this).is(\":checked\")) {\n          $(\".footer-newsletter .block-content\").find(\".btn\").addClass(\"show\");\n        } else {\n          check = true;\n          $(\".footer-newsletter .block-content\")\n            .find(\".btn\")\n            .removeClass(\"show\");\n        }\n      });\n      $(\".footer-newsletter .input-group-field\").keypress(function (e) {\n        if (e.keyCode == 13 && check == false) e.preventDefault();\n      });\n    },\n\n    _notifySoldoutSlider: function () {\n      $(\"a#soldOut-button1\")\n        .off(\"click\")\n        .on(\"click\", function (e) {\n          e.preventDefault();\n          var value = $(this).prev().val();\n          $(\"#nofify_sold-out\").find(\"#contactFormEmail\").val(value);\n          $(\"#soldOut-button\").trigger(\"click\");\n        });\n    },\n\n    _showmore_html: function () {\n      var wrapper = $(\"#collection-des\");\n      var height = wrapper.outerHeight();\n      if (height > 70) {\n        var btn =\n          '<a class=\"btn-showmore\" data-toggle=\"collapse\" href=\"#collapseSummary\" aria-expanded=\"false\" aria-controls=\"collapseSummary\"><span>' +\n          window.inventory_text.show_more +\n          \"</span></a>\";\n        wrapper.append(btn);\n        $(\".btn-showmore\").on(\"click\", function () {\n          if ($(this).parents(\"#collection-des\").hasClass(\"show-more\")) {\n            $(this).parents(\"#collection-des\").removeClass(\"show-more\");\n            $(this).find(\"span\").text(window.inventory_text.show_more);\n          } else {\n            $(this).parents(\"#collection-des\").addClass(\"show-more\");\n            $(this).find(\"span\").text(window.inventory_text.show_less);\n          }\n        });\n      }\n    },\n\n    _giftCard: function () {\n      Shopify.Cart = Shopify.Cart || {};\n      Shopify.Cart.GiftWrap = {};\n      Shopify.Cart.GiftWrap.set = function (id) {\n        var headers = new Headers({ \"Content-Type\": \"application/json\" });\n        var request = {\n          method: \"POST\",\n          headers: headers,\n          body: '{ \"updates\": { \"' + id + '\": \"1\" } }',\n        };\n        fetch(\"/cart/update.js\", request).then(function () {\n          ella.loadAjaxCart();\n        });\n      };\n      $(\"#gift-wrapping\")\n        .off(\"click\")\n        .on(\"click\", function () {\n          $(this).find(\".icon-loader\").show();\n          Shopify.Cart.GiftWrap.set($(this).data(\"gift-id\"));\n        });\n    },\n\n    ask_an_expert_scroll: function () {\n      if (!$(\".ask-an-expert-sticky\").length) {\n        return;\n      }\n\n      var scrollTop = $(\".ask-an-expert-sticky\");\n      var offset = $(window).height() / 2;\n\n      $(window).scroll(function () {\n        // declare variable\n        var topPos = $(this).scrollTop();\n\n        // if user scrolls down - show scroll to top button\n        if (topPos > offset) {\n          $(scrollTop).fadeIn(400);\n          $(scrollTop).show();\n        } else {\n          $(scrollTop).fadeOut(400);\n        }\n      });\n    },\n\n    homeMoreLess: function () {\n      if ($(\"#rich-text__lessMore\").length) {\n        $(\"#rich-text__lessMore\")\n          .off(\"click\")\n          .on(\"click\", function () {\n            var moreText = $(this).data(\"more\");\n            var lessText = $(this).data(\"less\");\n            var _parent = $(this).parents(\".rich-text\");\n            if ($(this).text() == moreText) {\n              _parent.find(\".rich-text__bottom\").slideDown(200);\n              $(this).text(lessText);\n            } else {\n              _parent.find(\".rich-text__bottom\").slideUp(200);\n              $(this).text(moreText);\n            }\n          });\n      }\n    },\n\n    initMasonry: function () {\n      var t = $(\".collection-template .product-collection[data-layout]\");\n      if (t.length) {\n        var e = t.data(\"layout\"),\n          i = t.isotope({\n            layoutMode: e,\n            itemSelector: \"[data-gridItem]\",\n          });\n        return i;\n      }\n    },\n\n    hideSizechart: function () {\n      setTimeout(function () {\n        var size_chart_image = $(\n          \"#size_chart .size-chart-img .size-chart-img-display\"\n        );\n        if (size_chart_image.css(\"display\") == \"none\") {\n          $(\".size-chart-open-popup\").hide();\n        }\n      }, 1000);\n    },\n\n    swapHoverVideo: function () {\n      if (window.innerWidth > 1200) {\n        $(\".inner-top\").mouseenter(function () {\n          var chil = $(this).find(\"video\");\n          var _chil = $(this).find(\"video\").get(0);\n          if (chil.length > 0) {\n            _chil.play();\n          }\n        });\n        $(\".inner-top\").mouseleave(function () {\n          var chil = $(this).find(\"video\");\n          var _chil = $(this).find(\"video\").get(0);\n          if (chil.length > 0) {\n            _chil.pause();\n          }\n        });\n      }\n    },\n    initCustomInfo: function () {\n      doc.on(\"click\", \"[data-custom-information]\", (event) => {\n        event.preventDefault();\n        event.stopPropagation();\n\n        var $target = $(event.currentTarget),\n          $popupContent = $(\n            \"#halo-global-custom-information-popup .halo-popup-content\"\n          ),\n          $popupTitle = $(\n            \"#halo-global-custom-information-popup .halo-popup-title\"\n          ),\n          $title = $target.parent().find(\".title\").html(),\n          $contentHTMl = $target.parents(\".item\").find(\".desc_popup\").html();\n        \n        body.addClass(\"custom-info-show\");\n        $popupTitle.find(\"span\").remove();\n        $popupContent.find(\".halo-text-format\").remove();\n        $popupTitle.append($title);\n        $popupContent.append($contentHTMl);\n      });\n\n      doc.on(\"click\", \"[data-close-custom-information]\", (event) => {\n        event.preventDefault();\n        event.stopPropagation();\n\n        body.removeClass(\"custom-info-show\");\n      });\n\n      doc.on(\"click\", \".wrapper-overlay\", (event) => {\n        event.preventDefault();\n        event.stopPropagation();\n        if (body.hasClass(\"custom-info-show\")) {\n          body.removeClass(\"custom-info-show\");\n        }\n      });\n\n      doc.on(\"click\", (event) => {\n        if (body.hasClass(\"custom-info-show\")) {\n          if (\n            $(event.target).closest(\"[data-custom-information]\").length === 0 &&\n            $(event.target).closest(\n              \"#halo-global-custom-information-popup .modal-content\"\n            ).length === 0\n          ) {\n            body.removeClass(\"custom-info-show\");\n          }\n        }\n      });\n    },\n    // hcx-------------------------------start\n    // \u521D\u59CB\u5316\u906E\u7F69\u5C42\u7684\u9F20\u6807\u5C55\u793A\n    initMouseOverCover: function () {\n      $(\".background-sidebar-cover\").mouseover(function () {\n        $(this)\n          .children(\".close-icon-on-cover\")\n          .addClass(\"close-icon-on-cover-show\");\n      });\n      $(\".background-sidebar-cover\").mouseout(function () {\n        $(this)\n          .children(\".close-icon-on-cover\")\n          .removeClass(\"close-icon-on-cover-show\");\n      });\n      $(\".background-sidebar-cover\").mousemove(function (evt) {\n        $(this).children(\".close-icon-on-cover\").offset({\n          //offset\u57FA\u4E8E\u6587\u6863\u6D41\u5DE6\u4E0A\u89D2\uFF0C\u8981\u7528pageX\uFF0CpageY\n          left: evt.pageX,\n          top: evt.pageY,\n        });\n      });\n      $(\".background-sidebar-cover\").click(function () {\n        ella.closePopOnCover();\n      });\n    },\n    closePopOnCover: function () {\n      html.removeClass(\"search-open\");\n      html.removeClass(\"search-dropdown-open\");\n      html.removeClass(\"sidebar-open\");\n      $(body).removeClass(\"sidebar-show\");\n      html.removeClass(\"customer-show\");\n      html.removeClass(\"cart-show\");\n      $(\".close-menu-mb\").removeClass(\"menu-open\");\n      html.removeClass(\"translate-overlay\");\n      $(\".search-form .header-search\").hide();\n      $(\".site-nav\")\n        .find(\"[data-toggle-menu-mb]\")\n        .parent()\n        .next(\".sub-menu-mobile\")\n        .removeClass(\"sub-menu-open\");\n      \n    },\n    // \u9488\u5BF9\u5E7B\u706F\u7247\u7684\u64CD\u4F5C\n    initMainPageSlider: function () {\n      if($(\"[copy-discount-code]\").length <= 0) return;\n      // \u4F7F\u7528\u63D2\u4EF6\u590D\u5236\u6587\u672C\n      var clipboard = new ClipboardJS(\"[copy-discount-code]\");\n      let canClick = true;\n      target = null;\n      $(\".slideshow [copy-discount-code]\").append(\n        '<span class=\"copy-discount-code-cover\">COPY</span>'\n      );\n      $(\".collection-image-box [copy-discount-code]\").append(\n        '<span class=\"copy-discount-code-cover\">COPY</span>'\n      );\n\n      clipboard.on(\"success\", function (e) {\n        let discountList = $(\".discount-list\");\n        if (canClick || target !== e.trigger) {\n          target = e.trigger;\n          $(target).find(\".copy-discount-code-cover\").text(\"COPIED\");\n          $(target).addClass(\"disabled\");\n          if (discountList.length > 0) {\n            $(target).text(\"COPIED\");\n          }\n          canClick = false;\n          target.disabled = true;\n          e.clearSelection();\n          // $(\".ajax-warnning-message\").html('This promotion discount has not yet started. Please wait patiently! :)');\n          // ella.showModal(\".ajax-warnning-modal\");\n          setTimeout(() => {\n            canClick = true;\n            e.trigger.disabled = false;\n            $(e.trigger).find(\".copy-discount-code-cover\").text(\"COPY\");\n            if (discountList.length > 0) {\n              $(e.trigger).text(\"COPY\");\n            }\n            $(e.trigger).removeClass(\"disabled\");\n          }, 3000);\n        }\n      });\n    },\n    // \u6D3B\u52A8\u5012\u8BA1\u65F6\n    initActiveCountdown() {\n      this.my_countdown();\n      const wrapper = $(\".countdown-box\");\n      if (wrapper.length === 0) return;\n\n      const h_wrapper = wrapper.outerHeight() + 30;\n      const top = wrapper.offset().top;\n      const collectionSection = $('[data-section-type=\"collection-template\"]');\n      \n      // \u8BB0\u5F55\u4E0A\u4E00\u6B21\u6EDA\u52A8\u4F4D\u7F6E\uFF0C\u7528\u4E8E\u5224\u65AD\u6EDA\u52A8\u65B9\u5411\n      let lastScrollTop = 0;\n\n      $(window).scroll(function () {\n        const scrollTop = $(this).scrollTop();\n        const h1 = $(\".sticky-wrapper.is-sticky\").outerHeight() || 0;\n\n        // \u5224\u65AD\u662F\u5426\u4E3A\u5411\u4E0B\u6EDA\u52A8\uFF08\u5F53\u524D\u6EDA\u52A8\u4F4D\u7F6E > \u4E0A\u4E00\u6B21\u6EDA\u52A8\u4F4D\u7F6E\uFF09\n        const isScrollingDown = scrollTop > lastScrollTop;\n\n        if (isScrollingDown) {\n          // \u5411\u4E0B\u6EDA\u52A8\u65F6\uFF1A\u5F3A\u5236\u8BBE\u7F6E top \u4E3A 0\n          wrapper.css(\"top\", 0);\n          \n          // \u4FDD\u7559\u539F\u6709\u7684\u56FA\u5B9A\u903B\u8F91\uFF08\u5982\u679C\u9700\u8981\uFF09\n          if (scrollTop > top + 300) {\n            collectionSection.css(\"padding-top\", h_wrapper);\n            wrapper.addClass(\"countdown-fix\");\n          } else {\n            collectionSection.css(\"padding-top\", 0);\n            wrapper.removeClass(\"countdown-fix\");\n          }\n        } else {\n          // \u5411\u4E0A\u6EDA\u52A8\u65F6\uFF1A\u6309\u539F\u6709\u903B\u8F91\u57FA\u4E8E sticky \u5143\u7D20\u9AD8\u5EA6\u5B9A\u4F4D\n          if (scrollTop > top + 300) {\n            collectionSection.css(\"padding-top\", h_wrapper);\n            wrapper.addClass(\"countdown-fix\");\n            wrapper.css(\"top\", h1); // \u5411\u4E0A\u6EDA\u52A8\u65F6\u4F7F\u7528 h1 \u4F5C\u4E3A top \u503C\n          } else {\n            collectionSection.css(\"padding-top\", 0);\n            wrapper.removeClass(\"countdown-fix\");\n            wrapper.css(\"top\", 0);\n          }\n        }\n\n        // \u66F4\u65B0\u4E0A\u4E00\u6B21\u6EDA\u52A8\u4F4D\u7F6E\n        lastScrollTop = scrollTop;\n      });\n\n      // \u521D\u59CB\u89E6\u53D1\u4E00\u6B21\u6EDA\u52A8\u4E8B\u4EF6\n      $(window).trigger(\"scroll\");\n    },\n    my_countdown() {\n      const end_time = new Date(\"2035/12/5 3:00:00\");\n      const split_day = 7; // \u95F4\u9694\u65F6\u95F4\n      let time_str =\n        \"This activity has ended, looking forward to your next participation :)\";\n      let falseSaleCountDown = $(\"#active-count-down\");\n      let progressBarBox = $(\".progress-bar-box\");\n      let now_time = new Date();\n      let alltime = end_time.getTime() - now_time.getTime();\n      if (progressBarBox.length > 0) {\n        let split_timestamp = split_day * 1000 * 60 * 60 * 24; // \u6D3B\u52A8\u603B\u65F6\u95F4\n        let time_left = alltime % split_timestamp; // \u6D3B\u52A8\u5269\u4F59\u65F6\u95F4\n        let time_already = split_timestamp - time_left; // \u6D3B\u52A8\u5DF2\u8FDB\u884C\u65F6\u95F4\n        let progress =\n          Math.round((time_already / split_timestamp) * 10000) / 100;\n        progress = progress >= 100 ? 100 : progress;\n        let progress_str = progress + \"%\";\n        setTimeout(() => {\n          $(\".already-progress\").css(\"width\", progress_str);\n          $(\".santa-pic\").css(\"left\", progress_str);\n        }, 2000);\n      }\n\n      if (falseSaleCountDown.length > 0) {\n        setInterval(function () {\n          now_time = new Date();\n          alltime = end_time.getTime() - now_time.getTime(); //\u603B\u7684\u65F6\u95F4\uFF08\u6BEB\u79D2\uFF09\n          if (alltime > 0) {\n            var scend = parseInt((alltime / 1000) % 60); //\u79D2\n            var scend_str =\n              scend == 0 ? \"00\" : scend < 10 ? \"0\" + scend : String(scend);\n            var minute = parseInt((alltime / 1000 / 60) % 60); //  \u5206\u949F\n            var minute_str =\n              minute == 0 ? \"00\" : minute < 10 ? \"0\" + minute : String(minute);\n            var hour = parseInt((alltime / 1000 / 60 / 60) % 24); //\u5C0F\u65F6\n            var hour_str =\n              hour == 0 ? \"00\" : hour < 10 ? \"0\" + hour : String(hour);\n            var day = parseInt((alltime / 1000 / 60 / 60 / 24) % split_day); //\u5929\u6570\uFF08\u6BCF\u4E09\u5929\u81EA\u52A8\u66F4\u65B0\uFF09\n            var day_str = day == 0 ? \"00\" : day < 10 ? \"0\" + day : String(day);\n            if (day > 0) {\n              time_str = `\n                <div>\n                  <div class=\"time-item\">${day_str}<span class=\"small-unit\">D</span></div>\n                  <div class=\"unit\">days</div>\n                </div>\n                <span>:</span>\n                <div>\n                  <div class=\"time-item\">${hour_str}<span class=\"small-unit\">H</span></div>\n                  <div class=\"unit\">hours</div>\n                </div>\n                <span>:</span>\n                <div>\n                  <div class=\"time-item\">${minute_str}<span class=\"small-unit\">M</span></div>\n                  <div class=\"unit\">min</div>\n                </div>\n                <span>:</span>\n                <div>\n                  <div class=\"time-item\">${scend_str}<span class=\"small-unit\">S</span></div>\n                  <div class=\"unit\">sec</div>\n                </div>\n              `;\n              // time_str = day + \"Day \" + hour + \"H:\" + minute + \"M:\" + scend + \"S\";\n            } else {\n              time_str = `\n                <div>\n                  <div class=\"time-item\">${hour_str}<span class=\"small-unit\">H</span></div>\n                  <div class=\"unit\">hours</div>\n                </div>\n                <span>:</span>\n                <div>\n                  <div class=\"time-item\">${minute_str}<span class=\"small-unit\">M</span></div>\n                  <div class=\"unit\">min</div>\n                </div>\n                <span>:</span>\n                <div>\n                  <div class=\"time-item\">${scend_str}<span class=\"small-unit\">S</span></div>\n                  <div class=\"unit\">sec</div>\n                </div>`;\n              // time_str = hour + \"H:\" + minute + \"M:\" + scend + \"S\";\n            }\n          } else {\n            $(\".wrapper-newsletter\").find(\".des\").hide();\n          }\n          falseSaleCountDown.html(time_str);\n        }, 1000);\n      }\n    },\n    initSearchRecord() {\n      this.setSearchRecord();\n      ella.initClearSearchRecord();\n    },\n    setSearchRecord() {\n      let temp_search_list = localStorage.getItem(\"search_keywords\");\n      let search_list = !!temp_search_list ? JSON.parse(temp_search_list) : [];\n      if (!!search_list && search_list.length > 0) {\n        $(\".header-search__trending\").hide();\n        $(\".header-search__record\").show();\n        let str = \"\";\n        search_list.forEach((item) => {\n          str += `<li class=\"item\">\n            <a href=\"/search?type=product&q=${item}\" class=\"highlight\">\n              <span>${item}</span>\n            </a>\n              <span class=\"delete-record\">\n                <svg aria-hidden=\"true\" data-prefix=\"fal\" data-icon=\"times\" role=\"img\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 320 512\" class=\"svg-inline--fa fa-times fa-w-10 fa-2x\"><path fill=\"currentColor\" d=\"M193.94 256L296.5 153.44l21.15-21.15c3.12-3.12 3.12-8.19 0-11.31l-22.63-22.63c-3.12-3.12-8.19-3.12-11.31 0L160 222.06 36.29 98.34c-3.12-3.12-8.19-3.12-11.31 0L2.34 120.97c-3.12 3.12-3.12 8.19 0 11.31L126.06 256 2.34 379.71c-3.12 3.12-3.12 8.19 0 11.31l22.63 22.63c3.12 3.12 8.19 3.12 11.31 0L160 289.94 262.56 392.5l21.15 21.15c3.12 3.12 8.19 3.12 11.31 0l22.63-22.63c3.12-3.12 3.12-8.19 0-11.31L193.94 256z\" class=\"\"></path></svg>\n              </span>\n          </li>`;\n        });\n        $(\".quickSearchResultsWrap\")\n          .find(\".header-search__record\")\n          .find(\".list-item\")\n          .html(str);\n      } else {\n        $(\".header-search__trending\").show();\n        $(\".header-search__record\").hide();\n      }\n      // \u91CD\u65B0\u7ED1\u5B9A\u4E8B\u4EF6\n      this.initDeleteSearchRecord();\n    },\n    initDeleteSearchRecord() {\n      $(\".header-search__record .delete-record\")\n        .off(\"click\")\n        .on(\"click\", function (e) {\n          let deleteOne = $(this).siblings().find(\"span\").text();\n          let search_list = JSON.parse(localStorage.getItem(\"search_keywords\"));\n          let filteredArray = search_list.filter((item) => item !== deleteOne);\n          localStorage.setItem(\n            \"search_keywords\",\n            JSON.stringify(filteredArray)\n          );\n          ella.setSearchRecord();\n        });\n    },\n    initClearSearchRecord() {\n      $(\".header-search__record .clear-record\").click(function () {\n        localStorage.setItem(\"search_keywords\", []);\n        ella.setSearchRecord();\n      });\n    },\n    initCustomLoading() {\n      setTimeout(function () {\n        // \u52A0\u8F7D\u5B8C\u6210\uFF0C\u9690\u85CF\u52A0\u8F7D\u6761\u5E76\u663E\u793A\u5185\u5BB9\n        $(\".loading-bar\").fadeOut(\"slow\", () => {\n          $(\".loading-bar\").hide(); // \u7528\u4E8EfadeOut\u672A\u5728\u5185\u8054\u6807\u7B7E\u4E0A\u589E\u52A0style=\"display:none\"\u7684\u60C5\u51B5\n          $(\".loading-finish\").fadeIn(\"slow\");\n        });\n      }, 1200);\n    },\n    // \u521D\u59CB\u5316\u964D\u4EF7\u901A\u77E5\u7684\u63D2\u4EF6\u5C55\u793A\n    initPlugIn() {\n      var targetNode = document.querySelector(\"body\");\n      var observer = new MutationObserver(function (mutationsList, observer) {\n        // \u4F7F\u7528mutionsList\u4E2D\u7684\u4FE1\u606F\u8FDB\u884C\u76F8\u5E94\u7684\u64CD\u4F5C\n        for (var mutation of mutationsList) {\n          if (mutation.type === \"childList\") {\n            mutation.addedNodes.forEach(function (node) {\n              if ($(node).hasClass(\"gw-float-widget\")) {\n                let showedPlugInFT = sessionStorage.getItem(\"showedPlugInFT\");\n                if (!showedPlugInFT) {\n                  // \u6DFB\u52A0\u6837\u5F0F\n                  $(\".gw-float-widget[gw-price-drop]\").addClass(\n                    \"plugin-scroll-out\"\n                  );\n                  sessionStorage.setItem(\"showedPlugInFT\", true);\n                  observer.disconnect();\n                }\n              }\n            });\n          }\n        }\n      });\n      // \u4F7F\u7528\u914D\u7F6E\u6587\u4EF6\u8C03\u7528observe\u65B9\u6CD5\n      var config = { attributes: false, childList: true, subtree: false };\n      // \u5F00\u59CB\u89C2\u5BDF\u5DF2\u914D\u7F6E\u89C2\u5BDF\u7684\u76EE\u6807\u8282\u70B9\n      observer.observe(targetNode, config);\n      // \u4EE5\u540E\uFF0C\u4F60\u53EF\u4EE5\u505C\u6B62\u89C2\u5BDF\n    },\n    // \u5207\u6362\u53D8\u4F53\u65F6\uFF0C\u5237\u65B0\u9636\u68AF\u6298\u6263\u6570\u636E\n    changeLevelDisct(variant_id) {\n      if ($(\"#product-add-to-cart\").val() == \"Sold Out\") {\n        $(\".level-discount-box\").hide();\n      } else {\n        $(\".level-discount-box\").show();\n      }\n      $(\".level-discount-box\").find(\"input[name=id]\").val(variant_id);\n      let temp_now_price = $(\".product-shop\").find(\".price\").eq(0).text();\n      let now_price = Number(temp_now_price.replace(\"$\", \"\").replace(/,/g, \"\")) * 100;\n\n      $(\".level-disct-item\").each((index, item) => {\n        let off_rate = $(item).find(\"[data-record]\").data(\"off_rate\");\n        let buy_num = $(item).find(\"[data-record]\").data(\"buy_num\");\n\n        let normal_price = Math.ceil(now_price);\n        let disct_price = Math.ceil((now_price * (100 - off_rate)) / 100);\n        let total_normal_price = normal_price * buy_num;\n        let total_disct_price = disct_price * buy_num;\n\n        let normal_price_str = Shopify.formatMoney(\n          normal_price,\n          window.money_format\n        );\n        let disct_price_str = Shopify.formatMoney(\n          disct_price,\n          window.money_format\n        );\n        let total_normal_price_str = Shopify.formatMoney(\n          total_normal_price,\n          window.money_format\n        );\n        let total_disct_price_str = Shopify.formatMoney(\n          total_disct_price,\n          window.money_format\n        );\n\n        $(item).find(\".normal-price\").text(normal_price_str);\n        $(item).find(\".disct-price\").text(disct_price_str);\n        $(item).find(\".total-normal-price\").text(total_normal_price_str);\n        $(item).find(\".total-disct-price\").text(total_disct_price_str);\n      });\n    },\n    // \u83B7\u53D6url\u53C2\u6570\n    getQueryParam(param) {\n      var urlParams = new URLSearchParams(window.location.search);\n      return urlParams.get(param);\n    },\n    // \u5E94\u7528\u6298\u6263\u7801\n    applyDiscountCode(discount_code, apply_btn) {\n      let isSidebarDiscount =\n        $(apply_btn).closest(\"#dropdown-cart\").length > 0 ? true : false;\n      $.ajax({\n        url: \"/discount/\" + discount_code + \"?redirect=/cart\",\n        beforeSend: function () {\n          if (isSidebarDiscount) {\n            ella.showSideBarLoading();\n          } else {\n            ella.showLoading();\n          }\n        },\n        error: function (err) {\n          if (isSidebarDiscount) {\n            ella.hideSideBarLoading();\n          } else {\n            ella.hideLoading();\n          }\n        },\n        success: function (res) {\n          Shopify.getCart(function (cart) {\n            if (isSidebarDiscount) {\n              ella.hideSideBarLoading();\n              ella.renderSidebarCartCalcPrice(cart, true, discount_code);\n            } else {\n              ella.hideLoading();\n              ella.updateDropdownCartOnMainCartPage(cart, true, discount_code);\n            }\n          });\n        },\n      });\n    },\n    // \u4EF7\u683C\u8BA1\u7B97\uFF0C\u6E32\u67D3\u8D2D\u7269\u8F66\u4FA7\u8FB9\u680F\u7684\u4E0B\u534A\u90E8\u5206\n    renderSidebarCartCalcPrice(cart, isFromDiscountApply, params) {\n      // \u6298\u6263\u7801\u76F8\u5173\n      $(\".disct-code-box .no-match-disct\").hide();\n      if (\n        cart.cart_level_discount_applications.length > 0 &&\n        $(\"[data-cart-discount-wrapper]\").length\n      ) {\n        var cartDiscounts = cart.cart_level_discount_applications;\n        var title =\n          cartDiscounts[0].title || cartDiscounts[0].discount_application.title; // \u8FD4\u56DE\u7684cart\u7ED3\u6784\u5B58\u5728\u5DEE\u5F02\u4E0D\u4E00\u6837\n        var total_discount =\n          cartDiscounts[0].total_allocated_amount ||\n          cartDiscounts[0].discount_application.total_allocated_amount;\n\n        $(\"[data-cart-discount-wrapper]\").show();\n        $(\".summary .cart-savings\").show();\n        $(\"[data-cart-discount-title]\").text(title);\n        $(\"[data-cart-discount-amount]\").html(\n          Shopify.formatMoney(total_discount, window.money_format)\n        );\n        if(isFromDiscountApply && params && params !== 'NULL'){\n          let discountApplied = false;\n          let originalCode = params\n          if (originalCode && title.toUpperCase() === originalCode) {\n            discountApplied = true;\n          }\n          if(discountApplied){\n            $(\".disct-code-box .no-match-disct\").hide();\n          } else {\n            $(\".disct-code-box .no-match-disct\").show();\n          }\n        }\n      } else {\n        $(\"[data-cart-discount-wrapper]\").hide();\n        $(\".summary .cart-savings\").hide();\n        if (isFromDiscountApply) {\n          $(\".disct-code-box .no-match-disct\").show();\n        }\n      }\n      // \u4EF7\u683C\u8BA1\u7B97\u76F8\u5173\n      dropdownCart\n        .find(\".summary .total-original_price\")\n        .html(\n          Shopify.formatMoney(cart.original_total_price, window.money_format)\n        );\n      dropdownCart\n        .find(\".summary .subtotal-price\")\n        .html(\n          Shopify.formatMoney(cart.items_subtotal_price, window.money_format)\n        );\n      if (cart.original_total_price == cart.items_subtotal_price) {\n        dropdownCart.find(\".summary .total-original_price\").hide();\n      } else {\n        dropdownCart.find(\".summary .total-original_price\").show();\n      }\n      dropdownCart\n        .find(\".summary .discounted-price\")\n        .html(Shopify.formatMoney(cart.total_price, window.money_format));\n      $(\"#sidebar-cart\")\n        .find(\".cart-footer .notranslate\")\n        .html(Shopify.formatMoney(cart.total_price, window.money_format));\n    },\n    // \u521D\u59CB\u5316\u6298\u6263\u7801\u8F93\u5165\u6846\n    initDiscountBox() {\n      let apply_btn = $(\".apply-disct-btn\");\n      apply_btn.click(function () {\n        let discount_code = $(this).prev().val().trim();\n        if (!!discount_code) {\n          ella.applyDiscountCode(discount_code, this);\n        }\n      });\n    },\n    // \u521D\u59CB\u5316\u8BA1\u6570\u5668\u529F\u80FD,callback: \u5F53\u8BA1\u6570\u5668\u6539\u53D8\u540E\u6267\u884C\u7684\u56DE\u8C03\u51FD\u6570\n    initNumberInput(el, callback) {\n      var btnUpdate = el.find(\".input-number\");\n      btnUpdate.on(\"input\", function () {\n        var input = $(this);\n        let value = input.val();\n        let numValue = parseInt(value, 10);\n        if (numValue <= 0 || isNaN(numValue)) {\n          numValue = 1;\n        }\n        input.val(numValue);\n        if (typeof callback === \"function\") {\n          callback(input);\n        }\n      });\n      ella.initDecrAndIncrBtn();\n    },\n    // \u4FA7\u8FB9\u680F\u8D2D\u7269\u8F66\u8F93\u5165\u6846\u6570\u5B57\u6539\u53D8\u7684\u76D1\u542C\u548C\u9632\u6296\u5904\u7406\n    dropdownCartQuantityChange(input) {\n      clearTimeout(ella.inputChangeTimeOut);\n      ella.inputChangeTimeOut = setTimeout(function () {\n        var id = input.closest(\"[data-product-id]\").data(\"product-id\");\n        var quantity = parseInt(input.val());\n        input.parents(\".item\").addClass(\"cur--change\");\n        var line = input.data(\"line\");\n        if (quantity > line) {\n          $(\".ajax-error-message\").text(\n            \"You can't add more, there are \" + line + \" left in the product\"\n          );\n          ella.showModal(\".ajax-error-modal\");\n          quantity = line;\n          input.val(quantity);\n        }\n        ella.doAjaxUpdatePopupCart(quantity, id);\n      }, 800);\n    },\n    initDecrAndIncrBtn() {\n      $(\".btn-decrease\")\n        .off(\"click\")\n        .on(\"click\", function (e) {\n          e.preventDefault();\n          e.stopPropagation();\n          var input = $(this).siblings(\".input-number\");\n          var currentValue = parseInt(input.val(), 10);\n          if (currentValue > 1) {\n            input.val(currentValue - 1);\n          }\n          input.trigger(\"input\");\n        });\n      $(\".btn-increase\")\n        .off(\"click\")\n        .on(\"click\", function (e) {\n          e.preventDefault();\n          e.stopPropagation();\n          var input = $(this).siblings(\".input-number\");\n          var currentValue = parseInt(input.val(), 10);\n          input.val(currentValue + 1);\n          input.trigger(\"input\");\n        });\n    },\n    // \u521D\u59CB\u5316\u7ED3\u7B97\u6309\u94AE\n    initCheckout() {\n      $('input[name=\"checkout\"]').attr(\"disabled\", false);\n      $('input[name=\"checkout\"]').click(function (e) {\n        e.preventDefault();\n        window.location.href = \"/checkout?locale=en\";\n      });\n    },\n    // \u8BE6\u60C5\u9875\u7B49\u516C\u5171\u951A\u70B9\u521D\u59CB\u5316\n    initScrollAnchor() {\n      $(\"[scroll-anchor-link]\").on(\"click\", function (e) {\n        let btn_link = $(this).attr(\"scroll-anchor-link\");\n        $(\"html, body\").animate(\n          {\n            scrollTop: $(\"#\" + btn_link).offset().top - 100,\n          },\n          1000\n        );\n        return false;\n      });\n    },\n    initStickyCheckout() {\n      let option_btn = $(\".btn-actions .btn-checkout.on-page\");\n      let sticky_btn = $(\".btn-actions .option-btn.sticky-btn\");\n      let elementHeight = option_btn.outerHeight();\n      $(window).scroll(function () {\n        var elementOffset = option_btn.offset().top;\n        var windowHeight = $(window).height();\n        var scrollPosition = $(window).scrollTop();\n        if (\n          (elementOffset + elementHeight > scrollPosition &&\n            elementOffset < scrollPosition + windowHeight) ||\n          scrollPosition + windowHeight + 100 >= $(document).height()\n        ) {\n          // \u5143\u7D20\u5728\u53EF\u89C6\u533A\u57DF\u5185\uFF0C\u6062\u590D\u6B63\u5E38\u6837\u5F0F\n          sticky_btn.removeClass(\"open-sticky\");\n        } else {\n          // \u5143\u7D20\u4E0D\u5728\u53EF\u89C6\u533A\u57DF\u5185\uFF0C\u5438\u5E95\u5C55\u793A\n          sticky_btn.addClass(\"open-sticky\");\n        }\n      });\n    },\n    openRemindLoginPop: function (remindLoginPop) {\n      remindLoginPop.fadeIn(500);\n    },\n\n    closeRemindLoginPop: function (remindLoginPop, expire = 1) {\n      remindLoginPop.fadeOut(500);\n      $.cookie(\"remindLoginModal\", \"closed\", {\n        expires: expire,\n        path: \"/\",\n      });\n    },\n    // \u521D\u59CB\u5316\u63D0\u793A\u767B\u5F55\u7684\u5F39\u6846\n    initRemindLoginPop: function () {\n      let remindLoginPop = $(\".remind-login-pop\");\n      let in_showpage = false;\n      let closeBtn = $(\".remind-login-pop .close-btn\");\n      const currentUrl = window.location.pathname;\n      // \u53EA\u5728\u9996\u9875\u81EA\u52A8\u5F39\u51FA\n      if (currentUrl === \"/\") {\n        in_showpage = true;\n      }\n      closeBtn.on(\"click\", function () {\n        ella.closeRemindLoginPop(remindLoginPop, 1);\n      });\n      if ($.cookie(\"remindLoginModal\") != \"closed\" && in_showpage) {\n        ella.ellaTimeout = setTimeout(function () {\n          ella.openRemindLoginPop(remindLoginPop);\n          setTimeout(function () {\n            ella.closeRemindLoginPop(remindLoginPop, 1);\n          }, 8000);\n        }, 2000);\n      }\n    },\n    initTextareaCount(){\n      const $formTextarea = $('.form-textarea')\n      if($formTextarea.length > 0){\n        $formTextarea.each((index,item)=>{\n          const $textarea = $(item).find('textarea');\n          const $wordCount = $(item).find('.textarea-word-count').find('.current-count');\n          $textarea.on('input', function() {\n            const length = this.value.length;\n            $wordCount.text(length);\n          });\n        })\n      }\n    },\n    initCustomLinkBtn() {\n      $(\"[custom-link-btn]\").on(\"click\", function () {\n        const url = $(this).data(\"url\");\n        window.location.href = url;\n      });\n    },\n    // \u5BF9\u6307\u5B9Aclass\u7684\u5E26href=\"#\"\u7684a\u6807\u7B7E\u8FDB\u884C\u9ED8\u8BA4\u7981\u7528\n    disableHashLinks: function () {\n      let filterClass = [\n        \"close-search\",\n        \"close-modal\",\n        \"close-customer\",\n        \"close-cart\",\n        \"remove-all\",\n        \"slide-button\",\n        \"slide-image\",\n      ];\n      const links = document.querySelectorAll('a[href=\"#\"]');\n      links.forEach(function (link) {\n        const classList = link.classList;\n        const shouldDisable = filterClass.some((className) =>\n          classList.contains(className)\n        );\n        if (shouldDisable) {\n          link.addEventListener(\"click\", function (event) {\n            event.preventDefault();\n          });\n        }\n      });\n    },\n    // \u5B9E\u65F6\u6821\u9A8C\n    liveValidate: function() {\n      // \u9009\u62E9\u6240\u6709\u9700\u8981\u5B9E\u65F6\u9A8C\u8BC1\u7684\u5355\u4E2A\u5B57\u6BB5\n      const $fields = $(\"[data-validate]\");\n      \n      // \u5982\u679C\u6CA1\u6709\u9700\u8981\u9A8C\u8BC1\u7684\u5B57\u6BB5\uFF0C\u76F4\u63A5\u8FD4\u56DE\n      if ($fields.length === 0) return;\n      \n      // \u5B9A\u4E49\u9A8C\u8BC1\u89C4\u5219\n      const validationRules = {\n        email: {\n          pattern: /^[^\\s@]+@[^\\s@]+\\.[^\\s@]+$/,\n          message: \"Please enter a valid email address\"\n        },\n        required: {\n          pattern: /\\S+/,\n          message: \"This field cannot be empty\"\n        },\n        phone: {\n          pattern: /^1[3-9]\\d{9}$/,\n          message: \"Please enter a valid mobile phone number\"\n        },\n        number: {\n          pattern: /^\\d+$/,\n          message: \"Please enter a number\"\n        },\n        url: {\n          pattern: /^(https?:\\/\\/)?([\\da-z.-]+)\\.([a-z.]{2,6})([\\/\\w.-]*)*\\/?$/,\n          message: \"Please enter a valid URL\"\n        }\n      };\n      \n      // \u521B\u5EFA\u6216\u66F4\u65B0\u9519\u8BEF\u63D0\u793A\n      function createErrorMessage($field, message) {\n        // \u68C0\u67E5\u662F\u5426\u5DF2\u5B58\u5728\u9519\u8BEF\u63D0\u793A\n        let $error = $field.next(\".validation-error\");\n        if ($error.length === 0) {\n          $error = $(\"<span>\", {\n            class: \"validation-error text-red-500 text-sm mt-1 block hidden\",\n            role: \"alert\"\n          }).insertAfter($field);\n        }\n        $error.text(message);\n        return $error;\n      }\n      \n      // \u521D\u59CB\u5316\u9519\u8BEF\u63D0\u793A\u5143\u7D20\uFF08\u4F46\u4E0D\u663E\u793A\uFF09\n      $fields.each(function() {\n        createErrorMessage($(this), \"\");\n      });\n      \n      // \u9A8C\u8BC1\u5355\u4E2A\u5B57\u6BB5\n      function validateField($field) {\n        // \u5982\u679C\u8FD8\u672A\u4EA4\u4E92\u8FC7\uFF0C\u4E0D\u8FDB\u884C\u9A8C\u8BC1\n        if (!$field.data('interacted')) {\n          return true;\n        }\n        \n        const fieldValue = $field.val().trim();\n        const fieldType = $field.data(\"validate\");\n        const isRequired = $field.prop(\"required\") || $field.data(\"required\");\n        let isValid = true;\n        let errorMessage = \"\";\n        \n        // \u5904\u7406\u5FC5\u586B\u9A8C\u8BC1\n        if (isRequired && !validationRules.required.pattern.test(fieldValue)) {\n          isValid = false;\n          errorMessage = validationRules.required.message;\n        } \n        // \u5904\u7406\u7279\u5B9A\u7C7B\u578B\u9A8C\u8BC1\uFF08\u975E\u7A7A\u65F6\uFF09\n        else if (fieldValue && validationRules[fieldType]) {\n          if (!validationRules[fieldType].pattern.test(fieldValue)) {\n            isValid = false;\n            errorMessage = validationRules[fieldType].message;\n          }\n        }\n        \n        // \u66F4\u65B0UI\u72B6\u6001\n        const $error = $field.next(\".validation-error\");\n        $error.text(errorMessage);\n        \n        $field.toggleClass(\"border-red-500\", !isValid)\n              .toggleClass(\"border-green-500\", isValid && fieldValue);\n        $error.toggleClass(\"hidden\", isValid);\n        // \u89E6\u53D1\u81EA\u5B9A\u4E49\u4E8B\u4EF6\n        $field.trigger(\"validation.complete\", {\n          valid: isValid,\n          value: fieldValue,\n          type: fieldType\n        });\n        \n        return isValid;\n      }\n      \n      // \u4E3A\u6BCF\u4E2A\u5B57\u6BB5\u7ED1\u5B9A\u4E8B\u4EF6\n      $fields.each(function() {\n        const $field = $(this);\n        \n        // \u6807\u8BB0\u5B57\u6BB5\u5DF2\u4EA4\u4E92\n        function markAsInteracted() {\n          $field.data('interacted', true);\n          validateField($field);\n        }\n        \n        // \u4EC5\u5728\u7528\u6237\u4EA4\u4E92\u540E\u624D\u8FDB\u884C\u9A8C\u8BC1\n        $field.on(\"input\", markAsInteracted)\n              .on(\"blur\", markAsInteracted);\n      });\n    }\n  };\n})(jQuery);\n"],
  "mappings": "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",
  "names": ["event", "totalProduct", "self", "btnRemove", "productId", "quantity", "postMessageToPlayer", "player", "sidebarTag", "newProductItem", "variantId", "e", "data", "id", "winWidth", "target", "str", "compareElm", "compareCountNum", "index", "ProductHandle", "a", "bundlePrice", "display", "active", "observer"]
}
