{"webLayers":[{"_id":"68a35e14f9e3846a2c0f56b2","date_filter":{"enabled":false,"from_date":null,"to_date":null},"trigger":{"include_pages":[{"url":"/GB/en-GB/home","type":"contains"},{"url":"/GB/en-GB/categories","type":"contains"}],"exclude_pages":null},"device_target":{"type":"any"},"frequency":"until_visitor_interacts","uses_personalization":true,"data":"","variables_target":null,"page_vars":[]},{"_id":"68a3b16c19e0970610faf282","date_filter":{"enabled":false,"from_date":null,"to_date":null},"trigger":{"include_pages":[{"url":"/GB/en-GB/home","type":"contains"},{"url":"/GB/en-GB/categories","type":"contains"}],"exclude_pages":null},"device_target":{"type":"any"},"frequency":"once_per_visit","uses_personalization":true,"data":"","variables_target":null,"page_vars":[]},{"_id":"68a47016a38ec4bb9331b95d","date_filter":{"enabled":false,"from_date":null,"to_date":null},"trigger":{"include_pages":[{"url":"/GB/en-GB/home","type":"contains"},{"url":"/GB/en-GB/categories","type":"contains"}],"exclude_pages":null},"device_target":{"type":"any"},"frequency":"until_visitor_interacts","uses_personalization":true,"data":"","variables_target":null,"page_vars":[]},{"_id":"68a47af0a4e14e1b1875dcbc","date_filter":{"enabled":false,"from_date":null,"to_date":null},"trigger":{"include_pages":[{"url":"/GB/en-GB/home","type":"contains"},{"url":"/GB/en-GB/categories","type":"contains"}],"exclude_pages":null},"device_target":{"type":"any"},"frequency":"until_visitor_interacts","uses_personalization":true,"data":"","variables_target":null,"page_vars":[]},{"_id":"68a501c0503b00a75dc320d2","date_filter":{"enabled":false,"from_date":null,"to_date":null},"trigger":{"include_pages":[{"url":"/GB/en-GB/home","type":"contains"},{"url":"/GB/en-GB/categories","type":"contains"}],"exclude_pages":null},"device_target":{"type":"any"},"frequency":"until_visitor_interacts","uses_personalization":true,"data":"","variables_target":null,"page_vars":[]},{"_id":"68a58cc32220fb21d4baf59a","date_filter":{"enabled":false,"from_date":null,"to_date":null},"trigger":{"include_pages":[{"url":"/GB/en-GB/home","type":"contains"},{"url":"/GB/en-GB/categories","type":"contains"}],"exclude_pages":null},"device_target":{"type":"any"},"frequency":"until_visitor_interacts","uses_personalization":true,"data":"","variables_target":null,"page_vars":[]},{"_id":"68a7a239d91d83dbe2ba1abd","date_filter":{"enabled":false,"from_date":null,"to_date":null},"trigger":{"include_pages":[{"url":"/GB/en-GB/home","type":"contains"},{"url":"/GB/en-GB/categories/beauty","type":"contains"}],"exclude_pages":null},"device_target":{"type":"any"},"frequency":"until_visitor_interacts","uses_personalization":true,"data":"","variables_target":null,"page_vars":[]},{"_id":"68a8eaa21718224f715cd116","date_filter":{"enabled":false,"from_date":null,"to_date":null},"trigger":{"include_pages":[{"url":"GB/en-GB/home","type":"contains"}],"exclude_pages":null},"device_target":{"type":"any"},"frequency":"once_per_visit","uses_personalization":true,"data":"","variables_target":null,"page_vars":[]},{"_id":"68d9c409e74b71fbeb82deba","date_filter":{"enabled":false,"from_date":null,"to_date":null},"trigger":{"include_pages":[{"url":"/GB/en-GB","type":"contains"}],"exclude_pages":null},"device_target":{"type":"any"},"frequency":"once_per_visit","uses_personalization":true,"data":"","variables_target":null,"page_vars":[]},{"_id":"6926dba2aef2be6577bf882c","date_filter":{"enabled":false,"from_date":null,"to_date":null},"trigger":{"include_pages":[{"type":"any"}],"exclude_pages":null},"device_target":{"type":"any"},"frequency":"always","uses_personalization":true,"data":"","variables_target":null,"page_vars":[]},{"_id":"6942a7a622c40e2066c71f5b","date_filter":{"enabled":false,"from_date":null,"to_date":null},"trigger":{"include_pages":[{"type":"any"}],"exclude_pages":null},"device_target":{"type":"any"},"frequency":"always","uses_personalization":true,"data":"","variables_target":null,"page_vars":[]},{"_id":"6983cf93be14b298a154a7e0","date_filter":{"enabled":true,"from_date":null,"to_date":1771113599},"trigger":{"include_pages":[{"url":"/GB/en-GB/home","type":"contains"}],"exclude_pages":null},"device_target":{"type":"any"},"frequency":"until_visitor_interacts","uses_personalization":true,"data":"","variables_target":null,"page_vars":[]},{"_id":"69bc11a70ff5ed8b2add683c","date_filter":{"enabled":false,"from_date":null,"to_date":1769817599},"trigger":{"include_pages":[{"url":"/US/en-US/home","type":"contains"}],"exclude_pages":null},"device_target":{"type":"any"},"frequency":"until_visitor_interacts","uses_personalization":true,"data":"","variables_target":null,"page_vars":[]}],"experiments":[{"_id":"69afe95450ad193c37506a5c","date_filter":{"enabled":false,"from_date":null,"to_date":null},"trigger":{"include_pages":[{"url":"GB/en-GB/home","type":"contains"}],"exclude_pages":null},"trigger_event":{"type":"page_load"},"device_target":{"type":"any"},"frequency":"always","variables_target":null,"page_vars":[]},{"_id":"69e20519b80f1ce8b09cf577","date_filter":{"enabled":false,"from_date":null,"to_date":null},"trigger":{"include_pages":[{"type":"any"}],"exclude_pages":null},"trigger_event":{"type":"page_load"},"device_target":{"type":"any"},"frequency":"always","variables_target":null,"page_vars":[]},{"_id":"69e893862ebd5493e4dcde0a","date_filter":{"enabled":false,"from_date":null,"to_date":null},"trigger":{"include_pages":[{"type":"any"}],"exclude_pages":null},"trigger_event":{"type":"page_load"},"device_target":{"type":"any"},"frequency":"always","variables_target":null,"page_vars":[]},{"_id":"69f21ca66bf0b1a748e1cdf8","date_filter":{"enabled":false,"from_date":null,"to_date":null},"trigger":{"include_pages":[{"url":"test-rearrage=true","type":"contains"}],"exclude_pages":null},"trigger_event":{"type":"page_load"},"device_target":{"type":"any"},"frequency":"always","variables_target":null,"page_vars":[]},{"_id":"69fdc4b2ec32ea2a84b45e47","date_filter":{"enabled":false,"from_date":null,"to_date":null},"trigger":{"include_pages":[{"url":"https://www.myunidays.com/US/en-US/home?rd=true","type":"exact"}],"exclude_pages":null},"trigger_event":{"type":"page_load"},"device_target":{"type":"any"},"frequency":"always","variables_target":null,"page_vars":[]},{"_id":"6a0acf03962f3149c24fabd1","date_filter":{"enabled":false,"from_date":null,"to_date":null},"trigger":{"include_pages":[{"url":"https://www.myunidays.com/US/en-US?alp=pete","type":"exact"}],"exclude_pages":null},"trigger_event":{"type":"page_load"},"device_target":{"type":"any"},"frequency":"always","variables_target":null,"page_vars":[]}],"constantManagedTags":[{"uses_overlay":false,"type":"js","parametrized_definition":"(function () {\n  var SEL_A = '#main \u003e div:nth-child(4)'; // Fashion\n  var SEL_B = '#main \u003e div:nth-child(8)'; // Trending right now\n  var ANIM_MS = 400;\n// URL param: ?ud_anim=fade (default) | skeleton | blur\n  var variant = new URLSearchParams(location.search).get('ud_anim') || 'fade';\n\n  // ── Helpers ──────────────────────────────────────────────────────────────\n\n  function getEls() {\n    var a = document.querySelector(SEL_A);\n    var b = document.querySelector(SEL_B);\n    return a \u0026\u0026 b ? [a, b] : null;\n  }\n\n  function injectCSS(css) {\n    var s = document.createElement('style');\n    s.textContent = css;\n    document.head.appendChild(s);\n  }\n\n  // Swap two non-adjacent siblings in-place\n  function doSwap(a, b) {\n    var nextA = a.nextSibling;\n    var nextB = b.nextSibling;\n    a.parentNode.insertBefore(b, nextA);\n    b.parentNode.insertBefore(a, nextB);\n  }\n\n  // ── Version 1: Fade out → swap → fade in ─────────────────────────────────\n\n  function swapFade(a, b) {\n    injectCSS(\n      '.ud-fade{transition:opacity ' + ANIM_MS + 'ms ease}'\n    );\n    [a, b].forEach(function (el) {\n      el.classList.add('ud-fade');\n      el.style.opacity = '0';\n    });\n    setTimeout(function () {\n      doSwap(a, b);\n      requestAnimationFrame(function () {\n        requestAnimationFrame(function () {\n          [a, b].forEach(function (el) { el.style.opacity = '1'; });\n        });\n      });\n    }, ANIM_MS);\n  }\n\n  // ── Version 2: Skeleton placeholder → swap → reveal ──────────────────────\n\n  function swapSkeleton(a, b) {\n    injectCSS([\n      '@keyframes ud-shimmer{0%{background-position:-200% 0}100%{background-position:200% 0}}',\n      '.ud-skel{background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0 50%,#f0f0f0 75%);background-size:200% 100%;animation:ud-shimmer 1.5s infinite;border-radius:8px;margin:16px 0}',\n      '.ud-reveal{transition:opacity ' + ANIM_MS + 'ms ease}'\n    ].join(''));\n\n    function makeSkel(el) {\n      var sk = document.createElement('div');\n      sk.style.cssText = 'width:100%;padding:24px 0';\n      sk.innerHTML = [\n        '\u003cdiv style=\"max-width:1200px;margin:0 auto;padding:0 16px;box-sizing:border-box\"\u003e',\n          '\u003cdiv class=\"ud-skel\" style=\"width:220px;height:39px;margin-bottom:8px;border-radius:6px\"\u003e\u003c/div\u003e',\n          '\u003cdiv class=\"ud-skel\" style=\"width:160px;height:22px;margin-bottom:24px;border-radius:4px\"\u003e\u003c/div\u003e',\n          '\u003cdiv style=\"display:grid;grid-template-columns:repeat(4,1fr);gap:16px\"\u003e',\n            '\u003cdiv class=\"ud-skel\" style=\"height:276px;border-radius:8px\"\u003e\u003c/div\u003e',\n            '\u003cdiv class=\"ud-skel\" style=\"height:276px;border-radius:8px\"\u003e\u003c/div\u003e',\n            '\u003cdiv class=\"ud-skel\" style=\"height:276px;border-radius:8px\"\u003e\u003c/div\u003e',\n            '\u003cdiv class=\"ud-skel\" style=\"height:276px;border-radius:8px\"\u003e\u003c/div\u003e',\n          '\u003c/div\u003e',\n        '\u003c/div\u003e'\n      ].join('');\n      el.parentNode.insertBefore(sk, el);\n      el.style.display = 'none';\n      return sk;\n    }\n\n    var skA = makeSkel(a);\n    var skB = makeSkel(b);\n\n    setTimeout(function () {\n      skA.remove();\n      skB.remove();\n      [a, b].forEach(function (el) {\n        el.style.display = '';\n        el.classList.add('ud-reveal');\n        el.style.opacity = '0';\n      });\n      doSwap(a, b);\n      requestAnimationFrame(function () {\n        requestAnimationFrame(function () {\n          [a, b].forEach(function (el) { el.style.opacity = '1'; });\n        });\n      });\n    }, 1400);\n  }\n\n  // ── Version 3: Blur + spinner \"personalizing\" ─────────────────────────────\n\n  function swapBlur(a, b) {\n    injectCSS([\n      '@keyframes ud-spin{to{transform:rotate(360deg)}}',\n      '.ud-blur{transition:filter ' + ANIM_MS + 'ms ease,opacity ' + ANIM_MS + 'ms ease}',\n      '.ud-blur-on{filter:blur(6px);opacity:.45}',\n      '#ud-personalize{position:fixed;bottom:24px;right:24px;z-index:1000;background:#1a1a1a;color:#fff;border-radius:12px;padding:12px 18px;display:flex;align-items:center;gap:10px;font-family:inherit;font-size:13px;font-weight:500;box-shadow:0 4px 24px rgba(0,0,0,.3);transition:opacity .3s ease}',\n      '#ud-personalize-icon{width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:ud-spin .7s linear infinite;flex-shrink:0}'\n    ].join(''));\n\n    [a, b].forEach(function (el) { el.classList.add('ud-blur'); });\n    requestAnimationFrame(function () {\n      [a, b].forEach(function (el) { el.classList.add('ud-blur-on'); });\n    });\n\n    var toast = document.createElement('div');\n    toast.id = 'ud-personalize';\n    toast.innerHTML = '\u003cdiv id=\"ud-personalize-icon\"\u003e\u003c/div\u003e\u003cspan\u003ePersonalizing content for you…\u003c/span\u003e';\n    document.body.appendChild(toast);\n\n    setTimeout(function () {\n      [a, b].forEach(function (el) { el.classList.remove('ud-blur-on'); });\n      toast.style.opacity = '0';\n      setTimeout(function () { toast.remove(); }, 300);\n      doSwap(a, b);\n    }, 1800);\n  }\n\n  // ── Version 4: Blur + centered \"personalizing\" badge ─────────────────────\n\n  function swapBlurCenter(a, b) {\n    injectCSS([\n      '@keyframes ud-spin2{to{transform:rotate(360deg)}}',\n      '@keyframes ud-badge-in{from{opacity:0;transform:translate(-50%,-50%) scale(.85)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}',\n      '.ud-blur2{transition:filter ' + ANIM_MS + 'ms ease,opacity ' + ANIM_MS + 'ms ease}',\n      '.ud-blur2-on{filter:blur(6px);opacity:.45}'\n    ].join(''));\n\n    [a, b].forEach(function (el) { el.classList.add('ud-blur2'); });\n    requestAnimationFrame(function () {\n      [a, b].forEach(function (el) { el.classList.add('ud-blur2-on'); });\n    });\n\n    function makeBadge(el) {\n      var rect = el.getBoundingClientRect();\n      var centerY = rect.top + window.scrollY + rect.height / 2;\n      var badge = document.createElement('div');\n      badge.className = 'ud-badge';\n      badge.style.cssText = 'position:absolute;left:50%;top:' + centerY + 'px;z-index:1000;background:#1a1a1a;color:#fff;border-radius:12px;padding:12px 18px;display:flex;align-items:center;gap:10px;font-family:inherit;font-size:13px;font-weight:500;box-shadow:0 4px 24px rgba(0,0,0,.3);transform:translate(-50%,-50%);animation:ud-badge-in .3s ease;transition:opacity .3s ease';\n      badge.innerHTML = '\u003cdiv style=\"width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:ud-spin2 .7s linear infinite;flex-shrink:0\"\u003e\u003c/div\u003e\u003cspan\u003ePersonalizing content for you…\u003c/span\u003e';\n      document.body.appendChild(badge);\n      return badge;\n    }\n\n    var badgeA = makeBadge(a);\n    var badgeB = makeBadge(b);\n\n    setTimeout(function () {\n      [a, b].forEach(function (el) { el.classList.remove('ud-blur2-on'); });\n      [badgeA, badgeB].forEach(function (badge) {\n        badge.style.opacity = '0';\n        setTimeout(function () { badge.remove(); }, 300);\n      });\n      doSwap(a, b);\n    }, 1800);\n  }\n\n  // ── Run ───────────────────────────────────────────────────────────────────\n\n  function run() {\n    var els = getEls();\n    if (!els) return false;\n    var a = els[0], b = els[1];\n    if (variant === 'skeleton') swapSkeleton(a, b);\n    else if (variant === 'blur') swapBlur(a, b);\n    else if (variant === 'blur2') swapBlurCenter(a, b);\n    else swapFade(a, b);\n    return true;\n  }\n\n  run();\n})();\n","trigger":{"include_pages":[{"url":"test-rearrange-blocks=true","type":"contains"}],"exclude_pages":null},"_id":"6a05ec46ac203d622351daba"}],"vars":{"data":[]}}