CINXE.COM

Global Self Service Portal

<!DOCTYPE html> <html lang="en"> <head> <meta http-equiv="x-ua-compatible" content="ie=edge"/> <meta charset="utf-8"/> <meta name="format-detection" content="telephone=no"/> <meta http-equiv="Cache-control" content="no-cache, no-store, must-revalidate"/> <meta http-equiv="Pragma" content="no-cache"/> <meta http-equiv="expires" content="0"/> <!-- maximum-scale=2 --> <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=2"/> <meta name="robots" content="all"/> <title>Global Self Service Portal</title> <meta name="description" content="Global self service portal for filing claim, manage policies, products and view claim history"/> <base href="/"/> <link href="https://fonts.googleapis.com/css?family=Open+Sans:300,400,600" rel="stylesheet"/> <link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet"/> <link id="appFavicon" rel="icon" type="image/x-icon" href=""/> <link href="https://cdn.materialdesignicons.com/3.7.95/css/materialdesignicons.min.css" rel="stylesheet"/> <!--AB Tasty Script <script type="text/javascript" src="https://try.abtasty.com/2c89c972233de6151155f1f165eca754.js"></script> --> <script type="text/javascript" src="https://www.googleoptimize.com/optimize.js?id=OPT-KP96T5R" trackertype="functional"></script> <link rel="manifest" id="manifest-placeholder"> <meta name="theme-color" content="#1976d2"/> <link id="apple-touch-icon" rel="apple-touch-icon" sizes="180x180"> <meta id="apple-app-title" name="apple-mobile-web-app-title" content=""> <!-- Google Tag Manager --> <script> (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; j.setAttribute("trackertype", "functional"); f.parentNode.insertBefore(j, f); })(window, document, 'script', 'dataLayer', 'GTM-T8HPXRW'); </script> <!-- End Google Tag Manager --> <style> a { text-decoration: underline !important; } a:hover { background-color: #f0f0f0 !important; } .footer-menu li > a:hover { color: black !important; } a.link-data:hover { height: fit-content !important; } #asapp-chat-sdk-iframe.asappChatSDKIFrame_opened { z-index: 9999 !important; } @media (max-width: 767px) { #truste-consent-track { position: relative !important; } } .assurant-loader-wraper { position: fixed; top: 0; left: 0; width: 100%; height: 100%; background-color: rgba(255, 255, 255, 0.7); z-index: 11111111111111111; } .assurant-loader-wraper .assurant-loader { position: relative; left: 50%; top: 50%; height: 10vw; width: 10vw; margin: -7vw 0 0 -5vw; border: 3px solid transparent; border-top-color: #06c; border-bottom-color: #06c; border-radius: 50%; z-index: 2; -webkit-animation: spin 2s linear infinite; -moz-animation: spin 2s linear infinite; -o-animation: spin 2s linear infinite; animation: spin 2s linear infinite; } .assurant-loader-wraper .assurant-loader::after { content: ""; position: absolute; top: 5%; bottom: 5%; left: 5%; right: 5%; border: 3px solid transparent; border-top-color: #0c3; z-index: 2; border-radius: 50%; -webkit-animation: spin 1.5s linear infinite; -moz-animation: spin 1.5s linear infinite; -o-animation: spin 1.5s linear infinite; animation: spin 1.5s linear infinite; } .assurant-loader-wraper .assurant-loader::before { content: ""; position: absolute; top: 2%; bottom: 2%; left: 2%; right: 2%; border: 3px solid transparent; z-index: 2; border-top-color: #f90; border-radius: 50%; -webkit-animation: spin 3s linear infinite; -moz-animation: spin 3s linear infinite; -o-animation: spin 3s linear infinite; animation: spin 3s linear infinite; } @-webkit-keyframes spin { 0% { -webkit-transform: rotate(0deg); -ms-transform: rotate(0deg); transform: rotate(0deg); } 50% { -webkit-transform: rotate(360deg); -ms-transform: rotate(360deg); transform: rotate(180deg); } 100% { -webkit-transform: rotate(360deg); -ms-transform: rotate(360deg); transform: rotate(360deg); } } @-moz-keyframes spin { 0% { -webkit-transform: rotate(0deg); -ms-transform: rotate(0deg); transform: rotate(0deg); } 50% { -webkit-transform: rotate(360deg); -ms-transform: rotate(360deg); transform: rotate(180deg); } 100% { -webkit-transform: rotate(360deg); -ms-transform: rotate(360deg); transform: rotate(360deg); } } @-o-keyframes spin { 0% { -webkit-transform: rotate(0deg); -ms-transform: rotate(0deg); transform: rotate(0deg); } 50% { -webkit-transform: rotate(360deg); -ms-transform: rotate(360deg); transform: rotate(180deg); } 100% { -webkit-transform: rotate(360deg); -ms-transform: rotate(360deg); transform: rotate(360deg); } } @keyframes spin { 0% { -webkit-transform: rotate(0deg); -ms-transform: rotate(0deg); transform: rotate(0deg); } 50% { -webkit-transform: rotate(360deg); -ms-transform: rotate(360deg); transform: rotate(180deg); } 100% { -webkit-transform: rotate(360deg); -ms-transform: rotate(360deg); transform: rotate(360deg); } } </style> <link rel="stylesheet" href="styles.aaf022a54be04999.css"></head> <body class="bg-light"> <!-- Google Tag Manager (noscript) --> <noscript> <iframe src="https://www.googletagmanager.com/ns.html?id=GTM-T8HPXRW" height="0" width="0" style="display: none; visibility: hidden;"></iframe> </noscript> <!-- End Google Tag Manager (noscript) --> <!-- Trust Arc Banner --> <div id="consent-banner"></div> <!-- End Trust Arch Banner --> <!-- ICE Chat --> <div name="ice-chat" style="z-index:999999;position:absolute;"> </div> <!-- End ICE Chat --> <app-root imagesdirectory="assets"> <div id="aiz-loader" class="assurant-loader-wraper" style="display:none;"> <div class="assurant-loader"> <div class="progress-line"></div> </div> </div> </app-root> <!--This is only for Screen reader Loader announcement, please check whether it is working fine when you made .assurant-loader modification--> <div id="assurant-loader" role="status" aria-live="assertive" class="assurant-loader"> <span id="loading-textContent" class="sr-only"></span> </div> <!-- Bootstrap and Configure App --> <script> window.config = { core: { cmsApiUrl: 'https://api-connectedliving.assurant.com/gssp/usa/prod/experience-api/v1/api/v1', clientCMS: '', parentCMS: '', language: 'en-us', production: 'true', // Keep this in Sync with Home Components in Angular Route for Optimal performance homeComponents: 'Global,Login,Home,SearchContract,LookupUser,VerifyAccount,VerificationMethod,EmailCapture,ApproveDevice', }, gtmClient: '', buildVersion: '20250109.7', apimSubscriptionKey: '7b9d1094fed44249887ccaac66d879ac', apimSubscriptionKeySecondary: 'bff315b4dc394ff3b9d5b40b4acea012', applicationInsightKey: '196b8a49-e891-40e7-a723-2186149c95e0', applicationInsightConnectionString: 'InstrumentationKey=196b8a49-e891-40e7-a723-2186149c95e0;IngestionEndpoint=https://centralus-3.in.applicationinsights.azure.com/;LiveEndpoint=https://centralus.livediagnostics.monitor.azure.com/;ApplicationId=63dad814-ff1d-4ee6-a914-90602a398ae2', https: true, hostUrl: '', isNewEnvironment: 'true', urlBasePaths: '' }; window.config.supportsFetch = false; window.config.siteSettings = null; window.config.startTime = Date.now(); window.config.landingPage = window.location.pathname; logWithTime('Index.html loaded'); function clientShortId() { return 'gssp'; } function getLanguageQueryParam() { const url = window.location.href; const urlParams = new URLSearchParams(window.location.search); const languageParam = urlParams.get('language'); return languageParam ? languageParam : ''; } function logWithTime(message) { console.log('[' + new Date().toISOString().slice(11, -1) + '] - ' + message); } function prefetchImages(siteSettings) { if (siteSettings.portalSettings['Global_PrefetchImages']) { var prefetchImageList = siteSettings.portalSettings['Global_PrefetchImages'].Value.split(','); var images = []; var counter = 0; for (var imageData in prefetchImageList) { counter++; if (siteSettings.portalImages[imageData]) { // load from sitefinity url images[counter] = new Image(); images[counter].src = siteSettings.portalImages[imageData].ImageURL; } else { // load from base site url var base = document.getElementsByTagName('base')[0].href; images[counter] = new Image(); images[counter].src = base + imageData; } } } } function updateManifest(siteSettings) { var imageUrl32 = siteSettings.portalImages['Global_Client_FavIcon32'].ImageURL; var imageUrl76 = siteSettings.portalImages['Global_Client_FavIcon76'].ImageURL; var imageUrl120 = siteSettings.portalImages['Global_Client_FavIcon120'].ImageURL; var imageUrl180 = siteSettings.portalImages['Global_Client_FavIcon180'].ImageURL; var imageUrl192 = siteSettings.portalImages['Global_Client_FavIcon192'].ImageURL; var imageUrl512 = siteSettings.portalImages['Global_Client_FavIcon512'].ImageURL; var themeColor = siteSettings.portalSettings['Global_Client_ManifestThemeColor'].Value; var bookmarkName = siteSettings.homepageResources?.portalLabels['Global_Client_BookmarkName'].Value; var themeName = siteSettings.portalSettings['Global_Theme'].Value; loadDefaultTheme(themeName); var myDynamicManifest = { name: bookmarkName, short_name: bookmarkName, theme_color: themeColor, background_color: '#fafafa', display: 'standalone', scope: '/', start_url: '/', icons: [ { src: imageUrl192, sizes: '192x192', type: 'image/png' }, { src: imageUrl512, sizes: '512x512', type: 'image/png' }, ] } const stringManifest = JSON.stringify(myDynamicManifest); const blob = new Blob([stringManifest], { type: 'application/json' }); const manifestURL = URL.createObjectURL(blob); document.querySelector('#apple-touch-icon').setAttribute('href', imageUrl180); document.querySelector('#manifest-placeholder').setAttribute('href', manifestURL); document.querySelector('#apple-app-title').setAttribute('content', bookmarkName); document.querySelector('#consent-banner').setAttribute('style', siteSettings.portalSettings['Global_Client_TrustArcStyle'].Value); } function loadDefaultTheme(loadDefaultTheme) { var link = document.createElement('link'); link.setAttribute('rel', 'stylesheet'); link.setAttribute('type', 'text/css'); link.setAttribute('href', loadDefaultTheme + '.css'); link.classList.add('style-manager-theme'); document.head.appendChild(link); } // ADA Complaiance Function function setupADACompliance(siteSettings) { var showADA = siteSettings.portalSettings['Global_ShowADACompliance'].Value; let adaAccount = siteSettings.portalSettings['Global_ADA_Account'].Value; let adaSource = siteSettings.portalSettings['Global_ADA_Source'].Value; if (showADA === 'true') { (function (d) { var s = d.createElement("script"); s.setAttribute("data-account", adaAccount); s.setAttribute("src", adaSource); (d.body || d.head).appendChild(s); })(document) } } // VWO SmartCode Function for AB Testing function setupVWOSmartCode(siteSettings) { var accountId = siteSettings.portalSettings['Global_VWO_AccountId']?.Value; if (accountId) { // Setup link var link = document.createElement('link'); link.setAttribute('rel', 'preconnect'); link.setAttribute('href', 'https://dev.visualwebsiteoptimizer.com'); document.head.appendChild(link); // Setup Script let content = `window._vwo_code || (function() { var account_id=${accountId}, version=2.1, settings_tolerance=2000, hide_element='body', hide_element_style = 'opacity:0 !important;filter:alpha(opacity=0) !important;background:none !important;transition:none !important;', /* DO NOT EDIT BELOW THIS LINE */ f=false,w=window,d=document,v=d.querySelector('#vwoCode'),cK='_vwo_'+account_id+'_settings',cc={};try{var c=JSON.parse(localStorage.getItem('_vwo_'+account_id+'_config'));cc=c&&typeof c==='object'?c:{}}catch(e){}var stT=cc.stT==='session'?w.sessionStorage:w.localStorage;code={use_existing_jquery:function(){return typeof use_existing_jquery!=='undefined'?use_existing_jquery:undefined},library_tolerance:function(){return typeof library_tolerance!=='undefined'?library_tolerance:undefined},settings_tolerance:function(){return cc.sT||settings_tolerance},hide_element_style:function(){return'{'+(cc.hES||hide_element_style)+'}'},hide_element:function(){if(performance.getEntriesByName('first-contentful-paint')[0]){return''}return typeof cc.hE==='string'?cc.hE:hide_element},getVersion:function(){return version},finish:function(e){if(!f){f=true;var t=d.getElementById('_vis_opt_path_hides');if(t)t.parentNode.removeChild(t);if(e)(new Image).src='https://dev.visualwebsiteoptimizer.com/ee.gif?a='+account_id+e}},finished:function(){return f},addScript:function(e){var t=d.createElement('script');t.type='text/javascript';if(e.src){t.src=e.src}else{t.text=e.text}d.getElementsByTagName('head')[0].appendChild(t)},load:function(e,t){var i=this.getSettings(),n=d.createElement('script'),r=this;t=t||{};if(i){n.textContent=i;d.getElementsByTagName('head')[0].appendChild(n);if(!w.VWO||VWO.caE){stT.removeItem(cK);r.load(e)}}else{var o=new XMLHttpRequest;o.open('GET',e,true);o.withCredentials=!t.dSC;o.responseType=t.responseType||'text';o.onload=function(){if(t.onloadCb){return t.onloadCb(o,e)}if(o.status===200||o.status===304){_vwo_code.addScript({text:o.responseText})}else{_vwo_code.finish('&e=loading_failure:'+e)}};o.onerror=function(){if(t.onerrorCb){return t.onerrorCb(e)}_vwo_code.finish('&e=loading_failure:'+e)};o.send()}},getSettings:function(){try{var e=stT.getItem(cK);if(!e){return}e=JSON.parse(e);if(Date.now()>e.e){stT.removeItem(cK);return}return e.s}catch(e){return}},init:function(){if(d.URL.indexOf('__vwo_disable__')>-1)return;var e=this.settings_tolerance();w._vwo_settings_timer=setTimeout(function(){_vwo_code.finish();stT.removeItem(cK)},e);var t;if(this.hide_element()!=='body'){t=d.createElement('style');var i=this.hide_element(),n=i?i+this.hide_element_style():'',r=d.getElementsByTagName('head')[0];t.setAttribute('id','_vis_opt_path_hides');v&&t.setAttribute('nonce',v.nonce);t.setAttribute('type','text/css');if(t.styleSheet)t.styleSheet.cssText=n;else t.appendChild(d.createTextNode(n));r.appendChild(t)}else{t=d.getElementsByTagName('head')[0];var n=d.createElement('div');n.style.cssText='z-index: 2147483647 !important;position: fixed !important;left: 0 !important;top: 0 !important;width: 100% !important;height: 100% !important;background: white !important;';n.setAttribute('id','_vis_opt_path_hides');n.classList.add('_vis_hide_layer');t.parentNode.insertBefore(n,t.nextSibling)}var o=window._vis_opt_url||d.URL,s='https://dev.visualwebsiteoptimizer.com/j.php?a='+account_id+'&u='+encodeURIComponent(o)+'&vn='+version;if(w.location.search.indexOf('_vwo_xhr')!==-1){this.addScript({src:s})}else{this.load(s+'&x=true')}}};w._vwo_code=code;code.init();})();`; (function (d) { var s = d.createElement("script"); s.setAttribute("id", "vwoCode"); s.innerHTML = content; d.head.append(s); console.log("VMO Smart Code loaded"); })(document) } } function setupAsappChat(siteSettings){ window.config.Asapp = {}; window.config.Asapp.Show = siteSettings.portalSettings['Global_AsappChat_Show'].Value === "true"; if(window.config.Asapp.Show === true){ window.config.Asapp.SDKUrl = siteSettings.portalSettings['Global_AsappChat_SDKUrl'].Value; window.config.Asapp.APIHostname = siteSettings.portalSettings['Global_AsappChat_ApiHostName'].Value; window.config.Asapp.AppId = siteSettings.portalSettings['Global_AsappChat_AppId'].Value; window.config.Asapp.Identity = siteSettings.portalSettings['Global_AsappChat_Identity'].Value; window.config.Asapp.BadgeType = siteSettings.portalSettings['Global_AsappChat_BadgeType'].Value; window.config.Asapp.IsAgent = siteSettings.portalSettings['Global_Client_IsAgent'].Value; window.config.Asapp.IsInitialized = false; (function(w,d,h,n,s){s=d.createElement('script'); w[n]=w[n]||function(){(w[n]._=w[n]._||[]).push(arguments)}, w[n].Host= h,s.async=1,s.src=h+'/chat-sdk.js', s.type='text/javascript',d.head.append(s), s.onload = function() { AsappChatLoad(window.config.Asapp, s=> { window.config.Asapp.IsInitialized = true; console.log("Asapp chat loaded.."); // This fires everytime when user clicks chat icon ASAPP('on', 'chat:show', AsappGATrackingOnChatBtnClick); }); }} (window,document,window.config.Asapp.SDKUrl,'ASAPP')); } } function suppressContentAuthoring(siteSettings) { if(siteSettings.portalSettings["Global_SuppressContentAuthoring"].Value == "true") { // Create a new <style> element var style = document.createElement('style'); style.type = 'text/css'; // Define the CSS rule to hide elements var adpSettingCssRule = 'adp-setting { display: none; }'; var editInputCssRule = 'edit-input { display: none; } '; var editInputDisableParentUpdateCssRule = '.advance-edit-input mat-checkbox { display: block !important; } .edit-form mat-checkbox { display: none; }'; // Add the CSS rule to the style element style.appendChild(document.createTextNode(adpSettingCssRule)); style.appendChild(document.createTextNode(editInputCssRule)); style.appendChild(document.createTextNode(editInputDisableParentUpdateCssRule)); // Append the style element to the document's head document.head.appendChild(style); } } function setupIceChat(siteSettings) { var buttonId = siteSettings.portalSettings['Global_Chat_ButtonId'].Value; if (buttonId) { var CIMBG699; var siteSessionID = ''; EtechButtonHandlerls('http:' != document.location.protocol ? siteSettings.portalSettings['Global_Chat_ButtonHandler_Script_HttpsUrl'].Value : siteSettings.portalSettings['Global_Chat_ButtonHandler_Script_HttpUrl'].Value, function () { CIMBG699 = new EtechButtonHandler(); CIMBG699.OrgID = siteSettings.portalSettings['Global_Chat_Org_Id'].Value; CIMBG699.btnID = siteSettings.portalSettings['Global_Chat_Skill_Id'].Value; CIMBG699.buttonControlID = buttonId; CIMBG699.hostSiteSessionID = siteSessionID; CIMBG699.BootupScript(siteSettings.portalSettings['Global_Chat_Bootup_Script_Url'].Value, CIMBG699, siteSettings.portalSettings['Global_Chat_ButtonHandler_ObjectName'].Value); }); var chat = document.getElementsByName("ice-chat")[0]; chat.id = buttonId; chat.addEventListener("click", function () { dataLayer.push({ 'event': 'custom-chat', 'eventCategory': 'Chat', 'eventAction': 'Initiate Chat' }); }); } } function openIceChat() { const iceChat = document.getElementById('Hlink'); if (iceChat) { iceChat.click(); } else if(window.config.Asapp.Show === true){ AsappShow(); } } window.loadingText = {}; window.loadingText.add = (loadingText) => { let span = document.getElementById('loading-textContent'); if(!loadingText){ loadingText = window.config.siteSettings?.portalSettings?.Global_Loading_Message?.Value; } if(span){ span.textContent = loadingText; } } window.loadingText.clear = () => { let span = document.getElementById('loading-textContent'); if (span) { span.textContent = ''; } } function EtechButtonHandlerls(url, cb) { var script = document.createElement("script"); script.setAttribute('type', 'text/javascript'); if (script.readyState) { script.onreadystatechange = function () { if (script.readyState == "loaded" || script.readyState == "complete") { script.onreadystatechange = null; cb(); } }; } else { script.onload = function () { cb(); }; } script.setAttribute('src', '' + url + ''); document.getElementsByTagName('head')[0].appendChild(script); } function getRequestId(){ const date = new Date(); return `GSSP-${date.getFullYear()}${date.getMonth()+1}${date.getDate()}${date.getHours()}${date.getMinutes()}${date.getSeconds()}${date.getMilliseconds()}`; } // XP (function () { try { window.config.supportsFetch = true; logWithTime('Load resources...'); if (typeof window.localStorage != 'undefined') { if (localStorage.getItem('language-' + clientShortId()) !== null) { const languageParam = getLanguageQueryParam(); const langFromStorage = JSON.parse(localStorage.getItem('language-' + clientShortId())); if (languageParam && languageParam === langFromStorage) { window.config.core.language = languageParam; } else { // overide config language to users selected language window.config.core.language = JSON.parse(localStorage.getItem('language-' + clientShortId())); } } else { localStorage.setItem('language-' + clientShortId(), '"' + window.config.core.language + '"'); } } var bases = document.getElementsByTagName('base'); var hostname = null; if (bases.length > 0) { if (window.config.core.production == 'false') { // for dev and qa, return the whole URL with client-name // if site has an end slash, then remove it and return without that. hostname = (new URL(bases[0].href).href).replace(/\/$/, ''); } else { hostname = new URL(bases[0].href).hostname; } } if (window.config.core.production == 'false' && localStorage.getItem('multiSiteClientLanguage-' + clientShortId()) !== null) { if(JSON.parse(localStorage.getItem('multiSiteClientLanguage-' + clientShortId()))!="") window.config.hostUrl = JSON.parse(localStorage.getItem('multiSiteClientLanguage-' + clientShortId())); } else { // only set hosturls on deployed sites window.config.hostUrl = hostname; } if ('' === 'true') { const urlParts = window.config.core.cmsApiUrl.split("/cms/"); window.config.core.cmsApiUrl = "https://" + hostname + "/cms/"+ urlParts[1]; } // console.log(window.config.language); fetch(window.config.core.cmsApiUrl + '/resource/GetResource?language=' + window.config.core.language, { headers: { 'ngsw-bypass': true, 'Ocp-Apim-Subscription-Key': window.config.apimSubscriptionKey, 'Ocp-Apim-Trace': true, 'HostUrl': window.config.hostUrl, 'x-api-request-id': getRequestId() }, } ).then(function (response) { window.config.supportsFetch = true; return response.json(); }).then(function (myJson) { if (myJson.Language !== undefined) { localStorage.setItem('language-' + clientShortId(), '"' + myJson.Language + '"'); window.config.core.language = myJson.Language; } if (myJson.settings !== undefined) { window.config.gtmClient = myJson.settings.portalSettings.Global_GTMClientName.Value; dataLayer.push({ client: window.config.gtmClient, // name of client }); window.config.siteSettings = myJson.settings; window.config.agmApiKey = myJson.settings?.portalSettings?.Global_AgmCoreAPIKey?.Value; window.config.aulBaseUrl = myJson.settings?.portalSettings?.AUL_URL?.Value; window.config.aulClient = myJson.settings?.portalSettings?.AUL_Client?.Value; window.config.aulApplicationName = window.config.isNewEnvironment ? myJson.settings?.portalSettings?.AUL_Application?.Value : myJson.settings?.portalSettings?.AUL_ApplicationName?.Value; window.config.aulUrl = `${window.config.aulBaseUrl}/Public/Login/${window.config.aulClient}/${window.config.aulApplicationName}`; window.config.aulSsoUrl = `${window.config.aulBaseUrl}/Public/SSO/${window.config.aulClient}`; setupAsappChat(myJson.settings); prefetchImages(myJson.settings); updateManifest(myJson.settings); setupIceChat(myJson.settings); setupADACompliance(myJson.settings); setupVWOSmartCode(myJson.settings); suppressContentAuthoring(myJson.settings); if (myJson.settings.Language !== undefined) { const languageParam = getLanguageQueryParam(); if (languageParam && myJson.settings.portalList['Global Languages']?.ListItems?.length > 1) { const languageVal = myJson.settings.portalList['Global Languages']?.ListItems.find(lang => lang.Title === languageParam).Title; localStorage.setItem('language-' + clientShortId(), '"' + languageVal + '"'); window.config.core.language = languageVal; } else { localStorage.setItem('language-' + clientShortId(), '"' + myJson.settings.Language + '"'); window.config.core.language = myJson.settings.Language; } } return; } // logWithTime('XP Version: ' + window.config.currentResourceVersion); fetch( window.config.core.cmsApiUrl + '/resource/siteResources?language=' + window.config.core.language + '&homeComponents=' + window.config.core.homeComponents, { headers: { 'ngsw-bypass': true, 'Ocp-Apim-Subscription-Key': window.config.apimSubscriptionKey, 'Ocp-Apim-Trace': true, 'HostUrl': window.config.hostUrl, 'x-api-request-id': getRequestId(), }, } ) .then(function (response) { return response.json(); }) .then(function (myJson) { logWithTime('XP Settings loaded.'); setupAsappChat(myJson); setupIceChat(myJson); setupADACompliance(myJson); setupVWOSmartCode(myJson); suppressContentAuthoring(myJson); window.config.siteSettings = myJson; localStorage.setItem('language-' + clientShortId(), '"' + myJson.Language + '"'); window.config.core.language = myJson.Language; window.config.gtmClient = myJson.portalSettings.Global_GTMClientName.Value; dataLayer.push({ client: window.config.gtmClient, // name of client }); // console.log(window.currentResourceVersion); }); }); } catch (e) { window.config.supportsFetch = false; console.log("Browser doesn't support this feature"); console.log(e); const isIE11 = /msie\s|trident\//i.test(window.navigator.userAgent); if (isIE11) { const isValidCultureCode = /^[a-zA-Z]{2}-[a-zA-Z]{2}$/.test(window.config.core.language); if(isValidCultureCode){ window.location.href = 'unsupported.html?language=' + encodeURIComponent(window.config.core.language); } } } })(); </script> <script> setTimeout(function () { var element = document.getElementById('aiz-loader'); if (element !== null) { element.style.display = 'block'; } }, 2500); window.dataLayer = window.dataLayer || []; dataLayer.push({ client: window.config.gtmClient, // name of client }); function gtag(args) { if (typeof args == 'string' || args instanceof String) { // console.log('args array ' + args[0]); // dataLayer.push(args); } else { // console.log('args ' + args); dataLayer.push(args); } } // gtag('js', new Date()); </script> <!--Trust arc integration--> <script> //This is your domain, as in, how you who are calling the API wish to be identified. var MY_DOMAIN = window.location.href; var REQUIRE_USER_EXPRESSED_PERMISSION = true; var _STATE = {}; /** * Different pages add the Consent Manager in different locations, so all callers of the API must wait till * the API is loaded. The API is loaded in two stages: * 1) The first stage is where the "PrivacyManagerAPI" object exists on the page and where default and * page/domain specific settings can be obtained. If your requirements demand user consent, you must wait * for the second stage load, but it is always recommended to wait for the second stage no matter what. * The "loading" parameter will be added to all API responses when the API is in this state. * 2) The second stage loads the user preferences and the domain specific information. If you made a * postMessage API call during the first stage, then the API will automatically send you another, updated, * response if the result has changed. */ function runOnce() { //CHECK: for API exists on the page if (!_STATE.hasRunOnce && window.PrivacyManagerAPI) { console.log("doing run once"); //Register with the API for automatic updates of user preferences (for the settings you care about) //--OR-- if the API is loading, then this will send an update when the API is done and has loaded the user preferences. window.addEventListener("message", function (e) { try { var json = JSON.parse(e.data); json.PrivacyManagerAPI && handleAPIResponse(json.PrivacyManagerAPI); } catch (e) { e.name != 'SyntaxError' && console.log(e); } }, false); var apiObject = { PrivacyManagerAPI: { self: MY_DOMAIN, action: "getConsent", timestamp: new Date().getTime(), type: "functional" } }; window.top.postMessage(JSON.stringify(apiObject), "*"); apiObject = { PrivacyManagerAPI: { self: MY_DOMAIN, action: "getConsent", timestamp: new Date().getTime(), type: "advertising" } }; window.top.postMessage(JSON.stringify(apiObject), "*"); _STATE.hasRunOnce = true; _STATE.i && clearInterval(_STATE.i); } } /** * This function returns value of notice_behavior cookie to determine location and behavior manager based on domain. * When no notice_behavior cookie exists, this returns a blank string. */ function getBehavior() { var result = ""; var rx = new RegExp("\\s*notice_behavior\\s*=\\s*([^;]*)").exec(document.cookie); if (rx && rx.length > 1) { result = rx[1]; } return result; } /** * This function is called whenever a user preference is initially set, is retrieved for the first time on this page, or is updated. * This is the gateway function which should be customized by each client (you) to determine when and how to handle the API response. * * The second half of the function determines settings from the CM API, and decides which elements on the page should be "activated" based upon those settings. * Elements can only be activated once. Elements can not be deactivated, once activated. */ function handleAPIResponse(response) { //CHECK: make sure this response is to YOU. You will actually get the messages to all API callers on this page, not just to you. if (!response.source || response.self != MY_DOMAIN) return; console.log("user decision", response); //Required trackers/cookies are always allowed, no need to ask permission. if (!_STATE.hasLoadedRequired) { activateElement(document.querySelectorAll(".trustecm[trackertype=required]")); _STATE.hasLoadedRequired = true; } // Check if behavior manager is EU var isEU = /.*(,|)eu/i.test(getBehavior()); //Case where we don't want to do anything till the user has made a preference. if (isEU && REQUIRE_USER_EXPRESSED_PERMISSION && response.source != "asserted") return; //Step 1) Get Consent Manager settings (user prefs) // These API calls are DIFFERENT than the original API call ("response" parameter) so they must be called separately. //Step 2) Apply the settings after checking if approved var setting = null; if (!_STATE.hasLoadedAdvertising) { setting = PrivacyManagerAPI.callApi("getConsent", MY_DOMAIN, null, null, "advertising"); if (setting.consent == "approved") { activateElement(document.querySelectorAll(".trustecm[trackertype=advertising]")); _STATE.hasLoadedAdvertising = true; } console.log(setting); } if (!_STATE.hasLoadedFunctional) { setting = PrivacyManagerAPI.callApi("getConsent", MY_DOMAIN, null, null, "functional"); if (setting.consent == "approved") { activateElement(document.querySelectorAll(".trustecm[trackertype=functional]")); _STATE.hasLoadedFunctional = true; } console.log(setting); } // No additional checking, this always fires, but only after a user has consented if (!_STATE.hasLoadedAnyConsent) { activateElement(document.querySelectorAll(".trustecm[trackertype=any]")); _STATE.hasLoadedAnyConsent = true; } //check of vendor domain and fires if that domain is approved, which is based on how that domain was categorized on the backend var vendors = document.querySelectorAll(".trustecm[trackertype=vendor]"); for (var i = 0; i < vendors.length; i++) { var currentVendor = vendors[i]; var vDomain = currentVendor.getAttribute("vsrc"); if (vDomain && !_STATE['hasLoaded' + vDomain]) { setting = PrivacyManagerAPI.callApi("getConsent", MY_DOMAIN, vDomain); if (setting.consent == "approved") { activateElement(document.querySelectorAll(".trustecm[trackertype=vendor][vsrc='" + vDomain + "']")); _STATE['hasLoaded' + vDomain] = true; } console.log(setting); } } } /** * Activates (runs, loads, or displays) an element based upon element node name. * @param {Array.<HTMLElement>} list */ function activateElement(list) { if (!(list instanceof Array || list instanceof NodeList)) throw "Illegal argument - must be an array"; console.log("activating", list); for (var item, i = list.length; i-- > 0;) { item = list[i]; item.class = "trustecm_done"; switch (item.nodeName.toLowerCase()) { case "script": var z = item.getAttribute("thesrc"); if (z) { var y = document.createElement("script"); y.src = z; y.async = item.async; item.parentNode.insertBefore(y, item); } else eval(item.text || item.textContent || item.innerText); } } } _STATE.i = setInterval(runOnce, 10); </script> <!--End Of Trust Arc Script--> <noscript>Please enable JavaScript to continue using this application.</noscript> <script src="runtime.4625d4474724fb17.js" type="module"></script><script src="polyfills.0dc3e5ef9a6b874c.js" type="module"></script><script src="scripts.211858bfc15dbba8.js" defer></script><script src="vendor.821dcb46ca7a86e8.js" type="module"></script><script src="main.83847e62d937ed44.js" type="module"></script></body> </html>