CINXE.COM
The game is afoot
<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta content="width=device-width, initial-scale=1" name="viewport"> <meta property="og:type" content="website"> <meta property="og:title" content="The game is afoot"> <meta property="og:description" content=""> <meta property="og:image" content="https://cdn.pathfactory.com/assets/10445/thumbnails/976034/e117228c-f818-4b68-9151-9d02884f4bd9.png"> <meta property="og:url" content="https://pf.content.nokia.com/the-game-is-afoot"> <meta name="twitter:card" content="summary_large_image"> <meta name="twitter:title" content="The game is afoot"> <meta name="twitter:description" content=""> <meta name="twitter:image" content="https://cdn.pathfactory.com/assets/10445/thumbnails/976034/e117228c-f818-4b68-9151-9d02884f4bd9.png"> <meta name="robots" content="noindex, nofollow"> <link rel="canonical" href="https://pf.content.nokia.com/the-game-is-afoot"> <link rel="icon" type="image/x-icon" href="/images/favicon.ico?v=6"> <title> The game is afoot </title> <meta name="description" content=""> <script> const jukeboxApiHost = "https://jukebox.pathfactory.com"; const clientId = "LB-3D884D63-10445"; </script> <script> let dimensions = []; dimensions = `[{"label":"Topics","value":"topics","is_default":true},{"label":"Business Units","value":"business_units","is_default":true},{"label":"Personas","value":"personas","is_default":true},{"label":"Industries","value":"industries","is_default":true},{"label":"Products","value":"products","is_default":true},{"label":"Solutions","value":"solutions","is_default":true}]` ? JSON.parse(`[{"label":"Topics","value":"topics","is_default":true},{"label":"Business Units","value":"business_units","is_default":true},{"label":"Personas","value":"personas","is_default":true},{"label":"Industries","value":"industries","is_default":true},{"label":"Products","value":"products","is_default":true},{"label":"Solutions","value":"solutions","is_default":true}]`) : [] const contentTagCategories = dimensions; const customCategories = contentTagCategories?.filter(item => item?.is_default === false) || []; const customCategoryKeys = customCategories.map(item => item.value); </script> <script> function pfDebounce(func, timeout = 500){ let timer; return (...args) => { clearTimeout(timer); timer = setTimeout(() => { func.apply(this, args); }, timeout); }; } function pfGeneratePageOptions({ page, totalPages, maxSlots = 7 }) { let pageOptions = []; if (totalPages <= maxSlots) { for (let i = 1; i <= totalPages; i++) { pageOptions.push(i); } } else { pageOptions = [page]; let pagesSlotted = 1; for (let i = 1; pagesSlotted < maxSlots; i++) { const leadingPage = page - i; const trailingPage = page + i; if (leadingPage >= 1) { pageOptions = [leadingPage, ...pageOptions]; pagesSlotted++; } if (trailingPage <= totalPages) { pageOptions = [...pageOptions, trailingPage]; pagesSlotted++; } } if (pageOptions[0] !== 1) { pageOptions[0] = 1; } if (pageOptions[pageOptions.length - 1] !== totalPages) { pageOptions[pageOptions.length - 1] = totalPages; } if (pageOptions[1] > 2) { pageOptions[1] = "..."; } if (pageOptions[pageOptions.length - 2] < totalPages - 1) { pageOptions[pageOptions.length - 2] = "..."; } } return pageOptions; } function pfGetCookie(namePattern){ const cookies = document.cookie.split("; "); const cookie = cookies.find((cookie) => { const cookieName = cookie.split("=")[0]; return !!cookieName.match(namePattern) }) || ""; return cookie.split("=")[1]; } </script> <script type="text/javascript"> (function() { var didInit = false; function initMunchkin() { if(didInit === false) { didInit = true; Munchkin.init('937-WRZ-618'); } } function trackWebPage(thresholdPassed) { var url = document.location.pathname; var params = "track_external_id=T01674"; var queryString = ""; if (thresholdPassed) { url = url + ", Met Threshold"; params = "threshold_passed=true" + (params ? "&" + params : ""); } params = params + (queryString ? "&" + queryString : ""); window.mktoMunchkinFunction('visitWebPage', { url: url, params: params }); } var s = document.createElement('script'); s.type = 'text/javascript'; s.async = true; s.src = '//munchkin.marketo.net/munchkin.js'; s.onreadystatechange = function() { if (this.readyState == 'complete' || this.readyState == 'loaded') { initMunchkin(); } }; s.onload = initMunchkin; document.getElementsByTagName('head')[0].appendChild(s); })(); </script> <script src="https://cdn.pathfactory.com/templated-experiences/glide.js"></script> <link rel="stylesheet" href="https://cdn.pathfactory.com/templated-experiences/glide.core.css"> <link rel="stylesheet" href="https://cdn.pathfactory.com/templated-experiences/glide.theme.css"> <script defer src="https://cdn.pathfactory.com/templated-experiences/alpine.js"></script> <script src="https://cdn.pathfactory.com/templated-experiences/values.js"></script> <script src="https://cdn.pathfactory.com/templated-experiences/brightcove-player-loader.min.js"></script> <script src="https://cdn.pathfactory.com/templated-experiences/reactplayer.standalone.js"></script> <script src="https://www.youtube.com/iframe_api"></script> <script src="https://player.vimeo.com/api/player.js"></script> <script src="https://play.vidyard.com/embed/v4.js"></script> <script src="https://fast.wistia.com/assets/external/E-v1.js"></script> <script defer src="https://js.static.parmonic.ai/v5/aw-single.js"></script> <script defer src="https://js.static.parmonic.ai/v5/aw-init.js"></script> <script src="https://video.limelight.com/player/limelightjs-player.js"></script> <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.1.1/css/all.min.css"> <script> var primaryColor = new Values("#005aff"); var primaryShades = primaryColor.all(18).map((shade) => shade.hexString()); let sectionPadding = "px-[0px] sm:px-[0px] py-[0px] sm:py-[0px]"; if (true) { sectionPadding = "py-12 px-4 sm:px-6 lg:py-16 lg:px-8"; }; window.__unocss = { theme: { colors: { primary: { DEFAULT: primaryShades[5], 50: primaryShades[0], 100: primaryShades[1], 200: primaryShades[2], 300: primaryShades[3], 400: primaryShades[4], 500: primaryShades[5], 600: primaryShades[6], 700: primaryShades[7], 800: primaryShades[8], 900: primaryShades[9] }, on: { primary: "#ffffff" } } }, shortcuts: { "section-display": "flex justify-center mx-auto", "section-padding": `${sectionPadding} flex justify-center mx-auto`, "section-base": "container", "section-heading": "text-3xl font-bold leading-tight tracking-tight text-gray-900 md:text-4xl", "btn": "inline-block w-full px-4 py-2 text-base font-medium leading-4 text-center border rounded-md shadow-sm focus:ring-2 focus:ring-opacity-50 md:text-lg", "btn-lg": "px-6 py-4", "btn-md": "px-4 py-2", "btn-sm": "px-2 py-1", "btn-primary": "bg-primary-500 border-primary-500 text-on-primary hover:bg-primary-600 focus:ring-primary-500", "btn-outline": "text-gray-800 bg-white border border-gray-400 hover:bg-gray-200 focus:ring-gray-200" } }; </script> <script defer src="https://cdn.pathfactory.com/templated-experiences/attributify.global.js"></script> <script src="https://cdn.pathfactory.com/templated-experiences/tailwind.js"></script> <script src="https://cdn.pathfactory.com/templated-experiences/ozmenu.js"></script> <link rel="stylesheet" href="https://cdn.pathfactory.com/templated-experiences/ozmenu-styles.css"> <script src="https://cdn-app.pathfactory.com/libraries/overlay/overlay.js"></script> <link href="https://cdn-app.pathfactory.com/libraries/overlay/overlay.css" rel="stylesheet" type="text/css"> <script defer> const detectGlideAndMount = (count = 0) => { const glides = document.querySelectorAll(".glide"); if (glides.length === 0 && count <= 20) { setTimeout(() => detectGlideAndMount(count + 1), 1000); } else { window.pfGlides = {}; window.carouselConfiguration = {}; glides.forEach((glide) => { window.carouselConfiguration[glide?.dataset?.carouselGlideId] = { type: "slider", animationDuration: 1000, autoplay: glide.dataset.autoplay === "no" ? false : glide.dataset.autoplayInterval * 1000, gap: glide.dataset.gap || 0, perView: glide.dataset.tilesPerRow, peek: glide.dataset.peek || 0, breakpoints: { 640: { perView: 1 }, 1024: { perView: glide.dataset.tilesPerRow === "1" ? 1 : 2 } } }; window.pfGlides[glide.dataset.carouselGlideId] = new Glide(glide, window.carouselConfiguration[glide?.dataset?.carouselGlideId]); window.pfGlides[glide.dataset.carouselGlideId].on(['mount.after', 'run'], () => { const bullets = glide.querySelectorAll('.glide__bullet'); const activeIndex = window.pfGlides[glide.dataset.carouselGlideId].index; bullets.forEach((bullet, index) => { bullet.setAttribute('aria-current', index === activeIndex); }); }); window.pfGlides[glide.dataset.carouselGlideId].mount(); }); for (let count = 0; count < 10; count++) { setTimeout(() => window.dispatchEvent(new Event('resize')), 500 * count); } } } detectGlideAndMount(); </script> <script> function pfUpdateCheckedFiltersCount(sectionNodeId) { const section = document.querySelector(`.section-${sectionNodeId}`); const optionWrappers = section.querySelectorAll("ul[class*='pf-options-wrapper-']"); optionWrappers.forEach((wrapper) => { const f = wrapper.closest("[class*=select-container]"); if (!f) return; const checkboxes = Array.from(f.querySelectorAll(".pf-checkbox")); const checkedOptionsCount = checkboxes.reduce((total, cb) => { return cb.checked ? total + 1 : total; }, 0); const countLabel = f.querySelector(".pf-selected-options-count"); countLabel.style.display = checkedOptionsCount === 0 ? "none" : "inline-block"; countLabel.textContent = checkedOptionsCount > 0 ? checkedOptionsCount : ""; }); const filterContainers = section.querySelectorAll(".pf-resource-center-filters"); filterContainers.forEach((filterContainer) => { const totalCheckedFiltersLabel = filterContainer.querySelector(".pf-total-checked-filters-count"); const overallFiltersLabel = filterContainer.querySelector(".pf-filters-label"); if (totalCheckedFiltersLabel && overallFiltersLabel) { const totalChecked = Array.from(filterContainer.querySelectorAll(".pf-checkbox")).reduce((total, cb) => { return cb.checked ? total + 1 : total; }, 0); totalCheckedFiltersLabel.textContent = totalChecked; if (totalChecked > 0) { totalCheckedFiltersLabel.style.display = ""; overallFiltersLabel.textContent = "Filters applied:"; } else { totalCheckedFiltersLabel.style.display = "none"; overallFiltersLabel.textContent = "Filter"; } } }); } function pfUpdateUrlsWithFilterParams(sectionNodeId) { const filterOptions = window.pfAllFilterOptions || {}; const selectedFilters = window.pfResourceCenterParams?.[sectionNodeId] || {}; const userDefinedCategoryParams = customCategoryKeys.reduce((acc, key) => { acc[key] = selectedFilters?.[key]?.map((id) => filterOptions?.dimensions?.[key]?.find((t) => t.value == id)?.label)?.filter((x) => x) || []; return acc; }, {}); reconstructUrl(convertToQueryParams({ topics: selectedFilters.topics?.map((id) => filterOptions.dimensions?.topics?.find((t) => t.value == id)?.label)?.filter((x) => x) || [], languages: selectedFilters.languages?.map((id) => filterOptions.languages?.find((t) => t.value == id)?.label)?.filter((x) => x) || [], personas: selectedFilters.personas?.map((id) => filterOptions.dimensions?.personas?.find((t) => t.value == id)?.label)?.filter((x) => x) || [], business_units: selectedFilters.business_units?.map((id) => filterOptions.dimensions?.business_units?.find((t) => t.value == id)?.label)?.filter((x) => x) || [], industries: selectedFilters.industries?.map((id) => filterOptions.dimensions?.industries?.find((t) => t.value == id)?.label)?.filter((x) => x) || [], products: selectedFilters.products?.map((id) => filterOptions.dimensions?.products?.find((t) => t.value == id)?.label)?.filter((x) => x) || [], solutions: selectedFilters.solutions?.map((id) => filterOptions.dimensions?.solutions?.find((t) => t.value == id)?.label)?.filter((x) => x) || [], content_types: selectedFilters.content_types?.map((id) => filterOptions.contentTypes?.find((t) => t.value == id)?.label)?.filter((x) => x) || [], funnel_stages: selectedFilters.funnel_stages?.map((id) => filterOptions.dimensions?.funnel_stages?.find((t) => t.value == id)?.label)?.filter((x) => x) || [], current_page: `${selectedFilters.page}`, ...userDefinedCategoryParams })); } async function pfGetContents({ sectionNodeId, isLoadMore = false, updateParams = {} }) { const sectionSelector = `.section-${sectionNodeId}`; const contents = Array.from(document.querySelectorAll(`.section-${sectionNodeId} .pf-content-card`)); const contentUuids = contents.map((c) => c.dataset.uuid).filter((x) => x); const landingPageId = "28247"; const segmentGroupId = ""; const api_url = `${jukeboxApiHost}/api/public/v3/get_contents/${window.location.search}`; const initialParams = { sort: "", page: 1, search: "", dimensions: [], languages: [], content_types: [] }; const newParams = { ...(window.pfResourceCenterParams?.[sectionNodeId] || initialParams), ...updateParams }; window.pfResourceCenterParams = { ...(window.pfResourceCenterParams || {}), [sectionNodeId]: newParams }; const body = { ...newParams, landingPageId, sectionNodeId, clientId, baseUrl: "https://pf.content.nokia.com", visitorUuid: pfGetCookie("vid"), sessionId: (pfGetCookie(/_pf_id.+/) || "").split(".")[5], segmentGroupId, loadedContentUuids: newParams.page === 1 ? [] : contentUuids }; const response = await fetch(api_url, { method: "POST", headers: { "Content-Type": "application/json" }, body: JSON.stringify(body) }); const result = await response.json(); window.pfResourceCenterParams[sectionNodeId] = { ...window.pfResourceCenterParams[sectionNodeId], totalContents: result.totalContents }; window.document.dispatchEvent(new CustomEvent('pageMetadataUpdated', { detail: sectionNodeId })); const section = document.querySelector(sectionSelector); const contentListWrapper = section.querySelector(".pf-resource-center-cards-wrapper"); const contentCardTemplate = section.querySelector(".pf-content-card.template"); if (!contentCardTemplate || !contentListWrapper) return; if (!isLoadMore) contentListWrapper.innerHTML = ""; const noResultsMessage = document.querySelector(".pf-no-results"); if ((result.contents || []).length === 0 && !isLoadMore) { noResultsMessage.style.display = ""; } else { noResultsMessage.style.display = "none"; } (result.contents || []).forEach((c) => { const contentCard = contentCardTemplate.cloneNode(true); contentCard.dataset.uuid = c.uuid; contentCard.querySelector(".pf-content-card-title").textContent = c.title; contentCard.querySelector(".pf-content-card-thumbnail").src = c.thumbnail; contentCard.querySelector(".pf-content-card-link").href = c.url; const linkNode = contentCard.querySelector(".pf-content-card-link"); if (linkNode.dataset.hasOwnProperty("lookbookOverlayHref")) { linkNode.dataset.lookbookOverlayHref = c.url; } const descriptionNode = contentCard.querySelector(".pf-content-card-description"); if (descriptionNode && c.description) { descriptionNode.textContent = c.description; descriptionNode.parentElement.style.display = ""; } const ctaLabelNode = contentCard.querySelector(".pf-content-card-cta"); if (ctaLabelNode) { ctaLabelNode.textContent = c.ctaLabel; } const tagsOnCardWrapper = contentCard.querySelector(".pf-content-tag-on-card-wrapper"); const tagsBelowCardWrapper = contentCard.querySelector(".pf-content-tag-below-card-wrapper"); if (tagsOnCardWrapper || tagsBelowCardWrapper) { const tagOnCardTemplate = tagsOnCardWrapper?.querySelector(".pf-content-tag-on-card"); const tagBelowCardTemplate = tagsBelowCardWrapper?.querySelector(".pf-content-tag-below-card"); const enabledTagTypes = (tagBelowCardTemplate || tagOnCardTemplate).dataset.enabledTags.split(","); if (c.contentType && tagsOnCardWrapper && enabledTagTypes.includes("content_type")) { const contentTypeTag = tagOnCardTemplate.cloneNode(); contentTypeTag.textContent = c.contentType; tagsOnCardWrapper.appendChild(contentTypeTag); } if (c.language && tagsOnCardWrapper && enabledTagTypes.includes("language")) { const languageTag = tagOnCardTemplate.cloneNode(); languageTag.textContent = c.language; tagsOnCardWrapper.appendChild(languageTag); } const customCategoryDimensionsByType = customCategoryKeys.reduce((acc, item) => { const camelizedKey = item.replace(/(_\w)/g, function (match) { return match[1].toUpperCase(); }) if (c && c[camelizedKey]) { acc[item] = c[camelizedKey]; } return acc; }, {}); const dimensionsByType = { business_units: c.businessUnits, funnel_stages: c.funnelStages, industries: c.industries, personas: c.personas, products: c.products, solutions: c.solutions, topics: c.topics, ...customCategoryDimensionsByType }; if (Object.values(dimensionsByType).flat().length > 0 && tagsBelowCardWrapper) { enabledTagTypes.forEach((type) => { const dimensions = dimensionsByType[type] || []; dimensions.forEach((d) => { const dimensionTag = tagBelowCardTemplate.cloneNode(); dimensionTag.textContent = d; tagsBelowCardWrapper.appendChild(dimensionTag); }); }); } if(tagOnCardTemplate) tagOnCardTemplate.remove(); if(tagBelowCardTemplate) tagBelowCardTemplate.remove(); if (c.isPinned) { const pinnedTag = tagsOnCardWrapper.querySelector(".pf-pinned-content-tag"); pinnedTag.style.display = ""; tagsOnCardWrapper.style.display = "flex"; } } contentCard.style.display = ""; contentListWrapper.appendChild(contentCard); }); pfUpdateCheckedFiltersCount(sectionNodeId); if (!isLoadMore) section.scrollIntoView(); } async function pfGetFilters(sectionNodeId) { const isContentPage = false; const urlParams = new URLSearchParams(window.location.search); const sectionSelector = `.section-${sectionNodeId}`; const contentPlayUuid = urlParams.get("pf_cpid"); const campaignUuid = urlParams.get("pf_cid"); const landingPageId = isContentPage ? urlParams.get("pflpid") : "28247"; const lpSectionNodeId = isContentPage ? urlParams.get("pfsid") : sectionNodeId; const segmentGroupId = ""; const contentPageParams = isContentPage ? { isContentPage: true, contentSource: "experience", templatedExperienceId: "8765" } : {}; const apiUrl = new URL(`${jukeboxApiHost}/api/public/v3/get_filter_options`); const params = { ...contentPageParams, landingPageId, sectionNodeId: lpSectionNodeId, clientId, segmentGroupId, pf_cpid: contentPlayUuid, pf_cid: campaignUuid }; apiUrl.search = new URLSearchParams(params); const response = await fetch(apiUrl); const result = await response.json(); window.pfAllFilterOptions = result; if (typeof result?.totalContents === "number") { window.pfResourceCenterParams = { ...(window.pfResourceCenterParams || {}), [sectionNodeId]: { ...(window.pfResourceCenterParams?.[sectionNodeId] || {}), totalContents: result.totalContents || 0 } }; window.document.dispatchEvent(new CustomEvent('pageMetadataUpdated', { detail: sectionNodeId })); } const section = document.querySelector(sectionSelector); const allFiltersWrapper = section.querySelectorAll(".pf-resource-center-filters"); if (allFiltersWrapper.length === 0) return; allFiltersWrapper.forEach((filtersWrapper) => { const filterOptionTemplate = filtersWrapper.querySelector(".pf-options.pf-template"); const contentTypeOptionsWrapper = filtersWrapper.querySelector(".pf-options-wrapper-content_type") || filtersWrapper.querySelector(".pf-options-wrapper-content_types"); const languageOptionsWrapper = filtersWrapper.querySelector(".pf-options-wrapper-language") || filtersWrapper.querySelector(".pf-options-wrapper-languages"); if (contentTypeOptionsWrapper) { if (result.contentTypes.length === 0) { filtersWrapper.querySelector("[class*='select-content_type']").style.display = "none"; } else { filtersWrapper.querySelector("[class*='select-content_type']").style.display = ""; contentTypeOptionsWrapper.innerHTML = ""; } result.contentTypes.forEach((ct) => { const contentTypeOption = filterOptionTemplate.cloneNode(true); contentTypeOption.querySelector(".pf-label").textContent = ct.label; contentTypeOption.querySelector(".pf-checkbox").name = ct.value; contentTypeOption.querySelector(".pf-checkbox").dataset.label = ct.label; contentTypeOption.style.display = ""; contentTypeOption.querySelector(".pf-checkbox").addEventListener("change", (event) => { const currentCheckedValues = window.pfResourceCenterParams?.[sectionNodeId]?.["content_types"] || []; const checkedContentTypes = event.target.checked ? [...currentCheckedValues, ct.value] : currentCheckedValues.filter(x => x !== ct.value); const newParams = { ["content_types"]: checkedContentTypes, page: 1 }; if (isContentPage) { pfGetContentPageContents({ sectionNodeId, updateParams: newParams }); } else { pfGetContents({ sectionNodeId, updateParams: newParams }); } }); contentTypeOptionsWrapper.appendChild(contentTypeOption); }); } if (languageOptionsWrapper) { if (result.languages.length === 0) { filtersWrapper.querySelector("[class*='select-language']").style.display = "none"; } else { filtersWrapper.querySelector("[class*='select-language']").style.display = ""; languageOptionsWrapper.innerHTML = ""; } result.languages.forEach((l) => { const languageOption = filterOptionTemplate.cloneNode(true); languageOption.querySelector(".pf-label").textContent = l.label; languageOption.querySelector(".pf-checkbox").name = l.value; languageOption.querySelector(".pf-checkbox").dataset.label = l.label; languageOption.style.display = ""; languageOption.querySelector(".pf-checkbox").addEventListener("change", (event) => { const currentCheckedValues = window.pfResourceCenterParams?.[sectionNodeId]?.languages || []; const checkedLanguages = event.target.checked ? [...currentCheckedValues, l.value] : currentCheckedValues.filter(x => x !== l.value); const newParams = { ["languages"]: checkedLanguages, page: 1 }; if (isContentPage) { pfGetContentPageContents({ sectionNodeId, updateParams: newParams }); } else { pfGetContents({ sectionNodeId, updateParams: newParams }); } }); languageOptionsWrapper.appendChild(languageOption); }); } const dimensionTypes = [ "topics", "personas", "business_units", "industries", "products", "solutions", "funnel_stages", ...customCategoryKeys ]; dimensionTypes.forEach((dt) => { const optionsWrapper = filtersWrapper.querySelector(`.pf-options-wrapper-${dt}`); if (optionsWrapper && (result.dimensions[dt] || []).length === 0) { filtersWrapper.querySelector(`.select-${dt}`).style.display = "none"; } if (optionsWrapper && (result.dimensions[dt] || []).length > 0) { filtersWrapper.querySelector(`.select-${dt}`).style.display = ""; optionsWrapper.innerHTML = ""; result.dimensions[dt].forEach((d) => { const option = filterOptionTemplate.cloneNode(true); option.querySelector(".pf-label").textContent = d.label; option.querySelector(".pf-checkbox").name = d.value; option.querySelector(".pf-checkbox").dataset.label = d.label; option.style.display = ""; option.querySelector(".pf-checkbox").addEventListener("change", (event) => { const currentTypeCheckedValues = window.pfResourceCenterParams?.[sectionNodeId]?.[dt] || []; const newCurrentTypeCheckedValues = event.target.checked ? [...currentTypeCheckedValues, d.value] : currentTypeCheckedValues.filter(x => x !== d.value); const newCheckedDimensions = [ ...dimensionTypes.map((type) => { if (type !== dt) return window.pfResourceCenterParams?.[sectionNodeId]?.[type]; }), newCurrentTypeCheckedValues ].filter(x => x); const newParams = { [dt]: newCurrentTypeCheckedValues, dimensions: newCheckedDimensions, page: 1 }; if (isContentPage) { pfGetContentPageContents({ sectionNodeId, updateParams: newParams }); } else { pfGetContents({ sectionNodeId, updateParams: newParams }); } }); optionsWrapper.appendChild(option); }); } }); window.document.dispatchEvent(new CustomEvent('pfFiltersRendered', { detail: sectionNodeId })); }); } </script> <script> async function pfGetContentPageContents({ isLoadMore = false, sectionNodeId, initialLimit, pageAfterInitialLimit, updateParams = {}}) { const urlParams = new URLSearchParams(window.location.search); const filterParams = ["topics", "languages", "personas", "business_units", "industries", "products", "solutions", "content_types", "funnel_stages", ...customCategoryKeys]; filterParams.forEach((p) => urlParams.delete(p)); const templatedExperienceId = "8765"; const contentSource = "experience"; const segmentGroupId = ""; const landingPageId = urlParams.get("pflpid"); const lpSectionNodeId = urlParams.get("pfsid"); const contents = Array.from(document.querySelectorAll(`.section-${sectionNodeId} .pf-content-card`)); const contentUuids = contents.map((c) => c.dataset.uuid).filter((x) => x); const api_url = `${jukeboxApiHost}/api/public/v3/get_contents/?${urlParams.toString()}`; const initialParams = { sort: "", page: 1, search: "", dimensions: [], languages: [], content_types: [] }; const newParams = { ...(window.pfResourceCenterParams?.[sectionNodeId] || initialParams), ...updateParams }; window.pfResourceCenterParams = { ...(window.pfResourceCenterParams || {}), [sectionNodeId]: newParams }; const body = { ...newParams, templatedExperienceId, contentSource, landingPageId, sectionNodeId: lpSectionNodeId, clientId, baseUrl: "https://pf.content.nokia.com", visitorUuid: pfGetCookie("vid"), sessionId: (pfGetCookie(/_pf_id.+/) || "").split(".")[5], segmentGroupId, isContentPage: true, loadedContentUuids: newParams.page === 1 ? [] : contentUuids }; if (!isLoadMore && initialLimit) { body.limit = initialLimit; } const response = await fetch(api_url, { method: "POST", headers: { "Content-Type": "application/json" }, body: JSON.stringify(body) }); const result = await response.json(); window.pfResourceCenterParams[sectionNodeId] = { ...window.pfResourceCenterParams[sectionNodeId], totalContents: result.totalContents }; if (!isLoadMore && pageAfterInitialLimit) { window.pfResourceCenterParams[sectionNodeId].page = pageAfterInitialLimit; } window.document.dispatchEvent(new CustomEvent('pageMetadataUpdated', { detail: sectionNodeId })); // The following will handle desktop and mobile content lists const contentListWrappers = document.querySelectorAll(".pf-cards-wrapper"); contentListWrappers.forEach((contentListWrapper) => { const contentCardTemplate = contentListWrapper.querySelector(".pf-content-card.template"); const loadMoreButton = contentListWrapper.querySelector(".pf-load-more"); if (!contentCardTemplate) return; if (!isLoadMore) { contentListWrapper.innerHTML = ""; contentCardTemplate.style.display = "none"; contentListWrapper.appendChild(contentCardTemplate); const noResultsMessages = document.querySelectorAll(".pf-no-results"); if ((result.contents || []).length === 0) { noResultsMessages.forEach((noResultsMessage) => { noResultsMessage.style.display = "block"; }); } else { noResultsMessages.forEach((noResultsMessage) => { noResultsMessage.style.display = "none"; }); } }; (result.contents || []).forEach((c) => { const contentCard = contentCardTemplate.cloneNode(true); const thumbnail = contentCard.querySelector(".pf-content-card-thumbnail"); const pinnedTag = contentCard.querySelector(".pf-pinned-content-tag"); const tagTemplate = contentCard.querySelector(".pf-content-tag"); contentCard.dataset.uuid = c.uuid; contentCard.classList.remove("template"); contentCard.querySelector(".pf-content-card-title").textContent = c.title; if (thumbnail) { thumbnail.src = c.thumbnail; } contentCard.querySelector(".pf-content-card-link").href = c.url; contentCard.querySelector(".pf-content-card-link").onclick = () => { window['initializeContentEvents'] && typeof window['initializeContentEvents'] === 'function' && window['initializeContentEvents']('contentClick', {contentId: c.id}); }; if (c.isPinned && pinnedTag) { pinnedTag.style.display = "" } if (tagTemplate) { const enabledTags = (tagTemplate.dataset.enabledContentTags || "").split(",").filter(x => x); if (enabledTags.length > 0) { const tagsWrapper = contentCard.querySelector(".pf-content-tags-wrapper"); enabledTags.forEach((tagType) => { [c[tagType] || []].flat().forEach((tag) => { const newTag = tagTemplate.cloneNode(true); newTag.textContent = tag; newTag.style.display = "block"; tagsWrapper.appendChild(newTag); }); }); } } contentCard.style.display = ""; contentListWrapper.appendChild(contentCard); }); if (loadMoreButton) { contentListWrapper.appendChild(loadMoreButton); // Moves the button back to bottom const totalPages = Math.ceil(window.pfResourceCenterParams[sectionNodeId].totalContents / window.pfResourceCenterParams[sectionNodeId].limit); if (window.pfResourceCenterParams[sectionNodeId].page == totalPages) { loadMoreButton.style.display = "none"; } } pfUpdateCheckedFiltersCount(sectionNodeId); pfUpdateUrlsWithFilterParams(sectionNodeId); }); } </script> <script defer> const pfShowCookieSettingsModal = () => { const cookieSettingsContainer = document.querySelector("#qa-modal-container"); const cookieSettingsModal = document.querySelector("#qa-modal-background"); if (cookieSettingsModal && cookieSettingsContainer) { cookieSettingsModal.style.display = "block"; cookieSettingsContainer.style.display = "block"; const toggle = cookieSettingsContainer.querySelector("#optIn-checkbox"); toggle.checked = pfConsentStatus(); } }; </script> <script defer> document.addEventListener("click", (event) => { document.querySelectorAll(".select-container").forEach((select) => { if (!select.contains(event.target)) { select.querySelector(".dropdown-list").classList.add("hidden"); } }); }); const convertToQueryParams = (paramObject) => { const keys = Object.keys(paramObject); const keyValuePairs = keys.filter(k => paramObject[k].length).map(key => { return key + '=' + paramObject[key]; }); return keyValuePairs.join('&'); } const reconstructUrl = (newFilterQueryParams) => { const isContentPage = false; if (isContentPage) { const allowedFilters = ["topics", "languages", "personas", "business_units", "industries", "products", "solutions", "content_types", "funnel_stages", "current_page", ...customCategoryKeys]; const allParams = new URLSearchParams(window.location.search); const allParamsAsObject = Object.fromEntries(allParams); const nonFilterParams = Object.keys(allParamsAsObject). filter((key) => !allowedFilters.includes(key)). reduce((cur, key) => { return Object.assign(cur, { [key]: allParamsAsObject[key] })}, {}); const nonFilterQueryParams = convertToQueryParams(nonFilterParams); const currentUrl = window.location.href; const path = currentUrl.substring(0, currentUrl.indexOf('?')); history.replaceState({}, "", `${path}?${nonFilterQueryParams}&${newFilterQueryParams}`); const allContentLinks = document.querySelectorAll(".assets-content-page a"); for (let i = 0; i < allContentLinks.length; i++) { const contentUrl = allContentLinks[i].href.split("?")[0]; allContentLinks[i].href = (`${contentUrl}?${nonFilterQueryParams}&${newFilterQueryParams}`.replace("&lb-mode=overlay", "")); } } }; function handleFilterChange(nodeId) { const isDeviceMobile = window.innerWidth <= 640; const isDeviceTablet = window.innerWidth <= 1024; const mobileFilters = document.querySelector(`.section-${nodeId} .mobile-filters-container`); const mobileFiltersVisible = mobileFilters && window.getComputedStyle(mobileFilters).display !== "none"; const filters = mobileFiltersVisible ? mobileFilters : document.querySelector(`.section-${nodeId} .filters-container`); const search = document.querySelector(`#search-${nodeId}`)?.value?.toLowerCase() || ""; const selectedTopics = filters.querySelector(".select-topics")?.value || []; const selectedLanguages = filters.querySelector(".select-languages")?.value || []; const selectedPersonas = filters.querySelector(".select-personas")?.value || []; const selectedBusinessUnits = filters.querySelector(".select-business_units")?.value || []; const selectedIndustries = filters.querySelector(".select-industries")?.value || []; const selectedProducts = filters.querySelector(".select-products")?.value || []; const selectedSolutions = filters.querySelector(".select-solutions")?.value || []; const selectedContentTypes = filters.querySelector(".select-content_types")?.value || []; const selectedFunnelStages = filters.querySelector(".select-funnel_stages")?.value || []; const filterObj = { topics: selectedTopics, languages: selectedLanguages, personas: selectedPersonas, business_units: selectedBusinessUnits, industries: selectedIndustries, products: selectedProducts, solutions: selectedSolutions, content_types: selectedContentTypes, funnel_stages: selectedFunnelStages }; const carouselArrow = document.querySelector(`.carousel-arrows-${nodeId}`); const carouselSection = document.querySelector(`.carousel-${nodeId}`); const configuredTilesPerRow = carouselSection ? carouselSection?.dataset?.tilesPerRow : ""; const tabletTilesPerRow = configuredTilesPerRow === "1" ? "1" : "2"; const tilesPerRow = Number(isDeviceMobile ? "1" : (isDeviceTablet ? tabletTilesPerRow : configuredTilesPerRow)); customCategories.forEach(filter => { const className = `.select-${filter.value}`; const selectedValue = filters.querySelector(className)?.value || [] filterObj[filter.value] = selectedValue; }) const newQueryString = convertToQueryParams(filterObj); reconstructUrl(newQueryString); window.assets = window.assets || {}; if (!window.assets[`asset-${nodeId}`]) { window.assets[`asset-${nodeId}`] = document.querySelectorAll(`.assets-${nodeId} > .asset`); } const matches = Array.from(window.assets[`asset-${nodeId}`]).filter((asset) => { const topicMatches = selectedTopics.length == 0 || selectedTopics.findIndex((topic) => asset.dataset.topics.includes(topic)) > -1; const searchMatches = asset.dataset.title.toLowerCase().includes(search) || !search; const languageMatches = selectedLanguages.length == 0 || selectedLanguages.findIndex((language) => asset.dataset.language.includes(language)) > -1; const personaMatches = selectedPersonas.length == 0 || selectedPersonas.findIndex((persona) => asset.dataset.personas.includes(persona)) > -1; const businessUnitMatches = selectedBusinessUnits.length == 0 || selectedBusinessUnits.findIndex((value) => asset.dataset.businessUnits.includes(value)) > -1; const industryMatches = selectedIndustries.length == 0 || selectedIndustries.findIndex((value) => asset.dataset.industries.includes(value)) > -1; const productMatches = selectedProducts.length == 0 || selectedProducts.findIndex((value) => asset.dataset.products.includes(value)) > -1; const solutionMatches = selectedSolutions.length == 0 || selectedSolutions.findIndex((value) => asset.dataset.solutions.includes(value)) > -1; const contentTypeMatches = selectedContentTypes.length == 0 || selectedContentTypes.findIndex((value) => asset.dataset.contentType.includes(value)) > -1; const funnelStageMatches = selectedFunnelStages.length == 0 || selectedFunnelStages.findIndex((value) => asset.dataset.funnelStages.includes(value)) > -1; const customCategoriesMatches = customCategories.every(category => { const customFilter = category.value; if (filterObj[customFilter].length === 0) return true; const dataSetKey = "data-" + customFilter.replaceAll("_", "-") return filterObj[customFilter].some(value => asset.getAttribute(dataSetKey)?.includes(value)); }); const isPinned = asset.dataset.isPinned == "true"; const assetMatchesAllFilters = isPinned || ( topicMatches && searchMatches && languageMatches && personaMatches && businessUnitMatches && industryMatches && productMatches && solutionMatches && contentTypeMatches && funnelStageMatches && customCategoriesMatches ); if (assetMatchesAllFilters) { asset.style.display = ""; } else { asset.style.display = "none"; } return assetMatchesAllFilters; }); if (matches.length === 0) { document.querySelectorAll(`.section-${nodeId} .no-results`).forEach((noResultsMessage) => { noResultsMessage.classList.remove("hidden"); }); } else { document.querySelectorAll(`.section-${nodeId} .no-results`).forEach((noResultsMessage) => { noResultsMessage.classList.add("hidden"); }); } const updatedAssets = document.createDocumentFragment(); const bulletsContainer = document.querySelector(`.carousel-${nodeId} .glide__bullets`); const showCarouselArrow = matches.length > tilesPerRow; if (bulletsContainer) { const updatedBulletContainer = document.createDocumentFragment(); bulletsContainer.innerHTML = ''; matches.forEach((asset, index) => { updatedAssets.appendChild(matches[index]); const i = index + 1; if (tilesPerRow) { const remainder = (i + tilesPerRow) % tilesPerRow; const buttonElement = document.createElement('button'); buttonElement.className = `glide__bullet ${!(remainder == 1 || tilesPerRow == 1) && 'glide__bullet--between'}`; buttonElement.setAttribute('data-glide-dir', `=${i-1}`); buttonElement.setAttribute('aria-label', `scroll to content ${i}`); updatedBulletContainer.appendChild(buttonElement); } }); const carouselContainer = document.querySelector(`.carousel-${nodeId} .assets-${nodeId}`); if (carouselContainer) { carouselContainer.innerHTML = ''; carouselContainer.appendChild(updatedAssets); } updatedBulletContainer && bulletsContainer.appendChild(updatedBulletContainer); if (window.pfGlides && window.pfGlides[`glide-${nodeId}`]) { const mountAndGo = window.customThrottle(() => { window.pfGlides[`glide-${nodeId}`].destroy(); const carousel = document.querySelector(`.carousel-${nodeId}`); if (carousel) { window.pfGlides[`glide-${nodeId}`] = new Glide(carousel, window.carouselConfiguration ? window.carouselConfiguration[`glide-${nodeId}`] : {}); window.pfGlides[`glide-${nodeId}`].mount(); window.pfGlides[`glide-${nodeId}`].go('=0'); } }, 1000); mountAndGo(); } } function showHideCarouselActions(type) { if (bulletsContainer) { bulletsContainer.style.display = type; } if (carouselArrow?.style) { carouselArrow.style.display = type; } } showHideCarouselActions(showCarouselArrow ? "" : "none"); } </script> <script> (function(j,o,u,r,n,e,y){j["pfObject"]=n;j[n]=j[n]||function(){ (j[n].q=j[n].q||[]).push(arguments)},j[n].l=1*new Date();e=o.createElement(u), y=o.getElementsByTagName(u)[0];e.async=1;e.src=r;y.parentNode.insertBefore(e,y) })(window,document,"script","https://cdn-app.pathfactory.com/libraries/journey/current/journey.js","pf"); pf("create", "LB-3D884D63-10445", { appId: "69b03101-39df-4479-a65b-9b97fc3d9e0f", collectorUrl: "spcollector.pathfactory.com", consentDeclinedCookieLifetimeDays: "1/48", contentId: '839724', contentUuid: "ccc4eda3-7901-4fb6-bb58-d113f6660a57", cookieLifetimeDays: "730", experienceId: '186752', experienceUuid: "f4f48f05-9555-41b5-8903-f20b6f7216a4", gdprCookieConsentEnabled: false, marketingAutomationPlatform: "marketo", landingPageContentUuid: "", jukeboxApiHost: "https://jukebox.pathfactory.com", collectionUuid: "", childTrackExperienceUuid: "", enableDemandBase: false, enableNvidiaNcidCookie: false, baseUrl: "https://pf.content.nokia.com", segmentGroupId: "", enableSixSense: true, sixSenseApiKey: "", sixSenseCustomIdToken: "PathFactory-98f3a68e5a5be89d0185081bb37fedbd3ba9dd82", sixSenseCacheDuration: "86400", requestIp: "8.222.208.146", }); </script> <script> const elementInView = (elem) => { if (!elem) { return; } var bounding = elem.getBoundingClientRect(); return ( bounding.top >= 0 && bounding.left >= 0 && bounding.bottom <= (window.innerHeight || document.documentElement.clientHeight) && bounding.right <= (window.innerWidth || document.documentElement.clientWidth) ); }; window.customThrottle = (cb, delay) => { let wait = false; let storedArgs = null; const checkStoredArgs = () => { if (storedArgs == null) { wait = false; } else { cb(...storedArgs); storedArgs = null; setTimeout(checkStoredArgs, delay); } }; return (...args) => { if (wait) { storedArgs = args; return; } cb(...args); wait = true; setTimeout(checkStoredArgs, delay); }; }; </script> <script> window.viewedEmbedForms = []; const embedFormLoaded = (retryCount, formId, formType) => { setTimeout(() => { if (window["showForm"] && typeof window["showForm"] === "function") { window.showForm({ formType: formType, formData: { value: formId } }); } else if (retryCount < 5) { retryCount++; embedFormLoaded(retryCount, formId, formType); } }, 500); }; const initEmbedFormShow = (formId, formType, nodeId) => { const scrollElementToView = () => { if (window.viewedEmbedForms && !window.viewedEmbedForms.includes(nodeId)) { const embedFormView = elementInView && elementInView(document.querySelector(`.embed-form-section-${nodeId} .embed-form-container`)); if (embedFormView) { embedFormLoaded && embedFormLoaded(0, formId, formType); window.viewedEmbedForms.push(nodeId); } } } if (window.customThrottle) { document.addEventListener("scroll", window.customThrottle(scrollElementToView, 1000)); } } </script> <script> window.getPFContact = function() { var api_host = "https://pf.content.nokia.com"; return fetch(`${api_host}/get_contact`); }; </script> <script defer> function handleOverlay(retries = 0) { var nextRetryCount = retries + 1; var rawOverlayUrl = window.location.search.substring(1).split("&").filter(function(query) { return query.indexOf("overlay_url=") == 0 })[0] var overlayUrl = rawOverlayUrl ? decodeURIComponent(rawOverlayUrl.replace("overlay_url=", "")) : null; var overlayContentLink = document.querySelector(`a[data-lookbook-overlay-href^="${overlayUrl}"]`); if (overlayUrl && overlayContentLink) { overlayContentLink.click() } else if (overlayUrl) { var a = document.createElement('a'); a.setAttribute("data-lookbook-overlay-href", overlayUrl) a.href = overlayUrl; a.style.display = "hidden"; window.onload = function() { document.body.appendChild(a); a.click(); } } else if (retries <= 10) { setTimeout(function() { handleOverlay(nextRetryCount) }, 500); } }; handleOverlay(); </script> <style> .glide__arrow { color: rgba(25, 25, 25, 0.5); height: 100%; top: 40%; border: none; box-shadow: none; } .glide__arrow--left { left: -40px; } .glide__arrow--right { right: -40px; } .glide__bullets { bottom: 0; } .glide__bullet { width: 15px; height: 15px; background-color: rgba(125, 125, 125, 0.5); } .glide__bullet--active { background-color: #005aff; } .glide__bullet:hover, .glide__bullet:focus { background-color: #005aff; } .glide__bullet--between { display: none; } .glide__bullet--between.glide__bullet--active { display: block; position: relative; left: -23px; margin-right: -19px; } </style> <style> [un-cloak] { display: none; } #content-page { height: 100vh; } .video-js { width: 100%; height: 100% } </style> <style> .pf-full-width-rte .pf-rte-wrapper { width: 100%; } .pf-rte-wrapper ul, .pf-rte-wrapper ol { list-style: revert; list-style-position: inside; margin: revert; padding: revert; } .pf-rte-wrapper menu { list-style: revert !important; margin: revert !important; padding: revert !important; } .pf-rte-wrapper ul p, .pf-rte-wrapper ol p { display: inline; } </style> <style> .pf-aem-fragment .container { max-width: none; } </style> <style> html { scroll-behavior: smooth; } </style> <style> .lookbook-overlay { z-index: 10000000; } </style> <style> body:has(div[class*='pf-modal'][style*='display: block']) { overflow: hidden; } </style> <style> .pf-ai-response ul { list-style: revert; margin: revert; padding: revert; } </style> <link href="//fonts.googleapis.com/css?family=Raleway:300,400,500,600,700|Roboto:300,400,500,700|Lato:300,400,700" media="screen" rel="stylesheet" type="text/css" /> <style> @font-face { font-family: Nokia Pure Headline Bold; src: url('https://app.cdn.lookbookhq.com/lbhq-production/2/fonts/6a81c983-8c18-4a59-9280-9d4557a0299d.ttf') format('truetype'); } @font-face { font-family: Nokia Pure Headline Extra Bold; src: url('https://app.cdn.lookbookhq.com/lbhq-production/2/fonts/34340831-44a2-4765-822c-fc26078bf0d6.ttf') format('truetype'); } @font-face { font-family: Nokia Pure Headline Light; src: url('https://app.cdn.lookbookhq.com/lbhq-production/2/fonts/430ff6e6-d31a-43ab-a575-270489bd7e6c.ttf') format('truetype'); } @font-face { font-family: Nokia Pure Headline Regular; src: url('https://app.cdn.lookbookhq.com/lbhq-production/2/fonts/188751a6-fc2d-4405-b956-f8c7e442bacb.ttf') format('truetype'); } @font-face { font-family: Nokia Pure Headline Ultra light; src: url('https://app.cdn.lookbookhq.com/lbhq-production/2/fonts/57d2ec2a-97a4-42f3-939f-66bef834dce0.ttf') format('truetype'); } @font-face { font-family: Nokia Pure Symbols; src: url('https://app.cdn.lookbookhq.com/lbhq-production/2/fonts/7c76009c-aeab-45ee-82eb-62e8181723ba.ttf') format('truetype'); } @font-face { font-family: Nokia Pure Text Bold; src: url('https://app.cdn.lookbookhq.com/lbhq-production/2/fonts/7576f0e2-008e-4eb6-84ac-dafa25808ddf.ttf') format('truetype'); } @font-face { font-family: Nokia Pure Text Light; src: url('https://app.cdn.lookbookhq.com/lbhq-production/2/fonts/6b371443-fe7a-43fd-aaf6-903ce3f8e373.ttf') format('truetype'); } @font-face { font-family: Nokia Pure Text Medium; src: url('https://app.cdn.lookbookhq.com/lbhq-production/2/fonts/172f8679-4fa4-4f2e-8346-ffeb92dfba0e.ttf') format('truetype'); } @font-face { font-family: Nokia Pure Text Regular; src: url('https://app.cdn.lookbookhq.com/lbhq-production/2/fonts/4b948c55-762e-41b5-a921-2551ff34e74e.ttf') format('truetype'); } @font-face { font-family: ANokiaPureTextHeadline; src: url('https://cdn.pathfactory.com/assets/2/fonts/eeff6730-97fc-4163-af17-34886aa84050.ttf') format('truetype'); }</style> <style>.pf_font_preset_0 { font-size: 36pt; font-weight: bold; font-family: inherit; line-height: ; } .pf_font_preset_1 { font-size: 24pt; font-weight: bold; font-family: inherit; line-height: ; } .pf_font_preset_2 { font-size: 24pt; font-weight: normal; font-family: inherit; line-height: ; } .pf_font_preset_3 { font-size: 20pt; font-weight: bold; font-family: inherit; line-height: ; } .pf_font_preset_4 { font-size: 20pt; font-weight: normal; font-family: inherit; line-height: ; } .pf_font_preset_5 { font-size: 18pt; font-weight: normal; font-family: inherit; line-height: ; } .pf_font_preset_6 { font-size: 14pt; font-weight: normal; font-family: inherit; line-height: ; } .pf_font_preset_7 { font-size: 12pt; font-weight: normal; font-family: inherit; line-height: ; } @media (max-width: 640px) { .pf_font_preset_0 { font-size: ; line-height: ; } .pf_font_preset_1 { font-size: ; line-height: ; } .pf_font_preset_2 { font-size: ; line-height: ; } .pf_font_preset_3 { font-size: ; line-height: ; } .pf_font_preset_4 { font-size: ; line-height: ; } .pf_font_preset_5 { font-size: ; line-height: ; } .pf_font_preset_6 { font-size: ; line-height: ; } .pf_font_preset_7 { font-size: ; line-height: ; } }</style> <style> ul.ozmenu-nav > li:hover{ background:#75757599; border-radius:4px; } ul.ozmenu-nav > li > a:hover{ --un-brightness:1!important; border-radius: 4px; } .section-sXEmqqh0Oe{ position:absolute!important; width:100%; background:transparent!important; } #header-header + div > div > nav > div > div + div > div + div > div > div + ul > .item > a { color:#151515!important; } #header-header + div > div > nav > div > div + div > div + div > div > div + ul > .dropdownitem > div > ul > .item > a{ color:#151515!important; } #header-header + div > div > nav > div > div + div > div + div > div > div + ul > .dropdownitem > div > ul{ background:#fff!important; } #header-header + div > div > nav > div > div + div > div + .ozmenu.active > div{ background:#151515!important; } #header-sXEmqqh0Oe + div > div > nav > div > div + div > div + .ozmenu.active > div > ul{ background:#75757506!important; } #header-sXEmqqh0Oe + div > div > nav > div > div + div > div + .ozmenu.active{ background:#151515!important; } #explainer-header + div > div > nav > div > div + div > div + .ozmenu.active > div > ul{ background:#151515!important; } #explainer-header + div > div > nav > div > div + div > div + .ozmenu.active{ background:#151515!important; } li.asset > a > div { margin-bottom:0.25rem; } div.asset > a > div { margin-bottom:0.25rem; } .asset:hover { /* background:#75757599; */ border-radius:10px; padding-top:10px; transition: .1s ease-in-out; } .glide__arrow > i{ color: white!important; } </style> <script src="https://cdnjs.cloudflare.com/ajax/libs/arrive/2.4.1/arrive.min.js" integrity="sha512-wkU3qYWjenbM+t2cmvw2ADRRh4opbOYBjkhrPGHV7M6dcE/TR0oKpoDkWXfUs3HrulI2JFuTQyqPLRih1V54EQ==" crossorigin="anonymous" referrerpolicy="no-referrer"></script> <script> document.arrive(".pf-cta", function() { // Check if a video already exists if (!this.querySelector('.button-video-back')) { // Create a new video element var vid = document.createElement('video'); // Set video attributes vid.src = "https://pathfactory-resources.com/MH/nokia-button-background.mp4"; vid.autoplay = true; vid.muted = true; // Set the muted property vid.setAttribute('muted', ''); // Add muted attribute vid.loop = true; vid.controls = false; vid.classList.add("button-video-back"); // Append the video to the current '.pf-cta' element this.appendChild(vid); // Use 'this' to refer to the current '.pf-cta' // Wrap the inner text in a <span> var text = this.innerText; this.innerHTML = `<span>${text}</span>` + this.innerHTML.split(text)[1]; setTimeout(() => { vid.play().catch(error => { console.error("Error attempting to play:", error); }); }, 50); // Short delay } }); </script> <style> .button-video-back{ position: absolute; top: 0; left: 0; width: 100%; height: 100%; object-fit: cover; z-index: 1; opacity:0; border-radius:6px; } .pf-cta:hover .button-video-back{ opacity:1; } .pf-cta{ position:relative!important; border:none!important; } .pf-cta:hover{ background:(0,0,0,0); } .pf-cta > span{ z-index:200; position: relative; } </style><!-- Google Tag Manager --> <script> if(!document.location.href.includes("EkXxdR")){ (function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start': new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0], j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src= 'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f); })(window,document,'script','dataLayer','GTM-MBL8DDM'); } else if(document.location.href.includes("EkXxdR")){ (function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start': new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0], j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src= 'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f); })(window,document,'script','dataLayer','GTM-5T46HL3Q'); } </script> <!-- End Google Tag Manager --> <style> @media (max-width: 768px) { #download{ display: none; } } </style><style> #qa-sidebar-featured-tag{ background: #005aff; } </style> </head> <body un-cloak class="mb-[0px]"> <style> body{ background-image:url('https://cdn.pathfactory.com/assets/10445/thumbnails/972008/99e71dc5-3487-4561-9d3b-10f91047a1e6.jpg'); background-position:center; background-size:cover; } section{ background:none!important; } .asset:hover { background:#75757599; border-radius:10px; padding-top:10px; transition: .1s ease-in-out; } </style><!-- Google Tag Manager (noscript) --> <noscript><iframe src="https://www.googletagmanager.com/ns.html?id=GTM-MBL8DDM" height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript> <!-- End Google Tag Manager (noscript) --> <section data-pf-theme-artefact-id="header" data-pf-theme-artefact-file-id="bc492883-355f-4fb3-b992-3dacc17a36bf" data-pf-theme-artefact-filename="header" data-pf-theme-block-id="sXEmqqh0Oe" data-pf-theme-block-type="section" data-pf-theme-block-pos="0" data-pf-theme-block-ref="header" id="" class="section-display relative section-sXEmqqh0Oe pf-header pf-header-background-color z-10000 py-0 section-padding bg-[#fffff0] " x-data="{ open: false }" > <div id="header-sXEmqqh0Oe"></div> <div class="section-base w-full relative"> <div class="relative iframe-hide"> <nav class="flex justify-between h-20"> <div class="flex items-center justify-between w-full"> <div class="flex flex-wrap"> <a class="flex items-center max-w-max" href="https://www.nokia.com/" > <img id="pf-header-company-logo" alt="Logo" class="h-10 mr-3 object-cover" src="https://cdn.pathfactory.com/assets/10445/thumbnails/971072/7412ea9a-ef50-4f4a-922b-3b73bc98f6dd.png" > <span id="pf-header-company-name" class="self-center text-lg hidden md:block font-semibold whitespace-nowrap "> </span> </a> </div> <div class="block grow mx-4"> <div class="menu-open"> <button class="self-center navbar-burger lg:hidden" aria-label="open menu"> <svg fill="none" height="35" viewbox="0 0 32 32" width="35" xmlns="http://www.w3.org/2000/svg"> <rect class="text-gray-50" fill="currentColor" height="32" rx="6" width="32"></rect> <path class="text-gray-500" d="M7 12H25C25.2652 12 25.5196 11.8946 25.7071 11.7071C25.8946 11.5196 26 11.2652 26 11C26 10.7348 25.8946 10.4804 25.7071 10.2929C25.5196 10.1054 25.2652 10 25 10H7C6.73478 10 6.48043 10.1054 6.29289 10.2929C6.10536 10.4804 6 10.7348 6 11C6 11.2652 6.10536 11.5196 6.29289 11.7071C6.48043 11.8946 6.73478 12 7 12ZM25 15H7C6.73478 15 6.48043 15.1054 6.29289 15.2929C6.10536 15.4804 6 15.7348 6 16C6 16.2652 6.10536 16.5196 6.29289 16.7071C6.48043 16.8946 6.73478 17 7 17H25C25.2652 17 25.5196 16.8946 25.7071 16.7071C25.8946 16.5196 26 16.2652 26 16C26 15.7348 25.8946 15.4804 25.7071 15.2929C25.5196 15.1054 25.2652 15 25 15ZM25 20H7C6.73478 20 6.48043 20.1054 6.29289 20.2929C6.10536 20.4804 6 20.7348 6 21C6 21.2652 6.10536 21.5196 6.29289 21.7071C6.48043 21.8946 6.73478 22 7 22H25C25.2652 22 25.5196 21.8946 25.7071 21.7071C25.8946 21.5196 26 21.2652 26 21C26 20.7348 25.8946 20.4804 25.7071 20.2929C25.5196 20.1054 25.2652 20 25 20Z" fill="currentColor"></path> </svg> </button> </div> <div class="ozmenu"> <div> <div class="menu-close"> <a class="absolute p-4 navbar-close top-5 right-3" href="#"> <svg fill="none" height="12" viewbox="0 0 12 12" width="12" xmlns="http://www.w3.org/2000/svg"> <path d="M6.94004 6L11.14 1.80667C11.2656 1.68113 11.3361 1.51087 11.3361 1.33333C11.3361 1.1558 11.2656 0.985537 11.14 0.860002C11.0145 0.734466 10.8442 0.66394 10.6667 0.66394C10.4892 0.66394 10.3189 0.734466 10.1934 0.860002L6.00004 5.06L1.80671 0.860002C1.68117 0.734466 1.51091 0.663941 1.33337 0.663941C1.15584 0.663941 0.985576 0.734466 0.860041 0.860002C0.734505 0.985537 0.66398 1.1558 0.66398 1.33333C0.66398 1.51087 0.734505 1.68113 0.860041 1.80667L5.06004 6L0.860041 10.1933C0.797555 10.2553 0.747959 10.329 0.714113 10.4103C0.680267 10.4915 0.662842 10.5787 0.662842 10.6667C0.662842 10.7547 0.680267 10.8418 0.714113 10.9231C0.747959 11.0043 0.797555 11.078 0.860041 11.14C0.922016 11.2025 0.99575 11.2521 1.07699 11.2859C1.15823 11.3198 1.24537 11.3372 1.33337 11.3372C1.42138 11.3372 1.50852 11.3198 1.58976 11.2859C1.671 11.2521 1.74473 11.2025 1.80671 11.14L6.00004 6.94L10.1934 11.14C10.2554 11.2025 10.3291 11.2521 10.4103 11.2859C10.4916 11.3198 10.5787 11.3372 10.6667 11.3372C10.7547 11.3372 10.8419 11.3198 10.9231 11.2859C11.0043 11.2521 11.0781 11.2025 11.14 11.14C11.2025 11.078 11.2521 11.0043 11.286 10.9231C11.3198 10.8418 11.3372 10.7547 11.3372 10.6667C11.3372 10.5787 11.3198 10.4915 11.286 10.4103C11.2521 10.329 11.2025 10.2553 11.14 10.1933L6.94004 6Z" fill="#556987"> </path> </svg> </a> </div> <ul class="flex justify-center pf_font_preset_7 gap-8 ozmenu-nav"> <li class="item"> <a id="header-link-Home" class="font-medium text-[#ffffff] hover:brightness-70 "> <span class="cursor-pointer px-2 mh-test" onclick="window.location.href='https://pf.content.nokia.com/the-game-is-afoot/home'; event.preventDefault()">Home</span> </a> </li> <li class="item"> <a id="header-link-Take the quiz" class="font-medium text-[#ffffff] hover:brightness-70 "> <span class="cursor-pointer px-2 mh-test" onclick="window.location.href='https://pf.content.nokia.com/the-game-is-afoot/quiz'; event.preventDefault()">Take the quiz</span> </a> </li> <li class="item"> <a id="header-link-Explainer videos" class="font-medium text-[#ffffff] hover:brightness-70 "> <span class="cursor-pointer px-2 mh-test" onclick="window.location.href='https://pf.content.nokia.com/the-game-is-afoot/explainer-videos'; event.preventDefault()">Explainer videos</span> </a> </li> <li class="item dropdownitem"> <a id="header-link-Nokia solutions to save the day" class="font-medium text-[#ffffff] hover:brightness-70 nav-dropdown"> <span class="cursor-pointer px-2 mh-test" onclick="window.location.href=''; event.preventDefault()">Nokia solutions to save the day</span> </a> <div class="dropdown w-full lg:max-w-max"> <ul class="lg:bg-[#75757599] w-full lg:max-w-max"> <li class="item"> <a id="header-link-Autonomous Networks" class="font-medium text-[#ffffff] hover:brightness-70 "> <span class="cursor-pointer px-2 mh-test" onclick="window.open('https://www.nokia.com/networks/autonomous-networks'); event.preventDefault()" > Autonomous Networks </span> </a> </li> <li class="item"> <a id="header-link-Cybersecurity" class="font-medium text-[#ffffff] hover:brightness-70 "> <span class="cursor-pointer px-2 mh-test" onclick="window.open('https://www.nokia.com/networks/cybersecurity/'); event.preventDefault()" > Cybersecurity </span> </a> </li> <li class="item"> <a id="header-link-Digital Operations" class="font-medium text-[#ffffff] hover:brightness-70 "> <span class="cursor-pointer px-2 mh-test" onclick="window.open('https://www.nokia.com/networks/bss-oss/digital-operations-center/'); event.preventDefault()" > Digital Operations </span> </a> </li> <li class="item"> <a id="header-link-AI and Analytics" class="font-medium text-[#ffffff] hover:brightness-70 "> <span class="cursor-pointer px-2 mh-test" onclick="window.open('https://www.nokia.com/networks/ai-and-analytics/'); event.preventDefault()" > AI and Analytics </span> </a> </li> <li class="item"> <a id="header-link-Software-as-a-Service" class="font-medium text-[#ffffff] hover:brightness-70 "> <span class="cursor-pointer px-2 mh-test" onclick="window.open('https://www.nokia.com/networks/as-a-service/saas/'); event.preventDefault()" > Software-as-a-Service </span> </a> </li> </ul> </div> </li> </ul> </div> </div> </div> <div class="hidden lg:block"> <div class="flex items-center justify-end"> </div> </div> </div> </nav> </div> </div> </section> <section data-pf-theme-artefact-id="3_section_combo" data-pf-theme-artefact-file-id="e28ac0cd-4e66-47ce-b7d3-1c20565dc327" data-pf-theme-artefact-filename="3_section_combo" data-pf-theme-block-id="BLJsmNp95Z" data-pf-theme-block-type="section" data-pf-theme-block-pos="1" data-pf-theme-block-ref="hero" class=" bg-[url('https://cdn.pathfactory.com/assets/10445/thumbnails/972008/99e71dc5-3487-4561-9d3b-10f91047a1e6.jpg')] bg-cover bg-center bg-no-repeat opacity-100 "> <style> .pf-hero-in-combo::before, .pf-content-list-in-combo::before{ background-image:none!important; } .pf-hero-in-combo{ top:80px; } </style> <section id="hero-BLJsmNp95Z" class="section-display relative section-BLJsmNp95Z pf-hero-in-combo section-padding before:bg-[url('https://cdn.pathfactory.com/assets/10445/heroes/953929/67d74063-3f3d-4784-ba00-4fc18ea482ba.jpg')] before:bg-cover before:bg-center before:opacity- before:w-full before:h-full before:absolute before:top-0 before:left-0 " > <div id="3_section_combo-BLJsmNp95Z"></div> <div class="section-base w-full relative"> <div class="flex flex-col -mx-4 md:flex-row xl:items-center" style="align-items: stretch;"> <div class="flex-1 grow-[2] px-4 mb-4 md:mb-0 "> <div id="pf-hero-heading" class="mb-4 text-4xl font-bold leading-tight tracking-tight md:text-5xl lg:text-6xl"> <div class="pf-rte-wrapper"><p class=""><strong class=""><span class="" style="font-family: Nokia\ Pure\ Headline\ Light; font-size: 57px; color: rgb(255, 255, 255)">The game is afoot</span></strong></p></div> </div> <div id="pf-hero-subheading" class="mb-8 text-2xl font-light text-gray-700 md:text-2xl"> <div class="pf-rte-wrapper"><p class=""> </p><p class="" style="line-height: 1"><span class="" style="font-family: Nokia\ Pure\ Headline\ Light; font-size: 17px; color: rgb(255, 255, 255)">Three elite telco experts in automation, AI, and security with one mission: </span></p><p class="" style="line-height: 1"><span class="" style="font-family: Nokia\ Pure\ Headline\ Light; font-size: 17px; color: rgb(255, 255, 255)">protect the network at all costs.</span></p><p class=""> </p><p class="" style="line-height: 1"><span class="" style="font-family: Nokia\ Pure\ Headline\ Light; font-size: 17px; color: rgb(255, 255, 255)">Gary, Theo, and Hanna are the last line of defense in a world of chaos, </span></p><p class="" style="line-height: 1"><span class="" style="font-family: Nokia\ Pure\ Headline\ Light; font-size: 17px; color: rgb(255, 255, 255)">where the future of connectivity hangs in the balance.</span></p><p class=""><span class="" style="color: rgb(255, 255, 255)"> </span></p></div> </div> <div class="flex flex-wrap gap-4 justify-start"> <div class="w-full py-1 md:w-auto"> <a class=" btn leading-none btn-lg pf-cta pf_font_preset_6 bg-[#005aff] border-[#005aff] text-[#ffffff] hover:bg-[#7d33f2] focus:ring-[#005aff] rounded-[6px] " href="https://pf.content.nokia.com/t01675-the-game-is-afoot/the-game-is-afoot-ep1" target="_blank" data-pf-theme-artefact-id="cta-link" data-pf-theme-block-id="cta-570186499" data-pf-theme-block-type="component" data-pf-theme-block-ref="cta" data-pf-theme-block-label="Watch Episode 1" aria-label="Watch Episode 1" > Watch Episode 1 </a> </div> </div> </div> <div class="flex-1 px-4"> <div class="w-full mx-auto md:max-w-max"> <img id="pf-hero-image" class="rounded-lg w-[500px] mx-auto object-cover" src="" alt=""> </div> </div> </div> </div> </section> <!------------------------------- Hero Ends ---------------------------------------------------------------------------> <!------------------------------- Content List Starts---------------------------------------------------------------------------> <section id="" class="section-display relative section-BLJsmNp95Z pf-content-list-in-combo section-padding before:bg-[url('https://cdn.pathfactory.com/assets/10445/heroes/953929/67d74063-3f3d-4784-ba00-4fc18ea482ba.jpg')] before:bg-cover before:bg-center before:opacity- before:w-full before:h-full before:absolute before:top-0 before:left-0 " > <div id="3_section_combo-BLJsmNp95Z"></div> <div class="section-base w-full relative"> <div class="flex flex-wrap items-center"> <div class="w-full mb-8"> </div> </div> <div class="flex flex-col sm:flex-row justify-between mb-lg"> <div class="flex justify-between mb-sm sm:mb-[5px]"> </div> </div> <div class="no-results hidden text-xl text-center w-full p-15">No results match the search/filter criteria</div> <div class="carousel-BLJsmNp95Z mx-[40px] sm:mx-[0] w-[calc(100%-80px)] sm:w-full glide" data-carousel-glide-id="glide-BLJsmNp95Z" data-tiles-per-row="3" data-carousel-speed="" data-autoplay="yes" data-autoplay-interval="3" data-gap="0" > <div class="glide__track" data-glide-el="track"> <ul class="glide__slides assets-BLJsmNp95Z"> <li class="asset relative w-full mb-8 sm:w-1/2 lg:w-1/4 glide__slide px-[10px]" style="height: auto;" data-is-pinned="false" data-topics="Digital OperationsNetwork securitySoftware as a serviceAnalytics5G securityCybersecurity" data-title="The game is afoot - Episode 1: Day off" data-language="English" data-personas="" data-business-units="CNS X-Portfolio" data-industries="" data-products="" data-solutions="" data-content-type="Video 3+ min" data-funnel-stages="Top of Funnel" > <a class="block group" href="https://pf.content.nokia.com/the-game-is-afoot/col/t01675-the-game-is-afoot/the-game-is-afoot-ep1?pflpid=28247&pfsid=BLJsmNp95Z" target="_blank" > <img class="object-cover w-full mb-4 border border-gray-200 rounded-md aspect-[16/9]" src="https://cdn.pathfactory.com/assets/10445/thumbnails/973599/1a885b32-9417-4aaa-9647-e14489c2f258.png" alt="" > <div class="inline-block mb-4 text-lg font-bold leading-tight text-gray-800 md:text-xl group-hover:text-gray-500"> <span class="pf_font_preset_7 text-[#ffffff] line-clamp-2">The game is afoot - Episode 1: Day off</span> </div> </a> <div class="pf-content-tag-on-card-wrapper flex flex-col absolute top-[20px] left-0 gap-[8px]" style="display: none;" > <span class=" pf-pinned-content-tag bg-[#005aff] text-[#ffffff] pf_font_preset_7 rounded-[5px] max-w-full break-words px-[10px] py-[5px] " style="display: none;" > Featured <i class="fa fa-star" aria-hidden="true"></i> </span> </div> <div onclick="event.preventDefault()" class="pf-content-tag-below-card-wrapper cursor-default flex flex-wrap gap-[8px]" style="display: none;" > </div> </li> <li class="asset relative w-full mb-8 sm:w-1/2 lg:w-1/4 glide__slide px-[10px]" style="height: auto;" data-is-pinned="false" data-topics="Digital OperationsNetwork securitySoftware as a serviceSecurityAnalytics5G securityCybersecurity" data-title="The game is afoot - Episode 2: Hook, line, sinker" data-language="English" data-personas="" data-business-units="CNS X-Portfolio" data-industries="" data-products="" data-solutions="" data-content-type="Video 3+ min" data-funnel-stages="Top of Funnel" > <a class="block group" href="https://pf.content.nokia.com/the-game-is-afoot/col/t01675-the-game-is-afoot/the-game-is-afoot-ep2?pflpid=28247&pfsid=BLJsmNp95Z" target="_blank" > <img class="object-cover w-full mb-4 border border-gray-200 rounded-md aspect-[16/9]" src="https://cdn.pathfactory.com/assets/10445/thumbnails/973598/025f6b3d-594e-405f-b67f-246b4fe510db.png" alt="" > <div class="inline-block mb-4 text-lg font-bold leading-tight text-gray-800 md:text-xl group-hover:text-gray-500"> <span class="pf_font_preset_7 text-[#ffffff] line-clamp-2">The game is afoot - Episode 2: Hook, line, sinker</span> </div> </a> <div class="pf-content-tag-on-card-wrapper flex flex-col absolute top-[20px] left-0 gap-[8px]" style="display: none;" > <span class=" pf-pinned-content-tag bg-[#005aff] text-[#ffffff] pf_font_preset_7 rounded-[5px] max-w-full break-words px-[10px] py-[5px] " style="display: none;" > Featured <i class="fa fa-star" aria-hidden="true"></i> </span> </div> <div onclick="event.preventDefault()" class="pf-content-tag-below-card-wrapper cursor-default flex flex-wrap gap-[8px]" style="display: none;" > </div> </li> <li class="asset relative w-full mb-8 sm:w-1/2 lg:w-1/4 glide__slide px-[10px]" style="height: auto;" data-is-pinned="false" data-topics="Digital OperationsNetwork securitySoftware as a serviceSecurityAnalytics5G securityCybersecurity" data-title="The game is afoot - Episode 3: Spinning reel" data-language="English" data-personas="" data-business-units="CNS X-Portfolio" data-industries="" data-products="" data-solutions="" data-content-type="Video 3+ min" data-funnel-stages="Top of Funnel" > <a class="block group" href="https://pf.content.nokia.com/the-game-is-afoot/col/t01675-the-game-is-afoot/the-game-is-afoot-ep3?pflpid=28247&pfsid=BLJsmNp95Z" target="_blank" > <img class="object-cover w-full mb-4 border border-gray-200 rounded-md aspect-[16/9]" src="https://cdn.pathfactory.com/assets/10445/thumbnails/973601/7e0c7d3c-557d-4c82-b513-0c85f6ec7305.png" alt="" > <div class="inline-block mb-4 text-lg font-bold leading-tight text-gray-800 md:text-xl group-hover:text-gray-500"> <span class="pf_font_preset_7 text-[#ffffff] line-clamp-2">The game is afoot - Episode 3: Spinning reel</span> </div> </a> <div class="pf-content-tag-on-card-wrapper flex flex-col absolute top-[20px] left-0 gap-[8px]" style="display: none;" > <span class=" pf-pinned-content-tag bg-[#005aff] text-[#ffffff] pf_font_preset_7 rounded-[5px] max-w-full break-words px-[10px] py-[5px] " style="display: none;" > Featured <i class="fa fa-star" aria-hidden="true"></i> </span> </div> <div onclick="event.preventDefault()" class="pf-content-tag-below-card-wrapper cursor-default flex flex-wrap gap-[8px]" style="display: none;" > </div> </li> <li class="asset relative w-full mb-8 sm:w-1/2 lg:w-1/4 glide__slide px-[10px]" style="height: auto;" data-is-pinned="false" data-topics="Digital OperationsNetwork securitySoftware as a serviceSecurityAnalytics5G securityCybersecurity" data-title="The game is afoot - Episode 4: Quantum catch" data-language="English" data-personas="" data-business-units="CNS X-Portfolio" data-industries="" data-products="" data-solutions="" data-content-type="Video 3+ min" data-funnel-stages="Top of Funnel" > <a class="block group" href="https://pf.content.nokia.com/the-game-is-afoot/col/t01675-the-game-is-afoot/the-game-is-afoot-ep4?pflpid=28247&pfsid=BLJsmNp95Z" target="_blank" > <img class="object-cover w-full mb-4 border border-gray-200 rounded-md aspect-[16/9]" src="https://cdn.pathfactory.com/assets/10445/thumbnails/973602/2d5eaf01-c322-4965-8933-cf8c3bc79e7b.png" alt="" > <div class="inline-block mb-4 text-lg font-bold leading-tight text-gray-800 md:text-xl group-hover:text-gray-500"> <span class="pf_font_preset_7 text-[#ffffff] line-clamp-2">The game is afoot - Episode 4: Quantum catch</span> </div> </a> <div class="pf-content-tag-on-card-wrapper flex flex-col absolute top-[20px] left-0 gap-[8px]" style="display: none;" > <span class=" pf-pinned-content-tag bg-[#005aff] text-[#ffffff] pf_font_preset_7 rounded-[5px] max-w-full break-words px-[10px] py-[5px] " style="display: none;" > Featured <i class="fa fa-star" aria-hidden="true"></i> </span> </div> <div onclick="event.preventDefault()" class="pf-content-tag-below-card-wrapper cursor-default flex flex-wrap gap-[8px]" style="display: none;" > </div> </li> </ul> </div> <div class="glide__arrows carousel-arrows-BLJsmNp95Z" data-glide-el="controls"> <button class="h-fit glide__arrow glide__arrow--left" data-glide-dir="<" aria-label="scroll left"><i class="fa-solid fa-2x fa-chevron-left"></i></button> <button class="h-fit glide__arrow glide__arrow--right" data-glide-dir=">" aria-label="scroll right"><i class="fa-solid fa-2x fa-chevron-right"></i></button> </div> <div class="glide__bullets" data-glide-el="controls[nav]"> <button class="glide__bullet" data-glide-dir="=0" aria-label="scroll to content 1"></button> <button class="glide__bullet glide__bullet--between" data-glide-dir="=1" aria-label="scroll to content 2"></button> <button class="glide__bullet glide__bullet--between" data-glide-dir="=2" aria-label="scroll to content 3"></button> <button class="glide__bullet" data-glide-dir="=3" aria-label="scroll to content 4"></button> </div> </div> </div> </section> <!------------------------------- Content List Ends ---------------------------------------------------------------------------> </section> <section data-pf-theme-artefact-id="teams-custom" data-pf-theme-artefact-file-id="49514729-cf9c-4133-832b-846f6fd23a51" data-pf-theme-artefact-filename="teams-custom" data-pf-theme-block-id="BD1G54ZqHx" data-pf-theme-block-type="section" data-pf-theme-block-pos="2" data-pf-theme-block-ref="team" id="pf-team" class="section-display relative section-BD1G54ZqHx pf-team section-padding bg-[#333333] " > <div id="teams-custom-BD1G54ZqHx"></div> <div class="section-base w-full relative"> <div class="pf-team-header-text"> <div class="pf-rte-wrapper"><p class="" style="text-align: left"><span class="" style="font-family: Nokia\ Pure\ Headline\ Light; font-size: 50px; color: rgb(255, 255, 255)">Cast</span></p></div> </div> <style> .pf-team-image{ border-radius:8px!important; } </style> <div class="md:px-50 flex flex-col flex-wrap -mx-4 md:flex-row"> <div class="flex-1 px-4 my-4"> <div class="max-w-xs mx-auto text-center"> <img alt="" class="mx-auto mb-6 rounded-full w-[200px] h-[200px] object-cover pf-team-image" src="https://cdn.pathfactory.com/assets/10445/thumbnails/971094/f07304fc-f8d3-4e6d-9b6c-a36fdd229d81.png" > <div class="pf-team-member"> <div class="pf-rte-wrapper"><p class="" style="text-align: center"><span class="" style="font-family: Nokia\ Pure\ Headline\ Light; font-size: 29px; color: rgb(255, 255, 255)">Gary</span><span class="" style="color: rgb(255, 255, 255)"><br></span><span class="" style="font-family: Nokia\ Pure\ Text\ Light; font-size: 17px; color: rgb(255, 255, 255)">(B谩lint Antal)</span></p><p class="" style="text-align: center"><span class="" style="font-family: Nokia\ Pure\ Text\ Light; font-size: 14px; color: rgb(255, 255, 255)">AI Operations Expert, </span></p><p class="" style="text-align: center"><span class="" style="font-family: Nokia\ Pure\ Text\ Light; font-size: 14px; color: rgb(255, 255, 255)">Nokia</span></p></div> </div> </div> </div> <div class="flex-1 px-4 my-4"> <div class="max-w-xs mx-auto text-center"> <img alt="" class="mx-auto mb-6 rounded-full w-[200px] h-[200px] object-cover pf-team-image" src="https://cdn.pathfactory.com/assets/10445/thumbnails/971095/9cfaa13b-7b03-436b-8c42-064ef8e5b4fb.png" > <div class="pf-team-member"> <div class="pf-rte-wrapper"><p class="" style="text-align: center"><span class="" style="font-family: Nokia\ Pure\ Headline\ Light; font-size: 29px; color: rgb(255, 255, 255)">Theo</span><span class="" style="font-family: Nokia\ Pure\ Headline\ Regular; font-size: 27px; color: rgb(255, 255, 255)"><br></span><span class="" style="font-family: Nokia\ Pure\ Text\ Light; font-size: 17px; color: rgb(255, 255, 255)">(Mikl贸s B谩nyai)</span></p><p class="" style="text-align: center"><span class="" style="font-family: Nokia\ Pure\ Text\ Light; font-size: 14px; color: rgb(255, 255, 255)">Director of Network Operations,</span></p><p class="" style="text-align: center"><span class="" style="font-family: Nokia\ Pure\ Text\ Light; font-size: 14px; color: rgb(255, 255, 255)">Amazing Telco Inc.</span></p></div> </div> </div> </div> <div class="flex-1 px-4 my-4"> <div class="max-w-xs mx-auto text-center"> <img alt="" class="mx-auto mb-6 rounded-full w-[200px] h-[200px] object-cover pf-team-image" src="https://cdn.pathfactory.com/assets/10445/thumbnails/971096/b21b338b-921d-4ef0-838c-0f8697762156.png" > <div class="pf-team-member"> <div class="pf-rte-wrapper"><p class="" style="text-align: center"><span class="" style="font-family: Nokia\ Pure\ Headline\ Light; font-size: 29px; color: rgb(255, 255, 255)">Hanna</span><span class="" style="color: rgb(255, 255, 255)"><br></span><span class="" style="font-family: Nokia\ Pure\ Headline\ Light; font-size: 18px; color: rgb(255, 255, 255)">(Lotti K艖v谩ry)</span></p><p class="" style="text-align: center"><span class="" style="font-family: Nokia\ Pure\ Text\ Light; font-size: 14px; color: rgb(255, 255, 255)">Communication Director,</span></p><p class="" style="text-align: center"><span class="" style="font-family: Nokia\ Pure\ Text\ Light; font-size: 14px; color: rgb(255, 255, 255)">National Cybersecurity Agency</span></p></div> </div> </div> </div> </div> </div> </section> <section data-pf-theme-artefact-id="hero-with-plain-text" data-pf-theme-artefact-file-id="4c969886-0d6a-44f3-a302-56e3cd108b19" data-pf-theme-artefact-filename="hero-with-plain-text" data-pf-theme-block-id="_oW4zHUPbz" data-pf-theme-block-type="section" data-pf-theme-block-pos="3" data-pf-theme-block-ref="hero" id="pf-hero-plain-text" class="section-display relative section-_oW4zHUPbz pf-hero-plain-text px-[0px] sm:px-[0px] py-[0px] sm:py-[80px] bg-[#333333] " > <div id="hero-with-plain-text-_oW4zHUPbz"></div> <div class="section-base w-full relative"> <div class="flex flex-col"> <div class="relative w-full pf_font_preset_0 order-3"> </div> <div class="relative w-full pf_font_preset_2 order-4"> <div class="pf-rte-wrapper"><p class="" style="text-align: center; line-height: 1,5"><span class="" style="font-family: Nokia\ Pure\ Headline\ Light; font-size: 22px; color: rgb(255, 255, 255)">Our solutions can save your day, too. </span><br><span class="" style="font-family: Nokia\ Pure\ Headline\ Light; font-size: 22px; color: rgb(255, 255, 255)">Find out how.</span><br></p></div> </div> <div class="relative flex flex-wrap gap-4 pt-[10px] justify-center order-5"> <div class="w-full py-1 md:w-auto"> <button class="leading-none cta-button-_oW4zHUPbz-cta-585266808 pf-cta pf-cta-form btn btn-lg bg-[#005aff] border-[#005aff] cursor-pointer text-[#ffffff] hover:bg-[#7d33f2] focus:ring-[#005aff] pf_font_preset_6 rounded-[6px]" data-pf-theme-artefact-id="cta-form" data-pf-theme-block-id="cta-585266808" data-pf-theme-block-type="component" data-pf-theme-block-ref="cta" data-pf-theme-block-label="Request a callback" aria-label="Request a callback" > Request a callback </button> <div class="pf-modal modal-_oW4zHUPbz-cta-585266808 max-w-full relative z-[10000]" aria-labelledby="modal-title" role="dialog" aria-modal="true" id="pf-modal" style="display: none;" > <div class="fixed inset-0 bg-gray-500 bg-opacity-75 transition-opacity"></div> <div class="fixed inset-0 z-10 overflow-y-auto"> <div class="flex flex-row min-h-full items-end justify-center p-4 pt-10 sm:items-start"> <div class="modal-content relative max-w-full"> <div class="pf-form w-[440px] max-w-full h-full flex flex-col justify-center items-center bg-[#FFFFFF] bg-[url('')] bg-no-repeat bg-cover bg-center text-[#000000] " data-pf-theme-artefact-id="form-external" data-pf-theme-form-library-id="21512" data-pf-theme-block-id="cta-585266808" data-pf-theme-block-type="component" data-pf-theme-block-ref="form" data-pf-theme-modal-type="" > <iframe sandbox="allow-forms allow-same-origin allow-scripts allow-popups allow-popups-to-escape-sandbox allow-top-navigation allow-downloads" class="pf-form-iframe--cta-585266808 px-[25px] pb-[25px] rounded-b w-full block m-0 h-[450px] border-none bg-[rgba(255,255,255,0)]" src="https://pages.nokia.com/Contact-Us-T0169L.html?extid=T01674" > </iframe> </div> <div class="embed-form-submitted-message form-submitted-message flex flex-col justify-center items-center w-[400px] min-w-[400px] h-[500px] bg-[white]" style="display: none;" > <i class="fa-regular fa-circle-check text-[100px] text-[#00FF00]"></i> <div class="text-[35px] font-bold">Thank you!</div> <div class="text-md">Your submission has been sent.</div> </div> <button class="modal-close-button-_oW4zHUPbz-cta-585266808 w-[35px] h-[35px] flex justify-center items-center absolute top-0 right-0 hover:brightness-70" aria-label="Close"> <i class="fa fa-close text-[#005aff]" style="font-size:20px"></i> </button> </div> </div> </div> </div> <script> document.querySelector(".modal-close-button-_oW4zHUPbz-cta-585266808").addEventListener("click", (event) => { window.closeForm({ formType: "external", formData: { value: "pf_cta_form", ctaId: "cta-585266808" } }); document.querySelector(".modal-_oW4zHUPbz-cta-585266808").style.display = "none"; }); </script> <script> document.querySelector(".cta-button-_oW4zHUPbz-cta-585266808").addEventListener("click", () => { document.querySelector(".modal-_oW4zHUPbz-cta-585266808").style.display = "block"; window.showForm({ formType: "external", formData: { value: "pf_cta_form", ctaId: "cta-585266808" } }); (window.pfVideoPlayers || []).forEach((player) => { player.pause(); }) }); </script> </div> </div> </div> </div> </section> <section data-pf-theme-artefact-id="footer_with_three_columns" data-pf-theme-artefact-file-id="68b97b9a-6cee-490f-bf51-5e48c2f079d4" data-pf-theme-artefact-filename="footer_with_three_columns" data-pf-theme-block-id="h6imR1hEe0" data-pf-theme-block-type="section" data-pf-theme-block-pos="4" data-pf-theme-block-ref="footer" id="pf-footer-with-three-columns" class="section-display relative section-h6imR1hEe0 overflow-hidden pf-footer-three-col px-[8px] sm:px-[28px] py-[10px] sm:py-[10px] bg-[#333333] " > <div id="footer_with_three_columns-h6imR1hEe0"></div> <div class="section-base w-full relative"> <div class="relative"> <div class="sm:flex sm:flex-wrap justify-between sm:items-center pt-5 pb-5 inline-block"> <div class="pr-3 md:pr-6 justify-center sm:justify-start flex w-full md:w-auto"> <span class="self-center text-md whitespace-nowrap"> <p id="pf-footer-text" class="mt-0.5"> <div class="pf-rte-wrapper"><p class=""><span class="" style="font-family: Nokia\ Pure\ Headline\ Light; font-size: 17px; color: #ffffff">Follow us on social</span></p></div> </p> </span> </div> <div class="w-full md:w-auto"> <div class="flex flex-wrap justify-center mt-3 sm:mt-0"> <div> <div class="flex flex-wrap justify-evenly gap-0"> </div> </div> </div> </div> <div class="md:px-4"> <div class="flex flex-wrap justify-center sm:justify-end mt-3 lg:mt-0"> <div> <div class="flex flex-wrap justify-evenly gap-0"> <div class="px-3 pf-social-icon-"> <a aria-label="share on linkedin" class="inline-block text-[#ffffff] hover:text-[#005aff]" href="https://www.linkedin.com/showcase/nokia-for-service-providers"> <svg width="18" height="18" viewBox="0 0 18 18" fill="none" xmlns="http://www.w3.org/2000/svg" onclick="window.socialEvents('linkedin')"> <path d="M16.2 0H1.8C0.81 0 0 0.81 0 1.8V16.2C0 17.19 0.81 18 1.8 18H16.2C17.19 18 18 17.19 18 16.2V1.8C18 0.81 17.19 0 16.2 0ZM5.4 15.3H2.7V7.2H5.4V15.3ZM4.05 5.67C3.15 5.67 2.43 4.95 2.43 4.05C2.43 3.15 3.15 2.43 4.05 2.43C4.95 2.43 5.67 3.15 5.67 4.05C5.67 4.95 4.95 5.67 4.05 5.67ZM15.3 15.3H12.6V10.53C12.6 9.81004 11.97 9.18 11.25 9.18C10.53 9.18 9.9 9.81004 9.9 10.53V15.3H7.2V7.2H9.9V8.28C10.35 7.56 11.34 7.02 12.15 7.02C13.86 7.02 15.3 8.46 15.3 10.17V15.3Z" fill="currentColor"/> </svg> </a> </div> <div class="px-3 pf-social-icon-"> <a aria-label="share on twitter" class="inline-block text-[#ffffff] hover:text-[#005aff]" href="https://x.com/nokianetworks"> <svg width="22" height="20" viewBox="0 0 25 22" fill="none" xmlns="http://www.w3.org/2000/svg" onclick="window.socialEvents('twitter')"> <path d="M18.244 2.25h3.308l-7.227 8.26 8.502 11.24H16.17l-5.214-6.817L4.99 21.75H1.68l7.73-8.835L1.254 2.25H8.08l4.713 6.231zm-1.161 17.52h1.833L7.084 4.126H5.117z" fill="currentColor" /> </svg> </a> </div> <div class="px-3 pf-social-icon-"> <a aria-label="share on facebook" class="inline-block text-[#ffffff] hover:text-[#005aff]" href="https://www.facebook.com/nokia/"> <svg width="10" height="18" viewBox="0 0 10 18" fill="none" xmlns="http://www.w3.org/2000/svg" onclick="window.socialEvents('facebook')"> <path fill-rule="evenodd" clip-rule="evenodd" d="M6.63494 17.7273V9.76602H9.3583L9.76688 6.66246H6.63494V4.68128C6.63494 3.78301 6.88821 3.17085 8.20297 3.17085L9.87712 3.17017V0.394238C9.5876 0.357335 8.59378 0.272728 7.43708 0.272728C5.0217 0.272728 3.3681 1.71881 3.3681 4.37391V6.66246H0.636475V9.76602H3.3681V17.7273H6.63494Z" fill="currentColor"/> </svg> </a> </div> <div class="px-3 pf-social-icon-"> <a aria-label="share on instagram" class="inline-block text-[#ffffff] hover:text-[#005aff]" href="https://www.instagram.com/nokia/"> <svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg" onclick="window.socialEvents('instagram')"> <path fill-rule="evenodd" clip-rule="evenodd" d="M5.6007 0.181818H14.3992C17.3874 0.181818 19.8184 2.61281 19.8182 5.60074V14.3993C19.8182 17.3872 17.3874 19.8182 14.3992 19.8182H5.6007C2.61276 19.8182 0.181885 17.3873 0.181885 14.3993V5.60074C0.181885 2.61281 2.61276 0.181818 5.6007 0.181818ZM14.3993 18.0759C16.4267 18.0759 18.0761 16.4266 18.0761 14.3993H18.076V5.60074C18.076 3.57348 16.4266 1.92405 14.3992 1.92405H5.6007C3.57343 1.92405 1.92412 3.57348 1.92412 5.60074V14.3993C1.92412 16.4266 3.57343 18.0761 5.6007 18.0759H14.3993ZM4.85721 10.0001C4.85721 7.16424 7.16425 4.85714 10.0001 4.85714C12.8359 4.85714 15.1429 7.16424 15.1429 10.0001C15.1429 12.8359 12.8359 15.1429 10.0001 15.1429C7.16425 15.1429 4.85721 12.8359 4.85721 10.0001ZM6.62805 10C6.62805 11.8593 8.14081 13.3719 10.0001 13.3719C11.8593 13.3719 13.3721 11.8593 13.3721 10C13.3721 8.14058 11.8594 6.6279 10.0001 6.6279C8.14069 6.6279 6.62805 8.14058 6.62805 10Z" fill="currentColor"/> </svg> </a> </div> </div> </div> </div> </div> </div> </div> </div> </section> <script> const pfExperienceFormStrategy = `` ? JSON.parse(``) : null; const pfContentFormStrategy = `` ? JSON.parse(``) : null; const pfExperienceFormPresent = false; const pfContentFormPresent = false; const pfExperienceFormModalSelector = ".modal-pf-experience-form-strategy"; const pfContentFormModalSelector = ".modal-pf-content-form-strategy"; const pfVisitorKnown = false; const pfIsLandingPage = true; const pfExperienceFormModal = pfExperienceFormPresent && document.querySelector(pfExperienceFormModalSelector); const pfContentFormModal = pfContentFormPresent && document.querySelector(pfContentFormModalSelector); if (pfExperienceFormPresent || pfContentFormPresent) { setInterval(() => { document.dispatchEvent(new CustomEvent("pf_page_ping", { detail: { interval: 5 }, })); }, 5000); } const pfFormConditionsMet = ({ formModal, config, toggleModal = false, pdfButtonClick = false }) => { if (!config) { return false; } if (window.pdfFormModalOpen) { return false; } const currentSession = JSON.parse(localStorage.getItem("pfCurrentSession") || "{}"); const knownVisitorCondition = config.show_to_known_visitors && pfVisitorKnown; const unknownVisitorCondition = config.show_to_unknown_visitors && !pfVisitorKnown; const formSubmittedAlready = JSON.parse(localStorage.getItem("pfSubmittedForms") || "[]").filter((sf) => { return ( sf.experienceId == "186752" && sf.formId == config.form_id ); }).length > 0; const submittedShowAgainCondition = config.submitted_show_again || !formSubmittedAlready; const formNotDismissed = JSON.parse(localStorage.getItem("pfDismissedForms") || "[]").filter((df) => { return ( df.experienceId == "186752" && df.formId == config.form_id ); }).length == 0; const visibleModal = Array.from(document.querySelectorAll(".pf-modal")).filter((m) => m.style.display !== "none").length > 0; const show = pdfButtonClick || (knownVisitorCondition || unknownVisitorCondition) && submittedShowAgainCondition && formNotDismissed && !visibleModal; if (toggleModal && formModal) { formModal.style.display = show ? "block" : "none"; formModal.style.opacity = 0; setTimeout(() => formModal.style.opacity = show ? 1 : 0, 500); if (show) { if (!pdfButtonClick) { window.pfFormsShown = [...new Set((window.pfFormsShown || []).concat([config.form_id]))]; } (window.pfVideoPlayers || []).forEach((player) => { player.pause(); }); window.showForm({ formType: pfContentFormPresent ? "" : "", formData: { value: pfContentFormPresent ? "content_form_strategy" : "experience_form_strategy" } }); } } return show; }; const pdfButtonHandler = (e) => { e.preventDefault(); pfFormConditionsMet({ formModal: pfContentFormModal, config: pfContentFormStrategy, toggleModal: true, pdfButtonClick: true, }); setTimeout(() => window.pdfFormModalOpen = e?.target?.id, 0); } const getPdfElements = () => { const pfPrint = document.getElementById("print_pf"); const pfDownload = document.getElementById("download_pf"); const printBtn = document.getElementById("print"); const downloadBtn = document.getElementById("download"); if (!pfPrint || !pfDownload || !printBtn || !downloadBtn) { return false; } return { pfPrint, pfDownload, printBtn, downloadBtn } } const switchPdfButtons = ({ showCustomButtons, config }) => { const pdfElements = getPdfElements(); if (!pdfElements) { return; } const { pfPrint, pfDownload, printBtn, downloadBtn } = pdfElements; if (showCustomButtons) { const { show_on_print, show_on_download } = config; if (show_on_print) { pfPrint.style.display = "inline-block"; printBtn.style.display = "none"; pfPrint.addEventListener("click", pdfButtonHandler); window.originalPrint = window.print; window.print = () => {}; } if (show_on_download) { pfDownload.style.display = "inline-block"; downloadBtn.style.display = "none"; pfDownload.addEventListener("click", pdfButtonHandler); } } else { pfPrint.style.display = "none"; pfDownload.style.display = "none"; printBtn.style.display = "inline-block"; downloadBtn.style.display = "inline-block"; [pfPrint, pfDownload].forEach(button => { button.removeEventListener('click', pdfButtonHandler); }); } } const pfPdfFormConditionsMet = ({ config }) => { if (!config) { return false; } const { show_on_print, show_on_download } = config; if (!show_on_print && !show_on_download) { return; } const knownVisitorCondition = config.show_to_known_visitors && pfVisitorKnown; const unknownVisitorCondition = config.show_to_unknown_visitors && !pfVisitorKnown; const formSubmittedAlready = JSON.parse(localStorage.getItem("pfSubmittedForms") || "[]").filter((sf) => { return ( sf.experienceId == "186752" && sf.formId == config.form_id ); }).length > 0; const submittedShowAgainCondition = config.submitted_show_again || !formSubmittedAlready; const showForm = (knownVisitorCondition || unknownVisitorCondition) && submittedShowAgainCondition; switchPdfButtons({ showCustomButtons: showForm, config }); }; const isBypassEngagementEnabled = (config) => { const { enable_bypass_engagement, show_on_download, show_on_print, } = config; if (!getPdfElements()) { return false; } return enable_bypass_engagement && (show_on_download || show_on_print); }; const resumePdfActions = (modal) => { return new Promise((resolve, reject) => { let counter = 0; const modalCloseInterval = setInterval(() => { try { if (modal.style.display === "none" || counter > 10) { clearInterval(modalCloseInterval); if (window.pdfFormModalOpen) { if (window.pdfFormModalOpen === "print_pf") { if (window.originalPrint) { window.print = window.originalPrint; } window.PDFViewerApplication?.triggerPrinting(); } else if (window.pdfFormModalOpen === "download_pf") { window.PDFViewerApplication?.downloadOrSave(); } } window.pdfFormModalOpen = false; pfPdfFormConditionsMet({ config: pfContentFormStrategy }); resolve(); } else { counter++; } } catch (error) { clearInterval(modalCloseInterval); reject(error); } }, 500); }); }; const pfContentFormStrategyEligible = pfContentFormPresent && pfFormConditionsMet({ config: pfContentFormStrategy }); const pfExperienceFormStrategyEligible = pfExperienceFormPresent && pfFormConditionsMet({ config: pfExperienceFormStrategy }); const pfActiveFormStrategy = (pfContentFormStrategyEligible && "contentStrategy") || (pfExperienceFormStrategyEligible && "experienceStrategy"); const promotersClickable = (pfActiveFormStrategy === "experienceStrategy" && pfExperienceFormStrategy.promoters_clickable) || (pfActiveFormStrategy === "contentStrategy" && pfContentFormStrategy.promoters_clickable); pfContentFormPresent && pfPdfFormConditionsMet({ config: pfContentFormStrategy }); const pfUpdateEngagementTimes = (pagePing) => { const engagementTimes = JSON.parse(localStorage.getItem("pfExperienceEngagement") || "[]"); const engagementTimeIndex = engagementTimes.findIndex((et) => { return et.experienceId == "186752" }); let contentEngagementIndex = -1; const contentEngagements = engagementTimes[engagementTimeIndex]?.contentEngagements || []; const contentEngagement = contentEngagements.find((ce, i) => { if (ce.contentId == "839724") { contentEngagementIndex = i; return true; } }) || {}; const newContentEngagement = { ...contentEngagement, contentId: "839724", duration: (contentEngagement.duration || 0) + pagePing.interval }; const updatedEngagementTime = { experienceId: "186752", duration: (engagementTimeIndex > -1 ? engagementTimes[engagementTimeIndex].duration : 0) + pagePing.interval, contents: engagementTimeIndex > -1 ? [...new Set(engagementTimes[engagementTimeIndex].contents.concat(["839724"]))] : ["839724"], contentEngagements: contentEngagementIndex > -1 ? contentEngagements.map((ce) => ce.contentId == "839724" ? newContentEngagement : ce) : [...contentEngagements, newContentEngagement] }; if (engagementTimeIndex > -1) { engagementTimes[engagementTimeIndex] = updatedEngagementTime; } else { engagementTimes.push(updatedEngagementTime); } localStorage.setItem("pfExperienceEngagement", JSON.stringify(engagementTimes)); localStorage.setItem("pfCurrentSession", JSON.stringify(updatedEngagementTime)); if (pfActiveFormStrategy === "experienceStrategy") { const assetsViewedCondition = updatedEngagementTime.contents.length >= pfExperienceFormStrategy.assets_viewed && updatedEngagementTime.duration >= pfExperienceFormStrategy.assets_viewed_time; const timeOnExperienceCondition = updatedEngagementTime.duration >= pfExperienceFormStrategy.time_on_experience; const formNotYetShown = (window.pfFormsShown || []).indexOf(pfExperienceFormStrategy.form_id) == -1; if ( (pfExperienceFormStrategy.form_trigger_type !== "assetsViewed" || assetsViewedCondition) && (pfExperienceFormStrategy.form_trigger_type !== "timeOnExperience" || timeOnExperienceCondition) && formNotYetShown ) { pfFormConditionsMet({ config: pfExperienceFormStrategy, formModal: pfExperienceFormModal, toggleModal: true }); } } if (pfActiveFormStrategy === "contentStrategy") { const timeOnContentCondition = (newContentEngagement.duration >= pfContentFormStrategy.show_after_time) && !isBypassEngagementEnabled(pfContentFormStrategy); const formNotYetShown = (window.pfFormsShown || []).indexOf(pfContentFormStrategy.form_id) == -1; if (timeOnContentCondition && formNotYetShown) { pfFormConditionsMet({ formModal: pfContentFormModal, config: pfContentFormStrategy, toggleModal: true }) } } }; if (promotersClickable) { const pfPromoter = document.querySelector("#sidebar"); if (pfPromoter) { pfPromoter.style["z-index"] = 1000000; } } document.addEventListener("pf_page_ping", (e) => { if (pfIsLandingPage && pfExperienceFormStrategy?.exclude_landing_page) { return; } if (pfIsLandingPage && document.querySelector(".lookbook-overlay-content")) { return; } const pagePingEvent = e.detail; pfUpdateEngagementTimes(pagePingEvent); }); window.addEventListener("message", (event) => { if (!(event.data?.lookbookExternalForm || event.data?.pfStandardForm)) { return; } const visibleModal = Array.from(document.querySelectorAll("#pf-modal")).filter((m) => m.style.display !== "none")[0]; const visibleForm = visibleModal?.querySelector("[data-pf-theme-block-ref='form']"); const formId = visibleForm?.getAttribute("data-pf-theme-form-library-id"); if (formId) { const submittedForms = JSON.parse(localStorage.getItem("pfSubmittedForms") || "[]"); const submittedForm = { experienceId: "186752", formId }; const submittedFormNotLogged = submittedForms.findIndex((x) => x.experienceId == submittedForm.experienceId && x.formId == submittedForm.formId ) === -1; if (submittedFormNotLogged) { submittedForms.push(submittedForm); localStorage.setItem("pfSubmittedForms", JSON.stringify(submittedForms)); } resumePdfActions(visibleModal).then(() => { window.resetForm(visibleModal); }) } }); window.addEventListener("load", () => { if (pfIsLandingPage && pfExperienceFormStrategy?.exclude_landing_page) { return; } const currentSession = JSON.parse(localStorage.getItem("pfCurrentSession") || "{}"); if (currentSession.experienceId == "186752") { pfUpdateEngagementTimes({ interval: 0 }); } }); </script> </body> <div id="clearbit-attribution" class="h-[30px] mb-[0px]" style='display: none; align-items: center; z-index: 99999; overflow: hidden;'> <a style='color: #AAAAAA; font-size: 12px; margin: auto;' href='https://clearbit.com'>Logos Provided by Clearbit</a> </div> </html> <script> const partnershipLogo = document.querySelector("img[src*='//logo.clearbit.com/']") if (partnershipLogo) { const clearbitAttribution = document.getElementById("clearbit-attribution"); clearbitAttribution.style.display = "flex"; } </script> <script> /* This script removes the promoters if content is loaded inside iframe but also checks it is not overlay and preview. This script also removes header if TE landing page is added as content and loaded inside iframe but also checks it is not overlay and preview. */ const parentWindow = window.parent; const insideContentPageIframe = parentWindow && parentWindow.document.querySelector("iframe.pf-content-page-iframe") && window.self !== window.top; if(insideContentPageIframe) { // hide promiters const contentDiv = document.querySelector('.pf-content-wrapper'); if(contentDiv) { const htmlElement = document.querySelector('html'); htmlElement.style.height = "100%"; document.body.style.height = "100%"; document.body.innerHTML = contentDiv.innerHTML; } const iframeHideDivs = document.querySelector(".iframe-hide"); iframeHideDivs && iframeHideDivs.remove(); } </script>