{"time":"2026-10-14T06:57:31.085Z","specifics":"<script>\n\n(function(){\ntry{\n/** file: addAccessibilityInstructions.js */\n\"use strict\";\n\nconst VALID_RELATIONS = {\n  \"describedby\": \"aria-describedby\",\n  \"labelledby\": \"aria-labelledby\"\n};\nfunction addAccessibilityInstructions(element) {\n  let announcementMessage = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : \"\";\n  let {\n    relation = \"describedby\"\n  } = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n  if (relation && !Object.keys(VALID_RELATIONS).includes(relation)) throw new Error(\"Invalid relation: \".concat(relation, \". Valid relations are: \").concat(Object.keys(VALID_RELATIONS).join(\", \")));\n  const trimmedAnnouncementMessage = announcementMessage === null || announcementMessage === void 0 ? void 0 : announcementMessage.trim();\n  if (!trimmedAnnouncementMessage || !element) throw new Error(\"announcementMessage or element are missing\");\n  const newSpan = createSrOnlyElement();\n  newSpan.id = generateSafeUniqueId();\n  newSpan.textContent = trimmedAnnouncementMessage;\n  element.insertAdjacentElement(\"afterend\", newSpan);\n  appendAriaId(element, VALID_RELATIONS[relation], newSpan.id);\n  return {\n    span: newSpan,\n    id: newSpan.id\n  };\n}\nconst appendAriaId = (element, attr, newSpanId) => {\n  const existing = element.getAttribute(attr);\n  const merged = existing ? \"\".concat(existing, \" \").concat(newSpanId) : newSpanId;\n  element.setAttribute(attr, merged);\n};\n/** file: addFreshNativeFunctions.js */\n\"use strict\";\n\nconst originalSetInterval = window.setInterval;\nconst originalSetTimeout = window.setTimeout;\nconst originalClearInterval = window.clearInterval;\nconst originalClearTimeout = window.clearTimeout;\nlet setInterval = originalSetInterval;\nlet setTimeout = originalSetTimeout;\nlet clearIntervalNative = originalClearInterval;\nlet clearTimeoutNative = originalClearTimeout;\nif (!originalSetInterval.toString().includes(\"[native code]\") || !originalSetTimeout.toString().includes(\"[native code]\") || !originalClearInterval.toString().includes(\"[native code]\") || !originalClearTimeout.toString().includes(\"[native code]\")) {\n  const iframe = document.createElement(\"iframe\");\n  Object.assign(iframe.style, {\n    position: \"fixed\",\n    width: \"1px\",\n    height: \"1px\",\n    border: \"none\",\n    top: \"-10px\",\n    left: \"-10px\",\n    visibility: \"hidden\",\n    pointerEvents: \"none\"\n  });\n  iframe.setAttribute(\"role\", \"presentation\");\n  iframe.setAttribute(\"sandbox\", \"allow-same-origin\");\n  document.body.appendChild(iframe);\n  iframe.src = \"about:blank\";\n  const iframeWindow = iframe.contentWindow;\n  if (iframeWindow) {\n    if (!originalSetInterval.toString().includes(\"[native code]\") && iframeWindow.setInterval) {\n      setInterval = iframeWindow.setInterval.bind(iframeWindow);\n    }\n    if (!originalSetTimeout.toString().includes(\"[native code]\") && iframeWindow.setTimeout) {\n      setTimeout = iframeWindow.setTimeout.bind(iframeWindow);\n    }\n    if (!originalClearInterval.toString().includes(\"[native code]\") && iframeWindow.clearInterval) {\n      clearIntervalNative = iframeWindow.clearInterval.bind(iframeWindow);\n    }\n    if (!originalClearTimeout.toString().includes(\"[native code]\") && iframeWindow.clearTimeout) {\n      clearTimeoutNative = iframeWindow.clearTimeout.bind(iframeWindow);\n    }\n  }\n}\n/** file: addSearchboxInstructions.js */\n\"use strict\";\n\nfunction addSearchboxInstructions(searchInput) {\n  let announcementMessage = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : \"Results or suggestions will be displayed as they become available. Continue navigating to access them.\";\n  const newSpan = createSrOnlyElement();\n  newSpan.id = \"instructions\";\n  newSpan.textContent = announcementMessage;\n  searchInput.insertAdjacentElement(\"afterend\", newSpan);\n  searchInput.setAttribute(\"aria-describedby\", \"instructions\");\n}\n/** file: applyMenuAttributes.js */\n\"use strict\";\n\nfunction applyMenuAttributes(menu) {\n  menu.setAttribute(\"data-acsb-m-menu\", \"ul\");\n  menu.setAttribute(\"data-acsb-fake-menu\", \"true\");\n}\n/** file: applyMenuItemAttributes.js */\n\"use strict\";\n\nfunction applyMenuItemAttributes(menuItem) {\n  let {\n    alternativeMenu = true\n  } = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n  if (alternativeMenu) {\n    forceAlternativeDropdown(menuItem);\n  }\n  menuItem.setAttribute(\"role\", \"menuitem\");\n  menuItem.setAttribute(\"data-acsb-menu-root\", \"true\");\n  menuItem.setAttribute(\"data-acsb-m-menu\", \"li\");\n  menuItem.setAttribute(\"data-acsb-menu\", \"li\");\n  menuItem.setAttribute(\"data-acsb-dropdown-container\", \"true\");\n}\n/** file: chatButtonAccessible.js */\n\"use strict\";\n\nfunction accessChatButton(iframe, skipLinks) {\n  let chatButtonSelector = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : \"\";\n  let chatButtonTabHandler = arguments.length > 3 ? arguments[3] : undefined;\n  const iframeDocument = iframe.contentDocument || iframe.contentWindow.document;\n  const chatButton = iframeDocument.querySelector(\"\".concat(chatButtonSelector ? chatButtonSelector : \"#mountHere\", \" button\"));\n  const skipLinksContainer = skipLinks.shadowRoot.querySelector(\".skip-links\");\n  const skipLink = skipLinksContainer.querySelector(\"div\");\n  const clone = skipLink.cloneNode(true);\n  const link = clone.querySelector(\"a\");\n  link.addEventListener(\"keydown\", event => {\n    if (event.key === \"Enter\") {\n      chatButton.focus();\n      chatButton.setAttribute(\"data-acsb-focused\", \"true\");\n      chatButton.style.borderColor = \"#639af9\";\n    }\n  });\n  link.addEventListener(\"click\", () => {\n    chatButton.focus();\n    chatButton.setAttribute(\"data-acsb-focused\", \"true\");\n    chatButton.style.borderColor = \"#639af9\";\n  });\n  if (chatButtonTabHandler) {\n    chatButton.addEventListener(\"keydown\", event => {\n      if (event.code === \"Tab\" && !event.shiftKey) {\n        event.preventDefault();\n        chatButtonTabHandler();\n      }\n    });\n  }\n  link.childNodes[0].textContent = \"Skip to Chat\";\n  link.href = chatButtonSelector ? chatButtonSelector : \"#gorgias-chat-container\";\n  skipLinksContainer.appendChild(clone);\n}\n/** file: connectMenuToMenuItem.js */\n\"use strict\";\n\nfunction connectMenuToMenuItem(_ref) {\n  let {\n    menuItem,\n    menu,\n    applyWrappingMenuItem = false,\n    alternativeMenu = true,\n    removeOriginalMenu = true\n  } = _ref;\n  let currentMenuItem = menuItem;\n  if (applyWrappingMenuItem) {\n    currentMenuItem = wrappMenuItem(menuItem);\n  }\n  const clonedMenu = menu.cloneNode(true);\n  currentMenuItem.appendChild(clonedMenu);\n  applyMenuItemAttributes(currentMenuItem, {\n    alternativeMenu\n  });\n  if (removeOriginalMenu) {\n    menu.remove();\n  }\n  return clonedMenu;\n}\nfunction wrappMenuItem(menuItem) {\n  const div = document.createElement(\"div\");\n  menuItem.before(div);\n  const clonedMenuItem = menuItem.cloneNode(true);\n  div.appendChild(clonedMenuItem);\n  menuItem.remove();\n  applyMenuItemAttributes(div);\n  return div;\n}\nfunction forceAlternativeDropdown(listItem) {\n  const fakeMenu1 = document.createElement(\"div\");\n  const fakeMenu2 = document.createElement(\"div\");\n  fakeMenu1.setAttribute(\"data-acsb-menu\", \"ul\");\n  fakeMenu2.setAttribute(\"data-acsb-menu\", \"ul\");\n  listItem.appendChild(fakeMenu1);\n  listItem.appendChild(fakeMenu2);\n}\n/** file: createLiveRegion.js */\n\"use strict\";\n\nfunction createLiveRegion(ariaLive, container) {\n  const span = document.createElement(\"span\");\n  span.className = \"acsb-sr-only\";\n  span.setAttribute(\"data-acsb-force-visible\", \"true\");\n  if (ariaLive) {\n    span.setAttribute(\"aria-live\", ariaLive);\n  }\n  if (container) {\n    container.append(span);\n  }\n  return span;\n}\n/** file: createSrOnlyElement.js */\n\"use strict\";\n\nfunction createSrOnlyElement() {\n  const srOnlyElement = document.createElement(\"span\");\n  srOnlyElement.style.position = \"absolute\";\n  srOnlyElement.style.width = \"1px\";\n  srOnlyElement.style.height = \"1px\";\n  srOnlyElement.style.padding = \"0\";\n  srOnlyElement.setAttribute(\"data-acsb-force-visible\", \"true\");\n  srOnlyElement.style.margin = \"-1px\";\n  srOnlyElement.style.overflow = \"hidden\";\n  srOnlyElement.style.clip = \"rect(0, 0, 0, 0)\";\n  srOnlyElement.style.whiteSpace = \"nowrap\";\n  srOnlyElement.style.borderWidth = \"0\";\n  srOnlyElement.setAttribute(\"data-acsb-force-visible\", \"true\");\n  return srOnlyElement;\n}\n/** file: forceNavigable.js */\n\"use strict\";\n\nfunction forceNavigable(element) {\n  element.setAttribute(\"data-acsb-now-navigable\", \"true\");\n  element.setAttribute(\"data-acsb-navigable\", \"true\");\n  element.setAttribute(\"data-acsb-force-navigable\", \"true\");\n  element.setAttribute(\"tabindex\", \"0\");\n}\n/** file: forceUnnavigable.js */\n\"use strict\";\n\nfunction forceUnnavigable(el) {\n  el.setAttribute(\"tabindex\", \"-1\");\n  el.setAttribute(\"data-acsb-force-unnavigable\", \"true\");\n  el.setAttribute(\"data-acsb-navigable\", \"false\");\n  el.setAttribute(\"data-acsb-now-navigable\", \"false\");\n}\n/** file: generateSafeUniqueId.js */\n\"use strict\";\n\nconst generateSafeUniqueId = (() => {\n  let lastTime = Date.now();\n  let counter = 0;\n  return () => {\n    const now = Date.now();\n    counter = now === lastTime ? counter + 1 : 0;\n    lastTime = now;\n    const random = Math.random().toString(36).substring(2, 5);\n    return \"acsb-\".concat(now.toString(36), \"-\").concat(counter, \"-\").concat(random);\n  };\n})();\n/** file: isMobile.js */\n\"use strict\";\n\nfunction isMobile() {\n  var _navigator, _window, _navigator2, _navigator3;\n  const userAgent = navigator.userAgent || ((_navigator = navigator) === null || _navigator === void 0 ? void 0 : _navigator.vendor) || ((_window = window) === null || _window === void 0 ? void 0 : _window.opera);\n  const isMobileUserAgent = /android|iphone|ipad|ipod|blackberry|bb|playbook|iemobile|opera mini|webos|windows phone/i.test(userAgent);\n  const hasTouchSupport = \"ontouchstart\" in window || navigator.maxTouchPoints && navigator.maxTouchPoints > 0 || ((_navigator2 = navigator) === null || _navigator2 === void 0 ? void 0 : _navigator2.msMaxTouchPoints) && ((_navigator3 = navigator) === null || _navigator3 === void 0 ? void 0 : _navigator3.msMaxTouchPoints) > 0;\n  const isSmallScreen = window.matchMedia(\"(max-width: 768px)\").matches;\n  const isPortrait = window.matchMedia(\"(orientation: portrait)\").matches;\n  const isCoarsePointer = window.matchMedia(\"(pointer: coarse)\").matches;\n  const noHover = window.matchMedia(\"(hover: none)\").matches;\n  const likelyMobile = isMobileUserAgent || hasTouchSupport && (isSmallScreen || isPortrait) || isCoarsePointer || noHover;\n  return likelyMobile;\n}\n/** file: profileEnabledInterval.js */\n\"use strict\";\n\nfunction profileEnabledInterval(profile, cb) {\n  let {\n    interval = 1000,\n    clearAfterTimeout = true,\n    timeout = 15000\n  } = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n  const intervalId = setInterval(() => {\n    var _acsbState$actions;\n    const acsbState = JSON.parse(localStorage.acsbState || \"{}\");\n    if (acsbState !== null && acsbState !== void 0 && (_acsbState$actions = acsbState.actions) !== null && _acsbState$actions !== void 0 && (_acsbState$actions = _acsbState$actions[profile]) !== null && _acsbState$actions !== void 0 && _acsbState$actions.enabled) {\n      try {\n        const shouldClear = cb();\n        if (shouldClear) {\n          clearInterval(intervalId);\n        }\n      } catch (error) {\n        clearInterval(intervalId);\n        window.dispatchEvent(new CustomEvent(\"acsbWidgetSpecificsError\", {\n          detail: error\n        }));\n      }\n    }\n  }, interval);\n  if (clearAfterTimeout) {\n    setTimeout(() => {\n      clearInterval(intervalId);\n    }, timeout);\n  }\n}\n/** file: setWidgetSpecificsOptions.js */\n\"use strict\";\n\nconst _window = window;\nfunction setWidgetSpecificsOptions(options) {\n  if (!_window.accessWidgetSpecificsOptions) {\n    _window.accessWidgetSpecificsOptions = {\n      ...options,\n      enable: true,\n      disableLegacy: typeof options.disableLegacy === \"object\" ? {\n        ...options.disableLegacy\n      } : options.disableLegacy,\n      modifications: options.modifications ? {\n        classifier: options.modifications.classifier ? [...options.modifications.classifier] : undefined,\n        auditor: options.modifications.auditor ? [...options.modifications.auditor] : undefined\n      } : undefined\n    };\n    return;\n  }\n  const current = _window.accessWidgetSpecificsOptions;\n  current.enable = true;\n  if (options.disableLegacy !== undefined) {\n    const shouldFullyDisable = options.disableLegacy === true || current.disableLegacy === true;\n    if (shouldFullyDisable) {\n      current.disableLegacy = true;\n    } else if (typeof options.disableLegacy === \"object\") {\n      current.disableLegacy = {\n        ...(typeof current.disableLegacy === \"object\" ? current.disableLegacy : {}),\n        ...options.disableLegacy\n      };\n    }\n  }\n  if (typeof options.onReady === \"function\") {\n    if (typeof current.onReady === \"function\") {\n      const previousOnReady = current.onReady;\n      current.onReady = () => {\n        var _options$onReady;\n        previousOnReady();\n        (_options$onReady = options.onReady) === null || _options$onReady === void 0 || _options$onReady.call(options);\n      };\n    } else {\n      current.onReady = options.onReady;\n    }\n  }\n  if (options.modifications) {\n    if (!current.modifications) {\n      current.modifications = {};\n    }\n    if (options.modifications.classifier) {\n      current.modifications.classifier = [...(current.modifications.classifier || []), ...(options.modifications.classifier || [])];\n    }\n    if (options.modifications.auditor) {\n      current.modifications.auditor = [...(current.modifications.auditor || []), ...(options.modifications.auditor || [])];\n    }\n  }\n}\n/** file: trapFocus.js */\n\"use strict\";\n\nfunction trapFocus(container) {\n  let interactives = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [\"a[href]\", \"button\", \"input\", \"select\", \"textarea\", '[tabindex]:not([tabindex=\"-1\"])'];\n  let filteringCallback = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;\n  let trigger = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : null;\n  let closeSelector = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : null;\n  let onClose = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : null;\n  let onClosePreventDefault = arguments.length > 6 && arguments[6] !== undefined ? arguments[6] : false;\n  if (!container) return;\n  if (getAllFocusableElementsAsAnArray().length === 0) return;\n  function keydownTrapHandler(event) {\n    const allFocusableElements = getAllFocusableElementsAsAnArray();\n    if (allFocusableElements.length === 0) return;\n    const [firstElement] = allFocusableElements;\n    const [lastElement] = allFocusableElements.slice(-1);\n    if ((event === null || event === void 0 ? void 0 : event.code) === \"Tab\") {\n      if (event !== null && event !== void 0 && event.shiftKey) {\n        if (document.activeElement === firstElement) {\n          event.preventDefault();\n          lastElement === null || lastElement === void 0 || lastElement.focus();\n        }\n      } else {\n        if (document.activeElement === lastElement) {\n          event.preventDefault();\n          firstElement === null || firstElement === void 0 || firstElement.focus();\n        }\n      }\n    } else if (event.code === \"Escape\" && closeSelector) {\n      keydownCloseHandler(event);\n    }\n  }\n  container.addEventListener(\"keydown\", keydownTrapHandler);\n  function removeTrapFocus() {\n    container.removeEventListener(\"keydown\", keydownTrapHandler);\n  }\n  function getCloseButton() {\n    if (!closeSelector) return false;\n    const closeButton = container.querySelector(closeSelector);\n    if (!closeButton) return false;\n    return closeButton;\n  }\n  const closeButton = getCloseButton();\n  if (closeButton) {\n    closeButton.addEventListener(\"click\", keydownCloseHandler);\n    closeButton.addEventListener(\"keydown\", keydownCloseHandler);\n  }\n  function keydownCloseHandler(event) {\n    if (event.type === \"click\" || [\"Enter\", \"Space\", \"Escape\"].includes(event.code)) {\n      if (onClosePreventDefault) event.preventDefault();\n      trigger === null || trigger === void 0 || trigger.focus();\n      onClose === null || onClose === void 0 || onClose();\n    }\n  }\n  function removeCloseHandler() {\n    if (!closeButton) return;\n    closeButton.removeEventListener(\"click\", keydownCloseHandler);\n    closeButton.removeEventListener(\"keydown\", keydownCloseHandler);\n  }\n  function getAllFocusableElementsAsAnArray() {\n    let elements = Array.from(container.querySelectorAll(interactives.join(\", \")));\n    if (filteringCallback) {\n      elements = elements.filter(filteringCallback);\n    }\n    return elements;\n  }\n  return {\n    removeTrapFocus,\n    removeCloseHandler,\n    getAllFocusableElementsAsAnArray\n  };\n}\n\n/** file: fix-add-to-cart-control.js */\n(function(){\ntry{\n\"use strict\";\n\nsetWidgetSpecificsOptions({\n  modifications: {\n    classifier: [{\n      type: \"detection\",\n      selector: \"a.add-to-cart, a.add-to-cart-btn\",\n      detectorId: \"perceivable-component-link\",\n      expected: true\n    }, {\n      type: \"detection\",\n      selector: \"a.add-to-cart, a.add-to-cart-btn\",\n      detectorId: \"perceivable-component-button\",\n      expected: false\n    }]\n  }\n});\nsetTimeout = window.setTimeout.bind(window);\nsetInterval = window.setInterval.bind(window);\n(function () {\n  const originalPushState = history.pushState;\n  const originalReplaceState = history.replaceState;\n  initAccessibilityFixes();\n  function handleUrlChange() {\n    setTimeout(() => {\n      initAccessibilityFixes();\n    }, 2500);\n  }\n  history.pushState = function () {\n    originalPushState.apply(this, arguments);\n    handleUrlChange();\n  };\n  history.replaceState = function () {\n    originalReplaceState.apply(this, arguments);\n    initAccessibilityFixes();\n  };\n  window.addEventListener(\"popstate\", handleUrlChange);\n})();\nfunction initAccessibilityFixes() {\n  profileEnabledInterval(\"accessMode\", () => {\n    const addToCartControls = document.querySelectorAll(\"a.add-to-cart, a.add-to-cart-btn\");\n    if (addToCartControls.length > 0) {\n      addToCartControls.forEach((control, index) => {\n        if (control.dataset.keyboardProcessed === \"true\") return;\n        control.dataset.keyboardProcessed = \"true\";\n        const descriptionId = \"acsb-add-to-cart-description-\".concat(index);\n        let description = document.getElementById(descriptionId);\n        if (!description) {\n          description = createSrOnlyElement();\n          description.id = descriptionId;\n          description.textContent = \"Adding this product navigates to the Cart Page.\";\n          control.insertAdjacentElement(\"afterend\", description);\n        }\n        if (control.getAttribute(\"role\") !== \"link\") control.setAttribute(\"role\", \"link\");\n        if (control.getAttribute(\"aria-describedby\") !== descriptionId) control.setAttribute(\"aria-describedby\", descriptionId);\n        const roleObserver = new MutationObserver(() => {\n          if (control.getAttribute(\"role\") !== \"link\") control.setAttribute(\"role\", \"link\");\n          if (control.getAttribute(\"aria-describedby\") !== descriptionId) control.setAttribute(\"aria-describedby\", descriptionId);\n        });\n        roleObserver.observe(control, {\n          attributes: true,\n          attributeFilter: [\"role\", \"aria-describedby\"]\n        });\n      });\n      return true;\n    }\n  });\n}\n}catch(ex){}\n})();\n/** file: fix-checkout-page-payment-options.js */\n(function(){\ntry{\n\"use strict\";\n\nprofileEnabledInterval(\"accessMode\", () => {\n  const allPaymentOptions = document.querySelectorAll(\".payCheck.input-radio input\");\n  if (allPaymentOptions.length) {\n    allPaymentOptions.forEach(option => {\n      setInterval(() => {\n        option.removeAttribute(\"aria-required\");\n        option.removeAttribute(\"required\");\n      }, 0);\n      option.setAttribute(\"role\", \"radio\");\n      option.setAttribute(\"aria-checked\", option.checked);\n      option.addEventListener(\"keydown\", e => {\n        if (e.code === \"Space\" || e.code === \"Enter\") {\n          allPaymentOptions.forEach(option => option.removeAttribute(\"aria-checked\"));\n          e.currentTarget.setAttribute(\"aria-checked\", \"true\");\n        }\n      });\n    });\n    return true;\n  }\n});\n}catch(ex){}\n})();\n/** file: fix-customize-control.js */\n(function(){\ntry{\n\"use strict\";\n\nsetTimeout = window.setTimeout.bind(window);\nsetInterval = window.setInterval.bind(window);\nprofileEnabledInterval(\"accessMode\", () => {\n  const customizeControl = document.querySelector('[data-testid=\"customize-btn\"]');\n  const customizeSection = document.querySelector('lib-product-configurator[appscrollintoviewtarget=\"configurator\"]');\n  if (customizeControl && customizeSection) {\n    const customizeHeading = customizeSection.querySelector(\"h2\");\n    const focusTarget = customizeHeading || customizeSection;\n    if (customizeControl.getAttribute(\"role\") !== \"link\") customizeControl.setAttribute(\"role\", \"link\");\n    if (!customizeControl._acsb_observer_attached) {\n      const roleObserver = new MutationObserver(() => {\n        if (customizeControl.getAttribute(\"role\") !== \"link\") customizeControl.setAttribute(\"role\", \"link\");\n      });\n      roleObserver.observe(customizeControl, {\n        attributes: true,\n        attributeFilter: [\"role\"]\n      });\n      customizeControl._acsb_observer_attached = true;\n    }\n    if (customizeControl.dataset.keyboardProcessed !== \"true\") {\n      [\"click\", \"keydown\"].forEach(eventType => {\n        customizeControl.addEventListener(eventType, e => {\n          if (e.type === \"click\" || e.code === \"Enter\" || e.code === \"Space\") {\n            setTimeout(() => {\n              if (focusTarget.getAttribute(\"tabindex\") !== \"-1\") focusTarget.setAttribute(\"tabindex\", \"-1\");\n              focusTarget.focus({\n                preventScroll: true\n              });\n            }, 100);\n          }\n        });\n      });\n      customizeControl.dataset.keyboardProcessed = \"true\";\n    }\n    return true;\n  }\n});\n}catch(ex){}\n})();\n/** file: fix-product-customization-controls.js */\n(function(){\ntry{\n\"use strict\";\n\nsetWidgetSpecificsOptions({\n  modifications: {\n    classifier: [{\n      type: \"ignore\",\n      selector: \".dpd-customise-content .ng-arrow-wrapper\"\n    }],\n    auditor: [{\n      type: \"ignore\",\n      ruleId: \"form-context-change-warning\",\n      selector: \".dpd-customise-content form\"\n    }]\n  }\n});\nsetTimeout = window.setTimeout.bind(window);\nsetInterval = window.setInterval.bind(window);\nprofileEnabledInterval(\"accessMode\", () => {\n  const customizeContent = document.querySelector(\".dpd-customise-content\");\n  if (customizeContent) {\n    fixCustomizationDropdowns(customizeContent);\n    const dropdownObserver = new MutationObserver(() => {\n      fixCustomizationDropdowns(customizeContent);\n    });\n    dropdownObserver.observe(customizeContent, {\n      childList: true,\n      subtree: true,\n      attributes: true,\n      attributeFilter: [\"tabindex\", \"role\", \"aria-hidden\", \"aria-label\", \"aria-labelledby\", \"aria-describedby\", \"data-acsb-hidden\", \"data-acsb-now-navigable\", \"data-acsb-navigable\", \"data-acsb-force-navigable\", \"data-acsb-tooltip\"]\n    });\n    return true;\n  }\n});\nprofileEnabledInterval(\"accessMode\", () => {\n  const accessoriesSection = document.querySelector(\".dpd-customise-content .checkbox-row\");\n  if (accessoriesSection) {\n    bindKeyboardActivation(accessoriesSection.querySelector(\".checkbox-head\"));\n    fixAccessoryDialogTriggers(accessoriesSection);\n    const dialogTriggersObserver = new MutationObserver(() => {\n      fixAccessoryDialogTriggers(accessoriesSection);\n    });\n    dialogTriggersObserver.observe(accessoriesSection, {\n      childList: true,\n      subtree: true\n    });\n    return true;\n  }\n});\nprofileEnabledInterval(\"accessMode\", () => {\n  const accessoriesSection = document.querySelector(\".dpd-customise-content .checkbox-row\");\n  if (accessoriesSection) {\n    fixAccessoryCheckboxes(accessoriesSection);\n    const checkboxesObserver = new MutationObserver(() => {\n      fixAccessoryCheckboxes(accessoriesSection);\n    });\n    checkboxesObserver.observe(accessoriesSection, {\n      childList: true,\n      subtree: true\n    });\n    return true;\n  }\n});\nfunction fixAccessoryDialogTriggers(accessoriesSection) {\n  const dialogTriggers = accessoriesSection.querySelectorAll(\".checkbox-body a.help-me-choose\");\n  dialogTriggers.forEach(dialogTrigger => {\n    dialogTrigger.setAttribute(\"role\", \"button\");\n    dialogTrigger.setAttribute(\"aria-haspopup\", \"dialog\");\n    if (!dialogTrigger.dataset.keyboardProcessed) {\n      dialogTrigger.dataset.keyboardProcessed = \"true\";\n      dialogTrigger.addEventListener(\"keydown\", e => {\n        if (e.code === \"Enter\" || e.code === \"Space\") {\n          e.preventDefault();\n          e.stopImmediatePropagation();\n          dialogTrigger.click();\n        }\n      });\n    }\n    if (!dialogTrigger._acsb_role_observer_attached) {\n      dialogTrigger._acsb_role_observer_attached = true;\n      const roleObserver = new MutationObserver(() => {\n        if (dialogTrigger.getAttribute(\"role\") !== \"button\") {\n          dialogTrigger.setAttribute(\"role\", \"button\");\n        }\n        if (dialogTrigger.getAttribute(\"aria-haspopup\") !== \"dialog\") {\n          dialogTrigger.setAttribute(\"aria-haspopup\", \"dialog\");\n        }\n      });\n      roleObserver.observe(dialogTrigger, {\n        attributes: true,\n        attributeFilter: [\"role\", \"aria-haspopup\"]\n      });\n    }\n  });\n}\nfunction fixAccessoryCheckboxes(accessoriesSection) {\n  const checkboxes = accessoriesSection.querySelectorAll('.checkbox-body input[type=\"checkbox\"]');\n  checkboxes.forEach(checkbox => {\n    var _option$querySelector;\n    const option = checkbox.closest(\".option\");\n    const optionName = option === null || option === void 0 || (_option$querySelector = option.querySelector(\".select-custom-option-content p\")) === null || _option$querySelector === void 0 ? void 0 : _option$querySelector.textContent.trim();\n    if (!optionName) return;\n    updateCheckboxAttributes(checkbox, optionName);\n    bindKeyboardActivation(checkbox);\n    if (!checkbox.dataset.checkboxProcessed) {\n      checkbox.dataset.checkboxProcessed = \"true\";\n      checkbox.addEventListener(\"change\", () => {\n        updateCheckboxAttributes(checkbox, optionName);\n      });\n    }\n    if (!checkbox._acsb_checkbox_observer_attached) {\n      checkbox._acsb_checkbox_observer_attached = true;\n      const checkboxObserver = new MutationObserver(() => {\n        updateCheckboxAttributes(checkbox, optionName);\n      });\n      checkboxObserver.observe(checkbox, {\n        attributes: true,\n        attributeFilter: [\"role\", \"aria-label\", \"aria-checked\"]\n      });\n    }\n  });\n}\nfunction bindKeyboardActivation(control) {\n  if (!control || control.dataset.activationProcessed) return;\n  control.dataset.activationProcessed = \"true\";\n  control.addEventListener(\"keydown\", e => {\n    if (e.code === \"Enter\" || e.code === \"Space\") {\n      e.preventDefault();\n      e.stopImmediatePropagation();\n      control.click();\n      keepFocusUntilInteraction(control);\n    }\n  }, true);\n}\nfunction keepFocusUntilInteraction(element) {\n  if (!element) return;\n  let focusActive = true;\n  element.focus({\n    preventScroll: true\n  });\n  function onBlur() {\n    if (focusActive) {\n      setTimeout(() => {\n        if (focusActive && document.activeElement !== element) {\n          element.focus({\n            preventScroll: true\n          });\n        }\n      }, 0);\n    }\n  }\n  function releaseFocusLock() {\n    focusActive = false;\n    cleanup();\n  }\n  function cleanup() {\n    element.removeEventListener(\"blur\", onBlur, true);\n    document.removeEventListener(\"mousedown\", releaseFocusLock, true);\n    document.removeEventListener(\"touchstart\", releaseFocusLock, true);\n    document.removeEventListener(\"keydown\", releaseFocusLock, true);\n  }\n  element.addEventListener(\"blur\", onBlur, true);\n  document.addEventListener(\"mousedown\", releaseFocusLock, true);\n  document.addEventListener(\"touchstart\", releaseFocusLock, true);\n  document.addEventListener(\"keydown\", releaseFocusLock, true);\n}\nfunction fixCustomizationDropdowns(customizeContent) {\n  const form = customizeContent.querySelector(\"form\");\n  if (form) suppressCustomizationFormAnnouncement(form);\n  customizeContent.querySelectorAll(\"ng-select .ng-arrow-wrapper, ng-select .ng-arrow\").forEach(arrow => {\n    hideDropdownArrow(arrow);\n  });\n}\nfunction hideDropdownArrow(arrow) {\n  const arrowIsNavigable = arrow.getAttribute(\"tabindex\") !== \"-1\" || arrow.getAttribute(\"data-acsb-now-navigable\") !== \"false\" || arrow.getAttribute(\"data-acsb-force-unnavigable\") !== \"true\";\n  if (arrowIsNavigable) forceUnnavigable(arrow);\n  if (arrow.getAttribute(\"aria-hidden\") !== \"true\") arrow.setAttribute(\"aria-hidden\", \"true\");\n  if (arrow.getAttribute(\"data-acsb-hidden\") !== \"true\") arrow.setAttribute(\"data-acsb-hidden\", \"true\");\n  if (arrow.hasAttribute(\"role\")) arrow.removeAttribute(\"role\");\n  if (arrow.hasAttribute(\"aria-label\")) arrow.removeAttribute(\"aria-label\");\n  if (arrow.hasAttribute(\"data-acsb-tooltip\")) arrow.removeAttribute(\"data-acsb-tooltip\");\n}\nfunction suppressCustomizationFormAnnouncement(form) {\n  if (form.getAttribute(\"role\") !== \"presentation\") form.setAttribute(\"role\", \"presentation\");\n  const ariaLabel = form.getAttribute(\"aria-label\");\n  if (ariaLabel !== null && ariaLabel !== void 0 && ariaLabel.includes(\"automatically submit the form\")) form.removeAttribute(\"aria-label\");\n  [\"aria-labelledby\", \"aria-describedby\"].forEach(attribute => {\n    removeFormNoticeReferences(form, attribute);\n  });\n  form.querySelectorAll(\"[aria-labelledby], [aria-describedby], [data-acsb-tooltip]\").forEach(control => {\n    [\"aria-labelledby\", \"aria-describedby\"].forEach(attribute => {\n      removeFormNoticeReferences(control, attribute);\n    });\n    const tooltip = control.getAttribute(\"data-acsb-tooltip\");\n    if (!(tooltip !== null && tooltip !== void 0 && tooltip.includes(\"automatically submit the form\"))) return;\n    const cleanedTooltip = tooltip.replace(/,?\\s*please note, filling out the following fields will automatically submit the form/gi, \"\").replace(/,?\\s*form\\s*$/i, \"\").replace(/\\s+,/g, \",\").replace(/,\\s*$/g, \"\").trim();\n    if (cleanedTooltip === tooltip) return;\n    if (cleanedTooltip) control.setAttribute(\"data-acsb-tooltip\", cleanedTooltip);else control.removeAttribute(\"data-acsb-tooltip\");\n  });\n  form.querySelectorAll(\"span\").forEach(span => {\n    if (span.textContent.includes(\"automatically submit the form\")) span.remove();\n  });\n}\nfunction removeFormNoticeReferences(element, attribute) {\n  const ids = element.getAttribute(attribute);\n  if (!ids) return;\n  const remainingIds = ids.split(/\\s+/).filter(id => {\n    const referenced = document.getElementById(id);\n    if (!referenced) return false;\n    if (referenced.textContent.includes(\"automatically submit the form\")) {\n      referenced.remove();\n      return false;\n    }\n    return true;\n  });\n  const nextIds = remainingIds.join(\" \");\n  if (nextIds === ids) return;\n  if (nextIds) element.setAttribute(attribute, nextIds);else element.removeAttribute(attribute);\n}\nfunction updateCheckboxAttributes(checkbox, optionName) {\n  if (checkbox.getAttribute(\"role\") !== \"checkbox\") checkbox.setAttribute(\"role\", \"checkbox\");\n  if (checkbox.getAttribute(\"aria-label\") !== optionName) checkbox.setAttribute(\"aria-label\", optionName);\n  const checkedState = String(checkbox.checked);\n  if (checkbox.getAttribute(\"aria-checked\") !== checkedState) {\n    checkbox.setAttribute(\"aria-checked\", checkedState);\n  }\n}\n}catch(ex){}\n})();\n/** file: fix-search-issues.js */\n(function(){\ntry{\n\"use strict\";\n\nprofileEnabledInterval(\"accessMode\", () => {\n  const searchComponent = document.querySelector(\"#search_form\");\n  if (searchComponent) {\n    const searchInput = searchComponent.querySelector(\"#search\");\n    if (searchInput) {\n      addSearchboxInstructions(searchInput);\n    }\n    const observeSearchComponent = new MutationObserver(mutationCallback);\n    const config = {\n      childList: true\n    };\n    observeSearchComponent.observe(searchComponent, config);\n    function mutationCallback(mutations) {\n      mutations.forEach(mutation => {\n        mutation.addedNodes.forEach(node => {\n          if (node.nodeType === Node.ELEMENT_NODE) {\n            if (node.id === \"algolia-search-results-container\") {\n              const searchResults = node;\n              searchResults.setAttribute(\"role\", \"dialog\");\n              searchResults.setAttribute(\"aria-modal\", \"true\");\n              searchResults.setAttribute(\"data-acsb-overlay\", \"popup\");\n              searchResults.setAttribute(\"aria-label\", \"Search Results\");\n              searchResults.setAttribute(\"tabindex\", \"-1\");\n              const allMatchesLink = searchResults.querySelector(\".algolia-sqFooter a\");\n              if (allMatchesLink) {\n                setTimeout(() => {\n                  allMatchesLink.setAttribute(\"role\", \"link\");\n                }, 1000);\n              }\n              searchResults.addEventListener(\"keydown\", e => {\n                if (e.code === \"Escape\") {\n                  e.preventDefault();\n                  searchInput === null || searchInput === void 0 || searchInput.focus();\n                }\n              });\n              const searchResultsList = searchResults.querySelectorAll(\".algolia-sqContent li\");\n              searchResultsList.forEach(result => {\n                setTimeout(() => {\n                  result.setAttribute(\"role\", \"link\");\n                  result.childNodes.forEach(node => {\n                    if (node.nodeType === Node.ELEMENT_NODE) {\n                      node.removeAttribute(\"tabindex\");\n                      node.removeAttribute(\"data-acsb-now-navigable\");\n                      node.removeAttribute(\"data-acsb-navigable\");\n                      forceUnnavigable(node);\n                    }\n                  });\n                }, 1000);\n              });\n            }\n          }\n        });\n      });\n    }\n    return true;\n  }\n});\n}catch(ex){}\n})();\n/** file: fix-sign-up-today-dialog-focus.js */\n(function(){\ntry{\n\"use strict\";\n\nconst signUpDialogSelector = \"[data-testid='special-offer-popup']\";\nconst signUpTriggerSelector = \"[data-testid='promo-banner-featured-link']\";\nconst signUpDialogLabel = \"Sign Up Today and Receive Instant Savings\";\nsetWidgetSpecificsOptions({\n  modifications: {\n    classifier: [{\n      type: \"ignore\",\n      selector: signUpTriggerSelector\n    }, {\n      type: \"detection\",\n      selector: signUpDialogSelector,\n      detectorId: \"perceivable-component-dialog-modal\",\n      expected: true\n    }]\n  }\n});\nfunction ensureDialogAttributes(el, label) {\n  if (el.getAttribute(\"role\") !== \"dialog\") el.setAttribute(\"role\", \"dialog\");\n  if (el.getAttribute(\"tabindex\") !== \"-1\") el.setAttribute(\"tabindex\", \"-1\");\n  if (el.getAttribute(\"aria-label\") !== label) el.setAttribute(\"aria-label\", label);\n  if (!el.hasAttribute(\"aria-modal\")) el.setAttribute(\"aria-modal\", \"true\");\n}\nfunction makeOutsideContentInert(dialog) {\n  const inertedElements = [];\n  let currentElement = dialog;\n  while (currentElement && currentElement !== document.body) {\n    const parent = currentElement.parentElement;\n    if (!parent) break;\n    Array.from(parent.children).forEach(sibling => {\n      if (sibling === currentElement || sibling.inert) return;\n      inertedElements.push(sibling);\n      sibling.inert = true;\n    });\n    currentElement = parent;\n  }\n  return function cleanupOutsideContent() {\n    inertedElements.forEach(element => {\n      element.inert = false;\n    });\n  };\n}\nconst signUpDialogActions = [{\n  isCompleted: false,\n  perform: function () {\n    const header = document.querySelector(\"body > header\") || document.querySelector(\"body header\");\n    if (!header) return;\n    const triggers = header.querySelectorAll(signUpTriggerSelector);\n    if (!triggers.length) return;\n    let cleanupOutsideContent = null;\n    let activeDialog = null;\n    let lastTrigger = triggers[0];\n    if (lastTrigger.hasAttribute(\"aria-label\")) {\n      lastTrigger.removeAttribute(\"aria-label\");\n    }\n    const focusTrigger = () => {\n      var _lastTrigger;\n      if (!((_lastTrigger = lastTrigger) !== null && _lastTrigger !== void 0 && _lastTrigger.isConnected)) return;\n      lastTrigger.focus();\n    };\n    const releaseDialog = () => {\n      if (!activeDialog) return;\n      if (cleanupOutsideContent) {\n        cleanupOutsideContent();\n        cleanupOutsideContent = null;\n      }\n      activeDialog = null;\n      focusTrigger();\n      setTimeout(focusTrigger, 100);\n      setTimeout(focusTrigger, 300);\n    };\n    const containDialog = dialog => {\n      if (activeDialog === dialog) return;\n      activeDialog = dialog;\n      ensureDialogAttributes(dialog, signUpDialogLabel);\n      dialog.setAttribute(\"data-acsb-overlay\", \"popup\");\n      cleanupOutsideContent = makeOutsideContentInert(dialog);\n      dialog.addEventListener(\"keydown\", event => {\n        if (event.code === \"Escape\") {\n          var _dialog$querySelector;\n          event.preventDefault();\n          (_dialog$querySelector = dialog.querySelector(\"[data-testid='special-offer-close-btn']\")) === null || _dialog$querySelector === void 0 || _dialog$querySelector.click();\n          return;\n        }\n        if (event.code !== \"Tab\") return;\n        const focusable = [...dialog.querySelectorAll(\"a[href], button, input, select, textarea\")].filter(el => !el.disabled);\n        if (!focusable.length) return;\n        const first = focusable[0];\n        const last = focusable[focusable.length - 1];\n        if (event.shiftKey && document.activeElement === first) {\n          event.preventDefault();\n          last.focus();\n        } else if (!event.shiftKey && document.activeElement === last) {\n          event.preventDefault();\n          first.focus();\n        }\n      }, true);\n      const closeButton = dialog.querySelector(\"[data-testid='special-offer-close-btn']\");\n      closeButton === null || closeButton === void 0 || closeButton.addEventListener(\"keydown\", event => {\n        if (event.code !== \"Enter\" && event.code !== \"Space\") return;\n        event.preventDefault();\n        event.stopImmediatePropagation();\n        closeButton.click();\n      }, true);\n      closeButton === null || closeButton === void 0 || closeButton.addEventListener(\"click\", () => {\n        const restore = () => {\n          if (dialog.isConnected) return;\n          releaseDialog();\n        };\n        setTimeout(restore, 0);\n        setTimeout(restore, 100);\n      });\n      setTimeout(() => {\n        if (dialog.isConnected) closeButton === null || closeButton === void 0 || closeButton.focus();\n      }, 50);\n    };\n    const findDialog = node => {\n      if (node.nodeType !== Node.ELEMENT_NODE) return null;\n      if (node.matches(signUpDialogSelector)) return node;\n      return node.querySelector(signUpDialogSelector);\n    };\n    triggers.forEach(trigger => {\n      if (trigger.getAttribute(\"role\") !== \"button\") trigger.setAttribute(\"role\", \"button\");\n      trigger.setAttribute(\"data-acsb\", \"\");\n      trigger.setAttribute(\"aria-haspopup\", \"dialog\");\n      trigger.removeAttribute(\"aria-expanded\");\n      trigger.addEventListener(\"click\", () => {\n        lastTrigger = trigger;\n      });\n      trigger.addEventListener(\"keydown\", event => {\n        if (event.code !== \"Enter\" && event.code !== \"Space\") return;\n        event.preventDefault();\n        event.stopImmediatePropagation();\n        lastTrigger = trigger;\n        trigger.click();\n      }, true);\n    });\n    const observer = new MutationObserver(mutations => {\n      mutations.forEach(mutation => {\n        mutation.addedNodes.forEach(node => {\n          const dialog = findDialog(node);\n          if (dialog) containDialog(dialog);\n        });\n      });\n      if (activeDialog && !activeDialog.isConnected) releaseDialog();\n    });\n    observer.observe(header, {\n      childList: true,\n      subtree: true\n    });\n    const openDialog = header.querySelector(signUpDialogSelector);\n    if (openDialog) containDialog(openDialog);\n    this.isCompleted = true;\n  }\n}];\nAJS.events.on(window, \"acsbActionEnabling\", function (e) {\n  if (e.detail.action !== \"keyNav\") return;\n  const runSignUpDialogActions = () => {\n    signUpDialogActions.forEach(action => {\n      if (!action.isCompleted) action.perform();\n    });\n    return signUpDialogActions.every(action => action.isCompleted);\n  };\n  if (runSignUpDialogActions()) return;\n  let attempts = 0;\n  const intervalId = setInterval(() => {\n    attempts += 1;\n    if (runSignUpDialogActions() || attempts >= 20) {\n      clearInterval(intervalId);\n    }\n  }, 800);\n});\n}catch(ex){}\n})();\n/** file: fix-skip-to-content.js */\n(function(){\ntry{\n\"use strict\";\n\nsetWidgetSpecificsOptions({\n  modifications: {\n    classifier: [{\n      type: \"locating\",\n      selector: \"#main-content main\",\n      locatorId: \"perceivable-component-main-content\"\n    }]\n  }\n});\n}catch(ex){}\n})();\n/** file: fix-view-hours-dropdown-fails-1-test.js */\n(function(){\ntry{\n\"use strict\";\n\nsetWidgetSpecificsOptions({\n  modifications: {\n    classifier: [{\n      type: \"ignore\",\n      selector: \".schedule-container\"\n    }]\n  }\n});\nsetTimeout = window.setTimeout.bind(window);\nsetInterval = window.setInterval.bind(window);\nprofileEnabledInterval(\"accessMode\", () => {\n  const viewHoursControl = document.querySelector(\".contact-us-cta\");\n  const scheduleContainer = document.querySelector(\".schedule-container\");\n  if (!viewHoursControl || !scheduleContainer) {\n    return;\n  }\n  viewHoursControl.setAttribute(\"aria-expanded\", \"false\");\n  const handleDropdownNode = dropdownNode => {\n    if (!dropdownNode.classList.contains(\"contact-container-hover\")) return;\n    dropdownNode.setAttribute(\"tabindex\", \"-1\");\n    setTimeout(() => {\n      viewHoursControl.setAttribute(\"aria-expanded\", \"true\");\n      dropdownNode.focus();\n    }, 1000);\n    const onDropdownKeydown = e => {\n      if (e.code === \"Escape\") {\n        e.preventDefault();\n        e.stopImmediatePropagation();\n        dropdownNode.remove();\n        viewHoursControl.setAttribute(\"aria-expanded\", \"false\");\n        setTimeout(() => {\n          viewHoursControl.focus();\n        }, 500);\n      }\n    };\n    const onScheduleFocusOut = e => {\n      if (!scheduleContainer.contains(e.relatedTarget)) {\n        dropdownNode.remove();\n        viewHoursControl.setAttribute(\"aria-expanded\", \"false\");\n      }\n    };\n    dropdownNode.addEventListener(\"keydown\", onDropdownKeydown);\n    scheduleContainer.addEventListener(\"focusout\", onScheduleFocusOut);\n  };\n  const observer = new MutationObserver(mutations => {\n    mutations.forEach(mutation => {\n      mutation.addedNodes.forEach(node => {\n        if (node.nodeType === Node.ELEMENT_NODE && node.classList.contains(\"contact-container-hover\")) {\n          handleDropdownNode(node);\n        }\n      });\n    });\n  });\n  observer.observe(scheduleContainer, {\n    childList: true,\n    subtree: true\n  });\n  return true;\n});\n}catch(ex){}\n})();\n/** file: mobile-fix-menu-issues.js */\n(function(){\ntry{\n\"use strict\";\n\nprofileEnabledInterval(\"accessMode\", () => {\n  const isMobileDevice = isMobile();\n  let isMenuOpen = false;\n  if (isMobileDevice) {\n    const menuControl = document.querySelector(\".mobile-menu-icon\");\n    if (menuControl) {\n      forceNavigable(menuControl);\n      menuControl.setAttribute(\"role\", \"button\");\n      menuControl.setAttribute(\"aria-haspopup\", \"dialog\");\n      menuControl.addEventListener(\"click\", () => {\n        isMenuOpen = true;\n        setTimeout(() => {\n          const mobileMenuContainer = document.querySelector(\"header nav\");\n          if (mobileMenuContainer) {\n            mobileMenuContainer.removeAttribute(\"role\");\n            mobileMenuContainer.setAttribute(\"role\", \"dialog\");\n            mobileMenuContainer.setAttribute(\"aria-modal\", \"true\");\n            mobileMenuContainer.setAttribute(\"data-acsb-overlay\", \"sidebar\");\n            mobileMenuContainer.setAttribute(\"aria-label\", \"Menu\");\n            mobileMenuContainer.setAttribute(\"tabindex\", \"-1\");\n            const closeMenuButton = mobileMenuContainer.querySelector(\"img.close-menu\");\n            if (closeMenuButton) {\n              forceNavigable(closeMenuButton);\n              setTimeout(() => {\n                closeMenuButton.setAttribute(\"role\", \"button\");\n                closeMenuButton.setAttribute(\"aria-label\", \"Close\");\n                closeMenuButton.focus();\n                const closeParent = closeMenuButton.parentElement;\n                if (closeParent) {\n                  closeParent.removeAttribute(\"role\");\n                  closeParent.removeAttribute(\"data-acsb-clickable\");\n                  closeParent.removeAttribute(\"data-acsb-navigable\");\n                  closeParent.removeAttribute(\"data-acsb-now-navigable\");\n                  closeParent.removeAttribute(\"tabindex\");\n                }\n              }, 1000);\n              if (!closeMenuButton.getAttribute(\"listener-added\")) {\n                closeMenuButton.setAttribute(\"listener-added\", \"\");\n                closeMenuButton.addEventListener(\"click\", () => {\n                  menuControl.focus();\n                  isMenuOpen = false;\n                });\n              }\n            }\n            setTimeout(() => {\n              if (isMenuOpen) {\n                var _mobileMenuContainer$;\n                const allInteractiveElements = Array.from(mobileMenuContainer.querySelectorAll(\"a, button, [tabindex]\")).filter(el => el.tabIndex !== -1 || !el.tabIndex);\n                const lastEl = allInteractiveElements[allInteractiveElements.length - 1];\n                const loginButton = (_mobileMenuContainer$ = mobileMenuContainer.querySelector(\"ul\")) === null || _mobileMenuContainer$ === void 0 ? void 0 : _mobileMenuContainer$.lastElementChild.querySelector(\"a\");\n                if (lastEl) {\n                  lastEl.addEventListener(\"focusout\", () => {\n                    if (loginButton && document.activeElement.contains(loginButton)) {\n                      closeMenuButton === null || closeMenuButton === void 0 || closeMenuButton.focus();\n                    }\n                  });\n                }\n              }\n            }, 1000);\n          }\n        }, 500);\n      });\n    }\n    return true;\n  }\n});\n}catch(ex){}\n})();\n/** file: mobile-fix-quiz-issues.js */\n(function(){\ntry{\n\"use strict\";\n\nprofileEnabledInterval(\"accessMode\", () => {\n  const isMobileDevice = isMobile();\n  if (isMobileDevice) {\n    const quizContainer = document.querySelector(\"#preeziehome\");\n    if (quizContainer) {\n      const observer = new MutationObserver(mutationCallback);\n      const config = {\n        childList: true,\n        subtree: true\n      };\n      observer.observe(quizContainer, config);\n    }\n    function mutationCallback(mutations) {\n      mutations.forEach(() => {\n        if (quizContainer.childNodes.length > 1) {\n          quizContainer.removeAttribute(\"aria-hidden\");\n          quizContainer.removeAttribute(\"data-acsb-hidden\");\n          quizContainer.querySelectorAll('[aria-hidden=\"true\"]').forEach(hiddenEl => {\n            hiddenEl.removeAttribute(\"aria-hidden\");\n            hiddenEl.removeAttribute(\"data-acsb-hidden\");\n          });\n          quizContainer.querySelectorAll('[role=\"radio\"]').forEach(radioEl => {\n            radioEl.removeAttribute(\"tabindex\");\n            radioEl.removeAttribute(\"data-acsb-navigable\");\n            radioEl.removeAttribute(\"data-acsb-now-navigable\");\n            forceNavigable(radioEl);\n          });\n        }\n      });\n    }\n    return true;\n  }\n});\n}catch(ex){}\n})();\n/** file: video-popup-focus.js */\n(function(){\ntry{\n\"use strict\";\n\nprofileEnabledInterval(\"accessMode\", () => {\n  const id = \"acsb-outline-z-index-fix-style\";\n  if (document.getElementById(id)) {\n    return true;\n  }\n  const style = document.createElement(\"style\");\n  style.id = id;\n  style.textContent = \"\\n    .featherlight[role=\\\"dialog\\\"] {\\n      z-index: 2147483646;\\n    }\\n  \";\n  document.head.appendChild(style);\n  return true;\n});\n}catch(ex){}\n})();\n\n}catch(ex){}\n})();\n\n</script><style>\n/** file: banner-content-visible-on-focus.css */\n#main-hero-banner .slick-slide {\n    outline: none !important;\n}\n\n#main-hero-banner .slick-slide:focus {\n    border: none !important;\n}\n\n#main-hero-banner .slick-slide:focus > div {\n    outline: 3px solid #639af9 !important;\n    outline-offset: -3px !important;\n}\n\n</style>","addonAnalytics":true,"aiAssistant":true,"blockMeta":false,"blockImages":false,"blockStyles":false,"blockTextSimplifier":false,"widgetSettings":{"consistentHelpData":[],"copilotChat":true,"disableBgProcess":false,"footerHtml":"","hideComponents":[],"hideMobile":false,"hideTrigger":false,"language":"en","leadColor":"#146FF8","mobile":{"triggerOffsetX":3,"triggerOffsetY":3,"triggerPositionX":"left","triggerPositionY":"bottom","triggerRadius":"50%","triggerSize":"medium","triggerIcon":"people"},"position":"left","remoteAnalytics":true,"statementLink":"","statementVariant":"default","triggerColor":"#146FF8","triggerIcon":"people","triggerOffsetX":20,"triggerOffsetY":20,"triggerPositionX":"left","triggerPositionY":"bottom","triggerRadius":"50%","triggerSize":"medium"},"featureFlags":{"text-simplifier":false,"ai-assistant":true,"classification-provider":false}}