{"enabled":true,"customJs":"window.customilyShopify ??= {};\nwindow.customilyShopify.stickyMobileTop = $(\n  \".shopify-section-group-header-group\"\n)\n  .last()\n  .height();\nwindow.addEventListener('customily-options-loaded', function () {  \n  const btn = document.querySelector('.customily-personalize-button');\n  if (btn) {\n    btn.textContent = 'Personalize For $12.50';\n  }\n});\n\nwindow.addEventListener(\"customily-live-preview-shown\", function () {\n  if(!window.engraver.isMobile) {\n    $(\".cl-canvas-container\").insertBefore(\"media-gallery\")\n  }\n});\n\n/*\nvar themeName = \"Bag Club Promotion - 2025\";\nvar currentThemeName = Shopify.theme.name;\nvar stickyMobileEnable = false;\nvar stickyMobileTop = 100;\nvar stickyModileWork = false;\n\nfunction getOffset(el) {\n  if (!el) return null;\n  const rect = el.getBoundingClientRect();\n  return {\n    left: rect.left + window.scrollX,\n    top: rect.top + window.scrollY,\n  };\n}\n\nfunction searchParentWithOffset(element) {\n  let parent = element.parentNode;\n  let counter = 0;\n\n  while (parent && counter < 10) {\n    var offset = getOffset(parent);\n    if (offset != null && offset.top > 0) {\n      return offset.top;\n    }\n\n    parent = parent.parentNode;\n    counter++;\n  }\n\n  return 0;\n}\n\nvar offsetParentElement = null;\n\nfunction UpdateStickyMobile() {\n  var element = document.querySelector(\".canvas-wrapper\");\n  if (!element) return;\n  var elementPosition = 0;\n  try {\n    if (offsetParentElement == null) {\n      elementPosition = searchParentWithOffset(element) + stickyMobileTop;\n      if (elementPosition < 0) elementPosition = 0;\n      offsetParentElement = elementPosition;\n    }\n  } catch {\n    console.error(\"error sticky\");\n  }\n  var workOptions = false;\n  var optionBottomOffset = 0;\n  try {\n    var optionEl = document.querySelector(\"#customily-options\");\n    optionBottomOffset =\n      getOffset(optionEl).top +\n      optionEl.offsetHeight -\n      element.offsetHeight / 2;\n    workOptions = true;\n  } catch {\n    console.error(\"error sticky options\");\n  }\n  if (window.pageYOffset > optionBottomOffset && workOptions) {\n    element.style.position = \"absolute\";\n    element.style.top = optionBottomOffset - offsetParentElement + \"px\";\n    element.style.zIndex = 5;\n  } else if (window.pageYOffset > offsetParentElement) {\n    element.style.position = \"fixed\";\n    element.style.top = stickyMobileTop + \"px\";\n    element.style.zIndex = 5;\n  } else {\n    element.style.position = \"absolute\";\n    element.style.top = \"0\";\n    element.style.zIndex = 5;\n  }\n}\n\nwindow.customily = window.customily || {};\nwindow.customily = {\n  ...window.customily,\n  featureFlags: {\n    performanceLog: true,\n    libraryImprovement: true,\n  },\n};\n\nwindow.addEventListener(\"scrollNULLED\", function (event) {\n  if (!stickyMobileEnable || !stickyModileWork) return;\n  UpdateStickyMobile();\n});\n\nvar isMobile = false;\nwindow.customilyShopify = {\n  stickyMobileTop: 100,\n  hideAllPropsPrefix: \"_\",\n  optimization: {\n    enableLibraryPosition: true,\n    disableConflictDetection: true,\n  },\n  hooks: {\n    getPreviewMode: function (_isMobile, sets, settings) {\n      if (!_isMobile) return;\n      isMobile = _isMobile;\n      if (settings.stickyPreviewMobile) {\n        stickyMobileEnable = true;\n        settings.stickyPreviewMobile = false;\n      }\n      return;\n    },\n    onAppLoaded: function () {\n      $(\"#customily-personalize-button\").insertBefore(\n        $(\".quantity-submit-row__submit\")\n      );\n      window.addEventListener(\"customily-options-changed\", (e) => {\n        if (\n          e.detail?.option?.type == \"Swatch\" &&\n          e.detail?.option?.value?.includes(\"Upload Your Own\")\n        ) {\n          console.log(e.detail);\n          setTimeout(() => {\n            const container = document.querySelector(\".cl-flex-fix\");\n            let label = container.querySelector(\".cl-checkbox-label\");\n            let subContainer = container.querySelector(\".cl-option-content\");\n            subContainer.classList.add(\"cl-subcontainer\");\n            label.style[\"margin-left\"] = \"3px\";\n            subContainer.querySelector(\".help-text\").removeAttribute(\"style\");\n            subContainer\n              .querySelector(\".help-text\")\n              .childNodes[0].classList.add(\"cl-link\");\n            $(label).insertBefore($(subContainer.querySelector(\".help-text\")));\n          }, 500);\n        }\n      });\n    },\n    livePreviewBeforeGallery: true,\n    onButtonsReplaced: function () {\n      try {\n        var personalizeCustomily = $(\".customily-personalize-button\");\n        if (personalizeCustomily) {\n          var originalButton = personalizeCustomily\n            .parent()\n            .find(\"button[type=submit]\");\n          originalButton.on(\"click\", function (event) {\n            if (event.hasOwnProperty(\"originalEvent\")) {\n              originalButton.attr(\"clear-customily\", \"true\");\n            } else {\n              originalButton.attr(\"clear-customily\", \"false\");\n            }\n          });\n        }\n      } catch {}\n    },\n  },\n};*/\n\n\n/// Personal sticky\nwindow.customilyShopify = window.customilyShopify ?? {};\nwindow.customilyShopify.customSticky = {\n    stickyCustomParent: \".cl-sticky-container\",\n    isHidden: false,\n    firstLoad: true,\n    topPixels: 200,\n    botPixels: -550,\n    enable: true,\n};\n\n\nif (window.customilyShopify.customSticky.enable) {\n    window.addEventListener(\"customily-live-preview-shown\", () => {\n        const clParent = window.customilyShopify.customSticky.stickyCustomParent;\n        if ($(`${clParent}:has(.cl-canvas-container)`).length) {\n            const defaultHeight = $(`${clParent}:has(.cl-canvas-container)`).height()\n            if (window.customilyShopify.customSticky.firstLoad && !window.engraver.isMobile) {\n                window.customilyShopify.customSticky.defaultHeight = defaultHeight;\n                $(window).on(\"scroll\", (_) => {\n                    makeSticky();\n                });\n                makeSticky();\n                window.customilyShopify.customSticky.firstLoad = false;\n            }\n        }\n    });\n\n    window.addEventListener(\n        \"customily-live-preview-hidden\",\n        () => (window.customilyShopify.customSticky.isHidden = true),\n    );\n}\n\nfunction makeSticky() {\n    const clParent = window.customilyShopify.customSticky.stickyCustomParent;\n    if (\n        $(\"#customily-options\").isInViewport() &&\n        !window.customilyShopify.customSticky.isHidden\n    ) {\n\n        // --- Optional(For prevent wrong distribution)\n        // Set container parent a min with 'cause some page need that the parent keep its size for a correct page distribution\n        // plus 50px 'cause customily preview may be higher than the empty space\n        $(`${clParent}:has(.cl-canvas-container)`)\n            .parent()\n            .css(\n                \"min-height\",\n                `${window.customilyShopify.customSticky.defaultHeight + 50}px`,\n            );\n        $(`${clParent}:has(.cl-canvas-container)`).parent().css(\"display\", \"initial\");\n        // ---\n\n        $(`${clParent}:has(.cl-canvas-container)`).attr(\n            \"style\",\n            `background:white;position:fixed !important; z-index:99999999; top:100px; width:${$(\n                `${clParent}:has(.cl-canvas-container)`,\n            ).width()}px; height:${$(\".cl-canvas-container\").height()}px;`,\n        );\n\n    } else {\n        // --- Optional(For prevent wrong distribution)\n        $(`${clParent}:has(.cl-canvas-container)`)\n            .parent()\n            .css(\"display\", \"initial\");\n        // ---\n\n        $(`${clParent}:has(.cl-canvas-container)`).attr(\n            \"style\",\n            \"position:sticky; top:auto;\",\n        );\n    }\n}\n\n$.fn.isInViewport = function () {\n    const elementTop = $(this).offset().top;\n    const elementBottom = elementTop + $(this).outerHeight();\n    const viewportTop = $(window).scrollTop();\n    const viewportBottom = viewportTop + $(window).height();\n\n    // window.customilyShopify.customSticky.topPixels means how close from the top the options must be\n    const outOfBottom = elementBottom > viewportTop + window.customilyShopify.customSticky.topPixels; // check if the option bottom is passed\n\n    // window.customilyShopify.customSticky.botPixels means how far from the top the options must be\n    const outOfTop = elementTop < viewportBottom + window.customilyShopify.customSticky.botPixels; // check if the option top is passed\n\n    return outOfBottom && outOfTop;\n};\n\n\n\n","dropdown":{"size":"medium","color":"rgba(114,88,224,1)","sizePx":32,"squared":true,"enableSearch":false},"swatches":{"size":"custom","color":"rgba(0,0,0,1)","sizePx":80,"squared":true,"noWrap":false,"allowDeletingFromMultiselectOption":false},"useModal":false,"customCss":".cl-canvas-container {\n  z-index: 99999999;\n}\n.customily-personalize-button {\n  -webkit-text-fill-color:  #454f5b !important;\n  color: #454f5b !important;\n  background-color: transparent !important;\n  border: 2px solid  #454f5b !important;\n  order: 2 !important;\n}\n\n.cl-link {\n  text-decoration: underline;\n  color: #EFC821;\n  writing-mode: horizontal-tb;\n  text-orientation: upright;\n}\n.cl-flex-fix {\n  width: 100%;\n}\n\n.cl-subcontainer {\n  position: unset!important;\n  width: 100% !important;\n  align-items: center!important;\n  flex-direction: row!important;\n  justify-content: start!important;\n  min-width: 100%;\n}\n.gallery__inner{\n  position: sticky !important;\n  top: 15px !important;\n}\n.product-form .quantity-submit-row .quantity-submit-row__submit {\n  margin-top: unset !important;\n}\n\n.quantity-submit-row {\n    display: flex !important;\n    flex-direction: column !important;\n}\n\n@media only screen and (max-width: 767px) {\n  .customily-personalize-button {\n    font-size: 12px !important;\n    font-weight: 600 !important;\n  }\n  .product-form__submit {\n    font-size: 12px !important;\n  }\n}\n\n.cart-item__quantity {\n  visibility: visible !important;\n}\n.cart-item__quantity-wrapper {\n  visibility: visible !important;\n}","debugMode":false,"hoverZoom":false,"touchZoom":true,"tooltipType":"value","zoomBtnText":"","addOrderNotes":true,"buttonsStyles":{"share":{"styles":{"fontSize":"16","fontColor":"rgba(0,0,0,1)","borderColor":"rgba(72,172,231,1)","borderWidth":"5","borderRadius":"8","backgroundColor":"rgba(255,255,255,1)"},"customize":false},"upload":{"styles":{"fontSize":"16","fontColor":"rgba(0,0,0,1)","borderColor":"rgba(72,172,231,1)","borderWidth":"5","borderRadius":"8","backgroundColor":"rgba(255,255,255,1)"},"customize":false,"showThumbnails":false},"preview":{"styles":{"fontSize":"16","fontColor":"rgba(0,0,0,1)","borderColor":"rgba(72,172,231,1)","borderWidth":"5","borderRadius":"8","backgroundColor":"rgba(255,255,255,1)"},"customize":false},"addToCart":{"styles":{"fontSize":"16","fontColor":"rgba(0,0,0,1)","borderColor":"rgba(72,172,231,1)","borderWidth":"5","borderRadius":"8","backgroundColor":"rgba(255,255,255,1)"},"customize":false},"personalize":{"styles":{"fontSize":"16","fontColor":"rgba(0,0,0,1)","borderColor":"rgba(72,172,231,1)","borderWidth":"5","borderRadius":"8","backgroundColor":"rgba(255,255,255,1)"},"customize":false},"replace":{"replaceBtnText":""},"mobileCustomizerNav":{"customize":false,"previousBtnText":"","nextBtnText":""}},"sideHoverZoom":false,"stickyPreview":false,"builtInGallery":{"mobile":{"enabled":true,"thumbnailsLayout":"bottom","allowSwiping":true},"desktop":{"enabled":false,"thumbnailsLayout":"bottom","allowSwiping":false}},"dropdownSwatch":{"size":"medium","color":"rgba(114,88,224,1)","sizePx":32,"squared":true},"mobileControls":true,"mobileUseModal":false,"modalScrollbar":true,"realtimeRender":true,"useLivePreview":true,"shareButtonText":"Share Customization","useThemeScripts":true,"accordionOptions":false,"previewButtonText":"Preview","enableEngraverLogs":false,"priceQuerySelector":".product__blocks .f-price-item.f-price-item--regular","preventEdgeResizing":false,"requiredMessageText":"Required","shareButtonCssClass":"","showPreviewVariants":false,"stickyPreviewMobile":false,"uploadedImageCovers":false,"exportProductionFile":true,"generatePreviewImage":true,"mobileUseLivePreview":true,"removeSwatchesBorder":false,"showPreviewByDefault":false,"dontCreateNewSessions":false,"personalizeButtonText":"Personalize It","renameProdFilePattern":"","allowMobileTouchEvents":false,"optionsBackgroundColor":null,"salePriceQuerySelector":"","enablePersonalizeButton":false,"optionalPersonalization":{"enable":true,"dividerColor":"#cccccc","backgroundColor":"#edefee","titleText":"Edit Personalization","removeText":"Remove","showPersonalizeButtonOnProductCards":false},"previewButtonMobileText":"Show Preview","showPreviewButtonMobile":false,"keepEngraverControlsSize":false,"requiredMessageTextColor":"rgba(255,0,0,1)","enableEditPersonalization":true,"enableSavePersonalization":true,"stickyPreviewButtonMobile":true,"uploadUserImagesToShopify":false,"enableSharePersonalization":false,"previewButtonNeedsRequired":false,"enableStoredPersonalization":false,"removeEventsFromProductForm":false,"showLivePreviewPreviewButton":false,"addRenamedProdFileAdditionalNotes":false,"optionsPosition":{"positioning":0,"selector":""},"addToCartIntoPreviewModal":false,"customCurrency":"","querySelectors":{"price":{"regular":"","sale":""},"cart":{"popup":{"element":"#CartDrawer","properties":""},"page":{"element":"","properties":""},"crossSellingElement":""}},"cartItems":{"personalizationLink":false,"previewModal":false,"personalizedThumbnail":true,"showSuggestions":false,"groupAddOns":false,"hideDeleteButtonOnAddOns":true,"hideQuantityButtonsOnAddOns":true,"hideLineItemProperties":false,"texts":{"editLink":"","previewLink":""},"loadWhenCartOpen":false},"upSellStyles":{"title":{"fontColor":"rgba(0,0,0,1)","fontSize":"16"},"product":{"fontColor":"rgba(0,0,0,1)","fontSize":"16"}},"useShadowRoot":false,"reflectShadowRootOnVariant":false,"showMobileControls":false,"buttonsLayout":{"desktop":{"custom":false,"layout":"q_p_c"},"mobile":{"custom":false,"layout":"q_p_c"}},"addToCart":{"useAjax":false,"triggerStoreButtonClick":true,"reloadPageAfterAtc":false,"openCartDrawerAfterAtc":false,"cartDrawerQuerySelector":"","urlToRedirectAfterAtc":"","eventsToDispatchBeforeAtc":"","eventsToDispatchAfterAtc":"","storeCartData":false},"promptStoredPersonalization":false,"upsell":{"enabled":true,"interceptClicks":false,"scaleAddonsWithMainProduct":false},"uploadImage":{"zoomSelection":false,"disableZoomOnImageUpload":false,"imageOverlaySelection":false,"canvasImageLoading":false,"cropBtnText":"Crop","doneCropeBtnText":"Done","crop":{"customize":false,"styles":{}},"done":{"customize":false,"styles":{}}},"zoomBtnType":"textButton","section":{"titleColor":"rgba(0,0,0,1)","backgroundColor":"rgba(255,255,255,1)","fontSize":20,"borderRadius":4,"accordionEnabled":false,"accordionStyles":{"color":"rgba(255,255,255,1)","size":24},"navigationButtonsEnabled":false,"autoChangePreviewEnabled":false},"enableCollapsibleOptionsMenu":false,"showAddToCartButtonAlwaysPresent":true,"dividerStyles":{"textAlign":"center","fontColor":"#000000","fontSize":16,"lineColor":"#000000","lineWidth":2,"lineBorderRadius":false,"padding":10},"modalMobilePreview":{"labelOption":"Option","labelOf":"of","textColor":"#000000"},"colorPickerStyle":"legacy","textSwatches":{"customize":false,"background":{"color":"#F8F2F6","selectionColor":"#F66C95"},"label":{"color":"#F66C95","selectionColor":"#F8F2F6","fontSize":16},"stroke":{"color":"#7258E0","selectionColor":"#88C3D1","width":2,"radius":10},"padding":{"topBottom":10,"leftRight":10}},"multipleImageUploader":{"shape":"rounded","selectionColor":"rgba(114,88,224,1)","iconsColor":"rgba(114,88,224,1)","desktopSize":"medium","desktopSizePx":0,"mobileSize":"medium","mobileSizePx":0},"multipleSelectionStyles":{"emptySlot":{"backgroundColor":"rgba(0,223,76,0.2)","strokeColor":"rgba(0,223,76,1)","strokeWidth":2,"dashedStroke":true},"draggingSlot":{"strokeColor":"rgba(114,88,224,1)","strokeWidth":2,"dashedStroke":false},"deleteIcon":{"backgroundColor":"rgba(255,255,255,1)","iconColor":"rgba(0,0,0,1)","strokeColor":"rgba(0,0,0,1)","iconSize":24,"strokeWidth":1}},"clearTextInputInitialValueOnFocus":false,"useFutureExport":true,"renameProdFile":false,"enableSwipeInMobileModalSections":true,"progressBar":{"enabled":false,"fillColor":"#ffffff","bgColor":"#000000","roundedEndsEnabled":true},"showPriceInAddToCartButton":false,"addToCartBtnText":""}