{"sessionId":"9d32a5063b1042b18ed1d69e5666f971","tntId":"9d32a5063b1042b18ed1d69e5666f971.34_0","offers":[{"responseTokens":{"experience.id":"0","activity.name":"[HOTFIX] Hide Style Boxes for EQ CP SA JV New Mall Only","activity.id":"241549","experience.name":"Experience A","profile.marketingCloudVisitorId":"57885437755112554943465670896878167092","profile.activeActivities":"316928,224391,280897,271820,161675,270024,241549,279894,306071,284753,300898,282978,316845,272045,211818,176936,162159,270839,325552,280945,297394,330429,189370,196027,207549","activity.decisioningMethod":"server-side"},"html":"<script>function hideStyleBoxNewMallHotfix(method) {\n    if (window.jQuery && typeof jQuery().createATRecommendation !== \"undefined\" && typeof utag_data !== \"undefined\") {\n        method();\n        return true;\n    }\n    setTimeout(function () { hideStyleBoxNewMallHotfix(method) }, 50);\n}\n\nhideStyleBoxNewMallHotfix(function () {\n    if (utag_data.shopping_mall == \"mall_2\") {\n        var css = '';\n        css += '<style type=\"text/css\">';\n        css += '.dia-shop-style-box {display:none !important;}'\n        css += '</style>'; \n        $('body').append(css);\n    }\n})\n</script>"},{"responseTokens":{"experience.id":"0","activity.name":"[All] Hotfix Mismatched Brand Keys and Links","activity.id":"297394","experience.name":"Experience A","profile.marketingCloudVisitorId":"57885437755112554943465670896878167092","profile.activeActivities":"316928,224391,280897,300898,282978,271820,161675,316845,272045,211818,176936,270024,162159,279894,306071,270839,325552,284753,280945,297394,330429,189370,196027,207549","activity.decisioningMethod":"server-side"},"html":"<script>\n(function () {\n  const url = new URL(window.location.href);\n  if (url.searchParams.has(\"cc\")) {\n    //console.log('Cache Hotfix: Has already refreshed, cancel.');\n    return null;\n  }\n\n\tconst sitePaths = [\n\t\t{\n\t\t\thostname: \"www.womanwithin.com\",\n\t\t\tkey: \"ww\",\n\t\t\tpath: \"w\"\n\t\t},\n\t\t{\n\t\t\thostname: \"www.onestopplus.com\",\n\t\t\tkey: \"os\",\n\t\t\tpath: \"os\"\n\t\t},\n\t\t{\n\t\t\thostname: \"www.roamans.com\",\n\t\t\tkey: \"rm\",\n\t\t\tpath: \"r\"\n\t\t},\n\t\t{\n\t\t\thostname: \"www.catherines.com\",\n\t\t\tkey: \"ca\",\n\t\t\tpath: \"ca\"\n\t\t},\n\t\t{\n\t\t\thostname: \"www.avenue.com\",\n\t\t\tkey: \"av\",\n\t\t\tpath: \"av\"\n\t\t},\n\t\t{\n\t\t\thostname: \"www.joebrowns.us\",\n\t\t\tkey: \"jb\",\n\t\t\tpath: \"jb\"\n\t\t},\n\t\t{\n\t\t\thostname: \"www.jessicalondon.com\",\n\t\t\tkey: \"jl\",\n\t\t\tpath: \"j\"\n\t\t},\n\t\t{\n\t\t\thostname: \"www.ellos.us\",\n\t\t\tkey: \"el\",\n\t\t\tpath: \"e\"\n\t\t},\n\t\t{\n\t\t\thostname: \"www.juneandvie.com\",\n\t\t\tkey: \"jv\",\n\t\t\tpath: \"jv\"\n\t\t},\n\t\t{\n\t\t\thostname: \"www.eloquii.com\",\n\t\t\tkey: \"zq\",\n\t\t\tpath: \"zq\"\n\t\t},\n\t\t{\n\t\t\thostname: \"www.swimsuitsforall.com\",\n\t\t\tkey: \"sa\",\n\t\t\tpath: \"sa\"\n\t\t},\n\t\t{\n\t\t\thostname: \"www.activeforall.com\",\n\t\t\tkey: \"aa\",\n\t\t\tpath: \"aa\"\n\t\t},\n\t\t{\n\t\t\thostname: \"www.intimatesforall.com\",\n\t\t\tkey: \"ia\",\n\t\t\tpath: \"ia\"\n\t\t},\n\t\t{\n\t\t\thostname: \"www.shoesforall.com\",\n\t\t\tkey: \"sh\",\n\t\t\tpath: \"sh\"\n\t\t},\n\t\t{\n\t\t\thostname: \"www.brylanehome.com\",\n\t\t\tkey: \"bh\",\n\t\t\tpath: \"b\"\n\t\t},\n\t\t{\n\t\t\thostname: \"www.kingsize.com\",\n\t\t\tkey: \"ks\",\n\t\t\tpath: \"k\"\n\t\t},\n\t\t{\n\t\t\thostname: \"www.fullbeauty.com\",\n\t\t\tkey: \"fo\",\n\t\t\tpath: \"fo\"\n\t\t},\n\t\t{\n\t\t\thostname: \"www.shopcuup.com\",\n\t\t\tkey: \"cp\",\n\t\t\tpath: \"cp\"\n\t\t},\n\t\t{\n\t\t\thostname: \"shop.dia.com\",\n\t\t\tkey: \"da\",\n\t\t\tpath: \"da\"\n\t\t}\n\t];\n\n  const hostname = window.location.hostname;\n  const activeSite = sitePaths.find((site) => site.hostname === hostname) || null;\n  if (!activeSite) return null;\n\n  // Check utag_data.site_branding against the expected key\n  if (window.utag_data && window.utag_data.site_branding) {\n    const branding = window.utag_data.site_branding.toLowerCase();\n    if (branding !== activeSite.key) {\n    \t//console.log('Cache Hotfix: Mismatched Site Key');\n      refreshPage();\n      return;\n    }\n  }\n\n  let invalidLinks = 0;\n  const links = document.querySelectorAll('.nav-link.dropdown-toggle');\n\n  if (links.length > 0) {\n    links.forEach((link) => {\n      let href = link.getAttribute('href');\n\n      if (!href) {\n\t\t    return;\n\t\t  }\n\n      try {\n\t\t    const url = new URL(href, window.location.origin);\n\t\t    href = url.pathname;\n\t\t  } catch (e) {\n\n\t\t  }\n\n\t\t  //console.log('href',href);\n\n      if (\n        !href ||\n        (!href.startsWith(\"/\" + activeSite.path + \"/\") &&\n         !href.startsWith(\"/c/\") &&\n         href !== '#'\n        )\n      ) {\n        invalidLinks++;\n      }\n    });\n\n    if (invalidLinks > 5) {\n    \t//console.log('Cache Hotfix: Invalid Mega Menu Links');\n      refreshPage();\n      return;\n    }\n  }\n\n  // Check .brand-card.active\n  const activeBrandCard = document.querySelector(\".brand-card.active\");\n  if (activeBrandCard && !activeBrandCard.classList.contains(activeSite.key)) {\n  \t//console.log('Cache Hotfix: Mismatched Brand Bar Icon');\n    refreshPage();\n    return;\n  }\n\n  // Check .logo-home-img src\n  const logoImg = document.querySelector(\".logo-home-img\");\n  if (logoImg && !logoImg.src.includes(\"/\" + activeSite.key + \"/\") && !logoImg.src.includes(\"/target/\")) {\n  \t//console.log('Cache Hotfix: Mismatched Logo');\n    refreshPage();\n    return;\n  }\n\n  //console.log('Cache Hotfix: No Issues Detected');\n\n  function refreshPage() {\n    const randomCC = Math.floor(1000000000 + Math.random() * 9000000000);\n    const currentUrl = new URL(window.location.href);\n\n    currentUrl.searchParams.set(\"cc\", randomCC.toString());\n\n    window.location.href = currentUrl.toString();\n\n    //console.log('Cache Hotfix: Refresh the Page');\n  }\n})();\n</script>"},{"responseTokens":{"experience.id":"2","activity.name":"[ALL] Hide PayPal Elements on Cart Test - 100% Launch","activity.id":"224391","experience.name":"Remove Pay Later and BNPL Messaging","profile.marketingCloudVisitorId":"57885437755112554943465670896878167092","profile.activeActivities":"316928,224391,280897,300898,282978,271820,161675,316845,272045,211818,176936,270024,162159,279894,306071,270839,325552,284753,280945,330429,189370,196027,207549","activity.decisioningMethod":"server-side"},"html":"<script>\n  function hidePayPalElements(method) {\n  if (window.jQuery && jQuery().initialize && typeof paypalSDK !== 'undefined') {\n    method();\n  } else {\n    setTimeout(function () { hidePayPalElements(method) }, 50);\n  }\n}\n\nhidePayPalElements(function () {\n  $('.paypal-paylater').remove();\n  $('.paypal-pay-later-message').remove();\n});\n</script>"},{"responseTokens":{"experience.id":"3","activity.name":"[ALL] Hide BNPL on Cart Test - 100% Launch","activity.id":"270839","experience.name":"Remove BNPL Messaging","profile.marketingCloudVisitorId":"57885437755112554943465670896878167092","profile.activeActivities":"316928,280897,300898,282978,271820,161675,316845,272045,211818,176936,270024,162159,279894,306071,270839,325552,284753,280945,330429,189370,196027,207549","activity.decisioningMethod":"server-side"},"html":"<script>\n  function hidePayPalElements(method) {\n  if (window.jQuery && jQuery().initialize && typeof paypal !== 'undefined') {\n    method();\n  } else {\n    setTimeout(function() { hidePayPalElements(method) }, 50);\n  }\n}\n\nhidePayPalElements(function () {\n  $('#paypal-button-container .paypal-pay-later-message').remove();\n});\n  </script>"},{"responseTokens":{"experience.id":"1","activity.name":"[All] Brand Nav UI Variations Launch 0311","activity.id":"271820","experience.name":"White Logos and White Nanobar","profile.marketingCloudVisitorId":"57885437755112554943465670896878167092","profile.activeActivities":"316928,280897,300898,282978,271820,161675,316845,272045,211818,176936,270024,162159,279894,306071,325552,284753,280945,330429,189370,196027,207549","activity.decisioningMethod":"server-side"},"html":"<script>\nwindow.atUpdateNanobar = true;\nconsole.log('Script started, atUpdateNanobar:', window.atUpdateNanobar);\n\nfunction deferNanobarTest(method) {\n  console.log('deferNanobarTest called');\n  if (\n  window.jQuery &&\n  typeof utag_data !== 'undefined' &&\n  utag_data &&\n  (\n    typeof utag_data.site_branding === 'string' ||\n    (\n      utag_data[0] &&\n      typeof utag_data[0].site_branding === 'string'\n    )\n  )\n) {\n    console.log('jQuery detected, running method');\n    method();\n  } else {\n    console.log('jQuery not detected, retrying...');\n    setTimeout(function() { deferNanobarTest(method) }, 50);\n  }\n}\n\ndeferNanobarTest(function () {\n  console.log('Inside deferNanobarTest callback');\n  var imagePath = '/on/demandware.static/-/Sites-oss-Library/default/dw28782b48/global/header-logo-test/';\n  var config = {\n    aa: {\n      background: '#005884'\n    },\n    av: {\n      background: '#59585A'\n    },\n    bh: {\n      background: '#104857'\n    },\n    ca: {\n      background: '#2C205D'\n    },\n    cc: {\n      background: '#554E46'\n    },\n    cp: {\n      background: '#000000'\n    },\n    da: {\n      background: '#000000'\n    },\n    el: {\n      background: '#000000'\n    },\n    fo: {\n      background: '#7D0026'\n    },\n    ia: {\n      background: '#771E49'\n    },\n    jb: {\n      background: '#3A475B'\n    },\n    jl: {\n      background: '#4C1730'\n    },\n    jv: {\n      background: '#000000'\n    },\n    ks: {\n      background: '#001C38'\n    },\n    os: {\n      background: '#000000'\n    },\n    rm: {\n      background: '#26173E'\n    },\n    sa: {\n      background: '#002049'\n    },\n    sh: {\n      background: '#2A3F6E'\n    },\n    ww: {\n      background: '#A0005F'\n    },\n    zq: {\n      background: '#000000'\n    }\n  };\n\n  var hasActiveBrand = false;\n  console.log('Config object:', config);\n\n  var bodyBrand = $('body').attr('data-brand-id');\n  var utagBrand = null;\n\n  if (typeof utag_data !== 'undefined' && utag_data) {\n\n    if (typeof utag_data.site_branding === 'string') {\n      utagBrand = utag_data.site_branding;\n\n    } else if (\n      utag_data[0] &&\n      typeof utag_data[0].site_branding === 'string'\n    ) {\n      utagBrand = utag_data[0].site_branding;\n    }\n  }\n\n  if (\n    (bodyBrand && config.hasOwnProperty(bodyBrand)) ||\n    (utagBrand && config.hasOwnProperty(utagBrand))\n  ) {\n\n    var activeBrand = bodyBrand ? bodyBrand : utagBrand;\n\n  } else {\n    console.log('No active brand or brand not in config');\n    return null;\n  }\n\n    var css = '<style type=\"text/css\">'\n      css += '.brand-cont { background: '+config[activeBrand].background+'; }';\n      css += '.brand-col .brand-card .content-asset { border-right-color: rgba(255,255,255,.5); }';\n      css += '.country-sel-col { background-color: transparent; }';\n      css += '.country-sel-col .btn { color: #FFF; }';\n      css += '.cc-tab-logo path { fill: #FFF !important; }';\n      css += '.at-dia-black-logo {display: none; }';\n      css += '.at-dia-white-logo {display: inline-block !important; }';\n      css += '.at-carousel-indicators-dark { opacity: .7; transition: opacity 200ms }';\n      css += '.at-carousel-indicators-dark.active, .at-carousel-indicators-dark:hover, .at-carousel-indicators-dark:focus { opacity: 1; }';\n    css += '</style>';\n\n    console.log('Appending CSS:', css);\n    $('body').append(css);\n\n\n  $('.brand-slider .card').not('.active').each(function() {\n    var $img = $(this).find('img').first();\n    var $asset = $(this).find('[data-cid]').first();\n    var brandKey = null;\n    if($asset.length){ \n      brandKey = $asset.attr('data-cid');\n      brandKey = brandKey.replace('sfra-brand-header-link-', '');\n      console.log('Found brandKey:', brandKey);\n    }\n    if(config.hasOwnProperty(brandKey) && brandKey !== 'jb' && brandKey !== 'jv') {\n      console.log('Setting image src for brandKey:', brandKey, 'to', imagePath+brandKey+'.svg');\n      $img.attr('src',imagePath+brandKey+'.svg');\n    }\n    if(brandKey == 'jv'){\n      console.log('Setting JV image src and style');\n      $img.attr('src', '/on/demandware.static/-/Sites-oss-Library/default/dw28782b48/global/universal-header/JV_InactiveBrandTab_white.svg');\n      $img.attr('style', 'margin-top: 4px;');\n    }\n    if(brandKey == 'jb'){\n      console.log('Setting JB image src');\n      $img.attr('src', '/on/demandware.static/-/Sites-oss-Library/default/dw28782b48/global/universal-header/joe-browns-logo-full-white.png')\n    }\n  });\n\n  if(window.atUpdateNanobar === true) {\n    console.log('atUpdateNanobar is true, updating nanobar styles');\n    var $nanobarContainer = $('.nanobar-container');\n    if($nanobarContainer.length) {\n      console.log('Found nanobar-container');\n      $nanobarContainer.removeClass('bg-primary').addClass('bg-white');\n      $nanobarContainer.find('a,div').addClass('text-primary');\n      $nanobarContainer.find('.nanobar-dot').addClass('bg-primary');\n      \n      // Adding for React\n      $nanobarContainer.find('.pdp-promotion-details').removeClass('text-white').addClass('text-primary');\n      $nanobarContainer.find('ul.d-inline-block button').addClass('text-primary');\n      var $nanoCarousel = $nanobarContainer.find('#nanoCarousel');\n      if($nanoCarousel.length) {\n        console.log('Found nanoCarousel, updating classes');\n        $nanoCarousel.removeClass('bg-primary');\n        $nanobarContainer.find('.nano-carousel-indicators li').addClass('bg-primary at-carousel-indicators-dark');\n      }\n      \n    } else {\n      console.log('No nanobar-container found');\n    }\n  } else {\n    console.log('atUpdateNanobar is not true, skipping nanobar updates');\n  }\n\n  console.log('Script completed');\n});\n</script>"},{"responseTokens":{"experience.id":"0","activity.name":"[ALL] Checkout Urgency Banner in ATB and Minicart MBOX Controller","activity.id":"272045","experience.name":"Experience A","profile.marketingCloudVisitorId":"57885437755112554943465670896878167092","profile.activeActivities":"316928,280897,300898,282978,161675,316845,211818,272045,176936,270024,162159,279894,306071,325552,284753,280945,330429,189370,196027,207549","activity.decisioningMethod":"server-side"},"html":"<script>\n  function checkOutUrgencyBannerFirer(method) {\n    if (window.jQuery && (typeof utag_data !== 'undefined') && jQuery().initialize && ($('.minicart-quantity').length > 0)) {\n        method();\n    } else {\n        setTimeout(function () { checkOutUrgencyBannerFirer(method) }, 50);\n    }\n}\n\ncheckOutUrgencyBannerFirer(function () {\n\n    if ($('.minicart-quantity').length > 0) {\n        var minicartText = $.trim($('.minicart-quantity').first().text());\n        if (parseFloat(minicartText)) {\n            itemsInCart = parseFloat(minicartText);\n        }\n        var testFiredAlready = false;\n        if ((typeof itemsInCart !== 'undefined')) {\n            $.initialize('.minicart-popover.show h3.focus-outline', function (index) {\n                if (!testFiredAlready) {\n                    testFiredAlready = true;\n                    adobe.target.getOffer({\n                        \"mbox\": 'checkOutUrgencyMiniATBLaunch',\n                        \"success\": function (offers) {\n                            adobe.target.applyOffer({\n                                \"mbox\": 'checkOutUrgencyMiniATBLaunch',\n                                \"offer\": offers\n                            });\n                        },\n                        \"error\": function (status, error) {\n                            if (console && console.log) {\n                                console.log(status);\n                                console.log(error);\n                            }\n                        },\n                        \"timeout\": 5000\n                    });\n                }\n            });\n            \n            $.initialize('#addToCartModal', function (index) {\n                if (!testFiredAlready) {\n                    testFiredAlready = true;\n                    adobe.target.getOffer({\n                        \"mbox\": 'checkOutUrgencyMiniATBLaunch',\n                        \"success\": function (offers) {\n                            adobe.target.applyOffer({\n                                \"mbox\": 'checkOutUrgencyMiniATBLaunch',\n                                \"offer\": offers\n                            });\n                        },\n                        \"error\": function (status, error) {\n                            if (console && console.log) {\n                                console.log(status);\n                                console.log(error);\n                            }\n                        },\n                        \"timeout\": 5000\n                    });\n                }\n            });\n        } else {\n            $.initialize('#addToCartModal', function (index) {\n                adobe.target.getOffer({\n                    \"mbox\": 'checkOutUrgencyMiniATBLaunch',\n                    \"success\": function (offers) {\n                        adobe.target.applyOffer({\n                            \"mbox\": 'checkOutUrgencyMiniATBLaunch',\n                            \"offer\": offers\n                        });\n                    },\n                    \"error\": function (status, error) {\n                        if (console && console.log) {\n                            console.log(status);\n                            console.log(error);\n                        }\n                    },\n                    \"timeout\": 5000\n                });\n            });\n        }\n    }\n});\n</script>"},{"responseTokens":{"experience.id":"0","activity.name":"[All] - Hotfix - Delete mallIdentifier Cookie PROD ONLY","activity.id":"207549","experience.name":"Experience A","profile.marketingCloudVisitorId":"57885437755112554943465670896878167092","profile.activeActivities":"316928,280897,300898,282978,161675,316845,211818,176936,270024,162159,279894,306071,325552,284753,280945,330429,189370,196027,207549","activity.decisioningMethod":"server-side"},"html":"<script>\ndocument.cookie = \"mallIdentifier=''; path=/; expires=Thu, 01 Jan 1970 00:00:01 GMT; domain=.\"+window.location.hostname;\nsetTimeout(() => {\n  document.cookie = \"mallIdentifier=''; path=/; expires=Thu, 01 Jan 1970 00:00:01 GMT; domain=.\"+window.location.hostname;\n}, 1000);\nsetTimeout(() => {\n  document.cookie = \"mallIdentifier=''; path=/; expires=Thu, 01 Jan 1970 00:00:01 GMT; domain=.\"+window.location.hostname;\n}, 2000);\nsetTimeout(() => {\n   document.cookie = \"mallIdentifier=''; path=/; expires=Thu, 01 Jan 1970 00:00:01 GMT; domain=.\"+window.location.hostname;\n}, 5000);\nfunction deferCookie(method) {\n    if (window.jQuery) {\n        method();\n    } else {\n        setTimeout(function() { deferCookie(method) }, 50);\n    }\n}\n\ndeferCookie(function () {\n  var script_tag = document.createElement('script');\nscript_tag.type = 'text/javascript';\nscript_tag.text = 'document.cookie = \"mallIdentifier=; path=/; Max-Age=-99999999; domain=.\"+window.location.hostname; ';\ndocument.body.appendChild(script_tag);\n  \n    document.cookie = \"mallIdentifier=''; path=/; expires=Thu, 01 Jan 1970 00:00:01 GMT; domain=.\"+window.location.hostname;\n  document.cookie = \"mallIdentifier=; path=/; Max-Age=-99999999; domain=.\"+window.location.hostname; \n  setTimeout(() => {\n  document.cookie = \"mallIdentifier=''; path=/; expires=Thu, 01 Jan 1970 00:00:01 GMT; domain=.\"+window.location.hostname;\n}, 1000);\n  setTimeout(() => {\n  document.cookie = \"mallIdentifier=''; path=/; expires=Thu, 01 Jan 1970 00:00:01 GMT; domain=.\"+window.location.hostname;\n}, 2000);\n  setTimeout(() => {\n  document.cookie = \"mallIdentifier=''; path=/; expires=Thu, 01 Jan 1970 00:00:01 GMT; domain=.\"+window.location.hostname;\n  document.cookie = \"mallIdentifier=; path=/; Max-Age=-99999999; domain=.\"+window.location.hostname; \n}, 5000);\n  \n});\n  \n</script>"},{"responseTokens":{"experience.id":"0","activity.name":"[BH, CA, EL, JL, KS, RM, SA, WW] - Trend Shops","activity.id":"176936","experience.name":"Experience A","profile.marketingCloudVisitorId":"57885437755112554943465670896878167092","profile.activeActivities":"316928,280897,300898,282978,161675,316845,211818,176936,270024,162159,279894,306071,325552,284753,280945,330429,189370,196027","activity.decisioningMethod":"server-side"},"actions":[{"action":"customCode","selector":"HEAD","content":"<script>\nfunction deferOutfitting(method) {\n    if (window.jQuery && typeof utag_data !== 'undefined') {\n      method();  \n      return true;\n    }\n    setTimeout(function() { deferOutfitting(method) }, 50);\n}\n\ndeferOutfitting(function () {\n  function getUrlParameter(name) {\n      name = name.replace(/[\\[]/, '\\\\[').replace(/[\\]]/, '\\\\]');\n      var regex = new RegExp('[\\\\?&]' + name + '=([^&#]*)');\n      var results = regex.exec(location.search);\n      return results === null ? '' : decodeURIComponent(results[1].replace(/\\+/g, ' '));\n  };\n\n  function toTitleCase(str) {\n    return str.replace(\n      /\\w\\S*/g,\n      function(txt) {\n        return txt.charAt(0).toUpperCase() + txt.substr(1).toLowerCase();\n      }\n    );\n  }\n\n  \n\n  function matchImageHeights() {\n    $('.outfit-image').css('height','auto');\n    var height = 0;\n    $('.outfit-image').each(function( index ) {\n      var curHeight = $(this).height();\n      if(curHeight > height) {\n        height = curHeight;\n      }\n    });\n    $('.outfit-image').css('height',height+'px');\n  }\n\n  function initPDP(data) {\n    var outfitId = getUrlParameter('outfit-id');\n    for(var i=0; i<data.length; i++) {\n      if($.trim(data[i].id) == outfitId) {\n        if($('[data-masterid]').length > 0) {\n          var masterID = $('[data-masterid]').first().attr('data-masterid');\n        } else if($('[data-master-id]').length > 0) {\n          var masterID = $('[data-master-id]').first().attr('data-master-id');\n        } else {\n          var masterID = $('.add-to-cart').first().attr('data-pid');\n        }\n        var masterID2 = false;\n        if($('.tfc-fitrec-product').length > 0) {\n          var masterID2 = $('.tfc-fitrec-product').attr('data-styleid');   \n        }\n        \n        var foundAnItem = false;\n        for(var m=0; m<data[i].items.length; m++) {\n          if(data[i].items[m].mpid == masterID || data[i].items[m].mpid == masterID2) {\n            foundAnItem = true;\n          }\n        }\n        if(foundAnItem === false) {\n          //console.log('No Item Found');\n          return false;\n        }\n\n        var css = '';\n        css += '<style type=\"text/css\">';\n          css += ' #atOutfit { background-color: #F5F5F5; padding: 1px 0 0; } #atOutfit .legacy-sitegen .breadcrumb { position: inherit !important; } #atOutfit .container { /*max-width: 1260px;*/ } .outfit-container { padding: 20px 0 0 !important; } .outfit { padding: 16px; } .outfit-active { background-color: #FFF; border-top-left-radius: 12px; border-top-right-radius: 12px; box-shadow: 0px 2px 6px rgba(0,0,0,.2); } .outfit-active .outfit-label, .outfit-active .outfit-label:hover, .outfit-active .outfit-label:focus { font-weight: normal; border: none; text-transform: none;  color: #525252; } #atOutfit .mm-default-slide { padding: 16px; } .outfit-label, .outfit-label:hover, .outfit-label:focus { text-align: center; display: block; padding: 7px 0; margin-top: 5px;text-transform: uppercase; color: #000; border-radius: 5px; border: 1px solid #000; font-size: 14px; font-weight: bold; } .outfit-label-added, .outfit-label-added:hover, .outfit-label-added:focus { position: relative; padding-left: 25px; line-height: 25px; font-size: 12px; background: #ddeddc; color: #096506 !important; border-color: #ddeddc; font-weight: bold !important; text-transform: uppercase !important; border: none; } .at-inactive { display: none; } .mm-carousel-ai-outfit .slick-list { margin-left: 0; margin-right: 0; } .mm-carousel-ai-outfit .btn { max-width: 400px; margin: 0 auto; } .outfit-title-card { display: flex; width: 100%; height: 100%; padding-top: 38px; padding-bottom: 80px; } .outfit-title-card-inner { display: flex; flex-direction: column; width: 100%; height: 100%; justify-content: center; align-items: center; } .outfit-image {display: flex; height: 100px; justify-content: center; align-items: center; } .outfit-description { padding-top: 30px; } .mm-layout-carousel-content-outfit { position: relative; } .mm-layout-carousel-content-outfit::after{ content:\"\"; display: block; width: 100%; height: 6px; background: linear-gradient(180deg, rgba(245,245,245,0) 0%, rgba(0,0,0,0.12) 100%); position: absolute; bottom:0; left: 0; pointer-events: none; } .mm-layout-carousel-content-outfit .mm-carousel-slides { z-index: 1; } .at-added-icon svg {  position: absolute; left: 10px; width: 18px; height: 18px; top: 10px; } .outfit-item-loading { position: relative; } .outfit-item-loading .spinner-border { position: absolute; top: 50%; left: 50%; width: 1.5rem; height: 1.5rem; border-width: 3px; margin-top: -15px; margin-left: -15px; } .product-detail .breadcrumb { display: none; } /*.outfit-slides { display: flex; justify-content: center; align-items: end; }*/ .outfit-image-overview img { height: 200px; } .at-outfit-link .btn { display: block; } .outfit-description h2 {  font-size: 24px !important; } .outfit-description h3 {  font-size: 28px !important; text-transform: uppercase; } #atOutfit .mm-default-slide img { width: 72px; margin: 0 auto; } .mm-carousel-ai-outfit .btn { max-width: 350px; margin: 0 auto; margin-top: 10px; }';\n\n          css += '@media only screen and (max-width: 1023px) {';\n           css += '#atOutfit .container { padding-left: 24px; padding-right: 24px; }';\n          css += '}';\n        \n          css += '@media only screen and (min-width: 1024px) {';\n           css += '.outfit-image img { width: 170px; margin: 0 auto; }  .at-outfit-no-image { padding-left: 80px; } .outfit-label, .outfit-label:hover, .outfit-label:focus { margin-top: 15px; }';\n          css += '}';\n          \n          css += '@media only screen and (min-width: 1476px) {';\n            css += '.mm-layout-carousel-content-outfit-ai .outfit-description { padding-top: 50px; } ';\n          css += '}';\n\n          css += '@media only screen and (min-width: 1476px) {';\n            css += '.mm-layout-carousel-content-outfit-ai .slick-track { margin-left: 0; } .mm-layout-carousel-content-outfit-ai .outfit-description { padding-top: 75px; } ';\n          css += '}';\n        css += '</style>';\n        $('body').append(css);\n  \n        var itemName = $('.product-name').first().text();\n        var collection_title = toTitleCase(data[i].collection);\n        if(collection_title == 'Curvy On The Middle') {\n          collection_title = 'Curvy In The Middle';\n        }\n\n        var collection_url = data[i].collection_url;\n        collection_url = collection_url.replace('/shop-the-look/', '/made-to-flatter/');\n        if(collection_url.indexOf('.com') > -1) {\n          var collection_url_split = collection_url.split('.com');\n          collection_url = collection_url_split[1];\n        }\n        var html = '';\n        html += '<div id=\"atOutfit\" class=\"at-inactive\">';\n\n\n          html += '<div class=\"container\">';\n            html += '<div class=\"row\">';\n              html += '<div class=\"col-12\">';\n                html += '<nav aria-label=\"Breadcrumb\" class=\"breadcrumb p-0 mt-4 mb-2  mb-md-4 custom-mobile-breadcrumb border-0\">';\n                  html += '<ol class=\"breadcrumb p-0 border-0 m-0\">';\n                    html += '<li class=\"breadcrumb-item\">';\n                      html += '<a class=\"breadcrumb-element\" href=\"/\">Home</a>';\n                    html += '</li>';\n                    html += '<li class=\"breadcrumb-item\">';\n                      html += '<a class=\"breadcrumb-element\" href=\"'+collection_url+'\">'+collection_title+'</a>';\n                    html += '</li>';\n                    html += '<li class=\"breadcrumb-item active text-black\">';\n                      html += itemName;\n                    html += '</li>';\n                  html += '</ol>';\n                html += '</nav>';\n              html += '</div>';\n            html += '</div>';\n          html += '</div>';\n       \n        \n          var activeTabIndex = -1;\n          var className = 'mm-layout-carousel-content-outfit-currated';\n          var columnClassName = 'col-lg-6 text-lg-left ';\n          if(typeof data[i].image2x == 'undefined') {\n            className = 'mm-layout-carousel-content-outfit-ai';\n            columnClassName = 'at-outfit-no-image ';\n          }\n          html += '<div class=\"mm-section mm-carousel mm-layout-carousel-content mm-layout-carousel-content-outfit '+className+' mm-section-default-hidden\" data-mm-type=\"Outfit Carousel (4 across)\" data-mm-custom-tracking=\"PDP Outfit\">';\n            html += '<div class=\"container\">';\n              html += '<div class=\"row\">';\n                html += '<div class=\"col-12 col-lg-5\">';\n                  html += '<div class=\"row\">';  \n                    if(typeof data[i].image2x !== 'undefined') {\n                    html += '<div class=\"col-6 d-none d-lg-flex align-items-center justify-content-center outfit-image-overview\">';  \n                      html += '<img src=\"'+data[i].image2x+'\" alt=\"'+data[i].collection+'\">';\n                    html += '</div>';\n                    }\n                    html += '<div class=\"col-12 '+columnClassName+' d-flex justify-content-center flex-column text-center\">';\n                      html += '<div class=\"outfit-description\">';\n                        html += '<h2 class=\"font-size-2p5 brand-font-5 text-black-1 text-capitalize line-height-1\">'+data[i].headline+'</h2>';\n                        html += '<h3>'+data[i].description+'</h3>';\n                        html += '<p>Complete the look by adding these items to your bag.</p>';\n                      html += '</div>';\n                    html += '</div>';\n                  html += '</div>';\n                html += '</div>';\n                html += '<div class=\" col-12 col-lg-7 outfit-slides\">';\n                  html += '<div class=\"mm-carousel-slides\">';\n                    for(var m=0; m<data[i].items.length; m++) {\n                      html += buildItemTile(data[i], data[i].items[m], outfitId, masterID, masterID2);\n                      if(data[i].items[m].mpid == masterID || data[i].items[m].mpid == masterID2) {\n                        activeTabIndex = m;\n                      }\n                    }\n\n                  html += '</div>';\n                html += '</div>';\n              html += '</div>';\n            html += '</div>';\n          html += '</div>';\n\n        html += '</div>';\n        var maxLength = data[i].items.length;\n        if(maxLength > 4) {\n          maxLength = 4;\n        }\n        window.atOutfitID = outfitId;\n        if(activeTabIndex < maxLength-1) {\n          var nextItem = data[i].items[activeTabIndex+1];\n          window.atNextOutfitLink = '/products/'+nextItem.mpid+'.html?dwvar_'+nextItem.mpid+'_color='+nextItem.color+'&outfit-id='+outfitId+'&outfit-next=1';\n          $.initialize(\".minicartpopup\", function(index){\n            $('.minicartpopup').css('opacity','0');\n            if(typeof window.adobeDataLayer !== 'undefined') {\n                window.adobeDataLayer.push({\n                  event_name: window.atOutfitID,\n                  event_type: \"shop_the_look_cart_addition\"\n                });\n            }\n            setTimeout(function() {\n              window.location.href = window.atNextOutfitLink;    \n            }, 10);\n          });\n        } else {\n          $.initialize(\".minicartpopup\", function(index){\n            if(typeof window.adobeDataLayer !== 'undefined') {\n                window.adobeDataLayer.push({\n                  event_name: window.atOutfitID,\n                  event_type: \"shop_the_look_cart_addition\"\n                });\n            }\n            var svg = '<span class=\"at-added-icon\"><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\"><g transform=\"translate(-14519 6552)\"><circle cx=\"12\" cy=\"12\" r=\"12\" transform=\"translate(14519 -6552)\" fill=\"#096506\"/><g  transform=\"translate(14525 -6545)\"><path d=\"M3.869,6.045,1.539,3.764,0,5.344,3.869,9.213,12.16.922,10.621-.666Z\" transform=\"translate(0 0.666)\" fill=\"#fff\"/></g></g></svg></span>';\n                $('.outfit-active .outfit-label').html(svg +' Added!').addClass('outfit-label-added');\n          });\n        }\n\n        $('#maincontent').before(html);\n        $('#atOutfit').find(\"img\").one(\"load\", function(outfitImages) {              \n          $(this).removeClass('at-loading');\n          if($('#atOutfit .at-loading').length < 1) {\n            setTimeout(function() {\n            $('#atOutfit').removeClass('at-inactive');\n            marketingModules.fn.findSections();\n            matchImageHeights();\n            setTimeout(function() {\n              matchImageHeights();\n              var index = $('.outfit-active').closest('.slick-slide').attr('data-slick-index');\n              if(index > 0) {\n                $('.mm-carousel-slides').slick('slickGoTo', index);\n              }\n            }, 50);\n            var resizeOutfitTimeout;\n            $( window ).resize(function() {\n              if(resizeOutfitTimeout) {\n                window.clearTimeout(resizeOutfitTimeout);\n              }\n              resizeOutfitTimeout = window.setTimeout(function() {\n                matchImageHeights();\n              }, 100);\n            });\n\n          }, 50);\n          }\n        });\n\n        if(typeof utag_data[\"cp._productAddToCartMethod\"] !== 'undefined') {\n          $('.outfit-label').each(function( index ) {\n            if(utag_data[\"cp._productAddToCartMethod\"].indexOf('\"'+$(this).attr('data-mpid')+'\"') > -1) {\n              var svg = '<span class=\"at-added-icon\"><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\"><g transform=\"translate(-14519 6552)\"><circle cx=\"12\" cy=\"12\" r=\"12\" transform=\"translate(14519 -6552)\" fill=\"#096506\"/><g  transform=\"translate(14525 -6545)\"><path d=\"M3.869,6.045,1.539,3.764,0,5.344,3.869,9.213,12.16.922,10.621-.666Z\" transform=\"translate(0 0.666)\" fill=\"#fff\"/></g></g></svg></span>';\n                $(this).html(svg +' Added!').addClass('outfit-label-added');\n            }\n          });\n\n        }\n          \n        $('#main .breadcrumb').first().hide();\n        break;\n      }\n    }\n   \n  }\n\n  var cacheString = new Date().getTime();\n  if(getUrlParameter('outfit-id') !== '' && ($('.pdp-page').length > 0 || $('.product-wrapper').length > 0)) {\n    var jsonURL = '/on/demandware.static/-/Sites-oss-Library/default/dw28782b48/os-js/outfit-shopping/trend-shop-feed-'+$('body').attr('data-brand-id')+'.js?v='+cacheString;\n    if(window.location.href.indexOf('sfcc.stg') > -1 || $('body').attr('data-brand-id') == 'el' || $('body').attr('data-brand-id') == 'bh' || $('body').attr('data-brand-id') == 'ca' || $('body').attr('data-brand-id') == 'ww' || $('body').attr('data-brand-id') == 'jl' || $('body').attr('data-brand-id') == 'ks') {\n      jsonURL = '/on/demandware.static/-/Sites-oss-Library/default/dw28782b48/os-js/outfit-shopping-0912/trend-shop-feed-'+$('body').attr('data-brand-id')+'.js?v='+cacheString;\n    }\n    if(getUrlParameter('outfit-id').indexOf(\"suitability\") > -1 && $('body').attr('data-brand-id') == 'jl') {\n      jsonURL = '/on/demandware.static/-/Sites-oss-Library/default/dw28782b48/os-js/outfit-shopping/trend-shop-feed-jl-sustainability.js?v='+cacheString;\n    }\n    $.getJSON(jsonURL, function(data, textStatus, jqXhr) {\n        initPDP(data);\n    });\n    if(getUrlParameter('outfit-next') == '1') {\n      if (typeof utag !== 'undefined') {\n        var utag_val = window.utag;\n        utag_val.link_name = 'next_item_in_outfit';\n        utag.link(utag_val);\n      }\n    }\n  }\n\n\n\n\n  function buildItemTile(outfit, item, outfitId, masterId, masterId2) {\n    var html = '';\n    var href = '/products/'+item.mpid+'.html?dwvar_'+item.mpid+'_color='+item.color+'&outfit-id='+outfitId;\n\n    html += '<div class=\"mm-default-slide outfit-container\">';\n      html += '<div class=\"outfit';\n      if(item.mpid == masterId || item.mpid == masterId2) {\n        html += ' outfit-active';\n      }\n      html += '\">';\n        html += '<div class=\"outfit-image\">';\n          html += '<a href=\"'+href+'\" aria-label=\"Shop the Outfit: '+item.name+'\">';\n            html += '<img src=\"'+item.image_url+'?sw=340&sh=340&sm=fit&yocs=l_o_\" class=\"at-loading\">';\n          html += '</a>';\n        html += '</div>';\n        if(item.mpid == masterId || item.mpid == masterId2) {\n          html += '<span class=\"outfit-label\" data-name=\"'+item.name+'\" data-mpid=\"'+item.mpid+'\">';\n            html += 'View and<br /> shop below.';\n          html += '</span>';\n        } else {\n          html += '<a href=\"'+href+'\" aria-label=\"Shop the Outfit: '+item.name+'\" class=\"outfit-label\" data-name=\"'+item.name+'\" data-mpid=\"'+item.mpid+'\">';\n            html += 'Select';\n          html += '</a>';\n        }\n      html += '</div>';\n    html += '</div>';\n    return html;\n  }\n\n  if($('#trendShops').length > 0) {\n    function deferPDPOutfitting(method) {\n        if ($('.at-inactive-outfit-button').length > 0) {\n          method();  \n          return true;\n        }\n        setTimeout(function() { deferPDPOutfitting(method) }, 50);\n    }\n    deferPDPOutfitting(function () {\n      $( document ).ready(function() {\n        $('#trendShops').css('width','100%');\n\n        var css = '';\n        css += '<style type=\"text/css\">';\n          css += ' #trendShops { width: 100%; }';\n\n          css += '@media only screen and (max-width: 1023px) {';\n           css += '#trendShops {padding-left: 12px; padding-right: 12px; } #trendShops .mm-carousel.mm-control-position-headline .mm-recommendation-heading-controls.mm-recommendation-heading-controls-category-text-link { padding-left: 0 !important; }';\n          css += '}';\n          css += '@media only screen and (max-width: 760px) {';\n            css += '#trendShops {padding-right: 0; } #trendShops .btn.btn-outline-primary.btn-sm { margin-right: 12px; }';\n          css += '}';\n        \n          css += '}';\n        css += '</style>';\n        $('body').append(css);\n\n\n        setTimeout(function() {\n          $('.slick-slide').each(function( index ) {\n            $(this).find('div').first().addClass('outfit-slick-slide');\n          });\n        }, 50);\n        $('.at-inactive-outfit-button').removeClass('at-inactive-outfit-button');\n        /*$('.mm-carousel-ai-outfit').each(function( index ) {\n          var href = $(this).find('.btn').first().attr('href');\n          $(this).find('.mm-tile a').attr('href', href);\n        });*/\n        $('.at-outfit-link').removeClass('d-none');\n        $('.outfit-fallback-links').hide();\n        /*\n        $('[data-outfit-id]').each(function( index ) {\n          var href = $(this).find('.btn').first().attr('href');\n          $(this).find('a').attr('href', href);\n          $(this).find('picture').wrap('<a href=\"'+href+'\"></a>');\n        });\n        */\n        setTimeout(function() {\n          $('.mm-carousel-ai-outfit .mm-carousel-slides').slick('refresh');\n        }, 50);\n      });\n\n    });\n  }\n\n});\n</script>","cssSelector":"$cssSelector"}]},{"responseTokens":{"experience.id":"0","activity.name":"[ALL] - User Behavior Tracking","activity.id":"189370","experience.name":"Experience A","profile.marketingCloudVisitorId":"57885437755112554943465670896878167092","profile.activeActivities":"316928,280897,300898,282978,161675,211818,316845,270024,162159,279894,306071,325552,284753,280945,330429,189370,196027","activity.decisioningMethod":"server-side"},"html":"<script>\nfunction deferUserBehaivor(method) {\n  if (window.jQuery && typeof window.utag_data == 'object') {\n    method();\n  } else {\n    setTimeout(function() { deferUserBehaivor(method) }, 50);\n  }\n}\n\ndeferUserBehaivor(function() {\n\n  function isJsonString(str) {\n    try {\n      JSON.parse(str);\n    } catch (e) {\n      return false;\n    }\n    return true;\n  }\n\n  function readCookie(name) {\n    var nameEQ = name + \"=\";\n    var ca = document.cookie.split(';');\n    for (var i = 0; i < ca.length; i++) {\n      var c = ca[i];\n      while (c.charAt(0) == ' ') c = c.substring(1, c.length);\n      if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length, c.length);\n    }\n    return null;\n  }\n\n  function setCookie(cname, cvalue, exdays) {\n    var d = new Date();\n    d.setTime(d.getTime() + (exdays * 24 * 60 * 60 * 1000));\n    var expires = \"expires=\" + d.toUTCString();\n    document.cookie = cname + \"=\" + cvalue + \";\" + expires + \";path=/\";\n  }\n\n  var profile = {};\n  var profileChanged = false;\n\n  var atProfile = readCookie('at_profile')\n  if (atProfile && isJsonString(atProfile)) {\n    profile = JSON.parse(atProfile);\n  }\n\n  if (utag_data.hasOwnProperty('user_authenticated') && (utag_data.user_authenticated == \"true\" || utag_data.user_authenticated === true)) {\n    profile.has_account = true;\n    profileChanged = true;\n  }\n\n  if (!profile.hasOwnProperty('email_signup')) {\n    profile.email_signup = false;\n    profileChanged = true;\n  }\n\n  if (!profile.hasOwnProperty('sms_signup')) {\n    profile.sms_signup = false;\n    profileChanged = true;\n  }\n\n  if (window.location.href.indexOf('utm_medium=em_m') > -1) {    \n    profile.email_traffic = true;\n    profile.email_signup = true;\n    profileChanged = true;\n  }\n\n  setCookie('at_profile', JSON.stringify(profile), 365);\n});\n</script>"},{"responseTokens":{"experience.id":"0","activity.name":"[HOTFIX] Fix Aria Labels for Brand Navigation","activity.id":"280945","experience.name":"Experience A","profile.marketingCloudVisitorId":"57885437755112554943465670896878167092","profile.activeActivities":"316928,280897,300898,282978,161675,211818,316845,270024,162159,279894,306071,325552,284753,280945,330429,196027","activity.decisioningMethod":"server-side"},"html":"<script>\n  function fixAriaLabelsForBrands(method) {\n    console.log('fixAriaLabelsForBrands: Checking for utag_data...');\n    if (typeof utag_data == 'object' && window.jQuery) {\n        console.log('fixAriaLabelsForBrands: utag_data found, executing method');\n        method();\n    } else {\n        console.log('fixAriaLabelsForBrands: utag_data not found, retrying in 50ms');\n        setTimeout(function () { fixAriaLabelsForBrands(method) }, 50);\n    }\n}\n\nfixAriaLabelsForBrands(function () {\n    // Find all brand card links\n    const brandLinks = document.querySelectorAll('.brand-card > a');\n    \n    // Iterate through each link\n    brandLinks.forEach(link => {\n        // Find the image within this link\n        const brandImage = link.querySelector('img');\n        \n        if (brandImage && brandImage.alt) {\n            // Update the aria-label with the full brand name\n            link.setAttribute('aria-label', brandImage.alt);\n        }\n    });\n});\n</script>"},{"responseTokens":{"experience.id":"0","activity.name":"[SA] Desktop Mega Menu Taxonomy - 100%","activity.id":"270024","experience.name":"Experience A","profile.marketingCloudVisitorId":"57885437755112554943465670896878167092","profile.activeActivities":"316928,280897,300898,282978,161675,211818,316845,270024,162159,279894,306071,325552,284753,330429,196027","activity.decisioningMethod":"server-side"},"html":"<script>window.atMenuMode = \"desktop\"; var atNav =[{\"id\":\"sa\",\"brandColorRGB\":\"0, 37, 84\",\"menu\":[{\"heading\":\"Clearance\",\"columns\":[{\"items\":[{\"name\":\"Category\",\"url\":\"\"},{\"name\":\"All Clearance\",\"url\":\"\\/sa\\/clearance\\/\"},{\"name\":\"New to Clearance\",\"url\":\"\\/sa\\/clearance\\/new-to-clearance\\/\"},{\"name\":\"Final Sale Up to 90% Off\",\"url\":\"\\/sa\\/clearance\\/final-sale\\/\"},{\"name\":\"One Piece\",\"url\":\"\\/sa\\/clearance\\/one-piece\\/\"},{\"name\":\"Swimdress\",\"url\":\"\\/sa\\/clearance\\/swimdress\\/\"},{\"name\":\"Tankinis\",\"url\":\"\\/sa\\/clearance\\/tankinis\\/\"},{\"name\":\"Bikinis\",\"url\":\"\\/sa\\/clearance\\/bikinis\\/\"},{\"name\":\"Bottoms\",\"url\":\"\\/sa\\/clearance\\/bottoms\\/\"},{\"name\":\"Swim Tees \",\"url\":\"\\/sa\\/clearance\\/?cgid=SA_Clearance_29&prefn1=Style&prefv1=Swim+Tees+%26+Shirts\"},{\"name\":\"Separates\",\"url\":\"\\/sa\\/clearance\\/separates\\/\"},{\"name\":\"Cover Ups\",\"url\":\"\\/sa\\/clearance\\/cover-ups\\/\"},{\"name\":\"Accessories\",\"url\":\"\\/sa\\/clearance\\/accessories\\/\"},{\"name\":\"Shoes\",\"url\":\"\\/sa\\/clearance\\/shoes\\/\"}]},{\"items\":[{\"name\":\"Coverage\",\"url\":\"\"},{\"name\":\"Maximum Coverage\",\"url\":\"\\/sa\\/clearance\\/?cgid=SA_Clearance_29&prefn1=Bottom+Coverage&prefv1=Maximum+Coverage\"},{\"name\":\"Moderate Coverage\",\"url\":\"\\/sa\\/clearance\\/?cgid=SA_Clearance_29&prefn1=Bottom+Coverage&prefv1=Moderate+Coverage\"},{\"name\":\"Minimal Coverage\",\"url\":\"\\/sa\\/clearance\\/?cgid=SA_Clearance_29&&prefn1=Bottom+Coverage&prefv1=Minimal+Coverage\"},{\"name\":\"Featured Brands\",\"url\":\"\"},{\"name\":\"Swimsuits For All\",\"url\":\"\\/sa\\/clearance\\/?cgid=SA_Clearance_29&prefn1=Brand&prefv1=Swimsuits+For+All\"},{\"name\":\"Swim 365\",\"url\":\"\\/sa\\/clearance\\/?cgid=SA_Clearance_29&prefn1=Brand&prefv1=Swim+365\"},{\"name\":\"Sales & Offers\",\"url\":\"\"},{\"name\":\"Clearance - Up to 80% OFF\",\"url\":\"\\/sa\\/clearance\\/\"},{\"name\":\"Offers & Coupons\",\"url\":\"\\/offers-coupons\"}]},{\"items\":[{\"name\":\"Color\",\"url\":\"\"},{\"name\":\"Blue\",\"url\":\"\\/sa\\/clearance\\/?cgid=SA_Clearance_29&prefn1=color_groups&prefv1=blue\"},{\"name\":\"Black\",\"url\":\"\\/sa\\/clearance\\/?cgid=SA_Clearance_29&prefn1=color_groups&prefv1=black\"},{\"name\":\"Pink\",\"url\":\"\\/sa\\/clearance\\/?cgid=SA_Clearance_29&prefn1=color_groups&prefv1=pink\"},{\"name\":\"White\",\"url\":\"\\/sa\\/clearance\\/?cgid=SA_Clearance_29&prefn1=color_groups&prefv1=white\"},{\"name\":\"Green\",\"url\":\"\\/sa\\/clearance\\/?cgid=SA_Clearance_29&prefn1=color_groups&prefv1=green\"},{\"name\":\"Grey\",\"url\":\"\\/sa\\/clearance\\/?cgid=SA_Clearance_29&prefn1=color_groups&prefv1=grey\"},{\"name\":\"Purple\",\"url\":\"\\/sa\\/clearance\\/?cgid=SA_Clearance_29&prefn1=color_groups&prefv1=purple\"},{\"name\":\"Beige\",\"url\":\"\\/sa\\/clearance\\/?cgid=SA_Clearance_29&prefn1=color_groups&prefv1=beige\"},{\"name\":\"Red\",\"url\":\"\\/sa\\/clearance\\/?cgid=SA_Clearance_29&prefn1=color_groups&prefv1=red\"}]},{\"items\":[{\"name\":\"Size\",\"url\":\"\"},{\"name\":\"4\",\"url\":\"\\/sa\\/clearance\\/?cgid=SA_Clearance_29&prefn1=Size&prefv1=4\"},{\"name\":\"6\",\"url\":\"\\/sa\\/clearance\\/?cgid=SA_Clearance_29&prefn1=Size&prefv1=6\"},{\"name\":\"8\",\"url\":\"\\/sa\\/clearance\\/?cgid=SA_Clearance_29&prefn1=Size&prefv1=8\"},{\"name\":\"10\",\"url\":\"\\/sa\\/clearance\\/?cgid=SA_Clearance_29&prefn1=Size&prefv1=10\"},{\"name\":\"12\",\"url\":\"\\/sa\\/clearance\\/?cgid=SA_Clearance_29&prefn1=Size&prefv1=12\"},{\"name\":\"14\",\"url\":\"\\/sa\\/clearance\\/?cgid=SA_Clearance_29&prefn1=Size&prefv1=14\"},{\"name\":\"16\",\"url\":\"\\/sa\\/clearance\\/?cgid=SA_Clearance_29&prefn1=Size&prefv1=16\"},{\"name\":\"18\",\"url\":\"\\/sa\\/clearance\\/?cgid=SA_Clearance_29&prefn1=Size&prefv1=18\"},{\"name\":\"20\",\"url\":\"\\/sa\\/clearance\\/?cgid=SA_Clearance_29&prefn1=Size&prefv1=20\"},{\"name\":\"22\",\"url\":\"\\/sa\\/clearance\\/?cgid=SA_Clearance_29&prefn1=Size&prefv1=22\"},{\"name\":\"24\",\"url\":\"\\/sa\\/clearance\\/?cgid=SA_Clearance_29&prefn1=Size&prefv1=24\"},{\"name\":\"26\",\"url\":\"\\/sa\\/clearance\\/?cgid=SA_Clearance_29&prefn1=Size&prefv1=26\"},{\"name\":\"28\",\"url\":\"\\/sa\\/clearance\\/?cgid=SA_Clearance_29&prefn1=Size&prefv1=28\"},{\"name\":\"30\",\"url\":\"\\/sa\\/clearance\\/?cgid=SA_Clearance_29&prefn1=Size&prefv1=30\"},{\"name\":\"32\",\"url\":\"\\/sa\\/clearance\\/?cgid=SA_Clearance_29&prefn1=Size&prefv1=32\"},{\"name\":\"34\",\"url\":\"\\/sa\\/clearance\\/?cgid=SA_Clearance_29&prefn1=Size&prefv1=34\"}]},{\"items\":[{\"name\":\"Sort By\",\"url\":\"\"},{\"name\":\"Lowest Price\",\"url\":\"\\/sa\\/clearance\\/?cgid=SA_Clearance_29&srule=price+asc\"},{\"name\":\"Highest Price\",\"url\":\"\\/sa\\/clearance\\/?cgid=SA_Clearance_29&srule=price+desc\"},{\"name\":\"Top Rated\",\"url\":\"\\/sa\\/clearance\\/?cgid=SA_Clearance_29&srule=review_average+desc\"},{\"name\":\"Price\",\"url\":\"\"},{\"name\":\"Under $20\",\"url\":\"\\/sa\\/clearance\\/?cgid=SA_Clearance_29&pmax=19.99&pmin=0\"},{\"name\":\"$20 - $39.99\",\"url\":\"\\/sa\\/clearance\\/?cgid=SA_Clearance_29&pmax=39.99&pmin=20\"},{\"name\":\"$40 - $59.99\",\"url\":\"\\/sa\\/clearance\\/?cgid=SA_Clearance_29&pmax=59.99&pmin=40\"},{\"name\":\"Fit Help\",\"url\":\"\"},{\"name\":\"Swimsuit Fit Guide\",\"url\":\"\\/c\\/fit-guide-sa.html\"},{\"name\":\"How To Measure\",\"url\":\"\\/c\\/fit-guide-sa.html#how-to-measure\"},{\"name\":\"About Us\",\"url\":\"\\/c\\/about-us-sa.html\"},{\"name\":\"Get Your True Fit\",\"url\":\"\\/c\\/s4a-truefit.html\"}]}]},{\"heading\":\"Lookbook\",\"columns\":[]},{\"heading\":\"Featured\",\"columns\":[{\"items\":[{\"name\":\"New & Now\",\"url\":\"\"},{\"name\":\"New Arrivals\",\"url\":\"\\/sa\\/featured\\/new-arrivals\\/\"},{\"name\":\"Best Sellers\",\"url\":\"\\/sa\\/featured\\/best-sellers\\/\"},{\"name\":\"Horizon & Bloom\",\"url\":\"\\/sa\\/featured\\/latest-trends\\/horizon-and-bloom\\/\"},{\"name\":\"La Vie Boheme\",\"url\":\"\\/sa\\/featured\\/latest-trends\\/la-vie-boheme\\/\"},{\"name\":\"The Hot House\",\"url\":\"\\/sa\\/featured\\/latest-trends\\/the-hot-house\\/\"},{\"name\":\"Paradise Primaries\",\"url\":\"\\/sa\\/featured\\/latest-trends\\/paradise-primaries\\/\"},{\"name\":\"Vivid Riviera\",\"url\":\"\\/sa\\/featured\\/latest-trends\\/vivid-riviera\\/\"},{\"name\":\"Collections\",\"url\":\"\"},{\"name\":\"All Swim & Cover Ups\",\"url\":\"\\/sa\\/plus-size\\/\"},{\"name\":\"Bold Swimsuits\",\"url\":\"\\/sa\\/featured-shops\\/sexy-swimsuits\\/\"},{\"name\":\"Sandals & Accessories\",\"url\":\"\\/sa\\/sandals-and-accessories\\/\"},{\"name\":\"Mix & Match Set Builder\",\"url\":\"\\/sa\\/featured\\/mix-and-match-swimwear\\/\"},{\"name\":\"Shop By Print\",\"url\":\"\\/sa\\/featured\\/shop-by-print\\/\"},{\"name\":\"Special Sizes\",\"url\":\"\"},{\"name\":\"Women&apos;s & Plus \",\"url\":\"\\/sa\\/plus-size\\/\"},{\"name\":\"Mid Sizes 14-20\",\"url\":\"\\/sa\\/plus-size\\/?cgid=SA_Plus_Size_579&prefn1=Size&prefv1=14%7C15%7C16%7C17%7C18%7C19%7C20\"},{\"name\":\"Plus Sizes 22-44 \",\"url\":\"\\/sa\\/plus-size\\/?cgid=SA_Plus_Size_579&prefn1=Size&prefv1=22%7C24%7C26%7C28%7C30%7C32%7C34%7C36%7C38%7C40%7C42%7C44\"},{\"name\":\"Long Torso\",\"url\":\"\\/sa\\/swim-solutions\\/longer-length\\/\"},{\"name\":\"DD+ Cups\",\"url\":\"\\/sa\\/featured\\/solutions-for-all\\/ddand-cup\\/\"}]},{\"items\":[{\"name\":\"Solutions For All\",\"url\":\"\"},{\"name\":\"DD+ Cups\",\"url\":\"\\/sa\\/featured\\/solutions-for-all\\/ddand-cup\\/\"},{\"name\":\"Underwire\",\"url\":\"\\/sa\\/swim-solutions\\/underwire\\/\"},{\"name\":\"Push Up Cups\",\"url\":\"\\/sa\\/featured\\/solutions-for-all\\/push-up-cups\\/\"},{\"name\":\"Tummy Control\",\"url\":\"\\/sa\\/swim-solutions\\/tummy-control\\/\"},{\"name\":\"Hip Minimizers\",\"url\":\"\\/sa\\/swim-solutions\\/hip-minimizers\\/\"},{\"name\":\"Adjustability\",\"url\":\"\\/sa\\/swim-solutions\\/adjustability\\/\"},{\"name\":\"Longer Length\",\"url\":\"\\/sa\\/swim-solutions\\/longer-length\\/\"},{\"name\":\"UV Sun Protection\",\"url\":\"\\/sa\\/featured\\/swim-solutions\\/uv-sun-protection-swimwear\\/\"},{\"name\":\"Shop All Solutions\",\"url\":\"\\/sa\\/swim-solutions\\/\"},{\"name\":\"Shop By Shape - Body Type\",\"url\":\"\"},{\"name\":\"Apple \",\"url\":\"\\/sa\\/swim-solutions\\/shop-by-shape\\/apple\\/\"},{\"name\":\"Athletic\",\"url\":\"\\/sa\\/swim-solutions\\/shop-by-shape\\/athletic\\/\"},{\"name\":\"Heart\",\"url\":\"\\/sa\\/swim-solutions\\/shop-by-shape\\/heart\\/\"},{\"name\":\"Hourglass\",\"url\":\"\\/sa\\/swim-solutions\\/shop-by-shape\\/hourglass\\/\"},{\"name\":\"Pear\",\"url\":\"\\/sa\\/swim-solutions\\/shop-by-shape\\/pear\\/\"},{\"name\":\"Shop All Body Types\",\"url\":\"\\/sa\\/featured\\/shop-by-shape\\/\"}]},{\"items\":[{\"name\":\"Chlorine Resistant\",\"url\":\"\"},{\"name\":\"All Chlorine Resistant\",\"url\":\"\\/sa\\/featured\\/chlorine-resistant\\/\"},{\"name\":\"One Piece\",\"url\":\"\\/sa\\/featured\\/chlorine-resistant\\/one-piece\\/\"},{\"name\":\"Tankinis\",\"url\":\"\\/sa\\/featured\\/chlorine-resistant\\/tankinis\\/\"},{\"name\":\"Swim Tees\",\"url\":\"\\/sa\\/featured\\/chlorine-resistant\\/swim-tees\\/\"},{\"name\":\"Bottoms\",\"url\":\"\\/sa\\/featured\\/chlorine-resistant\\/bottoms\\/\"},{\"name\":\"Swimdresses\",\"url\":\"\\/sa\\/featured\\/chlorine-resistant\\/swimdress\\/\"},{\"name\":\"Fit Help\",\"url\":\"\"},{\"name\":\"Swimsuit Fit Guide\",\"url\":\"\\/c\\/fit-guide-sa.html\"},{\"name\":\"How To Measure\",\"url\":\"\\/c\\/fit-guide-sa.html#how-to-measure\"},{\"name\":\"About Us\",\"url\":\"\\/c\\/about-us-sa.html\"},{\"name\":\"Get Your True Fit\",\"url\":\"\\/c\\/s4a-truefit.html\"}]},{\"items\":[{\"name\":\"New Arrivals\",\"url\":\"\"},{\"name\":\"All New Arrivals\",\"url\":\"\\/sa\\/featured\\/new-arrivals\\/\"},{\"name\":\"New Swim Tops\",\"url\":\"\\/sa\\/featured\\/new-arrivals\\/new-swim-tops\\/\"},{\"name\":\"New Tankinis\",\"url\":\"\\/sa\\/featured\\/new-arrivals\\/new-tankinis\\/\"},{\"name\":\"New Bikinis\",\"url\":\"\\/sa\\/featured\\/new-arrivals\\/new-bikinis\\/\"},{\"name\":\"New Swim Bottoms\",\"url\":\"\\/sa\\/featured\\/new-arrivals\\/new-bottoms\\/\"},{\"name\":\"New One Pieces\",\"url\":\"\\/sa\\/featured\\/new-arrivals\\/new-one-pieces\\/\"},{\"name\":\"New Swimdresses\",\"url\":\"\\/sa\\/featured\\/new-arrivals\\/new-swimdresses\\/\"},{\"name\":\"New Cover Ups\",\"url\":\"\\/sa\\/featured\\/new-arrivals\\/new-cover-ups\\/\"},{\"name\":\"Best Sellers\",\"url\":\"\"},{\"name\":\"All Best Sellers\",\"url\":\"\\/sa\\/featured\\/best-sellers\\/\"},{\"name\":\"One Pieces\",\"url\":\"\\/sa\\/featured\\/best-sellers\\/?cgid=SA_Best_Sellers_195&prefn1=Product+Type&prefv1=One-Piece+Swimwear\"},{\"name\":\"Swim Tops\",\"url\":\"\\/sa\\/featured\\/best-sellers\\/?cgid=SA_Best_Sellers_195&prefn1=Product+Type&prefv1=Swim+Tops\"},{\"name\":\"Swim Bottoms\",\"url\":\"\\/sa\\/featured\\/best-sellers\\/?cgid=SA_Best_Sellers_195&prefn1=Product+Type&prefv1=Swim+Bottoms\"},{\"name\":\"Swimdresses\",\"url\":\"\\/sa\\/featured\\/best-sellers\\/?cgid=SA_Best_Sellers_195&prefn1=Product+Type&prefv1=Swimdresses\"},{\"name\":\"Cover Ups\",\"url\":\"\\/sa\\/featured\\/best-sellers\\/?cgid=SA_Best_Sellers_195&prefn1=Product+Type&prefv1=Cover+Ups\"}]},{\"items\":[{\"name\":\"Trend Shops\",\"url\":\"\"},{\"name\":\"Little Black Swimsuits\",\"url\":\"\\/sa\\/featured\\/latest-trends\\/little-black-swimsuit\\/\"},{\"name\":\"Vacation Shop\",\"url\":\"\\/sa\\/featured\\/latest-trends\\/vacation-shop\\/\"},{\"name\":\"Bridal Collection\",\"url\":\"\\/sa\\/featured\\/latest-trends\\/bridal-collection\\/\"},{\"name\":\"Quick-Dry Swimwear\",\"url\":\"\\/sa\\/featured\\/latest-trends\\/quick-dry-swimwear\\/\"},{\"name\":\"Influencer Style Picks\",\"url\":\"\\/sa\\/featured\\/influencer-style-picks\\/\"},{\"name\":\"Island Simplicity\",\"url\":\"\\/sa\\/featured\\/latest-trends\\/island-simplicity\\/\"},{\"name\":\"Sales & Offers\",\"url\":\"\"},{\"name\":\"Clearance - Up to 80% OFF\",\"url\":\"\\/sa\\/clearance\\/\"},{\"name\":\"Offers & Coupons\",\"url\":\"\\/offers-coupons\"}]},{\"items\":[{\"name\":\"{\\\"src\\\":\\\"https:\\/\\/www.swimsuitsforall.com\\/on\\/demandware.static\\/-\\/Sites-oss-Library\\/default\\/dw14851400\\/sa-images\\/mega-menu\\/2024\\/2024-sa-UPF-MM.jpg?yocs=1e_1h_\\\",\\\"alt\\\": \\\"Shop UV Protection Swimwear\\\"}\",\"url\":\"\\/sa\\/featured\\/swim-solutions\\/uv-sun-protection-swimwear\\/?ICID=MM|UPF|CTA1|7-2-2024\"}]}]},{\"heading\":\"One Piece\",\"columns\":[{\"items\":[{\"name\":\"Style \",\"url\":\"\"},{\"name\":\"All One Piece Swimsuits\",\"url\":\"\\/sa\\/one-piece\\/\"},{\"name\":\"Bandeau\",\"url\":\"\\/sa\\/one-piece\\/bandeau\\/\"},{\"name\":\"Crossback\",\"url\":\"\\/sa\\/one-piece\\/crossback\\/\"},{\"name\":\"Halter\",\"url\":\"\\/sa\\/one-piece\\/halter\\/\"},{\"name\":\"High Neck\",\"url\":\"\\/sa\\/one-piece\\/high-neck\\/\"},{\"name\":\"Sarong Front\",\"url\":\"\\/sa\\/one-piece\\/sarong-front\\/\"},{\"name\":\"Tank \",\"url\":\"\\/sa\\/one-piece\\/tank\\/\"},{\"name\":\"Underwire\",\"url\":\"\\/sa\\/one-piece\\/underwire\\/\"},{\"name\":\"V-Neck\",\"url\":\"\\/sa\\/one-piece\\/v-neck\\/\"},{\"name\":\"Collections\",\"url\":\"\"},{\"name\":\"Chlorine Resistant One Pieces\",\"url\":\"\\/sa\\/featured\\/chlorine-resistant\\/one-piece\\/\"},{\"name\":\"Bold Swimsuits\",\"url\":\"\\/sa\\/featured-shops\\/sexy-swimsuits\\/?cgid=SA_Sexy_Swimsuits&prefn1=Product+Type&prefv1=One-Piece+Swimwear\"}]},{\"items\":[{\"name\":\"New & Now\",\"url\":\"\"},{\"name\":\"New Arrivals\",\"url\":\"\\/sa\\/featured\\/new-arrivals\\/new-one-pieces\\/\"},{\"name\":\"Best Sellers\",\"url\":\"\\/sa\\/featured\\/best-sellers\\/?cgid=SA_Best_Sellers_195&prefn1=Product+Type&prefv1=One-Piece+Swimwear\"},{\"name\":\"Sales & Offers\",\"url\":\"\"},{\"name\":\"Clearance - Up to 80% OFF\",\"url\":\"\\/sa\\/clearance\\/one-piece\\/\"},{\"name\":\"Offers & Coupons\",\"url\":\"\\/offers-coupons\"},{\"name\":\"Solutions For All\",\"url\":\"\"},{\"name\":\"Tummy Control\",\"url\":\"\\/sa\\/swim-solutions\\/tummy-control\\/?cgid=SA_Tummy_Control_56&prefn1=Product+Type&prefv1=One-Piece+Swimwear\"},{\"name\":\"Underwire\",\"url\":\"\\/sa\\/swim-solutions\\/underwire\\/one-piece\\/\"},{\"name\":\"Adjustability\",\"url\":\"\\/sa\\/swim-solutions\\/adjustability\\/?cgid=SA_Adjustability_873&prefn1=Product+Type&prefv1=One-Piece+Swimwear\"},{\"name\":\"Longer Length\",\"url\":\"\\/sa\\/swim-solutions\\/longer-length\\/?cgid=SA_Swim_Solutions_Long_Torso&prefn1=Product+Type&prefv1=One-Piece+Swimwear\"},{\"name\":\"UV Sun Protection\",\"url\":\"\\/sa\\/featured\\/swim-solutions\\/uv-sun-protection-swimwear\\/?cgid=SA_UV_Sun_Protection&prefn1=Product+Type&prefv1=One-Piece+Swimwear\"}]},{\"items\":[{\"name\":\"Shop By Body Type\",\"url\":\"\"},{\"name\":\"Apple \",\"url\":\"\\/sa\\/one-piece\\/?cgid=SA_One_Piece_2&prefn1=Body+Type&prefv1=Apple\"},{\"name\":\"Athletic\",\"url\":\"\\/sa\\/one-piece\\/?cgid=SA_One_Piece_2&prefn1=Body+Type&prefv1=Athletic\"},{\"name\":\"Heart\",\"url\":\"\\/sa\\/one-piece\\/?cgid=SA_One_Piece_2&prefn1=Body+Type&prefv1=Heart\"},{\"name\":\"Hourglass\",\"url\":\"\\/sa\\/one-piece\\/?cgid=SA_One_Piece_2&prefn1=Body+Type&prefv1=Hourglass\"},{\"name\":\"Pear\",\"url\":\"\\/sa\\/one-piece\\/?cgid=SA_One_Piece_2&prefn1=Body+Type&prefv1=Pear\"},{\"name\":\"Neckline\",\"url\":\"\"},{\"name\":\"High Neck\",\"url\":\"\\/sa\\/one-piece\\/?cgid=SA_One_Piece_2&prefn1=neckline&prefv1=High+neck\"},{\"name\":\"Scoop Neck\",\"url\":\"\\/sa\\/one-piece\\/?cgid=SA_One_Piece_2&prefn1=neckline&prefv1=Scoop+Neck\"},{\"name\":\"Square Neck\",\"url\":\"\\/sa\\/one-piece\\/?cgid=SA_One_Piece_2&prefn1=neckline&prefv1=Square+Neck\"},{\"name\":\"Strapless\",\"url\":\"\\/sa\\/one-piece\\/?cgid=SA_One_Piece_2&prefn1=neckline&prefv1=Strapless%2FTube\"},{\"name\":\"Sweetheart\",\"url\":\"\\/sa\\/one-piece\\/?cgid=SA_One_Piece_2&prefn1=neckline&prefv1=Sweetheart+Neck\"},{\"name\":\"V-Neck\",\"url\":\"\\/sa\\/one-piece\\/?cgid=SA_One_Piece_2&prefn1=neckline&prefv1=V+Neck\"}]},{\"items\":[{\"name\":\"Color\",\"url\":\"\"},{\"name\":\"Black\",\"url\":\"\\/sa\\/one-piece\\/?cgid=SA_One_Piece_2&prefn1=color_groups&prefv1=black\"},{\"name\":\"Blue\",\"url\":\"\\/sa\\/one-piece\\/?cgid=SA_One_Piece_2&prefn1=color_groups&prefv1=blue\"},{\"name\":\"Multi\",\"url\":\"\\/sa\\/one-piece\\/?cgid=SA_One_Piece_2&prefn1=color_groups&prefv1=multi\"},{\"name\":\"Pink\",\"url\":\"\\/sa\\/one-piece\\/?cgid=SA_One_Piece_2&prefn1=color_groups&prefv1=pink\"},{\"name\":\"White\",\"url\":\"\\/sa\\/one-piece\\/?cgid=SA_One_Piece_2&prefn1=color_groups&prefv1=white\"},{\"name\":\"Green\",\"url\":\"\\/sa\\/one-piece\\/?cgid=SA_One_Piece_2&prefn1=color_groups&prefv1=green\"},{\"name\":\"Red\",\"url\":\"\\/sa\\/one-piece\\/?cgid=SA_One_Piece_2&prefn1=color_groups&prefv1=red\"},{\"name\":\"Trend Shops\",\"url\":\"\"},{\"name\":\"Glam Accents\",\"url\":\"\\/sa\\/featured\\/latest-trends\\/glam-accents\\/?cgid=SA_Trend_5&prefn1=Product+Type&prefv1=One-Piece+Swimwear\"},{\"name\":\"Little Black Swimsuits\",\"url\":\"\\/sa\\/featured\\/latest-trends\\/little-black-swimsuit\\/?cgid=SA_Little_Black_Swimsuit_784&prefn1=Product+Type&prefv1=One-Piece+Swimwear\"},{\"name\":\"Vacation Must Haves\",\"url\":\"\\/sa\\/featured\\/latest-trends\\/vacation-shop\\/?cgid=SA_Trend_3&prefn1=Product+Type&prefv1=One-Piece+Swimwear\"},{\"name\":\"Coverage\",\"url\":\"\"},{\"name\":\"Maximum Coverage\",\"url\":\"\\/sa\\/one-piece\\/?cgid=SA_One_Piece_2&prefn1=Bottom+Coverage&prefv1=Maximum+Coverage\"},{\"name\":\"Moderate Coverage\",\"url\":\"\\/sa\\/one-piece\\/?cgid=SA_One_Piece_2&prefn1=Bottom+Coverage&prefv1=Moderate+Coverage\"},{\"name\":\"Minimal Coverage\",\"url\":\"\\/sa\\/one-piece\\/?cgid=SA_One_Piece_2&prefn1=Bottom+Coverage&prefv1=Minimal+Coverage\"}]},{\"items\":[{\"name\":\"Size\",\"url\":\"\"},{\"name\":\"4\",\"url\":\"\\/sa\\/one-piece\\/?cgid=SA_One_Piece_2&prefn1=Size&prefv1=4\"},{\"name\":\"6\",\"url\":\"\\/sa\\/one-piece\\/?cgid=SA_One_Piece_2&prefn1=Size&prefv1=6\"},{\"name\":\"8\",\"url\":\"\\/sa\\/one-piece\\/?cgid=SA_One_Piece_2&prefn1=Size&prefv1=8\"},{\"name\":\"10\",\"url\":\"\\/sa\\/one-piece\\/?cgid=SA_One_Piece_2&prefn1=Size&prefv1=10\"},{\"name\":\"12\",\"url\":\"\\/sa\\/one-piece\\/?cgid=SA_One_Piece_2&prefn1=Size&prefv1=12\"},{\"name\":\"14\",\"url\":\"\\/sa\\/one-piece\\/?cgid=SA_One_Piece_2&prefn1=Size&prefv1=14\"},{\"name\":\"16\",\"url\":\"\\/sa\\/one-piece\\/?cgid=SA_One_Piece_2&prefn1=Size&prefv1=16\"},{\"name\":\"18\",\"url\":\"\\/sa\\/one-piece\\/?cgid=SA_One_Piece_2&prefn1=Size&prefv1=18\"},{\"name\":\"20\",\"url\":\"\\/sa\\/one-piece\\/?cgid=SA_One_Piece_2&prefn1=Size&prefv1=20\"},{\"name\":\"22\",\"url\":\"\\/sa\\/one-piece\\/?cgid=SA_One_Piece_2&prefn1=Size&prefv1=22\"},{\"name\":\"24\",\"url\":\"\\/sa\\/one-piece\\/?cgid=SA_One_Piece_2&prefn1=Size&prefv1=24\"},{\"name\":\"26\",\"url\":\"\\/sa\\/one-piece\\/?cgid=SA_One_Piece_2&prefn1=Size&prefv1=26\"},{\"name\":\"28\",\"url\":\"\\/sa\\/one-piece\\/?cgid=SA_One_Piece_2&prefn1=Size&prefv1=28\"},{\"name\":\"30\",\"url\":\"\\/sa\\/one-piece\\/?cgid=SA_One_Piece_2&prefn1=Size&prefv1=30\"},{\"name\":\"32\",\"url\":\"\\/sa\\/one-piece\\/?cgid=SA_One_Piece_2&prefn1=Size&prefv1=32\"},{\"name\":\"34\",\"url\":\"\\/sa\\/one-piece\\/?cgid=SA_One_Piece_2&prefn1=Size&prefv1=34\"}]},{\"items\":[{\"name\":\"Sort By\",\"url\":\"\"},{\"name\":\"Lowest Price\",\"url\":\"\\/sa\\/one-piece\\/?srule=price+asc\"},{\"name\":\"Highest Price\",\"url\":\"\\/sa\\/one-piece\\/?srule=price+desc\"},{\"name\":\"Top Rated\",\"url\":\"\\/sa\\/one-piece\\/?srule=review_average+desc\"},{\"name\":\"Price\",\"url\":\"\"},{\"name\":\"Under $20\",\"url\":\"\\/sa\\/one-piece\\/?cgid=SA_One_Piece_2&pmax=19.99&pmin=0\"},{\"name\":\"$20 - $39.99\",\"url\":\"\\/sa\\/one-piece\\/?cgid=SA_One_Piece_2&pmax=39.99&pmin=20\"},{\"name\":\"$40 - $59.99\",\"url\":\"\\/sa\\/one-piece\\/?cgid=SA_One_Piece_2&pmax=59.99&pmin=40\"},{\"name\":\"$60 - $79.99\",\"url\":\"\\/sa\\/one-piece\\/?cgid=SA_One_Piece_2&pmax=79.99&pmin=60\"},{\"name\":\"Fit Help\",\"url\":\"\"},{\"name\":\"Swimsuit Fit Guide\",\"url\":\"\\/c\\/fit-guide-sa.html\"},{\"name\":\"How To Measure\",\"url\":\"\\/c\\/fit-guide-sa.html#how-to-measure\"},{\"name\":\"About Us\",\"url\":\"\\/c\\/about-us-sa.html\"},{\"name\":\"Get Your True Fit\",\"url\":\"\\/c\\/s4a-truefit.html\"}]}]},{\"heading\":\"Swimdresses\",\"columns\":[{\"items\":[{\"name\":\"Style\",\"url\":\"\"},{\"name\":\"All Swimdresses\",\"url\":\"\\/sa\\/swimdresses\\/\"},{\"name\":\"Bandeau\",\"url\":\"\\/sa\\/swimdresses\\/bandeau\\/\"},{\"name\":\"High Neck\",\"url\":\"\\/sa\\/swimdresses\\/high-neck\\/\"},{\"name\":\"Tank \",\"url\":\"\\/sa\\/swimdresses\\/tank\\/\"},{\"name\":\"Underwire\",\"url\":\"\\/sa\\/swimdresses\\/underwire\\/\"},{\"name\":\"V-Neck\",\"url\":\"\\/sa\\/swimdresses\\/v-neck\\/\"},{\"name\":\"Swimdress Sets\",\"url\":\"\\/sa\\/swimdresses\\/swimdress-sets\\/\"},{\"name\":\"Collections\",\"url\":\"\"},{\"name\":\"Chlorine Resistant Swimdresses\",\"url\":\"\\/sa\\/featured\\/chlorine-resistant\\/?cgid=SA_Chlorine_Resistant_736&prefn1=Product+Type&prefv1=Swimdresses\"}]},{\"items\":[{\"name\":\"New & Now\",\"url\":\"\"},{\"name\":\"New Arrivals\",\"url\":\"\\/sa\\/featured\\/new-arrivals\\/new-swimdresses\\/\"},{\"name\":\"Best Sellers\",\"url\":\"\\/sa\\/featured\\/best-sellers\\/?cgid=SA_Best_Sellers_195&prefn1=Product+Type&prefv1=Swimdresses\"},{\"name\":\"Sales & Offers\",\"url\":\"\"},{\"name\":\"Clearance - Up to 80% OFF\",\"url\":\"\\/sa\\/clearance\\/swimdress\\/\"},{\"name\":\"Offers & Coupons\",\"url\":\"\\/offers-coupons\"},{\"name\":\"Solutions For All\",\"url\":\"\"},{\"name\":\"Tummy Control\",\"url\":\"\\/sa\\/swim-solutions\\/tummy-control\\/?cgid=SA_Tummy_Control_56&prefn1=Product+Type&prefv1=Swimdresses\"},{\"name\":\"Underwire\",\"url\":\"\\/sa\\/swim-solutions\\/underwire\\/swimdresses\\/\"},{\"name\":\"Hip Minimizers\",\"url\":\"\\/sa\\/swim-solutions\\/hip-minimizers\\/?cgid=SA_Hip_Minimizers_60&prefn1=Product+Type&prefv1=Swimdresses\"},{\"name\":\"Adjustability\",\"url\":\"\\/sa\\/swim-solutions\\/adjustability\\/?cgid=SA_Adjustability_873&prefn1=Product+Type&prefv1=Swimdresses\"},{\"name\":\"Longer Length\",\"url\":\"\\/sa\\/swim-solutions\\/longer-length\\/?cgid=SA_Swim_Solutions_Long_Torso&prefn1=Product+Type&prefv1=Swimdresses%7CTwo-Piece+Swimwear+Sets\"},{\"name\":\"UV Sun Protection\",\"url\":\"\\/sa\\/featured\\/swim-solutions\\/uv-sun-protection-swimwear\\/?cgid=SA_UV_Sun_Protection&prefn1=Product+Type&prefv1=Swimdresses\"}]},{\"items\":[{\"name\":\"Shop By Body Type\",\"url\":\"\"},{\"name\":\"Apple \",\"url\":\"\\/sa\\/swimdresses\\/?cgid=SA_Swimdresses_792&prefn1=Body+Type&prefv1=Apple\"},{\"name\":\"Athletic\",\"url\":\"\\/sa\\/swimdresses\\/?cgid=SA_Swimdresses_792&prefn1=Body+Type&prefv1=Athletic\"},{\"name\":\"Heart\",\"url\":\"\\/sa\\/swimdresses\\/?cgid=SA_Swimdresses_792&prefn1=Body+Type&prefv1=Heart\"},{\"name\":\"Hourglass\",\"url\":\"\\/sa\\/swimdresses\\/?cgid=SA_Swimdresses_792&prefn1=Body+Type&prefv1=Hourglass\"},{\"name\":\"Pear\",\"url\":\"\\/sa\\/swimdresses\\/?cgid=SA_Swimdresses_792&prefn1=Body+Type&prefv1=Pear\"},{\"name\":\"Neckline\",\"url\":\"\"},{\"name\":\"High Neck\",\"url\":\"\\/sa\\/swimdresses\\/?cgid=SA_Swimdresses_792&prefn1=neckline&prefv1=High+neck\"},{\"name\":\"Off The Shoulder\",\"url\":\"\\/sa\\/swimdresses\\/?cgid=SA_Swimdresses_792&prefn1=neckline&prefv1=Off+the+Shoulder\"},{\"name\":\"Scoop Neck\",\"url\":\"\\/sa\\/swimdresses\\/?cgid=SA_Swimdresses_792&prefn1=neckline&prefv1=Scoop+Neck\"},{\"name\":\"Square Neck\",\"url\":\"\\/sa\\/swimdresses\\/?cgid=SA_Swimdresses_792&prefn1=neckline&prefv1=Square+Neck\"},{\"name\":\"Strapless\",\"url\":\"\\/sa\\/swimdresses\\/?cgid=SA_Swimdresses_792&prefn1=neckline&prefv1=Strapless%2FTube\"},{\"name\":\"Sweetheart\",\"url\":\"\\/sa\\/swimdresses\\/?cgid=SA_Swimdresses_792&prefn1=neckline&prefv1=Sweetheart+Neck\"},{\"name\":\"V-Neck\",\"url\":\"\\/sa\\/swimdresses\\/?cgid=SA_Swimdresses_792&prefn1=neckline&prefv1=V+Neck\"}]},{\"items\":[{\"name\":\"Color\",\"url\":\"\"},{\"name\":\"Black\",\"url\":\"\\/sa\\/swimdresses\\/?cgid=SA_Swimdresses_792&prefn1=color_groups&prefv1=black\"},{\"name\":\"Blue\",\"url\":\"\\/sa\\/swimdresses\\/?cgid=SA_Swimdresses_792&prefn1=color_groups&prefv1=blue\"},{\"name\":\"Multi\",\"url\":\"\\/sa\\/swimdresses\\/?cgid=SA_Swimdresses_792&prefn1=color_groups&prefv1=multi\"},{\"name\":\"Pink\",\"url\":\"\\/sa\\/swimdresses\\/?cgid=SA_Swimdresses_792&prefn1=color_groups&prefv1=pink\"},{\"name\":\"Green\",\"url\":\"\\/sa\\/swimdresses\\/?cgid=SA_Swimdresses_792&prefn1=color_groups&prefv1=green\"},{\"name\":\"Purple\",\"url\":\"\\/sa\\/swimdresses\\/?cgid=SA_Swimdresses_792&prefn1=color_groups&prefv1=purple\"},{\"name\":\"Trend Shops\",\"url\":\"\"},{\"name\":\"Glam Accents\",\"url\":\"\\/sa\\/featured\\/latest-trends\\/glam-accents\\/?cgid=SA_Trend_5&prefn1=Product+Type&prefv1=Swimdresses\"},{\"name\":\"Little Black Swimsuits\",\"url\":\"\\/sa\\/featured\\/latest-trends\\/little-black-swimsuit\\/?cgid=SA_Little_Black_Swimsuit_784&prefn1=Product+Type&prefv1=Swimdresses%7CTwo-Piece+Swimwear+Sets\"},{\"name\":\"Vacation Must Haves\",\"url\":\"\\/sa\\/featured\\/latest-trends\\/vacation-shop\\/?cgid=SA_Trend_3&prefn1=Product+Type&prefv1=Swimdresses%7CTwo-Piece+Swimwear+Sets\"},{\"name\":\"Coverage\",\"url\":\"\"},{\"name\":\"Maximum Coverage\",\"url\":\"\\/sa\\/swimdresses\\/?cgid=SA_Swimdresses_792&prefn1=Bottom+Coverage&prefv1=Maximum+Coverage\"},{\"name\":\"Moderate Coverage\",\"url\":\"\\/sa\\/swimdresses\\/?cgid=SA_Swimdresses_792&prefn1=Bottom+Coverage&prefv1=Moderate+Coverage\"}]},{\"items\":[{\"name\":\"Size\",\"url\":\"\"},{\"name\":\"8\",\"url\":\"\\/sa\\/swimdresses\\/?cgid=SA_Swimdresses_792&prefn1=Size&prefv1=8\"},{\"name\":\"10\",\"url\":\"\\/sa\\/swimdresses\\/?cgid=SA_Swimdresses_792&prefn1=Size&prefv1=10\"},{\"name\":\"12\",\"url\":\"\\/sa\\/swimdresses\\/?cgid=SA_Swimdresses_792&prefn1=Size&prefv1=12\"},{\"name\":\"14\",\"url\":\"\\/sa\\/swimdresses\\/?cgid=SA_Swimdresses_792&prefn1=Size&prefv1=14\"},{\"name\":\"16\",\"url\":\"\\/sa\\/swimdresses\\/?cgid=SA_Swimdresses_792&prefn1=Size&prefv1=16\"},{\"name\":\"18\",\"url\":\"\\/sa\\/swimdresses\\/?cgid=SA_Swimdresses_792&prefn1=Size&prefv1=18\"},{\"name\":\"20\",\"url\":\"\\/sa\\/swimdresses\\/?cgid=SA_Swimdresses_792&prefn1=Size&prefv1=20\"},{\"name\":\"22\",\"url\":\"\\/sa\\/swimdresses\\/?cgid=SA_Swimdresses_792&prefn1=Size&prefv1=22\"},{\"name\":\"24\",\"url\":\"\\/sa\\/swimdresses\\/?cgid=SA_Swimdresses_792&prefn1=Size&prefv1=24\"},{\"name\":\"26\",\"url\":\"\\/sa\\/swimdresses\\/?cgid=SA_Swimdresses_792&prefn1=Size&prefv1=26\"},{\"name\":\"28\",\"url\":\"\\/sa\\/swimdresses\\/?cgid=SA_Swimdresses_792&prefn1=Size&prefv1=28\"},{\"name\":\"30\",\"url\":\"\\/sa\\/swimdresses\\/?cgid=SA_Swimdresses_792&prefn1=Size&prefv1=30\"},{\"name\":\"32\",\"url\":\"\\/sa\\/swimdresses\\/?cgid=SA_Swimdresses_792&prefn1=Size&prefv1=32\"},{\"name\":\"34\",\"url\":\"\\/sa\\/swimdresses\\/?cgid=SA_Swimdresses_792&prefn1=Size&prefv1=34\"},{\"name\":\"36\",\"url\":\"\\/sa\\/swimdresses\\/?cgid=SA_Swimdresses_792&prefn1=Size&prefv1=36\"},{\"name\":\"38\",\"url\":\"\\/sa\\/swimdresses\\/?cgid=SA_Swimdresses_792&prefn1=Size&prefv1=38\"},{\"name\":\"40\",\"url\":\"\\/sa\\/swimdresses\\/?cgid=SA_Swimdresses_792&prefn1=Size&prefv1=40\"},{\"name\":\"42\",\"url\":\"\\/sa\\/swimdresses\\/?cgid=SA_Swimdresses_792&prefn1=Size&prefv1=42\"}]},{\"items\":[{\"name\":\"Sort By\",\"url\":\"\"},{\"name\":\"Lowest Price\",\"url\":\"\\/sa\\/swimdresses\\/?cgid=SA_Swimdresses_792&srule=price+asc\"},{\"name\":\"Highest Price\",\"url\":\"\\/sa\\/swimdresses\\/?cgid=SA_Swimdresses_792&srule=price+desc\"},{\"name\":\"Top Rated\",\"url\":\"\\/sa\\/swimdresses\\/?cgid=SA_Swimdresses_792&srule=review_average+desc\"},{\"name\":\"Price\",\"url\":\"\"},{\"name\":\"$20 - $39.99\",\"url\":\"\\/sa\\/swimdresses\\/?cgid=SA_Swimdresses_792&pmax=39.99&pmin=20\"},{\"name\":\"$40 - $59.99\",\"url\":\"\\/sa\\/swimdresses\\/?cgid=SA_Swimdresses_792&pmax=59.99&pmin=40\"},{\"name\":\"$60 - $79.99\",\"url\":\"\\/sa\\/swimdresses\\/?cgid=SA_Swimdresses_792&pmax=79.99&pmin=60\"},{\"name\":\"Fit Help\",\"url\":\"\"},{\"name\":\"Swimsuit Fit Guide\",\"url\":\"\\/c\\/fit-guide-sa.html\"},{\"name\":\"How To Measure\",\"url\":\"\\/c\\/fit-guide-sa.html#how-to-measure\"},{\"name\":\"About Us\",\"url\":\"\\/c\\/about-us-sa.html\"},{\"name\":\"Get Your True Fit\",\"url\":\"\\/c\\/s4a-truefit.html\"}]}]},{\"heading\":\"Tankinis\",\"columns\":[{\"items\":[{\"name\":\"Style\",\"url\":\"\"},{\"name\":\"All Tankinis Sets & Separates\",\"url\":\"\\/sa\\/tankinis\\/\"},{\"name\":\"Tankini Tops\",\"url\":\"\\/sa\\/tankinis\\/tankini-tops\\/\"},{\"name\":\"All Tankini Sets\",\"url\":\"\\/sa\\/tankinis\\/tankini-sets\\/\"},{\"name\":\"Tankinis\",\"url\":\"\\/sa\\/tankinis\\/tankini-sets\\/tankinis\\/\"},{\"name\":\"Shortinis\",\"url\":\"\\/sa\\/tankinis\\/tankini-sets\\/shortinis\\/\"},{\"name\":\"Skirtinis\",\"url\":\"\\/sa\\/tankinis\\/tankini-sets\\/skirtinis\\/\"},{\"name\":\"Bandeau\",\"url\":\"\\/sa\\/tankinis\\/bandeau\\/\"},{\"name\":\"Blouson\",\"url\":\"\\/sa\\/tankinis\\/blouson\\/\"},{\"name\":\"Halter\",\"url\":\"\\/sa\\/tankinis\\/halter\\/\"},{\"name\":\"High Neck\",\"url\":\"\\/sa\\/tankinis\\/high-neck\\/\"},{\"name\":\"Sport Back\",\"url\":\"\\/sa\\/tankinis\\/sport-back\\/\"},{\"name\":\"Swim Tees\",\"url\":\"\\/sa\\/tankinis\\/swim-tees\\/\"},{\"name\":\"Underwire\",\"url\":\"\\/sa\\/tankinis\\/underwire\\/\"},{\"name\":\"V-Neck\",\"url\":\"\\/sa\\/tankinis\\/v-neck\\/\"},{\"name\":\"Longer Length \",\"url\":\"\\/sa\\/tankinis\\/longer-length\\/\"},{\"name\":\"Collections\",\"url\":\"\"},{\"name\":\"Chlorine Resistant Tankinis\",\"url\":\"\\/sa\\/featured\\/chlorine-resistant\\/tankinis\\/\"},{\"name\":\"Chlorine Resistant Swim Tees\",\"url\":\"\\/sa\\/featured\\/chlorine-resistant\\/swim-tees\\/\"},{\"name\":\"Mix & Match Set Builder\",\"url\":\"\\/sa\\/featured\\/mix-and-match-swimwear\\/\"}]},{\"items\":[{\"name\":\"New & Now\",\"url\":\"\"},{\"name\":\"New Arrivals\",\"url\":\"\\/sa\\/featured\\/new-arrivals\\/new-tankinis\\/\"},{\"name\":\"Best Sellers\",\"url\":\"\\/sa\\/featured\\/best-sellers\\/?cgid=SA_Best_Sellers_195&prefn1=Product+Type&prefv1=Swim+Tops\"},{\"name\":\"Sales & Offers\",\"url\":\"\"},{\"name\":\"Clearance - Up to 80% OFF\",\"url\":\"\\/sa\\/clearance\\/tankinis\\/\"},{\"name\":\"Offers & Coupons\",\"url\":\"\\/offers-coupons\"},{\"name\":\"Solutions For All\",\"url\":\"\"},{\"name\":\"Underwire\",\"url\":\"\\/sa\\/swim-solutions\\/underwire\\/tankinis\\/\"},{\"name\":\"Adjustability\",\"url\":\"\\/sa\\/swim-solutions\\/adjustability\\/?cgid=SA_Adjustability_873&prefn1=Product+Type&prefv1=Swim+Tops\"},{\"name\":\"Longer Length\",\"url\":\"\\/sa\\/swim-solutions\\/longer-length\\/?cgid=SA_Swim_Solutions_Long_Torso&prefn1=Product+Type&prefv1=Swim+Tops\"},{\"name\":\"UV Sun Protection\",\"url\":\"\\/sa\\/featured\\/swim-solutions\\/uv-sun-protection-swimwear\\/?cgid=SA_UV_Sun_Protection&prefn1=Product+Type&prefv1=Swim+Tops%7CTwo-Piece+Swimwear+Sets\"}]},{\"items\":[{\"name\":\"Shop By Body Type\",\"url\":\"\"},{\"name\":\"Apple \",\"url\":\"\\/sa\\/tankinis\\/?cgid=SA_Tankinis_3&prefn1=Body+Type&prefv1=Apple\"},{\"name\":\"Athletic\",\"url\":\"\\/sa\\/tankinis\\/?cgid=SA_Tankinis_3&prefn1=Body+Type&prefv1=Athletic\"},{\"name\":\"Heart\",\"url\":\"\\/sa\\/tankinis\\/?cgid=SA_Tankinis_3&prefn1=Body+Type&prefv1=Heart\"},{\"name\":\"Hourglass\",\"url\":\"\\/sa\\/tankinis\\/?cgid=SA_Tankinis_3&prefn1=Body+Type&prefv1=Hourglass\"},{\"name\":\"Pear\",\"url\":\"\\/sa\\/tankinis\\/?cgid=SA_Tankinis_3&prefn1=Body+Type&prefv1=Pear\"},{\"name\":\"Neckline\",\"url\":\"\"},{\"name\":\"Crewneck\",\"url\":\"\\/sa\\/tankinis\\/?cgid=SA_Tankinis_3&prefn1=neckline&prefv1=Crewneck\"},{\"name\":\"Halter\",\"url\":\"\\/sa\\/tankinis\\/?cgid=SA_Tankinis_3&prefn1=neckline&prefv1=Halter\"},{\"name\":\"High Neck\",\"url\":\"\\/sa\\/tankinis\\/?cgid=SA_Tankinis_3&prefn1=neckline&prefv1=High+neck\"},{\"name\":\"Keyhole\",\"url\":\"\\/sa\\/tankinis\\/?cgid=SA_Tankinis_3&prefn1=neckline&prefv1=keyhole\"},{\"name\":\"Notch Neck\",\"url\":\"\\/sa\\/tankinis\\/?cgid=SA_Tankinis_3&prefn1=neckline&prefv1=Notch+Neck\"},{\"name\":\"One Shoulder\",\"url\":\"\\/sa\\/tankinis\\/?cgid=SA_Tankinis_3&prefn1=neckline&prefv1=One+Shoulder\"},{\"name\":\"Scoop Neck\",\"url\":\"\\/sa\\/tankinis\\/?cgid=SA_Tankinis_3&prefn1=neckline&prefv1=Scoop+Neck\"},{\"name\":\"Square Neck\",\"url\":\"\\/sa\\/tankinis\\/?cgid=SA_Tankinis_3&prefn1=neckline&prefv1=Square+Neck\"},{\"name\":\"Strapless\",\"url\":\"\\/sa\\/tankinis\\/?cgid=SA_Tankinis_3&prefn1=neckline&prefv1=Strapless%2FTube\"},{\"name\":\"Sweetheart\",\"url\":\"\\/sa\\/tankinis\\/?cgid=SA_Tankinis_3&prefn1=neckline&prefv1=Sweetheart+Neck\"},{\"name\":\"V-Neck\",\"url\":\"\\/sa\\/tankinis\\/?cgid=SA_Tankinis_3&prefn1=neckline&prefv1=V+Neck\"}]},{\"items\":[{\"name\":\"Color\",\"url\":\"\"},{\"name\":\"Black\",\"url\":\"\\/sa\\/tankinis\\/?cgid=SA_Tankinis_3&prefn1=color_groups&prefv1=black\"},{\"name\":\"Blue\",\"url\":\"\\/sa\\/tankinis\\/?cgid=SA_Tankinis_3&prefn1=color_groups&prefv1=blue\"},{\"name\":\"Multi\",\"url\":\"\\/sa\\/tankinis\\/?cgid=SA_Tankinis_3&prefn1=color_groups&prefv1=multi\"},{\"name\":\"Pink\",\"url\":\"\\/sa\\/tankinis\\/?cgid=SA_Tankinis_3&prefn1=color_groups&prefv1=pink\"},{\"name\":\"Green\",\"url\":\"\\/sa\\/tankinis\\/?cgid=SA_Tankinis_3&prefn1=color_groups&prefv1=green\"},{\"name\":\"Purple\",\"url\":\"\\/sa\\/tankinis\\/?cgid=SA_Tankinis_3&prefn1=color_groups&prefv1=purple\"},{\"name\":\"Brown\",\"url\":\"\\/sa\\/tankinis\\/?cgid=SA_Tankinis_3&prefn1=color_groups&prefv1=brown\"},{\"name\":\"Coverage\",\"url\":\"\"},{\"name\":\"Maximum Coverage\",\"url\":\"\\/sa\\/tankinis\\/?cgid=SA_Tankinis_3&prefn1=Bottom+Coverage&prefv1=Maximum+Coverage\"},{\"name\":\"Moderate Coverage\",\"url\":\"\\/sa\\/tankinis\\/?cgid=SA_Tankinis_3&prefn1=Bottom+Coverage&prefv1=Moderate+Coverage\"},{\"name\":\"Minimal Coverage\",\"url\":\"\\/sa\\/tankinis\\/?cgid=SA_Tankinis_3&prefn1=Bottom+Coverage&prefv1=Minimal+Coverage\"}]},{\"items\":[{\"name\":\"Size\",\"url\":\"\"},{\"name\":\"4\",\"url\":\"\\/sa\\/tankinis\\/?cgid=SA_Tankinis_3&prefn1=Size&prefv1=4\"},{\"name\":\"6\",\"url\":\"\\/sa\\/tankinis\\/?cgid=SA_Tankinis_3&prefn1=Size&prefv1=6\"},{\"name\":\"8\",\"url\":\"\\/sa\\/tankinis\\/?cgid=SA_Tankinis_3&prefn1=Size&prefv1=8\"},{\"name\":\"10\",\"url\":\"\\/sa\\/tankinis\\/?cgid=SA_Tankinis_3&prefn1=Size&prefv1=10\"},{\"name\":\"12\",\"url\":\"\\/sa\\/tankinis\\/?cgid=SA_Tankinis_3&prefn1=Size&prefv1=12\"},{\"name\":\"14\",\"url\":\"\\/sa\\/tankinis\\/?cgid=SA_Tankinis_3&prefn1=Size&prefv1=14\"},{\"name\":\"16\",\"url\":\"\\/sa\\/tankinis\\/?cgid=SA_Tankinis_3&prefn1=Size&prefv1=16\"},{\"name\":\"18\",\"url\":\"\\/sa\\/tankinis\\/?cgid=SA_Tankinis_3&prefn1=Size&prefv1=18\"},{\"name\":\"20\",\"url\":\"\\/sa\\/tankinis\\/?cgid=SA_Tankinis_3&prefn1=Size&prefv1=20\"},{\"name\":\"22\",\"url\":\"\\/sa\\/tankinis\\/?cgid=SA_Tankinis_3&prefn1=Size&prefv1=22\"},{\"name\":\"24\",\"url\":\"\\/sa\\/tankinis\\/?cgid=SA_Tankinis_3&prefn1=Size&prefv1=24\"},{\"name\":\"26\",\"url\":\"\\/sa\\/tankinis\\/?cgid=SA_Tankinis_3&prefn1=Size&prefv1=26\"},{\"name\":\"28\",\"url\":\"\\/sa\\/tankinis\\/?cgid=SA_Tankinis_3&prefn1=Size&prefv1=28\"},{\"name\":\"30\",\"url\":\"\\/sa\\/tankinis\\/?cgid=SA_Tankinis_3&prefn1=Size&prefv1=30\"},{\"name\":\"32\",\"url\":\"\\/sa\\/tankinis\\/?cgid=SA_Tankinis_3&prefn1=Size&prefv1=32\"},{\"name\":\"34\",\"url\":\"\\/sa\\/tankinis\\/?cgid=SA_Tankinis_3&prefn1=Size&prefv1=34\"},{\"name\":\"36\",\"url\":\"\\/sa\\/tankinis\\/?cgid=SA_Tankinis_3&prefn1=Size&prefv1=36\"},{\"name\":\"38\",\"url\":\"\\/sa\\/tankinis\\/?cgid=SA_Tankinis_3&prefn1=Size&prefv1=38\"},{\"name\":\"40\",\"url\":\"\\/sa\\/tankinis\\/?cgid=SA_Tankinis_3&prefn1=Size&prefv1=40\"},{\"name\":\"42\",\"url\":\"\\/sa\\/tankinis\\/?cgid=SA_Tankinis_3&prefn1=Size&prefv1=42\"},{\"name\":\"44\",\"url\":\"\\/sa\\/tankinis\\/?cgid=SA_Tankinis_3&prefn1=Size&prefv1=44\"}]},{\"items\":[{\"name\":\"Sort By\",\"url\":\"\"},{\"name\":\"Lowest Price\",\"url\":\"\\/sa\\/tankinis\\/?srule=price+asc\"},{\"name\":\"Highest Price\",\"url\":\"\\/sa\\/tankinis\\/?srule=price+desc\"},{\"name\":\"Top Rated\",\"url\":\"\\/sa\\/tankinis\\/?srule=review_average+desc\"},{\"name\":\"Price\",\"url\":\"\"},{\"name\":\"Under $20\",\"url\":\"\\/sa\\/tankinis\\/?cgid=SA_Tankinis_3&pmax=19.99&pmin=0\"},{\"name\":\"$20 - $39.99\",\"url\":\"\\/sa\\/tankinis\\/?cgid=SA_Tankinis_3&pmax=39.99&pmin=20\"},{\"name\":\"$40 - $59.99\",\"url\":\"\\/sa\\/tankinis\\/?cgid=SA_Tankinis_3&pmax=59.99&pmin=40\"},{\"name\":\"$60 - $79.99\",\"url\":\"\\/sa\\/tankinis\\/?cgid=SA_Tankinis_3&pmax=79.99&pmin=60\"},{\"name\":\"Fit Help\",\"url\":\"\"},{\"name\":\"Swimsuit Fit Guide\",\"url\":\"\\/c\\/fit-guide-sa.html\"},{\"name\":\"How To Measure\",\"url\":\"\\/c\\/fit-guide-sa.html#how-to-measure\"},{\"name\":\"About Us\",\"url\":\"\\/c\\/about-us-sa.html\"},{\"name\":\"Get Your True Fit\",\"url\":\"\\/c\\/s4a-truefit.html\"}]}]},{\"heading\":\"Bikinis\",\"columns\":[{\"items\":[{\"name\":\"Style\",\"url\":\"\"},{\"name\":\"All Bikini Sets & Separates\",\"url\":\"\\/sa\\/bikinis\\/\"},{\"name\":\"All Bikini Sets\",\"url\":\"\\/sa\\/bikinis\\/bikini-sets\\/\"},{\"name\":\"Bikini Tops\",\"url\":\"\\/sa\\/bikinis\\/bikini-tops\\/\"},{\"name\":\"Bikini Bottoms\",\"url\":\"\\/sa\\/bikinis\\/bikini-bottoms\\/\"},{\"name\":\"Bandeau\",\"url\":\"\\/sa\\/bikinis\\/bandeau\\/\"},{\"name\":\"Covered Bikinis\",\"url\":\"\\/sa\\/bikinis\\/covered-bikinis\\/\"},{\"name\":\"Halter\",\"url\":\"\\/sa\\/bikinis\\/halter\\/\"},{\"name\":\"High Neck\",\"url\":\"\\/sa\\/bikinis\\/high-neck\\/\"},{\"name\":\"Triangle\",\"url\":\"\\/sa\\/bikinis\\/triangle\\/\"},{\"name\":\"Underwire\",\"url\":\"\\/sa\\/bikinis\\/underwire\\/\"},{\"name\":\"Collections\",\"url\":\"\"},{\"name\":\"Bold Bikinis\",\"url\":\"\\/sa\\/featured-shops\\/sexy-swimsuits\\/?cgid=SA_Sexy_Swimsuits&prefn1=style&prefv1=Bikini+Top%7CCrop+Top%7CSwim+Briefs\"},{\"name\":\"Glam Accents\",\"url\":\"\\/sa\\/featured\\/latest-trends\\/glam-accents\\/?cgid=SA_Trend_5&prefn1=Product+Type&prefv1=Bikini+Sets\"},{\"name\":\"Mix & Match Set Builder\",\"url\":\"\\/sa\\/featured\\/mix-and-match-swimwear\\/\"}]},{\"items\":[{\"name\":\"New & Now\",\"url\":\"\"},{\"name\":\"New Arrivals\",\"url\":\"\\/sa\\/featured\\/new-arrivals\\/new-bikinis\\/\"},{\"name\":\"Best Sellers\",\"url\":\"\\/sa\\/featured\\/best-sellers\\/?cgid=SA_Best_Sellers_195&prefn1=style&prefv1=Bikini+Top\"},{\"name\":\"Sales & Offers\",\"url\":\"\"},{\"name\":\"Clearance - Up to 80% OFF\",\"url\":\"\\/sa\\/clearance\\/bikinis\\/\"},{\"name\":\"Offers & Coupons\",\"url\":\"\\/offers-coupons\"}]},{\"items\":[{\"name\":\"Shop By Body Type\",\"url\":\"\"},{\"name\":\"Apple \",\"url\":\"\\/sa\\/bikinis\\/?cgid=SA_Bikini_Tops_830&prefn1=Body+Type&prefv1=Apple\"},{\"name\":\"Athletic\",\"url\":\"\\/sa\\/bikinis\\/?cgid=SA_Bikini_Tops_830&prefn1=Body+Type&prefv1=Athletic\"},{\"name\":\"Heart\",\"url\":\"\\/sa\\/bikinis\\/?cgid=SA_Bikini_Tops_830&prefn1=Body+Type&prefv1=Heart\"},{\"name\":\"Hourglass\",\"url\":\"\\/sa\\/bikinis\\/?cgid=SA_Bikini_Tops_830&prefn1=Body+Type&prefv1=Hourglass\"},{\"name\":\"Pear\",\"url\":\"\\/sa\\/bikinis\\/?cgid=SA_Bikini_Tops_830&prefn1=Body+Type&prefv1=Pear\"},{\"name\":\"Neckline\",\"url\":\"\"},{\"name\":\"Halter\",\"url\":\"\\/sa\\/bikinis\\/?cgid=SA_Bikini_Tops_830&prefn1=neckline&prefv1=Halter\"},{\"name\":\"High Neck\",\"url\":\"\\/sa\\/bikinis\\/?cgid=SA_Bikini_Tops_830&prefn1=neckline&prefv1=High+neck\"},{\"name\":\"One Shoulder\",\"url\":\"\\/sa\\/bikinis\\/?cgid=SA_Bikini_Tops_830&prefn1=neckline&prefv1=One+Shoulder\"},{\"name\":\"Sweetheart\",\"url\":\"\\/sa\\/bikinis\\/?cgid=SA_Bikini_Tops_830&prefn1=neckline&prefv1=Sweetheart+Neck\"},{\"name\":\"V-Neck\",\"url\":\"\\/sa\\/bikinis\\/?cgid=SA_Bikini_Tops_830&prefn1=neckline&prefv1=V+Neck\"}]},{\"items\":[{\"name\":\"Color\",\"url\":\"\"},{\"name\":\"Black\",\"url\":\"\\/sa\\/bikinis\\/?cgid=SA_Bikini_Tops_830&prefn1=color_groups&prefv1=black\"},{\"name\":\"Blue\",\"url\":\"\\/sa\\/bikinis\\/?cgid=SA_Bikini_Tops_830&prefn1=color_groups&prefv1=blue\"},{\"name\":\"Multi\",\"url\":\"\\/sa\\/bikinis\\/?cgid=SA_Bikini_Tops_830&prefn1=color_groups&prefv1=multi\"},{\"name\":\"Pink\",\"url\":\"\\/sa\\/bikinis\\/?cgid=SA_Bikini_Tops_830&prefn1=color_groups&prefv1=pink\"},{\"name\":\"White\",\"url\":\"\\/sa\\/bikinis\\/?cgid=SA_Bikini_Tops_830&prefn1=color_groups&prefv1=white\"},{\"name\":\"Green\",\"url\":\"\\/sa\\/bikinis\\/?cgid=SA_Bikini_Tops_830&prefn1=color_groups&prefv1=green\"},{\"name\":\"Red\",\"url\":\"\\/sa\\/bikinis\\/?cgid=SA_Bikini_Tops_830&prefn1=color_groups&prefv1=red\"},{\"name\":\"Coverage\",\"url\":\"\"},{\"name\":\"Maximum Coverage\",\"url\":\"\\/sa\\/bikinis\\/?cgid=SA_Bikini_Tops_830&prefn1=Bottom+Coverage&prefv1=Maximum+Coverage\"},{\"name\":\"Moderate Coverage\",\"url\":\"\\/sa\\/bikinis\\/?cgid=SA_Bikini_Tops_830&prefn1=Bottom+Coverage&prefv1=Moderate+Coverage\"},{\"name\":\"Minimal Coverage\",\"url\":\"\\/sa\\/bikinis\\/?cgid=SA_Bikini_Tops_830&prefn1=Bottom+Coverage&prefv1=Minimal+Coverage\"}]},{\"items\":[{\"name\":\"Size\",\"url\":\"\"},{\"name\":\"4\",\"url\":\"\\/sa\\/bikinis\\/?cgid=SA_Bikini_Tops_830&prefn1=Size&prefv1=4\"},{\"name\":\"6\",\"url\":\"\\/sa\\/bikinis\\/?cgid=SA_Bikini_Tops_830&prefn1=Size&prefv1=6\"},{\"name\":\"8\",\"url\":\"\\/sa\\/bikinis\\/?cgid=SA_Bikini_Tops_830&prefn1=Size&prefv1=8\"},{\"name\":\"10\",\"url\":\"\\/sa\\/bikinis\\/?cgid=SA_Bikini_Tops_830&prefn1=Size&prefv1=10\"},{\"name\":\"12\",\"url\":\"\\/sa\\/bikinis\\/?cgid=SA_Bikini_Tops_830&prefn1=Size&prefv1=12\"},{\"name\":\"14\",\"url\":\"\\/sa\\/bikinis\\/?cgid=SA_Bikini_Tops_830&prefn1=Size&prefv1=14\"},{\"name\":\"16\",\"url\":\"\\/sa\\/bikinis\\/?cgid=SA_Bikini_Tops_830&prefn1=Size&prefv1=16\"},{\"name\":\"18\",\"url\":\"\\/sa\\/bikinis\\/?cgid=SA_Bikini_Tops_830&prefn1=Size&prefv1=18\"},{\"name\":\"20\",\"url\":\"\\/sa\\/bikinis\\/?cgid=SA_Bikini_Tops_830&prefn1=Size&prefv1=20\"},{\"name\":\"22\",\"url\":\"\\/sa\\/bikinis\\/?cgid=SA_Bikini_Tops_830&prefn1=Size&prefv1=22\"},{\"name\":\"24\",\"url\":\"\\/sa\\/bikinis\\/?cgid=SA_Bikini_Tops_830&prefn1=Size&prefv1=24\"},{\"name\":\"26\",\"url\":\"\\/sa\\/bikinis\\/?cgid=SA_Bikini_Tops_830&prefn1=Size&prefv1=26\"},{\"name\":\"28\",\"url\":\"\\/sa\\/bikinis\\/?cgid=SA_Bikini_Tops_830&prefn1=Size&prefv1=28\"},{\"name\":\"30\",\"url\":\"\\/sa\\/bikinis\\/?cgid=SA_Bikini_Tops_830&prefn1=Size&prefv1=30\"},{\"name\":\"32\",\"url\":\"\\/sa\\/bikinis\\/?cgid=SA_Bikini_Tops_830&prefn1=Size&prefv1=32\"},{\"name\":\"34\",\"url\":\"\\/sa\\/bikinis\\/?cgid=SA_Bikini_Tops_830&prefn1=Size&prefv1=34\"}]},{\"items\":[{\"name\":\"Sort By\",\"url\":\"\"},{\"name\":\"Lowest Price\",\"url\":\"\\/sa\\/bikinis\\/?srule=price+asc\"},{\"name\":\"Highest Price\",\"url\":\"\\/sa\\/bikinis\\/?srule=price+desc\"},{\"name\":\"Top Rated\",\"url\":\"\\/sa\\/bikinis\\/?srule=review_average+desc\"},{\"name\":\"Price\",\"url\":\"\"},{\"name\":\"Under $20\",\"url\":\"\\/sa\\/bikinis\\/?cgid=SA_Bikini_Tops_830&pmax=19.99&pmin=0\"},{\"name\":\"$20 - $39.99\",\"url\":\"\\/sa\\/bikinis\\/?cgid=SA_Bikini_Tops_830&pmax=39.99&pmin=20\"},{\"name\":\"$40 - $59.99\",\"url\":\"\\/sa\\/bikinis\\/?cgid=SA_Bikini_Tops_830&pmax=59.99&pmin=40\"},{\"name\":\"$60 - $79.99\",\"url\":\"\\/sa\\/bikinis\\/?cgid=SA_Bikini_Tops_830&pmax=79.99&pmin=60\"},{\"name\":\"Fit Help\",\"url\":\"\"},{\"name\":\"Swimsuit Fit Guide\",\"url\":\"\\/c\\/fit-guide-sa.html\"},{\"name\":\"How To Measure\",\"url\":\"\\/c\\/fit-guide-sa.html#how-to-measure\"},{\"name\":\"About Us\",\"url\":\"\\/c\\/about-us-sa.html\"},{\"name\":\"Get Your True Fit\",\"url\":\"\\/c\\/s4a-truefit.html\"}]}]},{\"heading\":\"Swim Tops\",\"columns\":[{\"items\":[{\"name\":\"Style\",\"url\":\"\"},{\"name\":\"All Swim Tops\",\"url\":\"\\/sa\\/swim-tops\\/\"},{\"name\":\"Tankini Tops\",\"url\":\"\\/sa\\/swim-tops\\/tankini-tops\\/\"},{\"name\":\"Bikini Tops\",\"url\":\"\\/sa\\/swim-tops\\/bikini-tops\\/\"},{\"name\":\"Bandeau Tops\",\"url\":\"\\/sa\\/swim-tops\\/bandeau-swim-tops\\/\"},{\"name\":\"Blouson Tops\",\"url\":\"\\/sa\\/swim-tops\\/blouson-swim-tops\\/\"},{\"name\":\"Bra & Cup-Sized Tops\",\"url\":\"\\/sa\\/swim-tops\\/bra-and-cup-sized-swim-tops\\/\"},{\"name\":\"Halter Tops\",\"url\":\"\\/sa\\/swim-tops\\/halter-swim-tops\\/\"},{\"name\":\"High Neck Tops\",\"url\":\"\\/sa\\/swim-tops\\/high-neck-swim-tops\\/\"},{\"name\":\"Swim Tees\",\"url\":\"\\/sa\\/tankinis\\/swim-tees\\/\"},{\"name\":\"Underwire Tops\",\"url\":\"\\/sa\\/swim-tops\\/underwire-swim-tops\\/\"},{\"name\":\"Collections\",\"url\":\"\"},{\"name\":\"Chlorine Resistant\",\"url\":\"\\/sa\\/swim-tops\\/?cgid=SA_Swim_Tops&prefn1=Features&prefv1=Chlorine+Resistant\"},{\"name\":\"Glam Accents\",\"url\":\"\\/sa\\/featured\\/latest-trends\\/glam-accents\\/?cgid=SA_Trend_5&prefn1=Product+Type&prefv1=Swim+Tops\"},{\"name\":\"UV Sun Protection\",\"url\":\"\\/sa\\/featured\\/swim-solutions\\/uv-sun-protection-swimwear\\/?cgid=SA_UV_Sun_Protection&prefn1=Product+Type&prefv1=Swim+Tops%7CTwo-Piece+Swimwear+Sets\"},{\"name\":\"Mix & Match Set Builder\",\"url\":\"\\/sa\\/featured\\/mix-and-match-swimwear\\/\"}]},{\"items\":[{\"name\":\"New & Now\",\"url\":\"\"},{\"name\":\"New Swim Tops\",\"url\":\"\\/sa\\/featured\\/new-arrivals\\/new-swim-tops\\/\"},{\"name\":\"Best Seller Tops\",\"url\":\"\\/sa\\/featured\\/best-sellers\\/?cgid=SA_Best_Sellers_195&prefn1=Product+Type&prefv1=Swim+Tops\"},{\"name\":\"DD+ Cup Tops\",\"url\":\"\\/sa\\/featured\\/solutions-for-all\\/ddand-cup\\/?cgid=SA_DoubleD_Shop&prefn1=Product+Type&prefv1=Swim+Tops\"},{\"name\":\"Sales & Offers\",\"url\":\"\"},{\"name\":\"Clearance - Up to 80% OFF\",\"url\":\"\\/sa\\/clearance\\/separates\\/?cgid=SA_Clearance_Separates_325&prefn1=Product+Type&prefv1=Swim+Tops\"},{\"name\":\"Sale Swim Tees\",\"url\":\"\\/sa\\/clearance\\/?cgid=SA_Clearance_29&prefn1=Style&prefv1=Swim+Tees+%26+Shirts\"},{\"name\":\"Offers & Coupons\",\"url\":\"\\/offers-coupons\"},{\"name\":\"Coverage\",\"url\":\"\"},{\"name\":\"Maximum Coverage\",\"url\":\"\\/sa\\/swim-tops\\/?cgid=SA_Swim_Tops&prefn1=Bottom+Coverage&prefv1=Maximum+Coverage\"},{\"name\":\"Moderate Coverage\",\"url\":\"\\/sa\\/swim-tops\\/?cgid=SA_Swim_Tops&prefn1=Bottom+Coverage&prefv1=Moderate+Coverage\"},{\"name\":\"Minimal Coverage\",\"url\":\"\\/sa\\/swim-tops\\/?cgid=SA_Swim_Tops&prefn1=Bottom+Coverage&prefv1=Minimal+Coverage\"}]},{\"items\":[{\"name\":\"Color\",\"url\":\"\"},{\"name\":\"Black\",\"url\":\"\\/sa\\/swim-tops\\/?cgid=SA_Swim_Tops&prefn1=color_groups&prefv1=black\"},{\"name\":\"Blue\",\"url\":\"\\/sa\\/swim-tops\\/?cgid=SA_Swim_Tops&prefn1=color_groups&prefv1=blue\"},{\"name\":\"Multi\",\"url\":\"\\/sa\\/swim-tops\\/?cgid=SA_Swim_Tops&prefn1=color_groups&prefv1=multi\"},{\"name\":\"Green\",\"url\":\"\\/sa\\/swim-tops\\/?cgid=SA_Swim_Tops&prefn1=color_groups&prefv1=green\"},{\"name\":\"Pink\",\"url\":\"\\/sa\\/swim-tops\\/?cgid=SA_Swim_Tops&prefn1=color_groups&prefv1=pink\"},{\"name\":\"White\",\"url\":\"\\/sa\\/swim-tops\\/?cgid=SA_Swim_Tops&prefn1=color_groups&prefv1=white\"},{\"name\":\"Purple\",\"url\":\"\\/sa\\/swim-tops\\/?cgid=SA_Swim_Tops&prefn1=color_groups&prefv1=purple\"},{\"name\":\"Orange\",\"url\":\"\\/sa\\/swim-tops\\/?cgid=SA_Swim_Tops&prefn1=color_groups&prefv1=orange\"},{\"name\":\"Brown\",\"url\":\"\\/sa\\/swim-tops\\/?cgid=SA_Swim_Tops&prefn1=color_groups&prefv1=brown\"},{\"name\":\"Shop By Body Type\",\"url\":\"\"},{\"name\":\"Apple \",\"url\":\"\\/sa\\/swim-tops\\/?cgid=SA_Swim_Tops&prefn1=Body+Type&prefv1=Apple\"},{\"name\":\"Athletic\",\"url\":\"\\/sa\\/swim-tops\\/?cgid=SA_Swim_Tops&prefn1=Body+Type&prefv1=Athletic\"},{\"name\":\"Heart\",\"url\":\"\\/sa\\/swim-tops\\/?cgid=SA_Swim_Tops&prefn1=Body+Type&prefv1=Heart\"},{\"name\":\"Hourglass\",\"url\":\"\\/sa\\/swim-tops\\/?cgid=SA_Swim_Tops&prefn1=Body+Type&prefv1=Hourglass\"},{\"name\":\"Pear\",\"url\":\"\\/sa\\/swim-tops\\/?cgid=SA_Swim_Tops&prefn1=Body+Type&prefv1=Pear\"}]},{\"items\":[{\"name\":\"Size\",\"url\":\"\"},{\"name\":\"4\",\"url\":\"\\/sa\\/swim-tops\\/?cgid=SA_Swim_Tops&prefn1=Size&prefv1=4\"},{\"name\":\"6\",\"url\":\"\\/sa\\/swim-tops\\/?cgid=SA_Swim_Tops&prefn1=Size&prefv1=6\"},{\"name\":\"8\",\"url\":\"\\/sa\\/swim-tops\\/?cgid=SA_Swim_Tops&prefn1=Size&prefv1=8\"},{\"name\":\"10\",\"url\":\"\\/sa\\/swim-tops\\/?cgid=SA_Swim_Tops&prefn1=Size&prefv1=10\"},{\"name\":\"12\",\"url\":\"\\/sa\\/swim-tops\\/?cgid=SA_Swim_Tops&prefn1=Size&prefv1=12\"},{\"name\":\"14\",\"url\":\"\\/sa\\/swim-tops\\/?cgid=SA_Swim_Tops&prefn1=Size&prefv1=14\"},{\"name\":\"16\",\"url\":\"\\/sa\\/swim-tops\\/?cgid=SA_Swim_Tops&prefn1=Size&prefv1=16\"},{\"name\":\"18\",\"url\":\"\\/sa\\/swim-tops\\/?cgid=SA_Swim_Tops&prefn1=Size&prefv1=18\"},{\"name\":\"20\",\"url\":\"\\/sa\\/swim-tops\\/?cgid=SA_Swim_Tops&prefn1=Size&prefv1=20\"},{\"name\":\"22\",\"url\":\"\\/sa\\/swim-tops\\/?cgid=SA_Swim_Tops&prefn1=Size&prefv1=22\"},{\"name\":\"24\",\"url\":\"\\/sa\\/swim-tops\\/?cgid=SA_Swim_Tops&prefn1=Size&prefv1=24\"},{\"name\":\"26\",\"url\":\"\\/sa\\/swim-tops\\/?cgid=SA_Swim_Tops&prefn1=Size&prefv1=26\"},{\"name\":\"28\",\"url\":\"\\/sa\\/swim-tops\\/?cgid=SA_Swim_Tops&prefn1=Size&prefv1=28\"},{\"name\":\"30\",\"url\":\"\\/sa\\/swim-tops\\/?cgid=SA_Swim_Tops&prefn1=Size&prefv1=30\"},{\"name\":\"32\",\"url\":\"\\/sa\\/swim-tops\\/?cgid=SA_Swim_Tops&prefn1=Size&prefv1=32\"},{\"name\":\"34\",\"url\":\"\\/sa\\/swim-tops\\/?cgid=SA_Swim_Tops&prefn1=Size&prefv1=34\"},{\"name\":\"36\",\"url\":\"\\/sa\\/swim-tops\\/?cgid=SA_Swim_Tops&prefn1=Size&prefv1=36\"},{\"name\":\"38\",\"url\":\"\\/sa\\/swim-tops\\/?cgid=SA_Swim_Tops&prefn1=Size&prefv1=38\"},{\"name\":\"40\",\"url\":\"\\/sa\\/swim-tops\\/?cgid=SA_Swim_Tops&prefn1=Size&prefv1=40\"},{\"name\":\"42\",\"url\":\"\\/sa\\/swim-tops\\/?cgid=SA_Swim_Tops&prefn1=Size&prefv1=42\"},{\"name\":\"44\",\"url\":\"\\/sa\\/swim-tops\\/?cgid=SA_Swim_Tops&prefn1=Size&prefv1=44\"}]},{\"items\":[{\"name\":\"Sort By\",\"url\":\"\"},{\"name\":\"Lowest Price\",\"url\":\"\\/sa\\/swim-tops\\/?srule=price+asc\"},{\"name\":\"Highest Price\",\"url\":\"\\/sa\\/swim-tops\\/?srule=price+desc\"},{\"name\":\"Top Rated\",\"url\":\"\\/sa\\/swim-tops\\/?srule=review_average+desc\"},{\"name\":\"Price\",\"url\":\"\"},{\"name\":\"Under $20\",\"url\":\"\\/sa\\/swim-tops\\/?cgid=SA_Swim_Tops&pmax=19.99&pmin=0\"},{\"name\":\"$20 - $39.99\",\"url\":\"\\/sa\\/swim-tops\\/?cgid=SA_Swim_Tops&pmax=39.99&pmin=20\"},{\"name\":\"$40 - $59.99\",\"url\":\"\\/sa\\/swim-tops\\/?cgid=SA_Swim_Tops&pmax=59.99&pmin=40\"},{\"name\":\"$60 - $79.99\",\"url\":\"\\/sa\\/swim-tops\\/?cgid=SA_Swim_Tops&pmax=79.99&pmin=60\"},{\"name\":\"Fit Help\",\"url\":\"\"},{\"name\":\"Swimsuit Fit Guide\",\"url\":\"\\/c\\/fit-guide-sa.html\"},{\"name\":\"How To Measure\",\"url\":\"\\/c\\/fit-guide-sa.html#how-to-measure\"},{\"name\":\"About Us\",\"url\":\"\\/c\\/about-us-sa.html\"},{\"name\":\"Get Your True Fit\",\"url\":\"\\/c\\/s4a-truefit.html\"}]}]},{\"heading\":\"Bottoms\",\"columns\":[{\"items\":[{\"name\":\"Style\",\"url\":\"\"},{\"name\":\"All Swim Bottoms\",\"url\":\"\\/sa\\/bottoms\\/\"},{\"name\":\"Board Shorts\",\"url\":\"\\/sa\\/bottoms\\/board-shorts\\/\"},{\"name\":\"Briefs\",\"url\":\"\\/sa\\/bottoms\\/briefs\\/\"},{\"name\":\"Capris\",\"url\":\"\\/sa\\/bottoms\\/capris\\/\"},{\"name\":\"High Waist\",\"url\":\"\\/sa\\/bottoms\\/high-waist\\/\"},{\"name\":\"Shorts\",\"url\":\"\\/sa\\/bottoms\\/shorts\\/\"},{\"name\":\"Skirts\",\"url\":\"\\/sa\\/bottoms\\/skirts\\/\"},{\"name\":\"Quick-Dry Bottoms\",\"url\":\"\\/sa\\/featured\\/latest-trends\\/quick-dry-bottoms\\/\"},{\"name\":\"Collections\",\"url\":\"\"},{\"name\":\"Chlorine Resistant\",\"url\":\"\\/sa\\/bottoms\\/?cgid=SA_Bottoms_817&prefn1=Features&prefv1=Chlorine+Resistant\"},{\"name\":\"Quick-Dry Swimwear\",\"url\":\"\\/sa\\/featured\\/latest-trends\\/quick-dry-swimwear\\/\"},{\"name\":\"Mix & Match Set Builder\",\"url\":\"\\/sa\\/featured\\/mix-and-match-swimwear\\/\"},{\"name\":\"UV Sun Protection\",\"url\":\"\\/sa\\/featured\\/swim-solutions\\/uv-sun-protection-swimwear\\/?cgid=SA_UV_Sun_Protection&prefn1=Product+Type&prefv1=Leggings%7CSwim+Bottoms\"}]},{\"items\":[{\"name\":\"New & Now\",\"url\":\"\"},{\"name\":\"New Swim Bottoms\",\"url\":\"\\/sa\\/featured\\/new-arrivals\\/new-bottoms\\/\"},{\"name\":\"Best Seller Bottoms\",\"url\":\"\\/sa\\/featured\\/best-sellers\\/?cgid=SA_Best_Sellers_195&prefn1=Product+Type&prefv1=Swim+Bottoms\"},{\"name\":\"Sales & Offers\",\"url\":\"\"},{\"name\":\"Clearance - Up to 80% OFF\",\"url\":\"\\/sa\\/clearance\\/bottoms\\/\"},{\"name\":\"Offers & Coupons\",\"url\":\"\\/offers-coupons\"},{\"name\":\"Coverage\",\"url\":\"\"},{\"name\":\"Maximum Coverage\",\"url\":\"\\/sa\\/bottoms\\/?cgid=SA_Bottoms_817&prefn1=Bottom+Coverage&prefv1=Maximum+Coverage\"},{\"name\":\"Moderate Coverage\",\"url\":\"\\/sa\\/bottoms\\/?cgid=SA_Bottoms_817&prefn1=Bottom+Coverage&prefv1=Moderate+Coverage\"},{\"name\":\"Minimal Coverage\",\"url\":\"\\/sa\\/bottoms\\/?cgid=SA_Bottoms_817&prefn1=Bottom+Coverage&prefv1=Minimal+Coverage\"}]},{\"items\":[{\"name\":\"Color\",\"url\":\"\"},{\"name\":\"Black\",\"url\":\"\\/sa\\/bottoms\\/?cgid=SA_Bottoms_817&prefn1=color_groups&prefv1=black\"},{\"name\":\"Blue\",\"url\":\"\\/sa\\/bottoms\\/?cgid=SA_Bottoms_817&prefn1=color_groups&prefv1=blue\"},{\"name\":\"Pink\",\"url\":\"\\/sa\\/bottoms\\/?cgid=SA_Bottoms_817&prefn1=color_groups&prefv1=pink\"},{\"name\":\"Multi\",\"url\":\"\\/sa\\/bottoms\\/?cgid=SA_Bottoms_817&prefn1=color_groups&prefv1=multi\"},{\"name\":\"Purple\",\"url\":\"\\/sa\\/bottoms\\/?cgid=SA_Bottoms_817&prefn1=color_groups&prefv1=purple\"},{\"name\":\"Green\",\"url\":\"\\/sa\\/bottoms\\/?cgid=SA_Bottoms_817&prefn1=color_groups&prefv1=green\"},{\"name\":\"Orange\",\"url\":\"\\/sa\\/bottoms\\/?cgid=SA_Bottoms_817&prefn1=color_groups&prefv1=orange\"},{\"name\":\"White\",\"url\":\"\\/sa\\/bottoms\\/?cgid=SA_Bottoms_817&prefn1=color_groups&prefv1=white\"},{\"name\":\"Yellow\",\"url\":\"\\/sa\\/bottoms\\/?cgid=SA_Bottoms_817&prefn1=color_groups&prefv1=yellow\"},{\"name\":\"Red\",\"url\":\"\\/sa\\/bottoms\\/?cgid=SA_Bottoms_817&prefn1=color_groups&prefv1=red\"}]},{\"items\":[{\"name\":\"Size\",\"url\":\"\"},{\"name\":\"4\",\"url\":\"\\/sa\\/bottoms\\/?cgid=SA_Bottoms_817&prefn1=Size&prefv1=4\"},{\"name\":\"6\",\"url\":\"\\/sa\\/bottoms\\/?cgid=SA_Bottoms_817&prefn1=Size&prefv1=6\"},{\"name\":\"8\",\"url\":\"\\/sa\\/bottoms\\/?cgid=SA_Bottoms_817&prefn1=Size&prefv1=8\"},{\"name\":\"10\",\"url\":\"\\/sa\\/bottoms\\/?cgid=SA_Bottoms_817&prefn1=Size&prefv1=10\"},{\"name\":\"12\",\"url\":\"\\/sa\\/bottoms\\/?cgid=SA_Bottoms_817&prefn1=Size&prefv1=12\"},{\"name\":\"14\",\"url\":\"\\/sa\\/bottoms\\/?cgid=SA_Bottoms_817&prefn1=Size&prefv1=14\"},{\"name\":\"16\",\"url\":\"\\/sa\\/bottoms\\/?cgid=SA_Bottoms_817&prefn1=Size&prefv1=16\"},{\"name\":\"18\",\"url\":\"\\/sa\\/bottoms\\/?cgid=SA_Bottoms_817&prefn1=Size&prefv1=18\"},{\"name\":\"20\",\"url\":\"\\/sa\\/bottoms\\/?cgid=SA_Bottoms_817&prefn1=Size&prefv1=20\"},{\"name\":\"22\",\"url\":\"\\/sa\\/bottoms\\/?cgid=SA_Bottoms_817&prefn1=Size&prefv1=22\"},{\"name\":\"24\",\"url\":\"\\/sa\\/bottoms\\/?cgid=SA_Bottoms_817&prefn1=Size&prefv1=24\"},{\"name\":\"26\",\"url\":\"\\/sa\\/bottoms\\/?cgid=SA_Bottoms_817&prefn1=Size&prefv1=26\"},{\"name\":\"28\",\"url\":\"\\/sa\\/bottoms\\/?cgid=SA_Bottoms_817&prefn1=Size&prefv1=28\"},{\"name\":\"30\",\"url\":\"\\/sa\\/bottoms\\/?cgid=SA_Bottoms_817&prefn1=Size&prefv1=30\"},{\"name\":\"32\",\"url\":\"\\/sa\\/bottoms\\/?cgid=SA_Bottoms_817&prefn1=Size&prefv1=32\"},{\"name\":\"34\",\"url\":\"\\/sa\\/bottoms\\/?cgid=SA_Bottoms_817&prefn1=Size&prefv1=34\"},{\"name\":\"36\",\"url\":\"\\/sa\\/bottoms\\/?cgid=SA_Bottoms_817&prefn1=Size&prefv1=36\"},{\"name\":\"38\",\"url\":\"\\/sa\\/bottoms\\/?cgid=SA_Bottoms_817&prefn1=Size&prefv1=38\"},{\"name\":\"40\",\"url\":\"\\/sa\\/bottoms\\/?cgid=SA_Bottoms_817&prefn1=Size&prefv1=40\"},{\"name\":\"42\",\"url\":\"\\/sa\\/bottoms\\/?cgid=SA_Bottoms_817&prefn1=Size&prefv1=42\"},{\"name\":\"44\",\"url\":\"\\/sa\\/bottoms\\/?cgid=SA_Bottoms_817&prefn1=Size&prefv1=44\"}]},{\"items\":[{\"name\":\"Sort By\",\"url\":\"\"},{\"name\":\"Lowest Price\",\"url\":\"\\/sa\\/bottoms\\/?srule=price+asc\"},{\"name\":\"Highest Price\",\"url\":\"\\/sa\\/bottoms\\/?srule=price+desc\"},{\"name\":\"Top Rated\",\"url\":\"\\/sa\\/bottoms\\/?srule=review_average+desc\"},{\"name\":\"Price\",\"url\":\"\"},{\"name\":\"Under $20\",\"url\":\"\\/sa\\/bottoms\\/?cgid=SA_Bottoms_817&pmax=19.99&pmin=0\"},{\"name\":\"$20 - $39.99\",\"url\":\"\\/sa\\/bottoms\\/?cgid=SA_Bottoms_817&pmax=39.99&pmin=20\"},{\"name\":\"$40 - $59.99\",\"url\":\"\\/sa\\/bottoms\\/?cgid=SA_Bottoms_817&pmax=59.99&pmin=40\"},{\"name\":\"$60 - $79.99\",\"url\":\"\\/sa\\/bottoms\\/?cgid=SA_Bottoms_817&pmax=79.99&pmin=60\"},{\"name\":\"Fit Help\",\"url\":\"\"},{\"name\":\"Swimsuit Fit Guide\",\"url\":\"\\/c\\/fit-guide-sa.html\"},{\"name\":\"How To Measure\",\"url\":\"\\/c\\/fit-guide-sa.html#how-to-measure\"},{\"name\":\"About Us\",\"url\":\"\\/c\\/about-us-sa.html\"},{\"name\":\"Get Your True Fit\",\"url\":\"\\/c\\/s4a-truefit.html\"}]}]},{\"heading\":\"Cover Ups\",\"columns\":[{\"items\":[{\"name\":\"Style\",\"url\":\"\"},{\"name\":\"All Cover Ups\",\"url\":\"\\/sa\\/cover-ups\\/\"},{\"name\":\"Shorts\",\"url\":\"\\/sa\\/cover-ups\\/board-shorts\\/\"},{\"name\":\"Dresses\",\"url\":\"\\/sa\\/cover-ups\\/dresses\\/\"},{\"name\":\"Skirts\",\"url\":\"\\/sa\\/cover-ups\\/skirts\\/\"},{\"name\":\"Jumpsuits\",\"url\":\"\\/sa\\/cover-ups\\/jumpsuits\\/\"},{\"name\":\"Pants\",\"url\":\"\\/sa\\/cover-ups\\/pants\\/\"},{\"name\":\"Swim Tees\",\"url\":\"\\/sa\\/cover-ups\\/swim-tees\\/\"},{\"name\":\"Tops\",\"url\":\"\\/sa\\/cover-ups\\/tops\\/\"},{\"name\":\"Tunics\",\"url\":\"\\/sa\\/cover-ups\\/tunics\\/\"},{\"name\":\"Collections\",\"url\":\"\"},{\"name\":\"Chlorine Resistant Swim Tees\",\"url\":\"\\/sa\\/featured\\/chlorine-resistant\\/swim-tees\\/\"},{\"name\":\"Quick-Dry Swimwear\",\"url\":\"\\/sa\\/featured\\/latest-trends\\/quick-dry-swimwear\\/\"},{\"name\":\"Pack N&apos; Go\",\"url\":\"\\/sa\\/featured\\/latest-trends\\/pack-n-go\\/\"},{\"name\":\"Hats & Accessories\",\"url\":\"\\/sa\\/featured\\/accessories\\/\"}]},{\"items\":[{\"name\":\"New & Now\",\"url\":\"\"},{\"name\":\"New Arrivals\",\"url\":\"\\/sa\\/featured\\/new-arrivals\\/new-cover-ups\\/\"},{\"name\":\"Best Sellers\",\"url\":\"\\/sa\\/featured\\/best-sellers\\/?cgid=SA_Best_Sellers_195&prefn1=Product+Type&prefv1=Cover+Ups\"},{\"name\":\"Sales & Offers\",\"url\":\"\"},{\"name\":\"Clearance - Up to 80% OFF\",\"url\":\"\\/sa\\/clearance\\/cover-ups\\/\"},{\"name\":\"Offers & Coupons\",\"url\":\"\\/offers-coupons\"},{\"name\":\"Shop By Body Type\",\"url\":\"\"},{\"name\":\"Apple \",\"url\":\"\\/sa\\/cover-ups\\/?cgid=SA_Cover_Ups_6&prefn1=Body+Type&prefv1=Apple\"},{\"name\":\"Athletic\",\"url\":\"\\/sa\\/cover-ups\\/?cgid=SA_Cover_Ups_6&prefn1=Body+Type&prefv1=Athletic\"},{\"name\":\"Heart\",\"url\":\"\\/sa\\/cover-ups\\/?cgid=SA_Cover_Ups_6&prefn1=Body+Type&prefv1=Heart\"},{\"name\":\"Hourglass\",\"url\":\"\\/sa\\/cover-ups\\/?cgid=SA_Cover_Ups_6&prefn1=Body+Type&prefv1=Hourglass\"},{\"name\":\"Pear\",\"url\":\"\\/sa\\/cover-ups\\/?cgid=SA_Cover_Ups_6&prefn1=Body+Type&prefv1=Pear\"}]},{\"items\":[{\"name\":\"Fabric\",\"url\":\"\"},{\"name\":\"Cotton\",\"url\":\"\\/sa\\/cover-ups\\/?cgid=SA_Cover_Ups_6&prefn1=fabric_material&prefv1=cotton\"},{\"name\":\"Gauze\",\"url\":\"\\/sa\\/cover-ups\\/gauze-cover-ups\\/\"},{\"name\":\"Terry\",\"url\":\"\\/sa\\/cover-ups\\/terry-cover-ups\\/\"},{\"name\":\"Pack & Go\",\"url\":\"\\/sa\\/featured\\/latest-trends\\/pack-n-go\\/\"},{\"name\":\"Quick Dry\",\"url\":\"\\/sa\\/featured\\/latest-trends\\/quick-dry-bottoms\\/\"},{\"name\":\"Neckline\",\"url\":\"\"},{\"name\":\"Crewneck\",\"url\":\"\\/sa\\/cover-ups\\/?cgid=SA_Cover_Ups_6&prefn1=neckline&prefv1=Crewneck\"},{\"name\":\"Notch Neck\",\"url\":\"\\/sa\\/cover-ups\\/?cgid=SA_Cover_Ups_6&prefn1=neckline&prefv1=Notch+Neck\"},{\"name\":\"Off The Shoulder\",\"url\":\"\\/sa\\/cover-ups\\/?cgid=SA_Cover_Ups_6&prefn1=neckline&prefv1=Off+the+Shoulder\"},{\"name\":\"Scoop Neck\",\"url\":\"\\/sa\\/cover-ups\\/?cgid=SA_Cover_Ups_6&prefn1=neckline&prefv1=Scoop+Neck\"},{\"name\":\"Strapless\",\"url\":\"\\/sa\\/cover-ups\\/?cgid=SA_Cover_Ups_6&prefn1=neckline&prefv1=Strapless%2FTube\"},{\"name\":\"V-Neck\",\"url\":\"\\/sa\\/cover-ups\\/?cgid=SA_Cover_Ups_6&prefn1=neckline&prefv1=V+Neck\"}]},{\"items\":[{\"name\":\"Color\",\"url\":\"\"},{\"name\":\"Black\",\"url\":\"\\/sa\\/cover-ups\\/?cgid=SA_Cover_Ups_6&prefn1=color_groups&prefv1=black\"},{\"name\":\"Blue\",\"url\":\"\\/sa\\/cover-ups\\/?cgid=SA_Cover_Ups_6&prefn1=color_groups&prefv1=blue\"},{\"name\":\"White\",\"url\":\"\\/sa\\/cover-ups\\/?cgid=SA_Cover_Ups_6&prefn1=color_groups&prefv1=white\"},{\"name\":\"Pink\",\"url\":\"\\/sa\\/cover-ups\\/?cgid=SA_Cover_Ups_6&prefn1=color_groups&prefv1=pink\"},{\"name\":\"Multi\",\"url\":\"\\/sa\\/cover-ups\\/?cgid=SA_Cover_Ups_6&prefn1=color_groups&prefv1=multi\"},{\"name\":\"Purple\",\"url\":\"\\/sa\\/cover-ups\\/?cgid=SA_Cover_Ups_6&prefn1=color_groups&prefv1=purple\"},{\"name\":\"Green\",\"url\":\"\\/sa\\/cover-ups\\/?cgid=SA_Cover_Ups_6&prefn1=color_groups&prefv1=green\"},{\"name\":\"Red\",\"url\":\"\\/sa\\/cover-ups\\/?cgid=SA_Cover_Ups_6&prefn1=color_groups&prefv1=red\"},{\"name\":\"Sleeve Length\",\"url\":\"\"},{\"name\":\"Sleeveless\",\"url\":\"\\/sa\\/cover-ups\\/?cgid=SA_Cover_Ups_6&prefn1=sleeve_length&prefv1=Sleeveless\"},{\"name\":\"Short Sleeve\",\"url\":\"\\/sa\\/cover-ups\\/?cgid=SA_Cover_Ups_6&prefn1=sleeve_length&prefv1=Cap+Sleeve%7CShort+Sleeve\"},{\"name\":\"3\\/4 Sleeve\",\"url\":\"\\/sa\\/cover-ups\\/?cgid=SA_Cover_Ups_6&prefn1=sleeve_length&prefv1=3%2F4+Sleeve%7CElbow+Sleeve\"},{\"name\":\"Long Sleeve\",\"url\":\"\\/sa\\/cover-ups\\/?cgid=SA_Cover_Ups_6&prefn1=sleeve_length&prefv1=Long+Sleeve\"}]},{\"items\":[{\"name\":\"Size\",\"url\":\"\"},{\"name\":\"4\",\"url\":\"\\/sa\\/cover-ups\\/?cgid=SA_Cover_Ups_6&prefn1=Size&prefv1=4\"},{\"name\":\"6\",\"url\":\"\\/sa\\/cover-ups\\/?cgid=SA_Cover_Ups_6&prefn1=Size&prefv1=6\"},{\"name\":\"8\",\"url\":\"\\/sa\\/cover-ups\\/?cgid=SA_Cover_Ups_6&prefn1=Size&prefv1=8\"},{\"name\":\"10\",\"url\":\"\\/sa\\/cover-ups\\/?cgid=SA_Cover_Ups_6&prefn1=Size&prefv1=10\"},{\"name\":\"12\",\"url\":\"\\/sa\\/cover-ups\\/?cgid=SA_Cover_Ups_6&prefn1=Size&prefv1=12\"},{\"name\":\"14\",\"url\":\"\\/sa\\/cover-ups\\/?cgid=SA_Cover_Ups_6&prefn1=Size&prefv1=14\"},{\"name\":\"16\",\"url\":\"\\/sa\\/cover-ups\\/?cgid=SA_Cover_Ups_6&prefn1=Size&prefv1=16\"},{\"name\":\"18\",\"url\":\"\\/sa\\/cover-ups\\/?cgid=SA_Cover_Ups_6&prefn1=Size&prefv1=18\"},{\"name\":\"20\",\"url\":\"\\/sa\\/cover-ups\\/?cgid=SA_Cover_Ups_6&prefn1=Size&prefv1=20\"},{\"name\":\"22\",\"url\":\"\\/sa\\/cover-ups\\/?cgid=SA_Cover_Ups_6&prefn1=Size&prefv1=22\"},{\"name\":\"24\",\"url\":\"\\/sa\\/cover-ups\\/?cgid=SA_Cover_Ups_6&prefn1=Size&prefv1=24\"},{\"name\":\"26\",\"url\":\"\\/sa\\/cover-ups\\/?cgid=SA_Cover_Ups_6&prefn1=Size&prefv1=26\"},{\"name\":\"28\",\"url\":\"\\/sa\\/cover-ups\\/?cgid=SA_Cover_Ups_6&prefn1=Size&prefv1=28\"},{\"name\":\"30\",\"url\":\"\\/sa\\/cover-ups\\/?cgid=SA_Cover_Ups_6&prefn1=Size&prefv1=30\"},{\"name\":\"32\",\"url\":\"\\/sa\\/cover-ups\\/?cgid=SA_Cover_Ups_6&prefn1=Size&prefv1=32\"},{\"name\":\"34\",\"url\":\"\\/sa\\/cover-ups\\/?cgid=SA_Cover_Ups_6&prefn1=Size&prefv1=34\"},{\"name\":\"36\",\"url\":\"\\/sa\\/cover-ups\\/?cgid=SA_Cover_Ups_6&prefn1=Size&prefv1=36\"},{\"name\":\"38\",\"url\":\"\\/sa\\/cover-ups\\/?cgid=SA_Cover_Ups_6&prefn1=Size&prefv1=38\"},{\"name\":\"40\",\"url\":\"\\/sa\\/cover-ups\\/?cgid=SA_Cover_Ups_6&prefn1=Size&prefv1=40\"}]},{\"items\":[{\"name\":\"Sort By\",\"url\":\"\"},{\"name\":\"Lowest Price\",\"url\":\"\\/sa\\/cover-ups\\/?cgid=SA_Cover_Ups_6&srule=price+asc\"},{\"name\":\"Highest Price\",\"url\":\"\\/sa\\/cover-ups\\/?cgid=SA_Cover_Ups_6&srule=price+desc\"},{\"name\":\"Top Rated\",\"url\":\"\\/sa\\/cover-ups\\/?cgid=SA_Cover_Ups_6&srule=review_average+desc\"},{\"name\":\"Price\",\"url\":\"\"},{\"name\":\"Under $20\",\"url\":\"\\/sa\\/cover-ups\\/?cgid=SA_Cover_Ups_6&pmax=19.99&pmin=0\"},{\"name\":\"$20 - $39.99\",\"url\":\"\\/sa\\/cover-ups\\/?cgid=SA_Cover_Ups_6&pmax=39.99&pmin=20\"},{\"name\":\"$40 - $59.99\",\"url\":\"\\/sa\\/cover-ups\\/?cgid=SA_Cover_Ups_6&pmax=59.99&pmin=40\"},{\"name\":\"$60 - $79.99\",\"url\":\"\\/sa\\/cover-ups\\/?cgid=SA_Cover_Ups_6&pmax=79.99&pmin=60\"}]}]},{\"heading\":\"Women&apos;s & Plus Size\",\"columns\":[{\"items\":[{\"name\":\"Category\",\"url\":\"\"},{\"name\":\"All Swimwear\",\"url\":\"\\/sa\\/plus-size\\/\"},{\"name\":\"One Pieces\",\"url\":\"\\/sa\\/plus-size\\/plus-size-one-piece\\/\"},{\"name\":\"Swimdresses\",\"url\":\"\\/sa\\/plus-size\\/plus-size-swimdress\\/\"},{\"name\":\"Tankinis\",\"url\":\"\\/sa\\/plus-size\\/plus-size-tankinis\\/\"},{\"name\":\"Bikinis\",\"url\":\"\\/sa\\/plus-size\\/plus-size-bikinis\\/\"},{\"name\":\"Bottoms\",\"url\":\"\\/sa\\/plus-size\\/plus-size-bottoms\\/\"},{\"name\":\"Cover Ups\",\"url\":\"\\/sa\\/plus-size\\/plus-size-cover-ups\\/\"},{\"name\":\"New & Now\",\"url\":\"\"},{\"name\":\"DD+ Cups\",\"url\":\"\\/sa\\/featured\\/solutions-for-all\\/ddand-cup\\/\"},{\"name\":\"Mix & Match Set Builder\",\"url\":\"\\/sa\\/featured\\/mix-and-match-swimwear\\/\"},{\"name\":\"Shop By Print\",\"url\":\"\\/sa\\/featured\\/shop-by-print\\/\"},{\"name\":\"Pack N&apos; Go\",\"url\":\"\\/sa\\/featured\\/latest-trends\\/pack-n-go\\/\"},{\"name\":\"UV Sun Protection\",\"url\":\"\\/sa\\/featured\\/swim-solutions\\/uv-sun-protection-swimwear\\/?cgid=SA_UV_Sun_Protection\"},{\"name\":\"Sales & Offers\",\"url\":\"\"},{\"name\":\"Clearance - Up to 80% OFF\",\"url\":\"\\/sa\\/clearance\\/\"},{\"name\":\"Offers & Coupons\",\"url\":\"\\/offers-coupons\"}]},{\"items\":[{\"name\":\"Style\",\"url\":\"\"},{\"name\":\"Tankini Tops\",\"url\":\"\\/sa\\/plus-size\\/?cgid=SA_Plus_Size_579&prefn1=style&prefv1=Blouson+Swimwear%7CSwim+Shirt%7CTankini+Top\"},{\"name\":\"Swim Shirts\",\"url\":\"\\/sa\\/plus-size\\/?cgid=SA_Plus_Size_579&prefn1=style&prefv1=Swim+Shirt\"},{\"name\":\"Bikini Tops\",\"url\":\"\\/sa\\/plus-size\\/?cgid=SA_Plus_Size_579&prefn1=style&prefv1=Bikini+Top\"},{\"name\":\"Swim Briefs\",\"url\":\"\\/sa\\/plus-size\\/?cgid=SA_Plus_Size_579&prefn1=style&prefv1=Swim+Briefs\"},{\"name\":\"Swim Shorts\",\"url\":\"\\/sa\\/plus-size\\/?cgid=SA_Plus_Size_579&prefn1=style&prefv1=Swim+Short\"},{\"name\":\"Swim Skirts\",\"url\":\"\\/sa\\/plus-size\\/?cgid=SA_Plus_Size_579&prefn1=style&prefv1=Swim+Skirt\"},{\"name\":\"Swim Leggings\",\"url\":\"\\/sa\\/plus-size\\/?cgid=SA_Plus_Size_579&prefn1=style&prefv1=Swim+Capris+%26+Leggings\"},{\"name\":\"Hats & Accessories\",\"url\":\"\\/sa\\/featured\\/accessories\\/\"},{\"name\":\"Shop By Body Type\",\"url\":\"\"},{\"name\":\"Apple \",\"url\":\"\\/sa\\/plus-size\\/?cgid=SA_Plus_Size_579&prefn1=Body+Type&prefv1=Apple\"},{\"name\":\"Athletic\",\"url\":\"\\/sa\\/plus-size\\/?cgid=SA_Plus_Size_579&prefn1=Body+Type&prefv1=Athletic\"},{\"name\":\"Heart\",\"url\":\"\\/sa\\/plus-size\\/?cgid=SA_Plus_Size_579&prefn1=Body+Type&prefv1=Heart\"},{\"name\":\"Hourglass\",\"url\":\"\\/sa\\/plus-size\\/?cgid=SA_Plus_Size_579&prefn1=shape&prefv1=Hourglass\"},{\"name\":\"Pear\",\"url\":\"\\/sa\\/plus-size\\/?cgid=SA_Plus_Size_579&prefn1=Body+Type&prefv1=Pear\"}]},{\"items\":[{\"name\":\"Neckline\",\"url\":\"\"},{\"name\":\"Crewneck\",\"url\":\"\\/sa\\/plus-size\\/?cgid=SA_Plus_Size_579&prefn1=neckline&prefv1=Crewneck\"},{\"name\":\"Halter\",\"url\":\"\\/sa\\/plus-size\\/?cgid=SA_Plus_Size_579&prefn1=neckline&prefv1=Halter\"},{\"name\":\"High Neck\",\"url\":\"\\/sa\\/plus-size\\/?cgid=SA_Plus_Size_579&prefn1=neckline&prefv1=High+neck\"},{\"name\":\"Notch Neck\",\"url\":\"\\/sa\\/plus-size\\/?cgid=SA_Plus_Size_579&prefn1=neckline&prefv1=Notch+Neck\"},{\"name\":\"Off The Shoulder\",\"url\":\"\\/sa\\/plus-size\\/?cgid=SA_Plus_Size_579&prefn1=neckline&prefv1=Off+the+Shoulder\"},{\"name\":\"Scoop Neck\",\"url\":\"\\/sa\\/plus-size\\/?cgid=SA_Plus_Size_579&prefn1=neckline&prefv1=Scoop+Neck\"},{\"name\":\"Square Neck\",\"url\":\"\\/sa\\/plus-size\\/?cgid=SA_Plus_Size_579&prefn1=neckline&prefv1=Square+Neck\"},{\"name\":\"Strapless\",\"url\":\"\\/sa\\/plus-size\\/?cgid=SA_Plus_Size_579&prefn1=neckline&prefv1=Strapless%2FTube\"},{\"name\":\"Sweetheart Neck\",\"url\":\"\\/sa\\/plus-size\\/?cgid=SA_Plus_Size_579&prefn1=neckline&prefv1=Sweetheart+Neck\"},{\"name\":\"V-Neck\",\"url\":\"\\/sa\\/plus-size\\/?cgid=SA_Plus_Size_579&prefn1=neckline&prefv1=V+Neck\"},{\"name\":\"Sleeve Length\",\"url\":\"\"},{\"name\":\"Sleeveless\",\"url\":\"\\/sa\\/plus-size\\/?cgid=SA_Plus_Size_579&prefn1=sleeve_length&prefv1=Sleeveless\"},{\"name\":\"Short Sleeve\",\"url\":\"https:\\/\\/www.swimsuitsforall.com\\/sa\\/plus-size\\/?cgid=SA_Plus_Size_579&prefn1=sleeve_length&prefv1=Cap+Sleeve%7CShort+Sleeve\"},{\"name\":\"3\\/4 Sleeve\",\"url\":\"\\/sa\\/plus-size\\/?cgid=SA_Plus_Size_579&prefn1=sleeve_length&prefv1=3%2F4+Sleeve%7CElbow+Sleeve\"},{\"name\":\"Long Sleeve\",\"url\":\"\\/sa\\/plus-size\\/?cgid=SA_Plus_Size_579&prefn1=sleeve_length&prefv1=Long+Sleeve\"}]},{\"items\":[{\"name\":\"Color\",\"url\":\"\"},{\"name\":\"Black\",\"url\":\"\\/sa\\/plus-size\\/?cgid=SA_Plus_Size_579&prefn1=color_groups&prefv1=black\"},{\"name\":\"Blue\",\"url\":\"\\/sa\\/plus-size\\/?cgid=SA_Plus_Size_579&prefn1=color_groups&prefv1=blue\"},{\"name\":\"Multi\",\"url\":\"\\/sa\\/plus-size\\/?cgid=SA_Plus_Size_579&prefn1=color_groups&prefv1=multi\"},{\"name\":\"Pink\",\"url\":\"\\/sa\\/plus-size\\/?cgid=SA_Plus_Size_579&prefn1=color_groups&prefv1=pink\"},{\"name\":\"Green\",\"url\":\"\\/sa\\/plus-size\\/?cgid=SA_Plus_Size_579&prefn1=color_groups&prefv1=green\"},{\"name\":\"White\",\"url\":\"\\/sa\\/plus-size\\/?cgid=SA_Plus_Size_579&prefn1=color_groups&prefv1=white\"},{\"name\":\"Red\",\"url\":\"\\/sa\\/plus-size\\/?cgid=SA_Plus_Size_579&prefn1=color_groups&prefv1=red\"},{\"name\":\"Purple\",\"url\":\"\\/sa\\/plus-size\\/?cgid=SA_Plus_Size_579&prefn1=color_groups&prefv1=purple\"},{\"name\":\"Coverage\",\"url\":\"\"},{\"name\":\"Maximum Coverage\",\"url\":\"\\/sa\\/plus-size\\/?cgid=SA_Plus_Size_579&prefn1=Bottom+Coverage&prefv1=Maximum+Coverage\"},{\"name\":\"Moderate Coverage\",\"url\":\"\\/sa\\/plus-size\\/?cgid=SA_Plus_Size_579&prefn1=Bottom+Coverage&prefv1=Moderate+Coverage\"},{\"name\":\"Minimal Coverage\",\"url\":\"\\/sa\\/plus-size\\/?cgid=SA_Plus_Size_579&prefn1=Bottom+Coverage&prefv1=Minimal+Coverage\"}]},{\"items\":[{\"name\":\"Size\",\"url\":\"\"},{\"name\":\"4\",\"url\":\"\\/sa\\/plus-size\\/?cgid=SA_Plus_Size_579&prefn1=Size&prefv1=4\"},{\"name\":\"6\",\"url\":\"\\/sa\\/plus-size\\/?cgid=SA_Plus_Size_579&prefn1=Size&prefv1=6\"},{\"name\":\"8\",\"url\":\"\\/sa\\/plus-size\\/?cgid=SA_Plus_Size_579&prefn1=Size&prefv1=8\"},{\"name\":\"10\",\"url\":\"\\/sa\\/plus-size\\/?cgid=SA_Plus_Size_579&prefn1=Size&prefv1=10\"},{\"name\":\"12\",\"url\":\"\\/sa\\/plus-size\\/?cgid=SA_Plus_Size_579&prefn1=Size&prefv1=12\"},{\"name\":\"14\",\"url\":\"\\/sa\\/plus-size\\/?cgid=SA_Plus_Size_579&prefn1=Size&prefv1=14\"},{\"name\":\"16\",\"url\":\"\\/sa\\/plus-size\\/?cgid=SA_Plus_Size_579&prefn1=Size&prefv1=16\"},{\"name\":\"18\",\"url\":\"\\/sa\\/plus-size\\/?cgid=SA_Plus_Size_579&prefn1=Size&prefv1=18\"},{\"name\":\"20\",\"url\":\"\\/sa\\/plus-size\\/?cgid=SA_Plus_Size_579&prefn1=Size&prefv1=20\"},{\"name\":\"22\",\"url\":\"\\/sa\\/plus-size\\/?cgid=SA_Plus_Size_579&prefn1=Size&prefv1=22\"},{\"name\":\"24\",\"url\":\"\\/sa\\/plus-size\\/?cgid=SA_Plus_Size_579&prefn1=Size&prefv1=24\"},{\"name\":\"26\",\"url\":\"\\/sa\\/plus-size\\/?cgid=SA_Plus_Size_579&prefn1=Size&prefv1=26\"},{\"name\":\"28\",\"url\":\"\\/sa\\/plus-size\\/?cgid=SA_Plus_Size_579&prefn1=Size&prefv1=28\"},{\"name\":\"30\",\"url\":\"\\/sa\\/plus-size\\/?cgid=SA_Plus_Size_579&prefn1=Size&prefv1=30\"},{\"name\":\"32\",\"url\":\"\\/sa\\/plus-size\\/?cgid=SA_Plus_Size_579&prefn1=Size&prefv1=32\"},{\"name\":\"34\",\"url\":\"\\/sa\\/plus-size\\/?cgid=SA_Plus_Size_579&prefn1=Size&prefv1=34\"},{\"name\":\"36\",\"url\":\"\\/sa\\/plus-size\\/?cgid=SA_Plus_Size_579&prefn1=Size&prefv1=36\"},{\"name\":\"38\",\"url\":\"\\/sa\\/plus-size\\/?cgid=SA_Plus_Size_579&prefn1=Size&prefv1=38\"},{\"name\":\"40\",\"url\":\"\\/sa\\/plus-size\\/?cgid=SA_Plus_Size_579&prefn1=Size&prefv1=40\"},{\"name\":\"42\",\"url\":\"\\/sa\\/plus-size\\/?cgid=SA_Plus_Size_579&prefn1=Size&prefv1=42\"},{\"name\":\"44\",\"url\":\"\\/sa\\/plus-size\\/?cgid=SA_Plus_Size_579&prefn1=Size&prefv1=44\"}]},{\"items\":[{\"name\":\"Sort By\",\"url\":\"\"},{\"name\":\"Lowest Price\",\"url\":\"\\/sa\\/plus-size\\/?cgid=SA_Plus_Size_579&srule=price+asc\"},{\"name\":\"Highest Price\",\"url\":\"\\/sa\\/plus-size\\/?cgid=SA_Plus_Size_579&srule=price+desc\"},{\"name\":\"Top Rated\",\"url\":\"\\/sa\\/plus-size\\/?cgid=SA_Plus_Size_579&srule=review_average+desc\"},{\"name\":\"Price\",\"url\":\"\"},{\"name\":\"Under $20\",\"url\":\"\\/sa\\/plus-size\\/?cgid=SA_Plus_Size_579&pmax=19.99&pmin=0\"},{\"name\":\"$20 - $39.99\",\"url\":\"\\/sa\\/plus-size\\/?cgid=SA_Plus_Size_579&pmax=39.99&pmin=20\"},{\"name\":\"$40 - $59.99\",\"url\":\"\\/sa\\/plus-size\\/?cgid=SA_Plus_Size_579&pmax=59.99&pmin=40\"},{\"name\":\"$60 - $79.99\",\"url\":\"\\/sa\\/plus-size\\/?cgid=SA_Plus_Size_579&pmax=79.99&pmin=60\"},{\"name\":\"Fit Help\",\"url\":\"\"},{\"name\":\"Swimsuit Fit Guide\",\"url\":\"\\/c\\/fit-guide-sa.html\"},{\"name\":\"How To Measure\",\"url\":\"\\/c\\/fit-guide-sa.html#how-to-measure\"},{\"name\":\"About Us\",\"url\":\"\\/c\\/about-us-sa.html\"},{\"name\":\"Get Your True Fit\",\"url\":\"\\/c\\/s4a-truefit.html\"}]}]},{\"heading\":\"Sandals & Accessories\",\"columns\":[{\"items\":[{\"name\":\"Category\",\"url\":\"\"},{\"name\":\"All Sandals & Accessories \",\"url\":\"\\/sa\\/sandals-and-accessories\\/\"},{\"name\":\"Sandals\",\"url\":\"\\/sa\\/sandals-and-accessories\\/sandals\\/\"},{\"name\":\"Casual Sandals\",\"url\":\"\\/sa\\/sandals-and-accessories\\/sandals\\/casual-sandals\\/\"},{\"name\":\"Dress Sandals\",\"url\":\"\\/sa\\/sandals-and-accessories\\/sandals\\/dress-sandals\\/\"},{\"name\":\"Sport Sandals\",\"url\":\"\\/sa\\/sandals-and-accessories\\/sandals\\/sport-sandals\\/\"},{\"name\":\"Sneakers\",\"url\":\"\\/sa\\/sandals-and-accessories\\/sneakers\\/\"},{\"name\":\"Wedges\",\"url\":\"\\/sa\\/sandals-and-accessories\\/wedges\\/\"},{\"name\":\"All Accessories\",\"url\":\"\\/sa\\/sandals-and-accessories\\/accessories\\/\"},{\"name\":\"Sunglasses\",\"url\":\"\\/sa\\/sandals-and-accessories\\/accessories\\/sunglasses\\/\"},{\"name\":\"All Suncare & Beauty\",\"url\":\"\\/sa\\/sandals-and-accessories\\/bath-and-body\\/\"},{\"name\":\"Sales & Offers\",\"url\":\"\"},{\"name\":\"Clearance - Up to 80% OFF\",\"url\":\"\\/sa\\/clearance\\/shoes\\/\"},{\"name\":\"Offers & Coupons\",\"url\":\"\\/offers-coupons\"}]},{\"items\":[{\"name\":\"Shoe Sizes\",\"url\":\"\"},{\"name\":\"5\",\"url\":\"\\/sa\\/sandals-and-accessories\\/sandals\\/?cgid=SA_Sandals&prefn1=Size&prefv1=5\"},{\"name\":\"5.5\",\"url\":\"\\/sa\\/sandals-and-accessories\\/sandals\\/?cgid=SA_Sandals&prefn1=Size&prefv1=5\"},{\"name\":\"6\",\"url\":\"\\/sa\\/sandals-and-accessories\\/sandals\\/?cgid=SA_Sandals&prefn1=Size&prefv1=6\"},{\"name\":\"6.5\",\"url\":\"\\/sa\\/sandals-and-accessories\\/sandals\\/?cgid=SA_Sandals&prefn1=Size&prefv1=6+1%2F2\"},{\"name\":\"7\",\"url\":\"\\/sa\\/sandals-and-accessories\\/sandals\\/?cgid=SA_Sandals&prefn1=Size&prefv1=7\"},{\"name\":\"7.5\",\"url\":\"\\/sa\\/sandals-and-accessories\\/sandals\\/?cgid=SA_Sandals&prefn1=Size&prefv1=7+1%2F2\"},{\"name\":\"8\",\"url\":\"\\/sa\\/sandals-and-accessories\\/sandals\\/?cgid=SA_Sandals&prefn1=Size&prefv1=8\"},{\"name\":\"8.5\",\"url\":\"\\/sa\\/sandals-and-accessories\\/sandals\\/?cgid=SA_Sandals&prefn1=Size&prefv1=8+1%2F2\"},{\"name\":\"9\",\"url\":\"\\/sa\\/sandals-and-accessories\\/sandals\\/?cgid=SA_Sandals&prefn1=Size&prefv1=9\"},{\"name\":\"9.5\",\"url\":\"\\/sa\\/sandals-and-accessories\\/sandals\\/?cgid=SA_Sandals&prefn1=Size&prefv1=9+1%2F2\"},{\"name\":\"10\",\"url\":\"\\/sa\\/sandals-and-accessories\\/sandals\\/?cgid=SA_Sandals&prefn1=Size&prefv1=10\"},{\"name\":\"10.5\",\"url\":\"\\/sa\\/sandals-and-accessories\\/sandals\\/?cgid=SA_Sandals&prefn1=Size&prefv1=10+1%2F2\"},{\"name\":\"11\",\"url\":\"\\/sa\\/sandals-and-accessories\\/sandals\\/?cgid=SA_Sandals&prefn1=Size&prefv1=11\"},{\"name\":\"11.5\",\"url\":\"\\/sa\\/sandals-and-accessories\\/sandals\\/?cgid=SA_Sandals&prefn1=Size&prefv1=11+1%2F2\"},{\"name\":\"12\",\"url\":\"\\/sa\\/sandals-and-accessories\\/sandals\\/?cgid=SA_Sandals&prefn1=Size&prefv1=12\"},{\"name\":\"13\",\"url\":\"\\/sa\\/sandals-and-accessories\\/sandals\\/?cgid=SA_Sandals&prefn1=Size&prefv1=13\"}]},{\"items\":[{\"name\":\"Shoe Width\",\"url\":\"\"},{\"name\":\"Narrow\",\"url\":\"\\/sa\\/sandals-and-accessories\\/sandals\\/?cgid=SA_Sandals&prefn1=Shoe+Width&prefv1=Narrow\"},{\"name\":\"Medium\",\"url\":\"\\/sa\\/sandals-and-accessories\\/sandals\\/?cgid=SA_Sandals&prefn1=Shoe+Width&prefv1=Medium\"},{\"name\":\"Wide\",\"url\":\"\\/sa\\/sandals-and-accessories\\/sandals\\/?cgid=SA_Sandals&prefn1=Shoe+Width&prefv1=Wide\"},{\"name\":\"Wide Wide\",\"url\":\"\\/sa\\/sandals-and-accessories\\/sandals\\/?cgid=SA_Sandals&prefn1=Shoe+Width&prefv1=Wide+Wide\"},{\"name\":\"Extra Wide\",\"url\":\"\\/sa\\/sandals-and-accessories\\/sandals\\/?cgid=SA_Sandals&prefn1=Shoe+Width&prefv1=Extra+Wide\"},{\"name\":\"Sort By\",\"url\":\"\"},{\"name\":\"Lowest Price\",\"url\":\"\\/sa\\/sandals-and-accessories\\/?srule=price+asc\"},{\"name\":\"Highest Price\",\"url\":\"\\/sa\\/sandals-and-accessories\\/?srule=price+desc\"},{\"name\":\"Top Rated\",\"url\":\"\\/sa\\/sandals-and-accessories\\/?srule=review_average+desc\"},{\"name\":\"Price\",\"url\":\"\"},{\"name\":\"Under $20\",\"url\":\"\\/sa\\/sandals-and-accessories\\/?cgid=SA_Shoes_and_Accessories&pmax=19.99&pmin=0\"},{\"name\":\"$20 - $39.99\",\"url\":\"\\/sa\\/sandals-and-accessories\\/?cgid=SA_Shoes_and_Accessories&pmax=39.99&pmin=20\"},{\"name\":\"$40 - $59.99\",\"url\":\"\\/sa\\/sandals-and-accessories\\/?cgid=SA_Shoes_and_Accessories&pmax=59.99&pmin=40\"},{\"name\":\"$60 - $79.99\",\"url\":\"\\/sa\\/sandals-and-accessories\\/?cgid=SA_Shoes_and_Accessories&pmax=79.99&pmin=60\"},{\"name\":\"$80 - $99.99\",\"url\":\"\\/sa\\/sandals-and-accessories\\/?cgid=SA_Shoes_and_Accessories&pmax=99.99&pmin=80\"}]}]}]}];//jQuery Observe\n//https://github.com/kapetan/jquery-observe\n((jQuery.Observe = {}),\n  (function (t, e) {\n    var r = function (e, r) {\n      r || ((r = e), (e = window.document));\n      var i = [];\n      return (\n        t(r).each(function () {\n          for (\n            var r = [], n = t(this), a = n.parent();\n            a.length && !n.is(e);\n            a = a.parent()\n          ) {\n            var o = n.get(0).tagName.toLowerCase();\n            (r.push(o + \":eq(\" + a.children(o).index(n) + \")\"), (n = a));\n          }\n          (a.length || n.is(e)) && i.push(\"> \" + r.reverse().join(\" > \"));\n        }),\n        i.join(\", \")\n      );\n    };\n    e.path = {\n      get: r,\n      capture: function (e, i) {\n        i || ((i = e), (e = window.document));\n        var n = [];\n        return (\n          t(i).each(function () {\n            var i = -1,\n              a = this;\n            if (this instanceof Text)\n              for (\n                var o = (a = this.parentNode).childNodes, s = 0;\n                s < o.length;\n                s++\n              )\n                if (o[s] === this) {\n                  i = s;\n                  break;\n                }\n            var c = r(e, a),\n              h = t(e).is(a);\n            n.push(function (e) {\n              var r = h ? e : t(e).find(c);\n              return -1 === i ? r : r.contents()[i];\n            });\n          }),\n          function (e) {\n            return (\n              (e = e || window.document),\n              n.reduce(function (t, r) {\n                return t.add(r(e));\n              }, t([]))\n            );\n          }\n        );\n      },\n    };\n  })(jQuery, jQuery.Observe),\n  (function (t, e) {\n    var r = function (e) {\n      ((this.original = t(e)), (this.root = this.original.clone(!1, !0)));\n    };\n    ((r.prototype.find = function (t) {\n      return e.path.capture(this.original, t)(this.root);\n    }),\n      (e.Branch = r));\n  })(jQuery, jQuery.Observe),\n  (function (t, e) {\n    var r = function (t, e) {\n        var r = {};\n        return (\n          t.forEach(function (t) {\n            var i = e(t);\n            i && (r[i[0]] = i[1]);\n          }),\n          r\n        );\n      },\n      i = r(\n        [\n          \"childList\",\n          \"attributes\",\n          \"characterData\",\n          \"subtree\",\n          \"attributeOldValue\",\n          \"characterDataOldValue\",\n          \"attributeFilter\",\n        ],\n        function (t) {\n          return [t.toLowerCase(), t];\n        },\n      ),\n      n = r(Object.keys(i), function (t) {\n        if (\"attributefilter\" !== t) return [i[t], !0];\n      }),\n      a = r([\"added\", \"removed\"], function (t) {\n        return [t.toLowerCase(), t];\n      }),\n      o = t([]),\n      s = function (t) {\n        if (\"object\" == typeof t) return t;\n        t = t.split(/\\s+/);\n        var e = {};\n        return (\n          t.forEach(function (t) {\n            if (((t = t.toLowerCase()), !i[t] && !a[t]))\n              throw new Error(\"Unknown option \" + t);\n            e[i[t] || a[t]] = !0;\n          }),\n          e\n        );\n      },\n      c = function (t) {\n        return (\n          \"[\" +\n          Object.keys(t)\n            .sort()\n            .reduce(function (e, r) {\n              var i = t[r] && \"object\" == typeof t[r] ? c(t[r]) : t[r];\n              return e + \"[\" + JSON.stringify(r) + \":\" + i + \"]\";\n            }, \"\") +\n          \"]\"\n        );\n      },\n      h = window.MutationObserver || window.WebKitMutationObserver,\n      d = function (e, r, i, n) {\n        ((this._originalOptions = t.extend({}, r)),\n          (r = t.extend({}, r)),\n          (this.attributeFilter = r.attributeFilter),\n          delete r.attributeFilter,\n          i && (r.subtree = !0),\n          r.childList && ((r.added = !0), (r.removed = !0)),\n          (r.added || r.removed) && (r.childList = !0),\n          (this.target = t(e)),\n          (this.options = r),\n          (this.selector = i),\n          (this.handler = n));\n      };\n    ((d.prototype.is = function (t, e, r) {\n      return (\n        c(this._originalOptions) === c(t) &&\n        this.selector === e &&\n        this.handler === r\n      );\n    }),\n      (d.prototype.match = function (e) {\n        var r = this.options,\n          i = e.type;\n        if (!this.options[i]) return o;\n        if (this.selector)\n          switch (i) {\n            case \"attributes\":\n              if (!this._matchAttributeFilter(e)) break;\n            case \"characterData\":\n              return this._matchAttributesAndCharacterData(e);\n            case \"childList\":\n              if (e.addedNodes && e.addedNodes.length && r.added) {\n                var n = this._matchAddedNodes(e);\n                if (n.length) return n;\n              }\n              if (e.removedNodes && e.removedNodes.length && r.removed)\n                return this._matchRemovedNodes(e);\n          }\n        else {\n          var a = e.target instanceof Text ? t(e.target).parent() : t(e.target);\n          if (!r.subtree && a.get(0) !== this.target.get(0)) return o;\n          switch (i) {\n            case \"attributes\":\n              if (!this._matchAttributeFilter(e)) break;\n            case \"characterData\":\n              return this.target;\n            case \"childList\":\n              if (\n                (e.addedNodes && e.addedNodes.length && r.added) ||\n                (e.removedNodes && e.removedNodes.length && r.removed)\n              )\n                return this.target;\n          }\n        }\n        return o;\n      }),\n      (d.prototype._matchAttributesAndCharacterData = function (t) {\n        return this._matchSelector(this.target, [t.target]);\n      }),\n      (d.prototype._matchAddedNodes = function (t) {\n        return this._matchSelector(this.target, t.addedNodes);\n      }),\n      (d.prototype._matchRemovedNodes = function (r) {\n        var i = new e.Branch(this.target),\n          n = Array.prototype.slice.call(r.removedNodes).map(function (t) {\n            return t.cloneNode(!0);\n          });\n        return (\n          r.previousSibling\n            ? i.find(r.previousSibling).after(n)\n            : r.nextSibling\n              ? i.find(r.nextSibling).before(n)\n              : i.find(r.target).empty().append(n),\n          this._matchSelector(i.root, n).length ? t(r.target) : o\n        );\n      }),\n      (d.prototype._matchSelector = function (e, r) {\n        var i = e.find(this.selector);\n        return (\n          (r = Array.prototype.slice.call(r)),\n          (i = i.filter(function () {\n            var e = this;\n            return r.some(function (r) {\n              return r instanceof Text\n                ? r.parentNode === e\n                : r === e || t(r).has(e).length;\n            });\n          }))\n        );\n      }),\n      (d.prototype._matchAttributeFilter = function (t) {\n        return (\n          !this.attributeFilter ||\n          !this.attributeFilter.length ||\n          this.attributeFilter.indexOf(t.attributeName) >= 0\n        );\n      }));\n    var u = function (t) {\n      ((this.patterns = []), (this._target = t), (this._observer = null));\n    };\n    ((u.prototype.observe = function (t, e, r) {\n      var i = this;\n      (this._observer\n        ? this._observer.disconnect()\n        : (this._observer = new h(function (t) {\n            t.forEach(function (t) {\n              i.patterns.forEach(function (e) {\n                var r = e.match(t);\n                r.length &&\n                  r.each(function () {\n                    e.handler.call(this, t);\n                  });\n              });\n            });\n          })),\n        this.patterns.push(new d(this._target, t, e, r)),\n        this._observer.observe(this._target, this._collapseOptions()));\n    }),\n      (u.prototype.disconnect = function (t, e, r) {\n        var i = this;\n        this._observer &&\n          (this.patterns\n            .filter(function (i) {\n              return i.is(t, e, r);\n            })\n            .forEach(function (t) {\n              var e = i.patterns.indexOf(t);\n              i.patterns.splice(e, 1);\n            }),\n          this.patterns.length || this._observer.disconnect());\n      }),\n      (u.prototype.disconnectAll = function () {\n        this._observer && ((this.patterns = []), this._observer.disconnect());\n      }),\n      (u.prototype.pause = function () {\n        this._observer && this._observer.disconnect();\n      }),\n      (u.prototype.resume = function () {\n        this._observer &&\n          this._observer.observe(this._target, this._collapseOptions());\n      }),\n      (u.prototype._collapseOptions = function () {\n        var e = {};\n        return (\n          this.patterns.forEach(function (r) {\n            var i = e.attributes && e.attributeFilter;\n            if ((!i && e.attributes) || !r.attributeFilter)\n              i &&\n                r.options.attributes &&\n                !r.attributeFilter &&\n                delete e.attributeFilter;\n            else {\n              var n = (e.attributeFilter || []).concat(r.attributeFilter),\n                a = {},\n                o = [];\n              (n.forEach(function (t) {\n                a[t] || (o.push(t), (a[t] = 1));\n              }),\n                (e.attributeFilter = o));\n            }\n            t.extend(e, r.options);\n          }),\n          Object.keys(a).forEach(function (t) {\n            delete e[a[t]];\n          }),\n          e\n        );\n      }));\n    var l = function (t) {\n      ((this.patterns = []),\n        (this._paused = !1),\n        (this._target = t),\n        (this._events = {}),\n        (this._handler = this._handler.bind(this)));\n    };\n    ((l.prototype.NS = \".jQueryObserve\"),\n      (l.prototype.observe = function (e, r, i) {\n        var n = new d(this._target, e, r, i);\n        t(this._target);\n        (n.options.childList &&\n          (this._addEvent(\"DOMNodeInserted\"), this._addEvent(\"DOMNodeRemoved\")),\n          n.options.attributes && this._addEvent(\"DOMAttrModified\"),\n          n.options.characterData && this._addEvent(\"DOMCharacerDataModified\"),\n          this.patterns.push(n));\n      }),\n      (l.prototype.disconnect = function (e, r, i) {\n        var n = t(this._target),\n          a = this;\n        this.patterns\n          .filter(function (t) {\n            return t.is(e, r, i);\n          })\n          .forEach(function (t) {\n            var e = a.patterns.indexOf(t);\n            a.patterns.splice(e, 1);\n          });\n        var o = this.patterns.reduce(function (t, e) {\n          return (\n            e.options.childList &&\n              ((t.DOMNodeInserted = !0), (t.DOMNodeRemoved = !0)),\n            e.options.attributes && (t.DOMAttrModified = !0),\n            e.options.characterData && (t.DOMCharacerDataModified = !0),\n            t\n          );\n        }, {});\n        Object.keys(this._events).forEach(function (t) {\n          o[t] || (delete a._events[t], n.off(t + a.NS, a._handler));\n        });\n      }),\n      (l.prototype.disconnectAll = function () {\n        var e = t(this._target);\n        for (var r in this._events) e.off(r + this.NS, this._handler);\n        ((this._events = {}), (this.patterns = []));\n      }),\n      (l.prototype.pause = function () {\n        this._paused = !0;\n      }),\n      (l.prototype.resume = function () {\n        this._paused = !1;\n      }),\n      (l.prototype._handler = function (e) {\n        if (!this._paused) {\n          var r = {\n            type: null,\n            target: null,\n            addedNodes: null,\n            removedNodes: null,\n            previousSibling: null,\n            nextSibling: null,\n            attributeName: null,\n            attributeNamespace: null,\n            oldValue: null,\n          };\n          switch (e.type) {\n            case \"DOMAttrModified\":\n              ((r.type = \"attributes\"),\n                (r.target = e.target),\n                (r.attributeName = e.attrName),\n                (r.oldValue = e.prevValue));\n              break;\n            case \"DOMCharacerDataModified\":\n              ((r.type = \"characterData\"),\n                (r.target = t(e.target).parent().get(0)),\n                (r.attributeName = e.attrName),\n                (r.oldValue = e.prevValue));\n              break;\n            case \"DOMNodeInserted\":\n              ((r.type = \"childList\"),\n                (r.target = e.relatedNode),\n                (r.addedNodes = [e.target]),\n                (r.removedNodes = []));\n              break;\n            case \"DOMNodeRemoved\":\n              ((r.type = \"childList\"),\n                (r.target = e.relatedNode),\n                (r.addedNodes = []),\n                (r.removedNodes = [e.target]));\n          }\n          for (var i = 0; i < this.patterns.length; i++) {\n            var n = this.patterns[i],\n              a = n.match(r);\n            a.length &&\n              a.each(function () {\n                n.handler.call(this, r);\n              });\n          }\n        }\n      }),\n      (l.prototype._addEvent = function (e) {\n        this._events[e] ||\n          (t(this._target).on(e + this.NS, this._handler),\n          (this._events[e] = !0));\n      }),\n      (e.Pattern = d),\n      (e.MutationObserver = u),\n      (e.DOMEventObserver = l),\n      (t.fn.observe = function (e, r, i) {\n        return (\n          r ? i || ((i = r), (r = null)) : ((i = e), (e = n)),\n          this.each(function () {\n            var n = t(this),\n              a = n.data(\"observer\");\n            (a || ((a = h ? new u(this) : new l(this)), n.data(\"observer\", a)),\n              (e = s(e)),\n              a.observe(e, r, i));\n          })\n        );\n      }),\n      (t.fn.disconnect = function (e, r, i) {\n        return (\n          e && (r ? i || ((i = r), (r = null)) : ((i = e), (e = n))),\n          this.each(function () {\n            var n = t(this),\n              a = n.data(\"observer\");\n            if (a) {\n              if (!e) return (a.disconnectAll(), void n.removeData(\"observer\"));\n              ((e = s(e)), a.disconnect(e, r, i));\n            }\n          })\n        );\n      }));\n  })(jQuery, jQuery.Observe));\n\nfunction deferTaxonomy(method) {\n  if (window.jQuery && typeof utag_data !== \"undefined\") {\n    method();\n  } else {\n    setTimeout(function () {\n      deferTaxonomy(method);\n    }, 50);\n  }\n}\n\ndeferTaxonomy(function () {\n  var $menuContainer = $(\".main-menu .navbar\").first();\n  window.atMenuVariant = window.atMenuVariant || \"\"; //Variable set by other campaigns\n\n  //{DEALS LINK} - SFCC links with the following terms are eligible to be displayed as deals links\n\n  var dealsLinkQualifiers = [\n    \"$\",\n    \"%\",\n    \"Sale\",\n    \"Save More\",\n    \"Special Collection\",\n    \"Deal\",\n    \"Clear the Warehouse\",\n    \"Black Friday\",\n    \"Specials\",\n    \"Steals\",\n    \"BOGO\",\n    \"Free\",\n    \"Blowout\",\n    \"Event\",\n    \"Best Selling Summer Sandals\",\n    \"Buster\",\n  ];\n  function isJson(str) {\n    try {\n      JSON.parse(str);\n    } catch (e) {\n      return false;\n    }\n    return true;\n  }\n  function atBuildMenu(t, subMenu) {\n    var html = \"\";\n    var innerHtml = \"\";\n    var menuCount = 0;\n    var brandKey = $(\"body\").attr(\"data-brand-id\");\n\n    if (subMenu) {\n      var columns = subMenu.columns;\n      for (var i = 0; i < columns.length; i++) {\n        if (i > 5) {\n          //console.log('More than 6 Columns')\n          break;\n        }\n        if (columns[i].items.length > 0) {\n          menuCount++;\n          //var id = 'at'+columns[i].heading.replace(/[\\W_]+/g,\"\");\n          var id = \"atColumn\" + subMenu.heading.replace(/[\\W_]+/g, \"\") + i;\n          innerHtml += '<div class=\"at-ab-nav-col\">';\n          innerHtml +=\n            '<ul class=\"at-dropdown-menu dropdown-menu\" role=\"presentation\" aria-hidden=\"true\" data-menu-of=\"' +\n            id +\n            '\" aria-label=\"' +\n            subMenu.heading +\n            ' Menu\">';\n          for (var m = 0; m < columns[i].items.length; m++) {\n            var link = columns[i].items[m];\n            if (\n              link.name.indexOf(\"{DEALS LINK}\") > -1 ||\n              link.url.indexOf(\"{DEALS LINK}\") > -1\n            ) {\n              var dealsLink = \"\";\n              t.find(\"a.dropdown-link\")\n                .not(\".at-used\")\n                .each(function (index) {\n                  if (!$(this).parent().hasClass(\"d-lg-none\")) {\n                    var matchText = $.trim($(this).text().toLowerCase());\n                    for (var n = 0; n < dealsLinkQualifiers.length; n++) {\n                      var matchQualifier = dealsLinkQualifiers[n].toLowerCase();\n                      if (matchText.indexOf(matchQualifier) > -1) {\n                        dealsLink = $(this);\n                        return false;\n                      }\n                    }\n                  }\n                });\n              if (dealsLink !== \"\") {\n                dealsLink.addClass(\"at-used\");\n                innerHtml +=\n                  '<li class=\"at-dropdown-menu-item\"><a class=\"at-dropdown-link\" href=\"' +\n                  dealsLink.attr(\"href\") +\n                  '\">' +\n                  dealsLink.text() +\n                  \"</a></li>\";\n              }\n            } else if (link.name.indexOf('\"src\"') > -1) {\n              if (isJson(link.name)) {\n                var promo = JSON.parse(link.name);\n                innerHtml +=\n                  '<li class=\"at-dropdown-menu-item at-dropdown-menu-promo\">';\n                if (promo.hasOwnProperty(\"src\")) {\n                  var alt = \"\";\n                  if (promo.hasOwnProperty(\"alt\")) {\n                    alt = promo.alt;\n                  }\n                  //innerHtml += '<a href=\"'+link.url+'\" class=\"at-dropdown-menu-promo-img\"><img data-src=\"'+promo.src+'\" alt=\"'+alt+'\" class=\"lazyOffscreen\"></a>';\n                  innerHtml +=\n                    '<a href=\"' +\n                    link.url +\n                    '\" class=\"at-dropdown-menu-promo-img\"><img src=\"' +\n                    promo.src +\n                    '\" alt=\"' +\n                    alt +\n                    '\" style=\"width: 100%;\"></a>';\n                  if (promo.hasOwnProperty(\"cta\")) {\n                    innerHtml +=\n                      '<a class=\"at-dropdown-link\" href=\"' +\n                      link.url +\n                      '\">' +\n                      promo.cta +\n                      \"</a>\";\n                  }\n                }\n                innerHtml += \"</li>\";\n              }\n            } else if (link.url == \"\") {\n              var brandKey = $(\"body\").attr(\"data-brand-id\");\n              var cssClass = \"\";\n              if (m == 0) {\n                cssClass += \"at-dropdown-menu-heading-first\";\n              }\n              if (brandKey == \"sa\") {\n                cssClass += \" brand-font-2\";\n              }\n              innerHtml +=\n                '<li class=\"at-dropdown-menu-heading ' +\n                cssClass +\n                ' h5\">' +\n                link.name +\n                \"</li>\";\n            } else {\n              innerHtml +=\n                '<li class=\"at-dropdown-menu-item\"><a class=\"at-dropdown-link\" href=\"' +\n                link.url +\n                '\">' +\n                link.name +\n                \"</a></li>\";\n            }\n          }\n          innerHtml += \"</ul>\";\n          innerHtml += \"</div>\";\n        }\n      }\n\n      if (menuCount > 0) {\n        html += '<div class=\"at-ab-nav\">';\n        html +=\n          '<div class=\"menu-container at-menu-container at-menu-container-' +\n          menuCount +\n          ' position-lg-absolute\">';\n        html += '<div class=\"at-ab-nav-container-max-width\">';\n        html += '<div class=\"at-ab-nav-container\">';\n        html += '<div class=\"at-ab-nav-row\">';\n        html += innerHtml;\n        html += \"</div>\";\n        html += \"</div>\";\n        html += \"</div>\";\n        html += \"</div>\";\n        html += \"</div>\";\n      }\n    }\n    return html;\n  }\n\n  function asciiToText(str) {\n    return str.replace(/&#(\\d+);/g, function (match, dec) {\n      return String.fromCharCode(dec);\n    });\n  }\n\n  function atFindSubNav(menu, heading) {\n    var subMenu = false;\n    var headingTextLowercase = $.trim(heading.toLowerCase());\n    headingTextLowercase = asciiToText(headingTextLowercase);\n\n    if (menu.length > 0) {\n      for (var i = 0; i < menu.length; i++) {\n        var menuHeadingLowercase = $.trim(menu[i].heading.toLowerCase());\n        menuHeadingLowercase = asciiToText(menuHeadingLowercase);\n        menuHeadingLowercase = menuHeadingLowercase.replace(\"&eacute;\", \"é\");\n        menuHeadingLowercase = menuHeadingLowercase.replace(\"&rsquo;\", \"’\");\n        menuHeadingLowercase = menuHeadingLowercase.replace(\"&apos;\", \"'\");\n        menuHeadingLowercase = menuHeadingLowercase.replace(/\\?\\?/g, \"\");\n        menuHeadingLowercase = $.trim(menuHeadingLowercase);\n        if (headingTextLowercase == menuHeadingLowercase) {\n          subMenu = menu[i];\n          break;\n        }\n      }\n    }\n    if (!subMenu) {\n      menu.push({\n        heading: heading,\n        columns: [],\n      });\n      subMenu = menu[menu.length - 1];\n    }\n    return subMenu;\n  }\n\n  function handleize(text) {\n    return text\n      .toString()\n      .toLowerCase()\n      .replace(/\\s+/g, \"-\")\n      .replace(/[^\\w\\-]+/g, \"\")\n      .replace(/\\-\\-+/g, \"-\")\n      .replace(/^-+/, \"\")\n      .replace(/-+$/, \"\");\n  }\n\n  function atBuildMobileMenu(heading, items) {\n    var html = \"\";\n    var menuCount = 0;\n\n    var l1Menu = \"\";\n    $(\".navbar-nav .nav-item.dropdown.level2\").each(function (index) {\n      var existingMenuName = $.trim(\n        $(this).find(\"a\").first().text().toLowerCase(),\n      );\n      if (heading.toLowerCase() == existingMenuName) {\n        l1Menu = $(this);\n        return false;\n      }\n    });\n\n    html +=\n      '<li class=\"nav-item dropdown position-static position-lg-static level2 at-dropdown-menu-mobile\" role=\"presentation\">';\n    if (heading !== \"\") {\n      var l1Handle = \"atL1\" + handleize(heading);\n      html +=\n        '<a href=\"#\" id=\"' +\n        l1Handle +\n        '\" class=\"nav-link dropdown-toggle text-lg-left \" role=\"button\" data-toggle=\"dropdown\" aria-haspopup=\"true\" aria-expanded=\"false\" tabindex=\"0\" style=\"\">';\n      html += \"<span>\" + heading + \"</span>\";\n      html += '<i class=\"fa fa-angle-right d-lg-none\"></i>';\n      html += \"</a>\";\n\n      html += '<div class=\"menu-container position-lg-absolute\">';\n      html +=\n        '<ul class=\"dropdown-menu\" role=\"presentation\" aria-hidden=\"true\" data-menu-of=\"' +\n        l1Handle +\n        '\" aria-label=\"' +\n        heading +\n        ' Menu\">';\n\n      if (l1Menu !== \"\") {\n        var originalL1 = l1Menu.find(\".dropdown-toggle\").first();\n        if (originalL1.length > 0) {\n          html +=\n            '<li class=\"dropdown-item d-lg-none\" role=\"presentation\" data-child-item-of=\"' +\n            l1Handle +\n            '\" data-move-to=\"false\">';\n          html +=\n            '<a href=\"' +\n            originalL1.attr(\"href\") +\n            '\" role=\"menuitem\" class=\"dropdown-link\" tabindex=\"0\" style=\"\">VIEW ALL ' +\n            heading +\n            \"</a>\";\n          html += \"</li>\";\n        }\n      }\n\n      for (var i = 0; i < items.length; i++) {\n        var l2 = items[i];\n        var l2Handle = \"atL2\" + handleize(l2.heading);\n\n        html +=\n          '<li class=\"dropdown-item dropdown hide-child-categories level3\" role=\"presentation\">';\n        html +=\n          '<a href=\"#\" id=\"' +\n          l2Handle +\n          '\" class=\"dropdown-link dropdown-toggle\" role=\"button\" data-toggle=\"dropdown\" aria-haspopup=\"true\" aria-expanded=\"false\" tabindex=\"0\" style=\"\">';\n        html += \"<span>\" + l2.heading + \"</span>\";\n        html += '<i class=\"fa fa-angle-right d-lg-none\"></i>';\n        html += \"</a>\";\n\n        html +=\n          '<ul class=\"dropdown-menu\" role=\"presentation\" aria-hidden=\"true\" data-menu-of=\"' +\n          l2Handle +\n          '\" aria-label=\"' +\n          l2.heading +\n          '\">';\n        for (var m = 0; m < l2.items.length; m++) {\n          var l3 = l2.items[m];\n\n          var l3url = l3.url;\n          var l3name = l3.name;\n          var showLink = true;\n          if (l3name == \"{DEALS LINK}\") {\n            if (l1Menu !== \"\") {\n              var dealsLink = \"\";\n              l1Menu\n                .find(\"a.dropdown-link\")\n                .not(\".at-dropdown-link\")\n                .not(\".at-used-mobile\")\n                .each(function (index) {\n                  var matchText = $.trim($(this).text().toLowerCase());\n                  for (var n = 0; n < dealsLinkQualifiers.length; n++) {\n                    var matchQualifier = dealsLinkQualifiers[n].toLowerCase();\n                    if (matchText.indexOf(matchQualifier) > -1) {\n                      dealsLink = $(this);\n                      return false;\n                    }\n                  }\n                });\n              if (dealsLink !== \"\") {\n                dealsLink.addClass(\"at-used-mobile\");\n                l3url = dealsLink.attr(\"href\");\n                l3name = dealsLink.text();\n              } else {\n                showLink = false;\n              }\n            } else {\n              showLink = false;\n            }\n          }\n          if (showLink) {\n            html +=\n              '<li class=\"dropdown-item level4 d-lg-none \" role=\"presentation\" data-child-item-of=\"' +\n              l2Handle +\n              '\" data-move-to=\"false\">';\n            html +=\n              '<a href=\"' +\n              l3url +\n              '\" role=\"menuitem\" class=\"dropdown-link\" tabindex=\"0\" style=\"\">' +\n              l3name +\n              \"</a>\";\n            html += \"</li>\";\n          }\n        }\n        html += \"</ul>\";\n        html += \"</li>\";\n      }\n\n      html += \"</ul>\";\n      html += \"</div>\";\n    }\n\n    html += \"</li>\";\n    return html;\n  }\n  function eligibleForMobileNav(subMenu) {\n    var valid = false;\n    if (subMenu.items.length > 0) {\n      for (var i = 0; i < subMenu.items.length; i++) {\n        var link = subMenu.items[i];\n        if (\n          link.url.indexOf(\"prefn\") < 0 &&\n          link.url.indexOf(\"pmax\") < 0 &&\n          link.url.indexOf(\"pmin\") < 0 &&\n          link.url.indexOf(\"srule\") < 0 &&\n          link.name.indexOf(\"src:\") < 0 &&\n          link.name.indexOf('\"src\"') < 0\n        ) {\n          valid = true;\n          break;\n        }\n      }\n    } else {\n      valid = true;\n    }\n    return valid;\n  }\n  function atMobileNav(brandObj) {\n    var menu = brandObj.menu;\n    var html = \"\";\n    for (var i = 0; i < menu.length; i++) {\n      var subMenu = menu[i];\n      var columns = subMenu.columns;\n      var columnsMerged = [];\n      var l3Items = [];\n      var curl3Items = {\n        heading: \"\",\n        items: [],\n      };\n\n      //Remove column structure for mobile menu for easier parsing\n      for (var m = 0; m < subMenu.columns.length; m++) {\n        var column = subMenu.columns[m];\n        for (var n = 0; n < column.items.length; n++) {\n          columnsMerged.push(column.items[n]);\n        }\n      }\n      for (var m = 0; m < columnsMerged.length; m++) {\n        var item = columnsMerged[m];\n        if (item.url == \"\" && item.name !== \"{DEALS LINK}\") {\n          if (curl3Items.items.length > 0) {\n            if (window.atMenuMode == \"mobile\") {\n              if (eligibleForMobileNav(curl3Items)) {\n                l3Items.push(curl3Items);\n              }\n            } else {\n              l3Items.push(curl3Items);\n            }\n            curl3Items = {\n              heading: \"\",\n              items: [],\n            };\n          }\n          curl3Items.heading = item.name;\n        } else {\n          curl3Items.items.push(item);\n        }\n      }\n\n      if (curl3Items.items.length > 0) {\n        if (window.atMenuMode == \"mobile\") {\n          if (eligibleForMobileNav(curl3Items)) {\n            l3Items.push(curl3Items);\n          }\n        } else {\n          l3Items.push(curl3Items);\n        }\n      }\n\n      html += atBuildMobileMenu(subMenu.heading, l3Items);\n    }\n    return html;\n  }\n\n  function atProcessNav(brandObj, brand) {\n    var menu = brandObj.menu;\n\n    if (window.atMenuMode !== \"mobile\") {\n      $menuContainer\n        .find(\".nav-item\")\n        .not(\".d-lg-none\")\n        .each(function (index) {\n          var $heading = $(this)\n            .find(\".dropdown-toggle\")\n            .first()\n            .find(\"span\")\n            .first();\n          if ($heading.length > 0) {\n            var menuText = $heading.text();\n            //Tree Emoji\n            if ($heading.closest(\"#BH_Holidays\").length > 0) {\n              menuText = \"Holidays\";\n            } else if (\n              $heading.closest(\n                \"#OS_BH_Home, #WW_Home, #RM_Home, #CA_Home, #EL_Home, #JL_Home, #KS_Home, #FO_Clearance_Home\",\n              ).length > 0\n            ) {\n              menuText = \"Home\";\n            }\n\n            var subMenu = atFindSubNav(menu, menuText);\n            //subMenu = atPrependColumn1($(this),subMenu);\n            var html = atBuildMenu($(this), subMenu);\n\n            if (html !== \"\") {\n              var $dropDownMenu = $(this).find(\".menu-container\").first();\n              $dropDownMenu.addClass(\"at-default-nav\");\n              $dropDownMenu.after(html);\n            }\n          }\n        });\n    }\n\n    if (window.atMenuMode !== \"desktop\") {\n      var mobileHTML = atMobileNav(brandObj);\n\n      $(\".navbar-nav .nav-item.dropdown.level2\").addClass(\"at-original-menu\");\n\n      $(\".navbar-nav\").append(mobileHTML);\n\n      $('.at-dropdown-menu-mobile:not(.disabled) [data-toggle=\"dropdown\"]').on(\n        \"click\",\n        function (e) {\n          //  if (!isDesktop(this)) {\n          $(\".modal-background\").show();\n          var $parentMenu = $(this).closest(\".dropdown-menu\");\n          var $grandparentMenu = $(this).closest(\".menu-container\");\n          var $childMenu = $(this).parent().children(\".menu-container\");\n          var $closeMenu = $('<li class=\"nav-menu position-sticky\"></li>');\n\n          var isCategoryItem = !$(this).hasClass(\"category-item--false\");\n          var isLevel2Category = $(this).parent().hasClass(\"level2\");\n          var link = null;\n\n          if (!$childMenu.length) {\n            $childMenu = $(this).parent().children(\".dropdown-menu\");\n          }\n          $childMenu.addClass(\"overflow-auto\");\n          $closeMenu.append($(\".close-menu\").first().clone());\n\n          if ($grandparentMenu.length) {\n            $grandparentMenu.removeClass(\"overflow-auto\");\n          }\n          if ($parentMenu.length) {\n            $parentMenu.removeClass(\"overflow-auto\");\n          }\n\n          // copy parent element into current UL\n          if (isCategoryItem) {\n            var $activeMenu = isLevel2Category\n              ? $childMenu.find(\".dropdown-menu:first-child\")\n              : $childMenu;\n            var li = $(\n              '<li class=\"dropdown-item top-category\" role=\"button\"></li>',\n            );\n            link = $(this)\n              .clone()\n              .removeClass(\"dropdown-toggle\")\n              .removeAttr(\"data-toggle\")\n              .removeAttr(\"aria-expanded\")\n              .attr(\"aria-haspopup\", \"false\");\n            var categoryName = link.text().trim();\n            var $categoryTitle = $(\n              '<li class=\"dropdown-title category-title\" role=\"presentation\">' +\n                '<h3 class=\"pl-5 my-2\">' +\n                categoryName +\n                \"</h3></li>\",\n            );\n            var $topCategoryEl = $activeMenu.children(\".top-category\");\n\n            link.text(\"View All \" + categoryName);\n            //li.append(link);\n\n            $activeMenu.prepend($categoryTitle); // .prepend(li)\n\n            if (!$topCategoryEl.length) {\n              //$topCategoryEl.prepend(li);\n            }\n\n            if (isLevel2Category) {\n              $childMenu\n                .find(\">.dropdown-menu\")\n                .attr(\"aria-hidden\", \"false\")\n                .first()\n                .prepend($closeMenu);\n            } else {\n              $childMenu.prepend($closeMenu).attr(\"aria-hidden\", \"false\");\n            }\n            $(\".menu-group\").removeClass(\"overflow-auto\");\n          } else {\n            $childMenu.attr(\"aria-hidden\", \"false\").first().prepend($closeMenu);\n            link = $(this)\n              .siblings(\".dropdown-menu\")\n              .find('li[role=\"menuitem\"] a, li[role=\"menuitem\"] button')\n              .first();\n          }\n\n          // copy navigation menu into view\n          $(this).parent().addClass(\"show\");\n          $(this).attr(\"aria-expanded\", \"true\");\n          if (link) {\n            $(link).focus();\n          }\n          $(\"div.menu-group > ul.nav.navbar-nav > li.nav-item > a\").attr(\n            \"aria-hidden\",\n            \"true\",\n          );\n          e.preventDefault();\n          //  }\n        },\n      );\n    }\n\n    if ($(\".at-default-nav\").length > 0 || window.atMenuMode == \"mobile\") {\n      var columnWidth = 168;\n      var constrainWidth = true;\n\n      var css = \"\";\n      css += '<style type=\"text/css\">';\n      css +=\n        \"@media (max-width: 1023px) { .at-ab-nav { display: none !important; } .at-original-menu { display: none !important; } .at-l1-replacement-desktop { display: none !important; } }\";\n      css +=\n        \"@media (min-width: 1024px) { .at-default-nav { display: none !important; } .at-dropdown-menu-mobile { display: none !important; } .at-dropdown-menu-promo { margin-left: -16px; margin-right: -16px; background:none !important; } .at-dropdown-menu-promo a { text-align: center; } .at-dropdown-menu-item .at-dropdown-menu-promo-img, .at-dropdown-menu-item .at-dropdown-menu-promo-img:hover { padding-bottom: 5px !important; background: none !important; } .at-l1-replacement-mobile { display: none !important; } }\";\n      css +=\n        \".at-menu-container { padding: 0 !important; max-height: inherit !important; display: block !important; pointer-events: none; }\";\n\n      css +=\n        \".at-ab-nav-container { width: 100%; padding-right: 24px; padding-left: 24px; }\";\n      css +=\n        \".at-ab-nav-row { display: flex; flex-wrap: wrap; margin-right: -16px; margin-left: -16px; }\";\n      css +=\n        \".at-ab-nav-col { flex-basis: 0; flex-grow: 1; max-width: 100%; position: relative; width: 100%; padding:24px 16px 32px; }\";\n      css +=\n        \".at-dropdown-menu-heading { font-size: 14px !important; margin-bottom: 6px; margin-top: 24px; padding-left: 8px !important; padding-right: 8px !important; background: none !important; color: #000 !important; } .at-dropdown-menu-heading-first { margin-top: 0; } .at-dropdown-menu-item { line-height: 16px; } .at-dropdown-link { padding: 3px 8px !important; text-transform: capitalize; font-size:13px !important; color: #505050 !important; line-height: 18px !important; }\";\n\n      css +=\n        \".at-dropdown-menu-item a:hover { color: rgba(\" +\n        brandObj.brandColorRGB +\n        \", 100) !important; background-color: rgba(\" +\n        brandObj.brandColorRGB +\n        \", .1) !important; background-color: var(--color-primary-light) !important; text-decoration: none !important; }\";\n      css +=\n        \".at-ab-nav { display: none; } .nav-item.show .at-ab-nav { display: block; } .at-ab-nav-container-max-width { max-width: 1848px; margin-left: auto; margin-right: auto; } .at-ab-nav-col .module-studio img { height: auto !important; }\";\n      css +=\n        \".nav-item.show .at-dropdown-menu { display: block !important; margin-right: 0 !important; max-width: inherit !important; min-width: inherit !important; }\";\n      css += \".nav-item.show .at-menu-container { pointer-events: all; }\";\n      css +=\n        \".at-menu-container-6 .at-ab-nav-col { width: 16.6667%; flex-basis: 16.6667%; }\";\n      css +=\n        \".at-menu-container-6 .at-ab-nav-width-2 { width: 33.3334%; flex-basis: 33.3334%; }\";\n      css +=\n        \".at-menu-container-5 .at-ab-nav-col { width: 20%; flex-basis: 20%; }\";\n      css +=\n        \".at-menu-container-5 .at-ab-nav-width-2 { width: 40%; flex-basis: 40%; }\";\n      css +=\n        \".at-menu-container-4 .at-ab-nav-col { width: 25%; flex-basis: 25%; }\";\n      css +=\n        \".at-menu-container-4 .at-ab-nav-width-2 { width: 50%; flex-basis: 50%; }\";\n      css +=\n        \".at-menu-container-3 .at-ab-nav-col { width: 33.3334%; flex-basis: 33.3334%; }\";\n      css +=\n        \".at-menu-container-3 .at-ab-nav-width-2 { width: 66.6668%; flex-basis: 66.6668%; }\";\n      css +=\n        \".at-menu-container-2 .at-ab-nav-col { width: 50%; flex-basis: 50%; }\";\n      css +=\n        \".at-menu-container-2 .at-ab-nav-width-2 { width: 100%; flex-basis: 100%; }\";\n      css +=\n        \".at-menu-container-1 .at-ab-nav-col { width: 100%; flex-basis: 100%; }\";\n\n      var containerSelector = \"\"; //variant b targets parent container\n      if (!constrainWidth) {\n        containerSelector = \" .at-ab-nav-row\";\n      }\n      css +=\n        \".at-menu-container-6 \" +\n        containerSelector +\n        \"{ max-width: \" +\n        columnWidth * 6 +\n        \"px; }\";\n      css +=\n        \".at-menu-container-5 \" +\n        containerSelector +\n        \"{ max-width: \" +\n        columnWidth * 5 +\n        \"px; }\";\n      css +=\n        \".at-menu-container-4 \" +\n        containerSelector +\n        \"{ max-width: \" +\n        columnWidth * 4 +\n        \"px; }\";\n      css +=\n        \".at-menu-container-3 \" +\n        containerSelector +\n        \"{ max-width: \" +\n        columnWidth * 3 +\n        \"px; }\";\n      css +=\n        \".at-menu-container-2 \" +\n        containerSelector +\n        \"{ max-width: \" +\n        columnWidth * 2 +\n        \"px; }\";\n      css +=\n        \".at-menu-container-1 \" + containerSelector + \"{ max-width: 275px; }\";\n      css += \"</style>\";\n      $(\"body\").append(css).addClass(\"at-nav\");\n\n      if (constrainWidth && window.atMenuMode !== \"mobile\") {\n        function atPositionMenu() {\n          //.position().left\n          var $openMenu = $(\".nav-item.show\");\n          if ($openMenu.length > 0) {\n            var offset = $openMenu.offset().left - 42;\n            if (offset < 0) {\n              offset = 0;\n            }\n            var width = $openMenu.find(\".at-menu-container\").width();\n\n            var menuCountainerWidth = $menuContainer.width();\n            var menuCountainerOffset = $menuContainer.offset().left;\n\n            if (offset + width > menuCountainerWidth + menuCountainerOffset) {\n              //Align Right\n              var rightPosition =\n                menuCountainerWidth + menuCountainerOffset - width;\n              if (rightPosition < 0) {\n                rightPosition = 0;\n              }\n              $openMenu\n                .find(\".at-menu-container\")\n                .css(\"left\", rightPosition + \"px\");\n            } else {\n              $openMenu.find(\".at-menu-container\").css(\"left\", offset + \"px\");\n            }\n          }\n        }\n        $menuContainer\n          .find(\".nav-item\")\n          .observe(\n            { attributes: true, attributeFilter: [\"class\"] },\n            function (record) {\n              atPositionMenu();\n            },\n          );\n\n        $(window).resize(function () {\n          atPositionMenu();\n        });\n\n        atPositionMenu();\n      }\n    }\n  }\n\n  if (!$(\"body\").hasClass(\"at-nav\")) {\n    var brand = \"\";\n    if (typeof $(\"body\").data(\"data-brand-id\") !== \"undefined\") {\n      brand = $(\"body\").attr(\"data-brand-id\");\n    } else if (typeof utag_data.site_branding !== \"undefined\") {\n      brand = utag_data.site_branding;\n    } else if (\n      typeof utag_data !== \"undefined\" &&\n      utag_data &&\n      typeof utag_data[0] !== \"undefined\" &&\n      utag_data[0] &&\n      typeof utag_data[0].site_branding !== \"undefined\"\n    ) {\n      brand = utag_data[0].site_branding;\n    }\n    if (brand !== \"\") {\n      var foundNav = false;\n      for (var i = 0; i < atNav.length; i++) {\n        if (atNav[i].id == brand) {\n          atProcessNav(atNav[i], brand);\n          foundNav = true;\n          break;\n        }\n      }\n      if (foundNav === false) {\n        //console.log('Brand Key Not Found');\n      }\n    }\n  }\n});\n</script>"},{"responseTokens":{"experience.id":"0","activity.name":"[HOTFIX] Change Card Flyout Copy for New Mall","activity.id":"306071","experience.name":"Experience A","profile.marketingCloudVisitorId":"57885437755112554943465670896878167092","profile.activeActivities":"316928,280897,300898,282978,161675,211818,316845,162159,279894,306071,325552,284753,330429,196027","activity.decisioningMethod":"server-side"},"html":"<script>\nfunction changeCardCopyNewMall(method) {\n    if (window.jQuery && jQuery().initialize && typeof $ == 'function' && typeof $.initialize == 'function' && typeof utag_data == \"object\" && typeof utag_data.shopping_mall !== \"undefined\") {\n        if (utag_data.shopping_mall == \"mall_2\") {\n            method();\n        }\n    } else {\n        setTimeout(function () { changeCardCopyNewMall(method) }, 50);\n    }\n}\n\nchangeCardCopyNewMall(function () {\n    $.initialize('.plcc-popover.show .list-unstyled.container .row .col-10 h5', function () {\n        // :contains(\"Earn Rewards Every Time You Shop\")\n        if ($(this).text().indexOf(\"Earn Rewards Every Time You Shop\") !== -1) {\n            console.log(\"Changing PLCC Header Text\");\n            $(this).html(\"Earn Rewards<sup>6</sup> Every Time You Shop\");\n        }\n\n        if ($(this).text().indexOf(\"Free Shipping up to 4 Times a Year\") !== -1) {\n            $(this).html(\"Free Shipping up to 4 Times a Year<sup>4</sup>\")\n        }\n\n        if ($(this).text().indexOf(\"A Special Birthday Surprise\") !== -1) {\n            $(this).html(\"A Special Birthday Surprise!<sup>5</sup>\")\n        }\n    });\n\n    $.initialize('.plcc-popover.show .list-unstyled.container .row .col-10 .text-muted.small', function () {\n        if ($(this).text().indexOf(\"$10 Rewards for every 200 points earned at FULLBEAUTY Brands\") !== -1) {\n            console.log(\"Changing PLCC Body Text\");\n            $(this).html(\"Earn 20 points for every $1 spent with your card. Available to Silver Tier Only (accumulate 0 to 3,499 points).<sup>3</sup>\");\n        }\n        if ($(this).text().indexOf(\"Earn 15 points for every $1\") !== -1) {\n            console.log(\"Changing PLCC Body Text\");\n            $(this).html(\"Earn 20 points for every $1 spent with your card. Available to Silver Tier Only (accumulate 0 to 3,499 points).<sup>3</sup>\");\n        }\n        if ($(this).text().indexOf(\"Use promo code FBSHIPPING2025\") !== -1) {\n            console.log(\"Changing PLCC Body Text\");\n            $(this).html(\"Use promo code FBSHIPPING2025<br> Minimum purchase of $75. Online Only.\");\n        }\n    });\n});\n</script>"},{"responseTokens":{"experience.id":"0","activity.name":"[HOTFIX] Change Beacon Live Chat Z-Index Fix","activity.id":"325552","experience.name":"Experience A","profile.marketingCloudVisitorId":"57885437755112554943465670896878167092","profile.activeActivities":"316928,280897,300898,282978,161675,211818,316845,162159,279894,325552,284753,330429,196027","activity.decisioningMethod":"server-side"},"html":"<script>\nfunction beaconZIndexFix(method) {\n  if (window.jQuery && typeof utag_data !== \"undefined\") {\n    method();\n    return true;\n  }\n  setTimeout(function () { beaconZIndexFix(method) }, 50);\n}\n\n\nbeaconZIndexFix(function () {\n  // Fix existing beacon\n  function fixBeaconZIndex(element) {\n    element.style.zIndex = '9997';\n  }\n\n  const existingBeacon = document.querySelector('.BeaconFabButtonFrame');\n  if (existingBeacon) {\n    fixBeaconZIndex(existingBeacon);\n  }\n\n  // Watch for future beacons\n  const observer = new MutationObserver(function (mutations) {\n    mutations.forEach(function (mutation) {\n      mutation.addedNodes.forEach(function (node) {\n        if (node.nodeType === 1) {\n          if (node.classList && node.classList.contains('BeaconFabButtonFrame')) {\n            fixBeaconZIndex(node);\n          }\n          // Also check descendants\n          const descendant = node.querySelector && node.querySelector('.BeaconFabButtonFrame');\n          if (descendant) {\n            fixBeaconZIndex(descendant);\n          }\n        }\n      });\n    });\n  });\n\n  observer.observe(document.body, { childList: true, subtree: true });\n});\n</script>"},{"responseTokens":{"experience.id":"0","activity.name":"[ALL] PROD - Swimlane Smart Controller","activity.id":"196027","experience.name":"Experience A","profile.marketingCloudVisitorId":"57885437755112554943465670896878167092","profile.activeActivities":"279894,316928,280897,284753,300898,282978,330429,161675,211818,316845,196027,162159","activity.decisioningMethod":"server-side"},"html":"<script>\n\nfunction deferSmartController(method) {\n  if (window.jQuery && typeof window.utag_data == 'object' && jQuery().initialize) {\n    method();\n  } else {\n    setTimeout(function() { deferSmartController(method) }, 50);\n  }\n}\n\ndeferSmartController(function() {\n\n\tvar smartControllerRunning = window.atSmartControllerRunning || false;\n\n\tif(smartControllerRunning === false ) {\n\n\t\twindow.atSmartControllerRunning = true;\n\n\t\t// Value 1-100 representing a percentage of traffic that will be placed into open swim. The remainder will be split evenly between isolated tests.\n\n\t\tvar deferredCampaigns = []; // Any campaigns that require user interaction to fire will be managed in this array\n\t\tvar initializeCampaigns = []; // Any campaigns that require DOM elements will be managed in this array\n\t\t/* \n\t\t\tCampaign Schema:\n\t\t\t\n\t\t\t  name: Name of test - for reference only\n\t\t\t\tisolated: Boolean - determines if this runs in isolation\n\t\t\t\tisolationTrafficAllocation: numeric value between 1-100 indicating the overall traffic that will be directed to this campaign. Set to null for open swim campaigns.\n\t\t\t\tmbox: Name of mbox the test is running in - if not running in isolation using the \"openSwim\" mbox is recommended. Isolated tests are mapped to the mbox name - this value should be unique and not be changed.\n\t\t\t\tincludedPages: Array of included page types - leave blank to ignore this restriction\n\t\t\t\texcludedPages: Array of excluded page types - leave blank to ignore this restriction\n\t\t\t\texcludedURLs: Array of excluded page URLs - leave blank to ignore this restriction\n\t\t\t\t  - This method should be used for checkout exclusion due to inconsistant page type values\n\t\t\t\trequireURLParams: Array of key value pairs in this format {\"key\":\"utm_campaign\", \"value\": \"prospecting\"}\n\t\t\t\teligibleBrands: Array of included brands - leave blank to ignore this restriction\n\t\t\t\texcludeIfCookiePresent: Name of Cookie that will prevent firing of campaign - leave blank to ignore this restriction\n\t\t\t\t  - Exclusion cookies should be set in the campaigns\n\t\t\t\tactionRequired: Require user interaction to trigger the mbox\n\t\t\t\t  - Available actions: desktop_exit_intent\n\t\t\t\tonlyLandingPage: Only fire on landing page - set to false to ignore this restriction\n\t\t\t\trequireMinimumItemsInCart: Require items in the cart - leave blank to ignore this restriction\n\t\t\t\trequireDOMElements: Uses initialize jQuery plugin to wait for one or more items on the page, accepts CSS selectors, when using multiple all must be on the screen at the same time - leave blank to ignore this restriction\n\t\t\t\trequiredUTagValues: Array of key/value pairs of required utag parameters in this format {\"key\":\"user_authenticated\", \"value\": \"false\"} - leave blank to ignore this restruction\n\t\t\t\tenvironments: Array of environments that match against the URL string like \"adobe.\" - leave blank to ignore this restriction\n\t\t\t\t\t\"adobe.\"\n\t\t\t\t],\n\t\t\t}\n\n\t\t\tSample Isolated Campaign\n\n\t\t\t{\n\t\t\t\t\"name\": \"[All] - Isolation - Throttle - PLP FBB Search\",\n\t\t\t\t\"isolated\": true,\n\t\t\t\t\"isolationTrafficAllocation\": 20,\n\t\t\t\t\"mbox\": \"throttlePLP\",\n\t\t\t\t\"includedPages\": [],\n\t\t\t\t\"excludedPages\": [\"category\"],\n\t\t\t\t\"excludedURLs\": [],\n\t\t\t\t\"requireURLParams\": [],\n\t\t\t\t\"excludeIfCookiePresent\": \"\",\n\t\t\t\t\"eligibleBrands\": [\"os\", \"ww\", \"rm\", \"ca\", \"jl\", \"el\", \"jv\", \"aa\", \"ia\", \"sh\", \"sa\", \"bh\", \"ks\", \"fo\"],\n\t\t\t\t\"actionRequired\": '',\n\t\t\t\t\"onlyLandingPage\": true,\n\t\t\t\t\"requireMinimumItemsInCart\": 0,\n\t\t\t\t\"requireDOMElements\": [],\n\t\t\t\t\"environments\": [\n\t\t\t\t\t\"www.\"\n\t\t\t\t]\n\t\t\t}\n\n\n\t\t*/\n\n\t\tvar campaigns = [\n\t\t\t{\n\t\t\t\t\"name\": \"[All] - Open Swim Control Test\",\n\t\t\t\t\"isolated\": false,\n\t\t\t\t\"isolationTrafficAllocation\": null,\n\t\t\t\t\"mbox\": \"openSwimTest\",\n\t\t\t\t\"includedPages\": [],\n\t\t\t\t\"excludedPages\": [],\n\t\t\t\t\"excludedURLs\": [],\n\t\t\t\t\"requireURLParams\": [],\n\t\t\t\t\"excludeIfCookiePresent\": \"\",\n\t\t\t\t\"eligibleBrands\": [\"os\", \"ww\", \"rm\", \"ca\", \"jl\", \"el\", \"jv\", \"aa\", \"ia\", \"sh\", \"sa\", \"bh\", \"ks\", \"fo\"],\n\t\t\t\t\"actionRequired\": '',\n\t\t\t\t\"onlyLandingPage\": false,\n\t\t\t\t\"requireMinimumItemsInCart\": 0,\n\t\t\t\t\"requireDOMElements\": [],\n\t\t\t\t\"requiredUTagValues\": [],\n\t\t\t\t\"environments\": [\n\t\t\t\t\t\"www.\"\n\t\t\t\t]\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"name\": \"[ALL] - PROD - Throttled Deployment - 0322 Relaunch - Gift Cards\",\n\t\t\t\t\"isolated\": false,\n\t\t\t\t\"isolationTrafficAllocation\": null,\n\t\t\t\t\"mbox\": \"giftCardThrottle\",\n\t\t\t\t\"includedPages\": [],\n\t\t\t\t\"excludedPages\": [],\n\t\t\t\t\"requireURLParams\": [],\n\t\t\t\t\"excludedURLs\": ['/checkout', '/shipping', '/billing', '/revieworder'],\n\t\t\t\t\"excludeIfCookiePresent\": \"\",\n\t\t\t\t\"eligibleBrands\": [],\n\t\t\t\t\"actionRequired\": '',\n\t\t\t\t\"onlyLandingPage\": true,\n\t\t\t\t\"requireMinimumItemsInCart\": 0,\n\t\t\t\t\"requireDOMElements\": [],\n\t\t\t\t\"requiredUTagValues\": [],\n\t\t\t\t\"environments\": [\n\t\t\t\t\t\"www.\",\n\t\t\t\t\t\"shop.\"\n\t\t\t\t]\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"name\": \"PDP Performance Optimization Throttle - 2 Tests\",\n\t\t\t\t\"isolated\": false,\n\t\t\t\t\"isolationTrafficAllocation\": null,\n\t\t\t\t\"mbox\": \"pdpPerformanceThrottle\",\n\t\t\t\t\"includedPages\": [],\n\t\t\t\t\"excludedPages\": [],\n\t\t\t\t\"requireURLParams\": [],\n\t\t\t\t\"excludedURLs\": ['/checkout', '/shipping', '/billing', '/revieworder'],\n\t\t\t\t\"excludeIfCookiePresent\": \"\",\n\t\t\t\t\"eligibleBrands\": [\"aa\", \"bh\", \"ca\", \"cp\", \"da\", \"el\", \"fo\", \"ia\", \"jl\", \"jv\", \"ks\", \"os\", \"rm\", \"sa\", \"sh\", \"ww\", \"zq\"],\n\t\t\t\t\"actionRequired\": '',\n\t\t\t\t\"onlyLandingPage\": false,\n\t\t\t\t\"requireMinimumItemsInCart\": 0,\n\t\t\t\t\"requireDOMElements\": [],\n\t\t\t\t\"requiredUTagValues\": [],\n\t\t\t\t\"environments\": [\n\t\t\t\t\t\"www.\",\n\t\t\t\t\t\"shop.\"\n\t\t\t\t]\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"name\": \"[ALL] - PROD - Open Swim - Throttled Deployment - SFRA CQO\",\n\t\t\t\t\"isolated\": false,\n\t\t\t\t\"isolationTrafficAllocation\": null,\n\t\t\t\t\"mbox\": \"openSwimSFRACQO\",\n\t\t\t\t\"includedPages\": [],\n\t\t\t\t\"excludedPages\": [],\n\t\t\t\t\"requireURLParams\": [],\n\t\t\t\t\"excludedURLs\": ['quick-order', 'QuickOrder-QuickOrderForm'],\n\t\t\t\t\"excludeIfCookiePresent\": \"\",\n\t\t\t\t\"eligibleBrands\": [\"os\", \"ww\", \"rm\", \"ca\", \"jl\", \"el\", \"jv\", \"aa\", \"ia\", \"sh\", \"sa\", \"bh\", \"ks\", \"fo\"],\n\t\t\t\t\"actionRequired\": '',\n\t\t\t\t\"onlyLandingPage\": true,\n\t\t\t\t\"requireMinimumItemsInCart\": 0,\n\t\t\t\t\"requireDOMElements\": [],\n\t\t\t\t\"requiredUTagValues\": [],\n\t\t\t\t\"environments\": [\n\t\t\t\t\t\"www.\"\n\t\t\t\t]\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"name\": \"[ww, rm, jl, ca, os, av, el, sa, jv] Exit Intent In Checkout Countdown\",\n\t\t\t\t\"isolated\": false,\n\t\t\t\t\"isolationTrafficAllocation\": null,\n\t\t\t\t\"mbox\": \"exitIntentCheckoutBacktest\",\n\t\t\t\t\"includedPages\": [\"checkout\"],\n\t\t\t\t\"excludedPages\": [],\n\t\t\t\t\"requireURLParams\": [],\n\t\t\t\t\"excludedURLs\": ['/orderconfirmation'],\n\t\t\t\t\"excludeIfCookiePresent\": \"checkoutExitIntentTimerFreeShip\",\n\t\t\t\t\"eligibleBrands\": [\"ww\", \"rm\", \"jl\", \"ca\", \"os\", \"av\", \"el\", \"sa\", \"jv\"],\n\t\t\t\t\"actionRequired\": 'desktop_exit_intent',\n\t\t\t\t\"onlyLandingPage\": false,\n\t\t\t\t\"requireMinimumItemsInCart\": 0,\n\t\t\t\t\"requireDOMElements\": [],\n\t\t\t\t\"requiredUTagValues\": [],\n\t\t\t\t\"environments\": [\n\t\t\t\t\t\"www.\",\n\t\t\t\t\t\"shop.\"\n\t\t\t\t]\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"name\": \"[All] Checkout - Skip Order Review\",\n\t\t\t\t\"isolated\": false,\n\t\t\t\t\"isolationTrafficAllocation\": null,\n\t\t\t\t\"mbox\": \"checkoutBillingScreen\",\n\t\t\t\t\"includedPages\": [\"checkout\"],\n\t\t\t\t\"excludedPages\": [],\n\t\t\t\t\"excludedURLs\": [],\n\t\t\t\t\"requireURLParams\": [],\n\t\t\t\t\"excludeIfCookiePresent\": \"\",\n\t\t\t\t\"eligibleBrands\": [\"os\", \"ww\", \"rm\", \"ca\", \"jl\", \"el\", \"jv\", \"aa\", \"ia\", \"sh\", \"sa\", \"bh\", \"ks\", \"fo\", \"zq\", \"cp\", \"da\", \"av\"],\n\t\t\t\t\"actionRequired\": '',\n\t\t\t\t\"onlyLandingPage\": false,\n\t\t\t\t\"requireMinimumItemsInCart\": 0,\n\t\t\t\t\"requireDOMElements\": [\".checkout-tabs.spc-billing\"],\n\t\t\t\t\"requiredUTagValues\": [],\n\t\t\t\t\"environments\": [\n\t\t\t\t\t\"www.\"\n\t\t\t\t]\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"name\": \"[ALL] PLP: Savings Story Tile Content/UI Relaunch\",\n\t\t\t\t\"isolated\": false,\n\t\t\t\t\"isolationTrafficAllocation\": null,\n\t\t\t\t\"mbox\": \"savingsStoryPhaseOne\",\n\t\t\t\t\"includedPages\": [\"category\",\"search\"],\n\t\t\t\t\"excludedPages\": [],\n\t\t\t\t\"excludedURLs\": [],\n\t\t\t\t\"requireURLParams\": [],\n\t\t\t\t\"excludeIfCookiePresent\": \"\",\n\t\t\t\t\"eligibleBrands\": [],\n\t\t\t\t\"actionRequired\": '',\n\t\t\t\t\"onlyLandingPage\": false,\n\t\t\t\t\"requireMinimumItemsInCart\": 0,\n\t\t\t\t\"requireDOMElements\": [],\n\t\t\t\t\"requiredUTagValues\": [],\n\t\t\t\t\"environments\": [\n\t\t\t\t\t\"www.\",\n\t\t\t\t\t\"shop.\"\n\t\t\t\t]\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"name\": \"[ALL] PLP - Desktop Swatches Link to PDP \",\n\t\t\t\t\"isolated\": false,\n\t\t\t\t\"isolationTrafficAllocation\": null,\n\t\t\t\t\"mbox\": \"plpSwatchLinks\",\n\t\t\t\t\"includedPages\": [\"category\",\"search\"],\n\t\t\t\t\"excludedPages\": [],\n\t\t\t\t\"excludedURLs\": [],\n\t\t\t\t\"requireURLParams\": [],\n\t\t\t\t\"excludeIfCookiePresent\": \"\",\n\t\t\t\t\"eligibleBrands\": [],\n\t\t\t\t\"actionRequired\": '',\n\t\t\t\t\"onlyLandingPage\": false,\n\t\t\t\t\"requireMinimumItemsInCart\": 0,\n\t\t\t\t\"requireDOMElements\": [],\n\t\t\t\t\"requiredUTagValues\": [],\n\t\t\t\t\"environments\": [\n\t\t\t\t\t\"www.\",\n\t\t\t\t\t\"shop.\"\n\t\t\t\t]\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"name\": \"[ALL] Expanded Default Value for Size and Size Family Test\",\n\t\t\t\t\"isolated\": false,\n\t\t\t\t\"isolationTrafficAllocation\": null,\n\t\t\t\t\"mbox\": \"expandedDefaultSizeTest\",\n\t\t\t\t\"includedPages\": [\"pdp\"],\n\t\t\t\t\"excludedPages\": [],\n\t\t\t\t\"excludedURLs\": [],\n\t\t\t\t\"requireURLParams\": [],\n\t\t\t\t\"excludeIfCookiePresent\": \"\",\n\t\t\t\t\"eligibleBrands\": [\"os\", \"ww\", \"rm\", \"ca\", \"jl\", \"el\", \"jv\", \"aa\", \"ia\", \"sh\", \"sa\", \"ks\", \"fo\", \"zq\", \"cp\", \"da\", \"av\"],\n\t\t\t\t\"actionRequired\": '',\n\t\t\t\t\"onlyLandingPage\": false,\n\t\t\t\t\"requireMinimumItemsInCart\": 0,\n\t\t\t\t\"requireDOMElements\": [],\n\t\t\t\t\"requiredUTagValues\": [],\n\t\t\t\t\"environments\": [\n\t\t\t\t\t\"www.\",\n\t\t\t\t\t\"shop.\"\n\t\t\t\t]\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"name\": \"[ALL] Scrolling Message on Inactive Tab Test\",\n\t\t\t\t\"isolated\": false,\n\t\t\t\t\"isolationTrafficAllocation\": null,\n\t\t\t\t\"mbox\": \"scrollingTabTest\",\n\t\t\t\t\"includedPages\": [],\n\t\t\t\t\"excludedPages\": [],\n\t\t\t\t\"excludedURLs\": [],\n\t\t\t\t\"requireURLParams\": [],\n\t\t\t\t\"excludeIfCookiePresent\": \"\",\n\t\t\t\t\"eligibleBrands\": [],\n\t\t\t\t\"actionRequired\": '',\n\t\t\t\t\"onlyLandingPage\": false,\n\t\t\t\t\"requireMinimumItemsInCart\": 0,\n\t\t\t\t\"requireDOMElements\": [],\n\t\t\t\t\"requiredUTagValues\": [],\n\t\t\t\t\"environments\": [\n\t\t\t\t\t\"www.\",\n\t\t\t\t\t\"shop.\"\n\t\t\t\t]\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"name\": \"[ALL] One to One Recs Controller\",\n\t\t\t\t\"isolated\": false,\n\t\t\t\t\"isolationTrafficAllocation\": null,\n\t\t\t\t\"mbox\": \"oneToOneRecsController\",\n\t\t\t\t\"includedPages\": [\"pdp\"],\n\t\t\t\t\"excludedPages\": [],\n\t\t\t\t\"excludedURLs\": [],\n\t\t\t\t\"requireURLParams\": [],\n\t\t\t\t\"excludeIfCookiePresent\": \"\",\n\t\t\t\t\"eligibleBrands\": [],\n\t\t\t\t\"actionRequired\": '',\n\t\t\t\t\"onlyLandingPage\": false,\n\t\t\t\t\"requireMinimumItemsInCart\": 0,\n\t\t\t\t\"requireDOMElements\": [],\n\t\t\t\t\"requiredUTagValues\": [],\n\t\t\t\t\"environments\": [\n\t\t\t\t\t\"www.\"\n\t\t\t\t]\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"name\": \"[All] PDP - Size Chiclet Appearing As Out of Stock\",\n\t\t\t\t\"isolated\": false,\n\t\t\t\t\"isolationTrafficAllocation\": null,\n\t\t\t\t\"mbox\": \" pdpSizeAppearingOOS\",\n\t\t\t\t\"includedPages\": [\"pdp\"],\n\t\t\t\t\"excludedPages\": [],\n\t\t\t\t\"excludedURLs\": [],\n\t\t\t\t\"requireURLParams\": [],\n\t\t\t\t\"excludeIfCookiePresent\": \"\",\n\t\t\t\t\"eligibleBrands\": [],\n\t\t\t\t\"actionRequired\": '',\n\t\t\t\t\"onlyLandingPage\": false,\n\t\t\t\t\"requireMinimumItemsInCart\": 0,\n\t\t\t\t\"requireDOMElements\": ['#sizeFamilyattributes'],\n\t\t\t\t\"requiredUTagValues\": [],\n\t\t\t\t\"environments\": [\n\t\t\t\t\t\"www.\",\n\t\t\t\t\t\"shop.\"\n\t\t\t\t]\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"name\": \"[ALL] Quickshop on PDP and PLP New Mall Launch\",\n\t\t\t\t\"isolated\": false,\n\t\t\t\t\"isolationTrafficAllocation\": null,\n\t\t\t\t\"mbox\": \"quickshopNewMall\",\n\t\t\t\t\"includedPages\": [\"pdp\", \"search\", \"category\"],\n\t\t\t\t\"excludedPages\": [],\n\t\t\t\t\"excludedURLs\": [],\n\t\t\t\t\"requireURLParams\": [],\n\t\t\t\t\"excludeIfCookiePresent\": \"\",\n\t\t\t\t\"eligibleBrands\": [],\n\t\t\t\t\"actionRequired\": '',\n\t\t\t\t\"onlyLandingPage\": false,\n\t\t\t\t\"requireMinimumItemsInCart\": 0,\n\t\t\t\t\"requireDOMElements\": [],\n\t\t\t\t\"requiredUTagValues\": [{\"key\": 'shopping_mall', \"value\": 'mall_2'}],\n\t\t\t\t\"environments\": [\n\t\t\t\t\t\"www.\",\n\t\t\t\t\t\"shop.\"\n\t\t\t\t]\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"name\": \"[ALL] Quickshop on PDP Old Mall Launch\",\n\t\t\t\t\"isolated\": false,\n\t\t\t\t\"isolationTrafficAllocation\": null,\n\t\t\t\t\"mbox\": \"quickshopOldMall\",\n\t\t\t\t\"includedPages\": [\"pdp\"],\n\t\t\t\t\"excludedPages\": [],\n\t\t\t\t\"excludedURLs\": [],\n\t\t\t\t\"requireURLParams\": [],\n\t\t\t\t\"excludeIfCookiePresent\": \"\",\n\t\t\t\t\"eligibleBrands\": [],\n\t\t\t\t\"actionRequired\": '',\n\t\t\t\t\"onlyLandingPage\": false,\n\t\t\t\t\"requireMinimumItemsInCart\": 0,\n\t\t\t\t\"requireDOMElements\": [],\n\t\t\t\t\"requiredUTagValues\": [{\"key\": 'shopping_mall', \"value\": 'mall_1'}],\n\t\t\t\t\"environments\": [\n\t\t\t\t\t\"www.\"\n\t\t\t\t]\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"name\": \"[ALL] CA MX AU International Enhancements Launch\",\t\t\t\t\n\t\t\t\t\"isolated\": false,\n\t\t\t\t\"isolationTrafficAllocation\": null,\n\t\t\t\t\"mbox\": \"internationalEnhancementsTest\",\n\t\t\t\t\"includedPages\": [\"pdp\", \"cart\"],\n\t\t\t\t\"excludedPages\": [],\n\t\t\t\t\"excludedURLs\": [],\n\t\t\t\t\"requireURLParams\": [],\n\t\t\t\t\"excludeIfCookiePresent\": \"\",\n\t\t\t\t\"eligibleBrands\": [],\n\t\t\t\t\"actionRequired\": '',\n\t\t\t\t\"onlyLandingPage\": false,\n\t\t\t\t\"requireMinimumItemsInCart\": 0,\n\t\t\t\t\"requireDOMElements\": [],\n\t\t\t\t\"requiredUTagValues\": [{\"key\": 'user_country_ge', \"value\": ['AU', 'MX', 'CA']}],\n\t\t\t\t\"environments\": [\n\t\t\t\t\t\"www.\",\n\t\t\t\t\t\"shop.\"\n\t\t\t\t]\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"name\": \"[ALL] Default Expanded Thumbnails for PDP Alt Images\",\n\t\t\t\t\"isolated\": false,\n\t\t\t\t\"isolationTrafficAllocation\": null,\n\t\t\t\t\"mbox\": \"pdpDefaultExpandedThumbnails\",\n\t\t\t\t\"includedPages\": [\"pdp\"],\n\t\t\t\t\"excludedPages\": [],\n\t\t\t\t\"excludedURLs\": [],\n\t\t\t\t\"requireURLParams\": [],\n\t\t\t\t\"excludeIfCookiePresent\": \"\",\n\t\t\t\t\"eligibleBrands\": [],\n\t\t\t\t\"actionRequired\": '',\n\t\t\t\t\"onlyLandingPage\": false,\n\t\t\t\t\"requireMinimumItemsInCart\": 0,\n\t\t\t\t\"requireDOMElements\": [],\n\t\t\t\t\"requiredUTagValues\": [],\n\t\t\t\t\"environments\": [\n\t\t\t\t\t\"www.\",\n\t\t\t\t\t\"shop.\"\n\t\t\t\t]\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"name\": \"[Exclude CP] Change Credit Card Order at Checkout Brand First Launch\",\n\t\t\t\t\"isolated\": false,\n\t\t\t\t\"isolationTrafficAllocation\": null,\n\t\t\t\t\"mbox\": \"changeCreditCardOrderTest\",\n\t\t\t\t\"includedPages\": [\"checkout\"],\n\t\t\t\t\"excludedPages\": [],\n\t\t\t\t\"excludedURLs\": [],\n\t\t\t\t\"requireURLParams\": [],\n\t\t\t\t\"excludeIfCookiePresent\": \"\",\n\t\t\t\t\"eligibleBrands\": [\"os\", \"ww\", \"rm\", \"ca\", \"jl\", \"el\", \"jv\", \"aa\", \"ia\", \"sh\", \"sa\", \"bh\", \"ks\", \"fo\", \"zq\", \"da\", \"av\"],\n\t\t\t\t\"actionRequired\": '',\n\t\t\t\t\"onlyLandingPage\": false,\n\t\t\t\t\"requireMinimumItemsInCart\": 0,\n\t\t\t\t\"requireDOMElements\": [],\n\t\t\t\t\"requiredUTagValues\": [],\n\t\t\t\t\"environments\": [\n\t\t\t\t\t\"www.\",\n\t\t\t\t\t\"shop.\"\n\t\t\t\t]\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"name\": \"[Exclude WW and EQ] Checkout Now Orange Button PDP Retest\",\n\t\t\t\t\"isolated\": false,\n\t\t\t\t\"isolationTrafficAllocation\": null,\n\t\t\t\t\"mbox\": \"pdpBuyNow\",\n\t\t\t\t\"includedPages\": [\"pdp\"],\n\t\t\t\t\"excludedPages\": [],\n\t\t\t\t\"excludedURLs\": [],\n\t\t\t\t\"requireURLParams\": [],\n\t\t\t\t\"excludeIfCookiePresent\": \"\",\n\t\t\t\t\"eligibleBrands\": [\"os\", \"rm\", \"ca\", \"jl\", \"el\", \"jv\", \"aa\", \"ia\", \"sh\", \"sa\", \"bh\", \"ks\", \"fo\", \"cp\"],\n\t\t\t\t\"actionRequired\": '',\n\t\t\t\t\"onlyLandingPage\": false,\n\t\t\t\t\"requireMinimumItemsInCart\": 0,\n\t\t\t\t\"requireDOMElements\": [],\n\t\t\t\t\"requiredUTagValues\": [],\n\t\t\t\t\"environments\": [\n\t\t\t\t\t\"www.\"\n\t\t\t\t]\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"name\": \"[ALL] PDP By Brand Name Links to Filtered Category\",\n\t\t\t\t\"isolated\": false,\n\t\t\t\t\"isolationTrafficAllocation\": null,\n\t\t\t\t\"mbox\": \"byBrandNameTest\",\n\t\t\t\t\"includedPages\": [\"pdp\"],\n\t\t\t\t\"excludedPages\": [],\n\t\t\t\t\"excludedURLs\": [],\n\t\t\t\t\"requireURLParams\": [],\n\t\t\t\t\"excludeIfCookiePresent\": \"\",\n\t\t\t\t\"eligibleBrands\": [],\n\t\t\t\t\"actionRequired\": '',\n\t\t\t\t\"onlyLandingPage\": false,\n\t\t\t\t\"requireMinimumItemsInCart\": 0,\n\t\t\t\t\"requireDOMElements\": [],\n\t\t\t\t\"requiredUTagValues\": [],\n\t\t\t\t\"environments\": [\n\t\t\t\t\t\"www.\",\n\t\t\t\t\t\"shop.\"\n\t\t\t\t]\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"name\": \"[SITEWIDE] Sitewide Urgency Banner Test\",\t\t\t\t\n\t\t\t\t\"isolated\": false,\n\t\t\t\t\"isolationTrafficAllocation\": null,\n\t\t\t\t\"mbox\": \"sitewideBannerTest\",\n\t\t\t\t\"includedPages\": [\"cart\"],\n\t\t\t\t\"excludedPages\": [],\n\t\t\t\t\"excludedURLs\": [],\n\t\t\t\t\"requireURLParams\": [],\n\t\t\t\t\"excludeIfCookiePresent\": \"\",\n\t\t\t\t\"eligibleBrands\": [\"ww\", \"os\", \"rm\", \"ca\", \"jl\", \"el\", \"jv\", \"aa\", \"ia\", \"sh\", \"sa\", \"fo\"],\n\t\t\t\t\"actionRequired\": '',\n\t\t\t\t\"onlyLandingPage\": false,\n\t\t\t\t\"requireMinimumItemsInCart\": 1,\n\t\t\t\t\"requireDOMElements\": [],\n\t\t\t\t\"requiredUTagValues\": [],\n\t\t\t\t\"environments\": [\n\t\t\t\t\t\"www.\"\n\t\t\t\t]\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"name\": \"[ALL] Minicart Popover Variation Test\",\n\t\t\t\t\"isolated\": false,\n\t\t\t\t\"isolationTrafficAllocation\": null,\n\t\t\t\t\"mbox\": \"minicartPopoverTest\",\n\t\t\t\t\"includedPages\": [],\n\t\t\t\t\"excludedPages\": [],\n\t\t\t\t\"requireURLParams\": [],\n\t\t\t\t\"excludedURLs\": ['/checkout', '/shipping', '/billing', '/revieworder'],\n\t\t\t\t\"excludeIfCookiePresent\": \"\",\n\t\t\t\t\"eligibleBrands\": [\"aa\", \"bh\", \"ca\", \"cp\", \"da\", \"el\", \"fo\", \"ia\", \"jl\", \"jv\", \"ks\", \"os\", \"rm\", \"sa\", \"sh\", \"ww\", \"zq\"],\n\t\t\t\t\"actionRequired\": '',\n\t\t\t\t\"onlyLandingPage\": false,\n\t\t\t\t\"requireMinimumItemsInCart\": 1,\n\t\t\t\t\"requireDOMElements\": [],\n\t\t\t\t\"requiredUTagValues\": [],\n\t\t\t\t\"environments\": [\n\t\t\t\t\t\"www.\",\n\t\t\t\t\t\"shop.\"\n\t\t\t\t]\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"name\": \"[SA and CA] - PDP Outfits\",\n\t\t\t\t\"isolated\": false,\n\t\t\t\t\"isolationTrafficAllocation\": null,\n\t\t\t\t\"mbox\": \"ww-pdp-outfitting\",\n\t\t\t\t\"includedPages\": [\"pdp\"],\n\t\t\t\t\"excludedPages\": [],\n\t\t\t\t\"excludedURLs\": [],\n\t\t\t\t\"requireURLParams\": [],\n\t\t\t\t\"excludeIfCookiePresent\": \"\",\n\t\t\t\t\"eligibleBrands\": [\"ww\", \"sa\", \"ca\", \"rm\", \"ks\", \"jl\", \"cp\"],\n\t\t\t\t\"actionRequired\": '',\n\t\t\t\t\"onlyLandingPage\": false,\n\t\t\t\t\"requireMinimumItemsInCart\": 0,\n\t\t\t\t\"requireDOMElements\": [\"#fbb-outfits-widget-container div\"],\n\t\t\t\t\"requiredUTagValues\": [],\n\t\t\t\t\"environments\": [\n\t\t\t\t\t\"www.\"\n\t\t\t\t]\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"name\": \"AB.PLP.SRP.SFCCSEARCH.E1\",\n\t\t\t\t\"isolated\": false,\n\t\t\t\t\"isolationTrafficAllocation\": null,\n\t\t\t\t\"mbox\": \"plpAlgorithmThrottle\",\n\t\t\t\t\"includedPages\": [],\n\t\t\t\t\"excludedPages\": [\"category\",\"search\"],\n\t\t\t\t\"excludedURLs\": [],\n\t\t\t\t\"requireURLParams\": [],\n\t\t\t\t\"excludeIfCookiePresent\": \"\",\n\t\t\t\t\"eligibleBrands\": [],\n\t\t\t\t\"actionRequired\": '',\n\t\t\t\t\"onlyLandingPage\": false,\n\t\t\t\t\"requireMinimumItemsInCart\": 0,\n\t\t\t\t\"requireDOMElements\": [],\n\t\t\t\t\"requiredUTagValues\": [],\n\t\t\t\t\"environments\": [\n\t\t\t\t\t\"www.\",\n\t\t\t\t\t\"shop.\"\n\t\t\t\t]\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"name\": \"[ZQ,CP] Standard Shipping Price Increase Test 50 Percent\",\n\t\t\t\t\"isolated\": false,\n\t\t\t\t\"isolationTrafficAllocation\": null,\n\t\t\t\t\"mbox\": \"zqcpStandardShippingTest\",\n\t\t\t\t\"includedPages\": [\"checkout\", \"help-page\", \"cart\", \"confirmation\"],\n\t\t\t\t\"excludedPages\": [],\n\t\t\t\t\"requireURLParams\": [],\n\t\t\t\t\"excludedURLs\": [],\n\t\t\t\t\"excludeIfCookiePresent\": \"\",\n\t\t\t\t\"eligibleBrands\": [\"zq\", \"cp\"],\n\t\t\t\t\"actionRequired\": '',\n\t\t\t\t\"onlyLandingPage\": false,\n\t\t\t\t\"requireMinimumItemsInCart\": 0,\n\t\t\t\t\"requireDOMElements\": [],\n\t\t\t\t\"requiredUTagValues\": [],\n\t\t\t\t\"environments\": [\n\t\t\t\t\t\"www.\"\n\t\t\t\t]\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"name\": \"[ALL] PLCC CTA under Checkout in Cart Test\",\t\t\t\t\n\t\t\t\t\"isolated\": false,\n\t\t\t\t\"isolationTrafficAllocation\": null,\n\t\t\t\t\"mbox\": \"plccCartCTATest\",\n\t\t\t\t\"includedPages\": [\"cart\"],\n\t\t\t\t\"excludedPages\": [],\n\t\t\t\t\"excludedURLs\": [],\n\t\t\t\t\"requireURLParams\": [],\n\t\t\t\t\"excludeIfCookiePresent\": \"\",\n\t\t\t\t\"eligibleBrands\": [\"aa\", \"bh\", \"ca\", \"cp\", \"da\", \"el\", \"fo\", \"ia\", \"jl\", \"jv\", \"ks\", \"os\", \"rm\", \"sa\", \"sh\", \"ww\", \"zq\"],\n\t\t\t\t\"actionRequired\": '',\n\t\t\t\t\"onlyLandingPage\": false,\n\t\t\t\t\"requireMinimumItemsInCart\": 1,\n\t\t\t\t\"requireDOMElements\": [],\n\t\t\t\t\"requiredUTagValues\": [],\n\t\t\t\t\"environments\": [\n\t\t\t\t\t\"www.\",\n\t\t\t\t\t\"shop.\"\n\t\t\t\t]\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"name\": \"[WW] Price Drop versus Price Cut Icon Test\",\n\t\t\t\t\"isolated\": false,\n\t\t\t\t\"isolationTrafficAllocation\": null,\n\t\t\t\t\"mbox\": \"wwPriceDropTest\",\n\t\t\t\t\"includedPages\": [\"category\",\"search\",\"pdp\"],\n\t\t\t\t\"excludedPages\": [],\n\t\t\t\t\"excludedURLs\": [],\n\t\t\t\t\"requireURLParams\": [],\n\t\t\t\t\"excludeIfCookiePresent\": \"\",\n\t\t\t\t\"eligibleBrands\": [\"ww\"],\n\t\t\t\t\"actionRequired\": '',\n\t\t\t\t\"onlyLandingPage\": false,\n\t\t\t\t\"requireMinimumItemsInCart\": 0,\n\t\t\t\t\"requireDOMElements\": [],\n\t\t\t\t\"requiredUTagValues\": [],\n\t\t\t\t\"environments\": [\n\t\t\t\t\t\"www.\",\n\t\t\t\t\t\"shop.\"\n\t\t\t\t]\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"name\": \"[ALL] PLCC Rebuttal as a Payment Option Test\",\n\t\t\t\t\"isolated\": false,\n\t\t\t\t\"isolationTrafficAllocation\": null,\n\t\t\t\t\"mbox\": \"plccRebuttalAsPaymentOption\",\n\t\t\t\t\"includedPages\": [\"checkout\"],\n\t\t\t\t\"excludedPages\": [],\n\t\t\t\t\"excludedURLs\": [],\n\t\t\t\t\"requireURLParams\": [],\n\t\t\t\t\"excludeIfCookiePresent\": \"\",\n\t\t\t\t\"eligibleBrands\": [\"aa\", \"bh\", \"ca\", \"cp\", \"da\", \"el\", \"fo\", \"ia\", \"jl\", \"jv\", \"ks\", \"os\", \"rm\", \"sa\", \"sh\", \"ww\", \"zq\"],\n\t\t\t\t\"actionRequired\": '',\n\t\t\t\t\"onlyLandingPage\": false,\n\t\t\t\t\"requireMinimumItemsInCart\": 0,\n\t\t\t\t\"requireDOMElements\": [\".rebuttal-slot .plcc-cart-banner-container\"],\n\t\t\t\t\"requiredUTagValues\": [],\n\t\t\t\t\"environments\": [\n\t\t\t\t\t\"www.\",\n\t\t\t\t\t\"shop.\"\n\t\t\t\t]\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"name\": \"[Exclude AV] Cart - Urgency Banner\",\t\t\t\t\n\t\t\t\t\"isolated\": false,\n\t\t\t\t\"isolationTrafficAllocation\": null,\n\t\t\t\t\"mbox\": \"cart-urgency-banner\",\n\t\t\t\t\"includedPages\": [\"cart\"],\n\t\t\t\t\"excludedPages\": [],\n\t\t\t\t\"excludedURLs\": [],\n\t\t\t\t\"requireURLParams\": [],\n\t\t\t\t\"excludeIfCookiePresent\": \"\",\n\t\t\t\t\"eligibleBrands\": [\"aa\", \"bh\", \"ca\", \"cp\", \"da\", \"el\", \"fo\", \"ia\", \"jl\", \"jv\", \"ks\", \"os\", \"rm\", \"sa\", \"sh\", \"ww\", \"zq\"],\n\t\t\t\t\"actionRequired\": '',\n\t\t\t\t\"onlyLandingPage\": false,\n\t\t\t\t\"requireMinimumItemsInCart\": 1,\n\t\t\t\t\"requireDOMElements\": [],\n\t\t\t\t\"requiredUTagValues\": [],\n\t\t\t\t\"environments\": [\n\t\t\t\t\t\"www.\",\n\t\t\t\t\t\"shop.\"\n\t\t\t\t]\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"name\": \"[ALL] Catherines Perks Promotion on Cart V2 Test\",\t\t\t\t\n\t\t\t\t\"isolated\": false,\n\t\t\t\t\"isolationTrafficAllocation\": null,\n\t\t\t\t\"mbox\": \"catherinesPerksPromoTest\",\n\t\t\t\t\"includedPages\": [\"cart\"],\n\t\t\t\t\"excludedPages\": [],\n\t\t\t\t\"excludedURLs\": [],\n\t\t\t\t\"requireURLParams\": [],\n\t\t\t\t\"excludeIfCookiePresent\": \"\",\n\t\t\t\t\"eligibleBrands\": [\"aa\", \"bh\", \"ca\", \"cp\", \"da\", \"el\", \"fo\", \"ia\", \"jl\", \"jv\", \"ks\", \"os\", \"rm\", \"sa\", \"sh\", \"ww\", \"zq\"],\n\t\t\t\t\"actionRequired\": '',\n\t\t\t\t\"onlyLandingPage\": false,\n\t\t\t\t\"requireMinimumItemsInCart\": 1,\n\t\t\t\t\"requireDOMElements\": ['.cart-lineitems .product-brand.catherines'],\n\t\t\t\t\"requiredUTagValues\": [],\n\t\t\t\t\"environments\": [\n\t\t\t\t\t\"www.\",\n\t\t\t\t\t\"shop.\"\n\t\t\t\t]\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"name\": \"[ALL] Empty Cart Recommended for You versus Three Recs Test\",\t\t\t\t\n\t\t\t\t\"isolated\": false,\n\t\t\t\t\"isolationTrafficAllocation\": null,\n\t\t\t\t\"mbox\": \"emptyCartRecsTest\",\n\t\t\t\t\"includedPages\": [\"cart\"],\n\t\t\t\t\"excludedPages\": [],\n\t\t\t\t\"excludedURLs\": [],\n\t\t\t\t\"requireURLParams\": [],\n\t\t\t\t\"excludeIfCookiePresent\": \"\",\n\t\t\t\t\"eligibleBrands\": [],\n\t\t\t\t\"actionRequired\": '',\n\t\t\t\t\"onlyLandingPage\": false,\n\t\t\t\t\"requireMinimumItemsInCart\": 0,\n\t\t\t\t\"requireDOMElements\": [\".cart-empty-container\"],\n\t\t\t\t\"requiredUTagValues\": [],\n\t\t\t\t\"environments\": [\n\t\t\t\t\t\"www.\",\n\t\t\t\t\t\"shop.\"\n\t\t\t\t]\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"name\": \"[New Mall] City Chic Brand Experience - PROD\",\t\t\t\t\n\t\t\t\t\"isolated\": false,\n\t\t\t\t\"isolationTrafficAllocation\": null,\n\t\t\t\t\"mbox\": \"newMallCityChic\",\n\t\t\t\t\"includedPages\": [],\n\t\t\t\t\"excludedPages\": ['/checkout', '/shipping', '/billing', '/revieworder'],\n\t\t\t\t\"excludedURLs\": [],\n\t\t\t\t\"requireURLParams\": [],\n\t\t\t\t\"excludeIfCookiePresent\": \"\",\n\t\t\t\t\"eligibleBrands\": [\"da\", \"zq\", \"av\", \"cp\", \"jv\", \"sa\"],\n\t\t\t\t\"actionRequired\": '',\n\t\t\t\t\"onlyLandingPage\": false,\n\t\t\t\t\"requireMinimumItemsInCart\": 0,\n\t\t\t\t\"requireDOMElements\": [],\n\t\t\t\t\"requiredUTagValues\": [{\"key\":\"shopping_mall\", \"value\": \"mall_2\"}],\n\t\t\t\t\"environments\": [\n\t\t\t\t\t\"www.\",\n\t\t\t\t\t\"shop.\"\n\t\t\t\t]\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"name\": \"[ALL] Checkout Redesign\",\t\t\t\t\n\t\t\t\t\"isolated\": false,\n\t\t\t\t\"isolationTrafficAllocation\": null,\n\t\t\t\t\"mbox\": \"checkoutRedesignTest\",\n\t\t\t\t\"includedPages\": [],\n\t\t\t\t\"excludedPages\": ['/checkout', '/shipping', '/billing', '/revieworder'],\n\t\t\t\t\"excludedURLs\": [],\n\t\t\t\t\"requireURLParams\": [],\n\t\t\t\t\"excludeIfCookiePresent\": \"\",\n\t\t\t\t\"eligibleBrands\": [],\n\t\t\t\t\"actionRequired\": '',\n\t\t\t\t\"onlyLandingPage\": false,\n\t\t\t\t\"requireMinimumItemsInCart\": 0,\n\t\t\t\t\"requireDOMElements\": [\".checkout-continue .btn, .checkout-now, .checkout-btn\"],\n\t\t\t\t\"requiredUTagValues\": [],\n\t\t\t\t\"environments\": [\n\t\t\t\t\t\"www.\",\n\t\t\t\t\t\"shop.\"\n\t\t\t\t]\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"name\": \"[ALL] Spotlightr Videos on PDP Expanded Thumbnail Test\",\t\t\t\t\n\t\t\t\t\"isolated\": false,\n\t\t\t\t\"isolationTrafficAllocation\": null,\n\t\t\t\t\"mbox\": \"spotlightrExpandedThumbnailsTest\",\n\t\t\t\t\"includedPages\": [\"pdp\"],\n\t\t\t\t\"excludedPages\": [],\n\t\t\t\t\"excludedURLs\": [],\n\t\t\t\t\"requireURLParams\": [],\n\t\t\t\t\"excludeIfCookiePresent\": \"\",\n\t\t\t\t\"eligibleBrands\": [],\n\t\t\t\t\"actionRequired\": '',\n\t\t\t\t\"onlyLandingPage\": false,\n\t\t\t\t\"requireMinimumItemsInCart\": 0,\n\t\t\t\t\"requireDOMElements\": [],\n\t\t\t\t\"requiredUTagValues\": [{\"key\": 'product_id', \"value\": ['1005117', '1007969', '1000008', '1027526', '1001943', '1001942', '1005270', '1010832', '1075173', '1065743', '1031794', '1083436', '1083297', '1083299', '1036330', '1011217', '1083581', '1031065', '1083863', '1083864', '1078204', '1083330', '1084042', '1082970', '1057109', '1075179', '1075180', '1083348', '1007688', '1030944', '1083569', '1083296', '1083298', '1083344', '1078196', '1064206', '1002922', '1005433', '1005454', '1028965', '1038392', '1038390', '1062282', '1007395', '1039227', '1039623', '1062080', '1007368', '1074582', '1031147', '1044158', '1074517', '1078223', '1078910', '1050039', '1029016', '1038349', '1038350', '1038351', '1064217', '1064218', '1078191', '1051688', '1074577', '1011217', '1062372', '1044428', '1064224', '1064223', '1038358', '1075176', '1075178', '1065697', '1074575', '1057953', '1058211', '1088038', '1088044', '1088047', '1088050', '1088051', '1088048', '1088043', '1023550', '1088045', '1088037', '1088040', '1088042', '1088046', '1088049', '1033313', '1024422', '1024423', '1005212', '1002418', '1005862', '1044990', '1004451', '1004446', '1004449', '1003293', '1078019', '1004854', '1004855', '1078486', '1004874', '1006069', '1078487', '1006239', '1078488', '1038640', '1028784', '1028783', '1002837', '1004120', '1061440', '1038616', '1004722', '1010554', '1005117', '1007969', '1000008', '1027526', '1001943', '1001942', '1005270', '1010832', '1075173', '1065743', '1031794', '1083436', '1083297', '1083299', '1036330', '1011217', '1083581', '1031065', '1083863', '1083864', '1078204', '1083330', '1084042', '1082970', '1057109', '1075179', '1075180', '1083348', '1007688', '1030944', '1083569', '1083296', '1083298', '1083344', '1078196', '1064206', '1002922', '1005433', '1005454', '1028965', '1038392', '1038390', '1062282', '1007395', '1039227', '1039623', '1062080', '1007368', '1074582', '1031147', '1044158', '1074517', '1078223', '1078910', '1050039', '1029016', '1038349', '1038350', '1038351', '1064217', '1064218', '1078191', '1051688', '1074577', '1011217', '1062372', '1044428', '1064224', '1064223', '1038358', '1075176', '1075178', '1065697', '1074575', '1057953', '1058211', '1088038', '1088044', '1088047', '1088050', '1088051', '1088048', '1088043', '1023550', '1088045', '1088037', '1088040', '1088042', '1088046', '1088049', '1033313', '1024422', '1024423', '1005212', '1002418', '1005862', '1044990', '1004451', '1004446', '1004449', '1003293', '1078019', '1004854', '1004855', '1078486', '1004874', '1006069', '1078487', '1006239', '1078488', '1038640', '1028784', '1028783', '1002837', '1004120', '1061440', '1038616', '1004722', '1010554', ['1005117'], ['1007969'], ['1000008'], ['1027526'], ['1001943'], ['1001942'], ['1005270'], ['1010832'], ['1075173'], ['1065743'], ['1031794'], ['1083436'], ['1083297'], ['1083299'], ['1036330'], ['1011217'], ['1083581'], ['1031065'], ['1083863'], ['1083864'], ['1078204'], ['1083330'], ['1084042'], ['1082970'], ['1057109'], ['1075179'], ['1075180'], ['1083348'], ['1007688'], ['1030944'], ['1083569'], ['1083296'], ['1083298'], ['1083344'], ['1078196'], ['1064206'], ['1002922'], ['1005433'], ['1005454'], ['1028965'], ['1038392'], ['1038390'], ['1062282'], ['1007395'], ['1039227'], ['1039623'], ['1062080'], ['1007368'], ['1074582'], ['1031147'], ['1044158'], ['1074517'], ['1078223'], ['1078910'], ['1050039'], ['1029016'], ['1038349'], ['1038350'], ['1038351'], ['1064217'], ['1064218'], ['1078191'], ['1051688'], ['1074577'], ['1011217'], ['1062372'], ['1044428'], ['1064224'], ['1064223'], ['1038358'], ['1075176'], ['1075178'], ['1065697'], ['1074575'], ['1057953'], ['1058211'], ['1088038'], ['1088044'], ['1088047'], ['1088050'], ['1088051'], ['1088048'], ['1088043'], ['1023550'], ['1088045'], ['1088037'], ['1088040'], ['1088042'], ['1088046'], ['1088049'], ['1033313'], ['1024422'], ['1024423'], ['1005212'], ['1002418'], ['1005862'], ['1044990'], ['1004451'], ['1004446'], ['1004449'], ['1003293'], ['1078019'], ['1004854'], ['1004855'], ['1078486'], ['1004874'], ['1006069'], ['1078487'], ['1006239'], ['1078488'], ['1038640'], ['1028784'], ['1028783'], ['1002837'], ['1004120'], ['1061440'], ['1038616'], ['1004722'], ['1010554'], ['1005117'], ['1007969'], ['1000008'], ['1027526'], ['1001943'], ['1001942'], ['1005270'], ['1010832'], ['1075173'], ['1065743'], ['1031794'], ['1083436'], ['1083297'], ['1083299'], ['1036330'], ['1011217'], ['1083581'], ['1031065'], ['1083863'], ['1083864'], ['1078204'], ['1083330'], ['1084042'], ['1082970'], ['1057109'], ['1075179'], ['1075180'], ['1083348'], ['1007688'], ['1030944'], ['1083569'], ['1083296'], ['1083298'], ['1083344'], ['1078196'], ['1064206'], ['1002922'], ['1005433'], ['1005454'], ['1028965'], ['1038392'], ['1038390'], ['1062282'], ['1007395'], ['1039227'], ['1039623'], ['1062080'], ['1007368'], ['1074582'], ['1031147'], ['1044158'], ['1074517'], ['1078223'], ['1078910'], ['1050039'], ['1029016'], ['1038349'], ['1038350'], ['1038351'], ['1064217'], ['1064218'], ['1078191'], ['1051688'], ['1074577'], ['1011217'], ['1062372'], ['1044428'], ['1064224'], ['1064223'], ['1038358'], ['1075176'], ['1075178'], ['1065697'], ['1074575'], ['1057953'], ['1058211'], ['1088038'], ['1088044'], ['1088047'], ['1088050'], ['1088051'], ['1088048'], ['1088043'], ['1023550'], ['1088045'], ['1088037'], ['1088040'], ['1088042'], ['1088046'], ['1088049'], ['1033313'], ['1024422'], ['1024423'], ['1005212'], ['1002418'], ['1005862'], ['1044990'], ['1004451'], ['1004446'], ['1004449'], ['1003293'], ['1078019'], ['1004854'], ['1004855'], ['1078486'], ['1004874'], ['1006069'], ['1078487'], ['1006239'], ['1078488'], ['1038640'], ['1028784'], ['1028783'], ['1002837'], ['1004120'], ['1061440'], ['1038616'], ['1004722'], ['1010554'], '1022756', ['1022756'], '1036043', ['1036043'], '1024422', '1024423', '1038955', '1026007', '1089904', '1089905', '1072978', ['1024422'], ['1024423'], ['1038955'], ['1026007'], ['1089904'], ['1089905'], ['1072978']]}],\n\t\t\t\t\"environments\": [\n\t\t\t\t\t\"www.\",\n\t\t\t\t\t\"shop.\"\n\t\t\t\t]\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"name\": \"[WW] DA Landing Page on WW HP and PLP Test\",\n\t\t\t\t\"isolated\": false,\n\t\t\t\t\"isolationTrafficAllocation\": null,\n\t\t\t\t\"mbox\": \"diaLPonWWTest\",\n\t\t\t\t\"includedPages\": [\"homepage\", \"category\"],\n\t\t\t\t\"excludedPages\": [],\n\t\t\t\t\"excludedURLs\": [],\n\t\t\t\t\"requireURLParams\": [],\n\t\t\t\t\"excludeIfCookiePresent\": \"\",\n\t\t\t\t\"eligibleBrands\": [\"ww\"],\n\t\t\t\t\"actionRequired\": '',\n\t\t\t\t\"onlyLandingPage\": false,\n\t\t\t\t\"requireMinimumItemsInCart\": 0,\n\t\t\t\t\"requireDOMElements\": [],\n\t\t\t\t\"requiredUTagValues\": [],\n\t\t\t\t\"environments\": [\n\t\t\t\t\t\"www.\"\n\t\t\t\t]\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"name\": \"[ALL] Stop Motion Images on PDP Test\",\t\t\t\t\n\t\t\t\t\"isolated\": false,\n\t\t\t\t\"isolationTrafficAllocation\": null,\n\t\t\t\t\"mbox\": \"stopMotionImagesTest\",\n\t\t\t\t\"includedPages\": [\"pdp\"],\n\t\t\t\t\"excludedPages\": [],\n\t\t\t\t\"excludedURLs\": [],\n\t\t\t\t\"requireURLParams\": [],\n\t\t\t\t\"excludeIfCookiePresent\": \"\",\n\t\t\t\t\"eligibleBrands\": [],\n\t\t\t\t\"actionRequired\": '',\n\t\t\t\t\"onlyLandingPage\": false,\n\t\t\t\t\"requireMinimumItemsInCart\": 0,\n\t\t\t\t\"requireDOMElements\": [],\n\t\t\t\t\"requiredUTagValues\": [{\"key\": 'product_id', \"value\": ['1004576', '1028593', '1005700', '1003926', '1036767', '1009400', '1036751', '1028680', ['1004576'], ['1028593'], ['1005700'], ['1003926'], ['1036767'], ['1009400'], ['1036751'], ['1028680']]}],\n\t\t\t\t\"environments\": [\n\t\t\t\t\t\"www.\",\n\t\t\t\t\t\"shop.\"\n\t\t\t\t]\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"name\": \"[ww, ca, rm, jl, el, ks, ia, sh, aa, av, os, sa, jv]  - Free Ship on 125\",\n\t\t\t\t\"isolated\": false,\n\t\t\t\t\"isolationTrafficAllocation\": null,\n\t\t\t\t\"mbox\": \"freeShip125\",\n\t\t\t\t\"includedPages\": [],\n\t\t\t\t\"excludedPages\": ['/checkout', '/shipping', '/billing', '/revieworder'],\n\t\t\t\t\"excludedURLs\": [],\n\t\t\t\t\"requireURLParams\": [],\n\t\t\t\t\"excludeIfCookiePresent\": \"\",\n\t\t\t\t\"eligibleBrands\": ['ww', 'ca', 'rm', 'jl', 'el', 'ks', 'ia', 'sh', 'aa', 'av', 'os', 'sa', 'jv'],\n\t\t\t\t\"actionRequired\": '',\n\t\t\t\t\"onlyLandingPage\": false,\n\t\t\t\t\"requireMinimumItemsInCart\": 0,\n\t\t\t\t\"requireDOMElements\": [],\n\t\t\t\t\"requiredUTagValues\": [{\"key\": 'shopping_mall', \"value\": 'mall_1'}],\n\t\t\t\t\"environments\": [\n\t\t\t\t\t\"www.\"\n\t\t\t\t]\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"name\": \"[WW] Social Media Videos on PDP Alt Images Test\",\t\t\t\t\n\t\t\t\t\"isolated\": false,\n\t\t\t\t\"isolationTrafficAllocation\": null,\n\t\t\t\t\"mbox\": \"wwSocialMediaVideosTest\",\n\t\t\t\t\"includedPages\": [\"pdp\"],\n\t\t\t\t\"excludedPages\": [],\n\t\t\t\t\"excludedURLs\": [],\n\t\t\t\t\"requireURLParams\": [],\n\t\t\t\t\"excludeIfCookiePresent\": \"\",\n\t\t\t\t\"eligibleBrands\": ['ww'],\n\t\t\t\t\"actionRequired\": '',\n\t\t\t\t\"onlyLandingPage\": false,\n\t\t\t\t\"requireMinimumItemsInCart\": 0,\n\t\t\t\t\"requireDOMElements\": [],\n\t\t\t\t\"requiredUTagValues\": [{\"key\": 'product_id', \"value\": ['1003426', '1003629', '1006751', '1026007', '1069407', '1009923', '1042505', '1007684', '1008288', '1002356', '1051784', '1036819', '1008325', '1049821', '1031571', '1059965', '1001807', '1003143', '1010514', ['1003426'], ['1003629'], ['1006751'], ['1026007'], ['1069407'], ['1009923'], ['1042505'], ['1007684'], ['1008288'], ['1002356'], ['1051784'], ['1036819'], ['1008325'], ['1049821'], ['1031571'], ['1059965'], ['1001807'], ['1003143'], ['1010514']]}],\n\t\t\t\t\"environments\": [\n\t\t\t\t\t\"www.\",\n\t\t\t\t\t\"shop.\"\n\t\t\t\t]\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"name\": \"[ALL] - Order of Data Science Recs on PDP Test\",\n\t\t\t\t\"isolated\": false,\n\t\t\t\t\"isolationTrafficAllocation\": null,\n\t\t\t\t\"mbox\": \"orderOfRecsTest\",\n\t\t\t\t\"includedPages\": [\"pdp\"],\n\t\t\t\t\"excludedPages\": [],\n\t\t\t\t\"excludedURLs\": [],\n\t\t\t\t\"requireURLParams\": [],\n\t\t\t\t\"excludeIfCookiePresent\": \"\",\n\t\t\t\t\"eligibleBrands\": [],\n\t\t\t\t\"actionRequired\": '',\n\t\t\t\t\"onlyLandingPage\": false,\n\t\t\t\t\"requireMinimumItemsInCart\": 0,\n\t\t\t\t\"requireDOMElements\": [],\n\t\t\t\t\"requiredUTagValues\": [],\n\t\t\t\t\"environments\": [\n\t\t\t\t\t\"www.\",\n\t\t\t\t\t\"shop.\"\n\t\t\t\t]\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"name\": \"[ALL] Dia Style Boxes Tab on Old Mall Test\",\n\t\t\t\t\"isolated\": false,\n\t\t\t\t\"isolationTrafficAllocation\": null,\n\t\t\t\t\"mbox\": \"diaStyleBoxTest\",\n\t\t\t\t\"includedPages\": [],\n\t\t\t\t\"excludedPages\": ['/checkout', '/shipping', '/billing'],\n\t\t\t\t\"excludedURLs\": [],\n\t\t\t\t\"requireURLParams\": [],\n\t\t\t\t\"excludeIfCookiePresent\": \"\",\n\t\t\t\t\"eligibleBrands\": [],\n\t\t\t\t\"actionRequired\": '',\n\t\t\t\t\"onlyLandingPage\": false,\n\t\t\t\t\"requireMinimumItemsInCart\": 0,\n\t\t\t\t\"requireDOMElements\": [],\n\t\t\t\t\"requiredUTagValues\": [{\"key\": 'shopping_mall', \"value\": 'mall_1'}],\n\t\t\t\t\"environments\": [\n\t\t\t\t\t\"www.\"\n\t\t\t\t]\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"name\": \"Classic Mall PDP Add to Bag Button Savings Story\",\n\t\t\t\t\"isolated\": false,\n\t\t\t\t\"isolationTrafficAllocation\": null,\n\t\t\t\t\"mbox\": \"pdpSavingsClassicMall\",\n\t\t\t\t\"includedPages\": [\"pdp\"],\n\t\t\t\t\"excludedPages\": [],\n\t\t\t\t\"excludedURLs\": [],\n\t\t\t\t\"requireURLParams\": [],\n\t\t\t\t\"excludeIfCookiePresent\": \"\",\n\t\t\t\t\"eligibleBrands\": [],\n\t\t\t\t\"actionRequired\": '',\n\t\t\t\t\"onlyLandingPage\": false,\n\t\t\t\t\"requireMinimumItemsInCart\": 0,\n\t\t\t\t\"requireDOMElements\": [],\n\t\t\t\t\"requiredUTagValues\": [{\"key\": 'shopping_mall', \"value\": 'mall_1'}],\n\t\t\t\t\"environments\": [\n\t\t\t\t\t\"www.\"\n\t\t\t\t]\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"name\": \"[BH] Product Icons for Bedding and Windows Items Test\",\t\t\t\t\n\t\t\t\t\"isolated\": false,\n\t\t\t\t\"isolationTrafficAllocation\": null,\n\t\t\t\t\"mbox\": \"bhProductIconTest\",\n\t\t\t\t\"includedPages\": [\"pdp\"],\n\t\t\t\t\"excludedPages\": [],\n\t\t\t\t\"excludedURLs\": [],\n\t\t\t\t\"requireURLParams\": [],\n\t\t\t\t\"excludeIfCookiePresent\": \"\",\n\t\t\t\t\"eligibleBrands\": ['bh'],\n\t\t\t\t\"actionRequired\": '',\n\t\t\t\t\"onlyLandingPage\": false,\n\t\t\t\t\"requireMinimumItemsInCart\": 0,\n\t\t\t\t\"requireDOMElements\": [],\n\t\t\t\t\"requiredUTagValues\": [{\"key\": 'product_id', \"value\": ['1026957', ['1026957'], '1023846', ['1023846'], '1034603', ['1034603'], '1027374', ['1027374'], '1033455', ['1033455'], '1041848', ['1041848'], '1036920', ['1036920'], '1064185', ['1064185'],'1081632', ['1081632'],'1036888', ['1036888'],'1082868', ['1082868'],'1025776', ['1025776'],'1038963', ['1038963'],'1041849', ['1041849'],'1049889', ['1049889'],'1026414', ['1026414'],'1033456', ['1033456'],'1027642', ['1027642'],'1033597', ['1033597'],'1034671', ['1034671'],'1064188', ['1064188'],'1047292', ['1047292'],'1078950', ['1078950'],'1034051', ['1034051'],'1081633', ['1081633'],'1082861', ['1082861'],'1036921', ['1036921'],'1084048', ['1084048'],'1077331', ['1077331'],'1036924', ['1036924'],'1084049', ['1084049'],'1063697', ['1063697'],'1082869', ['1082869'],'1081644', ['1081644'],'1058867', ['1058867'],'1058869', ['1058869'],'1034189', ['1034189'],'1078907', ['1078907'],'1038964', ['1038964'],'1049884', ['1049884'],'1033596', ['1033596'],'1080642', ['1080642'],'1082871', ['1082871'],'1058896', ['1058896'],'1077333', ['1077333'],'1071769', ['1071769'],'1038990', ['1038990'],'1071777', ['1071777'],'1084209', ['1084209'],'1034052', ['1034052'],'1035393', ['1035393'],'1035392', ['1035392'],'1033594', ['1033594'],'1060654', ['1060654'],'1066158', ['1066158'],'1048063', ['1048063'],'1060655', ['1060655'],'1033250', ['1033250'],'1037157', ['1037157'],'1037171', ['1037171'],'1025318', ['1025318'],'1033805', ['1033805'],'1023821', ['1023821'],'1048065', ['1048065'],'1041799', ['1041799'],'1034056', ['1034056'],'1041677', ['1041677'],'1060656', ['1060656'],'1033620', ['1033620'],'1033244', ['1033244'],'1036877', ['1036877'],'1038542', ['1038542'],'1034597', ['1034597'],'1071923', ['1071923'],'1066159', ['1066159'],'1036875', ['1036875'],'1028115', ['1028115'],'1071925', ['1071925'],'1033144', ['1033144'],'1035394', ['1035394'],'1026922', ['1026922'],'1027898', ['1027898'],'1024027', ['1024027'],'1038914', ['1038914'],'1060659', ['1060659'],'1024468', ['1024468'],'1077591', ['1077591'],'1082880', ['1082880'],'1048066', ['1048066'],'1033582', ['1033582'],'1034513', ['1034513'],'1038910', ['1038910'],'1041972', ['1041972'],'1084121', ['1084121'],'1082885', ['1082885'],'1082872', ['1082872'],'1036563', ['1036563'],'1060658', ['1060658'],'1082873', ['1082873']]}],\n\t\t\t\t\"environments\": [\n\t\t\t\t\t\"www.\",\n\t\t\t\t\t\"shop.\"\n\t\t\t\t]\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"name\": \"[Old Mall] Checkout Urgency Banner in ATB and Minicart MBOX Controller\",\t\t\t\t\n\t\t\t\t\"isolated\": false,\n\t\t\t\t\"isolationTrafficAllocation\": null,\n\t\t\t\t\"mbox\": \"checkOutUrgencyMiniATBOldMall\",\n\t\t\t\t\"includedPages\": [],\n\t\t\t\t\"excludedPages\": ['/checkout', '/shipping', '/billing', '/revieworder'],\n\t\t\t\t\"excludedURLs\": [],\n\t\t\t\t\"requireURLParams\": [],\n\t\t\t\t\"excludeIfCookiePresent\": \"\",\n\t\t\t\t\"eligibleBrands\": [],\n\t\t\t\t\"actionRequired\": '',\n\t\t\t\t\"onlyLandingPage\": false,\n\t\t\t\t\"requireMinimumItemsInCart\": 0,\n\t\t\t\t\"requireDOMElements\": [],\n\t\t\t\t\"requiredUTagValues\": [{\"key\": 'shopping_mall', \"value\": 'mall_1'}],\n\t\t\t\t\"environments\": [\n\t\t\t\t\t\"www.\",\n\t\t\t\t\t\"shop.\"\n\t\t\t\t]\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"name\": \"[WW] New Arrivals Nav Link Filter or Not Test\",\t\t\t\t\n\t\t\t\t\"isolated\": false,\n\t\t\t\t\"isolationTrafficAllocation\": null,\n\t\t\t\t\"mbox\": \"wwNewArrivalsNavTest\",\n\t\t\t\t\"includedPages\": [],\n\t\t\t\t\"excludedPages\": ['/checkout', '/shipping', '/billing', '/revieworder'],\n\t\t\t\t\"excludedURLs\": [],\n\t\t\t\t\"requireURLParams\": [],\n\t\t\t\t\"excludeIfCookiePresent\": \"\",\n\t\t\t\t\"eligibleBrands\": [\"ww\"],\n\t\t\t\t\"actionRequired\": '',\n\t\t\t\t\"onlyLandingPage\": false,\n\t\t\t\t\"requireMinimumItemsInCart\": 0,\n\t\t\t\t\"requireDOMElements\": [],\n\t\t\t\t\"requiredUTagValues\": [],\n\t\t\t\t\"environments\": [\n\t\t\t\t\t\"www.\",\n\t\t\t\t\t\"shop.\"\n\t\t\t\t]\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"name\": \"[ALL] Catalog Quick Order Page Recommendations Test\",\t\t\t\t\n\t\t\t\t\"isolated\": false,\n\t\t\t\t\"isolationTrafficAllocation\": null,\n\t\t\t\t\"mbox\": \"catalogQuickOrderRecsTest\",\n\t\t\t\t\"includedPages\": [\"quickorder\"],\n\t\t\t\t\"excludedPages\": [],\n\t\t\t\t\"excludedURLs\": [],\n\t\t\t\t\"requireURLParams\": [],\n\t\t\t\t\"excludeIfCookiePresent\": \"\",\n\t\t\t\t\"eligibleBrands\": [],\n\t\t\t\t\"actionRequired\": '',\n\t\t\t\t\"onlyLandingPage\": false,\n\t\t\t\t\"requireMinimumItemsInCart\": 0,\n\t\t\t\t\"requireDOMElements\": [],\n\t\t\t\t\"requiredUTagValues\": [],\n\t\t\t\t\"environments\": [\n\t\t\t\t\t\"www.\",\n\t\t\t\t\t\"shop.\"\n\t\t\t\t]\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"name\": \"[WW CA RM JL OS AV EL] Swim Bottoms Banner on PLP\",\t\t\t\t\n\t\t\t\t\"isolated\": false,\n\t\t\t\t\"isolationTrafficAllocation\": null,\n\t\t\t\t\"mbox\": \"swimBottomsBannerPLP\",\n\t\t\t\t\"includedPages\": [\"category\"],\n\t\t\t\t\"excludedPages\": ['/checkout', '/shipping', '/billing', '/revieworder'],\n\t\t\t\t\"excludedURLs\": [],\n\t\t\t\t\"requireURLParams\": [],\n\t\t\t\t\"excludeIfCookiePresent\": \"\",\n\t\t\t\t\"eligibleBrands\": [\"ww\", \"ca\", \"rm\", \"jl\", \"os\", \"av\", \"el\"],\n\t\t\t\t\"actionRequired\": '',\n\t\t\t\t\"onlyLandingPage\": false,\n\t\t\t\t\"requireMinimumItemsInCart\": 0,\n\t\t\t\t\"requireDOMElements\": [],\n\t\t\t\t\"requiredUTagValues\": [],\n\t\t\t\t\"environments\": [\n\t\t\t\t\t\"www.\",\n\t\t\t\t\t\"shop.\"\n\t\t\t\t]\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"name\": \"[ALL] Taggstar API Changes Test\",\n\t\t\t\t\"isolated\": false,\n\t\t\t\t\"isolationTrafficAllocation\": null,\n\t\t\t\t\"mbox\": \"taggstarAPITest\",\n\t\t\t\t\"includedPages\": [],\n\t\t\t\t\"excludedPages\": [],\n\t\t\t\t\"excludedURLs\": [],\n\t\t\t\t\"requireURLParams\": [],\n\t\t\t\t\"excludeIfCookiePresent\": \"\",\n\t\t\t\t\"eligibleBrands\": [],\n\t\t\t\t\"actionRequired\": '',\n\t\t\t\t\"onlyLandingPage\": false,\n\t\t\t\t\"requireMinimumItemsInCart\": 0,\n\t\t\t\t\"requireDOMElements\": [],\n\t\t\t\t\"requiredUTagValues\": [],\n\t\t\t\t\"environments\": [\n\t\t\t\t\t\"www.\",\n\t\t\t\t\t\"shop.\"\n\t\t\t\t]\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"name\": \"[ALL] PDP Image Grid Test\",\n\t\t\t\t\"isolated\": false,\n\t\t\t\t\"isolationTrafficAllocation\": null,\n\t\t\t\t\"mbox\": \"pdpImageGridTest\",\n\t\t\t\t\"includedPages\": [\"pdp\"],\n\t\t\t\t\"excludedPages\": [],\n\t\t\t\t\"excludedURLs\": [],\n\t\t\t\t\"requireURLParams\": [],\n\t\t\t\t\"excludeIfCookiePresent\": \"\",\n\t\t\t\t\"eligibleBrands\": [],\n\t\t\t\t\"actionRequired\": '',\n\t\t\t\t\"onlyLandingPage\": false,\n\t\t\t\t\"requireMinimumItemsInCart\": 0,\n\t\t\t\t\"requireDOMElements\": [],\n\t\t\t\t\"requiredUTagValues\": [],\n\t\t\t\t\"environments\": [\n\t\t\t\t\t\"www.\",\n\t\t\t\t\t\"shop.\"\n\t\t\t\t]\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"name\": \"[WW] Loyalty Banner on Shopping Bag\",\n\t\t\t\t\"isolated\": false,\n\t\t\t\t\"isolationTrafficAllocation\": null,\n\t\t\t\t\"mbox\": \"loyaltyBannerWWTest\",\n\t\t\t\t\"includedPages\": [\"checkout\"],\n\t\t\t\t\"excludedPages\": [],\n\t\t\t\t\"excludedURLs\": [],\n\t\t\t\t\"requireURLParams\": [],\n\t\t\t\t\"excludeIfCookiePresent\": \"\",\n\t\t\t\t\"eligibleBrands\": [\"ww\"],\n\t\t\t\t\"actionRequired\": '',\n\t\t\t\t\"onlyLandingPage\": false,\n\t\t\t\t\"requireMinimumItemsInCart\": 0,\n\t\t\t\t\"requireDOMElements\": ['.loyalty-club-info'],\n\t\t\t\t\"requiredUTagValues\": [],\n\t\t\t\t\"environments\": [\n\t\t\t\t\t\"www.\"\n\t\t\t\t]\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"name\": \"[ALL] Hide Unavailable Colors Test\",\n\t\t\t\t\"isolated\": false,\n\t\t\t\t\"isolationTrafficAllocation\": null,\n\t\t\t\t\"mbox\": \"hideUnavailableColorsTest\",\n\t\t\t\t\"includedPages\": [\"pdp\"],\n\t\t\t\t\"excludedPages\": [],\n\t\t\t\t\"excludedURLs\": [],\n\t\t\t\t\"requireURLParams\": [],\n\t\t\t\t\"excludeIfCookiePresent\": \"\",\n\t\t\t\t\"eligibleBrands\": [],\n\t\t\t\t\"actionRequired\": '',\n\t\t\t\t\"onlyLandingPage\": false,\n\t\t\t\t\"requireMinimumItemsInCart\": 0,\n\t\t\t\t\"requireDOMElements\": ['.color-attribute.rounded-circle.unavailable'],\n\t\t\t\t\"requiredUTagValues\": [],\n\t\t\t\t\"environments\": [\n\t\t\t\t\t\"www.\",\n\t\t\t\t\t\"shop.\"\n\t\t\t\t]\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"name\": \"[ALL] PLA Recs with Mobile Design WITHOUT Channels Test\",\n\t\t\t\t\"isolated\": false,\n\t\t\t\t\"isolationTrafficAllocation\": null,\n\t\t\t\t\"mbox\": \"plaMobileWithoutTest\",\n\t\t\t\t\"includedPages\": [\"pdp\"],\n\t\t\t\t\"excludedPages\": [],\n\t\t\t\t\"excludedURLs\": [],\n\t\t\t\t\"requireURLParams\": [],\n\t\t\t\t\"excludeIfCookiePresent\": \"\",\n\t\t\t\t\"eligibleBrands\": [],\n\t\t\t\t\"actionRequired\": '',\n\t\t\t\t\"onlyLandingPage\": false,\n\t\t\t\t\"requireMinimumItemsInCart\": 0,\n\t\t\t\t\"requireDOMElements\": [],\n\t\t\t\t\"requiredUTagValues\": [],\n\t\t\t\t\"environments\": [\n\t\t\t\t\t\"www.\",\n\t\t\t\t\t\"shop.\"\n\t\t\t\t]\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"name\": \"[ALL] PLA Recs with Mobile Design WITH Channels Test\",\n\t\t\t\t\"isolated\": false,\n\t\t\t\t\"isolationTrafficAllocation\": null,\n\t\t\t\t\"mbox\": \"plaMobileWithTest\",\n\t\t\t\t\"includedPages\": [\"pdp\"],\n\t\t\t\t\"excludedPages\": [],\n\t\t\t\t\"excludedURLs\": [],\n\t\t\t\t\"requireURLParams\": [],\n\t\t\t\t\"excludeIfCookiePresent\": \"\",\n\t\t\t\t\"eligibleBrands\": [],\n\t\t\t\t\"actionRequired\": '',\n\t\t\t\t\"onlyLandingPage\": false,\n\t\t\t\t\"requireMinimumItemsInCart\": 0,\n\t\t\t\t\"requireDOMElements\": [],\n\t\t\t\t\"requiredUTagValues\": [],\n\t\t\t\t\"environments\": [\n\t\t\t\t\t\"www.\",\n\t\t\t\t\t\"shop.\"\n\t\t\t\t]\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"name\": \"[ALL] Data Science vs Adobe Target vs Einstein Recs Test\",\n\t\t\t\t\"isolated\": false,\n\t\t\t\t\"isolationTrafficAllocation\": null,\n\t\t\t\t\"mbox\": \"DSvsATvsEinsteinTest\",\n\t\t\t\t\"includedPages\": [\"pdp\", \"cart\"],\n\t\t\t\t\"excludedPages\": [],\n\t\t\t\t\"excludedURLs\": [],\n\t\t\t\t\"requireURLParams\": [],\n\t\t\t\t\"excludeIfCookiePresent\": \"\",\n\t\t\t\t\"eligibleBrands\": [],\n\t\t\t\t\"actionRequired\": '',\n\t\t\t\t\"onlyLandingPage\": false,\n\t\t\t\t\"requireMinimumItemsInCart\": 0,\n\t\t\t\t\"requireDOMElements\": [],\n\t\t\t\t\"requiredUTagValues\": [],\n\t\t\t\t\"environments\": [\n\t\t\t\t\t\"www.\",\n\t\t\t\t\t\"shop.\"\n\t\t\t\t]\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"name\": \"[WW] Add Digital Catalog CTA to CQO Page Test\",\n\t\t\t\t\"isolated\": false,\n\t\t\t\t\"isolationTrafficAllocation\": null,\n\t\t\t\t\"mbox\": \"wwCQODigitalCatalogTest\",\n\t\t\t\t\"includedPages\": [\"quickorder\"],\n\t\t\t\t\"excludedPages\": [],\n\t\t\t\t\"excludedURLs\": [],\n\t\t\t\t\"requireURLParams\": [],\n\t\t\t\t\"excludeIfCookiePresent\": \"\",\n\t\t\t\t\"eligibleBrands\": [\"ww\"],\n\t\t\t\t\"actionRequired\": '',\n\t\t\t\t\"onlyLandingPage\": false,\n\t\t\t\t\"requireMinimumItemsInCart\": 0,\n\t\t\t\t\"requireDOMElements\": [],\n\t\t\t\t\"requiredUTagValues\": [],\n\t\t\t\t\"environments\": [\n\t\t\t\t\t\"www.\"\n\t\t\t\t]\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"name\": \"SB.PDP.AIVideos.V1\",\t\t\t\t\n\t\t\t\t\"isolated\": false,\n\t\t\t\t\"isolationTrafficAllocation\": null,\n\t\t\t\t\"mbox\": \"hideShowAIVideos\",\n\t\t\t\t\"includedPages\": [\"pdp\"],\n\t\t\t\t\"excludedPages\": [],\n\t\t\t\t\"excludedURLs\": [],\n\t\t\t\t\"requireURLParams\": [],\n\t\t\t\t\"excludeIfCookiePresent\": \"\",\n\t\t\t\t\"eligibleBrands\": [],\n\t\t\t\t\"actionRequired\": '',\n\t\t\t\t\"onlyLandingPage\": false,\n\t\t\t\t\"requireMinimumItemsInCart\": 0,\n\t\t\t\t\"requireDOMElements\": [],\n\t\t\t\t\"requiredUTagValues\": [{\"key\": 'product_id', \"value\": ['1049773', '1091921', '1010754', '1004950', '1007711', '1007222', '1114555', '1086075', '1001461', '1106896', '1115076', '1115421', '1115335', '1115334', '1010353', '1031388', '1006277', '1114931', '1083309', '1115196', '1096170', '1115237', '1114698', '1029233', '1114715', '1094231', '1036645', '1007792', '1094024', '1002484', '1005691', '1009956', '1029231', '1114712', '1009697', '1065701', '1003208']}],\n\t\t\t\t\"environments\": [\n\t\t\t\t\t\"www.\",\n\t\t\t\t\t\"shop.\"\n\t\t\t\t]\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"name\": \"AB.NAV.BrandTabOrder.V1\",\n\t\t\t\t\"isolated\": false,\n\t\t\t\t\"isolationTrafficAllocation\": null,\n\t\t\t\t\"mbox\": \"brandTabOrderTest\",\n\t\t\t\t\"includedPages\": [],\n\t\t\t\t\"excludedPages\": [],\n\t\t\t\t\"requireURLParams\": [],\n\t\t\t\t\"excludedURLs\": ['/checkout', '/shipping', '/billing', '/revieworder'],\n\t\t\t\t\"excludeIfCookiePresent\": \"\",\n\t\t\t\t\"eligibleBrands\": [],\n\t\t\t\t\"actionRequired\": '',\n\t\t\t\t\"onlyLandingPage\": false,\n\t\t\t\t\"requireMinimumItemsInCart\": 0,\n\t\t\t\t\"requireDOMElements\": [],\n\t\t\t\t\"requiredUTagValues\": [],\n\t\t\t\t\"environments\": [\n\t\t\t\t\t\"www.\",\n\t\t\t\t\t\"shop.\"\n\t\t\t\t]\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"name\": \"SB.PLP.TaggstarAPI.E1\",\n\t\t\t\t\"isolated\": false,\n\t\t\t\t\"isolationTrafficAllocation\": null,\n\t\t\t\t\"mbox\": \"taggstarAPITestSomeBrands\",\n\t\t\t\t\"includedPages\": [],\n\t\t\t\t\"excludedPages\": [],\n\t\t\t\t\"excludedURLs\": [],\n\t\t\t\t\"requireURLParams\": [],\n\t\t\t\t\"excludeIfCookiePresent\": \"\",\n\t\t\t\t\"eligibleBrands\": [\"ww\", \"zq\", \"ca\", \"rm\", \"ks\", \"av\"],\n\t\t\t\t\"actionRequired\": '',\n\t\t\t\t\"onlyLandingPage\": false,\n\t\t\t\t\"requireMinimumItemsInCart\": 0,\n\t\t\t\t\"requireDOMElements\": [],\n\t\t\t\t\"requiredUTagValues\": [],\n\t\t\t\t\"environments\": [\n\t\t\t\t\t\"www.\",\n\t\t\t\t\t\"shop.\"\n\t\t\t\t]\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"name\": \"WW.HEADER.CatalogPopover.V1\",\n\t\t\t\t\"isolated\": false,\n\t\t\t\t\"isolationTrafficAllocation\": null,\n\t\t\t\t\"mbox\": \"wwDigitalCatalogPopoverTest\",\n\t\t\t\t\"includedPages\": [],\n\t\t\t\t\"excludedPages\": [],\n\t\t\t\t\"excludedURLs\": [\"/checkout\", \"/shipping\", \"/billing\", \"/revieworder\"],\n\t\t\t\t\"requireURLParams\": [],\n\t\t\t\t\"excludeIfCookiePresent\": \"\",\n\t\t\t\t\"eligibleBrands\": [\"ww\"],\n\t\t\t\t\"actionRequired\": '',\n\t\t\t\t\"onlyLandingPage\": false,\n\t\t\t\t\"requireMinimumItemsInCart\": 0,\n\t\t\t\t\"requireDOMElements\": [],\n\t\t\t\t\"requiredUTagValues\": [],\n\t\t\t\t\"environments\": [\n\t\t\t\t\t\"www.\"\n\t\t\t\t]\n\t\t\t}\n\t\t];\n\n\t\t//Check Cookie to see if user is in open swim - if so no need to reassign.\n\t\t//Otherwise\n\t\t//Check if the test is present in the campaign config\n\t\t//If not - reassign\n\t\t//If so - check firing restrictions and call mbox if appropriate\n\n\t\tfunction getRandomIntInclusive(min, max) {\n\t\t  min = Math.ceil(min);\n\t\t  max = Math.floor(max);\n\t\t  return Math.floor(Math.random() * (max - min + 1) + min); // The maximum is inclusive and the minimum is inclusive\n\t\t}\n\n\t\tfunction isJsonString(str) {\n\t    try {\n\t      JSON.parse(str);\n\t    } catch (e) {\n\t      return false;\n\t    }\n\t    return true;\n\t  }\n\n\t  function readCookie(name) {\n\t    var nameEQ = name + \"=\";\n\t    var ca = document.cookie.split(';');\n\t    for (var i = 0; i < ca.length; i++) {\n\t      var c = ca[i];\n\t      while (c.charAt(0) == ' ') c = c.substring(1, c.length);\n\t      if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length, c.length);\n\t    }\n\t    return null;\n\t  }\n\n\t  function setCookie(cname, cvalue, exdays) {\n\t    var d = new Date();\n\t    d.setTime(d.getTime() + (exdays * 24 * 60 * 60 * 1000));\n\t    var expires = \"expires=\" + d.toUTCString();\n\t    document.cookie = cname + \"=\" + cvalue + \";\" + expires + \";path=/\";\n\t  }\n\n\t  function getUrlParameter(name) {\n      name = name.replace(/[\\[]/, '\\\\[').replace(/[\\]]/, '\\\\]');\n      var regex = new RegExp('[\\\\?&]' + name + '=([^&#]*)');\n      var results = regex.exec(location.search);\n      return results === null ? '' : decodeURIComponent(results[1].replace(/\\+/g, ' '));\n    };\n\n\t  //Reset Product Finding Method Detail Cookie\n    setTimeout(function() { \n\t\t  var findingMethodDetail = 'NOABTEST';\n\t\t  var icidParam = getUrlParameter('ICID');\n\t\t  var icidCookie = readCookie('atICID');\n  \t\tvar storedICID = icidCookie;\n\n\t\t  if (!storedICID) {\n\t\t    try {\n\t\t      storedICID = localStorage.getItem('atICID');\n\t\t    } catch(e) {}\n\t\t  }\n\t\t  if(getUrlParameter('outfittingType') == 'fb') {\n\t\t  \tfindingMethodDetail = 'Outfitting_Test:Full_Beauty';\n\t\t  } else if(getUrlParameter('outfittingType') == 'stylitics') {\n\t\t  \tfindingMethodDetail = 'Outfitting_Test:Stylitics';\n\t\t  } else if(getUrlParameter('ref') == 'dashhudson') {\n\t\t  \tfindingMethodDetail = 'UGC';\n\t\t  } else if (icidParam && icidParam.indexOf('MegaMenu|') === 0) {\n\t\t    findingMethodDetail = icidParam;\n\t\t    setCookie('atICID', icidParam, 30);\n\t\t    try {\n\t\t\t    localStorage.setItem('atICID', icidParam);\n\t\t\t  } catch(e) {}\n\t\t  } else if (storedICID && storedICID.indexOf('MegaMenu|') === 0) {\n\t\t    findingMethodDetail = storedICID;\n\t\t    setCookie('atICID', storedICID, 30);\n\t\t  }\n\t\t  setCookie('_productFindingMethodDetailOSS', findingMethodDetail, 3);\n\t  }, 500);\n\n\n\t  function validateCampaign(campaign) {\n\t\t\tvar debug = false;\n\t\t\tif(window.location.href.indexOf('debugController=true') > -1) {\n\t\t  \tdebug = true;\n\t\t\t}\n\t\t\tvar qualified = true;\n\t\t\tvar qualifiedIncludedPage = false;\n\t\t\tvar qualifiedIsExcludedPage = false;\n\t\t\tvar qualifiedIsExcludedURL = false;\n\t\t\tvar qualifiedURLParams = false;\n\t\t\tvar qualifiedHasExcludedCookie = false;\n\t\t\tvar qualifiedBrand = false;\n\t\t\tvar qualifiedEnvironment = false;\n\t\t\tvar qualifiedFirstPage = false;\n\t\t\tvar qualifiedRequiresAction = false;\n\t\t\tvar qualifiedRequiresElements = false;\n\t\t\tvar qualifiedIneligibleCountItemsInCart = false;\n\t\t\tvar qualifiedUTagValues = true;\n\t\t\tif(campaign.includedPages.length > 0) {\n\t\t\t\tfor(var i=0; i<campaign.includedPages.length; i++) {\n\t\t\t\t\tif(campaign.includedPages[i] == utag_data.page_type || campaign.includedPages[i] == utag_data.page_name) {\n\t\t\t\t\t\tqualifiedIncludedPage = true;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tif(qualifiedIncludedPage === false) {\n\t\t\t\t\tqualified = false;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif(campaign.excludedPages.length > 0 && qualified === true) {\n\t\t\t\tfor(var i=0; i<campaign.excludedPages.length; i++) {\n\t\t\t\t\tif(campaign.excludedPages[i] == utag_data.page_type || campaign.excludedPages[i] == utag_data.page_name) {\n\t\t\t\t\t\tqualifiedIsExcludedPage = true;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif(qualifiedIsExcludedPage === true) {\n\t\t\t\t\tqualified = false;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif(campaign.excludedURLs.length > 0 && qualified === true) {\n\t\t\t\tfor(var i=0; i<campaign.excludedURLs.length; i++) {\n\t\t\t\t\tif(window.location.href.indexOf(campaign.excludedURLs[i]) > -1) {\n\t\t\t\t\t\tqualifiedIsExcludedURL = true;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif(qualifiedIsExcludedURL === true) {\n\t\t\t\t\tqualified = false;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif(campaign.requireURLParams.length > 0 && qualified === true) {\n\t\t\t\tfor(var i=0; i<campaign.requireURLParams.length; i++) {\n\t\t\t\t\tvar urlObj = campaign.requireURLParams[i];\n\t\t\t\t\tif(urlObj.hasOwnProperty('key') && urlObj.hasOwnProperty('value')) {\n\t\t\t\t\t\tvar urlParam = getUrlParameter(urlObj.key);\n\t\t\t\t\t\tif(urlParam !== null && urlParam.toLowerCase().indexOf(urlObj.value.toLowerCase()) > -1) {\n\t\t\t\t\t\t\tqualifiedURLParams = true;\n\t\t\t\t\t\t\tbreak;\t\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif(qualifiedURLParams === false) {\n\t\t\t\t\tqualified = false;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif(campaign.eligibleBrands.length > 0 && qualified === true) {\n\t\t\t\tfor(var i=0; i<campaign.eligibleBrands.length; i++) {\n\t\t\t\t\tif(campaign.eligibleBrands[i] == utag_data.site_branding) {\n\t\t\t\t\t\tqualifiedBrand = true;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif(qualifiedBrand === false) {\n\t\t\t\t\tqualified = false;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif(campaign.environments.length > 0 && qualified === true) {\n\t\t\t\tfor(var i=0; i<campaign.environments.length; i++) {\n\t\t\t\t\tif(window.location.href.indexOf(campaign.environments[i]) > -1) {\n\t\t\t\t\t\tqualifiedEnvironment = true;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif(qualifiedEnvironment === false) {\n\t\t\t\t\tqualified = false;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif(campaign.excludeIfCookiePresent !== '' && readCookie(campaign.excludeIfCookiePresent)) {\n\t\t\t\tqualifiedHasExcludedCookie = true;\n\t\t\t\tqualified = false;\n\t\t\t}\n\n\t\t\tif(campaign.requireMinimumItemsInCart !== '' && parseFloat(campaign.requireMinimumItemsInCart)) {\n\t\t\t\tvar itemsInCart = 0;\n\t\t\t\tif($('.minicart-quantity').length > 0) {\n\t\t\t\t\tvar minicartText = $.trim($('.minicart-quantity').first().text());\n\t\t\t\t\tif(parseFloat(minicartText)) {\n\t\t\t\t\t\titemsInCart = parseFloat(minicartText);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif(itemsInCart < campaign.requireMinimumItemsInCart) {\n\t\t\t\t\tif(debug === true) {\n\t\t\t\t\t\tconsole.log('not enough items in cart');\n\t\t\t\t\t}\n\t\t\t\t\tqualifiedIneligibleCountItemsInCart = true;\n\t\t\t\t\tqualified = false;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif(campaign.actionRequired !== '') {\n\t\t\t\tqualifiedRequiresAction = true;\n\t\t\t}\n\n\t\t\tif(campaign.requireDOMElements.length > 0) {\n\t\t\t\tqualifiedRequiresElements = true;\n\t\t\t}\n\t\t\t \n\n\t\t\tif(campaign.onlyLandingPage === true) {\n\t\t\t\tvar atIsFirstSession = 'true';\n\t\t\t\tvar atIsNewSession = '';\n\t\t\t\tif(debug === true) {\n\t\t\t\t\tconsole.log('atIsNewSession: '+atIsNewSession);\n\t\t\t\t\tconsole.log('atIsFirstSession: '+atIsFirstSession);\n\t\t\t\t}\n\n\t\t\t\tif(readCookie('at_profile') || document.referrer.indexOf(window.location.host) > -1) {\n\t\t\t\t\tqualified = false;\n\t\t\t\t} else {\n\t\t\t\t\tqualifiedFirstPage = true;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif(campaign.requiredUTagValues.length > 0) {\n\t\t\t\tfor(var i=0; i<campaign.requiredUTagValues.length; i++) {\n\t\t\t\t\tvar key = campaign.requiredUTagValues[i].key;\n\t\t\t\t \tvar value = campaign.requiredUTagValues[i].value;\n\t\t\t\t    if(key == 'ANY_CATEGORY_KEY') {\n\t\t\t\t\t\tif (Array.isArray(value)){\n\t\t\t\t\t\t\tvar matchFound = false;\n\t\t\t\t\t\t\tfor (valueItem of value){\n\t\t\t\t\t\t\t\tif ((utag_data.hasOwnProperty('rootdept') && utag_data['rootdept'] == valueItem) || (utag_data.hasOwnProperty('parentdept') && utag_data['parentdept'] == valueItem) || (utag_data.hasOwnProperty('childdept') && utag_data['childdept'] == valueItem)){\n\t\t\t\t\t\t\t\t\tmatchFound = true;\n\t\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tif (!matchFound){\n\t\t\t\t\t\t\t\tqualifiedUTagValues = false;\n\t\t\t\t\t\t\t\tqualified = false;\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tif (utag_data['rootdept'] !== value && utag_data['parentdept'] !== value && utag_data['childdept'] !== value){\n\t\t\t\t\t\t\t\tqualifiedUTagValues = false;\n\t\t\t\t\t\t\t\tqualified = false;\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\tif (Array.isArray(value)){\n\t\t\t\t\t\t\tvar matchFound = false;\n\t\t\t\t\t\t\tfor (valueItem of value){\n\t\t\t\t\t\t\t\tif (utag_data.hasOwnProperty(key) && utag_data[key] == valueItem){\n\t\t\t\t\t\t\t\t\tmatchFound = true;\n\t\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tif (!matchFound){\n\t\t\t\t\t\t\t\tqualifiedUTagValues = false;\n\t\t\t\t\t\t\t\tqualified = false;\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tif(!utag_data.hasOwnProperty(key) || utag_data[key] !== value) {\n\t\t\t\t\t\t\t\tqualifiedUTagValues = false;\n\t\t\t\t\t\t\t\tqualified = false;\n\t\t\t\t\t\t\t \tbreak;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\t\n\t\t\t\t\t}\n\t\t\t\t}\t\n\t\t\t}\n\n\t\t\tif(debug === true) {\n\t\t  \tconsole.log(campaign);\n\t\t  \tconsole.log(\"qualified:\" + qualified);\n\t\t  \tconsole.log(\"qualifiedIncludedPage:\" + qualifiedIncludedPage);\n\t\t  \tconsole.log(\"qualifiedIsExcludedPage:\" + qualifiedIsExcludedPage);\n\t\t  \tconsole.log(\"qualifiedIsExcludedURL:\" + qualifiedIsExcludedURL);\n\t\t  \tconsole.log(\"qualifiedURLParams:\" + qualifiedURLParams);\n\t\t  \tconsole.log(\"qualifiedHasExcludedCookie:\" + qualifiedHasExcludedCookie);\n\t\t  \tconsole.log(\"qualifiedBrand:\" + qualifiedBrand);\n\t\t  \tconsole.log(\"qualifiedFirstPage:\" + qualifiedFirstPage);\n\t\t  \tconsole.log(\"qualifiedEnvironment:\" + qualifiedEnvironment);\n\t\t  \tconsole.log(\"qualifiedUTagValues:\" + qualifiedUTagValues);\n\t\t  }\n\n\t\t\tif(qualified === true && qualifiedRequiresAction === false && qualifiedRequiresElements === false) {\n\t  \t\ttriggerMBOX(campaign.mbox);\n\t  \t} else if(qualified === true && qualifiedRequiresAction === true) { //actions required to push mboxes\n\t  \t\tdeferredCampaigns.push(campaign);\n\t  \t} else if(qualified === true && qualifiedRequiresElements === true) {\n\t  \t\t\n\t  \t\tvar allElementsPresent = true;\n\t  \t\tfor(var i=0; campaign.requireDOMElements.length; i++) {\n\t  \t\t\tif($(campaign.requireDOMElements[i]).length < 1) {\n\t  \t\t\t\tallElementsPresent = false;\n\t  \t\t\t\tbreak;\n\t  \t\t\t}\t\n\t  \t\t}\n\t  \t\tif(allElementsPresent === true) {\n\t  \t\t\ttriggerMBOX(campaign.mbox);\n\t  \t\t} else {\n\t  \t\t\tinitializeCampaigns.push({\n\t  \t\t\t\tmbox: campaign.mbox,\n\t  \t\t\t\trequireDOMElements: campaign.requireDOMElements\n\t  \t\t\t});\n\t  \t\t\tfor(var i=0; i<campaign.requireDOMElements.length; i++) {\n\t\t  \t\t\t$.initialize(campaign.requireDOMElements[i], function(index){\n\t\t  \t\t\t\tcheckRequiredDomElements($(this));\n\t\t  \t\t\t});\n\t\t  \t\t}\n\t  \t\t\t\n\t  \t\t}\n\t  \t}\n\n\t  \treturn qualified;\n\t  }\n\n\t  function triggerMBOX(name) {\n\t    var mboxObj = {\n\t      \"mbox\": name, \n\t      \"success\": function(offers) {           \n\t        adobe.target.applyOffer( {  \n\t           \"mbox\": name, \n\t           \"offer\": offers  \n\t        } ); \n\t      },   \n\t      \"error\": function(status, error) {           \n\t        if (console && console.log) { \n\t          console.log(status); \n\t          console.log(error); \n\t        } \n\t      }, \n\t      \"timeout\": 5000 \n\t    }\n\n\t    var params = {\n\t    \t\"breakpoint\" : $(window).width(),\n\t    \t\"browserWidth\" : $(window).width(),\n\t    \t\"page.type\": utag_data.page_type, \n\t    \t\"page.name\": utag_data.page_name,\n\t    \t\"site.branding\": utag_data.site_branding,\n\t    \t\"entry.brand\": utag_data.entry_brand,\n\t    \t\"user.country\": utag_data.user_country_ge,\n\t    \t\"user.currency\": utag_data.user_currency_ge,\n\t    }\n\n\t    mboxObj.params = params;\n\n\t    var deferCount = 0;\n\t    function deferMBOX(method) {\n\t      deferCount++;\n\t      if (typeof adobe !== 'undefined' && typeof adobe.target !== 'undefined') {\n\t        method();\n\t        return true;\n\t      }\n\t      if(deferCount < 50) {\n\t        setTimeout(function() { deferMBOX(method) }, 50);\n\t      }\n\t    }\n\t    deferMBOX(function(){\n\t      adobe.target.getOffer(mboxObj);      \n\t    }, 50);\n\n\t  }\n\n\t  var profile = {};\n\t  var profileChanged = false;\n\t  var isolatedCampaign = false;\n\t  var validGroup = false;\n\t  var triggeredMboxes = [];\n\t  var reassigned = false;\n\t  var debug = false;\n\n\t  if(window.location.href.indexOf('debugController=true') > -1) {\n\t  \tdebug = true;\n\t\t}\n\n\t\tif(debug) {\n\t\t\tconsole.log('begin processing');\n\t\t}\n\n\t  var atProfile = readCookie('at_profile');\n\t  if (atProfile && isJsonString(atProfile)) {\n\t    profile = JSON.parse(atProfile);\n\t  }\n\n\t  if(profile.hasOwnProperty('inOpenSwim') && profile.inOpenSwim === true) {\n\t  \tvalidGroup = true;\n\t  } else {\n\t  \tif(!profile.hasOwnProperty('isolationMBOX')) {\n\t  \t\tvar groupFromProfile = profile.isolationMBOX;\n\t  \t\tfor(var i=0; i<campaigns.length; i++) {\n\t  \t\t\tif(campaigns[i].mbox == groupFromProfile) {\n\t  \t\t\t\tvalidGroup = true;\n\t  \t\t\t\tisolatedCampaign = campaigns[i];\n\t  \t\t\t}\n\t    \t}\t\n\t  \t}\n\t  }\n\n\t  if(validGroup === false) {\n\t  \tvar reassigned = true;\n      var isolatedRanges = [];\n      var lastRange = 0;\n\n      for(var i=0; i<campaigns.length; i++) {\n        if(campaigns[i].isolated === true) {\n          isolatedRanges.push(campaigns[i].isolationTrafficAllocation+lastRange);\n          lastRange += campaigns[i].isolationTrafficAllocation;\n        }\n      }\n\n      //Handle Assignment\n      if(isolatedRanges.length > 0) {\n        var randomAssignment = getRandomIntInclusive(1,100);\n        var isolationAssignment = -1;\n        for(var i=0; i<isolatedRanges.length; i++) {\n          if(randomAssignment <= isolatedRanges[i]) {\n            isolationAssignment = i;\n            break;\n          }\n        }\n        if(isolationAssignment > -1) {\n          var matchCount = 0;\n          for(var i=0; i<campaigns.length; i++) {\n            if(campaigns[i].isolated === true) {\n              if(matchCount == isolationAssignment) {\n                isolatedCampaign = campaigns[i];\n                break;\n              }\n              matchCount++;\n            }\n          }\n        }\n      }\n\t  }\n\n\t\tif(isolatedCampaign === false) { //Open Swim\n\t\t\tfor(var i=0; i<campaigns.length; i++) {\n\t\t\t\tif(campaigns[i].isolated === false) {\n\t\t\t\t\tvar alreadyTriggered = false;\n\t\t\t\t\tfor(var m=0; m<triggeredMboxes.length; m++) {\n\t\t\t\t\t\tif(triggeredMboxes[m] == campaigns[i].mbox) {\n\t\t\t\t\t\t\talreadyTriggered = true;\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tif(alreadyTriggered === false) {\n\t\t\t\t\t\tvar checkCampaign = validateCampaign(campaigns[i]);\n\t\t\t\t\t\tif(checkCampaign === true) {\n\t\t\t\t\t\t\ttriggeredMboxes.push(campaigns[i].mbox);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\tprofile.inOpenSwim = true;\n\t\t\tprofile.isolationMBOX = \"\";\n\t\t} else { //Isolated Campaign\n\t\t\tvar checkCampaign = validateCampaign(isolatedCampaign);\n\t\t\tprofile.inOpenSwim = false;\n\t\t\tprofile.isolationMBOX = isolatedCampaign.mbox;\n\t\t}\n\n\t\tfunction checkRequiredDomElements(element) {\n\t\t\tvar unTriggeredCampaigns = [];\n\t\t\t\n\t\t\tif(initializeCampaigns.length > 0) {\n\t\t\t\tfor(var i=0; i<initializeCampaigns.length; i++) {\n\t\t\t\t\tvar currentCampaignMatch = false;\n\t\t\t\t\tvar allElementsPresent = true;\n\t\t\t\t\tfor(var m=0; m<initializeCampaigns[i].requireDOMElements.length; m++) {\n\t\t\t\t\t\tif(element.is(initializeCampaigns[i].requireDOMElements[m])) {\n\t\t\t\t\t\t\tcurrentCampaignMatch = true;\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\t\n\t\t\t\t\t}\n\t\t\t\t\tif(currentCampaignMatch === true) {\n\t\t\t\t\t\tfor(var m=0; m<initializeCampaigns[i].requireDOMElements.length; m++) {\n\t\t\t\t\t\t\tif($(initializeCampaigns[i].requireDOMElements[m]).length < 1) {\n\t\t\t\t\t\t\t\tallElementsPresent = false;\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\t\n\t\t\t\t\t} else {\n\t\t\t\t\t\tallElementsPresent = false;\n\t\t\t\t\t}\n\t\t\t\t\tif(allElementsPresent === true) {\n\t\t\t\t\t\ttriggerMBOX(initializeCampaigns[i].mbox);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tunTriggeredCampaigns.push(initializeCampaigns[i]);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tinitializeCampaigns = unTriggeredCampaigns;\n\t\t\t}\n\t\t}\n\n\t\t//Begin Trigger Actions\n\t\tfunction checkActions(campaign, type) {\n\t\t\treturn campaign.actionRequired == type;\n\t\t}\n\n\t\tfunction resolveDeferredCampaigns(action_type) {\n\t\t\tvar actionMboxesToTrigger = [];\n      if(deferredCampaigns.length > 0) {\n      \tfor(var i = deferredCampaigns.length - 1; i >= 0; i--) {\n      \t\tvar triggerCampaignFromActions = checkActions(deferredCampaigns[i], action_type);\n      \t\tif(triggerCampaignFromActions === true) {\n      \t\t\tvar inListToTrigger = false;\n      \t\t\tfor(var m=0; m<actionMboxesToTrigger.length; m++) {\n\t\t\t\t\t\t\tif(actionMboxesToTrigger[m].mbox == deferredCampaigns[i].mbox) {\n\t\t\t\t\t\t\t\tinListToTrigger = true;\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif(inListToTrigger === false) {\n\t\t\t\t\t\t\tactionMboxesToTrigger.push({mbox: deferredCampaigns[i].mbox, requireDOMElements: deferredCampaigns[i].requireDOMElements});\n\t\t\t\t\t\t}\n\t\t\t\t\t\tdeferredCampaigns.splice(i, 1);\n      \t\t}\n      \t}\n      }\n      for(var i=0; i<actionMboxesToTrigger.length; i++) {\n      \tif(actionMboxesToTrigger[i].requireDOMElements == '' || $(actionMboxesToTrigger[i].requireDOMElements).length > 0) {\n      \t\ttriggerMBOX(actionMboxesToTrigger[i].mbox);\n      \t} else {\n      \t\tinitializeCampaigns.push({\n\t  \t\t\t\tmbox: actionMboxesToTrigger[i].mbox,\n\t  \t\t\t\trequireDOMElements: actionMboxesToTrigger[i].requireDOMElements\n\t  \t\t\t})\n\t  \t\t\tfor(var m=0; m<campaign.requireDOMElements.length; m++) {\n\t\t  \t\t\t$.initialize(actionMboxesToTrigger[i].requireDOMElements[m], function(index){\n\t\t  \t\t\t\tcheckRequiredDomElements($(this));\n\t\t  \t\t\t});\n\t\t  \t\t}\n      \t\t\n      \t}\n      }\n\t\t}\n\t\tfunction desktopExitIntent() {\n\t\t\t(function(a){function d(e){0<e.clientY||(b&&clearTimeout(b),0>=a.exitIntent.settings.sensitivity?a.event.trigger(\"exitintent\"):b=setTimeout(function(){b=null;a.event.trigger(\"exitintent\")},a.exitIntent.settings.sensitivity))}function c(){b&&(clearTimeout(b),b=null)}var b;a.exitIntent=function(b,f){a.exitIntent.settings=a.extend(a.exitIntent.settings,f);if(\"enable\"==b)a(window).mouseleave(d),a(window).mouseenter(c);else if(\"disable\"==b)c(),a(window).unbind(\"mouseleave\",d),a(window).unbind(\"mouseenter\",\n\t\t\tc);else throw\"Invalid parameter to jQuery.exitIntent -- should be 'enable'/'disable'\";};a.exitIntent.settings={sensitivity:300}})(jQuery);\n\t\t\t$.exitIntent('enable');\n\n\t\t\t$(document).bind('exitintent',\n\t\t\t     function() {\n\t\t\t     \tresolveDeferredCampaigns('desktop_exit_intent');\n\t\t\t      $.exitIntent('disable')\n\t\t\t});\n\t\t}\n\t\t//End Trigger Actions\n\n\t\tif(deferredCampaigns.length > 0) {\n\t\t\tvar trackDesktopExitIntent = false;\n\t\t\tfor(var i=0; i<deferredCampaigns.length; i++) {\n\t\t\t\tvar curCampaign = deferredCampaigns[i];\n\t\t\t\tif(curCampaign.actionRequired == 'desktop_exit_intent') {\n\t\t\t\t\ttrackDesktopExitIntent = true;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif(trackDesktopExitIntent === true) {\n\t\t\t\tdesktopExitIntent();\n\t\t\t}\n\t\t}\n\t  if(reassigned === true) {\n\t  \tsetCookie('at_profile', JSON.stringify(profile), 365);\n\t  }\n\n\t}\n\n});\n\n</script>"},{"responseTokens":{"experience.id":"0","activity.name":"[All] Production - Hotfix Remove Affirm CSS Overrides","activity.id":"316928","experience.name":"Experience A","profile.marketingCloudVisitorId":"57885437755112554943465670896878167092","profile.activeActivities":"279894,316928,280897,284753,300898,282978,330429,161675,211818,316845,162159","activity.decisioningMethod":"server-side"},"html":"<script>\n(function () {\n  const RESTRICTED_ROOT_VARS = [\n    '--color-primary-light'\n  ];\n\n  function cleanseRootVariables(styleEl) {\n    if (!styleEl || !styleEl.textContent) return;\n\n    const originalCSS = styleEl.textContent;\n\n    const containsRestrictedVar = RESTRICTED_ROOT_VARS.some(v => originalCSS.includes(v));\n    if (!containsRestrictedVar) return;\n\n    let css = originalCSS;\n\n    css = css.replace(/:root\\s*{[^}]*}/g, function (rootBlock) {\n      let cleanedBlock = rootBlock;\n\n      RESTRICTED_ROOT_VARS.forEach(function (varName) {\n        const varRegex = new RegExp(varName + '\\\\s*:[^;]+;?', 'g');\n        cleanedBlock = cleanedBlock.replace(varRegex, '');\n      });\n\n      return cleanedBlock;\n    });\n\n    if (css !== originalCSS) {\n      styleEl.textContent = css;\n    }\n  }\n\n  function observeStyleInjection() {\n    const observer = new MutationObserver(function (mutations) {\n      mutations.forEach(function (mutation) {\n        mutation.addedNodes.forEach(function (node) {\n          if (node.tagName === 'STYLE') {\n            cleanseRootVariables(node);\n          }\n        });\n      });\n    });\n\n    observer.observe(document.documentElement, {\n      childList: true,\n      subtree: true\n    });\n  }\n\n  observeStyleInjection();\n\n  document.querySelectorAll('style').forEach(cleanseRootVariables);\n})();\n</script>\n"},{"responseTokens":{"experience.id":"0","activity.name":"[All] - PROD - New Customer Shipping Test Controller","activity.id":"316845","experience.name":"Experience A","profile.marketingCloudVisitorId":"57885437755112554943465670896878167092","profile.activeActivities":"279894,280897,284753,300898,282978,330429,161675,211818,316845,162159","activity.decisioningMethod":"server-side"},"html":"<script>\nfunction deferShippingTestController(method) {\n  if (typeof window.utag_data == 'object') {\n    method();\n  } else {\n    setTimeout(function() { deferShippingTestController(method) }, 50);\n  }\n}\n\nfunction readCookie(name) {\n  let nameEQ = name + \"=\";\n  let ca = document.cookie.split(';');\n  for (let i = 0; i < ca.length; i++) {\n    let c = ca[i].trim();\n    if (c.indexOf(nameEQ) === 0) return c.substring(nameEQ.length);\n  }\n  return null;\n}\n\nfunction setCookie(name, value, days) {\n  let expires = \"\";\n  if (days) {\n    let date = new Date();\n    date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000));\n    expires = \"; expires=\" + date.toUTCString();\n  }\n  document.cookie = name + \"=\" + (value || \"\") + expires + \"; path=/\";\n}\n\nfunction triggerMBOX(name) {\n  if (!name || typeof name !== 'string') {\n    return;\n  }\n  let mboxObj = {\n    \"mbox\": name, \n    \"success\": function(offers) {           \n      adobe.target.applyOffer( {  \n         \"mbox\": name, \n         \"offer\": offers  \n      } ); \n    },   \n    \"error\": function(status, error) {           \n      if (console && console.log) { \n        console.log(status); \n        console.log(error); \n      } \n    }, \n    \"timeout\": 5000 \n  }\n\n  let params = {\n    \"breakpoint\" : window.innerWidth,\n    \"browserWidth\" : window.innerWidth,\n  }\n  if(utag_data.hasOwnProperty('page_type')) {\n    params[\"page.type\"] = utag_data.page_type;\n  }\n  if(utag_data.hasOwnProperty('page_name')) {\n    params[\"page.name\"] = utag_data.page_name;\n  }\n  if(utag_data.hasOwnProperty('site_branding')) {\n    params[\"site.branding\"] = utag_data.site_branding;\n  }\n  if(utag_data.hasOwnProperty('entry_brand')) {\n    params[\"entry.brand\"] = utag_data.entry_brand;\n  }\n  if(utag_data.hasOwnProperty('user_country_ge')) {\n    params[\"user.country\"] = utag_data.user_country_ge;\n  }\n  if(utag_data.hasOwnProperty('user_currency_ge')) {\n    params[\"user.currency\"] = utag_data.user_currency_ge;\n  }\n\n  mboxObj.params = params;\n\n  let deferCount = 0;\n  function deferMBOX(method) {\n    deferCount++;\n    if (typeof adobe !== 'undefined' && typeof adobe.target !== 'undefined') {\n      method();\n      return true;\n    }\n    if(deferCount < 50) {\n      setTimeout(function() { deferMBOX(method) }, 50);\n    }\n  }\n  deferMBOX(function(){\n    adobe.target.getOffer(mboxObj);      \n  }, 50);\n\n}  \n\nfunction applyCustomerGroup(customerGroup, value) {\n  let url = '/on/demandware.store/Sites-oss-Site/default/Home-SyncSession?'+customerGroup+'='+value;\n\n  fetch(url, {\n    method: 'GET',\n    credentials: 'same-origin'\n  }).then(function () {\n    // success (optional)\n  }).catch(function () {\n    // error (optional)\n  });\n}\n\ndeferShippingTestController(function() {\n\n  if (!utag_data.hasOwnProperty('shopping_mall') || utag_data.shopping_mall !== 'mall_1') {\n    return;\n  }\n\n  let hasFreeShipAttribute = false;\n\n  if (typeof utag_data.customAttributes === 'object') {\n\n    for (let key in utag_data.customAttributes) {\n      if (!utag_data.customAttributes.hasOwnProperty(key)) continue;\n      let match = key.match(/ctmgrp_freeship(\\d+)/);\n      if (match) {\n        hasFreeShipAttribute = true;\n        break;\n      }\n    }\n\n  }\n\n  if (\n    typeof utag_data.customAttributes !== 'object' ||\n    utag_data.customAttributes.ctmgrp_new_customer_shipping !== '1'\n  ) {\n    applyCustomerGroup('ctmgrp_new_customer_shipping', '1');\n  }\n\n  let qualified = false;\n\n  let sessionCount = null;\n\n  try {\n    sessionCount = localStorage.getItem('com.adobe.reactor.core.visitorTracking.sessionCount');\n  } catch (e) {\n    sessionCount = 'unavailable';\n  }\n\n  if (sessionCount === null || sessionCount === '1') {\n    qualified = true;\n  }\n\n  if (hasFreeShipAttribute === true) {\n    qualified = true;\n  }\n\n  if (readCookie('atFS')) {\n    qualified = true;\n  }\n\n  if(qualified === true) {\n    triggerMBOX('newCustomerFreeShip');\n  }\n\n});\n</script>"},{"responseTokens":{"experience.id":"1","activity.name":"[All] - RETEST - PLP and Search Algorithm Throttle","activity.id":"211818","experience.name":"Version B","profile.marketingCloudVisitorId":"57885437755112554943465670896878167092","profile.activeActivities":"279894,280897,284753,300898,282978,330429,161675,211818,162159","activity.decisioningMethod":"server-side"},"html":"<script>\n  function deferAJAX(method) {\n  if (window.jQuery) {\n    method();\n  } else {\n    setTimeout(function() { deferAJAX(method) }, 50);\n  }\n}\n\ndeferAJAX(function () {\n  \t$.ajax({\n      url: '/on/demandware.store/Sites-oss-Site/default/Home-SyncSession',\n      method: \"GET\",\n      data: {\"ctmgrp_search_segment\": \"b\"},\n      success: function (e) {\n        //console.log('CALLED SUCCESS');\n      },\n      error: function () {\n        //console.log('CALLED FAILED');\n      },\n    });\n});\n</script>"},{"responseTokens":{"experience.id":"0","activity.name":"[All] - PROD - New PDP and Cart MBOX Controller","activity.id":"280897","experience.name":"Experience A","profile.marketingCloudVisitorId":"57885437755112554943465670896878167092","profile.activeActivities":"279894,284753,280897,300898,282978,330429,161675,162159","activity.decisioningMethod":"server-side"},"html":"<script>\nfunction deferPDPCartController(method) {\n  if (typeof window.utag_data == 'object') {\n    method();\n  } else {\n    setTimeout(function() { deferPDPCartController(method) }, 50);\n  }\n}\n\ndeferPDPCartController(function() {\n\n  function readCookie(name) {\n    const match = document.cookie.match(new RegExp('(?:^|; )' + name + '=([^;]*)'));\n    return match ? decodeURIComponent(match[1]) : null;\n  }\n\n  function setCookieForWWWDomain(cookieName, cookieValue) {\n    // Set the expiration date (e.g., 7 days from now)\n    const expirationDate = new Date();\n    expirationDate.setDate(expirationDate.getDate() + 30);\n   \n    // Get the current domain and add the \".www\" prefix\n    const currentDomain = document.domain.includes('www') ? `.`+document.domain : `.www.`+document.domain;\n\n    // Set the cookie with the specified domain\n    document.cookie = cookieName+'='+cookieValue+'; domain='+currentDomain+'; path=/; expires='+expirationDate.toUTCString();\n  \n  }\n\n  function triggerMBOX(name) {\n    if (!name || typeof name !== 'string') {\n      return;\n    }\n    var mboxObj = {\n      \"mbox\": name, \n      \"success\": function(offers) {           \n        adobe.target.applyOffer( {  \n           \"mbox\": name, \n           \"offer\": offers  \n        } ); \n      },   \n      \"error\": function(status, error) {           \n        if (console && console.log) { \n          console.log(status); \n          console.log(error); \n        } \n      }, \n      \"timeout\": 5000 \n    }\n\n    var params = {\n      \"breakpoint\" : window.innerWidth,\n      \"browserWidth\" : window.innerWidth,\n    }\n    if(utag_data.hasOwnProperty('page_type')) {\n      params[\"page.type\"] = utag_data.page_type;\n    }\n    if(utag_data.hasOwnProperty('page_name')) {\n      params[\"page.name\"] = utag_data.page_name;\n    }\n    if(utag_data.hasOwnProperty('site_branding')) {\n      params[\"site.branding\"] = utag_data.site_branding;\n    }\n    if(utag_data.hasOwnProperty('entry_brand')) {\n      params[\"entry.brand\"] = utag_data.entry_brand;\n    }\n    if(utag_data.hasOwnProperty('user_country_ge')) {\n      params[\"user.country\"] = utag_data.user_country_ge;\n    }\n    if(utag_data.hasOwnProperty('user_currency_ge')) {\n      params[\"user.currency\"] = utag_data.user_currency_ge;\n    }\n\n    mboxObj.params = params;\n\n    var deferCount = 0;\n    function deferMBOX(method) {\n      deferCount++;\n      if (typeof adobe !== 'undefined' && typeof adobe.target !== 'undefined') {\n        method();\n        return true;\n      }\n      if(deferCount < 50) {\n        setTimeout(function() { deferMBOX(method) }, 50);\n      }\n    }\n    deferMBOX(function(){\n      adobe.target.getOffer(mboxObj);      \n    }, 50);\n\n  }\n\n  let eligible = true;\n\n  const el = document.getElementById('slastokeninfo');\n  \n  if (el && el.dataset.enableHeadlessPages === 'false') {\n    eligible = false;\n  }\n\n  var pageviewsString = \"\";\n  var pageviews = parseInt(pageviewsString, 10);\n\n  if (isNaN(pageviews)) {\n    pageviews = 1;\n  }\n\n  const cookieValue = readCookie('pdpCartEligible');\n\n  if(pageviews > 1 && cookieValue !== \"true\") {\n    eligible = false;\n  } \n  if(pageviews == 1 && cookieValue !== \"true\") {\n    if(utag_data.hasOwnProperty('page_type') && (utag_data.page_type == 'category' || utag_data.page_type == 'pdp')) {\n      eligible = false;  \n    }\n  }\n\n  if((!utag_data.hasOwnProperty('user_country_ge') || utag_data.user_country_ge !== 'US') && utag_data.site_branding !== 'jb') {\n    eligible = false;\n  }\n\n  /*\n  if (\n  !utag_data.hasOwnProperty('site_branding') ||\n  (utag_data.site_branding !== 'ca' &&\n   utag_data.site_branding !== 'bh' &&\n   utag_data.site_branding !== 'el' &&\n   utag_data.site_branding !== 'ks')\n  ) {\n    eligible = false;\n  }\n  */\n  /*\n  if (!utag_data.hasOwnProperty('site_branding') || utag_data.site_branding == 'rm') {\n    eligible = false;\n  }\n  */\n  if(eligible === false) {\n\n    var pdpCookie = readCookie('_newPDPRP');\n    if(pdpCookie !== \"false\") {\n      setCookieForWWWDomain('_newPDPRP', 'false');\n    }\n\n    var pdpGCCookie = readCookie('_newPDPGC');\n    if(pdpGCCookie !== \"false\") {\n      setCookieForWWWDomain('_newPDPGC', 'false');\n    }\n\n    var cartCookie = readCookie('_newCart');\n    if(cartCookie !== \"false\") {\n      setCookieForWWWDomain('_newCart', 'false');\n    }\n\n  } else {\n    var eligibilityCookie = readCookie('pdpCartEligible');\n    if(eligibilityCookie !== \"true\") {\n      setCookieForWWWDomain('pdpCartEligible', 'true');\n    }\n\n    triggerMBOX('nextJSPDPCart'); \n  }\n\n});\n</script>"},{"responseTokens":{"experience.id":"0","activity.name":"[All] - PROD - Checkout Redesign Controller","activity.id":"279894","experience.name":"Experience A","profile.marketingCloudVisitorId":"57885437755112554943465670896878167092","profile.activeActivities":"279894,284753,300898,282978,330429,161675,162159","activity.decisioningMethod":"server-side"},"html":"<script>\nfunction deferCheckoutRedesignController(method) {\n  if (typeof window.utag_data == 'object') {\n    method();\n  } else {\n    setTimeout(function() { deferCheckoutRedesignController(method) }, 50);\n  }\n}\n  \nfunction setCookieForWWWDomain(cookieName, cookieValue) {\n    // Set the expiration date (e.g., 7 days from now)\n    const expirationDate = new Date();\n    expirationDate.setDate(expirationDate.getDate() + 30);\n   \n    // Get the current domain and add the \".www\" prefix\n    const currentDomain = document.domain.includes('www') ? `.`+document.domain : `.www.`+document.domain;\n\n    // Set the cookie with the specified domain\n    // document.cookie = `=; domain=`+currentDomain+`; path=/; expires=;`;\n    document.cookie = cookieName+'='+cookieValue+'; domain='+currentDomain+'; path=/; expires=$'+expirationDate.toUTCString();\n  \n}\n\ndeferCheckoutRedesignController(function() {\n\n  function readCookie(name) {\n    const match = document.cookie.match(new RegExp('(?:^|; )' + name + '=([^;]*)'));\n    return match ? decodeURIComponent(match[1]) : null;\n  }\n\n\tfunction triggerMBOX(name) {\n\t\tif (!name || typeof name !== 'string') {\n\t    return;\n\t  }\n    var mboxObj = {\n      \"mbox\": name, \n      \"success\": function(offers) {           \n        adobe.target.applyOffer( {  \n           \"mbox\": name, \n           \"offer\": offers  \n        } ); \n      },   \n      \"error\": function(status, error) {           \n        if (console && console.log) { \n          console.log(status); \n          console.log(error); \n        } \n      }, \n      \"timeout\": 5000 \n    }\n\n    var params = {\n    \t\"breakpoint\" : window.innerWidth,\n    \t\"browserWidth\" : window.innerWidth,\n    }\n    \n    const BRAND_MAP = {\n      \"activeforall.com\": \"aa\",\n      \"avenue.com\": \"av\",\n      \"brylanehome.com\": \"bh\",\n      \"catherines.com\": \"ca\",\n      \"dia.com\": \"da\", \n      \"eloquii.com\": \"zq\",\n      \"ellos.us\": \"el\",\n      \"fullbeauty.com\": \"fp\",\n      \"intimatesforall.com\": \"ia\",\n      \"jessicalondon.com\": \"jl\",\n      \"joebrowns.us\": \"jb\",\n      \"juneandvie.com\": \"jv\",\n      \"kingsize.com\": \"ks\",\n      \"onestopplus.com\": \"os\",\n      \"roamans.com\": \"rm\",\n      \"shoesforall.com\": \"sh\",\n      \"shopcuup.com\": \"cp\",\n      \"swimsuitsforall.com\": \"sa\",\n      \"womanwithin.com\": \"ww\"\n    };\n\n    let branding = null;\n    let host = window.location.hostname.toLowerCase();\n      \n    if(utag_data.hasOwnProperty('page_type')) {\n    \tparams[\"page.type\"] = utag_data.page_type;\n    }\n    if(utag_data.hasOwnProperty('page_name')) {\n    \tparams[\"page.name\"] = utag_data.page_name;\n    }\n    if(utag_data.hasOwnProperty('site_branding')) {\n    \tparams[\"site.branding\"] = utag_data.site_branding;\n    } else {\n        for (const key in BRAND_MAP) {\n       \t   if (\n       \t     key.indexOf(host) !== -1 ||\n       \t     host.indexOf(key) !== -1 \n        \t  ) {\n        \t    branding = BRAND_MAP[key];\n         \t   break;\n        \t  }\n       \t }\n    }\n\n    if (branding) {\n      params[\"site.branding\"] = branding;\n    }\n\n    if(utag_data.hasOwnProperty('entry_brand')) {\n    \tparams[\"entry.brand\"] = utag_data.entry_brand;\n    }\n    if(utag_data.hasOwnProperty('user_country_ge')) {\n    \tparams[\"user.country\"] = utag_data.user_country_ge;\n    }\n    if(utag_data.hasOwnProperty('user_currency_ge')) {\n    \tparams[\"user.currency\"] = utag_data.user_currency_ge;\n    }\n\n    mboxObj.params = params;\n\n    var deferCount = 0;\n    function deferMBOX(method) {\n      deferCount++;\n      if (typeof adobe !== 'undefined' && typeof adobe.target !== 'undefined') {\n        method();\n        return true;\n      }\n      if(deferCount < 50) {\n        setTimeout(function() { deferMBOX(method) }, 50);\n      }\n    }\n    deferMBOX(function(){\n      adobe.target.getOffer(mboxObj);      \n    }, 50);\n\n  }\n\n  const el = document.getElementById('slastokeninfo');\n  \n  if (el && el.dataset.enableHeadlessPages === 'false') {\n    var checkoutCookie = readCookie('_newCheckout');\n    if(checkoutCookie !== \"false\") {\n      setCookieForWWWDomain('_newCheckout', 'false');\n    }\n    return;\n  }\n  \n  const urlParams = new URLSearchParams(window.location.search);\n  const hasAffirmParam = urlParams.get('ctmgrp_affirm') === 'true';\n  const cookieValue = readCookie('atForceAffirm');\n\n  if(hasAffirmParam || cookieValue !== null) {\n    triggerMBOX('checkoutRedesignAffirm');  \n  } else {\n    triggerMBOX('checkoutRedesignDefault');  \n  }\n\n});\n</script>"},{"responseTokens":{"experience.id":"0","activity.name":"[ALL / NEXTJS] ATB and Minicart Urgency Banner","activity.id":"282978","experience.name":"Experience A","profile.marketingCloudVisitorId":"57885437755112554943465670896878167092","profile.activeActivities":"284753,300898,282978,330429,161675,162159","activity.decisioningMethod":"server-side"},"html":"<script>\n//Toggle for Variants  \nvar showCountdown = true;\n\nfunction deferATBMiniUrgencyNextJS(method) {\n    if (window.jQuery && $('next-route-announcer').length > 0) {\n        method();\n    } else {\n        setTimeout(function () { deferATBMiniUrgencyNextJS(method) }, 50);\n    }\n}\n\ndeferATBMiniUrgencyNextJS(function () {\n\n    function setCookie(name, value, days) {\n        var expires = \"\";\n        if (days) {\n            var date = new Date();\n            date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000));\n            expires = \"; expires=\" + date.toUTCString();\n        }\n        document.cookie = name + \"=\" + (value || \"\") + expires + \"; path=/\";\n    }\n\n    function getCookie(name) {\n        var nameEQ = name + \"=\";\n        var ca = document.cookie.split(';');\n        for (var i = 0; i < ca.length; i++) {\n            var c = ca[i];\n            while (c.charAt(0) === ' ') c = c.substring(1, c.length);\n            if (c.indexOf(nameEQ) === 0) return c.substring(nameEQ.length, c.length);\n        }\n        return null;\n    }\n\n    function startCountdown(targetTime, $minutesElements, $secondsElements) {\n        var countdownInterval = setInterval(function () {\n            var now = new Date().getTime();\n            var target = new Date(targetTime).getTime();\n            var distance = target - now;\n\n            if (distance < 0) {\n                clearInterval(countdownInterval);\n                document.querySelectorAll('.at-reserve-items-banner-timer').forEach(el => el.remove());\n                document.querySelectorAll('.at-reserve-items-banner--has-timer').forEach(el => el.classList.remove('at-reserve-items-banner--has-timer'));\n                return;\n            }\n\n            var minutes = Math.floor((distance % (1000 * 60 * 60)) / (1000 * 60));\n            var seconds = Math.floor((distance % (1000 * 60)) / 1000);\n\n            seconds = seconds < 10 ? '0' + seconds : seconds;\n            $minutesElements.forEach(el => el.textContent = minutes);\n            $secondsElements.forEach(el => el.textContent = seconds);\n\n        }, 1000);\n    }\n\n    function stopCountdown() {\n        document.querySelectorAll('.at-reserve-items-banner').forEach(el => el.classList.remove('at-reserve-items-banner--has-timer'));\n    }\n\n    function initCountdown() {\n        var now = new Date();\n        var countdownMinutes = 30;\n        var countdownTime = new Date(now.getTime() + countdownMinutes * 60 * 1000);\n\n        var atCartCountdown = getCookie(\"atCartCountdown\");\n\n        if (!atCartCountdown) {\n            setCookie(\"atCartCountdown\", countdownTime.toISOString(), 1);\n            document.querySelectorAll('.at-reserve-items-banner').forEach(el => el.classList.add('at-reserve-items-banner--has-timer'));\n            setTimeout(function () {\n                document.querySelectorAll('.at-reserve-items-banner').forEach(el => el.classList.add('at-reserve-items-banner--has-timer'));\n                document.querySelectorAll('.at-reserve-items-banner-timer').forEach(el => el.classList.remove('inactive'));\n            }, 1000);\n            startCountdown(\n                countdownTime.toISOString(), \n                Array.from(document.querySelectorAll('.at-reserve-items-banner-timer--minutes')),\n                Array.from(document.querySelectorAll('.at-reserve-items-banner-timer--seconds'))\n            );\n        } else {\n            var countdownValue = new Date(atCartCountdown);\n            if (countdownValue > now && countdownValue <= countdownTime) {\n                setTimeout(function () {\n                    document.querySelectorAll('.at-reserve-items-banner').forEach(el => el.classList.add('at-reserve-items-banner--has-timer'));\n                    document.querySelectorAll('.at-reserve-items-banner-timer').forEach(el => el.classList.remove('inactive'));\n                }, 1000);\n                startCountdown(\n                    countdownValue,\n                    Array.from(document.querySelectorAll('.at-reserve-items-banner-timer--minutes')),\n                    Array.from(document.querySelectorAll('.at-reserve-items-banner-timer--seconds'))\n                );\n            } else {\n                stopCountdown();\n            }\n        }\n    }\n\n    function getHTML(className) {\n        var html = '';\n        if (className == 'mobile') {\n            html += '<div class=\"col at-reserve-items-banner-col--mobile mt-2\">'\n        }\n        html += '<div class=\"alert alert-error at-reserve-items-banner at-reserve-items-banner--' + className + '\" role=\"alert\">';\n        html += '<i class=\"alert-icon alert-leading-icon alert-error-icon\">';\n        html += '<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path fill=\"none\" d=\"M0 0h24v24H0z\"></path><path d=\"M12 22a10 10 0 1110-10 10.011 10.011 0 01-10 10zm-1-7v2h2v-2zm0-8v6h2V7z\"></path></svg>';\n        html += '</i>';\n        html += '<span class=\"at-reserve-items-banner--content\">';\n        html += '<span class=\"h6 at-reserve-items-banner-message\">Items in your bag are not reserved, check out now!</span>';\n        if (showCountdown === true) {\n            html += '<span class=\"h6 at-reserve-items-banner-timer inactive\">';\n            html += '<span class=\"h6 at-reserve-items-banner-timer--minutes\"></span>';\n            html += '<span class=\"h6 at-reserve-items-banner-timer--divider\">:</span>';\n            html += '<span class=\"h6 at-reserve-items-banner-timer--seconds\"></span>';\n            html += '</span>';\n        }\n        html += '</span>';\n        html += '</div>';\n        if (className == 'mobile') {\n            html += '</div>'\n        }\n        return html;\n    }\n\n    function appendStyle(css) {\n        const style = document.createElement('style');\n        style.type = 'text/css';\n        style.id = 'atReserveItemsCSS';\n        style.textContent = css;\n        document.head.appendChild(style);\n    }\n\n    var css = '';\n    css += '.at-reserve-items-banner { margin-bottom: 0.5rem !important; margin-top: 1rem !important; border-radius: 6px; padding: 8px 12px 8px 50px; background-color: rgba(181, 0, 0, .05); } .at-reserve-items-banner svg { width: 28px; height: 28px; } .at-reserve-items-banner .alert-icon { top: 6px !important; } .at-reserve-items-banner--has-timer .alert-icon { top: 4px !important; } .at-reserve-items-banner span { font-size: 16px; line-height: 20px; color: #B50000; margin: 0; } .at-reserve-items-banner--has-timer .at-reserve-items-banner--content { display: flex; justify-content: space-between; } .at-reserve-items-banner--has-timer .at-reserve-items-banner-message { flex: 1; padding-right: 10px; } .at-reserve-items-banner-timer--seconds { width: 22px; display: inline-block; text-align: left; } .at-reserve-items-banner-timer.inactive { opacity: 0; } .at-reserve-items-banner--mobile { margin-bottom: 0; }';\n\n    css += '@media (min-width: 1024px){';\n    css += '.at-reserve-items-banner { border-radius: 80px; } .at-reserve-items-banner { padding-right: 20px; } .at-reserve-items-banner-col--mobile { display: none; }';\n    css += '}';\n    appendStyle(css);\n\n    // Add banner tracking variables\n    let minicartBannerInserted = false;\n    let modalBannerInserted = false;\n\n    // Create observer for minicart and modal\n    const observer = new MutationObserver((mutations) => {\n        mutations.forEach((mutation) => {\n            // Check if triggers are hidden and reset flags\n            const minicartVisible = document.querySelector('.minicart-popover.show h3.focus-outline') || \n                Array.from(document.querySelectorAll('.plcc-popover .mb-3 h3'))\n                .find(element => element.textContent.includes('My Shopping Bag'));\n            const modalVisible = document.querySelector('#addToCartModal:not([style*=\"display: none\"]) .cart-overlay-html') || \n                (document.getElementById('modal-title')?.textContent.includes('Item Added to Your Shopping Bag') ? \n                document.querySelector('.modal-body > div') : null);\n\n            if (!minicartVisible && minicartBannerInserted && !document.querySelector('.minicart-popover .at-reserve-items-banner')) {\n                minicartBannerInserted = false;\n            }\n\n            if (!modalVisible && modalBannerInserted) {\n                modalBannerInserted = false;\n            }\n\n            const minicartTrigger = minicartVisible;\n            const modalTrigger = modalVisible;\n\n            if (minicartTrigger && !minicartBannerInserted) {\n                document.querySelectorAll('.at-reserve-items-banner').forEach(el => el.remove());\n\n                const css = `\n                    .minicart-popover .at-reserve-items-banner { margin-bottom: 0.5rem !important; margin-top: 1rem !important; border-radius: 8px !important; padding-right: 8px !important; padding-left: 46px !important;}\n                    .minicart-popover .alert .alert-icon.alert-leading-icon {left: .6rem !important;}\n                    .plcc-popover .at-reserve-items-banner { margin-bottom: 0.5rem !important; margin-top: 1rem !important; border-radius: 8px !important; padding-right: 8px !important; padding-left: 46px !important;}\n                    .plcc-popover .alert .alert-icon.alert-leading-icon {left: .6rem !important;}\n                `;\n                appendStyle(css);\n                minicartTrigger.insertAdjacentHTML('afterend', getHTML('desktop'));\n                if (showCountdown) {\n                    initCountdown();\n                }\n                minicartBannerInserted = true;\n            }\n\n            if (modalTrigger && !modalBannerInserted) {   \n                const css = `\n                    #addToCartModal .at-reserve-items-banner { margin-top: 0.5rem !important; margin-bottom: 1.5rem !important; text-align: left !important; }\n                    @media (max-width: 1023px){\n                        #addToCartModal .at-reserve-items-banner--desktop { display: none; }\n                        #addToCartModal .at-reserve-items-banner-col--mobile {padding: 0px !important;}\n                        .modal-body .at-reserve-items-banner--desktop { display: none; }\n                        .modal-body .at-reserve-items-banner-col--mobile {padding: 0px !important;}\n                    }\n                    @media (min-width: 1024px){\n                        #addToCartModal .at-reserve-items-banner { border-radius: 80px; }\n                        .modal-body .at-reserve-items-banner { border-radius: 80px; }\n                        .at-reserve-items-banner { padding-right: 20px; }\n                        .at-reserve-items-banner-col--mobile { display: none; }\n                    }\n                `;\n                appendStyle(css);\n                if (!modalVisible.querySelector('.at-reserve-items-banner--content')) {\n                    modalTrigger.insertAdjacentHTML('beforebegin', getHTML('desktop'));\n                    modalTrigger.insertAdjacentHTML('beforebegin', getHTML('mobile'));\n                }\n                if (showCountdown) {\n                    initCountdown();\n                }\n                modalBannerInserted = true;\n            }\n        });\n    });\n\n    // Start observing\n    observer.observe(document.body, {\n        childList: true,\n        subtree: true\n    });\n});\n</script>"},{"responseTokens":{"experience.id":"2","activity.name":"[TEST] Four Experience Test To Check For Cross Brand Issues","activity.id":"284753","experience.name":"Experience C","profile.marketingCloudVisitorId":"57885437755112554943465670896878167092","profile.activeActivities":"284753,300898,330429,161675,162159","activity.decisioningMethod":"server-side"}},{"responseTokens":{"experience.id":"0","activity.name":"[HOTFIX] Fix Mixed-Size Sliders","activity.id":"330429","experience.name":"Experience A","profile.marketingCloudVisitorId":"57885437755112554943465670896878167092","profile.activeActivities":"300898,330429,161675,162159","activity.decisioningMethod":"server-side"},"html":"<script>\n/**\n * fixMixedSizeSlides\n *\n * Checks whether product images inside .mm-recommendation-tiles sliders have\n * mixed aspect ratios. If they do, equalises the image container heights and\n * vertically centres shorter images. Runs on:\n *   1. Sliders present at call time.\n *   2. Each slider's images as they finish loading.\n *   3. Any new .mm-recommendation-tiles added to the DOM after call time.\n *\n * Standalone — no dependency on any other helper function.\n */\nfunction fixMixedSizeSlides() {\n\n    function checkSlider($parent, trigger) {\n        var $productImgs = $parent.find('.mm-product-image img');\n\n        var tallestHeight = 0;\n        var referenceHeight = 0;\n        var isMixed = false;\n\n        $productImgs.each(function (index) {\n            var thisHeight = $(this).height();\n\n            if (thisHeight > tallestHeight) {\n                tallestHeight = thisHeight;\n            }\n\n            if (thisHeight > referenceHeight && referenceHeight === 0) {\n                referenceHeight = thisHeight;\n            } else if (thisHeight !== referenceHeight && referenceHeight !== 0) {\n                isMixed = true;\n            }\n        });\n\n        if (isMixed) {\n            $parent\n                .addClass('at-mixed-size-products')\n                .attr('data-window-width', $(window).width())\n                .attr('data-min-height', tallestHeight);\n\n            $parent.find('.mm-product-image').css({\n                'min-height': tallestHeight + 'px',\n                'display': 'flex',\n                'align-items': 'center',\n                'justify-content': 'center'\n            });\n        } \n        $parent.slick('setPosition');\n    }\n\n    function attachToSlider(el) {\n        var $slider = $(el);\n\n        if ($slider.data('fmss-attached')) {\n            return;\n        }\n        $slider.data('fmss-attached', true);\n\n        // Immediate check\n        checkSlider($slider, 'initial');\n\n        // Re-check as images load\n        var refreshTimer;\n        $slider.find('img').one('load', function () {\n            var $loadedImg = $(this);\n\n            clearTimeout(refreshTimer);\n\n            refreshTimer = setTimeout(function () {\n                var $parent = $loadedImg.closest('.mm-recommendation-tiles');\n\n                if (!$parent.length) {\n                    return;\n                }\n\n                checkSlider($parent, 'on-load');\n            }, 250, $loadedImg);\n        });\n    }\n\n    // Process sliders already in the DOM\n    $('.mm-recommendation-tiles').each(function () {\n        attachToSlider(this);\n    });\n\n    // Watch for sliders added to the DOM in the future\n    var domObserver = new MutationObserver(function (mutations) {\n        mutations.forEach(function (mutation) {\n            mutation.addedNodes.forEach(function (node) {\n                if (node.nodeType !== 1) return; // element nodes only\n\n                var $node = $(node);\n\n                // The added node itself may be the slider\n                if ($node.hasClass('mm-recommendation-tiles')) {\n                    attachToSlider(node);\n                }\n\n                // Or the slider may be a descendant of what was added\n                $node.find('.mm-recommendation-tiles').each(function () {\n                    attachToSlider(this);\n                });\n            });\n        });\n    });\n\n    domObserver.observe(document.body, { childList: true, subtree: true });\n}\n\nfixMixedSizeSlides();\n\n</script>"},{"responseTokens":{"experience.id":"0","activity.name":"[HOTFIX] ADA Slider Fixes","activity.id":"300898","experience.name":"Experience A","profile.marketingCloudVisitorId":"57885437755112554943465670896878167092","profile.activeActivities":"300898,161675,162159","activity.decisioningMethod":"server-side"},"html":"<script>\nfunction adaSliderFixes(method) {\n    if ((typeof utag_data !== 'undefined') && window.jQuery && typeof $ == 'function' && typeof $.initialize == 'function') {\n        method();\n    } else {\n        setTimeout(function () { adaSliderFixes(method) }, 50);\n    }\n}\n\nadaSliderFixes(function () {\n    // fix focus slider\n    $(document).on('click', '.slick-slider .slick-arrow', function () {\n        console.log('Arrow clicked');\n        // Get the parent slider\n        const slider = $(this).closest('.slick-slider');\n\n        console.log('Parent slider found:', slider.length > 0);\n\n        // Wait for slide transition to complete\n        setTimeout(function () {\n            // Find and focus the active slide within this slider\n            console.log('Focusing on the first active slide');\n            console.log('Active slides found:', slider.find('.slick-slide.slick-active')[0]);\n            slider.find('.slick-slide.slick-active').first().focus();\n        }, 100);\n    });\n\n    // fix slick-slider arrows being tabbable when they shouldn't be\n    // Observe for changes in the slick slider to update the tabindex accordingly\n    var observer = new MutationObserver(function (mutationsList) {\n        mutationsList.forEach(function (mutation) {\n            if (mutation.type === 'attributes' && mutation.attributeName === 'aria-disabled') {\n                var target = mutation.target;\n                if (target.getAttribute('aria-disabled') === 'true') {\n                    target.setAttribute('tabindex', '-1');\n                } else {\n                    target.removeAttribute('tabindex');\n                }\n            }\n        });\n    });\n\n    // Watch for both existing and new slick sliders\n    $.initialize('.slick-slider', function() {\n        $('.slick-arrow[aria-disabled=\"true\"]').attr('tabindex', '-1');\n        if ($(this).find('.slick-arrow').length > 0) {\n            observer.observe(this, { attributes: true, subtree: true });\n        } else {\n            // observe $('.mm-recommendation-heading-controls') that neighbors this slick-slider\n            const neighboringControl = $(this).siblings('.mm-recommendation-heading-controls');\n            console.log('Neighboring controls found:', neighboringControl.length);\n            if (neighboringControl.length > 0) {\n                observer.observe(neighboringControl[0], { attributes: true, subtree: true });\n            }\n        }\n    });\n});\n</script>"},{"responseTokens":{"experience.id":"0","activity.name":"[Visual Editor Brain] PROD -  AT Recommendations","activity.id":"161675","experience.name":"Experience A","profile.marketingCloudVisitorId":"57885437755112554943465670896878167092","profile.activeActivities":"161675,162159","activity.decisioningMethod":"server-side"},"actions":[{"action":"customCode","selector":"HEAD","content":"<style type=\"text/css\">\n    @charset \"UTF-8\";\n\n    /* General Styling */\n    .mm-section-default-hidden {\n        display: none;\n    }\n\n    .mm-section {\n        width: 100%;\n        margin-bottom: 30px;\n    }\n\n    .mm-section img {\n        max-width: 100%;\n    }\n\n    .mm-css-bg {\n        background-size: cover;\n    }\n\n    .bg-gray-100 {\n        background-color: #F5F5F5;\n    }\n\n    .bg-sale {\n        background-color: #A70033;\n    }\n\n    .mm-tile a:hover {\n        text-decoration: none;\n    }\n\n    .mm-rating {\n        text-align: center;\n    }\n\n    /* Banner */\n    .mm-layout-banner .container {\n        max-width: 850px;\n    }\n\n    .mm-layout-banner .mm-banner-text :last-child {\n        margin-bottom: 0;\n    }\n\n    /* Hero General */\n    /*.mm-hero-content {    @include media-breakpoint-up(md) {        padding-left: 32px;        padding-right: 32px;    } }*/\n    /* Static Promo */\n    @media (min-width: 761px) {\n        .mm-static-category-promo-image {\n            flex-basis: 60%;\n        }\n    }\n\n    .mm-panel-link:hover,\n    .mm-panel-link:active {\n        text-decoration: none;\n    }\n\n    .mm-panel-link:hover .btn-link,\n    .mm-panel-link:active .btn-link {\n        color: #000;\n        background: #f9f9f9;\n        text-decoration: none;\n        background-color: rgba(0, 0, 0, 0.05);\n    }\n\n    .mm-panel-link:focus .btn-link {\n        box-shadow: 0 0 0 4px #000, 0px 5px 9px rgba(0, 0, 0, 0.1);\n        text-decoration: none;\n        background-color: rgba(0, 0, 0, 0.05);\n    }\n\n    /* Carousels */\n    .mm-carousel .slide {\n        position: relative;\n    }\n\n    .mm-carousel .slick-track {\n        display: flex;\n    }\n\n    .mm-carousel .slick-slide {\n        margin: 0 12px;\n        height: auto;\n    }\n\n    .mm-carousel .slick-list {\n        margin: 0 -12px;\n    }\n\n    .mm-carousel li {\n        list-style-type: none;\n    }\n\n    .mm-carousel img {\n        max-width: 100%;\n    }\n\n    .mm-carousel a {\n        display: block;\n    }\n\n    .mm-carousel a:focus {\n        outline: 2px solid #0449B9;\n        outline-offset: -2px;\n    }\n\n    .mm-carousel a:hover {\n        text-decoration: none;\n    }\n\n    .mm-carousel .slick-arrow {\n        width: 12px;\n        height: 18px;\n        border: none;\n        background: transparent;\n        position: relative;\n        top: auto;\n        right: auto;\n        bottom: auto;\n        left: auto;\n        overflow: hidden;\n        display: inline-block;\n        transform: none;\n        background: none !important;\n    }\n\n    .mm-carousel .slick-arrow::after {\n        content: \"\";\n        width: 12px;\n        height: 18px;\n        position: absolute;\n        top: 0;\n        background-repeat: no-repeat;\n    }\n\n    .mm-carousel .slick-arrow.slick-next::after {\n        left: 0;\n        transform: rotate(180deg);\n        background-image: url(\"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA3LjQgMTIiIHdpZHRoPScxMicgaGVpZ2h0PScxOCc+PHBhdGggZD0iTTcuNCAxLjRMNiAwIDAgNmw2IDYgMS40LTEuNEwyLjggNnoiLz48L3N2Zz4=\");\n    }\n\n    .mm-carousel .slick-arrow.slick-prev::after {\n        left: 0;\n        background-image: url(\"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA3LjQgMTIiIHdpZHRoPScxMicgaGVpZ2h0PScxOCc+PHBhdGggZD0iTTcuNCAxLjRMNiAwIDAgNmw2IDYgMS40LTEuNEwyLjggNnoiLz48L3N2Zz4=\");\n    }\n\n    .mm-carousel .slick-arrow.slick-disabled {\n        opacity: 0.5;\n    }\n\n    .mm-carousel .slick-arrow:focus {\n        outline: 2px solid #0449B9;\n    }\n\n    .mm-carousel .mm-carousel-slides {\n        position: relative;\n        margin-bottom: 0;\n    }\n\n    .mm-carousel .mm-product-tile {\n        margin-left: auto;\n        margin-right: auto;\n    }\n\n    .mm-carousel.mm-layout-carousel-hero .slick-slide {\n        margin: 0;\n    }\n\n    .mm-carousel.mm-layout-carousel-hero .slick-list {\n        margin: 0;\n    }\n\n    .mm-carousel.mm-layout-carousel-hero .slick-arrow {\n        position: absolute;\n        width: 32px;\n        height: 64px;\n        background: #fff;\n        box-shadow: 0 0 15px rgba(0, 0, 0, 0.15);\n        top: 50%;\n        margin-top: -32px;\n        z-index: 1;\n    }\n\n    .mm-carousel.mm-layout-carousel-hero .slick-arrow::after {\n        top: 22px;\n    }\n\n    .mm-carousel.mm-layout-carousel-hero .slick-arrow.slick-next {\n        right: 0;\n    }\n\n    .mm-carousel.mm-layout-carousel-hero .slick-arrow.slick-next::after {\n        left: 11px;\n    }\n\n    .mm-carousel.mm-layout-carousel-hero .slick-arrow.slick-prev {\n        left: 0;\n    }\n\n    .mm-carousel.mm-layout-carousel-hero .slick-arrow.slick-prev::after {\n        left: 8px;\n    }\n\n    @media (max-width: 760.98px) {\n        .mm-carousel.mm-layout-carousel-hero .slick-arrow {\n            display: none !important;\n        }\n    }\n\n    .mm-carousel.mm-layout-carousel-hero .mm-carousel-slides {\n        overflow: hidden;\n    }\n\n    .mm-carousel .mm-recommendation-btn-container {\n        padding-top: 40px;\n        text-align: center;\n    }\n\n    .mm-carousel .mm-recommendation-heading {\n        text-align: center;\n        margin-bottom: 16px;\n    }\n\n    .mm-carousel .mm-product-name {\n        color: #000;\n    }\n\n    .mm-carousel .mm-product-image img {\n        margin-left: auto;\n        margin-right: auto;\n    }\n\n    .mm-carousel .mm-recommendation-tiles {\n        padding-left: 30px;\n        padding-right: 30px;\n    }\n\n    .mm-carousel.mm-control-position-default .slick-arrow {\n        position: absolute;\n        top: 50%;\n        margin-top: -32px;\n        z-index: 1;\n        width: 21px;\n        height: 64px;\n        top: 38%;\n        padding: 0;\n    }\n\n    .mm-carousel.mm-control-position-default .slick-arrow::after {\n        top: 22px;\n    }\n\n    .mm-carousel.mm-control-position-default .slick-arrow.slick-next {\n        right: 0;\n    }\n\n    .mm-carousel.mm-control-position-default .slick-arrow.slick-next::after {\n        left: 4px;\n    }\n\n    .mm-carousel.mm-control-position-default .slick-arrow.slick-prev {\n        left: 0;\n    }\n\n    .mm-carousel.mm-control-position-default .slick-arrow.slick-prev::after {\n        left: 4px;\n    }\n\n    @media (max-width: 760.98px) {\n        .mm-carousel.mm-control-position-default .slick-arrow {\n            display: none !important;\n        }\n    }\n\n    .mm-carousel.mm-control-position-default .mm-recommendation-tiles {\n        padding-left: 40px;\n        padding-right: 40px;\n    }\n\n    @media (max-width: 760.98px) {\n        .mm-carousel.mm-control-position-default .mm-recommendation-tiles {\n            padding-left: 0;\n            padding-right: 0;\n        }\n    }\n\n    .mm-carousel.mm-control-position-headline .mm-recommendation-tiles {\n        padding-left: 0;\n        padding-right: 0;\n    }\n\n    @media (min-width: 761px) {\n        .mm-carousel.mm-control-position-headline .mm-recommendation-heading-controls {\n            position: relative;\n            padding-left: 60px;\n            padding-right: 60px;\n        }\n\n        .mm-carousel.mm-control-position-headline .mm-recommendation-heading-controls.mm-recommendation-heading-controls-category-text-link {\n            padding-left: 200px;\n            padding-right: 200px;\n        }\n\n        .mm-carousel.mm-control-position-headline .mm-recommendation-heading-controls .mm-recommendation-container {\n            padding-left: 0;\n            padding-right: 0;\n        }\n\n        .mm-carousel.mm-control-position-headline .mm-recommendation-heading-controls .mm-recommendation-controls-wrapper {\n            position: absolute;\n            top: 0;\n            right: 0;\n            line-height: 0;\n            padding-right: 74px;\n        }\n\n        .mm-carousel.mm-control-position-headline .mm-recommendation-heading-controls .mm-recommendation-controls {\n            position: absolute;\n            top: 1px;\n            right: 0;\n        }\n\n        .mm-carousel.mm-control-position-headline .mm-recommendation-heading-controls .mm-recommendation-category-text-link {\n            margin-top: 2px;\n            display: inline-block;\n            line-height: 1;\n        }\n\n        .mm-carousel.mm-control-position-headline .mm-recommendation-heading-controls .slick-arrow.slick-next {\n            margin-left: 30px;\n        }\n    }\n\n    @media (max-width: 760.98px) {\n        .mm-carousel.mm-control-position-headline .mm-recommendation-heading-controls {\n            padding-left: 0;\n            padding-right: 0;\n        }\n\n        .mm-carousel.mm-control-position-headline .mm-recommendation-heading-controls.mm-recommendation-heading-controls-category-text-link .mm-recommendation-heading {\n            margin-bottom: 4px;\n        }\n\n        .mm-carousel.mm-control-position-headline .mm-recommendation-heading-controls .mm-recommendation-controls-wrapper {\n            text-align: center;\n            margin-bottom: 16px;\n        }\n\n        .mm-carousel.mm-control-position-headline .mm-recommendation-heading-controls .mm-recommendation-controls {\n            display: none;\n        }\n    }\n\n    .mm-carousel.mm-layout-carousel .mm-product-name,\n    .mm-carousel.mm-layout-carousel-vertical .mm-product-name {\n        margin-top: 20px;\n        font-size: 1.125rem;\n        line-height: 1.3;\n        text-align: center;\n    }\n\n    .mm-carousel.mm-layout-carousel .mm-product-name sup,\n    .mm-carousel.mm-layout-carousel-vertical .mm-product-name sup {\n        font-size: 0.625rem;\n    }\n\n    .mm-carousel.mm-layout-carousel .mm-product-standard-price,\n    .mm-carousel.mm-layout-carousel .mm-product-sales-price,\n    .mm-carousel.mm-layout-carousel-vertical .mm-product-standard-price,\n    .mm-carousel.mm-layout-carousel-vertical .mm-product-sales-price {\n        display: block;\n        text-align: center;\n        letter-spacing: 1px;\n        font-size: 0.75rem;\n    }\n\n    .mm-carousel.mm-layout-carousel .mm-product-standard-price,\n    .mm-carousel.mm-layout-carousel-vertical .mm-product-standard-price {\n        color: #525252;\n        text-decoration: line-through;\n    }\n\n    .mm-carousel.mm-layout-carousel .mm-product-sales-price,\n    .mm-carousel.mm-layout-carousel-vertical .mm-product-sales-price {\n        color: #000000;\n    }\n\n    .mm-carousel.mm-layout-carousel .mm-product-brand,\n    .mm-carousel.mm-layout-carousel-vertical .mm-product-brand {\n        text-align: center;\n        text-transform: uppercase;\n        color: #525252;\n        font-size: 0.625rem;\n        margin-top: 5px;\n        font-weight: bold;\n        letter-spacing: 0.2px;\n    }\n\n    .mm-carousel.mm-layout-carousel .mm-product-pricing,\n    .mm-carousel.mm-layout-carousel-vertical .mm-product-pricing {\n        margin-top: 0.5rem;\n    }\n\n    @media (min-width: 1024px) {\n        .mm-carousel.mm-layout-carousel-vertical .slick-track {\n            display: block;\n        }\n\n        .mm-carousel.mm-layout-carousel-vertical .mm-recommendation-tiles {\n            max-width: 160px;\n            margin-left: auto;\n            margin-right: auto;\n            padding-left: 0;\n            padding-right: 0;\n            margin-top: 30px;\n            margin-bottom: 30px;\n        }\n\n        .mm-carousel.mm-layout-carousel-vertical .slick-arrow {\n            position: absolute;\n            margin-left: -9px;\n            z-index: 1;\n            width: 18px;\n            height: 12px;\n            margin-top: 0;\n        }\n\n        .mm-carousel.mm-layout-carousel-vertical .slick-arrow::after {\n            top: -2px;\n            left: 3px;\n        }\n\n        .mm-carousel.mm-layout-carousel-vertical .slick-arrow.slick-next {\n            top: auto;\n            bottom: -20px;\n            left: 50%;\n        }\n\n        .mm-carousel.mm-layout-carousel-vertical .slick-arrow.slick-next::after {\n            transform: rotate(-90deg);\n        }\n\n        .mm-carousel.mm-layout-carousel-vertical .slick-arrow.slick-prev {\n            top: -20px;\n            left: 50%;\n        }\n\n        .mm-carousel.mm-layout-carousel-vertical .slick-arrow.slick-prev::after {\n            transform: rotate(90deg);\n        }\n\n        .mm-carousel.mm-layout-carousel-vertical .mm-product-tile {\n            padding-bottom: 12px;\n        }\n\n        .mm-carousel.mm-layout-carousel-vertical-compact .slick-track {\n            display: block;\n        }\n\n        .mm-carousel.mm-layout-carousel-vertical-compact .mm-recommendation-tiles {\n            max-width: 160px;\n            margin-left: auto;\n            margin-right: auto;\n            padding-left: 0;\n            padding-right: 0;\n            margin-top: 20px;\n            margin-bottom: 30px;\n        }\n\n        .mm-carousel.mm-layout-carousel-vertical-compact .slick-arrow {\n            position: absolute;\n            margin-left: -9px;\n            z-index: 1;\n            width: 18px;\n            height: 12px;\n            margin-top: 0;\n        }\n\n        .mm-carousel.mm-layout-carousel-vertical-compact .slick-slide {\n            width: 100px !important;\n            margin: 0 42px;\n        }\n\n        .mm-carousel.mm-layout-carousel-vertical-compact .slick-arrow::after {\n            top: -2px;\n            left: 3px;\n        }\n\n        .mm-carousel.mm-layout-carousel-vertical-compact .slick-arrow.slick-next {\n            top: auto;\n            bottom: -20px;\n            left: 50%;\n        }\n\n        .mm-carousel.mm-layout-carousel-vertical-compact .slick-arrow.slick-next::after {\n            transform: rotate(-90deg);\n        }\n\n        .mm-carousel.mm-layout-carousel-vertical-compact .slick-arrow.slick-prev {\n            top: -20px;\n            left: 50%;\n        }\n\n        .mm-carousel.mm-layout-carousel-vertical-compact .slick-arrow.slick-prev::after {\n            transform: rotate(90deg);\n        }\n\n        .mm-carousel.mm-layout-carousel-vertical-compact .mm-product-tile {\n            padding-bottom: 12px;\n        }\n    }\n\n    .mm-carousel.mm-layout-carousel-compact .mm-rating {\n        text-align: left;\n    }\n\n    .mm-carousel.mm-layout-carousel-compact .mm-product-name {\n        color: #000;\n    }\n\n    .mm-carousel.mm-layout-carousel-compact .mm-product-pricing {\n        color: #000;\n    }\n\n    .mm-carousel.mm-layout-carousel-compact .mm-product-pricing a {\n        color: #000;\n    }\n\n    .mm-carousel.mm-layout-carousel-compact .mm-price-product-sales-price {\n        margin-right: 1rem;\n    }\n\n    .mm-carousel.mm-layout-carousel-compact .mm-price-currency-text {\n        font-size: 1.375rem;\n        line-height: 1.5rem;\n        margin: 0 2px;\n    }\n\n    .mm-carousel.mm-layout-carousel-vertical-compact .mm-rating {\n        text-align: left;\n    }\n\n    .mm-carousel.mm-layout-carousel-vertical-compact .mm-product-name {\n        color: #000;\n    }\n\n    .mm-carousel.mm-layout-carousel-vertical-compact .mm-product-pricing {\n        color: #000;\n    }\n\n    .mm-carousel.mm-layout-carousel-vertical-compact .mm-product-pricing a {\n        color: #000;\n    }\n\n    .mm-carousel.mm-layout-carousel-vertical-compact .mm-price-product-sales-price {\n        margin-right: 1rem;\n    }\n\n    .mm-carousel.mm-layout-carousel-vertical-compact .mm-price-currency-text {\n        font-size: 1.375rem;\n        line-height: 1.5rem;\n        margin: 0 2px;\n    }\n\n    @media (min-width: 761px) {\n        .mm-carousel.mm-layout-carousel-compact .mm-plp-save-message::before {\n            content: \"—\";\n            display: inline-block;\n            margin-right: 5px;\n        }\n    }\n\n    .mm-section .mm-carousel-play-pause-btn {\n        display: inline-block;\n        background: none;\n        position: relative;\n        width: 9px;\n        height: 11px;\n        padding: 0;\n        border: none;\n        vertical-align: middle;\n        margin-left: 4px;\n        margin-top: 1px;\n    }\n\n    .mm-section .mm-carousel-play-pause-btn::after {\n        content: \"\";\n        display: block;\n        width: 100%;\n        height: 100%;\n        transform: rotate(0);\n        background-image: url(\"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI5IiBoZWlnaHQ9IjExIiB2aWV3Qm94PSIwIDAgOSAxMSI+PHBhdGggZD0iTTYsMTUuNUg5VjVINlpNMTIsNVYxNS41aDNWNVoiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC02IC01KSIvPjwvc3ZnPg==\");\n        background-repeat: none;\n    }\n\n    .mm-section .mm-carousel-play-pause-btn.is-paused::after {\n        transform: rotate(90deg);\n        background-image: url(\"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxMCA1IiB3aWR0aD0iOSIgaGVpZ2h0PSIxMSI+PHBhdGggZD0iTTAgNWw1LTUgNSA1eiIvPjwvc3ZnPg==\");\n    }\n\n    .mm-section .slick-dots-container {\n        text-align: center;\n    }\n\n    .mm-section .slick-dots {\n        list-style-type: none;\n        margin: 0;\n        padding: 0;\n        display: inline-block;\n        line-height: 8px;\n        vertical-align: middle;\n        position: inherit;\n        width: auto;\n    }\n\n    .mm-section .slick-dots li {\n        display: inline-block;\n        vertical-align: top;\n        margin: 0 4px;\n        width: auto;\n        height: auto;\n    }\n\n    .mm-section .slick-dots button {\n        padding: 0;\n        background-color: #F5F5F5;\n        border: none;\n        width: 8px;\n        height: 8px;\n        border-radius: 4px;\n        display: block;\n    }\n\n    .mm-section .slick-dots button::before {\n        display: none;\n    }\n\n    .mm-section .slick-dots .slick-active button {\n        background-color: #000;\n    }\n\n    /* Recommendations */\n    .mm-default-slide-hidden {\n        display: none;\n    }\n\n    .mm-recommendation-container {\n        max-width: 1260px;\n        margin-left: auto;\n        margin-right: auto;\n    }\n\n    .mm-recommendation-container.mm-container-full-width {\n        max-width: inherit;\n    }\n\n    .mm-recommendation-container .mm-rating {\n        color: #ffb64a;\n        font-size: 0.75rem;\n        margin-top: 4px;\n        margin-bottom: 4px;\n    }\n\n    .mm-recommendation-container .mm-rating i {\n        margin-right: 3px;\n    }\n\n    body.fb .bg-brand {\n        background-color: #000000\n    }\n\n    body.os .bg-brand {\n        background-color: #0449b9\n    }\n\n    body.ww .bg-brand {\n        background-color: #D5007E\n    }\n\n    body.rm .bg-brand {\n        background-color: #331E53\n    }\n\n    body.ca .bg-brand {\n        background-color: #3a2a7c\n    }\n\n    body.jl .bg-brand {\n        background-color: #651E40\n    }\n\n    body.el .bg-brand {\n        background-color: #242424\n    }\n\n    body.aa .bg-brand {\n        background-color: #0077b1\n    }\n\n    body.jv .bg-brand {\n        background-color: #1C1C1C\n    }\n\n    body.ia .bg-brand {\n        background-color: #9F2861\n    }\n\n    body.sh .bg-brand {\n        background-color: #385492\n    }\n\n    body.sa .bg-brand {\n        background-color: #002554\n    }\n\n    body.bh .bg-brand {\n        background-color: #156074\n    }\n\n    body.ks .bg-brand {\n        background-color: #002A54\n    }\n\n    body.fo .bg-brand {\n        background-color: #A70033\n    }\n</style>\n\n<script>\n    var deferCount = 0;\n\n    function deferMarketingModules(method) {\n        deferCount++;\n        if (window.jQuery) {\n            method();\n        } else {\n            if (deferCount < 50) {\n                setTimeout(function() {\n                    deferMarketingModules(method)\n                }, 50);\n            }\n        }\n    }\n\n    deferMarketingModules(function() {\n        if (typeof window.marketingModules == 'undefined') {\n            /*!\n             * Mutation Observer - used to watch for dynamic mboxes that need to be created\n             */\n            if (!jQuery().initialize) {\n                /*!\n                 * jQuery initialize - v1.0.0 - 12/14/2016\n                 * https://github.com/adampietrasiak/jquery.initialize\n                 *\n                 * Copyright (c) 2015-2016 Adam Pietrasiak\n                 * Released under the MIT license\n                 * https://github.com/timpler/jquery.initialize/blob/master/LICENSE\n                 */\n                (function($) {\n                    \"use strict\";\n                    var combinators = [\" \", \">\", \"+\", \"~\"];\n                    var fraternisers = [\"+\", \"~\"];\n                    var complexTypes = [\"ATTR\", \"PSEUDO\", \"ID\", \"CLASS\"];\n\n                    function grok(msobserver) {\n                        if (!$.find.tokenize) {\n                            msobserver.isCombinatorial = true;\n                            msobserver.isFraternal = true;\n                            msobserver.isComplex = true;\n                            return;\n                        }\n                        msobserver.isCombinatorial = false;\n                        msobserver.isFraternal = false;\n                        msobserver.isComplex = false;\n                        var token = $.find.tokenize(msobserver.selector);\n                        for (var i = 0; i < token.length; i++) {\n                            for (var j = 0; j < token[i].length; j++) {\n                                if (combinators.indexOf(token[i][j].type) != -1) msobserver.isCombinatorial = true;\n                                if (fraternisers.indexOf(token[i][j].type) != -1) msobserver.isFraternal = true;\n                                if (complexTypes.indexOf(token[i][j].type) != -1) msobserver.isComplex = true;\n                            }\n                        }\n                    }\n                    var MutationSelectorObserver = function(selector, callback, options) {\n                        this.selector = selector.trim();\n                        this.callback = callback;\n                        this.options = options;\n                        grok(this);\n                    };\n                    var msobservers = [];\n                    msobservers.initialize = function(selector, callback, options) {\n                        var seen = [];\n                        var callbackOnce = function() {\n                            if (seen.indexOf(this) == -1) {\n                                seen.push(this);\n                                $(this).each(callback);\n                            }\n                        };\n                        $(options.target).find(selector).each(callbackOnce);\n                        var msobserver = new MutationSelectorObserver(selector, callbackOnce, options);\n                        this.push(msobserver);\n                        var observer = new MutationObserver(function(mutations) {\n                            var matches = [];\n                            for (var m = 0; m < mutations.length; m++) {\n                                if (mutations[m].type == \"attributes\") {\n                                    if (mutations[m].target.matches(msobserver.selector)) matches.push(mutations[m].target);\n                                    if (msobserver.isFraternal && mutations[m].target.parentElement) matches.push.apply(matches, mutations[m].target.parentElement.querySelectorAll(msobserver.selector));\n                                    else matches.push.apply(matches, mutations[m].target.querySelectorAll(msobserver.selector));\n                                }\n                                if (mutations[m].type == \"childList\") {\n                                    for (var n = 0; n < mutations[m].addedNodes.length; n++) {\n                                        if (!(mutations[m].addedNodes[n] instanceof Element)) continue;\n                                        if (mutations[m].addedNodes[n].matches(msobserver.selector)) matches.push(mutations[m].addedNodes[n]);\n                                        if (msobserver.isFraternal && mutations[m].addedNodes[n].parentElement) matches.push.apply(matches, mutations[m].addedNodes[n].parentElement.querySelectorAll(msobserver.selector));\n                                        else matches.push.apply(matches, mutations[m].addedNodes[n].querySelectorAll(msobserver.selector));\n                                    }\n                                }\n                            }\n                            for (var i = 0; i < matches.length; i++) $(matches[i]).each(msobserver.callback);\n                        });\n                        var defaultObeserverOpts = {\n                            childList: true,\n                            subtree: true,\n                            attributes: msobserver.isComplex\n                        };\n                        observer.observe(options.target, options.observer || defaultObeserverOpts);\n                    };\n                    $.fn.initialize = function(callback, options) {\n                        msobservers.initialize(this.selector, callback, $.extend({}, $.initialize.defaults, options));\n                    };\n                    $.initialize = function(selector, callback, options) {\n                        msobservers.initialize(selector, callback, $.extend({}, $.initialize.defaults, options));\n                    };\n                    $.initialize.defaults = {\n                        target: document.documentElement,\n                        observer: null\n                    };\n                })(jQuery);\n            }\n\n            window.marketingModules = {\n                'state': {\n                    'init': false\n                },\n                'sections': [],\n                'breakpoints': {\n                    'xs': {\n                        'min': 0,\n                        'max': 576\n                    },\n                    'sm': {\n                        'min': 577,\n                        'max': 760\n                    },\n                    'md': {\n                        'min': 761,\n                        'max': 1023,\n                    },\n                    'lg': {\n                        'min': 1024,\n                        'max': 1475,\n                    },\n                    'xl': {\n                        'min': 1476,\n                        'max': 0,\n                    }\n                },\n                'mediaQueries': {},\n                'tealiumChecks': 0\n            };\n            marketingModules.mediaQueries = {\n                'sm': '(max-width: ' + marketingModules.breakpoints.sm.max + 'px)',\n                'md': '(min-width: ' + marketingModules.breakpoints.md.min + 'px) and (max-width: ' + marketingModules.breakpoints.md.max + 'px)',\n            }\n            marketingModules.fn = {\n                activateHeroCarousel: function(t) {\n                    var autoPlayDefault = true;\n                    if (t.attr('data-default-paused') == 'true') {\n                        autoPlayDefault = false;\n                    }\n\n                    t.find('.mm-carousel-slides').on('init', function(event, slick, direction) {\n                        var parent = $(this).closest('.mm-section');\n                        var t = $(this);\n                        t.attr('id', parent.attr('id') + 'Carousel');\n\n                        t.find('.slide').each(function(index) {\n                            $(this).addClass('slide-' + $(this).attr('data-slick-index'));\n                        });\n                        parent.removeClass('mm-section-default-hidden');\n\n                        var states = {\n                            'play': {\n                                'label': 'Play',\n                                'cssClass': 'is-playing'\n\n                            },\n                            'pause': {\n                                'label': 'Pause',\n                                'cssClass': 'is-paused'\n                            }\n                        };\n\n                        var activeState = states.play;\n                        var inactiveState = states.pause;\n\n                        if (parent.attr('data-default-paused') == 'true') {\n                            activeState = states.pause;\n                            inactiveState = states.play;\n                        }\n\n                        parent.find('.slick-dots-container').append('<button type=\"button\" role=\"tab\" aria-controls=\"' + t.attr('id') + '\" aria-label=\"' + inactiveState.label + '\" tabindex=\"0\" aria-selected=\"false\" class=\"mm-carousel-play-pause-btn ' + activeState.cssClass + '\"></button>');\n                        parent.find('.mm-carousel-play-pause-btn').click(function() {\n                            if (!$(this).hasClass(states.pause.cssClass)) {\n                                $(this).addClass(states.pause.cssClass).removeClass(states.play.cssClass);\n                                $(this).closest('.mm-carousel').find('.mm-carousel-slides').slick('slickPause');\n                                $(this).attr('aria-label', states.play.label);\n                            } else {\n                                $(this).addClass(states.play.cssClass).removeClass(states.pause.cssClass);\n                                $(this).closest('.mm-carousel').find('.mm-carousel-slides').slick('slickPlay').slick('slickNext');\n                                $(this).attr('aria-label', states.pause.label);;\n                            }\n                        });\n                        parent.find('.slick-arrow, .slick-dots button').wrapInner('<span class=\"sr-only\"></span>');\n\n                    });\n                    t.find('.mm-carousel-slides').slick({\n                        dots: true,\n                        infinite: true,\n                        speed: 500,\n                        autoplay: autoPlayDefault,\n                        appendDots: t.find('.slick-dots-container').first()\n                    });\n                    marketingModules.fn.refreshCarouselOnLoad(t);\n                },\n                refreshCarouselOnLoad: function(t) {\n                    var refreshTimer;\n                    t.find(\"img\").one(\"load\", function() {\n                        clearTimeout(refreshTimer);\n                        refreshTimer = setTimeout(function(t) {\n                            var parent = t.closest(\".mm-carousel-slides\");\n                            parent.slick('setPosition');\n                        }, 250, $(this));\n                    });\n                },\n                activateContentCarousel: function(t) {\n\n                    t.find('.mm-carousel-slides').on('init', function(event, slick, direction) {\n                        var parent = $(this).closest('.mm-section');\n                        var t = $(this);\n                        t.attr('id', parent.attr('id') + 'Carousel');\n\n                        t.find('.slide').each(function(index) {\n                            $(this).addClass('slide-' + $(this).attr('data-slick-index'));\n                        });\n                        parent.removeClass('mm-section-default-hidden');\n                    });\n\n                    var lgSlideCount = marketingModules.fn.configOption(t.data('mm-lg-slide-count'), 4);\n                    var mdSlideCount = marketingModules.fn.configOption(t.data('mm-md-slide-count'), 4.25);\n                    var smSlideCount = marketingModules.fn.configOption(t.data('mm-sm-slide-count'), 2.25);\n                    var xsSlideCount = marketingModules.fn.configOption(t.data('mm-xs-slide-count'), 1.25);\n\n                    var slickSettings = {\n                        slidesToShow: lgSlideCount,\n                        slidesToScroll: Math.floor(lgSlideCount),\n                        dots: false,\n                        infinite: false,\n                        verticalSwiping: false,\n                        prevArrow: '<button type=\"button\" class=\"btn-ds slick-prev\" aria-label=\"Previous\"><span class=\"sr-only\">Previous</span></button>',\n                        nextArrow: '<button type=\"button\" class=\"btn-ds slick-next\" aria-label=\"Next\"><span class=\"sr-only\">Next</span></button>',\n                        appendArrows: t.find(\".mm-recommendation-controls\").first(),\n                        responsive: [{\n                            breakpoint: marketingModules.breakpoints.md.max,\n                            settings: {\n                                slidesToShow: mdSlideCount,\n                                slidesToScroll: Math.floor(mdSlideCount),\n                                arrows: false,\n                                vertical: false,\n                                swipe: true\n                            }\n                        }, {\n                            breakpoint: marketingModules.breakpoints.sm.max,\n                            settings: {\n                                slidesToShow: smSlideCount,\n                                slidesToScroll: Math.floor(smSlideCount),\n                                arrows: true,\n                                vertical: false,\n                                swipe: true\n                            }\n                        }, {\n                            breakpoint: marketingModules.breakpoints.xs.max,\n                            settings: {\n                                slidesToShow: xsSlideCount,\n                                slidesToScroll: Math.floor(xsSlideCount),\n                                arrows: false,\n                                vertical: false,\n                                swipe: true\n                            }\n                        }]\n                    }\n                    t.find('.mm-carousel-slides').slick(slickSettings);\n                    marketingModules.fn.refreshCarouselOnLoad(t);\n                },\n                configOption: function(curValue, defaultValue) {\n                    /*!\n                     * Returns data attribute if set, needed because some configuration options can be set to 'false'\n                     */\n                    if (typeof curValue === 'undefined') {\n                        return defaultValue\n                    }\n                    return curValue;\n                },\n                getUrlParameter: function(name) {\n                    name = name.replace(/[\\[]/, '\\\\[').replace(/[\\]]/, '\\\\]');\n                    var regex = new RegExp('[\\\\?&amp;]' + name + '=([^&amp;#]*)');\n                    var results = regex.exec(location.search);\n                    return results === null ? '' : decodeURIComponent(results[1].replace(/\\+/g, ' '));\n                },\n                findSections: function() {\n                    $(\".mm-section\").not('.init').each(function(index) {\n                        var t = $(this);\n                        t.addClass('init');\n                        if (!t.attr('id')) {\n                            t.attr('id', 'mmSection' + (marketingModules.sections.length + 1)).attr('data-mm-page-position', (marketingModules.sections.length + 1));\n                        }\n                        if (t.hasClass('mm-layout-carousel-hero')) {\n                            marketingModules.fn.activateHeroCarousel(t);\n                        }\n                        if (t.hasClass('mm-layout-carousel-content')) {\n                            marketingModules.fn.activateContentCarousel(t);\n                        }\n                        t.find('.mm-css-bg').each(function(index) {\n                            marketingModules.fn.createPictureWithBG(t.attr('id'), $(this), index);\n                        });\n                        marketingModules.fn.registerSection(t);\n                    });\n                },\n                initClickEvents: function() {\n                    $(\"body\").on(\"click\", \".mm-modal-trigger\", function(event) {\n                        event.preventDefault();\n                        var target = marketingModules.fn.configOption($(this).attr('data-mm-target'), '');\n                        if (target !== '') {\n                            var modal = $(target);\n                            if (modal.length > 0) {\n                                modal.modal('show');\n                            }\n                        }\n                    });\n                },\n                deferTealium: function() {\n                    if (typeof utag !== 'undefined') {\n                        marketingModules.fn.checkVisibility();\n                    } else {\n                        marketingModules.tealiumChecks++;\n                        if (marketingModules.tealiumChecks < 20) {\n                            setTimeout(function() {\n                                marketingModules.fn.deferTealium();\n                            }, 50);\n                        }\n                    }\n                },\n                registerSection: function(t) {\n                    marketingModules.sections.push(t);\n                    if (marketingModules.state.init === false) {\n                        marketingModules.fn.initScroll();\n                        marketingModules.fn.initResize();\n                        marketingModules.fn.initClickEvents();\n                        marketingModules.state.init = true;\n                    }\n                },\n                createPictureWithBG: function(parentID, target, index) {\n                    var data = marketingModules.fn.dataAttributsToObj(target);\n                    if (data['bgsrc'] && data['bgsrc'] !== '') {\n                        var css = '';\n                        target.addClass('bg-' + index);\n                        var selector = '#' + parentID + ' .bg-' + index;\n                        css += '<style type=\"text/css\">';\n                        css += selector + '{background-image:url(' + data['bgsrc'] + ');}';\n                        marketingModules.fn.setAspectRatios(target, data['bgsrc'], 'lg');\n                        if (data['bgsrc2x'] && data['bgsrc2x'] !== '') {\n                            css += '@media only screen and (min-resolution: 200dpi){' + selector + '{background-image:url(' + data['bgsrc2x'] + ');}}';\n                        }\n                        if (data['bgsrcmd'] && data['bgsrcmd'] !== '') {\n                            css += '@media only screen and ' + marketingModules.mediaQueries.md + '{' + selector + '{background-image:url(' + data['bgsrcmd'] + ');}}';\n                            marketingModules.fn.setAspectRatios(target, data['bgsrcmd'], 'md');\n                        } else {\n                            css += '@media only screen and ' + marketingModules.mediaQueries.md + '{' + selector + '{background: none;}}';\n                        }\n                        if (data['bgsrcsm'] && data['bgsrcsm'] !== '') {\n                            css += '@media only screen and ' + marketingModules.mediaQueries.sm + '{' + selector + '{background-image:url(' + data['bgsrcsm'] + ');}}';\n                            marketingModules.fn.setAspectRatios(target, data['bgsrcsm'], 'sm');\n                        } else {\n                            css += '@media only screen and ' + marketingModules.mediaQueries.sm + '{' + selector + '{background: none;}}';\n                        }\n                        css += '</style>';\n                        target.append(css);\n\n                    } else {\n                        //console.log('data-bg-src is required');\n                    }\n                },\n                dataAttributsToObj: function(target) {\n                    var data = target.get(0).dataset;\n                    data = JSON.parse(JSON.stringify(data));\n                    return data;\n                },\n                initScroll: function() {\n                    var scrollTimeout;\n                    $(document).scroll(function() {\n                        if (scrollTimeout) {\n                            window.clearTimeout(scrollTimeout);\n                        }\n                        scrollTimeout = window.setTimeout(function() {\n                            marketingModules.fn.checkVisibility();\n                        }, 100);\n                    });\n                },\n                isInViewport: function(target) {\n                    var top = target.offset().top;\n                    var bottom = target.offset().top + target.outerHeight();\n                    var bottom_of_screen = $(window).scrollTop() + $(window).innerHeight();\n                    var top_of_screen = $(window).scrollTop();\n                    if ((bottom_of_screen > top) && (top_of_screen < bottom)) {\n                        return true;\n                    } else {\n                        return false;\n                    }\n                },\n                sendTealiumEvent: function(eventName, target) {\n                    var event_val = '';\n                    if (typeof utag !== 'undefined') {\n                        if (typeof utag.data.page_name !== 'undefined') {\n                            event_val += utag.data.page_name;\n                        }\n                    }\n\n                    var eventModule = marketingModules.fn.configOption(target.attr('data-mm-type'), '');\n                    if (eventModule !== '') {\n                        event_val += ':' + eventModule;\n                    }\n\n                    var eventPosition = marketingModules.fn.configOption(target.attr('data-mm-page-position'), '');\n                    if (eventPosition !== '') {\n                        event_val += ':' + eventPosition;\n                    }\n\n                    var eventCustomTracking = marketingModules.fn.configOption(target.attr('data-mm-custom-tracking'), '');\n                    if (eventCustomTracking !== '') {\n                        event_val += ':' + eventCustomTracking;\n                    }\n\n                    if (typeof utag !== 'undefined') {\n                        var utag_val = window.utag;\n                        utag_val.link_name = eventName;\n                        utag_val.event_name = event_val;\n                        utag.link(utag_val);\n                        //console.log('utag event: '+utag_val.link_name);\n                        //console.log(utag_val);\n                    } else {\n                        //console.log('utag is undefined, cannot track '+eventName+' = [utag.data.page_name]'+event_val);\n                    }\n                    return true;\n                },\n                checkVisibility: function() {\n                    $('.mm-section').not('.mm-section-track-visible,.mm-section-default-hidden').each(function(index) {\n                        if (marketingModules.fn.isInViewport($(this))) {\n                            marketingModules.fn.sendTealiumEvent('mm_impression', $(this));\n\n                            $(this).addClass('mm-section-track-visible');\n                        }\n                    });\n                },\n                initResize: function() {\n                    var resizeTimeout;\n                    var resizeResets = 0;\n                    $(window).resize(function() {\n                        if (resizeTimeout) {\n                            window.clearTimeout(resizeTimeout);\n                        }\n                        if (resizeResets > 10) {\n                            resizeResets = 0;\n                            marketingModules.fn.onResize();\n                        }\n                        resizeTimeout = window.setTimeout(function() {\n                            resizeResets = 0;\n                            marketingModules.fn.onResize();\n                        }, 100);\n                    });\n                },\n                onResize: function() {\n                    $('.mm-css-bg').each(function(index) {\n                        marketingModules.fn.checkAspectRatios($(this), '');\n                    });\n                },\n                getActiveBreakpoint: function() {\n                    var width = $(window).width();\n                    var breakpoint = '';\n                    if (width <= marketingModules.breakpoints.xs.max) {\n                        breakpoint = 'xs';\n                    } else if (width <= marketingModules.breakpoints.sm.max) {\n                        breakpoint = 'sm';\n                    } else if (width <= marketingModules.breakpoints.md.max) {\n                        breakpoint = 'md';\n                    } else if (width <= marketingModules.breakpoints.lg.max) {\n                        breakpoint = 'lg';\n                    } else {\n                        breakpoint = 'xl';\n                    }\n                    return breakpoint;\n                },\n                getAdobeID: function() {\n                    try {\n                        if (\n                            typeof Visitor === 'function' &&\n                            typeof Visitor.getInstance === 'function'\n                        ) {\n                            var instance = Visitor.getInstance(\"79AE2A425540F4367F000101@AdobeOrg\");\n                            if (\n                                instance &&\n                                typeof instance.getMarketingCloudVisitorID === 'function'\n                            ) {\n                                var id = instance.getMarketingCloudVisitorID();\n                                return typeof id === 'string' ? id : '';\n                            }\n                        }\n                    } catch (error) {\n                        //console.error('Error getting Marketing Cloud Visitor ID:', error);\n                    }\n                    return '';\n                },\n                checkAspectRatios: function(target, breakpoint) {\n                    var curBreakpoint = marketingModules.fn.getActiveBreakpoint();\n                    if (curBreakpoint == 'xl') {\n                        curBreakpoint = 'lg';\n                    } else if (curBreakpoint == 'xs') {\n                        curBreakpoint = 'sm';\n                    }\n                    if (breakpoint == curBreakpoint || breakpoint == '') {\n                        var dataName = 'data-mm-aspect-ratio';\n                        if (curBreakpoint !== 'lg') {\n                            dataName += '-' + curBreakpoint;\n                        }\n                        var aspectRatio = marketingModules.fn.configOption(target.attr(dataName), '');\n                        if (aspectRatio !== '') {\n                            var minHeight = target.width() * aspectRatio;\n                            target.css('min-height', minHeight);\n                        } else {\n                            target.css('min-height', '');\n                        }\n                    }\n                },\n                setAspectRatios: function(target, src, breakpoint) {\n                    var img = new Image();\n                    img.onload = function() {\n                        var dataName = 'data-mm-aspect-ratio';\n                        var dataValue = '';\n                        if (breakpoint !== 'lg') {\n                            dataName += '-' + breakpoint;\n                        }\n                        var aspectRatio = this.height / this.width;\n                        target.attr(dataName, aspectRatio);\n                        marketingModules.fn.checkAspectRatios(target, breakpoint);\n                    }\n                    img.src = src;\n                }\n            }\n            marketingModules.fn.findSections();\n            $(document).ready(function() {\n                marketingModules.fn.deferTealium();\n            });\n\n        }\n\n\n\n\n\n        /*!\n         * Wait for jQuery and Slick before Initializing\n         */\n        function deferATRecommendation(method) {\n            if (window.jQuery) {\n                if (jQuery().slick) {\n                    method();\n                    return true;\n                }\n            }\n            setTimeout(function() {\n                deferATRecommendation(method)\n            }, 50);\n        }\n\n        deferATRecommendation(function() {\n\n\n            $.initialize(\"[data-at-mbox]\", function(index) {\n                if (!$(this).hasClass('at-mbox-init')) {\n                    $(this).addClass('at-mbox-init');\n                    var mboxName = $(this).attr('data-at-mbox');\n                    var mboxObj = {\n                        \"mbox\": mboxName,\n                        \"success\": function(offers) {\n                            adobe.target.applyOffer({\n                                \"mbox\": mboxName,\n                                \"offer\": offers\n                            });\n                        },\n                        \"error\": function(status, error) {\n                            if (console && console.log) {\n                                console.log(status);\n                                console.log(error);\n                            }\n                        },\n                        \"timeout\": 5000\n                    }\n\n                    var params = {\n                        filterBrandList: \"\",\n                        filterRegHigh: \"\",\n                        filterRegLow: \"\",\n                        filterPromoHigh: \"\",\n                        filterPromoLow: \"\",\n                        filterOwnBrand: \"\",\n                        filterCategory: \"\",\n                        filterCategoryList: \"\",\n                        filterDaysActive: \"\",\n                        filterDaysPrice: \"\",\n                        filterSellThru: \"\",\n                        dtmcSearchString: \"\",\n                        dtmcProductID: \"\",\n                        categoryId: \"\"\n                    };\n\n                    if (typeof $(this).data('at-category') !== 'undefined') {\n                        //Legacy support for FBO Homepage, attribute has been renamed to at-filter-category.\n                        params.filterCategory = $(this).data('at-category');\n                    }\n                    if (typeof $(this).data('at-filter-reg-high') !== 'undefined') {\n                        params.filterRegHigh = $(this).data('at-filter-reg-high');\n                    }\n                    if (typeof $(this).data('at-filter-reg-low') !== 'undefined') {\n                        params.filterRegLow = $(this).data('at-filter-reg-low');\n                    }\n                    if (typeof $(this).data('at-filter-promo-high') !== 'undefined') {\n                        params.filterPromoHigh = $(this).data('at-filter-promo-high');\n                    }\n                    if (typeof $(this).data('at-filter-promo-low') !== 'undefined') {\n                        params.filterPromoLow = $(this).data('at-filter-promo-low');\n                    }\n                    if (typeof $(this).data('at-filter-own-brand') !== 'undefined') {\n                        params.filterOwnBrand = $(this).data('at-filter-own-brand');\n                    }\n                    if (typeof $(this).data('at-filter-category') !== 'undefined') {\n                        params.filterCategory = $(this).data('at-filter-category');\n                    }\n                    if (typeof $(this).data('at-filter-category-list') !== 'undefined') {\n                        params.filterCategoryList = $(this).data('at-filter-category-list');\n                    }\n                    if (typeof $(this).data('at-filter-brand-list') !== 'undefined') {\n                        params.filterBrandList = $(this).data('at-filter-brand-list');\n                    }\n                    if (typeof $(this).data('at-filter-days-active') !== 'undefined') {\n                        params.filterDaysActive = $(this).data('at-filter-days-active');\n                    }\n                    if (typeof $(this).data('at-filter-days-price') !== 'undefined') {\n                        params.filterDaysPrice = $(this).data('at-filter-days-price');\n                    }\n                    if (typeof $(this).data('at-filter-sell-thru') !== 'undefined') {\n                        params.filterSellThru = $(this).data('at-filter-sell-thru');\n                    }\n                    if (typeof $(this).data('at-dtmc-search-string') !== 'undefined') {\n                        params.dtmcSearchString = $(this).data('at-dtmc-search-string');\n                    }\n                    if (typeof $(this).data('at-dtmc-product-id') !== 'undefined') {\n                        params.dtmcProductID = $(this).data('at-dtmc-product-id');\n                    }\n                    if (typeof $(this).data('at-category-id') !== 'undefined') {\n                        params.categoryId = $(this).data('at-category-id');\n                    }\n\n                    if (typeof utag_data !== 'undefined' && typeof utag_data.page_type !== 'undefined' && typeof utag_data.product_id !== 'undefined' && typeof utag_data.mini_sps_id !== 'undefined') {\n                        if (utag_data.page_type.toLowerCase() == 'pdp') {\n                            var entityID = utag_data.product_id[0];\n                            if (utag_data.mini_sps_id[0] !== '') {\n                                entityID = utag_data.mini_sps_id[0];\n                            }\n                            params[\"entity.id\"] = entityID;\n                        }\n                    }\n\n                    mboxObj.params = params;\n\n                    var deferCount = 0;\n\n                    function deferMBOX(method) {\n                        deferCount++;\n                        if (typeof adobe !== 'undefined' && typeof adobe.target !== 'undefined') {\n                            method();\n                            return true;\n                        }\n                        if (deferCount < 50) {\n                            setTimeout(function() {\n                                deferMBOX(method)\n                            }, 50);\n                        }\n                    }\n                    deferMBOX(function() {\n                        adobe.target.getOffer(mboxObj);\n                    }, 50);\n\n\n\n\n                }\n            });\n\n            /*!\n             * Recommendation Plugin\n             */\n\n            if (!jQuery().createATRecommendation) {\n                (function($) {\n                    $.fn.createATRecommendation = function(options) {\n                        var settings = $.extend({\n                            atRecommendationConfig: \"\"\n                        }, options);\n\n                        /*!\n                         * Check if customer is an international shopper\n                         */\n                        function checkInternationalCustomer() {\n                            var isIntentionalShopper = false;\n                            if (typeof utag_data !== 'undefined') {\n                                if (typeof utag_data.user_country_ge !== 'undefined') {\n                                    if (utag_data.user_country_ge.toUpperCase() !== 'US') {\n                                        isIntentionalShopper = true;\n                                    }\n                                }\n                            }\n                            return isIntentionalShopper;\n                        }\n\n                        /*!\n                         * Get Page Type\n                         */\n                        function getPageType() {\n                            var pageType = '';\n                            if (typeof utag_data !== 'undefined') {\n                                if (typeof utag_data.page_type !== 'undefined') {\n                                    pageType = utag_data.page_type;\n                                }\n                            }\n                            return pageType;\n                        }\n\n\n\n\n                        /*!\n                         * Get Relevant URL Paramaters\n                         */\n                        function getSiteParamaters() {\n                            var params = '';\n                            var sitePrefMode = marketingModules.fn.configOption($('body').data('site-pref-mode'), 'Default');\n                            var pdpTypeParamater = marketingModules.fn.getUrlParameter('hqp');\n                            var finalSaleParamater = marketingModules.fn.getUrlParameter('isOutlet');\n                            var isPDP = false;\n\n                            if (getPageType() == 'pdp') {\n                                isPDP = true;\n                            }\n\n                            if (isPDP) {\n                                if (pdpTypeParamater == 'hclr' || pdpTypeParamater == 'hbrw') {\n                                    params += 'hqp=' + pdpTypeParamater;\n                                } else if (finalSaleParamater == 'true') {\n                                    params += 'isOutlet=true';\n                                }\n\n                            }\n\n                            return params;\n                        }\n\n                        /*!\n                         * Get Site Mode\n                         */\n                        function getItemTypes() {\n                            var sitePrefMode = marketingModules.fn.configOption($('body').data('site-pref-mode'), 'Default');\n                            var pdpTypeParamater = marketingModules.fn.getUrlParameter('hqp');\n                            var finalSaleParamater = marketingModules.fn.getUrlParameter('isOutlet');\n\n                            var types = {\n                                FullPrice: true,\n                                Clearance: true,\n                                FinalSale: false\n                            }\n\n                            var isPDP = false;\n                            var pdpType = 'FullPrice';\n\n                            if (getPageType() == 'pdp') {\n                                isPDP = true;\n                            }\n\n                            var isFinalSale = false;\n\n                            if (isPDP && finalSaleParamater == 'true') {\n                                pdpType = 'FinalSale';\n                            }\n\n                            if (pdpTypeParamater == 'hbrw') {\n                                pdpType = 'Clearance';\n                            }\n\n                            if (sitePrefMode == 'Default') {\n                                types = {\n                                    FullPrice: true,\n                                    Clearance: true,\n                                    FinalSale: false\n                                }\n                                if (pdpType == 'Clearance') {\n                                    types = {\n                                        FullPrice: true,\n                                        Clearance: true,\n                                        FinalSale: false\n                                    }\n                                } else if (pdpType == 'FinalSale') {\n                                    types = {\n                                        FullPrice: false,\n                                        Clearance: true,\n                                        FinalSale: true\n                                    }\n                                }\n                            } else if (sitePrefMode == 'Phase2') {\n                                types = {\n                                    FullPrice: true,\n                                    Clearance: false,\n                                    FinalSale: false\n                                }\n                                if (pdpType == 'Clearance') {\n                                    types = {\n                                        FullPrice: true,\n                                        Clearance: true,\n                                        FinalSale: false\n                                    }\n                                } else if (pdpType == 'FinalSale') {\n                                    types = {\n                                        FullPrice: true,\n                                        Clearance: false,\n                                        FinalSale: false\n                                    }\n                                }\n                            } else if (sitePrefMode == 'Phase3') {\n                                types = {\n                                    FullPrice: true,\n                                    Clearance: true,\n                                    FinalSale: false\n                                }\n                                if (pdpType == 'Clearance') {\n                                    types = {\n                                        FullPrice: false,\n                                        Clearance: true,\n                                        FinalSale: false\n                                    }\n                                } else if (pdpType == 'FinalSale') {\n                                    types = {\n                                        FullPrice: true,\n                                        Clearance: true,\n                                        FinalSale: false\n                                    }\n                                }\n                            } else if (sitePrefMode == 'Rollback') {\n                                types = {\n                                    FullPrice: true,\n                                    Clearance: false,\n                                    FinalSale: false\n                                }\n                                if (pdpType == 'Clearance') {\n                                    types = {\n                                        FullPrice: false,\n                                        Clearance: true,\n                                        FinalSale: false\n                                    }\n                                } else if (pdpType == 'FinalSale') {\n                                    types = {\n                                        FullPrice: false,\n                                        Clearance: false,\n                                        FinalSale: true\n                                    }\n                                }\n                            }\n                            return types;\n                        }\n\n                        /*!\n                         * Pull configuration options from container\n                         */\n                        function getConfigOptions(container) {\n                            var config = {\n                                layout: marketingModules.fn.configOption(container.data('at-layout'), 'carousel'), //carousel, carousel-compact, carousel-vertical, carousel-vertical-compact\n                                filterBrandList: marketingModules.fn.configOption(container.data('at-filter-brand-list'), ''),\n                                filterCategory: marketingModules.fn.configOption(container.data('at-filter-category'), ''),\n                                filterCategoryList: marketingModules.fn.configOption(container.data('at-filter-category-list'), ''),\n                                filterRegHigh: marketingModules.fn.configOption(container.data('at-filter-reg-high'), ''),\n                                filterRegLow: marketingModules.fn.configOption(container.data('at-filter-reg-low'), ''),\n                                filterPromoHigh: marketingModules.fn.configOption(container.data('at-filter-promo-high'), ''),\n                                filterPromoLow: marketingModules.fn.configOption(container.data('at-filter-promo-low'), ''),\n                                filterOwnBrand: marketingModules.fn.configOption(container.data('at-filter-own-brand'), ''),\n                                filterDaysActive: marketingModules.fn.configOption(container.data('at-filter-days-active'), ''),\n                                filterDaysPrice: marketingModules.fn.configOption(container.data('at-filter-days-price'), ''),\n                                filterSellThru: marketingModules.fn.configOption(container.data('at-filter-sell-thru'), ''),\n                                /*filterColorList: marketingModules.fn.configOption(container.data('at-filter-color-list'), ''),\n                                filterColorGroupList: marketingModules.fn.configOption(container.data('at-filter-color-group-list'), ''),\n                                filterSizeList: marketingModules.fn.configOption(container.data('at-filter-size-list'), ''),\n                                filterShoesWidthList: marketingModules.fn.configOption(container.data('at-filter-shoes-width-list'), ''),\n                                filterIntimatesCupSize: marketingModules.fn.configOption(container.data('at-filter-intimates-cup-size'), ''),\n                                filterIntimatesBand: marketingModules.fn.configOption(container.data('at-filter-intimates-band'), ''),*/\n                                xlSlideCount: marketingModules.fn.configOption(container.data('at-xl-slide-count'), 5),\n                                lgSlideCount: marketingModules.fn.configOption(container.data('at-lg-slide-count'), 5),\n                                mdSlideCount: marketingModules.fn.configOption(container.data('at-md-slide-count'), 3.5),\n                                smSlideCount: marketingModules.fn.configOption(container.data('at-sm-slide-count'), 2.5),\n                                xsSlideCount: marketingModules.fn.configOption(container.data('at-xs-slide-count'), 2.5),\n                                imageWidth: marketingModules.fn.configOption(container.data('at-image-width'), 200),\n                                fullWidth: marketingModules.fn.configOption(container.data('at-full-width'), false),\n                                controlPosition: marketingModules.fn.configOption(container.data('at-control-position'), 'default'),\n                                itemCount: marketingModules.fn.configOption(container.data('at-item-count'), 14),\n                                removeContent: marketingModules.fn.configOption(container.data('at-remove-content'), false),\n                                headline: marketingModules.fn.configOption(container.data('at-headline'), ''),\n                                headlineCSSClasses: marketingModules.fn.configOption(container.data('at-headline-css-classes'), 'h4'),\n                                targetDivID: marketingModules.fn.configOption(container.data('at-div-target-id'), ''),\n                                showPricing: marketingModules.fn.configOption(container.data('at-show-pricing'), true),\n                                sfccPricing: marketingModules.fn.configOption(container.data('at-sfcc-pricing'), 'international'),\n                                showRatings: marketingModules.fn.configOption(container.data('at-ratings'), false),\n                                showProductName: marketingModules.fn.configOption(container.data('at-product-name'), true),\n                                showDuplicates: marketingModules.fn.configOption(container.data('at-show-duplicates'), false),\n                                showSavings: marketingModules.fn.configOption(container.data('at-show-savings'), false),\n                                showBrandName: marketingModules.fn.configOption(container.data('at-brand-name'), true),\n                                showAvailableColors: marketingModules.fn.configOption(container.data('at-available-colors'), false),\n                                linkProductDetails: marketingModules.fn.configOption(container.data('at-link-product-details'), false),\n                                checkInternationalAvailablity: marketingModules.fn.configOption(container.data('at-check-intenational-availability'), true),\n                                recommendingLocation: marketingModules.fn.configOption(container.data('at-recommending-location'), rec.target),\n                                recommendingName: marketingModules.fn.configOption(container.data('at-recommending-name'), ''),\n                                hpid: marketingModules.fn.configOption(container.data('at-hpid'), ''),\n                                promoImage: marketingModules.fn.configOption(container.data('at-promo-image'), ''),\n                                promoAlt: marketingModules.fn.configOption(container.data('at-promo-alt'), ''),\n                                promoURL: marketingModules.fn.configOption(container.data('at-promo-url'), ''),\n                                promoAriaLabel: marketingModules.fn.configOption(container.data('at-promo-aria-label'), ''),\n                                categoryBtnLinkCTA: marketingModules.fn.configOption(container.data('at-category-btn-link-cta'), ''),\n                                categoryBtnLinkURL: marketingModules.fn.configOption(container.data('at-category-btn-link-url'), ''),\n                                categoryBtnLinkAriaLabel: marketingModules.fn.configOption(container.data('at-category-btn-link-aria-label'), ''),\n                                categoryTextLinkCTA: marketingModules.fn.configOption(container.data('at-category-text-link-cta'), ''),\n                                categoryTextLinkURL: marketingModules.fn.configOption(container.data('at-category-text-link-url'), ''),\n                                categoryTextLinkAriaLabel: marketingModules.fn.configOption(container.data('at-category-text-link-aria-label'), ''),\n                                itemTypes: marketingModules.fn.configOption(container.data('at-product-types'), ''),\n                                itemURLParamaters: marketingModules.fn.configOption(container.data('at-url-paramaters'), ''),\n                            }\n\n\n\n                            if (config.itemTypes == '') {\n                                //If a pricingMode isn't explicitly set use the default values\n                                config.itemTypes = window.atRecommendations.vars.itemTypes;\n                            } else {\n\n                                var itemTypes = {\n                                    FullPrice: false,\n                                    Clearance: false,\n                                    FinalSale: false\n                                }\n\n                                if (config.itemTypes.indexOf('Browse') > -1) {\n                                    itemTypes.FullPrice = true;\n                                }\n\n                                if (config.itemTypes.indexOf('Clearance') > -1) {\n                                    itemTypes.Clearance = true;\n                                }\n\n                                if (config.itemTypes.indexOf('Final Sale') > -1) {\n                                    itemTypes.FinalSale = true;\n                                }\n\n                                if (itemTypes.FullPrice === true || itemTypes.Clearance === true || itemTypes.FinalSale === true) {\n                                    config.itemTypes = window.atRecommendations.vars.itemTypes;\n                                } else {\n                                    config.itemTypes = window.atRecommendations.vars.itemTypes;\n                                }\n                            }\n\n                            if (config.itemURLParamaters == '') {\n                                config.itemURLParamaters = window.atRecommendations.vars.urlParamaters;\n                            }\n\n                            if (config.filterCategory == '') {\n                                //Legacy support for FBO Homepage, attribute has been renamed to at-filter-category.\n                                config.filterCategory = marketingModules.fn.configOption(container.data('at-category'), '');\n                            }\n                            if (typeof container.data('at-remove-content') === 'undefined') {\n                                if (container.contents().length == 0) {\n                                    config.removeContent = true;\n                                }\n                            }\n                            if ($('body').hasClass('design-system')) {\n                                config.showDuplicates = true;\n                            }\n                            return config;\n                        }\n\n                        /*!\n                         * Convert a text string to a CSS class\n                         */\n                        function makeCSSClassName(name) {\n                            name = name.replace(/ /g, '-')\n                            name = name.toLowerCase();\n                            name = name.replace(/\\.|%[0-9a-z]{2}/gi, '');\n                            return name;\n                        }\n\n                        Array.max = function(array) {\n                            return Math.max.apply(Math, array);\n                        };\n\n                        Array.min = function(array) {\n                            return Math.min.apply(Math, array);\n                        };\n\n                        function validPrice(price) {\n                            if (parseFloat(price) > 0) {\n                                return true;\n                            }\n                            return false;\n                        }\n\n                        /*!\n                         * Returns the low sale price, high sale price, low list price, and high list price based on the relevant item price groups.\n                         */\n                        function getItemPriceRanges(config, item, format) {\n\n                            //Applicable price range values get pushed to these arrays for comparison\n\n                            var listPriceLowValues = [];\n                            var listPriceHighValues = [];\n                            var salePriceLowValues = [];\n                            var salePriceHighValues = [];\n\n                            if (config.itemTypes.FullPrice === true && parseFloat(item.browse_availablecolors) > 0) {\n                                if (item.hasOwnProperty('browse_item_listpricelow') && validPrice(item.browse_item_listpricelow)) {\n                                    listPriceLowValues.push(parseFloat(item.browse_item_listpricelow));\n                                }\n                                if (item.hasOwnProperty('browse_item_listpricehigh') && validPrice(item.browse_item_listpricehigh)) {\n                                    listPriceHighValues.push(parseFloat(item.browse_item_listpricehigh));\n                                }\n                                if (item.hasOwnProperty('browse_item_salepricelow') && validPrice(item.browse_item_salepricelow)) {\n                                    salePriceLowValues.push(parseFloat(item.browse_item_salepricelow));\n                                }\n                                if (item.hasOwnProperty('browse_item_salepricehigh') && validPrice(item.browse_item_salepricehigh)) {\n                                    salePriceHighValues.push(parseFloat(item.browse_item_salepricehigh));\n                                }\n                            }\n\n                            if (config.itemTypes.Clearance === true && parseFloat(item.clearance_availablecolors) > 0) {\n                                if (item.hasOwnProperty('clearance_item_listpricelow') && validPrice(item.clearance_item_listpricelow)) {\n                                    listPriceLowValues.push(parseFloat(item.clearance_item_listpricelow));\n                                }\n                                if (item.hasOwnProperty('clearance_item_listpricehigh') && validPrice(item.clearance_item_listpricehigh)) {\n                                    listPriceHighValues.push(parseFloat(item.clearance_item_listpricehigh));\n                                }\n                                if (item.hasOwnProperty('clearance_item_salepricelow') && validPrice(item.clearance_item_salepricelow)) {\n                                    salePriceLowValues.push(parseFloat(item.clearance_item_salepricelow));\n                                }\n                                if (item.hasOwnProperty('clearance_item_salepricehigh') && validPrice(item.clearance_item_salepricehigh)) {\n                                    salePriceHighValues.push(parseFloat(item.clearance_item_salepricehigh));\n                                }\n                            }\n\n                            if (config.itemTypes.FinalSale === true && parseFloat(item.final_sale_availablecolors) > 0) {\n                                if (item.hasOwnProperty('final_sale_item_listpricelow') && validPrice(item.final_sale_item_listpricelow)) {\n                                    listPriceLowValues.push(parseFloat(item.final_sale_item_listpricelow));\n                                }\n                                if (item.hasOwnProperty('final_sale_item_listpricehigh') && validPrice(item.final_sale_item_listpricehigh)) {\n                                    listPriceHighValues.push(parseFloat(item.final_sale_item_listpricehigh));\n                                }\n                                if (item.hasOwnProperty('final_sale_item_salepricelow') && validPrice(item.final_sale_item_salepricelow)) {\n                                    salePriceLowValues.push(parseFloat(item.final_sale_item_salepricelow));\n                                }\n                                if (item.hasOwnProperty('final_sale_item_salepricehigh') && validPrice(item.final_sale_item_salepricehigh)) {\n                                    salePriceHighValues.push(parseFloat(item.final_sale_item_salepricehigh));\n                                }\n                            }\n\n                            if (listPriceLowValues.length < 1) {\n                                listPriceLowValues.push(parseFloat(item.item_listpricelow));\n                                listPriceHighValues.push(parseFloat(item.item_listpricehigh));\n                                salePriceLowValues.push(parseFloat(item.item_salepricelow));\n                                salePriceHighValues.push(parseFloat(item.item_salepricehigh));\n                            }\n                            var ranges = {\n                                item_listpricelow: Array.min(listPriceLowValues),\n                                item_listpricehigh: Array.max(listPriceHighValues),\n                                item_salepricelow: Array.min(salePriceLowValues),\n                                item_salepricehigh: Array.max(salePriceHighValues)\n                            }\n\n                            return ranges;\n                        }\n\n                        /*!\n                         * Filter Recommendations and set the number of activeItems\n                         */\n                        function filterRecsItems(rec, container, config) {\n\n                            var isIntentionalShopper = checkInternationalCustomer();\n                            var filteredRecItems = [];\n                            for (var m = 0; m < rec.items.length; m++) {\n                                var item = rec.items[m];\n                                if (item.isDuplicate && config.showDuplicates === false) {\n                                    continue;\n                                }\n                                if (item.sellableInternational !== 'T' && config.checkInternationalAvailablity && isIntentionalShopper) {\n                                    continue;\n                                }\n                                if (item.thumbnailPathUrl == '') {\n                                    continue;\n                                }\n                                if (filteredRecItems.length >= config.itemCount) {\n                                    break;\n                                }\n\n                                var hasItemsOfType = false;\n                                if (item.hasOwnProperty('browse_availablecolors') && item.hasOwnProperty('browse_availablecolors') && item.hasOwnProperty('browse_availablecolors')) {\n                                    if (config.itemTypes.FullPrice === true && parseInt(item.browse_availablecolors) > 0) {\n                                        hasItemsOfType = true;\n                                    } else if (config.itemTypes.Clearance === true && parseInt(item.clearance_availablecolors) > 0) {\n                                        hasItemsOfType = true;\n                                    } else if (config.itemTypes.FinalSale === true && parseInt(item.final_sale_availablecolors) > 0) {\n                                        hasItemsOfType = true;\n                                    }\n                                } else {\n                                    //No Browse Level Data - Data Science Engine Exception\n                                    hasItemsOfType = true;\n                                }\n\n\n                                if (!hasItemsOfType) {\n                                    continue;\n                                }\n\n                                //console.log(item);\n\n                                filteredRecItems.push(item);\n                                if (rec.hasOwnProperty('noDeduplication') && rec.noDeduplication === true) {\n\n                                } else {\n                                    window.atRecommendations.productsDisplayed.push(item.id);\n                                }\n                            }\n                            return (filteredRecItems);\n                        }\n\n                        /*!\n                         * Appends a URL variable to an item\n                         */\n\n                        function appeandItemParam(url, param) {\n                            if (url.indexOf('?') > -1) {\n                                url += '&amp;';\n                            } else {\n                                url += '?';\n                            }\n                            url += param;\n                            return url;\n                        }\n\n                        /*!\n                         * Build carousel HTML\n                         */\n                        function carouselHTML(rec, filteredRecItems, container, config, buildFunctions) {\n                            var isIntentionalShopper = checkInternationalCustomer();\n                            var sliderHTML = '';\n                            var formatClass = 'recommendations-h';\n                            var headingControlClass = '';\n\n                            if (config.layout == 'carousel-vertical' || config.layout == 'carousel-vertical-compact') {\n                                formatClass = 'recommendations-v';\n                            }\n\n                            var trackingHeadline = '';\n                            if (config.headline !== '') {\n                                trackingHeadline = config.headline;\n                            } else {\n                                trackingHeadline = config.recommendingName;\n                            }\n\n                            var headlineCSSClasses = config.headlineCSSClasses;\n\n                            var engine = 'Adobe Target';\n                            if (rec.hasOwnProperty('engine')) {\n                                engine = rec.engine;\n                            }\n                            sliderHTML += '<div class=\"mm-carousel-wrapper js-rec-tracking ' + formatClass + '\" data-rec-location=\"' + config.recommendingLocation + '\" data-rec-name=\"' + trackingHeadline + '\" data-rec-engine=\"' + engine + '\">';\n\n                            if (config.headline !== '') {\n                                if (config.controlPosition !== 'headline') {\n                                    sliderHTML += '<h2 class=\"mm-recommendation-heading recommendation-heading ' + headlineCSSClasses + '\">' + config.headline + '</h2>';\n                                } else {\n                                    if (config.categoryTextLinkCTA !== '' && config.categoryTextLinkURL !== '') {\n                                        headingControlClass = ' mm-recommendation-heading-controls-category-text-link';\n                                    }\n                                    sliderHTML += '<div class=\"mm-recommendation-heading-controls' + headingControlClass + '\">';\n                                    sliderHTML += '<h2 class=\"mm-recommendation-heading recommendation-heading ' + headlineCSSClasses + '\">' + config.headline + '</h2>';\n                                    sliderHTML += '<div class=\"mm-recommendation-controls-wrapper\">';\n                                    if (config.categoryTextLinkCTA !== '' && config.categoryTextLinkURL !== '') {\n                                        sliderHTML += '<a href=\"' + config.categoryTextLinkURL + '\" aria-label=\"' + config.categoryTextLinkAriaLabel + '\" class=\"mm-recommendation-category-text-link\">' + config.categoryTextLinkCTA + '</a>';\n                                    }\n                                    sliderHTML += '<div class=\"mm-recommendation-controls\"></div>';\n                                    sliderHTML += '</div>';\n                                    sliderHTML += '</div>';\n                                }\n                            }\n\n                            sliderHTML += '<div class=\"mm-recommendation-tiles\">';\n\n                            if (config.promoImage !== '') {\n                                sliderHTML += '<div class=\"mm-promo-tile\">';\n                                if (config.promoURL !== '') {\n                                    sliderHTML += '<a href=\"' + config.promoURL + '\" aria-label=\"' + config.promoAriaLabel + '\">';\n                                }\n                                sliderHTML += '<img src=\"' + config.promoImage + '\" alt=\"' + config.promoAlt + '\">';\n                                if (config.promoURL !== '') {\n                                    sliderHTML += '</a>';\n                                }\n                                sliderHTML += '</div>';\n                            }\n\n                            container.find('.mm-default-slide').each(function(index) {\n                                sliderHTML += $('<div>').append($(this).clone()).removeClass('mm-default-slide-hidden').html();\n                                $(this).addClass('mm-default-slide-hidden');\n                            });\n\n                            for (var m = 0; m < filteredRecItems.length; m++) {\n                                var item = filteredRecItems[m];\n                                var salePriceRange = '';\n                                var originalPriceRange = '';\n                                var imageWidth = config.imageWidth;\n                                var hasLink = true;\n                                var priceRanges = getItemPriceRanges(config, item, 'at');\n                                var itemHref = item.pageUrl;\n                                var itemColors = 0;\n                                var foundItem = false;\n\n                                if (config.itemTypes.FullPrice && parseFloat(item.browse_availablecolors) > 0) {\n                                    itemColors += parseFloat(item.browse_availablecolors);\n                                    if (foundItem === false) {\n                                        itemHref = appeandItemParam(itemHref, 'dwvar_' + item.id + '_color=' + item.browse_color_id);\n                                        foundItem = true;\n                                    }\n                                }\n\n                                if (config.itemTypes.Clearance && parseFloat(item.clearance_availablecolors) > 0) {\n                                    itemColors += parseFloat(item.clearance_availablecolors);\n                                    if (foundItem === false) {\n                                        itemHref = appeandItemParam(itemHref, 'dwvar_' + item.id + '_color=' + item.clearance_color_id);\n                                        foundItem = true;\n                                    }\n                                }\n\n                                if (config.itemTypes.FinalSale && parseFloat(item.final_sale_availablecolors) > 0) {\n                                    itemColors += parseFloat(item.final_sale_availablecolors);\n                                    if (foundItem === false) {\n                                        itemHref = appeandItemParam(itemHref, 'dwvar_' + item.id + '_color=' + item.final_sale_color_id);\n                                        foundItem = true;\n                                    }\n                                }\n\n                                if (!item.hasOwnProperty('browse_availablecolors') && !item.hasOwnProperty('clearance_availablecolors') && !item.hasOwnProperty('final_sale_availablecolors')) {\n                                    itemColors = 1; //Data Science Exception\n                                }\n\n                                if (itemColors < 1) {\n                                    continue;\n                                }\n\n                                if (priceRanges.item_salepricelow < priceRanges.item_salepricehigh) {\n                                    salePriceRange = buildFunctions.formatSFCCPrice(priceRanges.item_salepricelow) + ' - ' + buildFunctions.formatSFCCPrice(priceRanges.item_salepricehigh);\n                                } else {\n                                    salePriceRange = buildFunctions.formatSFCCPrice(priceRanges.item_salepricelow);\n                                }\n                                if (priceRanges.item_listpricelow < priceRanges.item_listpricehigh) {\n                                    originalPriceRange = buildFunctions.formatSFCCPrice(priceRanges.item_listpricelow) + ' - ' + buildFunctions.formatSFCCPrice(priceRanges.item_listpricehigh);\n                                } else {\n                                    originalPriceRange = buildFunctions.formatSFCCPrice(priceRanges.item_listpricelow);\n                                }\n\n                                if (config.lgSlideCount < 5 && imageWidth == 200) {\n                                    imageWidth = 450;\n                                }\n\n                                if (config.layout !== 'carousel' && config.layout !== 'carousel-vertical' && !config.linkProductDetails) {\n                                    hasLink = false;\n                                }\n\n\n                                if (config.hpid !== '' && config.hpid.indexOf('|CTA|') > -1) {\n                                    itemHref = appeandItemParam(itemHref, 'HPID=' + config.hpid.replace('|CTA|', '|CTA' + (m + 1) + '|'));\n                                }\n\n                                if (config.itemURLParamaters !== '') {\n                                    itemHref = appeandItemParam(itemHref, config.itemURLParamaters);\n                                }\n\n                                if (!config.itemTypes.FullPrice) {\n                                    if (config.itemTypes.Clearance && item.clearance_color_id !== '') {\n                                        itemHref = appeandItemParam(itemHref, 'dwvar_' + item.id + '_color=' + item.clearance_color_id);\n                                    } else if (config.itemTypes.FinalSale && item.final_sale_color_id !== '') {\n                                        itemHref = appeandItemParam(itemHref, 'dwvar_' + item.id + '_color=' + item.final_sale_color_id);\n                                    }\n                                }\n\n                                // Getting price range for aria-label usage (11/11)\n                                var priceRanges = getItemPriceRanges(config, item, 'at');\n\n                                sliderHTML += '<div class=\"mm-slide-container\">';\n\n                                var productAriaText;\n                                if (parseFloat(item.rating) >= 3 && config.showRatings === true) {\n                                    productAriaText = 'Shop ' + item.name + ', prices starting from $' + priceRanges.item_salepricelow + ', rated ' + parseFloat(item.rating) + ' out of 5';\n                                } else {\n                                    productAriaText = 'Shop ' + item.name + ', prices starting from $' + priceRanges.item_salepricelow + '';\n                                }\n\n                                sliderHTML += '<div class=\"at-recommendation mm-product-tile mm-product-tile-brand-' + item.own + '\" data-itemid=\"' + item.id + '\" data-own=\"' + item.own + '\" data-monetate-pid=\"' + item.id + '\" data-monetate-producturl=\"' + itemHref + '\" data-at-layout=\"' + config.layout + '\" style=\"max-width:' + imageWidth + 'px;\">';\n                                sliderHTML += '<a class=\"js-rec-tracking-product\" href=\"' + itemHref + '\" title=\"\" aria-label=\"' + productAriaText + '\">';\n                                sliderHTML += '<div class=\"product-name-image-container\">';\n                                sliderHTML += '<div class=\"mm-product-image\" title=\"' + item.name + '\" aria-hidden=\"true\">';\n                                sliderHTML += ' <img src=\"' + buildFunctions.getProductImage(item, config) + '\" alt=\"\" loading=\"lazy\" />';\n                                sliderHTML += '</div>';\n                                sliderHTML += '</div>';\n                                sliderHTML += '<div class=\"mm-product-details\">';\n\n                                /* Wrapping entire recommendation slide in <a> instead for easier ADA regulations.\n                                if(hasLink) {\n                                  sliderHTML += '<a class=\"js-rec-tracking-product\" href=\"'+itemHref+'\" title=\"\">';\n                                }\n                                */\n\n                                if (config.showProductName && (config.layout == 'carousel' || config.layout == 'carousel-vertical')) {\n                                    sliderHTML += '<div class=\"mm-product-name\">' + buildFunctions.formatProductName(item.name) + '</div>';\n                                }\n\n                                /* Wrapping entire recommendation slide in <a> instead for easier ADA regulations.\n                                if(!config.linkProductDetails && hasLink) {\n                                  sliderHTML += '</a>'\n                                }\n                                */\n\n                                if (config.showRatings) {\n                                    sliderHTML += buildFunctions.getReviewsHTML(item.rating);\n                                }\n\n                                if (config.showBrandName) {\n                                    sliderHTML += '<div class=\"mm-product-brand\">' + item.brandname + '</div>';\n                                }\n\n                                if ((config.layout == 'carousel-compact' || config.layout == 'carousel-vertical-compact') && config.showPricing === true) {\n                                    sliderHTML += '<div class=\"mm-product-pricing my-2\">';\n\n                                    if (config.sfccPricing === false || (config.sfccPricing == 'international' && isIntentionalShopper === false)) {\n                                        sliderHTML += buildFunctions.priceBlockHTML(config, priceRanges, '$', 'USD');\n                                    }\n\n                                    sliderHTML += '</div>';\n                                }\n\n                                if (config.showProductName && (config.layout == 'carousel-compact' || config.layout == 'carousel-vertical-compact')) {\n                                    sliderHTML += '<div class=\"mm-product-name is-product-brand\">' + buildFunctions.formatProductName(item.name) + '</div>';\n                                }\n\n                                if ((config.layout == 'carousel' || config.layout == 'carousel-vertical') && config.showPricing === true) {\n                                    sliderHTML += '<div class=\"mm-product-pricing\">';\n                                    if (config.sfccPricing === false || (config.sfccPricing == 'international' && isIntentionalShopper === false)) {\n                                        sliderHTML += buildFunctions.priceBlockHTML(config, priceRanges, '$', 'USD');\n                                    }\n                                    sliderHTML += '</div>';\n                                }\n\n                                /* Color Display Disabled By Request\n                                if(config.showAvailableColors) {\n                                  if(itemColors > 1) {\n                                      sliderHTML += '<div class=\"mm-product-available-colors text-muted\">'+itemColors+' Colors</div>';\n                                  }\n                                }\n                                */\n\n                                /* Wrapping entire recommendation slide in <a> instead for easier ADA regulations.\n                                if(config.linkProductDetails && hasLink) {\n                                  sliderHTML += '</a>';\n                                }\n                                */\n\n                                sliderHTML += '</div>';\n                                sliderHTML += '</a>';\n                                sliderHTML += '</div>';\n\n                                sliderHTML += '</div>';\n\n\n                            }\n\n                            sliderHTML += '</div>';\n                            if (config.categoryBtnLinkCTA !== '' && config.categoryBtnLinkURL !== '') {\n                                sliderHTML += '<div class=\"mm-recommendation-btn-container\">';\n                                sliderHTML += '<button class=\"btn btn-outline-primary w-100 w-md-auto btn-sm\" href=\"' + config.categoryBtnLinkURL + '\" aria-label=\"' + config.categoryBtnLinkAriaLabel + '\">' + config.categoryBtnLinkCTA + '</button>';\n                                sliderHTML += '</div>';\n                            }\n                            sliderHTML += '</div>';\n\n                            return sliderHTML;\n                        }\n\n                        /*!\n                         * API Call to SFCC for Pricing\n                         * Required any time prices need to be displayed in international currencies\n                         */\n                        function sfccPriceCheck(filteredRecItems) {\n                            var items = [];\n                            for (var m = 0; m < filteredRecItems.length; m++) {\n                                items.push({\n                                    \"ID\": filteredRecItems[m].id\n                                });\n                            }\n\n\n\n                            if (items.length > 0) {\n                                var priceAPIURL = '/on/demandware.store/Sites-oss-Site/default/MegaNavProductRecomm-MegaNavProductJson';\n\n                                $.ajax({\n                                    url: priceAPIURL,\n                                    type: 'post',\n                                    dataType: 'json',\n                                    contentType: 'application/json',\n                                    data: JSON.stringify(items),\n                                    success: function(data) {\n                                        if (data.length === 0 || data.itemsList.length === 0) {\n                                            return;\n                                        }\n                                        for (var i = 0; i < data.itemsList.length; i++) {\n                                            var tiles = $('.mm-product-tile[data-itemid=\"' + data.itemsList[i].ID + '\"]');\n\n                                            if (parseInt(data.itemsList[i].item_salepricelow)) {\n\n                                                tiles.each(function(index) {\n                                                    var config = getConfigOptions($(this).closest('.at-rec-options'));\n                                                    var priceRanges = getItemPriceRanges(config, data.itemsList[i], 'api');\n                                                    var html = buildFunctions.priceBlockHTML(config, priceRanges, data.itemsList[i].currencySymbol, data.itemsList[i].currencyCode);\n                                                    $(this).find('.mm-product-pricing').html(html);\n                                                });\n                                            }\n                                        }\n                                        $('.mm-recommendation-tiles').slick('refresh');\n                                    }\n                                });\n                            }\n                        }\n                        /*!\n                         * Initilize carousels\n                         */\n                        function initCarousels(recs, container, config) {\n                            var recommendations = container.find(\".mm-recommendation-tiles\");\n                            var tiles = recommendations.find('.mm-product-tile,.mm-default-slide');\n                            var slideCounts = {\n                                xl: config.xlSlideCount,\n                                lg: config.lgSlideCount,\n                                md: config.mdSlideCount,\n                                sm: config.smSlideCount,\n                                xs: config.xsSlideCount\n                            }\n\n                            if (container.hasClass('at-rec-has-promo-image')) {\n                                slideCounts.xs = 1.5;\n                            }\n                            var isVertical = false;\n                            if (config.layout == 'carousel-vertical' || config.layout == 'carousel-vertical-compact') {\n                                isVertical = true;\n                            }\n                            if (tiles.length < slideCounts.md) {\n                                slideCounts.md = tiles.length;\n                            }\n                            if (tiles.length < slideCounts.sm) {\n                                slideCounts.sm = tiles.length;\n                            }\n                            if (tiles.length < slideCounts.lg) {\n                                slideCounts.lg = tiles.length;\n                            }\n                            if (tiles.length < slideCounts.xl) {\n                                slideCounts.xl = tiles.length;\n                            }\n                            recommendations.on('init', function() {\n                                if ($(this).prop('nodeName') == 'UL') {\n                                    $($(this).find(\"button.slick-prev, button.slick-next\")).wrap(\"<li></li>\");\n                                }\n                            });\n\n                            recommendations.on('setPosition', function(event, slick) {\n                                slick.$slides.css('height', '');\n                                if (slick.options.vertical) {\n                                    var largestSlide = 0;\n                                    slick.$slides.each(function(index) {\n                                        var curHeight = $(this).height();\n                                        if ($(this).height() > largestSlide) {\n                                            largestSlide = curHeight;\n                                        }\n                                    });\n                                    if (largestSlide > 0) {\n                                        slick.$slides.css('height', largestSlide + 'px');\n                                        $(event.target).find('.slick-list').css('height', (largestSlide * slick.options.slidesToShow) + 'px');\n                                    }\n                                }\n\n                                var windowChangedWidth = false;\n                                if (typeof slick.$slider.attr('data-window-width') !== 'undefined') {\n                                    if (parseFloat(slick.$slider.attr('data-window-width')) !== $(window).width()) {\n                                        windowChangedWidth = true;\n                                        slick.$slider.attr('data-window-width', $(window).width());\n                                    }\n\n                                }\n                                if (slick.$slider.hasClass('at-mixed-size-products') && !slick.options.vertical && (windowChangedWidth || slick.$slider.attr('data-min-height') == 'init')) {\n                                    var imgHeight = 0;\n                                    slick.$slider.find('.mm-product-image img').each(function(index) {\n                                        var thisHeight = $(this).height();\n                                        if (thisHeight > imgHeight) {\n                                            imgHeight = thisHeight;\n                                        }\n                                    });\n                                    if (imgHeight > 0) {\n                                        slick.$slider.find('.mm-product-image').css('min-height', imgHeight);\n                                        slick.$slider.attr('data-min-height', imgHeight);\n                                    }\n                                }\n\n                            });\n\n                            var slickSettings = {\n                                slidesToShow: slideCounts.xl,\n                                slidesToScroll: slideCounts.xl,\n                                dots: false,\n                                infinite: false,\n                                vertical: isVertical,\n                                verticalSwiping: false,\n                                prevArrow: '<button type=\"button\" class=\"btn-ds slick-prev\" aria-label=\"Previous\"><span class=\"sr-only\">Previous</span></button>',\n                                nextArrow: '<button type=\"button\" class=\"btn-ds slick-next\" aria-label=\"Next\"><span class=\"sr-only\">Next</span></button>',\n                                responsive: [{\n                                    breakpoint: marketingModules.breakpoints.lg.max,\n                                    settings: {\n                                        slidesToShow: slideCounts.lg,\n                                        slidesToScroll: Math.floor(slideCounts.lg),\n                                        arrows: true,\n                                        vertical: isVertical,\n                                        swipe: true\n                                    }\n                                }, {\n                                    breakpoint: marketingModules.breakpoints.md.max,\n                                    settings: {\n                                        slidesToShow: slideCounts.md,\n                                        slidesToScroll: Math.floor(slideCounts.md),\n                                        arrows: false,\n                                        vertical: false,\n                                        swipe: true\n                                    }\n                                }, {\n                                    breakpoint: marketingModules.breakpoints.sm.max,\n                                    settings: {\n                                        slidesToShow: slideCounts.sm,\n                                        slidesToScroll: Math.floor(slideCounts.sm),\n                                        arrows: false,\n                                        vertical: false,\n                                        swipe: true\n                                    }\n                                }, {\n                                    breakpoint: marketingModules.breakpoints.xs.max,\n                                    settings: {\n                                        slidesToShow: slideCounts.xs,\n                                        slidesToScroll: Math.floor(slideCounts.xs),\n                                        arrows: false,\n                                        vertical: false,\n                                        swipe: true\n                                    }\n                                }]\n                            }\n\n                            if (config.controlPosition !== '' && container.find(\".mm-recommendation-controls\").length > 0) {\n                                slickSettings[\"appendArrows\"] = container.find(\".mm-recommendation-controls\").first();\n                            }\n\n                            recommendations.slick(slickSettings);\n                            $(\".slick-track\").attr('role', 'list');\n                            $(\".slick-slide\").attr('role', 'listitem');\n\n                            /*!\n                             * Refresh carousels after images load\n                             * Determines if there is a mix of image aspect ratios\n                             */\n                            var refreshTimer;\n                            recommendations.find(\"img\").one(\"load\", function(recommendations) {\n                                clearTimeout(refreshTimer);\n                                refreshTimer = setTimeout(function(t) {\n                                    var parent = t.closest(\".mm-recommendation-tiles\");\n                                    var imgHeight = 0;\n                                    parent.find('.mm-product-image img').each(function(index) {\n                                        var thisHeight = $(this).height();\n                                        if (thisHeight > imgHeight && imgHeight == 0) {\n                                            imgHeight = thisHeight;\n                                        } else if (thisHeight !== imgHeight && imgHeight !== 0) {\n                                            parent.addClass('at-mixed-size-products').attr('data-window-width', $(window).width()).attr('data-min-height', 'init');\n                                            return false;\n                                        }\n                                    });\n\n\n                                    parent.slick('setPosition');\n                                }, 250, $(this));\n                            });\n                        }\n\n                        /*!\n                         * buildFunctions is a set of reusable utility functions available for generating recommendation HTML\n                         */\n                        var buildFunctions = {\n                            getReviewsHTML: function(reviewAverage) {\n                                /*!\n                                 * Return HTML for rating stars based on numeric value\n                                 */\n                                if (reviewAverage) {\n                                    reviewAverage = parseFloat(reviewAverage);\n                                }\n                                var html = '';\n                                if (reviewAverage >= 3) {\n                                    html += '<div class=\"mm-rating\" data-rating=\"' + reviewAverage + '\" role=\"img\" aria-label=\"Rated ' + reviewAverage + ' out of 5\">';\n                                    for (var i = 1; i < 6; i++) {\n\n                                        if (i - .25 <= reviewAverage) {\n                                            html += '<svg class=\"icon-size-sm rating-star-icon--full\" aria-hidden=\"true\"><use href=\"#rating-star--full\"></use></svg>';\n                                        } else if (i - .74 <= reviewAverage) {\n                                            html += '<svg class=\"icon-size-sm rating-star-icon--half\" aria-hidden=\"true\"><use href=\"#rating-star--half\"></use></svg>';\n                                        } else {\n                                            html += '<svg class=\"icon-size-sm rating-star-icon--empty\" aria-hidden=\"true\"><use href=\"#rating-star--empty\"></use></svg>';\n                                        }\n                                    }\n                                    html += '</div>';\n                                } else {\n                                    html = '<div class=\"mm-rating mm-rating-empty\"></div>';\n                                }\n                                return html;\n                            },\n                            priceBlockHTML: function(config, priceRanges, currencySymbol, currencyCode) {\n\n                                //listLow, listHigh, saleLow, saleHigh\n\n                                /*!\n                                 * Generates pricing block\n                                 */\n\n                                var item_salepricelow = this.formatSFCCPrice(priceRanges.item_salepricelow);\n                                var price_split = item_salepricelow.split('.');\n                                var dollars = price_split[0];\n                                dollars = this.numberWithCommas(dollars);\n                                var cents = price_split[1];\n                                if (cents.length < 2) {\n                                    cents = cents + '0';\n                                }\n                                var currencySymbolUse = '$';\n                                var currencyCodeUse = 'USD';\n                                var salePriceRange = '';\n                                var originalPriceRange = '';\n                                if (typeof currencySymbol !== 'undefined') {\n                                    currencySymbolUse = currencySymbol;\n                                }\n                                if (typeof currencyCode !== 'undefined') {\n                                    currencyCodeUse = currencySymbol;\n                                }\n\n                                if (priceRanges.item_salepricelow < priceRanges.item_salepricehigh) {\n                                    salePriceRange = currencySymbolUse + this.formatSFCCPrice(priceRanges.item_salepricelow) + ' - ' + currencySymbolUse + this.formatSFCCPrice(priceRanges.item_salepricehigh);\n                                } else {\n                                    salePriceRange = currencySymbolUse + this.formatSFCCPrice(priceRanges.item_salepricelow);\n                                }\n                                if (priceRanges.item_listpricelow < priceRanges.item_listpricehigh) {\n                                    originalPriceRange = currencySymbolUse + this.formatSFCCPrice(priceRanges.item_listpricelow) + ' - ' + currencySymbolUse + this.formatSFCCPrice(priceRanges.item_listpricehigh);\n                                } else {\n                                    originalPriceRange = currencySymbolUse + this.formatSFCCPrice(priceRanges.item_listpricelow);\n                                }\n\n\n                                var html = '';\n                                if (config.layout == 'carousel-compact' || config.layout == 'carousel-vertical-compact') {\n                                    html += '<span class=\"d-flex align-items-center mt-1 flex-wrap\" title=\"Sale Price\">';\n                                    html += '<span role=\"text\" class=\"d-block d-md-inline-flex\">';\n                                    html += '<div class=\"d-flex align-items-top mm-product-sales-price\" title=\"Sale Price\">';\n                                    html += '<span class=\"d-inline-flex align-items-top\">';\n                                    if (priceRanges.item_salepricelow !== priceRanges.item_salepricehigh) {\n                                        html += '<span class=\"mm-price-from-text small mr-1\">From </span>';\n                                    }\n                                    html += '<span class=\"d-flex align-items-top\" aria-label=\"Sale price: ' + currencyCodeUse + ' ' + dollars + '.' + cents + '\" class=\"mm-product-standard-price\">';\n                                    html += '<span class=\"mm-price-curreny-symbol small\">' + currencySymbolUse + '</span>';\n                                    html += '<span class=\"mm-price-currency-text font-weight-bold\">' + dollars + '</span>';\n                                    html += '<span class=\"mm-price-cents-text small mr-1\">' + cents + '</span>';\n                                    html += '</span>';\n                                    html += '</span>';\n                                    html += '</div>';\n                                } else {\n                                    if (priceRanges.item_listpricelow > priceRanges.item_salepricelow) {\n                                        html += '<span title=\"Standard Price\"><span role=\"text\" aria-label=\"Original price: ' + originalPriceRange + '\" class=\"mm-product-standard-price\"> ' + originalPriceRange + '</span></span>';\n                                    }\n                                    html += '<span title=\"Sale Price\"><span role=\"text\" aria-label=\"Sale price: ' + salePriceRange + '\" class=\"mm-product-sales-price\">' + salePriceRange + '</span></span>';\n                                }\n\n                                var upTo = 'up to';\n\n                                if (!Math.trunc) {\n                                    Math.trunc = function(v) {\n                                        return v < 0 ? Math.ceil(v) : Math.floor(v);\n                                    };\n                                }\n\n                                if (config.showSavings == 'dollar' && config.layout != 'carousel-vertical-compact') {\n                                    var dollarDifference = Math.trunc((priceRanges.item_listpricelow - priceRanges.item_salepricelow).toFixed(2));\n                                    if (dollarDifference > 0) {\n\n                                        dollarDifference = this.numberWithCommas(dollarDifference);\n                                        html += '<span class=\"mm-plp-save-message d-inline-flex small text-sale\">Save ' + upTo + ' ' + currencySymbolUse + dollarDifference + '</span>';\n                                    }\n                                } else if (config.showSavings == 'percentage' && config.layout != 'carousel-vertical-compact') {\n                                    var percentage = Math.trunc(((priceRanges.item_listpricelow - priceRanges.item_salepricelow) / (priceRanges.item_listpricelow)) * 100);\n                                    if (percentage > 0) {\n                                        html += '<span class=\"mm-plp-save-message d-inline-flex small text-sale\">Save ' + upTo + ' ' + percentage + '%</span>';\n                                    }\n                                }\n\n                                if (config.layout == 'carousel-compact') {\n                                    html += '</span>';\n                                    html += '</span>';\n                                } else if (config.layout == 'carousel-vertical-compact') {\n                                    html += '</span>';\n                                    html += '</span>';\n\n                                    if (config.showSavings == 'dollar') {\n                                        var dollarDifference = Math.trunc((priceRanges.item_listpricelow - priceRanges.item_salepricelow).toFixed(2));\n                                        if (dollarDifference > 0) {\n\n                                            dollarDifference = this.numberWithCommas(dollarDifference);\n                                            html += '<span class=\"mm-plp-save-message d-inline-flex small text-sale\">Save ' + upTo + ' ' + currencySymbolUse + dollarDifference + '</span>';\n                                        }\n                                    } else if (config.showSavings == 'percentage') {\n                                        var percentage = Math.trunc(((priceRanges.item_listpricelow - priceRanges.item_salepricelow) / (priceRanges.item_listpricelow)) * 100);\n                                        if (percentage > 0) {\n                                            html += '<span class=\"mm-plp-save-message d-inline-flex small text-sale\">Save ' + upTo + ' ' + percentage + '%</span>';\n                                        }\n                                    }\n                                }\n\n                                return html;\n                            },\n                            formatSFCCPrice: function(price) {\n                                /*!\n                                 * SFCC returns numeric prices\n                                 * Prices ending in '0' or '00' are not formatted properly\n                                 * This function ensures that the cents maintain two decimal places\n                                 */\n                                price = price.toString();\n                                if (price.length > 0) {\n                                    if (price.indexOf('.') > -1) {\n                                        var split = price.split('.');\n                                        if (split[1].length == 1) {\n                                            price = price + '0';\n                                        }\n                                    } else {\n                                        price = price + '.00';\n                                    }\n                                }\n                                return price;\n                            },\n                            numberWithCommas: function(x) {\n                                /*!\n                                 * Format a number with commas for thousands\n                                 */\n                                return x.toString().replace(/\\B(?=(\\d{3})+(?!\\d))/g, \",\");\n                            },\n                            getProductImage: function(item, config) {\n                                /*!\n                                 * For the lower environments use absolute image URL, for production use relative image URL\n                                 * For carousels with 4 or fewer slides on desktop a larger image size is used\n                                 */\n\n                                var imageURL = item.thumbnailPathUrl;\n\n                                if (window.location.href.indexOf('plussizetech.com') > -1 || $('body').hasClass('design-system') || window.location.href.indexOf('adobe.') > -1 || window.location.href.indexOf('stg.') > -1 || window.location.href.indexOf('stgtest.') > -1) {\n                                    imageURL = item.thumbnailUrl;\n                                }\n\n                                if (!config.itemTypes.FullPrice) {\n                                    if (config.itemTypes.Clearance && item.clearance_thumbnail !== '') {\n                                        imageURL = item.clearance_thumbnail;\n                                    } else if (config.itemTypes.FinalSale && item.final_sale_thumbnail !== '') {\n                                        imageURL = item.final_sale_thumbnail;\n                                    }\n                                }\n\n                               if(imageURL.indexOf('?') > -1) {\n                                  imageURL = imageURL.split('?')[0];\n                                }\n                                \n                               if(config.lgSlideCount < 5) {\n                                if (imageURL.indexOf('fleximages') > -1) {\n                                  imageURL += '?width=450&fit=bounds'\n                                } else {\n                                  imageURL += '?sw=450';\n                                }\n                               } else {\n                                if (imageURL.indexOf('fleximages') > -1) {\n                                  imageURL += '?width=200&fit=bounds'\n                                } else {\n                                  imageURL += '?sw=200';\n                                }\n                              }\n              \n                              imageURL += '&cc=true';\n            \n                              return imageURL;\n                            },\n                            formatProductName: function(x) {\n                                /*!\n                                 * Formats the product name\n                                 */\n                                x = x.replace(/â[\\u0084]¢/g, '<sup>&trade;</sup>');\n                                x = x.replace(/u00e2u0084u00a2/g, '<sup>&trade;</sup>');\n                                x = x.replace(/00c3u00a9/g, '&eacute;');\n                                x = x.replace(/u00c2u00ae/g, '<sup>&reg;</sup>');\n                                x = x.replace(/00c2u00ae/g, '<sup>&reg;</sup>');\n                                x = x.replace(/Â®/g, '<sup>&reg;</sup>');\n                                x = x.replace(/\\u00ae/g, '<sup>&reg;</sup>');\n                                x = x.replace(/\\u00a9/g, '<sup>&copy;</sup>');\n                                return x;\n                            }\n                        }\n                        /*!\n                         * Process a recommendation\n                         */\n                        function processRecs(rec) {\n                            var recSelector = '';\n                            if (rec.mbox !== '' && rec.mbox !== 'target-global-mbox') {\n                                recSelector += '[data-at-mbox=\"' + rec.mbox + '\"]';\n                                recSelector += ',[data-at-auto-mbox=\"' + rec.mbox + '\"]';\n                            } else {\n                                recSelector += '[data-at-recommendation=\"' + rec.target + '\"]';\n                                recSelector += ',[data-at-recommendation=\"' + rec.target.replace(/\\s\\s+/g, ' ') + '\"]'; //Normalize recommendation names with multiple spaces\n                            }\n\n                            var containers = $(recSelector).not('.init-rec');\n                            if (containers.length < 1) {\n                                //console.log('Missing Recommendations Container '+recSelector);\n                            }\n                            containers.each(function(index) {\n                                var container = $(this);\n\n                                //Set configuration options\n                                var config = getConfigOptions(container);\n                                var isIntentionalShopper = checkInternationalCustomer();\n                                //Ensure only the designated category is targeted\n                                if (config.filterCategory !== '' && config.filterCategory !== rec.filterCategory) {\n                                    return true;\n                                }\n\n                                var deduplicatedItems = 0;\n                                if (config.showDuplicates === false) {\n                                    for (var m = 0; m < rec.items.length; m++) {\n                                        var item = rec.items[m];\n                                        if (window.atRecommendations.productsDisplayed.includes(item.id)) {\n                                            if (rec.hasOwnProperty('noDeduplication') && rec.noDeduplication === true) {\n                                                item.isDuplicate = false;\n                                            } else {\n                                                item.isDuplicate = true;\n                                            }\n                                        } else {\n                                            deduplicatedItems++;\n                                            item.isDuplicate = false;\n                                        }\n                                    }\n                                }\n\n                                if (deduplicatedItems > 0 || config.showDuplicates === true) {\n\n                                    var className = makeCSSClassName(rec.target);\n                                    var containerClasses = '';\n                                    if (config.fullWidth === true) {\n                                        containerClasses += ' mm-container-full-width';\n                                    }\n\n                                    var html = '<div class=\"mm-recommendation-container mm-container-' + className + ' mm-carousel mm-layout-' + config.layout + ' mm-control-position-' + makeCSSClassName(config.controlPosition) + containerClasses + '\">';\n\n                                    html += '<div class=\"container\">';\n                                    html += '<div class=\"row\">';\n                                    html += '<div class=\"col\">';\n                                    if (typeof window.atRecommendations.layouts[config.layout].buildHTML == \"function\") {\n                                        var filteredRecItems = filterRecsItems(rec, container, config);\n                                        rec.activeItems = filteredRecItems.length;\n                                        if (rec.activeItems > 0) {\n                                            rec.init = true;\n                                            rec.container = container;\n                                            html += window.atRecommendations.layouts[config.layout].buildHTML(rec, filteredRecItems, container, config, buildFunctions);\n                                        }\n                                    }\n                                    html += '</div>';\n                                    html += '</div>';\n                                    html += '</div>';\n                                    html += '</div>';\n\n                                    if (rec.activeItems > 0) {\n                                        container.removeClass('mm-section-default-hidden');\n\n                                        var inMMContainer = false;\n                                        var isMMContainer = false;\n\n                                        if (container.closest('.mm-section').length > 0) {\n                                            inMMContainer = true;\n                                        }\n\n                                        if (container.hasClass('mm-section')) {\n                                            isMMContainer = true;\n                                        }\n\n                                        container.closest('.mm-section').removeClass('mm-section-default-hidden');\n                                        var existingClasses = container.attr('class');\n                                        if (typeof existingClasses !== 'undefined') {\n                                            existingClasses = existingClasses.replace('mm-section', '');\n                                        }\n                                        container.removeClass();\n                                        if (isMMContainer) {\n                                            container.addClass('mm-section');\n                                        }\n\n                                        container.addClass('init-rec').addClass('at-rec-options');\n\n                                        if (!inMMContainer) {\n                                            container.addClass('mm-section').attr('data-mm-type', 'Adobe Target Recommendation').attr('data-mm-custom-tracking', rec.target);\n                                        }\n                                        marketingModules.fn.registerSection($(this));\n                                        if (config.promoImage !== '') {\n                                            container.addClass('at-rec-has-promo-image');\n                                        }\n                                        container.closest('.home-content-1').removeClass('home-content-1'); //breaks click through\n                                        container.closest('.module-carousel').removeClass('module-carousel');\n                                        if (rec.mbox == 'add-to-cart-recs-mbox') {\n                                            $('.cart-recommendations .recommendation').remove();\n                                        }\n\n                                        if (config.targetDivID !== '' && container.find('#' + config.targetDivID).length > 0) {\n                                            if (existingClasses !== '' && typeof existingClasses !== 'undefined') {\n                                                existingClasses = existingClasses.replace('default-hidden', '');\n                                                container.wrapInner('<div class=\"' + existingClasses + '\"></div>');\n                                            }\n                                            container.find('#' + config.targetDivID).html(html);\n                                        } else if (config.removeContent) {\n                                            container.html(html);\n                                        } else if (inMMContainer === false) {\n                                            if (existingClasses !== '' && typeof existingClasses !== 'undefined') {\n                                                container.wrapInner('<div class=\"' + existingClasses + '\"></div>');\n                                            }\n                                            container.append(html);\n                                        } else {\n                                            container.append(html);\n                                        }\n\n                                        if (config.sfccPricing === true || (config.sfccPricing == \"international\" && isIntentionalShopper)) {\n                                            sfccPriceCheck(filteredRecItems);\n                                        }\n\n                                        if (typeof window.atRecommendations.layouts[config.layout].init == \"function\") {\n                                            window.atRecommendations.layouts[config.layout].init(rec, container, config);\n                                        }\n                                    }\n                                }\n\n                            });\n                        }\n\n                        /*!\n                         * Update Global atRecommendations Object\n                         * The Add to Bag container isn't always in page when the recommendations are returned, so there is an option to delay processing the recommendations until a container is present.\n                         */\n\n                        if (typeof window.atRecommendations === \"undefined\") {\n                            window.atRecommendations = {\n                                \"productsDisplayed\": [],\n                                \"recommendations\": [],\n                                \"mboxSettings\": [],\n                                \"layouts\": {},\n                                \"vars\": {\n                                    'pageType': getPageType(),\n                                    'itemTypes': getItemTypes(),\n                                    'urlParamaters': getSiteParamaters()\n                                }\n                            };\n                            /*!\n                             *  Add default layouts \"carousel\", \"carousel-compact\", \"carousel-vertical\", \"carousel-vertical-compact\"\n                             *  Each layout has a the following functions:\n                             *    - buildHTML: function to generate the HTML\n                             *    - init: fired after the HTML is added to the page, for carousels this is to activate slick slider\n                             */\n                            window.atRecommendations.layouts['carousel'] = {\n                                buildHTML: function(rec, filteredRecItems, container, config, buildFunctions) {\n                                    return carouselHTML(rec, filteredRecItems, container, config, buildFunctions);\n                                },\n                                init: function(rec, container, config) {\n                                    initCarousels(rec, container, config);\n                                }\n                            };\n\n                            window.atRecommendations.layouts['carousel-compact'] = {\n                                buildHTML: function(rec, filteredRecItems, container, config, buildFunctions) {\n                                    return carouselHTML(rec, filteredRecItems, container, config, buildFunctions);\n                                },\n                                init: function(rec, container, config) {\n                                    initCarousels(rec, container, config);\n                                }\n                            };\n\n                            window.atRecommendations.layouts['carousel-vertical'] = {\n                                buildHTML: function(rec, filteredRecItems, container, config, buildFunctions) {\n                                    return carouselHTML(rec, filteredRecItems, container, config, buildFunctions);\n                                },\n                                init: function(rec, container, config) {\n                                    initCarousels(rec, container, config);\n                                }\n                            };\n\n                            window.atRecommendations.layouts['carousel-vertical-compact'] = {\n                                buildHTML: function(rec, filteredRecItems, container, config, buildFunctions) {\n                                    return carouselHTML(rec, filteredRecItems, container, config, buildFunctions);\n                                },\n                                init: function(rec, container, config) {\n                                    initCarousels(rec, container, config);\n                                }\n                            };\n                        }\n\n                        if (typeof options.atRecommendationConfig.recommendations !== \"undefined\") {\n                            if (typeof options.atRecommendationConfig.recommendations[0] !== \"undefined\") {\n                                var rec = options.atRecommendationConfig.recommendations[0];\n\n                                //Maintain Global atRecommendations Object\n                                window.atRecommendations.recommendations.push(options.atRecommendationConfig.recommendations[0]);\n\n                                var delayProcessingRecs = false;\n                                if (rec.mbox !== 'target-global-mbox') { //Accomidate Tealium Triggered MBOX\n                                    if (window.atRecommendations.mboxSettings.length > 0) {\n                                        for (var i = 0; i < window.atRecommendations.mboxSettings.length; i++) {\n                                            if (window.atRecommendations.mboxSettings[i].mbox == rec.mbox) {\n                                                var mboxSettings = window.atRecommendations.mboxSettings[i];\n                                                if (typeof mboxSettings.waitForNewContainer !== 'undefined' && typeof mboxSettings.container !== 'undefined') {\n                                                    if (mboxSettings.waitForNewContainer == true) {\n                                                        delayProcessingRecs = true;\n                                                    }\n                                                }\n                                                break;\n                                            }\n                                        }\n                                    }\n                                }\n\n                                if (delayProcessingRecs === false) {\n                                    processRecs(rec);\n                                } else {\n\n                                    var deferCount = 0;\n\n                                    function deferRec(method) {\n                                        deferCount++;\n                                        if ($(mboxSettings.container).not('.init-rec').length > 0) {\n                                            method();\n                                            return true;\n                                        }\n                                        if (deferCount < 50) {\n                                            setTimeout(function() {\n                                                deferRec(method)\n                                            }, 50);\n                                        }\n                                    }\n                                    deferRec(function() {\n                                        var mboxContainer = $(mboxSettings.container);\n                                        mboxContainer.addClass('at-mbox-init');\n                                        mboxContainer.attr('data-at-auto-mbox', mboxSettings.mbox);\n                                        $.each(mboxSettings.attributes, function(key, value) {\n                                            mboxContainer.attr(key, value);\n                                        });\n                                        processRecs(rec);\n                                    }, 3000);\n                                }\n\n                            }\n                        }\n                        return this;\n                    };\n                }(jQuery));\n            }\n\n        });\n\n    });\n</script>","cssSelector":"$cssSelector"}]},{"responseTokens":{"experience.id":"0","activity.name":"[ALL] SFRA Hotfix Nanobar - Clickable BG","activity.id":"162159","experience.name":"Experience A","profile.marketingCloudVisitorId":"57885437755112554943465670896878167092","profile.activeActivities":"162159","activity.decisioningMethod":"server-side"},"actions":[{"action":"customCode","selector":"HEAD","content":"<script>\nfunction deferNanobarHotfix(method) {\n    if (window.jQuery) {\n        method();\n    } else {\n        setTimeout(function() { deferNanobarHotfix(method) }, 50);\n    }\n}\ndeferNanobarHotfix(function () {\n\t$( document ).ready(function() {\n\t\tif($('#sfcc-nanobar-container').not('.at-nanobar-hotfix').length > 0) {\n\t\t\t$('#sfcc-nanobar-container').addClass('at-nanobar-hotfix');\n\t\t\t\n\t\t\tvar nanobar = $('#sfcc-nanobar-container').removeClass('pt-1').removeClass('pb-2');\n\t\t\tnanobar.closest('.nanobar-container').addClass('at-nanobar-container');\n\t\t\tnanobar.find('.carousel-item').wrapInner('<div class=\"at-nanobar-carousel-item-padding\" tabindex=\"0\" role=\"button\" aria-pressed=\"false\"></div>');\n\n\t\t\tvar controlHeight = 0;\n\n\t\t\tif(nanobar.find('.nanobar-navigation').length > 0) {\n\t\t\t\tcontrolHeight = nanobar.find('.nanobar-navigation').first().height();\n\t\t\t\tif(controlHeight > 0) {\n\t\t\t\t\tnanobar.addClass('at-nanobar-with-controls');\n\t\t\t\t} else {\n\t\t\t\t\tnanobar.addClass('at-nanobar-no-controls');\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tfunction getLinkTarget(container) {\n\t\t\t\tvar target = false;\n\t\t\t    if(container.find('.promo-details-bg-link').length > 0) {\n\t\t\t    \ttarget = container.find('.promo-details-bg-link').first();\n\t\t\t    } else if(container.find('.promo-details-modal-link').length > 0) {\n\t\t\t    \ttarget = container.find('.promo-details-modal-link').first();\n\t\t\t    } else if(container.find('a').length > 0) {\n\t\t\t    \ttarget = container.find('a').first();\n\t\t\t    } else if(container.find('button').length > 0) {\n\t\t\t     \ttarget = container.find('button').first();\n\t\t\t    }\n\t\t\t    return target;\n\t\t\t}\n\n\t\t\t$('.at-nanobar-hotfix .carousel-item').each(function( index ) {\n  \t  \t\t\tif($(this).find('a').length > 0 || $(this).find('button').length > 0) {\n  \t  \t\t\t\tvar target = getLinkTarget($(this));\n  \t  \t\t\t\tvar ariaLabel = target.text();\n  \t  \t\t\t\t$(this).find('.at-nanobar-carousel-item-padding').addClass('at-nanobar-clickable').attr('aria-label', ariaLabel);\n\n  \t  \t\t\t}\n  \t  \t\t});\n  \t  \t\t\n  \t  \t\t\n\n\t\t\t$(\"body\").on( \"click\", \".at-nanobar-hotfix .carousel-item .at-nanobar-carousel-item-padding\", function(event){\n\t\t\t\tif($(event.target).hasClass('at-nanobar-carousel-item-padding')) {\n\t\t\t\t\tvar target = getLinkTarget($(this));\n\t\t\t\t    if(target) {\n\t\t\t\t    \ttarget[0].click();\n\t\t\t\t    }\n\t\t  \t\t}\n\t\t    });\n\t    \tvar css = '';\n\t\t\tcss += '<style type=\"text/css\">';\n\t\t\tcss += '.at-nanobar-container, .at-nanobar-container .col-12 { padding: 0 !important; } .at-nanobar-hotfix .module-nanobar-carousel { padding: 0 !important; } .at-nanobar-clickable { cursor: pointer; }';\n\n\t\t\tcss += '.at-nanobar-hotfix .nanobar-navigation { position: absolute; bottom: .25rem; left: 0; width: 100%; margin-top: 0 !important; margin-bottom: 0 !important; pointer-events: none; } .at-nanobar-hotfix .nanobar-navigation a, .at-nanobar-hotfix .nanobar-navigation li,  .at-nanobar-hotfix .nanobar-navigation div { pointer-events: all; } .at-nanobar-hotfix .nanobar-navigation div { margin-top: 0 !important; }';\n\t\t\tif(controlHeight !== 0) {\n\t\t\t\tcss += '.at-nanobar-carousel-item-padding { padding-bottom: '+(controlHeight+4)+'px; padding-top: .25rem; }';\n\t\t\t} else {\n\t\t\t\tcss += '.at-nanobar-carousel-item-padding { padding-bottom:  .375rem; padding-top: .375rem; }';\n\t\t\t}\n\t\t\tcss += '</style>';\n\t\t\t$('body').append(css).addClass('at-nanobar');\n\t\t}\n\t});\n});\n\n\n\n</script>","cssSelector":"$cssSelector"}]}]}